ZGlmZiAtLWdpdCBhL2Fvcy9idWlsZC9kb3dubG9hZF9leHRlcm5hbHMuc2ggYi9hb3MvYnVpbGQvZG93bmxvYWRfZXh0ZXJuYWxzLnNoCmluZGV4IGFkYzAyOTcuLmU1MGZmNTYgMTAwNzU1Ci0tLSBhL2Fvcy9idWlsZC9kb3dubG9hZF9leHRlcm5hbHMuc2gKKysrIGIvYW9zL2J1aWxkL2Rvd25sb2FkX2V4dGVybmFscy5zaApAQCAtMTY1LDQgKzE2NSwxMiBAQAogCS0tcHJlZml4PSQocmVhZGxpbmsgLWYgJHtMSUJDRERfUFJFRklYfSkgXAogCSYmIG1ha2UgZ21wZGlyPSR7R01QX1BSRUZJWH0gJiYgbWFrZSBpbnN0YWxsIgogCisjIGRvd25sb2FkIHN0bTMyZmxhc2gKK1NUTTMyRkxBU0hfQ09NTUlUPTgzOTlmYmUxYmFmMmI3ZDA5Nzc0Njc4NjQ1ODAyMWQ5Mjg5NWQ3MWIKK1NUTTMyRkxBU0hfRElSPSR7RVhURVJOQUxTfS9zdG0zMmZsYXNoLSR7U1RNMzJGTEFTSF9DT01NSVR9CitTVE0zMkZMQVNIX1VSTD1odHRwczovL2dpdC5naXRvcmlvdXMub3JnL3N0bTMyZmxhc2gvc3RtMzJmbGFzaC5naXQKK1sgLWQgJHtTVE0zMkZMQVNIX0RJUn0gXSB8fCAoIG1rZGlyICR7U1RNMzJGTEFTSF9ESVJ9ICYmIFwKKwlnaXQgY2xvbmUgJHtTVE0zMkZMQVNIX1VSTH0gJHtTVE0zMkZMQVNIX0RJUn0vc3RtMzJmbGFzaCAmJiBcCisJY2QgJHtTVE0zMkZMQVNIX0RJUn0vc3RtMzJmbGFzaCAmJiBnaXQgY2hlY2tvdXQgJHtTVE0zMkZMQVNIX0NPTU1JVH0gKQorCiBybSAtcmYgJHtUTVBESVJ9CmRpZmYgLS1naXQgYS9hb3MvYnVpbGQvZXh0ZXJuYWxzLmd5cCBiL2Fvcy9idWlsZC9leHRlcm5hbHMuZ3lwCmluZGV4IDY5NWZjOWYuLjFkNWQ3ZmIgMTAwNjQ0Ci0tLSBhL2Fvcy9idWlsZC9leHRlcm5hbHMuZ3lwCisrKyBiL2Fvcy9idWlsZC9leHRlcm5hbHMuZ3lwCkBAIC0xNiw2ICsxNiw3IEBACiAgICAgJ2NvbXBpbGVyX3J0X3ZlcnNpb24nOiAnUkVMRUFTRV8zMl9maW5hbCcsCiAgICAgJ2xpYmV2ZW50X3ZlcnNpb24nOiAnMi4wLjIxJywKICAgICAnbGliY2RkX3ZlcnNpb24nOiAnMDk0ZycsCisgICAgJ3N0bTMyZmxhc2hfY29tbWl0JzogJzgzOTlmYmUxYmFmMmI3ZDA5Nzc0Njc4NjQ1ODAyMWQ5Mjg5NWQ3MWInLAogICB9LAogICAndGFyZ2V0cyc6IFsKICAgICB7CkBAIC0yMTEsNiArMjEyLDI0IEBACiAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbJzwoY29tcGlsZWRfYWJzKS8nXSwKICAgICAgIH0sCiAgICAgfSwKKyAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnc3RtMzJmbGFzaCcsCisgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCisgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgJzwoZXh0ZXJuYWxzKS9zdG0zMmZsYXNoLTwoc3RtMzJmbGFzaF9jb21taXQpL3N0bTMyZmxhc2gvaW5pdC5jJywKKyAgICAgICAgJzwoZXh0ZXJuYWxzKS9zdG0zMmZsYXNoLTwoc3RtMzJmbGFzaF9jb21taXQpL3N0bTMyZmxhc2gvcGFyc2Vycy9oZXguYycsCisgICAgICAgICc8KGV4dGVybmFscykvc3RtMzJmbGFzaC08KHN0bTMyZmxhc2hfY29tbWl0KS9zdG0zMmZsYXNoL3NlcmlhbF9jb21tb24uYycsCisgICAgICAgICc8KGV4dGVybmFscykvc3RtMzJmbGFzaC08KHN0bTMyZmxhc2hfY29tbWl0KS9zdG0zMmZsYXNoL3NlcmlhbF9wbGF0Zm9ybS5jJywKKyAgICAgICAgJzwoZXh0ZXJuYWxzKS9zdG0zMmZsYXNoLTwoc3RtMzJmbGFzaF9jb21taXQpL3N0bTMyZmxhc2gvdXRpbHMuYycsCisgICAgICAgICc8KGV4dGVybmFscykvc3RtMzJmbGFzaC08KHN0bTMyZmxhc2hfY29tbWl0KS9zdG0zMmZsYXNoL3N0bTMyLmMnLAorICAgICAgXSwKKyAgICAgICdjZmxhZ3MnOiBbCisgICAgICAgICctV25vLWVycm9yJywKKyAgICAgIF0sCisgICAgICAnZGlyZWN0X2RlcGVuZGVudF9zZXR0aW5ncyc6IHsKKyAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsnPChleHRlcm5hbHNfYWJzKS9zdG0zMmZsYXNoLTwoc3RtMzJmbGFzaF9jb21taXQpJ10sCisgICAgICB9LAorICAgIH0sCiAgIF0sCiAgICdpbmNsdWRlcyc6IFsKICAgICAnbGliZ2NjLWFkZGl0aW9ucy9saWJnY2MtYWRkaXRpb25zLmd5cGknLApkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlLy5naXRpZ25vcmUgYi9hemFsZWFzb3VyY2UvLmdpdGlnbm9yZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI0ZGU3My4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvLmdpdGlnbm9yZQorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLSMgU3VidmVyc2lvbg0KLS5zdm4NCi1zdm4tY29tbWl0Ki50bXANCi0NCi0jIENvbXBpbGVkIHNvdXJjZSAjDQotKi5jb20NCi0qLmNsYXNzDQotKi5kbGwNCi0qLmV4ZQ0KLSoubw0KLSouc28NCi0NCi0jIFBhY2thZ2VzICMNCi0jIGl0J3MgYmV0dGVyIHRvIHVucGFjayB0aGVzZSBmaWxlcyBhbmQgY29tbWl0IHRoZSByYXcgc291cmNlDQotIyBnaXQgaGFzIGl0cyBvd24gYnVpbHQgaW4gY29tcHJlc3Npb24gbWV0aG9kcw0KLSouN3oNCi0qLmRtZw0KLSouZ3oNCi0qLmlzbw0KLSouamFyDQotKi5yYXINCi0qLnRhcg0KLQ0KLSMgTG9ncyBhbmQgZGF0YWJhc2VzICMNCi0qLmxvZw0KLSouc3FsDQotKi5zcWxpdGUNCi0NCi0jIE9TIGdlbmVyYXRlZCBmaWxlcyAjDQotLkRTX1N0b3JlDQotLkRTX1N0b3JlPw0KLS5fKg0KLS5TcG90bGlnaHQtVjEwMA0KLS5UcmFzaGVzDQotSWNvbj8NCi1laHRodW1icy5kYg0KLVRodW1icy5kYg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5jcHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5jcHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM1ZmFkMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi8uY3Byb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMTA3NTYxMzY4OCI+DQotPHN0b3JhZ2VNb2R1bGUgYnVpbGRTeXN0ZW1JZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdENvbmZpZ0RhdGFQcm92aWRlciIgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHQuY29uZmlnLjEwNzU2MTM2ODgiIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyIgbmFtZT0iQ29uZmlndXJhdGlvbiI+DQotPGV4dGVybmFsU2V0dGluZ3MvPg0KLTxleHRlbnNpb25zPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JTY2FubmVySW5mb1Byb3ZpZGVyIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuU2Nhbm5lckluZm9Qcm92aWRlciIvPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JFbGZQYXJzZXJWeFdvcmtzIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTwvZXh0ZW5zaW9ucz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmV4dGVybmFsU2V0dGluZ3MiLz4NCi0NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ic2Nhbm5lckNvbmZpZ3VyYXRpb24iLz4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0idXNlcmRlZmluZWRDb250YWluZXIiPg0KLTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLTxpbml0aWFsaXplZCB2YWx1ZT0idHJ1ZSIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUubGFuZ3VhZ2UubWFwcGluZyIvPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5wYXRoZW50cnkiPg0KLTxwYXRoZW50cnkgZXhjbHVkaW5nPSJQUEM2MDNnbnUvfC5zdm4vfC5zZXR0aW5ncy8iIGtpbmQ9InNyYyIgcGF0aD0iIi8+DQotPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSX0NPTlRBSU5FUiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLmJ1aWxkLm1vZGVsLldSX1VTRVJERUZJTkVEX0NPTlRBSU5FUiIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Njb25maWd1cmF0aW9uPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Nwcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5wcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyZmIyY2MuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPldQSUxpYjwvbmFtZT4NCi0JPGNvbW1lbnQ+PC9jb21tZW50Pg0KLQk8cHJvamVjdHM+DQotCTwvcHJvamVjdHM+DQotCTxidWlsZFNwZWM+DQotCQk8YnVpbGRDb21tYW5kPg0KLQkJCTxuYW1lPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JidWlsZGVyPC9uYW1lPg0KLQkJCTxhcmd1bWVudHM+DQotCQkJPC9hcmd1bWVudHM+DQotCQk8L2J1aWxkQ29tbWFuZD4NCi0JPC9idWlsZFNwZWM+DQotCTxuYXR1cmVzPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndybmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3Jjb3JlbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY2NuYXR1cmU8L25hdHVyZT4NCi0JPC9uYXR1cmVzPg0KLTwvcHJvamVjdERlc2NyaXB0aW9uPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5zZXR0aW5ncy9NYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5zZXR0aW5ncy9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGEwNWM5Ni4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi8uc2V0dGluZ3MvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMTg0ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotVFJBQ0U9MA0KLVRSQUNFT049JChUUkFDRTowPUApDQotVFJBQ0VfRkxBRz0kKFRSQUNFT046MT0pDQotDQotTUFLRUZJTEUgOj0gTWFrZWZpbGUNCi0NCi1CVUlMRF9TUEVDID0gUFBDNjAzZ251DQotREVCVUdfTU9ERSA9IDENCi1TUkNfRElSIDo9IC4NCi1CVUlMRF9ST09UX0RJUiA6PSANCi1QUkpfUk9PVF9ESVIgOj0gQzovd2luZHJpdmVyL3dvcmtzcGFjZS9XUElMaWINCi1XU19ST09UX0RJUiA6PSBDOi93aW5kcml2ZXIvd29ya3NwYWNlDQotDQotQUxMX0JVSUxEX1NQRUNTIDo9IFBQQzMyZGlhYiBQUEMzMmdudSBQUEMzMnNmZGlhYiBQUEMzMnNmZ251IFwNCi0JIFBQQzQwM2RpYWIgUFBDNDAzZ251IFBQQzQwNWRpYWIgUFBDNDA1Z251IFwNCi0JIFBQQzQwNXNmZGlhYiBQUEM0MDVzZmdudSBQUEM0NDBkaWFiIFBQQzQ0MGdudSBcDQotCSBQUEM0NDBzZmRpYWIgUFBDNDQwc2ZnbnUgUFBDNjAzZGlhYiBQUEM2MDNnbnUgXA0KLQkgUFBDNjA0ZGlhYiBQUEM2MDRnbnUgUFBDODVYWGRpYWIgUFBDODVYWGdudSBcDQotCSBQUEM4NVhYc2ZkaWFiIFBQQzg1WFhzZmdudSBQUEM4NjBzZmRpYWIgUFBDODYwc2ZnbnUgXA0KLQkgU0lNTElOVVhkaWFiIFNJTUxJTlVYZ251IFNJTU5UZGlhYiBTSU1OVGdudSBcDQotCSBTSU1TUEFSQ1NPTEFSSVNkaWFiIFNJTVNQQVJDU09MQVJJU2dudQ0KLUVOQUJMRURfQlVJTERfU1BFQ1MgOj0gUFBDNjAzZ251DQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwM2RpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjA0ZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1OVGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNU1BBUkNTT0xBUklTZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnUNCi1lbmRpZg0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLQ0KLVBST0pFQ1RfVFlQRSA9IERLTQ0KLURFRklORVMgPSANCi1FWFBBTkRfREJHID0gMA0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1zb2Z0LWZsb2F0IC1tc3RyaWN0LWFsaWduDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwM0ZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDAzIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDVGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwNUZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDQwRkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0NDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwM0ZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwNEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjA0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT04NTQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCAtbWFiaT1uby1zcGUNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzg2MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NjANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg2MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10WDg2TEg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXR1bmU9aTQ4NiAtbWFyY2g9aTQ4Ng0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10U1BBUkNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbXNvDQotQ1BVID0gU0lNU1BBUkNTT0xBUklTDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotDQotDQotDQotDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLnNldHRpbmdzL29yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nLnByZWZzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLnNldHRpbmdzL29yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nLnByZWZzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZmM1NjhjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5sdGsuY29yZS5yZWZhY3RvcmluZy5wcmVmcworKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotI1R1ZSBTZXAgMTQgMTc6MTc6MzkgRURUIDIwMTANCi1lY2xpcHNlLnByZWZlcmVuY2VzLnZlcnNpb249MQ0KLW9yZy5lY2xpcHNlLmx0ay5jb3JlLnJlZmFjdG9yaW5nLmVuYWJsZS5wcm9qZWN0LnJlZmFjdG9yaW5nLmhpc3Rvcnk9ZmFsc2UNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi8ud3JtYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy53cm1ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRkN2Y4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLndycHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliLy53cnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwOGFjYjQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDE0MTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJzZmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJzZmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM0MDNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzQwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM0MDVkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzQwNWdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM0MDVzZmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNDA1c2ZnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNDQwZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM0NDBnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNDQwc2ZkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzQ0MHNmZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkuLiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjA0ZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDRnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDODVYWGRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDODVYWGdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM4NVhYc2ZkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzg1WFhzZmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM4NjBzZmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDODYwc2ZnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8U0lNTElOVVhkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFNJTUxJTlVYZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFNJTU5UZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxTSU1OVGdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxTSU1TUEFSQ1NPTEFSSVNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFNJTVNQQVJDU09MQVJJU2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJzZmRpYWIiIHZhbHVlPSItdFBQQ0ZTOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyc2ZnbnUiIHZhbHVlPSItbXNvZnQtZmxvYXQgLW1zdHJpY3QtYWxpZ24iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM0MDNkaWFiIiB2YWx1ZT0iLXRQUEM0MDNGUzp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM0MDNnbnUiIHZhbHVlPSItbWNwdT00MDMgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDA1ZGlhYiIgdmFsdWU9Ii10UFBDNDA1RlM6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDA1Z251IiB2YWx1ZT0iLW1jcHU9NDA1IC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii10UFBDNDA1RlM6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDA1c2ZnbnUiIHZhbHVlPSItbWNwdT00MDUgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDQwZGlhYiIgdmFsdWU9Ii10UFBDNDQwRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDQwZ251IiB2YWx1ZT0iLW1jcHU9NDQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzQ0MHNmZGlhYiIgdmFsdWU9Ii10UFBDNDQwRlM6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNDQwc2ZnbnUiIHZhbHVlPSItbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwNGRpYWIiIHZhbHVlPSItdFBQQzYwNEZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwNGdudSIgdmFsdWU9Ii1tY3B1PTYwNCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDODVYWGRpYWIiIHZhbHVlPSItdFBQQ0U1MDBGUzp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM4NVhYZ251IiB2YWx1ZT0iLW1jcHU9ODU0MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQgLW1hYmk9bm8tc3BlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDODVYWHNmZGlhYiIgdmFsdWU9Ii10UFBDRTUwMEZTOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzg2MHNmZGlhYiIgdmFsdWU9Ii10UFBDODYwRlM6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDODYwc2ZnbnUiIHZhbHVlPSItbWNwdT04NjAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8U0lNTElOVVhkaWFiIiB2YWx1ZT0iLXRYODZMSDp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxTSU1MSU5VWGdudSIgdmFsdWU9Ii1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8U0lNTlRkaWFiIiB2YWx1ZT0iLXRYODZMSDp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxTSU1OVGdudSIgdmFsdWU9Ii1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9Ii10U1BBUkNGSDp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMnNmZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJzZmdudSIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNDAzZGlhYiIgdmFsdWU9IlBQQzQwMyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzQwM2dudSIgdmFsdWU9IlBQQzQwMyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzQwNWRpYWIiIHZhbHVlPSJQUEM0MDUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0MDVnbnUiIHZhbHVlPSJQUEM0MDUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0MDVzZmRpYWIiIHZhbHVlPSJQUEM0MDUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0MDVzZmdudSIgdmFsdWU9IlBQQzQwNSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzQ0MGRpYWIiIHZhbHVlPSJQUEM0NDAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0NDBnbnUiIHZhbHVlPSJQUEM0NDAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0NDBzZmRpYWIiIHZhbHVlPSJQUEM0NDAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM0NDBzZmdudSIgdmFsdWU9IlBQQzQ0MCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDRkaWFiIiB2YWx1ZT0iUFBDNjA0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjA0Z251IiB2YWx1ZT0iUFBDNjA0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDODVYWGRpYWIiIHZhbHVlPSJQUEM4NVhYIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDODVYWGdudSIgdmFsdWU9IlBQQzg1WFgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iUFBDODVYWCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzg1WFhzZmdudSIgdmFsdWU9IlBQQzg1WFgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM4NjBzZmRpYWIiIHZhbHVlPSJQUEM4NjAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM4NjBzZmdudSIgdmFsdWU9IlBQQzg2MCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFNJTUxJTlVYZGlhYiIgdmFsdWU9IlNJTUxJTlVYIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8U0lNTElOVVhnbnUiIHZhbHVlPSJTSU1MSU5VWCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFNJTU5UZGlhYiIgdmFsdWU9IlNJTU5UIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8U0lNTlRnbnUiIHZhbHVlPSJTSU1OVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJTSU1TUEFSQ1NPTEFSSVMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJTSU1TUEFSQ1NPTEFSSVMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNDAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM0MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNDA1ZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM0MDVnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzQwNXNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzQ0MGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNDQwZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM0NDBzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDRkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwNGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM4NVhYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM4NVhYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDODVYWHNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzg2MHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM4NjBzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxTSU1MSU5VWGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8U0lNTElOVVhnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8U0lNTlRkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFNJTU5UZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMnNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMnNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzQwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNDAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzQwNWRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNDA1Z251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzQwNXNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM0MDVzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM0NDBkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzQ0MGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM0NDBzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNDQwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjA0ZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDODVYWGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDODVYWGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzg1WFhzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM4NjBzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDODYwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8U0lNTElOVVhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFNJTUxJTlVYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFNJTU5UZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxTSU1OVGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJzZmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNDAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzQwM2dudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNDA1ZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzQwNWdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNDA1c2ZnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzQ0MGRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM0NDBnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzQ0MHNmZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzQ0MHNmZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDRkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjA0Z251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM4NVhYZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzg1WFhnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzg2MHNmZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzg2MHNmZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxTSU1MSU5VWGRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxTSU1MSU5VWGdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8U0lNTlRkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8U0lNTlRnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzQwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM0MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM0MDVkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDA1Z251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDA1c2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM0NDBkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDQwZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNDQwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjA0ZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwNGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzg1WFhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDODVYWGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM4NVhYc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM4NjBzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM4NjBzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFNJTUxJTlVYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFNJTUxJTlVYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8U0lNTlRkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8U0lNTlRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJzZmRpYWIiIHZhbHVlPSJzZmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJzZmdudSIgdmFsdWU9InNmZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzQwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzQwM2dudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM0MDVkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM0MDVnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0ic2ZkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzQwNXNmZ251IiB2YWx1ZT0ic2ZnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNDQwZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNDQwZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzQ0MHNmZGlhYiIgdmFsdWU9InNmZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM0NDBzZmdudSIgdmFsdWU9InNmZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDRkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDRnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDODVYWGRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzg1WFhnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDODVYWHNmZGlhYiIgdmFsdWU9InNmZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJzZmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM4NjBzZmRpYWIiIHZhbHVlPSJzZmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDODYwc2ZnbnUiIHZhbHVlPSJzZmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxTSU1MSU5VWGRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFNJTUxJTlVYZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFNJTU5UZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8U0lNTlRnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMnNmZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMnNmZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzQwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNDAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzQwNWRpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNDA1Z251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzQwNXNmZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM0MDVzZmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM0NDBkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzQ0MGdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM0NDBzZmRpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNDQwc2ZnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjA0ZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDRnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDODVYWGRpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDODVYWGdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzg1WFhzZmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM4NjBzZmRpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDODYwc2ZnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8U0lNTElOVVhkaWFiIiB2YWx1ZT0ic2ltbGludXgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8U0lNTElOVVhnbnUiIHZhbHVlPSJzaW1saW51eCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxTSU1OVGRpYWIiIHZhbHVlPSJzaW1wYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxTSU1OVGdudSIgdmFsdWU9InNpbXBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJzaW1zbyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJzaW1zbyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMnNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM0MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM0MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDA1ZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDA1Z251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzQwNXNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDA1c2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDQwZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDQwZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzQ0MHNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNDQwc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwNGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwNGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM4NVhYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDODVYWGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM4NjBzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxTSU1MSU5VWGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFNJTUxJTlVYZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxTSU1OVGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFNJTU5UZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjc3BhcmMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzQwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNDA1Z251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDODVYWGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xTSU1OVGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM0MDVnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzQ0MGdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM0NDBzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDRnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFNJTU5UZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8U0lNTlRnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDA1Z251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM4NVhYZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDODVYWGdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM0MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzQwNWdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwNGdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM4NjBzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xTSU1MSU5VWGdudSIgdmFsdWU9Ii1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSItTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDMzJzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMnNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM0MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNDAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM0MDVkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNDA1Z251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM0MDVzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM0MDVzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNDQwZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzQ0MGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNDQwc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSIlY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9JnF1b3Q7JChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSZxdW90OycgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDRkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjA0Z251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM4NVhYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzg1WFhnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzg2MHNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzg2MHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxTSU1MSU5VWGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxTSU1MSU5VWGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFNJTU5UZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFNJTU5UZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcGVudGl1bSAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3NwYXJjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDA1Z251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDODVYWGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xTSU1OVGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM0MDVnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQ0MGdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM0NDBzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDRnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTU5UZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8U0lNTlRnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzQwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNDQwZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwNGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM4NVhYZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xTSU1OVGdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzQwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDA1Z251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwNGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDODVYWGdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3AiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xTSU1OVGdudSIgdmFsdWU9Ii1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8c2lncyIgdmFsdWU9IiouY3BwOyouQzsqLmN4eDsqLmNjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMnNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzMyc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzQwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM0MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzQwNWRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM0MDVnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzQwNXNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzQwNXNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM0NDBkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNDQwZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM0NDBzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM0NDBzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjA0ZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwNGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDODVYWGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM4NVhYZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDODVYWHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM4NjBzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM4NjBzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8U0lNTElOVVhkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8U0lNTElOVVhnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcGVudGl1bSAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxTSU1OVGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxTSU1OVGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjc3BhcmMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQwNWdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNDQwZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQ0MGdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwNGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDRnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzg1WFhnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xTSU1MSU5VWGdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTU5UZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTU5UZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQwNWdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzg1WFhnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xTSU1MSU5VWGdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFNJTU5UZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzQwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzQwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSItTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSItTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8c2lncyIgdmFsdWU9IiouYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMnNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzQwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM0MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzQwNWRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM0MDVnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzQwNXNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzQwNXNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM0NDBkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNDQwZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM0NDBzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM0NDBzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjA0ZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwNGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDODVYWGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM4NVhYZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDODVYWHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM4NjBzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM4NjBzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8U0lNTElOVVhkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8U0lNTElOVVhnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwZW50aXVtICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxTSU1OVGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxTSU1OVGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBlbnRpdW0gJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJzcGFyYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzQwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzQwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNDA1Z251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM0NDBnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjA0Z251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM4NVhYZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDODVYWGdudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xTSU1OVGRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFNJTU5UZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzQwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xTSU1OVGdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRlM6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNDAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQwM0ZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzQwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNDA1ZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQwNUZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzQwNWdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNDA1RlM6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNDA1c2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzQ0MGRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM0NDBGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM0NDBnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzQ0MHNmZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQ0MEZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzQ0MHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDRkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjA0Rkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjA0Z251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM4NVhYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0U1MDBGUzp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM4NVhYZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRTUwMEZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzg1WFhzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDODYwRlM6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDODYwc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFNJTUxJTlVYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRYODZMSDp2eHdvcmtzNjMgLVggLXI1IC1mIDB4OTAsMSwxICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxTSU1MSU5VWGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcGVudGl1bSAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFNJTU5UZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRYODZMSDp2eHdvcmtzNjMgLVggLXI1IC1mIDB4OTAsMSwxICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxTSU1OVGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcGVudGl1bSAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgc3BhcmMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFNQQVJDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1zcGFyYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBzcGFyYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjc3BhcmMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3NwYXJjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM0MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDQwZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwNGdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM4NVhYZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM4NjBzZmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8U0lNTlRkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFNJTU5UZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMnNmZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzQwM2RpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzQwNWRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1Z251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0MDVzZmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzQ0MGdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDRnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDODVYWGdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFNJTU5UZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xTSU1OVGdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0MDNnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0MDVnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNDQwZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNDQwZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM0NDBzZmdudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwNGRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwNGdudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM4NVhYZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM4NjBzZmdudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFNJTU5UZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQwNWdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwNGdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM4NjBzZmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xTSU1MSU5VWGdudSIgdmFsdWU9Ii1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSItTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJzZmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM0MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM0MDNGUzp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzQwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM0MDVkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM0MDVGUzp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzQwNWdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM0MDVzZmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQwNUZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNDA1c2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNDQwZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNDQwRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM0NDBnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM0NDBGUzp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzQ0MHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iJWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDRkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDRGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwNGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM4NVhYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRTUwMEZTOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDODVYWGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENFNTAwRlM6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM4NjBGUzp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzg2MHNmZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFNJTUxJTlVYZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10WDg2TEg6dnh3b3JrczYzIC1YIC1yNSAtZiAweDkwLDEsMSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxTSU1MSU5VWGdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwZW50aXVtIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8U0lNTlRkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRYODZMSDp2eHdvcmtzNjMgLVggLXI1IC1mIDB4OTAsMSwxICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFNJTU5UZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BlbnRpdW0gLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRTUEFSQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3NwYXJjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzQwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzQwNWdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDQwZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwNGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzg1WFhnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xTSU1MSU5VWGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyc2ZnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1ZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0MDVnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDA1c2ZkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzQwNXNmZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzQ0MGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNDQwZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM0NDBzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDRkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwNGdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM4NVhYZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM4NVhYZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDODVYWHNmZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzg2MHNmZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM4NjBzZmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xTSU1MSU5VWGRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8U0lNTElOVVhnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8U0lNTlRkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFNJTU5UZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8U0lNU1BBUkNTT0xBUklTZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMnNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMnNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzQwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNDAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzQwNWRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNDA1Z251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzQwNXNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM0MDVzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM0NDBkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzQ0MGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM0NDBzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNDQwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjA0ZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDODVYWGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDODVYWGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM4NVhYc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzg1WFhzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM4NjBzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDODYwc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8U0lNTElOVVhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFNJTUxJTlVYZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFNJTU5UZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xTSU1OVGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xTSU1TUEFSQ1NPTEFSSVNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFNJTVNQQVJDU09MQVJJU2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJzZmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDVkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQwNWdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM0MDVzZmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDA1c2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM0NDBnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNDQwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzQ0MHNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwNGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjA0Z251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg1WFhnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDODVYWHNmZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM4NVhYc2ZnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDODYwc2ZkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzg2MHNmZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFNJTUxJTlVYZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xTSU1MSU5VWGdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xTSU1OVGRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8U0lNTlRnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8U0lNU1BBUkNTT0xBUklTZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyc2ZkaWFiIiB2YWx1ZT0iUFBDMzJzZmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyc2ZnbnUiIHZhbHVlPSJQUEMzMnNmZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM0MDNkaWFiIiB2YWx1ZT0iUFBDNDAzZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNDAzZ251IiB2YWx1ZT0iUFBDNDAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM0MDVkaWFiIiB2YWx1ZT0iUFBDNDA1ZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNDA1Z251IiB2YWx1ZT0iUFBDNDA1Z251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM0MDVzZmRpYWIiIHZhbHVlPSJQUEM0MDVzZmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzQwNXNmZ251IiB2YWx1ZT0iUFBDNDA1c2ZnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzQ0MGRpYWIiIHZhbHVlPSJQUEM0NDBkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM0NDBnbnUiIHZhbHVlPSJQUEM0NDBnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzQ0MHNmZGlhYiIgdmFsdWU9IlBQQzQ0MHNmZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNDQwc2ZnbnUiIHZhbHVlPSJQUEM0NDBzZmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjA0ZGlhYiIgdmFsdWU9IlBQQzYwNGRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwNGdudSIgdmFsdWU9IlBQQzYwNGdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDODVYWGRpYWIiIHZhbHVlPSJQUEM4NVhYZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDODVYWGdudSIgdmFsdWU9IlBQQzg1WFhnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzg1WFhzZmRpYWIiIHZhbHVlPSJQUEM4NVhYc2ZkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM4NVhYc2ZnbnUiIHZhbHVlPSJQUEM4NVhYc2ZnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzg2MHNmZGlhYiIgdmFsdWU9IlBQQzg2MHNmZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDODYwc2ZnbnUiIHZhbHVlPSJQUEM4NjBzZmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8U0lNTElOVVhkaWFiIiB2YWx1ZT0iU0lNTElOVVhkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxTSU1MSU5VWGdudSIgdmFsdWU9IlNJTUxJTlVYZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxTSU1OVGRpYWIiIHZhbHVlPSJTSU1OVGRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFNJTU5UZ251IiB2YWx1ZT0iU0lNTlRnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFNJTVNQQVJDU09MQVJJU2RpYWIiIHZhbHVlPSJTSU1TUEFSQ1NPTEFSSVNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxTSU1TUEFSQ1NPTEFSSVNnbnUiIHZhbHVlPSJTSU1TUEFSQ1NPTEFSSVNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVmcmVzaFR5cGUiIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98c3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJzZmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJzZmdudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM0MDNkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzQwM2dudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM0MDVkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzQwNWdudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM0MDVzZmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNDA1c2ZnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNDQwZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM0NDBnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNDQwc2ZkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzQ0MHNmZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwNGRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjA0Z251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzg1WFhkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzg1WFhnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDODVYWHNmZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM4NVhYc2ZnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDODYwc2ZkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzg2MHNmZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlNJTUxJTlVYZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJTSU1MSU5VWGdudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJTSU1OVGRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iU0lNTlRnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iU0lNU1BBUkNTT0xBUklTZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJTSU1TUEFSQ1NPTEFSSVNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OlRndHxUYXJnZXRzIi8+DQotICAgICAgICAgICAgPGludEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEVuYWJsZWQiIHZhbHVlPSIxIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRGb3JCdWlsZFNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQnVpbGRUYXJnZXRDZW50cmljIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iUGFzc09iamVjdHMiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgPC9tYXBBdHRyaWJ1dGU+DQotICAgIDwvYXR0cmlidXRlcz4NCi0gICAgPGJ1aWxkdGFyZ2V0cz4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IkxpYnJhcmlhbiIgbmFtZT0iV1BJTGliIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9IldQSUxpYiI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8Zm9sZGVyIG5hbWU9Ii9XUElMaWIiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iTGlicmFyaWFuIiBuYW1lPSJKYXZhQ2FtZXJhTGliIiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJKYXZhQ2FtZXJhTGliIj4NCi0gICAgICAgICAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgICAgICAgICAgPG1hcEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9IiVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSZxdW90OyQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikmcXVvdDsnICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDwvYXR0cmlidXRlcz4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVmlzaW9uL1BDVmlkZW9TZXJ2ZXIuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVmlzaW9uL0VudW1DYW1lcmFQYXJhbWV0ZXIuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVmlzaW9uL0ludENhbWVyYVBhcmFtZXRlci5jcHAiLz4NCi0gICAgICAgICAgICAgICAgPGZpbGUgbmFtZT0iL1dQSUxpYi9FcnJvci5jcHAiLz4NCi0gICAgICAgICAgICAgICAgPGZpbGUgbmFtZT0iL1dQSUxpYi9FcnJvckJhc2UuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVGFzay5jcHAiLz4NCi0gICAgICAgICAgICAgICAgPGZpbGUgbmFtZT0iL1dQSUxpYi9UaW1lci5jcHAiLz4NCi0gICAgICAgICAgICAgICAgPGZpbGUgbmFtZT0iL1dQSUxpYi9TeW5jaHJvbml6ZWQuY3BwIi8+DQotICAgICAgICAgICAgICAgIDxmaWxlIG5hbWU9Ii9XUElMaWIvVXRpbGl0eS5jcHAiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BRFhMMzQ1X0kyQy5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BRFhMMzQ1X0kyQy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmZDc0YzAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQURYTDM0NV9JMkMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQURYTDM0NV9JMkMuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJJMkMuaCINCi0NCi1jb25zdCBVSU5UOCBBRFhMMzQ1X0kyQzo6a0FkZHJlc3M7DQotY29uc3QgVUlOVDggQURYTDM0NV9JMkM6OmtQb3dlckN0bFJlZ2lzdGVyOw0KLWNvbnN0IFVJTlQ4IEFEWEwzNDVfSTJDOjprRGF0YUZvcm1hdFJlZ2lzdGVyOw0KLWNvbnN0IFVJTlQ4IEFEWEwzNDVfSTJDOjprRGF0YVJlZ2lzdGVyOw0KLWNvbnN0IGRvdWJsZSBBRFhMMzQ1X0kyQzo6a0dzUGVyTFNCOw0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHRoYXQgdGhlIHNlbnNvciBpcyBwbHVnZ2VkIGludG8gKDEgb3IgMikuDQotICogQHBhcmFtIHJhbmdlIFRoZSByYW5nZSAoKyBvciAtKSB0aGF0IHRoZSBhY2NlbGVyb21ldGVyIHdpbGwgbWVhc3VyZS4NCi0gKi8NCi1BRFhMMzQ1X0kyQzo6QURYTDM0NV9JMkMoVUlOVDggbW9kdWxlTnVtYmVyLCBBRFhMMzQ1X0kyQzo6RGF0YUZvcm1hdF9SYW5nZSByYW5nZSkNCi0JOiBtX2kyYyAoTlVMTCkNCi17DQotCURpZ2l0YWxNb2R1bGUgKm1vZHVsZSA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotCWlmIChtb2R1bGUpDQotCXsNCi0JCW1faTJjID0gbW9kdWxlLT5HZXRJMkMoa0FkZHJlc3MpOw0KLQ0KLQkJLy8gVHVybiBvbiB0aGUgbWVhc3VyZW1lbnRzDQotCQltX2kyYy0+V3JpdGUoa1Bvd2VyQ3RsUmVnaXN0ZXIsIGtQb3dlckN0bF9NZWFzdXJlKTsNCi0JCS8vIFNwZWNpZnkgdGhlIGRhdGEgZm9ybWF0IHRvIHJlYWQNCi0JCW1faTJjLT5Xcml0ZShrRGF0YUZvcm1hdFJlZ2lzdGVyLCBrRGF0YUZvcm1hdF9GdWxsUmVzIHwgKFVJTlQ4KXJhbmdlKTsNCi0NCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9BRFhMMzQ1LCBuVXNhZ2VSZXBvcnRpbmc6OmtBRFhMMzQ1X0kyQywgbW9kdWxlTnVtYmVyIC0gMSk7DQotCX0NCi19DQotDQotLyoqDQotICogRGVzdHJ1Y3Rvci4NCi0gKi8NCi1BRFhMMzQ1X0kyQzo6fkFEWEwzNDVfSTJDKCkNCi17DQotCWRlbGV0ZSBtX2kyYzsNCi0JbV9pMmMgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGFjY2VsZXJhdGlvbiBvZiBvbmUgYXhpcyBpbiBHcy4NCi0gKiANCi0gKiBAcGFyYW0gYXhpcyBUaGUgYXhpcyB0byByZWFkIGZyb20uDQotICogQHJldHVybiBBY2NlbGVyYXRpb24gb2YgdGhlIEFEWEwzNDUgaW4gR3MuDQotICovDQotZG91YmxlIEFEWEwzNDVfSTJDOjpHZXRBY2NlbGVyYXRpb24oQURYTDM0NV9JMkM6OkF4ZXMgYXhpcykNCi17DQotCUlOVDE2IHJhd0FjY2VsID0gMDsNCi0JaWYobV9pMmMpDQotCXsNCi0JCW1faTJjLT5SZWFkKGtEYXRhUmVnaXN0ZXIgKyAoVUlOVDgpYXhpcywgc2l6ZW9mKHJhd0FjY2VsKSwgKFVJTlQ4ICopJnJhd0FjY2VsKTsNCi0NCi0JCS8vIFNlbnNvciBpcyBsaXR0bGUgZW5kaWFuLi4uIHN3YXAgYnl0ZXMNCi0JCXJhd0FjY2VsID0gKChyYXdBY2NlbCA+PiA4KSAmIDB4RkYpIHwgKHJhd0FjY2VsIDw8IDgpOw0KLQl9DQotCXJldHVybiByYXdBY2NlbCAqIGtHc1BlckxTQjsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBhY2NlbGVyYXRpb24gb2YgYWxsIGF4ZXMgaW4gR3MuDQotICogDQotICogQHJldHVybiBBY2NlbGVyYXRpb24gbWVhc3VyZWQgb24gYWxsIGF4ZXMgb2YgdGhlIEFEWEwzNDUgaW4gR3MuDQotICovDQotQURYTDM0NV9JMkM6OkFsbEF4ZXMgQURYTDM0NV9JMkM6OkdldEFjY2VsZXJhdGlvbnMoKQ0KLXsNCi0JQWxsQXhlcyBkYXRhID0gezAuMH07DQotCUlOVDE2IHJhd0RhdGFbM107DQotCWlmIChtX2kyYykNCi0Jew0KLQkJbV9pMmMtPlJlYWQoa0RhdGFSZWdpc3Rlciwgc2l6ZW9mKHJhd0RhdGEpLCAoVUlOVDgqKXJhd0RhdGEpOw0KLQ0KLQkJLy8gU2Vuc29yIGlzIGxpdHRsZSBlbmRpYW4uLi4gc3dhcCBieXRlcw0KLQkJZm9yIChJTlQzMiBpPTA7IGk8MzsgaSsrKQ0KLQkJew0KLQkJCXJhd0RhdGFbaV0gPSAoKHJhd0RhdGFbaV0gPj4gOCkgJiAweEZGKSB8IChyYXdEYXRhW2ldIDw8IDgpOw0KLQkJfQ0KLQ0KLQkJZGF0YS5YQXhpcyA9IHJhd0RhdGFbMF0gKiBrR3NQZXJMU0I7DQotCQlkYXRhLllBeGlzID0gcmF3RGF0YVsxXSAqIGtHc1BlckxTQjsNCi0JCWRhdGEuWkF4aXMgPSByYXdEYXRhWzJdICoga0dzUGVyTFNCOw0KLQl9DQotCXJldHVybiBkYXRhOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BRFhMMzQ1X0kyQy5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQURYTDM0NV9JMkMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjY0ZmVmOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BRFhMMzQ1X0kyQy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fQURYTDM0NV9JMkNfaF9fDQotI2RlZmluZSBfX0FEWEwzNDVfSTJDX2hfXw0KLQ0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotDQotY2xhc3MgSTJDOw0KLQ0KLS8qKg0KLSAqIEFEWEwzNDUgQWNjZWxlcm9tZXRlciBvbiBJMkMuDQotICogDQotICogVGhpcyBjbGFzcyBhbG93cyBhY2Nlc3MgdG8gYSBBbmFsb2cgRGV2aWNlcyBBRFhMMzQ1IDMtYXhpcyBhY2NlbGVyb21ldGVyIG9uIGFuIEkyQyBidXMuDQotICogVGhpcyBjbGFzcyBhc3N1bWVzIHRoZSBkZWZhdWx0IChub3QgYWx0ZXJuYXRlKSBzZW5zb3IgYWRkcmVzcyBvZiAweDNBICg4LWJpdCBhZGRyZXNzKS4NCi0gKi8NCi1jbGFzcyBBRFhMMzQ1X0kyQyA6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXByb3RlY3RlZDoNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtBZGRyZXNzID0gMHgzQTsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtQb3dlckN0bFJlZ2lzdGVyID0gMHgyRDsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtEYXRhRm9ybWF0UmVnaXN0ZXIgPSAweDMxOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0RhdGFSZWdpc3RlciA9IDB4MzI7DQotCXN0YXRpYyBjb25zdCBkb3VibGUga0dzUGVyTFNCID0gMC4wMDM5MDYyNTsNCi0JZW51bSBQb3dlckN0bEZpZWxkcyB7a1Bvd2VyQ3RsX0xpbms9MHgyMCwga1Bvd2VyQ3RsX0F1dG9TbGVlcD0weDEwLCBrUG93ZXJDdGxfTWVhc3VyZT0weDA4LCBrUG93ZXJDdGxfU2xlZXA9MHgwNH07DQotCWVudW0gRGF0YUZvcm1hdEZpZWxkcyB7a0RhdGFGb3JtYXRfU2VsZlRlc3Q9MHg4MCwga0RhdGFGb3JtYXRfU1BJPTB4NDAsIGtEYXRhRm9ybWF0X0ludEludmVydD0weDIwLA0KLQkJa0RhdGFGb3JtYXRfRnVsbFJlcz0weDA4LCBrRGF0YUZvcm1hdF9KdXN0aWZ5PTB4MDR9Ow0KLQ0KLXB1YmxpYzoNCi0JZW51bSBEYXRhRm9ybWF0X1JhbmdlIHtrUmFuZ2VfMkc9MHgwMCwga1JhbmdlXzRHPTB4MDEsIGtSYW5nZV84Rz0weDAyLCBrUmFuZ2VfMTZHPTB4MDN9Ow0KLQllbnVtIEF4ZXMge2tBeGlzX1g9MHgwMCwga0F4aXNfWT0weDAyLCBrQXhpc19aPTB4MDR9Ow0KLQlzdHJ1Y3QgQWxsQXhlcw0KLQl7DQotCQlkb3VibGUgWEF4aXM7DQotCQlkb3VibGUgWUF4aXM7DQotCQlkb3VibGUgWkF4aXM7DQotCX07DQotDQotcHVibGljOg0KLQlleHBsaWNpdCBBRFhMMzQ1X0kyQyhVSU5UOCBtb2R1bGVOdW1iZXIsIERhdGFGb3JtYXRfUmFuZ2UgcmFuZ2U9a1JhbmdlXzJHKTsNCi0JdmlydHVhbCB+QURYTDM0NV9JMkMoKTsNCi0JdmlydHVhbCBkb3VibGUgR2V0QWNjZWxlcmF0aW9uKEF4ZXMgYXhpcyk7DQotCXZpcnR1YWwgQWxsQXhlcyBHZXRBY2NlbGVyYXRpb25zKCk7DQotDQotcHJvdGVjdGVkOg0KLQlJMkMqIG1faTJjOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQURYTDM0NV9TUEkuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQURYTDM0NV9TUEkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTdkMzNjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FEWEwzNDVfU1BJLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJBRFhMMzQ1X1NQSS5oIg0KLSNpbmNsdWRlICJEaWdpdGFsSW5wdXQuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE91dHB1dC5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJTUEkuaCINCi0NCi1jb25zdCBVSU5UOCBBRFhMMzQ1X1NQSTo6a1Bvd2VyQ3RsUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggQURYTDM0NV9TUEk6OmtEYXRhRm9ybWF0UmVnaXN0ZXI7DQotY29uc3QgVUlOVDggQURYTDM0NV9TUEk6OmtEYXRhUmVnaXN0ZXI7DQotY29uc3QgZG91YmxlIEFEWEwzNDVfU1BJOjprR3NQZXJMU0I7DQotDQotLyoqDQotICogQ29uc3RydWN0b3IuDQotICogDQotICogQHBhcmFtIGNsayBUaGUgR1BJTyB0aGUgY2xvY2sgc2lnbmFsIGlzIHdpcmVkIHRvLg0KLSAqIEBwYXJhbSBtb3NpIFRoZSBHUElPIHRoZSBNT1NJIChNYXN0ZXIgT3V0IFNsYXZlIEluKSBzaWduYWwgaXMgd2lyZWQgdG8uDQotICogQHBhcmFtIG1pc28gVGhlIEdQSU8gdGhlIE1JU08gKE1hc3RlciBJbiBTbGF2ZSBPdXQpIHNpZ25hbCBpcyB3aXJlZCB0by4NCi0gKiBAcGFyYW0gY3MgVGhlIEdQSU8gdGhlIENTIChDaGlwIFNlbGVjdCkgc2lnbmFsIGlzIHdpcmVkIHRvLg0KLSAqIEBwYXJhbSByYW5nZSBUaGUgcmFuZ2UgKCsgb3IgLSkgdGhhdCB0aGUgYWNjZWxlcm9tZXRlciB3aWxsIG1lYXN1cmUuDQotICovDQotQURYTDM0NV9TUEk6OkFEWEwzNDVfU1BJKERpZ2l0YWxPdXRwdXQgJmNsaywgRGlnaXRhbE91dHB1dCAmbW9zaSwgRGlnaXRhbElucHV0ICZtaXNvLA0KLQlEaWdpdGFsT3V0cHV0ICZjcywgRGF0YUZvcm1hdF9SYW5nZSByYW5nZSkNCi0JOiBtX2NsayAoTlVMTCkNCi0JLCBtX21vc2kgKE5VTEwpDQotCSwgbV9taXNvIChOVUxMKQ0KLQksIG1fY3MgKE5VTEwpDQotCSwgbV9zcGkgKE5VTEwpDQotew0KLQlJbml0KCZjbGssICZtb3NpLCAmbWlzbywgJmNzLCByYW5nZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSBjbGsgVGhlIEdQSU8gdGhlIGNsb2NrIHNpZ25hbCBpcyB3aXJlZCB0by4NCi0gKiBAcGFyYW0gbW9zaSBUaGUgR1BJTyB0aGUgTU9TSSAoTWFzdGVyIE91dCBTbGF2ZSBJbikgc2lnbmFsIGlzIHdpcmVkIHRvLg0KLSAqIEBwYXJhbSBtaXNvIFRoZSBHUElPIHRoZSBNSVNPIChNYXN0ZXIgSW4gU2xhdmUgT3V0KSBzaWduYWwgaXMgd2lyZWQgdG8uDQotICogQHBhcmFtIGNzIFRoZSBHUElPIHRoZSBDUyAoQ2hpcCBTZWxlY3QpIHNpZ25hbCBpcyB3aXJlZCB0by4NCi0gKiBAcGFyYW0gcmFuZ2UgVGhlIHJhbmdlICgrIG9yIC0pIHRoYXQgdGhlIGFjY2VsZXJvbWV0ZXIgd2lsbCBtZWFzdXJlLg0KLSAqLw0KLUFEWEwzNDVfU1BJOjpBRFhMMzQ1X1NQSShEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2ksIERpZ2l0YWxJbnB1dCAqbWlzbywNCi0JRGlnaXRhbE91dHB1dCAqY3MsIERhdGFGb3JtYXRfUmFuZ2UgcmFuZ2UpDQotCTogbV9jbGsgKE5VTEwpDQotCSwgbV9tb3NpIChOVUxMKQ0KLQksIG1fbWlzbyAoTlVMTCkNCi0JLCBtX2NzIChOVUxMKQ0KLQksIG1fc3BpIChOVUxMKQ0KLXsNCi0JSW5pdChjbGssIG1vc2ksIG1pc28sIGNzLCByYW5nZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHdpdGggdGhlIHNlbnNvciBhdHRhY2hlZC4NCi0gKiBAcGFyYW0gY2xrIFRoZSBHUElPIHRoZSBjbG9jayBzaWduYWwgaXMgd2lyZWQgdG8uDQotICogQHBhcmFtIG1vc2kgVGhlIEdQSU8gdGhlIE1PU0kgKE1hc3RlciBPdXQgU2xhdmUgSW4pIHNpZ25hbCBpcyB3aXJlZCB0by4NCi0gKiBAcGFyYW0gbWlzbyBUaGUgR1BJTyB0aGUgTUlTTyAoTWFzdGVyIEluIFNsYXZlIE91dCkgc2lnbmFsIGlzIHdpcmVkIHRvLg0KLSAqIEBwYXJhbSBjcyBUaGUgR1BJTyB0aGUgQ1MgKENoaXAgU2VsZWN0KSBzaWduYWwgaXMgd2lyZWQgdG8uDQotICogQHBhcmFtIHJhbmdlIFRoZSByYW5nZSAoKyBvciAtKSB0aGF0IHRoZSBhY2NlbGVyb21ldGVyIHdpbGwgbWVhc3VyZS4NCi0gKi8NCi1BRFhMMzQ1X1NQSTo6QURYTDM0NV9TUEkoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2xrLCBVSU5UMzIgbW9zaSwgVUlOVDMyIG1pc28sDQotCQlVSU5UMzIgY3MsIEFEWEwzNDVfU1BJOjpEYXRhRm9ybWF0X1JhbmdlIHJhbmdlKQ0KLQk6IG1fY2xrIChOVUxMKQ0KLQksIG1fbW9zaSAoTlVMTCkNCi0JLCBtX21pc28gKE5VTEwpDQotCSwgbV9jcyAoTlVMTCkNCi0JLCBtX3NwaSAoTlVMTCkNCi17DQotCW1fY2xrID0gbmV3IERpZ2l0YWxPdXRwdXQobW9kdWxlTnVtYmVyLCBjbGspOw0KLQltX21vc2kgPSBuZXcgRGlnaXRhbE91dHB1dChtb2R1bGVOdW1iZXIsIG1vc2kpOw0KLQltX21pc28gPSBuZXcgRGlnaXRhbElucHV0KG1vZHVsZU51bWJlciwgbWlzbyk7DQotCW1fY3MgPSBuZXcgRGlnaXRhbE91dHB1dChtb2R1bGVOdW1iZXIsIGNzKTsNCi0JSW5pdChtX2NsaywgbV9tb3NpLCBtX21pc28sIG1fY3MsIHJhbmdlKTsNCi19DQotDQotLyoqDQotICogSW50ZXJuYWwgY29tbW9uIGluaXQgZnVuY3Rpb24uDQotICovDQotdm9pZCBBRFhMMzQ1X1NQSTo6SW5pdChEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2ksIERpZ2l0YWxJbnB1dCAqbWlzbywNCi0JRGlnaXRhbE91dHB1dCAqY3MsIERhdGFGb3JtYXRfUmFuZ2UgcmFuZ2UpDQotew0KLQlpZiAoY2xrICE9IE5VTEwgJiYgbW9zaSAhPSBOVUxMICYmIG1pc28gIT0gTlVMTCAmJiBjcyAhPSBOVUxMKQ0KLQl7DQotCQltX3NwaSA9IG5ldyBTUEkoY2xrLCBtb3NpLCBtaXNvKTsNCi0JCW1fc3BpLT5TZXRNU0JGaXJzdCgpOw0KLQkJbV9zcGktPlNldFNhbXBsZURhdGFPblJpc2luZygpOw0KLQkJbV9zcGktPlNldFNsYXZlU2VsZWN0KGNzLCBTUEk6OmtDaGlwU2VsZWN0LCBmYWxzZSk7DQotCQltX3NwaS0+U2V0Q2xvY2tBY3RpdmVMb3coKTsNCi0JCS8vIDgtYml0IGFkZHJlc3MgYW5kIDgtYml0IGRhdGENCi0JCW1fc3BpLT5TZXRCaXRzUGVyV29yZCgxNik7DQotCQltX3NwaS0+QXBwbHlDb25maWcoKTsNCi0JCW1fc3BpLT5DbGVhclJlY2VpdmVkRGF0YSgpOw0KLQ0KLQkJLy8gVHVybiBvbiB0aGUgbWVhc3VyZW1lbnRzDQotCQltX3NwaS0+V3JpdGUoKGtQb3dlckN0bFJlZ2lzdGVyIDw8IDgpIHwga1Bvd2VyQ3RsX01lYXN1cmUpOw0KLQkJbV9zcGktPlJlYWQoKTsNCi0JCS8vIFNwZWNpZnkgdGhlIGRhdGEgZm9ybWF0IHRvIHJlYWQNCi0JCW1fc3BpLT5Xcml0ZSgoa0RhdGFGb3JtYXRSZWdpc3RlciA8PCA4KSB8IGtEYXRhRm9ybWF0X0Z1bGxSZXMgfCAoVUlOVDgpKHJhbmdlICYgMHgwMykpOw0KLQkJbV9zcGktPlJlYWQoKTsNCi0NCi0JCS8vIDgtYml0IGFkZHJlc3MgYW5kIDE2LWJpdCBkYXRhDQotCQltX3NwaS0+U2V0Qml0c1BlcldvcmQoMjQpOw0KLQkJbV9zcGktPkFwcGx5Q29uZmlnKCk7DQotDQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfQURYTDM0NSwgblVzYWdlUmVwb3J0aW5nOjprQURYTDM0NV9TUEkpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3IuDQotICovDQotQURYTDM0NV9TUEk6On5BRFhMMzQ1X1NQSSgpDQotew0KLQlkZWxldGUgbV9zcGk7DQotCW1fc3BpID0gTlVMTDsNCi0JZGVsZXRlIG1fY3M7DQotCW1fY3MgPSBOVUxMOw0KLQlkZWxldGUgbV9taXNvOw0KLQltX21pc28gPSBOVUxMOw0KLQlkZWxldGUgbV9tb3NpOw0KLQltX21vc2kgPSBOVUxMOw0KLQlkZWxldGUgbV9jbGs7DQotCW1fY2xrID0gTlVMTDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBhY2NlbGVyYXRpb24gb2Ygb25lIGF4aXMgaW4gR3MuDQotICogDQotICogQHBhcmFtIGF4aXMgVGhlIGF4aXMgdG8gcmVhZCBmcm9tLg0KLSAqIEByZXR1cm4gQWNjZWxlcmF0aW9uIG9mIHRoZSBBRFhMMzQ1IGluIEdzLg0KLSAqLw0KLWRvdWJsZSBBRFhMMzQ1X1NQSTo6R2V0QWNjZWxlcmF0aW9uKEFEWEwzNDVfU1BJOjpBeGVzIGF4aXMpDQotew0KLQlJTlQxNiByYXdBY2NlbCA9IDA7DQotCWlmKG1fc3BpKQ0KLQl7DQotCQltX3NwaS0+V3JpdGUoKChrQWRkcmVzc19SZWFkIHwga0FkZHJlc3NfTXVsdGlCeXRlIHwga0RhdGFSZWdpc3RlcikgKyAoVUlOVDgpYXhpcykgPDwgMTYpOw0KLQkJcmF3QWNjZWwgPSAoVUlOVDE2KW1fc3BpLT5SZWFkKCk7DQotDQotCQkvLyBTZW5zb3IgaXMgbGl0dGxlIGVuZGlhbi4uLiBzd2FwIGJ5dGVzDQotCQlyYXdBY2NlbCA9ICgocmF3QWNjZWwgPj4gOCkgJiAweEZGKSB8IChyYXdBY2NlbCA8PCA4KTsNCi0JfQ0KLQlyZXR1cm4gcmF3QWNjZWwgKiBrR3NQZXJMU0I7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgYWNjZWxlcmF0aW9uIG9mIGFsbCBheGVzIGluIEdzLg0KLSAqIA0KLSAqIEByZXR1cm4gQWNjZWxlcmF0aW9uIG1lYXN1cmVkIG9uIGFsbCBheGVzIG9mIHRoZSBBRFhMMzQ1IGluIEdzLg0KLSAqLw0KLUFEWEwzNDVfU1BJOjpBbGxBeGVzIEFEWEwzNDVfU1BJOjpHZXRBY2NlbGVyYXRpb25zKCkNCi17DQotCUFsbEF4ZXMgZGF0YSA9IHswLjB9Ow0KLQlJTlQxNiByYXdEYXRhWzNdOw0KLQlpZiAobV9zcGkpDQotCXsNCi0JCVNQSTo6dEZyYW1lTW9kZSBtb2RlOw0KLQkJYm9vbCBhY3RpdmVMb3c7DQotDQotCQkvLyBCYWNrdXAgb3JpZ2luYWwgc2V0dGluZ3MuDQotCQlEaWdpdGFsT3V0cHV0ICpjcyA9IG1fc3BpLT5HZXRTbGF2ZVNlbGVjdCgmbW9kZSwgJmFjdGl2ZUxvdyk7DQotCQlVSU5UMzIgYml0c1BlcldvcmQgPSBtX3NwaS0+R2V0Qml0c1BlcldvcmQoKTsNCi0NCi0JCS8vIEluaXRpYWxpemUgdGhlIGNoaXAgc2VsZWN0IHRvIGluYWN0aXZlLg0KLQkJY3MtPlNldChhY3RpdmVMb3cpOw0KLQ0KLQkJLy8gQ29udHJvbCB0aGUgY2hpcCBzZWxlY3QgbWFudWFsbHkuDQotCQltX3NwaS0+U2V0U2xhdmVTZWxlY3QoTlVMTCk7DQotCQkvLyA4LWJpdCBhZGRyZXNzDQotCQltX3NwaS0+U2V0Qml0c1BlcldvcmQoOCk7DQotCQltX3NwaS0+QXBwbHlDb25maWcoKTsNCi0NCi0JCS8vIEFzc2VydCBjaGlwIHNlbGVjdC4NCi0JCWNzLT5TZXQoIWFjdGl2ZUxvdyk7DQotDQotCQkvLyBTZWxlY3QgdGhlIGRhdGEgYWRkcmVzcy4NCi0JCW1fc3BpLT5Xcml0ZShrQWRkcmVzc19SZWFkIHwga0FkZHJlc3NfTXVsdGlCeXRlIHwga0RhdGFSZWdpc3Rlcik7DQotCQltX3NwaS0+UmVhZCgpOw0KLQ0KLQkJLy8gMTYtYml0cyBmb3IgZWFjaCBheGlzDQotCQltX3NwaS0+U2V0Qml0c1BlcldvcmQoMTYpOw0KLQkJbV9zcGktPkFwcGx5Q29uZmlnKCk7DQotDQotCQlmb3IgKElOVDMyIGk9MDsgaTwzOyBpKyspDQotCQl7DQotCQkJLy8gU1BJIEludGVyZmFjZSBjYW4ndCByZWFkIGVub3VnaCBkYXRhIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uIHRvIHJlYWQgYWxsIGF4ZXMgYXQgb25jZS4NCi0JCQlyYXdEYXRhW2ldID0gKFVJTlQxNiltX3NwaS0+UmVhZCh0cnVlKTsNCi0JCQkvLyBTZW5zb3IgaXMgbGl0dGxlIGVuZGlhbi4uLiBzd2FwIGJ5dGVzDQotCQkJcmF3RGF0YVtpXSA9ICgocmF3RGF0YVtpXSA+PiA4KSAmIDB4RkYpIHwgKHJhd0RhdGFbaV0gPDwgOCk7DQotCQl9DQotDQotCQkvLyBEZWFzc2VydCBjaGlwIHNlbGVjdC4NCi0JCWNzLT5TZXQoYWN0aXZlTG93KTsNCi0NCi0JCS8vIFJlc3RvcmUgb3JpZ2luYWwgc2V0dGluZ3MuDQotCQltX3NwaS0+U2V0U2xhdmVTZWxlY3QoY3MsIG1vZGUsIGFjdGl2ZUxvdyk7DQotCQltX3NwaS0+U2V0Qml0c1BlcldvcmQoYml0c1BlcldvcmQpOw0KLQkJbV9zcGktPkFwcGx5Q29uZmlnKCk7DQotDQotCQlkYXRhLlhBeGlzID0gcmF3RGF0YVswXSAqIGtHc1BlckxTQjsNCi0JCWRhdGEuWUF4aXMgPSByYXdEYXRhWzFdICoga0dzUGVyTFNCOw0KLQkJZGF0YS5aQXhpcyA9IHJhd0RhdGFbMl0gKiBrR3NQZXJMU0I7DQotCX0NCi0JcmV0dXJuIGRhdGE7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FEWEwzNDVfU1BJLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BRFhMMzQ1X1NQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ODhlMjhmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FEWEwzNDVfU1BJLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19BRFhMMzQ1X1NQSV9oX18NCi0jZGVmaW5lIF9fQURYTDM0NV9TUElfaF9fDQotDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0NCi1jbGFzcyBEaWdpdGFsSW5wdXQ7DQotY2xhc3MgRGlnaXRhbE91dHB1dDsNCi1jbGFzcyBTUEk7DQotDQotLyoqDQotICogQURYTDM0NSBBY2NlbGVyb21ldGVyIG9uIFNQSS4NCi0gKiANCi0gKiBUaGlzIGNsYXNzIGFsb3dzIGFjY2VzcyB0byBhbiBBbmFsb2cgRGV2aWNlcyBBRFhMMzQ1IDMtYXhpcyBhY2NlbGVyb21ldGVyIHZpYSBTUEkuDQotICogVGhpcyBjbGFzcyBhc3N1bWVzIHRoZSBzZW5zb3IgaXMgd2lyZWQgaW4gNC13aXJlIFNQSSBtb2RlLg0KLSAqLw0KLWNsYXNzIEFEWEwzNDVfU1BJIDogcHVibGljIFNlbnNvckJhc2UNCi17DQotcHJvdGVjdGVkOg0KLQlzdGF0aWMgY29uc3QgVUlOVDgga1Bvd2VyQ3RsUmVnaXN0ZXIgPSAweDJEOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0RhdGFGb3JtYXRSZWdpc3RlciA9IDB4MzE7DQotCXN0YXRpYyBjb25zdCBVSU5UOCBrRGF0YVJlZ2lzdGVyID0gMHgzMjsNCi0Jc3RhdGljIGNvbnN0IGRvdWJsZSBrR3NQZXJMU0IgPSAwLjAwMzkwNjI1Ow0KLQllbnVtIFNQSUFkZHJlc3NGaWVsZHMge2tBZGRyZXNzX1JlYWQ9MHg4MCwga0FkZHJlc3NfTXVsdGlCeXRlPTB4NDB9Ow0KLQllbnVtIFBvd2VyQ3RsRmllbGRzIHtrUG93ZXJDdGxfTGluaz0weDIwLCBrUG93ZXJDdGxfQXV0b1NsZWVwPTB4MTAsIGtQb3dlckN0bF9NZWFzdXJlPTB4MDgsIGtQb3dlckN0bF9TbGVlcD0weDA0fTsNCi0JZW51bSBEYXRhRm9ybWF0RmllbGRzIHtrRGF0YUZvcm1hdF9TZWxmVGVzdD0weDgwLCBrRGF0YUZvcm1hdF9TUEk9MHg0MCwga0RhdGFGb3JtYXRfSW50SW52ZXJ0PTB4MjAsDQotCQlrRGF0YUZvcm1hdF9GdWxsUmVzPTB4MDgsIGtEYXRhRm9ybWF0X0p1c3RpZnk9MHgwNH07DQotDQotcHVibGljOg0KLQllbnVtIERhdGFGb3JtYXRfUmFuZ2Uge2tSYW5nZV8yRz0weDAwLCBrUmFuZ2VfNEc9MHgwMSwga1JhbmdlXzhHPTB4MDIsIGtSYW5nZV8xNkc9MHgwM307DQotCWVudW0gQXhlcyB7a0F4aXNfWD0weDAwLCBrQXhpc19ZPTB4MDIsIGtBeGlzX1o9MHgwNH07DQotCXN0cnVjdCBBbGxBeGVzDQotCXsNCi0JCWRvdWJsZSBYQXhpczsNCi0JCWRvdWJsZSBZQXhpczsNCi0JCWRvdWJsZSBaQXhpczsNCi0JfTsNCi0NCi1wdWJsaWM6DQotCUFEWEwzNDVfU1BJKERpZ2l0YWxPdXRwdXQgJmNsaywgRGlnaXRhbE91dHB1dCAmbW9zaSwgRGlnaXRhbElucHV0ICZtaXNvLA0KLQkJRGlnaXRhbE91dHB1dCAmY3MsIERhdGFGb3JtYXRfUmFuZ2UgcmFuZ2U9a1JhbmdlXzJHKTsNCi0JQURYTDM0NV9TUEkoRGlnaXRhbE91dHB1dCAqY2xrLCBEaWdpdGFsT3V0cHV0ICptb3NpLCBEaWdpdGFsSW5wdXQgKm1pc28sDQotCQlEaWdpdGFsT3V0cHV0ICpjcywgRGF0YUZvcm1hdF9SYW5nZSByYW5nZT1rUmFuZ2VfMkcpOw0KLQlBRFhMMzQ1X1NQSShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjbGssIFVJTlQzMiBtb3NpLCBVSU5UMzIgbWlzbywgVUlOVDMyIGNzLA0KLQkJRGF0YUZvcm1hdF9SYW5nZSByYW5nZT1rUmFuZ2VfMkcpOw0KLQl2aXJ0dWFsIH5BRFhMMzQ1X1NQSSgpOw0KLQl2aXJ0dWFsIGRvdWJsZSBHZXRBY2NlbGVyYXRpb24oQXhlcyBheGlzKTsNCi0JdmlydHVhbCBBbGxBeGVzIEdldEFjY2VsZXJhdGlvbnMoKTsNCi0NCi1wcm90ZWN0ZWQ6DQotCXZvaWQgSW5pdChEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2ksIERpZ2l0YWxJbnB1dCAqbWlzbywNCi0JCURpZ2l0YWxPdXRwdXQgKmNzLCBEYXRhRm9ybWF0X1JhbmdlIHJhbmdlKTsNCi0NCi0JRGlnaXRhbE91dHB1dCAqbV9jbGs7DQotCURpZ2l0YWxPdXRwdXQgKm1fbW9zaTsNCi0JRGlnaXRhbElucHV0ICptX21pc287DQotCURpZ2l0YWxPdXRwdXQgKm1fY3M7DQotCVNQSSogbV9zcGk7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BY2NlbGVyb21ldGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FjY2VsZXJvbWV0ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGRmNDc4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FjY2VsZXJvbWV0ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTU2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkFjY2VsZXJvbWV0ZXIuaCINCi0jaW5jbHVkZSAiQW5hbG9nTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0NCi0vKioNCi0gKiBDb21tb24gZnVuY3Rpb24gZm9yIGluaXRpYWxpemluZyB0aGUgYWNjZWxlcm9tZXRlci4NCi0gKi8NCi12b2lkIEFjY2VsZXJvbWV0ZXI6OkluaXRBY2NlbGVyb21ldGVyKCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQltX3ZvbHRzUGVyRyA9IDEuMDsNCi0JbV96ZXJvR1ZvbHRhZ2UgPSAyLjU7DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9BY2NlbGVyb21ldGVyLCBtX2FuYWxvZ0NoYW5uZWwtPkdldENoYW5uZWwoKSwgbV9hbmFsb2dDaGFubmVsLT5HZXRNb2R1bGVOdW1iZXIoKSAtIDEpOw0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRTZW5zb3IoIkFjY2VsZXJvbWV0ZXIiLCBtX2FuYWxvZ0NoYW5uZWwtPkdldE1vZHVsZU51bWJlcigpLCBtX2FuYWxvZ0NoYW5uZWwtPkdldENoYW5uZWwoKSwgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhbiBhY2NlbGVyb21ldGVyLg0KLSAqIA0KLSAqIFRoZSBhY2NlbGVyb21ldGVyIGlzIGFzc3VtZWQgdG8gYmUgaW4gdGhlIGZpcnN0IGFuYWxvZyBtb2R1bGUgaW4gdGhlIGdpdmVuIGFuYWxvZyBjaGFubmVsLiBUaGUNCi0gKiBjb25zdHJ1Y3RvciBhbGxvY2F0ZXMgZGVzaXJlZCBhbmFsb2cgY2hhbm5lbC4NCi0gKi8NCi1BY2NlbGVyb21ldGVyOjpBY2NlbGVyb21ldGVyKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JbV9hbmFsb2dDaGFubmVsID0gbmV3IEFuYWxvZ0NoYW5uZWwoY2hhbm5lbCk7DQotCW1fYWxsb2NhdGVkQ2hhbm5lbCA9IHRydWU7DQotCUluaXRBY2NlbGVyb21ldGVyKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgYWNjZWxlcm9tZXRlci4NCi0gKiANCi0gKiBNYWtlIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBhY2NlbGVyb21ldGVyIGdpdmVuIGEgbW9kdWxlIGFuZCBjaGFubmVsLiBUaGUgY29uc3RydWN0b3IgYWxsb2NhdGVzDQotICogdGhlIGRlc2lyZWQgYW5hbG9nIGNoYW5uZWwgZnJvbSB0aGUgc3BlY2lmaWVkIG1vZHVsZQ0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgYW5hbG9nIG1vZHVsZSAoMSBvciAyKS4NCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgYW5hbG9nIGNoYW5uZWwgKDEuLjgpDQotICovDQotQWNjZWxlcm9tZXRlcjo6QWNjZWxlcm9tZXRlcihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JbV9hbmFsb2dDaGFubmVsID0gbmV3IEFuYWxvZ0NoYW5uZWwobW9kdWxlTnVtYmVyLCBjaGFubmVsKTsNCi0JbV9hbGxvY2F0ZWRDaGFubmVsID0gdHJ1ZTsNCi0JSW5pdEFjY2VsZXJvbWV0ZXIoKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIEFjY2VsZXJvbWV0ZXIgZnJvbSBhbiBleGlzdGluZyBBbmFsb2dDaGFubmVsLg0KLSAqIE1ha2UgYSBuZXcgaW5zdGFuY2Ugb2YgYWNjZWxlcm9tZXRlciBnaXZlbiBhbiBBbmFsb2dDaGFubmVsLiBUaGlzIGlzIHBhcnRpY3VsYXJseQ0KLSAqIHVzZWZ1bCBpZiB0aGUgcG9ydCBpcyBnb2luZyB0byBiZSByZWFkIGFzIGFuIGFuYWxvZyBjaGFubmVsIGFzIHdlbGwgYXMgdGhyb3VnaA0KLSAqIHRoZSBBY2NlbGVyb21ldGVyIGNsYXNzLg0KLSAqLw0KLUFjY2VsZXJvbWV0ZXI6OkFjY2VsZXJvbWV0ZXIoQW5hbG9nQ2hhbm5lbCAqY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCW1fYW5hbG9nQ2hhbm5lbCA9IGNoYW5uZWw7DQotCQlJbml0QWNjZWxlcm9tZXRlcigpOw0KLQl9DQotCW1fYWxsb2NhdGVkQ2hhbm5lbCA9IGZhbHNlOw0KLX0NCi0JDQotLyoqDQotICogRGVsZXRlIHRoZSBhbmFsb2cgY29tcG9uZW50cyB1c2VkIGZvciB0aGUgYWNjZWxlcm9tZXRlci4NCi0gKi8NCi1BY2NlbGVyb21ldGVyOjp+QWNjZWxlcm9tZXRlcigpDQotew0KLQlpZiAobV9hbGxvY2F0ZWRDaGFubmVsKQ0KLQl7DQotCQlkZWxldGUgbV9hbmFsb2dDaGFubmVsOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgYWNjZWxlcmF0aW9uIGluIEdzLg0KLSAqIA0KLSAqIFRoZSBhY2NlbGVyYXRpb24gaXMgcmV0dXJuZWQgdW5pdHMgb2YgR3MuDQotICogDQotICogQHJldHVybiBUaGUgY3VycmVudCBhY2NlbGVyYXRpb24gb2YgdGhlIHNlbnNvciBpbiBHcy4NCi0gKi8NCi1mbG9hdCBBY2NlbGVyb21ldGVyOjpHZXRBY2NlbGVyYXRpb24oKQ0KLXsNCi0JcmV0dXJuIChtX2FuYWxvZ0NoYW5uZWwtPkdldEF2ZXJhZ2VWb2x0YWdlKCkgLSBtX3plcm9HVm9sdGFnZSkgLyBtX3ZvbHRzUGVyRzsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBhY2NlbGVyb21ldGVyIHNlbnNpdGl2aXR5Lg0KLSAqIA0KLSAqIFRoaXMgc2V0cyB0aGUgc2Vuc2l0aXZpdHkgb2YgdGhlIGFjY2VsZXJvbWV0ZXIgdXNlZCBmb3IgY2FsY3VsYXRpbmcgdGhlIGFjY2VsZXJhdGlvbi4NCi0gKiBUaGUgc2Vuc2l0aXZpdHkgdmFyeXMgYnkgYWNjZWxlcm9tZXRlciBtb2RlbC4gVGhlcmUgYXJlIGNvbnN0YW50cyBkZWZpbmVkIGZvciB2YXJpb3VzIG1vZGVscy4NCi0gKiANCi0gKiBAcGFyYW0gc2Vuc2l0aXZpdHkgVGhlIHNlbnNpdGl2aXR5IG9mIGFjY2VsZXJvbWV0ZXIgaW4gVm9sdHMgcGVyIEcuDQotICovDQotdm9pZCBBY2NlbGVyb21ldGVyOjpTZXRTZW5zaXRpdml0eShmbG9hdCBzZW5zaXRpdml0eSkNCi17DQotCW1fdm9sdHNQZXJHID0gc2Vuc2l0aXZpdHk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdm9sdGFnZSB0aGF0IGNvcnJlc3BvbmRzIHRvIDAgRy4NCi0gKiANCi0gKiBUaGUgemVybyBHIHZvbHRhZ2UgdmFyeXMgYnkgYWNjZWxlcm9tZXRlciBtb2RlbC4gVGhlcmUgYXJlIGNvbnN0YW50cyBkZWZpbmVkIGZvciB2YXJpb3VzIG1vZGVscy4NCi0gKiANCi0gKiBAcGFyYW0gemVybyBUaGUgemVybyBHIHZvbHRhZ2UuDQotICovDQotdm9pZCBBY2NlbGVyb21ldGVyOjpTZXRaZXJvKGZsb2F0IHplcm8pDQotew0KLQltX3plcm9HVm9sdGFnZSA9IHplcm87DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgQWNjZWxlcmF0aW9uIGZvciB0aGUgUElEIFNvdXJjZSBwYXJlbnQuDQotICogDQotICogQHJldHVybiBUaGUgY3VycmVudCBhY2NlbGVyYXRpb24gaW4gR3MuDQotICovIA0KLWRvdWJsZSBBY2NlbGVyb21ldGVyOjpQSURHZXQoKQ0KLXsNCi0JcmV0dXJuIEdldEFjY2VsZXJhdGlvbigpOw0KLX0NCi0NCi12b2lkIEFjY2VsZXJvbWV0ZXI6OlVwZGF0ZVRhYmxlKCkgew0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5QdXROdW1iZXIoIlZhbHVlIiwgR2V0QWNjZWxlcmF0aW9uKCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgQWNjZWxlcm9tZXRlcjo6U3RhcnRMaXZlV2luZG93TW9kZSgpIHsNCi19DQotDQotdm9pZCBBY2NlbGVyb21ldGVyOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIEFjY2VsZXJvbWV0ZXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJBY2NlbGVyb21ldGVyIjsNCi19DQotDQotdm9pZCBBY2NlbGVyb21ldGVyOjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIEFjY2VsZXJvbWV0ZXI6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQWNjZWxlcm9tZXRlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQWNjZWxlcm9tZXRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2ZjZTFlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FjY2VsZXJvbWV0ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBBQ0NFTEVST01FVEVSX0hfDQotI2RlZmluZSBBQ0NFTEVST01FVEVSX0hfDQotDQotI2luY2x1ZGUgIkFuYWxvZ0NoYW5uZWwuaCINCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJQSURTb3VyY2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0NCi0vKiogDQotICogSGFuZGxlIG9wZXJhdGlvbiBvZiB0aGUgYWNjZWxlcm9tZXRlci4NCi0gKiBUaGUgYWNjZWxlcm9tZXRlciByZWFkcyBhY2NlbGVyYXRpb24gZGlyZWN0bHkgdGhyb3VnaCB0aGUgc2Vuc29yLiBNYW55IHNlbnNvcnMgaGF2ZQ0KLSAqIG11bHRpcGxlIGF4aXMgYW5kIGNhbiBiZSB0cmVhdGVkIGFzIG11bHRpcGxlIGRldmljZXMuIEVhY2ggaXMgY2FsaWJyYXRlZCBieSBmaW5kaW5nDQotICogdGhlIGNlbnRlciB2YWx1ZSBvdmVyIGEgcGVyaW9kIG9mIHRpbWUuDQotICovDQotY2xhc3MgQWNjZWxlcm9tZXRlciA6IHB1YmxpYyBTZW5zb3JCYXNlLCBwdWJsaWMgUElEU291cmNlLCBwdWJsaWMgTGl2ZVdpbmRvd1NlbmRhYmxlIHsNCi1wdWJsaWM6DQotCWV4cGxpY2l0IEFjY2VsZXJvbWV0ZXIoVUlOVDMyIGNoYW5uZWwpOw0KLQlBY2NlbGVyb21ldGVyKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQlleHBsaWNpdCBBY2NlbGVyb21ldGVyKEFuYWxvZ0NoYW5uZWwgKmNoYW5uZWwpOw0KLQl2aXJ0dWFsIH5BY2NlbGVyb21ldGVyKCk7DQotDQotCWZsb2F0IEdldEFjY2VsZXJhdGlvbigpOw0KLQl2b2lkIFNldFNlbnNpdGl2aXR5KGZsb2F0IHNlbnNpdGl2aXR5KTsNCi0Jdm9pZCBTZXRaZXJvKGZsb2F0IHplcm8pOw0KLQlkb3VibGUgUElER2V0KCk7DQotDQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRBY2NlbGVyb21ldGVyKCk7DQotDQotCUFuYWxvZ0NoYW5uZWwgKm1fYW5hbG9nQ2hhbm5lbDsNCi0JZmxvYXQgbV92b2x0c1Blckc7DQotCWZsb2F0IG1femVyb0dWb2x0YWdlOw0KLQlib29sIG1fYWxsb2NhdGVkQ2hhbm5lbDsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ0NoYW5uZWwuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nQ2hhbm5lbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZGZiMjAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nQ2hhbm5lbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NjUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQW5hbG9nQ2hhbm5lbC5oIg0KLSNpbmNsdWRlICJBbmFsb2dNb2R1bGUuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiUmVzb3VyY2UuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLQ0KLXN0YXRpYyBSZXNvdXJjZSAqY2hhbm5lbHMgPSBOVUxMOw0KLQ0KLWNvbnN0IFVJTlQ4IEFuYWxvZ0NoYW5uZWw6OmtBY2N1bXVsYXRvck1vZHVsZU51bWJlcjsNCi1jb25zdCBVSU5UMzIgQW5hbG9nQ2hhbm5lbDo6a0FjY3VtdWxhdG9yTnVtQ2hhbm5lbHM7DQotY29uc3QgVUlOVDMyIEFuYWxvZ0NoYW5uZWw6OmtBY2N1bXVsYXRvckNoYW5uZWxzW10gPSB7MSwgMn07DQotDQotLyoqDQotICogQ29tbW9uIGluaXRpYWxpemF0aW9uLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6SW5pdENoYW5uZWwoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQljaGFyIGJ1Zls2NF07DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmY2hhbm5lbHMsIGtBbmFsb2dNb2R1bGVzICoga0FuYWxvZ0NoYW5uZWxzKTsNCi0JaWYgKCFDaGVja0FuYWxvZ01vZHVsZShtb2R1bGVOdW1iZXIpKQ0KLQl7DQotCQlzbnByaW50ZihidWYsIDY0LCAiQW5hbG9nIE1vZHVsZSAlZCIsIG1vZHVsZU51bWJlcik7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChNb2R1bGVJbmRleE91dE9mUmFuZ2UsIGJ1Zik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKCFDaGVja0FuYWxvZ0NoYW5uZWwoY2hhbm5lbCkpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJBbmFsb2cgQ2hhbm5lbCAlZCIsIGNoYW5uZWwpOw0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoQ2hhbm5lbEluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQlzbnByaW50ZihidWYsIDY0LCAiQW5hbG9nIElucHV0ICVkIChNb2R1bGU6ICVkKSIsIGNoYW5uZWwsIG1vZHVsZU51bWJlcik7DQotCWlmIChjaGFubmVscy0+QWxsb2NhdGUoKG1vZHVsZU51bWJlciAtIDEpICoga0FuYWxvZ0NoYW5uZWxzICsgY2hhbm5lbCAtIDEsIGJ1ZikgPT0gfjB1bCkNCi0Jew0KLQkJQ2xvbmVFcnJvcihjaGFubmVscyk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9jaGFubmVsID0gY2hhbm5lbDsNCi0JbV9tb2R1bGUgPSBBbmFsb2dNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotCWlmIChJc0FjY3VtdWxhdG9yQ2hhbm5lbCgpKQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCW1fYWNjdW11bGF0b3IgPSB0QWNjdW11bGF0b3I6OmNyZWF0ZShjaGFubmVsIC0gMSwgJmxvY2FsU3RhdHVzKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCQltX2FjY3VtdWxhdG9yT2Zmc2V0PTA7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQltX2FjY3VtdWxhdG9yID0gTlVMTDsNCi0JfQ0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRBY3R1YXRvcigiQW5hbG9nQ2hhbm5lbCIsY2hhbm5lbCwgR2V0TW9kdWxlTnVtYmVyKCksIHRoaXMpOw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfQW5hbG9nQ2hhbm5lbCwgY2hhbm5lbCwgR2V0TW9kdWxlTnVtYmVyKCkgLSAxKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0IGFuIGFuYWxvZyBjaGFubmVsIG9uIGEgc3BlY2lmaWVkIG1vZHVsZS4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBhbmFsb2cgbW9kdWxlICgxIG9yIDIpLg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIG51bWJlciB0byByZXByZXNlbnQuDQotICovDQotQW5hbG9nQ2hhbm5lbDo6QW5hbG9nQ2hhbm5lbChVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSW5pdENoYW5uZWwobW9kdWxlTnVtYmVyLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0IGFuIGFuYWxvZyBjaGFubmVsIG9uIHRoZSBkZWZhdWx0IG1vZHVsZS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgY2hhbm5lbCBudW1iZXIgdG8gcmVwcmVzZW50Lg0KLSAqLw0KLUFuYWxvZ0NoYW5uZWw6OkFuYWxvZ0NoYW5uZWwoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlJbml0Q2hhbm5lbChHZXREZWZhdWx0QW5hbG9nTW9kdWxlKCksIGNoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBDaGFubmVsIGRlc3RydWN0b3IuDQotICovDQotQW5hbG9nQ2hhbm5lbDo6fkFuYWxvZ0NoYW5uZWwoKQ0KLXsNCi0JY2hhbm5lbHMtPkZyZWUoKG1fbW9kdWxlLT5HZXROdW1iZXIoKSAtIDEpICoga0FuYWxvZ0NoYW5uZWxzICsgbV9jaGFubmVsIC0gMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgYW5hbG9nIG1vZHVsZSB0aGF0IHRoaXMgY2hhbm5lbCBpcyBvbi4NCi0gKiBAcmV0dXJuIEEgcG9pbnRlciB0byB0aGUgQW5hbG9nTW9kdWxlIHRoYXQgdGhpcyBjaGFubmVsIGlzIG9uLg0KLSAqLw0KLUFuYWxvZ01vZHVsZSAqQW5hbG9nQ2hhbm5lbDo6R2V0TW9kdWxlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiBOVUxMOw0KLQlyZXR1cm4gbV9tb2R1bGU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHNhbXBsZSBzdHJhaWdodCBmcm9tIHRoaXMgY2hhbm5lbCBvbiB0aGUgbW9kdWxlLg0KLSAqIFRoZSBzYW1wbGUgaXMgYSAxMi1iaXQgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSAtMTBWIHRvIDEwViByYW5nZSBvZiB0aGUgQS9EIGNvbnZlcnRlciBpbiB0aGUgbW9kdWxlLg0KLSAqIFRoZSB1bml0cyBhcmUgaW4gQS9EIGNvbnZlcnRlciBjb2Rlcy4gIFVzZSBHZXRWb2x0YWdlKCkgdG8gZ2V0IHRoZSBhbmFsb2cgdmFsdWUgaW4gY2FsaWJyYXRlZCB1bml0cy4NCi0gKiBAcmV0dXJuIEEgc2FtcGxlIHN0cmFpZ2h0IGZyb20gdGhpcyBjaGFubmVsIG9uIHRoZSBtb2R1bGUuDQotICovDQotSU5UMTYgQW5hbG9nQ2hhbm5lbDo6R2V0VmFsdWUoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXJldHVybiBtX21vZHVsZS0+R2V0VmFsdWUobV9jaGFubmVsKTsNCi19DQotDQotLyoqDQotICogR2V0IGEgc2FtcGxlIGZyb20gdGhlIG91dHB1dCBvZiB0aGUgb3ZlcnNhbXBsZSBhbmQgYXZlcmFnZSBlbmdpbmUgZm9yIHRoaXMgY2hhbm5lbC4NCi0gKiBUaGUgc2FtcGxlIGlzIDEyLWJpdCArIHRoZSB2YWx1ZSBjb25maWd1cmVkIGluIFNldE92ZXJzYW1wbGVCaXRzKCkuDQotICogVGhlIHZhbHVlIGNvbmZpZ3VyZWQgaW4gU2V0QXZlcmFnZUJpdHMoKSB3aWxsIGNhdXNlIHRoaXMgdmFsdWUgdG8gYmUgYXZlcmFnZWQgMioqYml0cyBudW1iZXIgb2Ygc2FtcGxlcy4NCi0gKiBUaGlzIGlzIG5vdCBhIHNsaWRpbmcgd2luZG93LiAgVGhlIHNhbXBsZSB3aWxsIG5vdCBjaGFuZ2UgdW50aWwgMioqKE92ZXJzYW1wbEJpdHMgKyBBdmVyYWdlQml0cykgc2FtcGxlcw0KLSAqIGhhdmUgYmVlbiBhY3F1aXJlZCBmcm9tIHRoZSBtb2R1bGUgb24gdGhpcyBjaGFubmVsLg0KLSAqIFVzZSBHZXRBdmVyYWdlVm9sdGFnZSgpIHRvIGdldCB0aGUgYW5hbG9nIHZhbHVlIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICogQHJldHVybiBBIHNhbXBsZSBmcm9tIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZSBmb3IgdGhpcyBjaGFubmVsLg0KLSAqLw0KLUlOVDMyIEFuYWxvZ0NoYW5uZWw6OkdldEF2ZXJhZ2VWYWx1ZSgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMDsNCi0JcmV0dXJuIG1fbW9kdWxlLT5HZXRBdmVyYWdlVmFsdWUobV9jaGFubmVsKTsNCi19DQotDQotLyoqDQotICogR2V0IGEgc2NhbGVkIHNhbXBsZSBzdHJhaWdodCBmcm9tIHRoaXMgY2hhbm5lbCBvbiB0aGUgbW9kdWxlLg0KLSAqIFRoZSB2YWx1ZSBpcyBzY2FsZWQgdG8gdW5pdHMgb2YgVm9sdHMgdXNpbmcgdGhlIGNhbGlicmF0ZWQgc2NhbGluZyBkYXRhIGZyb20gR2V0TFNCV2VpZ2h0KCkgYW5kIEdldE9mZnNldCgpLg0KLSAqIEByZXR1cm4gQSBzY2FsZWQgc2FtcGxlIHN0cmFpZ2h0IGZyb20gdGhpcyBjaGFubmVsIG9uIHRoZSBtb2R1bGUuDQotICovDQotZmxvYXQgQW5hbG9nQ2hhbm5lbDo6R2V0Vm9sdGFnZSgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMC4wZjsNCi0JcmV0dXJuIG1fbW9kdWxlLT5HZXRWb2x0YWdlKG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHNjYWxlZCBzYW1wbGUgZnJvbSB0aGUgb3V0cHV0IG9mIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZSBmb3IgdGhpcyBjaGFubmVsLg0KLSAqIFRoZSB2YWx1ZSBpcyBzY2FsZWQgdG8gdW5pdHMgb2YgVm9sdHMgdXNpbmcgdGhlIGNhbGlicmF0ZWQgc2NhbGluZyBkYXRhIGZyb20gR2V0TFNCV2VpZ2h0KCkgYW5kIEdldE9mZnNldCgpLg0KLSAqIFVzaW5nIG92ZXJzYW1wbGluZyB3aWxsIGNhdXNlIHRoaXMgdmFsdWUgdG8gYmUgaGlnaGVyIHJlc29sdXRpb24sIGJ1dCBpdCB3aWxsIHVwZGF0ZSBtb3JlIHNsb3dseS4NCi0gKiBVc2luZyBhdmVyYWdpbmcgd2lsbCBjYXVzZSB0aGlzIHZhbHVlIHRvIGJlIG1vcmUgc3RhYmxlLCBidXQgaXQgd2lsbCB1cGRhdGUgbW9yZSBzbG93bHkuDQotICogQHJldHVybiBBIHNjYWxlZCBzYW1wbGUgZnJvbSB0aGUgb3V0cHV0IG9mIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZSBmb3IgdGhpcyBjaGFubmVsLg0KLSAqLw0KLWZsb2F0IEFuYWxvZ0NoYW5uZWw6OkdldEF2ZXJhZ2VWb2x0YWdlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwLjBmOw0KLQlyZXR1cm4gbV9tb2R1bGUtPkdldEF2ZXJhZ2VWb2x0YWdlKG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgZmFjdG9yeSBzY2FsaW5nIGxlYXN0IHNpZ25pZmljYW50IGJpdCB3ZWlnaHQgY29uc3RhbnQuDQotICogVGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdCB3ZWlnaHQgY29uc3RhbnQgZm9yIHRoZSBjaGFubmVsIHRoYXQgd2FzIGNhbGlicmF0ZWQgaW4NCi0gKiBtYW51ZmFjdHVyaW5nIGFuZCBzdG9yZWQgaW4gYW4gZWVwcm9tIGluIHRoZSBtb2R1bGUuDQotICogDQotICogVm9sdHMgPSAoKExTQl9XZWlnaHQgKiAxZS05KSAqIHJhdykgLSAoT2Zmc2V0ICogMWUtOSkNCi0gKiANCi0gKiBAcmV0dXJuIExlYXN0IHNpZ25pZmljYW50IGJpdCB3ZWlnaHQuDQotICovDQotVUlOVDMyIEFuYWxvZ0NoYW5uZWw6OkdldExTQldlaWdodCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMDsNCi0JcmV0dXJuIG1fbW9kdWxlLT5HZXRMU0JXZWlnaHQobV9jaGFubmVsKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBmYWN0b3J5IHNjYWxpbmcgb2Zmc2V0IGNvbnN0YW50Lg0KLSAqIFRoZSBvZmZzZXQgY29uc3RhbnQgZm9yIHRoZSBjaGFubmVsIHRoYXQgd2FzIGNhbGlicmF0ZWQgaW4gbWFudWZhY3R1cmluZyBhbmQgc3RvcmVkDQotICogaW4gYW4gZWVwcm9tIGluIHRoZSBtb2R1bGUuDQotICogDQotICogVm9sdHMgPSAoKExTQl9XZWlnaHQgKiAxZS05KSAqIHJhdykgLSAoT2Zmc2V0ICogMWUtOSkNCi0gKiANCi0gKiBAcmV0dXJuIE9mZnNldCBjb25zdGFudC4NCi0gKi8NCi1JTlQzMiBBbmFsb2dDaGFubmVsOjpHZXRPZmZzZXQoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXJldHVybiBtX21vZHVsZS0+R2V0T2Zmc2V0KG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY2hhbm5lbCBudW1iZXIuDQotICogQHJldHVybiBUaGUgY2hhbm5lbCBudW1iZXIuDQotICovDQotVUlOVDMyIEFuYWxvZ0NoYW5uZWw6OkdldENoYW5uZWwoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXJldHVybiBtX2NoYW5uZWw7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgbW9kdWxlIG51bWJlci4NCi0gKiBAcmV0dXJuIFRoZSBtb2R1bGUgbnVtYmVyLg0KLSAqLw0KLVVJTlQ4IEFuYWxvZ0NoYW5uZWw6OkdldE1vZHVsZU51bWJlcigpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMDsNCi0JcmV0dXJuIG1fbW9kdWxlLT5HZXROdW1iZXIoKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMuDQotICogVGhpcyBzZXRzIHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMuIFRoZSBhY3R1YWwgbnVtYmVyIG9mIGF2ZXJhZ2VkIHNhbXBsZXMgaXMgMioqYml0cy4NCi0gKiBVc2UgYXZlcmFnaW5nIHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBvZiB5b3VyIG1lYXN1cmVtZW50IGF0IHRoZSBleHBlbnNlIG9mIHNhbXBsaW5nIHJhdGUuDQotICogVGhlIGF2ZXJhZ2luZyBpcyBkb25lIGF1dG9tYXRpY2FsbHkgaW4gdGhlIEZQR0EuDQotICogDQotICogQHBhcmFtIGJpdHMgTnVtYmVyIG9mIGJpdHMgb2YgYXZlcmFnaW5nLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6U2V0QXZlcmFnZUJpdHMoVUlOVDMyIGJpdHMpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCW1fbW9kdWxlLT5TZXRBdmVyYWdlQml0cyhtX2NoYW5uZWwsIGJpdHMpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIG51bWJlciBvZiBhdmVyYWdpbmcgYml0cyBwcmV2aW91c2x5IGNvbmZpZ3VyZWQuDQotICogVGhpcyBnZXRzIHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMgZnJvbSB0aGUgRlBHQS4gVGhlIGFjdHVhbCBudW1iZXIgb2YgYXZlcmFnZWQgc2FtcGxlcyBpcyAyKipiaXRzLg0KLSAqIFRoZSBhdmVyYWdpbmcgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGluIHRoZSBGUEdBLg0KLSAqIA0KLSAqIEByZXR1cm4gTnVtYmVyIG9mIGJpdHMgb2YgYXZlcmFnaW5nIHByZXZpb3VzbHkgY29uZmlndXJlZC4NCi0gKi8NCi1VSU5UMzIgQW5hbG9nQ2hhbm5lbDo6R2V0QXZlcmFnZUJpdHMoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXJldHVybiBtX21vZHVsZS0+R2V0QXZlcmFnZUJpdHMobV9jaGFubmVsKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBudW1iZXIgb2Ygb3ZlcnNhbXBsZSBiaXRzLg0KLSAqIFRoaXMgc2V0cyB0aGUgbnVtYmVyIG9mIG92ZXJzYW1wbGUgYml0cy4gVGhlIGFjdHVhbCBudW1iZXIgb2Ygb3ZlcnNhbXBsZWQgdmFsdWVzIGlzIDIqKmJpdHMuDQotICogVXNlIG92ZXJzYW1wbGluZyB0byBpbXByb3ZlIHRoZSByZXNvbHV0aW9uIG9mIHlvdXIgbWVhc3VyZW1lbnRzIGF0IHRoZSBleHBlbnNlIG9mIHNhbXBsaW5nIHJhdGUuDQotICogVGhlIG92ZXJzYW1wbGluZyBpcyBkb25lIGF1dG9tYXRpY2FsbHkgaW4gdGhlIEZQR0EuDQotICogDQotICogQHBhcmFtIGJpdHMgTnVtYmVyIG9mIGJpdHMgb2Ygb3ZlcnNhbXBsaW5nLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6U2V0T3ZlcnNhbXBsZUJpdHMoVUlOVDMyIGJpdHMpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCW1fbW9kdWxlLT5TZXRPdmVyc2FtcGxlQml0cyhtX2NoYW5uZWwsIGJpdHMpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIG51bWJlciBvZiBvdmVyc2FtcGxlIGJpdHMgcHJldmlvdXNseSBjb25maWd1cmVkLg0KLSAqIFRoaXMgZ2V0cyB0aGUgbnVtYmVyIG9mIG92ZXJzYW1wbGUgYml0cyBmcm9tIHRoZSBGUEdBLiBUaGUgYWN0dWFsIG51bWJlciBvZiBvdmVyc2FtcGxlZCB2YWx1ZXMgaXMNCi0gKiAyKipiaXRzLiBUaGUgb3ZlcnNhbXBsaW5nIGlzIGRvbmUgYXV0b21hdGljYWxseSBpbiB0aGUgRlBHQS4NCi0gKiANCi0gKiBAcmV0dXJuIE51bWJlciBvZiBiaXRzIG9mIG92ZXJzYW1wbGluZyBwcmV2aW91c2x5IGNvbmZpZ3VyZWQuDQotICovDQotVUlOVDMyIEFuYWxvZ0NoYW5uZWw6OkdldE92ZXJzYW1wbGVCaXRzKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwOw0KLQlyZXR1cm4gbV9tb2R1bGUtPkdldE92ZXJzYW1wbGVCaXRzKG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIElzIHRoZSBjaGFubmVsIGF0dGFjaGVkIHRvIGFuIGFjY3VtdWxhdG9yLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGFuYWxvZyBjaGFubmVsIGlzIGF0dGFjaGVkIHRvIGFuIGFjY3VtdWxhdG9yLg0KLSAqLw0KLWJvb2wgQW5hbG9nQ2hhbm5lbDo6SXNBY2N1bXVsYXRvckNoYW5uZWwoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIGZhbHNlOw0KLQlpZihtX21vZHVsZS0+R2V0TnVtYmVyKCkgIT0ga0FjY3VtdWxhdG9yTW9kdWxlTnVtYmVyKSByZXR1cm4gZmFsc2U7DQotCWZvciAoVUlOVDMyIGk9MDsgaTxrQWNjdW11bGF0b3JOdW1DaGFubmVsczsgaSsrKQ0KLQl7DQotCQlpZiAobV9jaGFubmVsID09IGtBY2N1bXVsYXRvckNoYW5uZWxzW2ldKSByZXR1cm4gdHJ1ZTsNCi0JfQ0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpemUgdGhlIGFjY3VtdWxhdG9yLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6SW5pdEFjY3VtdWxhdG9yKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9hY2N1bXVsYXRvck9mZnNldCA9IDA7DQotCVNldEFjY3VtdWxhdG9yQ2VudGVyKDApOw0KLQlSZXNldEFjY3VtdWxhdG9yKCk7DQotfQ0KLQ0KLQ0KLS8qKg0KLSAqIFNldCBhbiBpbml0YWwgdmFsdWUgZm9yIHRoZSBhY2N1bXVsYXRvci4NCi0gKiANCi0gKiBUaGlzIHdpbGwgYmUgYWRkZWQgdG8gYWxsIHZhbHVlcyByZXR1cm5lZCB0byB0aGUgdXNlci4NCi0gKiBAcGFyYW0gaW5pdGlhbFZhbHVlIFRoZSB2YWx1ZSB0aGF0IHRoZSBhY2N1bXVsYXRvciBzaG91bGQgc3RhcnQgZnJvbSB3aGVuIHJlc2V0Lg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6U2V0QWNjdW11bGF0b3JJbml0aWFsVmFsdWUoSU5UNjQgaW5pdGlhbFZhbHVlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQltX2FjY3VtdWxhdG9yT2Zmc2V0ID0gaW5pdGlhbFZhbHVlOw0KLX0NCi0NCi0vKioNCi0gKiBSZXNldHMgdGhlIGFjY3VtdWxhdG9yIHRvIHRoZSBpbml0aWFsIHZhbHVlLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6UmVzZXRBY2N1bXVsYXRvcigpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChtX2FjY3VtdWxhdG9yID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JCXJldHVybjsNCi0JfQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9hY2N1bXVsYXRvci0+c3Ryb2JlUmVzZXQoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBjZW50ZXIgdmFsdWUgb2YgdGhlIGFjY3VtdWxhdG9yLg0KLSAqIA0KLSAqIFRoZSBjZW50ZXIgdmFsdWUgaXMgc3VidHJhY3RlZCBmcm9tIGVhY2ggQS9EIHZhbHVlIGJlZm9yZSBpdCBpcyBhZGRlZCB0byB0aGUgYWNjdW11bGF0b3IuIFRoaXMNCi0gKiBpcyB1c2VkIGZvciB0aGUgY2VudGVyIHZhbHVlIG9mIGRldmljZXMgbGlrZSBneXJvcyBhbmQgYWNjZWxlcm9tZXRlcnMgdG8gbWFrZSBpbnRlZ3JhdGlvbiB3b3JrDQotICogYW5kIHRvIHRha2UgdGhlIGRldmljZSBvZmZzZXQgaW50byBhY2NvdW50IHdoZW4gaW50ZWdyYXRpbmcuDQotICogDQotICogVGhpcyBjZW50ZXIgdmFsdWUgaXMgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB0aGUgb3ZlcnNhbXBsZWQgYW5kIGF2ZXJhZ2VkIHNvdXJjZSBmcm9tIGNoYW5uZWwgMS4NCi0gKiBCZWNhdXNlIG9mIHRoaXMsIGFueSBub24temVybyBvdmVyc2FtcGxlIGJpdHMgd2lsbCBhZmZlY3QgdGhlIHNpemUgb2YgdGhlIHZhbHVlIGZvciB0aGlzIGZpZWxkLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6U2V0QWNjdW11bGF0b3JDZW50ZXIoSU5UMzIgY2VudGVyKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9hY2N1bXVsYXRvciA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotCQlyZXR1cm47DQotCX0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fYWNjdW11bGF0b3ItPndyaXRlQ2VudGVyKGNlbnRlciwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBhY2N1bXVsYXRvcidzIGRlYWRiYW5kLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6U2V0QWNjdW11bGF0b3JEZWFkYmFuZChJTlQzMiBkZWFkYmFuZCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fYWNjdW11bGF0b3IgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKE51bGxQYXJhbWV0ZXIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2FjY3VtdWxhdG9yLT53cml0ZURlYWRiYW5kKGRlYWRiYW5kLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS4NCi0gKiANCi0gKiBSZWFkIHRoZSB2YWx1ZSB0aGF0IGhhcyBiZWVuIGFjY3VtdWxhdGluZyBvbiBjaGFubmVsIDEuDQotICogVGhlIGFjY3VtdWxhdG9yIGlzIGF0dGFjaGVkIGFmdGVyIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSA2NC1iaXQgdmFsdWUgYWNjdW11bGF0ZWQgc2luY2UgdGhlIGxhc3QgUmVzZXQoKS4NCi0gKi8NCi1JTlQ2NCBBbmFsb2dDaGFubmVsOjpHZXRBY2N1bXVsYXRvclZhbHVlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwOw0KLQlpZiAobV9hY2N1bXVsYXRvciA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotCQlyZXR1cm4gMDsNCi0JfQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JSU5UNjQgdmFsdWUgPSBtX2FjY3VtdWxhdG9yLT5yZWFkT3V0cHV0X1ZhbHVlKCZsb2NhbFN0YXR1cykgKyBtX2FjY3VtdWxhdG9yT2Zmc2V0Ow0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gdmFsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIG51bWJlciBvZiBhY2N1bXVsYXRlZCB2YWx1ZXMuDQotICogDQotICogUmVhZCB0aGUgY291bnQgb2YgdGhlIGFjY3VtdWxhdGVkIHZhbHVlcyBzaW5jZSB0aGUgYWNjdW11bGF0b3Igd2FzIGxhc3QgUmVzZXQoKS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgdGltZXMgc2FtcGxlcyBmcm9tIHRoZSBjaGFubmVsIHdlcmUgYWNjdW11bGF0ZWQuDQotICovDQotVUlOVDMyIEFuYWxvZ0NoYW5uZWw6OkdldEFjY3VtdWxhdG9yQ291bnQoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCWlmIChtX2FjY3VtdWxhdG9yID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JCXJldHVybiAwOw0KLQl9DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgY291bnQgPSBtX2FjY3VtdWxhdG9yLT5yZWFkT3V0cHV0X0NvdW50KCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBjb3VudDsNCi19DQotDQotDQotLyoqDQotICogUmVhZCB0aGUgYWNjdW11bGF0ZWQgdmFsdWUgYW5kIHRoZSBudW1iZXIgb2YgYWNjdW11bGF0ZWQgdmFsdWVzIGF0b21pY2FsbHkuDQotICogDQotICogVGhpcyBmdW5jdGlvbiByZWFkcyB0aGUgdmFsdWUgYW5kIGNvdW50IGZyb20gdGhlIEZQR0EgYXRvbWljYWxseS4NCi0gKiBUaGlzIGNhbiBiZSB1c2VkIGZvciBhdmVyYWdpbmcuDQotICogDQotICogQHBhcmFtIHZhbHVlIFBvaW50ZXIgdG8gdGhlIDY0LWJpdCBhY2N1bXVsYXRlZCBvdXRwdXQuDQotICogQHBhcmFtIGNvdW50IFBvaW50ZXIgdG8gdGhlIG51bWJlciBvZiBhY2N1bXVsYXRpb24gY3ljbGVzLg0KLSAqLw0KLXZvaWQgQW5hbG9nQ2hhbm5lbDo6R2V0QWNjdW11bGF0b3JPdXRwdXQoSU5UNjQgKnZhbHVlLCBVSU5UMzIgKmNvdW50KQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9hY2N1bXVsYXRvciA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKHZhbHVlID09IE5VTEwgfHwgY291bnQgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKE51bGxQYXJhbWV0ZXIpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQl0QWNjdW11bGF0b3I6OnRPdXRwdXQgb3V0cHV0ID0gbV9hY2N1bXVsYXRvci0+cmVhZE91dHB1dCgmbG9jYWxTdGF0dXMpOw0KLQkqdmFsdWUgPSBvdXRwdXQuVmFsdWUgKyBtX2FjY3VtdWxhdG9yT2Zmc2V0Ow0KLQkqY291bnQgPSBvdXRwdXQuQ291bnQ7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgQXZlcmFnZSB2b2x0YWdlIGZvciB0aGUgUElEIFNvdXJjZSBiYXNlIG9iamVjdC4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBhdmVyYWdlIHZvbHRhZ2UuDQotICovDQotZG91YmxlIEFuYWxvZ0NoYW5uZWw6OlBJREdldCgpIA0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0JcmV0dXJuIEdldEF2ZXJhZ2VWYWx1ZSgpOw0KLX0NCi0NCi12b2lkIEFuYWxvZ0NoYW5uZWw6OlVwZGF0ZVRhYmxlKCkgew0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5QdXROdW1iZXIoIlZhbHVlIiwgR2V0QXZlcmFnZVZvbHRhZ2UoKSk7DQotCX0NCi19DQotDQotdm9pZCBBbmFsb2dDaGFubmVsOjpTdGFydExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotdm9pZCBBbmFsb2dDaGFubmVsOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotCQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBBbmFsb2dDaGFubmVsOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKSB7DQotCXJldHVybiAiQW5hbG9nIElucHV0IjsNCi19DQotDQotdm9pZCBBbmFsb2dDaGFubmVsOjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIEFuYWxvZ0NoYW5uZWw6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nQ2hhbm5lbC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nQ2hhbm5lbC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDYzMTVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ0NoYW5uZWwuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBBTkFMT0dfQ0hBTk5FTF9IXw0KLSNkZWZpbmUgQU5BTE9HX0NIQU5ORUxfSF8NCi0NCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC5oIg0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotI2luY2x1ZGUgIlBJRFNvdXJjZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLQ0KLWNsYXNzIEFuYWxvZ01vZHVsZTsNCi0NCi0vKioNCi0gKiBBbmFsb2cgY2hhbm5lbCBjbGFzcy4NCi0gKiANCi0gKiBFYWNoIGFuYWxvZyBjaGFubmVsIGlzIHJlYWQgZnJvbSBoYXJkd2FyZSBhcyBhIDEyLWJpdCBudW1iZXIgcmVwcmVzZW50aW5nIC0xMFYgdG8gMTBWLg0KLSAqIA0KLSAqIENvbm5lY3RlZCB0byBlYWNoIGFuYWxvZyBjaGFubmVsIGlzIGFuIGF2ZXJhZ2luZyBhbmQgb3ZlcnNhbXBsaW5nIGVuZ2luZS4gIFRoaXMgZW5naW5lIGFjY3VtdWxhdGVzDQotICogdGhlIHNwZWNpZmllZCAoIGJ5IFNldEF2ZXJhZ2VCaXRzKCkgYW5kIFNldE92ZXJzYW1wbGVCaXRzKCkgKSBudW1iZXIgb2Ygc2FtcGxlcyBiZWZvcmUgcmV0dXJuaW5nIGEgbmV3DQotICogdmFsdWUuICBUaGlzIGlzIG5vdCBhIHNsaWRpbmcgd2luZG93IGF2ZXJhZ2UuICBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIG92ZXJzYW1wbGVkIHNhbXBsZXMgYW5kDQotICogdGhlIGF2ZXJhZ2VkIHNhbXBsZXMgaXMgdGhhdCB0aGUgb3ZlcnNhbXBsZWQgc2FtcGxlcyBhcmUgc2ltcGx5IGFjY3VtdWxhdGVkIGVmZmVjdGl2ZWx5IGluY3JlYXNpbmcgdGhlDQotICogcmVzb2x1dGlvbiwgd2hpbGUgdGhlIGF2ZXJhZ2VkIHNhbXBsZXMgYXJlIGRpdmlkZWQgYnkgdGhlIG51bWJlciBvZiBzYW1wbGVzIHRvIHJldGFpbiB0aGUgcmVzb2x1dGlvbiwNCi0gKiBidXQgZ2V0IG1vcmUgc3RhYmxlIHZhbHVlcy4NCi0gKi8NCi1jbGFzcyBBbmFsb2dDaGFubmVsIDogcHVibGljIFNlbnNvckJhc2UsIHB1YmxpYyBQSURTb3VyY2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUNCi17DQotcHVibGljOg0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0FjY3VtdWxhdG9yTW9kdWxlTnVtYmVyID0gMTsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrQWNjdW11bGF0b3JOdW1DaGFubmVscyA9IDI7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0FjY3VtdWxhdG9yQ2hhbm5lbHNba0FjY3VtdWxhdG9yTnVtQ2hhbm5lbHNdOw0KLQ0KLQlBbmFsb2dDaGFubmVsKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQlleHBsaWNpdCBBbmFsb2dDaGFubmVsKFVJTlQzMiBjaGFubmVsKTsNCi0JdmlydHVhbCB+QW5hbG9nQ2hhbm5lbCgpOw0KLQ0KLQlBbmFsb2dNb2R1bGUgKkdldE1vZHVsZSgpOw0KLQ0KLQlJTlQxNiBHZXRWYWx1ZSgpOw0KLQlJTlQzMiBHZXRBdmVyYWdlVmFsdWUoKTsNCi0NCi0JZmxvYXQgR2V0Vm9sdGFnZSgpOw0KLQlmbG9hdCBHZXRBdmVyYWdlVm9sdGFnZSgpOw0KLQ0KLQlVSU5UOCBHZXRNb2R1bGVOdW1iZXIoKTsNCi0JVUlOVDMyIEdldENoYW5uZWwoKTsNCi0NCi0Jdm9pZCBTZXRBdmVyYWdlQml0cyhVSU5UMzIgYml0cyk7DQotCVVJTlQzMiBHZXRBdmVyYWdlQml0cygpOw0KLQl2b2lkIFNldE92ZXJzYW1wbGVCaXRzKFVJTlQzMiBiaXRzKTsNCi0JVUlOVDMyIEdldE92ZXJzYW1wbGVCaXRzKCk7DQotDQotCVVJTlQzMiBHZXRMU0JXZWlnaHQoKTsNCi0JSU5UMzIgR2V0T2Zmc2V0KCk7DQotDQotCWJvb2wgSXNBY2N1bXVsYXRvckNoYW5uZWwoKTsNCi0Jdm9pZCBJbml0QWNjdW11bGF0b3IoKTsNCi0Jdm9pZCBTZXRBY2N1bXVsYXRvckluaXRpYWxWYWx1ZShJTlQ2NCB2YWx1ZSk7DQotCXZvaWQgUmVzZXRBY2N1bXVsYXRvcigpOw0KLQl2b2lkIFNldEFjY3VtdWxhdG9yQ2VudGVyKElOVDMyIGNlbnRlcik7DQotCXZvaWQgU2V0QWNjdW11bGF0b3JEZWFkYmFuZChJTlQzMiBkZWFkYmFuZCk7DQotCUlOVDY0IEdldEFjY3VtdWxhdG9yVmFsdWUoKTsNCi0JVUlOVDMyIEdldEFjY3VtdWxhdG9yQ291bnQoKTsNCi0Jdm9pZCBHZXRBY2N1bXVsYXRvck91dHB1dChJTlQ2NCAqdmFsdWUsIFVJTlQzMiAqY291bnQpOw0KLQkNCi0JZG91YmxlIFBJREdldCgpOw0KLQkNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotCXZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpOw0KLQlJVGFibGUgKiBHZXRUYWJsZSgpOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdENoYW5uZWwoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotCVVJTlQzMiBtX2NoYW5uZWw7DQotCUFuYWxvZ01vZHVsZSAqbV9tb2R1bGU7DQotCXRBY2N1bXVsYXRvciAqbV9hY2N1bXVsYXRvcjsNCi0JSU5UNjQgbV9hY2N1bXVsYXRvck9mZnNldDsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ01vZHVsZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dNb2R1bGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzM1NDg3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ01vZHVsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MjMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQW5hbG9nTW9kdWxlLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vQUlDYWxpYnJhdGlvbi5oIg0KLQ0KLWNvbnN0IGxvbmcgQW5hbG9nTW9kdWxlOjprVGltZWJhc2U7IC8vLzwgNDAgTUh6IGNsb2NrDQotY29uc3QgbG9uZyBBbmFsb2dNb2R1bGU6OmtEZWZhdWx0T3ZlcnNhbXBsZUJpdHM7DQotY29uc3QgbG9uZyBBbmFsb2dNb2R1bGU6OmtEZWZhdWx0QXZlcmFnZUJpdHM7DQotY29uc3QgZmxvYXQgQW5hbG9nTW9kdWxlOjprRGVmYXVsdFNhbXBsZVJhdGU7DQotU0VNX0lEIEFuYWxvZ01vZHVsZTo6bV9yZWdpc3RlcldpbmRvd1NlbWFwaG9yZSA9IE5VTEw7DQotDQotLyoqDQotICogR2V0IGFuIGluc3RhbmNlIG9mIGFuIEFuYWxvZyBNb2R1bGUuDQotICogDQotICogU2luZ2xldG9uIGFuYWxvZyBtb2R1bGUgY3JlYXRpb24gd2hlcmUgYSBtb2R1bGUgaXMgYWxsb2NhdGVkIG9uIHRoZSBmaXJzdCB1c2UNCi0gKiBhbmQgdGhlIHNhbWUgbW9kdWxlIGlzIHJldHVybmVkIG9uIHN1YnNlcXVlbnQgdXNlcy4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBhbmFsb2cgbW9kdWxlIHRvIGdldCAoMSBvciAyKS4NCi0gKiBAcmV0dXJuIEEgcG9pbnRlciB0byB0aGUgQW5hbG9nTW9kdWxlLg0KLSAqLw0KLUFuYWxvZ01vZHVsZSogQW5hbG9nTW9kdWxlOjpHZXRJbnN0YW5jZShVSU5UOCBtb2R1bGVOdW1iZXIpDQotew0KLQlpZiAoQ2hlY2tBbmFsb2dNb2R1bGUobW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJcmV0dXJuIChBbmFsb2dNb2R1bGUqKUdldE1vZHVsZShuTG9hZE91dDo6a01vZHVsZVR5cGVfQW5hbG9nLCBtb2R1bGVOdW1iZXIpOw0KLQl9DQotDQotCS8vIElmIHRoaXMgd2Fzbid0IGNhdWdodCBiZWZvcmUgbm93LCBtYWtlIHN1cmUgd2Ugc2F5IHdoYXQncyB3cm9uZyBiZWZvcmUgd2UgY3Jhc2gNCi0JY2hhciBidWZbNjRdOw0KLQlzbnByaW50ZihidWYsIDY0LCAiQW5hbG9nIE1vZHVsZSAlZCIsIG1vZHVsZU51bWJlcik7DQotCXdwaV9zZXRHbG9iYWxXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0NCi0JcmV0dXJuIE5VTEw7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhbiBhbmFsb2cgbW9kdWxlLg0KLSAqIA0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgYW5hbG9nIG1vZHVsZSBvYmplY3QuIEluaXRpYWxpemUgYWxsIHRoZSBwYXJhbWV0ZXJzDQotICogdG8gcmVhc29uYWJsZSB2YWx1ZXMgb24gc3RhcnQuDQotICogU2V0dGluZyBhIGdsb2JhbCB2YWx1ZSBvbiBhbiBhbmFsb2cgbW9kdWxlIGNhbiBiZSBkb25lIG9ubHkgb25jZSB1bmxlc3Mgc3Vic2VxdWVudA0KLSAqIHZhbHVlcyBhcmUgc2V0IHRoZSBwcmV2aW91c2x5IHNldCB2YWx1ZS4NCi0gKiBBbmFsb2cgbW9kdWxlcyBhcmUgYSBzaW5nbGV0b24sIHNvIHRoZSBjb25zdHJ1Y3RvciBpcyBuZXZlciBjYWxsZWQgb3V0c2lkZSBvZiB0aGlzIGNsYXNzLg0KLSAqIA0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGFuYWxvZyBtb2R1bGUgdG8gY3JlYXRlICgxIG9yIDIpLg0KLSAqLw0KLUFuYWxvZ01vZHVsZTo6QW5hbG9nTW9kdWxlKFVJTlQ4IG1vZHVsZU51bWJlcikNCi0JOiBNb2R1bGUobkxvYWRPdXQ6OmtNb2R1bGVUeXBlX0FuYWxvZywgbW9kdWxlTnVtYmVyKQ0KLQksIG1fbW9kdWxlIChOVUxMKQ0KLQksIG1fc2FtcGxlUmF0ZVNldCAoZmFsc2UpDQotCSwgbV9udW1DaGFubmVsc1RvQWN0aXZhdGUgKDApDQotew0KLQlBZGRUb1NpbmdsZXRvbkxpc3QoKTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fbW9kdWxlID0gdEFJOjpjcmVhdGUobV9tb2R1bGVOdW1iZXIgLSAxLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlTZXROdW1DaGFubmVsc1RvQWN0aXZhdGUoa0FuYWxvZ0NoYW5uZWxzKTsNCi0JU2V0U2FtcGxlUmF0ZShrRGVmYXVsdFNhbXBsZVJhdGUpOw0KLQ0KLQlmb3IgKFVJTlQzMiBpID0gMDsgaSA8IGtBbmFsb2dDaGFubmVsczsgaSsrKQ0KLQl7DQotCQltX21vZHVsZS0+d3JpdGVTY2FuTGlzdChpLCBpLCAmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JCVNldEF2ZXJhZ2VCaXRzKGkgKyAxLCBrRGVmYXVsdEF2ZXJhZ2VCaXRzKTsNCi0JCVNldE92ZXJzYW1wbGVCaXRzKGkgKyAxLCBrRGVmYXVsdE92ZXJzYW1wbGVCaXRzKTsNCi0JfQ0KLQ0KLQlpZiAobV9yZWdpc3RlcldpbmRvd1NlbWFwaG9yZSA9PSBOVUxMKQ0KLQl7DQotCQkvLyBOZWVkcyB0byBiZSBnbG9iYWwgc2luY2UgdGhlIHByb3RlY3RlZCByZXNvdXJjZSBzcGFucyBib3RoIG1vZHVsZSBzaW5nbGV0b25zLg0KLQkJbV9yZWdpc3RlcldpbmRvd1NlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fREVMRVRFX1NBRkUgfCBTRU1fSU5WRVJTSU9OX1NBRkUpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3IgZm9yIEFuYWxvZ01vZHVsZS4NCi0gKi8NCi1BbmFsb2dNb2R1bGU6On5BbmFsb2dNb2R1bGUoKQ0KLXsNCi0JZGVsZXRlIG1fbW9kdWxlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHNhbXBsZSByYXRlIG9uIHRoZSBtb2R1bGUuDQotICogDQotICogVGhpcyBpcyBhIGdsb2JhbCBzZXR0aW5nIGZvciB0aGUgbW9kdWxlIGFuZCBlZmZlY3RzIGFsbCBjaGFubmVscy4NCi0gKiANCi0gKiBAcGFyYW0gc2FtcGxlc1BlclNlY29uZCBUaGUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGNoYW5uZWwgcGVyIHNlY29uZC4NCi0gKi8NCi12b2lkIEFuYWxvZ01vZHVsZTo6U2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVzUGVyU2Vjb25kKQ0KLXsNCi0JLy8gVE9ETzogVGhpcyB3aWxsIGNoYW5nZSB3aGVuIHZhcmlhYmxlIHNpemUgc2NhbiBsaXN0cyBhcmUgaW1wbGVtZW50ZWQuDQotCS8vIFRPRE86IE5lZWQgZmxvYXQgY29tcGFyaXNvbiB3aXRoIGVwc2lsb24uDQotCS8vd3BpX2Fzc2VydCghc2FtcGxlUmF0ZVNldCB8fCBHZXRTYW1wbGVSYXRlKCkgPT0gc2FtcGxlc1BlclNlY29uZCk7DQotCW1fc2FtcGxlUmF0ZVNldCA9IHRydWU7DQotDQotCS8vIENvbXB1dGUgdGhlIGNvbnZlcnQgcmF0ZQ0KLQlVSU5UMzIgdGlja3NQZXJTYW1wbGUgPSAoVUlOVDMyKSgoZmxvYXQpa1RpbWViYXNlIC8gc2FtcGxlc1BlclNlY29uZCk7DQotCVVJTlQzMiB0aWNrc1BlckNvbnZlcnNpb24gPSB0aWNrc1BlclNhbXBsZSAvIEdldE51bUNoYW5uZWxzVG9BY3RpdmF0ZSgpOw0KLQkvLyB0aWNrc1BlckNvbnZlcnNpb24gbXVzdCBiZSBhdCBsZWFzdCA4MA0KLQlpZiAodGlja3NQZXJDb252ZXJzaW9uIDwgODApDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihTYW1wbGVSYXRlVG9vSGlnaCk7DQotCQl0aWNrc1BlckNvbnZlcnNpb24gPSA4MDsNCi0JfQ0KLQ0KLQkvLyBBdG9taWNhbGx5IHNldCB0aGUgc2NhbiBzaXplIGFuZCB0aGUgY29udmVydCByYXRlIHNvIHRoYXQgdGhlIHNhbXBsZSByYXRlIGlzIGNvbnN0YW50DQotCXRBSTo6dENvbmZpZyBjb25maWc7DQotCWNvbmZpZy5TY2FuU2l6ZSA9IEdldE51bUNoYW5uZWxzVG9BY3RpdmF0ZSgpOw0KLQljb25maWcuQ29udmVydFJhdGUgPSB0aWNrc1BlckNvbnZlcnNpb247DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX21vZHVsZS0+d3JpdGVDb25maWcoY29uZmlnLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQ0KLQkvLyBJbmRpY2F0ZSB0aGF0IHRoZSBzY2FuIHNpemUgaGFzIGJlZW4gY29tbWl0ZWQgdG8gaGFyZHdhcmUuDQotCVNldE51bUNoYW5uZWxzVG9BY3RpdmF0ZSgwKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBjdXJyZW50IHNhbXBsZSByYXRlIG9uIHRoZSBtb2R1bGUuDQotICogDQotICogVGhpcyBhc3N1bWVzIG9uZSBlbnRyeSBpbiB0aGUgc2NhbiBsaXN0Lg0KLSAqIFRoaXMgaXMgYSBnbG9iYWwgc2V0dGluZyBmb3IgdGhlIG1vZHVsZSBhbmQgZWZmZWN0cyBhbGwgY2hhbm5lbHMuDQotICogDQotICogQHJldHVybiBTYW1wbGUgcmF0ZS4NCi0gKi8NCi1mbG9hdCBBbmFsb2dNb2R1bGU6OkdldFNhbXBsZVJhdGUoKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQzMiB0aWNrc1BlckNvbnZlcnNpb24gPSBtX21vZHVsZS0+cmVhZExvb3BUaW1pbmcoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JVUlOVDMyIHRpY2tzUGVyU2FtcGxlID0gdGlja3NQZXJDb252ZXJzaW9uICogR2V0TnVtQWN0aXZlQ2hhbm5lbHMoKTsNCi0JcmV0dXJuIChmbG9hdClrVGltZWJhc2UgLyAoZmxvYXQpdGlja3NQZXJTYW1wbGU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIG9uIHRoZSBtb2R1bGUgaW4gdXNlLg0KLSAqIA0KLSAqIEByZXR1cm4gQWN0aXZlIGNoYW5uZWxzLg0KLSAqLw0KLVVJTlQzMiBBbmFsb2dNb2R1bGU6OkdldE51bUFjdGl2ZUNoYW5uZWxzKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgc2NhblNpemUgPSBtX21vZHVsZS0+cmVhZENvbmZpZ19TY2FuU2l6ZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlpZiAoc2NhblNpemUgPT0gMCkNCi0JCXJldHVybiA4Ow0KLQlyZXR1cm4gc2NhblNpemU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBjaGFubmVscy4NCi0gKiANCi0gKiBUaGlzIGlzIGFuIGludGVybmFsIGZ1bmN0aW9uIHRvIGFsbG93IHRoZSBhdG9taWMgdXBkYXRlIG9mIGJvdGggdGhlIA0KLSAqIG51bWJlciBvZiBhY3RpdmUgY2hhbm5lbHMgYW5kIHRoZSBzYW1wbGUgcmF0ZS4NCi0gKiANCi0gKiBXaGVuIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgY2hhbmdlcywgdXNlIHRoZSBuZXcgdmFsdWUuICBPdGhlcndpc2UsDQotICogcmV0dXJuIHRoZSBjdXJlbnQgdmFsdWUuDQotICogDQotICogQHJldHVybiBWYWx1ZSB0byB3cml0ZSB0byB0aGUgYWN0aXZlIGNoYW5uZWxzIGZpZWxkLg0KLSAqLw0KLVVJTlQzMiBBbmFsb2dNb2R1bGU6OkdldE51bUNoYW5uZWxzVG9BY3RpdmF0ZSgpDQotew0KLQlpZihtX251bUNoYW5uZWxzVG9BY3RpdmF0ZSA9PSAwKSByZXR1cm4gR2V0TnVtQWN0aXZlQ2hhbm5lbHMoKTsNCi0JcmV0dXJuIG1fbnVtQ2hhbm5lbHNUb0FjdGl2YXRlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIG51bWJlciBvZiBhY3RpdmUgY2hhbm5lbHMuDQotICogDQotICogU3RvcmUgdGhlIG51bWJlciBvZiBhY3RpdmUgY2hhbm5lbHMgdG8gc2V0LiAgRG9uJ3QgYWN0dWFsbHkgY29tbWl0IHRvIGhhcmR3YXJlDQotICogdW50aWwgU2V0U2FtcGxlUmF0ZSgpLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVscyBOdW1iZXIgb2YgYWN0aXZlIGNoYW5uZWxzLg0KLSAqLw0KLXZvaWQgQW5hbG9nTW9kdWxlOjpTZXROdW1DaGFubmVsc1RvQWN0aXZhdGUoVUlOVDMyIGNoYW5uZWxzKQ0KLXsNCi0JbV9udW1DaGFubmVsc1RvQWN0aXZhdGUgPSBjaGFubmVsczsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMuDQotICogDQotICogVGhpcyBzZXRzIHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMuIFRoZSBhY3R1YWwgbnVtYmVyIG9mIGF2ZXJhZ2VkIHNhbXBsZXMgaXMgMioqYml0cy4NCi0gKiBVc2UgYXZlcmFnaW5nIHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBvZiB5b3VyIG1lYXN1cmVtZW50IGF0IHRoZSBleHBlbnNlIG9mIHNhbXBsaW5nIHJhdGUuDQotICogVGhlIGF2ZXJhZ2luZyBpcyBkb25lIGF1dG9tYXRpY2FsbHkgaW4gdGhlIEZQR0EuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgQW5hbG9nIGNoYW5uZWwgdG8gY29uZmlndXJlLg0KLSAqIEBwYXJhbSBiaXRzIE51bWJlciBvZiBiaXRzIHRvIGF2ZXJhZ2UuDQotICovDQotdm9pZCBBbmFsb2dNb2R1bGU6OlNldEF2ZXJhZ2VCaXRzKFVJTlQzMiBjaGFubmVsLCBVSU5UMzIgYml0cykNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX21vZHVsZS0+d3JpdGVBdmVyYWdlQml0cyhjaGFubmVsIC0gMSwgYml0cywgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMuDQotICogDQotICogVGhpcyBnZXRzIHRoZSBudW1iZXIgb2YgYXZlcmFnaW5nIGJpdHMgZnJvbSB0aGUgRlBHQS4gVGhlIGFjdHVhbCBudW1iZXIgb2YgYXZlcmFnZWQgc2FtcGxlcyBpcyAyKipiaXRzLg0KLSAqIFRoZSBhdmVyYWdpbmcgaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGluIHRoZSBGUEdBLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIENoYW5uZWwgdG8gYWRkcmVzcy4NCi0gKiBAcmV0dXJuIEJpdHMgdG8gYXZlcmFnZS4NCi0gKi8NCi1VSU5UMzIgQW5hbG9nTW9kdWxlOjpHZXRBdmVyYWdlQml0cyhVSU5UMzIgY2hhbm5lbCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgcmVzdWx0ID0gbV9tb2R1bGUtPnJlYWRBdmVyYWdlQml0cyhjaGFubmVsIC0gMSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBudW1iZXIgb2Ygb3ZlcnNhbXBsZSBiaXRzLg0KLSAqIA0KLSAqIFRoaXMgc2V0cyB0aGUgbnVtYmVyIG9mIG92ZXJzYW1wbGUgYml0cy4gVGhlIGFjdHVhbCBudW1iZXIgb2Ygb3ZlcnNhbXBsZWQgdmFsdWVzIGlzIDIqKmJpdHMuDQotICogVXNlIG92ZXJzYW1wbGluZyB0byBpbXByb3ZlIHRoZSByZXNvbHV0aW9uIG9mIHlvdXIgbWVhc3VyZW1lbnRzIGF0IHRoZSBleHBlbnNlIG9mIHNhbXBsaW5nIHJhdGUuDQotICogVGhlIG92ZXJzYW1wbGluZyBpcyBkb25lIGF1dG9tYXRpY2FsbHkgaW4gdGhlIEZQR0EuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgQW5hbG9nIGNoYW5uZWwgdG8gY29uZmlndXJlLg0KLSAqIEBwYXJhbSBiaXRzIE51bWJlciBvZiBiaXRzIHRvIG92ZXJzYW1wbGUuDQotICovDQotdm9pZCBBbmFsb2dNb2R1bGU6OlNldE92ZXJzYW1wbGVCaXRzKFVJTlQzMiBjaGFubmVsLCBVSU5UMzIgYml0cykNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX21vZHVsZS0+d3JpdGVPdmVyc2FtcGxlQml0cyhjaGFubmVsIC0gMSwgYml0cywgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2Ygb3ZlcnNhbXBsZSBiaXRzLg0KLSAqIA0KLSAqIFRoaXMgZ2V0cyB0aGUgbnVtYmVyIG9mIG92ZXJzYW1wbGUgYml0cyBmcm9tIHRoZSBGUEdBLiBUaGUgYWN0dWFsIG51bWJlciBvZiBvdmVyc2FtcGxlZCB2YWx1ZXMgaXMNCi0gKiAyKipiaXRzLiBUaGUgb3ZlcnNhbXBsaW5nIGlzIGRvbmUgYXV0b21hdGljYWxseSBpbiB0aGUgRlBHQS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBDaGFubmVsIHRvIGFkZHJlc3MuDQotICogQHJldHVybiBCaXRzIHRvIG92ZXJzYW1wbGUuDQotICovDQotVUlOVDMyIEFuYWxvZ01vZHVsZTo6R2V0T3ZlcnNhbXBsZUJpdHMoVUlOVDMyIGNoYW5uZWwpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JVUlOVDMyIHJlc3VsdCA9IG1fbW9kdWxlLT5yZWFkT3ZlcnNhbXBsZUJpdHMoY2hhbm5lbCAtIDEsICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiByZXN1bHQ7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHNhbXBsZSBzdHJhaWdodCBmcm9tIHRoZSBjaGFubmVsIG9uIHRoaXMgbW9kdWxlLg0KLSAqIA0KLSAqIFRoZSBzYW1wbGUgaXMgYSAxMi1iaXQgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSAtMTBWIHRvIDEwViByYW5nZSBvZiB0aGUgQS9EIGNvbnZlcnRlciBpbiB0aGUgbW9kdWxlLg0KLSAqIFRoZSB1bml0cyBhcmUgaW4gQS9EIGNvbnZlcnRlciBjb2Rlcy4gIFVzZSBHZXRWb2x0YWdlKCkgdG8gZ2V0IHRoZSBhbmFsb2cgdmFsdWUgaW4gY2FsaWJyYXRlZCB1bml0cy4NCi0gKiANCi0gKiBAcmV0dXJuIEEgc2FtcGxlIHN0cmFpZ2h0IGZyb20gdGhlIGNoYW5uZWwgb24gdGhpcyBtb2R1bGUuDQotICovDQotSU5UMTYgQW5hbG9nTW9kdWxlOjpHZXRWYWx1ZShVSU5UMzIgY2hhbm5lbCkNCi17DQotCUlOVDE2IHZhbHVlOw0KLQlDaGVja0FuYWxvZ0NoYW5uZWwoY2hhbm5lbCk7DQotDQotCXRBSTo6dFJlYWRTZWxlY3QgcmVhZFNlbGVjdDsNCi0JcmVhZFNlbGVjdC5DaGFubmVsID0gY2hhbm5lbCAtIDE7DQotCXJlYWRTZWxlY3QuTW9kdWxlID0gbV9tb2R1bGVOdW1iZXIgLSAxOw0KLQlyZWFkU2VsZWN0LkF2ZXJhZ2VkID0gZmFsc2U7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQ0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhtX3JlZ2lzdGVyV2luZG93U2VtYXBob3JlKTsNCi0JCW1fbW9kdWxlLT53cml0ZVJlYWRTZWxlY3QocmVhZFNlbGVjdCwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fbW9kdWxlLT5zdHJvYmVMYXRjaE91dHB1dCgmbG9jYWxTdGF0dXMpOw0KLQkJdmFsdWUgPSAoSU5UMTYpIG1fbW9kdWxlLT5yZWFkT3V0cHV0KCZsb2NhbFN0YXR1cyk7DQotCX0NCi0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHZhbHVlOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYSBzYW1wbGUgZnJvbSB0aGUgb3V0cHV0IG9mIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZSBmb3IgdGhlIGNoYW5uZWwuDQotICogDQotICogVGhlIHNhbXBsZSBpcyAxMi1iaXQgKyB0aGUgdmFsdWUgY29uZmlndXJlZCBpbiBTZXRPdmVyc2FtcGxlQml0cygpLg0KLSAqIFRoZSB2YWx1ZSBjb25maWd1cmVkIGluIFNldEF2ZXJhZ2VCaXRzKCkgd2lsbCBjYXVzZSB0aGlzIHZhbHVlIHRvIGJlIGF2ZXJhZ2VkIDIqKmJpdHMgbnVtYmVyIG9mIHNhbXBsZXMuDQotICogVGhpcyBpcyBub3QgYSBzbGlkaW5nIHdpbmRvdy4gIFRoZSBzYW1wbGUgd2lsbCBub3QgY2hhbmdlIHVudGlsIDIqKihPdmVyc2FtcGxCaXRzICsgQXZlcmFnZUJpdHMpIHNhbXBsZXMNCi0gKiBoYXZlIGJlZW4gYWNxdWlyZWQgZnJvbSB0aGUgbW9kdWxlIG9uIHRoaXMgY2hhbm5lbC4NCi0gKiBVc2UgR2V0QXZlcmFnZVZvbHRhZ2UoKSB0byBnZXQgdGhlIGFuYWxvZyB2YWx1ZSBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIENoYW5uZWwgbnVtYmVyIHRvIHJlYWQuDQotICogQHJldHVybiBBIHNhbXBsZSBmcm9tIHRoZSBvdmVyc2FtcGxlIGFuZCBhdmVyYWdlIGVuZ2luZSBmb3IgdGhlIGNoYW5uZWwuDQotICovDQotSU5UMzIgQW5hbG9nTW9kdWxlOjpHZXRBdmVyYWdlVmFsdWUoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlJTlQzMiB2YWx1ZTsNCi0JQ2hlY2tBbmFsb2dDaGFubmVsKGNoYW5uZWwpOw0KLQ0KLQl0QUk6OnRSZWFkU2VsZWN0IHJlYWRTZWxlY3Q7DQotCXJlYWRTZWxlY3QuQ2hhbm5lbCA9IGNoYW5uZWwgLSAxOw0KLQlyZWFkU2VsZWN0Lk1vZHVsZSA9IG1fbW9kdWxlTnVtYmVyIC0gMTsNCi0JcmVhZFNlbGVjdC5BdmVyYWdlZCA9IHRydWU7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQ0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhtX3JlZ2lzdGVyV2luZG93U2VtYXBob3JlKTsNCi0JCW1fbW9kdWxlLT53cml0ZVJlYWRTZWxlY3QocmVhZFNlbGVjdCwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fbW9kdWxlLT5zdHJvYmVMYXRjaE91dHB1dCgmbG9jYWxTdGF0dXMpOw0KLQkJdmFsdWUgPSBtX21vZHVsZS0+cmVhZE91dHB1dCgmbG9jYWxTdGF0dXMpOw0KLQl9DQotDQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiB2YWx1ZTsNCi19DQotDQotLyoqDQotICogQ29udmVydCBhIHZvbHRhZ2UgdG8gYSByYXcgdmFsdWUgZm9yIGEgc3BlY2lmaWVkIGNoYW5uZWwuDQotICogDQotICogVGhpcyBwcm9jZXNzIGRlcGVuZHMgb24gdGhlIGNhbGlicmF0aW9uIG9mIGVhY2ggY2hhbm5lbCwgc28gdGhlIGNoYW5uZWwNCi0gKiBtdXN0IGJlIHNwZWNpZmllZC4NCi0gKiANCi0gKiBAdG9kbyBUaGlzIGFzc3VtZXMgcmF3IHZhbHVlcy4gIE92ZXJzYW1wbGluZyBub3Qgc3VwcG9ydGVkIGFzIGlzLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIHRvIGNvbnZlcnQgZm9yLg0KLSAqIEBwYXJhbSB2b2x0YWdlIFRoZSB2b2x0YWdlIHRvIGNvbnZlcnQuDQotICogQHJldHVybiBUaGUgcmF3IHZhbHVlIGZvciB0aGUgY2hhbm5lbC4NCi0gKi8NCi1JTlQzMiBBbmFsb2dNb2R1bGU6OlZvbHRzVG9WYWx1ZShJTlQzMiBjaGFubmVsLCBmbG9hdCB2b2x0YWdlKQ0KLXsNCi0JaWYgKHZvbHRhZ2UgPiAxMC4wKQ0KLQl7DQotCQl2b2x0YWdlID0gMTAuMDsNCi0JCXdwaV9zZXRXUElFcnJvcihWb2x0YWdlT3V0T2ZSYW5nZSk7DQotCX0NCi0JaWYgKHZvbHRhZ2UgPCAtMTAuMCkNCi0Jew0KLQkJdm9sdGFnZSA9IC0xMC4wOw0KLQkJd3BpX3NldFdQSUVycm9yKFZvbHRhZ2VPdXRPZlJhbmdlKTsNCi0JfQ0KLQlVSU5UMzIgTFNCV2VpZ2h0ID0gR2V0TFNCV2VpZ2h0KGNoYW5uZWwpOw0KLQlJTlQzMiBvZmZzZXQgPSBHZXRPZmZzZXQoY2hhbm5lbCk7DQotCUlOVDMyIHZhbHVlID0gKElOVDMyKSAoKHZvbHRhZ2UgKyBvZmZzZXQgKiAxLjBlLTkpIC8gKExTQldlaWdodCAqIDEuMGUtOSkpOw0KLQlyZXR1cm4gdmFsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHNjYWxlZCBzYW1wbGUgc3RyYWlnaHQgZnJvbSB0aGUgY2hhbm5lbCBvbiB0aGlzIG1vZHVsZS4NCi0gKiANCi0gKiBUaGUgdmFsdWUgaXMgc2NhbGVkIHRvIHVuaXRzIG9mIFZvbHRzIHVzaW5nIHRoZSBjYWxpYnJhdGVkIHNjYWxpbmcgZGF0YSBmcm9tIEdldExTQldlaWdodCgpIGFuZCBHZXRPZmZzZXQoKS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgY2hhbm5lbCB0byByZWFkLg0KLSAqIEByZXR1cm4gQSBzY2FsZWQgc2FtcGxlIHN0cmFpZ2h0IGZyb20gdGhlIGNoYW5uZWwgb24gdGhpcyBtb2R1bGUuDQotICovDQotZmxvYXQgQW5hbG9nTW9kdWxlOjpHZXRWb2x0YWdlKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSU5UMTYgdmFsdWUgPSBHZXRWYWx1ZShjaGFubmVsKTsNCi0JVUlOVDMyIExTQldlaWdodCA9IEdldExTQldlaWdodChjaGFubmVsKTsNCi0JSU5UMzIgb2Zmc2V0ID0gR2V0T2Zmc2V0KGNoYW5uZWwpOw0KLQlmbG9hdCB2b2x0YWdlID0gTFNCV2VpZ2h0ICogMS4wZS05ICogdmFsdWUgLSBvZmZzZXQgKiAxLjBlLTk7DQotCXJldHVybiB2b2x0YWdlOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYSBzY2FsZWQgc2FtcGxlIGZyb20gdGhlIG91dHB1dCBvZiB0aGUgb3ZlcnNhbXBsZSBhbmQgYXZlcmFnZSBlbmdpbmUgZm9yIHRoZSBjaGFubmVsLg0KLSAqIA0KLSAqIFRoZSB2YWx1ZSBpcyBzY2FsZWQgdG8gdW5pdHMgb2YgVm9sdHMgdXNpbmcgdGhlIGNhbGlicmF0ZWQgc2NhbGluZyBkYXRhIGZyb20gR2V0TFNCV2VpZ2h0KCkgYW5kIEdldE9mZnNldCgpLg0KLSAqIFVzaW5nIG92ZXJzYW1wbGluZyB3aWxsIGNhdXNlIHRoaXMgdmFsdWUgdG8gYmUgaGlnaGVyIHJlc29sdXRpb24sIGJ1dCBpdCB3aWxsIHVwZGF0ZSBtb3JlIHNsb3dseS4NCi0gKiBVc2luZyBhdmVyYWdpbmcgd2lsbCBjYXVzZSB0aGlzIHZhbHVlIHRvIGJlIG1vcmUgc3RhYmxlLCBidXQgaXQgd2lsbCB1cGRhdGUgbW9yZSBzbG93bHkuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgdG8gcmVhZC4NCi0gKiBAcmV0dXJuIEEgc2NhbGVkIHNhbXBsZSBmcm9tIHRoZSBvdXRwdXQgb2YgdGhlIG92ZXJzYW1wbGUgYW5kIGF2ZXJhZ2UgZW5naW5lIGZvciB0aGUgY2hhbm5lbC4NCi0gKi8NCi1mbG9hdCBBbmFsb2dNb2R1bGU6OkdldEF2ZXJhZ2VWb2x0YWdlKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSU5UMzIgdmFsdWUgPSBHZXRBdmVyYWdlVmFsdWUoY2hhbm5lbCk7DQotCVVJTlQzMiBMU0JXZWlnaHQgPSBHZXRMU0JXZWlnaHQoY2hhbm5lbCk7DQotCUlOVDMyIG9mZnNldCA9IEdldE9mZnNldChjaGFubmVsKTsNCi0JVUlOVDMyIG92ZXJzYW1wbGVCaXRzID0gR2V0T3ZlcnNhbXBsZUJpdHMoY2hhbm5lbCk7DQotCWZsb2F0IHZvbHRhZ2UgPSAoKExTQldlaWdodCAqIDEuMGUtOSAqIHZhbHVlKSAvIChmbG9hdCkoMSA8PCBvdmVyc2FtcGxlQml0cykpIC0gb2Zmc2V0ICogMS4wZS05Ow0KLQlyZXR1cm4gdm9sdGFnZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBmYWN0b3J5IHNjYWxpbmcgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IHdlaWdodCBjb25zdGFudC4NCi0gKiBUaGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IHdlaWdodCBjb25zdGFudCBmb3IgdGhlIGNoYW5uZWwgdGhhdCB3YXMgY2FsaWJyYXRlZCBpbg0KLSAqIG1hbnVmYWN0dXJpbmcgYW5kIHN0b3JlZCBpbiBhbiBlZXByb20gaW4gdGhlIG1vZHVsZS4NCi0gKiANCi0gKiBWb2x0cyA9ICgoTFNCX1dlaWdodCAqIDFlLTkpICogcmF3KSAtIChPZmZzZXQgKiAxZS05KQ0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIHRvIGdldCBjYWxpYnJhdGlvbiBkYXRhIGZvci4NCi0gKiBAcmV0dXJuIExlYXN0IHNpZ25pZmljYW50IGJpdCB3ZWlnaHQuDQotICovDQotVUlOVDMyIEFuYWxvZ01vZHVsZTo6R2V0TFNCV2VpZ2h0KFVJTlQzMiBjaGFubmVsKSANCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgbHNiV2VpZ2h0ID0gRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX25BSUNhbGlicmF0aW9uX2dldExTQldlaWdodChtX21vZHVsZS0+Z2V0U3lzdGVtSW5kZXgoKSwgY2hhbm5lbCAtIDEsIChJTlQzMiopJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIGxzYldlaWdodDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBmYWN0b3J5IHNjYWxpbmcgb2Zmc2V0IGNvbnN0YW50Lg0KLSAqIFRoZSBvZmZzZXQgY29uc3RhbnQgZm9yIHRoZSBjaGFubmVsIHRoYXQgd2FzIGNhbGlicmF0ZWQgaW4gbWFudWZhY3R1cmluZyBhbmQgc3RvcmVkDQotICogaW4gYW4gZWVwcm9tIGluIHRoZSBtb2R1bGUuDQotICogDQotICogVm9sdHMgPSAoKExTQl9XZWlnaHQgKiAxZS05KSAqIHJhdykgLSAoT2Zmc2V0ICogMWUtOSkNCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgY2hhbm5lbCB0byBnZXQgY2FsaWJyYXRpb24gZGF0YSBmb3IuDQotICogQHJldHVybiBPZmZzZXQgY29uc3RhbnQuDQotICovDQotSU5UMzIgQW5hbG9nTW9kdWxlOjpHZXRPZmZzZXQoVUlOVDMyIGNoYW5uZWwpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JSU5UMzIgb2Zmc2V0ID0gRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX25BSUNhbGlicmF0aW9uX2dldE9mZnNldChtX21vZHVsZS0+Z2V0U3lzdGVtSW5kZXgoKSwgY2hhbm5lbCAtIDEsIChJTlQzMiopJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIG9mZnNldDsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nTW9kdWxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dNb2R1bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYzYmI0Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dNb2R1bGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBBTkFMT0dfTU9EVUxFX0hfDQotI2RlZmluZSBBTkFMT0dfTU9EVUxFX0hfDQotDQotI2luY2x1ZGUgIkNoaXBPYmplY3QuaCINCi0jaW5jbHVkZSAiTW9kdWxlLmgiDQotDQotLyoqDQotICogQW5hbG9nIE1vZHVsZSBjbGFzcy4NCi0gKiBFYWNoIG1vZHVsZSBjYW4gaW5kZXBlbmRlbnRseSBzYW1wbGUgaXRzIGNoYW5uZWxzIGF0IGEgY29uZmlndXJhYmxlIHJhdGUuDQotICogVGhlcmUgaXMgYSA2NC1iaXQgaGFyZHdhcmUgYWNjdW11bGF0b3IgYXNzb2NpYXRlZCB3aXRoIGNoYW5uZWwgMSBvbiBlYWNoIG1vZHVsZS4NCi0gKiBUaGUgYWNjdW11bGF0b3IgaXMgYXR0YWNoZWQgdG8gdGhlIG91dHB1dCBvZiB0aGUgb3ZlcnNhbXBsZSBhbmQgYXZlcmFnZSBlbmdpbmUgc28gdGhhdCB0aGUgY2VudGVyDQotICogdmFsdWUgY2FuIGJlIHNwZWNpZmllZCBpbiBoaWdoZXIgcmVzb2x1dGlvbiByZXN1bHRpbmcgaW4gbGVzcyBlcnJvci4NCi0gKi8NCi1jbGFzcyBBbmFsb2dNb2R1bGU6IHB1YmxpYyBNb2R1bGUNCi17IA0KLSAgICBmcmllbmQgY2xhc3MgTW9kdWxlOw0KLQ0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IGxvbmcga1RpbWViYXNlID0gNDAwMDAwMDA7IC8vLzwgNDAgTUh6IGNsb2NrDQotCXN0YXRpYyBjb25zdCBsb25nIGtEZWZhdWx0T3ZlcnNhbXBsZUJpdHMgPSAwOw0KLQlzdGF0aWMgY29uc3QgbG9uZyBrRGVmYXVsdEF2ZXJhZ2VCaXRzID0gNzsNCi0Jc3RhdGljIGNvbnN0IGZsb2F0IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDUwMDAwLjA7DQotDQotCXZvaWQgU2V0U2FtcGxlUmF0ZShmbG9hdCBzYW1wbGVzUGVyU2Vjb25kKTsNCi0JZmxvYXQgR2V0U2FtcGxlUmF0ZSgpOw0KLQl2b2lkIFNldEF2ZXJhZ2VCaXRzKFVJTlQzMiBjaGFubmVsLCBVSU5UMzIgYml0cyk7DQotCVVJTlQzMiBHZXRBdmVyYWdlQml0cyhVSU5UMzIgY2hhbm5lbCk7DQotCXZvaWQgU2V0T3ZlcnNhbXBsZUJpdHMoVUlOVDMyIGNoYW5uZWwsIFVJTlQzMiBiaXRzKTsNCi0JVUlOVDMyIEdldE92ZXJzYW1wbGVCaXRzKFVJTlQzMiBjaGFubmVsKTsNCi0JSU5UMTYgR2V0VmFsdWUoVUlOVDMyIGNoYW5uZWwpOw0KLQlJTlQzMiBHZXRBdmVyYWdlVmFsdWUoVUlOVDMyIGNoYW5uZWwpOw0KLQlmbG9hdCBHZXRBdmVyYWdlVm9sdGFnZShVSU5UMzIgY2hhbm5lbCk7DQotCWZsb2F0IEdldFZvbHRhZ2UoVUlOVDMyIGNoYW5uZWwpOw0KLQlVSU5UMzIgR2V0TFNCV2VpZ2h0KFVJTlQzMiBjaGFubmVsKTsNCi0JSU5UMzIgR2V0T2Zmc2V0KFVJTlQzMiBjaGFubmVsKTsNCi0JSU5UMzIgVm9sdHNUb1ZhbHVlKElOVDMyIGNoYW5uZWwsIGZsb2F0IHZvbHRhZ2UpOw0KLQ0KLQlzdGF0aWMgQW5hbG9nTW9kdWxlKiBHZXRJbnN0YW5jZShVSU5UOCBtb2R1bGVOdW1iZXIpOw0KLQ0KLXByb3RlY3RlZDoNCi0JZXhwbGljaXQgQW5hbG9nTW9kdWxlKFVJTlQ4IG1vZHVsZU51bWJlcik7DQotCXZpcnR1YWwgfkFuYWxvZ01vZHVsZSgpOw0KLQ0KLXByaXZhdGU6DQotCXN0YXRpYyBTRU1fSUQgbV9yZWdpc3RlcldpbmRvd1NlbWFwaG9yZTsNCi0NCi0JVUlOVDMyIEdldE51bUFjdGl2ZUNoYW5uZWxzKCk7DQotCVVJTlQzMiBHZXROdW1DaGFubmVsc1RvQWN0aXZhdGUoKTsNCi0Jdm9pZCBTZXROdW1DaGFubmVsc1RvQWN0aXZhdGUoVUlOVDMyIGNoYW5uZWxzKTsNCi0NCi0JdEFJICptX21vZHVsZTsNCi0JYm9vbCBtX3NhbXBsZVJhdGVTZXQ7DQotCVVJTlQzMiBtX251bUNoYW5uZWxzVG9BY3RpdmF0ZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ1RyaWdnZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nVHJpZ2dlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNDIwZDUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nVHJpZ2dlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMDAgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQW5hbG9nVHJpZ2dlci5oIg0KLQ0KLSNpbmNsdWRlICJBbmFsb2dDaGFubmVsLmgiDQotI2luY2x1ZGUgIkFuYWxvZ01vZHVsZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJSZXNvdXJjZS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi1zdGF0aWMgUmVzb3VyY2UgKnRyaWdnZXJzID0gTlVMTDsNCi0NCi0vKioNCi0gKiBJbml0aWFsaXplIGFuIGFuYWxvZyB0cmlnZ2VyIGZyb20gYSBzbG90IGFuZCBjaGFubmVsLg0KLSAqIFRoaXMgaXMgdGhlIGNvbW1vbiBjb2RlIGZvciB0aGUgdHdvIGNvbnN0cnVjdG9ycyB0aGF0IHVzZSBhIHNsb3QgYW5kIGNoYW5uZWwuDQotICovDQotdm9pZCBBbmFsb2dUcmlnZ2VyOjpJbml0VHJpZ2dlcihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JUmVzb3VyY2U6OkNyZWF0ZVJlc291cmNlT2JqZWN0KCZ0cmlnZ2VycywgdEFuYWxvZ1RyaWdnZXI6OmtOdW1TeXN0ZW1zKTsNCi0JVUlOVDMyIGluZGV4ID0gdHJpZ2dlcnMtPkFsbG9jYXRlKCJBbmFsb2cgVHJpZ2dlciIpOw0KLQlpZiAoaW5kZXggPT0gfjB1bCkNCi0Jew0KLQkJQ2xvbmVFcnJvcih0cmlnZ2Vycyk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9pbmRleCA9IChVSU5UOClpbmRleDsNCi0JbV9jaGFubmVsID0gY2hhbm5lbDsNCi0JbV9hbmFsb2dNb2R1bGUgPSBBbmFsb2dNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotDQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX3RyaWdnZXIgPSB0QW5hbG9nVHJpZ2dlcjo6Y3JlYXRlKG1faW5kZXgsICZsb2NhbFN0YXR1cyk7DQotCW1fdHJpZ2dlci0+d3JpdGVTb3VyY2VTZWxlY3RfQ2hhbm5lbChtX2NoYW5uZWwgLSAxLCAmbG9jYWxTdGF0dXMpOw0KLQltX3RyaWdnZXItPndyaXRlU291cmNlU2VsZWN0X01vZHVsZShtb2R1bGVOdW1iZXIgLSAxLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfQW5hbG9nVHJpZ2dlciwgbV9jaGFubmVsLCBtb2R1bGVOdW1iZXIgLSAxKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGFuIGFuYWxvZyB0cmlnZ2VyIGdpdmVuIGEgY2hhbm5lbCBudW1iZXIuDQotICogVGhlIGRlZmF1bHQgbW9kdWxlIGlzIHVzZWQgaW4gdGhpcyBjYXNlLg0KLSAqDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGFuYWxvZyBjaGFubmVsICgxLi44KS4NCi0gKi8NCi1BbmFsb2dUcmlnZ2VyOjpBbmFsb2dUcmlnZ2VyKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSW5pdFRyaWdnZXIoR2V0RGVmYXVsdEFuYWxvZ01vZHVsZSgpLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGFuIGFuYWxvZyB0cmlnZ2VyIGdpdmVuIGJvdGggdGhlIHNsb3QgYW5kIGNoYW5uZWwuDQotICoNCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBhbmFsb2cgbW9kdWxlICgxIG9yIDIpLg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBhbmFsb2cgY2hhbm5lbCAoMS4uOCkuDQotICovDQotQW5hbG9nVHJpZ2dlcjo6QW5hbG9nVHJpZ2dlcihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSW5pdFRyaWdnZXIobW9kdWxlTnVtYmVyLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0IGFuIGFuYWxvZyB0cmlnZ2VyIGdpdmVuIGFuIGFuYWxvZyBjaGFubmVsLg0KLSAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gdGhlIGNhc2Ugb2Ygc2hhcmluZyBhbiBhbmFsb2cgY2hhbm5lbCBiZXR3ZWVuIHRoZSB0cmlnZ2VyDQotICogYW5kIGFuIGFuYWxvZyBpbnB1dCBvYmplY3QuDQotICovDQotQW5hbG9nVHJpZ2dlcjo6QW5hbG9nVHJpZ2dlcihBbmFsb2dDaGFubmVsICpjaGFubmVsKQ0KLXsNCi0JSW5pdFRyaWdnZXIoY2hhbm5lbC0+R2V0TW9kdWxlTnVtYmVyKCksIGNoYW5uZWwtPkdldENoYW5uZWwoKSk7DQotfQ0KLQ0KLUFuYWxvZ1RyaWdnZXI6On5BbmFsb2dUcmlnZ2VyKCkNCi17DQotCXRyaWdnZXJzLT5GcmVlKG1faW5kZXgpOw0KLQlkZWxldGUgbV90cmlnZ2VyOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHVwcGVyIGFuZCBsb3dlciBsaW1pdHMgb2YgdGhlIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIFRoZSBsaW1pdHMgYXJlIGdpdmVuIGluIEFEQyBjb2Rlcy4gIElmIG92ZXJzYW1wbGluZyBpcyB1c2VkLCB0aGUgdW5pdHMgbXVzdCBiZSBzY2FsZWQNCi0gKiBhcHByb3ByaWF0ZWx5Lg0KLSAqLw0KLXZvaWQgQW5hbG9nVHJpZ2dlcjo6U2V0TGltaXRzUmF3KElOVDMyIGxvd2VyLCBJTlQzMiB1cHBlcikNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKGxvd2VyID4gdXBwZXIpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihBbmFsb2dUcmlnZ2VyTGltaXRPcmRlckVycm9yKTsNCi0JfQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV90cmlnZ2VyLT53cml0ZUxvd2VyTGltaXQobG93ZXIsICZsb2NhbFN0YXR1cyk7DQotCW1fdHJpZ2dlci0+d3JpdGVVcHBlckxpbWl0KHVwcGVyLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHVwcGVyIGFuZCBsb3dlciBsaW1pdHMgb2YgdGhlIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIFRoZSBsaW1pdHMgYXJlIGdpdmVuIGFzIGZsb2F0aW5nIHBvaW50IHZvbHRhZ2UgdmFsdWVzLg0KLSAqLw0KLXZvaWQgQW5hbG9nVHJpZ2dlcjo6U2V0TGltaXRzVm9sdGFnZShmbG9hdCBsb3dlciwgZmxvYXQgdXBwZXIpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChsb3dlciA+IHVwcGVyKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoQW5hbG9nVHJpZ2dlckxpbWl0T3JkZXJFcnJvcik7DQotCX0NCi0JLy8gVE9ETzogVGhpcyBkZXBlbmRzIG9uIHRoZSBhdmVyYWdlZCBzZXR0aW5nLiAgT25seSByYXcgdmFsdWVzIHdpbGwgd29yayBhcyBpcy4NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fdHJpZ2dlci0+d3JpdGVMb3dlckxpbWl0KG1fYW5hbG9nTW9kdWxlLT5Wb2x0c1RvVmFsdWUobV9jaGFubmVsLCBsb3dlciksICZsb2NhbFN0YXR1cyk7DQotCW1fdHJpZ2dlci0+d3JpdGVVcHBlckxpbWl0KG1fYW5hbG9nTW9kdWxlLT5Wb2x0c1RvVmFsdWUobV9jaGFubmVsLCB1cHBlciksICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgYW5hbG9nIHRyaWdnZXIgdG8gdXNlIHRoZSBhdmVyYWdlZCB2cy4gcmF3IHZhbHVlcy4NCi0gKiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlbiB0aGUgYXZlcmFnZWQgdmFsdWUgaXMgc2VsZWN0ZWQgZm9yIHRoZSBhbmFsb2cgdHJpZ2dlciwgb3RoZXJ3aXNlDQotICogdGhlIGltbWVkaWF0ZSB2YWx1ZSBpcyB1c2VkLg0KLSAqLw0KLXZvaWQgQW5hbG9nVHJpZ2dlcjo6U2V0QXZlcmFnZWQoYm9vbCB1c2VBdmVyYWdlZFZhbHVlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JaWYgKG1fdHJpZ2dlci0+cmVhZFNvdXJjZVNlbGVjdF9GaWx0ZXIoJmxvY2FsU3RhdHVzKSAhPSAwKQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoSW5jb21wYXRpYmxlTW9kZSwgIkhhcmR3YXJlIGRvZXMgbm90IHN1cHBvcnQgYXZlcmFnZSBhbmQgZmlsdGVyaW5nIGF0IHRoZSBzYW1lIHRpbWUuIik7DQotCW1fdHJpZ2dlci0+d3JpdGVTb3VyY2VTZWxlY3RfQXZlcmFnZWQodXNlQXZlcmFnZWRWYWx1ZSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBhbmFsb2cgdHJpZ2dlciB0byB1c2UgYSBmaWx0ZXJlZCB2YWx1ZS4NCi0gKiBUaGUgYW5hbG9nIHRyaWdnZXIgd2lsbCBvcGVyYXRlIHdpdGggYSAzIHBvaW50IGF2ZXJhZ2UgcmVqZWN0aW9uIGZpbHRlci4gVGhpcyBpcyBkZXNpZ25lZCB0bw0KLSAqIGhlbHAgd2l0aCAzNjAgZGVncmVlIHBvdCBhcHBsaWNhdGlvbnMgZm9yIHRoZSBwZXJpb2Qgd2hlcmUgdGhlIHBvdCBjcm9zc2VzIHRocm91Z2ggemVyby4NCi0gKi8NCi12b2lkIEFuYWxvZ1RyaWdnZXI6OlNldEZpbHRlcmVkKGJvb2wgdXNlRmlsdGVyZWRWYWx1ZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWlmIChtX3RyaWdnZXItPnJlYWRTb3VyY2VTZWxlY3RfQXZlcmFnZWQoJmxvY2FsU3RhdHVzKSAhPSAwKQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoSW5jb21wYXRpYmxlTW9kZSwgIkhhcmR3YXJlIGRvZXMgbm90IHN1cHBvcnQgYXZlcmFnZSBhbmQgZmlsdGVyaW5nIGF0IHRoZSBzYW1lIHRpbWUuIik7DQotCW1fdHJpZ2dlci0+d3JpdGVTb3VyY2VTZWxlY3RfRmlsdGVyKHVzZUZpbHRlcmVkVmFsdWUsICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgaW5kZXggb2YgdGhlIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIFRoaXMgaXMgdGhlIEZQR0EgaW5kZXggb2YgdGhpcyBhbmFsb2cgdHJpZ2dlciBpbnN0YW5jZS4NCi0gKiBAcmV0dXJuIFRoZSBpbmRleCBvZiB0aGUgYW5hbG9nIHRyaWdnZXIuDQotICovDQotVUlOVDMyIEFuYWxvZ1RyaWdnZXI6OkdldEluZGV4KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiB+MHVsOw0KLQlyZXR1cm4gbV9pbmRleDsNCi19DQotDQotLyoqDQotICogUmV0dXJuIHRoZSBJbldpbmRvdyBvdXRwdXQgb2YgdGhlIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIFRydWUgaWYgdGhlIGFuYWxvZyBpbnB1dCBpcyBiZXR3ZWVuIHRoZSB1cHBlciBhbmQgbG93ZXIgbGltaXRzLg0KLSAqIEByZXR1cm4gVGhlIEluV2luZG93IG91dHB1dCBvZiB0aGUgYW5hbG9nIHRyaWdnZXIuDQotICovDQotYm9vbCBBbmFsb2dUcmlnZ2VyOjpHZXRJbldpbmRvdygpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gZmFsc2U7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlib29sIHJlc3VsdCA9IG1fdHJpZ2dlci0+cmVhZE91dHB1dF9Jbkh5c3RlcmVzaXMobV9pbmRleCwgJmxvY2FsU3RhdHVzKSAhPSAwOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIFRyaWdnZXJTdGF0ZSBvdXRwdXQgb2YgdGhlIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIFRydWUgaWYgYWJvdmUgdXBwZXIgbGltaXQuDQotICogRmFsc2UgaWYgYmVsb3cgbG93ZXIgbGltaXQuDQotICogSWYgaW4gSHlzdGVyZXNpcywgbWFpbnRhaW4gcHJldmlvdXMgc3RhdGUuDQotICogQHJldHVybiBUaGUgVHJpZ2dlclN0YXRlIG91dHB1dCBvZiB0aGUgYW5hbG9nIHRyaWdnZXIuDQotICovDQotYm9vbCBBbmFsb2dUcmlnZ2VyOjpHZXRUcmlnZ2VyU3RhdGUoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIGZhbHNlOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JYm9vbCByZXN1bHQgPSBtX3RyaWdnZXItPnJlYWRPdXRwdXRfT3ZlckxpbWl0KG1faW5kZXgsICZsb2NhbFN0YXR1cykgIT0gMDsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhbiBBbmFsb2dUcmlnZ2VyT3V0cHV0IG9iamVjdC4NCi0gKiBHZXRzIGFuIG91dHB1dCBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCBmb3Igcm91dGluZy4NCi0gKiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGRlbGV0aW5nIHRoZSBBbmFsb2dUcmlnZ2VyT3V0cHV0IG9iamVjdC4NCi0gKiBAcGFyYW0gdHlwZSBBbiBlbnVtIG9mIHRoZSB0eXBlIG9mIG91dHB1dCBvYmplY3QgdG8gY3JlYXRlLg0KLSAqIEByZXR1cm4gQSBwb2ludGVyIHRvIGEgbmV3IEFuYWxvZ1RyaWdnZXJPdXRwdXQgb2JqZWN0Lg0KLSAqLw0KLUFuYWxvZ1RyaWdnZXJPdXRwdXQgKkFuYWxvZ1RyaWdnZXI6OkNyZWF0ZU91dHB1dChBbmFsb2dUcmlnZ2VyT3V0cHV0OjpUeXBlIHR5cGUpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gTlVMTDsNCi0JcmV0dXJuIG5ldyBBbmFsb2dUcmlnZ2VyT3V0cHV0KHRoaXMsIHR5cGUpOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dUcmlnZ2VyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dUcmlnZ2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2OTVhMzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nVHJpZ2dlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEFOQUxPR19UUklHR0VSX0hfDQotI2RlZmluZSBBTkFMT0dfVFJJR0dFUl9IXw0KLQ0KLSNpbmNsdWRlICJBbmFsb2dUcmlnZ2VyT3V0cHV0LmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0NCi1jbGFzcyBBbmFsb2dDaGFubmVsOw0KLWNsYXNzIEFuYWxvZ01vZHVsZTsNCi0NCi1jbGFzcyBBbmFsb2dUcmlnZ2VyOiBwdWJsaWMgU2Vuc29yQmFzZQ0KLXsNCi0JZnJpZW5kIGNsYXNzIEFuYWxvZ1RyaWdnZXJPdXRwdXQ7DQotcHVibGljOg0KLQlBbmFsb2dUcmlnZ2VyKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQlleHBsaWNpdCBBbmFsb2dUcmlnZ2VyKFVJTlQzMiBjaGFubmVsKTsNCi0JZXhwbGljaXQgQW5hbG9nVHJpZ2dlcihBbmFsb2dDaGFubmVsICpjaGFubmVsKTsNCi0JdmlydHVhbCB+QW5hbG9nVHJpZ2dlcigpOw0KLQ0KLQl2b2lkIFNldExpbWl0c1ZvbHRhZ2UoZmxvYXQgbG93ZXIsIGZsb2F0IHVwcGVyKTsNCi0Jdm9pZCBTZXRMaW1pdHNSYXcoSU5UMzIgbG93ZXIsIElOVDMyIHVwcGVyKTsNCi0Jdm9pZCBTZXRBdmVyYWdlZChib29sIHVzZUF2ZXJhZ2VkVmFsdWUpOw0KLQl2b2lkIFNldEZpbHRlcmVkKGJvb2wgdXNlRmlsdGVyZWRWYWx1ZSk7DQotCVVJTlQzMiBHZXRJbmRleCgpOw0KLQlib29sIEdldEluV2luZG93KCk7DQotCWJvb2wgR2V0VHJpZ2dlclN0YXRlKCk7DQotCUFuYWxvZ1RyaWdnZXJPdXRwdXQgKkNyZWF0ZU91dHB1dChBbmFsb2dUcmlnZ2VyT3V0cHV0OjpUeXBlIHR5cGUpOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdFRyaWdnZXIoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotDQotCVVJTlQ4IG1faW5kZXg7DQotCXRBbmFsb2dUcmlnZ2VyICptX3RyaWdnZXI7DQotCUFuYWxvZ01vZHVsZSAqbV9hbmFsb2dNb2R1bGU7DQotCVVJTlQzMiBtX2NoYW5uZWw7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9BbmFsb2dUcmlnZ2VyT3V0cHV0LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ1RyaWdnZXJPdXRwdXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTNlZjVjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ1RyaWdnZXJPdXRwdXQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQW5hbG9nVHJpZ2dlck91dHB1dC5oIg0KLSNpbmNsdWRlICJBbmFsb2dUcmlnZ2VyLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBvYmplY3QgdGhhdCByZXByZXNlbnRzIG9uZSBvZiB0aGUgZm91ciBvdXRwdXRzIGZyb20gYW4gYW5hbG9nIHRyaWdnZXIuDQotICogDQotICogQmVjYXVzZSB0aGlzIGNsYXNzIGRlcml2ZXMgZnJvbSBEaWdpdGFsU291cmNlLCBpdCBjYW4gYmUgcGFzc2VkIGludG8gcm91dGluZyBmdW5jdGlvbnMNCi0gKiBmb3IgQ291bnRlciwgRW5jb2RlciwgZXRjLg0KLSAqIA0KLSAqIEBwYXJhbSB0cmlnZ2VyIEEgcG9pbnRlciB0byB0aGUgdHJpZ2dlciBmb3Igd2hpY2ggdGhpcyBpcyBhbiBvdXRwdXQuDQotICogQHBhcmFtIG91dHB1dFR5cGUgQW4gZW51bSB0aGF0IHNwZWNpZmllcyB0aGUgb3V0cHV0IG9uIHRoZSB0cmlnZ2VyIHRvIHJlcHJlc2VudC4NCi0gKi8NCi1BbmFsb2dUcmlnZ2VyT3V0cHV0OjpBbmFsb2dUcmlnZ2VyT3V0cHV0KEFuYWxvZ1RyaWdnZXIgKnRyaWdnZXIsIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OlR5cGUgb3V0cHV0VHlwZSkNCi0JOiBtX3RyaWdnZXIgKHRyaWdnZXIpDQotCSwgbV9vdXRwdXRUeXBlIChvdXRwdXRUeXBlKQ0KLXsNCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0FuYWxvZ1RyaWdnZXJPdXRwdXQsIHRyaWdnZXItPkdldEluZGV4KCksIG91dHB1dFR5cGUpOw0KLX0NCi0NCi1BbmFsb2dUcmlnZ2VyT3V0cHV0Ojp+QW5hbG9nVHJpZ2dlck91dHB1dCgpDQotew0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHN0YXRlIG9mIHRoZSBhbmFsb2cgdHJpZ2dlciBvdXRwdXQuDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIGFuYWxvZyB0cmlnZ2VyIG91dHB1dC4NCi0gKi8NCi1ib29sIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OkdldCgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JYm9vbCByZXN1bHQgPSBmYWxzZTsNCi0Jc3dpdGNoKG1fb3V0cHV0VHlwZSkNCi0Jew0KLQljYXNlIGtJbldpbmRvdzoNCi0JCXJlc3VsdCA9IG1fdHJpZ2dlci0+bV90cmlnZ2VyLT5yZWFkT3V0cHV0X0luSHlzdGVyZXNpcyhtX3RyaWdnZXItPm1faW5kZXgsICZsb2NhbFN0YXR1cyk7DQotCWNhc2Uga1N0YXRlOg0KLQkJcmVzdWx0ID0gbV90cmlnZ2VyLT5tX3RyaWdnZXItPnJlYWRPdXRwdXRfT3ZlckxpbWl0KG1fdHJpZ2dlci0+bV9pbmRleCwgJmxvY2FsU3RhdHVzKTsNCi0JY2FzZSBrUmlzaW5nUHVsc2U6DQotCWNhc2Uga0ZhbGxpbmdQdWxzZToNCi0JCXdwaV9zZXRXUElFcnJvcihBbmFsb2dUcmlnZ2VyUHVsc2VPdXRwdXRFcnJvcik7DQotCQlyZXR1cm4gZmFsc2U7DQotCX0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgY2hhbm5lbCBmaWVsZCBvZiBhIHJvdXRpbmcgbXV4Lg0KLSAqLw0KLVVJTlQzMiBBbmFsb2dUcmlnZ2VyT3V0cHV0OjpHZXRDaGFubmVsRm9yUm91dGluZygpDQotew0KLQlyZXR1cm4gKG1fdHJpZ2dlci0+bV9pbmRleCA8PCAyKSArIG1fb3V0cHV0VHlwZTsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgbW9kdWxlIGZpZWxkIG9mIGEgcm91dGluZyBtdXguDQotICovDQotVUlOVDMyIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OkdldE1vZHVsZUZvclJvdXRpbmcoKQ0KLXsNCi0JcmV0dXJuIG1fdHJpZ2dlci0+bV9pbmRleCA+PiAyOw0KLX0NCi0NCi0vKioNCi0gKiBAcmV0dXJuIFRoZSB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIHRoZSBtb2R1bGUgZmllbGQgb2YgYSByb3V0aW5nIG11eC4NCi0gKi8NCi1ib29sIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OkdldEFuYWxvZ1RyaWdnZXJGb3JSb3V0aW5nKCkNCi17DQotCXJldHVybiB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBSZXF1ZXN0IGludGVycnVwdHMgYXN5bmNocm9ub3VzbHkgb24gdGhpcyBhbmFsb2cgdHJpZ2dlciBvdXRwdXQuDQotICogVE9ETzogSGFyZHdhcmUgc3VwcG9ydHMgaW50ZXJydXB0cyBvbiBBbmFsb2cgVHJpZ2dlciBvdXRwdXRzLi4uIFdQSUxpYiBzaG91bGQgdG9vDQotICovDQotdm9pZCBBbmFsb2dUcmlnZ2VyT3V0cHV0OjpSZXF1ZXN0SW50ZXJydXB0cyh0SW50ZXJydXB0SGFuZGxlciBoYW5kbGVyLCB2b2lkICpwYXJhbSkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcXVlc3QgaW50ZXJydXB0cyBzeW5jaHJvbm91c2x5IG9uIHRoaXMgYW5hbG9nIHRyaWdnZXIgb3V0cHV0Lg0KLSAqIFRPRE86IEhhcmR3YXJlIHN1cHBvcnRzIGludGVycnVwdHMgb24gQW5hbG9nIFRyaWdnZXIgb3V0cHV0cy4uLiBXUElMaWIgc2hvdWxkIHRvbw0KLSAqLw0KLXZvaWQgQW5hbG9nVHJpZ2dlck91dHB1dDo6UmVxdWVzdEludGVycnVwdHMoKQ0KLXsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nVHJpZ2dlck91dHB1dC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQW5hbG9nVHJpZ2dlck91dHB1dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTYzY2Y2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0FuYWxvZ1RyaWdnZXJPdXRwdXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBBTkFMT0dfVFJJR0dFUl9PVVRQVVRfSF8NCi0jZGVmaW5lIEFOQUxPR19UUklHR0VSX09VVFBVVF9IXw0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsU291cmNlLmgiDQotDQotY2xhc3MgQW5hbG9nVHJpZ2dlcjsNCi0NCi0vKioNCi0gKiBDbGFzcyB0byByZXByZXNlbnQgYSBzcGVjaWZpYyBvdXRwdXQgZnJvbSBhbiBhbmFsb2cgdHJpZ2dlci4NCi0gKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gZ2V0IHRoZSBjdXJyZW50IG91dHB1dCB2YWx1ZSBhbmQgYWxzbyBhcyBhIERpZ2l0YWxTb3VyY2UNCi0gKiB0byBwcm92aWRlIHJvdXRpbmcgb2YgYW4gb3V0cHV0IHRvIGRpZ2l0YWwgc3Vic3lzdGVtcyBvbiB0aGUgRlBHQSBzdWNoIGFzDQotICogQ291bnRlciwgRW5jb2RlciwgYW5kIEludGVycnVwdC4NCi0gKiANCi0gKiBUaGUgVHJpZ2dlclN0YXRlIG91dHB1dCBpbmRpY2F0ZXMgdGhlIHByaW1hcnkgb3V0cHV0IHZhbHVlIG9mIHRoZSB0cmlnZ2VyLiAgSWYgdGhlIGFuYWxvZw0KLSAqIHNpZ25hbCBpcyBsZXNzIHRoYW4gdGhlIGxvd2VyIGxpbWl0LCB0aGUgb3V0cHV0IGlzIGZhbHNlLiAgSWYgdGhlIGFuYWxvZyB2YWx1ZSBpcyBncmVhdGVyDQotICogdGhhbiB0aGUgdXBwZXIgbGltaXQsIHRoZW4gdGhlIG91dHB1dCBpcyB0cnVlLiAgSWYgdGhlIGFuYWxvZyB2YWx1ZSBpcyBpbiBiZXR3ZWVuLCB0aGVuDQotICogdGhlIHRyaWdnZXIgb3V0cHV0IHN0YXRlIG1haW50YWlucyBpdHMgbW9zdCByZWNlbnQgdmFsdWUuDQotICogDQotICogVGhlIEluV2luZG93IG91dHB1dCBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlIGFuYWxvZyBzaWduYWwgaXMgaW5zaWRlIHRoZSByYW5nZSBkZWZpbmVkDQotICogYnkgdGhlIGxpbWl0cy4NCi0gKiANCi0gKiBUaGUgUmlzaW5nUHVsc2UgYW5kIEZhbGxpbmdQdWxzZSBvdXRwdXRzIGRldGVjdCBhbiBpbnN0YW50YW5lb3VzIHRyYW5zaXRpb24gZnJvbSBhYm92ZSB0aGUNCi0gKiB1cHBlciBsaW1pdCB0byBiZWxvdyB0aGUgbG93ZXIgbGltaXQsIGFuZCB2aXNlIHZlcnNhLiAgVGhlc2UgcHVsc2VzIHJlcHJlc2VudCBhIHJvbGxvdmVyDQotICogY29uZGl0aW9uIG9mIGEgc2Vuc29yIGFuZCBjYW4gYmUgcm91dGVkIHRvIGFuIHVwIC8gZG93biBjb3V0ZXIgb3IgdG8gaW50ZXJydXB0cy4gIEJlY2F1c2UNCi0gKiB0aGUgb3V0cHV0cyBnZW5lcmF0ZSBhIHB1bHNlLCB0aGV5IGNhbm5vdCBiZSByZWFkIGRpcmVjdGx5LiAgVG8gaGVscCBlbnN1cmUgdGhhdCBhIHJvbGxvdmVyDQotICogY29uZGl0aW9uIGlzIG5vdCBtaXNzZWQsIHRoZXJlIGlzIGFuIGF2ZXJhZ2UgcmVqZWN0aW9uIGZpbHRlciBhdmFpbGFibGUgdGhhdCBvcGVyYXRlcyBvbiB0aGUNCi0gKiB1cHBlciA4IGJpdHMgb2YgYSAxMiBiaXQgbnVtYmVyIGFuZCBzZWxlY3RzIHRoZSBuZWFyZXN0IG91dGx5ZXIgb2YgMyBzYW1wbGVzLiAgVGhpcyB3aWxsIHJlamVjdA0KLSAqIGEgc2FtcGxlIHRoYXQgaXMgKGR1ZSB0byBhdmVyYWdpbmcgb3Igc2FtcGxpbmcpIGVycmFudGx5IGJldHdlZW4gdGhlIHR3byBsaW1pdHMuICBUaGlzIGZpbHRlcg0KLSAqIHdpbGwgZmFpbCBpZiBtb3JlIHRoYW4gb25lIHNhbXBsZSBpbiBhIHJvdyBpcyBlcnJhbnRseSBpbiBiZXR3ZWVuIHRoZSB0d28gbGltaXRzLiAgWW91IG1heSBzZWUNCi0gKiB0aGlzIHByb2JsZW0gaWYgYXR0ZW1wdGluZyB0byB1c2UgdGhpcyBmZWF0dXJlIHdpdGggYSBtZWNoYW5pY2FsIHJvbGxvdmVyIHNlbnNvciwgc3VjaCBhcyBhDQotICogMzYwIGRlZ3JlZSBuby1zdG9wIHBvdGVudGlvbWV0ZXIgd2l0aG91dCBzaWduYWwgY29uZGl0aW9uaW5nLCBiZWNhdXNlIHRoZSByb2xsb3ZlciB0cmFuc2l0aW9uDQotICogaXMgbm90IHNoYXJwIC8gY2xlYW4gZW5vdWdoLiAgVXNpbmcgdGhlIGF2ZXJhZ2luZyBlbmdpbmUgbWF5IGhlbHAgd2l0aCB0aGlzLCBidXQgcm90YXRpb25hbCBzcGVlZHMgb2YNCi0gKiB0aGUgc2Vuc29yIHdpbGwgdGhlbiBiZSBsaW1pdGVkLg0KLSAqLw0KLWNsYXNzIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6IHB1YmxpYyBEaWdpdGFsU291cmNlDQotew0KLQlmcmllbmQgY2xhc3MgQW5hbG9nVHJpZ2dlcjsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bSB7a0luV2luZG93PTAsIGtTdGF0ZT0xLCBrUmlzaW5nUHVsc2U9Miwga0ZhbGxpbmdQdWxzZT0zfSBUeXBlOw0KLQkNCi0JdmlydHVhbCB+QW5hbG9nVHJpZ2dlck91dHB1dCgpOw0KLQlib29sIEdldCgpOw0KLQ0KLQkvLyBEaWdpdGFsU291cmNlIGludGVyZmFjZQ0KLQl2aXJ0dWFsIFVJTlQzMiBHZXRDaGFubmVsRm9yUm91dGluZygpOw0KLQl2aXJ0dWFsIFVJTlQzMiBHZXRNb2R1bGVGb3JSb3V0aW5nKCk7DQotCXZpcnR1YWwgYm9vbCBHZXRBbmFsb2dUcmlnZ2VyRm9yUm91dGluZygpOw0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHModEludGVycnVwdEhhbmRsZXIgaGFuZGxlciwgdm9pZCAqcGFyYW09TlVMTCk7IC8vLzwgQXN5bmNocm9udXMgaGFuZGxlciB2ZXJzaW9uLg0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHMoKTsJCS8vLzwgU3luY2hyb251cyBXYWl0IHZlcnNpb24uDQotcHJvdGVjdGVkOg0KLQlBbmFsb2dUcmlnZ2VyT3V0cHV0KEFuYWxvZ1RyaWdnZXIgKnRyaWdnZXIsIFR5cGUgb3V0cHV0VHlwZSk7DQotDQotcHJpdmF0ZToNCi0JQW5hbG9nVHJpZ2dlciAqbV90cmlnZ2VyOw0KLQlUeXBlIG1fb3V0cHV0VHlwZTsNCi19Ow0KLQ0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Jhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Jhc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc0YTI1ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX0JBU0VfSA0KLSNkZWZpbmUgX0JBU0VfSA0KLQ0KLS8vIEEgbWFjcm8gdG8gZGlzYWxsb3cgdGhlIGNvcHkgY29uc3RydWN0b3IgYW5kIG9wZXJhdG9yPSBmdW5jdGlvbnMNCi0vLyBUaGlzIHNob3VsZCBiZSB1c2VkIGluIHRoZSBwcml2YXRlOiBkZWNsYXJhdGlvbnMgZm9yIGEgY2xhc3MNCi0jZGVmaW5lIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihUeXBlTmFtZSkgXA0KLSAgVHlwZU5hbWUoY29uc3QgVHlwZU5hbWUmKTsgICAgICAgICAgICAgICBcDQotICB2b2lkIG9wZXJhdG9yPShjb25zdCBUeXBlTmFtZSYpDQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0FuYWxvZ0lPQnV0dG9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjRiMDllZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0FuYWxvZ0lPQnV0dG9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQW5hbG9nSU9CdXR0b24uaCINCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLQ0KLWNvbnN0IGRvdWJsZSBBbmFsb2dJT0J1dHRvbjo6a1RocmVzaG9sZCA9IDAuNTsNCi0NCi1BbmFsb2dJT0J1dHRvbjo6QW5hbG9nSU9CdXR0b24oaW50IHBvcnQpIDoNCi0JbV9wb3J0KHBvcnQpDQotew0KLX0NCi0NCi1ib29sIEFuYWxvZ0lPQnV0dG9uOjpHZXQoKQ0KLXsNCi0JcmV0dXJuIERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkdldEVuaGFuY2VkSU8oKS5HZXRBbmFsb2dJbihtX3BvcnQpIDwga1RocmVzaG9sZDsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjYxNDc5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvQW5hbG9nSU9CdXR0b24uaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0FOQUxPR19JT19CVVRUT05fSF9fDQotI2RlZmluZSBfX0FOQUxPR19JT19CVVRUT05fSF9fDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQnV0dG9uLmgiDQotDQotY2xhc3MgQW5hbG9nSU9CdXR0b24gOiBwdWJsaWMgVHJpZ2dlcg0KLXsNCi1wdWJsaWM6DQotCXN0YXRpYyBjb25zdCBkb3VibGUga1RocmVzaG9sZDsNCi0NCi0JQW5hbG9nSU9CdXR0b24oaW50IHBvcnQpOw0KLQl2aXJ0dWFsIH5BbmFsb2dJT0J1dHRvbigpIHt9DQotCXZpcnR1YWwgYm9vbCBHZXQoKTsNCi0NCi1wcml2YXRlOg0KLQlpbnQgbV9wb3J0Ow0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b24uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjM2MWQ0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvQnV0dG9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbi5oIg0KLQ0KLS8qKg0KLSAqIFNwZWNpZmllcyB0aGUgY29tbWFuZCB0byBydW4gd2hlbiBhIGJ1dHRvbiBpcyBmaXJzdCBwcmVzc2VkDQotICogQHBhcmFtIGNvbW1hbmQgVGhlIHBvaW50ZXIgdG8gdGhlIGNvbW1hbmQgdG8gcnVuDQotICovDQotdm9pZCBCdXR0b246OldoZW5QcmVzc2VkKENvbW1hbmQgKmNvbW1hbmQpIHsNCi0JV2hlbkFjdGl2ZShjb21tYW5kKTsNCi19DQotDQotLyoqDQotICogU3BlY2lmaWVzIHRoZSBjb21tYW5kIHRvIGJlIHNjaGVkdWxlZCB3aGlsZSB0aGUgYnV0dG9uIGlzIHByZXNzZWQNCi0gKiBUaGUgY29tbWFuZCB3aWxsIGJlIHNjaGVkdWxlZCByZXBlYXRlZGx5IHdoaWxlIHRoZSBidXR0b24gaXMgcHJlc3NlZCBhbmQgd2lsbA0KLSAqIGJlIGNhbmNlbGVkIHdoZW4gdGhlIGJ1dHRvbiBpcyByZWxlYXNlZC4NCi0gKiBAcGFyYW0gY29tbWFuZCBUaGUgcG9pbnRlciB0byB0aGUgY29tbWFuZCB0byBydW4NCi0gKi8NCi12b2lkIEJ1dHRvbjo6V2hpbGVIZWxkKENvbW1hbmQgKmNvbW1hbmQpIHsNCi0JV2hpbGVBY3RpdmUoY29tbWFuZCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNwZWNpZmllcyB0aGUgY29tbWFuZCB0byBydW4gd2hlbiB0aGUgYnV0dG9uIGlzIHJlbGVhc2VkDQotICogVGhlIGNvbW1hbmQgd2lsbCBiZSBzY2hlZHVsZWQgYSBzaW5nbGUgdGltZS4NCi0gKiBAcGFyYW0gVGhlIHBvaW50ZXIgdG8gdGhlIGNvbW1hbmQgdG8gcnVuDQotICovDQotdm9pZCBCdXR0b246OldoZW5SZWxlYXNlZChDb21tYW5kICpjb21tYW5kKSB7DQotCVdoZW5JbmFjdGl2ZShjb21tYW5kKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b24uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvQnV0dG9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlYTY3OTkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b24uaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0JVVFRPTl9IX18NCi0jZGVmaW5lIF9fQlVUVE9OX0hfXw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL1RyaWdnZXIuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLS8qKg0KLSAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gbGluayBjb21tYW5kcyB0byBPSSBpbnB1dHMuDQotICoNCi0gKiBJdCBpcyB2ZXJ5IGVhc3kgdG8gbGluayBhIGJ1dHRvbiB0byBhIGNvbW1hbmQuICBGb3IgaW5zdGFuY2UsIHlvdSBjb3VsZA0KLSAqIGxpbmsgdGhlIHRyaWdnZXIgYnV0dG9uIG9mIGEgam95c3RpY2sgdG8gYSAic2NvcmUiIGNvbW1hbmQuDQotICoNCi0gKiBUaGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzdWJjbGFzcyBvZiBUcmlnZ2VyIHRoYXQgaXMgc3BlY2lmaWNhbGx5IGFpbWVkIGF0DQotICogYnV0dG9ucyBvbiBhbiBvcGVyYXRvciBpbnRlcmZhY2UgYXMgYSBjb21tb24gdXNlIGNhc2Ugb2YgdGhlIG1vcmUgZ2VuZXJhbGl6ZWQNCi0gKiBUcmlnZ2VyIG9iamVjdHMuIFRoaXMgaXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgVHJpZ2dlciB3aXRoIHRoZSBtZXRob2QgbmFtZXMNCi0gKiByZW5hbWVkIHRvIGZpdCB0aGUgQnV0dG9uIG9iamVjdCB1c2UuDQotICogDQotICogQGF1dGhvciBicmFkDQotICovDQotY2xhc3MgQnV0dG9uIDogcHVibGljIFRyaWdnZXIgew0KLXB1YmxpYzoNCi0JdmlydHVhbCB2b2lkIFdoZW5QcmVzc2VkKENvbW1hbmQgKmNvbW1hbmQpOw0KLQl2aXJ0dWFsIHZvaWQgV2hpbGVIZWxkKENvbW1hbmQgKmNvbW1hbmQpOw0KLQl2aXJ0dWFsIHZvaWQgV2hlblJlbGVhc2VkKENvbW1hbmQgKmNvbW1hbmQpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b25TY2hlZHVsZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b25TY2hlZHVsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZjIzMzEyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvQnV0dG9uU2NoZWR1bGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQnV0dG9uU2NoZWR1bGVyLmgiDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL1NjaGVkdWxlci5oIg0KLQ0KLUJ1dHRvblNjaGVkdWxlcjo6QnV0dG9uU2NoZWR1bGVyKGJvb2wgbGFzdCwgVHJpZ2dlciAqYnV0dG9uLCBDb21tYW5kICpvcmRlcnMpIDoNCi0JbV9wcmVzc2VkTGFzdChsYXN0KSwNCi0JbV9idXR0b24oYnV0dG9uKSwNCi0JbV9jb21tYW5kKG9yZGVycykNCi17DQotfQ0KLQ0KLXZvaWQgQnV0dG9uU2NoZWR1bGVyOjpTdGFydCgpDQotew0KLQlTY2hlZHVsZXI6OkdldEluc3RhbmNlKCktPkFkZEJ1dHRvbih0aGlzKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b25TY2hlZHVsZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvQnV0dG9uU2NoZWR1bGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlMjQzYWEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9CdXR0b25TY2hlZHVsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0JVVFRPTl9TQ0hFRFVMRVJfSF9fDQotI2RlZmluZSBfX0JVVFRPTl9TQ0hFRFVMRVJfSF9fDQotDQotY2xhc3MgVHJpZ2dlcjsNCi1jbGFzcyBDb21tYW5kOw0KLQ0KLWNsYXNzIEJ1dHRvblNjaGVkdWxlcg0KLXsNCi1wdWJsaWM6DQotCUJ1dHRvblNjaGVkdWxlcihib29sIGxhc3QsIFRyaWdnZXIgKmJ1dHRvbiwgQ29tbWFuZCAqb3JkZXJzKTsNCi0JdmlydHVhbCB+QnV0dG9uU2NoZWR1bGVyKCkge30NCi0JdmlydHVhbCB2b2lkIEV4ZWN1dGUoKSA9IDA7DQotCXZvaWQgU3RhcnQoKTsNCi0NCi1wcm90ZWN0ZWQ6DQotCWJvb2wgbV9wcmVzc2VkTGFzdDsNCi0JVHJpZ2dlciAqbV9idXR0b247DQotCUNvbW1hbmQgKm1fY29tbWFuZDsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvRGlnaXRhbElPQnV0dG9uLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvRGlnaXRhbElPQnV0dG9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDkzM2FjMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5oIg0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotDQotY29uc3QgYm9vbCBEaWdpdGFsSU9CdXR0b246OmtBY3RpdmVTdGF0ZSA9IGZhbHNlOw0KLQ0KLURpZ2l0YWxJT0J1dHRvbjo6RGlnaXRhbElPQnV0dG9uKGludCBwb3J0KSA6DQotCW1fcG9ydChwb3J0KQ0KLXsNCi19DQotDQotYm9vbCBEaWdpdGFsSU9CdXR0b246OkdldCgpDQotew0KLQlyZXR1cm4gRHJpdmVyU3RhdGlvbjo6R2V0SW5zdGFuY2UoKS0+R2V0RW5oYW5jZWRJTygpLkdldERpZ2l0YWwobV9wb3J0KSA9PSBrQWN0aXZlU3RhdGU7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvRGlnaXRhbElPQnV0dG9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjgyNDcxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvRGlnaXRhbElPQnV0dG9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19ESUdJVEFMX0lPX0JVVFRPTl9IX18NCi0jZGVmaW5lIF9fRElHSVRBTF9JT19CVVRUT05fSF9fDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQnV0dG9uLmgiDQotDQotY2xhc3MgRGlnaXRhbElPQnV0dG9uOiBwdWJsaWMgQnV0dG9uDQotew0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IGJvb2wga0FjdGl2ZVN0YXRlOw0KLQ0KLQlEaWdpdGFsSU9CdXR0b24oaW50IHBvcnQpOw0KLQl2aXJ0dWFsIH5EaWdpdGFsSU9CdXR0b24oKSB7fQ0KLQ0KLQl2aXJ0dWFsIGJvb2wgR2V0KCk7DQotDQotcHJpdmF0ZToNCi0JaW50IG1fcG9ydDsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSGVsZEJ1dHRvblNjaGVkdWxlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWFkZGQ1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSGVsZEJ1dHRvblNjaGVkdWxlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuaCINCi0NCi0jaW5jbHVkZSAiQnV0dG9ucy9CdXR0b24uaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLUhlbGRCdXR0b25TY2hlZHVsZXI6OkhlbGRCdXR0b25TY2hlZHVsZXIoYm9vbCBsYXN0LCBUcmlnZ2VyICpidXR0b24sIENvbW1hbmQgKm9yZGVycykgOg0KLQlCdXR0b25TY2hlZHVsZXIobGFzdCwgYnV0dG9uLCBvcmRlcnMpDQotew0KLX0NCi0NCi12b2lkIEhlbGRCdXR0b25TY2hlZHVsZXI6OkV4ZWN1dGUoKQ0KLXsNCi0JaWYgKG1fYnV0dG9uLT5HcmFiKCkpDQotCXsNCi0JCW1fcHJlc3NlZExhc3QgPSB0cnVlOw0KLQkJbV9jb21tYW5kLT5TdGFydCgpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJaWYgKG1fcHJlc3NlZExhc3QpDQotCQl7DQotCQkJbV9wcmVzc2VkTGFzdCA9IGZhbHNlOw0KLQkJCW1fY29tbWFuZC0+Q2FuY2VsKCk7DQotCQl9DQotCX0NCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9IZWxkQnV0dG9uU2NoZWR1bGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM3ODgwZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0hFTERfQlVUVE9OX1NDSEVEVUxFUl9IX18NCi0jZGVmaW5lIF9fSEVMRF9CVVRUT05fU0NIRURVTEVSX0hfXw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0J1dHRvblNjaGVkdWxlci5oIg0KLQ0KLWNsYXNzIFRyaWdnZXI7DQotY2xhc3MgQ29tbWFuZDsNCi0NCi1jbGFzcyBIZWxkQnV0dG9uU2NoZWR1bGVyIDogcHVibGljIEJ1dHRvblNjaGVkdWxlcg0KLXsNCi1wdWJsaWM6DQotCUhlbGRCdXR0b25TY2hlZHVsZXIoYm9vbCBsYXN0LCBUcmlnZ2VyICpidXR0b24sIENvbW1hbmQgKm9yZGVycyk7DQotCXZpcnR1YWwgfkhlbGRCdXR0b25TY2hlZHVsZXIoKSB7fQ0KLQl2aXJ0dWFsIHZvaWQgRXhlY3V0ZSgpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9JbnRlcm5hbEJ1dHRvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0ludGVybmFsQnV0dG9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzRhYjA2YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0ludGVybmFsQnV0dG9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvSW50ZXJuYWxCdXR0b24uaCINCi0NCi1JbnRlcm5hbEJ1dHRvbjo6SW50ZXJuYWxCdXR0b24oKSA6DQotCW1fcHJlc3NlZChmYWxzZSksDQotCW1faW52ZXJ0ZWQoZmFsc2UpDQotew0KLX0NCi0NCi1JbnRlcm5hbEJ1dHRvbjo6SW50ZXJuYWxCdXR0b24oYm9vbCBpbnZlcnRlZCkgOg0KLQltX3ByZXNzZWQoaW52ZXJ0ZWQpLA0KLQltX2ludmVydGVkKGludmVydGVkKQ0KLXsNCi19DQotDQotdm9pZCBJbnRlcm5hbEJ1dHRvbjo6U2V0SW52ZXJ0ZWQoYm9vbCBpbnZlcnRlZCkNCi17DQotCW1faW52ZXJ0ZWQgPSBpbnZlcnRlZDsNCi19DQotDQotdm9pZCBJbnRlcm5hbEJ1dHRvbjo6U2V0UHJlc3NlZChib29sIHByZXNzZWQpDQotew0KLQltX3ByZXNzZWQgPSBwcmVzc2VkOw0KLX0NCi0NCi1ib29sIEludGVybmFsQnV0dG9uOjpHZXQoKQ0KLXsNCi0JcmV0dXJuIG1fcHJlc3NlZCBeIG1faW52ZXJ0ZWQ7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSW50ZXJuYWxCdXR0b24uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSW50ZXJuYWxCdXR0b24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhkNzhmYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0ludGVybmFsQnV0dG9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19JTlRFUk5BTF9CVVRUT05fSF9fDQotI2RlZmluZSBfX0lOVEVSTkFMX0JVVFRPTl9IX18NCi0NCi0jaW5jbHVkZSAiQnV0dG9ucy9CdXR0b24uaCINCi0NCi1jbGFzcyBJbnRlcm5hbEJ1dHRvbiA6IHB1YmxpYyBCdXR0b24NCi17DQotcHVibGljOg0KLQlJbnRlcm5hbEJ1dHRvbigpOw0KLQlJbnRlcm5hbEJ1dHRvbihib29sIGludmVydGVkKTsNCi0JdmlydHVhbCB+SW50ZXJuYWxCdXR0b24oKSB7fQ0KLQ0KLQl2b2lkIFNldEludmVydGVkKGJvb2wgaW52ZXJ0ZWQpOw0KLQl2b2lkIFNldFByZXNzZWQoYm9vbCBwcmVzc2VkKTsNCi0NCi0JdmlydHVhbCBib29sIEdldCgpOw0KLQ0KLXByaXZhdGU6DQotCWJvb2wgbV9wcmVzc2VkOw0KLQlib29sIG1faW52ZXJ0ZWQ7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0pveXN0aWNrQnV0dG9uLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSm95c3RpY2tCdXR0b24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmUwOTZkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvSm95c3RpY2tCdXR0b24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQnV0dG9ucy9Kb3lzdGlja0J1dHRvbi5oIg0KLQ0KLUpveXN0aWNrQnV0dG9uOjpKb3lzdGlja0J1dHRvbihHZW5lcmljSElEICpqb3lzdGljaywgaW50IGJ1dHRvbk51bWJlcikgOg0KLQltX2pveXN0aWNrKGpveXN0aWNrKSwNCi0JbV9idXR0b25OdW1iZXIoYnV0dG9uTnVtYmVyKQ0KLXsNCi19DQotDQotYm9vbCBKb3lzdGlja0J1dHRvbjo6R2V0KCkNCi17DQotICAgIHJldHVybiBtX2pveXN0aWNrLT5HZXRSYXdCdXR0b24obV9idXR0b25OdW1iZXIpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0pveXN0aWNrQnV0dG9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL0pveXN0aWNrQnV0dG9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0ZjM0ODAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9Kb3lzdGlja0J1dHRvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fSk9ZU1RJQ0tfQlVUVE9OX0hfXw0KLSNkZWZpbmUgX19KT1lTVElDS19CVVRUT05fSF9fDQotDQotI2luY2x1ZGUgIkdlbmVyaWNISUQuaCINCi0jaW5jbHVkZSAiQnV0dG9ucy9CdXR0b24uaCINCi0NCi1jbGFzcyBKb3lzdGlja0J1dHRvbiA6IHB1YmxpYyBCdXR0b24NCi17DQotcHVibGljOg0KLQlKb3lzdGlja0J1dHRvbihHZW5lcmljSElEICpqb3lzdGljaywgaW50IGJ1dHRvbk51bWJlcik7DQotCXZpcnR1YWwgfkpveXN0aWNrQnV0dG9uKCkge30NCi0NCi0JdmlydHVhbCBib29sIEdldCgpOw0KLQ0KLXByaXZhdGU6DQotCUdlbmVyaWNISUQgKm1fam95c3RpY2s7DQotCWludCBtX2J1dHRvbk51bWJlcjsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvTmV0d29ya0J1dHRvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL05ldHdvcmtCdXR0b24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjU5NjVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvTmV0d29ya0J1dHRvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL05ldHdvcmtCdXR0b24uaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuaCINCi0NCi1OZXR3b3JrQnV0dG9uOjpOZXR3b3JrQnV0dG9uKGNvbnN0IGNoYXIgKnRhYmxlTmFtZSwgY29uc3QgY2hhciAqZmllbGQpIDovL1RPRE8gaG93IGlzIHRoaXMgc3VwcG9zZWQgdG8gd29yaz8/Pw0KLQltX25ldFRhYmxlKE5ldHdvcmtUYWJsZTo6R2V0VGFibGUodGFibGVOYW1lKSksDQotCW1fZmllbGQoZmllbGQpDQotew0KLX0NCi0NCi1OZXR3b3JrQnV0dG9uOjpOZXR3b3JrQnV0dG9uKElUYWJsZSAqdGFibGUsIGNvbnN0IGNoYXIgKmZpZWxkKSA6DQotCW1fbmV0VGFibGUodGFibGUpLA0KLQltX2ZpZWxkKGZpZWxkKQ0KLXsNCi19DQotDQotYm9vbCBOZXR3b3JrQnV0dG9uOjpHZXQoKQ0KLXsNCi0JLyppZiAobV9uZXRUYWJsZS0+aXNDb25uZWN0ZWQoKSkNCi0JCXJldHVybiBtX25ldFRhYmxlLT5HZXRCb29sZWFuKG1fZmllbGQuY19zdHIoKSk7DQotCWVsc2UNCi0JCXJldHVybiBmYWxzZTsqLw0KLQlyZXR1cm4gbV9uZXRUYWJsZS0+R2V0Qm9vbGVhbihtX2ZpZWxkKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9OZXR3b3JrQnV0dG9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL05ldHdvcmtCdXR0b24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmRmZGQ5ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL05ldHdvcmtCdXR0b24uaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX05FVFdPUktfQlVUVE9OX0hfXw0KLSNkZWZpbmUgX19ORVRXT1JLX0JVVFRPTl9IX18NCi0NCi0jaW5jbHVkZSAiQnV0dG9ucy9CdXR0b24uaCINCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLWNsYXNzIE5ldHdvcmtCdXR0b24gOiBwdWJsaWMgQnV0dG9uDQotew0KLXB1YmxpYzoNCi0JTmV0d29ya0J1dHRvbihjb25zdCBjaGFyICp0YWJsZU5hbWUsIGNvbnN0IGNoYXIgKmZpZWxkKTsNCi0JTmV0d29ya0J1dHRvbihJVGFibGUqIHRhYmxlLCBjb25zdCBjaGFyICpmaWVsZCk7DQotCXZpcnR1YWwgfk5ldHdvcmtCdXR0b24oKSB7fQ0KLQ0KLQl2aXJ0dWFsIGJvb2wgR2V0KCk7DQotDQotcHJpdmF0ZToNCi0JSVRhYmxlKiBtX25ldFRhYmxlOw0KLQlzdGQ6OnN0cmluZyBtX2ZpZWxkOw0KLQ0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9QcmVzc2VkQnV0dG9uU2NoZWR1bGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5YmU0NDQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9QcmVzc2VkQnV0dG9uU2NoZWR1bGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5oIg0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0J1dHRvbi5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9Db21tYW5kLmgiDQotDQotUHJlc3NlZEJ1dHRvblNjaGVkdWxlcjo6UHJlc3NlZEJ1dHRvblNjaGVkdWxlcihib29sIGxhc3QsIFRyaWdnZXIgKmJ1dHRvbiwgQ29tbWFuZCAqb3JkZXJzKSA6DQotCUJ1dHRvblNjaGVkdWxlcihsYXN0LCBidXR0b24sIG9yZGVycykNCi17DQotfQ0KLQ0KLXZvaWQgUHJlc3NlZEJ1dHRvblNjaGVkdWxlcjo6RXhlY3V0ZSgpDQotew0KLQlpZiAobV9idXR0b24tPkdyYWIoKSkNCi0Jew0KLQkJaWYgKCFtX3ByZXNzZWRMYXN0KQ0KLQkJew0KLQkJCW1fcHJlc3NlZExhc3QgPSB0cnVlOw0KLQkJCW1fY29tbWFuZC0+U3RhcnQoKTsNCi0JCX0NCi0JfQ0KLQllbHNlDQotCXsNCi0JCW1fcHJlc3NlZExhc3QgPSBmYWxzZTsNCi0JfQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL1ByZXNzZWRCdXR0b25TY2hlZHVsZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGZiOTg3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fUFJFU1NFRF9CVVRUT05fU0NIRURVTEVSX0hfXw0KLSNkZWZpbmUgX19QUkVTU0VEX0JVVFRPTl9TQ0hFRFVMRVJfSF9fDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQnV0dG9uU2NoZWR1bGVyLmgiDQotDQotY2xhc3MgVHJpZ2dlcjsNCi1jbGFzcyBDb21tYW5kOw0KLQ0KLWNsYXNzIFByZXNzZWRCdXR0b25TY2hlZHVsZXIgOiBwdWJsaWMgQnV0dG9uU2NoZWR1bGVyDQotew0KLXB1YmxpYzoNCi0JUHJlc3NlZEJ1dHRvblNjaGVkdWxlcihib29sIGxhc3QsIFRyaWdnZXIgKmJ1dHRvbiwgQ29tbWFuZCAqb3JkZXJzKTsNCi0JdmlydHVhbCB+UHJlc3NlZEJ1dHRvblNjaGVkdWxlcigpIHt9DQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL1JlbGVhc2VkQnV0dG9uU2NoZWR1bGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUmVsZWFzZWRCdXR0b25TY2hlZHVsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDllODdmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUmVsZWFzZWRCdXR0b25TY2hlZHVsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQnV0dG9ucy9SZWxlYXNlZEJ1dHRvblNjaGVkdWxlci5oIg0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0J1dHRvbi5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9Db21tYW5kLmgiDQotDQotUmVsZWFzZWRCdXR0b25TY2hlZHVsZXI6OlJlbGVhc2VkQnV0dG9uU2NoZWR1bGVyKGJvb2wgbGFzdCwgVHJpZ2dlciAqYnV0dG9uLCBDb21tYW5kICpvcmRlcnMpIDoNCi0JQnV0dG9uU2NoZWR1bGVyKGxhc3QsIGJ1dHRvbiwgb3JkZXJzKQ0KLXsNCi19DQotDQotdm9pZCBSZWxlYXNlZEJ1dHRvblNjaGVkdWxlcjo6RXhlY3V0ZSgpDQotew0KLQlpZiAobV9idXR0b24tPkdyYWIoKSkNCi0Jew0KLQkJbV9wcmVzc2VkTGFzdCA9IHRydWU7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlpZiAobV9wcmVzc2VkTGFzdCkNCi0JCXsNCi0JCQltX3ByZXNzZWRMYXN0ID0gZmFsc2U7DQotCQkJbV9jb21tYW5kLT5TdGFydCgpOw0KLQkJfQ0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUmVsZWFzZWRCdXR0b25TY2hlZHVsZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvUmVsZWFzZWRCdXR0b25TY2hlZHVsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQyNjgyZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL1JlbGVhc2VkQnV0dG9uU2NoZWR1bGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19SRUxFQVNFRF9CVVRUT05fU0NIRURVTEVSX0hfXw0KLSNkZWZpbmUgX19SRUxFQVNFRF9CVVRUT05fU0NIRURVTEVSX0hfXw0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0J1dHRvblNjaGVkdWxlci5oIg0KLQ0KLWNsYXNzIFRyaWdnZXI7DQotY2xhc3MgQ29tbWFuZDsNCi0NCi1jbGFzcyBSZWxlYXNlZEJ1dHRvblNjaGVkdWxlciA6IHB1YmxpYyBCdXR0b25TY2hlZHVsZXINCi17DQotcHVibGljOg0KLQlSZWxlYXNlZEJ1dHRvblNjaGVkdWxlcihib29sIGxhc3QsIFRyaWdnZXIgKmJ1dHRvbiwgQ29tbWFuZCAqb3JkZXJzKTsNCi0JdmlydHVhbCB+UmVsZWFzZWRCdXR0b25TY2hlZHVsZXIoKSB7fQ0KLQl2aXJ0dWFsIHZvaWQgRXhlY3V0ZSgpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9UcmlnZ2VyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvVHJpZ2dlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1NGYyNzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQnV0dG9ucy9UcmlnZ2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvQnV0dG9uLmgiDQotDQotI2luY2x1ZGUgIkJ1dHRvbnMvSGVsZEJ1dHRvblNjaGVkdWxlci5oIg0KLSNpbmNsdWRlICJCdXR0b25zL1ByZXNzZWRCdXR0b25TY2hlZHVsZXIuaCINCi0jaW5jbHVkZSAiQnV0dG9ucy9SZWxlYXNlZEJ1dHRvblNjaGVkdWxlci5oIg0KLQ0KLVRyaWdnZXI6OlRyaWdnZXIoKSB7DQotCW1fdGFibGUgPSBOVUxMOw0KLX0NCi0NCi1ib29sIFRyaWdnZXI6OkdyYWIoKQ0KLXsNCi0JaWYgKEdldCgpKQ0KLQkJcmV0dXJuIHRydWU7DQotCWVsc2UgaWYgKG1fdGFibGUgIT0gTlVMTCkNCi0Jew0KLQkJLy9pZiAobV90YWJsZS0+aXNDb25uZWN0ZWQoKSkvL1RPRE8gaXMgY29ubmVjdGVkIG9uIGJ1dHRvbj8NCi0JCQlyZXR1cm4gbV90YWJsZS0+R2V0Qm9vbGVhbigicHJlc3NlZCIpOw0KLQkJLyplbHNlDQotCQkJcmV0dXJuIGZhbHNlOyovDQotCX0NCi0JZWxzZQ0KLQkJcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi12b2lkIFRyaWdnZXI6OldoZW5BY3RpdmUoQ29tbWFuZCAqY29tbWFuZCkNCi17DQotCVByZXNzZWRCdXR0b25TY2hlZHVsZXIgKnBicyA9IG5ldyBQcmVzc2VkQnV0dG9uU2NoZWR1bGVyKEdyYWIoKSwgdGhpcywgY29tbWFuZCk7DQotCXBicy0+U3RhcnQoKTsNCi19DQotDQotdm9pZCBUcmlnZ2VyOjpXaGlsZUFjdGl2ZShDb21tYW5kICpjb21tYW5kKQ0KLXsNCi0JSGVsZEJ1dHRvblNjaGVkdWxlciAqaGJzID0gbmV3IEhlbGRCdXR0b25TY2hlZHVsZXIoR3JhYigpLCB0aGlzLCBjb21tYW5kKTsNCi0JaGJzLT5TdGFydCgpOw0KLX0NCi0NCi12b2lkIFRyaWdnZXI6OldoZW5JbmFjdGl2ZShDb21tYW5kICpjb21tYW5kKQ0KLXsNCi0JUmVsZWFzZWRCdXR0b25TY2hlZHVsZXIgKnJicyA9IG5ldyBSZWxlYXNlZEJ1dHRvblNjaGVkdWxlcihHcmFiKCksIHRoaXMsIGNvbW1hbmQpOw0KLQlyYnMtPlN0YXJ0KCk7DQotfQ0KLQ0KLQ0KLQ0KLXN0ZDo6c3RyaW5nIFRyaWdnZXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpew0KLQlyZXR1cm4gIkJ1dHRvbiI7DQotfQ0KLQ0KLXZvaWQgVHJpZ2dlcjo6SW5pdFRhYmxlKElUYWJsZSogdGFibGUpew0KLQltX3RhYmxlID0gdGFibGU7DQotCWlmKG1fdGFibGUhPU5VTEwpew0KLQkJbV90YWJsZS0+UHV0Qm9vbGVhbigicHJlc3NlZCIsIEdldCgpKTsNCi0JfQ0KLX0NCi0NCi1JVGFibGUqIFRyaWdnZXI6OkdldFRhYmxlKCl7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9CdXR0b25zL1RyaWdnZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvVHJpZ2dlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzQwZTllLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0J1dHRvbnMvVHJpZ2dlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fVFJJR0dFUl9IX18NCi0jZGVmaW5lIF9fVFJJR0dFUl9IX18NCi0NCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU2VuZGFibGUuaCINCi0NCi1jbGFzcyBDb21tYW5kOw0KLQ0KLS8qKg0KLSAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gbGluayBjb21tYW5kcyB0byBpbnB1dHMuDQotICoNCi0gKiBJdCBpcyB2ZXJ5IGVhc3kgdG8gbGluayBhIHBvbGxlZCBpbnB1dCB0byBhIGNvbW1hbmQuICBGb3IgaW5zdGFuY2UsIHlvdSBjb3VsZA0KLSAqIGxpbmsgdGhlIHRyaWdnZXIgYnV0dG9uIG9mIGEgam95c3RpY2sgdG8gYSAic2NvcmUiIGNvbW1hbmQgb3IgYW4gZW5jb2RlciByZWFjaGluZw0KLSAqIGEgcGFydGljdWxhciB2YWx1ZS4NCi0gKg0KLSAqIEl0IGlzIGVuY291cmFnZWQgdGhhdCB0ZWFtcyB3cml0ZSBhIHN1YmNsYXNzIG9mIFRyaWdnZXIgaWYgdGhleSB3YW50IHRvIGhhdmUNCi0gKiBzb21ldGhpbmcgdW51c3VhbCAoZm9yIGluc3RhbmNlLCBpZiB0aGV5IHdhbnQgdG8gcmVhY3QgdG8gdGhlIHVzZXIgaG9sZGluZw0KLSAqIGEgYnV0dG9uIHdoaWxlIHRoZSByb2JvdCBpcyByZWFkaW5nIGEgY2VydGFpbiBzZW5zb3IgaW5wdXQpLiAgRm9yIHRoaXMsIHRoZXkNCi0gKiBvbmx5IGhhdmUgdG8gd3JpdGUgdGhlIHtAbGluayBUcmlnZ2VyI0dldCgpfSBtZXRob2QgdG8gZ2V0IHRoZSBmdWxsIGZ1bmN0aW9uYWxpdHkNCi0gKiBvZiB0aGUgVHJpZ2dlciBjbGFzcy4NCi0gKg0KLSAqIEBhdXRob3IgQnJhZCBNaWxsZXIsIEpvZSBHcmluc3RlYWQNCi0gKi8NCi1jbGFzcyBUcmlnZ2VyIDogcHVibGljIFNlbmRhYmxlDQotew0KLXB1YmxpYzoNCi0JVHJpZ2dlcigpOw0KLQl2aXJ0dWFsIH5UcmlnZ2VyKCkge30NCi0JYm9vbCBHcmFiKCk7DQotCXZpcnR1YWwgYm9vbCBHZXQoKSA9IDA7DQotCXZvaWQgV2hlbkFjdGl2ZShDb21tYW5kICpjb21tYW5kKTsNCi0Jdm9pZCBXaGlsZUFjdGl2ZShDb21tYW5kICpjb21tYW5kKTsNCi0Jdm9pZCBXaGVuSW5hY3RpdmUoQ29tbWFuZCAqY29tbWFuZCk7DQotCQ0KLQl2aXJ0dWFsIHZvaWQgSW5pdFRhYmxlKElUYWJsZSogdGFibGUpOw0KLQl2aXJ0dWFsIElUYWJsZSogR2V0VGFibGUoKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi1wcm90ZWN0ZWQ6DQotCUlUYWJsZSogbV90YWJsZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NBTi9KYWd1YXJDQU5Ecml2ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NBTi9KYWd1YXJDQU5Ecml2ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWU2NWNiZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DQU4vSmFndWFyQ0FORHJpdmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLS8vIEphZ3VhckNBTkRyaXZlci5oDQotLy8NCi0vLyAgRGVmaW5lcyB0aGUgQVBJIGZvciBidWlsZGluZyBhIENBTiBJbnRlcmZhY2UgUGx1Z2luIHRvIHN1cHBvcnQNCi0vLyAgICBQV00tY2FibGUtZnJlZSBDQU4gbW90b3IgY29udHJvbCBvbiBGUkMgcm9ib3RzLiAgVGhpcyBhbGxvd3MgeW91DQotLy8gICAgdG8gY29ubmVjdCBhbnkgQ0FOIGludGVyZmFjZSB0byB0aGUgc2VjdXJlIEphZ3VhciBDQU4gZHJpdmVyLg0KLS8vDQotDQotI2lmbmRlZiBfX0phZ3VhckNBTkRyaXZlcl9oX18NCi0jZGVmaW5lIF9fSmFndWFyQ0FORHJpdmVyX2hfXw0KLQ0KLSNpbmNsdWRlIDxWeFdvcmtzLmg+DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotZXh0ZXJuICJDIg0KLXsNCi0jZW5kaWYNCi0NCi0Jdm9pZCBGUkNfTmV0d29ya0NvbW11bmljYXRpb25fSmFndWFyQ0FORHJpdmVyX3NlbmRNZXNzYWdlKFVJTlQzMiBtZXNzYWdlSUQsIGNvbnN0IFVJTlQ4ICpkYXRhLCBVSU5UOCBkYXRhU2l6ZSwgSU5UMzIgKnN0YXR1cyk7DQotCXZvaWQgRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0phZ3VhckNBTkRyaXZlcl9yZWNlaXZlTWVzc2FnZShVSU5UMzIgKm1lc3NhZ2VJRCwgVUlOVDggKmRhdGEsIFVJTlQ4ICpkYXRhU2l6ZSwgVUlOVDMyIHRpbWVvdXRNcywgSU5UMzIgKnN0YXR1cyk7DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotfQ0KLSNlbmRpZg0KLQ0KLSNlbmRpZiAvLyBfX0phZ3VhckNBTkRyaXZlcl9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DQU4vY2FuX3Byb3RvLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DQU4vY2FuX3Byb3RvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0MGU2OTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ0FOL2Nhbl9wcm90by5oCisrKyAvZGV2L251bGwKQEAgLTEsNDI4ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIGNhbl9wcm90by5oIC0gRGVmaW5pdGlvbnMgZm9yIHRoZSBDQU4gcHJvdG9jb2wgdXNlZCB0byBjb21tdW5pY2F0ZSB3aXRoIHRoZQ0KLS8vICAgICAgICAgICAgICAgQkRDIG1vdG9yIGNvbnRyb2xsZXIuDQotLy8NCi0vLyBDb3B5cmlnaHQgKGMpIDIwMDggVGV4YXMgSW5zdHJ1bWVudHMgSW5jb3Jwb3JhdGVkLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0vLyBUSSBJbmZvcm1hdGlvbiAtIFNlbGVjdGl2ZSBEaXNjbG9zdXJlDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotDQotI2lmbmRlZiBfX0NBTl9QUk9UT19IX18NCi0jZGVmaW5lIF9fQ0FOX1BST1RPX0hfXw0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSBtYXNrcyBvZiB0aGUgZmllbGRzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIG1lc3NhZ2UgaWRlbnRpZmllci4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIENBTl9NU0dJRF9GVUxMX00gICAgICAgIDB4MWZmZmZmZmYNCi0jZGVmaW5lIENBTl9NU0dJRF9ERVZOT19NICAgICAgIDB4MDAwMDAwM2YNCi0jZGVmaW5lIENBTl9NU0dJRF9BUElfTSAgICAgICAgIDB4MDAwMGZmYzANCi0jZGVmaW5lIENBTl9NU0dJRF9NRlJfTSAgICAgICAgIDB4MDBmZjAwMDANCi0jZGVmaW5lIENBTl9NU0dJRF9EVFlQRV9NICAgICAgIDB4MWYwMDAwMDANCi0jZGVmaW5lIENBTl9NU0dJRF9ERVZOT19TICAgICAgIDANCi0jZGVmaW5lIENBTl9NU0dJRF9BUElfUyAgICAgICAgIDYNCi0jZGVmaW5lIENBTl9NU0dJRF9NRlJfUyAgICAgICAgIDE2DQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfUyAgICAgICAyNA0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSBSZXNlcnZlZCBkZXZpY2UgbnVtYmVyIHZhbHVlcyBpbiB0aGUgTWVzc2FnZSBJZC4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIENBTl9NU0dJRF9ERVZOT19CQ0FTVCAgIDB4MDAwMDAwMDANCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgUmVzZXJ2ZWQgc3lzdGVtIGNvbnRyb2wgQVBJIG51bWJlcnMgaW4gdGhlIE1lc3NhZ2UgSWQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX1NZU0hBTFQgICAweDAwMDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX1NZU1JTVCAgICAweDAwMDAwMDQwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX0RFVkFTU0lHTiAweDAwMDAwMDgwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX0RFVlFVRVJZICAweDAwMDAwMGMwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX0hFQVJUQkVBVCAweDAwMDAwMTQwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX1NZTkMgICAgICAweDAwMDAwMTgwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX1VQREFURSAgICAweDAwMDAwMWMwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX0ZJUk1WRVIgICAweDAwMDAwMjAwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX0VOVU1FUkFURSAweDAwMDAwMjQwDQotI2RlZmluZSBDQU5fTVNHSURfQVBJX1NZU1JFU1VNRSAweDAwMDAwMjgwDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIDMyIGJpdCB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBDQU5fTVNHSURfQVBJX1NUQVRVUyByZXF1ZXN0Lg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgQ0FOX1NUQVRVU19DT0RFX00gICAgICAgMHgwMDAwZmZmZg0KLSNkZWZpbmUgQ0FOX1NUQVRVU19NRkdfTSAgICAgICAgMHgwMGZmMDAwMA0KLSNkZWZpbmUgQ0FOX1NUQVRVU19EVFlQRV9NICAgICAgMHgxZjAwMDAwMA0KLSNkZWZpbmUgQ0FOX1NUQVRVU19DT0RFX1MgICAgICAgMA0KLSNkZWZpbmUgQ0FOX1NUQVRVU19NRkdfUyAgICAgICAgMTYNCi0jZGVmaW5lIENBTl9TVEFUVVNfRFRZUEVfUyAgICAgIDI0DQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFJlc2VydmVkIG1hbnVmYWN0dXJlciBpZGVudGlmaWVycyBpbiB0aGUgTWVzc2FnZSBJZC4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIENBTl9NU0dJRF9NRlJfTkkgICAgICAgIDB4MDAwMTAwMDANCi0jZGVmaW5lIENBTl9NU0dJRF9NRlJfTE0gICAgICAgIDB4MDAwMjAwMDANCi0jZGVmaW5lIENBTl9NU0dJRF9NRlJfREVLQSAgICAgIDB4MDAwMzAwMDANCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgUmVzZXJ2ZWQgZGV2aWNlIHR5cGUgaWRlbnRpZmllcnMgaW4gdGhlIE1lc3NhZ2UgSWQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfQkNBU1QgICAweDAwMDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfUk9CT1QgICAweDAxMDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfTU9UT1IgICAweDAyMDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfUkVMQVkgICAweDAzMDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfR1lSTyAgICAweDA0MDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfQUNDRUwgICAweDA1MDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfVVNPTklDICAweDA2MDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfR0VBUlQgICAweDA3MDAwMDAwDQotI2RlZmluZSBDQU5fTVNHSURfRFRZUEVfVVBEQVRFICAweDFmMDAwMDAwDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gTE0gTW90b3IgQ29udHJvbCBBUEkgQ2xhc3NlcyBBUEkgQ2xhc3MgYW5kIElEIG1hc2tzLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgQ0FOX01TR0lEX0FQSV9DTEFTU19NICAgMHgwMDAwZmMwMA0KLSNkZWZpbmUgQ0FOX01TR0lEX0FQSV9JRF9NICAgICAgMHgwMDAwMDNjMA0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIExNIE1vdG9yIENvbnRyb2wgQVBJIENsYXNzZXMgaW4gdGhlIE1lc3NhZ2UgSWQgZm9yIG5vbi1icm9hZGNhc3QuDQotLy8gVGhlc2UgYXJlIHRoZSB1cHBlciA2IGJpdHMgb2YgdGhlIEFQSSBmaWVsZCwgdGhlIGxvd2VyIDQgYml0cyBkZXRlcm1pbmUNCi0vLyB0aGUgQVBJSWQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBDQU5fQVBJX01DX1ZPTFRBR0UgICAgICAweDAwMDAwMDAwDQotI2RlZmluZSBDQU5fQVBJX01DX1NQRCAgICAgICAgICAweDAwMDAwNDAwDQotI2RlZmluZSBDQU5fQVBJX01DX1ZDT01QICAgICAgICAweDAwMDAwODAwDQotI2RlZmluZSBDQU5fQVBJX01DX1BPUyAgICAgICAgICAweDAwMDAwYzAwDQotI2RlZmluZSBDQU5fQVBJX01DX0lDVFJMICAgICAgICAweDAwMDAxMDAwDQotI2RlZmluZSBDQU5fQVBJX01DX1NUQVRVUyAgICAgICAweDAwMDAxNDAwDQotI2RlZmluZSBDQU5fQVBJX01DX1BTVEFUICAgICAgICAweDAwMDAxODAwDQotI2RlZmluZSBDQU5fQVBJX01DX0NGRyAgICAgICAgICAweDAwMDAxYzAwDQotI2RlZmluZSBDQU5fQVBJX01DX0FDSyAgICAgICAgICAweDAwMDAyMDAwDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDbGFzcyBDb250cm9sIFZvbHRhZ2UgQVBJIGRlZmluaXRpb25zLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fQVBJX1ZPTFQgICAgICAgICAgICAgKENBTl9NU0dJRF9NRlJfTE0gfCBDQU5fTVNHSURfRFRZUEVfTU9UT1IgfCAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5fQVBJX01DX1ZPTFRBR0UpDQotI2RlZmluZSBMTV9BUElfVk9MVF9FTiAgICAgICAgICAoTE1fQVBJX1ZPTFQgfCAoMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1ZPTFRfRElTICAgICAgICAgKExNX0FQSV9WT0xUIHwgKDEgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9WT0xUX1NFVCAgICAgICAgIChMTV9BUElfVk9MVCB8ICgyIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfVk9MVF9TRVRfUkFNUCAgICAoTE1fQVBJX1ZPTFQgfCAoMyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgQkVHSU4gIyMjIyMNCi0jZGVmaW5lIExNX0FQSV9WT0xUX1RfRU4gICAgICAgIChMTV9BUElfVk9MVCB8ICg0IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfVk9MVF9UX1NFVCAgICAgICAoTE1fQVBJX1ZPTFQgfCAoNSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1ZPTFRfVF9TRVRfTk9fQUNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMTV9BUElfVk9MVCB8ICg3IDw8IENBTl9NU0dJRF9BUElfUykpDQotLy8jIyMjIyBGSVJTVCBFTkQgIyMjIyMNCi0jZGVmaW5lIExNX0FQSV9WT0xUX1NFVF9OT19BQ0sgIChMTV9BUElfVk9MVCB8ICg4IDw8IENBTl9NU0dJRF9BUElfUykpDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDbGFzcyBDb250cm9sIEFQSSBkZWZpbml0aW9ucyBmb3IgTE1fQVBJX1ZPTFRfU0VUX1JBTVAuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9BUElfVk9MVF9SQU1QX0RJUyAgICAwDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDbGFzcyBDb250cm9sIEFQSSBkZWZpbml0aW9ucyBmb3IgQ0FOX01TR0lEX0FQSV9TWU5DLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fQVBJX1NZTkNfUEVORF9OT1cgICAgMA0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSBTdGVsbGFyaXMgTW90b3IgQ2xhc3MgU3BlZWQgQ29udHJvbCBBUEkgZGVmaW5pdGlvbnMuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9BUElfU1BEICAgICAgICAgICAgICAoQ0FOX01TR0lEX01GUl9MTSB8IENBTl9NU0dJRF9EVFlQRV9NT1RPUiB8ICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTl9BUElfTUNfU1BEKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9FTiAgICAgICAgICAgKExNX0FQSV9TUEQgfCAoMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9ESVMgICAgICAgICAgKExNX0FQSV9TUEQgfCAoMSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9TRVQgICAgICAgICAgKExNX0FQSV9TUEQgfCAoMiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9QQyAgICAgICAgICAgKExNX0FQSV9TUEQgfCAoMyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9JQyAgICAgICAgICAgKExNX0FQSV9TUEQgfCAoNCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9EQyAgICAgICAgICAgKExNX0FQSV9TUEQgfCAoNSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NQRF9SRUYgICAgICAgICAgKExNX0FQSV9TUEQgfCAoNiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgQkVHSU4gIyMjIyMNCi0jZGVmaW5lIExNX0FQSV9TUERfVF9FTiAgICAgICAgIChMTV9BUElfU1BEIHwgKDcgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9TUERfVF9TRVQgICAgICAgIChMTV9BUElfU1BEIHwgKDggPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9TUERfVF9TRVRfTk9fQUNLIChMTV9BUElfU1BEIHwgKDEwIDw8IENBTl9NU0dJRF9BUElfUykpDQotLy8jIyMjIyBGSVJTVCBFTkQgIyMjIyMNCi0jZGVmaW5lIExNX0FQSV9TUERfU0VUX05PX0FDSyAgIChMTV9BUElfU1BEIHwgKDExIDw8IENBTl9NU0dJRF9BUElfUykpDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDb250cm9sIFZvbHRhZ2UgQ29tcGVuc2F0aW9uIENvbnRyb2wgQVBJIGRlZmluaXRpb25zLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fQVBJX1ZDT01QICAgICAgICAgICAgKENBTl9NU0dJRF9NRlJfTE0gfCBDQU5fTVNHSURfRFRZUEVfTU9UT1IgfCAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5fQVBJX01DX1ZDT01QKQ0KLSNkZWZpbmUgTE1fQVBJX1ZDT01QX0VOICAgICAgICAgKExNX0FQSV9WQ09NUCB8ICgwIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfVkNPTVBfRElTICAgICAgICAoTE1fQVBJX1ZDT01QIHwgKDEgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9WQ09NUF9TRVQgICAgICAgIChMTV9BUElfVkNPTVAgfCAoMiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1ZDT01QX0lOX1JBTVAgICAgKExNX0FQSV9WQ09NUCB8ICgzIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfVkNPTVBfQ09NUF9SQU1QICAoTE1fQVBJX1ZDT01QIHwgKDQgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0vLyMjIyMjIEZJUlNUIEJFR0lOICMjIyMjDQotI2RlZmluZSBMTV9BUElfVkNPTVBfVF9FTiAgICAgICAoTE1fQVBJX1ZDT01QIHwgKDUgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9WQ09NUF9UX1NFVCAgICAgIChMTV9BUElfVkNPTVAgfCAoNiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1ZDT01QX1RfU0VUX05PX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMTV9BUElfVkNPTVAgfCAoOCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgRU5EICMjIyMjDQotI2RlZmluZSBMTV9BUElfVkNPTVBfU0VUX05PX0FDSyAoTE1fQVBJX1ZDT01QIHwgKDkgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgU3RlbGxhcmlzIE1vdG9yIENsYXNzIFBvc2l0aW9uIENvbnRyb2wgQVBJIGRlZmluaXRpb25zLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fQVBJX1BPUyAgICAgICAgICAgICAgKENBTl9NU0dJRF9NRlJfTE0gfCBDQU5fTVNHSURfRFRZUEVfTU9UT1IgfCAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5fQVBJX01DX1BPUykNCi0jZGVmaW5lIExNX0FQSV9QT1NfRU4gICAgICAgICAgIChMTV9BUElfUE9TIHwgKDAgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfRElTICAgICAgICAgIChMTV9BUElfUE9TIHwgKDEgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfU0VUICAgICAgICAgIChMTV9BUElfUE9TIHwgKDIgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfUEMgICAgICAgICAgIChMTV9BUElfUE9TIHwgKDMgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfSUMgICAgICAgICAgIChMTV9BUElfUE9TIHwgKDQgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfREMgICAgICAgICAgIChMTV9BUElfUE9TIHwgKDUgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QT1NfUkVGICAgICAgICAgIChMTV9BUElfUE9TIHwgKDYgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0vLyMjIyMjIEZJUlNUIEJFR0lOICMjIyMjDQotI2RlZmluZSBMTV9BUElfUE9TX1RfRU4gICAgICAgICAoTE1fQVBJX1BPUyB8ICg3IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfUE9TX1RfU0VUICAgICAgICAoTE1fQVBJX1BPUyB8ICg4IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfUE9TX1RfU0VUX05PX0FDSyAoTE1fQVBJX1BPUyB8ICgxMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgRU5EICMjIyMjDQotI2RlZmluZSBMTV9BUElfUE9TX1NFVF9OT19BQ0sgICAoTE1fQVBJX1BPUyB8ICgxMSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSBTdGVsbGFyaXMgTW90b3IgQ2xhc3MgQ3VycmVudCBDb250cm9sIEFQSSBkZWZpbml0aW9ucy4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIExNX0FQSV9JQ1RSTCAgICAgICAgICAgIChDQU5fTVNHSURfTUZSX0xNIHwgQ0FOX01TR0lEX0RUWVBFX01PVE9SIHwgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOX0FQSV9NQ19JQ1RSTCkNCi0jZGVmaW5lIExNX0FQSV9JQ1RSTF9FTiAgICAgICAgIChMTV9BUElfSUNUUkwgfCAoMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX0lDVFJMX0RJUyAgICAgICAgKExNX0FQSV9JQ1RSTCB8ICgxIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfSUNUUkxfU0VUICAgICAgICAoTE1fQVBJX0lDVFJMIHwgKDIgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9JQ1RSTF9QQyAgICAgICAgIChMTV9BUElfSUNUUkwgfCAoMyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX0lDVFJMX0lDICAgICAgICAgKExNX0FQSV9JQ1RSTCB8ICg0IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfSUNUUkxfREMgICAgICAgICAoTE1fQVBJX0lDVFJMIHwgKDUgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0vLyMjIyMjIEZJUlNUIEJFR0lOICMjIyMjDQotI2RlZmluZSBMTV9BUElfSUNUUkxfVF9FTiAgICAgICAoTE1fQVBJX0lDVFJMIHwgKDYgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9JQ1RSTF9UX1NFVCAgICAgIChMTV9BUElfSUNUUkwgfCAoNyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX0lDVFJMX1RfU0VUX05PX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChMTV9BUElfSUNUUkwgfCAoOSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgRU5EICMjIyMjDQotI2RlZmluZSBMTV9BUElfSUNUUkxfU0VUX05PX0FDSyAoTE1fQVBJX0lDVFJMIHwgKDEwIDw8IENBTl9NU0dJRF9BUElfUykpDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDbGFzcyBGaXJtd2FyZSBVcGRhdGUgQVBJIGRlZmluaXRpb25zLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fQVBJX1VQRCAgICAgICAgICAgICAgKENBTl9NU0dJRF9NRlJfTE0gfCBDQU5fTVNHSURfRFRZUEVfVVBEQVRFKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9QSU5HICAgICAgICAgKExNX0FQSV9VUEQgfCAoMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9ET1dOTE9BRCAgICAgKExNX0FQSV9VUEQgfCAoMSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9TRU5EX0RBVEEgICAgKExNX0FQSV9VUEQgfCAoMiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9SRVNFVCAgICAgICAgKExNX0FQSV9VUEQgfCAoMyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9BQ0sgICAgICAgICAgKExNX0FQSV9VUEQgfCAoNCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX0hXVkVSICAgICAgICAgICAgKExNX0FQSV9VUEQgfCAoNSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1VQRF9SRVFVRVNUICAgICAgKExNX0FQSV9VUEQgfCAoNiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLS8vIyMjIyMgRklSU1QgQkVHSU4gIyMjIyMNCi0jZGVmaW5lIExNX0FQSV9VTlRSVVNUX0VOICAgICAgIChMTV9BUElfVVBEIHwgKDExIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfVFJVU1RfRU4gICAgICAgICAoTE1fQVBJX1VQRCB8ICgxMiA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1RSVVNUX0hFQVJUQkVBVCAgKExNX0FQSV9VUEQgfCAoMTMgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0vLyMjIyMjIEZJUlNUIEVORCAjIyMjIw0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSBTdGVsbGFyaXMgTW90b3IgQ2xhc3MgU3RhdHVzIEFQSSBkZWZpbml0aW9ucy4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIExNX0FQSV9TVEFUVVMgICAgICAgICAgIChDQU5fTVNHSURfTUZSX0xNIHwgQ0FOX01TR0lEX0RUWVBFX01PVE9SIHwgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOX0FQSV9NQ19TVEFUVVMpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1ZPTFRPVVQgICAoTE1fQVBJX1NUQVRVUyB8ICgwIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1ZPTFRCVVMgICAoTE1fQVBJX1NUQVRVUyB8ICgxIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX0NVUlJFTlQgICAoTE1fQVBJX1NUQVRVUyB8ICgyIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1RFTVAgICAgICAoTE1fQVBJX1NUQVRVUyB8ICgzIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1BPUyAgICAgICAoTE1fQVBJX1NUQVRVUyB8ICg0IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1NQRCAgICAgICAoTE1fQVBJX1NUQVRVUyB8ICg1IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX0xJTUlUICAgICAoTE1fQVBJX1NUQVRVUyB8ICg2IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX0ZBVUxUICAgICAoTE1fQVBJX1NUQVRVUyB8ICg3IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1BPV0VSICAgICAoTE1fQVBJX1NUQVRVUyB8ICg4IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX0NNT0RFICAgICAoTE1fQVBJX1NUQVRVUyB8ICg5IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfU1RBVFVTX1ZPVVQgICAgICAoTE1fQVBJX1NUQVRVUyB8ICgxMCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1NUQVRVU19TVEtZX0ZMVCAgKExNX0FQSV9TVEFUVVMgfCAoMTEgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9TVEFUVVNfRkxUX0NPVU5UIChMTV9BUElfU1RBVFVTIHwgKDEyIDw8IENBTl9NU0dJRF9BUElfUykpDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgd2l0aCB0aGUgYnl0ZSB0aGF0IGlzIHJldHVybmVkIGZyb20NCi0vLyB0aGUgc3RhdHVzIHJlcXVlc3QgZm9yIExNX0FQSV9TVEFUVVNfTElNSVQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfRldEICAgICAweDAxDQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfUkVWICAgICAweDAyDQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfU0ZXRCAgICAweDA0DQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfU1JFViAgICAweDA4DQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfU1RLWV9GV0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMA0KLSNkZWZpbmUgTE1fU1RBVFVTX0xJTUlUX1NUS1lfUkVWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjANCi0jZGVmaW5lIExNX1NUQVRVU19MSU1JVF9TVEtZX1NGV0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQwDQotI2RlZmluZSBMTV9TVEFUVVNfTElNSVRfU1RLWV9TUkVWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg4MA0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIExNIE1vdG9yIENvbnRyb2wgc3RhdHVzIGNvZGVzIHJldHVybmVkIGR1ZSB0byB0aGUgQ0FOX1NUQVRVU19DT0RFX00gZmllbGQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9TVEFUVVNfRkFVTFRfSUxJTUlUICAweDAxDQotI2RlZmluZSBMTV9TVEFUVVNfRkFVTFRfVExJTUlUICAweDAyDQotI2RlZmluZSBMTV9TVEFUVVNfRkFVTFRfVkxJTUlUICAweDA0DQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBNb3RvciBDbGFzcyBDb25maWd1cmF0aW9uIEFQSSBkZWZpbml0aW9ucy4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIExNX0FQSV9DRkcgICAgICAgICAgICAgIChDQU5fTVNHSURfTUZSX0xNIHwgQ0FOX01TR0lEX0RUWVBFX01PVE9SIHwgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FOX0FQSV9NQ19DRkcpDQotI2RlZmluZSBMTV9BUElfQ0ZHX05VTV9CUlVTSEVTICAoTE1fQVBJX0NGRyB8ICgwIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0VOQ19MSU5FUyAgICAoTE1fQVBJX0NGRyB8ICgxIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX1BPVF9UVVJOUyAgICAoTE1fQVBJX0NGRyB8ICgyIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0JSQUtFX0NPQVNUICAoTE1fQVBJX0NGRyB8ICgzIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0xJTUlUX01PREUgICAoTE1fQVBJX0NGRyB8ICg0IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0xJTUlUX0ZXRCAgICAoTE1fQVBJX0NGRyB8ICg1IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0xJTUlUX1JFViAgICAoTE1fQVBJX0NGRyB8ICg2IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX01BWF9WT1VUICAgICAoTE1fQVBJX0NGRyB8ICg3IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfQ0ZHX0ZBVUxUX1RJTUUgICAoTE1fQVBJX0NGRyB8ICg4IDw8IENBTl9NU0dJRF9BUElfUykpDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIFN0ZWxsYXJpcyBBQ0sgQVBJIGRlZmluaXRpb24uDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9BUElfQUNLICAgICAgICAgICAgICAoQ0FOX01TR0lEX01GUl9MTSB8IENBTl9NU0dJRF9EVFlQRV9NT1RPUiB8ICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTl9BUElfTUNfQUNLKQ0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLw0KLS8vIFRoZSA4IGJpdCB2YWx1ZXMgdGhhdCBjYW4gYmUgcmV0dXJuZWQgYnkgYSBjYWxsIHRvIExNX0FQSV9TVEFUVVNfSFdWRVIuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9IV1ZFUl9VTktOT1dOICAgICAgICAweDAwDQotI2RlZmluZSBMTV9IV1ZFUl9KQUdfMV8wICAgICAgICAweDAxDQotI2RlZmluZSBMTV9IV1ZFUl9KQUdfMl8wICAgICAgICAweDAyDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIDggYml0IHZhbHVlcyB0aGF0IGNhbiBiZSByZXR1cm5lZCBieSBhIGNhbGwgdG8gTE1fQVBJX1NUQVRVU19DTU9ERS4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIExNX1NUQVRVU19DTU9ERV9WT0xUICAgIDB4MDANCi0jZGVmaW5lIExNX1NUQVRVU19DTU9ERV9DVVJSRU5UIDB4MDENCi0jZGVmaW5lIExNX1NUQVRVU19DTU9ERV9TUEVFRCAgIDB4MDINCi0jZGVmaW5lIExNX1NUQVRVU19DTU9ERV9QT1MgICAgIDB4MDMNCi0jZGVmaW5lIExNX1NUQVRVU19DTU9ERV9WQ09NUCAgIDB4MDQNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgdmFsdWVzIHRoYXQgY2FuIHNwZWNpZmllZCBhcyB0aGUgcG9zaXRpb24gb3Igc3BlZWQgcmVmZXJlbmNlLiAgTm90IGFsbA0KLS8vIHZhbHVlcyBhcmUgdmFsaWQgZm9yIGVhY2ggcmVmZXJlbmNlOyBpZiBhbiBpbnZhbGlkIHJlZmVyZW5jZSBpcyBzZXQsIHRoZW4NCi0vLyBub25lIHdpbGwgYmUgc2VsZWN0ZWQuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9SRUZfRU5DT0RFUiAgICAgICAgICAweDAwDQotI2RlZmluZSBMTV9SRUZfUE9UICAgICAgICAgICAgICAweDAxDQotI2RlZmluZSBMTV9SRUZfSU5WX0VOQ09ERVIgICAgICAweDAyDQotI2RlZmluZSBMTV9SRUZfUVVBRF9FTkNPREVSICAgICAweDAzDQotI2RlZmluZSBMTV9SRUZfTk9ORSAgICAgICAgICAgICAweGZmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vDQotLy8gVGhlIGZsYWdzIHRoYXQgYXJlIHVzZWQgdG8gaW5kaWNhdGUgdGhlIGN1cnJlbnRseSBhY3RpdmUgZmF1bHQgc291cmNlcy4NCi0vLw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jZGVmaW5lIExNX0ZBVUxUX0NVUlJFTlQgICAgICAgIDB4MDENCi0jZGVmaW5lIExNX0ZBVUxUX1RFTVAgICAgICAgICAgIDB4MDINCi0jZGVmaW5lIExNX0ZBVUxUX1ZCVVMgICAgICAgICAgIDB4MDQNCi0jZGVmaW5lIExNX0ZBVUxUX0dBVEVfRFJJVkUgICAgIDB4MDgNCi0jZGVmaW5lIExNX0ZBVUxUX0NPTU0gICAgICAgICAgIDB4MTANCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgU3RlbGxhcmlzIE1vdG9yIENsYXNzIFBlcmlvZGljIFN0YXR1cyBBUEkgZGVmaW5pdGlvbnMuDQotLy8NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2RlZmluZSBMTV9BUElfUFNUQVQgICAgICAgICAgICAoQ0FOX01TR0lEX01GUl9MTSB8IENBTl9NU0dJRF9EVFlQRV9NT1RPUiB8ICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTl9BUElfTUNfUFNUQVQpDQotI2RlZmluZSBMTV9BUElfUFNUQVRfUEVSX0VOX1MwICAoTE1fQVBJX1BTVEFUIHwgKDAgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QU1RBVF9QRVJfRU5fUzEgIChMTV9BUElfUFNUQVQgfCAoMSA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1BTVEFUX1BFUl9FTl9TMiAgKExNX0FQSV9QU1RBVCB8ICgyIDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfUFNUQVRfUEVSX0VOX1MzICAoTE1fQVBJX1BTVEFUIHwgKDMgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QU1RBVF9DRkdfUzAgICAgIChMTV9BUElfUFNUQVQgfCAoNCA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1BTVEFUX0NGR19TMSAgICAgKExNX0FQSV9QU1RBVCB8ICg1IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfUFNUQVRfQ0ZHX1MyICAgICAoTE1fQVBJX1BTVEFUIHwgKDYgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QU1RBVF9DRkdfUzMgICAgIChMTV9BUElfUFNUQVQgfCAoNyA8PCBDQU5fTVNHSURfQVBJX1MpKQ0KLSNkZWZpbmUgTE1fQVBJX1BTVEFUX0RBVEFfUzAgICAgKExNX0FQSV9QU1RBVCB8ICg4IDw8IENBTl9NU0dJRF9BUElfUykpDQotI2RlZmluZSBMTV9BUElfUFNUQVRfREFUQV9TMSAgICAoTE1fQVBJX1BTVEFUIHwgKDkgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QU1RBVF9EQVRBX1MyICAgIChMTV9BUElfUFNUQVQgfCAoMTAgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0jZGVmaW5lIExNX0FQSV9QU1RBVF9EQVRBX1MzICAgIChMTV9BUElfUFNUQVQgfCAoMTEgPDwgQ0FOX01TR0lEX0FQSV9TKSkNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8NCi0vLyBUaGUgdmFsdWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gY29uZmlndXJlIHRoZSBkYXRhIHRoZSBQZXJpb2RpYyBTdGF0dXMNCi0vLyBNZXNzYWdlIGJ5dGVzLiAgQnl0ZXMgb2YgYSBtdWx0aS1ieXRlIGRhdGEgdmFsdWVzIGFyZSBlbmNvZGVkIGFzDQotLy8gbGl0dGxlLWVuZGlhbiwgdGhlcmVmb3JlIEIwIGlzIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlLg0KLS8vDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNkZWZpbmUgTE1fUFNUQVRfRU5EICAgICAgICAgICAgMA0KLSNkZWZpbmUgTE1fUFNUQVRfVk9MVE9VVF9CMCAgICAgMQ0KLSNkZWZpbmUgTE1fUFNUQVRfVk9MVE9VVF9CMSAgICAgMg0KLSNkZWZpbmUgTE1fUFNUQVRfVk9MVEJVU19CMCAgICAgMw0KLSNkZWZpbmUgTE1fUFNUQVRfVk9MVEJVU19CMSAgICAgNA0KLSNkZWZpbmUgTE1fUFNUQVRfQ1VSUkVOVF9CMCAgICAgNQ0KLSNkZWZpbmUgTE1fUFNUQVRfQ1VSUkVOVF9CMSAgICAgNg0KLSNkZWZpbmUgTE1fUFNUQVRfVEVNUF9CMCAgICAgICAgNw0KLSNkZWZpbmUgTE1fUFNUQVRfVEVNUF9CMSAgICAgICAgOA0KLSNkZWZpbmUgTE1fUFNUQVRfUE9TX0IwICAgICAgICAgOQ0KLSNkZWZpbmUgTE1fUFNUQVRfUE9TX0IxICAgICAgICAgMTANCi0jZGVmaW5lIExNX1BTVEFUX1BPU19CMiAgICAgICAgIDExDQotI2RlZmluZSBMTV9QU1RBVF9QT1NfQjMgICAgICAgICAxMg0KLSNkZWZpbmUgTE1fUFNUQVRfU1BEX0IwICAgICAgICAgMTMNCi0jZGVmaW5lIExNX1BTVEFUX1NQRF9CMSAgICAgICAgIDE0DQotI2RlZmluZSBMTV9QU1RBVF9TUERfQjIgICAgICAgICAxNQ0KLSNkZWZpbmUgTE1fUFNUQVRfU1BEX0IzICAgICAgICAgMTYNCi0jZGVmaW5lIExNX1BTVEFUX0xJTUlUX05DTFIgICAgIDE3DQotI2RlZmluZSBMTV9QU1RBVF9MSU1JVF9DTFIgICAgICAxOA0KLSNkZWZpbmUgTE1fUFNUQVRfRkFVTFQgICAgICAgICAgMTkNCi0jZGVmaW5lIExNX1BTVEFUX1NUS1lfRkxUX05DTFIgIDIwDQotI2RlZmluZSBMTV9QU1RBVF9TVEtZX0ZMVF9DTFIgICAyMQ0KLSNkZWZpbmUgTE1fUFNUQVRfVk9VVF9CMCAgICAgICAgMjINCi0jZGVmaW5lIExNX1BTVEFUX1ZPVVRfQjEgICAgICAgIDIzDQotI2RlZmluZSBMTV9QU1RBVF9GTFRfQ09VTlRfQ1VSUkVOVCBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNA0KLSNkZWZpbmUgTE1fUFNUQVRfRkxUX0NPVU5UX1RFTVAgMjUNCi0jZGVmaW5lIExNX1BTVEFUX0ZMVF9DT1VOVF9WT0xUQlVTIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI2DQotI2RlZmluZSBMTV9QU1RBVF9GTFRfQ09VTlRfR0FURSAyNw0KLSNkZWZpbmUgTE1fUFNUQVRfRkxUX0NPVU5UX0NPTU0gMjgNCi0jZGVmaW5lIExNX1BTVEFUX0NBTlNUUyAgICAgICAgIDI5DQotI2RlZmluZSBMTV9QU1RBVF9DQU5FUlJfQjAgICAgICAzMA0KLSNkZWZpbmUgTE1fUFNUQVRfQ0FORVJSX0IxICAgICAgMzENCi0NCi0jZW5kaWYgLy8gX19DQU5fUFJPVE9fSF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ0FOSmFndWFyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NBTkphZ3Vhci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMTk2ZjAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ0FOSmFndWFyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEyNzYgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQ0FOSmFndWFyLmgiDQotI2RlZmluZSB0TklSSU9faTMyIGludA0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L05pRnBnYS5oIg0KLSNpbmNsdWRlICJDQU4vSmFndWFyQ0FORHJpdmVyLmgiDQotI2luY2x1ZGUgIkNBTi9jYW5fcHJvdG8uaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLQ0KLSNkZWZpbmUgc3dhcDE2KHgpICggKCgoeCk+PjgpICYweDAwRkYpIFwNCi0gICAgICAgICAgICAgICAgICB8ICgoKHgpPDw4KSAmMHhGRjAwKSApDQotI2RlZmluZSBzd2FwMzIoeCkgKCAoKCh4KT4+MjQpJjB4MDAwMDAwRkYpIFwNCi0gICAgICAgICAgICAgICAgICB8ICgoKHgpPj44KSAmMHgwMDAwRkYwMCkgXA0KLSAgICAgICAgICAgICAgICAgIHwgKCgoeCk8PDgpICYweDAwRkYwMDAwKSBcDQotICAgICAgICAgICAgICAgICAgfCAoKCh4KTw8MjQpJjB4RkYwMDAwMDApICkNCi0NCi0jZGVmaW5lIGtGdWxsTWVzc2FnZUlETWFzayAoQ0FOX01TR0lEX0FQSV9NIHwgQ0FOX01TR0lEX01GUl9NIHwgQ0FOX01TR0lEX0RUWVBFX00pDQotDQotY29uc3QgSU5UMzIgQ0FOSmFndWFyOjprQ29udHJvbGxlclJhdGU7DQotY29uc3QgZG91YmxlIENBTkphZ3Vhcjo6a0FwcHJveEJ1c1ZvbHRhZ2U7DQotDQotLyoqDQotICogQ29tbW9uIGluaXRpYWxpemF0aW9uIGNvZGUgY2FsbGVkIGJ5IGFsbCBjb25zdHJ1Y3RvcnMuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkluaXRDQU5KYWd1YXIoKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCW1fdHJhbnNhY3Rpb25TZW1hcGhvcmUgPSBzZW1NQ3JlYXRlKFNFTV9RX1BSSU9SSVRZIHwgU0VNX0lOVkVSU0lPTl9TQUZFIHwgU0VNX0RFTEVURV9TQUZFKTsNCi0JaWYgKG1fZGV2aWNlTnVtYmVyIDwgMSB8fCBtX2RldmljZU51bWJlciA+IDYzKQ0KLQl7DQotCQljaGFyIGJ1ZlsyNTZdOw0KLQkJc25wcmludGYoYnVmLCAyNTYsICJkZXZpY2UgbnVtYmVyIFwiJWRcIiBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjMiLCBtX2RldmljZU51bWJlcik7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCBidWYpOw0KLQkJcmV0dXJuOw0KLQl9DQotCVVJTlQzMiBmd1ZlciA9IEdldEZpcm13YXJlVmVyc2lvbigpOw0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKQ0KLQkJcmV0dXJuOw0KLQkvLyAzMzMwIHdhcyB0aGUgZmlyc3Qgc2hpcHBpbmcgUkRLIGZpcm13YXJlIHZlcnNpb24gZm9yIHRoZSBKYWd1YXINCi0JaWYgKGZ3VmVyID49IDMzMzAgfHwgZndWZXIgPCAxMDEpDQotCXsNCi0JCWNoYXIgYnVmWzI1Nl07DQotCQlpZiAoZndWZXIgPCAzMzMwKQ0KLQkJew0KLQkJCXNucHJpbnRmKGJ1ZiwgMjU2LCAiSmFnICMlZCBmaXJtd2FyZSAoJWQpIGlzIHRvbyBvbGQgKG11c3QgYmUgYXQgbGVhc3QgdmVyc2lvbiAxMDEgb2YgdGhlIEZJUlNUIGFwcHJvdmVkIGZpcm13YXJlKSIsIG1fZGV2aWNlTnVtYmVyLCBmd1Zlcik7DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJc25wcmludGYoYnVmLCAyNTYsICJKYWcgIyVkIGZpcm13YXJlICglZCkgaXMgbm90IEZJUlNUIGFwcHJvdmVkIChtdXN0IGJlIGF0IGxlYXN0IHZlcnNpb24gMTAxIG9mIHRoZSBGSVJTVCBhcHByb3ZlZCBmaXJtd2FyZSkiLCBtX2RldmljZU51bWJlciwgZndWZXIpOw0KLQkJfQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoSmFndWFyVmVyc2lvbkVycm9yLCBidWYpOw0KLQkJcmV0dXJuOw0KLQl9DQotCXN3aXRjaCAobV9jb250cm9sTW9kZSkNCi0Jew0KLQljYXNlIGtQZXJjZW50VmJ1czoNCi0JY2FzZSBrVm9sdGFnZToNCi0JCS8vIE5vIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiByZXF1aXJlZC4uLiBzdGFydCBlbmFibGVkLg0KLQkJRW5hYmxlQ29udHJvbCgpOw0KLQkJYnJlYWs7DQotCWRlZmF1bHQ6DQotCQlicmVhazsNCi0JfQ0KLQltX3NhZmV0eUhlbHBlciA9IG5ldyBNb3RvclNhZmV0eUhlbHBlcih0aGlzKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0NBTkphZ3VhciwgbV9kZXZpY2VOdW1iZXIsIG1fY29udHJvbE1vZGUpOw0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRBY3R1YXRvcigiQ0FOSmFndWFyIiwgbV9kZXZpY2VOdW1iZXIsIDAsIHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3Rvcg0KLSAqIA0KLSAqIEBwYXJhbSBkZXZpY2VOdW1iZXIgVGhlIHRoZSBhZGRyZXNzIG9mIHRoZSBKYWd1YXIgb24gdGhlIENBTiBidXMuDQotICovDQotQ0FOSmFndWFyOjpDQU5KYWd1YXIoVUlOVDggZGV2aWNlTnVtYmVyLCBDb250cm9sTW9kZSBjb250cm9sTW9kZSkNCi0JOiBtX2RldmljZU51bWJlciAoZGV2aWNlTnVtYmVyKQ0KLQksIG1fY29udHJvbE1vZGUgKGNvbnRyb2xNb2RlKQ0KLQksIG1fdHJhbnNhY3Rpb25TZW1hcGhvcmUgKE5VTEwpDQotCSwgbV9tYXhPdXRwdXRWb2x0YWdlIChrQXBwcm94QnVzVm9sdGFnZSkNCi0JLCBtX3NhZmV0eUhlbHBlciAoTlVMTCkNCi17DQotCUluaXRDQU5KYWd1YXIoKTsNCi19DQotDQotQ0FOSmFndWFyOjp+Q0FOSmFndWFyKCkNCi17DQotCWRlbGV0ZSBtX3NhZmV0eUhlbHBlcjsNCi0JbV9zYWZldHlIZWxwZXIgPSBOVUxMOw0KLQlzZW1EZWxldGUobV90cmFuc2FjdGlvblNlbWFwaG9yZSk7DQotCW1fdHJhbnNhY3Rpb25TZW1hcGhvcmUgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIG91dHB1dCBzZXQtcG9pbnQgdmFsdWUuICANCi0gKiANCi0gKiBUaGUgc2NhbGUgYW5kIHRoZSB1bml0cyBkZXBlbmQgb24gdGhlIG1vZGUgdGhlIEphZ3VhciBpcyBpbi4NCi0gKiBJbiBQZXJjZW50VmJ1cyBNb2RlLCB0aGUgb3V0cHV0VmFsdWUgaXMgZnJvbSAtMS4wIHRvIDEuMCAoc2FtZSBhcyBQV00gSmFndWFyKS4NCi0gKiBJbiBWb2x0YWdlIE1vZGUsIHRoZSBvdXRwdXRWYWx1ZSBpcyBpbiBWb2x0cy4NCi0gKiBJbiBDdXJyZW50IE1vZGUsIHRoZSBvdXRwdXRWYWx1ZSBpcyBpbiBBbXBzLg0KLSAqIEluIFNwZWVkIE1vZGUsIHRoZSBvdXRwdXRWYWx1ZSBpcyBpbiBSb3RhdGlvbnMvTWludXRlLg0KLSAqIEluIFBvc2l0aW9uIE1vZGUsIHRoZSBvdXRwdXRWYWx1ZSBpcyBpbiBSb3RhdGlvbnMuDQotICogDQotICogQHBhcmFtIG91dHB1dFZhbHVlIFRoZSBzZXQtcG9pbnQgdG8gc2VudCB0byB0aGUgbW90b3IgY29udHJvbGxlci4NCi0gKiBAcGFyYW0gc3luY0dyb3VwIFRoZSB1cGRhdGUgZ3JvdXAgdG8gYWRkIHRoaXMgU2V0KCkgdG8sIHBlbmRpbmcgVXBkYXRlU3luY0dyb3VwKCkuICBJZiAwLCB1cGRhdGUgaW1tZWRpYXRlbHkuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OlNldChmbG9hdCBvdXRwdXRWYWx1ZSwgVUlOVDggc3luY0dyb3VwKQ0KLXsNCi0JVUlOVDMyIG1lc3NhZ2VJRDsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWlmIChtX3NhZmV0eUhlbHBlciAmJiAhbV9zYWZldHlIZWxwZXItPklzQWxpdmUoKSkNCi0Jew0KLQkJRW5hYmxlQ29udHJvbCgpOw0KLQl9DQotDQotCXN3aXRjaChtX2NvbnRyb2xNb2RlKQ0KLQl7DQotCWNhc2Uga1BlcmNlbnRWYnVzOg0KLQkJew0KLQkJCW1lc3NhZ2VJRCA9IExNX0FQSV9WT0xUX1RfU0VUOw0KLQkJCWlmIChvdXRwdXRWYWx1ZSA+IDEuMCkgb3V0cHV0VmFsdWUgPSAxLjA7DQotCQkJaWYgKG91dHB1dFZhbHVlIDwgLTEuMCkgb3V0cHV0VmFsdWUgPSAtMS4wOw0KLQkJCWRhdGFTaXplID0gcGFja1BlcmNlbnRhZ2UoZGF0YUJ1ZmZlciwgb3V0cHV0VmFsdWUpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga1NwZWVkOg0KLQkJew0KLQkJCW1lc3NhZ2VJRCA9IExNX0FQSV9TUERfVF9TRVQ7DQotCQkJZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgb3V0cHV0VmFsdWUpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga1Bvc2l0aW9uOg0KLQkJew0KLQkJCW1lc3NhZ2VJRCA9IExNX0FQSV9QT1NfVF9TRVQ7DQotCQkJZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgb3V0cHV0VmFsdWUpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga0N1cnJlbnQ6DQotCQl7DQotCQkJbWVzc2FnZUlEID0gTE1fQVBJX0lDVFJMX1RfU0VUOw0KLQkJCWRhdGFTaXplID0gcGFja0ZYUDhfOChkYXRhQnVmZmVyLCBvdXRwdXRWYWx1ZSk7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrVm9sdGFnZToNCi0JCXsNCi0JCQltZXNzYWdlSUQgPSBMTV9BUElfVkNPTVBfVF9TRVQ7DQotCQkJZGF0YVNpemUgPSBwYWNrRlhQOF84KGRhdGFCdWZmZXIsIG91dHB1dFZhbHVlKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQlkZWZhdWx0Og0KLQkJcmV0dXJuOw0KLQl9DQotCWlmIChzeW5jR3JvdXAgIT0gMCkNCi0Jew0KLQkJZGF0YUJ1ZmZlcltkYXRhU2l6ZV0gPSBzeW5jR3JvdXA7DQotCQlkYXRhU2l6ZSsrOw0KLQl9DQotCXNldFRyYW5zYWN0aW9uKG1lc3NhZ2VJRCwgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQlpZiAobV9zYWZldHlIZWxwZXIpIG1fc2FmZXR5SGVscGVyLT5GZWVkKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcmVjZW50bHkgc2V0IG91dHB1dFZhbHVlIHNldHBvaW50Lg0KLSAqIA0KLSAqIFRoZSBzY2FsZSBhbmQgdGhlIHVuaXRzIGRlcGVuZCBvbiB0aGUgbW9kZSB0aGUgSmFndWFyIGlzIGluLg0KLSAqIEluIFBlcmNlbnRWYnVzIE1vZGUsIHRoZSBvdXRwdXRWYWx1ZSBpcyBmcm9tIC0xLjAgdG8gMS4wIChzYW1lIGFzIFBXTSBKYWd1YXIpLg0KLSAqIEluIFZvbHRhZ2UgTW9kZSwgdGhlIG91dHB1dFZhbHVlIGlzIGluIFZvbHRzLg0KLSAqIEluIEN1cnJlbnQgTW9kZSwgdGhlIG91dHB1dFZhbHVlIGlzIGluIEFtcHMuDQotICogSW4gU3BlZWQgTW9kZSwgdGhlIG91dHB1dFZhbHVlIGlzIGluIFJvdGF0aW9ucy9NaW51dGUuDQotICogSW4gUG9zaXRpb24gTW9kZSwgdGhlIG91dHB1dFZhbHVlIGlzIGluIFJvdGF0aW9ucy4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBtb3N0IHJlY2VudGx5IHNldCBvdXRwdXRWYWx1ZSBzZXRwb2ludC4NCi0gKi8NCi1mbG9hdCBDQU5KYWd1YXI6OkdldCgpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCQlnZXRUcmFuc2FjdGlvbihMTV9BUElfVk9MVF9TRVQsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDE2KSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrUGVyY2VudGFnZShkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQljYXNlIGtTcGVlZDoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TUERfU0VULCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQkJaWYgKGRhdGFTaXplID09IHNpemVvZihJTlQzMikpDQotCQl7DQotCQkJcmV0dXJuIHVucGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga1Bvc2l0aW9uOg0KLQkJZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1BPU19TRVQsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrQ3VycmVudDoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9JQ1RSTF9TRVQsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDE2KSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQOF84KGRhdGFCdWZmZXIpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga1ZvbHRhZ2U6DQotCQlnZXRUcmFuc2FjdGlvbihMTV9BUElfVkNPTVBfU0VULCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQkJaWYgKGRhdGFTaXplID09IHNpemVvZihJTlQxNikpDQotCQl7DQotCQkJcmV0dXJuIHVucGFja0ZYUDhfOChkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbW1vbiBpbnRlcmZhY2UgZm9yIGRpc2FibGluZyBhIG1vdG9yLg0KLSAqIA0KLSAqIEBkZXByZWNhdGVkIENhbGwgRGlzYWJsZUNvbnRyb2wgaW5zdGVhZC4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6RGlzYWJsZSgpDQotew0KLQlEaXNhYmxlQ29udHJvbCgpOw0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSBvdXQgdGhlIFBJRCB2YWx1ZSBhcyBzZWVuIGluIHRoZSBQSURPdXRwdXQgYmFzZSBvYmplY3QuDQotICogDQotICogQGRlcHJlY2F0ZWQgQ2FsbCBTZXQgaW5zdGVhZC4NCi0gKiANCi0gKiBAcGFyYW0gb3V0cHV0IFdyaXRlIG91dCB0aGUgUGVyY2VudFZidXMgdmFsdWUgYXMgd2FzIGNvbXB1dGVkIGJ5IHRoZSBQSURDb250cm9sbGVyDQotICovDQotdm9pZCBDQU5KYWd1YXI6OlBJRFdyaXRlKGZsb2F0IG91dHB1dCkNCi17DQotCWlmIChtX2NvbnRyb2xNb2RlID09IGtQZXJjZW50VmJ1cykNCi0Jew0KLQkJU2V0KG91dHB1dCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChJbmNvbXBhdGlibGVNb2RlLCAiUElEIG9ubHkgc3VwcG9ydGVkIGluIFBlcmNlbnRWYnVzIG1vZGUiKTsNCi0JfQ0KLX0NCi0NCi1VSU5UOCBDQU5KYWd1YXI6OnBhY2tQZXJjZW50YWdlKFVJTlQ4ICpidWZmZXIsIGRvdWJsZSB2YWx1ZSkNCi17DQotCUlOVDE2IGludFZhbHVlID0gKElOVDE2KSh2YWx1ZSAqIDMyNzY3LjApOw0KLQkqKChJTlQxNiopYnVmZmVyKSA9IHN3YXAxNihpbnRWYWx1ZSk7DQotCXJldHVybiBzaXplb2YoSU5UMTYpOw0KLX0NCi0NCi1VSU5UOCBDQU5KYWd1YXI6OnBhY2tGWFA4XzgoVUlOVDggKmJ1ZmZlciwgZG91YmxlIHZhbHVlKQ0KLXsNCi0JSU5UMTYgaW50VmFsdWUgPSAoSU5UMTYpKHZhbHVlICogMjU2LjApOw0KLQkqKChJTlQxNiopYnVmZmVyKSA9IHN3YXAxNihpbnRWYWx1ZSk7DQotCXJldHVybiBzaXplb2YoSU5UMTYpOw0KLX0NCi0NCi1VSU5UOCBDQU5KYWd1YXI6OnBhY2tGWFAxNl8xNihVSU5UOCAqYnVmZmVyLCBkb3VibGUgdmFsdWUpDQotew0KLQlJTlQzMiBpbnRWYWx1ZSA9IChJTlQzMikodmFsdWUgKiA2NTUzNi4wKTsNCi0JKigoSU5UMzIqKWJ1ZmZlcikgPSBzd2FwMzIoaW50VmFsdWUpOw0KLQlyZXR1cm4gc2l6ZW9mKElOVDMyKTsNCi19DQotDQotVUlOVDggQ0FOSmFndWFyOjpwYWNrSU5UMTYoVUlOVDggKmJ1ZmZlciwgSU5UMTYgdmFsdWUpDQotew0KLQkqKChJTlQxNiopYnVmZmVyKSA9IHN3YXAxNih2YWx1ZSk7DQotCXJldHVybiBzaXplb2YoSU5UMTYpOw0KLX0NCi0NCi1VSU5UOCBDQU5KYWd1YXI6OnBhY2tJTlQzMihVSU5UOCAqYnVmZmVyLCBJTlQzMiB2YWx1ZSkNCi17DQotCSooKElOVDMyKilidWZmZXIpID0gc3dhcDMyKHZhbHVlKTsNCi0JcmV0dXJuIHNpemVvZihJTlQzMik7DQotfQ0KLQ0KLWRvdWJsZSBDQU5KYWd1YXI6OnVucGFja1BlcmNlbnRhZ2UoVUlOVDggKmJ1ZmZlcikNCi17DQotCUlOVDE2IHZhbHVlID0gKigoSU5UMTYqKWJ1ZmZlcik7DQotCXZhbHVlID0gc3dhcDE2KHZhbHVlKTsNCi0JcmV0dXJuIHZhbHVlIC8gMzI3NjcuMDsNCi19DQotDQotZG91YmxlIENBTkphZ3Vhcjo6dW5wYWNrRlhQOF84KFVJTlQ4ICpidWZmZXIpDQotew0KLQlJTlQxNiB2YWx1ZSA9ICooKElOVDE2KilidWZmZXIpOw0KLQl2YWx1ZSA9IHN3YXAxNih2YWx1ZSk7DQotCXJldHVybiB2YWx1ZSAvIDI1Ni4wOw0KLX0NCi0NCi1kb3VibGUgQ0FOSmFndWFyOjp1bnBhY2tGWFAxNl8xNihVSU5UOCAqYnVmZmVyKQ0KLXsNCi0JSU5UMzIgdmFsdWUgPSAqKChJTlQzMiopYnVmZmVyKTsNCi0JdmFsdWUgPSBzd2FwMzIodmFsdWUpOw0KLQlyZXR1cm4gdmFsdWUgLyA2NTUzNi4wOw0KLX0NCi0NCi1JTlQxNiBDQU5KYWd1YXI6OnVucGFja0lOVDE2KFVJTlQ4ICpidWZmZXIpDQotew0KLQlJTlQxNiB2YWx1ZSA9ICooKElOVDE2KilidWZmZXIpOw0KLQlyZXR1cm4gc3dhcDE2KHZhbHVlKTsNCi19DQotDQotSU5UMzIgQ0FOSmFndWFyOjp1bnBhY2tJTlQzMihVSU5UOCAqYnVmZmVyKQ0KLXsNCi0JSU5UMzIgdmFsdWUgPSAqKChJTlQzMiopYnVmZmVyKTsNCi0JcmV0dXJuIHN3YXAzMih2YWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNlbmQgYSBtZXNzYWdlIG9uIHRoZSBDQU4gYnVzIHRocm91Z2ggdGhlIENBTiBkcml2ZXIgaW4gRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uDQotICogDQotICogVHJ1c3RlZCBtZXNzYWdlcyByZXF1aXJlIGEgMi1ieXRlIHRva2VuIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRhdGEgcGF5bG9hZC4NCi0gKiBJZiB0aGUgbWVzc2FnZSBiZWluZyBzZW50IGlzIHRydXN0ZWQsIG1ha2Ugc3BhY2UgZm9yIHRoZSB0b2tlbi4NCi0gKiANCi0gKiBAcGFyYW0gbWVzc2FnZUlEIFRoZSBtZXNzYWdlSUQgdG8gYmUgdXNlZCBvbiB0aGUgQ0FOIGJ1cw0KLSAqIEBwYXJhbSBkYXRhIFRoZSB1cCB0byA4IGJ5dGVzIG9mIGRhdGEgdG8gYmUgc2VudCB3aXRoIHRoZSBtZXNzYWdlDQotICogQHBhcmFtIGRhdGFTaXplIFNwZWNpZnkgaG93IG11Y2ggb2YgdGhlIGRhdGEgaW4gImRhdGEiIHRvIHNlbmQNCi0gKiBAcmV0dXJuIFN0YXR1cyBvZiBzZW5kIGNhbGwNCi0gKi8NCi1JTlQzMiBDQU5KYWd1YXI6OnNlbmRNZXNzYWdlKFVJTlQzMiBtZXNzYWdlSUQsIGNvbnN0IFVJTlQ4ICpkYXRhLCBVSU5UOCBkYXRhU2l6ZSkNCi17DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga1RydXN0ZWRNZXNzYWdlc1tdID0gew0KLQkJCUxNX0FQSV9WT0xUX1RfRU4sIExNX0FQSV9WT0xUX1RfU0VULCBMTV9BUElfU1BEX1RfRU4sIExNX0FQSV9TUERfVF9TRVQsDQotCQkJTE1fQVBJX1ZDT01QX1RfRU4sIExNX0FQSV9WQ09NUF9UX1NFVCwgTE1fQVBJX1BPU19UX0VOLCBMTV9BUElfUE9TX1RfU0VULA0KLQkJCUxNX0FQSV9JQ1RSTF9UX0VOLCBMTV9BUElfSUNUUkxfVF9TRVR9Ow0KLQlJTlQzMiBzdGF0dXM9MDsNCi0NCi0JZm9yIChVSU5UOCBpPTA7IGk8KHNpemVvZihrVHJ1c3RlZE1lc3NhZ2VzKS9zaXplb2Yoa1RydXN0ZWRNZXNzYWdlc1swXSkpOyBpKyspDQotCXsNCi0JCWlmICgoa0Z1bGxNZXNzYWdlSURNYXNrICYgbWVzc2FnZUlEKSA9PSBrVHJ1c3RlZE1lc3NhZ2VzW2ldKQ0KLQkJew0KLQkJCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCQkJZGF0YUJ1ZmZlclswXSA9IDA7DQotCQkJZGF0YUJ1ZmZlclsxXSA9IDA7DQotCQkJLy8gTWFrZSBzdXJlIHRoZSBkYXRhIHdpbGwgc3RpbGwgZml0IGFmdGVyIGFkanVzdGluZyBmb3IgdGhlIHRva2VuLg0KLQkJCWlmIChkYXRhU2l6ZSA+IDYpDQotCQkJew0KLQkJCQkvLyBUT0RPOiBJIHdvdWxkIHJhdGhlciB0aGlzIG5vdCBoYXZlIHRvIHNldCB0aGUgZ2xvYmFsIGVycm9yDQotCQkJCXdwaV9zZXRHbG9iYWxXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJkYXRhU2l6ZSA+IDYiKTsNCi0JCQkJcmV0dXJuIDA7DQotCQkJfQ0KLQkJCWZvciAoVUlOVDggaj0wOyBqIDwgZGF0YVNpemU7IGorKykNCi0JCQl7DQotCQkJCWRhdGFCdWZmZXJbaiArIDJdID0gZGF0YVtqXTsNCi0JCQl9DQotCQkJRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0phZ3VhckNBTkRyaXZlcl9zZW5kTWVzc2FnZShtZXNzYWdlSUQsIGRhdGFCdWZmZXIsIGRhdGFTaXplICsgMiwgJnN0YXR1cyk7DQotCQkJcmV0dXJuIHN0YXR1czsNCi0JCX0NCi0JfQ0KLQlGUkNfTmV0d29ya0NvbW11bmljYXRpb25fSmFndWFyQ0FORHJpdmVyX3NlbmRNZXNzYWdlKG1lc3NhZ2VJRCwgZGF0YSwgZGF0YVNpemUsICZzdGF0dXMpOw0KLQlyZXR1cm4gc3RhdHVzOw0KLX0NCi0NCi0vKioNCi0gKiBSZWNlaXZlIGEgbWVzc2FnZSBmcm9tIHRoZSBDQU4gYnVzIHRocm91Z2ggdGhlIENBTiBkcml2ZXIgaW4gRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uDQotICogDQotICogQHBhcmFtIG1lc3NhZ2VJRCBUaGUgbWVzc2FnZUlEIHRvIHJlYWQgZnJvbSB0aGUgQ0FOIGJ1cw0KLSAqIEBwYXJhbSBkYXRhIFRoZSB1cCB0byA4IGJ5dGVzIG9mIGRhdGEgdGhhdCB3YXMgcmVjZWl2ZWQgd2l0aCB0aGUgbWVzc2FnZQ0KLSAqIEBwYXJhbSBkYXRhU2l6ZSBJbmRpY2F0ZXMgaG93IG11Y2ggZGF0YSB3YXMgcmVjZWl2ZWQNCi0gKiBAcGFyYW0gdGltZW91dCBTcGVjaWZ5IGhvdyBsb25nIHRvIHdhaXQgZm9yIGEgbWVzc2FnZSAoaW4gc2Vjb25kcykNCi0gKiBAcmV0dXJuIFN0YXR1cyBvZiByZWNlaXZlIGNhbGwNCi0gKi8NCi1JTlQzMiBDQU5KYWd1YXI6OnJlY2VpdmVNZXNzYWdlKFVJTlQzMiAqbWVzc2FnZUlELCBVSU5UOCAqZGF0YSwgVUlOVDggKmRhdGFTaXplLCBmbG9hdCB0aW1lb3V0KQ0KLXsNCi0JSU5UMzIgc3RhdHVzID0gMDsNCi0JRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0phZ3VhckNBTkRyaXZlcl9yZWNlaXZlTWVzc2FnZShtZXNzYWdlSUQsIGRhdGEsIGRhdGFTaXplLA0KLQkJCShVSU5UMzIpKHRpbWVvdXQgKiAxMDAwKSwgJnN0YXR1cyk7DQotCXJldHVybiBzdGF0dXM7DQotfQ0KLQ0KLS8qKg0KLSAqIEV4ZWN1dGUgYSB0cmFuc2FjdGlvbiB3aXRoIGEgSmFndWFyIHRoYXQgc2V0cyBzb21lIHByb3BlcnR5Lg0KLSAqIA0KLSAqIEphZ3VhciBhbHdheXMgYWNrcyB3aGVuIGl0IHJlY2VpdmVzIGEgbWVzc2FnZS4gIElmIHdlIGRvbid0IHdhaXQgZm9yIGFuIGFjaywNCi0gKiB0aGUgbWVzc2FnZSBvYmplY3QgaW4gdGhlIEphZ3VhciBjb3VsZCBnZXQgb3ZlcndyaXR0ZW4gYmVmb3JlIGl0IGlzIGhhbmRsZWQuDQotICogDQotICogQHBhcmFtIG1lc3NhZ2VJRCBUaGUgbWVzc2FnZUlEIHRvIGJlIHVzZWQgb24gdGhlIENBTiBidXMgKGRldmljZSBudW1iZXIgaXMgYWRkZWQgaW50ZXJuYWxseSkNCi0gKiBAcGFyYW0gZGF0YSBUaGUgdXAgdG8gOCBieXRlcyBvZiBkYXRhIHRvIGJlIHNlbnQgd2l0aCB0aGUgbWVzc2FnZQ0KLSAqIEBwYXJhbSBkYXRhU2l6ZSBTcGVjaWZ5IGhvdyBtdWNoIG9mIHRoZSBkYXRhIGluICJkYXRhIiB0byBzZW5kDQotICovDQotdm9pZCBDQU5KYWd1YXI6OnNldFRyYW5zYWN0aW9uKFVJTlQzMiBtZXNzYWdlSUQsIGNvbnN0IFVJTlQ4ICpkYXRhLCBVSU5UOCBkYXRhU2l6ZSkNCi17DQotCVVJTlQzMiBhY2tNZXNzYWdlSUQgPSBMTV9BUElfQUNLIHwgbV9kZXZpY2VOdW1iZXI7DQotCUlOVDMyIGxvY2FsU3RhdHVzID0gMDsNCi0NCi0JLy8gSWYgdGhlcmUgd2FzIGFuIGVycm9yIG9uIHRoaXMgb2JqZWN0IGFuZCBpdCB3YXNuJ3QgYSB0aW1lb3V0LCByZWZ1c2UgdG8gdGFsayB0byB0aGUgZGV2aWNlDQotCS8vIENhbGwgQ2xlYXJFcnJvcigpIG9uIHRoZSBvYmplY3QgdG8gdHJ5IGFnYWluDQotCWlmIChTdGF0dXNJc0ZhdGFsKCkgJiYgR2V0RXJyb3IoKS5HZXRDb2RlKCkgIT0gLTQ0MDg3KQ0KLQkJcmV0dXJuOw0KLQ0KLQkvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBtb3JlIHRoYW4gb25lIHRyYW5zYWN0aW9uIHdpdGggdGhlIHNhbWUgSmFndWFyIG91dHN0YW5kaW5nLg0KLQlzZW1UYWtlKG1fdHJhbnNhY3Rpb25TZW1hcGhvcmUsIFdBSVRfRk9SRVZFUik7DQotDQotCS8vIFRocm93IGF3YXkgYW55IHN0YWxlIGFja3MuDQotCXJlY2VpdmVNZXNzYWdlKCZhY2tNZXNzYWdlSUQsIE5VTEwsIDAsIDAuMGYpOw0KLQkvLyBTZW5kIHRoZSBtZXNzYWdlIHdpdGggdGhlIGRhdGEuDQotCWxvY2FsU3RhdHVzID0gc2VuZE1lc3NhZ2UobWVzc2FnZUlEIHwgbV9kZXZpY2VOdW1iZXIsIGRhdGEsIGRhdGFTaXplKTsNCi0Jd3BpX3NldEVycm9yV2l0aENvbnRleHQobG9jYWxTdGF0dXMsICJzZW5kTWVzc2FnZSIpOw0KLQkvLyBXYWl0IGZvciBhbiBhY2suDQotCWxvY2FsU3RhdHVzID0gcmVjZWl2ZU1lc3NhZ2UoJmFja01lc3NhZ2VJRCwgTlVMTCwgMCk7DQotCXdwaV9zZXRFcnJvcldpdGhDb250ZXh0KGxvY2FsU3RhdHVzLCAicmVjZWl2ZU1lc3NhZ2UiKTsNCi0NCi0JLy8gVHJhbnNhY3Rpb24gY29tcGxldGUuDQotCXNlbUdpdmUobV90cmFuc2FjdGlvblNlbWFwaG9yZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEV4ZWN1dGUgYSB0cmFuc2FjdGlvbiB3aXRoIGEgSmFndWFyIHRoYXQgZ2V0cyBzb21lIHByb3BlcnR5Lg0KLSAqIA0KLSAqIEphZ3VhciBhbHdheXMgZ2VuZXJhdGVzIGEgbWVzc2FnZSB3aXRoIHRoZSBzYW1lIG1lc3NhZ2UgSUQgd2hlbiByZXBseWluZy4NCi0gKiANCi0gKiBAcGFyYW0gbWVzc2FnZUlEIFRoZSBtZXNzYWdlSUQgdG8gcmVhZCBmcm9tIHRoZSBDQU4gYnVzIChkZXZpY2UgbnVtYmVyIGlzIGFkZGVkIGludGVybmFsbHkpDQotICogQHBhcmFtIGRhdGEgVGhlIHVwIHRvIDggYnl0ZXMgb2YgZGF0YSB0aGF0IHdhcyByZWNlaXZlZCB3aXRoIHRoZSBtZXNzYWdlDQotICogQHBhcmFtIGRhdGFTaXplIEluZGljYXRlcyBob3cgbXVjaCBkYXRhIHdhcyByZWNlaXZlZA0KLSAqLw0KLXZvaWQgQ0FOSmFndWFyOjpnZXRUcmFuc2FjdGlvbihVSU5UMzIgbWVzc2FnZUlELCBVSU5UOCAqZGF0YSwgVUlOVDggKmRhdGFTaXplKQ0KLXsNCi0JVUlOVDMyIHRhcmdldGVkTWVzc2FnZUlEID0gbWVzc2FnZUlEIHwgbV9kZXZpY2VOdW1iZXI7DQotCUlOVDMyIGxvY2FsU3RhdHVzID0gMDsNCi0NCi0JLy8gSWYgdGhlcmUgd2FzIGFuIGVycm9yIG9uIHRoaXMgb2JqZWN0IGFuZCBpdCB3YXNuJ3QgYSB0aW1lb3V0LCByZWZ1c2UgdG8gdGFsayB0byB0aGUgZGV2aWNlDQotCS8vIENhbGwgQ2xlYXJFcnJvcigpIG9uIHRoZSBvYmplY3QgdG8gdHJ5IGFnYWluDQotCWlmIChTdGF0dXNJc0ZhdGFsKCkgJiYgR2V0RXJyb3IoKS5HZXRDb2RlKCkgIT0gLTQ0MDg3KQ0KLQl7DQotCQlpZiAoZGF0YVNpemUgIT0gTlVMTCkNCi0JCQkqZGF0YVNpemUgPSAwOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCS8vIE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIG1vcmUgdGhhbiBvbmUgdHJhbnNhY3Rpb24gd2l0aCB0aGUgc2FtZSBKYWd1YXIgb3V0c3RhbmRpbmcuDQotCXNlbVRha2UobV90cmFuc2FjdGlvblNlbWFwaG9yZSwgV0FJVF9GT1JFVkVSKTsNCi0NCi0JLy8gVGhyb3cgYXdheSBhbnkgc3RhbGUgcmVzcG9uc2VzLg0KLQlyZWNlaXZlTWVzc2FnZSgmdGFyZ2V0ZWRNZXNzYWdlSUQsIE5VTEwsIDAsIDAuMGYpOw0KLQkvLyBTZW5kIHRoZSBtZXNzYWdlIHJlcXVlc3RpbmcgZGF0YS4NCi0JbG9jYWxTdGF0dXMgPSBzZW5kTWVzc2FnZSh0YXJnZXRlZE1lc3NhZ2VJRCwgTlVMTCwgMCk7DQotCXdwaV9zZXRFcnJvcldpdGhDb250ZXh0KGxvY2FsU3RhdHVzLCAic2VuZE1lc3NhZ2UiKTsNCi0JLy8gQ2FsbGVyIG1heSBoYXZlIHNldCBiaXQzMSBmb3IgcmVtb3RlIGZyYW1lIHRyYW5zbWlzc2lvbiBzbyBjbGVhciBpbnZhbGlkIGJpdHNbMzEtMjldDQotCXRhcmdldGVkTWVzc2FnZUlEICY9IDB4MUZGRkZGRkY7DQotCS8vIFdhaXQgZm9yIHRoZSBkYXRhLg0KLQlsb2NhbFN0YXR1cyA9IHJlY2VpdmVNZXNzYWdlKCZ0YXJnZXRlZE1lc3NhZ2VJRCwgZGF0YSwgZGF0YVNpemUpOw0KLQl3cGlfc2V0RXJyb3JXaXRoQ29udGV4dChsb2NhbFN0YXR1cywgInJlY2VpdmVNZXNzYWdlIik7DQotDQotCS8vIFRyYW5zYWN0aW9uIGNvbXBsZXRlLg0KLQlzZW1HaXZlKG1fdHJhbnNhY3Rpb25TZW1hcGhvcmUpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHJlZmVyZW5jZSBzb3VyY2UgZGV2aWNlIGZvciBzcGVlZCBjb250cm9sbGVyIG1vZGUuDQotICogDQotICogQ2hvb3NlIGVuY29kZXIgYXMgdGhlIHNvdXJjZSBvZiBzcGVlZCBmZWVkYmFjayB3aGVuIGluIHNwZWVkIGNvbnRyb2wgbW9kZS4NCi0gKiANCi0gKiBAcGFyYW0gcmVmZXJlbmNlIFNwZWNpZnkgYSBTcGVlZFJlZmVyZW5jZS4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6U2V0U3BlZWRSZWZlcmVuY2UoU3BlZWRSZWZlcmVuY2UgcmVmZXJlbmNlKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0NCi0JZGF0YUJ1ZmZlclswXSA9IHJlZmVyZW5jZTsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NQRF9SRUYsIGRhdGFCdWZmZXIsIHNpemVvZihVSU5UOCkpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHJlZmVyZW5jZSBzb3VyY2UgZGV2aWNlIGZvciBzcGVlZCBjb250cm9sbGVyIG1vZGUuDQotICogDQotICogQHJldHVybiBBIFNwZWVkUmVmZXJlbmNlIGluZGljYXRpbmcgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCByZWZlcmVuY2UgZGV2aWNlIGZvciBzcGVlZCBjb250cm9sbGVyIG1vZGUuDQotICovDQotQ0FOSmFndWFyOjpTcGVlZFJlZmVyZW5jZSBDQU5KYWd1YXI6OkdldFNwZWVkUmVmZXJlbmNlKCkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQlnZXRUcmFuc2FjdGlvbihMTV9BUElfU1BEX1JFRiwgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JaWYgKGRhdGFTaXplID09IHNpemVvZihVSU5UOCkpDQotCXsNCi0JCXJldHVybiAoU3BlZWRSZWZlcmVuY2UpKmRhdGFCdWZmZXI7DQotCX0NCi0JcmV0dXJuIGtTcGVlZFJlZl9Ob25lOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHJlZmVyZW5jZSBzb3VyY2UgZGV2aWNlIGZvciBwb3NpdGlvbiBjb250cm9sbGVyIG1vZGUuDQotICogDQotICogQ2hvb3NlIGJldHdlZW4gdXNpbmcgYW5kIGVuY29kZXIgYW5kIHVzaW5nIGEgcG90ZW50aW9tZXRlcg0KLSAqIGFzIHRoZSBzb3VyY2Ugb2YgcG9zaXRpb24gZmVlZGJhY2sgd2hlbiBpbiBwb3NpdGlvbiBjb250cm9sIG1vZGUuDQotICogDQotICogQHBhcmFtIHJlZmVyZW5jZSBTcGVjaWZ5IGEgUG9zaXRpb25SZWZlcmVuY2UuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OlNldFBvc2l0aW9uUmVmZXJlbmNlKFBvc2l0aW9uUmVmZXJlbmNlIHJlZmVyZW5jZSkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotDQotCWRhdGFCdWZmZXJbMF0gPSByZWZlcmVuY2U7DQotCXNldFRyYW5zYWN0aW9uKExNX0FQSV9QT1NfUkVGLCBkYXRhQnVmZmVyLCBzaXplb2YoVUlOVDgpKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSByZWZlcmVuY2Ugc291cmNlIGRldmljZSBmb3IgcG9zaXRpb24gY29udHJvbGxlciBtb2RlLg0KLSAqIA0KLSAqIEByZXR1cm4gQSBQb3NpdGlvblJlZmVyZW5jZSBpbmRpY2F0aW5nIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmVmZXJlbmNlIGRldmljZSBmb3IgcG9zaXRpb24gY29udHJvbGxlciBtb2RlLg0KLSAqLw0KLUNBTkphZ3Vhcjo6UG9zaXRpb25SZWZlcmVuY2UgQ0FOSmFndWFyOjpHZXRQb3NpdGlvblJlZmVyZW5jZSgpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1BPU19SRUYsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoVUlOVDgpKQ0KLQl7DQotCQlyZXR1cm4gKFBvc2l0aW9uUmVmZXJlbmNlKSpkYXRhQnVmZmVyOw0KLQl9DQotCXJldHVybiBrUG9zUmVmX05vbmU7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgUCwgSSwgYW5kIEQgY29uc3RhbnRzIGZvciB0aGUgY2xvc2VkIGxvb3AgbW9kZXMuDQotICogDQotICogQHBhcmFtIHAgVGhlIHByb3BvcnRpb25hbCBnYWluIG9mIHRoZSBKYWd1YXIncyBQSUQgY29udHJvbGxlci4NCi0gKiBAcGFyYW0gaSBUaGUgaW50ZWdyYWwgZ2FpbiBvZiB0aGUgSmFndWFyJ3MgUElEIGNvbnRyb2xsZXIuDQotICogQHBhcmFtIGQgVGhlIGRpZmZlcmVudGlhbCBnYWluIG9mIHRoZSBKYWd1YXIncyBQSUQgY29udHJvbGxlci4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6U2V0UElEKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCWNhc2Uga1ZvbHRhZ2U6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChJbmNvbXBhdGlibGVNb2RlLCAiUElEIGNvbnN0YW50cyBvbmx5IGFwcGx5IGluIFNwZWVkLCBQb3NpdGlvbiwgYW5kIEN1cnJlbnQgbW9kZSIpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1NwZWVkOg0KLQkJZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgcCk7DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfU1BEX1BDLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlkYXRhU2l6ZSA9IHBhY2tGWFAxNl8xNihkYXRhQnVmZmVyLCBpKTsNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9TUERfSUMsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWRhdGFTaXplID0gcGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIsIGQpOw0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NQRF9EQywgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1Bvc2l0aW9uOg0KLQkJZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgcCk7DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfUE9TX1BDLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlkYXRhU2l6ZSA9IHBhY2tGWFAxNl8xNihkYXRhQnVmZmVyLCBpKTsNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9QT1NfSUMsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWRhdGFTaXplID0gcGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIsIGQpOw0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1BPU19EQywgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga0N1cnJlbnQ6DQotCQlkYXRhU2l6ZSA9IHBhY2tGWFAxNl8xNihkYXRhQnVmZmVyLCBwKTsNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9JQ1RSTF9QQywgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgaSk7DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfSUNUUkxfSUMsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWRhdGFTaXplID0gcGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIsIGQpOw0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0lDVFJMX0RDLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlicmVhazsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFByb3BvcnRpb25hbCBnYWluIG9mIHRoZSBjb250cm9sbGVyLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIHByb3BvcnRpb25hbCBnYWluLg0KLSAqLw0KLWRvdWJsZSBDQU5KYWd1YXI6OkdldFAoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCXN3aXRjaChtX2NvbnRyb2xNb2RlKQ0KLQl7DQotCWNhc2Uga1BlcmNlbnRWYnVzOg0KLQljYXNlIGtWb2x0YWdlOg0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoSW5jb21wYXRpYmxlTW9kZSwgIlBJRCBjb25zdGFudHMgb25seSBhcHBseSBpbiBTcGVlZCwgUG9zaXRpb24sIGFuZCBDdXJyZW50IG1vZGUiKTsNCi0JCWJyZWFrOw0KLQljYXNlIGtTcGVlZDoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TUERfUEMsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrUG9zaXRpb246DQotCQlnZXRUcmFuc2FjdGlvbihMTV9BUElfUE9TX1BDLCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQkJaWYgKGRhdGFTaXplID09IHNpemVvZihJTlQzMikpDQotCQl7DQotCQkJcmV0dXJuIHVucGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCWNhc2Uga0N1cnJlbnQ6DQotCQlnZXRUcmFuc2FjdGlvbihMTV9BUElfSUNUUkxfUEMsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCQl9DQotCQlicmVhazsNCi0JfQ0KLQlyZXR1cm4gMC4wOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIEludHJlZ3JhbCBnYWluIG9mIHRoZSBjb250cm9sbGVyLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGludGVncmFsIGdhaW4uDQotICovDQotZG91YmxlIENBTkphZ3Vhcjo6R2V0SSgpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCWNhc2Uga1ZvbHRhZ2U6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChJbmNvbXBhdGlibGVNb2RlLCAiUElEIGNvbnN0YW50cyBvbmx5IGFwcGx5IGluIFNwZWVkLCBQb3NpdGlvbiwgYW5kIEN1cnJlbnQgbW9kZSIpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1NwZWVkOg0KLQkJZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NQRF9JQywgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMzIpKQ0KLQkJew0KLQkJCXJldHVybiB1bnBhY2tGWFAxNl8xNihkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQljYXNlIGtQb3NpdGlvbjoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9QT1NfSUMsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrQ3VycmVudDoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9JQ1RSTF9JQywgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMzIpKQ0KLQkJew0KLQkJCXJldHVybiB1bnBhY2tGWFAxNl8xNihkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgRGlmZmVyZW50aWFsIGdhaW4gb2YgdGhlIGNvbnRyb2xsZXIuDQotICogDQotICogQHJldHVybiBUaGUgZGlmZmVyZW50aWFsIGdhaW4uDQotICovDQotZG91YmxlIENBTkphZ3Vhcjo6R2V0RCgpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCWNhc2Uga1ZvbHRhZ2U6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChJbmNvbXBhdGlibGVNb2RlLCAiUElEIGNvbnN0YW50cyBvbmx5IGFwcGx5IGluIFNwZWVkLCBQb3NpdGlvbiwgYW5kIEN1cnJlbnQgbW9kZSIpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1NwZWVkOg0KLQkJZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NQRF9EQywgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMzIpKQ0KLQkJew0KLQkJCXJldHVybiB1bnBhY2tGWFAxNl8xNihkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQljYXNlIGtQb3NpdGlvbjoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9QT1NfREMsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0JCXsNCi0JCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrQ3VycmVudDoNCi0JCWdldFRyYW5zYWN0aW9uKExNX0FQSV9JQ1RSTF9EQywgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMzIpKQ0KLQkJew0KLQkJCXJldHVybiB1bnBhY2tGWFAxNl8xNihkYXRhQnVmZmVyKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIEVuYWJsZSB0aGUgY2xvc2VkIGxvb3AgY29udHJvbGxlci4NCi0gKiANCi0gKiBTdGFydCBhY3R1YWxseSBjb250cm9sbGluZyB0aGUgb3V0cHV0IGJhc2VkIG9uIHRoZSBmZWVkYmFjay4NCi0gKiBJZiBzdGFydGluZyBhIHBvc2l0aW9uIGNvbnRyb2xsZXIgd2l0aCBhbiBlbmNvZGVyIHJlZmVyZW5jZSwNCi0gKiB1c2UgdGhlIGVuY29kZXJJbml0aWFsUG9zaXRpb24gcGFyYW1ldGVyIHRvIGluaXRpYWxpemUgdGhlDQotICogZW5jb2RlciBzdGF0ZS4NCi0gKiANCi0gKiBAcGFyYW0gZW5jb2RlckluaXRpYWxQb3NpdGlvbiBFbmNvZGVyIHBvc2l0aW9uIHRvIHNldCBpZiBwb3NpdGlvbiB3aXRoIGVuY29kZXIgcmVmZXJlbmNlLiAgSWdub3JlZCBvdGhlcndpc2UuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkVuYWJsZUNvbnRyb2woZG91YmxlIGVuY29kZXJJbml0aWFsUG9zaXRpb24pDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZSA9IDA7DQotDQotCXN3aXRjaChtX2NvbnRyb2xNb2RlKQ0KLQl7DQotCWNhc2Uga1BlcmNlbnRWYnVzOg0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1ZPTFRfVF9FTiwgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1NwZWVkOg0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NQRF9UX0VOLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlicmVhazsNCi0JY2FzZSBrUG9zaXRpb246DQotCQlkYXRhU2l6ZSA9IHBhY2tGWFAxNl8xNihkYXRhQnVmZmVyLCBlbmNvZGVySW5pdGlhbFBvc2l0aW9uKTsNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9QT1NfVF9FTiwgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga0N1cnJlbnQ6DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfSUNUUkxfVF9FTiwgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga1ZvbHRhZ2U6DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfVkNPTVBfVF9FTiwgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCX0NCi19DQotDQotLyoqDQotICogRGlzYWJsZSB0aGUgY2xvc2VkIGxvb3AgY29udHJvbGxlci4NCi0gKiANCi0gKiBTdG9wIGRyaXZpbmcgdGhlIG91dHB1dCBiYXNlZCBvbiB0aGUgZmVlZGJhY2suDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkRpc2FibGVDb250cm9sKCkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplID0gMDsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfVk9MVF9ESVMsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWJyZWFrOw0KLQljYXNlIGtTcGVlZDoNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9TUERfRElTLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlicmVhazsNCi0JY2FzZSBrUG9zaXRpb246DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfUE9TX0RJUywgZGF0YUJ1ZmZlciwgZGF0YVNpemUpOw0KLQkJYnJlYWs7DQotCWNhc2Uga0N1cnJlbnQ6DQotCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfSUNUUkxfRElTLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlicmVhazsNCi0JY2FzZSBrVm9sdGFnZToNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9WQ09NUF9ESVMsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWJyZWFrOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIENoYW5nZSB0aGUgY29udHJvbCBtb2RlIG9mIHRoaXMgSmFndWFyIG9iamVjdC4NCi0gKiANCi0gKiBBZnRlciBjaGFuZ2luZyBtb2RlcywgY29uZmlndXJlIGFueSBQSUQgY29uc3RhbnRzIG9yIG90aGVyIHNldHRpbmdzIG5lZWRlZA0KLSAqIGFuZCB0aGVuIEVuYWJsZUNvbnRyb2woKSB0byBhY3R1YWxseSBjaGFuZ2UgdGhlIG1vZGUgb24gdGhlIEphZ3Vhci4NCi0gKiANCi0gKiBAcGFyYW0gY29udHJvbE1vZGUgVGhlIG5ldyBtb2RlLg0KLSAqLw0KLXZvaWQgQ0FOSmFndWFyOjpDaGFuZ2VDb250cm9sTW9kZShDb250cm9sTW9kZSBjb250cm9sTW9kZSkNCi17DQotCS8vIERpc2FibGUgdGhlIHByZXZpb3VzIG1vZGUNCi0JRGlzYWJsZUNvbnRyb2woKTsNCi0NCi0JLy8gVXBkYXRlIHRoZSBsb2NhbCBtb2RlDQotCW1fY29udHJvbE1vZGUgPSBjb250cm9sTW9kZTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0NBTkphZ3VhciwgbV9kZXZpY2VOdW1iZXIsIG1fY29udHJvbE1vZGUpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGFjdGl2ZSBjb250cm9sIG1vZGUgZnJvbSB0aGUgSmFndWFyLg0KLSAqIA0KLSAqIEFzayB0aGUgSmFnIHdoYXQgbW9kZSBpdCBpcyBpbi4NCi0gKiANCi0gKiBAcmV0dXJuIENvbnRyb2xNb2RlIHRoYXQgdGhlIEphZyBpcyBpbi4NCi0gKi8NCi1DQU5KYWd1YXI6OkNvbnRyb2xNb2RlIENBTkphZ3Vhcjo6R2V0Q29udHJvbE1vZGUoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TVEFUVVNfQ01PREUsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UOCkpDQotCXsNCi0JCXJldHVybiAoQ29udHJvbE1vZGUpZGF0YUJ1ZmZlclswXTsNCi0JfQ0KLQlyZXR1cm4ga1BlcmNlbnRWYnVzOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHZvbHRhZ2UgYXQgdGhlIGJhdHRlcnkgaW5wdXQgdGVybWluYWxzIG9mIHRoZSBKYWd1YXIuDQotICogDQotICogQHJldHVybiBUaGUgYnVzIHZvbHRhZ2UgaW4gVm9sdHMuDQotICovDQotZmxvYXQgQ0FOSmFndWFyOjpHZXRCdXNWb2x0YWdlKCkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQlnZXRUcmFuc2FjdGlvbihMTV9BUElfU1RBVFVTX1ZPTFRCVVMsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMTYpKQ0KLQl7DQotCQlyZXR1cm4gdW5wYWNrRlhQOF84KGRhdGFCdWZmZXIpOw0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgdm9sdGFnZSBiZWluZyBvdXRwdXQgZnJvbSB0aGUgbW90b3IgdGVybWluYWxzIG9mIHRoZSBKYWd1YXIuDQotICogDQotICogQHJldHVybiBUaGUgb3V0cHV0IHZvbHRhZ2UgaW4gVm9sdHMuDQotICovDQotZmxvYXQgQ0FOSmFndWFyOjpHZXRPdXRwdXRWb2x0YWdlKCkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQkvLyBSZWFkIHRoZSB2b2x0IG91dCB3aGljaCBpcyBpbiBWb2x0cyB1bml0cy4NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NUQVRVU19WT1VULCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDE2KSkNCi0Jew0KLQkJcmV0dXJuIHVucGFja0ZYUDhfOChkYXRhQnVmZmVyKTsNCi0JfQ0KLQlyZXR1cm4gMC4wOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGN1cnJlbnQgdGhyb3VnaCB0aGUgbW90b3IgdGVybWluYWxzIG9mIHRoZSBKYWd1YXIuDQotICogDQotICogQHJldHVybiBUaGUgb3V0cHV0IGN1cnJlbnQgaW4gQW1wcy4NCi0gKi8NCi1mbG9hdCBDQU5KYWd1YXI6OkdldE91dHB1dEN1cnJlbnQoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TVEFUVVNfQ1VSUkVOVCwgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JaWYgKGRhdGFTaXplID09IHNpemVvZihJTlQxNikpDQotCXsNCi0JCXJldHVybiB1bnBhY2tGWFA4XzgoZGF0YUJ1ZmZlcik7DQotCX0NCi0JcmV0dXJuIDAuMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBpbnRlcm5hbCB0ZW1wZXJhdHVyZSBvZiB0aGUgSmFndWFyLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIHRlbXBlcmF0dXJlIG9mIHRoZSBKYWd1YXIgaW4gZGVncmVlcyBDZWxzaXVzLg0KLSAqLw0KLWZsb2F0IENBTkphZ3Vhcjo6R2V0VGVtcGVyYXR1cmUoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TVEFUVVNfVEVNUCwgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JaWYgKGRhdGFTaXplID09IHNpemVvZihJTlQxNikpDQotCXsNCi0JCXJldHVybiB1bnBhY2tGWFA4XzgoZGF0YUJ1ZmZlcik7DQotCX0NCi0JcmV0dXJuIDAuMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZW5jb2RlciBvciBwb3RlbnRpb21ldGVyLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIHBvc2l0aW9uIG9mIHRoZSBtb3RvciBpbiByb3RhdGlvbnMgYmFzZWQgb24gdGhlIGNvbmZpZ3VyZWQgZmVlZGJhY2suDQotICovDQotZG91YmxlIENBTkphZ3Vhcjo6R2V0UG9zaXRpb24oKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TVEFUVVNfUE9TLCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKElOVDMyKSkNCi0Jew0KLQkJcmV0dXJuIHVucGFja0ZYUDE2XzE2KGRhdGFCdWZmZXIpOw0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc3BlZWQgb2YgdGhlIGVuY29kZXIuDQotICogDQotICogQHJldHVybiBUaGUgc3BlZWQgb2YgdGhlIG1vdG9yIGluIFJQTSBiYXNlZCBvbiB0aGUgY29uZmlndXJlZCBmZWVkYmFjay4NCi0gKi8NCi1kb3VibGUgQ0FOSmFndWFyOjpHZXRTcGVlZCgpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NUQVRVU19TUEQsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoSU5UMzIpKQ0KLQl7DQotCQlyZXR1cm4gdW5wYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlcik7DQotCX0NCi0JcmV0dXJuIDAuMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBzdGF0dXMgb2YgdGhlIGZvcndhcmQgbGltaXQgc3dpdGNoLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIG1vdG9yIGlzIGFsbG93ZWQgdG8gdHVybiBpbiB0aGUgZm9yd2FyZCBkaXJlY3Rpb24gd2hlbiB0cnVlLg0KLSAqLw0KLWJvb2wgQ0FOSmFndWFyOjpHZXRGb3J3YXJkTGltaXRPSygpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NUQVRVU19MSU1JVCwgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JaWYgKGRhdGFTaXplID09IHNpemVvZihVSU5UOCkpDQotCXsNCi0JCXJldHVybiAoKmRhdGFCdWZmZXIgJiBrRm9yd2FyZExpbWl0KSAhPSAwOw0KLQl9DQotCXJldHVybiAwOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHN0YXR1cyBvZiB0aGUgcmV2ZXJzZSBsaW1pdCBzd2l0Y2guDQotICogDQotICogQHJldHVybiBUaGUgbW90b3IgaXMgYWxsb3dlZCB0byB0dXJuIGluIHRoZSByZXZlcnNlIGRpcmVjdGlvbiB3aGVuIHRydWUuDQotICovDQotYm9vbCBDQU5KYWd1YXI6OkdldFJldmVyc2VMaW1pdE9LKCkNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQlnZXRUcmFuc2FjdGlvbihMTV9BUElfU1RBVFVTX0xJTUlULCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKFVJTlQ4KSkNCi0Jew0KLQkJcmV0dXJuICgqZGF0YUJ1ZmZlciAmIGtSZXZlcnNlTGltaXQpICE9IDA7DQotCX0NCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc3RhdHVzIG9mIGFueSBmYXVsdHMgdGhlIEphZ3VhciBoYXMgZGV0ZWN0ZWQuDQotICogDQotICogQHJldHVybiBBIGJpdC1tYXNrIG9mIGZhdWx0cyBkZWZpbmVkIGJ5IHRoZSAiRmF1bHRzIiBlbnVtLg0KLSAqLw0KLVVJTlQxNiBDQU5KYWd1YXI6OkdldEZhdWx0cygpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX1NUQVRVU19GQVVMVCwgZGF0YUJ1ZmZlciwgJmRhdGFTaXplKTsNCi0JaWYgKGRhdGFTaXplID09IHNpemVvZihVSU5UMTYpKQ0KLQl7DQotCQlyZXR1cm4gdW5wYWNrSU5UMTYoZGF0YUJ1ZmZlcik7DQotCX0NCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIGlmIHRoZSBKYWd1YXIncyBwb3dlciBoYXMgYmVlbiBjeWNsZWQgc2luY2UgdGhpcyB3YXMgbGFzdCBjYWxsZWQuDQotICogDQotICogVGhpcyBzaG91bGQgcmV0dXJuIHRydWUgdGhlIGZpcnN0IHRpbWUgY2FsbGVkIGFmdGVyIGEgSmFndWFyIHBvd2VyIHVwLA0KLSAqIGFuZCBmYWxzZSBhZnRlciB0aGF0Lg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIEphZ3VhciB3YXMgcG93ZXIgY3ljbGVkIHNpbmNlIHRoZSBsYXN0IGNhbGwgdG8gdGhpcyBmdW5jdGlvbi4NCi0gKi8NCi1ib29sIENBTkphZ3Vhcjo6R2V0UG93ZXJDeWNsZWQoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCWdldFRyYW5zYWN0aW9uKExNX0FQSV9TVEFUVVNfUE9XRVIsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoVUlOVDgpKQ0KLQl7DQotCQlib29sIHBvd2VyQ3ljbGVkID0gKCpkYXRhQnVmZmVyICE9IDApOw0KLQ0KLQkJLy8gQ2xlYXIgdGhlIHBvd2VyIGN5Y2xlZCBiaXQgbm93IHRoYXQgd2UndmUgYWNjZXNzZWQgaXQNCi0JCWlmIChwb3dlckN5Y2xlZCkNCi0JCXsNCi0JCQlkYXRhQnVmZmVyWzBdID0gMTsNCi0JCQlzZXRUcmFuc2FjdGlvbihMTV9BUElfU1RBVFVTX1BPV0VSLCBkYXRhQnVmZmVyLCBzaXplb2YoVUlOVDgpKTsNCi0JCX0NCi0NCi0JCXJldHVybiBwb3dlckN5Y2xlZDsNCi0JfQ0KLQlyZXR1cm4gMDsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBtYXhpbXVtIHZvbHRhZ2UgY2hhbmdlIHJhdGUuDQotICogDQotICogV2hlbiBpbiBQZXJjZW50VmJ1cyBvciBWb2x0YWdlIG91dHB1dCBtb2RlLCB0aGUgcmF0ZSBhdCB3aGljaCB0aGUgdm9sdGFnZSBjaGFuZ2VzIGNhbg0KLSAqIGJlIGxpbWl0ZWQgdG8gcmVkdWNlIGN1cnJlbnQgc3Bpa2VzLiAgU2V0IHRoaXMgdG8gMC4wIHRvIGRpc2FibGUgcmF0ZSBsaW1pdGluZy4NCi0gKiANCi0gKiBAcGFyYW0gcmFtcFJhdGUgVGhlIG1heGltdW0gcmF0ZSBvZiB2b2x0YWdlIGNoYW5nZSBpbiBQZXJjZW50IFZvbHRhZ2UgbW9kZSBpbiBWL3MuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OlNldFZvbHRhZ2VSYW1wUmF0ZShkb3VibGUgcmFtcFJhdGUpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0Jc3dpdGNoKG1fY29udHJvbE1vZGUpDQotCXsNCi0JY2FzZSBrUGVyY2VudFZidXM6DQotCQlkYXRhU2l6ZSA9IHBhY2tQZXJjZW50YWdlKGRhdGFCdWZmZXIsIHJhbXBSYXRlIC8gKG1fbWF4T3V0cHV0Vm9sdGFnZSAqIGtDb250cm9sbGVyUmF0ZSkpOw0KLQkJc2V0VHJhbnNhY3Rpb24oTE1fQVBJX1ZPTFRfU0VUX1JBTVAsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0JCWJyZWFrOw0KLQljYXNlIGtWb2x0YWdlOg0KLQkJZGF0YVNpemUgPSBwYWNrRlhQOF84KGRhdGFCdWZmZXIsIHJhbXBSYXRlIC8ga0NvbnRyb2xsZXJSYXRlKTsNCi0JCXNldFRyYW5zYWN0aW9uKExNX0FQSV9WQ09NUF9JTl9SQU1QLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotCQlicmVhazsNCi0JZGVmYXVsdDoNCi0JCXJldHVybjsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHZlcnNpb24gb2YgdGhlIGZpcm13YXJlIHJ1bm5pbmcgb24gdGhlIEphZ3Vhci4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBmaXJtd2FyZSB2ZXJzaW9uLiAgMCBpZiB0aGUgZGV2aWNlIGRpZCBub3QgcmVzcG9uZC4NCi0gKi8NCi1VSU5UMzIgQ0FOSmFndWFyOjpHZXRGaXJtd2FyZVZlcnNpb24oKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCS8vIFNldCB0aGUgTVNCIHRvIHRlbGwgdGhlIDJDQU4gdGhhdCB0aGlzIGlzIGEgcmVtb3RlIG1lc3NhZ2UuDQotCWdldFRyYW5zYWN0aW9uKDB4ODAwMDAwMDAgfCBDQU5fTVNHSURfQVBJX0ZJUk1WRVIsIGRhdGFCdWZmZXIsICZkYXRhU2l6ZSk7DQotCWlmIChkYXRhU2l6ZSA9PSBzaXplb2YoVUlOVDMyKSkNCi0Jew0KLQkJcmV0dXJuIHVucGFja0lOVDMyKGRhdGFCdWZmZXIpOw0KLQl9DQotCXJldHVybiAwOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHZlcnNpb24gb2YgdGhlIEphZ3VhciBoYXJkd2FyZS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBoYXJkd2FyZSB2ZXJzaW9uLiAxOiBKYWd1YXIsICAyOiBCbGFjayBKYWd1YXINCi0gKi8NCi1VSU5UOCBDQU5KYWd1YXI6OkdldEhhcmR3YXJlVmVyc2lvbigpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZ2V0VHJhbnNhY3Rpb24oTE1fQVBJX0hXVkVSLCBkYXRhQnVmZmVyLCAmZGF0YVNpemUpOw0KLQlpZiAoZGF0YVNpemUgPT0gc2l6ZW9mKFVJTlQ4KStzaXplb2YoVUlOVDgpKQ0KLQl7DQotCQlpZiAoKmRhdGFCdWZmZXIgPT0gbV9kZXZpY2VOdW1iZXIpDQotCQl7DQotCQkJcmV0dXJuICooZGF0YUJ1ZmZlcisxKTsNCi0JCX0NCi0JfQ0KLQkvLyBBc3N1bWUgR3JheSBKYWcgaWYgdGhlcmUgaXMgbm8gcmVzcG9uc2UNCi0JcmV0dXJuIExNX0hXVkVSX0pBR18xXzA7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB3aGF0IHRoZSBjb250cm9sbGVyIGRvZXMgdG8gdGhlIEgtQnJpZGdlIHdoZW4gbmV1dHJhbCAobm90IGRyaXZpbmcgdGhlIG91dHB1dCkuDQotICogDQotICogVGhpcyBhbGxvd3MgeW91IHRvIG92ZXJyaWRlIHRoZSBqdW1wZXIgY29uZmlndXJhdGlvbiBmb3IgYnJha2Ugb3IgY29hc3QuDQotICogDQotICogQHBhcmFtIG1vZGUgU2VsZWN0IHRvIHVzZSB0aGUganVtcGVyIHNldHRpbmcgb3IgdG8gb3ZlcnJpZGUgaXQgdG8gY29hc3Qgb3IgYnJha2UuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkNvbmZpZ05ldXRyYWxNb2RlKE5ldXRyYWxNb2RlIG1vZGUpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQ0KLQlkYXRhQnVmZmVyWzBdID0gbW9kZTsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0NGR19CUkFLRV9DT0FTVCwgZGF0YUJ1ZmZlciwgc2l6ZW9mKFVJTlQ4KSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSBob3cgbWFueSBjb2RlcyBwZXIgcmV2b2x1dGlvbiBhcmUgZ2VuZXJhdGVkIGJ5IHlvdXIgZW5jb2Rlci4NCi0gKiANCi0gKiBAcGFyYW0gY29kZXNQZXJSZXYgVGhlIG51bWJlciBvZiBjb3VudHMgcGVyIHJldm9sdXRpb24gaW4gMVggbW9kZS4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6Q29uZmlnRW5jb2RlckNvZGVzUGVyUmV2KFVJTlQxNiBjb2Rlc1BlclJldikNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQlkYXRhU2l6ZSA9IHBhY2tJTlQxNihkYXRhQnVmZmVyLCBjb2Rlc1BlclJldik7DQotCXNldFRyYW5zYWN0aW9uKExNX0FQSV9DRkdfRU5DX0xJTkVTLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIHR1cm5zIG9uIHRoZSBwb3RlbnRpb21ldGVyLg0KLSAqIA0KLSAqIFRoZXJlIGlzIG5vIHNwZWNpYWwgc3VwcG9ydCBmb3IgY29udGludW91cyB0dXJuIHBvdGVudGlvbWV0ZXJzLg0KLSAqIE9ubHkgaW50ZWdlciBudW1iZXJzIG9mIHR1cm5zIGFyZSBzdXBwb3J0ZWQuDQotICogDQotICogQHBhcmFtIHR1cm5zIFRoZSBudW1iZXIgb2YgdHVybnMgb2YgdGhlIHBvdGVudGlvbWV0ZXINCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6Q29uZmlnUG90ZW50aW9tZXRlclR1cm5zKFVJTlQxNiB0dXJucykNCi17DQotCVVJTlQ4IGRhdGFCdWZmZXJbOF07DQotCVVJTlQ4IGRhdGFTaXplOw0KLQ0KLQlkYXRhU2l6ZSA9IHBhY2tJTlQxNihkYXRhQnVmZmVyLCB0dXJucyk7DQotCXNldFRyYW5zYWN0aW9uKExNX0FQSV9DRkdfUE9UX1RVUk5TLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSBTb2Z0IFBvc2l0aW9uIExpbWl0cyB3aGVuIGluIFBvc2l0aW9uIENvbnRyb2xsZXIgbW9kZS4NCi0gKiANCi0gKiBXaGVuIGNvbnRyb2xsaW5nIHBvc2l0aW9uLCB5b3UgY2FuIGFkZCBhZGRpdGlvbmFsIGxpbWl0cyBvbiB0b3Agb2YgdGhlIGxpbWl0IHN3aXRjaCBpbnB1dHMNCi0gKiB0aGF0IGFyZSBiYXNlZCBvbiB0aGUgcG9zaXRpb24gZmVlZGJhY2suICBJZiB0aGUgcG9zaXRpb24gbGltaXQgaXMgcmVhY2hlZCBvciB0aGUNCi0gKiBzd2l0Y2ggaXMgb3BlbmVkLCB0aGF0IGRpcmVjdGlvbiB3aWxsIGJlIGRpc2FibGVkLg0KLSAqIA0KLSAqIEBwYXJhbSBmb3J3YXJkTGltaXRQb3NpdGlvbiBUaGUgcG9zaXRpb24gdGhhdCBpZiBleGNlZWRlZCB3aWxsIGRpc2FibGUgdGhlIGZvcndhcmQgZGlyZWN0aW9uLg0KLSAqIEBwYXJhbSByZXZlcnNlTGltaXRQb3NpdGlvbiBUaGUgcG9zaXRpb24gdGhhdCBpZiBleGNlZWRlZCB3aWxsIGRpc2FibGUgdGhlIHJldmVyc2UgZGlyZWN0aW9uLg0KLSAqLw0KLXZvaWQgQ0FOSmFndWFyOjpDb25maWdTb2Z0UG9zaXRpb25MaW1pdHMoZG91YmxlIGZvcndhcmRMaW1pdFBvc2l0aW9uLCBkb3VibGUgcmV2ZXJzZUxpbWl0UG9zaXRpb24pDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgZm9yd2FyZExpbWl0UG9zaXRpb24pOw0KLQlkYXRhQnVmZmVyW2RhdGFTaXplKytdID0gZm9yd2FyZExpbWl0UG9zaXRpb24gPiByZXZlcnNlTGltaXRQb3NpdGlvbjsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0NGR19MSU1JVF9GV0QsIGRhdGFCdWZmZXIsIGRhdGFTaXplKTsNCi0NCi0JZGF0YVNpemUgPSBwYWNrRlhQMTZfMTYoZGF0YUJ1ZmZlciwgcmV2ZXJzZUxpbWl0UG9zaXRpb24pOw0KLQlkYXRhQnVmZmVyW2RhdGFTaXplKytdID0gZm9yd2FyZExpbWl0UG9zaXRpb24gPD0gcmV2ZXJzZUxpbWl0UG9zaXRpb247DQotCXNldFRyYW5zYWN0aW9uKExNX0FQSV9DRkdfTElNSVRfUkVWLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotDQotCWRhdGFCdWZmZXJbMF0gPSBrTGltaXRNb2RlX1NvZnRQb3NpdGlvbkxpbWl0czsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0NGR19MSU1JVF9NT0RFLCBkYXRhQnVmZmVyLCBzaXplb2YoVUlOVDgpKTsNCi19DQotDQotLyoqDQotICogRGlzYWJsZSBTb2Z0IFBvc2l0aW9uIExpbWl0cyBpZiBwcmV2aW91c2x5IGVuYWJsZWQuDQotICogDQotICogU29mdCBQb3NpdGlvbiBMaW1pdHMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkRpc2FibGVTb2Z0UG9zaXRpb25MaW1pdHMoKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0NCi0JZGF0YUJ1ZmZlclswXSA9IGtMaW1pdE1vZGVfU3dpdGNoSW5wdXRzT25seTsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0NGR19MSU1JVF9NT0RFLCBkYXRhQnVmZmVyLCBzaXplb2YoVUlOVDgpKTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBtYXhpbXVtIHZvbHRhZ2UgdGhhdCB0aGUgSmFndWFyIHdpbGwgZXZlciBvdXRwdXQuDQotICogDQotICogVGhpcyBjYW4gYmUgdXNlZCB0byBsaW1pdCB0aGUgbWF4aW11bSBvdXRwdXQgdm9sdGFnZSBpbiBhbGwgbW9kZXMgc28gdGhhdA0KLSAqIG1vdG9ycyB3aGljaCBjYW5ub3Qgd2l0aHN0YW5kIGZ1bGwgYnVzIHZvbHRhZ2UgY2FuIGJlIHVzZWQgc2FmZWx5Lg0KLSAqIA0KLSAqIEBwYXJhbSB2b2x0YWdlIFRoZSBtYXhpbXVtIHZvbHRhZ2Ugb3V0cHV0IGJ5IHRoZSBKYWd1YXIuDQotICovDQotdm9pZCBDQU5KYWd1YXI6OkNvbmZpZ01heE91dHB1dFZvbHRhZ2UoZG91YmxlIHZvbHRhZ2UpDQotew0KLQlVSU5UOCBkYXRhQnVmZmVyWzhdOw0KLQlVSU5UOCBkYXRhU2l6ZTsNCi0NCi0JbV9tYXhPdXRwdXRWb2x0YWdlID0gdm9sdGFnZTsNCi0JZGF0YVNpemUgPSBwYWNrRlhQOF84KGRhdGFCdWZmZXIsIHZvbHRhZ2UpOw0KLQlzZXRUcmFuc2FjdGlvbihMTV9BUElfQ0ZHX01BWF9WT1VULCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSBob3cgbG9uZyB0aGUgSmFndWFyIHdhaXRzIGluIHRoZSBjYXNlIG9mIGEgZmF1bHQgYmVmb3JlIHJlc3VtaW5nIG9wZXJhdGlvbi4NCi0gKiANCi0gKiBGYXVsdHMgaW5jbHVkZSBvdmVyIHRlbWVyYXR1cmUsIG92ZXIgY3VycmVudCwgYW5kIGJ1cyB1bmRlciB2b2x0YWdlLg0KLSAqIFRoZSBkZWZhdWx0IGlzIDMuMCBzZWNvbmRzLCBidXQgY2FuIGJlIHJlZHVjZWQgdG8gYXMgbG93IGFzIDAuNSBzZWNvbmRzLg0KLSAqIA0KLSAqIEBwYXJhbSBmYXVsdFRpbWUgVGhlIHRpbWUgdG8gd2FpdCBiZWZvcmUgcmVzdW1pbmcgb3BlcmF0aW9uLCBpbiBzZWNvbmRzLg0KLSAqLw0KLXZvaWQgQ0FOSmFndWFyOjpDb25maWdGYXVsdFRpbWUoZmxvYXQgZmF1bHRUaW1lKQ0KLXsNCi0JVUlOVDggZGF0YUJ1ZmZlcls4XTsNCi0JVUlOVDggZGF0YVNpemU7DQotDQotCS8vIE1lc3NhZ2UgdGFrZXMgbXMNCi0JZGF0YVNpemUgPSBwYWNrSU5UMTYoZGF0YUJ1ZmZlciwgKElOVDE2KShmYXVsdFRpbWUgKiAxMDAwLjApKTsNCi0Jc2V0VHJhbnNhY3Rpb24oTE1fQVBJX0NGR19GQVVMVF9USU1FLCBkYXRhQnVmZmVyLCBkYXRhU2l6ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFVwZGF0ZSBhbGwgdGhlIG1vdG9ycyB0aGF0IGhhdmUgcGVuZGluZyBzZXRzIGluIHRoZSBzeW5jR3JvdXAuDQotICogDQotICogQHBhcmFtIHN5bmNHcm91cCBBIGJpdG1hc2sgb2YgZ3JvdXBzIHRvIGdlbmVyYXRlIHN5bmNocm9ub3VzIG91dHB1dC4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6VXBkYXRlU3luY0dyb3VwKFVJTlQ4IHN5bmNHcm91cCkNCi17DQotCXNlbmRNZXNzYWdlKENBTl9NU0dJRF9BUElfU1lOQywgJnN5bmNHcm91cCwgc2l6ZW9mKHN5bmNHcm91cCkpOw0KLX0NCi0NCi0NCi12b2lkIENBTkphZ3Vhcjo6U2V0RXhwaXJhdGlvbihmbG9hdCB0aW1lb3V0KQ0KLXsNCi0JaWYgKG1fc2FmZXR5SGVscGVyKSBtX3NhZmV0eUhlbHBlci0+U2V0RXhwaXJhdGlvbih0aW1lb3V0KTsNCi19DQotDQotZmxvYXQgQ0FOSmFndWFyOjpHZXRFeHBpcmF0aW9uKCkNCi17DQotCWlmICghbV9zYWZldHlIZWxwZXIpIHJldHVybiAwLjA7DQotCXJldHVybiBtX3NhZmV0eUhlbHBlci0+R2V0RXhwaXJhdGlvbigpOw0KLX0NCi0NCi1ib29sIENBTkphZ3Vhcjo6SXNBbGl2ZSgpDQotew0KLQlpZiAoIW1fc2FmZXR5SGVscGVyKSByZXR1cm4gZmFsc2U7DQotCXJldHVybiBtX3NhZmV0eUhlbHBlci0+SXNBbGl2ZSgpOw0KLX0NCi0NCi1ib29sIENBTkphZ3Vhcjo6SXNTYWZldHlFbmFibGVkKCkNCi17DQotCWlmICghbV9zYWZldHlIZWxwZXIpIHJldHVybiBmYWxzZTsNCi0JcmV0dXJuIG1fc2FmZXR5SGVscGVyLT5Jc1NhZmV0eUVuYWJsZWQoKTsNCi19DQotDQotdm9pZCBDQU5KYWd1YXI6OlNldFNhZmV0eUVuYWJsZWQoYm9vbCBlbmFibGVkKQ0KLXsNCi0JaWYgKG1fc2FmZXR5SGVscGVyKSBtX3NhZmV0eUhlbHBlci0+U2V0U2FmZXR5RW5hYmxlZChlbmFibGVkKTsNCi19DQotDQotdm9pZCBDQU5KYWd1YXI6OkdldERlc2NyaXB0aW9uKGNoYXIgKmRlc2MpDQotew0KLQlzcHJpbnRmKGRlc2MsICJDQU5KYWd1YXIgSUQgJWQiLCBtX2RldmljZU51bWJlcik7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbW1vbiBpbnRlcmZhY2UgZm9yIHN0b3BwaW5nIHRoZSBtb3Rvcg0KLSAqIFBhcnQgb2YgdGhlIE1vdG9yU2FmZXR5IGludGVyZmFjZQ0KLSAqIA0KLSAqIEBkZXByZWNhdGVkIENhbGwgRGlzYWJsZUNvbnRyb2wgaW5zdGVhZC4NCi0gKi8NCi12b2lkIENBTkphZ3Vhcjo6U3RvcE1vdG9yKCkNCi17DQotCURpc2FibGVDb250cm9sKCk7DQotfQ0KLQ0KLXZvaWQgQ0FOSmFndWFyOjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpIHsNCi0JU2V0KHZhbHVlLmYpOw0KLX0NCi0NCi12b2lkIENBTkphZ3Vhcjo6VXBkYXRlVGFibGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dE51bWJlcigiVmFsdWUiLCBHZXQoKSk7DQotCX0NCi19DQotDQotdm9pZCBDQU5KYWd1YXI6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPkFkZFRhYmxlTGlzdGVuZXIoIlZhbHVlIiwgdGhpcywgdHJ1ZSk7DQotCX0NCi19DQotDQotdm9pZCBDQU5KYWd1YXI6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UmVtb3ZlVGFibGVMaXN0ZW5lcih0aGlzKTsNCi0JfQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBDQU5KYWd1YXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJTcGVlZCBDb250cm9sbGVyIjsNCi19DQotDQotdm9pZCBDQU5KYWd1YXI6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogQ0FOSmFndWFyOjpHZXRUYWJsZSgpIHsNCi0JcmV0dXJuIG1fdGFibGU7DQotfQ0KLQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NBTkphZ3Vhci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ0FOSmFndWFyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzNzc5ZTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ0FOSmFndWFyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0NCi0jaWZuZGVmIENBTkpBR1VBUl9IDQotI2RlZmluZSBDQU5KQUdVQVJfSA0KLQ0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiTW90b3JTYWZldHkuaCINCi0jaW5jbHVkZSAiTW90b3JTYWZldHlIZWxwZXIuaCINCi0jaW5jbHVkZSAiUElET3V0cHV0LmgiDQotI2luY2x1ZGUgIlNwZWVkQ29udHJvbGxlci5oIg0KLSNpbmNsdWRlIDxzZW1MaWIuaD4NCi0jaW5jbHVkZSA8dnhXb3Jrcy5oPg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotDQotLyoqDQotICogTHVtaW5hcnkgTWljcm8gSmFndWFyIFNwZWVkIENvbnRyb2wNCi0gKi8NCi1jbGFzcyBDQU5KYWd1YXIgOiBwdWJsaWMgTW90b3JTYWZldHksDQotCQkJCQlwdWJsaWMgU3BlZWRDb250cm9sbGVyLA0KLQkJCQkJcHVibGljIEVycm9yQmFzZSwNCi0JCQkJCXB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUsDQotCQkJCQlwdWJsaWMgSVRhYmxlTGlzdGVuZXINCi17DQotcHVibGljOg0KLQkvLyBUaGUgaW50ZXJuYWwgUElEIGNvbnRyb2wgbG9vcCBpbiB0aGUgSmFndWFyIHJ1bnMgYXQgMWtIei4NCi0Jc3RhdGljIGNvbnN0IElOVDMyIGtDb250cm9sbGVyUmF0ZSA9IDEwMDA7DQotCXN0YXRpYyBjb25zdCBkb3VibGUga0FwcHJveEJ1c1ZvbHRhZ2UgPSAxMi4wOw0KLQ0KLQl0eXBlZGVmIGVudW0ge2tQZXJjZW50VmJ1cywga0N1cnJlbnQsIGtTcGVlZCwga1Bvc2l0aW9uLCBrVm9sdGFnZX0gQ29udHJvbE1vZGU7DQotCXR5cGVkZWYgZW51bSB7a0N1cnJlbnRGYXVsdCA9IDEsIGtUZW1wZXJhdHVyZUZhdWx0ID0gMiwga0J1c1ZvbHRhZ2VGYXVsdCA9IDQsIGtHYXRlRHJpdmVyRmF1bHQgPSA4fSBGYXVsdHM7DQotCXR5cGVkZWYgZW51bSB7a0ZvcndhcmRMaW1pdCA9IDEsIGtSZXZlcnNlTGltaXQgPSAyfSBMaW1pdHM7DQotCXR5cGVkZWYgZW51bSB7a1Bvc1JlZl9RdWFkRW5jb2RlciA9IDAsIGtQb3NSZWZfUG90ZW50aW9tZXRlciA9IDEsIGtQb3NSZWZfTm9uZSA9IDB4RkZ9IFBvc2l0aW9uUmVmZXJlbmNlOw0KLQl0eXBlZGVmIGVudW0ge2tTcGVlZFJlZl9FbmNvZGVyID0gMCwga1NwZWVkUmVmX0ludkVuY29kZXIgPSAyLCBrU3BlZWRSZWZfUXVhZEVuY29kZXIgPSAzLCBrU3BlZWRSZWZfTm9uZSA9IDB4RkZ9IFNwZWVkUmVmZXJlbmNlOw0KLQl0eXBlZGVmIGVudW0ge2tOZXV0cmFsTW9kZV9KdW1wZXIgPSAwLCBrTmV1dHJhbE1vZGVfQnJha2UgPSAxLCBrTmV1dHJhbE1vZGVfQ29hc3QgPSAyfSBOZXV0cmFsTW9kZTsNCi0JdHlwZWRlZiBlbnVtIHtrTGltaXRNb2RlX1N3aXRjaElucHV0c09ubHkgPSAwLCBrTGltaXRNb2RlX1NvZnRQb3NpdGlvbkxpbWl0cyA9IDF9IExpbWl0TW9kZTsNCi0NCi0JZXhwbGljaXQgQ0FOSmFndWFyKFVJTlQ4IGRldmljZU51bWJlciwgQ29udHJvbE1vZGUgY29udHJvbE1vZGUgPSBrUGVyY2VudFZidXMpOw0KLQl2aXJ0dWFsIH5DQU5KYWd1YXIoKTsNCi0NCi0JLy8gU3BlZWRDb250cm9sbGVyIGludGVyZmFjZQ0KLQl2aXJ0dWFsIGZsb2F0IEdldCgpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0KGZsb2F0IHZhbHVlLCBVSU5UOCBzeW5jR3JvdXA9MCk7DQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlKCk7DQotDQotCS8vIFBJRE91dHB1dCBpbnRlcmZhY2UNCi0JdmlydHVhbCB2b2lkIFBJRFdyaXRlKGZsb2F0IG91dHB1dCk7DQotDQotCS8vIE90aGVyIEFjY2Vzc29ycw0KLQl2b2lkIFNldFNwZWVkUmVmZXJlbmNlKFNwZWVkUmVmZXJlbmNlIHJlZmVyZW5jZSk7DQotCVNwZWVkUmVmZXJlbmNlIEdldFNwZWVkUmVmZXJlbmNlKCk7DQotCXZvaWQgU2V0UG9zaXRpb25SZWZlcmVuY2UoUG9zaXRpb25SZWZlcmVuY2UgcmVmZXJlbmNlKTsNCi0JUG9zaXRpb25SZWZlcmVuY2UgR2V0UG9zaXRpb25SZWZlcmVuY2UoKTsNCi0Jdm9pZCBTZXRQSUQoZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCk7DQotCWRvdWJsZSBHZXRQKCk7DQotCWRvdWJsZSBHZXRJKCk7DQotCWRvdWJsZSBHZXREKCk7DQotCXZvaWQgRW5hYmxlQ29udHJvbChkb3VibGUgZW5jb2RlckluaXRpYWxQb3NpdGlvbiA9IDAuMCk7DQotCXZvaWQgRGlzYWJsZUNvbnRyb2woKTsNCi0Jdm9pZCBDaGFuZ2VDb250cm9sTW9kZShDb250cm9sTW9kZSBjb250cm9sTW9kZSk7DQotCUNvbnRyb2xNb2RlIEdldENvbnRyb2xNb2RlKCk7DQotCWZsb2F0IEdldEJ1c1ZvbHRhZ2UoKTsNCi0JZmxvYXQgR2V0T3V0cHV0Vm9sdGFnZSgpOw0KLQlmbG9hdCBHZXRPdXRwdXRDdXJyZW50KCk7DQotCWZsb2F0IEdldFRlbXBlcmF0dXJlKCk7DQotCWRvdWJsZSBHZXRQb3NpdGlvbigpOw0KLQlkb3VibGUgR2V0U3BlZWQoKTsNCi0JYm9vbCBHZXRGb3J3YXJkTGltaXRPSygpOw0KLQlib29sIEdldFJldmVyc2VMaW1pdE9LKCk7DQotCVVJTlQxNiBHZXRGYXVsdHMoKTsNCi0JYm9vbCBHZXRQb3dlckN5Y2xlZCgpOw0KLQl2b2lkIFNldFZvbHRhZ2VSYW1wUmF0ZShkb3VibGUgcmFtcFJhdGUpOw0KLQl2aXJ0dWFsIFVJTlQzMiBHZXRGaXJtd2FyZVZlcnNpb24oKTsNCi0JVUlOVDggR2V0SGFyZHdhcmVWZXJzaW9uKCk7DQotCXZvaWQgQ29uZmlnTmV1dHJhbE1vZGUoTmV1dHJhbE1vZGUgbW9kZSk7DQotCXZvaWQgQ29uZmlnRW5jb2RlckNvZGVzUGVyUmV2KFVJTlQxNiBjb2Rlc1BlclJldik7DQotCXZvaWQgQ29uZmlnUG90ZW50aW9tZXRlclR1cm5zKFVJTlQxNiB0dXJucyk7DQotCXZvaWQgQ29uZmlnU29mdFBvc2l0aW9uTGltaXRzKGRvdWJsZSBmb3J3YXJkTGltaXRQb3NpdGlvbiwgZG91YmxlIHJldmVyc2VMaW1pdFBvc2l0aW9uKTsNCi0Jdm9pZCBEaXNhYmxlU29mdFBvc2l0aW9uTGltaXRzKCk7DQotCXZvaWQgQ29uZmlnTWF4T3V0cHV0Vm9sdGFnZShkb3VibGUgdm9sdGFnZSk7DQotCXZvaWQgQ29uZmlnRmF1bHRUaW1lKGZsb2F0IGZhdWx0VGltZSk7DQotDQotCXN0YXRpYyB2b2lkIFVwZGF0ZVN5bmNHcm91cChVSU5UOCBzeW5jR3JvdXApOw0KLQ0KLQl2b2lkIFNldEV4cGlyYXRpb24oZmxvYXQgdGltZW91dCk7DQotCWZsb2F0IEdldEV4cGlyYXRpb24oKTsNCi0JYm9vbCBJc0FsaXZlKCk7DQotCXZvaWQgU3RvcE1vdG9yKCk7DQotCWJvb2wgSXNTYWZldHlFbmFibGVkKCk7DQotCXZvaWQgU2V0U2FmZXR5RW5hYmxlZChib29sIGVuYWJsZWQpOw0KLQl2b2lkIEdldERlc2NyaXB0aW9uKGNoYXIgKmRlc2MpOw0KLQ0KLXByb3RlY3RlZDoNCi0JVUlOVDggcGFja1BlcmNlbnRhZ2UoVUlOVDggKmJ1ZmZlciwgZG91YmxlIHZhbHVlKTsNCi0JVUlOVDggcGFja0ZYUDhfOChVSU5UOCAqYnVmZmVyLCBkb3VibGUgdmFsdWUpOw0KLQlVSU5UOCBwYWNrRlhQMTZfMTYoVUlOVDggKmJ1ZmZlciwgZG91YmxlIHZhbHVlKTsNCi0JVUlOVDggcGFja0lOVDE2KFVJTlQ4ICpidWZmZXIsIElOVDE2IHZhbHVlKTsNCi0JVUlOVDggcGFja0lOVDMyKFVJTlQ4ICpidWZmZXIsIElOVDMyIHZhbHVlKTsNCi0JZG91YmxlIHVucGFja1BlcmNlbnRhZ2UoVUlOVDggKmJ1ZmZlcik7DQotCWRvdWJsZSB1bnBhY2tGWFA4XzgoVUlOVDggKmJ1ZmZlcik7DQotCWRvdWJsZSB1bnBhY2tGWFAxNl8xNihVSU5UOCAqYnVmZmVyKTsNCi0JSU5UMTYgdW5wYWNrSU5UMTYoVUlOVDggKmJ1ZmZlcik7DQotCUlOVDMyIHVucGFja0lOVDMyKFVJTlQ4ICpidWZmZXIpOw0KLQl2aXJ0dWFsIHZvaWQgc2V0VHJhbnNhY3Rpb24oVUlOVDMyIG1lc3NhZ2VJRCwgY29uc3QgVUlOVDggKmRhdGEsIFVJTlQ4IGRhdGFTaXplKTsNCi0JdmlydHVhbCB2b2lkIGdldFRyYW5zYWN0aW9uKFVJTlQzMiBtZXNzYWdlSUQsIFVJTlQ4ICpkYXRhLCBVSU5UOCAqZGF0YVNpemUpOw0KLQ0KLQlzdGF0aWMgSU5UMzIgc2VuZE1lc3NhZ2UoVUlOVDMyIG1lc3NhZ2VJRCwgY29uc3QgVUlOVDggKmRhdGEsIFVJTlQ4IGRhdGFTaXplKTsNCi0Jc3RhdGljIElOVDMyIHJlY2VpdmVNZXNzYWdlKFVJTlQzMiAqbWVzc2FnZUlELCBVSU5UOCAqZGF0YSwgVUlOVDggKmRhdGFTaXplLCBmbG9hdCB0aW1lb3V0ID0gMC4wMik7DQotDQotCVVJTlQ4IG1fZGV2aWNlTnVtYmVyOw0KLQlDb250cm9sTW9kZSBtX2NvbnRyb2xNb2RlOw0KLQlTRU1fSUQgbV90cmFuc2FjdGlvblNlbWFwaG9yZTsNCi0JZG91YmxlIG1fbWF4T3V0cHV0Vm9sdGFnZTsNCi0NCi0JTW90b3JTYWZldHlIZWxwZXIgKm1fc2FmZXR5SGVscGVyOw0KLQ0KLQl2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRDQU5KYWd1YXIoKTsNCi19Ow0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjU4MDQzMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19DaGlwT2JqZWN0X2hfXw0KLSNkZWZpbmUgX19DaGlwT2JqZWN0X2hfXw0KLQ0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotI2luY2x1ZGUgIkNoaXBPYmplY3QvTmlSaW8uaCINCi0NCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90QWNjdW11bGF0b3IuaCINCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90QUkuaCINCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90QWxhcm0uaCINCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90QW5hbG9nVHJpZ2dlci5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L3RDb3VudGVyLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvdERJTy5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L3RETUEuaCINCi0vLyNpbmNsdWRlICJDaGlwT2JqZWN0L3RETUFNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvdEVuY29kZXIuaCINCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90R2xvYmFsLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvdEludGVycnVwdC5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L3RJbnRlcnJ1cHRNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvdFNvbGVub2lkLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvdFNQSS5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L3RXYXRjaGRvZy5oIg0KLQ0KLXVzaW5nIG5hbWVzcGFjZSBuRlBHQTsNCi11c2luZyBuYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvTWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTA1Yzk2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMTg0ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotVFJBQ0U9MA0KLVRSQUNFT049JChUUkFDRTowPUApDQotVFJBQ0VfRkxBRz0kKFRSQUNFT046MT0pDQotDQotTUFLRUZJTEUgOj0gTWFrZWZpbGUNCi0NCi1CVUlMRF9TUEVDID0gUFBDNjAzZ251DQotREVCVUdfTU9ERSA9IDENCi1TUkNfRElSIDo9IC4NCi1CVUlMRF9ST09UX0RJUiA6PSANCi1QUkpfUk9PVF9ESVIgOj0gQzovd2luZHJpdmVyL3dvcmtzcGFjZS9XUElMaWINCi1XU19ST09UX0RJUiA6PSBDOi93aW5kcml2ZXIvd29ya3NwYWNlDQotDQotQUxMX0JVSUxEX1NQRUNTIDo9IFBQQzMyZGlhYiBQUEMzMmdudSBQUEMzMnNmZGlhYiBQUEMzMnNmZ251IFwNCi0JIFBQQzQwM2RpYWIgUFBDNDAzZ251IFBQQzQwNWRpYWIgUFBDNDA1Z251IFwNCi0JIFBQQzQwNXNmZGlhYiBQUEM0MDVzZmdudSBQUEM0NDBkaWFiIFBQQzQ0MGdudSBcDQotCSBQUEM0NDBzZmRpYWIgUFBDNDQwc2ZnbnUgUFBDNjAzZGlhYiBQUEM2MDNnbnUgXA0KLQkgUFBDNjA0ZGlhYiBQUEM2MDRnbnUgUFBDODVYWGRpYWIgUFBDODVYWGdudSBcDQotCSBQUEM4NVhYc2ZkaWFiIFBQQzg1WFhzZmdudSBQUEM4NjBzZmRpYWIgUFBDODYwc2ZnbnUgXA0KLQkgU0lNTElOVVhkaWFiIFNJTUxJTlVYZ251IFNJTU5UZGlhYiBTSU1OVGdudSBcDQotCSBTSU1TUEFSQ1NPTEFSSVNkaWFiIFNJTVNQQVJDU09MQVJJU2dudQ0KLUVOQUJMRURfQlVJTERfU1BFQ1MgOj0gUFBDNjAzZ251DQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwM2RpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjA0ZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1OVGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNU1BBUkNTT0xBUklTZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnUNCi1lbmRpZg0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLQ0KLVBST0pFQ1RfVFlQRSA9IERLTQ0KLURFRklORVMgPSANCi1FWFBBTkRfREJHID0gMA0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1zb2Z0LWZsb2F0IC1tc3RyaWN0LWFsaWduDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwM0ZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDAzIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDVGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwNUZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDQwRkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0NDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwM0ZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwNEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjA0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT04NTQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCAtbWFiaT1uby1zcGUNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzg2MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NjANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg2MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10WDg2TEg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXR1bmU9aTQ4NiAtbWFyY2g9aTQ4Ng0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10U1BBUkNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbXNvDQotQ1BVID0gU0lNU1BBUkNTT0xBUklTDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotDQotDQotDQotDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC9OaUZwZ2EuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvTmlGcGdhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlYWM3YzkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC9OaUZwZ2EuaAorKysgL2Rldi9udWxsCkBAIC0xLDIzMTEgKzAsMCBAQAotLyoNCi0gKiBGUEdBIEludGVyZmFjZSBDIEFQSSAyLjAgaGVhZGVyIGZpbGUuDQotICoNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEsDQotICogTmF0aW9uYWwgSW5zdHJ1bWVudHMgQ29ycG9yYXRpb24uDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0gKi8NCi0NCi0jaWZuZGVmIF9fTmlGcGdhX2hfXw0KLSNkZWZpbmUgX19OaUZwZ2FfaF9fDQotDQotLyoNCi0gKiBEZXRlcm1pbmUgcGxhdGZvcm0gZGV0YWlscy4NCi0gKi8NCi0jaWYgZGVmaW5lZChfTV9JWDg2KSBcDQotIHx8IGRlZmluZWQoX01fWDY0KSBcDQotIHx8IGRlZmluZWQoaTM4NikgXA0KLSB8fCBkZWZpbmVkKF9faTM4Nl9fKSBcDQotIHx8IGRlZmluZWQoX19hbWQ2NF9fKSBcDQotIHx8IGRlZmluZWQoX19hbWQ2NCkgXA0KLSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIFwNCi0gfHwgZGVmaW5lZChfX3g4Nl82NCkgXA0KLSB8fCBkZWZpbmVkKF9faTM4NikgXA0KLSB8fCBkZWZpbmVkKF9YODZfKSBcDQotIHx8IGRlZmluZWQoX19USFdfSU5URUxfXykgXA0KLSB8fCBkZWZpbmVkKF9fSTg2X18pIFwNCi0gfHwgZGVmaW5lZChfX0lOVEVMX18pIFwNCi0gfHwgZGVmaW5lZChfX1g4Nl9fKSBcDQotIHx8IGRlZmluZWQoX18zODZfXykgXA0KLSB8fCBkZWZpbmVkKF9fSTg2X18pIFwNCi0gfHwgZGVmaW5lZChNX0kzODYpIFwNCi0gfHwgZGVmaW5lZChNX0k4NikgXA0KLSB8fCBkZWZpbmVkKF9NX0kzODYpIFwNCi0gfHwgZGVmaW5lZChfTV9JODYpDQotICAgI2lmIGRlZmluZWQoX1dJTjMyKSBcDQotICAgIHx8IGRlZmluZWQoX1dJTjY0KSBcDQotICAgIHx8IGRlZmluZWQoX19XSU4zMl9fKSBcDQotICAgIHx8IGRlZmluZWQoX19UT1NfV0lOX18pIFwNCi0gICAgfHwgZGVmaW5lZChfX1dJTkRPV1NfXykgXA0KLSAgICB8fCBkZWZpbmVkKF9XSU5ET1dTKSBcDQotICAgIHx8IGRlZmluZWQoX19XSU5ET1dTXzM4Nl9fKSBcDQotICAgIHx8IGRlZmluZWQoX19DWUdXSU5fXykNCi0gICAgICAvKiBFaXRoZXIgV2luZG93cyBvciBQaGFyIExhcCBFVFMuICovDQotICAgICAgI2RlZmluZSBOaUZwZ2FfV2luZG93cyAxDQotICAgI2VsaWYgZGVmaW5lZChfX2xpbnV4KSBcDQotICAgICAgfHwgZGVmaW5lZChfX2xpbnV4X18pIFwNCi0gICAgICB8fCBkZWZpbmVkKF9fZ251X2xpbnV4X18pIFwNCi0gICAgICB8fCBkZWZpbmVkKGxpbnV4KQ0KLSAgICAgICNkZWZpbmUgTmlGcGdhX0xpbnV4IDENCi0gICAjZWxzZQ0KLSAgICAgICNlcnJvciBVbnN1cHBvcnRlZCBPUy4NCi0gICAjZW5kaWYNCi0jZWxpZiBkZWZpbmVkKF9fcG93ZXJwYykgXA0KLSAgIHx8IGRlZmluZWQoX19wb3dlcnBjX18pIFwNCi0gICB8fCBkZWZpbmVkKF9fUE9XRVJQQ19fKSBcDQotICAgfHwgZGVmaW5lZChfX3BwY19fKSBcDQotICAgfHwgZGVmaW5lZChfX1BQQykgXA0KLSAgIHx8IGRlZmluZWQoX01fUFBDKSBcDQotICAgfHwgZGVmaW5lZChfQVJDSF9QUEMpIFwNCi0gICB8fCBkZWZpbmVkKF9fUFBDX18pIFwNCi0gICB8fCBkZWZpbmVkKF9fcHBjKQ0KLSAgICNpZiBkZWZpbmVkKF9fdnh3b3JrcykNCi0gICAgICAjZGVmaW5lIE5pRnBnYV9WeFdvcmtzIDENCi0gICAjZWxzZQ0KLSAgICAgICNlcnJvciBVbnN1cHBvcnRlZCBPUy4NCi0gICAjZW5kaWYNCi0jZWxzZQ0KLSAgICNlcnJvciBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuDQotI2VuZGlmDQotDQotLyoNCi0gKiBEZXRlcm1pbmUgY29tcGlsZXIuDQotICovDQotI2lmIGRlZmluZWQoX01TQ19WRVIpDQotICAgI2RlZmluZSBOaUZwZ2FfTXN2YyAxDQotI2VsaWYgZGVmaW5lZChfX0dOVUNfXykNCi0gICAjZGVmaW5lIE5pRnBnYV9HY2MgMQ0KLSNlbGlmIGRlZmluZWQoX0NWSV8pICYmICFkZWZpbmVkKF9UUENfKQ0KLSAgICNkZWZpbmUgTmlGcGdhX0N2aSAxDQotICAgLyogRW5hYmxlcyBDVkkgTGlicmFyeSBQcm90ZWN0aW9uIEVycm9ycy4gKi8NCi0gICAjcHJhZ21hIEVuYWJsZUxpYnJhcnlSdW50aW1lQ2hlY2tpbmcNCi0jZWxzZQ0KLSAgIC8qIFVua25vd24gY29tcGlsZXIuICovDQotI2VuZGlmDQotDQotLyoNCi0gKiBEZXRlcm1pbmUgY29tcGxpYW5jZSB3aXRoIGRpZmZlcmVudCBDL0MrKyBsYW5ndWFnZSBzdGFuZGFyZHMuDQotICovDQotI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpDQotICAgI2RlZmluZSBOaUZwZ2FfQ3BwIDENCi0gICAjaWYgX19jcGx1c3BsdXMgPj0gMTk5NzA3TA0KLSAgICAgICNkZWZpbmUgTmlGcGdhX0NwcDk4IDENCi0gICAjZW5kaWYNCi0jZW5kaWYNCi0jaWYgZGVmaW5lZChfX1NURENfXykNCi0gICAjZGVmaW5lIE5pRnBnYV9DODkgMQ0KLSAgICNpZiBkZWZpbmVkKF9fU1REQ19WRVJTSU9OX18pDQotICAgICAgI2RlZmluZSBOaUZwZ2FfQzkwIDENCi0gICAgICAjaWYgX19TVERDX1ZFUlNJT05fXyA+PSAxOTk0MDlMDQotICAgICAgICAgI2RlZmluZSBOaUZwZ2FfQzk0IDENCi0gICAgICAgICAjaWYgX19TVERDX1ZFUlNJT05fXyA+PSAxOTk5MDFMDQotICAgICAgICAgICAgI2RlZmluZSBOaUZwZ2FfQzk5IDENCi0gICAgICAgICAjZW5kaWYNCi0gICAgICAjZW5kaWYNCi0gICAjZW5kaWYNCi0jZW5kaWYNCi0NCi0vKg0KLSAqIERldGVybWluZSBhYmlsaXR5IHRvIGlubGluZSBmdW5jdGlvbnMuDQotICovDQotI2lmIE5pRnBnYV9DcHAgfHwgTmlGcGdhX0M5OQ0KLSAgIC8qIFRoZSBpbmxpbmUga2V5d29yZCBleGlzdHMgaW4gQysrIGFuZCBDOTkuICovDQotICAgI2RlZmluZSBOaUZwZ2FfSW5saW5lIGlubGluZQ0KLSNlbGlmIE5pRnBnYV9Nc3ZjDQotICAgLyogVmlzdWFsIEMrKyAoYXQgbGVhc3Qgc2luY2UgNi4wKSBhbHNvIHN1cHBvcnRzIGFuIGFsdGVybmF0ZSBrZXl3b3JkLiAqLw0KLSAgICNkZWZpbmUgTmlGcGdhX0lubGluZSBfX2lubGluZQ0KLSNlbGlmIE5pRnBnYV9HY2MNCi0gICAvKiBHQ0MgKGF0IGxlYXN0IHNpbmNlIDIuOTUuMikgYWxzbyBzdXBwb3J0cyBhbiBhbHRlcm5hdGUga2V5d29yZC4gKi8NCi0gICAjZGVmaW5lIE5pRnBnYV9JbmxpbmUgX19pbmxpbmVfXw0KLSNlbGlmICFkZWZpbmVkKE5pRnBnYV9JbmxpbmUpDQotICAgLyoNCi0gICAgKiBEaXNhYmxlIGlubGluaW5nIGlmIGlubGluZSBzdXBwb3J0IGlzIHVua25vd24uIFRvIG1hbnVhbGx5IGVuYWJsZQ0KLSAgICAqIGlubGluaW5nLCAjZGVmaW5lIHRoZSBmb2xsb3dpbmcgbWFjcm8gYmVmb3JlICNpbmNsdWRpbmcgTmlGcGdhLmg6DQotICAgICoNCi0gICAgKiAgICAjZGVmaW5lIE5pRnBnYV9JbmxpbmUgaW5saW5lDQotICAgICovDQotICAgI2RlZmluZSBOaUZwZ2FfSW5saW5lDQotI2VuZGlmDQotDQotLyoNCi0gKiBEZWZpbmUgZXhhY3Qtd2lkdGggaW50ZWdlciB0eXBlcywgaWYgdGhleSBoYXZlIG5vdCBhbHJlYWR5IGJlZW4gZGVmaW5lZC4NCi0gKi8NCi0jaWYgTmlGcGdhX0V4YWN0V2lkdGhJbnRlZ2VyVHlwZXNEZWZpbmVkIFwNCi0gfHwgZGVmaW5lZChfU1RESU5UKSBcDQotIHx8IGRlZmluZWQoX1NURElOVF9IKSBcDQotIHx8IGRlZmluZWQoX1NURElOVF9IXykgXA0KLSB8fCBkZWZpbmVkKF9JTlRUWVBFU19IKSBcDQotIHx8IGRlZmluZWQoX0lOVFRZUEVTX0hfKSBcDQotIHx8IGRlZmluZWQoX1NZU19TVERJTlRfSCkgXA0KLSB8fCBkZWZpbmVkKF9TWVNfU1RESU5UX0hfKSBcDQotIHx8IGRlZmluZWQoX1NZU19JTlRUWVBFU19IKSBcDQotIHx8IGRlZmluZWQoX1NZU19JTlRUWVBFU19IXykgXA0KLSB8fCBkZWZpbmVkKF9TVERJTlRfSF9JTkNMVURFRCkgXA0KLSB8fCBkZWZpbmVkKEJPT1NUX0NTVERJTlRfSFBQKSBcDQotIHx8IGRlZmluZWQoX01TQ19TVERJTlRfSF8pIFwNCi0gfHwgZGVmaW5lZChfUFNURElOVF9IX0lOQ0xVREVEKQ0KLSAgIC8qIEFzc3VtZSB0aGF0IGV4YWN0LXdpZHRoIGludGVnZXIgdHlwZXMgaGF2ZSBhbHJlYWR5IGJlZW4gZGVmaW5lZC4gKi8NCi0jZWxpZiBOaUZwZ2FfVnhXb3Jrcw0KLSAgICNpbmNsdWRlIDx2eFdvcmtzLmg+DQotI2VsaWYgTmlGcGdhX0M5OSBcDQotICAgfHwgTmlGcGdhX0djYyAvKiBHQ0MgKGF0IGxlYXN0IHNpbmNlIDMuMCkgaGFzIGEgc3RkaW50LmguICovIFwNCi0gICB8fCBkZWZpbmVkKEhBVkVfU1RESU5UX0gpDQotICAgLyogQXNzdW1lIHRoYXQgc3RkaW50LmggY2FuIGJlIGluY2x1ZGVkLiAqLw0KLSAgICNpbmNsdWRlIDxzdGRpbnQuaD4NCi0jZWxpZiBOaUZwZ2FfTXN2YyBcDQotICAgfHwgTmlGcGdhX0N2aQ0KLSAgIC8qIE1hbnVhbGx5IGRlZmluZSBleGFjdC13aWR0aCBpbnRlZ2VyIHR5cGVzLiAqLw0KLSAgIHR5cGVkZWYgICBzaWduZWQgICAgY2hhciAgaW50OF90Ow0KLSAgIHR5cGVkZWYgdW5zaWduZWQgICAgY2hhciB1aW50OF90Ow0KLSAgIHR5cGVkZWYgICAgICAgICAgICBzaG9ydCAgaW50MTZfdDsNCi0gICB0eXBlZGVmIHVuc2lnbmVkICAgc2hvcnQgdWludDE2X3Q7DQotICAgdHlwZWRlZiAgICAgICAgICAgICAgaW50ICBpbnQzMl90Ow0KLSAgIHR5cGVkZWYgdW5zaWduZWQgICAgIGludCB1aW50MzJfdDsNCi0gICB0eXBlZGVmICAgICAgICAgIF9faW50NjQgIGludDY0X3Q7DQotICAgdHlwZWRlZiB1bnNpZ25lZCBfX2ludDY0IHVpbnQ2NF90Ow0KLSNlbHNlDQotICAgLyoNCi0gICAgKiBFeGFjdC13aWR0aCBpbnRlZ2VyIHR5cGVzIG11c3QgYmUgZGVmaW5lZCBieSB0aGUgdXNlciwgYW5kIHRoZSBmb2xsb3dpbmcNCi0gICAgKiBtYWNybyBtdXN0IGJlICNkZWZpbmVkLCBiZWZvcmUgI2luY2x1ZGluZyBOaUZwZ2EuaDoNCi0gICAgKg0KLSAgICAqICAgICNkZWZpbmUgTmlGcGdhX0V4YWN0V2lkdGhJbnRlZ2VyVHlwZXNEZWZpbmVkIDENCi0gICAgKi8NCi0gICAjZXJyb3IgRXhhY3Qtd2lkdGggaW50ZWdlciB0eXBlcyBtdXN0IGJlIGRlZmluZWQgYnkgdGhlIHVzZXIuIFNlZSBjb21tZW50Lg0KLSNlbmRpZg0KLQ0KLS8qIEluY2x1ZGVkIGZvciBkZWZpbml0aW9uIG9mIHNpemVfdC4gKi8NCi0jaW5jbHVkZSA8c3RkZGVmLmg+DQotDQotI2lmIE5pRnBnYV9DcHANCi1leHRlcm4gIkMiIHsNCi0jZW5kaWYNCi0NCi0vKioNCi0gKiBBIGJvb2xlYW4gdmFsdWU7IGVpdGhlciBOaUZwZ2FfRmFsc2Ugb3IgTmlGcGdhX1RydWUuDQotICovDQotdHlwZWRlZiB1aW50OF90IE5pRnBnYV9Cb29sOw0KLQ0KLS8qKg0KLSAqIFJlcHJlc2VudHMgYSBmYWxzZSBjb25kaXRpb24uDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9Cb29sIE5pRnBnYV9GYWxzZSA9IDA7DQotDQotLyoqDQotICogUmVwcmVzZW50cyBhIHRydWUgY29uZGl0aW9uLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfQm9vbCBOaUZwZ2FfVHJ1ZSA9IDE7DQotDQotLyoqDQotICogUmVwcmVzZW50cyB0aGUgcmVzdWx0aW5nIHN0YXR1cyBvZiBhIGZ1bmN0aW9uIGNhbGwgdGhyb3VnaCBpdHMgcmV0dXJuIHZhbHVlLg0KLSAqIDAgaXMgc3VjY2VzcywgbmVnYXRpdmUgdmFsdWVzIGFyZSBlcnJvcnMsIGFuZCBwb3NpdGl2ZSB2YWx1ZXMgYXJlIHdhcm5pbmdzLg0KLSAqLw0KLXR5cGVkZWYgaW50MzJfdCBOaUZwZ2FfU3RhdHVzOw0KLQ0KLS8qKg0KLSAqIE5vIGVycm9ycyBvciB3YXJuaW5ncy4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3MgPSAwOw0KLQ0KLS8qKg0KLSAqIFRoZSB0aW1lb3V0IGV4cGlyZWQgYmVmb3JlIHRoZSBGSUZPIG9wZXJhdGlvbiBjb3VsZCBjb21wbGV0ZS4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ZpZm9UaW1lb3V0ID0gLTUwNDAwOw0KLQ0KLS8qKg0KLSAqIEEgbWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkLiBUcnkgYWdhaW4gYWZ0ZXIgcmVib290aW5nLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfTWVtb3J5RnVsbCA9IC01MjAwMDsNCi0NCi0vKioNCi0gKiBBbiB1bmV4cGVjdGVkIHNvZnR3YXJlIGVycm9yIG9jY3VycmVkLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfU29mdHdhcmVGYXVsdCA9IC01MjAwMzsNCi0NCi0vKioNCi0gKiBBIHBhcmFtZXRlciB0byBhIGZ1bmN0aW9uIHdhcyBub3QgdmFsaWQuIFRoaXMgY291bGQgYmUgYSBOVUxMIHBvaW50ZXIsIGEgYmFkDQotICogdmFsdWUsIGV0Yy4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ludmFsaWRQYXJhbWV0ZXIgPSAtNTIwMDU7DQotDQotLyoqDQotICogQSByZXF1aXJlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kLiBUaGUgTmlGcGdhLiogbGlicmFyeSwgdGhlIFJJTyByZXNvdXJjZSwNCi0gKiBvciBzb21lIG90aGVyIHJlc291cmNlIG1heSBiZSBtaXNzaW5nLCBvciB0aGUgTmlGcGdhLiogbGlicmFyeSBtYXkgbm90IGJlDQotICogdGhlIHJlcXVpcmVkIG1pbmltdW0gdmVyc2lvbi4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX1Jlc291cmNlTm90Rm91bmQgPSAtNTIwMDY7DQotDQotLyoqDQotICogQSByZXF1aXJlZCByZXNvdXJjZSB3YXMgbm90IHByb3Blcmx5IGluaXRpYWxpemVkLiBUaGlzIGNvdWxkIG9jY3VyIGlmDQotICogTmlGcGdhX0luaXRpYWxpemUgd2FzIG5vdCBjYWxsZWQgb3IgYSByZXF1aXJlZCBOaUZwZ2FfSXJxQ29udGV4dCB3YXMgbm90DQotICogcmVzZXJ2ZWQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19SZXNvdXJjZU5vdEluaXRpYWxpemVkID0gLTUyMDEwOw0KLQ0KLS8qKg0KLSAqIFRoZSBGUEdBIGlzIGFscmVhZHkgcnVubmluZy4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ZwZ2FBbHJlYWR5UnVubmluZyA9IC02MTAwMzsNCi0NCi0vKioNCi0gKiBUaGUgYml0ZmlsZSB3YXMgbm90IGNvbXBpbGVkIGZvciB0aGUgc3BlY2lmaWVkIHJlc291cmNlJ3MgZGV2aWNlIHR5cGUuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19EZXZpY2VUeXBlTWlzbWF0Y2ggPSAtNjEwMjQ7DQotDQotLyoqDQotICogQW4gZXJyb3Igd2FzIGRldGVjdGVkIGluIHRoZSBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGhvc3QgY29tcHV0ZXIgYW5kIHRoZQ0KLSAqIEZQR0EgdGFyZ2V0Lg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfQ29tbXVuaWNhdGlvblRpbWVvdXQgPSAtNjEwNDY7DQotDQotLyoqDQotICogVGhlIHRpbWVvdXQgZXhwaXJlZCBiZWZvcmUgYW55IG9mIHRoZSBJUlFzIHdlcmUgYXNzZXJ0ZWQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19JcnFUaW1lb3V0ID0gLTYxMDYwOw0KLQ0KLS8qKg0KLSAqIFRoZSBzcGVjaWZpZWQgYml0ZmlsZSBpcyBpbnZhbGlkIG9yIGNvcnJ1cHQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19Db3JydXB0Qml0ZmlsZSA9IC02MTA3MDsNCi0NCi0vKioNCi0gKiBUaGUgRklGTyBkZXB0aCBpcyBpbnZhbGlkLiBJdCB3YXMgZWl0aGVyIDAsIGdyZWF0ZXIgdGhhbiB0aGUgYW1vdW50IG9mDQotICogYXZhaWxhYmxlIG1lbW9yeSBpbiB0aGUgaG9zdCBjb21wdXRlciwgb3IgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHNpemUNCi0gKiBhbGxvd2VkIGJ5IHRoZSBoYXJkd2FyZS4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0JhZERlcHRoID0gLTYxMDcyOw0KLQ0KLS8qKg0KLSAqIFRoZSBudW1iZXIgb2YgRklGTyBlbGVtZW50cyBpcyBpbnZhbGlkLiBFaXRoZXIgdGhlIG51bWJlciBpcyBncmVhdGVyIHRoYW4NCi0gKiB0aGUgZGVwdGggb2YgdGhlIGhvc3QgbWVtb3J5IERNQSBGSUZPLCBvciBtb3JlIGVsZW1lbnRzIHdlcmUgcmVxdWVzdGVkIGZvcg0KLSAqIHJlbGVhc2UgdGhhbiBoYWQgYmVlbiBhY3F1aXJlZC4gDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19CYWRSZWFkV3JpdGVDb3VudCA9IC02MTA3MzsNCi0NCi0vKioNCi0gKiBBIGhhcmR3YXJlIGNsb2NraW5nIGVycm9yIG9jY3VycmVkLiBBIGRlcml2ZWQgY2xvY2sgbG9zdCBsb2NrIHdpdGggaXRzIGJhc2UNCi0gKiBjbG9jayBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgTGFiVklFVyBGUEdBIFZJLiBJZiBhbnkgYmFzZSBjbG9ja3Mgd2l0aA0KLSAqIGRlcml2ZWQgY2xvY2tzIGFyZSByZWZlcmVuY2luZyBhbiBleHRlcm5hbCBzb3VyY2UsIG1ha2Ugc3VyZSB0aGF0IHRoZQ0KLSAqIGV4dGVybmFsIHNvdXJjZSBpcyBjb25uZWN0ZWQgYW5kIHdpdGhpbiB0aGUgc3VwcG9ydGVkIGZyZXF1ZW5jeSwgaml0dGVyLA0KLSAqIGFjY3VyYWN5LCBkdXR5IGN5Y2xlLCBhbmQgdm9sdGFnZSBzcGVjaWZpY2F0aW9ucy4gQWxzbyB2ZXJpZnkgdGhhdCB0aGUNCi0gKiBjaGFyYWN0ZXJpc3RpY3Mgb2YgdGhlIGJhc2UgY2xvY2sgbWF0Y2ggdGhlIGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGluIHRoZQ0KLSAqIEZQR0EgQmFzZSBDbG9jayBQcm9wZXJ0aWVzLiBJZiBhbGwgYmFzZSBjbG9ja3Mgd2l0aCBkZXJpdmVkIGNsb2NrcyBhcmUNCi0gKiBnZW5lcmF0ZWQgZnJvbSBmcmVlLXJ1bm5pbmcsIG9uLWJvYXJkIHNvdXJjZXMsIHBsZWFzZSBjb250YWN0IE5hdGlvbmFsDQotICogSW5zdHJ1bWVudHMgdGVjaG5pY2FsIHN1cHBvcnQgYXQgbmkuY29tL3N1cHBvcnQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19DbG9ja0xvc3RMb2NrID0gLTYxMDgzOw0KLQ0KLS8qKg0KLSAqIE9wZXJhdGlvbiBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIGJlY2F1c2UgdGhlIEZQR0EgaXMgYnVzeS4gU3RvcCBhbGwgdGhlDQotICogYWN0aXZpdGllcyBvbiB0aGUgRlBHQSBiZWZvcmUgcmVxdWVzdGluZyB0aGlzIG9wZXJhdGlvbi4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ZwZ2FCdXN5ID0gLTYxMTQxOw0KLQ0KLS8qKg0KLSAqIE9wZXJhdGlvbiBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIGJlY2F1c2UgdGhlIEZQR0EgaXMgYnVzeSBvcGVyYXRpbmcgaW4gRlBHQQ0KLSAqIEludGVyZmFjZSBDIEFQSSBtb2RlLiBTdG9wIGFsbCB0aGUgYWN0aXZpdGllcyBvbiB0aGUgRlBHQSBiZWZvcmUgcmVxdWVzdGluZw0KLSAqIHRoaXMgb3BlcmF0aW9uLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfRnBnYUJ1c3lGcGdhSW50ZXJmYWNlQ0FwaSA9IC02MTIwMDsNCi0NCi0vKioNCi0gKiBUaGUgY2hhc3NpcyBpcyBpbiBTY2FuIEludGVyZmFjZSBwcm9ncmFtbWluZyBtb2RlLiBJbiBvcmRlciB0byBydW4gRlBHQSBWSXMsDQotICogeW91IG11c3QgZ28gdG8gdGhlIGNoYXNzaXMgcHJvcGVydGllcyBwYWdlLCBzZWxlY3QgRlBHQSBwcm9ncmFtbWluZyBtb2RlLA0KLSAqIGFuZCBkZXBsb3kgc2V0dGluZ3MuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19GcGdhQnVzeVNjYW5JbnRlcmZhY2UgPSAtNjEyMDE7DQotDQotLyoqDQotICogT3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQgYmVjYXVzZSB0aGUgRlBHQSBpcyBidXN5IG9wZXJhdGluZyBpbiBGUEdBDQotICogSW50ZXJmYWNlIG1vZGUuIFN0b3AgYWxsIHRoZSBhY3Rpdml0aWVzIG9uIHRoZSBGUEdBIGJlZm9yZSByZXF1ZXN0aW5nIHRoaXMNCi0gKiBvcGVyYXRpb24uDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19GcGdhQnVzeUZwZ2FJbnRlcmZhY2UgPSAtNjEyMDI7DQotDQotLyoqDQotICogT3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQgYmVjYXVzZSB0aGUgRlBHQSBpcyBidXN5IG9wZXJhdGluZyBpbg0KLSAqIEludGVyYWN0aXZlIG1vZGUuIFN0b3AgYWxsIHRoZSBhY3Rpdml0aWVzIG9uIHRoZSBGUEdBIGJlZm9yZSByZXF1ZXN0aW5nIHRoaXMNCi0gKiBvcGVyYXRpb24uDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19GcGdhQnVzeUludGVyYWN0aXZlID0gLTYxMjAzOw0KLQ0KLS8qKg0KLSAqIE9wZXJhdGlvbiBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIGJlY2F1c2UgdGhlIEZQR0EgaXMgYnVzeSBvcGVyYXRpbmcgaW4NCi0gKiBFbXVsYXRpb24gbW9kZS4gU3RvcCBhbGwgdGhlIGFjdGl2aXRpZXMgb24gdGhlIEZQR0EgYmVmb3JlIHJlcXVlc3RpbmcgdGhpcw0KLSAqIG9wZXJhdGlvbi4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ZwZ2FCdXN5RW11bGF0aW9uID0gLTYxMjA0Ow0KLQ0KLS8qKg0KLSAqIEFuIHVuZXhwZWN0ZWQgaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19JbnRlcm5hbEVycm9yID0gLTYxNDk5Ow0KLQ0KLS8qKg0KLSAqIEFjY2VzcyB0byB0aGUgcmVtb3RlIHN5c3RlbSB3YXMgZGVuaWVkLiBVc2UgTUFYIHRvIGNoZWNrIHRoZSBSZW1vdGUgRGV2aWNlDQotICogQWNjZXNzIHNldHRpbmdzIHVuZGVyIFNvZnR3YXJlPj5OSS1SSU8+Pk5JLVJJTyBTZXR0aW5ncyBvbiB0aGUgcmVtb3RlIHN5c3RlbS4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0FjY2Vzc0RlbmllZCA9IC02MzAzMzsNCi0NCi0vKioNCi0gKiBBIGNvbm5lY3Rpb24gY291bGQgbm90IGJlIGVzdGFibGlzaGVkIHRvIHRoZSBzcGVjaWZpZWQgcmVtb3RlIGRldmljZS4gRW5zdXJlDQotICogdGhhdCB0aGUgZGV2aWNlIGlzIG9uIGFuZCBhY2Nlc3NpYmxlIG92ZXIgdGhlIG5ldHdvcmssIHRoYXQgTkktUklPIHNvZnR3YXJlDQotICogaXMgaW5zdGFsbGVkLCBhbmQgdGhhdCB0aGUgUklPIHNlcnZlciBpcyBydW5uaW5nIGFuZCBwcm9wZXJseSBjb25maWd1cmVkLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfUnBjQ29ubmVjdGlvbkVycm9yID0gLTYzMDQwOw0KLQ0KLS8qKg0KLSAqIFRoZSBSUEMgc2Vzc2lvbiBpcyBpbnZhbGlkLiBUaGUgdGFyZ2V0IG1heSBoYXZlIHJlc2V0IG9yIGJlZW4gcmVib290ZWQuIENoZWNrDQotICogdGhlIG5ldHdvcmsgY29ubmVjdGlvbiBhbmQgcmV0cnkgdGhlIG9wZXJhdGlvbi4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX1JwY1Nlc3Npb25FcnJvciA9IC02MzA0MzsNCi0NCi0vKioNCi0gKiBBIFJlYWQgRklGTyBvciBXcml0ZSBGSUZPIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2hpbGUgdGhlIGhvc3QgaGFkIGFjcXVpcmVkDQotICogZWxlbWVudHMgb2YgdGhlIEZJRk8uIFJlbGVhc2UgYWxsIGFjcXVpcmVkIGVsZW1lbnRzIGJlZm9yZSByZWFkaW5nIG9yDQotICogd3JpdGluZy4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ZpZm9FbGVtZW50c0N1cnJlbnRseUFjcXVpcmVkID0gLTYzMDgzOw0KLQ0KLS8qKg0KLSAqIFRoZSBiaXRmaWxlIGNvdWxkIG5vdCBiZSByZWFkLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfQml0ZmlsZVJlYWRFcnJvciA9IC02MzEwMTsNCi0NCi0vKioNCi0gKiBUaGUgc3BlY2lmaWVkIHNpZ25hdHVyZSBkb2VzIG5vdCBtYXRjaCB0aGUgc2lnbmF0dXJlIG9mIHRoZSBiaXRmaWxlLiBJZiB0aGUNCi0gKiBiaXRmaWxlIGhhcyBiZWVuIHJlY29tcGlsZWQsIHJlZ2VuZXJhdGUgdGhlIEMgQVBJIGFuZCByZWJ1aWxkIHRoZQ0KLSAqIGFwcGxpY2F0aW9uLg0KLSAqLw0KLXN0YXRpYyBjb25zdCBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGF0dXNfU2lnbmF0dXJlTWlzbWF0Y2ggPSAtNjMxMDY7DQotDQotLyoqDQotICogRWl0aGVyIHRoZSBzdXBwbGllZCByZXNvdXJjZSBuYW1lIGlzIGludmFsaWQgYXMgYSBSSU8gcmVzb3VyY2UgbmFtZSwgb3IgdGhlDQotICogZGV2aWNlIHdhcyBub3QgZm91bmQuIFVzZSBNQVggdG8gZmluZCB0aGUgcHJvcGVyIHJlc291cmNlIG5hbWUgZm9yIHRoZQ0KLSAqIGludGVuZGVkIGRldmljZS4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ludmFsaWRSZXNvdXJjZU5hbWUgPSAtNjMxOTI7DQotDQotLyoqDQotICogVGhlIHJlcXVlc3RlZCBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19GZWF0dXJlTm90U3VwcG9ydGVkID0gLTYzMTkzOw0KLQ0KLS8qKg0KLSAqIFRoZSBOSS1SSU8gc29mdHdhcmUgb24gdGhlIHJlbW90ZSBzeXN0ZW0gaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgbG9jYWwNCi0gKiBOSS1SSU8gc29mdHdhcmUuIFVwZ3JhZGUgdGhlIE5JLVJJTyBzb2Z0d2FyZSBvbiB0aGUgcmVtb3RlIHN5c3RlbS4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX1ZlcnNpb25NaXNtYXRjaCA9IC02MzE5NDsNCi0NCi0vKioNCi0gKiBUaGUgc2Vzc2lvbiBpcyBpbnZhbGlkIG9yIGhhcyBiZWVuIGNsb3NlZC4NCi0gKi8NCi1zdGF0aWMgY29uc3QgTmlGcGdhX1N0YXR1cyBOaUZwZ2FfU3RhdHVzX0ludmFsaWRTZXNzaW9uID0gLTYzMTk1Ow0KLQ0KLS8qKg0KLSAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIEZQR0Egc2Vzc2lvbnMgaGFzIGJlZW4gcmVhY2hlZC4gQ2xvc2Ugc29tZSBvcGVuDQotICogc2Vzc2lvbnMuDQotICovDQotc3RhdGljIGNvbnN0IE5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0YXR1c19PdXRPZkhhbmRsZXMgPSAtNjMxOTg7DQotDQotLyoqDQotICogVGVzdHMgd2hldGhlciBhIHN0YXR1cyBpcyBhbiBlcnJvci4NCi0gKg0KLSAqIEBwYXJhbSBzdGF0dXMgc3RhdHVzIHRvIGNoZWNrIGZvciBhbiBlcnJvcg0KLSAqIEByZXR1cm4gd2hldGhlciB0aGUgc3RhdHVzIHdhcyBhbiBlcnJvcg0KLSAqLw0KLXN0YXRpYyBOaUZwZ2FfSW5saW5lIE5pRnBnYV9Cb29sIE5pRnBnYV9Jc0Vycm9yKGNvbnN0IE5pRnBnYV9TdGF0dXMgc3RhdHVzKQ0KLXsNCi0gICByZXR1cm4gc3RhdHVzIDwgTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLX0NCi0NCi0vKioNCi0gKiBUZXN0cyB3aGV0aGVyIGEgc3RhdHVzIGlzIG5vdCBhbiBlcnJvci4gU3VjY2VzcyBhbmQgd2FybmluZ3MgYXJlIG5vdCBlcnJvcnMuDQotICoNCi0gKiBAcGFyYW0gc3RhdHVzIHN0YXR1cyB0byBjaGVjayBmb3IgYW4gZXJyb3INCi0gKiBAcmV0dXJuIHdoZXRoZXIgdGhlIHN0YXR1cyB3YXMgYSBzdWNjZXNzIG9yIHdhcm5pbmcNCi0gKi8NCi1zdGF0aWMgTmlGcGdhX0lubGluZSBOaUZwZ2FfQm9vbCBOaUZwZ2FfSXNOb3RFcnJvcihjb25zdCBOaUZwZ2FfU3RhdHVzIHN0YXR1cykNCi17DQotICAgcmV0dXJuIHN0YXR1cyA+PSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmRpdGlvbmFsbHkgc2V0cyB0aGUgc3RhdHVzIHRvIGEgbmV3IHZhbHVlLiBUaGUgcHJldmlvdXMgc3RhdHVzIGlzDQotICogcHJlc2VydmVkIHVubGVzcyB0aGUgbmV3IHN0YXR1cyBpcyBtb3JlIG9mIGFuIGVycm9yLCB3aGljaCBtZWFucyB0aGF0DQotICogd2FybmluZ3MgYW5kIGVycm9ycyBvdmVyd3JpdGUgc3VjY2Vzc2VzLCBhbmQgZXJyb3JzIG92ZXJ3cml0ZSB3YXJuaW5ncy4gTmV3DQotICogZXJyb3JzIGRvIG5vdCBvdmVyd3JpdGUgb2xkZXIgZXJyb3JzLCBhbmQgbmV3IHdhcm5pbmdzIGRvIG5vdCBvdmVyd3JpdGUNCi0gKiBvbGRlciB3YXJuaW5ncy4NCi0gKg0KLSAqIEBwYXJhbSBzdGF0dXMgc3RhdHVzIHRvIGNvbmRpdGlvbmFsbHkgc2V0DQotICogQHBhcmFtIG5ld1N0YXR1cyBuZXcgc3RhdHVzIHZhbHVlIHRoYXQgbWF5IGJlIHNldA0KLSAqIEByZXR1cm4gdGhlIHJlc3VsdGluZyBzdGF0dXMNCi0gKi8NCi1zdGF0aWMgTmlGcGdhX0lubGluZSBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9NZXJnZVN0YXR1cygNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU3RhdHVzKiBjb25zdCBzdGF0dXMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmlGcGdhX1N0YXR1cyAgbmV3U3RhdHVzKQ0KLXsNCi0gICBpZiAoIXN0YXR1cykNCi0gICB7DQotICAgICAgcmV0dXJuIE5pRnBnYV9TdGF0dXNfSW52YWxpZFBhcmFtZXRlcjsNCi0gICB9DQotICAgaWYgKE5pRnBnYV9Jc05vdEVycm9yKCpzdGF0dXMpDQotICAgJiYgICgqc3RhdHVzID09IE5pRnBnYV9TdGF0dXNfU3VjY2VzcyB8fCBOaUZwZ2FfSXNFcnJvcihuZXdTdGF0dXMpKSkNCi0gICB7DQotICAgICAgKnN0YXR1cyA9IG5ld1N0YXR1czsNCi0gICB9DQotICAgcmV0dXJuICpzdGF0dXM7DQotfQ0KLQ0KLS8qKg0KLSAqIFRoaXMgbWFjcm8gZXZhbHVhdGVzIHRoZSBleHByZXNzaW9uIG9ubHkgaWYgdGhlIHN0YXR1cyBpcyBub3QgYW4gZXJyb3IuIFRoZQ0KLSAqIGV4cHJlc3Npb24gbXVzdCBldmFsdWF0ZSB0byBhbiBOaUZwZ2FfU3RhdHVzLCBzdWNoIGFzIGEgY2FsbCB0byBhbnkgTmlGcGdhXyoNCi0gKiBmdW5jdGlvbiwgYmVjYXVzZSB0aGUgc3RhdHVzIHdpbGwgYmUgc2V0IHRvIHRoZSByZXR1cm5lZCBzdGF0dXMgaWYgdGhlDQotICogZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuDQotICoNCi0gKiBZb3UgY2FuIHVzZSB0aGlzIG1hY3JvIHRvIG1pbWljIHN0YXR1cyBjaGFpbmluZyBpbiBMYWJWSUVXLCB3aGVyZSB0aGUgc3RhdHVzDQotICogZG9lcyBub3QgaGF2ZSB0byBiZSBleHBsaWNpdGx5IGNoZWNrZWQgYWZ0ZXIgZWFjaCBjYWxsLiBTdWNoIGNvZGUgbWF5IGxvb2sNCi0gKiBsaWtlIHRoZSBmb2xsb3dpbmcgZXhhbXBsZS4NCi0gKg0KLSAqICAgIE5pRnBnYV9TdGF0dXMgc3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLSAqICAgIE5pRnBnYV9JZklzTm90RXJyb3Ioc3RhdHVzLCBOaUZwZ2FfV3JpdGVVMzIoLi4uKSk7DQotICogICAgTmlGcGdhX0lmSXNOb3RFcnJvcihzdGF0dXMsIE5pRnBnYV9Xcml0ZVUzMiguLi4pKTsNCi0gKiAgICBOaUZwZ2FfSWZJc05vdEVycm9yKHN0YXR1cywgTmlGcGdhX1dyaXRlVTMyKC4uLikpOw0KLSAqDQotICogQHBhcmFtIHN0YXR1cyBzdGF0dXMgdG8gY2hlY2sgZm9yIGFuIGVycm9yDQotICogQHBhcmFtIGV4cHJlc3Npb24gZXhwcmVzc2lvbiB0byBjYWxsIGlmIHRoZSBpbmNvbWluZyBzdGF0dXMgaXMgbm90IGFuIGVycm9yDQotICovDQotI2RlZmluZSBOaUZwZ2FfSWZJc05vdEVycm9yKHN0YXR1cywgZXhwcmVzc2lvbikgXA0KLSAgIGlmIChOaUZwZ2FfSXNOb3RFcnJvcihzdGF0dXMpKSBcDQotICAgeyBcDQotICAgICAgTmlGcGdhX01lcmdlU3RhdHVzKCZzdGF0dXMsIChleHByZXNzaW9uKSk7IFwNCi0gICB9DQotDQotLyoqDQotICogWW91IG11c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBhbGwgb3RoZXIgZnVuY3Rpb24gY2FsbHMuIFRoaXMgZnVuY3Rpb24NCi0gKiBsb2FkcyB0aGUgTmlGcGdhIGxpYnJhcnkgc28gdGhhdCBhbGwgdGhlIG90aGVyIGZ1bmN0aW9ucyB3aWxsIHdvcmsuIElmIHRoaXMNCi0gKiBmdW5jdGlvbiBzdWNjZWVkcywgeW91IG11c3QgY2FsbCBOaUZwZ2FfRmluYWxpemUgYWZ0ZXIgYWxsIG90aGVyIGZ1bmN0aW9uDQotICogY2FsbHMuDQotICoNCi0gKiBAd2FybmluZyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZS4NCi0gKg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfSW5pdGlhbGl6ZSh2b2lkKTsNCi0NCi0vKioNCi0gKiBZb3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgYWxsIG90aGVyIGZ1bmN0aW9uIGNhbGxzIGlmDQotICogTmlGcGdhX0luaXRpYWxpemUgc3VjY2VlZHMuIFRoaXMgZnVuY3Rpb24gdW5sb2FkcyB0aGUgTmlGcGdhIGxpYnJhcnkuDQotICoNCi0gKiBAd2FybmluZyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCB0aHJlYWQgc2FmZS4NCi0gKg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfRmluYWxpemUodm9pZCk7DQotDQotLyoqDQotICogQSBoYW5kbGUgdG8gYW4gRlBHQSBzZXNzaW9uLg0KLSAqLw0KLXR5cGVkZWYgdWludDMyX3QgTmlGcGdhX1Nlc3Npb247DQotDQotLyoqDQotICogQXR0cmlidXRlcyB0aGF0IE5pRnBnYV9PcGVuIGFjY2VwdHMuDQotICovDQotdHlwZWRlZiBlbnVtDQotew0KLSAgIE5pRnBnYV9PcGVuQXR0cmlidXRlX05vUnVuID0gMQ0KLX0gTmlGcGdhX09wZW5BdHRyaWJ1dGU7DQotDQotLyoqDQotICogT3BlbnMgYSBzZXNzaW9uIHRvIHRoZSBGUEdBLiBUaGlzIGNhbGwgZW5zdXJlcyB0aGF0IHRoZSBjb250ZW50cyBvZiB0aGUNCi0gKiBiaXRmaWxlIGFyZSBwcm9ncmFtbWVkIHRvIHRoZSBGUEdBLiBUaGUgRlBHQSBydW5zIHVubGVzcyB0aGUNCi0gKiBOaUZwZ2FfT3BlbkF0dHJpYnV0ZV9Ob1J1biBhdHRyaWJ1dGUgaXMgdXNlZC4NCi0gKg0KLSAqIEJlY2F1c2UgZGlmZmVyZW50IG9wZXJhdGluZyBzeXN0ZW1zIGhhdmUgZGlmZmVyZW50IGRlZmF1bHQgY3VycmVudCB3b3JraW5nDQotICogZGlyZWN0b3JpZXMgZm9yIGFwcGxpY2F0aW9ucywgeW91IG11c3QgcGFzcyBhbiBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgYml0ZmlsZQ0KLSAqIHBhcmFtZXRlci4gSWYgeW91IHBhc3Mgb25seSB0aGUgZmlsZW5hbWUgaW5zdGVhZCBvZiBhbiBhYnNvbHV0ZSBwYXRoLCB0aGUNCi0gKiBvcGVyYXRpbmcgc3lzdGVtIG1heSBub3QgYmUgYWJsZSB0byBsb2NhdGUgdGhlIGJpdGZpbGUuIEZvciBleGFtcGxlLCB0aGUNCi0gKiBkZWZhdWx0IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcmllcyBhcmUgQzpcbmktcnRcc3lzdGVtXCBmb3IgUGhhciBMYXAgRVRTIGFuZA0KLSAqIC9jLyBmb3IgVnhXb3Jrcy4gQmVjYXVzZSB0aGUgZ2VuZXJhdGVkICpfQml0ZmlsZSBjb25zdGFudCBpcyBhICNkZWZpbmUgdG8gYQ0KLSAqIHN0cmluZyBsaXRlcmFsLCB5b3UgY2FuIHVzZSBDL0MrKyBzdHJpbmctbGl0ZXJhbCBjb25jYXRlbmF0aW9uIHRvIGZvcm0gYW4NCi0gKiBhYnNvbHV0ZSBwYXRoLiBGb3IgZXhhbXBsZSwgaWYgdGhlIGJpdGZpbGUgaXMgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIGENCi0gKiBQaGFyIExhcCBFVFMgc3lzdGVtLCBwYXNzIHRoZSBmb2xsb3dpbmcgZm9yIHRoZSBiaXRmaWxlIHBhcmFtZXRlci4NCi0gKg0KLSAqICAgICJDOlxcIiBOaUZwZ2FfTXlBcHBsaWNhdGlvbl9CaXRmaWxlDQotICoNCi0gKiBAcGFyYW0gYml0ZmlsZSBwYXRoIHRvIHRoZSBiaXRmaWxlDQotICogQHBhcmFtIHNpZ25hdHVyZSBzaWduYXR1cmUgb2YgdGhlIGJpdGZpbGUNCi0gKiBAcGFyYW0gcmVzb3VyY2UgUklPIHJlc291cmNlIHN0cmluZyB0byBvcGVuICgiUklPMCIgb3IgInJpbzovL215c3lzdGVtL1JJTyIpDQotICogQHBhcmFtIGF0dHJpYnV0ZSBiaXR3aXNlIE9SIG9mIGFueSBOaUZwZ2FfT3BlbkF0dHJpYnV0ZXMsIG9yIDANCi0gKiBAcGFyYW0gc2Vzc2lvbiBvdXRwdXRzIHRoZSBzZXNzaW9uIGhhbmRsZSwgd2hpY2ggbXVzdCBiZSBjbG9zZWQgd2hlbiBubw0KLSAqICAgICAgICAgICAgICAgIGxvbmdlciBuZWVkZWQNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX09wZW4oY29uc3QgY2hhciogICAgIGJpdGZpbGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiAgICAgc2lnbmF0dXJlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogICAgIHJlc291cmNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGF0dHJpYnV0ZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uKiBzZXNzaW9uKTsNCi0NCi0vKioNCi0gKiBBdHRyaWJ1dGVzIHRoYXQgTmlGcGdhX0Nsb3NlIGFjY2VwdHMuDQotICovDQotdHlwZWRlZiBlbnVtDQotew0KLSAgIE5pRnBnYV9DbG9zZUF0dHJpYnV0ZV9Ob1Jlc2V0SWZMYXN0U2Vzc2lvbiA9IDENCi19IE5pRnBnYV9DbG9zZUF0dHJpYnV0ZTsNCi0NCi0vKioNCi0gKiBDbG9zZXMgdGhlIHNlc3Npb24gdG8gdGhlIEZQR0EuIFRoZSBGUEdBIHJlc2V0cyB1bmxlc3MgZWl0aGVyIGFub3RoZXIgc2Vzc2lvbg0KLSAqIGlzIHN0aWxsIG9wZW4gb3IgeW91IHVzZSB0aGUgTmlGcGdhX0Nsb3NlQXR0cmlidXRlX05vUmVzZXRJZkxhc3RTZXNzaW9uDQotICogYXR0cmlidXRlLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBhdHRyaWJ1dGUgYml0d2lzZSBPUiBvZiBhbnkgTmlGcGdhX0Nsb3NlQXR0cmlidXRlcywgb3IgMA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQ2xvc2UoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBhdHRyaWJ1dGUpOw0KLQ0KLS8qKg0KLSAqIEF0dHJpYnV0ZXMgdGhhdCBOaUZwZ2FfUnVuIGFjY2VwdHMuDQotICovDQotdHlwZWRlZiBlbnVtDQotew0KLSAgIE5pRnBnYV9SdW5BdHRyaWJ1dGVfV2FpdFVudGlsRG9uZSA9IDENCi19IE5pRnBnYV9SdW5BdHRyaWJ1dGU7DQotDQotLyoqDQotICogUnVucyB0aGUgRlBHQSBWSSBvbiB0aGUgdGFyZ2V0LiBJZiB5b3UgdXNlIE5pRnBnYV9SdW5BdHRyaWJ1dGVfV2FpdFVudGlsRG9uZSwNCi0gKiBOaUZwZ2FfUnVuIGJsb2NrcyB0aGUgdGhyZWFkIHVudGlsIHRoZSBGUEdBIGZpbmlzaGVzIHJ1bm5pbmcgKGlmIGV2ZXIpLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBhdHRyaWJ1dGUgYml0d2lzZSBPUiBvZiBhbnkgTmlGcGdhX1J1bkF0dHJpYnV0ZXMsIG9yIDANCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1J1bihOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBhdHRyaWJ1dGUpOw0KLQ0KLS8qKg0KLSAqIEFib3J0cyB0aGUgRlBHQSBWSS4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0Fib3J0KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24pOw0KLQ0KLS8qKg0KLSAqIFJlc2V0cyB0aGUgRlBHQSBWSS4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1Jlc2V0KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24pOw0KLQ0KLS8qKg0KLSAqIFJlLWRvd25sb2FkcyB0aGUgRlBHQSBiaXRzdHJlYW0gdG8gdGhlIHRhcmdldC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0Rvd25sb2FkKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24pOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGEgYm9vbGVhbiB2YWx1ZSBmcm9tIGEgZ2l2ZW4gaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gdmFsdWUgb3V0cHV0cyB0aGUgdmFsdWUgdGhhdCB3YXMgcmVhZA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEJvb2woTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX0Jvb2wqICAgdmFsdWUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGEgc2lnbmVkIDgtYml0IGludGVnZXIgdmFsdWUgZnJvbSBhIGdpdmVuIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIHZhbHVlIG91dHB1dHMgdGhlIHZhbHVlIHRoYXQgd2FzIHJlYWQNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRJOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCogICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyIHZhbHVlIGZyb20gYSBnaXZlbiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSB2YWx1ZSBvdXRwdXRzIHRoZSB2YWx1ZSB0aGF0IHdhcyByZWFkDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkVTgoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiAgICAgICB2YWx1ZSk7DQotDQotLyoqDQotICogUmVhZHMgYSBzaWduZWQgMTYtYml0IGludGVnZXIgdmFsdWUgZnJvbSBhIGdpdmVuIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIHZhbHVlIG91dHB1dHMgdGhlIHZhbHVlIHRoYXQgd2FzIHJlYWQNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRJMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGluZGljYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciB2YWx1ZSBmcm9tIGEgZ2l2ZW4gaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gdmFsdWUgb3V0cHV0cyB0aGUgdmFsdWUgdGhhdCB3YXMgcmVhZA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZFUxNihOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqICAgICAgdmFsdWUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGEgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIHZhbHVlIGZyb20gYSBnaXZlbiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSB2YWx1ZSBvdXRwdXRzIHRoZSB2YWx1ZSB0aGF0IHdhcyByZWFkDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkSTMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90KiAgICAgICB2YWx1ZSk7DQotDQotLyoqDQotICogUmVhZHMgYW4gdW5zaWduZWQgMzItYml0IGludGVnZXIgdmFsdWUgZnJvbSBhIGdpdmVuIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIHZhbHVlIG91dHB1dHMgdGhlIHZhbHVlIHRoYXQgd2FzIHJlYWQNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRVMzIoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGluZGljYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhIHNpZ25lZCA2NC1iaXQgaW50ZWdlciB2YWx1ZSBmcm9tIGEgZ2l2ZW4gaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gdmFsdWUgb3V0cHV0cyB0aGUgdmFsdWUgdGhhdCB3YXMgcmVhZA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEk2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCogICAgICAgdmFsdWUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGFuIHVuc2lnbmVkIDY0LWJpdCBpbnRlZ2VyIHZhbHVlIGZyb20gYSBnaXZlbiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSB2YWx1ZSBvdXRwdXRzIHRoZSB2YWx1ZSB0aGF0IHdhcyByZWFkDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkVTY0KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCogICAgICB2YWx1ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGEgYm9vbGVhbiB2YWx1ZSB0byBhIGdpdmVuIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBjb250cm9sIGNvbnRyb2wgb3IgaW5kaWNhdG9yIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIHZhbHVlIHZhbHVlIHRvIHdyaXRlDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUJvb2woTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgY29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX0Jvb2wgICAgdmFsdWUpOw0KLQ0KLS8qKg0KLSAqIFdyaXRlcyBhIHNpZ25lZCA4LWJpdCBpbnRlZ2VyIHZhbHVlIHRvIGEgZ2l2ZW4gY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBvciBpbmRpY2F0b3IgdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gdmFsdWUgdmFsdWUgdG8gd3JpdGUNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlSTgoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGNvbnRyb2wsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ4X3QgICAgICAgICB2YWx1ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIHVuc2lnbmVkIDgtYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVVOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgY29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYSBzaWduZWQgMTYtYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVJMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QgICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYW4gdW5zaWduZWQgMTYtYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVVMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYSBzaWduZWQgMzItYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVJMzIoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYW4gdW5zaWduZWQgMzItYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVVMzIoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYSBzaWduZWQgNjQtYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVJNjQoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYW4gdW5zaWduZWQgNjQtYml0IGludGVnZXIgdmFsdWUgdG8gYSBnaXZlbiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byB3cml0ZQ0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVVNjQoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICAgICAgIHZhbHVlKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiBlbnRpcmUgYXJyYXkgb2YgYm9vbGVhbiB2YWx1ZXMgZnJvbSBhIGdpdmVuIGFycmF5IGluZGljYXRvciBvcg0KLSAqIGNvbnRyb2wuDQotICoNCi0gKiBAd2FybmluZyBUaGUgc2l6ZSBwYXNzZWQgbXVzdCBiZSB0aGUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGFycmF5IG91dHB1dHMgdGhlIGVudGlyZSBhcnJheSB0aGF0IHdhcyByZWFkDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBpbmRpY2F0b3Igb3IgY29udHJvbA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEFycmF5Qm9vbChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX0Jvb2wqICAgYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBzaXplKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiBlbnRpcmUgYXJyYXkgb2Ygc2lnbmVkIDgtYml0IGludGVnZXIgdmFsdWVzIGZyb20gYSBnaXZlbiBhcnJheQ0KLSAqIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBhcnJheSBvdXRwdXRzIHRoZSBlbnRpcmUgYXJyYXkgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBzaXplIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaW5kaWNhdG9yIG9yIGNvbnRyb2wNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRBcnJheUk4KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCogICAgICAgIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIHNpemUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyIHZhbHVlcyBmcm9tIGEgZ2l2ZW4gYXJyYXkNCi0gKiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gYXJyYXkgb3V0cHV0cyB0aGUgZW50aXJlIGFycmF5IHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGluZGljYXRvciBvciBjb250cm9sDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkQXJyYXlVOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGluZGljYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiAgICAgICBhcnJheSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBzaXplKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiBlbnRpcmUgYXJyYXkgb2Ygc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIHZhbHVlcyBmcm9tIGEgZ2l2ZW4gYXJyYXkNCi0gKiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gYXJyYXkgb3V0cHV0cyB0aGUgZW50aXJlIGFycmF5IHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGluZGljYXRvciBvciBjb250cm9sDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkQXJyYXlJMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQxNl90KiAgICAgICBhcnJheSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogUmVhZHMgYW4gZW50aXJlIGFycmF5IG9mIHVuc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIHZhbHVlcyBmcm9tIGEgZ2l2ZW4gYXJyYXkNCi0gKiBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGluZGljYXRvciBpbmRpY2F0b3Igb3IgY29udHJvbCBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gYXJyYXkgb3V0cHV0cyB0aGUgZW50aXJlIGFycmF5IHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGluZGljYXRvciBvciBjb250cm9sDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkQXJyYXlVMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgaW5kaWNhdG9yLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCogICAgICBhcnJheSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogUmVhZHMgYW4gZW50aXJlIGFycmF5IG9mIHNpZ25lZCAzMi1iaXQgaW50ZWdlciB2YWx1ZXMgZnJvbSBhIGdpdmVuIGFycmF5DQotICogaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAd2FybmluZyBUaGUgc2l6ZSBwYXNzZWQgbXVzdCBiZSB0aGUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGFycmF5IG91dHB1dHMgdGhlIGVudGlyZSBhcnJheSB0aGF0IHdhcyByZWFkDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBpbmRpY2F0b3Igb3IgY29udHJvbA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEFycmF5STMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGluZGljYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCogICAgICAgYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIHNpemUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCAzMi1iaXQgaW50ZWdlciB2YWx1ZXMgZnJvbSBhIGdpdmVuIGFycmF5DQotICogaW5kaWNhdG9yIG9yIGNvbnRyb2wuDQotICoNCi0gKiBAd2FybmluZyBUaGUgc2l6ZSBwYXNzZWQgbXVzdCBiZSB0aGUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpbmRpY2F0b3IgaW5kaWNhdG9yIG9yIGNvbnRyb2wgZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGFycmF5IG91dHB1dHMgdGhlIGVudGlyZSBhcnJheSB0aGF0IHdhcyByZWFkDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBpbmRpY2F0b3Igb3IgY29udHJvbA0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEFycmF5VTMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGluZGljYXRvciwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QqICAgICAgYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIHNpemUpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGFuIGVudGlyZSBhcnJheSBvZiBzaWduZWQgNjQtYml0IGludGVnZXIgdmFsdWVzIGZyb20gYSBnaXZlbiBhcnJheQ0KLSAqIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBhcnJheSBvdXRwdXRzIHRoZSBlbnRpcmUgYXJyYXkgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBzaXplIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaW5kaWNhdG9yIG9yIGNvbnRyb2wNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRBcnJheUk2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QqICAgICAgIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBzaXplKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBhbiBlbnRpcmUgYXJyYXkgb2YgdW5zaWduZWQgNjQtYml0IGludGVnZXIgdmFsdWVzIGZyb20gYSBnaXZlbiBhcnJheQ0KLSAqIGluZGljYXRvciBvciBjb250cm9sLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBpbmRpY2F0b3Igb3IgY29udHJvbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gaW5kaWNhdG9yIGluZGljYXRvciBvciBjb250cm9sIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBhcnJheSBvdXRwdXRzIHRoZSBlbnRpcmUgYXJyYXkgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBzaXplIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgaW5kaWNhdG9yIG9yIGNvbnRyb2wNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRBcnJheVU2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpbmRpY2F0b3IsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90KiAgICAgIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBzaXplKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYW4gZW50aXJlIGFycmF5IG9mIGJvb2xlYW4gdmFsdWVzIHRvIGEgZ2l2ZW4gYXJyYXkgY29udHJvbCBvcg0KLSAqIGluZGljYXRvci4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBvciBpbmRpY2F0b3IgdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gYXJyYXkgZW50aXJlIGFycmF5IHRvIHdyaXRlDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjb250cm9sIG9yIGluZGljYXRvcg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVBcnJheUJvb2woTmlGcGdhX1Nlc3Npb24gICAgIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgIGNvbnRyb2wsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTmlGcGdhX0Jvb2wqIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgICAgICBzaXplKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYW4gZW50aXJlIGFycmF5IG9mIHNpZ25lZCA4LWJpdCBpbnRlZ2VyIHZhbHVlcyB0byBhIGdpdmVuIGFycmF5DQotICogY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAd2FybmluZyBUaGUgc2l6ZSBwYXNzZWQgbXVzdCBiZSB0aGUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBjb250cm9sIGNvbnRyb2wgb3IgaW5kaWNhdG9yIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGFycmF5IGVudGlyZSBhcnJheSB0byB3cml0ZQ0KLSAqIEBwYXJhbSBzaXplIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgY29udHJvbCBvciBpbmRpY2F0b3INCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlQXJyYXlJOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QqICBhcnJheSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyIHZhbHVlcyB0byBhIGdpdmVuIGFycmF5DQotICogY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAd2FybmluZyBUaGUgc2l6ZSBwYXNzZWQgbXVzdCBiZSB0aGUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBjb250cm9sIGNvbnRyb2wgb3IgaW5kaWNhdG9yIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGFycmF5IGVudGlyZSBhcnJheSB0byB3cml0ZQ0KLSAqIEBwYXJhbSBzaXplIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgY29udHJvbCBvciBpbmRpY2F0b3INCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlQXJyYXlVOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBjb250cm9sLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBhcnJheSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiBzaWduZWQgMTYtYml0IGludGVnZXIgdmFsdWVzIHRvIGEgZ2l2ZW4gYXJyYXkNCi0gKiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBvciBpbmRpY2F0b3IgdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gYXJyYXkgZW50aXJlIGFycmF5IHRvIHdyaXRlDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjb250cm9sIG9yIGluZGljYXRvcg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVBcnJheUkxNihOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgY29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QqIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciB2YWx1ZXMgdG8gYSBnaXZlbiBhcnJheQ0KLSAqIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBhcnJheSBlbnRpcmUgYXJyYXkgdG8gd3JpdGUNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGNvbnRyb2wgb3IgaW5kaWNhdG9yDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUFycmF5VTE2KE5pRnBnYV9TZXNzaW9uICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGNvbnRyb2wsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCogYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiBzaWduZWQgMzItYml0IGludGVnZXIgdmFsdWVzIHRvIGEgZ2l2ZW4gYXJyYXkNCi0gKiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBvciBpbmRpY2F0b3IgdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gYXJyYXkgZW50aXJlIGFycmF5IHRvIHdyaXRlDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjb250cm9sIG9yIGluZGljYXRvcg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVBcnJheUkzMihOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgY29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyX3QqIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCAzMi1iaXQgaW50ZWdlciB2YWx1ZXMgdG8gYSBnaXZlbiBhcnJheQ0KLSAqIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBhcnJheSBlbnRpcmUgYXJyYXkgdG8gd3JpdGUNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGNvbnRyb2wgb3IgaW5kaWNhdG9yDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUFycmF5VTMyKE5pRnBnYV9TZXNzaW9uICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGNvbnRyb2wsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCogYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiBzaWduZWQgNjQtYml0IGludGVnZXIgdmFsdWVzIHRvIGEgZ2l2ZW4gYXJyYXkNCi0gKiBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEB3YXJuaW5nIFRoZSBzaXplIHBhc3NlZCBtdXN0IGJlIHRoZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlDQotICogICAgICAgICAgY29udHJvbCBvciBpbmRpY2F0b3IuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRyb2wgY29udHJvbCBvciBpbmRpY2F0b3IgdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gYXJyYXkgZW50aXJlIGFycmF5IHRvIHdyaXRlDQotICogQHBhcmFtIHNpemUgZXhhY3QgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjb250cm9sIG9yIGluZGljYXRvcg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVBcnJheUk2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgY29udHJvbCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDY0X3QqIGFycmF5LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogV3JpdGVzIGFuIGVudGlyZSBhcnJheSBvZiB1bnNpZ25lZCA2NC1iaXQgaW50ZWdlciB2YWx1ZXMgdG8gYSBnaXZlbiBhcnJheQ0KLSAqIGNvbnRyb2wgb3IgaW5kaWNhdG9yLg0KLSAqDQotICogQHdhcm5pbmcgVGhlIHNpemUgcGFzc2VkIG11c3QgYmUgdGhlIGV4YWN0IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUNCi0gKiAgICAgICAgICBjb250cm9sIG9yIGluZGljYXRvci4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udHJvbCBjb250cm9sIG9yIGluZGljYXRvciB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBhcnJheSBlbnRpcmUgYXJyYXkgdG8gd3JpdGUNCi0gKiBAcGFyYW0gc2l6ZSBleGFjdCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGNvbnRyb2wgb3IgaW5kaWNhdG9yDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUFycmF5VTY0KE5pRnBnYV9TZXNzaW9uICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGNvbnRyb2wsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50NjRfdCogYXJyYXksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgc2l6ZSk7DQotDQotLyoqDQotICogRW51bWVyYXRpb24gb2YgYWxsIDMyIHBvc3NpYmxlIElSUXMuIE11bHRpcGxlIElSUXMgY2FuIGJlIGJpdHdpc2UgT1JlZA0KLSAqIHRvZ2V0aGVyIGxpa2UgdGhpczoNCi0gKg0KLSAqICAgIE5pRnBnYV9JcnFfMyB8IE5pRnBnYV9JcnFfMjMNCi0gKi8NCi10eXBlZGVmIGVudW0NCi17DQotICAgTmlGcGdhX0lycV8wICA9IDEgPDwgMCwNCi0gICBOaUZwZ2FfSXJxXzEgID0gMSA8PCAxLA0KLSAgIE5pRnBnYV9JcnFfMiAgPSAxIDw8IDIsDQotICAgTmlGcGdhX0lycV8zICA9IDEgPDwgMywNCi0gICBOaUZwZ2FfSXJxXzQgID0gMSA8PCA0LA0KLSAgIE5pRnBnYV9JcnFfNSAgPSAxIDw8IDUsDQotICAgTmlGcGdhX0lycV82ICA9IDEgPDwgNiwNCi0gICBOaUZwZ2FfSXJxXzcgID0gMSA8PCA3LA0KLSAgIE5pRnBnYV9JcnFfOCAgPSAxIDw8IDgsDQotICAgTmlGcGdhX0lycV85ICA9IDEgPDwgOSwNCi0gICBOaUZwZ2FfSXJxXzEwID0gMSA8PCAxMCwNCi0gICBOaUZwZ2FfSXJxXzExID0gMSA8PCAxMSwNCi0gICBOaUZwZ2FfSXJxXzEyID0gMSA8PCAxMiwNCi0gICBOaUZwZ2FfSXJxXzEzID0gMSA8PCAxMywNCi0gICBOaUZwZ2FfSXJxXzE0ID0gMSA8PCAxNCwNCi0gICBOaUZwZ2FfSXJxXzE1ID0gMSA8PCAxNSwNCi0gICBOaUZwZ2FfSXJxXzE2ID0gMSA8PCAxNiwNCi0gICBOaUZwZ2FfSXJxXzE3ID0gMSA8PCAxNywNCi0gICBOaUZwZ2FfSXJxXzE4ID0gMSA8PCAxOCwNCi0gICBOaUZwZ2FfSXJxXzE5ID0gMSA8PCAxOSwNCi0gICBOaUZwZ2FfSXJxXzIwID0gMSA8PCAyMCwNCi0gICBOaUZwZ2FfSXJxXzIxID0gMSA8PCAyMSwNCi0gICBOaUZwZ2FfSXJxXzIyID0gMSA8PCAyMiwNCi0gICBOaUZwZ2FfSXJxXzIzID0gMSA8PCAyMywNCi0gICBOaUZwZ2FfSXJxXzI0ID0gMSA8PCAyNCwNCi0gICBOaUZwZ2FfSXJxXzI1ID0gMSA8PCAyNSwNCi0gICBOaUZwZ2FfSXJxXzI2ID0gMSA8PCAyNiwNCi0gICBOaUZwZ2FfSXJxXzI3ID0gMSA8PCAyNywNCi0gICBOaUZwZ2FfSXJxXzI4ID0gMSA8PCAyOCwNCi0gICBOaUZwZ2FfSXJxXzI5ID0gMSA8PCAyOSwNCi0gICBOaUZwZ2FfSXJxXzMwID0gMSA8PCAzMCwNCi0gICBOaUZwZ2FfSXJxXzMxID0gMVUgPDwgMzENCi19IE5pRnBnYV9JcnE7DQotDQotLyoqDQotICogUmVwcmVzZW50cyBhbiBpbmZpbml0ZSB0aW1lb3V0Lg0KLSAqLw0KLXN0YXRpYyBjb25zdCB1aW50MzJfdCBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0ID0gMHhGRkZGRkZGRjsNCi0NCi0vKioNCi0gKiBTZWUgTmlGcGdhX1Jlc2VydmVJcnFDb250ZXh0IGZvciBtb3JlIGluZm9ybWF0aW9uLg0KLSAqLw0KLXR5cGVkZWYgdm9pZCogTmlGcGdhX0lycUNvbnRleHQ7DQotDQotLyoqDQotICogSVJRIGNvbnRleHRzIGFyZSBzaW5nbGUtdGhyZWFkZWQ7IG9ubHkgb25lIHRocmVhZCBjYW4gd2FpdCB3aXRoIGEgcGFydGljdWxhcg0KLSAqIGNvbnRleHQgYXQgYW55IGdpdmVuIHRpbWUuIENsaWVudHMgbXVzdCByZXNlcnZlIGFzIG1hbnkgY29udGV4dHMgYXMgdGhlDQotICogYXBwbGljYXRpb24gcmVxdWlyZXMuDQotICoNCi0gKiBJZiBhIGNvbnRleHQgaXMgc3VjY2Vzc2Z1bGx5IHJlc2VydmVkICh0aGUgcmV0dXJuZWQgc3RhdHVzIGlzIG5vdCBhbiBlcnJvciksDQotICogaXQgbXVzdCBiZSB1bnJlc2VydmVkIGxhdGVyLiBPdGhlcndpc2UgYSBtZW1vcnkgbGVhayB3aWxsIG9jY3VyLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBjb250ZXh0IG91dHB1dHMgdGhlIElSUSBjb250ZXh0DQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZXNlcnZlSXJxQ29udGV4dChOaUZwZ2FfU2Vzc2lvbiAgICAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfSXJxQ29udGV4dCogY29udGV4dCk7DQotDQotLyoqDQotICogVW5yZXNlcnZlcyBhbiBJUlEgY29udGV4dCBvYnRhaW5lZCBmcm9tIE5pRnBnYV9SZXNlcnZlSXJxQ29udGV4dC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gY29udGV4dCBJUlEgY29udGV4dCB0byB1bnJlc2VydmUNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1VucmVzZXJ2ZUlycUNvbnRleHQoTmlGcGdhX1Nlc3Npb24gICAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9JcnFDb250ZXh0IGNvbnRleHQpOw0KLQ0KLS8qKg0KLSAqIFRoaXMgaXMgYSBibG9ja2luZyBmdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBjYWxsaW5nIHRocmVhZCB1bnRpbCB0aGUgRlBHQQ0KLSAqIGFzc2VydHMgYW55IElSUSBpbiB0aGUgaXJxcyBwYXJhbWV0ZXIsIG9yIHVudGlsIHRoZSBmdW5jdGlvbiBjYWxsIHRpbWVzIG91dC4NCi0gKiBCZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB5b3UgbXVzdCB1c2UgTmlGcGdhX1Jlc2VydmVJcnFDb250ZXh0IHRvDQotICogcmVzZXJ2ZSBhbiBJUlEgY29udGV4dC4gTm8gb3RoZXIgdGhyZWFkcyBjYW4gdXNlIHRoZSBzYW1lIGNvbnRleHQgd2hlbiB0aGlzDQotICogZnVuY3Rpb24gaXMgY2FsbGVkLg0KLSAqDQotICogWW91IGNhbiB1c2UgdGhlIGlycXNBc3NlcnRlZCBwYXJhbWV0ZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIElSUXMgd2VyZSBhc3NlcnRlZA0KLSAqIGZvciBlYWNoIGZ1bmN0aW9uIGNhbGwuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGNvbnRleHQgSVJRIGNvbnRleHQgd2l0aCB3aGljaCB0byB3YWl0DQotICogQHBhcmFtIGlycXMgYml0d2lzZSBPUiBvZiBOaUZwZ2FfSXJxcw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGlycXNBc3NlcnRlZCBpZiBub24tTlVMTCwgb3V0cHV0cyBiaXR3aXNlIE9SIG9mIElSUXMgdGhhdCB3ZXJlDQotICogICAgICAgICAgICAgICAgICAgICBhc3NlcnRlZA0KLSAqIEBwYXJhbSB0aW1lZE91dCBpZiBub24tTlVMTCwgb3V0cHV0cyB3aGV0aGVyIHRoZSB0aW1lb3V0IGV4cGlyZWQNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dhaXRPbklycXMoTmlGcGdhX1Nlc3Npb24gICAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9JcnFDb250ZXh0IGNvbnRleHQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICBpcnFzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiAgICAgICAgIGlycXNBc3NlcnRlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9Cb29sKiAgICAgIHRpbWVkT3V0KTsNCi0NCi0vKioNCi0gKiBBY2tub3dsZWRnZXMgYW4gSVJRIG9yIHNldCBvZiBJUlFzLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBpcnFzIGJpdHdpc2UgT1Igb2YgTmlGcGdhX0lycXMNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0Fja25vd2xlZGdlSXJxcyhOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBpcnFzKTsNCi0NCi0vKioNCi0gKiBTcGVjaWZpZXMgdGhlIGRlcHRoIG9mIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTy4gVGhpcyBtZXRob2QgaXMNCi0gKiBvcHRpb25hbC4gSW4gb3JkZXIgdG8gc2VlIHRoZSBhY3R1YWwgZGVwdGggY29uZmlndXJlZCwgdXNlDQotICogTmlGcGdhX0NvbmZpZ3VyZUZpZm8yLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIEZJRk8gdG8gY29uZmlndXJlDQotICogQHBhcmFtIGRlcHRoIHJlcXVlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlDQotICogICAgICAgICAgICAgIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Db25maWd1cmVGaWZvKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgZGVwdGgpOw0KLQ0KLS8qKg0KLSAqIFNwZWNpZmllcyB0aGUgZGVwdGggb2YgdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPLiBUaGlzIG1ldGhvZCBpcw0KLSAqIG9wdGlvbmFsLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIEZJRk8gdG8gY29uZmlndXJlDQotICogQHBhcmFtIHJlcXVlc3RlZERlcHRoIHJlcXVlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIERNQSBGSUZPDQotICogQHBhcmFtIGFjdHVhbERlcHRoIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZQ0KLSAqICAgICAgICAgICAgICAgICAgICBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTywgd2hpY2ggbWF5IGJlIG1vcmUgdGhhbg0KLSAqICAgICAgICAgICAgICAgICAgICB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQ29uZmlndXJlRmlmbzIoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIHJlcXVlc3RlZERlcHRoLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGFjdHVhbERlcHRoKTsNCi0vKioNCi0gKiBTdGFydHMgYSBGSUZPLiBUaGlzIG1ldGhvZCBpcyBvcHRpb25hbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBGSUZPIHRvIHN0YXJ0DQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9TdGFydEZpZm8oTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbyk7DQotDQotLyoqDQotICogU3RvcHMgYSBGSUZPLiBUaGlzIG1ldGhvZCBpcyBvcHRpb25hbC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBGSUZPIHRvIHN0b3ANCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1N0b3BGaWZvKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbyk7DQotDQotLyoqDQotICogUmVhZHMgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2YgYm9vbGVhbnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZGF0YSBvdXRwdXRzIHRoZSBkYXRhIHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmVhZA0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEZpZm9Cb29sKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9Cb29sKiAgIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiBzaWduZWQgOC1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZGF0YSBvdXRwdXRzIHRoZSBkYXRhIHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmVhZA0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEZpZm9JOChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCogICAgICAgIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBudW1iZXJPZkVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiB1bnNpZ25lZCA4LWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBkYXRhIG91dHB1dHMgdGhlIGRhdGEgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byByZWFkDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkRmlmb1U4KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCogICAgICAgZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGZyb20gYSB0YXJnZXQtdG8taG9zdCBGSUZPIG9mIHNpZ25lZCAxNi1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZGF0YSBvdXRwdXRzIHRoZSBkYXRhIHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmVhZA0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEZpZm9JMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqICAgICAgIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgbnVtYmVyT2ZFbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZGF0YSBvdXRwdXRzIHRoZSBkYXRhIHRoYXQgd2FzIHJlYWQNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmVhZA0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfUmVhZEZpZm9VMTYoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90KiAgICAgIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgbnVtYmVyT2ZFbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBSZWFkcyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiBzaWduZWQgMzItYml0IGludGVnZXJzLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIHRhcmdldC10by1ob3N0IEZJRk8gZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGRhdGEgb3V0cHV0cyB0aGUgZGF0YSB0aGF0IHdhcyByZWFkDQotICogQHBhcmFtIG51bWJlck9mRWxlbWVudHMgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHJlYWQNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRGaWZvSTMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90KiAgICAgICBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogUmVhZHMgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2YgdW5zaWduZWQgMzItYml0IGludGVnZXJzLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIHRhcmdldC10by1ob3N0IEZJRk8gZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGRhdGEgb3V0cHV0cyB0aGUgZGF0YSB0aGF0IHdhcyByZWFkDQotICogQHBhcmFtIG51bWJlck9mRWxlbWVudHMgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHJlYWQNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlYWRGaWZvVTMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogICAgICBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogUmVhZHMgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2Ygc2lnbmVkIDY0LWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBkYXRhIG91dHB1dHMgdGhlIGRhdGEgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byByZWFkDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkRmlmb0k2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCogICAgICAgZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBudW1iZXJPZkVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFJlYWRzIGZyb20gYSB0YXJnZXQtdG8taG9zdCBGSUZPIG9mIHVuc2lnbmVkIDY0LWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBkYXRhIG91dHB1dHMgdGhlIGRhdGEgdGhhdCB3YXMgcmVhZA0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byByZWFkDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9SZWFkRmlmb1U2NChOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QqICAgICAgZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBudW1iZXJPZkVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFdyaXRlcyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2YgYm9vbGVhbnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBkYXRhIGRhdGEgdG8gd3JpdGUNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gd3JpdGUNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbXB0eUVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZW1wdHkNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlRmlmb0Jvb2woTmlGcGdhX1Nlc3Npb24gICAgIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE5pRnBnYV9Cb29sKiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICAgICBlbXB0eUVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHNpZ25lZCA4LWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGRhdGEgZGF0YSB0byB3cml0ZQ0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byB3cml0ZQ0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVtcHR5RWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbXB0eQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZg0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVGaWZvSTgoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCogIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgbnVtYmVyT2ZFbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVtcHR5RWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFdyaXRlcyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2YgdW5zaWduZWQgOC1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBkYXRhIGRhdGEgdG8gd3JpdGUNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gd3JpdGUNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbXB0eUVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZW1wdHkNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlRmlmb1U4KE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90KiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbXB0eUVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHNpZ25lZCAxNi1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBkYXRhIGRhdGEgdG8gd3JpdGUNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gd3JpdGUNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbXB0eUVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZW1wdHkNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlRmlmb0kxNihOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90KiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBudW1iZXJPZkVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbXB0eUVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHVuc2lnbmVkIDE2LWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGRhdGEgZGF0YSB0byB3cml0ZQ0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byB3cml0ZQ0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVtcHR5RWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbXB0eQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZg0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVGaWZvVTE2KE5pRnBnYV9TZXNzaW9uICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QqIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgICBudW1iZXJPZkVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgIGVtcHR5RWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFdyaXRlcyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2Ygc2lnbmVkIDMyLWJpdCBpbnRlZ2Vycy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGRhdGEgZGF0YSB0byB3cml0ZQ0KLSAqIEBwYXJhbSBudW1iZXJPZkVsZW1lbnRzIG51bWJlciBvZiBlbGVtZW50cyB0byB3cml0ZQ0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVtcHR5RWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbXB0eQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZg0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfV3JpdGVGaWZvSTMyKE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDMyX3QqIGRhdGEsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVtcHR5RWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFdyaXRlcyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2YgdW5zaWduZWQgMzItYml0IGludGVnZXJzLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIGhvc3QtdG8tdGFyZ2V0IEZJRk8gdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gZGF0YSBkYXRhIHRvIHdyaXRlDQotICogQHBhcmFtIG51bWJlck9mRWxlbWVudHMgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHdyaXRlDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZW1wdHlFbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVtcHR5DQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mDQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUZpZm9VMzIoTmlGcGdhX1Nlc3Npb24gIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCogZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgIG51bWJlck9mRWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgZW1wdHlFbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogV3JpdGVzIHRvIGEgaG9zdC10by10YXJnZXQgRklGTyBvZiBzaWduZWQgNjQtYml0IGludGVnZXJzLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIGhvc3QtdG8tdGFyZ2V0IEZJRk8gdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gZGF0YSBkYXRhIHRvIHdyaXRlDQotICogQHBhcmFtIG51bWJlck9mRWxlbWVudHMgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHdyaXRlDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZW1wdHlFbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVtcHR5DQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHMgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mDQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9Xcml0ZUZpZm9JNjQoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50NjRfdCogZGF0YSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgbnVtYmVyT2ZFbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZW1wdHlFbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogV3JpdGVzIHRvIGEgaG9zdC10by10YXJnZXQgRklGTyBvZiB1bnNpZ25lZCA2NC1iaXQgaW50ZWdlcnMuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBkYXRhIGRhdGEgdG8gd3JpdGUNCi0gKiBAcGFyYW0gbnVtYmVyT2ZFbGVtZW50cyBudW1iZXIgb2YgZWxlbWVudHMgdG8gd3JpdGUNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbXB0eUVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZW1wdHkNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cyByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1dyaXRlRmlmb1U2NChOaUZwZ2FfU2Vzc2lvbiAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ2NF90KiBkYXRhLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgbnVtYmVyT2ZFbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICBlbXB0eUVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3IgcmVhZGluZyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiBib29sZWFucy4NCi0gKg0KLSAqIEFjcXVpcmluZywgcmVhZGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIGNvcHkNCi0gKiB0aGUgY29udGVudHMgb2YgZWxlbWVudHMgZnJvbSB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyIHRvIGEgc2VwYXJhdGUNCi0gKiB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYmVmb3JlIHJlYWRpbmcuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3Qgd3JpdGUgdG8NCi0gKiBlbGVtZW50cyBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMNCi0gKiBhZnRlciByZWFkaW5nIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZQ0KLSAqIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogcmVxdWVzdGVkIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwNCi0gKiBhY3F1aXJlZCBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8NCi0gKiBlbGVtZW50cyBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1JlYWRFbGVtZW50c0Jvb2woDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9Cb29sKiogIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHJlYWRpbmcgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2Ygc2lnbmVkIDgtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHJlYWRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byBjb3B5DQotICogdGhlIGNvbnRlbnRzIG9mIGVsZW1lbnRzIGZyb20gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlciB0byBhIHNlcGFyYXRlDQotICogdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGJlZm9yZSByZWFkaW5nLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHdyaXRlIHRvDQotICogZWxlbWVudHMgYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzDQotICogYWZ0ZXIgcmVhZGluZyB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUNCi0gKiBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIHJlcXVlc3RlZCByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsDQotICogYWNxdWlyZWQgZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPDQotICogZWxlbWVudHMgYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9SZWFkRWxlbWVudHNJOCgNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50OF90KiogICAgICAgZWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgZWxlbWVudHNSZXF1ZXN0ZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c0FjcXVpcmVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3IgcmVhZGluZyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiB1bnNpZ25lZCA4LWJpdA0KLSAqIGludGVnZXJzLg0KLSAqDQotICogQWNxdWlyaW5nLCByZWFkaW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gY29weQ0KLSAqIHRoZSBjb250ZW50cyBvZiBlbGVtZW50cyBmcm9tIHRoZSBob3N0IG1lbW9yeSBidWZmZXIgdG8gYSBzZXBhcmF0ZQ0KLSAqIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBiZWZvcmUgcmVhZGluZy4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCB3cml0ZSB0bw0KLSAqIGVsZW1lbnRzIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cw0KLSAqIGFmdGVyIHJlYWRpbmcgdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlDQotICogbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiByZXF1ZXN0ZWQgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbA0KLSAqIGFjcXVpcmVkIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTw0KLSAqIGVsZW1lbnRzIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIHRhcmdldC10by1ob3N0IEZJRk8gZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvUmVhZEVsZW1lbnRzVTgoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCoqICAgICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHJlYWRpbmcgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2Ygc2lnbmVkIDE2LWJpdA0KLSAqIGludGVnZXJzLg0KLSAqDQotICogQWNxdWlyaW5nLCByZWFkaW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gY29weQ0KLSAqIHRoZSBjb250ZW50cyBvZiBlbGVtZW50cyBmcm9tIHRoZSBob3N0IG1lbW9yeSBidWZmZXIgdG8gYSBzZXBhcmF0ZQ0KLSAqIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBiZWZvcmUgcmVhZGluZy4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCB3cml0ZSB0bw0KLSAqIGVsZW1lbnRzIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cw0KLSAqIGFmdGVyIHJlYWRpbmcgdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlDQotICogbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiByZXF1ZXN0ZWQgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbA0KLSAqIGFjcXVpcmVkIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTw0KLSAqIGVsZW1lbnRzIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIHRhcmdldC10by1ob3N0IEZJRk8gZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvUmVhZEVsZW1lbnRzSTE2KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDE2X3QqKiAgICAgICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIEFjcXVpcmVzIGVsZW1lbnRzIGZvciByZWFkaW5nIGZyb20gYSB0YXJnZXQtdG8taG9zdCBGSUZPIG9mIHVuc2lnbmVkIDE2LWJpdA0KLSAqIGludGVnZXJzLg0KLSAqDQotICogQWNxdWlyaW5nLCByZWFkaW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gY29weQ0KLSAqIHRoZSBjb250ZW50cyBvZiBlbGVtZW50cyBmcm9tIHRoZSBob3N0IG1lbW9yeSBidWZmZXIgdG8gYSBzZXBhcmF0ZQ0KLSAqIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBiZWZvcmUgcmVhZGluZy4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCB3cml0ZSB0bw0KLSAqIGVsZW1lbnRzIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cw0KLSAqIGFmdGVyIHJlYWRpbmcgdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlDQotICogbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiByZXF1ZXN0ZWQgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbA0KLSAqIGFjcXVpcmVkIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTw0KLSAqIGVsZW1lbnRzIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIHRhcmdldC10by1ob3N0IEZJRk8gZnJvbSB3aGljaCB0byByZWFkDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvUmVhZEVsZW1lbnRzVTE2KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiAgIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqKiAgICAgICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIEFjcXVpcmVzIGVsZW1lbnRzIGZvciByZWFkaW5nIGZyb20gYSB0YXJnZXQtdG8taG9zdCBGSUZPIG9mIHNpZ25lZCAzMi1iaXQNCi0gKiBpbnRlZ2Vycy4NCi0gKg0KLSAqIEFjcXVpcmluZywgcmVhZGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIGNvcHkNCi0gKiB0aGUgY29udGVudHMgb2YgZWxlbWVudHMgZnJvbSB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyIHRvIGEgc2VwYXJhdGUNCi0gKiB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYmVmb3JlIHJlYWRpbmcuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3Qgd3JpdGUgdG8NCi0gKiBlbGVtZW50cyBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMNCi0gKiBhZnRlciByZWFkaW5nIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZQ0KLSAqIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogcmVxdWVzdGVkIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwNCi0gKiBhY3F1aXJlZCBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8NCi0gKiBlbGVtZW50cyBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1JlYWRFbGVtZW50c0kzMigNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90KiogICAgICAgZWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgZWxlbWVudHNSZXF1ZXN0ZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICBlbGVtZW50c0FjcXVpcmVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3IgcmVhZGluZyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiB1bnNpZ25lZCAzMi1iaXQNCi0gKiBpbnRlZ2Vycy4NCi0gKg0KLSAqIEFjcXVpcmluZywgcmVhZGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIGNvcHkNCi0gKiB0aGUgY29udGVudHMgb2YgZWxlbWVudHMgZnJvbSB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyIHRvIGEgc2VwYXJhdGUNCi0gKiB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYmVmb3JlIHJlYWRpbmcuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3Qgd3JpdGUgdG8NCi0gKiBlbGVtZW50cyBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMNCi0gKiBhZnRlciByZWFkaW5nIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZQ0KLSAqIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogcmVxdWVzdGVkIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwNCi0gKiBhY3F1aXJlZCBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8NCi0gKiBlbGVtZW50cyBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyB0YXJnZXQtdG8taG9zdCBGSUZPIGZyb20gd2hpY2ggdG8gcmVhZA0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1JlYWRFbGVtZW50c1UzMigNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gICBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiogICAgICAgZWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgICAgZWxlbWVudHNSZXF1ZXN0ZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgICBlbGVtZW50c0FjcXVpcmVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3IgcmVhZGluZyBmcm9tIGEgdGFyZ2V0LXRvLWhvc3QgRklGTyBvZiBzaWduZWQgNjQtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHJlYWRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byBjb3B5DQotICogdGhlIGNvbnRlbnRzIG9mIGVsZW1lbnRzIGZyb20gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlciB0byBhIHNlcGFyYXRlDQotICogdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGJlZm9yZSByZWFkaW5nLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHdyaXRlIHRvDQotICogZWxlbWVudHMgYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzDQotICogYWZ0ZXIgcmVhZGluZyB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUNCi0gKiBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIHJlcXVlc3RlZCByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsDQotICogYWNxdWlyZWQgZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPDQotICogZWxlbWVudHMgYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9SZWFkRWxlbWVudHNJNjQoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCoqICAgICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHJlYWRpbmcgZnJvbSBhIHRhcmdldC10by1ob3N0IEZJRk8gb2YgdW5zaWduZWQgNjQtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHJlYWRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byBjb3B5DQotICogdGhlIGNvbnRlbnRzIG9mIGVsZW1lbnRzIGZyb20gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlciB0byBhIHNlcGFyYXRlDQotICogdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGJlZm9yZSByZWFkaW5nLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHdyaXRlIHRvDQotICogZWxlbWVudHMgYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzDQotICogYWZ0ZXIgcmVhZGluZyB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUNCi0gKiBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIHJlcXVlc3RlZCByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsDQotICogYWNxdWlyZWQgZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPDQotICogZWxlbWVudHMgYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gdGFyZ2V0LXRvLWhvc3QgRklGTyBmcm9tIHdoaWNoIHRvIHJlYWQNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9SZWFkRWxlbWVudHNVNjQoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uICAgc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCoqICAgICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHdyaXRpbmcgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIGJvb2xlYW5zLg0KLSAqDQotICogQWNxdWlyaW5nLCB3cml0aW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gd3JpdGUNCi0gKiBmaXJzdCBpbnRvIGEgc2VwYXJhdGUgdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGFuZCB0aGVuIGNvcHkgdGhlIGNvbnRlbnRzIG9mDQotICogZWxlbWVudHMgdG8gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCByZWFkIGVsZW1lbnRzDQotICogYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzIGFmdGVyDQotICogd3JpdGluZyB0byB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUgbnVtYmVyDQotICogb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQNCi0gKiByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsIGFjcXVpcmVkDQotICogZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPIGVsZW1lbnRzDQotICogYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1dyaXRlRWxlbWVudHNCb29sKA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfQm9vbCoqICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIEFjcXVpcmVzIGVsZW1lbnRzIGZvciB3cml0aW5nIHRvIGEgaG9zdC10by10YXJnZXQgRklGTyBvZiBzaWduZWQgOC1iaXQNCi0gKiBpbnRlZ2Vycy4NCi0gKg0KLSAqIEFjcXVpcmluZywgd3JpdGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIHdyaXRlDQotICogZmlyc3QgaW50byBhIHNlcGFyYXRlIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBhbmQgdGhlbiBjb3B5IHRoZSBjb250ZW50cyBvZg0KLSAqIGVsZW1lbnRzIHRvIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3QgcmVhZCBlbGVtZW50cw0KLSAqIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cyBhZnRlcg0KLSAqIHdyaXRpbmcgdG8gdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlIG51bWJlcg0KLSAqIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkDQotICogcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbCBhY3F1aXJlZA0KLSAqIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTyBlbGVtZW50cw0KLSAqIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIGhvc3QtdG8tdGFyZ2V0IEZJRk8gdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9Xcml0ZUVsZW1lbnRzSTgoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDhfdCoqICAgICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHdyaXRpbmcgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHVuc2lnbmVkIDgtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHdyaXRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byB3cml0ZQ0KLSAqIGZpcnN0IGludG8gYSBzZXBhcmF0ZSB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYW5kIHRoZW4gY29weSB0aGUgY29udGVudHMgb2YNCi0gKiBlbGVtZW50cyB0byB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHJlYWQgZWxlbWVudHMNCi0gKiBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMgYWZ0ZXINCi0gKiB3cml0aW5nIHRvIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZSBudW1iZXINCi0gKiBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZA0KLSAqIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwgYWNxdWlyZWQNCi0gKiBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8gZWxlbWVudHMNCi0gKiBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvV3JpdGVFbGVtZW50c1U4KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90KiogICAgICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIEFjcXVpcmVzIGVsZW1lbnRzIGZvciB3cml0aW5nIHRvIGEgaG9zdC10by10YXJnZXQgRklGTyBvZiBzaWduZWQgMTYtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHdyaXRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byB3cml0ZQ0KLSAqIGZpcnN0IGludG8gYSBzZXBhcmF0ZSB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYW5kIHRoZW4gY29weSB0aGUgY29udGVudHMgb2YNCi0gKiBlbGVtZW50cyB0byB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHJlYWQgZWxlbWVudHMNCi0gKiBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMgYWZ0ZXINCi0gKiB3cml0aW5nIHRvIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZSBudW1iZXINCi0gKiBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZA0KLSAqIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwgYWNxdWlyZWQNCi0gKiBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8gZWxlbWVudHMNCi0gKiBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvV3JpdGVFbGVtZW50c0kxNigNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MTZfdCoqICAgICAgZWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgZWxlbWVudHNSZXF1ZXN0ZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c0FjcXVpcmVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3Igd3JpdGluZyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2YgdW5zaWduZWQgMTYtYml0DQotICogaW50ZWdlcnMuDQotICoNCi0gKiBBY3F1aXJpbmcsIHdyaXRpbmcsIGFuZCByZWxlYXNpbmcgRklGTyBlbGVtZW50cyBwcmV2ZW50cyB0aGUgbmVlZCB0byB3cml0ZQ0KLSAqIGZpcnN0IGludG8gYSBzZXBhcmF0ZSB1c2VyLWFsbG9jYXRlZCBidWZmZXIgYW5kIHRoZW4gY29weSB0aGUgY29udGVudHMgb2YNCi0gKiBlbGVtZW50cyB0byB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBUaGUgRlBHQSB0YXJnZXQgY2Fubm90IHJlYWQgZWxlbWVudHMNCi0gKiBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUgaG9zdCBtdXN0IHJlbGVhc2UgZWxlbWVudHMgYWZ0ZXINCi0gKiB3cml0aW5nIHRvIHRoZW0uIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQgbWF5IGRpZmZlciBmcm9tIHRoZSBudW1iZXINCi0gKiBvZiBlbGVtZW50cyByZXF1ZXN0ZWQgaWYsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHJlcXVlc3RlZA0KLSAqIHJlYWNoZXMgdGhlIGVuZCBvZiB0aGUgaG9zdCBtZW1vcnkgYnVmZmVyLiBBbHdheXMgcmVsZWFzZSBhbGwgYWNxdWlyZWQNCi0gKiBlbGVtZW50cyBiZWZvcmUgY2xvc2luZyB0aGUgc2Vzc2lvbi4gRG8gbm90IGF0dGVtcHQgdG8gYWNjZXNzIEZJRk8gZWxlbWVudHMNCi0gKiBhZnRlciB0aGUgZWxlbWVudHMgYXJlIHJlbGVhc2VkIG9yIHRoZSBzZXNzaW9uIGlzIGNsb3NlZC4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBob3N0LXRvLXRhcmdldCBGSUZPIHRvIHdoaWNoIHRvIHdyaXRlDQotICogQHBhcmFtIGVsZW1lbnRzIG91dHB1dHMgYSBwb2ludGVyIHRvIHRoZSBlbGVtZW50cyBhY3F1aXJlZA0KLSAqIEBwYXJhbSBlbGVtZW50c1JlcXVlc3RlZCByZXFlc3RlZCBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiBAcGFyYW0gdGltZW91dCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcywgb3IgTmlGcGdhX0luZmluaXRlVGltZW91dA0KLSAqIEBwYXJhbSBlbGVtZW50c0FjcXVpcmVkIGFjdHVhbCBudW1iZXIgb2YgZWxlbWVudHMgYWNxdWlyZWQsIHdoaWNoIG1heSBiZQ0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGxlc3MgdGhhbiB0aGUgcmVxdWVzdGVkIG51bWJlcg0KLSAqIEBwYXJhbSBlbGVtZW50c1JlbWFpbmluZyBpZiBub24tTlVMTCwgb3V0cHV0cyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyBpbiB0aGUgaG9zdCBtZW1vcnkgcGFydCBvZiB0aGUgRE1BIEZJRk8NCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0FjcXVpcmVGaWZvV3JpdGVFbGVtZW50c1UxNigNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOaUZwZ2FfU2Vzc2lvbiBzZXNzaW9uLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QqKiAgICAgZWxlbWVudHMsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICAgICAgICAgZWxlbWVudHNSZXF1ZXN0ZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c0FjcXVpcmVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzUmVtYWluaW5nKTsNCi0NCi0vKioNCi0gKiBBY3F1aXJlcyBlbGVtZW50cyBmb3Igd3JpdGluZyB0byBhIGhvc3QtdG8tdGFyZ2V0IEZJRk8gb2Ygc2lnbmVkIDMyLWJpdA0KLSAqIGludGVnZXJzLg0KLSAqDQotICogQWNxdWlyaW5nLCB3cml0aW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gd3JpdGUNCi0gKiBmaXJzdCBpbnRvIGEgc2VwYXJhdGUgdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGFuZCB0aGVuIGNvcHkgdGhlIGNvbnRlbnRzIG9mDQotICogZWxlbWVudHMgdG8gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCByZWFkIGVsZW1lbnRzDQotICogYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzIGFmdGVyDQotICogd3JpdGluZyB0byB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUgbnVtYmVyDQotICogb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQNCi0gKiByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsIGFjcXVpcmVkDQotICogZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPIGVsZW1lbnRzDQotICogYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1dyaXRlRWxlbWVudHNJMzIoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QqKiAgICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHdyaXRpbmcgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHVuc2lnbmVkIDMyLWJpdA0KLSAqIGludGVnZXJzLg0KLSAqDQotICogQWNxdWlyaW5nLCB3cml0aW5nLCBhbmQgcmVsZWFzaW5nIEZJRk8gZWxlbWVudHMgcHJldmVudHMgdGhlIG5lZWQgdG8gd3JpdGUNCi0gKiBmaXJzdCBpbnRvIGEgc2VwYXJhdGUgdXNlci1hbGxvY2F0ZWQgYnVmZmVyIGFuZCB0aGVuIGNvcHkgdGhlIGNvbnRlbnRzIG9mDQotICogZWxlbWVudHMgdG8gdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gVGhlIEZQR0EgdGFyZ2V0IGNhbm5vdCByZWFkIGVsZW1lbnRzDQotICogYWNxdWlyZWQgYnkgdGhlIGhvc3QuIFRoZXJlZm9yZSwgdGhlIGhvc3QgbXVzdCByZWxlYXNlIGVsZW1lbnRzIGFmdGVyDQotICogd3JpdGluZyB0byB0aGVtLiBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkIG1heSBkaWZmZXIgZnJvbSB0aGUgbnVtYmVyDQotICogb2YgZWxlbWVudHMgcmVxdWVzdGVkIGlmLCBmb3IgZXhhbXBsZSwgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1ZXN0ZWQNCi0gKiByZWFjaGVzIHRoZSBlbmQgb2YgdGhlIGhvc3QgbWVtb3J5IGJ1ZmZlci4gQWx3YXlzIHJlbGVhc2UgYWxsIGFjcXVpcmVkDQotICogZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPIGVsZW1lbnRzDQotICogYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gaG9zdC10by10YXJnZXQgRklGTyB0byB3aGljaCB0byB3cml0ZQ0KLSAqIEBwYXJhbSBlbGVtZW50cyBvdXRwdXRzIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudHMgYWNxdWlyZWQNCi0gKiBAcGFyYW0gZWxlbWVudHNSZXF1ZXN0ZWQgcmVxZXN0ZWQgbnVtYmVyIG9mIGVsZW1lbnRzDQotICogQHBhcmFtIHRpbWVvdXQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMsIG9yIE5pRnBnYV9JbmZpbml0ZVRpbWVvdXQNCi0gKiBAcGFyYW0gZWxlbWVudHNBY3F1aXJlZCBhY3R1YWwgbnVtYmVyIG9mIGVsZW1lbnRzIGFjcXVpcmVkLCB3aGljaCBtYXkgYmUNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICBsZXNzIHRoYW4gdGhlIHJlcXVlc3RlZCBudW1iZXINCi0gKiBAcGFyYW0gZWxlbWVudHNSZW1haW5pbmcgaWYgbm9uLU5VTEwsIG91dHB1dHMgdGhlIG51bWJlciBvZiBlbGVtZW50cw0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgaW4gdGhlIGhvc3QgbWVtb3J5IHBhcnQgb2YgdGhlIERNQSBGSUZPDQotICogQHJldHVybiByZXN1bHQgb2YgdGhlIGNhbGwNCi0gKi8NCi1OaUZwZ2FfU3RhdHVzIE5pRnBnYV9BY3F1aXJlRmlmb1dyaXRlRWxlbWVudHNVMzIoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICBmaWZvLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90KiogICAgIGVsZW1lbnRzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCAgICAgICAgIGVsZW1lbnRzUmVxdWVzdGVkLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIHRpbWVvdXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNBY3F1aXJlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqICAgICAgICBlbGVtZW50c1JlbWFpbmluZyk7DQotDQotLyoqDQotICogQWNxdWlyZXMgZWxlbWVudHMgZm9yIHdyaXRpbmcgdG8gYSBob3N0LXRvLXRhcmdldCBGSUZPIG9mIHNpZ25lZCA2NC1iaXQNCi0gKiBpbnRlZ2Vycy4NCi0gKg0KLSAqIEFjcXVpcmluZywgd3JpdGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIHdyaXRlDQotICogZmlyc3QgaW50byBhIHNlcGFyYXRlIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBhbmQgdGhlbiBjb3B5IHRoZSBjb250ZW50cyBvZg0KLSAqIGVsZW1lbnRzIHRvIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3QgcmVhZCBlbGVtZW50cw0KLSAqIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cyBhZnRlcg0KLSAqIHdyaXRpbmcgdG8gdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlIG51bWJlcg0KLSAqIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkDQotICogcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbCBhY3F1aXJlZA0KLSAqIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTyBlbGVtZW50cw0KLSAqIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIGhvc3QtdG8tdGFyZ2V0IEZJRk8gdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9Xcml0ZUVsZW1lbnRzSTY0KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90KiogICAgICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIEFjcXVpcmVzIGVsZW1lbnRzIGZvciB3cml0aW5nIHRvIGEgaG9zdC10by10YXJnZXQgRklGTyBvZiB1bnNpZ25lZCA2NC1iaXQNCi0gKiBpbnRlZ2Vycy4NCi0gKg0KLSAqIEFjcXVpcmluZywgd3JpdGluZywgYW5kIHJlbGVhc2luZyBGSUZPIGVsZW1lbnRzIHByZXZlbnRzIHRoZSBuZWVkIHRvIHdyaXRlDQotICogZmlyc3QgaW50byBhIHNlcGFyYXRlIHVzZXItYWxsb2NhdGVkIGJ1ZmZlciBhbmQgdGhlbiBjb3B5IHRoZSBjb250ZW50cyBvZg0KLSAqIGVsZW1lbnRzIHRvIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIFRoZSBGUEdBIHRhcmdldCBjYW5ub3QgcmVhZCBlbGVtZW50cw0KLSAqIGFjcXVpcmVkIGJ5IHRoZSBob3N0LiBUaGVyZWZvcmUsIHRoZSBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cyBhZnRlcg0KLSAqIHdyaXRpbmcgdG8gdGhlbS4gVGhlIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCBtYXkgZGlmZmVyIGZyb20gdGhlIG51bWJlcg0KLSAqIG9mIGVsZW1lbnRzIHJlcXVlc3RlZCBpZiwgZm9yIGV4YW1wbGUsIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgcmVxdWVzdGVkDQotICogcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBob3N0IG1lbW9yeSBidWZmZXIuIEFsd2F5cyByZWxlYXNlIGFsbCBhY3F1aXJlZA0KLSAqIGVsZW1lbnRzIGJlZm9yZSBjbG9zaW5nIHRoZSBzZXNzaW9uLiBEbyBub3QgYXR0ZW1wdCB0byBhY2Nlc3MgRklGTyBlbGVtZW50cw0KLSAqIGFmdGVyIHRoZSBlbGVtZW50cyBhcmUgcmVsZWFzZWQgb3IgdGhlIHNlc3Npb24gaXMgY2xvc2VkLg0KLSAqDQotICogQHBhcmFtIHNlc3Npb24gaGFuZGxlIHRvIGEgY3VycmVudGx5IG9wZW4gc2Vzc2lvbg0KLSAqIEBwYXJhbSBmaWZvIGhvc3QtdG8tdGFyZ2V0IEZJRk8gdG8gd2hpY2ggdG8gd3JpdGUNCi0gKiBAcGFyYW0gZWxlbWVudHMgb3V0cHV0cyBhIHBvaW50ZXIgdG8gdGhlIGVsZW1lbnRzIGFjcXVpcmVkDQotICogQHBhcmFtIGVsZW1lbnRzUmVxdWVzdGVkIHJlcWVzdGVkIG51bWJlciBvZiBlbGVtZW50cw0KLSAqIEBwYXJhbSB0aW1lb3V0IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzLCBvciBOaUZwZ2FfSW5maW5pdGVUaW1lb3V0DQotICogQHBhcmFtIGVsZW1lbnRzQWNxdWlyZWQgYWN0dWFsIG51bWJlciBvZiBlbGVtZW50cyBhY3F1aXJlZCwgd2hpY2ggbWF5IGJlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgbGVzcyB0aGFuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyDQotICogQHBhcmFtIGVsZW1lbnRzUmVtYWluaW5nIGlmIG5vbi1OVUxMLCBvdXRwdXRzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nIGluIHRoZSBob3N0IG1lbW9yeSBwYXJ0IG9mIHRoZSBETUEgRklGTw0KLSAqIEByZXR1cm4gcmVzdWx0IG9mIHRoZSBjYWxsDQotICovDQotTmlGcGdhX1N0YXR1cyBOaUZwZ2FfQWNxdWlyZUZpZm9Xcml0ZUVsZW1lbnRzVTY0KA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uIHNlc3Npb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgZmlmbywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCoqICAgICBlbGVtZW50cywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBlbGVtZW50c1JlcXVlc3RlZCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogICAgICAgIGVsZW1lbnRzQWNxdWlyZWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiAgICAgICAgZWxlbWVudHNSZW1haW5pbmcpOw0KLQ0KLS8qKg0KLSAqIFJlbGVhc2VzIHByZXZpb3VzbHkgYWNxdWlyZWQgRklGTyBlbGVtZW50cy4NCi0gKg0KLSAqIFRoZSBGUEdBIHRhcmdldCBjYW5ub3QgcmVhZCBlbGVtZW50cyBhY3F1aXJlZCBieSB0aGUgaG9zdC4gVGhlcmVmb3JlLCB0aGUNCi0gKiBob3N0IG11c3QgcmVsZWFzZSBlbGVtZW50cyBhZnRlciBhY3F1aXJpbmcgdGhlbS4gQWx3YXlzIHJlbGVhc2UgYWxsIGFjcXVpcmVkDQotICogZWxlbWVudHMgYmVmb3JlIGNsb3NpbmcgdGhlIHNlc3Npb24uIERvIG5vdCBhdHRlbXB0IHRvIGFjY2VzcyBGSUZPIGVsZW1lbnRzDQotICogYWZ0ZXIgdGhlIGVsZW1lbnRzIGFyZSByZWxlYXNlZCBvciB0aGUgc2Vzc2lvbiBpcyBjbG9zZWQuDQotICoNCi0gKiBAcGFyYW0gc2Vzc2lvbiBoYW5kbGUgdG8gYSBjdXJyZW50bHkgb3BlbiBzZXNzaW9uDQotICogQHBhcmFtIGZpZm8gRklGTyBmcm9tIHdoaWNoIHRvIHJlbGVhc2UgZWxlbWVudHMNCi0gKiBAcGFyYW0gZWxlbWVudHMgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHJlbGVhc2UNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX1JlbGVhc2VGaWZvRWxlbWVudHMoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgICAgICAgICBlbGVtZW50cyk7DQotDQotLyoqDQotICogR2V0cyBhbiBlbmRwb2ludCByZWZlcmVuY2UgdG8gYSBwZWVyLXRvLXBlZXIgRklGTy4NCi0gKg0KLSAqIEBwYXJhbSBzZXNzaW9uIGhhbmRsZSB0byBhIGN1cnJlbnRseSBvcGVuIHNlc3Npb24NCi0gKiBAcGFyYW0gZmlmbyBwZWVyLXRvLXBlZXIgRklGTw0KLSAqIEBwYXJhbSBlbmRwb2ludCBvdXRwdXRzIHRoZSBlbmRwb2ludCByZWZlcmVuY2UNCi0gKiBAcmV0dXJuIHJlc3VsdCBvZiB0aGUgY2FsbA0KLSAqLw0KLU5pRnBnYV9TdGF0dXMgTmlGcGdhX0dldFBlZXJUb1BlZXJGaWZvRW5kcG9pbnQoTmlGcGdhX1Nlc3Npb24gc2Vzc2lvbiwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgIGZpZm8sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCogICAgICBlbmRwb2ludCk7DQotDQotI2lmIE5pRnBnYV9DcHANCi19DQotI2VuZGlmDQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC9OaVJpby5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC9OaVJpby5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZWYwZDZjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvTmlSaW8uaAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0NCi0jaWZuZGVmIF9fTmlSaW9faF9fDQotI2RlZmluZSBfX05pUmlvX2hfXw0KLQ0KLSNpbmNsdWRlICJOaUZwZ2EuaCINCi10eXBlZGVmIE5pRnBnYV9TdGF0dXMgdFJpb1N0YXR1c0NvZGU7DQotDQotI2VuZGlmIC8vIF9fTmlSaW9faF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QUkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEFJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkMzg5OWEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QUkuaAorKysgL2Rldi9udWxsCkBAIC0xLDEzOCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9BSV9oX18NCi0jZGVmaW5lIF9fbkZSQ18yMDEyXzFfNl80X0FJX2hfXw0KLQ0KLSNpbmNsdWRlICJ0U3lzdGVtSW50ZXJmYWNlLmgiDQotDQotbmFtZXNwYWNlIG5GUEdBDQotew0KLW5hbWVzcGFjZSBuRlJDXzIwMTJfMV82XzQNCi17DQotDQotY2xhc3MgdEFJDQotew0KLXB1YmxpYzoNCi0gICB0QUkoKXt9DQotICAgdmlydHVhbCB+dEFJKCl7fQ0KLQ0KLSAgIHZpcnR1YWwgdFN5c3RlbUludGVyZmFjZSogZ2V0U3lzdGVtSW50ZXJmYWNlKCkgPSAwOw0KLSAgIHN0YXRpYyB0QUkqIGNyZWF0ZSh1bnNpZ25lZCBjaGFyIHN5c19pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIGdldFN5c3RlbUluZGV4KCkgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDIsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBDaGFubmVsIDogMzsNCi0gICAgICAgICB1bnNpZ25lZCBNb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEF2ZXJhZ2VkIDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDU7DQotICAgICAgfTsNCi0gICB9IHRSZWFkU2VsZWN0Ow0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgU2NhblNpemUgOiAzOw0KLSAgICAgICAgIHVuc2lnbmVkIENvbnZlcnRSYXRlIDogMjY7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAyOTsNCi0gICAgICB9Ow0KLSAgIH0gdENvbmZpZzsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0Q29uZmlnX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZyh0Q29uZmlnIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX1NjYW5TaXplKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQ29udmVydFJhdGUodW5zaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB0Q29uZmlnIHJlYWRDb25maWcodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX1NjYW5TaXplKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkQ29uZmlnX0NvbnZlcnRSYXRlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bVNjYW5MaXN0RWxlbWVudHMgPSA4LA0KLSAgIH0gdFNjYW5MaXN0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVNjYW5MaXN0KHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZFNjYW5MaXN0KHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0TG9vcFRpbWluZ19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkTG9vcFRpbWluZyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1BdmVyYWdlQml0c0VsZW1lbnRzID0gOCwNCi0gICB9IHRBdmVyYWdlQml0c19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVBdmVyYWdlQml0cyh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRBdmVyYWdlQml0cyh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1PdmVyc2FtcGxlQml0c0VsZW1lbnRzID0gOCwNCi0gICB9IHRPdmVyc2FtcGxlQml0c19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVPdmVyc2FtcGxlQml0cyh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRPdmVyc2FtcGxlQml0cyh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdE91dHB1dF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHNpZ25lZCBpbnQgcmVhZE91dHB1dCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFJlYWRTZWxlY3RfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlUmVhZFNlbGVjdCh0UmVhZFNlbGVjdCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVJlYWRTZWxlY3RfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlUmVhZFNlbGVjdF9Nb2R1bGUodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVJlYWRTZWxlY3RfQXZlcmFnZWQoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdFJlYWRTZWxlY3QgcmVhZFJlYWRTZWxlY3QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkUmVhZFNlbGVjdF9DaGFubmVsKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZFJlYWRTZWxlY3RfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZFJlYWRTZWxlY3RfQXZlcmFnZWQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRMYXRjaE91dHB1dF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgc3Ryb2JlTGF0Y2hPdXRwdXQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLQ0KLQ0KLXByaXZhdGU6DQotICAgdEFJKGNvbnN0IHRBSSYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRBSSYpOw0KLX07DQotDQotfQ0KLX0NCi0NCi0jZW5kaWYgLy8gX19uRlJDXzIwMTJfMV82XzRfQUlfaF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QWNjdW11bGF0b3IuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEFjY3VtdWxhdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NzlhODkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QWNjdW11bGF0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgTmF0aW9uYWwgSW5zdHJ1bWVudHMgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQotLy8gRG8gTm90IEVkaXQuLi4gdGhpcyBmaWxlIGlzIGdlbmVyYXRlZCENCi0NCi0jaWZuZGVmIF9fbkZSQ18yMDEyXzFfNl80X0FjY3VtdWxhdG9yX2hfXw0KLSNkZWZpbmUgX19uRlJDXzIwMTJfMV82XzRfQWNjdW11bGF0b3JfaF9fDQotDQotI2luY2x1ZGUgInRTeXN0ZW1JbnRlcmZhY2UuaCINCi0NCi1uYW1lc3BhY2UgbkZQR0ENCi17DQotbmFtZXNwYWNlIG5GUkNfMjAxMl8xXzZfNA0KLXsNCi0NCi1jbGFzcyB0QWNjdW11bGF0b3INCi17DQotcHVibGljOg0KLSAgIHRBY2N1bXVsYXRvcigpe30NCi0gICB2aXJ0dWFsIH50QWNjdW11bGF0b3IoKXt9DQotDQotICAgdmlydHVhbCB0U3lzdGVtSW50ZXJmYWNlKiBnZXRTeXN0ZW1JbnRlcmZhY2UoKSA9IDA7DQotICAgc3RhdGljIHRBY2N1bXVsYXRvciogY3JlYXRlKHVuc2lnbmVkIGNoYXIgc3lzX2luZGV4LCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgZ2V0U3lzdGVtSW5kZXgoKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1TeXN0ZW1zID0gMiwNCi0gICB9IHRJZmFjZUNvbnN0YW50czsNCi0NCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHNpZ25lZCBsb25nIGxvbmcgVmFsdWU7DQotICAgICAgICAgdW5zaWduZWQgQ291bnQgOiAzMjsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDMyOw0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlMiA6IDMyOw0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlMyA6IDMyOw0KLSAgICAgIH07DQotICAgfSB0T3V0cHV0Ow0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRPdXRwdXRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB0T3V0cHV0IHJlYWRPdXRwdXQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgc2lnbmVkIGxvbmcgbG9uZyByZWFkT3V0cHV0X1ZhbHVlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkT3V0cHV0X0NvdW50KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0Q2VudGVyX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNlbnRlcihzaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBzaWduZWQgaW50IHJlYWRDZW50ZXIodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRSZXNldF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgc3Ryb2JlUmVzZXQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHREZWFkYmFuZF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVEZWFkYmFuZChzaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBzaWduZWQgaW50IHJlYWREZWFkYmFuZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotDQotDQotDQotcHJpdmF0ZToNCi0gICB0QWNjdW11bGF0b3IoY29uc3QgdEFjY3VtdWxhdG9yJik7DQotICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgdEFjY3VtdWxhdG9yJik7DQotfTsNCi0NCi19DQotfQ0KLQ0KLSNlbmRpZiAvLyBfX25GUkNfMjAxMl8xXzZfNF9BY2N1bXVsYXRvcl9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RBbGFybS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QWxhcm0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdhNjhlOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RBbGFybS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0vLyBEbyBOb3QgRWRpdC4uLiB0aGlzIGZpbGUgaXMgZ2VuZXJhdGVkIQ0KLQ0KLSNpZm5kZWYgX19uRlJDXzIwMTJfMV82XzRfQWxhcm1faF9fDQotI2RlZmluZSBfX25GUkNfMjAxMl8xXzZfNF9BbGFybV9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRBbGFybQ0KLXsNCi1wdWJsaWM6DQotICAgdEFsYXJtKCl7fQ0KLSAgIHZpcnR1YWwgfnRBbGFybSgpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdEFsYXJtKiBjcmVhdGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1TeXN0ZW1zID0gMSwNCi0gICB9IHRJZmFjZUNvbnN0YW50czsNCi0NCi0NCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0VHJpZ2dlclRpbWVfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlVHJpZ2dlclRpbWUodW5zaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZFRyaWdnZXJUaW1lKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0RW5hYmxlX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUVuYWJsZShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRFbmFibGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLQ0KLQ0KLXByaXZhdGU6DQotICAgdEFsYXJtKGNvbnN0IHRBbGFybSYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRBbGFybSYpOw0KLX07DQotDQotfQ0KLX0NCi0NCi0jZW5kaWYgLy8gX19uRlJDXzIwMTJfMV82XzRfQWxhcm1faF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QW5hbG9nVHJpZ2dlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90QW5hbG9nVHJpZ2dlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGM1MDM5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEFuYWxvZ1RyaWdnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9BbmFsb2dUcmlnZ2VyX2hfXw0KLSNkZWZpbmUgX19uRlJDXzIwMTJfMV82XzRfQW5hbG9nVHJpZ2dlcl9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRBbmFsb2dUcmlnZ2VyDQotew0KLXB1YmxpYzoNCi0gICB0QW5hbG9nVHJpZ2dlcigpe30NCi0gICB2aXJ0dWFsIH50QW5hbG9nVHJpZ2dlcigpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdEFuYWxvZ1RyaWdnZXIqIGNyZWF0ZSh1bnNpZ25lZCBjaGFyIHN5c19pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIGdldFN5c3RlbUluZGV4KCkgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDgsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBJbkh5c3RlcmVzaXMgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIE92ZXJMaW1pdCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgUmlzaW5nIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBGYWxsaW5nIDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDQ7DQotICAgICAgfTsNCi0gICB9IHRPdXRwdXQ7DQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBDaGFubmVsIDogMzsNCi0gICAgICAgICB1bnNpZ25lZCBNb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEF2ZXJhZ2VkIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBGaWx0ZXIgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEZsb2F0aW5nUm9sbG92ZXIgOiAxOw0KLSAgICAgICAgIHNpZ25lZCBSb2xsb3ZlckxpbWl0IDogODsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDE1Ow0KLSAgICAgIH07DQotICAgfSB0U291cmNlU2VsZWN0Ow0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRTb3VyY2VTZWxlY3RfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlU291cmNlU2VsZWN0KHRTb3VyY2VTZWxlY3QgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVTb3VyY2VTZWxlY3RfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlU291cmNlU2VsZWN0X01vZHVsZSh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlU291cmNlU2VsZWN0X0F2ZXJhZ2VkKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVTb3VyY2VTZWxlY3RfRmlsdGVyKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVTb3VyY2VTZWxlY3RfRmxvYXRpbmdSb2xsb3Zlcihib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlU291cmNlU2VsZWN0X1JvbGxvdmVyTGltaXQoc2lnbmVkIHNob3J0IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB0U291cmNlU2VsZWN0IHJlYWRTb3VyY2VTZWxlY3QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkU291cmNlU2VsZWN0X0NoYW5uZWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkU291cmNlU2VsZWN0X01vZHVsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRTb3VyY2VTZWxlY3RfQXZlcmFnZWQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkU291cmNlU2VsZWN0X0ZpbHRlcih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRTb3VyY2VTZWxlY3RfRmxvYXRpbmdSb2xsb3Zlcih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBzaWduZWQgc2hvcnQgcmVhZFNvdXJjZVNlbGVjdF9Sb2xsb3ZlckxpbWl0KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0VXBwZXJMaW1pdF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVVcHBlckxpbWl0KHNpZ25lZCBpbnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHNpZ25lZCBpbnQgcmVhZFVwcGVyTGltaXQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRMb3dlckxpbWl0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUxvd2VyTGltaXQoc2lnbmVkIGludCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgc2lnbmVkIGludCByZWFkTG93ZXJMaW1pdCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1PdXRwdXRFbGVtZW50cyA9IDgsDQotICAgfSB0T3V0cHV0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdE91dHB1dCByZWFkT3V0cHV0KHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZE91dHB1dF9Jbkh5c3RlcmVzaXModW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkT3V0cHV0X092ZXJMaW1pdCh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRPdXRwdXRfUmlzaW5nKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZE91dHB1dF9GYWxsaW5nKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRBbmFsb2dUcmlnZ2VyKGNvbnN0IHRBbmFsb2dUcmlnZ2VyJik7DQotICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgdEFuYWxvZ1RyaWdnZXImKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X0FuYWxvZ1RyaWdnZXJfaF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90Q291bnRlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90Q291bnRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDU1MmU1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdENvdW50ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDE4MiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9Db3VudGVyX2hfXw0KLSNkZWZpbmUgX19uRlJDXzIwMTJfMV82XzRfQ291bnRlcl9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRDb3VudGVyDQotew0KLXB1YmxpYzoNCi0gICB0Q291bnRlcigpe30NCi0gICB2aXJ0dWFsIH50Q291bnRlcigpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdENvdW50ZXIqIGNyZWF0ZSh1bnNpZ25lZCBjaGFyIHN5c19pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIGdldFN5c3RlbUluZGV4KCkgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDgsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBEaXJlY3Rpb24gOiAxOw0KLSAgICAgICAgIHNpZ25lZCBWYWx1ZSA6IDMxOw0KLSAgICAgIH07DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlIDogMzI7DQotICAgICAgfTsNCi0gICB9IHRPdXRwdXQ7DQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBVcFNvdXJjZV9DaGFubmVsIDogNDsNCi0gICAgICAgICB1bnNpZ25lZCBVcFNvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIFVwU291cmNlX0FuYWxvZ1RyaWdnZXIgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIERvd25Tb3VyY2VfQ2hhbm5lbCA6IDQ7DQotICAgICAgICAgdW5zaWduZWQgRG93blNvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIERvd25Tb3VyY2VfQW5hbG9nVHJpZ2dlciA6IDE7DQotICAgICAgICAgdW5zaWduZWQgSW5kZXhTb3VyY2VfQ2hhbm5lbCA6IDQ7DQotICAgICAgICAgdW5zaWduZWQgSW5kZXhTb3VyY2VfTW9kdWxlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBJbmRleFNvdXJjZV9BbmFsb2dUcmlnZ2VyIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBJbmRleEFjdGl2ZUhpZ2ggOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIFVwUmlzaW5nRWRnZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgVXBGYWxsaW5nRWRnZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRG93blJpc2luZ0VkZ2UgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIERvd25GYWxsaW5nRWRnZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgTW9kZSA6IDI7DQotICAgICAgICAgdW5zaWduZWQgUHVsc2VMZW5ndGhUaHJlc2hvbGQgOiA2Ow0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZSA6IDE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAzMjsNCi0gICAgICB9Ow0KLSAgIH0gdENvbmZpZzsNCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIFBlcmlvZCA6IDIzOw0KLSAgICAgICAgIHNpZ25lZCBDb3VudCA6IDg7DQotICAgICAgICAgdW5zaWduZWQgU3RhbGxlZCA6IDE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAzMjsNCi0gICAgICB9Ow0KLSAgIH0gdFRpbWVyT3V0cHV0Ow0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgU3RhbGxQZXJpb2QgOiAyNDsNCi0gICAgICAgICB1bnNpZ25lZCBBdmVyYWdlU2l6ZSA6IDc7DQotICAgICAgICAgdW5zaWduZWQgVXBkYXRlV2hlbkVtcHR5IDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDMyOw0KLSAgICAgIH07DQotICAgfSB0VGltZXJDb25maWc7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdE91dHB1dF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHRPdXRwdXQgcmVhZE91dHB1dCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRPdXRwdXRfRGlyZWN0aW9uKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHNpZ25lZCBpbnQgcmVhZE91dHB1dF9WYWx1ZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdENvbmZpZ19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWcodENvbmZpZyB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19VcFNvdXJjZV9DaGFubmVsKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfVXBTb3VyY2VfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfVXBTb3VyY2VfQW5hbG9nVHJpZ2dlcihib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0Rvd25Tb3VyY2VfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0Rvd25Tb3VyY2VfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRG93blNvdXJjZV9BbmFsb2dUcmlnZ2VyKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfSW5kZXhTb3VyY2VfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0luZGV4U291cmNlX01vZHVsZSh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0luZGV4U291cmNlX0FuYWxvZ1RyaWdnZXIoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19JbmRleEFjdGl2ZUhpZ2goYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19VcFJpc2luZ0VkZ2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19VcEZhbGxpbmdFZGdlKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRG93blJpc2luZ0VkZ2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19Eb3duRmFsbGluZ0VkZ2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19Nb2RlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfUHVsc2VMZW5ndGhUaHJlc2hvbGQodW5zaWduZWQgc2hvcnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHRDb25maWcgcmVhZENvbmZpZyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfVXBTb3VyY2VfQ2hhbm5lbCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfVXBTb3VyY2VfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19VcFNvdXJjZV9BbmFsb2dUcmlnZ2VyKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENvbmZpZ19Eb3duU291cmNlX0NoYW5uZWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0Rvd25Tb3VyY2VfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19Eb3duU291cmNlX0FuYWxvZ1RyaWdnZXIodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0luZGV4U291cmNlX0NoYW5uZWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0luZGV4U291cmNlX01vZHVsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfSW5kZXhTb3VyY2VfQW5hbG9nVHJpZ2dlcih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfSW5kZXhBY3RpdmVIaWdoKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19VcFJpc2luZ0VkZ2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX1VwRmFsbGluZ0VkZ2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0Rvd25SaXNpbmdFZGdlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19Eb3duRmFsbGluZ0VkZ2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX01vZGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZENvbmZpZ19QdWxzZUxlbmd0aFRocmVzaG9sZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0UmVzZXRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHN0cm9iZVJlc2V0KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0VGltZXJPdXRwdXRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB0VGltZXJPdXRwdXQgcmVhZFRpbWVyT3V0cHV0KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkVGltZXJPdXRwdXRfUGVyaW9kKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHNpZ25lZCBjaGFyIHJlYWRUaW1lck91dHB1dF9Db3VudCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRUaW1lck91dHB1dF9TdGFsbGVkKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0VGltZXJDb25maWdfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlVGltZXJDb25maWcodFRpbWVyQ29uZmlnIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlVGltZXJDb25maWdfU3RhbGxQZXJpb2QodW5zaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlVGltZXJDb25maWdfQXZlcmFnZVNpemUodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVRpbWVyQ29uZmlnX1VwZGF0ZVdoZW5FbXB0eShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB0VGltZXJDb25maWcgcmVhZFRpbWVyQ29uZmlnKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkVGltZXJDb25maWdfU3RhbGxQZXJpb2QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkVGltZXJDb25maWdfQXZlcmFnZVNpemUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkVGltZXJDb25maWdfVXBkYXRlV2hlbkVtcHR5KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRDb3VudGVyKGNvbnN0IHRDb3VudGVyJik7DQotICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgdENvdW50ZXImKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X0NvdW50ZXJfaF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90RElPLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RESU8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJmMTVmYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RESU8uaAorKysgL2Rldi9udWxsCkBAIC0xLDI5NiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9ESU9faF9fDQotI2RlZmluZSBfX25GUkNfMjAxMl8xXzZfNF9ESU9faF9fDQotDQotI2luY2x1ZGUgInRTeXN0ZW1JbnRlcmZhY2UuaCINCi0NCi1uYW1lc3BhY2UgbkZQR0ENCi17DQotbmFtZXNwYWNlIG5GUkNfMjAxMl8xXzZfNA0KLXsNCi0NCi1jbGFzcyB0RElPDQotew0KLXB1YmxpYzoNCi0gICB0RElPKCl7fQ0KLSAgIHZpcnR1YWwgfnRESU8oKXt9DQotDQotICAgdmlydHVhbCB0U3lzdGVtSW50ZXJmYWNlKiBnZXRTeXN0ZW1JbnRlcmZhY2UoKSA9IDA7DQotICAgc3RhdGljIHRESU8qIGNyZWF0ZSh1bnNpZ25lZCBjaGFyIHN5c19pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIGdldFN5c3RlbUluZGV4KCkgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDIsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBQZXJpb2QgOiAxNjsNCi0gICAgICAgICB1bnNpZ25lZCBNaW5IaWdoIDogMTY7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAzMjsNCi0gICAgICB9Ow0KLSAgIH0gdFBXTUNvbmZpZzsNCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIFJlbGF5RndkIDogODsNCi0gICAgICAgICB1bnNpZ25lZCBSZWxheVJldiA6IDg7DQotICAgICAgICAgdW5zaWduZWQgSTJDSGVhZGVyIDogNDsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDIwOw0KLSAgICAgIH07DQotICAgfSB0U2xvd1ZhbHVlOw0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgVHJhbnNhY3Rpb24gOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIERvbmUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEFib3J0ZWQgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIERhdGFSZWNlaXZlZEhpZ2ggOiAyNDsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDI3Ow0KLSAgICAgIH07DQotICAgfSB0STJDU3RhdHVzOw0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgUGVyaW9kUG93ZXIgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIE91dHB1dFNlbGVjdF8wIDogNDsNCi0gICAgICAgICB1bnNpZ25lZCBPdXRwdXRTZWxlY3RfMSA6IDQ7DQotICAgICAgICAgdW5zaWduZWQgT3V0cHV0U2VsZWN0XzIgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIE91dHB1dFNlbGVjdF8zIDogNDsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDIwOw0KLSAgICAgIH07DQotICAgfSB0RE9fUFdNQ29uZmlnOw0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgQWRkcmVzcyA6IDg7DQotICAgICAgICAgdW5zaWduZWQgQnl0ZXNUb1JlYWQgOiAzOw0KLSAgICAgICAgIHVuc2lnbmVkIEJ5dGVzVG9Xcml0ZSA6IDM7DQotICAgICAgICAgdW5zaWduZWQgRGF0YVRvU2VuZEhpZ2ggOiAxNjsNCi0gICAgICAgICB1bnNpZ25lZCBCaXR3aXNlSGFuZHNoYWtlIDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDMxOw0KLSAgICAgIH07DQotICAgfSB0STJDQ29uZmlnOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRJMkNEYXRhVG9TZW5kX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUkyQ0RhdGFUb1NlbmQodW5zaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZEkyQ0RhdGFUb1NlbmQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRET19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVETyh1bnNpZ25lZCBzaG9ydCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZERPKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bUZpbHRlclNlbGVjdEVsZW1lbnRzID0gMTYsDQotICAgfSB0RmlsdGVyU2VsZWN0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUZpbHRlclNlbGVjdCh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRGaWx0ZXJTZWxlY3QodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtRmlsdGVyUGVyaW9kRWxlbWVudHMgPSAzLA0KLSAgIH0gdEZpbHRlclBlcmlvZF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVGaWx0ZXJQZXJpb2QodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkRmlsdGVyUGVyaW9kKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0T3V0cHV0RW5hYmxlX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZU91dHB1dEVuYWJsZSh1bnNpZ25lZCBzaG9ydCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZE91dHB1dEVuYWJsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFNsb3dWYWx1ZV9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVTbG93VmFsdWUodFNsb3dWYWx1ZSB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVNsb3dWYWx1ZV9SZWxheUZ3ZCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlU2xvd1ZhbHVlX1JlbGF5UmV2KHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVTbG93VmFsdWVfSTJDSGVhZGVyKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHRTbG93VmFsdWUgcmVhZFNsb3dWYWx1ZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRTbG93VmFsdWVfUmVsYXlGd2QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkU2xvd1ZhbHVlX1JlbGF5UmV2KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZFNsb3dWYWx1ZV9JMkNIZWFkZXIodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRJMkNTdGF0dXNfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB0STJDU3RhdHVzIHJlYWRJMkNTdGF0dXModFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkSTJDU3RhdHVzX1RyYW5zYWN0aW9uKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZEkyQ1N0YXR1c19Eb25lKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZEkyQ1N0YXR1c19BYm9ydGVkKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkSTJDU3RhdHVzX0RhdGFSZWNlaXZlZEhpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRJMkNEYXRhUmVjZWl2ZWRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZEkyQ0RhdGFSZWNlaXZlZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdERJX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZERJKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0UHVsc2VfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlUHVsc2UodW5zaWduZWQgc2hvcnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHJlYWRQdWxzZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1QV01QZXJpb2RTY2FsZUVsZW1lbnRzID0gMTAsDQotICAgfSB0UFdNUGVyaW9kU2NhbGVfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlUFdNUGVyaW9kU2NhbGUodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkUFdNUGVyaW9kU2NhbGUodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtRE9fUFdNRHV0eUN5Y2xlRWxlbWVudHMgPSA0LA0KLSAgIH0gdERPX1BXTUR1dHlDeWNsZV9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVET19QV01EdXR5Q3ljbGUodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkRE9fUFdNRHV0eUN5Y2xlKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0QkZMX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUJGTChib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRCRkwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRJMkNTdGFydF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgc3Ryb2JlSTJDU3RhcnQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRET19QV01Db25maWdfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlRE9fUFdNQ29uZmlnKHRET19QV01Db25maWcgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVET19QV01Db25maWdfUGVyaW9kUG93ZXIodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZURPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlRE9fUFdNQ29uZmlnX091dHB1dFNlbGVjdF8xKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVET19QV01Db25maWdfT3V0cHV0U2VsZWN0XzIodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZURPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMyh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB0RE9fUFdNQ29uZmlnIHJlYWRET19QV01Db25maWcodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkRE9fUFdNQ29uZmlnX1BlcmlvZFBvd2VyKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZERPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRET19QV01Db25maWdfT3V0cHV0U2VsZWN0XzEodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkRE9fUFdNQ29uZmlnX091dHB1dFNlbGVjdF8yKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZERPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFB1bHNlTGVuZ3RoX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVB1bHNlTGVuZ3RoKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZFB1bHNlTGVuZ3RoKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0STJDQ29uZmlnX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUkyQ0NvbmZpZyh0STJDQ29uZmlnIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlSTJDQ29uZmlnX0FkZHJlc3ModW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUkyQ0NvbmZpZ19CeXRlc1RvUmVhZCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlSTJDQ29uZmlnX0J5dGVzVG9Xcml0ZSh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlSTJDQ29uZmlnX0RhdGFUb1NlbmRIaWdoKHVuc2lnbmVkIHNob3J0IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlSTJDQ29uZmlnX0JpdHdpc2VIYW5kc2hha2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdEkyQ0NvbmZpZyByZWFkSTJDQ29uZmlnKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZEkyQ0NvbmZpZ19BZGRyZXNzKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZEkyQ0NvbmZpZ19CeXRlc1RvUmVhZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRJMkNDb25maWdfQnl0ZXNUb1dyaXRlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHJlYWRJMkNDb25maWdfRGF0YVRvU2VuZEhpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkSTJDQ29uZmlnX0JpdHdpc2VIYW5kc2hha2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRMb29wVGltaW5nX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZExvb3BUaW1pbmcodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRQV01Db25maWdfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlUFdNQ29uZmlnKHRQV01Db25maWcgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVQV01Db25maWdfUGVyaW9kKHVuc2lnbmVkIHNob3J0IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlUFdNQ29uZmlnX01pbkhpZ2godW5zaWduZWQgc2hvcnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHRQV01Db25maWcgcmVhZFBXTUNvbmZpZyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCByZWFkUFdNQ29uZmlnX1BlcmlvZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCByZWFkUFdNQ29uZmlnX01pbkhpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtUFdNVmFsdWVSZWdpc3RlcnMgPSAxMCwNCi0gICB9IHRQV01WYWx1ZV9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVQV01WYWx1ZSh1bnNpZ25lZCBjaGFyIHJlZ19pbmRleCwgdW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkUFdNVmFsdWUodW5zaWduZWQgY2hhciByZWdfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRESU8oY29uc3QgdERJTyYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRESU8mKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X0RJT19oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RETUEuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdERNQS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTk4MmY3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdERNQS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTU3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgTmF0aW9uYWwgSW5zdHJ1bWVudHMgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQotLy8gRG8gTm90IEVkaXQuLi4gdGhpcyBmaWxlIGlzIGdlbmVyYXRlZCENCi0NCi0jaWZuZGVmIF9fbkZSQ18yMDEyXzFfNl80X0RNQV9oX18NCi0jZGVmaW5lIF9fbkZSQ18yMDEyXzFfNl80X0RNQV9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRETUENCi17DQotcHVibGljOg0KLSAgIHRETUEoKXt9DQotICAgdmlydHVhbCB+dERNQSgpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdERNQSogY3JlYXRlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDEsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBQYXVzZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0FJMF9Mb3cgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9BSTBfSGlnaCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0FJQXZlcmFnZWQwX0xvdyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0FJQXZlcmFnZWQwX0hpZ2ggOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9BSTFfTG93IDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBFbmFibGVfQUkxX0hpZ2ggOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9BSUF2ZXJhZ2VkMV9Mb3cgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9BSUF2ZXJhZ2VkMV9IaWdoIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBFbmFibGVfQWNjdW11bGF0b3IwIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBFbmFibGVfQWNjdW11bGF0b3IxIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBFbmFibGVfREkgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9BbmFsb2dUcmlnZ2VycyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0NvdW50ZXJzX0xvdyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0NvdW50ZXJzX0hpZ2ggOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEVuYWJsZV9Db3VudGVyVGltZXJzX0xvdyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0NvdW50ZXJUaW1lcnNfSGlnaCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlX0VuY29kZXJzIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBFbmFibGVfRW5jb2RlclRpbWVycyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRXh0ZXJuYWxDbG9jayA6IDE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAyMDsNCi0gICAgICB9Ow0KLSAgIH0gdENvbmZpZzsNCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIEV4dGVybmFsQ2xvY2tTb3VyY2VfQ2hhbm5lbCA6IDQ7DQotICAgICAgICAgdW5zaWduZWQgRXh0ZXJuYWxDbG9ja1NvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEV4dGVybmFsQ2xvY2tTb3VyY2VfQW5hbG9nVHJpZ2dlciA6IDE7DQotICAgICAgICAgdW5zaWduZWQgUmlzaW5nRWRnZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRmFsbGluZ0VkZ2UgOiAxOw0KLSAgICAgIH07DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlIDogODsNCi0gICAgICB9Ow0KLSAgIH0gdEV4dGVybmFsVHJpZ2dlcnM7DQotDQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFJhdGVfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlUmF0ZSh1bnNpZ25lZCBpbnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkUmF0ZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdENvbmZpZ19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWcodENvbmZpZyB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19QYXVzZShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9BSTBfTG93KGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlX0FJMF9IaWdoKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlX0FJQXZlcmFnZWQwX0xvdyhib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9BSUF2ZXJhZ2VkMF9IaWdoKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlX0FJMV9Mb3coYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfQUkxX0hpZ2goYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfQUlBdmVyYWdlZDFfTG93KGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlX0FJQXZlcmFnZWQxX0hpZ2goYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfQWNjdW11bGF0b3IwKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRW5hYmxlX0FjY3VtdWxhdG9yMShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9ESShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9BbmFsb2dUcmlnZ2Vycyhib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9Db3VudGVyc19Mb3coYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfQ291bnRlcnNfSGlnaChib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9Db3VudGVyVGltZXJzX0xvdyhib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0VuYWJsZV9Db3VudGVyVGltZXJzX0hpZ2goYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfRW5jb2RlcnMoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGVfRW5jb2RlclRpbWVycyhib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0V4dGVybmFsQ2xvY2soYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdENvbmZpZyByZWFkQ29uZmlnKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19QYXVzZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0FJMF9Mb3codFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9BSTBfSGlnaCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0FJQXZlcmFnZWQwX0xvdyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0FJQXZlcmFnZWQwX0hpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9BSTFfTG93KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19FbmFibGVfQUkxX0hpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9BSUF2ZXJhZ2VkMV9Mb3codFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9BSUF2ZXJhZ2VkMV9IaWdoKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19FbmFibGVfQWNjdW11bGF0b3IwKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19FbmFibGVfQWNjdW11bGF0b3IxKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19FbmFibGVfREkodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9BbmFsb2dUcmlnZ2Vycyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0NvdW50ZXJzX0xvdyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0NvdW50ZXJzX0hpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZV9Db3VudGVyVGltZXJzX0xvdyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0NvdW50ZXJUaW1lcnNfSGlnaCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRW5hYmxlX0VuY29kZXJzKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19FbmFibGVfRW5jb2RlclRpbWVycyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRXh0ZXJuYWxDbG9jayh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1FeHRlcm5hbFRyaWdnZXJzRWxlbWVudHMgPSA0LA0KLSAgIH0gdEV4dGVybmFsVHJpZ2dlcnNfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlRXh0ZXJuYWxUcmlnZ2Vycyh1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCB0RXh0ZXJuYWxUcmlnZ2VycyB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUV4dGVybmFsVHJpZ2dlcnNfRXh0ZXJuYWxDbG9ja1NvdXJjZV9DaGFubmVsKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVFeHRlcm5hbFRyaWdnZXJzX0V4dGVybmFsQ2xvY2tTb3VyY2VfTW9kdWxlKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVFeHRlcm5hbFRyaWdnZXJzX0V4dGVybmFsQ2xvY2tTb3VyY2VfQW5hbG9nVHJpZ2dlcih1bnNpZ25lZCBjaGFyIGJpdGZpZWxkX2luZGV4LCBib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlRXh0ZXJuYWxUcmlnZ2Vyc19SaXNpbmdFZGdlKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVFeHRlcm5hbFRyaWdnZXJzX0ZhbGxpbmdFZGdlKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHRFeHRlcm5hbFRyaWdnZXJzIHJlYWRFeHRlcm5hbFRyaWdnZXJzKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZEV4dGVybmFsVHJpZ2dlcnNfRXh0ZXJuYWxDbG9ja1NvdXJjZV9DaGFubmVsKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZEV4dGVybmFsVHJpZ2dlcnNfRXh0ZXJuYWxDbG9ja1NvdXJjZV9Nb2R1bGUodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkRXh0ZXJuYWxUcmlnZ2Vyc19FeHRlcm5hbENsb2NrU291cmNlX0FuYWxvZ1RyaWdnZXIodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkRXh0ZXJuYWxUcmlnZ2Vyc19SaXNpbmdFZGdlKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZEV4dGVybmFsVHJpZ2dlcnNfRmFsbGluZ0VkZ2UodW5zaWduZWQgY2hhciBiaXRmaWVsZF9pbmRleCwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLQ0KLQ0KLXByaXZhdGU6DQotICAgdERNQShjb25zdCB0RE1BJik7DQotICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgdERNQSYpOw0KLX07DQotDQotfQ0KLX0NCi0NCi0jZW5kaWYgLy8gX19uRlJDXzIwMTJfMV82XzRfRE1BX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdERNQU1hbmFnZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdERNQU1hbmFnZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDFmMjk1MC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RETUFNYW5hZ2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vLyBDbGFzcyBmb3IgaGFuZGxpbmcgRE1BIHRyYW5zdGVycy4NCi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLQ0KLSNpZm5kZWYgX190RE1BTWFuYWdlcl9oX18NCi0jZGVmaW5lIF9fdERNQU1hbmFnZXJfaF9fDQotDQotI2luY2x1ZGUgIk5pUmlvLmgiDQotI2luY2x1ZGUgInRTeXN0ZW0uaCINCi0NCi1uYW1lc3BhY2UgbkZQR0ENCi17DQotLy8gVE9ETzogSW1wbGVtZW50IERNQSBNYW5hZ2VyDQotLyoNCi1jbGFzcyB0RE1BTWFuYWdlciA6IHB1YmxpYyB0U3lzdGVtDQotew0KLXB1YmxpYzoNCi0gICB0RE1BTWFuYWdlcih0TklSSU9fdTMyIGRtYUNoYW5uZWwsIHROSVJJT191MzIgaG9zdEJ1ZmZlclNpemUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLSAgIH50RE1BTWFuYWdlcigpOw0KLSAgIHZvaWQgc3RhcnQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdm9pZCBzdG9wKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLSAgIGJvb2wgaXNTdGFydGVkKCkge3JldHVybiBfc3RhcnRlZDt9DQotICAgdm9pZCByZWFkKA0KLSAgICAgIHROSVJJT191MzIqICAgICAgYnVmLA0KLSAgICAgIHROSVJJT191MzIgICAgICAgbnVtLA0KLSAgICAgIHROSVJJT191MzIgICAgICAgdGltZW91dCwNCi0gICAgICB0TklSSU9fdTMyKiAgICAgIHJlYWQsDQotICAgICAgdE5JUklPX3UzMiogICAgICByZW1haW5pbmcsDQotICAgICAgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdm9pZCB3cml0ZSgNCi0gICAgICB0TklSSU9fdTMyKiAgICAgIGJ1ZiwNCi0gICAgICB0TklSSU9fdTMyICAgICAgIG51bSwNCi0gICAgICB0TklSSU9fdTMyICAgICAgIHRpbWVvdXQsDQotICAgICAgdE5JUklPX3UzMiogICAgICByZW1haW5pbmcsDQotICAgICAgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotcHJpdmF0ZToNCi0gICBib29sIF9zdGFydGVkOw0KLSAgIHROSVJJT191MzIgX2RtYUNoYW5uZWw7DQotICAgdE5JUklPX3UzMiBfaG9zdEJ1ZmZlclNpemU7DQotICAgdERNQUNoYW5uZWxEZXNjcmlwdG9yIGNvbnN0ICpfZG1hQ2hhbm5lbERlc2NyaXB0b3I7DQotDQotfTsNCi0qLw0KLX0NCi0NCi0NCi0jZW5kaWYgLy8gX190RE1BTWFuYWdlcl9oX18NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RFbmNvZGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RFbmNvZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3NDhmZTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90RW5jb2Rlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTY3ICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgTmF0aW9uYWwgSW5zdHJ1bWVudHMgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQotLy8gRG8gTm90IEVkaXQuLi4gdGhpcyBmaWxlIGlzIGdlbmVyYXRlZCENCi0NCi0jaWZuZGVmIF9fbkZSQ18yMDEyXzFfNl80X0VuY29kZXJfaF9fDQotI2RlZmluZSBfX25GUkNfMjAxMl8xXzZfNF9FbmNvZGVyX2hfXw0KLQ0KLSNpbmNsdWRlICJ0U3lzdGVtSW50ZXJmYWNlLmgiDQotDQotbmFtZXNwYWNlIG5GUEdBDQotew0KLW5hbWVzcGFjZSBuRlJDXzIwMTJfMV82XzQNCi17DQotDQotY2xhc3MgdEVuY29kZXINCi17DQotcHVibGljOg0KLSAgIHRFbmNvZGVyKCl7fQ0KLSAgIHZpcnR1YWwgfnRFbmNvZGVyKCl7fQ0KLQ0KLSAgIHZpcnR1YWwgdFN5c3RlbUludGVyZmFjZSogZ2V0U3lzdGVtSW50ZXJmYWNlKCkgPSAwOw0KLSAgIHN0YXRpYyB0RW5jb2RlciogY3JlYXRlKHVuc2lnbmVkIGNoYXIgc3lzX2luZGV4LCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgZ2V0U3lzdGVtSW5kZXgoKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1TeXN0ZW1zID0gNCwNCi0gICB9IHRJZmFjZUNvbnN0YW50czsNCi0NCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIERpcmVjdGlvbiA6IDE7DQotICAgICAgICAgc2lnbmVkIFZhbHVlIDogMzE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAzMjsNCi0gICAgICB9Ow0KLSAgIH0gdE91dHB1dDsNCi0gICB0eXBlZGVmDQotICAgdW5pb257DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIEFTb3VyY2VfQ2hhbm5lbCA6IDQ7DQotICAgICAgICAgdW5zaWduZWQgQVNvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEFTb3VyY2VfQW5hbG9nVHJpZ2dlciA6IDE7DQotICAgICAgICAgdW5zaWduZWQgQlNvdXJjZV9DaGFubmVsIDogNDsNCi0gICAgICAgICB1bnNpZ25lZCBCU291cmNlX01vZHVsZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgQlNvdXJjZV9BbmFsb2dUcmlnZ2VyIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBJbmRleFNvdXJjZV9DaGFubmVsIDogNDsNCi0gICAgICAgICB1bnNpZ25lZCBJbmRleFNvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEluZGV4U291cmNlX0FuYWxvZ1RyaWdnZXIgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIEluZGV4QWN0aXZlSGlnaCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgUmV2ZXJzZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRW5hYmxlIDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDIxOw0KLSAgICAgIH07DQotICAgfSB0Q29uZmlnOw0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgUGVyaW9kIDogMjM7DQotICAgICAgICAgc2lnbmVkIENvdW50IDogODsNCi0gICAgICAgICB1bnNpZ25lZCBTdGFsbGVkIDogMTsNCi0gICAgICB9Ow0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCB2YWx1ZSA6IDMyOw0KLSAgICAgIH07DQotICAgfSB0VGltZXJPdXRwdXQ7DQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBTdGFsbFBlcmlvZCA6IDI0Ow0KLSAgICAgICAgIHVuc2lnbmVkIEF2ZXJhZ2VTaXplIDogNzsNCi0gICAgICAgICB1bnNpZ25lZCBVcGRhdGVXaGVuRW1wdHkgOiAxOw0KLSAgICAgIH07DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlIDogMzI7DQotICAgICAgfTsNCi0gICB9IHRUaW1lckNvbmZpZzsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0T3V0cHV0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdE91dHB1dCByZWFkT3V0cHV0KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZE91dHB1dF9EaXJlY3Rpb24odFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgc2lnbmVkIGludCByZWFkT3V0cHV0X1ZhbHVlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0Q29uZmlnX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZyh0Q29uZmlnIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0FTb3VyY2VfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0FTb3VyY2VfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQVNvdXJjZV9BbmFsb2dUcmlnZ2VyKGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQlNvdXJjZV9DaGFubmVsKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQlNvdXJjZV9Nb2R1bGUodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19CU291cmNlX0FuYWxvZ1RyaWdnZXIoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19JbmRleFNvdXJjZV9DaGFubmVsKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfSW5kZXhTb3VyY2VfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfSW5kZXhTb3VyY2VfQW5hbG9nVHJpZ2dlcihib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0luZGV4QWN0aXZlSGlnaChib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX1JldmVyc2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19FbmFibGUoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdENvbmZpZyByZWFkQ29uZmlnKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENvbmZpZ19BU291cmNlX0NoYW5uZWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0FTb3VyY2VfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19BU291cmNlX0FuYWxvZ1RyaWdnZXIodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0JTb3VyY2VfQ2hhbm5lbCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfQlNvdXJjZV9Nb2R1bGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0JTb3VyY2VfQW5hbG9nVHJpZ2dlcih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfSW5kZXhTb3VyY2VfQ2hhbm5lbCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfSW5kZXhTb3VyY2VfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19JbmRleFNvdXJjZV9BbmFsb2dUcmlnZ2VyKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19JbmRleEFjdGl2ZUhpZ2godFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX1JldmVyc2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0VuYWJsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFJlc2V0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCBzdHJvYmVSZXNldCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFRpbWVyT3V0cHV0X0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdFRpbWVyT3V0cHV0IHJlYWRUaW1lck91dHB1dCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZFRpbWVyT3V0cHV0X1BlcmlvZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBzaWduZWQgY2hhciByZWFkVGltZXJPdXRwdXRfQ291bnQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkVGltZXJPdXRwdXRfU3RhbGxlZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFRpbWVyQ29uZmlnX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVRpbWVyQ29uZmlnKHRUaW1lckNvbmZpZyB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVRpbWVyQ29uZmlnX1N0YWxsUGVyaW9kKHVuc2lnbmVkIGludCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZVRpbWVyQ29uZmlnX0F2ZXJhZ2VTaXplKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVUaW1lckNvbmZpZ19VcGRhdGVXaGVuRW1wdHkoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdFRpbWVyQ29uZmlnIHJlYWRUaW1lckNvbmZpZyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZFRpbWVyQ29uZmlnX1N0YWxsUGVyaW9kKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZFRpbWVyQ29uZmlnX0F2ZXJhZ2VTaXplKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZFRpbWVyQ29uZmlnX1VwZGF0ZVdoZW5FbXB0eSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotDQotDQotDQotcHJpdmF0ZToNCi0gICB0RW5jb2Rlcihjb25zdCB0RW5jb2RlciYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRFbmNvZGVyJik7DQotfTsNCi0NCi19DQotfQ0KLQ0KLSNlbmRpZiAvLyBfX25GUkNfMjAxMl8xXzZfNF9FbmNvZGVyX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEdsb2JhbC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90R2xvYmFsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1N2FlYjEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90R2xvYmFsLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9HbG9iYWxfaF9fDQotI2RlZmluZSBfX25GUkNfMjAxMl8xXzZfNF9HbG9iYWxfaF9fDQotDQotI2luY2x1ZGUgInRTeXN0ZW1JbnRlcmZhY2UuaCINCi0NCi1uYW1lc3BhY2UgbkZQR0ENCi17DQotbmFtZXNwYWNlIG5GUkNfMjAxMl8xXzZfNA0KLXsNCi0NCi1jbGFzcyB0R2xvYmFsDQotew0KLXB1YmxpYzoNCi0gICB0R2xvYmFsKCl7fQ0KLSAgIHZpcnR1YWwgfnRHbG9iYWwoKXt9DQotDQotICAgdmlydHVhbCB0U3lzdGVtSW50ZXJmYWNlKiBnZXRTeXN0ZW1JbnRlcmZhY2UoKSA9IDA7DQotICAgc3RhdGljIHRHbG9iYWwqIGNyZWF0ZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bVN5c3RlbXMgPSAxLA0KLSAgIH0gdElmYWNlQ29uc3RhbnRzOw0KLQ0KLQ0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRWZXJzaW9uX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdW5zaWduZWQgc2hvcnQgcmVhZFZlcnNpb24odFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRGUEdBX0xFRF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVGUEdBX0xFRChib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRGUEdBX0xFRCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdExvY2FsVGltZV9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkTG9jYWxUaW1lKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0UmV2aXNpb25fSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZFJldmlzaW9uKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRHbG9iYWwoY29uc3QgdEdsb2JhbCYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRHbG9iYWwmKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X0dsb2JhbF9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RJbnRlcnJ1cHQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEludGVycnVwdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMTgxZmIzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdEludGVycnVwdC5oCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0vLyBEbyBOb3QgRWRpdC4uLiB0aGlzIGZpbGUgaXMgZ2VuZXJhdGVkIQ0KLQ0KLSNpZm5kZWYgX19uRlJDXzIwMTJfMV82XzRfSW50ZXJydXB0X2hfXw0KLSNkZWZpbmUgX19uRlJDXzIwMTJfMV82XzRfSW50ZXJydXB0X2hfXw0KLQ0KLSNpbmNsdWRlICJ0U3lzdGVtSW50ZXJmYWNlLmgiDQotDQotbmFtZXNwYWNlIG5GUEdBDQotew0KLW5hbWVzcGFjZSBuRlJDXzIwMTJfMV82XzQNCi17DQotDQotY2xhc3MgdEludGVycnVwdA0KLXsNCi1wdWJsaWM6DQotICAgdEludGVycnVwdCgpe30NCi0gICB2aXJ0dWFsIH50SW50ZXJydXB0KCl7fQ0KLQ0KLSAgIHZpcnR1YWwgdFN5c3RlbUludGVyZmFjZSogZ2V0U3lzdGVtSW50ZXJmYWNlKCkgPSAwOw0KLSAgIHN0YXRpYyB0SW50ZXJydXB0KiBjcmVhdGUodW5zaWduZWQgY2hhciBzeXNfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciBnZXRTeXN0ZW1JbmRleCgpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bVN5c3RlbXMgPSA4LA0KLSAgIH0gdElmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgU291cmNlX0NoYW5uZWwgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIFNvdXJjZV9Nb2R1bGUgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIFNvdXJjZV9BbmFsb2dUcmlnZ2VyIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBSaXNpbmdFZGdlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBGYWxsaW5nRWRnZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgV2FpdEZvckFjayA6IDE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiA5Ow0KLSAgICAgIH07DQotICAgfSB0Q29uZmlnOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRUaW1lU3RhbXBfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZFRpbWVTdGFtcCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdENvbmZpZ19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWcodENvbmZpZyB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19Tb3VyY2VfQ2hhbm5lbCh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX1NvdXJjZV9Nb2R1bGUodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19Tb3VyY2VfQW5hbG9nVHJpZ2dlcihib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX1Jpc2luZ0VkZ2UoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19GYWxsaW5nRWRnZShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX1dhaXRGb3JBY2soYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdENvbmZpZyByZWFkQ29uZmlnKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENvbmZpZ19Tb3VyY2VfQ2hhbm5lbCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDb25maWdfU291cmNlX01vZHVsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfU291cmNlX0FuYWxvZ1RyaWdnZXIodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX1Jpc2luZ0VkZ2UodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0ZhbGxpbmdFZGdlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19XYWl0Rm9yQWNrKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRJbnRlcnJ1cHQoY29uc3QgdEludGVycnVwdCYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRJbnRlcnJ1cHQmKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X0ludGVycnVwdF9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RJbnRlcnJ1cHRNYW5hZ2VyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RJbnRlcnJ1cHRNYW5hZ2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2MjgzZmUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90SW50ZXJydXB0TWFuYWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLy8gQ2xhc3MgZm9yIGhhbmRsaW5nIGludGVycnVwdHMuDQotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0NCi0jaWZuZGVmIF9fdEludGVycnVwdE1hbmFnZXJfaF9fDQotI2RlZmluZSBfX3RJbnRlcnJ1cHRNYW5hZ2VyX2hfXw0KLQ0KLSNpbmNsdWRlICJOaVJpby5oIg0KLSNpbmNsdWRlICJ0U3lzdGVtLmgiDQotI2luY2x1ZGUgPHNlbUxpYi5oPg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi0NCi10eXBlZGVmIHZvaWQgKCp0SW50ZXJydXB0SGFuZGxlcikodWludDMyX3QgaW50ZXJydXB0QXNzZXJ0ZWRNYXNrLCB2b2lkICpwYXJhbSk7DQotDQotY2xhc3MgdEludGVycnVwdE1hbmFnZXIgOiBwdWJsaWMgdFN5c3RlbQ0KLXsNCi1wdWJsaWM6DQotICAgdEludGVycnVwdE1hbmFnZXIodWludDMyX3QgaW50ZXJydXB0TWFzaywgYm9vbCB3YXRjaGVyLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0gICB+dEludGVycnVwdE1hbmFnZXIoKTsNCi0gICB2b2lkIHJlZ2lzdGVySGFuZGxlcih0SW50ZXJydXB0SGFuZGxlciBoYW5kbGVyLCB2b2lkICpwYXJhbSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdWludDMyX3Qgd2F0Y2goaW50MzJfdCB0aW1lb3V0SW5NcywgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdm9pZCBlbmFibGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdm9pZCBkaXNhYmxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLSAgIGJvb2wgaXNFbmFibGVkKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLXByaXZhdGU6DQotICAgdm9pZCBoYW5kbGVyKCk7DQotICAgc3RhdGljIGludCBoYW5kbGVyV3JhcHBlcih0SW50ZXJydXB0TWFuYWdlciAqcEludGVycnVwdCk7DQotDQotICAgdm9pZCBhY2tub3dsZWRnZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0gICB2b2lkIHJlc2VydmUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdm9pZCB1bnJlc2VydmUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotICAgdEludGVycnVwdEhhbmRsZXIgX2hhbmRsZXI7DQotICAgdWludDMyX3QgX2ludGVycnVwdE1hc2s7DQotICAgaW50MzJfdCBfdGFza0lkOw0KLSAgIE5pRnBnYV9JcnFDb250ZXh0IF9yaW9Db250ZXh0Ow0KLSAgIGJvb2wgX3dhdGNoZXI7DQotICAgYm9vbCBfZW5hYmxlZDsNCi0gICB2b2lkICpfdXNlclBhcmFtOw0KLQ0KLSAgIC8vIG1haW50YWluIHRoZSBpbnRlcnJ1cHRzIHRoYXQgYXJlIGFscmVhZHkgZGVhbHQgd2l0aC4NCi0gICBzdGF0aWMgdWludDMyX3QgX2dsb2JhbEludGVycnVwdE1hc2s7DQotICAgc3RhdGljIFNFTV9JRCBfZ2xvYmFsSW50ZXJydXB0TWFza1NlbWFwaG9yZTsNCi19Ow0KLQ0KLX0NCi0NCi0NCi0jZW5kaWYgLy8gX190SW50ZXJydXB0TWFuYWdlcl9oX18NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RTUEkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdFNQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDMwMzA2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdFNQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjAwICswLDAgQEAKLS8vIENvcHlyaWdodCAoYykgTmF0aW9uYWwgSW5zdHJ1bWVudHMgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQotLy8gRG8gTm90IEVkaXQuLi4gdGhpcyBmaWxlIGlzIGdlbmVyYXRlZCENCi0NCi0jaWZuZGVmIF9fbkZSQ18yMDEyXzFfNl80X1NQSV9oX18NCi0jZGVmaW5lIF9fbkZSQ18yMDEyXzFfNl80X1NQSV9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRTUEkNCi17DQotcHVibGljOg0KLSAgIHRTUEkoKXt9DQotICAgdmlydHVhbCB+dFNQSSgpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdFNQSSogY3JlYXRlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpOw0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICAgICBrTnVtU3lzdGVtcyA9IDEsDQotICAgfSB0SWZhY2VDb25zdGFudHM7DQotDQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBSZWNlaXZlZERhdGFPdmVyZmxvdyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgSWRsZSA6IDE7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAyOw0KLSAgICAgIH07DQotICAgfSB0U3RhdHVzOw0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgQnVzQml0V2lkdGggOiA4Ow0KLSAgICAgICAgIHVuc2lnbmVkIENsb2NrSGFsZlBlcmlvZERlbGF5IDogODsNCi0gICAgICAgICB1bnNpZ25lZCBNU0JmaXJzdCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgRGF0YU9uRmFsbGluZyA6IDE7DQotICAgICAgICAgdW5zaWduZWQgTGF0Y2hGaXJzdCA6IDE7DQotICAgICAgICAgdW5zaWduZWQgTGF0Y2hMYXN0IDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBGcmFtZVBvbGFyaXR5IDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBXcml0ZU9ubHkgOiAxOw0KLSAgICAgICAgIHVuc2lnbmVkIENsb2NrUG9sYXJpdHkgOiAxOw0KLSAgICAgIH07DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlIDogMjM7DQotICAgICAgfTsNCi0gICB9IHRDb25maWc7DQotICAgdHlwZWRlZg0KLSAgIHVuaW9uew0KLSAgICAgIHN0cnVjdHsNCi0gICAgICAgICB1bnNpZ25lZCBTQ0xLX0NoYW5uZWwgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIFNDTEtfTW9kdWxlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBNT1NJX0NoYW5uZWwgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIE1PU0lfTW9kdWxlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBNSVNPX0NoYW5uZWwgOiA0Ow0KLSAgICAgICAgIHVuc2lnbmVkIE1JU09fTW9kdWxlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBTU19DaGFubmVsIDogNDsNCi0gICAgICAgICB1bnNpZ25lZCBTU19Nb2R1bGUgOiAxOw0KLSAgICAgIH07DQotICAgICAgc3RydWN0ew0KLSAgICAgICAgIHVuc2lnbmVkIHZhbHVlIDogMjA7DQotICAgICAgfTsNCi0gICB9IHRDaGFubmVsczsNCi0NCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0U3RhdHVzX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdFN0YXR1cyByZWFkU3RhdHVzKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZFN0YXR1c19SZWNlaXZlZERhdGFPdmVyZmxvdyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRTdGF0dXNfSWRsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFJlYWRSZWNlaXZlZERhdGFfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHN0cm9iZVJlYWRSZWNlaXZlZERhdGEodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRDb25maWdfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnKHRDb25maWcgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQnVzQml0V2lkdGgodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19DbG9ja0hhbGZQZXJpb2REZWxheSh1bnNpZ25lZCBjaGFyIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX01TQmZpcnN0KGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfRGF0YU9uRmFsbGluZyhib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB2b2lkIHdyaXRlQ29uZmlnX0xhdGNoRmlyc3QoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19MYXRjaExhc3QoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNvbmZpZ19GcmFtZVBvbGFyaXR5KGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfV3JpdGVPbmx5KGJvb2wgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDb25maWdfQ2xvY2tQb2xhcml0eShib29sIHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB0Q29uZmlnIHJlYWRDb25maWcodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ29uZmlnX0J1c0JpdFdpZHRoKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENvbmZpZ19DbG9ja0hhbGZQZXJpb2REZWxheSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfTVNCZmlyc3QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0RhdGFPbkZhbGxpbmcodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0xhdGNoRmlyc3QodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkQ29uZmlnX0xhdGNoTGFzdCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfRnJhbWVQb2xhcml0eSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCBib29sIHJlYWRDb25maWdfV3JpdGVPbmx5KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZENvbmZpZ19DbG9ja1BvbGFyaXR5KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0UmVjZWl2ZWREYXRhX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdW5zaWduZWQgaW50IHJlYWRSZWNlaXZlZERhdGEodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHREYXRhVG9Mb2FkX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZURhdGFUb0xvYWQodW5zaWduZWQgaW50IHZhbHVlLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgcmVhZERhdGFUb0xvYWQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRSZXNldF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgc3Ryb2JlUmVzZXQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRDaGFubmVsc19JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVscyh0Q2hhbm5lbHMgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVsc19TQ0xLX0NoYW5uZWwodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNoYW5uZWxzX1NDTEtfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVsc19NT1NJX0NoYW5uZWwodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNoYW5uZWxzX01PU0lfTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVsc19NSVNPX0NoYW5uZWwodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZUNoYW5uZWxzX01JU09fTW9kdWxlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVsc19TU19DaGFubmVsKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHZvaWQgd3JpdGVDaGFubmVsc19TU19Nb2R1bGUodW5zaWduZWQgY2hhciB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdENoYW5uZWxzIHJlYWRDaGFubmVscyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDaGFubmVsc19TQ0xLX0NoYW5uZWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ2hhbm5lbHNfU0NMS19Nb2R1bGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgdW5zaWduZWQgY2hhciByZWFkQ2hhbm5lbHNfTU9TSV9DaGFubmVsKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENoYW5uZWxzX01PU0lfTW9kdWxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENoYW5uZWxzX01JU09fQ2hhbm5lbCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDaGFubmVsc19NSVNPX01vZHVsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotICAgdmlydHVhbCB1bnNpZ25lZCBjaGFyIHJlYWRDaGFubmVsc19TU19DaGFubmVsKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZENoYW5uZWxzX1NTX01vZHVsZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdENsZWFyUmVjZWl2ZWREYXRhX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCBzdHJvYmVDbGVhclJlY2VpdmVkRGF0YSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFJlY2VpdmVkRWxlbWVudHNfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCByZWFkUmVjZWl2ZWRFbGVtZW50cyh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdExvYWRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHN0cm9iZUxvYWQodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRBdmFpbGFibGVUb0xvYWRfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCByZWFkQXZhaWxhYmxlVG9Mb2FkKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRTUEkoY29uc3QgdFNQSSYpOw0KLSAgIHZvaWQgb3BlcmF0b3I9KGNvbnN0IHRTUEkmKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X1NQSV9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RTb2xlbm9pZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90U29sZW5vaWQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYyN2VlYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9DaGlwT2JqZWN0L3RTb2xlbm9pZC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0vLyBEbyBOb3QgRWRpdC4uLiB0aGlzIGZpbGUgaXMgZ2VuZXJhdGVkIQ0KLQ0KLSNpZm5kZWYgX19uRlJDXzIwMTJfMV82XzRfU29sZW5vaWRfaF9fDQotI2RlZmluZSBfX25GUkNfMjAxMl8xXzZfNF9Tb2xlbm9pZF9oX18NCi0NCi0jaW5jbHVkZSAidFN5c3RlbUludGVyZmFjZS5oIg0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi1uYW1lc3BhY2UgbkZSQ18yMDEyXzFfNl80DQotew0KLQ0KLWNsYXNzIHRTb2xlbm9pZA0KLXsNCi1wdWJsaWM6DQotICAgdFNvbGVub2lkKCl7fQ0KLSAgIHZpcnR1YWwgfnRTb2xlbm9pZCgpe30NCi0NCi0gICB2aXJ0dWFsIHRTeXN0ZW1JbnRlcmZhY2UqIGdldFN5c3RlbUludGVyZmFjZSgpID0gMDsNCi0gICBzdGF0aWMgdFNvbGVub2lkKiBjcmVhdGUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk7DQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgICAgIGtOdW1TeXN0ZW1zID0gMSwNCi0gICB9IHRJZmFjZUNvbnN0YW50czsNCi0NCi0NCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bURPN18wRWxlbWVudHMgPSAyLA0KLSAgIH0gdERPN18wX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCB3cml0ZURPN18wKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHVuc2lnbmVkIGNoYXIgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGNoYXIgcmVhZERPN18wKHVuc2lnbmVkIGNoYXIgYml0ZmllbGRfaW5kZXgsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0NCi0NCi1wcml2YXRlOg0KLSAgIHRTb2xlbm9pZChjb25zdCB0U29sZW5vaWQmKTsNCi0gICB2b2lkIG9wZXJhdG9yPShjb25zdCB0U29sZW5vaWQmKTsNCi19Ow0KLQ0KLX0NCi19DQotDQotI2VuZGlmIC8vIF9fbkZSQ18yMDEyXzFfNl80X1NvbGVub2lkX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdFN5c3RlbS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90U3lzdGVtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMGU3YWMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90U3lzdGVtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vLyBCYXNlIGNsYXNzIGZvciBnZW5lcmF0ZWQgY2hpcCBvYmplY3RzDQotLy8gQ29weXJpZ2h0IChjKSBOYXRpb25hbCBJbnN0cnVtZW50cyAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCi0NCi0jaWZuZGVmIF9fdFN5c3RlbV9oX18NCi0jZGVmaW5lIF9fdFN5c3RlbV9oX18NCi0NCi0jaW5jbHVkZSAiTmlSaW8uaCINCi0jaW5jbHVkZSA8dnhXb3Jrcy5oPg0KLQ0KLSNkZWZpbmUgRlJDX0ZQR0FfUFJFTE9BRF9CSVRGSUxFDQotDQotdHlwZWRlZiB1aW50MzJfdCBOaUZwZ2FfU2Vzc2lvbjsNCi0NCi1uYW1lc3BhY2UgbkZQR0ENCi17DQotDQotY2xhc3MgdFN5c3RlbQ0KLXsNCi1wdWJsaWM6DQotICAgdFN5c3RlbSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0gICB+dFN5c3RlbSgpOw0KLSAgIHZvaWQgZ2V0RnBnYUd1aWQodWludDMyX3QgKmd1aWRfcHRyLCB0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0NCi1wcm90ZWN0ZWQ6DQotICAgc3RhdGljIE5pRnBnYV9TZXNzaW9uIF9EZXZpY2VIYW5kbGU7DQotDQotI2lmZGVmIEZSQ19GUEdBX1BSRUxPQURfQklURklMRQ0KLSAgIHZvaWQgTmlGcGdhX1NoYXJlZE9wZW5fY29tbW9uKGNvbnN0IGNoYXIqICAgICBiaXRmaWxlKTsNCi0gICBOaUZwZ2FfU3RhdHVzIE5pRnBnYV9TaGFyZWRPcGVuKGNvbnN0IGNoYXIqICAgICBiaXRmaWxlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiAgICAgc2lnbmF0dXJlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiAgICAgcmVzb3VyY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICBhdHRyaWJ1dGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5pRnBnYV9TZXNzaW9uKiBzZXNzaW9uKTsNCi0gICBOaUZwZ2FfU3RhdHVzIE5pRnBnYUx2X1NoYXJlZE9wZW4oY29uc3QgY2hhciogY29uc3QgICAgIGJpdGZpbGUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGNvbnN0ICAgICBhcGlTaWduYXR1cmUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGNvbnN0ICAgICByZXNvdXJjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgICAgICAgIGF0dHJpYnV0ZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTmlGcGdhX1Nlc3Npb24qIGNvbnN0IHNlc3Npb24pOw0KLXByaXZhdGU6DQotICAgIHN0YXRpYyBjaGFyICpfRmlsZU5hbWU7DQotICAgIHN0YXRpYyBjaGFyICpfQml0ZmlsZTsNCi0jZW5kaWYNCi19Ow0KLQ0KLX0NCi0NCi0jZW5kaWYgLy8gX190U3lzdGVtX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdFN5c3RlbUludGVyZmFjZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90U3lzdGVtSW50ZXJmYWNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxM2U5MzIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90U3lzdGVtSW50ZXJmYWNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLQ0KLSNpZm5kZWYgX190U3lzdGVtSW50ZXJmYWNlX2hfXw0KLSNkZWZpbmUgX190U3lzdGVtSW50ZXJmYWNlX2hfXw0KLQ0KLW5hbWVzcGFjZSBuRlBHQQ0KLXsNCi0NCi1jbGFzcyB0U3lzdGVtSW50ZXJmYWNlDQotew0KLXB1YmxpYzoNCi0gICB0U3lzdGVtSW50ZXJmYWNlKCl7fQ0KLSAgIHZpcnR1YWwgfnRTeXN0ZW1JbnRlcmZhY2UoKXt9DQotDQotICAgdmlydHVhbCBjb25zdCB1aW50MTZfdCBnZXRFeHBlY3RlZEZQR0FWZXJzaW9uKCk9MDsNCi0gICB2aXJ0dWFsIGNvbnN0IHVpbnQzMl90IGdldEV4cGVjdGVkRlBHQVJldmlzaW9uKCk9MDsNCi0gICB2aXJ0dWFsIGNvbnN0IHVpbnQzMl90ICogY29uc3QgZ2V0RXhwZWN0ZWRGUEdBU2lnbmF0dXJlKCk9MDsNCi0gICB2aXJ0dWFsIHZvaWQgZ2V0SGFyZHdhcmVGcGdhU2lnbmF0dXJlKHVpbnQzMl90ICpndWlkX3B0ciwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cyk9MDsNCi0gICB2aXJ0dWFsIHVpbnQzMl90IGdldExWSGFuZGxlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpPTA7DQotICAgdmlydHVhbCB1aW50MzJfdCBnZXRIYW5kbGUoKT0wOw0KLX07DQotDQotfQ0KLQ0KLSNlbmRpZiAvLyBfX3RTeXN0ZW1JbnRlcmZhY2VfaF9fDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90V2F0Y2hkb2cuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NoaXBPYmplY3QvdFdhdGNoZG9nLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzMmY4ZWYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ2hpcE9iamVjdC90V2F0Y2hkb2cuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0vLyBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLS8vIERvIE5vdCBFZGl0Li4uIHRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQhDQotDQotI2lmbmRlZiBfX25GUkNfMjAxMl8xXzZfNF9XYXRjaGRvZ19oX18NCi0jZGVmaW5lIF9fbkZSQ18yMDEyXzFfNl80X1dhdGNoZG9nX2hfXw0KLQ0KLSNpbmNsdWRlICJ0U3lzdGVtSW50ZXJmYWNlLmgiDQotDQotbmFtZXNwYWNlIG5GUEdBDQotew0KLW5hbWVzcGFjZSBuRlJDXzIwMTJfMV82XzQNCi17DQotDQotY2xhc3MgdFdhdGNoZG9nDQotew0KLXB1YmxpYzoNCi0gICB0V2F0Y2hkb2coKXt9DQotICAgdmlydHVhbCB+dFdhdGNoZG9nKCl7fQ0KLQ0KLSAgIHZpcnR1YWwgdFN5c3RlbUludGVyZmFjZSogZ2V0U3lzdGVtSW50ZXJmYWNlKCkgPSAwOw0KLSAgIHN0YXRpYyB0V2F0Y2hkb2cqIGNyZWF0ZSh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKTsNCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgICAga051bVN5c3RlbXMgPSAxLA0KLSAgIH0gdElmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHR5cGVkZWYNCi0gICB1bmlvbnsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgU3lzdGVtQWN0aXZlIDogMTsNCi0gICAgICAgICB1bnNpZ25lZCBBbGl2ZSA6IDE7DQotICAgICAgICAgdW5zaWduZWQgU3lzRGlzYWJsZUNvdW50IDogMTU7DQotICAgICAgICAgdW5zaWduZWQgRGlzYWJsZUNvdW50IDogMTU7DQotICAgICAgfTsNCi0gICAgICBzdHJ1Y3R7DQotICAgICAgICAgdW5zaWduZWQgdmFsdWUgOiAzMjsNCi0gICAgICB9Ow0KLSAgIH0gdFN0YXR1czsNCi0NCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0U3RhdHVzX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdFN0YXR1cyByZWFkU3RhdHVzKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIGJvb2wgcmVhZFN0YXR1c19TeXN0ZW1BY3RpdmUodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkU3RhdHVzX0FsaXZlKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHJlYWRTdGF0dXNfU3lzRGlzYWJsZUNvdW50KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IHJlYWRTdGF0dXNfRGlzYWJsZUNvdW50KHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0SW1tb3J0YWxfSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlSW1tb3J0YWwoYm9vbCB2YWx1ZSwgdFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLSAgIHZpcnR1YWwgYm9vbCByZWFkSW1tb3J0YWwodFJpb1N0YXR1c0NvZGUgKnN0YXR1cykgPSAwOw0KLQ0KLQ0KLSAgIHR5cGVkZWYgZW51bQ0KLSAgIHsNCi0gICB9IHRLaWxsX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdm9pZCBzdHJvYmVLaWxsKHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0NCi0NCi0gICB0eXBlZGVmIGVudW0NCi0gICB7DQotICAgfSB0RmVlZF9JZmFjZUNvbnN0YW50czsNCi0NCi0gICB2aXJ0dWFsIHZvaWQgc3Ryb2JlRmVlZCh0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdEV4cGlyYXRpb25fSWZhY2VDb25zdGFudHM7DQotDQotICAgdmlydHVhbCB2b2lkIHdyaXRlRXhwaXJhdGlvbih1bnNpZ25lZCBpbnQgdmFsdWUsIHRSaW9TdGF0dXNDb2RlICpzdGF0dXMpID0gMDsNCi0gICB2aXJ0dWFsIHVuc2lnbmVkIGludCByZWFkRXhwaXJhdGlvbih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotICAgdHlwZWRlZiBlbnVtDQotICAgew0KLSAgIH0gdFRpbWVyX0lmYWNlQ29uc3RhbnRzOw0KLQ0KLSAgIHZpcnR1YWwgdW5zaWduZWQgaW50IHJlYWRUaW1lcih0UmlvU3RhdHVzQ29kZSAqc3RhdHVzKSA9IDA7DQotDQotDQotDQotDQotcHJpdmF0ZToNCi0gICB0V2F0Y2hkb2coY29uc3QgdFdhdGNoZG9nJik7DQotICAgdm9pZCBvcGVyYXRvcj0oY29uc3QgdFdhdGNoZG9nJik7DQotfTsNCi0NCi19DQotfQ0KLQ0KLSNlbmRpZiAvLyBfX25GUkNfMjAxMl8xXzZfNF9XYXRjaGRvZ19oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTdkZGE0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDc1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmQuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZEdyb3VwLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL1NjaGVkdWxlci5oIg0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2luY2x1ZGUgIlRpbWVyLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLXN0YXRpYyBjb25zdCBjaGFyICprTmFtZSA9ICJuYW1lIjsNCi1zdGF0aWMgY29uc3QgY2hhciAqa1J1bm5pbmcgPSAicnVubmluZyI7DQotc3RhdGljIGNvbnN0IGNoYXIgKmtJc1BhcmVudGVkID0gImlzUGFyZW50ZWQiOw0KLQ0KLWludCBDb21tYW5kOjptX2NvbW1hbmRDb3VudGVyID0gMDsNCi0NCi12b2lkIENvbW1hbmQ6OkluaXRDb21tYW5kKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSB0aW1lb3V0KQ0KLXsNCi0JbV9jb21tYW5kSUQgPSBtX2NvbW1hbmRDb3VudGVyKys7DQotCW1fdGltZW91dCA9IHRpbWVvdXQ7DQotCW1fbG9ja2VkID0gZmFsc2U7DQotCW1fc3RhcnRUaW1lID0gLTE7DQotCW1faW5pdGlhbGl6ZWQgPSBmYWxzZTsNCi0JbV9ydW5uaW5nID0gZmFsc2U7DQotCW1faW50ZXJydXB0aWJsZSA9IHRydWU7DQotCW1fY2FuY2VsZWQgPSBmYWxzZTsNCi0JbV9ydW5XaGVuRGlzYWJsZWQgPSBmYWxzZTsNCi0JbV9wYXJlbnQgPSBOVUxMOw0KLQlpZiAobmFtZSA9PSBOVUxMKQ0KLQl7DQotCQkvLyBEb24ndCBoYXZlIGEgd2F5IHRvIGZpbmQgdGhlIHN1YmNsYXNzIG5hbWUgbGlrZSBqYXZhLCBzbyB1c2UgdGhlIGFkZHJlc3MNCi0JCWNoYXIgYnVmWzMyXTsNCi0JCXNucHJpbnRmKGJ1ZiwgMzIsICJDb21tYW5kXyVwIiwgdGhpcyk7DQotCQltX25hbWUgPSBidWY7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQltX25hbWUgPSBuYW1lOw0KLQl9DQotCW1fdGFibGUgPSBOVUxMOwkNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kLg0KLSAqIFRoZSBuYW1lIG9mIHRoaXMgY29tbWFuZCB3aWxsIGJlIGRlZmF1bHQuDQotICovDQotQ29tbWFuZDo6Q29tbWFuZCgpDQotew0KLQlJbml0Q29tbWFuZChOVUxMLCAtMS4wKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIG5vIHRpbWVvdXQuDQotICogQHBhcmFtIG5hbWUgdGhlIG5hbWUgZm9yIHRoaXMgY29tbWFuZA0KLSAqLw0KLUNvbW1hbmQ6OkNvbW1hbmQoY29uc3QgY2hhciAqbmFtZSkNCi17DQotCWlmIChuYW1lID09IE5VTEwpDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAibmFtZSIpOw0KLQlJbml0Q29tbWFuZChuYW1lLCAtMS4wKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIHRpbWVvdXQgYW5kIGEgZGVmYXVsdCBuYW1lLg0KLSAqIEBwYXJhbSB0aW1lb3V0IHRoZSB0aW1lIChpbiBzZWNvbmRzKSBiZWZvcmUgdGhpcyBjb21tYW5kICJ0aW1lcyBvdXQiDQotICogQHNlZSBDb21tYW5kI2lzVGltZWRPdXQoKSBpc1RpbWVkT3V0KCkNCi0gKi8NCi1Db21tYW5kOjpDb21tYW5kKGRvdWJsZSB0aW1lb3V0KQ0KLXsNCi0JaWYgKHRpbWVvdXQgPCAwLjApDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAidGltZW91dCA8IDAuMCIpOw0KLQlJbml0Q29tbWFuZChOVUxMLCB0aW1lb3V0KTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIG5hbWUgYW5kIHRpbWVvdXQuDQotICogQHBhcmFtIG5hbWUgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQNCi0gKiBAcGFyYW0gdGltZW91dCB0aGUgdGltZSAoaW4gc2Vjb25kcykgYmVmb3JlIHRoaXMgY29tbWFuZCAidGltZXMgb3V0Ig0KLSAqIEBzZWUgQ29tbWFuZCNpc1RpbWVkT3V0KCkgaXNUaW1lZE91dCgpDQotICovDQotQ29tbWFuZDo6Q29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgdGltZW91dCkNCi17DQotCWlmIChuYW1lID09IE5VTEwpDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAibmFtZSIpOw0KLQlpZiAodGltZW91dCA8IDAuMCkNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJ0aW1lb3V0IDwgMC4wIik7DQotCUluaXRDb21tYW5kKG5hbWUsIHRpbWVvdXQpOw0KLX0NCi0NCi1Db21tYW5kOjp+Q29tbWFuZCgpDQotey8vVE9ETyBkZWFsIHdpdGggY2xlYW5pbmcgdXAgYWxsIGxpc3RlbmVycw0KLQkvKmlmIChtX3RhYmxlICE9IE5VTEwpew0KLQkJbV90YWJsZS0+UmVtb3ZlQ2hhbmdlTGlzdGVuZXIoa1J1bm5pbmcsIHRoaXMpOw0KLQl9Ki8NCi19DQotDQotLyoqDQotICogR2V0IHRoZSBJRCAoc2VxdWVuY2UgbnVtYmVyKSBmb3IgdGhpcyBjb21tYW5kDQotICogVGhlIElEIGlzIGEgdW5pcXVlIHNlcXVlbmNlIG51bWJlciB0aGF0IGlzIGluY3JlbWVudGVkIGZvciBlYWNoIGNvbW1hbmQuDQotICogQHJldHVybiB0aGUgSUQgb2YgdGhpcyBjb21tYW5kDQotICovDQotaW50IENvbW1hbmQ6OkdldElEKCkgew0KLQlyZXR1cm4gbV9jb21tYW5kSUQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldHMgdGhlIHRpbWVvdXQgb2YgdGhpcyBjb21tYW5kLg0KLSAqIEBwYXJhbSB0aW1lb3V0IHRoZSB0aW1lb3V0IChpbiBzZWNvbmRzKQ0KLSAqIEBzZWUgQ29tbWFuZCNpc1RpbWVkT3V0KCkgaXNUaW1lZE91dCgpDQotICovDQotdm9pZCBDb21tYW5kOjpTZXRUaW1lb3V0KGRvdWJsZSB0aW1lb3V0KQ0KLXsNCi0JaWYgKHRpbWVvdXQgPCAwLjApDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAidGltZW91dCA8IDAuMCIpOw0KLQllbHNlDQotCQltX3RpbWVvdXQgPSB0aW1lb3V0Ow0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSB0aW1lIHNpbmNlIHRoaXMgY29tbWFuZCB3YXMgaW5pdGlhbGl6ZWQgKGluIHNlY29uZHMpLg0KLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCB3b3JrIGV2ZW4gaWYgdGhlcmUgaXMgbm8gc3BlY2lmaWVkIHRpbWVvdXQuDQotICogQHJldHVybiB0aGUgdGltZSBzaW5jZSB0aGlzIGNvbW1hbmQgd2FzIGluaXRpYWxpemVkIChpbiBzZWNvbmRzKS4NCi0gKi8NCi1kb3VibGUgQ29tbWFuZDo6VGltZVNpbmNlSW5pdGlhbGl6ZWQoKQ0KLXsNCi0JaWYgKG1fc3RhcnRUaW1lIDwgMC4wKQ0KLQkJcmV0dXJuIDAuMDsNCi0JZWxzZQ0KLQkJcmV0dXJuIFRpbWVyOjpHZXRGUEdBVGltZXN0YW1wKCkgLSBtX3N0YXJ0VGltZTsNCi19DQotDQotLyoqDQotICogVGhpcyBtZXRob2Qgc3BlY2lmaWVzIHRoYXQgdGhlIGdpdmVuIHtAbGluayBTdWJzeXN0ZW19IGlzIHVzZWQgYnkgdGhpcyBjb21tYW5kLg0KLSAqIFRoaXMgbWV0aG9kIGlzIGNydWNpYWwgdG8gdGhlIGZ1bmN0aW9uaW5nIG9mIHRoZSBDb21tYW5kIFN5c3RlbSBpbiBnZW5lcmFsLg0KLSAqDQotICogPHA+Tm90ZSB0aGF0IHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gY2FsbCB0aGlzIG1ldGhvZCBpcyBpbiB0aGUgY29uc3RydWN0b3IuPC9wPg0KLSAqDQotICogQHBhcmFtIHN1YnN5c3RlbSB0aGUge0BsaW5rIFN1YnN5c3RlbX0gcmVxdWlyZWQNCi0gKiBAc2VlIFN1YnN5c3RlbQ0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6UmVxdWlyZXMoU3Vic3lzdGVtICpzdWJzeXN0ZW0pDQotew0KLQlpZiAoIUFzc2VydFVubG9ja2VkKCJDYW4gbm90IGFkZCBuZXcgcmVxdWlyZW1lbnQgdG8gY29tbWFuZCIpKQ0KLQkJcmV0dXJuOw0KLQ0KLQlpZiAoc3Vic3lzdGVtICE9IE5VTEwpDQotCQltX3JlcXVpcmVtZW50cy5pbnNlcnQoc3Vic3lzdGVtKTsNCi0JZWxzZQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgInN1YnN5c3RlbSIpOw0KLX0NCi0NCi0vKioNCi0gKiBDYWxsZWQgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiByZW1vdmVkLg0KLSAqIFRoaXMgd2lsbCBjYWxsIHtAbGluayBDb21tYW5kI2ludGVycnVwdGVkKCkgaW50ZXJydXB0ZWQoKX0gb3Ige0BsaW5rIENvbW1hbmQjZW5kKCkgZW5kKCl9Lg0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6UmVtb3ZlZCgpDQotew0KLQlpZiAobV9pbml0aWFsaXplZCkNCi0Jew0KLQkJaWYgKElzQ2FuY2VsZWQoKSkNCi0JCXsNCi0JCQlJbnRlcnJ1cHRlZCgpOw0KLQkJCV9JbnRlcnJ1cHRlZCgpOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCUVuZCgpOw0KLQkJCV9FbmQoKTsNCi0JCX0NCi0JfQ0KLQltX2luaXRpYWxpemVkID0gZmFsc2U7DQotCW1fY2FuY2VsZWQgPSBmYWxzZTsNCi0JbV9ydW5uaW5nID0gZmFsc2U7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpDQotCQltX3RhYmxlLT5QdXRCb29sZWFuKGtSdW5uaW5nLCBmYWxzZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXJ0cyB1cCB0aGUgY29tbWFuZC4gIEdldHMgdGhlIGNvbW1hbmQgcmVhZHkgdG8gc3RhcnQuDQotICogPHA+Tm90ZSB0aGF0IHRoZSBjb21tYW5kIHdpbGwgZXZlbnR1YWxseSBzdGFydCwgaG93ZXZlciBpdCB3aWxsIG5vdCBuZWNlc3NhcmlseQ0KLSAqIGRvIHNvIGltbWVkaWF0ZWx5LCBhbmQgbWF5IGluIGZhY3QgYmUgY2FuY2VsZWQgYmVmb3JlIGluaXRpYWxpemUgaXMgZXZlbiBjYWxsZWQuPC9wPg0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6U3RhcnQoKQ0KLXsNCi0JTG9ja0NoYW5nZXMoKTsNCi0JaWYgKG1fcGFyZW50ICE9IE5VTEwpDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDb21tYW5kSWxsZWdhbFVzZSwgIkNhbiBub3Qgc3RhcnQgYSBjb21tYW5kIHRoYXQgaXMgcGFydCBvZiBhIGNvbW1hbmQgZ3JvdXAiKTsNCi0NCi0JU2NoZWR1bGVyOjpHZXRJbnN0YW5jZSgpLT5BZGRDb21tYW5kKHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBUaGUgcnVuIG1ldGhvZCBpcyB1c2VkIGludGVybmFsbHkgdG8gYWN0dWFsbHkgcnVuIHRoZSBjb21tYW5kcy4NCi0gKiBAcmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoZSBjb21tYW5kIHNob3VsZCBzdGF5IHdpdGhpbiB0aGUge0BsaW5rIFNjaGVkdWxlcn0uDQotICovDQotYm9vbCBDb21tYW5kOjpSdW4oKQ0KLXsNCi0JaWYgKCFtX3J1bldoZW5EaXNhYmxlZCAmJiBtX3BhcmVudCA9PSBOVUxMICYmIERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPklzRGlzYWJsZWQoKSkNCi0JCUNhbmNlbCgpOw0KLQ0KLQlpZiAoSXNDYW5jZWxlZCgpKQ0KLQkJcmV0dXJuIGZhbHNlOw0KLQ0KLQlpZiAoIW1faW5pdGlhbGl6ZWQpDQotCXsNCi0JCW1faW5pdGlhbGl6ZWQgPSB0cnVlOw0KLQkJU3RhcnRUaW1pbmcoKTsNCi0JCV9Jbml0aWFsaXplKCk7DQotCQlJbml0aWFsaXplKCk7DQotCX0NCi0JX0V4ZWN1dGUoKTsNCi0JRXhlY3V0ZSgpOw0KLQlyZXR1cm4gIUlzRmluaXNoZWQoKTsNCi19DQotDQotdm9pZCBDb21tYW5kOjpfSW5pdGlhbGl6ZSgpDQotew0KLX0NCi0NCi12b2lkIENvbW1hbmQ6Ol9JbnRlcnJ1cHRlZCgpDQotew0KLX0NCi0NCi12b2lkIENvbW1hbmQ6Ol9FeGVjdXRlKCkNCi17DQotfQ0KLQ0KLXZvaWQgQ29tbWFuZDo6X0VuZCgpDQotew0KLX0NCi0NCi0vKioNCi0gKiBDYWxsZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdGltZXIgc2hvdWxkIHN0YXJ0Lg0KLSAqIFRoaXMgaXMgY2FsbGVkIHJpZ2h0IGJlZm9yZSB7QGxpbmsgQ29tbWFuZCNpbml0aWFsaXplKCkgaW5pdGlhbGl6ZSgpfSBpcywgaW5zaWRlIHRoZQ0KLSAqIHtAbGluayBDb21tYW5kI3J1bigpIHJ1bigpfSBtZXRob2QuDQotICovDQotdm9pZCBDb21tYW5kOjpTdGFydFRpbWluZygpDQotew0KLQltX3N0YXJ0VGltZSA9IFRpbWVyOjpHZXRGUEdBVGltZXN0YW1wKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHtAbGluayBDb21tYW5kI3RpbWVTaW5jZUluaXRpYWxpemVkKCkgdGltZVNpbmNlSW5pdGlhbGl6ZWQoKX0NCi0gKiBtZXRob2QgcmV0dXJucyBhIG51bWJlciB3aGljaCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHRpbWVvdXQgZm9yIHRoZSBjb21tYW5kLg0KLSAqIElmIHRoZXJlIGlzIG5vIHRpbWVvdXQsIHRoaXMgd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlLg0KLSAqIEByZXR1cm4gd2hldGhlciB0aGUgdGltZSBoYXMgZXhwaXJlZA0KLSAqLw0KLWJvb2wgQ29tbWFuZDo6SXNUaW1lZE91dCgpDQotew0KLQlyZXR1cm4gbV90aW1lb3V0ICE9IC0xICYmIFRpbWVTaW5jZUluaXRpYWxpemVkKCkgPj0gbV90aW1lb3V0Ow0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSByZXF1aXJlbWVudHMgKGFzIGFuIHN0ZDo6c2V0IG9mIHtAbGluayBTdWJzeXN0ZW0gU3Vic3lzdGVtc30gcG9pbnRlcnMpIG9mIHRoaXMgY29tbWFuZA0KLSAqIEByZXR1cm4gdGhlIHJlcXVpcmVtZW50cyAoYXMgYW4gc3RkOjpzZXQgb2Yge0BsaW5rIFN1YnN5c3RlbSBTdWJzeXN0ZW1zfSBwb2ludGVycykgb2YgdGhpcyBjb21tYW5kDQotICovDQotQ29tbWFuZDo6U3Vic3lzdGVtU2V0IENvbW1hbmQ6OkdldFJlcXVpcmVtZW50cygpDQotew0KLQlyZXR1cm4gbV9yZXF1aXJlbWVudHM7DQotfQ0KLQ0KLS8qKg0KLSAqIFByZXZlbnRzIGZ1cnRoZXIgY2hhbmdlcyBmcm9tIGJlaW5nIG1hZGUNCi0gKi8NCi12b2lkIENvbW1hbmQ6OkxvY2tDaGFuZ2VzKCkNCi17DQotCW1fbG9ja2VkID0gdHJ1ZTsNCi19DQotDQotLyoqDQotICogSWYgY2hhbmdlcyBhcmUgbG9ja2VkLCB0aGVuIHRoaXMgd2lsbCBnZW5lcmF0ZSBhIENvbW1hbmRJbGxlZ2FsVXNlIGVycm9yLg0KLSAqIEBwYXJhbSBtZXNzYWdlIHRoZSBtZXNzYWdlIHRvIHJlcG9ydCBvbiBlcnJvciAoaXQgaXMgYXBwZW5kZWQgYnkgYSBkZWZhdWx0IG1lc3NhZ2UpDQotICogQHJldHVybiB0cnVlIGlmIGFzc2VydCBwYXNzZWQsIGZhbHNlIGlmIGFzc2VydCBmYWlsZWQNCi0gKi8NCi1ib29sIENvbW1hbmQ6OkFzc2VydFVubG9ja2VkKGNvbnN0IGNoYXIgKm1lc3NhZ2UpDQotew0KLQlpZiAobV9sb2NrZWQpDQotCXsNCi0JCWNoYXIgYnVmWzEyOF07DQotCQlzbnByaW50ZihidWYsIDEyOCwgIiVzIGFmdGVyIGJlaW5nIHN0YXJ0ZWQgb3IgYmVpbmcgYWRkZWQgdG8gYSBjb21tYW5kIGdyb3VwIiwgbWVzc2FnZSk7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDb21tYW5kSWxsZWdhbFVzZSwgYnVmKTsNCi0JCXJldHVybiBmYWxzZTsNCi0JfQ0KLQlyZXR1cm4gdHJ1ZTsNCi19DQotDQotLyoqDQotICogU2V0cyB0aGUgcGFyZW50IG9mIHRoaXMgY29tbWFuZC4gIE5vIGFjdHVhbCBjaGFuZ2UgaXMgbWFkZSB0byB0aGUgZ3JvdXAuDQotICogQHBhcmFtIHBhcmVudCB0aGUgcGFyZW50DQotICovDQotdm9pZCBDb21tYW5kOjpTZXRQYXJlbnQoQ29tbWFuZEdyb3VwICpwYXJlbnQpDQotew0KLQlpZiAocGFyZW50ID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJwYXJlbnQiKTsNCi0JfQ0KLQllbHNlIGlmIChtX3BhcmVudCAhPSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDb21tYW5kSWxsZWdhbFVzZSwgIkNhbiBub3QgZ2l2ZSBjb21tYW5kIHRvIGEgY29tbWFuZCBncm91cCBhZnRlciBhbHJlYWR5IGJlaW5nIHB1dCBpbiBhIGNvbW1hbmQgZ3JvdXAiKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCUxvY2tDaGFuZ2VzKCk7DQotCQltX3BhcmVudCA9IHBhcmVudDsNCi0JCWlmIChtX3RhYmxlICE9IE5VTEwpDQotCQl7DQotCQkJbV90YWJsZS0+UHV0Qm9vbGVhbihrSXNQYXJlbnRlZCwgdHJ1ZSk7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogVGhpcyBpcyB1c2VkIGludGVybmFsbHkgdG8gbWFyayB0aGF0IHRoZSBjb21tYW5kIGhhcyBiZWVuIHN0YXJ0ZWQuDQotICogVGhlIGxpZmVjeWNsZSBvZiBhIGNvbW1hbmQgaXM6DQotICoNCi0gKiBzdGFydFJ1bm5pbmcoKSBpcyBjYWxsZWQuDQotICogcnVuKCkgaXMgY2FsbGVkIChtdWx0aXBsZSB0aW1lcyBwb3RlbnRpYWxseSkNCi0gKiByZW1vdmVkKCkgaXMgY2FsbGVkDQotICoNCi0gKiBJdCBpcyB2ZXJ5IGltcG9ydGFudCB0aGF0IHN0YXJ0UnVubmluZyBhbmQgcmVtb3ZlZCBiZSBjYWxsZWQgaW4gb3JkZXIgb3Igc29tZSBhc3N1bXB0aW9ucw0KLSAqIG9mIHRoZSBjb2RlIHdpbGwgYmUgYnJva2VuLg0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6U3RhcnRSdW5uaW5nKCkNCi17DQotCW1fcnVubmluZyA9IHRydWU7DQotCW1fc3RhcnRUaW1lID0gLTE7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpDQotCQltX3RhYmxlLT5QdXRCb29sZWFuKGtSdW5uaW5nLCB0cnVlKTsNCi19DQotDQotLyoqDQotICogUmV0dXJucyB3aGV0aGVyIG9yIG5vdCB0aGUgY29tbWFuZCBpcyBydW5uaW5nLg0KLSAqIFRoaXMgbWF5IHJldHVybiB0cnVlIGV2ZW4gaWYgdGhlIGNvbW1hbmQgaGFzIGp1c3QgYmVlbiBjYW5jZWxlZCwgYXMgaXQgbWF5DQotICogbm90IGhhdmUgeWV0IGNhbGxlZCB7QGxpbmsgQ29tbWFuZCNpbnRlcnJ1cHRlZCgpfS4NCi0gKiBAcmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoZSBjb21tYW5kIGlzIHJ1bm5pbmcNCi0gKi8NCi1ib29sIENvbW1hbmQ6OklzUnVubmluZygpDQotew0KLQlyZXR1cm4gbV9ydW5uaW5nOw0KLX0NCi0NCi0vKioNCi0gKiBUaGlzIHdpbGwgY2FuY2VsIHRoZSBjdXJyZW50IGNvbW1hbmQuDQotICogPHA+VGhpcyB3aWxsIGNhbmNlbCB0aGUgY3VycmVudCBjb21tYW5kIGV2ZW50dWFsbHkuICBJdCBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLg0KLSAqIEFuZCBpdCBjYW4gYmUgY2FsbGVkIHdoZW4gdGhlIGNvbW1hbmQgaXMgbm90IHJ1bm5pbmcuICBJZiB0aGUgY29tbWFuZCBpcyBydW5uaW5nIHRob3VnaCwNCi0gKiB0aGVuIHRoZSBjb21tYW5kIHdpbGwgYmUgbWFya2VkIGFzIGNhbmNlbGVkIGFuZCBldmVudHVhbGx5IHJlbW92ZWQuPC9wPg0KLSAqIDxwPkEgY29tbWFuZCBjYW4gbm90IGJlIGNhbmNlbGVkDQotICogaWYgaXQgaXMgYSBwYXJ0IG9mIGEgY29tbWFuZCBncm91cCwgeW91IG11c3QgY2FuY2VsIHRoZSBjb21tYW5kIGdyb3VwIGluc3RlYWQuPC9wPg0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6Q2FuY2VsKCkNCi17DQotCWlmIChtX3BhcmVudCAhPSBOVUxMKQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoQ29tbWFuZElsbGVnYWxVc2UsICJDYW4gbm90IGNhbmNlbCBhIGNvbW1hbmQgdGhhdCBpcyBwYXJ0IG9mIGEgY29tbWFuZCBncm91cCIpOw0KLQ0KLQlfQ2FuY2VsKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFRoaXMgd29ya3MgbGlrZSBjYW5jZWwoKSwgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCB0aHJvdyBhbiBleGNlcHRpb24gaWYgaXQgaXMgYSBwYXJ0DQotICogb2YgYSBjb21tYW5kIGdyb3VwLiAgU2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IHRoZSBwYXJlbnQgY29tbWFuZCBncm91cC4NCi0gKi8NCi12b2lkIENvbW1hbmQ6Ol9DYW5jZWwoKQ0KLXsNCi0JaWYgKElzUnVubmluZygpKQ0KLQkJbV9jYW5jZWxlZCA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhpcyBoYXMgYmVlbiBjYW5jZWxlZC4NCi0gKiBAcmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoaXMgaGFzIGJlZW4gY2FuY2VsZWQNCi0gKi8NCi1ib29sIENvbW1hbmQ6OklzQ2FuY2VsZWQoKQ0KLXsNCi0JcmV0dXJuIG1fY2FuY2VsZWQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhpcyBjb21tYW5kIGNhbiBiZSBpbnRlcnJ1cHRlZC4NCi0gKiBAcmV0dXJuIHdoZXRoZXIgb3Igbm90IHRoaXMgY29tbWFuZCBjYW4gYmUgaW50ZXJydXB0ZWQNCi0gKi8NCi1ib29sIENvbW1hbmQ6OklzSW50ZXJydXB0aWJsZSgpDQotew0KLQlyZXR1cm4gbV9pbnRlcnJ1cHRpYmxlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXRzIHdoZXRoZXIgb3Igbm90IHRoaXMgY29tbWFuZCBjYW4gYmUgaW50ZXJydXB0ZWQuDQotICogQHBhcmFtIGludGVycnVwdGlibGUgd2hldGhlciBvciBub3QgdGhpcyBjb21tYW5kIGNhbiBiZSBpbnRlcnJ1cHRlZA0KLSAqLw0KLXZvaWQgQ29tbWFuZDo6U2V0SW50ZXJydXB0aWJsZShib29sIGludGVycnVwdGlibGUpDQotew0KLQltX2ludGVycnVwdGlibGUgPSBpbnRlcnJ1cHRpYmxlOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgcmVxdWlyZXMgdGhlIGdpdmVuIHtAbGluayBTdWJzeXN0ZW19Lg0KLSAqIEBwYXJhbSBzeXN0ZW0gdGhlIHN5c3RlbQ0KLSAqIEByZXR1cm4gd2hldGhlciBvciBub3QgdGhlIHN1YnN5c3RlbSBpcyByZXF1aXJlZCAoZmFsc2UgaWYgZ2l2ZW4gTlVMTCkNCi0gKi8NCi1ib29sIENvbW1hbmQ6OkRvZXNSZXF1aXJlKFN1YnN5c3RlbSAqc3lzdGVtKQ0KLXsNCi0JcmV0dXJuIG1fcmVxdWlyZW1lbnRzLmNvdW50KHN5c3RlbSkgPiAwOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSB7QGxpbmsgQ29tbWFuZEdyb3VwfSB0aGF0IHRoaXMgY29tbWFuZCBpcyBhIHBhcnQgb2YuDQotICogV2lsbCByZXR1cm4gbnVsbCBpZiB0aGlzIHtAbGluayBDb21tYW5kfSBpcyBub3QgaW4gYSBncm91cC4NCi0gKiBAcmV0dXJuIHRoZSB7QGxpbmsgQ29tbWFuZEdyb3VwfSB0aGF0IHRoaXMgY29tbWFuZCBpcyBhIHBhcnQgb2YgKG9yIG51bGwgaWYgbm90IGluIGdyb3VwKQ0KLSAqLw0KLUNvbW1hbmRHcm91cCAqQ29tbWFuZDo6R2V0R3JvdXAoKQ0KLXsNCi0JcmV0dXJuIG1fcGFyZW50Ow0KLX0NCi0NCi0vKioNCi0gKiBTZXRzIHdoZXRoZXIgb3Igbm90IHRoaXMge0BsaW5rIENvbW1hbmR9IHNob3VsZCBydW4gd2hlbiB0aGUgcm9ib3QgaXMgZGlzYWJsZWQuDQotICoNCi0gKiA8cD5CeSBkZWZhdWx0IGEgY29tbWFuZCB3aWxsIG5vdCBydW4gd2hlbiB0aGUgcm9ib3QgaXMgZGlzYWJsZWQsIGFuZCB3aWxsIGluIGZhY3QgYmUgY2FuY2VsZWQuPC9wPg0KLSAqIEBwYXJhbSBydW4gd2hldGhlciBvciBub3QgdGhpcyBjb21tYW5kIHNob3VsZCBydW4gd2hlbiB0aGUgcm9ib3QgaXMgZGlzYWJsZWQNCi0gKi8NCi12b2lkIENvbW1hbmQ6OlNldFJ1bldoZW5EaXNhYmxlZChib29sIHJ1bikNCi17DQotCW1fcnVuV2hlbkRpc2FibGVkID0gcnVuOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoaXMge0BsaW5rIENvbW1hbmR9IHdpbGwgcnVuIHdoZW4gdGhlIHJvYm90IGlzIGRpc2FibGVkLCBvciBpZiBpdCB3aWxsIGNhbmNlbCBpdHNlbGYuDQotICogQHJldHVybiB3aGV0aGVyIG9yIG5vdCB0aGlzIHtAbGluayBDb21tYW5kfSB3aWxsIHJ1biB3aGVuIHRoZSByb2JvdCBpcyBkaXNhYmxlZCwgb3IgaWYgaXQgd2lsbCBjYW5jZWwgaXRzZWxmDQotICovDQotYm9vbCBDb21tYW5kOjpXaWxsUnVuV2hlbkRpc2FibGVkKCkNCi17DQotCXJldHVybiBtX3J1bldoZW5EaXNhYmxlZDsNCi19DQotDQotc3RkOjpzdHJpbmcgQ29tbWFuZDo6R2V0TmFtZSgpDQotew0KLQlyZXR1cm4gbV9uYW1lOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBDb21tYW5kOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKQ0KLXsNCi0JcmV0dXJuICJDb21tYW5kIjsNCi19DQotDQotdm9pZCBDb21tYW5kOjpJbml0VGFibGUoSVRhYmxlKiB0YWJsZSkNCi17DQotICAgIGlmKG1fdGFibGUhPU5VTEwpDQotICAgIAltX3RhYmxlLT5SZW1vdmVUYWJsZUxpc3RlbmVyKHRoaXMpOw0KLSAgICBtX3RhYmxlID0gdGFibGU7DQotICAgIGlmKG1fdGFibGUhPU5VTEwpew0KLSAgICAJbV90YWJsZS0+UHV0U3RyaW5nKGtOYW1lLCBHZXROYW1lKCkpOw0KLSAgICAJbV90YWJsZS0+UHV0Qm9vbGVhbihrUnVubmluZywgSXNSdW5uaW5nKCkpOw0KLSAgICAJbV90YWJsZS0+UHV0Qm9vbGVhbihrSXNQYXJlbnRlZCwgbV9wYXJlbnQgIT0gTlVMTCk7DQotICAgIAltX3RhYmxlLT5BZGRUYWJsZUxpc3RlbmVyKGtSdW5uaW5nLCB0aGlzLCBmYWxzZSk7DQotICAgIH0NCi19DQotDQotSVRhYmxlKiBDb21tYW5kOjpHZXRUYWJsZSgpew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQotdm9pZCBDb21tYW5kOjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpDQotew0KLQlpZiAodmFsdWUuYil7DQotCQlpZighSXNSdW5uaW5nKCkpDQotCQkJU3RhcnQoKTsNCi0JfQ0KLQllbHNlew0KLQkJaWYoSXNSdW5uaW5nKCkpDQotCQkJQ2FuY2VsKCk7DQotCX0NCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNzA0NjI0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQuaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19DT01NQU5EX0hfXw0KLSNkZWZpbmUgX19DT01NQU5EX0hfXw0KLQ0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvTmFtZWRTZW5kYWJsZS5oIg0KLSNpbmNsdWRlIDxzZXQ+DQotI2luY2x1ZGUgPHN0cmluZz4NCi0NCi1jbGFzcyBDb21tYW5kR3JvdXA7DQotY2xhc3MgU3Vic3lzdGVtOw0KLQ0KLS8qKg0KLSAqIFRoZSBDb21tYW5kIGNsYXNzIGlzIGF0IHRoZSB2ZXJ5IGNvcmUgb2YgdGhlIGVudGlyZSBjb21tYW5kIGZyYW1ld29yay4NCi0gKiBFdmVyeSBjb21tYW5kIGNhbiBiZSBzdGFydGVkIHdpdGggYSBjYWxsIHRvIHtAbGluayBDb21tYW5kI1N0YXJ0KCkgU3RhcnQoKX0uDQotICogT25jZSBhIGNvbW1hbmQgaXMgc3RhcnRlZCBpdCB3aWxsIGNhbGwge0BsaW5rIENvbW1hbmQjSW5pdGlhbGl6ZSgpIEluaXRpYWxpemUoKX0sIGFuZCB0aGVuDQotICogd2lsbCByZXBlYXRlZGx5IGNhbGwge0BsaW5rIENvbW1hbmQjRXhlY3V0ZSgpIEV4ZWN1dGUoKX0gdW50aWwgdGhlIHtAbGluayBDb21tYW5kI0lzRmluaXNoZWQoKSBJc0ZpbmlzaGVkKCl9DQotICogcmV0dXJucyB0cnVlLiAgT25jZSBpdCBkb2VzLCB7QGxpbmsgQ29tbWFuZCNFbmQoKSBFbmQoKX0gd2lsbCBiZSBjYWxsZWQuDQotICoNCi0gKiA8cD5Ib3dldmVyLCBpZiBhdCBhbnkgcG9pbnQgd2hpbGUgaXQgaXMgcnVubmluZyB7QGxpbmsgQ29tbWFuZCNDYW5jZWwoKSBDYW5jZWwoKX0gaXMgY2FsbGVkLCB0aGVuDQotICogdGhlIGNvbW1hbmQgd2lsbCBiZSBzdG9wcGVkIGFuZCB7QGxpbmsgQ29tbWFuZCNJbnRlcnJ1cHRlZCgpIEludGVycnVwdGVkKCl9IHdpbGwgYmUgY2FsbGVkLjwvcD4NCi0gKg0KLSAqIDxwPklmIGEgY29tbWFuZCB1c2VzIGEge0BsaW5rIFN1YnN5c3RlbX0sIHRoZW4gaXQgc2hvdWxkIHNwZWNpZnkgdGhhdCBpdCBkb2VzIHNvIGJ5DQotICogY2FsbGluZyB0aGUge0BsaW5rIENvbW1hbmQjUmVxdWlyZXMoU3Vic3lzdGVtKSBSZXF1aXJlcyguLi4pfSBtZXRob2QNCi0gKiBpbiBpdHMgY29uc3RydWN0b3IuIE5vdGUgdGhhdCBhIENvbW1hbmQgbWF5IGhhdmUgbXVsdGlwbGUgcmVxdWlyZW1lbnRzLCBhbmQNCi0gKiB7QGxpbmsgQ29tbWFuZCNSZXF1aXJlcyhTdWJzeXN0ZW0pIFJlcXVpcmVzKC4uLil9IHNob3VsZCBiZQ0KLSAqIGNhbGxlZCBmb3IgZWFjaCBvbmUuPC9wPg0KLSAqDQotICogPHA+SWYgYSBjb21tYW5kIGlzIHJ1bm5pbmcgYW5kIGEgbmV3IGNvbW1hbmQgd2l0aCBzaGFyZWQgcmVxdWlyZW1lbnRzIGlzIHN0YXJ0ZWQsDQotICogdGhlbiBvbmUgb2YgdHdvIHRoaW5ncyB3aWxsIGhhcHBlbi4gIElmIHRoZSBhY3RpdmUgY29tbWFuZCBpcyBpbnRlcnJ1cHRpYmxlLA0KLSAqIHRoZW4ge0BsaW5rIENvbW1hbmQjQ2FuY2VsKCkgQ2FuY2VsKCl9IHdpbGwgYmUgY2FsbGVkIGFuZCB0aGUgY29tbWFuZCB3aWxsIGJlIHJlbW92ZWQNCi0gKiB0byBtYWtlIHdheSBmb3IgdGhlIG5ldyBvbmUuICBJZiB0aGUgYWN0aXZlIGNvbW1hbmQgaXMgbm90IGludGVycnVwdGlibGUsIHRoZQ0KLSAqIG90aGVyIG9uZSB3aWxsIG5vdCBldmVuIGJlIHN0YXJ0ZWQsIGFuZCB0aGUgYWN0aXZlIG9uZSB3aWxsIGNvbnRpbnVlIGZ1bmN0aW9uaW5nLjwvcD4NCi0gKg0KLSAqIEBzZWUgQ29tbWFuZEdyb3VwDQotICogQHNlZSBTdWJzeXN0ZW0NCi0gKi8NCi1jbGFzcyBDb21tYW5kIDogcHVibGljIEVycm9yQmFzZSwgcHVibGljIE5hbWVkU2VuZGFibGUsIHB1YmxpYyBJVGFibGVMaXN0ZW5lcg0KLXsNCi0JZnJpZW5kIGNsYXNzIENvbW1hbmRHcm91cDsNCi0JZnJpZW5kIGNsYXNzIFNjaGVkdWxlcjsNCi1wdWJsaWM6DQotCUNvbW1hbmQoKTsNCi0JQ29tbWFuZChjb25zdCBjaGFyICpuYW1lKTsNCi0JQ29tbWFuZChkb3VibGUgdGltZW91dCk7DQotCUNvbW1hbmQoY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHRpbWVvdXQpOw0KLQl2aXJ0dWFsIH5Db21tYW5kKCk7DQotCWRvdWJsZSBUaW1lU2luY2VJbml0aWFsaXplZCgpOw0KLQl2b2lkIFJlcXVpcmVzKFN1YnN5c3RlbSAqcyk7DQotCWJvb2wgSXNDYW5jZWxlZCgpOw0KLQl2b2lkIFN0YXJ0KCk7DQotCWJvb2wgUnVuKCk7DQotCXZvaWQgQ2FuY2VsKCk7DQotCWJvb2wgSXNSdW5uaW5nKCk7DQotCWJvb2wgSXNJbnRlcnJ1cHRpYmxlKCk7DQotCXZvaWQgU2V0SW50ZXJydXB0aWJsZShib29sIGludGVycnVwdGlibGUpOw0KLQlib29sIERvZXNSZXF1aXJlKFN1YnN5c3RlbSAqc3Vic3lzdGVtKTsNCi0JdHlwZWRlZiBzdGQ6OnNldDxTdWJzeXN0ZW0gKj4gU3Vic3lzdGVtU2V0Ow0KLQlTdWJzeXN0ZW1TZXQgR2V0UmVxdWlyZW1lbnRzKCk7DQotCUNvbW1hbmRHcm91cCAqR2V0R3JvdXAoKTsNCi0Jdm9pZCBTZXRSdW5XaGVuRGlzYWJsZWQoYm9vbCBydW4pOw0KLQlib29sIFdpbGxSdW5XaGVuRGlzYWJsZWQoKTsNCi0JaW50IEdldElEKCk7DQotDQotDQotcHJvdGVjdGVkOg0KLQl2b2lkIFNldFRpbWVvdXQoZG91YmxlIHRpbWVvdXQpOw0KLQlib29sIElzVGltZWRPdXQoKTsNCi0JYm9vbCBBc3NlcnRVbmxvY2tlZChjb25zdCBjaGFyICptZXNzYWdlKTsNCi0Jdm9pZCBTZXRQYXJlbnQoQ29tbWFuZEdyb3VwICpwYXJlbnQpOw0KLQkvKioNCi0JICogVGhlIGluaXRpYWxpemUgbWV0aG9kIGlzIGNhbGxlZCB0aGUgZmlyc3QgdGltZSB0aGlzIENvbW1hbmQgaXMgcnVuIGFmdGVyIA0KLQkgKiBiZWluZyBzdGFydGVkLg0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIEluaXRpYWxpemUoKSA9IDA7DQotCS8qKg0KLQkgKiBUaGUgZXhlY3V0ZSBtZXRob2QgaXMgY2FsbGVkIHJlcGVhdGVkbHkgdW50aWwgdGhpcyBDb21tYW5kIGVpdGhlciBmaW5pc2hlcw0KLQkgKiBvciBpcyBjYW5jZWxlZC4NCi0JICovDQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCkgPSAwOw0KLQkvKioNCi0JICogUmV0dXJucyB3aGV0aGVyIHRoaXMgY29tbWFuZCBpcyBmaW5pc2hlZC4NCi0JICogSWYgaXQgaXMsIHRoZW4gdGhlIGNvbW1hbmQgd2lsbCBiZSByZW1vdmVkDQotCSAqIGFuZCB7QGxpbmsgQ29tbWFuZCNlbmQoKSBlbmQoKX0gd2lsbCBiZSBjYWxsZWQuDQotCSAqDQotCSAqIDxwPkl0IG1heSBiZSB1c2VmdWwgZm9yIGEgdGVhbSB0byByZWZlcmVuY2UgdGhlIHtAbGluayBDb21tYW5kI2lzVGltZWRPdXQoKSBpc1RpbWVkT3V0KCl9IG1ldGhvZA0KLQkgKiBmb3IgdGltZS1zZW5zaXRpdmUgY29tbWFuZHMuPC9wPg0KLQkgKiBAcmV0dXJuIHdoZXRoZXIgdGhpcyBjb21tYW5kIGlzIGZpbmlzaGVkLg0KLQkgKiBAc2VlIENvbW1hbmQjaXNUaW1lZE91dCgpIGlzVGltZWRPdXQoKQ0KLQkgKi8NCi0JdmlydHVhbCBib29sIElzRmluaXNoZWQoKSA9IDA7DQotCS8qKg0KLQkgKiBDYWxsZWQgd2hlbiB0aGUgY29tbWFuZCBlbmRlZCBwZWFjZWZ1bGx5LiAgVGhpcyBpcyB3aGVyZSB5b3UgbWF5IHdhbnQNCi0JICogdG8gd3JhcCB1cCBsb29zZSBlbmRzLCBsaWtlIHNodXR0aW5nIG9mZiBhIG1vdG9yIHRoYXQgd2FzIGJlaW5nIHVzZWQNCi0JICogaW4gdGhlIGNvbW1hbmQuDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgRW5kKCkgPSAwOw0KLQkvKioNCi0JICogQ2FsbGVkIHdoZW4gdGhlIGNvbW1hbmQgZW5kcyBiZWNhdXNlIHNvbWVib2R5IGNhbGxlZCB7QGxpbmsgQ29tbWFuZCNjYW5jZWwoKSBjYW5jZWwoKX0NCi0JICogb3IgYW5vdGhlciBjb21tYW5kIHNoYXJlZCB0aGUgc2FtZSByZXF1aXJlbWVudHMgYXMgdGhpcyBvbmUsIGFuZCBib290ZWQNCi0JICogaXQgb3V0Lg0KLQkgKg0KLQkgKiA8cD5UaGlzIGlzIHdoZXJlIHlvdSBtYXkgd2FudA0KLQkgKiB0byB3cmFwIHVwIGxvb3NlIGVuZHMsIGxpa2Ugc2h1dHRpbmcgb2ZmIGEgbW90b3IgdGhhdCB3YXMgYmVpbmcgdXNlZA0KLQkgKiBpbiB0aGUgY29tbWFuZC48L3A+DQotCSAqDQotCSAqIDxwPkdlbmVyYWxseSwgaXQgaXMgdXNlZnVsIHRvIHNpbXBseSBjYWxsIHRoZSB7QGxpbmsgQ29tbWFuZCNlbmQoKSBlbmQoKX0gbWV0aG9kDQotCSAqIHdpdGhpbiB0aGlzIG1ldGhvZDwvcD4NCi0JICovDQotCXZpcnR1YWwgdm9pZCBJbnRlcnJ1cHRlZCgpID0gMDsNCi0JdmlydHVhbCB2b2lkIF9Jbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBfSW50ZXJydXB0ZWQoKTsNCi0JdmlydHVhbCB2b2lkIF9FeGVjdXRlKCk7DQotCXZpcnR1YWwgdm9pZCBfRW5kKCk7DQotCXZpcnR1YWwgdm9pZCBfQ2FuY2VsKCk7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBJbml0Q29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgdGltZW91dCk7DQotCXZvaWQgTG9ja0NoYW5nZXMoKTsNCi0JLypzeW5jaHJvbml6ZWQqLyB2b2lkIFJlbW92ZWQoKTsNCi0Jdm9pZCBTdGFydFJ1bm5pbmcoKTsNCi0Jdm9pZCBTdGFydFRpbWluZygpOw0KLQ0KLQkvKiogVGhlIG5hbWUgb2YgdGhpcyBjb21tYW5kICovDQotCXN0ZDo6c3RyaW5nIG1fbmFtZTsNCi0JLyoqIFRoZSB0aW1lIHNpbmNlIHRoaXMgY29tbWFuZCB3YXMgaW5pdGlhbGl6ZWQgKi8NCi0JZG91YmxlIG1fc3RhcnRUaW1lOw0KLQkvKiogVGhlIHRpbWUgKGluIHNlY29uZHMpIGJlZm9yZSB0aGlzIGNvbW1hbmQgInRpbWVzIG91dCIgKG9yIC0xIGlmIG5vIHRpbWVvdXQpICovDQotCWRvdWJsZSBtX3RpbWVvdXQ7DQotCS8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGNvbW1hbmQgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgKi8NCi0JYm9vbCBtX2luaXRpYWxpemVkOw0KLQkvKiogVGhlIHJlcXVpcmVtZW50cyAob3IgbnVsbCBpZiBubyByZXF1aXJlbWVudHMpICovDQotCVN1YnN5c3RlbVNldCBtX3JlcXVpcmVtZW50czsNCi0JLyoqIFdoZXRoZXIgb3Igbm90IGl0IGlzIHJ1bm5pbmcgKi8NCi0JYm9vbCBtX3J1bm5pbmc7DQotCS8qKiBXaGV0aGVyIG9yIG5vdCBpdCBpcyBpbnRlcnJ1cHRpYmxlKi8NCi0JYm9vbCBtX2ludGVycnVwdGlibGU7DQotCS8qKiBXaGV0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiBjYW5jZWxlZCAqLw0KLQlib29sIG1fY2FuY2VsZWQ7DQotCS8qKiBXaGV0aGVyIG9yIG5vdCBpdCBoYXMgYmVlbiBsb2NrZWQgKi8NCi0JYm9vbCBtX2xvY2tlZDsNCi0JLyoqIFdoZXRoZXIgdGhpcyBjb21tYW5kIHNob3VsZCBydW4gd2hlbiB0aGUgcm9ib3QgaXMgZGlzYWJsZWQgKi8NCi0JYm9vbCBtX3J1bldoZW5EaXNhYmxlZDsNCi0JLyoqIFRoZSB7QGxpbmsgQ29tbWFuZEdyb3VwfSB0aGlzIGlzIGluICovDQotCUNvbW1hbmRHcm91cCAqbV9wYXJlbnQ7DQotCWludCBtX2NvbW1hbmRJRDsNCi0Jc3RhdGljIGludCBtX2NvbW1hbmRDb3VudGVyOw0KLQkNCi1wdWJsaWM6DQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0TmFtZSgpOw0KLQl2aXJ0dWFsIHZvaWQgSW5pdFRhYmxlKElUYWJsZSogdGFibGUpOw0KLQl2aXJ0dWFsIElUYWJsZSogR2V0VGFibGUoKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0JdmlydHVhbCB2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotcHJvdGVjdGVkOg0KLQlJVGFibGUqIG1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXAuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZEdyb3VwLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNmNmQ0MS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXAuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzgzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmRHcm91cC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0vKioNCi0gKiBDcmVhdGVzIGEgbmV3IHtAbGluayBDb21tYW5kR3JvdXAgQ29tbWFuZEdyb3VwfS4NCi0gKi8NCi1Db21tYW5kR3JvdXA6OkNvbW1hbmRHcm91cCgpDQotew0KLQltX2N1cnJlbnRDb21tYW5kSW5kZXggPSAtMTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlcyBhIG5ldyB7QGxpbmsgQ29tbWFuZEdyb3VwIENvbW1hbmRHcm91cH0gd2l0aCB0aGUgZ2l2ZW4gbmFtZS4NCi0gKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBmb3IgdGhpcyBjb21tYW5kIGdyb3VwDQotICovDQotQ29tbWFuZEdyb3VwOjpDb21tYW5kR3JvdXAoY29uc3QgY2hhciAqbmFtZSkgOg0KLQlDb21tYW5kKG5hbWUpDQotew0KLQltX2N1cnJlbnRDb21tYW5kSW5kZXggPSAtMTsNCi19DQotDQotQ29tbWFuZEdyb3VwOjp+Q29tbWFuZEdyb3VwKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIEFkZHMgYSBuZXcge0BsaW5rIENvbW1hbmQgQ29tbWFuZH0gdG8gdGhlIGdyb3VwLiAgVGhlIHtAbGluayBDb21tYW5kIENvbW1hbmR9IHdpbGwgYmUgc3RhcnRlZCBhZnRlcg0KLSAqIGFsbCB0aGUgcHJldmlvdXNseSBhZGRlZCB7QGxpbmsgQ29tbWFuZCBDb21tYW5kc30uDQotICoNCi0gKiA8cD5Ob3RlIHRoYXQgYW55IHJlcXVpcmVtZW50cyB0aGUgZ2l2ZW4ge0BsaW5rIENvbW1hbmQgQ29tbWFuZH0gaGFzIHdpbGwgYmUgYWRkZWQgdG8gdGhlDQotICogZ3JvdXAuICBGb3IgdGhpcyByZWFzb24sIGEge0BsaW5rIENvbW1hbmQgQ29tbWFuZCdzfSByZXF1aXJlbWVudHMgY2FuIG5vdCBiZSBjaGFuZ2VkIGFmdGVyDQotICogYmVpbmcgYWRkZWQgdG8gYSBncm91cC48L3A+DQotICoNCi0gKiA8cD5JdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoaXMgbWV0aG9kIGJlIGNhbGxlZCBpbiB0aGUgY29uc3RydWN0b3IuPC9wPg0KLSAqIA0KLSAqIEBwYXJhbSBjb21tYW5kIFRoZSB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSB0byBiZSBhZGRlZA0KLSAqLw0KLXZvaWQgQ29tbWFuZEdyb3VwOjpBZGRTZXF1ZW50aWFsKENvbW1hbmQgKmNvbW1hbmQpDQotew0KLQlpZiAoY29tbWFuZCA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAiY29tbWFuZCIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCWlmICghQXNzZXJ0VW5sb2NrZWQoIkNhbm5vdCBhZGQgbmV3IGNvbW1hbmQgdG8gY29tbWFuZCBncm91cCIpKQ0KLQkJcmV0dXJuOw0KLQ0KLQljb21tYW5kLT5TZXRQYXJlbnQodGhpcyk7DQotDQotCW1fY29tbWFuZHMucHVzaF9iYWNrKENvbW1hbmRHcm91cEVudHJ5KGNvbW1hbmQsIENvbW1hbmRHcm91cEVudHJ5OjprU2VxdWVuY2VfSW5TZXF1ZW5jZSkpOw0KLQkvLyBJdGVyYXRlIHRocm91Z2ggY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCkgYW5kIGNhbGwgUmVxdWlyZXMoKSBvbiBlYWNoIHJlcXVpcmVkIHN1YnN5c3RlbQ0KLQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQgcmVxdWlyZW1lbnRzID0gY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCk7DQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldDo6aXRlcmF0b3IgaXRlciA9IHJlcXVpcmVtZW50cy5iZWdpbigpOw0KLQlmb3IgKDsgaXRlciAhPSByZXF1aXJlbWVudHMuZW5kKCk7IGl0ZXIrKykNCi0JCVJlcXVpcmVzKCppdGVyKTsNCi19DQotDQotLyoqDQotICogQWRkcyBhIG5ldyB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSB0byB0aGUgZ3JvdXAgd2l0aCBhIGdpdmVuIHRpbWVvdXQuDQotICogVGhlIHtAbGluayBDb21tYW5kIENvbW1hbmR9IHdpbGwgYmUgc3RhcnRlZCBhZnRlciBhbGwgdGhlIHByZXZpb3VzbHkgYWRkZWQgY29tbWFuZHMuDQotICoNCi0gKiA8cD5PbmNlIHRoZSB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSBpcyBzdGFydGVkLCBpdCB3aWxsIGJlIHJ1biB1bnRpbCBpdCBmaW5pc2hlcyBvciB0aGUgdGltZQ0KLSAqIGV4cGlyZXMsIHdoaWNoZXZlciBpcyBzb29uZXIuICBOb3RlIHRoYXQgdGhlIGdpdmVuIHtAbGluayBDb21tYW5kIENvbW1hbmR9IHdpbGwgaGF2ZSBubw0KLSAqIGtub3dsZWRnZSB0aGF0IGl0IGlzIG9uIGEgdGltZXIuPC9wPg0KLSAqDQotICogPHA+Tm90ZSB0aGF0IGFueSByZXF1aXJlbWVudHMgdGhlIGdpdmVuIHtAbGluayBDb21tYW5kIENvbW1hbmR9IGhhcyB3aWxsIGJlIGFkZGVkIHRvIHRoZQ0KLSAqIGdyb3VwLiAgRm9yIHRoaXMgcmVhc29uLCBhIHtAbGluayBDb21tYW5kIENvbW1hbmQnc30gcmVxdWlyZW1lbnRzIGNhbiBub3QgYmUgY2hhbmdlZCBhZnRlcg0KLSAqIGJlaW5nIGFkZGVkIHRvIGEgZ3JvdXAuPC9wPg0KLSAqDQotICogPHA+SXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGlzIG1ldGhvZCBiZSBjYWxsZWQgaW4gdGhlIGNvbnN0cnVjdG9yLjwvcD4NCi0gKg0KLSAqIEBwYXJhbSBjb21tYW5kIFRoZSB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSB0byBiZSBhZGRlZA0KLSAqIEBwYXJhbSB0aW1lb3V0IFRoZSB0aW1lb3V0IChpbiBzZWNvbmRzKQ0KLSAqLw0KLXZvaWQgQ29tbWFuZEdyb3VwOjpBZGRTZXF1ZW50aWFsKENvbW1hbmQgKmNvbW1hbmQsIGRvdWJsZSB0aW1lb3V0KQ0KLXsNCi0JaWYgKGNvbW1hbmQgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImNvbW1hbmQiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUFzc2VydFVubG9ja2VkKCJDYW5ub3QgYWRkIG5ldyBjb21tYW5kIHRvIGNvbW1hbmQgZ3JvdXAiKSkNCi0JCXJldHVybjsNCi0JaWYgKHRpbWVvdXQgPCAwLjApDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJ0aW1lb3V0IDwgMC4wIik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JY29tbWFuZC0+U2V0UGFyZW50KHRoaXMpOw0KLQ0KLQltX2NvbW1hbmRzLnB1c2hfYmFjayhDb21tYW5kR3JvdXBFbnRyeShjb21tYW5kLCBDb21tYW5kR3JvdXBFbnRyeTo6a1NlcXVlbmNlX0luU2VxdWVuY2UsIHRpbWVvdXQpKTsNCi0JLy8gSXRlcmF0ZSB0aHJvdWdoIGNvbW1hbmQtPkdldFJlcXVpcmVtZW50cygpIGFuZCBjYWxsIFJlcXVpcmVzKCkgb24gZWFjaCByZXF1aXJlZCBzdWJzeXN0ZW0NCi0JQ29tbWFuZDo6U3Vic3lzdGVtU2V0IHJlcXVpcmVtZW50cyA9IGNvbW1hbmQtPkdldFJlcXVpcmVtZW50cygpOw0KLQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQ6Oml0ZXJhdG9yIGl0ZXIgPSByZXF1aXJlbWVudHMuYmVnaW4oKTsNCi0JZm9yICg7IGl0ZXIgIT0gcmVxdWlyZW1lbnRzLmVuZCgpOyBpdGVyKyspDQotCQlSZXF1aXJlcygqaXRlcik7DQotfQ0KLQ0KLS8qKg0KLSAqIEFkZHMgYSBuZXcgY2hpbGQge0BsaW5rIENvbW1hbmR9IHRvIHRoZSBncm91cC4gIFRoZSB7QGxpbmsgQ29tbWFuZH0gd2lsbCBiZSBzdGFydGVkIGFmdGVyDQotICogYWxsIHRoZSBwcmV2aW91c2x5IGFkZGVkIHtAbGluayBDb21tYW5kIENvbW1hbmRzfS4NCi0gKg0KLSAqIDxwPkluc3RlYWQgb2Ygd2FpdGluZyBmb3IgdGhlIGNoaWxkIHRvIGZpbmlzaCwgYSB7QGxpbmsgQ29tbWFuZEdyb3VwfSB3aWxsIGhhdmUgaXQNCi0gKiBydW4gYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgc3Vic2VxdWVudCB7QGxpbmsgQ29tbWFuZCBDb21tYW5kc30uICBUaGUgY2hpbGQgd2lsbCBydW4gdW50aWwgZWl0aGVyDQotICogaXQgZmluaXNoZXMsIGEgbmV3IGNoaWxkIHdpdGggY29uZmxpY3RpbmcgcmVxdWlyZW1lbnRzIGlzIHN0YXJ0ZWQsIG9yDQotICogdGhlIG1haW4gc2VxdWVuY2UgcnVucyBhIHtAbGluayBDb21tYW5kfSB3aXRoIGNvbmZsaWN0aW5nIHJlcXVpcmVtZW50cy4gIEluIHRoZSBsYXR0ZXINCi0gKiB0d28gY2FzZXMsIHRoZSBjaGlsZCB3aWxsIGJlIGNhbmNlbGVkIGV2ZW4gaWYgaXQgc2F5cyBpdCBjYW4ndCBiZQ0KLSAqIGludGVycnVwdGVkLjwvcD4NCi0gKg0KLSAqIDxwPk5vdGUgdGhhdCBhbnkgcmVxdWlyZW1lbnRzIHRoZSBnaXZlbiB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSBoYXMgd2lsbCBiZSBhZGRlZCB0byB0aGUNCi0gKiBncm91cC4gIEZvciB0aGlzIHJlYXNvbiwgYSB7QGxpbmsgQ29tbWFuZCBDb21tYW5kJ3N9IHJlcXVpcmVtZW50cyBjYW4gbm90IGJlIGNoYW5nZWQgYWZ0ZXINCi0gKiBiZWluZyBhZGRlZCB0byBhIGdyb3VwLjwvcD4NCi0gKg0KLSAqIDxwPkl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBtZXRob2QgYmUgY2FsbGVkIGluIHRoZSBjb25zdHJ1Y3Rvci48L3A+DQotICoNCi0gKiBAcGFyYW0gY29tbWFuZCBUaGUgY29tbWFuZCB0byBiZSBhZGRlZA0KLSAqLw0KLXZvaWQgQ29tbWFuZEdyb3VwOjpBZGRQYXJhbGxlbChDb21tYW5kICpjb21tYW5kKQ0KLXsNCi0JaWYgKGNvbW1hbmQgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImNvbW1hbmQiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUFzc2VydFVubG9ja2VkKCJDYW5ub3QgYWRkIG5ldyBjb21tYW5kIHRvIGNvbW1hbmQgZ3JvdXAiKSkNCi0JCXJldHVybjsNCi0NCi0JY29tbWFuZC0+U2V0UGFyZW50KHRoaXMpOw0KLQ0KLQltX2NvbW1hbmRzLnB1c2hfYmFjayhDb21tYW5kR3JvdXBFbnRyeShjb21tYW5kLCBDb21tYW5kR3JvdXBFbnRyeTo6a1NlcXVlbmNlX0JyYW5jaENoaWxkKSk7DQotCS8vIEl0ZXJhdGUgdGhyb3VnaCBjb21tYW5kLT5HZXRSZXF1aXJlbWVudHMoKSBhbmQgY2FsbCBSZXF1aXJlcygpIG9uIGVhY2ggcmVxdWlyZWQgc3Vic3lzdGVtDQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldCByZXF1aXJlbWVudHMgPSBjb21tYW5kLT5HZXRSZXF1aXJlbWVudHMoKTsNCi0JQ29tbWFuZDo6U3Vic3lzdGVtU2V0OjppdGVyYXRvciBpdGVyID0gcmVxdWlyZW1lbnRzLmJlZ2luKCk7DQotCWZvciAoOyBpdGVyICE9IHJlcXVpcmVtZW50cy5lbmQoKTsgaXRlcisrKQ0KLQkJUmVxdWlyZXMoKml0ZXIpOw0KLX0NCi0NCi0vKioNCi0gKiBBZGRzIGEgbmV3IGNoaWxkIHtAbGluayBDb21tYW5kfSB0byB0aGUgZ3JvdXAgd2l0aCB0aGUgZ2l2ZW4gdGltZW91dC4gIFRoZSB7QGxpbmsgQ29tbWFuZH0gd2lsbCBiZSBzdGFydGVkIGFmdGVyDQotICogYWxsIHRoZSBwcmV2aW91c2x5IGFkZGVkIHtAbGluayBDb21tYW5kIENvbW1hbmRzfS4NCi0gKg0KLSAqIDxwPk9uY2UgdGhlIHtAbGluayBDb21tYW5kIENvbW1hbmR9IGlzIHN0YXJ0ZWQsIGl0IHdpbGwgcnVuIHVudGlsIGl0IGZpbmlzaGVzLCBpcyBpbnRlcnJ1cHRlZCwNCi0gKiBvciB0aGUgdGltZSBleHBpcmVzLCB3aGljaGV2ZXIgaXMgc29vbmVyLiAgTm90ZSB0aGF0IHRoZSBnaXZlbiB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSB3aWxsIGhhdmUgbm8NCi0gKiBrbm93bGVkZ2UgdGhhdCBpdCBpcyBvbiBhIHRpbWVyLjwvcD4NCi0gKg0KLSAqIDxwPkluc3RlYWQgb2Ygd2FpdGluZyBmb3IgdGhlIGNoaWxkIHRvIGZpbmlzaCwgYSB7QGxpbmsgQ29tbWFuZEdyb3VwfSB3aWxsIGhhdmUgaXQNCi0gKiBydW4gYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgc3Vic2VxdWVudCB7QGxpbmsgQ29tbWFuZCBDb21tYW5kc30uICBUaGUgY2hpbGQgd2lsbCBydW4gdW50aWwgZWl0aGVyDQotICogaXQgZmluaXNoZXMsIHRoZSB0aW1lb3V0IGV4cGlyZXMsIGEgbmV3IGNoaWxkIHdpdGggY29uZmxpY3RpbmcgcmVxdWlyZW1lbnRzIGlzIHN0YXJ0ZWQsIG9yDQotICogdGhlIG1haW4gc2VxdWVuY2UgcnVucyBhIHtAbGluayBDb21tYW5kfSB3aXRoIGNvbmZsaWN0aW5nIHJlcXVpcmVtZW50cy4gIEluIHRoZSBsYXR0ZXINCi0gKiB0d28gY2FzZXMsIHRoZSBjaGlsZCB3aWxsIGJlIGNhbmNlbGVkIGV2ZW4gaWYgaXQgc2F5cyBpdCBjYW4ndCBiZQ0KLSAqIGludGVycnVwdGVkLjwvcD4NCi0gKg0KLSAqIDxwPk5vdGUgdGhhdCBhbnkgcmVxdWlyZW1lbnRzIHRoZSBnaXZlbiB7QGxpbmsgQ29tbWFuZCBDb21tYW5kfSBoYXMgd2lsbCBiZSBhZGRlZCB0byB0aGUNCi0gKiBncm91cC4gIEZvciB0aGlzIHJlYXNvbiwgYSB7QGxpbmsgQ29tbWFuZCBDb21tYW5kJ3N9IHJlcXVpcmVtZW50cyBjYW4gbm90IGJlIGNoYW5nZWQgYWZ0ZXINCi0gKiBiZWluZyBhZGRlZCB0byBhIGdyb3VwLjwvcD4NCi0gKg0KLSAqIDxwPkl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBtZXRob2QgYmUgY2FsbGVkIGluIHRoZSBjb25zdHJ1Y3Rvci48L3A+DQotICoNCi0gKiBAcGFyYW0gY29tbWFuZCBUaGUgY29tbWFuZCB0byBiZSBhZGRlZA0KLSAqIEBwYXJhbSB0aW1lb3V0IFRoZSB0aW1lb3V0IChpbiBzZWNvbmRzKQ0KLSAqLw0KLXZvaWQgQ29tbWFuZEdyb3VwOjpBZGRQYXJhbGxlbChDb21tYW5kICpjb21tYW5kLCBkb3VibGUgdGltZW91dCkNCi17DQotCWlmIChjb21tYW5kID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJjb21tYW5kIik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKCFBc3NlcnRVbmxvY2tlZCgiQ2Fubm90IGFkZCBuZXcgY29tbWFuZCB0byBjb21tYW5kIGdyb3VwIikpDQotCQlyZXR1cm47DQotCWlmICh0aW1lb3V0IDwgMC4wKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAidGltZW91dCA8IDAuMCIpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCWNvbW1hbmQtPlNldFBhcmVudCh0aGlzKTsNCi0NCi0JbV9jb21tYW5kcy5wdXNoX2JhY2soQ29tbWFuZEdyb3VwRW50cnkoY29tbWFuZCwgQ29tbWFuZEdyb3VwRW50cnk6OmtTZXF1ZW5jZV9CcmFuY2hDaGlsZCwgdGltZW91dCkpOw0KLQkvLyBJdGVyYXRlIHRocm91Z2ggY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCkgYW5kIGNhbGwgUmVxdWlyZXMoKSBvbiBlYWNoIHJlcXVpcmVkIHN1YnN5c3RlbQ0KLQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQgcmVxdWlyZW1lbnRzID0gY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCk7DQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldDo6aXRlcmF0b3IgaXRlciA9IHJlcXVpcmVtZW50cy5iZWdpbigpOw0KLQlmb3IgKDsgaXRlciAhPSByZXF1aXJlbWVudHMuZW5kKCk7IGl0ZXIrKykNCi0JCVJlcXVpcmVzKCppdGVyKTsNCi19DQotDQotdm9pZCBDb21tYW5kR3JvdXA6Ol9Jbml0aWFsaXplKCkNCi17DQotCW1fY3VycmVudENvbW1hbmRJbmRleCA9IC0xOw0KLX0NCi0NCi12b2lkIENvbW1hbmRHcm91cDo6X0V4ZWN1dGUoKQ0KLXsNCi0JQ29tbWFuZEdyb3VwRW50cnkgZW50cnk7DQotCUNvbW1hbmQgKmNtZCA9IE5VTEw7DQotCWJvb2wgZmlyc3RSdW4gPSBmYWxzZTsNCi0NCi0JaWYgKG1fY3VycmVudENvbW1hbmRJbmRleCA9PSAtMSkNCi0Jew0KLQkJZmlyc3RSdW4gPSB0cnVlOw0KLQkJbV9jdXJyZW50Q29tbWFuZEluZGV4ID0gMDsNCi0JfQ0KLQ0KLQl3aGlsZSAoKHVuc2lnbmVkKW1fY3VycmVudENvbW1hbmRJbmRleCA8IG1fY29tbWFuZHMuc2l6ZSgpKQ0KLQl7DQotCQlpZiAoY21kICE9IE5VTEwpDQotCQl7DQotCQkJaWYgKGVudHJ5LklzVGltZWRPdXQoKSkNCi0JCQkJY21kLT5fQ2FuY2VsKCk7DQotDQotCQkJaWYgKGNtZC0+UnVuKCkpDQotCQkJew0KLQkJCQlicmVhazsNCi0JCQl9DQotCQkJZWxzZQ0KLQkJCXsNCi0JCQkJY21kLT5SZW1vdmVkKCk7DQotCQkJCW1fY3VycmVudENvbW1hbmRJbmRleCsrOw0KLQkJCQlmaXJzdFJ1biA9IHRydWU7DQotCQkJCWNtZCA9IE5VTEw7DQotCQkJCWNvbnRpbnVlOw0KLQkJCX0NCi0JCX0NCi0NCi0JCWVudHJ5ID0gbV9jb21tYW5kc1ttX2N1cnJlbnRDb21tYW5kSW5kZXhdOw0KLQkJY21kID0gTlVMTDsNCi0NCi0JCXN3aXRjaCAoZW50cnkubV9zdGF0ZSkNCi0JCXsNCi0JCQljYXNlIENvbW1hbmRHcm91cEVudHJ5OjprU2VxdWVuY2VfSW5TZXF1ZW5jZToNCi0JCQkJY21kID0gZW50cnkubV9jb21tYW5kOw0KLQkJCQlpZiAoZmlyc3RSdW4pDQotCQkJCXsNCi0JCQkJCWNtZC0+U3RhcnRSdW5uaW5nKCk7DQotCQkJCQlDYW5jZWxDb25mbGljdHMoY21kKTsNCi0JCQkJCWZpcnN0UnVuID0gZmFsc2U7DQotCQkJCX0NCi0JCQkJYnJlYWs7DQotDQotCQkJY2FzZSBDb21tYW5kR3JvdXBFbnRyeTo6a1NlcXVlbmNlX0JyYW5jaFBlZXI6DQotCQkJCW1fY3VycmVudENvbW1hbmRJbmRleCsrOw0KLQkJCQllbnRyeS5tX2NvbW1hbmQtPlN0YXJ0KCk7DQotCQkJCWJyZWFrOw0KLQ0KLQkJCWNhc2UgQ29tbWFuZEdyb3VwRW50cnk6OmtTZXF1ZW5jZV9CcmFuY2hDaGlsZDoNCi0JCQkJbV9jdXJyZW50Q29tbWFuZEluZGV4Kys7DQotCQkJCUNhbmNlbENvbmZsaWN0cyhlbnRyeS5tX2NvbW1hbmQpOw0KLQkJCQllbnRyeS5tX2NvbW1hbmQtPlN0YXJ0UnVubmluZygpOw0KLQkJCQltX2NoaWxkcmVuLnB1c2hfYmFjayhlbnRyeSk7DQotCQkJCWJyZWFrOw0KLQkJfQ0KLQl9DQotDQotCS8vIFJ1biBDaGlsZHJlbg0KLQlDb21tYW5kTGlzdDo6aXRlcmF0b3IgaXRlciA9IG1fY2hpbGRyZW4uYmVnaW4oKTsNCi0JZm9yICg7IGl0ZXIgIT0gbV9jaGlsZHJlbi5lbmQoKTspDQotCXsNCi0JCWVudHJ5ID0gKml0ZXI7DQotCQlDb21tYW5kICpjaGlsZCA9IGVudHJ5Lm1fY29tbWFuZDsNCi0JCWlmIChlbnRyeS5Jc1RpbWVkT3V0KCkpDQotCQkJY2hpbGQtPl9DYW5jZWwoKTsNCi0NCi0JCWlmICghY2hpbGQtPlJ1bigpKQ0KLQkJew0KLQkJCWNoaWxkLT5SZW1vdmVkKCk7DQotCQkJaXRlciA9IG1fY2hpbGRyZW4uZXJhc2UoaXRlcik7DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJaXRlcisrOw0KLQkJfQ0KLQl9DQotfQ0KLQ0KLXZvaWQgQ29tbWFuZEdyb3VwOjpfRW5kKCkNCi17DQotCS8vIFRoZW9yZXRpY2FsbHksIHdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhpcywgYnV0IHdlIGRvIGlmIHRlYW1zIG92ZXJyaWRlIHRoZSBJc0ZpbmlzaGVkIG1ldGhvZA0KLQlpZiAobV9jdXJyZW50Q29tbWFuZEluZGV4ICE9IC0xICYmICh1bnNpZ25lZCltX2N1cnJlbnRDb21tYW5kSW5kZXggPCBtX2NvbW1hbmRzLnNpemUoKSkNCi0Jew0KLQkJQ29tbWFuZCAqY21kID0gbV9jb21tYW5kc1ttX2N1cnJlbnRDb21tYW5kSW5kZXhdLm1fY29tbWFuZDsNCi0JCWNtZC0+X0NhbmNlbCgpOw0KLQkJY21kLT5SZW1vdmVkKCk7DQotCX0NCi0NCi0JQ29tbWFuZExpc3Q6Oml0ZXJhdG9yIGl0ZXIgPSBtX2NoaWxkcmVuLmJlZ2luKCk7DQotCWZvciAoOyBpdGVyICE9IG1fY2hpbGRyZW4uZW5kKCk7IGl0ZXIrKykNCi0Jew0KLQkJQ29tbWFuZCAqY21kID0gaXRlci0+bV9jb21tYW5kOw0KLQkJY21kLT5fQ2FuY2VsKCk7DQotCQljbWQtPlJlbW92ZWQoKTsNCi0JfQ0KLQltX2NoaWxkcmVuLmNsZWFyKCk7DQotfQ0KLQ0KLXZvaWQgQ29tbWFuZEdyb3VwOjpfSW50ZXJydXB0ZWQoKQ0KLXsNCi0JX0VuZCgpOw0KLX0NCi0NCi0vLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGVhbXMNCi12b2lkIENvbW1hbmRHcm91cDo6SW5pdGlhbGl6ZSgpDQotew0KLX0NCi0NCi0vLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGVhbXMNCi12b2lkIENvbW1hbmRHcm91cDo6RXhlY3V0ZSgpDQotew0KLX0NCi0NCi0vLyBDYW4gYmUgb3ZlcndyaXR0ZW4gYnkgdGVhbXMNCi12b2lkIENvbW1hbmRHcm91cDo6RW5kKCkNCi17DQotfQ0KLQ0KLS8vIENhbiBiZSBvdmVyd3JpdHRlbiBieSB0ZWFtcw0KLXZvaWQgQ29tbWFuZEdyb3VwOjpJbnRlcnJ1cHRlZCgpDQotew0KLX0NCi0NCi1ib29sIENvbW1hbmRHcm91cDo6SXNGaW5pc2hlZCgpDQotew0KLQlyZXR1cm4gKHVuc2lnbmVkKW1fY3VycmVudENvbW1hbmRJbmRleCA+PSBtX2NvbW1hbmRzLnNpemUoKSAmJiBtX2NoaWxkcmVuLmVtcHR5KCk7DQotfQ0KLQ0KLWJvb2wgQ29tbWFuZEdyb3VwOjpJc0ludGVycnVwdGlibGUoKQ0KLXsNCi0JaWYgKCFDb21tYW5kOjpJc0ludGVycnVwdGlibGUoKSkNCi0JCXJldHVybiBmYWxzZTsNCi0NCi0JaWYgKG1fY3VycmVudENvbW1hbmRJbmRleCAhPSAtMSAmJiAodW5zaWduZWQpbV9jdXJyZW50Q29tbWFuZEluZGV4IDwgbV9jb21tYW5kcy5zaXplKCkpDQotCXsNCi0JCUNvbW1hbmQgKmNtZCA9IG1fY29tbWFuZHNbbV9jdXJyZW50Q29tbWFuZEluZGV4XS5tX2NvbW1hbmQ7DQotCQlpZiAoIWNtZC0+SXNJbnRlcnJ1cHRpYmxlKCkpDQotCQkJcmV0dXJuIGZhbHNlOw0KLQl9DQotDQotCUNvbW1hbmRMaXN0OjppdGVyYXRvciBpdGVyID0gbV9jaGlsZHJlbi5iZWdpbigpOw0KLQlmb3IgKDsgaXRlciAhPSBtX2NoaWxkcmVuLmVuZCgpOyBpdGVyKyspDQotCXsNCi0JCWlmICghaXRlci0+bV9jb21tYW5kLT5Jc0ludGVycnVwdGlibGUoKSkNCi0JCQlyZXR1cm4gZmFsc2U7DQotCX0NCi0NCi0JcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ29tbWFuZEdyb3VwOjpDYW5jZWxDb25mbGljdHMoQ29tbWFuZCAqY29tbWFuZCkNCi17DQotCUNvbW1hbmRMaXN0OjppdGVyYXRvciBjaGlsZEl0ZXIgPSBtX2NoaWxkcmVuLmJlZ2luKCk7DQotCWZvciAoOyBjaGlsZEl0ZXIgIT0gbV9jaGlsZHJlbi5lbmQoKTspDQotCXsNCi0JCUNvbW1hbmQgKmNoaWxkID0gY2hpbGRJdGVyLT5tX2NvbW1hbmQ7DQotCQlib29sIGVyYXNlZCA9IGZhbHNlOw0KLQ0KLQkJQ29tbWFuZDo6U3Vic3lzdGVtU2V0IHJlcXVpcmVtZW50cyA9IGNvbW1hbmQtPkdldFJlcXVpcmVtZW50cygpOw0KLQkJQ29tbWFuZDo6U3Vic3lzdGVtU2V0OjppdGVyYXRvciByZXF1aXJlbWVudEl0ZXIgPSByZXF1aXJlbWVudHMuYmVnaW4oKTsNCi0JCWZvciAoOyByZXF1aXJlbWVudEl0ZXIgIT0gcmVxdWlyZW1lbnRzLmVuZCgpOyByZXF1aXJlbWVudEl0ZXIrKykNCi0JCXsNCi0JCQlpZiAoY2hpbGQtPkRvZXNSZXF1aXJlKCpyZXF1aXJlbWVudEl0ZXIpKQ0KLQkJCXsNCi0JCQkJY2hpbGQtPl9DYW5jZWwoKTsNCi0JCQkJY2hpbGQtPlJlbW92ZWQoKTsNCi0JCQkJY2hpbGRJdGVyID0gbV9jaGlsZHJlbi5lcmFzZShjaGlsZEl0ZXIpOw0KLQkJCQllcmFzZWQgPSB0cnVlOw0KLQkJCQlicmVhazsNCi0JCQl9DQotCQl9DQotCQlpZiAoIWVyYXNlZCkNCi0JCQljaGlsZEl0ZXIrKzsNCi0JfQ0KLX0NCi0NCi1pbnQgQ29tbWFuZEdyb3VwOjpHZXRTaXplKCkNCi17DQotCXJldHVybiBtX2NoaWxkcmVuLnNpemUoKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZEdyb3VwLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTA4MTM4MS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXAuaAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0NPTU1BTkRfR1JPVVBfSF9fDQotI2RlZmluZSBfX0NPTU1BTkRfR1JPVVBfSF9fDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmQuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZEdyb3VwRW50cnkuaCINCi0jaW5jbHVkZSA8bGlzdD4NCi0jaW5jbHVkZSA8dmVjdG9yPg0KLQ0KLS8qKg0KLSAqIEEge0BsaW5rIENvbW1hbmRHcm91cH0gaXMgYSBsaXN0IG9mIGNvbW1hbmRzIHdoaWNoIGFyZSBleGVjdXRlZCBpbiBzZXF1ZW5jZS4NCi0gKg0KLSAqIDxwPkNvbW1hbmRzIGluIGEge0BsaW5rIENvbW1hbmRHcm91cH0gYXJlIGFkZGVkIHVzaW5nIHRoZSB7QGxpbmsgQ29tbWFuZEdyb3VwI0FkZFNlcXVlbnRpYWwoQ29tbWFuZCkgQWRkU2VxdWVudGlhbCguLi4pfSBtZXRob2QNCi0gKiBhbmQgYXJlIGNhbGxlZCBzZXF1ZW50aWFsbHkuDQotICoge0BsaW5rIENvbW1hbmRHcm91cCBDb21tYW5kR3JvdXBzfSBhcmUgdGhlbXNlbHZlcyB7QGxpbmsgQ29tbWFuZCBDb21tYW5kc30NCi0gKiBhbmQgY2FuIGJlIGdpdmVuIHRvIG90aGVyIHtAbGluayBDb21tYW5kR3JvdXAgQ29tbWFuZEdyb3Vwc30uPC9wPg0KLSAqDQotICogPHA+e0BsaW5rIENvbW1hbmRHcm91cCBDb21tYW5kR3JvdXBzfSB3aWxsIGNhcnJ5IGFsbCBvZiB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZWlyIHtAbGluayBDb21tYW5kIHN1YmNvbW1hbmRzfS4gIEFkZGl0aW9uYWwNCi0gKiByZXF1aXJlbWVudHMgY2FuIGJlIHNwZWNpZmllZCBieSBjYWxsaW5nIHtAbGluayBDb21tYW5kR3JvdXAjUmVxdWlyZXMoU3Vic3lzdGVtKSBSZXF1aXJlcyguLi4pfQ0KLSAqIG5vcm1hbGx5IGluIHRoZSBjb25zdHJ1Y3Rvci48L1A+DQotICoNCi0gKiA8cD5Db21tYW5kR3JvdXBzIGNhbiBhbHNvIGV4ZWN1dGUgY29tbWFuZHMgaW4gcGFyYWxsZWwsIHNpbXBseSBieSBhZGRpbmcgdGhlbQ0KLSAqIHVzaW5nIHtAbGluayBDb21tYW5kR3JvdXAjQWRkUGFyYWxsZWwoQ29tbWFuZCkgQWRkUGFyYWxsZWwoLi4uKX0uPC9wPg0KLSAqIA0KLSAqIEBzZWUgQ29tbWFuZA0KLSAqIEBzZWUgU3Vic3lzdGVtDQotICovDQotY2xhc3MgQ29tbWFuZEdyb3VwIDogcHVibGljIENvbW1hbmQNCi17DQotcHVibGljOg0KLQlDb21tYW5kR3JvdXAoKTsNCi0JQ29tbWFuZEdyb3VwKGNvbnN0IGNoYXIgKm5hbWUpOw0KLQl2aXJ0dWFsIH5Db21tYW5kR3JvdXAoKTsNCi0JDQotCXZvaWQgQWRkU2VxdWVudGlhbChDb21tYW5kICpjb21tYW5kKTsNCi0Jdm9pZCBBZGRTZXF1ZW50aWFsKENvbW1hbmQgKmNvbW1hbmQsIGRvdWJsZSB0aW1lb3V0KTsNCi0Jdm9pZCBBZGRQYXJhbGxlbChDb21tYW5kICpjb21tYW5kKTsNCi0Jdm9pZCBBZGRQYXJhbGxlbChDb21tYW5kICpjb21tYW5kLCBkb3VibGUgdGltZW91dCk7DQotCWJvb2wgSXNJbnRlcnJ1cHRpYmxlKCk7DQotCWludCBHZXRTaXplKCk7DQotDQotcHJvdGVjdGVkOg0KLQl2aXJ0dWFsIHZvaWQgSW5pdGlhbGl6ZSgpOw0KLQl2aXJ0dWFsIHZvaWQgRXhlY3V0ZSgpOw0KLQl2aXJ0dWFsIGJvb2wgSXNGaW5pc2hlZCgpOw0KLQl2aXJ0dWFsIHZvaWQgRW5kKCk7DQotCXZpcnR1YWwgdm9pZCBJbnRlcnJ1cHRlZCgpOw0KLQl2aXJ0dWFsIHZvaWQgX0luaXRpYWxpemUoKTsNCi0JdmlydHVhbCB2b2lkIF9JbnRlcnJ1cHRlZCgpOw0KLQl2aXJ0dWFsIHZvaWQgX0V4ZWN1dGUoKTsNCi0JdmlydHVhbCB2b2lkIF9FbmQoKTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIENhbmNlbENvbmZsaWN0cyhDb21tYW5kICpjb21tYW5kKTsNCi0NCi0JdHlwZWRlZiBzdGQ6OnZlY3RvcjxDb21tYW5kR3JvdXBFbnRyeT4gQ29tbWFuZFZlY3RvcjsNCi0JLyoqIFRoZSBjb21tYW5kcyBpbiB0aGlzIGdyb3VwIChzdG9yZWQgaW4gZW50cmllcykgKi8NCi0JQ29tbWFuZFZlY3RvciBtX2NvbW1hbmRzOw0KLQl0eXBlZGVmIHN0ZDo6bGlzdDxDb21tYW5kR3JvdXBFbnRyeT4gQ29tbWFuZExpc3Q7DQotCS8qKiBUaGUgYWN0aXZlIGNoaWxkcmVuIGluIHRoaXMgZ3JvdXAgKHN0b3JlZCBpbiBlbnRyaWVzKSAqLw0KLQlDb21tYW5kTGlzdCBtX2NoaWxkcmVuOw0KLQkvKiogVGhlIGN1cnJlbnQgY29tbWFuZCwgLTEgc2lnbmlmaWVzIHRoYXQgbm9uZSBoYXZlIGJlZW4gcnVuICovDQotCWludCBtX2N1cnJlbnRDb21tYW5kSW5kZXg7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXBFbnRyeS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXBFbnRyeS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmNDIwYTAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZEdyb3VwRW50cnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZEdyb3VwRW50cnkuaCINCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLUNvbW1hbmRHcm91cEVudHJ5OjpDb21tYW5kR3JvdXBFbnRyeSgpIDoNCi0JbV90aW1lb3V0KC0xLjApLA0KLQltX2NvbW1hbmQoTlVMTCksDQotCW1fc3RhdGUoa1NlcXVlbmNlX0luU2VxdWVuY2UpDQotew0KLX0NCi0NCi1Db21tYW5kR3JvdXBFbnRyeTo6Q29tbWFuZEdyb3VwRW50cnkoQ29tbWFuZCAqY29tbWFuZCwgU2VxdWVuY2Ugc3RhdGUpIDoNCi0JbV90aW1lb3V0KC0xLjApLA0KLQltX2NvbW1hbmQoY29tbWFuZCksDQotCW1fc3RhdGUoc3RhdGUpDQotew0KLX0NCi0NCi1Db21tYW5kR3JvdXBFbnRyeTo6Q29tbWFuZEdyb3VwRW50cnkoQ29tbWFuZCAqY29tbWFuZCwgU2VxdWVuY2Ugc3RhdGUsIGRvdWJsZSB0aW1lb3V0KSA6DQotCW1fdGltZW91dCh0aW1lb3V0KSwNCi0JbV9jb21tYW5kKGNvbW1hbmQpLA0KLQltX3N0YXRlKHN0YXRlKQ0KLXsNCi19DQotDQotYm9vbCBDb21tYW5kR3JvdXBFbnRyeTo6SXNUaW1lZE91dCgpDQotew0KLQlpZiAobV90aW1lb3V0IDwgMC4wKQ0KLQkJcmV0dXJuIGZhbHNlOw0KLQlkb3VibGUgdGltZSA9IG1fY29tbWFuZC0+VGltZVNpbmNlSW5pdGlhbGl6ZWQoKTsNCi0JaWYgKHRpbWUgPT0gMC4wKQ0KLQkJcmV0dXJuIGZhbHNlOw0KLQlyZXR1cm4gdGltZSA+PSBtX3RpbWVvdXQ7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmRHcm91cEVudHJ5LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXBFbnRyeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2FlYjM0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmRHcm91cEVudHJ5LmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19DT01NQU5EX0dST1VQX0VOVFJZX0hfXw0KLSNkZWZpbmUgX19DT01NQU5EX0dST1VQX0VOVFJZX0hfXw0KLQ0KLWNsYXNzIENvbW1hbmQ7DQotDQotY2xhc3MgQ29tbWFuZEdyb3VwRW50cnkNCi17DQotcHVibGljOg0KLQl0eXBlZGVmIGVudW0ge2tTZXF1ZW5jZV9JblNlcXVlbmNlLCBrU2VxdWVuY2VfQnJhbmNoUGVlciwga1NlcXVlbmNlX0JyYW5jaENoaWxkfSBTZXF1ZW5jZTsNCi0NCi0JQ29tbWFuZEdyb3VwRW50cnkoKTsNCi0JQ29tbWFuZEdyb3VwRW50cnkoQ29tbWFuZCAqY29tbWFuZCwgU2VxdWVuY2Ugc3RhdGUpOw0KLQlDb21tYW5kR3JvdXBFbnRyeShDb21tYW5kICpjb21tYW5kLCBTZXF1ZW5jZSBzdGF0ZSwgZG91YmxlIHRpbWVvdXQpOw0KLQlib29sIElzVGltZWRPdXQoKTsNCi0NCi0JZG91YmxlIG1fdGltZW91dDsNCi0JQ29tbWFuZCAqbV9jb21tYW5kOw0KLQlTZXF1ZW5jZSBtX3N0YXRlOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvUElEQ29tbWFuZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURDb21tYW5kLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDI4N2U0Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURDb21tYW5kLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9QSURDb21tYW5kLmgiDQotDQotI2luY2x1ZGUgIlBJRENvbnRyb2xsZXIuaCINCi0jaW5jbHVkZSAiZmxvYXQuaCINCi0NCi1QSURDb21tYW5kOjpQSURDb21tYW5kKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBmLCBkb3VibGUgcGVyaW9kKSA6DQotCQlDb21tYW5kKG5hbWUpDQotew0KLQltX2NvbnRyb2xsZXIgPSBuZXcgUElEQ29udHJvbGxlcihwLCBpLCBkLCB0aGlzLCB0aGlzLCBwZXJpb2QpOw0KLX0NCi0NCi1QSURDb21tYW5kOjpQSURDb21tYW5kKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBmLCBkb3VibGUgcGVyaW9kKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgZiwgdGhpcywgdGhpcywgcGVyaW9kKTsNCi19DQotDQotUElEQ29tbWFuZDo6UElEQ29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkKSA6DQotCUNvbW1hbmQobmFtZSkNCi17DQotCW1fY29udHJvbGxlciA9IG5ldyBQSURDb250cm9sbGVyKHAsIGksIGQsIHRoaXMsIHRoaXMpOw0KLX0NCi0NCi1QSURDb21tYW5kOjpQSURDb21tYW5kKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBwZXJpb2QpIDoNCi0JQ29tbWFuZChuYW1lKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgdGhpcywgdGhpcywgcGVyaW9kKTsNCi19DQotDQotUElEQ29tbWFuZDo6UElEQ29tbWFuZChkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgdGhpcywgdGhpcyk7DQotfQ0KLQ0KLVBJRENvbW1hbmQ6OlBJRENvbW1hbmQoZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCwgZG91YmxlIHBlcmlvZCkNCi17DQotCW1fY29udHJvbGxlciA9IG5ldyBQSURDb250cm9sbGVyKHAsIGksIGQsIHRoaXMsIHRoaXMsIHBlcmlvZCk7DQotfQ0KLQ0KLVBJRENvbW1hbmQ6On5QSURDb21tYW5kKCkNCi17DQotCWRlbGV0ZSBtX2NvbnRyb2xsZXI7DQotfQ0KLQ0KLXZvaWQgUElEQ29tbWFuZDo6X0luaXRpYWxpemUoKQ0KLXsNCi0JbV9jb250cm9sbGVyLT5FbmFibGUoKTsNCi19DQotDQotdm9pZCBQSURDb21tYW5kOjpfRW5kKCkNCi17DQotCW1fY29udHJvbGxlci0+RGlzYWJsZSgpOw0KLX0NCi0NCi12b2lkIFBJRENvbW1hbmQ6Ol9JbnRlcnJ1cHRlZCgpDQotew0KLQlfRW5kKCk7DQotfQ0KLQ0KLXZvaWQgUElEQ29tbWFuZDo6U2V0U2V0cG9pbnRSZWxhdGl2ZShkb3VibGUgZGVsdGFTZXRwb2ludCkNCi17DQotCVNldFNldHBvaW50KEdldFNldHBvaW50KCkgKyBkZWx0YVNldHBvaW50KTsNCi19DQotDQotdm9pZCBQSURDb21tYW5kOjpQSURXcml0ZShmbG9hdCBvdXRwdXQpDQotew0KLQlVc2VQSURPdXRwdXQob3V0cHV0KTsNCi19DQotDQotZG91YmxlIFBJRENvbW1hbmQ6OlBJREdldCgpDQotew0KLQlyZXR1cm4gUmV0dXJuUElESW5wdXQoKTsNCi19DQotDQotUElEQ29udHJvbGxlciAqUElEQ29tbWFuZDo6R2V0UElEQ29udHJvbGxlcigpDQotew0KLQlyZXR1cm4gbV9jb250cm9sbGVyOw0KLX0NCi0NCi12b2lkIFBJRENvbW1hbmQ6OlNldFNldHBvaW50KGRvdWJsZSBzZXRwb2ludCkNCi17DQotCW1fY29udHJvbGxlci0+U2V0U2V0cG9pbnQoc2V0cG9pbnQpOw0KLX0NCi0NCi1kb3VibGUgUElEQ29tbWFuZDo6R2V0U2V0cG9pbnQoKQ0KLXsNCi0JcmV0dXJuIG1fY29udHJvbGxlci0+R2V0U2V0cG9pbnQoKTsNCi19DQotDQotZG91YmxlIFBJRENvbW1hbmQ6OkdldFBvc2l0aW9uKCkNCi17DQotCXJldHVybiBSZXR1cm5QSURJbnB1dCgpOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBQSURDb21tYW5kOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKXsNCi0gICAgICAgIHJldHVybiAiUElEQ29tbWFuZCI7DQotfQ0KLXZvaWQgUElEQ29tbWFuZDo6SW5pdFRhYmxlKElUYWJsZSogdGFibGUpew0KLQltX2NvbnRyb2xsZXItPkluaXRUYWJsZSh0YWJsZSk7DQotCUNvbW1hbmQ6OkluaXRUYWJsZSh0YWJsZSk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1BJRENvbW1hbmQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1BJRENvbW1hbmQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU0NTA2NC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURDb21tYW5kLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19QSURfQ09NTUFORF9IX18NCi0jZGVmaW5lIF9fUElEX0NPTU1BTkRfSF9fDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmQuaCINCi0jaW5jbHVkZSAiUElEU291cmNlLmgiDQotI2luY2x1ZGUgIlBJRE91dHB1dC5oIg0KLQ0KLWNsYXNzIFBJRENvbnRyb2xsZXI7DQotDQotY2xhc3MgUElEQ29tbWFuZCA6IHB1YmxpYyBDb21tYW5kLCBwdWJsaWMgUElET3V0cHV0LCBwdWJsaWMgUElEU291cmNlDQotew0KLXB1YmxpYzoNCi0JUElEQ29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkKTsNCi0JUElEQ29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkLCBkb3VibGUgcGVyaW9kKTsNCi0JUElEQ29tbWFuZChjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkLCBkb3VibGUgZiwgZG91YmxlIHBlcmlvaWQpOw0KLQlQSURDb21tYW5kKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQpOw0KLQlQSURDb21tYW5kKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBwZXJpb2QpOw0KLQlQSURDb21tYW5kKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBmLCBkb3VibGUgcGVyaW9kKTsNCi0JdmlydHVhbCB+UElEQ29tbWFuZCgpOw0KLQkNCi0Jdm9pZCBTZXRTZXRwb2ludFJlbGF0aXZlKGRvdWJsZSBkZWx0YVNldHBvaW50KTsNCi0NCi0JLy8gUElET3V0cHV0IGludGVyZmFjZQ0KLQl2aXJ0dWFsIHZvaWQgUElEV3JpdGUoZmxvYXQgb3V0cHV0KTsNCi0NCi0JLy8gUElEU291cmNlIGludGVyZmFjZQ0KLQl2aXJ0dWFsIGRvdWJsZSBQSURHZXQoKTsNCi1wcm90ZWN0ZWQ6DQotCVBJRENvbnRyb2xsZXIgKkdldFBJRENvbnRyb2xsZXIoKTsNCi0JdmlydHVhbCB2b2lkIF9Jbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBfSW50ZXJydXB0ZWQoKTsNCi0JdmlydHVhbCB2b2lkIF9FbmQoKTsNCi0Jdm9pZCBTZXRTZXRwb2ludChkb3VibGUgc2V0cG9pbnQpOw0KLQlkb3VibGUgR2V0U2V0cG9pbnQoKTsNCi0JZG91YmxlIEdldFBvc2l0aW9uKCk7DQotDQotCXZpcnR1YWwgZG91YmxlIFJldHVyblBJRElucHV0KCkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgVXNlUElET3V0cHV0KGRvdWJsZSBvdXRwdXQpID0gMDsNCi0NCi1wcml2YXRlOgkNCi0JLyoqIFRoZSBpbnRlcm5hbCB7QGxpbmsgUElEQ29udHJvbGxlcn0gKi8NCi0JUElEQ29udHJvbGxlciAqbV9jb250cm9sbGVyOw0KLQ0KLXB1YmxpYzoNCi0JdmlydHVhbCB2b2lkIEluaXRUYWJsZShJVGFibGUqIHRhYmxlKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1BJRFN1YnN5c3RlbS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURTdWJzeXN0ZW0uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDIzMTM1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1BJRFN1YnN5c3RlbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMzcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvUElEU3Vic3lzdGVtLmgiDQotI2luY2x1ZGUgIlBJRENvbnRyb2xsZXIuaCINCi0jaW5jbHVkZSAiZmxvYXQuaCINCi0NCi0vLyBYWFggbWF4IGFuZCBtaW4gYXJlIG5vdCB1c2VkPw0KLQ0KLS8qKg0KLSAqIEluc3RhbnRpYXRlcyBhIHtAbGluayBQSURTdWJzeXN0ZW19IHRoYXQgd2lsbCB1c2UgdGhlIGdpdmVuIHAsIGkgYW5kIGQgdmFsdWVzLg0KLSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lDQotICogQHBhcmFtIHAgdGhlIHByb3BvcnRpb25hbCB2YWx1ZQ0KLSAqIEBwYXJhbSBpIHRoZSBpbnRlZ3JhbCB2YWx1ZQ0KLSAqIEBwYXJhbSBkIHRoZSBkZXJpdmF0aXZlIHZhbHVlDQotICovDQotUElEU3Vic3lzdGVtOjpQSURTdWJzeXN0ZW0oY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCkgOg0KLQlTdWJzeXN0ZW0obmFtZSkNCi17DQotCW1fY29udHJvbGxlciA9IG5ldyBQSURDb250cm9sbGVyKHAsIGksIGQsIHRoaXMsIHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBJbnN0YW50aWF0ZXMgYSB7QGxpbmsgUElEU3Vic3lzdGVtfSB0aGF0IHdpbGwgdXNlIHRoZSBnaXZlbiBwLCBpIGFuZCBkIHZhbHVlcy4NCi0gKiBAcGFyYW0gbmFtZSB0aGUgbmFtZQ0KLSAqIEBwYXJhbSBwIHRoZSBwcm9wb3J0aW9uYWwgdmFsdWUNCi0gKiBAcGFyYW0gaSB0aGUgaW50ZWdyYWwgdmFsdWUNCi0gKiBAcGFyYW0gZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZQ0KLSAqIEBwYXJhbSBmIHRoZSBmZWVkZm9yd2FyZCB2YWx1ZQ0KLSAqLw0KLVBJRFN1YnN5c3RlbTo6UElEU3Vic3lzdGVtKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBmKSA6DQotCVN1YnN5c3RlbShuYW1lKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgZiwgdGhpcywgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluc3RhbnRpYXRlcyBhIHtAbGluayBQSURTdWJzeXN0ZW19IHRoYXQgd2lsbCB1c2UgdGhlIGdpdmVuIHAsIGkgYW5kIGQgdmFsdWVzLiAgSXQgd2lsbCBhbHNvIHNwYWNlIHRoZSB0aW1lDQotICogYmV0d2VlbiBQSUQgbG9vcCBjYWxjdWxhdGlvbnMgdG8gYmUgZXF1YWwgdG8gdGhlIGdpdmVuIHBlcmlvZC4NCi0gKiBAcGFyYW0gbmFtZSB0aGUgbmFtZQ0KLSAqIEBwYXJhbSBwIHRoZSBwcm9wb3J0aW9uYWwgdmFsdWUNCi0gKiBAcGFyYW0gaSB0aGUgaW50ZWdyYWwgdmFsdWUNCi0gKiBAcGFyYW0gZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZQ0KLSAqIEBwYXJhbSBmIHRoZSBmZWVkZm93YXJkIHZhbHVlDQotICogQHBhcmFtIHBlcmlvZCB0aGUgdGltZSAoaW4gc2Vjb25kcykgYmV0d2VlbiBjYWxjdWxhdGlvbnMNCi0gKi8NCi1QSURTdWJzeXN0ZW06OlBJRFN1YnN5c3RlbShjb25zdCBjaGFyICpuYW1lLCBkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkLCBkb3VibGUgZiwNCi0JZG91YmxlIHBlcmlvZCkgOg0KLQlTdWJzeXN0ZW0obmFtZSkNCi17DQotCW1fY29udHJvbGxlciA9IG5ldyBQSURDb250cm9sbGVyKHAsIGksIGQsIGYsIHRoaXMsIHRoaXMsIHBlcmlvZCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluc3RhbnRpYXRlcyBhIHtAbGluayBQSURTdWJzeXN0ZW19IHRoYXQgd2lsbCB1c2UgdGhlIGdpdmVuIHAsIGkgYW5kIGQgdmFsdWVzLg0KLSAqIEl0IHdpbGwgdXNlIHRoZSBjbGFzcyBuYW1lIGFzIGl0cyBuYW1lLg0KLSAqIEBwYXJhbSBwIHRoZSBwcm9wb3J0aW9uYWwgdmFsdWUNCi0gKiBAcGFyYW0gaSB0aGUgaW50ZWdyYWwgdmFsdWUNCi0gKiBAcGFyYW0gZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZQ0KLSAqLw0KLVBJRFN1YnN5c3RlbTo6UElEU3Vic3lzdGVtKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQpIDoNCi0JU3Vic3lzdGVtKCJQSURTdWJzeXN0ZW0iKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgdGhpcywgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluc3RhbnRpYXRlcyBhIHtAbGluayBQSURTdWJzeXN0ZW19IHRoYXQgd2lsbCB1c2UgdGhlIGdpdmVuIHAsIGkgYW5kIGQgdmFsdWVzLg0KLSAqIEl0IHdpbGwgdXNlIHRoZSBjbGFzcyBuYW1lIGFzIGl0cyBuYW1lLg0KLSAqIEBwYXJhbSBwIHRoZSBwcm9wb3J0aW9uYWwgdmFsdWUNCi0gKiBAcGFyYW0gaSB0aGUgaW50ZWdyYWwgdmFsdWUNCi0gKiBAcGFyYW0gZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZQ0KLSAqIEBwYXJhbSBmIHRoZSBmZWVkZm9yd2FyZCB2YWx1ZQ0KLSAqLw0KLVBJRFN1YnN5c3RlbTo6UElEU3Vic3lzdGVtKGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQsIGRvdWJsZSBmKSA6DQotCVN1YnN5c3RlbSgiUElEU3Vic3lzdGVtIikNCi17DQotCW1fY29udHJvbGxlciA9IG5ldyBQSURDb250cm9sbGVyKHAsIGksIGQsIGYsIHRoaXMsIHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBJbnN0YW50aWF0ZXMgYSB7QGxpbmsgUElEU3Vic3lzdGVtfSB0aGF0IHdpbGwgdXNlIHRoZSBnaXZlbiBwLCBpIGFuZCBkIHZhbHVlcy4NCi0gKiBJdCB3aWxsIHVzZSB0aGUgY2xhc3MgbmFtZSBhcyBpdHMgbmFtZS4NCi0gKiBJdCB3aWxsIGFsc28gc3BhY2UgdGhlIHRpbWUNCi0gKiBiZXR3ZWVuIFBJRCBsb29wIGNhbGN1bGF0aW9ucyB0byBiZSBlcXVhbCB0byB0aGUgZ2l2ZW4gcGVyaW9kLg0KLSAqIEBwYXJhbSBwIHRoZSBwcm9wb3J0aW9uYWwgdmFsdWUNCi0gKiBAcGFyYW0gaSB0aGUgaW50ZWdyYWwgdmFsdWUNCi0gKiBAcGFyYW0gZCB0aGUgZGVyaXZhdGl2ZSB2YWx1ZQ0KLSAqIEBwYXJhbSBmIHRoZSBmZWVkZm9yd2FyZCB2YWx1ZQ0KLSAqIEBwYXJhbSBwZXJpb2QgdGhlIHRpbWUgKGluIHNlY29uZHMpIGJldHdlZW4gY2FsY3VsYXRpb25zDQotICovDQotUElEU3Vic3lzdGVtOjpQSURTdWJzeXN0ZW0oZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCwgZG91YmxlIGYsIGRvdWJsZSBwZXJpb2QpIDoNCi0JU3Vic3lzdGVtKCJQSURTdWJzeXN0ZW0iKQ0KLXsNCi0JbV9jb250cm9sbGVyID0gbmV3IFBJRENvbnRyb2xsZXIocCwgaSwgZCwgZiwgdGhpcywgdGhpcywgcGVyaW9kKTsNCi19DQotDQotUElEU3Vic3lzdGVtOjp+UElEU3Vic3lzdGVtKCkNCi17DQotCWRlbGV0ZSBtX2NvbnRyb2xsZXI7DQotfQ0KLQ0KLS8qKg0KLSAqIEVuYWJsZXMgdGhlIGludGVybmFsIHtAbGluayBQSURDb250cm9sbGVyfQ0KLSAqLw0KLXZvaWQgUElEU3Vic3lzdGVtOjpFbmFibGUoKQ0KLXsNCi0JbV9jb250cm9sbGVyLT5FbmFibGUoKTsNCi19DQotDQotLyoqIA0KLSAgKiBEaXNhYmxlcyB0aGUgaW50ZXJuYWwge0BsaW5rIFBJRENvbnRyb2xsZXJ9DQotICAqLw0KLXZvaWQgUElEU3Vic3lzdGVtOjpEaXNhYmxlKCkNCi17DQotCW1fY29udHJvbGxlci0+RGlzYWJsZSgpOw0KLX0NCi0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSB7QGxpbmsgUElEQ29udHJvbGxlcn0gdXNlZCBieSB0aGlzIHtAbGluayBQSURTdWJzeXN0ZW19Lg0KLSAqIFVzZSB0aGlzIGlmIHlvdSB3b3VsZCBsaWtlIHRvIGZpbmUgdHVuZSB0aGUgcGlkIGxvb3AuDQotICoNCi0gKiBAcmV0dXJuIHRoZSB7QGxpbmsgUElEQ29udHJvbGxlcn0gdXNlZCBieSB0aGlzIHtAbGluayBQSURTdWJzeXN0ZW19DQotICovDQotUElEQ29udHJvbGxlciAqUElEU3Vic3lzdGVtOjpHZXRQSURDb250cm9sbGVyKCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xsZXI7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldHMgdGhlIHNldHBvaW50IHRvIHRoZSBnaXZlbiB2YWx1ZS4gIElmIHtAbGluayBQSURDb21tYW5kI1NldFJhbmdlKGRvdWJsZSwgZG91YmxlKSBTZXRSYW5nZSguLi4pfQ0KLSAqIHdhcyBjYWxsZWQsDQotICogdGhlbiB0aGUgZ2l2ZW4gc2V0cG9pbnQNCi0gKiB3aWxsIGJlIHRyaW1tZWQgdG8gZml0IHdpdGhpbiB0aGUgcmFuZ2UuDQotICogQHBhcmFtIHNldHBvaW50IHRoZSBuZXcgc2V0cG9pbnQNCi0gKi8NCi12b2lkIFBJRFN1YnN5c3RlbTo6U2V0U2V0cG9pbnQoZG91YmxlIHNldHBvaW50KQ0KLXsNCi0JbV9jb250cm9sbGVyLT5TZXRTZXRwb2ludChzZXRwb2ludCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEFkZHMgdGhlIGdpdmVuIHZhbHVlIHRvIHRoZSBzZXRwb2ludC4NCi0gKiBJZiB7QGxpbmsgUElEQ29tbWFuZCNTZXRSYW5nZShkb3VibGUsIGRvdWJsZSkgU2V0UmFuZ2UoLi4uKX0gd2FzIHVzZWQsDQotICogdGhlbiB0aGUgYm91bmRzIHdpbGwgc3RpbGwgYmUgaG9ub3JlZCBieSB0aGlzIG1ldGhvZC4NCi0gKiBAcGFyYW0gZGVsdGFTZXRwb2ludCB0aGUgY2hhbmdlIGluIHRoZSBzZXRwb2ludA0KLSAqLw0KLXZvaWQgUElEU3Vic3lzdGVtOjpTZXRTZXRwb2ludFJlbGF0aXZlKGRvdWJsZSBkZWx0YVNldHBvaW50KQ0KLXsNCi0JU2V0U2V0cG9pbnQoR2V0U2V0cG9pbnQoKSArIGRlbHRhU2V0cG9pbnQpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIGN1cnJlbnQgc2V0cG9pbnQNCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHNldHBvaW50DQotICovDQotZG91YmxlIFBJRFN1YnN5c3RlbTo6R2V0U2V0cG9pbnQoKQ0KLXsNCi0JcmV0dXJuIG1fY29udHJvbGxlci0+R2V0U2V0cG9pbnQoKTsNCi19DQotDQotLyoqDQotICogU2V0cyB0aGUgbWF4aW11bSBhbmQgbWluaW11bSB2YWx1ZXMgZXhwZWN0ZWQgZnJvbSB0aGUgaW5wdXQuDQotICogDQotICogQHBhcmFtIG1pbmltdW1JbnB1dCB0aGUgbWluaW11bSB2YWx1ZSBleHBlY3RlZCBmcm9tIHRoZSBpbnB1dA0KLSAqIEBwYXJhbSBtYXhpbXVtSW5wdXQgdGhlIG1heGltdW0gdmFsdWUgZXhwZWN0ZWQgZnJvbSB0aGUgb3V0cHV0DQotICovDQotdm9pZCBQSURTdWJzeXN0ZW06OlNldElucHV0UmFuZ2UoZmxvYXQgbWluaW11bUlucHV0LCBmbG9hdCBtYXhpbXVtSW5wdXQpDQotew0KLQltX2NvbnRyb2xsZXItPlNldElucHV0UmFuZ2UobWluaW11bUlucHV0LCBtYXhpbXVtSW5wdXQpOw0KLX0NCi0NCi0vKg0KLSAqIFNldCB0aGUgYWJzb2x1dGUgZXJyb3Igd2hpY2ggaXMgY29uc2lkZXJlZCB0b2xlcmFibGUgZm9yIHVzZSB3aXRoDQotICogT25UYXJnZXQuDQotICogQHBhcmFtIHBlcmNlbnRhZ2UgZXJyb3Igd2hpY2ggaXMgdG9sZXJhYmxlDQotICovDQotdm9pZCBQSURTdWJzeXN0ZW06OlNldEFic29sdXRlVG9sZXJhbmNlKGZsb2F0IGFic1ZhbHVlKSB7DQotCW1fY29udHJvbGxlci0+U2V0QWJzb2x1dGVUb2xlcmFuY2UoYWJzVmFsdWUpOw0KLX0NCi0NCi0vKg0KLSAqIFNldCB0aGUgcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyBjb25zaWRlcmVkIHRvbGVyYWJsZSBmb3IgdXNlIHdpdGgNCi0gKiBPblRhcmdldC4NCi0gKiBAcGFyYW0gcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyB0b2xlcmFibGUNCi0gKi8NCi12b2lkIFBJRFN1YnN5c3RlbTo6U2V0UGVyY2VudFRvbGVyYW5jZShmbG9hdCBwZXJjZW50KSB7DQotCW1fY29udHJvbGxlci0+U2V0UGVyY2VudFRvbGVyYW5jZShwZXJjZW50KTsNCi19DQotDQotLyoNCi0gKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZXJyb3IgaXMgd2l0aGluIHRoZSBwZXJjZW50YWdlIG9mIHRoZSB0b3RhbCBpbnB1dCByYW5nZSwNCi0gKiBkZXRlcm1pbmVkIGJ5IFNldFRvbGVyYW5jZS4gVGhpcyBhc3NzdW1lcyB0aGF0IHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIGlucHV0DQotICogd2VyZSBzZXQgdXNpbmcgU2V0SW5wdXQuIFVzZSBPblRhcmdldCgpIGluIHRoZSBJc0ZpbmlzaGVkKCkgbWV0aG9kIG9mIGNvbW1hbmRzDQotICogdGhhdCB1c2UgdGhpcyBzdWJzeXN0ZW0uDQotICogDQotICogQ3VycmVudGx5IHRoaXMganVzdCByZXBvcnRzIG9uIHRhcmdldCBhcyB0aGUgYWN0dWFsIHZhbHVlIHBhc3NlcyB0aHJvdWdoIHRoZSBzZXRwb2ludC4NCi0gKiBJZGVhbGx5IGl0IHNob3VsZCBiZSBiYXNlZCBvbiBiZWluZyB3aXRoaW4gdGhlIHRvbGVyYW5jZSBmb3Igc29tZSBwZXJpb2Qgb2YgdGltZS4NCi0gKiANCi0gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGVycm9yIGlzIHdpdGhpbiB0aGUgcGVyY2VudGFnZSB0b2xlcmFuY2Ugb2YgdGhlIGlucHV0IHJhbmdlDQotICovDQotYm9vbCBQSURTdWJzeXN0ZW06Ok9uVGFyZ2V0KCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xsZXItPk9uVGFyZ2V0KCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdGhlIGN1cnJlbnQgcG9zaXRpb24NCi0gKiBAcmV0dXJuIHRoZSBjdXJyZW50IHBvc2l0aW9uDQotICovDQotZG91YmxlIFBJRFN1YnN5c3RlbTo6R2V0UG9zaXRpb24oKQ0KLXsNCi0JcmV0dXJuIFJldHVyblBJRElucHV0KCk7DQotfQ0KLQ0KLXZvaWQgUElEU3Vic3lzdGVtOjpQSURXcml0ZShmbG9hdCBvdXRwdXQpDQotew0KLQlVc2VQSURPdXRwdXQob3V0cHV0KTsNCi19DQotDQotZG91YmxlIFBJRFN1YnN5c3RlbTo6UElER2V0KCkNCi17DQotCXJldHVybiBSZXR1cm5QSURJbnB1dCgpOw0KLX0NCi0NCi0NCi1zdGQ6OnN0cmluZyBQSURTdWJzeXN0ZW06OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpew0KLQlyZXR1cm4gIlBJRENvbW1hbmQiOw0KLX0NCi12b2lkIFBJRFN1YnN5c3RlbTo6SW5pdFRhYmxlKElUYWJsZSogdGFibGUpew0KLQltX2NvbnRyb2xsZXItPkluaXRUYWJsZSh0YWJsZSk7DQotCVN1YnN5c3RlbTo6SW5pdFRhYmxlKHRhYmxlKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvUElEU3Vic3lzdGVtLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURTdWJzeXN0ZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y2OWEwMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QSURTdWJzeXN0ZW0uaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1BJRF9TVUJTWVNURU1fSF9fDQotI2RlZmluZSBfX1BJRF9TVUJTWVNURU1fSF9fDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL1N1YnN5c3RlbS5oIg0KLSNpbmNsdWRlICJQSURDb250cm9sbGVyLmgiDQotI2luY2x1ZGUgIlBJRFNvdXJjZS5oIg0KLSNpbmNsdWRlICJQSURPdXRwdXQuaCINCi0NCi0vKioNCi0gKiBUaGlzIGNsYXNzIGlzIGRlc2lnbmVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBhIHtAbGluayBTdWJzeXN0ZW19DQotICogd2hpY2ggdXNlcyBhIHNpbmdsZSB7QGxpbmsgUElEQ29udHJvbGxlcn0gYWxtb3N0IGNvbnN0YW50bHkgKGZvciBpbnN0YW5jZSwgDQotICogYW4gZWxldmF0b3Igd2hpY2ggYXR0ZW1wdHMgdG8gc3RheSBhdCBhIGNvbnN0YW50IGhlaWdodCkuDQotICoNCi0gKiA8cD5JdCBwcm92aWRlcyBzb21lIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gcnVuIGFuIGludGVybmFsIHtAbGluayBQSURDb250cm9sbGVyfS4NCi0gKiBJdCBhbHNvIGFsbG93cyBhY2Nlc3MgdG8gdGhlIGludGVybmFsIHtAbGluayBQSURDb250cm9sbGVyfSBpbiBvcmRlciB0byBnaXZlIHRvdGFsIGNvbnRyb2wNCi0gKiB0byB0aGUgcHJvZ3JhbW1lci48L3A+DQotICoNCi0gKi8NCi1jbGFzcyBQSURTdWJzeXN0ZW0gOiBwdWJsaWMgU3Vic3lzdGVtLCBwdWJsaWMgUElET3V0cHV0LCBwdWJsaWMgUElEU291cmNlDQotew0KLXB1YmxpYzoNCi0JUElEU3Vic3lzdGVtKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSBwLCBkb3VibGUgaSwgZG91YmxlIGQpOw0KLQlQSURTdWJzeXN0ZW0oY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCwgZG91YmxlIGYpOw0KLQlQSURTdWJzeXN0ZW0oY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCwgZG91YmxlIGYsIGRvdWJsZSBwZXJpb2QpOw0KLQlQSURTdWJzeXN0ZW0oZG91YmxlIHAsIGRvdWJsZSBpLCBkb3VibGUgZCk7DQotCVBJRFN1YnN5c3RlbShkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkLCBkb3VibGUgZik7DQotCVBJRFN1YnN5c3RlbShkb3VibGUgcCwgZG91YmxlIGksIGRvdWJsZSBkLCBkb3VibGUgZiwgZG91YmxlIHBlcmlvZCk7DQotCXZpcnR1YWwgflBJRFN1YnN5c3RlbSgpOw0KLQkNCi0Jdm9pZCBFbmFibGUoKTsNCi0Jdm9pZCBEaXNhYmxlKCk7DQotDQotCS8vIFBJRE91dHB1dCBpbnRlcmZhY2UNCi0JdmlydHVhbCB2b2lkIFBJRFdyaXRlKGZsb2F0IG91dHB1dCk7DQotDQotCS8vIFBJRFNvdXJjZSBpbnRlcmZhY2UNCi0JdmlydHVhbCBkb3VibGUgUElER2V0KCk7DQotCXZvaWQgU2V0U2V0cG9pbnQoZG91YmxlIHNldHBvaW50KTsNCi0Jdm9pZCBTZXRTZXRwb2ludFJlbGF0aXZlKGRvdWJsZSBkZWx0YVNldHBvaW50KTsNCi0Jdm9pZCBTZXRJbnB1dFJhbmdlKGZsb2F0IG1pbmltdW1JbnB1dCwgZmxvYXQgbWF4aW11bUlucHV0KTsNCi0JZG91YmxlIEdldFNldHBvaW50KCk7DQotCWRvdWJsZSBHZXRQb3NpdGlvbigpOw0KLQ0KLQl2aXJ0dWFsIHZvaWQgU2V0QWJzb2x1dGVUb2xlcmFuY2UoZmxvYXQgYWJzVmFsdWUpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0UGVyY2VudFRvbGVyYW5jZShmbG9hdCBwZXJjZW50KTsNCi0JdmlydHVhbCBib29sIE9uVGFyZ2V0KCk7DQotCQ0KLXByb3RlY3RlZDoNCi0JUElEQ29udHJvbGxlciAqR2V0UElEQ29udHJvbGxlcigpOw0KLQ0KLQl2aXJ0dWFsIGRvdWJsZSBSZXR1cm5QSURJbnB1dCgpID0gMDsNCi0JdmlydHVhbCB2b2lkIFVzZVBJRE91dHB1dChkb3VibGUgb3V0cHV0KSA9IDA7DQotDQotcHJpdmF0ZToNCi0JLyoqIFRoZSBpbnRlcm5hbCB7QGxpbmsgUElEQ29udHJvbGxlcn0gKi8NCi0JUElEQ29udHJvbGxlciAqbV9jb250cm9sbGVyOw0KLQ0KLXB1YmxpYzoNCi0JdmlydHVhbCB2b2lkIEluaXRUYWJsZShJVGFibGUqIHRhYmxlKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1ByaW50Q29tbWFuZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QcmludENvbW1hbmQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWJhMDQ0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1ByaW50Q29tbWFuZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9QcmludENvbW1hbmQuaCINCi0jaW5jbHVkZSAic3RkaW8uaCINCi0jaW5jbHVkZSA8c3N0cmVhbT4NCi0NCi1QcmludENvbW1hbmQ6OlByaW50Q29tbWFuZChjb25zdCBjaGFyICptZXNzYWdlKSA6DQotCUNvbW1hbmQoKChzdGQ6OnN0cmluZ3N0cmVhbSYpKHN0ZDo6c3RyaW5nc3RyZWFtKCJQcmludCBcIiIpIDw8IG1lc3NhZ2UgPDwgIlwiIikpLnN0cigpLmNfc3RyKCkpDQotew0KLQltX21lc3NhZ2UgPSBtZXNzYWdlOw0KLX0NCi0NCi12b2lkIFByaW50Q29tbWFuZDo6SW5pdGlhbGl6ZSgpDQotew0KLQlwcmludGYobV9tZXNzYWdlLmNfc3RyKCkpOw0KLX0NCi0NCi12b2lkIFByaW50Q29tbWFuZDo6RXhlY3V0ZSgpDQotew0KLX0NCi0NCi1ib29sIFByaW50Q29tbWFuZDo6SXNGaW5pc2hlZCgpDQotew0KLQlyZXR1cm4gdHJ1ZTsNCi19DQotDQotdm9pZCBQcmludENvbW1hbmQ6OkVuZCgpDQotew0KLX0NCi0NCi12b2lkIFByaW50Q29tbWFuZDo6SW50ZXJydXB0ZWQoKQ0KLXsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvUHJpbnRDb21tYW5kLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QcmludENvbW1hbmQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRkZTlmYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9QcmludENvbW1hbmQuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1BSSU5UX0NPTU1BTkRfSF9fDQotI2RlZmluZSBfX1BSSU5UX0NPTU1BTkRfSF9fDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmQuaCINCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLWNsYXNzIFByaW50Q29tbWFuZCA6IHB1YmxpYyBDb21tYW5kDQotew0KLXB1YmxpYzoNCi0JUHJpbnRDb21tYW5kKGNvbnN0IGNoYXIgKm1lc3NhZ2UpOw0KLQl2aXJ0dWFsIH5QcmludENvbW1hbmQoKSB7fQ0KLQ0KLXByb3RlY3RlZDoNCi0JdmlydHVhbCB2b2lkIEluaXRpYWxpemUoKTsNCi0JdmlydHVhbCB2b2lkIEV4ZWN1dGUoKTsNCi0JdmlydHVhbCBib29sIElzRmluaXNoZWQoKTsNCi0JdmlydHVhbCB2b2lkIEVuZCgpOw0KLQl2aXJ0dWFsIHZvaWQgSW50ZXJydXB0ZWQoKTsNCi0NCi1wcml2YXRlOg0KLQlzdGQ6OnN0cmluZyBtX21lc3NhZ2U7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TY2hlZHVsZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU2NoZWR1bGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWVlMDY3YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TY2hlZHVsZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjg4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL1NjaGVkdWxlci5oIg0KLQ0KLSNpbmNsdWRlICJCdXR0b25zL0J1dHRvblNjaGVkdWxlci5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxpb3N0cmVhbT4NCi0jaW5jbHVkZSA8c2V0Pg0KLSNpbmNsdWRlIDxzZW1MaWIuaD4NCi0jaW5jbHVkZSA8YWxnb3JpdGhtPg0KLQ0KLVNjaGVkdWxlciAqU2NoZWR1bGVyOjpfaW5zdGFuY2UgPSBOVUxMOw0KLQ0KLVNjaGVkdWxlcjo6U2NoZWR1bGVyKCkgOg0KLQltX2J1dHRvbnNMb2NrKE5VTEwpLCBtX2FkZGl0aW9uc0xvY2soTlVMTCksIG1fYWRkaW5nKGZhbHNlKSB7DQotCW1fYnV0dG9uc0xvY2sgPSBzZW1NQ3JlYXRlKA0KLQkJCVNFTV9RX1BSSU9SSVRZIHwgU0VNX0lOVkVSU0lPTl9TQUZFIHwgU0VNX0RFTEVURV9TQUZFKTsNCi0JbV9hZGRpdGlvbnNMb2NrID0gc2VtTUNyZWF0ZSgNCi0JCQlTRU1fUV9QUklPUklUWSB8IFNFTV9JTlZFUlNJT05fU0FGRSB8IFNFTV9ERUxFVEVfU0FGRSk7DQotDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Db21tYW5kLA0KLQkJCW5Vc2FnZVJlcG9ydGluZzo6a0NvbW1hbmRfU2NoZWR1bGVyKTsNCi0NCi0JbV90YWJsZSA9IE5VTEw7DQotCW1fZW5hYmxlZCA9IHRydWU7DQotfQ0KLQ0KLVNjaGVkdWxlcjo6flNjaGVkdWxlcigpIHsNCi0Jc2VtVGFrZShtX2FkZGl0aW9uc0xvY2ssIFdBSVRfRk9SRVZFUik7DQotCXNlbURlbGV0ZShtX2FkZGl0aW9uc0xvY2spOw0KLQ0KLQlzZW1UYWtlKG1fYnV0dG9uc0xvY2ssIFdBSVRfRk9SRVZFUik7DQotCXNlbURlbGV0ZShtX2J1dHRvbnNMb2NrKTsNCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUge0BsaW5rIFNjaGVkdWxlcn0sIGNyZWF0aW5nIGl0IGlmIG9uZSBkb2VzIG5vdCBleGlzdC4NCi0gKiBAcmV0dXJuIHRoZSB7QGxpbmsgU2NoZWR1bGVyfQ0KLSAqLw0KLVNjaGVkdWxlciAqU2NoZWR1bGVyOjpHZXRJbnN0YW5jZSgpIHsNCi0JaWYgKF9pbnN0YW5jZSA9PSBOVUxMKQ0KLQkJX2luc3RhbmNlID0gbmV3IFNjaGVkdWxlcigpOw0KLQlyZXR1cm4gX2luc3RhbmNlOw0KLX0NCi0NCi12b2lkIFNjaGVkdWxlcjo6U2V0RW5hYmxlZChib29sIGVuYWJsZWQpIHsNCi0JbV9lbmFibGVkID0gZW5hYmxlZDsNCi19DQotDQotLyoqDQotICogQWRkIGEgY29tbWFuZCB0byBiZSBzY2hlZHVsZWQgbGF0ZXIuDQotICogSW4gYW55IHBhc3MgdGhyb3VnaCB0aGUgc2NoZWR1bGVyLCBhbGwgY29tbWFuZHMgYXJlIGFkZGVkIHRvIHRoZSBhZGRpdGlvbnMgbGlzdCwgdGhlbg0KLSAqIGF0IHRoZSBlbmQgb2YgdGhlIHBhc3MsIHRoZXkgYXJlIGFsbCBzY2hlZHVsZWQuDQotICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gYmUgc2NoZWR1bGVkDQotICovDQotdm9pZCBTY2hlZHVsZXI6OkFkZENvbW1hbmQoQ29tbWFuZCAqY29tbWFuZCkgew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2FkZGl0aW9uc0xvY2spOw0KLQlpZiAoc3RkOjpmaW5kKG1fYWRkaXRpb25zLmJlZ2luKCksIG1fYWRkaXRpb25zLmVuZCgpLCBjb21tYW5kKQ0KLQkJCSE9IG1fYWRkaXRpb25zLmVuZCgpKQ0KLQkJcmV0dXJuOw0KLQltX2FkZGl0aW9ucy5wdXNoX2JhY2soY29tbWFuZCk7DQotfQ0KLQ0KLXZvaWQgU2NoZWR1bGVyOjpBZGRCdXR0b24oQnV0dG9uU2NoZWR1bGVyICpidXR0b24pIHsNCi0JU3luY2hyb25pemVkIHN5bmMobV9idXR0b25zTG9jayk7DQotCW1fYnV0dG9ucy5wdXNoX2JhY2soYnV0dG9uKTsNCi19DQotDQotdm9pZCBTY2hlZHVsZXI6OlByb2Nlc3NDb21tYW5kQWRkaXRpb24oQ29tbWFuZCAqY29tbWFuZCkgew0KLQlpZiAoY29tbWFuZCA9PSBOVUxMKQ0KLQkJcmV0dXJuOw0KLQ0KLQkvLyBDaGVjayB0byBtYWtlIHN1cmUgbm8gYWRkaW5nIGR1cmluZyBhZGRpbmcNCi0JaWYgKG1fYWRkaW5nKSB7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChJbmNvbXBhdGlibGVTdGF0ZSwgIkNhbiBub3Qgc3RhcnQgY29tbWFuZCBmcm9tIGNhbmNlbCBtZXRob2QiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQkvLyBPbmx5IGFkZCBpZiBub3QgYWxyZWFkeSBpbg0KLQlDb21tYW5kU2V0OjppdGVyYXRvciBmb3VuZCA9IG1fY29tbWFuZHMuZmluZChjb21tYW5kKTsNCi0JaWYgKGZvdW5kID09IG1fY29tbWFuZHMuZW5kKCkpIHsNCi0JCS8vIENoZWNrIHRoYXQgdGhlIHJlcXVpcmVtZW50cyBjYW4gYmUgaGFkDQotCQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQgcmVxdWlyZW1lbnRzID0gY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCk7DQotCQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQ6Oml0ZXJhdG9yIGl0ZXI7DQotCQlmb3IgKGl0ZXIgPSByZXF1aXJlbWVudHMuYmVnaW4oKTsgaXRlciAhPSByZXF1aXJlbWVudHMuZW5kKCk7IGl0ZXIrKykgew0KLQkJCVN1YnN5c3RlbSAqbG9jayA9ICppdGVyOw0KLQkJCWlmIChsb2NrLT5HZXRDdXJyZW50Q29tbWFuZCgpICE9IE5VTEwNCi0JCQkJCSYmICFsb2NrLT5HZXRDdXJyZW50Q29tbWFuZCgpLT5Jc0ludGVycnVwdGlibGUoKSkNCi0JCQkJcmV0dXJuOw0KLQkJfQ0KLQ0KLQkJLy8gR2l2ZSBpdCB0aGUgcmVxdWlyZW1lbnRzDQotCQltX2FkZGluZyA9IHRydWU7DQotCQlmb3IgKGl0ZXIgPSByZXF1aXJlbWVudHMuYmVnaW4oKTsgaXRlciAhPSByZXF1aXJlbWVudHMuZW5kKCk7IGl0ZXIrKykgew0KLQkJCVN1YnN5c3RlbSAqbG9jayA9ICppdGVyOw0KLQkJCWlmIChsb2NrLT5HZXRDdXJyZW50Q29tbWFuZCgpICE9IE5VTEwpIHsNCi0JCQkJbG9jay0+R2V0Q3VycmVudENvbW1hbmQoKS0+Q2FuY2VsKCk7DQotCQkJCVJlbW92ZShsb2NrLT5HZXRDdXJyZW50Q29tbWFuZCgpKTsNCi0JCQl9DQotCQkJbG9jay0+U2V0Q3VycmVudENvbW1hbmQoY29tbWFuZCk7DQotCQl9DQotCQltX2FkZGluZyA9IGZhbHNlOw0KLQ0KLQkJbV9jb21tYW5kcy5pbnNlcnQoY29tbWFuZCk7DQotDQotCQljb21tYW5kLT5TdGFydFJ1bm5pbmcoKTsNCi0JCW1fcnVubmluZ0NvbW1hbmRzQ2hhbmdlZCA9IHRydWU7DQotCX0NCi19DQotDQotLyoqDQotICogUnVucyBhIHNpbmdsZSBpdGVyYXRpb24gb2YgdGhlIGxvb3AuICBUaGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIG9mdGVuIGluIG9yZGVyIHRvIGhhdmUgYSBmdW5jdGlvbmluZw0KLSAqIHtAbGluayBDb21tYW5kfSBzeXN0ZW0uICBUaGUgbG9vcCBoYXMgZml2ZSBzdGFnZXM6DQotICoNCi0gKiA8b2w+DQotICogPGxpPiBQb2xsIHRoZSBCdXR0b25zIDwvbGk+DQotICogPGxpPiBFeGVjdXRlL1JlbW92ZSB0aGUgQ29tbWFuZHMgPC9saT4NCi0gKiA8bGk+IFNlbmQgdmFsdWVzIHRvIFNtYXJ0RGFzaGJvYXJkIDwvbGk+DQotICogPGxpPiBBZGQgQ29tbWFuZHMgPC9saT4NCi0gKiA8bGk+IEFkZCBEZWZhdWx0cyA8L2xpPg0KLSAqIDwvb2w+DQotICovDQotdm9pZCBTY2hlZHVsZXI6OlJ1bigpIHsNCi0JLy8gR2V0IGJ1dHRvbiBpbnB1dCAoZ29pbmcgYmFja3dhcmRzIHByZXNlcnZlcyBidXR0b24gcHJpb3JpdHkpDQotCXsNCi0JCWlmICghbV9lbmFibGVkKQ0KLQkJCXJldHVybjsNCi0NCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fYnV0dG9uc0xvY2spOw0KLQkJQnV0dG9uVmVjdG9yOjpyZXZlcnNlX2l0ZXJhdG9yIHJCdXR0b25JdGVyID0gbV9idXR0b25zLnJiZWdpbigpOw0KLQkJZm9yICg7IHJCdXR0b25JdGVyICE9IG1fYnV0dG9ucy5yZW5kKCk7IHJCdXR0b25JdGVyKyspIHsNCi0JCQkoKnJCdXR0b25JdGVyKS0+RXhlY3V0ZSgpOw0KLQkJfQ0KLQl9DQotCQ0KLQltX3J1bm5pbmdDb21tYW5kc0NoYW5nZWQgPSBmYWxzZTsNCi0NCi0JLy8gTG9vcCB0aHJvdWdoIHRoZSBjb21tYW5kcw0KLQlDb21tYW5kU2V0OjppdGVyYXRvciBjb21tYW5kSXRlciA9IG1fY29tbWFuZHMuYmVnaW4oKTsNCi0JZm9yICg7IGNvbW1hbmRJdGVyICE9IG1fY29tbWFuZHMuZW5kKCk7KSB7DQotCQlDb21tYW5kICpjb21tYW5kID0gKmNvbW1hbmRJdGVyOw0KLQkJLy8gSW5jcmVtZW50IGJlZm9yZSBwb3RlbnRpYWxseSByZW1vdmluZyB0byBrZWVwIHRoZSBpdGVyYXRvciB2YWxpZA0KLQkJY29tbWFuZEl0ZXIrKzsNCi0JCWlmICghY29tbWFuZC0+UnVuKCkpIHsNCi0JCQlSZW1vdmUoY29tbWFuZCk7DQotCQkJbV9ydW5uaW5nQ29tbWFuZHNDaGFuZ2VkID0gdHJ1ZTsNCi0JCX0NCi0JfQ0KLQ0KLQkvLyBBZGQgdGhlIG5ldyB0aGluZ3MNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV9hZGRpdGlvbnNMb2NrKTsNCi0JCUNvbW1hbmRWZWN0b3I6Oml0ZXJhdG9yIGFkZGl0aW9uc0l0ZXIgPSBtX2FkZGl0aW9ucy5iZWdpbigpOw0KLQkJZm9yICg7IGFkZGl0aW9uc0l0ZXIgIT0gbV9hZGRpdGlvbnMuZW5kKCk7IGFkZGl0aW9uc0l0ZXIrKykgew0KLQkJCVByb2Nlc3NDb21tYW5kQWRkaXRpb24oKmFkZGl0aW9uc0l0ZXIpOw0KLQkJfQ0KLQkJbV9hZGRpdGlvbnMuY2xlYXIoKTsNCi0JfQ0KLQ0KLQkvLyBBZGQgaW4gdGhlIGRlZmF1bHRzDQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldDo6aXRlcmF0b3Igc3Vic3lzdGVtSXRlciA9IG1fc3Vic3lzdGVtcy5iZWdpbigpOw0KLQlmb3IgKDsgc3Vic3lzdGVtSXRlciAhPSBtX3N1YnN5c3RlbXMuZW5kKCk7IHN1YnN5c3RlbUl0ZXIrKykgew0KLQkJU3Vic3lzdGVtICpsb2NrID0gKnN1YnN5c3RlbUl0ZXI7DQotCQlpZiAobG9jay0+R2V0Q3VycmVudENvbW1hbmQoKSA9PSBOVUxMKSB7DQotCQkJUHJvY2Vzc0NvbW1hbmRBZGRpdGlvbihsb2NrLT5HZXREZWZhdWx0Q29tbWFuZCgpKTsNCi0JCX0NCi0JCWxvY2stPkNvbmZpcm1Db21tYW5kKCk7DQotCX0NCi0NCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotLyoqDQotICogUmVnaXN0ZXJzIGEge0BsaW5rIFN1YnN5c3RlbX0gdG8gdGhpcyB7QGxpbmsgU2NoZWR1bGVyfSwgc28gdGhhdCB0aGUge0BsaW5rIFNjaGVkdWxlcn0gbWlnaHQga25vdw0KLSAqIGlmIGEgZGVmYXVsdCB7QGxpbmsgQ29tbWFuZH0gbmVlZHMgdG8gYmUgcnVuLiAgQWxsIHtAbGluayBTdWJzeXN0ZW0gU3Vic3lzdGVtc30gc2hvdWxkIGNhbGwgdGhpcy4NCi0gKiBAcGFyYW0gc3lzdGVtIHRoZSBzeXN0ZW0NCi0gKi8NCi12b2lkIFNjaGVkdWxlcjo6UmVnaXN0ZXJTdWJzeXN0ZW0oU3Vic3lzdGVtICpzdWJzeXN0ZW0pIHsNCi0JaWYgKHN1YnN5c3RlbSA9PSBOVUxMKSB7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAic3Vic3lzdGVtIik7DQotCQlyZXR1cm47DQotCX0NCi0JbV9zdWJzeXN0ZW1zLmluc2VydChzdWJzeXN0ZW0pOw0KLX0NCi0NCi0vKioNCi0gKiBSZW1vdmVzIHRoZSB7QGxpbmsgQ29tbWFuZH0gZnJvbSB0aGUge0BsaW5rIFNjaGVkdWxlcn0uDQotICogQHBhcmFtIGNvbW1hbmQgdGhlIGNvbW1hbmQgdG8gcmVtb3ZlDQotICovDQotdm9pZCBTY2hlZHVsZXI6OlJlbW92ZShDb21tYW5kICpjb21tYW5kKSB7DQotCWlmIChjb21tYW5kID09IE5VTEwpIHsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJjb21tYW5kIik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JaWYgKCFtX2NvbW1hbmRzLmVyYXNlKGNvbW1hbmQpKQ0KLQkJcmV0dXJuOw0KLQ0KLQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQgcmVxdWlyZW1lbnRzID0gY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCk7DQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldDo6aXRlcmF0b3IgaXRlciA9IHJlcXVpcmVtZW50cy5iZWdpbigpOw0KLQlmb3IgKDsgaXRlciAhPSByZXF1aXJlbWVudHMuZW5kKCk7IGl0ZXIrKykgew0KLQkJU3Vic3lzdGVtICpsb2NrID0gKml0ZXI7DQotCQlsb2NrLT5TZXRDdXJyZW50Q29tbWFuZChOVUxMKTsNCi0JfQ0KLQ0KLQljb21tYW5kLT5SZW1vdmVkKCk7DQotfQ0KLQ0KLXZvaWQgU2NoZWR1bGVyOjpSZW1vdmVBbGwoKSB7DQotCXdoaWxlIChtX2NvbW1hbmRzLnNpemUoKSA+IDApIHsNCi0JCVJlbW92ZSgqbV9jb21tYW5kcy5iZWdpbigpKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBVcGRhdGUgdGhlIG5ldHdvcmsgdGFibGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgU2NoZWR1bGVyIG9iamVjdCBvbiB0aGUgU21hcnREYXNoYm9hcmQNCi0gKi8NCi12b2lkIFNjaGVkdWxlcjo6VXBkYXRlVGFibGUoKSB7DQotCUNvbW1hbmRTZXQ6Oml0ZXJhdG9yIGNvbW1hbmRJdGVyOw0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQkvLyBHZXQgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tbWFuZHMgdG8gY2FuY2VsDQotCQltX3RhYmxlLT5SZXRyaWV2ZVZhbHVlKCJDYW5jZWwiLCAqdG9DYW5jZWwpOw0KLS8vCQltX3RhYmxlLT5SZXRyaWV2ZVZhbHVlKCJJZHMiLCAqaWRzKTsNCi0NCi0JCS8vIGNhbmNlbCBjb21tYW5kcyB0aGF0IGhhdmUgaGFkIHRoZSBjYW5jZWwgYnV0dG9ucyBwcmVzc2VkDQotCQkvLyBvbiB0aGUgU21hcnREYXNoYm9hZA0KLQkJaWYgKHRvQ2FuY2VsLT5zaXplKCkgPiAwKSB7DQotCQkJZm9yIChjb21tYW5kSXRlciA9IG1fY29tbWFuZHMuYmVnaW4oKTsgY29tbWFuZEl0ZXINCi0JCQkJCSE9IG1fY29tbWFuZHMuZW5kKCk7ICsrY29tbWFuZEl0ZXIpIHsNCi0JCQkJZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvQ2FuY2VsLT5zaXplKCk7IGkrKykgew0KLQkJCQkJQ29tbWFuZCAqYyA9ICpjb21tYW5kSXRlcjsNCi0JCQkJCWlmIChjLT5HZXRJRCgpID09IHRvQ2FuY2VsLT5nZXQoaSkpIHsNCi0JCQkJCQljLT5DYW5jZWwoKTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCX0NCi0JCQl0b0NhbmNlbC0+c2V0U2l6ZSgwKTsNCi0JCQltX3RhYmxlLT5QdXRWYWx1ZSgiQ2FuY2VsIiwgKnRvQ2FuY2VsKTsNCi0JCX0NCi0JCQ0KLQkJLy8gU2V0IHRoZSBydW5uaW5nIGNvbW1hbmRzDQotCQlpZiAobV9ydW5uaW5nQ29tbWFuZHNDaGFuZ2VkKSB7DQotCQkJY29tbWFuZHMtPnNldFNpemUoMCk7DQotCQkJaWRzLT5zZXRTaXplKDApOw0KLQkJCWZvciAoY29tbWFuZEl0ZXIgPSBtX2NvbW1hbmRzLmJlZ2luKCk7IGNvbW1hbmRJdGVyICE9IG1fY29tbWFuZHMuZW5kKCk7ICsrY29tbWFuZEl0ZXIpIHsNCi0JCQkJQ29tbWFuZCAqYyA9ICpjb21tYW5kSXRlcjsNCi0JCQkJY29tbWFuZHMtPmFkZChjLT5HZXROYW1lKCkpOw0KLQkJCQlpZHMtPmFkZChjLT5HZXRJRCgpKTsNCi0JCQl9DQotCQkJbV90YWJsZS0+UHV0VmFsdWUoIk5hbWVzIiwgKmNvbW1hbmRzKTsNCi0JCQltX3RhYmxlLT5QdXRWYWx1ZSgiSWRzIiwgKmlkcyk7DQotCQl9DQotCX0NCi19DQotDQotc3RkOjpzdHJpbmcgU2NoZWR1bGVyOjpHZXROYW1lKCkgew0KLQlyZXR1cm4gIlNjaGVkdWxlciI7DQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIFNjaGVkdWxlcjo6R2V0VHlwZSgpIHsNCi0JcmV0dXJuICJTY2hlZHVsZXIiOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBTY2hlZHVsZXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJTY2hlZHVsZXIiOw0KLX0NCi0NCi12b2lkIFNjaGVkdWxlcjo6SW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpIHsNCi0JbV90YWJsZSA9IHN1YlRhYmxlOw0KLQljb21tYW5kcyA9IG5ldyBTdHJpbmdBcnJheSgpOw0KLQlpZHMgPSBuZXcgTnVtYmVyQXJyYXkoKTsNCi0JdG9DYW5jZWwgPSBuZXcgTnVtYmVyQXJyYXkoKTsNCi0NCi0JbV90YWJsZS0+UHV0VmFsdWUoIk5hbWVzIiwgKmNvbW1hbmRzKTsNCi0JbV90YWJsZS0+UHV0VmFsdWUoIklkcyIsICppZHMpOw0KLQltX3RhYmxlLT5QdXRWYWx1ZSgiQ2FuY2VsIiwgKnRvQ2FuY2VsKTsNCi19DQotDQotSVRhYmxlICogU2NoZWR1bGVyOjpHZXRUYWJsZSgpIHsNCi0JcmV0dXJuIG1fdGFibGU7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1NjaGVkdWxlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU2NoZWR1bGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlZWYzNTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU2NoZWR1bGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TQ0hFRFVMRVJfSF9fDQotI2RlZmluZSBfX1NDSEVEVUxFUl9IX18NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvTmFtZWRTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL051bWJlckFycmF5LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvU3RyaW5nQXJyYXkuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0jaW5jbHVkZSA8bGlzdD4NCi0jaW5jbHVkZSA8bWFwPg0KLSNpbmNsdWRlIDxzZXQ+DQotI2luY2x1ZGUgPHZlY3Rvcj4NCi0NCi1jbGFzcyBCdXR0b25TY2hlZHVsZXI7DQotY2xhc3MgU3Vic3lzdGVtOw0KLQ0KLWNsYXNzIFNjaGVkdWxlciA6IHB1YmxpYyBFcnJvckJhc2UsIHB1YmxpYyBOYW1lZFNlbmRhYmxlDQotew0KLXB1YmxpYzoNCi0Jc3RhdGljIFNjaGVkdWxlciAqR2V0SW5zdGFuY2UoKTsNCi0NCi0Jdm9pZCBBZGRDb21tYW5kKENvbW1hbmQqIGNvbW1hbmQpOw0KLQl2b2lkIEFkZEJ1dHRvbihCdXR0b25TY2hlZHVsZXIqIGJ1dHRvbik7DQotCXZvaWQgUmVnaXN0ZXJTdWJzeXN0ZW0oU3Vic3lzdGVtICpzdWJzeXN0ZW0pOw0KLQl2b2lkIFJ1bigpOwkNCi0Jdm9pZCBSZW1vdmUoQ29tbWFuZCAqY29tbWFuZCk7DQotCXZvaWQgUmVtb3ZlQWxsKCk7DQotCXZvaWQgU2V0RW5hYmxlZChib29sIGVuYWJsZWQpOw0KLQkNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQlzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0Jdm9pZCBJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSk7DQotCUlUYWJsZSAqIEdldFRhYmxlKCk7DQotCXN0ZDo6c3RyaW5nIEdldE5hbWUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0VHlwZSgpOw0KLQ0KLXByaXZhdGU6DQotCVNjaGVkdWxlcigpOw0KLQl2aXJ0dWFsIH5TY2hlZHVsZXIoKTsNCi0NCi0Jdm9pZCBQcm9jZXNzQ29tbWFuZEFkZGl0aW9uKENvbW1hbmQgKmNvbW1hbmQpOw0KLQ0KLQlzdGF0aWMgU2NoZWR1bGVyICpfaW5zdGFuY2U7DQotCUNvbW1hbmQ6OlN1YnN5c3RlbVNldCBtX3N1YnN5c3RlbXM7DQotCVNFTV9JRCBtX2J1dHRvbnNMb2NrOw0KLQl0eXBlZGVmIHN0ZDo6dmVjdG9yPEJ1dHRvblNjaGVkdWxlciAqPiBCdXR0b25WZWN0b3I7DQotCUJ1dHRvblZlY3RvciBtX2J1dHRvbnM7DQotCXR5cGVkZWYgc3RkOjp2ZWN0b3I8Q29tbWFuZCAqPiBDb21tYW5kVmVjdG9yOw0KLQlTRU1fSUQgbV9hZGRpdGlvbnNMb2NrOw0KLQlDb21tYW5kVmVjdG9yIG1fYWRkaXRpb25zOw0KLQl0eXBlZGVmIHN0ZDo6c2V0PENvbW1hbmQgKj4gQ29tbWFuZFNldDsNCi0JQ29tbWFuZFNldCBtX2NvbW1hbmRzOw0KLQlib29sIG1fYWRkaW5nOw0KLQlib29sIG1fZW5hYmxlZDsNCi0JU3RyaW5nQXJyYXkgKmNvbW1hbmRzOw0KLQlOdW1iZXJBcnJheSAqaWRzOw0KLQlOdW1iZXJBcnJheSAqdG9DYW5jZWw7DQotCUlUYWJsZSAqbV90YWJsZTsNCi0JYm9vbCBtX3J1bm5pbmdDb21tYW5kc0NoYW5nZWQ7DQotfTsNCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TdGFydENvbW1hbmQuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU3RhcnRDb21tYW5kLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWUxZTlkZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TdGFydENvbW1hbmQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvU3RhcnRDb21tYW5kLmgiDQotDQotU3RhcnRDb21tYW5kOjpTdGFydENvbW1hbmQoQ29tbWFuZCAqY29tbWFuZFRvU3RhcnQpIDoNCi0JQ29tbWFuZCgiU3RhcnRDb21tYW5kIikNCi17DQotCW1fY29tbWFuZFRvRm9yayA9IGNvbW1hbmRUb1N0YXJ0Ow0KLX0NCi0NCi12b2lkIFN0YXJ0Q29tbWFuZDo6SW5pdGlhbGl6ZSgpDQotew0KLQltX2NvbW1hbmRUb0ZvcmstPlN0YXJ0KCk7DQotfQ0KLQ0KLXZvaWQgU3RhcnRDb21tYW5kOjpFeGVjdXRlKCkNCi17DQotfQ0KLQ0KLXZvaWQgU3RhcnRDb21tYW5kOjpFbmQoKQ0KLXsNCi19DQotDQotdm9pZCBTdGFydENvbW1hbmQ6OkludGVycnVwdGVkKCkNCi17DQotfQ0KLQ0KLWJvb2wgU3RhcnRDb21tYW5kOjpJc0ZpbmlzaGVkKCkNCi17DQotICAgIHJldHVybiB0cnVlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TdGFydENvbW1hbmQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1N0YXJ0Q29tbWFuZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTljZjcyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1N0YXJ0Q29tbWFuZC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fU1RBUlRfQ09NTUFORF9IX18NCi0jZGVmaW5lIF9fU1RBUlRfQ09NTUFORF9IX18NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLWNsYXNzIFN0YXJ0Q29tbWFuZCA6IHB1YmxpYyBDb21tYW5kDQotew0KLXB1YmxpYzoNCi0JU3RhcnRDb21tYW5kKENvbW1hbmQgKmNvbW1hbmRUb1N0YXJ0KTsNCi0JdmlydHVhbCB+U3RhcnRDb21tYW5kKCkge30NCi0NCi1wcm90ZWN0ZWQ6DQotCXZpcnR1YWwgdm9pZCBJbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCk7DQotCXZpcnR1YWwgYm9vbCBJc0ZpbmlzaGVkKCk7DQotCXZpcnR1YWwgdm9pZCBFbmQoKTsNCi0JdmlydHVhbCB2b2lkIEludGVycnVwdGVkKCk7DQotDQotcHJpdmF0ZToNCi0JQ29tbWFuZCAqbV9jb21tYW5kVG9Gb3JrOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU3Vic3lzdGVtLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1N1YnN5c3RlbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwZDhjNjIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvU3Vic3lzdGVtLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE3OSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9TY2hlZHVsZXIuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotLyoqDQotICogQ3JlYXRlcyBhIHN1YnN5c3RlbSB3aXRoIHRoZSBnaXZlbiBuYW1lDQotICogQHBhcmFtIG5hbWUgdGhlIG5hbWUgb2YgdGhlIHN1YnN5c3RlbQ0KLSAqLw0KLVN1YnN5c3RlbTo6U3Vic3lzdGVtKGNvbnN0IGNoYXIgKm5hbWUpIDoNCi0JbV9jdXJyZW50Q29tbWFuZChOVUxMKSwNCi0JbV9kZWZhdWx0Q29tbWFuZChOVUxMKSwNCi0JbV9pbml0aWFsaXplZERlZmF1bHRDb21tYW5kKGZhbHNlKQ0KLXsNCi0JbV9uYW1lID0gbmFtZTsNCi0JU2NoZWR1bGVyOjpHZXRJbnN0YW5jZSgpLT5SZWdpc3RlclN1YnN5c3RlbSh0aGlzKTsNCi0JbV90YWJsZSA9IE5VTEw7DQotCW1fY3VycmVudENvbW1hbmRDaGFuZ2VkID0gdHJ1ZTsNCi19DQotLyoqDQotICogSW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCBjb21tYW5kIGZvciB0aGlzIHN1YnN5c3RlbQ0KLSAqIFRoaXMgaXMgbWVhbnQgdG8gYmUgdGhlIHBsYWNlIHRvIGNhbGwgU2V0RGVmYXVsdENvbW1hbmQgaW4gYSBzdWJzeXN0ZW0gYW5kIHdpbGwgYmUgY2FsbGVkDQotICogb24gYWxsIHRoZSBzdWJzeXN0ZW1zIGJ5IHRoZSBDb21tYW5kQmFzZSBtZXRob2QgYmVmb3JlIHRoZSBwcm9ncmFtIHN0YXJ0cyBydW5uaW5nIGJ5IHVzaW5nDQotICogdGhlIGxpc3Qgb2YgYWxsIHJlZ2lzdGVyZWQgU3Vic3lzdGVtcyBpbnNpZGUgdGhlIFNjaGVkdWxlci4NCi0gKiANCi0gKiBUaGlzIHNob3VsZCBiZSBvdmVycmlkZGVuIGJ5IGEgU3Vic3lzdGVtIHRoYXQgaGFzIGEgZGVmYXVsdCBDb21tYW5kDQotICovDQotdm9pZCBTdWJzeXN0ZW06OkluaXREZWZhdWx0Q29tbWFuZCgpIHsNCi0NCi19DQotDQotLyoqDQotICogU2V0cyB0aGUgZGVmYXVsdCBjb21tYW5kLiAgSWYgdGhpcyBpcyBub3QgY2FsbGVkIG9yIGlzIGNhbGxlZCB3aXRoIG51bGwsDQotICogdGhlbiB0aGVyZSB3aWxsIGJlIG5vIGRlZmF1bHQgY29tbWFuZCBmb3IgdGhlIHN1YnN5c3RlbS4NCi0gKg0KLSAqIDxwPjxiPldBUk5JTkc6PC9iPiBUaGlzIHNob3VsZCA8Yj5OT1Q8L2I+IGJlIGNhbGxlZCBpbiBhIGNvbnN0cnVjdG9yIGlmIHRoZSBzdWJzeXN0ZW0gaXMgYQ0KLSAqIHNpbmdsZXRvbi48L3A+DQotICoNCi0gKiBAcGFyYW0gY29tbWFuZCB0aGUgZGVmYXVsdCBjb21tYW5kIChvciBudWxsIGlmIHRoZXJlIHNob3VsZCBiZSBub25lKQ0KLSAqLw0KLXZvaWQgU3Vic3lzdGVtOjpTZXREZWZhdWx0Q29tbWFuZChDb21tYW5kICpjb21tYW5kKQ0KLXsNCi0JaWYgKGNvbW1hbmQgPT0gTlVMTCkNCi0Jew0KLQkJbV9kZWZhdWx0Q29tbWFuZCA9IE5VTEw7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlib29sIGZvdW5kID0gZmFsc2U7DQotCQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQgcmVxdWlyZW1lbnRzID0gY29tbWFuZC0+R2V0UmVxdWlyZW1lbnRzKCk7DQotCQlDb21tYW5kOjpTdWJzeXN0ZW1TZXQ6Oml0ZXJhdG9yIGl0ZXIgPSByZXF1aXJlbWVudHMuYmVnaW4oKTsNCi0JCWZvciAoOyBpdGVyICE9IHJlcXVpcmVtZW50cy5lbmQoKTsgaXRlcisrKQ0KLQkJew0KLQkJCWlmICgqaXRlciA9PSB0aGlzKQ0KLQkJCXsNCi0JCQkJZm91bmQgPSB0cnVlOw0KLQkJCQlicmVhazsNCi0JCQl9DQotCQl9DQotDQotCQlpZiAoIWZvdW5kKQ0KLQkJew0KLQkJCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KENvbW1hbmRJbGxlZ2FsVXNlLCAiQSBkZWZhdWx0IGNvbW1hbmQgbXVzdCByZXF1aXJlIHRoZSBzdWJzeXN0ZW0iKTsNCi0JCQlyZXR1cm47DQotCQl9DQotCQkNCi0JCW1fZGVmYXVsdENvbW1hbmQgPSBjb21tYW5kOw0KLQl9DQotCWlmIChtX3RhYmxlICE9IE5VTEwpDQotCXsNCi0JCWlmIChtX2RlZmF1bHRDb21tYW5kICE9IE5VTEwpDQotCQl7DQotCQkJbV90YWJsZS0+UHV0Qm9vbGVhbigiaGFzRGVmYXVsdCIsIHRydWUpOw0KLQkJCW1fdGFibGUtPlB1dFN0cmluZygiZGVmYXVsdCIsIG1fZGVmYXVsdENvbW1hbmQtPkdldE5hbWUoKSk7DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJbV90YWJsZS0+UHV0Qm9vbGVhbigiaGFzRGVmYXVsdCIsIGZhbHNlKTsNCi0JCX0NCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBkZWZhdWx0IGNvbW1hbmQgKG9yIG51bGwgaWYgdGhlcmUgaXMgbm9uZSkuDQotICogQHJldHVybiB0aGUgZGVmYXVsdCBjb21tYW5kDQotICovDQotQ29tbWFuZCAqU3Vic3lzdGVtOjpHZXREZWZhdWx0Q29tbWFuZCgpDQotew0KLQlpZiAoIW1faW5pdGlhbGl6ZWREZWZhdWx0Q29tbWFuZCkgew0KLQkJbV9pbml0aWFsaXplZERlZmF1bHRDb21tYW5kID0gdHJ1ZTsNCi0JCUluaXREZWZhdWx0Q29tbWFuZCgpOw0KLQl9DQotCXJldHVybiBtX2RlZmF1bHRDb21tYW5kOw0KLX0NCi0NCi0vKioNCi0gKiBTZXRzIHRoZSBjdXJyZW50IGNvbW1hbmQNCi0gKiBAcGFyYW0gY29tbWFuZCB0aGUgbmV3IGN1cnJlbnQgY29tbWFuZA0KLSAqLw0KLXZvaWQgU3Vic3lzdGVtOjpTZXRDdXJyZW50Q29tbWFuZChDb21tYW5kICpjb21tYW5kKQ0KLXsNCi0JbV9jdXJyZW50Q29tbWFuZCA9IGNvbW1hbmQ7DQotCW1fY3VycmVudENvbW1hbmRDaGFuZ2VkID0gdHJ1ZTsNCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUgY29tbWFuZCB3aGljaCBjdXJyZW50bHkgY2xhaW1zIHRoaXMgc3Vic3lzdGVtLg0KLSAqIEByZXR1cm4gdGhlIGNvbW1hbmQgd2hpY2ggY3VycmVudGx5IGNsYWltcyB0aGlzIHN1YnN5c3RlbQ0KLSAqLw0KLUNvbW1hbmQgKlN1YnN5c3RlbTo6R2V0Q3VycmVudENvbW1hbmQoKQ0KLXsNCi0JcmV0dXJuIG1fY3VycmVudENvbW1hbmQ7DQotfQ0KLQ0KLS8qKg0KLSAqIENhbGwgdGhpcyB0byBhbGVydCBTdWJzeXN0ZW0gdGhhdCB0aGUgY3VycmVudCBjb21tYW5kIGlzIGFjdHVhbGx5IHRoZSBjb21tYW5kLg0KLSAqIFNvbWV0aW1lcywgdGhlIHtAbGluayBTdWJzeXN0ZW19IGlzIHRvbGQgdGhhdCBpdCBoYXMgbm8gY29tbWFuZCB3aGlsZSB0aGUge0BsaW5rIFNjaGVkdWxlcn0NCi0gKiBpcyBnb2luZyB0aHJvdWdoIHRoZSBsb29wLCBvbmx5IHRvIGJlIHNvb24gYWZ0ZXIgZ2l2ZW4gYSBuZXcgb25lLiAgVGhpcyB3aWxsIGF2b2lkIHRoYXQgc2l0dWF0aW9uLg0KLSAqLw0KLXZvaWQgU3Vic3lzdGVtOjpDb25maXJtQ29tbWFuZCgpDQotew0KLQlpZiAobV9jdXJyZW50Q29tbWFuZENoYW5nZWQpIHsNCi0JCWlmIChtX3RhYmxlICE9IE5VTEwpDQotCQl7DQotCQkJaWYgKG1fY3VycmVudENvbW1hbmQgIT0gTlVMTCkNCi0JCQl7DQotCQkJCW1fdGFibGUtPlB1dEJvb2xlYW4oImhhc0NvbW1hbmQiLCB0cnVlKTsNCi0JCQkJbV90YWJsZS0+UHV0U3RyaW5nKCJjb21tYW5kIiwgbV9jdXJyZW50Q29tbWFuZC0+R2V0TmFtZSgpKTsNCi0JCQl9DQotCQkJZWxzZQ0KLQkJCXsNCi0JCQkJbV90YWJsZS0+UHV0Qm9vbGVhbigiaGFzQ29tbWFuZCIsIGZhbHNlKTsNCi0JCQl9DQotCQl9DQotCQltX2N1cnJlbnRDb21tYW5kQ2hhbmdlZCA9IGZhbHNlOw0KLQl9DQotfQ0KLQ0KLQ0KLQ0KLXN0ZDo6c3RyaW5nIFN1YnN5c3RlbTo6R2V0TmFtZSgpDQotew0KLQlyZXR1cm4gbV9uYW1lOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBTdWJzeXN0ZW06OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpDQotew0KLQlyZXR1cm4gIlN1YnN5c3RlbSI7DQotfQ0KLQ0KLXZvaWQgU3Vic3lzdGVtOjpJbml0VGFibGUoSVRhYmxlKiB0YWJsZSkNCi17DQotICAgIG1fdGFibGUgPSB0YWJsZTsNCi0gICAgaWYobV90YWJsZSE9TlVMTCl7DQotICAgICAgICBpZiAobV9kZWZhdWx0Q29tbWFuZCAhPSBOVUxMKSB7DQotICAgICAgICAJbV90YWJsZS0+UHV0Qm9vbGVhbigiaGFzRGVmYXVsdCIsIHRydWUpOw0KLSAgICAgICAgCW1fdGFibGUtPlB1dFN0cmluZygiZGVmYXVsdCIsIG1fZGVmYXVsdENvbW1hbmQtPkdldE5hbWUoKSk7DQotICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgCW1fdGFibGUtPlB1dEJvb2xlYW4oImhhc0RlZmF1bHQiLCBmYWxzZSk7DQotICAgICAgICB9DQotICAgICAgICBpZiAobV9jdXJyZW50Q29tbWFuZCAhPSBOVUxMKSB7DQotICAgICAgICAJbV90YWJsZS0+UHV0Qm9vbGVhbigiaGFzQ29tbWFuZCIsIHRydWUpOw0KLSAgICAgICAgICAgIG1fdGFibGUtPlB1dFN0cmluZygiY29tbWFuZCIsIG1fY3VycmVudENvbW1hbmQtPkdldE5hbWUoKSk7DQotICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgCW1fdGFibGUtPlB1dEJvb2xlYW4oImhhc0NvbW1hbmQiLCBmYWxzZSk7DQotICAgICAgICB9DQotICAgIH0NCi19DQotDQotSVRhYmxlKiBTdWJzeXN0ZW06OkdldFRhYmxlKCl7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9TdWJzeXN0ZW0uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1N1YnN5c3RlbS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWY0Zjc2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1N1YnN5c3RlbS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fU1VCU1lTVEVNX0hfXw0KLSNkZWZpbmUgX19TVUJTWVNURU1fSF9fDQotDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlICJTbWFydERhc2hib2FyZC9OYW1lZFNlbmRhYmxlLmgiDQotI2luY2x1ZGUgPHN0cmluZz4NCi0NCi0NCi1jbGFzcyBDb21tYW5kOw0KLQ0KLWNsYXNzIFN1YnN5c3RlbSA6IHB1YmxpYyBFcnJvckJhc2UsIHB1YmxpYyBOYW1lZFNlbmRhYmxlDQotew0KLQlmcmllbmQgY2xhc3MgU2NoZWR1bGVyOw0KLXB1YmxpYzoNCi0JU3Vic3lzdGVtKGNvbnN0IGNoYXIgKm5hbWUpOw0KLQl2aXJ0dWFsIH5TdWJzeXN0ZW0oKSB7fQ0KLQ0KLQl2b2lkIFNldERlZmF1bHRDb21tYW5kKENvbW1hbmQgKmNvbW1hbmQpOw0KLQlDb21tYW5kICpHZXREZWZhdWx0Q29tbWFuZCgpOw0KLQl2b2lkIFNldEN1cnJlbnRDb21tYW5kKENvbW1hbmQgKmNvbW1hbmQpOw0KLQlDb21tYW5kICpHZXRDdXJyZW50Q29tbWFuZCgpOw0KLQl2aXJ0dWFsIHZvaWQgSW5pdERlZmF1bHRDb21tYW5kKCk7DQotCQ0KLXByaXZhdGU6DQotCXZvaWQgQ29uZmlybUNvbW1hbmQoKTsNCi0NCi0JQ29tbWFuZCAqbV9jdXJyZW50Q29tbWFuZDsNCi0JYm9vbCBtX2N1cnJlbnRDb21tYW5kQ2hhbmdlZDsNCi0JQ29tbWFuZCAqbV9kZWZhdWx0Q29tbWFuZDsNCi0Jc3RkOjpzdHJpbmcgbV9uYW1lOw0KLQlib29sIG1faW5pdGlhbGl6ZWREZWZhdWx0Q29tbWFuZDsNCi0NCi1wdWJsaWM6DQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0TmFtZSgpOw0KLQl2aXJ0dWFsIHZvaWQgSW5pdFRhYmxlKElUYWJsZSogdGFibGUpOw0KLQl2aXJ0dWFsIElUYWJsZSogR2V0VGFibGUoKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi1wcm90ZWN0ZWQ6DQotCUlUYWJsZSogbV90YWJsZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1dhaXRDb21tYW5kLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1dhaXRDb21tYW5kLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjI3NjM2My4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Q29tbWFuZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9XYWl0Q29tbWFuZC5oIg0KLSNpbmNsdWRlIDxzc3RyZWFtPg0KLQ0KLVdhaXRDb21tYW5kOjpXYWl0Q29tbWFuZChkb3VibGUgdGltZW91dCkgOg0KLQlDb21tYW5kKCgoc3RkOjpzdHJpbmdzdHJlYW0mKShzdGQ6OnN0cmluZ3N0cmVhbSgiV2FpdCgiKSA8PCB0aW1lb3V0IDw8ICIpIikpLnN0cigpLmNfc3RyKCksIHRpbWVvdXQpDQotew0KLX0NCi0NCi1XYWl0Q29tbWFuZDo6V2FpdENvbW1hbmQoY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHRpbWVvdXQpIDoNCi0JQ29tbWFuZChuYW1lLCB0aW1lb3V0KQ0KLXsNCi19DQotDQotdm9pZCBXYWl0Q29tbWFuZDo6SW5pdGlhbGl6ZSgpDQotew0KLX0NCi0NCi12b2lkIFdhaXRDb21tYW5kOjpFeGVjdXRlKCkNCi17DQotfQ0KLQ0KLWJvb2wgV2FpdENvbW1hbmQ6OklzRmluaXNoZWQoKQ0KLXsNCi0gICAgcmV0dXJuIElzVGltZWRPdXQoKTsNCi19DQotDQotdm9pZCBXYWl0Q29tbWFuZDo6RW5kKCkNCi17DQotfQ0KLQ0KLXZvaWQgV2FpdENvbW1hbmQ6OkludGVycnVwdGVkKCkNCi17DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1dhaXRDb21tYW5kLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Q29tbWFuZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTliY2E4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1dhaXRDb21tYW5kLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19XQUlUX0NPTU1BTkRfSF9fDQotI2RlZmluZSBfX1dBSVRfQ09NTUFORF9IX18NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLWNsYXNzIFdhaXRDb21tYW5kIDogcHVibGljIENvbW1hbmQNCi17DQotcHVibGljOg0KLQlXYWl0Q29tbWFuZChkb3VibGUgdGltZW91dCk7DQotCVdhaXRDb21tYW5kKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSB0aW1lb3V0KTsNCi0JdmlydHVhbCB+V2FpdENvbW1hbmQoKSB7fQ0KLQ0KLXByb3RlY3RlZDoNCi0JdmlydHVhbCB2b2lkIEluaXRpYWxpemUoKTsNCi0JdmlydHVhbCB2b2lkIEV4ZWN1dGUoKTsNCi0JdmlydHVhbCBib29sIElzRmluaXNoZWQoKTsNCi0JdmlydHVhbCB2b2lkIEVuZCgpOw0KLQl2aXJ0dWFsIHZvaWQgSW50ZXJydXB0ZWQoKTsJDQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvV2FpdEZvckNoaWxkcmVuLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdkMDNiMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvV2FpdEZvckNoaWxkcmVuLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmRHcm91cC5oIg0KLQ0KLVdhaXRGb3JDaGlsZHJlbjo6V2FpdEZvckNoaWxkcmVuKGRvdWJsZSB0aW1lb3V0KSA6DQotCUNvbW1hbmQoIldhaXRGb3JDaGlsZHJlbiIsIHRpbWVvdXQpDQotewkNCi19DQotDQotV2FpdEZvckNoaWxkcmVuOjpXYWl0Rm9yQ2hpbGRyZW4oY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHRpbWVvdXQpIDoNCi0JQ29tbWFuZChuYW1lLCB0aW1lb3V0KQ0KLXsNCi19DQotDQotdm9pZCBXYWl0Rm9yQ2hpbGRyZW46OkluaXRpYWxpemUoKQ0KLXsNCi19DQotDQotdm9pZCBXYWl0Rm9yQ2hpbGRyZW46OkV4ZWN1dGUoKQ0KLXsNCi19DQotDQotdm9pZCBXYWl0Rm9yQ2hpbGRyZW46OkVuZCgpDQotew0KLX0NCi0NCi12b2lkIFdhaXRGb3JDaGlsZHJlbjo6SW50ZXJydXB0ZWQoKQ0KLXsNCi19DQotDQotYm9vbCBXYWl0Rm9yQ2hpbGRyZW46OklzRmluaXNoZWQoKQ0KLXsNCi0gICAgcmV0dXJuIEdldEdyb3VwKCkgPT0gTlVMTCB8fCBHZXRHcm91cCgpLT5HZXRTaXplKCkgPT0gMDsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvV2FpdEZvckNoaWxkcmVuLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ2N2QyYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1dBSVRfRk9SX0NISUxEUkVOX0hfXw0KLSNkZWZpbmUgX19XQUlUX0ZPUl9DSElMRFJFTl9IX18NCi0NCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLQ0KLWNsYXNzIFdhaXRGb3JDaGlsZHJlbiA6IHB1YmxpYyBDb21tYW5kDQotew0KLXB1YmxpYzoNCi0JV2FpdEZvckNoaWxkcmVuKGRvdWJsZSB0aW1lb3V0KTsNCi0JV2FpdEZvckNoaWxkcmVuKGNvbnN0IGNoYXIgKm5hbWUsIGRvdWJsZSB0aW1lb3V0KTsNCi0JdmlydHVhbCB+V2FpdEZvckNoaWxkcmVuKCkge30NCi0NCi1wcm90ZWN0ZWQ6DQotCXZpcnR1YWwgdm9pZCBJbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCk7DQotCXZpcnR1YWwgYm9vbCBJc0ZpbmlzaGVkKCk7DQotCXZpcnR1YWwgdm9pZCBFbmQoKTsNCi0JdmlydHVhbCB2b2lkIEludGVycnVwdGVkKCk7CQ0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0VW50aWxDb21tYW5kLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWE2YjMyOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21tYW5kcy9XYWl0VW50aWxDb21tYW5kLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL1dhaXRVbnRpbENvbW1hbmQuaCINCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLQ0KLS8qKg0KLSAqIEEge0BsaW5rIFdhaXRDb21tYW5kfSB3aWxsIHdhaXQgdW50aWwgYSBjZXJ0YWluIG1hdGNoIHRpbWUgYmVmb3JlIGZpbmlzaGluZy4NCi0gKiBUaGlzIHdpbGwgd2FpdCB1bnRpbCB0aGUgZ2FtZSBjbG9jayByZWFjaGVzIHNvbWUgdmFsdWUsIHRoZW4gY29udGludWUgdG8gdGhlDQotICogbmV4dCBjb21tYW5kLg0KLSAqIEBzZWUgQ29tbWFuZEdyb3VwDQotICovDQotV2FpdFVudGlsQ29tbWFuZDo6V2FpdFVudGlsQ29tbWFuZChkb3VibGUgdGltZSkgOg0KLQlDb21tYW5kKCJXYWl0VW50aWxDb21tYW5kIiwgdGltZSkNCi17DQotICAgIG1fdGltZSA9IHRpbWU7DQotfQ0KLQ0KLVdhaXRVbnRpbENvbW1hbmQ6OldhaXRVbnRpbENvbW1hbmQoY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHRpbWUpIDoNCi0JQ29tbWFuZChuYW1lLCB0aW1lKQ0KLXsNCi0gICAgbV90aW1lID0gdGltZTsNCi19DQotDQotdm9pZCBXYWl0VW50aWxDb21tYW5kOjpJbml0aWFsaXplKCkNCi17DQotfQ0KLQ0KLXZvaWQgV2FpdFVudGlsQ29tbWFuZDo6RXhlY3V0ZSgpDQotew0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBpZiB3ZSd2ZSByZWFjaGVkIHRoZSBhY3R1YWwgZmluaXNoIHRpbWUuDQotICovDQotYm9vbCBXYWl0VW50aWxDb21tYW5kOjpJc0ZpbmlzaGVkKCkNCi17DQotICAgIHJldHVybiBEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpLT5HZXRNYXRjaFRpbWUoKSA+PSBtX3RpbWU7DQotfQ0KLQ0KLXZvaWQgV2FpdFVudGlsQ29tbWFuZDo6RW5kKCkNCi17DQotfQ0KLQ0KLXZvaWQgV2FpdFVudGlsQ29tbWFuZDo6SW50ZXJydXB0ZWQoKQ0KLXsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjI0NzA1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbW1hbmRzL1dhaXRVbnRpbENvbW1hbmQuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1dBSVRfVU5USUxfQ09NTUFORF9IX18NCi0jZGVmaW5lIF9fV0FJVF9VTlRJTF9DT01NQU5EX0hfXw0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9Db21tYW5kLmgiDQotDQotY2xhc3MgV2FpdFVudGlsQ29tbWFuZCA6IHB1YmxpYyBDb21tYW5kDQotew0KLXB1YmxpYzoNCi0JV2FpdFVudGlsQ29tbWFuZChkb3VibGUgdGltZSk7DQotCVdhaXRVbnRpbENvbW1hbmQoY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHRpbWUpOw0KLQl2aXJ0dWFsIH5XYWl0VW50aWxDb21tYW5kKCkge30NCi0NCi1wcm90ZWN0ZWQ6DQotCXZpcnR1YWwgdm9pZCBJbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCk7DQotCXZpcnR1YWwgYm9vbCBJc0ZpbmlzaGVkKCk7DQotCXZpcnR1YWwgdm9pZCBFbmQoKTsNCi0JdmlydHVhbCB2b2lkIEludGVycnVwdGVkKCk7CQ0KLQ0KLXByaXZhdGU6DQotCWRvdWJsZSBtX3RpbWU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db21wcmVzc29yLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbXByZXNzb3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODc0OTg2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbXByZXNzb3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbXByZXNzb3IuaCINCi0jaW5jbHVkZSAiRGlnaXRhbElucHV0LmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlRpbWVyLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLS8qKg0KLSAqIEludGVybmFsIHRhc2suDQotICogDQotICogVGFzayB3aGljaCBjaGVja3MgdGhlIGNvbXByZXNzb3IgcHJlc3N1cmUgc3dpdGNoIGFuZCBvcGVyYXRlcyB0aGUgcmVsYXkgYXMgbmVjZXNzYXJ5DQotICogZGVwZW5kaW5nIG9uIHRoZSBwcmVzc3VyZS4NCi0gKiANCi0gKiBEbyBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5Lg0KLSAqLw0KLXN0YXRpYyB2b2lkIENvbXByZXNzb3JDaGVja2VyKENvbXByZXNzb3IgKmMpDQotew0KLQl3aGlsZSAoMSkNCi0Jew0KLQkJaWYgKGMtPkVuYWJsZWQoKSkNCi0JCXsNCi0JCQljLT5TZXRSZWxheVZhbHVlKCBjLT5HZXRQcmVzc3VyZVN3aXRjaFZhbHVlKCkgPT0gMCA/IFJlbGF5OjprT24gOiBSZWxheTo6a09mZiApOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCWMtPlNldFJlbGF5VmFsdWUoUmVsYXk6OmtPZmYpOw0KLQkJfQ0KLQkJV2FpdCgwLjUpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpemUgdGhlIENvbXByZXNzb3Igb2JqZWN0Lg0KLSAqIFRoaXMgbWV0aG9kIGlzIHRoZSBjb21tb24gaW5pdGlhbGl6YXRpb24gY29kZSBmb3IgYWxsIHRoZSBjb25zdHJ1Y3RvcnMgZm9yIHRoZSBDb21wcmVzc29yDQotICogb2JqZWN0LiBJdCB0YWtlcyB0aGUgcmVsYXkgY2hhbm5lbCBhbmQgcHJlc3N1cmUgc3dpdGNoIGNoYW5uZWwgYW5kIHNwYXducyBhIHRhc2sgdGhhdCBwb2xscyB0aGUNCi0gKiBjb21wcmVzc29yIGFuZCBzZW5zb3IuDQotICogDQotICogWW91IE1VU1Qgc3RhcnQgdGhlIGNvbXByZXNzb3IgYnkgY2FsbGluZyB0aGUgU3RhcnQoKSBtZXRob2QuDQotICovDQotdm9pZCBDb21wcmVzc29yOjpJbml0Q29tcHJlc3NvcihVSU5UOCBwcmVzc3VyZVN3aXRjaE1vZHVsZU51bWJlciwNCi0JCVVJTlQzMiBwcmVzc3VyZVN3aXRjaENoYW5uZWwsDQotCQlVSU5UOCBjb21wcmVzc3NvclJlbGF5TW9kdWxlTnVtYmVyLA0KLQkJVUlOVDMyIGNvbXByZXNzb3JSZWxheUNoYW5uZWwpDQotew0KLQltX3RhYmxlID0gTlVMTDsNCi0JbV9lbmFibGVkID0gZmFsc2U7DQotCW1fcHJlc3N1cmVTd2l0Y2ggPSBuZXcgRGlnaXRhbElucHV0KHByZXNzdXJlU3dpdGNoTW9kdWxlTnVtYmVyLCBwcmVzc3VyZVN3aXRjaENoYW5uZWwpOw0KLQltX3JlbGF5ID0gbmV3IFJlbGF5KGNvbXByZXNzc29yUmVsYXlNb2R1bGVOdW1iZXIsIGNvbXByZXNzb3JSZWxheUNoYW5uZWwsIFJlbGF5OjprRm9yd2FyZE9ubHkpOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfQ29tcHJlc3NvciwgMCk7DQotDQotCWlmICghbV90YXNrLlN0YXJ0KChJTlQzMil0aGlzKSkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKENvbXByZXNzb3JUYXNrRXJyb3IpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIENvbXByZXNzb3IgY29uc3RydWN0b3IuDQotICogR2l2ZW4gYSBmdWxseSBzcGVjaWZpZWQgcmVsYXkgY2hhbm5lbCBhbmQgcHJlc3N1cmUgc3dpdGNoIGNoYW5uZWwsIGluaXRpYWxpemUgdGhlIENvbXByZXNzb3Igb2JqZWN0Lg0KLSAqIA0KLSAqIFlvdSBNVVNUIHN0YXJ0IHRoZSBjb21wcmVzc29yIGJ5IGNhbGxpbmcgdGhlIFN0YXJ0KCkgbWV0aG9kLg0KLSAqIA0KLSAqIEBwYXJhbSBwcmVzc3VyZVN3aXRjaE1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgcHJlc3N1cmUgc3dpdGNoIGlzIGF0dGFjaGVkIHRvLg0KLSAqIEBwYXJhbSBwcmVzc3VyZVN3aXRjaENoYW5uZWwgVGhlIEdQSU8gY2hhbm5lbCB0aGF0IHRoZSBwcmVzc3VyZSBzd2l0Y2ggaXMgYXR0YWNoZWQgdG8uDQotICogQHBhcmFtIGNvbXByZXNzc29yUmVsYXlNb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHRoYXQgdGhlIGNvbXByZXNzb3IgcmVsYXkgaXMgYXR0YWNoZWQgdG8uDQotICogQHBhcmFtIGNvbXByZXNzb3JSZWxheUNoYW5uZWwgVGhlIHJlbGF5IGNoYW5uZWwgdGhhdCB0aGUgY29tcHJlc3NvciByZWxheSBpcyBhdHRhY2hlZCB0by4NCi0gKi8NCi1Db21wcmVzc29yOjpDb21wcmVzc29yKFVJTlQ4IHByZXNzdXJlU3dpdGNoTW9kdWxlTnVtYmVyLA0KLQkJVUlOVDMyIHByZXNzdXJlU3dpdGNoQ2hhbm5lbCwNCi0JCVVJTlQ4IGNvbXByZXNzc29yUmVsYXlNb2R1bGVOdW1iZXIsDQotCQlVSU5UMzIgY29tcHJlc3NvclJlbGF5Q2hhbm5lbCkNCi0JOiBtX3Rhc2sgKCJDb21wcmVzc29yIiwgKEZVTkNQVFIpQ29tcHJlc3NvckNoZWNrZXIpDQotew0KLQlJbml0Q29tcHJlc3NvcihwcmVzc3VyZVN3aXRjaE1vZHVsZU51bWJlciwNCi0JCXByZXNzdXJlU3dpdGNoQ2hhbm5lbCwNCi0JCWNvbXByZXNzc29yUmVsYXlNb2R1bGVOdW1iZXIsDQotCQljb21wcmVzc29yUmVsYXlDaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ29tcHJlc3NvciBjb25zdHJ1Y3Rvci4NCi0gKiBHaXZlbiBhIHJlbGF5IGNoYW5uZWwgYW5kIHByZXNzdXJlIHN3aXRjaCBjaGFubmVsIChib3RoIGluIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlKSwgaW5pdGlhbGl6ZQ0KLSAqIHRoZSBDb21wcmVzc29yIG9iamVjdC4NCi0gKiANCi0gKiBZb3UgTVVTVCBzdGFydCB0aGUgY29tcHJlc3NvciBieSBjYWxsaW5nIHRoZSBTdGFydCgpIG1ldGhvZC4NCi0gKiANCi0gKiBAcGFyYW0gcHJlc3N1cmVTd2l0Y2hDaGFubmVsIFRoZSBHUElPIGNoYW5uZWwgdGhhdCB0aGUgcHJlc3N1cmUgc3dpdGNoIGlzIGF0dGFjaGVkIHRvLg0KLSAqIEBwYXJhbSBjb21wcmVzc29yUmVsYXlDaGFubmVsIFRoZSByZWxheSBjaGFubmVsIHRoYXQgdGhlIGNvbXByZXNzb3IgcmVsYXkgaXMgYXR0YWNoZWQgdG8uDQotICovDQotQ29tcHJlc3Nvcjo6Q29tcHJlc3NvcihVSU5UMzIgcHJlc3N1cmVTd2l0Y2hDaGFubmVsLCBVSU5UMzIgY29tcHJlc3NvclJlbGF5Q2hhbm5lbCkNCi0JOiBtX3Rhc2sgKCJDb21wcmVzc29yIiwgKEZVTkNQVFIpQ29tcHJlc3NvckNoZWNrZXIpDQotew0KLQlJbml0Q29tcHJlc3NvcihHZXREZWZhdWx0RGlnaXRhbE1vZHVsZSgpLA0KLQkJCXByZXNzdXJlU3dpdGNoQ2hhbm5lbCwNCi0JCQlHZXREZWZhdWx0RGlnaXRhbE1vZHVsZSgpLA0KLQkJCWNvbXByZXNzb3JSZWxheUNoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBEZWxldGUgdGhlIENvbXByZXNzb3Igb2JqZWN0Lg0KLSAqIERlbGV0ZSB0aGUgYWxsb2NhdGVkIHJlc291cmNlcyBmb3IgdGhlIGNvbXByZXNzb3IgYW5kIGtpbGwgdGhlIGNvbXByZXNzb3IgdGFzayB0aGF0IGlzIHBvbGxpbmcNCi0gKiB0aGUgcHJlc3N1cmUgc3dpdGNoLg0KLSAqLw0KLUNvbXByZXNzb3I6On5Db21wcmVzc29yKCkNCi17DQotCWRlbGV0ZSBtX3ByZXNzdXJlU3dpdGNoOw0KLQlkZWxldGUgbV9yZWxheTsNCi19DQotDQotLyoqDQotICogT3BlcmF0ZSB0aGUgcmVsYXkgZm9yIHRoZSBjb21wcmVzc29yLg0KLSAqIENoYW5nZSB0aGUgdmFsdWUgb2YgdGhlIHJlbGF5IG91dHB1dCB0aGF0IGlzIGNvbm5lY3RlZCB0byB0aGUgY29tcHJlc3NvciBtb3Rvci4NCi0gKiBUaGlzIGlzIG9ubHkgaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGJ5IHRoZSBpbnRlcm5hbCBwb2xsaW5nIHRocmVhZC4NCi0gKi8NCi12b2lkIENvbXByZXNzb3I6OlNldFJlbGF5VmFsdWUoUmVsYXk6OlZhbHVlIHJlbGF5VmFsdWUpDQotew0KLQltX3JlbGF5LT5TZXQocmVsYXlWYWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcHJlc3N1cmUgc3dpdGNoIHZhbHVlLg0KLSAqIFJlYWQgdGhlIHByZXNzdXJlIHN3aXRjaCBkaWdpdGFsIGlucHV0Lg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByZXNzdXJlIHN3aXRjaC4NCi0gKi8NCi1VSU5UMzIgQ29tcHJlc3Nvcjo6R2V0UHJlc3N1cmVTd2l0Y2hWYWx1ZSgpDQotew0KLQlyZXR1cm4gbV9wcmVzc3VyZVN3aXRjaC0+R2V0KCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXJ0IHRoZSBjb21wcmVzc29yLg0KLSAqIFRoaXMgbWV0aG9kIHdpbGwgYWxsb3cgdGhlIHBvbGxpbmcgbG9vcCB0byBhY3R1YWxseSBvcGVyYXRlIHRoZSBjb21wcmVzc29yLiBUaGUNCi0gKiBpcyBzdG9wcGVkIGJ5IGRlZmF1bHQgYW5kIHdvbid0IG9wZXJhdGUgdW50aWwgc3RhcnRpbmcgaXQuDQotICovDQotdm9pZCBDb21wcmVzc29yOjpTdGFydCgpDQotew0KLQltX2VuYWJsZWQgPSB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBTdG9wIHRoZSBjb21wcmVzc29yLg0KLSAqIFRoaXMgbWV0aG9kIHdpbGwgc3RvcCB0aGUgY29tcHJlc3NvciBmcm9tIHR1cm5pbmcgb24uDQotICovDQotdm9pZCBDb21wcmVzc29yOjpTdG9wKCkNCi17DQotCW1fZW5hYmxlZCA9IGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHN0YXRlIG9mIHRoZSBlbmFibGVkIGZsYWcuDQotICogUmV0dXJuIHRoZSBzdGF0ZSBvZiB0aGUgZW5hYmxlZCBmbGFnIGZvciB0aGUgY29tcHJlc3NvciBhbmQgcHJlc3N1cmUgc3dpdGNoDQotICogY29tYmluYXRpb24uDQotICogDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIGNvbXByZXNzb3IgdGhyZWFkJ3MgZW5hYmxlIGZsYWcuDQotICovDQotYm9vbCBDb21wcmVzc29yOjpFbmFibGVkKCkNCi17DQotCXJldHVybiBtX2VuYWJsZWQ7DQotfQ0KLQ0KLXZvaWQgQ29tcHJlc3Nvcjo6VXBkYXRlVGFibGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dEJvb2xlYW4oIkVuYWJsZWQiLCBtX2VuYWJsZWQpOw0KLQkJbV90YWJsZS0+UHV0Qm9vbGVhbigiUHJlc3N1cmUgc3dpdGNoIiwgR2V0UHJlc3N1cmVTd2l0Y2hWYWx1ZSgpKTsNCi0JfQ0KLX0NCi0NCi12b2lkIENvbXByZXNzb3I6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCQ0KLX0NCi0NCi12b2lkIENvbXByZXNzb3I6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIENvbXByZXNzb3I6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJDb21wcmVzc29yIjsNCi19DQotDQotdm9pZCBDb21wcmVzc29yOjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIENvbXByZXNzb3I6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tcHJlc3Nvci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29tcHJlc3Nvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjFhMjZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvbXByZXNzb3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBDT01QUkVTU09SX0hfDQotI2RlZmluZSBDT01QUkVTU09SX0hfDQotDQotI2RlZmluZSBDT01QUkVTU09SX1BSSU9SSVRZIDkwDQotDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiUmVsYXkuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLQ0KLWNsYXNzIERpZ2l0YWxJbnB1dDsNCi0NCi0vKioNCi0gKiBDb21wcmVzc29yIG9iamVjdC4NCi0gKiBUaGUgQ29tcHJlc3NvciBvYmplY3QgaXMgZGVzaWduZWQgdG8gaGFuZGxlIHRoZSBvcGVyYXRpb24gb2YgdGhlIGNvbXByZXNzb3IsIHByZXNzdXJlIHNlbnNvciBhbmQNCi0gKiByZWxheSBmb3IgYSBGSVJTVCByb2JvdCBwbmV1bWF0aWNzIHN5c3RlbS4gVGhlIENvbXByZXNzb3Igb2JqZWN0IHN0YXJ0cyBhIHRhc2sgd2hpY2ggcnVucyBpbiB0aGUNCi0gKiBiYWNrcm91bmQgYW5kIHBlcmlvZGljYWxseSBwb2xscyB0aGUgcHJlc3N1cmUgc2Vuc29yIGFuZCBvcGVyYXRlcyB0aGUgcmVsYXkgdGhhdCBjb250cm9scyB0aGUNCi0gKiBjb21wcmVzc29yLg0KLSAqLyANCi1jbGFzcyBDb21wcmVzc29yOiBwdWJsaWMgU2Vuc29yQmFzZSwgcHVibGljIExpdmVXaW5kb3dTZW5kYWJsZQ0KLXsNCi1wdWJsaWM6DQotCUNvbXByZXNzb3IoVUlOVDMyIHByZXNzdXJlU3dpdGNoQ2hhbm5lbCwgVUlOVDMyIGNvbXByZXNzb3JSZWxheUNoYW5uZWwpOw0KLQlDb21wcmVzc29yKFVJTlQ4IHByZXNzdXJlU3dpdGNoTW9kdWxlTnVtYmVyLCBVSU5UMzIgcHJlc3N1cmVTd2l0Y2hDaGFubmVsLA0KLQkJCVVJTlQ4IGNvbXByZXNzc29yUmVsYXlNb2R1bGVOdW1iZXIsIFVJTlQzMiBjb21wcmVzc29yUmVsYXlDaGFubmVsKTsNCi0JfkNvbXByZXNzb3IoKTsNCi0NCi0Jdm9pZCBTdGFydCgpOw0KLQl2b2lkIFN0b3AoKTsNCi0JYm9vbCBFbmFibGVkKCk7DQotCVVJTlQzMiBHZXRQcmVzc3VyZVN3aXRjaFZhbHVlKCk7DQotCXZvaWQgU2V0UmVsYXlWYWx1ZShSZWxheTo6VmFsdWUgcmVsYXlWYWx1ZSk7DQotCQ0KLQl2b2lkIFVwZGF0ZVRhYmxlKCk7DQotCXZvaWQgU3RhcnRMaXZlV2luZG93TW9kZSgpOw0KLQl2b2lkIFN0b3BMaXZlV2luZG93TW9kZSgpOw0KLQlzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0Jdm9pZCBJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSk7DQotCUlUYWJsZSAqIEdldFRhYmxlKCk7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBJbml0Q29tcHJlc3NvcihVSU5UOCBwcmVzc3VyZVN3aXRjaE1vZHVsZU51bWJlciwgVUlOVDMyIHByZXNzdXJlU3dpdGNoQ2hhbm5lbCwNCi0JCQkJVUlOVDggY29tcHJlc3Nzb3JSZWxheU1vZHVsZU51bWJlciwgVUlOVDMyIGNvbXByZXNzb3JSZWxheUNoYW5uZWwpOw0KLQ0KLQlEaWdpdGFsSW5wdXQgKm1fcHJlc3N1cmVTd2l0Y2g7DQotCVJlbGF5ICptX3JlbGF5Ow0KLQlib29sIG1fZW5hYmxlZDsNCi0JVGFzayBtX3Rhc2s7DQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db250cm9sbGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db250cm9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5M2M1MmEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ29udHJvbGxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIENPTlRST0xMRVJfSA0KLSNkZWZpbmUgQ09OVFJPTExFUl9IDQotDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBJbnRlcmZhY2UgZm9yIENvbnRyb2xsZXJzDQotICogQ29tbW9uIGludGVyZmFjZSBmb3IgY29udHJvbGxlcnMuIENvbnRyb2xsZXJzIHJ1biBjb250cm9sIGxvb3BzLCB0aGUgbW9zdCBjb21tb24NCi0gKiBhcmUgUElEIGNvbnRyb2xsZXJzIGFuZCB0aGVpciB2YXJpYW50cywgYnV0IHRoaXMgaW5jbHVkZXMgYW55dGhpbmcgdGhhdCBpcyBjb250cm9sbGluZw0KLSAqIGFuIGFjdHVhdG9yIGluIGEgc2VwYXJhdGUgdGhyZWFkLg0KLSAqLw0KLWNsYXNzIENvbnRyb2xsZXINCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5Db250cm9sbGVyKCkge307DQotCQ0KLQkvKioNCi0JICogQWxsb3dzIHRoZSBjb250cm9sIGxvb3AgdG8gcnVuDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgRW5hYmxlKCkgPSAwOw0KLQkNCi0JLyoqIA0KLQkgKiBTdG9wcyB0aGUgY29udHJvbCBsb29wIGZyb20gcnVubmluZyB1bnRpbCBleHBsaWNpdGx5IHJlLWVuYWJsZWQgYnkgY2FsbGluZyBlbmFibGUoKQ0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIERpc2FibGUoKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db3VudGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvdW50ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWRiNzE5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvdW50ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjk3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvdW50ZXIuaCINCi0jaW5jbHVkZSAiQW5hbG9nVHJpZ2dlci5oIg0KLSNpbmNsdWRlICJEaWdpdGFsSW5wdXQuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiUmVzb3VyY2UuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotc3RhdGljIFJlc291cmNlICpjb3VudGVycyA9IE5VTEw7DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgY291bnRlciBvYmplY3QuDQotICogVGhpcyBjcmVhdGVzIGEgQ2hpcE9iamVjdCBjb3VudGVyIGFuZCBpbml0aWFsaXplcyBzdGF0dXMgdmFyaWFibGVzIGFwcHJvcHJpYXRlbHkNCi0gKi8NCi12b2lkIENvdW50ZXI6OkluaXRDb3VudGVyKE1vZGUgbW9kZSkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQlSZXNvdXJjZTo6Q3JlYXRlUmVzb3VyY2VPYmplY3QoJmNvdW50ZXJzLCB0Q291bnRlcjo6a051bVN5c3RlbXMpOw0KLQlVSU5UMzIgaW5kZXggPSBjb3VudGVycy0+QWxsb2NhdGUoIkNvdW50ZXIiKTsNCi0JaWYgKGluZGV4ID09IH4wdWwpDQotCXsNCi0JCUNsb25lRXJyb3IoY291bnRlcnMpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1faW5kZXggPSBpbmRleDsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlciA9IHRDb3VudGVyOjpjcmVhdGUobV9pbmRleCwgJmxvY2FsU3RhdHVzKTsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Nb2RlKG1vZGUsICZsb2NhbFN0YXR1cyk7DQotCW1fdXBTb3VyY2UgPSBOVUxMOw0KLQltX2Rvd25Tb3VyY2UgPSBOVUxMOw0KLQltX2FsbG9jYXRlZFVwU291cmNlID0gZmFsc2U7DQotCW1fYWxsb2NhdGVkRG93blNvdXJjZSA9IGZhbHNlOw0KLQltX2NvdW50ZXItPndyaXRlVGltZXJDb25maWdfQXZlcmFnZVNpemUoMSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0NvdW50ZXIsIGluZGV4LCBtb2RlKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgY291bnRlciB3aGVyZSBubyBzb3VyY2VzIGFyZSBzZWxlY3RlZC4NCi0gKiBUaGVuIHRoZXkgYWxsIG11c3QgYmUgc2VsZWN0ZWQgYnkgY2FsbGluZyBmdW5jdGlvbnMgdG8gc3BlY2lmeSB0aGUgdXBzb3VyY2UgYW5kIHRoZSBkb3duc291cmNlDQotICogaW5kZXBlbmRlbnRseS4NCi0gKi8NCi1Db3VudGVyOjpDb3VudGVyKCkgOg0KLQltX3VwU291cmNlKE5VTEwpLA0KLQltX2Rvd25Tb3VyY2UoTlVMTCksDQotCW1fY291bnRlcihOVUxMKQ0KLXsNCi0JSW5pdENvdW50ZXIoKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgY291bnRlciBmcm9tIGEgRGlnaXRhbCBJbnB1dC4NCi0gKiBUaGlzIGlzIHVzZWQgaWYgYW4gZXhpc3RpbmcgZGlnaXRhbCBpbnB1dCBpcyB0byBiZSBzaGFyZWQgYnkgbXVsdGlwbGUgb3RoZXIgb2JqZWN0cyBzdWNoDQotICogYXMgZW5jb2RlcnMuDQotICovDQotQ291bnRlcjo6Q291bnRlcihEaWdpdGFsU291cmNlICpzb3VyY2UpIDoNCi0JbV91cFNvdXJjZShOVUxMKSwNCi0JbV9kb3duU291cmNlKE5VTEwpLA0KLQltX2NvdW50ZXIoTlVMTCkNCi17DQotCUluaXRDb3VudGVyKCk7DQotCVNldFVwU291cmNlKHNvdXJjZSk7DQotCUNsZWFyRG93blNvdXJjZSgpOw0KLX0NCi0NCi1Db3VudGVyOjpDb3VudGVyKERpZ2l0YWxTb3VyY2UgJnNvdXJjZSkgOg0KLQltX3VwU291cmNlKE5VTEwpLA0KLQltX2Rvd25Tb3VyY2UoTlVMTCksDQotCW1fY291bnRlcihOVUxMKQ0KLXsNCi0JSW5pdENvdW50ZXIoKTsNCi0JU2V0VXBTb3VyY2UoJnNvdXJjZSk7DQotCUNsZWFyRG93blNvdXJjZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgYSBDb3VudGVyIG9iamVjdC4NCi0gKiBDcmVhdGUgYW4gdXAtQ291bnRlciBpbnN0YW5jZSBnaXZlbiBhIGNoYW5uZWwuIFRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlIGlzIGFzc3VtZWQuDQotICovDQotQ291bnRlcjo6Q291bnRlcihVSU5UMzIgY2hhbm5lbCkgOg0KLQltX3VwU291cmNlKE5VTEwpLA0KLQltX2Rvd25Tb3VyY2UoTlVMTCksDQotCW1fY291bnRlcihOVUxMKQ0KLXsNCi0JSW5pdENvdW50ZXIoKTsNCi0JU2V0VXBTb3VyY2UoY2hhbm5lbCk7DQotCUNsZWFyRG93blNvdXJjZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgYSBDb3VudGVyIG9iamVjdC4NCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgYW4gdXAtQ291bnRlciBnaXZlbiBhIGRpZ2l0YWwgbW9kdWxlIGFuZCBhIGNoYW5uZWwuDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgaW4gdGhlIGRpZ2l0YWwgbW9kdWxlDQotICovDQotQ291bnRlcjo6Q291bnRlcihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKSA6DQotCW1fdXBTb3VyY2UoTlVMTCksDQotCW1fZG93blNvdXJjZShOVUxMKSwNCi0JbV9jb3VudGVyKE5VTEwpDQotew0KLQlJbml0Q291bnRlcigpOw0KLQlTZXRVcFNvdXJjZShtb2R1bGVOdW1iZXIsIGNoYW5uZWwpOw0KLQlDbGVhckRvd25Tb3VyY2UoKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgQ291bnRlciBvYmplY3QuDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgc2ltcGxlIHVwLUNvdW50ZXIgZ2l2ZW4gYW4gYW5hbG9nIHRyaWdnZXIuDQotICogVXNlIHRoZSB0cmlnZ2VyIHN0YXRlIG91dHB1dCBmcm9tIHRoZSBhbmFsb2cgdHJpZ2dlci4NCi0gKi8NCi1Db3VudGVyOjpDb3VudGVyKEFuYWxvZ1RyaWdnZXIgKnRyaWdnZXIpIDoNCi0JbV91cFNvdXJjZShOVUxMKSwNCi0JbV9kb3duU291cmNlKE5VTEwpLA0KLQltX2NvdW50ZXIoTlVMTCkNCi17DQotCUluaXRDb3VudGVyKCk7DQotCVNldFVwU291cmNlKHRyaWdnZXItPkNyZWF0ZU91dHB1dChBbmFsb2dUcmlnZ2VyT3V0cHV0OjprU3RhdGUpKTsNCi0JQ2xlYXJEb3duU291cmNlKCk7DQotCW1fYWxsb2NhdGVkVXBTb3VyY2UgPSB0cnVlOw0KLX0NCi0NCi1Db3VudGVyOjpDb3VudGVyKEFuYWxvZ1RyaWdnZXIgJnRyaWdnZXIpIDoNCi0JbV91cFNvdXJjZShOVUxMKSwNCi0JbV9kb3duU291cmNlKE5VTEwpLA0KLQltX2NvdW50ZXIoTlVMTCkNCi17DQotCUluaXRDb3VudGVyKCk7DQotCVNldFVwU291cmNlKHRyaWdnZXIuQ3JlYXRlT3V0cHV0KEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OmtTdGF0ZSkpOw0KLQlDbGVhckRvd25Tb3VyY2UoKTsNCi0JbV9hbGxvY2F0ZWRVcFNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLUNvdW50ZXI6OkNvdW50ZXIoRW5jb2RpbmdUeXBlIGVuY29kaW5nVHlwZSwgRGlnaXRhbFNvdXJjZSAqdXBTb3VyY2UsIERpZ2l0YWxTb3VyY2UgKmRvd25Tb3VyY2UsIGJvb2wgaW52ZXJ0ZWQpIDoNCi0JbV91cFNvdXJjZShOVUxMKSwNCi0JbV9kb3duU291cmNlKE5VTEwpLA0KLQltX2NvdW50ZXIoTlVMTCkNCi17DQotCWlmIChlbmNvZGluZ1R5cGUgIT0gazFYICYmIGVuY29kaW5nVHlwZSAhPSBrMlgpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJDb3VudGVyIG9ubHkgc3VwcG9ydHMgMVggYW5kIDJYIHF1YWRyYXR1cmUgZGVjb2RpbmcuIik7DQotCQlyZXR1cm47DQotCX0NCi0JSW5pdENvdW50ZXIoa0V4dGVybmFsRGlyZWN0aW9uKTsNCi0JU2V0VXBTb3VyY2UodXBTb3VyY2UpOw0KLQlTZXREb3duU291cmNlKGRvd25Tb3VyY2UpOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0NCi0JaWYgKGVuY29kaW5nVHlwZSA9PSBrMVgpDQotCXsNCi0JCVNldFVwU291cmNlRWRnZSh0cnVlLCBmYWxzZSk7DQotCQltX2NvdW50ZXItPndyaXRlVGltZXJDb25maWdfQXZlcmFnZVNpemUoMSwgJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCVNldFVwU291cmNlRWRnZSh0cnVlLCB0cnVlKTsNCi0JCW1fY291bnRlci0+d3JpdGVUaW1lckNvbmZpZ19BdmVyYWdlU2l6ZSgyLCAmbG9jYWxTdGF0dXMpOw0KLQl9DQotDQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCVNldERvd25Tb3VyY2VFZGdlKGludmVydGVkLCB0cnVlKTsNCi19DQotDQotLyoqDQotICogRGVsZXRlIHRoZSBDb3VudGVyIG9iamVjdC4NCi0gKi8NCi1Db3VudGVyOjp+Q291bnRlcigpDQotew0KLQlTZXRVcGRhdGVXaGVuRW1wdHkodHJ1ZSk7DQotCWlmIChtX2FsbG9jYXRlZFVwU291cmNlKQ0KLQl7DQotCQlkZWxldGUgbV91cFNvdXJjZTsNCi0JCW1fdXBTb3VyY2UgPSBOVUxMOw0KLQl9DQotCWlmIChtX2FsbG9jYXRlZERvd25Tb3VyY2UpDQotCXsNCi0JCWRlbGV0ZSBtX2Rvd25Tb3VyY2U7DQotCQltX2Rvd25Tb3VyY2UgPSBOVUxMOw0KLQl9DQotCWRlbGV0ZSBtX2NvdW50ZXI7DQotCW1fY291bnRlciA9IE5VTEw7DQotCWNvdW50ZXJzLT5GcmVlKG1faW5kZXgpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHVwIHNvdXJjZSBmb3IgdGhlIGNvdW50ZXIgYXMgZGlnaXRhbCBpbnB1dCBjaGFubmVsIGFuZCBzbG90Lg0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgY2hhbm5lbCAoMS4uMTQpLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0VXBTb3VyY2UoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JU2V0VXBTb3VyY2UobmV3IERpZ2l0YWxJbnB1dChtb2R1bGVOdW1iZXIsIGNoYW5uZWwpKTsNCi0JbV9hbGxvY2F0ZWRVcFNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdXBzb3VyY2UgZm9yIHRoZSBjb3VudGVyIGFzIGEgZGlnaXRhbCBpbnB1dCBjaGFubmVsLg0KLSAqIFRoZSBzbG90IHdpbGwgYmUgdGhlIGRlZmF1bHQgZGlnaXRhbCBtb2R1bGUgc2xvdC4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldFVwU291cmNlKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlTZXRVcFNvdXJjZShHZXREZWZhdWx0RGlnaXRhbE1vZHVsZSgpLCBjaGFubmVsKTsNCi0JbV9hbGxvY2F0ZWRVcFNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdXAgY291bnRpbmcgc291cmNlIHRvIGJlIGFuIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIEBwYXJhbSBhbmFsb2dUcmlnZ2VyIFRoZSBhbmFsb2cgdHJpZ2dlciBvYmplY3QgdGhhdCBpcyB1c2VkIGZvciB0aGUgVXAgU291cmNlDQotICogQHBhcmFtIHRyaWdnZXJUeXBlIFRoZSBhbmFsb2cgdHJpZ2dlciBvdXRwdXQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGNvdW50ZXIuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXRVcFNvdXJjZShBbmFsb2dUcmlnZ2VyICphbmFsb2dUcmlnZ2VyLCBBbmFsb2dUcmlnZ2VyT3V0cHV0OjpUeXBlIHRyaWdnZXJUeXBlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlTZXRVcFNvdXJjZShhbmFsb2dUcmlnZ2VyLT5DcmVhdGVPdXRwdXQodHJpZ2dlclR5cGUpKTsNCi0JbV9hbGxvY2F0ZWRVcFNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdXAgY291bnRpbmcgc291cmNlIHRvIGJlIGFuIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIEBwYXJhbSBhbmFsb2dUcmlnZ2VyIFRoZSBhbmFsb2cgdHJpZ2dlciBvYmplY3QgdGhhdCBpcyB1c2VkIGZvciB0aGUgVXAgU291cmNlDQotICogQHBhcmFtIHRyaWdnZXJUeXBlIFRoZSBhbmFsb2cgdHJpZ2dlciBvdXRwdXQgdGhhdCB3aWxsIHRyaWdnZXIgdGhlIGNvdW50ZXIuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXRVcFNvdXJjZShBbmFsb2dUcmlnZ2VyICZhbmFsb2dUcmlnZ2VyLCBBbmFsb2dUcmlnZ2VyT3V0cHV0OjpUeXBlIHRyaWdnZXJUeXBlKQ0KLXsNCi0JU2V0VXBTb3VyY2UoJmFuYWxvZ1RyaWdnZXIsIHRyaWdnZXJUeXBlKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzb3VyY2Ugb2JqZWN0IHRoYXQgY2F1c2VzIHRoZSBjb3VudGVyIHRvIGNvdW50IHVwLg0KLSAqIFNldCB0aGUgdXAgY291bnRpbmcgRGlnaXRhbFNvdXJjZS4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldFVwU291cmNlKERpZ2l0YWxTb3VyY2UgKnNvdXJjZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fYWxsb2NhdGVkVXBTb3VyY2UpDQotCXsNCi0JCWRlbGV0ZSBtX3VwU291cmNlOw0KLQkJbV91cFNvdXJjZSA9IE5VTEw7DQotCQltX2FsbG9jYXRlZFVwU291cmNlID0gZmFsc2U7DQotCX0NCi0JbV91cFNvdXJjZSA9IHNvdXJjZTsNCi0JaWYgKG1fdXBTb3VyY2UtPlN0YXR1c0lzRmF0YWwoKSkNCi0Jew0KLQkJQ2xvbmVFcnJvcihtX3VwU291cmNlKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQkJbV9jb3VudGVyLT53cml0ZUNvbmZpZ19VcFNvdXJjZV9Nb2R1bGUoc291cmNlLT5HZXRNb2R1bGVGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCQltX2NvdW50ZXItPndyaXRlQ29uZmlnX1VwU291cmNlX0NoYW5uZWwoc291cmNlLT5HZXRDaGFubmVsRm9yUm91dGluZygpLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9jb3VudGVyLT53cml0ZUNvbmZpZ19VcFNvdXJjZV9BbmFsb2dUcmlnZ2VyKHNvdXJjZS0+R2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JDQotCQlpZihtX2NvdW50ZXItPnJlYWRDb25maWdfTW9kZSgmbG9jYWxTdGF0dXMpID09IGtUd29QdWxzZSB8fA0KLQkJCQltX2NvdW50ZXItPnJlYWRDb25maWdfTW9kZSgmbG9jYWxTdGF0dXMpID09IGtFeHRlcm5hbERpcmVjdGlvbikNCi0JCXsNCi0JCQlTZXRVcFNvdXJjZUVkZ2UodHJ1ZSwgZmFsc2UpOw0KLQkJfQ0KLQkJbV9jb3VudGVyLT5zdHJvYmVSZXNldCgmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHNvdXJjZSBvYmplY3QgdGhhdCBjYXVzZXMgdGhlIGNvdW50ZXIgdG8gY291bnQgdXAuDQotICogU2V0IHRoZSB1cCBjb3VudGluZyBEaWdpdGFsU291cmNlLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0VXBTb3VyY2UoRGlnaXRhbFNvdXJjZSAmc291cmNlKQ0KLXsNCi0JU2V0VXBTb3VyY2UoJnNvdXJjZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgZWRnZSBzZW5zaXRpdml0eSBvbiBhbiB1cCBjb3VudGluZyBzb3VyY2UuDQotICogU2V0IHRoZSB1cCBzb3VyY2UgdG8gZWl0aGVyIGRldGVjdCByaXNpbmcgZWRnZXMgb3IgZmFsbGluZyBlZGdlcy4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldFVwU291cmNlRWRnZShib29sIHJpc2luZ0VkZ2UsIGJvb2wgZmFsbGluZ0VkZ2UpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChtX3VwU291cmNlID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJNdXN0IHNldCBub24tTlVMTCBVcFNvdXJjZSBiZWZvcmUgc2V0dGluZyBVcFNvdXJjZUVkZ2UiKTsNCi0JfQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19VcFJpc2luZ0VkZ2UocmlzaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19VcEZhbGxpbmdFZGdlKGZhbGxpbmdFZGdlLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBEaXNhYmxlIHRoZSB1cCBjb3VudGluZyBzb3VyY2UgdG8gdGhlIGNvdW50ZXIuDQotICovDQotdm9pZCBDb3VudGVyOjpDbGVhclVwU291cmNlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fYWxsb2NhdGVkVXBTb3VyY2UpDQotCXsNCi0JCWRlbGV0ZSBtX3VwU291cmNlOw0KLQkJbV91cFNvdXJjZSA9IE5VTEw7DQotCQltX2FsbG9jYXRlZFVwU291cmNlID0gZmFsc2U7DQotCX0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWJvb2wgc3RhdGUgPSBtX2NvdW50ZXItPnJlYWRDb25maWdfRW5hYmxlKCZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfRW5hYmxlKGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQltX2NvdW50ZXItPndyaXRlQ29uZmlnX1VwRmFsbGluZ0VkZ2UoZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfVXBSaXNpbmdFZGdlKGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQkvLyBJbmRleCAwIG9mIGRpZ2l0YWwgaXMgYWx3YXlzIDAuDQotCW1fY291bnRlci0+d3JpdGVDb25maWdfVXBTb3VyY2VfQ2hhbm5lbCgwLCAmbG9jYWxTdGF0dXMpOw0KLQltX2NvdW50ZXItPndyaXRlQ29uZmlnX1VwU291cmNlX0FuYWxvZ1RyaWdnZXIoZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfRW5hYmxlKHN0YXRlLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGRvd24gY291bnRpbmcgc291cmNlIHRvIGJlIGEgZGlnaXRhbCBpbnB1dCBjaGFubmVsLg0KLSAqIFRoZSBzbG90IHdpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlIHNsb3QuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXREb3duU291cmNlKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlTZXREb3duU291cmNlKG5ldyBEaWdpdGFsSW5wdXQoY2hhbm5lbCkpOw0KLQltX2FsbG9jYXRlZERvd25Tb3VyY2UgPSB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGRvd24gY291bnRpbmcgc291cmNlIHRvIGJlIGEgZGlnaXRhbCBpbnB1dCBzbG90IGFuZCBjaGFubmVsLg0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgY2hhbm5lbCAoMS4uMTQpLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0RG93blNvdXJjZShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlTZXREb3duU291cmNlKG5ldyBEaWdpdGFsSW5wdXQobW9kdWxlTnVtYmVyLCBjaGFubmVsKSk7DQotCW1fYWxsb2NhdGVkRG93blNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgZG93biBjb3VudGluZyBzb3VyY2UgdG8gYmUgYW4gYW5hbG9nIHRyaWdnZXIuDQotICogQHBhcmFtIGFuYWxvZ1RyaWdnZXIgVGhlIGFuYWxvZyB0cmlnZ2VyIG9iamVjdCB0aGF0IGlzIHVzZWQgZm9yIHRoZSBEb3duIFNvdXJjZQ0KLSAqIEBwYXJhbSB0cmlnZ2VyVHlwZSBUaGUgYW5hbG9nIHRyaWdnZXIgb3V0cHV0IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBjb3VudGVyLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0RG93blNvdXJjZShBbmFsb2dUcmlnZ2VyICphbmFsb2dUcmlnZ2VyLCBBbmFsb2dUcmlnZ2VyT3V0cHV0OjpUeXBlIHRyaWdnZXJUeXBlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlTZXREb3duU291cmNlKGFuYWxvZ1RyaWdnZXItPkNyZWF0ZU91dHB1dCh0cmlnZ2VyVHlwZSkpOw0KLQltX2FsbG9jYXRlZERvd25Tb3VyY2UgPSB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGRvd24gY291bnRpbmcgc291cmNlIHRvIGJlIGFuIGFuYWxvZyB0cmlnZ2VyLg0KLSAqIEBwYXJhbSBhbmFsb2dUcmlnZ2VyIFRoZSBhbmFsb2cgdHJpZ2dlciBvYmplY3QgdGhhdCBpcyB1c2VkIGZvciB0aGUgRG93biBTb3VyY2UNCi0gKiBAcGFyYW0gdHJpZ2dlclR5cGUgVGhlIGFuYWxvZyB0cmlnZ2VyIG91dHB1dCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgY291bnRlci4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldERvd25Tb3VyY2UoQW5hbG9nVHJpZ2dlciAmYW5hbG9nVHJpZ2dlciwgQW5hbG9nVHJpZ2dlck91dHB1dDo6VHlwZSB0cmlnZ2VyVHlwZSkNCi17DQotCVNldERvd25Tb3VyY2UoJmFuYWxvZ1RyaWdnZXIsIHRyaWdnZXJUeXBlKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzb3VyY2Ugb2JqZWN0IHRoYXQgY2F1c2VzIHRoZSBjb3VudGVyIHRvIGNvdW50IGRvd24uDQotICogU2V0IHRoZSBkb3duIGNvdW50aW5nIERpZ2l0YWxTb3VyY2UuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXREb3duU291cmNlKERpZ2l0YWxTb3VyY2UgKnNvdXJjZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fYWxsb2NhdGVkRG93blNvdXJjZSkNCi0Jew0KLQkJZGVsZXRlIG1fZG93blNvdXJjZTsNCi0JCW1fZG93blNvdXJjZSA9IE5VTEw7DQotCQltX2FsbG9jYXRlZERvd25Tb3VyY2UgPSBmYWxzZTsNCi0JfQ0KLQltX2Rvd25Tb3VyY2UgPSBzb3VyY2U7DQotCWlmIChtX2Rvd25Tb3VyY2UtPlN0YXR1c0lzRmF0YWwoKSkNCi0Jew0KLQkJQ2xvbmVFcnJvcihtX2Rvd25Tb3VyY2UpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCQl1bnNpZ25lZCBjaGFyIG1vZGUgPSBtX2NvdW50ZXItPnJlYWRDb25maWdfTW9kZSgmbG9jYWxTdGF0dXMpOw0KLQkJaWYgKG1vZGUgIT0ga1R3b1B1bHNlICYmIG1vZGUgIT0ga0V4dGVybmFsRGlyZWN0aW9uKQ0KLQkJew0KLQkJCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJDb3VudGVyIG9ubHkgc3VwcG9ydHMgRG93blNvdXJjZSBpbiBUd29QdWxzZSBhbmQgRXh0ZXJuYWxEaXJlY3Rpb24gbW9kZXMuIik7DQotCQkJcmV0dXJuOw0KLQkJfQ0KLQkJbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Eb3duU291cmNlX01vZHVsZShzb3VyY2UtPkdldE1vZHVsZUZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fY291bnRlci0+d3JpdGVDb25maWdfRG93blNvdXJjZV9DaGFubmVsKHNvdXJjZS0+R2V0Q2hhbm5lbEZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fY291bnRlci0+d3JpdGVDb25maWdfRG93blNvdXJjZV9BbmFsb2dUcmlnZ2VyKHNvdXJjZS0+R2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JDQotCQlTZXREb3duU291cmNlRWRnZSh0cnVlLCBmYWxzZSk7DQotCQltX2NvdW50ZXItPnN0cm9iZVJlc2V0KCZsb2NhbFN0YXR1cyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc291cmNlIG9iamVjdCB0aGF0IGNhdXNlcyB0aGUgY291bnRlciB0byBjb3VudCBkb3duLg0KLSAqIFNldCB0aGUgZG93biBjb3VudGluZyBEaWdpdGFsU291cmNlLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0RG93blNvdXJjZShEaWdpdGFsU291cmNlICZzb3VyY2UpDQotew0KLQlTZXREb3duU291cmNlKCZzb3VyY2UpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGVkZ2Ugc2Vuc2l0aXZpdHkgb24gYSBkb3duIGNvdW50aW5nIHNvdXJjZS4NCi0gKiBTZXQgdGhlIGRvd24gc291cmNlIHRvIGVpdGhlciBkZXRlY3QgcmlzaW5nIGVkZ2VzIG9yIGZhbGxpbmcgZWRnZXMuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXREb3duU291cmNlRWRnZShib29sIHJpc2luZ0VkZ2UsIGJvb2wgZmFsbGluZ0VkZ2UpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChtX2Rvd25Tb3VyY2UgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgIk11c3Qgc2V0IG5vbi1OVUxMIERvd25Tb3VyY2UgYmVmb3JlIHNldHRpbmcgRG93blNvdXJjZUVkZ2UiKTsNCi0JfQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Eb3duUmlzaW5nRWRnZShyaXNpbmdFZGdlLCAmbG9jYWxTdGF0dXMpOw0KLQltX2NvdW50ZXItPndyaXRlQ29uZmlnX0Rvd25GYWxsaW5nRWRnZShmYWxsaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogRGlzYWJsZSB0aGUgZG93biBjb3VudGluZyBzb3VyY2UgdG8gdGhlIGNvdW50ZXIuDQotICovDQotdm9pZCBDb3VudGVyOjpDbGVhckRvd25Tb3VyY2UoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9hbGxvY2F0ZWREb3duU291cmNlKQ0KLQl7DQotCQlkZWxldGUgbV9kb3duU291cmNlOw0KLQkJbV9kb3duU291cmNlID0gTlVMTDsNCi0JCW1fYWxsb2NhdGVkRG93blNvdXJjZSA9IGZhbHNlOw0KLQl9DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlib29sIHN0YXRlID0gbV9jb3VudGVyLT5yZWFkQ29uZmlnX0VuYWJsZSgmbG9jYWxTdGF0dXMpOw0KLQltX2NvdW50ZXItPndyaXRlQ29uZmlnX0VuYWJsZShmYWxzZSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Eb3duRmFsbGluZ0VkZ2UoZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfRG93blJpc2luZ0VkZ2UoZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCS8vIEluZGV4IDAgb2YgZGlnaXRhbCBpcyBhbHdheXMgMC4NCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Eb3duU291cmNlX0NoYW5uZWwoMCwgJmxvY2FsU3RhdHVzKTsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19Eb3duU291cmNlX0FuYWxvZ1RyaWdnZXIoZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfRW5hYmxlKHN0YXRlLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgc3RhbmRhcmQgdXAgLyBkb3duIGNvdW50aW5nIG1vZGUgb24gdGhpcyBjb3VudGVyLg0KLSAqIFVwIGFuZCBkb3duIGNvdW50cyBhcmUgc291cmNlZCBpbmRlcGVuZGVudGx5IGZyb20gdHdvIGlucHV0cy4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldFVwRG93bkNvdW50ZXJNb2RlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfTW9kZShrVHdvUHVsc2UsICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCBleHRlcm5hbCBkaXJlY3Rpb24gbW9kZSBvbiB0aGlzIGNvdW50ZXIuDQotICogQ291bnRzIGFyZSBzb3VyY2VkIG9uIHRoZSBVcCBjb3VudGVyIGlucHV0Lg0KLSAqIFRoZSBEb3duIGNvdW50ZXIgaW5wdXQgcmVwcmVzZW50cyB0aGUgZGlyZWN0aW9uIHRvIGNvdW50Lg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0RXh0ZXJuYWxEaXJlY3Rpb25Nb2RlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfTW9kZShrRXh0ZXJuYWxEaXJlY3Rpb24sICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCBTZW1pLXBlcmlvZCBtb2RlIG9uIHRoaXMgY291bnRlci4NCi0gKiBDb3VudHMgdXAgb24gYm90aCByaXNpbmcgYW5kIGZhbGxpbmcgZWRnZXMuIA0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0U2VtaVBlcmlvZE1vZGUoYm9vbCBoaWdoU2VtaVBlcmlvZCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfTW9kZShrU2VtaXBlcmlvZCwgJmxvY2FsU3RhdHVzKTsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19VcFJpc2luZ0VkZ2UoaGlnaFNlbWlQZXJpb2QsICZsb2NhbFN0YXR1cyk7DQotCVNldFVwZGF0ZVdoZW5FbXB0eShmYWxzZSk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgY291bnRlciB0byBjb3VudCBpbiB1cCBvciBkb3duIGJhc2VkIG9uIHRoZSBsZW5ndGggb2YgdGhlIGlucHV0IHB1bHNlLg0KLSAqIFRoaXMgbW9kZSBpcyBtb3N0IHVzZWZ1bCBmb3IgZGlyZWN0aW9uIHNlbnNpdGl2ZSBnZWFyIHRvb3RoIHNlbnNvcnMuDQotICogQHBhcmFtIHRocmVzaG9sZCBUaGUgcHVsc2UgbGVuZ3RoIGJleW9uZCB3aGljaCB0aGUgY291bnRlciBjb3VudHMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbi4gIFVuaXRzIGFyZSBzZWNvbmRzLg0KLSAqLw0KLXZvaWQgQ291bnRlcjo6U2V0UHVsc2VMZW5ndGhNb2RlKGZsb2F0IHRocmVzaG9sZCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfTW9kZShrUHVsc2VMZW5ndGgsICZsb2NhbFN0YXR1cyk7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfUHVsc2VMZW5ndGhUaHJlc2hvbGQoKFVJTlQzMikodGhyZXNob2xkICogMS4wZTYpICoga1N5c3RlbUNsb2NrVGlja3NQZXJNaWNyb3NlY29uZCwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU3RhcnQgdGhlIENvdW50ZXIgY291bnRpbmcuDQotICogVGhpcyBlbmFibGVzIHRoZSBjb3VudGVyIGFuZCBpdCBzdGFydHMgYWNjdW11bGF0aW5nIGNvdW50cyBmcm9tIHRoZSBhc3NvY2lhdGVkDQotICogaW5wdXQgY2hhbm5lbC4gVGhlIGNvdW50ZXIgdmFsdWUgaXMgbm90IHJlc2V0IG9uIHN0YXJ0aW5nLCBhbmQgc3RpbGwgaGFzIHRoZSBwcmV2aW91cyB2YWx1ZS4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlN0YXJ0KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fY291bnRlci0+d3JpdGVDb25maWdfRW5hYmxlKDEsICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIGN1cnJlbnQgY291bnRlciB2YWx1ZS4NCi0gKiBSZWFkIHRoZSB2YWx1ZSBhdCB0aGlzIGluc3RhbnQuIEl0IG1heSBzdGlsbCBiZSBydW5uaW5nLCBzbyBpdCByZWZsZWN0cyB0aGUgY3VycmVudCB2YWx1ZS4gTmV4dA0KLSAqIHRpbWUgaXQgaXMgcmVhZCwgaXQgbWlnaHQgaGF2ZSBhIGRpZmZlcmVudCB2YWx1ZS4NCi0gKi8NCi1JTlQzMiBDb3VudGVyOjpHZXQoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlJTlQzMiB2YWx1ZSA9IG1fY291bnRlci0+cmVhZE91dHB1dF9WYWx1ZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gdmFsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlc2V0IHRoZSBDb3VudGVyIHRvIHplcm8uDQotICogU2V0IHRoZSBjb3VudGVyIHZhbHVlIHRvIHplcm8uIFRoaXMgZG9lc24ndCBlZmZlY3QgdGhlIHJ1bm5pbmcgc3RhdGUgb2YgdGhlIGNvdW50ZXIsIGp1c3Qgc2V0cw0KLSAqIHRoZSBjdXJyZW50IHZhbHVlIHRvIHplcm8uDQotICovDQotdm9pZCBDb3VudGVyOjpSZXNldCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2NvdW50ZXItPnN0cm9iZVJlc2V0KCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0b3AgdGhlIENvdW50ZXIuDQotICogU3RvcHMgdGhlIGNvdW50aW5nIGJ1dCBkb2Vzbid0IGVmZmVjdCB0aGUgY3VycmVudCB2YWx1ZS4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlN0b3AoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9jb3VudGVyLT53cml0ZUNvbmZpZ19FbmFibGUoMCwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoNCi0gKiBHZXQgdGhlIFBlcmlvZCBvZiB0aGUgbW9zdCByZWNlbnQgY291bnQuDQotICogUmV0dXJucyB0aGUgdGltZSBpbnRlcnZhbCBvZiB0aGUgbW9zdCByZWNlbnQgY291bnQuIFRoaXMgY2FuIGJlIHVzZWQgZm9yIHZlbG9jaXR5IGNhbGN1bGF0aW9ucw0KLSAqIHRvIGRldGVybWluZSBzaGFmdCBzcGVlZC4NCi0gKiBAcmV0dXJucyBUaGUgcGVyaW9kIG9mIHRoZSBsYXN0IHR3byBwdWxzZXMgaW4gdW5pdHMgb2Ygc2Vjb25kcy4NCi0gKi8NCi1kb3VibGUgQ291bnRlcjo6R2V0UGVyaW9kKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwLjA7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQl0Q291bnRlcjo6dFRpbWVyT3V0cHV0IG91dHB1dCA9IG1fY291bnRlci0+cmVhZFRpbWVyT3V0cHV0KCZsb2NhbFN0YXR1cyk7DQotCWRvdWJsZSBwZXJpb2Q7DQotCWlmIChvdXRwdXQuU3RhbGxlZCkNCi0Jew0KLQkJLy8gUmV0dXJuIGluZmluaXR5DQotCQlkb3VibGUgemVybyA9IDAuMDsNCi0JCXBlcmlvZCA9IDEuMCAvIHplcm87DQotCX0NCi0JZWxzZQ0KLQl7DQotCQkvLyBvdXRwdXQuUGVyaW9kIGlzIGEgZml4ZWQgcG9pbnQgbnVtYmVyIHRoYXQgY291bnRzIGJ5IDIgKDI0IGJpdHMsIDI1IGludGVnZXIgYml0cykNCi0JCXBlcmlvZCA9IChkb3VibGUpKG91dHB1dC5QZXJpb2QgPDwgMSkgLyAoZG91YmxlKW91dHB1dC5Db3VudDsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcGVyaW9kICogMS4wZS02Ow0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIG1heGltdW0gcGVyaW9kIHdoZXJlIHRoZSBkZXZpY2UgaXMgc3RpbGwgY29uc2lkZXJlZCAibW92aW5nIi4NCi0gKiBTZXRzIHRoZSBtYXhpbXVtIHBlcmlvZCB3aGVyZSB0aGUgZGV2aWNlIGlzIGNvbnNpZGVyZWQgbW92aW5nLiBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lDQotICogdGhlICJzdG9wcGVkIiBzdGF0ZSBvZiB0aGUgY291bnRlciB1c2luZyB0aGUgR2V0U3RvcHBlZCBtZXRob2QuDQotICogQHBhcmFtIG1heFBlcmlvZCBUaGUgbWF4aW11bSBwZXJpb2Qgd2hlcmUgdGhlIGNvdW50ZWQgZGV2aWNlIGlzIGNvbnNpZGVyZWQgbW92aW5nIGluDQotICogc2Vjb25kcy4NCi0gKi8NCi12b2lkIENvdW50ZXI6OlNldE1heFBlcmlvZChkb3VibGUgbWF4UGVyaW9kKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9jb3VudGVyLT53cml0ZVRpbWVyQ29uZmlnX1N0YWxsUGVyaW9kKChVSU5UMzIpKG1heFBlcmlvZCAqIDEuMGU2KSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU2VsZWN0IHdoZXRoZXIgeW91IHdhbnQgdG8gY29udGludWUgdXBkYXRpbmcgdGhlIGV2ZW50IHRpbWVyIG91dHB1dCB3aGVuIHRoZXJlIGFyZSBubyBzYW1wbGVzIGNhcHR1cmVkLg0KLSAqIFRoZSBvdXRwdXQgb2YgdGhlIGV2ZW50IHRpbWVyIGhhcyBhIGJ1ZmZlciBvZiBwZXJpb2RzIHRoYXQgYXJlIGF2ZXJhZ2VkIGFuZCBwb3N0ZWQgdG8NCi0gKiBhIHJlZ2lzdGVyIG9uIHRoZSBGUEdBLiAgV2hlbiB0aGUgdGltZXIgZGV0ZWN0cyB0aGF0IHRoZSBldmVudCBzb3VyY2UgaGFzIHN0b3BwZWQNCi0gKiAoYmFzZWQgb24gdGhlIE1heFBlcmlvZCkgdGhlIGJ1ZmZlciBvZiBzYW1wbGVzIHRvIGJlIGF2ZXJhZ2VkIGlzIGVtcHRpZWQuICBJZiB5b3UNCi0gKiBlbmFibGUgdGhlIHVwZGF0ZSB3aGVuIGVtcHR5LCB5b3Ugd2lsbCBiZSBub3RpZmllZCBvZiB0aGUgc3RvcHBlZCBzb3VyY2UgYW5kIHRoZSBldmVudA0KLSAqIHRpbWUgd2lsbCByZXBvcnQgMCBzYW1wbGVzLiAgSWYgeW91IGRpc2FibGUgdXBkYXRlIHdoZW4gZW1wdHksIHRoZSBtb3N0IHJlY2VudCBhdmVyYWdlDQotICogd2lsbCByZW1haW4gb24gdGhlIG91dHB1dCB1bnRpbCBhIG5ldyBzYW1wbGUgaXMgYWNxdWlyZWQuICBZb3Ugd2lsbCBuZXZlciBzZWUgMCBzYW1wbGVzDQotICogb3V0cHV0IChleGNlcHQgd2hlbiB0aGVyZSBoYXZlIGJlZW4gbm8gZXZlbnRzIHNpbmNlIGFuIEZQR0EgcmVzZXQpIGFuZCB5b3Ugd2lsbCBsaWtlbHkgbm90DQotICogc2VlIHRoZSBzdG9wcGVkIGJpdCBiZWNvbWUgdHJ1ZSAoc2luY2UgaXQgaXMgdXBkYXRlZCBhdCB0aGUgZW5kIG9mIGFuIGF2ZXJhZ2UgYW5kIHRoZXJlIGFyZQ0KLSAqIG5vIHNhbXBsZXMgdG8gYXZlcmFnZSkuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXRVcGRhdGVXaGVuRW1wdHkoYm9vbCBlbmFibGVkKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9jb3VudGVyLT53cml0ZVRpbWVyQ29uZmlnX1VwZGF0ZVdoZW5FbXB0eShlbmFibGVkLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBEZXRlcm1pbmUgaWYgdGhlIGNsb2NrIGlzIHN0b3BwZWQuDQotICogRGV0ZXJtaW5lIGlmIHRoZSBjbG9ja2VkIGlucHV0IGlzIHN0b3BwZWQgYmFzZWQgb24gdGhlIE1heFBlcmlvZCB2YWx1ZSBzZXQgdXNpbmcgdGhlDQotICogU2V0TWF4UGVyaW9kIG1ldGhvZC4gSWYgdGhlIGNsb2NrIGV4Y2VlZHMgdGhlIE1heFBlcmlvZCwgdGhlbiB0aGUgZGV2aWNlIChhbmQgY291bnRlcikgYXJlDQotICogYXNzdW1lZCB0byBiZSBzdG9wcGVkIGFuZCBpdCByZXR1cm5zIHRydWUuDQotICogQHJldHVybiBSZXR1cm5zIHRydWUgaWYgdGhlIG1vc3QgcmVjZW50IGNvdW50ZXIgcGVyaW9kIGV4Y2VlZHMgdGhlIE1heFBlcmlvZCB2YWx1ZSBzZXQgYnkNCi0gKiBTZXRNYXhQZXJpb2QuDQotICovDQotYm9vbCBDb3VudGVyOjpHZXRTdG9wcGVkKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiBmYWxzZTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXJldHVybiBtX2NvdW50ZXItPnJlYWRUaW1lck91dHB1dF9TdGFsbGVkKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFRoZSBsYXN0IGRpcmVjdGlvbiB0aGUgY291bnRlciB2YWx1ZSBjaGFuZ2VkLg0KLSAqIEByZXR1cm4gVGhlIGxhc3QgZGlyZWN0aW9uIHRoZSBjb3VudGVyIHZhbHVlIGNoYW5nZWQuDQotICovDQotYm9vbCBDb3VudGVyOjpHZXREaXJlY3Rpb24oKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIGZhbHNlOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JYm9vbCB2YWx1ZSA9IG1fY291bnRlci0+cmVhZE91dHB1dF9EaXJlY3Rpb24oJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHZhbHVlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIENvdW50ZXIgdG8gcmV0dXJuIHJldmVyc2VkIHNlbnNpbmcgb24gdGhlIGRpcmVjdGlvbi4NCi0gKiBUaGlzIGFsbG93cyBjb3VudGVycyB0byBjaGFuZ2UgdGhlIGRpcmVjdGlvbiB0aGV5IGFyZSBjb3VudGluZyBpbiB0aGUgY2FzZSBvZiAxWCBhbmQgMlgNCi0gKiBxdWFkcmF0dXJlIGVuY29kaW5nIG9ubHkuIEFueSBvdGhlciBjb3VudGVyIG1vZGUgaXNuJ3Qgc3VwcG9ydGVkLg0KLSAqIEBwYXJhbSByZXZlcnNlRGlyZWN0aW9uIHRydWUgaWYgdGhlIHZhbHVlIGNvdW50ZWQgc2hvdWxkIGJlIG5lZ2F0ZWQuDQotICovDQotdm9pZCBDb3VudGVyOjpTZXRSZXZlcnNlRGlyZWN0aW9uKGJvb2wgcmV2ZXJzZURpcmVjdGlvbikNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWlmIChtX2NvdW50ZXItPnJlYWRDb25maWdfTW9kZSgmbG9jYWxTdGF0dXMpID09IGtFeHRlcm5hbERpcmVjdGlvbikNCi0Jew0KLQkJaWYgKHJldmVyc2VEaXJlY3Rpb24pDQotCQkJU2V0RG93blNvdXJjZUVkZ2UodHJ1ZSwgdHJ1ZSk7DQotCQllbHNlDQotCQkJU2V0RG93blNvdXJjZUVkZ2UoZmFsc2UsIHRydWUpOw0KLQl9DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLQ0KLXZvaWQgQ291bnRlcjo6VXBkYXRlVGFibGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dE51bWJlcigiVmFsdWUiLCBHZXQoKSk7DQotCX0NCi19DQotDQotdm9pZCBDb3VudGVyOjpTdGFydExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotdm9pZCBDb3VudGVyOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotCQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBDb3VudGVyOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKSB7DQotCXJldHVybiAiQ291bnRlciI7DQotfQ0KLQ0KLXZvaWQgQ291bnRlcjo6SW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpIHsNCi0JbV90YWJsZSA9IHN1YlRhYmxlOw0KLQlVcGRhdGVUYWJsZSgpOw0KLX0NCi0NCi1JVGFibGUgKiBDb3VudGVyOjpHZXRUYWJsZSgpIHsNCi0JcmV0dXJuIG1fdGFibGU7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvdW50ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0NvdW50ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTY1YjhjNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db3VudGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgQ1BQQ09VTlRFUl9IXw0KLSNkZWZpbmUgQ1BQQ09VTlRFUl9IXw0KLQ0KLSNpbmNsdWRlICJBbmFsb2dUcmlnZ2VyT3V0cHV0LmgiDQotI2luY2x1ZGUgIkNvdW50ZXJCYXNlLmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0NCi0vKioNCi0gKiBDbGFzcyBmb3IgY291bnRpbmcgdGhlIG51bWJlciBvZiB0aWNrcyBvbiBhIGRpZ2l0YWwgaW5wdXQgY2hhbm5lbC4NCi0gKiBUaGlzIGlzIGEgZ2VuZXJhbCBwdXJwb3NlIGNsYXNzIGZvciBjb3VudGluZyByZXBldGl0aXZlIGV2ZW50cy4gSXQgY2FuIHJldHVybiB0aGUgbnVtYmVyDQotICogb2YgY291bnRzLCB0aGUgcGVyaW9kIG9mIHRoZSBtb3N0IHJlY2VudCBjeWNsZSwgYW5kIGRldGVjdCB3aGVuIHRoZSBzaWduYWwgYmVpbmcgY291bnRlZA0KLSAqIGhhcyBzdG9wcGVkIGJ5IHN1cHBseWluZyBhIG1heGltdW0gY3ljbGUgdGltZS4NCi0gKi8NCi1jbGFzcyBDb3VudGVyIDogcHVibGljIFNlbnNvckJhc2UsIHB1YmxpYyBDb3VudGVyQmFzZSwgcHVibGljIExpdmVXaW5kb3dTZW5kYWJsZQ0KLXsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bSB7a1R3b1B1bHNlPTAsIGtTZW1pcGVyaW9kPTEsIGtQdWxzZUxlbmd0aD0yLCBrRXh0ZXJuYWxEaXJlY3Rpb249M30gTW9kZTsNCi0NCi0JQ291bnRlcigpOw0KLQlleHBsaWNpdCBDb3VudGVyKFVJTlQzMiBjaGFubmVsKTsNCi0JQ291bnRlcihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JZXhwbGljaXQgQ291bnRlcihEaWdpdGFsU291cmNlICpzb3VyY2UpOw0KLQlleHBsaWNpdCBDb3VudGVyKERpZ2l0YWxTb3VyY2UgJnNvdXJjZSk7DQotCWV4cGxpY2l0IENvdW50ZXIoQW5hbG9nVHJpZ2dlciAqdHJpZ2dlcik7DQotCWV4cGxpY2l0IENvdW50ZXIoQW5hbG9nVHJpZ2dlciAmdHJpZ2dlcik7DQotCUNvdW50ZXIoRW5jb2RpbmdUeXBlIGVuY29kaW5nVHlwZSwgRGlnaXRhbFNvdXJjZSAqdXBTb3VyY2UsIERpZ2l0YWxTb3VyY2UgKmRvd25Tb3VyY2UsIGJvb2wgaW52ZXJ0ZWQpOw0KLQl2aXJ0dWFsIH5Db3VudGVyKCk7DQotDQotCXZvaWQgU2V0VXBTb3VyY2UoVUlOVDMyIGNoYW5uZWwpOw0KLQl2b2lkIFNldFVwU291cmNlKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQl2b2lkIFNldFVwU291cmNlKEFuYWxvZ1RyaWdnZXIgKmFuYWxvZ1RyaWdnZXIsIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OlR5cGUgdHJpZ2dlclR5cGUpOw0KLQl2b2lkIFNldFVwU291cmNlKEFuYWxvZ1RyaWdnZXIgJmFuYWxvZ1RyaWdnZXIsIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OlR5cGUgdHJpZ2dlclR5cGUpOw0KLQl2b2lkIFNldFVwU291cmNlKERpZ2l0YWxTb3VyY2UgKnNvdXJjZSk7DQotCXZvaWQgU2V0VXBTb3VyY2UoRGlnaXRhbFNvdXJjZSAmc291cmNlKTsNCi0Jdm9pZCBTZXRVcFNvdXJjZUVkZ2UoYm9vbCByaXNpbmdFZGdlLCBib29sIGZhbGxpbmdFZGdlKTsNCi0Jdm9pZCBDbGVhclVwU291cmNlKCk7DQotDQotCXZvaWQgU2V0RG93blNvdXJjZShVSU5UMzIgY2hhbm5lbCk7DQotCXZvaWQgU2V0RG93blNvdXJjZShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXREb3duU291cmNlKEFuYWxvZ1RyaWdnZXIgKmFuYWxvZ1RyaWdnZXIsIEFuYWxvZ1RyaWdnZXJPdXRwdXQ6OlR5cGUgdHJpZ2dlclR5cGUpOw0KLQl2b2lkIFNldERvd25Tb3VyY2UoQW5hbG9nVHJpZ2dlciAmYW5hbG9nVHJpZ2dlciwgQW5hbG9nVHJpZ2dlck91dHB1dDo6VHlwZSB0cmlnZ2VyVHlwZSk7DQotCXZvaWQgU2V0RG93blNvdXJjZShEaWdpdGFsU291cmNlICpzb3VyY2UpOw0KLQl2b2lkIFNldERvd25Tb3VyY2UoRGlnaXRhbFNvdXJjZSAmc291cmNlKTsNCi0Jdm9pZCBTZXREb3duU291cmNlRWRnZShib29sIHJpc2luZ0VkZ2UsIGJvb2wgZmFsbGluZ0VkZ2UpOw0KLQl2b2lkIENsZWFyRG93blNvdXJjZSgpOw0KLQ0KLQl2b2lkIFNldFVwRG93bkNvdW50ZXJNb2RlKCk7DQotCXZvaWQgU2V0RXh0ZXJuYWxEaXJlY3Rpb25Nb2RlKCk7DQotCXZvaWQgU2V0U2VtaVBlcmlvZE1vZGUoYm9vbCBoaWdoU2VtaVBlcmlvZCk7DQotCXZvaWQgU2V0UHVsc2VMZW5ndGhNb2RlKGZsb2F0IHRocmVzaG9sZCk7DQotDQotCXZvaWQgU2V0UmV2ZXJzZURpcmVjdGlvbihib29sIHJldmVyc2VEaXJlY3Rpb24pOw0KLQ0KLQkvLyBDb3VudGVyQmFzZSBpbnRlcmZhY2UNCi0Jdm9pZCBTdGFydCgpOw0KLQlJTlQzMiBHZXQoKTsNCi0Jdm9pZCBSZXNldCgpOw0KLQl2b2lkIFN0b3AoKTsNCi0JZG91YmxlIEdldFBlcmlvZCgpOw0KLQl2b2lkIFNldE1heFBlcmlvZChkb3VibGUgbWF4UGVyaW9kKTsNCi0Jdm9pZCBTZXRVcGRhdGVXaGVuRW1wdHkoYm9vbCBlbmFibGVkKTsNCi0JYm9vbCBHZXRTdG9wcGVkKCk7DQotCWJvb2wgR2V0RGlyZWN0aW9uKCk7DQotCVVJTlQzMiBHZXRJbmRleCgpIHtyZXR1cm4gbV9pbmRleDt9DQotCQ0KLQkNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0Jdm9pZCBJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSk7DQotCUlUYWJsZSAqIEdldFRhYmxlKCk7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBJbml0Q291bnRlcihNb2RlIG1vZGUgPSBrVHdvUHVsc2UpOw0KLQ0KLQlEaWdpdGFsU291cmNlICptX3VwU291cmNlOwkJLy8vPCBXaGF0IG1ha2VzIHRoZSBjb3VudGVyIGNvdW50IHVwLg0KLQlEaWdpdGFsU291cmNlICptX2Rvd25Tb3VyY2U7CS8vLzwgV2hhdCBtYWtlcyB0aGUgY291bnRlciBjb3VudCBkb3duLg0KLQlib29sIG1fYWxsb2NhdGVkVXBTb3VyY2U7CQkvLy88IFdhcyB0aGUgdXBTb3VyY2UgYWxsb2NhdGVkIGxvY2FsbHk/DQotCWJvb2wgbV9hbGxvY2F0ZWREb3duU291cmNlOwkvLy88IFdhcyB0aGUgZG93blNvdXJjZSBhbGxvY2F0ZWQgbG9jYWxseT8NCi0JdENvdW50ZXIgKm1fY291bnRlcjsJCQkJLy8vPCBUaGUgRlBHQSBjb3VudGVyIG9iamVjdC4NCi0JVUlOVDMyIG1faW5kZXg7CQkJCQkvLy88IFRoZSBpbmRleCBvZiB0aGlzIGNvdW50ZXIuDQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db3VudGVyQmFzZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvQ291bnRlckJhc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNlMWRhNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Db3VudGVyQmFzZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIENQUENPVU5URVJfQkFTRV9IXw0KLSNkZWZpbmUgQ1BQQ09VTlRFUl9CQVNFX0hfDQotDQotLyoqDQotICogSW50ZXJmYWNlIGZvciBjb3VudGluZyB0aGUgbnVtYmVyIG9mIHRpY2tzIG9uIGEgZGlnaXRhbCBpbnB1dCBjaGFubmVsLg0KLSAqIEVuY29kZXJzLCBHZWFyIHRvb3RoIHNlbnNvcnMsIGFuZCBjb3VudGVycyBzaG91bGQgYWxsIHN1YmNsYXNzIHRoaXMgc28gaXQgY2FuIGJlIHVzZWQgdG8NCi0gKiBidWlsZCBtb3JlIGFkdmFuY2VkIGNsYXNzZXMgZm9yIGNvbnRyb2wgYW5kIGRyaXZpbmcuDQotICovDQotY2xhc3MgQ291bnRlckJhc2UNCi17DQotcHVibGljOg0KLQl0eXBlZGVmIGVudW0ge2sxWCwgazJYLCBrNFh9IEVuY29kaW5nVHlwZTsNCi0NCi0JdmlydHVhbCB+Q291bnRlckJhc2UoKSB7fQ0KLQl2aXJ0dWFsIHZvaWQgU3RhcnQoKSA9IDA7DQotCXZpcnR1YWwgSU5UMzIgR2V0KCkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgUmVzZXQoKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBTdG9wKCkgPSAwOw0KLQl2aXJ0dWFsIGRvdWJsZSBHZXRQZXJpb2QoKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBTZXRNYXhQZXJpb2QoZG91YmxlIG1heFBlcmlvZCkgPSAwOw0KLQl2aXJ0dWFsIGJvb2wgR2V0U3RvcHBlZCgpID0gMDsNCi0JdmlydHVhbCBib29sIEdldERpcmVjdGlvbigpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Rhc2hib2FyZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EYXNoYm9hcmQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTNkNzc4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Rhc2hib2FyZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOTkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiRGFzaGJvYXJkLmgiDQotI2luY2x1ZGUgIkRyaXZlclN0YXRpb24uaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxzdHJMaWIuaD4NCi0NCi1jb25zdCBJTlQzMiBEYXNoYm9hcmQ6OmtNYXhEYXNoYm9hcmREYXRhU2l6ZTsNCi0NCi0vKioNCi0gKiBEYXNoYm9hcmQgY29udHJ1Y3Rvci4NCi0gKiANCi0gKiBUaGlzIGlzIG9ubHkgY2FsbGVkIG9uY2Ugd2hlbiB0aGUgRHJpdmVyU3RhdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQuDQotICovDQotRGFzaGJvYXJkOjpEYXNoYm9hcmQoU0VNX0lEIHN0YXR1c0RhdGFTZW0pDQotCTogbV91c2VyU3RhdHVzRGF0YSAoTlVMTCkNCi0JLCBtX3VzZXJTdGF0dXNEYXRhU2l6ZSAoMCkNCi0JLCBtX2xvY2FsQnVmZmVyIChOVUxMKQ0KLQksIG1fbG9jYWxQcmludEJ1ZmZlciAoTlVMTCkNCi0JLCBtX3BhY2tQdHIgKE5VTEwpDQotCSwgbV9wcmludFNlbWFwaG9yZSAoMCkNCi0JLCBtX3N0YXR1c0RhdGFTZW1hcGhvcmUgKHN0YXR1c0RhdGFTZW0pDQotew0KLQltX3VzZXJTdGF0dXNEYXRhID0gbmV3IGNoYXJba01heERhc2hib2FyZERhdGFTaXplXTsNCi0JbV9sb2NhbEJ1ZmZlciA9IG5ldyBjaGFyW2tNYXhEYXNoYm9hcmREYXRhU2l6ZV07DQotCW1fbG9jYWxQcmludEJ1ZmZlciA9IG5ldyBjaGFyW2tNYXhEYXNoYm9hcmREYXRhU2l6ZSAqIDJdOw0KLQltX2xvY2FsUHJpbnRCdWZmZXJbMF0gPSAwOw0KLQltX3BhY2tQdHIgPSBtX2xvY2FsQnVmZmVyOw0KLQltX3ByaW50U2VtYXBob3JlID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9ERUxFVEVfU0FGRSB8IFNFTV9JTlZFUlNJT05fU0FGRSk7DQotfQ0KLQ0KLS8qKg0KLSAqIERhc2hib2FyZCBkZXN0cnVjdG9yLg0KLSAqIA0KLSAqIENhbGxlZCBvbmx5IHdoZW4gdGhlIERyaXZlclN0YXRpb24gY2xhc3MgaXMgZGVzdHJveWVkLg0KLSAqLw0KLURhc2hib2FyZDo6fkRhc2hib2FyZCgpDQotew0KLQlzZW1EZWxldGUobV9wcmludFNlbWFwaG9yZSk7DQotCW1fcGFja1B0ciA9IE5VTEw7DQotCWRlbGV0ZSBbXSBtX2xvY2FsUHJpbnRCdWZmZXI7DQotCW1fbG9jYWxQcmludEJ1ZmZlciA9IE5VTEw7DQotCWRlbGV0ZSBbXSBtX2xvY2FsQnVmZmVyOw0KLQltX2xvY2FsQnVmZmVyID0gTlVMTDsNCi0JZGVsZXRlIFtdIG1fdXNlclN0YXR1c0RhdGE7DQotCW1fdXNlclN0YXR1c0RhdGEgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBQYWNrIGEgc2lnbmVkIDgtYml0IGludCBpbnRvIHRoZSBkYXNoYm9hcmQgZGF0YSBzdHJ1Y3R1cmUuDQotICogQHBhcmFtIHZhbHVlIERhdGEgdG8gYmUgcGFja2VkIGludG8gdGhlIHN0cnVjdHVyZS4NCi0gKi8NCi12b2lkIERhc2hib2FyZDo6QWRkSTgoSU5UOCB2YWx1ZSkNCi17DQotCWlmICghVmFsaWRhdGVBZGQoc2l6ZW9mKElOVDgpKSkgcmV0dXJuOw0KLQltZW1jcHkobV9wYWNrUHRyLCAoY2hhciopJnZhbHVlLCBzaXplb2YodmFsdWUpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZih2YWx1ZSk7DQotCUFkZGVkRWxlbWVudChrSTgpOw0KLX0NCi0NCi0vKioNCi0gKiBQYWNrIGEgc2lnbmVkIDE2LWJpdCBpbnQgaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZEkxNihJTlQxNiB2YWx1ZSkNCi17DQotCWlmICghVmFsaWRhdGVBZGQoc2l6ZW9mKElOVDE2KSkpIHJldHVybjsNCi0JbWVtY3B5KG1fcGFja1B0ciwgKGNoYXIqKSZ2YWx1ZSwgc2l6ZW9mKHZhbHVlKSk7DQotCW1fcGFja1B0ciArPSBzaXplb2YodmFsdWUpOw0KLQlBZGRlZEVsZW1lbnQoa0kxNik7DQotfQ0KLQ0KLS8qKg0KLSAqIFBhY2sgYSBzaWduZWQgMzItYml0IGludCBpbnRvIHRoZSBkYXNoYm9hcmQgZGF0YSBzdHJ1Y3R1cmUuDQotICogQHBhcmFtIHZhbHVlIERhdGEgdG8gYmUgcGFja2VkIGludG8gdGhlIHN0cnVjdHVyZS4NCi0gKi8NCi12b2lkIERhc2hib2FyZDo6QWRkSTMyKElOVDMyIHZhbHVlKQ0KLXsNCi0JaWYgKCFWYWxpZGF0ZUFkZChzaXplb2YoSU5UMzIpKSkgcmV0dXJuOw0KLQltZW1jcHkobV9wYWNrUHRyLCAoY2hhciopJnZhbHVlLCBzaXplb2YodmFsdWUpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZih2YWx1ZSk7DQotCUFkZGVkRWxlbWVudChrSTMyKTsNCi19DQotDQotLyoqDQotICogUGFjayBhbiB1bnNpZ25lZCA4LWJpdCBpbnQgaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZFU4KFVJTlQ4IHZhbHVlKQ0KLXsNCi0JaWYgKCFWYWxpZGF0ZUFkZChzaXplb2YoVUlOVDgpKSkgcmV0dXJuOw0KLQltZW1jcHkobV9wYWNrUHRyLCAoY2hhciopJnZhbHVlLCBzaXplb2YodmFsdWUpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZih2YWx1ZSk7DQotCUFkZGVkRWxlbWVudChrVTgpOw0KLX0NCi0NCi0vKioNCi0gKiBQYWNrIGFuIHVuc2lnbmVkIDE2LWJpdCBpbnQgaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZFUxNihVSU5UMTYgdmFsdWUpDQotew0KLQlpZiAoIVZhbGlkYXRlQWRkKHNpemVvZihVSU5UMTYpKSkgcmV0dXJuOw0KLQltZW1jcHkobV9wYWNrUHRyLCAoY2hhciopJnZhbHVlLCBzaXplb2YodmFsdWUpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZih2YWx1ZSk7DQotCUFkZGVkRWxlbWVudChrVTE2KTsNCi19DQotDQotLyoqDQotICogUGFjayBhbiB1bnNpZ25lZCAzMi1iaXQgaW50IGludG8gdGhlIGRhc2hib2FyZCBkYXRhIHN0cnVjdHVyZS4NCi0gKiBAcGFyYW0gdmFsdWUgRGF0YSB0byBiZSBwYWNrZWQgaW50byB0aGUgc3RydWN0dXJlLg0KLSAqLw0KLXZvaWQgRGFzaGJvYXJkOjpBZGRVMzIoVUlOVDMyIHZhbHVlKQ0KLXsNCi0JaWYgKCFWYWxpZGF0ZUFkZChzaXplb2YoVUlOVDMyKSkpIHJldHVybjsNCi0JbWVtY3B5KG1fcGFja1B0ciwgKGNoYXIqKSZ2YWx1ZSwgc2l6ZW9mKHZhbHVlKSk7DQotCW1fcGFja1B0ciArPSBzaXplb2YodmFsdWUpOw0KLQlBZGRlZEVsZW1lbnQoa1UzMik7DQotfQ0KLQ0KLS8qKg0KLSAqIFBhY2sgYSAzMi1iaXQgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIGludG8gdGhlIGRhc2hib2FyZCBkYXRhIHN0cnVjdHVyZS4NCi0gKiBAcGFyYW0gdmFsdWUgRGF0YSB0byBiZSBwYWNrZWQgaW50byB0aGUgc3RydWN0dXJlLg0KLSAqLw0KLXZvaWQgRGFzaGJvYXJkOjpBZGRGbG9hdChmbG9hdCB2YWx1ZSkNCi17DQotCWlmICghVmFsaWRhdGVBZGQoc2l6ZW9mKGZsb2F0KSkpIHJldHVybjsNCi0JbWVtY3B5KG1fcGFja1B0ciwgKGNoYXIqKSZ2YWx1ZSwgc2l6ZW9mKHZhbHVlKSk7DQotCW1fcGFja1B0ciArPSBzaXplb2YodmFsdWUpOw0KLQlBZGRlZEVsZW1lbnQoa0Zsb2F0KTsNCi19DQotDQotLyoqDQotICogUGFjayBhIDY0LWJpdCBmbG9hdGluZyBwb2ludCBudW1iZXIgaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZERvdWJsZShkb3VibGUgdmFsdWUpDQotew0KLQlpZiAoIVZhbGlkYXRlQWRkKHNpemVvZihkb3VibGUpKSkgcmV0dXJuOw0KLQltZW1jcHkobV9wYWNrUHRyLCAoY2hhciopJnZhbHVlLCBzaXplb2YodmFsdWUpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZih2YWx1ZSk7DQotCUFkZGVkRWxlbWVudChrRG91YmxlKTsNCi19DQotDQotLyoqDQotICogUGFjayBhIGJvb2xlYW4gaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZEJvb2xlYW4oYm9vbCB2YWx1ZSkNCi17DQotCWlmICghVmFsaWRhdGVBZGQoc2l6ZW9mKGNoYXIpKSkgcmV0dXJuOw0KLQkqbV9wYWNrUHRyID0gdmFsdWUgPyAxIDogMDsNCi0JbV9wYWNrUHRyICs9IHNpemVvZihjaGFyKTsJDQotCUFkZGVkRWxlbWVudChrQm9vbGVhbik7DQotfQ0KLQ0KLS8qKg0KLSAqIFBhY2sgYSBOVUxMLXRlcm1pbmF0ZWQgc3RyaW5nIG9mIDgtYml0IGNoYXJhY3RlcnMgaW50byB0aGUgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSB2YWx1ZSBEYXRhIHRvIGJlIHBhY2tlZCBpbnRvIHRoZSBzdHJ1Y3R1cmUuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZFN0cmluZyhjaGFyKiB2YWx1ZSkNCi17DQotCUFkZFN0cmluZyh2YWx1ZSwgc3RybGVuKHZhbHVlKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFBhY2sgYSBzdHJpbmcgb2YgOC1iaXQgY2hhcmFjdGVycyBvZiBzcGVjaWZpZWQgbGVuZ3RoIGludG8gdGhlIGRhc2hib2FyZCBkYXRhIHN0cnVjdHVyZS4NCi0gKiBAcGFyYW0gdmFsdWUgRGF0YSB0byBiZSBwYWNrZWQgaW50byB0aGUgc3RydWN0dXJlLg0KLSAqIEBwYXJhbSBsZW5ndGggVGhlIG51bWJlciBvZiBieXRlcyBpbiB0aGUgc3RyaW5nIHRvIHBhY2suDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZFN0cmluZyhjaGFyKiB2YWx1ZSwgSU5UMzIgbGVuZ3RoKQ0KLXsNCi0JaWYgKCFWYWxpZGF0ZUFkZChsZW5ndGggKyBzaXplb2YobGVuZ3RoKSkpIHJldHVybjsNCi0JbWVtY3B5KG1fcGFja1B0ciwgKGNoYXIqKSZsZW5ndGgsIHNpemVvZihsZW5ndGgpKTsNCi0JbV9wYWNrUHRyICs9IHNpemVvZihsZW5ndGgpOw0KLQltZW1jcHkobV9wYWNrUHRyLCB2YWx1ZSwgbGVuZ3RoKTsNCi0JbV9wYWNrUHRyICs9IGxlbmd0aDsNCi0JQWRkZWRFbGVtZW50KGtTdHJpbmcpOw0KLX0NCi0NCi0vKioNCi0gKiBTdGFydCBhbiBhcnJheSBpbiB0aGUgcGFja2VkIGRhc2hib2FyZCBkYXRhIHN0cnVjdHVyZS4NCi0gKiANCi0gKiBBZnRlciBjYWxsaW5nIEFkZEFycmF5KCksIGNhbGwgdGhlIGFwcHJvcHJpYXRlIEFkZCBtZXRob2QgZm9yIGVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXkuDQotICogTWFrZSBzdXJlIHlvdSBjYWxsIHRoZSBzYW1lIGFkZCBlYWNoIHRpbWUuICBBbiBhcnJheSBtdXN0IGNvbnRhaW4gZWxlbWVudHMgb2YgdGhlIHNhbWUgdHlwZS4NCi0gKiBZb3UgY2FuIHVzZSBjbHVzdGVycyBpbnNpZGUgb2YgYXJyYXlzIHRvIG1ha2UgZWFjaCBlbGVtZW50IG9mIHRoZSBhcnJheSBjb250YWluIGEgc3RydWN0dXJlIG9mIHZhbHVlcy4NCi0gKiBZb3UgY2FuIGFsc28gbmVzdCBhcnJheXMgaW5zaWRlIG9mIG90aGVyIGFycmF5cy4NCi0gKiBFdmVyeSBjYWxsIHRvIEFkZEFycmF5KCkgbXVzdCBoYXZlIGEgbWF0Y2hpbmcgY2FsbCB0byBGaW5hbGl6ZUFycmF5KCkuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkFkZEFycmF5KCkNCi17DQotCWlmICghVmFsaWRhdGVBZGQoc2l6ZW9mKElOVDMyKSkpIHJldHVybjsNCi0JbV9jb21wbGV4VHlwZVN0YWNrLnB1c2goa0FycmF5KTsNCi0JbV9hcnJheUVsZW1lbnRDb3VudC5wdXNoX2JhY2soMCk7DQotCW1fYXJyYXlTaXplUHRyLnB1c2hfYmFjaygoSU5UMzIqKW1fcGFja1B0cik7DQotCW1fcGFja1B0ciArPSBzaXplb2YoSU5UMzIpOw0KLX0NCi0NCi0vKioNCi0gKiBJbmRpY2F0ZSB0aGUgZW5kIG9mIGFuIGFycmF5IHBhY2tlZCBpbnRvIHRoZSBkYXNoYm9hcmQgZGF0YSBzdHJ1Y3R1cmUuDQotICogDQotICogQWZ0ZXIgcGFja2luZyBkYXRhIGludG8gdGhlIGFycmF5LCBjYWxsIEZpbmFsaXplQXJyYXkoKS4NCi0gKiBFdmVyeSBjYWxsIHRvIEFkZEFycmF5KCkgbXVzdCBoYXZlIGEgbWF0Y2hpbmcgY2FsbCB0byBGaW5hbGl6ZUFycmF5KCkuDQotICovDQotdm9pZCBEYXNoYm9hcmQ6OkZpbmFsaXplQXJyYXkoKQ0KLXsNCi0JaWYgKG1fY29tcGxleFR5cGVTdGFjay50b3AoKSAhPSBrQXJyYXkpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihNaXNtYXRjaGVkQ29tcGxleFR5cGVDbG9zZSk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9jb21wbGV4VHlwZVN0YWNrLnBvcCgpOw0KLQkqKG1fYXJyYXlTaXplUHRyLmJhY2soKSkgPSBtX2FycmF5RWxlbWVudENvdW50LmJhY2soKTsNCi0JbV9hcnJheVNpemVQdHIucG9wX2JhY2soKTsNCi0JaWYgKG1fYXJyYXlFbGVtZW50Q291bnQuYmFjaygpICE9IDApDQotCXsNCi0JCW1fZXhwZWN0ZWRBcnJheUVsZW1lbnRUeXBlLnBvcF9iYWNrKCk7DQotCX0NCi0JbV9hcnJheUVsZW1lbnRDb3VudC5wb3BfYmFjaygpOw0KLQlBZGRlZEVsZW1lbnQoa090aGVyKTsNCi19DQotDQotLyoqDQotICogU3RhcnQgYSBjbHVzdGVyIGluIHRoZSBwYWNrZWQgZGFzaGJvYXJkIGRhdGEgc3RydWN0dXJlLg0KLSAqIA0KLSAqIEFmdGVyIGNhbGxpbmcgQWRkQ2x1c3RlcigpLCBjYWxsIHRoZSBhcHByb3ByaWF0ZSBBZGQgbWV0aG9kIGZvciBlYWNoIGVsZW1lbnQgb2YgdGhlIGNsdXN0ZXIuDQotICogWW91IGNhbiB1c2UgY2x1c3RlcnMgaW5zaWRlIG9mIGFycmF5cyB0byBtYWtlIGVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXkgY29udGFpbiBhIHN0cnVjdHVyZSBvZiB2YWx1ZXMuDQotICogRXZlcnkgY2FsbCB0byBBZGRDbHVzdGVyKCkgbXVzdCBoYXZlIGEgbWF0Y2hpbmcgY2FsbCB0byBGaW5hbGl6ZUNsdXN0ZXIoKS4NCi0gKi8NCi12b2lkIERhc2hib2FyZDo6QWRkQ2x1c3RlcigpDQotew0KLQltX2NvbXBsZXhUeXBlU3RhY2sucHVzaChrQ2x1c3Rlcik7DQotfQ0KLQ0KLS8qKg0KLSAqIEluZGljYXRlIHRoZSBlbmQgb2YgYSBjbHVzdGVyIHBhY2tlZCBpbnRvIHRoZSBkYXNoYm9hcmQgZGF0YSBzdHJ1Y3R1cmUuDQotICogDQotICogQWZ0ZXIgcGFja2luZyBkYXRhIGludG8gdGhlIGNsdXN0ZXIsIGNhbGwgRmluYWxpemVDbHVzdGVyKCkuDQotICogRXZlcnkgY2FsbCB0byBBZGRDbHVzdGVyKCkgbXVzdCBoYXZlIGEgbWF0Y2hpbmcgY2FsbCB0byBGaW5hbGl6ZUNsdXN0ZXIoKS4NCi0gKi8NCi12b2lkIERhc2hib2FyZDo6RmluYWxpemVDbHVzdGVyKCkNCi17DQotCWlmIChtX2NvbXBsZXhUeXBlU3RhY2sudG9wKCkgIT0ga0NsdXN0ZXIpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihNaXNtYXRjaGVkQ29tcGxleFR5cGVDbG9zZSk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9jb21wbGV4VHlwZVN0YWNrLnBvcCgpOw0KLQlBZGRlZEVsZW1lbnQoa090aGVyKTsNCi19DQotDQotLyoqDQotICogUHJpbnQgYSBzdHJpbmcgdG8gdGhlIFVzZXJEYXRhIHRleHQgb24gdGhlIERhc2hib2FyZC4NCi0gKiANCi0gKiBUaGlzIHdpbGwgYWRkIHRleHQgdG8gdGhlIGJ1ZmZlciB0byBzZW5kIHRvIHRoZSBkYXNoYm9hcmQuDQotICogWW91IG11c3QgY2FsbCBGaW5hbGl6ZSgpIHBlcmlvZGljYWxseSB0byBhY3R1YWxseSBzZW5kIHRoZSBidWZmZXIgdG8gdGhlIGRhc2hib2FyZCBpZiB5b3UgYXJlIG5vdCB1c2luZyB0aGUgcGFja2VkIGRhc2hib2FyZCBkYXRhLg0KLSAqLw0KLXZvaWQgRGFzaGJvYXJkOjpQcmludGYoY29uc3QgY2hhciAqd3JpdGVGbXQsIC4uLikNCi17DQotCXZhX2xpc3QgYXJnczsNCi0JSU5UMzIgc2l6ZTsNCi0NCi0JLy8gQ2hlY2sgaWYgdGhlIGJ1ZmZlciBoYXMgYWxyZWFkeSBiZWVuIHVzZWQgZm9yIHBhY2tpbmcuDQotCWlmIChtX3BhY2tQdHIgIT0gbV9sb2NhbEJ1ZmZlcikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKERhc2hib2FyZERhdGFDb2xsaXNpb24pOw0KLQkJcmV0dXJuOw0KLQl9DQotCXZhX3N0YXJ0IChhcmdzLCB3cml0ZUZtdCk7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fcHJpbnRTZW1hcGhvcmUpOw0KLQkJdnNwcmludGYobV9sb2NhbFByaW50QnVmZmVyICsgc3RybGVuKG1fbG9jYWxQcmludEJ1ZmZlciksIHdyaXRlRm10LCBhcmdzKTsNCi0JCXNpemUgPSBzdHJsZW4obV9sb2NhbFByaW50QnVmZmVyKTsNCi0JfQ0KLQlpZiAoc2l6ZSA+IGtNYXhEYXNoYm9hcmREYXRhU2l6ZSkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKERhc2hib2FyZERhdGFPdmVyZmxvdyk7DQotCX0NCi0NCi0JdmFfZW5kIChhcmdzKTsNCi19DQotDQotLyoqDQotICogSW5kaWNhdGUgdGhhdCB0aGUgcGFja2luZyBpcyBjb21wbGV0ZSBhbmQgY29tbWl0IHRoZSBidWZmZXIgdG8gdGhlIERyaXZlclN0YXRpb24uDQotICogDQotICogVGhlIHBhY2tpbmcgb2YgdGhlIGRhc2hib2FyZCBwYWNrZXQgaXMgY29tcGxldGUuDQotICogSWYgeW91IGFyZSBub3QgdXNpbmcgdGhlIHBhY2tlZCBkYXNoYm9hcmQgZGF0YSwgeW91IGNhbiBjYWxsIEZpbmFsaXplKCkgdG8gY29tbWl0IHRoZSBQcmludGYoKSBidWZmZXIgYW5kIHRoZSBlcnJvciBzdHJpbmcgYnVmZmVyLg0KLSAqIEluIGVmZmVjdCwgeW91IGFyZSBwYWNraW5nIGFuIGVtcHR5IHN0cnVjdHVyZS4NCi0gKiBQcmVwYXJlcyBhIHBhY2tldCB0byBnbyB0byB0aGUgZGFzaGJvYXJkLi4uDQotICogQHJldHVybiBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgZGF0YSBwYWNrZWQgaW50byB0aGUgdXNlckRhdGEgZmllbGQgb2YgdGhlIHN0YXR1cyBwYWNrZXQuDQotICovDQotSU5UMzIgRGFzaGJvYXJkOjpGaW5hbGl6ZSgpDQotew0KLQlpZiAoIW1fY29tcGxleFR5cGVTdGFjay5lbXB0eSgpKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTWlzbWF0Y2hlZENvbXBsZXhUeXBlQ2xvc2UpOw0KLQkJcmV0dXJuIDA7DQotCX0NCi0NCi0Jc3RhdGljIGJvb2wgcmVwb3J0ZWQgPSBmYWxzZTsNCi0JaWYgKCFyZXBvcnRlZCkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0Rhc2hib2FyZCwgMCk7DQotCQlyZXBvcnRlZCA9IHRydWU7DQotCX0NCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9zdGF0dXNEYXRhU2VtYXBob3JlKTsNCi0NCi0JLy8gU2VxdWVuY2UgbnVtYmVyDQotCURyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkluY3JlbWVudFVwZGF0ZU51bWJlcigpOw0KLQ0KLQkvLyBQYWNrZWQgRGFzaGJvYXJkIERhdGENCi0JbV91c2VyU3RhdHVzRGF0YVNpemUgPSBtX3BhY2tQdHIgLSBtX2xvY2FsQnVmZmVyOw0KLQltZW1jcHkobV91c2VyU3RhdHVzRGF0YSwgbV9sb2NhbEJ1ZmZlciwgbV91c2VyU3RhdHVzRGF0YVNpemUpOw0KLQltX3BhY2tQdHIgPSBtX2xvY2FsQnVmZmVyOw0KLQ0KLQlyZXR1cm4gbV91c2VyU3RhdHVzRGF0YVNpemU7DQotfQ0KLQ0KLS8qKg0KLSAqIENhbGxlZCBieSB0aGUgRHJpdmVyU3RhdGlvbiBjbGFzcyB0byByZXRyaWV2ZSBidWZmZXJzLCBzaXplcywgZXRjLiBmb3Igd3JpdGluZw0KLSAqICAgdG8gdGhlIE5ldHdvcmtDb21tdW5pY2F0aW9uIHRhc2suDQotICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hpbGUgaG9sZGluZyB0aGUgbV9zdGF0dXNEYXRhU2VtYXBob3JlLg0KLSAqLw0KLXZvaWQgRGFzaGJvYXJkOjpHZXRTdGF0dXNCdWZmZXIoY2hhciAqKnVzZXJTdGF0dXNEYXRhLCBJTlQzMiogdXNlclN0YXR1c0RhdGFTaXplKQ0KLXsNCi0JLy8gVXNlciBwcmludGVkIHN0cmluZ3MNCi0JaWYgKG1fbG9jYWxQcmludEJ1ZmZlclswXSAhPSAwKQ0KLQl7DQotCQkvLyBTZXF1ZW5jZSBudW1iZXINCi0JCURyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkluY3JlbWVudFVwZGF0ZU51bWJlcigpOw0KLQ0KLQkJSU5UMzIgcHJpbnRTaXplOw0KLQkJU3luY2hyb25pemVkIHN5bmNQcmludChtX3ByaW50U2VtYXBob3JlKTsNCi0JCXByaW50U2l6ZSA9IHN0cmxlbihtX2xvY2FsUHJpbnRCdWZmZXIpOw0KLQkJbV91c2VyU3RhdHVzRGF0YVNpemUgPSBwcmludFNpemU7DQotCQltZW1jcHkobV91c2VyU3RhdHVzRGF0YSwgbV9sb2NhbFByaW50QnVmZmVyLCBtX3VzZXJTdGF0dXNEYXRhU2l6ZSk7DQotCQltX2xvY2FsUHJpbnRCdWZmZXJbMF0gPSAwOw0KLQl9DQotDQotCSp1c2VyU3RhdHVzRGF0YSA9IG1fdXNlclN0YXR1c0RhdGE7DQotCSp1c2VyU3RhdHVzRGF0YVNpemUgPSBtX3VzZXJTdGF0dXNEYXRhU2l6ZTsNCi19DQotDQotLyoqDQotICogVmFsaWRhdGUgdGhhdCB0aGUgZGF0YSBiZWluZyBwYWNrZWQgd2lsbCBmaXQgaW4gdGhlIGJ1ZmZlci4NCi0gKi8NCi1ib29sIERhc2hib2FyZDo6VmFsaWRhdGVBZGQoSU5UMzIgc2l6ZSkNCi17DQotCWlmICgobV9wYWNrUHRyIC0gbV9sb2NhbEJ1ZmZlcikgKyBzaXplID4ga01heERhc2hib2FyZERhdGFTaXplKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRGFzaGJvYXJkRGF0YU92ZXJmbG93KTsNCi0JCXJldHVybiBmYWxzZTsNCi0JfQ0KLQkvLyBNYWtlIHN1cmUgcHJpbnRmIGlzIG5vdCBiZWluZyB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuDQotCWlmIChtX2xvY2FsUHJpbnRCdWZmZXJbMF0gIT0gMCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKERhc2hib2FyZERhdGFDb2xsaXNpb24pOw0KLQkJcmV0dXJuIGZhbHNlOw0KLQl9DQotCXJldHVybiB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBmb3IgY29uc2lzdGVudCB0eXBlcyB3aGVuIGFkZGluZyBlbGVtZW50cyB0byBhbiBhcnJheSBhbmQga2VlcCB0cmFjayBvZiB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheS4NCi0gKi8NCi12b2lkIERhc2hib2FyZDo6QWRkZWRFbGVtZW50KFR5cGUgdHlwZSkNCi17DQotCWlmKElzQXJyYXlSb290KCkpDQotCXsNCi0JCWlmIChtX2FycmF5RWxlbWVudENvdW50LmJhY2soKSA9PSAwKQ0KLQkJew0KLQkJCW1fZXhwZWN0ZWRBcnJheUVsZW1lbnRUeXBlLnB1c2hfYmFjayh0eXBlKTsNCi0JCX0NCi0JCWVsc2UNCi0JCXsNCi0JCQlpZiAodHlwZSAhPSBtX2V4cGVjdGVkQXJyYXlFbGVtZW50VHlwZS5iYWNrKCkpDQotCQkJew0KLQkJCQl3cGlfc2V0V1BJRXJyb3IoSW5jb25zaXN0ZW50QXJyYXlWYWx1ZUFkZGVkKTsNCi0JCQl9DQotCQl9DQotCQltX2FycmF5RWxlbWVudENvdW50LmJhY2soKSA9IG1fYXJyYXlFbGVtZW50Q291bnQuYmFjaygpICsgMTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBJZiB0aGUgdG9wIG9mIHRoZSB0eXBlIHN0YWNrIGFuIGFycmF5Pw0KLSAqLw0KLWJvb2wgRGFzaGJvYXJkOjpJc0FycmF5Um9vdCgpDQotew0KLQlyZXR1cm4gIW1fY29tcGxleFR5cGVTdGFjay5lbXB0eSgpICYmIG1fY29tcGxleFR5cGVTdGFjay50b3AoKSA9PSBrQXJyYXk7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Rhc2hib2FyZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGFzaGJvYXJkLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NTU3OWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGFzaGJvYXJkLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19EQVNIQk9BUkRfSF9fDQotI2RlZmluZSBfX0RBU0hCT0FSRF9IX18NCi0NCi0jaW5jbHVkZSAiRGFzaGJvYXJkQmFzZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgiDQotI2luY2x1ZGUgPHN0YWNrPg0KLSNpbmNsdWRlIDx2ZWN0b3I+DQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBQYWNrIGRhdGEgaW50byB0aGUgInVzZXIgZGF0YSIgZmllbGQgdGhhdCBnZXRzIHNlbnQgdG8gdGhlIGRhc2hib2FyZCBsYXB0b3ANCi0gKiB2aWEgdGhlIGRyaXZlciBzdGF0aW9uLg0KLSAqLw0KLWNsYXNzIERhc2hib2FyZCA6IHB1YmxpYyBEYXNoYm9hcmRCYXNlDQotew0KLXB1YmxpYzoNCi0JZXhwbGljaXQgRGFzaGJvYXJkKFNFTV9JRCBzdGF0dXNEYXRhU2VtYXBob3JlKTsNCi0JdmlydHVhbCB+RGFzaGJvYXJkKCk7DQotDQotCWVudW0gVHlwZSB7a0k4LCBrSTE2LCBrSTMyLCBrVTgsIGtVMTYsIGtVMzIsIGtGbG9hdCwga0RvdWJsZSwga0Jvb2xlYW4sIGtTdHJpbmcsIGtPdGhlcn07DQotCWVudW0gQ29tcGxleFR5cGUge2tBcnJheSwga0NsdXN0ZXJ9Ow0KLQ0KLQl2b2lkIEFkZEk4KElOVDggdmFsdWUpOw0KLQl2b2lkIEFkZEkxNihJTlQxNiB2YWx1ZSk7DQotCXZvaWQgQWRkSTMyKElOVDMyIHZhbHVlKTsNCi0Jdm9pZCBBZGRVOChVSU5UOCB2YWx1ZSk7DQotCXZvaWQgQWRkVTE2KFVJTlQxNiB2YWx1ZSk7DQotCXZvaWQgQWRkVTMyKFVJTlQzMiB2YWx1ZSk7DQotCXZvaWQgQWRkRmxvYXQoZmxvYXQgdmFsdWUpOw0KLQl2b2lkIEFkZERvdWJsZShkb3VibGUgdmFsdWUpOw0KLQl2b2lkIEFkZEJvb2xlYW4oYm9vbCB2YWx1ZSk7DQotCXZvaWQgQWRkU3RyaW5nKGNoYXIqIHZhbHVlKTsNCi0Jdm9pZCBBZGRTdHJpbmcoY2hhciogdmFsdWUsIElOVDMyIGxlbmd0aCk7DQotDQotCXZvaWQgQWRkQXJyYXkoKTsNCi0Jdm9pZCBGaW5hbGl6ZUFycmF5KCk7DQotCXZvaWQgQWRkQ2x1c3RlcigpOw0KLQl2b2lkIEZpbmFsaXplQ2x1c3RlcigpOw0KLQ0KLQl2b2lkIFByaW50Zihjb25zdCBjaGFyICp3cml0ZUZtdCwgLi4uKTsNCi0NCi0JSU5UMzIgRmluYWxpemUoKTsNCi0Jdm9pZCBHZXRTdGF0dXNCdWZmZXIoY2hhcioqIHVzZXJTdGF0dXNEYXRhLCBJTlQzMiogdXNlclN0YXR1c0RhdGFTaXplKTsNCi0Jdm9pZCBGbHVzaCgpIHt9DQotcHJpdmF0ZToNCi0Jc3RhdGljIGNvbnN0IElOVDMyIGtNYXhEYXNoYm9hcmREYXRhU2l6ZSA9IFVTRVJfU1RBVFVTX0RBVEFfU0laRSAtIHNpemVvZihVSU5UMzIpICogMyAtIHNpemVvZihVSU5UOCk7IC8vIDEzIGJ5dGVzIG5lZWRlZCBmb3IgMyBzaXplIHBhcmFtZXRlcnMgYW5kIHRoZSBzZXF1ZW5jZSBudW1iZXINCi0NCi0JLy8gVXNhZ2UgR3VpZGVsaW5lcy4uLg0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oRGFzaGJvYXJkKTsNCi0NCi0JYm9vbCBWYWxpZGF0ZUFkZChJTlQzMiBzaXplKTsNCi0Jdm9pZCBBZGRlZEVsZW1lbnQoVHlwZSB0eXBlKTsNCi0JYm9vbCBJc0FycmF5Um9vdCgpOw0KLQ0KLQljaGFyICptX3VzZXJTdGF0dXNEYXRhOw0KLQlJTlQzMiBtX3VzZXJTdGF0dXNEYXRhU2l6ZTsNCi0JY2hhciAqbV9sb2NhbEJ1ZmZlcjsNCi0JY2hhciAqbV9sb2NhbFByaW50QnVmZmVyOw0KLQljaGFyICptX3BhY2tQdHI7DQotCXN0ZDo6dmVjdG9yPFR5cGU+IG1fZXhwZWN0ZWRBcnJheUVsZW1lbnRUeXBlOw0KLQlzdGQ6OnZlY3RvcjxJTlQzMj4gbV9hcnJheUVsZW1lbnRDb3VudDsNCi0Jc3RkOjp2ZWN0b3I8SU5UMzIqPiBtX2FycmF5U2l6ZVB0cjsNCi0Jc3RkOjpzdGFjazxDb21wbGV4VHlwZT4gbV9jb21wbGV4VHlwZVN0YWNrOw0KLQlTRU1fSUQgbV9wcmludFNlbWFwaG9yZTsNCi0JU0VNX0lEIG1fc3RhdHVzRGF0YVNlbWFwaG9yZTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Rhc2hib2FyZEJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Rhc2hib2FyZEJhc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTk3MGNjZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EYXNoYm9hcmRCYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19EQVNIQk9BUkRCQVNFX0hfXw0KLSNkZWZpbmUgX19EQVNIQk9BUkRCQVNFX0hfXw0KLQ0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLQ0KLWNsYXNzIERhc2hib2FyZEJhc2UgOiBwdWJsaWMgRXJyb3JCYXNlIHsNCi1wdWJsaWM6DQotCXZpcnR1YWwgdm9pZCBHZXRTdGF0dXNCdWZmZXIoY2hhcioqIHVzZXJTdGF0dXNEYXRhLCBJTlQzMiogdXNlclN0YXR1c0RhdGFTaXplKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBGbHVzaCgpID0gMDsNCi0JdmlydHVhbCB+RGFzaGJvYXJkQmFzZSgpIHt9DQotcHJvdGVjdGVkOg0KLQlEYXNoYm9hcmRCYXNlKCkge30NCi1wcml2YXRlOg0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oRGFzaGJvYXJkQmFzZSk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsSW5wdXQuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbElucHV0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYzYmYxZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsSW5wdXQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjI4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkRpZ2l0YWxJbnB1dC5oIg0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlJlc291cmNlLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLS8vIFRPRE86IFRoaXMgaXMgbm90IGEgZ29vZCBwbGFjZSBmb3IgdGhpcy4uLg0KLVJlc291cmNlICppbnRlcnJ1cHRzUmVzb3VyY2UgPSBOVUxMOw0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhIERpZ2l0YWxJbnB1dC4NCi0gKiBDcmVhdGVzIGEgZGlnaXRhbCBpbnB1dCBnaXZlbiBhIHNsb3QgYW5kIGNoYW5uZWwuIENvbW1vbiBjcmVhdGlvbiByb3V0aW5lDQotICogZm9yIGFsbCBjb25zdHJ1Y3RvcnMuDQotICovDQotdm9pZCBEaWdpdGFsSW5wdXQ6OkluaXREaWdpdGFsSW5wdXQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQljaGFyIGJ1Zls2NF07DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmaW50ZXJydXB0c1Jlc291cmNlLCB0SW50ZXJydXB0OjprTnVtU3lzdGVtcyk7DQotCWlmICghQ2hlY2tEaWdpdGFsTW9kdWxlKG1vZHVsZU51bWJlcikpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJEaWdpdGFsIE1vZHVsZSAlZCIsIG1vZHVsZU51bWJlcik7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChNb2R1bGVJbmRleE91dE9mUmFuZ2UsIGJ1Zik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKCFDaGVja0RpZ2l0YWxDaGFubmVsKGNoYW5uZWwpKQ0KLQl7DQotCQlzbnByaW50ZihidWYsIDY0LCAiRGlnaXRhbCBDaGFubmVsICVkIiwgY2hhbm5lbCk7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDaGFubmVsSW5kZXhPdXRPZlJhbmdlLCBidWYpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1fY2hhbm5lbCA9IGNoYW5uZWw7DQotCW1fbW9kdWxlID0gRGlnaXRhbE1vZHVsZTo6R2V0SW5zdGFuY2UobW9kdWxlTnVtYmVyKTsNCi0JbV9tb2R1bGUtPkFsbG9jYXRlRElPKGNoYW5uZWwsIHRydWUpOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRGlnaXRhbElucHV0LCBjaGFubmVsLCBtb2R1bGVOdW1iZXIgLSAxKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgRGlnaXRhbCBJbnB1dCBjbGFzcy4NCi0gKiBDcmVhdGVzIGEgZGlnaXRhbCBpbnB1dCBnaXZlbiBhIGNoYW5uZWwgYW5kIHVzZXMgdGhlIGRlZmF1bHQgbW9kdWxlLg0KLSAqDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgY2hhbm5lbCAoMS4uMTQpLg0KLSAqLw0KLURpZ2l0YWxJbnB1dDo6RGlnaXRhbElucHV0KFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JSW5pdERpZ2l0YWxJbnB1dChHZXREZWZhdWx0RGlnaXRhbE1vZHVsZSgpLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgRGlnaXRhbCBJbnB1dCBjbGFzcy4NCi0gKiBDcmVhdGVzIGEgZGlnaXRhbCBpbnB1dCBnaXZlbiBhbiBjaGFubmVsIGFuZCBtb2R1bGUuDQotICoNCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBkaWdpdGFsIG1vZHVsZSAoMSBvciAyKS4NCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgZGlnaXRhbCBjaGFubmVsICgxLi4xNCkuDQotICovDQotRGlnaXRhbElucHV0OjpEaWdpdGFsSW5wdXQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCUluaXREaWdpdGFsSW5wdXQobW9kdWxlTnVtYmVyLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogRnJlZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBEaWdpdGFsIElucHV0IGNsYXNzLg0KLSAqLw0KLURpZ2l0YWxJbnB1dDo6fkRpZ2l0YWxJbnB1dCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChtX21hbmFnZXIgIT0gTlVMTCkNCi0Jew0KLQkJZGVsZXRlIG1fbWFuYWdlcjsNCi0JCWRlbGV0ZSBtX2ludGVycnVwdDsNCi0JCWludGVycnVwdHNSZXNvdXJjZS0+RnJlZShtX2ludGVycnVwdEluZGV4KTsNCi0JfQ0KLQltX21vZHVsZS0+RnJlZURJTyhtX2NoYW5uZWwpOw0KLX0NCi0NCi0vKg0KLSAqIEdldCB0aGUgdmFsdWUgZnJvbSBhIGRpZ2l0YWwgaW5wdXQgY2hhbm5lbC4NCi0gKiBSZXRyaWV2ZSB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZGlnaXRhbCBpbnB1dCBjaGFubmVsIGZyb20gdGhlIEZQR0EuDQotICovDQotVUlOVDMyIERpZ2l0YWxJbnB1dDo6R2V0KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwOw0KLQlyZXR1cm4gbV9tb2R1bGUtPkdldERJTyhtX2NoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBAcmV0dXJuIFRoZSBHUElPIGNoYW5uZWwgbnVtYmVyIHRoYXQgdGhpcyBvYmplY3QgcmVwcmVzZW50cy4NCi0gKi8NCi1VSU5UMzIgRGlnaXRhbElucHV0OjpHZXRDaGFubmVsKCkNCi17DQotCXJldHVybiBtX2NoYW5uZWw7DQotfQ0KLQ0KLS8qKg0KLSAqIEByZXR1cm4gVGhlIHZhbHVlIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGNoYW5uZWwgZmllbGQgb2YgYSByb3V0aW5nIG11eC4NCi0gKi8NCi1VSU5UMzIgRGlnaXRhbElucHV0OjpHZXRDaGFubmVsRm9yUm91dGluZygpDQotew0KLQlyZXR1cm4gRGlnaXRhbE1vZHVsZTo6UmVtYXBEaWdpdGFsQ2hhbm5lbChHZXRDaGFubmVsKCkgLSAxKTsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgbW9kdWxlIGZpZWxkIG9mIGEgcm91dGluZyBtdXguDQotICovDQotVUlOVDMyIERpZ2l0YWxJbnB1dDo6R2V0TW9kdWxlRm9yUm91dGluZygpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMDsNCi0JcmV0dXJuIG1fbW9kdWxlLT5HZXROdW1iZXIoKSAtIDE7DQotfQ0KLQ0KLS8qKg0KLSAqIEByZXR1cm4gVGhlIHZhbHVlIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGFuYWxvZyB0cmlnZ2VyIGZpZWxkIG9mIGEgcm91dGluZyBtdXguDQotICovDQotYm9vbCBEaWdpdGFsSW5wdXQ6OkdldEFuYWxvZ1RyaWdnZXJGb3JSb3V0aW5nKCkNCi17DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLyoqDQotICogUmVxdWVzdCBpbnRlcnJ1cHRzIGFzeW5jaHJvbm91c2x5IG9uIHRoaXMgZGlnaXRhbCBpbnB1dC4NCi0gKiBAcGFyYW0gaGFuZGxlciBUaGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24gb2YgdHlwZSB0SW50ZXJydXB0SGFuZGxlciB0aGF0DQotICogd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlcmUgaXMgYW4gaW50ZXJydXB0IG9uIHRoZSBkaWdpdGlhbCBpbnB1dCBwb3J0Lg0KLSAqIFJlcXVlc3QgaW50ZXJydXB0cyBpbiBzeW5jaHJvbnVzIG1vZGUgd2hlcmUgdGhlIHVzZXIgcHJvZ3JhbSBpbnRlcnJ1cHQgaGFuZGxlciB3aWxsIGJlDQotICogY2FsbGVkIHdoZW4gYW4gaW50ZXJydXB0IG9jY3Vycy4NCi0gKiBUaGUgZGVmYXVsdCBpcyBpbnRlcnJ1cHQgb24gcmlzaW5nIGVkZ2VzIG9ubHkuDQotICovDQotdm9pZCBEaWdpdGFsSW5wdXQ6OlJlcXVlc3RJbnRlcnJ1cHRzKHRJbnRlcnJ1cHRIYW5kbGVyIGhhbmRsZXIsIHZvaWQgKnBhcmFtKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlVSU5UMzIgaW5kZXggPSBpbnRlcnJ1cHRzUmVzb3VyY2UtPkFsbG9jYXRlKCJBc3luYyBJbnRlcnJ1cHQiKTsNCi0JaWYgKGluZGV4ID09IH4wdWwpDQotCXsNCi0JCUNsb25lRXJyb3IoaW50ZXJydXB0c1Jlc291cmNlKTsNCi0JCXJldHVybjsNCi0JfQ0KLQltX2ludGVycnVwdEluZGV4ID0gaW5kZXg7DQotDQotCSAvLyBDcmVhdGVzIGEgbWFuYWdlciB0b28NCi0JQWxsb2NhdGVJbnRlcnJ1cHRzKGZhbHNlKTsNCi0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19XYWl0Rm9yQWNrKGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQltX2ludGVycnVwdC0+d3JpdGVDb25maWdfU291cmNlX0FuYWxvZ1RyaWdnZXIoR2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1NvdXJjZV9DaGFubmVsKEdldENoYW5uZWxGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19Tb3VyY2VfTW9kdWxlKEdldE1vZHVsZUZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JU2V0VXBTb3VyY2VFZGdlKHRydWUsIGZhbHNlKTsNCi0NCi0JbV9tYW5hZ2VyLT5yZWdpc3RlckhhbmRsZXIoaGFuZGxlciwgcGFyYW0sICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcXVlc3QgaW50ZXJydXB0cyBzeW5jaHJvbm91c2x5IG9uIHRoaXMgZGlnaXRhbCBpbnB1dC4NCi0gKiBSZXF1ZXN0IGludGVycnVwdHMgaW4gc3luY2hyb251cyBtb2RlIHdoZXJlIHRoZSB1c2VyIHByb2dyYW0gd2lsbCBoYXZlIHRvIGV4cGxpY2l0bHkNCi0gKiB3YWl0IGZvciB0aGUgaW50ZXJydXB0IHRvIG9jY3VyLg0KLSAqIFRoZSBkZWZhdWx0IGlzIGludGVycnVwdCBvbiByaXNpbmcgZWRnZXMgb25seS4NCi0gKi8NCi12b2lkIERpZ2l0YWxJbnB1dDo6UmVxdWVzdEludGVycnVwdHMoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlVSU5UMzIgaW5kZXggPSBpbnRlcnJ1cHRzUmVzb3VyY2UtPkFsbG9jYXRlKCJTeW5jIEludGVycnVwdCIpOw0KLQlpZiAoaW5kZXggPT0gfjB1bCkNCi0Jew0KLQkJQ2xvbmVFcnJvcihpbnRlcnJ1cHRzUmVzb3VyY2UpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1faW50ZXJydXB0SW5kZXggPSBpbmRleDsNCi0NCi0JQWxsb2NhdGVJbnRlcnJ1cHRzKHRydWUpOw0KLQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1NvdXJjZV9BbmFsb2dUcmlnZ2VyKEdldEFuYWxvZ1RyaWdnZXJGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19Tb3VyY2VfQ2hhbm5lbChHZXRDaGFubmVsRm9yUm91dGluZygpLCAmbG9jYWxTdGF0dXMpOw0KLQltX2ludGVycnVwdC0+d3JpdGVDb25maWdfU291cmNlX01vZHVsZShHZXRNb2R1bGVGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCVNldFVwU291cmNlRWRnZSh0cnVlLCBmYWxzZSk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLXZvaWQgRGlnaXRhbElucHV0OjpTZXRVcFNvdXJjZUVkZ2UoYm9vbCByaXNpbmdFZGdlLCBib29sIGZhbGxpbmdFZGdlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9pbnRlcnJ1cHQgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgIllvdSBtdXN0IGNhbGwgUmVxdWVzdEludGVycnVwdHMgYmVmb3JlIFNldFVwU291cmNlRWRnZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlpZiAobV9pbnRlcnJ1cHQgIT0gTlVMTCkNCi0Jew0KLQkJbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1Jpc2luZ0VkZ2UocmlzaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19GYWxsaW5nRWRnZShmYWxsaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi12b2lkIERpZ2l0YWxJbnB1dDo6VXBkYXRlVGFibGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dEJvb2xlYW4oIlZhbHVlIiwgR2V0KCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgRGlnaXRhbElucHV0OjpTdGFydExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotdm9pZCBEaWdpdGFsSW5wdXQ6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIERpZ2l0YWxJbnB1dDo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIkRpZ2l0YWxJbnB1dCI7DQotfQ0KLQ0KLXZvaWQgRGlnaXRhbElucHV0OjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIERpZ2l0YWxJbnB1dDo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsSW5wdXQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxJbnB1dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjNmMjVmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxJbnB1dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIERJR0lUQUxfSU5QVVRfSF8NCi0jZGVmaW5lIERJR0lUQUxfSU5QVVRfSF8NCi0NCi1jbGFzcyBEaWdpdGFsTW9kdWxlOw0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsU291cmNlLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvd1NlbmRhYmxlLmgiDQotDQotLyoqDQotICogQ2xhc3MgdG8gcmVhZCBhIGRpZ2l0YWwgaW5wdXQuDQotICogVGhpcyBjbGFzcyB3aWxsIHJlYWQgZGlnaXRhbCBpbnB1dHMgYW5kIHJldHVybiB0aGUgY3VycmVudCB2YWx1ZSBvbiB0aGUgY2hhbm5lbC4gT3RoZXIgZGV2aWNlcw0KLSAqIHN1Y2ggYXMgZW5jb2RlcnMsIGdlYXIgdG9vdGggc2Vuc29ycywgZXRjLiB0aGF0IGFyZSBpbXBsZW1lbnRlZCBlbHNld2hlcmUgd2lsbCBhdXRvbWF0aWNhbGx5DQotICogYWxsb2NhdGUgZGlnaXRhbCBpbnB1dHMgYW5kIG91dHB1dHMgYXMgcmVxdWlyZWQuIFRoaXMgY2xhc3MgaXMgb25seSBmb3IgZGV2aWNlcyBsaWtlIHN3aXRjaGVzDQotICogZXRjLiB0aGF0IGFyZW4ndCBpbXBsZW1lbnRlZCBhbnl3aGVyZSBlbHNlLg0KLSAqLw0KLWNsYXNzIERpZ2l0YWxJbnB1dCA6IHB1YmxpYyBEaWdpdGFsU291cmNlLCBwdWJsaWMgTGl2ZVdpbmRvd1NlbmRhYmxlIHsNCi1wdWJsaWM6DQotCWV4cGxpY2l0IERpZ2l0YWxJbnB1dChVSU5UMzIgY2hhbm5lbCk7DQotCURpZ2l0YWxJbnB1dChVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JdmlydHVhbCB+RGlnaXRhbElucHV0KCk7DQotCVVJTlQzMiBHZXQoKTsNCi0JVUlOVDMyIEdldENoYW5uZWwoKTsNCi0NCi0JLy8gRGlnaXRhbCBTb3VyY2UgSW50ZXJmYWNlDQotCXZpcnR1YWwgVUlOVDMyIEdldENoYW5uZWxGb3JSb3V0aW5nKCk7DQotCXZpcnR1YWwgVUlOVDMyIEdldE1vZHVsZUZvclJvdXRpbmcoKTsNCi0JdmlydHVhbCBib29sIEdldEFuYWxvZ1RyaWdnZXJGb3JSb3V0aW5nKCk7DQotCQ0KLQkvLyBJbnRlcnJ1cHRhYmxlIEludGVyZmFjZQ0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHModEludGVycnVwdEhhbmRsZXIgaGFuZGxlciwgdm9pZCAqcGFyYW09TlVMTCk7IC8vLzwgQXN5bmNocm9udXMgaGFuZGxlciB2ZXJzaW9uLg0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHMoKTsJCS8vLzwgU3luY2hyb251cyBXYWl0IHZlcnNpb24uDQotCXZvaWQgU2V0VXBTb3VyY2VFZGdlKGJvb2wgcmlzaW5nRWRnZSwgYm9vbCBmYWxsaW5nRWRnZSk7DQotDQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXREaWdpdGFsSW5wdXQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotCVVJTlQzMiBtX2NoYW5uZWw7DQotCURpZ2l0YWxNb2R1bGUgKm1fbW9kdWxlOw0KLQlib29sIG1fbGFzdFZhbHVlOw0KLQkNCi0JSVRhYmxlICptX3RhYmxlOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbE1vZHVsZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsTW9kdWxlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGYwYmY4MC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsTW9kdWxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUzMCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotI2luY2x1ZGUgIkkyQy5oIg0KLSNpbmNsdWRlICJQV00uaCINCi0jaW5jbHVkZSAiUmVzb3VyY2UuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxtYXRoLmg+DQotI2luY2x1ZGUgPHRhc2tMaWIuaD4NCi0NCi1zdGF0aWMgUmVzb3VyY2UgKkRJT0NoYW5uZWxzID0gTlVMTDsNCi1zdGF0aWMgUmVzb3VyY2UgKkRPX1BXTUdlbmVyYXRvcnNbdERJTzo6a051bVN5c3RlbXNdID0ge05VTEx9Ow0KLQ0KLS8qKg0KLSAqIEdldCBhbiBpbnN0YW5jZSBvZiBhbiBEaWdpdGFsIE1vZHVsZS4NCi0gKiBTaW5nbGV0b24gZGlnaXRhbCBtb2R1bGUgY3JlYXRpb24gd2hlcmUgYSBtb2R1bGUgaXMgYWxsb2NhdGVkIG9uIHRoZSBmaXJzdCB1c2UNCi0gKiBhbmQgdGhlIHNhbWUgbW9kdWxlIGlzIHJldHVybmVkIG9uIHN1YnNlcXVlbnQgdXNlcy4NCi0gKg0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHRvIGdldCAoMSBvciAyKS4NCi0gKi8NCi1EaWdpdGFsTW9kdWxlKiBEaWdpdGFsTW9kdWxlOjpHZXRJbnN0YW5jZShVSU5UOCBtb2R1bGVOdW1iZXIpDQotew0KLQlpZiAoQ2hlY2tEaWdpdGFsTW9kdWxlKG1vZHVsZU51bWJlcikpDQotCXsNCi0JCXJldHVybiAoRGlnaXRhbE1vZHVsZSAqKUdldE1vZHVsZShuTG9hZE91dDo6a01vZHVsZVR5cGVfRGlnaXRhbCwgbW9kdWxlTnVtYmVyKTsNCi0JfQ0KLQ0KLQkvLyBJZiB0aGlzIHdhc24ndCBjYXVnaHQgYmVmb3JlIG5vdywgbWFrZSBzdXJlIHdlIHNheSB3aGF0J3Mgd3JvbmcgYmVmb3JlIHdlIGNyYXNoDQotCWNoYXIgYnVmWzY0XTsNCi0Jc25wcmludGYoYnVmLCA2NCwgIkRpZ2l0YWwgTW9kdWxlICVkIiwgbW9kdWxlTnVtYmVyKTsNCi0Jd3BpX3NldEdsb2JhbFdQSUVycm9yV2l0aENvbnRleHQoTW9kdWxlSW5kZXhPdXRPZlJhbmdlLCBidWYpOw0KLQ0KLQlyZXR1cm4gTlVMTDsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGFuIGRpZ2l0YWwgbW9kdWxlLg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgZGlnaXRhbCBtb2R1bGUgb2JqZWN0LiBJbml0aWFsaXplIGFsbCB0aGUgcGFyYW1ldGVycw0KLSAqIHRvIHJlYXNvbmFibGUgdmFsdWVzIG9uIHN0YXJ0Lg0KLSAqIFNldHRpbmcgYSBnbG9iYWwgdmFsdWUgb24gYW4gZGlnaXRhbCBtb2R1bGUgY2FuIGJlIGRvbmUgb25seSBvbmNlIHVubGVzcyBzdWJzZXF1ZW50DQotICogdmFsdWVzIGFyZSBzZXQgdGhlIHByZXZpb3VzbHkgc2V0IHZhbHVlLg0KLSAqIERpZ2l0YWwgbW9kdWxlcyBhcmUgYSBzaW5nbGV0b24sIHNvIHRoZSBjb25zdHJ1Y3RvciBpcyBuZXZlciBjYWxsZWQgb3V0c2lkZSBvZiB0aGlzIGNsYXNzLg0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgdG8gY3JlYXRlICgxIG9yIDIpLg0KLSAqLw0KLURpZ2l0YWxNb2R1bGU6OkRpZ2l0YWxNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLQk6IE1vZHVsZShuTG9hZE91dDo6a01vZHVsZVR5cGVfRGlnaXRhbCwgbW9kdWxlTnVtYmVyKQ0KLQksIG1fZnBnYURJTyAoTlVMTCkNCi17DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmRElPQ2hhbm5lbHMsIHRESU86OmtOdW1TeXN0ZW1zICoga0RpZ2l0YWxDaGFubmVscyk7DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmRE9fUFdNR2VuZXJhdG9yc1ttX21vZHVsZU51bWJlciAtIDFdLCB0RElPOjprTnVtRE9fUFdNRHV0eUN5Y2xlRWxlbWVudHMpOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9mcGdhRElPID0gdERJTzo6Y3JlYXRlKG1fbW9kdWxlTnVtYmVyIC0gMSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JLy8gTWFrZSBzdXJlIHRoYXQgdGhlIDk0MDMgSU9Ob2RlIGhhcyBoYWQgYSBjaGFuY2UgdG8gaW5pdGlhbGl6ZSBiZWZvcmUgY29udGludWluZy4NCi0Jd2hpbGUobV9mcGdhRElPLT5yZWFkTG9vcFRpbWluZygmbG9jYWxTdGF0dXMpID09IDApIHRhc2tEZWxheSgxKTsNCi0JaWYgKG1fZnBnYURJTy0+cmVhZExvb3BUaW1pbmcoJmxvY2FsU3RhdHVzKSAhPSBrRXhwZWN0ZWRMb29wVGltaW5nKQ0KLQl7DQotCQljaGFyIGVyclsxMjhdOw0KLQkJc3ByaW50ZihlcnIsICJESU8gTG9vcFRpbWluZzogJWQsIGV4cGVjdGluZzogJWRcbiIsIG1fZnBnYURJTy0+cmVhZExvb3BUaW1pbmcoJmxvY2FsU3RhdHVzKSwga0V4cGVjdGVkTG9vcFRpbWluZyk7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChMb29wVGltaW5nRXJyb3IsIGVycik7DQotCX0NCi0JbV9mcGdhRElPLT53cml0ZVBXTUNvbmZpZ19QZXJpb2QoUFdNOjprRGVmYXVsdFB3bVBlcmlvZCwgJmxvY2FsU3RhdHVzKTsNCi0JbV9mcGdhRElPLT53cml0ZVBXTUNvbmZpZ19NaW5IaWdoKFBXTTo6a0RlZmF1bHRNaW5Qd21IaWdoLCAmbG9jYWxTdGF0dXMpOw0KLQ0KLQkvLyBFbnN1cmUgdGhhdCBQV00gb3V0cHV0IHZhbHVlcyBhcmUgc2V0IHRvIE9GRg0KLQlmb3IgKFVJTlQzMiBwd21faW5kZXggPSAxOyBwd21faW5kZXggPD0ga1B3bUNoYW5uZWxzOyBwd21faW5kZXgrKykNCi0Jew0KLQkJU2V0UFdNKHB3bV9pbmRleCwgUFdNOjprUHdtRGlzYWJsZWQpOw0KLQkJU2V0UFdNUGVyaW9kU2NhbGUocHdtX2luZGV4LCAzKTsgLy8gU2V0IGFsbCB0byA0eCBieSBkZWZhdWx0Lg0KLQl9DQotDQotCS8vIFR1cm4gb2ZmIGFsbCByZWxheSBvdXRwdXRzLg0KLQltX2ZwZ2FESU8tPndyaXRlU2xvd1ZhbHVlX1JlbGF5RndkKDAsICZsb2NhbFN0YXR1cyk7DQotCW1fZnBnYURJTy0+d3JpdGVTbG93VmFsdWVfUmVsYXlSZXYoMCwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JLy8gQ3JlYXRlIGEgc2VtYXBob3JlIHRvIHByb3RlY3QgY2hhbmdlcyB0byB0aGUgZGlnaXRhbCBvdXRwdXQgdmFsdWVzDQotCW1fZGlnaXRhbFNlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fREVMRVRFX1NBRkUgfCBTRU1fSU5WRVJTSU9OX1NBRkUpOw0KLQ0KLQkvLyBDcmVhdGUgYSBzZW1hcGhvcmUgdG8gcHJvdGVjdCBjaGFuZ2VzIHRvIHRoZSByZWxheSB2YWx1ZXMNCi0JbV9yZWxheVNlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fREVMRVRFX1NBRkUgfCBTRU1fSU5WRVJTSU9OX1NBRkUpOw0KLQ0KLQkvLyBDcmVhdGUgYSBzZW1hcGhvcmUgdG8gcHJvdGVjdCBjaGFuZ2VzIHRvIHRoZSBETyBQV00gY29uZmlnDQotCW1fZG9Qd21TZW1hcGhvcmUgPSBzZW1NQ3JlYXRlKFNFTV9RX1BSSU9SSVRZIHwgU0VNX0RFTEVURV9TQUZFIHwgU0VNX0lOVkVSU0lPTl9TQUZFKTsNCi0NCi0JQWRkVG9TaW5nbGV0b25MaXN0KCk7DQotfQ0KLQ0KLURpZ2l0YWxNb2R1bGU6On5EaWdpdGFsTW9kdWxlKCkNCi17DQotCXNlbURlbGV0ZShtX2RvUHdtU2VtYXBob3JlKTsNCi0JbV9kb1B3bVNlbWFwaG9yZSA9IE5VTEw7DQotCXNlbURlbGV0ZShtX3JlbGF5U2VtYXBob3JlKTsNCi0JbV9yZWxheVNlbWFwaG9yZSA9IE5VTEw7DQotCXNlbURlbGV0ZShtX2RpZ2l0YWxTZW1hcGhvcmUpOw0KLQltX2RpZ2l0YWxTZW1hcGhvcmUgPSBOVUxMOw0KLQlkZWxldGUgbV9mcGdhRElPOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgYSBQV00gY2hhbm5lbCB0byB0aGUgZGVzaXJlZCB2YWx1ZS4gVGhlIHZhbHVlcyByYW5nZSBmcm9tIDAgdG8gMjU1IGFuZCB0aGUgcGVyaW9kIGlzIGNvbnRyb2xsZWQNCi0gKiBieSB0aGUgUFdNIFBlcmlvZCBhbmQgTWluSGlnaCByZWdpc3RlcnMuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIHRvIHNldC4NCi0gKiBAcGFyYW0gdmFsdWUgVGhlIFBXTSB2YWx1ZSB0byBzZXQuDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpTZXRQV00oVUlOVDMyIGNoYW5uZWwsIFVJTlQ4IHZhbHVlKQ0KLXsNCi0JQ2hlY2tQV01DaGFubmVsKGNoYW5uZWwpOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9mcGdhRElPLT53cml0ZVBXTVZhbHVlKGNoYW5uZWwgLSAxLCB2YWx1ZSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogR2V0IGEgdmFsdWUgZnJvbSBhIFBXTSBjaGFubmVsLiBUaGUgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAyNTUuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIHRvIHJlYWQgZnJvbS4NCi0gKiBAcmV0dXJuIFRoZSByYXcgUFdNIHZhbHVlLg0KLSAqLw0KLVVJTlQ4IERpZ2l0YWxNb2R1bGU6OkdldFBXTShVSU5UMzIgY2hhbm5lbCkNCi17DQotCUNoZWNrUFdNQ2hhbm5lbChjaGFubmVsKTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXJldHVybiBtX2ZwZ2FESU8tPnJlYWRQV01WYWx1ZShjaGFubmVsIC0gMSwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU2V0IGhvdyBob3cgb2Z0ZW4gdGhlIFBXTSBzaWduYWwgaXMgc3F1ZWxjaGVkLCB0aHVzIHNjYWxpbmcgdGhlIHBlcmlvZC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgUFdNIGNoYW5uZWwgdG8gY29uZmlndXJlLg0KLSAqIEBwYXJhbSBzcXVlbGNoTWFzayBUaGUgMi1iaXQgbWFzayBvZiBvdXRwdXRzIHRvIHNxdWVsY2guDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpTZXRQV01QZXJpb2RTY2FsZShVSU5UMzIgY2hhbm5lbCwgVUlOVDMyIHNxdWVsY2hNYXNrKQ0KLXsNCi0JQ2hlY2tQV01DaGFubmVsKGNoYW5uZWwpOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9mcGdhRElPLT53cml0ZVBXTVBlcmlvZFNjYWxlKGNoYW5uZWwgLSAxLCBzcXVlbGNoTWFzaywgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzdGF0ZSBvZiBhIHJlbGF5Lg0KLSAqIFNldCB0aGUgc3RhdGUgb2YgYSByZWxheSBvdXRwdXQgdG8gYmUgZm9yd2FyZC4gUmVsYXlzIGhhdmUgdHdvIG91dHB1dHMgYW5kIGVhY2ggaXMNCi0gKiBpbmRlcGVuZGVudGx5IHNldCB0byAwdiBvciAxMnYuDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpTZXRSZWxheUZvcndhcmQoVUlOVDMyIGNoYW5uZWwsIGJvb2wgb24pDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JQ2hlY2tSZWxheUNoYW5uZWwoY2hhbm5lbCk7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fcmVsYXlTZW1hcGhvcmUpOw0KLQkJVUlOVDggZm9yd2FyZFJlbGF5cyA9IG1fZnBnYURJTy0+cmVhZFNsb3dWYWx1ZV9SZWxheUZ3ZCgmbG9jYWxTdGF0dXMpOw0KLQkJaWYgKG9uKQ0KLQkJCWZvcndhcmRSZWxheXMgfD0gMSA8PCAoY2hhbm5lbCAtIDEpOw0KLQkJZWxzZQ0KLQkJCWZvcndhcmRSZWxheXMgJj0gfigxIDw8IChjaGFubmVsIC0gMSkpOw0KLQkJbV9mcGdhRElPLT53cml0ZVNsb3dWYWx1ZV9SZWxheUZ3ZChmb3J3YXJkUmVsYXlzLCAmbG9jYWxTdGF0dXMpOw0KLQl9DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc3RhdGUgb2YgYSByZWxheS4NCi0gKiBTZXQgdGhlIHN0YXRlIG9mIGEgcmVsYXkgb3V0cHV0IHRvIGJlIHJldmVyc2UuIFJlbGF5cyBoYXZlIHR3byBvdXRwdXRzIGFuZCBlYWNoIGlzDQotICogaW5kZXBlbmRlbnRseSBzZXQgdG8gMHYgb3IgMTJ2Lg0KLSAqLw0KLXZvaWQgRGlnaXRhbE1vZHVsZTo6U2V0UmVsYXlSZXZlcnNlKFVJTlQzMiBjaGFubmVsLCBib29sIG9uKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCUNoZWNrUmVsYXlDaGFubmVsKGNoYW5uZWwpOw0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhtX3JlbGF5U2VtYXBob3JlKTsNCi0JCVVJTlQ4IHJldmVyc2VSZWxheXMgPSBtX2ZwZ2FESU8tPnJlYWRTbG93VmFsdWVfUmVsYXlSZXYoJmxvY2FsU3RhdHVzKTsNCi0JCWlmIChvbikNCi0JCQlyZXZlcnNlUmVsYXlzIHw9IDEgPDwgKGNoYW5uZWwgLSAxKTsNCi0JCWVsc2UNCi0JCQlyZXZlcnNlUmVsYXlzICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCW1fZnBnYURJTy0+d3JpdGVTbG93VmFsdWVfUmVsYXlSZXYocmV2ZXJzZVJlbGF5cywgJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGZvcndhcmQgcmVsYXkgY2hhbm5lbA0KLSAqLw0KLWJvb2wgRGlnaXRhbE1vZHVsZTo6R2V0UmVsYXlGb3J3YXJkKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQ4IGZvcndhcmRSZWxheXMgPSBtX2ZwZ2FESU8tPnJlYWRTbG93VmFsdWVfUmVsYXlGd2QoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIChmb3J3YXJkUmVsYXlzICYgKDEgPDwgKGNoYW5uZWwgLSAxKSkpICE9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbGwgb2YgdGhlIGZvcndhcmQgcmVsYXkgY2hhbm5lbHMgb24gdGhpcyBtb2R1bGUuDQotICovDQotVUlOVDggRGlnaXRhbE1vZHVsZTo6R2V0UmVsYXlGb3J3YXJkKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UOCBmb3J3YXJkUmVsYXlzID0gbV9mcGdhRElPLT5yZWFkU2xvd1ZhbHVlX1JlbGF5RndkKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBmb3J3YXJkUmVsYXlzOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHJldmVyc2UgcmVsYXkgY2hhbm5lbA0KLSAqLw0KLWJvb2wgRGlnaXRhbE1vZHVsZTo6R2V0UmVsYXlSZXZlcnNlKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQ4IHJldmVyc2VSZWxheXMgPSBtX2ZwZ2FESU8tPnJlYWRTbG93VmFsdWVfUmVsYXlSZXYoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIChyZXZlcnNlUmVsYXlzICYgKDEgPDwgKGNoYW5uZWwgLSAxKSkpICE9IDA7DQotCQ0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYWxsIG9mIHRoZSByZXZlcnNlIHJlbGF5IGNoYW5uZWxzIG9uIHRoaXMgbW9kdWxlLg0KLSAqLw0KLVVJTlQ4IERpZ2l0YWxNb2R1bGU6OkdldFJlbGF5UmV2ZXJzZSgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JVUlOVDggcmV2ZXJzZVJlbGF5cyA9IG1fZnBnYURJTy0+cmVhZFNsb3dWYWx1ZV9SZWxheVJldigmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcmV2ZXJzZVJlbGF5czsJDQotfQ0KLQ0KLQ0KLS8qKg0KLSAqIEFsbG9jYXRlIERpZ2l0YWwgSS9PIGNoYW5uZWxzLg0KLSAqIEFsbG9jYXRlIGNoYW5uZWxzIHNvIHRoYXQgdGhleSBhcmUgbm90IGFjY2lkZW50bHkgcmV1c2VkLiBBbHNvIHRoZSBkaXJlY3Rpb24gaXMgc2V0IGF0IHRoZQ0KLSAqIHRpbWUgb2YgdGhlIGFsbG9jYXRpb24uDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIERpZ2l0YWwgSS9PIGNoYW5uZWwNCi0gKiBAcGFyYW0gaW5wdXQgSWYgdHJ1ZSBvcGVuIGFzIGlucHV0OyBpZiBmYWxzZSBvcGVuIGFzIG91dHB1dA0KLSAqIEByZXR1cm4gV2FzIHN1Y2Nlc3NmdWxseSBhbGxvY2F0ZWQNCi0gKi8NCi1ib29sIERpZ2l0YWxNb2R1bGU6OkFsbG9jYXRlRElPKFVJTlQzMiBjaGFubmVsLCBib29sIGlucHV0KQ0KLXsNCi0JY2hhciBidWZbNjRdOw0KLQlzbnByaW50ZihidWYsIDY0LCAiRElPICVkIChNb2R1bGUgJWQpIiwgY2hhbm5lbCwgbV9tb2R1bGVOdW1iZXIpOw0KLQlpZiAoRElPQ2hhbm5lbHMtPkFsbG9jYXRlKGtEaWdpdGFsQ2hhbm5lbHMgKiAobV9tb2R1bGVOdW1iZXIgLSAxKSArIGNoYW5uZWwgLSAxLCBidWYpID09IH4wdWwpIHJldHVybiBmYWxzZTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fZGlnaXRhbFNlbWFwaG9yZSk7DQotCQlVSU5UMzIgYml0VG9TZXQgPSAxIDw8IChSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSk7DQotCQlVSU5UMzIgb3V0cHV0RW5hYmxlID0gbV9mcGdhRElPLT5yZWFkT3V0cHV0RW5hYmxlKCZsb2NhbFN0YXR1cyk7DQotCQlVSU5UMzIgb3V0cHV0RW5hYmxlVmFsdWU7DQotCQlpZiAoaW5wdXQpDQotCQl7DQotCQkJb3V0cHV0RW5hYmxlVmFsdWUgPSBvdXRwdXRFbmFibGUgJiAofmJpdFRvU2V0KTsgLy8gY2xlYXIgdGhlIGJpdCBmb3IgcmVhZA0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCW91dHB1dEVuYWJsZVZhbHVlID0gb3V0cHV0RW5hYmxlIHwgYml0VG9TZXQ7IC8vIHNldCB0aGUgYml0IGZvciB3cml0ZQ0KLQkJfQ0KLQkJbV9mcGdhRElPLT53cml0ZU91dHB1dEVuYWJsZShvdXRwdXRFbmFibGVWYWx1ZSwgJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gdHJ1ZTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2UgYXNzb2NpYXRlZCB3aXRoIGEgZGlnaXRhbCBJL08gY2hhbm5lbC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRGlnaXRhbCBJL08gY2hhbm5lbCB0byBmcmVlDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpGcmVlRElPKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JRElPQ2hhbm5lbHMtPkZyZWUoa0RpZ2l0YWxDaGFubmVscyAqIChtX21vZHVsZU51bWJlciAtIDEpICsgY2hhbm5lbCAtIDEpOw0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSBhIGRpZ2l0YWwgSS9PIGJpdCB0byB0aGUgRlBHQS4NCi0gKiBTZXQgYSBzaW5nbGUgdmFsdWUgb24gYSBkaWdpdGFsIEkvTyBjaGFubmVsLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBEaWdpdGFsIEkvTyBjaGFubmVsDQotICogQHBhcmFtIHZhbHVlIFRoZSBzdGF0ZSB0byBzZXQgdGhlIGRpZ2l0YWwgY2hhbm5lbCAoaWYgaXQgaXMgY29uZmlndXJlZCBhcyBhbiBvdXRwdXQpDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpTZXRESU8oVUlOVDMyIGNoYW5uZWwsIHNob3J0IHZhbHVlKQ0KLXsNCi0JaWYgKHZhbHVlICE9IDAgJiYgdmFsdWUgIT0gMSkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKE5vbkJpbmFyeURpZ2l0YWxWYWx1ZSk7DQotCQlpZiAodmFsdWUgIT0gMCkNCi0JCQl2YWx1ZSA9IDE7DQotCX0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fZGlnaXRhbFNlbWFwaG9yZSk7DQotCQlVSU5UMTYgY3VycmVudERJTyA9IG1fZnBnYURJTy0+cmVhZERPKCZsb2NhbFN0YXR1cyk7DQotCQlpZih2YWx1ZSA9PSAwKQ0KLQkJew0KLQkJCWN1cnJlbnRESU8gPSBjdXJyZW50RElPICYgfigxIDw8IFJlbWFwRGlnaXRhbENoYW5uZWwoY2hhbm5lbCAtIDEpKTsNCi0JCX0NCi0JCWVsc2UgaWYgKHZhbHVlID09IDEpDQotCQl7DQotCQkJY3VycmVudERJTyA9IGN1cnJlbnRESU8gfCAoMSA8PCBSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSk7DQotCQl9IA0KLQkJbV9mcGdhRElPLT53cml0ZURPKGN1cnJlbnRESU8sICZsb2NhbFN0YXR1cyk7DQotCX0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogUmVhZCBhIGRpZ2l0YWwgSS9PIGJpdCBmcm9tIHRoZSBGUEdBLg0KLSAqIEdldCBhIHNpbmdsZSB2YWx1ZSBmcm9tIGEgZGlnaXRhbCBJL08gY2hhbm5lbC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgZGlnaXRhbCBJL08gY2hhbm5lbA0KLSAqIEByZXR1cm4gVGhlIHN0YXRlIG9mIHRoZSBzcGVjaWZpZWQgY2hhbm5lbA0KLSAqLw0KLWJvb2wgRGlnaXRhbE1vZHVsZTo6R2V0RElPKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQzMiBjdXJyZW50RElPID0gbV9mcGdhRElPLT5yZWFkREkoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JLy9TaGlmdCAwMDAwMDAwMSBvdmVyIGNoYW5uZWwtMSBwbGFjZXMuDQotCS8vQU5EIGl0IGFnYWluc3QgdGhlIGN1cnJlbnRESU8NCi0JLy9pZiBpdCA9PSAwLCB0aGVuIHJldHVybiBmYWxzZQ0KLQkvL2Vsc2UgcmV0dXJuIHRydWUNCi0JcmV0dXJuICgoY3VycmVudERJTyA+PiBSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSkgJiAxKSAhPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIHRoZSBzdGF0ZSBvZiBhbGwgdGhlIERpZ2l0YWwgSS9PIGxpbmVzIGZyb20gdGhlIEZQR0ENCi0gKiBUaGVzZSBhcmUgbm90IHJlbWFwcGVkIHRvIGxvZ2ljYWwgb3JkZXIuICBUaGV5IGFyZSBzdGlsbCBpbiBoYXJkd2FyZSBvcmRlci4NCi0gKi8NCi1VSU5UMTYgRGlnaXRhbE1vZHVsZTo6R2V0RElPKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgY3VycmVudERJTyA9IG1fZnBnYURJTy0+cmVhZERJKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBjdXJyZW50RElPOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIHRoZSBkaXJlY3Rpb24gb2YgYSB0aGUgRGlnaXRhbCBJL08gbGluZXMNCi0gKiBBIDEgYml0IG1lYW5zIG91dHB1dCBhbmQgYSAwIGJpdCBtZWFucyBpbnB1dC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgZGlnaXRhbCBJL08gY2hhbm5lbA0KLSAqIEByZXR1cm4gVGhlIGRpcmVjdGlvbiBvZiB0aGUgc3BlY2lmaWVkIGNoYW5uZWwNCi0gKi8NCi1ib29sIERpZ2l0YWxNb2R1bGU6OkdldERJT0RpcmVjdGlvbihVSU5UMzIgY2hhbm5lbCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgY3VycmVudE91dHB1dEVuYWJsZSA9IG1fZnBnYURJTy0+cmVhZE91dHB1dEVuYWJsZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQkNCi0JLy9TaGlmdCAwMDAwMDAwMSBvdmVyIGNoYW5uZWwtMSBwbGFjZXMuDQotCS8vQU5EIGl0IGFnYWluc3QgdGhlIGN1cnJlbnRPdXRwdXRFbmFibGUNCi0JLy9pZiBpdCA9PSAwLCB0aGVuIHJldHVybiBmYWxzZQ0KLQkvL2Vsc2UgcmV0dXJuIHRydWUNCi0JcmV0dXJuICgoY3VycmVudE91dHB1dEVuYWJsZSA+PiBSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSkgJiAxKSAhPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIHRoZSBkaXJlY3Rpb24gb2YgYWxsIHRoZSBEaWdpdGFsIEkvTyBsaW5lcyBmcm9tIHRoZSBGUEdBDQotICogQSAxIGJpdCBtZWFucyBvdXRwdXQgYW5kIGEgMCBiaXQgbWVhbnMgaW5wdXQuDQotICogVGhlc2UgYXJlIG5vdCByZW1hcHBlZCB0byBsb2dpY2FsIG9yZGVyLiAgVGhleSBhcmUgc3RpbGwgaW4gaGFyZHdhcmUgb3JkZXIuDQotICovDQotVUlOVDE2IERpZ2l0YWxNb2R1bGU6OkdldERJT0RpcmVjdGlvbigpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JVUlOVDMyIGN1cnJlbnRPdXRwdXRFbmFibGUgPSBtX2ZwZ2FESU8tPnJlYWRPdXRwdXRFbmFibGUoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIGN1cnJlbnRPdXRwdXRFbmFibGU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdlbmVyYXRlIGEgc2luZ2xlIHB1bHNlLg0KLSAqIFdyaXRlIGEgcHVsc2UgdG8gdGhlIHNwZWNpZmllZCBkaWdpdGFsIG91dHB1dCBjaGFubmVsLiBUaGVyZSBjYW4gb25seSBiZSBhIHNpbmdsZSBwdWxzZSBnb2luZyBhdCBhbnkgdGltZS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRGlnaXRhbCBPdXRwdXQgY2hhbm5lbCB0aGF0IHRoZSBwdWxzZSBzaG91bGQgYmUgb3V0cHV0IG9uDQotICogQHBhcmFtIHB1bHNlTGVuZ3RoIFRoZSBhY3RpdmUgbGVuZ3RoIG9mIHRoZSBwdWxzZSAoaW4gc2Vjb25kcykNCi0gKi8NCi12b2lkIERpZ2l0YWxNb2R1bGU6OlB1bHNlKFVJTlQzMiBjaGFubmVsLCBmbG9hdCBwdWxzZUxlbmd0aCkNCi17DQotCVVJTlQxNiBtYXNrID0gMSA8PCBSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fZnBnYURJTy0+d3JpdGVQdWxzZUxlbmd0aCgoVUlOVDgpKDEuMGU5ICogcHVsc2VMZW5ndGggLyAobV9mcGdhRElPLT5yZWFkTG9vcFRpbWluZygmbG9jYWxTdGF0dXMpICogMjUpKSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9mcGdhRElPLT53cml0ZVB1bHNlKG1hc2ssICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIGEgRElPIGxpbmUgdG8gc2VlIGlmIGl0IGlzIGN1cnJlbnRseSBnZW5lcmF0aW5nIGEgcHVsc2UuDQotICogDQotICogQHJldHVybiBBIHB1bHNlIGlzIGluIHByb2dyZXNzDQotICovDQotYm9vbCBEaWdpdGFsTW9kdWxlOjpJc1B1bHNpbmcoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlVSU5UMTYgbWFzayA9IDEgPDwgUmVtYXBEaWdpdGFsQ2hhbm5lbChjaGFubmVsIC0gMSk7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMTYgcHVsc2VSZWdpc3RlciA9IG1fZnBnYURJTy0+cmVhZFB1bHNlKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiAocHVsc2VSZWdpc3RlciAmIG1hc2spICE9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIGlmIGFueSBESU8gbGluZSBpcyBjdXJyZW50bHkgZ2VuZXJhdGluZyBhIHB1bHNlLg0KLSAqIA0KLSAqIEByZXR1cm4gQSBwdWxzZSBvbiBzb21lIGxpbmUgaXMgaW4gcHJvZ3Jlc3MNCi0gKi8NCi1ib29sIERpZ2l0YWxNb2R1bGU6OklzUHVsc2luZygpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JVUlOVDE2IHB1bHNlUmVnaXN0ZXIgPSBtX2ZwZ2FESU8tPnJlYWRQdWxzZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcHVsc2VSZWdpc3RlciAhPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBBbGxvY2F0ZSBhIERPIFBXTSBHZW5lcmF0b3IuDQotICogQWxsb2NhdGUgUFdNIGdlbmVyYXRvcnMgc28gdGhhdCB0aGV5IGFyZSBub3QgYWNjaWRlbnRseSByZXVzZWQuDQotICogDQotICogQHJldHVybiBQV00gR2VuZXJhdG9yIHJlZm51bQ0KLSAqLw0KLVVJTlQzMiBEaWdpdGFsTW9kdWxlOjpBbGxvY2F0ZURPX1BXTSgpDQotew0KLQljaGFyIGJ1Zls2NF07DQotCXNucHJpbnRmKGJ1ZiwgNjQsICJET19QV00gKE1vZHVsZTogJWQpIiwgbV9tb2R1bGVOdW1iZXIpOw0KLQlyZXR1cm4gRE9fUFdNR2VuZXJhdG9yc1sobV9tb2R1bGVOdW1iZXIgLSAxKV0tPkFsbG9jYXRlKGJ1Zik7DQotfQ0KLQ0KLS8qKg0KLSAqIEZyZWUgdGhlIHJlc291cmNlIGFzc29jaWF0ZWQgd2l0aCBhIERPIFBXTSBnZW5lcmF0b3IuDQotICogDQotICogQHBhcmFtIHB3bUdlbmVyYXRvciBUaGUgcHdtR2VuIHRvIGZyZWUgdGhhdCB3YXMgYWxsb2NhdGVkIHdpdGggQWxsb2NhdGVET19QV00oKQ0KLSAqLw0KLXZvaWQgRGlnaXRhbE1vZHVsZTo6RnJlZURPX1BXTShVSU5UMzIgcHdtR2VuZXJhdG9yKQ0KLXsNCi0JaWYgKHB3bUdlbmVyYXRvciA9PSB+MHVsKSByZXR1cm47DQotCURPX1BXTUdlbmVyYXRvcnNbKG1fbW9kdWxlTnVtYmVyIC0gMSldLT5GcmVlKHB3bUdlbmVyYXRvcik7DQotfQ0KLQ0KLS8qKg0KLSAqIENoYW5nZSB0aGUgZnJlcXVlbmN5IG9mIHRoZSBETyBQV00gZ2VuZXJhdG9yLg0KLSAqIA0KLSAqIFRoZSB2YWxpZCByYW5nZSBpcyBmcm9tIDAuNiBIeiB0byAxOSBrSHouICBUaGUgZnJlcXVlbmN5IHJlc29sdXRpb24gaXMgbG9nYXJpdGhtaWMuDQotICogDQotICogQHBhcmFtIHJhdGUgVGhlIGZyZXF1ZW5jeSB0byBvdXRwdXQgYWxsIGRpZ2l0YWwgb3V0cHV0IFBXTSBzaWduYWxzIG9uIHRoaXMgbW9kdWxlLg0KLSAqLw0KLXZvaWQgRGlnaXRhbE1vZHVsZTo6U2V0RE9fUFdNUmF0ZShmbG9hdCByYXRlKQ0KLXsNCi0JLy8gQ3VycmVudGx5IHJvdW5kaW5nIGluIHRoZSBsb2cgcmF0ZSBkb21haW4uLi4gaGVhdnkgd2VpZ2h0IHRvd2FyZCBwaWNraW5nIGEgaGlnaGVyIGZyZXEuDQotCS8vIFRPRE86IFJvdW5kIGluIHRoZSBsaW5lYXIgcmF0ZSBkb21haW4uDQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UOCBwd21QZXJpb2RQb3dlciA9IChVSU5UOCkobG9nKDEuMCAvIChtX2ZwZ2FESU8tPnJlYWRMb29wVGltaW5nKCZsb2NhbFN0YXR1cykgKiAwLjI1RS02ICogcmF0ZSkpL2xvZygyLjApICsgMC41KTsNCi0JbV9mcGdhRElPLT53cml0ZURPX1BXTUNvbmZpZ19QZXJpb2RQb3dlcihwd21QZXJpb2RQb3dlciwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHdoaWNoIERPIGNoYW5uZWwgdGhlIFBXTSBzaWdhbmwgaXMgb3V0cHV0IG9uDQotICogDQotICogQHBhcmFtIHB3bUdlbmVyYXRvciBUaGUgZ2VuZXJhdG9yIGluZGV4IHJlc2VydmVkIGJ5IEFsbG9jYXRlRE9fUFdNKCkNCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRGlnaXRhbCBPdXRwdXQgY2hhbm5lbCB0byBvdXRwdXQgb24NCi0gKi8NCi12b2lkIERpZ2l0YWxNb2R1bGU6OlNldERPX1BXTU91dHB1dENoYW5uZWwoVUlOVDMyIHB3bUdlbmVyYXRvciwgVUlOVDMyIGNoYW5uZWwpDQotew0KLQlpZiAocHdtR2VuZXJhdG9yID09IH4wdWwpIHJldHVybjsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXN3aXRjaChwd21HZW5lcmF0b3IpDQotCXsNCi0JY2FzZSAwOg0KLQkJbV9mcGdhRElPLT53cml0ZURPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMChSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSwgJmxvY2FsU3RhdHVzKTsNCi0JCWJyZWFrOw0KLQljYXNlIDE6DQotCQltX2ZwZ2FESU8tPndyaXRlRE9fUFdNQ29uZmlnX091dHB1dFNlbGVjdF8xKFJlbWFwRGlnaXRhbENoYW5uZWwoY2hhbm5lbCAtIDEpLCAmbG9jYWxTdGF0dXMpOw0KLQkJYnJlYWs7DQotCWNhc2UgMjoNCi0JCW1fZnBnYURJTy0+d3JpdGVET19QV01Db25maWdfT3V0cHV0U2VsZWN0XzIoUmVtYXBEaWdpdGFsQ2hhbm5lbChjaGFubmVsIC0gMSksICZsb2NhbFN0YXR1cyk7DQotCQlicmVhazsNCi0JY2FzZSAzOg0KLQkJbV9mcGdhRElPLT53cml0ZURPX1BXTUNvbmZpZ19PdXRwdXRTZWxlY3RfMyhSZW1hcERpZ2l0YWxDaGFubmVsKGNoYW5uZWwgLSAxKSwgJmxvY2FsU3RhdHVzKTsNCi0JCWJyZWFrOw0KLQl9DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgZHV0eS1jeWNsZSBvZiB0aGUgUFdNIGdlbmVyYXRvcg0KLSAqIA0KLSAqIEBwYXJhbSBwd21HZW5lcmF0b3IgVGhlIGdlbmVyYXRvciBpbmRleCByZXNlcnZlZCBieSBBbGxvY2F0ZURPX1BXTSgpDQotICogQHBhcmFtIGR1dHlDeWNsZSBUaGUgcGVyY2VudCBkdXR5IGN5Y2xlIHRvIG91dHB1dCBbMC4uMV0uDQotICovDQotdm9pZCBEaWdpdGFsTW9kdWxlOjpTZXRET19QV01EdXR5Q3ljbGUoVUlOVDMyIHB3bUdlbmVyYXRvciwgZmxvYXQgZHV0eUN5Y2xlKQ0KLXsNCi0JaWYgKHB3bUdlbmVyYXRvciA9PSB+MHVsKSByZXR1cm47DQotCWlmIChkdXR5Q3ljbGUgPiAxLjApIGR1dHlDeWNsZSA9IDEuMDsNCi0JaWYgKGR1dHlDeWNsZSA8IDAuMCkgZHV0eUN5Y2xlID0gMC4wOw0KLQlmbG9hdCByYXdEdXR5Q3ljbGUgPSAyNTYuMCAqIGR1dHlDeWNsZTsNCi0JaWYgKHJhd0R1dHlDeWNsZSA+IDI1NS41KSByYXdEdXR5Q3ljbGUgPSAyNTUuNTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fZG9Qd21TZW1hcGhvcmUpOw0KLQkJVUlOVDggcHdtUGVyaW9kUG93ZXIgPSBtX2ZwZ2FESU8tPnJlYWRET19QV01Db25maWdfUGVyaW9kUG93ZXIoJmxvY2FsU3RhdHVzKTsNCi0JCWlmIChwd21QZXJpb2RQb3dlciA8IDQpDQotCQl7DQotCQkJLy8gVGhlIHJlc29sdXRpb24gb2YgdGhlIGR1dHkgY3ljbGUgZHJvcHMgY2xvc2UgdG8gdGhlIGhpZ2hlc3QgZnJlcXVlbmNpZXMuDQotCQkJcmF3RHV0eUN5Y2xlID0gcmF3RHV0eUN5Y2xlIC8gcG93KDIuMCwgNCAtIHB3bVBlcmlvZFBvd2VyKTsNCi0JCX0NCi0JCW1fZnBnYURJTy0+d3JpdGVET19QV01EdXR5Q3ljbGUocHdtR2VuZXJhdG9yLCAoVUlOVDgpcmF3RHV0eUN5Y2xlLCAmbG9jYWxTdGF0dXMpOw0KLQl9DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiBhIHBvaW50ZXIgdG8gYW4gSTJDIG9iamVjdCBmb3IgdGhpcyBkaWdpdGFsIG1vZHVsZQ0KLSAqIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGRlbGV0aW5nIHRoZSBwb2ludGVyLg0KLSAqIA0KLSAqIEBwYXJhbSBhZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2Ugb24gdGhlIEkyQyBidXMNCi0gKiBAcmV0dXJuIEEgcG9pbnRlciB0byBhbiBJMkMgb2JqZWN0IHRvIHRhbGsgdG8gdGhlIGRldmljZSBhdCBhZGRyZXNzDQotICovDQotSTJDKiBEaWdpdGFsTW9kdWxlOjpHZXRJMkMoVUlOVDMyIGFkZHJlc3MpDQotew0KLQlyZXR1cm4gbmV3IEkyQyh0aGlzLCBhZGRyZXNzKTsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbE1vZHVsZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbE1vZHVsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWIxMjMxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxNb2R1bGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBESUdJVEFMX01PRFVMRV9IXw0KLSNkZWZpbmUgRElHSVRBTF9NT0RVTEVfSF8NCi0NCi0jaW5jbHVkZSAiTW9kdWxlLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QuaCINCi0NCi1jbGFzcyBJMkM7DQotDQotY29uc3QgVUlOVDMyIGtFeHBlY3RlZExvb3BUaW1pbmcgPSAyNjA7DQotDQotY2xhc3MgRGlnaXRhbE1vZHVsZTogcHVibGljIE1vZHVsZQ0KLXsNCi0JZnJpZW5kIGNsYXNzIEkyQzsNCi0JZnJpZW5kIGNsYXNzIE1vZHVsZTsNCi0NCi1wcm90ZWN0ZWQ6DQotCWV4cGxpY2l0IERpZ2l0YWxNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKTsNCi0JdmlydHVhbCB+RGlnaXRhbE1vZHVsZSgpOw0KLQ0KLXB1YmxpYzoNCi0Jdm9pZCBTZXRQV00oVUlOVDMyIGNoYW5uZWwsIFVJTlQ4IHZhbHVlKTsNCi0JVUlOVDggR2V0UFdNKFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXRQV01QZXJpb2RTY2FsZShVSU5UMzIgY2hhbm5lbCwgVUlOVDMyIHNxdWVsY2hNYXNrKTsNCi0Jdm9pZCBTZXRSZWxheUZvcndhcmQoVUlOVDMyIGNoYW5uZWwsIGJvb2wgb24pOw0KLQl2b2lkIFNldFJlbGF5UmV2ZXJzZShVSU5UMzIgY2hhbm5lbCwgYm9vbCBvbik7DQotCWJvb2wgR2V0UmVsYXlGb3J3YXJkKFVJTlQzMiBjaGFubmVsKTsNCi0JVUlOVDggR2V0UmVsYXlGb3J3YXJkKCk7DQotCWJvb2wgR2V0UmVsYXlSZXZlcnNlKFVJTlQzMiBjaGFubmVsKTsNCi0JVUlOVDggR2V0UmVsYXlSZXZlcnNlKCk7DQotCWJvb2wgQWxsb2NhdGVESU8oVUlOVDMyIGNoYW5uZWwsIGJvb2wgaW5wdXQpOw0KLQl2b2lkIEZyZWVESU8oVUlOVDMyIGNoYW5uZWwpOw0KLQl2b2lkIFNldERJTyhVSU5UMzIgY2hhbm5lbCwgc2hvcnQgdmFsdWUpOw0KLQlib29sIEdldERJTyhVSU5UMzIgY2hhbm5lbCk7DQotCVVJTlQxNiBHZXRESU8oKTsNCi0JYm9vbCBHZXRESU9EaXJlY3Rpb24oVUlOVDMyIGNoYW5uZWwpOw0KLQlVSU5UMTYgR2V0RElPRGlyZWN0aW9uKCk7DQotCXZvaWQgUHVsc2UoVUlOVDMyIGNoYW5uZWwsIGZsb2F0IHB1bHNlTGVuZ3RoKTsNCi0JYm9vbCBJc1B1bHNpbmcoVUlOVDMyIGNoYW5uZWwpOw0KLQlib29sIElzUHVsc2luZygpOw0KLQlVSU5UMzIgQWxsb2NhdGVET19QV00oKTsNCi0Jdm9pZCBGcmVlRE9fUFdNKFVJTlQzMiBwd21HZW5lcmF0b3IpOw0KLQl2b2lkIFNldERPX1BXTVJhdGUoZmxvYXQgcmF0ZSk7DQotCXZvaWQgU2V0RE9fUFdNRHV0eUN5Y2xlKFVJTlQzMiBwd21HZW5lcmF0b3IsIGZsb2F0IGR1dHlDeWNsZSk7DQotCXZvaWQgU2V0RE9fUFdNT3V0cHV0Q2hhbm5lbChVSU5UMzIgcHdtR2VuZXJhdG9yLCBVSU5UMzIgY2hhbm5lbCk7DQotDQotCUkyQyogR2V0STJDKFVJTlQzMiBhZGRyZXNzKTsNCi0NCi0Jc3RhdGljIERpZ2l0YWxNb2R1bGUqIEdldEluc3RhbmNlKFVJTlQ4IG1vZHVsZU51bWJlcik7DQotCXN0YXRpYyBVSU5UOCBSZW1hcERpZ2l0YWxDaGFubmVsKFVJTlQzMiBjaGFubmVsKSB7IHJldHVybiAxNSAtIGNoYW5uZWw7IH07IC8vIFRPRE86IE5lZWQgY2hhbm5lbCB2YWxpZGF0aW9uDQotCXN0YXRpYyBVSU5UOCBVbm1hcERpZ2l0YWxDaGFubmVsKFVJTlQzMiBjaGFubmVsKSB7IHJldHVybiAxNSAtIGNoYW5uZWw7IH07IC8vIFRPRE86IE5lZWQgY2hhbm5lbCB2YWxpZGF0aW9uDQotDQotcHJpdmF0ZToNCi0JU0VNX0lEIG1fZGlnaXRhbFNlbWFwaG9yZTsNCi0JU0VNX0lEIG1fcmVsYXlTZW1hcGhvcmU7DQotCVNFTV9JRCBtX2RvUHdtU2VtYXBob3JlOw0KLQl0RElPICptX2ZwZ2FESU87DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsT3V0cHV0LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxPdXRwdXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4N2YxMzZjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxPdXRwdXQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzE2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkRpZ2l0YWxPdXRwdXQuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJSZXNvdXJjZS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi1leHRlcm4gUmVzb3VyY2UgKmludGVycnVwdHNSZXNvdXJjZTsNCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgYSBEaWdpdGFsT3V0cHV0Lg0KLSAqIENyZWF0ZXMgYSBkaWdpdGFsIG91dHB1dCBnaXZlbiBhIHNsb3QgYW5kIGNoYW5uZWwuIENvbW1vbiBjcmVhdGlvbiByb3V0aW5lDQotICogZm9yIGFsbCBjb25zdHJ1Y3RvcnMuDQotICovDQotdm9pZCBEaWdpdGFsT3V0cHV0OjpJbml0RGlnaXRhbE91dHB1dChVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCWNoYXIgYnVmWzY0XTsNCi0JaWYgKCFDaGVja0RpZ2l0YWxNb2R1bGUobW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIkRpZ2l0YWwgTW9kdWxlICVkIiwgbW9kdWxlTnVtYmVyKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUNoZWNrRGlnaXRhbENoYW5uZWwoY2hhbm5lbCkpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJEaWdpdGFsIENoYW5uZWwgJWQiLCBjaGFubmVsKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KENoYW5uZWxJbmRleE91dE9mUmFuZ2UsIGJ1Zik7DQotCQlyZXR1cm47DQotCX0NCi0JbV9jaGFubmVsID0gY2hhbm5lbDsNCi0JbV9wd21HZW5lcmF0b3IgPSB+MHVsOw0KLQltX21vZHVsZSA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotCW1fbW9kdWxlLT5BbGxvY2F0ZURJTyhtX2NoYW5uZWwsIGZhbHNlKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RpZ2l0YWxPdXRwdXQsIGNoYW5uZWwsIG1vZHVsZU51bWJlciAtIDEpOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgYSBkaWdpdGFsIG91dHB1dC4NCi0gKiBDcmVhdGUgYSBkaWdpdGFsIG91dHB1dCBnaXZlbiBhIGNoYW5uZWwuIFRoZSBkZWZhdWx0IG1vZHVsZSBpcyB1c2VkLg0KLSAqDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgY2hhbm5lbCAoMS4uMTQpLg0KLSAqLw0KLURpZ2l0YWxPdXRwdXQ6OkRpZ2l0YWxPdXRwdXQoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlJbml0RGlnaXRhbE91dHB1dChHZXREZWZhdWx0RGlnaXRhbE1vZHVsZSgpLCBjaGFubmVsKTsNCi19DQotDQotLyoqDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgZGlnaXRhbCBvdXRwdXQuDQotICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgZGlnaXRhbCBvdXRwdXQgZ2l2ZW4gYSBtb2R1bGUgbnVtYmVyIGFuZCBjaGFubmVsLg0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgY2hhbm5lbCAoMS4uMTQpLg0KLSAqLw0KLURpZ2l0YWxPdXRwdXQ6OkRpZ2l0YWxPdXRwdXQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCUluaXREaWdpdGFsT3V0cHV0KG1vZHVsZU51bWJlciwgY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEZyZWUgdGhlIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBkaWdpdGFsIG91dHB1dC4NCi0gKi8NCi1EaWdpdGFsT3V0cHV0Ojp+RGlnaXRhbE91dHB1dCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCS8vIERpc2FibGUgdGhlIFBXTSBpbiBjYXNlIGl0IHdhcyBydW5uaW5nLg0KLQlEaXNhYmxlUFdNKCk7DQotCW1fbW9kdWxlLT5GcmVlRElPKG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdmFsdWUgb2YgYSBkaWdpdGFsIG91dHB1dC4NCi0gKiBTZXQgdGhlIHZhbHVlIG9mIGEgZGlnaXRhbCBvdXRwdXQgdG8gZWl0aGVyIG9uZSAodHJ1ZSkgb3IgemVybyAoZmFsc2UpLg0KLSAqLw0KLXZvaWQgRGlnaXRhbE91dHB1dDo6U2V0KFVJTlQzMiB2YWx1ZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9tb2R1bGUtPlNldERJTyhtX2NoYW5uZWwsIHZhbHVlKTsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgR1BJTyBjaGFubmVsIG51bWJlciB0aGF0IHRoaXMgb2JqZWN0IHJlcHJlc2VudHMuDQotICovDQotVUlOVDMyIERpZ2l0YWxPdXRwdXQ6OkdldENoYW5uZWwoKQ0KLXsNCi0JcmV0dXJuIG1fY2hhbm5lbDsNCi19DQotDQotLyoqDQotICogT3V0cHV0IGEgc2luZ2xlIHB1bHNlIG9uIHRoZSBkaWdpdGFsIG91dHB1dCBsaW5lLg0KLSAqIFNlbmQgYSBzaW5nbGUgcHVsc2Ugb24gdGhlIGRpZ2l0YWwgb3V0cHV0IGxpbmUgd2hlcmUgdGhlIHB1bHNlIGRpcmF0aW9uIGlzIHNwZWNpZmllZCBpbiBzZWNvbmRzLg0KLSAqIE1heGltdW0gcHVsc2UgbGVuZ3RoIGlzIDAuMDAxNiBzZWNvbmRzLg0KLSAqIEBwYXJhbSBsZW5ndGggVGhlIHB1bHNlbGVuZ3RoIGluIHNlY29uZHMNCi0gKi8NCi12b2lkIERpZ2l0YWxPdXRwdXQ6OlB1bHNlKGZsb2F0IGxlbmd0aCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9tb2R1bGUtPlB1bHNlKG1fY2hhbm5lbCwgbGVuZ3RoKTsNCi19DQotDQotLyoqDQotICogRGV0ZXJtaW5lIGlmIHRoZSBwdWxzZSBpcyBzdGlsbCBnb2luZy4NCi0gKiBEZXRlcm1pbmUgaWYgYSBwcmV2aW91c2x5IHN0YXJ0ZWQgcHVsc2UgaXMgc3RpbGwgZ29pbmcuDQotICovDQotYm9vbCBEaWdpdGFsT3V0cHV0OjpJc1B1bHNpbmcoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIGZhbHNlOw0KLQlyZXR1cm4gbV9tb2R1bGUtPklzUHVsc2luZyhtX2NoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBDaGFuZ2UgdGhlIFBXTSBmcmVxdWVuY3kgb2YgdGhlIFBXTSBvdXRwdXQgb24gYSBEaWdpdGFsIE91dHB1dCBsaW5lLg0KLSAqIA0KLSAqIFRoZSB2YWxpZCByYW5nZSBpcyBmcm9tIDAuNiBIeiB0byAxOSBrSHouICBUaGUgZnJlcXVlbmN5IHJlc29sdXRpb24gaXMgbG9nYXJpdGhtaWMuDQotICogDQotICogVGhlcmUgaXMgb25seSBvbmUgUFdNIGZyZXF1ZW5jeSBwZXIgZGlnaXRhbCBtb2R1bGUuDQotICogDQotICogQHBhcmFtIHJhdGUgVGhlIGZyZXF1ZW5jeSB0byBvdXRwdXQgYWxsIGRpZ2l0YWwgb3V0cHV0IFBXTSBzaWduYWxzIG9uIHRoaXMgbW9kdWxlLg0KLSAqLw0KLXZvaWQgRGlnaXRhbE91dHB1dDo6U2V0UFdNUmF0ZShmbG9hdCByYXRlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQltX21vZHVsZS0+U2V0RE9fUFdNUmF0ZShyYXRlKTsNCi19DQotDQotLyoqDQotICogRW5hYmxlIGEgUFdNIE91dHB1dCBvbiB0aGlzIGxpbmUuDQotICogDQotICogQWxsb2NhdGUgb25lIG9mIHRoZSA0IERPIFBXTSBnZW5lcmF0b3IgcmVzb3VyY2VzIGZyb20gdGhpcyBtb2R1bGUuDQotICogDQotICogU3VwcGx5IHRoZSBpbml0aWFsIGR1dHktY3ljbGUgdG8gb3V0cHV0IHNvIGFzIHRvIGF2b2lkIGEgZ2xpdGNoIHdoZW4gZmlyc3Qgc3RhcnRpbmcuDQotICogDQotICogVGhlIHJlc29sdXRpb24gb2YgdGhlIGR1dHkgY3ljbGUgaXMgOC1iaXQgZm9yIGxvdyBmcmVxdWVuY2llcyAoMWtIeiBvciBsZXNzKQ0KLSAqIGJ1dCBpcyByZWR1Y2VkIHRoZSBoaWdoZXIgdGhlIGZyZXF1ZW5jeSBvZiB0aGUgUFdNIHNpZ25hbCBpcy4NCi0gKiANCi0gKiBAcGFyYW0gaW5pdGlhbER1dHlDeWNsZSBUaGUgZHV0eS1jeWNsZSB0byBzdGFydCBnZW5lcmF0aW5nLiBbMC4uMV0NCi0gKi8NCi12b2lkIERpZ2l0YWxPdXRwdXQ6OkVuYWJsZVBXTShmbG9hdCBpbml0aWFsRHV0eUN5Y2xlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9wd21HZW5lcmF0b3IgIT0gfjB1bCkgcmV0dXJuOw0KLQltX3B3bUdlbmVyYXRvciA9IG1fbW9kdWxlLT5BbGxvY2F0ZURPX1BXTSgpOw0KLQltX21vZHVsZS0+U2V0RE9fUFdNRHV0eUN5Y2xlKG1fcHdtR2VuZXJhdG9yLCBpbml0aWFsRHV0eUN5Y2xlKTsNCi0JbV9tb2R1bGUtPlNldERPX1BXTU91dHB1dENoYW5uZWwobV9wd21HZW5lcmF0b3IsIG1fY2hhbm5lbCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENoYW5nZSB0aGlzIGxpbmUgZnJvbSBhIFBXTSBvdXRwdXQgYmFjayB0byBhIHN0YXRpYyBEaWdpdGFsIE91dHB1dCBsaW5lLg0KLSAqIA0KLSAqIEZyZWUgdXAgb25lIG9mIHRoZSA0IERPIFBXTSBnZW5lcmF0b3IgcmVzb3VyY2VzIHRoYXQgd2VyZSBpbiB1c2UuDQotICovDQotdm9pZCBEaWdpdGFsT3V0cHV0OjpEaXNhYmxlUFdNKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JLy8gRGlzYWJsZSB0aGUgb3V0cHV0IGJ5IHJvdXRpbmcgdG8gYSBkZWFkIGJpdC4NCi0JbV9tb2R1bGUtPlNldERPX1BXTU91dHB1dENoYW5uZWwobV9wd21HZW5lcmF0b3IsIGtEaWdpdGFsQ2hhbm5lbHMpOw0KLQltX21vZHVsZS0+RnJlZURPX1BXTShtX3B3bUdlbmVyYXRvcik7DQotCW1fcHdtR2VuZXJhdG9yID0gfjB1bDsNCi19DQotDQotLyoqDQotICogQ2hhbmdlIHRoZSBkdXR5LWN5Y2xlIHRoYXQgaXMgYmVpbmcgZ2VuZXJhdGVkIG9uIHRoZSBsaW5lLg0KLSAqIA0KLSAqIFRoZSByZXNvbHV0aW9uIG9mIHRoZSBkdXR5IGN5Y2xlIGlzIDgtYml0IGZvciBsb3cgZnJlcXVlbmNpZXMgKDFrSHogb3IgbGVzcykNCi0gKiBidXQgaXMgcmVkdWNlZCB0aGUgaGlnaGVyIHRoZSBmcmVxdWVuY3kgb2YgdGhlIFBXTSBzaWduYWwgaXMuDQotICogDQotICogQHBhcmFtIGR1dHlDeWNsZSBUaGUgZHV0eS1jeWNsZSB0byBjaGFuZ2UgdG8uIFswLi4xXQ0KLSAqLw0KLXZvaWQgRGlnaXRhbE91dHB1dDo6VXBkYXRlRHV0eUN5Y2xlKGZsb2F0IGR1dHlDeWNsZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9tb2R1bGUtPlNldERPX1BXTUR1dHlDeWNsZShtX3B3bUdlbmVyYXRvciwgZHV0eUN5Y2xlKTsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgY2hhbm5lbCBmaWVsZCBvZiBhIHJvdXRpbmcgbXV4Lg0KLSAqLw0KLVVJTlQzMiBEaWdpdGFsT3V0cHV0OjpHZXRDaGFubmVsRm9yUm91dGluZygpDQotew0KLQlyZXR1cm4gRGlnaXRhbE1vZHVsZTo6UmVtYXBEaWdpdGFsQ2hhbm5lbChHZXRDaGFubmVsKCkgLSAxKTsNCi19DQotDQotLyoqDQotICogQHJldHVybiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiB0byB0aGUgbW9kdWxlIGZpZWxkIG9mIGEgcm91dGluZyBtdXguDQotICovDQotVUlOVDMyIERpZ2l0YWxPdXRwdXQ6OkdldE1vZHVsZUZvclJvdXRpbmcoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDA7DQotCXJldHVybiBtX21vZHVsZS0+R2V0TnVtYmVyKCkgLSAxOw0KLX0NCi0NCi0vKioNCi0gKiBAcmV0dXJuIFRoZSB2YWx1ZSB0byBiZSB3cml0dGVuIHRvIHRoZSBhbmFsb2cgdHJpZ2dlciBmaWVsZCBvZiBhIHJvdXRpbmcgbXV4Lg0KLSAqLw0KLWJvb2wgRGlnaXRhbE91dHB1dDo6R2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKQ0KLXsNCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBSZXF1ZXN0IGludGVycnVwdHMgYXN5bmNocm9ub3VzbHkgb24gdGhpcyBkaWdpdGFsIG91dHB1dC4NCi0gKiBAcGFyYW0gaGFuZGxlciBUaGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJydXB0IGhhbmRsZXIgZnVuY3Rpb24gb2YgdHlwZSB0SW50ZXJydXB0SGFuZGxlciB0aGF0DQotICogd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlcmUgaXMgYW4gaW50ZXJydXB0IG9uIHRoZSBkaWdpdGlhbCBvdXRwdXQgcG9ydC4NCi0gKiBSZXF1ZXN0IGludGVycnVwdHMgaW4gc3luY2hyb251cyBtb2RlIHdoZXJlIHRoZSB1c2VyIHByb2dyYW0gaW50ZXJydXB0IGhhbmRsZXIgd2lsbCBiZQ0KLSAqIGNhbGxlZCB3aGVuIGFuIGludGVycnVwdCBvY2N1cnMuDQotICogVGhlIGRlZmF1bHQgaXMgaW50ZXJydXB0IG9uIHJpc2luZyBlZGdlcyBvbmx5Lg0KLSAqLw0KLXZvaWQgRGlnaXRhbE91dHB1dDo6UmVxdWVzdEludGVycnVwdHModEludGVycnVwdEhhbmRsZXIgaGFuZGxlciwgdm9pZCAqcGFyYW0pDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCVVJTlQzMiBpbmRleCA9IGludGVycnVwdHNSZXNvdXJjZS0+QWxsb2NhdGUoIlN5bmMgSW50ZXJydXB0Iik7DQotCWlmIChpbmRleCA9PSB+MHVsKQ0KLQl7DQotCQlDbG9uZUVycm9yKGludGVycnVwdHNSZXNvdXJjZSk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9pbnRlcnJ1cHRJbmRleCA9IGluZGV4Ow0KLQ0KLQkvLyBDcmVhdGVzIGEgbWFuYWdlciB0b28NCi0JQWxsb2NhdGVJbnRlcnJ1cHRzKGZhbHNlKTsNCi0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19XYWl0Rm9yQWNrKGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQltX2ludGVycnVwdC0+d3JpdGVDb25maWdfU291cmNlX0FuYWxvZ1RyaWdnZXIoR2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1NvdXJjZV9DaGFubmVsKEdldENoYW5uZWxGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19Tb3VyY2VfTW9kdWxlKEdldE1vZHVsZUZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JU2V0VXBTb3VyY2VFZGdlKHRydWUsIGZhbHNlKTsNCi0NCi0JbV9tYW5hZ2VyLT5yZWdpc3RlckhhbmRsZXIoaGFuZGxlciwgcGFyYW0sICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcXVlc3QgaW50ZXJydXB0cyBzeW5jaHJvbm91c2x5IG9uIHRoaXMgZGlnaXRhbCBvdXRwdXQuDQotICogUmVxdWVzdCBpbnRlcnJ1cHRzIGluIHN5bmNocm9udXMgbW9kZSB3aGVyZSB0aGUgdXNlciBwcm9ncmFtIHdpbGwgaGF2ZSB0byBleHBsaWNpdGx5DQotICogd2FpdCBmb3IgdGhlIGludGVycnVwdCB0byBvY2N1ci4NCi0gKiBUaGUgZGVmYXVsdCBpcyBpbnRlcnJ1cHQgb24gcmlzaW5nIGVkZ2VzIG9ubHkuDQotICovDQotdm9pZCBEaWdpdGFsT3V0cHV0OjpSZXF1ZXN0SW50ZXJydXB0cygpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCVVJTlQzMiBpbmRleCA9IGludGVycnVwdHNSZXNvdXJjZS0+QWxsb2NhdGUoIlN5bmMgSW50ZXJydXB0Iik7DQotCWlmIChpbmRleCA9PSB+MHVsKQ0KLQl7DQotCQlDbG9uZUVycm9yKGludGVycnVwdHNSZXNvdXJjZSk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9pbnRlcnJ1cHRJbmRleCA9IGluZGV4Ow0KLQ0KLQlBbGxvY2F0ZUludGVycnVwdHModHJ1ZSk7DQotDQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2ludGVycnVwdC0+d3JpdGVDb25maWdfU291cmNlX0FuYWxvZ1RyaWdnZXIoR2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1NvdXJjZV9DaGFubmVsKEdldENoYW5uZWxGb3JSb3V0aW5nKCksICZsb2NhbFN0YXR1cyk7DQotCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19Tb3VyY2VfTW9kdWxlKEdldE1vZHVsZUZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JU2V0VXBTb3VyY2VFZGdlKHRydWUsIGZhbHNlKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotdm9pZCBEaWdpdGFsT3V0cHV0OjpTZXRVcFNvdXJjZUVkZ2UoYm9vbCByaXNpbmdFZGdlLCBib29sIGZhbGxpbmdFZGdlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9pbnRlcnJ1cHQgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgIllvdSBtdXN0IGNhbGwgUmVxdWVzdEludGVycnVwdHMgYmVmb3JlIFNldFVwU291cmNlRWRnZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlpZiAobV9pbnRlcnJ1cHQgIT0gTlVMTCkNCi0Jew0KLQkJbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1Jpc2luZ0VkZ2UocmlzaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1faW50ZXJydXB0LT53cml0ZUNvbmZpZ19GYWxsaW5nRWRnZShmYWxsaW5nRWRnZSwgJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi12b2lkIERpZ2l0YWxPdXRwdXQ6OlZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldykgew0KLQlTZXQodmFsdWUuYik7DQotfQ0KLQ0KLXZvaWQgRGlnaXRhbE91dHB1dDo6VXBkYXRlVGFibGUoKSB7DQotfQ0KLQ0KLXZvaWQgRGlnaXRhbE91dHB1dDo6U3RhcnRMaXZlV2luZG93TW9kZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+QWRkVGFibGVMaXN0ZW5lcigiVmFsdWUiLCB0aGlzLCB0cnVlKTsNCi0JfQ0KLX0NCi0NCi12b2lkIERpZ2l0YWxPdXRwdXQ6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UmVtb3ZlVGFibGVMaXN0ZW5lcih0aGlzKTsNCi0JfQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBEaWdpdGFsT3V0cHV0OjpHZXRTbWFydERhc2hib2FyZFR5cGUoKSB7DQotCXJldHVybiAiRGlnaXRhbCBPdXRwdXQiOw0KLX0NCi0NCi12b2lkIERpZ2l0YWxPdXRwdXQ6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogRGlnaXRhbE91dHB1dDo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsT3V0cHV0LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsT3V0cHV0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhMTkzYzcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbE91dHB1dC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIERJR0lUQUxfT1VUUFVUX0hfDQotI2RlZmluZSBESUdJVEFMX09VVFBVVF9IXw0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsU291cmNlLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvd1NlbmRhYmxlLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGVMaXN0ZW5lci5oIg0KLQ0KLWNsYXNzIERpZ2l0YWxNb2R1bGU7DQotDQotLyoqDQotICogQ2xhc3MgdG8gd3JpdGUgdG8gZGlnaXRhbCBvdXRwdXRzLg0KLSAqIFdyaXRlIHZhbHVlcyB0byB0aGUgZGlnaXRhbCBvdXRwdXQgY2hhbm5lbHMuIE90aGVyIGRldmljZXMgaW1wbGVtZW50ZWQgZWxzZXdoZXJlIHdpbGwgYWxsb2NhdGUNCi0gKiBjaGFubmVscyBhdXRvbWF0aWNhbGx5IHNvIGZvciB0aG9zZSBkZXZpY2VzIGl0IHNob3VsZG4ndCBiZSBkb25lIGhlcmUuDQotICovDQotY2xhc3MgRGlnaXRhbE91dHB1dCA6IHB1YmxpYyBEaWdpdGFsU291cmNlLCBwdWJsaWMgSVRhYmxlTGlzdGVuZXIsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUNCi17DQotcHVibGljOg0KLQlleHBsaWNpdCBEaWdpdGFsT3V0cHV0KFVJTlQzMiBjaGFubmVsKTsNCi0JRGlnaXRhbE91dHB1dChVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JdmlydHVhbCB+RGlnaXRhbE91dHB1dCgpOw0KLQl2b2lkIFNldChVSU5UMzIgdmFsdWUpOw0KLQlVSU5UMzIgR2V0Q2hhbm5lbCgpOw0KLQl2b2lkIFB1bHNlKGZsb2F0IGxlbmd0aCk7DQotCWJvb2wgSXNQdWxzaW5nKCk7DQotCXZvaWQgU2V0UFdNUmF0ZShmbG9hdCByYXRlKTsNCi0Jdm9pZCBFbmFibGVQV00oZmxvYXQgaW5pdGlhbER1dHlDeWNsZSk7DQotCXZvaWQgRGlzYWJsZVBXTSgpOw0KLQl2b2lkIFVwZGF0ZUR1dHlDeWNsZShmbG9hdCBkdXR5Q3ljbGUpOw0KLQ0KLQkvLyBEaWdpdGFsIFNvdXJjZSBJbnRlcmZhY2UNCi0JdmlydHVhbCBVSU5UMzIgR2V0Q2hhbm5lbEZvclJvdXRpbmcoKTsNCi0JdmlydHVhbCBVSU5UMzIgR2V0TW9kdWxlRm9yUm91dGluZygpOw0KLQl2aXJ0dWFsIGJvb2wgR2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKTsNCi0JdmlydHVhbCB2b2lkIFJlcXVlc3RJbnRlcnJ1cHRzKHRJbnRlcnJ1cHRIYW5kbGVyIGhhbmRsZXIsIHZvaWQgKnBhcmFtKTsNCi0JdmlydHVhbCB2b2lkIFJlcXVlc3RJbnRlcnJ1cHRzKCk7DQotDQotCXZvaWQgU2V0VXBTb3VyY2VFZGdlKGJvb2wgcmlzaW5nRWRnZSwgYm9vbCBmYWxsaW5nRWRnZSk7DQotCQ0KLQl2aXJ0dWFsIHZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotCXZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpOw0KLQlJVGFibGUgKiBHZXRUYWJsZSgpOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdERpZ2l0YWxPdXRwdXQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotDQotCVVJTlQzMiBtX2NoYW5uZWw7DQotCVVJTlQzMiBtX3B3bUdlbmVyYXRvcjsNCi0JRGlnaXRhbE1vZHVsZSAqbV9tb2R1bGU7DQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsU291cmNlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxTb3VyY2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDgzZjVjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RpZ2l0YWxTb3VyY2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiRGlnaXRhbFNvdXJjZS5oIg0KLQ0KLS8qKg0KLSAqIERpZ2l0YWxTb3VyY2UgZGVzdHJ1Y3Rvci4NCi0gKi8NCi1EaWdpdGFsU291cmNlOjp+RGlnaXRhbFNvdXJjZSgpDQotew0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsU291cmNlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9EaWdpdGFsU291cmNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYTI5NjMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRGlnaXRhbFNvdXJjZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIERJR0lUQUxfU09VUkNFX0gNCi0jZGVmaW5lIERJR0lUQUxfU09VUkNFX0gNCi0NCi0jaW5jbHVkZSAiSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuaCINCi0NCi0vKioNCi0gKiBEaWdpdGFsU291cmNlIEludGVyZmFjZS4NCi0gKiBUaGUgRGlnaXRhbFNvdXJjZSByZXByZXNlbnRzIGFsbCB0aGUgcG9zc2libGUgaW5wdXRzIGZvciBhIGNvdW50ZXIgb3IgYSBxdWFkcmF0dXJlIGVuY29kZXIuIFRoZSBzb3VyY2UgbWF5IGJlDQotICogZWl0aGVyIGEgZGlnaXRhbCBpbnB1dCBvciBhbiBhbmFsb2cgaW5wdXQuIElmIHRoZSBjYWxsZXIganVzdCBwcm92aWRlcyBhIGNoYW5uZWwsIHRoZW4gYSBkaWdpdGFsIGlucHV0IHdpbGwgYmUNCi0gKiBjb25zdHJ1Y3RlZCBhbmQgZnJlZWQgd2hlbiBmaW5pc2hlZCBmb3IgdGhlIHNvdXJjZS4gVGhlIHNvdXJjZSBjYW4gZWl0aGVyIGJlIGEgZGlnaXRhbCBpbnB1dCBvciBhbmFsb2cgdHJpZ2dlcg0KLSAqIGJ1dCBub3QgYm90aC4NCi0gKi8NCi1jbGFzcyBEaWdpdGFsU291cmNlOiBwdWJsaWMgSW50ZXJydXB0YWJsZVNlbnNvckJhc2UNCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5EaWdpdGFsU291cmNlKCk7DQotCXZpcnR1YWwgVUlOVDMyIEdldENoYW5uZWxGb3JSb3V0aW5nKCkgPSAwOw0KLQl2aXJ0dWFsIFVJTlQzMiBHZXRNb2R1bGVGb3JSb3V0aW5nKCkgPSAwOw0KLQl2aXJ0dWFsIGJvb2wgR2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBSZXF1ZXN0SW50ZXJydXB0cyh0SW50ZXJydXB0SGFuZGxlciBoYW5kbGVyLCB2b2lkICpwYXJhbSkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHMoKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Eb3VibGVTb2xlbm9pZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Eb3VibGVTb2xlbm9pZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmY2Y3ZTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRG91YmxlU29sZW5vaWQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTg2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkRvdWJsZVNvbGVub2lkLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxzdHJpbmcuaD4NCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotLyoqDQotICogQ29tbW9uIGZ1bmN0aW9uIHRvIGltcGxlbWVudCBjb25zdHJ1Y3RvciBiZWhhdmlvci4NCi0gKi8NCi12b2lkIERvdWJsZVNvbGVub2lkOjpJbml0U29sZW5vaWQoKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCWNoYXIgYnVmWzY0XTsNCi0JaWYgKCFDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIlNvbGVub2lkIE1vZHVsZSAlZCIsIG1fbW9kdWxlTnVtYmVyKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUNoZWNrU29sZW5vaWRDaGFubmVsKG1fZm9yd2FyZENoYW5uZWwpKQ0KLQl7DQotCQlzbnByaW50ZihidWYsIDY0LCAiU29sZW5vaWQgQ2hhbm5lbCAlZCIsIG1fZm9yd2FyZENoYW5uZWwpOw0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoQ2hhbm5lbEluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUNoZWNrU29sZW5vaWRDaGFubmVsKG1fcmV2ZXJzZUNoYW5uZWwpKQ0KLQl7DQotCQlzbnByaW50ZihidWYsIDY0LCAiU29sZW5vaWQgQ2hhbm5lbCAlZCIsIG1fcmV2ZXJzZUNoYW5uZWwpOw0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoQ2hhbm5lbEluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlSZXNvdXJjZTo6Q3JlYXRlUmVzb3VyY2VPYmplY3QoJm1fYWxsb2NhdGVkLCB0U29sZW5vaWQ6OmtOdW1ETzdfMEVsZW1lbnRzICoga1NvbGVub2lkQ2hhbm5lbHMpOw0KLQ0KLQlzbnByaW50ZihidWYsIDY0LCAiU29sZW5vaWQgJWQgKE1vZHVsZSAlZCkiLCBtX2ZvcndhcmRDaGFubmVsLCBtX21vZHVsZU51bWJlcik7DQotCWlmIChtX2FsbG9jYXRlZC0+QWxsb2NhdGUoKG1fbW9kdWxlTnVtYmVyIC0gMSkgKiBrU29sZW5vaWRDaGFubmVscyArIG1fZm9yd2FyZENoYW5uZWwgLSAxLCBidWYpID09IH4wdWwpDQotCXsNCi0JCUNsb25lRXJyb3IobV9hbGxvY2F0ZWQpOw0KLQkJcmV0dXJuOw0KLQl9DQotCXNucHJpbnRmKGJ1ZiwgNjQsICJTb2xlbm9pZCAlZCAoTW9kdWxlICVkKSIsIG1fcmV2ZXJzZUNoYW5uZWwsIG1fbW9kdWxlTnVtYmVyKTsNCi0JaWYgKG1fYWxsb2NhdGVkLT5BbGxvY2F0ZSgobV9tb2R1bGVOdW1iZXIgLSAxKSAqIGtTb2xlbm9pZENoYW5uZWxzICsgbV9yZXZlcnNlQ2hhbm5lbCAtIDEsIGJ1ZikgPT0gfjB1bCkNCi0Jew0KLQkJQ2xvbmVFcnJvcihtX2FsbG9jYXRlZCk7DQotCQlyZXR1cm47DQotCX0NCi0JbV9mb3J3YXJkTWFzayA9IDEgPDwgKG1fZm9yd2FyZENoYW5uZWwgLSAxKTsNCi0JbV9yZXZlcnNlTWFzayA9IDEgPDwgKG1fcmV2ZXJzZUNoYW5uZWwgLSAxKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1NvbGVub2lkLCBtX2ZvcndhcmRDaGFubmVsLCBtX21vZHVsZU51bWJlciAtIDEpOw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfU29sZW5vaWQsIG1fcmV2ZXJzZUNoYW5uZWwsIG1fbW9kdWxlTnVtYmVyIC0gMSk7DQotCUxpdmVXaW5kb3c6OkdldEluc3RhbmNlKCktPkFkZFNlbnNvcigiRG91YmxlU29sZW5vaWQiLCBtX21vZHVsZU51bWJlciwgbV9mb3J3YXJkQ2hhbm5lbCwgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSBmb3J3YXJkQ2hhbm5lbCBUaGUgZm9yd2FyZCBjaGFubmVsIG9uIHRoZSBtb2R1bGUgdG8gY29udHJvbC4NCi0gKiBAcGFyYW0gcmV2ZXJzZUNoYW5uZWwgVGhlIHJldmVyc2UgY2hhbm5lbCBvbiB0aGUgbW9kdWxlIHRvIGNvbnRyb2wuDQotICovDQotRG91YmxlU29sZW5vaWQ6OkRvdWJsZVNvbGVub2lkKFVJTlQzMiBmb3J3YXJkQ2hhbm5lbCwgVUlOVDMyIHJldmVyc2VDaGFubmVsKQ0KLQk6IFNvbGVub2lkQmFzZSAoR2V0RGVmYXVsdFNvbGVub2lkTW9kdWxlKCkpDQotCSwgbV9mb3J3YXJkQ2hhbm5lbCAoZm9yd2FyZENoYW5uZWwpDQotCSwgbV9yZXZlcnNlQ2hhbm5lbCAocmV2ZXJzZUNoYW5uZWwpDQotew0KLQlJbml0U29sZW5vaWQoKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgc29sZW5vaWQgbW9kdWxlICgxIG9yIDIpLg0KLSAqIEBwYXJhbSBmb3J3YXJkQ2hhbm5lbCBUaGUgZm9yd2FyZCBjaGFubmVsIG9uIHRoZSBtb2R1bGUgdG8gY29udHJvbC4NCi0gKiBAcGFyYW0gcmV2ZXJzZUNoYW5uZWwgVGhlIHJldmVyc2UgY2hhbm5lbCBvbiB0aGUgbW9kdWxlIHRvIGNvbnRyb2wuDQotICovDQotRG91YmxlU29sZW5vaWQ6OkRvdWJsZVNvbGVub2lkKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGZvcndhcmRDaGFubmVsLCBVSU5UMzIgcmV2ZXJzZUNoYW5uZWwpDQotCTogU29sZW5vaWRCYXNlIChtb2R1bGVOdW1iZXIpDQotCSwgbV9mb3J3YXJkQ2hhbm5lbCAoZm9yd2FyZENoYW5uZWwpDQotCSwgbV9yZXZlcnNlQ2hhbm5lbCAocmV2ZXJzZUNoYW5uZWwpDQotew0KLQlJbml0U29sZW5vaWQoKTsNCi19DQotDQotLyoqDQotICogRGVzdHJ1Y3Rvci4NCi0gKi8NCi1Eb3VibGVTb2xlbm9pZDo6fkRvdWJsZVNvbGVub2lkKCkNCi17DQotCWlmIChDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJbV9hbGxvY2F0ZWQtPkZyZWUoKG1fbW9kdWxlTnVtYmVyIC0gMSkgKiBrU29sZW5vaWRDaGFubmVscyArIG1fZm9yd2FyZENoYW5uZWwgLSAxKTsNCi0JCW1fYWxsb2NhdGVkLT5GcmVlKChtX21vZHVsZU51bWJlciAtIDEpICoga1NvbGVub2lkQ2hhbm5lbHMgKyBtX3JldmVyc2VDaGFubmVsIC0gMSk7DQotCX0NCi19DQotDQotLyoqDQotICogU2V0IHRoZSB2YWx1ZSBvZiBhIHNvbGVub2lkLg0KLSAqIA0KLSAqIEBwYXJhbSB2YWx1ZSBNb3ZlIHRoZSBzb2xlbm9pZCB0byBmb3J3YXJkLCByZXZlcnNlLCBvciBkb24ndCBtb3ZlIGl0Lg0KLSAqLw0KLXZvaWQgRG91YmxlU29sZW5vaWQ6OlNldChWYWx1ZSB2YWx1ZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JVUlOVDggcmF3VmFsdWUgPSAweDAwOw0KLQ0KLQlzd2l0Y2godmFsdWUpDQotCXsNCi0JY2FzZSBrT2ZmOg0KLQkJcmF3VmFsdWUgPSAweDAwOw0KLQkJYnJlYWs7DQotCWNhc2Uga0ZvcndhcmQ6DQotCQlyYXdWYWx1ZSA9IG1fZm9yd2FyZE1hc2s7DQotCQlicmVhazsNCi0JY2FzZSBrUmV2ZXJzZToNCi0JCXJhd1ZhbHVlID0gbV9yZXZlcnNlTWFzazsNCi0JCWJyZWFrOw0KLQl9DQotDQotCVNvbGVub2lkQmFzZTo6U2V0KHJhd1ZhbHVlLCBtX2ZvcndhcmRNYXNrIHwgbV9yZXZlcnNlTWFzayk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNvbGVub2lkLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNvbGVub2lkLg0KLSAqLw0KLURvdWJsZVNvbGVub2lkOjpWYWx1ZSBEb3VibGVTb2xlbm9pZDo6R2V0KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiBrT2ZmOw0KLQlVSU5UOCB2YWx1ZSA9IEdldEFsbCgpOw0KLQ0KLQlpZiAodmFsdWUgJiBtX2ZvcndhcmRNYXNrKSByZXR1cm4ga0ZvcndhcmQ7DQotCWlmICh2YWx1ZSAmIG1fcmV2ZXJzZU1hc2spIHJldHVybiBrUmV2ZXJzZTsNCi0JcmV0dXJuIGtPZmY7DQotfQ0KLQ0KLQ0KLQ0KLQ0KLXZvaWQgRG91YmxlU29sZW5vaWQ6OlZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldykgew0KLQlWYWx1ZSBsdmFsdWUgPSBrT2ZmOw0KLQlpZiAoc3RyY21wKChjaGFyKil2YWx1ZS5wdHIsICJGb3J3YXJkIikgPT0gMCkNCi0JCWx2YWx1ZSA9IGtGb3J3YXJkOw0KLQllbHNlIGlmIChzdHJjbXAoKGNoYXIqKXZhbHVlLnB0ciwgIlJldmVyc2UiKSA9PSAwKQ0KLQkJbHZhbHVlID0ga1JldmVyc2U7DQotCVNldChsdmFsdWUpOw0KLX0NCi0NCi12b2lkIERvdWJsZVNvbGVub2lkOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0U3RyaW5nKCJWYWx1ZSIsIChHZXQoKSA9PSBrRm9yd2FyZCA/ICJGb3J3YXJkIiA6IChHZXQoKSA9PSBrUmV2ZXJzZSA/ICJSZXZlcnNlIiA6ICJPZmYiKSkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgRG91YmxlU29sZW5vaWQ6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCVNldChrT2ZmKTsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+QWRkVGFibGVMaXN0ZW5lcigiVmFsdWUiLCB0aGlzLCB0cnVlKTsNCi0JfQ0KLX0NCi0NCi12b2lkIERvdWJsZVNvbGVub2lkOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotCVNldChrT2ZmKTsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UmVtb3ZlVGFibGVMaXN0ZW5lcih0aGlzKTsNCi0JfQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBEb3VibGVTb2xlbm9pZDo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIkRvdWJsZSBTb2xlbm9pZCI7DQotfQ0KLQ0KLXZvaWQgRG91YmxlU29sZW5vaWQ6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogRG91YmxlU29sZW5vaWQ6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRG91YmxlU29sZW5vaWQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RvdWJsZVNvbGVub2lkLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4YjNmOGMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRG91YmxlU29sZW5vaWQuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBET1VCTEVfU09MRU5PSURfSF8NCi0jZGVmaW5lIERPVUJMRV9TT0xFTk9JRF9IXw0KLQ0KLSNpbmNsdWRlICJTb2xlbm9pZEJhc2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZUxpc3RlbmVyLmgiDQotDQotDQotLyoqDQotICogRG91YmxlU29sZW5vaWQgY2xhc3MgZm9yIHJ1bm5pbmcgMiBjaGFubmVscyBvZiBoaWdoIHZvbHRhZ2UgRGlnaXRhbCBPdXRwdXQNCi0gKiAoOTQ3MiBtb2R1bGUpLg0KLSAqIA0KLSAqIFRoZSBEb3VibGVTb2xlbm9pZCBjbGFzcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgcG5ldW1hdGljcyBzb2xlbm9pZHMgdGhhdA0KLSAqIGhhdmUgdHdvIHBvc2l0aW9ucyBjb250cm9sbGVkIGJ5IHR3byBzZXBhcmF0ZSBjaGFubmVscy4NCi0gKi8NCi1jbGFzcyBEb3VibGVTb2xlbm9pZCA6IHB1YmxpYyBTb2xlbm9pZEJhc2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUsIHB1YmxpYyBJVGFibGVMaXN0ZW5lciB7DQotcHVibGljOg0KLQl0eXBlZGVmIGVudW0ge2tPZmYsIGtGb3J3YXJkLCBrUmV2ZXJzZX0gVmFsdWU7DQotDQotCWV4cGxpY2l0IERvdWJsZVNvbGVub2lkKFVJTlQzMiBmb3J3YXJkQ2hhbm5lbCwgVUlOVDMyIHJldmVyc2VDaGFubmVsKTsNCi0JRG91YmxlU29sZW5vaWQoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgZm9yd2FyZENoYW5uZWwsIFVJTlQzMiByZXZlcnNlQ2hhbm5lbCk7DQotCXZpcnR1YWwgfkRvdWJsZVNvbGVub2lkKCk7DQotCXZpcnR1YWwgdm9pZCBTZXQoVmFsdWUgdmFsdWUpOw0KLQl2aXJ0dWFsIFZhbHVlIEdldCgpOw0KLQkNCi0Jdm9pZCBWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpOw0KLQl2b2lkIFVwZGF0ZVRhYmxlKCk7DQotCXZvaWQgU3RhcnRMaXZlV2luZG93TW9kZSgpOw0KLQl2b2lkIFN0b3BMaXZlV2luZG93TW9kZSgpOw0KLQlzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0Jdm9pZCBJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSk7DQotCUlUYWJsZSAqIEdldFRhYmxlKCk7DQotDQotcHJpdmF0ZToNCi0JdmlydHVhbCB2b2lkIEluaXRTb2xlbm9pZCgpOw0KLQ0KLQlVSU5UMzIgbV9mb3J3YXJkQ2hhbm5lbDsgLy8vPCBUaGUgZm9yd2FyZCBjaGFubmVsIG9uIHRoZSBtb2R1bGUgdG8gY29udHJvbC4NCi0JVUlOVDMyIG1fcmV2ZXJzZUNoYW5uZWw7IC8vLzwgVGhlIHJldmVyc2UgY2hhbm5lbCBvbiB0aGUgbW9kdWxlIHRvIGNvbnRyb2wuDQotCVVJTlQ4IG1fZm9yd2FyZE1hc2s7IC8vLzwgVGhlIG1hc2sgZm9yIHRoZSBmb3J3YXJkIGNoYW5uZWwuDQotCVVJTlQ4IG1fcmV2ZXJzZU1hc2s7IC8vLzwgVGhlIG1hc2sgZm9yIHRoZSByZXZlcnNlIGNoYW5uZWwuDQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDY5YWIxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTA2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkRyaXZlclN0YXRpb24uaCINCi0jaW5jbHVkZSAiQW5hbG9nQ2hhbm5lbC5oIg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0jaW5jbHVkZSAiVGltZXIuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vRlJDQ29tbS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJNb3RvclNhZmV0eUhlbHBlci5oIg0KLSNpbmNsdWRlICJVdGlsaXR5LmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxzdHJMaWIuaD4NCi0NCi1jb25zdCBVSU5UMzIgRHJpdmVyU3RhdGlvbjo6a0JhdHRlcnlNb2R1bGVOdW1iZXI7DQotY29uc3QgVUlOVDMyIERyaXZlclN0YXRpb246OmtCYXR0ZXJ5Q2hhbm5lbDsNCi1jb25zdCBVSU5UMzIgRHJpdmVyU3RhdGlvbjo6a0pveXN0aWNrUG9ydHM7DQotY29uc3QgVUlOVDMyIERyaXZlclN0YXRpb246OmtKb3lzdGlja0F4ZXM7DQotY29uc3QgZmxvYXQgRHJpdmVyU3RhdGlvbjo6a1VwZGF0ZVBlcmlvZDsNCi1Ecml2ZXJTdGF0aW9uKiBEcml2ZXJTdGF0aW9uOjptX2luc3RhbmNlID0gTlVMTDsNCi1VSU5UOCBEcml2ZXJTdGF0aW9uOjptX3VwZGF0ZU51bWJlciA9IDA7DQotDQotLyoqDQotICogRHJpdmVyU3RhdGlvbiBjb250cnVjdG9yLg0KLSAqIA0KLSAqIFRoaXMgaXMgb25seSBjYWxsZWQgb25jZSB0aGUgZmlyc3QgdGltZSBHZXRJbnN0YW5jZSgpIGlzIGNhbGxlZA0KLSAqLw0KLURyaXZlclN0YXRpb246OkRyaXZlclN0YXRpb24oKQ0KLQk6IG1fY29udHJvbERhdGEgKE5VTEwpDQotCSwgbV9kaWdpdGFsT3V0ICgwKQ0KLQksIG1fYmF0dGVyeUNoYW5uZWwgKE5VTEwpDQotCSwgbV9zdGF0dXNEYXRhU2VtYXBob3JlIChzZW1NQ3JlYXRlKFNFTV9RX1BSSU9SSVRZIHwgU0VNX0RFTEVURV9TQUZFIHwgU0VNX0lOVkVSU0lPTl9TQUZFKSkNCi0JLCBtX3Rhc2sgKCJEcml2ZXJTdGF0aW9uIiwgKEZVTkNQVFIpRHJpdmVyU3RhdGlvbjo6SW5pdFRhc2spDQotCSwgbV9kYXNoYm9hcmRIaWdoKG1fc3RhdHVzRGF0YVNlbWFwaG9yZSkNCi0JLCBtX2Rhc2hib2FyZExvdyhtX3N0YXR1c0RhdGFTZW1hcGhvcmUpDQotCSwgbV9kYXNoYm9hcmRJblVzZUhpZ2goJm1fZGFzaGJvYXJkSGlnaCkNCi0JLCBtX2Rhc2hib2FyZEluVXNlTG93KCZtX2Rhc2hib2FyZExvdykNCi0JLCBtX25ld0NvbnRyb2xEYXRhKDApDQotCSwgbV9wYWNrZXREYXRhQXZhaWxhYmxlU2VtICgwKQ0KLQksIG1fZW5oYW5jZWRJTygpDQotCSwgbV93YWl0Rm9yRGF0YVNlbSgwKQ0KLQksIG1fYXBwcm94TWF0Y2hUaW1lT2Zmc2V0KC0xLjApDQotCSwgbV91c2VySW5EaXNhYmxlZChmYWxzZSkNCi0JLCBtX3VzZXJJbkF1dG9ub21vdXMoZmFsc2UpDQotCSwgbV91c2VySW5UZWxlb3AoZmFsc2UpDQotCSwgbV91c2VySW5UZXN0KGZhbHNlKQ0KLXsNCi0JLy8gQ3JlYXRlIGEgbmV3IHNlbWFwaG9yZQ0KLQltX3BhY2tldERhdGFBdmFpbGFibGVTZW0gPSBzZW1CQ3JlYXRlIChTRU1fUV9QUklPUklUWSwgU0VNX0VNUFRZKTsNCi0JbV9uZXdDb250cm9sRGF0YSA9IHNlbUJDcmVhdGUgKFNFTV9RX0ZJRk8sIFNFTV9FTVBUWSk7DQotDQotCS8vIFJlZ2lzdGVyIHRoYXQgc2VtYXBob3JlIHdpdGggdGhlIG5ldHdvcmsgY29tbXVuaWNhdGlvbnMgdGFzay4NCi0JLy8gSXQgd2lsbCBzaWduYWwgd2hlbiBuZXcgcGFja2V0IGRhdGEgaXMgYXZhaWxhYmxlLiANCi0Jc2V0TmV3RGF0YVNlbShtX3BhY2tldERhdGFBdmFpbGFibGVTZW0pOw0KLQ0KLQltX3dhaXRGb3JEYXRhU2VtID0gc2VtQkNyZWF0ZSAoU0VNX1FfUFJJT1JJVFksIFNFTV9FTVBUWSk7DQotDQotCW1fY29udHJvbERhdGEgPSBuZXcgRlJDQ29tbW9uQ29udHJvbERhdGE7DQotDQotCS8vIGluaXRpYWxpemUgcGFja2V0IG51bWJlciBhbmQgY29udHJvbCB3b3JkcyB0byB6ZXJvOw0KLQltX2NvbnRyb2xEYXRhLT5wYWNrZXRJbmRleCA9IDA7DQotCW1fY29udHJvbERhdGEtPmNvbnRyb2wgPSAwOw0KLQ0KLQkvLyBzZXQgYWxsIGpveXN0aWNrIGF4aXMgdmFsdWVzIHRvIG5ldXRyYWw7IGJ1dHRvbnMgdG8gT0ZGDQotCW1fY29udHJvbERhdGEtPnN0aWNrMEF4aXMxID0gbV9jb250cm9sRGF0YS0+c3RpY2swQXhpczIgPSBtX2NvbnRyb2xEYXRhLT5zdGljazBBeGlzMyA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMUF4aXMxID0gbV9jb250cm9sRGF0YS0+c3RpY2sxQXhpczIgPSBtX2NvbnRyb2xEYXRhLT5zdGljazFBeGlzMyA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMkF4aXMxID0gbV9jb250cm9sRGF0YS0+c3RpY2syQXhpczIgPSBtX2NvbnRyb2xEYXRhLT5zdGljazJBeGlzMyA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrM0F4aXMxID0gbV9jb250cm9sRGF0YS0+c3RpY2szQXhpczIgPSBtX2NvbnRyb2xEYXRhLT5zdGljazNBeGlzMyA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMEF4aXM0ID0gbV9jb250cm9sRGF0YS0+c3RpY2swQXhpczUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazBBeGlzNiA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMUF4aXM0ID0gbV9jb250cm9sRGF0YS0+c3RpY2sxQXhpczUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazFBeGlzNiA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMkF4aXM0ID0gbV9jb250cm9sRGF0YS0+c3RpY2syQXhpczUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazJBeGlzNiA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrM0F4aXM0ID0gbV9jb250cm9sRGF0YS0+c3RpY2szQXhpczUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazNBeGlzNiA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrMEJ1dHRvbnMgPSAwOw0KLQltX2NvbnRyb2xEYXRhLT5zdGljazFCdXR0b25zID0gMDsNCi0JbV9jb250cm9sRGF0YS0+c3RpY2syQnV0dG9ucyA9IDA7DQotCW1fY29udHJvbERhdGEtPnN0aWNrM0J1dHRvbnMgPSAwOw0KLQ0KLQkvLyBpbml0aWFsaXplIHRoZSBhbmFsb2cgYW5kIGRpZ2l0YWwgZGF0YS4NCi0JbV9jb250cm9sRGF0YS0+YW5hbG9nMSA9IDA7DQotCW1fY29udHJvbERhdGEtPmFuYWxvZzIgPSAwOw0KLQltX2NvbnRyb2xEYXRhLT5hbmFsb2czID0gMDsNCi0JbV9jb250cm9sRGF0YS0+YW5hbG9nNCA9IDA7DQotCW1fY29udHJvbERhdGEtPmRzRGlnaXRhbEluID0gMDsNCi0NCi0JbV9iYXR0ZXJ5Q2hhbm5lbCA9IG5ldyBBbmFsb2dDaGFubmVsKGtCYXR0ZXJ5TW9kdWxlTnVtYmVyLCBrQmF0dGVyeUNoYW5uZWwpOw0KLQ0KLQlBZGRUb1NpbmdsZXRvbkxpc3QoKTsNCi0NCi0JaWYgKCFtX3Rhc2suU3RhcnQoKElOVDMyKXRoaXMpKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRHJpdmVyU3RhdGlvblRhc2tFcnJvcik7DQotCX0NCi19DQotDQotRHJpdmVyU3RhdGlvbjo6fkRyaXZlclN0YXRpb24oKQ0KLXsNCi0JbV90YXNrLlN0b3AoKTsNCi0Jc2VtRGVsZXRlKG1fc3RhdHVzRGF0YVNlbWFwaG9yZSk7DQotCWRlbGV0ZSBtX2JhdHRlcnlDaGFubmVsOw0KLQlkZWxldGUgbV9jb250cm9sRGF0YTsNCi0JbV9pbnN0YW5jZSA9IE5VTEw7DQotCXNlbURlbGV0ZShtX3dhaXRGb3JEYXRhU2VtKTsNCi0JLy8gVW5yZWdpc3RlciBvdXIgc2VtYXBob3JlLg0KLQlzZXROZXdEYXRhU2VtKDApOw0KLQlzZW1EZWxldGUobV9wYWNrZXREYXRhQXZhaWxhYmxlU2VtKTsNCi19DQotDQotdm9pZCBEcml2ZXJTdGF0aW9uOjpJbml0VGFzayhEcml2ZXJTdGF0aW9uICpkcykNCi17DQotCWRzLT5SdW4oKTsNCi19DQotDQotdm9pZCBEcml2ZXJTdGF0aW9uOjpSdW4oKQ0KLXsNCi0JaW50IHBlcmlvZCA9IDA7DQotCXdoaWxlICh0cnVlKQ0KLQl7DQotCQlzZW1UYWtlKG1fcGFja2V0RGF0YUF2YWlsYWJsZVNlbSwgV0FJVF9GT1JFVkVSKTsNCi0JCVNldERhdGEoKTsNCi0JCW1fZW5oYW5jZWRJTy5VcGRhdGVEYXRhKCk7DQotCQlHZXREYXRhKCk7DQotCQlzZW1GbHVzaChtX3dhaXRGb3JEYXRhU2VtKTsNCi0JCWlmICgrK3BlcmlvZCA+PSA0KQ0KLQkJew0KLQkJCU1vdG9yU2FmZXR5SGVscGVyOjpDaGVja01vdG9ycygpOw0KLQkJCXBlcmlvZCA9IDA7DQotCQl9DQotCQlpZiAobV91c2VySW5EaXNhYmxlZCkNCi0JCQlGUkNfTmV0d29ya0NvbW11bmljYXRpb25fb2JzZXJ2ZVVzZXJQcm9ncmFtRGlzYWJsZWQoKTsNCi0JCWlmIChtX3VzZXJJbkF1dG9ub21vdXMpDQotCQkJRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX29ic2VydmVVc2VyUHJvZ3JhbUF1dG9ub21vdXMoKTsNCi0gICAgICAgIGlmIChtX3VzZXJJblRlbGVvcCkNCi0gICAgICAgICAgICBGUkNfTmV0d29ya0NvbW11bmljYXRpb25fb2JzZXJ2ZVVzZXJQcm9ncmFtVGVsZW9wKCk7DQotICAgICAgICBpZiAobV91c2VySW5UZXN0KQ0KLSAgICAgICAgICAgIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1UZXN0KCk7DQotCX0NCi19DQotDQotLyoqDQotICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgc2luZ2xldG9uIERyaXZlclN0YXRpb24uDQotICovDQotRHJpdmVyU3RhdGlvbiogRHJpdmVyU3RhdGlvbjo6R2V0SW5zdGFuY2UoKQ0KLXsNCi0JaWYgKG1faW5zdGFuY2UgPT0gTlVMTCkNCi0Jew0KLQkJbV9pbnN0YW5jZSA9IG5ldyBEcml2ZXJTdGF0aW9uKCk7DQotCX0NCi0JcmV0dXJuIG1faW5zdGFuY2U7DQotfQ0KLQ0KLS8qKg0KLSAqIENvcHkgZGF0YSBmcm9tIHRoZSBEUyB0YXNrIGZvciB0aGUgdXNlci4NCi0gKiBJZiBubyBuZXcgZGF0YSBleGlzdHMsIGl0IHdpbGwganVzdCBiZSByZXR1cm5lZCwgb3RoZXJ3aXNlDQotICogdGhlIGRhdGEgd2lsbCBiZSBjb3BpZWQgZnJvbSB0aGUgRFMgcG9sbGluZyBsb29wLg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbjo6R2V0RGF0YSgpDQotew0KLQlzdGF0aWMgYm9vbCBsYXN0RW5hYmxlZCA9IGZhbHNlOw0KLQlnZXRDb21tb25Db250cm9sRGF0YShtX2NvbnRyb2xEYXRhLCBXQUlUX0ZPUkVWRVIpOw0KLQlpZiAoIWxhc3RFbmFibGVkICYmIElzRW5hYmxlZCgpKSANCi0Jew0KLQkJLy8gSWYgc3RhcnRpbmcgdGVsZW9wLCBhc3N1bWUgdGhhdCBhdXRvbm9tb3VzIGp1c3QgdG9vayB1cCAxNSBzZWNvbmRzDQotCQlpZiAoSXNBdXRvbm9tb3VzKCkpDQotCQkJbV9hcHByb3hNYXRjaFRpbWVPZmZzZXQgPSBUaW1lcjo6R2V0RlBHQVRpbWVzdGFtcCgpOw0KLQkJZWxzZQ0KLQkJCW1fYXBwcm94TWF0Y2hUaW1lT2Zmc2V0ID0gVGltZXI6OkdldEZQR0FUaW1lc3RhbXAoKSAtIDE1LjA7DQotCX0NCi0JZWxzZSBpZiAobGFzdEVuYWJsZWQgJiYgIUlzRW5hYmxlZCgpKQ0KLQl7DQotCQltX2FwcHJveE1hdGNoVGltZU9mZnNldCA9IC0xLjA7DQotCX0NCi0JbGFzdEVuYWJsZWQgPSBJc0VuYWJsZWQoKTsNCi0Jc2VtR2l2ZShtX25ld0NvbnRyb2xEYXRhKTsNCi19DQotDQotLyoqDQotICogQ29weSBzdGF0dXMgZGF0YSBmcm9tIHRoZSBEUyB0YXNrIGZvciB0aGUgdXNlci4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb246OlNldERhdGEoKQ0KLXsNCi0JY2hhciAqdXNlclN0YXR1c0RhdGFIaWdoOw0KLQlJTlQzMiB1c2VyU3RhdHVzRGF0YUhpZ2hTaXplOw0KLQljaGFyICp1c2VyU3RhdHVzRGF0YUxvdzsNCi0JSU5UMzIgdXNlclN0YXR1c0RhdGFMb3dTaXplOw0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3N0YXR1c0RhdGFTZW1hcGhvcmUpOw0KLQ0KLQltX2Rhc2hib2FyZEluVXNlSGlnaC0+R2V0U3RhdHVzQnVmZmVyKCZ1c2VyU3RhdHVzRGF0YUhpZ2gsICZ1c2VyU3RhdHVzRGF0YUhpZ2hTaXplKTsNCi0JbV9kYXNoYm9hcmRJblVzZUxvdy0+R2V0U3RhdHVzQnVmZmVyKCZ1c2VyU3RhdHVzRGF0YUxvdywgJnVzZXJTdGF0dXNEYXRhTG93U2l6ZSk7DQotCXNldFN0YXR1c0RhdGEoR2V0QmF0dGVyeVZvbHRhZ2UoKSwgbV9kaWdpdGFsT3V0LCBtX3VwZGF0ZU51bWJlciwNCi0JCXVzZXJTdGF0dXNEYXRhSGlnaCwgdXNlclN0YXR1c0RhdGFIaWdoU2l6ZSwgdXNlclN0YXR1c0RhdGFMb3csIHVzZXJTdGF0dXNEYXRhTG93U2l6ZSwgV0FJVF9GT1JFVkVSKTsNCi0JDQotCW1fZGFzaGJvYXJkSW5Vc2VIaWdoLT5GbHVzaCgpOw0KLQltX2Rhc2hib2FyZEluVXNlTG93LT5GbHVzaCgpOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIHRoZSBiYXR0ZXJ5IHZvbHRhZ2UgZnJvbSB0aGUgc3BlY2lmaWVkIEFuYWxvZ0NoYW5uZWwuDQotICogDQotICogVGhpcyBhY2Nlc3NvciBhc3N1bWVzIHRoYXQgdGhlIGJhdHRlcnkgdm9sdGFnZSBpcyBiZWluZyBtZWFzdXJlZA0KLSAqIHRocm91Z2ggdGhlIHZvbHRhZ2UgZGl2aWRlciBvbiBhbiBhbmFsb2cgYnJlYWtvdXQuDQotICogDQotICogQHJldHVybiBUaGUgYmF0dGVyeSB2b2x0YWdlLg0KLSAqLw0KLWZsb2F0IERyaXZlclN0YXRpb246OkdldEJhdHRlcnlWb2x0YWdlKCkNCi17DQotCWlmIChtX2JhdHRlcnlDaGFubmVsID09IE5VTEwpDQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotDQotCS8vIFRoZSBBbmFsb2cgYnVtcGVyIGhhcyBhIHZvbHRhZ2UgZGl2aWRlciBvbiB0aGUgYmF0dGVyeSBzb3VyY2UuDQotCS8vIFZiYXR0ICotLS9cL1wvXC0tKiBWc2FtcGxlICotLS9cL1wvXC0tKiBHbmQNCi0JLy8gICAgICAgICA2ODAgT2htcyAgICAgICAgICAgIDEwMDAgT2htcw0KLQlyZXR1cm4gbV9iYXR0ZXJ5Q2hhbm5lbC0+R2V0QXZlcmFnZVZvbHRhZ2UoKSAqICgxNjgwLjAgLyAxMDAwLjApOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHZhbHVlIG9mIHRoZSBheGlzIG9uIGEgam95c3RpY2suDQotICogVGhpcyBkZXBlbmRzIG9uIHRoZSBtYXBwaW5nIG9mIHRoZSBqb3lzdGljayBjb25uZWN0ZWQgdG8gdGhlIHNwZWNpZmllZCBwb3J0Lg0KLSAqIA0KLSAqIEBwYXJhbSBzdGljayBUaGUgam95c3RpY2sgdG8gcmVhZC4NCi0gKiBAcGFyYW0gYXhpcyBUaGUgYW5hbG9nIGF4aXMgdmFsdWUgdG8gcmVhZCBmcm9tIHRoZSBqb3lzdGljay4NCi0gKiBAcmV0dXJuIFRoZSB2YWx1ZSBvZiB0aGUgYXhpcyBvbiB0aGUgam95c3RpY2suDQotICovDQotZmxvYXQgRHJpdmVyU3RhdGlvbjo6R2V0U3RpY2tBeGlzKFVJTlQzMiBzdGljaywgVUlOVDMyIGF4aXMpDQotew0KLQlpZiAoYXhpcyA8IDEgfHwgYXhpcyA+IGtKb3lzdGlja0F4ZXMpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihCYWRKb3lzdGlja0F4aXMpOw0KLQkJcmV0dXJuIDAuMDsNCi0JfQ0KLQ0KLQlJTlQ4IHZhbHVlOw0KLQlzd2l0Y2ggKHN0aWNrKQ0KLQl7DQotCQljYXNlIDE6DQotCQkJdmFsdWUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazBBeGVzW2F4aXMtMV07DQotCQkJYnJlYWs7DQotCQljYXNlIDI6DQotCQkJdmFsdWUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazFBeGVzW2F4aXMtMV07DQotCQkJYnJlYWs7DQotCQljYXNlIDM6DQotCQkJdmFsdWUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazJBeGVzW2F4aXMtMV07DQotCQkJYnJlYWs7DQotCQljYXNlIDQ6DQotCQkJdmFsdWUgPSBtX2NvbnRyb2xEYXRhLT5zdGljazNBeGVzW2F4aXMtMV07DQotCQkJYnJlYWs7DQotCQlkZWZhdWx0Og0KLQkJCXdwaV9zZXRXUElFcnJvcihCYWRKb3lzdGlja0luZGV4KTsNCi0JCQlyZXR1cm4gMC4wOw0KLQl9DQotCQ0KLQlmbG9hdCByZXN1bHQ7DQotCWlmICh2YWx1ZSA8IDApDQotCQlyZXN1bHQgPSAoKGZsb2F0KSB2YWx1ZSkgLyAxMjguMDsNCi0JZWxzZQ0KLQkJcmVzdWx0ID0gKChmbG9hdCkgdmFsdWUpIC8gMTI3LjA7DQotCXdwaV9hc3NlcnQocmVzdWx0IDw9IDEuMCAmJiByZXN1bHQgPj0gLTEuMCk7DQotCWlmIChyZXN1bHQgPiAxLjApDQotCQlyZXN1bHQgPSAxLjA7DQotCWVsc2UgaWYgKHJlc3VsdCA8IC0xLjApDQotCQlyZXN1bHQgPSAtMS4wOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiBUaGUgc3RhdGUgb2YgdGhlIGJ1dHRvbnMgb24gdGhlIGpveXN0aWNrLg0KLSAqIDEyIGJ1dHRvbnMgKDQgbXNiIGFyZSB1bnVzZWQpIGZyb20gdGhlIGpveXN0aWNrLg0KLSAqIA0KLSAqIEBwYXJhbSBzdGljayBUaGUgam95c3RpY2sgdG8gcmVhZC4NCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgYnV0dG9ucyBvbiB0aGUgam95c3RpY2suDQotICovDQotc2hvcnQgRHJpdmVyU3RhdGlvbjo6R2V0U3RpY2tCdXR0b25zKFVJTlQzMiBzdGljaykNCi17DQotCWlmIChzdGljayA8IDEgfHwgc3RpY2sgPiA0KQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgInN0aWNrIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0Iik7DQotDQotCXN3aXRjaCAoc3RpY2spDQotCXsNCi0JY2FzZSAxOg0KLQkJcmV0dXJuIG1fY29udHJvbERhdGEtPnN0aWNrMEJ1dHRvbnM7DQotCWNhc2UgMjoNCi0JCXJldHVybiBtX2NvbnRyb2xEYXRhLT5zdGljazFCdXR0b25zOw0KLQljYXNlIDM6DQotCQlyZXR1cm4gbV9jb250cm9sRGF0YS0+c3RpY2syQnV0dG9uczsNCi0JY2FzZSA0Og0KLQkJcmV0dXJuIG1fY29udHJvbERhdGEtPnN0aWNrM0J1dHRvbnM7DQotCX0NCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLS8vIDVWIGRpdmlkZWQgYnkgMTAgYml0cw0KLSNkZWZpbmUga0RTQW5hbG9nSW5TY2FsaW5nICgoZmxvYXQpKDUuMCAvIDEwMjMuMCkpDQotDQotLyoqDQotICogR2V0IGFuIGFuYWxvZyB2b2x0YWdlIGZyb20gdGhlIERyaXZlciBTdGF0aW9uLg0KLSAqIFRoZSBhbmFsb2cgdmFsdWVzIGFyZSByZXR1cm5lZCBhcyB2b2x0YWdlIHZhbHVlcyBmb3IgdGhlIERyaXZlciBTdGF0aW9uIGFuYWxvZyBpbnB1dHMuDQotICogVGhlc2UgaW5wdXRzIGFyZSB0eXBpY2FsbHkgdXNlZCBmb3IgYWR2YW5jZWQgb3BlcmF0b3IgaW50ZXJmYWNlcyBjb25zaXN0aW5nIG9mIHBvdGVudGlvbWV0ZXJzDQotICogb3IgcmVzaXN0b3IgbmV0d29ya3MgcmVwcmVzZW50aW5nIHZhbHVlcyBvbiBhIHJvdGFyeSBzd2l0Y2guDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGFuYWxvZyBpbnB1dCBjaGFubmVsIG9uIHRoZSBkcml2ZXIgc3RhdGlvbiB0byByZWFkIGZyb20uIFZhbGlkIHJhbmdlIGlzIDEgLSA0Lg0KLSAqIEByZXR1cm4gVGhlIGFuYWxvZyB2b2x0YWdlIG9uIHRoZSBpbnB1dC4NCi0gKi8NCi1mbG9hdCBEcml2ZXJTdGF0aW9uOjpHZXRBbmFsb2dJbihVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gNCkNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJjaGFubmVsIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0Iik7DQotDQotCXN0YXRpYyBVSU5UOCByZXBvcnRlZF9tYXNrID0gMDsNCi0JaWYgKCEocmVwb3J0ZWRfbWFzayAmICgxID4+IGNoYW5uZWwpKSkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25DSU8sIGNoYW5uZWwsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25DSU9fQW5hbG9nKTsNCi0JCXJlcG9ydGVkX21hc2sgfD0gKDEgPj4gY2hhbm5lbCk7DQotCX0NCi0NCi0Jc3dpdGNoIChjaGFubmVsKQ0KLQl7DQotCWNhc2UgMToNCi0JCXJldHVybiBrRFNBbmFsb2dJblNjYWxpbmcgKiBtX2NvbnRyb2xEYXRhLT5hbmFsb2cxOw0KLQljYXNlIDI6DQotCQlyZXR1cm4ga0RTQW5hbG9nSW5TY2FsaW5nICogbV9jb250cm9sRGF0YS0+YW5hbG9nMjsNCi0JY2FzZSAzOg0KLQkJcmV0dXJuIGtEU0FuYWxvZ0luU2NhbGluZyAqIG1fY29udHJvbERhdGEtPmFuYWxvZzM7DQotCWNhc2UgNDoNCi0JCXJldHVybiBrRFNBbmFsb2dJblNjYWxpbmcgKiBtX2NvbnRyb2xEYXRhLT5hbmFsb2c0Ow0KLQl9DQotCXJldHVybiAwLjA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB2YWx1ZXMgZnJvbSB0aGUgZGlnaXRhbCBpbnB1dHMgb24gdGhlIERyaXZlciBTdGF0aW9uLg0KLSAqIFJldHVybiBkaWdpdGFsIHZhbHVlcyBmcm9tIHRoZSBEcml2ZXJzIFN0YXRpb24uIFRoZXNlIHZhbHVlcyBhcmUgdHlwaWNhbGx5IHVzZWQgZm9yIGJ1dHRvbnMNCi0gKiBhbmQgc3dpdGNoZXMgb24gYWR2YW5jZWQgb3BlcmF0b3IgaW50ZXJmYWNlcy4NCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgZGlnaXRhbCBpbnB1dCB0byBnZXQuIFZhbGlkIHJhbmdlIGlzIDEgLSA4Lg0KLSAqLw0KLWJvb2wgRHJpdmVyU3RhdGlvbjo6R2V0RGlnaXRhbEluKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPCAxIHx8IGNoYW5uZWwgPiA4KQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDgiKTsNCi0NCi0Jc3RhdGljIFVJTlQ4IHJlcG9ydGVkX21hc2sgPSAwOw0KLQlpZiAoIShyZXBvcnRlZF9tYXNrICYgKDEgPj4gY2hhbm5lbCkpKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRHJpdmVyU3RhdGlvbkNJTywgY2hhbm5lbCwgblVzYWdlUmVwb3J0aW5nOjprRHJpdmVyU3RhdGlvbkNJT19EaWdpdGFsSW4pOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlyZXR1cm4gKChtX2NvbnRyb2xEYXRhLT5kc0RpZ2l0YWxJbiA+PiAoY2hhbm5lbC0xKSkgJiAweDEpID8gdHJ1ZSA6IGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgYSB2YWx1ZSBmb3IgdGhlIGRpZ2l0YWwgb3V0cHV0cyBvbiB0aGUgRHJpdmVyIFN0YXRpb24uDQotICogDQotICogQ29udHJvbCBkaWdpdGFsIG91dHB1dHMgb24gdGhlIERyaXZlcnMgU3RhdGlvbi4gVGhlc2UgdmFsdWVzIGFyZSB0eXBpY2FsbHkgdXNlZCBmb3INCi0gKiBnaXZpbmcgZmVlZGJhY2sgb24gYSBjdXN0b20gb3BlcmF0b3Igc3RhdGlvbiBzdWNoIGFzIExFRHMuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgb3V0cHV0IHRvIHNldC4gVmFsaWQgcmFuZ2UgaXMgMSAtIDguDQotICogQHBhcmFtIHZhbHVlIFRoZSBzdGF0ZSB0byBzZXQgdGhlIGRpZ2l0YWwgb3V0cHV0Lg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbjo6U2V0RGlnaXRhbE91dChVSU5UMzIgY2hhbm5lbCwgYm9vbCB2YWx1ZSkgDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDgpDQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgOCIpOw0KLQ0KLQlzdGF0aWMgVUlOVDggcmVwb3J0ZWRfbWFzayA9IDA7DQotCWlmICghKHJlcG9ydGVkX21hc2sgJiAoMSA+PiBjaGFubmVsKSkpDQotCXsNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uQ0lPLCBjaGFubmVsLCBuVXNhZ2VSZXBvcnRpbmc6OmtEcml2ZXJTdGF0aW9uQ0lPX0RpZ2l0YWxPdXQpOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQltX2RpZ2l0YWxPdXQgJj0gfigweDEgPDwgKGNoYW5uZWwtMSkpOw0KLQltX2RpZ2l0YWxPdXQgfD0gKChVSU5UOCl2YWx1ZSA8PCAoY2hhbm5lbC0xKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHZhbHVlIHRoYXQgd2FzIHNldCBmb3IgdGhlIGRpZ2l0YWwgb3V0cHV0cyBvbiB0aGUgRHJpdmVyIFN0YXRpb24uDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGRpZ2l0YWwgb3VwdXQgdG8gbW9uaXRvci4gVmFsaWQgcmFuZ2UgaXMgMSB0aHJvdWdoIDguDQotICogQHJldHVybiBBIGRpZ2l0YWwgdmFsdWUgYmVpbmcgb3V0cHV0IG9uIHRoZSBEcml2ZXJzIFN0YXRpb24uDQotICovDQotYm9vbCBEcml2ZXJTdGF0aW9uOjpHZXREaWdpdGFsT3V0KFVJTlQzMiBjaGFubmVsKSANCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gOCkNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJjaGFubmVsIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA4Iik7DQotDQotCXJldHVybiAoKG1fZGlnaXRhbE91dCA+PiAoY2hhbm5lbC0xKSkgJiAweDEpID8gdHJ1ZSA6IGZhbHNlOzsNCi19DQotDQotYm9vbCBEcml2ZXJTdGF0aW9uOjpJc0VuYWJsZWQoKQ0KLXsNCi0JcmV0dXJuIG1fY29udHJvbERhdGEtPmVuYWJsZWQ7DQotfQ0KLQ0KLWJvb2wgRHJpdmVyU3RhdGlvbjo6SXNEaXNhYmxlZCgpDQotew0KLQlyZXR1cm4gIW1fY29udHJvbERhdGEtPmVuYWJsZWQ7DQotfQ0KLQ0KLWJvb2wgRHJpdmVyU3RhdGlvbjo6SXNBdXRvbm9tb3VzKCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xEYXRhLT5hdXRvbm9tb3VzOw0KLX0NCi0NCi1ib29sIERyaXZlclN0YXRpb246OklzT3BlcmF0b3JDb250cm9sKCkNCi17DQotCXJldHVybiAhKG1fY29udHJvbERhdGEtPmF1dG9ub21vdXMgfHwgbV9jb250cm9sRGF0YS0+dGVzdCk7DQotfQ0KLQ0KLWJvb2wgRHJpdmVyU3RhdGlvbjo6SXNUZXN0KCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xEYXRhLT50ZXN0Ow0KLX0NCi0NCi0vKioNCi0gKiBIYXMgYSBuZXcgY29udHJvbCBwYWNrZXQgZnJvbSB0aGUgZHJpdmVyIHN0YXRpb24gYXJyaXZlZCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoaXMgZnVuY3Rpb24gd2FzIGNhbGxlZD8NCi0gKiBXYXJuaW5nOiBJZiB5b3UgY2FsbCB0aGlzIGZ1bmN0aW9uIGZyb20gbW9yZSB0aGFuIG9uZSBwbGFjZSBhdCB0aGUgc2FtZSB0aW1lLA0KLSAqIHlvdSB3aWxsIG5vdCBnZXQgdGhlIGdldCB0aGUgaW50ZW5kZWQgYmVoYXZpb3INCi0gKiBAcmV0dXJuIFRydWUgaWYgdGhlIGNvbnRyb2wgZGF0YSBoYXMgYmVlbiB1cGRhdGVkIHNpbmNlIHRoZSBsYXN0IGNhbGwuDQotICovDQotYm9vbCBEcml2ZXJTdGF0aW9uOjpJc05ld0NvbnRyb2xEYXRhKCkNCi17DQotCXJldHVybiBzZW1UYWtlKG1fbmV3Q29udHJvbERhdGEsIE5PX1dBSVQpID09IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIElzIHRoZSBkcml2ZXIgc3RhdGlvbiBhdHRhY2hlZCB0byBhIEZpZWxkIE1hbmFnZW1lbnQgU3lzdGVtPw0KLSAqIE5vdGU6IFRoaXMgZG9lcyBub3Qgd29yayB3aXRoIHRoZSBCbHVlIERTLg0KLSAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgcm9ib3QgaXMgY29tcGV0aW5nIG9uIGEgZmllbGQgYmVpbmcgY29udHJvbGxlZCBieSBhIEZpZWxkIE1hbmFnZW1lbnQgU3lzdGVtDQotICovDQotYm9vbCBEcml2ZXJTdGF0aW9uOjpJc0ZNU0F0dGFjaGVkKCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xEYXRhLT5mbXNBdHRhY2hlZDsNCi19DQotDQotLyoqDQotICogUmV0dXJuIHRoZSBEUyBwYWNrZXQgbnVtYmVyLg0KLSAqIFRoZSBwYWNrZXQgbnVtYmVyIGlzIHRoZSBpbmRleCBvZiB0aGlzIHNldCBvZiBkYXRhIHJldHVybmVkIGJ5IHRoZSBkcml2ZXIgc3RhdGlvbi4NCi0gKiBFYWNoIHRpbWUgbmV3IGRhdGEgaXMgcmVjZWl2ZWQsIHRoZSBwYWNrZXQgbnVtYmVyIChpbmNsdWRlZCB3aXRoIHRoZSBzZW50IGRhdGEpIGlzIHJldHVybmVkLg0KLSAqIEByZXR1cm4gVGhlIGRyaXZlciBzdGF0aW9uIHBhY2tldCBudW1iZXINCi0gKi8NCi1VSU5UMzIgRHJpdmVyU3RhdGlvbjo6R2V0UGFja2V0TnVtYmVyKCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xEYXRhLT5wYWNrZXRJbmRleDsNCi19DQotDQotLyoqDQotICogUmV0dXJuIHRoZSBhbGxpYW5jZSB0aGF0IHRoZSBkcml2ZXIgc3RhdGlvbiBzYXlzIGl0IGlzIG9uLg0KLSAqIFRoaXMgY291bGQgcmV0dXJuIGtSZWQgb3Iga0JsdWUNCi0gKiBAcmV0dXJuIFRoZSBBbGxpYW5jZSBlbnVtDQotICovDQotRHJpdmVyU3RhdGlvbjo6QWxsaWFuY2UgRHJpdmVyU3RhdGlvbjo6R2V0QWxsaWFuY2UoKQ0KLXsNCi0JaWYgKG1fY29udHJvbERhdGEtPmRzSURfQWxsaWFuY2UgPT0gJ1InKSByZXR1cm4ga1JlZDsNCi0JaWYgKG1fY29udHJvbERhdGEtPmRzSURfQWxsaWFuY2UgPT0gJ0InKSByZXR1cm4ga0JsdWU7DQotCXdwaV9hc3NlcnQoZmFsc2UpOw0KLQlyZXR1cm4ga0ludmFsaWQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgZHJpdmVyIHN0YXRpb24gbG9jYXRpb24gb24gdGhlIGZpZWxkDQotICogVGhpcyBjb3VsZCByZXR1cm4gMSwgMiwgb3IgMw0KLSAqIEByZXR1cm4gVGhlIGxvY2F0aW9uIG9mIHRoZSBkcml2ZXIgc3RhdGlvbg0KLSAqLw0KLVVJTlQzMiBEcml2ZXJTdGF0aW9uOjpHZXRMb2NhdGlvbigpDQotew0KLQl3cGlfYXNzZXJ0ICgobV9jb250cm9sRGF0YS0+ZHNJRF9Qb3NpdGlvbiA+PSAnMScpICYmIChtX2NvbnRyb2xEYXRhLT5kc0lEX1Bvc2l0aW9uIDw9ICczJykpOw0KLQlyZXR1cm4gbV9jb250cm9sRGF0YS0+ZHNJRF9Qb3NpdGlvbiAtICcwJzsNCi19DQotDQotLyoqDQotICogV2FpdCB1bnRpbCBhIG5ldyBwYWNrZXQgY29tZXMgZnJvbSB0aGUgZHJpdmVyIHN0YXRpb24NCi0gKiBUaGlzIGJsb2NrcyBvbiBhIHNlbWFwaG9yZSwgc28gdGhlIHdhaXRpbmcgaXMgZWZmaWNpZW50Lg0KLSAqIFRoaXMgaXMgYSBnb29kIHdheSB0byBkZWxheSBwcm9jZXNzaW5nIHVudGlsIHRoZXJlIGlzIG5ldyBkcml2ZXIgc3RhdGlvbiBkYXRhIHRvIGFjdCBvbg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbjo6V2FpdEZvckRhdGEoKQ0KLXsNCi0Jc2VtVGFrZShtX3dhaXRGb3JEYXRhU2VtLCBXQUlUX0ZPUkVWRVIpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIGFwcHJveGltYXRlIG1hdGNoIHRpbWUNCi0gKiBUaGUgRk1TIGRvZXMgbm90IGN1cnJlbnRseSBzZW5kIHRoZSBvZmZpY2lhbCBtYXRjaCB0aW1lIHRvIHRoZSByb2JvdHMNCi0gKiBUaGlzIHJldHVybnMgdGhlIHRpbWUgc2luY2UgdGhlIGVuYWJsZSBzaWduYWwgc2VudCBmcm9tIHRoZSBEcml2ZXIgU3RhdGlvbg0KLSAqIEF0IHRoZSBiZWdpbm5pbmcgb2YgYXV0b25vbW91cywgdGhlIHRpbWUgaXMgcmVzZXQgdG8gMC4wIHNlY29uZHMNCi0gKiBBdCB0aGUgYmVnaW5uaW5nIG9mIHRlbGVvcCwgdGhlIHRpbWUgaXMgcmVzZXQgdG8gKzE1LjAgc2Vjb25kcw0KLSAqIElmIHRoZSByb2JvdCBpcyBkaXNhYmxlZCwgdGhpcyByZXR1cm5zIDAuMCBzZWNvbmRzDQotICogV2FybmluZzogVGhpcyBpcyBub3QgYW4gb2ZmaWNpYWwgdGltZSAoc28gaXQgY2Fubm90IGJlIHVzZWQgdG8gYXJndWUgd2l0aCByZWZlcmVlcykNCi0gKiBAcmV0dXJuIE1hdGNoIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIGF1dG9ub21vdXMNCi0gKi8NCi1kb3VibGUgRHJpdmVyU3RhdGlvbjo6R2V0TWF0Y2hUaW1lKCkNCi17DQotCWlmIChtX2FwcHJveE1hdGNoVGltZU9mZnNldCA8IDAuMCkNCi0JCXJldHVybiAwLjA7DQotCXJldHVybiBUaW1lcjo6R2V0RlBHQVRpbWVzdGFtcCgpIC0gbV9hcHByb3hNYXRjaFRpbWVPZmZzZXQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgdGVhbSBudW1iZXIgdGhhdCB0aGUgRHJpdmVyIFN0YXRpb24gaXMgY29uZmlndXJlZCBmb3INCi0gKiBAcmV0dXJuIFRoZSB0ZWFtIG51bWJlcg0KLSAqLw0KLVVJTlQxNiBEcml2ZXJTdGF0aW9uOjpHZXRUZWFtTnVtYmVyKCkNCi17DQotCXJldHVybiBtX2NvbnRyb2xEYXRhLT50ZWFtSUQ7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb24uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzE3ZjhkMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMzMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fRFJJVkVSX1NUQVRJT05fSF9fDQotI2RlZmluZSBfX0RSSVZFUl9TVEFUSU9OX0hfXw0KLQ0KLSNpbmNsdWRlICJEYXNoYm9hcmQuaCINCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8uaCINCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJUYXNrLmgiDQotDQotc3RydWN0IEZSQ0NvbW1vbkNvbnRyb2xEYXRhOw0KLWNsYXNzIEFuYWxvZ0NoYW5uZWw7DQotDQotLyoqDQotICogUHJvdmlkZSBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsgY29tbXVuaWNhdGlvbiBkYXRhIHRvIC8gZnJvbSB0aGUgRHJpdmVyIFN0YXRpb24uDQotICovDQotY2xhc3MgRHJpdmVyU3RhdGlvbiA6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JZW51bSBBbGxpYW5jZSB7a1JlZCwga0JsdWUsIGtJbnZhbGlkfTsNCi0NCi0JdmlydHVhbCB+RHJpdmVyU3RhdGlvbigpOw0KLQlzdGF0aWMgRHJpdmVyU3RhdGlvbiAqR2V0SW5zdGFuY2UoKTsNCi0NCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrQmF0dGVyeU1vZHVsZU51bWJlciA9IDE7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0JhdHRlcnlDaGFubmVsID0gODsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrSm95c3RpY2tQb3J0cyA9IDQ7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0pveXN0aWNrQXhlcyA9IDY7DQotDQotCWZsb2F0IEdldFN0aWNrQXhpcyhVSU5UMzIgc3RpY2ssIFVJTlQzMiBheGlzKTsNCi0Jc2hvcnQgR2V0U3RpY2tCdXR0b25zKFVJTlQzMiBzdGljayk7DQotDQotCWZsb2F0IEdldEFuYWxvZ0luKFVJTlQzMiBjaGFubmVsKTsNCi0JYm9vbCBHZXREaWdpdGFsSW4oVUlOVDMyIGNoYW5uZWwpOw0KLQl2b2lkIFNldERpZ2l0YWxPdXQoVUlOVDMyIGNoYW5uZWwsIGJvb2wgdmFsdWUpOw0KLQlib29sIEdldERpZ2l0YWxPdXQoVUlOVDMyIGNoYW5uZWwpOw0KLQ0KLQlib29sIElzRW5hYmxlZCgpOw0KLQlib29sIElzRGlzYWJsZWQoKTsNCi0gICAgYm9vbCBJc0F1dG9ub21vdXMoKTsNCi0JYm9vbCBJc09wZXJhdG9yQ29udHJvbCgpOw0KLSAgICBib29sIElzVGVzdCgpOw0KLQlib29sIElzTmV3Q29udHJvbERhdGEoKTsNCi0JYm9vbCBJc0ZNU0F0dGFjaGVkKCk7DQotDQotCVVJTlQzMiBHZXRQYWNrZXROdW1iZXIoKTsNCi0JQWxsaWFuY2UgR2V0QWxsaWFuY2UoKTsNCi0JVUlOVDMyIEdldExvY2F0aW9uKCk7DQotCXZvaWQgV2FpdEZvckRhdGEoKTsNCi0JZG91YmxlIEdldE1hdGNoVGltZSgpOw0KLQlmbG9hdCBHZXRCYXR0ZXJ5Vm9sdGFnZSgpOw0KLQlVSU5UMTYgR2V0VGVhbU51bWJlcigpOw0KLQ0KLQkvLyBHZXQgdGhlIGRlZmF1bHQgZGFzaGJvYXJkIHBhY2tlcnMuIFRoZXNlIGluc3RhbmNlcyBzdGF5IGFyb3VuZCBldmVuIGFmdGVyDQotCS8vIGEgY2FsbCB0byBTZXRIaWdofExvd1ByaW9yaXR5RGFzaGJvYXJkUGFja2VyVG9Vc2UoKSBjaGFuZ2VzIHdoaWNoIHBhY2tlcg0KLQkvLyBpcyBpbiB1c2UuIFlvdSBjYW4gcmVzdG9yZSB0aGUgZGVmYXVsdCBoaWdoIHByaW9yaXR5IHBhY2tlciBieSBjYWxsaW5nDQotCS8vIFNldEhpZ2hQcmlvcml0eURhc2hib2FyZFBhY2tlclRvVXNlKCZHZXRIaWdoUHJpb3JpdHlEYXNoYm9hcmRQYWNrZXIoKSkuDQotCURhc2hib2FyZCYgR2V0SGlnaFByaW9yaXR5RGFzaGJvYXJkUGFja2VyKCkgeyByZXR1cm4gbV9kYXNoYm9hcmRIaWdoOyB9DQotCURhc2hib2FyZCYgR2V0TG93UHJpb3JpdHlEYXNoYm9hcmRQYWNrZXIoKSB7IHJldHVybiBtX2Rhc2hib2FyZExvdzsgfQ0KLQ0KLQkvLyBHZXQvc2V0IHRoZSBkYXNoYm9hcmQgcGFja2VycyB0byB1c2UuIFRoaXMgY2FuIHNpZGVsaW5lIG9yIHJlc3RvcmUgdGhlDQotCS8vIGRlZmF1bHQgcGFja2Vycy4gSW5pdGlhbGl6aW5nIFNtYXJ0RGFzaGJvYXJkIGNoYW5nZXMgdGhlIGhpZ2ggcHJpb3JpdHkNCi0JLy8gcGFja2VyIGluIHVzZSBzbyBiZXdhcmUgdGhhdCB0aGUgZGVmYXVsdCBwYWNrZXIgd2lsbCB0aGVuIGJlIGlkbGUuIFRoZXNlDQotCS8vIG1ldGhvZHMgc3VwcG9ydCBhbnkga2luZCBvZiBEYXNoYm9hcmRCYXNlLCBlLmcuIGEgRGFzaGJvYXJkIG9yIGENCi0JLy8gU21hcnREYXNoYm9hcmQuDQotCURhc2hib2FyZEJhc2UqIEdldEhpZ2hQcmlvcml0eURhc2hib2FyZFBhY2tlckluVXNlKCkgeyByZXR1cm4gbV9kYXNoYm9hcmRJblVzZUhpZ2g7IH0NCi0JRGFzaGJvYXJkQmFzZSogR2V0TG93UHJpb3JpdHlEYXNoYm9hcmRQYWNrZXJJblVzZSgpIHsgcmV0dXJuIG1fZGFzaGJvYXJkSW5Vc2VMb3c7IH0NCi0Jdm9pZCBTZXRIaWdoUHJpb3JpdHlEYXNoYm9hcmRQYWNrZXJUb1VzZShEYXNoYm9hcmRCYXNlKiBkYikgeyBtX2Rhc2hib2FyZEluVXNlSGlnaCA9IGRiOyB9DQotCXZvaWQgU2V0TG93UHJpb3JpdHlEYXNoYm9hcmRQYWNrZXJUb1VzZShEYXNoYm9hcmRCYXNlKiBkYikgeyBtX2Rhc2hib2FyZEluVXNlTG93ID0gZGI7IH0NCi0NCi0JRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8mIEdldEVuaGFuY2VkSU8oKSB7IHJldHVybiBtX2VuaGFuY2VkSU87IH0NCi0NCi0Jdm9pZCBJbmNyZW1lbnRVcGRhdGVOdW1iZXIoKSB7IG1fdXBkYXRlTnVtYmVyKys7IH0NCi0JU0VNX0lEIEdldFVzZXJTdGF0dXNEYXRhU2VtKCkgeyByZXR1cm4gbV9zdGF0dXNEYXRhU2VtYXBob3JlOyB9DQotDQotCS8qKiBPbmx5IHRvIGJlIHVzZWQgdG8gdGVsbCB0aGUgRHJpdmVyIFN0YXRpb24gd2hhdCBjb2RlIHlvdSBjbGFpbSB0byBiZSBleGVjdXRpbmcNCi0JICogICBmb3IgZGlhZ25vc3RpYyBwdXJwb3NlcyBvbmx5DQotCSAqIEBwYXJhbSBlbnRlcmluZyBJZiB0cnVlLCBzdGFydGluZyBkaXNhYmxlZCBjb2RlOyBpZiBmYWxzZSwgbGVhdmluZyBkaXNhYmxlZCBjb2RlICovDQotCXZvaWQgSW5EaXNhYmxlZChib29sIGVudGVyaW5nKSB7bV91c2VySW5EaXNhYmxlZD1lbnRlcmluZzt9DQotCS8qKiBPbmx5IHRvIGJlIHVzZWQgdG8gdGVsbCB0aGUgRHJpdmVyIFN0YXRpb24gd2hhdCBjb2RlIHlvdSBjbGFpbSB0byBiZSBleGVjdXRpbmcNCi0JICogICBmb3IgZGlhZ25vc3RpYyBwdXJwb3NlcyBvbmx5DQotCSAqIEBwYXJhbSBlbnRlcmluZyBJZiB0cnVlLCBzdGFydGluZyBhdXRvbm9tb3VzIGNvZGU7IGlmIGZhbHNlLCBsZWF2aW5nIGF1dG9ub21vdXMgY29kZSAqLw0KLQl2b2lkIEluQXV0b25vbW91cyhib29sIGVudGVyaW5nKSB7bV91c2VySW5BdXRvbm9tb3VzPWVudGVyaW5nO30NCi0gICAgLyoqIE9ubHkgdG8gYmUgdXNlZCB0byB0ZWxsIHRoZSBEcml2ZXIgU3RhdGlvbiB3aGF0IGNvZGUgeW91IGNsYWltIHRvIGJlIGV4ZWN1dGluZw0KLSAgICAgKiAgIGZvciBkaWFnbm9zdGljIHB1cnBvc2VzIG9ubHkNCi0gICAgICogQHBhcmFtIGVudGVyaW5nIElmIHRydWUsIHN0YXJ0aW5nIHRlbGVvcCBjb2RlOyBpZiBmYWxzZSwgbGVhdmluZyB0ZWxlb3AgY29kZSAqLw0KLSAgICB2b2lkIEluT3BlcmF0b3JDb250cm9sKGJvb2wgZW50ZXJpbmcpIHttX3VzZXJJblRlbGVvcD1lbnRlcmluZzt9DQotICAgIC8qKiBPbmx5IHRvIGJlIHVzZWQgdG8gdGVsbCB0aGUgRHJpdmVyIFN0YXRpb24gd2hhdCBjb2RlIHlvdSBjbGFpbSB0byBiZSBleGVjdXRpbmcNCi0gICAgICogICBmb3IgZGlhZ25vc3RpYyBwdXJwb3NlcyBvbmx5DQotICAgICAqIEBwYXJhbSBlbnRlcmluZyBJZiB0cnVlLCBzdGFydGluZyB0ZXN0IGNvZGU7IGlmIGZhbHNlLCBsZWF2aW5nIHRlc3QgY29kZSAqLw0KLSAgICB2b2lkIEluVGVzdChib29sIGVudGVyaW5nKSB7bV91c2VySW5UZXN0PWVudGVyaW5nO30NCi0NCi1wcm90ZWN0ZWQ6DQotCURyaXZlclN0YXRpb24oKTsNCi0NCi0Jdm9pZCBHZXREYXRhKCk7DQotCXZvaWQgU2V0RGF0YSgpOw0KLQ0KLXByaXZhdGU6DQotCXN0YXRpYyB2b2lkIEluaXRUYXNrKERyaXZlclN0YXRpb24gKmRzKTsNCi0Jc3RhdGljIERyaXZlclN0YXRpb24gKm1faW5zdGFuY2U7DQotCXN0YXRpYyBVSU5UOCBtX3VwZGF0ZU51bWJlcjsNCi0JLy8vPCBUT0RPOiBHZXQgcmlkIG9mIHRoaXMgYW5kIHVzZSB0aGUgc2VtYXBob3JlIHNpZ25hbGluZw0KLQlzdGF0aWMgY29uc3QgZmxvYXQga1VwZGF0ZVBlcmlvZCA9IDAuMDI7DQotDQotCXZvaWQgUnVuKCk7DQotDQotCXN0cnVjdCBGUkNDb21tb25Db250cm9sRGF0YSAqbV9jb250cm9sRGF0YTsNCi0JVUlOVDggbV9kaWdpdGFsT3V0Ow0KLQlBbmFsb2dDaGFubmVsICptX2JhdHRlcnlDaGFubmVsOw0KLQlTRU1fSUQgbV9zdGF0dXNEYXRhU2VtYXBob3JlOw0KLQlUYXNrIG1fdGFzazsNCi0JRGFzaGJvYXJkIG1fZGFzaGJvYXJkSGlnaDsgIC8vIHRoZSBkZWZhdWx0IGRhc2hib2FyZCBwYWNrZXJzDQotCURhc2hib2FyZCBtX2Rhc2hib2FyZExvdzsNCi0JRGFzaGJvYXJkQmFzZSogbV9kYXNoYm9hcmRJblVzZUhpZ2g7ICAvLyB0aGUgY3VycmVudCBkYXNoYm9hcmQgcGFja2VycyBpbiB1c2UNCi0JRGFzaGJvYXJkQmFzZSogbV9kYXNoYm9hcmRJblVzZUxvdzsNCi0JU0VNX0lEIG1fbmV3Q29udHJvbERhdGE7DQotCVNFTV9JRCBtX3BhY2tldERhdGFBdmFpbGFibGVTZW07DQotCURyaXZlclN0YXRpb25FbmhhbmNlZElPIG1fZW5oYW5jZWRJTzsNCi0JU0VNX0lEIG1fd2FpdEZvckRhdGFTZW07DQotCWRvdWJsZSBtX2FwcHJveE1hdGNoVGltZU9mZnNldDsNCi0JYm9vbCBtX3VzZXJJbkRpc2FibGVkOw0KLQlib29sIG1fdXNlckluQXV0b25vbW91czsNCi0gICAgYm9vbCBtX3VzZXJJblRlbGVvcDsNCi0gICAgYm9vbCBtX3VzZXJJblRlc3Q7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uRW5oYW5jZWRJTy5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uRW5oYW5jZWRJTy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMGNmODYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTk1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkRyaXZlclN0YXRpb25FbmhhbmNlZElPLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSA8c3RyTGliLmg+DQotDQotLyoqDQotICogRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8gY29udHJ1Y3Rvci4NCi0gKiANCi0gKiBUaGlzIGlzIG9ubHkgY2FsbGVkIG9uY2Ugd2hlbiB0aGUgRHJpdmVyU3RhdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQuDQotICovDQotRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkRyaXZlclN0YXRpb25FbmhhbmNlZElPKCkNCi0JOiBtX2lucHV0VmFsaWQgKGZhbHNlKQ0KLQksIG1fb3V0cHV0VmFsaWQgKGZhbHNlKQ0KLQksIG1fY29uZmlnQ2hhbmdlZCAoZmFsc2UpDQotCSwgbV9yZXF1ZXN0RW5oYW5jZWRFbmFibGUgKGZhbHNlKQ0KLXsNCi0JYnplcm8oKGNoYXIqKSZtX2lucHV0RGF0YSwgc2l6ZW9mKG1faW5wdXREYXRhKSk7DQotCWJ6ZXJvKChjaGFyKikmbV9vdXRwdXREYXRhLCBzaXplb2YobV9vdXRwdXREYXRhKSk7DQotCW1fb3V0cHV0RGF0YS5zaXplID0gc2l6ZW9mKG1fb3V0cHV0RGF0YSkgLSAxOw0KLQltX291dHB1dERhdGEuaWQgPSBrT3V0cHV0QmxvY2tJRDsNCi0JLy8gRXhwZWN0ZWQgdG8gYmUgYWN0aXZlIGxvdywgc28gaW5pdGlhbGl6ZSBpbmFjdGl2ZS4NCi0JbV9vdXRwdXREYXRhLmRhdGEuZml4ZWRfZGlnaXRhbF9vdXQgPSAweDM7DQotCW1faW5wdXREYXRhU2VtYXBob3JlID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9ERUxFVEVfU0FGRSB8IFNFTV9JTlZFUlNJT05fU0FGRSk7DQotCW1fb3V0cHV0RGF0YVNlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fREVMRVRFX1NBRkUgfCBTRU1fSU5WRVJTSU9OX1NBRkUpOw0KLQltX2VuY29kZXJPZmZzZXRzWzBdID0gMDsNCi0JbV9lbmNvZGVyT2Zmc2V0c1sxXSA9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIERyaXZlclN0YXRpb25FbmhhbmNlZElPIGRlc3RydWN0b3IuDQotICogDQotICogQ2FsbGVkIG9ubHkgd2hlbiB0aGUgRHJpdmVyU3RhdGlvbiBjbGFzcyBpcyBkZXN0cm95ZWQuDQotICovDQotRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86On5Ecml2ZXJTdGF0aW9uRW5oYW5jZWRJTygpDQotew0KLQlzZW1EZWxldGUobV9vdXRwdXREYXRhU2VtYXBob3JlKTsNCi0Jc2VtRGVsZXRlKG1faW5wdXREYXRhU2VtYXBob3JlKTsNCi19DQotDQotLyoqDQotICogQ2FsbGVkIGJ5IHRoZSBEcml2ZXJTdGF0aW9uIGNsYXNzIHdoZW4gZGF0YSBpcyBhdmFpbGFibGUuDQotICogVGhpcyBmdW5jdGlvbiB3aWxsIHNldCBhbnkgbW9kaWZpZWQgY29uZmlndXJhdGlvbiAvIG91dHB1dCwNCi0gKiB0aGVuIHJlYWQgdGhlIGlucHV0IGFuZCBjb25maWd1cmF0aW9uIGZyb20gdGhlIElPLg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OlVwZGF0ZURhdGEoKQ0KLXsNCi0JSU5UMzIgcmV0VmFsOw0KLQl7DQotCQlzdGF0dXNfYmxvY2tfdCB0ZW1wT3V0cHV0RGF0YTsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCQlpZiAobV9vdXRwdXRWYWxpZCB8fCBtX2NvbmZpZ0NoYW5nZWQgfHwgbV9yZXF1ZXN0RW5oYW5jZWRFbmFibGUpDQotCQl7DQotCQkJbV9vdXRwdXREYXRhLmZsYWdzID0ga1N0YXR1c1ZhbGlkOw0KLQkJCWlmIChtX3JlcXVlc3RFbmhhbmNlZEVuYWJsZSkNCi0JCQl7DQotCQkJCS8vIFNvbWVvbmUgY2FsbGVkIG9uZSBvZiB0aGUgZ2V0IGNvbmZpZyBBUElzLCBidXQgd2UgYXJlIG5vdCBpbiBlbmhhbmNlZCBtb2RlLg0KLQkJCQltX291dHB1dERhdGEuZmxhZ3MgfD0ga0ZvcmNlRW5oYW5jZWRNb2RlOw0KLQkJCX0NCi0JCQlpZiAobV9jb25maWdDaGFuZ2VkKQ0KLQkJCXsNCi0JCQkJaWYgKCFtX291dHB1dFZhbGlkKQ0KLQkJCQl7DQotCQkJCQkvLyBTb21lb25lIGNhbGxlZCBvbmUgb2YgdGhlIHNldCBjb25maWcgQVBJcywgYnV0IHdlIGFyZSBub3QgaW4gZW5oYW5jZWQgbW9kZS4NCi0JCQkJCW1fb3V0cHV0RGF0YS5mbGFncyB8PSBrRm9yY2VFbmhhbmNlZE1vZGU7DQotCQkJCX0NCi0JCQkJbV9vdXRwdXREYXRhLmZsYWdzIHw9IGtTdGF0dXNDb25maWdDaGFuZ2VkOw0KLQkJCX0NCi0JCQlvdmVycmlkZUlPQ29uZmlnKChjaGFyKikmbV9vdXRwdXREYXRhLCA1KTsNCi0JCX0NCi0JCXJldFZhbCA9IGdldER5bmFtaWNDb250cm9sRGF0YShrT3V0cHV0QmxvY2tJRCwgKGNoYXIqKSZ0ZW1wT3V0cHV0RGF0YSwgc2l6ZW9mKHN0YXR1c19ibG9ja190KSwgNSk7DQotCQlpZiAocmV0VmFsID09IDApDQotCQl7DQotCQkJaWYgKG1fb3V0cHV0VmFsaWQpDQotCQkJew0KLQkJCQlpZiAobV9jb25maWdDaGFuZ2VkKQ0KLQkJCQl7DQotCQkJCQkvLyBJZiBvdXIgY29uZmlnIGNoYW5nZSBtYWRlIHRoZSByb3VuZCB0cmlwIHRoZW4gY2xlYXIgdGhlIGZsYWcuDQotCQkJCQlpZiAoSXNDb25maWdFcXVhbCh0ZW1wT3V0cHV0RGF0YSwgbV9vdXRwdXREYXRhKSkNCi0JCQkJCXsNCi0JCQkJCQltX2NvbmZpZ0NoYW5nZWQgPSBmYWxzZTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCQllbHNlDQotCQkJCXsNCi0JCQkJCS8vIFRPRE86IFRoaXMgd29uJ3Qgd29yayB1bnRpbCBhcnRmMTEyOCBpcyBmaXhlZA0KLQkJCQkJLy9pZiAodGVtcE91dHB1dERhdGEuZmxhZ3MgJiBrU3RhdHVzQ29uZmlnQ2hhbmdlZCkNCi0JCQkJCXsNCi0JCQkJCQkvLyBDb25maWd1cmF0aW9uIHdhcyB1cGRhdGVkIG9uIHRoZSBEUywgc28gdXBkYXRlIG91ciBsb2NhbCBjYWNoZS4NCi0JCQkJCQlNZXJnZUNvbmZpZ0ludG9PdXRwdXQodGVtcE91dHB1dERhdGEsIG1fb3V0cHV0RGF0YSk7DQotCQkJCQl9DQotCQkJCX0NCi0JCQl9DQotCQkJZWxzZQ0KLQkJCXsNCi0JCQkJLy8gSW5pdGlhbGl6ZSB0aGUgbG9jYWwgY2FjaGUuDQotCQkJCU1lcmdlQ29uZmlnSW50b091dHB1dCh0ZW1wT3V0cHV0RGF0YSwgbV9vdXRwdXREYXRhKTsNCi0JCQl9DQotCQkJbV9yZXF1ZXN0RW5oYW5jZWRFbmFibGUgPSBmYWxzZTsNCi0JCQltX291dHB1dFZhbGlkID0gdHJ1ZTsNCi0JCX0NCi0JCWVsc2UNCi0JCXsNCi0JCQltX291dHB1dFZhbGlkID0gZmFsc2U7DQotCQkJbV9pbnB1dFZhbGlkID0gZmFsc2U7DQotCQl9DQotCX0NCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV9pbnB1dERhdGFTZW1hcGhvcmUpOw0KLQkJY29udHJvbF9ibG9ja190IHRlbXBJbnB1dERhdGE7DQotCQlyZXRWYWwgPSBnZXREeW5hbWljQ29udHJvbERhdGEoa0lucHV0QmxvY2tJRCwgKGNoYXIqKSZ0ZW1wSW5wdXREYXRhLCBzaXplb2YoY29udHJvbF9ibG9ja190KSwgNSk7DQotCQlpZiAocmV0VmFsID09IDAgJiYgdGVtcElucHV0RGF0YS5kYXRhLmFwaV92ZXJzaW9uID09IGtTdXBwb3J0ZWRBUElWZXJzaW9uKQ0KLQkJew0KLQkJCW1faW5wdXREYXRhID0gdGVtcElucHV0RGF0YTsNCi0JCQltX2lucHV0VmFsaWQgPSB0cnVlOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCW1fb3V0cHV0VmFsaWQgPSBmYWxzZTsNCi0JCQltX2lucHV0VmFsaWQgPSBmYWxzZTsNCi0JCX0NCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBNZXJnZSB0aGUgY29uZmlnIHBvcnRpb24gb2YgdGhlIERTIG91dHB1dCBibG9jayBpbnRvIHRoZSBsb2NhbCBjYWNoZS4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpNZXJnZUNvbmZpZ0ludG9PdXRwdXQoY29uc3Qgc3RhdHVzX2Jsb2NrX3QgJmRzT3V0cHV0QmxvY2ssIHN0YXR1c19ibG9ja190ICZsb2NhbENhY2hlKQ0KLXsNCi0JbG9jYWxDYWNoZS5kYXRhLmRpZ2l0YWwgPSAobG9jYWxDYWNoZS5kYXRhLmRpZ2l0YWwgJiBkc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbF9vZSkgfA0KLQkJKGRzT3V0cHV0QmxvY2suZGF0YS5kaWdpdGFsICYgfmRzT3V0cHV0QmxvY2suZGF0YS5kaWdpdGFsX29lKTsNCi0JbG9jYWxDYWNoZS5kYXRhLmRpZ2l0YWxfb2UgPSBkc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbF9vZTsNCi0JbG9jYWxDYWNoZS5kYXRhLmRpZ2l0YWxfcGUgPSBkc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbF9wZTsNCi0JbG9jYWxDYWNoZS5kYXRhLnB3bV9wZXJpb2RbMF0gPSBkc091dHB1dEJsb2NrLmRhdGEucHdtX3BlcmlvZFswXTsNCi0JbG9jYWxDYWNoZS5kYXRhLnB3bV9wZXJpb2RbMV0gPSBkc091dHB1dEJsb2NrLmRhdGEucHdtX3BlcmlvZFsxXTsNCi0JbG9jYWxDYWNoZS5kYXRhLmVuYWJsZXMgPSBkc091dHB1dEJsb2NrLmRhdGEuZW5hYmxlczsNCi19DQotDQotLyoqDQotICogQ29tcGFyZSB0aGUgY29uZmlnIHBvcnRpb24gb2YgdGhlIG91dHB1dCBibG9ja3MuDQotICovDQotYm9vbCBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6SXNDb25maWdFcXVhbChjb25zdCBzdGF0dXNfYmxvY2tfdCAmZHNPdXRwdXRCbG9jaywgY29uc3Qgc3RhdHVzX2Jsb2NrX3QgJmxvY2FsQ2FjaGUpDQotew0KLQlpZiAobG9jYWxDYWNoZS5kYXRhLmRpZ2l0YWxfb2UgIT0gZHNPdXRwdXRCbG9jay5kYXRhLmRpZ2l0YWxfb2UpIHJldHVybiBmYWxzZTsNCi0JaWYgKChsb2NhbENhY2hlLmRhdGEuZGlnaXRhbCAmIH5kc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbCkgIT0NCi0JCShkc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbCAmIH5kc091dHB1dEJsb2NrLmRhdGEuZGlnaXRhbCkpIHJldHVybiBmYWxzZTsNCi0JaWYgKGxvY2FsQ2FjaGUuZGF0YS5kaWdpdGFsX3BlICE9IGRzT3V0cHV0QmxvY2suZGF0YS5kaWdpdGFsX3BlKSByZXR1cm4gZmFsc2U7DQotCWlmIChsb2NhbENhY2hlLmRhdGEucHdtX3BlcmlvZFswXSAhPSBkc091dHB1dEJsb2NrLmRhdGEucHdtX3BlcmlvZFswXSkgcmV0dXJuIGZhbHNlOw0KLQlpZiAobG9jYWxDYWNoZS5kYXRhLnB3bV9wZXJpb2RbMV0gIT0gZHNPdXRwdXRCbG9jay5kYXRhLnB3bV9wZXJpb2RbMV0pIHJldHVybiBmYWxzZTsNCi0JaWYgKGxvY2FsQ2FjaGUuZGF0YS5lbmFibGVzICE9IGRzT3V0cHV0QmxvY2suZGF0YS5lbmFibGVzKSByZXR1cm4gZmFsc2U7DQotCXJldHVybiB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBRdWVyeSBhbiBhY2NlbGVyb21ldGVyIGNoYW5uZWwgb24gdGhlIERTIElPLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIG51bWJlciB0byByZWFkLg0KLSAqIEByZXR1cm4gVGhlIGN1cnJlbnQgYWNjZWxlcmF0aW9uIG9uIHRoZSBjaGFubmVsIGluIEdzLg0KLSAqLw0KLWRvdWJsZSBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6R2V0QWNjZWxlcmF0aW9uKHRBY2NlbENoYW5uZWwgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybiAwLjA7DQotCX0NCi0JaWYgKCFtX2lucHV0VmFsaWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm4gMC4wOw0KLQl9DQotDQotCXN0YXRpYyBVSU5UOCByZXBvcnRlZF9tYXNrID0gMDsNCi0JaWYgKCEocmVwb3J0ZWRfbWFzayAmICgxID4+IGNoYW5uZWwpKSkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIGNoYW5uZWwsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fQWNjZWxlcmF0aW9uKTsNCi0JCXJlcG9ydGVkX21hc2sgfD0gKDEgPj4gY2hhbm5lbCk7DQotCX0NCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9pbnB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gKG1faW5wdXREYXRhLmRhdGEuYWNjZWxbY2hhbm5lbF0gLSBrQWNjZWxPZmZzZXQpIC8ga0FjY2VsU2NhbGU7DQotfQ0KLQ0KLS8qKg0KLSAqIFF1ZXJ5IGFuIGFuYWxvZyBpbnB1dCBjaGFubmVsIG9uIHRoZSBEUyBJTy4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgY2hhbm5lbCBudW1iZXIgdG8gcmVhZC4gWzEsOF0NCi0gKiBAcmV0dXJuIFRoZSBhbmFsb2cgaW5wdXQgdm9sdGFnZSBmb3IgdGhlIGNoYW5uZWwuDQotICovDQotZG91YmxlIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRBbmFsb2dJbihVSU5UMzIgY2hhbm5lbCkNCi17DQotCS8vIDMuM1YgaXMgdGhlIGFuYWxvZyByZWZlcmVuY2Ugdm9sdGFnZQ0KLQlyZXR1cm4gR2V0QW5hbG9nSW5SYXRpbyhjaGFubmVsKSAqIGtBbmFsb2dJbnB1dFJlZmVyZW5jZTsNCi19DQotDQotLyoqDQotICogUXVlcnkgYW4gYW5hbG9nIGlucHV0IGNoYW5uZWwgb24gdGhlIERTIElPIGluIHJhdGlvbWV0cmljIGZvcm0uDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgbnVtYmVyIHRvIHJlYWQuIFsxLDhdDQotICogQHJldHVybiBUaGUgYW5hbG9nIGlucHV0IHBlcmNlbnRhZ2UgZm9yIHRoZSBjaGFubmVsLg0KLSAqLw0KLWRvdWJsZSBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6R2V0QW5hbG9nSW5SYXRpbyhVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gOCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDgiKTsNCi0JCXJldHVybiAwLjA7DQotCX0NCi0JaWYgKCFtX2lucHV0VmFsaWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm4gMC4wOw0KLQl9DQotDQotCXN0YXRpYyBVSU5UMTYgcmVwb3J0ZWRfbWFzayA9IDA7DQotCWlmICghKHJlcG9ydGVkX21hc2sgJiAoMSA+PiBjaGFubmVsKSkpDQotCXsNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uRUlPLCBjaGFubmVsLCBuVXNhZ2VSZXBvcnRpbmc6OmtEcml2ZXJTdGF0aW9uRUlPX0FuYWxvZ0luKTsNCi0JCXJlcG9ydGVkX21hc2sgfD0gKDEgPj4gY2hhbm5lbCk7DQotCX0NCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9pbnB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gbV9pbnB1dERhdGEuZGF0YS5hbmFsb2dbY2hhbm5lbC0xXSAvIGtBbmFsb2dJbnB1dFJlc29sdXRpb247DQotfQ0KLQ0KLS8qKg0KLSAqIFF1ZXJ5IHRoZSB2b2x0YWdlIGN1cnJlbnRseSBiZWluZyBvdXRwdXQuDQotICogDQotICogQU8xIGlzIHBpbiAxMSBvbiB0aGUgdG9wIGNvbm5lY3RvciAoUDIpLg0KLSAqIEFPMiBpcyBwaW4gMTIgb24gdGhlIHRvcCBjb25uZWN0b3IgKFAyKS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgYW5hbG9nIG91dHB1dCBjaGFubmVsIG9uIHRoZSBEUyBJTy4gWzEsMl0NCi0gKiBAcmV0dXJuIFRoZSB2b2x0YWdlIGJlaW5nIG91dHB1dCBvbiB0aGUgY2hhbm5lbC4NCi0gKi8NCi1kb3VibGUgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldEFuYWxvZ091dChVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybiAwLjA7DQotCX0NCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuIDAuMDsNCi0JfQ0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX291dHB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gbV9vdXRwdXREYXRhLmRhdGEuZGFjW2NoYW5uZWwtMV0gKiBrQW5hbG9nT3V0cHV0UmVmZXJlbmNlIC8ga0FuYWxvZ091dHB1dFJlc29sdXRpb247DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgYW5hbG9nIG91dHB1dCB2b2x0YWdlLg0KLSAqIA0KLSAqIEFPMSBpcyBwaW4gMTEgb24gdGhlIHRvcCBjb25uZWN0b3IgKFAyKS4NCi0gKiBBTzIgaXMgcGluIDEyIG9uIHRoZSB0b3AgY29ubmVjdG9yIChQMikuDQotICogQU8xIGlzIHRoZSByZWZlcmVuY2Ugdm9sdGFnZSBmb3IgdGhlIDIgYW5hbG9nIGNvbXBhcmF0b3JzIG9uIERJTzE1IGFuZCBESU8xNi4NCi0gKiANCi0gKiBUaGUgb3V0cHV0IHJhbmdlIGlzIDBWIHRvIDRWLCBob3dldmVyIGR1ZSB0byB0aGUgc3VwcGx5IHZvbHRhZ2UgZG9uJ3QgZXhwZWN0IG1vcmUgdGhhbiBhYm91dCAzVi4NCi0gKiBDdXJyZW50IHN1cHBseSBjYXBhYmlsaXR5IGlzIG9ubHkgMTAwdUEuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGFuYWxvZyBvdXRwdXQgY2hhbm5lbCBvbiB0aGUgRFMgSU8uIFsxLDJdDQotICogQHBhcmFtIHZhbHVlIFRoZSB2b2x0YWdlIHRvIG91dHB1dCBvbiB0aGUgY2hhbm5lbC4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpTZXRBbmFsb2dPdXQoVUlOVDMyIGNoYW5uZWwsIGRvdWJsZSB2YWx1ZSkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIW1fb3V0cHV0VmFsaWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKHZhbHVlIDwgMC4wKSB2YWx1ZSA9IDAuMDsNCi0JaWYgKHZhbHVlID4ga0FuYWxvZ091dHB1dFJlZmVyZW5jZSkgdmFsdWUgPSBrQW5hbG9nT3V0cHV0UmVmZXJlbmNlOw0KLQ0KLQlzdGF0aWMgVUlOVDggcmVwb3J0ZWRfbWFzayA9IDA7DQotCWlmICghKHJlcG9ydGVkX21hc2sgJiAoMSA+PiBjaGFubmVsKSkpDQotCXsNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uRUlPLCBjaGFubmVsLCBuVXNhZ2VSZXBvcnRpbmc6OmtEcml2ZXJTdGF0aW9uRUlPX0FuYWxvZ091dCk7DQotCQlyZXBvcnRlZF9tYXNrIHw9ICgxID4+IGNoYW5uZWwpOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCW1fb3V0cHV0RGF0YS5kYXRhLmRhY1tjaGFubmVsLTFdID0gKFVJTlQ4KSh2YWx1ZSAvIGtBbmFsb2dPdXRwdXRSZWZlcmVuY2UgKiBrQW5hbG9nT3V0cHV0UmVzb2x1dGlvbik7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc3RhdGUgb2YgYSBidXR0b24gb24gdGhlIElPIGJvYXJkLg0KLSAqIA0KLSAqIEJ1dHRvbjEgaXMgdGhlIHBoeXNpY2FsIGJ1dHRvbiAiUzEiLg0KLSAqIEJ1dHRvbjIgaXMgcGluIDQgb24gdGhlIHRvcCBjb25uZWN0b3IgKFAyKS4NCi0gKiBCdXR0b24zIGlzIHBpbiA2IG9uIHRoZSB0b3AgY29ubmVjdG9yIChQMikuDQotICogQnV0dG9uNCBpcyBwaW4gOCBvbiB0aGUgdG9wIGNvbm5lY3RvciAoUDIpLg0KLSAqIEJ1dHRvbjUgaXMgcGluIDEwIG9uIHRoZSB0b3AgY29ubmVjdG9yIChQMikuDQotICogQnV0dG9uNiBpcyBwaW4gNyBvbiB0aGUgdG9wIGNvbm5lY3RvciAoUDIpLg0KLSAqIA0KLSAqIEJ1dHRvbjIgdGhyb3VnaCBCdXR0b242IGFyZSBDYXBhY2l0aXZlIFNlbnNlIGJ1dHRvbnMuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGJ1dHRvbiBjaGFubmVsIHRvIHJlYWQuIFsxLDZdDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIHNlbGVjdGVkIGJ1dHRvbi4NCi0gKi8NCi1ib29sIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRCdXR0b24oVUlOVDMyIGNoYW5uZWwpDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDYpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJjaGFubmVsIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA2Iik7DQotCQlyZXR1cm4gZmFsc2U7DQotCX0NCi0NCi0Jc3RhdGljIFVJTlQ4IHJlcG9ydGVkX21hc2sgPSAwOw0KLQlpZiAoIShyZXBvcnRlZF9tYXNrICYgKDEgPj4gY2hhbm5lbCkpKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRHJpdmVyU3RhdGlvbkVJTywgY2hhbm5lbCwgblVzYWdlUmVwb3J0aW5nOjprRHJpdmVyU3RhdGlvbkVJT19CdXR0b24pOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlyZXR1cm4gKChHZXRCdXR0b25zKCkgPj4gKGNoYW5uZWwtMSkpICYgMSkgIT0gMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBzdGF0ZSBvZiBhbGwgdGhlIGJ1dHRvbiBjaGFubmVscy4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgNiBidXR0b24gY2hhbm5lbHMgaW4gdGhlIDYgbHNiIG9mIHRoZSByZXR1cm5lZCBieXRlLg0KLSAqLw0KLVVJTlQ4IERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRCdXR0b25zKCkNCi17DQotCWlmICghbV9pbnB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuIDA7DQotCX0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIDAsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fQnV0dG9uKTsNCi0JU3luY2hyb25pemVkIHN5bmMobV9pbnB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gbV9pbnB1dERhdGEuZGF0YS5idXR0b25zOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHN0YXRlIG9mIGFuIExFRCBvbiB0aGUgSU8gYm9hcmQuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIExFRCBjaGFubmVsIHRvIHNldC4gWzEsOF0NCi0gKiBAcGFyYW0gdmFsdWUgVHJ1ZSB0byB0dXJuIHRoZSBMRUQgb24uDQotICovDQotdm9pZCBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6U2V0TEVEKFVJTlQzMiBjaGFubmVsLCBib29sIHZhbHVlKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPCAxIHx8IGNoYW5uZWwgPiA4KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgOCIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCWlmICghbV9vdXRwdXRWYWxpZCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQlzdGF0aWMgVUlOVDE2IHJlcG9ydGVkX21hc2sgPSAwOw0KLQlpZiAoIShyZXBvcnRlZF9tYXNrICYgKDEgPj4gY2hhbm5lbCkpKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRHJpdmVyU3RhdGlvbkVJTywgY2hhbm5lbCwgblVzYWdlUmVwb3J0aW5nOjprRHJpdmVyU3RhdGlvbkVJT19MRUQpOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlVSU5UOCBsZWRzOw0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX291dHB1dERhdGFTZW1hcGhvcmUpOw0KLQlsZWRzID0gbV9vdXRwdXREYXRhLmRhdGEubGVkczsNCi0NCi0JbGVkcyAmPSB+KDEgPDwgKGNoYW5uZWwtMSkpOw0KLQlpZiAodmFsdWUpIGxlZHMgfD0gMSA8PCAoY2hhbm5lbC0xKTsNCi0NCi0JbV9vdXRwdXREYXRhLmRhdGEubGVkcyA9IGxlZHM7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc3RhdGUgb2YgYWxsIDggTEVEcyBvbiB0aGUgSU8gYm9hcmQuDQotICogDQotICogQHBhcmFtIHZhbHVlIFRoZSBzdGF0ZSBvZiBlYWNoIExFRC4gIExFRDEgaXMgbHNiIGFuZCBMRUQ4IGlzIG1zYi4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpTZXRMRURzKFVJTlQ4IHZhbHVlKQ0KLXsNCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uRUlPLCAwLCBuVXNhZ2VSZXBvcnRpbmc6OmtEcml2ZXJTdGF0aW9uRUlPX0xFRCk7DQotCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCW1fb3V0cHV0RGF0YS5kYXRhLmxlZHMgPSB2YWx1ZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgRElPIGNoYW5uZWwgcmVnYXJkbGVzcyBvZiBtb2RlLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBESU8gY2hhbm5lbCB0byByZWFkLiBbMSwxNl0NCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgc2VsZWN0ZWQgZGlnaXRhbCBsaW5lLg0KLSAqLw0KLWJvb2wgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldERpZ2l0YWwoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDE2KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTYiKTsNCi0JCXJldHVybiBmYWxzZTsNCi0JfQ0KLQ0KLQlzdGF0aWMgVUlOVDMyIHJlcG9ydGVkX21hc2sgPSAwOw0KLQlpZiAoIShyZXBvcnRlZF9tYXNrICYgKDEgPj4gY2hhbm5lbCkpKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRHJpdmVyU3RhdGlvbkVJTywgY2hhbm5lbCwgblVzYWdlUmVwb3J0aW5nOjprRHJpdmVyU3RhdGlvbkVJT19EaWdpdGFsSW4pOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlyZXR1cm4gKChHZXREaWdpdGFscygpID4+IChjaGFubmVsLTEpKSAmIDEpICE9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc3RhdGUgb2YgYWxsIDE2IERJTyBsaW5lcyByZWdhcmRsZXNzIG9mIG1vZGUuDQotICogDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgYWxsIERJTyBsaW5lcy4gRElPMSBpcyBsc2IgYW5kIERJTzE2IGlzIG1zYi4NCi0gKi8NCi1VSU5UMTYgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldERpZ2l0YWxzKCkNCi17DQotCWlmICghbV9pbnB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuIDA7DQotCX0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIDAsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fRGlnaXRhbEluKTsNCi0JU3luY2hyb25pemVkIHN5bmMobV9pbnB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gbV9pbnB1dERhdGEuZGF0YS5kaWdpdGFsOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHN0YXRlIG9mIGEgRElPIGxpbmUgdGhhdCBpcyBjb25maWd1cmVkIGZvciBkaWdpdGFsIG91dHB1dC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRElPIGNoYW5uZWwgdG8gc2V0LiBbMSwxNl0NCi0gKiBAcGFyYW0gdmFsdWUgVGhlIHN0YXRlIHRvIHNldCB0aGUgc2VsZWN0ZWQgY2hhbm5lbCB0by4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpTZXREaWdpdGFsT3V0cHV0KFVJTlQzMiBjaGFubmVsLCBib29sIHZhbHVlKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPCAxIHx8IGNoYW5uZWwgPiAxNikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDE2Iik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXN0YXRpYyBVSU5UMzIgcmVwb3J0ZWRfbWFzayA9IDA7DQotCWlmICghKHJlcG9ydGVkX21hc2sgJiAoMSA+PiBjaGFubmVsKSkpDQotCXsNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uRUlPLCBjaGFubmVsLCBuVXNhZ2VSZXBvcnRpbmc6OmtEcml2ZXJTdGF0aW9uRUlPX0RpZ2l0YWxPdXQpOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlVSU5UMTYgZGlnaXRhbDsNCi0JU3luY2hyb25pemVkIHN5bmMobV9vdXRwdXREYXRhU2VtYXBob3JlKTsNCi0NCi0JaWYgKG1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfb2UgJiAoMSA8PCAoY2hhbm5lbC0xKSkpDQotCXsNCi0JCWRpZ2l0YWwgPSBtX291dHB1dERhdGEuZGF0YS5kaWdpdGFsOw0KLQkNCi0JCWRpZ2l0YWwgJj0gfigxIDw8IChjaGFubmVsLTEpKTsNCi0JCWlmICh2YWx1ZSkgZGlnaXRhbCB8PSAxIDw8IChjaGFubmVsLTEpOw0KLQkNCi0JCW1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWwgPSBkaWdpdGFsOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKExpbmVOb3RPdXRwdXQpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIGZvciBhIERJTyBsaW5lLg0KLSAqIA0KLSAqIFRoaXMgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBmb3JjaW5nIHRoZSBEcml2ZXIgU3RhdGlvbiB0byBzd2l0Y2ggdG8gRW5oYW5jZWQgbW9kZSBpZiBpdCdzIG5vdCB3aGVuIGNhbGxlZC4NCi0gKiBJZiBFbmhhbmNlZCBtb2RlIGlzIG5vdCBlbmFibGVkIHdoZW4gdGhpcyBpcyBjYWxsZWQsIGl0IHdpbGwgcmV0dXJuIGtVbmtub3duLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBESU8gY2hhbm5lbCBjb25maWcgdG8gZ2V0LiBbMSwxNl0NCi0gKiBAcmV0dXJuIFRoZSBjb25maWd1cmVkIG1vZGUgZm9yIHRoZSBESU8gbGluZS4NCi0gKi8NCi1Ecml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6dERpZ2l0YWxDb25maWcgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldERpZ2l0YWxDb25maWcoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDE2KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTYiKTsNCi0JCXJldHVybiBrVW5rbm93bjsNCi0JfQ0KLQlpZiAoIW1fb3V0cHV0VmFsaWQpDQotCXsNCi0JCW1fcmVxdWVzdEVuaGFuY2VkRW5hYmxlID0gdHJ1ZTsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm4ga1Vua25vd247DQotCX0NCi0JU3luY2hyb25pemVkIHN5bmMobV9vdXRwdXREYXRhU2VtYXBob3JlKTsNCi0JaWYgKChjaGFubmVsID49IDEpICYmIChjaGFubmVsIDw9IDQpKQ0KLQl7DQotCQlpZiAobV9vdXRwdXREYXRhLmRhdGEucHdtX2VuYWJsZSAmICgxIDw8IChjaGFubmVsIC0gMSkpKQ0KLQkJew0KLQkJCXJldHVybiBrUFdNOw0KLQkJfQ0KLQl9DQotCWlmICgoY2hhbm5lbCA+PSAxNSkgJiYgKGNoYW5uZWwgPD0gMTYpKQ0KLQl7DQotCQlpZiAobV9vdXRwdXREYXRhLmRhdGEuY29tcGFyYXRvcl9lbmFibGUgJiAoMSA8PCAoY2hhbm5lbCAtIDE1KSkpDQotCQl7DQotCQkJcmV0dXJuIGtBbmFsb2dDb21wYXJhdG9yOw0KLQkJfQ0KLQl9DQotCWlmIChtX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX29lICYgKDEgPDwgKGNoYW5uZWwgLSAxKSkpDQotCXsNCi0JCXJldHVybiBrT3V0cHV0Ow0KLQl9DQotCWlmICghKG1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfcGUgJiAoMSA8PCAoY2hhbm5lbCAtIDEpKSkpDQotCXsNCi0JCXJldHVybiBrSW5wdXRGbG9hdGluZzsNCi0JfQ0KLQlpZiAobV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbCAmICgxIDw8IChjaGFubmVsIC0gMSkpKQ0KLQl7DQotCQlyZXR1cm4ga0lucHV0UHVsbFVwOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJcmV0dXJuIGtJbnB1dFB1bGxEb3duOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIE92ZXJyaWRlIHRoZSBEUydzIGNvbmZpZ3VyYXRpb24gb2YgYSBESU8gbGluZS4NCi0gKiANCi0gKiBJZiBjb25maWd1cmVkIHRvIGtJbnB1dEZsb2F0aW5nLCB0aGUgc2VsZWN0ZWQgRElPIGxpbmUgd2lsbCBiZSB0cmktc3RhdGVkIHdpdGggbm8gaW50ZXJuYWwgcHVsbCByZXNpc3Rvci4NCi0gKiANCi0gKiBJZiBjb25maWd1cmVkIHRvIGtJbnB1dFB1bGxVcCwgdGhlIHNlbGVjdGVkIERJTyBsaW5lIHdpbGwgYmUgdHJpLXN0YXRlZCB3aXRoIGEgNWstT2htIGludGVybmFsIHB1bGwtdXAgcmVzaXN0b3IgZW5hYmxlZC4NCi0gKiANCi0gKiBJZiBjb25maWd1cmVkIHRvIGtJbnB1dFB1bGxEb3duLCB0aGUgc2VsZWN0ZWQgRElPIGxpbmUgd2lsbCBiZSB0cmktc3RhdGVkIHdpdGggYSA1ay1PaG0gaW50ZXJuYWwgcHVsbC1kb3duIHJlc2lzdG9yIGVuYWJsZWQuDQotICogDQotICogSWYgY29uZmlndXJlZCB0byBrT3V0cHV0LCB0aGUgc2VsZWN0ZWQgRElPIGxpbmUgd2lsbCBhY3RpdmVseSBkcml2ZSB0byAwViBvciBWZGRpbyAoc3BlY2lmaWVkIGJ5IEoxIGFuZCBKNCkuDQotICogRElPMSB0aHJvdWdoIERJTzEyLCBESU8xNSwgYW5kIERJTzE2IGNhbiBzb3VyY2UgNG1BIGFuZCBjYW4gc2luayA4bUEuDQotICogRElPMTIgYW5kIERJTzEzIGNhbiBzb3VyY2UgNG1BIGFuZCBjYW4gc2luayAyNW1BLg0KLSAqIA0KLSAqIEluIGFkZGl0aW9uIHRvIHRoZSBjb21tb24gY29uZmlndXJhdGlvbnMsIERJTzEgdGhyb3VnaCBESU80IGNhbiBiZSBjb25maWd1cmVkIHRvIGtQV00gdG8gZW5hYmxlIFBXTSBvdXRwdXQuDQotICogDQotICogSW4gYWRkaXRpb24gdG8gdGhlIGNvbW1vbiBjb25maWd1cmF0aW9ucywgRElPMTUgYW5kIERJTzE2IGNhbiBiZSBjb25maWd1cmVkIHRvIGtBbmFsb2dDb21wYXJhdG9yIHRvIGVuYWJsZQ0KLSAqIGFuYWxvZyBjb21wYXJhdG9ycyBvbiB0aG9zZSAyIERJTyBsaW5lcy4gIFdoZW4gZW5hYmxlZCwgdGhlIGxpbmVzIGFyZSB0cmktc3RhdGVkIGFuZCB3aWxsIGFjY2VwdCBhbmFsb2cgdm9sdGFnZXMNCi0gKiBiZXR3ZWVuIDBWIGFuZCAzLjNWLiAgSWYgdGhlIGlucHV0IHZvbHRhZ2UgaXMgZ3JlYXRlciB0aGFuIHRoZSB2b2x0YWdlIG91dHB1dCBieSBBTzEsIHRoZSBESU8gd2lsbCByZWFkIGFzIHRydWUsDQotICogaWYgbGVzcyB0aGVuIGZhbHNlLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBESU8gbGluZSB0byBjb25maWd1cmUuIFsxLDE2XQ0KLSAqIEBwYXJhbSBjb25maWcgVGhlIG1vZGUgdG8gcHV0IHRoZSBESU8gbGluZSBpbi4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpTZXREaWdpdGFsQ29uZmlnKFVJTlQzMiBjaGFubmVsLCB0RGlnaXRhbENvbmZpZyBjb25maWcpDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDE2KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMTYiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoY29uZmlnID09IGtQV00gJiYgKGNoYW5uZWwgPCAxIHx8IGNoYW5uZWwgPiA0KSkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgaW4gUFdNIG1vZGUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDQiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoY29uZmlnID09IGtBbmFsb2dDb21wYXJhdG9yICYmIChjaGFubmVsIDwgMTUgfHwgY2hhbm5lbCA+IDE2KSkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgaW4gQW5hbG9nIENvbXBhcmF0b3IgbW9kZSBtdXN0IGJlIGJldHdlZW4gMTUgYW5kIDE2Iik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9vdXRwdXREYXRhU2VtYXBob3JlKTsNCi0JbV9jb25maWdDaGFuZ2VkID0gdHJ1ZTsNCi0NCi0JaWYgKChjaGFubmVsID49IDEpICYmIChjaGFubmVsIDw9IDQpKQ0KLQl7DQotCQlpZiAoY29uZmlnID09IGtQV00pDQotCQl7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEucHdtX2VuYWJsZSB8PSAxIDw8IChjaGFubmVsIC0gMSk7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbCAmPSB+KDEgPDwgKGNoYW5uZWwgLSAxKSk7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbF9vZSB8PSAxIDw8IChjaGFubmVsIC0gMSk7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbF9wZSAmPSB+KDEgPDwgKGNoYW5uZWwgLSAxKSk7DQotCQkJcmV0dXJuOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCW1fb3V0cHV0RGF0YS5kYXRhLnB3bV9lbmFibGUgJj0gfigxIDw8IChjaGFubmVsIC0gMSkpOw0KLQkJfQ0KLQl9DQotCWVsc2UgaWYgKChjaGFubmVsID49IDE1KSAmJiAoY2hhbm5lbCA8PSAxNikpDQotCXsNCi0JCWlmIChjb25maWcgPT0ga0FuYWxvZ0NvbXBhcmF0b3IpDQotCQl7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEuY29tcGFyYXRvcl9lbmFibGUgfD0gMSA8PCAoY2hhbm5lbCAtIDE1KTsNCi0JCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX29lICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX3BlICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCQlyZXR1cm47DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJbV9vdXRwdXREYXRhLmRhdGEuY29tcGFyYXRvcl9lbmFibGUgJj0gfigxIDw8IChjaGFubmVsIC0gMTUpKTsNCi0JCX0NCi0JfQ0KLQlpZiAoY29uZmlnID09IGtJbnB1dEZsb2F0aW5nKQ0KLQl7DQotCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCW1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfb2UgJj0gfigxIDw8IChjaGFubmVsIC0gMSkpOw0KLQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbF9wZSAmPSB+KDEgPDwgKGNoYW5uZWwgLSAxKSk7DQotCX0NCi0JZWxzZSBpZiAoY29uZmlnID09IGtJbnB1dFB1bGxVcCkNCi0Jew0KLQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbCB8PSAxIDw8IChjaGFubmVsIC0gMSk7DQotCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX29lICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCW1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfcGUgfD0gMSA8PCAoY2hhbm5lbCAtIDEpOw0KLQl9DQotCWVsc2UgaWYgKGNvbmZpZyA9PSBrSW5wdXRQdWxsRG93bikNCi0Jew0KLQkJbV9vdXRwdXREYXRhLmRhdGEuZGlnaXRhbCAmPSB+KDEgPDwgKGNoYW5uZWwgLSAxKSk7DQotCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX29lICY9IH4oMSA8PCAoY2hhbm5lbCAtIDEpKTsNCi0JCW1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfcGUgfD0gMSA8PCAoY2hhbm5lbCAtIDEpOw0KLQl9DQotCWVsc2UgaWYgKGNvbmZpZyA9PSBrT3V0cHV0KQ0KLQl7DQotCQltX291dHB1dERhdGEuZGF0YS5kaWdpdGFsX29lIHw9IDEgPDwgKGNoYW5uZWwgLSAxKTsNCi0JCW1fb3V0cHV0RGF0YS5kYXRhLmRpZ2l0YWxfcGUgJj0gfigxIDw8IChjaGFubmVsIC0gMSkpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJLy8gU29tZXRoaW5nIHdlbnQgd3JvbmcuDQotCX0NCi19DQotDQotLyoqDQotICogR2V0IHRoZSBwZXJpb2Qgb2YgYSBQV00gZ2VuZXJhdG9yLg0KLSAqIA0KLSAqIFRoaXMgaGFzIHRoZSBzaWRlIGVmZmVjdCBvZiBmb3JjaW5nIHRoZSBEcml2ZXIgU3RhdGlvbiB0byBzd2l0Y2ggdG8gRW5oYW5jZWQgbW9kZSBpZiBpdCdzIG5vdCB3aGVuIGNhbGxlZC4NCi0gKiBJZiBFbmhhbmNlZCBtb2RlIGlzIG5vdCBlbmFibGVkIHdoZW4gdGhpcyBpcyBjYWxsZWQsIGl0IHdpbGwgcmV0dXJuIDAuDQotICogDQotICogQHBhcmFtIGNoYW5uZWxzIFNlbGVjdCB0aGUgZ2VuZXJhdG9yIGJ5IHNwZWNpZnlpbmcgdGhlIHR3byBjaGFubmVscyB0byB3aGljaCBpdCBpcyBjb25uZWN0ZWQuDQotICogQHJldHVybiBUaGUgcGVyaW9kIG9mIHRoZSBQV00gZ2VuZXJhdG9yIGluIHNlY29uZHMuDQotICovDQotZG91YmxlIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRQV01QZXJpb2QodFBXTVBlcmlvZENoYW5uZWxzIGNoYW5uZWxzKQ0KLXsNCi0JaWYgKGNoYW5uZWxzIDwga1BXTUNoYW5uZWxzMWFuZDIgfHwgY2hhbm5lbHMgPiBrUFdNQ2hhbm5lbHMzYW5kNCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWxzIG11c3QgYmUga1BXTUNoYW5uZWxzMWFuZDIgb3Iga1BXTUNoYW5uZWxzM2FuZDQiKTsNCi0JCXJldHVybiAwLjA7DQotCX0NCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQltX3JlcXVlc3RFbmhhbmNlZEVuYWJsZSA9IHRydWU7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuIDAuMDsNCi0JfQ0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX291dHB1dERhdGFTZW1hcGhvcmUpOw0KLQlyZXR1cm4gbV9vdXRwdXREYXRhLmRhdGEucHdtX3BlcmlvZFtjaGFubmVsc10gLyAyNDAwMDAwMC4wOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHBlcmlvZCBvZiBhIFBXTSBnZW5lcmF0b3IuDQotICogDQotICogVGhlcmUgYXJlIDIgUFdNIGdlbmVyYXRvcnMgb24gdGhlIElPIGJvYXJkLiAgT25lIGNhbiBnZW5lcmF0ZSBQV00gc2lnbmFscyBvbiBESU8xIGFuZCBESU8yLA0KLSAqIHRoZSBvdGhlciBvbiBESU8zIGFuZCBESU80LiAgRWFjaCBnZW5lcmF0b3IgaGFzIG9uZSBjb3VudGVyIGFuZCB0d28gY29tcGFyZSByZWdpc3RlcnMuICBBcyBzdWNoLA0KLSAqIGVhY2ggcGFpciBvZiBQV00gb3V0cHV0cyBzaGFyZSB0aGUgb3V0cHV0IHBlcmlvZCBidXQgaGF2ZSBpbmRlcGVuZGVudCBkdXR5IGN5Y2xlcy4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbHMgU2VsZWN0IHRoZSBnZW5lcmF0b3IgYnkgc3BlY2lmeWluZyB0aGUgdHdvIGNoYW5uZWxzIHRvIHdoaWNoIGl0IGlzIGNvbm5lY3RlZC4NCi0gKiBAcGFyYW0gcGVyaW9kIFRoZSBwZXJpb2Qgb2YgdGhlIFBXTSBnZW5lcmF0b3IgaW4gc2Vjb25kcy4gWzAuMCwwLjAwMjczMV0NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpTZXRQV01QZXJpb2QodFBXTVBlcmlvZENoYW5uZWxzIGNoYW5uZWxzLCBkb3VibGUgcGVyaW9kKQ0KLXsNCi0JaWYgKGNoYW5uZWxzIDwga1BXTUNoYW5uZWxzMWFuZDIgfHwgY2hhbm5lbHMgPiBrUFdNQ2hhbm5lbHMzYW5kNCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWxzIG11c3QgYmUga1BXTUNoYW5uZWxzMWFuZDIgb3Iga1BXTUNoYW5uZWxzM2FuZDQiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQkvLyBDb252ZXJ0IHRvIHRpY2tzIGJhc2VkIG9uIHRoZSBJTyBib2FyZCdzIDI0TUh6IGNsb2NrDQotCWRvdWJsZSB0aWNrcyA9IHBlcmlvZCAqIDI0MDAwMDAwLjA7DQotCS8vIExpbWl0IHRoZSByYW5nZSBvZiB0aGUgdGlja3MuLi4gd2FybiBpZiB0b28gYmlnLg0KLQlpZiAodGlja3MgPiA2NTUzNC4wKSANCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9QV01QZXJpb2RPdXRPZlJhbmdlKTsNCi0JCXRpY2tzID0gNjU1MzQuMDsNCi0JfQ0KLQllbHNlIGlmICh0aWNrcyA8IDAuMCkgdGlja3MgPSAwLjA7DQotCS8vIFByZXNlcnZlIHRoZSBkdXR5IGN5Y2xlcy4NCi0JZG91YmxlIGR1dHlDeWNsZXNbMl07DQotCWR1dHlDeWNsZXNbMF0gPSBHZXRQV01PdXRwdXQoKGNoYW5uZWxzIDw8IDEpICsgMSk7DQotCWR1dHlDeWNsZXNbMV0gPSBHZXRQV01PdXRwdXQoKGNoYW5uZWxzIDw8IDEpICsgMik7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCQkvLyBVcGRhdGUgdGhlIHBlcmlvZA0KLQkJbV9vdXRwdXREYXRhLmRhdGEucHdtX3BlcmlvZFtjaGFubmVsc10gPSAoVUlOVDE2KXRpY2tzOw0KLQkJbV9jb25maWdDaGFuZ2VkID0gdHJ1ZTsNCi0JfQ0KLQkvLyBSZXN0b3JlIHRoZSBkdXR5IGN5Y2xlcw0KLQlTZXRQV01PdXRwdXQoKGNoYW5uZWxzIDw8IDEpICsgMSwgZHV0eUN5Y2xlc1swXSk7DQotCVNldFBXTU91dHB1dCgoY2hhbm5lbHMgPDwgMSkgKyAyLCBkdXR5Q3ljbGVzWzFdKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBzdGF0ZSBiZWluZyBvdXRwdXQgb24gYSBmaXhlZCBkaWdpdGFsIG91dHB1dC4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRml4ZWRETyBsaW5lIHRvIGdldC4gWzEsMl0NCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgRml4ZWRETyBsaW5lLg0KLSAqLw0KLWJvb2wgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldEZpeGVkRGlnaXRhbE91dHB1dChVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybiAwOw0KLQl9DQotCWlmICghbV9vdXRwdXRWYWxpZCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybiAwOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCXJldHVybiAoKG1fb3V0cHV0RGF0YS5kYXRhLmZpeGVkX2RpZ2l0YWxfb3V0ID4+IChjaGFubmVsLTEpKSAmIDEpICE9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc3RhdGUgdG8gb3V0cHV0IG9uIGEgRml4ZWQgSGlnaCBDdXJyZW50IERpZ2l0YWwgT3V0cHV0IGxpbmUuDQotICogDQotICogRml4ZWRETzEgaXMgcGluIDUgb24gdGhlIHRvcCBjb25uZWN0b3IgKFAyKS4NCi0gKiBGaXhlZERPMiBpcyBwaW4gMyBvbiB0aGUgdG9wIGNvbm5lY3RvciAoUDIpLg0KLSAqIA0KLSAqIFRoZSBGaXhlZERPIGxpbmVzIGFsd2F5cyBvdXRwdXQgMFYgYW5kIDMuM1YgcmVnYXJkbGVzcyBvZiBKMSBhbmQgSjQuDQotICogVGhleSBjYW4gc291cmNlIDRtQSBhbmQgY2FuIHNpbmsgMjVtQS4gIEJlY2F1c2Ugb2YgdGhpcywgdGhleSBhcmUgZXhwZWN0ZWQgdG8gYmUgdXNlZA0KLSAqIGluIGFuIGFjdGl2ZSBsb3cgY29uZmlndXJhdGlvbiwgc3VjaCBhcyBjb25uZWN0aW5nIHRvIHRoZSBjYXRob2RlIG9mIGEgYnJpZ2h0IExFRC4NCi0gKiBCZWNhdXNlIHRoZXkgYXJlIGV4cGVjdGVkIHRvIGJlIGFjdGl2ZSBsb3csIHRoZXkgZGVmYXVsdCB0byB0cnVlLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBGaXhlZERPIGNoYW5uZWwgdG8gc2V0Lg0KLSAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RhdGUgdG8gc2V0IHRoZSBGaXhlZERPLg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OlNldEZpeGVkRGlnaXRhbE91dHB1dChVSU5UMzIgY2hhbm5lbCwgYm9vbCB2YWx1ZSkNCi17DQotCWlmIChjaGFubmVsIDwgMSB8fCBjaGFubmVsID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImNoYW5uZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIW1fb3V0cHV0VmFsaWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm47DQotCX0NCi0NCi0Jc3RhdGljIFVJTlQ4IHJlcG9ydGVkX21hc2sgPSAwOw0KLQlpZiAoIShyZXBvcnRlZF9tYXNrICYgKDEgPj4gY2hhbm5lbCkpKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfRHJpdmVyU3RhdGlvbkVJTywgY2hhbm5lbCwgblVzYWdlUmVwb3J0aW5nOjprRHJpdmVyU3RhdGlvbkVJT19GaXhlZERpZ2l0YWxPdXQpOw0KLQkJcmVwb3J0ZWRfbWFzayB8PSAoMSA+PiBjaGFubmVsKTsNCi0JfQ0KLQ0KLQlVSU5UOCBkaWdpdGFsOw0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX291dHB1dERhdGFTZW1hcGhvcmUpOw0KLQlkaWdpdGFsID0gbV9vdXRwdXREYXRhLmRhdGEuZml4ZWRfZGlnaXRhbF9vdXQ7DQotDQotCWRpZ2l0YWwgJj0gfigxIDw8IChjaGFubmVsLTEpKTsNCi0JaWYgKHZhbHVlKSBkaWdpdGFsIHw9IDEgPDwgKGNoYW5uZWwtMSk7DQotDQotCW1fb3V0cHV0RGF0YS5kYXRhLmZpeGVkX2RpZ2l0YWxfb3V0ID0gZGlnaXRhbDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBwb3NpdGlvbiBvZiBhIHF1YWRyYXR1cmUgZW5jb2Rlci4NCi0gKiANCi0gKiBUaGVyZSBhcmUgdHdvIHNpZ25lZCAxNi1iaXQgNFggcXVhZHJhdHVyZSBkZWNvZGVycyBvbiB0aGUgSU8gYm9hcmQuICBUaGVzZSBkZWNvZGVycyBhcmUgYWx3YXlzIG1vbml0b3JpbmcNCi0gKiB0aGUgc3RhdGUgb2YgdGhlIGxpbmVzIGFzc2lnbmVkIHRvIHRoZW0sIGJ1dCB0aGVzZSBsaW5lcyBkbyBub3QgaGF2ZSB0byBiZSB1c2VkIGZvciBlbmNvZGVycy4NCi0gKiANCi0gKiBFbmNvZGVyMSB1c2VzIERJTzQgZm9yICJBIiwgRElPNiBmb3IgIkIiLCBhbmQgRElPOCBmb3IgIkluZGV4Ii4NCi0gKiBFbmNvZGVyMiB1c2VzIERJTzUgZm9yICJBIiwgRElPNyBmb3IgIkIiLCBhbmQgRElPOSBmb3IgIkluZGV4Ii4NCi0gKiANCi0gKiBUaGUgaW5kZXggZnVuY3Rpb25hbGl0eSBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2luZyBTZXRFbmNvZGVySW5kZXhFbmFibGUoKS4NCi0gKiANCi0gKiBAcGFyYW0gZW5jb2Rlck51bWJlciBUaGUgcXVhZHJhdHVyZSBlbmNvZGVyIHRvIGFjY2Vzcy4gWzEsMl0NCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBxdWFkcmF0dXJlIGVuY29kZXIuDQotICovDQotSU5UMTYgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldEVuY29kZXIoVUlOVDMyIGVuY29kZXJOdW1iZXIpDQotew0KLQlpZiAoZW5jb2Rlck51bWJlciA8IDEgfHwgZW5jb2Rlck51bWJlciA+IDIpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJlbmNvZGVyTnVtYmVyIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyIik7DQotCQlyZXR1cm4gMDsNCi0JfQ0KLQlpZiAoIW1faW5wdXRWYWxpZCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybiAwOw0KLQl9DQotDQotCXN0YXRpYyBVSU5UOCByZXBvcnRlZF9tYXNrID0gMDsNCi0JaWYgKCEocmVwb3J0ZWRfbWFzayAmICgxID4+IGVuY29kZXJOdW1iZXIpKSkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIGVuY29kZXJOdW1iZXIsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fRW5jb2Rlcik7DQotCQlyZXBvcnRlZF9tYXNrIHw9ICgxID4+IGVuY29kZXJOdW1iZXIpOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1faW5wdXREYXRhU2VtYXBob3JlKTsNCi0JcmV0dXJuIG1faW5wdXREYXRhLmRhdGEucXVhZFtlbmNvZGVyTnVtYmVyIC0gMV0gLSBtX2VuY29kZXJPZmZzZXRzW2VuY29kZXJOdW1iZXIgLSAxXTsNCi19DQotDQotLyoqDQotICogUmVzZXQgdGhlIHBvc2l0aW9uIG9mIGFuIGVuY29kZXIgdG8gMC4NCi0gKiANCi0gKiBUaGlzIHNpbXBseSBzdG9yZXMgYW4gb2Zmc2V0IGxvY2FsbHkuICBJdCBkb2VzIG5vdCByZXNldCB0aGUgaGFyZHdhcmUgY291bnRlciBvbiB0aGUgSU8gYm9hcmQuDQotICogSWYgeW91IHVzZSB0aGlzIG1ldGhvZCB3aXRoIEluZGV4IGVuYWJsZWQsIHlvdSBtYXkgZ2V0IHVuZXhwZWN0ZWQgcmVzdWx0cy4NCi0gKiANCi0gKiBAcGFyYW0gZW5jb2Rlck51bWJlciBUaGUgcXVhZHJhdHVyZSBlbmNvZGVyIHRvIHJlc2V0LiBbMSwyXQ0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OlJlc2V0RW5jb2RlcihVSU5UMzIgZW5jb2Rlck51bWJlcikNCi17DQotCWlmIChlbmNvZGVyTnVtYmVyIDwgMSB8fCBlbmNvZGVyTnVtYmVyID4gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgImVuY29kZXJOdW1iZXIgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDIiKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIW1faW5wdXRWYWxpZCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2lucHV0RGF0YVNlbWFwaG9yZSk7DQotCW1fZW5jb2Rlck9mZnNldHNbZW5jb2Rlck51bWJlciAtIDFdID0gbV9pbnB1dERhdGEuZGF0YS5xdWFkW2VuY29kZXJOdW1iZXIgLSAxXTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24gb2YgYSBxdWFkcmF0dXJlIGVuY29kZXIgaW5kZXggY2hhbm5lbC4NCi0gKiANCi0gKiBUaGlzIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgZm9yY2luZyB0aGUgRHJpdmVyIFN0YXRpb24gdG8gc3dpdGNoIHRvIEVuaGFuY2VkIG1vZGUgaWYgaXQncyBub3Qgd2hlbiBjYWxsZWQuDQotICogSWYgRW5oYW5jZWQgbW9kZSBpcyBub3QgZW5hYmxlZCB3aGVuIHRoaXMgaXMgY2FsbGVkLCBpdCB3aWxsIHJldHVybiBmYWxzZS4NCi0gKiANCi0gKiBAcGFyYW0gZW5jb2Rlck51bWJlciBUaGUgcXVhZHJhdHVyZSBlbmNvZGVyLiBbMSwyXQ0KLSAqIEByZXR1cm4gSXMgdGhlIGluZGV4IGNoYW5uZWwgb2YgdGhlIGVuY29kZXIgZW5hYmxlZC4NCi0gKi8NCi1ib29sIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRFbmNvZGVySW5kZXhFbmFibGUoVUlOVDMyIGVuY29kZXJOdW1iZXIpDQotew0KLQlpZiAoZW5jb2Rlck51bWJlciA8IDEgfHwgZW5jb2Rlck51bWJlciA+IDIpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJlbmNvZGVyTnVtYmVyIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyIik7DQotCQlyZXR1cm4gZmFsc2U7DQotCX0NCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQltX3JlcXVlc3RFbmhhbmNlZEVuYWJsZSA9IHRydWU7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuIGZhbHNlOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCXJldHVybiAoKG1fb3V0cHV0RGF0YS5kYXRhLnF1YWRfaW5kZXhfZW5hYmxlID4+IChlbmNvZGVyTnVtYmVyIC0gMSkpICYgMSkgIT0gMDsNCi19DQotDQotLyoqDQotICogRW5hYmxlIG9yIGRpc2FibGUgdGhlIGluZGV4IGNoYW5uZWwgb2YgYSBxdWFkcmF0dXJlIGVuY29kZXIuDQotICogDQotICogVGhlIHF1YWRyYXR1cmUgZGVjb2RlcnMgb24gdGhlIElPIGJvYXJkIHN1cHBvcnQgYW4gYWN0aXZlLWxvdyBpbmRleCBpbnB1dC4NCi0gKiANCi0gKiBFbmNvZGVyMSB1c2VzIERJTzggZm9yICJJbmRleCIuDQotICogRW5jb2RlcjIgdXNlcyBESU85IGZvciAiSW5kZXgiLg0KLSAqIA0KLSAqIFdoZW4gZW5hYmxlZCwgdGhlIGRlY29kZXIncyBjb3VudGVyIHdpbGwgYmUgcmVzZXQgdG8gMCB3aGVuIEEsIEIsIGFuZCBJbmRleCBhcmUgYWxsIGxvdy4NCi0gKiANCi0gKiBAcGFyYW0gZW5jb2Rlck51bWJlciBUaGUgcXVhZHJhdHVyZSBlbmNvZGVyLiBbMSwyXQ0KLSAqIEBwYXJhbSBlbmFibGUgSWYgdHJ1ZSwgcmVzZXQgdGhlIGVuY29kZXIgaW4gYW4gaW5kZXggY29uZGl0aW9uLg0KLSAqLw0KLXZvaWQgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OlNldEVuY29kZXJJbmRleEVuYWJsZShVSU5UMzIgZW5jb2Rlck51bWJlciwgYm9vbCBlbmFibGUpDQotew0KLQlpZiAoZW5jb2Rlck51bWJlciA8IDEgfHwgZW5jb2Rlck51bWJlciA+IDIpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJlbmNvZGVyTnVtYmVyIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAyIik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9vdXRwdXREYXRhU2VtYXBob3JlKTsNCi0JbV9vdXRwdXREYXRhLmRhdGEucXVhZF9pbmRleF9lbmFibGUgJj0gfigxIDw8IChlbmNvZGVyTnVtYmVyIC0gMSkpOw0KLQlpZiAoZW5hYmxlKSBtX291dHB1dERhdGEuZGF0YS5xdWFkX2luZGV4X2VuYWJsZSB8PSAxIDw8IChlbmNvZGVyTnVtYmVyIC0gMSk7DQotCW1fY29uZmlnQ2hhbmdlZCA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgdmFsdWUgb2YgdGhlIENhcGFjaXRpdmUgU2Vuc2UgdG91Y2ggc2xpZGVyLg0KLSAqIA0KLSAqIEByZXR1cm4gVmFsdWUgYmV0d2VlbiAwLjAgKHRvd2FyZCBjZW50ZXIgb2YgYm9hcmQpIGFuZCAxLjAgKHRvd2FyZCBlZGdlIG9mIGJvYXJkKS4gIC0xLjAgbWVhbnMgbm8gdG91Y2ggZGV0ZWN0ZWQuDQotICovDQotZG91YmxlIERyaXZlclN0YXRpb25FbmhhbmNlZElPOjpHZXRUb3VjaFNsaWRlcigpDQotew0KLQlpZiAoIW1faW5wdXRWYWxpZCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybiAwLjA7DQotCX0NCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIDEsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fVG91Y2hTbGlkZXIpOw0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2lucHV0RGF0YVNlbWFwaG9yZSk7DQotCVVJTlQ4IHZhbHVlID0gbV9pbnB1dERhdGEuZGF0YS5jYXBzZW5zZV9zbGlkZXI7DQotCXJldHVybiB2YWx1ZSA9PSAyNTUgPyAtMS4wIDogdmFsdWUgLyAyNTQuMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBwZXJjZW50IGR1dHktY3ljbGUgdGhhdCB0aGUgUFdNIGdlbmVyYXRvciBjaGFubmVsIGlzIGNvbmZpZ3VyZWQgdG8gb3V0cHV0Lg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBESU8gbGluZSdzIFBXTSBnZW5lcmF0b3IgdG8gZ2V0IHRoZSBkdXR5LWN5Y2xlIGZyb20uIFsxLDRdDQotICogQHJldHVybiBUaGUgcGVyY2VudCBkdXR5LWN5Y2xlIGJlaW5nIG91dHB1dCAoaWYgdGhlIERJTyBsaW5lIGlzIGNvbmZpZ3VyZWQgZm9yIFBXTSkuIFswLjAsMS4wXQ0KLSAqLw0KLWRvdWJsZSBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6R2V0UFdNT3V0cHV0KFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPCAxIHx8IGNoYW5uZWwgPiA0KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY2hhbm5lbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNCIpOw0KLQkJcmV0dXJuIDAuMDsNCi0JfQ0KLQlpZiAoIW1fb3V0cHV0VmFsaWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihFbmhhbmNlZElPTWlzc2luZyk7DQotCQlyZXR1cm4gMC4wOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1fb3V0cHV0RGF0YVNlbWFwaG9yZSk7DQotCXJldHVybiAoZG91YmxlKW1fb3V0cHV0RGF0YS5kYXRhLnB3bV9jb21wYXJlW2NoYW5uZWwgLSAxXSAvIChkb3VibGUpbV9vdXRwdXREYXRhLmRhdGEucHdtX3BlcmlvZFsoY2hhbm5lbCAtIDEpID4+IDFdOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHBlcmNlbnQgZHV0eS1jeWNsZSB0byBvdXRwdXQgb24gYSBQV00gZW5hYmxlZCBESU8gbGluZS4NCi0gKiANCi0gKiBESU8xIHRocm91Z2ggRElPNCBoYXZlIHRoZSBhYmlsaXR5IHRvIG91dHB1dCBhIFBXTSBzaWduYWwuICBUaGUgcGVyaW9kIG9mIHRoZQ0KLSAqIHNpZ25hbCBjYW4gYmUgY29uZmlndXJlZCBpbiBwYWlycyB1c2luZyBTZXRQV01QZXJpb2QoKS4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgRElPIGxpbmUncyBQV00gZ2VuZXJhdG9yIHRvIHNldC4gWzEsNF0NCi0gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmNlbnQgZHV0eS1jeWNsZSB0byBvdXRwdXQgZnJvbSB0aGUgUFdNIGdlbmVyYXRvci4gWzAuMCwxLjBdDQotICovDQotdm9pZCBEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTzo6U2V0UFdNT3V0cHV0KFVJTlQzMiBjaGFubmVsLCBkb3VibGUgdmFsdWUpDQotew0KLQlpZiAoY2hhbm5lbCA8IDEgfHwgY2hhbm5lbCA+IDQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJjaGFubmVsIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0Iik7DQotCQlyZXR1cm47DQotCX0NCi0JaWYgKCFtX291dHB1dFZhbGlkKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoRW5oYW5jZWRJT01pc3NpbmcpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXN0YXRpYyBVSU5UOCByZXBvcnRlZF9tYXNrID0gMDsNCi0JaWYgKCEocmVwb3J0ZWRfbWFzayAmICgxID4+IGNoYW5uZWwpKSkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25FSU8sIGNoYW5uZWwsIG5Vc2FnZVJlcG9ydGluZzo6a0RyaXZlclN0YXRpb25FSU9fUFdNKTsNCi0JCXJlcG9ydGVkX21hc2sgfD0gKDEgPj4gY2hhbm5lbCk7DQotCX0NCi0NCi0JaWYgKHZhbHVlID4gMS4wKSB2YWx1ZSA9IDEuMDsNCi0JZWxzZSBpZiAodmFsdWUgPCAwLjApIHZhbHVlID0gMC4wOw0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX291dHB1dERhdGFTZW1hcGhvcmUpOw0KLQltX291dHB1dERhdGEuZGF0YS5wd21fY29tcGFyZVtjaGFubmVsIC0gMV0gPSAoVUlOVDE2KSh2YWx1ZSAqIChkb3VibGUpbV9vdXRwdXREYXRhLmRhdGEucHdtX3BlcmlvZFsoY2hhbm5lbCAtIDEpID4+IDFdKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBmaXJtd2FyZSB2ZXJzaW9uIHJ1bm5pbmcgb24gdGhlIElPIGJvYXJkLg0KLSAqIA0KLSAqIFRoaXMgYWxzbyBoYXMgdGhlIHNpZGUgZWZmZWN0IG9mIGZvcmNpbmcgdGhlIGRyaXZlciBzdGF0aW9uIHRvIHN3aXRjaCB0byBFbmhhbmNlZCBtb2RlIGlmIGl0IGlzIG5vdC4NCi0gKiBJZiB5b3UgcGxhbiB0byBzd2l0Y2ggYmV0d2VlbiBEcml2ZXIgU3RhdGlvbnMgd2l0aCB1bmtub3duIElPIGNvbmZpZ3VyYXRpb25zLCB5b3UgY2FuIGNhbGwgdGhpcw0KLSAqIHVudGlsIGl0IHJldHVybnMgYSBub24tMCB2ZXJzaW9uIHRvIGVuc3VyZSB0aGF0IHRoaXMgQVBJIGlzIGFjY2Vzc2libGUgYmVmb3JlIHByb2NlZWRpbmcuDQotICogDQotICogQHJldHVybiBUaGUgdmVyc2lvbiBvZiB0aGUgZmlybXdhcmUgcnVubmluZyBvbiB0aGUgSU8gYm9hcmQuICAwIGlmIHRoZSBib2FyZCBpcyBub3QgYXR0YWNoZWQgb3Igbm90IGluIEVuaGFuY2VkIG1vZGUuDQotICovDQotVUlOVDggRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU86OkdldEZpcm13YXJlVmVyc2lvbigpDQotew0KLQlpZiAoIW1faW5wdXRWYWxpZCkNCi0Jew0KLQkJbV9yZXF1ZXN0RW5oYW5jZWRFbmFibGUgPSB0cnVlOw0KLQkJd3BpX3NldFdQSUVycm9yKEVuaGFuY2VkSU9NaXNzaW5nKTsNCi0JCXJldHVybiAwOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1faW5wdXREYXRhU2VtYXBob3JlKTsNCi0JcmV0dXJuIG1faW5wdXREYXRhLmRhdGEuZndfdmVyc2lvbjsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb25FbmhhbmNlZElPLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5OTFmODQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8uaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19EUklWRVJfU1RBVElPTl9FTkhBTkNFRF9JT19IX18NCi0jZGVmaW5lIF9fRFJJVkVSX1NUQVRJT05fRU5IQU5DRURfSU9fSF9fDQotDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgiDQotI2luY2x1ZGUgPHN0YWNrPg0KLSNpbmNsdWRlIDx2ZWN0b3I+DQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0jZGVmaW5lIGtBbmFsb2dJbnB1dFJlc29sdXRpb24gKChkb3VibGUpKCgxPDwxNCktMSkpDQotI2RlZmluZSBrQW5hbG9nSW5wdXRSZWZlcmVuY2UgMy4zDQotI2RlZmluZSBrQW5hbG9nT3V0cHV0UmVzb2x1dGlvbiAoKGRvdWJsZSkoKDE8PDgpLTEpKQ0KLSNkZWZpbmUga0FuYWxvZ091dHB1dFJlZmVyZW5jZSA0LjANCi0jZGVmaW5lIGtBY2NlbE9mZnNldCA4MzAwDQotI2RlZmluZSBrQWNjZWxTY2FsZSAzMzAwLjANCi0jZGVmaW5lIGtTdXBwb3J0ZWRBUElWZXJzaW9uIDENCi0NCi0vKioNCi0gKiBJbnRlcmFjdCB3aXRoIHRoZSBtb3JlIGNvbXBsZXRlIEkvTyBhdmFpbGFibGUgZnJvbSB0aGUgDQotICogbmV3ZXN0IGRyaXZlciBzdGF0aW9uLiAgR2V0IGEgcmVmZXJlbmNlIHRvIGFuIG9iamVjdA0KLSAqIG9mIHRoaXMgdHlwZSBieSBjYWxsaW5nIEdldEVuaGFuY2VkSU8oKSBvbiB0aGUgRHJpdmVyU3RhdGlvbiBvYmplY3QuDQotICovDQotY2xhc3MgRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8gOiBwdWJsaWMgRXJyb3JCYXNlDQotew0KLQkvLyBDYW4gb25seSBiZSBjb25zdHJ1Y3RlZCBieSB0aGUgRHJpdmVyU3RhdGlvbiBjbGFzcy4NCi0JZnJpZW5kIGNsYXNzIERyaXZlclN0YXRpb247DQotDQotI3ByYWdtYSBwYWNrKHB1c2gsMSkNCi0JLy8gQkVHSU46IERlZmluaXRpb25zIGZyb20gdGhlIEN5cHJlc3MgZmlybXdhcmUNCi0JdHlwZWRlZiBzdHJ1Y3QNCi0Jew0KLQkJVUlOVDE2IGRpZ2l0YWw7DQotCQlVSU5UMTYgZGlnaXRhbF9vZTsNCi0JCVVJTlQxNiBkaWdpdGFsX3BlOw0KLQkJVUlOVDE2IHB3bV9jb21wYXJlWzRdOw0KLQkJVUlOVDE2IHB3bV9wZXJpb2RbMl07DQotCQlVSU5UOCBkYWNbMl07DQotCQlVSU5UOCBsZWRzOw0KLQkJdW5pb24NCi0JCXsNCi0JCQlzdHJ1Y3QNCi0JCQl7DQotCQkJCS8vIEJpdHMgYXJlIGludmVydGVkIGZyb20gY3lwcmVzcyBmdyBiZWNhdXNlIG9mIGJpZy1lbmRpYW4hDQotCQkJCVVJTlQ4IHB3bV9lbmFibGUgOiA0Ow0KLQkJCQlVSU5UOCBjb21wYXJhdG9yX2VuYWJsZSA6IDI7DQotCQkJCVVJTlQ4IHF1YWRfaW5kZXhfZW5hYmxlIDogMjsNCi0JCQl9Ow0KLQkJCVVJTlQ4IGVuYWJsZXM7DQotCQl9Ow0KLQkJVUlOVDggZml4ZWRfZGlnaXRhbF9vdXQ7DQotCX0gb3V0cHV0X3Q7ICAvL2RhdGEgdG8gSU8gKDIzIGJ5dGVzKQ0KLQ0KLQl0eXBlZGVmIHN0cnVjdA0KLQl7DQotCQlVSU5UOCBhcGlfdmVyc2lvbjsNCi0JCVVJTlQ4IGZ3X3ZlcnNpb247DQotCQlJTlQxNiBhbmFsb2dbOF07DQotCQlVSU5UMTYgZGlnaXRhbDsNCi0JCUlOVDE2IGFjY2VsWzNdOw0KLQkJSU5UMTYgcXVhZFsyXTsNCi0JCVVJTlQ4IGJ1dHRvbnM7DQotCQlVSU5UOCBjYXBzZW5zZV9zbGlkZXI7DQotCQlVSU5UOCBjYXBzZW5zZV9wcm94aW1pdHk7DQotCX0gaW5wdXRfdDsJLy9kYXRhIGZyb20gSU8gKDMzIGJ5dGVzKQ0KLQkvLyBFTkQ6IERlZmluaXRpb25zIGZyb20gdGhlIEN5cHJlc3MgZmlybXdhcmUNCi0NCi0JLy8gRHluYW1pYyBibG9jayBkZWZpbml0aW9ucw0KLQl0eXBlZGVmIHN0cnVjdA0KLQl7DQotCQlVSU5UOCBzaXplOyAvLyBNdXN0IGJlIDI1IChzaXplIHJlbWFpbmluZyBpbiB0aGUgYmxvY2sgbm90IGNvdW50aW5nIHRoZSBzaXplIHZhcmlhYmxlKQ0KLQkJVUlOVDggaWQ7IC8vIE11c3QgYmUgMTgNCi0JCW91dHB1dF90IGRhdGE7DQotCQlVSU5UOCBmbGFnczsNCi0JfSBzdGF0dXNfYmxvY2tfdDsNCi0NCi0JdHlwZWRlZiBzdHJ1Y3QNCi0Jew0KLQkJVUlOVDggc2l6ZTsgLy8gTXVzdCBiZSAzNA0KLQkJVUlOVDggaWQ7IC8vIE11c3QgYmUgMTcNCi0JCWlucHV0X3QgZGF0YTsNCi0JfSBjb250cm9sX2Jsb2NrX3Q7DQotI3ByYWdtYSBwYWNrKHBvcCkNCi0NCi0JZW51bSB0QmxvY2tJRA0KLQl7DQotCQlrSW5wdXRCbG9ja0lEID0ga0ZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9EeW5hbWljVHlwZV9EU0VuaGFuY2VkSU9fSW5wdXQsDQotCQlrT3V0cHV0QmxvY2tJRCA9IGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfRFNFbmhhbmNlZElPX091dHB1dCwNCi0JfTsNCi0JZW51bSB0U3RhdHVzRmxhZ3Mge2tTdGF0dXNWYWxpZCA9IDB4MDEsIGtTdGF0dXNDb25maWdDaGFuZ2VkID0gMHgwMiwga0ZvcmNlRW5oYW5jZWRNb2RlID0gMHgwNH07DQotDQotcHVibGljOg0KLQllbnVtIHREaWdpdGFsQ29uZmlnIHtrVW5rbm93biwga0lucHV0RmxvYXRpbmcsIGtJbnB1dFB1bGxVcCwga0lucHV0UHVsbERvd24sIGtPdXRwdXQsIGtQV00sIGtBbmFsb2dDb21wYXJhdG9yfTsNCi0JZW51bSB0QWNjZWxDaGFubmVsIHtrQWNjZWxYID0gMCwga0FjY2VsWSA9IDEsIGtBY2NlbFogPSAyfTsNCi0JZW51bSB0UFdNUGVyaW9kQ2hhbm5lbHMge2tQV01DaGFubmVsczFhbmQyLCBrUFdNQ2hhbm5lbHMzYW5kNH07DQotDQotCWRvdWJsZSBHZXRBY2NlbGVyYXRpb24odEFjY2VsQ2hhbm5lbCBjaGFubmVsKTsNCi0JZG91YmxlIEdldEFuYWxvZ0luKFVJTlQzMiBjaGFubmVsKTsNCi0JZG91YmxlIEdldEFuYWxvZ0luUmF0aW8oVUlOVDMyIGNoYW5uZWwpOw0KLQlkb3VibGUgR2V0QW5hbG9nT3V0KFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXRBbmFsb2dPdXQoVUlOVDMyIGNoYW5uZWwsIGRvdWJsZSB2YWx1ZSk7DQotCWJvb2wgR2V0QnV0dG9uKFVJTlQzMiBjaGFubmVsKTsNCi0JVUlOVDggR2V0QnV0dG9ucygpOw0KLQl2b2lkIFNldExFRChVSU5UMzIgY2hhbm5lbCwgYm9vbCB2YWx1ZSk7DQotCXZvaWQgU2V0TEVEcyhVSU5UOCB2YWx1ZSk7DQotCWJvb2wgR2V0RGlnaXRhbChVSU5UMzIgY2hhbm5lbCk7DQotCVVJTlQxNiBHZXREaWdpdGFscygpOw0KLQl2b2lkIFNldERpZ2l0YWxPdXRwdXQoVUlOVDMyIGNoYW5uZWwsIGJvb2wgdmFsdWUpOw0KLQl0RGlnaXRhbENvbmZpZyBHZXREaWdpdGFsQ29uZmlnKFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXREaWdpdGFsQ29uZmlnKFVJTlQzMiBjaGFubmVsLCB0RGlnaXRhbENvbmZpZyBjb25maWcpOw0KLQlkb3VibGUgR2V0UFdNUGVyaW9kKHRQV01QZXJpb2RDaGFubmVscyBjaGFubmVscyk7DQotCXZvaWQgU2V0UFdNUGVyaW9kKHRQV01QZXJpb2RDaGFubmVscyBjaGFubmVscywgZG91YmxlIHBlcmlvZCk7DQotCWJvb2wgR2V0Rml4ZWREaWdpdGFsT3V0cHV0KFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXRGaXhlZERpZ2l0YWxPdXRwdXQoVUlOVDMyIGNoYW5uZWwsIGJvb2wgdmFsdWUpOw0KLQlJTlQxNiBHZXRFbmNvZGVyKFVJTlQzMiBlbmNvZGVyTnVtYmVyKTsNCi0Jdm9pZCBSZXNldEVuY29kZXIoVUlOVDMyIGVuY29kZXJOdW1iZXIpOw0KLQlib29sIEdldEVuY29kZXJJbmRleEVuYWJsZShVSU5UMzIgZW5jb2Rlck51bWJlcik7DQotCXZvaWQgU2V0RW5jb2RlckluZGV4RW5hYmxlKFVJTlQzMiBlbmNvZGVyTnVtYmVyLCBib29sIGVuYWJsZSk7DQotCWRvdWJsZSBHZXRUb3VjaFNsaWRlcigpOw0KLQlkb3VibGUgR2V0UFdNT3V0cHV0KFVJTlQzMiBjaGFubmVsKTsNCi0Jdm9pZCBTZXRQV01PdXRwdXQoVUlOVDMyIGNoYW5uZWwsIGRvdWJsZSB2YWx1ZSk7DQotCVVJTlQ4IEdldEZpcm13YXJlVmVyc2lvbigpOw0KLQ0KLXByaXZhdGU6DQotCURyaXZlclN0YXRpb25FbmhhbmNlZElPKCk7DQotCXZpcnR1YWwgfkRyaXZlclN0YXRpb25FbmhhbmNlZElPKCk7DQotCXZvaWQgVXBkYXRlRGF0YSgpOw0KLQl2b2lkIE1lcmdlQ29uZmlnSW50b091dHB1dChjb25zdCBzdGF0dXNfYmxvY2tfdCAmZHNPdXRwdXRCbG9jaywgc3RhdHVzX2Jsb2NrX3QgJmxvY2FsQ2FjaGUpOw0KLQlib29sIElzQ29uZmlnRXF1YWwoY29uc3Qgc3RhdHVzX2Jsb2NrX3QgJmRzT3V0cHV0QmxvY2ssIGNvbnN0IHN0YXR1c19ibG9ja190ICZsb2NhbENhY2hlKTsNCi0NCi0JLy8gVXNhZ2UgR3VpZGVsaW5lcy4uLg0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8pOw0KLQ0KLQljb250cm9sX2Jsb2NrX3QgbV9pbnB1dERhdGE7DQotCXN0YXR1c19ibG9ja190IG1fb3V0cHV0RGF0YTsNCi0JU0VNX0lEIG1faW5wdXREYXRhU2VtYXBob3JlOw0KLQlTRU1fSUQgbV9vdXRwdXREYXRhU2VtYXBob3JlOw0KLQlib29sIG1faW5wdXRWYWxpZDsNCi0JYm9vbCBtX291dHB1dFZhbGlkOw0KLQlib29sIG1fY29uZmlnQ2hhbmdlZDsNCi0JYm9vbCBtX3JlcXVlc3RFbmhhbmNlZEVuYWJsZTsNCi0JSU5UMTYgbV9lbmNvZGVyT2Zmc2V0c1syXTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0RyaXZlclN0YXRpb25MQ0QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkxDRC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmODRlZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkxDRC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbkxDRC5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSA8c3RyTGliLmg+DQotDQotY29uc3QgVUlOVDMyIERyaXZlclN0YXRpb25MQ0Q6OmtTeW5jVGltZW91dF9tczsNCi1jb25zdCBVSU5UMTYgRHJpdmVyU3RhdGlvbkxDRDo6a0Z1bGxEaXNwbGF5VGV4dENvbW1hbmQ7DQotY29uc3QgSU5UMzIgRHJpdmVyU3RhdGlvbkxDRDo6a0xpbmVMZW5ndGg7DQotY29uc3QgSU5UMzIgRHJpdmVyU3RhdGlvbkxDRDo6a051bUxpbmVzOw0KLURyaXZlclN0YXRpb25MQ0QqIERyaXZlclN0YXRpb25MQ0Q6Om1faW5zdGFuY2UgPSBOVUxMOw0KLQ0KLS8qKg0KLSAqIERyaXZlclN0YXRpb25MQ0QgY29udHJ1Y3Rvci4NCi0gKiANCi0gKiBUaGlzIGlzIG9ubHkgY2FsbGVkIG9uY2UgdGhlIGZpcnN0IHRpbWUgR2V0SW5zdGFuY2UoKSBpcyBjYWxsZWQNCi0gKi8NCi1Ecml2ZXJTdGF0aW9uTENEOjpEcml2ZXJTdGF0aW9uTENEKCkNCi0JOiBtX3RleHRCdWZmZXIgKE5VTEwpDQotCSwgbV90ZXh0QnVmZmVyU2VtYXBob3JlIChOVUxMKQ0KLXsNCi0JbV90ZXh0QnVmZmVyID0gbmV3IGNoYXJbVVNFUl9EU19MQ0RfREFUQV9TSVpFXTsNCi0JbWVtc2V0KG1fdGV4dEJ1ZmZlciwgJyAnLCBVU0VSX0RTX0xDRF9EQVRBX1NJWkUpOw0KLQ0KLQkqKChVSU5UMTYgKiltX3RleHRCdWZmZXIpID0ga0Z1bGxEaXNwbGF5VGV4dENvbW1hbmQ7DQotDQotCW1fdGV4dEJ1ZmZlclNlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX0RFTEVURV9TQUZFKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0RyaXZlclN0YXRpb25MQ0QsIDApOw0KLQ0KLQlBZGRUb1NpbmdsZXRvbkxpc3QoKTsNCi19DQotDQotRHJpdmVyU3RhdGlvbkxDRDo6fkRyaXZlclN0YXRpb25MQ0QoKQ0KLXsNCi0Jc2VtRGVsZXRlKG1fdGV4dEJ1ZmZlclNlbWFwaG9yZSk7DQotCWRlbGV0ZSBbXSBtX3RleHRCdWZmZXI7DQotCW1faW5zdGFuY2UgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBzaW5nbGV0b24gRHJpdmVyU3RhdGlvbkxDRC4NCi0gKi8NCi1Ecml2ZXJTdGF0aW9uTENEKiBEcml2ZXJTdGF0aW9uTENEOjpHZXRJbnN0YW5jZSgpDQotew0KLQlpZiAobV9pbnN0YW5jZSA9PSBOVUxMKQ0KLQl7DQotCQltX2luc3RhbmNlID0gbmV3IERyaXZlclN0YXRpb25MQ0QoKTsNCi0JfQ0KLQlyZXR1cm4gbV9pbnN0YW5jZTsNCi19DQotDQotLyoqDQotICogU2VuZCB0aGUgdGV4dCBkYXRhIHRvIHRoZSBEcml2ZXIgU3RhdGlvbi4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25MQ0Q6OlVwZGF0ZUxDRCgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3RleHRCdWZmZXJTZW1hcGhvcmUpOw0KLQlzZXRVc2VyRHNMY2REYXRhKG1fdGV4dEJ1ZmZlciwgVVNFUl9EU19MQ0RfREFUQV9TSVpFLCBrU3luY1RpbWVvdXRfbXMpOw0KLX0NCi0NCi0vKioNCi0gKiBQcmludCBmb3JtYXR0ZWQgdGV4dCB0byB0aGUgRHJpdmVyIFN0YXRpb24gTENEIHRleHQgYnVmZXIuDQotICogDQotICogVXNlIFVwZGF0ZUxDRCgpIHBlcmlvZGljYWxseSB0byBhY3R1YWxseSBzZW5kIHRoZSB0ZXh0IHRvIHRoZSBEcml2ZXIgU3RhdGlvbi4NCi0gKiANCi0gKiBAcGFyYW0gbGluZSBUaGUgbGluZSBvbiB0aGUgTENEIHRvIHByaW50IHRvLg0KLSAqIEBwYXJhbSBzdGFydGluZ0NvbHVtbiBUaGUgY29sdW1uIHRvIHN0YXJ0IHByaW50aW5nIHRvLiAgVGhpcyBpcyBhIDEtYmFzZWQgbnVtYmVyLg0KLSAqIEBwYXJhbSB3cml0ZUZtdCBUaGUgcHJpbnRmIGZvcm1hdCBzdHJpbmcgZGVzY3JpYmluZyBob3cgdG8gcHJpbnQuDQotICovDQotdm9pZCBEcml2ZXJTdGF0aW9uTENEOjpQcmludGYoTGluZSBsaW5lLCBJTlQzMiBzdGFydGluZ0NvbHVtbiwgY29uc3QgY2hhciAqd3JpdGVGbXQsIC4uLikNCi17DQotCXZhX2xpc3QgYXJnczsNCi0JdmFfc3RhcnQgKGFyZ3MsIHdyaXRlRm10KTsNCi0JVlByaW50ZihsaW5lLCBzdGFydGluZ0NvbHVtbiwgd3JpdGVGbXQsIGFyZ3MpOw0KLQl2YV9lbmQgKGFyZ3MpOw0KLX0NCi0NCi12b2lkIERyaXZlclN0YXRpb25MQ0Q6OlZQcmludGYoTGluZSBsaW5lLCBJTlQzMiBzdGFydGluZ0NvbHVtbiwgY29uc3QgY2hhciAqd3JpdGVGbXQsIHZhX2xpc3QgYXJncykNCi17DQotCVVJTlQzMiBzdGFydCA9IHN0YXJ0aW5nQ29sdW1uIC0gMTsNCi0JSU5UMzIgbWF4TGVuZ3RoID0ga0xpbmVMZW5ndGggLSBzdGFydDsNCi0JY2hhciBsaW5lQnVmZmVyW2tMaW5lTGVuZ3RoICsgMV07DQotDQotCWlmIChzdGFydGluZ0NvbHVtbiA8IDEgfHwgc3RhcnRpbmdDb2x1bW4gPiBrTGluZUxlbmd0aCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgInN0YXJ0aW5nQ29sdW1uIik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JaWYgKGxpbmUgPCBrTWFpbl9MaW5lNiB8fCBsaW5lID4ga1VzZXJfTGluZTYpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJsaW5lIik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV90ZXh0QnVmZmVyU2VtYXBob3JlKTsNCi0JCS8vIHNucHJpbnRmIGFwcGVuZHMgTlVMTCB0byBpdHMgb3V0cHV0LiAgVGhlcmVmb3JlIHdlIGNhbid0IHdyaXRlIGRpcmVjdGx5IHRvIHRoZSBidWZmZXIuDQotCQlJTlQzMiBsZW5ndGggPSB2c25wcmludGYobGluZUJ1ZmZlciwga0xpbmVMZW5ndGggKyAxLCB3cml0ZUZtdCwgYXJncyk7DQotCQlpZiAobGVuZ3RoIDwgMCkgbGVuZ3RoID0ga0xpbmVMZW5ndGg7DQotDQotCQltZW1jcHkobV90ZXh0QnVmZmVyICsgc3RhcnQgKyBsaW5lICoga0xpbmVMZW5ndGggKyBzaXplb2YoVUlOVDE2KSwgbGluZUJ1ZmZlciwgc3RkOjptaW4obWF4TGVuZ3RoLGxlbmd0aCkpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFByaW50IGZvcm1hdHRlZCB0ZXh0IHRvIHRoZSBEcml2ZXIgU3RhdGlvbiBMQ0QgdGV4dCBidWZlci4gVGhpcyBmdW5jdGlvbiANCi0gKiBwYWRzIHRoZSBsaW5lIHdpdGggZW1wdHkgc3BhY2VzLiANCi0gKiANCi0gKiBVc2UgVXBkYXRlTENEKCkgcGVyaW9kaWNhbGx5IHRvIGFjdHVhbGx5IHNlbmQgdGhlIHRleHQgdG8gdGhlIERyaXZlciBTdGF0aW9uLg0KLSAqIA0KLSAqIEBwYXJhbSBsaW5lIFRoZSBsaW5lIG9uIHRoZSBMQ0QgdG8gcHJpbnQgdG8uDQotICogQHBhcmFtIHdyaXRlRm10IFRoZSBwcmludGYgZm9ybWF0IHN0cmluZyBkZXNjcmliaW5nIGhvdyB0byBwcmludC4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25MQ0Q6OlByaW50ZkxpbmUoTGluZSBsaW5lLCBjb25zdCBjaGFyICp3cml0ZUZtdCwgLi4uKQ0KLXsNCi0JdmFfbGlzdCBhcmdzOw0KLQl2YV9zdGFydCAoYXJncywgd3JpdGVGbXQpOw0KLQlWUHJpbnRmTGluZShsaW5lLCB3cml0ZUZtdCwgYXJncyk7DQotCXZhX2VuZCAoYXJncyk7DQotfQ0KLQ0KLXZvaWQgRHJpdmVyU3RhdGlvbkxDRDo6VlByaW50ZkxpbmUoTGluZSBsaW5lLCBjb25zdCBjaGFyICp3cml0ZUZtdCwgdmFfbGlzdCBhcmdzKQ0KLXsNCi0JY2hhciBsaW5lQnVmZmVyW2tMaW5lTGVuZ3RoICsgMV07DQotDQotCWlmIChsaW5lIDwga01haW5fTGluZTYgfHwgbGluZSA+IGtVc2VyX0xpbmU2KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAibGluZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fdGV4dEJ1ZmZlclNlbWFwaG9yZSk7DQotCQkvLyBzbnByaW50ZiBhcHBlbmRzIE5VTEwgdG8gaXRzIG91dHB1dC4gIFRoZXJlZm9yZSB3ZSBjYW4ndCB3cml0ZSBkaXJlY3RseSB0byB0aGUgYnVmZmVyLg0KLQkJSU5UMzIgbGVuZ3RoID0gc3RkOjptaW4odnNucHJpbnRmKGxpbmVCdWZmZXIsIGtMaW5lTGVuZ3RoICsgMSwgd3JpdGVGbXQsIGFyZ3MpLCBrTGluZUxlbmd0aCk7DQotCQlpZiAobGVuZ3RoIDwgMCkgbGVuZ3RoID0ga0xpbmVMZW5ndGg7DQotDQotCQkvLyBGaWxsIHRoZSByZXN0IG9mIHRoZSBidWZmZXINCi0JCWlmIChsZW5ndGggPCBrTGluZUxlbmd0aCkNCi0JCXsNCi0JCQltZW1zZXQobGluZUJ1ZmZlciArIGxlbmd0aCwgJyAnLCBrTGluZUxlbmd0aCAtIGxlbmd0aCk7DQotCQl9DQotCQkNCi0JCW1lbWNweShtX3RleHRCdWZmZXIgKyBsaW5lICoga0xpbmVMZW5ndGggKyBzaXplb2YoVUlOVDE2KSwgbGluZUJ1ZmZlciwga0xpbmVMZW5ndGgpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqICBDbGVhciBhbGwgbGluZXMgb24gdGhlIExDRC4NCi0gKi8NCi12b2lkIERyaXZlclN0YXRpb25MQ0Q6OkNsZWFyKCkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fdGV4dEJ1ZmZlclNlbWFwaG9yZSk7DQotCW1lbXNldChtX3RleHRCdWZmZXIgKyBzaXplb2YoVUlOVDE2KSwgJyAnLCBrTGluZUxlbmd0aCprTnVtTGluZXMpOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uTENELmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ecml2ZXJTdGF0aW9uTENELmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3ZjllZTkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRHJpdmVyU3RhdGlvbkxDRC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fRFJJVkVSX1NUQVRJT05fTENEX0hfXw0KLSNkZWZpbmUgX19EUklWRVJfU1RBVElPTl9MQ0RfSF9fDQotDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0NCi0vKioNCi0gKiBQcm92aWRlIGFjY2VzcyB0byAiTENEIiBvbiB0aGUgRHJpdmVyIFN0YXRpb24uDQotICogVGhpcyBpcyB0aGUgTWVzc2FnZXMgYm94IG9uIHRoZSBEUyBPcGVyYXRpb24gdGFiLg0KLSAqIA0KLSAqIEJ1ZmZlciB0aGUgcHJpbnRlZCBkYXRhIGxvY2FsbHkgYW5kIHRoZW4gc2VuZCBpdA0KLSAqIHdoZW4gVXBkYXRlTENEIGlzIGNhbGxlZC4NCi0gKi8NCi1jbGFzcyBEcml2ZXJTdGF0aW9uTENEIDogcHVibGljIFNlbnNvckJhc2UNCi17DQotcHVibGljOg0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtTeW5jVGltZW91dF9tcyA9IDIwOw0KLQlzdGF0aWMgY29uc3QgVUlOVDE2IGtGdWxsRGlzcGxheVRleHRDb21tYW5kID0gMHg5RkZGOw0KLQlzdGF0aWMgY29uc3QgSU5UMzIga0xpbmVMZW5ndGggPSAyMTsNCi0Jc3RhdGljIGNvbnN0IElOVDMyIGtOdW1MaW5lcyA9IDY7DQotCWVudW0gTGluZSB7a01haW5fTGluZTY9MCwga1VzZXJfTGluZTE9MCwga1VzZXJfTGluZTI9MSwga1VzZXJfTGluZTM9Miwga1VzZXJfTGluZTQ9Mywga1VzZXJfTGluZTU9NCwga1VzZXJfTGluZTY9NX07DQotDQotCXZpcnR1YWwgfkRyaXZlclN0YXRpb25MQ0QoKTsNCi0Jc3RhdGljIERyaXZlclN0YXRpb25MQ0QgKkdldEluc3RhbmNlKCk7DQotDQotCXZvaWQgVXBkYXRlTENEKCk7DQotCXZvaWQgUHJpbnRmKExpbmUgbGluZSwgSU5UMzIgc3RhcnRpbmdDb2x1bW4sIGNvbnN0IGNoYXIgKndyaXRlRm10LCAuLi4pOw0KLQl2b2lkIFZQcmludGYoTGluZSBsaW5lLCBJTlQzMiBzdGFydGluZ0NvbHVtbiwgY29uc3QgY2hhciAqd3JpdGVGbXQsIHZhX2xpc3QgYXJncyk7DQotCXZvaWQgUHJpbnRmTGluZShMaW5lIGxpbmUsIGNvbnN0IGNoYXIgKndyaXRlRm10LCAuLi4pOw0KLQl2b2lkIFZQcmludGZMaW5lKExpbmUgbGluZSwgY29uc3QgY2hhciAqd3JpdGVGbXQsIHZhX2xpc3QgYXJncyk7DQotIA0KLQl2b2lkIENsZWFyKCk7DQotDQotcHJvdGVjdGVkOg0KLQlEcml2ZXJTdGF0aW9uTENEKCk7DQotDQotcHJpdmF0ZToNCi0Jc3RhdGljIHZvaWQgSW5pdFRhc2soRHJpdmVyU3RhdGlvbkxDRCAqZHMpOw0KLQlzdGF0aWMgRHJpdmVyU3RhdGlvbkxDRCAqbV9pbnN0YW5jZTsNCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKERyaXZlclN0YXRpb25MQ0QpOw0KLQ0KLQljaGFyICptX3RleHRCdWZmZXI7DQotCVNFTV9JRCBtX3RleHRCdWZmZXJTZW1hcGhvcmU7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FbmNvZGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0VuY29kZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzQ0ZjlkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0VuY29kZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTQ5ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkVuY29kZXIuaCINCi0jaW5jbHVkZSAiRGlnaXRhbElucHV0LmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlJlc291cmNlLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0NCi1zdGF0aWMgUmVzb3VyY2UgKnF1YWRFbmNvZGVycyA9IE5VTEw7DQotDQotLyoqDQotICogQ29tbW9uIGluaXRpYWxpemF0aW9uIGNvZGUgZm9yIEVuY29kZXJzLg0KLSAqIFRoaXMgY29kZSBhbGxvY2F0ZXMgcmVzb3VyY2VzIGZvciBFbmNvZGVycyBhbmQgaXMgY29tbW9uIHRvIGFsbCBjb25zdHJ1Y3RvcnMuDQotICogQHBhcmFtIHJldmVyc2VEaXJlY3Rpb24gSWYgdHJ1ZSwgY291bnRzIGRvd24gaW5zdGVhZCBvZiB1cCAodGhpcyBpcyBhbGwgcmVsYXRpdmUpDQotICogQHBhcmFtIGVuY29kaW5nVHlwZSBlaXRoZXIgazFYLCBrMlgsIG9yIGs0WCB0byBpbmRpY2F0ZSAxWCwgMlggb3IgNFggZGVjb2RpbmcuIElmIDRYIGlzDQotICogc2VsZWN0ZWQsIHRoZW4gYW4gZW5jb2RlciBGUEdBIG9iamVjdCBpcyB1c2VkIGFuZCB0aGUgcmV0dXJuZWQgY291bnRzIHdpbGwgYmUgNHggdGhlIGVuY29kZXINCi0gKiBzcGVjJ2QgdmFsdWUgc2luY2UgYWxsIHJpc2luZyBhbmQgZmFsbGluZyBlZGdlcyBhcmUgY291bnRlZC4gSWYgMVggb3IgMlggYXJlIHNlbGVjdGVkIHRoZW4NCi0gKiBhIGNvdW50ZXIgb2JqZWN0IHdpbGwgYmUgdXNlZCBhbmQgdGhlIHJldHVybmVkIHZhbHVlIHdpbGwgZWl0aGVyIGV4YWN0bHkgbWF0Y2ggdGhlIHNwZWMnZCBjb3VudA0KLSAqIG9yIGJlIGRvdWJsZSAoMngpIHRoZSBzcGVjJ2QgY291bnQuDQotICovDQotdm9pZCBFbmNvZGVyOjpJbml0RW5jb2Rlcihib29sIHJldmVyc2VEaXJlY3Rpb24sIEVuY29kaW5nVHlwZSBlbmNvZGluZ1R5cGUpDQotew0KLQltX3RhYmxlID0gTlVMTDsNCi0JbV9lbmNvZGluZ1R5cGUgPSBlbmNvZGluZ1R5cGU7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlzd2l0Y2ggKGVuY29kaW5nVHlwZSkNCi0Jew0KLQljYXNlIGs0WDoNCi0JCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmcXVhZEVuY29kZXJzLCB0RW5jb2Rlcjo6a051bVN5c3RlbXMpOw0KLQkJVUlOVDMyIGluZGV4ID0gcXVhZEVuY29kZXJzLT5BbGxvY2F0ZSgiNFggRW5jb2RlciIpOw0KLQkJaWYgKGluZGV4ID09IH4wdWwpDQotCQl7DQotCQkJQ2xvbmVFcnJvcihxdWFkRW5jb2RlcnMpOw0KLQkJCXJldHVybjsNCi0JCX0NCi0JCWlmIChtX2FTb3VyY2UtPlN0YXR1c0lzRmF0YWwoKSkNCi0JCXsNCi0JCQlDbG9uZUVycm9yKG1fYVNvdXJjZSk7DQotCQkJcmV0dXJuOw0KLQkJfQ0KLQkJaWYgKG1fYlNvdXJjZS0+U3RhdHVzSXNGYXRhbCgpKQ0KLQkJew0KLQkJCUNsb25lRXJyb3IobV9iU291cmNlKTsNCi0JCQlyZXR1cm47DQotCQl9DQotCQltX2luZGV4ID0gaW5kZXg7DQotCQltX2VuY29kZXIgPSB0RW5jb2Rlcjo6Y3JlYXRlKG1faW5kZXgsICZsb2NhbFN0YXR1cyk7DQotCQltX2VuY29kZXItPndyaXRlQ29uZmlnX0FTb3VyY2VfTW9kdWxlKG1fYVNvdXJjZS0+R2V0TW9kdWxlRm9yUm91dGluZygpLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9lbmNvZGVyLT53cml0ZUNvbmZpZ19BU291cmNlX0NoYW5uZWwobV9hU291cmNlLT5HZXRDaGFubmVsRm9yUm91dGluZygpLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9lbmNvZGVyLT53cml0ZUNvbmZpZ19BU291cmNlX0FuYWxvZ1RyaWdnZXIobV9hU291cmNlLT5HZXRBbmFsb2dUcmlnZ2VyRm9yUm91dGluZygpLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9lbmNvZGVyLT53cml0ZUNvbmZpZ19CU291cmNlX01vZHVsZShtX2JTb3VyY2UtPkdldE1vZHVsZUZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fZW5jb2Rlci0+d3JpdGVDb25maWdfQlNvdXJjZV9DaGFubmVsKG1fYlNvdXJjZS0+R2V0Q2hhbm5lbEZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fZW5jb2Rlci0+d3JpdGVDb25maWdfQlNvdXJjZV9BbmFsb2dUcmlnZ2VyKG1fYlNvdXJjZS0+R2V0QW5hbG9nVHJpZ2dlckZvclJvdXRpbmcoKSwgJmxvY2FsU3RhdHVzKTsNCi0JCW1fZW5jb2Rlci0+c3Ryb2JlUmVzZXQoJmxvY2FsU3RhdHVzKTsNCi0JCW1fZW5jb2Rlci0+d3JpdGVDb25maWdfUmV2ZXJzZShyZXZlcnNlRGlyZWN0aW9uLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9lbmNvZGVyLT53cml0ZVRpbWVyQ29uZmlnX0F2ZXJhZ2VTaXplKDQsICZsb2NhbFN0YXR1cyk7DQotCQltX2NvdW50ZXIgPSBOVUxMOw0KLQkJYnJlYWs7DQotCWNhc2UgazFYOg0KLQljYXNlIGsyWDoNCi0JCW1fY291bnRlciA9IG5ldyBDb3VudGVyKG1fZW5jb2RpbmdUeXBlLCBtX2FTb3VyY2UsIG1fYlNvdXJjZSwgcmV2ZXJzZURpcmVjdGlvbik7DQotCQltX2luZGV4ID0gbV9jb3VudGVyLT5HZXRJbmRleCgpOw0KLQkJYnJlYWs7DQotCX0NCi0JbV9kaXN0YW5jZVBlclB1bHNlID0gMS4wOw0KLQltX3BpZFNvdXJjZSA9IGtEaXN0YW5jZTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0VuY29kZXIsIG1faW5kZXgsIGVuY29kaW5nVHlwZSk7DQotCUxpdmVXaW5kb3c6OkdldEluc3RhbmNlKCktPkFkZFNlbnNvcigiRW5jb2RlciIsIG1fYVNvdXJjZS0+R2V0TW9kdWxlRm9yUm91dGluZygpLCBtX2FTb3VyY2UtPkdldENoYW5uZWxGb3JSb3V0aW5nKCksIHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBFbmNvZGVyIGNvbnN0cnVjdG9yLg0KLSAqIENvbnN0cnVjdCBhIEVuY29kZXIgZ2l2ZW4gYSBhbmQgYiBtb2R1bGVzIGFuZCBjaGFubmVscyBmdWxseSBzcGVjaWZpZWQuDQotICogQHBhcmFtIGFNb2R1bGVOdW1iZXIgVGhlIGEgY2hhbm5lbCBkaWdpdGFsIGlucHV0IG1vZHVsZS4NCi0gKiBAcGFyYW0gYUNoYW5uZWwgVGhlIGEgY2hhbm5lbCBkaWdpdGFsIGlucHV0IGNoYW5uZWwuDQotICogQHBhcmFtIGJNb2R1bGVOdW1iZXIgVGhlIGIgY2hhbm5lbCBkaWdpdGFsIGlucHV0IG1vZHVsZS4NCi0gKiBAcGFyYW0gYkNoYW5uZWwgVGhlIGIgY2hhbm5lbCBkaWdpdGFsIGlucHV0IGNoYW5uZWwuDQotICogQHBhcmFtIHJldmVyc2VEaXJlY3Rpb24gcmVwcmVzZW50cyB0aGUgb3JpZW50YXRpb24gb2YgdGhlIGVuY29kZXIgYW5kIGludmVydHMgdGhlIG91dHB1dCB2YWx1ZXMNCi0gKiBpZiBuZWNlc3Nhcnkgc28gZm9yd2FyZCByZXByZXNlbnRzIHBvc2l0aXZlIHZhbHVlcy4NCi0gKiBAcGFyYW0gZW5jb2RpbmdUeXBlIGVpdGhlciBrMVgsIGsyWCwgb3IgazRYIHRvIGluZGljYXRlIDFYLCAyWCBvciA0WCBkZWNvZGluZy4gSWYgNFggaXMNCi0gKiBzZWxlY3RlZCwgdGhlbiBhbiBlbmNvZGVyIEZQR0Egb2JqZWN0IGlzIHVzZWQgYW5kIHRoZSByZXR1cm5lZCBjb3VudHMgd2lsbCBiZSA0eCB0aGUgZW5jb2Rlcg0KLSAqIHNwZWMnZCB2YWx1ZSBzaW5jZSBhbGwgcmlzaW5nIGFuZCBmYWxsaW5nIGVkZ2VzIGFyZSBjb3VudGVkLiBJZiAxWCBvciAyWCBhcmUgc2VsZWN0ZWQgdGhlbg0KLSAqIGEgY291bnRlciBvYmplY3Qgd2lsbCBiZSB1c2VkIGFuZCB0aGUgcmV0dXJuZWQgdmFsdWUgd2lsbCBlaXRoZXIgZXhhY3RseSBtYXRjaCB0aGUgc3BlYydkIGNvdW50DQotICogb3IgYmUgZG91YmxlICgyeCkgdGhlIHNwZWMnZCBjb3VudC4NCi0gKi8NCi1FbmNvZGVyOjpFbmNvZGVyKFVJTlQ4IGFNb2R1bGVOdW1iZXIsIFVJTlQzMiBhQ2hhbm5lbCwNCi0JCQkJCQlVSU5UOCBiTW9kdWxlTnVtYmVyLCBVSU5UMzIgYkNoYW5uZWwsDQotCQkJCQkJYm9vbCByZXZlcnNlRGlyZWN0aW9uLCBFbmNvZGluZ1R5cGUgZW5jb2RpbmdUeXBlKSA6DQotCW1fZW5jb2RlcihOVUxMKSwNCi0JbV9jb3VudGVyKE5VTEwpDQotew0KLQltX2FTb3VyY2UgPSBuZXcgRGlnaXRhbElucHV0KGFNb2R1bGVOdW1iZXIsIGFDaGFubmVsKTsNCi0JbV9iU291cmNlID0gbmV3IERpZ2l0YWxJbnB1dChiTW9kdWxlTnVtYmVyLCBiQ2hhbm5lbCk7DQotCUluaXRFbmNvZGVyKHJldmVyc2VEaXJlY3Rpb24sIGVuY29kaW5nVHlwZSk7DQotCW1fYWxsb2NhdGVkQVNvdXJjZSA9IHRydWU7DQotCW1fYWxsb2NhdGVkQlNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEVuY29kZXIgY29uc3RydWN0b3IuDQotICogQ29uc3RydWN0IGEgRW5jb2RlciBnaXZlbiBhIGFuZCBiIGNoYW5uZWxzIGFzc3VtaW5nIHRoZSBkZWZhdWx0IG1vZHVsZS4NCi0gKiBAcGFyYW0gYUNoYW5uZWwgVGhlIGEgY2hhbm5lbCBkaWdpdGFsIGlucHV0IGNoYW5uZWwuDQotICogQHBhcmFtIGJDaGFubmVsIFRoZSBiIGNoYW5uZWwgZGlnaXRhbCBpbnB1dCBjaGFubmVsLg0KLSAqIEBwYXJhbSByZXZlcnNlRGlyZWN0aW9uIHJlcHJlc2VudHMgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBlbmNvZGVyIGFuZCBpbnZlcnRzIHRoZSBvdXRwdXQgdmFsdWVzDQotICogaWYgbmVjZXNzYXJ5IHNvIGZvcndhcmQgcmVwcmVzZW50cyBwb3NpdGl2ZSB2YWx1ZXMuDQotICogQHBhcmFtIGVuY29kaW5nVHlwZSBlaXRoZXIgazFYLCBrMlgsIG9yIGs0WCB0byBpbmRpY2F0ZSAxWCwgMlggb3IgNFggZGVjb2RpbmcuIElmIDRYIGlzDQotICogc2VsZWN0ZWQsIHRoZW4gYW4gZW5jb2RlciBGUEdBIG9iamVjdCBpcyB1c2VkIGFuZCB0aGUgcmV0dXJuZWQgY291bnRzIHdpbGwgYmUgNHggdGhlIGVuY29kZXINCi0gKiBzcGVjJ2QgdmFsdWUgc2luY2UgYWxsIHJpc2luZyBhbmQgZmFsbGluZyBlZGdlcyBhcmUgY291bnRlZC4gSWYgMVggb3IgMlggYXJlIHNlbGVjdGVkIHRoZW4NCi0gKiBhIGNvdW50ZXIgb2JqZWN0IHdpbGwgYmUgdXNlZCBhbmQgdGhlIHJldHVybmVkIHZhbHVlIHdpbGwgZWl0aGVyIGV4YWN0bHkgbWF0Y2ggdGhlIHNwZWMnZCBjb3VudA0KLSAqIG9yIGJlIGRvdWJsZSAoMngpIHRoZSBzcGVjJ2QgY291bnQuDQotICovDQotRW5jb2Rlcjo6RW5jb2RlcihVSU5UMzIgYUNoYW5uZWwsIFVJTlQzMiBiQ2hhbm5lbCwgYm9vbCByZXZlcnNlRGlyZWN0aW9uLCBFbmNvZGluZ1R5cGUgZW5jb2RpbmdUeXBlKSA6DQotCW1fZW5jb2RlcihOVUxMKSwNCi0JbV9jb3VudGVyKE5VTEwpDQotew0KLQltX2FTb3VyY2UgPSBuZXcgRGlnaXRhbElucHV0KGFDaGFubmVsKTsNCi0JbV9iU291cmNlID0gbmV3IERpZ2l0YWxJbnB1dChiQ2hhbm5lbCk7DQotCUluaXRFbmNvZGVyKHJldmVyc2VEaXJlY3Rpb24sIGVuY29kaW5nVHlwZSk7DQotCW1fYWxsb2NhdGVkQVNvdXJjZSA9IHRydWU7DQotCW1fYWxsb2NhdGVkQlNvdXJjZSA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEVuY29kZXIgY29uc3RydWN0b3IuDQotICogQ29uc3RydWN0IGEgRW5jb2RlciBnaXZlbiBhIGFuZCBiIGNoYW5uZWxzIGFzIGRpZ2l0YWwgaW5wdXRzLiBUaGlzIGlzIHVzZWQgaW4gdGhlIGNhc2UNCi0gKiB3aGVyZSB0aGUgZGlnaXRhbCBpbnB1dHMgYXJlIHNoYXJlZC4gVGhlIEVuY29kZXIgY2xhc3Mgd2lsbCBub3QgYWxsb2NhdGUgdGhlIGRpZ2l0YWwgaW5wdXRzDQotICogYW5kIGFzc3VtZSB0aGF0IHRoZXkgYWxyZWFkeSBhcmUgY291bnRlZC4NCi0gKiBAcGFyYW0gYVNvdXJjZSBUaGUgc291cmNlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBhIGNoYW5uZWwuDQotICogQHBhcmFtIGJTb3VyY2UgdGhlIHNvdXJjZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgYiBjaGFubmVsLg0KLSAqIEBwYXJhbSByZXZlcnNlRGlyZWN0aW9uIHJlcHJlc2VudHMgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBlbmNvZGVyIGFuZCBpbnZlcnRzIHRoZSBvdXRwdXQgdmFsdWVzDQotICogaWYgbmVjZXNzYXJ5IHNvIGZvcndhcmQgcmVwcmVzZW50cyBwb3NpdGl2ZSB2YWx1ZXMuDQotICogQHBhcmFtIGVuY29kaW5nVHlwZSBlaXRoZXIgazFYLCBrMlgsIG9yIGs0WCB0byBpbmRpY2F0ZSAxWCwgMlggb3IgNFggZGVjb2RpbmcuIElmIDRYIGlzDQotICogc2VsZWN0ZWQsIHRoZW4gYW4gZW5jb2RlciBGUEdBIG9iamVjdCBpcyB1c2VkIGFuZCB0aGUgcmV0dXJuZWQgY291bnRzIHdpbGwgYmUgNHggdGhlIGVuY29kZXINCi0gKiBzcGVjJ2QgdmFsdWUgc2luY2UgYWxsIHJpc2luZyBhbmQgZmFsbGluZyBlZGdlcyBhcmUgY291bnRlZC4gSWYgMVggb3IgMlggYXJlIHNlbGVjdGVkIHRoZW4NCi0gKiBhIGNvdW50ZXIgb2JqZWN0IHdpbGwgYmUgdXNlZCBhbmQgdGhlIHJldHVybmVkIHZhbHVlIHdpbGwgZWl0aGVyIGV4YWN0bHkgbWF0Y2ggdGhlIHNwZWMnZCBjb3VudA0KLSAqIG9yIGJlIGRvdWJsZSAoMngpIHRoZSBzcGVjJ2QgY291bnQuDQotICovDQotRW5jb2Rlcjo6RW5jb2RlcihEaWdpdGFsU291cmNlICphU291cmNlLCBEaWdpdGFsU291cmNlICpiU291cmNlLCBib29sIHJldmVyc2VEaXJlY3Rpb24sIEVuY29kaW5nVHlwZSBlbmNvZGluZ1R5cGUpIDoNCi0JbV9lbmNvZGVyKE5VTEwpLA0KLQltX2NvdW50ZXIoTlVMTCkNCi17DQotCW1fYVNvdXJjZSA9IGFTb3VyY2U7DQotCW1fYlNvdXJjZSA9IGJTb3VyY2U7DQotCW1fYWxsb2NhdGVkQVNvdXJjZSA9IGZhbHNlOw0KLQltX2FsbG9jYXRlZEJTb3VyY2UgPSBmYWxzZTsNCi0JaWYgKG1fYVNvdXJjZSA9PSBOVUxMIHx8IG1fYlNvdXJjZSA9PSBOVUxMKQ0KLQkJd3BpX3NldFdQSUVycm9yKE51bGxQYXJhbWV0ZXIpOw0KLQllbHNlDQotCQlJbml0RW5jb2RlcihyZXZlcnNlRGlyZWN0aW9uLCBlbmNvZGluZ1R5cGUpOw0KLX0NCi0NCi0vKioNCi0gKiBFbmNvZGVyIGNvbnN0cnVjdG9yLg0KLSAqIENvbnN0cnVjdCBhIEVuY29kZXIgZ2l2ZW4gYSBhbmQgYiBjaGFubmVscyBhcyBkaWdpdGFsIGlucHV0cy4gVGhpcyBpcyB1c2VkIGluIHRoZSBjYXNlDQotICogd2hlcmUgdGhlIGRpZ2l0YWwgaW5wdXRzIGFyZSBzaGFyZWQuIFRoZSBFbmNvZGVyIGNsYXNzIHdpbGwgbm90IGFsbG9jYXRlIHRoZSBkaWdpdGFsIGlucHV0cw0KLSAqIGFuZCBhc3N1bWUgdGhhdCB0aGV5IGFscmVhZHkgYXJlIGNvdW50ZWQuDQotICogQHBhcmFtIGFTb3VyY2UgVGhlIHNvdXJjZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgYSBjaGFubmVsLg0KLSAqIEBwYXJhbSBiU291cmNlIHRoZSBzb3VyY2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGIgY2hhbm5lbC4NCi0gKiBAcGFyYW0gcmV2ZXJzZURpcmVjdGlvbiByZXByZXNlbnRzIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgZW5jb2RlciBhbmQgaW52ZXJ0cyB0aGUgb3V0cHV0IHZhbHVlcw0KLSAqIGlmIG5lY2Vzc2FyeSBzbyBmb3J3YXJkIHJlcHJlc2VudHMgcG9zaXRpdmUgdmFsdWVzLg0KLSAqIEBwYXJhbSBlbmNvZGluZ1R5cGUgZWl0aGVyIGsxWCwgazJYLCBvciBrNFggdG8gaW5kaWNhdGUgMVgsIDJYIG9yIDRYIGRlY29kaW5nLiBJZiA0WCBpcw0KLSAqIHNlbGVjdGVkLCB0aGVuIGFuIGVuY29kZXIgRlBHQSBvYmplY3QgaXMgdXNlZCBhbmQgdGhlIHJldHVybmVkIGNvdW50cyB3aWxsIGJlIDR4IHRoZSBlbmNvZGVyDQotICogc3BlYydkIHZhbHVlIHNpbmNlIGFsbCByaXNpbmcgYW5kIGZhbGxpbmcgZWRnZXMgYXJlIGNvdW50ZWQuIElmIDFYIG9yIDJYIGFyZSBzZWxlY3RlZCB0aGVuDQotICogYSBjb3VudGVyIG9iamVjdCB3aWxsIGJlIHVzZWQgYW5kIHRoZSByZXR1cm5lZCB2YWx1ZSB3aWxsIGVpdGhlciBleGFjdGx5IG1hdGNoIHRoZSBzcGVjJ2QgY291bnQNCi0gKiBvciBiZSBkb3VibGUgKDJ4KSB0aGUgc3BlYydkIGNvdW50Lg0KLSAqLw0KLUVuY29kZXI6OkVuY29kZXIoRGlnaXRhbFNvdXJjZSAmYVNvdXJjZSwgRGlnaXRhbFNvdXJjZSAmYlNvdXJjZSwgYm9vbCByZXZlcnNlRGlyZWN0aW9uLCBFbmNvZGluZ1R5cGUgZW5jb2RpbmdUeXBlKSA6DQotCW1fZW5jb2RlcihOVUxMKSwNCi0JbV9jb3VudGVyKE5VTEwpDQotew0KLQltX2FTb3VyY2UgPSAmYVNvdXJjZTsNCi0JbV9iU291cmNlID0gJmJTb3VyY2U7DQotCW1fYWxsb2NhdGVkQVNvdXJjZSA9IGZhbHNlOw0KLQltX2FsbG9jYXRlZEJTb3VyY2UgPSBmYWxzZTsNCi0JSW5pdEVuY29kZXIocmV2ZXJzZURpcmVjdGlvbiwgZW5jb2RpbmdUeXBlKTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2VzIGZvciBhbiBFbmNvZGVyLg0KLSAqIEZyZWVzIHRoZSBGUEdBIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYW4gRW5jb2Rlci4NCi0gKi8NCi1FbmNvZGVyOjp+RW5jb2RlcigpDQotew0KLQlpZiAobV9hbGxvY2F0ZWRBU291cmNlKSBkZWxldGUgbV9hU291cmNlOw0KLQlpZiAobV9hbGxvY2F0ZWRCU291cmNlKSBkZWxldGUgbV9iU291cmNlOw0KLQlpZiAobV9jb3VudGVyKQ0KLQl7DQotCQlkZWxldGUgbV9jb3VudGVyOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJcXVhZEVuY29kZXJzLT5GcmVlKG1faW5kZXgpOw0KLQkJZGVsZXRlIG1fZW5jb2RlcjsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBTdGFydCB0aGUgRW5jb2Rlci4NCi0gKiBTdGFydHMgY291bnRpbmcgcHVsc2VzIG9uIHRoZSBFbmNvZGVyIGRldmljZS4NCi0gKi8NCi12b2lkIEVuY29kZXI6OlN0YXJ0KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fY291bnRlcikNCi0JCW1fY291bnRlci0+U3RhcnQoKTsNCi0JZWxzZQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCW1fZW5jb2Rlci0+d3JpdGVDb25maWdfRW5hYmxlKDEsICZsb2NhbFN0YXR1cyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFN0b3BzIGNvdW50aW5nIHB1bHNlcyBvbiB0aGUgRW5jb2RlciBkZXZpY2UuIFRoZSB2YWx1ZSBpcyBub3QgY2hhbmdlZC4NCi0gKi8NCi12b2lkIEVuY29kZXI6OlN0b3AoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9jb3VudGVyKQ0KLQkJbV9jb3VudGVyLT5TdG9wKCk7DQotCWVsc2UNCi0Jew0KLQkJdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCQltX2VuY29kZXItPndyaXRlQ29uZmlnX0VuYWJsZSgwLCAmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZXRzIHRoZSByYXcgdmFsdWUgZnJvbSB0aGUgZW5jb2Rlci4NCi0gKiBUaGUgcmF3IHZhbHVlIGlzIHRoZSBhY3R1YWwgY291bnQgdW5zY2FsZWQgYnkgdGhlIDF4LCAyeCwgb3IgNHggc2NhbGUNCi0gKiBmYWN0b3IuDQotICogQHJldHVybiBDdXJyZW50IHJhdyBjb3VudCBmcm9tIHRoZSBlbmNvZGVyDQotICovDQotSU5UMzIgRW5jb2Rlcjo6R2V0UmF3KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwOw0KLQlJTlQzMiB2YWx1ZTsNCi0JaWYgKG1fY291bnRlcikNCi0JCXZhbHVlID0gbV9jb3VudGVyLT5HZXQoKTsNCi0JZWxzZQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCXZhbHVlID0gbV9lbmNvZGVyLT5yZWFkT3V0cHV0X1ZhbHVlKCZsb2NhbFN0YXR1cyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotCXJldHVybiB2YWx1ZTsNCi19DQotDQotLyoqDQotICogR2V0cyB0aGUgY3VycmVudCBjb3VudC4NCi0gKiBSZXR1cm5zIHRoZSBjdXJyZW50IGNvdW50IG9uIHRoZSBFbmNvZGVyLg0KLSAqIFRoaXMgbWV0aG9kIGNvbXBlbnNhdGVzIGZvciB0aGUgZGVjb2RpbmcgdHlwZS4NCi0gKiANCi0gKiBAcmV0dXJuIEN1cnJlbnQgY291bnQgZnJvbSB0aGUgRW5jb2RlciBhZGp1c3RlZCBmb3IgdGhlIDF4LCAyeCwgb3IgNHggc2NhbGUgZmFjdG9yLg0KLSAqLw0KLUlOVDMyIEVuY29kZXI6OkdldCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMDsNCi0JcmV0dXJuIChJTlQzMikgKEdldFJhdygpICogRGVjb2RpbmdTY2FsZUZhY3RvcigpKTsNCi19DQotDQotLyoqDQotICogUmVzZXQgdGhlIEVuY29kZXIgZGlzdGFuY2UgdG8gemVyby4NCi0gKiBSZXNldHMgdGhlIGN1cnJlbnQgY291bnQgdG8gemVybyBvbiB0aGUgZW5jb2Rlci4NCi0gKi8NCi12b2lkIEVuY29kZXI6OlJlc2V0KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JaWYgKG1fY291bnRlcikNCi0JCW1fY291bnRlci0+UmVzZXQoKTsNCi0JZWxzZQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCW1fZW5jb2Rlci0+c3Ryb2JlUmVzZXQoJmxvY2FsU3RhdHVzKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUgcGVyaW9kIG9mIHRoZSBtb3N0IHJlY2VudCBwdWxzZS4NCi0gKiBSZXR1cm5zIHRoZSBwZXJpb2Qgb2YgdGhlIG1vc3QgcmVjZW50IEVuY29kZXIgcHVsc2UgaW4gc2Vjb25kcy4NCi0gKiBUaGlzIG1ldGhvZCBjb21wZW5zdGF0ZXMgZm9yIHRoZSBkZWNvZGluZyB0eXBlLg0KLSAqIA0KLSAqIEBkZXByZWNhdGVkIFVzZSBHZXRSYXRlKCkgaW4gZmF2b3Igb2YgdGhpcyBtZXRob2QuICBUaGlzIHJldHVybnMgdW5zY2FsZWQgcGVyaW9kcyBhbmQgR2V0UmF0ZSgpIHNjYWxlcyB1c2luZyB2YWx1ZSBmcm9tIFNldERpc3RhbmNlUGVyUHVsc2UoKS4NCi0gKg0KLSAqIEByZXR1cm4gUGVyaW9kIGluIHNlY29uZHMgb2YgdGhlIG1vc3QgcmVjZW50IHB1bHNlLg0KLSAqLw0KLWRvdWJsZSBFbmNvZGVyOjpHZXRQZXJpb2QoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0JZG91YmxlIG1lYXN1cmVkUGVyaW9kOw0KLQlpZiAobV9jb3VudGVyKQ0KLQl7DQotCQltZWFzdXJlZFBlcmlvZCA9IG1fY291bnRlci0+R2V0UGVyaW9kKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCXRFbmNvZGVyOjp0VGltZXJPdXRwdXQgb3V0cHV0ID0gbV9lbmNvZGVyLT5yZWFkVGltZXJPdXRwdXQoJmxvY2FsU3RhdHVzKTsNCi0JCWRvdWJsZSB2YWx1ZTsNCi0JCWlmIChvdXRwdXQuU3RhbGxlZCkNCi0JCXsNCi0JCQkvLyBSZXR1cm4gaW5maW5pdHkNCi0JCQlkb3VibGUgemVybyA9IDAuMDsNCi0JCQl2YWx1ZSA9IDEuMCAvIHplcm87DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJLy8gb3V0cHV0LlBlcmlvZCBpcyBhIGZpeGVkIHBvaW50IG51bWJlciB0aGF0IGNvdW50cyBieSAyICgyNCBiaXRzLCAyNSBpbnRlZ2VyIGJpdHMpDQotCQkJdmFsdWUgPSAoZG91YmxlKShvdXRwdXQuUGVyaW9kIDw8IDEpIC8gKGRvdWJsZSlvdXRwdXQuQ291bnQ7DQotCQl9DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQkJbWVhc3VyZWRQZXJpb2QgPSB2YWx1ZSAqIDEuMGUtNjsNCi0JfQ0KLQlyZXR1cm4gbWVhc3VyZWRQZXJpb2QgLyBEZWNvZGluZ1NjYWxlRmFjdG9yKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldHMgdGhlIG1heGltdW0gcGVyaW9kIGZvciBzdG9wcGVkIGRldGVjdGlvbi4NCi0gKiBTZXRzIHRoZSB2YWx1ZSB0aGF0IHJlcHJlc2VudHMgdGhlIG1heGltdW0gcGVyaW9kIG9mIHRoZSBFbmNvZGVyIGJlZm9yZSBpdCB3aWxsIGFzc3VtZQ0KLSAqIHRoYXQgdGhlIGF0dGFjaGVkIGRldmljZSBpcyBzdG9wcGVkLiBUaGlzIHRpbWVvdXQgYWxsb3dzIHVzZXJzIHRvIGRldGVybWluZSBpZiB0aGUgd2hlZWxzIG9yDQotICogb3RoZXIgc2hhZnQgaGFzIHN0b3BwZWQgcm90YXRpbmcuDQotICogVGhpcyBtZXRob2QgY29tcGVuc2F0ZXMgZm9yIHRoZSBkZWNvZGluZyB0eXBlLg0KLSAqIA0KLSAqIEBkZXByZWNhdGVkIFVzZSBTZXRNaW5SYXRlKCkgaW4gZmF2b3Igb2YgdGhpcyBtZXRob2QuICBUaGlzIHRha2VzIHVuc2NhbGVkIHBlcmlvZHMgYW5kIFNldE1pblJhdGUoKSBzY2FsZXMgdXNpbmcgdmFsdWUgZnJvbSBTZXREaXN0YW5jZVBlclB1bHNlKCkuDQotICogDQotICogQHBhcmFtIG1heFBlcmlvZCBUaGUgbWF4aW11bSB0aW1lIGJldHdlZW4gcmlzaW5nIGFuZCBmYWxsaW5nIGVkZ2VzIGJlZm9yZSB0aGUgRlBHQSB3aWxsDQotICogcmVwb3J0IHRoZSBkZXZpY2Ugc3RvcHBlZC4gVGhpcyBpcyBleHByZXNzZWQgaW4gc2Vjb25kcy4NCi0gKi8NCi12b2lkIEVuY29kZXI6OlNldE1heFBlcmlvZChkb3VibGUgbWF4UGVyaW9kKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAobV9jb3VudGVyKQ0KLQl7DQotCQltX2NvdW50ZXItPlNldE1heFBlcmlvZChtYXhQZXJpb2QgKiBEZWNvZGluZ1NjYWxlRmFjdG9yKCkpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCQltX2VuY29kZXItPndyaXRlVGltZXJDb25maWdfU3RhbGxQZXJpb2QoKFVJTlQzMikobWF4UGVyaW9kICogMS4wZTYgKiBEZWNvZGluZ1NjYWxlRmFjdG9yKCkpLCAmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBEZXRlcm1pbmUgaWYgdGhlIGVuY29kZXIgaXMgc3RvcHBlZC4NCi0gKiBVc2luZyB0aGUgTWF4UGVyaW9kIHZhbHVlLCBhIGJvb2xlYW4gaXMgcmV0dXJuZWQgdGhhdCBpcyB0cnVlIGlmIHRoZSBlbmNvZGVyIGlzIGNvbnNpZGVyZWQNCi0gKiBzdG9wcGVkIGFuZCBmYWxzZSBpZiBpdCBpcyBzdGlsbCBtb3ZpbmcuIEEgc3RvcHBlZCBlbmNvZGVyIGlzIG9uZSB3aGVyZSB0aGUgbW9zdCByZWNlbnQgcHVsc2UNCi0gKiB3aWR0aCBleGNlZWRzIHRoZSBNYXhQZXJpb2QuDQotICogQHJldHVybiBUcnVlIGlmIHRoZSBlbmNvZGVyIGlzIGNvbnNpZGVyZWQgc3RvcHBlZC4NCi0gKi8NCi1ib29sIEVuY29kZXI6OkdldFN0b3BwZWQoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIHRydWU7DQotCWlmIChtX2NvdW50ZXIpDQotCXsNCi0JCXJldHVybiBtX2NvdW50ZXItPkdldFN0b3BwZWQoKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQkJYm9vbCB2YWx1ZSA9IG1fZW5jb2Rlci0+cmVhZFRpbWVyT3V0cHV0X1N0YWxsZWQoJmxvY2FsU3RhdHVzKSAhPSAwOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JCXJldHVybiB2YWx1ZTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBUaGUgbGFzdCBkaXJlY3Rpb24gdGhlIGVuY29kZXIgdmFsdWUgY2hhbmdlZC4NCi0gKiBAcmV0dXJuIFRoZSBsYXN0IGRpcmVjdGlvbiB0aGUgZW5jb2RlciB2YWx1ZSBjaGFuZ2VkLg0KLSAqLw0KLWJvb2wgRW5jb2Rlcjo6R2V0RGlyZWN0aW9uKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiBmYWxzZTsNCi0JaWYgKG1fY291bnRlcikNCi0Jew0KLQkJcmV0dXJuIG1fY291bnRlci0+R2V0RGlyZWN0aW9uKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCWJvb2wgdmFsdWUgPSBtX2VuY29kZXItPnJlYWRPdXRwdXRfRGlyZWN0aW9uKCZsb2NhbFN0YXR1cyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQkJcmV0dXJuIHZhbHVlOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFRoZSBzY2FsZSBuZWVkZWQgdG8gY29udmVydCBhIHJhdyBjb3VudGVyIHZhbHVlIGludG8gYSBudW1iZXIgb2YgZW5jb2RlciBwdWxzZXMuDQotICovDQotZG91YmxlIEVuY29kZXI6OkRlY29kaW5nU2NhbGVGYWN0b3IoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0Jc3dpdGNoIChtX2VuY29kaW5nVHlwZSkNCi0Jew0KLQljYXNlIGsxWDoNCi0JCXJldHVybiAxLjA7DQotCWNhc2UgazJYOg0KLQkJcmV0dXJuIDAuNTsNCi0JY2FzZSBrNFg6DQotCQlyZXR1cm4gMC4yNTsNCi0JZGVmYXVsdDoNCi0JCXJldHVybiAwLjA7DQotCX0JDQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgZGlzdGFuY2UgdGhlIHJvYm90IGhhcyBkcml2ZW4gc2luY2UgdGhlIGxhc3QgcmVzZXQuDQotICogDQotICogQHJldHVybiBUaGUgZGlzdGFuY2UgZHJpdmVuIHNpbmNlIHRoZSBsYXN0IHJlc2V0IGFzIHNjYWxlZCBieSB0aGUgdmFsdWUgZnJvbSBTZXREaXN0YW5jZVBlclB1bHNlKCkuDQotICovDQotZG91YmxlIEVuY29kZXI6OkdldERpc3RhbmNlKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwLjA7DQotCXJldHVybiBHZXRSYXcoKSAqIERlY29kaW5nU2NhbGVGYWN0b3IoKSAqIG1fZGlzdGFuY2VQZXJQdWxzZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBjdXJyZW50IHJhdGUgb2YgdGhlIGVuY29kZXIuDQotICogVW5pdHMgYXJlIGRpc3RhbmNlIHBlciBzZWNvbmQgYXMgc2NhbGVkIGJ5IHRoZSB2YWx1ZSBmcm9tIFNldERpc3RhbmNlUGVyUHVsc2UoKS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHJhdGUgb2YgdGhlIGVuY29kZXIuDQotICovDQotZG91YmxlIEVuY29kZXI6OkdldFJhdGUoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0JcmV0dXJuIChtX2Rpc3RhbmNlUGVyUHVsc2UgLyBHZXRQZXJpb2QoKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgbWluaW11bSByYXRlIG9mIHRoZSBkZXZpY2UgYmVmb3JlIHRoZSBoYXJkd2FyZSByZXBvcnRzIGl0IHN0b3BwZWQuDQotICogDQotICogQHBhcmFtIG1pblJhdGUgVGhlIG1pbmltdW0gcmF0ZS4gIFRoZSB1bml0cyBhcmUgaW4gZGlzdGFuY2UgcGVyIHNlY29uZCBhcyBzY2FsZWQgYnkgdGhlIHZhbHVlIGZyb20gU2V0RGlzdGFuY2VQZXJQdWxzZSgpLg0KLSAqLw0KLXZvaWQgRW5jb2Rlcjo6U2V0TWluUmF0ZShkb3VibGUgbWluUmF0ZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JU2V0TWF4UGVyaW9kKG1fZGlzdGFuY2VQZXJQdWxzZSAvIG1pblJhdGUpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGRpc3RhbmNlIHBlciBwdWxzZSBmb3IgdGhpcyBlbmNvZGVyLg0KLSAqIFRoaXMgc2V0cyB0aGUgbXVsdGlwbGllciB1c2VkIHRvIGRldGVybWluZSB0aGUgZGlzdGFuY2UgZHJpdmVuIGJhc2VkIG9uIHRoZSBjb3VudCB2YWx1ZQ0KLSAqIGZyb20gdGhlIGVuY29kZXIuDQotICogRG8gbm90IGluY2x1ZGUgdGhlIGRlY29kaW5nIHR5cGUgaW4gdGhpcyBzY2FsZS4gIFRoZSBsaWJyYXJ5IGFscmVhZHkgY29tcGVuc2F0ZXMgZm9yIHRoZSBkZWNvZGluZyB0eXBlLg0KLSAqIFNldCB0aGlzIHZhbHVlIGJhc2VkIG9uIHRoZSBlbmNvZGVyJ3MgcmF0ZWQgUHVsc2VzIHBlciBSZXZvbHV0aW9uIGFuZA0KLSAqIGZhY3RvciBpbiBnZWFyaW5nIHJlZHVjdGlvbnMgZm9sbG93aW5nIHRoZSBlbmNvZGVyIHNoYWZ0Lg0KLSAqIFRoaXMgZGlzdGFuY2UgY2FuIGJlIGluIGFueSB1bml0cyB5b3UgbGlrZSwgbGluZWFyIG9yIGFuZ3VsYXIuDQotICogDQotICogQHBhcmFtIGRpc3RhbmNlUGVyUHVsc2UgVGhlIHNjYWxlIGZhY3RvciB0aGF0IHdpbGwgYmUgdXNlZCB0byBjb252ZXJ0IHB1bHNlcyB0byB1c2VmdWwgdW5pdHMuDQotICovDQotdm9pZCBFbmNvZGVyOjpTZXREaXN0YW5jZVBlclB1bHNlKGRvdWJsZSBkaXN0YW5jZVBlclB1bHNlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQltX2Rpc3RhbmNlUGVyUHVsc2UgPSBkaXN0YW5jZVBlclB1bHNlOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIGRpcmVjdGlvbiBzZW5zaW5nIGZvciB0aGlzIGVuY29kZXIuDQotICogVGhpcyBzZXRzIHRoZSBkaXJlY3Rpb24gc2Vuc2luZyBvbiB0aGUgZW5jb2RlciBzbyB0aGF0IGl0IGNvdWxkIGNvdW50IGluIHRoZSBjb3JyZWN0DQotICogc29mdHdhcmUgZGlyZWN0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhlIG1vdW50aW5nLg0KLSAqIEBwYXJhbSByZXZlcnNlRGlyZWN0aW9uIHRydWUgaWYgdGhlIGVuY29kZXIgZGlyZWN0aW9uIHNob3VsZCBiZSByZXZlcnNlZA0KLSAqLw0KLXZvaWQgRW5jb2Rlcjo6U2V0UmV2ZXJzZURpcmVjdGlvbihib29sIHJldmVyc2VEaXJlY3Rpb24pDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCWlmIChtX2NvdW50ZXIpDQotCXsNCi0JCW1fY291bnRlci0+U2V0UmV2ZXJzZURpcmVjdGlvbihyZXZlcnNlRGlyZWN0aW9uKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQkJbV9lbmNvZGVyLT53cml0ZUNvbmZpZ19SZXZlcnNlKHJldmVyc2VEaXJlY3Rpb24sICZsb2NhbFN0YXR1cyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB3aGljaCBwYXJhbWV0ZXIgb2YgdGhlIGVuY29kZXIgeW91IGFyZSB1c2luZyBhcyBhIHByb2Nlc3MgY29udHJvbCB2YXJpYWJsZS4NCi0gKiANCi0gKiBAcGFyYW0gcGlkU291cmNlIEFuIGVudW0gdG8gc2VsZWN0IHRoZSBwYXJhbWV0ZXIuDQotICovDQotdm9pZCBFbmNvZGVyOjpTZXRQSURTb3VyY2VQYXJhbWV0ZXIoUElEU291cmNlUGFyYW1ldGVyIHBpZFNvdXJjZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9waWRTb3VyY2UgPSBwaWRTb3VyY2U7DQotfQ0KLQ0KLS8qKg0KLSAqIEltcGxlbWVudCB0aGUgUElEU291cmNlIGludGVyZmFjZS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzZWxlY3RlZCBzb3VyY2UgcGFyYW1ldGVyLg0KLSAqLw0KLWRvdWJsZSBFbmNvZGVyOjpQSURHZXQoKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0Jc3dpdGNoIChtX3BpZFNvdXJjZSkNCi0Jew0KLQljYXNlIGtEaXN0YW5jZToNCi0JCXJldHVybiBHZXREaXN0YW5jZSgpOw0KLQljYXNlIGtSYXRlOg0KLQkJcmV0dXJuIEdldFJhdGUoKTsNCi0JZGVmYXVsdDoNCi0JCXJldHVybiAwLjA7DQotCX0NCi19DQotDQotdm9pZCBFbmNvZGVyOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLSAgICAgICAgbV90YWJsZS0+UHV0TnVtYmVyKCJTcGVlZCIsIEdldFJhdGUoKSk7DQotICAgICAgICBtX3RhYmxlLT5QdXROdW1iZXIoIkRpc3RhbmNlIiwgR2V0RGlzdGFuY2UoKSk7DQotICAgICAgICBtX3RhYmxlLT5QdXROdW1iZXIoIkRpc3RhbmNlIHBlciBUaWNrIiwgbV9kaXN0YW5jZVBlclB1bHNlKTsNCi0JfQ0KLX0NCi0NCi12b2lkIEVuY29kZXI6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCQ0KLX0NCi0NCi12b2lkIEVuY29kZXI6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIEVuY29kZXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JaWYgKG1fZW5jb2RpbmdUeXBlID09IGs0WCkNCi0JCXJldHVybiAiUXVhZHJhdHVyZSBFbmNvZGVyIjsNCi0JZWxzZQ0KLQkJcmV0dXJuICJFbmNvZGVyIjsNCi19DQotDQotdm9pZCBFbmNvZGVyOjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIEVuY29kZXI6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRW5jb2Rlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRW5jb2Rlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjNjNzRjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0VuY29kZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBRVUFEX0VOQ09ERVJfSF8NCi0jZGVmaW5lIFFVQURfRU5DT0RFUl9IXw0KLQ0KLSNpbmNsdWRlICJDaGlwT2JqZWN0LmgiDQotI2luY2x1ZGUgIkNvdW50ZXJCYXNlLmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiQ291bnRlci5oIg0KLSNpbmNsdWRlICJQSURTb3VyY2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0NCi1jbGFzcyBEaWdpdGFsU291cmNlOw0KLQ0KLS8qKg0KLSAqIENsYXNzIHRvIHJlYWQgcXVhZCBlbmNvZGVycy4NCi0gKiBRdWFkcmF0dXJlIGVuY29kZXJzIGFyZSBkZXZpY2VzIHRoYXQgY291bnQgc2hhZnQgcm90YXRpb24gYW5kIGNhbiBzZW5zZSBkaXJlY3Rpb24uIFRoZSBvdXRwdXQgb2YNCi0gKiB0aGUgUXVhZEVuY29kZXIgY2xhc3MgaXMgYW4gaW50ZWdlciB0aGF0IGNhbiBjb3VudCBlaXRoZXIgdXAgb3IgZG93biwgYW5kIGNhbiBnbyBuZWdhdGl2ZSBmb3INCi0gKiByZXZlcnNlIGRpcmVjdGlvbiBjb3VudGluZy4gV2hlbiBjcmVhdGluZyBRdWFkRW5jb2RlcnMsIGEgZGlyZWN0aW9uIGlzIHN1cHBsaWVkIHRoYXQgY2hhbmdlcyB0aGUNCi0gKiBzZW5zZSBvZiB0aGUgb3V0cHV0IHRvIG1ha2UgY29kZSBtb3JlIHJlYWRhYmxlIGlmIHRoZSBlbmNvZGVyIGlzIG1vdW50ZWQgc3VjaCB0aGF0IGZvcndhcmQgbW92ZW1lbnQNCi0gKiBnZW5lcmF0ZXMgbmVnYXRpdmUgdmFsdWVzLiBRdWFkcmF0dXJlIGVuY29kZXJzIGhhdmUgdHdvIGRpZ2l0YWwgb3V0cHV0cywgYW4gQSBDaGFubmVsIGFuZCBhIEIgQ2hhbm5lbA0KLSAqIHRoYXQgYXJlIG91dCBvZiBwaGFzZSB3aXRoIGVhY2ggb3RoZXIgdG8gYWxsb3cgdGhlIEZQR0EgdG8gZG8gZGlyZWN0aW9uIHNlbnNpbmcuIA0KLSAqLw0KLWNsYXNzIEVuY29kZXI6IHB1YmxpYyBTZW5zb3JCYXNlLCBwdWJsaWMgQ291bnRlckJhc2UsIHB1YmxpYyBQSURTb3VyY2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUNCi17DQotcHVibGljOg0KLQl0eXBlZGVmIGVudW0ge2tEaXN0YW5jZSwga1JhdGV9IFBJRFNvdXJjZVBhcmFtZXRlcjsNCi0NCi0JRW5jb2RlcihVSU5UMzIgYUNoYW5uZWwsIFVJTlQzMiBiQ2hhbm5lbCwgYm9vbCByZXZlcnNlRGlyZWN0aW9uPWZhbHNlLCBFbmNvZGluZ1R5cGUgZW5jb2RpbmdUeXBlID0gazRYKTsNCi0JRW5jb2RlcihVSU5UOCBhTW9kdWxlTnVtYmVyLCBVSU5UMzIgYUNoYW5uZWwsIFVJTlQ4IGJNb2R1bGVOdW1iZXIsIFVJTlQzMiBfYkNoYW5uZWwsIGJvb2wgcmV2ZXJzZURpcmVjdGlvbj1mYWxzZSwgRW5jb2RpbmdUeXBlIGVuY29kaW5nVHlwZSA9IGs0WCk7DQotCUVuY29kZXIoRGlnaXRhbFNvdXJjZSAqYVNvdXJjZSwgRGlnaXRhbFNvdXJjZSAqYlNvdXJjZSwgYm9vbCByZXZlcnNlRGlyZWN0aW9uPWZhbHNlLCBFbmNvZGluZ1R5cGUgZW5jb2RpbmdUeXBlID0gazRYKTsNCi0JRW5jb2RlcihEaWdpdGFsU291cmNlICZhU291cmNlLCBEaWdpdGFsU291cmNlICZiU291cmNlLCBib29sIHJldmVyc2VEaXJlY3Rpb249ZmFsc2UsIEVuY29kaW5nVHlwZSBlbmNvZGluZ1R5cGUgPSBrNFgpOw0KLQl2aXJ0dWFsIH5FbmNvZGVyKCk7DQotDQotCS8vIENvdW50ZXJCYXNlIGludGVyZmFjZQ0KLQl2b2lkIFN0YXJ0KCk7DQotCUlOVDMyIEdldCgpOw0KLQlJTlQzMiBHZXRSYXcoKTsNCi0Jdm9pZCBSZXNldCgpOw0KLQl2b2lkIFN0b3AoKTsNCi0JZG91YmxlIEdldFBlcmlvZCgpOw0KLQl2b2lkIFNldE1heFBlcmlvZChkb3VibGUgbWF4UGVyaW9kKTsNCi0JYm9vbCBHZXRTdG9wcGVkKCk7DQotCWJvb2wgR2V0RGlyZWN0aW9uKCk7DQotCWRvdWJsZSBHZXREaXN0YW5jZSgpOw0KLQlkb3VibGUgR2V0UmF0ZSgpOw0KLQl2b2lkIFNldE1pblJhdGUoZG91YmxlIG1pblJhdGUpOw0KLQl2b2lkIFNldERpc3RhbmNlUGVyUHVsc2UoZG91YmxlIGRpc3RhbmNlUGVyUHVsc2UpOw0KLQl2b2lkIFNldFJldmVyc2VEaXJlY3Rpb24oYm9vbCByZXZlcnNlRGlyZWN0aW9uKTsNCi0NCi0Jdm9pZCBTZXRQSURTb3VyY2VQYXJhbWV0ZXIoUElEU291cmNlUGFyYW1ldGVyIHBpZFNvdXJjZSk7DQotCWRvdWJsZSBQSURHZXQoKTsNCi0JDQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRFbmNvZGVyKGJvb2wgX3JldmVyc2VEaXJlY3Rpb24sIEVuY29kaW5nVHlwZSBlbmNvZGluZ1R5cGUpOw0KLQlkb3VibGUgRGVjb2RpbmdTY2FsZUZhY3RvcigpOw0KLQ0KLQlEaWdpdGFsU291cmNlICptX2FTb3VyY2U7CQkvLyB0aGUgQSBwaGFzZSBvZiB0aGUgcXVhZCBlbmNvZGVyDQotCURpZ2l0YWxTb3VyY2UgKm1fYlNvdXJjZTsJCS8vIHRoZSBCIHBoYXNlIG9mIHRoZSBxdWFkIGVuY29kZXINCi0JYm9vbCBtX2FsbG9jYXRlZEFTb3VyY2U7CQkvLyB3YXMgdGhlIEEgc291cmNlIGFsbG9jYXRlZCBsb2NhbGx5Pw0KLQlib29sIG1fYWxsb2NhdGVkQlNvdXJjZTsJCS8vIHdhcyB0aGUgQiBzb3VyY2UgYWxsb2NhdGVkIGxvY2FsbHk/DQotCXRFbmNvZGVyKiBtX2VuY29kZXI7DQotCVVJTlQ4IG1faW5kZXg7DQotCWRvdWJsZSBtX2Rpc3RhbmNlUGVyUHVsc2U7CQkvLyBkaXN0YW5jZSBvZiB0cmF2ZWwgZm9yIGVhY2ggZW5jb2RlciB0aWNrDQotCUNvdW50ZXIgKm1fY291bnRlcjsJCQkJLy8gQ291bnRlciBvYmplY3QgZm9yIDF4IGFuZCAyeCBlbmNvZGluZw0KLQlFbmNvZGluZ1R5cGUgbV9lbmNvZGluZ1R5cGU7CS8vIEVuY29kaW5nIHR5cGUNCi0JUElEU291cmNlUGFyYW1ldGVyIG1fcGlkU291cmNlOy8vIEVuY29kZXIgcGFyYW1ldGVyIHRoYXQgc291cmNlcyBhIFBJRCBjb250cm9sbGVyDQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjZWNjOTQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRXJyb3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTIyICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkVycm9yLmgiDQotDQotI2luY2x1ZGUgPHRhc2tMaWIuaD4NCi0NCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vRlJDQ29tbS5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJVdGlsaXR5LmgiDQotDQotYm9vbCBFcnJvcjo6bV9zdGFja1RyYWNlRW5hYmxlZCA9IGZhbHNlOw0KLWJvb2wgRXJyb3I6Om1fc3VzcGVuZE9uRXJyb3JFbmFibGVkID0gZmFsc2U7DQotDQotRXJyb3I6OkVycm9yKCkNCi0JOiBtX2NvZGUoMCkNCi0JLCBtX2xpbmVOdW1iZXIoMCkNCi0JLCBtX29yaWdpbmF0aW5nT2JqZWN0KE5VTEwpDQotCSwgbV90aW1lc3RhbXAgKDAuMCkNCi17fQ0KLQ0KLUVycm9yOjp+RXJyb3IoKQ0KLXt9DQotDQotdm9pZCBFcnJvcjo6Q2xvbmUoRXJyb3IgJmVycm9yKQ0KLXsNCi0JbV9jb2RlID0gZXJyb3IubV9jb2RlOw0KLQltX21lc3NhZ2UgPSBlcnJvci5tX21lc3NhZ2U7DQotCW1fZmlsZW5hbWUgPSBlcnJvci5tX2ZpbGVuYW1lOw0KLQltX2Z1bmN0aW9uID0gZXJyb3IubV9mdW5jdGlvbjsNCi0JbV9saW5lTnVtYmVyID0gZXJyb3IubV9saW5lTnVtYmVyOw0KLQltX29yaWdpbmF0aW5nT2JqZWN0ID0gZXJyb3IubV9vcmlnaW5hdGluZ09iamVjdDsNCi0JbV90aW1lc3RhbXAgPSBlcnJvci5tX3RpbWVzdGFtcDsNCi19DQotDQotRXJyb3I6OkNvZGUgRXJyb3I6OkdldENvZGUoKSBjb25zdA0KLXsJcmV0dXJuIG1fY29kZTsgIH0NCi0NCi1jb25zdCBjaGFyICogRXJyb3I6OkdldE1lc3NhZ2UoKSBjb25zdA0KLXsJcmV0dXJuIG1fbWVzc2FnZS5jX3N0cigpOyAgfQ0KLQ0KLWNvbnN0IGNoYXIgKiBFcnJvcjo6R2V0RmlsZW5hbWUoKSBjb25zdA0KLXsJcmV0dXJuIG1fZmlsZW5hbWUuY19zdHIoKTsgIH0NCi0NCi1jb25zdCBjaGFyICogRXJyb3I6OkdldEZ1bmN0aW9uKCkgY29uc3QNCi17CXJldHVybiBtX2Z1bmN0aW9uLmNfc3RyKCk7ICB9DQotDQotVUlOVDMyIEVycm9yOjpHZXRMaW5lTnVtYmVyKCkgY29uc3QNCi17CXJldHVybiBtX2xpbmVOdW1iZXI7ICB9DQotDQotY29uc3QgRXJyb3JCYXNlKiBFcnJvcjo6R2V0T3JpZ2luYXRpbmdPYmplY3QoKSBjb25zdA0KLXsJcmV0dXJuIG1fb3JpZ2luYXRpbmdPYmplY3Q7ICB9DQotDQotZG91YmxlIEVycm9yOjpHZXRUaW1lKCkgY29uc3QNCi17CXJldHVybiBtX3RpbWVzdGFtcDsgIH0NCi0NCi12b2lkIEVycm9yOjpTZXQoQ29kZSBjb2RlLCBjb25zdCBjaGFyKiBjb250ZXh0TWVzc2FnZSwgY29uc3QgY2hhciogZmlsZW5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBVSU5UMzIgbGluZU51bWJlciwgY29uc3QgRXJyb3JCYXNlKiBvcmlnaW5hdGluZ09iamVjdCkNCi17DQotCW1fY29kZSA9IGNvZGU7DQotCW1fbWVzc2FnZSA9IGNvbnRleHRNZXNzYWdlOw0KLQltX2ZpbGVuYW1lID0gZmlsZW5hbWU7DQotCW1fZnVuY3Rpb24gPSBmdW5jdGlvbjsNCi0JbV9saW5lTnVtYmVyID0gbGluZU51bWJlcjsNCi0JbV9vcmlnaW5hdGluZ09iamVjdCA9IG9yaWdpbmF0aW5nT2JqZWN0Ow0KLQltX3RpbWVzdGFtcCA9IEdldFRpbWUoKTsNCi0NCi0JUmVwb3J0KCk7DQotDQotCWlmIChtX3N1c3BlbmRPbkVycm9yRW5hYmxlZCkgdGFza1N1c3BlbmQoMCk7DQotfQ0KLQ0KLXZvaWQgRXJyb3I6OlJlcG9ydCgpDQotew0KLQkvLyBFcnJvciBzdHJpbmcgYnVmZmVycw0KLQljaGFyICplcnJvciA9IG5ldyBjaGFyWzI1Nl07DQotCWNoYXIgKmVycm9yX3dpdGhfY29kZSA9IG5ldyBjaGFyWzI1Nl07DQotDQotCS8vIEJ1aWxkIGVycm9yIHN0cmluZ3MNCi0JaWYgKG1fY29kZSAhPSAtMSkNCi0Jew0KLQkJc25wcmludGYoZXJyb3IsIDI1NiwgIiVzOiBzdGF0dXMgPSAlZCAoMHglMDhYKSAlcyAuLi5pbiAlcygpIGluICVzIGF0IGxpbmUgJWRcbiIsDQotCQkJCW1fY29kZSA8IDAgPyAiRVJST1IiIDogIldBUk5JTkciLCAoSU5UMzIpbV9jb2RlLCAoVUlOVDMyKW1fY29kZSwgbV9tZXNzYWdlLmNfc3RyKCksDQotCQkJCW1fZnVuY3Rpb24uY19zdHIoKSwgbV9maWxlbmFtZS5jX3N0cigpLCBtX2xpbmVOdW1iZXIpOw0KLQkJc3ByaW50ZihlcnJvcl93aXRoX2NvZGUsIjxDb2RlPiVkICVzIiwgKElOVDMyKW1fY29kZSwgZXJyb3IpOw0KLQl9IGVsc2Ugew0KLQkJc25wcmludGYoZXJyb3IsIDI1NiwgIkVSUk9SOiAlcyAuLi5pbiAlcygpIGluICVzIGF0IGxpbmUgJWRcbiIsIG1fbWVzc2FnZS5jX3N0cigpLA0KLQkJCQltX2Z1bmN0aW9uLmNfc3RyKCksIG1fZmlsZW5hbWUuY19zdHIoKSwgbV9saW5lTnVtYmVyKTsNCi0JCXN0cmNweShlcnJvcl93aXRoX2NvZGUsIGVycm9yKTsNCi0JfQ0KLQkvLyBUT0RPOiBBZGQgbG9nZ2luZyB0byBkaXNrDQotDQotCS8vIFNlbmQgdG8gdGhlIERyaXZlclN0YXRpb24NCi0Jc2V0RXJyb3JEYXRhKGVycm9yX3dpdGhfY29kZSwgc3RybGVuKGVycm9yX3dpdGhfY29kZSksIDEwMCk7DQotDQotCWRlbGV0ZSBbXSBlcnJvcl93aXRoX2NvZGU7DQotDQotCS8vIFByaW50IHRvIGNvbnNvbGUNCi0JcHJpbnRmKCJcblxuPj4+PiVzIiwgZXJyb3IpOw0KLQ0KLQlkZWxldGUgW10gZXJyb3I7DQotDQotCWlmIChtX3N0YWNrVHJhY2VFbmFibGVkKQ0KLQl7DQotCQlwcmludGYoIi0tLS0tLS0tLS0tPFN0YWNrIFRyYWNlPi0tLS0tLS0tLS0tLS0tLS1cbiIpOw0KLQkJd3BpX3NlbGZUcmFjZSgpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgRXJyb3I6OkNsZWFyKCkNCi17DQotCW1fY29kZSA9IDA7DQotCW1fbWVzc2FnZSA9ICIiOw0KLQltX2ZpbGVuYW1lID0gIiI7DQotCW1fZnVuY3Rpb24gPSAiIjsNCi0JbV9saW5lTnVtYmVyID0gMDsNCi0JbV9vcmlnaW5hdGluZ09iamVjdCA9IE5VTEw7DQotCW1fdGltZXN0YW1wID0gMC4wOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRXJyb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzRiMTNlYi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9FUlJPUl9IDQotI2RlZmluZSBfRVJST1JfSA0KLQ0KLSNpbmNsdWRlICJCYXNlLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QvTmlSaW8uaCINCi0jaW5jbHVkZSA8c3RyaW5nPg0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotDQotLy8gIEZvcndhcmQgZGVjbGFyYXRpb25zDQotY2xhc3MgRXJyb3JCYXNlOw0KLQ0KLS8qKg0KLSAqIEVycm9yIG9iamVjdCByZXByZXNlbnRzIGEgbGlicmFyeSBlcnJvci4NCi0gKi8NCi1jbGFzcyBFcnJvcg0KLXsNCi1wdWJsaWM6DQotCXR5cGVkZWYgdFJpb1N0YXR1c0NvZGUgQ29kZTsNCi0NCi0JRXJyb3IoKTsNCi0JfkVycm9yKCk7DQotCXZvaWQgQ2xvbmUoRXJyb3IgJmVycm9yKTsNCi0JQ29kZSBHZXRDb2RlKCkgY29uc3Q7DQotCWNvbnN0IGNoYXIgKkdldE1lc3NhZ2UoKSBjb25zdDsNCi0JY29uc3QgY2hhciAqR2V0RmlsZW5hbWUoKSBjb25zdDsNCi0JY29uc3QgY2hhciAqR2V0RnVuY3Rpb24oKSBjb25zdDsNCi0JVUlOVDMyIEdldExpbmVOdW1iZXIoKSBjb25zdDsNCi0JY29uc3QgRXJyb3JCYXNlKiBHZXRPcmlnaW5hdGluZ09iamVjdCgpIGNvbnN0Ow0KLQlkb3VibGUgR2V0VGltZSgpIGNvbnN0Ow0KLQl2b2lkIENsZWFyKCk7DQotCXZvaWQgU2V0KENvZGUgY29kZSwgY29uc3QgY2hhciogY29udGV4dE1lc3NhZ2UsIGNvbnN0IGNoYXIqIGZpbGVuYW1lLA0KLQkJY29uc3QgY2hhciAqZnVuY3Rpb24sIFVJTlQzMiBsaW5lTnVtYmVyLCBjb25zdCBFcnJvckJhc2UqIG9yaWdpbmF0aW5nT2JqZWN0KTsNCi0Jc3RhdGljIHZvaWQgRW5hYmxlU3RhY2tUcmFjZShib29sIGVuYWJsZSkgeyBtX3N0YWNrVHJhY2VFbmFibGVkPWVuYWJsZTsgfQ0KLQlzdGF0aWMgdm9pZCBFbmFibGVTdXNwZW5kT25FcnJvcihib29sIGVuYWJsZSkgeyBtX3N1c3BlbmRPbkVycm9yRW5hYmxlZD1lbmFibGU7IH0NCi0NCi1wcml2YXRlOg0KLQl2b2lkIFJlcG9ydCgpOw0KLQ0KLQlDb2RlIG1fY29kZTsNCi0Jc3RkOjpzdHJpbmcgbV9tZXNzYWdlOw0KLQlzdGQ6OnN0cmluZyBtX2ZpbGVuYW1lOw0KLQlzdGQ6OnN0cmluZyBtX2Z1bmN0aW9uOw0KLQlVSU5UMzIgbV9saW5lTnVtYmVyOw0KLQljb25zdCBFcnJvckJhc2UqIG1fb3JpZ2luYXRpbmdPYmplY3Q7DQotCWRvdWJsZSBtX3RpbWVzdGFtcDsNCi0NCi0Jc3RhdGljIGJvb2wgbV9zdGFja1RyYWNlRW5hYmxlZDsNCi0Jc3RhdGljIGJvb2wgbV9zdXNwZW5kT25FcnJvckVuYWJsZWQ7DQotCURJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihFcnJvcik7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvckJhc2UuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvRXJyb3JCYXNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjE1ODJhZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvckJhc2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjE1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0jaW5jbHVkZSAibml2aXNpb24uaCINCi0jZGVmaW5lIFdQSV9FUlJPUlNfREVGSU5FX1NUUklOR1MNCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotI2luY2x1ZGUgPGVycm5vTGliLmg+DQotI2luY2x1ZGUgPHN5bUxpYi5oPg0KLSNpbmNsdWRlIDxzeXNTeW1UYmwuaD4NCi0NCi1TRU1fSUQgRXJyb3JCYXNlOjpfZ2xvYmFsRXJyb3JNdXRleCA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fREVMRVRFX1NBRkUgfCBTRU1fSU5WRVJTSU9OX1NBRkUpOw0KLUVycm9yIEVycm9yQmFzZTo6X2dsb2JhbEVycm9yOw0KLS8qKg0KLSAqIEBicmllZiBJbml0aWFsaXplIHRoZSBpbnN0YW5jZSBzdGF0dXMgdG8gMCBmb3Igbm93Lg0KLSAqLw0KLUVycm9yQmFzZTo6RXJyb3JCYXNlKCkNCi17fQ0KLQ0KLUVycm9yQmFzZTo6fkVycm9yQmFzZSgpDQote30NCi0NCi0vKioNCi0gKiBAYnJpZWYgUmV0cmlldmUgdGhlIGN1cnJlbnQgZXJyb3IuDQotICogR2V0IHRoZSBjdXJyZW50IGVycm9yIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNlbnNvci4NCi0gKi8NCi1FcnJvciYgRXJyb3JCYXNlOjpHZXRFcnJvcigpDQotew0KLQlyZXR1cm4gbV9lcnJvcjsNCi19DQotDQotY29uc3QgRXJyb3ImIEVycm9yQmFzZTo6R2V0RXJyb3IoKSBjb25zdA0KLXsNCi0JcmV0dXJuIG1fZXJyb3I7DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBDbGVhciB0aGUgY3VycmVudCBlcnJvciBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZW5zb3IuDQotICovDQotdm9pZCBFcnJvckJhc2U6OkNsZWFyRXJyb3IoKSBjb25zdA0KLXsNCi0JbV9lcnJvci5DbGVhcigpOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgU2V0IGVycm9yIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBhIEMgbGlicmFyeSBjYWxsIHRoYXQgc2V0IGFuIGVycm9yIHRvIHRoZSAiZXJybm8iIGdsb2JhbCB2YXJpYWJsZS4NCi0gKiANCi0gKiBAcGFyYW0gY29udGV4dE1lc3NhZ2UgQSBjdXN0b20gbWVzc2FnZSBmcm9tIHRoZSBjb2RlIHRoYXQgc2V0IHRoZSBlcnJvci4NCi0gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqIEBwYXJhbSBmdW5jdGlvbiBGdW5jdGlvbiBvZiB0aGUgZXJyb3Igc291cmNlDQotICogQHBhcmFtIGxpbmVOdW1iZXIgTGluZSBudW1iZXIgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqLw0KLXZvaWQgRXJyb3JCYXNlOjpTZXRFcnJub0Vycm9yKGNvbnN0IGNoYXIgKmNvbnRleHRNZXNzYWdlLA0KLQkJY29uc3QgY2hhciogZmlsZW5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBVSU5UMzIgbGluZU51bWJlcikgY29uc3QNCi17DQotCWNoYXIgZXJyWzI1Nl07DQotCWludCBlcnJObyA9IGVycm5vR2V0KCk7DQotCWlmIChlcnJObyA9PSAwKQ0KLQl7DQotCQlzcHJpbnRmKGVyciwgIk9LOiAlcyIsIGNvbnRleHRNZXNzYWdlKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCWNoYXIgKnN0YXROYW1lID0gbmV3IGNoYXJbTUFYX1NZU19TWU1fTEVOICsgMV07DQotCQlpbnQgcHZhbDsNCi0JCVNZTV9UWVBFIHB0eXBlOw0KLQkJc3ltRmluZEJ5VmFsdWUoc3RhdFN5bVRibCwgZXJyTm8sIHN0YXROYW1lLCAmcHZhbCwgJnB0eXBlKTsNCi0JCWlmIChwdmFsICE9IGVyck5vKQ0KLQkJCXNucHJpbnRmKGVyciwgMjU2LCAiVW5rbm93biBlcnJubyAweCUwOFg6ICVzIiwgZXJyTm8sIGNvbnRleHRNZXNzYWdlKTsNCi0JCWVsc2UNCi0JCQlzbnByaW50ZihlcnIsIDI1NiwgIiVzICgweCUwOFgpOiAlcyIsIHN0YXROYW1lLCBlcnJObywgY29udGV4dE1lc3NhZ2UpOw0KLQkJZGVsZXRlIFtdIHN0YXROYW1lOw0KLQl9DQotDQotCS8vICBTZXQgdGhlIGN1cnJlbnQgZXJyb3IgaW5mb3JtYXRpb24gZm9yIHRoaXMgb2JqZWN0Lg0KLQltX2Vycm9yLlNldCgtMSwgZXJyLCBmaWxlbmFtZSwgZnVuY3Rpb24sIGxpbmVOdW1iZXIsIHRoaXMpOw0KLQ0KLQkvLyBVcGRhdGUgdGhlIGdsb2JhbCBlcnJvciBpZiB0aGVyZSBpcyBub3Qgb25lIGFscmVhZHkgc2V0Lg0KLQlTeW5jaHJvbml6ZWQgbXV0ZXgoX2dsb2JhbEVycm9yTXV0ZXgpOw0KLQlpZiAoX2dsb2JhbEVycm9yLkdldENvZGUoKSA9PSAwKSB7DQotCQlfZ2xvYmFsRXJyb3IuQ2xvbmUobV9lcnJvcik7DQotCX0NCi19DQotDQotLyoqDQotICogQGJyaWVmIFNldCB0aGUgY3VycmVudCBlcnJvciBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIGZyb20gdGhlIG5pdmlzaW9uIEltYXEgQVBJLg0KLSAqIA0KLSAqIEBwYXJhbSBzdWNjZXNzIFRoZSByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24NCi0gKiBAcGFyYW0gY29udGV4dE1lc3NhZ2UgQSBjdXN0b20gbWVzc2FnZSBmcm9tIHRoZSBjb2RlIHRoYXQgc2V0IHRoZSBlcnJvci4NCi0gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqIEBwYXJhbSBmdW5jdGlvbiBGdW5jdGlvbiBvZiB0aGUgZXJyb3Igc291cmNlDQotICogQHBhcmFtIGxpbmVOdW1iZXIgTGluZSBudW1iZXIgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqLw0KLXZvaWQgRXJyb3JCYXNlOjpTZXRJbWFxRXJyb3IoaW50IHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKmNvbnRleHRNZXNzYWdlLCBjb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFVJTlQzMiBsaW5lTnVtYmVyKSBjb25zdA0KLXsNCi0JLy8gIElmIHRoZXJlIHdhcyBhbiBlcnJvcg0KLQlpZiAoc3VjY2VzcyA8PSAwKSB7DQotCQljaGFyIGVyclsyNTZdOw0KLQkJc3ByaW50ZihlcnIsICIlczogJXMiLCBjb250ZXh0TWVzc2FnZSwgaW1hcUdldEVycm9yVGV4dChpbWFxR2V0TGFzdEVycm9yKCkpKTsNCi0NCi0JCS8vICBTZXQgdGhlIGN1cnJlbnQgZXJyb3IgaW5mb3JtYXRpb24gZm9yIHRoaXMgb2JqZWN0Lg0KLQkJbV9lcnJvci5TZXQoaW1hcUdldExhc3RFcnJvcigpLCBlcnIsIGZpbGVuYW1lLCBmdW5jdGlvbiwgbGluZU51bWJlciwgdGhpcyk7DQotDQotCQkvLyBVcGRhdGUgdGhlIGdsb2JhbCBlcnJvciBpZiB0aGVyZSBpcyBub3Qgb25lIGFscmVhZHkgc2V0Lg0KLQkJU3luY2hyb25pemVkIG11dGV4KF9nbG9iYWxFcnJvck11dGV4KTsNCi0JCWlmIChfZ2xvYmFsRXJyb3IuR2V0Q29kZSgpID09IDApIHsNCi0JCQlfZ2xvYmFsRXJyb3IuQ2xvbmUobV9lcnJvcik7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogQGJyaWVmIFNldCB0aGUgY3VycmVudCBlcnJvciBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZW5zb3IuDQotICogDQotICogQHBhcmFtIGNvZGUgVGhlIGVycm9yIGNvZGUNCi0gKiBAcGFyYW0gY29udGV4dE1lc3NhZ2UgQSBjdXN0b20gbWVzc2FnZSBmcm9tIHRoZSBjb2RlIHRoYXQgc2V0IHRoZSBlcnJvci4NCi0gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqIEBwYXJhbSBmdW5jdGlvbiBGdW5jdGlvbiBvZiB0aGUgZXJyb3Igc291cmNlDQotICogQHBhcmFtIGxpbmVOdW1iZXIgTGluZSBudW1iZXIgb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqLw0KLXZvaWQgRXJyb3JCYXNlOjpTZXRFcnJvcihFcnJvcjo6Q29kZSBjb2RlLCBjb25zdCBjaGFyICpjb250ZXh0TWVzc2FnZSwNCi0JCWNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgVUlOVDMyIGxpbmVOdW1iZXIpIGNvbnN0DQotew0KLQkvLyAgSWYgdGhlcmUgd2FzIGFuIGVycm9yDQotCWlmIChjb2RlICE9IDApIHsNCi0JCS8vICBTZXQgdGhlIGN1cnJlbnQgZXJyb3IgaW5mb3JtYXRpb24gZm9yIHRoaXMgb2JqZWN0Lg0KLQkJbV9lcnJvci5TZXQoY29kZSwgY29udGV4dE1lc3NhZ2UsIGZpbGVuYW1lLCBmdW5jdGlvbiwgbGluZU51bWJlciwgdGhpcyk7DQotDQotCQkvLyBVcGRhdGUgdGhlIGdsb2JhbCBlcnJvciBpZiB0aGVyZSBpcyBub3Qgb25lIGFscmVhZHkgc2V0Lg0KLQkJU3luY2hyb25pemVkIG11dGV4KF9nbG9iYWxFcnJvck11dGV4KTsNCi0JCWlmIChfZ2xvYmFsRXJyb3IuR2V0Q29kZSgpID09IDApIHsNCi0JCQlfZ2xvYmFsRXJyb3IuQ2xvbmUobV9lcnJvcik7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogQGJyaWVmIFNldCB0aGUgY3VycmVudCBlcnJvciBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBzZW5zb3IuDQotICogDQotICogQHBhcmFtIGVycm9yTWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBmcm9tIFdQSUVycm9ycy5oDQotICogQHBhcmFtIGNvbnRleHRNZXNzYWdlIEEgY3VzdG9tIG1lc3NhZ2UgZnJvbSB0aGUgY29kZSB0aGF0IHNldCB0aGUgZXJyb3IuDQotICogQHBhcmFtIGZpbGVuYW1lIEZpbGVuYW1lIG9mIHRoZSBlcnJvciBzb3VyY2UNCi0gKiBAcGFyYW0gZnVuY3Rpb24gRnVuY3Rpb24gb2YgdGhlIGVycm9yIHNvdXJjZQ0KLSAqIEBwYXJhbSBsaW5lTnVtYmVyIExpbmUgbnVtYmVyIG9mIHRoZSBlcnJvciBzb3VyY2UNCi0gKi8NCi12b2lkIEVycm9yQmFzZTo6U2V0V1BJRXJyb3IoY29uc3QgY2hhciAqZXJyb3JNZXNzYWdlLCBjb25zdCBjaGFyICpjb250ZXh0TWVzc2FnZSwNCi0JCWNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgVUlOVDMyIGxpbmVOdW1iZXIpIGNvbnN0DQotew0KLQljaGFyIGVyclsyNTZdOw0KLQlzcHJpbnRmKGVyciwgIiVzOiAlcyIsIGVycm9yTWVzc2FnZSwgY29udGV4dE1lc3NhZ2UpOw0KLQ0KLQkvLyAgU2V0IHRoZSBjdXJyZW50IGVycm9yIGluZm9ybWF0aW9uIGZvciB0aGlzIG9iamVjdC4NCi0JbV9lcnJvci5TZXQoLTEsIGVyciwgZmlsZW5hbWUsIGZ1bmN0aW9uLCBsaW5lTnVtYmVyLCB0aGlzKTsNCi0NCi0JLy8gVXBkYXRlIHRoZSBnbG9iYWwgZXJyb3IgaWYgdGhlcmUgaXMgbm90IG9uZSBhbHJlYWR5IHNldC4NCi0JU3luY2hyb25pemVkIG11dGV4KF9nbG9iYWxFcnJvck11dGV4KTsNCi0JaWYgKF9nbG9iYWxFcnJvci5HZXRDb2RlKCkgPT0gMCkgew0KLQkJX2dsb2JhbEVycm9yLkNsb25lKG1fZXJyb3IpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgRXJyb3JCYXNlOjpDbG9uZUVycm9yKEVycm9yQmFzZSAqcmhzKSBjb25zdA0KLXsNCi0JbV9lcnJvci5DbG9uZShyaHMtPkdldEVycm9yKCkpOw0KLX0NCi0NCi0vKioNCi1AYnJpZWYgQ2hlY2sgaWYgdGhlIGN1cnJlbnQgZXJyb3IgY29kZSByZXByZXNlbnRzIGEgZmF0YWwgZXJyb3IuDQotICANCi1AcmV0dXJuIHRydWUgaWYgdGhlIGN1cnJlbnQgZXJyb3IgaXMgZmF0YWwuDQotKi8NCi1ib29sIEVycm9yQmFzZTo6U3RhdHVzSXNGYXRhbCgpIGNvbnN0DQotew0KLQlyZXR1cm4gbV9lcnJvci5HZXRDb2RlKCkgPCAwOw0KLX0NCi0NCi12b2lkIEVycm9yQmFzZTo6U2V0R2xvYmFsRXJyb3IoRXJyb3I6OkNvZGUgY29kZSwgY29uc3QgY2hhciAqY29udGV4dE1lc3NhZ2UsDQotCQljb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFVJTlQzMiBsaW5lTnVtYmVyKQ0KLXsNCi0JLy8gIElmIHRoZXJlIHdhcyBhbiBlcnJvcg0KLQlpZiAoY29kZSAhPSAwKSB7DQotCQlTeW5jaHJvbml6ZWQgbXV0ZXgoX2dsb2JhbEVycm9yTXV0ZXgpOw0KLQ0KLQkJLy8gIFNldCB0aGUgY3VycmVudCBlcnJvciBpbmZvcm1hdGlvbiBmb3IgdGhpcyBvYmplY3QuDQotCQlfZ2xvYmFsRXJyb3IuU2V0KGNvZGUsIGNvbnRleHRNZXNzYWdlLCBmaWxlbmFtZSwgZnVuY3Rpb24sIGxpbmVOdW1iZXIsIE5VTEwpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgRXJyb3JCYXNlOjpTZXRHbG9iYWxXUElFcnJvcihjb25zdCBjaGFyICplcnJvck1lc3NhZ2UsIGNvbnN0IGNoYXIgKmNvbnRleHRNZXNzYWdlLA0KLSAgICAgICAgY29uc3QgY2hhciogZmlsZW5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBVSU5UMzIgbGluZU51bWJlcikNCi17DQotCWNoYXIgZXJyWzI1Nl07DQotCXNwcmludGYoZXJyLCAiJXM6ICVzIiwgZXJyb3JNZXNzYWdlLCBjb250ZXh0TWVzc2FnZSk7DQotDQotCVN5bmNocm9uaXplZCBtdXRleChfZ2xvYmFsRXJyb3JNdXRleCk7DQotCWlmIChfZ2xvYmFsRXJyb3IuR2V0Q29kZSgpICE9IDApIHsNCi0JCV9nbG9iYWxFcnJvci5DbGVhcigpOw0KLQl9DQotCV9nbG9iYWxFcnJvci5TZXQoLTEsIGVyciwgZmlsZW5hbWUsIGZ1bmN0aW9uLCBsaW5lTnVtYmVyLCBOVUxMKTsNCi19DQotDQotLyoqDQotICAqIFJldHJpZXZlIHRoZSBjdXJyZW50IGdsb2JhbCBlcnJvci4gICAgDQotKi8NCi1FcnJvciYgRXJyb3JCYXNlOjpHZXRHbG9iYWxFcnJvcigpDQotew0KLQlTeW5jaHJvbml6ZWQgbXV0ZXgoX2dsb2JhbEVycm9yTXV0ZXgpOw0KLQlyZXR1cm4gX2dsb2JhbEVycm9yOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9FcnJvckJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Vycm9yQmFzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGI0OTc1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0Vycm9yQmFzZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9FUlJPUl9CQVNFX0gNCi0jZGVmaW5lIF9FUlJPUl9CQVNFX0gNCi0NCi0jaW5jbHVkZSAiQmFzZS5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L05pUmlvLmgiDQotI2luY2x1ZGUgIkVycm9yLmgiDQotI2luY2x1ZGUgPHNlbUxpYi5oPg0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotDQotI2RlZmluZSB3cGlfc2V0RXJybm9FcnJvcldpdGhDb250ZXh0KGNvbnRleHQpICAgKHRoaXMtPlNldEVycm5vRXJyb3IoKGNvbnRleHQpLCBfX0ZJTEVfXywgX19GVU5DVElPTl9fLCBfX0xJTkVfXykpDQotI2RlZmluZSB3cGlfc2V0RXJybm9FcnJvcigpICAgKHdwaV9zZXRFcnJub0Vycm9yV2l0aENvbnRleHQoIiIpKQ0KLSNkZWZpbmUgd3BpX3NldEltYXFFcnJvcldpdGhDb250ZXh0KGNvZGUsIGNvbnRleHQpICAgKHRoaXMtPlNldEltYXFFcnJvcigoY29kZSksIChjb250ZXh0KSwgX19GSUxFX18sIF9fRlVOQ1RJT05fXywgX19MSU5FX18pKQ0KLSNkZWZpbmUgd3BpX3NldEVycm9yV2l0aENvbnRleHQoY29kZSwgY29udGV4dCkgICAodGhpcy0+U2V0RXJyb3IoKGNvZGUpLCAoY29udGV4dCksIF9fRklMRV9fLCBfX0ZVTkNUSU9OX18sIF9fTElORV9fKSkNCi0jZGVmaW5lIHdwaV9zZXRFcnJvcihjb2RlKSAgICh3cGlfc2V0RXJyb3JXaXRoQ29udGV4dChjb2RlLCAiIikpDQotI2RlZmluZSB3cGlfc2V0U3RhdGljRXJyb3JXaXRoQ29udGV4dChvYmplY3QsIGNvZGUsIGNvbnRleHQpICAgKG9iamVjdC0+U2V0RXJyb3IoKGNvZGUpLCAoY29udGV4dCksIF9fRklMRV9fLCBfX0ZVTkNUSU9OX18sIF9fTElORV9fKSkNCi0jZGVmaW5lIHdwaV9zZXRTdGF0aWNFcnJvcihvYmplY3QsIGNvZGUpICAgKHdwaV9zZXRTdGF0aWNFcnJvcldpdGhDb250ZXh0KG9iamVjdCwgY29kZSwgIiIpKQ0KLSNkZWZpbmUgd3BpX3NldEdsb2JhbEVycm9yV2l0aENvbnRleHQoY29kZSwgY29udGV4dCkgICAoRXJyb3JCYXNlOjpTZXRHbG9iYWxFcnJvcigoY29kZSksIChjb250ZXh0KSwgX19GSUxFX18sIF9fRlVOQ1RJT05fXywgX19MSU5FX18pKQ0KLSNkZWZpbmUgd3BpX3NldEdsb2JhbEVycm9yKGNvZGUpICAgKHdwaV9zZXRHbG9iYWxFcnJvcldpdGhDb250ZXh0KGNvZGUsICIiKSkNCi0jZGVmaW5lIHdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KGVycm9yLCBjb250ZXh0KSAgICh0aGlzLT5TZXRXUElFcnJvcigod3BpX2Vycm9yX3NfIyNlcnJvciksIChjb250ZXh0KSwgX19GSUxFX18sIF9fRlVOQ1RJT05fXywgX19MSU5FX18pKQ0KLSNkZWZpbmUgd3BpX3NldFdQSUVycm9yKGVycm9yKSAgICh3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChlcnJvciwgIiIpKQ0KLSNkZWZpbmUgd3BpX3NldFN0YXRpY1dQSUVycm9yV2l0aENvbnRleHQob2JqZWN0LCBlcnJvciwgY29udGV4dCkgICAob2JqZWN0LT5TZXRXUElFcnJvcigod3BpX2Vycm9yX3NfIyNlcnJvciksIChjb250ZXh0KSwgX19GSUxFX18sIF9fRlVOQ1RJT05fXywgX19MSU5FX18pKQ0KLSNkZWZpbmUgd3BpX3NldFN0YXRpY1dQSUVycm9yKG9iamVjdCwgZXJyb3IpICAgKHdwaV9zZXRTdGF0aWNXUElFcnJvcldpdGhDb250ZXh0KG9iamVjdCwgZXJyb3IsICIiKSkNCi0jZGVmaW5lIHdwaV9zZXRHbG9iYWxXUElFcnJvcldpdGhDb250ZXh0KGVycm9yLCBjb250ZXh0KSAgIChFcnJvckJhc2U6OlNldEdsb2JhbFdQSUVycm9yKCh3cGlfZXJyb3Jfc18jI2Vycm9yKSwgKGNvbnRleHQpLCBfX0ZJTEVfXywgX19GVU5DVElPTl9fLCBfX0xJTkVfXykpDQotI2RlZmluZSB3cGlfc2V0R2xvYmFsV1BJRXJyb3IoZXJyb3IpICAgKHdwaV9zZXRHbG9iYWxXUElFcnJvcldpdGhDb250ZXh0KGVycm9yLCAiIikpDQotDQotLyoqDQotICogQmFzZSBjbGFzcyBmb3IgbW9zdCBvYmplY3RzLg0KLSAqIEVycm9yQmFzZSBpcyB0aGUgYmFzZSBjbGFzcyBmb3IgbW9zdCBvYmplY3RzIHNpbmNlIGl0IGhvbGRzIHRoZSBnZW5lcmF0ZWQgZXJyb3INCi0gKiBmb3IgdGhhdCBvYmplY3QuIEluIGFkZGl0aW9uLCB0aGVyZSBpcyBhIHNpbmdsZSBpbnN0YW5jZSBvZiBhIGdsb2JhbCBlcnJvciBvYmplY3QNCi0gKi8NCi1jbGFzcyBFcnJvckJhc2UNCi17DQotLy9UT0RPOiBDb25zaWRlciBpbml0aWFsaXppbmcgaW5zdGFuY2UgdmFyaWFibGVzIGFuZCBjbGVhbnVwIGluIGRlc3RydWN0b3INCi1wdWJsaWM6DQotCXZpcnR1YWwgfkVycm9yQmFzZSgpOw0KLQl2aXJ0dWFsIEVycm9yJiBHZXRFcnJvcigpOw0KLQl2aXJ0dWFsIGNvbnN0IEVycm9yJiBHZXRFcnJvcigpIGNvbnN0Ow0KLQl2aXJ0dWFsIHZvaWQgU2V0RXJybm9FcnJvcihjb25zdCBjaGFyICpjb250ZXh0TWVzc2FnZSwNCi0JCWNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgVUlOVDMyIGxpbmVOdW1iZXIpIGNvbnN0Ow0KLQl2aXJ0dWFsIHZvaWQgU2V0SW1hcUVycm9yKGludCBzdWNjZXNzLCBjb25zdCBjaGFyICpjb250ZXh0TWVzc2FnZSwNCi0gICAgICAgIGNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgVUlOVDMyIGxpbmVOdW1iZXIpIGNvbnN0Ow0KLQl2aXJ0dWFsIHZvaWQgU2V0RXJyb3IoRXJyb3I6OkNvZGUgY29kZSwgY29uc3QgY2hhciAqY29udGV4dE1lc3NhZ2UsDQotCQljb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFVJTlQzMiBsaW5lTnVtYmVyKSBjb25zdDsNCi0JdmlydHVhbCB2b2lkIFNldFdQSUVycm9yKGNvbnN0IGNoYXIgKmVycm9yTWVzc2FnZSwgY29uc3QgY2hhciAqY29udGV4dE1lc3NhZ2UsDQotCQljb25zdCBjaGFyKiBmaWxlbmFtZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIFVJTlQzMiBsaW5lTnVtYmVyKSBjb25zdDsNCi0JdmlydHVhbCB2b2lkIENsb25lRXJyb3IoRXJyb3JCYXNlICpyaHMpIGNvbnN0Ow0KLQl2aXJ0dWFsIHZvaWQgQ2xlYXJFcnJvcigpIGNvbnN0Ow0KLQl2aXJ0dWFsIGJvb2wgU3RhdHVzSXNGYXRhbCgpIGNvbnN0Ow0KLQlzdGF0aWMgdm9pZCBTZXRHbG9iYWxFcnJvcihFcnJvcjo6Q29kZSBjb2RlLCBjb25zdCBjaGFyICpjb250ZXh0TWVzc2FnZSwNCi0JCWNvbnN0IGNoYXIqIGZpbGVuYW1lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgVUlOVDMyIGxpbmVOdW1iZXIpOw0KLQlzdGF0aWMgdm9pZCBTZXRHbG9iYWxXUElFcnJvcihjb25zdCBjaGFyICplcnJvck1lc3NhZ2UsIGNvbnN0IGNoYXIgKmNvbnRleHRNZXNzYWdlLA0KLQkJY29uc3QgY2hhciogZmlsZW5hbWUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBVSU5UMzIgbGluZU51bWJlcik7DQotCXN0YXRpYyBFcnJvciYgR2V0R2xvYmFsRXJyb3IoKTsNCi1wcm90ZWN0ZWQ6DQotCW11dGFibGUgRXJyb3IgbV9lcnJvcjsNCi0JLy8gVE9ETzogUmVwbGFjZSBnbG9iYWxFcnJvciB3aXRoIGEgZ2xvYmFsIGxpc3Qgb2YgYWxsIGVycm9ycy4NCi0Jc3RhdGljIFNFTV9JRCBfZ2xvYmFsRXJyb3JNdXRleDsNCi0Jc3RhdGljIEVycm9yIF9nbG9iYWxFcnJvcjsNCi0JRXJyb3JCYXNlKCk7DQotcHJpdmF0ZToNCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEVycm9yQmFzZSk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HZWFyVG9vdGguY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvR2VhclRvb3RoLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGZhYzljMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HZWFyVG9vdGguY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiR2VhclRvb3RoLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLQ0KLWNvbnN0IGRvdWJsZSBHZWFyVG9vdGg6OmtHZWFyVG9vdGhUaHJlc2hvbGQ7DQotDQotLyoqDQotICogQ29tbW9uIGNvZGUgY2FsbGVkIGJ5IHRoZSBjb25zdHJ1Y3RvcnMuDQotICovDQotdm9pZCBHZWFyVG9vdGg6OkVuYWJsZURpcmVjdGlvblNlbnNpbmcoYm9vbCBkaXJlY3Rpb25TZW5zaXRpdmUpDQotew0KLQlpZiAoZGlyZWN0aW9uU2Vuc2l0aXZlKQ0KLQl7DQotCQlTZXRQdWxzZUxlbmd0aE1vZGUoa0dlYXJUb290aFRocmVzaG9sZCk7DQotCX0NCi19DQotDQotLyoqDQotICogQ29uc3RydWN0IGEgR2VhclRvb3RoIHNlbnNvciBnaXZlbiBhIGNoYW5uZWwuDQotICogDQotICogVGhlIGRlZmF1bHQgbW9kdWxlIGlzIGFzc3VtZWQuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIEdQSU8gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgc2Vuc29yIGlzIGNvbm5lY3RlZCB0by4NCi0gKiBAcGFyYW0gZGlyZWN0aW9uU2Vuc2l0aXZlIEVuYWJsZSB0aGUgcHVsc2UgbGVuZ3RoIGRlY29kaW5nIGluIGhhcmR3YXJlIHRvIHNwZWNpZnkgY291bnQgZGlyZWN0aW9uLg0KLSAqLw0KLUdlYXJUb290aDo6R2VhclRvb3RoKFVJTlQzMiBjaGFubmVsLCBib29sIGRpcmVjdGlvblNlbnNpdGl2ZSkNCi0JOiBDb3VudGVyKGNoYW5uZWwpDQotew0KLQlFbmFibGVEaXJlY3Rpb25TZW5zaW5nKGRpcmVjdGlvblNlbnNpdGl2ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdCBhIEdlYXJUb290aCBzZW5zb3IgZ2l2ZW4gYSBjaGFubmVsIGFuZCBtb2R1bGUuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIEdQSU8gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgc2Vuc29yIGlzIGNvbm5lY3RlZCB0by4NCi0gKiBAcGFyYW0gZGlyZWN0aW9uU2Vuc2l0aXZlIEVuYWJsZSB0aGUgcHVsc2UgbGVuZ3RoIGRlY29kaW5nIGluIGhhcmR3YXJlIHRvIHNwZWNpZnkgY291bnQgZGlyZWN0aW9uLg0KLSAqLw0KLUdlYXJUb290aDo6R2VhclRvb3RoKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwsIGJvb2wgZGlyZWN0aW9uU2Vuc2l0aXZlKQ0KLQk6IENvdW50ZXIobW9kdWxlTnVtYmVyLCBjaGFubmVsKQ0KLXsNCi0JRW5hYmxlRGlyZWN0aW9uU2Vuc2luZyhkaXJlY3Rpb25TZW5zaXRpdmUpOw0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRTZW5zb3IoIkdlYXJUb290aCIsIG1vZHVsZU51bWJlciwgY2hhbm5lbCwgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdCBhIEdlYXJUb290aCBzZW5zb3IgZ2l2ZW4gYSBkaWdpdGFsIGlucHV0Lg0KLSAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgd2hlbiBzaGFyaW5nIGRpZ2lhbCBpbnB1dHMuDQotICogDQotICogQHBhcmFtIHNvdXJjZSBBbiBvYmplY3QgdGhhdCBmdWxseSBkZXNjaWJlcyB0aGUgaW5wdXQgdGhhdCB0aGUgc2Vuc29yIGlzIGNvbm5lY3RlZCB0by4NCi0gKiBAcGFyYW0gZGlyZWN0aW9uU2Vuc2l0aXZlIEVuYWJsZSB0aGUgcHVsc2UgbGVuZ3RoIGRlY29kaW5nIGluIGhhcmR3YXJlIHRvIHNwZWNpZnkgY291bnQgZGlyZWN0aW9uLg0KLSAqLw0KLUdlYXJUb290aDo6R2VhclRvb3RoKERpZ2l0YWxTb3VyY2UgKnNvdXJjZSwgYm9vbCBkaXJlY3Rpb25TZW5zaXRpdmUpDQotCTogQ291bnRlcihzb3VyY2UpDQotew0KLQlFbmFibGVEaXJlY3Rpb25TZW5zaW5nKGRpcmVjdGlvblNlbnNpdGl2ZSk7DQotfQ0KLQ0KLUdlYXJUb290aDo6R2VhclRvb3RoKERpZ2l0YWxTb3VyY2UgJnNvdXJjZSwgYm9vbCBkaXJlY3Rpb25TZW5zaXRpdmUpOiBDb3VudGVyKHNvdXJjZSkNCi17DQotCUVuYWJsZURpcmVjdGlvblNlbnNpbmcoZGlyZWN0aW9uU2Vuc2l0aXZlKTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIGdlYXIgdG9vdGggc2Vuc29yLg0KLSAqLw0KLUdlYXJUb290aDo6fkdlYXJUb290aCgpDQotew0KLX0NCi0NCi0NCi1zdGQ6OnN0cmluZyBHZWFyVG9vdGg6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJHZWFyVG9vdGgiOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HZWFyVG9vdGguaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0dlYXJUb290aC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MmI3NTdjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0dlYXJUb290aC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEdFQVJfVE9PVEhfSF8NCi0jZGVmaW5lIEdFQVJfVE9PVEhfSF8NCi0NCi0jaW5jbHVkZSAiQ291bnRlci5oIg0KLQ0KLS8qKg0KLSAqIEFsaWFzIGZvciBjb3VudGVyIGNsYXNzLg0KLSAqIEltcGxlbWVudCB0aGUgZ2VhciB0b290aCBzZW5zb3Igc3VwcGxpZWQgYnkgRklSU1QuIEN1cnJlbnRseSB0aGVyZSBpcyBubyByZXZlcnNlIHNlbnNpbmcgb24NCi0gKiB0aGUgZ2VhciB0b290aCBzZW5zb3IsIGJ1dCBpbiBmdXR1cmUgdmVyc2lvbnMgd2UgbWlnaHQgaW1wbGVtZW50IHRoZSBuZWNlc3NhcnkgdGltaW5nIGluIHRoZQ0KLSAqIEZQR0EgdG8gc2Vuc2UgZGlyZWN0aW9uLg0KLSAqLw0KLWNsYXNzIEdlYXJUb290aCA6IHB1YmxpYyBDb3VudGVyDQotew0KLXB1YmxpYzoNCi0JLy8vIDU1IHVTZWMgZm9yIHRocmVzaG9sZA0KLQlzdGF0aWMgY29uc3QgZG91YmxlIGtHZWFyVG9vdGhUaHJlc2hvbGQgPSA1NWUtNjsNCi0JR2VhclRvb3RoKFVJTlQzMiBjaGFubmVsLCBib29sIGRpcmVjdGlvblNlbnNpdGl2ZSA9IGZhbHNlKTsNCi0JR2VhclRvb3RoKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwsIGJvb2wgZGlyZWN0aW9uU2Vuc2l0aXZlID0gZmFsc2UpOw0KLQlHZWFyVG9vdGgoRGlnaXRhbFNvdXJjZSAqc291cmNlLCBib29sIGRpcmVjdGlvblNlbnNpdGl2ZSA9IGZhbHNlKTsNCi0JR2VhclRvb3RoKERpZ2l0YWxTb3VyY2UgJnNvdXJjZSwgYm9vbCBkaXJlY3Rpb25TZW5zaXRpdmUgPSBmYWxzZSk7DQotCXZpcnR1YWwgfkdlYXJUb290aCgpOw0KLQl2b2lkIEVuYWJsZURpcmVjdGlvblNlbnNpbmcoYm9vbCBkaXJlY3Rpb25TZW5zaXRpdmUpOw0KLQkNCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi19Ow0KLQ0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0dlbmVyaWNISUQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0dlbmVyaWNISUQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWQ0NTMwOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HZW5lcmljSElELmgKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgR0VORVJJQ19ISURfSA0KLSNkZWZpbmUgR0VORVJJQ19ISURfSA0KLQ0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotDQotLyoqIEdlbmVyaWNISUQgSW50ZXJmYWNlDQotICovDQotY2xhc3MgR2VuZXJpY0hJRA0KLXsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bSB7DQotCQlrTGVmdEhhbmQgPSAwLA0KLQkJa1JpZ2h0SGFuZCA9IDENCi0JfSBKb3lzdGlja0hhbmQ7DQotDQotCXZpcnR1YWwgfkdlbmVyaWNISUQoKSB7fQ0KLQ0KLQl2aXJ0dWFsIGZsb2F0IEdldFgoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKSA9IDA7DQotCXZpcnR1YWwgZmxvYXQgR2V0WShKb3lzdGlja0hhbmQgaGFuZCA9IGtSaWdodEhhbmQpID0gMDsNCi0JdmlydHVhbCBmbG9hdCBHZXRaKCkgPSAwOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFR3aXN0KCkgPSAwOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFRocm90dGxlKCkgPSAwOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFJhd0F4aXMoVUlOVDMyIGF4aXMpID0gMDsNCi0NCi0JdmlydHVhbCBib29sIEdldFRyaWdnZXIoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKSA9IDA7DQotCXZpcnR1YWwgYm9vbCBHZXRUb3AoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKSA9IDA7DQotCXZpcnR1YWwgYm9vbCBHZXRCdW1wZXIoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKSA9IDA7DQotCXZpcnR1YWwgYm9vbCBHZXRSYXdCdXR0b24oVUlOVDMyIGJ1dHRvbikgPSAwOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvR3lyby5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HeXJvLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGVhMzU4OC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HeXJvLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIxOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJHeXJvLmgiDQotI2luY2x1ZGUgIkFuYWxvZ0NoYW5uZWwuaCINCi0jaW5jbHVkZSAiQW5hbG9nTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlRpbWVyLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0NCi1jb25zdCBVSU5UMzIgR3lybzo6a092ZXJzYW1wbGVCaXRzOw0KLWNvbnN0IFVJTlQzMiBHeXJvOjprQXZlcmFnZUJpdHM7DQotY29uc3QgZmxvYXQgR3lybzo6a1NhbXBsZXNQZXJTZWNvbmQ7DQotY29uc3QgZmxvYXQgR3lybzo6a0NhbGlicmF0aW9uU2FtcGxlVGltZTsNCi1jb25zdCBmbG9hdCBHeXJvOjprRGVmYXVsdFZvbHRzUGVyRGVncmVlUGVyU2Vjb25kOw0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpemUgdGhlIGd5cm8uDQotICogQ2FsaWJyYXRlIHRoZSBneXJvIGJ5IHJ1bm5pbmcgZm9yIGEgbnVtYmVyIG9mIHNhbXBsZXMgYW5kIGNvbXB1dGluZyB0aGUgY2VudGVyIHZhbHVlIGZvciB0aGlzDQotICogcGFydC4gVGhlbiB1c2UgdGhlIGNlbnRlciB2YWx1ZSBhcyB0aGUgQWNjdW11bGF0b3IgY2VudGVyIHZhbHVlIGZvciBzdWJzZXF1ZW50IG1lYXN1cmVtZW50cy4NCi0gKiBJdCdzIGltcG9ydGFudCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcm9ib3QgaXMgbm90IG1vdmluZyB3aGlsZSB0aGUgY2VudGVyaW5nIGNhbGN1bGF0aW9ucyBhcmUNCi0gKiBpbiBwcm9ncmVzcywgdGhpcyBpcyB0eXBpY2FsbHkgZG9uZSB3aGVuIHRoZSByb2JvdCBpcyBmaXJzdCB0dXJuZWQgb24gd2hpbGUgaXQncyBzaXR0aW5nIGF0DQotICogcmVzdCBiZWZvcmUgdGhlIGNvbXBldGl0aW9uIHN0YXJ0cy4NCi0gKi8NCi12b2lkIEd5cm86OkluaXRHeXJvKCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQlpZiAoIW1fYW5hbG9nLT5Jc0FjY3VtdWxhdG9yQ2hhbm5lbCgpKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLA0KLQkJCQkibW9kdWxlTnVtYmVyIGFuZC9vciBjaGFubmVsIChtdXN0IGJlIGFjY3VtdWxhdG9yIGNoYW5uZWwpIik7DQotCQlpZiAobV9jaGFubmVsQWxsb2NhdGVkKQ0KLQkJew0KLQkJCWRlbGV0ZSBtX2FuYWxvZzsNCi0JCQltX2FuYWxvZyA9IE5VTEw7DQotCQl9DQotCQlyZXR1cm47DQotCX0NCi0NCi0JbV92b2x0c1BlckRlZ3JlZVBlclNlY29uZCA9IGtEZWZhdWx0Vm9sdHNQZXJEZWdyZWVQZXJTZWNvbmQ7DQotCW1fYW5hbG9nLT5TZXRBdmVyYWdlQml0cyhrQXZlcmFnZUJpdHMpOw0KLQltX2FuYWxvZy0+U2V0T3ZlcnNhbXBsZUJpdHMoa092ZXJzYW1wbGVCaXRzKTsNCi0JZmxvYXQgc2FtcGxlUmF0ZSA9IGtTYW1wbGVzUGVyU2Vjb25kICogDQotCQkoMSA8PCAoa0F2ZXJhZ2VCaXRzICsga092ZXJzYW1wbGVCaXRzKSk7DQotCW1fYW5hbG9nLT5HZXRNb2R1bGUoKS0+U2V0U2FtcGxlUmF0ZShzYW1wbGVSYXRlKTsNCi0JV2FpdCgxLjApOw0KLQ0KLQltX2FuYWxvZy0+SW5pdEFjY3VtdWxhdG9yKCk7DQotCVdhaXQoa0NhbGlicmF0aW9uU2FtcGxlVGltZSk7DQotDQotCUlOVDY0IHZhbHVlOw0KLQlVSU5UMzIgY291bnQ7DQotCW1fYW5hbG9nLT5HZXRBY2N1bXVsYXRvck91dHB1dCgmdmFsdWUsICZjb3VudCk7DQotDQotCVVJTlQzMiBjZW50ZXIgPSAoVUlOVDMyKSgoZmxvYXQpdmFsdWUgLyAoZmxvYXQpY291bnQgKyAuNSk7DQotDQotCW1fb2Zmc2V0ID0gKChmbG9hdCl2YWx1ZSAvIChmbG9hdCljb3VudCkgLSAoZmxvYXQpY2VudGVyOw0KLQ0KLQltX2FuYWxvZy0+U2V0QWNjdW11bGF0b3JDZW50ZXIoY2VudGVyKTsNCi0JbV9hbmFsb2ctPlNldEFjY3VtdWxhdG9yRGVhZGJhbmQoMCk7IC8vLzwgVE9ETzogY29tcHV0ZSAvIHBhcmFtZXRlcml6ZSB0aGlzDQotCW1fYW5hbG9nLT5SZXNldEFjY3VtdWxhdG9yKCk7DQotDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9HeXJvLCBtX2FuYWxvZy0+R2V0Q2hhbm5lbCgpLCBtX2FuYWxvZy0+R2V0TW9kdWxlTnVtYmVyKCkgLSAxKTsNCi0JTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKS0+QWRkU2Vuc29yKCJHeXJvIiwgbV9hbmFsb2ctPkdldE1vZHVsZU51bWJlcigpLCBtX2FuYWxvZy0+R2V0Q2hhbm5lbCgpLCB0aGlzKTsNCi19DQotDQotLyoqDQotICogR3lybyBjb25zdHJ1Y3RvciBnaXZlbiBhIHNsb3QgYW5kIGEgY2hhbm5lbC4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBhbmFsb2cgbW9kdWxlIHRoZSBneXJvIGlzIGNvbm5lY3RlZCB0byAoMSkuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGFuYWxvZyBjaGFubmVsIHRoZSBneXJvIGlzIGNvbm5lY3RlZCB0byAoMSBvciAyKS4NCi0gKi8NCi1HeXJvOjpHeXJvKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpDQotew0KLQltX2FuYWxvZyA9IG5ldyBBbmFsb2dDaGFubmVsKG1vZHVsZU51bWJlciwgY2hhbm5lbCk7DQotCW1fY2hhbm5lbEFsbG9jYXRlZCA9IHRydWU7DQotCUluaXRHeXJvKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEd5cm8gY29uc3RydWN0b3Igd2l0aCBvbmx5IGEgY2hhbm5lbC4NCi0gKiANCi0gKiBVc2UgdGhlIGRlZmF1bHQgYW5hbG9nIG1vZHVsZSBzbG90Lg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBhbmFsb2cgY2hhbm5lbCB0aGUgZ3lybyBpcyBjb25uZWN0ZWQgdG8uDQotICovDQotR3lybzo6R3lybyhVSU5UMzIgY2hhbm5lbCkNCi17DQotCW1fYW5hbG9nID0gbmV3IEFuYWxvZ0NoYW5uZWwoY2hhbm5lbCk7DQotCW1fY2hhbm5lbEFsbG9jYXRlZCA9IHRydWU7DQotCUluaXRHeXJvKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEd5cm8gY29uc3RydWN0b3Igd2l0aCBhIHByZWNyZWF0ZWQgYW5hbG9nIGNoYW5uZWwgb2JqZWN0Lg0KLSAqIFVzZSB0aGlzIGNvbnN0cnVjdG9yIHdoZW4gdGhlIGFuYWxvZyBjaGFubmVsIG5lZWRzIHRvIGJlIHNoYXJlZC4gVGhlcmUNCi0gKiBpcyBubyByZWZlcmVuY2UgY291bnRpbmcgd2hlbiBhbiBBbmFsb2dDaGFubmVsIGlzIHBhc3NlZCB0byB0aGUgZ3lyby4NCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgQW5hbG9nQ2hhbm5lbCBvYmplY3QgdGhhdCB0aGUgZ3lybyBpcyBjb25uZWN0ZWQgdG8uDQotICovDQotR3lybzo6R3lybyhBbmFsb2dDaGFubmVsICpjaGFubmVsKQ0KLXsNCi0JbV9hbmFsb2cgPSBjaGFubmVsOw0KLQltX2NoYW5uZWxBbGxvY2F0ZWQgPSBmYWxzZTsNCi0JaWYgKGNoYW5uZWwgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKE51bGxQYXJhbWV0ZXIpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJSW5pdEd5cm8oKTsNCi0JfQ0KLX0NCi0NCi1HeXJvOjpHeXJvKEFuYWxvZ0NoYW5uZWwgJmNoYW5uZWwpDQotew0KLQltX2FuYWxvZyA9ICZjaGFubmVsOw0KLQltX2NoYW5uZWxBbGxvY2F0ZWQgPSBmYWxzZTsNCi0JSW5pdEd5cm8oKTsNCi19DQotDQotLyoqDQotICogUmVzZXQgdGhlIGd5cm8uDQotICogUmVzZXRzIHRoZSBneXJvIHRvIGEgaGVhZGluZyBvZiB6ZXJvLiBUaGlzIGNhbiBiZSB1c2VkIGlmIHRoZXJlIGlzIHNpZ25pZmljYW50DQotICogZHJpZnQgaW4gdGhlIGd5cm8gYW5kIGl0IG5lZWRzIHRvIGJlIHJlY2FsaWJyYXRlZCBhZnRlciBpdCBoYXMgYmVlbiBydW5uaW5nLg0KLSAqLw0KLXZvaWQgR3lybzo6UmVzZXQoKQ0KLXsNCi0JbV9hbmFsb2ctPlJlc2V0QWNjdW11bGF0b3IoKTsNCi19DQotDQotLyoqDQotICogRGVsZXRlIChmcmVlKSB0aGUgYWNjdW11bGF0b3IgYW5kIHRoZSBhbmFsb2cgY29tcG9uZW50cyB1c2VkIGZvciB0aGUgZ3lyby4NCi0gKi8NCi1HeXJvOjp+R3lybygpDQotew0KLQlpZiAobV9jaGFubmVsQWxsb2NhdGVkKQ0KLQkJZGVsZXRlIG1fYW5hbG9nOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIGFjdHVhbCBhbmdsZSBpbiBkZWdyZWVzIHRoYXQgdGhlIHJvYm90IGlzIGN1cnJlbnRseSBmYWNpbmcuDQotICogDQotICogVGhlIGFuZ2xlIGlzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGFjY3VtdWxhdG9yIHZhbHVlIGNvcnJlY3RlZCBieSB0aGUgb3ZlcnNhbXBsaW5nIHJhdGUsIHRoZQ0KLSAqIGd5cm8gdHlwZSBhbmQgdGhlIEEvRCBjYWxpYnJhdGlvbiB2YWx1ZXMuDQotICogVGhlIGFuZ2xlIGlzIGNvbnRpbnVvdXMsIHRoYXQgaXMgY2FuIGdvIGJleW9uZCAzNjAgZGVncmVlcy4gVGhpcyBtYWtlIGFsZ29yaXRobXMgdGhhdCB3b3VsZG4ndA0KLSAqIHdhbnQgdG8gc2VlIGEgZGlzY29udGludWl0eSBpbiB0aGUgZ3lybyBvdXRwdXQgYXMgaXQgc3dlZXBzIHBhc3QgMCBvbiB0aGUgc2Vjb25kIHRpbWUgYXJvdW5kLg0KLSAqIA0KLSAqIEByZXR1cm4gdGhlIGN1cnJlbnQgaGVhZGluZyBvZiB0aGUgcm9ib3QgaW4gZGVncmVlcy4gVGhpcyBoZWFkaW5nIGlzIGJhc2VkIG9uIGludGVncmF0aW9uDQotICogb2YgdGhlIHJldHVybmVkIHJhdGUgZnJvbSB0aGUgZ3lyby4NCi0gKi8NCi1mbG9hdCBHeXJvOjpHZXRBbmdsZSggdm9pZCApDQotew0KLQlJTlQ2NCByYXdWYWx1ZTsNCi0JVUlOVDMyIGNvdW50Ow0KLQltX2FuYWxvZy0+R2V0QWNjdW11bGF0b3JPdXRwdXQoJnJhd1ZhbHVlLCAmY291bnQpOw0KLQ0KLQlJTlQ2NCB2YWx1ZSA9IHJhd1ZhbHVlIC0gKElOVDY0KSgoZmxvYXQpY291bnQgKiBtX29mZnNldCk7DQotDQotCWRvdWJsZSBzY2FsZWRWYWx1ZSA9IHZhbHVlICogMWUtOSAqIChkb3VibGUpbV9hbmFsb2ctPkdldExTQldlaWdodCgpICogKGRvdWJsZSkoMSA8PCBtX2FuYWxvZy0+R2V0QXZlcmFnZUJpdHMoKSkgLw0KLQkJKG1fYW5hbG9nLT5HZXRNb2R1bGUoKS0+R2V0U2FtcGxlUmF0ZSgpICogbV92b2x0c1BlckRlZ3JlZVBlclNlY29uZCk7DQotDQotCXJldHVybiAoZmxvYXQpc2NhbGVkVmFsdWU7DQotfQ0KLQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgZ3lybyB0eXBlIGJhc2VkIG9uIHRoZSBzZW5zaXRpdml0eS4NCi0gKiBUaGlzIHRha2VzIHRoZSBudW1iZXIgb2Ygdm9sdHMvZGVncmVlL3NlY29uZCBzZW5zaXRpdml0eSBvZiB0aGUgZ3lybyBhbmQgdXNlcyBpdCBpbiBzdWJzZXF1ZW50DQotICogY2FsY3VsYXRpb25zIHRvIGFsbG93IHRoZSBjb2RlIHRvIHdvcmsgd2l0aCBtdWx0aXBsZSBneXJvcy4NCi0gKiANCi0gKiBAcGFyYW0gdm9sdHNQZXJEZWdyZWVQZXJTZWNvbmQgVGhlIHR5cGUgb2YgZ3lybyBzcGVjaWZpZWQgYXMgdGhlIHZvbHRhZ2UgdGhhdCByZXByZXNlbnRzIG9uZSBkZWdyZWUvc2Vjb25kLg0KLSAqLw0KLXZvaWQgR3lybzo6U2V0U2Vuc2l0aXZpdHkoIGZsb2F0IHZvbHRzUGVyRGVncmVlUGVyU2Vjb25kICkNCi17DQotCW1fdm9sdHNQZXJEZWdyZWVQZXJTZWNvbmQgPSB2b2x0c1BlckRlZ3JlZVBlclNlY29uZDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBhbmdsZSBpbiBkZWdyZWVzIGZvciB0aGUgUElEU291cmNlIGJhc2Ugb2JqZWN0Lg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGFuZ2xlIGluIGRlZ3JlZXMuDQotICovDQotZG91YmxlIEd5cm86OlBJREdldCgpDQotew0KLQlyZXR1cm4gR2V0QW5nbGUoKTsNCi19DQotDQotdm9pZCBHeXJvOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldEFuZ2xlKCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgR3lybzo6U3RhcnRMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXZvaWQgR3lybzo6U3RvcExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotc3RkOjpzdHJpbmcgR3lybzo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIkd5cm8iOw0KLX0NCi0NCi12b2lkIEd5cm86OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogR3lybzo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HeXJvLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9HeXJvLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExMDZhOTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvR3lyby5oCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEdZUk9fSF8NCi0jZGVmaW5lIEdZUk9fSF8NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJQSURTb3VyY2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0NCi1jbGFzcyBBbmFsb2dDaGFubmVsOw0KLWNsYXNzIEFuYWxvZ01vZHVsZTsNCi0NCi0vKioNCi0gKiBVc2UgYSByYXRlIGd5cm8gdG8gcmV0dXJuIHRoZSByb2JvdHMgaGVhZGluZyByZWxhdGl2ZSB0byBhIHN0YXJ0aW5nIHBvc2l0aW9uLg0KLSAqIFRoZSBHeXJvIGNsYXNzIHRyYWNrcyB0aGUgcm9ib3RzIGhlYWRpbmcgYmFzZWQgb24gdGhlIHN0YXJ0aW5nIHBvc2l0aW9uLiBBcyB0aGUgcm9ib3QNCi0gKiByb3RhdGVzIHRoZSBuZXcgaGVhZGluZyBpcyBjb21wdXRlZCBieSBpbnRlZ3JhdGluZyB0aGUgcmF0ZSBvZiByb3RhdGlvbiByZXR1cm5lZA0KLSAqIGJ5IHRoZSBzZW5zb3IuIFdoZW4gdGhlIGNsYXNzIGlzIGluc3RhbnRpYXRlZCwgaXQgZG9lcyBhIHNob3J0IGNhbGlicmF0aW9uIHJvdXRpbmUNCi0gKiB3aGVyZSBpdCBzYW1wbGVzIHRoZSBneXJvIHdoaWxlIGF0IHJlc3QgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IG9mZnNldC4gVGhpcyBpcw0KLSAqIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHNhbXBsZSB0byBkZXRlcm1pbmUgdGhlIGhlYWRpbmcuIFRoaXMgZ3lybyBjbGFzcyBtdXN0IGJlIHVzZWQgDQotICogd2l0aCBhIGNoYW5uZWwgdGhhdCBpcyBhc3NpZ25lZCBvbmUgb2YgdGhlIEFuYWxvZyBhY2N1bXVsYXRvcnMgZnJvbSB0aGUgRlBHQS4gU2VlDQotICogQW5hbG9nQ2hhbm5lbCBmb3IgdGhlIGN1cnJlbnQgYWNjdW11bGF0b3IgYXNzaWdubWVudHMuDQotICovDQotY2xhc3MgR3lybyA6IHB1YmxpYyBTZW5zb3JCYXNlLCBwdWJsaWMgUElEU291cmNlLCBwdWJsaWMgTGl2ZVdpbmRvd1NlbmRhYmxlDQotew0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrT3ZlcnNhbXBsZUJpdHMgPSAxMDsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrQXZlcmFnZUJpdHMgPSAwOw0KLQlzdGF0aWMgY29uc3QgZmxvYXQga1NhbXBsZXNQZXJTZWNvbmQgPSA1MC4wOw0KLQlzdGF0aWMgY29uc3QgZmxvYXQga0NhbGlicmF0aW9uU2FtcGxlVGltZSA9IDUuMDsNCi0Jc3RhdGljIGNvbnN0IGZsb2F0IGtEZWZhdWx0Vm9sdHNQZXJEZWdyZWVQZXJTZWNvbmQgPSAwLjAwNzsNCi0NCi0JR3lybyhVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JZXhwbGljaXQgR3lybyhVSU5UMzIgY2hhbm5lbCk7DQotCWV4cGxpY2l0IEd5cm8oQW5hbG9nQ2hhbm5lbCAqY2hhbm5lbCk7DQotCWV4cGxpY2l0IEd5cm8oQW5hbG9nQ2hhbm5lbCAmY2hhbm5lbCk7DQotCXZpcnR1YWwgfkd5cm8oKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRBbmdsZSgpOw0KLQl2b2lkIFNldFNlbnNpdGl2aXR5KGZsb2F0IHZvbHRzUGVyRGVncmVlUGVyU2Vjb25kKTsNCi0JdmlydHVhbCB2b2lkIFJlc2V0KCk7DQotDQotCS8vIFBJRFNvdXJjZSBpbnRlcmZhY2UNCi0JZG91YmxlIFBJREdldCgpOw0KLQkNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotCXZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpOw0KLQlJVGFibGUgKiBHZXRUYWJsZSgpOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdEd5cm8oKTsNCi0NCi0JQW5hbG9nQ2hhbm5lbCAqbV9hbmFsb2c7DQotCWZsb2F0IG1fdm9sdHNQZXJEZWdyZWVQZXJTZWNvbmQ7DQotCWZsb2F0IG1fb2Zmc2V0Ow0KLQlib29sIG1fY2hhbm5lbEFsbG9jYXRlZDsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi19Ow0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0hpVGVjaG5pY0NvbG9yU2Vuc29yLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0hpVGVjaG5pY0NvbG9yU2Vuc29yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmU2MDM1YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb2xvclNlbnNvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzODEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiSGlUZWNobmljQ29sb3JTZW5zb3IuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJJMkMuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtBZGRyZXNzOw0KLWNvbnN0IFVJTlQ4IEhpVGVjaG5pY0NvbG9yU2Vuc29yOjprTWFudWZhY3R1cmVyQmFzZVJlZ2lzdGVyOw0KLWNvbnN0IFVJTlQ4IEhpVGVjaG5pY0NvbG9yU2Vuc29yOjprTWFudWZhY3R1cmVyU2l6ZTsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6a1NlbnNvclR5cGVCYXNlUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtTZW5zb3JUeXBlU2l6ZTsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6a01vZGVSZWdpc3RlcjsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6a0NvbG9yUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtSZWRSZWdpc3RlcjsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6a0dyZWVuUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtCbHVlUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtSYXdSZWRSZWdpc3RlcjsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6a1Jhd0dyZWVuUmVnaXN0ZXI7DQotY29uc3QgVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OmtSYXdCbHVlUmVnaXN0ZXI7DQotDQotLyoqDQotICogQ29uc3RydWN0b3IuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgc2Vuc29yIGlzIHBsdWdnZWQgaW50byAoMSBvciAyKS4NCi0gKi8NCi1IaVRlY2huaWNDb2xvclNlbnNvcjo6SGlUZWNobmljQ29sb3JTZW5zb3IoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLQk6IG1faTJjIChOVUxMKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCURpZ2l0YWxNb2R1bGUgKm1vZHVsZSA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotCW1fbW9kZSA9IGtBY3RpdmU7DQotCQ0KLQlpZiAobW9kdWxlKQ0KLQl7DQotCQltX2kyYyA9IG1vZHVsZS0+R2V0STJDKGtBZGRyZXNzKTsNCi0JDQotCQkvLyBWZXJpZnkgU2Vuc29yDQotCQljb25zdCBVSU5UOCBrRXhwZWN0ZWRNYW51ZmFjdHVyZXJbXSA9ICJIaVRlY2huYyI7DQotCQljb25zdCBVSU5UOCBrRXhwZWN0ZWRTZW5zb3JUeXBlW10gPSAiQ29sb3JQRCAiOw0KLQkJaWYgKCAhIG1faTJjLT5WZXJpZnlTZW5zb3Ioa01hbnVmYWN0dXJlckJhc2VSZWdpc3Rlciwga01hbnVmYWN0dXJlclNpemUsIGtFeHBlY3RlZE1hbnVmYWN0dXJlcikgKQ0KLQkJew0KLQkJCXdwaV9zZXRXUElFcnJvcihDb21wYXNzTWFudWZhY3R1cmVyRXJyb3IpOw0KLQkJCXJldHVybjsNCi0JCX0NCi0JCWlmICggISBtX2kyYy0+VmVyaWZ5U2Vuc29yKGtTZW5zb3JUeXBlQmFzZVJlZ2lzdGVyLCBrU2Vuc29yVHlwZVNpemUsIGtFeHBlY3RlZFNlbnNvclR5cGUpICkNCi0JCXsNCi0JCQl3cGlfc2V0V1BJRXJyb3IoQ29tcGFzc1R5cGVFcnJvcik7DQotCQl9DQotCQkNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9IaVRlY2huaWNDb2xvclNlbnNvciwgbW9kdWxlTnVtYmVyIC0gMSk7DQotCX0NCi19DQotDQotLyoqDQotICogRGVzdHJ1Y3Rvci4NCi0gKi8NCi1IaVRlY2huaWNDb2xvclNlbnNvcjo6fkhpVGVjaG5pY0NvbG9yU2Vuc29yKCkNCi17DQotCWRlbGV0ZSBtX2kyYzsNCi0JbV9pMmMgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGVzdGltYXRlZCBjb2xvci4NCi0gKg0KLSAqIEdldHMgYSBjb2xvciBlc3RpbWF0ZSBmcm9tIHRoZSBzZW5zb3IgY29ycmVzcG9uZGluZyB0byB0aGUNCi0gKiB0YWJsZSBmb3VuZCB3aXRoIHRoZSBzZW5zb3Igb3IgYXQgdGhlIGZvbGxvd2luZyBzaXRlOg0KLSAqIGh0dHA6Ly93d3cuaGl0ZWNobmljLmNvbS9jZ2ktYmluL2NvbW1lcmNlLmNnaT9wcmVhZGQ9YWN0aW9uJmtleT1OQ08xMDM4DQotICoNCi0gKiBAcmV0dXJuIFRoZSBlc3RpbWF0ZWQgY29sb3IuDQotICovDQotVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OkdldENvbG9yKCkNCi17DQotCVVJTlQ4IGNvbG9yID0gMDsNCi0JDQotCWlmKG1fbW9kZSAhPSBrQWN0aXZlKQ0KLQl7DQotCQlTZXRNb2RlKGtBY3RpdmUpOw0KLQl9DQotCWlmIChtX2kyYykNCi0Jew0KLQkJbV9pMmMtPlJlYWQoa0NvbG9yUmVnaXN0ZXIsIHNpemVvZihjb2xvciksICZjb2xvcik7DQotCX0NCi0JcmV0dXJuIGNvbG9yOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFJlZCB2YWx1ZS4NCi0gKg0KLSAqIEdldHMgdGhlICgwLTI1NSkgcmVkIHZhbHVlIGZyb20gdGhlIHNlbnNvci4NCi0gKiANCi0gKiBUaGUgc2Vuc29yIG11c3QgYmUgaW4gYWN0aXZlIG1vZGUgdG8gYWNjZXNzIHRoZSByZWd1bGFyIFJHQiBkYXRhDQotICogaWYgdGhlIHNlbnNvciBpcyBub3QgaW4gYWN0aXZlIG1vZGUsIGl0IHdpbGwgYmUgcGxhY2VkIGludG8gYWN0aXZlDQotICogbW9kZSBieSB0aGlzIG1ldGhvZC4NCi0gKg0KLSAqIEByZXR1cm4gVGhlIFJlZCBzZW5zb3IgdmFsdWUuDQotICovDQotVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OkdldFJlZCgpDQotew0KLQlVSU5UOCByZWQgPSAwOw0KLQkNCi0JaWYobV9tb2RlICE9IGtBY3RpdmUpDQotCXsNCi0JCVNldE1vZGUoa0FjdGl2ZSk7DQotCX0NCi0JaWYgKG1faTJjKQ0KLQl7DQotCQltX2kyYy0+UmVhZChrUmVkUmVnaXN0ZXIsIHNpemVvZihyZWQpLCAmcmVkKTsNCi0JfQ0KLQlyZXR1cm4gcmVkOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIEdyZWVuIHZhbHVlLg0KLSAqDQotICogR2V0cyB0aGUoMC0yNTUpIGdyZWVuIHZhbHVlIGZyb20gdGhlIHNlbnNvci4NCi0gKiANCi0gKiBUaGUgc2Vuc29yIG11c3QgYmUgaW4gYWN0aXZlIG1vZGUgdG8gYWNjZXNzIHRoZSByZWd1bGFyIFJHQiBkYXRhDQotICogaWYgdGhlIHNlbnNvciBpcyBub3QgaW4gYWN0aXZlIG1vZGUsIGl0IHdpbGwgYmUgcGxhY2VkIGludG8gYWN0aXZlDQotICogbW9kZSBieSB0aGlzIG1ldGhvZC4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBHcmVlbiBzZW5zb3IgdmFsdWUuDQotICovDQotVUlOVDggSGlUZWNobmljQ29sb3JTZW5zb3I6OkdldEdyZWVuKCkNCi17DQotCVVJTlQ4IGdyZWVuID0gMDsNCi0JDQotCWlmKG1fbW9kZSAhPSBrQWN0aXZlKQ0KLQl7DQotCQlTZXRNb2RlKGtBY3RpdmUpOw0KLQl9DQotCWlmIChtX2kyYykNCi0Jew0KLQkJbV9pMmMtPlJlYWQoa0dyZWVuUmVnaXN0ZXIsIHNpemVvZihncmVlbiksICZncmVlbik7DQotCX0NCi0JcmV0dXJuIGdyZWVuOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIEJsdWUgdmFsdWUuDQotICoNCi0gKiBHZXRzIHRoZSByYXcgKDAtMjU1KSBibHVlIHZhbHVlIGZyb20gdGhlIHNlbnNvci4NCi0gKiANCi0gKiBUaGUgc2Vuc29yIG11c3QgYmUgaW4gYWN0aXZlIG1vZGUgdG8gYWNjZXNzIHRoZSByZWd1bGFyIFJHQiBkYXRhDQotICogaWYgdGhlIHNlbnNvciBpcyBub3QgaW4gYWN0aXZlIG1vZGUsIGl0IHdpbGwgYmUgcGxhY2VkIGludG8gYWN0aXZlDQotICogbW9kZSBieSB0aGlzIG1ldGhvZC4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBCbHVlIHNlbnNvciB2YWx1ZS4NCi0gKi8NCi1VSU5UOCBIaVRlY2huaWNDb2xvclNlbnNvcjo6R2V0Qmx1ZSgpDQotew0KLQlVSU5UOCBibHVlID0gMDsNCi0JDQotCWlmKG1fbW9kZSAhPSBrQWN0aXZlKQ0KLQl7DQotCQlTZXRNb2RlKGtBY3RpdmUpOw0KLQl9DQotCWlmIChtX2kyYykNCi0Jew0KLQkJbV9pMmMtPlJlYWQoa0JsdWVSZWdpc3Rlciwgc2l6ZW9mKGJsdWUpLCAmYmx1ZSk7DQotCX0NCi0JcmV0dXJuIGJsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgdmFsdWUgb2YgYWxsIHRocmVlIGNvbG9ycyBmcm9tIGEgc2luZ2xlIHNlbnNvciByZWFkaW5nLg0KLSAqIFVzaW5nIHRoaXMgbWV0aG9kIGVuc3VyZXMgdGhhdCBhbGwgdGhyZWUgdmFsdWVzIGNvbWUgZnJvbSB0aGUNCi0gKiBzYW1lIHNlbnNvciByZWFkaW5nLCB1c2luZyB0aGUgaW5kaXZpZHVhbCBjb2xvciBtZXRob2RzIHByb3ZpZGVzDQotICogbm8gc3VjaCBndWFyYW50ZWUuDQotICogDQotICogVGhlIHNlbnNvciBtdXN0IGJlIGluIGFjdGl2ZSBtb2RlIHRvIGFjY2VzcyB0aGUgcmVndWxhciBSR0IgZGF0YS4NCi0gKiBJZiB0aGUgc2Vuc29yIGlzIG5vdCBpbiBhY3RpdmUgbW9kZSwgaXQgd2lsbCBiZSBwbGFjZWQgaW50byBhY3RpdmUNCi0gKiBtb2RlIGJ5IHRoaXMgbWV0aG9kLg0KLSAqIA0KLSAqIEByZXR1cm4gUkdCIG9iamVjdCB3aXRoIHRoZSB0aHJlZSBjb2xvciB2YWx1ZXMNCi0gKi8NCi1IaVRlY2huaWNDb2xvclNlbnNvcjo6UkdCIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpHZXRSR0IoKQ0KLXsNCi0JVUlOVDggY29sb3JzWzNdID0gezAsMCwwfTsNCi0JUkdCIHJlc3VsdDsNCi0JDQotCWlmKG1fbW9kZSAhPSBrQWN0aXZlKQ0KLQl7DQotCQlTZXRNb2RlKGtBY3RpdmUpOw0KLQl9DQotCWlmKG1faTJjKQ0KLQl7DQotCQltX2kyYy0+UmVhZChrUmF3UmVkUmVnaXN0ZXIsIHNpemVvZihjb2xvcnMpLCAoVUlOVDgqKSZjb2xvcnMpOw0KLQl9DQotCQ0KLQlyZXN1bHQucmVkID0gY29sb3JzWzBdOw0KLQlyZXN1bHQuZ3JlZW4gPSBjb2xvcnNbMV07DQotCXJlc3VsdC5ibHVlID0gY29sb3JzWzJdOw0KLQkNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBSYXcgUmVkIHZhbHVlLg0KLSAqDQotICogR2V0cyB0aGUgKDAtNjU1MzYpIHJhdyByZWQgdmFsdWUgZnJvbSB0aGUgc2Vuc29yLg0KLSAqIA0KLSAqIFRoZSBzZW5zb3IgbXVzdCBiZSBpbiByYXcgb3IgcGFzc2l2ZSBtb2RlIHRvIGFjY2VzcyB0aGUgcmVndWxhciBSR0IgZGF0YQ0KLSAqIGlmIHRoZSBzZW5zb3IgaXMgbm90IGluIHJhdyBvciBwYXNzaXZlIG1vZGUsIGl0IHdpbGwgYmUgcGxhY2VkIGludG8gcmF3DQotICogbW9kZSBieSB0aGlzIG1ldGhvZC4NCi0gKg0KLSAqIEByZXR1cm4gVGhlIFJhdyBSZWQgc2Vuc29yIHZhbHVlLg0KLSAqLw0KLVVJTlQxNiBIaVRlY2huaWNDb2xvclNlbnNvcjo6R2V0UmF3UmVkKCkNCi17DQotCVVJTlQxNiByYXdSZWQgPSAwOw0KLQkNCi0JaWYobV9tb2RlID09IGtBY3RpdmUpDQotCXsNCi0JCVNldE1vZGUoa1Jhdyk7DQotCX0NCi0JaWYgKG1faTJjKQ0KLQl7DQotCQltX2kyYy0+UmVhZChrUmF3UmVkUmVnaXN0ZXIsIHNpemVvZihyYXdSZWQpLCAoVUlOVDggKikmcmF3UmVkKTsNCi0JfQ0KLQlyZXR1cm4gcmF3UmVkOw0KLX0NCi0NCi0vKioNCi0gICAqIEdldCB0aGUgUmF3IEdyZWVuIHZhbHVlLg0KLSAgICoNCi0gICAqIEdldHMgdGhlICgwLTY1NTM2KSByYXcgZ3JlZW4gdmFsdWUgZnJvbSB0aGUgc2Vuc29yLg0KLSAgICogDQotICAgKiBUaGUgc2Vuc29yIG11c3QgYmUgaW4gcmF3IG9yIHBhc3NpdmUgbW9kZSB0byBhY2Nlc3MgdGhlIHJlZ3VsYXIgUkdCIGRhdGENCi0gICAqIGlmIHRoZSBzZW5zb3IgaXMgbm90IGluIHJhdyBvciBwYXNzaXZlIG1vZGUsIGl0IHdpbGwgYmUgcGxhY2VkIGludG8gcmF3DQotICAgKiBtb2RlIGJ5IHRoaXMgbWV0aG9kLg0KLSAgICoNCi0gICAqIEByZXR1cm4gVGhlIFJhdyBHcmVlbiBzZW5zb3IgdmFsdWUuDQotICAgKi8NCi1VSU5UMTYgSGlUZWNobmljQ29sb3JTZW5zb3I6OkdldFJhd0dyZWVuKCkNCi17DQotCVVJTlQxNiByYXdHcmVlbiA9IDA7DQotCQ0KLQlpZihtX21vZGUgPT0ga0FjdGl2ZSkNCi0Jew0KLQkJU2V0TW9kZShrUmF3KTsNCi0JfQ0KLQlpZiAobV9pMmMpDQotCXsNCi0JCW1faTJjLT5SZWFkKGtSYXdHcmVlblJlZ2lzdGVyLCBzaXplb2YocmF3R3JlZW4pLCAoVUlOVDggKikmcmF3R3JlZW4pOw0KLQl9DQotCXJldHVybiByYXdHcmVlbjsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBSYXcgQmx1ZSB2YWx1ZS4NCi0gKg0KLSAqIEdldHMgdGhlICgwLTY1NTM2KSByYXcgYmx1ZSB2YWx1ZSBmcm9tIHRoZSBzZW5zb3IuDQotICogDQotICogVGhlIHNlbnNvciBtdXN0IGJlIGluIHJhdyBvciBwYXNzaXZlIG1vZGUgdG8gYWNjZXNzIHRoZSByZWd1bGFyIFJHQiBkYXRhDQotICogaWYgdGhlIHNlbnNvciBpcyBub3QgaW4gcmF3IG9yIHBhc3NpdmUgbW9kZSwgaXQgd2lsbCBiZSBwbGFjZWQgaW50byByYXcNCi0gKiBtb2RlIGJ5IHRoaXMgbWV0aG9kLg0KLSAqDQotICogQHJldHVybiBUaGUgUmF3IEJsdWUgc2Vuc29yIHZhbHVlLg0KLSAqLw0KLVVJTlQxNiBIaVRlY2huaWNDb2xvclNlbnNvcjo6R2V0UmF3Qmx1ZSgpDQotew0KLQlVSU5UMTYgcmF3Qmx1ZSA9IDA7DQotCQ0KLQlpZihtX21vZGUgPT0ga0FjdGl2ZSkNCi0Jew0KLQkJU2V0TW9kZShrUmF3KTsNCi0JfQ0KLQlpZiAobV9pMmMpDQotCXsNCi0JCW1faTJjLT5SZWFkKGtSYXdCbHVlUmVnaXN0ZXIsIHNpemVvZihyYXdCbHVlKSwgKFVJTlQ4ICopJnJhd0JsdWUpOw0KLQl9DQotCXJldHVybiByYXdCbHVlOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHJhdyB2YWx1ZSBvZiBhbGwgdGhyZWUgY29sb3JzIGZyb20gYSBzaW5nbGUgc2Vuc29yIHJlYWRpbmcuDQotICogVXNpbmcgdGhpcyBtZXRob2QgZW5zdXJlcyB0aGF0IGFsbCB0aHJlZSB2YWx1ZXMgY29tZSBmcm9tIHRoZQ0KLSAqIHNhbWUgc2Vuc29yIHJlYWRpbmcsIHVzaW5nIHRoZSBpbmRpdmlkdWFsIGNvbG9yIG1ldGhvZHMgcHJvdmlkZXMNCi0gKiBubyBzdWNoIGd1YXJhbnRlZS4NCi0gKg0KLSAqIEdldHMgdGhlICgwLTY1NTM2KSByYXcgY29sb3IgdmFsdWVzIGZyb20gdGhlIHNlbnNvci4NCi0gKiANCi0gKiBUaGUgc2Vuc29yIG11c3QgYmUgaW4gcmF3IG9yIHBhc3NpdmUgbW9kZSB0byBhY2Nlc3MgdGhlIHJlZ3VsYXIgUkdCIGRhdGENCi0gKiBpZiB0aGUgc2Vuc29yIGlzIG5vdCBpbiByYXcgb3IgcGFzc2l2ZSBtb2RlLCBpdCB3aWxsIGJlIHBsYWNlZCBpbnRvIHJhdw0KLSAqIG1vZGUgYnkgdGhpcyBtZXRob2QuDQotICoNCi0gKiBAcmV0dXJuIEFuIFJHQiBvYmplY3Qgd2l0aCB0aGUgcmF3IHNlbnNvciB2YWx1ZXMuDQotICovDQotSGlUZWNobmljQ29sb3JTZW5zb3I6OlJHQiBIaVRlY2huaWNDb2xvclNlbnNvcjo6R2V0UmF3UkdCKCkNCi17DQotCVVJTlQ4IGNvbG9yc1s2XSA9IHswLDAsMCwwLDAsMH07DQotCVJHQiByZXN1bHQ7DQotCQ0KLQlpZihtX21vZGUgIT0ga0FjdGl2ZSkNCi0Jew0KLQkJU2V0TW9kZShrQWN0aXZlKTsNCi0JfQ0KLQlpZihtX2kyYykNCi0Jew0KLQkJbV9pMmMtPlJlYWQoa1JlZFJlZ2lzdGVyLCBzaXplb2YoY29sb3JzKSwgKFVJTlQ4KikmY29sb3JzKTsNCi0JfQ0KLQkNCi0JcmVzdWx0LnJlZCA9IChjb2xvcnNbMF08PDgpICsgY29sb3JzWzFdOw0KLQlyZXN1bHQuZ3JlZW4gPSAoY29sb3JzWzJdPDw4KSArIGNvbG9yc1szXTsNCi0JcmVzdWx0LmJsdWUgPSAoY29sb3JzWzRdPDw4KSArIGNvbG9yc1s1XTsNCi0JDQotCXJldHVybiByZXN1bHQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgTW9kZSBvZiB0aGUgY29sb3Igc2Vuc29yDQotICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBzZXQgdGhlIGNvbG9yIHNlbnNvciB0byBvbmUgb2YgdGhlIHRocmVlIG1vZGVzLA0KLSAqIGFjdGl2ZSwgcGFzc2l2ZSBvciByYXcuIFRoZSBzZW5zb3IgZGVmYXVsdHMgdG8gYWN0aXZlIG1vZGUgd2hpY2ggdXNlcyB0aGUNCi0gKiBpbnRlcm5hbCBMRUQgYW5kIHJldHVybnMgYW4gaW50ZXJwcmV0ZWQgY29sb3IgdmFsdWUgYW5kIDMgOC1iaXQgUkdCIGNoYW5uZWwNCi0gKiB2YWx1ZXMuIFJhdyBtb2RlIHVzZXMgdGhlIGludGVybmFsIExFRCBhbmQgcmV0dXJucyAzIDE2LWJpdCBSR0IgY2hhbm5lbCB2YWx1ZXMuDQotICogUGFzc2l2ZSBtb2RlIGRpc2FibGVzIHRoZSBpbnRlcm5hbCBMRUQgYW5kIHJldHVybnMgMyAxNi1iaXQgUkdCIGNoYW5uZWwgdmFsdWVzLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBtb2RlIHRvIHNldA0KLSAqLw0KLXZvaWQgSGlUZWNobmljQ29sb3JTZW5zb3I6OlNldE1vZGUodENvbG9yTW9kZSBtb2RlKQ0KLXsNCi0JaWYobV9pMmMpDQotCXsNCi0JCW1faTJjLT5Xcml0ZShrTW9kZVJlZ2lzdGVyLCAoVUlOVDgpbW9kZSk7DQotCX0NCi19DQotDQotLyoNCi0gKiBMaXZlIFdpbmRvdyBjb2RlLCBvbmx5IGRvZXMgYW55dGhpbmcgaWYgbGl2ZSB3aW5kb3cgaXMgYWN0aXZhdGVkLg0KLSAqLw0KLXN0ZDo6c3RyaW5nIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpHZXRUeXBlKCkNCi17DQotICAgIHJldHVybiAiQ29tcGFzcyI7DQotfQ0KLQ0KLS8qKg0KLSAqIHtAaW5oZXJpdERvY30NCi0gKi8NCi12b2lkIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpJbml0VGFibGUoSVRhYmxlICpzdWJ0YWJsZSkgew0KLSAgICBtX3RhYmxlID0gc3VidGFibGU7DQotICAgIFVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIHtAaW5oZXJpdERvY30NCi0gKi8NCi12b2lkIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpVcGRhdGVUYWJsZSgpIHsNCi0gICAgaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLSAgICAgICAgbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldENvbG9yKCkpOw0KLSAgICB9DQotfQ0KLQ0KLS8qKg0KLSAqIHtAaW5oZXJpdERvY30NCi0gKi8NCi1JVGFibGUqIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpHZXRUYWJsZSgpDQotew0KLSAgICByZXR1cm4gbV90YWJsZTsNCi19DQotDQotLyoqDQotICoge0Bpbmhlcml0RG9jfQ0KLSAqLw0KLXZvaWQgSGlUZWNobmljQ29sb3JTZW5zb3I6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKQ0KLXsNCi0JDQotfQ0KLQ0KLS8qKg0KLSAqIHtAaW5oZXJpdERvY30NCi0gKi8NCi12b2lkIEhpVGVjaG5pY0NvbG9yU2Vuc29yOjpTdG9wTGl2ZVdpbmRvd01vZGUoKQ0KLXsNCi0JDQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0hpVGVjaG5pY0NvbG9yU2Vuc29yLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb2xvclNlbnNvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZGFlMTgwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0hpVGVjaG5pY0NvbG9yU2Vuc29yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19IaVRlY2huaWNDb2xvclNlbnNvcl9oX18NCi0jZGVmaW5lIF9fSGlUZWNobmljQ29sb3JTZW5zb3JfaF9fDQotDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0NCi1jbGFzcyBJMkM7DQotDQotLyoqDQotICogSGlUZWNobmljIE5YVCBDb2xvciBTZW5zb3IuDQotICoNCi0gKiBUaGlzIGNsYXNzIGFsbG93cyBhY2Nlc3MgdG8gYSBIaVRlY2huaWMgTlhUIENvbG9yIFNlbnNvciBvbiBhbiBJMkMgYnVzLg0KLSAqIFRoZXNlIHNlbnNvcnMgZG8gbm90IGFsbG93IGNoYW5naW5nIGFkZHJlc3NlcyBzbyB5b3UgY2Fubm90IGhhdmUgbW9yZQ0KLSAqIHRoYW4gb25lIG9uIGEgc2luZ2xlIGJ1cy4NCi0gKg0KLSAqIERldGFpbHMgb24gdGhlIHNlbnNvciBjYW4gYmUgZm91bmQgaGVyZToNCi0gKiAgIGh0dHA6Ly93d3cuaGl0ZWNobmljLmNvbS9pbmRleC5odG1sP2xhbmc9ZW4tdXMmdGFyZ2V0PWQxNy5odG1sDQotICoNCi0gKi8NCi1jbGFzcyBIaVRlY2huaWNDb2xvclNlbnNvciA6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JZW51bSB0Q29sb3JNb2RlIHtrQWN0aXZlID0gMCwga1Bhc3NpdmUgPSAxLCBrUmF3ID0gM307DQotCXR5cGVkZWYgc3RydWN0ew0KLQkJVUlOVDE2IHJlZDsNCi0JCVVJTlQxNiBibHVlOw0KLQkJVUlOVDE2IGdyZWVuOw0KLQl9UkdCOw0KLQlleHBsaWNpdCBIaVRlY2huaWNDb2xvclNlbnNvcihVSU5UOCBtb2R1bGVOdW1iZXIpOw0KLQl2aXJ0dWFsIH5IaVRlY2huaWNDb2xvclNlbnNvcigpOw0KLQlVSU5UOCBHZXRDb2xvcigpOw0KLQlVSU5UOCBHZXRSZWQoKTsNCi0JVUlOVDggR2V0R3JlZW4oKTsNCi0JVUlOVDggR2V0Qmx1ZSgpOw0KLQlSR0IgR2V0UkdCKCk7DQotCVVJTlQxNiBHZXRSYXdSZWQoKTsNCi0JVUlOVDE2IEdldFJhd0dyZWVuKCk7DQotCVVJTlQxNiBHZXRSYXdCbHVlKCk7DQotCVJHQiBHZXRSYXdSR0IoKTsNCi0Jdm9pZCBTZXRNb2RlKHRDb2xvck1vZGUgbW9kZSk7DQotCQ0KLQkNCi0JLy9MaXZlV2luZG93U2VuZGFibGUgaW50ZXJmYWNlDQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0VHlwZSgpOw0KLQl2aXJ0dWFsIHZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3VidGFibGUpOw0KLQl2aXJ0dWFsIHZvaWQgVXBkYXRlVGFibGUoKTsNCi0JdmlydHVhbCBJVGFibGUqIEdldFRhYmxlKCk7DQotCXZpcnR1YWwgdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZpcnR1YWwgdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsgDQotDQotcHJpdmF0ZToNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtBZGRyZXNzID0gMHgwMjsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtNYW51ZmFjdHVyZXJCYXNlUmVnaXN0ZXIgPSAweDA4Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDgga01hbnVmYWN0dXJlclNpemUgPSAweDA4Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDgga1NlbnNvclR5cGVCYXNlUmVnaXN0ZXIgPSAweDEwOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga1NlbnNvclR5cGVTaXplID0gMHgwODsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtNb2RlUmVnaXN0ZXIgPSAweDQxOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0NvbG9yUmVnaXN0ZXIgPSAweDQyOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga1JlZFJlZ2lzdGVyID0gMHg0MzsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtHcmVlblJlZ2lzdGVyID0gMHg0NDsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtCbHVlUmVnaXN0ZXIgPSAweDQ1Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDgga1Jhd1JlZFJlZ2lzdGVyID0gMHg0MzsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtSYXdHcmVlblJlZ2lzdGVyID0gMHg0NTsNCi0Jc3RhdGljIGNvbnN0IFVJTlQ4IGtSYXdCbHVlUmVnaXN0ZXIgPSAweDQ3Ow0KLQkNCi0JaW50IG1fbW9kZTsNCi0JSTJDKiBtX2kyYzsNCi0JSVRhYmxlICptX3RhYmxlOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSGlUZWNobmljQ29tcGFzcy5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb21wYXNzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWY5ZTgwYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb21wYXNzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJIaVRlY2huaWNDb21wYXNzLmgiDQotI2luY2x1ZGUgIkRpZ2l0YWxNb2R1bGUuaCINCi0jaW5jbHVkZSAiSTJDLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0NCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb21wYXNzOjprQWRkcmVzczsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb21wYXNzOjprTWFudWZhY3R1cmVyQmFzZVJlZ2lzdGVyOw0KLWNvbnN0IFVJTlQ4IEhpVGVjaG5pY0NvbXBhc3M6OmtNYW51ZmFjdHVyZXJTaXplOw0KLWNvbnN0IFVJTlQ4IEhpVGVjaG5pY0NvbXBhc3M6OmtTZW5zb3JUeXBlQmFzZVJlZ2lzdGVyOw0KLWNvbnN0IFVJTlQ4IEhpVGVjaG5pY0NvbXBhc3M6OmtTZW5zb3JUeXBlU2l6ZTsNCi1jb25zdCBVSU5UOCBIaVRlY2huaWNDb21wYXNzOjprSGVhZGluZ1JlZ2lzdGVyOw0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHRoYXQgdGhlIHNlbnNvciBpcyBwbHVnZ2VkIGludG8gKDEgb3IgMikuDQotICovDQotSGlUZWNobmljQ29tcGFzczo6SGlUZWNobmljQ29tcGFzcyhVSU5UOCBtb2R1bGVOdW1iZXIpDQotCTogbV9pMmMgKE5VTEwpDQotew0KLQltX3RhYmxlID0gTlVMTDsNCi0JRGlnaXRhbE1vZHVsZSAqbW9kdWxlID0gRGlnaXRhbE1vZHVsZTo6R2V0SW5zdGFuY2UobW9kdWxlTnVtYmVyKTsNCi0JaWYgKG1vZHVsZSkNCi0Jew0KLQkJbV9pMmMgPSBtb2R1bGUtPkdldEkyQyhrQWRkcmVzcyk7DQotCQ0KLQkJLy8gVmVyaWZ5IFNlbnNvcg0KLQkJY29uc3QgVUlOVDgga0V4cGVjdGVkTWFudWZhY3R1cmVyW10gPSAiSGlUZWNobmMiOw0KLQkJY29uc3QgVUlOVDgga0V4cGVjdGVkU2Vuc29yVHlwZVtdID0gIkNvbXBhc3MgIjsNCi0JCWlmICggISBtX2kyYy0+VmVyaWZ5U2Vuc29yKGtNYW51ZmFjdHVyZXJCYXNlUmVnaXN0ZXIsIGtNYW51ZmFjdHVyZXJTaXplLCBrRXhwZWN0ZWRNYW51ZmFjdHVyZXIpICkNCi0JCXsNCi0JCQl3cGlfc2V0V1BJRXJyb3IoQ29tcGFzc01hbnVmYWN0dXJlckVycm9yKTsNCi0JCQlyZXR1cm47DQotCQl9DQotCQlpZiAoICEgbV9pMmMtPlZlcmlmeVNlbnNvcihrU2Vuc29yVHlwZUJhc2VSZWdpc3Rlciwga1NlbnNvclR5cGVTaXplLCBrRXhwZWN0ZWRTZW5zb3JUeXBlKSApDQotCQl7DQotCQkJd3BpX3NldFdQSUVycm9yKENvbXBhc3NUeXBlRXJyb3IpOw0KLQkJfQ0KLQ0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0hpVGVjaG5pY0NvbXBhc3MsIG1vZHVsZU51bWJlciAtIDEpOw0KLQkJTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKS0+QWRkU2Vuc29yKCJIaVRlY2huaWNDb21wYXNzIiwgbW9kdWxlTnVtYmVyLCAwLCB0aGlzKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBEZXN0cnVjdG9yLg0KLSAqLw0KLUhpVGVjaG5pY0NvbXBhc3M6On5IaVRlY2huaWNDb21wYXNzKCkNCi17DQotCWRlbGV0ZSBtX2kyYzsNCi0JbV9pMmMgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGNvbXBhc3MgYW5nbGUgaW4gZGVncmVlcy4NCi0gKiANCi0gKiBUaGUgcmVzb2x1dGlvbiBvZiB0aGlzIHJlYWRpbmcgaXMgMSBkZWdyZWUuDQotICogDQotICogQHJldHVybiBBbmdsZSBvZiB0aGUgY29tcGFzcyBpbiBkZWdyZWVzLg0KLSAqLw0KLWZsb2F0IEhpVGVjaG5pY0NvbXBhc3M6OkdldEFuZ2xlKCkNCi17DQotCVVJTlQxNiBoZWFkaW5nID0gMDsNCi0JaWYgKG1faTJjKQ0KLQl7DQotCQltX2kyYy0+UmVhZChrSGVhZGluZ1JlZ2lzdGVyLCBzaXplb2YoaGVhZGluZyksIChVSU5UOCAqKSZoZWFkaW5nKTsNCi0NCi0JCS8vIFNlbnNvciBpcyBsaXR0bGUgZW5kaWFuLi4uIHN3YXAgYnl0ZXMNCi0JCWhlYWRpbmcgPSAoaGVhZGluZyA+PiA4KSB8IChoZWFkaW5nIDw8IDgpOw0KLQl9DQotCXJldHVybiAoZmxvYXQpaGVhZGluZzsNCi19DQotDQotdm9pZCBIaVRlY2huaWNDb21wYXNzOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldEFuZ2xlKCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgSGlUZWNobmljQ29tcGFzczo6U3RhcnRMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXZvaWQgSGlUZWNobmljQ29tcGFzczo6U3RvcExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotc3RkOjpzdHJpbmcgSGlUZWNobmljQ29tcGFzczo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIkhpVGVjaG5pY0NvbXBhc3MiOw0KLX0NCi0NCi12b2lkIEhpVGVjaG5pY0NvbXBhc3M6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogSGlUZWNobmljQ29tcGFzczo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb21wYXNzLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9IaVRlY2huaWNDb21wYXNzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiYjgxOTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSGlUZWNobmljQ29tcGFzcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fSGlUZWNobmljQ29tcGFzc19oX18NCi0jZGVmaW5lIF9fSGlUZWNobmljQ29tcGFzc19oX18NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLQ0KLWNsYXNzIEkyQzsNCi0NCi0vKioNCi0gKiBIaVRlY2huaWMgTlhUIENvbXBhc3MuDQotICogDQotICogVGhpcyBjbGFzcyBhbG93cyBhY2Nlc3MgdG8gYSBIaVRlY2huaWMgTlhUIENvbXBhc3Mgb24gYW4gSTJDIGJ1cy4NCi0gKiBUaGVzZSBzZW5zb3JzIHRvIG5vdCBhbGxvdyBjaGFuZ2luZyBhZGRyZXNzZXMgc28geW91IGNhbm5vdCBoYXZlIG1vcmUNCi0gKiAgIHRoYW4gb25lIG9uIGEgc2luZ2xlIGJ1cy4NCi0gKiANCi0gKiBEZXRhaWxzIG9uIHRoZSBzZW5zb3IgY2FuIGJlIGZvdW5kIGhlcmU6DQotICogICBodHRwOi8vd3d3LmhpdGVjaG5pYy5jb20vaW5kZXguaHRtbD9sYW5nPWVuLXVzJnRhcmdldD1kMTcuaHRtbA0KLSAqIA0KLSAqIEB0b2RvIEltcGxlbWVudCBhIGNhbGlicmF0aW9uIG1ldGhvZCBmb3IgdGhlIHNlbnNvci4NCi0gKi8NCi1jbGFzcyBIaVRlY2huaWNDb21wYXNzIDogcHVibGljIFNlbnNvckJhc2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUNCi17DQotcHVibGljOg0KLQlleHBsaWNpdCBIaVRlY2huaWNDb21wYXNzKFVJTlQ4IG1vZHVsZU51bWJlcik7DQotCXZpcnR1YWwgfkhpVGVjaG5pY0NvbXBhc3MoKTsNCi0JZmxvYXQgR2V0QW5nbGUoKTsNCi0JDQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0NCi1wcml2YXRlOg0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0FkZHJlc3MgPSAweDAyOw0KLQlzdGF0aWMgY29uc3QgVUlOVDgga01hbnVmYWN0dXJlckJhc2VSZWdpc3RlciA9IDB4MDg7DQotCXN0YXRpYyBjb25zdCBVSU5UOCBrTWFudWZhY3R1cmVyU2l6ZSA9IDB4MDg7DQotCXN0YXRpYyBjb25zdCBVSU5UOCBrU2Vuc29yVHlwZUJhc2VSZWdpc3RlciA9IDB4MTA7DQotCXN0YXRpYyBjb25zdCBVSU5UOCBrU2Vuc29yVHlwZVNpemUgPSAweDA4Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDgga0hlYWRpbmdSZWdpc3RlciA9IDB4NDQ7DQotDQotCUkyQyogbV9pMmM7DQotCQ0KLQlJVGFibGUgKm1fdGFibGU7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9JMkMuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSTJDLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EwYjhjZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9JMkMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjM2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkkyQy5oIg0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSA8dGFza0xpYi5oPg0KLQ0KLVNFTV9JRCBJMkM6Om1fc2VtYXBob3JlID0gTlVMTDsNCi1VSU5UMzIgSTJDOjptX29iakNvdW50ID0gMDsNCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3Rvci4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlIFRoZSBEaWdpdGFsIE1vZHVsZSB0byB3aGljaCB0aGUgZGV2aWNlIGlzIGNvbm5ldGVkLg0KLSAqIEBwYXJhbSBkZXZpY2VBZGRyZXNzIFRoZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2Ugb24gdGhlIEkyQyBidXMuDQotICovDQotSTJDOjpJMkMoRGlnaXRhbE1vZHVsZSAqbW9kdWxlLCBVSU5UOCBkZXZpY2VBZGRyZXNzKQ0KLQk6IG1fbW9kdWxlIChtb2R1bGUpDQotCSwgbV9kZXZpY2VBZGRyZXNzIChkZXZpY2VBZGRyZXNzKQ0KLQksIG1fY29tcGF0aWJpbGl0eU1vZGUgKGZhbHNlKQ0KLXsNCi0JaWYgKG1fc2VtYXBob3JlID09IE5VTEwpDQotCXsNCi0JCW1fc2VtYXBob3JlID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9ERUxFVEVfU0FGRSB8IFNFTV9JTlZFUlNJT05fU0FGRSk7DQotCX0NCi0JbV9vYmpDb3VudCsrOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfSTJDLCBkZXZpY2VBZGRyZXNzLCBtb2R1bGUtPkdldE51bWJlcigpIC0gMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3IuDQotICovDQotSTJDOjp+STJDKCkNCi17DQotCW1fb2JqQ291bnQtLTsNCi0JaWYgKG1fb2JqQ291bnQgPD0gMCkNCi0Jew0KLQkJc2VtRGVsZXRlKG1fc2VtYXBob3JlKTsNCi0JCW1fc2VtYXBob3JlID0gTlVMTDsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZW5lcmljIHRyYW5zYWN0aW9uLg0KLSAqIA0KLSAqIFRoaXMgaXMgYSBsb3dlci1sZXZlbCBpbnRlcmZhY2UgdG8gdGhlIEkyQyBoYXJkd2FyZSBnaXZpbmcgeW91IG1vcmUgY29udHJvbCBvdmVyIGVhY2ggdHJhbnNhY3Rpb24uDQotICogDQotICogQHBhcmFtIGRhdGFUb1NlbmQgQnVmZmVyIG9mIGRhdGEgdG8gc2VuZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2FjdGlvbi4NCi0gKiBAcGFyYW0gc2VuZFNpemUgTnVtYmVyIG9mIGJ5dGVzIHRvIHNlbmQgYXMgcGFydCBvZiB0aGUgdHJhbnNhY3Rpb24uIFswLi42XQ0KLSAqIEBwYXJhbSBkYXRhUmVjZWl2ZWQgQnVmZmVyIHRvIHJlYWQgZGF0YSBpbnRvLg0KLSAqIEBwYXJhbSByZWNlaXZlU2l6ZSBOdW1iZXIgb2YgYnl0ZWQgdG8gcmVhZCBmcm9tIHRoZSBkZXZpY2UuIFswLi43XQ0KLSAqIEByZXR1cm4gVHJhbnNmZXIgQWJvcnRlZC4uLiBmYWxzZSBmb3Igc3VjY2VzcywgdHJ1ZSBmb3IgYWJvcnRlZC4NCi0gKi8NCi1ib29sIEkyQzo6VHJhbnNhY3Rpb24oVUlOVDggKmRhdGFUb1NlbmQsIFVJTlQ4IHNlbmRTaXplLCBVSU5UOCAqZGF0YVJlY2VpdmVkLCBVSU5UOCByZWNlaXZlU2l6ZSkNCi17DQotCWlmIChzZW5kU2l6ZSA+IDYpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJzZW5kU2l6ZSIpOw0KLQkJcmV0dXJuIHRydWU7DQotCX0NCi0JaWYgKHJlY2VpdmVTaXplID4gNykNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgInJlY2VpdmVTaXplIik7DQotCQlyZXR1cm4gdHJ1ZTsNCi0JfQ0KLQ0KLQlVSU5UMzIgZGF0YT0wOw0KLQlVSU5UMzIgZGF0YUhpZ2g9MDsNCi0JVUlOVDMyIGk7DQotCWZvcihpPTA7IGk8c2VuZFNpemUgJiYgaTxzaXplb2YoZGF0YSk7IGkrKykNCi0Jew0KLQkJZGF0YSB8PSAoVUlOVDMyKWRhdGFUb1NlbmRbaV0gPDwgKDgqaSk7DQotCX0NCi0JZm9yKDsgaTxzZW5kU2l6ZTsgaSsrKQ0KLQl7DQotCQlkYXRhSGlnaCB8PSAoVUlOVDMyKWRhdGFUb1NlbmRbaV0gPDwgKDgqKGktc2l6ZW9mKGRhdGEpKSk7DQotCX0NCi0NCi0JYm9vbCBhYm9ydGVkID0gdHJ1ZTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fc2VtYXBob3JlKTsNCi0JCW1fbW9kdWxlLT5tX2ZwZ2FESU8tPndyaXRlSTJDQ29uZmlnX0FkZHJlc3MobV9kZXZpY2VBZGRyZXNzLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9tb2R1bGUtPm1fZnBnYURJTy0+d3JpdGVJMkNDb25maWdfQnl0ZXNUb1dyaXRlKHNlbmRTaXplLCAmbG9jYWxTdGF0dXMpOw0KLQkJbV9tb2R1bGUtPm1fZnBnYURJTy0+d3JpdGVJMkNDb25maWdfQnl0ZXNUb1JlYWQocmVjZWl2ZVNpemUsICZsb2NhbFN0YXR1cyk7DQotCQlpZiAoc2VuZFNpemUgPiAwKSBtX21vZHVsZS0+bV9mcGdhRElPLT53cml0ZUkyQ0RhdGFUb1NlbmQoZGF0YSwgJmxvY2FsU3RhdHVzKTsNCi0JCWlmIChzZW5kU2l6ZSA+IHNpemVvZihkYXRhKSkgbV9tb2R1bGUtPm1fZnBnYURJTy0+d3JpdGVJMkNDb25maWdfRGF0YVRvU2VuZEhpZ2goZGF0YUhpZ2gsICZsb2NhbFN0YXR1cyk7DQotCQltX21vZHVsZS0+bV9mcGdhRElPLT53cml0ZUkyQ0NvbmZpZ19CaXR3aXNlSGFuZHNoYWtlKG1fY29tcGF0aWJpbGl0eU1vZGUsICZsb2NhbFN0YXR1cyk7DQotCQlVSU5UOCB0cmFuc2FjdGlvbiA9IG1fbW9kdWxlLT5tX2ZwZ2FESU8tPnJlYWRJMkNTdGF0dXNfVHJhbnNhY3Rpb24oJmxvY2FsU3RhdHVzKTsNCi0JCW1fbW9kdWxlLT5tX2ZwZ2FESU8tPnN0cm9iZUkyQ1N0YXJ0KCZsb2NhbFN0YXR1cyk7DQotCQl3aGlsZSh0cmFuc2FjdGlvbiA9PSBtX21vZHVsZS0+bV9mcGdhRElPLT5yZWFkSTJDU3RhdHVzX1RyYW5zYWN0aW9uKCZsb2NhbFN0YXR1cykpIHRhc2tEZWxheSgxKTsNCi0JCXdoaWxlKCFtX21vZHVsZS0+bV9mcGdhRElPLT5yZWFkSTJDU3RhdHVzX0RvbmUoJmxvY2FsU3RhdHVzKSkgdGFza0RlbGF5KDEpOw0KLQkJYWJvcnRlZCA9IG1fbW9kdWxlLT5tX2ZwZ2FESU8tPnJlYWRJMkNTdGF0dXNfQWJvcnRlZCgmbG9jYWxTdGF0dXMpOw0KLQkJaWYgKHJlY2VpdmVTaXplID4gMCkgZGF0YSA9IG1fbW9kdWxlLT5tX2ZwZ2FESU8tPnJlYWRJMkNEYXRhUmVjZWl2ZWQoJmxvY2FsU3RhdHVzKTsNCi0JCWlmIChyZWNlaXZlU2l6ZSA+IHNpemVvZihkYXRhKSkgZGF0YUhpZ2ggPSBtX21vZHVsZS0+bV9mcGdhRElPLT5yZWFkSTJDU3RhdHVzX0RhdGFSZWNlaXZlZEhpZ2goJmxvY2FsU3RhdHVzKTsNCi0JfQ0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQ0KLQlmb3IoaT0wOyBpPHJlY2VpdmVTaXplICYmIGk8c2l6ZW9mKGRhdGEpOyBpKyspDQotCXsNCi0JCWRhdGFSZWNlaXZlZFtpXSA9IChkYXRhID4+ICg4KmkpKSAmIDB4RkY7DQotCX0NCi0JZm9yKDsgaTxyZWNlaXZlU2l6ZTsgaSsrKQ0KLQl7DQotCQlkYXRhUmVjZWl2ZWRbaV0gPSAoZGF0YUhpZ2ggPj4gKDgqKGktc2l6ZW9mKGRhdGEpKSkpICYgMHhGRjsNCi0JfQ0KLQlyZXR1cm4gYWJvcnRlZDsNCi19DQotDQotLyoqDQotICogQXR0ZW1wdCB0byBhZGRyZXNzIGEgZGV2aWNlIG9uIHRoZSBJMkMgYnVzLg0KLSAqIA0KLSAqIFRoaXMgYWxsb3dzIHlvdSB0byBmaWd1cmUgb3V0IGlmIHRoZXJlIGlzIGEgZGV2aWNlIG9uIHRoZSBJMkMgYnVzIHRoYXQNCi0gKiByZXNwb25kcyB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLg0KLSAqIA0KLSAqIEByZXR1cm4gVHJhbnNmZXIgQWJvcnRlZC4uLiBmYWxzZSBmb3Igc3VjY2VzcywgdHJ1ZSBmb3IgYWJvcnRlZC4NCi0gKi8NCi1ib29sIEkyQzo6QWRkcmVzc09ubHkoKQ0KLXsNCi0JcmV0dXJuIFRyYW5zYWN0aW9uKE5VTEwsIDAsIE5VTEwsIDApOw0KLX0NCi0NCi0vKioNCi0gKiBFeGVjdXRlIGEgd3JpdGUgdHJhbnNhY3Rpb24gd2l0aCB0aGUgZGV2aWNlLg0KLSAqIA0KLSAqIFdyaXRlIGEgc2luZ2xlIGJ5dGUgdG8gYSByZWdpc3RlciBvbiBhIGRldmljZSBhbmQgd2FpdCB1bnRpbCB0aGUNCi0gKiAgIHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlLg0KLSAqIA0KLSAqIEBwYXJhbSByZWdpc3RlckFkZHJlc3MgVGhlIGFkZHJlc3Mgb2YgdGhlIHJlZ2lzdGVyIG9uIHRoZSBkZXZpY2UgdG8gYmUgd3JpdHRlbi4NCi0gKiBAcGFyYW0gZGF0YSBUaGUgYnl0ZSB0byB3cml0ZSB0byB0aGUgcmVnaXN0ZXIgb24gdGhlIGRldmljZS4NCi0gKiBAcmV0dXJuIFRyYW5zZmVyIEFib3J0ZWQuLi4gZmFsc2UgZm9yIHN1Y2Nlc3MsIHRydWUgZm9yIGFib3J0ZWQuDQotICovDQotYm9vbCBJMkM6OldyaXRlKFVJTlQ4IHJlZ2lzdGVyQWRkcmVzcywgVUlOVDggZGF0YSkNCi17DQotCVVJTlQ4IGJ1ZmZlclsyXTsNCi0JYnVmZmVyWzBdID0gcmVnaXN0ZXJBZGRyZXNzOw0KLQlidWZmZXJbMV0gPSBkYXRhOw0KLQlyZXR1cm4gVHJhbnNhY3Rpb24oYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgTlVMTCwgMCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEV4ZWN1dGUgYSByZWFkIHRyYW5zYWN0aW9uIHdpdGggdGhlIGRldmljZS4NCi0gKiANCi0gKiBSZWFkIDEgdG8gNyBieXRlcyBmcm9tIGEgZGV2aWNlLg0KLSAqIE1vc3QgSTJDIGRldmljZXMgd2lsbCBhdXRvLWluY3JlbWVudCB0aGUgcmVnaXN0ZXIgcG9pbnRlciBpbnRlcm5hbGx5DQotICogICBhbGxvd2luZyB5b3UgdG8gcmVhZCB1cCB0byA3IGNvbnNlY3V0aXZlIHJlZ2lzdGVycyBvbiBhIGRldmljZSBpbiBhDQotICogICBzaW5nbGUgdHJhbnNhY3Rpb24uDQotICogDQotICogQHBhcmFtIHJlZ2lzdGVyQWRkcmVzcyBUaGUgcmVnaXN0ZXIgdG8gcmVhZCBmaXJzdCBpbiB0aGUgdHJhbnNhY3Rpb24uDQotICogQHBhcmFtIGNvdW50IFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZCBpbiB0aGUgdHJhbnNhY3Rpb24uIFsxLi43XQ0KLSAqIEBwYXJhbSBidWZmZXIgQSBwb2ludGVyIHRvIHRoZSBhcnJheSBvZiBieXRlcyB0byBzdG9yZSB0aGUgZGF0YSByZWFkIGZyb20gdGhlIGRldmljZS4NCi0gKiBAcmV0dXJuIFRyYW5zZmVyIEFib3J0ZWQuLi4gZmFsc2UgZm9yIHN1Y2Nlc3MsIHRydWUgZm9yIGFib3J0ZWQuDQotICovDQotYm9vbCBJMkM6OlJlYWQoVUlOVDggcmVnaXN0ZXJBZGRyZXNzLCBVSU5UOCBjb3VudCwgVUlOVDggKmJ1ZmZlcikNCi17DQotCWlmIChjb3VudCA8IDEgfHwgY291bnQgPiA3KQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiY291bnQiKTsNCi0JCXJldHVybiB0cnVlOw0KLQl9DQotCWlmIChidWZmZXIgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImJ1ZmZlciIpOw0KLQkJcmV0dXJuIHRydWU7DQotCX0NCi0NCi0JcmV0dXJuIFRyYW5zYWN0aW9uKCZyZWdpc3RlckFkZHJlc3MsIHNpemVvZihyZWdpc3RlckFkZHJlc3MpLCBidWZmZXIsIGNvdW50KTsNCi19DQotDQotLyoqDQotICogU2VuZCBhIGJyb2FkY2FzdCB3cml0ZSB0byBhbGwgZGV2aWNlcyBvbiB0aGUgSTJDIGJ1cy4NCi0gKiANCi0gKiBUaGlzIGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQhDQotICogDQotICogQHBhcmFtIHJlZ2lzdGVyQWRkcmVzcyBUaGUgcmVnaXN0ZXIgdG8gd3JpdGUgb24gYWxsIGRldmljZXMgb24gdGhlIGJ1cy4NCi0gKiBAcGFyYW0gZGF0YSBUaGUgdmFsdWUgdG8gd3JpdGUgdG8gdGhlIGRldmljZXMuDQotICovDQotdm9pZCBJMkM6OkJyb2FkY2FzdChVSU5UOCByZWdpc3RlckFkZHJlc3MsIFVJTlQ4IGRhdGEpDQotew0KLX0NCi0NCi0vKioNCi0gKiBTZXRDb21wYXRpYmlsaXR5TW9kZQ0KLSAqIA0KLSAqIEVuYWJsZXMgYml0d2lzZSBjbG9jayBza2V3aW5nIGRldGVjdGlvbi4gIFRoaXMgd2lsbCByZWR1Y2UgdGhlIEkyQyBpbnRlcmZhY2Ugc3BlZWQsDQotICogYnV0IHdpbGwgYWxsb3cgeW91IHRvIGNvbW11bmljYXRlIHdpdGggZGV2aWNlcyB0aGF0IHNrZXcgdGhlIGNsb2NrIGF0IGFibm9ybWFsIHRpbWVzLg0KLSAqDQotICogQHBhcmFtIGVuYWJsZSBFbmFibGUgY29tcGF0aWJpbGl0eSBtb2RlIGZvciB0aGlzIHNlbnNvciBvciBub3QuDQotICovDQotdm9pZCBJMkM6OlNldENvbXBhdGliaWxpdHlNb2RlKGJvb2wgZW5hYmxlKQ0KLXsNCi0JbV9jb21wYXRpYmlsaXR5TW9kZSA9IGVuYWJsZTsNCi0NCi0JY29uc3QgY2hhciAqY20gPSBOVUxMOw0KLQlpZiAobV9jb21wYXRpYmlsaXR5TW9kZSkgY20gPSAiQyI7DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9JMkMsIG1fZGV2aWNlQWRkcmVzcywgbV9tb2R1bGUtPkdldE51bWJlcigpIC0gMSwgY20pOw0KLX0NCi0NCi0vKioNCi0gKiBWZXJpZnkgdGhhdCBhIGRldmljZSdzIHJlZ2lzdGVycyBjb250YWluIGV4cGVjdGVkIHZhbHVlcy4NCi0gKiANCi0gKiBNb3N0IGRldmljZXMgd2lsbCBoYXZlIGEgc2V0IG9mIHJlZ2lzdGVycyB0aGF0IGNvbnRhaW4gYSBrbm93biB2YWx1ZSB0aGF0DQotICogICBjYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGVtLiAgVGhpcyBhbGxvd3MgYW4gSTJDIGRldmljZSBkcml2ZXIgdG8gZWFzaWx5DQotICogICB2ZXJpZnkgdGhhdCB0aGUgZGV2aWNlIGNvbnRhaW5zIHRoZSBleHBlY3RlZCB2YWx1ZS4NCi0gKiANCi0gKiBAcHJlIFRoZSBkZXZpY2UgbXVzdCBzdXBwb3J0IGFuZCBiZSBjb25maWd1cmVkIHRvIHVzZSByZWdpc3RlciBhdXRvLWluY3JlbWVudC4NCi0gKiANCi0gKiBAcGFyYW0gcmVnaXN0ZXJBZGRyZXNzIFRoZSBiYXNlIHJlZ2lzdGVyIHRvIHN0YXJ0IHJlYWRpbmcgZnJvbSB0aGUgZGV2aWNlLg0KLSAqIEBwYXJhbSBjb3VudCBUaGUgc2l6ZSBvZiB0aGUgZmllbGQgdG8gYmUgdmVyaWZpZWQuDQotICogQHBhcmFtIGV4cGVjdGVkIEEgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIHZhbHVlcyBleHBlY3RlZCBmcm9tIHRoZSBkZXZpY2UuDQotICovDQotYm9vbCBJMkM6OlZlcmlmeVNlbnNvcihVSU5UOCByZWdpc3RlckFkZHJlc3MsIFVJTlQ4IGNvdW50LCBjb25zdCBVSU5UOCAqZXhwZWN0ZWQpDQotew0KLQkvLyBUT0RPOiBNYWtlIHVzZSBvZiBhbGwgNyByZWFkIGJ5dGVzDQotCVVJTlQ4IGRldmljZURhdGFbNF07DQotCWZvciAoVUlOVDggaT0wLCBjdXJSZWdpc3RlckFkZHJlc3MgPSByZWdpc3RlckFkZHJlc3M7IGkgPCBjb3VudDsgaSs9NCwgY3VyUmVnaXN0ZXJBZGRyZXNzKz00KQ0KLQl7DQotCQlVSU5UOCB0b1JlYWQgPSBjb3VudCAtIGkgPCA0ID8gY291bnQgLSBpIDogNDsNCi0JCS8vIFJlYWQgdGhlIGNodW5rIG9mIGRhdGEuICBSZXR1cm4gZmFsc2UgaWYgdGhlIHNlbnNvciBkb2VzIG5vdCByZXNwb25kLg0KLQkJaWYgKFJlYWQoY3VyUmVnaXN0ZXJBZGRyZXNzLCB0b1JlYWQsIGRldmljZURhdGEpKSByZXR1cm4gZmFsc2U7DQotDQotCQlmb3IgKFVJTlQ4IGo9MDsgajx0b1JlYWQ7IGorKykNCi0JCXsNCi0JCQlpZihkZXZpY2VEYXRhW2pdICE9IGV4cGVjdGVkW2kgKyBqXSkgcmV0dXJuIGZhbHNlOw0KLQkJfQ0KLQl9DQotCXJldHVybiB0cnVlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9JMkMuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0kyQy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDQ4MzY0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0kyQy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEkyQ19IDQotI2RlZmluZSBJMkNfSA0KLQ0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotDQotY2xhc3MgRGlnaXRhbE1vZHVsZTsNCi0NCi0vKioNCi0gKiBJMkMgYnVzIGludGVyZmFjZSBjbGFzcy4NCi0gKiANCi0gKiBUaGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgc2Vuc29yIChhbmQgb3RoZXIgSTJDIGRldmljZSkgZHJpdmVycy4NCi0gKiBJdCBwcm9iYWJseSBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuDQotICogDQotICogSXQgaXMgY29uc3RydWN0ZWQgYnkgY2FsbGluZyBEaWdpdGFsTW9kdWxlOjpHZXRJMkMoKSBvbiBhIERpZ2l0YWxNb2R1bGUgb2JqZWN0Lg0KLSAqLw0KLWNsYXNzIEkyQyA6IFNlbnNvckJhc2UNCi17DQotCWZyaWVuZCBjbGFzcyBEaWdpdGFsTW9kdWxlOw0KLXB1YmxpYzoNCi0JdmlydHVhbCB+STJDKCk7DQotCWJvb2wgVHJhbnNhY3Rpb24oVUlOVDggKmRhdGFUb1NlbmQsIFVJTlQ4IHNlbmRTaXplLCBVSU5UOCAqZGF0YVJlY2VpdmVkLCBVSU5UOCByZWNlaXZlU2l6ZSk7DQotCWJvb2wgQWRkcmVzc09ubHkoKTsNCi0JYm9vbCBXcml0ZShVSU5UOCByZWdpc3RlckFkZHJlc3MsIFVJTlQ4IGRhdGEpOw0KLQlib29sIFJlYWQoVUlOVDggcmVnaXN0ZXJBZGRyZXNzLCBVSU5UOCBjb3VudCwgVUlOVDggKmRhdGEpOw0KLQl2b2lkIEJyb2FkY2FzdChVSU5UOCByZWdpc3RlckFkZHJlc3MsIFVJTlQ4IGRhdGEpOw0KLQl2b2lkIFNldENvbXBhdGliaWxpdHlNb2RlKGJvb2wgZW5hYmxlKTsNCi0NCi0JYm9vbCBWZXJpZnlTZW5zb3IoVUlOVDggcmVnaXN0ZXJBZGRyZXNzLCBVSU5UOCBjb3VudCwgY29uc3QgVUlOVDggKmV4cGVjdGVkKTsNCi1wcml2YXRlOg0KLQlzdGF0aWMgU0VNX0lEIG1fc2VtYXBob3JlOw0KLQlzdGF0aWMgVUlOVDMyIG1fb2JqQ291bnQ7DQotDQotCUkyQyhEaWdpdGFsTW9kdWxlICptb2R1bGUsIFVJTlQ4IGRldmljZUFkZHJlc3MpOw0KLQ0KLQlEaWdpdGFsTW9kdWxlICptX21vZHVsZTsNCi0JVUlOVDggbV9kZXZpY2VBZGRyZXNzOw0KLQlib29sIG1fY29tcGF0aWJpbGl0eU1vZGU7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9JbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9JbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTg5NTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiVXRpbGl0eS5oIg0KLQ0KLUludGVycnVwdGFibGVTZW5zb3JCYXNlOjpJbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZSgpDQotew0KLQltX21hbmFnZXIgPSBOVUxMOw0KLQltX2ludGVycnVwdCA9IE5VTEw7DQotfQ0KLQ0KLUludGVycnVwdGFibGVTZW5zb3JCYXNlOjp+SW50ZXJydXB0YWJsZVNlbnNvckJhc2UoKQ0KLXsNCi0NCi19DQotDQotdm9pZCBJbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZTo6QWxsb2NhdGVJbnRlcnJ1cHRzKGJvb2wgd2F0Y2hlcikNCi17DQotCXdwaV9hc3NlcnQobV9pbnRlcnJ1cHQgPT0gTlVMTCk7DQotCXdwaV9hc3NlcnQobV9tYW5hZ2VyID09IE5VTEwpOw0KLQkvLyBFeHBlY3RzIHRoZSBjYWxsaW5nIGxlYWYgY2xhc3MgdG8gYWxsb2NhdGUgYW4gaW50ZXJydXB0IGluZGV4Lg0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9pbnRlcnJ1cHQgPSB0SW50ZXJydXB0OjpjcmVhdGUobV9pbnRlcnJ1cHRJbmRleCwgJmxvY2FsU3RhdHVzKTsNCi0JbV9pbnRlcnJ1cHQtPndyaXRlQ29uZmlnX1dhaXRGb3JBY2soZmFsc2UsICZsb2NhbFN0YXR1cyk7DQotCW1fbWFuYWdlciA9IG5ldyB0SW50ZXJydXB0TWFuYWdlcigxIDw8IG1faW50ZXJydXB0SW5kZXgsIHdhdGNoZXIsICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENhbmNlbCBpbnRlcnJ1cHRzIG9uIHRoaXMgZGV2aWNlLg0KLSAqIFRoaXMgZGVhbGxvY2F0ZXMgYWxsIHRoZSBjaGlwb2JqZWN0IHN0cnVjdHVyZXMgYW5kIGRpc2FibGVzIGFueSBpbnRlcnJ1cHRzLg0KLSAqLw0KLXZvaWQgSW50ZXJydXB0YWJsZVNlbnNvckJhc2U6OkNhbmNlbEludGVycnVwdHMoKQ0KLXsNCi0Jd3BpX2Fzc2VydChtX21hbmFnZXIgIT0gTlVMTCk7DQotCXdwaV9hc3NlcnQobV9pbnRlcnJ1cHQgIT0gTlVMTCk7DQotCWRlbGV0ZSBtX2ludGVycnVwdDsNCi0JZGVsZXRlIG1fbWFuYWdlcjsNCi0JbV9pbnRlcnJ1cHQgPSBOVUxMOw0KLQltX21hbmFnZXIgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBJbiBzeW5jaHJvbm91cyBtb2RlLCB3YWl0IGZvciB0aGUgZGVmaW5lZCBpbnRlcnJ1cHQgdG8gb2NjdXIuDQotICogQHBhcmFtIHRpbWVvdXQgVGltZW91dCBpbiBzZWNvbmRzDQotICovDQotdm9pZCBJbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZTo6V2FpdEZvckludGVycnVwdChmbG9hdCB0aW1lb3V0KQ0KLXsNCi0Jd3BpX2Fzc2VydChtX21hbmFnZXIgIT0gTlVMTCk7DQotCXdwaV9hc3NlcnQobV9pbnRlcnJ1cHQgIT0gTlVMTCk7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX21hbmFnZXItPndhdGNoKChJTlQzMikodGltZW91dCAqIDFlMyksICZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEVuYWJsZSBpbnRlcnJ1cHRzIHRvIG9jY3VyIG9uIHRoaXMgaW5wdXQuDQotICogSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgd2hlbiB0aGUgUmVxdWVzdEludGVycnVwdCBjYWxsIGlzIG1hZGUuIFRoaXMgZ2l2ZXMgdGltZSB0byBkbyB0aGUNCi0gKiBzZXR1cCBvZiB0aGUgb3RoZXIgb3B0aW9ucyBiZWZvcmUgc3RhcnRpbmcgdG8gZmllbGQgaW50ZXJydXB0cy4NCi0gKi8NCi12b2lkIEludGVycnVwdGFibGVTZW5zb3JCYXNlOjpFbmFibGVJbnRlcnJ1cHRzKCkNCi17DQotCXdwaV9hc3NlcnQobV9tYW5hZ2VyICE9IE5VTEwpOw0KLQl3cGlfYXNzZXJ0KG1faW50ZXJydXB0ICE9IE5VTEwpOw0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9tYW5hZ2VyLT5lbmFibGUoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogRGlzYWJsZSBJbnRlcnJ1cHRzIHdpdGhvdXQgd2l0aG91dCBkZWFsbG9jYXRpbmcgc3RydWN0dXJlcy4NCi0gKi8NCi12b2lkIEludGVycnVwdGFibGVTZW5zb3JCYXNlOjpEaXNhYmxlSW50ZXJydXB0cygpDQotew0KLQl3cGlfYXNzZXJ0KG1fbWFuYWdlciAhPSBOVUxMKTsNCi0Jd3BpX2Fzc2VydChtX2ludGVycnVwdCAhPSBOVUxMKTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fbWFuYWdlci0+ZGlzYWJsZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIHRpbWVzdGFtcCBmb3IgdGhlIGludGVycnVwdCB0aGF0IG9jY3VycmVkIG1vc3QgcmVjZW50bHkuDQotICogVGhpcyBpcyBpbiB0aGUgc2FtZSB0aW1lIGRvbWFpbiBhcyBHZXRDbG9jaygpLg0KLSAqIEByZXR1cm4gVGltZXN0YW1wIGluIHNlY29uZHMgc2luY2UgYm9vdC4NCi0gKi8NCi1kb3VibGUgSW50ZXJydXB0YWJsZVNlbnNvckJhc2U6OlJlYWRJbnRlcnJ1cHRUaW1lc3RhbXAoKQ0KLXsNCi0Jd3BpX2Fzc2VydChtX2ludGVycnVwdCAhPSBOVUxMKTsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQzMiB0aW1lc3RhbXAgPSBtX2ludGVycnVwdC0+cmVhZFRpbWVTdGFtcCgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gdGltZXN0YW1wICogMWUtNjsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0ludGVycnVwdGFibGVTZW5zb3JCYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliZDE2NDMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBJTlRFUlJVUFRBQkxFX1NFTlNPUkJBU0VfSF8NCi0jZGVmaW5lIElOVEVSUlVQVEFCTEVfU0VOU09SQkFTRV9IXw0KLQ0KLSNpbmNsdWRlICJDaGlwT2JqZWN0LmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0NCi1jbGFzcyBJbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZSA6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JSW50ZXJydXB0YWJsZVNlbnNvckJhc2UoKTsNCi0JdmlydHVhbCB+SW50ZXJydXB0YWJsZVNlbnNvckJhc2UoKTsNCi0JdmlydHVhbCB2b2lkIFJlcXVlc3RJbnRlcnJ1cHRzKHRJbnRlcnJ1cHRIYW5kbGVyIGhhbmRsZXIsIHZvaWQgKnBhcmFtKSA9IDA7IC8vLzwgQXN5bmNocm9udXMgaGFuZGxlciB2ZXJzaW9uLg0KLQl2aXJ0dWFsIHZvaWQgUmVxdWVzdEludGVycnVwdHMoKSA9IDA7CQkvLy88IFN5bmNocm9udXMgV2FpdCB2ZXJzaW9uLg0KLQl2aXJ0dWFsIHZvaWQgQ2FuY2VsSW50ZXJydXB0cygpOwkJCS8vLzwgRnJlZSB1cCB0aGUgdW5kZXJseWluZyBjaGlwb2JqZWN0IGZ1bmN0aW9ucy4NCi0JdmlydHVhbCB2b2lkIFdhaXRGb3JJbnRlcnJ1cHQoZmxvYXQgdGltZW91dCk7IC8vLzwgU3luY2hyb251cyB2ZXJzaW9uLg0KLQl2aXJ0dWFsIHZvaWQgRW5hYmxlSW50ZXJydXB0cygpOwkJCS8vLzwgRW5hYmxlIGludGVycnVwdHMgLSBhZnRlciBmaW5pc2hpbmcgc2V0dXAuDQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlSW50ZXJydXB0cygpOwkJLy8vPCBEaXNhYmxlLCBidXQgZG9uJ3QgZGVhbGxvY2F0ZS4NCi0JdmlydHVhbCBkb3VibGUgUmVhZEludGVycnVwdFRpbWVzdGFtcCgpOwkJLy8vPCBSZXR1cm4gdGhlIHRpbWVzdGFtcCBmb3IgdGhlIGludGVycnVwdCB0aGF0IG9jY3VycmVkLg0KLXByb3RlY3RlZDoNCi0JdEludGVycnVwdCAqbV9pbnRlcnJ1cHQ7DQotCXRJbnRlcnJ1cHRNYW5hZ2VyICptX21hbmFnZXI7DQotCVVJTlQzMiBtX2ludGVycnVwdEluZGV4Ow0KLQl2b2lkIEFsbG9jYXRlSW50ZXJydXB0cyhib29sIHdhdGNoZXIpOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSXRlcmF0aXZlUm9ib3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSXRlcmF0aXZlUm9ib3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWUwZTRmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0l0ZXJhdGl2ZVJvYm90LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMzOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJJdGVyYXRpdmVSb2JvdC5oIg0KLQ0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgPHRhc2tMaWIuaD4NCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotDQotY29uc3QgZG91YmxlIEl0ZXJhdGl2ZVJvYm90OjprRGVmYXVsdFBlcmlvZDsNCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciBmb3IgUm9ib3RJdGVyYXRpdmVCYXNlDQotICogDQotICogVGhlIGNvbnN0cnVjdG9yIGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSB2YXJpYWJsZXMgZm9yIHRoZSByb2JvdCB0byBpbmRpY2F0ZQ0KLSAqIHRoZSBzdGF0dXMgb2YgaW5pdGlhbGl6YXRpb24gZm9yIGRpc2FibGVkLCBhdXRvbm9tb3VzLCB0ZWxlb3AsIGFuZCB0ZXN0IGNvZGUuDQotICovDQotSXRlcmF0aXZlUm9ib3Q6Okl0ZXJhdGl2ZVJvYm90KCkNCi0JOiBtX2Rpc2FibGVkSW5pdGlhbGl6ZWQgKGZhbHNlKQ0KLQksIG1fYXV0b25vbW91c0luaXRpYWxpemVkIChmYWxzZSkNCi0JLCBtX3RlbGVvcEluaXRpYWxpemVkIChmYWxzZSkNCi0JLCBtX3Rlc3RJbml0aWFsaXplZCAoZmFsc2UpDQotCSwgbV9wZXJpb2QgKGtEZWZhdWx0UGVyaW9kKQ0KLXsNCi0JbV93YXRjaGRvZy5TZXRFbmFibGVkKGZhbHNlKTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2VzIGZvciBhIFJvYm90SXRlcmF0aXZlQmFzZSBjbGFzcy4NCi0gKi8NCi1JdGVyYXRpdmVSb2JvdDo6fkl0ZXJhdGl2ZVJvYm90KCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgcGVyaW9kIGZvciB0aGUgcGVyaW9kaWMgZnVuY3Rpb25zLg0KLSAqIA0KLSAqIEBwYXJhbSBwZXJpb2QgVGhlIHBlcmlvZCBvZiB0aGUgcGVyaW9kaWMgZnVuY3Rpb24gY2FsbHMuICAwLjAgbWVhbnMgc3luYyB0byBkcml2ZXIgc3RhdGlvbiBjb250cm9sIGRhdGEuDQotICovDQotdm9pZCBJdGVyYXRpdmVSb2JvdDo6U2V0UGVyaW9kKGRvdWJsZSBwZXJpb2QpDQotew0KLQlpZiAocGVyaW9kID4gMC4wKQ0KLQl7DQotCQkvLyBOb3Qgc3luY2luZyB3aXRoIHRoZSBEUywgc28gc3RhcnQgdGhlIHRpbWVyIGZvciB0aGUgbWFpbiBsb29wDQotCQltX21haW5Mb29wVGltZXIuUmVzZXQoKTsNCi0JCW1fbWFpbkxvb3BUaW1lci5TdGFydCgpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJLy8gU3luY2luZyB3aXRoIHRoZSBEUywgZG9uJ3QgbmVlZCB0aGUgdGltZXINCi0JCW1fbWFpbkxvb3BUaW1lci5TdG9wKCk7DQotCX0NCi0JbV9wZXJpb2QgPSBwZXJpb2Q7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcGVyaW9kIGZvciB0aGUgcGVyaW9kaWMgZnVuY3Rpb25zLg0KLSAqIFJldHVybnMgMC4wIGlmIGNvbmZpZ3VyZWQgdG8gc3luY3Jvbml6ZSB3aXRoIERTIGNvbnRyb2wgZGF0YSBwYWNrZXRzLg0KLSAqIEByZXR1cm4gUGVyaW9kIG9mIHRoZSBwZXJpb2RpYyBmdW5jdGlvbiBjYWxscw0KLSAqLw0KLWRvdWJsZSBJdGVyYXRpdmVSb2JvdDo6R2V0UGVyaW9kKCkNCi17DQotCXJldHVybiBtX3BlcmlvZDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2YgbG9vcHMgcGVyIHNlY29uZCBmb3IgdGhlIEl0ZXJhdGl2ZVJvYm90DQotICogQHJldHVybiBGcmVxdWVuY3kgb2YgdGhlIHBlcmlvZGljIGZ1bmN0aW9uIGNhbGxzDQotICovDQotZG91YmxlIEl0ZXJhdGl2ZVJvYm90OjpHZXRMb29wc1BlclNlYygpDQotew0KLQkvLyBJZiBzeW5jaW5nIHRvIHRoZSBkcml2ZXIgc3RhdGlvbiwgd2UgZG9uJ3Qga25vdyB0aGUgcmF0ZSwNCi0JLy8gICBzbyBndWVzcyBzb21ldGhpbmcgY2xvc2UuDQotCWlmIChtX3BlcmlvZCA8PSAwLjApDQotCQlyZXR1cm4gNTAuMDsNCi0JcmV0dXJuIDEuMCAvIG1fcGVyaW9kOw0KLX0NCi0NCi0vKioNCi0gKiBQcm92aWRlIGFuIGFsdGVybmF0ZSAibWFpbiBsb29wIiB2aWEgU3RhcnRDb21wZXRpdGlvbigpLg0KLSAqIA0KLSAqIFRoaXMgc3BlY2lmaWMgU3RhcnRDb21wZXRpdGlvbigpIGltcGxlbWVudHMgIm1haW4gbG9vcCIgYmVoYXZpb3IgbGlrZSB0aGF0IG9mIHRoZSBGUkMNCi0gKiBjb250cm9sIHN5c3RlbSBpbiAyMDA4IGFuZCBlYXJsaWVyLCB3aXRoIGEgcHJpbWFyeSAoc2xvdykgbG9vcCB0aGF0IGlzDQotICogY2FsbGVkIHBlcmlvZGljYWxseSwgYW5kIGEgImZhc3QgbG9vcCIgKGEuay5hLiAic3BpbiBsb29wIikgdGhhdCBpcyANCi0gKiBjYWxsZWQgYXMgZmFzdCBhcyBwb3NzaWJsZSB3aXRoIG5vIGRlbGF5IGJldHdlZW4gY2FsbHMuIA0KLSAqLw0KLXZvaWQgSXRlcmF0aXZlUm9ib3Q6OlN0YXJ0Q29tcGV0aXRpb24oKQ0KLXsNCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX0ZyYW1ld29yaywgblVzYWdlUmVwb3J0aW5nOjprRnJhbWV3b3JrX0l0ZXJhdGl2ZSk7DQotDQotCUxpdmVXaW5kb3cgKmx3ID0gTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKTsNCi0JLy8gZmlyc3QgYW5kIG9uZS10aW1lIGluaXRpYWxpemF0aW9uDQotCVNtYXJ0RGFzaGJvYXJkOjppbml0KCk7DQotCU5ldHdvcmtUYWJsZTo6R2V0VGFibGUoIkxpdmVXaW5kb3ciKS0+R2V0U3ViVGFibGUoIn5TVEFUVVN+IiktPlB1dEJvb2xlYW4oIkxXIEVuYWJsZWQiLCBmYWxzZSk7DQotCVJvYm90SW5pdCgpOw0KLQ0KLQkvLyBsb29wIGZvcmV2ZXIsIGNhbGxpbmcgdGhlIGFwcHJvcHJpYXRlIG1vZGUtZGVwZW5kZW50IGZ1bmN0aW9uDQotCWx3LT5TZXRFbmFibGVkKGZhbHNlKTsNCi0Jd2hpbGUgKHRydWUpDQotCXsNCi0JCS8vIENhbGwgdGhlIGFwcHJvcHJpYXRlIGZ1bmN0aW9uIGRlcGVuZGluZyB1cG9uIHRoZSBjdXJyZW50IHJvYm90IG1vZGUNCi0JCWlmIChJc0Rpc2FibGVkKCkpDQotCQl7DQotCQkJLy8gY2FsbCBEaXNhYmxlZEluaXQoKSBpZiB3ZSBhcmUgbm93IGp1c3QgZW50ZXJpbmcgZGlzYWJsZWQgbW9kZSBmcm9tDQotCQkJLy8gZWl0aGVyIGEgZGlmZmVyZW50IG1vZGUgb3IgZnJvbSBwb3dlci1vbg0KLQkJCWlmKCFtX2Rpc2FibGVkSW5pdGlhbGl6ZWQpDQotCQkJew0KLQkJCQlsdy0+U2V0RW5hYmxlZChmYWxzZSk7DQotCQkJCURpc2FibGVkSW5pdCgpOw0KLQkJCQltX2Rpc2FibGVkSW5pdGlhbGl6ZWQgPSB0cnVlOw0KLQkJCQkvLyByZXNldCB0aGUgaW5pdGlhbGl6YXRpb24gZmxhZ3MgZm9yIHRoZSBvdGhlciBtb2Rlcw0KLQkJCQltX2F1dG9ub21vdXNJbml0aWFsaXplZCA9IGZhbHNlOw0KLSAgICAgICAgICAgICAgICBtX3RlbGVvcEluaXRpYWxpemVkID0gZmFsc2U7DQotICAgICAgICAgICAgICAgIG1fdGVzdEluaXRpYWxpemVkID0gZmFsc2U7DQotCQkJfQ0KLQkJCWlmIChOZXh0UGVyaW9kUmVhZHkoKSkNCi0JCQl7DQotCQkJCUZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1EaXNhYmxlZCgpOw0KLQkJCQlEaXNhYmxlZFBlcmlvZGljKCk7DQotCQkJfQ0KLQkJfQ0KLQkJZWxzZSBpZiAoSXNBdXRvbm9tb3VzKCkpDQotCQl7DQotCQkJLy8gY2FsbCBBdXRvbm9tb3VzSW5pdCgpIGlmIHdlIGFyZSBub3cganVzdCBlbnRlcmluZyBhdXRvbm9tb3VzIG1vZGUgZnJvbQ0KLQkJCS8vIGVpdGhlciBhIGRpZmZlcmVudCBtb2RlIG9yIGZyb20gcG93ZXItb24NCi0JCQlpZighbV9hdXRvbm9tb3VzSW5pdGlhbGl6ZWQpDQotCQkJew0KLQkJCQlsdy0+U2V0RW5hYmxlZChmYWxzZSk7DQotCQkJCUF1dG9ub21vdXNJbml0KCk7DQotCQkJCW1fYXV0b25vbW91c0luaXRpYWxpemVkID0gdHJ1ZTsNCi0JCQkJLy8gcmVzZXQgdGhlIGluaXRpYWxpemF0aW9uIGZsYWdzIGZvciB0aGUgb3RoZXIgbW9kZXMNCi0JCQkJbV9kaXNhYmxlZEluaXRpYWxpemVkID0gZmFsc2U7DQotICAgICAgICAgICAgICAgIG1fdGVsZW9wSW5pdGlhbGl6ZWQgPSBmYWxzZTsNCi0gICAgICAgICAgICAgICAgbV90ZXN0SW5pdGlhbGl6ZWQgPSBmYWxzZTsNCi0JCQl9DQotCQkJaWYgKE5leHRQZXJpb2RSZWFkeSgpKQ0KLQkJCXsNCi0JCQkJRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX29ic2VydmVVc2VyUHJvZ3JhbUF1dG9ub21vdXMoKTsNCi0JCQkJQXV0b25vbW91c1BlcmlvZGljKCk7DQotCQkJfQ0KLQkJfQ0KLSAgICAgICAgZWxzZSBpZiAoSXNUZXN0KCkpDQotICAgICAgICB7DQotICAgICAgICAgICAgLy8gY2FsbCBUZXN0SW5pdCgpIGlmIHdlIGFyZSBub3cganVzdCBlbnRlcmluZyB0ZXN0IG1vZGUgZnJvbQ0KLSAgICAgICAgICAgIC8vIGVpdGhlciBhIGRpZmZlcmVudCBtb2RlIG9yIGZyb20gcG93ZXItb24NCi0gICAgICAgICAgICBpZighbV90ZXN0SW5pdGlhbGl6ZWQpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgIAlsdy0+U2V0RW5hYmxlZCh0cnVlKTsNCi0gICAgICAgICAgICAgICAgVGVzdEluaXQoKTsNCi0gICAgICAgICAgICAgICAgbV90ZXN0SW5pdGlhbGl6ZWQgPSB0cnVlOw0KLSAgICAgICAgICAgICAgICAvLyByZXNldCB0aGUgaW5pdGlhbGl6YXRpb24gZmxhZ3MgZm9yIHRoZSBvdGhlciBtb2Rlcw0KLSAgICAgICAgICAgICAgICBtX2Rpc2FibGVkSW5pdGlhbGl6ZWQgPSBmYWxzZTsNCi0gICAgICAgICAgICAgICAgbV9hdXRvbm9tb3VzSW5pdGlhbGl6ZWQgPSBmYWxzZTsNCi0gICAgICAgICAgICAgICAgbV90ZWxlb3BJbml0aWFsaXplZCA9IGZhbHNlOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBpZiAoTmV4dFBlcmlvZFJlYWR5KCkpDQotICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICBGUkNfTmV0d29ya0NvbW11bmljYXRpb25fb2JzZXJ2ZVVzZXJQcm9ncmFtVGVzdCgpOw0KLSAgICAgICAgICAgICAgICBUZXN0UGVyaW9kaWMoKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9DQotCQllbHNlDQotCQl7DQotCQkJLy8gY2FsbCBUZWxlb3BJbml0KCkgaWYgd2UgYXJlIG5vdyBqdXN0IGVudGVyaW5nIHRlbGVvcCBtb2RlIGZyb20NCi0JCQkvLyBlaXRoZXIgYSBkaWZmZXJlbnQgbW9kZSBvciBmcm9tIHBvd2VyLW9uDQotCQkJaWYoIW1fdGVsZW9wSW5pdGlhbGl6ZWQpDQotCQkJew0KLQkJCQlsdy0+U2V0RW5hYmxlZChmYWxzZSk7DQotCQkJCVRlbGVvcEluaXQoKTsNCi0JCQkJbV90ZWxlb3BJbml0aWFsaXplZCA9IHRydWU7DQotCQkJCS8vIHJlc2V0IHRoZSBpbml0aWFsaXphdGlvbiBmbGFncyBmb3IgdGhlIG90aGVyIG1vZGVzDQotCQkJCW1fZGlzYWJsZWRJbml0aWFsaXplZCA9IGZhbHNlOw0KLSAgICAgICAgICAgICAgICBtX2F1dG9ub21vdXNJbml0aWFsaXplZCA9IGZhbHNlOw0KLSAgICAgICAgICAgICAgICBtX3Rlc3RJbml0aWFsaXplZCA9IGZhbHNlOw0KLSAgICAgICAgICAgICAgICBTY2hlZHVsZXI6OkdldEluc3RhbmNlKCktPlNldEVuYWJsZWQodHJ1ZSk7DQotCQkJfQ0KLQkJCWlmIChOZXh0UGVyaW9kUmVhZHkoKSkNCi0JCQl7DQotCQkJCUZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1UZWxlb3AoKTsNCi0JCQkJVGVsZW9wUGVyaW9kaWMoKTsNCi0JCQl9DQotCQl9DQotCQkvLyB3YWl0IGZvciBkcml2ZXIgc3RhdGlvbiBkYXRhIHNvIHRoZSBsb29wIGRvZXNuJ3QgaG9nIHRoZSBDUFUNCi0JCW1fZHMtPldhaXRGb3JEYXRhKCk7DQotCX0JDQotfQ0KLQ0KLS8qKg0KLSAqIERldGVybWluZSBpZiB0aGUgcGVyaW9kaWMgZnVuY3Rpb25zIHNob3VsZCBiZSBjYWxsZWQuDQotICoNCi0gKiBJZiBtX3BlcmlvZCA+IDAuMCwgY2FsbCB0aGUgcGVyaW9kaWMgZnVuY3Rpb24gZXZlcnkgbV9wZXJpb2QgYXMgY29tcGFyZWQNCi0gKiB0byBUaW1lci5HZXQoKS4gIElmIG1fcGVyaW9kID09IDAuMCwgY2FsbCB0aGUgcGVyaW9kaWMgZnVuY3Rpb25zIHdoZW5ldmVyDQotICogYSBwYWNrZXQgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgRHJpdmVyIFN0YXRpb24sIG9yIGFib3V0IGV2ZXJ5IDIwbXMuDQotICoNCi0gKiBAdG9kbyBEZWNpZGUgd2hhdCB0aGlzIHNob3VsZCBkbyBpZiBpdCBzbGlwcyBtb3JlIHRoYW4gb25lIGN5Y2xlLg0KLSAqLw0KLQ0KLWJvb2wgSXRlcmF0aXZlUm9ib3Q6Ok5leHRQZXJpb2RSZWFkeSgpDQotew0KLQlpZiAobV9wZXJpb2QgPiAwLjApDQotCXsNCi0JCXJldHVybiBtX21haW5Mb29wVGltZXIuSGFzUGVyaW9kUGFzc2VkKG1fcGVyaW9kKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCXJldHVybiBtX2RzLT5Jc05ld0NvbnRyb2xEYXRhKCk7DQotCX0NCi19DQotDQotLyoqDQotICogUm9ib3Qtd2lkZSBpbml0aWFsaXphdGlvbiBjb2RlIHNob3VsZCBnbyBoZXJlLg0KLSAqIA0KLSAqIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZCBmb3IgZGVmYXVsdCBSb2JvdC13aWRlIGluaXRpYWxpemF0aW9uIHdoaWNoIHdpbGwNCi0gKiBiZSBjYWxsZWQgd2hlbiB0aGUgcm9ib3QgaXMgZmlyc3QgcG93ZXJlZCBvbi4gIEl0IHdpbGwgYmUgY2FsbGVkIGV4YWN0bHkgMSB0aW1lLg0KLSAqLw0KLXZvaWQgSXRlcmF0aXZlUm9ib3Q6OlJvYm90SW5pdCgpDQotew0KLQlwcmludGYoIkRlZmF1bHQgJXMoKSBtZXRob2QuLi4gT3ZlcmxvYWQgbWUhXG4iLCBfX0ZVTkNUSU9OX18pOw0KLX0NCi0NCi0vKioNCi0gKiBJbml0aWFsaXphdGlvbiBjb2RlIGZvciBkaXNhYmxlZCBtb2RlIHNob3VsZCBnbyBoZXJlLg0KLSAqIA0KLSAqIFVzZXJzIHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZCBmb3IgaW5pdGlhbGl6YXRpb24gY29kZSB3aGljaCB3aWxsIGJlIGNhbGxlZCBlYWNoIHRpbWUNCi0gKiB0aGUgcm9ib3QgZW50ZXJzIGRpc2FibGVkIG1vZGUuDQotICovDQotdm9pZCBJdGVyYXRpdmVSb2JvdDo6RGlzYWJsZWRJbml0KCkNCi17DQotCXByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVybG9hZCBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpemF0aW9uIGNvZGUgZm9yIGF1dG9ub21vdXMgbW9kZSBzaG91bGQgZ28gaGVyZS4NCi0gKiANCi0gKiBVc2VycyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgZm9yIGluaXRpYWxpemF0aW9uIGNvZGUgd2hpY2ggd2lsbCBiZSBjYWxsZWQgZWFjaCB0aW1lDQotICogdGhlIHJvYm90IGVudGVycyBhdXRvbm9tb3VzIG1vZGUuDQotICovDQotdm9pZCBJdGVyYXRpdmVSb2JvdDo6QXV0b25vbW91c0luaXQoKQ0KLXsNCi0JcHJpbnRmKCJEZWZhdWx0ICVzKCkgbWV0aG9kLi4uIE92ZXJsb2FkIG1lIVxuIiwgX19GVU5DVElPTl9fKTsNCi19DQotDQotLyoqDQotICogSW5pdGlhbGl6YXRpb24gY29kZSBmb3IgdGVsZW9wIG1vZGUgc2hvdWxkIGdvIGhlcmUuDQotICogDQotICogVXNlcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBpbml0aWFsaXphdGlvbiBjb2RlIHdoaWNoIHdpbGwgYmUgY2FsbGVkIGVhY2ggdGltZQ0KLSAqIHRoZSByb2JvdCBlbnRlcnMgdGVsZW9wIG1vZGUuDQotICovDQotdm9pZCBJdGVyYXRpdmVSb2JvdDo6VGVsZW9wSW5pdCgpDQotew0KLSAgICBwcmludGYoIkRlZmF1bHQgJXMoKSBtZXRob2QuLi4gT3ZlcmxvYWQgbWUhXG4iLCBfX0ZVTkNUSU9OX18pOw0KLX0NCi0NCi0vKioNCi0gKiBJbml0aWFsaXphdGlvbiBjb2RlIGZvciB0ZXN0IG1vZGUgc2hvdWxkIGdvIGhlcmUuDQotICogDQotICogVXNlcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBpbml0aWFsaXphdGlvbiBjb2RlIHdoaWNoIHdpbGwgYmUgY2FsbGVkIGVhY2ggdGltZQ0KLSAqIHRoZSByb2JvdCBlbnRlcnMgdGVzdCBtb2RlLg0KLSAqLw0KLXZvaWQgSXRlcmF0aXZlUm9ib3Q6OlRlc3RJbml0KCkNCi17DQotICAgIHByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVybG9hZCBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFBlcmlvZGljIGNvZGUgZm9yIGRpc2FibGVkIG1vZGUgc2hvdWxkIGdvIGhlcmUuDQotICogDQotICogVXNlcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBjb2RlIHdoaWNoIHdpbGwgYmUgY2FsbGVkIHBlcmlvZGljYWxseSBhdCBhIHJlZ3VsYXINCi0gKiByYXRlIHdoaWxlIHRoZSByb2JvdCBpcyBpbiBkaXNhYmxlZCBtb2RlLg0KLSAqLw0KLXZvaWQgSXRlcmF0aXZlUm9ib3Q6OkRpc2FibGVkUGVyaW9kaWMoKQ0KLXsNCi0Jc3RhdGljIGJvb2wgZmlyc3RSdW4gPSB0cnVlOw0KLQlpZiAoZmlyc3RSdW4pDQotCXsNCi0JCXByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVybG9hZCBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotCQlmaXJzdFJ1biA9IGZhbHNlOw0KLQl9DQotCXRhc2tEZWxheSgxKTsNCi19DQotDQotLyoqDQotICogUGVyaW9kaWMgY29kZSBmb3IgYXV0b25vbW91cyBtb2RlIHNob3VsZCBnbyBoZXJlLg0KLSAqDQotICogVXNlcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBjb2RlIHdoaWNoIHdpbGwgYmUgY2FsbGVkIHBlcmlvZGljYWxseSBhdCBhIHJlZ3VsYXINCi0gKiByYXRlIHdoaWxlIHRoZSByb2JvdCBpcyBpbiBhdXRvbm9tb3VzIG1vZGUuDQotICovDQotdm9pZCBJdGVyYXRpdmVSb2JvdDo6QXV0b25vbW91c1BlcmlvZGljKCkNCi17DQotCXN0YXRpYyBib29sIGZpcnN0UnVuID0gdHJ1ZTsNCi0JaWYgKGZpcnN0UnVuKQ0KLQl7DQotCQlwcmludGYoIkRlZmF1bHQgJXMoKSBtZXRob2QuLi4gT3ZlcmxvYWQgbWUhXG4iLCBfX0ZVTkNUSU9OX18pOw0KLQkJZmlyc3RSdW4gPSBmYWxzZTsNCi0JfQ0KLQl0YXNrRGVsYXkoMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFBlcmlvZGljIGNvZGUgZm9yIHRlbGVvcCBtb2RlIHNob3VsZCBnbyBoZXJlLg0KLSAqDQotICogVXNlcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGZvciBjb2RlIHdoaWNoIHdpbGwgYmUgY2FsbGVkIHBlcmlvZGljYWxseSBhdCBhIHJlZ3VsYXINCi0gKiByYXRlIHdoaWxlIHRoZSByb2JvdCBpcyBpbiB0ZWxlb3AgbW9kZS4NCi0gKi8NCi12b2lkIEl0ZXJhdGl2ZVJvYm90OjpUZWxlb3BQZXJpb2RpYygpDQotew0KLQlzdGF0aWMgYm9vbCBmaXJzdFJ1biA9IHRydWU7DQotCWlmIChmaXJzdFJ1bikNCi0Jew0KLQkJcHJpbnRmKCJEZWZhdWx0ICVzKCkgbWV0aG9kLi4uIE92ZXJsb2FkIG1lIVxuIiwgX19GVU5DVElPTl9fKTsNCi0JCWZpcnN0UnVuID0gZmFsc2U7DQotCX0NCi0JdGFza0RlbGF5KDEpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJpb2RpYyBjb2RlIGZvciB0ZXN0IG1vZGUgc2hvdWxkIGdvIGhlcmUuDQotICoNCi0gKiBVc2VycyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgZm9yIGNvZGUgd2hpY2ggd2lsbCBiZSBjYWxsZWQgcGVyaW9kaWNhbGx5IGF0IGEgcmVndWxhcg0KLSAqIHJhdGUgd2hpbGUgdGhlIHJvYm90IGlzIGluIHRlc3QgbW9kZS4NCi0gKi8NCi12b2lkIEl0ZXJhdGl2ZVJvYm90OjpUZXN0UGVyaW9kaWMoKQ0KLXsNCi0gICAgc3RhdGljIGJvb2wgZmlyc3RSdW4gPSB0cnVlOw0KLSAgICBpZiAoZmlyc3RSdW4pDQotICAgIHsNCi0gICAgICAgIHByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVybG9hZCBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotICAgICAgICBmaXJzdFJ1biA9IGZhbHNlOw0KLSAgICB9DQotICAgIHRhc2tEZWxheSgxKTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSXRlcmF0aXZlUm9ib3QuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0l0ZXJhdGl2ZVJvYm90LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzZTY1ZGEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSXRlcmF0aXZlUm9ib3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBST0JPVF9JVEVSQVRJVkVfSF8NCi0jZGVmaW5lIFJPQk9UX0lURVJBVElWRV9IXw0KLQ0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJSb2JvdEJhc2UuaCINCi0NCi0vKioNCi0gKiBJdGVyYXRpdmVSb2JvdCBpbXBsZW1lbnRzIGEgc3BlY2lmaWMgdHlwZSBvZiBSb2JvdCBQcm9ncmFtIGZyYW1ld29yaywgZXh0ZW5kaW5nIHRoZSBSb2JvdEJhc2UgY2xhc3MuDQotICogDQotICogVGhlIEl0ZXJhdGl2ZVJvYm90IGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIHN1YmNsYXNzZWQgYnkgYSB1c2VyIGNyZWF0aW5nIGEgcm9ib3QgcHJvZ3JhbS4NCi0gKiANCi0gKiBUaGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGltcGxlbWVudCB0aGUgIm9sZCBzdHlsZSIgZGVmYXVsdCBjb2RlLCBieSBwcm92aWRpbmcNCi0gKiB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3aGljaCBhcmUgY2FsbGVkIGJ5IHRoZSBtYWluIGxvb3AsIFN0YXJ0Q29tcGV0aXRpb24oKSwgYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWVzOg0KLSAqIA0KLSAqIFJvYm90SW5pdCgpIC0tIHByb3ZpZGUgZm9yIGluaXRpYWxpemF0aW9uIGF0IHJvYm90IHBvd2VyLW9uDQotICogDQotICogSW5pdCgpIGZ1bmN0aW9ucyAtLSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGlzIGNhbGxlZCBvbmNlIHdoZW4gdGhlDQotICogICAgICAgICAgICAgICAgICAgICBhcHByb3ByaWF0ZSBtb2RlIGlzIGVudGVyZWQ6DQotICogIC0gRGlzYWJsZWRJbml0KCkgICAtLSBjYWxsZWQgb25seSB3aGVuIGZpcnN0IGRpc2FibGVkDQotICogIC0gQXV0b25vbW91c0luaXQoKSAtLSBjYWxsZWQgZWFjaCBhbmQgZXZlcnkgdGltZSBhdXRvbm9tb3VzIGlzIGVudGVyZWQgZnJvbSBhbm90aGVyIG1vZGUNCi0gKiAgLSBUZWxlb3BJbml0KCkgICAgIC0tIGNhbGxlZCBlYWNoIGFuZCBldmVyeSB0aW1lIHRlbGVvcCBpcyBlbnRlcmVkIGZyb20gYW5vdGhlciBtb2RlDQotICogIC0gVGVzdEluaXQoKSAgICAgICAtLSBjYWxsZWQgZWFjaCBhbmQgZXZlcnkgdGltZSB0ZXN0IGlzIGVudGVyZWQgZnJvbSBhbm90aGVyIG1vZGUNCi0gKiANCi0gKiBQZXJpb2RpYygpIGZ1bmN0aW9ucyAtLSBlYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucyBpcyBjYWxsZWQgaXRlcmF0aXZlbHkgYXQgdGhlDQotICogICAgICAgICAgICAgICAgICAgICAgICAgYXBwcm9wcmlhdGUgcGVyaW9kaWMgcmF0ZSAoYWthIHRoZSAic2xvdyBsb29wIikuICBUaGUgZGVmYXVsdCBwZXJpb2Qgb2YNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgaXRlcmF0aXZlIHJvYm90IGlzIHN5bmNlZCB0byB0aGUgZHJpdmVyIHN0YXRpb24gY29udHJvbCBwYWNrZXRzLA0KLSAqICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmluZyBhIHBlcmlvZGljIGZyZXF1ZW5jeSBvZiBhYm91dCA1MEh6ICg1MCB0aW1lcyBwZXIgc2Vjb25kKS4NCi0gKiAgIC0gRGlzYWJsZWRQZXJpb2RpYygpDQotICogICAtIEF1dG9ub21vdXNQZXJpb2RpYygpDQotICogICAtIFRlbGVvcFBlcmlvZGljKCkNCi0gKiAgIC0gVGVzdFBlcmlvZGljKCkNCi0gKiANCi0gKi8NCi0NCi1jbGFzcyBJdGVyYXRpdmVSb2JvdCA6IHB1YmxpYyBSb2JvdEJhc2Ugew0KLXB1YmxpYzoNCi0JLyoNCi0JICogVGhlIGRlZmF1bHQgcGVyaW9kIGZvciB0aGUgcGVyaW9kaWMgZnVuY3Rpb24gY2FsbHMgKHNlY29uZHMpDQotCSAqIFNldHRpbmcgdGhlIHBlcmlvZCB0byAwLjAgd2lsbCBjYXVzZSB0aGUgcGVyaW9kaWMgZnVuY3Rpb25zIHRvIGZvbGxvdw0KLQkgKiB0aGUgRHJpdmVyIFN0YXRpb24gcGFja2V0IHJhdGUgb2YgYWJvdXQgNTBIei4NCi0JICovDQotCXN0YXRpYyBjb25zdCBkb3VibGUga0RlZmF1bHRQZXJpb2QgPSAwLjA7DQotDQotCXZpcnR1YWwgdm9pZCBTdGFydENvbXBldGl0aW9uKCk7DQotDQotCXZpcnR1YWwgdm9pZCBSb2JvdEluaXQoKTsNCi0JdmlydHVhbCB2b2lkIERpc2FibGVkSW5pdCgpOw0KLQl2aXJ0dWFsIHZvaWQgQXV0b25vbW91c0luaXQoKTsNCi0gICAgdmlydHVhbCB2b2lkIFRlbGVvcEluaXQoKTsNCi0gICAgdmlydHVhbCB2b2lkIFRlc3RJbml0KCk7DQotDQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlZFBlcmlvZGljKCk7DQotCXZpcnR1YWwgdm9pZCBBdXRvbm9tb3VzUGVyaW9kaWMoKTsNCi0gICAgdmlydHVhbCB2b2lkIFRlbGVvcFBlcmlvZGljKCk7DQotICAgIHZpcnR1YWwgdm9pZCBUZXN0UGVyaW9kaWMoKTsNCi0NCi0Jdm9pZCBTZXRQZXJpb2QoZG91YmxlIHBlcmlvZCk7DQotCWRvdWJsZSBHZXRQZXJpb2QoKTsNCi0JZG91YmxlIEdldExvb3BzUGVyU2VjKCk7DQotDQotcHJvdGVjdGVkOg0KLQl2aXJ0dWFsIH5JdGVyYXRpdmVSb2JvdCgpOw0KLQlJdGVyYXRpdmVSb2JvdCgpOw0KLQ0KLXByaXZhdGU6DQotCWJvb2wgTmV4dFBlcmlvZFJlYWR5KCk7DQotDQotCWJvb2wgbV9kaXNhYmxlZEluaXRpYWxpemVkOw0KLQlib29sIG1fYXV0b25vbW91c0luaXRpYWxpemVkOw0KLSAgICBib29sIG1fdGVsZW9wSW5pdGlhbGl6ZWQ7DQotICAgIGJvb2wgbV90ZXN0SW5pdGlhbGl6ZWQ7DQotCWRvdWJsZSBtX3BlcmlvZDsNCi0JVGltZXIgbV9tYWluTG9vcFRpbWVyOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSmFndWFyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0phZ3Vhci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5MmJkOGUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSmFndWFyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLQ0KLSNpbmNsdWRlICJKYWd1YXIuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0NCi0vKioNCi0gKiBDb21tb24gaW5pdGlhbGl6YXRpb24gY29kZSBjYWxsZWQgYnkgYWxsIGNvbnN0cnVjdG9ycy4NCi0gKi8NCi12b2lkIEphZ3Vhcjo6SW5pdEphZ3VhcigpDQotew0KLQkvKg0KLQkgKiBJbnB1dCBwcm9maWxlIGRlZmluZWQgYnkgTHVtaW5hcnkgTWljcm8uDQotCSAqIA0KLQkgKiBGdWxsIHJldmVyc2UgcmFuZ2VzIGZyb20gMC42NzEzMjVtcyB0byAwLjY5NzIyMTFtcw0KLQkgKiBQcm9wb3J0aW9uYWwgcmV2ZXJzZSByYW5nZXMgZnJvbSAwLjY5NzIyMTFtcyB0byAxLjQ0ODIwNzhtcw0KLQkgKiBOZXV0cmFsIHJhbmdlcyBmcm9tIDEuNDQ4MjA3OG1zIHRvIDEuNTUxNzkyMm1zDQotCSAqIFByb3BvcnRpb25hbCBmb3J3YXJkIHJhbmdlcyBmcm9tIDEuNTUxNzkyMm1zIHRvIDIuMzAyNzc4OW1zDQotCSAqIEZ1bGwgZm9yd2FyZCByYW5nZXMgZnJvbSAyLjMwMjc3ODltcyB0byAyLjMyODY3NW1zDQotCSAqIFRPRE86IGNvbXB1dGUgdGhlIGFwcHJvcHJpYXRlIHZhbHVlcyBiYXNlZCBvbiBkaWdpdGFsIGxvb3AgdGltaW5nDQotCSAqLw0KLQlTZXRCb3VuZHMoMjUxLCAxMzUsIDEyOCwgMTIwLCA0KTsNCi0JU2V0UGVyaW9kTXVsdGlwbGllcihrUGVyaW9kTXVsdGlwbGllcl8xWCk7DQotCVNldFJhdyhtX2NlbnRlclB3bSk7DQotDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9KYWd1YXIsIEdldENoYW5uZWwoKSwgR2V0TW9kdWxlTnVtYmVyKCkgLSAxKTsNCi0JTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKS0+QWRkQWN0dWF0b3IoIkphZ3VhciIsIEdldE1vZHVsZU51bWJlcigpLCBHZXRDaGFubmVsKCksIHRoaXMpOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciB0aGF0IGFzc3VtZXMgdGhlIGRlZmF1bHQgZGlnaXRhbCBtb2R1bGUuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIG9uIHRoZSBkaWdpdGFsIG1vZHVsZSB0aGF0IHRoZSBKYWd1YXIgaXMgYXR0YWNoZWQgdG8uDQotICovDQotSmFndWFyOjpKYWd1YXIoVUlOVDMyIGNoYW5uZWwpIDogU2FmZVBXTShjaGFubmVsKQ0KLXsNCi0JSW5pdEphZ3VhcigpOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciB0aGF0IHNwZWNpZmllcyB0aGUgZGlnaXRhbCBtb2R1bGUuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIG9uIHRoZSBkaWdpdGFsIG1vZHVsZSB0aGF0IHRoZSBKYWd1YXIgaXMgYXR0YWNoZWQgdG8uDQotICovDQotSmFndWFyOjpKYWd1YXIoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkgOiBTYWZlUFdNKG1vZHVsZU51bWJlciwgY2hhbm5lbCkNCi17DQotCUluaXRKYWd1YXIoKTsNCi19DQotDQotSmFndWFyOjp+SmFndWFyKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgUFdNIHZhbHVlLiAgDQotICogDQotICogVGhlIFBXTSB2YWx1ZSBpcyBzZXQgdXNpbmcgYSByYW5nZSBvZiAtMS4wIHRvIDEuMCwgYXBwcm9wcmlhdGVseQ0KLSAqIHNjYWxpbmcgdGhlIHZhbHVlIGZvciB0aGUgRlBHQS4NCi0gKiANCi0gKiBAcGFyYW0gc3BlZWQgVGhlIHNwZWVkIHZhbHVlIGJldHdlZW4gLTEuMCBhbmQgMS4wIHRvIHNldC4NCi0gKiBAcGFyYW0gc3luY0dyb3VwIFVudXNlZCBpbnRlcmZhY2UuDQotICovDQotdm9pZCBKYWd1YXI6OlNldChmbG9hdCBzcGVlZCwgVUlOVDggc3luY0dyb3VwKQ0KLXsNCi0JU2V0U3BlZWQoc3BlZWQpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHJlY2VudGx5IHNldCB2YWx1ZSBvZiB0aGUgUFdNLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIG1vc3QgcmVjZW50bHkgc2V0IHZhbHVlIGZvciB0aGUgUFdNIGJldHdlZW4gLTEuMCBhbmQgMS4wLg0KLSAqLw0KLWZsb2F0IEphZ3Vhcjo6R2V0KCkNCi17DQotCXJldHVybiBHZXRTcGVlZCgpOw0KLX0NCi0NCi0vKioNCi0gKiBDb21tb24gaW50ZXJmYWNlIGZvciBkaXNhYmxpbmcgYSBtb3Rvci4NCi0gKi8NCi12b2lkIEphZ3Vhcjo6RGlzYWJsZSgpDQotew0KLQlTZXRSYXcoa1B3bURpc2FibGVkKTsNCi19DQotDQotLyoqDQotICogV3JpdGUgb3V0IHRoZSBQSUQgdmFsdWUgYXMgc2VlbiBpbiB0aGUgUElET3V0cHV0IGJhc2Ugb2JqZWN0Lg0KLSAqIA0KLSAqIEBwYXJhbSBvdXRwdXQgV3JpdGUgb3V0IHRoZSBQV00gdmFsdWUgYXMgd2FzIGZvdW5kIGluIHRoZSBQSURDb250cm9sbGVyDQotICovDQotdm9pZCBKYWd1YXI6OlBJRFdyaXRlKGZsb2F0IG91dHB1dCkNCi17DQotCVNldChvdXRwdXQpOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9KYWd1YXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0phZ3Vhci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YjU3Yzg5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0phZ3Vhci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEpBR1VBUl9IDQotI2RlZmluZSBKQUdVQVJfSA0KLQ0KLSNpbmNsdWRlICJTYWZlUFdNLmgiDQotI2luY2x1ZGUgIlNwZWVkQ29udHJvbGxlci5oIg0KLSNpbmNsdWRlICJQSURPdXRwdXQuaCINCi0NCi0vKioNCi0gKiBMdW1pbmFyeSBNaWNybyBKYWd1YXIgU3BlZWQgQ29udHJvbA0KLSAqLw0KLWNsYXNzIEphZ3VhciA6IHB1YmxpYyBTYWZlUFdNLCBwdWJsaWMgU3BlZWRDb250cm9sbGVyDQotew0KLXB1YmxpYzoNCi0JZXhwbGljaXQgSmFndWFyKFVJTlQzMiBjaGFubmVsKTsNCi0JSmFndWFyKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQl2aXJ0dWFsIH5KYWd1YXIoKTsNCi0JdmlydHVhbCB2b2lkIFNldChmbG9hdCB2YWx1ZSwgVUlOVDggc3luY0dyb3VwPTApOw0KLQl2aXJ0dWFsIGZsb2F0IEdldCgpOw0KLQl2aXJ0dWFsIHZvaWQgRGlzYWJsZSgpOw0KLQ0KLQl2aXJ0dWFsIHZvaWQgUElEV3JpdGUoZmxvYXQgb3V0cHV0KTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRKYWd1YXIoKTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0pveXN0aWNrLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0pveXN0aWNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmM4ZjhlZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Kb3lzdGljay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMDIgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiSm95c3RpY2suaCINCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSA8bWF0aC5oPg0KLQ0KLWNvbnN0IFVJTlQzMiBKb3lzdGljazo6a0RlZmF1bHRYQXhpczsNCi1jb25zdCBVSU5UMzIgSm95c3RpY2s6OmtEZWZhdWx0WUF4aXM7DQotY29uc3QgVUlOVDMyIEpveXN0aWNrOjprRGVmYXVsdFpBeGlzOw0KLWNvbnN0IFVJTlQzMiBKb3lzdGljazo6a0RlZmF1bHRUd2lzdEF4aXM7DQotY29uc3QgVUlOVDMyIEpveXN0aWNrOjprRGVmYXVsdFRocm90dGxlQXhpczsNCi1jb25zdCBVSU5UMzIgSm95c3RpY2s6OmtEZWZhdWx0VHJpZ2dlckJ1dHRvbjsNCi1jb25zdCBVSU5UMzIgSm95c3RpY2s6OmtEZWZhdWx0VG9wQnV0dG9uOw0KLXN0YXRpYyBKb3lzdGljayAqam95c3RpY2tzW0RyaXZlclN0YXRpb246OmtKb3lzdGlja1BvcnRzXTsNCi1zdGF0aWMgYm9vbCBqb3lTdGlja3NJbml0aWFsaXplZCA9IGZhbHNlOw0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdCBhbiBpbnN0YW5jZSBvZiBhIGpveXN0aWNrLg0KLSAqIFRoZSBqb3lzdGljayBpbmRleCBpcyB0aGUgdXNiIHBvcnQgb24gdGhlIGRyaXZlcnMgc3RhdGlvbi4NCi0gKiANCi0gKiBAcGFyYW0gcG9ydCBUaGUgcG9ydCBvbiB0aGUgZHJpdmVyIHN0YXRpb24gdGhhdCB0aGUgam95c3RpY2sgaXMgcGx1Z2dlZCBpbnRvLg0KLSAqLw0KLUpveXN0aWNrOjpKb3lzdGljayhVSU5UMzIgcG9ydCkNCi0JOiBtX2RzIChOVUxMKQ0KLQksIG1fcG9ydCAocG9ydCkNCi0JLCBtX2F4ZXMgKE5VTEwpDQotCSwgbV9idXR0b25zIChOVUxMKQ0KLXsNCi0JSW5pdEpveXN0aWNrKGtOdW1BeGlzVHlwZXMsIGtOdW1CdXR0b25UeXBlcyk7DQotDQotCW1fYXhlc1trWEF4aXNdID0ga0RlZmF1bHRYQXhpczsNCi0JbV9heGVzW2tZQXhpc10gPSBrRGVmYXVsdFlBeGlzOw0KLQltX2F4ZXNba1pBeGlzXSA9IGtEZWZhdWx0WkF4aXM7DQotCW1fYXhlc1trVHdpc3RBeGlzXSA9IGtEZWZhdWx0VHdpc3RBeGlzOw0KLQltX2F4ZXNba1Rocm90dGxlQXhpc10gPSBrRGVmYXVsdFRocm90dGxlQXhpczsNCi0JDQotCW1fYnV0dG9uc1trVHJpZ2dlckJ1dHRvbl0gPSBrRGVmYXVsdFRyaWdnZXJCdXR0b247DQotCW1fYnV0dG9uc1trVG9wQnV0dG9uXSA9IGtEZWZhdWx0VG9wQnV0dG9uOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfSm95c3RpY2ssIHBvcnQpOw0KLX0NCi0NCi0vKioNCi0gKiBWZXJzaW9uIG9mIHRoZSBjb25zdHJ1Y3RvciB0byBiZSBjYWxsZWQgYnkgc3ViLWNsYXNzZXMuDQotICogDQotICogVGhpcyBjb25zdHJ1Y3RvciBhbGxvd3MgdGhlIHN1YmNsYXNzIHRvIGNvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIGNvbnN0YW50cw0KLSAqIGZvciBheGVzIGFuZCBidXR0b25zLg0KLSAqIA0KLSAqIEBwYXJhbSBwb3J0IFRoZSBwb3J0IG9uIHRoZSBkcml2ZXIgc3RhdGlvbiB0aGF0IHRoZSBqb3lzdGljayBpcyBwbHVnZ2VkIGludG8uDQotICogQHBhcmFtIG51bUF4aXNUeXBlcyBUaGUgbnVtYmVyIG9mIGF4aXMgdHlwZXMgaW4gdGhlIGVudW0uDQotICogQHBhcmFtIG51bUJ1dHRvblR5cGVzIFRoZSBudW1iZXIgb2YgYnV0dG9uIHR5cGVzIGluIHRoZSBlbnVtLg0KLSAqLw0KLUpveXN0aWNrOjpKb3lzdGljayhVSU5UMzIgcG9ydCwgVUlOVDMyIG51bUF4aXNUeXBlcywgVUlOVDMyIG51bUJ1dHRvblR5cGVzKQ0KLQk6IG1fZHMgKE5VTEwpDQotCSwgbV9wb3J0IChwb3J0KQ0KLQksIG1fYXhlcyAoTlVMTCkNCi0JLCBtX2J1dHRvbnMgKE5VTEwpDQotew0KLQlJbml0Sm95c3RpY2sobnVtQXhpc1R5cGVzLCBudW1CdXR0b25UeXBlcyk7DQotfQ0KLQ0KLXZvaWQgSm95c3RpY2s6OkluaXRKb3lzdGljayhVSU5UMzIgbnVtQXhpc1R5cGVzLCBVSU5UMzIgbnVtQnV0dG9uVHlwZXMpDQotew0KLQlpZiAoICFqb3lTdGlja3NJbml0aWFsaXplZCApDQotCXsNCi0JCWZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBEcml2ZXJTdGF0aW9uOjprSm95c3RpY2tQb3J0czsgaSsrKQ0KLQkJCWpveXN0aWNrc1tpXSA9IE5VTEw7DQotCQlqb3lTdGlja3NJbml0aWFsaXplZCA9IHRydWU7DQotCX0NCi0Jam95c3RpY2tzW21fcG9ydCAtIDFdID0gdGhpczsNCi0JDQotCW1fZHMgPSBEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpOw0KLQltX2F4ZXMgPSBuZXcgVUlOVDMyW251bUF4aXNUeXBlc107DQotCW1fYnV0dG9ucyA9IG5ldyBVSU5UMzJbbnVtQnV0dG9uVHlwZXNdOw0KLX0NCi0NCi1Kb3lzdGljayAqIEpveXN0aWNrOjpHZXRTdGlja0ZvclBvcnQoVUlOVDMyIHBvcnQpDQotew0KLQlKb3lzdGljayAqc3RpY2sgPSBqb3lzdGlja3NbcG9ydCAtIDFdOw0KLQlpZiAoc3RpY2sgPT0gTlVMTCkNCi0Jew0KLQkJc3RpY2sgPSBuZXcgSm95c3RpY2socG9ydCk7DQotCQlqb3lzdGlja3NbcG9ydCAtIDFdID0gc3RpY2s7DQotCX0NCi0JcmV0dXJuIHN0aWNrOw0KLX0NCi0NCi1Kb3lzdGljazo6fkpveXN0aWNrKCkNCi17DQotCWRlbGV0ZSBbXSBtX2J1dHRvbnM7DQotCWRlbGV0ZSBbXSBtX2F4ZXM7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgWCB2YWx1ZSBvZiB0aGUgam95c3RpY2suDQotICogVGhpcyBkZXBlbmRzIG9uIHRoZSBtYXBwaW5nIG9mIHRoZSBqb3lzdGljayBjb25uZWN0ZWQgdG8gdGhlIGN1cnJlbnQgcG9ydC4NCi0gKi8NCi1mbG9hdCBKb3lzdGljazo6R2V0WChKb3lzdGlja0hhbmQgaGFuZCkNCi17DQotCXJldHVybiBHZXRSYXdBeGlzKG1fYXhlc1trWEF4aXNdKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBZIHZhbHVlIG9mIHRoZSBqb3lzdGljay4NCi0gKiBUaGlzIGRlcGVuZHMgb24gdGhlIG1hcHBpbmcgb2YgdGhlIGpveXN0aWNrIGNvbm5lY3RlZCB0byB0aGUgY3VycmVudCBwb3J0Lg0KLSAqLw0KLWZsb2F0IEpveXN0aWNrOjpHZXRZKEpveXN0aWNrSGFuZCBoYW5kKQ0KLXsNCi0JcmV0dXJuIEdldFJhd0F4aXMobV9heGVzW2tZQXhpc10pOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFogdmFsdWUgb2YgdGhlIGN1cnJlbnQgam95c3RpY2suDQotICogVGhpcyBkZXBlbmRzIG9uIHRoZSBtYXBwaW5nIG9mIHRoZSBqb3lzdGljayBjb25uZWN0ZWQgdG8gdGhlIGN1cnJlbnQgcG9ydC4NCi0gKi8NCi1mbG9hdCBKb3lzdGljazo6R2V0WigpDQotew0KLQlyZXR1cm4gR2V0UmF3QXhpcyhtX2F4ZXNba1pBeGlzXSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgdHdpc3QgdmFsdWUgb2YgdGhlIGN1cnJlbnQgam95c3RpY2suDQotICogVGhpcyBkZXBlbmRzIG9uIHRoZSBtYXBwaW5nIG9mIHRoZSBqb3lzdGljayBjb25uZWN0ZWQgdG8gdGhlIGN1cnJlbnQgcG9ydC4NCi0gKi8NCi1mbG9hdCBKb3lzdGljazo6R2V0VHdpc3QoKQ0KLXsNCi0JcmV0dXJuIEdldFJhd0F4aXMobV9heGVzW2tUd2lzdEF4aXNdKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSB0aHJvdHRsZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBqb3lzdGljay4NCi0gKiBUaGlzIGRlcGVuZHMgb24gdGhlIG1hcHBpbmcgb2YgdGhlIGpveXN0aWNrIGNvbm5lY3RlZCB0byB0aGUgY3VycmVudCBwb3J0Lg0KLSAqLw0KLWZsb2F0IEpveXN0aWNrOjpHZXRUaHJvdHRsZSgpDQotew0KLQlyZXR1cm4gR2V0UmF3QXhpcyhtX2F4ZXNba1Rocm90dGxlQXhpc10pOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHZhbHVlIG9mIHRoZSBheGlzLg0KLSAqIA0KLSAqIEBwYXJhbSBheGlzIFRoZSBheGlzIHRvIHJlYWQgWzEtNl0uDQotICogQHJldHVybiBUaGUgdmFsdWUgb2YgdGhlIGF4aXMuDQotICovDQotZmxvYXQgSm95c3RpY2s6OkdldFJhd0F4aXMoVUlOVDMyIGF4aXMpDQotew0KLQlyZXR1cm4gbV9kcy0+R2V0U3RpY2tBeGlzKG1fcG9ydCwgYXhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEZvciB0aGUgY3VycmVudCBqb3lzdGljaywgcmV0dXJuIHRoZSBheGlzIGRldGVybWluZWQgYnkgdGhlIGFyZ3VtZW50Lg0KLSAqIA0KLSAqIFRoaXMgaXMgZm9yIGNhc2VzIHdoZXJlIHRoZSBqb3lzdGljayBheGlzIGlzIHJldHVybmVkIHByb2dyYW1hdGljYWxseSwgb3RoZXJ3aXNlIG9uZSBvZiB0aGUNCi0gKiBwcmV2aW91cyBmdW5jdGlvbnMgd291bGQgYmUgcHJlZmVyYWJsZSAoZm9yIGV4YW1wbGUgR2V0WCgpKS4NCi0gKiANCi0gKiBAcGFyYW0gYXhpcyBUaGUgYXhpcyB0byByZWFkLg0KLSAqIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBheGlzLg0KLSAqLw0KLWZsb2F0IEpveXN0aWNrOjpHZXRBeGlzKEF4aXNUeXBlIGF4aXMpDQotew0KLQlzd2l0Y2goYXhpcykNCi0Jew0KLQkJY2FzZSBrWEF4aXM6IHJldHVybiB0aGlzLT5HZXRYKCk7DQotCQljYXNlIGtZQXhpczogcmV0dXJuIHRoaXMtPkdldFkoKTsNCi0JCWNhc2Uga1pBeGlzOiByZXR1cm4gdGhpcy0+R2V0WigpOw0KLQkJY2FzZSBrVHdpc3RBeGlzOiByZXR1cm4gdGhpcy0+R2V0VHdpc3QoKTsNCi0JCWNhc2Uga1Rocm90dGxlQXhpczogcmV0dXJuIHRoaXMtPkdldFRocm90dGxlKCk7DQotCQlkZWZhdWx0Og0KLQkJCXdwaV9zZXRXUElFcnJvcihCYWRKb3lzdGlja0F4aXMpOw0KLQkJCXJldHVybiAwLjA7DQotCX0NCi19DQotDQotLyoqDQotICogUmVhZCB0aGUgc3RhdGUgb2YgdGhlIHRyaWdnZXIgb24gdGhlIGpveXN0aWNrLg0KLSAqIA0KLSAqIExvb2sgdXAgd2hpY2ggYnV0dG9uIGhhcyBiZWVuIGFzc2lnbmVkIHRvIHRoZSB0cmlnZ2VyIGFuZCByZWFkIGl0cyBzdGF0ZS4NCi0gKiANCi0gKiBAcGFyYW0gaGFuZCBUaGlzIHBhcmFtZXRlciBpcyBpZ25vcmVkIGZvciB0aGUgSm95c3RpY2sgY2xhc3MgYW5kIGlzIG9ubHkgaGVyZSB0byBjb21wbGV0ZSB0aGUgR2VuZXJpY0hJRCBpbnRlcmZhY2UuDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIHRyaWdnZXIuDQotICovDQotYm9vbCBKb3lzdGljazo6R2V0VHJpZ2dlcihKb3lzdGlja0hhbmQgaGFuZCkNCi17DQotCXJldHVybiBHZXRSYXdCdXR0b24obV9idXR0b25zW2tUcmlnZ2VyQnV0dG9uXSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIHN0YXRlIG9mIHRoZSB0b3AgYnV0dG9uIG9uIHRoZSBqb3lzdGljay4NCi0gKiANCi0gKiBMb29rIHVwIHdoaWNoIGJ1dHRvbiBoYXMgYmVlbiBhc3NpZ25lZCB0byB0aGUgdG9wIGFuZCByZWFkIGl0cyBzdGF0ZS4NCi0gKiANCi0gKiBAcGFyYW0gaGFuZCBUaGlzIHBhcmFtZXRlciBpcyBpZ25vcmVkIGZvciB0aGUgSm95c3RpY2sgY2xhc3MgYW5kIGlzIG9ubHkgaGVyZSB0byBjb21wbGV0ZSB0aGUgR2VuZXJpY0hJRCBpbnRlcmZhY2UuDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIHRvcCBidXR0b24uDQotICovDQotYm9vbCBKb3lzdGljazo6R2V0VG9wKEpveXN0aWNrSGFuZCBoYW5kKQ0KLXsNCi0JcmV0dXJuIEdldFJhd0J1dHRvbihtX2J1dHRvbnNba1RvcEJ1dHRvbl0pOw0KLX0NCi0NCi0vKioNCi0gKiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHRoZSBKb3lzdGljay4NCi0gKiBUaGlzIG1ldGhvZCBpcyBvbmx5IGhlcmUgdG8gY29tcGxldGUgdGhlIEdlbmVyaWNISUQgaW50ZXJmYWNlLg0KLSAqLw0KLWJvb2wgSm95c3RpY2s6OkdldEJ1bXBlcihKb3lzdGlja0hhbmQgaGFuZCkNCi17DQotCS8vIEpveXN0aWNrcyBkb24ndCBoYXZlIGJ1bXBlcnMuDQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBidXR0b24gdmFsdWUgZm9yIGJ1dHRvbnMgMSB0aHJvdWdoIDEyLg0KLSAqIA0KLSAqIFRoZSBidXR0b25zIGFyZSByZXR1cm5lZCBpbiBhIHNpbmdsZSAxNiBiaXQgdmFsdWUgd2l0aCBvbmUgYml0IHJlcHJlc2VudGluZyB0aGUgc3RhdGUNCi0gKiBvZiBlYWNoIGJ1dHRvbi4gVGhlIGFwcHJvcHJpYXRlIGJ1dHRvbiBpcyByZXR1cm5lZCBhcyBhIGJvb2xlYW4gdmFsdWUuIA0KLSAqIA0KLSAqIEBwYXJhbSBidXR0b24gVGhlIGJ1dHRvbiBudW1iZXIgdG8gYmUgcmVhZC4NCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgYnV0dG9uLg0KLSAqKi8NCi1ib29sIEpveXN0aWNrOjpHZXRSYXdCdXR0b24oVUlOVDMyIGJ1dHRvbikNCi17DQotCXJldHVybiAoKDB4MSA8PCAoYnV0dG9uLTEpKSAmIG1fZHMtPkdldFN0aWNrQnV0dG9ucyhtX3BvcnQpKSAhPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYnV0dG9ucyBiYXNlZCBvbiBhbiBlbnVtZXJhdGVkIHR5cGUuDQotICogDQotICogVGhlIGJ1dHRvbiB0eXBlIHdpbGwgYmUgbG9va2VkIHVwIGluIHRoZSBsaXN0IG9mIGJ1dHRvbnMgYW5kIHRoZW4gcmVhZC4NCi0gKiANCi0gKiBAcGFyYW0gYnV0dG9uIFRoZSB0eXBlIG9mIGJ1dHRvbiB0byByZWFkLg0KLSAqIEByZXR1cm4gVGhlIHN0YXRlIG9mIHRoZSBidXR0b24uDQotICovDQotYm9vbCBKb3lzdGljazo6R2V0QnV0dG9uKEJ1dHRvblR5cGUgYnV0dG9uKQ0KLXsNCi0Jc3dpdGNoIChidXR0b24pDQotCXsNCi0JY2FzZSBrVHJpZ2dlckJ1dHRvbjogcmV0dXJuIEdldFRyaWdnZXIoKTsNCi0JY2FzZSBrVG9wQnV0dG9uOiByZXR1cm4gR2V0VG9wKCk7DQotCWRlZmF1bHQ6DQotCQlyZXR1cm4gZmFsc2U7DQotCX0NCi19DQotDQotLyoqDQotICogR2V0IHRoZSBjaGFubmVsIGN1cnJlbnRseSBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBheGlzLg0KLSAqIA0KLSAqIEBwYXJhbSBheGlzIFRoZSBheGlzIHRvIGxvb2sgdXAgdGhlIGNoYW5uZWwgZm9yLg0KLSAqIEByZXR1cm4gVGhlIGNoYW5uZWwgZnIgdGhlIGF4aXMuDQotICovDQotVUlOVDMyIEpveXN0aWNrOjpHZXRBeGlzQ2hhbm5lbChBeGlzVHlwZSBheGlzKQ0KLXsNCi0JcmV0dXJuIG1fYXhlc1theGlzXTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBjaGFubmVsIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmllZCBheGlzLg0KLSAqIA0KLSAqIEBwYXJhbSBheGlzIFRoZSBheGlzIHRvIHNldCB0aGUgY2hhbm5lbCBmb3IuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgdG8gc2V0IHRoZSBheGlzIHRvLg0KLSAqLw0KLXZvaWQgSm95c3RpY2s6OlNldEF4aXNDaGFubmVsKEF4aXNUeXBlIGF4aXMsIFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JbV9heGVzW2F4aXNdID0gY2hhbm5lbDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBtYWduaXR1ZGUgb2YgdGhlIGRpcmVjdGlvbiB2ZWN0b3IgZm9ybWVkIGJ5IHRoZSBqb3lzdGljaydzDQotICogY3VycmVudCBwb3NpdGlvbiByZWxhdGl2ZSB0byBpdHMgb3JpZ2luDQotICogDQotICogQHJldHVybiBUaGUgbWFnbml0dWRlIG9mIHRoZSBkaXJlY3Rpb24gdmVjdG9yDQotICovDQotZmxvYXQgSm95c3RpY2s6OkdldE1hZ25pdHVkZSgpew0KLQlyZXR1cm4gc3FydChwb3coR2V0WCgpLDIpICsgcG93KEdldFkoKSwyKSApOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgdmVjdG9yIGZvcm1lZCBieSB0aGUgam95c3RpY2sgYW5kIGl0cyBvcmlnaW4NCi0gKiBpbiByYWRpYW5zDQotICogDQotICogQHJldHVybiBUaGUgZGlyZWN0aW9uIG9mIHRoZSB2ZWN0b3IgaW4gcmFkaWFucw0KLSAqLw0KLWZsb2F0IEpveXN0aWNrOjpHZXREaXJlY3Rpb25SYWRpYW5zKCl7DQotCXJldHVybiBhdGFuMihHZXRYKCksIC1HZXRZKCkpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGRpcmVjdGlvbiBvZiB0aGUgdmVjdG9yIGZvcm1lZCBieSB0aGUgam95c3RpY2sgYW5kIGl0cyBvcmlnaW4NCi0gKiBpbiBkZWdyZWVzDQotICogDQotICogdXNlcyBhY29zKC0xKSB0byByZXByZXNlbnQgUGkgZHVlIHRvIGFic2VuY2Ugb2YgcmVhZGlseSBhY2Nlc3NhYmxlIFBpIA0KLSAqIGNvbnN0YW50IGluIEMrKw0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGRpcmVjdGlvbiBvZiB0aGUgdmVjdG9yIGluIGRlZ3JlZXMNCi0gKi8NCi1mbG9hdCBKb3lzdGljazo6R2V0RGlyZWN0aW9uRGVncmVlcygpew0KLQlyZXR1cm4gKDE4MC9hY29zKC0xKSkqR2V0RGlyZWN0aW9uUmFkaWFucygpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Kb3lzdGljay5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvSm95c3RpY2suaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRiOThlZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Kb3lzdGljay5oCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIEpPWVNUSUNLX0hfDQotI2RlZmluZSBKT1lTVElDS19IXw0KLQ0KLSNpbmNsdWRlICJHZW5lcmljSElELmgiDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLQ0KLWNsYXNzIERyaXZlclN0YXRpb247DQotDQotLyoqDQotICogSGFuZGxlIGlucHV0IGZyb20gc3RhbmRhcmQgSm95c3RpY2tzIGNvbm5lY3RlZCB0byB0aGUgRHJpdmVyIFN0YXRpb24uDQotICogVGhpcyBjbGFzcyBoYW5kbGVzIHN0YW5kYXJkIGlucHV0IHRoYXQgY29tZXMgZnJvbSB0aGUgRHJpdmVyIFN0YXRpb24uIEVhY2ggdGltZSBhIHZhbHVlIGlzIHJlcXVlc3RlZA0KLSAqIHRoZSBtb3N0IHJlY2VudCB2YWx1ZSBpcyByZXR1cm5lZC4gVGhlcmUgaXMgYSBzaW5nbGUgY2xhc3MgaW5zdGFuY2UgZm9yIGVhY2ggam95c3RpY2sgYW5kIHRoZSBtYXBwaW5nDQotICogb2YgcG9ydHMgdG8gaGFyZHdhcmUgYnV0dG9ucyBkZXBlbmRzIG9uIHRoZSBjb2RlIGluIHRoZSBkcml2ZXIgc3RhdGlvbi4NCi0gKi8NCi1jbGFzcyBKb3lzdGljayA6IHB1YmxpYyBHZW5lcmljSElELCBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrRGVmYXVsdFhBeGlzID0gMTsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrRGVmYXVsdFlBeGlzID0gMjsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrRGVmYXVsdFpBeGlzID0gMzsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrRGVmYXVsdFR3aXN0QXhpcyA9IDQ7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0RlZmF1bHRUaHJvdHRsZUF4aXMgPSAzOw0KLQl0eXBlZGVmIGVudW0NCi0Jew0KLQkJa1hBeGlzLCBrWUF4aXMsIGtaQXhpcywga1R3aXN0QXhpcywga1Rocm90dGxlQXhpcywga051bUF4aXNUeXBlcw0KLQl9IEF4aXNUeXBlOw0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtEZWZhdWx0VHJpZ2dlckJ1dHRvbiA9IDE7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0RlZmF1bHRUb3BCdXR0b24gPSAyOw0KLQl0eXBlZGVmIGVudW0NCi0Jew0KLQkJa1RyaWdnZXJCdXR0b24sIGtUb3BCdXR0b24sIGtOdW1CdXR0b25UeXBlcw0KLQl9IEJ1dHRvblR5cGU7DQotDQotCWV4cGxpY2l0IEpveXN0aWNrKFVJTlQzMiBwb3J0KTsNCi0JSm95c3RpY2soVUlOVDMyIHBvcnQsIFVJTlQzMiBudW1BeGlzVHlwZXMsIFVJTlQzMiBudW1CdXR0b25UeXBlcyk7DQotCXZpcnR1YWwgfkpveXN0aWNrKCk7DQotDQotCVVJTlQzMiBHZXRBeGlzQ2hhbm5lbChBeGlzVHlwZSBheGlzKTsNCi0Jdm9pZCBTZXRBeGlzQ2hhbm5lbChBeGlzVHlwZSBheGlzLCBVSU5UMzIgY2hhbm5lbCk7IA0KLQ0KLQl2aXJ0dWFsIGZsb2F0IEdldFgoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRZKEpveXN0aWNrSGFuZCBoYW5kID0ga1JpZ2h0SGFuZCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0WigpOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFR3aXN0KCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0VGhyb3R0bGUoKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRBeGlzKEF4aXNUeXBlIGF4aXMpOw0KLQlmbG9hdCBHZXRSYXdBeGlzKFVJTlQzMiBheGlzKTsNCi0NCi0JdmlydHVhbCBib29sIEdldFRyaWdnZXIoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKTsNCi0JdmlydHVhbCBib29sIEdldFRvcChKb3lzdGlja0hhbmQgaGFuZCA9IGtSaWdodEhhbmQpOw0KLQl2aXJ0dWFsIGJvb2wgR2V0QnVtcGVyKEpveXN0aWNrSGFuZCBoYW5kID0ga1JpZ2h0SGFuZCk7DQotCXZpcnR1YWwgYm9vbCBHZXRCdXR0b24oQnV0dG9uVHlwZSBidXR0b24pOw0KLQlib29sIEdldFJhd0J1dHRvbihVSU5UMzIgYnV0dG9uKTsNCi0Jc3RhdGljIEpveXN0aWNrKiBHZXRTdGlja0ZvclBvcnQoVUlOVDMyIHBvcnQpOw0KLQkNCi0JdmlydHVhbCBmbG9hdCBHZXRNYWduaXR1ZGUoKTsNCi0JdmlydHVhbCBmbG9hdCBHZXREaXJlY3Rpb25SYWRpYW5zKCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0RGlyZWN0aW9uRGVncmVlcygpOw0KLQ0KLXByaXZhdGU6DQotCURJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihKb3lzdGljayk7DQotCXZvaWQgSW5pdEpveXN0aWNrKFVJTlQzMiBudW1BeGlzVHlwZXMsIFVJTlQzMiBudW1CdXR0b25UeXBlcyk7DQotDQotCURyaXZlclN0YXRpb24gKm1fZHM7DQotCVVJTlQzMiBtX3BvcnQ7DQotCVVJTlQzMiAqbV9heGVzOw0KLQlVSU5UMzIgKm1fYnV0dG9uczsNCi19Ow0KLQ0KLSNlbmRpZg0KLSANCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9LaW5lY3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvS2luZWN0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2YxYzkzMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9LaW5lY3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIktpbmVjdC5oIg0KLQ0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL0ZSQ0NvbW0uaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiU2tlbGV0b24uaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLSNkZWZpbmUga0hlYWRlckJ1bmRsZUlEIGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfS2luZWN0X0hlYWRlcg0KLSNkZWZpbmUga1NrZWxldG9uRXh0cmFCdW5kbGVJRCBrRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0R5bmFtaWNUeXBlX0tpbmVjdF9FeHRyYTENCi0jZGVmaW5lIGtTa2VsZXRvbkJ1bmRsZUlEIGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfS2luZWN0X1ZlcnRpY2VzMQ0KLQ0KLUtpbmVjdCAqS2luZWN0OjpfaW5zdGFuY2UgPSBOVUxMOw0KLQ0KLUtpbmVjdDo6S2luZWN0KCkgOg0KLQltX3JlY2VudFBhY2tldE51bWJlcigwKSwNCi0JbV9udW1iZXJPZlBsYXllcnMoMCkNCi17DQotCUFkZFRvU2luZ2xldG9uTGlzdCgpOw0KLQltX2RhdGFMb2NrID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9JTlZFUlNJT05fU0FGRSB8IFNFTV9ERUxFVEVfU0FGRSk7DQotDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9LaW5lY3QsIDApOw0KLX0NCi0NCi1LaW5lY3Q6On5LaW5lY3QoKQ0KLXsNCi0Jc2VtVGFrZShtX2RhdGFMb2NrLCBXQUlUX0ZPUkVWRVIpOw0KLQlzZW1EZWxldGUobV9kYXRhTG9jayk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgb25lIGFuZCBvbmx5IEtpbmVjdCBvYmplY3QNCi0gKiBAcmV0dXJucyBwb2ludGVyIHRvIGEgS2luZWN0DQotICovDQotS2luZWN0ICpLaW5lY3Q6OkdldEluc3RhbmNlKCkNCi17DQotCWlmIChfaW5zdGFuY2UgPT0gTlVMTCkNCi0JCV9pbnN0YW5jZSA9IG5ldyBLaW5lY3QoKTsNCi0JcmV0dXJuIF9pbnN0YW5jZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2YgdHJhY2tlZCBwbGF5ZXJzIG9uIHRoZSBLaW5lY3QNCi0gKiBAcmV0dXJuIHRoZSBudW1iZXIgb2YgcGxheWVycyBiZWluZyBhY3RpdmVseSB0cmFja2VkDQotICovDQotaW50IEtpbmVjdDo6R2V0TnVtYmVyT2ZQbGF5ZXJzKCkNCi17DQotCVVwZGF0ZURhdGEoKTsNCi0JcmV0dXJuIG1fbnVtYmVyT2ZQbGF5ZXJzOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGZsb29yIGNsaXAgcGxhbmUgYXMgZGVmaW5lZCBpbiB0aGUgS2luZWN0IFNESw0KLSAqIEByZXR1cm4gVGhlIGZsb29yIGNsaXAgcGxhbmUNCi0gKi8NCi1LaW5lY3Q6OlBvaW50NCBLaW5lY3Q6OkdldEZsb29yQ2xpcFBsYW5lKCkNCi17DQotCVVwZGF0ZURhdGEoKTsNCi0JcmV0dXJuIG1fZmxvb3JDbGlwUGxhbmU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgZ3Jhdml0eSBub3JtYWwgZnJvbSB0aGUga2luZWN0IGFzIGRlZmluZWQgaW4gdGhlIEtpbmVjdCBTREsNCi0gKiBAcmV0dXJuIFRoZSBncmF2aXR5IG5vcm1hbCAodyBpcyBpZ25vcmVkKQ0KLSAqLw0KLUtpbmVjdDo6UG9pbnQ0IEtpbmVjdDo6R2V0R3Jhdml0eU5vcm1hbCgpDQotew0KLQlVcGRhdGVEYXRhKCk7DQotCXJldHVybiBtX2dyYXZpdHlOb3JtYWw7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc2tlbGV0b24gZGF0YQ0KLSAqIFJldHVybnMgdGhlIGRldGVjdGVkIHNrZWxldG9uIGRhdGEgZnJvbSB0aGUga2luZWN0IGFzIGRlZmluZWQgaW4gdGhlIEtpbmVjdCBTREsNCi0gKiBAcGFyYW0gc2tlbGV0b25JbmRleCBXaGljaCBvZiAocG90ZW50aWFsbHkgMikgc2tlbGV0b25zIHRvIHJldHVybi4gVGhpcyBpcyBpZ25vcmVkIGluIHRoaXMgaW1wbGVtZW50YXRpb24gYW5kDQotICogb25seSBhIHNpbmdsZSBza2VsZXRvbiBpcyBzdXBwb3J0ZWQgZm9yIHRoZSBGUkMgcmVsZWFzZSBkZWZhdWx0IGdlc3R1cmUgaW50ZXJwcmV0YXRpb24uDQotICogQHJldHVybiBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBza2VsZXRvbiBvYmplY3QuDQotICovDQotU2tlbGV0b24gS2luZWN0OjpHZXRTa2VsZXRvbihpbnQgc2tlbGV0b25JbmRleCkNCi17DQotCWlmIChza2VsZXRvbkluZGV4IDw9IDAgfHwgc2tlbGV0b25JbmRleCA+IGtOdW1Ta2VsZXRvbnMpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJTa2VsZXRvbiBpbmRleCBtdXN0IGJlIDEiKTsNCi0JCXJldHVybiBTa2VsZXRvbigpOw0KLQl9DQotCVVwZGF0ZURhdGEoKTsNCi0JcmV0dXJuIG1fc2tlbGV0b25zW3NrZWxldG9uSW5kZXgtMV07DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgc2tlbGV0b24NCi0gKiBAcGFyYW0gc2tlbGV0b25JbmRleCB0aGUgc2tlbGV0b24gdG8gcmVhZCBmcm9tDQotICogQHJldHVybiB0aGUgY3VycmVudCBwb3NpdGlvbiBhcyBkZWZpbmVkIGluIHRoZSBLaW5lY3QgU0RLICh3IGlzIGlnbm9yZWQpDQotICovDQotS2luZWN0OjpQb2ludDQgS2luZWN0OjpHZXRQb3NpdGlvbihpbnQgc2tlbGV0b25JbmRleCkNCi17DQotCWlmIChza2VsZXRvbkluZGV4IDw9IDAgfHwgc2tlbGV0b25JbmRleCA+IGtOdW1Ta2VsZXRvbnMpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJTa2VsZXRvbiBpbmRleCBtdXN0IGJlIDEiKTsNCi0JCXJldHVybiBQb2ludDQoKTsNCi0JfQ0KLQlVcGRhdGVEYXRhKCk7DQotCXJldHVybiBtX3Bvc2l0aW9uW3NrZWxldG9uSW5kZXgtMV07DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcXVhbGl0eSBvZiB0aGUgc2tlbGV0b24uDQotICogUXVhbGl0eSBtYXNrcyBhcmUgZGVmaW5lZCBpbiB0aGUgU2tlbGV0b25RdWFsaXR5IGVudW0NCi0gKiBAcGFyYW0gc2tlbGV0b25JbmRleCB0aGUgc2tlbGV0b24gdG8gcmVhZCBmcm9tDQotICogQHJldHVybiB0aGUgcXVhbGl0eSB2YWx1ZSBhcyBkZWZpbmVkIGluIHRoZSBLaW5lY3QgU0RLDQotICovDQotVUlOVDMyIEtpbmVjdDo6R2V0UXVhbGl0eShpbnQgc2tlbGV0b25JbmRleCkNCi17DQotCWlmIChza2VsZXRvbkluZGV4IDw9IDAgfHwgc2tlbGV0b25JbmRleCA+IGtOdW1Ta2VsZXRvbnMpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJTa2VsZXRvbiBpbmRleCBtdXN0IGJlIDEiKTsNCi0JCXJldHVybiBrQ2xpcHBlZFJpZ2h0IHwga0NsaXBwZWRMZWZ0IHwga0NsaXBwZWRUb3AgfCBrQ2xpcHBlZEJvdHRvbTsNCi0JfQ0KLQlVcGRhdGVEYXRhKCk7DQotCXJldHVybiBtX3F1YWxpdHlbc2tlbGV0b25JbmRleC0xXTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBUcmFja2luZ1N0YXRlIG9mIHRoZSBza2VsZXRvbi4NCi0gKiBUcmFja2luZyBzdGF0ZXMgYXJlIGRlZmluZWQgaW4gdGhlIFNrZWxldG9uVHJhY2tpbmdTdGF0ZSBlbnVtDQotICogQHBhcmFtIHNrZWxldG9uSW5kZXggdGhlIHNrZWxldG9uIHRvIHJlYWQgZnJvbQ0KLSAqIEByZXR1cm4gdGhlIHRyYWNraW5nIHN0YXRlIHZhbHVlIGFzIGRlZmluZWQgaW4gdGhlIEtpbmVjdCBTREsNCi0gKi8NCi1LaW5lY3Q6OlNrZWxldG9uVHJhY2tpbmdTdGF0ZSBLaW5lY3Q6OkdldFRyYWNraW5nU3RhdGUoaW50IHNrZWxldG9uSW5kZXgpDQotew0KLQlpZiAoc2tlbGV0b25JbmRleCA8PSAwIHx8IHNrZWxldG9uSW5kZXggPiBrTnVtU2tlbGV0b25zKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiU2tlbGV0b24gaW5kZXggbXVzdCBiZSAxIik7DQotCQlyZXR1cm4ga05vdFRyYWNrZWQ7DQotCX0NCi0JVXBkYXRlRGF0YSgpOw0KLQlyZXR1cm4gbV90cmFja2luZ1N0YXRlW3NrZWxldG9uSW5kZXgtMV07DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIGZvciBhbiB1cGRhdGUgb2YgbmV3IGRhdGEgZnJvbSB0aGUgRHJpdmVyIFN0YXRpb24NCi0gKiBUaGlzIHdpbGwgcmVhZCB0aGUgbmV3IHZhbHVlcyBhbmQgdXBkYXRlIHRoZSBkYXRhIHN0cnVjdHVyZXMgaW4gdGhpcyBjbGFzcy4NCi0gKi8NCi12b2lkIEtpbmVjdDo6VXBkYXRlRGF0YSgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2RhdGFMb2NrKTsNCi0JVUlOVDMyIHBhY2tldE51bWJlciA9IERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkdldFBhY2tldE51bWJlcigpOw0KLQlpZiAobV9yZWNlbnRQYWNrZXROdW1iZXIgIT0gcGFja2V0TnVtYmVyKQ0KLQl7DQotCQltX3JlY2VudFBhY2tldE51bWJlciA9IHBhY2tldE51bWJlcjsNCi0JCWludCByZXRWYWwgPSBnZXREeW5hbWljQ29udHJvbERhdGEoa0hlYWRlckJ1bmRsZUlELCBtX3Jhd0hlYWRlciwgc2l6ZW9mKG1fcmF3SGVhZGVyKSwgNSk7DQotCQlpZihyZXRWYWwgPT0gMCkNCi0JCXsNCi0JCQltX251bWJlck9mUGxheWVycyA9IChpbnQpbV9yYXdIZWFkZXJbMTNdOw0KLQkJCW1lbWNweSgmbV9mbG9vckNsaXBQbGFuZS54LCAmbV9yYXdIZWFkZXJbMThdLCA0KTsNCi0JCQltZW1jcHkoJm1fZmxvb3JDbGlwUGxhbmUueSwgJm1fcmF3SGVhZGVyWzIyXSwgNCk7DQotCQkJbWVtY3B5KCZtX2Zsb29yQ2xpcFBsYW5lLnosICZtX3Jhd0hlYWRlclsyNl0sIDQpOw0KLQkJCW1lbWNweSgmbV9mbG9vckNsaXBQbGFuZS53LCAmbV9yYXdIZWFkZXJbMzBdLCA0KTsNCi0JCQltZW1jcHkoJm1fZ3Jhdml0eU5vcm1hbC54LCAmbV9yYXdIZWFkZXJbMzRdLCA0KTsNCi0JCQltZW1jcHkoJm1fZ3Jhdml0eU5vcm1hbC55LCAmbV9yYXdIZWFkZXJbMzhdLCA0KTsNCi0JCQltZW1jcHkoJm1fZ3Jhdml0eU5vcm1hbC56LCAmbV9yYXdIZWFkZXJbNDJdLCA0KTsNCi0JCX0NCi0NCi0JCXJldFZhbCA9IGdldER5bmFtaWNDb250cm9sRGF0YShrU2tlbGV0b25FeHRyYUJ1bmRsZUlELCBtX3Jhd1NrZWxldG9uRXh0cmEsIHNpemVvZihtX3Jhd1NrZWxldG9uRXh0cmEpLCA1KTsNCi0JCWlmKHJldFZhbCA9PSAwKQ0KLQkJew0KLQkJCW1lbWNweSgmbV9wb3NpdGlvblswXS54LCAmbV9yYXdTa2VsZXRvbkV4dHJhWzIyXSwgNCk7DQotCQkJbWVtY3B5KCZtX3Bvc2l0aW9uWzBdLnksICZtX3Jhd1NrZWxldG9uRXh0cmFbMjZdLCA0KTsNCi0JCQltZW1jcHkoJm1fcG9zaXRpb25bMF0ueiwgJm1fcmF3U2tlbGV0b25FeHRyYVszMF0sIDQpOw0KLQkJCW1lbWNweSgmbV9xdWFsaXR5WzBdLCAmbV9yYXdTa2VsZXRvbkV4dHJhWzM0XSwgNCk7DQotCQkJbWVtY3B5KCZtX3RyYWNraW5nU3RhdGVbMF0sICZtX3Jhd1NrZWxldG9uRXh0cmFbMzhdLCA0KTsNCi0JCX0NCi0NCi0JCXJldFZhbCA9IGdldER5bmFtaWNDb250cm9sRGF0YShrU2tlbGV0b25CdW5kbGVJRCwgbV9yYXdTa2VsZXRvbiwgc2l6ZW9mKG1fcmF3U2tlbGV0b24pLCA1KTsNCi0JCWlmKHJldFZhbCA9PSAwKQ0KLQkJew0KLQkJCWZvcihpbnQgaT0wOyBpIDwgU2tlbGV0b246OkpvaW50Q291bnQ7IGkrKykNCi0JCQl7DQotCQkJCW1lbWNweSgmbV9za2VsZXRvbnNbMF0ubV9qb2ludHNbaV0ueCwgJm1fcmF3U2tlbGV0b25baSoxMisyXSwgNCk7DQotCQkJCW1lbWNweSgmbV9za2VsZXRvbnNbMF0ubV9qb2ludHNbaV0ueSwgJm1fcmF3U2tlbGV0b25baSoxMis2XSwgNCk7DQotCQkJCW1lbWNweSgmbV9za2VsZXRvbnNbMF0ubV9qb2ludHNbaV0ueiwgJm1fcmF3U2tlbGV0b25baSoxMisxMF0sIDQpOw0KLQkJCQltX3NrZWxldG9uc1swXS5tX2pvaW50c1tpXS50cmFja2luZ1N0YXRlID0gKFNrZWxldG9uOjpKb2ludFRyYWNraW5nU3RhdGUpbV9yYXdTa2VsZXRvbkV4dHJhW2krMl07DQotCQkJfQ0KLQkJfQ0KLQ0KLQkJLy8gVE9ETzogUmVhZCBza2VsZXRvbiAjMg0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0tpbmVjdC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvS2luZWN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1N2JlNmIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvS2luZWN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19LSU5FQ1RfSF9fDQotI2RlZmluZSBfX0tJTkVDVF9IX18NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJTa2VsZXRvbi5oIg0KLQ0KLSNpbmNsdWRlIDxzZW1MaWIuaD4NCi0NCi0jZGVmaW5lIGtOdW1Ta2VsZXRvbnMgMQ0KLQ0KLS8qKg0KLSAqIEhhbmRsZXMgcmF3IGRhdGEgaW5wdXQgZnJvbSB0aGUgRlJDIEtpbmVjdCBTZXJ2ZXINCi0gKiB3aGVuIHVzZWQgd2l0aCBhIEtpbmVjdCBkZXZpY2UgY29ubmVjdGVkIHRvIHRoZSBEcml2ZXIgU3RhdGlvbi4NCi0gKiBFYWNoIHRpbWUgYSB2YWx1ZSBpcyByZXF1ZXN0ZWQgdGhlIG1vc3QgcmVjZW50IHZhbHVlIGlzIHJldHVybmVkLg0KLSAqIFNlZSBHZXR0aW5nIFN0YXJ0ZWQgd2l0aCBNaWNyb3NvZnQgS2luZWN0IGZvciBGUkMgYW5kIHRoZSBLaW5lY3QNCi0gKiBmb3IgV2luZG93cyBTREsgQVBJIHJlZmVyZW5jZSBmb3IgbW9yZSBpbmZvcm1hdGlvbg0KLSAqLw0KLWNsYXNzIEtpbmVjdCA6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JdHlwZWRlZiBlbnVtIHtrTm90VHJhY2tlZCwga1Bvc2l0aW9uT25seSwga1RyYWNrZWR9IFNrZWxldG9uVHJhY2tpbmdTdGF0ZTsNCi0JdHlwZWRlZiBlbnVtIHtrQ2xpcHBlZFJpZ2h0ID0gMSwga0NsaXBwZWRMZWZ0ID0gMiwga0NsaXBwZWRUb3AgPSA0LCBrQ2xpcHBlZEJvdHRvbSA9IDh9IFNrZWxldG9uUXVhbGl0eTsNCi0JdHlwZWRlZiBzdHJ1Y3QNCi0Jew0KLQkJZmxvYXQgeDsNCi0JCWZsb2F0IHk7DQotCQlmbG9hdCB6Ow0KLQkJZmxvYXQgdzsNCi0JfSBQb2ludDQ7DQotDQotCWludCBHZXROdW1iZXJPZlBsYXllcnMoKTsNCi0JUG9pbnQ0IEdldEZsb29yQ2xpcFBsYW5lKCk7DQotCVBvaW50NCBHZXRHcmF2aXR5Tm9ybWFsKCk7DQotCVNrZWxldG9uIEdldFNrZWxldG9uKGludCBza2VsZXRvbkluZGV4ID0gMSk7DQotCVBvaW50NCBHZXRQb3NpdGlvbihpbnQgc2tlbGV0b25JbmRleCA9IDEpOw0KLQlVSU5UMzIgR2V0UXVhbGl0eShpbnQgc2tlbGV0b25JbmRleCA9IDEpOw0KLQlTa2VsZXRvblRyYWNraW5nU3RhdGUgR2V0VHJhY2tpbmdTdGF0ZShpbnQgc2tlbGV0b25JbmRleCA9IDEpOw0KLQ0KLQlzdGF0aWMgS2luZWN0ICpHZXRJbnN0YW5jZSgpOw0KLQ0KLXByaXZhdGU6DQotCUtpbmVjdCgpOw0KLQl+S2luZWN0KCk7DQotCXZvaWQgVXBkYXRlRGF0YSgpOw0KLQ0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oS2luZWN0KTsNCi0NCi0JVUlOVDMyIG1fcmVjZW50UGFja2V0TnVtYmVyOw0KLQlTRU1fSUQgbV9kYXRhTG9jazsNCi0JaW50IG1fbnVtYmVyT2ZQbGF5ZXJzOw0KLQlQb2ludDQgbV9mbG9vckNsaXBQbGFuZTsNCi0JUG9pbnQ0IG1fZ3Jhdml0eU5vcm1hbDsNCi0JUG9pbnQ0IG1fcG9zaXRpb25ba051bVNrZWxldG9uc107DQotCVVJTlQzMiBtX3F1YWxpdHlba051bVNrZWxldG9uc107DQotCVNrZWxldG9uVHJhY2tpbmdTdGF0ZSBtX3RyYWNraW5nU3RhdGVba051bVNrZWxldG9uc107DQotCVNrZWxldG9uIG1fc2tlbGV0b25zW2tOdW1Ta2VsZXRvbnNdOw0KLQ0KLQkvLyBUT0RPOiBJbmNsdWRlIHN0cnVjdHMgZm9yIHRoaXMgZGF0YSBmb3JtYXQgKHdvdWxkIGJlIGNsZWFyZXIgdGhhbiAxMDAgbWFnaWMgbnVtYmVycykNCi0JY2hhciBtX3Jhd0hlYWRlcls0Nl07DQotCWNoYXIgbV9yYXdTa2VsZXRvbkV4dHJhWzQyXTsNCi0JY2hhciBtX3Jhd1NrZWxldG9uWzI0Ml07DQotDQotCXN0YXRpYyBLaW5lY3QgKl9pbnN0YW5jZTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0tpbmVjdFN0aWNrLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0tpbmVjdFN0aWNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJlYzJlZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9LaW5lY3RTdGljay5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMDEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiS2luZWN0U3RpY2suaCINCi0NCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLSNpbmNsdWRlICJKb3lzdGljay5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlV0aWxpdHkuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotVUlOVDMyIEtpbmVjdFN0aWNrOjpfcmVjZW50UGFja2V0TnVtYmVyID0gMDsNCi1LaW5lY3RTdGljazo6S2luZWN0U3RpY2tEYXRhIEtpbmVjdFN0aWNrOjpfc3RpY2tzOw0KLQ0KLSNkZWZpbmUga0pveXN0aWNrQnVuZGxlSUQga0ZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9EeW5hbWljVHlwZV9LaW5lY3RfSm95c3RpY2sNCi0jZGVmaW5lIGtUcmlnZ2VyTWFzayAxDQotI2RlZmluZSBrVG9wTWFzayAyDQotDQotLyoqDQotICogS2luZWN0IGpveXN0aWNrIGNvbnN0cnVjdG9yDQotICogQHBhcmFtIGlkIHZhbHVlIGlzIGVpdGhlciAxIG9yIDIgZm9yIHRoZSBsZWZ0IG9yIHJpZ2h0IGpveXN0aWNrIGRlY29kZWQgZnJvbQ0KLSAqIGdlc3R1cmVzIGludGVycHJldGVkIGJ5IHRoZSBLaW5lY3Qgc2VydmVyIG9uIHRoZSBEcml2ZXIgU3RhdGlvbiBjb21wdXRlci4NCi0gKi8NCi1LaW5lY3RTdGljazo6S2luZWN0U3RpY2soaW50IGlkKQ0KLXsNCi0JaWYgKGlkICE9IDEgJiYgaWQgIT0gMikNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgIktpbmVjdFN0aWNrIElEIG11c3QgYmUgMSBvciAyIik7DQotCQlyZXR1cm47DQotCX0NCi0JbV9pZCA9IGlkOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfS2luZWN0U3RpY2ssIGlkKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBYIHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljay4gVGhpcyBheGlzDQotICogaXMgdW5pbXBsZW1lbnRlZCBpbiB0aGUgZGVmYXVsdCBnZXN0dXJlcyBidXQgY2FuDQotICogYmUgcG9wdWxhdGVkIGJ5IHRlYW1zIGVkaXRpbmcgdGhlIEtpbmVjdCBTZXJ2ZXIuDQotICogQHBhcmFtIGhhbmQgVW51c2VkDQotICogQHJldHVybiBUaGUgWCB2YWx1ZSBvZiB0aGUgS2luZWN0U3RpY2sNCi0gKi8NCi1mbG9hdCBLaW5lY3RTdGljazo6R2V0WChKb3lzdGlja0hhbmQgaGFuZCkNCi17DQotCXJldHVybiBHZXRSYXdBeGlzKEpveXN0aWNrOjprRGVmYXVsdFhBeGlzKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBZIHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljay4gVGhpcyBheGlzDQotICogcmVwcmVzZW50cyBhcm0gYW5nbGUgaW4gdGhlIGRlZmF1bHQgZ2VzdHVyZXMNCi0gKiBAcGFyYW0gaGFuZCBVbnVzZWQNCi0gKiBAcmV0dXJuIFRoZSBZIHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljaw0KLSAqLw0KLWZsb2F0IEtpbmVjdFN0aWNrOjpHZXRZKEpveXN0aWNrSGFuZCBoYW5kKQ0KLXsNCi0JcmV0dXJuIEdldFJhd0F4aXMoSm95c3RpY2s6OmtEZWZhdWx0WUF4aXMpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFogdmFsdWUgb2YgdGhlIEtpbmVjdFN0aWNrLiBUaGlzIGF4aXMNCi0gKiBpcyB1bmltcGxlbWVudGVkIGluIHRoZSBkZWZhdWx0IGdlc3R1cmVzIGJ1dCBjYW4NCi0gKiBiZSBwb3B1bGF0ZWQgYnkgdGVhbXMgZWRpdGluZyB0aGUgS2luZWN0IFNlcnZlci4NCi0gKiBAcGFyYW0gaGFuZCBVbnVzZWQNCi0gKiBAcmV0dXJuIFRoZSBaIHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljaw0KLSAqLw0KLWZsb2F0IEtpbmVjdFN0aWNrOjpHZXRaKCkNCi17DQotCXJldHVybiBHZXRSYXdBeGlzKEpveXN0aWNrOjprRGVmYXVsdFpBeGlzKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBUd2lzdCB2YWx1ZSBvZiB0aGUgS2luZWN0U3RpY2suIFRoaXMgYXhpcw0KLSAqIGlzIHVuaW1wbGVtZW50ZWQgaW4gdGhlIGRlZmF1bHQgZ2VzdHVyZXMgYnV0IGNhbg0KLSAqIGJlIHBvcHVsYXRlZCBieSB0ZWFtcyBlZGl0aW5nIHRoZSBLaW5lY3QgU2VydmVyLg0KLSAqIEByZXR1cm4gVGhlIFR3aXN0IHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljaw0KLSAqLw0KLWZsb2F0IEtpbmVjdFN0aWNrOjpHZXRUd2lzdCgpDQotew0KLQlyZXR1cm4gR2V0UmF3QXhpcyhKb3lzdGljazo6a0RlZmF1bHRUd2lzdEF4aXMpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFRocm90dGxlIHZhbHVlIG9mIHRoZSBLaW5lY3RTdGljay4gVGhpcyBheGlzDQotICogaXMgdW5pbXBsZW1lbnRlZCBpbiB0aGUgZGVmYXVsdCBnZXN0dXJlcyBidXQgY2FuDQotICogYmUgcG9wdWxhdGVkIGJ5IHRlYW1zIGVkaXRpbmcgdGhlIEtpbmVjdCBTZXJ2ZXIuDQotICogQHJldHVybiBUaGUgVGhyb3R0bGUgdmFsdWUgb2YgdGhlIEtpbmVjdFN0aWNrDQotICovDQotZmxvYXQgS2luZWN0U3RpY2s6OkdldFRocm90dGxlKCkNCi17DQotCXJldHVybiBHZXRSYXdBeGlzKEpveXN0aWNrOjprRGVmYXVsdFRocm90dGxlQXhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgdmFsdWUgb2YgdGhlIEtpbmVjdFN0aWNrIGF4aXMuDQotICoNCi0gKiBAcGFyYW0gYXhpcyBUaGUgYXhpcyB0byByZWFkIFsxLTZdLg0KLSAqIEByZXR1cm4gVGhlIHZhbHVlIG9mIHRoZSBheGlzDQotICovDQotZmxvYXQgS2luZWN0U3RpY2s6OkdldFJhd0F4aXMoVUlOVDMyIGF4aXMpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gMC4wOw0KLQ0KLQlHZXREYXRhKCk7DQotCWZsb2F0IHZhbHVlID0gQ29udmVydFJhd1RvRmxvYXQoX3N0aWNrcy5mb3JtYXR0ZWQucmF3U3RpY2tzW21faWQgLSAxXS5heGlzW2F4aXMtMV0pOw0KLQlyZXR1cm4gdmFsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgYnV0dG9uIHZhbHVlIGZvciB0aGUgYnV0dG9uIHNldCBhcyB0aGUgZGVmYXVsdCB0cmlnZ2VyDQotICoNCi0gKiBAcGFyYW0gaGFuZCBVbnVzZWQNCi0gKiBAcmV0dXJuIFRoZSBzdGF0ZSBvZiB0aGUgYnV0dG9uLg0KLSAqLw0KLWJvb2wgS2luZWN0U3RpY2s6OkdldFRyaWdnZXIoSm95c3RpY2tIYW5kIGhhbmQpDQotew0KLQlyZXR1cm4gR2V0UmF3QnV0dG9uKGtUcmlnZ2VyTWFzayk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgYnV0dG9uIHZhbHVlIGZvciB0aGUgYnV0dG9uIHNldCBhcyB0aGUgZGVmYXVsdCB0b3ANCi0gKg0KLSAqIEBwYXJhbSBoYW5kIFVudXNlZA0KLSAqIEByZXR1cm4gVGhlIHN0YXRlIG9mIHRoZSBidXR0b24uDQotICovDQotYm9vbCBLaW5lY3RTdGljazo6R2V0VG9wKEpveXN0aWNrSGFuZCBoYW5kKQ0KLXsNCi0JcmV0dXJuIEdldFJhd0J1dHRvbihrVG9wTWFzayk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgYnV0dG9uIHZhbHVlIGZvciB0aGUgYnV0dG9uIHNldCBhcyB0aGUgZGVmYXVsdCBidW1wZXIgKGJ1dHRvbiA0KQ0KLSAqDQotICogQHBhcmFtIGhhbmQgVW51c2VkDQotICogQHJldHVybiBUaGUgc3RhdGUgb2YgdGhlIGJ1dHRvbi4NCi0gKi8NCi1ib29sIEtpbmVjdFN0aWNrOjpHZXRCdW1wZXIoSm95c3RpY2tIYW5kIGhhbmQpDQotew0KLQkvLyBUT0RPOiBTaG91bGQgdGhpcyBldmVuIGJlIGluIEdlbmVyaWNISUQ/ICBJcyA0IGFuIGFwcHJvcHJpYXRlIG1hc2sgdmFsdWUgKGJ1dHRvbiAzKT8NCi0JcmV0dXJuIEdldFJhd0J1dHRvbig0KTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBidXR0b24gdmFsdWUgZm9yIGJ1dHRvbnMgMSB0aHJvdWdoIDEyLiBUaGUgZGVmYXVsdCBnZXN0dXJlcw0KLSAqIGltcGxlbWVudCBvbmx5IDkgYnV0dG9ucy4NCi0gKg0KLSAqIFRoZSBhcHByb3ByaWF0ZSBidXR0b24gaXMgcmV0dXJuZWQgYXMgYSBib29sZWFuIHZhbHVlLg0KLSAqDQotICogQHBhcmFtIGJ1dHRvbiBUaGUgYnV0dG9uIG51bWJlciB0byBiZSByZWFkLg0KLSAqIEByZXR1cm4gVGhlIHN0YXRlIG9mIHRoZSBidXR0b24uDQotICovDQotYm9vbCBLaW5lY3RTdGljazo6R2V0UmF3QnV0dG9uKFVJTlQzMiBidXR0b24pDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gZmFsc2U7DQotDQotCUdldERhdGEoKTsNCi0JcmV0dXJuIChfc3RpY2tzLmZvcm1hdHRlZC5yYXdTdGlja3NbbV9pZCAtIDFdLmJ1dHRvbnMgJiAoMSA8PCBidXR0b24pKSAhPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgZHluYW1pYyBkYXRhIGZyb20gdGhlIGRyaXZlciBzdGF0aW9uIGJ1ZmZlcg0KLSAqLw0KLXZvaWQgS2luZWN0U3RpY2s6OkdldERhdGEoKQ0KLXsNCi0JVUlOVDMyIHBhY2tldE51bWJlciA9IERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkdldFBhY2tldE51bWJlcigpOw0KLQlpZiAoX3JlY2VudFBhY2tldE51bWJlciAhPSBwYWNrZXROdW1iZXIpDQotCXsNCi0JCV9yZWNlbnRQYWNrZXROdW1iZXIgPSBwYWNrZXROdW1iZXI7DQotCQlpbnQgcmV0VmFsID0gZ2V0RHluYW1pY0NvbnRyb2xEYXRhKGtKb3lzdGlja0J1bmRsZUlELCBfc3RpY2tzLmRhdGEsIHNpemVvZihfc3RpY2tzLmRhdGEpLCA1KTsNCi0JCWlmIChyZXRWYWwgPT0gMCkNCi0JCXsNCi0JCQl3cGlfYXNzZXJ0KF9zdGlja3MuZm9ybWF0dGVkLnNpemUgPT0gc2l6ZW9mKF9zdGlja3MuZGF0YSkgLSAxKTsNCi0JCX0NCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBDb252ZXJ0IGFuIDggYml0IGpveXN0aWNrIHZhbHVlIHRvIGEgZmxvYXRpbmcgcG9pbnQgKC0xLDEpIHZhbHVlDQotICogQHBhcmFtIHZhbHVlIFRoZSA4IGJpdCByYXcgam95c3RpY2sgdmFsdWUgcmV0dXJuZWQgZnJvbSB0aGUgZHJpdmVyIHN0YXRpb24NCi0gKi8NCi1mbG9hdCBLaW5lY3RTdGljazo6Q29udmVydFJhd1RvRmxvYXQoSU5UOCB2YWx1ZSkNCi17DQotCWZsb2F0IHJlc3VsdDsNCi0NCi0JaWYgKHZhbHVlIDwgMCkNCi0JCXJlc3VsdCA9ICgoZmxvYXQpIHZhbHVlKSAvIDEyOC4wOw0KLQllbHNlDQotCQlyZXN1bHQgPSAoKGZsb2F0KSB2YWx1ZSkgLyAxMjcuMDsNCi0NCi0Jd3BpX2Fzc2VydChyZXN1bHQgPD0gMS4wICYmIHJlc3VsdCA+PSAtMS4wKTsNCi0NCi0JaWYgKHJlc3VsdCA+IDEuMCkNCi0JCXJlc3VsdCA9IDEuMDsNCi0JZWxzZSBpZiAocmVzdWx0IDwgLTEuMCkNCi0JCXJlc3VsdCA9IC0xLjA7DQotDQotCXJldHVybiByZXN1bHQ7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0tpbmVjdFN0aWNrLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9LaW5lY3RTdGljay5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYThkYTY1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0tpbmVjdFN0aWNrLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19LSU5FQ1RfU1RJQ0tfSF9fDQotI2RlZmluZSBfX0tJTkVDVF9TVElDS19IX18NCi0NCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotI2luY2x1ZGUgIkdlbmVyaWNISUQuaCINCi0NCi0vKioNCi0gKiBIYW5kbGVzIGlucHV0IGZyb20gdGhlIEpveXN0aWNrIGRhdGEgc2VudCBieSB0aGUgRlJDIEtpbmVjdCBTZXJ2ZXINCi0gKiB3aGVuIHVzZWQgd2l0aCBhIEtpbmVjdCBkZXZpY2UgY29ubmVjdGVkIHRvIHRoZSBEcml2ZXIgU3RhdGlvbi4NCi0gKiBFYWNoIHRpbWUgYSB2YWx1ZSBpcyByZXF1ZXN0ZWQgdGhlIG1vc3QgcmVjZW50IHZhbHVlIGlzIHJldHVybmVkLg0KLSAqIERlZmF1bHQgZ2VzdHVyZXMgZW1iZWRkZWQgaW4gdGhlIEZSQyBLaW5lY3QgU2VydmVyIGFyZSBkZXNjcmliZWQNCi0gKiBpbiB0aGUgZG9jdW1lbnQgR2V0dGluZyBTdGFydGVkIHdpdGggTWljcm9zb2Z0IEtpbmVjdCBmb3IgRlJDLg0KLSAqLw0KLWNsYXNzIEtpbmVjdFN0aWNrIDogcHVibGljIEdlbmVyaWNISUQsIHB1YmxpYyBFcnJvckJhc2UNCi17DQotcHVibGljOg0KLQlleHBsaWNpdCBLaW5lY3RTdGljayhpbnQgaWQpOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFgoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRZKEpveXN0aWNrSGFuZCBoYW5kID0ga1JpZ2h0SGFuZCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0WigpOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFR3aXN0KCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0VGhyb3R0bGUoKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRSYXdBeGlzKFVJTlQzMiBheGlzKTsNCi0NCi0JdmlydHVhbCBib29sIEdldFRyaWdnZXIoSm95c3RpY2tIYW5kIGhhbmQgPSBrUmlnaHRIYW5kKTsNCi0JdmlydHVhbCBib29sIEdldFRvcChKb3lzdGlja0hhbmQgaGFuZCA9IGtSaWdodEhhbmQpOw0KLQl2aXJ0dWFsIGJvb2wgR2V0QnVtcGVyKEpveXN0aWNrSGFuZCBoYW5kID0ga1JpZ2h0SGFuZCk7DQotCXZpcnR1YWwgYm9vbCBHZXRSYXdCdXR0b24oVUlOVDMyIGJ1dHRvbik7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBHZXREYXRhKCk7DQotCWZsb2F0IENvbnZlcnRSYXdUb0Zsb2F0KElOVDggY2hhclZhbHVlKTsNCi0NCi0JdHlwZWRlZiB1bmlvbg0KLQl7DQotCQlzdHJ1Y3QNCi0JCXsNCi0JCQlVSU5UOCBzaXplOw0KLQkJCVVJTlQ4IGlkOw0KLQkJCXN0cnVjdA0KLQkJCXsNCi0JCQkJdW5zaWduZWQgY2hhciBheGlzWzZdOw0KLQkJCQl1bnNpZ25lZCBzaG9ydCBidXR0b25zOw0KLQkJCX0gcmF3U3RpY2tzWzJdOw0KLQkJfSBmb3JtYXR0ZWQ7DQotCQljaGFyIGRhdGFbMThdOw0KLQl9IEtpbmVjdFN0aWNrRGF0YTsNCi0NCi0JaW50IG1faWQ7DQotCXN0YXRpYyBVSU5UMzIgX3JlY2VudFBhY2tldE51bWJlcjsNCi0Jc3RhdGljIEtpbmVjdFN0aWNrRGF0YSBfc3RpY2tzOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvdy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyMDJhMTAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE4OSArMCwwIEBACi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotI2luY2x1ZGUgPGFsZ29yaXRobT4NCi0jaW5jbHVkZSA8c3N0cmVhbT4NCi0NCi1MaXZlV2luZG93KiBMaXZlV2luZG93OjptX2luc3RhbmNlID0gTlVMTDsNCi0NCi0vKioNCi0gKiBHZXQgYW4gaW5zdGFuY2Ugb2YgdGhlIExpdmVXaW5kb3cgbWFpbiBjbGFzcw0KLSAqIFRoaXMgaXMgYSBzaW5nbGV0b24gdG8gZ3VhcmFudGVlIHRoYXQgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBpbnN0YW5jZSByZWdhcmRsZXNzIG9mDQotICogaG93IG1hbnkgdGltZXMgR2V0SW5zdGFuY2UgaXMgY2FsbGVkLg0KLSAqLw0KLUxpdmVXaW5kb3cgKiBMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpDQotew0KLQlpZiAobV9pbnN0YW5jZSA9PSBOVUxMKQ0KLQl7DQotCQltX2luc3RhbmNlID0gbmV3IExpdmVXaW5kb3coKTsNCi0JfQ0KLQlyZXR1cm4gbV9pbnN0YW5jZTsNCi19DQotDQotLyoqDQotICogTGl2ZVdpbmRvdyBjb25zdHJ1Y3Rvci4NCi0gKiBBbGxvY2F0ZSB0aGUgbmVjZXNzYXJ5IHRhYmxlcy4NCi0gKi8NCi1MaXZlV2luZG93OjpMaXZlV2luZG93KCkNCi17DQotCW1fZW5hYmxlZCA9IGZhbHNlOw0KLQltX2xpdmVXaW5kb3dUYWJsZSA9IE5ldHdvcmtUYWJsZTo6R2V0VGFibGUoIkxpdmVXaW5kb3ciKTsNCi0JbV9zdGF0dXNUYWJsZSA9IG1fbGl2ZVdpbmRvd1RhYmxlLT5HZXRTdWJUYWJsZSgiflNUQVRVU34iKTsNCi0JbV9zY2hlZHVsZXIgPSBTY2hlZHVsZXI6OkdldEluc3RhbmNlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENoYW5nZSB0aGUgZW5hYmxlZCBzdGF0dXMgb2YgTGl2ZVdpbmRvdw0KLSAqIElmIGl0IGNoYW5nZXMgdG8gZW5hYmxlZCwgc3RhcnQgbGl2ZXdpbmRvdyBydW5uaW5nIG90aGVyd2lzZSBzdG9wIGl0DQotICovDQotdm9pZCBMaXZlV2luZG93OjpTZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkNCi17DQotCWlmIChtX2VuYWJsZWQgPT0gZW5hYmxlZCkNCi0JCXJldHVybjsNCi0JaWYgKGVuYWJsZWQpDQotCXsNCi0JCXByaW50ZigiU3RhcnRpbmcgbGl2ZSB3aW5kb3cgbW9kZVxuIik7DQotCQlpZiAobV9maXJzdFRpbWUpDQotCQl7DQotCQkJSW5pdGlhbGl6ZUxpdmVXaW5kb3dDb21wb25lbnRzKCk7DQotCQkJbV9maXJzdFRpbWUgPSBmYWxzZTsNCi0JCX0NCi0JCW1fc2NoZWR1bGVyLT5TZXRFbmFibGVkKGZhbHNlKTsNCi0JCW1fc2NoZWR1bGVyLT5SZW1vdmVBbGwoKTsNCi0JCWZvciAoc3RkOjptYXA8TGl2ZVdpbmRvd1NlbmRhYmxlICosIExpdmVXaW5kb3dDb21wb25lbnQ+OjppdGVyYXRvciBpdCA9DQotCQkJCW1fY29tcG9uZW50cy5iZWdpbigpOyBpdCAhPSBtX2NvbXBvbmVudHMuZW5kKCk7ICsraXQpDQotCQl7DQotCQkJaXQtPmZpcnN0LT5TdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCQl9DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlwcmludGYoIkVuZGluZyBMaXZlV2luZG93IG1vZGVcbiIpOw0KLQkJZm9yIChzdGQ6Om1hcDxMaXZlV2luZG93U2VuZGFibGUgKiwgTGl2ZVdpbmRvd0NvbXBvbmVudD46Oml0ZXJhdG9yIGl0ID0NCi0JCQkJbV9jb21wb25lbnRzLmJlZ2luKCk7IGl0ICE9IG1fY29tcG9uZW50cy5lbmQoKTsgKytpdCkNCi0JCXsNCi0JCQlpdC0+Zmlyc3QtPlN0b3BMaXZlV2luZG93TW9kZSgpOw0KLQkJfQ0KLQkJbV9zY2hlZHVsZXItPlNldEVuYWJsZWQodHJ1ZSk7DQotCX0NCi0JbV9lbmFibGVkID0gZW5hYmxlZDsNCi0JbV9zdGF0dXNUYWJsZS0+UHV0Qm9vbGVhbigiTFcgRW5hYmxlZCIsIG1fZW5hYmxlZCk7DQotfQ0KLQ0KLUxpdmVXaW5kb3c6On5MaXZlV2luZG93KCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIEFkZCBhIFNlbnNvciBhc3NvY2lhdGVkIHdpdGggdGhlIHN1YnN5c3RlbSBhbmQgd2l0aCBjYWxsIGl0IGJ5IHRoZSBnaXZlbiBuYW1lLg0KLSAqIEBwYXJhbSBzdWJzeXN0ZW0gVGhlIHN1YnN5c3RlbSB0aGlzIGNvbXBvbmVudCBpcyBwYXJ0IG9mLg0KLSAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoaXMgY29tcG9uZW50Lg0KLSAqIEBwYXJhbSBjb21wb25lbnQgQSBMaXZlV2luZG93U2VuZGFibGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIHNlbnNvci4NCi0gKi8NCi12b2lkIExpdmVXaW5kb3c6OkFkZFNlbnNvcihjaGFyICpzdWJzeXN0ZW0sIGNoYXIgKm5hbWUsDQotCQlMaXZlV2luZG93U2VuZGFibGUgKmNvbXBvbmVudCkNCi17DQotCW1fY29tcG9uZW50c1tjb21wb25lbnRdLnN1YnN5c3RlbSA9IHN1YnN5c3RlbTsNCi0JbV9jb21wb25lbnRzW2NvbXBvbmVudF0ubmFtZSA9IG5hbWU7DQotCW1fY29tcG9uZW50c1tjb21wb25lbnRdLmlzU2Vuc29yID0gdHJ1ZTsNCi19DQotDQotLyoqDQotICogQWRkIGFuIEFjdHVhdG9yIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3Vic3lzdGVtIGFuZCB3aXRoIGNhbGwgaXQgYnkgdGhlIGdpdmVuIG5hbWUuDQotICogQHBhcmFtIHN1YnN5c3RlbSBUaGUgc3Vic3lzdGVtIHRoaXMgY29tcG9uZW50IGlzIHBhcnQgb2YuDQotICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhpcyBjb21wb25lbnQuDQotICogQHBhcmFtIGNvbXBvbmVudCBBIExpdmVXaW5kb3dTZW5kYWJsZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGEgYWN0dWF0b3IuDQotICovDQotdm9pZCBMaXZlV2luZG93OjpBZGRBY3R1YXRvcihjaGFyICpzdWJzeXN0ZW0sIGNoYXIgKm5hbWUsDQotCQlMaXZlV2luZG93U2VuZGFibGUgKmNvbXBvbmVudCkNCi17DQotCW1fY29tcG9uZW50c1tjb21wb25lbnRdLnN1YnN5c3RlbSA9IHN1YnN5c3RlbTsNCi0JbV9jb21wb25lbnRzW2NvbXBvbmVudF0ubmFtZSA9IG5hbWU7DQotCW1fY29tcG9uZW50c1tjb21wb25lbnRdLmlzU2Vuc29yID0gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIElOVEVSTkFMDQotICovDQotdm9pZCBMaXZlV2luZG93OjpBZGRTZW5zb3Ioc3RkOjpzdHJpbmcgdHlwZSwgaW50IG1vZHVsZSwgaW50IGNoYW5uZWwsIExpdmVXaW5kb3dTZW5kYWJsZSAqY29tcG9uZW50KQ0KLXsNCi0Jc3RkOjpvc3RyaW5nc3RyZWFtIG9zczsNCi0Jb3NzIDw8IHR5cGUgPDwgIlsiIDw8IG1vZHVsZSA8PCAiLCIgPDwgY2hhbm5lbCA8PCAiXSI7DQotCXN0ZDo6c3RyaW5nIHR5cGVzKG9zcy5zdHIoKSk7DQotCWNoYXIqIGNjID0gbmV3IGNoYXJbdHlwZXMuc2l6ZSgpICsgMV07DQotCXR5cGVzLmNvcHkoY2MsIHR5cGVzLnNpemUoKSk7DQotCWNjW3R5cGVzLnNpemUoKV09J1wwJzsNCi0JQWRkU2Vuc29yKCJVbmdyb3VwZWQiLCBjYywgY29tcG9uZW50KTsNCi0JaWYgKHN0ZDo6ZmluZChtX3NlbnNvcnMuYmVnaW4oKSwgbV9zZW5zb3JzLmVuZCgpLCBjb21wb25lbnQpID09IG1fc2Vuc29ycy5lbmQoKSkNCi0JCW1fc2Vuc29ycy5wdXNoX2JhY2soY29tcG9uZW50KTsNCi19DQotDQotLyoqDQotICogSU5URVJOQUwNCi0gKi8NCi12b2lkIExpdmVXaW5kb3c6OkFkZEFjdHVhdG9yKHN0ZDo6c3RyaW5nIHR5cGUsIGludCBtb2R1bGUsIGludCBjaGFubmVsLCBMaXZlV2luZG93U2VuZGFibGUgKmNvbXBvbmVudCkNCi17DQotCXN0ZDo6b3N0cmluZ3N0cmVhbSBvc3M7DQotCW9zcyA8PCB0eXBlIDw8ICJbIiA8PCBtb2R1bGUgPDwgIiwiIDw8IGNoYW5uZWwgPDwgIl0iOw0KLQlzdGQ6OnN0cmluZyB0eXBlcyhvc3Muc3RyKCkpOw0KLQljaGFyKiBjYyA9IG5ldyBjaGFyW3R5cGVzLnNpemUoKSArIDFdOw0KLQl0eXBlcy5jb3B5KGNjLCB0eXBlcy5zaXplKCkpOw0KLQljY1t0eXBlcy5zaXplKCldPSdcMCc7DQotCUFkZEFjdHVhdG9yKCJVbmdyb3VwZWQiLCBjYywgY29tcG9uZW50KTsNCi19DQotDQotLyoqDQotICogVGVsbCBhbGwgdGhlIHNlbnNvcnMgdG8gdXBkYXRlIChzZW5kKSB0aGVpciB2YWx1ZXMNCi0gKiBBY3R1YXRvcnMgYXJlIGhhbmRsZWQgdGhyb3VnaCBjYWxsYmFja3Mgb24gdGhlaXIgdmFsdWUgY2hhbmdpbmcgZnJvbSB0aGUNCi0gKiBTbWFydERhc2hib2FyZCB3aWRnZXRzLg0KLSAqLw0KLXZvaWQgTGl2ZVdpbmRvdzo6VXBkYXRlVmFsdWVzKCkNCi17DQotCWZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbV9zZW5zb3JzLnNpemUoKTsgaSsrKQ0KLQl7DQotCQltX3NlbnNvcnNbaV0tPlVwZGF0ZVRhYmxlKCk7DQotCX0NCi19DQotDQotLyoqDQotICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHBlcmlvZGljYWxseSB0byBjYXVzZSB0aGUgc2Vuc29ycyB0byBzZW5kIG5ldyB2YWx1ZXMNCi0gKiB0byB0aGUgU21hcnREYXNoYm9hcmQuDQotICovDQotdm9pZCBMaXZlV2luZG93OjpSdW4oKQ0KLXsNCi0JaWYgKG1fZW5hYmxlZCkNCi0Jew0KLQkJVXBkYXRlVmFsdWVzKCk7DQotCX0NCi19DQotDQotLyoqDQotICogSW5pdGlhbGl6ZSBhbGwgdGhlIExpdmVXaW5kb3cgZWxlbWVudHMgdGhlIGZpcnN0IHRpbWUgd2UgZW50ZXIgTGl2ZVdpbmRvdyBtb2RlLg0KLSAqIEJ5IGhvbGRpbmcgb2ZmIGNyZWF0aW5nIHRoZSBOZXR3b3JrVGFibGUgZW50cmllcywgaXQgYWxsb3dzIHRoZW0gdG8gYmUgcmVkZWZpbmVkDQotICogYmVmb3JlIHRoZSBmaXJzdCB0aW1lIGluIExpdmVXaW5kb3cgbW9kZS4gVGhpcyBhbGxvd3MgZGVmYXVsdCBzZW5zb3IgYW5kIGFjdHVhdG9yDQotICogdmFsdWVzIHRvIGJlIGNyZWF0ZWQgdGhhdCBhcmUgcmVwbGFjZWQgd2l0aCB0aGUgY3VzdG9tIG5hbWVzIGZyb20gdXNlcnMgY2FsbGluZw0KLSAqIGFkZEFjdHVhdG9yIGFuZCBhZGRTZW5zb3IuDQotICovDQotdm9pZCBMaXZlV2luZG93OjpJbml0aWFsaXplTGl2ZVdpbmRvd0NvbXBvbmVudHMoKQ0KLXsNCi0JZm9yIChzdGQ6Om1hcDxMaXZlV2luZG93U2VuZGFibGUgKiwgTGl2ZVdpbmRvd0NvbXBvbmVudD46Oml0ZXJhdG9yIGl0ID0NCi0JCQltX2NvbXBvbmVudHMuYmVnaW4oKTsgaXQgIT0gbV9jb21wb25lbnRzLmVuZCgpOyArK2l0KQ0KLQl7DQotCQlMaXZlV2luZG93U2VuZGFibGUgKmNvbXBvbmVudCA9IGl0LT5maXJzdDsNCi0JCUxpdmVXaW5kb3dDb21wb25lbnQgYyA9IGl0LT5zZWNvbmQ7DQotCQlzdGQ6OnN0cmluZyBzdWJzeXN0ZW0gPSBjLnN1YnN5c3RlbTsNCi0JCXN0ZDo6c3RyaW5nIG5hbWUgPSBjLm5hbWU7DQotCQltX2xpdmVXaW5kb3dUYWJsZS0+R2V0U3ViVGFibGUoc3Vic3lzdGVtKS0+UHV0U3RyaW5nKCJ+VFlQRX4iLA0KLQkJCQkiTFcgU3Vic3lzdGVtIik7DQotCQlJVGFibGUgKnRhYmxlID0gbV9saXZlV2luZG93VGFibGUtPkdldFN1YlRhYmxlKHN1YnN5c3RlbSktPkdldFN1YlRhYmxlKA0KLQkJCQluYW1lKTsNCi0JCXRhYmxlLT5QdXRTdHJpbmcoIn5UWVBFfiIsIGNvbXBvbmVudC0+R2V0U21hcnREYXNoYm9hcmRUeXBlKCkpOw0KLQkJdGFibGUtPlB1dFN0cmluZygiTmFtZSIsIG5hbWUpOw0KLQkJdGFibGUtPlB1dFN0cmluZygiU3Vic3lzdGVtIiwgc3Vic3lzdGVtKTsNCi0JCWNvbXBvbmVudC0+SW5pdFRhYmxlKHRhYmxlKTsNCi0JCWlmIChjLmlzU2Vuc29yKQ0KLQkJew0KLQkJCW1fc2Vuc29ycy5wdXNoX2JhY2soY29tcG9uZW50KTsNCi0JCX0NCi0JfQ0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3cuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZmRkZGY2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotI2lmbmRlZiBfTElWRV9XSU5ET1dfSA0KLSNkZWZpbmUgX0xJVkVfV0lORE9XX0gNCi0NCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZS5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9TY2hlZHVsZXIuaCINCi0jaW5jbHVkZSA8dmVjdG9yPg0KLSNpbmNsdWRlIDxtYXA+DQotDQotc3RydWN0IExpdmVXaW5kb3dDb21wb25lbnQNCi17DQotCXN0ZDo6c3RyaW5nIHN1YnN5c3RlbTsNCi0Jc3RkOjpzdHJpbmcgbmFtZTsNCi0JYm9vbCBpc1NlbnNvcjsNCi0NCi0JTGl2ZVdpbmRvd0NvbXBvbmVudCgpDQotCXt9Ly9XVEY/DQotCUxpdmVXaW5kb3dDb21wb25lbnQoc3RkOjpzdHJpbmcgc3Vic3lzdGVtLCBzdGQ6OnN0cmluZyBuYW1lLCBib29sIGlzU2Vuc29yKQ0KLQl7DQotCQl0aGlzLT5zdWJzeXN0ZW0gPSBzdWJzeXN0ZW07DQotCQl0aGlzLT5uYW1lID0gbmFtZTsNCi0JCXRoaXMtPmlzU2Vuc29yID0gaXNTZW5zb3I7DQotCX0NCi19Ow0KLQ0KLS8qKg0KLSAqIFRoZSBMaXZlV2luZG93IGNsYXNzIGlzIHRoZSBwdWJsaWMgaW50ZXJmYWNlIGZvciBwdXR0aW5nIHNlbnNvcnMgYW5kIGFjdHVhdG9ycw0KLSAqIG9uIHRoZSBMaXZlV2luZG93Lg0KLSAqDQotICogQGF1dGhvciBCcmFkIE1pbGxlcg0KLSAqLw0KLWNsYXNzIExpdmVXaW5kb3cgew0KLXB1YmxpYzoNCi0Jc3RhdGljIExpdmVXaW5kb3cgKiBHZXRJbnN0YW5jZSgpOw0KLQl2b2lkIFJ1bigpOw0KLQl2b2lkIEFkZFNlbnNvcihjaGFyICpzdWJzeXN0ZW0sIGNoYXIgKm5hbWUsIExpdmVXaW5kb3dTZW5kYWJsZSAqY29tcG9uZW50KTsNCi0Jdm9pZCBBZGRBY3R1YXRvcihjaGFyICpzdWJzeXN0ZW0sIGNoYXIgKm5hbWUsIExpdmVXaW5kb3dTZW5kYWJsZSAqY29tcG9uZW50KTsNCi0Jdm9pZCBBZGRTZW5zb3Ioc3RkOjpzdHJpbmcgdHlwZSwgaW50IG1vZHVsZSwgaW50IGNoYW5uZWwsIExpdmVXaW5kb3dTZW5kYWJsZSAqY29tcG9uZW50KTsNCi0Jdm9pZCBBZGRBY3R1YXRvcihzdGQ6OnN0cmluZyB0eXBlLCBpbnQgbW9kdWxlLCBpbnQgY2hhbm5lbCwgTGl2ZVdpbmRvd1NlbmRhYmxlICpjb21wb25lbnQpOw0KLQkNCi0JYm9vbCBJc0VuYWJsZWQoKSB7IHJldHVybiBtX2VuYWJsZWQ7IH0NCi0Jdm9pZCBTZXRFbmFibGVkKGJvb2wgZW5hYmxlZCk7DQotDQotcHJvdGVjdGVkOg0KLQlMaXZlV2luZG93KCk7DQotCXZpcnR1YWwgfkxpdmVXaW5kb3coKTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIFVwZGF0ZVZhbHVlcygpOw0KLQl2b2lkIEluaXRpYWxpemUoKTsNCi0Jdm9pZCBJbml0aWFsaXplTGl2ZVdpbmRvd0NvbXBvbmVudHMoKTsNCi0JDQotCXN0ZDo6dmVjdG9yPExpdmVXaW5kb3dTZW5kYWJsZSAqPiBtX3NlbnNvcnM7DQotCXN0ZDo6bWFwPExpdmVXaW5kb3dTZW5kYWJsZSAqLCBMaXZlV2luZG93Q29tcG9uZW50PiBtX2NvbXBvbmVudHM7DQotCQ0KLQlzdGF0aWMgTGl2ZVdpbmRvdyAqbV9pbnN0YW5jZTsNCi0JSVRhYmxlICptX2xpdmVXaW5kb3dUYWJsZTsNCi0JSVRhYmxlICptX3N0YXR1c1RhYmxlOw0KLQkNCi0JU2NoZWR1bGVyICptX3NjaGVkdWxlcjsNCi0JDQotCWJvb2wgbV9lbmFibGVkOw0KLQlib29sIG1fZmlyc3RUaW1lOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvd1NlbmRhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMzAzOWYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBQYXRyaWNrIFBsZW5lZmlzY2ggMjAxMi4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkgICAgICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgTElWRVdJTkRPV1NFTkRBQkxFX0hfDQotI2RlZmluZSBMSVZFV0lORE9XU0VOREFCTEVfSF8NCi0NCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU2VuZGFibGUuaCINCi0NCi0vKioNCi0gKiBMaXZlIFdpbmRvdyBTZW5kYWJsZSBpcyBhIHNwZWNpYWwgdHlwZSBvZiBvYmplY3Qgc2VuZGFibGUgdG8gdGhlIGxpdmUgd2luZG93Lg0KLSAqDQotICogQGF1dGhvciBQYXRyaWNrIFBsZW5lZmlzY2gNCi0gKi8NCi1jbGFzcyBMaXZlV2luZG93U2VuZGFibGU6IHB1YmxpYyBTZW5kYWJsZQ0KLXsNCi1wdWJsaWM6DQotICAgIC8qKg0KLSAgICAgKiBVcGRhdGUgdGhlIHRhYmxlIGZvciB0aGlzIHNlbmRhYmxlIG9iamVjdCB3aXRoIHRoZSBsYXRlc3QNCi0gICAgICogdmFsdWVzLg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCB2b2lkIFVwZGF0ZVRhYmxlKCkgPSAwOw0KLQ0KLSAgICAvKioNCi0gICAgICogU3RhcnQgaGF2aW5nIHRoaXMgc2VuZGFibGUgb2JqZWN0IGF1dG9tYXRpY2FsbHkgcmVzcG9uZCB0bw0KLSAgICAgKiB2YWx1ZSBjaGFuZ2VzIHJlZmxlY3QgdGhlIHZhbHVlIG9uIHRoZSB0YWJsZS4NCi0gICAgICovDQotICAgIHZpcnR1YWwgdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCkgPSAwOw0KLQ0KLSAgICAvKioNCi0gICAgICogU3RvcCBoYXZpbmcgdGhpcyBzZW5kYWJsZSBvYmplY3QgYXV0b21hdGljYWxseSByZXNwb25kIHRvIHZhbHVlDQotICAgICAqIGNoYW5nZXMuDQotICAgICAqLw0KLSAgICB2aXJ0dWFsIHZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCkgPSAwOw0KLX07DQotDQotDQotI2VuZGlmIC8qIExJVkVXSU5ET1dTRU5EQUJMRV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvd1N0YXR1c0xpc3RlbmVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvd1N0YXR1c0xpc3RlbmVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIwOTNhNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lci5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9TY2hlZHVsZXIuaCINCi0NCi12b2lkIExpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lcjo6VmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KSB7DQotCQ0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93U3RhdHVzTGlzdGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYzM2Y0MS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotI2lmbmRlZiBfTElWRV9XSU5ET1dfU1RBVFVTX0xJU1RFTkVSX0gNCi0jZGVmaW5lIF9MSVZFX1dJTkRPV19TVEFUVVNfTElTVEVORVJfSA0KLQ0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGVMaXN0ZW5lci5oIg0KLQ0KLWNsYXNzIExpdmVXaW5kb3dTdGF0dXNMaXN0ZW5lciA6IHB1YmxpYyBJVGFibGVMaXN0ZW5lciB7DQotcHVibGljOg0KLQl2aXJ0dWFsIHZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi19Ow0KLQ0KLSNlbmRpZiANCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb2R1bGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTW9kdWxlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWJhOGMzYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb2R1bGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiTW9kdWxlLmgiDQotI2luY2x1ZGUgIkFuYWxvZ01vZHVsZS5oIg0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotLy8jaW5jbHVkZSAiU29sZW5vaWRNb2R1bGUuaCINCi0NCi1Nb2R1bGUqIE1vZHVsZTo6bV9tb2R1bGVzW2tNYXhNb2R1bGVzXSA9IHtOVUxMfTsNCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3Rvci4NCi0gKiANCi0gKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiBtb2R1bGUgcmVwcmVzZW50ZWQuDQotICogQHBhcmFtIG51bWJlciBUaGUgbW9kdWxlIGluZGV4IHdpdGhpbiB0aGUgbW9kdWxlIHR5cGUuDQotICovDQotTW9kdWxlOjpNb2R1bGUobkxvYWRPdXQ6OnRNb2R1bGVUeXBlIHR5cGUsIFVJTlQ4IG51bWJlcikNCi0JOiBtX21vZHVsZVR5cGUgKHR5cGUpDQotCSwgbV9tb2R1bGVOdW1iZXIgKG51bWJlcikNCi17DQotCW1fbW9kdWxlc1tUb0luZGV4KHR5cGUsIG51bWJlcildID0gdGhpczsNCi19DQotDQotLyoqDQotICogRGVzdHJ1Y3Rvci4NCi0gKi8NCi1Nb2R1bGU6On5Nb2R1bGUoKQ0KLXsNCi19DQotDQotLyoqDQotICogU3RhdGljIG1vZHVsZSBzaW5nbGV0b24gZmFjdG9yeS4NCi0gKiANCi0gKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiBtb2R1bGUgcmVwcmVzZW50ZWQuDQotICogQHBhcmFtIG51bWJlciBUaGUgbW9kdWxlIGluZGV4IHdpdGhpbiB0aGUgbW9kdWxlIHR5cGUuDQotICovDQotTW9kdWxlKiBNb2R1bGU6OkdldE1vZHVsZShuTG9hZE91dDo6dE1vZHVsZVR5cGUgdHlwZSwgVUlOVDggbnVtYmVyKQ0KLXsNCi0JaWYgKG1fbW9kdWxlc1tUb0luZGV4KHR5cGUsIG51bWJlcildID09IE5VTEwpDQotCXsNCi0JCXN3aXRjaCh0eXBlKQ0KLQkJew0KLQkJY2FzZSBuTG9hZE91dDo6a01vZHVsZVR5cGVfQW5hbG9nOg0KLQkJCW5ldyBBbmFsb2dNb2R1bGUobnVtYmVyKTsNCi0JCQlicmVhazsNCi0JCWNhc2UgbkxvYWRPdXQ6OmtNb2R1bGVUeXBlX0RpZ2l0YWw6DQotCQkJbmV3IERpZ2l0YWxNb2R1bGUobnVtYmVyKTsNCi0JCQlicmVhazsNCi0vKg0KLQkJY2FzZSBuTG9hZE91dDo6a01vZHVsZVR5cGVfU29sZW5vaWQ6DQotCQkJbmV3IFNvbGVub2lkTW9kdWxlKG51bWJlcik7DQotCQkJYnJlYWs7DQotKi8NCi0JCWRlZmF1bHQ6DQotCQkgICAgcmV0dXJuIE5VTEw7DQotCQl9DQotCX0NCi0JcmV0dXJuIG1fbW9kdWxlc1tUb0luZGV4KHR5cGUsIG51bWJlcildOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5kZXggaW50byB0aGUgbV9tb2R1bGVzIGFycmF5IGJhc2VkIG9uIHR5cGUgYW5kIG51bWJlcg0KLSAqIA0KLSAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIG1vZHVsZSByZXByZXNlbnRlZC4NCi0gKiBAcGFyYW0gbnVtYmVyIFRoZSBtb2R1bGUgaW5kZXggd2l0aGluIHRoZSBtb2R1bGUgdHlwZS4NCi0gKiBAcmV0dXJuIFRoZSBpbmRleCBpbnRvIG1fbW9kdWxlcy4NCi0gKi8NCi1VSU5UOCBNb2R1bGU6OlRvSW5kZXgobkxvYWRPdXQ6OnRNb2R1bGVUeXBlIHR5cGUsIFVJTlQ4IG51bWJlcikNCi17DQotCWlmIChudW1iZXIgPT0gMCB8fCBudW1iZXIgPiBrTWF4TW9kdWxlTnVtYmVyKSByZXR1cm4gMDsNCi0JaWYgKHR5cGUgPCBuTG9hZE91dDo6a01vZHVsZVR5cGVfQW5hbG9nIHx8IHR5cGUgPiBuTG9hZE91dDo6a01vZHVsZVR5cGVfU29sZW5vaWQpIHJldHVybiAwOw0KLQlyZXR1cm4gKHR5cGUgKiBrTWF4TW9kdWxlTnVtYmVyKSArIChudW1iZXIgLSAxKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTW9kdWxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb2R1bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjlhZmIyNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb2R1bGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBNT0RVTEVfSF8NCi0jZGVmaW5lIE1PRFVMRV9IXw0KLQ0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL0xvYWRPdXQuaCINCi0NCi0jZGVmaW5lIGtNYXhNb2R1bGVzCShuTG9hZE91dDo6a01vZHVsZVR5cGVfU29sZW5vaWQgKiBrTWF4TW9kdWxlTnVtYmVyICsgKGtNYXhNb2R1bGVOdW1iZXIgLSAxKSkNCi0NCi1jbGFzcyBNb2R1bGU6IHB1YmxpYyBTZW5zb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JbkxvYWRPdXQ6OnRNb2R1bGVUeXBlIEdldFR5cGUoKSB7cmV0dXJuIG1fbW9kdWxlVHlwZTt9DQotCVVJTlQ4IEdldE51bWJlcigpIHtyZXR1cm4gbV9tb2R1bGVOdW1iZXI7fQ0KLQlzdGF0aWMgTW9kdWxlICpHZXRNb2R1bGUobkxvYWRPdXQ6OnRNb2R1bGVUeXBlIHR5cGUsIFVJTlQ4IG51bWJlcik7DQotDQotcHJvdGVjdGVkOg0KLQlleHBsaWNpdCBNb2R1bGUobkxvYWRPdXQ6OnRNb2R1bGVUeXBlIHR5cGUsIFVJTlQ4IG51bWJlcik7DQotCXZpcnR1YWwgfk1vZHVsZSgpOw0KLQ0KLQluTG9hZE91dDo6dE1vZHVsZVR5cGUgbV9tb2R1bGVUeXBlOyAvLy88IFRoZSB0eXBlIG9mIG1vZHVsZSByZXByZXNlbnRlZC4NCi0JVUlOVDggbV9tb2R1bGVOdW1iZXI7IC8vLzwgVGhlIG1vZHVsZSBpbmRleCB3aXRoaW4gdGhlIG1vZHVsZSB0eXBlLg0KLQ0KLXByaXZhdGU6DQotCXN0YXRpYyBVSU5UOCBUb0luZGV4KG5Mb2FkT3V0Ojp0TW9kdWxlVHlwZSB0eXBlLCBVSU5UOCBudW1iZXIpOw0KLQlzdGF0aWMgTW9kdWxlKiBtX21vZHVsZXNba01heE1vZHVsZXNdOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTW90b3JTYWZldHkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL01vdG9yU2FmZXR5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0Zjc2MDIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTW90b3JTYWZldHkuaAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotI2lmbmRlZiBfTU9UT1JfU0FGRVRZXw0KLSNkZWZpbmUgX01PVE9SX1NBRkVUWV8NCi0NCi0jZGVmaW5lIERFRkFVTFRfU0FGRVRZX0VYUElSQVRJT04gMC4xDQotDQotY2xhc3MgTW90b3JTYWZldHkgew0KLXB1YmxpYzoNCi0JdmlydHVhbCB2b2lkIFNldEV4cGlyYXRpb24oZmxvYXQgdGltZW91dCkgPSAwOw0KLQl2aXJ0dWFsIGZsb2F0IEdldEV4cGlyYXRpb24oKSA9IDA7DQotCXZpcnR1YWwgYm9vbCBJc0FsaXZlKCkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgU3RvcE1vdG9yKCkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgU2V0U2FmZXR5RW5hYmxlZChib29sIGVuYWJsZWQpID0gMDsNCi0JdmlydHVhbCBib29sIElzU2FmZXR5RW5hYmxlZCgpID0gMDsNCi0JdmlydHVhbCB2b2lkIEdldERlc2NyaXB0aW9uKGNoYXIgKmRlc2MpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmE5ZTlhZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb3RvclNhZmV0eUhlbHBlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiTW90b3JTYWZldHlIZWxwZXIuaCINCi0NCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLSNpbmNsdWRlICJNb3RvclNhZmV0eS5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0NCi1Nb3RvclNhZmV0eUhlbHBlciAqTW90b3JTYWZldHlIZWxwZXI6Om1faGVhZEhlbHBlciA9IE5VTEw7DQotUmVlbnRyYW50U2VtYXBob3JlIE1vdG9yU2FmZXR5SGVscGVyOjptX2xpc3RNdXRleDsNCi0NCi0vKioNCi0gKiBUaGUgY29uc3RydWN0b3IgZm9yIGEgTW90b3JTYWZldHlIZWxwZXIgb2JqZWN0Lg0KLSAqIFRoZSBoZWxwZXIgb2JqZWN0IGlzIGNvbnN0cnVjdGVkIGZvciBldmVyeSBvYmplY3QgdGhhdCB3YW50cyB0byBpbXBsZW1lbnQgdGhlIE1vdG9yDQotICogU2FmZXR5IHByb3RvY29sLiBUaGUgaGVscGVyIG9iamVjdCBoYXMgdGhlIGNvZGUgdG8gYWN0dWFsbHkgZG8gdGhlIHRpbWluZyBhbmQgY2FsbCB0aGUNCi0gKiBtb3RvcnMgU3RvcCgpIG1ldGhvZCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuIFRoZSBtb3RvciBvYmplY3QgaXMgZXhwZWN0ZWQgdG8gY2FsbCB0aGUNCi0gKiBGZWVkKCkgbWV0aG9kIHdoZW5ldmVyIHRoZSBtb3RvcnMgdmFsdWUgaXMgdXBkYXRlZC4NCi0gKiBAcGFyYW0gc2FmZU9iamVjdCBhIHBvaW50ZXIgdG8gdGhlIG1vdG9yIG9iamVjdCBpbXBsZW1lbnRpbmcgTW90b3JTYWZldHkuIFRoaXMgaXMgdXNlZA0KLSAqIHRvIGNhbGwgdGhlIFN0b3AoKSBtZXRob2Qgb24gdGhlIG1vdG9yLg0KLSAqLw0KLU1vdG9yU2FmZXR5SGVscGVyOjpNb3RvclNhZmV0eUhlbHBlcihNb3RvclNhZmV0eSAqc2FmZU9iamVjdCkNCi17DQotCW1fc2FmZU9iamVjdCA9IHNhZmVPYmplY3Q7DQotCW1fZW5hYmxlZCA9IGZhbHNlOw0KLQltX2V4cGlyYXRpb24gPSBERUZBVUxUX1NBRkVUWV9FWFBJUkFUSU9OOw0KLQltX3N0b3BUaW1lID0gVGltZXI6OkdldEZQR0FUaW1lc3RhbXAoKTsNCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9saXN0TXV0ZXgpOw0KLQltX25leHRIZWxwZXIgPSBtX2hlYWRIZWxwZXI7DQotCW1faGVhZEhlbHBlciA9IHRoaXM7DQotfQ0KLQ0KLQ0KLU1vdG9yU2FmZXR5SGVscGVyOjp+TW90b3JTYWZldHlIZWxwZXIoKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9saXN0TXV0ZXgpOw0KLQlpZiAobV9oZWFkSGVscGVyID09IHRoaXMpDQotCXsNCi0JCW1faGVhZEhlbHBlciA9IG1fbmV4dEhlbHBlcjsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCU1vdG9yU2FmZXR5SGVscGVyICpwcmV2ID0gTlVMTDsNCi0JCU1vdG9yU2FmZXR5SGVscGVyICpjdXIgPSBtX2hlYWRIZWxwZXI7DQotCQl3aGlsZSAoY3VyICE9IHRoaXMgJiYgY3VyICE9IE5VTEwpDQotCQkJcHJldiA9IGN1ciwgY3VyID0gY3VyLT5tX25leHRIZWxwZXI7DQotCQlpZiAoY3VyID09IHRoaXMpDQotCQkJcHJldi0+bV9uZXh0SGVscGVyID0gY3VyLT5tX25leHRIZWxwZXI7DQotCX0NCi19DQotDQotLyoNCi0gKiBGZWVkIHRoZSBtb3RvciBzYWZldHkgb2JqZWN0Lg0KLSAqIFJlc2V0cyB0aGUgdGltZXIgb24gdGhpcyBvYmplY3QgdGhhdCBpcyB1c2VkIHRvIGRvIHRoZSB0aW1lb3V0cy4NCi0gKi8NCi12b2lkIE1vdG9yU2FmZXR5SGVscGVyOjpGZWVkKCkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fc3luY011dGV4KTsNCi0JbV9zdG9wVGltZSA9IFRpbWVyOjpHZXRGUEdBVGltZXN0YW1wKCkgKyBtX2V4cGlyYXRpb247DQotfQ0KLQ0KLS8qDQotICogU2V0IHRoZSBleHBpcmF0aW9uIHRpbWUgZm9yIHRoZSBjb3JyZXNwb25kaW5nIG1vdG9yIHNhZmV0eSBvYmplY3QuDQotICogQHBhcmFtIGV4cGlyYXRpb25UaW1lIFRoZSB0aW1lb3V0IHZhbHVlIGluIHNlY29uZHMuDQotICovDQotdm9pZCBNb3RvclNhZmV0eUhlbHBlcjo6U2V0RXhwaXJhdGlvbihmbG9hdCBleHBpcmF0aW9uVGltZSkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fc3luY011dGV4KTsNCi0JbV9leHBpcmF0aW9uID0gZXhwaXJhdGlvblRpbWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHJpZXZlIHRoZSB0aW1lb3V0IHZhbHVlIGZvciB0aGUgY29ycmVzcG9uZGluZyBtb3RvciBzYWZldHkgb2JqZWN0Lg0KLSAqIEByZXR1cm5zIHRoZSB0aW1lb3V0IHZhbHVlIGluIHNlY29uZHMuDQotICovDQotZmxvYXQgTW90b3JTYWZldHlIZWxwZXI6OkdldEV4cGlyYXRpb24oKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9zeW5jTXV0ZXgpOw0KLQlyZXR1cm4gbV9leHBpcmF0aW9uOw0KLX0NCi0NCi0vKioNCi0gKiBEZXRlcm1pbmUgaWYgdGhlIG1vdG9yIGlzIHN0aWxsIG9wZXJhdGluZyBvciBoYXMgdGltZWQgb3V0Lg0KLSAqIEByZXR1cm5zIGEgdHJ1ZSB2YWx1ZSBpZiB0aGUgbW90b3IgaXMgc3RpbGwgb3BlcmF0aW5nIG5vcm1hbGx5IGFuZCBoYXNuJ3QgdGltZWQgb3V0Lg0KLSAqLw0KLWJvb2wgTW90b3JTYWZldHlIZWxwZXI6OklzQWxpdmUoKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9zeW5jTXV0ZXgpOw0KLQlyZXR1cm4gIW1fZW5hYmxlZCB8fCBtX3N0b3BUaW1lID4gVGltZXI6OkdldEZQR0FUaW1lc3RhbXAoKTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgaWYgdGhpcyBtb3RvciBoYXMgZXhjZWVkZWQgaXRzIHRpbWVvdXQuDQotICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHBlcmlvZGljYWxseSB0byBkZXRlcm1pbmUgaWYgdGhpcyBtb3RvciBoYXMgZXhjZWVkZWQgaXRzIHRpbWVvdXQNCi0gKiB2YWx1ZS4gSWYgaXQgaGFzLCB0aGUgc3RvcCBtZXRob2QgaXMgY2FsbGVkLCBhbmQgdGhlIG1vdG9yIGlzIHNodXQgZG93biB1bnRpbCBpdHMgdmFsdWUgaXMNCi0gKiB1cGRhdGVkIGFnYWluLg0KLSAqLw0KLXZvaWQgTW90b3JTYWZldHlIZWxwZXI6OkNoZWNrKCkNCi17DQotCWlmICghbV9lbmFibGVkKSByZXR1cm47DQotCWlmIChEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpLT5Jc0Rpc2FibGVkKCkpIHJldHVybjsNCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9zeW5jTXV0ZXgpOw0KLQlpZiAobV9zdG9wVGltZSA8IFRpbWVyOjpHZXRGUEdBVGltZXN0YW1wKCkpDQotCXsNCi0JCWNoYXIgYnVmWzEyOF07DQotCQljaGFyIGRlc2NbNjRdOw0KLQkJbV9zYWZlT2JqZWN0LT5HZXREZXNjcmlwdGlvbihkZXNjKTsNCi0JCXNucHJpbnRmKGJ1ZiwgMTI4LCAiJXMuLi4gT3V0cHV0IG5vdCB1cGRhdGVkIG9mdGVuIGVub3VnaC4iLCBkZXNjKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFRpbWVvdXQsIGJ1Zik7DQotCQltX3NhZmVPYmplY3QtPlN0b3BNb3RvcigpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEVuYWJsZS9kaXNhYmxlIG1vdG9yIHNhZmV0eSBmb3IgdGhpcyBkZXZpY2UNCi0gKiBUdXJuIG9uIGFuZCBvZmYgdGhlIG1vdG9yIHNhZmV0eSBvcHRpb24gZm9yIHRoaXMgUFdNIG9iamVjdC4NCi0gKiBAcGFyYW0gZW5hYmxlZCBUcnVlIGlmIG1vdG9yIHNhZmV0eSBpcyBlbmZvcmNlZCBmb3IgdGhpcyBvYmplY3QNCi0gKi8NCi12b2lkIE1vdG9yU2FmZXR5SGVscGVyOjpTZXRTYWZldHlFbmFibGVkKGJvb2wgZW5hYmxlZCkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fc3luY011dGV4KTsNCi0JbV9lbmFibGVkID0gZW5hYmxlZDsNCi19DQotDQotLyoqDQotICogUmV0dXJuIHRoZSBzdGF0ZSBvZiB0aGUgbW90b3Igc2FmZXR5IGVuYWJsZWQgZmxhZw0KLSAqIFJldHVybiBpZiB0aGUgbW90b3Igc2FmZXR5IGlzIGN1cnJlbnRseSBlbmFibGVkIGZvciB0aGlzIGRldmljY2UuDQotICogQHJldHVybnMgVHJ1ZSBpZiBtb3RvciBzYWZldHkgaXMgZW5mb3JjZWQgZm9yIHRoaXMgZGV2aWNlDQotICovDQotYm9vbCBNb3RvclNhZmV0eUhlbHBlcjo6SXNTYWZldHlFbmFibGVkKCkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fc3luY011dGV4KTsNCi0JcmV0dXJuIG1fZW5hYmxlZDsNCi19DQotDQotLyoqDQotICogQ2hlY2sgdGhlIG1vdG9ycyB0byBzZWUgaWYgYW55IGhhdmUgdGltZWQgb3V0Lg0KLSAqIFRoaXMgc3RhdGljICBtZXRob2QgaXMgY2FsbGVkIHBlcmlvZGljYWxseSB0byBwb2xsIGFsbCB0aGUgbW90b3JzIGFuZCBzdG9wIGFueSB0aGF0IGhhdmUNCi0gKiB0aW1lZCBvdXQuDQotICovDQotdm9pZCBNb3RvclNhZmV0eUhlbHBlcjo6Q2hlY2tNb3RvcnMoKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9saXN0TXV0ZXgpOw0KLQlmb3IgKE1vdG9yU2FmZXR5SGVscGVyICptc2ggPSBtX2hlYWRIZWxwZXI7IG1zaCAhPSBOVUxMOyBtc2ggPSBtc2gtPm1fbmV4dEhlbHBlcikNCi0Jew0KLQkJbXNoLT5DaGVjaygpOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Nb3RvclNhZmV0eUhlbHBlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWUxNWI2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19NT1RPUl9TQUZFVFlfSEVMUEVSX18NCi0jZGVmaW5lIF9fTU9UT1JfU0FGRVRZX0hFTFBFUl9fDQotDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0jaW5jbHVkZSA8c2VtTGliLmg+DQotDQotY2xhc3MgTW90b3JTYWZldHk7DQotDQotY2xhc3MgTW90b3JTYWZldHlIZWxwZXIgOiBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JTW90b3JTYWZldHlIZWxwZXIoTW90b3JTYWZldHkgKnNhZmVPYmplY3QpOw0KLQl+TW90b3JTYWZldHlIZWxwZXIoKTsNCi0Jdm9pZCBGZWVkKCk7DQotCXZvaWQgU2V0RXhwaXJhdGlvbihmbG9hdCBleHBpcmF0aW9uVGltZSk7DQotCWZsb2F0IEdldEV4cGlyYXRpb24oKTsNCi0JYm9vbCBJc0FsaXZlKCk7DQotCXZvaWQgQ2hlY2soKTsNCi0Jdm9pZCBTZXRTYWZldHlFbmFibGVkKGJvb2wgZW5hYmxlZCk7DQotCWJvb2wgSXNTYWZldHlFbmFibGVkKCk7DQotCXN0YXRpYyB2b2lkIENoZWNrTW90b3JzKCk7DQotcHJpdmF0ZToNCi0JZG91YmxlIG1fZXhwaXJhdGlvbjsJCQkvLyB0aGUgZXhwaXJhdGlvbiB0aW1lIGZvciB0aGlzIG9iamVjdA0KLQlib29sIG1fZW5hYmxlZDsJCQkJCS8vIHRydWUgaWYgbW90b3Igc2FmZXR5IGlzIGVuYWJsZWQgZm9yIHRoaXMgbW90b3INCi0JZG91YmxlIG1fc3RvcFRpbWU7IAkJCQkvLyB0aGUgRlBHQSBjbG9jayB2YWx1ZSB3aGVuIHRoaXMgbW90b3IgaGFzIGV4cGlyZWQNCi0JUmVlbnRyYW50U2VtYXBob3JlIG1fc3luY011dGV4OwkJCS8vIHByb3RlY3QgYWNjZXNzZXMgdG8gdGhlIHN0YXRlIGZvciB0aGlzIG9iamVjdA0KLQlNb3RvclNhZmV0eSAqbV9zYWZlT2JqZWN0OwkJLy8gdGhlIG9iamVjdCB0aGF0IGlzIHVzaW5nIHRoZSBoZWxwZXINCi0JTW90b3JTYWZldHlIZWxwZXIgKm1fbmV4dEhlbHBlcjsgLy8gbmV4dCBvYmplY3QgaW4gdGhlIGxpc3Qgb2YgTW90b3JTYWZldHlIZWxwZXJzDQotCXN0YXRpYyBNb3RvclNhZmV0eUhlbHBlciAqbV9oZWFkSGVscGVyOyAvLyB0aGUgaGVhZCBvZiB0aGUgbGlzdCBvZiBNb3RvclNhZmV0eUhlbHBlciBvYmplY3RzDQotCXN0YXRpYyBSZWVudHJhbnRTZW1hcGhvcmUgbV9saXN0TXV0ZXg7CS8vIHByb3RlY3QgYWNjZXNzZXMgdG8gdGhlIGxpc3Qgb2YgaGVscGVycw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vQUlDYWxpYnJhdGlvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vQUlDYWxpYnJhdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTIwOWMxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL0FJQ2FsaWJyYXRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLQ0KLSNpZm5kZWYgX19BSUNhbGlicmF0aW9uX2hfXw0KLSNkZWZpbmUgX19BSUNhbGlicmF0aW9uX2hfXw0KLQ0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotZXh0ZXJuICJDIg0KLXsNCi0jZW5kaWYNCi0NCi0JVUlOVDMyIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9uQUlDYWxpYnJhdGlvbl9nZXRMU0JXZWlnaHQoY29uc3QgVUlOVDMyIGFpU3lzdGVtSW5kZXgsIGNvbnN0IFVJTlQzMiBjaGFubmVsLCBJTlQzMiAqc3RhdHVzKTsNCi0JSU5UMzIgRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX25BSUNhbGlicmF0aW9uX2dldE9mZnNldChjb25zdCBVSU5UMzIgYWlTeXN0ZW1JbmRleCwgY29uc3QgVUlOVDMyIGNoYW5uZWwsIElOVDMyICpzdGF0dXMpOw0KLQ0KLSNpZmRlZiBfX2NwbHVzcGx1cw0KLX0NCi0jZW5kaWYNCi0NCi0jZW5kaWYgLy8gX19BSUNhbGlicmF0aW9uX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL0ZSQ0NvbW0uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL0ZSQ0NvbW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDRkMjg0YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9OZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiAJCQkJCU5PVElDRQ0KLSAqIA0KLSAqIAlUaGVzZSBhcmUgdGhlIG9ubHkgZXh0ZXJuYWxseSBleHBvc2VkIGZ1bmN0aW9ucyB0byB0aGUNCi0gKiAgIE5ldHdvcmtDb21tdW5pY2F0aW9uIGxpYnJhcnkNCi0gKiANCi0gKiBUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIEZSQyBTcGVjIGZvciBDb21tIFByb3RvY29sDQotICogUmV2aXNpb24gNC41LCBKdW5lIDMwLCAyMDA4DQotICoNCi0gKiBDb3B5cmlnaHQgKGMpIE5hdGlvbmFsIEluc3RydW1lbnRzIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLg0KLSAqIA0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQ0KLSNpZm5kZWYgX19GUkNfQ09NTV9IX18NCi0jZGVmaW5lIF9fRlJDX0NPTU1fSF9fDQotDQotI2lmZGVmIFNJTVVMQVRJT04NCi0jaW5jbHVkZSA8dnhXb3Jrc19jb21wYXQuaD4NCi0jZGVmaW5lIEVYUE9SVF9GVU5DIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSBfX2NkZWNsDQotI2Vsc2UNCi0jaW5jbHVkZSA8dnhXb3Jrcy5oPg0KLSNkZWZpbmUgRVhQT1JUX0ZVTkMNCi0jZW5kaWYNCi0NCi0vLyBDb21tYW5kZWVyIHNvbWUgYnl0ZXMgYXQgdGhlIGVuZCBmb3IgYWR2YW5jZWQgSS9PIGZlZWRiYWNrLg0KLSNkZWZpbmUgSU9fQ09ORklHX0RBVEFfU0laRSAzMg0KLSNkZWZpbmUgU1lTX1NUQVRVU19EQVRBX1NJWkUgNDQNCi0jZGVmaW5lIFVTRVJfU1RBVFVTX0RBVEFfU0laRSAoOTg0IC0gSU9fQ09ORklHX0RBVEFfU0laRSAtIFNZU19TVEFUVVNfREFUQV9TSVpFKQ0KLSNkZWZpbmUgVVNFUl9EU19MQ0RfREFUQV9TSVpFIDEyOA0KLQ0KLXN0cnVjdCBGUkNDb21tb25Db250cm9sRGF0YXsNCi0JVUlOVDE2IHBhY2tldEluZGV4Ow0KLQl1bmlvbiB7DQotCQlVSU5UOCBjb250cm9sOw0KLSNpZmRlZiBTSU1VTEFUSU9ODQotCQlzdHJ1Y3Qgew0KLQkJCVVJTlQ4IGNoZWNrVmVyc2lvbnMgOjE7DQotCQkJVUlOVDggdGVzdCA6MTsNCi0JCQlVSU5UOCByZXN5bmMgOiAxOw0KLQkJCVVJTlQ4IGZtc0F0dGFjaGVkOjE7DQotCQkJVUlOVDggYXV0b25vbW91cyA6IDE7DQotCQkJVUlOVDggZW5hYmxlZCA6IDE7DQotCQkJVUlOVDggbm90RVN0b3AgOiAxOw0KLQkJCVVJTlQ4IHJlc2V0IDogMTsNCi0JCX07DQotI2Vsc2UNCi0JCXN0cnVjdCB7DQotCQkJVUlOVDggcmVzZXQgOiAxOw0KLQkJCVVJTlQ4IG5vdEVTdG9wIDogMTsNCi0JCQlVSU5UOCBlbmFibGVkIDogMTsNCi0JCQlVSU5UOCBhdXRvbm9tb3VzIDogMTsNCi0JCQlVSU5UOCBmbXNBdHRhY2hlZDoxOw0KLQkJCVVJTlQ4IHJlc3luYyA6IDE7DQotCQkJVUlOVDggdGVzdCA6MTsNCi0JCQlVSU5UOCBjaGVja1ZlcnNpb25zIDoxOw0KLQkJfTsNCi0jZW5kaWYNCi0JfTsNCi0JVUlOVDggZHNEaWdpdGFsSW47DQotCVVJTlQxNiB0ZWFtSUQ7DQotDQotCWNoYXIgZHNJRF9BbGxpYW5jZTsNCi0JY2hhciBkc0lEX1Bvc2l0aW9uOw0KLQ0KLQl1bmlvbiB7DQotCQlJTlQ4IHN0aWNrMEF4ZXNbNl07DQotCQlzdHJ1Y3Qgew0KLQkJCUlOVDggc3RpY2swQXhpczE7DQotCQkJSU5UOCBzdGljazBBeGlzMjsNCi0JCQlJTlQ4IHN0aWNrMEF4aXMzOw0KLQkJCUlOVDggc3RpY2swQXhpczQ7DQotCQkJSU5UOCBzdGljazBBeGlzNTsNCi0JCQlJTlQ4IHN0aWNrMEF4aXM2Ow0KLQkJfTsNCi0JfTsNCi0JVUlOVDE2IHN0aWNrMEJ1dHRvbnM7CQkvLyBMZWZ0LW1vc3QgNCBiaXRzIGFyZSB1bnVzZWQNCi0NCi0JdW5pb24gew0KLQkJSU5UOCBzdGljazFBeGVzWzZdOw0KLQkJc3RydWN0IHsNCi0JCQlJTlQ4IHN0aWNrMUF4aXMxOw0KLQkJCUlOVDggc3RpY2sxQXhpczI7DQotCQkJSU5UOCBzdGljazFBeGlzMzsNCi0JCQlJTlQ4IHN0aWNrMUF4aXM0Ow0KLQkJCUlOVDggc3RpY2sxQXhpczU7DQotCQkJSU5UOCBzdGljazFBeGlzNjsNCi0JCX07DQotCX07DQotCVVJTlQxNiBzdGljazFCdXR0b25zOwkJLy8gTGVmdC1tb3N0IDQgYml0cyBhcmUgdW51c2VkDQotDQotCXVuaW9uIHsNCi0JCUlOVDggc3RpY2syQXhlc1s2XTsNCi0JCXN0cnVjdCB7DQotCQkJSU5UOCBzdGljazJBeGlzMTsNCi0JCQlJTlQ4IHN0aWNrMkF4aXMyOw0KLQkJCUlOVDggc3RpY2syQXhpczM7DQotCQkJSU5UOCBzdGljazJBeGlzNDsNCi0JCQlJTlQ4IHN0aWNrMkF4aXM1Ow0KLQkJCUlOVDggc3RpY2syQXhpczY7DQotCQl9Ow0KLQl9Ow0KLQlVSU5UMTYgc3RpY2syQnV0dG9uczsJCS8vIExlZnQtbW9zdCA0IGJpdHMgYXJlIHVudXNlZA0KLQ0KLQl1bmlvbiB7DQotCQlJTlQ4IHN0aWNrM0F4ZXNbNl07DQotCQlzdHJ1Y3Qgew0KLQkJCUlOVDggc3RpY2szQXhpczE7DQotCQkJSU5UOCBzdGljazNBeGlzMjsNCi0JCQlJTlQ4IHN0aWNrM0F4aXMzOw0KLQkJCUlOVDggc3RpY2szQXhpczQ7DQotCQkJSU5UOCBzdGljazNBeGlzNTsNCi0JCQlJTlQ4IHN0aWNrM0F4aXM2Ow0KLQkJfTsNCi0JfTsNCi0JVUlOVDE2IHN0aWNrM0J1dHRvbnM7CQkvLyBMZWZ0LW1vc3QgNCBiaXRzIGFyZSB1bnVzZWQNCi0NCi0JLy9BbmFsb2cgaW5wdXRzIGFyZSAxMCBiaXQgcmlnaHQtanVzdGlmaWVkDQotCVVJTlQxNiBhbmFsb2cxOw0KLQlVSU5UMTYgYW5hbG9nMjsNCi0JVUlOVDE2IGFuYWxvZzM7DQotCVVJTlQxNiBhbmFsb2c0Ow0KLQ0KLQlVSU5UNjQgY1JJT0NoZWNrc3VtOw0KLQlVSU5UMzIgRlBHQUNoZWNrc3VtMDsNCi0JVUlOVDMyIEZQR0FDaGVja3N1bTE7DQotCVVJTlQzMiBGUEdBQ2hlY2tzdW0yOw0KLQlVSU5UMzIgRlBHQUNoZWNrc3VtMzsNCi0NCi0JY2hhciB2ZXJzaW9uRGF0YVs4XTsNCi19Ow0KLQ0KLSNkZWZpbmUga0ZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9EeW5hbWljVHlwZV9EU0VuaGFuY2VkSU9fSW5wdXQgMTcNCi0jZGVmaW5lIGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfRFNFbmhhbmNlZElPX091dHB1dCAxOA0KLSNkZWZpbmUga0ZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9EeW5hbWljVHlwZV9LaW5lY3RfSGVhZGVyIDE5DQotI2RlZmluZSBrRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0R5bmFtaWNUeXBlX0tpbmVjdF9FeHRyYTEgMjANCi0jZGVmaW5lIGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfS2luZWN0X1ZlcnRpY2VzMSAyMQ0KLSNkZWZpbmUga0ZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9EeW5hbWljVHlwZV9LaW5lY3RfRXh0cmEyIDIyDQotI2RlZmluZSBrRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0R5bmFtaWNUeXBlX0tpbmVjdF9WZXJ0aWNlczIgMjMNCi0jZGVmaW5lIGtGUkNfTmV0d29ya0NvbW11bmljYXRpb25fRHluYW1pY1R5cGVfS2luZWN0X0pveXN0aWNrIDI0DQotI2RlZmluZSBrRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX0R5bmFtaWNUeXBlX0tpbmVjdF9DdXN0b20gMjUNCi0NCi1leHRlcm4gIkMiIHsNCi0jaWZuZGVmIFNJTVVMQVRJT04NCi0Jdm9pZCBFWFBPUlRfRlVOQyBnZXRGUEdBSGFyZHdhcmVWZXJzaW9uKFVJTlQxNiAqZnBnYVZlcnNpb24sIFVJTlQzMiAqZnBnYVJldmlzaW9uKTsNCi0jZW5kaWYNCi0JaW50IEVYUE9SVF9GVU5DIGdldENvbW1vbkNvbnRyb2xEYXRhKEZSQ0NvbW1vbkNvbnRyb2xEYXRhICpkYXRhLCBpbnQgd2FpdF9tcyk7DQotCWludCBFWFBPUlRfRlVOQyBnZXRSZWNlbnRDb21tb25Db250cm9sRGF0YShGUkNDb21tb25Db250cm9sRGF0YSAqY29tbW9uRGF0YSwgaW50IHdhaXRfbXMpOw0KLQlpbnQgRVhQT1JUX0ZVTkMgZ2V0UmVjZW50U3RhdHVzRGF0YShVSU5UOCAqYmF0dGVyeUludCwgVUlOVDggKmJhdHRlcnlEZWMsIFVJTlQ4ICpkc0RpZ2l0YWxPdXQsIGludCB3YWl0X21zKTsNCi0JaW50IEVYUE9SVF9GVU5DIGdldER5bmFtaWNDb250cm9sRGF0YShVSU5UOCB0eXBlLCBjaGFyICpkeW5hbWljRGF0YSwgSU5UMzIgbWF4TGVuZ3RoLCBpbnQgd2FpdF9tcyk7DQotCWludCBFWFBPUlRfRlVOQyBzZXRTdGF0dXNEYXRhKGZsb2F0IGJhdHRlcnksIFVJTlQ4IGRzRGlnaXRhbE91dCwgVUlOVDggdXBkYXRlTnVtYmVyLA0KLQkJCWNvbnN0IGNoYXIgKnVzZXJEYXRhSGlnaCwgaW50IHVzZXJEYXRhSGlnaExlbmd0aCwNCi0JCQljb25zdCBjaGFyICp1c2VyRGF0YUxvdywgaW50IHVzZXJEYXRhTG93TGVuZ3RoLCBpbnQgd2FpdF9tcyk7DQotCWludCBFWFBPUlRfRlVOQyBzZXRTdGF0dXNEYXRhRmxvYXRBc0ludChpbnQgYmF0dGVyeSwgVUlOVDggZHNEaWdpdGFsT3V0LCBVSU5UOCB1cGRhdGVOdW1iZXIsDQotCQkJY29uc3QgY2hhciAqdXNlckRhdGFIaWdoLCBpbnQgdXNlckRhdGFIaWdoTGVuZ3RoLA0KLQkJCWNvbnN0IGNoYXIgKnVzZXJEYXRhTG93LCBpbnQgdXNlckRhdGFMb3dMZW5ndGgsIGludCB3YWl0X21zKTsNCi0JaW50IEVYUE9SVF9GVU5DIHNldEVycm9yRGF0YShjb25zdCBjaGFyICplcnJvcnMsIGludCBlcnJvcnNMZW5ndGgsIGludCB3YWl0X21zKTsNCi0JaW50IEVYUE9SVF9GVU5DIHNldFVzZXJEc0xjZERhdGEoY29uc3QgY2hhciAqdXNlckRzTGNkRGF0YSwgaW50IHVzZXJEc0xjZERhdGFMZW5ndGgsIGludCB3YWl0X21zKTsNCi0JaW50IEVYUE9SVF9GVU5DIG92ZXJyaWRlSU9Db25maWcoY29uc3QgY2hhciAqaW9Db25maWcsIGludCB3YWl0X21zKTsNCi0NCi0Jdm9pZCBFWFBPUlRfRlVOQyBzZXROZXdEYXRhU2VtKFNFTV9JRCk7DQotI2lmbmRlZiBTSU1VTEFUSU9ODQotCXZvaWQgRVhQT1JUX0ZVTkMgc2V0UmVzeW5jU2VtKFNFTV9JRCk7DQotCXZvaWQgRVhQT1JUX0ZVTkMgc2lnbmFsUmVzeW5jQWN0aW9uRG9uZSh2b2lkKTsNCi0jZW5kaWYNCi0NCi0JLy8gdGhpcyBVSU5UMzIgaXMgcmVhbGx5IGEgTFZSZWZOdW0NCi0Jdm9pZCBFWFBPUlRfRlVOQyBzZXROZXdEYXRhT2NjdXJSZWYoVUlOVDMyIHJlZm51bSk7DQotI2lmbmRlZiBTSU1VTEFUSU9ODQotCXZvaWQgRVhQT1JUX0ZVTkMgc2V0UmVzeW5jT2NjdXJSZWYoVUlOVDMyIHJlZm51bSk7DQotI2VuZGlmDQotDQotCXZvaWQgRVhQT1JUX0ZVTkMgRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX2dldFZlcnNpb25TdHJpbmcoY2hhciAqdmVyc2lvbik7DQotCXZvaWQgRVhQT1JUX0ZVTkMgRlJDX05ldHdvcmtDb21tdW5pY2F0aW9uX29ic2VydmVVc2VyUHJvZ3JhbVN0YXJ0aW5nKHZvaWQpOw0KLQl2b2lkIEVYUE9SVF9GVU5DIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1EaXNhYmxlZCh2b2lkKTsNCi0Jdm9pZCBFWFBPUlRfRlVOQyBGUkNfTmV0d29ya0NvbW11bmljYXRpb25fb2JzZXJ2ZVVzZXJQcm9ncmFtQXV0b25vbW91cyh2b2lkKTsNCi0Jdm9pZCBFWFBPUlRfRlVOQyBGUkNfTmV0d29ya0NvbW11bmljYXRpb25fb2JzZXJ2ZVVzZXJQcm9ncmFtVGVsZW9wKHZvaWQpOw0KLQl2b2lkIEVYUE9SVF9GVU5DIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1UZXN0KHZvaWQpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vTG9hZE91dC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vTG9hZE91dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzNkZWU1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL0xvYWRPdXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLQ0KLSNpZm5kZWYgX19Mb2FkT3V0X2hfXw0KLSNkZWZpbmUgX19Mb2FkT3V0X2hfXw0KLQ0KLSNkZWZpbmUga01heE1vZHVsZU51bWJlciAyDQotbmFtZXNwYWNlIG5Mb2FkT3V0DQotew0KLSAgICB0eXBlZGVmIGVudW0gew0KLSAgICAgICAga01vZHVsZVR5cGVfVW5rbm93biA9IDB4MDAsDQotICAgICAgICBrTW9kdWxlVHlwZV9BbmFsb2cgPSAweDAxLA0KLSAgICAgICAga01vZHVsZVR5cGVfRGlnaXRhbCA9IDB4MDIsDQotICAgICAgICBrTW9kdWxlVHlwZV9Tb2xlbm9pZCA9IDB4MDMsDQotICAgIH0gdE1vZHVsZVR5cGU7DQotICAgIGJvb2wgZ2V0TW9kdWxlUHJlc2VuY2UodE1vZHVsZVR5cGUgbW9kdWxlVHlwZSwgVUlOVDggbW9kdWxlTnVtYmVyKTsNCi0gICAgdHlwZWRlZiBlbnVtIHsNCi0gICAgICAgIGtUYXJnZXRDbGFzc19Vbmtub3duID0gMHgwMCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19GUkMxID0gMHgxMCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19GUkMyID0gMHgyMCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19GUkMyX0FuYWxvZyA9IGtUYXJnZXRDbGFzc19GUkMyIHwga01vZHVsZVR5cGVfQW5hbG9nLA0KLSAgICAgICAga1RhcmdldENsYXNzX0ZSQzJfRGlnaXRhbCA9IGtUYXJnZXRDbGFzc19GUkMyIHwga01vZHVsZVR5cGVfRGlnaXRhbCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19GUkMyX1NvbGVub2lkID0ga1RhcmdldENsYXNzX0ZSQzIgfCBrTW9kdWxlVHlwZV9Tb2xlbm9pZCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19GYW1pbHlNYXNrID0gMHhGMCwNCi0gICAgICAgIGtUYXJnZXRDbGFzc19Nb2R1bGVNYXNrID0gMHgwRiwNCi0gICAgfSB0VGFyZ2V0Q2xhc3M7DQotICAgIHRUYXJnZXRDbGFzcyBnZXRUYXJnZXRDbGFzcygpOw0KLX0NCi0NCi0jaWZkZWYgX19jcGx1c3BsdXMNCi1leHRlcm4gIkMiIHsNCi0jZW5kaWYNCi0NCi0gICAgVUlOVDMyIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9uTG9hZE91dF9nZXRNb2R1bGVQcmVzZW5jZShVSU5UMzIgbW9kdWxlVHlwZSwgVUlOVDggbW9kdWxlTnVtYmVyKTsNCi0gICAgVUlOVDMyIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9uTG9hZE91dF9nZXRUYXJnZXRDbGFzcygpOw0KLQ0KLSNpZmRlZiBfX2NwbHVzcGx1cw0KLX0NCi0jZW5kaWYNCi0NCi0jZW5kaWYgLy8gX19Mb2FkT3V0X2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL01ha2VmaWxlIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMDVjOTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMTg0ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotVFJBQ0U9MA0KLVRSQUNFT049JChUUkFDRTowPUApDQotVFJBQ0VfRkxBRz0kKFRSQUNFT046MT0pDQotDQotTUFLRUZJTEUgOj0gTWFrZWZpbGUNCi0NCi1CVUlMRF9TUEVDID0gUFBDNjAzZ251DQotREVCVUdfTU9ERSA9IDENCi1TUkNfRElSIDo9IC4NCi1CVUlMRF9ST09UX0RJUiA6PSANCi1QUkpfUk9PVF9ESVIgOj0gQzovd2luZHJpdmVyL3dvcmtzcGFjZS9XUElMaWINCi1XU19ST09UX0RJUiA6PSBDOi93aW5kcml2ZXIvd29ya3NwYWNlDQotDQotQUxMX0JVSUxEX1NQRUNTIDo9IFBQQzMyZGlhYiBQUEMzMmdudSBQUEMzMnNmZGlhYiBQUEMzMnNmZ251IFwNCi0JIFBQQzQwM2RpYWIgUFBDNDAzZ251IFBQQzQwNWRpYWIgUFBDNDA1Z251IFwNCi0JIFBQQzQwNXNmZGlhYiBQUEM0MDVzZmdudSBQUEM0NDBkaWFiIFBQQzQ0MGdudSBcDQotCSBQUEM0NDBzZmRpYWIgUFBDNDQwc2ZnbnUgUFBDNjAzZGlhYiBQUEM2MDNnbnUgXA0KLQkgUFBDNjA0ZGlhYiBQUEM2MDRnbnUgUFBDODVYWGRpYWIgUFBDODVYWGdudSBcDQotCSBQUEM4NVhYc2ZkaWFiIFBQQzg1WFhzZmdudSBQUEM4NjBzZmRpYWIgUFBDODYwc2ZnbnUgXA0KLQkgU0lNTElOVVhkaWFiIFNJTUxJTlVYZ251IFNJTU5UZGlhYiBTSU1OVGdudSBcDQotCSBTSU1TUEFSQ1NPTEFSSVNkaWFiIFNJTVNQQVJDU09MQVJJU2dudQ0KLUVOQUJMRURfQlVJTERfU1BFQ1MgOj0gUFBDNjAzZ251DQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwM2RpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjA0ZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1OVGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNU1BBUkNTT0xBUklTZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnUNCi1lbmRpZg0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLQ0KLVBST0pFQ1RfVFlQRSA9IERLTQ0KLURFRklORVMgPSANCi1FWFBBTkRfREJHID0gMA0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1zb2Z0LWZsb2F0IC1tc3RyaWN0LWFsaWduDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwM0ZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDAzIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDVGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwNUZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDQwRkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0NDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwM0ZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwNEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjA0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT04NTQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCAtbWFiaT1uby1zcGUNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzg2MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NjANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg2MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10WDg2TEg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXR1bmU9aTQ4NiAtbWFyY2g9aTQ4Ng0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10U1BBUkNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbXNvDQotQ1BVID0gU0lNU1BBUkNTT0xBUklTDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotDQotDQotDQotDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0ZjUxZTkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi0NCi0jaWZuZGVmIF9fVXNhZ2VSZXBvcnRpbmdfaF9fDQotI2RlZmluZSBfX1VzYWdlUmVwb3J0aW5nX2hfXw0KLQ0KLSNpZmRlZiBTSU1VTEFUSU9ODQotI2luY2x1ZGUgPHZ4V29ya3NfY29tcGF0Lmg+DQotI2RlZmluZSBFWFBPUlRfRlVOQyBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgX19jZGVjbA0KLSNlbHNlDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0jZGVmaW5lIEVYUE9SVF9GVU5DDQotI2VuZGlmDQotDQotI2RlZmluZSBrVXNhZ2VSZXBvcnRpbmdfdmVyc2lvbiAxDQotDQotbmFtZXNwYWNlIG5Vc2FnZVJlcG9ydGluZw0KLXsNCi0gICAgdHlwZWRlZiBlbnVtDQotICAgIHsNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfQ29udHJvbGxlciwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfTW9kdWxlLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9MYW5ndWFnZSwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfQ0FOUGx1Z2luLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BY2NlbGVyb21ldGVyLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BRFhMMzQ1LA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BbmFsb2dDaGFubmVsLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BbmFsb2dUcmlnZ2VyLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BbmFsb2dUcmlnZ2VyT3V0cHV0LA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9DQU5KYWd1YXIsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0NvbXByZXNzb3IsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0NvdW50ZXIsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0Rhc2hib2FyZCwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfRGlnaXRhbElucHV0LA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9EaWdpdGFsT3V0cHV0LA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uQ0lPLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uRUlPLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9Ecml2ZXJTdGF0aW9uTENELA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9FbmNvZGVyLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9HZWFyVG9vdGgsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0d5cm8sDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0kyQywNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfRnJhbWV3b3JrLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9KYWd1YXIsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0pveXN0aWNrLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9LaW5lY3QsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0tpbmVjdFN0aWNrLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9QSURDb250cm9sbGVyLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9QcmVmZXJlbmNlcywNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfUFdNLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9SZWxheSwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfUm9ib3REcml2ZSwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfU2VyaWFsUG9ydCwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfU2Vydm8sDQotICAgICAgICBrUmVzb3VyY2VUeXBlX1NvbGVub2lkLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9TUEksDQotICAgICAgICBrUmVzb3VyY2VUeXBlX1Rhc2ssDQotICAgICAgICBrUmVzb3VyY2VUeXBlX1VsdHJhc29uaWMsDQotICAgICAgICBrUmVzb3VyY2VUeXBlX1ZpY3RvciwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfQnV0dG9uLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9Db21tYW5kLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9BeGlzQ2FtZXJhLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9QQ1ZpZGVvU2VydmVyLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9TbWFydERhc2hib2FyZCwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfVGFsb24sDQotICAgICAgICBrUmVzb3VyY2VUeXBlX0hpVGVjaG5pY0NvbG9yU2Vuc29yLA0KLSAgICAgICAga1Jlc291cmNlVHlwZV9IaVRlY2huaWNBY2NlbCwNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfSGlUZWNobmljQ29tcGFzcywNCi0gICAgICAgIGtSZXNvdXJjZVR5cGVfU1JGMDgsDQotICAgIH0gdFJlc291cmNlVHlwZTsNCi0NCi0gICAgdHlwZWRlZiBlbnVtDQotICAgIHsNCi0gICAgICAgIGtMYW5ndWFnZV9MYWJWSUVXID0gMSwNCi0gICAgICAgIGtMYW5ndWFnZV9DUGx1c1BsdXMgPSAyLA0KLSAgICAgICAga0xhbmd1YWdlX0phdmEgPSAzLA0KLSAgICAgICAga0xhbmd1YWdlX1B5dGhvbiA9IDQsDQotDQotICAgICAgICBrQ0FOUGx1Z2luX0JsYWNrSmFnQnJpZGdlID0gMSwNCi0gICAgICAgIGtDQU5QbHVnaW5fMkNBTiA9IDIsDQotDQotICAgICAgICBrRnJhbWV3b3JrX0l0ZXJhdGl2ZSA9IDEsDQotICAgICAgICBrRnJhbWV3b3JrX1NpbXBsZSA9IDIsDQotDQotICAgICAgICBrUm9ib3REcml2ZV9BcmNhZGVTdGFuZGFyZCA9IDEsDQotICAgICAgICBrUm9ib3REcml2ZV9BcmNhZGVCdXR0b25TcGluID0gMiwNCi0gICAgICAgIGtSb2JvdERyaXZlX0FyY2FkZVJhdGlvQ3VydmUgPSAzLA0KLSAgICAgICAga1JvYm90RHJpdmVfVGFuayA9IDQsDQotICAgICAgICBrUm9ib3REcml2ZV9NZWNhbnVtUG9sYXIgPSA1LA0KLSAgICAgICAga1JvYm90RHJpdmVfTWVjYW51bUNhcnRlc2lhbiA9IDYsDQotDQotICAgICAgICBrRHJpdmVyU3RhdGlvbkNJT19BbmFsb2cgPSAxLA0KLSAgICAgICAga0RyaXZlclN0YXRpb25DSU9fRGlnaXRhbEluID0gMiwNCi0gICAgICAgIGtEcml2ZXJTdGF0aW9uQ0lPX0RpZ2l0YWxPdXQgPSAzLA0KLQ0KLSAgICAgICAga0RyaXZlclN0YXRpb25FSU9fQWNjZWxlcmF0aW9uID0gMSwNCi0gICAgICAgIGtEcml2ZXJTdGF0aW9uRUlPX0FuYWxvZ0luID0gMiwNCi0gICAgICAgIGtEcml2ZXJTdGF0aW9uRUlPX0FuYWxvZ091dCA9IDMsDQotICAgICAgICBrRHJpdmVyU3RhdGlvbkVJT19CdXR0b24gPSA0LA0KLSAgICAgICAga0RyaXZlclN0YXRpb25FSU9fTEVEID0gNSwNCi0gICAgICAgIGtEcml2ZXJTdGF0aW9uRUlPX0RpZ2l0YWxJbiA9IDYsDQotICAgICAgICBrRHJpdmVyU3RhdGlvbkVJT19EaWdpdGFsT3V0ID0gNywNCi0gICAgICAgIGtEcml2ZXJTdGF0aW9uRUlPX0ZpeGVkRGlnaXRhbE91dCA9IDgsDQotICAgICAgICBrRHJpdmVyU3RhdGlvbkVJT19QV00gPSA5LA0KLSAgICAgICAga0RyaXZlclN0YXRpb25FSU9fRW5jb2RlciA9IDEwLA0KLSAgICAgICAga0RyaXZlclN0YXRpb25FSU9fVG91Y2hTbGlkZXIgPSAxMSwNCi0NCi0gICAgICAgIGtBRFhMMzQ1X1NQSSA9IDEsDQotICAgICAgICBrQURYTDM0NV9JMkMgPSAyLA0KLQ0KLSAgICAgICAga0NvbW1hbmRfU2NoZWR1bGVyID0gMSwNCi0NCi0gICAgICAgIGtTbWFydERhc2hib2FyZF9JbnN0YW5jZSA9IDEsDQotICAgIH0gdEluc3RhbmNlczsNCi0NCi0gICAgLyoqDQotICAgICAqIFJlcG9ydCB0aGUgdXNhZ2Ugb2YgYSByZXNvdXJjZSBvZiBpbnRlcmVzdC4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSByZXNvdXJjZSBvbmUgb2YgdGhlIHZhbHVlcyBpbiB0aGUgdFJlc291cmNlVHlwZSBhYm92ZSAobWF4IHZhbHVlIDUxKS4NCi0gICAgICogQHBhcmFtIGluc3RhbmNlTnVtYmVyIGFuIGluZGV4IHRoYXQgaWRlbnRpZmllcyB0aGUgcmVzb3VyY2UgaW5zdGFuY2UuDQotICAgICAqIEBwYXJhbSBjb250ZXh0IGFuIG9wdGlvbmFsIGFkZGl0aW9uYWwgY29udGV4dCBudW1iZXIgZm9yIHNvbWUgY2FzZXMgKHN1Y2ggYXMgbW9kdWxlIG51bWJlcikuICBTZXQgdG8gMCB0byBvbWl0Lg0KLSAgICAgKiBAcGFyYW0gZmVhdHVyZSBhIHN0cmluZyB0byBiZSBpbmNsdWRlZCBkZXNjcmliaW5nIGZlYXR1cmVzIGluIHVzZSBvbiBhIHNwZWNpZmljIHJlc291cmNlLiAgU2V0dGluZyB0aGUgc2FtZSByZXNvdXJjZSBtb3JlIHRoYW4gb25jZSBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgZmVhdHVyZSBzdHJpbmcuDQotICAgICAqLw0KLSAgICBVSU5UMzIgRVhQT1JUX0ZVTkMgcmVwb3J0KHRSZXNvdXJjZVR5cGUgcmVzb3VyY2UsIFVJTlQ4IGluc3RhbmNlTnVtYmVyLCBVSU5UOCBjb250ZXh0ID0gMCwgY29uc3QgY2hhciAqZmVhdHVyZSA9IE5VTEwpOw0KLX0NCi0NCi0jaWZkZWYgX19jcGx1c3BsdXMNCi1leHRlcm4gIkMiIHsNCi0jZW5kaWYNCi0NCi0gICAgVUlOVDMyIEVYUE9SVF9GVU5DIEZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9uVXNhZ2VSZXBvcnRpbmdfcmVwb3J0KFVJTlQ4IHJlc291cmNlLCBVSU5UOCBpbnN0YW5jZU51bWJlciwgVUlOVDggY29udGV4dCwgY29uc3QgY2hhciAqZmVhdHVyZSk7DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotfQ0KLSNlbmRpZg0KLQ0KLSNlbmRpZiAvLyBfX1VzYWdlUmVwb3J0aW5nX2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL3N5bU1vZHVsZUxpbmsuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05ldHdvcmtDb21tdW5pY2F0aW9uL3N5bU1vZHVsZUxpbmsuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFhNjIyMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9OZXR3b3JrQ29tbXVuaWNhdGlvbi9zeW1Nb2R1bGVMaW5rLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0jaWZuZGVmIF9fU1lNX01PRFVMRV9MSU5LX0hfXw0KLSNkZWZpbmUgX19TWU1fTU9EVUxFX0xJTktfSF9fDQotDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0jaWZkZWYgX19jcGx1c3BsdXMNCi1leHRlcm4gIkMiIHsNCi0jZW5kaWYNCi0NCi1leHRlcm4gU1RBVFVTICAgIG1vZHVsZU5hbWVGaW5kQnlTeW1ib2xOYW1lDQotICAgICgNCi0gICAgICAgIGNvbnN0IGNoYXIgKiAgICBzeW1ib2wsICAgICAgICAvKiBzeW1ib2wgbmFtZSB0byBsb29rIGZvciAqLw0KLSAgICAgICAgY2hhciAqIG1vZHVsZSAgICAgICAgLyogd2hlcmUgdG8gcmV0dXJuIG1vZHVsZSBuYW1lICovDQotICAgICk7DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotfQ0KLSNlbmRpZg0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05vdGlmaWVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL05vdGlmaWVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA0OWY1Zi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ob3RpZmllci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNzMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiTm90aWZpZXIuaCINCi0jaW5jbHVkZSAiVGltZXIuaCINCi0jaW5jbHVkZSAiVXRpbGl0eS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi1jb25zdCBVSU5UMzIgTm90aWZpZXI6OmtUaW1lckludGVycnVwdE51bWJlcjsNCi1Ob3RpZmllciAqTm90aWZpZXI6OnRpbWVyUXVldWVIZWFkID0gTlVMTDsNCi1SZWVudHJhbnRTZW1hcGhvcmUgTm90aWZpZXI6OnF1ZXVlU2VtYXBob3JlOw0KLXRBbGFybSAqTm90aWZpZXI6OnRhbGFybSA9IE5VTEw7DQotdEludGVycnVwdE1hbmFnZXIgKk5vdGlmaWVyOjptYW5hZ2VyID0gTlVMTDsNCi1pbnQgTm90aWZpZXI6OnJlZmNvdW50ID0gMDsNCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBOb3RpZmllciBmb3IgdGltZXIgZXZlbnQgbm90aWZpY2F0aW9uLg0KLSAqIEBwYXJhbSBoYW5kbGVyIFRoZSBoYW5kbGVyIGlzIGNhbGxlZCBhdCB0aGUgbm90aWZpY2F0aW9uIHRpbWUgd2hpY2ggaXMgc2V0DQotICogdXNpbmcgU3RhcnRTaW5nbGUgb3IgU3RhcnRQZXJpb2RpYy4NCi0gKi8NCi1Ob3RpZmllcjo6Tm90aWZpZXIoVGltZXJFdmVudEhhbmRsZXIgaGFuZGxlciwgdm9pZCAqcGFyYW0pDQotew0KLQlpZiAoaGFuZGxlciA9PSBOVUxMKQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImhhbmRsZXIgbXVzdCBub3QgYmUgTlVMTCIpOw0KLQltX2hhbmRsZXIgPSBoYW5kbGVyOw0KLQltX3BhcmFtID0gcGFyYW07DQotCW1fcGVyaW9kaWMgPSBmYWxzZTsNCi0JbV9leHBpcmF0aW9uVGltZSA9IDA7DQotCW1fcGVyaW9kID0gMDsNCi0JbV9uZXh0RXZlbnQgPSBOVUxMOw0KLQltX3F1ZXVlZCA9IGZhbHNlOw0KLQltX2hhbmRsZXJTZW1hcGhvcmUgPSBzZW1CQ3JlYXRlKFNFTV9RX1BSSU9SSVRZLCBTRU1fRlVMTCk7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhxdWV1ZVNlbWFwaG9yZSk7DQotCQkvLyBkbyB0aGUgZmlyc3QgdGltZSBpbnRpYWxpemF0aW9uIG9mIHN0YXRpYyB2YXJpYWJsZXMNCi0JCWlmIChyZWZjb3VudCA9PSAwKQ0KLQkJew0KLQkJCW1hbmFnZXIgPSBuZXcgdEludGVycnVwdE1hbmFnZXIoMSA8PCBrVGltZXJJbnRlcnJ1cHROdW1iZXIsIGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQkJCW1hbmFnZXItPnJlZ2lzdGVySGFuZGxlcihQcm9jZXNzUXVldWUsIE5VTEwsICZsb2NhbFN0YXR1cyk7DQotCQkJbWFuYWdlci0+ZW5hYmxlKCZsb2NhbFN0YXR1cyk7DQotCQkJdGFsYXJtID0gdEFsYXJtOjpjcmVhdGUoJmxvY2FsU3RhdHVzKTsNCi0JCX0NCi0JCXJlZmNvdW50Kys7DQotCX0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2VzIGZvciBhIHRpbWVyIGV2ZW50Lg0KLSAqIEFsbCByZXNvdXJjZXMgd2lsbCBiZSBmcmVlZCBhbmQgdGhlIHRpbWVyIGV2ZW50IHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZQ0KLSAqIHF1ZXVlIGlmIG5lY2Vzc2FyeS4NCi0gKi8NCi1Ob3RpZmllcjo6fk5vdGlmaWVyKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhxdWV1ZVNlbWFwaG9yZSk7DQotCQlEZWxldGVGcm9tUXVldWUoKTsNCi0NCi0JCS8vIERlbGV0ZSB0aGUgc3RhdGljIHZhcmlhYmxlcyB3aGVuIHRoZSBsYXN0IG9uZSBpcyBnb2luZyBhd2F5DQotCQlpZiAoISgtLXJlZmNvdW50KSkNCi0JCXsNCi0JCQl0YWxhcm0tPndyaXRlRW5hYmxlKGZhbHNlLCAmbG9jYWxTdGF0dXMpOw0KLQkJCWRlbGV0ZSB0YWxhcm07DQotCQkJdGFsYXJtID0gTlVMTDsNCi0JCQltYW5hZ2VyLT5kaXNhYmxlKCZsb2NhbFN0YXR1cyk7DQotCQkJZGVsZXRlIG1hbmFnZXI7DQotCQkJbWFuYWdlciA9IE5VTEw7DQotCQl9DQotCX0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JLy8gQWNxdWlyZSB0aGUgc2VtYXBob3JlOyB0aGlzIG1ha2VzIGNlcnRhaW4gdGhhdCB0aGUgaGFuZGxlciBpcyANCi0JLy8gbm90IGJlaW5nIGV4ZWN1dGVkIGJ5IHRoZSBpbnRlcnJ1cHQgbWFuYWdlci4NCi0Jc2VtVGFrZShtX2hhbmRsZXJTZW1hcGhvcmUsIFdBSVRfRk9SRVZFUik7DQotCS8vIERlbGV0ZSB3aGlsZSBob2xkaW5nIHRoZSBzZW1hcGhvcmUgc28gdGhlcmUgY2FuIGJlIG5vIHJhY2UuDQotCXNlbURlbGV0ZShtX2hhbmRsZXJTZW1hcGhvcmUpOw0KLX0NCi0NCi0vKioNCi0gKiBVcGRhdGUgdGhlIGFsYXJtIGhhcmR3YXJlIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgZmlyc3QgZWxlbWVudCBpbiB0aGUgcXVldWUuDQotICogQ29tcHV0ZSB0aGUgdGltZSB0aGUgbmV4dCBhbGFybSBzaG91bGQgb2NjdXIgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZSBhbmQgdGhlDQotICogcGVyaW9kIGZvciB0aGUgZmlyc3QgZWxlbWVudCBpbiB0aGUgdGltZXIgcXVldWUuDQotICogV0FSTklORzogdGhpcyBtZXRob2QgZG9lcyBub3QgZG8gc3luY2hyb25pemF0aW9uISBJdCBtdXN0IGJlIGNhbGxlZCBmcm9tIHNvbWV3aGVyZQ0KLSAqIHRoYXQgaXMgdGFraW5nIGNhcmUgb2Ygc3luY2hyb25pemluZyBhY2Nlc3MgdG8gdGhlIHF1ZXVlLg0KLSAqLw0KLXZvaWQgTm90aWZpZXI6OlVwZGF0ZUFsYXJtKCkNCi17DQotCWlmICh0aW1lclF1ZXVlSGVhZCAhPSBOVUxMKQ0KLQl7DQotCQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JCS8vIHdyaXRlIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBxdWV1ZSBpbnRvIHRoZSB0cmlnZ2VyIHRpbWUNCi0JCXRhbGFybS0+d3JpdGVUcmlnZ2VyVGltZSgoVUlOVDMyKSh0aW1lclF1ZXVlSGVhZC0+bV9leHBpcmF0aW9uVGltZSAqIDFlNiksICZsb2NhbFN0YXR1cyk7DQotCQkvLyBFbmFibGUgdGhlIGFsYXJtLiAgVGhlIGhhcmR3YXJlIGRpc2FibGVzIGl0c2VsZiBhZnRlciBlYWNoIGFsYXJtLg0KLQkJdGFsYXJtLT53cml0ZUVuYWJsZSh0cnVlLCAmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldFN0YXRpY0Vycm9yKHRpbWVyUXVldWVIZWFkLCBsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLyoqDQotICogUHJvY2Vzc1F1ZXVlIGlzIGNhbGxlZCB3aGVuZXZlciB0aGVyZSBpcyBhIHRpbWVyIGludGVycnVwdC4NCi0gKiBXZSBuZWVkIHRvIHdha2UgdXAgYW5kIHByb2Nlc3MgdGhlIGN1cnJlbnQgdG9wIGl0ZW0gaW4gdGhlIHRpbWVyIHF1ZXVlIGFzIGxvbmcNCi0gKiBhcyBpdHMgc2NoZWR1bGVkIHRpbWUgaXMgYWZ0ZXIgdGhlIGN1cnJlbnQgdGltZS4gVGhlbiB0aGUgaXRlbSBpcyByZW1vdmVkIG9yIA0KLSAqIHJlc2NoZWR1bGVkIChyZXBldGl0aXZlIGV2ZW50cykgaW4gdGhlIHF1ZXVlLg0KLSAqLw0KLXZvaWQgTm90aWZpZXI6OlByb2Nlc3NRdWV1ZSh1aW50MzJfdCBtYXNrLCB2b2lkICpwYXJhbXMpDQotew0KLQlOb3RpZmllciAqY3VycmVudDsNCi0Jd2hpbGUgKHRydWUpCQkJCS8vIGtlZXAgcHJvY2Vzc2luZyBwYXN0IGV2ZW50cyB1bnRpbCBubyBtb3JlDQotCXsNCi0JCXsNCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhxdWV1ZVNlbWFwaG9yZSk7DQotCQkJZG91YmxlIGN1cnJlbnRUaW1lID0gR2V0Q2xvY2soKTsNCi0JCQljdXJyZW50ID0gdGltZXJRdWV1ZUhlYWQ7DQotCQkJaWYgKGN1cnJlbnQgPT0gTlVMTCB8fCBjdXJyZW50LT5tX2V4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUpDQotCQkJew0KLQkJCQlicmVhazsJCS8vIG5vIG1vcmUgdGltZXIgZXZlbnRzIHRvIHByb2Nlc3MNCi0JCQl9DQotCQkJLy8gbmVlZCB0byBwcm9jZXNzIHRoaXMgZW50cnkNCi0JCQl0aW1lclF1ZXVlSGVhZCA9IGN1cnJlbnQtPm1fbmV4dEV2ZW50Ow0KLQkJCWlmIChjdXJyZW50LT5tX3BlcmlvZGljKQ0KLQkJCXsNCi0JCQkJLy8gaWYgcGVyaW9kaWMsIHJlcXVldWUgdGhlIGV2ZW50DQotCQkJCS8vIGNvbXB1dGUgd2hlbiB0byBwdXQgaW50byBxdWV1ZQ0KLQkJCQljdXJyZW50LT5JbnNlcnRJblF1ZXVlKHRydWUpOw0KLQkJCX0NCi0JCQllbHNlDQotCQkJew0KLQkJCQkvLyBub3QgcGVyaW9kaWM7IHJlbW92ZWQgZnJvbSBxdWV1ZQ0KLQkJCQljdXJyZW50LT5tX3F1ZXVlZCA9IGZhbHNlOw0KLQkJCX0NCi0JCQkvLyBUYWtlIGhhbmRsZXIgc2VtYXBob3JlIHdoaWxlIGhvbGRpbmcgcXVldWUgc2VtYXBob3JlIHRvIG1ha2Ugc3VyZQ0KLQkJCS8vICB0aGUgaGFuZGxlciB3aWxsIGV4ZWN1dGUgdG8gY29tcGxldGlvbiBpbiBjYXNlIHdlIGFyZSBiZWluZyBkZWxldGVkLg0KLQkJCXNlbVRha2UoY3VycmVudC0+bV9oYW5kbGVyU2VtYXBob3JlLCBXQUlUX0ZPUkVWRVIpOw0KLQkJfQ0KLQ0KLQkJY3VycmVudC0+bV9oYW5kbGVyKGN1cnJlbnQtPm1fcGFyYW0pOwkvLyBjYWxsIHRoZSBldmVudCBoYW5kbGVyDQotCQlzZW1HaXZlKGN1cnJlbnQtPm1faGFuZGxlclNlbWFwaG9yZSk7DQotCX0NCi0JLy8gcmVzY2hlZHVsZSB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgcXVldWUNCi0JU3luY2hyb25pemVkIHN5bmMocXVldWVTZW1hcGhvcmUpOw0KLQlVcGRhdGVBbGFybSgpOw0KLX0NCi0NCi0vKioNCi0gKiBJbnNlcnQgdGhpcyBOb3RpZmllciBpbnRvIHRoZSB0aW1lciBxdWV1ZSBpbiByaWdodCBwbGFjZS4NCi0gKiBXQVJOSU5HOiB0aGlzIG1ldGhvZCBkb2VzIG5vdCBkbyBzeW5jaHJvbml6YXRpb24hIEl0IG11c3QgYmUgY2FsbGVkIGZyb20gc29tZXdoZXJlDQotICogdGhhdCBpcyB0YWtpbmcgY2FyZSBvZiBzeW5jaHJvbml6aW5nIGFjY2VzcyB0byB0aGUgcXVldWUuDQotICogQHBhcmFtIHJlc2NoZWR1bGUgSWYgZmFsc2UsIHRoZSBzY2hlZHVsZWQgYWxhcm0gaXMgYmFzZWQgb24gdGhlIGN1cmVudCB0aW1lIGFuZCBVcGRhdGVBbGFybQ0KLSAqIG1ldGhvZCBpcyBjYWxsZWQgd2hpY2ggd2lsbCBlbmFibGUgdGhlIGFsYXJtIGlmIG5lY2Vzc2FyeS4NCi0gKiBJZiB0cnVlLCB1cGRhdGUgdGhlIHRpbWUgYnkgYWRkaW5nIHRoZSBwZXJpb2QgKG5vIGRyaWZ0KSB3aGVuIHJlc2NoZWR1bGVkIHBlcmlvZGljIGZyb20gUHJvY2Vzc1F1ZXVlLg0KLSAqIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBwdWJsaWMgbWV0aG9kcyBvbmx5IHVwZGF0ZSB0aGUgcXVldWUgYWZ0ZXIgZmluaXNoaW5nIGluc2VydGluZy4NCi0gKi8NCi12b2lkIE5vdGlmaWVyOjpJbnNlcnRJblF1ZXVlKGJvb2wgcmVzY2hlZHVsZSkNCi17DQotCWlmIChyZXNjaGVkdWxlKQ0KLQl7DQotCQltX2V4cGlyYXRpb25UaW1lICs9IG1fcGVyaW9kOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJbV9leHBpcmF0aW9uVGltZSA9IEdldENsb2NrKCkgKyBtX3BlcmlvZDsNCi0JfQ0KLQlpZiAodGltZXJRdWV1ZUhlYWQgPT0gTlVMTCB8fCB0aW1lclF1ZXVlSGVhZC0+bV9leHBpcmF0aW9uVGltZSA+PSB0aGlzLT5tX2V4cGlyYXRpb25UaW1lKQ0KLQl7DQotCQkvLyB0aGUgcXVldWUgaXMgZW1wdHkgb3IgZ3JlYXRlciB0aGFuIHRoZSBuZXcgZW50cnkNCi0JCS8vIHRoZSBuZXcgZW50cnkgYmVjb21lcyB0aGUgZmlyc3QgZWxlbWVudA0KLQkJdGhpcy0+bV9uZXh0RXZlbnQgPSB0aW1lclF1ZXVlSGVhZDsNCi0JCXRpbWVyUXVldWVIZWFkID0gdGhpczsNCi0JCWlmICghcmVzY2hlZHVsZSkNCi0JCXsNCi0JCQkvLyBzaW5jZSB0aGUgZmlyc3QgZWxlbWVudCBjaGFuZ2VkLCB1cGRhdGUgYWxhcm0sIHVubGVzcyB3ZSBhbHJlYWR5IHBsYW4gdG8NCi0JCQlVcGRhdGVBbGFybSgpOw0KLQkJfQ0KLQl9DQotCWVsc2UNCi0Jew0KLQkJZm9yIChOb3RpZmllciAqKm5wcCA9ICYodGltZXJRdWV1ZUhlYWQtPm1fbmV4dEV2ZW50KTsgOyBucHAgPSAmKCpucHApLT5tX25leHRFdmVudCkNCi0JCXsNCi0JCQlOb3RpZmllciAqbiA9ICpucHA7DQotCQkJaWYgKG4gPT0gTlVMTCB8fCBuLT5tX2V4cGlyYXRpb25UaW1lID4gdGhpcy0+bV9leHBpcmF0aW9uVGltZSkNCi0JCQl7DQotCQkJCSpucHAgPSB0aGlzOw0KLQkJCQl0aGlzLT5tX25leHRFdmVudCA9IG47DQotCQkJCWJyZWFrOw0KLQkJCX0NCi0JCX0NCi0JfQ0KLQltX3F1ZXVlZCA9IHRydWU7DQotfQ0KLQ0KLS8qKg0KLSAqIERlbGV0ZSB0aGlzIE5vdGlmaWVyIGZyb20gdGhlIHRpbWVyIHF1ZXVlLg0KLSAqIFdBUk5JTkc6IHRoaXMgbWV0aG9kIGRvZXMgbm90IGRvIHN5bmNocm9uaXphdGlvbiEgSXQgbXVzdCBiZSBjYWxsZWQgZnJvbSBzb21ld2hlcmUNCi0gKiB0aGF0IGlzIHRha2luZyBjYXJlIG9mIHN5bmNocm9uaXppbmcgYWNjZXNzIHRvIHRoZSBxdWV1ZS4NCi0gKiBSZW1vdmUgdGhpcyBOb3RpZmllciBmcm9tIHRoZSB0aW1lciBxdWV1ZSBhbmQgYWRqdXN0IHRoZSBuZXh0IGludGVycnVwdCB0aW1lIHRvIHJlZmxlY3QNCi0gKiB0aGUgY3VycmVudCB0b3Agb2YgdGhlIHF1ZXVlLg0KLSAqLw0KLXZvaWQgTm90aWZpZXI6OkRlbGV0ZUZyb21RdWV1ZSgpDQotew0KLQlpZiAobV9xdWV1ZWQpDQotCXsNCi0JCW1fcXVldWVkID0gZmFsc2U7DQotCQl3cGlfYXNzZXJ0KHRpbWVyUXVldWVIZWFkICE9IE5VTEwpOw0KLQkJaWYgKHRpbWVyUXVldWVIZWFkID09IHRoaXMpDQotCQl7DQotCQkJLy8gcmVtb3ZlIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0IC0gdXBkYXRlIHRoZSBhbGFybQ0KLQkJCXRpbWVyUXVldWVIZWFkID0gdGhpcy0+bV9uZXh0RXZlbnQ7DQotCQkJVXBkYXRlQWxhcm0oKTsNCi0JCX0NCi0JCWVsc2UNCi0JCXsNCi0JCQlmb3IgKE5vdGlmaWVyICpuID0gdGltZXJRdWV1ZUhlYWQ7IG4gIT0gTlVMTDsgbiA9IG4tPm1fbmV4dEV2ZW50KQ0KLQkJCXsNCi0JCQkJaWYgKG4tPm1fbmV4dEV2ZW50ID09IHRoaXMpDQotCQkJCXsNCi0JCQkJCS8vIHRoaXMgZWxlbWVudCBpcyB0aGUgbmV4dCBlbGVtZW50IGZyb20gKm4gZnJvbSB0aGUgcXVldWUNCi0JCQkJCW4tPm1fbmV4dEV2ZW50ID0gdGhpcy0+bV9uZXh0RXZlbnQ7CS8vIHBvaW50IGFyb3VuZCB0aGlzIG9uZQ0KLQkJCQl9DQotCQkJfQ0KLQkJfQ0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFJlZ2lzdGVyIGZvciBzaW5nbGUgZXZlbnQgbm90aWZpY2F0aW9uLg0KLSAqIEEgdGltZXIgZXZlbnQgaXMgcXVldWVkIGZvciBhIHNpbmdsZSBldmVudCBhZnRlciB0aGUgc3BlY2lmaWVkIGRlbGF5Lg0KLSAqIEBwYXJhbSBkZWxheSBTZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHRoZSBoYW5kbGVyIGlzIGNhbGxlZC4NCi0gKi8NCi12b2lkIE5vdGlmaWVyOjpTdGFydFNpbmdsZShkb3VibGUgZGVsYXkpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhxdWV1ZVNlbWFwaG9yZSk7DQotCW1fcGVyaW9kaWMgPSBmYWxzZTsNCi0JbV9wZXJpb2QgPSBkZWxheTsNCi0JRGVsZXRlRnJvbVF1ZXVlKCk7DQotCUluc2VydEluUXVldWUoZmFsc2UpOw0KLX0NCi0NCi0vKioNCi0gKiBSZWdpc3RlciBmb3IgcGVyaW9kaWMgZXZlbnQgbm90aWZpY2F0aW9uLg0KLSAqIEEgdGltZXIgZXZlbnQgaXMgcXVldWVkIGZvciBwZXJpb2RpYyBldmVudCBub3RpZmljYXRpb24uIEVhY2ggdGltZSB0aGUgaW50ZXJydXB0DQotICogb2NjdXJzLCB0aGUgZXZlbnQgd2lsbCBiZSBpbW1lZGlhdGVseSByZXF1ZXVlZCBmb3IgdGhlIHNhbWUgdGltZSBpbnRlcnZhbC4NCi0gKiBAcGFyYW0gcGVyaW9kIFBlcmlvZCBpbiBzZWNvbmRzIHRvIGNhbGwgdGhlIGhhbmRsZXIgc3RhcnRpbmcgb25lIHBlcmlvZCBhZnRlciB0aGUgY2FsbCB0byB0aGlzIG1ldGhvZC4NCi0gKi8NCi12b2lkIE5vdGlmaWVyOjpTdGFydFBlcmlvZGljKGRvdWJsZSBwZXJpb2QpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhxdWV1ZVNlbWFwaG9yZSk7DQotCW1fcGVyaW9kaWMgPSB0cnVlOw0KLQltX3BlcmlvZCA9IHBlcmlvZDsNCi0JRGVsZXRlRnJvbVF1ZXVlKCk7DQotCUluc2VydEluUXVldWUoZmFsc2UpOw0KLX0NCi0NCi0vKioNCi0gKiBTdG9wIHRpbWVyIGV2ZW50cyBmcm9tIG9jY3VyaW5nLg0KLSAqIFN0b3AgYW55IHJlcGVhdGluZyB0aW1lciBldmVudHMgZnJvbSBvY2N1cmluZy4gVGhpcyB3aWxsIGFsc28gcmVtb3ZlIGFueSBzaW5nbGUNCi0gKiBub3RpZmljYXRpb24gZXZlbnRzIGZyb20gdGhlIHF1ZXVlLg0KLSAqIElmIGEgdGltZXItYmFzZWQgY2FsbCB0byB0aGUgcmVnaXN0ZXJlZCBoYW5kbGVyIGlzIGluIHByb2dyZXNzLCB0aGlzIGZ1bmN0aW9uIHdpbGwNCi0gKiBibG9jayB1bnRpbCB0aGUgaGFuZGxlciBjYWxsIGlzIGNvbXBsZXRlLg0KLSAqLw0KLXZvaWQgTm90aWZpZXI6OlN0b3AoKQ0KLXsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMocXVldWVTZW1hcGhvcmUpOw0KLQkJRGVsZXRlRnJvbVF1ZXVlKCk7DQotCX0NCi0JLy8gV2FpdCBmb3IgYSBjdXJyZW50bHkgZXhlY3V0aW5nIGhhbmRsZXIgdG8gY29tcGxldGUgYmVmb3JlIHJldHVybmluZyBmcm9tIFN0b3AoKQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2hhbmRsZXJTZW1hcGhvcmUpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ob3RpZmllci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvTm90aWZpZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzZjMDZiNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ob3RpZmllci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIE5PVElGSUVSX0gNCi0jZGVmaW5lIE5PVElGSUVSX0gNCi0NCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC5oIg0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotDQotdHlwZWRlZiB2b2lkICgqVGltZXJFdmVudEhhbmRsZXIpKHZvaWQgKnBhcmFtKTsNCi0NCi1jbGFzcyBOb3RpZmllciA6IHB1YmxpYyBFcnJvckJhc2UNCi17DQotcHVibGljOg0KLQlOb3RpZmllcihUaW1lckV2ZW50SGFuZGxlciBoYW5kbGVyLCB2b2lkICpwYXJhbSA9IE5VTEwpOw0KLQl2aXJ0dWFsIH5Ob3RpZmllcigpOw0KLQl2b2lkIFN0YXJ0U2luZ2xlKGRvdWJsZSBkZWxheSk7DQotCXZvaWQgU3RhcnRQZXJpb2RpYyhkb3VibGUgcGVyaW9kKTsNCi0Jdm9pZCBTdG9wKCk7DQotcHJpdmF0ZToNCi0Jc3RhdGljIE5vdGlmaWVyICp0aW1lclF1ZXVlSGVhZDsNCi0Jc3RhdGljIFJlZW50cmFudFNlbWFwaG9yZSBxdWV1ZVNlbWFwaG9yZTsNCi0Jc3RhdGljIHRBbGFybSAqdGFsYXJtOw0KLQlzdGF0aWMgdEludGVycnVwdE1hbmFnZXIgKm1hbmFnZXI7DQotCXN0YXRpYyBpbnQgcmVmY291bnQ7DQotDQotCXN0YXRpYyBjb25zdCBVSU5UMzIga1RpbWVySW50ZXJydXB0TnVtYmVyID0gMjg7DQotCXN0YXRpYyB2b2lkIFByb2Nlc3NRdWV1ZSh1aW50MzJfdCBtYXNrLCB2b2lkICpwYXJhbXMpOyAvLyBwcm9jZXNzIHRoZSB0aW1lciBxdWV1ZSBvbiBhIHRpbWVyIGV2ZW50DQotCXN0YXRpYyB2b2lkIFVwZGF0ZUFsYXJtKCk7CQkJLy8gdXBkYXRlIHRoZSBGUEdBIGFsYXJtIHNpbmNlIHRoZSBxdWV1ZSBoYXMgY2hhbmdlZA0KLQl2b2lkIEluc2VydEluUXVldWUoYm9vbCByZXNjaGVkdWxlKTsJLy8gaW5zZXJ0IHRoaXMgTm90aWZpZXIgaW4gdGhlIHRpbWVyIHF1ZXVlDQotCXZvaWQgRGVsZXRlRnJvbVF1ZXVlKCk7CQkJCS8vIGRlbGV0ZSB0aGlzIE5vdGlmaWVyIGZyb20gdGhlIHRpbWVyIHF1ZXVlDQotCVRpbWVyRXZlbnRIYW5kbGVyIG1faGFuZGxlcjsJCQkvLyBhZGRyZXNzIG9mIHRoZSBoYW5kbGVyDQotCXZvaWQgKm1fcGFyYW07CQkJCQkJCS8vIGEgcGFyYW1ldGVyIHRvIHBhc3MgdG8gdGhlIGhhbmRsZXINCi0JZG91YmxlIG1fcGVyaW9kOwkJCQkJCS8vIHRoZSByZWxhdGl2ZSB0aW1lIChlaXRoZXIgcGVyaW9kaWMgb3Igc2luZ2xlKQ0KLQlkb3VibGUgbV9leHBpcmF0aW9uVGltZTsJCQkJLy8gYWJzb2x1dGUgZXhwaXJhdGlvbiB0aW1lIGZvciB0aGUgY3VycmVudCBldmVudA0KLQlOb3RpZmllciAqbV9uZXh0RXZlbnQ7CQkJCQkvLyBuZXh0IE5vZmlmaWVyIGV2ZW50DQotCWJvb2wgbV9wZXJpb2RpYzsJCQkJCQkvLyB0cnVlIGlmIHRoaXMgaXMgYSBwZXJpb2RpYyBldmVudA0KLQlib29sIG1fcXVldWVkOwkJCQkJCQkvLyBpbmRpY2F0ZXMgaWYgdGhpcyBlbnRyeSBpcyBxdWV1ZWQNCi0JU0VNX0lEIG1faGFuZGxlclNlbWFwaG9yZTsJCQkJLy8gaGVsZCBieSBpbnRlcnJ1cHQgbWFuYWdlciB0YXNrIHdoaWxlIGhhbmRsZXIgY2FsbCBpcyBpbiBwcm9ncmVzcyANCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKE5vdGlmaWVyKTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1BJRENvbnRyb2xsZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUElEQ29udHJvbGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1MjcwZmUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUElEQ29udHJvbGxlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2MTMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiUElEQ29udHJvbGxlci5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJOb3RpZmllci5oIg0KLSNpbmNsdWRlICJQSURTb3VyY2UuaCINCi0jaW5jbHVkZSAiUElET3V0cHV0LmgiDQotI2luY2x1ZGUgPG1hdGguaD4NCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotDQotc3RhdGljIGNvbnN0IGNoYXIgKmtQID0gInAiOw0KLXN0YXRpYyBjb25zdCBjaGFyICprSSA9ICJpIjsNCi1zdGF0aWMgY29uc3QgY2hhciAqa0QgPSAiZCI7DQotc3RhdGljIGNvbnN0IGNoYXIgKmtGID0gImYiOw0KLXN0YXRpYyBjb25zdCBjaGFyICprU2V0cG9pbnQgPSAic2V0cG9pbnQiOw0KLXN0YXRpYyBjb25zdCBjaGFyICprRW5hYmxlZCA9ICJlbmFibGVkIjsNCi0NCi0NCi0vKioNCi0gKiBBbGxvY2F0ZSBhIFBJRCBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gY29uc3RhbnRzIGZvciBQLCBJLCBEDQotICogQHBhcmFtIEtwIHRoZSBwcm9wb3J0aW9uYWwgY29lZmZpY2llbnQNCi0gKiBAcGFyYW0gS2kgdGhlIGludGVncmFsIGNvZWZmaWNpZW50DQotICogQHBhcmFtIEtkIHRoZSBkZXJpdmF0aXZlIGNvZWZmaWNpZW50DQotICogQHBhcmFtIHNvdXJjZSBUaGUgUElEU291cmNlIG9iamVjdCB0aGF0IGlzIHVzZWQgdG8gZ2V0IHZhbHVlcw0KLSAqIEBwYXJhbSBvdXRwdXQgVGhlIFBJRE91dHB1dCBvYmplY3QgdGhhdCBpcyBzZXQgdG8gdGhlIG91dHB1dCB2YWx1ZQ0KLSAqIEBwYXJhbSBwZXJpb2QgdGhlIGxvb3AgdGltZSBmb3IgZG9pbmcgY2FsY3VsYXRpb25zLiBUaGlzIHBhcnRpY3VsYXJseSBlZmZlY3RzIGNhbGN1bGF0aW9ucyBvZiB0aGUNCi0gKiBpbnRlZ3JhbCBhbmQgZGlmZmVyZW50YWwgdGVybXMuIFRoZSBkZWZhdWx0IGlzIDUwbXMuDQotICovDQotUElEQ29udHJvbGxlcjo6UElEQ29udHJvbGxlcihmbG9hdCBLcCwgZmxvYXQgS2ksIGZsb2F0IEtkLA0KLQkJCQkJCQkJUElEU291cmNlICpzb3VyY2UsIFBJRE91dHB1dCAqb3V0cHV0LA0KLQkJCQkJCQkJZmxvYXQgcGVyaW9kKSA6DQotCW1fc2VtYXBob3JlICgwKQ0KLXsNCi0JSW5pdGlhbGl6ZShLcCwgS2ksIEtkLCAwLjBmLCBzb3VyY2UsIG91dHB1dCwgcGVyaW9kKTsNCi19DQotDQotLyoqDQotICogQWxsb2NhdGUgYSBQSUQgb2JqZWN0IHdpdGggdGhlIGdpdmVuIGNvbnN0YW50cyBmb3IgUCwgSSwgRA0KLSAqIEBwYXJhbSBLcCB0aGUgcHJvcG9ydGlvbmFsIGNvZWZmaWNpZW50DQotICogQHBhcmFtIEtpIHRoZSBpbnRlZ3JhbCBjb2VmZmljaWVudA0KLSAqIEBwYXJhbSBLZCB0aGUgZGVyaXZhdGl2ZSBjb2VmZmljaWVudA0KLSAqIEBwYXJhbSBzb3VyY2UgVGhlIFBJRFNvdXJjZSBvYmplY3QgdGhhdCBpcyB1c2VkIHRvIGdldCB2YWx1ZXMNCi0gKiBAcGFyYW0gb3V0cHV0IFRoZSBQSURPdXRwdXQgb2JqZWN0IHRoYXQgaXMgc2V0IHRvIHRoZSBvdXRwdXQgdmFsdWUNCi0gKiBAcGFyYW0gcGVyaW9kIHRoZSBsb29wIHRpbWUgZm9yIGRvaW5nIGNhbGN1bGF0aW9ucy4gVGhpcyBwYXJ0aWN1bGFybHkgZWZmZWN0cyBjYWxjdWxhdGlvbnMgb2YgdGhlDQotICogaW50ZWdyYWwgYW5kIGRpZmZlcmVudGFsIHRlcm1zLiBUaGUgZGVmYXVsdCBpcyA1MG1zLg0KLSAqLw0KLVBJRENvbnRyb2xsZXI6OlBJRENvbnRyb2xsZXIoZmxvYXQgS3AsIGZsb2F0IEtpLCBmbG9hdCBLZCwgZmxvYXQgS2YsDQotCQkJCQkJCQlQSURTb3VyY2UgKnNvdXJjZSwgUElET3V0cHV0ICpvdXRwdXQsDQotCQkJCQkJCQlmbG9hdCBwZXJpb2QpIDoNCi0JbV9zZW1hcGhvcmUgKDApDQotew0KLQlJbml0aWFsaXplKEtwLCBLaSwgS2QsIEtmLCBzb3VyY2UsIG91dHB1dCwgcGVyaW9kKTsNCi19DQotDQotDQotdm9pZCBQSURDb250cm9sbGVyOjpJbml0aWFsaXplKGZsb2F0IEtwLCBmbG9hdCBLaSwgZmxvYXQgS2QsIGZsb2F0IEtmLA0KLQkJCQkJCQkJUElEU291cmNlICpzb3VyY2UsIFBJRE91dHB1dCAqb3V0cHV0LA0KLQkJCQkJCQkJZmxvYXQgcGVyaW9kKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCQ0KLQltX3NlbWFwaG9yZSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkpOw0KLQ0KLQltX2NvbnRyb2xMb29wID0gbmV3IE5vdGlmaWVyKFBJRENvbnRyb2xsZXI6OkNhbGxDYWxjdWxhdGUsIHRoaXMpOw0KLQ0KLQltX1AgPSBLcDsNCi0JbV9JID0gS2k7DQotCW1fRCA9IEtkOw0KLQltX0YgPSBLZjsNCi0JDQotCW1fbWF4aW11bU91dHB1dCA9IDEuMDsNCi0JbV9taW5pbXVtT3V0cHV0ID0gLTEuMDsNCi0NCi0JbV9tYXhpbXVtSW5wdXQgPSAwOw0KLQltX21pbmltdW1JbnB1dCA9IDA7DQotDQotCW1fY29udGludW91cyA9IGZhbHNlOw0KLQltX2VuYWJsZWQgPSBmYWxzZTsNCi0JbV9zZXRwb2ludCA9IDA7DQotDQotCW1fcHJldkVycm9yID0gMDsNCi0JbV90b3RhbEVycm9yID0gMDsNCi0JbV90b2xlcmFuY2UgPSAuMDU7DQotDQotCW1fcmVzdWx0ID0gMDsNCi0NCi0JbV9waWRJbnB1dCA9IHNvdXJjZTsNCi0JbV9waWRPdXRwdXQgPSBvdXRwdXQ7DQotCW1fcGVyaW9kID0gcGVyaW9kOw0KLQ0KLQltX2NvbnRyb2xMb29wLT5TdGFydFBlcmlvZGljKG1fcGVyaW9kKTsNCi0NCi0Jc3RhdGljIElOVDMyIGluc3RhbmNlcyA9IDA7DQotCWluc3RhbmNlcysrOw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfUElEQ29udHJvbGxlciwgaW5zdGFuY2VzKTsNCi0JDQotCW1fdG9sZXJhbmNlVHlwZSA9IGtOb1RvbGVyYW5jZTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgUElEIG9iamVjdA0KLSAqLw0KLVBJRENvbnRyb2xsZXI6On5QSURDb250cm9sbGVyKCkNCi17DQotCXNlbUZsdXNoKG1fc2VtYXBob3JlKTsNCi0JZGVsZXRlIG1fY29udHJvbExvb3A7DQotfQ0KLQ0KLS8qKg0KLSAqIENhbGwgdGhlIENhbGN1bGF0ZSBtZXRob2QgYXMgYSBub24tc3RhdGljIG1ldGhvZC4gVGhpcyBhdm9pZHMgaGF2aW5nIHRvIHByZXBlbmQNCi0gKiBhbGwgbG9jYWwgdmFyaWFibGVzIGluIHRoYXQgbWV0aG9kIHdpdGggdGhlIGNsYXNzIHBvaW50ZXIuIFRoaXMgd2F5IHRoZSAidGhpcyINCi0gKiBwb2ludGVyIHdpbGwgYmUgc2V0IHVwIGFuZCBjbGFzcyB2YXJpYWJsZXMgY2FuIGJlIGNhbGxlZCBtb3JlIGVhc2lseS4NCi0gKiBUaGlzIG1ldGhvZCBpcyBzdGF0aWMgYW5kIGNhbGxlZCBieSB0aGUgTm90aWZpZXIgY2xhc3MuDQotICogQHBhcmFtIGNvbnRyb2xsZXIgdGhlIGFkZHJlc3Mgb2YgdGhlIFBJRCBjb250cm9sbGVyIG9iamVjdCB0byB1c2UgaW4gdGhlIGJhY2tncm91bmQgbG9vcA0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6Q2FsbENhbGN1bGF0ZSh2b2lkICpjb250cm9sbGVyKQ0KLXsNCi0JUElEQ29udHJvbGxlciAqY29udHJvbCA9IChQSURDb250cm9sbGVyKikgY29udHJvbGxlcjsNCi0JY29udHJvbC0+Q2FsY3VsYXRlKCk7DQotfQ0KLQ0KLSAvKioNCi0gICogUmVhZCB0aGUgaW5wdXQsIGNhbGN1bGF0ZSB0aGUgb3V0cHV0IGFjY29yZGluZ2x5LCBhbmQgd3JpdGUgdG8gdGhlIG91dHB1dC4NCi0gICogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgYnkgdGhlIE5vdGlmaWVyIGluZGlyZWN0bHkgdGhyb3VnaCBDYWxsQ2FsY3VsYXRlDQotICAqIGFuZCBpcyBjcmVhdGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCi0gICovCQ0KLXZvaWQgUElEQ29udHJvbGxlcjo6Q2FsY3VsYXRlKCkNCi17DQotCWJvb2wgZW5hYmxlZDsNCi0JUElEU291cmNlICpwaWRJbnB1dDsNCi0NCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQlpZiAobV9waWRJbnB1dCA9PSAwKSByZXR1cm47DQotCQlpZiAobV9waWRPdXRwdXQgPT0gMCkgcmV0dXJuOw0KLQkJZW5hYmxlZCA9IG1fZW5hYmxlZDsNCi0JCXBpZElucHV0ID0gbV9waWRJbnB1dDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLQ0KLQlpZiAoZW5hYmxlZCkNCi0Jew0KLQkJZmxvYXQgaW5wdXQgPSBwaWRJbnB1dC0+UElER2V0KCk7DQotCQlmbG9hdCByZXN1bHQ7DQotCQlQSURPdXRwdXQgKnBpZE91dHB1dDsNCi0NCi0JCXsNCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhtX3NlbWFwaG9yZSk7DQotCQkJbV9lcnJvciA9IG1fc2V0cG9pbnQgLSBpbnB1dDsNCi0JCQlpZiAobV9jb250aW51b3VzKQ0KLQkJCXsNCi0JCQkJaWYgKGZhYnMobV9lcnJvcikgPiAobV9tYXhpbXVtSW5wdXQgLSBtX21pbmltdW1JbnB1dCkgLyAyKQ0KLQkJCQl7DQotCQkJCQlpZiAobV9lcnJvciA+IDApDQotCQkJCQl7DQotCQkJCQkJbV9lcnJvciA9IG1fZXJyb3IgLSBtX21heGltdW1JbnB1dCArIG1fbWluaW11bUlucHV0Ow0KLQkJCQkJfQ0KLQkJCQkJZWxzZQ0KLQkJCQkJew0KLQkJCQkJCW1fZXJyb3IgPSBtX2Vycm9yICsgbV9tYXhpbXVtSW5wdXQgLSBtX21pbmltdW1JbnB1dDsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCX0NCi0JCQkNCi0JCQlpZihtX0kgIT0gMCkNCi0JCQl7DQotCQkJCWRvdWJsZSBwb3RlbnRpYWxJR2FpbiA9IChtX3RvdGFsRXJyb3IgKyBtX2Vycm9yKSAqIG1fSTsNCi0JCQkJaWYgKHBvdGVudGlhbElHYWluIDwgbV9tYXhpbXVtT3V0cHV0KQ0KLQkJCQl7DQotCQkJCQlpZiAocG90ZW50aWFsSUdhaW4gPiBtX21pbmltdW1PdXRwdXQpDQotCQkJCQkJbV90b3RhbEVycm9yICs9IG1fZXJyb3I7DQotCQkJCQllbHNlDQotCQkJCQkJbV90b3RhbEVycm9yID0gbV9taW5pbXVtT3V0cHV0IC8gbV9JOw0KLQkJCQl9DQotCQkJCWVsc2UNCi0JCQkJew0KLQkJCQkJbV90b3RhbEVycm9yID0gbV9tYXhpbXVtT3V0cHV0IC8gbV9JOw0KLQkJCQl9DQotCQkJfQ0KLQ0KLQkJCW1fcmVzdWx0ID0gbV9QICogbV9lcnJvciArIG1fSSAqIG1fdG90YWxFcnJvciArIG1fRCAqIChtX2Vycm9yIC0gbV9wcmV2RXJyb3IpICsgbV9zZXRwb2ludCAqIG1fRjsNCi0JCQltX3ByZXZFcnJvciA9IG1fZXJyb3I7DQotDQotCQkJaWYgKG1fcmVzdWx0ID4gbV9tYXhpbXVtT3V0cHV0KSBtX3Jlc3VsdCA9IG1fbWF4aW11bU91dHB1dDsNCi0JCQllbHNlIGlmIChtX3Jlc3VsdCA8IG1fbWluaW11bU91dHB1dCkgbV9yZXN1bHQgPSBtX21pbmltdW1PdXRwdXQ7DQotDQotCQkJcGlkT3V0cHV0ID0gbV9waWRPdXRwdXQ7DQotCQkJcmVzdWx0ID0gbV9yZXN1bHQ7DQotCQl9DQotDQotCQlwaWRPdXRwdXQtPlBJRFdyaXRlKHJlc3VsdCk7DQotCX0NCi19DQotDQotLyoqDQotICogU2V0IHRoZSBQSUQgQ29udHJvbGxlciBnYWluIHBhcmFtZXRlcnMuDQotICogU2V0IHRoZSBwcm9wb3J0aW9uYWwsIGludGVncmFsLCBhbmQgZGlmZmVyZW50aWFsIGNvZWZmaWNpZW50cy4NCi0gKiBAcGFyYW0gcCBQcm9wb3J0aW9uYWwgY29lZmZpY2llbnQNCi0gKiBAcGFyYW0gaSBJbnRlZ3JhbCBjb2VmZmljaWVudA0KLSAqIEBwYXJhbSBkIERpZmZlcmVudGlhbCBjb2VmZmljaWVudA0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6U2V0UElEKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQpDQotew0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCW1fUCA9IHA7DQotCQltX0kgPSBpOw0KLQkJbV9EID0gZDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLQ0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5QdXROdW1iZXIoInAiLCBtX1ApOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJpIiwgbV9JKTsNCi0JCW1fdGFibGUtPlB1dE51bWJlcigiZCIsIG1fRCk7DQotCX0NCi19DQotDQotLyoqDQotICogU2V0IHRoZSBQSUQgQ29udHJvbGxlciBnYWluIHBhcmFtZXRlcnMuDQotICogU2V0IHRoZSBwcm9wb3J0aW9uYWwsIGludGVncmFsLCBhbmQgZGlmZmVyZW50aWFsIGNvZWZmaWNpZW50cy4NCi0gKiBAcGFyYW0gcCBQcm9wb3J0aW9uYWwgY29lZmZpY2llbnQNCi0gKiBAcGFyYW0gaSBJbnRlZ3JhbCBjb2VmZmljaWVudA0KLSAqIEBwYXJhbSBkIERpZmZlcmVudGlhbCBjb2VmZmljaWVudA0KLSAqIEBwYXJhbSBmIEZlZWQgZm9yd2FyZCBjb2VmZmljaWVudA0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6U2V0UElEKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQsIGZsb2F0IGYpDQotew0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCW1fUCA9IHA7DQotCQltX0kgPSBpOw0KLQkJbV9EID0gZDsNCi0JCW1fRiA9IGY7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi0NCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJwIiwgbV9QKTsNCi0JCW1fdGFibGUtPlB1dE51bWJlcigiaSIsIG1fSSk7DQotCQltX3RhYmxlLT5QdXROdW1iZXIoImQiLCBtX0QpOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJmIiwgbV9GKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFByb3BvcnRpb25hbCBjb2VmZmljaWVudA0KLSAqIEByZXR1cm4gcHJvcG9ydGlvbmFsIGNvZWZmaWNpZW50DQotICovDQotZmxvYXQgUElEQ29udHJvbGxlcjo6R2V0UCgpDQotew0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCXJldHVybiBtX1A7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBJbnRlZ3JhbCBjb2VmZmljaWVudA0KLSAqIEByZXR1cm4gaW50ZWdyYWwgY29lZmZpY2llbnQNCi0gKi8NCi1mbG9hdCBQSURDb250cm9sbGVyOjpHZXRJKCkNCi17DQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJcmV0dXJuIG1fSTsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIERpZmZlcmVudGlhbCBjb2VmZmljaWVudA0KLSAqIEByZXR1cm4gZGlmZmVyZW50aWFsIGNvZWZmaWNpZW50DQotICovDQotZmxvYXQgUElEQ29udHJvbGxlcjo6R2V0RCgpDQotew0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCXJldHVybiBtX0Q7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBGZWVkIGZvcndhcmQgY29lZmZpY2llbnQNCi0gKiBAcmV0dXJuIEZlZWQgZm9yd2FyZCBjb2VmZmljaWVudA0KLSAqLw0KLWZsb2F0IFBJRENvbnRyb2xsZXI6OkdldEYoKQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQlyZXR1cm4gbV9GOw0KLQl9DQotCUVORF9SRUdJT047DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgY3VycmVudCBQSUQgcmVzdWx0DQotICogVGhpcyBpcyBhbHdheXMgY2VudGVyZWQgb24gemVybyBhbmQgY29uc3RyYWluZWQgdGhlIHRoZSBtYXggYW5kIG1pbiBvdXRzDQotICogQHJldHVybiB0aGUgbGF0ZXN0IGNhbGN1bGF0ZWQgb3V0cHV0DQotICovDQotZmxvYXQgUElEQ29udHJvbGxlcjo6R2V0KCkNCi17DQotCWZsb2F0IHJlc3VsdDsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQlyZXN1bHQgPSBtX3Jlc3VsdDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiAgU2V0IHRoZSBQSUQgY29udHJvbGxlciB0byBjb25zaWRlciB0aGUgaW5wdXQgdG8gYmUgY29udGludW91cywNCi0gKiAgUmF0aGVyIHRoZW4gdXNpbmcgdGhlIG1heCBhbmQgbWluIGluIGFzIGNvbnN0cmFpbnRzLCBpdCBjb25zaWRlcnMgdGhlbSB0bw0KLSAqICBiZSB0aGUgc2FtZSBwb2ludCBhbmQgYXV0b21hdGljYWxseSBjYWxjdWxhdGVzIHRoZSBzaG9ydGVzdCByb3V0ZSB0bw0KLSAqICB0aGUgc2V0cG9pbnQuDQotICogQHBhcmFtIGNvbnRpbnVvdXMgU2V0IHRvIHRydWUgdHVybnMgb24gY29udGludW91cywgZmFsc2UgdHVybnMgb2ZmIGNvbnRpbnVvdXMNCi0gKi8NCi12b2lkIFBJRENvbnRyb2xsZXI6OlNldENvbnRpbnVvdXMoYm9vbCBjb250aW51b3VzKQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQltX2NvbnRpbnVvdXMgPSBjb250aW51b3VzOw0KLQl9DQotCUVORF9SRUdJT047DQotDQotfQ0KLQ0KLS8qKg0KLSAqIFNldHMgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWVzIGV4cGVjdGVkIGZyb20gdGhlIGlucHV0Lg0KLSAqIA0KLSAqIEBwYXJhbSBtaW5pbXVtSW5wdXQgdGhlIG1pbmltdW0gdmFsdWUgZXhwZWN0ZWQgZnJvbSB0aGUgaW5wdXQNCi0gKiBAcGFyYW0gbWF4aW11bUlucHV0IHRoZSBtYXhpbXVtIHZhbHVlIGV4cGVjdGVkIGZyb20gdGhlIG91dHB1dA0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6U2V0SW5wdXRSYW5nZShmbG9hdCBtaW5pbXVtSW5wdXQsIGZsb2F0IG1heGltdW1JbnB1dCkNCi17DQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJbV9taW5pbXVtSW5wdXQgPSBtaW5pbXVtSW5wdXQ7DQotCQltX21heGltdW1JbnB1dCA9IG1heGltdW1JbnB1dDsJDQotCX0NCi0JRU5EX1JFR0lPTjsNCi0NCi0JU2V0U2V0cG9pbnQobV9zZXRwb2ludCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldHMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gdmFsdWVzIHRvIHdyaXRlLg0KLSAqIA0KLSAqIEBwYXJhbSBtaW5pbXVtT3V0cHV0IHRoZSBtaW5pbXVtIHZhbHVlIHRvIHdyaXRlIHRvIHRoZSBvdXRwdXQNCi0gKiBAcGFyYW0gbWF4aW11bU91dHB1dCB0aGUgbWF4aW11bSB2YWx1ZSB0byB3cml0ZSB0byB0aGUgb3V0cHV0DQotICovDQotdm9pZCBQSURDb250cm9sbGVyOjpTZXRPdXRwdXRSYW5nZShmbG9hdCBtaW5pbXVtT3V0cHV0LCBmbG9hdCBtYXhpbXVtT3V0cHV0KQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQltX21pbmltdW1PdXRwdXQgPSBtaW5pbXVtT3V0cHV0Ow0KLQkJbV9tYXhpbXVtT3V0cHV0ID0gbWF4aW11bU91dHB1dDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHNldHBvaW50IGZvciB0aGUgUElEQ29udHJvbGxlcg0KLSAqIEBwYXJhbSBzZXRwb2ludCB0aGUgZGVzaXJlZCBzZXRwb2ludA0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6U2V0U2V0cG9pbnQoZmxvYXQgc2V0cG9pbnQpDQotew0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCWlmIChtX21heGltdW1JbnB1dCA+IG1fbWluaW11bUlucHV0KQ0KLQkJew0KLQkJCWlmIChzZXRwb2ludCA+IG1fbWF4aW11bUlucHV0KQ0KLQkJCQltX3NldHBvaW50ID0gbV9tYXhpbXVtSW5wdXQ7DQotCQkJZWxzZSBpZiAoc2V0cG9pbnQgPCBtX21pbmltdW1JbnB1dCkNCi0JCQkJbV9zZXRwb2ludCA9IG1fbWluaW11bUlucHV0Ow0KLQkJCWVsc2UNCi0JCQkJbV9zZXRwb2ludCA9IHNldHBvaW50Ow0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCW1fc2V0cG9pbnQgPSBzZXRwb2ludDsNCi0JCX0NCi0JfQ0KLQlFTkRfUkVHSU9OOwkNCi0JDQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dE51bWJlcigic2V0cG9pbnQiLCBtX3NldHBvaW50KTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBjdXJyZW50IHNldHBvaW50IG9mIHRoZSBQSURDb250cm9sbGVyDQotICogQHJldHVybiB0aGUgY3VycmVudCBzZXRwb2ludA0KLSAqLw0KLWZsb2F0IFBJRENvbnRyb2xsZXI6OkdldFNldHBvaW50KCkNCi17DQotCWZsb2F0IHNldHBvaW50Ow0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCXNldHBvaW50ID0gbV9zZXRwb2ludDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLQlyZXR1cm4gc2V0cG9pbnQ7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHJ1bnMgdGhlIGN1cnJlbnQgZGlmZmVyZW5jZSBvZiB0aGUgaW5wdXQgZnJvbSB0aGUgc2V0cG9pbnQNCi0gKiBAcmV0dXJuIHRoZSBjdXJyZW50IGVycm9yDQotICovDQotZmxvYXQgUElEQ29udHJvbGxlcjo6R2V0RXJyb3IoKQ0KLXsNCi0JZmxvYXQgZXJyb3I7DQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJZXJyb3IgPSBtX3NldHBvaW50IC0gbV9waWRJbnB1dC0+UElER2V0KCk7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi0JcmV0dXJuIGVycm9yOw0KLX0NCi0NCi0vKg0KLSAqIFNldCB0aGUgcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyBjb25zaWRlcmVkIHRvbGVyYWJsZSBmb3IgdXNlIHdpdGgNCi0gKiBPblRhcmdldC4NCi0gKiBAcGFyYW0gcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyB0b2xlcmFibGUNCi0gKi8NCi12b2lkIFBJRENvbnRyb2xsZXI6OlNldFRvbGVyYW5jZShmbG9hdCBwZXJjZW50KQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQltX3RvbGVyYW5jZVR5cGUgPSBrUGVyY2VudFRvbGVyYW5jZTsNCi0JCW1fdG9sZXJhbmNlID0gcGVyY2VudDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLX0NCi0NCi0vKg0KLSAqIFNldCB0aGUgcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyBjb25zaWRlcmVkIHRvbGVyYWJsZSBmb3IgdXNlIHdpdGgNCi0gKiBPblRhcmdldC4NCi0gKiBAcGFyYW0gcGVyY2VudGFnZSBlcnJvciB3aGljaCBpcyB0b2xlcmFibGUNCi0gKi8NCi12b2lkIFBJRENvbnRyb2xsZXI6OlNldFBlcmNlbnRUb2xlcmFuY2UoZmxvYXQgcGVyY2VudCkNCi17DQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJbV90b2xlcmFuY2VUeXBlID0ga1BlcmNlbnRUb2xlcmFuY2U7DQotCQltX3RvbGVyYW5jZSA9IHBlcmNlbnQ7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi19DQotDQotLyoNCi0gKiBTZXQgdGhlIGFic29sdXRlIGVycm9yIHdoaWNoIGlzIGNvbnNpZGVyZWQgdG9sZXJhYmxlIGZvciB1c2Ugd2l0aA0KLSAqIE9uVGFyZ2V0Lg0KLSAqIEBwYXJhbSBwZXJjZW50YWdlIGVycm9yIHdoaWNoIGlzIHRvbGVyYWJsZQ0KLSAqLw0KLXZvaWQgUElEQ29udHJvbGxlcjo6U2V0QWJzb2x1dGVUb2xlcmFuY2UoZmxvYXQgYWJzVG9sZXJhbmNlKQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQltX3RvbGVyYW5jZVR5cGUgPSBrQWJzb2x1dGVUb2xlcmFuY2U7DQotCQltX3RvbGVyYW5jZSA9IGFic1RvbGVyYW5jZTsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLX0NCi0NCi0vKg0KLSAqIFJldHVybiB0cnVlIGlmIHRoZSBlcnJvciBpcyB3aXRoaW4gdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIHRvdGFsIGlucHV0IHJhbmdlLA0KLSAqIGRldGVybWluZWQgYnkgU2V0VG9sZXJhbmNlLiBUaGlzIGFzc3N1bWVzIHRoYXQgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gaW5wdXQNCi0gKiB3ZXJlIHNldCB1c2luZyBTZXRJbnB1dC4NCi0gKiBDdXJyZW50bHkgdGhpcyBqdXN0IHJlcG9ydHMgb24gdGFyZ2V0IGFzIHRoZSBhY3R1YWwgdmFsdWUgcGFzc2VzIHRocm91Z2ggdGhlIHNldHBvaW50Lg0KLSAqIElkZWFsbHkgaXQgc2hvdWxkIGJlIGJhc2VkIG9uIGJlaW5nIHdpdGhpbiB0aGUgdG9sZXJhbmNlIGZvciBzb21lIHBlcmlvZCBvZiB0aW1lLg0KLSAqLw0KLWJvb2wgUElEQ29udHJvbGxlcjo6T25UYXJnZXQoKQ0KLXsNCi0JYm9vbCB0ZW1wOw0KLQlDUklUSUNBTF9SRUdJT04obV9zZW1hcGhvcmUpDQotCXsNCi0JCXN3aXRjaCAobV90b2xlcmFuY2VUeXBlKSB7DQotCQljYXNlIGtQZXJjZW50VG9sZXJhbmNlOg0KLQkJCXRlbXAgPSBmYWJzKEdldEVycm9yKCkpIDwgKG1fdG9sZXJhbmNlIC8gMTAwICogKG1fbWF4aW11bUlucHV0IC0gbV9taW5pbXVtSW5wdXQpKTsNCi0JCQlicmVhazsNCi0JCWNhc2Uga0Fic29sdXRlVG9sZXJhbmNlOg0KLQkJCXRlbXAgPSBmYWJzKEdldEVycm9yKCkpIDwgbV90b2xlcmFuY2U7DQotCQkJYnJlYWs7DQotCQkvL1RPRE86IHRoaXMgY2FzZSBuZWVkcyBhbiBlcnJvcg0KLQkJY2FzZSBrTm9Ub2xlcmFuY2U6DQotCQkJdGVtcCA9IGZhbHNlOw0KLQkJfQ0KLQl9DQotCUVORF9SRUdJT047DQotCXJldHVybiB0ZW1wOw0KLX0NCi0NCi0vKioNCi0gKiBCZWdpbiBydW5uaW5nIHRoZSBQSURDb250cm9sbGVyDQotICovDQotdm9pZCBQSURDb250cm9sbGVyOjpFbmFibGUoKQ0KLXsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7CQkJDQotCQltX2VuYWJsZWQgPSB0cnVlOw0KLQl9DQotCUVORF9SRUdJT047CQ0KLQkNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0Qm9vbGVhbigiZW5hYmxlZCIsIHRydWUpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFN0b3AgcnVubmluZyB0aGUgUElEQ29udHJvbGxlciwgdGhpcyBzZXRzIHRoZSBvdXRwdXQgdG8gemVybyBiZWZvcmUgc3RvcHBpbmcuDQotICovDQotdm9pZCBQSURDb250cm9sbGVyOjpEaXNhYmxlKCkNCi17DQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJbV9waWRPdXRwdXQtPlBJRFdyaXRlKDApOw0KLQkJbV9lbmFibGVkID0gZmFsc2U7DQotCX0NCi0JRU5EX1JFR0lPTjsNCi0JDQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dEJvb2xlYW4oImVuYWJsZWQiLCBmYWxzZSk7DQotCX0NCi19DQotDQotLyoqDQotICogUmV0dXJuIHRydWUgaWYgUElEQ29udHJvbGxlciBpcyBlbmFibGVkLg0KLSAqLw0KLWJvb2wgUElEQ29udHJvbGxlcjo6SXNFbmFibGVkKCkNCi17DQotCWJvb2wgZW5hYmxlZDsNCi0JQ1JJVElDQUxfUkVHSU9OKG1fc2VtYXBob3JlKQ0KLQl7DQotCQllbmFibGVkID0gbV9lbmFibGVkOw0KLQl9DQotCUVORF9SRUdJT047DQotCXJldHVybiBlbmFibGVkOw0KLX0NCi0NCi0vKioNCi0gKiBSZXNldCB0aGUgcHJldmlvdXMgZXJyb3IsLCB0aGUgaW50ZWdyYWwgdGVybSwgYW5kIGRpc2FibGUgdGhlIGNvbnRyb2xsZXIuDQotICovDQotdm9pZCBQSURDb250cm9sbGVyOjpSZXNldCgpDQotew0KLQlEaXNhYmxlKCk7DQotDQotCUNSSVRJQ0FMX1JFR0lPTihtX3NlbWFwaG9yZSkNCi0Jew0KLQkJbV9wcmV2RXJyb3IgPSAwOw0KLQkJbV90b3RhbEVycm9yID0gMDsNCi0JCW1fcmVzdWx0ID0gMDsNCi0JfQ0KLQlFTkRfUkVHSU9OOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBQSURDb250cm9sbGVyOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKXsNCi0JcmV0dXJuICJQSURDb250cm9sbGVyIjsNCi19DQotDQotdm9pZCBQSURDb250cm9sbGVyOjpJbml0VGFibGUoSVRhYmxlKiB0YWJsZSl7DQotCWlmKG1fdGFibGUhPU5VTEwpDQotCQltX3RhYmxlLT5SZW1vdmVUYWJsZUxpc3RlbmVyKHRoaXMpOw0KLQltX3RhYmxlID0gdGFibGU7DQotCWlmKG1fdGFibGUhPU5VTEwpew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKGtQLCBHZXRQKCkpOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKGtJLCBHZXRJKCkpOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKGtELCBHZXREKCkpOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKGtGLCBHZXRGKCkpOw0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKGtTZXRwb2ludCwgR2V0U2V0cG9pbnQoKSk7DQotCQltX3RhYmxlLT5QdXRCb29sZWFuKGtFbmFibGVkLCBJc0VuYWJsZWQoKSk7DQotCQltX3RhYmxlLT5BZGRUYWJsZUxpc3RlbmVyKHRoaXMsIGZhbHNlKTsNCi0JfQ0KLX0NCi0NCi1JVGFibGUqIFBJRENvbnRyb2xsZXI6OkdldFRhYmxlKCl7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCi12b2lkIFBJRENvbnRyb2xsZXI6OlZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyl7DQotCWlmIChrZXk9PWtQIHx8IGtleT09a0kgfHwga2V5PT1rRCB8fCBrZXk9PWtGKSB7DQotCQlpZiAobV9QICE9IG1fdGFibGUtPkdldE51bWJlcihrUCkgfHwgbV9JICE9IG1fdGFibGUtPkdldE51bWJlcihrSSkgfHwgbV9EICE9IG1fdGFibGUtPkdldE51bWJlcihrRCkgfHwgbV9GICE9IG1fdGFibGUtPkdldE51bWJlcihrRikgICkgew0KLQkJCVNldFBJRChtX3RhYmxlLT5HZXROdW1iZXIoa1AsIDAuMCksIG1fdGFibGUtPkdldE51bWJlcihrSSwgMC4wKSwgbV90YWJsZS0+R2V0TnVtYmVyKGtELCAwLjApLCBtX3RhYmxlLT5HZXROdW1iZXIoa0YsIDAuMCkpOw0KLQkJfQ0KLQl9IGVsc2UgaWYgKGtleT09a1NldHBvaW50ICYmIG1fc2V0cG9pbnQgIT0gdmFsdWUuZikgew0KLQkJU2V0U2V0cG9pbnQodmFsdWUuZik7DQotCX0gZWxzZSBpZiAoa2V5PT1rRW5hYmxlZCAmJiBtX2VuYWJsZWQgIT0gdmFsdWUuYikgew0KLQkJaWYgKHZhbHVlLmIpIHsNCi0JCQlFbmFibGUoKTsNCi0JCX0gZWxzZSB7DQotCQkJRGlzYWJsZSgpOw0KLQkJfQ0KLQl9DQotfQ0KLQ0KLXZvaWQgUElEQ29udHJvbGxlcjo6VXBkYXRlVGFibGUoKSB7DQotCQ0KLX0NCi0NCi12b2lkIFBJRENvbnRyb2xsZXI6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCURpc2FibGUoKTsNCi19DQotDQotdm9pZCBQSURDb250cm9sbGVyOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotCQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QSURDb250cm9sbGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QSURDb250cm9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyYTE5NmUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUElEQ29udHJvbGxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBQSURDT05UUk9MTEVSX0hfDQotI2RlZmluZSBQSURDT05UUk9MTEVSX0hfDQotDQotI2luY2x1ZGUgIkJhc2UuaCINCi0jaW5jbHVkZSAic2VtTGliLmgiDQotI2luY2x1ZGUgIkNvbnRyb2xsZXIuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotY2xhc3MgUElET3V0cHV0Ow0KLWNsYXNzIFBJRFNvdXJjZTsNCi1jbGFzcyBOb3RpZmllcjsNCi0NCi0vKioNCi0gKiBDbGFzcyBpbXBsZW1lbnRzIGEgUElEIENvbnRyb2wgTG9vcC4NCi0gKiANCi0gKiBDcmVhdGVzIGEgc2VwYXJhdGUgdGhyZWFkIHdoaWNoIHJlYWRzIHRoZSBnaXZlbiBQSURTb3VyY2UgYW5kIHRha2VzDQotICogY2FyZSBvZiB0aGUgaW50ZWdyYWwgY2FsY3VsYXRpb25zLCBhcyB3ZWxsIGFzIHdyaXRpbmcgdGhlIGdpdmVuDQotICogUElET3V0cHV0DQotICovDQotY2xhc3MgUElEQ29udHJvbGxlciA6IHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUsIHB1YmxpYyBDb250cm9sbGVyLCBwdWJsaWMgSVRhYmxlTGlzdGVuZXINCi17DQotcHVibGljOg0KLQlQSURDb250cm9sbGVyKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQsDQotCQkJCQlQSURTb3VyY2UgKnNvdXJjZSwgUElET3V0cHV0ICpvdXRwdXQsDQotCQkJCQlmbG9hdCBwZXJpb2QgPSAwLjA1KTsNCi0JUElEQ29udHJvbGxlcihmbG9hdCBwLCBmbG9hdCBpLCBmbG9hdCBkLCBmbG9hdCBmLA0KLQkJCQkJUElEU291cmNlICpzb3VyY2UsIFBJRE91dHB1dCAqb3V0cHV0LA0KLQkJCQkJZmxvYXQgcGVyaW9kID0gMC4wNSk7DQotCXZpcnR1YWwgflBJRENvbnRyb2xsZXIoKTsNCi0JdmlydHVhbCBmbG9hdCBHZXQoKTsNCi0JdmlydHVhbCB2b2lkIFNldENvbnRpbnVvdXMoYm9vbCBjb250aW51b3VzID0gdHJ1ZSk7DQotCXZpcnR1YWwgdm9pZCBTZXRJbnB1dFJhbmdlKGZsb2F0IG1pbmltdW1JbnB1dCwgZmxvYXQgbWF4aW11bUlucHV0KTsNCi0JdmlydHVhbCB2b2lkIFNldE91dHB1dFJhbmdlKGZsb2F0IG1pbWltdW1PdXRwdXQsIGZsb2F0IG1heGltdW1PdXRwdXQpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0UElEKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0UElEKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQsIGZsb2F0IGYpOw0KLQl2aXJ0dWFsIGZsb2F0IEdldFAoKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRJKCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0RCgpOw0KLQl2aXJ0dWFsIGZsb2F0IEdldEYoKTsNCi0JDQotCXZpcnR1YWwgdm9pZCBTZXRTZXRwb2ludChmbG9hdCBzZXRwb2ludCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0U2V0cG9pbnQoKTsNCi0NCi0JdmlydHVhbCBmbG9hdCBHZXRFcnJvcigpOw0KLQkNCi0JdmlydHVhbCB2b2lkIFNldFRvbGVyYW5jZShmbG9hdCBwZXJjZW50KTsNCi0JdmlydHVhbCB2b2lkIFNldEFic29sdXRlVG9sZXJhbmNlKGZsb2F0IGFic1ZhbHVlKTsNCi0JdmlydHVhbCB2b2lkIFNldFBlcmNlbnRUb2xlcmFuY2UoZmxvYXQgcGVyY2VudFZhbHVlKTsNCi0JdmlydHVhbCBib29sIE9uVGFyZ2V0KCk7DQotCQ0KLQl2aXJ0dWFsIHZvaWQgRW5hYmxlKCk7DQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlKCk7DQotCXZpcnR1YWwgYm9vbCBJc0VuYWJsZWQoKTsNCi0JDQotCXZpcnR1YWwgdm9pZCBSZXNldCgpOw0KLQkNCi0JdmlydHVhbCB2b2lkIEluaXRUYWJsZShJVGFibGUqIHRhYmxlKTsNCi0NCi1wcml2YXRlOg0KLQlmbG9hdCBtX1A7CQkJLy8gZmFjdG9yIGZvciAicHJvcG9ydGlvbmFsIiBjb250cm9sDQotCWZsb2F0IG1fSTsJCQkvLyBmYWN0b3IgZm9yICJpbnRlZ3JhbCIgY29udHJvbA0KLQlmbG9hdCBtX0Q7CQkJLy8gZmFjdG9yIGZvciAiZGVyaXZhdGl2ZSIgY29udHJvbA0KLQlmbG9hdCBtX0Y7CQkJLy8gZmFjdG9yIGZvciAiZmVlZCBmb3J3YXJkIiBjb250cm9sDQotCWZsb2F0IG1fbWF4aW11bU91dHB1dDsJLy8gfG1heGltdW0gb3V0cHV0fA0KLQlmbG9hdCBtX21pbmltdW1PdXRwdXQ7CS8vIHxtaW5pbXVtIG91dHB1dHwNCi0JZmxvYXQgbV9tYXhpbXVtSW5wdXQ7CQkvLyBtYXhpbXVtIGlucHV0IC0gbGltaXQgc2V0cG9pbnQgdG8gdGhpcw0KLQlmbG9hdCBtX21pbmltdW1JbnB1dDsJCS8vIG1pbmltdW0gaW5wdXQgLSBsaW1pdCBzZXRwb2ludCB0byB0aGlzDQotCWJvb2wgbV9jb250aW51b3VzOwkvLyBkbyB0aGUgZW5kcG9pbnRzIHdyYXAgYXJvdW5kPyBlZy4gQWJzb2x1dGUgZW5jb2Rlcg0KLQlib29sIG1fZW5hYmxlZDsgCQkJLy9pcyB0aGUgcGlkIGNvbnRyb2xsZXIgZW5hYmxlZA0KLQlmbG9hdCBtX3ByZXZFcnJvcjsJLy8gdGhlIHByaW9yIHNlbnNvciBpbnB1dCAodXNlZCB0byBjb21wdXRlIHZlbG9jaXR5KQ0KLQlkb3VibGUgbV90b3RhbEVycm9yOyAvL3RoZSBzdW0gb2YgdGhlIGVycm9ycyBmb3IgdXNlIGluIHRoZSBpbnRlZ3JhbCBjYWxjDQotCWVudW0ge2tBYnNvbHV0ZVRvbGVyYW5jZSwga1BlcmNlbnRUb2xlcmFuY2UsIGtOb1RvbGVyYW5jZX0gbV90b2xlcmFuY2VUeXBlOw0KLQlmbG9hdCBtX3RvbGVyYW5jZTsJLy90aGUgcGVyY2V0YWdlIG9yIGFic29sdXRlIGVycm9yIHRoYXQgaXMgY29uc2lkZXJlZCBvbiB0YXJnZXQNCi0JZmxvYXQgbV9zZXRwb2ludDsNCi0JZmxvYXQgbV9lcnJvcjsNCi0JZmxvYXQgbV9yZXN1bHQ7DQotCWZsb2F0IG1fcGVyaW9kOw0KLQkNCi0JU0VNX0lEIG1fc2VtYXBob3JlOw0KLQkNCi0JUElEU291cmNlICptX3BpZElucHV0Ow0KLQlQSURPdXRwdXQgKm1fcGlkT3V0cHV0Ow0KLQlOb3RpZmllciAqbV9jb250cm9sTG9vcDsNCi0NCi0Jdm9pZCBJbml0aWFsaXplKGZsb2F0IHAsIGZsb2F0IGksIGZsb2F0IGQsIGZsb2F0IGYsDQotCQkJCQlQSURTb3VyY2UgKnNvdXJjZSwgUElET3V0cHV0ICpvdXRwdXQsDQotCQkJCQlmbG9hdCBwZXJpb2QgPSAwLjA1KTsNCi0Jc3RhdGljIHZvaWQgQ2FsbENhbGN1bGF0ZSh2b2lkICpjb250cm9sbGVyKTsNCi0Jdm9pZCBDYWxjdWxhdGUoKTsNCi0JDQotCXZpcnR1YWwgSVRhYmxlKiBHZXRUYWJsZSgpOw0KLQl2aXJ0dWFsIHN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2aXJ0dWFsIHZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi0JdmlydHVhbCB2b2lkIFVwZGF0ZVRhYmxlKCk7DQotCXZpcnR1YWwgdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZpcnR1YWwgdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi1wcm90ZWN0ZWQ6DQotCUlUYWJsZSogbV90YWJsZTsNCi0NCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFBJRENvbnRyb2xsZXIpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUElET3V0cHV0LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QSURPdXRwdXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZkMDNjZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QSURPdXRwdXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBQSURfT1VUUFVUX0gNCi0jZGVmaW5lIFBJRF9PVVRQVVRfSA0KLQ0KLSNpbmNsdWRlICJCYXNlLmgiDQotDQotLyoqDQotICogUElET3V0cHV0IGludGVyZmFjZSBpcyBhIGdlbmVyaWMgb3V0cHV0IGZvciB0aGUgUElEIGNsYXNzLg0KLSAqIFBXTXMgdXNlIHRoaXMgY2xhc3MuDQotICogVXNlcnMgaW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlIHRvIGFsbG93IGZvciBhIFBJRENvbnRyb2xsZXIgdG8gDQotICogcmVhZCBkaXJlY3RseSBmcm9tIHRoZSBpbnB1dHMNCi0gKi8NCi1jbGFzcyBQSURPdXRwdXQNCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIHZvaWQgUElEV3JpdGUoZmxvYXQgb3V0cHV0KSA9IDA7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QSURTb3VyY2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1BJRFNvdXJjZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGQ2NzgwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1BJRFNvdXJjZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFBJRF9TT1VSQ0VfSA0KLSNkZWZpbmUgUElEX1NPVVJDRV9IDQotDQotLyoqDQotICogUElEU291cmNlIGludGVyZmFjZSBpcyBhIGdlbmVyaWMgc2Vuc29yIHNvdXJjZSBmb3IgdGhlIFBJRCBjbGFzcy4NCi0gKiBBbGwgc2Vuc29ycyB0aGF0IGNhbiBiZSB1c2VkIHdpdGggdGhlIFBJRCBjbGFzcyB3aWxsIGltcGxlbWVudCB0aGUgUElEU291cmNlIHRoYXQNCi0gKiByZXR1cm5zIGEgc3RhbmRhcmQgdmFsdWUgdGhhdCB3aWxsIGJlIHVzZWQgaW4gdGhlIFBJRCBjb2RlLg0KLSAqLw0KLWNsYXNzIFBJRFNvdXJjZQ0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgZG91YmxlIFBJREdldCgpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1BQQzYwM2dudS9NYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1BQQzYwM2dudS9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTEwNDcwMC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QUEM2MDNnbnUvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxMDc2ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotVFJBQ0U9MA0KLVRSQUNFT049JChUUkFDRTowPUApDQotVFJBQ0VfRkxBRz0kKFRSQUNFT046MT0pDQotDQotTUFLRUZJTEUgOj0gTWFrZWZpbGUNCi0NCi1GTEVYSUJMRV9CVUlMRCA6PSAxDQotDQotQlVJTERfU1BFQyA9IFBQQzYwM2dudQ0KLURFQlVHX01PREUgPSAxDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU1PREVfRElSIDo9IERlYnVnDQotZWxzZQ0KLU1PREVfRElSIDo9IE5vbkRlYnVnDQotZW5kaWYNCi1PQkpfRElSIDo9IC4NCi1XU19ST09UX0RJUiA6PSBDOi9XaW5kUml2ZXIvd29ya3NwYWNlDQotUFJKX1JPT1RfRElSIDo9ICQoV1NfUk9PVF9ESVIpL1dQSUxpYg0KLQ0KLQ0KLQ0KLSNHbG9iYWwgQnVpbGQgTWFjcm9zDQotUFJPSkVDVF9UWVBFID0gREtNDQotREVGSU5FUyA9IA0KLUVYUEFORF9EQkcgPSAwDQotDQotDQotI0J1aWxkU3BlYyBzcGVjaWZpYyBCdWlsZCBNYWNyb3MNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi0NCi1JREVfREVGSU5FUyA9IA0KLQ0KLQ0KLQ0KLSNCdWlsZFRvb2wgZmxhZ3MNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotREVCVUdGTEFHU19MaW5rZXIgPSAtZw0KLURFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1ERUJVR0ZMQUdTX0xpYnJhcmlhbiA9IA0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLURFQlVHRkxBR1NfTGlua2VyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLURFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1ERUJVR0ZMQUdTX0xpYnJhcmlhbiA9IA0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotDQotDQotI1Byb2plY3QgVGFyZ2V0cw0KLVBST0pFQ1RfVEFSR0VUUyA9IFdQSUxpYi8kKE1PREVfRElSKS9XUElMaWIuYSBcDQotCSBKYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL0phdmFDYW1lcmFMaWIuYQ0KLQ0KLQ0KLSNSdWxlcw0KLQ0KLSMgV1BJTGliDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlua2VyID0gLWcNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotV1BJTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotV1BJTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0xpbmtlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotV1BJTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogSURFX0xJQlJBUklFUyA9IA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogSURFX0RFRklORVMgPSANCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IFBST0pFQ1RfVFlQRSA9IERLTQ0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogREVGSU5FUyA9IA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogRVhQQU5EX0RCRyA9IDANCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IFZYX0NQVV9GQU1JTFkgPSBwcGMNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IENQVSA9IFBQQzYwMw0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogVE9PTF9GQU1JTFkgPSBnbnUNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IFRPT0wgPSBnbnUNCi1XUElMaWIvJChNT0RFX0RJUikvJSA6IFRPT0xfUEFUSCA9IA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogTElCUEFUSCA9IA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogTElCUyA9IA0KLVdQSUxpYi8kKE1PREVfRElSKS8lIDogT0JKX0RJUiA6PSBXUElMaWIvJChNT0RFX0RJUikNCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQURYTDM0NV9JMkMubyA6ICQoUFJKX1JPT1RfRElSKS9BRFhMMzQ1X0kyQy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BRFhMMzQ1X1NQSS5vIDogJChQUkpfUk9PVF9ESVIpL0FEWEwzNDVfU1BJLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FjY2VsZXJvbWV0ZXIubyA6ICQoUFJKX1JPT1RfRElSKS9BY2NlbGVyb21ldGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ0NoYW5uZWwubyA6ICQoUFJKX1JPT1RfRElSKS9BbmFsb2dDaGFubmVsLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ01vZHVsZS5vIDogJChQUkpfUk9PVF9ESVIpL0FuYWxvZ01vZHVsZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dUcmlnZ2VyLm8gOiAkKFBSSl9ST09UX0RJUikvQW5hbG9nVHJpZ2dlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dUcmlnZ2VyT3V0cHV0Lm8gOiAkKFBSSl9ST09UX0RJUikvQW5hbG9nVHJpZ2dlck91dHB1dC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0FuYWxvZ0lPQnV0dG9uLm8gOiAkKFBSSl9ST09UX0RJUikvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0J1dHRvbi5vIDogJChQUkpfUk9PVF9ESVIpL0J1dHRvbnMvQnV0dG9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0J1dHRvbnMvQnV0dG9uU2NoZWR1bGVyLm8gOiAkKFBSSl9ST09UX0RJUikvQnV0dG9ucy9CdXR0b25TY2hlZHVsZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9EaWdpdGFsSU9CdXR0b24ubyA6ICQoUFJKX1JPT1RfRElSKS9CdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIubyA6ICQoUFJKX1JPT1RfRElSKS9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9JbnRlcm5hbEJ1dHRvbi5vIDogJChQUkpfUk9PVF9ESVIpL0J1dHRvbnMvSW50ZXJuYWxCdXR0b24uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9Kb3lzdGlja0J1dHRvbi5vIDogJChQUkpfUk9PVF9ESVIpL0J1dHRvbnMvSm95c3RpY2tCdXR0b24uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9OZXR3b3JrQnV0dG9uLm8gOiAkKFBSSl9ST09UX0RJUikvQnV0dG9ucy9OZXR3b3JrQnV0dG9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0J1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5vIDogJChQUkpfUk9PVF9ESVIpL0J1dHRvbnMvUHJlc3NlZEJ1dHRvblNjaGVkdWxlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1JlbGVhc2VkQnV0dG9uU2NoZWR1bGVyLm8gOiAkKFBSSl9ST09UX0RJUikvQnV0dG9ucy9SZWxlYXNlZEJ1dHRvblNjaGVkdWxlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1RyaWdnZXIubyA6ICQoUFJKX1JPT1RfRElSKS9CdXR0b25zL1RyaWdnZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ0FOSmFndWFyLm8gOiAkKFBSSl9ST09UX0RJUikvQ0FOSmFndWFyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9Db21tYW5kLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmRHcm91cC5vIDogJChQUkpfUk9PVF9ESVIpL0NvbW1hbmRzL0NvbW1hbmRHcm91cC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9Db21tYW5kR3JvdXBFbnRyeS5vIDogJChQUkpfUk9PVF9ESVIpL0NvbW1hbmRzL0NvbW1hbmRHcm91cEVudHJ5LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1BJRENvbW1hbmQubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9QSURDb21tYW5kLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1BJRFN1YnN5c3RlbS5vIDogJChQUkpfUk9PVF9ESVIpL0NvbW1hbmRzL1BJRFN1YnN5c3RlbS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9QcmludENvbW1hbmQubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9QcmludENvbW1hbmQuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvU2NoZWR1bGVyLm8gOiAkKFBSSl9ST09UX0RJUikvQ29tbWFuZHMvU2NoZWR1bGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1N0YXJ0Q29tbWFuZC5vIDogJChQUkpfUk9PVF9ESVIpL0NvbW1hbmRzL1N0YXJ0Q29tbWFuZC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9TdWJzeXN0ZW0ubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9TdWJzeXN0ZW0uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvV2FpdENvbW1hbmQubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9XYWl0Q29tbWFuZC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4ubyA6ICQoUFJKX1JPT1RfRElSKS9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5vIDogJChQUkpfUk9PVF9ESVIpL0NvbW1hbmRzL1dhaXRVbnRpbENvbW1hbmQuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tcHJlc3Nvci5vIDogJChQUkpfUk9PVF9ESVIpL0NvbXByZXNzb3IuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ291bnRlci5vIDogJChQUkpfUk9PVF9ESVIpL0NvdW50ZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRGFzaGJvYXJkLm8gOiAkKFBSSl9ST09UX0RJUikvRGFzaGJvYXJkLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RpZ2l0YWxJbnB1dC5vIDogJChQUkpfUk9PVF9ESVIpL0RpZ2l0YWxJbnB1dC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9EaWdpdGFsTW9kdWxlLm8gOiAkKFBSSl9ST09UX0RJUikvRGlnaXRhbE1vZHVsZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9EaWdpdGFsT3V0cHV0Lm8gOiAkKFBSSl9ST09UX0RJUikvRGlnaXRhbE91dHB1dC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9EaWdpdGFsU291cmNlLm8gOiAkKFBSSl9ST09UX0RJUikvRGlnaXRhbFNvdXJjZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Eb3VibGVTb2xlbm9pZC5vIDogJChQUkpfUk9PVF9ESVIpL0RvdWJsZVNvbGVub2lkLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb24ubyA6ICQoUFJKX1JPT1RfRElSKS9Ecml2ZXJTdGF0aW9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb25FbmhhbmNlZElPLm8gOiAkKFBSSl9ST09UX0RJUikvRHJpdmVyU3RhdGlvbkVuaGFuY2VkSU8uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRHJpdmVyU3RhdGlvbkxDRC5vIDogJChQUkpfUk9PVF9ESVIpL0RyaXZlclN0YXRpb25MQ0QuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRW5jb2Rlci5vIDogJChQUkpfUk9PVF9ESVIpL0VuY29kZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRXJyb3IubyA6ICQoUFJKX1JPT1RfRElSKS9FcnJvci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9FcnJvckJhc2UubyA6ICQoUFJKX1JPT1RfRElSKS9FcnJvckJhc2UuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvR2VhclRvb3RoLm8gOiAkKFBSSl9ST09UX0RJUikvR2VhclRvb3RoLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0d5cm8ubyA6ICQoUFJKX1JPT1RfRElSKS9HeXJvLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0hpVGVjaG5pY0NvbXBhc3MubyA6ICQoUFJKX1JPT1RfRElSKS9IaVRlY2huaWNDb21wYXNzLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0kyQy5vIDogJChQUkpfUk9PVF9ESVIpL0kyQy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9JbnRlcnJ1cHRhYmxlU2Vuc29yQmFzZS5vIDogJChQUkpfUk9PVF9ESVIpL0ludGVycnVwdGFibGVTZW5zb3JCYXNlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0l0ZXJhdGl2ZVJvYm90Lm8gOiAkKFBSSl9ST09UX0RJUikvSXRlcmF0aXZlUm9ib3QuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSmFndWFyLm8gOiAkKFBSSl9ST09UX0RJUikvSmFndWFyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0pveXN0aWNrLm8gOiAkKFBSSl9ST09UX0RJUikvSm95c3RpY2suY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvS2luZWN0Lm8gOiAkKFBSSl9ST09UX0RJUikvS2luZWN0LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0tpbmVjdFN0aWNrLm8gOiAkKFBSSl9ST09UX0RJUikvS2luZWN0U3RpY2suY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93Lm8gOiAkKFBSSl9ST09UX0RJUikvTGl2ZVdpbmRvdy9MaXZlV2luZG93LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0xpdmVXaW5kb3cvTGl2ZVdpbmRvd1N0YXR1c0xpc3RlbmVyLm8gOiAkKFBSSl9ST09UX0RJUikvTGl2ZVdpbmRvdy9MaXZlV2luZG93U3RhdHVzTGlzdGVuZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTW9kdWxlLm8gOiAkKFBSSl9ST09UX0RJUikvTW9kdWxlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLm8gOiAkKFBSSl9ST09UX0RJUikvTW90b3JTYWZldHlIZWxwZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTm90aWZpZXIubyA6ICQoUFJKX1JPT1RfRElSKS9Ob3RpZmllci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9QSURDb250cm9sbGVyLm8gOiAkKFBSSl9ST09UX0RJUikvUElEQ29udHJvbGxlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9QV00ubyA6ICQoUFJKX1JPT1RfRElSKS9QV00uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvUHJlZmVyZW5jZXMubyA6ICQoUFJKX1JPT1RfRElSKS9QcmVmZXJlbmNlcy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9SZWxheS5vIDogJChQUkpfUk9PVF9ESVIpL1JlbGF5LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Jlc291cmNlLm8gOiAkKFBSSl9ST09UX0RJUikvUmVzb3VyY2UuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvUm9ib3RCYXNlLm8gOiAkKFBSSl9ST09UX0RJUikvUm9ib3RCYXNlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1JvYm90RHJpdmUubyA6ICQoUFJKX1JPT1RfRElSKS9Sb2JvdERyaXZlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NQSS5vIDogJChQUkpfUk9PVF9ESVIpL1NQSS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TYWZlUFdNLm8gOiAkKFBSSl9ST09UX0RJUikvU2FmZVBXTS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TZW5zb3JCYXNlLm8gOiAkKFBSSl9ST09UX0RJUikvU2Vuc29yQmFzZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TZXJpYWxQb3J0Lm8gOiAkKFBSSl9ST09UX0RJUikvU2VyaWFsUG9ydC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TZXJ2by5vIDogJChQUkpfUk9PVF9ESVIpL1NlcnZvLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NpbXBsZVJvYm90Lm8gOiAkKFBSSl9ST09UX0RJUikvU2ltcGxlUm9ib3QuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLm8gOiAkKFBSSl9ST09UX0RJUikvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLm8gOiAkKFBSSl9ST09UX0RJUikvU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU29sZW5vaWQubyA6ICQoUFJKX1JPT1RfRElSKS9Tb2xlbm9pZC5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Tb2xlbm9pZEJhc2UubyA6ICQoUFJKX1JPT1RfRElSKS9Tb2xlbm9pZEJhc2UuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU3luY2hyb25pemVkLm8gOiAkKFBSSl9ST09UX0RJUikvU3luY2hyb25pemVkLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1RhbG9uLm8gOiAkKFBSSl9ST09UX0RJUikvVGFsb24uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVGFzay5vIDogJChQUkpfUk9PVF9ESVIpL1Rhc2suY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVGltZXIubyA6ICQoUFJKX1JPT1RfRElSKS9UaW1lci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9VbHRyYXNvbmljLm8gOiAkKFBSSl9ST09UX0RJUikvVWx0cmFzb25pYy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9VdGlsaXR5Lm8gOiAkKFBSSl9ST09UX0RJUikvVXRpbGl0eS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaWN0b3IubyA6ICQoUFJKX1JPT1RfRElSKS9WaWN0b3IuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24vQXhpc0NhbWVyYS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vQXhpc0NhbWVyYVBhcmFtcy5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9CaW5hcnlJbWFnZS5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9CaW5hcnlJbWFnZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vQ29sb3JJbWFnZS5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9Db2xvckltYWdlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uL0VudW1DYW1lcmFQYXJhbWV0ZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0hTTEltYWdlLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uL0hTTEltYWdlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9JbWFnZUJhc2UubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24vSW1hZ2VCYXNlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24vSW50Q2FtZXJhUGFyYW1ldGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9Nb25vSW1hZ2UubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24vTW9ub0ltYWdlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9QQ1ZpZGVvU2VydmVyLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uL1BDVmlkZW9TZXJ2ZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL1JHQkltYWdlLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uL1JHQkltYWdlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9UaHJlc2hvbGQubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24vVGhyZXNob2xkLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvQXhpc0NhbWVyYS5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbjIwMDkvQXhpc0NhbWVyYS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24yMDA5L0JhZVV0aWxpdGllcy5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbjIwMDkvQmFlVXRpbGl0aWVzLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvRnJjRXJyb3IubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24yMDA5L0ZyY0Vycm9yLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvVHJhY2tBUEkubyA6ICQoUFJKX1JPT1RfRElSKS9WaXNpb24yMDA5L1RyYWNrQVBJLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvVmlzaW9uQVBJLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uMjAwOS9WaXNpb25BUEkuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvV2F0Y2hkb2cubyA6ICQoUFJKX1JPT1RfRElSKS9XYXRjaGRvZy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVNb2RlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVNb2RlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlUHJvdmlkZXIubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZUVudHJ5Lm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZU5vZGUuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvT3V0Z29pbmdFbnRyeVJlY2lldmVyLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvT3V0Z29pbmdFbnRyeVJlY2lldmVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL1RhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24ubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL1RyYW5zYWN0aW9uRGlydGllci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL1RyYW5zYWN0aW9uRGlydGllci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25BZGFwdGVyLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25BZGFwdGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uU3RhdGUubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvblN0YXRlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L05ldHdvcmtUYWJsZUNsaWVudC5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9CYWRNZXNzYWdlRXhjZXB0aW9uLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9CYWRNZXNzYWdlRXhjZXB0aW9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0Nvbm5lY3Rpb25Nb25pdG9yVGhyZWFkLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vRGF0YUlPU3RyZWFtLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvTmV0d29ya1RhYmxlU2VydmVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvbkxpc3QubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvbkxpc3QuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25TdGF0ZS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uU3RhdGUuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckluY29taW5nU3RyZWFtTW9uaXRvci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vRkRJT1N0cmVhbS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9GRElPU3RyZWFtLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtRmFjdG9yeS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1GYWN0b3J5LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFN0cmVhbXMuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL0RlZmF1bHRUaHJlYWRNYW5nZXIubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmdlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RGF0YS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlFbnRyeVR5cGUubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQm9vbGVhbkFycmF5Lm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleERhdGEuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RW50cnlUeXBlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RW50cnlUeXBlLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvRGVmYXVsdEVudHJ5VHlwZXMubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi90eXBlL051bWJlckFycmF5LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvU3RyaW5nQXJyYXkubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdXRpbC9FT0ZFeGNlcHRpb24uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24uY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JbGxlZ2FsU3RhdGVFeGNlcHRpb24ubyA6ICQoUFJKX1JPT1RfRElSKS9uZXR3b3JrdGFibGVzMi91dGlsL0lsbGVnYWxTdGF0ZUV4Y2VwdGlvbi5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N0cmluZ0NhY2hlLm8gOiAkKFBSSl9ST09UX0RJUikvbmV0d29ya3RhYmxlczIvdXRpbC9TdHJpbmdDYWNoZS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5vIDogJChQUkpfUk9PVF9ESVIpL25ldHdvcmt0YWJsZXMyL3V0aWwvU3lzdGVtLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL3RhYmxlcy9UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24ubyA6ICQoUFJKX1JPT1RfRElSKS90YWJsZXMvVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotT0JKRUNUU19XUElMaWIgPSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQURYTDM0NV9JMkMubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQURYTDM0NV9TUEkubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQWNjZWxlcm9tZXRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dDaGFubmVsLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ01vZHVsZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dUcmlnZ2VyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ1RyaWdnZXJPdXRwdXQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0J1dHRvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0J1dHRvblNjaGVkdWxlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9JbnRlcm5hbEJ1dHRvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0pveXN0aWNrQnV0dG9uLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0J1dHRvbnMvTmV0d29ya0J1dHRvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1ByZXNzZWRCdXR0b25TY2hlZHVsZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9SZWxlYXNlZEJ1dHRvblNjaGVkdWxlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1RyaWdnZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ0FOSmFndWFyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZEdyb3VwLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmRHcm91cEVudHJ5Lm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1BJRENvbW1hbmQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvUElEU3Vic3lzdGVtLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1ByaW50Q29tbWFuZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9TY2hlZHVsZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvU3RhcnRDb21tYW5kLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1N1YnN5c3RlbS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9XYWl0Q29tbWFuZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21wcmVzc29yLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvdW50ZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRGFzaGJvYXJkLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RpZ2l0YWxJbnB1dC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9EaWdpdGFsTW9kdWxlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RpZ2l0YWxPdXRwdXQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRGlnaXRhbFNvdXJjZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Eb3VibGVTb2xlbm9pZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Ecml2ZXJTdGF0aW9uLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb25FbmhhbmNlZElPLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb25MQ0QubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRW5jb2Rlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9FcnJvci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9FcnJvckJhc2UubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvR2VhclRvb3RoLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0d5cm8ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSGlUZWNobmljQ29tcGFzcy5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9JMkMubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSW50ZXJydXB0YWJsZVNlbnNvckJhc2UubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSXRlcmF0aXZlUm9ib3QubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSmFndWFyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0pveXN0aWNrLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0tpbmVjdC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9LaW5lY3RTdGljay5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3cubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93U3RhdHVzTGlzdGVuZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTW9kdWxlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL05vdGlmaWVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1BJRENvbnRyb2xsZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvUFdNLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1ByZWZlcmVuY2VzLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1JlbGF5Lm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Jlc291cmNlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1JvYm90QmFzZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Sb2JvdERyaXZlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NQSS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TYWZlUFdNLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NlbnNvckJhc2UubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU2VyaWFsUG9ydC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TZXJ2by5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TaW1wbGVSb2JvdC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TbWFydERhc2hib2FyZC9TZW5kYWJsZUNob29zZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU29sZW5vaWQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU29sZW5vaWRCYXNlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1N5bmNocm9uaXplZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9UYWxvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9UYXNrLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1RpbWVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1VsdHJhc29uaWMubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVXRpbGl0eS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaWN0b3IubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0JpbmFyeUltYWdlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9Db2xvckltYWdlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9IU0xJbWFnZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL01vbm9JbWFnZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vUENWaWRlb1NlcnZlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vUkdCSW1hZ2UubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL1RocmVzaG9sZC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24yMDA5L0F4aXNDYW1lcmEubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uMjAwOS9CYWVVdGlsaXRpZXMubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uMjAwOS9GcmNFcnJvci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24yMDA5L1RyYWNrQVBJLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvVmlzaW9uQVBJLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1dhdGNoZG9nLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9BYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9PdXRnb2luZ0VudHJ5UmVjaWV2ZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvV3JpdGVNYW5hZ2VyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvblN0YXRlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9CYWRNZXNzYWdlRXhjZXB0aW9uLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25BZGFwdGVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uTGlzdC5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvblN0YXRlLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1GYWN0b3J5Lm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9EZWZhdWx0VGhyZWFkTWFuZ2VyLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlFbnRyeVR5cGUubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhFbnRyeVR5cGUubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OdW1iZXJBcnJheS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5Lm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLm8gXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JbGxlZ2FsU3RhdGVFeGNlcHRpb24ubyBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9TdHJpbmdDYWNoZS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5vIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi90YWJsZXMvVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uLm8NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvV1BJTGliLmEgOiAkKE9CSkVDVFNfV1BJTGliKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTtlY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWFycHBjIGNydXMgIiRAIiAkKE9CSkVDVFNfV1BJTGliKQ0KLQ0KLVdQSUxpYi8kKE1PREVfRElSKS9XUElMaWJfY29tcGlsZV9maWxlIDogJChGSUxFKSA7DQotDQotX2NsZWFuIDo6IFdQSUxpYi8kKE1PREVfRElSKS9XUElMaWJfY2xlYW4NCi0NCi1XUElMaWIvJChNT0RFX0RJUikvV1BJTGliX2NsZWFuIDogDQotCSQoVFJBQ0VfRkxBRylpZiBbIC1kICJXUElMaWIiIF07IHRoZW4gY2QgIldQSUxpYiI7IHJtIC1yZiAkKE1PREVfRElSKTsgZmkNCi0NCi0NCi0jIEphdmFDYW1lcmFMaWINCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19MaW5rZXIgPSAtZw0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0xpYnJhcmlhbiA9IA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlua2VyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfUGFydGlhbC1JbWFnZS1MaW5rZXIgPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0xpYnJhcmlhbiA9IA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS8lIDogSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IElERV9MSUJSQVJJRVMgPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBJREVfREVGSU5FUyA9IA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IFBST0pFQ1RfVFlQRSA9IERLTQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IERFRklORVMgPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBFWFBBTkRfREJHID0gMA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IFZYX0NQVV9GQU1JTFkgPSBwcGMNCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBDUFUgPSBQUEM2MDMNCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBUT09MX0ZBTUlMWSA9IGdudQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IFRPT0wgPSBnbnUNCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBUT09MX1BBVEggPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBDQ19BUkNIX1NQRUMgPSAtbWNwdT02MDMgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtbWxvbmdjYWxsDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS8lIDogTElCUEFUSCA9IA0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvJSA6IExJQlMgPSANCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpLyUgOiBPQkpfRElSIDo9IEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikNCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvUENWaWRlb1NlcnZlci5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9QQ1ZpZGVvU2VydmVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvQXhpc0NhbWVyYS5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9BeGlzQ2FtZXJhLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvQXhpc0NhbWVyYVBhcmFtcy5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvRW51bUNhbWVyYVBhcmFtZXRlci5vIDogJChQUkpfUk9PVF9ESVIpL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLmNwcCAkKEZPUkNFX0ZJTEVfQlVJTEQpDQotCSQoVFJBQ0VfRkxBRylpZiBbICEgLWQgImBkaXJuYW1lICIkQCJgIiBdOyB0aGVuIG1rZGlyIC1wICJgZGlybmFtZSAiJEAiYCI7IGZpOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1ESkFWQV9DQU1FUkFfTElCPTEgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvSW50Q2FtZXJhUGFyYW1ldGVyLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uL0ludENhbWVyYVBhcmFtZXRlci5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtREpBVkFfQ0FNRVJBX0xJQj0xIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0Vycm9yLm8gOiAkKFBSSl9ST09UX0RJUikvRXJyb3IuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURKQVZBX0NBTUVSQV9MSUI9MSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9FcnJvckJhc2UubyA6ICQoUFJKX1JPT1RfRElSKS9FcnJvckJhc2UuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURKQVZBX0NBTUVSQV9MSUI9MSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9UYXNrLm8gOiAkKFBSSl9ST09UX0RJUikvVGFzay5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtREpBVkFfQ0FNRVJBX0xJQj0xIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1RpbWVyLm8gOiAkKFBSSl9ST09UX0RJUikvVGltZXIuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURKQVZBX0NBTUVSQV9MSUI9MSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9TeW5jaHJvbml6ZWQubyA6ICQoUFJKX1JPT1RfRElSKS9TeW5jaHJvbml6ZWQuY3BwICQoRk9SQ0VfRklMRV9CVUlMRCkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURKQVZBX0NBTUVSQV9MSUI9MSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9VdGlsaXR5Lm8gOiAkKFBSSl9ST09UX0RJUikvVXRpbGl0eS5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtREpBVkFfQ0FNRVJBX0xJQj0xIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotDQotT0JKRUNUU19KYXZhQ2FtZXJhTGliID0gSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1BDVmlkZW9TZXJ2ZXIubyBcDQotCSBKYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvQXhpc0NhbWVyYS5vIFwNCi0JIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9BeGlzQ2FtZXJhUGFyYW1zLm8gXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0VudW1DYW1lcmFQYXJhbWV0ZXIubyBcDQotCSBKYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvSW50Q2FtZXJhUGFyYW1ldGVyLm8gXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0Vycm9yLm8gXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0Vycm9yQmFzZS5vIFwNCi0JIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9UYXNrLm8gXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1RpbWVyLm8gXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1N5bmNocm9uaXplZC5vIFwNCi0JIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9VdGlsaXR5Lm8NCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL0phdmFDYW1lcmFMaWIuYSA6ICQoT0JKRUNUU19KYXZhQ2FtZXJhTGliKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTtlY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWFycHBjIGNydXMgIiRAIiAkKE9CSkVDVFNfSmF2YUNhbWVyYUxpYikNCi0NCi1KYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL0phdmFDYW1lcmFMaWJfY29tcGlsZV9maWxlIDogJChGSUxFKSA7DQotDQotX2NsZWFuIDo6IEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvSmF2YUNhbWVyYUxpYl9jbGVhbg0KLQ0KLUphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvSmF2YUNhbWVyYUxpYl9jbGVhbiA6IA0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAtZCAiSmF2YUNhbWVyYUxpYiIgXTsgdGhlbiBjZCAiSmF2YUNhbWVyYUxpYiI7IHJtIC1yZiAkKE1PREVfRElSKTsgZmkNCi0NCi1mb3JjZSA6IA0KLQ0KLURFUF9GSUxFUyA6PSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQURYTDM0NV9JMkMuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQURYTDM0NV9TUEkuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQWNjZWxlcm9tZXRlci5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dDaGFubmVsLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ01vZHVsZS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9BbmFsb2dUcmlnZ2VyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0FuYWxvZ1RyaWdnZXJPdXRwdXQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0J1dHRvbi5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0J1dHRvblNjaGVkdWxlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0hlbGRCdXR0b25TY2hlZHVsZXIuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9JbnRlcm5hbEJ1dHRvbi5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL0pveXN0aWNrQnV0dG9uLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0J1dHRvbnMvTmV0d29ya0J1dHRvbi5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1ByZXNzZWRCdXR0b25TY2hlZHVsZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQnV0dG9ucy9SZWxlYXNlZEJ1dHRvblNjaGVkdWxlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9CdXR0b25zL1RyaWdnZXIuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ0FOSmFndWFyLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvQ29tbWFuZEdyb3VwLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL0NvbW1hbmRHcm91cEVudHJ5LmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1BJRENvbW1hbmQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvUElEU3Vic3lzdGVtLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1ByaW50Q29tbWFuZC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9TY2hlZHVsZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvU3RhcnRDb21tYW5kLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvbW1hbmRzL1N1YnN5c3RlbS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9XYWl0Q29tbWFuZC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21tYW5kcy9XYWl0Rm9yQ2hpbGRyZW4uZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvQ29tbWFuZHMvV2FpdFVudGlsQ29tbWFuZC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Db21wcmVzc29yLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0NvdW50ZXIuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRGFzaGJvYXJkLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RpZ2l0YWxJbnB1dC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9EaWdpdGFsTW9kdWxlLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RpZ2l0YWxPdXRwdXQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRGlnaXRhbFNvdXJjZS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Eb3VibGVTb2xlbm9pZC5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Ecml2ZXJTdGF0aW9uLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb25FbmhhbmNlZElPLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0RyaXZlclN0YXRpb25MQ0QuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvRW5jb2Rlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9FcnJvci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9FcnJvckJhc2UuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvR2VhclRvb3RoLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0d5cm8uZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSGlUZWNobmljQ29tcGFzcy5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9JMkMuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSXRlcmF0aXZlUm9ib3QuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvSmFndWFyLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0pveXN0aWNrLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL0tpbmVjdC5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9LaW5lY3RTdGljay5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9MaXZlV2luZG93L0xpdmVXaW5kb3cuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTGl2ZVdpbmRvdy9MaXZlV2luZG93U3RhdHVzTGlzdGVuZXIuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvTW9kdWxlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL01vdG9yU2FmZXR5SGVscGVyLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL05vdGlmaWVyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1BJRENvbnRyb2xsZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvUFdNLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1ByZWZlcmVuY2VzLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1JlbGF5LmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Jlc291cmNlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1JvYm90QmFzZS5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9Sb2JvdERyaXZlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NQSS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TYWZlUFdNLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1NlbnNvckJhc2UuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU2VyaWFsUG9ydC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TZXJ2by5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TaW1wbGVSb2JvdC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9TbWFydERhc2hib2FyZC9TZW5kYWJsZUNob29zZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU29sZW5vaWQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvU29sZW5vaWRCYXNlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1N5bmNocm9uaXplZC5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9UYWxvbi5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9UYXNrLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1RpbWVyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1VsdHJhc29uaWMuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVXRpbGl0eS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaWN0b3IuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL0JpbmFyeUltYWdlLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9Db2xvckltYWdlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9IU0xJbWFnZS5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL01vbm9JbWFnZS5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vUENWaWRlb1NlcnZlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24vUkdCSW1hZ2UuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uL1RocmVzaG9sZC5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24yMDA5L0F4aXNDYW1lcmEuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uMjAwOS9CYWVVdGlsaXRpZXMuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvVmlzaW9uMjAwOS9GcmNFcnJvci5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9WaXNpb24yMDA5L1RyYWNrQVBJLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1Zpc2lvbjIwMDkvVmlzaW9uQVBJLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL1dhdGNoZG9nLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlci5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlci5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9BYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9PdXRnb2luZ0VudHJ5UmVjaWV2ZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvV3JpdGVNYW5hZ2VyLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvblN0YXRlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9CYWRNZXNzYWdlRXhjZXB0aW9uLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25BZGFwdGVyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uTGlzdC5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvblN0YXRlLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1GYWN0b3J5LmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9EZWZhdWx0VGhyZWFkTWFuZ2VyLmQgXA0KLQkgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlFbnRyeVR5cGUuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkuZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhFbnRyeVR5cGUuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIuZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OdW1iZXJBcnJheS5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmQgV1BJTGliLyQoTU9ERV9ESVIpL09iamVjdHMvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24uZCBcDQotCSBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JbGxlZ2FsU3RhdGVFeGNlcHRpb24uZCBXUElMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9TdHJpbmdDYWNoZS5kIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5kIFwNCi0JIFdQSUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1dQSUxpYi90YWJsZXMvVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uLmQgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1BDVmlkZW9TZXJ2ZXIuZCBKYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvQXhpc0NhbWVyYS5kIFwNCi0JIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9BeGlzQ2FtZXJhUGFyYW1zLmQgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0VudW1DYW1lcmFQYXJhbWV0ZXIuZCBKYXZhQ2FtZXJhTGliLyQoTU9ERV9ESVIpL09iamVjdHMvSW50Q2FtZXJhUGFyYW1ldGVyLmQgXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0Vycm9yLmQgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL0Vycm9yQmFzZS5kIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9UYXNrLmQgXA0KLQkgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1RpbWVyLmQgSmF2YUNhbWVyYUxpYi8kKE1PREVfRElSKS9PYmplY3RzL1N5bmNocm9uaXplZC5kIEphdmFDYW1lcmFMaWIvJChNT0RFX0RJUikvT2JqZWN0cy9VdGlsaXR5LmQNCi0taW5jbHVkZSAkKERFUF9GSUxFUykNCi0NCi0NCi0NCi0taW5jbHVkZSAkKFBSSl9ST09UX0RJUikvKi5tYWtlZmlsZQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGV4dGVybmFsX2J1aWxkICQoUFJPSkVDVF9UQVJHRVRTKQ0KLQlAZWNobyAibWFrZTogYnVpbHQgdGFyZ2V0cyBvZiBgcHdkYCINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkDQotZXh0ZXJuYWxfYnVpbGQgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QV00uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUFdNLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODkwMWI3NC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QV00uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzczICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlBXTS5oIg0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlJlc291cmNlLmgiDQotI2luY2x1ZGUgIlV0aWxpdHkuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotY29uc3QgVUlOVDMyIFBXTTo6a0RlZmF1bHRQd21QZXJpb2Q7DQotY29uc3QgVUlOVDMyIFBXTTo6a0RlZmF1bHRNaW5Qd21IaWdoOw0KLWNvbnN0IElOVDMyIFBXTTo6a1B3bURpc2FibGVkOw0KLXN0YXRpYyBSZXNvdXJjZSAqYWxsb2NhdGVkID0gTlVMTDsNCi0NCi0vKioNCi0gKiBJbml0aWFsaXplIFBXTXMgZ2l2ZW4gYW4gbW9kdWxlIGFuZCBjaGFubmVsLg0KLSAqIA0KLSAqIFRoaXMgbWV0aG9kIGlzIHByaXZhdGUgYW5kIGlzIHRoZSBjb21tb24gcGF0aCBmb3IgYWxsIHRoZSBjb25zdHJ1Y3RvcnMgZm9yIGNyZWF0aW5nIFBXTQ0KLSAqIGluc3RhbmNlcy4gQ2hlY2tzIG1vZHVsZSBhbmQgY2hhbm5lbCB2YWx1ZSByYW5nZXMgYW5kIGFsbG9jYXRlcyB0aGUgYXBwcm9wcmlhdGUgY2hhbm5lbC4NCi0gKiBUaGUgYWxsb2NhdGlvbiBpcyBvbmx5IGRvbmUgdG8gaGVscCB1c2VycyBlbnN1cmUgdGhhdCB0aGV5IGRvbid0IGRvdWJsZSBhc3NpZ24gY2hhbm5lbHMuDQotICovDQotdm9pZCBQV006OkluaXRQV00oVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQljaGFyIGJ1Zls2NF07DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmYWxsb2NhdGVkLCB0RElPOjprTnVtU3lzdGVtcyAqIGtQd21DaGFubmVscyk7DQotCWlmICghQ2hlY2tQV01Nb2R1bGUobW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIkRpZ2l0YWwgTW9kdWxlICVkIiwgbW9kdWxlTnVtYmVyKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUNoZWNrUFdNQ2hhbm5lbChjaGFubmVsKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIlBXTSBDaGFubmVsICVkIiwgY2hhbm5lbCk7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDaGFubmVsSW5kZXhPdXRPZlJhbmdlLCBidWYpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXNucHJpbnRmKGJ1ZiwgNjQsICJQV00gJWQgKE1vZHVsZTogJWQpIiwgY2hhbm5lbCwgbW9kdWxlTnVtYmVyKTsNCi0JaWYgKGFsbG9jYXRlZC0+QWxsb2NhdGUoKG1vZHVsZU51bWJlciAtIDEpICoga1B3bUNoYW5uZWxzICsgY2hhbm5lbCAtIDEsIGJ1ZikgPT0gfjB1bCkNCi0Jew0KLQkJQ2xvbmVFcnJvcihhbGxvY2F0ZWQpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1fY2hhbm5lbCA9IGNoYW5uZWw7DQotCW1fbW9kdWxlID0gRGlnaXRhbE1vZHVsZTo6R2V0SW5zdGFuY2UobW9kdWxlTnVtYmVyKTsNCi0JbV9tb2R1bGUtPlNldFBXTShtX2NoYW5uZWwsIGtQd21EaXNhYmxlZCk7DQotCW1fZWxpbWluYXRlRGVhZGJhbmQgPSBmYWxzZTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1BXTSwgY2hhbm5lbCwgbW9kdWxlTnVtYmVyIC0gMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEFsbG9jYXRlIGEgUFdNIGdpdmVuIGEgbW9kdWxlIGFuZCBjaGFubmVsLg0KLSAqIEFsbG9jYXRlIGEgUFdNIHVzaW5nIGEgbW9kdWxlIGFuZCBjaGFubmVsIG51bWJlci4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBkaWdpdGFsIG1vZHVsZSAoMSBvciAyKS4NCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgUFdNIGNoYW5uZWwgb24gdGhlIGRpZ2l0YWwgbW9kdWxlICgxLi4xMCkuDQotICovDQotUFdNOjpQV00oVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkNCi0JOiBtX21vZHVsZShOVUxMKQ0KLXsNCi0JSW5pdFBXTShtb2R1bGVOdW1iZXIsIGNoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBBbGxvY2F0ZSBhIFBXTSBpbiB0aGUgZGVmYXVsdCBtb2R1bGUgZ2l2ZW4gYSBjaGFubmVsLg0KLSAqIA0KLSAqIFVzaW5nIGEgZGVmYXVsdCBtb2R1bGUgYWxsb2NhdGUgYSBQV00gZ2l2ZW4gdGhlIGNoYW5uZWwgbnVtYmVyLiAgVGhlIGRlZmF1bHQgbW9kdWxlIGlzIHRoZSBmaXJzdA0KLSAqIHNsb3QgbnVtZXJpY2FsbHkgaW4gdGhlIGNSSU8gY2hhc3Npcy4NCi0gKiANCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgUFdNIGNoYW5uZWwgb24gdGhlIGRpZ2l0YWwgbW9kdWxlLg0KLSAqLw0KLVBXTTo6UFdNKFVJTlQzMiBjaGFubmVsKQ0KLQk6IG1fbW9kdWxlKE5VTEwpDQotew0KLQlJbml0UFdNKEdldERlZmF1bHREaWdpdGFsTW9kdWxlKCksIGNoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBGcmVlIHRoZSBQV00gY2hhbm5lbC4NCi0gKiANCi0gKiBGcmVlIHRoZSByZXNvdXJjZSBhc3NvY2lhdGVkIHdpdGggdGhlIFBXTSBjaGFubmVsIGFuZCBzZXQgdGhlIHZhbHVlIHRvIDAuDQotICovDQotUFdNOjp+UFdNKCkNCi17DQotCWlmIChtX21vZHVsZSkNCi0Jew0KLQkJbV9tb2R1bGUtPlNldFBXTShtX2NoYW5uZWwsIGtQd21EaXNhYmxlZCk7DQotCQlhbGxvY2F0ZWQtPkZyZWUoKG1fbW9kdWxlLT5HZXROdW1iZXIoKSAtIDEpICoga1B3bUNoYW5uZWxzICsgbV9jaGFubmVsIC0gMSk7DQotCX0NCi19DQotDQotLyoqDQotICogT3B0aW9uYWxseSBlbGltaW5hdGUgdGhlIGRlYWRiYW5kIGZyb20gYSBzcGVlZCBjb250cm9sbGVyLg0KLSAqIEBwYXJhbSBlbGltaW5hdGVEZWFkYmFuZCBJZiB0cnVlLCBzZXQgdGhlIG1vdG9yIGN1cnZlIG9uIHRoZSBKYWd1YXIgdG8gZWxpbWluYXRlDQotICogdGhlIGRlYWRiYW5kIGluIHRoZSBtaWRkbGUgb2YgdGhlIHJhbmdlLiBPdGhlcndpc2UsIGtlZXAgdGhlIGZ1bGwgcmFuZ2Ugd2l0aG91dA0KLSAqIG1vZGlmeWluZyBhbnkgdmFsdWVzLg0KLSAqLw0KLXZvaWQgUFdNOjpFbmFibGVEZWFkYmFuZEVsaW1pbmF0aW9uKGJvb2wgZWxpbWluYXRlRGVhZGJhbmQpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCW1fZWxpbWluYXRlRGVhZGJhbmQgPSBlbGltaW5hdGVEZWFkYmFuZDsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBib3VuZHMgb24gdGhlIFBXTSB2YWx1ZXMuDQotICogVGhpcyBzZXRzIHRoZSBib3VuZHMgb24gdGhlIFBXTSB2YWx1ZXMgZm9yIGEgcGFydGljdWxhciBlYWNoIHR5cGUgb2YgY29udHJvbGxlci4gVGhlIHZhbHVlcw0KLSAqIGRldGVybWluZSB0aGUgdXBwZXIgYW5kIGxvd2VyIHNwZWVkcyBhcyB3ZWxsIGFzIHRoZSBkZWFkYmFuZCBicmFja2V0Lg0KLSAqIEBwYXJhbSBtYXggVGhlIE1pbmltdW0gcHdtIHZhbHVlDQotICogQHBhcmFtIGRlYWRiYW5kTWF4IFRoZSBoaWdoIGVuZCBvZiB0aGUgZGVhZGJhbmQgcmFuZ2UNCi0gKiBAcGFyYW0gY2VudGVyIFRoZSBjZW50ZXIgc3BlZWQgKG9mZikNCi0gKiBAcGFyYW0gZGVhZGJhbmRNaW4gVGhlIGxvdyBlbmQgb2YgdGhlIGRlYWRiYW5kIHJhbmdlDQotICogQHBhcmFtIG1pbiBUaGUgbWluaW11bSBwd20gdmFsdWUNCi0gKi8NCi12b2lkIFBXTTo6U2V0Qm91bmRzKElOVDMyIG1heCwgSU5UMzIgZGVhZGJhbmRNYXgsIElOVDMyIGNlbnRlciwgSU5UMzIgZGVhZGJhbmRNaW4sIElOVDMyIG1pbikNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0JbV9tYXhQd20gPSBtYXg7DQotCW1fZGVhZGJhbmRNYXhQd20gPSBkZWFkYmFuZE1heDsNCi0JbV9jZW50ZXJQd20gPSBjZW50ZXI7DQotCW1fZGVhZGJhbmRNaW5Qd20gPSBkZWFkYmFuZE1pbjsNCi0JbV9taW5Qd20gPSBtaW47DQotfQ0KLQ0KLVVJTlQzMiBQV006OkdldE1vZHVsZU51bWJlcigpDQotew0KLQlyZXR1cm4gbV9tb2R1bGUtPkdldE51bWJlcigpOw0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIFBXTSB2YWx1ZSBiYXNlZCBvbiBhIHBvc2l0aW9uLg0KLSAqIA0KLSAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBzZXJ2b3MuDQotICogDQotICogQHByZSBTZXRNYXhQb3NpdGl2ZVB3bSgpIGNhbGxlZC4NCi0gKiBAcHJlIFNldE1pbk5lZ2F0aXZlUHdtKCkgY2FsbGVkLg0KLSAqIA0KLSAqIEBwYXJhbSBwb3MgVGhlIHBvc2l0aW9uIHRvIHNldCB0aGUgc2Vydm8gYmV0d2VlbiAwLjAgYW5kIDEuMC4NCi0gKi8NCi12b2lkIFBXTTo6U2V0UG9zaXRpb24oZmxvYXQgcG9zKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQlpZiAocG9zIDwgMC4wKQ0KLQl7DQotCQlwb3MgPSAwLjA7DQotCX0NCi0JZWxzZSBpZiAocG9zID4gMS4wKQ0KLQl7DQotCQlwb3MgPSAxLjA7DQotCX0NCi0NCi0JSU5UMzIgcmF3VmFsdWU7DQotCS8vIG5vdGUsIG5lZWQgdG8gcGVyZm9ybSB0aGUgbXVsdGlwbGljYXRpb24gYmVsb3cgYXMgZmxvYXRpbmcgcG9pbnQgYmVmb3JlIGNvbnZlcnRpbmcgdG8gaW50DQotCXJhd1ZhbHVlID0gKElOVDMyKSggKHBvcyAqIChmbG9hdCkgR2V0RnVsbFJhbmdlU2NhbGVGYWN0b3IoKSkgKyBHZXRNaW5OZWdhdGl2ZVB3bSgpKTsNCi0NCi0Jd3BpX2Fzc2VydCgocmF3VmFsdWUgPj0gR2V0TWluTmVnYXRpdmVQd20oKSkgJiYgKHJhd1ZhbHVlIDw9IEdldE1heFBvc2l0aXZlUHdtKCkpKTsNCi0Jd3BpX2Fzc2VydChyYXdWYWx1ZSAhPSBrUHdtRGlzYWJsZWQpOw0KLQ0KLQkvLyBzZW5kIHRoZSBjb21wdXRlZCBwd20gdmFsdWUgdG8gdGhlIEZQR0ENCi0JU2V0UmF3KChVSU5UOClyYXdWYWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgUFdNIHZhbHVlIGluIHRlcm1zIG9mIGEgcG9zaXRpb24uDQotICogDQotICogVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGJ5IHNlcnZvcy4NCi0gKiANCi0gKiBAcHJlIFNldE1heFBvc2l0aXZlUHdtKCkgY2FsbGVkLg0KLSAqIEBwcmUgU2V0TWluTmVnYXRpdmVQd20oKSBjYWxsZWQuDQotICogDQotICogQHJldHVybiBUaGUgcG9zaXRpb24gdGhlIHNlcnZvIGlzIHNldCB0byBiZXR3ZWVuIDAuMCBhbmQgMS4wLg0KLSAqLw0KLWZsb2F0IFBXTTo6R2V0UG9zaXRpb24oKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuIDAuMDsNCi0JSU5UMzIgdmFsdWUgPSBHZXRSYXcoKTsNCi0JaWYgKHZhbHVlIDwgR2V0TWluTmVnYXRpdmVQd20oKSkNCi0Jew0KLQkJcmV0dXJuIDAuMDsNCi0JfQ0KLQllbHNlIGlmICh2YWx1ZSA+IEdldE1heFBvc2l0aXZlUHdtKCkpDQotCXsNCi0JCXJldHVybiAxLjA7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlyZXR1cm4gKGZsb2F0KSh2YWx1ZSAtIEdldE1pbk5lZ2F0aXZlUHdtKCkpIC8gKGZsb2F0KUdldEZ1bGxSYW5nZVNjYWxlRmFjdG9yKCk7DQotCX0NCi19DQotDQotLyoqDQotICogU2V0IHRoZSBQV00gdmFsdWUgYmFzZWQgb24gYSBzcGVlZC4NCi0gKiANCi0gKiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgc3BlZWQgY29udHJvbGxlcnMuDQotICogDQotICogQHByZSBTZXRNYXhQb3NpdGl2ZVB3bSgpIGNhbGxlZC4NCi0gKiBAcHJlIFNldE1pblBvc2l0aXZlUHdtKCkgY2FsbGVkLg0KLSAqIEBwcmUgU2V0Q2VudGVyUHdtKCkgY2FsbGVkLg0KLSAqIEBwcmUgU2V0TWF4TmVnYXRpdmVQd20oKSBjYWxsZWQuDQotICogQHByZSBTZXRNaW5OZWdhdGl2ZVB3bSgpIGNhbGxlZC4NCi0gKiANCi0gKiBAcGFyYW0gc3BlZWQgVGhlIHNwZWVkIHRvIHNldCB0aGUgc3BlZWQgY29udHJvbGxlciBiZXR3ZWVuIC0xLjAgYW5kIDEuMC4NCi0gKi8NCi12b2lkIFBXTTo6U2V0U3BlZWQoZmxvYXQgc3BlZWQpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCS8vIGNsYW1wIHNwZWVkIHRvIGJlIGluIHRoZSByYW5nZSAxLjAgPj0gc3BlZWQgPj0gLTEuMA0KLQlpZiAoc3BlZWQgPCAtMS4wKQ0KLQl7DQotCQlzcGVlZCA9IC0xLjA7DQotCX0NCi0JZWxzZSBpZiAoc3BlZWQgPiAxLjApDQotCXsNCi0JCXNwZWVkID0gMS4wOw0KLQl9DQotDQotCS8vIGNhbGN1bGF0ZSB0aGUgZGVzaXJlZCBvdXRwdXQgcHdtIHZhbHVlIGJ5IHNjYWxpbmcgdGhlIHNwZWVkIGFwcHJvcHJpYXRlbHkNCi0JSU5UMzIgcmF3VmFsdWU7DQotCWlmIChzcGVlZCA9PSAwLjApDQotCXsNCi0JCXJhd1ZhbHVlID0gR2V0Q2VudGVyUHdtKCk7DQotCX0NCi0JZWxzZSBpZiAoc3BlZWQgPiAwLjApDQotCXsNCi0JCXJhd1ZhbHVlID0gKElOVDMyKShzcGVlZCAqICgoZmxvYXQpR2V0UG9zaXRpdmVTY2FsZUZhY3RvcigpKSArDQotCQkJCQkJCQkJKChmbG9hdCkgR2V0TWluUG9zaXRpdmVQd20oKSkgKyAwLjUpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJcmF3VmFsdWUgPSAoSU5UMzIpKHNwZWVkICogKChmbG9hdClHZXROZWdhdGl2ZVNjYWxlRmFjdG9yKCkpICsNCi0JCQkJCQkJCQkoKGZsb2F0KSBHZXRNYXhOZWdhdGl2ZVB3bSgpKSArIDAuNSk7DQotCX0NCi0NCi0JLy8gdGhlIGFib3ZlIHNob3VsZCByZXN1bHQgaW4gYSBwd21fdmFsdWUgaW4gdGhlIHZhbGlkIHJhbmdlDQotCXdwaV9hc3NlcnQoKHJhd1ZhbHVlID49IEdldE1pbk5lZ2F0aXZlUHdtKCkpICYmIChyYXdWYWx1ZSA8PSBHZXRNYXhQb3NpdGl2ZVB3bSgpKSk7DQotCXdwaV9hc3NlcnQocmF3VmFsdWUgIT0ga1B3bURpc2FibGVkKTsNCi0NCi0JLy8gc2VuZCB0aGUgY29tcHV0ZWQgcHdtIHZhbHVlIHRvIHRoZSBGUEdBDQotCVNldFJhdygoVUlOVDgpcmF3VmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFBXTSB2YWx1ZSBpbiB0ZXJtcyBvZiBzcGVlZC4NCi0gKiANCi0gKiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgc3BlZWQgY29udHJvbGxlcnMuDQotICogDQotICogQHByZSBTZXRNYXhQb3NpdGl2ZVB3bSgpIGNhbGxlZC4NCi0gKiBAcHJlIFNldE1pblBvc2l0aXZlUHdtKCkgY2FsbGVkLg0KLSAqIEBwcmUgU2V0TWF4TmVnYXRpdmVQd20oKSBjYWxsZWQuDQotICogQHByZSBTZXRNaW5OZWdhdGl2ZVB3bSgpIGNhbGxlZC4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBtb3N0IHJlY2VudGx5IHNldCBzcGVlZCBiZXR3ZWVuIC0xLjAgYW5kIDEuMC4NCi0gKi8NCi1mbG9hdCBQV006OkdldFNwZWVkKCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwLjA7DQotCUlOVDMyIHZhbHVlID0gR2V0UmF3KCk7DQotCWlmICh2YWx1ZSA+IEdldE1heFBvc2l0aXZlUHdtKCkpDQotCXsNCi0JCXJldHVybiAxLjA7DQotCX0NCi0JZWxzZSBpZiAodmFsdWUgPCBHZXRNaW5OZWdhdGl2ZVB3bSgpKQ0KLQl7DQotCQlyZXR1cm4gLTEuMDsNCi0JfQ0KLQllbHNlIGlmICh2YWx1ZSA+IEdldE1pblBvc2l0aXZlUHdtKCkpDQotCXsNCi0JCXJldHVybiAoZmxvYXQpKHZhbHVlIC0gR2V0TWluUG9zaXRpdmVQd20oKSkgLyAoZmxvYXQpR2V0UG9zaXRpdmVTY2FsZUZhY3RvcigpOw0KLQl9DQotCWVsc2UgaWYgKHZhbHVlIDwgR2V0TWF4TmVnYXRpdmVQd20oKSkNCi0Jew0KLQkJcmV0dXJuIChmbG9hdCkodmFsdWUgLSBHZXRNYXhOZWdhdGl2ZVB3bSgpKSAvIChmbG9hdClHZXROZWdhdGl2ZVNjYWxlRmFjdG9yKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlyZXR1cm4gMC4wOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgUFdNIHZhbHVlIGRpcmVjdGx5IHRvIHRoZSBoYXJkd2FyZS4NCi0gKiANCi0gKiBXcml0ZSBhIHJhdyB2YWx1ZSB0byBhIFBXTSBjaGFubmVsLg0KLSAqIA0KLSAqIEBwYXJhbSB2YWx1ZSBSYXcgUFdNIHZhbHVlLiAgUmFuZ2UgMCAtIDI1NS4NCi0gKi8NCi12b2lkIFBXTTo6U2V0UmF3KFVJTlQ4IHZhbHVlKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkgcmV0dXJuOw0KLQltX21vZHVsZS0+U2V0UFdNKG1fY2hhbm5lbCwgdmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIFBXTSB2YWx1ZSBkaXJlY3RseSBmcm9tIHRoZSBoYXJkd2FyZS4NCi0gKiANCi0gKiBSZWFkIGEgcmF3IHZhbHVlIGZyb20gYSBQV00gY2hhbm5lbC4NCi0gKiANCi0gKiBAcmV0dXJuIFJhdyBQV00gY29udHJvbCB2YWx1ZS4gIFJhbmdlOiAwIC0gMjU1Lg0KLSAqLw0KLVVJTlQ4IFBXTTo6R2V0UmF3KCkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybiAwOw0KLQlyZXR1cm4gbV9tb2R1bGUtPkdldFBXTShtX2NoYW5uZWwpOw0KLX0NCi0NCi0vKioNCi0gKiBTbG93IGRvd24gdGhlIFBXTSBzaWduYWwgZm9yIG9sZCBkZXZpY2VzLg0KLSAqIA0KLSAqIEBwYXJhbSBtdWx0IFRoZSBwZXJpb2QgbXVsdGlwbGllciB0byBhcHBseSB0byB0aGlzIGNoYW5uZWwNCi0gKi8NCi12b2lkIFBXTTo6U2V0UGVyaW9kTXVsdGlwbGllcihQZXJpb2RNdWx0aXBsaWVyIG11bHQpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCXN3aXRjaChtdWx0KQ0KLQl7DQotCWNhc2Uga1BlcmlvZE11bHRpcGxpZXJfNFg6DQotCQltX21vZHVsZS0+U2V0UFdNUGVyaW9kU2NhbGUobV9jaGFubmVsLCAzKTsgLy8gU3F1ZWxjaCAzIG91dCBvZiA0IG91dHB1dHMNCi0JCWJyZWFrOw0KLQljYXNlIGtQZXJpb2RNdWx0aXBsaWVyXzJYOg0KLQkJbV9tb2R1bGUtPlNldFBXTVBlcmlvZFNjYWxlKG1fY2hhbm5lbCwgMSk7IC8vIFNxdWVsY2ggMSBvdXQgb2YgMiBvdXRwdXRzDQotCQlicmVhazsNCi0JY2FzZSBrUGVyaW9kTXVsdGlwbGllcl8xWDoNCi0JCW1fbW9kdWxlLT5TZXRQV01QZXJpb2RTY2FsZShtX2NoYW5uZWwsIDApOyAvLyBEb24ndCBzcXVlbGNoIGFueSBvdXRwdXRzDQotCQlicmVhazsNCi0JZGVmYXVsdDoNCi0JCXdwaV9hc3NlcnQoZmFsc2UpOw0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgUFdNOjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpIHsNCi0JU2V0U3BlZWQodmFsdWUuZik7DQotfQ0KLQ0KLXZvaWQgUFdNOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldFNwZWVkKCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgUFdNOjpTdGFydExpdmVXaW5kb3dNb2RlKCkgew0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5BZGRUYWJsZUxpc3RlbmVyKCJWYWx1ZSIsIHRoaXMsIHRydWUpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgUFdNOjpTdG9wTGl2ZVdpbmRvd01vZGUoKSB7DQotCVNldFNwZWVkKDApOw0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5SZW1vdmVUYWJsZUxpc3RlbmVyKHRoaXMpOw0KLQl9DQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIFBXTTo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIlNwZWVkIENvbnRyb2xsZXIiOw0KLX0NCi0NCi12b2lkIFBXTTo6SW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpIHsNCi0JbV90YWJsZSA9IHN1YlRhYmxlOw0KLQlVcGRhdGVUYWJsZSgpOw0KLX0NCi0NCi1JVGFibGUgKiBQV006OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUFdNLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QV00uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA1YzZhMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QV00uaAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgUFdNX0hfDQotI2RlZmluZSBQV01fSF8NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0NCi1jbGFzcyBEaWdpdGFsTW9kdWxlOw0KLQ0KLS8qKg0KLSAqIENsYXNzIGltcGxlbWVudHMgdGhlIFBXTSBnZW5lcmF0aW9uIGluIHRoZSBGUEdBLg0KLSAqIA0KLSAqIFRoZSB2YWx1ZXMgc3VwcGxpZWQgYXMgYXJndW1lbnRzIGZvciBQV00gb3V0cHV0cyByYW5nZSBmcm9tIC0xLjAgdG8gMS4wLiBUaGV5IGFyZSBtYXBwZWQNCi0gKiB0byB0aGUgaGFyZHdhcmUgZGVwZW5kZW50IHZhbHVlcywgaW4gdGhpcyBjYXNlIDAtMjU1IGZvciB0aGUgRlBHQS4NCi0gKiBDaGFuZ2VzIGFyZSBpbW1lZGlhdGVseSBzZW50IHRvIHRoZSBGUEdBLCBhbmQgdGhlIHVwZGF0ZSBvY2N1cnMgYXQgdGhlIG5leHQNCi0gKiBGUEdBIGN5Y2xlLiBUaGVyZSBpcyBubyBkZWxheS4NCi0gKiANCi0gKiBBcyBvZiByZXZpc2lvbiAwLjEuMTAgb2YgdGhlIEZQR0EsIHRoZSBGUEdBIGludGVycHJldHMgdGhlIDAtMjU1IHZhbHVlcyBhcyBmb2xsb3dzOg0KLSAqICAgLSAyNTUgPSBmdWxsICJmb3J3YXJkIg0KLSAqICAgLSAyNTQgdG8gMTI5ID0gbGluZWFyIHNjYWxpbmcgZnJvbSAiZnVsbCBmb3J3YXJkIiB0byAiY2VudGVyIg0KLSAqICAgLSAxMjggPSBjZW50ZXIgdmFsdWUNCi0gKiAgIC0gMTI3IHRvIDIgPSBsaW5lYXIgc2NhbGluZyBmcm9tICJjZW50ZXIiIHRvICJmdWxsIHJldmVyc2UiDQotICogICAtIDEgPSBmdWxsICJyZXZlcnNlIg0KLSAqICAgLSAwID0gZGlzYWJsZWQgKGkuZS4gUFdNIG91dHB1dCBpcyBoZWxkIGxvdykNCi0gKi8NCi1jbGFzcyBQV00gOiBwdWJsaWMgU2Vuc29yQmFzZSwgcHVibGljIElUYWJsZUxpc3RlbmVyLCBwdWJsaWMgTGl2ZVdpbmRvd1NlbmRhYmxlDQotew0KLQlmcmllbmQgY2xhc3MgRGlnaXRhbE1vZHVsZTsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bSB7a1BlcmlvZE11bHRpcGxpZXJfMVggPSAxLCBrUGVyaW9kTXVsdGlwbGllcl8yWCA9IDIsIGtQZXJpb2RNdWx0aXBsaWVyXzRYID0gNH0gUGVyaW9kTXVsdGlwbGllcjsNCi0NCi0JZXhwbGljaXQgUFdNKFVJTlQzMiBjaGFubmVsKTsNCi0JUFdNKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQl2aXJ0dWFsIH5QV00oKTsNCi0JdmlydHVhbCB2b2lkIFNldFJhdyhVSU5UOCB2YWx1ZSk7DQotCXZpcnR1YWwgVUlOVDggR2V0UmF3KCk7DQotCXZvaWQgU2V0UGVyaW9kTXVsdGlwbGllcihQZXJpb2RNdWx0aXBsaWVyIG11bHQpOw0KLQl2b2lkIEVuYWJsZURlYWRiYW5kRWxpbWluYXRpb24oYm9vbCBlbGltaW5hdGVEZWFkYmFuZCk7DQotCXZvaWQgU2V0Qm91bmRzKElOVDMyIG1heCwgSU5UMzIgZGVhZGJhbmRNYXgsIElOVDMyIGNlbnRlciwgSU5UMzIgZGVhZGJhbmRNaW4sIElOVDMyIG1pbik7DQotCVVJTlQzMiBHZXRDaGFubmVsKCkge3JldHVybiBtX2NoYW5uZWw7fQ0KLQlVSU5UMzIgR2V0TW9kdWxlTnVtYmVyKCk7DQotDQotcHJvdGVjdGVkOg0KLQkvKioNCi0JICoga0RlZmF1bHRQd21QZXJpb2QgaXMgInRpY2tzIiB3aGVyZSBlYWNoIHRpY2sgaXMgNi41MjV1cw0KLQkgKiANCi0JICogLSAyMG1zIHBlcmlvZHMgKDUwIEh6KSBhcmUgdGhlICJzYWZlc3QiIHNldHRpbmcgaW4gdGhhdCB0aGlzIHdvcmtzIGZvciBhbGwgZGV2aWNlcw0KLQkgKiAtIDIwbXMgcGVyaW9kcyBzZWVtIHRvIGJlIGRlc2lyYWJsZSBmb3IgVmV4IE1vdG9ycw0KLQkgKiAtIDIwbXMgcGVyaW9kcyBhcmUgdGhlIHNwZWNpZmllZCBwZXJpb2QgZm9yIEhTLTMyMkhEIHNlcnZvcywgYnV0IHdvcmsgcmVsaWFibHkgZG93bg0KLQkgKiAgICAgIHRvIDEwLjAgbXM7IHN0YXJ0aW5nIGF0IGFib3V0IDguNW1zLCB0aGUgc2Vydm8gc29tZXRpbWVzIGh1bXMgYW5kIGdldCBob3Q7DQotCSAqICAgICAgYnkgNS4wbXMgdGhlIGh1bSBpcyBuZWFybHkgY29udGludW91cw0KLQkgKiAtIDEwbXMgcGVyaW9kcyB3b3JrIHdlbGwgZm9yIFZpY3RvciA4ODQNCi0JICogLSA1bXMgcGVyaW9kcyBhbGxvd3MgaGlnaGVyIHVwZGF0ZSByYXRlcyBmb3IgTHVtaW5hcnkgTWljcm8gSmFndWFyIHNwZWVkIGNvbnRyb2xsZXJzLg0KLQkgKiAgICAgIER1ZSB0byB0aGUgc2hpcHBpbmcgZmlybXdhcmUgb24gdGhlIEphZ3Vhciwgd2UgY2FuJ3QgcnVuIHRoZSB1cGRhdGUgcGVyaW9kIGxlc3MNCi0JICogICAgICB0aGFuIDUuMDUgbXMuDQotCSAqIA0KLQkgKiBrRGVmYXVsdFB3bVBlcmlvZCBpcyB0aGUgMXggcGVyaW9kICg1LjA1IG1zKS4gIEluIGhhcmR3YXJlLCB0aGUgcGVyaW9kIHNjYWxpbmcgaXMgaW1wbGVtZW50ZWQgYXMgYW4NCi0JICogb3V0cHV0IHNxdWVsY2ggdG8gZ2V0IGxvbmdlciBwZXJpb2RzIGZvciBvbGQgZGV2aWNlcy4NCi0JICogDQotCSAqIFNldCB0byA1LjA1IG1zIHBlcmlvZCAvIDYuNTI1dXMgY2xvY2sgPSA3NzQNCi0JICovDQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0RlZmF1bHRQd21QZXJpb2QgPSA3NzQ7DQotDQotCS8qKg0KLQkgKiBrRGVmYXVsdE1pblB3bUhpZ2ggaXMgInRpY2tzIiB3aGVyZSBlYWNoIHRpY2sgaXMgNi41MjV1cw0KLQkgKiANCi0JICogLSBUaGVyZSBhcmUgMTI4IHB3bSB2YWx1ZXMgbGVzcyB0aGFuIHRoZSBjZW50ZXIsIHNvLi4uDQotCSAqIC0gVGhlIG1pbmltdW0gb3V0cHV0IHB1bHNlIGxlbmd0aCBpcyAxLjVtcyAtIDEyOCAqIDYuNTI1dXMgPSAwLjY2NW1zDQotCSAqIC0gMC42NjVtcyAvIDYuNTI1dXMgcGVyIHRpY2sgPSAxMDINCi0JICovDQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0RlZmF1bHRNaW5Qd21IaWdoID0gMTAyOw0KLQ0KLQlzdGF0aWMgY29uc3QgSU5UMzIga1B3bURpc2FibGVkID0gMDsNCi0NCi0JdmlydHVhbCB2b2lkIFNldFBvc2l0aW9uKGZsb2F0IHBvcyk7DQotCXZpcnR1YWwgZmxvYXQgR2V0UG9zaXRpb24oKTsNCi0JdmlydHVhbCB2b2lkIFNldFNwZWVkKGZsb2F0IHNwZWVkKTsNCi0JdmlydHVhbCBmbG9hdCBHZXRTcGVlZCgpOw0KLQ0KLQlib29sIG1fZWxpbWluYXRlRGVhZGJhbmQ7DQotCUlOVDMyIG1fbWF4UHdtOw0KLQlJTlQzMiBtX2RlYWRiYW5kTWF4UHdtOw0KLQlJTlQzMiBtX2NlbnRlclB3bTsNCi0JSU5UMzIgbV9kZWFkYmFuZE1pblB3bTsNCi0JSU5UMzIgbV9taW5Qd207DQotCQ0KLQl2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRQV00oVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotCVVJTlQzMiBtX2NoYW5uZWw7DQotCURpZ2l0YWxNb2R1bGUgKm1fbW9kdWxlOw0KLQlJTlQzMiBHZXRNYXhQb3NpdGl2ZVB3bSgpIHsgcmV0dXJuIG1fbWF4UHdtOyB9Ow0KLQlJTlQzMiBHZXRNaW5Qb3NpdGl2ZVB3bSgpIHsgcmV0dXJuIG1fZWxpbWluYXRlRGVhZGJhbmQgPyBtX2RlYWRiYW5kTWF4UHdtIDogbV9jZW50ZXJQd20gKyAxOyB9Ow0KLQlJTlQzMiBHZXRDZW50ZXJQd20oKSB7IHJldHVybiBtX2NlbnRlclB3bTsgfTsNCi0JSU5UMzIgR2V0TWF4TmVnYXRpdmVQd20oKSB7IHJldHVybiBtX2VsaW1pbmF0ZURlYWRiYW5kID8gbV9kZWFkYmFuZE1pblB3bSA6IG1fY2VudGVyUHdtIC0gMTsgfTsNCi0JSU5UMzIgR2V0TWluTmVnYXRpdmVQd20oKSB7IHJldHVybiBtX21pblB3bTsgfTsNCi0JSU5UMzIgR2V0UG9zaXRpdmVTY2FsZUZhY3RvcigpIHtyZXR1cm4gR2V0TWF4UG9zaXRpdmVQd20oKSAtIEdldE1pblBvc2l0aXZlUHdtKCk7fSAvLy88IFRoZSBzY2FsZSBmb3IgcG9zaXRpdmUgc3BlZWRzLg0KLQlJTlQzMiBHZXROZWdhdGl2ZVNjYWxlRmFjdG9yKCkge3JldHVybiBHZXRNYXhOZWdhdGl2ZVB3bSgpIC0gR2V0TWluTmVnYXRpdmVQd20oKTt9IC8vLzwgVGhlIHNjYWxlIGZvciBuZWdhdGl2ZSBzcGVlZHMuDQotCUlOVDMyIEdldEZ1bGxSYW5nZVNjYWxlRmFjdG9yKCkge3JldHVybiBHZXRNYXhQb3NpdGl2ZVB3bSgpIC0gR2V0TWluTmVnYXRpdmVQd20oKTt9IC8vLzwgVGhlIHNjYWxlIGZvciBwb3NpdGlvbnMuDQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QcmVmZXJlbmNlcy5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QcmVmZXJlbmNlcy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhM2Q5ZWEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUHJlZmVyZW5jZXMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjIwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlByZWZlcmVuY2VzLmgiDQotDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSA8YWxnb3JpdGhtPg0KLQ0KLS8qKiBQcml2YXRlIE5JIGZ1bmN0aW9uIG5lZWRlZCB0byB3cml0ZSB0byB0aGUgVnhXb3JrcyB0YXJnZXQgKi8NCi1leHRlcm4gIkMiIGludCBQcml2X1NldFdyaXRlRmlsZUFsbG93ZWQoVUlOVDMyIGVuYWJsZSk7IA0KLQ0KLS8qKiBUaGUgUHJlZmVyZW5jZXMgdGFibGUgbmFtZSAqLw0KLXN0YXRpYyBjb25zdCBjaGFyICprVGFibGVOYW1lID0gIlByZWZlcmVuY2VzIjsNCi0vKiogVGhlIHZhbHVlIG9mIHRoZSBzYXZlIGZpZWxkICovDQotc3RhdGljIGNvbnN0IGNoYXIgKmtTYXZlRmllbGQgPSAiflMgQSBWIEV+IjsNCi0vKiogVGhlIGZpbGUgdG8gc2F2ZSB0byAqLw0KLXN0YXRpYyBjb25zdCBjaGFyICprRmlsZU5hbWUgPSAiL2Mvd3BpbGliLXByZWZlcmVuY2VzLmluaSI7DQotLyoqIFRoZSBjaGFyYWN0ZXJzIHRvIHB1dCBiZXR3ZWVuIGEgZmllbGQgYW5kIHZhbHVlICovDQotc3RhdGljIGNvbnN0IGNoYXIgKmtWYWx1ZVByZWZpeCA9ICI9XCIiOw0KLS8qKiBUaGUgY2hhcmFjdGVycyB0byBwdXQgYWZ0ZXIgdGhlIHZhbHVlICovDQotc3RhdGljIGNvbnN0IGNoYXIgKmtWYWx1ZVN1ZmZpeCA9ICJcIlxuIjsNCi0vKiogVGhlIHNpbmdsZXRvbiBpbnN0YW5jZSAqLw0KLVByZWZlcmVuY2VzICpQcmVmZXJlbmNlczo6X2luc3RhbmNlID0gTlVMTDsNCi0NCi1QcmVmZXJlbmNlczo6UHJlZmVyZW5jZXMoKSA6DQotCW1fZmlsZUxvY2soTlVMTCksDQotCW1fZmlsZU9wU3RhcnRlZChOVUxMKSwNCi0JbV90YWJsZUxvY2soTlVMTCksDQotCW1fcmVhZFRhc2soIlByZWZlcmVuY2VzUmVhZFRhc2siLCAoRlVOQ1BUUilQcmVmZXJlbmNlczo6SW5pdFJlYWRUYXNrKSwNCi0JbV93cml0ZVRhc2soIlByZWZlcmVuY2VzV3JpdGVUYXNrIiwgKEZVTkNQVFIpUHJlZmVyZW5jZXM6OkluaXRXcml0ZVRhc2spDQotew0KLQltX2ZpbGVMb2NrID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9JTlZFUlNJT05fU0FGRSB8IFNFTV9ERUxFVEVfU0FGRSk7DQotCW1fZmlsZU9wU3RhcnRlZCA9IHNlbUJDcmVhdGUgKFNFTV9RX1BSSU9SSVRZLCBTRU1fRU1QVFkpOw0KLQltX3RhYmxlTG9jayA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fSU5WRVJTSU9OX1NBRkUgfCBTRU1fREVMRVRFX1NBRkUpOw0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2ZpbGVMb2NrKTsNCi0JbV9yZWFkVGFzay5TdGFydCgoVUlOVDMyKXRoaXMpOw0KLQlzZW1UYWtlKG1fZmlsZU9wU3RhcnRlZCwgV0FJVF9GT1JFVkVSKTsNCi0NCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1ByZWZlcmVuY2VzLCAwKTsNCi19DQotDQotUHJlZmVyZW5jZXM6On5QcmVmZXJlbmNlcygpDQotew0KLQlzZW1UYWtlKG1fdGFibGVMb2NrLCBXQUlUX0ZPUkVWRVIpOw0KLQlzZW1EZWxldGUobV90YWJsZUxvY2spOw0KLQlzZW1UYWtlKG1fZmlsZUxvY2ssIFdBSVRfRk9SRVZFUik7DQotCXNlbURlbGV0ZShtX2ZpbGVPcFN0YXJ0ZWQpOw0KLQlzZW1EZWxldGUobV9maWxlTG9jayk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgb25lIGFuZCBvbmx5IHtAbGluayBQcmVmZXJlbmNlc30gb2JqZWN0DQotICogQHJldHVybiBwb2ludGVyIHRvIHRoZSB7QGxpbmsgUHJlZmVyZW5jZXN9DQotICovDQotUHJlZmVyZW5jZXMgKlByZWZlcmVuY2VzOjpHZXRJbnN0YW5jZSgpDQotew0KLQlpZiAoX2luc3RhbmNlID09IE5VTEwpDQotCQlfaW5zdGFuY2UgPSBuZXcgUHJlZmVyZW5jZXM7DQotCXJldHVybiBfaW5zdGFuY2U7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgYSB2ZWN0b3Igb2YgYWxsIHRoZSBrZXlzDQotICogQHJldHVybiBhIHZlY3RvciBvZiB0aGUga2V5cw0KLSAqLw0KLXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBQcmVmZXJlbmNlczo6R2V0S2V5cygpDQotew0KLQlyZXR1cm4gbV9rZXlzOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBzdHJpbmcgYXQgdGhlIGdpdmVuIGtleS4gIElmIHRoaXMgdGFibGUgZG9lcyBub3QgaGF2ZSBhIHZhbHVlDQotICogZm9yIHRoYXQgcG9zaXRpb24sIHRoZW4gdGhlIGdpdmVuIGRlZmF1bHRWYWx1ZSB3aWxsIGJlIHJldHVybmVkLg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIHJldHVybiBpZiBub25lIGV4aXN0cyBpbiB0aGUgdGFibGUNCi0gKiBAcmV0dXJuIGVpdGhlciB0aGUgdmFsdWUgaW4gdGhlIHRhYmxlLCBvciB0aGUgZGVmYXVsdFZhbHVlDQotICovDQotc3RkOjpzdHJpbmcgUHJlZmVyZW5jZXM6OkdldFN0cmluZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmRlZmF1bHRWYWx1ZSkNCi17DQotCXN0ZDo6c3RyaW5nIHZhbHVlID0gR2V0KGtleSk7DQotCXJldHVybiB2YWx1ZS5lbXB0eSgpID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdGhlIHN0cmluZyBhdCB0aGUgZ2l2ZW4ga2V5LiAgSWYgdGhpcyB0YWJsZSBkb2VzIG5vdCBoYXZlIGEgdmFsdWUNCi0gKiBmb3IgdGhhdCBwb3NpdGlvbiwgdGhlbiB0aGUgZ2l2ZW4gZGVmYXVsdFZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuDQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIHZhbHVlIHRoZSBidWZmZXIgdG8gY29weSB0aGUgdmFsdWUgaW50bw0KLSAqIEBwYXJhbSB2YWx1ZVNpemUgdGhlIHNpemUgb2YgdmFsdWUNCi0gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIHRoZSB2YWx1ZSB0byByZXR1cm4gaWYgbm9uZSBleGlzdHMgaW4gdGhlIHRhYmxlDQotICogQHJldHVybiBUaGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgc3RyaW5nDQotICovDQotaW50IFByZWZlcmVuY2VzOjpHZXRTdHJpbmcoY29uc3QgY2hhciAqa2V5LCBjaGFyICp2YWx1ZSwgaW50IHZhbHVlU2l6ZSwgY29uc3QgY2hhciAqZGVmYXVsdFZhbHVlKQ0KLXsNCi0Jc3RkOjpzdHJpbmcgc3RyaW5nVmFsdWUgPSBHZXRTdHJpbmcoa2V5LCBkZWZhdWx0VmFsdWUpOw0KLQlzdHJpbmdWYWx1ZS5jb3B5KHZhbHVlLCB2YWx1ZVNpemUpOw0KLQlyZXR1cm4gc3RyaW5nVmFsdWUuc2l6ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBpbnQgYXQgdGhlIGdpdmVuIGtleS4gIElmIHRoaXMgdGFibGUgZG9lcyBub3QgaGF2ZSBhIHZhbHVlDQotICogZm9yIHRoYXQgcG9zaXRpb24sIHRoZW4gdGhlIGdpdmVuIGRlZmF1bHRWYWx1ZSB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIHJldHVybiBpZiBub25lIGV4aXN0cyBpbiB0aGUgdGFibGUNCi0gKiBAcmV0dXJuIGVpdGhlciB0aGUgdmFsdWUgaW4gdGhlIHRhYmxlLCBvciB0aGUgZGVmYXVsdFZhbHVlDQotICovDQotaW50IFByZWZlcmVuY2VzOjpHZXRJbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgZGVmYXVsdFZhbHVlKQ0KLXsNCi0Jc3RkOjpzdHJpbmcgdmFsdWUgPSBHZXQoa2V5KTsNCi0JaWYgKHZhbHVlLmVtcHR5KCkpDQotCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KLQ0KLQlyZXR1cm4gc3RydG9sKHZhbHVlLmNfc3RyKCksIE5VTEwsIDApOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBkb3VibGUgYXQgdGhlIGdpdmVuIGtleS4gIElmIHRoaXMgdGFibGUgZG9lcyBub3QgaGF2ZSBhIHZhbHVlDQotICogZm9yIHRoYXQgcG9zaXRpb24sIHRoZW4gdGhlIGdpdmVuIGRlZmF1bHRWYWx1ZSB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIHJldHVybiBpZiBub25lIGV4aXN0cyBpbiB0aGUgdGFibGUNCi0gKiBAcmV0dXJuIGVpdGhlciB0aGUgdmFsdWUgaW4gdGhlIHRhYmxlLCBvciB0aGUgZGVmYXVsdFZhbHVlDQotICovDQotZG91YmxlIFByZWZlcmVuY2VzOjpHZXREb3VibGUoY29uc3QgY2hhciAqa2V5LCBkb3VibGUgZGVmYXVsdFZhbHVlKQ0KLXsNCi0Jc3RkOjpzdHJpbmcgdmFsdWUgPSBHZXQoa2V5KTsNCi0JaWYgKHZhbHVlLmVtcHR5KCkpDQotCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KLQ0KLQlyZXR1cm4gc3RydG9kKHZhbHVlLmNfc3RyKCksIE5VTEwpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBmbG9hdCBhdCB0aGUgZ2l2ZW4ga2V5LiAgSWYgdGhpcyB0YWJsZSBkb2VzIG5vdCBoYXZlIGEgdmFsdWUNCi0gKiBmb3IgdGhhdCBwb3NpdGlvbiwgdGhlbiB0aGUgZ2l2ZW4gZGVmYXVsdFZhbHVlIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuDQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIGRlZmF1bHRWYWx1ZSB0aGUgdmFsdWUgdG8gcmV0dXJuIGlmIG5vbmUgZXhpc3RzIGluIHRoZSB0YWJsZQ0KLSAqIEByZXR1cm4gZWl0aGVyIHRoZSB2YWx1ZSBpbiB0aGUgdGFibGUsIG9yIHRoZSBkZWZhdWx0VmFsdWUNCi0gKi8NCi1mbG9hdCBQcmVmZXJlbmNlczo6R2V0RmxvYXQoY29uc3QgY2hhciAqa2V5LCBmbG9hdCBkZWZhdWx0VmFsdWUpDQotew0KLQlzdGQ6OnN0cmluZyB2YWx1ZSA9IEdldChrZXkpOw0KLQlpZiAodmFsdWUuZW1wdHkoKSkNCi0JCXJldHVybiBkZWZhdWx0VmFsdWU7DQotDQotCXJldHVybiBzdHJ0b2QodmFsdWUuY19zdHIoKSwgTlVMTCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdGhlIGJvb2xlYW4gYXQgdGhlIGdpdmVuIGtleS4gIElmIHRoaXMgdGFibGUgZG9lcyBub3QgaGF2ZSBhIHZhbHVlDQotICogZm9yIHRoYXQgcG9zaXRpb24sIHRoZW4gdGhlIGdpdmVuIGRlZmF1bHRWYWx1ZSB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIHJldHVybiBpZiBub25lIGV4aXN0cyBpbiB0aGUgdGFibGUNCi0gKiBAcmV0dXJuIGVpdGhlciB0aGUgdmFsdWUgaW4gdGhlIHRhYmxlLCBvciB0aGUgZGVmYXVsdFZhbHVlDQotICovDQotYm9vbCBQcmVmZXJlbmNlczo6R2V0Qm9vbGVhbihjb25zdCBjaGFyICprZXksIGJvb2wgZGVmYXVsdFZhbHVlKQ0KLXsNCi0Jc3RkOjpzdHJpbmcgdmFsdWUgPSBHZXQoa2V5KTsNCi0JaWYgKHZhbHVlLmVtcHR5KCkpDQotCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KLQ0KLQlpZiAodmFsdWUuY29tcGFyZSgidHJ1ZSIpID09IDApDQotCQlyZXR1cm4gdHJ1ZTsNCi0JZWxzZSBpZiAodmFsdWUuY29tcGFyZSgiZmFsc2UiKSA9PSAwKQ0KLQkJcmV0dXJuIGZhbHNlOw0KLQ0KLQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAiQm9vbGVhbiB2YWx1ZSBkb2VzIG5vdCBjb250YWluIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiIpOw0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdGhlIGxvbmcgKElOVDY0KSBhdCB0aGUgZ2l2ZW4ga2V5LiAgSWYgdGhpcyB0YWJsZSBkb2VzIG5vdCBoYXZlIGEgdmFsdWUNCi0gKiBmb3IgdGhhdCBwb3NpdGlvbiwgdGhlbiB0aGUgZ2l2ZW4gZGVmYXVsdFZhbHVlIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuDQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIGRlZmF1bHRWYWx1ZSB0aGUgdmFsdWUgdG8gcmV0dXJuIGlmIG5vbmUgZXhpc3RzIGluIHRoZSB0YWJsZQ0KLSAqIEByZXR1cm4gZWl0aGVyIHRoZSB2YWx1ZSBpbiB0aGUgdGFibGUsIG9yIHRoZSBkZWZhdWx0VmFsdWUNCi0gKi8NCi1JTlQ2NCBQcmVmZXJlbmNlczo6R2V0TG9uZyhjb25zdCBjaGFyICprZXksIElOVDY0IGRlZmF1bHRWYWx1ZSkNCi17DQotCXN0ZDo6c3RyaW5nIHZhbHVlID0gR2V0KGtleSk7DQotCWlmICh2YWx1ZS5lbXB0eSgpKQ0KLQkJcmV0dXJuIGRlZmF1bHRWYWx1ZTsNCi0NCi0JLy8gVW1tbS4uLiBub3QgYXZhaWxhYmxlIGluIG91ciBWeFdvcmtzLi4uDQotCS8vcmV0dXJuIHN0cnRvbGwodmFsdWUuY19zdHIoKSwgTlVMTCwgMCk7DQotCUlOVDY0IGludFZhbDsNCi0Jc3NjYW5mKHZhbHVlLmNfc3RyKCksICIlbGxkIiwgJmludFZhbCk7DQotCXJldHVybiBpbnRWYWw7DQotfQ0KLQ0KLS8qKg0KLSAqIFB1dHMgdGhlIGdpdmVuIHN0cmluZyBpbnRvIHRoZSBwcmVmZXJlbmNlcyB0YWJsZS4NCi0gKg0KLSAqIDxwPlRoZSB2YWx1ZSBtYXkgbm90IGhhdmUgcXVvdGF0aW9uIG1hcmtzLCBub3IgbWF5IHRoZSBrZXkNCi0gKiBoYXZlIGFueSB3aGl0ZXNwYWNlIG5vciBhbiBlcXVhbHMgc2lnbjwvcD4NCi0gKg0KLSAqIDxwPlRoaXMgd2lsbCA8Yj5OT1Q8L2I+IHNhdmUgdGhlIHZhbHVlIHRvIG1lbW9yeSBiZXR3ZWVuIHBvd2VyIGN5Y2xlcywNCi0gKiB0byBkbyB0aGF0IHlvdSBtdXN0IGNhbGwge0BsaW5rIFByZWZlcmVuY2VzI1NhdmUoKSBTYXZlKCl9ICh3aGljaCBtdXN0IGJlIHVzZWQgd2l0aCBjYXJlKS4NCi0gKiBhdCBzb21lIHBvaW50IGFmdGVyIGNhbGxpbmcgdGhpcy48L3A+DQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZQ0KLSAqLw0KLXZvaWQgUHJlZmVyZW5jZXM6OlB1dFN0cmluZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKQ0KLXsNCi0JaWYgKHZhbHVlID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJ2YWx1ZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCWlmIChzdGQ6OnN0cmluZyh2YWx1ZSkuZmluZF9maXJzdF9vZigiXCIiKSAhPSBzdGQ6OnN0cmluZzo6bnBvcykNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgInZhbHVlIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycyIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCVB1dChrZXksIHZhbHVlKTsNCi19DQotDQotLyoqDQotICogUHV0cyB0aGUgZ2l2ZW4gaW50IGludG8gdGhlIHByZWZlcmVuY2VzIHRhYmxlLg0KLSAqDQotICogPHA+VGhlIGtleSBtYXkgbm90IGhhdmUgYW55IHdoaXRlc3BhY2Ugbm9yIGFuIGVxdWFscyBzaWduPC9wPg0KLSAqDQotICogPHA+VGhpcyB3aWxsIDxiPk5PVDwvYj4gc2F2ZSB0aGUgdmFsdWUgdG8gbWVtb3J5IGJldHdlZW4gcG93ZXIgY3ljbGVzLA0KLSAqIHRvIGRvIHRoYXQgeW91IG11c3QgY2FsbCB7QGxpbmsgUHJlZmVyZW5jZXMjU2F2ZSgpIFNhdmUoKX0gKHdoaWNoIG11c3QgYmUgdXNlZCB3aXRoIGNhcmUpDQotICogYXQgc29tZSBwb2ludCBhZnRlciBjYWxsaW5nIHRoaXMuPC9wPg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFByZWZlcmVuY2VzOjpQdXRJbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgdmFsdWUpDQotew0KLQljaGFyIGJ1ZlszMl07DQotCXNucHJpbnRmKGJ1ZiwgMzIsICIlZCIsIHZhbHVlKTsNCi0JUHV0KGtleSwgYnVmKTsNCi19DQotDQotLyoqDQotICogUHV0cyB0aGUgZ2l2ZW4gZG91YmxlIGludG8gdGhlIHByZWZlcmVuY2VzIHRhYmxlLg0KLSAqDQotICogPHA+VGhlIGtleSBtYXkgbm90IGhhdmUgYW55IHdoaXRlc3BhY2Ugbm9yIGFuIGVxdWFscyBzaWduPC9wPg0KLSAqDQotICogPHA+VGhpcyB3aWxsIDxiPk5PVDwvYj4gc2F2ZSB0aGUgdmFsdWUgdG8gbWVtb3J5IGJldHdlZW4gcG93ZXIgY3ljbGVzLA0KLSAqIHRvIGRvIHRoYXQgeW91IG11c3QgY2FsbCB7QGxpbmsgUHJlZmVyZW5jZXMjU2F2ZSgpIFNhdmUoKX0gKHdoaWNoIG11c3QgYmUgdXNlZCB3aXRoIGNhcmUpDQotICogYXQgc29tZSBwb2ludCBhZnRlciBjYWxsaW5nIHRoaXMuPC9wPg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFByZWZlcmVuY2VzOjpQdXREb3VibGUoY29uc3QgY2hhciAqa2V5LCBkb3VibGUgdmFsdWUpDQotew0KLQljaGFyIGJ1ZlszMl07DQotCXNucHJpbnRmKGJ1ZiwgMzIsICIlZiIsIHZhbHVlKTsNCi0JUHV0KGtleSwgYnVmKTsNCi19DQotDQotLyoqDQotICogUHV0cyB0aGUgZ2l2ZW4gZmxvYXQgaW50byB0aGUgcHJlZmVyZW5jZXMgdGFibGUuDQotICoNCi0gKiA8cD5UaGUga2V5IG1heSBub3QgaGF2ZSBhbnkgd2hpdGVzcGFjZSBub3IgYW4gZXF1YWxzIHNpZ248L3A+DQotICoNCi0gKiA8cD5UaGlzIHdpbGwgPGI+Tk9UPC9iPiBzYXZlIHRoZSB2YWx1ZSB0byBtZW1vcnkgYmV0d2VlbiBwb3dlciBjeWNsZXMsDQotICogdG8gZG8gdGhhdCB5b3UgbXVzdCBjYWxsIHtAbGluayBQcmVmZXJlbmNlcyNTYXZlKCkgU2F2ZSgpfSAod2hpY2ggbXVzdCBiZSB1c2VkIHdpdGggY2FyZSkNCi0gKiBhdCBzb21lIHBvaW50IGFmdGVyIGNhbGxpbmcgdGhpcy48L3A+DQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZQ0KLSAqLw0KLXZvaWQgUHJlZmVyZW5jZXM6OlB1dEZsb2F0KGNvbnN0IGNoYXIgKmtleSwgZmxvYXQgdmFsdWUpDQotew0KLQljaGFyIGJ1ZlszMl07DQotCXNucHJpbnRmKGJ1ZiwgMzIsICIlZiIsIHZhbHVlKTsNCi0JUHV0KGtleSwgYnVmKTsNCi19DQotDQotLyoqDQotICogUHV0cyB0aGUgZ2l2ZW4gYm9vbGVhbiBpbnRvIHRoZSBwcmVmZXJlbmNlcyB0YWJsZS4NCi0gKg0KLSAqIDxwPlRoZSBrZXkgbWF5IG5vdCBoYXZlIGFueSB3aGl0ZXNwYWNlIG5vciBhbiBlcXVhbHMgc2lnbjwvcD4NCi0gKg0KLSAqIDxwPlRoaXMgd2lsbCA8Yj5OT1Q8L2I+IHNhdmUgdGhlIHZhbHVlIHRvIG1lbW9yeSBiZXR3ZWVuIHBvd2VyIGN5Y2xlcywNCi0gKiB0byBkbyB0aGF0IHlvdSBtdXN0IGNhbGwge0BsaW5rIFByZWZlcmVuY2VzI1NhdmUoKSBTYXZlKCl9ICh3aGljaCBtdXN0IGJlIHVzZWQgd2l0aCBjYXJlKQ0KLSAqIGF0IHNvbWUgcG9pbnQgYWZ0ZXIgY2FsbGluZyB0aGlzLjwvcD4NCi0gKiBAcGFyYW0ga2V5IHRoZSBrZXkNCi0gKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlDQotICovDQotdm9pZCBQcmVmZXJlbmNlczo6UHV0Qm9vbGVhbihjb25zdCBjaGFyICprZXksIGJvb2wgdmFsdWUpDQotew0KLQlQdXQoa2V5LCB2YWx1ZSA/ICJ0cnVlIiA6ICJmYWxzZSIpOw0KLX0NCi0NCi0vKioNCi0gKiBQdXRzIHRoZSBnaXZlbiBsb25nIChJTlQ2NCkgaW50byB0aGUgcHJlZmVyZW5jZXMgdGFibGUuDQotICoNCi0gKiA8cD5UaGUga2V5IG1heSBub3QgaGF2ZSBhbnkgd2hpdGVzcGFjZSBub3IgYW4gZXF1YWxzIHNpZ248L3A+DQotICoNCi0gKiA8cD5UaGlzIHdpbGwgPGI+Tk9UPC9iPiBzYXZlIHRoZSB2YWx1ZSB0byBtZW1vcnkgYmV0d2VlbiBwb3dlciBjeWNsZXMsDQotICogdG8gZG8gdGhhdCB5b3UgbXVzdCBjYWxsIHtAbGluayBQcmVmZXJlbmNlcyNTYXZlKCkgU2F2ZSgpfSAod2hpY2ggbXVzdCBiZSB1c2VkIHdpdGggY2FyZSkNCi0gKiBhdCBzb21lIHBvaW50IGFmdGVyIGNhbGxpbmcgdGhpcy48L3A+DQotICogQHBhcmFtIGtleSB0aGUga2V5DQotICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZQ0KLSAqLw0KLXZvaWQgUHJlZmVyZW5jZXM6OlB1dExvbmcoY29uc3QgY2hhciAqa2V5LCBJTlQ2NCB2YWx1ZSkNCi17DQotCWNoYXIgYnVmWzMyXTsNCi0Jc25wcmludGYoYnVmLCAzMiwgIiVsbGQiLCB2YWx1ZSk7DQotCVB1dChrZXksIGJ1Zik7DQotfQ0KLQ0KLS8qKg0KLSAqIFNhdmVzIHRoZSBwcmVmZXJlbmNlcyB0byBhIGZpbGUgb24gdGhlIGNSSU8uDQotICoNCi0gKiA8cD5UaGlzIHNob3VsZCA8Yj5OT1Q8L2I+IGJlIGNhbGxlZCBvZnRlbi4NCi0gKiBUb28gbWFueSB3cml0ZXMgY2FuIGRhbWFnZSB0aGUgY1JJTydzIGZsYXNoIG1lbW9yeS4NCi0gKiBXaGlsZSBpdCBpcyBvayB0byBzYXZlIG9uY2Ugb3IgdHdpY2UgYSBtYXRjaCwgdGhpcyBzaG91bGQgbmV2ZXINCi0gKiBiZSBjYWxsZWQgZXZlcnkgcnVuIG9mIHtAbGluayBJdGVyYXRpdmVSb2JvdCNUZWxlb3BQZXJpb2RpYygpfSwgZXRjLjwvcD4NCi0gKg0KLSAqIDxwPlRoZSBhY3R1YWwgd3JpdGluZyBvZiB0aGUgZmlsZSBpcyBkb25lIGluIGEgc2VwYXJhdGUgdGhyZWFkLg0KLSAqIEhvd2V2ZXIsIGFueSBjYWxsIHRvIGEgZ2V0IG9yIHB1dCBtZXRob2Qgd2lsbCB3YWl0IHVudGlsIHRoZSB0YWJsZSBpcyBmdWxseSBzYXZlZCBiZWZvcmUgY29udGludWluZy48L3A+DQotICovDQotdm9pZCBQcmVmZXJlbmNlczo6U2F2ZSgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX2ZpbGVMb2NrKTsNCi0JbV93cml0ZVRhc2suU3RhcnQoKFVJTlQzMil0aGlzKTsNCi0Jc2VtVGFrZShtX2ZpbGVPcFN0YXJ0ZWQsIFdBSVRfRk9SRVZFUik7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlcmUgaXMgYSBrZXkgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4NCi0gKiBAcGFyYW0ga2V5IHRoZSBrZXkNCi0gKiBAcmV0dXJuIGlmIHRoZXJlIGlzIGEgdmFsdWUgYXQgdGhlIGdpdmVuIGtleQ0KLSAqLw0KLWJvb2wgUHJlZmVyZW5jZXM6OkNvbnRhaW5zS2V5KGNvbnN0IGNoYXIgKmtleSkNCi17DQotCXJldHVybiAhR2V0KGtleSkuZW1wdHkoKTsNCi19DQotDQotLyoqDQotICogUmVtb3ZlIGEgcHJlZmVyZW5jZQ0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqLw0KLXZvaWQgUHJlZmVyZW5jZXM6OlJlbW92ZShjb25zdCBjaGFyICprZXkpDQotew0KLQltX3ZhbHVlcy5lcmFzZShzdGQ6OnN0cmluZyhrZXkpKTsNCi0Jc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+OjppdGVyYXRvciBpdCA9IG1fa2V5cy5iZWdpbigpOw0KLQlmb3IgKDsgaXQgIT0gbV9rZXlzLmVuZCgpOyBpdCsrKQ0KLQl7DQotCQlpZiAoaXQtPmNvbXBhcmUoa2V5KSA9PSAwKQ0KLQkJew0KLQkJCW1fa2V5cy5lcmFzZShpdCk7DQotCQkJYnJlYWs7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUgdmFsdWUgYXQgdGhlIGdpdmVuIGtleS4NCi0gKiBAcGFyYW0ga2V5IHRoZSBrZXkNCi0gKiBAcmV0dXJuIHRoZSB2YWx1ZSAob3IgZW1wdHkgaWYgbm9uZSBleGlzdHMpDQotICovDQotc3RkOjpzdHJpbmcgUHJlZmVyZW5jZXM6OkdldChjb25zdCBjaGFyICprZXkpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3RhYmxlTG9jayk7DQotCWlmIChrZXkgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImtleSIpOw0KLQkJcmV0dXJuIHN0ZDo6c3RyaW5nKCIiKTsNCi0JfQ0KLQlyZXR1cm4gbV92YWx1ZXNbc3RkOjpzdHJpbmcoa2V5KV07DQotfQ0KLQ0KLS8qKg0KLSAqIFB1dHMgdGhlIGdpdmVuIHZhbHVlIGludG8gdGhlIGdpdmVuIGtleSBwb3NpdGlvbg0KLSAqIEBwYXJhbSBrZXkgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFByZWZlcmVuY2VzOjpQdXQoY29uc3QgY2hhciAqa2V5LCBzdGQ6OnN0cmluZyB2YWx1ZSkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fdGFibGVMb2NrKTsNCi0JaWYgKGtleSA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAia2V5Iik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JaWYgKHN0ZDo6c3RyaW5nKGtleSkuZmluZF9maXJzdF9vZigiPVxuXHIgXHRcIiIpICE9IHN0ZDo6c3RyaW5nOjpucG9zKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChQYXJhbWV0ZXJPdXRPZlJhbmdlLCAia2V5IGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVycyIpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXN0ZDo6cGFpcjxTdHJpbmdNYXA6Oml0ZXJhdG9yLCBib29sPiByZXQgPQ0KLQkJbV92YWx1ZXMuaW5zZXJ0KFN0cmluZ01hcDo6dmFsdWVfdHlwZShrZXksIHZhbHVlKSk7DQotCWlmIChyZXQuc2Vjb25kKQ0KLQkJbV9rZXlzLnB1c2hfYmFjayhrZXkpOw0KLQllbHNlDQotCQlyZXQuZmlyc3QtPnNlY29uZCA9IHZhbHVlOw0KLQ0KLQlOZXR3b3JrVGFibGU6OkdldFRhYmxlKGtUYWJsZU5hbWUpLT5QdXRTdHJpbmcoa2V5LCB2YWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFRoZSBpbnRlcm5hbCBtZXRob2QgdG8gcmVhZCBmcm9tIGEgZmlsZS4NCi0gKiBUaGlzIHdpbGwgYmUgY2FsbGVkIGluIGl0cyBvd24gdGhyZWFkIHdoZW4gdGhlIHByZWZlcmVuY2VzIHNpbmdsZXRvbiBpcw0KLSAqIGZpcnN0IGNyZWF0ZWQuDQotICovDQotdm9pZCBQcmVmZXJlbmNlczo6UmVhZFRhc2tSdW4oKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV90YWJsZUxvY2spOw0KLQlzZW1HaXZlKG1fZmlsZU9wU3RhcnRlZCk7DQotDQotCXN0ZDo6c3RyaW5nIGNvbW1lbnQ7DQotDQotCUZJTEUgKmZpbGUgPSBOVUxMOw0KLQlmaWxlID0gZm9wZW4oa0ZpbGVOYW1lLCAiciIpOw0KLQ0KLQlpZiAoZmlsZSAhPSBOVUxMKQ0KLQl7DQotCQlzdGQ6OnN0cmluZyBidWZmZXI7DQotCQl3aGlsZSAodHJ1ZSkNCi0JCXsNCi0JCQljaGFyIHZhbHVlOw0KLQkJCWRvDQotCQkJew0KLQkJCQl2YWx1ZSA9IGZnZXRjKGZpbGUpOw0KLQkJCX0gd2hpbGUgKHZhbHVlID09ICcgJyB8fCB2YWx1ZSA9PSAnXHQnKTsNCi0JCQkNCi0JCQlpZiAodmFsdWUgPT0gJ1xuJyB8fCB2YWx1ZSA9PSAnOycpDQotCQkJew0KLQkJCQlpZiAodmFsdWUgPT0gJ1xuJykNCi0JCQkJew0KLQkJCQkJY29tbWVudCArPSAiXG4iOw0KLQkJCQl9DQotCQkJCWVsc2UNCi0JCQkJew0KLQkJCQkJYnVmZmVyLmNsZWFyKCk7DQotCQkJCQlmb3IgKDsgdmFsdWUgIT0gJ1xuJyAmJiAhZmVvZihmaWxlKTsgdmFsdWUgPSBmZ2V0YyhmaWxlKSkNCi0JCQkJCQlidWZmZXIgKz0gdmFsdWU7DQotCQkJCQlidWZmZXIgKz0gJ1xuJzsNCi0JCQkJCWNvbW1lbnQgKz0gYnVmZmVyOw0KLQkJCQl9DQotCQkJfQ0KLQkJCWVsc2UgaWYgKHZhbHVlID09ICdbJykNCi0JCQl7DQotCQkJCS8vIEZpbmQgdGhlIGVuZCBvZiB0aGUgc2VjdGlvbiBhbmQgdGhlIG5ldyBsaW5lIGFmdGVyIGl0IGFuZCB0aHJvdyBpdCBhd2F5DQotCQkJCWZvciAoOyB2YWx1ZSAhPSAnXScgJiYgIWZlb2YoZmlsZSk7IHZhbHVlID0gZmdldGMoZmlsZSkpOw0KLQkJCQlmb3IgKDsgdmFsdWUgIT0gJ1xuJyAmJiAhZmVvZihmaWxlKTsgdmFsdWUgPSBmZ2V0YyhmaWxlKSk7DQotCQkJfQ0KLQkJCWVsc2UNCi0JCQl7DQotCQkJCWJ1ZmZlci5jbGVhcigpOw0KLQkJCQlmb3IgKDsgdmFsdWUgIT0gJz0nICYmICFmZW9mKGZpbGUpOyApDQotCQkJCXsNCi0JCQkJCWJ1ZmZlciArPSB2YWx1ZTsNCi0JCQkJCWRvDQotCQkJCQl7DQotCQkJCQkJdmFsdWUgPSBmZ2V0YyhmaWxlKTsNCi0JCQkJCX0gd2hpbGUgKHZhbHVlID09ICcgJyB8fCB2YWx1ZSA9PSAnXHQnKTsNCi0JCQkJfQ0KLQkJCQlzdGQ6OnN0cmluZyBuYW1lID0gYnVmZmVyOw0KLQkJCQlidWZmZXIuY2xlYXIoKTsNCi0NCi0JCQkJYm9vbCBzaG91bGRCcmVhayA9IGZhbHNlOw0KLQ0KLQkJCQlkbw0KLQkJCQl7DQotCQkJCQl2YWx1ZSA9IGZnZXRjKGZpbGUpOw0KLQkJCQl9IHdoaWxlICh2YWx1ZSA9PSAnICcgfHwgdmFsdWUgPT0gJ1x0Jyk7DQotDQotCQkJCWlmICh2YWx1ZSA9PSAnIicpDQotCQkJCXsNCi0JCQkJCWZvciAodmFsdWUgPSBmZ2V0YyhmaWxlKTsgdmFsdWUgIT0gJyInICYmICFmZW9mKGZpbGUpOyB2YWx1ZSA9IGZnZXRjKGZpbGUpKQ0KLQkJCQkJCWJ1ZmZlciArPSB2YWx1ZTsNCi0NCi0JCQkJCS8vIENsZWFyIHRoZSBsaW5lDQotCQkJCQl3aGlsZSAoZmdldGMoZmlsZSkgIT0gJ1xuJyAmJiAhZmVvZihmaWxlKSk7DQotCQkJCX0NCi0JCQkJZWxzZQ0KLQkJCQl7DQotCQkJCQlmb3IgKDsgdmFsdWUgIT0gJ1xuJyAmJiAhZmVvZihmaWxlKTspDQotCQkJCQl7DQotCQkJCQkJYnVmZmVyICs9IHZhbHVlOw0KLQkJCQkJCWRvDQotCQkJCQkJew0KLQkJCQkJCQl2YWx1ZSA9IGZnZXRjKGZpbGUpOw0KLQkJCQkJCX0gd2hpbGUgKHZhbHVlID09ICcgJyB8fCB2YWx1ZSA9PSAnXHQnKTsNCi0JCQkJCX0NCi0JCQkJCWlmIChmZW9mKGZpbGUpKQ0KLQkJCQkJCXNob3VsZEJyZWFrID0gdHJ1ZTsNCi0JCQkJfQ0KLQ0KLQkJCQlzdGQ6OnN0cmluZyB2YWx1ZSA9IGJ1ZmZlcjsNCi0NCi0JCQkJaWYgKCFuYW1lLmVtcHR5KCkgJiYgIXZhbHVlLmVtcHR5KCkpDQotCQkJCXsNCi0JCQkJCW1fa2V5cy5wdXNoX2JhY2sobmFtZSk7DQotCQkJCQltX3ZhbHVlcy5pbnNlcnQoc3RkOjpwYWlyPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4obmFtZSwgdmFsdWUpKTsNCi0JCQkJCU5ldHdvcmtUYWJsZTo6R2V0VGFibGUoa1RhYmxlTmFtZSktPlB1dFN0cmluZyhuYW1lLCB2YWx1ZSk7DQotDQotCQkJCQlpZiAoIWNvbW1lbnQuZW1wdHkoKSkNCi0JCQkJCXsNCi0JCQkJCQltX2NvbW1lbnRzLmluc2VydChzdGQ6OnBhaXI8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nPihuYW1lLCBjb21tZW50KSk7DQotCQkJCQkJY29tbWVudC5jbGVhcigpOw0KLQkJCQkJfQ0KLQkJCQl9DQotDQotCQkJCWlmIChzaG91bGRCcmVhaykNCi0JCQkJCWJyZWFrOw0KLQkJCX0NCi0JCX0NCi0JfQ0KLQllbHNlDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE5vQXZhaWxhYmxlUmVzb3VyY2VzLCAiRmFpbGVkIHRvIG9wZW4gcHJlZmVyZW5jZXMgZmlsZS4iKTsNCi0JfQ0KLQ0KLQlpZiAoZmlsZSAhPSBOVUxMKQ0KLQkJZmNsb3NlKGZpbGUpOw0KLQ0KLQlpZiAoIWNvbW1lbnQuZW1wdHkoKSkNCi0JCW1fZW5kQ29tbWVudCA9IGNvbW1lbnQ7DQotCQ0KLQlOZXR3b3JrVGFibGU6OkdldFRhYmxlKGtUYWJsZU5hbWUpLT5QdXRCb29sZWFuKGtTYXZlRmllbGQsIGZhbHNlKTsNCi0JTmV0d29ya1RhYmxlOjpHZXRUYWJsZShrVGFibGVOYW1lKS0+QWRkVGFibGVMaXN0ZW5lcih0aGlzKTsNCi19DQotDQotLyoqDQotICogSW50ZXJuYWwgbWV0aG9kIHRoYXQgYWN0dWFsbHkgd3JpdGVzIHRoZSB0YWJsZSB0byBhIGZpbGUuDQotICogVGhpcyBpcyBjYWxsZWQgaW4gaXRzIG93biB0aHJlYWQgd2hlbiB7QGxpbmsgUHJlZmVyZW5jZXMjU2F2ZSgpIFNhdmUoKX0gaXMgY2FsbGVkLg0KLSAqLw0KLXZvaWQgUHJlZmVyZW5jZXM6OldyaXRlVGFza1J1bigpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3RhYmxlTG9jayk7DQotCXNlbUdpdmUobV9maWxlT3BTdGFydGVkKTsNCi0NCi0JRklMRSAqZmlsZSA9IE5VTEw7DQotCVByaXZfU2V0V3JpdGVGaWxlQWxsb3dlZCgxKTsNCi0JZmlsZSA9IGZvcGVuKGtGaWxlTmFtZSwgInciKTsNCi0NCi0JZnB1dHMoIltQcmVmZXJlbmNlc11cbiIsIGZpbGUpOw0KLQlzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz46Oml0ZXJhdG9yIGl0ID0gbV9rZXlzLmJlZ2luKCk7DQotCWZvciAoOyBpdCAhPSBtX2tleXMuZW5kKCk7IGl0KyspDQotCXsNCi0JCXN0ZDo6c3RyaW5nIGtleSA9ICppdDsNCi0JCXN0ZDo6c3RyaW5nIHZhbHVlID0gbV92YWx1ZXNba2V5XTsNCi0JCXN0ZDo6c3RyaW5nIGNvbW1lbnQgPSBtX2NvbW1lbnRzW2tleV07DQotDQotCQlpZiAoIWNvbW1lbnQuZW1wdHkoKSkNCi0JCQlmcHV0cyhjb21tZW50LmNfc3RyKCksIGZpbGUpOw0KLQ0KLQkJZnB1dHMoa2V5LmNfc3RyKCksIGZpbGUpOw0KLQkJZnB1dHMoa1ZhbHVlUHJlZml4LCBmaWxlKTsNCi0JCWZwdXRzKHZhbHVlLmNfc3RyKCksIGZpbGUpOw0KLQkJZnB1dHMoa1ZhbHVlU3VmZml4LCBmaWxlKTsNCi0JfQ0KLQ0KLQlpZiAoIW1fZW5kQ29tbWVudC5lbXB0eSgpKQ0KLQkJZnB1dHMobV9lbmRDb21tZW50LmNfc3RyKCksIGZpbGUpOw0KLQ0KLQlpZiAoZmlsZSAhPSBOVUxMKQ0KLQkJZmNsb3NlKGZpbGUpOw0KLQ0KLQlOZXR3b3JrVGFibGU6OkdldFRhYmxlKGtUYWJsZU5hbWUpLT5QdXRCb29sZWFuKGtTYXZlRmllbGQsIGZhbHNlKTsNCi19DQotDQotc3RhdGljIGJvb2wgaXNLZXlBY2NlcHRhYmxlKGNvbnN0IHN0ZDo6c3RyaW5nJiB2YWx1ZSkgew0KLSAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aCgpOyBpKyspIHsNCi0gICAgICAgIGNoYXIgbGV0dGVyID0gdmFsdWUuYXQoaSk7DQotICAgICAgICBzd2l0Y2ggKGxldHRlcikgew0KLSAgICAgICAgICAgIGNhc2UgJz0nOg0KLSAgICAgICAgICAgIGNhc2UgJ1xuJzoNCi0gICAgICAgICAgICBjYXNlICdccic6DQotICAgICAgICAgICAgY2FzZSAnICc6DQotICAgICAgICAgICAgY2FzZSAnXHQnOg0KLSAgICAgICAgICAgIAlyZXR1cm4gZmFsc2U7DQotICAgICAgICB9DQotICAgIH0NCi0gICAgcmV0dXJuIHRydWU7DQotfQ0KLXZvaWQgUHJlZmVyZW5jZXM6OlZhbHVlQ2hhbmdlZChJVGFibGUqIHRhYmxlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KQ0KLXsNCi0JaWYgKGtleT09a1NhdmVGaWVsZCkNCi0Jew0KLQkJaWYgKHRhYmxlLT5HZXRCb29sZWFuKGtTYXZlRmllbGQsIGZhbHNlKSkNCi0JCQlTYXZlKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhtX3RhYmxlTG9jayk7DQotDQotCQlpZiAoIWlzS2V5QWNjZXB0YWJsZShrZXkpIHx8IHRhYmxlLT5HZXRTdHJpbmcoa2V5LCAiIikuZmluZCgnIicpIT1zdGQ6OnN0cmluZzo6bnBvcykNCi0JCXsNCi0JCQlpZihtX3ZhbHVlcy5maW5kKGtleSkgIT0gbV92YWx1ZXMuZW5kKCkpew0KLQkJCQltX3ZhbHVlcy5lcmFzZShrZXkpOw0KLQkJCQlzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz46Oml0ZXJhdG9yIGl0ID0gbV9rZXlzLmJlZ2luKCk7DQotCQkJCWZvciAoOyBpdCAhPSBtX2tleXMuZW5kKCk7IGl0KyspDQotCQkJCXsNCi0JCQkJCWlmIChrZXk9PSppdCkNCi0JCQkJCXsNCi0JCQkJCQltX2tleXMuZXJhc2UoaXQpOw0KLQkJCQkJCWJyZWFrOw0KLQkJCQkJfQ0KLQkJCQl9DQotCQkJCXRhYmxlLT5QdXRTdHJpbmcoa2V5LCAiXCIiKTsNCi0JCQl9DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJc3RkOjpwYWlyPFN0cmluZ01hcDo6aXRlcmF0b3IsIGJvb2w+IHJldCA9DQotCQkJCW1fdmFsdWVzLmluc2VydChTdHJpbmdNYXA6OnZhbHVlX3R5cGUoa2V5LCB0YWJsZS0+R2V0U3RyaW5nKGtleSwgIiIpKSk7DQotCQkJaWYgKHJldC5zZWNvbmQpDQotCQkJCW1fa2V5cy5wdXNoX2JhY2soa2V5KTsNCi0JCQllbHNlDQotCQkJCXJldC5maXJzdC0+c2Vjb25kID0gdGFibGUtPkdldFN0cmluZyhrZXksICIiKTsNCi0JCX0NCi0JfQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QcmVmZXJlbmNlcy5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUHJlZmVyZW5jZXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQxOTY3Zi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9QcmVmZXJlbmNlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fUFJFRkVSRU5DRVNfSF9fDQotI2RlZmluZSBfX1BSRUZFUkVOQ0VTX0hfXw0KLQ0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlIDxtYXA+DQotI2luY2x1ZGUgPHNlbUxpYi5oPg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgPHZlY3Rvcj4NCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZUxpc3RlbmVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotDQotLyoqDQotICogVGhlIHByZWZlcmVuY2VzIGNsYXNzIHByb3ZpZGVzIGEgcmVsYXRpdmVseSBzaW1wbGUgd2F5IHRvIHNhdmUgaW1wb3J0YW50IHZhbHVlcyB0bw0KLSAqIHRoZSBjUklPIHRvIGFjY2VzcyB0aGUgbmV4dCB0aW1lIHRoZSBjUklPIGlzIGJvb3RlZC4NCi0gKg0KLSAqIDxwPlRoaXMgY2xhc3MgbG9hZHMgYW5kIHNhdmVzIGZyb20gYSBmaWxlDQotICogaW5zaWRlIHRoZSBjUklPLiAgVGhlIHVzZXIgY2FuIG5vdCBhY2Nlc3MgdGhlIGZpbGUgZGlyZWN0bHksIGJ1dCBtYXkgbW9kaWZ5IHZhbHVlcyBhdCBzcGVjaWZpYw0KLSAqIGZpZWxkcyB3aGljaCB3aWxsIHRoZW4gYmUgc2F2ZWQgdG8gdGhlIGZpbGUgd2hlbiB7QGxpbmsgUHJlZmVyZW5jZXMjU2F2ZSgpIFNhdmUoKX0gaXMgY2FsbGVkLjwvcD4NCi0gKg0KLSAqIDxwPlRoaXMgY2xhc3MgaXMgdGhyZWFkIHNhZmUuPC9wPg0KLSAqDQotICogPHA+VGhpcyB3aWxsIGFsc28gaW50ZXJhY3Qgd2l0aCB7QGxpbmsgTmV0d29ya1RhYmxlfSBieSBjcmVhdGluZyBhIHRhYmxlIGNhbGxlZCAiUHJlZmVyZW5jZXMiIHdpdGggYWxsIHRoZQ0KLSAqIGtleS12YWx1ZSBwYWlycy4gIFRvIHNhdmUgdXNpbmcge0BsaW5rIE5ldHdvcmtUYWJsZX0sIHNpbXBseSBzZXQgdGhlIGJvb2xlYW4gYXQgcG9zaXRpb24gIn5TIEEgViBFfiIgdG8gdHJ1ZS4NCi0gKiBBbHNvLCBpZiB0aGUgdmFsdWUgb2YgYW55IHZhcmlhYmxlIGlzICIgaW4gdGhlIHtAbGluayBOZXR3b3JrVGFibGV9LCB0aGVuIHRoYXQgcmVwcmVzZW50cyBub24tZXhpc3RlbmNlIGluIHRoZQ0KLSAqIHtAbGluayBQcmVmZXJlbmNlc30gdGFibGU8L3A+DQotICovDQotY2xhc3MgUHJlZmVyZW5jZXMgOiBwdWJsaWMgRXJyb3JCYXNlLCBwdWJsaWMgSVRhYmxlTGlzdGVuZXINCi17DQotcHVibGljOg0KLQlzdGF0aWMgUHJlZmVyZW5jZXMgKkdldEluc3RhbmNlKCk7DQotDQotCXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBHZXRLZXlzKCk7DQotCXN0ZDo6c3RyaW5nIEdldFN0cmluZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKmRlZmF1bHRWYWx1ZSA9ICIiKTsNCi0JaW50IEdldFN0cmluZyhjb25zdCBjaGFyICprZXksIGNoYXIgKnZhbHVlLCBpbnQgdmFsdWVTaXplLCBjb25zdCBjaGFyICpkZWZhdWx0VmFsdWUgPSAiIik7DQotCWludCBHZXRJbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgZGVmYXVsdFZhbHVlID0gMCk7DQotCWRvdWJsZSBHZXREb3VibGUoY29uc3QgY2hhciAqa2V5LCBkb3VibGUgZGVmYXVsdFZhbHVlID0gMC4wKTsNCi0JZmxvYXQgR2V0RmxvYXQoY29uc3QgY2hhciAqa2V5LCBmbG9hdCBkZWZhdWx0VmFsdWUgPSAwLjApOw0KLQlib29sIEdldEJvb2xlYW4oY29uc3QgY2hhciAqa2V5LCBib29sIGRlZmF1bHRWYWx1ZSA9IGZhbHNlKTsNCi0JSU5UNjQgR2V0TG9uZyhjb25zdCBjaGFyICprZXksIElOVDY0IGRlZmF1bHRWYWx1ZSA9IDApOw0KLQl2b2lkIFB1dFN0cmluZyhjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKTsNCi0Jdm9pZCBQdXRJbnQoY29uc3QgY2hhciAqa2V5LCBpbnQgdmFsdWUpOw0KLQl2b2lkIFB1dERvdWJsZShjb25zdCBjaGFyICprZXksIGRvdWJsZSB2YWx1ZSk7DQotCXZvaWQgUHV0RmxvYXQoY29uc3QgY2hhciAqa2V5LCBmbG9hdCB2YWx1ZSk7DQotCXZvaWQgUHV0Qm9vbGVhbihjb25zdCBjaGFyICprZXksIGJvb2wgdmFsdWUpOw0KLQl2b2lkIFB1dExvbmcoY29uc3QgY2hhciAqa2V5LCBJTlQ2NCB2YWx1ZSk7DQotCXZvaWQgU2F2ZSgpOw0KLQlib29sIENvbnRhaW5zS2V5KGNvbnN0IGNoYXIgKmtleSk7DQotCXZvaWQgUmVtb3ZlKGNvbnN0IGNoYXIgKmtleSk7DQotCQ0KLQl2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotDQotcHJvdGVjdGVkOg0KLQlQcmVmZXJlbmNlcygpOw0KLQl2aXJ0dWFsIH5QcmVmZXJlbmNlcygpOw0KLQ0KLXByaXZhdGU6DQotCXN0ZDo6c3RyaW5nIEdldChjb25zdCBjaGFyICprZXkpOw0KLQl2b2lkIFB1dChjb25zdCBjaGFyICprZXksIHN0ZDo6c3RyaW5nIHZhbHVlKTsNCi0NCi0Jdm9pZCBSZWFkVGFza1J1bigpOw0KLQl2b2lkIFdyaXRlVGFza1J1bigpOw0KLQ0KLQlzdGF0aWMgaW50IEluaXRSZWFkVGFzayhQcmVmZXJlbmNlcyAqb2JqKSB7b2JqLT5SZWFkVGFza1J1bigpO3JldHVybiAwO30NCi0Jc3RhdGljIGludCBJbml0V3JpdGVUYXNrKFByZWZlcmVuY2VzICpvYmopIHtvYmotPldyaXRlVGFza1J1bigpO3JldHVybiAwO30NCi0NCi0Jc3RhdGljIFByZWZlcmVuY2VzICpfaW5zdGFuY2U7DQotDQotCS8qKiBUaGUgc2VtYXBob3JlIGZvciBhY2Nlc3NpbmcgdGhlIGZpbGUgKi8NCi0JU0VNX0lEIG1fZmlsZUxvY2s7DQotCS8qKiBUaGUgc2VtYXBob3JlIGZvciBiZWdpbm5pbmcgcmVhZHMgYW5kIHdyaXRlcyB0byB0aGUgZmlsZSAqLw0KLQlTRU1fSUQgbV9maWxlT3BTdGFydGVkOw0KLQkvKiogVGhlIHNlbWFwaG9yZSBmb3IgcmVhZGluZyBmcm9tIHRoZSB0YWJsZSAqLw0KLQlTRU1fSUQgbV90YWJsZUxvY2s7DQotCXR5cGVkZWYgc3RkOjptYXA8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nPiBTdHJpbmdNYXA7DQotCS8qKiBUaGUgYWN0dWFsIHZhbHVlcyAoU3RyaW5nLT5TdHJpbmcpICovDQotCVN0cmluZ01hcCBtX3ZhbHVlczsNCi0JLyoqIFRoZSBrZXlzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgcmVhZCBmcm9tIHRoZSBmaWxlICovDQotCXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBtX2tleXM7DQotCS8qKiBUaGUgY29tbWVudHMgdGhhdCB3ZXJlIGluIHRoZSBmaWxlIHNvcnRlZCBieSB3aGljaCBrZXkgdGhleSBhcHBlYXJlZCBvdmVyIChTdHJpbmctPkNvbW1lbnQpICovDQotCVN0cmluZ01hcCBtX2NvbW1lbnRzOw0KLQkvKiogVGhlIGNvbW1lbnQgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSAqLw0KLQlzdGQ6OnN0cmluZyBtX2VuZENvbW1lbnQ7DQotCVRhc2sgbV9yZWFkVGFzazsNCi0JVGFzayBtX3dyaXRlVGFzazsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JlbGF5LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JlbGF5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWVkYmQ0Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9SZWxheS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNzIgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiUmVsYXkuaCINCi0NCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJSZXNvdXJjZS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotLy8gQWxsb2NhdGUgZWFjaCBkaXJlY3Rpb24gc2VwYXJhdGVseS4NCi1zdGF0aWMgUmVzb3VyY2UgKnJlbGF5Q2hhbm5lbHMgPSBOVUxMOw0KLQ0KLS8qKg0KLSAqIENvbW1vbiByZWxheSBpbnRpdGlhbGl6YXRpb24gbWV0aG9kZS4NCi0gKiBUaGlzIGNvZGUgaXMgY29tbW9uIHRvIGFsbCBSZWxheSBjb25zdHJ1Y3RvcnMgYW5kIGluaXRpYWxpemVzIHRoZSByZWxheSBhbmQgcmVzZXJ2ZXMNCi0gKiBhbGwgcmVzb3VyY2VzIHRoYXQgbmVlZCB0byBiZSBsb2NrZWQuIEluaXRpYWxseSB0aGUgcmVsYXkgaXMgc2V0IHRvIGJvdGggbGluZXMgYXQgMHYuDQotICogQHBhcmFtIHNsb3QgVGhlIG1vZHVsZSBzbG90IG51bWJlciB0aGlzIHJlbGF5IGlzIGNvbm5lY3RlZCB0by4NCi0gKiANCi0gKiBAcGFyYW0gbW9kdWxlTnVtYmVyIFRoZSBkaWdpdGFsIG1vZHVsZSB0aGlzIHJlbGF5IGlzIGNvbm5lY3RlZCB0byAoMSBvciAyKS4NCi0gKi8NCi12b2lkIFJlbGF5OjpJbml0UmVsYXkgKFVJTlQ4IG1vZHVsZU51bWJlcikNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQljaGFyIGJ1Zls2NF07DQotCVJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdCgmcmVsYXlDaGFubmVscywgdERJTzo6a051bVN5c3RlbXMgKiBrUmVsYXlDaGFubmVscyAqIDIpOw0KLQlpZiAoIVNlbnNvckJhc2U6OkNoZWNrUmVsYXlNb2R1bGUobW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIkRpZ2l0YWwgTW9kdWxlICVkIiwgbW9kdWxlTnVtYmVyKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIVNlbnNvckJhc2U6OkNoZWNrUmVsYXlDaGFubmVsKG1fY2hhbm5lbCkpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJSZWxheSBDaGFubmVsICVkIiwgbV9jaGFubmVsKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KENoYW5uZWxJbmRleE91dE9mUmFuZ2UsIGJ1Zik7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JaWYgKG1fZGlyZWN0aW9uID09IGtCb3RoRGlyZWN0aW9ucyB8fCBtX2RpcmVjdGlvbiA9PSBrRm9yd2FyZE9ubHkpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJGb3J3YXJkIFJlbGF5ICVkIChNb2R1bGU6ICVkKSIsIG1fY2hhbm5lbCwgbW9kdWxlTnVtYmVyKTsNCi0JCWlmIChyZWxheUNoYW5uZWxzLT5BbGxvY2F0ZSgoKG1vZHVsZU51bWJlciAtIDEpICoga1JlbGF5Q2hhbm5lbHMgKyBtX2NoYW5uZWwgLSAxKSAqIDIsIGJ1ZikgPT0gfjB1bCkNCi0JCXsNCi0JCQlDbG9uZUVycm9yKHJlbGF5Q2hhbm5lbHMpOw0KLQkJCXJldHVybjsNCi0JCX0NCi0NCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9SZWxheSwgbV9jaGFubmVsLCBtb2R1bGVOdW1iZXIgLSAxKTsNCi0JfQ0KLQlpZiAobV9kaXJlY3Rpb24gPT0ga0JvdGhEaXJlY3Rpb25zIHx8IG1fZGlyZWN0aW9uID09IGtSZXZlcnNlT25seSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIlJldmVyc2UgUmVsYXkgJWQgKE1vZHVsZTogJWQpIiwgbV9jaGFubmVsLCBtb2R1bGVOdW1iZXIpOw0KLQkJaWYgKHJlbGF5Q2hhbm5lbHMtPkFsbG9jYXRlKCgobW9kdWxlTnVtYmVyIC0gMSkgKiBrUmVsYXlDaGFubmVscyArIG1fY2hhbm5lbCAtIDEpICogMiArIDEsIGJ1ZikgPT0gfjB1bCkNCi0JCXsNCi0JCQlDbG9uZUVycm9yKHJlbGF5Q2hhbm5lbHMpOw0KLQkJCXJldHVybjsNCi0JCX0NCi0NCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9SZWxheSwgbV9jaGFubmVsICsgMTI4LCBtb2R1bGVOdW1iZXIgLSAxKTsNCi0JfQ0KLQltX21vZHVsZSA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKG1vZHVsZU51bWJlcik7DQotCW1fbW9kdWxlLT5TZXRSZWxheUZvcndhcmQobV9jaGFubmVsLCBmYWxzZSk7DQotCW1fbW9kdWxlLT5TZXRSZWxheVJldmVyc2UobV9jaGFubmVsLCBmYWxzZSk7DQotCUxpdmVXaW5kb3c6OkdldEluc3RhbmNlKCktPkFkZEFjdHVhdG9yKCJSZWxheSIsIG1vZHVsZU51bWJlciwgbV9jaGFubmVsLCB0aGlzKTsNCi19DQotDQotLyoqDQotICogUmVsYXkgY29uc3RydWN0b3IgZ2l2ZW4gdGhlIG1vZHVsZSBhbmQgdGhlIGNoYW5uZWwuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgdGhpcyByZWxheSBpcyBjb25uZWN0ZWQgdG8gKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgbnVtYmVyIHdpdGhpbiB0aGUgbW9kdWxlIGZvciB0aGlzIHJlbGF5Lg0KLSAqIEBwYXJhbSBkaXJlY3Rpb24gVGhlIGRpcmVjdGlvbiB0aGF0IHRoZSBSZWxheSBvYmplY3Qgd2lsbCBjb250cm9sLg0KLSAqLw0KLVJlbGF5OjpSZWxheShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsLCBSZWxheTo6RGlyZWN0aW9uIGRpcmVjdGlvbikNCi0JOiBtX2NoYW5uZWwgKGNoYW5uZWwpDQotCSwgbV9kaXJlY3Rpb24gKGRpcmVjdGlvbikNCi17DQotCUluaXRSZWxheShtb2R1bGVOdW1iZXIpOw0KLX0NCi0NCi0vKioNCi0gKiBSZWxheSBjb25zdHJ1Y3RvciBnaXZlbiBhIGNoYW5uZWwgb25seSB3aGVyZSB0aGUgZGVmYXVsdCBkaWdpdGFsIG1vZHVsZSBpcyB1c2VkLg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIG51bWJlciB3aXRoaW4gdGhlIGRlZmF1bHQgbW9kdWxlIGZvciB0aGlzIHJlbGF5Lg0KLSAqIEBwYXJhbSBkaXJlY3Rpb24gVGhlIGRpcmVjdGlvbiB0aGF0IHRoZSBSZWxheSBvYmplY3Qgd2lsbCBjb250cm9sLg0KLSAqLw0KLVJlbGF5OjpSZWxheShVSU5UMzIgY2hhbm5lbCwgUmVsYXk6OkRpcmVjdGlvbiBkaXJlY3Rpb24pDQotCTogbV9jaGFubmVsIChjaGFubmVsKQ0KLQksIG1fZGlyZWN0aW9uIChkaXJlY3Rpb24pDQotew0KLQlJbml0UmVsYXkoR2V0RGVmYXVsdERpZ2l0YWxNb2R1bGUoKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEZyZWUgdGhlIHJlc291cmNlIGFzc29jaWF0ZWQgd2l0aCBhIHJlbGF5Lg0KLSAqIFRoZSByZWxheSBjaGFubmVscyBhcmUgc2V0IHRvIGZyZWUgYW5kIHRoZSByZWxheSBvdXRwdXQgaXMgdHVybmVkIG9mZi4NCi0gKi8NCi1SZWxheTo6flJlbGF5KCkNCi17DQotCW1fbW9kdWxlLT5TZXRSZWxheUZvcndhcmQobV9jaGFubmVsLCBmYWxzZSk7DQotCW1fbW9kdWxlLT5TZXRSZWxheVJldmVyc2UobV9jaGFubmVsLCBmYWxzZSk7DQotDQotCWlmIChtX2RpcmVjdGlvbiA9PSBrQm90aERpcmVjdGlvbnMgfHwgbV9kaXJlY3Rpb24gPT0ga0ZvcndhcmRPbmx5KQ0KLQl7DQotCQlyZWxheUNoYW5uZWxzLT5GcmVlKCgobV9tb2R1bGUtPkdldE51bWJlcigpIC0gMSkgKiBrUmVsYXlDaGFubmVscyArIG1fY2hhbm5lbCAtIDEpICogMik7DQotCX0NCi0JaWYgKG1fZGlyZWN0aW9uID09IGtCb3RoRGlyZWN0aW9ucyB8fCBtX2RpcmVjdGlvbiA9PSBrUmV2ZXJzZU9ubHkpDQotCXsNCi0JCXJlbGF5Q2hhbm5lbHMtPkZyZWUoKChtX21vZHVsZS0+R2V0TnVtYmVyKCkgLSAxKSAqIGtSZWxheUNoYW5uZWxzICsgbV9jaGFubmVsIC0gMSkgKiAyICsgMSk7DQotCX0NCi19DQotDQotLyoqDQotICogU2V0IHRoZSByZWxheSBzdGF0ZS4NCi0gKiANCi0gKiBWYWxpZCB2YWx1ZXMgZGVwZW5kIG9uIHdoaWNoIGRpcmVjdGlvbnMgb2YgdGhlIHJlbGF5IGFyZSBjb250cm9sbGVkIGJ5IHRoZSBvYmplY3QuDQotICogDQotICogV2hlbiBzZXQgdG8ga0JvdGhEaXJlY3Rpb25zLCB0aGUgcmVsYXkgY2FuIGJlIGFueSBvZiB0aGUgZm91ciBzdGF0ZXM6DQotICogICAgMHYtMHYsIDB2LTEydiwgMTJ2LTB2LCAxMnYtMTJ2DQotICogDQotICogV2hlbiBzZXQgdG8ga0ZvcndhcmRPbmx5IG9yIGtSZXZlcnNlT25seSwgeW91IGNhbiBzcGVjaWZ5IHRoZSBjb25zdGFudCBmb3IgdGhlDQotICogICAgZGlyZWN0aW9uIG9yIHlvdSBjYW4gc2ltcGx5IHNwZWNpZnkga09mZiBhbmQga09uLiAgVXNpbmcgb25seSBrT2ZmIGFuZCBrT24gaXMNCi0gKiAgICByZWNvbW1lbmRlZC4NCi0gKiANCi0gKiBAcGFyYW0gdmFsdWUgVGhlIHN0YXRlIHRvIHNldCB0aGUgcmVsYXkuDQotICovDQotdm9pZCBSZWxheTo6U2V0KFJlbGF5OjpWYWx1ZSB2YWx1ZSkNCi17DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpIHJldHVybjsNCi0Jc3dpdGNoICh2YWx1ZSkNCi0Jew0KLQljYXNlIGtPZmY6DQotCQlpZiAobV9kaXJlY3Rpb24gPT0ga0JvdGhEaXJlY3Rpb25zIHx8IG1fZGlyZWN0aW9uID09IGtGb3J3YXJkT25seSkNCi0JCXsNCi0JCQltX21vZHVsZS0+U2V0UmVsYXlGb3J3YXJkKG1fY2hhbm5lbCwgZmFsc2UpOw0KLQkJfQ0KLQkJaWYgKG1fZGlyZWN0aW9uID09IGtCb3RoRGlyZWN0aW9ucyB8fCBtX2RpcmVjdGlvbiA9PSBrUmV2ZXJzZU9ubHkpDQotCQl7DQotCQkJbV9tb2R1bGUtPlNldFJlbGF5UmV2ZXJzZShtX2NoYW5uZWwsIGZhbHNlKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQljYXNlIGtPbjoNCi0JCWlmIChtX2RpcmVjdGlvbiA9PSBrQm90aERpcmVjdGlvbnMgfHwgbV9kaXJlY3Rpb24gPT0ga0ZvcndhcmRPbmx5KQ0KLQkJew0KLQkJCW1fbW9kdWxlLT5TZXRSZWxheUZvcndhcmQobV9jaGFubmVsLCB0cnVlKTsNCi0JCX0NCi0JCWlmIChtX2RpcmVjdGlvbiA9PSBrQm90aERpcmVjdGlvbnMgfHwgbV9kaXJlY3Rpb24gPT0ga1JldmVyc2VPbmx5KQ0KLQkJew0KLQkJCW1fbW9kdWxlLT5TZXRSZWxheVJldmVyc2UobV9jaGFubmVsLCB0cnVlKTsNCi0JCX0NCi0JCWJyZWFrOw0KLQljYXNlIGtGb3J3YXJkOg0KLQkJaWYgKG1fZGlyZWN0aW9uID09IGtSZXZlcnNlT25seSkNCi0JCXsNCi0JCQl3cGlfc2V0V1BJRXJyb3IoSW5jb21wYXRpYmxlTW9kZSk7DQotCQkJYnJlYWs7DQotCQl9DQotCQlpZiAobV9kaXJlY3Rpb24gPT0ga0JvdGhEaXJlY3Rpb25zIHx8IG1fZGlyZWN0aW9uID09IGtGb3J3YXJkT25seSkNCi0JCXsNCi0JCQltX21vZHVsZS0+U2V0UmVsYXlGb3J3YXJkKG1fY2hhbm5lbCwgdHJ1ZSk7DQotCQl9DQotCQlpZiAobV9kaXJlY3Rpb24gPT0ga0JvdGhEaXJlY3Rpb25zKQ0KLQkJew0KLQkJCW1fbW9kdWxlLT5TZXRSZWxheVJldmVyc2UobV9jaGFubmVsLCBmYWxzZSk7DQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBrUmV2ZXJzZToNCi0JCWlmIChtX2RpcmVjdGlvbiA9PSBrRm9yd2FyZE9ubHkpDQotCQl7DQotCQkJd3BpX3NldFdQSUVycm9yKEluY29tcGF0aWJsZU1vZGUpOw0KLQkJCWJyZWFrOw0KLQkJfQ0KLQkJaWYgKG1fZGlyZWN0aW9uID09IGtCb3RoRGlyZWN0aW9ucykNCi0JCXsNCi0JCQltX21vZHVsZS0+U2V0UmVsYXlGb3J3YXJkKG1fY2hhbm5lbCwgZmFsc2UpOw0KLQkJfQ0KLQkJaWYgKG1fZGlyZWN0aW9uID09IGtCb3RoRGlyZWN0aW9ucyB8fCBtX2RpcmVjdGlvbiA9PSBrUmV2ZXJzZU9ubHkpDQotCQl7DQotCQkJbV9tb2R1bGUtPlNldFJlbGF5UmV2ZXJzZShtX2NoYW5uZWwsIHRydWUpOw0KLQkJfQ0KLQkJYnJlYWs7DQotCX0NCi19DQotDQotLyoqDQotICogR2V0IHRoZSBSZWxheSBTdGF0ZQ0KLSAqIA0KLSAqIEdldHMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHJlbGF5Lg0KLSAqIA0KLSAqIFdoZW4gc2V0IHRvIGtGb3J3YXJkT25seSBvciBrUmV2ZXJzZU9ubHksIHZhbHVlIGlzIHJldHVybmVkIGFzIGtPbi9rT2ZmIG5vdA0KLSAqIGtGb3J3YXJkL2tSZXZlcnNlIChwZXIgdGhlIHJlY29tbWVuZGF0aW9uIGluIFNldCkNCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSByZWxheSBhcyBhIFJlbGF5OjpWYWx1ZQ0KLSAqLw0KLVJlbGF5OjpWYWx1ZSBSZWxheTo6R2V0KCkgew0KLSAgIGlmKG1fbW9kdWxlLT5HZXRSZWxheUZvcndhcmQobV9jaGFubmVsKSkgew0KLQkgICBpZihtX21vZHVsZS0+R2V0UmVsYXlSZXZlcnNlKG1fY2hhbm5lbCkpIHsNCi0JCSAgIHJldHVybiBrT247DQotCSAgIH0gZWxzZSB7DQotCQkgICBpZihtX2RpcmVjdGlvbiA9PSBrRm9yd2FyZE9ubHkpIHsNCi0JCQkgICByZXR1cm4ga09uOw0KLQkJICAgfSBlbHNlIHsNCi0JCSAgIHJldHVybiBrRm9yd2FyZDsNCi0JCSAgIH0NCi0JICAgfQ0KLSAgIH0gZWxzZSB7DQotCSAgIGlmKG1fbW9kdWxlLT5HZXRSZWxheVJldmVyc2UobV9jaGFubmVsKSkgew0KLQkJICAgaWYobV9kaXJlY3Rpb24gPT0ga1JldmVyc2VPbmx5KSB7DQotCQkJICAgcmV0dXJuIGtPbjsNCi0JCSAgIH0gZWxzZSB7DQotCQkgICByZXR1cm4ga1JldmVyc2U7DQotCQkgICB9DQotCSAgIH0gZWxzZSB7DQotCQkgICByZXR1cm4ga09mZjsNCi0JICAgfQ0KLSAgIH0gICAgICAgIA0KLX0NCi0NCi12b2lkIFJlbGF5OjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpIHsNCi0Jc3RkOjpzdHJpbmcgKnZhbCA9IChzdGQ6OnN0cmluZyAqKSB2YWx1ZS5wdHI7DQotCWlmICgqdmFsID09ICJPZmYiKSBTZXQoa09mZik7DQotCWVsc2UgaWYgKCp2YWwgPT0gIkZvcndhcmQiKSBTZXQoa0ZvcndhcmQpOw0KLQllbHNlIGlmICgqdmFsID09ICJSZXZlcnNlIikgU2V0KGtSZXZlcnNlKTsNCi19DQotDQotdm9pZCBSZWxheTo6VXBkYXRlVGFibGUoKSB7DQotCWlmKG1fdGFibGUgIT0gTlVMTCl7DQotCQlpZiAoR2V0KCkgPT0ga09uKSB7DQotCQkJbV90YWJsZS0+UHV0U3RyaW5nKCJWYWx1ZSIsICJPbiIpOw0KLQkJfQ0KLQkJZWxzZSBpZiAoR2V0KCkgPT0ga0ZvcndhcmQpIHsNCi0JCQltX3RhYmxlLT5QdXRTdHJpbmcoIlZhbHVlIiwgIkZvcndhcmQiKTsNCi0JCX0NCi0JCWVsc2UgaWYgKEdldCgpID09IGtSZXZlcnNlKSB7DQotCQkJbV90YWJsZS0+UHV0U3RyaW5nKCJWYWx1ZSIsICJSZXZlcnNlIik7DQotCQl9DQotCQllbHNlIHsNCi0JCQltX3RhYmxlLT5QdXRTdHJpbmcoIlZhbHVlIiwgIk9mZiIpOw0KLQkJfQ0KLQl9DQotfQ0KLQ0KLXZvaWQgUmVsYXk6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCWlmKG1fdGFibGUgIT0gTlVMTCl7DQotCQltX3RhYmxlLT5BZGRUYWJsZUxpc3RlbmVyKCJWYWx1ZSIsIHRoaXMsIHRydWUpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgUmVsYXk6OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JaWYobV90YWJsZSAhPSBOVUxMKXsNCi0JCW1fdGFibGUtPlJlbW92ZVRhYmxlTGlzdGVuZXIodGhpcyk7DQotCX0NCi19DQotDQotc3RkOjpzdHJpbmcgUmVsYXk6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJSZWxheSI7DQotfQ0KLQ0KLXZvaWQgUmVsYXk6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogUmVsYXk6OkdldFRhYmxlKCkgew0KLQlyZXR1cm4gbV90YWJsZTsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUmVsYXkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JlbGF5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhNjcwOGEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUmVsYXkuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBSRUxBWV9IXw0KLSNkZWZpbmUgUkVMQVlfSF8NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93U2VuZGFibGUuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZS5oIg0KLQ0KLWNsYXNzIERpZ2l0YWxNb2R1bGU7DQotDQotLyoqDQotICogQ2xhc3MgZm9yIFNwaWtlIHN0eWxlIHJlbGF5IG91dHB1dHMuDQotICogUmVsYXlzIGFyZSBpbnRlbmRlZCB0byBiZSBjb25uZWN0ZWQgdG8gc3Bpa2VzIG9yIHNpbWlsYXIgcmVsYXlzLiBUaGUgcmVsYXkgY2hhbm5lbHMgY29udHJvbHMNCi0gKiBhIHBhaXIgb2YgcGlucyB0aGF0IGFyZSBlaXRoZXIgYm90aCBvZmYsIG9uZSBvbiwgdGhlIG90aGVyIG9uLCBvciBib3RoIG9uLiBUaGlzIHRyYW5zbGF0ZXMgaW50bw0KLSAqIHR3byBzcGlrZSBvdXRwdXRzIGF0IDB2LCBvbmUgYXQgMTJ2IGFuZCBvbmUgYXQgMHYsIG9uZSBhdCAwdiBhbmQgdGhlIG90aGVyIGF0IDEydiwgb3IgdHdvIA0KLSAqIHNwaWtlIG91dHB1dHMgYXQgMTJWLiBUaGlzIGFsbG93cyBvZmYsIGZ1bGwgZm9yd2FyZCwgb3IgZnVsbCByZXZlcnNlIGNvbnRyb2wgb2YgbW90b3JzIHdpdGhvdXQNCi0gKiB2YXJpYWJsZSBzcGVlZC4gIEl0IGFsc28gYWxsb3dzIHRoZSB0d28gY2hhbm5lbHMgKGZvcndhcmQgYW5kIHJldmVyc2UpIHRvIGJlIHVzZWQgaW5kZXBlbmRlbnRseQ0KLSAqIGZvciBzb21ldGhpbmcgdGhhdCBkb2VzIG5vdCBjYXJlIGFib3V0IHZvbHRhZ2UgcG9sYXRpcnkgKGxpa2UgYSBzb2xlbm9pZCkuDQotICovDQotY2xhc3MgUmVsYXkgOiBwdWJsaWMgU2Vuc29yQmFzZSwgcHVibGljIElUYWJsZUxpc3RlbmVyLCBwdWJsaWMgTGl2ZVdpbmRvd1NlbmRhYmxlIHsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bSB7a09mZiwga09uLCBrRm9yd2FyZCwga1JldmVyc2V9IFZhbHVlOw0KLQl0eXBlZGVmIGVudW0ge2tCb3RoRGlyZWN0aW9ucywga0ZvcndhcmRPbmx5LCBrUmV2ZXJzZU9ubHl9IERpcmVjdGlvbjsNCi0NCi0JUmVsYXkoVUlOVDMyIGNoYW5uZWwsIERpcmVjdGlvbiBkaXJlY3Rpb24gPSBrQm90aERpcmVjdGlvbnMpOw0KLQlSZWxheShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsLCBEaXJlY3Rpb24gZGlyZWN0aW9uID0ga0JvdGhEaXJlY3Rpb25zKTsNCi0JdmlydHVhbCB+UmVsYXkoKTsNCi0NCi0Jdm9pZCBTZXQoVmFsdWUgdmFsdWUpOw0KLQlWYWx1ZSBHZXQoKTsNCi0JDQotCXZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotCXZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpOw0KLQlJVGFibGUgKiBHZXRUYWJsZSgpOw0KLQkNCi0JSVRhYmxlICptX3RhYmxlOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdFJlbGF5KFVJTlQ4IG1vZHVsZU51bWJlcik7DQotDQotCVVJTlQzMiBtX2NoYW5uZWw7DQotCURpcmVjdGlvbiBtX2RpcmVjdGlvbjsNCi0JRGlnaXRhbE1vZHVsZSAqbV9tb2R1bGU7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9SZXNvdXJjZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9SZXNvdXJjZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3NWYzYjYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUmVzb3VyY2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTIwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlJlc291cmNlLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0NCi1SZWVudHJhbnRTZW1hcGhvcmUgUmVzb3VyY2U6Om1fY3JlYXRlTG9jazsNCi0NCi0vKioNCi0gKiBBbGxvY2F0ZSBzdG9yYWdlIGZvciBhIG5ldyBpbnN0YW5jZSBvZiBSZXNvdXJjZS4NCi0gKiBBbGxvY2F0ZSBhIGJvb2wgYXJyYXkgb2YgdmFsdWVzIHRoYXQgd2lsbCBnZXQgaW5pdGlhbGl6ZWQgdG8gaW5kaWNhdGUgdGhhdCBubyByZXNvdXJjZXMNCi0gKiBoYXZlIGJlZW4gYWxsb2NhdGVkIHlldC4gVGhlIGluZGljaWVzIG9mIHRoZSByZXNvdXJjZXMgYXJlIFswIC4uIGVsZW1lbnRzIC0gMV0uDQotICovDQotUmVzb3VyY2U6OlJlc291cmNlKFVJTlQzMiBlbGVtZW50cykNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fY3JlYXRlTG9jayk7DQotCW1fc2l6ZSA9IGVsZW1lbnRzOw0KLQltX2lzQWxsb2NhdGVkID0gbmV3IGJvb2xbbV9zaXplXTsNCi0JZm9yIChVSU5UMzIgaT0wOyBpIDwgbV9zaXplOyBpKyspDQotCXsNCi0JCW1faXNBbGxvY2F0ZWRbaV0gPSBmYWxzZTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBSZXNvdXJjZSBhbGxvY2F0aW9uLXRyYWNrZXIgKmlmKiBuZWVkZWQuDQotICoNCi0gKiBAcGFyYW0gciAtLSBhZGRyZXNzIG9mIHRoZSBjYWxsZXIncyBSZXNvdXJjZSBwb2ludGVyLiBJZiAqciA9PSBOVUxMLCB0aGlzDQotICogICAgd2lsbCBjb25zdHJ1Y3QgYSBSZXNvdXJjZSBhbmQgbWFrZSAqciBwb2ludCB0byBpdC4gSWYgKnIgIT0gTlVMTCwgaS5lLg0KLSAqICAgIHRoZSBjYWxsZXIgYWxyZWFkeSBoYXMgYSBSZXNvdXJjZSBpbnN0YW5jZSwgdGhpcyB3b24ndCBkbyBhbnl0aGluZy4NCi0gKiBAcGFyYW0gZWxlbWVudHMgLS0gdGhlIG51bWJlciBvZiBlbGVtZW50cyBmb3IgdGhpcyBSZXNvdXJjZSBhbGxvY2F0b3IgdG8NCi0gKiAgICB0cmFjaywgdGhhdCBpcywgaXQgd2lsbCBhbGxvY2F0ZSByZXNvdXJjZSBudW1iZXJzIGluIHRoZSByYW5nZQ0KLSAqICAgIFswIC4uIGVsZW1lbnRzIC0gMV0uDQotICovDQotLypzdGF0aWMqLyB2b2lkIFJlc291cmNlOjpDcmVhdGVSZXNvdXJjZU9iamVjdChSZXNvdXJjZSAqKnIsIFVJTlQzMiBlbGVtZW50cykNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fY3JlYXRlTG9jayk7DQotCWlmICgqciA9PSBOVUxMKQ0KLQl7DQotCQkqciA9IG5ldyBSZXNvdXJjZShlbGVtZW50cyk7DQotCX0NCi19DQotDQotLyoqDQotICogRGVsZXRlIHRoZSBhbGxvY2F0ZWQgYXJyYXkgb3IgcmVzb3VyY2VzLg0KLSAqIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBtb2R1bGUgaXMgdW5sb2FkZWQgKHByb3ZpZGVkIGl0IHdhcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCkuDQotICovDQotUmVzb3VyY2U6On5SZXNvdXJjZSgpDQotew0KLQlkZWxldGVbXSBtX2lzQWxsb2NhdGVkOw0KLX0NCi0NCi0vKioNCi0gKiBBbGxvY2F0ZSBhIHJlc291cmNlLg0KLSAqIFdoZW4gYSByZXNvdXJjZSBpcyByZXF1ZXN0ZWQsIG1hcmsgaXQgYWxsb2NhdGVkLiBJbiB0aGlzIGNhc2UsIGEgZnJlZSByZXNvdXJjZSB2YWx1ZQ0KLSAqIHdpdGhpbiB0aGUgcmFuZ2UgaXMgbG9jYXRlZCBhbmQgcmV0dXJuZWQgYWZ0ZXIgaXQgaXMgbWFya2VkIGFsbG9jYXRlZC4NCi0gKi8NCi1VSU5UMzIgUmVzb3VyY2U6OkFsbG9jYXRlKGNvbnN0IGNoYXIgKnJlc291cmNlRGVzYykNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fYWxsb2NhdGVMb2NrKTsNCi0JZm9yIChVSU5UMzIgaT0wOyBpIDwgbV9zaXplOyBpKyspDQotCXsNCi0JCWlmICghbV9pc0FsbG9jYXRlZFtpXSkNCi0JCXsNCi0JCQltX2lzQWxsb2NhdGVkW2ldID0gdHJ1ZTsNCi0JCQlyZXR1cm4gaTsNCi0JCX0NCi0JfQ0KLQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOb0F2YWlsYWJsZVJlc291cmNlcywgcmVzb3VyY2VEZXNjKTsNCi0JcmV0dXJuIH4wdWw7DQotfQ0KLQ0KLS8qKg0KLSAqIEFsbG9jYXRlIGEgc3BlY2lmaWMgcmVzb3VyY2UgdmFsdWUuDQotICogVGhlIHVzZXIgcmVxdWVzdHMgYSBzcGVjaWZpYyByZXNvdXJjZSB2YWx1ZSwgaS5lLiBjaGFubmVsIG51bWJlciBhbmQgaXQgaXMgdmVyaWZpZWQNCi0gKiB1bmFsbG9jYXRlZCwgdGhlbiByZXR1cm5lZC4NCi0gKi8NCi1VSU5UMzIgUmVzb3VyY2U6OkFsbG9jYXRlKFVJTlQzMiBpbmRleCwgY29uc3QgY2hhciAqcmVzb3VyY2VEZXNjKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9hbGxvY2F0ZUxvY2spOw0KLQlpZiAoaW5kZXggPj0gbV9zaXplKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChDaGFubmVsSW5kZXhPdXRPZlJhbmdlLCByZXNvdXJjZURlc2MpOw0KLQkJcmV0dXJuIH4wdWw7DQotCX0NCi0JaWYgKCBtX2lzQWxsb2NhdGVkW2luZGV4XSApDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFJlc291cmNlQWxyZWFkeUFsbG9jYXRlZCwgcmVzb3VyY2VEZXNjKTsNCi0JCXJldHVybiB+MHVsOw0KLQl9DQotCW1faXNBbGxvY2F0ZWRbaW5kZXhdID0gdHJ1ZTsNCi0JcmV0dXJuIGluZGV4Ow0KLX0NCi0NCi0NCi0vKioNCi0gKiBGcmVlIGFuIGFsbG9jYXRlZCByZXNvdXJjZS4NCi0gKiBBZnRlciBhIHJlc291cmNlIGlzIG5vIGxvbmdlciBuZWVkZWQsIGZvciBleGFtcGxlIGEgZGVzdHJ1Y3RvciBpcyBjYWxsZWQgZm9yIGEgY2hhbm5lbCBhc3NpZ25tZW50DQotICogY2xhc3MsIEZyZWUgd2lsbCByZWxlYXNlIHRoZSByZXNvdXJjZSB2YWx1ZSBzbyBpdCBjYW4gYmUgcmV1c2VkIHNvbWV3aGVyZSBlbHNlIGluIHRoZSBwcm9ncmFtLg0KLSAqLw0KLXZvaWQgUmVzb3VyY2U6OkZyZWUoVUlOVDMyIGluZGV4KQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9hbGxvY2F0ZUxvY2spOw0KLQlpZiAoaW5kZXggPT0gfjB1bCkgcmV0dXJuOw0KLQlpZiAoaW5kZXggPj0gbV9zaXplKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTm90QWxsb2NhdGVkKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIW1faXNBbGxvY2F0ZWRbaW5kZXhdKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTm90QWxsb2NhdGVkKTsNCi0JCXJldHVybjsNCi0JfQ0KLQltX2lzQWxsb2NhdGVkW2luZGV4XSA9IGZhbHNlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9SZXNvdXJjZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUmVzb3VyY2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDM4YmE1Zi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9SZXNvdXJjZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFJFU09VUkNFX0hfDQotI2RlZmluZSBSRVNPVVJDRV9IXw0KLQ0KLSNpbmNsdWRlICJFcnJvckJhc2UuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBUaGUgUmVzb3VyY2UgY2xhc3MgaXMgYSBjb252ZW5pZW50IHdheSB0byB0cmFjayBhbGxvY2F0ZWQgcmVzb3VyY2VzLg0KLSAqIEl0IHRyYWNrcyB0aGVtIGFzIGluZGljaWVzIGluIHRoZSByYW5nZSBbMCAuLiBlbGVtZW50cyAtIDFdLg0KLSAqIEUuZy4gdGhlIGxpYnJhcnkgdXNlcyB0aGlzIHRvIHRyYWNrIGhhcmR3YXJlIGNoYW5uZWwgYWxsb2NhdGlvbi4NCi0gKg0KLSAqIFRoZSBSZXNvdXJjZSBjbGFzcyBkb2VzIG5vdCBhbGxvY2F0ZSB0aGUgaGFyZHdhcmUgY2hhbm5lbHMgb3Igb3RoZXINCi0gKiByZXNvdXJjZXM7IGl0IGp1c3QgdHJhY2tzIHdoaWNoIGluZGljZXMgd2VyZSBtYXJrZWQgaW4gdXNlIGJ5DQotICogQWxsb2NhdGUgYW5kIG5vdCB5ZXQgZnJlZWQgYnkgRnJlZS4NCi0gKi8NCi1jbGFzcyBSZXNvdXJjZSA6IHB1YmxpYyBFcnJvckJhc2UNCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5SZXNvdXJjZSgpOw0KLQlzdGF0aWMgdm9pZCBDcmVhdGVSZXNvdXJjZU9iamVjdChSZXNvdXJjZSAqKnIsIFVJTlQzMiBlbGVtZW50cyk7DQotCVVJTlQzMiBBbGxvY2F0ZShjb25zdCBjaGFyICpyZXNvdXJjZURlc2MpOw0KLQlVSU5UMzIgQWxsb2NhdGUoVUlOVDMyIGluZGV4LCBjb25zdCBjaGFyICpyZXNvdXJjZURlc2MpOw0KLQl2b2lkIEZyZWUoVUlOVDMyIGluZGV4KTsNCi0NCi1wcml2YXRlOg0KLQlleHBsaWNpdCBSZXNvdXJjZShVSU5UMzIgc2l6ZSk7DQotDQotCWJvb2wgKm1faXNBbGxvY2F0ZWQ7DQotCVJlZW50cmFudFNlbWFwaG9yZSBtX2FsbG9jYXRlTG9jazsNCi0JVUlOVDMyIG1fc2l6ZTsNCi0NCi0Jc3RhdGljIFJlZW50cmFudFNlbWFwaG9yZSBtX2NyZWF0ZUxvY2s7DQotDQotCURJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihSZXNvdXJjZSk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Sb2JvdEJhc2UuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUm9ib3RCYXNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTJkOWQzNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Sb2JvdEJhc2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjE0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlJvYm90QmFzZS5oIg0KLQ0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL0ZSQ0NvbW0uaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vc3ltTW9kdWxlTGluay5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJVdGlsaXR5LmgiDQotI2luY2x1ZGUgPG1vZHVsZUxpYi5oPg0KLSNpbmNsdWRlIDx0YXNrTGliLmg+DQotI2luY2x1ZGUgPHVubGRMaWIuaD4NCi0NCi1Sb2JvdEJhc2UqIFJvYm90QmFzZTo6bV9pbnN0YW5jZSA9IE5VTEw7DQotDQotdm9pZCBSb2JvdEJhc2U6OnNldEluc3RhbmNlKFJvYm90QmFzZSogcm9ib3QpDQotew0KLQl3cGlfYXNzZXJ0KG1faW5zdGFuY2UgPT0gTlVMTCk7DQotCW1faW5zdGFuY2UgPSByb2JvdDsNCi19DQotDQotUm9ib3RCYXNlICZSb2JvdEJhc2U6OmdldEluc3RhbmNlKCkNCi17DQotCXJldHVybiAqbV9pbnN0YW5jZTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGEgZ2VuZXJpYyByb2JvdCBwcm9ncmFtLg0KLSAqIFVzZXIgY29kZSBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjb25zdHVjdG9yIHRoYXQgcnVucyBiZWZvcmUgdGhlIEF1dG9ub21vdXMgb3IgT3BlcmF0b3INCi0gKiBDb250cm9sIHBlcmlvZCBzdGFydHMuIFRoZSBjb25zdHJ1Y3RvciB3aWxsIHJ1biB0byBjb21wbGV0aW9uIGJlZm9yZSBBdXRvbm9tb3VzIGlzIGVudGVyZWQuDQotICogDQotICogVGhpcyBtdXN0IGJlIHVzZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbW11bmljYXRpb25zIGNvZGUgc3RhcnRzLiBJbiB0aGUgZnV0dXJlIGl0IHdvdWxkIGJlDQotICogbmljZSB0byBwdXQgdGhpcyBjb2RlIGludG8gaXQncyBvd24gdGFzayB0aGF0IGxvYWRzIG9uIGJvb3Qgc28gZW5zdXJlIHRoYXQgaXQgcnVucy4NCi0gKi8NCi1Sb2JvdEJhc2U6OlJvYm90QmFzZSgpDQotCTogbV90YXNrIChOVUxMKQ0KLQksIG1fZHMgKE5VTEwpDQotew0KLQltX2RzID0gRHJpdmVyU3RhdGlvbjo6R2V0SW5zdGFuY2UoKTsNCi19DQotDQotLyoqDQotICogRnJlZSB0aGUgcmVzb3VyY2VzIGZvciBhIFJvYm90QmFzZSBjbGFzcy4NCi0gKiBUaGlzIGluY2x1ZGVzIGRlbGV0aW5nIGFsbCBjbGFzc2VzIHRoYXQgbWlnaHQgaGF2ZSBiZWVuIGFsbG9jYXRlZCBhcyBTaW5nbGV0b25zIHRvIHRoZXkNCi0gKiB3b3VsZCBuZXZlciBiZSBkZWxldGVkIGV4Y2VwdCBoZXJlLg0KLSAqLw0KLVJvYm90QmFzZTo6flJvYm90QmFzZSgpDQotew0KLQlTZW5zb3JCYXNlOjpEZWxldGVTaW5nbGV0b25zKCk7DQotCWRlbGV0ZSBtX3Rhc2s7DQotCW1fdGFzayA9IE5VTEw7DQotCW1faW5zdGFuY2UgPSBOVUxMOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBvbiB0aGUgb3ZlcmFsbCBzdGF0dXMgb2YgdGhlIHN5c3RlbS4NCi0gKiANCi0gKiBAcmV0dXJuIElzIHRoZSBzeXN0ZW0gYWN0aXZlIChpLmUuIFBXTSBtb3RvciBvdXRwdXRzLCBldGMuIGVuYWJsZWQpPw0KLSAqLw0KLWJvb2wgUm9ib3RCYXNlOjpJc1N5c3RlbUFjdGl2ZSgpDQotew0KLQlyZXR1cm4gbV93YXRjaGRvZy5Jc1N5c3RlbUFjdGl2ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIGluc3RhbmNlIG9mIHRoZSBXYXRjaGRvZyB0aW1lci4NCi0gKiBHZXQgdGhlIHdhdGNoZG9nIHRpbWVyIHNvIHRoZSB1c2VyIHByb2dyYW0gY2FuIGVpdGhlciBkaXNhYmxlIGl0IG9yIGZlZWQgaXQgd2hlbg0KLSAqIG5lY2Vzc2FyeS4NCi0gKi8NCi1XYXRjaGRvZyAmUm9ib3RCYXNlOjpHZXRXYXRjaGRvZygpDQotew0KLQlyZXR1cm4gbV93YXRjaGRvZzsNCi19DQotDQotLyoqDQotICogRGV0ZXJtaW5lIGlmIHRoZSBSb2JvdCBpcyBjdXJyZW50bHkgZW5hYmxlZC4NCi0gKiBAcmV0dXJuIFRydWUgaWYgdGhlIFJvYm90IGlzIGN1cnJlbnRseSBlbmFibGVkIGJ5IHRoZSBmaWVsZCBjb250cm9scy4NCi0gKi8NCi1ib29sIFJvYm90QmFzZTo6SXNFbmFibGVkKCkNCi17DQotCXJldHVybiBtX2RzLT5Jc0VuYWJsZWQoKTsNCi19DQotDQotLyoqDQotICogRGV0ZXJtaW5lIGlmIHRoZSBSb2JvdCBpcyBjdXJyZW50bHkgZGlzYWJsZWQuDQotICogQHJldHVybiBUcnVlIGlmIHRoZSBSb2JvdCBpcyBjdXJyZW50bHkgZGlzYWJsZWQgYnkgdGhlIGZpZWxkIGNvbnRyb2xzLg0KLSAqLw0KLWJvb2wgUm9ib3RCYXNlOjpJc0Rpc2FibGVkKCkNCi17DQotCXJldHVybiBtX2RzLT5Jc0Rpc2FibGVkKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIERldGVybWluZSBpZiB0aGUgcm9ib3QgaXMgY3VycmVudGx5IGluIEF1dG5vbW91cyBtb2RlLg0KLSAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgcm9ib3QgaXMgY3VycmVudGx5IG9wZXJhdGluZyBBdXRvbm9tb3VzbHkgYXMgZGV0ZXJtaW5lZCBieSB0aGUgZmllbGQgY29udHJvbHMuDQotICovDQotYm9vbCBSb2JvdEJhc2U6OklzQXV0b25vbW91cygpDQotew0KLQlyZXR1cm4gbV9kcy0+SXNBdXRvbm9tb3VzKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIERldGVybWluZSBpZiB0aGUgcm9ib3QgaXMgY3VycmVudGx5IGluIE9wZXJhdG9yIENvbnRyb2wgbW9kZS4NCi0gKiBAcmV0dXJuIFRydWUgaWYgdGhlIHJvYm90IGlzIGN1cnJlbnRseSBvcGVyYXRpbmcgaW4gVGVsZS1PcCBtb2RlIGFzIGRldGVybWluZWQgYnkgdGhlIGZpZWxkIGNvbnRyb2xzLg0KLSAqLw0KLWJvb2wgUm9ib3RCYXNlOjpJc09wZXJhdG9yQ29udHJvbCgpDQotew0KLQlyZXR1cm4gbV9kcy0+SXNPcGVyYXRvckNvbnRyb2woKTsNCi19DQotDQotLyoqDQotICogRGV0ZXJtaW5lIGlmIHRoZSByb2JvdCBpcyBjdXJyZW50bHkgaW4gVGVzdCBtb2RlLg0KLSAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgcm9ib3QgaXMgY3VycmVudGx5IHJ1bm5pbmcgdGVzdHMgYXMgZGV0ZXJtaW5lZCBieSB0aGUgZmllbGQgY29udHJvbHMuDQotICovDQotYm9vbCBSb2JvdEJhc2U6OklzVGVzdCgpDQotew0KLSAgICByZXR1cm4gbV9kcy0+SXNUZXN0KCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluZGljYXRlcyBpZiBuZXcgZGF0YSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgZHJpdmVyIHN0YXRpb24uDQotICogQHJldHVybiBIYXMgbmV3IGRhdGEgYXJyaXZlZCBvdmVyIHRoZSBuZXR3b3JrIHNpbmNlIHRoZSBsYXN0IHRpbWUgdGhpcyBmdW5jdGlvbiB3YXMgY2FsbGVkPw0KLSAqLw0KLWJvb2wgUm9ib3RCYXNlOjpJc05ld0RhdGFBdmFpbGFibGUoKQ0KLXsNCi0JcmV0dXJuIG1fZHMtPklzTmV3Q29udHJvbERhdGEoKTsNCi19DQotDQotLyoqDQotICogU3RhdGljIGludGVyZmFjZSB0aGF0IHdpbGwgc3RhcnQgdGhlIGNvbXBldGl0aW9uIGluIHRoZSBuZXcgdGFzay4NCi0gKi8NCi12b2lkIFJvYm90QmFzZTo6cm9ib3RUYXNrKEZVTkNQVFIgZmFjdG9yeSwgVGFzayAqdGFzaykNCi17DQotCVJvYm90QmFzZTo6c2V0SW5zdGFuY2UoKFJvYm90QmFzZSopZmFjdG9yeSgpKTsNCi0JUm9ib3RCYXNlOjpnZXRJbnN0YW5jZSgpLm1fdGFzayA9IHRhc2s7DQotCVJvYm90QmFzZTo6Z2V0SW5zdGFuY2UoKS5TdGFydENvbXBldGl0aW9uKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIA0KLSAqIFN0YXJ0IHRoZSByb2JvdCBjb2RlLg0KLSAqIFRoaXMgZnVuY3Rpb24gc3RhcnRzIHRoZSByb2JvdCBjb2RlIHJ1bm5pbmcgYnkgc3Bhd25pbmcgYSB0YXNrLiBDdXJyZW50bHkgdGFza3Mgc2VlbWVkIHRvIGJlDQotICogc3RhcnRlZCBieSBMVlJUIHdpdGhvdXQgc2V0dGluZyB0aGUgVlhfRlBfVEFTSyBmbGFnIHNvIGZsb2F0aW5nIHBvaW50IGNvbnRleHQgaXMgbm90IHNhdmVkIG9uDQotICogaW50ZXJydXB0cy4gVGhlcmVmb3JlIHRoZSBwcm9ncmFtIGV4cGVyaWVuY2VzIGhhcmQgdG8gZGVidWcgYW5kIHVucHJlZGljdGFibGUgcmVzdWx0cy4gU28gdGhlDQotICogTFZSVCBjb2RlIHN0YXJ0cyB0aGlzIGZ1bmN0aW9uLCBhbmQgaXQsIGluIHR1cm4sIHN0YXJ0cyB0aGUgYWN0dWFsIHVzZXIgcHJvZ3JhbS4NCi0gKi8NCi12b2lkIFJvYm90QmFzZTo6c3RhcnRSb2JvdFRhc2soRlVOQ1BUUiBmYWN0b3J5KQ0KLXsNCi0jaWZkZWYgU1ZOX1JFVg0KLQlpZiAoc3RybGVuKFNWTl9SRVYpKQ0KLQl7DQotCQlwcmludGYoIldQSUxpYiB3YXMgY29tcGlsZWQgZnJvbSBTVk4gcmV2aXNpb24gJXNcbiIsIFNWTl9SRVYpOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJcHJpbnRmKCJXUElMaWIgd2FzIGNvbXBpbGVkIGZyb20gYSBsb2NhdGlvbiB0aGF0IGlzIG5vdCBzb3VyY2UgY29udHJvbGxlZC5cbiIpOw0KLQl9DQotI2Vsc2UNCi0JcHJpbnRmKCJXUElMaWIgd2FzIGNvbXBpbGVkIHdpdGhvdXQgLUQnU1ZOX1JFVj1ubm5uJ1xuIik7DQotI2VuZGlmDQotDQotCS8vIENoZWNrIGZvciBzdGFydHVwIGNvZGUgYWxyZWFkeSBydW5uaW5nDQotCUlOVDMyIG9sZElkID0gdGFza05hbWVUb0lkKCJGUkNfUm9ib3RUYXNrIik7DQotCWlmIChvbGRJZCAhPSBFUlJPUikNCi0Jew0KLQkJLy8gRmluZCB0aGUgc3RhcnR1cCBjb2RlIG1vZHVsZS4NCi0JCWNoYXIgbW9kdWxlTmFtZVsyNTZdOw0KLQkJbW9kdWxlTmFtZUZpbmRCeVN5bWJvbE5hbWUoIkZSQ19Vc2VyUHJvZ3JhbV9TdGFydHVwTGlicmFyeUluaXQiLCBtb2R1bGVOYW1lKTsNCi0JCU1PRFVMRV9JRCBzdGFydHVwTW9kSWQgPSBtb2R1bGVGaW5kQnlOYW1lKG1vZHVsZU5hbWUpOw0KLQkJaWYgKHN0YXJ0dXBNb2RJZCAhPSBOVUxMKQ0KLQkJew0KLQkJCS8vIFJlbW92ZSB0aGUgc3RhcnR1cCBjb2RlLg0KLQkJCXVubGRCeU1vZHVsZUlkKHN0YXJ0dXBNb2RJZCwgMCk7DQotCQkJcHJpbnRmKCIhISEgICBFcnJvcjogRGVmYXVsdCBjb2RlIHdhcyBzdGlsbCBydW5uaW5nLi4uIEl0IHdhcyB1bmxvYWRlZCBmb3IgeW91Li4uIFBsZWFzZSB0cnkgYWdhaW4uXG4iKTsNCi0JCQlyZXR1cm47DQotCQl9DQotCQkvLyBUaGlzIGNhc2Ugc2hvdWxkIG5vIGxvbmdlciBnZXQgaGl0Lg0KLQkJcHJpbnRmKCIhISEgICBFcnJvcjogT3RoZXIgcm9ib3QgY29kZSBpcyBzdGlsbCBydW5uaW5nLi4uIFVubG9hZCBpdCBhbmQgdGhlbiB0cnkgYWdhaW4uXG4iKTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQkvLyBMZXQgdGhlIGZyYW1ld29yayBrbm93IHRoYXQgd2UgYXJlIHN0YXJ0aW5nIGEgbmV3IHVzZXIgcHJvZ3JhbSBzbyB0aGUgRHJpdmVyIFN0YXRpb24gY2FuIGRpc2FibGUuDQotCUZSQ19OZXR3b3JrQ29tbXVuaWNhdGlvbl9vYnNlcnZlVXNlclByb2dyYW1TdGFydGluZygpOw0KLQ0KLQkvLyBMZXQgdGhlIFVzYWdlIFJlcG9ydGluZyBmcmFtZXdvcmsga25vdyB0aGF0IHRoZXJlIGlzIGEgQysrIHByb2dyYW0gcnVubmluZw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfTGFuZ3VhZ2UsIG5Vc2FnZVJlcG9ydGluZzo6a0xhbmd1YWdlX0NQbHVzUGx1cyk7DQotDQotCS8vIFN0YXJ0IHJvYm90IHRhc2sNCi0JLy8gVGhpcyBpcyBkb25lIHRvIGVuc3VyZSB0aGF0IHRoZSBDKysgcm9ib3QgdGFzayBpcyBzcGF3bmVkIHdpdGggdGhlIGZsb2F0aW5nIHBvaW50DQotCS8vIGNvbnRleHQgc2F2ZSBwYXJhbWV0ZXIuDQotCVRhc2sgKnRhc2sgPSBuZXcgVGFzaygiUm9ib3RUYXNrIiwgKEZVTkNQVFIpUm9ib3RCYXNlOjpyb2JvdFRhc2ssIFRhc2s6OmtEZWZhdWx0UHJpb3JpdHksIDY0MDAwKTsNCi0JdGFzay0+U3RhcnQoKElOVDMyKWZhY3RvcnksIChJTlQzMil0YXNrKTsNCi19DQotDQotLyoqDQotICogVGhpcyBjbGFzcyBleGlzdHMgZm9yIHRoZSBzb2xlIHB1cnBvc2Ugb2YgZ2V0dGluZyBpdHMgZGVzdHJ1Y3RvciBjYWxsZWQgd2hlbiB0aGUgbW9kdWxlIHVubG9hZHMuDQotICogQmVmb3JlIHRoZSBtb2R1bGUgaXMgZG9uZSB1bmxvYWRpbmcsIHdlIG5lZWQgdG8gZGVsZXRlIHRoZSBSb2JvdEJhc2UgZGVyaXZlZCBzaW5nbGV0b24uICBUaGlzIHNob3VsZCBkZWxldGUNCi0gKiB0aGUgb3RoZXIgcmVtYWluaW5nIHNpbmdsZXRvbnMgdGhhdCB3ZXJlIHJlZ2lzdGVyZWQuICBUaGlzIHNob3VsZCBhbHNvIHN0b3AgYWxsIHRhc2tzIHRoYXQgYXJlIHVzaW5nDQotICogdGhlIFRhc2sgY2xhc3MuDQotICovDQotY2xhc3MgUm9ib3REZWxldGVyDQotew0KLXB1YmxpYzoNCi0JUm9ib3REZWxldGVyKCkge30NCi0JflJvYm90RGVsZXRlcigpDQotCXsNCi0JCWRlbGV0ZSAmUm9ib3RCYXNlOjpnZXRJbnN0YW5jZSgpOw0KLQl9DQotfTsNCi1zdGF0aWMgUm9ib3REZWxldGVyIGdfcm9ib3REZWxldGVyOw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JvYm90QmFzZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUm9ib3RCYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkOTM1ODUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUm9ib3RCYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgUk9CT1RfSF8NCi0jZGVmaW5lIFJPQk9UX0hfDQotDQotI2luY2x1ZGUgIkJhc2UuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlICJXYXRjaGRvZy5oIg0KLQ0KLWNsYXNzIERyaXZlclN0YXRpb247DQotDQotI2RlZmluZSBTVEFSVF9ST0JPVF9DTEFTUyhfQ2xhc3NOYW1lXykgXA0KLQlSb2JvdEJhc2UgKkZSQ191c2VyQ2xhc3NGYWN0b3J5KCkgXA0KLQl7IFwNCi0JCXJldHVybiBuZXcgX0NsYXNzTmFtZV8oKTsgXA0KLQl9IFwNCi0JZXh0ZXJuICJDIiB7IFwNCi0JCUlOVDMyIEZSQ19Vc2VyUHJvZ3JhbV9TdGFydHVwTGlicmFyeUluaXQoKSBcDQotCQl7IFwNCi0JCQlSb2JvdEJhc2U6OnN0YXJ0Um9ib3RUYXNrKChGVU5DUFRSKUZSQ191c2VyQ2xhc3NGYWN0b3J5KTsgXA0KLQkJCXJldHVybiAwOyBcDQotCQl9IFwNCi0JfQ0KLQ0KLS8qKg0KLSAqIEltcGxlbWVudCBhIFJvYm90IFByb2dyYW0gZnJhbWV3b3JrLg0KLSAqIFRoZSBSb2JvdEJhc2UgY2xhc3MgaXMgaW50ZW5kZWQgdG8gYmUgc3ViY2xhc3NlZCBieSBhIHVzZXIgY3JlYXRpbmcgYSByb2JvdCBwcm9ncmFtLg0KLSAqIE92ZXJyaWRkZW4gQXV0b25vbW91cygpIGFuZCBPcGVyYXRvckNvbnRyb2woKSBtZXRob2RzIGFyZSBjYWxsZWQgYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUNCi0gKiBhcyB0aGUgbWF0Y2ggcHJvY2VlZHMuIEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGUgQXV0b25vbW91cyBjb2RlIHdpbGwgcnVuIHRvDQotICogY29tcGxldGlvbiBiZWZvcmUgdGhlIE9wZXJhdG9yQ29udHJvbCBjb2RlIGNvdWxkIHN0YXJ0LiBJbiB0aGUgZnV0dXJlIHRoZSBBdXRvbm9tb3VzIGNvZGUNCi0gKiBtaWdodCBiZSBzcGF3bmVkIGFzIGEgdGFzaywgdGhlbiBraWxsZWQgYXQgdGhlIGVuZCBvZiB0aGUgQXV0b25vbW91cyBwZXJpb2QuDQotICovDQotY2xhc3MgUm9ib3RCYXNlIHsNCi0JZnJpZW5kIGNsYXNzIFJvYm90RGVsZXRlcjsNCi1wdWJsaWM6DQotCXN0YXRpYyBSb2JvdEJhc2UgJmdldEluc3RhbmNlKCk7DQotCXN0YXRpYyB2b2lkIHNldEluc3RhbmNlKFJvYm90QmFzZSogcm9ib3QpOw0KLQ0KLQlib29sIElzRW5hYmxlZCgpOw0KLQlib29sIElzRGlzYWJsZWQoKTsNCi0JYm9vbCBJc0F1dG9ub21vdXMoKTsNCi0JYm9vbCBJc09wZXJhdG9yQ29udHJvbCgpOw0KLSAgICBib29sIElzVGVzdCgpOw0KLQlib29sIElzU3lzdGVtQWN0aXZlKCk7DQotCWJvb2wgSXNOZXdEYXRhQXZhaWxhYmxlKCk7DQotCVdhdGNoZG9nICZHZXRXYXRjaGRvZygpOw0KLQlzdGF0aWMgdm9pZCBzdGFydFJvYm90VGFzayhGVU5DUFRSIGZhY3RvcnkpOw0KLQlzdGF0aWMgdm9pZCByb2JvdFRhc2soRlVOQ1BUUiBmYWN0b3J5LCBUYXNrICp0YXNrKTsNCi0NCi1wcm90ZWN0ZWQ6DQotCXZpcnR1YWwgflJvYm90QmFzZSgpOw0KLQl2aXJ0dWFsIHZvaWQgU3RhcnRDb21wZXRpdGlvbigpID0gMDsNCi0JUm9ib3RCYXNlKCk7DQotDQotCVRhc2sgKm1fdGFzazsNCi0JV2F0Y2hkb2cgbV93YXRjaGRvZzsNCi0JRHJpdmVyU3RhdGlvbiAqbV9kczsNCi0NCi1wcml2YXRlOg0KLQlzdGF0aWMgUm9ib3RCYXNlICptX2luc3RhbmNlOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oUm9ib3RCYXNlKTsNCi19Ow0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JvYm90RHJpdmUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUm9ib3REcml2ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0NzFiNDIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvUm9ib3REcml2ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3MzcgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiUm9ib3REcml2ZS5oIg0KLQ0KLSNpbmNsdWRlICJDQU5KYWd1YXIuaCINCi0jaW5jbHVkZSAiR2VuZXJpY0hJRC5oIg0KLSNpbmNsdWRlICJKb3lzdGljay5oIg0KLSNpbmNsdWRlICJKYWd1YXIuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiVXRpbGl0eS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSA8bWF0aC5oPg0KLQ0KLSNkZWZpbmUgbWF4KHgsIHkpICgoKHgpID4gKHkpKSA/ICh4KSA6ICh5KSkNCi0NCi1jb25zdCBJTlQzMiBSb2JvdERyaXZlOjprTWF4TnVtYmVyT2ZNb3RvcnM7DQotDQotLyoNCi0gKiBEcml2aW5nIGZ1bmN0aW9ucw0KLSAqIFRoZXNlIGZ1bmN0aW9ucyBwcm92aWRlIGFuIGludGVyZmFjZSB0byBtdWx0aXBsZSBtb3RvcnMgdGhhdCBpcyB1c2VkIGZvciBDIHByb2dyYW1taW5nDQotICogVGhlIERyaXZlKHNwZWVkLCBkaXJlY3Rpb24pIGZ1bmN0aW9uIGlzIHRoZSBtYWluIHBhcnQgb2YgdGhlIHNldCB0aGF0IG1ha2VzIGl0IGVhc3kNCi0gKiB0byBzZXQgc3BlZWRzIGFuZCBkaXJlY3Rpb24gaW5kZXBlbmRlbnRseSBpbiBvbmUgY2FsbC4NCi0gKi8NCi0NCi0vKioNCi0gKiBDb21tb24gZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSBhbGwgdGhlIHJvYm90IGRyaXZlIGNvbnN0cnVjdG9ycy4NCi0gKiBDcmVhdGUgYSBtb3RvciBzYWZldHkgb2JqZWN0ICh0aGUgcmVhbCByZWFzb24gZm9yIHRoZSBjb21tb24gY29kZSkgYW5kDQotICogaW5pdGlhbGl6ZSBhbGwgdGhlIG1vdG9yIGFzc2lnbm1lbnRzLiBUaGUgZGVmYXVsdCB0aW1lb3V0IGlzIHNldCBmb3IgdGhlIHJvYm90IGRyaXZlLg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6SW5pdFJvYm90RHJpdmUoKSB7DQotCW1fZnJvbnRMZWZ0TW90b3IgPSBOVUxMOw0KLQltX2Zyb250UmlnaHRNb3RvciA9IE5VTEw7DQotCW1fcmVhclJpZ2h0TW90b3IgPSBOVUxMOw0KLQltX3JlYXJMZWZ0TW90b3IgPSBOVUxMOw0KLQltX3NlbnNpdGl2aXR5ID0gMC41Ow0KLQltX21heE91dHB1dCA9IDEuMDsNCi0JbV9zYWZldHlIZWxwZXIgPSBuZXcgTW90b3JTYWZldHlIZWxwZXIodGhpcyk7DQotCW1fc2FmZXR5SGVscGVyLT5TZXRTYWZldHlFbmFibGVkKHRydWUpOw0KLX0NCi0NCi0vKiogQ29uc3RydWN0b3IgZm9yIFJvYm90RHJpdmUgd2l0aCAyIG1vdG9ycyBzcGVjaWZpZWQgd2l0aCBjaGFubmVsIG51bWJlcnMuDQotICogU2V0IHVwIHBhcmFtZXRlcnMgZm9yIGEgdHdvIHdoZWVsIGRyaXZlIHN5c3RlbSB3aGVyZSB0aGUNCi0gKiBsZWZ0IGFuZCByaWdodCBtb3RvciBwd20gY2hhbm5lbHMgYXJlIHNwZWNpZmllZCBpbiB0aGUgY2FsbC4NCi0gKiBUaGlzIGNhbGwgYXNzdW1lcyBKYWd1YXJzIGZvciBjb250cm9sbGluZyB0aGUgbW90b3JzLg0KLSAqIEBwYXJhbSBsZWZ0TW90b3JDaGFubmVsIFRoZSBQV00gY2hhbm5lbCBudW1iZXIgb24gdGhlIGRlZmF1bHQgZGlnaXRhbCBtb2R1bGUgdGhhdCBkcml2ZXMgdGhlIGxlZnQgbW90b3IuDQotICogQHBhcmFtIHJpZ2h0TW90b3JDaGFubmVsIFRoZSBQV00gY2hhbm5lbCBudW1iZXIgb24gdGhlIGRlZmF1bHQgZGlnaXRhbCBtb2R1bGUgdGhhdCBkcml2ZXMgdGhlIHJpZ2h0IG1vdG9yLg0KLSAqLw0KLVJvYm90RHJpdmU6OlJvYm90RHJpdmUoVUlOVDMyIGxlZnRNb3RvckNoYW5uZWwsIFVJTlQzMiByaWdodE1vdG9yQ2hhbm5lbCkNCi17DQotCUluaXRSb2JvdERyaXZlKCk7DQotCW1fcmVhckxlZnRNb3RvciA9IG5ldyBKYWd1YXIobGVmdE1vdG9yQ2hhbm5lbCk7DQotCW1fcmVhclJpZ2h0TW90b3IgPSBuZXcgSmFndWFyKHJpZ2h0TW90b3JDaGFubmVsKTsNCi0JZm9yIChJTlQzMiBpPTA7IGkgPCBrTWF4TnVtYmVyT2ZNb3RvcnM7IGkrKykNCi0Jew0KLQkJbV9pbnZlcnRlZE1vdG9yc1tpXSA9IDE7DQotCX0NCi0JU2V0TGVmdFJpZ2h0TW90b3JPdXRwdXRzKDAuMCwgMC4wKTsNCi0JbV9kZWxldGVTcGVlZENvbnRyb2xsZXJzID0gdHJ1ZTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIFJvYm90RHJpdmUgd2l0aCA0IG1vdG9ycyBzcGVjaWZpZWQgd2l0aCBjaGFubmVsIG51bWJlcnMuDQotICogU2V0IHVwIHBhcmFtZXRlcnMgZm9yIGEgZm91ciB3aGVlbCBkcml2ZSBzeXN0ZW0gd2hlcmUgYWxsIGZvdXIgbW90b3INCi0gKiBwd20gY2hhbm5lbHMgYXJlIHNwZWNpZmllZCBpbiB0aGUgY2FsbC4NCi0gKiBUaGlzIGNhbGwgYXNzdW1lcyBKYWd1YXJzIGZvciBjb250cm9sbGluZyB0aGUgbW90b3JzLg0KLSAqIEBwYXJhbSBmcm9udExlZnRNb3RvciBGcm9udCBsZWZ0IG1vdG9yIGNoYW5uZWwgbnVtYmVyIG9uIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlDQotICogQHBhcmFtIHJlYXJMZWZ0TW90b3IgUmVhciBMZWZ0IG1vdG9yIGNoYW5uZWwgbnVtYmVyIG9uIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlDQotICogQHBhcmFtIGZyb250UmlnaHRNb3RvciBGcm9udCByaWdodCBtb3RvciBjaGFubmVsIG51bWJlciBvbiB0aGUgZGVmYXVsdCBkaWdpdGFsIG1vZHVsZQ0KLSAqIEBwYXJhbSByZWFyUmlnaHRNb3RvciBSZWFyIFJpZ2h0IG1vdG9yIGNoYW5uZWwgbnVtYmVyIG9uIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlDQotICovDQotUm9ib3REcml2ZTo6Um9ib3REcml2ZShVSU5UMzIgZnJvbnRMZWZ0TW90b3IsIFVJTlQzMiByZWFyTGVmdE1vdG9yLA0KLQkJVUlOVDMyIGZyb250UmlnaHRNb3RvciwgVUlOVDMyIHJlYXJSaWdodE1vdG9yKQ0KLXsNCi0JSW5pdFJvYm90RHJpdmUoKTsNCi0JbV9yZWFyTGVmdE1vdG9yID0gbmV3IEphZ3VhcihyZWFyTGVmdE1vdG9yKTsNCi0JbV9yZWFyUmlnaHRNb3RvciA9IG5ldyBKYWd1YXIocmVhclJpZ2h0TW90b3IpOw0KLQltX2Zyb250TGVmdE1vdG9yID0gbmV3IEphZ3Vhcihmcm9udExlZnRNb3Rvcik7DQotCW1fZnJvbnRSaWdodE1vdG9yID0gbmV3IEphZ3Vhcihmcm9udFJpZ2h0TW90b3IpOw0KLQlmb3IgKElOVDMyIGk9MDsgaSA8IGtNYXhOdW1iZXJPZk1vdG9yczsgaSsrKQ0KLQl7DQotCQltX2ludmVydGVkTW90b3JzW2ldID0gMTsNCi0JfQ0KLQlTZXRMZWZ0UmlnaHRNb3Rvck91dHB1dHMoMC4wLCAwLjApOw0KLQltX2RlbGV0ZVNwZWVkQ29udHJvbGxlcnMgPSB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciBmb3IgUm9ib3REcml2ZSB3aXRoIDIgbW90b3JzIHNwZWNpZmllZCBhcyBTcGVlZENvbnRyb2xsZXIgb2JqZWN0cy4NCi0gKiBUaGUgU3BlZWRDb250cm9sbGVyIHZlcnNpb24gb2YgdGhlIGNvbnN0cnVjdG9yIGVuYWJsZXMgcHJvZ3JhbXMgdG8gdXNlIHRoZSBSb2JvdERyaXZlIGNsYXNzZXMgd2l0aA0KLSAqIHN1YmNsYXNzZXMgb2YgdGhlIFNwZWVkQ29udHJvbGxlciBvYmplY3RzLCBmb3IgZXhhbXBsZSwgdmVyc2lvbnMgd2l0aCByYW1waW5nIG9yIHJlc2hhcGluZyBvZg0KLSAqIHRoZSBjdXJ2ZSB0byBzdWl0IG1vdG9yIGJpYXMgb3IgZGVhZGJhbmQgZWxpbWluYXRpb24uDQotICogQHBhcmFtIGxlZnRNb3RvciBUaGUgbGVmdCBTcGVlZENvbnRyb2xsZXIgb2JqZWN0IHVzZWQgdG8gZHJpdmUgdGhlIHJvYm90Lg0KLSAqIEBwYXJhbSByaWdodE1vdG9yIHRoZSByaWdodCBTcGVlZENvbnRyb2xsZXIgb2JqZWN0IHVzZWQgdG8gZHJpdmUgdGhlIHJvYm90Lg0KLSAqLw0KLVJvYm90RHJpdmU6OlJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICpsZWZ0TW90b3IsIFNwZWVkQ29udHJvbGxlciAqcmlnaHRNb3RvcikNCi17DQotCUluaXRSb2JvdERyaXZlKCk7DQotCWlmIChsZWZ0TW90b3IgPT0gTlVMTCB8fCByaWdodE1vdG9yID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JCW1fcmVhckxlZnRNb3RvciA9IG1fcmVhclJpZ2h0TW90b3IgPSBOVUxMOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1fcmVhckxlZnRNb3RvciA9IGxlZnRNb3RvcjsNCi0JbV9yZWFyUmlnaHRNb3RvciA9IHJpZ2h0TW90b3I7DQotCWZvciAoSU5UMzIgaT0wOyBpIDwga01heE51bWJlck9mTW90b3JzOyBpKyspDQotCXsNCi0JCW1faW52ZXJ0ZWRNb3RvcnNbaV0gPSAxOw0KLQl9DQotCW1fZGVsZXRlU3BlZWRDb250cm9sbGVycyA9IGZhbHNlOw0KLX0NCi0NCi1Sb2JvdERyaXZlOjpSb2JvdERyaXZlKFNwZWVkQ29udHJvbGxlciAmbGVmdE1vdG9yLCBTcGVlZENvbnRyb2xsZXIgJnJpZ2h0TW90b3IpDQotew0KLQlJbml0Um9ib3REcml2ZSgpOw0KLQltX3JlYXJMZWZ0TW90b3IgPSAmbGVmdE1vdG9yOw0KLQltX3JlYXJSaWdodE1vdG9yID0gJnJpZ2h0TW90b3I7DQotCWZvciAoSU5UMzIgaT0wOyBpIDwga01heE51bWJlck9mTW90b3JzOyBpKyspDQotCXsNCi0JCW1faW52ZXJ0ZWRNb3RvcnNbaV0gPSAxOw0KLQl9DQotCW1fZGVsZXRlU3BlZWRDb250cm9sbGVycyA9IGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciBmb3IgUm9ib3REcml2ZSB3aXRoIDQgbW90b3JzIHNwZWNpZmllZCBhcyBTcGVlZENvbnRyb2xsZXIgb2JqZWN0cy4NCi0gKiBTcGVlZCBjb250cm9sbGVyIGlucHV0IHZlcnNpb24gb2YgUm9ib3REcml2ZSAoc2VlIHByZXZpb3VzIGNvbW1lbnRzKS4NCi0gKiBAcGFyYW0gcmVhckxlZnRNb3RvciBUaGUgYmFjayBsZWZ0IFNwZWVkQ29udHJvbGxlciBvYmplY3QgdXNlZCB0byBkcml2ZSB0aGUgcm9ib3QuDQotICogQHBhcmFtIGZyb250TGVmdE1vdG9yIFRoZSBmcm9udCBsZWZ0IFNwZWVkQ29udHJvbGxlciBvYmplY3QgdXNlZCB0byBkcml2ZSB0aGUgcm9ib3QNCi0gKiBAcGFyYW0gcmVhclJpZ2h0TW90b3IgVGhlIGJhY2sgcmlnaHQgU3BlZWRDb250cm9sbGVyIG9iamVjdCB1c2VkIHRvIGRyaXZlIHRoZSByb2JvdC4NCi0gKiBAcGFyYW0gZnJvbnRSaWdodE1vdG9yIFRoZSBmcm9udCByaWdodCBTcGVlZENvbnRyb2xsZXIgb2JqZWN0IHVzZWQgdG8gZHJpdmUgdGhlIHJvYm90Lg0KLSAqLw0KLVJvYm90RHJpdmU6OlJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICpmcm9udExlZnRNb3RvciwgU3BlZWRDb250cm9sbGVyICpyZWFyTGVmdE1vdG9yLA0KLQkJCQkJCVNwZWVkQ29udHJvbGxlciAqZnJvbnRSaWdodE1vdG9yLCBTcGVlZENvbnRyb2xsZXIgKnJlYXJSaWdodE1vdG9yKQ0KLXsNCi0JSW5pdFJvYm90RHJpdmUoKTsNCi0JaWYgKGZyb250TGVmdE1vdG9yID09IE5VTEwgfHwgcmVhckxlZnRNb3RvciA9PSBOVUxMIHx8IGZyb250UmlnaHRNb3RvciA9PSBOVUxMIHx8IHJlYXJSaWdodE1vdG9yID09IE5VTEwpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JCXJldHVybjsNCi0JfQ0KLQltX2Zyb250TGVmdE1vdG9yID0gZnJvbnRMZWZ0TW90b3I7DQotCW1fcmVhckxlZnRNb3RvciA9IHJlYXJMZWZ0TW90b3I7DQotCW1fZnJvbnRSaWdodE1vdG9yID0gZnJvbnRSaWdodE1vdG9yOw0KLQltX3JlYXJSaWdodE1vdG9yID0gcmVhclJpZ2h0TW90b3I7DQotCWZvciAoSU5UMzIgaT0wOyBpIDwga01heE51bWJlck9mTW90b3JzOyBpKyspDQotCXsNCi0JCW1faW52ZXJ0ZWRNb3RvcnNbaV0gPSAxOw0KLQl9DQotCW1fZGVsZXRlU3BlZWRDb250cm9sbGVycyA9IGZhbHNlOw0KLX0NCi0NCi1Sb2JvdERyaXZlOjpSb2JvdERyaXZlKFNwZWVkQ29udHJvbGxlciAmZnJvbnRMZWZ0TW90b3IsIFNwZWVkQ29udHJvbGxlciAmcmVhckxlZnRNb3RvciwNCi0JCQkJCQlTcGVlZENvbnRyb2xsZXIgJmZyb250UmlnaHRNb3RvciwgU3BlZWRDb250cm9sbGVyICZyZWFyUmlnaHRNb3RvcikNCi17DQotCUluaXRSb2JvdERyaXZlKCk7DQotCW1fZnJvbnRMZWZ0TW90b3IgPSAmZnJvbnRMZWZ0TW90b3I7DQotCW1fcmVhckxlZnRNb3RvciA9ICZyZWFyTGVmdE1vdG9yOw0KLQltX2Zyb250UmlnaHRNb3RvciA9ICZmcm9udFJpZ2h0TW90b3I7DQotCW1fcmVhclJpZ2h0TW90b3IgPSAmcmVhclJpZ2h0TW90b3I7DQotCWZvciAoSU5UMzIgaT0wOyBpIDwga01heE51bWJlck9mTW90b3JzOyBpKyspDQotCXsNCi0JCW1faW52ZXJ0ZWRNb3RvcnNbaV0gPSAxOw0KLQl9DQotCW1fZGVsZXRlU3BlZWRDb250cm9sbGVycyA9IGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBSb2JvdERyaXZlIGRlc3RydWN0b3IuDQotICogRGVsZXRlcyBtb3RvciBvYmplY3RzIHRoYXQgd2VyZSBub3QgcGFzc2VkIGluIGFuZCBjcmVhdGVkIGludGVybmFsbHkgb25seS4NCi0gKiovDQotUm9ib3REcml2ZTo6flJvYm90RHJpdmUoKQ0KLXsNCi0JaWYgKG1fZGVsZXRlU3BlZWRDb250cm9sbGVycykNCi0Jew0KLQkJZGVsZXRlIG1fZnJvbnRMZWZ0TW90b3I7DQotCQlkZWxldGUgbV9yZWFyTGVmdE1vdG9yOw0KLQkJZGVsZXRlIG1fZnJvbnRSaWdodE1vdG9yOw0KLQkJZGVsZXRlIG1fcmVhclJpZ2h0TW90b3I7DQotCX0NCi0JZGVsZXRlIG1fc2FmZXR5SGVscGVyOw0KLX0NCi0NCi0vKioNCi0gKiBEcml2ZSB0aGUgbW90b3JzIGF0ICJzcGVlZCIgYW5kICJjdXJ2ZSIuDQotICoNCi0gKiBUaGUgc3BlZWQgYW5kIGN1cnZlIGFyZSAtMS4wIHRvICsxLjAgdmFsdWVzIHdoZXJlIDAuMCByZXByZXNlbnRzIHN0b3BwZWQgYW5kDQotICogbm90IHR1cm5pbmcuIFRoZSBhbGdvcml0aG0gZm9yIGFkZGluZyBpbiB0aGUgZGlyZWN0aW9uIGF0dGVtcHRzIHRvIHByb3ZpZGUgYSBjb25zdGFudA0KLSAqIHR1cm4gcmFkaXVzIGZvciBkaWZmZXJpbmcgc3BlZWRzLg0KLSAqDQotICogVGhpcyBmdW5jdGlvbiB3aWxsIG1vc3QgbGlrZWx5IGJlIHVzZWQgaW4gYW4gYXV0b25vbW91cyByb3V0aW5lLg0KLSAqDQotICogQHBhcmFtIG91dHB1dE1hZ25pdHVkZSBUaGUgZm9yd2FyZCBjb21wb25lbnQgb2YgdGhlIG91dHB1dCBtYWduaXR1ZGUgdG8gc2VuZCB0byB0aGUgbW90b3JzLg0KLSAqIEBwYXJhbSBjdXJ2ZSBUaGUgcmF0ZSBvZiB0dXJuLCBjb25zdGFudCBmb3IgZGlmZmVyZW50IGZvcndhcmQgc3BlZWRzLg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6RHJpdmUoZmxvYXQgb3V0cHV0TWFnbml0dWRlLCBmbG9hdCBjdXJ2ZSkNCi17DQotCWZsb2F0IGxlZnRPdXRwdXQsIHJpZ2h0T3V0cHV0Ow0KLQlzdGF0aWMgYm9vbCByZXBvcnRlZCA9IGZhbHNlOw0KLQlpZiAoIXJlcG9ydGVkKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfUm9ib3REcml2ZSwgR2V0TnVtTW90b3JzKCksIG5Vc2FnZVJlcG9ydGluZzo6a1JvYm90RHJpdmVfQXJjYWRlUmF0aW9DdXJ2ZSk7DQotCQlyZXBvcnRlZCA9IHRydWU7DQotCX0NCi0NCi0JaWYgKGN1cnZlIDwgMCkNCi0Jew0KLQkJZmxvYXQgdmFsdWUgPSBsb2coLWN1cnZlKTsNCi0JCWZsb2F0IHJhdGlvID0gKHZhbHVlIC0gbV9zZW5zaXRpdml0eSkvKHZhbHVlICsgbV9zZW5zaXRpdml0eSk7DQotCQlpZiAocmF0aW8gPT0gMCkgcmF0aW8gPS4wMDAwMDAwMDAxOw0KLQkJbGVmdE91dHB1dCA9IG91dHB1dE1hZ25pdHVkZSAvIHJhdGlvOw0KLQkJcmlnaHRPdXRwdXQgPSBvdXRwdXRNYWduaXR1ZGU7DQotCX0NCi0JZWxzZSBpZiAoY3VydmUgPiAwKQ0KLQl7DQotCQlmbG9hdCB2YWx1ZSA9IGxvZyhjdXJ2ZSk7DQotCQlmbG9hdCByYXRpbyA9ICh2YWx1ZSAtIG1fc2Vuc2l0aXZpdHkpLyh2YWx1ZSArIG1fc2Vuc2l0aXZpdHkpOw0KLQkJaWYgKHJhdGlvID09IDApIHJhdGlvID0uMDAwMDAwMDAwMTsNCi0JCWxlZnRPdXRwdXQgPSBvdXRwdXRNYWduaXR1ZGU7DQotCQlyaWdodE91dHB1dCA9IG91dHB1dE1hZ25pdHVkZSAvIHJhdGlvOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJbGVmdE91dHB1dCA9IG91dHB1dE1hZ25pdHVkZTsNCi0JCXJpZ2h0T3V0cHV0ID0gb3V0cHV0TWFnbml0dWRlOw0KLQl9DQotCVNldExlZnRSaWdodE1vdG9yT3V0cHV0cyhsZWZ0T3V0cHV0LCByaWdodE91dHB1dCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFByb3ZpZGUgdGFuayBzdGVlcmluZyB1c2luZyB0aGUgc3RvcmVkIHJvYm90IGNvbmZpZ3VyYXRpb24uDQotICogRHJpdmUgdGhlIHJvYm90IHVzaW5nIHR3byBqb3lzdGljayBpbnB1dHMuIFRoZSBZLWF4aXMgd2lsbCBiZSBzZWxlY3RlZCBmcm9tDQotICogZWFjaCBKb3lzdGljayBvYmplY3QuDQotICogQHBhcmFtIGxlZnRTdGljayBUaGUgam95c3RpY2sgdG8gY29udHJvbCB0aGUgbGVmdCBzaWRlIG9mIHRoZSByb2JvdC4NCi0gKiBAcGFyYW0gcmlnaHRTdGljayBUaGUgam95c3RpY2sgdG8gY29udHJvbCB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgcm9ib3QuDQotICovDQotdm9pZCBSb2JvdERyaXZlOjpUYW5rRHJpdmUoR2VuZXJpY0hJRCAqbGVmdFN0aWNrLCBHZW5lcmljSElEICpyaWdodFN0aWNrLCBib29sIHNxdWFyZWRJbnB1dHMpDQotew0KLQlpZiAobGVmdFN0aWNrID09IE5VTEwgfHwgcmlnaHRTdGljayA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotCQlyZXR1cm47DQotCX0NCi0JVGFua0RyaXZlKGxlZnRTdGljay0+R2V0WSgpLCByaWdodFN0aWNrLT5HZXRZKCksIHNxdWFyZWRJbnB1dHMpOw0KLX0NCi0NCi12b2lkIFJvYm90RHJpdmU6OlRhbmtEcml2ZShHZW5lcmljSElEICZsZWZ0U3RpY2ssIEdlbmVyaWNISUQgJnJpZ2h0U3RpY2ssIGJvb2wgc3F1YXJlZElucHV0cykNCi17DQotCVRhbmtEcml2ZShsZWZ0U3RpY2suR2V0WSgpLCByaWdodFN0aWNrLkdldFkoKSwgc3F1YXJlZElucHV0cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFByb3ZpZGUgdGFuayBzdGVlcmluZyB1c2luZyB0aGUgc3RvcmVkIHJvYm90IGNvbmZpZ3VyYXRpb24uDQotICogVGhpcyBmdW5jdGlvbiBsZXRzIHlvdSBwaWNrIHRoZSBheGlzIHRvIGJlIHVzZWQgb24gZWFjaCBKb3lzdGljayBvYmplY3QgZm9yIHRoZSBsZWZ0DQotICogYW5kIHJpZ2h0IHNpZGVzIG9mIHRoZSByb2JvdC4NCi0gKiBAcGFyYW0gbGVmdFN0aWNrIFRoZSBKb3lzdGljayBvYmplY3QgdG8gdXNlIGZvciB0aGUgbGVmdCBzaWRlIG9mIHRoZSByb2JvdC4NCi0gKiBAcGFyYW0gbGVmdEF4aXMgVGhlIGF4aXMgdG8gc2VsZWN0IG9uIHRoZSBsZWZ0IHNpZGUgSm95c3RpY2sgb2JqZWN0Lg0KLSAqIEBwYXJhbSByaWdodFN0aWNrIFRoZSBKb3lzdGljayBvYmplY3QgdG8gdXNlIGZvciB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgcm9ib3QuDQotICogQHBhcmFtIHJpZ2h0QXhpcyBUaGUgYXhpcyB0byBzZWxlY3Qgb24gdGhlIHJpZ2h0IHNpZGUgSm95c3RpY2sgb2JqZWN0Lg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6VGFua0RyaXZlKEdlbmVyaWNISUQgKmxlZnRTdGljaywgVUlOVDMyIGxlZnRBeGlzLA0KLQkJR2VuZXJpY0hJRCAqcmlnaHRTdGljaywgVUlOVDMyIHJpZ2h0QXhpcywgYm9vbCBzcXVhcmVkSW5wdXRzKQ0KLXsNCi0JaWYgKGxlZnRTdGljayA9PSBOVUxMIHx8IHJpZ2h0U3RpY2sgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yKE51bGxQYXJhbWV0ZXIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCVRhbmtEcml2ZShsZWZ0U3RpY2stPkdldFJhd0F4aXMobGVmdEF4aXMpLCByaWdodFN0aWNrLT5HZXRSYXdBeGlzKHJpZ2h0QXhpcyksIHNxdWFyZWRJbnB1dHMpOw0KLX0NCi0NCi12b2lkIFJvYm90RHJpdmU6OlRhbmtEcml2ZShHZW5lcmljSElEICZsZWZ0U3RpY2ssIFVJTlQzMiBsZWZ0QXhpcywNCi0JCUdlbmVyaWNISUQgJnJpZ2h0U3RpY2ssIFVJTlQzMiByaWdodEF4aXMsIGJvb2wgc3F1YXJlZElucHV0cykNCi17DQotCVRhbmtEcml2ZShsZWZ0U3RpY2suR2V0UmF3QXhpcyhsZWZ0QXhpcyksIHJpZ2h0U3RpY2suR2V0UmF3QXhpcyhyaWdodEF4aXMpLCBzcXVhcmVkSW5wdXRzKTsNCi19DQotDQotDQotLyoqDQotICogUHJvdmlkZSB0YW5rIHN0ZWVyaW5nIHVzaW5nIHRoZSBzdG9yZWQgcm9ib3QgY29uZmlndXJhdGlvbi4NCi0gKiBUaGlzIGZ1bmN0aW9uIGxldHMgeW91IGRpcmVjdGx5IHByb3ZpZGUgam95c3RpY2sgdmFsdWVzIGZyb20gYW55IHNvdXJjZS4NCi0gKiBAcGFyYW0gbGVmdFZhbHVlIFRoZSB2YWx1ZSBvZiB0aGUgbGVmdCBzdGljay4NCi0gKiBAcGFyYW0gcmlnaHRWYWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHJpZ2h0IHN0aWNrLg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6VGFua0RyaXZlKGZsb2F0IGxlZnRWYWx1ZSwgZmxvYXQgcmlnaHRWYWx1ZSwgYm9vbCBzcXVhcmVkSW5wdXRzKQ0KLXsNCi0Jc3RhdGljIGJvb2wgcmVwb3J0ZWQgPSBmYWxzZTsNCi0JaWYgKCFyZXBvcnRlZCkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1JvYm90RHJpdmUsIEdldE51bU1vdG9ycygpLCBuVXNhZ2VSZXBvcnRpbmc6OmtSb2JvdERyaXZlX1RhbmspOw0KLQkJcmVwb3J0ZWQgPSB0cnVlOw0KLQl9DQotDQotCS8vIHNxdWFyZSB0aGUgaW5wdXRzICh3aGlsZSBwcmVzZXJ2aW5nIHRoZSBzaWduKSB0byBpbmNyZWFzZSBmaW5lIGNvbnRyb2wgd2hpbGUgcGVybWl0dGluZyBmdWxsIHBvd2VyDQotCWxlZnRWYWx1ZSA9IExpbWl0KGxlZnRWYWx1ZSk7DQotCXJpZ2h0VmFsdWUgPSBMaW1pdChyaWdodFZhbHVlKTsNCi0JaWYoc3F1YXJlZElucHV0cykNCi0Jew0KLQkJaWYgKGxlZnRWYWx1ZSA+PSAwLjApDQotCQl7DQotCQkJbGVmdFZhbHVlID0gKGxlZnRWYWx1ZSAqIGxlZnRWYWx1ZSk7DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJbGVmdFZhbHVlID0gLShsZWZ0VmFsdWUgKiBsZWZ0VmFsdWUpOw0KLQkJfQ0KLQkJaWYgKHJpZ2h0VmFsdWUgPj0gMC4wKQ0KLQkJew0KLQkJCXJpZ2h0VmFsdWUgPSAocmlnaHRWYWx1ZSAqIHJpZ2h0VmFsdWUpOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCXJpZ2h0VmFsdWUgPSAtKHJpZ2h0VmFsdWUgKiByaWdodFZhbHVlKTsNCi0JCX0NCi0JfQ0KLQ0KLQlTZXRMZWZ0UmlnaHRNb3Rvck91dHB1dHMobGVmdFZhbHVlLCByaWdodFZhbHVlKTsNCi19DQotDQotLyoqDQotICogQXJjYWRlIGRyaXZlIGltcGxlbWVudHMgc2luZ2xlIHN0aWNrIGRyaXZpbmcuDQotICogR2l2ZW4gYSBzaW5nbGUgSm95c3RpY2ssIHRoZSBjbGFzcyBhc3N1bWVzIHRoZSBZIGF4aXMgZm9yIHRoZSBtb3ZlIHZhbHVlIGFuZCB0aGUgWCBheGlzDQotICogZm9yIHRoZSByb3RhdGUgdmFsdWUuDQotICogKFNob3VsZCBhZGQgbW9yZSBpbmZvcm1hdGlvbiBoZXJlIHJlZ2FyZGluZyB0aGUgd2F5IHRoYXQgYXJjYWRlIGRyaXZlIHdvcmtzLikNCi0gKiBAcGFyYW0gc3RpY2sgVGhlIGpveXN0aWNrIHRvIHVzZSBmb3IgQXJjYWRlIHNpbmdsZS1zdGljayBkcml2aW5nLiBUaGUgWS1heGlzIHdpbGwgYmUgc2VsZWN0ZWQNCi0gKiBmb3IgZm9yd2FyZHMvYmFja3dhcmRzIGFuZCB0aGUgWC1heGlzIHdpbGwgYmUgc2VsZWN0ZWQgZm9yIHJvdGF0aW9uIHJhdGUuDQotICogQHBhcmFtIHNxdWFyZWRJbnB1dHMgSWYgdHJ1ZSwgdGhlIHNlbnNpdGl2aXR5IHdpbGwgYmUgaW5jcmVhc2VkIGZvciBzbWFsbCB2YWx1ZXMNCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6OkFyY2FkZURyaXZlKEdlbmVyaWNISUQgKnN0aWNrLCBib29sIHNxdWFyZWRJbnB1dHMpDQotew0KLQkvLyBzaW1wbHkgY2FsbCB0aGUgZnVsbC1mZWF0dXJlZCBBcmNhZGVEcml2ZSB3aXRoIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMNCi0JQXJjYWRlRHJpdmUoc3RpY2stPkdldFkoKSwgc3RpY2stPkdldFgoKSwgc3F1YXJlZElucHV0cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEFyY2FkZSBkcml2ZSBpbXBsZW1lbnRzIHNpbmdsZSBzdGljayBkcml2aW5nLg0KLSAqIEdpdmVuIGEgc2luZ2xlIEpveXN0aWNrLCB0aGUgY2xhc3MgYXNzdW1lcyB0aGUgWSBheGlzIGZvciB0aGUgbW92ZSB2YWx1ZSBhbmQgdGhlIFggYXhpcw0KLSAqIGZvciB0aGUgcm90YXRlIHZhbHVlLg0KLSAqIChTaG91bGQgYWRkIG1vcmUgaW5mb3JtYXRpb24gaGVyZSByZWdhcmRpbmcgdGhlIHdheSB0aGF0IGFyY2FkZSBkcml2ZSB3b3Jrcy4pDQotICogQHBhcmFtIHN0aWNrIFRoZSBqb3lzdGljayB0byB1c2UgZm9yIEFyY2FkZSBzaW5nbGUtc3RpY2sgZHJpdmluZy4gVGhlIFktYXhpcyB3aWxsIGJlIHNlbGVjdGVkDQotICogZm9yIGZvcndhcmRzL2JhY2t3YXJkcyBhbmQgdGhlIFgtYXhpcyB3aWxsIGJlIHNlbGVjdGVkIGZvciByb3RhdGlvbiByYXRlLg0KLSAqIEBwYXJhbSBzcXVhcmVkSW5wdXRzIElmIHRydWUsIHRoZSBzZW5zaXRpdml0eSB3aWxsIGJlIGluY3JlYXNlZCBmb3Igc21hbGwgdmFsdWVzDQotICovDQotdm9pZCBSb2JvdERyaXZlOjpBcmNhZGVEcml2ZShHZW5lcmljSElEICZzdGljaywgYm9vbCBzcXVhcmVkSW5wdXRzKQ0KLXsNCi0JLy8gc2ltcGx5IGNhbGwgdGhlIGZ1bGwtZmVhdHVyZWQgQXJjYWRlRHJpdmUgd2l0aCB0aGUgYXBwcm9wcmlhdGUgdmFsdWVzDQotCUFyY2FkZURyaXZlKHN0aWNrLkdldFkoKSwgc3RpY2suR2V0WCgpLCBzcXVhcmVkSW5wdXRzKTsNCi19DQotDQotLyoqDQotICogQXJjYWRlIGRyaXZlIGltcGxlbWVudHMgc2luZ2xlIHN0aWNrIGRyaXZpbmcuDQotICogR2l2ZW4gdHdvIGpveXN0aWNrIGluc3RhbmNlcyBhbmQgdHdvIGF4aXMsIGNvbXB1dGUgdGhlIHZhbHVlcyB0byBzZW5kIHRvIGVpdGhlciB0d28NCi0gKiBvciBmb3VyIG1vdG9ycy4NCi0gKiBAcGFyYW0gbW92ZVN0aWNrIFRoZSBKb3lzdGljayBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBmb3J3YXJkL2JhY2t3YXJkIGRpcmVjdGlvbg0KLSAqIEBwYXJhbSBtb3ZlQXhpcyBUaGUgYXhpcyBvbiB0aGUgbW92ZVN0aWNrIG9iamVjdCB0byB1c2UgZm9yIGZvd2FyZHMvYmFja3dhcmRzICh0eXBpY2FsbHkgWV9BWElTKQ0KLSAqIEBwYXJhbSByb3RhdGVTdGljayBUaGUgSm95c3RpY2sgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgcm90YXRpb24gdmFsdWUNCi0gKiBAcGFyYW0gcm90YXRlQXhpcyBUaGUgYXhpcyBvbiB0aGUgcm90YXRpb24gb2JqZWN0IHRvIHVzZSBmb3IgdGhlIHJvdGF0ZSByaWdodC9sZWZ0ICh0eXBpY2FsbHkgWF9BWElTKQ0KLSAqIEBwYXJhbSBzcXVhcmVkSW5wdXRzIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gdHJ1ZSBpbmNyZWFzZXMgdGhlIHNlbnNpdGl2aXR5IGF0IGxvd2VyIHNwZWVkcw0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6QXJjYWRlRHJpdmUoR2VuZXJpY0hJRCogbW92ZVN0aWNrLCBVSU5UMzIgbW92ZUF4aXMsDQotCQkJCQkJCQlHZW5lcmljSElEKiByb3RhdGVTdGljaywgVUlOVDMyIHJvdGF0ZUF4aXMsDQotCQkJCQkJCQlib29sIHNxdWFyZWRJbnB1dHMpDQotew0KLQlmbG9hdCBtb3ZlVmFsdWUgPSBtb3ZlU3RpY2stPkdldFJhd0F4aXMobW92ZUF4aXMpOw0KLQlmbG9hdCByb3RhdGVWYWx1ZSA9IHJvdGF0ZVN0aWNrLT5HZXRSYXdBeGlzKHJvdGF0ZUF4aXMpOw0KLQ0KLQlBcmNhZGVEcml2ZShtb3ZlVmFsdWUsIHJvdGF0ZVZhbHVlLCBzcXVhcmVkSW5wdXRzKTsNCi19DQotDQotLyoqDQotICogQXJjYWRlIGRyaXZlIGltcGxlbWVudHMgc2luZ2xlIHN0aWNrIGRyaXZpbmcuDQotICogR2l2ZW4gdHdvIGpveXN0aWNrIGluc3RhbmNlcyBhbmQgdHdvIGF4aXMsIGNvbXB1dGUgdGhlIHZhbHVlcyB0byBzZW5kIHRvIGVpdGhlciB0d28NCi0gKiBvciBmb3VyIG1vdG9ycy4NCi0gKiBAcGFyYW0gbW92ZVN0aWNrIFRoZSBKb3lzdGljayBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBmb3J3YXJkL2JhY2t3YXJkIGRpcmVjdGlvbg0KLSAqIEBwYXJhbSBtb3ZlQXhpcyBUaGUgYXhpcyBvbiB0aGUgbW92ZVN0aWNrIG9iamVjdCB0byB1c2UgZm9yIGZvd2FyZHMvYmFja3dhcmRzICh0eXBpY2FsbHkgWV9BWElTKQ0KLSAqIEBwYXJhbSByb3RhdGVTdGljayBUaGUgSm95c3RpY2sgb2JqZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgcm90YXRpb24gdmFsdWUNCi0gKiBAcGFyYW0gcm90YXRlQXhpcyBUaGUgYXhpcyBvbiB0aGUgcm90YXRpb24gb2JqZWN0IHRvIHVzZSBmb3IgdGhlIHJvdGF0ZSByaWdodC9sZWZ0ICh0eXBpY2FsbHkgWF9BWElTKQ0KLSAqIEBwYXJhbSBzcXVhcmVkSW5wdXRzIFNldHRpbmcgdGhpcyBwYXJhbWV0ZXIgdG8gdHJ1ZSBpbmNyZWFzZXMgdGhlIHNlbnNpdGl2aXR5IGF0IGxvd2VyIHNwZWVkcw0KLSAqLw0KLQ0KLXZvaWQgUm9ib3REcml2ZTo6QXJjYWRlRHJpdmUoR2VuZXJpY0hJRCAmbW92ZVN0aWNrLCBVSU5UMzIgbW92ZUF4aXMsDQotCQkJCQkJCQlHZW5lcmljSElEICZyb3RhdGVTdGljaywgVUlOVDMyIHJvdGF0ZUF4aXMsDQotCQkJCQkJCQlib29sIHNxdWFyZWRJbnB1dHMpDQotew0KLQlmbG9hdCBtb3ZlVmFsdWUgPSBtb3ZlU3RpY2suR2V0UmF3QXhpcyhtb3ZlQXhpcyk7DQotCWZsb2F0IHJvdGF0ZVZhbHVlID0gcm90YXRlU3RpY2suR2V0UmF3QXhpcyhyb3RhdGVBeGlzKTsNCi0NCi0JQXJjYWRlRHJpdmUobW92ZVZhbHVlLCByb3RhdGVWYWx1ZSwgc3F1YXJlZElucHV0cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEFyY2FkZSBkcml2ZSBpbXBsZW1lbnRzIHNpbmdsZSBzdGljayBkcml2aW5nLg0KLSAqIFRoaXMgZnVuY3Rpb24gbGV0cyB5b3UgZGlyZWN0bHkgcHJvdmlkZSBqb3lzdGljayB2YWx1ZXMgZnJvbSBhbnkgc291cmNlLg0KLSAqIEBwYXJhbSBtb3ZlVmFsdWUgVGhlIHZhbHVlIHRvIHVzZSBmb3IgZm93YXJkcy9iYWNrd2FyZHMNCi0gKiBAcGFyYW0gcm90YXRlVmFsdWUgVGhlIHZhbHVlIHRvIHVzZSBmb3IgdGhlIHJvdGF0ZSByaWdodC9sZWZ0DQotICogQHBhcmFtIHNxdWFyZWRJbnB1dHMgSWYgc2V0LCBpbmNyZWFzZXMgdGhlIHNlbnNpdGl2aXR5IGF0IGxvdyBzcGVlZHMNCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6OkFyY2FkZURyaXZlKGZsb2F0IG1vdmVWYWx1ZSwgZmxvYXQgcm90YXRlVmFsdWUsIGJvb2wgc3F1YXJlZElucHV0cykNCi17DQotCXN0YXRpYyBib29sIHJlcG9ydGVkID0gZmFsc2U7DQotCWlmICghcmVwb3J0ZWQpDQotCXsNCi0JCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9Sb2JvdERyaXZlLCBHZXROdW1Nb3RvcnMoKSwgblVzYWdlUmVwb3J0aW5nOjprUm9ib3REcml2ZV9BcmNhZGVTdGFuZGFyZCk7DQotCQlyZXBvcnRlZCA9IHRydWU7DQotCX0NCi0NCi0JLy8gbG9jYWwgdmFyaWFibGVzIHRvIGhvbGQgdGhlIGNvbXB1dGVkIFBXTSB2YWx1ZXMgZm9yIHRoZSBtb3RvcnMNCi0JZmxvYXQgbGVmdE1vdG9yT3V0cHV0Ow0KLQlmbG9hdCByaWdodE1vdG9yT3V0cHV0Ow0KLQ0KLQltb3ZlVmFsdWUgPSBMaW1pdChtb3ZlVmFsdWUpOw0KLQlyb3RhdGVWYWx1ZSA9IExpbWl0KHJvdGF0ZVZhbHVlKTsNCi0NCi0JaWYgKHNxdWFyZWRJbnB1dHMpDQotCXsNCi0JCS8vIHNxdWFyZSB0aGUgaW5wdXRzICh3aGlsZSBwcmVzZXJ2aW5nIHRoZSBzaWduKSB0byBpbmNyZWFzZSBmaW5lIGNvbnRyb2wgd2hpbGUgcGVybWl0dGluZyBmdWxsIHBvd2VyDQotCQlpZiAobW92ZVZhbHVlID49IDAuMCkNCi0JCXsNCi0JCQltb3ZlVmFsdWUgPSAobW92ZVZhbHVlICogbW92ZVZhbHVlKTsNCi0JCX0NCi0JCWVsc2UNCi0JCXsNCi0JCQltb3ZlVmFsdWUgPSAtKG1vdmVWYWx1ZSAqIG1vdmVWYWx1ZSk7DQotCQl9DQotCQlpZiAocm90YXRlVmFsdWUgPj0gMC4wKQ0KLQkJew0KLQkJCXJvdGF0ZVZhbHVlID0gKHJvdGF0ZVZhbHVlICogcm90YXRlVmFsdWUpOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCXJvdGF0ZVZhbHVlID0gLShyb3RhdGVWYWx1ZSAqIHJvdGF0ZVZhbHVlKTsNCi0JCX0NCi0JfQ0KLQ0KLQlpZiAobW92ZVZhbHVlID4gMC4wKQ0KLQl7DQotCQlpZiAocm90YXRlVmFsdWUgPiAwLjApDQotCQl7DQotCQkJbGVmdE1vdG9yT3V0cHV0ID0gbW92ZVZhbHVlIC0gcm90YXRlVmFsdWU7DQotCQkJcmlnaHRNb3Rvck91dHB1dCA9IG1heChtb3ZlVmFsdWUsIHJvdGF0ZVZhbHVlKTsNCi0JCX0NCi0JCWVsc2UNCi0JCXsNCi0JCQlsZWZ0TW90b3JPdXRwdXQgPSBtYXgobW92ZVZhbHVlLCAtcm90YXRlVmFsdWUpOw0KLQkJCXJpZ2h0TW90b3JPdXRwdXQgPSBtb3ZlVmFsdWUgKyByb3RhdGVWYWx1ZTsNCi0JCX0NCi0JfQ0KLQllbHNlDQotCXsNCi0JCWlmIChyb3RhdGVWYWx1ZSA+IDAuMCkNCi0JCXsNCi0JCQlsZWZ0TW90b3JPdXRwdXQgPSAtIG1heCgtbW92ZVZhbHVlLCByb3RhdGVWYWx1ZSk7DQotCQkJcmlnaHRNb3Rvck91dHB1dCA9IG1vdmVWYWx1ZSArIHJvdGF0ZVZhbHVlOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCWxlZnRNb3Rvck91dHB1dCA9IG1vdmVWYWx1ZSAtIHJvdGF0ZVZhbHVlOw0KLQkJCXJpZ2h0TW90b3JPdXRwdXQgPSAtIG1heCgtbW92ZVZhbHVlLCAtcm90YXRlVmFsdWUpOw0KLQkJfQ0KLQl9DQotCVNldExlZnRSaWdodE1vdG9yT3V0cHV0cyhsZWZ0TW90b3JPdXRwdXQsIHJpZ2h0TW90b3JPdXRwdXQpOw0KLX0NCi0NCi0vKioNCi0gKiBEcml2ZSBtZXRob2QgZm9yIE1lY2FudW0gd2hlZWxlZCByb2JvdHMuDQotICoNCi0gKiBBIG1ldGhvZCBmb3IgZHJpdmluZyB3aXRoIE1lY2FudW0gd2hlZWxlZCByb2JvdHMuIFRoZXJlIGFyZSA0IHdoZWVscw0KLSAqIG9uIHRoZSByb2JvdCwgYXJyYW5nZWQgc28gdGhhdCB0aGUgZnJvbnQgYW5kIGJhY2sgd2hlZWxzIGFyZSB0b2VkIGluIDQ1IGRlZ3JlZXMuDQotICogV2hlbiBsb29raW5nIGF0IHRoZSB3aGVlbHMgZnJvbSB0aGUgdG9wLCB0aGUgcm9sbGVyIGF4bGVzIHNob3VsZCBmb3JtIGFuIFggYWNyb3NzIHRoZSByb2JvdC4NCi0gKiANCi0gKiBUaGlzIGlzIGRlc2lnbmVkIHRvIGJlIGRpcmVjdGx5IGRyaXZlbiBieSBqb3lzdGljayBheGVzLg0KLSAqDQotICogQHBhcmFtIHggVGhlIHNwZWVkIHRoYXQgdGhlIHJvYm90IHNob3VsZCBkcml2ZSBpbiB0aGUgWCBkaXJlY3Rpb24uIFstMS4wLi4xLjBdDQotICogQHBhcmFtIHkgVGhlIHNwZWVkIHRoYXQgdGhlIHJvYm90IHNob3VsZCBkcml2ZSBpbiB0aGUgWSBkaXJlY3Rpb24uDQotICogVGhpcyBpbnB1dCBpcyBpbnZlcnRlZCB0byBtYXRjaCB0aGUgZm9yd2FyZCA9PSAtMS4wIHRoYXQgam95c3RpY2tzIHByb2R1Y2UuIFstMS4wLi4xLjBdDQotICogQHBhcmFtIHJvdGF0aW9uIFRoZSByYXRlIG9mIHJvdGF0aW9uIGZvciB0aGUgcm9ib3QgdGhhdCBpcyBjb21wbGV0ZWx5IGluZGVwZW5kZW50IG9mDQotICogdGhlIHRyYW5zbGF0aW9uLiBbLTEuMC4uMS4wXQ0KLSAqIEBwYXJhbSBneXJvQW5nbGUgVGhlIGN1cnJlbnQgYW5nbGUgcmVhZGluZyBmcm9tIHRoZSBneXJvLiAgVXNlIHRoaXMgdG8gaW1wbGVtZW50IGZpZWxkLW9yaWVudGVkIGNvbnRyb2xzLg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6TWVjYW51bURyaXZlX0NhcnRlc2lhbihmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCByb3RhdGlvbiwgZmxvYXQgZ3lyb0FuZ2xlKQ0KLXsNCi0Jc3RhdGljIGJvb2wgcmVwb3J0ZWQgPSBmYWxzZTsNCi0JaWYgKCFyZXBvcnRlZCkNCi0Jew0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1JvYm90RHJpdmUsIEdldE51bU1vdG9ycygpLCBuVXNhZ2VSZXBvcnRpbmc6OmtSb2JvdERyaXZlX01lY2FudW1DYXJ0ZXNpYW4pOw0KLQkJcmVwb3J0ZWQgPSB0cnVlOw0KLQl9DQotDQotCWRvdWJsZSB4SW4gPSB4Ow0KLQlkb3VibGUgeUluID0geTsNCi0JLy8gTmVnYXRlIHkgZm9yIHRoZSBqb3lzdGljay4NCi0JeUluID0gLXlJbjsNCi0JLy8gQ29tcGVuc3RhdGUgZm9yIGd5cm8gYW5nbGUuDQotCVJvdGF0ZVZlY3Rvcih4SW4sIHlJbiwgZ3lyb0FuZ2xlKTsNCi0NCi0JZG91YmxlIHdoZWVsU3BlZWRzW2tNYXhOdW1iZXJPZk1vdG9yc107DQotCXdoZWVsU3BlZWRzW2tGcm9udExlZnRNb3Rvcl0gPSB4SW4gKyB5SW4gKyByb3RhdGlvbjsNCi0Jd2hlZWxTcGVlZHNba0Zyb250UmlnaHRNb3Rvcl0gPSAteEluICsgeUluIC0gcm90YXRpb247DQotCXdoZWVsU3BlZWRzW2tSZWFyTGVmdE1vdG9yXSA9IC14SW4gKyB5SW4gKyByb3RhdGlvbjsNCi0Jd2hlZWxTcGVlZHNba1JlYXJSaWdodE1vdG9yXSA9IHhJbiArIHlJbiAtIHJvdGF0aW9uOw0KLQ0KLQlOb3JtYWxpemUod2hlZWxTcGVlZHMpOw0KLQ0KLQlVSU5UOCBzeW5jR3JvdXAgPSAweDgwOw0KLQ0KLQltX2Zyb250TGVmdE1vdG9yLT5TZXQod2hlZWxTcGVlZHNba0Zyb250TGVmdE1vdG9yXSAqIG1faW52ZXJ0ZWRNb3RvcnNba0Zyb250TGVmdE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX2Zyb250UmlnaHRNb3Rvci0+U2V0KHdoZWVsU3BlZWRzW2tGcm9udFJpZ2h0TW90b3JdICogbV9pbnZlcnRlZE1vdG9yc1trRnJvbnRSaWdodE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX3JlYXJMZWZ0TW90b3ItPlNldCh3aGVlbFNwZWVkc1trUmVhckxlZnRNb3Rvcl0gKiBtX2ludmVydGVkTW90b3JzW2tSZWFyTGVmdE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX3JlYXJSaWdodE1vdG9yLT5TZXQod2hlZWxTcGVlZHNba1JlYXJSaWdodE1vdG9yXSAqIG1faW52ZXJ0ZWRNb3RvcnNba1JlYXJSaWdodE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQ0KLQlDQU5KYWd1YXI6OlVwZGF0ZVN5bmNHcm91cChzeW5jR3JvdXApOw0KLQkNCi0JbV9zYWZldHlIZWxwZXItPkZlZWQoKTsNCi19DQotDQotLyoqDQotICogRHJpdmUgbWV0aG9kIGZvciBNZWNhbnVtIHdoZWVsZWQgcm9ib3RzLg0KLSAqDQotICogQSBtZXRob2QgZm9yIGRyaXZpbmcgd2l0aCBNZWNhbnVtIHdoZWVsZWQgcm9ib3RzLiBUaGVyZSBhcmUgNCB3aGVlbHMNCi0gKiBvbiB0aGUgcm9ib3QsIGFycmFuZ2VkIHNvIHRoYXQgdGhlIGZyb250IGFuZCBiYWNrIHdoZWVscyBhcmUgdG9lZCBpbiA0NSBkZWdyZWVzLg0KLSAqIFdoZW4gbG9va2luZyBhdCB0aGUgd2hlZWxzIGZyb20gdGhlIHRvcCwgdGhlIHJvbGxlciBheGxlcyBzaG91bGQgZm9ybSBhbiBYIGFjcm9zcyB0aGUgcm9ib3QuDQotICoNCi0gKiBAcGFyYW0gbWFnbml0dWRlIFRoZSBzcGVlZCB0aGF0IHRoZSByb2JvdCBzaG91bGQgZHJpdmUgaW4gYSBnaXZlbiBkaXJlY3Rpb24uIFstMS4wLi4xLjBdDQotICogQHBhcmFtIGRpcmVjdGlvbiBUaGUgZGlyZWN0aW9uIHRoZSByb2JvdCBzaG91bGQgZHJpdmUgaW4gZGVncmVlcy4gVGhlIGRpcmVjdGlvbiBhbmQgbWFnaW5pdHV0ZSBhcmUNCi0gKiBpbmRlcGVuZGVudCBvZiB0aGUgcm90YXRpb24gcmF0ZS4NCi0gKiBAcGFyYW0gcm90YXRpb24gVGhlIHJhdGUgb2Ygcm90YXRpb24gZm9yIHRoZSByb2JvdCB0aGF0IGlzIGNvbXBsZXRlbHkgaW5kZXBlbmRlbnQgb2YNCi0gKiB0aGUgbWFnbml0dXRlIG9yIGRpcmVjdGlvbi4gWy0xLjAuLjEuMF0NCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6Ok1lY2FudW1Ecml2ZV9Qb2xhcihmbG9hdCBtYWduaXR1ZGUsIGZsb2F0IGRpcmVjdGlvbiwgZmxvYXQgcm90YXRpb24pDQotew0KLQlzdGF0aWMgYm9vbCByZXBvcnRlZCA9IGZhbHNlOw0KLQlpZiAoIXJlcG9ydGVkKQ0KLQl7DQotCQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfUm9ib3REcml2ZSwgR2V0TnVtTW90b3JzKCksIG5Vc2FnZVJlcG9ydGluZzo6a1JvYm90RHJpdmVfTWVjYW51bVBvbGFyKTsNCi0JCXJlcG9ydGVkID0gdHJ1ZTsNCi0JfQ0KLQ0KLQkvLyBOb3JtYWxpemVkIGZvciBmdWxsIHBvd2VyIGFsb25nIHRoZSBDYXJ0ZXNpYW4gYXhlcy4NCi0JbWFnbml0dWRlID0gTGltaXQobWFnbml0dWRlKSAqIHNxcnQoMi4wKTsNCi0JLy8gVGhlIHJvbGxlcnMgYXJlIGF0IDQ1IGRlZ3JlZSBhbmdsZXMuDQotCWRvdWJsZSBkaXJJblJhZCA9IChkaXJlY3Rpb24gKyA0NS4wKSAqIDMuMTQxNTkgLyAxODAuMDsNCi0JZG91YmxlIGNvc0QgPSBjb3MoZGlySW5SYWQpOw0KLQlkb3VibGUgc2luRCA9IHNpbihkaXJJblJhZCk7DQotDQotCWRvdWJsZSB3aGVlbFNwZWVkc1trTWF4TnVtYmVyT2ZNb3RvcnNdOw0KLQl3aGVlbFNwZWVkc1trRnJvbnRMZWZ0TW90b3JdID0gc2luRCAqIG1hZ25pdHVkZSArIHJvdGF0aW9uOw0KLQl3aGVlbFNwZWVkc1trRnJvbnRSaWdodE1vdG9yXSA9IGNvc0QgKiBtYWduaXR1ZGUgLSByb3RhdGlvbjsNCi0Jd2hlZWxTcGVlZHNba1JlYXJMZWZ0TW90b3JdID0gY29zRCAqIG1hZ25pdHVkZSArIHJvdGF0aW9uOw0KLQl3aGVlbFNwZWVkc1trUmVhclJpZ2h0TW90b3JdID0gc2luRCAqIG1hZ25pdHVkZSAtIHJvdGF0aW9uOw0KLQ0KLQlOb3JtYWxpemUod2hlZWxTcGVlZHMpOw0KLQ0KLQlVSU5UOCBzeW5jR3JvdXAgPSAweDgwOw0KLQ0KLQltX2Zyb250TGVmdE1vdG9yLT5TZXQod2hlZWxTcGVlZHNba0Zyb250TGVmdE1vdG9yXSAqIG1faW52ZXJ0ZWRNb3RvcnNba0Zyb250TGVmdE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX2Zyb250UmlnaHRNb3Rvci0+U2V0KHdoZWVsU3BlZWRzW2tGcm9udFJpZ2h0TW90b3JdICogbV9pbnZlcnRlZE1vdG9yc1trRnJvbnRSaWdodE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX3JlYXJMZWZ0TW90b3ItPlNldCh3aGVlbFNwZWVkc1trUmVhckxlZnRNb3Rvcl0gKiBtX2ludmVydGVkTW90b3JzW2tSZWFyTGVmdE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQltX3JlYXJSaWdodE1vdG9yLT5TZXQod2hlZWxTcGVlZHNba1JlYXJSaWdodE1vdG9yXSAqIG1faW52ZXJ0ZWRNb3RvcnNba1JlYXJSaWdodE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQ0KLQlDQU5KYWd1YXI6OlVwZGF0ZVN5bmNHcm91cChzeW5jR3JvdXApOw0KLQkNCi0JbV9zYWZldHlIZWxwZXItPkZlZWQoKTsNCi19DQotDQotLyoqDQotICogSG9sb25vbWljIERyaXZlIG1ldGhvZCBmb3IgTWVjYW51bSB3aGVlbGVkIHJvYm90cy4NCi0gKg0KLSAqIFRoaXMgaXMgYW4gYWxpYXMgdG8gTWVjYW51bURyaXZlX1BvbGFyKCkgZm9yIGJhY2t3YXJkIGNvbXBhdGFiaWxpdHkNCi0gKg0KLSAqIEBwYXJhbSBtYWduaXR1ZGUgVGhlIHNwZWVkIHRoYXQgdGhlIHJvYm90IHNob3VsZCBkcml2ZSBpbiBhIGdpdmVuIGRpcmVjdGlvbi4gIFstMS4wLi4xLjBdDQotICogQHBhcmFtIGRpcmVjdGlvbiBUaGUgZGlyZWN0aW9uIHRoZSByb2JvdCBzaG91bGQgZHJpdmUuIFRoZSBkaXJlY3Rpb24gYW5kIG1hZ2luaXR1dGUgYXJlDQotICogaW5kZXBlbmRlbnQgb2YgdGhlIHJvdGF0aW9uIHJhdGUuDQotICogQHBhcmFtIHJvdGF0aW9uIFRoZSByYXRlIG9mIHJvdGF0aW9uIGZvciB0aGUgcm9ib3QgdGhhdCBpcyBjb21wbGV0ZWx5IGluZGVwZW5kZW50IG9mDQotICogdGhlIG1hZ25pdHV0ZSBvciBkaXJlY3Rpb24uICBbLTEuMC4uMS4wXQ0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6SG9sb25vbWljRHJpdmUoZmxvYXQgbWFnbml0dWRlLCBmbG9hdCBkaXJlY3Rpb24sIGZsb2F0IHJvdGF0aW9uKQ0KLXsNCi0JTWVjYW51bURyaXZlX1BvbGFyKG1hZ25pdHVkZSwgZGlyZWN0aW9uLCByb3RhdGlvbik7DQotfQ0KLQ0KLS8qKiBTZXQgdGhlIHNwZWVkIG9mIHRoZSByaWdodCBhbmQgbGVmdCBtb3RvcnMuDQotICogVGhpcyBpcyB1c2VkIG9uY2UgYW4gYXBwcm9wcmlhdGUgZHJpdmUgc2V0dXAgZnVuY3Rpb24gaXMgY2FsbGVkIHN1Y2ggYXMNCi0gKiBUd29XaGVlbERyaXZlKCkuIFRoZSBtb3RvcnMgYXJlIHNldCB0byAibGVmdE91dHB1dCIgYW5kICJyaWdodE91dHB1dCINCi0gKiBhbmQgaW5jbHVkZXMgZmxpcHBpbmcgdGhlIGRpcmVjdGlvbiBvZiBvbmUgc2lkZSBmb3Igb3Bwb3NpbmcgbW90b3JzLg0KLSAqIEBwYXJhbSBsZWZ0T3V0cHV0IFRoZSBzcGVlZCB0byBzZW5kIHRvIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHJvYm90Lg0KLSAqIEBwYXJhbSByaWdodE91dHB1dCBUaGUgc3BlZWQgdG8gc2VuZCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgcm9ib3QuDQotICovDQotdm9pZCBSb2JvdERyaXZlOjpTZXRMZWZ0UmlnaHRNb3Rvck91dHB1dHMoZmxvYXQgbGVmdE91dHB1dCwgZmxvYXQgcmlnaHRPdXRwdXQpDQotew0KLQl3cGlfYXNzZXJ0KG1fcmVhckxlZnRNb3RvciAhPSBOVUxMICYmIG1fcmVhclJpZ2h0TW90b3IgIT0gTlVMTCk7DQotDQotCVVJTlQ4IHN5bmNHcm91cCA9IDB4ODA7DQotDQotCWlmIChtX2Zyb250TGVmdE1vdG9yICE9IE5VTEwpDQotCQltX2Zyb250TGVmdE1vdG9yLT5TZXQoTGltaXQobGVmdE91dHB1dCkgKiBtX2ludmVydGVkTW90b3JzW2tGcm9udExlZnRNb3Rvcl0gKiBtX21heE91dHB1dCwgc3luY0dyb3VwKTsNCi0JbV9yZWFyTGVmdE1vdG9yLT5TZXQoTGltaXQobGVmdE91dHB1dCkgKiBtX2ludmVydGVkTW90b3JzW2tSZWFyTGVmdE1vdG9yXSAqIG1fbWF4T3V0cHV0LCBzeW5jR3JvdXApOw0KLQ0KLQlpZiAobV9mcm9udFJpZ2h0TW90b3IgIT0gTlVMTCkNCi0JCW1fZnJvbnRSaWdodE1vdG9yLT5TZXQoLUxpbWl0KHJpZ2h0T3V0cHV0KSAqIG1faW52ZXJ0ZWRNb3RvcnNba0Zyb250UmlnaHRNb3Rvcl0gKiBtX21heE91dHB1dCwgc3luY0dyb3VwKTsNCi0JbV9yZWFyUmlnaHRNb3Rvci0+U2V0KC1MaW1pdChyaWdodE91dHB1dCkgKiBtX2ludmVydGVkTW90b3JzW2tSZWFyUmlnaHRNb3Rvcl0gKiBtX21heE91dHB1dCwgc3luY0dyb3VwKTsNCi0NCi0JQ0FOSmFndWFyOjpVcGRhdGVTeW5jR3JvdXAoc3luY0dyb3VwKTsNCi0NCi0JbV9zYWZldHlIZWxwZXItPkZlZWQoKTsNCi19DQotDQotLyoqDQotICogTGltaXQgbW90b3IgdmFsdWVzIHRvIHRoZSAtMS4wIHRvICsxLjAgcmFuZ2UuDQotICovDQotZmxvYXQgUm9ib3REcml2ZTo6TGltaXQoZmxvYXQgbnVtKQ0KLXsNCi0JaWYgKG51bSA+IDEuMCkNCi0Jew0KLQkJcmV0dXJuIDEuMDsNCi0JfQ0KLQlpZiAobnVtIDwgLTEuMCkNCi0Jew0KLQkJcmV0dXJuIC0xLjA7DQotCX0NCi0JcmV0dXJuIG51bTsNCi19DQotDQotLyoqDQotICogTm9ybWFsaXplIGFsbCB3aGVlbCBzcGVlZHMgaWYgdGhlIG1hZ25pdHVkZSBvZiBhbnkgd2hlZWwgaXMgZ3JlYXRlciB0aGFuIDEuMC4NCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6Ok5vcm1hbGl6ZShkb3VibGUgKndoZWVsU3BlZWRzKQ0KLXsNCi0JZG91YmxlIG1heE1hZ25pdHVkZSA9IGZhYnMod2hlZWxTcGVlZHNbMF0pOw0KLQlJTlQzMiBpOw0KLQlmb3IgKGk9MTsgaTxrTWF4TnVtYmVyT2ZNb3RvcnM7IGkrKykNCi0Jew0KLQkJZG91YmxlIHRlbXAgPSBmYWJzKHdoZWVsU3BlZWRzW2ldKTsNCi0JCWlmIChtYXhNYWduaXR1ZGUgPCB0ZW1wKSBtYXhNYWduaXR1ZGUgPSB0ZW1wOw0KLQl9DQotCWlmIChtYXhNYWduaXR1ZGUgPiAxLjApDQotCXsNCi0JCWZvciAoaT0wOyBpPGtNYXhOdW1iZXJPZk1vdG9yczsgaSsrKQ0KLQkJew0KLQkJCXdoZWVsU3BlZWRzW2ldID0gd2hlZWxTcGVlZHNbaV0gLyBtYXhNYWduaXR1ZGU7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogUm90YXRlIGEgdmVjdG9yIGluIENhcnRlc2lhbiBzcGFjZS4NCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6OlJvdGF0ZVZlY3Rvcihkb3VibGUgJngsIGRvdWJsZSAmeSwgZG91YmxlIGFuZ2xlKQ0KLXsNCi0JZG91YmxlIGNvc0EgPSBjb3MoYW5nbGUgKiAoMy4xNDE1OSAvIDE4MC4wKSk7DQotCWRvdWJsZSBzaW5BID0gc2luKGFuZ2xlICogKDMuMTQxNTkgLyAxODAuMCkpOw0KLQlkb3VibGUgeE91dCA9IHggKiBjb3NBIC0geSAqIHNpbkE7DQotCWRvdWJsZSB5T3V0ID0geCAqIHNpbkEgKyB5ICogY29zQTsNCi0JeCA9IHhPdXQ7DQotCXkgPSB5T3V0Ow0KLX0NCi0NCi0vKg0KLSAqIEludmVydCBhIG1vdG9yIGRpcmVjdGlvbi4NCi0gKiBUaGlzIGlzIHVzZWQgd2hlbiBhIG1vdG9yIHNob3VsZCBydW4gaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBhcyB0aGUgZHJpdmUNCi0gKiBjb2RlIHdvdWxkIG5vcm1hbGx5IHJ1biBpdC4gTW90b3JzIHRoYXQgYXJlIGRpcmVjdCBkcml2ZSB3b3VsZCBiZSBpbnZlcnRlZCwgdGhlDQotICogRHJpdmUgY29kZSBhc3N1bWVzIHRoYXQgdGhlIG1vdG9ycyBhcmUgZ2VhcmVkIHdpdGggb25lIHJldmVyc2FsLg0KLSAqIEBwYXJhbSBtb3RvciBUaGUgbW90b3IgaW5kZXggdG8gaW52ZXJ0Lg0KLSAqIEBwYXJhbSBpc0ludmVydGVkIFRydWUgaWYgdGhlIG1vdG9yIHNob3VsZCBiZSBpbnZlcnRlZCB3aGVuIG9wZXJhdGVkLg0KLSAqLw0KLXZvaWQgUm9ib3REcml2ZTo6U2V0SW52ZXJ0ZWRNb3RvcihNb3RvclR5cGUgbW90b3IsIGJvb2wgaXNJbnZlcnRlZCkNCi17DQotCWlmIChtb3RvciA8IDAgfHwgbW90b3IgPiAzKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoSW52YWxpZE1vdG9ySW5kZXgpOw0KLQkJcmV0dXJuOw0KLQl9DQotCW1faW52ZXJ0ZWRNb3RvcnNbbW90b3JdID0gaXNJbnZlcnRlZCA/IC0xIDogMTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSB0dXJuaW5nIHNlbnNpdGl2aXR5Lg0KLSAqIA0KLSAqIFRoaXMgb25seSBpbXBhY3RzIHRoZSBEcml2ZSgpIGVudHJ5LXBvaW50Lg0KLSAqIEBwYXJhbSBzZW5zaXRpdml0eSBFZmZlY3RpdmVseSBzZXRzIHRoZSB0dXJuaW5nIHNlbnNpdGl2aXR5IChvciB0dXJuIHJhZGl1cyBmb3IgYSBnaXZlbiB2YWx1ZSkNCi0gKi8NCi12b2lkIFJvYm90RHJpdmU6OlNldFNlbnNpdGl2aXR5KGZsb2F0IHNlbnNpdGl2aXR5KQ0KLXsNCi0JbV9zZW5zaXRpdml0eSA9IHNlbnNpdGl2aXR5Ow0KLX0NCi0NCi0vKioNCi0gKiBDb25maWd1cmUgdGhlIHNjYWxpbmcgZmFjdG9yIGZvciB1c2luZyBSb2JvdERyaXZlIHdpdGggbW90b3IgY29udHJvbGxlcnMgaW4gYSBtb2RlIG90aGVyIHRoYW4gUGVyY2VudFZidXMuDQotICogQHBhcmFtIG1heE91dHB1dCBNdWx0aXBsaWVkIHdpdGggdGhlIG91dHB1dCBwZXJjZW50YWdlIGNvbXB1dGVkIGJ5IHRoZSBkcml2ZSBmdW5jdGlvbnMuDQotICovDQotdm9pZCBSb2JvdERyaXZlOjpTZXRNYXhPdXRwdXQoZG91YmxlIG1heE91dHB1dCkNCi17DQotCW1fbWF4T3V0cHV0ID0gbWF4T3V0cHV0Ow0KLX0NCi0NCi0NCi0NCi12b2lkIFJvYm90RHJpdmU6OlNldEV4cGlyYXRpb24oZmxvYXQgdGltZW91dCkNCi17DQotCW1fc2FmZXR5SGVscGVyLT5TZXRFeHBpcmF0aW9uKHRpbWVvdXQpOw0KLX0NCi0NCi1mbG9hdCBSb2JvdERyaXZlOjpHZXRFeHBpcmF0aW9uKCkNCi17DQotCXJldHVybiBtX3NhZmV0eUhlbHBlci0+R2V0RXhwaXJhdGlvbigpOw0KLX0NCi0NCi1ib29sIFJvYm90RHJpdmU6OklzQWxpdmUoKQ0KLXsNCi0JcmV0dXJuIG1fc2FmZXR5SGVscGVyLT5Jc0FsaXZlKCk7DQotfQ0KLQ0KLWJvb2wgUm9ib3REcml2ZTo6SXNTYWZldHlFbmFibGVkKCkNCi17DQotCXJldHVybiBtX3NhZmV0eUhlbHBlci0+SXNTYWZldHlFbmFibGVkKCk7DQotfQ0KLQ0KLXZvaWQgUm9ib3REcml2ZTo6U2V0U2FmZXR5RW5hYmxlZChib29sIGVuYWJsZWQpDQotew0KLQltX3NhZmV0eUhlbHBlci0+U2V0U2FmZXR5RW5hYmxlZChlbmFibGVkKTsNCi19DQotDQotdm9pZCBSb2JvdERyaXZlOjpHZXREZXNjcmlwdGlvbihjaGFyICpkZXNjKQ0KLXsNCi0Jc3ByaW50ZihkZXNjLCAiUm9ib3REcml2ZSIpOw0KLX0NCi0NCi12b2lkIFJvYm90RHJpdmU6OlN0b3BNb3RvcigpDQotew0KLQlpZiAobV9mcm9udExlZnRNb3RvciAhPSBOVUxMKSBtX2Zyb250TGVmdE1vdG9yLT5EaXNhYmxlKCk7DQotCWlmIChtX2Zyb250UmlnaHRNb3RvciAhPSBOVUxMKSBtX2Zyb250UmlnaHRNb3Rvci0+RGlzYWJsZSgpOw0KLQlpZiAobV9yZWFyTGVmdE1vdG9yICE9IE5VTEwpIG1fcmVhckxlZnRNb3Rvci0+RGlzYWJsZSgpOw0KLQlpZiAobV9yZWFyUmlnaHRNb3RvciAhPSBOVUxMKSBtX3JlYXJSaWdodE1vdG9yLT5EaXNhYmxlKCk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JvYm90RHJpdmUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1JvYm90RHJpdmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ5YzNlMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Sb2JvdERyaXZlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFJPQk9URFJJVkVfSF8NCi0jZGVmaW5lIFJPQk9URFJJVkVfSF8NCi0NCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotI2luY2x1ZGUgIk1vdG9yU2FmZXR5LmgiDQotI2luY2x1ZGUgIk1vdG9yU2FmZXR5SGVscGVyLmgiDQotDQotY2xhc3MgU3BlZWRDb250cm9sbGVyOw0KLWNsYXNzIEdlbmVyaWNISUQ7DQotDQotLyoqDQotICogVXRpbGl0eSBjbGFzcyBmb3IgaGFuZGxpbmcgUm9ib3QgZHJpdmUgYmFzZWQgb24gYSBkZWZpbml0aW9uIG9mIHRoZSBtb3RvciBjb25maWd1cmF0aW9uLg0KLSAqIFRoZSByb2JvdCBkcml2ZSBjbGFzcyBoYW5kbGVzIGJhc2ljIGRyaXZpbmcgZm9yIGEgcm9ib3QuIEN1cnJlbnRseSwgMiBhbmQgNCBtb3RvciBzdGFuZGFyZA0KLSAqIGRyaXZlIHRyYWlucyBhcmUgc3VwcG9ydGVkLiBJbiB0aGUgZnV0dXJlIG90aGVyIGRyaXZlIHR5cGVzIGxpa2Ugc3dlcnZlIGFuZCBtZWNjYW51bSBtaWdodA0KLSAqIGJlIGltcGxlbWVudGVkLiBNb3RvciBjaGFubmVsIG51bWJlcnMgYXJlIHBhc3NlZCBzdXBwbGllZCBvbiBjcmVhdGlvbiBvZiB0aGUgY2xhc3MuIFRob3NlIGFyZQ0KLSAqIHVzZWQgZm9yIGVpdGhlciB0aGUgRHJpdmUgZnVuY3Rpb24gKGludGVuZGVkIGZvciBoYW5kIGNyZWF0ZWQgZHJpdmUgY29kZSwgc3VjaCBhcyBhdXRvbm9tb3VzKQ0KLSAqIG9yIHdpdGggdGhlIFRhbmsvQXJjYWRlIGZ1bmN0aW9ucyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvciBPcGVyYXRvciBDb250cm9sIGRyaXZpbmcuDQotICovDQotY2xhc3MgUm9ib3REcml2ZTogcHVibGljIE1vdG9yU2FmZXR5LCBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JdHlwZWRlZiBlbnVtDQotCXsNCi0JCWtGcm9udExlZnRNb3RvciA9IDAsDQotCQlrRnJvbnRSaWdodE1vdG9yID0gMSwNCi0JCWtSZWFyTGVmdE1vdG9yID0gMiwNCi0JCWtSZWFyUmlnaHRNb3RvciA9IDMNCi0JfSBNb3RvclR5cGU7DQotDQotCVJvYm90RHJpdmUoVUlOVDMyIGxlZnRNb3RvckNoYW5uZWwsIFVJTlQzMiByaWdodE1vdG9yQ2hhbm5lbCk7DQotCVJvYm90RHJpdmUoVUlOVDMyIGZyb250TGVmdE1vdG9yQ2hhbm5lbCwgVUlOVDMyIHJlYXJMZWZ0TW90b3JDaGFubmVsLA0KLQkJCQlVSU5UMzIgZnJvbnRSaWdodE1vdG9yQ2hhbm5lbCwgVUlOVDMyIHJlYXJSaWdodE1vdG9yQ2hhbm5lbCk7DQotCVJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICpsZWZ0TW90b3IsIFNwZWVkQ29udHJvbGxlciAqcmlnaHRNb3Rvcik7DQotCVJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICZsZWZ0TW90b3IsIFNwZWVkQ29udHJvbGxlciAmcmlnaHRNb3Rvcik7DQotCVJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICpmcm9udExlZnRNb3RvciwgU3BlZWRDb250cm9sbGVyICpyZWFyTGVmdE1vdG9yLA0KLQkJCQlTcGVlZENvbnRyb2xsZXIgKmZyb250UmlnaHRNb3RvciwgU3BlZWRDb250cm9sbGVyICpyZWFyUmlnaHRNb3Rvcik7DQotCVJvYm90RHJpdmUoU3BlZWRDb250cm9sbGVyICZmcm9udExlZnRNb3RvciwgU3BlZWRDb250cm9sbGVyICZyZWFyTGVmdE1vdG9yLA0KLQkJCQlTcGVlZENvbnRyb2xsZXIgJmZyb250UmlnaHRNb3RvciwgU3BlZWRDb250cm9sbGVyICZyZWFyUmlnaHRNb3Rvcik7DQotCXZpcnR1YWwgflJvYm90RHJpdmUoKTsNCi0NCi0Jdm9pZCBEcml2ZShmbG9hdCBvdXRwdXRNYWduaXR1ZGUsIGZsb2F0IGN1cnZlKTsNCi0Jdm9pZCBUYW5rRHJpdmUoR2VuZXJpY0hJRCAqbGVmdFN0aWNrLCBHZW5lcmljSElEICpyaWdodFN0aWNrLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBUYW5rRHJpdmUoR2VuZXJpY0hJRCAmbGVmdFN0aWNrLCBHZW5lcmljSElEICZyaWdodFN0aWNrLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBUYW5rRHJpdmUoR2VuZXJpY0hJRCAqbGVmdFN0aWNrLCBVSU5UMzIgbGVmdEF4aXMsIEdlbmVyaWNISUQgKnJpZ2h0U3RpY2ssIFVJTlQzMiByaWdodEF4aXMsIGJvb2wgc3F1YXJlZElucHV0cyA9IHRydWUpOw0KLQl2b2lkIFRhbmtEcml2ZShHZW5lcmljSElEICZsZWZ0U3RpY2ssIFVJTlQzMiBsZWZ0QXhpcywgR2VuZXJpY0hJRCAmcmlnaHRTdGljaywgVUlOVDMyIHJpZ2h0QXhpcywgYm9vbCBzcXVhcmVkSW5wdXRzID0gdHJ1ZSk7DQotCXZvaWQgVGFua0RyaXZlKGZsb2F0IGxlZnRWYWx1ZSwgZmxvYXQgcmlnaHRWYWx1ZSwgYm9vbCBzcXVhcmVkSW5wdXRzID0gdHJ1ZSk7DQotCXZvaWQgQXJjYWRlRHJpdmUoR2VuZXJpY0hJRCAqc3RpY2ssIGJvb2wgc3F1YXJlZElucHV0cyA9IHRydWUpOw0KLQl2b2lkIEFyY2FkZURyaXZlKEdlbmVyaWNISUQgJnN0aWNrLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBBcmNhZGVEcml2ZShHZW5lcmljSElEICptb3ZlU3RpY2ssIFVJTlQzMiBtb3ZlQ2hhbm5lbCwgR2VuZXJpY0hJRCAqcm90YXRlU3RpY2ssIFVJTlQzMiByb3RhdGVDaGFubmVsLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBBcmNhZGVEcml2ZShHZW5lcmljSElEICZtb3ZlU3RpY2ssIFVJTlQzMiBtb3ZlQ2hhbm5lbCwgR2VuZXJpY0hJRCAmcm90YXRlU3RpY2ssIFVJTlQzMiByb3RhdGVDaGFubmVsLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBBcmNhZGVEcml2ZShmbG9hdCBtb3ZlVmFsdWUsIGZsb2F0IHJvdGF0ZVZhbHVlLCBib29sIHNxdWFyZWRJbnB1dHMgPSB0cnVlKTsNCi0Jdm9pZCBNZWNhbnVtRHJpdmVfQ2FydGVzaWFuKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHJvdGF0aW9uLCBmbG9hdCBneXJvQW5nbGUgPSAwLjApOw0KLQl2b2lkIE1lY2FudW1Ecml2ZV9Qb2xhcihmbG9hdCBtYWduaXR1ZGUsIGZsb2F0IGRpcmVjdGlvbiwgZmxvYXQgcm90YXRpb24pOw0KLQl2b2lkIEhvbG9ub21pY0RyaXZlKGZsb2F0IG1hZ25pdHVkZSwgZmxvYXQgZGlyZWN0aW9uLCBmbG9hdCByb3RhdGlvbik7DQotCXZpcnR1YWwgdm9pZCBTZXRMZWZ0UmlnaHRNb3Rvck91dHB1dHMoZmxvYXQgbGVmdE91dHB1dCwgZmxvYXQgcmlnaHRPdXRwdXQpOw0KLQl2b2lkIFNldEludmVydGVkTW90b3IoTW90b3JUeXBlIG1vdG9yLCBib29sIGlzSW52ZXJ0ZWQpOw0KLQl2b2lkIFNldFNlbnNpdGl2aXR5KGZsb2F0IHNlbnNpdGl2aXR5KTsNCi0Jdm9pZCBTZXRNYXhPdXRwdXQoZG91YmxlIG1heE91dHB1dCk7DQotDQotCXZvaWQgU2V0RXhwaXJhdGlvbihmbG9hdCB0aW1lb3V0KTsNCi0JZmxvYXQgR2V0RXhwaXJhdGlvbigpOw0KLQlib29sIElzQWxpdmUoKTsNCi0Jdm9pZCBTdG9wTW90b3IoKTsNCi0JYm9vbCBJc1NhZmV0eUVuYWJsZWQoKTsNCi0Jdm9pZCBTZXRTYWZldHlFbmFibGVkKGJvb2wgZW5hYmxlZCk7DQotCXZvaWQgR2V0RGVzY3JpcHRpb24oY2hhciAqZGVzYyk7DQotDQotcHJvdGVjdGVkOg0KLQl2b2lkIEluaXRSb2JvdERyaXZlKCk7DQotCWZsb2F0IExpbWl0KGZsb2F0IG51bSk7DQotCXZvaWQgTm9ybWFsaXplKGRvdWJsZSAqd2hlZWxTcGVlZHMpOw0KLQl2b2lkIFJvdGF0ZVZlY3Rvcihkb3VibGUgJngsIGRvdWJsZSAmeSwgZG91YmxlIGFuZ2xlKTsNCi0NCi0Jc3RhdGljIGNvbnN0IElOVDMyIGtNYXhOdW1iZXJPZk1vdG9ycyA9IDQ7DQotDQotCUlOVDMyIG1faW52ZXJ0ZWRNb3RvcnNba01heE51bWJlck9mTW90b3JzXTsNCi0JZmxvYXQgbV9zZW5zaXRpdml0eTsNCi0JZG91YmxlIG1fbWF4T3V0cHV0Ow0KLQlib29sIG1fZGVsZXRlU3BlZWRDb250cm9sbGVyczsNCi0JU3BlZWRDb250cm9sbGVyICptX2Zyb250TGVmdE1vdG9yOw0KLQlTcGVlZENvbnRyb2xsZXIgKm1fZnJvbnRSaWdodE1vdG9yOw0KLQlTcGVlZENvbnRyb2xsZXIgKm1fcmVhckxlZnRNb3RvcjsNCi0JU3BlZWRDb250cm9sbGVyICptX3JlYXJSaWdodE1vdG9yOw0KLQlNb3RvclNhZmV0eUhlbHBlciAqbV9zYWZldHlIZWxwZXI7DQotCQ0KLXByaXZhdGU6DQotCUlOVDMyIEdldE51bU1vdG9ycygpDQotCXsNCi0JCWludCBtb3RvcnMgPSAwOw0KLQkJaWYgKG1fZnJvbnRMZWZ0TW90b3IpIG1vdG9ycysrOw0KLQkJaWYgKG1fZnJvbnRSaWdodE1vdG9yKSBtb3RvcnMrKzsNCi0JCWlmIChtX3JlYXJMZWZ0TW90b3IpIG1vdG9ycysrOw0KLQkJaWYgKG1fcmVhclJpZ2h0TW90b3IpIG1vdG9ycysrOw0KLQkJcmV0dXJuIG1vdG9yczsNCi0JfQ0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oUm9ib3REcml2ZSk7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TUEkuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU1BJLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIyYzA3ZGMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU1BJLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUyOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJTUEkuaCINCi0NCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC90U1BJLmgiDQotI2luY2x1ZGUgIkRpZ2l0YWxJbnB1dC5oIg0KLSNpbmNsdWRlICJEaWdpdGFsT3V0cHV0LmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0jaW5jbHVkZSA8bWF0aC5oPg0KLSNpbmNsdWRlIDx1c3JMaWIuaD4NCi0NCi1TRU1fSUQgU1BJOjptX3NlbWFwaG9yZSA9IE5VTEw7DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGlucHV0IGFuZCBvdXRwdXQuDQotICoNCi0gKiBAcGFyYW0gY2xrCVRoZSBkaWdpdGFsIG91dHB1dCBmb3IgdGhlIGNsb2NrIHNpZ25hbC4NCi0gKiBAcGFyYW0gbW9zaQlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSB3cml0dGVuIGRhdGEgdG8gdGhlIHNsYXZlDQotICoJCQkJKG1hc3Rlci1vdXQgc2xhdmUtaW4pLg0KLSAqIEBwYXJhbSBtaXNvCVRoZSBkaWdpdGFsIGlucHV0IGZvciB0aGUgaW5wdXQgZGF0YSBmcm9tIHRoZSBzbGF2ZQ0KLSAqCQkJCShtYXN0ZXItaW4gc2xhdmUtb3V0KS4NCi0gKi8NCi1TUEk6OlNQSShEaWdpdGFsT3V0cHV0ICZjbGssIERpZ2l0YWxPdXRwdXQgJm1vc2ksIERpZ2l0YWxJbnB1dCAmbWlzbykNCi17DQotCUluaXQoJmNsaywgJm1vc2ksICZtaXNvKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGlucHV0IGFuZCBvdXRwdXQuDQotICoNCi0gKiBAcGFyYW0gY2xrCVRoZSBkaWdpdGFsIG91dHB1dCBmb3IgdGhlIGNsb2NrIHNpZ25hbC4NCi0gKiBAcGFyYW0gbW9zaQlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSB3cml0dGVuIGRhdGEgdG8gdGhlIHNsYXZlDQotICoJCQkJKG1hc3Rlci1vdXQgc2xhdmUtaW4pLg0KLSAqIEBwYXJhbSBtaXNvCVRoZSBkaWdpdGFsIGlucHV0IGZvciB0aGUgaW5wdXQgZGF0YSBmcm9tIHRoZSBzbGF2ZQ0KLSAqCQkJCShtYXN0ZXItaW4gc2xhdmUtb3V0KS4NCi0gKi8NCi1TUEk6OlNQSShEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2ksIERpZ2l0YWxJbnB1dCAqbWlzbykNCi17DQotCUluaXQoY2xrLCBtb3NpLCBtaXNvKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIG91dHB1dCBvbmx5Lg0KLSAqDQotICogQHBhcmFtIGNsawlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSBjbG9jayBzaWduYWwuDQotICogQHBhcmFtIG1vc2kJVGhlIGRpZ2l0YWwgb3V0cHV0IGZvciB0aGUgd3JpdHRlbiBkYXRhIHRvIHRoZSBzbGF2ZQ0KLSAqCQkJCShtYXN0ZXItb3V0IHNsYXZlLWluKS4NCi0gKi8NCi1TUEk6OlNQSShEaWdpdGFsT3V0cHV0ICZjbGssIERpZ2l0YWxPdXRwdXQgJm1vc2kpDQotew0KLQlJbml0KCZjbGssICZtb3NpLCBOVUxMKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIG91dHB1dCBvbmx5Lg0KLSAqDQotICogQHBhcmFtIGNsawlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSBjbG9jayBzaWduYWwuDQotICogQHBhcmFtIG1vc2kJVGhlIGRpZ2l0YWwgb3V0cHV0IGZvciB0aGUgd3JpdHRlbiBkYXRhIHRvIHRoZSBzbGF2ZQ0KLSAqCQkJCShtYXN0ZXItb3V0IHNsYXZlLWluKS4NCi0gKi8NCi1TUEk6OlNQSShEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2kpDQotew0KLQlJbml0KGNsaywgbW9zaSwgTlVMTCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yIGZvciBpbnB1dCBvbmx5Lg0KLSAqDQotICogQHBhcmFtIGNsawlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSBjbG9jayBzaWduYWwuDQotICogQHBhcmFtIG1pc28JVGhlIGRpZ2l0YWwgaW5wdXQgZm9yIHRoZSBpbnB1dCBkYXRhIGZyb20gdGhlIHNsYXZlDQotICoJCQkJKG1hc3Rlci1pbiBzbGF2ZS1vdXQpLg0KLSAqLw0KLVNQSTo6U1BJKERpZ2l0YWxPdXRwdXQgJmNsaywgRGlnaXRhbElucHV0ICZtaXNvKQ0KLXsNCi0JSW5pdCgmY2xrLCBOVUxMLCAmbWlzbyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yIGZvciBpbnB1dCBvbmx5Lg0KLSAqDQotICogQHBhcmFtIGNsawlUaGUgZGlnaXRhbCBvdXRwdXQgZm9yIHRoZSBjbG9jayBzaWduYWwuDQotICogQHBhcmFtIG1pc28JVGhlIGRpZ2l0YWwgaW5wdXQgZm9yIHRoZSBpbnB1dCBkYXRhIGZyb20gdGhlIHNsYXZlDQotICoJCQkJKG1hc3Rlci1pbiBzbGF2ZS1vdXQpLg0KLSAqLw0KLVNQSTo6U1BJKERpZ2l0YWxPdXRwdXQgKmNsaywgRGlnaXRhbElucHV0ICptaXNvKQ0KLXsNCi0JSW5pdChjbGssIE5VTEwsIG1pc28pOw0KLX0NCi0NCi0vKioNCi0gKiBEZXN0cnVjdG9yLg0KLSAqLw0KLVNQSTo6flNQSSgpDQotew0KLQlkZWxldGUgbV9zcGk7DQotfQ0KLQ0KLS8qKg0KLSAqIEluaXRpYWxpemUgU1BJIGNoYW5uZWwgY29uZmlndXJhdGlvbi4NCi0gKg0KLSAqIEBwYXJhbSBjbGsJVGhlIGRpZ2l0YWwgb3V0cHV0IGZvciB0aGUgY2xvY2sgc2lnbmFsLg0KLSAqIEBwYXJhbSBtb3NpCVRoZSBkaWdpdGFsIG91dHB1dCBmb3IgdGhlIHdyaXR0ZW4gZGF0YSB0byB0aGUgc2xhdmUNCi0gKgkJCQkobWFzdGVyLW91dCBzbGF2ZS1pbikuDQotICogQHBhcmFtIG1pc28JVGhlIGRpZ2l0YWwgaW5wdXQgZm9yIHRoZSBpbnB1dCBkYXRhIGZyb20gdGhlIHNsYXZlDQotICoJCQkJKG1hc3Rlci1pbiBzbGF2ZS1vdXQpLg0KLSAqLw0KLXZvaWQgU1BJOjpJbml0KERpZ2l0YWxPdXRwdXQgKmNsaywgRGlnaXRhbE91dHB1dCAqbW9zaSwgRGlnaXRhbElucHV0ICptaXNvKQ0KLXsNCi0JaWYgKG1fc2VtYXBob3JlID09IE5VTEwpDQotCXsNCi0JCW1fc2VtYXBob3JlID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9ERUxFVEVfU0FGRSB8IFNFTV9JTlZFUlNJT05fU0FGRSk7DQotCX0NCi0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fc3BpID0gdFNQSTo6Y3JlYXRlKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotDQotCW1fY29uZmlnLkJ1c0JpdFdpZHRoID0gODsNCi0JbV9jb25maWcuQ2xvY2tIYWxmUGVyaW9kRGVsYXkgPSAwOw0KLQltX2NvbmZpZy5NU0JmaXJzdCA9IDA7DQotCW1fY29uZmlnLkRhdGFPbkZhbGxpbmcgPSAwOw0KLQltX2NvbmZpZy5MYXRjaEZpcnN0ID0gMDsNCi0JbV9jb25maWcuTGF0Y2hMYXN0ID0gMDsNCi0JbV9jb25maWcuRnJhbWVQb2xhcml0eSA9IDA7DQotCW1fY29uZmlnLldyaXRlT25seSA9IG1pc28gPyAwIDogMTsNCi0JbV9jb25maWcuQ2xvY2tQb2xhcml0eSA9IDA7DQotDQotCW1fY2hhbm5lbHMuU0NMS19DaGFubmVsID0gY2xrLT5HZXRDaGFubmVsRm9yUm91dGluZygpOw0KLQltX2NoYW5uZWxzLlNDTEtfTW9kdWxlID0gY2xrLT5HZXRNb2R1bGVGb3JSb3V0aW5nKCk7DQotCW1fY2hhbm5lbHMuU1NfQ2hhbm5lbCA9IDA7DQotCW1fY2hhbm5lbHMuU1NfTW9kdWxlID0gMDsNCi0NCi0JaWYgKG1vc2kpDQotCXsNCi0JCW1fY2hhbm5lbHMuTU9TSV9DaGFubmVsID0gbW9zaS0+R2V0Q2hhbm5lbEZvclJvdXRpbmcoKTsNCi0JCW1fY2hhbm5lbHMuTU9TSV9Nb2R1bGUgPSBtb3NpLT5HZXRNb2R1bGVGb3JSb3V0aW5nKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQltX2NoYW5uZWxzLk1PU0lfQ2hhbm5lbCA9IDA7DQotCQltX2NoYW5uZWxzLk1PU0lfTW9kdWxlID0gMDsNCi0JfQ0KLQ0KLQlpZiAobWlzbykNCi0Jew0KLQkJbV9jaGFubmVscy5NSVNPX0NoYW5uZWwgPSBtaXNvLT5HZXRDaGFubmVsRm9yUm91dGluZygpOw0KLQkJbV9jaGFubmVscy5NSVNPX01vZHVsZSA9IG1pc28tPkdldE1vZHVsZUZvclJvdXRpbmcoKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCW1fY2hhbm5lbHMuTUlTT19DaGFubmVsID0gMDsNCi0JCW1fY2hhbm5lbHMuTUlTT19Nb2R1bGUgPSAwOw0KLQl9DQotDQotCW1fc3MgPSBOVUxMOw0KLQ0KLQlzdGF0aWMgSU5UMzIgaW5zdGFuY2VzID0gMDsNCi0JaW5zdGFuY2VzKys7DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9TUEksIGluc3RhbmNlcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIGJpdHMgZnJvbSBlYWNoIHdvcmQgdGhhdCB0aGUgc2xhdmUgdHJhbnNtaXRzDQotICogb3IgcmVjZWl2ZXMuDQotICoNCi0gKiBAcGFyYW0gYml0cwlUaGUgbnVtYmVyIG9mIGJpdHMgaW4gb25lIGZyYW1lICgxIHRvIDMyIGJpdHMpLg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRCaXRzUGVyV29yZChVSU5UMzIgYml0cykNCi17DQotCW1fY29uZmlnLkJ1c0JpdFdpZHRoID0gYml0czsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2YgYml0cyBmcm9tIGVhY2ggd29yZCB0aGF0IHRoZSBzbGF2ZSB0cmFuc21pdHMNCi0gKiBvciByZWNlaXZlcy4NCi0gKg0KLSAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBiaXRzIGluIG9uZSBmcmFtZSAoMSB0byAzMiBiaXRzKS4NCi0gKi8NCi1VSU5UMzIgU1BJOjpHZXRCaXRzUGVyV29yZCgpDQotew0KLQlyZXR1cm4gbV9jb25maWcuQnVzQml0V2lkdGg7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGUgcmF0ZSBvZiB0aGUgZ2VuZXJhdGVkIGNsb2NrIHNpZ25hbC4NCi0gKiBUaGUgZGVmYXVsdCBhbmQgbWF4aW11bSB2YWx1ZSBpcyA3Niw2MjguNCBIei4NCi0gKg0KLSAqIEBwYXJhbSBoeglUaGUgY2xvY2sgcmF0ZSBpbiBIZXJ0ei4NCi0gKi8NCi12b2lkIFNQSTo6U2V0Q2xvY2tSYXRlKGRvdWJsZSBoeikNCi17DQotCWludCBkZWxheSA9IDA7DQotCS8vIFRPRE86IGNvbXB1dGUgdGhlIGFwcHJvcHJpYXRlIHZhbHVlcyBiYXNlZCBvbiBkaWdpdGFsIGxvb3AgdGltaW5nDQotCWlmIChoeiA8PSA3NjYyOC40KQ0KLQl7DQotCQlkb3VibGUgdiA9ICgxLjAvaHopLzEuMzA1ZS01Ow0KLQkJaW50IGludHYgPSAoaW50KXY7DQotCQlpZiAodi1pbnR2ID4gMC41KQ0KLQkJCWRlbGF5ID0gaW50djsNCi0JCWVsc2UNCi0JCQlkZWxheSA9IGludHYtMTsNCi0JfQ0KLQlpZiAoZGVsYXkgPiAyNTUpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihTUElDbG9ja1JhdGVUb29Mb3cpOw0KLQkJZGVsYXkgPSAyNTU7DQotCX0NCi0JbV9jb25maWcuQ2xvY2tIYWxmUGVyaW9kRGVsYXkgPSBkZWxheTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBvcmRlciB0aGF0IGJpdHMgYXJlIHNlbnQgYW5kIHJlY2VpdmVkIG9uIHRoZSB3aXJlDQotICogdG8gYmUgbW9zdCBzaWduaWZpY2FudCBiaXQgZmlyc3QuDQotICovDQotdm9pZCBTUEk6OlNldE1TQkZpcnN0KCkNCi17DQotCW1fY29uZmlnLk1TQmZpcnN0ID0gMTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBvcmRlciB0aGF0IGJpdHMgYXJlIHNlbnQgYW5kIHJlY2VpdmVkIG9uIHRoZSB3aXJlDQotICogdG8gYmUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0IGZpcnN0Lg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRMU0JGaXJzdCgpDQotew0KLQltX2NvbmZpZy5NU0JmaXJzdCA9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbmZpZ3VyZSB0aGF0IHRoZSBkYXRhIGlzIHN0YWJsZSBvbiB0aGUgZmFsbGluZyBlZGdlIGFuZCB0aGUgZGF0YQ0KLSAqIGNoYW5nZXMgb24gdGhlIHJpc2luZyBlZGdlLg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRTYW1wbGVEYXRhT25GYWxsaW5nKCkNCi17DQotCW1fY29uZmlnLkRhdGFPbkZhbGxpbmcgPSAxOw0KLX0NCi0NCi0vKioNCi0gKiBDb25maWd1cmUgdGhhdCB0aGUgZGF0YSBpcyBzdGFibGUgb24gdGhlIHJpc2luZyBlZGdlIGFuZCB0aGUgZGF0YQ0KLSAqIGNoYW5nZXMgb24gdGhlIGZhbGxpbmcgZWRnZS4NCi0gKi8NCi12b2lkIFNQSTo6U2V0U2FtcGxlRGF0YU9uUmlzaW5nKCkNCi17DQotCW1fY29uZmlnLkRhdGFPbkZhbGxpbmcgPSAwOw0KLX0NCi0NCi0vKioNCi0gKiBDb25maWd1cmUgdGhlIHNsYXZlIHNlbGVjdCBsaW5lIGJlaGF2aW9yLg0KLSAqDQotICogQHBhcmFtIHNzIHNsYXZlIHNlbGVjdCBkaWdpdGFsIG91dHB1dC4NCi0gKiBAcGFyYW0gbW9kZSBGcmFtZSBtb2RlOg0KLSAqCQkJICAga0NoaXBTZWxlY3Q6IGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBmcmFtZS4NCi0gKgkJCSAgIGtQcmVMYXRjaFB1bHNlOiBwdWxzZXMgYmVmb3JlIHRoZSB0cmFuc2ZlciBvZiBlYWNoIGZyYW1lLg0KLSAqCQkJICAga1Bvc3RMYXRjaFB1bHNlOiBwdWxzZXMgYWZ0ZXIgdGhlIHRyYW5zZmVyIG9mIGVhY2ggZnJhbWUuDQotICoJCQkgICBrUHJlQW5kUG9zdExhdGNoUHVsc2U6IHB1bHNlcyBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggZnJhbWUuDQotICogQHBhcmFtIGFjdGl2ZUxvdyBUcnVlIGlmIHNsYXZlIHNlbGVjdCBsaW5lIGlzIGFjdGl2ZSBsb3cuDQotICovDQotdm9pZCBTUEk6OlNldFNsYXZlU2VsZWN0KERpZ2l0YWxPdXRwdXQgKnNzLCB0RnJhbWVNb2RlIG1vZGUsIGJvb2wgYWN0aXZlTG93KQ0KLXsNCi0JaWYgKHNzKQ0KLQl7DQotCQltX2NoYW5uZWxzLlNTX0NoYW5uZWwgPSBzcy0+R2V0Q2hhbm5lbEZvclJvdXRpbmcoKTsNCi0JCW1fY2hhbm5lbHMuU1NfTW9kdWxlID0gc3MtPkdldE1vZHVsZUZvclJvdXRpbmcoKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCW1fY2hhbm5lbHMuU1NfQ2hhbm5lbCA9IDA7DQotCQltX2NoYW5uZWxzLlNTX01vZHVsZSA9IDA7DQotCX0NCi0JbV9zcyA9IHNzOw0KLQ0KLQlzd2l0Y2ggKG1vZGUpDQotCXsNCi0JCWNhc2Uga0NoaXBTZWxlY3Q6DQotCQkJbV9jb25maWcuTGF0Y2hGaXJzdCA9IDA7DQotCQkJbV9jb25maWcuTGF0Y2hMYXN0ID0gMDsNCi0JCQlicmVhazsNCi0JCWNhc2Uga1ByZUxhdGNoUHVsc2U6DQotCQkJbV9jb25maWcuTGF0Y2hGaXJzdCA9IDE7DQotCQkJbV9jb25maWcuTGF0Y2hMYXN0ID0gMDsNCi0JCQlicmVhazsNCi0JCWNhc2Uga1Bvc3RMYXRjaFB1bHNlOg0KLQkJCW1fY29uZmlnLkxhdGNoRmlyc3QgPSAwOw0KLQkJCW1fY29uZmlnLkxhdGNoTGFzdCA9IDE7DQotCQkJYnJlYWs7DQotCQljYXNlIGtQcmVBbmRQb3N0TGF0Y2hQdWxzZToNCi0JCQltX2NvbmZpZy5MYXRjaEZpcnN0ID0gMTsNCi0JCQltX2NvbmZpZy5MYXRjaExhc3QgPSAxOw0KLQkJCWJyZWFrOw0KLQl9DQotDQotCW1fY29uZmlnLkZyYW1lUG9sYXJpdHkgPSBhY3RpdmVMb3cgPyAxIDogMDsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBzbGF2ZSBzZWxlY3QgbGluZSBiZWhhdmlvci4NCi0gKg0KLSAqIEBwYXJhbSBzcyBzbGF2ZSBzZWxlY3QgZGlnaXRhbCBvdXRwdXQuDQotICogQHBhcmFtIG1vZGUgRnJhbWUgbW9kZToNCi0gKgkJCSAgIGtDaGlwU2VsZWN0OiBhY3RpdmUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgZnJhbWUuDQotICoJCQkgICBrUHJlTGF0Y2hQdWxzZTogcHVsc2VzIGJlZm9yZSB0aGUgdHJhbnNmZXIgb2YgZWFjaCBmcmFtZS4NCi0gKgkJCSAgIGtQb3N0TGF0Y2hQdWxzZTogcHVsc2VzIGFmdGVyIHRoZSB0cmFuc2ZlciBvZiBlYWNoIGZyYW1lLg0KLSAqCQkJICAga1ByZUFuZFBvc3RMYXRjaFB1bHNlOiBwdWxzZXMgYmVmb3JlIGFuZCBhZnRlciBlYWNoIGZyYW1lLg0KLSAqIEBwYXJhbSBhY3RpdmVMb3cgVHJ1ZSBpZiBzbGF2ZSBzZWxlY3QgbGluZSBpcyBhY3RpdmUgbG93Lg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRTbGF2ZVNlbGVjdChEaWdpdGFsT3V0cHV0ICZzcywgdEZyYW1lTW9kZSBtb2RlLCBib29sIGFjdGl2ZUxvdykNCi17DQotCVNldFNsYXZlU2VsZWN0KCZzcywgbW9kZSwgYWN0aXZlTG93KTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBzbGF2ZSBzZWxlY3QgbGluZSBiZWhhdmlvci4NCi0gKg0KLSAqIEBwYXJhbSBtb2RlIEZyYW1lIG1vZGU6DQotICoJCQkgICBrQ2hpcFNlbGVjdDogYWN0aXZlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGZyYW1lLg0KLSAqCQkJICAga1ByZUxhdGNoUHVsc2U6IHB1bHNlcyBiZWZvcmUgdGhlIHRyYW5zZmVyIG9mIGVhY2ggZnJhbWUuDQotICoJCQkgICBrUG9zdExhdGNoUHVsc2U6IHB1bHNlcyBhZnRlciB0aGUgdHJhbnNmZXIgb2YgZWFjaCBmcmFtZS4NCi0gKgkJCSAgIGtQcmVBbmRQb3N0TGF0Y2hQdWxzZTogcHVsc2VzIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBmcmFtZS4NCi0gKiBAcGFyYW0gYWN0aXZlTG93IFRydWUgaWYgc2xhdmUgc2VsZWN0IGxpbmUgaXMgYWN0aXZlIGxvdy4NCi0gKiBAcmV0dXJuIFRoZSBzbGF2ZSBzZWxlY3QgZGlnaXRhbCBvdXRwdXQuDQotICovDQotRGlnaXRhbE91dHB1dCAqU1BJOjpHZXRTbGF2ZVNlbGVjdCh0RnJhbWVNb2RlICptb2RlLCBib29sICphY3RpdmVMb3cpDQotew0KLQlpZiAobW9kZSAhPSBOVUxMKQ0KLQl7DQotCQkqbW9kZSA9ICh0RnJhbWVNb2RlKSAobV9jb25maWcuTGF0Y2hGaXJzdCB8IChtX2NvbmZpZy5MYXRjaExhc3QgPDwgMSkpOw0KLQl9DQotCWlmIChhY3RpdmVMb3cgIT0gTlVMTCkNCi0Jew0KLQkJKmFjdGl2ZUxvdyA9IG1fY29uZmlnLkZyYW1lUG9sYXJpdHkgIT0gMDsNCi0JfQ0KLQlyZXR1cm4gbV9zczsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBjbG9jayBvdXRwdXQgbGluZSB0byBiZSBhY3RpdmUgbG93Lg0KLSAqIFRoaXMgaXMgc29tZXRpbWVzIGNhbGxlZCBjbG9jayBwb2xhcml0eSBoaWdoLg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRDbG9ja0FjdGl2ZUxvdygpDQotew0KLQltX2NvbmZpZy5DbG9ja1BvbGFyaXR5ID0gMTsNCi19DQotDQotLyoqDQotICogQ29uZmlndXJlIHRoZSBjbG9jayBvdXRwdXQgbGluZSB0byBiZSBhY3RpdmUgaGlnaC4NCi0gKiBUaGlzIGlzIHNvbWV0aW1lcyBjYWxsZWQgY2xvY2sgcG9sYXJpdHkgbG93Lg0KLSAqLw0KLXZvaWQgU1BJOjpTZXRDbG9ja0FjdGl2ZUhpZ2goKQ0KLXsNCi0JbV9jb25maWcuQ2xvY2tQb2xhcml0eSA9IDA7DQotfQ0KLQ0KLS8qKg0KLSAqIEFwcGx5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgYW5kIHJlc2V0IHRoZSBTUEkgbG9naWMuDQotICovDQotdm9pZCBTUEk6OkFwcGx5Q29uZmlnKCkNCi17DQotCVN5bmNocm9uaXplZCBzeW5jKG1fc2VtYXBob3JlKTsNCi0NCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fc3BpLT53cml0ZUNvbmZpZyhtX2NvbmZpZywgJmxvY2FsU3RhdHVzKTsNCi0JbV9zcGktPndyaXRlQ2hhbm5lbHMobV9jaGFubmVscywgJmxvY2FsU3RhdHVzKTsNCi0JbV9zcGktPnN0cm9iZVJlc2V0KCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgbnVtYmVyIG9mIHdvcmRzIHRoYXQgY2FuIGN1cnJlbnRseSBiZSBzdG9yZWQgYmVmb3JlIGJlaW5nDQotICogdHJhbnNtaXR0ZWQgdG8gdGhlIGRldmljZS4NCi0gKg0KLSAqIEByZXR1cm4gVGhlIG51bWJlciBvZiB3b3JkcyBhdmFpbGFibGUgdG8gYmUgd3JpdHRlbi4NCi0gKi8NCi1VSU5UMTYgU1BJOjpHZXRPdXRwdXRGSUZPQXZhaWxhYmxlKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMTYgcmVzdWx0ID0gbV9zcGktPnJlYWRBdmFpbGFibGVUb0xvYWQoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBudW1iZXIgb2Ygd29yZHMgcmVjZWl2ZWQgYW5kIGN1cnJlbnRseSBhdmFpbGFibGUgdG8gYmUgcmVhZCBmcm9tDQotICogdGhlIHJlY2VpdmUgRklGTy4NCi0gKg0KLSAqIEByZXR1cm4gVGhlIG51bWJlciBvZiB3b3JkcyBhdmFpbGFibGUgdG8gcmVhZC4NCi0gKi8NCi1VSU5UMTYgU1BJOjpHZXROdW1SZWNlaXZlZCgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JVUlOVDE2IHJlc3VsdCA9IG1fc3BpLT5yZWFkUmVjZWl2ZWRFbGVtZW50cygmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiBIYXZlIGFsbCBwZW5kaW5nIHRyYW5zZmVycyBjb21wbGV0ZWQ/DQotICoNCi0gKiBAcmV0dXJuIFRydWUgaWYgbm8gdHJhbnNmZXJzIGFyZSBwZW5kaW5nLg0KLSAqLw0KLWJvb2wgU1BJOjpJc0RvbmUoKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWJvb2wgcmVzdWx0ID0gbV9zcGktPnJlYWRTdGF0dXNfSWRsZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiBEZXRlcm1pbmUgaWYgdGhlIHJlY2VpdmUgRklGTyB3YXMgZnVsbCB3aGVuIGF0dGVtcHRpbmcgdG8gYWRkIG5ldyBkYXRhIGF0DQotICogZW5kIG9mIGEgdHJhbnNmZXIuDQotICoNCi0gKiBAcmV0dXJuIFRydWUgaWYgdGhlIHJlY2VpdmUgRklGTyBvdmVyZmxvd2VkLg0KLSAqLw0KLWJvb2wgU1BJOjpIYWRSZWNlaXZlT3ZlcmZsb3coKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWJvb2wgcmVzdWx0ID0gbV9zcGktPnJlYWRTdGF0dXNfUmVjZWl2ZWREYXRhT3ZlcmZsb3coJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogV3JpdGUgYSB3b3JkIHRvIHRoZSBzbGF2ZSBkZXZpY2UuICBCbG9ja3MgdW50aWwgdGhlcmUgaXMgc3BhY2UgaW4gdGhlDQotICogb3V0cHV0IEZJRk8uDQotICoNCi0gKiBJZiBub3QgcnVubmluZyBpbiBvdXRwdXQgb25seSBtb2RlLCBhbHNvIHNhdmVzIHRoZSBkYXRhIHJlY2VpdmVkDQotICogb24gdGhlIE1JU08gaW5wdXQgZHVyaW5nIHRoZSB0cmFuc2ZlciBpbnRvIHRoZSByZWNlaXZlIEZJRk8uDQotICovDQotdm9pZCBTUEk6OldyaXRlKFVJTlQzMiBkYXRhKQ0KLXsNCi0JaWYgKG1fY2hhbm5lbHMuTU9TSV9DaGFubmVsID09IDAgJiYgbV9jaGFubmVscy5NT1NJX01vZHVsZSA9PSAwKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoU1BJV3JpdGVOb01PU0kpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCVN5bmNocm9uaXplZCBzeW5jKG1fc2VtYXBob3JlKTsNCi0NCi0Jd2hpbGUgKEdldE91dHB1dEZJRk9BdmFpbGFibGUoKSA9PSAwKQ0KLQkJdGFza0RlbGF5KE5PX1dBSVQpOw0KLQ0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9zcGktPndyaXRlRGF0YVRvTG9hZChkYXRhLCAmbG9jYWxTdGF0dXMpOw0KLQltX3NwaS0+c3Ryb2JlTG9hZCgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBSZWFkIGEgd29yZCBmcm9tIHRoZSByZWNlaXZlIEZJRk8uDQotICoNCi0gKiBXYWl0cyBmb3IgdGhlIGN1cnJlbnQgdHJhbnNmZXIgdG8gY29tcGxldGUgaWYgdGhlIHJlY2VpdmUgRklGTyBpcyBlbXB0eS4NCi0gKg0KLSAqIElmIHRoZSByZWNlaXZlIEZJRk8gaXMgZW1wdHksIHRoZXJlIGlzIG5vIGFjdGl2ZSB0cmFuc2ZlciwgYW5kIGluaXRpYXRlDQotICogaXMgZmFsc2UsIGVycm9ycy4NCi0gKg0KLSAqIEBwYXJhbSBpbml0aWF0ZQlJZiB0cnVlLCB0aGlzIGZ1bmN0aW9uIHB1c2hlcyAiMCIgaW50byB0aGUNCi0gKgkJCQkgICAgdHJhbnNtaXQgYnVmZmVyIGFuZCBpbml0aWF0ZXMgYSB0cmFuc2Zlci4NCi0gKgkJCQkgICAgSWYgZmFsc2UsIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGRhdGEgaXMNCi0gKgkJCQkgICAgYWxyZWFkeSBpbiB0aGUgcmVjZWl2ZSBGSUZPIGZyb20gYSBwcmV2aW91cyB3cml0ZS4NCi0gKi8NCi1VSU5UMzIgU1BJOjpSZWFkKGJvb2wgaW5pdGlhdGUpDQotew0KLQlpZiAobV9jaGFubmVscy5NSVNPX0NoYW5uZWwgPT0gMCAmJiBtX2NoYW5uZWxzLk1JU09fTW9kdWxlID09IDApDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihTUElSZWFkTm9NSVNPKTsNCi0JCXJldHVybiAwOw0KLQl9DQotDQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgZGF0YTsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV9zZW1hcGhvcmUpOw0KLQ0KLQkJaWYgKGluaXRpYXRlKQ0KLQkJew0KLQkJCW1fc3BpLT53cml0ZURhdGFUb0xvYWQoMCwgJmxvY2FsU3RhdHVzKTsNCi0JCQltX3NwaS0+c3Ryb2JlTG9hZCgmbG9jYWxTdGF0dXMpOw0KLQkJfQ0KLQ0KLQkJLy8gRG8gd2UgaGF2ZSBhbnl0aGluZyByZWFkeSB0byByZWFkPw0KLQkJaWYgKEdldE51bVJlY2VpdmVkKCkgPT0gMCkNCi0JCXsNCi0JCQlpZiAoIWluaXRpYXRlICYmIElzRG9uZSgpICYmIEdldE91dHB1dEZJRk9BdmFpbGFibGUoKSA9PSBrVHJhbnNtaXRGSUZPRGVwdGgpDQotCQkJew0KLQkJCQkvLyBOb3RoaW5nIHRvIHJlYWQ6IGVycm9yIG91dA0KLQkJCQl3cGlfc2V0V1BJRXJyb3IoU1BJUmVhZE5vRGF0YSk7DQotCQkJCXJldHVybiAwOw0KLQkJCX0NCi0NCi0JCQkvLyBXYWl0IGZvciB0aGUgdHJhbnNhY3Rpb24gdG8gY29tcGxldGUNCi0JCQl3aGlsZSAoR2V0TnVtUmVjZWl2ZWQoKSA9PSAwKQ0KLQkJCQl0YXNrRGVsYXkoTk9fV0FJVCk7DQotCQl9DQotDQotCQltX3NwaS0+c3Ryb2JlUmVhZFJlY2VpdmVkRGF0YSgmbG9jYWxTdGF0dXMpOw0KLQkJZGF0YSA9IG1fc3BpLT5yZWFkUmVjZWl2ZWREYXRhKCZsb2NhbFN0YXR1cyk7DQotCX0NCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JcmV0dXJuIGRhdGE7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0b3AgYW55IHRyYW5zZmVyIGluIHByb2dyZXNzIGFuZCBlbXB0eSB0aGUgdHJhbnNtaXQgRklGTy4NCi0gKi8NCi12b2lkIFNQSTo6UmVzZXQoKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fc3BpLT5zdHJvYmVSZXNldCgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBFbXB0eSB0aGUgcmVjZWl2ZSBGSUZPLg0KLSAqLw0KLXZvaWQgU1BJOjpDbGVhclJlY2VpdmVkRGF0YSgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9zcGktPnN0cm9iZUNsZWFyUmVjZWl2ZWREYXRhKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NQSS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU1BJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjODliYmMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU1BJLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TUElfSF9fDQotI2RlZmluZSBfX1NQSV9IX18NCi0NCi0jaW5jbHVkZSAiQ2hpcE9iamVjdC5oIg0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotDQotY2xhc3MgRGlnaXRhbE91dHB1dDsNCi1jbGFzcyBEaWdpdGFsSW5wdXQ7DQotDQotLyoqDQotICogU1BJIGJ1cyBpbnRlcmZhY2UgY2xhc3MuDQotICoNCi0gKiBUaGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgc2Vuc29yIChhbmQgb3RoZXIgU1BJIGRldmljZSkgZHJpdmVycy4NCi0gKiBJdCBwcm9iYWJseSBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuDQotICoNCi0gKiBUaGUgRlBHQSBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlIFNQSSBpbnRlcmZhY2UuDQotICovDQotY2xhc3MgU1BJIDogcHVibGljIFNlbnNvckJhc2UNCi17DQotcHVibGljOg0KLQllbnVtIHRGcmFtZU1vZGUge2tDaGlwU2VsZWN0LCBrUHJlTGF0Y2hQdWxzZSwga1Bvc3RMYXRjaFB1bHNlLCBrUHJlQW5kUG9zdExhdGNoUHVsc2V9Ow0KLQllbnVtIHRTUElDb25zdGFudHMge2tSZWNlaXZlRklGT0RlcHRoPTUxMiwga1RyYW5zbWl0RklGT0RlcHRoPTUxMn07DQotDQotCVNQSShEaWdpdGFsT3V0cHV0ICZjbGssIERpZ2l0YWxPdXRwdXQgJm1vc2ksIERpZ2l0YWxJbnB1dCAmbWlzbyk7DQotCVNQSShEaWdpdGFsT3V0cHV0ICpjbGssIERpZ2l0YWxPdXRwdXQgKm1vc2ksIERpZ2l0YWxJbnB1dCAqbWlzbyk7DQotCVNQSShEaWdpdGFsT3V0cHV0ICZjbGssIERpZ2l0YWxPdXRwdXQgJm1vc2kpOw0KLQlTUEkoRGlnaXRhbE91dHB1dCAqY2xrLCBEaWdpdGFsT3V0cHV0ICptb3NpKTsNCi0JU1BJKERpZ2l0YWxPdXRwdXQgJmNsaywgRGlnaXRhbElucHV0ICZtaXNvKTsNCi0JU1BJKERpZ2l0YWxPdXRwdXQgKmNsaywgRGlnaXRhbElucHV0ICptaXNvKTsNCi0JdmlydHVhbCB+U1BJKCk7DQotDQotCXZvaWQgU2V0Qml0c1BlcldvcmQoVUlOVDMyIGJpdHMpOw0KLQlVSU5UMzIgR2V0Qml0c1BlcldvcmQoKTsNCi0Jdm9pZCBTZXRDbG9ja1JhdGUoZG91YmxlIGh6KTsNCi0NCi0Jdm9pZCBTZXRNU0JGaXJzdCgpOw0KLQl2b2lkIFNldExTQkZpcnN0KCk7DQotDQotCXZvaWQgU2V0U2FtcGxlRGF0YU9uRmFsbGluZygpOw0KLQl2b2lkIFNldFNhbXBsZURhdGFPblJpc2luZygpOw0KLQ0KLQl2b2lkIFNldFNsYXZlU2VsZWN0KERpZ2l0YWxPdXRwdXQgKnNzLCB0RnJhbWVNb2RlIG1vZGU9a0NoaXBTZWxlY3QsIGJvb2wgYWN0aXZlTG93PWZhbHNlKTsNCi0Jdm9pZCBTZXRTbGF2ZVNlbGVjdChEaWdpdGFsT3V0cHV0ICZzcywgdEZyYW1lTW9kZSBtb2RlPWtDaGlwU2VsZWN0LCBib29sIGFjdGl2ZUxvdz1mYWxzZSk7DQotCURpZ2l0YWxPdXRwdXQgKkdldFNsYXZlU2VsZWN0KHRGcmFtZU1vZGUgKm1vZGU9TlVMTCwgYm9vbCAqYWN0aXZlTG93PU5VTEwpOw0KLQ0KLQl2b2lkIFNldENsb2NrQWN0aXZlTG93KCk7DQotCXZvaWQgU2V0Q2xvY2tBY3RpdmVIaWdoKCk7DQotDQotCXZpcnR1YWwgdm9pZCBBcHBseUNvbmZpZygpOw0KLQ0KLQl2aXJ0dWFsIFVJTlQxNiBHZXRPdXRwdXRGSUZPQXZhaWxhYmxlKCk7DQotCXZpcnR1YWwgVUlOVDE2IEdldE51bVJlY2VpdmVkKCk7DQotDQotCXZpcnR1YWwgYm9vbCBJc0RvbmUoKTsNCi0JYm9vbCBIYWRSZWNlaXZlT3ZlcmZsb3coKTsNCi0NCi0JdmlydHVhbCB2b2lkIFdyaXRlKFVJTlQzMiBkYXRhKTsNCi0JdmlydHVhbCBVSU5UMzIgUmVhZChib29sIGluaXRpYXRlID0gZmFsc2UpOw0KLQ0KLQl2aXJ0dWFsIHZvaWQgUmVzZXQoKTsNCi0JdmlydHVhbCB2b2lkIENsZWFyUmVjZWl2ZWREYXRhKCk7DQotDQotcHJvdGVjdGVkOg0KLQlzdGF0aWMgU0VNX0lEIG1fc2VtYXBob3JlOw0KLQ0KLQl0U1BJKiBtX3NwaTsNCi0JdFNQSTo6dENvbmZpZyBtX2NvbmZpZzsNCi0JdFNQSTo6dENoYW5uZWxzIG1fY2hhbm5lbHM7DQotCURpZ2l0YWxPdXRwdXQgKm1fc3M7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBJbml0KERpZ2l0YWxPdXRwdXQgKmNsaywgRGlnaXRhbE91dHB1dCAqbW9zaSwgRGlnaXRhbElucHV0ICptaXNvKTsNCi0NCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNQSSk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TYWZlUFdNLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NhZmVQV00uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODQ0YWJjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NhZmVQV00uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTE3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlNhZmVQV00uaCINCi0NCi0jaW5jbHVkZSAiTW90b3JTYWZldHlIZWxwZXIuaCINCi0NCi0vKioNCi0gKiBJbml0aWFsaXplIGEgU2FmZVBXTSBvYmplY3QgYnkgc2V0dGluZyBkZWZhdWx0cw0KLSAqLw0KLXZvaWQgU2FmZVBXTTo6SW5pdFNhZmVQV00oKQ0KLXsNCi0JbV9zYWZldHlIZWxwZXIgPSBuZXcgTW90b3JTYWZldHlIZWxwZXIodGhpcyk7DQotCW1fc2FmZXR5SGVscGVyLT5TZXRTYWZldHlFbmFibGVkKGZhbHNlKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGEgU2FmZVBXTSBvYmplY3QgdGFraW5nIGEgY2hhbm5lbCBudW1iZXINCi0gKiBAcGFyYW0gY2hhbm5lbCBUaGUgY2hhbm5lbCBudW1iZXIgdG8gYmUgdXNlZCBmb3IgdGhlIHVuZGVybHlpbmcgUFdNIG9iamVjdA0KLSAqLw0KLVNhZmVQV006OlNhZmVQV00oVUlOVDMyIGNoYW5uZWwpOiBQV00oY2hhbm5lbCkNCi17DQotCUluaXRTYWZlUFdNKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yIGZvciBhIFNhZmVQV00gb2JqZWN0IHRha2luZyBjaGFubmVsIGFuZCBzbG90IG51bWJlcnMuDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIG51bWJlciBvbiB0aGUgbW9kdWxlICgxLi4xMCkuDQotICovDQotU2FmZVBXTTo6U2FmZVBXTShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTogUFdNKG1vZHVsZU51bWJlciwgY2hhbm5lbCkNCi17DQotCUluaXRTYWZlUFdNKCk7DQotfQ0KLQ0KLVNhZmVQV006On5TYWZlUFdNKCkNCi17DQotCWRlbGV0ZSBtX3NhZmV0eUhlbHBlcjsNCi19DQotDQotLyoNCi0gKiBTZXQgdGhlIGV4cGlyYXRpb24gdGltZSBmb3IgdGhlIFBXTSBvYmplY3QNCi0gKiBAcGFyYW0gdGltZW91dCBUaGUgdGltZW91dCAoaW4gc2Vjb25kcykgZm9yIHRoaXMgbW90b3Igb2JqZWN0DQotICovDQotdm9pZCBTYWZlUFdNOjpTZXRFeHBpcmF0aW9uKGZsb2F0IHRpbWVvdXQpDQotew0KLQltX3NhZmV0eUhlbHBlci0+U2V0RXhwaXJhdGlvbih0aW1lb3V0KTsNCi19DQotDQotLyoqDQotICogUmV0dXJuIHRoZSBleHBpcmF0aW9uIHRpbWUgZm9yIHRoZSBQV00gb2JqZWN0Lg0KLSAqIEByZXR1cm5zIFRoZSBleHBpcmF0aW9uIHRpbWUgdmFsdWUuDQotICovDQotZmxvYXQgU2FmZVBXTTo6R2V0RXhwaXJhdGlvbigpDQotew0KLQlyZXR1cm4gbV9zYWZldHlIZWxwZXItPkdldEV4cGlyYXRpb24oKTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgaWYgdGhlIFBXTSBvYmplY3QgaXMgY3VycmVudGx5IGFsaXZlIG9yIHN0b3BwZWQgZHVlIHRvIGEgdGltZW91dC4NCi0gKiBAcmV0dXJucyBhIGJvb2wgdmFsdWUgdGhhdCBpcyB0cnVlIGlmIHRoZSBtb3RvciBoYXMgTk9UIHRpbWVkIG91dCBhbmQgc2hvdWxkIHN0aWxsDQotICogYmUgcnVubmluZy4NCi0gKi8NCi1ib29sIFNhZmVQV006OklzQWxpdmUoKQ0KLXsNCi0JcmV0dXJuIG1fc2FmZXR5SGVscGVyLT5Jc0FsaXZlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0b3AgdGhlIG1vdG9yIGFzc29jaWF0ZWQgd2l0aCB0aGlzIFBXTSBvYmplY3QuDQotICogVGhpcyBpcyBjYWxsZWQgYnkgdGhlIE1vdG9yU2FmZXR5SGVscGVyIG9iamVjdCB3aGVuIGl0IGhhcyBhIHRpbWVvdXQgZm9yIHRoaXMgUFdNIGFuZCBuZWVkcyB0bw0KLSAqIHN0b3AgaXQgZnJvbSBydW5uaW5nLg0KLSAqLw0KLXZvaWQgU2FmZVBXTTo6U3RvcE1vdG9yKCkNCi17DQotCVNldFJhdyhrUHdtRGlzYWJsZWQpOw0KLX0NCi0NCi0vKioNCi0gKiBFbmFibGUvZGlzYWJsZSBtb3RvciBzYWZldHkgZm9yIHRoaXMgZGV2aWNlDQotICogVHVybiBvbiBhbmQgb2ZmIHRoZSBtb3RvciBzYWZldHkgb3B0aW9uIGZvciB0aGlzIFBXTSBvYmplY3QuDQotICogQHBhcmFtIGVuYWJsZWQgVHJ1ZSBpZiBtb3RvciBzYWZldHkgaXMgZW5mb3JjZWQgZm9yIHRoaXMgb2JqZWN0DQotICovDQotdm9pZCBTYWZlUFdNOjpTZXRTYWZldHlFbmFibGVkKGJvb2wgZW5hYmxlZCkNCi17DQotCW1fc2FmZXR5SGVscGVyLT5TZXRTYWZldHlFbmFibGVkKGVuYWJsZWQpOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBpZiBtb3RvciBzYWZldHkgaXMgZW5hYmxlZCBmb3IgdGhpcyBvYmplY3QNCi0gKiBAcmV0dXJucyBUcnVlIGlmIG1vdG9yIHNhZmV0eSBpcyBlbmZvcmNlZCBmb3IgdGhpcyBvYmplY3QNCi0gKi8NCi1ib29sIFNhZmVQV006OklzU2FmZXR5RW5hYmxlZCgpDQotew0KLQlyZXR1cm4gbV9zYWZldHlIZWxwZXItPklzU2FmZXR5RW5hYmxlZCgpOw0KLX0NCi0NCi12b2lkIFNhZmVQV006OkdldERlc2NyaXB0aW9uKGNoYXIgKmRlc2MpDQotew0KLQlzcHJpbnRmKGRlc2MsICJQV00gJWQgb24gbW9kdWxlICVkIiwgR2V0Q2hhbm5lbCgpLCBHZXRNb2R1bGVOdW1iZXIoKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEZlZWQgdGhlIE1vdG9yU2FmZXR5IHRpbWVyIHdoZW4gc2V0dGluZyB0aGUgc3BlZWQuDQotICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IHRoZSBzdWJjbGFzcyBtb3RvciB3aGVuZXZlciBpdCB1cGRhdGVzIGl0cyBzcGVlZCwgdGhlcmVieSByZXNldGluZw0KLSAqIHRoZSB0aW1lb3V0IHZhbHVlLg0KLSAqIEBwYXJhbSBzcGVlZCBWYWx1ZSB0byBwYXNzIHRvIHRoZSBQV00gY2xhc3MNCi0gKi8NCi12b2lkIFNhZmVQV006OlNldFNwZWVkKGZsb2F0IHNwZWVkKQ0KLXsNCi0JUFdNOjpTZXRTcGVlZChzcGVlZCk7DQotCW1fc2FmZXR5SGVscGVyLT5GZWVkKCk7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NhZmVQV00uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NhZmVQV00uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI0MTBjMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TYWZlUFdNLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TQUZFX1BXTV9fDQotI2RlZmluZSBfX1NBRkVfUFdNX18NCi0NCi0jaW5jbHVkZSAiTW90b3JTYWZldHkuaCINCi0jaW5jbHVkZSAiUFdNLmgiDQotDQotY2xhc3MgTW90b3JTYWZldHlIZWxwZXI7DQotDQotLyoqDQotICogQSBzYWZlIHZlcnNpb24gb2YgdGhlIFBXTSBjbGFzcy4NCi0gKiBJdCBpcyBzYWZlIGJlY2F1c2UgaXQgaW1wbGVtZW50cyB0aGUgTW90b3JTYWZldHkgaW50ZXJmYWNlIHRoYXQgcHJvdmlkZXMgdGltZW91dHMNCi0gKiBpbiB0aGUgZXZlbnQgdGhhdCB0aGUgbW90b3IgdmFsdWUgaXMgbm90IHVwZGF0ZWQgYmVmb3JlIHRoZSBleHBpcmF0aW9uIHRpbWUuDQotICogVGhpcyBkZWxlZ2F0ZXMgdGhlIGFjdHVhbCB3b3JrIHRvIGEgTW90b3JTYWZldHlIZWxwZXIgb2JqZWN0IHRoYXQgaXMgdXNlZCBmb3IgYWxsDQotICogb2JqZWN0cyB0aGF0IGltcGxlbWVudCBNb3RvclNhZmV0eS4NCi0gKi8NCi1jbGFzcyBTYWZlUFdNOiBwdWJsaWMgUFdNLCBwdWJsaWMgTW90b3JTYWZldHkNCi17DQotcHVibGljOg0KLQlleHBsaWNpdCBTYWZlUFdNKFVJTlQzMiBjaGFubmVsKTsNCi0JU2FmZVBXTShVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JflNhZmVQV00oKTsNCi0NCi0Jdm9pZCBTZXRFeHBpcmF0aW9uKGZsb2F0IHRpbWVvdXQpOw0KLQlmbG9hdCBHZXRFeHBpcmF0aW9uKCk7DQotCWJvb2wgSXNBbGl2ZSgpOw0KLQl2b2lkIFN0b3BNb3RvcigpOw0KLQlib29sIElzU2FmZXR5RW5hYmxlZCgpOw0KLQl2b2lkIFNldFNhZmV0eUVuYWJsZWQoYm9vbCBlbmFibGVkKTsNCi0Jdm9pZCBHZXREZXNjcmlwdGlvbihjaGFyICpkZXNjKTsNCi0NCi0JdmlydHVhbCB2b2lkIFNldFNwZWVkKGZsb2F0IHNwZWVkKTsNCi1wcml2YXRlOg0KLQl2b2lkIEluaXRTYWZlUFdNKCk7DQotCU1vdG9yU2FmZXR5SGVscGVyICptX3NhZmV0eUhlbHBlcjsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NjcmlwdHMvQ29weVdQSUxpYlRvVXBkYXRlRGlyZWN0b3J5LmNtZCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NjcmlwdHMvQ29weVdQSUxpYlRvVXBkYXRlRGlyZWN0b3J5LmNtZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZlMzBlMC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TY3JpcHRzL0NvcHlXUElMaWJUb1VwZGF0ZURpcmVjdG9yeS5jbWQKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1yZW0gY2QgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXb3JrYmVuY2hVcGRhdGUNCi1jZCAuLlwuLlxXb3JrYmVuY2hVcGRhdGUNCi0NCi0NCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcQnV0dG9ucw0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxDQU4NCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcQ2hpcE9iamVjdA0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxDSW50ZXJmYWNlcw0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxDb21tYW5kcw0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxOZXR3b3JrQ29tbXVuaWNhdGlvbg0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxTbWFydERhc2hib2FyZA0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlx2aXNhDQotbWtkaXIgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXFZpc2lvbg0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxWaXNpb24yMDA5DQotDQotbWtkaXIgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXExpdmVXaW5kb3cNCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlcw0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlx0YWJsZXMNCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczINCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczJcY2xpZW50DQotbWtkaXIgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNvbm5lY3Rpb24NCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczJcc2VydmVyDQotbWtkaXIgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHN0cmVhbQ0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0aHJlYWQNCi1ta2RpciB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczJcdHlwZQ0KLW1rZGlyIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx1dGlsDQotDQotDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlwqLmgNCi1kZWwgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJbGliXEJ1dHRvbnNcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxDQU5cKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxDaGlwT2JqZWN0XCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcQ0ludGVyZmFjZXNcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxDb21tYW5kc1wqLmgNCi1kZWwgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJbGliXE5ldHdvcmtDb21tdW5pY2F0aW9uXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcU21hcnREYXNoYm9hcmRcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlx2aXNhXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcVmlzaW9uXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcVmlzaW9uMjAwOVwqLmgNCi0NCi1kZWwgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJbGliXExpdmVXaW5kb3dcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxuZXR3b3JrdGFibGVzXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcdGFibGVzXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcbmV0d29ya3RhYmxlczJcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxuZXR3b3JrdGFibGVzMlxjbGllbnRcKi5oDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSWxpYlxuZXR3b3JrdGFibGVzMlxjb25uZWN0aW9uXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcbmV0d29ya3RhYmxlczJcc2VydmVyXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcbmV0d29ya3RhYmxlczJcc3RyZWFtXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcbmV0d29ya3RhYmxlczJcdGhyZWFkXCouaA0KLWRlbCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElsaWJcbmV0d29ya3RhYmxlczJcdHlwZVwqLmgNCi1kZWwgdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJbGliXG5ldHdvcmt0YWJsZXMyXHV0aWxcKi5oDQotDQotZGVsIHZ4d29ya3MtNi4zXHRhcmdldFxsaWJcV1BJTGliLmENCi0NCi0NCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWINCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXEJ1dHRvbnNcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxCdXR0b25zDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxDQU5cKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxDQU4NCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXENoaXBPYmplY3RcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxDaGlwT2JqZWN0DQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxDSW50ZXJmYWNlc1wqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXENJbnRlcmZhY2VzDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxDb21tYW5kc1wqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXENvbW1hbmRzDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxOZXR3b3JrQ29tbXVuaWNhdGlvblwqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXE5ldHdvcmtDb21tdW5pY2F0aW9uDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxTbWFydERhc2hib2FyZFwqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXFNtYXJ0RGFzaGJvYXJkDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlx2aXNhXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcdmlzYQ0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcVmlzaW9uXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcVmlzaW9uDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxWaXNpb24yMDA5XCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcVmlzaW9uMjAwOQ0KLQ0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcTGl2ZVdpbmRvd1wqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXExpdmVXaW5kb3cNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXNcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxuZXR3b3JrdGFibGVzDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlx0YWJsZXNcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlx0YWJsZXMNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczINCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNsaWVudFwqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNsaWVudA0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcbmV0d29ya3RhYmxlczJcY29ubmVjdGlvblwqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNvbm5lY3Rpb24NCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHNlcnZlclwqLmggdnh3b3Jrcy02LjNcdGFyZ2V0XGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHNlcnZlcg0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcbmV0d29ya3RhYmxlczJcc3RyZWFtXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczJcc3RyZWFtDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0aHJlYWRcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0aHJlYWQNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHR5cGVcKi5oIHZ4d29ya3MtNi4zXHRhcmdldFxoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0eXBlDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx1dGlsXCouaCB2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWJcbmV0d29ya3RhYmxlczJcdXRpbA0KLQ0KLQ0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcUFBDNjAzZ251XFdQSUxpYlxEZWJ1Z1xXUElMaWIuYSB2eHdvcmtzLTYuM1x0YXJnZXRcbGliDQotDQotY2QgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcU2NyaXB0cw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NjcmlwdHMvTWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TY3JpcHRzL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTA1Yzk2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NjcmlwdHMvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMTg0ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotVFJBQ0U9MA0KLVRSQUNFT049JChUUkFDRTowPUApDQotVFJBQ0VfRkxBRz0kKFRSQUNFT046MT0pDQotDQotTUFLRUZJTEUgOj0gTWFrZWZpbGUNCi0NCi1CVUlMRF9TUEVDID0gUFBDNjAzZ251DQotREVCVUdfTU9ERSA9IDENCi1TUkNfRElSIDo9IC4NCi1CVUlMRF9ST09UX0RJUiA6PSANCi1QUkpfUk9PVF9ESVIgOj0gQzovd2luZHJpdmVyL3dvcmtzcGFjZS9XUElMaWINCi1XU19ST09UX0RJUiA6PSBDOi93aW5kcml2ZXIvd29ya3NwYWNlDQotDQotQUxMX0JVSUxEX1NQRUNTIDo9IFBQQzMyZGlhYiBQUEMzMmdudSBQUEMzMnNmZGlhYiBQUEMzMnNmZ251IFwNCi0JIFBQQzQwM2RpYWIgUFBDNDAzZ251IFBQQzQwNWRpYWIgUFBDNDA1Z251IFwNCi0JIFBQQzQwNXNmZGlhYiBQUEM0MDVzZmdudSBQUEM0NDBkaWFiIFBQQzQ0MGdudSBcDQotCSBQUEM0NDBzZmRpYWIgUFBDNDQwc2ZnbnUgUFBDNjAzZGlhYiBQUEM2MDNnbnUgXA0KLQkgUFBDNjA0ZGlhYiBQUEM2MDRnbnUgUFBDODVYWGRpYWIgUFBDODVYWGdudSBcDQotCSBQUEM4NVhYc2ZkaWFiIFBQQzg1WFhzZmdudSBQUEM4NjBzZmRpYWIgUFBDODYwc2ZnbnUgXA0KLQkgU0lNTElOVVhkaWFiIFNJTUxJTlVYZ251IFNJTU5UZGlhYiBTSU1OVGdudSBcDQotCSBTSU1TUEFSQ1NPTEFSSVNkaWFiIFNJTVNQQVJDU09MQVJJU2dudQ0KLUVOQUJMRURfQlVJTERfU1BFQ1MgOj0gUFBDNjAzZ251DQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwM2RpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjA0ZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1OVGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNU1BBUkNTT0xBUklTZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnUNCi1lbmRpZg0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLQ0KLVBST0pFQ1RfVFlQRSA9IERLTQ0KLURFRklORVMgPSANCi1FWFBBTkRfREJHID0gMA0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1zb2Z0LWZsb2F0IC1tc3RyaWN0LWFsaWduDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwM0ZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDAzIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDVGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwNUZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwNSAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDQwRkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0NDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwM0ZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkuLiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwNEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjA0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT04NTQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCAtbWFiaT1uby1zcGUNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzg2MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NjANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg2MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10WDg2TEg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXR1bmU9aTQ4NiAtbWFyY2g9aTQ4Ng0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10U1BBUkNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbXNvDQotQ1BVID0gU0lNU1BBUkNTT0xBUklTDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAtRCdTVk5fUkVWPSIkKHNoZWxsIHN2bnZlcnNpb24gLW4gLi4pIicgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAtV2EsLVhtbmVtLW1pdCAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotDQotDQotDQotDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2NyaXB0cy91cGRhdGVCdWlsdEluTGlicmFyeS5jbWQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TY3JpcHRzL3VwZGF0ZUJ1aWx0SW5MaWJyYXJ5LmNtZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjUxMDdlNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TY3JpcHRzL3VwZGF0ZUJ1aWx0SW5MaWJyYXJ5LmNtZAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLWNkIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXQNCi0NCi1yZCAvcyAvcSBoXFdQSUxpYg0KLQ0KLW1rZGlyIGhcV1BJTGliDQotbWtkaXIgaFxXUElMaWJcQnV0dG9ucw0KLW1rZGlyIGhcV1BJTGliXENBTg0KLW1rZGlyIGhcV1BJTGliXENoaXBPYmplY3QNCi1ta2RpciBoXFdQSUxpYlxDSW50ZXJmYWNlcw0KLW1rZGlyIGhcV1BJTGliXENvbW1hbmRzDQotbWtkaXIgaFxXUElMaWJcTmV0d29ya0NvbW11bmljYXRpb24NCi1ta2RpciBoXFdQSUxpYlxTbWFydERhc2hib2FyZA0KLW1rZGlyIGhcV1BJTGliXHZpc2ENCi1ta2RpciBoXFdQSUxpYlxWaXNpb24NCi1ta2RpciBoXFdQSUxpYlxWaXNpb24yMDA5DQotDQotbWtkaXIgaFxXUElMaWJcTGl2ZVdpbmRvdw0KLW1rZGlyIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMNCi1ta2RpciBoXFdQSUxpYlx0YWJsZXMNCi1ta2RpciBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMg0KLW1rZGlyIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNsaWVudA0KLW1rZGlyIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNvbm5lY3Rpb24NCi1ta2RpciBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlxzZXJ2ZXINCi1ta2RpciBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlxzdHJlYW0NCi1ta2RpciBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0aHJlYWQNCi1ta2RpciBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0eXBlDQotbWtkaXIgaFxXUElMaWJcbmV0d29ya3RhYmxlczJcdXRpbA0KLQ0KLQ0KLQ0KLWNvcHkgYzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcKi5oIGhcV1BJTGliDQotY29weSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxCdXR0b25zXCouaCBoXFdQSUxpYlxCdXR0b25zDQotY29weSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxDQU5cKi5oIGhcV1BJTGliXENBTg0KLWNvcHkgYzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcQ2hpcE9iamVjdFwqLmggaFxXUElMaWJcQ2hpcE9iamVjdA0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcQ0ludGVyZmFjZXNcKi5oIGhcV1BJTGliXENJbnRlcmZhY2VzDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxDb21tYW5kc1wqLmggaFxXUElMaWJcQ29tbWFuZHMNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXE5ldHdvcmtDb21tdW5pY2F0aW9uXCouaCBoXFdQSUxpYlxOZXR3b3JrQ29tbXVuaWNhdGlvbg0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcU21hcnREYXNoYm9hcmRcKi5oIGhcV1BJTGliXFNtYXJ0RGFzaGJvYXJkDQotY29weSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlx2aXNhXCouaCBoXFdQSUxpYlx2aXNhDQotY29weSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxWaXNpb25cKi5oIGhcV1BJTGliXFZpc2lvbg0KLWNvcHkgYzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcVmlzaW9uMjAwOVwqLmggaFxXUElMaWJcVmlzaW9uMjAwOQ0KLQ0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcTGl2ZVdpbmRvd1wqLmggaFxXUElMaWJcTGl2ZVdpbmRvdw0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcbmV0d29ya3RhYmxlc1wqLmggaFxXUElMaWJcbmV0d29ya3RhYmxlcw0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcdGFibGVzXCouaCBoXFdQSUxpYlx0YWJsZXMNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXCouaCBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMg0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcbmV0d29ya3RhYmxlczJcY2xpZW50XCouaCBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlxjbGllbnQNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNvbm5lY3Rpb25cKi5oIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXGNvbm5lY3Rpb24NCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHNlcnZlclwqLmggaFxXUElMaWJcbmV0d29ya3RhYmxlczJcc2VydmVyDQotY29weSBDOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxuZXR3b3JrdGFibGVzMlxzdHJlYW1cKi5oIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHN0cmVhbQ0KLWNvcHkgQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXUElMaWJcbmV0d29ya3RhYmxlczJcdGhyZWFkXCouaCBoXFdQSUxpYlxuZXR3b3JrdGFibGVzMlx0aHJlYWQNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHR5cGVcKi5oIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHR5cGUNCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHV0aWxcKi5oIGhcV1BJTGliXG5ldHdvcmt0YWJsZXMyXHV0aWwNCi0NCi0NCi0NCi1jb3B5IEM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXFBQQzYwM2dudVxXUElMaWJcRGVidWdcV1BJTGliLmEgbGliDQotDQotcmVtIGNvcHkgYzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXb3JrYmVuY2hVcGRhdGVcZnJjXzIwKi56aXAgYzpcV2luZFJpdmVyXFdQSUxpYlxjUklPX0ltYWdlcw0KLQ0KLWNkIFxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYlxTY3JpcHRzDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2Vuc29yQmFzZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZW5zb3JCYXNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmEwOTAyMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZW5zb3JCYXNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJTZW5zb3JCYXNlLmgiDQotDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL0xvYWRPdXQuaCINCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtTeXN0ZW1DbG9ja1RpY2tzUGVyTWljcm9zZWNvbmQ7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtEaWdpdGFsQ2hhbm5lbHM7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtBbmFsb2dDaGFubmVsczsNCi1jb25zdCBVSU5UMzIgU2Vuc29yQmFzZTo6a0FuYWxvZ01vZHVsZXM7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtEaWdpdGFsTW9kdWxlczsNCi1jb25zdCBVSU5UMzIgU2Vuc29yQmFzZTo6a1NvbGVub2lkQ2hhbm5lbHM7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtTb2xlbm9pZE1vZHVsZXM7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtQd21DaGFubmVsczsNCi1jb25zdCBVSU5UMzIgU2Vuc29yQmFzZTo6a1JlbGF5Q2hhbm5lbHM7DQotY29uc3QgVUlOVDMyIFNlbnNvckJhc2U6OmtDaGFzc2lzU2xvdHM7DQotU2Vuc29yQmFzZSAqU2Vuc29yQmFzZTo6bV9zaW5nbGV0b25MaXN0ID0gTlVMTDsNCi0NCi0vKioNCi0gKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIHRoZSBzZW5zb3IgYmFzZSBhbmQgZ2V0cyBhbiBGUEdBIGhhbmRsZQ0KLSAqLw0KLVNlbnNvckJhc2U6OlNlbnNvckJhc2UoKQ0KLXsNCi19DQotDQotLyoqDQotICogRnJlZXMgdGhlIHJlc291cmNlcyBmb3IgYSBTZW5zb3JCYXNlLg0KLSAqLw0KLVNlbnNvckJhc2U6On5TZW5zb3JCYXNlKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIEFkZCBzZW5zb3IgdG8gdGhlIHNpbmdsZXRvbiBsaXN0Lg0KLSAqIEFkZCB0aGlzIHNlbnNvciB0byB0aGUgbGlzdCBvZiBzaW5nbGV0b25zIHRoYXQgbmVlZCB0byBiZSBkZWxldGVkIHdoZW4NCi0gKiB0aGUgcm9ib3QgcHJvZ3JhbSBleGl0cy4gRWFjaCBvZiB0aGUgc2Vuc29ycyBvbiB0aGlzIGxpc3QgYXJlIHNpbmdsZXRvbnMsDQotICogdGhhdCBpcyB0aGV5IGFyZW4ndCBhbGxvY2F0ZWQgZGlyZWN0bHkgd2l0aCBuZXcsIGJ1dCBpbnN0ZWFkIGFyZSBhbGxvY2F0ZWQNCi0gKiBieSB0aGUgc3RhdGljIEdldEluc3RhbmNlIG1ldGhvZC4gQXMgYSByZXN1bHQsIHRoZXkgYXJlIG5ldmVyIGRlbGV0ZWQgd2hlbg0KLSAqIHRoZSBwcm9ncmFtIGV4aXRzLiBDb25zZXF1ZW50bHkgdGhlc2Ugc2Vuc29ycyBtYXkgc3RpbGwgYmUgaG9sZGluZyBvbnRvDQotICogcmVzb3VyY2VzIGFuZCBuZWVkIHRvIGhhdmUgdGhlaXIgZGVzdHJ1Y3RvcnMgY2FsbGVkIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW0uDQotICovDQotdm9pZCBTZW5zb3JCYXNlOjpBZGRUb1NpbmdsZXRvbkxpc3QoKQ0KLXsNCi0JbV9uZXh0U2luZ2xldG9uID0gbV9zaW5nbGV0b25MaXN0Ow0KLQltX3NpbmdsZXRvbkxpc3QgPSB0aGlzOw0KLX0NCi0NCi0vKioNCi0gKiBEZWxldGUgYWxsIHRoZSBzaW5nbGV0b24gY2xhc3NlcyBvbiB0aGUgbGlzdC4NCi0gKiBBbGwgdGhlIGNsYXNzZXMgdGhhdCB3ZXJlIGFsbG9jYXRlZCBhcyBzaW5nbGV0b25zIG5lZWQgdG8gYmUgZGVsZXRlZCBzbw0KLSAqIHRoZWlyIHJlc291cmNlcyBjYW4gYmUgZnJlZWQuDQotICovDQotdm9pZCBTZW5zb3JCYXNlOjpEZWxldGVTaW5nbGV0b25zKCkNCi17DQotCWZvciAoU2Vuc29yQmFzZSAqbmV4dCA9IG1fc2luZ2xldG9uTGlzdDsgbmV4dCAhPSBOVUxMOykNCi0Jew0KLQkJU2Vuc29yQmFzZSAqdG1wID0gbmV4dDsNCi0JCW5leHQgPSBuZXh0LT5tX25leHRTaW5nbGV0b247DQotCQlkZWxldGUgdG1wOw0KLQl9DQotCW1fc2luZ2xldG9uTGlzdCA9IE5VTEw7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIHRoYXQgdGhlIGFuYWxvZyBtb2R1bGUgbnVtYmVyIGlzIHZhbGlkLg0KLSAqIA0KLSAqIEByZXR1cm4gQW5hbG9nIG1vZHVsZSBpcyB2YWxpZCBhbmQgcHJlc2VudA0KLSAqLw0KLWJvb2wgU2Vuc29yQmFzZTo6Q2hlY2tBbmFsb2dNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLXsNCi0JaWYgKG5Mb2FkT3V0OjpnZXRNb2R1bGVQcmVzZW5jZShuTG9hZE91dDo6a01vZHVsZVR5cGVfQW5hbG9nLCBtb2R1bGVOdW1iZXIgLSAxKSkNCi0JCXJldHVybiB0cnVlOw0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIHRoYXQgdGhlIGRpZ2l0YWwgbW9kdWxlIG51bWJlciBpcyB2YWxpZC4NCi0gKiANCi0gKiBAcmV0dXJuIERpZ2l0YWwgbW9kdWxlIGlzIHZhbGlkIGFuZCBwcmVzZW50DQotICovDQotYm9vbCBTZW5zb3JCYXNlOjpDaGVja0RpZ2l0YWxNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLXsNCi0JaWYgKG5Mb2FkT3V0OjpnZXRNb2R1bGVQcmVzZW5jZShuTG9hZE91dDo6a01vZHVsZVR5cGVfRGlnaXRhbCwgbW9kdWxlTnVtYmVyIC0gMSkpDQotCQlyZXR1cm4gdHJ1ZTsNCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayB0aGF0IHRoZSBkaWdpdGFsIG1vZHVsZSBudW1iZXIgaXMgdmFsaWQuDQotICogDQotICogQHJldHVybiBEaWdpdGFsIG1vZHVsZSBpcyB2YWxpZCBhbmQgcHJlc2VudA0KLSAqLw0KLWJvb2wgU2Vuc29yQmFzZTo6Q2hlY2tQV01Nb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLXsNCi0JcmV0dXJuIENoZWNrRGlnaXRhbE1vZHVsZShtb2R1bGVOdW1iZXIpOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayB0aGF0IHRoZSBkaWdpdGFsIG1vZHVsZSBudW1iZXIgaXMgdmFsaWQuDQotICogDQotICogQHJldHVybiBEaWdpdGFsIG1vZHVsZSBpcyB2YWxpZCBhbmQgcHJlc2VudA0KLSAqLw0KLWJvb2wgU2Vuc29yQmFzZTo6Q2hlY2tSZWxheU1vZHVsZShVSU5UOCBtb2R1bGVOdW1iZXIpDQotew0KLQlyZXR1cm4gQ2hlY2tEaWdpdGFsTW9kdWxlKG1vZHVsZU51bWJlcik7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIHRoYXQgdGhlIHNvbGVub2lkIG1vZHVsZSBudW1iZXIgaXMgdmFsaWQuDQotICogDQotICogQHJldHVybiBTb2xlbm9pZCBtb2R1bGUgaXMgdmFsaWQgYW5kIHByZXNlbnQNCi0gKi8NCi1ib29sIFNlbnNvckJhc2U6OkNoZWNrU29sZW5vaWRNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKQ0KLXsNCi0JaWYgKG5Mb2FkT3V0OjpnZXRNb2R1bGVQcmVzZW5jZShuTG9hZE91dDo6a01vZHVsZVR5cGVfU29sZW5vaWQsIG1vZHVsZU51bWJlciAtIDEpKQ0KLQkJcmV0dXJuIHRydWU7DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgdGhhdCB0aGUgZGlnaXRhbCBjaGFubmVsIG51bWJlciBpcyB2YWxpZC4NCi0gKiBWZXJpZnkgdGhhdCB0aGUgY2hhbm5lbCBudW1iZXIgaXMgb25lIG9mIHRoZSBsZWdhbCBjaGFubmVsIG51bWJlcnMuIENoYW5uZWwgbnVtYmVycyBhcmUNCi0gKiAxLWJhc2VkLg0KLSAqIA0KLSAqIEByZXR1cm4gRGlnaXRhbCBjaGFubmVsIGlzIHZhbGlkDQotICovDQotYm9vbCBTZW5zb3JCYXNlOjpDaGVja0RpZ2l0YWxDaGFubmVsKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPiAwICYmIGNoYW5uZWwgPD0ga0RpZ2l0YWxDaGFubmVscykNCi0JCXJldHVybiB0cnVlOw0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIENoZWNrIHRoYXQgdGhlIGRpZ2l0YWwgY2hhbm5lbCBudW1iZXIgaXMgdmFsaWQuDQotICogVmVyaWZ5IHRoYXQgdGhlIGNoYW5uZWwgbnVtYmVyIGlzIG9uZSBvZiB0aGUgbGVnYWwgY2hhbm5lbCBudW1iZXJzLiBDaGFubmVsIG51bWJlcnMgYXJlDQotICogMS1iYXNlZC4NCi0gKiANCi0gKiBAcmV0dXJuIFJlbGF5IGNoYW5uZWwgaXMgdmFsaWQNCi0gKi8NCi1ib29sIFNlbnNvckJhc2U6OkNoZWNrUmVsYXlDaGFubmVsKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPiAwICYmIGNoYW5uZWwgPD0ga1JlbGF5Q2hhbm5lbHMpDQotCQlyZXR1cm4gdHJ1ZTsNCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayB0aGF0IHRoZSBkaWdpdGFsIGNoYW5uZWwgbnVtYmVyIGlzIHZhbGlkLg0KLSAqIFZlcmlmeSB0aGF0IHRoZSBjaGFubmVsIG51bWJlciBpcyBvbmUgb2YgdGhlIGxlZ2FsIGNoYW5uZWwgbnVtYmVycy4gQ2hhbm5lbCBudW1iZXJzIGFyZQ0KLSAqIDEtYmFzZWQuDQotICogDQotICogQHJldHVybiBQV00gY2hhbm5lbCBpcyB2YWxpZA0KLSAqLw0KLWJvb2wgU2Vuc29yQmFzZTo6Q2hlY2tQV01DaGFubmVsKFVJTlQzMiBjaGFubmVsKQ0KLXsNCi0JaWYgKGNoYW5uZWwgPiAwICYmIGNoYW5uZWwgPD0ga1B3bUNoYW5uZWxzKQ0KLQkJcmV0dXJuIHRydWU7DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgdGhhdCB0aGUgYW5hbG9nIGNoYW5uZWwgbnVtYmVyIGlzIHZhbHVlLg0KLSAqIFZlcmlmeSB0aGF0IHRoZSBhbmFsb2cgY2hhbm5lbCBudW1iZXIgaXMgb25lIG9mIHRoZSBsZWdhbCBjaGFubmVsIG51bWJlcnMuIENoYW5uZWwgbnVtYmVycw0KLSAqIGFyZSAxLWJhc2VkLg0KLSAqIA0KLSAqIEByZXR1cm4gQW5hbG9nIGNoYW5uZWwgaXMgdmFsaWQNCi0gKi8NCi1ib29sIFNlbnNvckJhc2U6OkNoZWNrQW5hbG9nQ2hhbm5lbChVSU5UMzIgY2hhbm5lbCkNCi17DQotCWlmIChjaGFubmVsID4gMCAmJiBjaGFubmVsIDw9IGtBbmFsb2dDaGFubmVscykNCi0JCXJldHVybiB0cnVlOw0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIFZlcmlmeSB0aGF0IHRoZSBzb2xlbm9pZCBjaGFubmVsIG51bWJlciBpcyB3aXRoaW4gbGltaXRzLg0KLSAqIA0KLSAqIEByZXR1cm4gU29sZW5vaWQgY2hhbm5lbCBpcyB2YWxpZA0KLSAqLw0KLWJvb2wgU2Vuc29yQmFzZTo6Q2hlY2tTb2xlbm9pZENoYW5uZWwoVUlOVDMyIGNoYW5uZWwpDQotew0KLQlpZiAoY2hhbm5lbCA+IDAgJiYgY2hhbm5lbCA8PSBrU29sZW5vaWRDaGFubmVscykNCi0JCXJldHVybiB0cnVlOw0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NlbnNvckJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NlbnNvckJhc2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVmZWVkNi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZW5zb3JCYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgU0VOU09SQkFTRV9IXw0KLSNkZWZpbmUgU0VOU09SQkFTRV9IXw0KLQ0KLSNpbmNsdWRlICJDaGlwT2JqZWN0L05pUmlvLmgiDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpbmNsdWRlICJCYXNlLmgiDQotDQotLyoqDQotICogQmFzZSBjbGFzcyBmb3IgYWxsIHNlbnNvcnMuDQotICogU3RvcmVzIG1vc3QgcmVjZW50IHN0YXR1cyBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIGNvbnRhaW5pbmcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNoZWNraW5nDQotICogY2hhbm5lbHMgYW5kIGVycm9yIHByb2Nlc3NpbmcuDQotICovDQotY2xhc3MgU2Vuc29yQmFzZTogcHVibGljIEVycm9yQmFzZSB7DQotcHVibGljOg0KLQlTZW5zb3JCYXNlKCk7DQotCXZpcnR1YWwgflNlbnNvckJhc2UoKTsNCi0Jc3RhdGljIHZvaWQgRGVsZXRlU2luZ2xldG9ucygpOw0KLQlzdGF0aWMgVUlOVDMyIEdldERlZmF1bHRBbmFsb2dNb2R1bGUoKSB7IHJldHVybiAxOyB9DQotCXN0YXRpYyBVSU5UMzIgR2V0RGVmYXVsdERpZ2l0YWxNb2R1bGUoKSB7IHJldHVybiAxOyB9DQotCXN0YXRpYyBVSU5UMzIgR2V0RGVmYXVsdFNvbGVub2lkTW9kdWxlKCkgeyByZXR1cm4gMTsgfQ0KLQlzdGF0aWMgYm9vbCBDaGVja0FuYWxvZ01vZHVsZShVSU5UOCBtb2R1bGVOdW1iZXIpOw0KLQlzdGF0aWMgYm9vbCBDaGVja0RpZ2l0YWxNb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKTsNCi0Jc3RhdGljIGJvb2wgQ2hlY2tQV01Nb2R1bGUoVUlOVDggbW9kdWxlTnVtYmVyKTsNCi0Jc3RhdGljIGJvb2wgQ2hlY2tSZWxheU1vZHVsZShVSU5UOCBtb2R1bGVOdW1iZXIpOw0KLQlzdGF0aWMgYm9vbCBDaGVja1NvbGVub2lkTW9kdWxlKFVJTlQ4IG1vZHVsZU51bWJlcik7DQotCXN0YXRpYyBib29sIENoZWNrRGlnaXRhbENoYW5uZWwoVUlOVDMyIGNoYW5uZWwpOw0KLQlzdGF0aWMgYm9vbCBDaGVja1JlbGF5Q2hhbm5lbChVSU5UMzIgY2hhbm5lbCk7DQotCXN0YXRpYyBib29sIENoZWNrUFdNQ2hhbm5lbChVSU5UMzIgY2hhbm5lbCk7DQotCXN0YXRpYyBib29sIENoZWNrQW5hbG9nQ2hhbm5lbChVSU5UMzIgY2hhbm5lbCk7DQotCXN0YXRpYyBib29sIENoZWNrU29sZW5vaWRDaGFubmVsKFVJTlQzMiBjaGFubmVsKTsNCi0NCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrU3lzdGVtQ2xvY2tUaWNrc1Blck1pY3Jvc2Vjb25kID0gNDA7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0RpZ2l0YWxDaGFubmVscyA9IDE0Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtBbmFsb2dDaGFubmVscyA9IDg7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga0FuYWxvZ01vZHVsZXMgPSAyOw0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtEaWdpdGFsTW9kdWxlcyA9IDI7DQotCXN0YXRpYyBjb25zdCBVSU5UMzIga1NvbGVub2lkQ2hhbm5lbHMgPSA4Ow0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtTb2xlbm9pZE1vZHVsZXMgPSAyOw0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtQd21DaGFubmVscyA9IDEwOw0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtSZWxheUNoYW5uZWxzID0gODsNCi0Jc3RhdGljIGNvbnN0IFVJTlQzMiBrQ2hhc3Npc1Nsb3RzID0gODsNCi1wcm90ZWN0ZWQ6DQotCXZvaWQgQWRkVG9TaW5nbGV0b25MaXN0KCk7DQotDQotcHJpdmF0ZToNCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNlbnNvckJhc2UpOw0KLQlzdGF0aWMgU2Vuc29yQmFzZSAqbV9zaW5nbGV0b25MaXN0Ow0KLQlTZW5zb3JCYXNlICptX25leHRTaW5nbGV0b247DQotfTsNCi0NCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJpYWxQb3J0LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NlcmlhbFBvcnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDM4OWJhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NlcmlhbFBvcnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzMxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlNlcmlhbFBvcnQuaCINCi0NCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAidmlzYS92aXNhLmgiDQotDQotLy9zdGF0aWMgVmlTdGF0dXMgX1ZJX0ZVTkNIIGlvQ29tcGxldGVIYW5kbGVyIChWaVNlc3Npb24gdmksIFZpRXZlbnRUeXBlIGV2ZW50VHlwZSwgVmlFdmVudCBldmVudCwgVmlBZGRyIHVzZXJIYW5kbGUpOw0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhIFNlcmlhbCBQb3J0IGNsYXNzLg0KLSAqIA0KLSAqIEBwYXJhbSBiYXVkUmF0ZSBUaGUgYmF1ZCByYXRlIHRvIGNvbmZpZ3VyZSB0aGUgc2VyaWFsIHBvcnQuICBUaGUgY1JJTy05MDc0IHN1cHBvcnRzIHVwIHRvIDIzMDQwMCBCYXVkLg0KLSAqIEBwYXJhbSBkYXRhQml0cyBUaGUgbnVtYmVyIG9mIGRhdGEgYml0cyBwZXIgdHJhbnNmZXIuICBWYWxpZCB2YWx1ZXMgYXJlIGJldHdlZW4gNSBhbmQgOCBiaXRzLg0KLSAqIEBwYXJhbSBwYXJpdHkgU2VsZWN0IHRoZSB0eXBlIG9mIHBhcml0eSBjaGVja2luZyB0byB1c2UuDQotICogQHBhcmFtIHN0b3BCaXRzIFRoZSBudW1iZXIgb2Ygc3RvcCBiaXRzIHRvIHVzZSBhcyBkZWZpbmVkIGJ5IHRoZSBlbnVtIFN0b3BCaXRzLg0KLSAqLw0KLVNlcmlhbFBvcnQ6OlNlcmlhbFBvcnQoVUlOVDMyIGJhdWRSYXRlLCBVSU5UOCBkYXRhQml0cywgU2VyaWFsUG9ydDo6UGFyaXR5IHBhcml0eSwgU2VyaWFsUG9ydDo6U3RvcEJpdHMgc3RvcEJpdHMpDQotCTogbV9yZXNvdXJjZU1hbmFnZXJIYW5kbGUgKDApDQotCSwgbV9wb3J0SGFuZGxlICgwKQ0KLQksIG1fY29uc29sZU1vZGVFbmFibGVkIChmYWxzZSkNCi17DQotCVZpU3RhdHVzIGxvY2FsU3RhdHVzID0gVklfU1VDQ0VTUzsNCi0JbG9jYWxTdGF0dXMgPSB2aU9wZW5EZWZhdWx0Uk0oKFZpU2Vzc2lvbiopJm1fcmVzb3VyY2VNYW5hZ2VySGFuZGxlKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0NCi0JbG9jYWxTdGF0dXMgPSB2aU9wZW4obV9yZXNvdXJjZU1hbmFnZXJIYW5kbGUsICJBU1JMMTo6SU5TVFIiLCBWSV9OVUxMLCBWSV9OVUxMLCAoVmlTZXNzaW9uKikmbV9wb3J0SGFuZGxlKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JaWYgKGxvY2FsU3RhdHVzICE9IDApDQotCXsNCi0JCW1fY29uc29sZU1vZGVFbmFibGVkID0gdHJ1ZTsNCi0JCXJldHVybjsNCi0JfQ0KLQ0KLQlsb2NhbFN0YXR1cyA9IHZpU2V0QXR0cmlidXRlKG1fcG9ydEhhbmRsZSwgVklfQVRUUl9BU1JMX0JBVUQsIGJhdWRSYXRlKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JbG9jYWxTdGF0dXMgPSB2aVNldEF0dHJpYnV0ZShtX3BvcnRIYW5kbGUsIFZJX0FUVFJfQVNSTF9EQVRBX0JJVFMsIGRhdGFCaXRzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JbG9jYWxTdGF0dXMgPSB2aVNldEF0dHJpYnV0ZShtX3BvcnRIYW5kbGUsIFZJX0FUVFJfQVNSTF9QQVJJVFksIHBhcml0eSk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCWxvY2FsU3RhdHVzID0gdmlTZXRBdHRyaWJ1dGUobV9wb3J0SGFuZGxlLCBWSV9BVFRSX0FTUkxfU1RPUF9CSVRTLCBzdG9wQml0cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotDQotCS8vIFNldCB0aGUgZGVmYXVsdCB0aW1lb3V0IHRvIDUgc2Vjb25kcy4NCi0JU2V0VGltZW91dCg1LjBmKTsNCi0NCi0JLy8gRG9uJ3Qgd2FpdCB1bnRpbCB0aGUgYnVmZmVyIGlzIGZ1bGwgdG8gdHJhbnNtaXQuDQotCVNldFdyaXRlQnVmZmVyTW9kZShrRmx1c2hPbkFjY2Vzcyk7DQotDQotCUVuYWJsZVRlcm1pbmF0aW9uKCk7DQotDQotCS8vdmlJbnN0YWxsSGFuZGxlcihtX3BvcnRIYW5kbGUsIFZJX0VWRU5UX0lPX0NPTVBMRVRJT04sIGlvQ29tcGxldGVIYW5kbGVyLCB0aGlzKTsNCi0JLy92aUVuYWJsZUV2ZW50KG1fcG9ydEhhbmRsZSwgVklfRVZFTlRfSU9fQ09NUExFVElPTiwgVklfSE5ETFIsIFZJX05VTEwpOw0KLQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfU2VyaWFsUG9ydCwgMCk7DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3IuDQotICovDQotU2VyaWFsUG9ydDo6flNlcmlhbFBvcnQoKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJLy92aVVuaW5zdGFsbEhhbmRsZXIobV9wb3J0SGFuZGxlLCBWSV9FVkVOVF9JT19DT01QTEVUSU9OLCBpb0NvbXBsZXRlSGFuZGxlciwgdGhpcyk7DQotCQl2aUNsb3NlKG1fcG9ydEhhbmRsZSk7DQotCX0NCi0JdmlDbG9zZShtX3Jlc291cmNlTWFuYWdlckhhbmRsZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdHlwZSBvZiBmbG93IGNvbnRyb2wgdG8gZW5hYmxlIG9uIHRoaXMgcG9ydC4NCi0gKiANCi0gKiBCeSBkZWZhdWx0LCBmbG93IGNvbnRyb2wgaXMgZGlzYWJsZWQuDQotICovDQotdm9pZCBTZXJpYWxQb3J0OjpTZXRGbG93Q29udHJvbChTZXJpYWxQb3J0OjpGbG93Q29udHJvbCBmbG93Q29udHJvbCkNCi17DQotCWlmICghbV9jb25zb2xlTW9kZUVuYWJsZWQpDQotCXsNCi0JCVZpU3RhdHVzIGxvY2FsU3RhdHVzID0gdmlTZXRBdHRyaWJ1dGUgKG1fcG9ydEhhbmRsZSwgVklfQVRUUl9BU1JMX0ZMT1dfQ05UUkwsIGZsb3dDb250cm9sKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLyoqDQotICogRW5hYmxlIHRlcm1pbmF0aW9uIGFuZCBzcGVjaWZ5IHRoZSB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXIuDQotICogDQotICogVGVybWluYXRpb24gaXMgY3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgZm9yIHJlY2VpdmUuDQotICogV2hlbiB0aGUgdGhlIHRlcm1pbmF0b3IgaXMgcmVjaWV2ZWQsIHRoZSBSZWFkKCkgb3IgU2NhbmYoKSB3aWxsIHJldHVybg0KLSAqICAgZmV3ZXIgYnl0ZXMgdGhhbiByZXF1ZXN0ZWQsIHN0b3BwaW5nIGFmdGVyIHRoZSB0ZXJtaW5hdG9yLg0KLSAqIA0KLSAqIEBwYXJhbSB0ZXJtaW5hdG9yIFRoZSBjaGFyYWN0ZXIgdG8gdXNlIGZvciB0ZXJtaW5hdGlvbi4NCi0gKi8NCi12b2lkIFNlcmlhbFBvcnQ6OkVuYWJsZVRlcm1pbmF0aW9uKGNoYXIgdGVybWluYXRvcikNCi17DQotCWlmICghbV9jb25zb2xlTW9kZUVuYWJsZWQpDQotCXsNCi0JCXZpU2V0QXR0cmlidXRlKG1fcG9ydEhhbmRsZSwgVklfQVRUUl9URVJNQ0hBUl9FTiwgVklfVFJVRSk7IA0KLQkJdmlTZXRBdHRyaWJ1dGUobV9wb3J0SGFuZGxlLCBWSV9BVFRSX1RFUk1DSEFSLCB0ZXJtaW5hdG9yKTsNCi0JCXZpU2V0QXR0cmlidXRlKG1fcG9ydEhhbmRsZSwgVklfQVRUUl9BU1JMX0VORF9JTiwgVklfQVNSTF9FTkRfVEVSTUNIQVIpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIERpc2FibGUgdGVybWluYXRpb24gYmVoYXZpb3IuDQotICovDQotdm9pZCBTZXJpYWxQb3J0OjpEaXNhYmxlVGVybWluYXRpb24oKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJdmlTZXRBdHRyaWJ1dGUobV9wb3J0SGFuZGxlLCBWSV9BVFRSX1RFUk1DSEFSX0VOLCBWSV9GQUxTRSk7IA0KLQkJdmlTZXRBdHRyaWJ1dGUobV9wb3J0SGFuZGxlLCBWSV9BVFRSX0FTUkxfRU5EX0lOLCBWSV9BU1JMX0VORF9OT05FKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgYXZhaWxhYmxlIHRvIHJlYWQgZnJvbSB0aGUgc2VyaWFsIHBvcnQuDQotICogDQotICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGF2YWlsYWJsZSB0byByZWFkLg0KLSAqLw0KLUlOVDMyIFNlcmlhbFBvcnQ6OkdldEJ5dGVzUmVjZWl2ZWQoKQ0KLXsNCi0JSU5UMzIgYnl0ZXMgPSAwOw0KLQlpZiAoIW1fY29uc29sZU1vZGVFbmFibGVkKQ0KLQl7DQotCQlWaVN0YXR1cyBsb2NhbFN0YXR1cyA9IHZpR2V0QXR0cmlidXRlKG1fcG9ydEhhbmRsZSwgVklfQVRUUl9BU1JMX0FWQUlMX05VTSwgJmJ5dGVzKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi0JcmV0dXJuIGJ5dGVzOw0KLX0NCi0NCi0vKioNCi0gKiBPdXRwdXQgZm9ybWF0dGVkIHRleHQgdG8gdGhlIHNlcmlhbCBwb3J0Lg0KLSAqIA0KLSAqIEBidWcgQWxsIHBvaW50ZXItYmFzZWQgcGFyYW1ldGVycyBzZWVtIHRvIHJldHVybiBhbiBlcnJvci4NCi0gKiANCi0gKiBAcGFyYW0gd3JpdGVGbXQgQSBzdHJpbmcgdGhhdCBkZWZpbmVzIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4NCi0gKi8NCi12b2lkIFNlcmlhbFBvcnQ6OlByaW50Zihjb25zdCBjaGFyICp3cml0ZUZtdCwgLi4uKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJdmFfbGlzdCBhcmdzOw0KLQkJdmFfc3RhcnQgKGFyZ3MsIHdyaXRlRm10KTsNCi0JCVZpU3RhdHVzIGxvY2FsU3RhdHVzID0gdmlWUHJpbnRmKG1fcG9ydEhhbmRsZSwgKFZpU3RyaW5nKXdyaXRlRm10LCBhcmdzKTsNCi0JCXZhX2VuZCAoYXJncyk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIElucHV0IGZvcm1hdHRlZCB0ZXh0IGZyb20gdGhlIHNlcmlhbCBwb3J0Lg0KLSAqIA0KLSAqIEBidWcgQWxsIHBvaW50ZXItYmFzZWQgcGFyYW1ldGVycyBzZWVtIHRvIHJldHVybiBhbiBlcnJvci4NCi0gKiANCi0gKiBAcGFyYW0gcmVhZEZtdCBBIHN0cmluZyB0aGF0IGRlZmluZXMgdGhlIGZvcm1hdCBvZiB0aGUgaW5wdXQuDQotICovDQotdm9pZCBTZXJpYWxQb3J0OjpTY2FuZihjb25zdCBjaGFyICpyZWFkRm10LCAuLi4pDQotew0KLQlpZiAoIW1fY29uc29sZU1vZGVFbmFibGVkKQ0KLQl7DQotCQl2YV9saXN0IGFyZ3M7DQotCQl2YV9zdGFydCAoYXJncywgcmVhZEZtdCk7DQotCQlWaVN0YXR1cyBsb2NhbFN0YXR1cyA9IHZpVlNjYW5mKG1fcG9ydEhhbmRsZSwgKFZpU3RyaW5nKXJlYWRGbXQsIGFyZ3MpOw0KLQkJdmFfZW5kIChhcmdzKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLyoqDQotICogUmVhZCByYXcgYnl0ZXMgb3V0IG9mIHRoZSBidWZmZXIuDQotICogDQotICogQHBhcmFtIGJ1ZmZlciBQb2ludGVyIHRvIHRoZSBidWZmZXIgdG8gc3RvcmUgdGhlIGJ5dGVzIGluLg0KLSAqIEBwYXJhbSBjb3VudCBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4NCi0gKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgYnl0ZXMgYWN0dWFsbHkgcmVhZCBpbnRvIHRoZSBidWZmZXIuDQotICovIA0KLVVJTlQzMiBTZXJpYWxQb3J0OjpSZWFkKGNoYXIgKmJ1ZmZlciwgSU5UMzIgY291bnQpDQotew0KLQlVSU5UMzIgcmV0Q291bnQgPSAwOw0KLQlpZiAoIW1fY29uc29sZU1vZGVFbmFibGVkKQ0KLQl7DQotCQlWaVN0YXR1cyBsb2NhbFN0YXR1cyA9IHZpQnVmUmVhZChtX3BvcnRIYW5kbGUsIChWaVBCdWYpYnVmZmVyLCBjb3VudCwgKFZpUFVJbnQzMikmcmV0Q291bnQpOw0KLQkJc3dpdGNoIChsb2NhbFN0YXR1cykNCi0JCXsNCi0JCWNhc2UgVklfU1VDQ0VTU19URVJNX0NIQVI6DQotCQljYXNlIFZJX1NVQ0NFU1NfTUFYX0NOVDoNCi0JCWNhc2UgVklfRVJST1JfVE1POiAvLyBUaW1lb3V0DQotCQkJYnJlYWs7DQotCQlkZWZhdWx0Og0KLQkJCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCQl9DQotCX0NCi0JcmV0dXJuIHJldENvdW50Ow0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSByYXcgYnl0ZXMgdG8gdGhlIGJ1ZmZlci4NCi0gKiANCi0gKiBAcGFyYW0gYnVmZmVyIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB0byByZWFkIHRoZSBieXRlcyBmcm9tLg0KLSAqIEBwYXJhbSBjb3VudCBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUuDQotICogQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGFjdHVhbGx5IHdyaXR0ZW4gaW50byB0aGUgcG9ydC4NCi0gKi8gDQotVUlOVDMyIFNlcmlhbFBvcnQ6OldyaXRlKGNvbnN0IGNoYXIgKmJ1ZmZlciwgSU5UMzIgY291bnQpDQotew0KLQlVSU5UMzIgcmV0Q291bnQgPSAwOw0KLQlpZiAoIW1fY29uc29sZU1vZGVFbmFibGVkKQ0KLQl7DQotCQlWaVN0YXR1cyBsb2NhbFN0YXR1cyA9IHZpQnVmV3JpdGUobV9wb3J0SGFuZGxlLCAoVmlQQnVmKWJ1ZmZlciwgY291bnQsIChWaVBVSW50MzIpJnJldENvdW50KTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi0JcmV0dXJuIHJldENvdW50Ow0KLX0NCi0NCi0vKioNCi0gKiBDb25maWd1cmUgdGhlIHRpbWVvdXQgb2YgdGhlIHNlcmlhbCBwb3J0Lg0KLSAqIA0KLSAqIFRoaXMgZGVmaW5lcyB0aGUgdGltZW91dCBmb3IgdHJhbnNhY3Rpb25zIHdpdGggdGhlIGhhcmR3YXJlLg0KLSAqIEl0IHdpbGwgYWZmZWN0IHJlYWRzIGFuZCB2ZXJ5IGxhcmdlIHdyaXRlcy4NCi0gKiANCi0gKiBAcGFyYW0gdGltZW91dCBUaGUgbnVtYmVyIG9mIHNlY29uZHMgdG8gdG8gd2FpdCBmb3IgSS9PLg0KLSAqLw0KLXZvaWQgU2VyaWFsUG9ydDo6U2V0VGltZW91dChmbG9hdCB0aW1lb3V0KQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJVmlTdGF0dXMgbG9jYWxTdGF0dXMgPSB2aVNldEF0dHJpYnV0ZShtX3BvcnRIYW5kbGUsIFZJX0FUVFJfVE1PX1ZBTFVFLCAoVUlOVDMyKSh0aW1lb3V0ICogMWUzKSk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNwZWNpZnkgdGhlIHNpemUgb2YgdGhlIGlucHV0IGJ1ZmZlci4NCi0gKiANCi0gKiBTcGVjaWZ5IHRoZSBhbW91bnQgb2YgZGF0YSB0aGF0IGNhbiBiZSBzdG9yZWQgYmVmb3JlIGRhdGENCi0gKiBmcm9tIHRoZSBkZXZpY2UgaXMgcmV0dXJuZWQgdG8gUmVhZCBvciBTY2FuZi4gIElmIHlvdSB3YW50DQotICogZGF0YSB0aGF0IGlzIHJlY2lldmVkIHRvIGJlIHJldHVybmVkIGltbWVkaWF0ZWx5LCBzZXQgdGhpcyB0byAxLg0KLSAqIA0KLSAqIEl0IHRoZSBidWZmZXIgaXMgbm90IGZpbGxlZCBiZWZvcmUgdGhlIHJlYWQgdGltZW91dCBleHBpcmVzLCBhbGwNCi0gKiBkYXRhIHRoYXQgaGFzIGJlZW4gcmVjZWl2ZWQgc28gZmFyIHdpbGwgYmUgcmV0dXJuZWQuDQotICogDQotICogQHBhcmFtIHNpemUgVGhlIHJlYWQgYnVmZmVyIHNpemUuDQotICovDQotdm9pZCBTZXJpYWxQb3J0OjpTZXRSZWFkQnVmZmVyU2l6ZShVSU5UMzIgc2l6ZSkNCi17DQotCWlmICghbV9jb25zb2xlTW9kZUVuYWJsZWQpDQotCXsNCi0JCVZpU3RhdHVzIGxvY2FsU3RhdHVzID0gdmlTZXRCdWYobV9wb3J0SGFuZGxlLCBWSV9SRUFEX0JVRiwgc2l6ZSk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNwZWNpZnkgdGhlIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXIuDQotICogDQotICogU3BlY2lmeSB0aGUgYW1vdW50IG9mIGRhdGEgdGhhdCBjYW4gYmUgc3RvcmVkIGJlZm9yZSBiZWluZw0KLSAqIHRyYW5zbWl0dGVkIHRvIHRoZSBkZXZpY2UuDQotICogDQotICogQHBhcmFtIHNpemUgVGhlIHdyaXRlIGJ1ZmZlciBzaXplLg0KLSAqLw0KLXZvaWQgU2VyaWFsUG9ydDo6U2V0V3JpdGVCdWZmZXJTaXplKFVJTlQzMiBzaXplKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJVmlTdGF0dXMgbG9jYWxTdGF0dXMgPSB2aVNldEJ1ZihtX3BvcnRIYW5kbGUsIFZJX1dSSVRFX0JVRiwgc2l6ZSk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNwZWNpZnkgdGhlIGZsdXNoaW5nIGJlaGF2aW9yIG9mIHRoZSBvdXRwdXQgYnVmZmVyLg0KLSAqIA0KLSAqIFdoZW4gc2V0IHRvIGtGbHVzaE9uQWNjZXNzLCBkYXRhIGlzIHN5bmNocm9ub3VzbHkgd3JpdHRlbiB0byB0aGUgc2VyaWFsIHBvcnQNCi0gKiAgIGFmdGVyIGVhY2ggY2FsbCB0byBlaXRoZXIgUHJpbnRmKCkgb3IgV3JpdGUoKS4NCi0gKiANCi0gKiBXaGVuIHNldCB0byBrRmx1c2hXaGVuRnVsbCwgZGF0YSB3aWxsIG9ubHkgYmUgd3JpdHRlbiB0byB0aGUgc2VyaWFsIHBvcnQgd2hlbg0KLSAqICAgdGhlIGJ1ZmZlciBpcyBmdWxsIG9yIHdoZW4gRmx1c2goKSBpcyBjYWxsZWQuDQotICogDQotICogQHBhcmFtIG1vZGUgVGhlIHdyaXRlIGJ1ZmZlciBtb2RlLg0KLSAqLw0KLXZvaWQgU2VyaWFsUG9ydDo6U2V0V3JpdGVCdWZmZXJNb2RlKFNlcmlhbFBvcnQ6OldyaXRlQnVmZmVyTW9kZSBtb2RlKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJVmlTdGF0dXMgbG9jYWxTdGF0dXMgPSB2aVNldEF0dHJpYnV0ZShtX3BvcnRIYW5kbGUsIFZJX0FUVFJfV1JfQlVGX09QRVJfTU9ERSwgbW9kZSk7DQotCQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEZvcmNlIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIHBvcnQuDQotICogDQotICogVGhpcyBpcyB1c2VkIHdoZW4gU2V0V3JpdGVCdWZmZXJNb2RlKCkgaXMgc2V0IHRvIGtGbHVzaFdoZW5GdWxsIHRvIGZvcmNlIGENCi0gKiBmbHVzaCBiZWZvcmUgdGhlIGJ1ZmZlciBpcyBmdWxsLg0KLSAqLw0KLXZvaWQgU2VyaWFsUG9ydDo6Rmx1c2goKQ0KLXsNCi0JaWYgKCFtX2NvbnNvbGVNb2RlRW5hYmxlZCkNCi0Jew0KLQkJVmlTdGF0dXMgbG9jYWxTdGF0dXMgPSB2aUZsdXNoKG1fcG9ydEhhbmRsZSwgVklfV1JJVEVfQlVGKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLyoqDQotICogUmVzZXQgdGhlIHNlcmlhbCBwb3J0IGRyaXZlciB0byBhIGtub3duIHN0YXRlLg0KLSAqIA0KLSAqIEVtcHR5IHRoZSB0cmFuc21pdCBhbmQgcmVjZWl2ZSBidWZmZXJzIGluIHRoZSBkZXZpY2UgYW5kIGZvcm1hdHRlZCBJL08uDQotICovDQotdm9pZCBTZXJpYWxQb3J0OjpSZXNldCgpDQotew0KLQlpZiAoIW1fY29uc29sZU1vZGVFbmFibGVkKQ0KLQl7DQotCQlWaVN0YXR1cyBsb2NhbFN0YXR1cyA9IHZpQ2xlYXIobV9wb3J0SGFuZGxlKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCX0NCi19DQotDQotLy92b2lkIFNlcmlhbFBvcnQ6Ol9pbnRlcm5hbEhhbmRsZXIoVUlOVDMyIHBvcnQsIFVJTlQzMiBldmVudFR5cGUsIFVJTlQzMiBldmVudCkNCi0vL3sNCi0vL30NCi0NCi0vL1ZpU3RhdHVzIF9WSV9GVU5DSCBpb0NvbXBsZXRlSGFuZGxlciAoVmlTZXNzaW9uIHZpLCBWaUV2ZW50VHlwZSBldmVudFR5cGUsIFZpRXZlbnQgZXZlbnQsIFZpQWRkciB1c2VySGFuZGxlKQ0KLS8vew0KLS8vCSgoU2VyaWFsUG9ydCopIHVzZXJIYW5kbGUpLT5faW50ZXJuYWxIYW5kbGVyKHZpLCBldmVudFR5cGUsIGV2ZW50KTsNCi0vLwlyZXR1cm4gVklfU1VDQ0VTUzsNCi0vL30NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJpYWxQb3J0LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJpYWxQb3J0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5Mjc3MWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2VyaWFsUG9ydC5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fU2VyaWFsUG9ydF9oX18NCi0jZGVmaW5lIF9fU2VyaWFsUG9ydF9oX18NCi0NCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBEcml2ZXIgZm9yIHRoZSBSUy0yMzIgc2VyaWFsIHBvcnQgb24gdGhlIGNSSU8uDQotICogDQotICogVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gdXNlcyB0aGUgVklTQSBmb3JtYXR0ZWQgSS9PIG1vZGUuICBUaGlzIG1lYW5zIHRoYXQNCi0gKiAgIGFsbCB0cmFmZmljIGdvZXMgdGhyb3VnaCB0aGUgZm9tYXR0ZWQgYnVmZmVycy4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlcm1pbmdsZWQNCi0gKiAgIHVzZSBvZiBQcmludGYoKSwgU2NhbmYoKSwgYW5kIHRoZSByYXcgYnVmZmVyIGFjY2Vzc29ycyBSZWFkKCkgYW5kIFdyaXRlKCkuDQotICogDQotICogTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIE5JLVZJU0EgVXNlciBNYW51YWwgaGVyZToNCi0gKiAgIGh0dHA6Ly93d3cubmkuY29tL3BkZi9tYW51YWxzLzM3MDQyM2EucGRmDQotICogYW5kIHRoZSBOSS1WSVNBIFByb2dyYW1tZXIncyBSZWZlcmVuY2UgTWFudWFsIGhlcmU6DQotICogICBodHRwOi8vd3d3Lm5pLmNvbS9wZGYvbWFudWFscy8zNzAxMzJjLnBkZg0KLSAqLw0KLWNsYXNzIFNlcmlhbFBvcnQgOiBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JdHlwZWRlZiBlbnVtIHtrUGFyaXR5X05vbmU9MCwga1Bhcml0eV9PZGQ9MSwga1Bhcml0eV9FdmVuPTIsIGtQYXJpdHlfTWFyaz0zLCBrUGFyaXR5X1NwYWNlPTR9IFBhcml0eTsNCi0JdHlwZWRlZiBlbnVtIHtrU3RvcEJpdHNfT25lPTEwLCBrU3RvcEJpdHNfT25lUG9pbnRGaXZlPTE1LCBrU3RvcEJpdHNfVHdvPTIwfSBTdG9wQml0czsNCi0JdHlwZWRlZiBlbnVtIHtrRmxvd0NvbnRyb2xfTm9uZT0wLCBrRmxvd0NvbnRyb2xfWG9uWG9mZj0xLCBrRmxvd0NvbnRyb2xfUnRzQ3RzPTIsIGtGbG93Q29udHJvbF9EdHJEc3I9NH0gRmxvd0NvbnRyb2w7DQotCXR5cGVkZWYgZW51bSB7a0ZsdXNoT25BY2Nlc3M9MSwga0ZsdXNoV2hlbkZ1bGw9Mn0gV3JpdGVCdWZmZXJNb2RlOw0KLQ0KLQlTZXJpYWxQb3J0KFVJTlQzMiBiYXVkUmF0ZSwgVUlOVDggZGF0YUJpdHMgPSA4LCBQYXJpdHkgcGFyaXR5ID0ga1Bhcml0eV9Ob25lLCBTdG9wQml0cyBzdG9wQml0cyA9IGtTdG9wQml0c19PbmUpOw0KLQl+U2VyaWFsUG9ydCgpOw0KLQl2b2lkIFNldEZsb3dDb250cm9sKEZsb3dDb250cm9sIGZsb3dDb250cm9sKTsNCi0Jdm9pZCBFbmFibGVUZXJtaW5hdGlvbihjaGFyIHRlcm1pbmF0b3IgPSAnXG4nKTsNCi0Jdm9pZCBEaXNhYmxlVGVybWluYXRpb24oKTsNCi0JSU5UMzIgR2V0Qnl0ZXNSZWNlaXZlZCgpOw0KLQl2b2lkIFByaW50Zihjb25zdCBjaGFyICp3cml0ZUZtdCwgLi4uKTsNCi0Jdm9pZCBTY2FuZihjb25zdCBjaGFyICpyZWFkRm10LCAuLi4pOw0KLQlVSU5UMzIgUmVhZChjaGFyICpidWZmZXIsIElOVDMyIGNvdW50KTsNCi0JVUlOVDMyIFdyaXRlKGNvbnN0IGNoYXIgKmJ1ZmZlciwgSU5UMzIgY291bnQpOw0KLQl2b2lkIFNldFRpbWVvdXQoZmxvYXQgdGltZW91dCk7DQotCXZvaWQgU2V0UmVhZEJ1ZmZlclNpemUoVUlOVDMyIHNpemUpOw0KLQl2b2lkIFNldFdyaXRlQnVmZmVyU2l6ZShVSU5UMzIgc2l6ZSk7DQotCXZvaWQgU2V0V3JpdGVCdWZmZXJNb2RlKFdyaXRlQnVmZmVyTW9kZSBtb2RlKTsNCi0Jdm9pZCBGbHVzaCgpOw0KLQl2b2lkIFJlc2V0KCk7DQotDQotCS8qDQotCSAqIERvIG5vdCBjYWxsIG1lIQ0KLQkgKi8NCi0JLy92b2lkIF9pbnRlcm5hbEhhbmRsZXIoVUlOVDMyIHBvcnQsIFVJTlQzMiBldmVudFR5cGUsIFVJTlQzMiBldmVudCk7DQotcHJpdmF0ZToNCi0JVUlOVDMyIG1fcmVzb3VyY2VNYW5hZ2VySGFuZGxlOw0KLQlVSU5UMzIgbV9wb3J0SGFuZGxlOw0KLQlib29sIG1fY29uc29sZU1vZGVFbmFibGVkOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oU2VyaWFsUG9ydCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJ2by5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJ2by5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MmU4MDUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2Vydm8uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTYyICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlNlcnZvLmgiDQotDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLQ0KLWNvbnN0IGZsb2F0IFNlcnZvOjprTWF4U2Vydm9BbmdsZTsNCi1jb25zdCBmbG9hdCBTZXJ2bzo6a01pblNlcnZvQW5nbGU7DQotDQotLyoqDQotICogQ29tbW9uIGluaXRpYWxpemF0aW9uIGNvZGUgY2FsbGVkIGJ5IGFsbCBjb25zdHJ1Y3RvcnMuDQotICoNCi0gKiBJbml0U2Vydm8oKSBhc3NpZ25zIGRlZmF1bHRzIGZvciB0aGUgcGVyaW9kIG11bHRpcGxpZXIgZm9yIHRoZSBzZXJ2byBQV00gY29udHJvbCBzaWduYWwsIGFzDQotICogd2VsbCBhcyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBQV00gdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgc2Vydm8uDQotICovDQotdm9pZCBTZXJ2bzo6SW5pdFNlcnZvKCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQkvLyBUT0RPOiBjb21wdXRlIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMgYmFzZWQgb24gZGlnaXRhbCBsb29wIHRpbWluZw0KLQlTZXRCb3VuZHMoMjQ1LCAwLCAwLCAwLCAxMSk7DQotCVNldFBlcmlvZE11bHRpcGxpZXIoa1BlcmlvZE11bHRpcGxpZXJfNFgpOw0KLQ0KLQ0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRBY3R1YXRvcigiU2Vydm8iLCBHZXRNb2R1bGVOdW1iZXIoKSwgR2V0Q2hhbm5lbCgpLCB0aGlzKTsNCi0JblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1NlcnZvLCBHZXRDaGFubmVsKCksIEdldE1vZHVsZU51bWJlcigpIC0gMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yIHRoYXQgYXNzdW1lcyB0aGUgZGVmYXVsdCBkaWdpdGFsIG1vZHVsZS4NCi0gKg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBQV00gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdG8gd2hpY2ggdGhlIHNlcnZvIGlzIGF0dGFjaGVkLg0KLSAqLw0KLVNlcnZvOjpTZXJ2byhVSU5UMzIgY2hhbm5lbCkgOiBTYWZlUFdNKGNoYW5uZWwpDQotew0KLQlJbml0U2Vydm8oKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgdGhhdCBzcGVjaWZpZXMgdGhlIGRpZ2l0YWwgbW9kdWxlLg0KLSAqDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIG9uIHRoZSBkaWdpdGFsIG1vZHVsZSB0byB3aGljaCB0aGUgc2Vydm8gaXMgYXR0YWNoZWQgKDEuLjEwKS4NCi0gKi8NCi1TZXJ2bzo6U2Vydm8oVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkgOiBTYWZlUFdNKG1vZHVsZU51bWJlciwgY2hhbm5lbCkNCi17DQotCUluaXRTZXJ2bygpOw0KLX0NCi0NCi1TZXJ2bzo6flNlcnZvKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc2Vydm8gcG9zaXRpb24uDQotICoNCi0gKiBTZXJ2byB2YWx1ZXMgcmFuZ2UgZnJvbSAwLjAgdG8gMS4wIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJhbmdlIG9mIGZ1bGwgbGVmdCB0byBmdWxsIHJpZ2h0Lg0KLSAqDQotICogQHBhcmFtIHZhbHVlIFBvc2l0aW9uIGZyb20gMC4wIHRvIDEuMC4NCi0gKi8NCi12b2lkIFNlcnZvOjpTZXQoZmxvYXQgdmFsdWUpDQotew0KLQlTZXRQb3NpdGlvbih2YWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgc2Vydm8gdG8gb2ZmbGluZS4NCi0gKiANCi0gKiBTZXQgdGhlIHNlcnZvIHJhdyB2YWx1ZSB0byAwICh1bmRyaXZlbikNCi0gKi8NCi12b2lkIFNlcnZvOjpTZXRPZmZsaW5lKCkgew0KLQlTZXRSYXcoMCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc2Vydm8gcG9zaXRpb24uDQotICoNCi0gKiBTZXJ2byB2YWx1ZXMgcmFuZ2UgZnJvbSAwLjAgdG8gMS4wIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJhbmdlIG9mIGZ1bGwgbGVmdCB0byBmdWxsIHJpZ2h0Lg0KLSAqDQotICogQHJldHVybiBQb3NpdGlvbiBmcm9tIDAuMCB0byAxLjAuDQotICovDQotZmxvYXQgU2Vydm86OkdldCgpDQotew0KLQlyZXR1cm4gR2V0UG9zaXRpb24oKTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzZXJ2byBhbmdsZS4NCi0gKg0KLSAqIEFzc3VtZSB0aGF0IHRoZSBzZXJ2byBhbmdsZSBpcyBsaW5lYXIgd2l0aCByZXNwZWN0IHRvIHRoZSBQV00gdmFsdWUgKGJpZyBhc3N1bXB0aW9uLCBuZWVkIHRvIHRlc3QpLg0KLSAqDQotICogU2Vydm8gYW5nbGVzIHRoYXQgYXJlIG91dCBvZiB0aGUgc3VwcG9ydGVkIHJhbmdlIG9mIHRoZSBzZXJ2byBzaW1wbHkgInNhdHVyYXRlIiBpbiB0aGF0IGRpcmVjdGlvbg0KLSAqIEluIG90aGVyIHdvcmRzLCBpZiB0aGUgc2Vydm8gaGFzIGEgcmFuZ2Ugb2YgKFggZGVncmVlcyB0byBZIGRlZ3JlZXMpIHRoYW4gYW5nbGVzIG9mIGxlc3MgdGhhbiBYDQotICogcmVzdWx0IGluIGFuIGFuZ2xlIG9mIFggYmVpbmcgc2V0IGFuZCBhbmdsZXMgb2YgbW9yZSB0aGFuIFkgZGVncmVlcyByZXN1bHQgaW4gYW4gYW5nbGUgb2YgWSBiZWluZyBzZXQuDQotICoNCi0gKiBAcGFyYW0gZGVncmVlcyBUaGUgYW5nbGUgaW4gZGVncmVlcyB0byBzZXQgdGhlIHNlcnZvLg0KLSAqLw0KLXZvaWQgU2Vydm86OlNldEFuZ2xlKGZsb2F0IGRlZ3JlZXMpDQotew0KLQlpZiAoZGVncmVlcyA8IGtNaW5TZXJ2b0FuZ2xlKQ0KLQl7DQotCQlkZWdyZWVzID0ga01pblNlcnZvQW5nbGU7DQotCX0NCi0JZWxzZSBpZiAoZGVncmVlcyA+IGtNYXhTZXJ2b0FuZ2xlKQ0KLQl7DQotCQlkZWdyZWVzID0ga01heFNlcnZvQW5nbGU7DQotCX0NCi0NCi0JU2V0UG9zaXRpb24oKChmbG9hdCkgKGRlZ3JlZXMgLSBrTWluU2Vydm9BbmdsZSkpIC8gR2V0U2Vydm9BbmdsZVJhbmdlKCkpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHNlcnZvIGFuZ2xlLg0KLSAqDQotICogQXNzdW1lIHRoYXQgdGhlIHNlcnZvIGFuZ2xlIGlzIGxpbmVhciB3aXRoIHJlc3BlY3QgdG8gdGhlIFBXTSB2YWx1ZSAoYmlnIGFzc3VtcHRpb24sIG5lZWQgdG8gdGVzdCkuDQotICogQHJldHVybiBUaGUgYW5nbGUgaW4gZGVncmVlcyB0byB3aGljaCB0aGUgc2Vydm8gaXMgc2V0Lg0KLSAqLw0KLWZsb2F0IFNlcnZvOjpHZXRBbmdsZSgpDQotew0KLQlyZXR1cm4gKGZsb2F0KUdldFBvc2l0aW9uKCkgKiBHZXRTZXJ2b0FuZ2xlUmFuZ2UoKSArIGtNaW5TZXJ2b0FuZ2xlOw0KLX0NCi0NCi12b2lkIFNlcnZvOjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpIHsNCi0JU2V0KHZhbHVlLmYpOw0KLX0NCi0NCi12b2lkIFNlcnZvOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldCgpKTsNCi0JfQ0KLX0NCi0NCi12b2lkIFNlcnZvOjpTdGFydExpdmVXaW5kb3dNb2RlKCkgew0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5BZGRUYWJsZUxpc3RlbmVyKCJWYWx1ZSIsIHRoaXMsIHRydWUpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgU2Vydm86OlN0b3BMaXZlV2luZG93TW9kZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UmVtb3ZlVGFibGVMaXN0ZW5lcih0aGlzKTsNCi0JfQ0KLX0NCi0NCi1zdGQ6OnN0cmluZyBTZXJ2bzo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIlNlcnZvIjsNCi19DQotDQotdm9pZCBTZXJ2bzo6SW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpIHsNCi0JbV90YWJsZSA9IHN1YlRhYmxlOw0KLQlVcGRhdGVUYWJsZSgpOw0KLX0NCi0NCi1JVGFibGUgKiBTZXJ2bzo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJ2by5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2Vydm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VjMTU4OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TZXJ2by5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFNFUlZPX0gNCi0jZGVmaW5lIFNFUlZPX0gNCi0NCi0jaW5jbHVkZSAiU2FmZVBXTS5oIg0KLSNpbmNsdWRlICJTcGVlZENvbnRyb2xsZXIuaCINCi0NCi0vKioNCi0gKiBTdGFuZGFyZCBob2JieSBzdHlsZSBzZXJ2by4NCi0gKiANCi0gKiBUaGUgcmFuZ2UgcGFyYW1ldGVycyBkZWZhdWx0IHRvIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMgZm9yIHRoZSBIaXRlYyBIUy0zMjJIRCBzZXJ2byBwcm92aWRlZA0KLSAqIGluIHRoZSBGSVJTVCBLaXQgb2YgUGFydHMgaW4gMjAwOC4NCi0gKi8NCi1jbGFzcyBTZXJ2byA6IHB1YmxpYyBTYWZlUFdNDQotew0KLXB1YmxpYzoNCi0JZXhwbGljaXQgU2Vydm8oVUlOVDMyIGNoYW5uZWwpOw0KLQlTZXJ2byhVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JdmlydHVhbCB+U2Vydm8oKTsNCi0Jdm9pZCBTZXQoZmxvYXQgdmFsdWUpOw0KLQl2b2lkIFNldE9mZmxpbmUoKTsNCi0JZmxvYXQgR2V0KCk7DQotCXZvaWQgU2V0QW5nbGUoZmxvYXQgYW5nbGUpOw0KLQlmbG9hdCBHZXRBbmdsZSgpOw0KLQlzdGF0aWMgZmxvYXQgR2V0TWF4QW5nbGUoKSB7IHJldHVybiBrTWF4U2Vydm9BbmdsZTsgfTsNCi0Jc3RhdGljIGZsb2F0IEdldE1pbkFuZ2xlKCkgeyByZXR1cm4ga01pblNlcnZvQW5nbGU7IH07DQotCQ0KLQl2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotCXZvaWQgVXBkYXRlVGFibGUoKTsNCi0Jdm9pZCBTdGFydExpdmVXaW5kb3dNb2RlKCk7DQotCXZvaWQgU3RvcExpdmVXaW5kb3dNb2RlKCk7DQotCXN0ZDo6c3RyaW5nIEdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpOw0KLQl2b2lkIEluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKTsNCi0JSVRhYmxlICogR2V0VGFibGUoKTsNCi0JDQotCUlUYWJsZSAqbV90YWJsZTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRTZXJ2bygpOw0KLQlmbG9hdCBHZXRTZXJ2b0FuZ2xlUmFuZ2UoKSB7cmV0dXJuIGtNYXhTZXJ2b0FuZ2xlIC0ga01pblNlcnZvQW5nbGU7fQ0KLQ0KLQlzdGF0aWMgY29uc3QgZmxvYXQga01heFNlcnZvQW5nbGUgPSAxNzAuMDsNCi0Jc3RhdGljIGNvbnN0IGZsb2F0IGtNaW5TZXJ2b0FuZ2xlID0gMC4wOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2ltcGxlUm9ib3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2ltcGxlUm9ib3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYmU3ZjhhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NpbXBsZVJvYm90LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE1MiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJTaW1wbGVSb2JvdC5oIg0KLQ0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIlRpbWVyLmgiDQotI2luY2x1ZGUgIlNtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZS5oIg0KLQ0KLVNpbXBsZVJvYm90OjpTaW1wbGVSb2JvdCgpDQotCTogbV9yb2JvdE1haW5PdmVycmlkZGVuICh0cnVlKQ0KLXsNCi0JbV93YXRjaGRvZy5TZXRFbmFibGVkKGZhbHNlKTsNCi19DQotDQotLyoqDQotICogUm9ib3Qtd2lkZSBpbml0aWFsaXphdGlvbiBjb2RlIHNob3VsZCBnbyBoZXJlLg0KLSAqIA0KLSAqIFByb2dyYW1tZXJzIHNob3VsZCBvdmVycmlkZSB0aGlzIG1ldGhvZCBmb3IgZGVmYXVsdCBSb2JvdC13aWRlIGluaXRpYWxpemF0aW9uIHdoaWNoIHdpbGwNCi0gKiBiZSBjYWxsZWQgZWFjaCB0aW1lIHRoZSByb2JvdCBlbnRlcnMgdGhlIGRpc2FibGVkIHN0YXRlLg0KLSAqLw0KLXZvaWQgU2ltcGxlUm9ib3Q6OlJvYm90SW5pdCgpDQotew0KLQlwcmludGYoIkRlZmF1bHQgJXMoKSBtZXRob2QuLi4gT3ZlcnJpZGUgbWUhXG4iLCBfX0ZVTkNUSU9OX18pOw0KLX0NCi0NCi0vKioNCi0gKiBEaXNhYmxlZCBzaG91bGQgZ28gaGVyZS4NCi0gKiBQcm9ncmFtbWVycyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcnVuIGNvZGUgdGhhdCBzaG91bGQgcnVuIHdoaWxlIHRoZSBmaWVsZCBpcw0KLSAqIGRpc2FibGVkLg0KLSAqLw0KLXZvaWQgU2ltcGxlUm9ib3Q6OkRpc2FibGVkKCkNCi17DQotCXByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVycmlkZSBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEF1dG9ub21vdXMgc2hvdWxkIGdvIGhlcmUuDQotICogUHJvZ3JhbW1lcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHJ1biBjb2RlIHRoYXQgc2hvdWxkIHJ1biB3aGlsZSB0aGUgZmllbGQgaXMNCi0gKiBpbiB0aGUgYXV0b25vbW91cyBwZXJpb2QuIFRoaXMgd2lsbCBiZSBjYWxsZWQgb25jZSBlYWNoIHRpbWUgdGhlIHJvYm90IGVudGVycyB0aGUNCi0gKiBhdXRvbm9tb3VzIHN0YXRlLg0KLSAqLw0KLXZvaWQgU2ltcGxlUm9ib3Q6OkF1dG9ub21vdXMoKQ0KLXsNCi0JcHJpbnRmKCJEZWZhdWx0ICVzKCkgbWV0aG9kLi4uIE92ZXJyaWRlIG1lIVxuIiwgX19GVU5DVElPTl9fKTsNCi19DQotDQotLyoqDQotICogT3BlcmF0b3IgY29udHJvbCAodGVsZS1vcGVyYXRlZCkgY29kZSBzaG91bGQgZ28gaGVyZS4NCi0gKiBQcm9ncmFtbWVycyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcnVuIGNvZGUgdGhhdCBzaG91bGQgcnVuIHdoaWxlIHRoZSBmaWVsZCBpcw0KLSAqIGluIHRoZSBPcGVyYXRvciBDb250cm9sICh0ZWxlLW9wZXJhdGVkKSBwZXJpb2QuIFRoaXMgaXMgY2FsbGVkIG9uY2UgZWFjaCB0aW1lIHRoZSByb2JvdA0KLSAqIGVudGVycyB0aGUgdGVsZW9wIHN0YXRlLg0KLSAqLw0KLXZvaWQgU2ltcGxlUm9ib3Q6Ok9wZXJhdG9yQ29udHJvbCgpDQotew0KLQlwcmludGYoIkRlZmF1bHQgJXMoKSBtZXRob2QuLi4gT3ZlcnJpZGUgbWUhXG4iLCBfX0ZVTkNUSU9OX18pOw0KLX0NCi0NCi0vKioNCi0gKiBUZXN0IHByb2dyYW0gc2hvdWxkIGdvIGhlcmUuDQotICogUHJvZ3JhbW1lcnMgc2hvdWxkIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHJ1biBjb2RlIHRoYXQgZXhlY3V0ZXMgd2hpbGUgdGhlIHJvYm90IGlzDQotICogaW4gdGVzdCBtb2RlLiBUaGlzIHdpbGwgYmUgY2FsbGVkIG9uY2Ugd2hlbmV2ZXIgdGhlIHJvYm90IGVudGVycyB0ZXN0IG1vZGUNCi0gKi8NCi12b2lkIFNpbXBsZVJvYm90OjpUZXN0KCkNCi17DQotCXByaW50ZigiRGVmYXVsdCAlcygpIG1ldGhvZC4uLiBPdmVycmlkZSBtZSFcbiIsIF9fRlVOQ1RJT05fXyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJvYm90IG1haW4gcHJvZ3JhbSBmb3IgZnJlZS1mb3JtIHByb2dyYW1zLg0KLSAqIA0KLSAqIFRoaXMgc2hvdWxkIGJlIG92ZXJyaWRkZW4gYnkgdXNlciBzdWJjbGFzc2VzIGlmIHRoZSBpbnRlbnQgaXMgdG8gbm90IHVzZSB0aGUgQXV0b25vbW91cygpIGFuZA0KLSAqIE9wZXJhdG9yQ29udHJvbCgpIG1ldGhvZHMuIEluIHRoYXQgY2FzZSwgdGhlIHByb2dyYW0gaXMgcmVzcG9uc2libGUgZm9yIHNlbnNpbmcgd2hlbiB0byBydW4NCi0gKiB0aGUgYXV0b25vbW91cyBhbmQgb3BlcmF0b3IgY29udHJvbCBmdW5jdGlvbnMgaW4gdGhlaXIgcHJvZ3JhbS4NCi0gKiANCi0gKiBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgY29uc3RydWN0b3IgaXMgY2FsbGVkLiBJZiBpdCBoYXMgbm90IGJlZW4NCi0gKiBvdmVycmlkZGVuIGJ5IGEgdXNlciBzdWJjbGFzcyAoaS5lLiB0aGUgZGVmYXVsdCB2ZXJzaW9uIHJ1bnMpLCB0aGVuIHRoZSBBdXRvbm9tb3VzKCkgYW5kDQotICogT3BlcmF0b3JDb250cm9sKCkgbWV0aG9kcyB3aWxsIGJlIGNhbGxlZC4NCi0gKi8NCi12b2lkIFNpbXBsZVJvYm90OjpSb2JvdE1haW4oKQ0KLXsNCi0JbV9yb2JvdE1haW5PdmVycmlkZGVuID0gZmFsc2U7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXJ0IGEgY29tcGV0aXRpb24uDQotICogVGhpcyBjb2RlIG5lZWRzIHRvIHRyYWNrIHRoZSBvcmRlciBvZiB0aGUgZmllbGQgc3RhcnRpbmcgdG8gZW5zdXJlIHRoYXQgZXZlcnl0aGluZyBoYXBwZW5zDQotICogaW4gdGhlIHJpZ2h0IG9yZGVyLiBSZXBlYXRlZGx5IHJ1biB0aGUgY29ycmVjdCBtZXRob2QsIGVpdGhlciBBdXRvbm9tb3VzIG9yIE9wZXJhdG9yQ29udHJvbA0KLSAqIG9yIFRlc3Qgd2hlbiB0aGUgcm9ib3QgaXMgZW5hYmxlZC4gQWZ0ZXIgcnVubmluZyB0aGUgY29ycmVjdCBtZXRob2QsIHdhaXQgZm9yIHNvbWUgc3RhdGUgdG8NCi0gKiBjaGFuZ2UsIGVpdGhlciB0aGUgb3RoZXIgbW9kZSBzdGFydHMgb3IgdGhlIHJvYm90IGlzIGRpc2FibGVkLiBUaGVuIGdvIGJhY2sgYW5kIHdhaXQgZm9yIHRoZQ0KLSAqIHJvYm90IHRvIGJlIGVuYWJsZWQgYWdhaW4uDQotICovDQotdm9pZCBTaW1wbGVSb2JvdDo6U3RhcnRDb21wZXRpdGlvbigpDQotew0KLQlMaXZlV2luZG93ICpsdyA9IExpdmVXaW5kb3c6OkdldEluc3RhbmNlKCk7DQotDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9GcmFtZXdvcmssIG5Vc2FnZVJlcG9ydGluZzo6a0ZyYW1ld29ya19TaW1wbGUpOw0KLQ0KLQlTbWFydERhc2hib2FyZDo6aW5pdCgpOw0KLQlOZXR3b3JrVGFibGU6OkdldFRhYmxlKCJMaXZlV2luZG93IiktPkdldFN1YlRhYmxlKCJ+U1RBVFVTfiIpLT5QdXRCb29sZWFuKCJMVyBFbmFibGVkIiwgZmFsc2UpOw0KLQ0KLQlSb2JvdE1haW4oKTsNCi0JDQotCWlmICghbV9yb2JvdE1haW5PdmVycmlkZGVuKQ0KLQl7DQotCQkvLyBmaXJzdCBhbmQgb25lLXRpbWUgaW5pdGlhbGl6YXRpb24NCi0JCQ0KLQkJbHctPlNldEVuYWJsZWQoZmFsc2UpOw0KLQkJDQotCQlSb2JvdEluaXQoKTsNCi0NCi0JCXdoaWxlICh0cnVlKQ0KLQkJew0KLQkJCWlmIChJc0Rpc2FibGVkKCkpDQotCQkJew0KLQkJCQltX2RzLT5JbkRpc2FibGVkKHRydWUpOw0KLQkJCQlEaXNhYmxlZCgpOw0KLQkJCQltX2RzLT5JbkRpc2FibGVkKGZhbHNlKTsNCi0JCQkJd2hpbGUgKElzRGlzYWJsZWQoKSkgbV9kcy0+V2FpdEZvckRhdGEoKTsNCi0JCQl9DQotCQkJZWxzZSBpZiAoSXNBdXRvbm9tb3VzKCkpDQotCQkJew0KLQkJCQltX2RzLT5JbkF1dG9ub21vdXModHJ1ZSk7DQotCQkJCUF1dG9ub21vdXMoKTsNCi0JCQkJbV9kcy0+SW5BdXRvbm9tb3VzKGZhbHNlKTsNCi0JCQkJd2hpbGUgKElzQXV0b25vbW91cygpICYmIElzRW5hYmxlZCgpKSBtX2RzLT5XYWl0Rm9yRGF0YSgpOw0KLQkJCX0NCi0gICAgICAgICAgICBlbHNlIGlmIChJc1Rlc3QoKSkNCi0gICAgICAgICAgICB7DQotICAgICAgICAgICAgCWx3LT5TZXRFbmFibGVkKHRydWUpOw0KLSAgICAgICAgICAgICAgICBtX2RzLT5JblRlc3QodHJ1ZSk7DQotICAgICAgICAgICAgICAgIFRlc3QoKTsNCi0gICAgICAgICAgICAgICAgbV9kcy0+SW5UZXN0KGZhbHNlKTsNCi0gICAgICAgICAgICAgICAgd2hpbGUgKElzVGVzdCgpICYmIElzRW5hYmxlZCgpKSBtX2RzLT5XYWl0Rm9yRGF0YSgpOw0KLSAgICAgICAgICAgICAgICBsdy0+U2V0RW5hYmxlZChmYWxzZSk7DQotICAgICAgICAgICAgfQ0KLQkJCWVsc2UNCi0JCQl7DQotCQkJCW1fZHMtPkluT3BlcmF0b3JDb250cm9sKHRydWUpOw0KLQkJCQlPcGVyYXRvckNvbnRyb2woKTsNCi0JCQkJbV9kcy0+SW5PcGVyYXRvckNvbnRyb2woZmFsc2UpOw0KLQkJCQl3aGlsZSAoSXNPcGVyYXRvckNvbnRyb2woKSAmJiBJc0VuYWJsZWQoKSkgbV9kcy0+V2FpdEZvckRhdGEoKTsNCi0JCQl9DQotCQl9DQotCX0NCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2ltcGxlUm9ib3QuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NpbXBsZVJvYm90LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjNzBjYmQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU2ltcGxlUm9ib3QuaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBTSU1QTEVfUk9CT1RfSA0KLSNkZWZpbmUgU0lNUExFX1JPQk9UX0gNCi0NCi0jaW5jbHVkZSAiUm9ib3RCYXNlLmgiDQotDQotLyoqDQotICogQHRvZG8gSWYgdGhpcyBpcyBnb2luZyB0byBsYXN0IHVudGlsIHJlbGVhc2UsIGl0IG5lZWRzIGEgYmV0dGVyIG5hbWUuDQotICovDQotY2xhc3MgU2ltcGxlUm9ib3Q6IHB1YmxpYyBSb2JvdEJhc2UNCi17DQotcHVibGljOg0KLQlTaW1wbGVSb2JvdCgpOw0KLQl2aXJ0dWFsIH5TaW1wbGVSb2JvdCgpIHt9DQotCXZpcnR1YWwgdm9pZCBSb2JvdEluaXQoKTsNCi0JdmlydHVhbCB2b2lkIERpc2FibGVkKCk7DQotCXZpcnR1YWwgdm9pZCBBdXRvbm9tb3VzKCk7DQotICAgIHZpcnR1YWwgdm9pZCBPcGVyYXRvckNvbnRyb2woKTsNCi0gICAgdmlydHVhbCB2b2lkIFRlc3QoKTsNCi0JdmlydHVhbCB2b2lkIFJvYm90TWFpbigpOw0KLQl2b2lkIFN0YXJ0Q29tcGV0aXRpb24oKTsNCi0NCi1wcml2YXRlOg0KLQlib29sIG1fcm9ib3RNYWluT3ZlcnJpZGRlbjsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NrZWxldG9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Ta2VsZXRvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWU5MjM0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NrZWxldG9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TS0VMRVRPTl9IX18NCi0jZGVmaW5lIF9fU0tFTEVUT05fSF9fDQotDQotLyoqDQotICogUmVwcmVzZW50cyBTa2VsZXRvbiBkYXRhIGZyb20gYSBLaW5lY3QgZGV2aWNlIGNvbm5lY3RlZCB0byB0aGUgDQotICogRHJpdmVyIFN0YXRpb24uIFNlZSBHZXR0aW5nIFN0YXJ0ZWQgd2l0aCBNaWNyb3NvZnQgS2luZWN0IGZvciANCi0gKiBGUkMgYW5kIHRoZSBLaW5lY3QgZm9yIFdpbmRvd3MgU0RLIEFQSSByZWZlcmVuY2UgZm9yIG1vcmUgaW5mb3JtYXRpb24NCi0gKi8NCi1jbGFzcyBTa2VsZXRvbg0KLXsNCi0JZnJpZW5kIGNsYXNzIEtpbmVjdDsNCi1wdWJsaWM6DQotCXR5cGVkZWYgZW51bQ0KLQl7DQotCQlIaXBDZW50ZXIgPSAwLA0KLQkJU3BpbmUgPSAxLA0KLQkJU2hvdWxkZXJDZW50ZXIgPSAyLA0KLQkJSGVhZCA9IDMsDQotCQlTaG91bGRlckxlZnQgPSA0LA0KLQkJRWxib3dMZWZ0ID0gNSwNCi0JCVdyaXN0TGVmdCA9IDYsDQotCQlIYW5kTGVmdCA9IDcsDQotCQlTaG91bGRlclJpZ2h0ID0gOCwNCi0JCUVsYm93UmlnaHQgPSA5LA0KLQkJV3Jpc3RSaWdodCA9IDEwLA0KLQkJSGFuZFJpZ2h0ID0gMTEsDQotCQlIaXBMZWZ0ID0gMTIsDQotCQlLbmVlTGVmdCA9IDEzLA0KLQkJQW5rbGVMZWZ0ID0gMTQsDQotCQlGb290TGVmdCA9IDE1LA0KLQkJSGlwUmlnaHQgPSAxNiwNCi0JCUtuZWVSaWdodCA9IDE3LA0KLQkJQW5rbGVSaWdodCA9IDE4LA0KLQkJRm9vdFJpZ2h0ID0gMTksDQotCQlKb2ludENvdW50ID0gMjANCi0JfSBKb2ludFR5cGVzOw0KLQ0KLQl0eXBlZGVmIGVudW0ge2tOb3RUcmFja2VkLCBrSW5mZXJyZWQsIGtUcmFja2VkfSBKb2ludFRyYWNraW5nU3RhdGU7DQotDQotCXR5cGVkZWYgc3RydWN0DQotCXsNCi0JCWZsb2F0IHg7DQotCQlmbG9hdCB5Ow0KLQkJZmxvYXQgejsNCi0JCUpvaW50VHJhY2tpbmdTdGF0ZSB0cmFja2luZ1N0YXRlOw0KLQl9IEpvaW50Ow0KLQ0KLQlKb2ludCBHZXRIYW5kUmlnaHQoKSB7IHJldHVybiBtX2pvaW50c1tIYW5kUmlnaHRdOyB9DQotCUpvaW50IEdldEhhbmRMZWZ0KCkgeyByZXR1cm4gbV9qb2ludHNbSGFuZExlZnRdOyB9DQotCUpvaW50IEdldFdyaXN0UmlnaHQoKSB7IHJldHVybiBtX2pvaW50c1tXcmlzdFJpZ2h0XTsgfQ0KLQlKb2ludCBHZXRXcmlzdExlZnQoKSB7IHJldHVybiBtX2pvaW50c1tXcmlzdExlZnRdOyB9DQotCUpvaW50IEdldEVsYm93TGVmdCgpIHsgcmV0dXJuIG1fam9pbnRzW0VsYm93TGVmdF07IH0NCi0JSm9pbnQgR2V0RWxib3dSaWdodCgpIHsgcmV0dXJuIG1fam9pbnRzW0VsYm93UmlnaHRdOyB9DQotCUpvaW50IEdldFNob3VsZGVyTGVmdCgpIHsgcmV0dXJuIG1fam9pbnRzW1Nob3VsZGVyTGVmdF07IH0NCi0JSm9pbnQgR2V0U2hvdWxkZXJSaWdodCgpIHsgcmV0dXJuIG1fam9pbnRzW1Nob3VsZGVyUmlnaHRdOyB9DQotCUpvaW50IEdldFNob3VsZGVyQ2VudGVyKCkgeyByZXR1cm4gbV9qb2ludHNbU2hvdWxkZXJDZW50ZXJdOyB9DQotCUpvaW50IEdldEhlYWQoKSB7IHJldHVybiBtX2pvaW50c1tIZWFkXTsgfQ0KLQlKb2ludCBHZXRTcGluZSgpIHsgcmV0dXJuIG1fam9pbnRzW1NwaW5lXTsgfQ0KLQlKb2ludCBHZXRIaXBDZW50ZXIoKSB7IHJldHVybiBtX2pvaW50c1tIaXBDZW50ZXJdOyB9DQotCUpvaW50IEdldEhpcFJpZ2h0KCkgeyByZXR1cm4gbV9qb2ludHNbSGlwUmlnaHRdOyB9DQotCUpvaW50IEdldEhpcExlZnQoKSB7IHJldHVybiBtX2pvaW50c1tIaXBMZWZ0XTsgfQ0KLQlKb2ludCBHZXRLbmVlTGVmdCgpIHsgcmV0dXJuIG1fam9pbnRzW0tuZWVMZWZ0XTsgfQ0KLQlKb2ludCBHZXRLbmVlUmlnaHQoKSB7IHJldHVybiBtX2pvaW50c1tLbmVlUmlnaHRdOyB9DQotCUpvaW50IEdldEFua2xlTGVmdCgpIHsgcmV0dXJuIG1fam9pbnRzW0Fua2xlTGVmdF07IH0NCi0JSm9pbnQgR2V0QW5rbGVSaWdodCgpIHsgcmV0dXJuIG1fam9pbnRzW0Fua2xlUmlnaHRdOyB9DQotCUpvaW50IEdldEZvb3RMZWZ0KCkgeyByZXR1cm4gbV9qb2ludHNbRm9vdExlZnRdOyB9DQotCUpvaW50IEdldEZvb3RSaWdodCgpIHsgcmV0dXJuIG1fam9pbnRzW0Zvb3RSaWdodF07IH0NCi0JSm9pbnQgR2V0Sm9pbnRWYWx1ZShKb2ludFR5cGVzIGluZGV4KSB7IHJldHVybiBtX2pvaW50c1tpbmRleF07IH0NCi0NCi1wcml2YXRlOg0KLQlKb2ludCBtX2pvaW50c1syMF07DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TbWFydERhc2hib2FyZC9OYW1lZFNlbmRhYmxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TbWFydERhc2hib2FyZC9OYW1lZFNlbmRhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyMzBlZmEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU21hcnREYXNoYm9hcmQvTmFtZWRTZW5kYWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyoNCi0gKiBOYW1lZFNlbmRhYmxlLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTksIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5BTUVEU0VOREFCTEVfSF8NCi0jZGVmaW5lIE5BTUVEU0VOREFCTEVfSF8NCi0NCi0NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLSNpbmNsdWRlICJTbWFydERhc2hib2FyZC9TZW5kYWJsZS5oIg0KLQ0KLS8qKg0KLSAqIFRoZSBpbnRlcmZhY2UgZm9yIHNlbmRhYmxlIG9iamVjdHMgdGhhdCBnaXZlcyB0aGUgc2VuZGFibGUgYSBkZWZhdWx0IG5hbWUgaW4gdGhlIFNtYXJ0IERhc2hib2FyZA0KLSAqIA0KLSAqLw0KLWNsYXNzIE5hbWVkU2VuZGFibGUgOiBwdWJsaWMgU2VuZGFibGUNCi17DQotcHVibGljOg0KLQ0KLSAgICAvKioNCi0gICAgICogQHJldHVybiB0aGUgbmFtZSBvZiB0aGUgc3VidGFibGUgb2YgU21hcnREYXNoYm9hcmQgdGhhdCB0aGUgU2VuZGFibGUgb2JqZWN0IHdpbGwgdXNlDQotICAgICAqLw0KLQl2aXJ0dWFsIHN0ZDo6c3RyaW5nIEdldE5hbWUoKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogTkFNRURTRU5EQUJMRV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NlbmRhYmxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TbWFydERhc2hib2FyZC9TZW5kYWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTMyMmI4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NlbmRhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TTUFSVF9EQVNIQk9BUkRfREFUQV9fDQotI2RlZmluZSBfX1NNQVJUX0RBU0hCT0FSRF9EQVRBX18NCi0NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotDQotY2xhc3MgU2VuZGFibGUNCi17DQotcHVibGljOg0KLQkvKioNCi0JICogSW5pdGlhbGl6ZXMgYSB0YWJsZSBmb3IgdGhpcyBzZW5kYWJsZSBvYmplY3QuDQotCSAqIEBwYXJhbSBzdWJ0YWJsZSBUaGUgdGFibGUgdG8gcHV0IHRoZSB2YWx1ZXMgaW4uDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgSW5pdFRhYmxlKElUYWJsZSogc3VidGFibGUpID0gMDsNCi0NCi0JLyoqDQotCSAqIEByZXR1cm4gdGhlIHRhYmxlIHRoYXQgaXMgY3VycmVudGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VuZGFibGUNCi0JICovDQotCXZpcnR1YWwgSVRhYmxlKiBHZXRUYWJsZSgpID0gMDsNCi0NCi0JLyoqDQotCSAqIEByZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbmFtZWQgZGF0YSB0eXBlIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRoZSBzbWFydCBkYXNoYm9hcmQgZm9yIHRoaXMgc2VuZGFibGUNCi0JICovDQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCkgPSAwOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NlbmRhYmxlQ2hvb3Nlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxOThiZWEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDExLiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlNtYXJ0RGFzaGJvYXJkL1NlbmRhYmxlQ2hvb3Nlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmgiDQotDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotDQotc3RhdGljIGNvbnN0IGNoYXIgKmtEZWZhdWx0ID0gImRlZmF1bHQiOw0KLXN0YXRpYyBjb25zdCBjaGFyICprT3B0aW9ucyA9ICJvcHRpb25zIjsNCi1zdGF0aWMgY29uc3QgY2hhciAqa1NlbGVjdGVkID0gInNlbGVjdGVkIjsNCi0NCi1TZW5kYWJsZUNob29zZXI6OlNlbmRhYmxlQ2hvb3NlcigpDQotew0KLQltX2RlZmF1bHRDaG9pY2UgPSAiIjsNCi19DQotDQotLyoqDQotICogQWRkcyB0aGUgZ2l2ZW4gb2JqZWN0IHRvIHRoZSBsaXN0IG9mIG9wdGlvbnMuICBPbiB0aGUge0BsaW5rIFNtYXJ0RGFzaGJvYXJkfSBvbiB0aGUgZGVza3RvcCwNCi0gKiB0aGUgb2JqZWN0IHdpbGwgYXBwZWFyIGFzIHRoZSBnaXZlbiBuYW1lLg0KLSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBvcHRpb24NCi0gKiBAcGFyYW0gb2JqZWN0IHRoZSBvcHRpb24NCi0gKi8NCi12b2lkIFNlbmRhYmxlQ2hvb3Nlcjo6QWRkT2JqZWN0KGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKm9iamVjdCkNCi17DQotCW1fY2hvaWNlc1tuYW1lXSA9IG9iamVjdDsNCi19DQotDQotLyoqDQotICogQWRkIHRoZSBnaXZlbiBvYmplY3QgdG8gdGhlIGxpc3Qgb2Ygb3B0aW9ucyBhbmQgbWFya3MgaXQgYXMgdGhlIGRlZmF1bHQuDQotICogRnVuY3Rpb25hbGx5LCB0aGlzIGlzIHZlcnkgY2xvc2UgdG8ge0BsaW5rIFNlbmRhYmxlQ2hvb3NlciNBZGRPYmplY3QoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqb2JqZWN0KSBBZGRPYmplY3QoLi4uKX0NCi0gKiBleGNlcHQgdGhhdCBpdCB3aWxsIHVzZSB0aGlzIGFzIHRoZSBkZWZhdWx0IG9wdGlvbiBpZiBub25lIG90aGVyIGlzIGV4cGxpY2l0bHkgc2VsZWN0ZWQuDQotICogQHBhcmFtIG5hbWUgdGhlIG5hbWUgb2YgdGhlIG9wdGlvbg0KLSAqIEBwYXJhbSBvYmplY3QgdGhlIG9wdGlvbg0KLSAqLw0KLXZvaWQgU2VuZGFibGVDaG9vc2VyOjpBZGREZWZhdWx0KGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKm9iamVjdCkNCi17DQotCW1fZGVmYXVsdENob2ljZSA9IG5hbWU7DQotCUFkZE9iamVjdChuYW1lLCBvYmplY3QpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBvcHRpb24uICBJZiB0aGVyZSBpcyBub25lIHNlbGVjdGVkLCBpdCB3aWxsIHJldHVybiB0aGUgZGVmYXVsdC4gIElmIHRoZXJlIGlzIG5vbmUgc2VsZWN0ZWQNCi0gKiBhbmQgbm8gZGVmYXVsdCwgdGhlbiBpdCB3aWxsIHJldHVybiB7QGNvZGUgTlVMTH0uDQotICogQHJldHVybiB0aGUgb3B0aW9uIHNlbGVjdGVkDQotICovDQotdm9pZCAqU2VuZGFibGVDaG9vc2VyOjpHZXRTZWxlY3RlZCgpDQotew0KLQlzdGQ6OnN0cmluZyBzZWxlY3RlZCA9IG1fdGFibGUtPkdldFN0cmluZyhrU2VsZWN0ZWQsIG1fZGVmYXVsdENob2ljZSk7DQotCWlmIChzZWxlY3RlZCA9PSAiIikNCi0JCXJldHVybiBOVUxMOw0KLQllbHNlDQotCQlyZXR1cm4gbV9jaG9pY2VzW3NlbGVjdGVkXTsNCi19DQotDQotdm9pZCBTZW5kYWJsZUNob29zZXI6OkluaXRUYWJsZShJVGFibGUqIHN1YnRhYmxlKSB7DQotCVN0cmluZ0FycmF5IGtleXM7DQotCW1fdGFibGUgPSBzdWJ0YWJsZTsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJc3RkOjptYXA8c3RkOjpzdHJpbmcsIHZvaWQgKj46Oml0ZXJhdG9yIGl0ZXI7DQotCQlmb3IgKGl0ZXIgPSBtX2Nob2ljZXMuYmVnaW4oKTsgaXRlciAhPSBtX2Nob2ljZXMuZW5kKCk7IGl0ZXIrKykgew0KLQkJCWtleXMuYWRkKGl0ZXItPmZpcnN0KTsNCi0JCX0NCi0JCW1fdGFibGUtPlB1dFZhbHVlKGtPcHRpb25zLCBrZXlzKTsNCi0JCW1fdGFibGUtPlB1dFN0cmluZyhrRGVmYXVsdCwgbV9kZWZhdWx0Q2hvaWNlKTsNCi0JfQ0KLX0NCi0NCi1JVGFibGUqIFNlbmRhYmxlQ2hvb3Nlcjo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCi1zdGQ6OnN0cmluZyBTZW5kYWJsZUNob29zZXI6OkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpIHsNCi0JcmV0dXJuICJTdHJpbmcgQ2hvb3NlciI7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NlbmRhYmxlQ2hvb3Nlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1NDFhMjEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU21hcnREYXNoYm9hcmQvU2VuZGFibGVDaG9vc2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TRU5EQUJMRV9DSE9PU0VSX0hfXw0KLSNkZWZpbmUgX19TRU5EQUJMRV9DSE9PU0VSX0hfXw0KLQ0KLSNpbmNsdWRlICJTbWFydERhc2hib2FyZC9TZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotI2luY2x1ZGUgPG1hcD4NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLS8qKg0KLSAqIFRoZSB7QGxpbmsgU2VuZGFibGVDaG9vc2VyfSBjbGFzcyBpcyBhIHVzZWZ1bCB0b29sIGZvciBwcmVzZW50aW5nIGEgc2VsZWN0aW9uIG9mIG9wdGlvbnMNCi0gKiB0byB0aGUge0BsaW5rIFNtYXJ0RGFzaGJvYXJkfS4NCi0gKg0KLSAqIDxwPkZvciBpbnN0YW5jZSwgeW91IG1heSB3aXNoIHRvIGJlIGFibGUgdG8gc2VsZWN0IGJldHdlZW4gbXVsdGlwbGUgYXV0b25vbW91cyBtb2Rlcy4NCi0gKiBZb3UgY2FuIGRvIHRoaXMgYnkgcHV0dGluZyBldmVyeSBwb3NzaWJsZSB7QGxpbmsgQ29tbWFuZH0geW91IHdhbnQgdG8gcnVuIGFzIGFuIGF1dG9ub21vdXMgaW50bw0KLSAqIGEge0BsaW5rIFNlbmRhYmxlQ2hvb3Nlcn0gYW5kIHRoZW4gcHV0IGl0IGludG8gdGhlIHtAbGluayBTbWFydERhc2hib2FyZH0gdG8gaGF2ZSBhIGxpc3Qgb2Ygb3B0aW9ucw0KLSAqIGFwcGVhciBvbiB0aGUgbGFwdG9wLiAgT25jZSBhdXRvbm9tb3VzIHN0YXJ0cywgc2ltcGx5IGFzayB0aGUge0BsaW5rIFNlbmRhYmxlQ2hvb3Nlcn0gd2hhdCB0aGUgc2VsZWN0ZWQNCi0gKiB2YWx1ZSBpcy48L3A+DQotICoNCi0gKiBAc2VlIFNtYXJ0RGFzaGJvYXJkDQotICovDQotY2xhc3MgU2VuZGFibGVDaG9vc2VyIDogcHVibGljIFNlbmRhYmxlDQotew0KLXB1YmxpYzoNCi0JU2VuZGFibGVDaG9vc2VyKCk7DQotCXZpcnR1YWwgflNlbmRhYmxlQ2hvb3NlcigpIHt9Ow0KLQ0KLQl2b2lkIEFkZE9iamVjdChjb25zdCBjaGFyICpuYW1lLCB2b2lkICpvYmplY3QpOw0KLQl2b2lkIEFkZERlZmF1bHQoY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqb2JqZWN0KTsNCi0Jdm9pZCAqR2V0U2VsZWN0ZWQoKTsNCi0NCi0JdmlydHVhbCB2b2lkIEluaXRUYWJsZShJVGFibGUqIHN1YnRhYmxlKTsNCi0JdmlydHVhbCBJVGFibGUqIEdldFRhYmxlKCk7DQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotDQotcHJpdmF0ZToNCi0Jc3RkOjpzdHJpbmcgbV9kZWZhdWx0Q2hvaWNlOw0KLQlzdGQ6Om1hcDxzdGQ6OnN0cmluZywgdm9pZCAqPiBtX2Nob2ljZXM7DQotCUlUYWJsZSAqbV90YWJsZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmMxYzNlMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TbWFydERhc2hib2FyZC9TbWFydERhc2hib2FyZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNzkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMTEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0NCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiTmFtZWRTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuaCINCi0NCi1JVGFibGUqIFNtYXJ0RGFzaGJvYXJkOjptX3RhYmxlID0gTlVMTDsNCi1zdGQ6Om1hcDxJVGFibGUgKiwgU2VuZGFibGUgKj4gU21hcnREYXNoYm9hcmQ6Om1fdGFibGVzVG9EYXRhOw0KLQ0KLXZvaWQgU21hcnREYXNoYm9hcmQ6OmluaXQoKXsNCi0JbV90YWJsZSA9IE5ldHdvcmtUYWJsZTo6R2V0VGFibGUoIlNtYXJ0RGFzaGJvYXJkIik7DQotfQ0KLQ0KLS8vVE9ETyB1c2FnZSByZXBvcnRpbmcNCi0NCi0vKioNCi0gKiBNYXBzIHRoZSBzcGVjaWZpZWQga2V5IHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgaW4gdGhpcyB0YWJsZS4NCi0gKiBUaGUga2V5IGNhbiBub3QgYmUgTlVMTC4NCi0gKiBUaGUgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCBieSBjYWxsaW5nIHRoZSBnZXQgbWV0aG9kIHdpdGggYSBrZXkgdGhhdCBpcyBlcXVhbCB0byB0aGUgb3JpZ2luYWwga2V5Lg0KLSAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkNCi0gKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlDQotICovDQotdm9pZCBTbWFydERhc2hib2FyZDo6UHV0RGF0YShzdGQ6OnN0cmluZyBrZXksIFNlbmRhYmxlICpkYXRhKQ0KLXsNCi0JaWYgKGRhdGEgPT0gTlVMTCkNCi0Jew0KLQkJLy9UT0RPIHdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJ2YWx1ZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotICAgIElUYWJsZSogZGF0YVRhYmxlID0gbV90YWJsZS0+R2V0U3ViVGFibGUoa2V5KTsNCi0gICAgZGF0YVRhYmxlLT5QdXRTdHJpbmcoIn5UWVBFfiIsIGRhdGEtPkdldFNtYXJ0RGFzaGJvYXJkVHlwZSgpKTsNCi0gICAgZGF0YS0+SW5pdFRhYmxlKGRhdGFUYWJsZSk7DQotICAgIG1fdGFibGVzVG9EYXRhW2RhdGFUYWJsZV0gPSBkYXRhOw0KLX0NCi0NCi0vKioNCi0gKiBNYXBzIHRoZSBzcGVjaWZpZWQga2V5ICh3aGVyZSB0aGUga2V5IGlzIHRoZSBuYW1lIG9mIHRoZSB7QGxpbmsgU21hcnREYXNoYm9hcmROYW1lZERhdGF9DQotICogdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGlzIHRhYmxlLg0KLSAqIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZQ0KLSAqLw0KLXZvaWQgU21hcnREYXNoYm9hcmQ6OlB1dERhdGEoTmFtZWRTZW5kYWJsZSAqdmFsdWUpDQotew0KLQlpZiAodmFsdWUgPT0gTlVMTCkNCi0Jew0KLQkJLy9UT0RPIHdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE51bGxQYXJhbWV0ZXIsICJ2YWx1ZSIpOw0KLQkJcmV0dXJuOw0KLQl9DQotCVB1dERhdGEodmFsdWUtPkdldE5hbWUoKSwgdmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSB2YWx1ZSBhdCB0aGUgc3BlY2lmaWVkIGtleS4NCi0gKiBAcGFyYW0ga2V5TmFtZSB0aGUga2V5DQotICogQHJldHVybiB0aGUgdmFsdWUNCi0gKi8NCi0vL1RPRE8gU2VuZGFibGUgKlNtYXJ0RGFzaGJvYXJkOjpHZXREYXRhKHN0ZDo6c3RyaW5nIGtleSkNCi0vKnsNCi0JSVRhYmxlKiBzdWJ0YWJsZSA9IG1fdGFibGUtPkdldFN1YlRhYmxlKGtleU5hbWUpOw0KLQlTZW5kYWJsZSAqZGF0YSA9IG1fdGFibGVzVG9EYXRhW3N1YnRhYmxlXTsNCi0JaWYgKGRhdGEgPT0gTlVMTCkNCi0Jew0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoU21hcnREYXNoYm9hcmRNaXNzaW5nS2V5LCBrZXlOYW1lKTsNCi0JCXJldHVybiBOVUxMOw0KLQl9DQotICAgIHJldHVybiBkYXRhOw0KLX0qLw0KLQ0KLS8qKg0KLSAqIE1hcHMgdGhlIHNwZWNpZmllZCBrZXkgdG8gdGhlIHNwZWNpZmllZCBjb21wbGV4IHZhbHVlIChzdWNoIGFzIGFuIGFycmF5KSBpbiB0aGlzIHRhYmxlLg0KLSAqIFRoZSBrZXkgY2FuIG5vdCBiZSBOVUxMLg0KLSAqIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIFJldHJpZXZlVmFsdWUgbWV0aG9kIHdpdGggYSBrZXkgdGhhdCBpcyBlcXVhbCB0byB0aGUgb3JpZ2luYWwga2V5Lg0KLSAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkNCi0gKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlDQotICovDQotdm9pZCBTbWFydERhc2hib2FyZDo6UHV0VmFsdWUoc3RkOjpzdHJpbmcga2V5TmFtZSwgQ29tcGxleERhdGEmIHZhbHVlKQ0KLXsNCi0JbV90YWJsZS0+UHV0VmFsdWUoa2V5TmFtZSwgdmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXRyaWV2ZXMgdGhlIGNvbXBsZXggdmFsdWUgKHN1Y2ggYXMgYW4gYXJyYXkpIGluIHRoaXMgdGFibGUgaW50byB0aGUgY29tcGxleCBkYXRhIG9iamVjdA0KLSAqIFRoZSBrZXkgY2FuIG5vdCBiZSBOVUxMLg0KLSAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkNCi0gKiBAcGFyYW0gdmFsdWUgdGhlIG9iamVjdCB0byByZXRyaWV2ZSB0aGUgdmFsdWUgaW50bw0KLSAqLw0KLXZvaWQgU21hcnREYXNoYm9hcmQ6OlJldHJpZXZlVmFsdWUoc3RkOjpzdHJpbmcga2V5TmFtZSwgQ29tcGxleERhdGEmIHZhbHVlKQ0KLXsNCi0JbV90YWJsZS0+UmV0cmlldmVWYWx1ZShrZXlOYW1lLCB2YWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIE1hcHMgdGhlIHNwZWNpZmllZCBrZXkgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGlzIHRhYmxlLg0KLSAqIFRoZSBrZXkgY2FuIG5vdCBiZSBOVUxMLg0KLSAqIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotICogQHBhcmFtIGtleU5hbWUgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFNtYXJ0RGFzaGJvYXJkOjpQdXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleU5hbWUsIGJvb2wgdmFsdWUpDQotew0KLQltX3RhYmxlLT5QdXRCb29sZWFuKGtleU5hbWUsIHZhbHVlKTsNCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUgdmFsdWUgYXQgdGhlIHNwZWNpZmllZCBrZXkuDQotICogQHBhcmFtIGtleU5hbWUgdGhlIGtleQ0KLSAqIEByZXR1cm4gdGhlIHZhbHVlDQotICovDQotYm9vbCBTbWFydERhc2hib2FyZDo6R2V0Qm9vbGVhbihzdGQ6OnN0cmluZyBrZXlOYW1lKQ0KLXsNCi0JcmV0dXJuIG1fdGFibGUtPkdldEJvb2xlYW4oa2V5TmFtZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIE1hcHMgdGhlIHNwZWNpZmllZCBrZXkgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGlzIHRhYmxlLg0KLSAqIFRoZSBrZXkgY2FuIG5vdCBiZSBOVUxMLg0KLSAqIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotICogQHBhcmFtIGtleU5hbWUgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFNtYXJ0RGFzaGJvYXJkOjpQdXROdW1iZXIoc3RkOjpzdHJpbmcga2V5TmFtZSwgZG91YmxlIHZhbHVlKXsNCi0JbV90YWJsZS0+UHV0TnVtYmVyKGtleU5hbWUsIHZhbHVlKTsNCi19DQotDQotLyoqDQotICogUmV0dXJucyB0aGUgdmFsdWUgYXQgdGhlIHNwZWNpZmllZCBrZXkuDQotICogQHBhcmFtIGtleU5hbWUgdGhlIGtleQ0KLSAqIEByZXR1cm4gdGhlIHZhbHVlDQotICovDQotZG91YmxlIFNtYXJ0RGFzaGJvYXJkOjpHZXROdW1iZXIoc3RkOjpzdHJpbmcga2V5TmFtZSkNCi17DQotCXJldHVybiBtX3RhYmxlLT5HZXROdW1iZXIoa2V5TmFtZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIE1hcHMgdGhlIHNwZWNpZmllZCBrZXkgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGlzIHRhYmxlLg0KLSAqIE5laXRoZXIgdGhlIGtleSBub3IgdGhlIHZhbHVlIGNhbiBiZSBOVUxMLg0KLSAqIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotICogQHBhcmFtIGtleU5hbWUgdGhlIGtleQ0KLSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUNCi0gKi8NCi12b2lkIFNtYXJ0RGFzaGJvYXJkOjpQdXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5TmFtZSwgc3RkOjpzdHJpbmcgdmFsdWUpDQotew0KLQltX3RhYmxlLT5QdXRTdHJpbmcoa2V5TmFtZSwgdmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSB2YWx1ZSBhdCB0aGUgc3BlY2lmaWVkIGtleS4NCi0gKiBAcGFyYW0ga2V5TmFtZSB0aGUga2V5DQotICogQHBhcmFtIHZhbHVlIHRoZSBidWZmZXIgdG8gZmlsbCB3aXRoIHRoZSB2YWx1ZQ0KLSAqIEBwYXJhbSB2YWx1ZUxlbiB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHBvaW50ZWQgdG8gYnkgdmFsdWUNCi0gKiBAcmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZw0KLSAqLw0KLWludCBTbWFydERhc2hib2FyZDo6R2V0U3RyaW5nKHN0ZDo6c3RyaW5nIGtleU5hbWUsIGNoYXIgKm91dEJ1ZmZlciwgdW5zaWduZWQgaW50IGJ1ZmZlckxlbil7DQotCXN0ZDo6c3RyaW5nIHZhbHVlID0gbV90YWJsZS0+R2V0U3RyaW5nKGtleU5hbWUpOw0KLQl1bnNpZ25lZCBpbnQgaTsNCi0JZm9yKGkgPSAwOyBpPGJ1ZmZlckxlbi0xJiZpPHZhbHVlLmxlbmd0aCgpOyArK2kpDQotCQlvdXRCdWZmZXJbaV0gPSAoY2hhcil2YWx1ZS5hdChpKTsNCi0Jb3V0QnVmZmVyW2ldID0gJ1wwJzsNCi0JcmV0dXJuIGk7DQotfQ0KLQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdGhlIHZhbHVlIGF0IHRoZSBzcGVjaWZpZWQga2V5Lg0KLSAqIEBwYXJhbSBrZXlOYW1lIHRoZSBrZXkNCi0gKiBAcmV0dXJuIHRoZSB2YWx1ZQ0KLSAqLw0KLXN0ZDo6c3RyaW5nIFNtYXJ0RGFzaGJvYXJkOjpHZXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5TmFtZSkNCi17DQotCXJldHVybiBtX3RhYmxlLT5HZXRTdHJpbmcoa2V5TmFtZSk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TbWFydERhc2hib2FyZC9TbWFydERhc2hib2FyZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTZjNmZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NtYXJ0RGFzaGJvYXJkL1NtYXJ0RGFzaGJvYXJkLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAxMS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19TTUFSVF9EQVNIQk9BUkRfSF9fDQotI2RlZmluZSBfX1NNQVJUX0RBU0hCT0FSRF9IX18NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlIDxtYXA+DQotI2luY2x1ZGUgPHN0cmluZz4NCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU2VuZGFibGUuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvTmFtZWRTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotDQotDQotY2xhc3MgU21hcnREYXNoYm9hcmQgOiBwdWJsaWMgU2Vuc29yQmFzZQ0KLXsNCi1wdWJsaWM6DQotCXN0YXRpYyB2b2lkIGluaXQoKTsNCi0JDQotCXN0YXRpYyB2b2lkIFB1dERhdGEoc3RkOjpzdHJpbmcga2V5LCBTZW5kYWJsZSAqZGF0YSk7DQotCXN0YXRpYyB2b2lkIFB1dERhdGEoTmFtZWRTZW5kYWJsZSAqdmFsdWUpOw0KLQkvL3N0YXRpYyBTZW5kYWJsZSogR2V0RGF0YShzdGQ6OnN0cmluZyBrZXlOYW1lKTsNCi0JDQotCXN0YXRpYyB2b2lkIFB1dEJvb2xlYW4oc3RkOjpzdHJpbmcga2V5TmFtZSwgYm9vbCB2YWx1ZSk7DQotCXN0YXRpYyBib29sIEdldEJvb2xlYW4oc3RkOjpzdHJpbmcga2V5TmFtZSk7DQotCQ0KLQlzdGF0aWMgdm9pZCBQdXROdW1iZXIoc3RkOjpzdHJpbmcga2V5TmFtZSwgZG91YmxlIHZhbHVlKTsNCi0Jc3RhdGljIGRvdWJsZSBHZXROdW1iZXIoc3RkOjpzdHJpbmcga2V5TmFtZSk7DQotCQ0KLQlzdGF0aWMgdm9pZCBQdXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5TmFtZSwgc3RkOjpzdHJpbmcgdmFsdWUpOw0KLQlzdGF0aWMgaW50IEdldFN0cmluZyhzdGQ6OnN0cmluZyBrZXlOYW1lLCBjaGFyICp2YWx1ZSwgdW5zaWduZWQgaW50IHZhbHVlTGVuKTsNCi0Jc3RhdGljIHN0ZDo6c3RyaW5nIEdldFN0cmluZyhzdGQ6OnN0cmluZyBrZXlOYW1lKTsNCi0JDQotCXN0YXRpYyB2b2lkIFB1dFZhbHVlKHN0ZDo6c3RyaW5nIGtleU5hbWUsIENvbXBsZXhEYXRhJiB2YWx1ZSk7DQotCXN0YXRpYyB2b2lkIFJldHJpZXZlVmFsdWUoc3RkOjpzdHJpbmcga2V5TmFtZSwgQ29tcGxleERhdGEmIHZhbHVlKTsNCi1wcml2YXRlOg0KLQlTbWFydERhc2hib2FyZCgpOw0KLQl2aXJ0dWFsIH5TbWFydERhc2hib2FyZCgpOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oU21hcnREYXNoYm9hcmQpOw0KLQ0KLQkvKiogVGhlIHtAbGluayBOZXR3b3JrVGFibGV9IHVzZWQgYnkge0BsaW5rIFNtYXJ0RGFzaGJvYXJkfSAqLw0KLQlzdGF0aWMgSVRhYmxlKiBtX3RhYmxlOw0KLQkNCi0JLyoqIA0KLQkgKiBBIG1hcCBsaW5raW5nIHRhYmxlcyBpbiB0aGUgU21hcnREYXNoYm9hcmQgdG8gdGhlIHtAbGluayBTbWFydERhc2hib2FyZERhdGF9IG9iamVjdHMNCi0JICogdGhleSBjYW1lIGZyb20uDQotCSAqLw0KLQlzdGF0aWMgc3RkOjptYXA8SVRhYmxlICosIFNlbmRhYmxlICo+IG1fdGFibGVzVG9EYXRhOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU29sZW5vaWQuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU29sZW5vaWQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYjc1M2QzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJTb2xlbm9pZC5oIg0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9Vc2FnZVJlcG9ydGluZy5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotLyoqDQotICogQ29tbW9uIGZ1bmN0aW9uIHRvIGltcGxlbWVudCBjb25zdHJ1Y3RvciBiZWhhdmlvci4NCi0gKi8NCi12b2lkIFNvbGVub2lkOjpJbml0U29sZW5vaWQoKQ0KLXsNCi0JbV90YWJsZSA9IE5VTEw7DQotCWNoYXIgYnVmWzY0XTsNCi0JaWYgKCFDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJc25wcmludGYoYnVmLCA2NCwgIlNvbGVub2lkIE1vZHVsZSAlZCIsIG1fbW9kdWxlTnVtYmVyKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgYnVmKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlpZiAoIUNoZWNrU29sZW5vaWRDaGFubmVsKG1fY2hhbm5lbCkpDQotCXsNCi0JCXNucHJpbnRmKGJ1ZiwgNjQsICJTb2xlbm9pZCBDaGFubmVsICVkIiwgbV9jaGFubmVsKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KENoYW5uZWxJbmRleE91dE9mUmFuZ2UsIGJ1Zik7DQotCQlyZXR1cm47DQotCX0NCi0JUmVzb3VyY2U6OkNyZWF0ZVJlc291cmNlT2JqZWN0KCZtX2FsbG9jYXRlZCwgdFNvbGVub2lkOjprTnVtRE83XzBFbGVtZW50cyAqIGtTb2xlbm9pZENoYW5uZWxzKTsNCi0NCi0Jc25wcmludGYoYnVmLCA2NCwgIlNvbGVub2lkICVkIChNb2R1bGU6ICVkKSIsIG1fY2hhbm5lbCwgbV9tb2R1bGVOdW1iZXIpOw0KLQlpZiAobV9hbGxvY2F0ZWQtPkFsbG9jYXRlKChtX21vZHVsZU51bWJlciAtIDEpICoga1NvbGVub2lkQ2hhbm5lbHMgKyBtX2NoYW5uZWwgLSAxLCBidWYpID09IH4wdWwpDQotCXsNCi0JCUNsb25lRXJyb3IobV9hbGxvY2F0ZWQpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCUxpdmVXaW5kb3c6OkdldEluc3RhbmNlKCktPkFkZEFjdHVhdG9yKCJTb2xlbm9pZCIsIG1fbW9kdWxlTnVtYmVyLCBtX2NoYW5uZWwsIHRoaXMpOw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfU29sZW5vaWQsIG1fY2hhbm5lbCwgbV9tb2R1bGVOdW1iZXIgLSAxKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IuDQotICogDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIGNoYW5uZWwgb24gdGhlIHNvbGVub2lkIG1vZHVsZSB0byBjb250cm9sICgxLi44KS4NCi0gKi8NCi1Tb2xlbm9pZDo6U29sZW5vaWQoVUlOVDMyIGNoYW5uZWwpDQotCTogU29sZW5vaWRCYXNlIChHZXREZWZhdWx0U29sZW5vaWRNb2R1bGUoKSkNCi0JLCBtX2NoYW5uZWwgKGNoYW5uZWwpDQotew0KLQlJbml0U29sZW5vaWQoKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgc29sZW5vaWQgbW9kdWxlICgxIG9yIDIpLg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBjaGFubmVsIG9uIHRoZSBzb2xlbm9pZCBtb2R1bGUgdG8gY29udHJvbCAoMS4uOCkuDQotICovDQotU29sZW5vaWQ6OlNvbGVub2lkKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpDQotCTogU29sZW5vaWRCYXNlIChtb2R1bGVOdW1iZXIpDQotCSwgbV9jaGFubmVsIChjaGFubmVsKQ0KLXsNCi0JSW5pdFNvbGVub2lkKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3IuDQotICovDQotU29sZW5vaWQ6On5Tb2xlbm9pZCgpDQotew0KLQlpZiAoQ2hlY2tTb2xlbm9pZE1vZHVsZShtX21vZHVsZU51bWJlcikpDQotCXsNCi0JCW1fYWxsb2NhdGVkLT5GcmVlKChtX21vZHVsZU51bWJlciAtIDEpICoga1NvbGVub2lkQ2hhbm5lbHMgKyBtX2NoYW5uZWwgLSAxKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBTZXQgdGhlIHZhbHVlIG9mIGEgc29sZW5vaWQuDQotICogDQotICogQHBhcmFtIG9uIFR1cm4gdGhlIHNvbGVub2lkIG91dHB1dCBvZmYgb3Igb24uDQotICovDQotdm9pZCBTb2xlbm9pZDo6U2V0KGJvb2wgb24pDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm47DQotCVVJTlQ4IHZhbHVlID0gb24gPyAweEZGIDogMHgwMDsNCi0JVUlOVDggbWFzayA9IDEgPDwgKG1fY2hhbm5lbCAtIDEpOw0KLQ0KLQlTb2xlbm9pZEJhc2U6OlNldCh2YWx1ZSwgbWFzayk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNvbGVub2lkLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNvbGVub2lkLg0KLSAqLw0KLWJvb2wgU29sZW5vaWQ6OkdldCgpDQotew0KLQlpZiAoU3RhdHVzSXNGYXRhbCgpKSByZXR1cm4gZmFsc2U7DQotCVVJTlQ4IHZhbHVlID0gR2V0QWxsKCkgJiAoIDEgPDwgKG1fY2hhbm5lbCAtIDEpKTsNCi0JcmV0dXJuICh2YWx1ZSAhPSAwKTsNCi19DQotDQotDQotdm9pZCBTb2xlbm9pZDo6VmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KSB7DQotCVNldCh2YWx1ZS5iKTsNCi19DQotDQotdm9pZCBTb2xlbm9pZDo6VXBkYXRlVGFibGUoKSB7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPlB1dEJvb2xlYW4oIlZhbHVlIiwgR2V0KCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgU29sZW5vaWQ6OlN0YXJ0TGl2ZVdpbmRvd01vZGUoKSB7DQotCVNldChmYWxzZSk7DQotCWlmIChtX3RhYmxlICE9IE5VTEwpIHsNCi0JCW1fdGFibGUtPkFkZFRhYmxlTGlzdGVuZXIoIlZhbHVlIiwgdGhpcywgdHJ1ZSk7DQotCX0NCi19DQotDQotdm9pZCBTb2xlbm9pZDo6U3RvcExpdmVXaW5kb3dNb2RlKCkgew0KLQlTZXQoZmFsc2UpOw0KLQlpZiAobV90YWJsZSAhPSBOVUxMKSB7DQotCQltX3RhYmxlLT5SZW1vdmVUYWJsZUxpc3RlbmVyKHRoaXMpOw0KLQl9DQotfQ0KLQ0KLXN0ZDo6c3RyaW5nIFNvbGVub2lkOjpHZXRTbWFydERhc2hib2FyZFR5cGUoKSB7DQotCXJldHVybiAiU29sZW5vaWQiOw0KLX0NCi0NCi12b2lkIFNvbGVub2lkOjpJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSkgew0KLQltX3RhYmxlID0gc3ViVGFibGU7DQotCVVwZGF0ZVRhYmxlKCk7DQotfQ0KLQ0KLUlUYWJsZSAqIFNvbGVub2lkOjpHZXRUYWJsZSgpIHsNCi0JcmV0dXJuIG1fdGFibGU7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Tb2xlbm9pZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmFmYjczLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgU09MRU5PSURfSF8NCi0jZGVmaW5lIFNPTEVOT0lEX0hfDQotDQotI2luY2x1ZGUgIlNvbGVub2lkQmFzZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0NCi0NCi0vKioNCi0gKiBTb2xlbm9pZCBjbGFzcyBmb3IgcnVubmluZyBoaWdoIHZvbHRhZ2UgRGlnaXRhbCBPdXRwdXQgKDk0NzIgbW9kdWxlKS4NCi0gKiANCi0gKiBUaGUgU29sZW5vaWQgY2xhc3MgaXMgdHlwaWNhbGx5IHVzZWQgZm9yIHBuZXVtYXRpY3Mgc29sZW5vaWRzLCBidXQgY291bGQgYmUgdXNlZA0KLSAqIGZvciBhbnkgZGV2aWNlIHdpdGhpbiB0aGUgY3VycmVudCBzcGVjIG9mIHRoZSA5NDcyIG1vZHVsZS4NCi0gKi8NCi1jbGFzcyBTb2xlbm9pZCA6IHB1YmxpYyBTb2xlbm9pZEJhc2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUsIHB1YmxpYyBJVGFibGVMaXN0ZW5lciB7DQotcHVibGljOg0KLQlleHBsaWNpdCBTb2xlbm9pZChVSU5UMzIgY2hhbm5lbCk7DQotCVNvbGVub2lkKFVJTlQ4IG1vZHVsZU51bWJlciwgVUlOVDMyIGNoYW5uZWwpOw0KLQl2aXJ0dWFsIH5Tb2xlbm9pZCgpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0KGJvb2wgb24pOw0KLQl2aXJ0dWFsIGJvb2wgR2V0KCk7DQotCQ0KLXZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi0Jdm9pZCBVcGRhdGVUYWJsZSgpOw0KLQl2b2lkIFN0YXJ0TGl2ZVdpbmRvd01vZGUoKTsNCi0Jdm9pZCBTdG9wTGl2ZVdpbmRvd01vZGUoKTsNCi0Jc3RkOjpzdHJpbmcgR2V0U21hcnREYXNoYm9hcmRUeXBlKCk7DQotCXZvaWQgSW5pdFRhYmxlKElUYWJsZSAqc3ViVGFibGUpOw0KLQlJVGFibGUgKiBHZXRUYWJsZSgpOw0KLQ0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdFNvbGVub2lkKCk7DQotDQotCVVJTlQzMiBtX2NoYW5uZWw7IC8vLzwgVGhlIGNoYW5uZWwgb24gdGhlIG1vZHVsZSB0byBjb250cm9sLg0KLQkNCi0JSVRhYmxlICptX3RhYmxlOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU29sZW5vaWRCYXNlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkQmFzZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhODc1MDUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU29sZW5vaWRCYXNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlNvbGVub2lkQmFzZS5oIg0KLQ0KLS8vIE5lZWRzIHRvIGJlIGdsb2JhbCBzaW5jZSB0aGUgcHJvdGVjdGVkIHJlc291cmNlIHNwYW5zIGFsbCBTb2xlbm9pZCBvYmplY3RzLg0KLVJlZW50cmFudFNlbWFwaG9yZSBTb2xlbm9pZEJhc2U6Om1fc2VtYXBob3JlOw0KLVJlc291cmNlICpTb2xlbm9pZEJhc2U6Om1fYWxsb2NhdGVkID0gTlVMTDsNCi0NCi10U29sZW5vaWQgKlNvbGVub2lkQmFzZTo6bV9mcGdhU29sZW5vaWRNb2R1bGUgPSBOVUxMOw0KLVVJTlQzMiBTb2xlbm9pZEJhc2U6Om1fcmVmQ291bnQgPSAwOw0KLQ0KLQ0KLS8qKg0KLSAqIENvbnN0cnVjdG9yDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgc29sZW5vaWQgbW9kdWxlICgxIG9yIDIpLg0KLSAqLw0KLVNvbGVub2lkQmFzZTo6U29sZW5vaWRCYXNlKFVJTlQ4IG1vZHVsZU51bWJlcikNCi0JOiBtX21vZHVsZU51bWJlciAobW9kdWxlTnVtYmVyKQ0KLXsNCi0JU3luY2hyb25pemVkIHN5bmMobV9zZW1hcGhvcmUpOw0KLQltX3JlZkNvdW50Kys7DQotCWlmIChtX3JlZkNvdW50ID09IDEpDQotCXsNCi0JCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQkJbV9mcGdhU29sZW5vaWRNb2R1bGUgPSB0U29sZW5vaWQ6OmNyZWF0ZSgmbG9jYWxTdGF0dXMpOw0KLQkJd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBEZXN0cnVjdG9yLg0KLSAqLw0KLVNvbGVub2lkQmFzZTo6flNvbGVub2lkQmFzZSgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3NlbWFwaG9yZSk7DQotCWlmIChDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJaWYgKG1fcmVmQ291bnQgPT0gMSkNCi0JCXsNCi0JCQlkZWxldGUgbV9mcGdhU29sZW5vaWRNb2R1bGU7DQotCQkJbV9mcGdhU29sZW5vaWRNb2R1bGUgPSBOVUxMOw0KLQkJfQ0KLQkJbV9yZWZDb3VudC0tOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgdmFsdWUgb2YgYSBzb2xlbm9pZC4NCi0gKiANCi0gKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHlvdSB3YW50IHRvIHNldCBvbiB0aGUgbW9kdWxlLg0KLSAqIEBwYXJhbSBtYXNrIFRoZSBjaGFubmVscyB5b3Ugd2FudCB0byBiZSBhZmZlY3RlZC4NCi0gKi8NCi12b2lkIFNvbGVub2lkQmFzZTo6U2V0KFVJTlQ4IHZhbHVlLCBVSU5UOCBtYXNrKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWlmIChDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV9zZW1hcGhvcmUpOw0KLQkJVUlOVDggY3VycmVudFZhbHVlID0gbV9mcGdhU29sZW5vaWRNb2R1bGUtPnJlYWRETzdfMChtX21vZHVsZU51bWJlciAtIDEsICZsb2NhbFN0YXR1cyk7DQotCQkvLyBaZXJvIG91dCB0aGUgdmFsdWVzIHRvIGNoYW5nZQ0KLQkJY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlICYgfm1hc2s7DQotCQljdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWUgfCAodmFsdWUgJiBtYXNrKTsNCi0JCW1fZnBnYVNvbGVub2lkTW9kdWxlLT53cml0ZURPN18wKG1fbW9kdWxlTnVtYmVyIC0gMSwgY3VycmVudFZhbHVlLCAmbG9jYWxTdGF0dXMpOw0KLQl9DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgYWxsIDggc29sZW5vaWRzIGFzIGEgc2luZ2xlIGJ5dGUNCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHZhbHVlIG9mIGFsbCA4IHNvbGVub2lkcyBvbiB0aGUgbW9kdWxlLg0KLSAqLw0KLVVJTlQ4IFNvbGVub2lkQmFzZTo6R2V0QWxsKCkNCi17DQotCWlmIChDaGVja1NvbGVub2lkTW9kdWxlKG1fbW9kdWxlTnVtYmVyKSkNCi0Jew0KLQkJdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCQlVSU5UOCBzb2xlbm9pZHMgPSBtX2ZwZ2FTb2xlbm9pZE1vZHVsZS0+cmVhZERPN18wKG1fbW9kdWxlTnVtYmVyIC0gMSwgJmxvY2FsU3RhdHVzKTsNCi0JCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCQlyZXR1cm4gc29sZW5vaWRzOw0KLQl9DQotCXJldHVybiAwOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9Tb2xlbm9pZEJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkQmFzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNGMzMjJjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NvbGVub2lkQmFzZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFNPTEVOT0lEX0JBU0VfSF8NCi0jZGVmaW5lIFNPTEVOT0lEX0JBU0VfSF8NCi0NCi0jaW5jbHVkZSAiUmVzb3VyY2UuaCINCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJDaGlwT2JqZWN0LmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLQ0KLS8qKg0KLSAqIFNvbGVub2lkQmFzZSBjbGFzcyBpcyB0aGUgY29tbW9uIGJhc2UgY2xhc3MgZm9yIHRoZSBTb2xlbm9pZCBhbmQNCi0gKiBEb3VibGVTb2xlbm9pZCBjbGFzc2VzLg0KLSAqLw0KLWNsYXNzIFNvbGVub2lkQmFzZSA6IHB1YmxpYyBTZW5zb3JCYXNlIHsNCi1wdWJsaWM6DQotCXZpcnR1YWwgflNvbGVub2lkQmFzZSgpOw0KLQlVSU5UOCBHZXRBbGwoKTsNCi0NCi1wcm90ZWN0ZWQ6DQotCWV4cGxpY2l0IFNvbGVub2lkQmFzZShVSU5UOCBtb2R1bGVOdW1iZXIpOw0KLQl2b2lkIFNldChVSU5UOCB2YWx1ZSwgVUlOVDggbWFzayk7DQotCXZpcnR1YWwgdm9pZCBJbml0U29sZW5vaWQoKSA9IDA7DQotDQotCVVJTlQzMiBtX21vZHVsZU51bWJlcjsgLy8vPCBTbG90IG51bWJlciB3aGVyZSB0aGUgbW9kdWxlIGlzIHBsdWdnZWQgaW50byB0aGUgY2hhc3Npcy4NCi0Jc3RhdGljIFJlc291cmNlICptX2FsbG9jYXRlZDsNCi0NCi1wcml2YXRlOg0KLQlzdGF0aWMgdFNvbGVub2lkICptX2ZwZ2FTb2xlbm9pZE1vZHVsZTsgLy8vPCBGUEdBIFNvbGVub2lkIE1vZHVsZSBvYmplY3QuDQotCXN0YXRpYyBVSU5UMzIgbV9yZWZDb3VudDsgLy8vPCBSZWZlcmVuY2UgY291bnQgZm9yIHRoZSBjaGlwIG9iamVjdC4NCi0Jc3RhdGljIFJlZW50cmFudFNlbWFwaG9yZSBtX3NlbWFwaG9yZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1NwZWVkQ29udHJvbGxlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU3BlZWRDb250cm9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMmU5ZGQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU3BlZWRDb250cm9sbGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgU1BFRURfQ09OVFJPTExFUl9IDQotI2RlZmluZSBTUEVFRF9DT05UUk9MTEVSX0gNCi0NCi0jaW5jbHVkZSA8dnhXb3Jrcy5oPg0KLSNpbmNsdWRlICJQSURPdXRwdXQuaCINCi0NCi0vKioNCi0gKiBJbnRlcmZhY2UgZm9yIHNwZWVkIGNvbnRyb2xsaW5nIGRldmljZXMuDQotICovDQotY2xhc3MgU3BlZWRDb250cm9sbGVyIDogcHVibGljIFBJRE91dHB1dA0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgflNwZWVkQ29udHJvbGxlcigpIHt9Ow0KLQkvKioNCi0JICogQ29tbW9uIGludGVyZmFjZSBmb3Igc2V0dGluZyB0aGUgc3BlZWQgb2YgYSBzcGVlZCBjb250cm9sbGVyLg0KLQkgKiANCi0JICogQHBhcmFtIHNwZWVkIFRoZSBzcGVlZCB0byBzZXQuICBWYWx1ZSBzaG91bGQgYmUgYmV0d2VlbiAtMS4wIGFuZCAxLjAuDQotCSAqIEBwYXJhbSBzeW5jR3JvdXAgVGhlIHVwZGF0ZSBncm91cCB0byBhZGQgdGhpcyBTZXQoKSB0bywgcGVuZGluZyBVcGRhdGVTeW5jR3JvdXAoKS4gIElmIDAsIHVwZGF0ZSBpbW1lZGlhdGVseS4NCi0JICovDQotCXZpcnR1YWwgdm9pZCBTZXQoZmxvYXQgc3BlZWQsIFVJTlQ4IHN5bmNHcm91cD0wKSA9IDA7DQotCS8qKg0KLQkgKiBDb21tb24gaW50ZXJmYWNlIGZvciBnZXR0aW5nIHRoZSBjdXJyZW50IHNldCBzcGVlZCBvZiBhIHNwZWVkIGNvbnRyb2xsZXIuDQotCSAqIA0KLQkgKiBAcmV0dXJuIFRoZSBjdXJyZW50IHNldCBzcGVlZC4gIFZhbHVlIGlzIGJldHdlZW4gLTEuMCBhbmQgMS4wLg0KLQkgKi8NCi0JdmlydHVhbCBmbG9hdCBHZXQoKSA9IDA7DQotCS8qKg0KLQkgKiBDb21tb24gaW50ZXJmYWNlIGZvciBkaXNhYmxpbmcgYSBtb3Rvci4NCi0JICovDQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlKCkgPSAwOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU3luY2hyb25pemVkLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1N5bmNocm9uaXplZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQwNDM4NzEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvU3luY2hyb25pemVkLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLQ0KLS8qKg0KLSAqIFN5bmNocm9uaXplZCBjbGFzcyBkZWFscyB3aXRoIGNyaXRpY2FsIHJlZ2lvbnMuDQotICogRGVjbGFyZSBhIFN5bmNocm9uaXplZCBvYmplY3QgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrLiBUaGF0IHdpbGwgdGFrZSB0aGUgc2VtYXBob3JlLg0KLSAqIFdoZW4gdGhlIGNvZGUgZXhpdHMgZnJvbSB0aGUgYmxvY2sgaXQgd2lsbCBjYWxsIHRoZSBkZXN0cnVjdG9yIHdoaWNoIHdpbGwgZ2l2ZSB0aGUgc2VtYXBob3JlLg0KLSAqIFRoaXMgZW5zdXJlcyB0aGF0IG5vIG1hdHRlciBob3cgdGhlIGJsb2NrIGlzIGV4aXRlZCwgdGhlIHNlbWFwaG9yZSB3aWxsIGFsd2F5cyBiZSByZWxlYXNlZC4NCi0gKiBVc2UgdGhlIENSSVRJQ0FMX1JFR0lPTihTRU1fSUQpIGFuZCBFTkRfUkVHSU9OIG1hY3JvcyB0byBtYWtlIHRoZSBjb2RlIGxvb2sgY2xlYW5lciAoc2VlIGhlYWRlciBmaWxlKQ0KLSAqIEBwYXJhbSBzZW1hcGhvcmUgVGhlIHNlbWFwaG9yZSBjb250cm9sbGluZyB0aGlzIGNyaXRpY2FsIHJlZ2lvbi4NCi0gKi8NCi1TeW5jaHJvbml6ZWQ6OlN5bmNocm9uaXplZChTRU1fSUQgc2VtYXBob3JlKQ0KLXsNCi0JbV9zZW1hcGhvcmUgPSBzZW1hcGhvcmU7DQotCXNlbVRha2UobV9zZW1hcGhvcmUsIFdBSVRfRk9SRVZFUik7DQotfQ0KLQ0KLVN5bmNocm9uaXplZDo6U3luY2hyb25pemVkKFJlZW50cmFudFNlbWFwaG9yZSYgc2VtYXBob3JlKQ0KLXsNCi0JbV9zZW1hcGhvcmUgPSBzZW1hcGhvcmUubV9zZW1hcGhvcmU7DQotCXNlbVRha2UobV9zZW1hcGhvcmUsIFdBSVRfRk9SRVZFUik7DQotfQ0KLQ0KLS8qKg0KLSAqIFRoaXMgZGVzdHJ1Y3RvciB1bmxvY2tzIHRoZSBzZW1hcGhvcmUuDQotICovDQotU3luY2hyb25pemVkOjp+U3luY2hyb25pemVkKCkNCi17DQotCXNlbUdpdmUobV9zZW1hcGhvcmUpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9TeW5jaHJvbml6ZWQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1N5bmNocm9uaXplZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjAwY2M1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1N5bmNocm9uaXplZC5oCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFNZTkNIUk9OSVpFRF9IDQotI2RlZmluZSBTWU5DSFJPTklaRURfSA0KLQ0KLSNpbmNsdWRlIDxzZW1MaWIuaD4NCi0NCi0jaW5jbHVkZSAiQmFzZS5oIg0KLQ0KLSNkZWZpbmUgQ1JJVElDQUxfUkVHSU9OKHMpIHsgU3luY2hyb25pemVkIF9zeW5jKHMpOw0KLSNkZWZpbmUgRU5EX1JFR0lPTiB9DQotDQotY2xhc3MgU3luY2hyb25pemVkOw0KLQ0KLS8qKg0KLSAqIFdyYXAgYSB2eFdvcmtzIHNlbWFwaG9yZSAoU0VNX0lEKSBmb3IgZWFzaWVyIHVzZSBpbiBDKysuIEZvciBhIHN0YXRpYw0KLSAqIGluc3RhbmNlLCB0aGUgY29uc3RydWN0b3IgcnVucyBhdCBwcm9ncmFtIGxvYWQgdGltZSBiZWZvcmUgbWFpbigpIGNhbiBzcGF3bg0KLSAqIGFueSB0YXNrcy4gVXNlIHRoYXQgdG8gZml4IHJhY2UgY29uZGl0aW9ucyBpbiBzZXR1cCBjb2RlLg0KLSAqDQotICogVGhpcyB1c2VzIGEgc2VtTSBzZW1hcGhvcmUgd2hpY2ggaXMgInJlZW50cmFudCIgaW4gdGhlIHNlbnNlIHRoYXQgdGhlIG93bmluZw0KLSAqIHRhc2sgY2FuICJ0YWtlIiB0aGUgc2VtYXBob3JlIG1vcmUgdGhhbiBvbmNlLiBJdCB3aWxsIG5lZWQgdG8gImdpdmUiIHRoZQ0KLSAqIHNlbWFwaG9yZSB0aGUgc2FtZSBudW1iZXIgb2YgdGltZXMgdG8gdW5sb2NrIGl0Lg0KLSAqDQotICogVGhpcyBjbGFzcyBpcyBzYWZlIHRvIHVzZSBpbiBzdGF0aWMgdmFyaWFibGVzIGJlY2F1c2UgaXQgZG9lcyBub3QgZGVwZW5kIG9uDQotICogYW55IG90aGVyIEMrKyBzdGF0aWMgY29uc3RydWN0b3JzIG9yIGRlc3RydWN0b3JzLg0KLSAqLw0KLWNsYXNzIFJlZW50cmFudFNlbWFwaG9yZQ0KLXsNCi1wdWJsaWM6DQotCWV4cGxpY2l0IFJlZW50cmFudFNlbWFwaG9yZSgpIHsNCi0JCW1fc2VtYXBob3JlID0gc2VtTUNyZWF0ZShTRU1fUV9QUklPUklUWSB8IFNFTV9ERUxFVEVfU0FGRSk7DQotCX0NCi0JflJlZW50cmFudFNlbWFwaG9yZSgpIHsNCi0JCXNlbURlbGV0ZShtX3NlbWFwaG9yZSk7DQotCX0NCi0NCi0JLyoqDQotCSAqIExvY2sgdGhlIHNlbWFwaG9yZSwgYmxvY2tpbmcgdW50aWwgaXQncyBhdmFpbGFibGUuDQotCSAqIEByZXR1cm4gMCBmb3Igc3VjY2VzcywgLTEgZm9yIGVycm9yLiBJZiAtMSwgdGhlIGVycm9yIHdpbGwgYmUgaW4gZXJybm8uDQotCSAqLw0KLQlpbnQgdGFrZSgpIHsNCi0JCXJldHVybiBzZW1UYWtlKG1fc2VtYXBob3JlLCBXQUlUX0ZPUkVWRVIpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBVbmxvY2sgdGhlIHNlbWFwaG9yZS4NCi0JICogQHJldHVybiAwIGZvciBzdWNjZXNzLCAtMSBmb3IgZXJyb3IuIElmIC0xLCB0aGUgZXJyb3Igd2lsbCBiZSBpbiBlcnJuby4NCi0JICovDQotCWludCBnaXZlKCkgew0KLQkJcmV0dXJuIHNlbUdpdmUobV9zZW1hcGhvcmUpOw0KLQl9DQotDQotcHJpdmF0ZToNCi0JU0VNX0lEIG1fc2VtYXBob3JlOw0KLQ0KLQlmcmllbmQgY2xhc3MgU3luY2hyb25pemVkOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oUmVlbnRyYW50U2VtYXBob3JlKTsNCi19Ow0KLQ0KLS8qKg0KLSAqIFByb3ZpZGUgZWFzeSBzdXBwb3J0IGZvciBjcml0aWNhbCByZWdpb25zLg0KLSAqDQotICogQSBjcml0aWNhbCByZWdpb24gaXMgYW4gYXJlYSBvZiBjb2RlIHRoYXQgaXMgYWx3YXlzIGV4ZWN1dGVkIHVuZGVyIG11dHVhbCBleGNsdXNpb24uIE9ubHkNCi0gKiBvbmUgdGFzayBjYW4gYmUgZXhlY3V0aW5nIHRoaXMgY29kZSBhdCBhbnkgdGltZS4gVGhlIGlkZWEgaXMgdGhhdCBjb2RlIHRoYXQgbWFuaXB1bGF0ZXMgZGF0YQ0KLSAqIHRoYXQgaXMgc2hhcmVkIGJldHdlZW4gdHdvIG9yIG1vcmUgdGFza3MgaGFzIHRvIGJlIHByZXZlbnRlZCBmcm9tIGV4ZWN1dGluZyBhdCB0aGUgc2FtZSB0aW1lDQotICogb3RoZXJ3aXNlIGEgcmFjZSBjb25kaXRpb24gaXMgcG9zc2libGUgd2hlbiBib3RoIHRhc2tzIHRyeSB0byB1cGRhdGUgdGhlIGRhdGEuIFR5cGljYWxseQ0KLSAqIHNlbWFwaG9yZXMgYXJlIHVzZWQgdG8gZW5zdXJlIG9ubHkgc2luZ2xlIHRhc2sgYWNjZXNzIHRvIHRoZSBkYXRhLg0KLSAqDQotICogU3luY2hyb25pemVkIG9iamVjdHMgYXJlIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHNlbWFwaG9yZXMgdG8gaGVscCBlbnN1cmUNCi0gKiB0aGF0IHNlbWFwaG9yZXMgYXJlIGFsd2F5cyB1bmxvY2tlZCAoc2VtR2l2ZSkgYWZ0ZXIgbG9ja2luZyAoc2VtVGFrZSkuDQotICoNCi0gKiBZb3UgYWxsb2NhdGUgYSBTeW5jaHJvbml6ZWQgYXMgYSBsb2NhbCB2YXJpYWJsZSwgKm5vdCogb24gdGhlIGhlYXAuIFRoYXQNCi0gKiBtYWtlcyBpdCBhICJzdGFjayBvYmplY3QiIHdob3NlIGRlc3RydWN0b3IgcnVucyBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgZ29lcw0KLSAqIG91dCBvZiBzY29wZS4gRS5nLg0KLSAqDQotICogICB7IFN5bmNocm9uaXplZCBfc3luYyhhUmVlbnRyYW50U2VtYXBob3JlKTsgLi4uIGNyaXRpY2FsIHJlZ2lvbiAuLi4gfQ0KLSAqLw0KLWNsYXNzIFN5bmNocm9uaXplZA0KLXsNCi1wdWJsaWM6DQotCWV4cGxpY2l0IFN5bmNocm9uaXplZChTRU1fSUQpOw0KLQlleHBsaWNpdCBTeW5jaHJvbml6ZWQoUmVlbnRyYW50U2VtYXBob3JlJik7DQotCXZpcnR1YWwgflN5bmNocm9uaXplZCgpOw0KLXByaXZhdGU6DQotCVNFTV9JRCBtX3NlbWFwaG9yZTsNCi0NCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFN5bmNocm9uaXplZCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYWxvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYWxvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YzJlOGQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVGFsb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlRhbG9uLmgiDQotDQotI2luY2x1ZGUgIkRpZ2l0YWxNb2R1bGUuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotLyoqDQotICogQ29tbW9uIGluaXRpYWxpemF0aW9uIGNvZGUgY2FsbGVkIGJ5IGFsbCBjb25zdHJ1Y3RvcnMuDQotICoNCi0gKiBOb3RlIHRoYXQgdGhlIFRhbG9uIHVzZXMgdGhlIGZvbGxvd2luZyBib3VuZHMgZm9yIFBXTSB2YWx1ZXMuIFRoZXNlIHZhbHVlcyBzaG91bGQgd29yayByZWFzb25hYmx5IHdlbGwgZm9yDQotICogbW9zdCBjb250cm9sbGVycywgYnV0IGlmIHVzZXJzIGV4cGVyaWVuY2UgaXNzdWVzIHN1Y2ggYXMgYXN5bW1ldHJpYyBiZWhhdmlvciBhcm91bmQNCi0gKiB0aGUgZGVhZGJhbmQgb3IgaW5hYmlsaXR5IHRvIHNhdHVyYXRlIHRoZSBjb250cm9sbGVyIGluIGVpdGhlciBkaXJlY3Rpb24sIGNhbGlicmF0aW9uIGlzIHJlY29tbWVuZGVkLg0KLSAqIFRoZSBjYWxpYnJhdGlvbiBwcm9jZWR1cmUgY2FuIGJlIGZvdW5kIGluIHRoZSBUYWxvbiBVc2VyIE1hbnVhbCBhdmFpbGFibGUgZnJvbSBDVFJFLg0KLSAqIA0KLSAqICAgLSAyMTEgPSBmdWxsICJmb3J3YXJkIg0KLSAqICAgLSAxMzMgPSB0aGUgImhpZ2ggZW5kIiBvZiB0aGUgZGVhZGJhbmQgcmFuZ2UNCi0gKiAgIC0gMTI5ID0gY2VudGVyIG9mIHRoZSBkZWFkYmFuZCByYW5nZSAob2ZmKQ0KLSAqICAgLSAxMjUgPSB0aGUgImxvdyBlbmQiIG9mIHRoZSBkZWFkYmFuZCByYW5nZQ0KLSAqICAgLSA0OSA9IGZ1bGwgInJldmVyc2UiDQotICovDQotdm9pZCBUYWxvbjo6SW5pdFRhbG9uKCkgew0KLQkvLyBUT0RPOiBjb21wdXRlIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMgYmFzZWQgb24gZGlnaXRhbCBsb29wIHRpbWluZw0KLQlTZXRCb3VuZHMoMjExLCAxMzMsIDEyOSwgMTI1LCA0OSk7DQotCVNldFBlcmlvZE11bHRpcGxpZXIoa1BlcmlvZE11bHRpcGxpZXJfMlgpOw0KLQlTZXRSYXcobV9jZW50ZXJQd20pOw0KLQ0KLQkvLyBUT0RPOiBBZGQgVGFsb24gdG8gVXNhZ2UgUmVwb3J0aW5nDQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9UYWxvbiwgR2V0Q2hhbm5lbCgpLCBHZXRNb2R1bGVOdW1iZXIoKSAtIDEpOw0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRBY3R1YXRvcigiVGFsb24iLCBHZXRNb2R1bGVOdW1iZXIoKSwgR2V0Q2hhbm5lbCgpLCB0aGlzKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgdGhhdCBhc3N1bWVzIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBQV00gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgVGFsb24gaXMgYXR0YWNoZWQgdG8uDQotICovDQotVGFsb246OlRhbG9uKFVJTlQzMiBjaGFubmVsKSA6IFNhZmVQV00oY2hhbm5lbCkNCi17DQotCUluaXRUYWxvbigpOw0KLX0NCi0NCi0vKioNCi0gKiBDb25zdHJ1Y3RvciB0aGF0IHNwZWNpZmllcyB0aGUgZGlnaXRhbCBtb2R1bGUuDQotICogDQotICogQHBhcmFtIG1vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgKDEgb3IgMikuDQotICogQHBhcmFtIGNoYW5uZWwgVGhlIFBXTSBjaGFubmVsIG9uIHRoZSBkaWdpdGFsIG1vZHVsZSB0aGF0IHRoZSBUYWxvbiBpcyBhdHRhY2hlZCB0byAoMS4uMTApLg0KLSAqLw0KLVRhbG9uOjpUYWxvbihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKSA6IFNhZmVQV00obW9kdWxlTnVtYmVyLCBjaGFubmVsKQ0KLXsNCi0JSW5pdFRhbG9uKCk7DQotfQ0KLQ0KLVRhbG9uOjp+VGFsb24oKQ0KLXsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBQV00gdmFsdWUuICANCi0gKiANCi0gKiBUaGUgUFdNIHZhbHVlIGlzIHNldCB1c2luZyBhIHJhbmdlIG9mIC0xLjAgdG8gMS4wLCBhcHByb3ByaWF0ZWx5DQotICogc2NhbGluZyB0aGUgdmFsdWUgZm9yIHRoZSBGUEdBLg0KLSAqIA0KLSAqIEBwYXJhbSBzcGVlZCBUaGUgc3BlZWQgdmFsdWUgYmV0d2VlbiAtMS4wIGFuZCAxLjAgdG8gc2V0Lg0KLSAqIEBwYXJhbSBzeW5jR3JvdXAgVW51c2VkIGludGVyZmFjZS4NCi0gKi8NCi12b2lkIFRhbG9uOjpTZXQoZmxvYXQgc3BlZWQsIFVJTlQ4IHN5bmNHcm91cCkNCi17DQotCVNldFNwZWVkKHNwZWVkKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSByZWNlbnRseSBzZXQgdmFsdWUgb2YgdGhlIFBXTS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBtb3N0IHJlY2VudGx5IHNldCB2YWx1ZSBmb3IgdGhlIFBXTSBiZXR3ZWVuIC0xLjAgYW5kIDEuMC4NCi0gKi8NCi1mbG9hdCBUYWxvbjo6R2V0KCkNCi17DQotCXJldHVybiBHZXRTcGVlZCgpOw0KLX0NCi0NCi0vKioNCi0gKiBDb21tb24gaW50ZXJmYWNlIGZvciBkaXNhYmxpbmcgYSBtb3Rvci4NCi0gKi8NCi12b2lkIFRhbG9uOjpEaXNhYmxlKCkNCi17DQotCVNldFJhdyhrUHdtRGlzYWJsZWQpOw0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSBvdXQgdGhlIFBJRCB2YWx1ZSBhcyBzZWVuIGluIHRoZSBQSURPdXRwdXQgYmFzZSBvYmplY3QuDQotICogDQotICogQHBhcmFtIG91dHB1dCBXcml0ZSBvdXQgdGhlIFBXTSB2YWx1ZSBhcyB3YXMgZm91bmQgaW4gdGhlIFBJRENvbnRyb2xsZXINCi0gKi8NCi12b2lkIFRhbG9uOjpQSURXcml0ZShmbG9hdCBvdXRwdXQpIA0KLXsNCi0JU2V0KG91dHB1dCk7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1RhbG9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYWxvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDJhZGUyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1RhbG9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgVGFsb25fSA0KLSNkZWZpbmUgVGFsb25fSA0KLQ0KLSNpbmNsdWRlICJTYWZlUFdNLmgiDQotI2luY2x1ZGUgIlNwZWVkQ29udHJvbGxlci5oIg0KLSNpbmNsdWRlICJQSURPdXRwdXQuaCINCi0NCi0vKioNCi0gKiBDVFJFIFRhbG9uIFNwZWVkIENvbnRyb2xsZXINCi0gKi8NCi1jbGFzcyBUYWxvbiA6IHB1YmxpYyBTYWZlUFdNLCBwdWJsaWMgU3BlZWRDb250cm9sbGVyDQotew0KLXB1YmxpYzoNCi0JZXhwbGljaXQgVGFsb24oVUlOVDMyIGNoYW5uZWwpOw0KLQlUYWxvbihVSU5UOCBtb2R1bGVOdW1iZXIsIFVJTlQzMiBjaGFubmVsKTsNCi0JdmlydHVhbCB+VGFsb24oKTsNCi0JdmlydHVhbCB2b2lkIFNldChmbG9hdCB2YWx1ZSwgVUlOVDggc3luY0dyb3VwPTApOw0KLQl2aXJ0dWFsIGZsb2F0IEdldCgpOw0KLQl2aXJ0dWFsIHZvaWQgRGlzYWJsZSgpOw0KLQ0KLQl2aXJ0dWFsIHZvaWQgUElEV3JpdGUoZmxvYXQgb3V0cHV0KTsNCi0NCi1wcml2YXRlOg0KLQl2b2lkIEluaXRUYWxvbigpOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVGFzay5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYXNrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThlNWQwNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYXNrLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIxNiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJUYXNrLmgiDQotDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLSNpbmNsdWRlIDxlcnJub0xpYi5oPg0KLSNpbmNsdWRlIDxzdHJpbmcuaD4NCi0jaW5jbHVkZSA8dGFza0xpYi5oPg0KLSNpbmNsdWRlIDx1c3JMaWIuaD4NCi0NCi1jb25zdCBVSU5UMzIgVGFzazo6a0RlZmF1bHRQcmlvcml0eTsNCi1jb25zdCBJTlQzMiBUYXNrOjprSW52YWxpZFRhc2tJRDsNCi0NCi0vKioNCi0gKiBDcmVhdGUgYnV0IGRvbid0IGxhdW5jaCBhIHRhc2suDQotICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhc2suICAiRlJDXyIgd2lsbCBiZSBwcmVwZW5kZWQgdG8gdGhlIHRhc2sgbmFtZS4NCi0gKiBAcGFyYW0gZnVuY3Rpb24gVGhlIGFkZHJlc3Mgb2YgdGhlIGZ1bmN0aW9uIHRvIHJ1biBhcyB0aGUgbmV3IHRhc2suDQotICogQHBhcmFtIHByaW9yaXR5IFRoZSBWeFdvcmtzIHByaW9yaXR5IGZvciB0aGUgdGFzay4NCi0gKiBAcGFyYW0gc3RhY2tTaXplIFRoZSBzaXplIG9mIHRoZSBzdGFjayBmb3IgdGhlIHRhc2sNCi0gKi8NCi1UYXNrOjpUYXNrKGNvbnN0IGNoYXIqIG5hbWUsIEZVTkNQVFIgZnVuY3Rpb24sIElOVDMyIHByaW9yaXR5LCBVSU5UMzIgc3RhY2tTaXplKQ0KLXsNCi0JbV90YXNrSUQgPSBrSW52YWxpZFRhc2tJRDsNCi0JbV9mdW5jdGlvbiA9IGZ1bmN0aW9uOw0KLQltX3ByaW9yaXR5ID0gcHJpb3JpdHk7DQotCW1fc3RhY2tTaXplID0gc3RhY2tTaXplOw0KLQltX3Rhc2tOYW1lID0gbmV3IGNoYXJbc3RybGVuKG5hbWUpICsgNV07DQotCXN0cmNweShtX3Rhc2tOYW1lLCAiRlJDXyIpOw0KLQlzdHJjcHkobV90YXNrTmFtZSs0LCBuYW1lKTsNCi0NCi0Jc3RhdGljIElOVDMyIGluc3RhbmNlcyA9IDA7DQotCWluc3RhbmNlcysrOw0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfVGFzaywgaW5zdGFuY2VzLCAwLCBtX3Rhc2tOYW1lKTsNCi19DQotDQotVGFzazo6flRhc2soKQ0KLXsNCi0JaWYgKG1fdGFza0lEICE9IGtJbnZhbGlkVGFza0lEKSBTdG9wKCk7DQotCWRlbGV0ZSBbXSBtX3Rhc2tOYW1lOw0KLQltX3Rhc2tOYW1lID0gTlVMTDsNCi19DQotDQotLyoqDQotICogU3RhcnRzIHRoaXMgdGFzay4NCi0gKiBJZiBpdCBpcyBhbHJlYWR5IHJ1bm5pbmcgb3IgdW5hYmxlIHRvIHN0YXJ0LCBpdCBmYWlscyBhbmQgcmV0dXJucyBmYWxzZS4NCi0gKi8NCi1ib29sIFRhc2s6OlN0YXJ0KFVJTlQzMiBhcmcwLCBVSU5UMzIgYXJnMSwgVUlOVDMyIGFyZzIsIFVJTlQzMiBhcmczLCBVSU5UMzIgYXJnNCwgDQotCQlVSU5UMzIgYXJnNSwgVUlOVDMyIGFyZzYsIFVJTlQzMiBhcmc3LCBVSU5UMzIgYXJnOCwgVUlOVDMyIGFyZzkpDQotew0KLQltX3Rhc2tJRCA9IHRhc2tTcGF3bihtX3Rhc2tOYW1lLA0KLQkJCQkJCW1fcHJpb3JpdHksDQotCQkJCQkJVlhfRlBfVEFTSywJCQkJCQkJLy8gb3B0aW9ucw0KLQkJCQkJCW1fc3RhY2tTaXplLAkJCQkJCS8vIHN0YWNrIHNpemUNCi0JCQkJCQltX2Z1bmN0aW9uLAkJCQkJCQkvLyBmdW5jdGlvbiB0byBzdGFydA0KLQkJCQkJCWFyZzAsIGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQsCS8vIHBhcmFtZXRlciAxIC0gcG9pbnRlciB0byB0aGlzIGNsYXNzDQotCQkJCQkJYXJnNSwgYXJnNiwgYXJnNywgYXJnOCwgYXJnOSk7Ly8gYWRkaXRpb25hbCB1bnVzZWQgcGFyYW1ldGVycw0KLQlib29sIG9rID0gSGFuZGxlRXJyb3IobV90YXNrSUQpOw0KLQlpZiAoIW9rKSBtX3Rhc2tJRCA9IGtJbnZhbGlkVGFza0lEOw0KLQlyZXR1cm4gb2s7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlc3RhcnRzIGEgcnVubmluZyB0YXNrLg0KLSAqIElmIHRoZSB0YXNrIGlzbid0IHN0YXJ0ZWQsIGl0IHN0YXJ0cyBpdC4NCi0gKiBAcmV0dXJuIGZhbHNlIGlmIHRoZSB0YXNrIGlzIHJ1bm5pbmcgYW5kIHdlIGFyZSB1bmFibGUgdG8ga2lsbCB0aGUgcHJldmlvdXMgaW5zdGFuY2UNCi0gKi8NCi1ib29sIFRhc2s6OlJlc3RhcnQoKQ0KLXsNCi0JcmV0dXJuIEhhbmRsZUVycm9yKHRhc2tSZXN0YXJ0KG1fdGFza0lEKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEtpbGxzIHRoZSBydW5uaW5nIHRhc2suDQotICogQHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzIGZhbHNlIGlmIHRoZSB0YXNrIGRvZXNuJ3QgZXhpc3Qgb3Igd2UgYXJlIHVuYWJsZSB0byBraWxsIGl0Lg0KLSAqLw0KLWJvb2wgVGFzazo6U3RvcCgpDQotew0KLQlib29sIG9rID0gdHJ1ZTsNCi0JaWYgKFZlcmlmeSgpKQ0KLQl7DQotCQlvayA9IEhhbmRsZUVycm9yKHRhc2tEZWxldGUobV90YXNrSUQpKTsNCi0JfQ0KLQltX3Rhc2tJRCA9IGtJbnZhbGlkVGFza0lEOw0KLQlyZXR1cm4gb2s7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdGFzayBpcyByZWFkeSB0byBleGVjdXRlIChpLmUuIG5vdCBzdXNwZW5kZWQsIGRlbGF5ZWQsIG9yIGJsb2NrZWQpLg0KLSAqIEByZXR1cm4gdHJ1ZSBpZiByZWFkeSwgZmFsc2UgaWYgbm90IHJlYWR5Lg0KLSAqLw0KLWJvb2wgVGFzazo6SXNSZWFkeSgpDQotew0KLQlyZXR1cm4gdGFza0lzUmVhZHkobV90YXNrSUQpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRydWUgaWYgdGhlIHRhc2sgd2FzIGV4cGxpY2l0bHkgc3VzcGVuZGVkIGJ5IGNhbGxpbmcgU3VzcGVuZCgpDQotICogQHJldHVybiB0cnVlIGlmIHN1c3BlbmRlZCwgZmFsc2UgaWYgbm90IHN1c3BlbmRlZC4NCi0gKi8NCi1ib29sIFRhc2s6OklzU3VzcGVuZGVkKCkNCi17DQotCXJldHVybiB0YXNrSXNTdXNwZW5kZWQobV90YXNrSUQpOw0KLX0NCi0NCi0vKioNCi0gKiBQYXVzZXMgYSBydW5uaW5nIHRhc2suDQotICogUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIGlmIHVuYWJsZSB0byBwYXVzZSBvciB0aGUgdGFzayBpc24ndCBydW5uaW5nLg0KLSAqLw0KLWJvb2wgVGFzazo6U3VzcGVuZCgpDQotew0KLQlyZXR1cm4gSGFuZGxlRXJyb3IodGFza1N1c3BlbmQobV90YXNrSUQpKTsNCi19DQotDQotLyoqDQotICogUmVzdW1lcyBhIHBhdXNlZCB0YXNrLg0KLSAqIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBpZiB1bmFibGUgdG8gcmVzdW1lIG9yIGlmIHRoZSB0YXNrIGlzbid0IHJ1bm5pbmcvcGF1c2VkLg0KLSAqLw0KLWJvb2wgVGFzazo6UmVzdW1lKCkNCi17DQotCXJldHVybiBIYW5kbGVFcnJvcih0YXNrUmVzdW1lKG1fdGFza0lEKSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFZlcmlmaWVzIGEgdGFzayBzdGlsbCBleGlzdHMuDQotICogQHJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzLg0KLSAqLw0KLWJvb2wgVGFzazo6VmVyaWZ5KCkNCi17DQotCXJldHVybiB0YXNrSWRWZXJpZnkobV90YXNrSUQpID09IE9LOw0KLX0NCi0NCi0vKioNCi0gKiBHZXRzIHRoZSBwcmlvcml0eSBvZiBhIHRhc2suDQotICogQHJldHVybnMgdGFzayBwcmlvcml0eSBvciAwIGlmIGFuIGVycm9yIG9jY3VyZWQNCi0gKi8NCi1JTlQzMiBUYXNrOjpHZXRQcmlvcml0eSgpDQotew0KLQlpZiAoSGFuZGxlRXJyb3IodGFza1ByaW9yaXR5R2V0KG1fdGFza0lELCAmbV9wcmlvcml0eSkpKQ0KLQkJcmV0dXJuIG1fcHJpb3JpdHk7DQotCWVsc2UNCi0JCXJldHVybiAwOw0KLX0NCi0NCi0vKioNCi0gKiBUaGlzIHJvdXRpbmUgY2hhbmdlcyBhIHRhc2sncyBwcmlvcml0eSB0byBhIHNwZWNpZmllZCBwcmlvcml0eS4NCi0gKiBQcmlvcml0aWVzIHJhbmdlIGZyb20gMCwgdGhlIGhpZ2hlc3QgcHJpb3JpdHksIHRvIDI1NSwgdGhlIGxvd2VzdCBwcmlvcml0eS4NCi0gKiBEZWZhdWx0IHRhc2sgcHJpb3JpdHkgaXMgMTAwLg0KLSAqIEBwYXJhbSBwcmlvcml0eSBUaGUgcHJpb3JpdHkgdGhlIHRhc2sgc2hvdWxkIHJ1biBhdC4NCi0gKiBAcmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MuDQotICovDQotYm9vbCBUYXNrOjpTZXRQcmlvcml0eShJTlQzMiBwcmlvcml0eSkNCi17DQotCW1fcHJpb3JpdHkgPSBwcmlvcml0eTsNCi0JcmV0dXJuIEhhbmRsZUVycm9yKHRhc2tQcmlvcml0eVNldChtX3Rhc2tJRCwgbV9wcmlvcml0eSkpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSB0YXNrLg0KLSAqIEByZXR1cm5zIFBvaW50ZXIgdG8gdGhlIG5hbWUgb2YgdGhlIHRhc2sgb3IgTlVMTCBpZiBub3QgYWxsb2NhdGVkDQotICovDQotY29uc3QgY2hhciogVGFzazo6R2V0TmFtZSgpDQotew0KLQlyZXR1cm4gbV90YXNrTmFtZTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBJRCBvZiBhIHRhc2sNCi0gKiBAcmV0dXJucyBUYXNrIElEIG9mIHRoaXMgdGFzay4gIFRhc2s6OmtJbnZhbGlkVGFza0lEICgtMSkgaWYgdGhlIHRhc2sgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQgb3IgaGFzIGFscmVhZHkgZXhpdGVkLg0KLSAqLw0KLUlOVDMyIFRhc2s6OkdldElEKCkNCi17DQotCWlmIChWZXJpZnkoKSkNCi0JCXJldHVybiBtX3Rhc2tJRDsNCi0JcmV0dXJuIGtJbnZhbGlkVGFza0lEOw0KLX0NCi0NCi0vKioNCi0gKiBIYW5kbGVzIGVycm9ycyBnZW5lcmF0ZWQgYnkgdGFzayByZWxhdGVkIGNvZGUuDQotICovDQotYm9vbCBUYXNrOjpIYW5kbGVFcnJvcihTVEFUVVMgcmVzdWx0cykNCi17DQotCWlmIChyZXN1bHRzICE9IEVSUk9SKSByZXR1cm4gdHJ1ZTsNCi0Jc3dpdGNoKGVycm5vR2V0KCkpDQotCXsNCi0JY2FzZSBTX29iakxpYl9PQkpfSURfRVJST1I6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChUYXNrSURFcnJvciwgbV90YXNrTmFtZSk7DQotCQlicmVhazsNCi0JCQ0KLQljYXNlIFNfb2JqTGliX09CSl9ERUxFVEVEOg0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoVGFza0RlbGV0ZWRFcnJvciwgbV90YXNrTmFtZSk7DQotCQlicmVhazsNCi0JCQ0KLQljYXNlIFNfdGFza0xpYl9JTExFR0FMX09QVElPTlM6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChUYXNrT3B0aW9uc0Vycm9yLCBtX3Rhc2tOYW1lKTsNCi0JCWJyZWFrOw0KLQkJDQotCWNhc2UgU19tZW1MaWJfTk9UX0VOT1VHSF9NRU1PUlk6DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChUYXNrTWVtb3J5RXJyb3IsIG1fdGFza05hbWUpOw0KLQkJYnJlYWs7DQotCQkNCi0JY2FzZSBTX3Rhc2tMaWJfSUxMRUdBTF9QUklPUklUWToNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFRhc2tQcmlvcml0eUVycm9yLCBtX3Rhc2tOYW1lKTsNCi0JCWJyZWFrOw0KLQ0KLQlkZWZhdWx0Og0KLQkJcHJpbnRFcnJubyhlcnJub0dldCgpKTsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFRhc2tFcnJvciwgbV90YXNrTmFtZSk7DQotCX0NCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYXNrLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UYXNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNzcwZWEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVGFzay5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fVEFTS19IX18NCi0jZGVmaW5lIF9fVEFTS19IX18NCi0NCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBXUEkgdGFzayBpcyBhIHdyYXBwZXIgZm9yIHRoZSBuYXRpdmUgVGFzayBvYmplY3QuDQotICogQWxsIFdQSUxpYiB0YXNrcyBhcmUgbWFuYWdlZCBieSBhIHN0YXRpYyB0YXNrIG1hbmFnZXIgZm9yIHNpbXBsaWZpZWQgY2xlYW51cC4NCi0gKiovDQotY2xhc3MgVGFzayA6IHB1YmxpYyBFcnJvckJhc2UNCi17DQotcHVibGljOg0KLQlzdGF0aWMgY29uc3QgVUlOVDMyIGtEZWZhdWx0UHJpb3JpdHkgPSAxMDE7DQotCXN0YXRpYyBjb25zdCBJTlQzMiBrSW52YWxpZFRhc2tJRCA9IC0xOw0KLQ0KLQlUYXNrKGNvbnN0IGNoYXIqIG5hbWUsIEZVTkNQVFIgZnVuY3Rpb24sIElOVDMyIHByaW9yaXR5ID0ga0RlZmF1bHRQcmlvcml0eSwgVUlOVDMyIHN0YWNrU2l6ZSA9IDIwMDAwKTsNCi0JdmlydHVhbCB+VGFzaygpOw0KLQ0KLQlib29sIFN0YXJ0KFVJTlQzMiBhcmcwID0gMCwgVUlOVDMyIGFyZzEgPSAwLCBVSU5UMzIgYXJnMiA9IDAsIFVJTlQzMiBhcmczID0gMCwgVUlOVDMyIGFyZzQgPSAwLCANCi0JCQlVSU5UMzIgYXJnNSA9IDAsIFVJTlQzMiBhcmc2ID0gMCwgVUlOVDMyIGFyZzcgPSAwLCBVSU5UMzIgYXJnOCA9IDAsIFVJTlQzMiBhcmc5ID0gMCk7DQotCWJvb2wgUmVzdGFydCgpOw0KLQlib29sIFN0b3AoKTsNCi0NCi0JYm9vbCBJc1JlYWR5KCk7DQotCWJvb2wgSXNTdXNwZW5kZWQoKTsNCi0NCi0JYm9vbCBTdXNwZW5kKCk7DQotCWJvb2wgUmVzdW1lKCk7DQotDQotCWJvb2wgVmVyaWZ5KCk7DQotDQotCUlOVDMyIEdldFByaW9yaXR5KCk7DQotCWJvb2wgU2V0UHJpb3JpdHkoSU5UMzIgcHJpb3JpdHkpOw0KLQljb25zdCBjaGFyKiBHZXROYW1lKCk7DQotCUlOVDMyIEdldElEKCk7DQotDQotcHJpdmF0ZToNCi0JRlVOQ1BUUiBtX2Z1bmN0aW9uOw0KLQljaGFyKiBtX3Rhc2tOYW1lOw0KLQlJTlQzMiBtX3Rhc2tJRDsNCi0JVUlOVDMyIG1fc3RhY2tTaXplOw0KLQlJTlQzMiBtX3ByaW9yaXR5Ow0KLQlib29sIEhhbmRsZUVycm9yKFNUQVRVUyByZXN1bHRzKTsNCi0JRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFRhc2spOw0KLX07DQotDQotI2VuZGlmIC8vIF9fVEFTS19IX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UaW1lci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UaW1lci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkNTgwODguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVGltZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjAzICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlRpbWVyLmgiDQotDQotI2luY2x1ZGUgPHN5c0xpYi5oPiAvLyBmb3Igc3lzQ2xrUmF0ZUdldA0KLSNpbmNsdWRlIDx0aW1lLmg+DQotI2luY2x1ZGUgPHVzckxpYi5oPiAvLyBmb3IgdGFza0RlbGF5DQotDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJVdGlsaXR5LmgiDQotDQotLyoqDQotICogUGF1c2UgdGhlIHRhc2sgZm9yIGEgc3BlY2lmaWVkIHRpbWUuDQotICogDQotICogUGF1c2UgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgcHJvZ3JhbSBmb3IgYSBzcGVjaWZpZWQgcGVyaW9kIG9mIHRpbWUgZ2l2ZW4gaW4gc2Vjb25kcy4NCi0gKiBNb3RvcnMgd2lsbCBjb250aW51ZSB0byBydW4gYXQgdGhlaXIgbGFzdCBhc3NpZ25lZCB2YWx1ZXMsIGFuZCBzZW5zb3JzIHdpbGwgY29udGludWUgdG8NCi0gKiB1cGRhdGUuIE9ubHkgdGhlIHRhc2sgY29udGFpbmluZyB0aGUgd2FpdCB3aWxsIHBhdXNlIHVudGlsIHRoZSB3YWl0IHRpbWUgaXMgZXhwaXJlZC4NCi0gKiANCi0gKiBAcGFyYW0gc2Vjb25kcyBMZW5ndGggb2YgdGltZSB0byBwYXVzZSwgaW4gc2Vjb25kcy4NCi0gKi8NCi12b2lkIFdhaXQoZG91YmxlIHNlY29uZHMpDQotew0KLQlpZiAoc2Vjb25kcyA8IDAuMCkgcmV0dXJuOw0KLQl0YXNrRGVsYXkoKElOVDMyKSgoZG91YmxlKXN5c0Nsa1JhdGVHZXQoKSAqIHNlY29uZHMpKTsNCi19DQotDQotLyoNCi0gKiBSZXR1cm4gdGhlIEZQR0Egc3lzdGVtIGNsb2NrIHRpbWUgaW4gc2Vjb25kcy4NCi0gKiBUaGlzIGlzIGRlcHJlY2F0ZWQgYW5kIGp1c3QgZm9yd2FyZHMgdG8gVGltZXI6OkdldEZQR0FUaW1lc3RhbXAoKS4NCi0gKiBAcmV0dXJucyBSb2JvdCBydW5uaW5nIHRpbWUgaW4gc2Vjb25kcy4NCi0gKi8NCi1kb3VibGUgR2V0Q2xvY2soKQ0KLXsNCi0JcmV0dXJuIFRpbWVyOjpHZXRGUEdBVGltZXN0YW1wKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBHaXZlcyByZWFsLXRpbWUgY2xvY2sgc3lzdGVtIHRpbWUgd2l0aCBuYW5vc2Vjb25kIHJlc29sdXRpb24NCi0gKiBAcmV0dXJuIFRoZSB0aW1lLCBqdXN0IGluIGNhc2UgeW91IHdhbnQgdGhlIHJvYm90IHRvIHN0YXJ0IGF1dG9ub21vdXMgYXQgOHBtIG9uIFNhdHVyZGF5Lg0KLSovDQotZG91YmxlIEdldFRpbWUoKSAgDQotew0KLQlzdHJ1Y3QgdGltZXNwZWMgdHA7DQotCQ0KLQljbG9ja19nZXR0aW1lKENMT0NLX1JFQUxUSU1FLCZ0cCk7DQotCWRvdWJsZSByZWFsVGltZSA9IChkb3VibGUpdHAudHZfc2VjICsgKGRvdWJsZSkoKGRvdWJsZSl0cC50dl9uc2VjKjFlLTkpOw0KLQkNCi0JcmV0dXJuIChyZWFsVGltZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhIG5ldyB0aW1lciBvYmplY3QuDQotICogDQotICogQ3JlYXRlIGEgbmV3IHRpbWVyIG9iamVjdCBhbmQgcmVzZXQgdGhlIHRpbWUgdG8gemVyby4gVGhlIHRpbWVyIGlzIGluaXRpYWxseSBub3QgcnVubmluZyBhbmQNCi0gKiBtdXN0IGJlIHN0YXJ0ZWQuDQotICovDQotVGltZXI6OlRpbWVyKCkNCi0JOiBtX3N0YXJ0VGltZSAoMC4wKQ0KLQksIG1fYWNjdW11bGF0ZWRUaW1lICgwLjApDQotCSwgbV9ydW5uaW5nIChmYWxzZSkNCi0JLCBtX3NlbWFwaG9yZSAoMCkNCi17DQotCS8vQ3JlYXRlcyBhIHNlbWFwaG9yZSB0byBjb250cm9sIGFjY2VzcyB0byBjcml0aWNhbCByZWdpb25zLg0KLQkvL0luaXRpYWxseSAnb3BlbicNCi0JbV9zZW1hcGhvcmUgPSBzZW1NQ3JlYXRlKFNFTV9RX1BSSU9SSVRZIHwgU0VNX0RFTEVURV9TQUZFIHwgU0VNX0lOVkVSU0lPTl9TQUZFKTsNCi0JUmVzZXQoKTsNCi19DQotDQotVGltZXI6On5UaW1lcigpDQotew0KLQlzZW1EZWxldGUobV9zZW1hcGhvcmUpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGN1cnJlbnQgdGltZSBmcm9tIHRoZSB0aW1lci4gSWYgdGhlIGNsb2NrIGlzIHJ1bm5pbmcgaXQgaXMgZGVyaXZlZCBmcm9tDQotICogdGhlIGN1cnJlbnQgc3lzdGVtIGNsb2NrIHRoZSBzdGFydCB0aW1lIHN0b3JlZCBpbiB0aGUgdGltZXIgY2xhc3MuIElmIHRoZSBjbG9jaw0KLSAqIGlzIG5vdCBydW5uaW5nLCB0aGVuIHJldHVybiB0aGUgdGltZSB3aGVuIGl0IHdhcyBsYXN0IHN0b3BwZWQuDQotICogDQotICogQHJldHVybiB1bnNpZ25lZCBDdXJyZW50IHRpbWUgdmFsdWUgZm9yIHRoaXMgdGltZXIgaW4gc2Vjb25kcw0KLSAqLw0KLWRvdWJsZSBUaW1lcjo6R2V0KCkNCi17DQotCWRvdWJsZSByZXN1bHQ7DQotCWRvdWJsZSBjdXJyZW50VGltZSA9IEdldEZQR0FUaW1lc3RhbXAoKTsNCi0NCi0JU3luY2hyb25pemVkIHN5bmMobV9zZW1hcGhvcmUpOw0KLQlpZihtX3J1bm5pbmcpDQotCXsNCi0JCS8vIFRoaXMgbWF0aCB3b24ndCB3b3JrIGlmIHRoZSB0aW1lciByb2xsZWQgb3ZlciAoNzEgbWludXRlcyBhZnRlciBib290KS4NCi0JCS8vIFRPRE86IENoZWNrIGZvciBpdCBhbmQgY29tcGVuc2F0ZS4NCi0JCXJlc3VsdCA9IChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKSArIG1fYWNjdW11bGF0ZWRUaW1lOw0KLQl9DQotCWVsc2UNCi0Jew0KLQkJcmVzdWx0ID0gbV9hY2N1bXVsYXRlZFRpbWU7DQotCX0NCi0NCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotLyoqDQotICogUmVzZXQgdGhlIHRpbWVyIGJ5IHNldHRpbmcgdGhlIHRpbWUgdG8gMC4NCi0gKiANCi0gKiBNYWtlIHRoZSB0aW1lciBzdGFydFRpbWUgdGhlIGN1cnJlbnQgdGltZSBzbyBuZXcgcmVxdWVzdHMgd2lsbCBiZSByZWxhdGl2ZSB0byBub3cNCi0gKi8NCi12b2lkIFRpbWVyOjpSZXNldCgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3NlbWFwaG9yZSk7DQotCW1fYWNjdW11bGF0ZWRUaW1lID0gMDsNCi0JbV9zdGFydFRpbWUgPSBHZXRGUEdBVGltZXN0YW1wKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXJ0IHRoZSB0aW1lciBydW5uaW5nLg0KLSAqIEp1c3Qgc2V0IHRoZSBydW5uaW5nIGZsYWcgdG8gdHJ1ZSBpbmRpY2F0aW5nIHRoYXQgYWxsIHRpbWUgcmVxdWVzdHMgc2hvdWxkIGJlDQotICogcmVsYXRpdmUgdG8gdGhlIHN5c3RlbSBjbG9jay4NCi0gKi8NCi12b2lkIFRpbWVyOjpTdGFydCgpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3NlbWFwaG9yZSk7DQotCWlmICghbV9ydW5uaW5nKQ0KLQl7DQotCQltX3N0YXJ0VGltZSA9IEdldEZQR0FUaW1lc3RhbXAoKTsNCi0JCW1fcnVubmluZyA9IHRydWU7DQotCX0NCi19DQotDQotLyoqDQotICogU3RvcCB0aGUgdGltZXIuDQotICogVGhpcyBjb21wdXRlcyB0aGUgdGltZSBhcyBvZiBub3cgYW5kIGNsZWFycyB0aGUgcnVubmluZyBmbGFnLCBjYXVzaW5nIGFsbA0KLSAqIHN1YnNlcXVlbnQgdGltZSByZXF1ZXN0cyB0byBiZSByZWFkIGZyb20gdGhlIGFjY3VtdWxhdGVkIHRpbWUgcmF0aGVyIHRoYW4NCi0gKiBsb29raW5nIGF0IHRoZSBzeXN0ZW0gY2xvY2suDQotICovDQotdm9pZCBUaW1lcjo6U3RvcCgpDQotew0KLQlkb3VibGUgdGVtcCA9IEdldCgpOw0KLQ0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3NlbWFwaG9yZSk7DQotCWlmIChtX3J1bm5pbmcpDQotCXsNCi0JCW1fYWNjdW11bGF0ZWRUaW1lICs9IHRlbXA7CQ0KLQkJbV9ydW5uaW5nID0gZmFsc2U7DQotCX0NCi19DQotDQotLyoqDQotICogQ2hlY2sgaWYgdGhlIHBlcmlvZCBzcGVjaWZpZWQgaGFzIHBhc3NlZCBhbmQgaWYgaXQgaGFzLCBhZHZhbmNlIHRoZSBzdGFydA0KLSAqIHRpbWUgYnkgdGhhdCBwZXJpb2QuIFRoaXMgaXMgdXNlZnVsIHRvIGRlY2lkZSBpZiBpdCdzIHRpbWUgdG8gZG8gcGVyaW9kaWMNCi0gKiB3b3JrIHdpdGhvdXQgZHJpZnRpbmcgbGF0ZXIgYnkgdGhlIHRpbWUgaXQgdG9vayB0byBnZXQgYXJvdW5kIHRvIGNoZWNraW5nLg0KLSAqDQotICogQHBhcmFtIHBlcmlvZCBUaGUgcGVyaW9kIHRvIGNoZWNrIGZvciAoaW4gc2Vjb25kcykuDQotICogQHJldHVybiBJZiB0aGUgcGVyaW9kIGhhcyBwYXNzZWQuDQotICovDQotYm9vbCBUaW1lcjo6SGFzUGVyaW9kUGFzc2VkKGRvdWJsZSBwZXJpb2QpDQotew0KLQlpZiAoR2V0KCkgPiBwZXJpb2QpDQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKG1fc2VtYXBob3JlKTsNCi0JCS8vIEFkdmFuY2UgdGhlIHN0YXJ0IHRpbWUgYnkgdGhlIHBlcmlvZC4NCi0JCS8vIERvbid0IHNldCBpdCB0byB0aGUgY3VycmVudCB0aW1lLi4uIHdlIHdhbnQgdG8gYXZvaWQgZHJpZnQuDQotCQltX3N0YXJ0VGltZSArPSBwZXJpb2Q7DQotCQlyZXR1cm4gdHJ1ZTsNCi0JfQ0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLQ0KLS8qDQotICogUmV0dXJuIHRoZSBGUEdBIHN5c3RlbSBjbG9jayB0aW1lIGluIHNlY29uZHMuDQotICogDQotICogUmV0dXJuIHRoZSB0aW1lIGZyb20gdGhlIEZQR0EgaGFyZHdhcmUgY2xvY2sgaW4gc2Vjb25kcyBzaW5jZSB0aGUgRlBHQQ0KLSAqIHN0YXJ0ZWQuDQotICogUm9sbHMgb3ZlciBhZnRlciA3MSBtaW51dGVzLg0KLSAqIEByZXR1cm5zIFJvYm90IHJ1bm5pbmcgdGltZSBpbiBzZWNvbmRzLg0KLSAqLw0KLWRvdWJsZSBUaW1lcjo6R2V0RlBHQVRpbWVzdGFtcCgpDQotew0KLQkvLyBGUEdBIHJldHVybnMgdGhlIHRpbWVzdGFtcCBpbiBtaWNyb3NlY29uZHMNCi0JLy8gQ2FsbCB0aGUgaGVscGVyIEdldEZQR0FUaW1lKCkgaW4gVXRpbGl0eS5jcHANCi0JcmV0dXJuIEdldEZQR0FUaW1lKCkgKiAxLjBlLTY7DQotfQ0KLQ0KLS8vIEludGVybmFsIGZ1bmN0aW9uIHRoYXQgcmVhZHMgdGhlIFBQQyB0aW1lc3RhbXAgY291bnRlci4NCi1leHRlcm4gIkMiDQotew0KLQlVSU5UMzIgbmlUaW1lc3RhbXAzMih2b2lkKTsNCi0JVUlOVDY0IG5pVGltZXN0YW1wNjQodm9pZCk7DQotfQ0KLQ0KLS8qDQotICogUmV0dXJuIHRoZSBQb3dlclBDIHRpbWVzdGFtcCBzaW5jZSBib290IGluIHNlY29uZHMuDQotICogDQotICogVGhpcyBpcyBsb3dlciBvdmVyaGVhZCB0aGFuIEdldEZQR0FUaW1lc3RhbXAoKSBidXQgbm90IHN5bmNocm9uaXplZCB3aXRoIG90aGVyIEZQR0EgdGltZXN0YW1wcy4NCi0gKiBAcmV0dXJucyBSb2JvdCBydW5uaW5nIHRpbWUgaW4gc2Vjb25kcy4NCi0gKi8NCi1kb3VibGUgVGltZXI6OkdldFBQQ1RpbWVzdGFtcCgpDQotew0KLQkvLyBQUEMgc3lzdGVtIGNsb2NrIGlzIDMzTUh6DQotCXJldHVybiBuaVRpbWVzdGFtcDY0KCkgLyAzMy4wZTY7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1RpbWVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9UaW1lci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjE1NTcyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1RpbWVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgVElNRVJfSF8NCi0jZGVmaW5lIFRJTUVSX0hfDQotDQotI2luY2x1ZGUgInNlbUxpYi5oIg0KLSNpbmNsdWRlICJCYXNlLmgiDQotDQotdHlwZWRlZiB2b2lkICgqVGltZXJJbnRlcnJ1cHRIYW5kbGVyKSh2b2lkICpwYXJhbSk7DQotDQotdm9pZCBXYWl0KGRvdWJsZSBzZWNvbmRzKTsNCi1kb3VibGUgR2V0Q2xvY2soKTsNCi1kb3VibGUgR2V0VGltZSgpOw0KLQ0KLQ0KLS8qKg0KLSAqIFRpbWVyIG9iamVjdHMgbWVhc3VyZSBhY2N1bXVsYXRlZCB0aW1lIGluIHNlY29uZHMuDQotICogVGhlIHRpbWVyIG9iamVjdCBmdW5jdGlvbnMgbGlrZSBhIHN0b3B3YXRjaC4gSXQgY2FuIGJlIHN0YXJ0ZWQsIHN0b3BwZWQsIGFuZCBjbGVhcmVkLiBXaGVuIHRoZQ0KLSAqIHRpbWVyIGlzIHJ1bm5pbmcgaXRzIHZhbHVlIGNvdW50cyB1cCBpbiBzZWNvbmRzLiBXaGVuIHN0b3BwZWQsIHRoZSB0aW1lciBob2xkcyB0aGUgY3VycmVudA0KLSAqIHZhbHVlLiBUaGUgaW1wbGVtZW50YXRpb24gc2ltcGx5IHJlY29yZHMgdGhlIHRpbWUgd2hlbiBzdGFydGVkIGFuZCBzdWJ0cmFjdHMgdGhlIGN1cnJlbnQgdGltZQ0KLSAqIHdoZW5ldmVyIHRoZSB2YWx1ZSBpcyByZXF1ZXN0ZWQuDQotICovDQotY2xhc3MgVGltZXINCi17DQotcHVibGljOg0KLQlUaW1lcigpOw0KLQl2aXJ0dWFsIH5UaW1lcigpOw0KLQlkb3VibGUgR2V0KCk7DQotCXZvaWQgUmVzZXQoKTsNCi0Jdm9pZCBTdGFydCgpOw0KLQl2b2lkIFN0b3AoKTsNCi0JYm9vbCBIYXNQZXJpb2RQYXNzZWQoZG91YmxlIHBlcmlvZCk7DQotDQotCXN0YXRpYyBkb3VibGUgR2V0RlBHQVRpbWVzdGFtcCgpOw0KLQlzdGF0aWMgZG91YmxlIEdldFBQQ1RpbWVzdGFtcCgpOw0KLQ0KLXByaXZhdGU6DQotCWRvdWJsZSBtX3N0YXJ0VGltZTsNCi0JZG91YmxlIG1fYWNjdW11bGF0ZWRUaW1lOw0KLQlib29sIG1fcnVubmluZzsNCi0JU0VNX0lEIG1fc2VtYXBob3JlOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oVGltZXIpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVWx0cmFzb25pYy5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9VbHRyYXNvbmljLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTIxZDIyNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9VbHRyYXNvbmljLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDM2MSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJVbHRyYXNvbmljLmgiDQotDQotI2luY2x1ZGUgIkNvdW50ZXIuaCINCi0jaW5jbHVkZSAiRGlnaXRhbElucHV0LmgiDQotI2luY2x1ZGUgIkRpZ2l0YWxPdXRwdXQuaCINCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiVGltZXIuaCINCi0jaW5jbHVkZSAiVXRpbGl0eS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotDQotY29uc3QgZG91YmxlIFVsdHJhc29uaWM6OmtQaW5nVGltZTsJLy8vPCBUaW1lIChzZWMpIGZvciB0aGUgcGluZyB0cmlnZ2VyIHB1bHNlLg0KLWNvbnN0IFVJTlQzMiBVbHRyYXNvbmljOjprUHJpb3JpdHk7CS8vLzwgUHJpb3JpdHkgdGhhdCB0aGUgdWx0cmFzb25pYyByb3VuZCByb2JpbiB0YXNrIHJ1bnMuDQotY29uc3QgZG91YmxlIFVsdHJhc29uaWM6OmtNYXhVbHRyYXNvbmljVGltZTsJLy8vPCBNYXggdGltZSAobXMpIGJldHdlZW4gcmVhZGluZ3MuDQotY29uc3QgZG91YmxlIFVsdHJhc29uaWM6OmtTcGVlZE9mU291bmRJbmNoZXNQZXJTZWM7DQotVGFzayBVbHRyYXNvbmljOjptX3Rhc2soIlVsdHJhc29uaWNDaGVja2VyIiwgKEZVTkNQVFIpVWx0cmFzb25pY0NoZWNrZXIpOyAvLyB0YXNrIGRvaW5nIHRoZSByb3VuZC1yb2JpbiBhdXRvbWF0aWMgc2Vuc2luZw0KLVVsdHJhc29uaWMgKlVsdHJhc29uaWM6Om1fZmlyc3RTZW5zb3IgPSBOVUxMOyAvLyBoZWFkIG9mIHRoZSB1bHRyYXNvbmljIHNlbnNvciBsaXN0DQotYm9vbCBVbHRyYXNvbmljOjptX2F1dG9tYXRpY0VuYWJsZWQgPSBmYWxzZTsgLy8gYXV0b21hdGljIHJvdW5kIHJvYmluIG1vZGUNCi1TRU1fSUQgVWx0cmFzb25pYzo6bV9zZW1hcGhvcmUgPSAwOw0KLQ0KLS8qKg0KLSAqIEJhY2tncm91bmQgdGFzayB0aGF0IGdvZXMgdGhyb3VnaCB0aGUgbGlzdCBvZiB1bHRyYXNvbmljIHNlbnNvcnMgYW5kIHBpbmdzIGVhY2ggb25lIGluIHR1cm4uIFRoZSBjb3VudGVyDQotICogaXMgY29uZmlndXJlZCB0byByZWFkIHRoZSB0aW1pbmcgb2YgdGhlIHJldHVybmVkIGVjaG8gcHVsc2UuDQotICogDQotICogREFOR0VSIFdJTEwgUk9CSU5TT04sIERBTkdFUiBXSUxMIFJPQklOU09OOg0KLSAqIFRoaXMgY29kZSBydW5zIGFzIGEgdGFzayBhbmQgYXNzdW1lcyB0aGF0IG5vbmUgb2YgdGhlIHVsdHJhc29uaWMgc2Vuc29ycyB3aWxsIGNoYW5nZSB3aGlsZSBpdCdzDQotICogcnVubmluZy4gSWYgb25lIGRvZXMsIHRoZW4gdGhpcyB3aWxsIGNlcnRhaW5seSBicmVhay4gTWFrZSBzdXJlIHRvIGRpc2FibGUgYXV0b21hdGljIG1vZGUgYmVmb3JlIGNoYW5naW5nDQotICogYW55dGhpbmcgd2l0aCB0aGUgc2Vuc29ycyEhDQotICovDQotdm9pZCBVbHRyYXNvbmljOjpVbHRyYXNvbmljQ2hlY2tlcigpDQotew0KLQlVbHRyYXNvbmljICp1ID0gTlVMTDsNCi0Jd2hpbGUgKG1fYXV0b21hdGljRW5hYmxlZCkNCi0Jew0KLQkJaWYgKHUgPT0gTlVMTCkgdSA9IG1fZmlyc3RTZW5zb3I7DQotCQlpZiAodSA9PSBOVUxMKSByZXR1cm47DQotCQlpZiAodS0+SXNFbmFibGVkKCkpDQotCQkJdS0+bV9waW5nQ2hhbm5lbC0+UHVsc2Uoa1BpbmdUaW1lKTsJLy8gZG8gdGhlIHBpbmcNCi0JCXUgPSB1LT5tX25leHRTZW5zb3I7DQotCQlXYWl0KDAuMSk7CQkJCQkJCS8vIHdhaXQgZm9yIHBpbmcgdG8gcmV0dXJuDQotCX0NCi19DQotDQotLyoqDQotICogSW5pdGlhbGl6ZSB0aGUgVWx0cmFzb25pYyBTZW5zb3IuDQotICogVGhpcyBpcyB0aGUgY29tbW9uIGNvZGUgdGhhdCBpbml0aWFsaXplcyB0aGUgdWx0cmFzb25pYyBzZW5zb3IgZ2l2ZW4gdGhhdCB0aGVyZQ0KLSAqIGFyZSB0d28gZGlnaXRhbCBJL08gY2hhbm5lbHMgYWxsb2NhdGVkLiBJZiB0aGUgc3lzdGVtIHdhcyBydW5uaW5nIGluIGF1dG9tYXRpYyBtb2RlIChyb3VuZCByb2JpbikNCi0gKiB3aGVuIHRoZSBuZXcgc2Vuc29yIGlzIGFkZGVkLCBpdCBpcyBzdG9wcGVkLCB0aGUgc2Vuc29yIGlzIGFkZGVkLCB0aGVuIGF1dG9tYXRpYyBtb2RlIGlzDQotICogcmVzdG9yZWQuDQotICovDQotdm9pZCBVbHRyYXNvbmljOjpJbml0aWFsaXplKCkNCi17DQotCW1fdGFibGUgPSBOVUxMOw0KLQlib29sIG9yaWdpbmFsTW9kZSA9IG1fYXV0b21hdGljRW5hYmxlZDsNCi0JaWYgKG1fc2VtYXBob3JlID09IDApIG1fc2VtYXBob3JlID0gc2VtQkNyZWF0ZShTRU1fUV9QUklPUklUWSwgU0VNX0ZVTEwpOw0KLQlTZXRBdXRvbWF0aWNNb2RlKGZhbHNlKTsgLy8ga2lsbCB0YXNrIHdoZW4gYWRkaW5nIGEgbmV3IHNlbnNvcg0KLQlzZW1UYWtlKG1fc2VtYXBob3JlLCBXQUlUX0ZPUkVWRVIpOyAvLyBsaW5rIHRoaXMgaW5zdGFuY2Ugb24gdGhlIGxpc3QNCi0Jew0KLQkJbV9uZXh0U2Vuc29yID0gbV9maXJzdFNlbnNvcjsNCi0JCW1fZmlyc3RTZW5zb3IgPSB0aGlzOw0KLQl9DQotCXNlbUdpdmUobV9zZW1hcGhvcmUpOw0KLQ0KLQltX2NvdW50ZXIgPSBuZXcgQ291bnRlcihtX2VjaG9DaGFubmVsKTsgLy8gc2V0IHVwIGNvdW50ZXIgZm9yIHRoaXMgc2Vuc29yDQotCW1fY291bnRlci0+U2V0TWF4UGVyaW9kKDEuMCk7DQotCW1fY291bnRlci0+U2V0U2VtaVBlcmlvZE1vZGUodHJ1ZSk7DQotCW1fY291bnRlci0+UmVzZXQoKTsNCi0JbV9jb3VudGVyLT5TdGFydCgpOw0KLQltX2VuYWJsZWQgPSB0cnVlOyAvLyBtYWtlIGl0IGF2YWlsYWJsZSBmb3Igcm91bmQgcm9iaW4gc2NoZWR1bGluZw0KLQlTZXRBdXRvbWF0aWNNb2RlKG9yaWdpbmFsTW9kZSk7DQotDQotCXN0YXRpYyBpbnQgaW5zdGFuY2VzID0gMDsNCi0JaW5zdGFuY2VzKys7DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9VbHRyYXNvbmljLCBpbnN0YW5jZXMpOw0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRTZW5zb3IoIlVsdHJhc29uaWMiLCBtX2VjaG9DaGFubmVsLT5HZXRNb2R1bGVGb3JSb3V0aW5nKCksIG1fZWNob0NoYW5uZWwtPkdldENoYW5uZWwoKSwgdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgVWx0cmFzb25pYyBTZW5zb3IgdXNpbmcgdGhlIGRlZmF1bHQgbW9kdWxlLg0KLSAqIFRoaXMgaXMgZGVzaWduZWQgdG8gc3VwY2hhbm5lbCB0aGUgRGF2ZW50ZWNoIFNSRjA0IGFuZCBWZXggdWx0cmFzb25pYyBzZW5zb3JzLiBUaGlzDQotICogY29uc3RydWN0b3IgYXNzdW1lcyB0aGF0IGJvdGggZGlnaXRhbCBJL08gY2hhbm5lbHMgYXJlIGluIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlLg0KLSAqIEBwYXJhbSBwaW5nQ2hhbm5lbCBUaGUgZGlnaXRhbCBvdXRwdXQgY2hhbm5lbCB0aGF0IHNlbmRzIHRoZSBwdWxzZSB0byBpbml0aWF0ZSB0aGUgc2Vuc29yIHNlbmRpbmcNCi0gKiB0aGUgcGluZy4NCi0gKiBAcGFyYW0gZWNob0NoYW5uZWwgVGhlIGRpZ2l0YWwgaW5wdXQgY2hhbm5lbCB0aGF0IHJlY2VpdmVzIHRoZSBlY2hvLiBUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCB0aGUNCi0gKiBlY2hvIGlzIGhpZ2ggcmVwcmVzZW50cyB0aGUgcm91bmQgdHJpcCB0aW1lIG9mIHRoZSBwaW5nLCBhbmQgdGhlIGRpc3RhbmNlLg0KLSAqIEBwYXJhbSB1bml0cyBUaGUgdW5pdHMgcmV0dXJuZWQgaW4gZWl0aGVyIGtJbmNoZXMgb3Iga01pbGxpTWV0ZXJzDQotICovDQotVWx0cmFzb25pYzo6VWx0cmFzb25pYyhVSU5UMzIgcGluZ0NoYW5uZWwsIFVJTlQzMiBlY2hvQ2hhbm5lbCwgRGlzdGFuY2VVbml0IHVuaXRzKQ0KLXsNCi0JbV9waW5nQ2hhbm5lbCA9IG5ldyBEaWdpdGFsT3V0cHV0KHBpbmdDaGFubmVsKTsNCi0JbV9lY2hvQ2hhbm5lbCA9IG5ldyBEaWdpdGFsSW5wdXQoZWNob0NoYW5uZWwpOw0KLQltX2FsbG9jYXRlZENoYW5uZWxzID0gdHJ1ZTsNCi0JbV91bml0cyA9IHVuaXRzOw0KLQlJbml0aWFsaXplKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhbiBVbHRyYXNvbmljIFNlbnNvciBmcm9tIGEgRGlnaXRhbElucHV0IGZvciB0aGUgZWNobyBjaGFubmVsIGFuZCBhIERpZ2l0YWxPdXRwdXQNCi0gKiBmb3IgdGhlIHBpbmcgY2hhbm5lbC4NCi0gKiBAcGFyYW0gcGluZ0NoYW5uZWwgVGhlIGRpZ2l0YWwgb3V0cHV0IG9iamVjdCB0aGF0IHN0YXJ0cyB0aGUgc2Vuc29yIGRvaW5nIGEgcGluZy4gUmVxdWlyZXMgYSAxMHVTIHB1bHNlIHRvIHN0YXJ0Lg0KLSAqIEBwYXJhbSBlY2hvQ2hhbm5lbCBUaGUgZGlnaXRhbCBpbnB1dCBvYmplY3QgdGhhdCB0aW1lcyB0aGUgcmV0dXJuIHB1bHNlIHRvIGRldGVybWluZSB0aGUgcmFuZ2UuDQotICogQHBhcmFtIHVuaXRzIFRoZSB1bml0cyByZXR1cm5lZCBpbiBlaXRoZXIga0luY2hlcyBvciBrTWlsbGlNZXRlcnMNCi0gKi8NCi1VbHRyYXNvbmljOjpVbHRyYXNvbmljKERpZ2l0YWxPdXRwdXQgKnBpbmdDaGFubmVsLCBEaWdpdGFsSW5wdXQgKmVjaG9DaGFubmVsLCBEaXN0YW5jZVVuaXQgdW5pdHMpDQotew0KLQlpZiAocGluZ0NoYW5uZWwgPT0gTlVMTCB8fCBlY2hvQ2hhbm5lbCA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3IoTnVsbFBhcmFtZXRlcik7DQotCQlyZXR1cm47DQotCX0NCi0JbV9hbGxvY2F0ZWRDaGFubmVscyA9IGZhbHNlOw0KLQltX3BpbmdDaGFubmVsID0gcGluZ0NoYW5uZWw7DQotCW1fZWNob0NoYW5uZWwgPSBlY2hvQ2hhbm5lbDsNCi0JbV91bml0cyA9IHVuaXRzOw0KLQlJbml0aWFsaXplKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBhbiBVbHRyYXNvbmljIFNlbnNvciBmcm9tIGEgRGlnaXRhbElucHV0IGZvciB0aGUgZWNobyBjaGFubmVsIGFuZCBhIERpZ2l0YWxPdXRwdXQNCi0gKiBmb3IgdGhlIHBpbmcgY2hhbm5lbC4NCi0gKiBAcGFyYW0gcGluZ0NoYW5uZWwgVGhlIGRpZ2l0YWwgb3V0cHV0IG9iamVjdCB0aGF0IHN0YXJ0cyB0aGUgc2Vuc29yIGRvaW5nIGEgcGluZy4gUmVxdWlyZXMgYSAxMHVTIHB1bHNlIHRvIHN0YXJ0Lg0KLSAqIEBwYXJhbSBlY2hvQ2hhbm5lbCBUaGUgZGlnaXRhbCBpbnB1dCBvYmplY3QgdGhhdCB0aW1lcyB0aGUgcmV0dXJuIHB1bHNlIHRvIGRldGVybWluZSB0aGUgcmFuZ2UuDQotICogQHBhcmFtIHVuaXRzIFRoZSB1bml0cyByZXR1cm5lZCBpbiBlaXRoZXIga0luY2hlcyBvciBrTWlsbGlNZXRlcnMNCi0gKi8NCi1VbHRyYXNvbmljOjpVbHRyYXNvbmljKERpZ2l0YWxPdXRwdXQgJnBpbmdDaGFubmVsLCBEaWdpdGFsSW5wdXQgJmVjaG9DaGFubmVsLCBEaXN0YW5jZVVuaXQgdW5pdHMpDQotew0KLQltX2FsbG9jYXRlZENoYW5uZWxzID0gZmFsc2U7DQotCW1fcGluZ0NoYW5uZWwgPSAmcGluZ0NoYW5uZWw7DQotCW1fZWNob0NoYW5uZWwgPSAmZWNob0NoYW5uZWw7DQotCW1fdW5pdHMgPSB1bml0czsNCi0JSW5pdGlhbGl6ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIFVsdHJhc29uaWMgc2Vuc29yIHVzaW5nIHNwZWNpZmllZCBtb2R1bGVzLg0KLSAqIFRoaXMgaXMgZGVzaWduZWQgdG8gc3VwY2hhbm5lbCB0aGUgRGF2ZW50ZWNoIFNSRjA0IGFuZCBWZXggdWx0cmFzb25pYyBzZW5zb3JzLiBUaGlzDQotICogY29uc3RydWN0b3JzIHRha2VzIHRoZSBjaGFubmVsIGFuZCBtb2R1bGUgc2xvdCBmb3IgZWFjaCBvZiB0aGUgcmVxdWlyZWQgZGlnaXRhbCBJL08gY2hhbm5lbHMuDQotICogQHBhcmFtIHBpbmdNb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlIHRoYXQgdGhlIHBpbmdDaGFubmVsIGlzIG9uLg0KLSAqIEBwYXJhbSBwaW5nQ2hhbm5lbCBUaGUgZGlnaXRhbCBvdXRwdXQgY2hhbm5lbCB0aGF0IHNlbmRzIHRoZSBwdWxzZSB0byBpbml0aWF0ZSB0aGUgc2Vuc29yDQotICogc2VuZGluZyB0aGUgcGluZy4NCi0gKiBAcGFyYW0gZWNob01vZHVsZU51bWJlciBUaGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgZWNob0NoYW5uZWwgaXMgb24uDQotICogQHBhcmFtIGVjaG9DaGFubmVsIFRoZSBkaWdpdGFsIGlucHV0IGNoYW5uZWwgdGhhdCByZWNlaXZlcyB0aGUgZWNoby4gVGhlIGxlbmd0aCBvZiB0aW1lDQotICogdGhhdCB0aGUgZWNobyBpcyBoaWdoIHJlcHJlc2VudHMgdGhlIHJvdW5kIHRyaXAgdGltZSBvZiB0aGUgcGluZywgYW5kIHRoZSBkaXN0YW5jZS4NCi0gKiBAcGFyYW0gdW5pdHMgVGhlIHVuaXRzIHJldHVybmVkIGluIGVpdGhlciBrSW5jaGVzIG9yIGtNaWxsaU1ldGVycw0KLSAqLw0KLVVsdHJhc29uaWM6OlVsdHJhc29uaWMoVUlOVDggcGluZ01vZHVsZU51bWJlciwgVUlOVDMyIHBpbmdDaGFubmVsLA0KLQkJVUlOVDggZWNob01vZHVsZU51bWJlciwgVUlOVDMyIGVjaG9DaGFubmVsLCBEaXN0YW5jZVVuaXQgdW5pdHMpDQotew0KLQltX3BpbmdDaGFubmVsID0gbmV3IERpZ2l0YWxPdXRwdXQocGluZ01vZHVsZU51bWJlciwgcGluZ0NoYW5uZWwpOw0KLQltX2VjaG9DaGFubmVsID0gbmV3IERpZ2l0YWxJbnB1dChlY2hvTW9kdWxlTnVtYmVyLCBlY2hvQ2hhbm5lbCk7DQotCW1fYWxsb2NhdGVkQ2hhbm5lbHMgPSB0cnVlOw0KLQltX3VuaXRzID0gdW5pdHM7DQotCUluaXRpYWxpemUoKTsNCi19DQotDQotLyoqDQotICogRGVzdHJ1Y3RvciBmb3IgdGhlIHVsdHJhc29uaWMgc2Vuc29yLg0KLSAqIERlbGV0ZSB0aGUgaW5zdGFuY2Ugb2YgdGhlIHVsdHJhc29uaWMgc2Vuc29yIGJ5IGZyZWVpbmcgdGhlIGFsbG9jYXRlZCBkaWdpdGFsIGNoYW5uZWxzLg0KLSAqIElmIHRoZSBzeXN0ZW0gd2FzIGluIGF1dG9tYXRpYyBtb2RlIChyb3VuZCByb2JpbiksIHRoZW4gaXQgaXMgc3RvcHBlZCwgdGhlbiBzdGFydGVkIGFnYWluDQotICogYWZ0ZXIgdGhpcyBzZW5zb3IgaXMgcmVtb3ZlZCAocHJvdmlkZWQgdGhpcyB3YXNuJ3QgdGhlIGxhc3Qgc2Vuc29yKS4NCi0gKi8NCi1VbHRyYXNvbmljOjp+VWx0cmFzb25pYygpDQotew0KLQlib29sIHdhc0F1dG9tYXRpY01vZGUgPSBtX2F1dG9tYXRpY0VuYWJsZWQ7DQotCVNldEF1dG9tYXRpY01vZGUoZmFsc2UpOw0KLQlpZiAobV9hbGxvY2F0ZWRDaGFubmVscykNCi0Jew0KLQkJZGVsZXRlIG1fcGluZ0NoYW5uZWw7DQotCQlkZWxldGUgbV9lY2hvQ2hhbm5lbDsNCi0JfQ0KLQl3cGlfYXNzZXJ0KG1fZmlyc3RTZW5zb3IgIT0gTlVMTCk7DQotDQotCXNlbVRha2UobV9zZW1hcGhvcmUsIFdBSVRfRk9SRVZFUik7DQotCXsNCi0JCWlmICh0aGlzID09IG1fZmlyc3RTZW5zb3IpDQotCQl7DQotCQkJbV9maXJzdFNlbnNvciA9IG1fbmV4dFNlbnNvcjsNCi0JCQlpZiAobV9maXJzdFNlbnNvciA9PSBOVUxMKQ0KLQkJCXsNCi0JCQkJU2V0QXV0b21hdGljTW9kZShmYWxzZSk7DQotCQkJfQ0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCXdwaV9hc3NlcnQobV9maXJzdFNlbnNvci0+bV9uZXh0U2Vuc29yICE9IE5VTEwpOw0KLQkJCWZvciAoVWx0cmFzb25pYyAqcyA9IG1fZmlyc3RTZW5zb3I7IHMgIT0gTlVMTDsgcyA9IHMtPm1fbmV4dFNlbnNvcikNCi0JCQl7DQotCQkJCWlmICh0aGlzID09IHMtPm1fbmV4dFNlbnNvcikNCi0JCQkJew0KLQkJCQkJcy0+bV9uZXh0U2Vuc29yID0gcy0+bV9uZXh0U2Vuc29yLT5tX25leHRTZW5zb3I7DQotCQkJCQlicmVhazsNCi0JCQkJfQ0KLQkJCX0NCi0JCX0NCi0JfQ0KLQlzZW1HaXZlKG1fc2VtYXBob3JlKTsNCi0JaWYgKG1fZmlyc3RTZW5zb3IgIT0gTlVMTCAmJiB3YXNBdXRvbWF0aWNNb2RlKQ0KLQkJU2V0QXV0b21hdGljTW9kZSh0cnVlKTsNCi19DQotDQotLyoqDQotICogVHVybiBBdXRvbWF0aWMgbW9kZSBvbi9vZmYuDQotICogV2hlbiBpbiBBdXRvbWF0aWMgbW9kZSwgYWxsIHNlbnNvcnMgd2lsbCBmaXJlIGluIHJvdW5kIHJvYmluLCB3YWl0aW5nIGEgc2V0DQotICogdGltZSBiZXR3ZWVuIGVhY2ggc2Vuc29yLg0KLSAqIEBwYXJhbSBlbmFibGluZyBTZXQgdG8gdHJ1ZSBpZiByb3VuZCByb2JpbiBzY2hlZHVsaW5nIHNob3VsZCBzdGFydCBmb3IgYWxsIHRoZSB1bHRyYXNvbmljIHNlbnNvcnMuIFRoaXMNCi0gKiBzY2hlZHVsaW5nIG1ldGhvZCBhc3N1cmVzIHRoYXQgdGhlIHNlbnNvcnMgYXJlIG5vbi1pbnRlcmZlcmluZyBiZWNhdXNlIG5vIHR3byBzZW5zb3JzIGZpcmUgYXQgdGhlIHNhbWUgdGltZS4NCi0gKiBJZiBhbm90aGVyIHNjaGVkdWxpbmcgYWxnb3JpdGhtIGlzIHByZWZmZXJlZCwgaXQgY2FuIGJlIGltcGxlbWVudGVkIGJ5IHBpbmdpbmcgdGhlIHNlbnNvcnMgbWFudWFsbHkgYW5kIHdhaXRpbmcNCi0gKiBmb3IgdGhlIHJlc3VsdHMgdG8gY29tZSBiYWNrLg0KLSAqLw0KLXZvaWQgVWx0cmFzb25pYzo6U2V0QXV0b21hdGljTW9kZShib29sIGVuYWJsaW5nKQ0KLXsNCi0JaWYgKGVuYWJsaW5nID09IG1fYXV0b21hdGljRW5hYmxlZCkNCi0JCXJldHVybjsgLy8gaWdub3JlIHRoZSBjYXNlIG9mIG5vIGNoYW5nZQ0KLQ0KLQltX2F1dG9tYXRpY0VuYWJsZWQgPSBlbmFibGluZzsNCi0JaWYgKGVuYWJsaW5nKQ0KLQl7DQotCQkvLyBlbmFibGluZyBhdXRvbWF0aWMgbW9kZS4NCi0JCS8vIENsZWFyIGFsbCB0aGUgY291bnRlcnMgc28gbm8gZGF0YSBpcyB2YWxpZA0KLQkJZm9yIChVbHRyYXNvbmljICp1ID0gbV9maXJzdFNlbnNvcjsgdSAhPSBOVUxMOyB1ID0gdS0+bV9uZXh0U2Vuc29yKQ0KLQkJew0KLQkJCXUtPm1fY291bnRlci0+UmVzZXQoKTsNCi0JCX0NCi0JCS8vIFN0YXJ0IHJvdW5kIHJvYmluIHRhc2sNCi0JCXdwaV9hc3NlcnQobV90YXNrLlZlcmlmeSgpID09IGZhbHNlKTsJLy8gc2hvdWxkIGJlIGZhbHNlIHNpbmNlIHdhcyBwcmV2aW91c2x5IGRpc2FibGVkDQotCQltX3Rhc2suU3RhcnQoKTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCS8vIGRpc2FibGluZyBhdXRvbWF0aWMgbW9kZS4gV2FpdCBmb3IgYmFja2dyb3VuZCB0YXNrIHRvIHN0b3AgcnVubmluZy4NCi0JCXdoaWxlIChtX3Rhc2suVmVyaWZ5KCkpDQotCQkJV2FpdCgwLjE1KTsJLy8ganVzdCBhIGxpdHRsZSBsb25nZXIgdGhhbiB0aGUgcGluZyB0aW1lIGZvciByb3VuZC1yb2JpbiB0byBzdG9wDQotDQotCQkvLyBjbGVhciBhbGwgdGhlIGNvdW50ZXJzIChkYXRhIG5vdyBpbnZhbGlkKSBzaW5jZSBhdXRvbWF0aWMgbW9kZSBpcyBzdG9wcGVkDQotCQlmb3IgKFVsdHJhc29uaWMgKnUgPSBtX2ZpcnN0U2Vuc29yOyB1ICE9IE5VTEw7IHUgPSB1LT5tX25leHRTZW5zb3IpDQotCQl7DQotCQkJdS0+bV9jb3VudGVyLT5SZXNldCgpOw0KLQkJfQ0KLQkJbV90YXNrLlN0b3AoKTsNCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBTaW5nbGUgcGluZyB0byB1bHRyYXNvbmljIHNlbnNvci4NCi0gKiBTZW5kIG91dCBhIHNpbmdsZSBwaW5nIHRvIHRoZSB1bHRyYXNvbmljIHNlbnNvci4gVGhpcyBvbmx5IHdvcmtzIGlmIGF1dG9tYXRpYyAocm91bmQgcm9iaW4pDQotICogbW9kZSBpcyBkaXNhYmxlZC4gQSBzaW5nbGUgcGluZyBpcyBzZW50IG91dCwgYW5kIHRoZSBjb3VudGVyIHNob3VsZCBjb3VudCB0aGUgc2VtaS1wZXJpb2QNCi0gKiB3aGVuIGl0IGNvbWVzIGluLiBUaGUgY291bnRlciBpcyByZXNldCB0byBtYWtlIHRoZSBjdXJyZW50IHZhbHVlIGludmFsaWQuDQotICovDQotdm9pZCBVbHRyYXNvbmljOjpQaW5nKCkNCi17DQotCS8vIFRPRE86IEVpdGhlciBhc3NlcnQgb3IgZGlzYWJsZSwgbm90IGJvdGguDQotCXdwaV9hc3NlcnQoIW1fYXV0b21hdGljRW5hYmxlZCk7DQotCVNldEF1dG9tYXRpY01vZGUoZmFsc2UpOyAvLyB0dXJuIG9mZiBhdXRvbWF0aWMgcm91bmQgcm9iaW4gaWYgcGluZ2luZyBzaW5nbGUgc2Vuc29yDQotCW1fY291bnRlci0+UmVzZXQoKTsgLy8gcmVzZXQgdGhlIGNvdW50ZXIgdG8gemVybyAoaW52YWxpZCBkYXRhIG5vdykNCi0JbV9waW5nQ2hhbm5lbC0+UHVsc2Uoa1BpbmdUaW1lKTsgLy8gZG8gdGhlIHBpbmcgdG8gc3RhcnQgZ2V0dGluZyBhIHNpbmdsZSByYW5nZQ0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBpZiB0aGVyZSBpcyBhIHZhbGlkIHJhbmdlIG1lYXN1cmVtZW50Lg0KLSAqIFRoZSByYW5nZXMgYXJlIGFjY3VtdWxhdGVkIGluIGEgY291bnRlciB0aGF0IHdpbGwgaW5jcmVtZW50IG9uIGVhY2ggZWRnZSBvZiB0aGUgZWNobyAocmV0dXJuKQ0KLSAqIHNpZ25hbC4gSWYgdGhlIGNvdW50IGlzIG5vdCBhdCBsZWFzdCAyLCB0aGVuIHRoZSByYW5nZSBoYXMgbm90IHlldCBiZWVuIG1lYXN1cmVkLCBhbmQgaXMgaW52YWxpZC4NCi0gKi8NCi1ib29sIFVsdHJhc29uaWM6OklzUmFuZ2VWYWxpZCgpDQotew0KLQlyZXR1cm4gbV9jb3VudGVyLT5HZXQoKSA+IDE7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcmFuZ2UgaW4gaW5jaGVzIGZyb20gdGhlIHVsdHJhc29uaWMgc2Vuc29yLg0KLSAqIEByZXR1cm4gZG91YmxlIFJhbmdlIGluIGluY2hlcyBvZiB0aGUgdGFyZ2V0IHJldHVybmVkIGZyb20gdGhlIHVsdHJhc29uaWMgc2Vuc29yLiBJZiB0aGVyZSBpcw0KLSAqIG5vIHZhbGlkIHZhbHVlIHlldCwgaS5lLiBhdCBsZWFzdCBvbmUgbWVhc3VyZW1lbnQgaGFzbid0IGNvbXBsZXRlZCwgdGhlbiByZXR1cm4gMC4NCi0gKi8NCi1kb3VibGUgVWx0cmFzb25pYzo6R2V0UmFuZ2VJbmNoZXMoKQ0KLXsNCi0JaWYgKElzUmFuZ2VWYWxpZCgpKQ0KLQkJcmV0dXJuIG1fY291bnRlci0+R2V0UGVyaW9kKCkgKiBrU3BlZWRPZlNvdW5kSW5jaGVzUGVyU2VjIC8gMi4wOw0KLQllbHNlDQotCQlyZXR1cm4gMDsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSByYW5nZSBpbiBtaWxsaW1ldGVycyBmcm9tIHRoZSB1bHRyYXNvbmljIHNlbnNvci4NCi0gKiBAcmV0dXJuIGRvdWJsZSBSYW5nZSBpbiBtaWxsaW1ldGVycyBvZiB0aGUgdGFyZ2V0IHJldHVybmVkIGJ5IHRoZSB1bHRyYXNvbmljIHNlbnNvci4NCi0gKiBJZiB0aGVyZSBpcyBubyB2YWxpZCB2YWx1ZSB5ZXQsIGkuZS4gYXQgbGVhc3Qgb25lIG1lYXN1cmVtZW50IGhhc24ndCBjb21wbHRlZCwgdGhlbiByZXR1cm4gMC4NCi0gKi8NCi1kb3VibGUgVWx0cmFzb25pYzo6R2V0UmFuZ2VNTSgpDQotew0KLQlyZXR1cm4gR2V0UmFuZ2VJbmNoZXMoKSAqIDI1LjQ7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgcmFuZ2UgaW4gdGhlIGN1cnJlbnQgRGlzdGFuY2VVbml0IGZvciB0aGUgUElEU291cmNlIGJhc2Ugb2JqZWN0Lg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIHJhbmdlIGluIERpc3RhbmNlVW5pdA0KLSAqLw0KLWRvdWJsZSBVbHRyYXNvbmljOjpQSURHZXQoKQ0KLXsNCi0Jc3dpdGNoKG1fdW5pdHMpIA0KLQl7DQotCWNhc2UgVWx0cmFzb25pYzo6a0luY2hlczoNCi0JCXJldHVybiBHZXRSYW5nZUluY2hlcygpOw0KLQljYXNlIFVsdHJhc29uaWM6OmtNaWxsaU1ldGVyczoNCi0JCXJldHVybiBHZXRSYW5nZU1NKCk7DQotCWRlZmF1bHQ6DQotCQlyZXR1cm4gMC4wOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgY3VycmVudCBEaXN0YW5jZVVuaXQgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIFBJRFNvdXJjZSBiYXNlIG9iamVjdC4NCi0gKiANCi0gKiBAcGFyYW0gdW5pdHMgVGhlIERpc3RhbmNlVW5pdCB0aGF0IHNob3VsZCBiZSB1c2VkLg0KLSAqLw0KLXZvaWQgVWx0cmFzb25pYzo6U2V0RGlzdGFuY2VVbml0cyhEaXN0YW5jZVVuaXQgdW5pdHMpDQotew0KLQltX3VuaXRzID0gdW5pdHM7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBEaXN0YW5jZVVuaXQgdGhhdCBpcyB1c2VkIGZvciB0aGUgUElEU291cmNlIGJhc2Ugb2JqZWN0Lg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIHR5cGUgb2YgRGlzdGFuY2VVbml0IHRoYXQgaXMgYmVpbmcgdXNlZC4NCi0gKi8NCi1VbHRyYXNvbmljOjpEaXN0YW5jZVVuaXQgVWx0cmFzb25pYzo6R2V0RGlzdGFuY2VVbml0cygpDQotew0KLQlyZXR1cm4gbV91bml0czsNCi19DQotDQotdm9pZCBVbHRyYXNvbmljOjpVcGRhdGVUYWJsZSgpIHsNCi0JaWYgKG1fdGFibGUgIT0gTlVMTCkgew0KLQkJbV90YWJsZS0+UHV0TnVtYmVyKCJWYWx1ZSIsIEdldFJhbmdlSW5jaGVzKCkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgVWx0cmFzb25pYzo6U3RhcnRMaXZlV2luZG93TW9kZSgpIHsNCi0JDQotfQ0KLQ0KLXZvaWQgVWx0cmFzb25pYzo6U3RvcExpdmVXaW5kb3dNb2RlKCkgew0KLQkNCi19DQotDQotc3RkOjpzdHJpbmcgVWx0cmFzb25pYzo6R2V0U21hcnREYXNoYm9hcmRUeXBlKCkgew0KLQlyZXR1cm4gIlVsdHJhc29uaWMiOw0KLX0NCi0NCi12b2lkIFVsdHJhc29uaWM6OkluaXRUYWJsZShJVGFibGUgKnN1YlRhYmxlKSB7DQotCW1fdGFibGUgPSBzdWJUYWJsZTsNCi0JVXBkYXRlVGFibGUoKTsNCi19DQotDQotSVRhYmxlICogVWx0cmFzb25pYzo6R2V0VGFibGUoKSB7DQotCXJldHVybiBtX3RhYmxlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9VbHRyYXNvbmljLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9VbHRyYXNvbmljLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3YzY2N2EuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVWx0cmFzb25pYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIFVMVFJBU09OSUNfSF8NCi0jZGVmaW5lIFVMVFJBU09OSUNfSF8NCi0NCi0jaW5jbHVkZSAiU2Vuc29yQmFzZS5oIg0KLSNpbmNsdWRlICJUYXNrLmgiDQotI2luY2x1ZGUgIlBJRFNvdXJjZS5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3dTZW5kYWJsZS5oIg0KLQ0KLWNsYXNzIENvdW50ZXI7DQotY2xhc3MgRGlnaXRhbElucHV0Ow0KLWNsYXNzIERpZ2l0YWxPdXRwdXQ7DQotDQotLyoqDQotICogVWx0cmFzb25pYyByYW5nZWZpbmRlciBjbGFzcy4NCi0gKiBUaGUgVWx0cmFzb25pYyByYW5nZWZpbmRlciBtZWFzdXJlcyBhYnNvbHV0ZSBkaXN0YW5jZSBiYXNlZCBvbiB0aGUgcm91bmQtdHJpcCB0aW1lDQotICogb2YgYSBwaW5nIGdlbmVyYXRlZCBieSB0aGUgY29udHJvbGxlci4gVGhlc2Ugc2Vuc29ycyB1c2UgdHdvIHRyYW5zZHVjZXJzLCBhIHNwZWFrZXIgYW5kDQotICogYSBtaWNyb3Bob25lIGJvdGggdHVuZWQgdG8gdGhlIHVsdHJhc29uaWMgcmFuZ2UuIEEgY29tbW9uIHVsdHJhc29uaWMgc2Vuc29yLCB0aGUgRGF2ZW50ZWNoIFNSRjA0DQotICogcmVxdWlyZXMgYSBzaG9ydCBwdWxzZSB0byBiZSBnZW5lcmF0ZWQgb24gYSBkaWdpdGFsIGNoYW5uZWwuIFRoaXMgY2F1c2VzIHRoZSBjaGlycCB0byBiZQ0KLSAqIGVtbWl0dGVkLiBBIHNlY29uZCBsaW5lIGJlY29tZXMgaGlnaCBhcyB0aGUgcGluZyBpcyB0cmFuc21pdHRlZCBhbmQgZ29lcyBsb3cgd2hlbg0KLSAqIHRoZSBlY2hvIGlzIHJlY2VpdmVkLiBUaGUgdGltZSB0aGF0IHRoZSBsaW5lIGlzIGhpZ2ggZGV0ZXJtaW5lcyB0aGUgcm91bmQgdHJpcCBkaXN0YW5jZQ0KLSAqICh0aW1lIG9mIGZsaWdodCkuDQotICovDQotY2xhc3MgVWx0cmFzb25pYzogcHVibGljIFNlbnNvckJhc2UsIHB1YmxpYyBQSURTb3VyY2UsIHB1YmxpYyBMaXZlV2luZG93U2VuZGFibGUNCi17DQotcHVibGljOg0KLQl0eXBlZGVmIGVudW0gew0KLQkJa0luY2hlcyA9IDAsDQotCQlrTWlsbGlNZXRlcnMgPSAxDQotCX0gRGlzdGFuY2VVbml0Ow0KLQkNCi0JVWx0cmFzb25pYyhEaWdpdGFsT3V0cHV0ICpwaW5nQ2hhbm5lbCwgRGlnaXRhbElucHV0ICplY2hvQ2hhbm5lbCwgRGlzdGFuY2VVbml0IHVuaXRzID0ga0luY2hlcyk7DQotCVVsdHJhc29uaWMoRGlnaXRhbE91dHB1dCAmcGluZ0NoYW5uZWwsIERpZ2l0YWxJbnB1dCAmZWNob0NoYW5uZWwsIERpc3RhbmNlVW5pdCB1bml0cyA9IGtJbmNoZXMpOw0KLQlVbHRyYXNvbmljKFVJTlQzMiBwaW5nQ2hhbm5lbCwgVUlOVDMyIGVjaG9DaGFubmVsLCBEaXN0YW5jZVVuaXQgdW5pdHMgPSBrSW5jaGVzKTsNCi0JVWx0cmFzb25pYyhVSU5UOCBwaW5nTW9kdWxlTnVtYmVyLCBVSU5UMzIgcGluZ0NoYW5uZWwsDQotCQkJCQkJCVVJTlQ4IGVjaG9Nb2R1bGVOdW1iZXIsIFVJTlQzMiBlY2hvQ2hhbm5lbCwgRGlzdGFuY2VVbml0IHVuaXRzID0ga0luY2hlcyk7DQotCXZpcnR1YWwgflVsdHJhc29uaWMoKTsNCi0NCi0Jdm9pZCBQaW5nKCk7DQotCWJvb2wgSXNSYW5nZVZhbGlkKCk7DQotCXN0YXRpYyB2b2lkIFNldEF1dG9tYXRpY01vZGUoYm9vbCBlbmFibGluZyk7DQotCWRvdWJsZSBHZXRSYW5nZUluY2hlcygpOw0KLQlkb3VibGUgR2V0UmFuZ2VNTSgpOw0KLQlib29sIElzRW5hYmxlZCgpIHsgcmV0dXJuIG1fZW5hYmxlZDsgfQ0KLQl2b2lkIFNldEVuYWJsZWQoYm9vbCBlbmFibGUpIHsgbV9lbmFibGVkID0gZW5hYmxlOyB9DQotCQ0KLQlkb3VibGUgUElER2V0KCk7DQotCXZvaWQgU2V0RGlzdGFuY2VVbml0cyhEaXN0YW5jZVVuaXQgdW5pdHMpOw0KLQlEaXN0YW5jZVVuaXQgR2V0RGlzdGFuY2VVbml0cygpOw0KLQ0KLQl2b2lkIFVwZGF0ZVRhYmxlKCk7DQotCXZvaWQgU3RhcnRMaXZlV2luZG93TW9kZSgpOw0KLQl2b2lkIFN0b3BMaXZlV2luZG93TW9kZSgpOw0KLQlzdGQ6OnN0cmluZyBHZXRTbWFydERhc2hib2FyZFR5cGUoKTsNCi0Jdm9pZCBJbml0VGFibGUoSVRhYmxlICpzdWJUYWJsZSk7DQotCUlUYWJsZSAqIEdldFRhYmxlKCk7DQotDQotcHJpdmF0ZToNCi0Jdm9pZCBJbml0aWFsaXplKCk7DQotDQotCXN0YXRpYyB2b2lkIFVsdHJhc29uaWNDaGVja2VyKCk7DQotDQotCXN0YXRpYyBjb25zdCBkb3VibGUga1BpbmdUaW1lID0gMTAgKiAxZS02OwkvLy88IFRpbWUgKHNlYykgZm9yIHRoZSBwaW5nIHRyaWdnZXIgcHVsc2UuDQotCXN0YXRpYyBjb25zdCBVSU5UMzIga1ByaW9yaXR5ID0gOTA7CS8vLzwgUHJpb3JpdHkgdGhhdCB0aGUgdWx0cmFzb25pYyByb3VuZCByb2JpbiB0YXNrIHJ1bnMuDQotCXN0YXRpYyBjb25zdCBkb3VibGUga01heFVsdHJhc29uaWNUaW1lID0gMC4xOwkvLy88IE1heCB0aW1lIChtcykgYmV0d2VlbiByZWFkaW5ncy4NCi0Jc3RhdGljIGNvbnN0IGRvdWJsZSBrU3BlZWRPZlNvdW5kSW5jaGVzUGVyU2VjID0gMTEzMC4wICogMTIuMDsNCi0NCi0Jc3RhdGljIFRhc2sgbV90YXNrOyAvLyB0YXNrIGRvaW5nIHRoZSByb3VuZC1yb2JpbiBhdXRvbWF0aWMgc2Vuc2luZw0KLQlzdGF0aWMgVWx0cmFzb25pYyAqbV9maXJzdFNlbnNvcjsgLy8gaGVhZCBvZiB0aGUgdWx0cmFzb25pYyBzZW5zb3IgbGlzdA0KLQlzdGF0aWMgYm9vbCBtX2F1dG9tYXRpY0VuYWJsZWQ7IC8vIGF1dG9tYXRpYyByb3VuZCByb2JpbiBtb2RlDQotCXN0YXRpYyBTRU1fSUQgbV9zZW1hcGhvcmU7IC8vIHN5bmNocm9uaXplIGFjY2VzcyB0byB0aGUgbGlzdCBvZiBzZW5zb3JzDQotDQotCURpZ2l0YWxJbnB1dCAqbV9lY2hvQ2hhbm5lbDsNCi0JRGlnaXRhbE91dHB1dCAqbV9waW5nQ2hhbm5lbDsNCi0JYm9vbCBtX2FsbG9jYXRlZENoYW5uZWxzOw0KLQlib29sIG1fZW5hYmxlZDsNCi0JQ291bnRlciAqbV9jb3VudGVyOw0KLQlVbHRyYXNvbmljICptX25leHRTZW5zb3I7DQotCURpc3RhbmNlVW5pdCBtX3VuaXRzOw0KLQkNCi0JSVRhYmxlICptX3RhYmxlOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVXRpbGl0eS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9VdGlsaXR5LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTVmNzI0ZDMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVXRpbGl0eS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MzggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiVXRpbGl0eS5oIg0KLQ0KLSNpbmNsdWRlICJOZXR3b3JrQ29tbXVuaWNhdGlvbi9GUkNDb21tLmgiDQotI2luY2x1ZGUgIkNoaXBPYmplY3QuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlIDxkYmdMaWIuaD4NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSA8c3lzU3ltVGJsLmg+DQotI2luY2x1ZGUgIm5pdmlzaW9uLmgiDQotDQotI2RlZmluZSBEQkdfREVNQU5HTEVfUFJJTlRfTEVOIDI1NiAgLyogTnVtIGNoYXJzIG9mIGRlbWFuZ2xlZCBuYW1lcyB0byBwcmludCAqLw0KLQ0KLWV4dGVybiAiQyINCi17DQotCWV4dGVybiBjaGFyICogY3BsdXNEZW1hbmdsZSAoY2hhciAqc291cmNlLCBjaGFyICpkZXN0LCBJTlQzMiBuKTsNCi19DQotDQotY2hhciAqd3BpX2dldExhYmVsKFVJTlQgYWRkciwgSU5UMzIgKmZvdW5kKQ0KLXsNCi0JSU5UMzIgcFZhbDsNCi0JU1lNX1RZUEUgcFR5cGU7DQotCWNoYXIgbmFtZVtNQVhfU1lTX1NZTV9MRU4gKyAxXTsNCi0Jc3RhdGljIGNoYXIgbGFiZWxbREJHX0RFTUFOR0xFX1BSSU5UX0xFTiArIDEgKyAxMV07DQotCWJ6ZXJvKGxhYmVsLCBEQkdfREVNQU5HTEVfUFJJTlRfTEVOICsgMSArIDExKTsNCi0NCi0JaWYgKHN5bUZpbmRCeVZhbHVlKHN5c1N5bVRibCwgYWRkciwgbmFtZSwgJnBWYWwsICZwVHlwZSkgPT0gT0spDQotCXsNCi0JCWNwbHVzRGVtYW5nbGUobmFtZSwgbGFiZWwsIHNpemVvZihsYWJlbCkgLSAxMSk7DQotCQlpZiAoKFVJTlQpcFZhbCAhPSBhZGRyKQ0KLQkJew0KLQkJCXNwcmludGYoJmxhYmVsW3N0cmxlbihsYWJlbCldLCAiKzB4JTA0eCIsIGFkZHItcFZhbCk7DQotCQkJaWYgKGZvdW5kKSAqZm91bmQgPSAyOw0KLQkJfQ0KLQkJZWxzZQ0KLQkJew0KLQkJCWlmIChmb3VuZCkgKmZvdW5kID0gMTsNCi0JCX0NCi0JfQ0KLQllbHNlDQotCXsNCi0JCXNwcmludGYobGFiZWwsICIweCUwNHgiLCBhZGRyKTsNCi0JCWlmIChmb3VuZCkgKmZvdW5kID0gMDsNCi0JfQ0KLQ0KLQlyZXR1cm4gbGFiZWw7DQotfQ0KLS8qDQotc3RhdGljIHZvaWQgd3BpVHJhY2VQcmludChJTlNUUiAqY2FsbGVyLCBJTlQzMiBmdW5jLCBJTlQzMiBuYXJncywgSU5UMzIgKmFyZ3MsIElOVDMyIHRhc2tJZCwgQk9PTCBpc0tlcm5lbEFkcnMpDQotew0KLQljaGFyIGJ1ZiBbTUFYX1NZU19TWU1fTEVOICogMl07DQotCUlOVDMyIGl4Ow0KLQlJTlQzMiBsZW4gPSAwOw0KLQlsZW4gKz0gc3ByaW50ZiAoJmJ1ZiBbbGVuXSwgIiVzIDwlIzAxMHg+OiAiLCB3cGlfZ2V0TGFiZWwoKFVJTlQpY2FsbGVyKSwgKElOVDMyKWNhbGxlcik7DQotCWxlbiArPSBzcHJpbnRmICgmYnVmIFtsZW5dLCAiJXMgPCUjMDEweD4gKCIsIHdwaV9nZXRMYWJlbCgoVUlOVClmdW5jKSwgZnVuYyk7DQotCWZvciAoaXggPSAwOyBpeCA8IG5hcmdzOyBpeCsrKQ0KLQl7DQotCQlpZiAoaXggIT0gMCkNCi0JCQlsZW4gKz0gc3ByaW50ZiAoJmJ1ZiBbbGVuXSwgIiwgIik7DQotCQlsZW4gKz0gc3ByaW50ZiAoJmJ1ZiBbbGVuXSwgIiUjeCIsIGFyZ3MgW2l4XSk7DQotCX0NCi0JbGVuICs9IHNwcmludGYgKCZidWYgW2xlbl0sICIpXG4iKTsNCi0NCi0JcHJpbnRmKGJ1Zik7DQotfQ0KLSovDQotc3RhdGljIHZvaWQgd3BpQ2xlYW5UcmFjZVByaW50KElOU1RSICpjYWxsZXIsIElOVDMyIGZ1bmMsIElOVDMyIG5hcmdzLCBJTlQzMiAqYXJncywgSU5UMzIgdGFza0lkLCBCT09MIGlzS2VybmVsQWRycykNCi17DQotCWNoYXIgYnVmIFtNQVhfU1lTX1NZTV9MRU5dOw0KLQlJTlQzMiBpeDsNCi0JSU5UMzIgbGVuID0gMDsNCi0JSU5UMzIgbmFtZUZvdW5kID0gMDsNCi0JSU5UMzIgcGFyYW1zID0gMDsNCi0JSU5UMzIgdG90YWxuYXJncyA9IG5hcmdzOw0KLQljaGFyICpmdW5jTmFtZSA9IHdwaV9nZXRMYWJlbCgoVUlOVClmdW5jLCAmbmFtZUZvdW5kKTsNCi0JLy8gSWdub3JlIG5hbWVzIHRoYXQgYXJlIG5vdCBleGFjdCBzeW1ib2wgYWRkcmVzcyBtYXRjaGVzLg0KLQlpZiAobmFtZUZvdW5kICE9IDEpIHJldHVybjsNCi0NCi0JLy8gSWdub3JlIGludGVybmFsIGZ1bmN0aW9uIG5hbWUgbWF0Y2hlcy4NCi0JaWYgKHN0cm5jbXAoZnVuY05hbWUsICJ3cGlfYXNzZXJ0IiwgMTApID09IDApIHJldHVybjsNCi0JaWYgKHN0cm5jbXAoZnVuY05hbWUsICJ3cGlfZmF0YWwiLCA5KSA9PSAwKSByZXR1cm47DQotCWlmIChzdHJuY21wKGZ1bmNOYW1lLCAid3BpX3NlbGZUcmFjZSIsIDEzKSA9PSAwKSByZXR1cm47DQotCWlmIChzdHJuY21wKGZ1bmNOYW1lLCAiRXJyb3I6OlNldCIsIDEwKSA9PSAwKSByZXR1cm47DQotCWlmIChzdHJuY21wKGZ1bmNOYW1lLCAiRXJyb3JCYXNlOjpTZXRFcnJvciIsIDE5KSA9PSAwKSByZXR1cm47DQotCWlmIChzdHJuY21wKGZ1bmNOYW1lLCAiRXJyb3I6OlJlcG9ydCIsIDEzKSA9PSAwKSByZXR1cm47DQotDQotCS8vIEZpbmQgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgaW4gdGhlIG5hbWUgc3RyaW5nLg0KLQljaGFyICpzdGFydCA9IHN0cmNocihmdW5jTmFtZSwgJygnKTsNCi0JY2hhciAqZW5kID0gc3RycmNocihmdW5jTmFtZSwgJyknKTsNCi0JaWYgKHN0YXJ0ICsgMSAhPSBlbmQgJiYgc3RhcnQgIT0gTlVMTCkNCi0Jew0KLQkJZG8NCi0JCXsNCi0JCQlwYXJhbXMrKzsNCi0JCQlpZihzdHJuY21wKHN0YXJ0KzEsICJib29sIiwgNCkgPT0gMCB8fCBzdHJuY21wKHN0YXJ0KzIsICJib29sIiwgNCkgPT0gMCkNCi0JCQl7DQotCQkJCXRvdGFsbmFyZ3MrKzsNCi0JCQl9DQotCQkJc3RhcnQgPSBzdHJjaHIoc3RhcnQgKyAxLCAnLCcpOw0KLQkJfQ0KLQkJd2hpbGUoc3RhcnQgPCBlbmQgJiYgc3RhcnQgIT0gTlVMTCk7DQotCX0NCi0JY2hhciAqZnVuY05hbWVFbmQgPSBzdHJjaHIoZnVuY05hbWUsICcoJyk7DQotCSpmdW5jTmFtZUVuZCA9IDA7DQotCWxlbiArPSBzcHJpbnRmICgmYnVmIFtsZW5dLCBmdW5jTmFtZSk7DQotDQotCS8vIElmIHRoaXMgaXMgYSBtZW1iZXIgZnVuY3Rpb24sIHByaW50IG91dCB0aGUgdGhpcyBwb2ludGVyIHZhbHVlLg0KLQlpZiAodG90YWxuYXJncyAtIHBhcmFtcyA9PSAxKQ0KLQl7DQotCQlsZW4gKz0gc3ByaW50ZiAoJmJ1ZiBbbGVuXSwgIjx0aGlzPSUjeD4iLCBhcmdzIFswXSk7DQotCX0NCi0NCi0JLy8gUHJpbnQgb3V0IHRoZSBhcmd1bWVudCB2YWx1ZXMuDQotCWxlbiArPSBzcHJpbnRmICgmYnVmIFtsZW5dLCAiKCIpOw0KLQlmb3IgKGl4ID0gdG90YWxuYXJncyAtIHBhcmFtczsgaXggPCBuYXJnczsgaXgrKykNCi0Jew0KLQkJaWYgKGl4ICE9IHRvdGFsbmFyZ3MgLSBwYXJhbXMpDQotCQkJbGVuICs9IHNwcmludGYgKCZidWYgW2xlbl0sICIsICIpOw0KLQkJbGVuICs9IHNwcmludGYgKCZidWYgW2xlbl0sICIlI3giLCBhcmdzIFtpeF0pOw0KLQl9DQotCWxlbiArPSBzcHJpbnRmICgmYnVmIFtsZW5dLCAiKVxuIik7DQotDQotCXByaW50ZihidWYpOw0KLX0NCi0NCi1leHRlcm4gIkMiDQotew0KLQlleHRlcm4gdm9pZCB0cmNTdGFjayhSRUdfU0VUKiBwUmVncywgRlVOQ1BUUiBwcmludFJ0biwgSU5UMzIgdGlkKTsNCi19DQotDQotc3RhdGljIElOVDMyIHdwaVN0YWNrVGFzayhJTlQzMiB0YXNrSWQpDQotew0KLQl0YXNrRGVsYXkoMSk7DQotCS8vdHQodGFza0lkKTsNCi0NCi0JUkVHX1NFVCByZWdzOw0KLQl0YXNrUmVnc0dldCh0YXNrSWQsICZyZWdzKTsNCi0JdHJjU3RhY2soJnJlZ3MsIChGVU5DUFRSKSB3cGlDbGVhblRyYWNlUHJpbnQsIHRhc2tJZCk7DQotCXByaW50ZigiXG4iKTsNCi0NCi0JLy8gVGhlIHRhc2sgc2hvdWxkIGJlIHJlc3VtZWQgYmVjYXVzZSBpdCBoYWQgdG8gYmUgc3VzcGVuZGVkIHRvIGdldCB0aGUgc3RhY2sgdHJhY2UuDQotCXRhc2tSZXN1bWUodGFza0lkKTsNCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLXZvaWQgd3BpX3NlbGZUcmFjZSgpDQotew0KLQlJTlQzMiBwcmlvcml0eT0xMDA7DQotCXRhc2tQcmlvcml0eUdldCgwLCAmcHJpb3JpdHkpOw0KLQkvLyBMb3dlciBwcmlvcml0eSB0aGFuIHRoZSBjYWxsaW5nIHRhc2suDQotCVRhc2sgdHJhY2VUYXNrKCJTdGFja1RyYWNlIiwgKEZVTkNQVFIpd3BpU3RhY2tUYXNrLCBwcmlvcml0eSArIDEpOw0KLQl0cmFjZVRhc2suU3RhcnQodGFza0lkU2VsZigpKTsNCi0NCi0JLy8gVGFzayB0byBiZSB0cmFjZWQgbXVzdCBiZSBzdXNwZW5kZWQgZm9yIHRoZSBzdGFjayB0cmFjZSB0byB3b3JrLg0KLQl0YXNrU3VzcGVuZCgwKTsNCi19DQotDQotc3RhdGljIGJvb2wgc3RhY2tUcmFjZUVuYWJsZWQgPSBmYWxzZTsNCi1zdGF0aWMgYm9vbCBzdXNwZW5kT25Bc3NlcnRFbmFibGVkID0gZmFsc2U7DQotDQotLyoqDQotICogRW5hYmxlIFN0YWNrIHRyYWNlIGFmdGVyIGFzc2VydHMuDQotICovDQotdm9pZCB3cGlfc3RhY2tUcmFjZU9uQXNzZXJ0RW5hYmxlKGJvb2wgZW5hYmxlZCkNCi17DQotCXN0YWNrVHJhY2VFbmFibGVkID0gZW5hYmxlZDsNCi19DQotDQotLyoqDQotICogRW5hYmxlIHN1c3BlbmQgb24gYXNzc2VydC4NCi0gKiBJZiBlbmFibGVkLCB0aGUgdXNlciB0YXNrIHdpbGwgYmUgc3VzcGVuZGVkIHdoZW5ldmVyIGFuIGFzc2VydCBmYWlscy4gVGhpcw0KLSAqIHdpbGwgYWxsb3cgdGhlIHVzZXIgdG8gYXR0YWNoIHRvIHRoZSB0YXNrIHdpdGggdGhlIGRlYnVnZ2VyIGFuZCBleGFtaW5lIHZhcmlhYmxlcw0KLSAqIGFyb3VuZCB0aGUgZmFpbHVyZS4NCi0gKi8NCi12b2lkIHdwaV9zdXNwZW5kT25Bc3NlcnRFbmFibGVkKGJvb2wgZW5hYmxlZCkNCi17DQotCXN1c3BlbmRPbkFzc2VydEVuYWJsZWQgPSBlbmFibGVkOw0KLX0NCi0NCi1zdGF0aWMgdm9pZCB3cGlfaGFuZGxlVHJhY2luZygpDQotew0KLQlpZiAoc3RhY2tUcmFjZUVuYWJsZWQpDQotCXsNCi0JCXByaW50ZigiXG4tLS0tLS0tLS0tLTxTdGFjayBUcmFjZT4tLS0tLS0tLS0tLS0tLS0tXG4iKTsNCi0JCXdwaV9zZWxmVHJhY2UoKTsNCi0JfQ0KLQlwcmludGYoIlxuIik7DQotfQ0KLQ0KLS8qKg0KLSAqIEFzc2VydCBpbXBsZW1lbnRhdGlvbi4NCi0gKiBUaGlzIGFsbG93cyBicmVha3BvaW50cyB0byBiZSBzZXQgb24gYW4gYXNzZXJ0Lg0KLSAqIFRoZSB1c2VycyBkb24ndCBjYWxsIHRoaXMsIGJ1dCBpbnN0ZWFkIHVzZSB0aGUgd3BpX2Fzc2VydCBtYWNyb3MgaW4gVXRpbGl0eS5oLg0KLSAqLw0KLWJvb2wgd3BpX2Fzc2VydF9pbXBsKGJvb2wgY29uZGl0aW9uVmFsdWUsIA0KLQkJCQkJIGNvbnN0IGNoYXIgKmNvbmRpdGlvblRleHQsDQotCQkJCQkgY29uc3QgY2hhciAqbWVzc2FnZSwNCi0JCQkJCSBjb25zdCBjaGFyICpmaWxlTmFtZSwNCi0JCQkJCSBVSU5UMzIgbGluZU51bWJlciwgDQotCQkJCQkgY29uc3QgY2hhciAqZnVuY05hbWUpDQotew0KLQlpZiAoIWNvbmRpdGlvblZhbHVlKQ0KLQl7ICAgDQotCQkvLyBFcnJvciBzdHJpbmcgYnVmZmVyDQotCQljaGFyIGVycm9yWzI1Nl07DQotCQkJCQ0KLQkJLy8gSWYgYW4gZXJyb3IgbWVzc2FnZSB3YXMgc3BlY2lmaWVkLCBpbmNsdWRlIGl0DQotCQkvLyBCdWlsZCBlcnJvciBzdHJpbmcNCi0JCWlmKG1lc3NhZ2UgIT0gTlVMTCkgew0KLQkJCXNwcmludGYoZXJyb3IsICJBc3NlcnRpb24gZmFpbGVkOiBcIiVzXCIsIFwiJXNcIiBmYWlsZWQgaW4gJXMoKSBpbiAlcyBhdCBsaW5lICVkXG4iLCANCi0JCQkJCQkJIG1lc3NhZ2UsIGNvbmRpdGlvblRleHQsIGZ1bmNOYW1lLCBmaWxlTmFtZSwgbGluZU51bWJlcik7DQotCQl9IGVsc2Ugew0KLQkJCXNwcmludGYoZXJyb3IsICJBc3NlcnRpb24gZmFpbGVkOiBcIiVzXCIgaW4gJXMoKSBpbiAlcyBhdCBsaW5lICVkXG4iLCANCi0JCQkJCQkJIGNvbmRpdGlvblRleHQsIGZ1bmNOYW1lLCBmaWxlTmFtZSwgbGluZU51bWJlcik7DQotCQl9DQotCQkNCi0JCS8vIFByaW50IHRvIGNvbnNvbGUgYW5kIHNlbmQgdG8gcmVtb3RlIGRhc2hib2FyZA0KLQkJcHJpbnRmKCJcblxuPj4+PiVzIiwgZXJyb3IpOw0KLQkJc2V0RXJyb3JEYXRhKGVycm9yLCBzdHJsZW4oZXJyb3IpLCAxMDApOw0KLQkJDQotCQl3cGlfaGFuZGxlVHJhY2luZygpOw0KLQkJaWYgKHN1c3BlbmRPbkFzc2VydEVuYWJsZWQpIHRhc2tTdXNwZW5kKDApOw0KLQl9DQotCXJldHVybiBjb25kaXRpb25WYWx1ZTsNCi19DQotDQotLyoqDQotICogQ29tbW9uIGVycm9yIHJvdXRpbmVzIGZvciB3cGlfYXNzZXJ0RXF1YWxfaW1wbCBhbmQgd3BpX2Fzc2VydE5vdEVxdWFsX2ltcGwNCi0gKiBUaGlzIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5OyBpdCBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHdwaV9hc3NlcnRFcXVhbF9pbXBsDQotICogYW5kIHdwaV9hc3NlcnROb3RFcXVhbF9pbXBsLg0KLSAqLw0KLXZvaWQgd3BpX2Fzc2VydEVxdWFsX2NvbW1vbl9pbXBsKGludCB2YWx1ZUEsDQotCQkJCQkgCSAgICAgICAgIGludCB2YWx1ZUIsDQotCQkJCQkgCSAgICAgICAgIGNvbnN0IGNoYXIgKmVxdWFsaXR5VHlwZSwNCi0JCQkJCQkgICAgICAgICBjb25zdCBjaGFyICptZXNzYWdlLA0KLQkJCQkJCSAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVOYW1lLA0KLQkJCQkJCSAgICAgICAgIFVJTlQzMiBsaW5lTnVtYmVyLCANCi0JCQkJCQkgICAgICAgICBjb25zdCBjaGFyICpmdW5jTmFtZSkNCi17DQotCS8vIEVycm9yIHN0cmluZyBidWZmZXINCi0JY2hhciBlcnJvclsyNTZdOw0KLQkJCQ0KLQkvLyBJZiBhbiBlcnJvciBtZXNzYWdlIHdhcyBzcGVjaWZpZWQsIGluY2x1ZGUgaXQNCi0JLy8gQnVpbGQgZXJyb3Igc3RyaW5nDQotCWlmKG1lc3NhZ2UgIT0gTlVMTCkgew0KLQkJc3ByaW50ZihlcnJvciwgIkFzc2VydGlvbiBmYWlsZWQ6IFwiJXNcIiwgXCIlZFwiICVzIFwiJWRcIiBpbiAlcygpIGluICVzIGF0IGxpbmUgJWRcbiIsIA0KLQkJCQkJCSBtZXNzYWdlLCB2YWx1ZUEsIGVxdWFsaXR5VHlwZSwgdmFsdWVCLCBmdW5jTmFtZSwgZmlsZU5hbWUsIGxpbmVOdW1iZXIpOw0KLQl9IGVsc2Ugew0KLQkJc3ByaW50ZihlcnJvciwgIkFzc2VydGlvbiBmYWlsZWQ6IFwiJWRcIiAlcyBcIiVkXCIgaW4gJXMoKSBpbiAlcyBhdCBsaW5lICVkXG4iLCANCi0JCQkJCQkgdmFsdWVBLCBlcXVhbGl0eVR5cGUsIHZhbHVlQiwgZnVuY05hbWUsIGZpbGVOYW1lLCBsaW5lTnVtYmVyKTsNCi0JfQ0KLQkNCi0JLy8gUHJpbnQgdG8gY29uc29sZSBhbmQgc2VuZCB0byByZW1vdGUgZGFzaGJvYXJkDQotCXByaW50ZigiXG5cbj4+Pj4lcyIsIGVycm9yKTsNCi0Jc2V0RXJyb3JEYXRhKGVycm9yLCBzdHJsZW4oZXJyb3IpLCAxMDApOw0KLQkNCi0Jd3BpX2hhbmRsZVRyYWNpbmcoKTsNCi0JaWYgKHN1c3BlbmRPbkFzc2VydEVuYWJsZWQpIHRhc2tTdXNwZW5kKDApOw0KLX0NCi0NCi0vKioNCi0gKiBBc3NlcnQgZXF1YWwgaW1wbGVtZW50YXRpb24uDQotICogVGhpcyBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHR3byBnaXZlbiBpbnRlZ2VycyBhcmUgZXF1YWwuIElmIG5vdCwNCi0gKiB0aGUgdmFsdWUgb2YgZWFjaCBpcyBwcmludGVkIGFsb25nIHdpdGggYW4gb3B0aW9uYWwgbWVzc2FnZSBzdHJpbmcuDQotICogVGhlIHVzZXJzIGRvbid0IGNhbGwgdGhpcywgYnV0IGluc3RlYWQgdXNlIHRoZSB3cGlfYXNzZXJ0RXF1YWwgbWFjcm9zIGluIFV0aWxpdHkuaC4NCi0gKi8NCi1ib29sIHdwaV9hc3NlcnRFcXVhbF9pbXBsKGludCB2YWx1ZUEsDQotCQkJCQkgCSAgaW50IHZhbHVlQiwNCi0JCQkJCQkgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsDQotCQkJCQkJICBjb25zdCBjaGFyICpmaWxlTmFtZSwNCi0JCQkJCQkgIFVJTlQzMiBsaW5lTnVtYmVyLCANCi0JCQkJCQkgIGNvbnN0IGNoYXIgKmZ1bmNOYW1lKQ0KLXsNCi0JaWYoISh2YWx1ZUEgPT0gdmFsdWVCKSkNCi0Jew0KLQkJd3BpX2Fzc2VydEVxdWFsX2NvbW1vbl9pbXBsKHZhbHVlQSwgdmFsdWVCLCAiIT0iLCBtZXNzYWdlLCBmaWxlTmFtZSwgbGluZU51bWJlciwgZnVuY05hbWUpOw0KLQl9DQotCXJldHVybiB2YWx1ZUEgPT0gdmFsdWVCOw0KLX0NCi0NCi0vKioNCi0gKiBBc3NlcnQgbm90IGVxdWFsIGltcGxlbWVudGF0aW9uLg0KLSAqIFRoaXMgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB0d28gZ2l2ZW4gaW50ZWdlcnMgYXJlIGVxdWFsLiBJZiBzbywNCi0gKiB0aGUgdmFsdWUgb2YgZWFjaCBpcyBwcmludGVkIGFsb25nIHdpdGggYW4gb3B0aW9uYWwgbWVzc2FnZSBzdHJpbmcuDQotICogVGhlIHVzZXJzIGRvbid0IGNhbGwgdGhpcywgYnV0IGluc3RlYWQgdXNlIHRoZSB3cGlfYXNzZXJ0Tm90RXF1YWwgbWFjcm9zIGluIFV0aWxpdHkuaC4NCi0gKi8NCi1ib29sIHdwaV9hc3NlcnROb3RFcXVhbF9pbXBsKGludCB2YWx1ZUEsDQotCQkJCQkgCSAgICAgaW50IHZhbHVlQiwNCi0JCQkJCQkgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UsDQotCQkJCQkJICAgICBjb25zdCBjaGFyICpmaWxlTmFtZSwNCi0JCQkJCQkgICAgIFVJTlQzMiBsaW5lTnVtYmVyLCANCi0JCQkJCQkgICAgIGNvbnN0IGNoYXIgKmZ1bmNOYW1lKQ0KLXsNCi0JaWYoISh2YWx1ZUEgIT0gdmFsdWVCKSkNCi0Jew0KLQkJd3BpX2Fzc2VydEVxdWFsX2NvbW1vbl9pbXBsKHZhbHVlQSwgdmFsdWVCLCAiPT0iLCBtZXNzYWdlLCBmaWxlTmFtZSwgbGluZU51bWJlciwgZnVuY05hbWUpOw0KLQl9DQotCXJldHVybiB2YWx1ZUEgIT0gdmFsdWVCOw0KLX0NCi0NCi0NCi0vKioNCi0gKiBSZXR1cm4gdGhlIEZQR0EgVmVyc2lvbiBudW1iZXIuDQotICogRm9yIG5vdywgZXhwZWN0IHRoaXMgdG8gYmUgY29tcGV0aXRpb24geWVhci4NCi0gKiBAcmV0dXJuIEZQR0EgVmVyc2lvbiBudW1iZXIuDQotICovDQotVUlOVDE2IEdldEZQR0FWZXJzaW9uKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIHN0YXR1cyA9IDA7DQotCXRHbG9iYWwgKmdsb2JhbCA9IHRHbG9iYWw6OmNyZWF0ZSgmc3RhdHVzKTsNCi0JVUlOVDE2IHZlcnNpb24gPSBnbG9iYWwtPnJlYWRWZXJzaW9uKCZzdGF0dXMpOw0KLQlkZWxldGUgZ2xvYmFsOw0KLQl3cGlfc2V0R2xvYmFsRXJyb3Ioc3RhdHVzKTsNCi0JcmV0dXJuIHZlcnNpb247DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0aGUgRlBHQSBSZXZpc2lvbiBudW1iZXIuDQotICogVGhlIGZvcm1hdCBvZiB0aGUgcmV2aXNpb24gaXMgMyBudW1iZXJzLg0KLSAqIFRoZSAxMiBtb3N0IHNpZ25pZmljYW50IGJpdHMgYXJlIHRoZSBNYWpvciBSZXZpc2lvbi4NCi0gKiB0aGUgbmV4dCA4IGJpdHMgYXJlIHRoZSBNaW5vciBSZXZpc2lvbi4NCi0gKiBUaGUgMTIgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBhcmUgdGhlIEJ1aWxkIE51bWJlci4NCi0gKiBAcmV0dXJuIEZQR0EgUmV2aXNpb24gbnVtYmVyLg0KLSAqLw0KLVVJTlQzMiBHZXRGUEdBUmV2aXNpb24oKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgc3RhdHVzID0gMDsNCi0JdEdsb2JhbCAqZ2xvYmFsID0gdEdsb2JhbDo6Y3JlYXRlKCZzdGF0dXMpOw0KLQlVSU5UMzIgcmV2aXNpb24gPSBnbG9iYWwtPnJlYWRSZXZpc2lvbigmc3RhdHVzKTsNCi0JZGVsZXRlIGdsb2JhbDsNCi0Jd3BpX3NldEdsb2JhbEVycm9yKHN0YXR1cyk7DQotCXJldHVybiByZXZpc2lvbjsNCi19DQotDQotLyoqDQotICogUmVhZCB0aGUgbWljcm9zZWNvbmQtcmVzb2x1dGlvbiB0aW1lciBvbiB0aGUgRlBHQS4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHRpbWUgaW4gbWljcm9zZWNvbmRzIGFjY29yZGluZyB0byB0aGUgRlBHQSAoc2luY2UgRlBHQSByZXNldCkuDQotICovDQotVUlOVDMyIEdldEZQR0FUaW1lKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIHN0YXR1cyA9IDA7DQotCXRHbG9iYWwgKmdsb2JhbCA9IHRHbG9iYWw6OmNyZWF0ZSgmc3RhdHVzKTsNCi0JVUlOVDMyIHRpbWUgPSBnbG9iYWwtPnJlYWRMb2NhbFRpbWUoJnN0YXR1cyk7DQotCWRlbGV0ZSBnbG9iYWw7DQotCXdwaV9zZXRHbG9iYWxFcnJvcihzdGF0dXMpOw0KLQlyZXR1cm4gdGltZTsNCi19DQotDQotLy8gUlQgaGFyZHdhcmUgYWNjZXNzIGZ1bmN0aW9ucyBleHBvcnRlZCBmcm9tIG5pX2VtYi5vdXQNCi1leHRlcm4gIkMiDQotew0KLQlJTlQzMiBVc2VyU3dpdGNoSW5wdXQoSU5UMzIgblN3aXRjaCk7DQotCUlOVDMyIExlZElucHV0KElOVDMyIGxlZCk7DQotCUlOVDMyIExlZE91dHB1dChJTlQzMiBsZWQsIElOVDMyIHZhbHVlKTsNCi19DQotDQotLyoqDQotICogUmVhZCB0aGUgdmFsdWUgb2YgdGhlIFVTRVIxIERJUCBzd2l0Y2ggb24gdGhlIGNSSU8uDQotICovDQotSU5UMzIgR2V0UklPVXNlclN3aXRjaCgpDQotew0KLQlJTlQzMiBzd2l0Y2hWYWx1ZSA9IFVzZXJTd2l0Y2hJbnB1dCgwKTsNCi0Jd3BpX2Fzc2VydChzd2l0Y2hWYWx1ZSA+PSAwKTsNCi0JcmV0dXJuIHN3aXRjaFZhbHVlID4gMDsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzdGF0ZSBvZiB0aGUgVVNFUjEgc3RhdHVzIExFRCBvbiB0aGUgY1JJTy4NCi0gKi8NCi12b2lkIFNldFJJT1VzZXJMRUQoVUlOVDMyIHN0YXRlKQ0KLXsNCi0JTGVkT3V0cHV0KDAsIHN0YXRlID4gMCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgVVNFUjEgc3RhdHVzIExFRCBvbiB0aGUgY1JJTy4NCi0gKiBAcmV0dXJuIFRoZSBjdXJlbnQgc3RhdGUgb2YgdGhlIFVTRVIxIExFRC4NCi0gKi8NCi1JTlQzMiBHZXRSSU9Vc2VyTEVEKCkNCi17DQotCXJldHVybiBMZWRJbnB1dCgwKTsNCi19DQotDQotLyoqDQotICogVG9nZ2xlIHRoZSBzdGF0ZSBvZiB0aGUgVVNFUjEgc3RhdHVzIExFRCBvbiB0aGUgY1JJTy4NCi0gKiBAcmV0dXJuIFRoZSBuZXcgc3RhdGUgb2YgdGhlIFVTRVIxIExFRC4NCi0gKi8NCi1JTlQzMiBUb2dnbGVSSU9Vc2VyTEVEKCkNCi17DQotCUlOVDMyIGxlZFN0YXRlID0gIUdldFJJT1VzZXJMRUQoKTsNCi0JU2V0UklPVXNlckxFRChsZWRTdGF0ZSk7DQotCXJldHVybiBsZWRTdGF0ZTsNCi19DQotDQotLyoqDQotICogU2V0IHRoZSBzdGF0ZSBvZiB0aGUgRlBHQSBzdGF0dXMgTEVEIG9uIHRoZSBjUklPLg0KLSAqLw0KLXZvaWQgU2V0UklPX0ZQR0FfTEVEKFVJTlQzMiBzdGF0ZSkNCi17DQotCXRSaW9TdGF0dXNDb2RlIHN0YXR1cyA9IDA7DQotCXRHbG9iYWwgKmdsb2JhbCA9IHRHbG9iYWw6OmNyZWF0ZSgmc3RhdHVzKTsNCi0JZ2xvYmFsLT53cml0ZUZQR0FfTEVEKHN0YXRlLCAmc3RhdHVzKTsNCi0Jd3BpX3NldEdsb2JhbEVycm9yKHN0YXR1cyk7DQotCWRlbGV0ZSBnbG9iYWw7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgRlBHQSBzdGF0dXMgTEVEIG9uIHRoZSBjUklPLg0KLSAqIEByZXR1cm4gVGhlIGN1cmVudCBzdGF0ZSBvZiB0aGUgRlBHQSBMRUQuDQotICovDQotSU5UMzIgR2V0UklPX0ZQR0FfTEVEKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIHN0YXR1cyA9IDA7DQotCXRHbG9iYWwgKmdsb2JhbCA9IHRHbG9iYWw6OmNyZWF0ZSgmc3RhdHVzKTsNCi0JYm9vbCBsZWRWYWx1ZSA9IGdsb2JhbC0+cmVhZEZQR0FfTEVEKCZzdGF0dXMpOw0KLQl3cGlfc2V0R2xvYmFsRXJyb3Ioc3RhdHVzKTsNCi0JZGVsZXRlIGdsb2JhbDsNCi0JcmV0dXJuIGxlZFZhbHVlOw0KLX0NCi0NCi0vKioNCi0gKiBUb2dnbGUgdGhlIHN0YXRlIG9mIHRoZSBGUEdBIHN0YXR1cyBMRUQgb24gdGhlIGNSSU8uDQotICogQHJldHVybiBUaGUgbmV3IHN0YXRlIG9mIHRoZSBGUEdBIExFRC4NCi0gKi8NCi1JTlQzMiBUb2dnbGVSSU9fRlBHQV9MRUQoKQ0KLXsNCi0JSU5UMzIgbGVkU3RhdGUgPSAhR2V0UklPX0ZQR0FfTEVEKCk7DQotCVNldFJJT19GUEdBX0xFRChsZWRTdGF0ZSk7DQotCXJldHVybiBsZWRTdGF0ZTsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVXRpbGl0eS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVXRpbGl0eS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGY5YjU5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1V0aWxpdHkuaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgVVRJTElUWV9IXw0KLSNkZWZpbmUgVVRJTElUWV9IXw0KLQ0KLSNpbmNsdWRlIDx0YXNrTGliLmg+DQotDQotI2RlZmluZSB3cGlfYXNzZXJ0KGNvbmRpdGlvbikgd3BpX2Fzc2VydF9pbXBsKGNvbmRpdGlvbiwgI2NvbmRpdGlvbiwgTlVMTCwgX19GSUxFX18sIF9fTElORV9fLCBfX0ZVTkNUSU9OX18pDQotI2RlZmluZSB3cGlfYXNzZXJ0V2l0aE1lc3NhZ2UoY29uZGl0aW9uLCBtZXNzYWdlKSB3cGlfYXNzZXJ0X2ltcGwoY29uZGl0aW9uLCAjY29uZGl0aW9uLCBtZXNzYWdlLCBfX0ZJTEVfXywgX19MSU5FX18sIF9fRlVOQ1RJT05fXykNCi0NCi0jZGVmaW5lIHdwaV9hc3NlcnRFcXVhbChhLCBiKSB3cGlfYXNzZXJ0RXF1YWxfaW1wbChhLCBiLCBOVUxMLCBfX0ZJTEVfXywgX19MSU5FX18sIF9fRlVOQ1RJT05fXykNCi0jZGVmaW5lIHdwaV9hc3NlcnRFcXVhbFdpdGhNZXNzYWdlKGEsIGIsIG1lc3NhZ2UpIHdwaV9hc3NlcnRFcXVhbF9pbXBsKGEsIGIsIG1lc3NhZ2UsIF9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKQ0KLQ0KLSNkZWZpbmUgd3BpX2Fzc2VydE5vdEVxdWFsKGEsIGIpIHdwaV9hc3NlcnROb3RFcXVhbF9pbXBsKGEsIGIsIE5VTEwsIF9fRklMRV9fLCBfX0xJTkVfXywgX19GVU5DVElPTl9fKQ0KLSNkZWZpbmUgd3BpX2Fzc2VydE5vdEVxdWFsV2l0aE1lc3NhZ2UoYSwgYiwgbWVzc2FnZSkgd3BpX2Fzc2VydE5vdEVxdWFsX2ltcGwoYSwgYiwgbWVzc2FnZSwgX19GSUxFX18sIF9fTElORV9fLCBfX0ZVTkNUSU9OX18pDQotDQotYm9vbCB3cGlfYXNzZXJ0X2ltcGwoYm9vbCBjb25kaXRpb25WYWx1ZSwgY29uc3QgY2hhciAqY29uZGl0aW9uVGV4dCwgY29uc3QgY2hhciAqbWVzc2FnZSwgY29uc3QgY2hhciAqZmlsZU5hbWUsIFVJTlQzMiBsaW5lTnVtYmVyLCBjb25zdCBjaGFyICpmdW5jTmFtZSk7DQotYm9vbCB3cGlfYXNzZXJ0RXF1YWxfaW1wbChpbnQgdmFsdWVBLCBpbnQgdmFsdWVCLCBjb25zdCBjaGFyICptZXNzYWdlLCBjb25zdCBjaGFyICpmaWxlTmFtZSxVSU5UMzIgbGluZU51bWJlciwgY29uc3QgY2hhciAqZnVuY05hbWUpOw0KLWJvb2wgd3BpX2Fzc2VydE5vdEVxdWFsX2ltcGwoaW50IHZhbHVlQSwgaW50IHZhbHVlQiwgY29uc3QgY2hhciAqbWVzc2FnZSwgY29uc3QgY2hhciAqZmlsZU5hbWUsVUlOVDMyIGxpbmVOdW1iZXIsIGNvbnN0IGNoYXIgKmZ1bmNOYW1lKTsNCi0NCi1jaGFyICp3cGlfZ2V0TGFiZWwoVUlOVCBhZGRyLCBJTlQzMiAqZm91bmQgPSBOVUxMKTsNCi12b2lkIHdwaV9zZWxmVHJhY2UoKTsNCi12b2lkIHdwaV9zdXNwZW5kT25Bc3NlcnRFbmFibGVkKGJvb2wgZW5hYmxlZCk7DQotdm9pZCB3cGlfc3RhY2tUcmFjZU9uQXNzZXJ0RW5hYmxlKGJvb2wgZW5hYmxlZCk7DQotDQotVUlOVDE2IEdldEZQR0FWZXJzaW9uKCk7DQotVUlOVDMyIEdldEZQR0FSZXZpc2lvbigpOw0KLVVJTlQzMiBHZXRGUEdBVGltZSgpOw0KLUlOVDMyIEdldFJJT1VzZXJTd2l0Y2goKTsNCi12b2lkIFNldFJJT1VzZXJMRUQoVUlOVDMyIHN0YXRlKTsNCi1JTlQzMiBHZXRSSU9Vc2VyTEVEKCk7DQotSU5UMzIgVG9nZ2xlUklPVXNlckxFRCgpOw0KLXZvaWQgU2V0UklPX0ZQR0FfTEVEKFVJTlQzMiBzdGF0ZSk7DQotSU5UMzIgR2V0UklPX0ZQR0FfTEVEKCk7DQotSU5UMzIgVG9nZ2xlUklPX0ZQR0FfTEVEKCk7DQotDQotI2VuZGlmIC8vIFVUSUxJVFlfSF8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaWN0b3IuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmljdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTQzNDc2OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaWN0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTA0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlZpY3Rvci5oIg0KLQ0KLSNpbmNsdWRlICJEaWdpdGFsTW9kdWxlLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtDb21tdW5pY2F0aW9uL1VzYWdlUmVwb3J0aW5nLmgiDQotI2luY2x1ZGUgIkxpdmVXaW5kb3cvTGl2ZVdpbmRvdy5oIg0KLQ0KLS8qKg0KLSAqIENvbW1vbiBpbml0aWFsaXphdGlvbiBjb2RlIGNhbGxlZCBieSBhbGwgY29uc3RydWN0b3JzLg0KLSAqDQotICogTm90ZSB0aGF0IHRoZSBWaWN0b3IgdXNlcyB0aGUgZm9sbG93aW5nIGJvdW5kcyBmb3IgUFdNIHZhbHVlcy4gIFRoZXNlIHZhbHVlcyB3ZXJlIGRldGVybWluZWQNCi0gKiBlbXBpcmljYWxseSBhbmQgb3B0aW1pemVkIGZvciB0aGUgVmljdG9yIDg4OC4gVGhlc2UgdmFsdWVzIHNob3VsZCB3b3JrIHJlYXNvbmFibHkgd2VsbCBmb3INCi0gKiBWaWN0b3IgODg0IGNvbnRyb2xsZXJzIGFzIHdlbGwgYnV0IGlmIHVzZXJzIGV4cGVyaWVuY2UgaXNzdWVzIHN1Y2ggYXMgYXN5bW1ldHJpYyBiZWhhdmlvciBhcm91bmQNCi0gKiB0aGUgZGVhZGJhbmQgb3IgaW5hYmlsaXR5IHRvIHNhdHVyYXRlIHRoZSBjb250cm9sbGVyIGluIGVpdGhlciBkaXJlY3Rpb24sIGNhbGlicmF0aW9uIGlzIHJlY29tbWVuZGVkLg0KLSAqIFRoZSBjYWxpYnJhdGlvbiBwcm9jZWR1cmUgY2FuIGJlIGZvdW5kIGluIHRoZSBWaWN0b3IgODg0IFVzZXIgTWFudWFsIGF2YWlsYWJsZSBmcm9tIElGSS4NCi0gKiANCi0gKiAgIC0gMjA2ID0gZnVsbCAiZm9yd2FyZCINCi0gKiAgIC0gMTMxID0gdGhlICJoaWdoIGVuZCIgb2YgdGhlIGRlYWRiYW5kIHJhbmdlDQotICogICAtIDEyOCA9IGNlbnRlciBvZiB0aGUgZGVhZGJhbmQgcmFuZ2UgKG9mZikNCi0gKiAgIC0gMTI1ID0gdGhlICJsb3cgZW5kIiBvZiB0aGUgZGVhZGJhbmQgcmFuZ2UNCi0gKiAgIC0gNTYgPSBmdWxsICJyZXZlcnNlIg0KLSAqLw0KLXZvaWQgVmljdG9yOjpJbml0VmljdG9yKCkgew0KLQkvLyBUT0RPOiBjb21wdXRlIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZXMgYmFzZWQgb24gZGlnaXRhbCBsb29wIHRpbWluZw0KLQlTZXRCb3VuZHMoMjA2LCAxMzEsIDEyOCwgMTI1LCA1Nik7DQotCVNldFBlcmlvZE11bHRpcGxpZXIoa1BlcmlvZE11bHRpcGxpZXJfMlgpOw0KLQlTZXRSYXcobV9jZW50ZXJQd20pOw0KLQ0KLQlMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpLT5BZGRBY3R1YXRvcigiVmljdG9yIiwgR2V0TW9kdWxlTnVtYmVyKCksIEdldENoYW5uZWwoKSwgdGhpcyk7DQotCW5Vc2FnZVJlcG9ydGluZzo6cmVwb3J0KG5Vc2FnZVJlcG9ydGluZzo6a1Jlc291cmNlVHlwZV9WaWN0b3IsIEdldENoYW5uZWwoKSwgR2V0TW9kdWxlTnVtYmVyKCkgLSAxKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgdGhhdCBhc3N1bWVzIHRoZSBkZWZhdWx0IGRpZ2l0YWwgbW9kdWxlLg0KLSAqIA0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBQV00gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgVmljdG9yIGlzIGF0dGFjaGVkIHRvLg0KLSAqLw0KLVZpY3Rvcjo6VmljdG9yKFVJTlQzMiBjaGFubmVsKSA6IFNhZmVQV00oY2hhbm5lbCkNCi17DQotCUluaXRWaWN0b3IoKTsNCi19DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgdGhhdCBzcGVjaWZpZXMgdGhlIGRpZ2l0YWwgbW9kdWxlLg0KLSAqIA0KLSAqIEBwYXJhbSBtb2R1bGVOdW1iZXIgVGhlIGRpZ2l0YWwgbW9kdWxlICgxIG9yIDIpLg0KLSAqIEBwYXJhbSBjaGFubmVsIFRoZSBQV00gY2hhbm5lbCBvbiB0aGUgZGlnaXRhbCBtb2R1bGUgdGhhdCB0aGUgVmljdG9yIGlzIGF0dGFjaGVkIHRvICgxLi4xMCkuDQotICovDQotVmljdG9yOjpWaWN0b3IoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCkgOiBTYWZlUFdNKG1vZHVsZU51bWJlciwgY2hhbm5lbCkNCi17DQotCUluaXRWaWN0b3IoKTsNCi19DQotDQotVmljdG9yOjp+VmljdG9yKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgUFdNIHZhbHVlLiAgDQotICogDQotICogVGhlIFBXTSB2YWx1ZSBpcyBzZXQgdXNpbmcgYSByYW5nZSBvZiAtMS4wIHRvIDEuMCwgYXBwcm9wcmlhdGVseQ0KLSAqIHNjYWxpbmcgdGhlIHZhbHVlIGZvciB0aGUgRlBHQS4NCi0gKiANCi0gKiBAcGFyYW0gc3BlZWQgVGhlIHNwZWVkIHZhbHVlIGJldHdlZW4gLTEuMCBhbmQgMS4wIHRvIHNldC4NCi0gKiBAcGFyYW0gc3luY0dyb3VwIFVudXNlZCBpbnRlcmZhY2UuDQotICovDQotdm9pZCBWaWN0b3I6OlNldChmbG9hdCBzcGVlZCwgVUlOVDggc3luY0dyb3VwKQ0KLXsNCi0JU2V0U3BlZWQoc3BlZWQpOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHJlY2VudGx5IHNldCB2YWx1ZSBvZiB0aGUgUFdNLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIG1vc3QgcmVjZW50bHkgc2V0IHZhbHVlIGZvciB0aGUgUFdNIGJldHdlZW4gLTEuMCBhbmQgMS4wLg0KLSAqLw0KLWZsb2F0IFZpY3Rvcjo6R2V0KCkNCi17DQotCXJldHVybiBHZXRTcGVlZCgpOw0KLX0NCi0NCi0vKioNCi0gKiBDb21tb24gaW50ZXJmYWNlIGZvciBkaXNhYmxpbmcgYSBtb3Rvci4NCi0gKi8NCi12b2lkIFZpY3Rvcjo6RGlzYWJsZSgpDQotew0KLQlTZXRSYXcoa1B3bURpc2FibGVkKTsNCi19DQotDQotLyoqDQotICogV3JpdGUgb3V0IHRoZSBQSUQgdmFsdWUgYXMgc2VlbiBpbiB0aGUgUElET3V0cHV0IGJhc2Ugb2JqZWN0Lg0KLSAqIA0KLSAqIEBwYXJhbSBvdXRwdXQgV3JpdGUgb3V0IHRoZSBQV00gdmFsdWUgYXMgd2FzIGZvdW5kIGluIHRoZSBQSURDb250cm9sbGVyDQotICovDQotdm9pZCBWaWN0b3I6OlBJRFdyaXRlKGZsb2F0IG91dHB1dCkgDQotew0KLQlTZXQob3V0cHV0KTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmljdG9yLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaWN0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTU4YWJiNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaWN0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBWSUNUT1JfSA0KLSNkZWZpbmUgVklDVE9SX0gNCi0NCi0jaW5jbHVkZSAiU2FmZVBXTS5oIg0KLSNpbmNsdWRlICJTcGVlZENvbnRyb2xsZXIuaCINCi0jaW5jbHVkZSAiUElET3V0cHV0LmgiDQotDQotLyoqDQotICogSUZJIFZpY3RvciBTcGVlZCBDb250cm9sbGVyDQotICovDQotY2xhc3MgVmljdG9yIDogcHVibGljIFNhZmVQV00sIHB1YmxpYyBTcGVlZENvbnRyb2xsZXINCi17DQotcHVibGljOg0KLQlleHBsaWNpdCBWaWN0b3IoVUlOVDMyIGNoYW5uZWwpOw0KLQlWaWN0b3IoVUlOVDggbW9kdWxlTnVtYmVyLCBVSU5UMzIgY2hhbm5lbCk7DQotCXZpcnR1YWwgflZpY3RvcigpOw0KLQl2aXJ0dWFsIHZvaWQgU2V0KGZsb2F0IHZhbHVlLCBVSU5UOCBzeW5jR3JvdXA9MCk7DQotCXZpcnR1YWwgZmxvYXQgR2V0KCk7DQotCXZpcnR1YWwgdm9pZCBEaXNhYmxlKCk7DQotDQotCXZpcnR1YWwgdm9pZCBQSURXcml0ZShmbG9hdCBvdXRwdXQpOw0KLQ0KLXByaXZhdGU6DQotCXZvaWQgSW5pdFZpY3RvcigpOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGFhNGIzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9BeGlzQ2FtZXJhLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUwMSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJWaXNpb24vQXhpc0NhbWVyYS5oIg0KLQ0KLSNpbmNsdWRlIDxzdHJpbmcuaD4NCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9QQ1ZpZGVvU2VydmVyLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLS8qKiBQcml2YXRlIE5JIGZ1bmN0aW9uIHRvIGRlY29kZSBKUEVHICovDQotSU1BUV9GVU5DIGludCBQcml2X1JlYWRKUEVHU3RyaW5nX0MoSW1hZ2UqIF9pbWFnZSwgY29uc3QgdW5zaWduZWQgY2hhciogX3N0cmluZywgVUlOVDMyIF9zdHJpbmdMZW5ndGgpOw0KLQ0KLS8vIE1heCBwYWNrZXQgd2l0aG91dCBqdW1ibyBmcmFtZXMgaXMgMTUwMC4uLiBhZGQgMzYgYmVjYXVzZT8/DQotI2RlZmluZSBrTWF4UGFja2V0U2l6ZSAxNTM2DQotI2RlZmluZSBrSW1hZ2VCdWZmZXJBbGxvY2F0aW9uSW5jcmVtZW50IDEwMDANCi0NCi1BeGlzQ2FtZXJhICpBeGlzQ2FtZXJhOjpfaW5zdGFuY2UgPSBOVUxMOw0KLQ0KLS8qKg0KLSAqIEF4aXNDYW1lcmEgY29uc3RydWN0b3INCi0gKi8NCi1BeGlzQ2FtZXJhOjpBeGlzQ2FtZXJhKGNvbnN0IGNoYXIgKmlwQWRkcmVzcykNCi0JOiBBeGlzQ2FtZXJhUGFyYW1zKGlwQWRkcmVzcykNCi0JLCBtX2NhbWVyYVNvY2tldChFUlJPUikNCi0JLCBtX3Byb3RlY3RlZEltYWdlQnVmZmVyKE5VTEwpDQotCSwgbV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlckxlbmd0aCgwKQ0KLQksIG1fcHJvdGVjdGVkSW1hZ2VTaXplKDApDQotCSwgbV9wcm90ZWN0ZWRJbWFnZVNlbShOVUxMKQ0KLQksIG1fZnJlc2hJbWFnZShmYWxzZSkNCi0JLCBtX2ltYWdlU3RyZWFtVGFzaygiY2FtZXJhVGFzayIsIChGVU5DUFRSKXNfSW1hZ2VTdHJlYW1UYXNrRnVuY3Rpb24pDQotCSwgbV92aWRlb1NlcnZlcihOVUxMKQ0KLXsNCi0JbV9wcm90ZWN0ZWRJbWFnZVNlbSA9IHNlbU1DcmVhdGUoU0VNX1FfUFJJT1JJVFkgfCBTRU1fSU5WRVJTSU9OX1NBRkUgfCBTRU1fREVMRVRFX1NBRkUpOw0KLQ0KLSNpZiBKQVZBX0NBTUVSQV9MSUIgIT0gMQ0KLQluVXNhZ2VSZXBvcnRpbmc6OnJlcG9ydChuVXNhZ2VSZXBvcnRpbmc6OmtSZXNvdXJjZVR5cGVfQXhpc0NhbWVyYSwgaXBBZGRyZXNzID09IE5VTEwgPyAxIDogMik7DQotI2VuZGlmDQotDQotCWlmICghU3RhdHVzSXNGYXRhbCgpKQ0KLQkJbV9pbWFnZVN0cmVhbVRhc2suU3RhcnQoKGludCl0aGlzKTsgDQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3INCi0gKi8NCi1BeGlzQ2FtZXJhOjp+QXhpc0NhbWVyYSgpDQotew0KLQlkZWxldGUgbV92aWRlb1NlcnZlcjsNCi0JbV92aWRlb1NlcnZlciA9IE5VTEw7DQotDQotCW1faW1hZ2VTdHJlYW1UYXNrLlN0b3AoKTsNCi0JY2xvc2UobV9jYW1lcmFTb2NrZXQpOw0KLQ0KLQlTZW1TZXRfdDo6aXRlcmF0b3IgaXQgPSBtX25ld0ltYWdlU2VtU2V0LmJlZ2luKCk7DQotCVNlbVNldF90OjppdGVyYXRvciBlbmQgPSBtX25ld0ltYWdlU2VtU2V0LmVuZCgpOw0KLQlmb3IgKDtpdCAhPSBlbmQ7IGl0KyspDQotCXsNCi0JCXNlbURlbGV0ZSgqaXQpOw0KLQl9DQotCW1fbmV3SW1hZ2VTZW1TZXQuY2xlYXIoKTsNCi0NCi0Jc2VtRGVsZXRlKG1fcHJvdGVjdGVkSW1hZ2VTZW0pOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYSBwb2ludGVyIHRvIHRoZSBBeGlzQ2FtZXJhIG9iamVjdCwgaWYgdGhlIG9iamVjdCBkb2VzIG5vdCBleGlzdCwgY3JlYXRlIGl0DQotICogVG8gdXNlIHRoZSBjYW1lcmEgb24gcG9ydCAyIG9mIGEgY1JJTy1GUkMsIHBhc3MgIjE5Mi4xNjguMC45MCIgdG8gdGhlIGZpcnN0IEdldEluc3RhbmNlIGNhbGwuDQotICogQHJldHVybiByZWZlcmVuY2UgdG8gQXhpc0NhbWVyYSBvYmplY3QNCi0gKi8NCi1BeGlzQ2FtZXJhICZBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZShjb25zdCBjaGFyICpjYW1lcmFJUCkNCi17DQotCWlmIChOVUxMID09IF9pbnN0YW5jZSkNCi0Jew0KLQkJX2luc3RhbmNlID0gbmV3IEF4aXNDYW1lcmEoY2FtZXJhSVApOw0KLQ0KLQkJX2luc3RhbmNlLT5tX3ZpZGVvU2VydmVyID0gbmV3IFBDVmlkZW9TZXJ2ZXIoKTsNCi0JfQ0KLQ0KLQlyZXR1cm4gKl9pbnN0YW5jZTsNCi19DQotDQotLyoqDQotICogQ2FsbGVkIGJ5IEphdmEgdG8gZGVsZXRlIHRoZSBjYW1lcmEuLi4gaG93IHRob3VnaHRmdWwNCi0gKi8NCi12b2lkIEF4aXNDYW1lcmE6OkRlbGV0ZUluc3RhbmNlKCkNCi17DQotCWRlbGV0ZSBfaW5zdGFuY2U7DQotCV9pbnN0YW5jZSA9IE5VTEw7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHVybiB0cnVlIGlmIHRoZSBsYXRlc3QgaW1hZ2UgZnJvbSB0aGUgY2FtZXJhIGhhcyBub3QgYmVlbiByZXRyaWV2ZWQgYnkgY2FsbGluZyBHZXRJbWFnZSgpIHlldC4NCi0gKiBAcmV0dXJuIHRydWUgaWYgdGhlIGltYWdlIGhhcyBub3QgYmVlbiByZXRyaWV2ZWQgeWV0Lg0KLSAqLw0KLWJvb2wgQXhpc0NhbWVyYTo6SXNGcmVzaEltYWdlKCkNCi17DQotCXJldHVybiBtX2ZyZXNoSW1hZ2U7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgc2VtYXBob3JlIHRvIGJlIHVzZWQgdG8gc3luY2hyb25pemUgaW1hZ2UgYWNjZXNzIHdpdGggY2FtZXJhIGFjcXVpc2l0aW9uDQotICoNCi0gKiBDYWxsIHNlbVRha2Ugb24gdGhlIHJldHVybmVkIHNlbWFwaG9yZSB0byBibG9jayB1bnRpbCBhIG5ldyBpbWFnZSBpcyBhY3F1aXJlZC4NCi0gKg0KLSAqIFRoZSBzZW1hcGhvcmUgaXMgb3duZWQgYnkgdGhlIEF4aXNDYW1lcmEgY2xhc3MgYW5kIHdpbGwgYmUgZGVsZXRlZCB3aGVuIHRoZSBjbGFzcyBpcyBkZXN0cm95ZWQuDQotICogQHJldHVybiBBIHNlbWFwaG9yZSB0byBub3RpZnkgd2hlbiBuZXcgaW1hZ2UgaXMgcmVjZWl2ZWQNCi0gKi8NCi1TRU1fSUQgQXhpc0NhbWVyYTo6R2V0TmV3SW1hZ2VTZW0oKQ0KLXsNCi0JU0VNX0lEIHNlbSA9IHNlbUJDcmVhdGUgKFNFTV9RX1BSSU9SSVRZLCBTRU1fRU1QVFkpOw0KLQltX25ld0ltYWdlU2VtU2V0Lmluc2VydChzZW0pOw0KLQlyZXR1cm4gc2VtOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYW4gaW1hZ2UgZnJvbSB0aGUgY2FtZXJhIGFuZCBzdG9yZSBpdCBpbiB0aGUgcHJvdmlkZWQgaW1hZ2UuDQotICogQHBhcmFtIGltYWdlIFRoZSBpbWFxIGltYWdlIHRvIHN0b3JlIHRoZSByZXN1bHQgaW4uIFRoaXMgbXVzdCBiZSBhbiBIU0wgb3IgUkdCIGltYWdlDQotICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgSmF2YS4NCi0gKiBAcmV0dXJuIDEgdXBvbiBzdWNjZXNzLCB6ZXJvIG9uIGEgZmFpbHVyZQ0KLSAqLw0KLWludCBBeGlzQ2FtZXJhOjpHZXRJbWFnZShJbWFnZSogaW1hcUltYWdlKQ0KLXsNCi0JaWYgKG1fcHJvdGVjdGVkSW1hZ2VCdWZmZXIgPT0gTlVMTCkNCi0JCXJldHVybiAwOw0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3Byb3RlY3RlZEltYWdlU2VtKTsNCi0JUHJpdl9SZWFkSlBFR1N0cmluZ19DKGltYXFJbWFnZSwNCi0JCSh1bnNpZ25lZCBjaGFyKiltX3Byb3RlY3RlZEltYWdlQnVmZmVyLCBtX3Byb3RlY3RlZEltYWdlU2l6ZSk7DQotCW1fZnJlc2hJbWFnZSA9IGZhbHNlOw0KLQlyZXR1cm4gMTsNCi19DQotDQotI2lmIEpBVkFfQ0FNRVJBX0xJQiAhPSAxDQotLyoqDQotICogR2V0IGFuIGltYWdlIGZyb20gdGhlIGNhbWVyYSBhbmQgc3RvcmUgaXQgaW4gdGhlIHByb3ZpZGVkIGltYWdlLg0KLSAqIEBwYXJhbSBpbWFnZSBUaGUgaW1hZ2UgdG8gc3RvcmUgdGhlIHJlc3VsdCBpbi4gVGhpcyBtdXN0IGJlIGFuIEhTTCBvciBSR0IgaW1hZ2UNCi0gKiBAcmV0dXJuIDEgdXBvbiBzdWNjZXNzLCB6ZXJvIG9uIGEgZmFpbHVyZQ0KLSAqLw0KLWludCBBeGlzQ2FtZXJhOjpHZXRJbWFnZShDb2xvckltYWdlKiBpbWFnZSkNCi17DQotCXJldHVybiBHZXRJbWFnZShpbWFnZS0+R2V0SW1hcUltYWdlKCkpOw0KLX0NCi0NCi0vKioNCi0gKiBJbnN0YW50aWF0ZSBhIG5ldyBpbWFnZSBvYmplY3QgYW5kIGZpbGwgaXQgd2l0aCB0aGUgbGF0ZXN0IGltYWdlIGZyb20gdGhlIGNhbWVyYS4NCi0gKg0KLSAqIFRoZSByZXR1cm5lZCBwb2ludGVyIGlzIG93bmVkIGJ5IHRoZSBjYWxsZXIgYW5kIGlzIHRoZWlyIHJlc3BvbnNpYmlsaXR5IHRvIGRlbGV0ZS4NCi0gKiBAcmV0dXJuIGEgcG9pbnRlciB0byBhbiBIU0xJbWFnZSBvYmplY3QNCi0gKi8NCi1IU0xJbWFnZSogQXhpc0NhbWVyYTo6R2V0SW1hZ2UoKQ0KLXsNCi0JSFNMSW1hZ2UgKmltYWdlID0gbmV3IEhTTEltYWdlKCk7DQotCUdldEltYWdlKGltYWdlKTsNCi0JcmV0dXJuIGltYWdlOw0KLX0NCi0jZW5kaWYNCi0NCi0vKioNCi0gKiBDb3B5IGFuIGltYWdlIGludG8gYW4gZXhpc3RpbmcgYnVmZmVyLg0KLSAqIFRoaXMgY29waWVzIGFuIGltYWdlIGludG8gYW4gZXhpc3RpbmcgYnVmZmVyIHJhdGhlciB0aGFuIGNyZWF0aW5nIGEgbmV3IGltYWdlDQotICogaW4gbWVtb3J5LiBUaGF0IHdheSBhIG5ldyBpbWFnZSBpcyBvbmx5IGFsbG9jYXRlZCB3aGVuIHRoZSBpbWFnZSBiZWluZyBjb3BpZWQgaXMNCi0gKiBsYXJnZXIgdGhhbiB0aGUgZGVzdGluYXRpb24uDQotICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGJ5IHRoZSBQQ1ZpZGVvU2VydmVyIGNsYXNzLg0KLSAqIEBwYXJhbSBpbWFnZURhdGEgVGhlIGRlc3RpbmF0aW9uIGltYWdlLg0KLSAqIEBwYXJhbSBudW1CeXRlcyBUaGUgc2l6ZSBvZiB0aGUgZGVzdGluYXRpb24gaW1hZ2UuDQotICogQHJldHVybiAwIGlmIGZhaWxlZCAobm8gc291cmNlIGltYWdlIG9yIG5vIG1lbW9yeSksIDEgaWYgc3VjY2Vzcy4NCi0gKi8NCi1pbnQgQXhpc0NhbWVyYTo6Q29weUpQRUcoY2hhciAqKmRlc3RJbWFnZSwgaW50ICZkZXN0SW1hZ2VTaXplLCBpbnQgJmRlc3RJbWFnZUJ1ZmZlclNpemUpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhtX3Byb3RlY3RlZEltYWdlU2VtKTsNCi0JaWYgKGRlc3RJbWFnZSA9PSBOVUxMKQ0KLQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoTnVsbFBhcmFtZXRlciwgImRlc3RJbWFnZSBtdXN0IG5vdCBiZSBOVUxMIik7DQotDQotCWlmIChtX3Byb3RlY3RlZEltYWdlQnVmZmVyID09IE5VTEwgfHwgbV9wcm90ZWN0ZWRJbWFnZVNpemUgPD0gMCkNCi0JCXJldHVybiAwOyAvLyBpZiBubyBzb3VyY2UgaW1hZ2UNCi0NCi0JaWYgKGRlc3RJbWFnZUJ1ZmZlclNpemUgPCBtX3Byb3RlY3RlZEltYWdlU2l6ZSkgLy8gaWYgY3VycmVudCBkZXN0aW5hdGlvbiBidWZmZXIgdG9vIHNtYWxsDQotCXsNCi0JCWlmICgqZGVzdEltYWdlICE9IE5VTEwpIGRlbGV0ZSBbXSAqZGVzdEltYWdlOw0KLQkJZGVzdEltYWdlQnVmZmVyU2l6ZSA9IG1fcHJvdGVjdGVkSW1hZ2VTaXplICsga0ltYWdlQnVmZmVyQWxsb2NhdGlvbkluY3JlbWVudDsNCi0JCSpkZXN0SW1hZ2UgPSBuZXcgY2hhcltkZXN0SW1hZ2VCdWZmZXJTaXplXTsNCi0JCWlmICgqZGVzdEltYWdlID09IE5VTEwpIHJldHVybiAwOw0KLQl9DQotCS8vIGNvcHkgdGhpcyBpbWFnZSBpbnRvIGRlc3RpbmF0aW9uIGJ1ZmZlcg0KLQlpZiAoKmRlc3RJbWFnZSA9PSBOVUxMKQ0KLQl7DQotCQl3cGlfc2V0V1BJRXJyb3JXaXRoQ29udGV4dChOdWxsUGFyYW1ldGVyLCAiKmRlc3RJbWFnZSBtdXN0IG5vdCBiZSBOVUxMIik7DQotCX0NCi0JLy8gVE9ETzogSXMgdGhpcyBjb3B5IHJlYWx5IG5lY2Vzc2FyeS4uLiBwZXJoYXBzIHdlIGNhbiBzaW1wbHkgdHJhbnNtaXQgd2hpbGUgaG9sZGluZyB0aGUgcHJvdGVjdGVkIGJ1ZmZlcg0KLQltZW1jcHkoKmRlc3RJbWFnZSwgbV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlciwgbV9wcm90ZWN0ZWRJbWFnZVNpemUpOw0KLQlkZXN0SW1hZ2VTaXplID0gbV9wcm90ZWN0ZWRJbWFnZVNpemU7DQotCXJldHVybiAxOw0KLX0NCi0NCi0vKioNCi0gKiBTdGF0aWMgaW50ZXJmYWNlIHRoYXQgd2lsbCBjYXVzZSBhbiBpbnN0YW50aWF0aW9uIGlmIG5lY2Vzc2FyeS4NCi0gKiBUaGlzIHN0YXRpYyBzdHViIGlzIGRpcmVjdGx5IHNwYXduZWQgYXMgYSB0YXNrIHRvIHJlYWQgaW1hZ2VzIGZyb20gdGhlIGNhbWVyYS4NCi0gKi8NCi1pbnQgQXhpc0NhbWVyYTo6c19JbWFnZVN0cmVhbVRhc2tGdW5jdGlvbihBeGlzQ2FtZXJhICp0aGlzUHRyKQ0KLXsNCi0JcmV0dXJuIHRoaXNQdHItPkltYWdlU3RyZWFtVGFza0Z1bmN0aW9uKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFRhc2sgc3Bhd25lZCBieSBBeGlzQ2FtZXJhIGNvbnN0cnVjdG9yIHRvIHJlY2VpdmUgaW1hZ2VzIGZyb20gY2FtDQotICogSWYgc2V0TmV3SW1hZ2VTZW0gaGFzIGJlZW4gY2FsbGVkLCB0aGlzIGZ1bmN0aW9uIGRvZXMgYSBzZW1HaXZlIG9uIGVhY2ggbmV3IGltYWdlDQotICogSW1hZ2VzIGNhbiBiZSBhY2Nlc3NlZCBieSBjYWxsaW5nIGdldEltYWdlKCkNCi0gKi8NCi1pbnQgQXhpc0NhbWVyYTo6SW1hZ2VTdHJlYW1UYXNrRnVuY3Rpb24oKQ0KLXsNCi0JLy8gTG9vcCBvbiB0cnlpbmcgdG8gc2V0dXAgdGhlIGNhbWVyYSBjb25uZWN0aW9uLiBUaGlzIGhhcHBlbnMgaW4gYSBiYWNrZ3JvdW5kDQotCS8vIHRocmVhZCBzbyBpdCBzaG91bGRuJ3QgZWZmZWN0IHRoZSBvcGVyYXRpb24gb2YgdXNlciBwcm9ncmFtcy4NCi0Jd2hpbGUgKDEpDQotCXsNCi0JCWNvbnN0IGNoYXIgKnJlcXVlc3RTdHJpbmcgPSAiR0VUIC9tanBnL3ZpZGVvLm1qcGcgSFRUUC8xLjFcblwNCi1Vc2VyLUFnZW50OiBIVFRQU3RyZWFtQ2xpZW50XG5cDQotQ29ubmVjdGlvbjogS2VlcC1BbGl2ZVxuXA0KLUNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXG5cDQotQXV0aG9yaXphdGlvbjogQmFzaWMgUmxKRE9rWlNRdz09XG5cbiI7DQotCQlzZW1UYWtlKG1fc29ja2V0UG9zc2Vzc2lvblNlbSwgV0FJVF9GT1JFVkVSKTsNCi0JCW1fY2FtZXJhU29ja2V0ID0gQ3JlYXRlQ2FtZXJhU29ja2V0KHJlcXVlc3RTdHJpbmcpOw0KLQkJaWYgKG1fY2FtZXJhU29ja2V0ID09IEVSUk9SKQ0KLQkJew0KLQkJCS8vIERvbid0IGhhbW1lciB0aGUgY2FtZXJhIGlmIGl0IGlzbid0IHJlYWR5Lg0KLQkJCXNlbUdpdmUobV9zb2NrZXRQb3NzZXNzaW9uU2VtKTsNCi0JCQl0YXNrRGVsYXkoMTAwMCk7DQotCQl9DQotCQllbHNlDQotCQl7DQotCQkJUmVhZEltYWdlc0Zyb21DYW1lcmEoKTsNCi0JCX0NCi0JfQ0KLX0NCi0NCi0vKioNCi0gKiBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHJlYWRzIHRoZSBpbWFnZXMgZnJvbSB0aGUgY2FtZXJhLg0KLSAqLw0KLWludCBBeGlzQ2FtZXJhOjpSZWFkSW1hZ2VzRnJvbUNhbWVyYSgpDQotew0KLQljaGFyICppbWdCdWZmZXIgPSBOVUxMOw0KLQlpbnQgaW1nQnVmZmVyTGVuZ3RoID0gMDsNCi0JLy9JbmZpbml0ZSBsb29wLCB0YXNrIGRlbGV0aW9uIGhhbmRsZWQgYnkgdGFza0RlbGV0ZUhvb2sNCi0JLy8gU29ja2V0IGNsZWFudXAgaGFuZGxlZCBieSBkZXN0cnVjdG9yDQotDQotCS8vIFRPRE86IHRoZXNlIHJlY3YgY2FsbHMgbXVzdCBiZSBub24tYmxvY2tpbmcuIE90aGVyd2lzZSBpZiB0aGUgY2FtZXJhDQotCS8vIGZhaWxzIGR1cmluZyBhIHJlYWQsIHRoZSBjb2RlIGhhbmdzIGFuZCBuZXZlciByZXRyaWVzIHdoZW4gdGhlIGNhbWVyYSBjb21lcw0KLQkvLyBiYWNrIHVwLg0KLQ0KLQlpbnQgY291bnRlciA9IDI7DQotCXdoaWxlICgxKQ0KLQl7DQotCQljaGFyIGluaXRpYWxSZWFkQnVmZmVyW2tNYXhQYWNrZXRTaXplXSA9ICIiOw0KLQkJY2hhciBpbnRlcm1lZGlhdGVCdWZmZXJbMV07DQotCQljaGFyICp0cmFpbGluZ1B0ciA9IGluaXRpYWxSZWFkQnVmZmVyOw0KLQkJaW50IHRyYWlsaW5nQ291bnRlciA9IDA7DQotCQl3aGlsZSAoY291bnRlcikNCi0JCXsNCi0JCQkvLyBUT0RPOiBmaXggbWUuLi4gdGhpcyBjYW5ub3QgYmUgdGhlIG1vc3QgZWZmaWNpZW50IHdheSB0byBhcHByb2FjaCB0aGlzLCByZWFkaW5nIG9uZSBieXRlIGF0IGEgdGltZS4NCi0JCQlpZihyZWN2KG1fY2FtZXJhU29ja2V0LCBpbnRlcm1lZGlhdGVCdWZmZXIsIDEsIDApID09IEVSUk9SKQ0KLQkJCXsNCi0JCQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIHJlYWQgaW1hZ2UgaGVhZGVyIik7DQotCQkJCWNsb3NlIChtX2NhbWVyYVNvY2tldCk7DQotCQkJCXJldHVybiBFUlJPUjsNCi0JCQl9DQotCQkJc3RybmNhdChpbml0aWFsUmVhZEJ1ZmZlciwgaW50ZXJtZWRpYXRlQnVmZmVyLCAxKTsNCi0JCQkvLyB0cmFpbGluZ0NvdW50ZXIgZW5zdXJlcyB0aGF0IHdlIHN0YXJ0IGxvb2tpbmcgZm9yIHRoZSA0IGJ5dGUgc3RyaW5nIGFmdGVyDQotCQkJLy8gdGhlcmUgaXMgYXQgbGVhc3QgNCBieXRlcyB0b3RhbC4gS2luZCBvZiBvYnNjdXJlLg0KLQkJCS8vIGxvb2sgZm9yIDIgYmxhbmsgbGluZXMgKFxyXG4pDQotCQkJaWYgKE5VTEwgIT0gc3Ryc3RyKHRyYWlsaW5nUHRyLCAiXHJcblxyXG4iKSkNCi0JCQl7DQotCQkJCS0tY291bnRlcjsNCi0JCQl9DQotCQkJaWYgKCsrdHJhaWxpbmdDb3VudGVyID49IDQpDQotCQkJew0KLQkJCQl0cmFpbGluZ1B0cisrOw0KLQkJCX0NCi0JCX0NCi0JCWNvdW50ZXIgPSAxOw0KLQkJY2hhciAqY29udGVudExlbmd0aCA9IHN0cnN0cihpbml0aWFsUmVhZEJ1ZmZlciwgIkNvbnRlbnQtTGVuZ3RoOiAiKTsNCi0JCWlmIChjb250ZW50TGVuZ3RoID09IE5VTEwpDQotCQl7DQotCQkJd3BpX3NldFdQSUVycm9yV2l0aENvbnRleHQoSW5jb21wYXRpYmxlTW9kZSwgIk5vIGNvbnRlbnQtbGVuZ3RoIHRva2VuIGZvdW5kIGluIHBhY2tldCIpOw0KLQkJCWNsb3NlKG1fY2FtZXJhU29ja2V0KTsNCi0JCQlyZXR1cm4gRVJST1I7DQotCQl9DQotCQljb250ZW50TGVuZ3RoID0gY29udGVudExlbmd0aCArIDE2OyAvLyBza2lwIHBhc3QgImNvbnRlbnQgbGVuZ3RoIg0KLQkJaW50IHJlYWRMZW5ndGggPSBhdG9sKGNvbnRlbnRMZW5ndGgpOyAvLyBnZXQgdGhlIGltYWdlIGJ5dGUgY291bnQNCi0NCi0JCS8vIE1ha2Ugc3VyZSBidWZmZXIgaXMgbGFyZ2UgZW5vdWdoDQotCQlpZiAoaW1nQnVmZmVyTGVuZ3RoIDwgcmVhZExlbmd0aCkNCi0JCXsNCi0JCQlpZiAoaW1nQnVmZmVyKSBkZWxldGVbXSBpbWdCdWZmZXI7DQotCQkJaW1nQnVmZmVyTGVuZ3RoID0gcmVhZExlbmd0aCArIGtJbWFnZUJ1ZmZlckFsbG9jYXRpb25JbmNyZW1lbnQ7DQotCQkJaW1nQnVmZmVyID0gbmV3IGNoYXJbaW1nQnVmZmVyTGVuZ3RoXTsNCi0JCQlpZiAoaW1nQnVmZmVyID09IE5VTEwpDQotCQkJew0KLQkJCQlpbWdCdWZmZXJMZW5ndGggPSAwOw0KLQkJCQljb250aW51ZTsNCi0JCQl9DQotCQl9DQotDQotCQkvLyBSZWFkIHRoZSBpbWFnZSBkYXRhIGZvciAiQ29udGVudC1MZW5ndGgiIGJ5dGVzDQotCQlpbnQgYnl0ZXNSZWFkID0gMDsNCi0JCWludCByZW1haW5pbmcgPSByZWFkTGVuZ3RoOw0KLQkJd2hpbGUoYnl0ZXNSZWFkIDwgcmVhZExlbmd0aCkNCi0JCXsNCi0JCQlpbnQgYnl0ZXNUaGlzUmVjdiA9IHJlY3YobV9jYW1lcmFTb2NrZXQsICZpbWdCdWZmZXJbYnl0ZXNSZWFkXSwgcmVtYWluaW5nLCAwKTsNCi0JCQlieXRlc1JlYWQgKz0gYnl0ZXNUaGlzUmVjdjsNCi0JCQlyZW1haW5pbmcgLT0gYnl0ZXNUaGlzUmVjdjsNCi0JCX0NCi0JCS8vIFVwZGF0ZSBpbWFnZQ0KLQkJVXBkYXRlUHVibGljSW1hZ2VGcm9tQ2FtZXJhKGltZ0J1ZmZlciwgcmVhZExlbmd0aCk7DQotCQlpZiAoc2VtVGFrZShtX3BhcmFtQ2hhbmdlZFNlbSwgTk9fV0FJVCkgPT0gT0spDQotCQl7DQotCQkJLy8gcGFyYW1zIG5lZWQgdG8gYmUgdXBkYXRlZDogY2xvc2UgdGhlIHZpZGVvIHN0cmVhbTsgcmVsZWFzZSB0aGUgY2FtZXJhLg0KLQkJCWNsb3NlKG1fY2FtZXJhU29ja2V0KTsNCi0JCQlzZW1HaXZlKG1fc29ja2V0UG9zc2Vzc2lvblNlbSk7DQotCQkJcmV0dXJuIDA7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogQ29weSB0aGUgaW1hZ2UgZnJvbSBwcml2YXRlIGJ1ZmZlciB0byBzaGFyZWQgYnVmZmVyLg0KLSAqIEBwYXJhbSBpbWdCdWZmZXIgVGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBpbWFnZQ0KLSAqIEBwYXJhbSBidWZMZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgaW1hZ2UNCi0gKi8NCi12b2lkIEF4aXNDYW1lcmE6OlVwZGF0ZVB1YmxpY0ltYWdlRnJvbUNhbWVyYShjaGFyICppbWdCdWZmZXIsIGludCBpbWdTaXplKQ0KLXsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMobV9wcm90ZWN0ZWRJbWFnZVNlbSk7DQotDQotCQkvLyBBZGp1c3QgdGhlIGJ1ZmZlciBzaXplIGlmIGN1cnJlbnQgZGVzdGluYXRpb24gYnVmZmVyIGlzIHRvbyBzbWFsbC4NCi0JCWlmIChtX3Byb3RlY3RlZEltYWdlQnVmZmVyTGVuZ3RoIDwgaW1nU2l6ZSkNCi0JCXsNCi0JCQlpZiAobV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlciAhPSBOVUxMKSBkZWxldGUgW10gbV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlcjsNCi0JCQltX3Byb3RlY3RlZEltYWdlQnVmZmVyTGVuZ3RoID0gaW1nU2l6ZSArIGtJbWFnZUJ1ZmZlckFsbG9jYXRpb25JbmNyZW1lbnQ7DQotCQkJbV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlciA9IG5ldyBjaGFyW21fcHJvdGVjdGVkSW1hZ2VCdWZmZXJMZW5ndGhdOw0KLQkJCWlmIChtX3Byb3RlY3RlZEltYWdlQnVmZmVyID09IE5VTEwpDQotCQkJew0KLQkJCQltX3Byb3RlY3RlZEltYWdlQnVmZmVyTGVuZ3RoID0gMDsNCi0JCQkJcmV0dXJuOw0KLQkJCX0NCi0JCX0NCi0NCi0JCW1lbWNweShtX3Byb3RlY3RlZEltYWdlQnVmZmVyLCBpbWdCdWZmZXIsIGltZ1NpemUpOw0KLQkJbV9wcm90ZWN0ZWRJbWFnZVNpemUgPSBpbWdTaXplOw0KLQl9DQotDQotCW1fZnJlc2hJbWFnZSA9IHRydWU7DQotCS8vIE5vdGlmeSBldmVyeW9uZSB3aG8gaXMgaW50ZXJlc3RlZC4NCi0JU2VtU2V0X3Q6Oml0ZXJhdG9yIGl0ID0gbV9uZXdJbWFnZVNlbVNldC5iZWdpbigpOw0KLQlTZW1TZXRfdDo6aXRlcmF0b3IgZW5kID0gbV9uZXdJbWFnZVNlbVNldC5lbmQoKTsNCi0JZm9yICg7aXQgIT0gZW5kOyBpdCsrKQ0KLQl7DQotCQlzZW1HaXZlKCppdCk7DQotCX0NCi19DQotDQotLyoqDQotICogSW1wbGVtZW50IHRoZSBwdXJlIHZpcnR1YWwgaW50ZXJmYWNlIHNvIHRoYXQgd2hlbiBwYXJhbWV0ZXIgY2hhbmdlcyByZXF1aXJlIGEgcmVzdGFydCwgdGhlIGltYWdlIHRhc2sgY2FuIGJlIGJvdW5jZWQuDQotICovDQotdm9pZCBBeGlzQ2FtZXJhOjpSZXN0YXJ0Q2FtZXJhVGFzaygpDQotew0KLQltX2ltYWdlU3RyZWFtVGFzay5TdG9wKCk7DQotCW1faW1hZ2VTdHJlYW1UYXNrLlN0YXJ0KChpbnQpdGhpcyk7DQotfQ0KLQ0KLSNpZiBKQVZBX0NBTUVSQV9MSUIgPT0gMQ0KLQ0KLS8vIEMgYmluZGluZ3MgdXNlZCBieSBKYXZhDQotLy8gVGhlc2UgbmVlZCB0byBzdGF5IGFzIGlzIG9yIEphdmEgaGFzIHRvIGNoYW5nZQ0KLQ0KLXZvaWQgQXhpc0NhbWVyYVN0YXJ0KGNvbnN0IGNoYXIgKklQQWRkcmVzcykNCi17DQotI2lmZGVmIFNWTl9SRVYNCi0JaWYgKHN0cmxlbihTVk5fUkVWKSkNCi0Jew0KLQkJcHJpbnRmKCJKYXZhQ2FtZXJhTGliIHdhcyBjb21waWxlZCBmcm9tIFNWTiByZXZpc2lvbiAlc1xuIiwgU1ZOX1JFVik7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlwcmludGYoIkphdmFDYW1lcmFMaWIgd2FzIGNvbXBpbGVkIGZyb20gYSBsb2NhdGlvbiB0aGF0IGlzIG5vdCBzb3VyY2UgY29udHJvbGxlZC5cbiIpOw0KLQl9DQotI2Vsc2UNCi0JcHJpbnRmKCJKYXZhQ2FtZXJhTGliIHdhcyBjb21waWxlZCB3aXRob3V0IC1EJ1NWTl9SRVY9bm5ubidcbiIpOw0KLSNlbmRpZg0KLQlBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZShJUEFkZHJlc3MpOw0KLX0NCi0NCi1pbnQgQXhpc0NhbWVyYUdldEltYWdlIChJbWFnZSogaW1hZ2UpDQotew0KLQlyZXR1cm4gQXhpc0NhbWVyYTo6R2V0SW5zdGFuY2UoKS5HZXRJbWFnZShpbWFnZSk7DQotfQ0KLQ0KLXZvaWQgQXhpc0NhbWVyYVdyaXRlQnJpZ2h0bmVzcyhpbnQgYnJpZ2h0bmVzcykNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVCcmlnaHRuZXNzKGJyaWdodG5lc3MpOw0KLX0NCi0NCi1pbnQgQXhpc0NhbWVyYUdldEJyaWdodG5lc3MoKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0QnJpZ2h0bmVzcygpOw0KLX0NCi0NCi12b2lkIEF4aXNDYW1lcmFXcml0ZVdoaXRlQmFsYW5jZShBeGlzQ2FtZXJhUGFyYW1zOjpXaGl0ZUJhbGFuY2VfdCB3aGl0ZUJhbGFuY2UpDQotew0KLQlBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZSgpLldyaXRlV2hpdGVCYWxhbmNlKHdoaXRlQmFsYW5jZSk7DQotfQ0KLQ0KLUF4aXNDYW1lcmFQYXJhbXM6OldoaXRlQmFsYW5jZV90IEF4aXNDYW1lcmFHZXRXaGl0ZUJhbGFuY2UoKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0V2hpdGVCYWxhbmNlKCk7DQotfQ0KLQ0KLXZvaWQgQXhpc0NhbWVyYVdyaXRlQ29sb3JMZXZlbChpbnQgY29sb3JMZXZlbCkNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVDb2xvckxldmVsKGNvbG9yTGV2ZWwpOw0KLX0NCi0NCi1pbnQgQXhpc0NhbWVyYUdldENvbG9yTGV2ZWwoKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0Q29sb3JMZXZlbCgpOw0KLX0NCi0NCi12b2lkIEF4aXNDYW1lcmFXcml0ZUV4cG9zdXJlQ29udHJvbChBeGlzQ2FtZXJhUGFyYW1zOjpFeHBvc3VyZV90IGV4cG9zdXJlKQ0KLXsNCi0JQXhpc0NhbWVyYTo6R2V0SW5zdGFuY2UoKS5Xcml0ZUV4cG9zdXJlQ29udHJvbChleHBvc3VyZSk7DQotfQ0KLQ0KLUF4aXNDYW1lcmFQYXJhbXM6OkV4cG9zdXJlX3QgQXhpc0NhbWVyYUdldEV4cG9zdXJlQ29udHJvbCgpDQotew0KLQlyZXR1cm4gQXhpc0NhbWVyYTo6R2V0SW5zdGFuY2UoKS5HZXRFeHBvc3VyZUNvbnRyb2woKTsNCi19DQotDQotdm9pZCBBeGlzQ2FtZXJhV3JpdGVFeHBvc3VyZVByaW9yaXR5KGludCBleHBvc3VyZSkNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVFeHBvc3VyZVByaW9yaXR5KGV4cG9zdXJlKTsNCi19DQotDQotaW50IEF4aXNDYW1lcmFHZXRFeHBvc3VyZVByaW9yaXR5KCkNCi17DQotCXJldHVybiBBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZSgpLkdldEV4cG9zdXJlUHJpb3JpdHkoKTsNCi19DQotDQotdm9pZCBBeGlzQ2FtZXJhV3JpdGVNYXhGUFMoaW50IG1heEZQUykNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVNYXhGUFMobWF4RlBTKTsNCi19DQotDQotaW50IEF4aXNDYW1lcmFHZXRNYXhGUFMoKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0TWF4RlBTKCk7DQotfQ0KLQ0KLXZvaWQgQXhpc0NhbWVyYVdyaXRlUmVzb2x1dGlvbihBeGlzQ2FtZXJhUGFyYW1zOjpSZXNvbHV0aW9uX3QgcmVzb2x1dGlvbikNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVSZXNvbHV0aW9uKHJlc29sdXRpb24pOw0KLX0NCi0NCi1BeGlzQ2FtZXJhUGFyYW1zOjpSZXNvbHV0aW9uX3QgQXhpc0NhbWVyYUdldFJlc29sdXRpb24oKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0UmVzb2x1dGlvbigpOw0KLX0NCi0NCi12b2lkIEF4aXNDYW1lcmFXcml0ZUNvbXByZXNzaW9uKGludCBjb21wcmVzc2lvbikNCi17DQotCUF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuV3JpdGVDb21wcmVzc2lvbihjb21wcmVzc2lvbik7DQotfQ0KLQ0KLWludCBBeGlzQ2FtZXJhR2V0Q29tcHJlc3Npb24oKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0Q29tcHJlc3Npb24oKTsNCi19DQotDQotdm9pZCBBeGlzQ2FtZXJhV3JpdGVSb3RhdGlvbihBeGlzQ2FtZXJhUGFyYW1zOjpSb3RhdGlvbl90IHJvdGF0aW9uKQ0KLXsNCi0JQXhpc0NhbWVyYTo6R2V0SW5zdGFuY2UoKS5Xcml0ZVJvdGF0aW9uKHJvdGF0aW9uKTsNCi19DQotDQotQXhpc0NhbWVyYVBhcmFtczo6Um90YXRpb25fdCBBeGlzQ2FtZXJhR2V0Um90YXRpb24oKQ0KLXsNCi0JcmV0dXJuIEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCkuR2V0Um90YXRpb24oKTsNCi19DQotDQotdm9pZCBBeGlzQ2FtZXJhRGVsZXRlSW5zdGFuY2UoKQ0KLXsNCi0JQXhpc0NhbWVyYTo6RGVsZXRlSW5zdGFuY2UoKTsNCi19DQotDQotaW50IEF4aXNDYW1lcmFGcmVzaEltYWdlKCkNCi17DQotCXJldHVybiBBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZSgpLklzRnJlc2hJbWFnZSgpOw0KLX0NCi0NCi0jZW5kaWYgLy8gSkFWQV9DQU1FUkFfTElCID09IDENCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQXhpc0NhbWVyYS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmEuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE4ODliNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQXhpc0NhbWVyYS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0FYSVNfQ0FNRVJBX0hfXw0KLSNkZWZpbmUgX19BWElTX0NBTUVSQV9IX18NCi0NCi0jaW5jbHVkZSA8dGFza0xpYi5oPg0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+IA0KLSNpbmNsdWRlIDxzb2NrTGliLmg+IA0KLSNpbmNsdWRlIDxpbmV0TGliLmg+DQotDQotI2luY2x1ZGUgIlZpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmgiDQotI2lmIEpBVkFfQ0FNRVJBX0xJQiAhPSAxDQotI2luY2x1ZGUgIlZpc2lvbi9Db2xvckltYWdlLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9IU0xJbWFnZS5oIg0KLSNlbmRpZg0KLSNpbmNsdWRlICJuaXZpc2lvbi5oIg0KLSNpbmNsdWRlIDxzZXQ+DQotI2luY2x1ZGUgIlRhc2suaCINCi0NCi1jbGFzcyBQQ1ZpZGVvU2VydmVyOw0KLQ0KLS8qKg0KLSAqIEF4aXNDYW1lcmEgY2xhc3MuDQotICogVGhpcyBjbGFzcyBoYW5kbGVzIGV2ZXJ5dGhpbmcgYWJvdXQgdGhlIEF4aXMgMjA2IEZSQyBDYW1lcmEuDQotICogSXQgc3RhcnRzIHVwIDIgdGFza3MgZWFjaCB1c2luZyBhIGRpZmZlcmVudCBjb25uZWN0aW9uIHRvIHRoZSBjYW1lcmE6DQotICogLSBpbWFnZSByZWFkaW5nIHRhc2sgdGhhdCByZWFkcyBpbWFnZXMgcmVwZWF0ZWRseSBmcm9tIHRoZSBjYW1lcmENCi0gKiAtIHBhcmFtZXRlciBoYW5kbGVyIHRhc2sgaW4gdGhlIGJhc2UgY2xhc3MgdGhhdCBtb25pdG9ycyBmb3IgY2hhbmdlcyB0bw0KLSAqICAgICBwYXJhbWV0ZXJzIGFuZCB1cGRhdGVzIHRoZSBjYW1lcmENCi0gKi8NCi1jbGFzcyBBeGlzQ2FtZXJhIDogcHVibGljIEF4aXNDYW1lcmFQYXJhbXMNCi17DQotcHJpdmF0ZToNCi0JZXhwbGljaXQgQXhpc0NhbWVyYShjb25zdCBjaGFyICpjYW1lcmFJUCk7DQotcHVibGljOg0KLQl2aXJ0dWFsIH5BeGlzQ2FtZXJhKCk7DQotCXN0YXRpYyBBeGlzQ2FtZXJhJiBHZXRJbnN0YW5jZShjb25zdCBjaGFyICpjYW1lcmFJUCA9IE5VTEwpOw0KLQlzdGF0aWMgdm9pZCBEZWxldGVJbnN0YW5jZSgpOw0KLQ0KLQlib29sIElzRnJlc2hJbWFnZSgpOw0KLQlTRU1fSUQgR2V0TmV3SW1hZ2VTZW0oKTsNCi0NCi0JaW50IEdldEltYWdlKEltYWdlICppbWFxSW1hZ2UpOw0KLSNpZiBKQVZBX0NBTUVSQV9MSUIgIT0gMQ0KLQlpbnQgR2V0SW1hZ2UoQ29sb3JJbWFnZSAqaW1hZ2UpOw0KLQlIU0xJbWFnZSAqR2V0SW1hZ2UoKTsNCi0jZW5kaWYNCi0NCi0JaW50IENvcHlKUEVHKGNoYXIgKipkZXN0SW1hZ2UsIGludCAmZGVzdEltYWdlU2l6ZSwgaW50ICZkZXN0SW1hZ2VCdWZmZXJTaXplKTsNCi0NCi1wcml2YXRlOg0KLQlzdGF0aWMgaW50IHNfSW1hZ2VTdHJlYW1UYXNrRnVuY3Rpb24oQXhpc0NhbWVyYSAqdGhpc1B0cik7DQotCWludCBJbWFnZVN0cmVhbVRhc2tGdW5jdGlvbigpOw0KLQ0KLQlpbnQgUmVhZEltYWdlc0Zyb21DYW1lcmEoKTsNCi0Jdm9pZCBVcGRhdGVQdWJsaWNJbWFnZUZyb21DYW1lcmEoY2hhciAqaW1nQnVmZmVyLCBpbnQgaW1nU2l6ZSk7DQotDQotCXZpcnR1YWwgdm9pZCBSZXN0YXJ0Q2FtZXJhVGFzaygpOw0KLQ0KLQlzdGF0aWMgQXhpc0NhbWVyYSAqX2luc3RhbmNlOw0KLQlpbnQgbV9jYW1lcmFTb2NrZXQ7DQotCXR5cGVkZWYgc3RkOjpzZXQ8U0VNX0lEPiBTZW1TZXRfdDsNCi0JU2VtU2V0X3QgbV9uZXdJbWFnZVNlbVNldDsNCi0NCi0JY2hhciogbV9wcm90ZWN0ZWRJbWFnZUJ1ZmZlcjsNCi0JaW50IG1fcHJvdGVjdGVkSW1hZ2VCdWZmZXJMZW5ndGg7DQotCWludCBtX3Byb3RlY3RlZEltYWdlU2l6ZTsNCi0JU0VNX0lEIG1fcHJvdGVjdGVkSW1hZ2VTZW07DQotCWJvb2wgbV9mcmVzaEltYWdlOw0KLQ0KLQlUYXNrIG1faW1hZ2VTdHJlYW1UYXNrOw0KLQ0KLQlQQ1ZpZGVvU2VydmVyICptX3ZpZGVvU2VydmVyOw0KLX07DQotDQotI2lmIEpBVkFfQ0FNRVJBX0xJQiA9PSAxDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotZXh0ZXJuICJDIiB7DQotI2VuZGlmDQotCXZvaWQgQXhpc0NhbWVyYVN0YXJ0KGNvbnN0IGNoYXIgKklQQWRkcmVzcyk7DQotCWludCBBeGlzQ2FtZXJhR2V0SW1hZ2UoSW1hZ2UgKmltYWdlKTsNCi0Jdm9pZCBBeGlzQ2FtZXJhRGVsZXRlSW5zdGFuY2UoKTsNCi0JaW50IEF4aXNDYW1lcmFGcmVzaEltYWdlKCk7DQotDQotCS8vIE1pZC1zdHJlYW0gZ2V0cyAmIHdyaXRlcw0KLQl2b2lkIEF4aXNDYW1lcmFXcml0ZUJyaWdodG5lc3MoaW50IGJyaWdodG5lc3MpOw0KLQlpbnQgQXhpc0NhbWVyYUdldEJyaWdodG5lc3MoKTsNCi0Jdm9pZCBBeGlzQ2FtZXJhV3JpdGVXaGl0ZUJhbGFuY2UoQXhpc0NhbWVyYVBhcmFtczo6V2hpdGVCYWxhbmNlX3Qgd2hpdGVCYWxhbmNlKTsNCi0JQXhpc0NhbWVyYVBhcmFtczo6V2hpdGVCYWxhbmNlX3QgQXhpc0NhbWVyYUdldFdoaXRlQmFsYW5jZSgpOw0KLQl2b2lkIEF4aXNDYW1lcmFXcml0ZUNvbG9yTGV2ZWwoaW50IGNvbG9yTGV2ZWwpOw0KLQlpbnQgQXhpc0NhbWVyYUdldENvbG9yTGV2ZWwoKTsNCi0Jdm9pZCBBeGlzQ2FtZXJhV3JpdGVFeHBvc3VyZUNvbnRyb2woQXhpc0NhbWVyYVBhcmFtczo6RXhwb3N1cmVfdCBleHBvc3VyZSk7DQotCUF4aXNDYW1lcmFQYXJhbXM6OkV4cG9zdXJlX3QgQXhpc0NhbWVyYUdldEV4cG9zdXJlQ29udHJvbCgpOw0KLQl2b2lkIEF4aXNDYW1lcmFXcml0ZUV4cG9zdXJlUHJpb3JpdHkoaW50IGV4cG9zdXJlUHJpb3JpdHkpOw0KLQlpbnQgQXhpc0NhbWVyYUdldEV4cG9zdXJlUHJpb3JpdHkoKTsNCi0Jdm9pZCBBeGlzQ2FtZXJhV3JpdGVNYXhGUFMoaW50IG1heEZQUyk7DQotCWludCBBeGlzQ2FtZXJhR2V0TWF4RlBTKCk7DQotDQotCS8vIE5ldy1TdHJlYW0gZ2V0cyAmIHdyaXRlcw0KLQl2b2lkIEF4aXNDYW1lcmFXcml0ZVJlc29sdXRpb24oQXhpc0NhbWVyYVBhcmFtczo6UmVzb2x1dGlvbl90IHJlc29sdXRpb24pOw0KLQlBeGlzQ2FtZXJhUGFyYW1zOjpSZXNvbHV0aW9uX3QgQXhpc0NhbWVyYUdldFJlc29sdXRpb24oKTsNCi0Jdm9pZCBBeGlzQ2FtZXJhV3JpdGVDb21wcmVzc2lvbihpbnQgY29tcHJlc3Npb24pOw0KLQlpbnQgQXhpc0NhbWVyYUdldENvbXByZXNzaW9uKCk7DQotCXZvaWQgQXhpc0NhbWVyYVdyaXRlUm90YXRpb24oQXhpc0NhbWVyYVBhcmFtczo6Um90YXRpb25fdCByb3RhdGlvbik7DQotCUF4aXNDYW1lcmFQYXJhbXM6OlJvdGF0aW9uX3QgQXhpc0NhbWVyYUdldFJvdGF0aW9uKCk7DQotI2lmZGVmIF9fY3BsdXNwbHVzDQotfQ0KLSNlbmRpZg0KLSNlbmRpZiAvLyBKQVZBX0NBTUVSQV9MSUIgPT0gMQ0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ0MjllNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQXhpc0NhbWVyYVBhcmFtcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NjkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMuaCINCi0NCi0jaW5jbHVkZSAiVmlzaW9uL0F4aXNDYW1lcmEuaCINCi0jaW5jbHVkZSA8aW5ldExpYi5oPg0KLSNpbmNsdWRlICJwY3JlLmgiDQotI2luY2x1ZGUgPHNvY2tMaWIuaD4NCi0jaW5jbHVkZSA8c3RyaW5nLmg+DQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJVdGlsaXR5LmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLSNpZiBKQVZBX0NBTUVSQV9MSUIgIT0gMQ0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uLmgiDQotI2VuZGlmDQotDQotc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGtSb3RhdGlvbkNob2ljZXNbXSA9IHsiMCIsICIxODAifTsNCi1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qga1Jlc29sdXRpb25DaG9pY2VzW10gPSB7IjY0MHg0ODAiLCAiNjQweDM2MCIsICIzMjB4MjQwIiwgIjE2MHgxMjAifTsNCi1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qga0V4cG9zdXJlQ29udHJvbENob2ljZXNbXSA9IHsgImF1dG9tYXRpYyIsICJob2xkIiwgImZsaWNrZXJmcmVlNTAiLCAiZmxpY2tlcmZyZWU2MCIgfTsNCi1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qga1doaXRlQmFsYW5jZUNob2ljZXNbXSA9IHsgImF1dG8iLCAiaG9sZHdiIiwgImZpeGVkX291dGRvb3IxIiwNCi0JCSJmaXhlZF9vdXRkb29yMiIsICJmaXhlZF9pbmRvb3IiLCAiZml4ZWRfZmx1b3IxIiwgImZpeGVkX2ZsdW9yMiIgfTsNCi0NCi0vKioNCi0gKiBBeGlzQ2FtZXJhIGNvbnN0cnVjdG9yDQotICovDQotQXhpc0NhbWVyYVBhcmFtczo6QXhpc0NhbWVyYVBhcmFtcyhjb25zdCBjaGFyKiBpcEFkZHJlc3MpDQotCTogbV9wYXJhbVRhc2soInBhcmFtVGFzayIsIChGVU5DUFRSKSBzX1BhcmFtVGFza0Z1bmN0aW9uKQ0KLQksIG1fcGFyYW1DaGFuZ2VkU2VtIChOVUxMKQ0KLQksIG1fc29ja2V0UG9zc2Vzc2lvblNlbSAoTlVMTCkNCi0JLCBtX2JyaWdodG5lc3NQYXJhbSAoTlVMTCkNCi0JLCBtX2NvbXByZXNzaW9uUGFyYW0gKE5VTEwpDQotCSwgbV9leHBvc3VyZVByaW9yaXR5UGFyYW0gKE5VTEwpDQotCSwgbV9jb2xvckxldmVsUGFyYW0gKE5VTEwpDQotCSwgbV9tYXhGUFNQYXJhbSAoTlVMTCkNCi0JLCBtX3JvdGF0aW9uUGFyYW0gKE5VTEwpDQotCSwgbV9yZXNvbHV0aW9uUGFyYW0gKE5VTEwpDQotCSwgbV9leHBvc3VyZUNvbnRyb2xQYXJhbSAoTlVMTCkNCi0JLCBtX3doaXRlQmFsYW5jZVBhcmFtIChOVUxMKQ0KLXsNCi0JaWYgKGlwQWRkcmVzcyA9PSBOVUxMIHx8IHN0cmxlbihpcEFkZHJlc3MpID09IDApDQotCXsNCi0jaWYgSkFWQV9DQU1FUkFfTElCID09IDENCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJJUCBBZGRyZXNzIG11c3QgYmUgc3BlY2lmaWVkIik7DQotCQlyZXR1cm47DQotI2Vsc2UNCi0JCURyaXZlclN0YXRpb24gKmRzID0gRHJpdmVyU3RhdGlvbjo6R2V0SW5zdGFuY2UoKTsNCi0JCWRzLT5XYWl0Rm9yRGF0YSgpOw0KLQkJVUlOVDE2IHRlYW1OdW1iZXIgPSBkcy0+R2V0VGVhbU51bWJlcigpOw0KLQkJY2hhciBjYW1lcmFJUFsxNl07DQotCQlzbnByaW50ZihjYW1lcmFJUCwgMTYsICIxMC4lZC4lZC4xMSIsIHRlYW1OdW1iZXIgLyAxMDAsIHRlYW1OdW1iZXIgJSAxMDApOw0KLQkJbV9pcEFkZHJlc3MgPSBpbmV0X2FkZHIoY2FtZXJhSVApOw0KLSNlbmRpZg0KLQl9DQotCWVsc2UNCi0Jew0KLQkJbV9pcEFkZHJlc3MgPSBpbmV0X2FkZHIoKGNoYXIqKWlwQWRkcmVzcyk7DQotCX0NCi0NCi0JaWYgKG1faXBBZGRyZXNzID09ICh1X2xvbmcpRVJST1IpDQotCXsNCi0JCXdwaV9zZXRFcnJub0Vycm9yKCk7DQotCQlyZXR1cm47DQotCX0NCi0NCi0JbV9icmlnaHRuZXNzUGFyYW0gPSBuZXcgSW50Q2FtZXJhUGFyYW1ldGVyKCJJbWFnZVNvdXJjZS5JMC5TZW5zb3IuQnJpZ2h0bmVzcz0laSIsDQotCQkJInJvb3QuSW1hZ2VTb3VyY2UuSTAuU2Vuc29yLkJyaWdodG5lc3M9KC4qKSIsIGZhbHNlKTsNCi0JbV9wYXJhbWV0ZXJzLnB1c2hfYmFjayhtX2JyaWdodG5lc3NQYXJhbSk7DQotCW1fY29sb3JMZXZlbFBhcmFtID0gbmV3IEludENhbWVyYVBhcmFtZXRlcigiSW1hZ2VTb3VyY2UuSTAuU2Vuc29yLkNvbG9yTGV2ZWw9JWkiLA0KLQkJCSJyb290LkltYWdlU291cmNlLkkwLlNlbnNvci5Db2xvckxldmVsPSguKikiLCBmYWxzZSk7DQotCW1fcGFyYW1ldGVycy5wdXNoX2JhY2sobV9jb2xvckxldmVsUGFyYW0pOw0KLQltX2V4cG9zdXJlUHJpb3JpdHlQYXJhbSA9IG5ldyBJbnRDYW1lcmFQYXJhbWV0ZXIoIkltYWdlU291cmNlLkkwLlNlbnNvci5leHBvc3VyZVByaW9yaXR5PSVpIiwNCi0JCQkicm9vdC5JbWFnZVNvdXJjZS5JMC5TZW5zb3IuRXhwb3N1cmVQcmlvcml0eT0oLiopIiwgZmFsc2UpOw0KLQltX3BhcmFtZXRlcnMucHVzaF9iYWNrKG1fZXhwb3N1cmVQcmlvcml0eVBhcmFtKTsNCi0JbV9jb21wcmVzc2lvblBhcmFtID0gbmV3IEludENhbWVyYVBhcmFtZXRlcigiSW1hZ2UuSTAuQXBwZWFyYW5jZS5Db21wcmVzc2lvbj0laSIsDQotCQkJInJvb3QuSW1hZ2UuSTAuQXBwZWFyYW5jZS5Db21wcmVzc2lvbj0oLiopIiwgdHJ1ZSk7DQotCW1fcGFyYW1ldGVycy5wdXNoX2JhY2sobV9jb21wcmVzc2lvblBhcmFtKTsNCi0JbV9tYXhGUFNQYXJhbSA9IG5ldyBJbnRDYW1lcmFQYXJhbWV0ZXIoIkltYWdlLkkwLlN0cmVhbS5GUFM9JWkiLA0KLQkJCSJyb290LkltYWdlLkkwLlN0cmVhbS5GUFM9KC4qKSIsIGZhbHNlKTsNCi0JbV9wYXJhbWV0ZXJzLnB1c2hfYmFjayhtX21heEZQU1BhcmFtKTsNCi0JbV9yb3RhdGlvblBhcmFtID0gbmV3IEVudW1DYW1lcmFQYXJhbWV0ZXIoIkltYWdlLkkwLkFwcGVhcmFuY2UuUm90YXRpb249JXMiLA0KLQkJCSJyb290LkltYWdlLkkwLkFwcGVhcmFuY2UuUm90YXRpb249KC4qKSIsIHRydWUsIGtSb3RhdGlvbkNob2ljZXMsIHNpemVvZihrUm90YXRpb25DaG9pY2VzKS9zaXplb2Yoa1JvdGF0aW9uQ2hvaWNlc1swXSkpOw0KLQltX3BhcmFtZXRlcnMucHVzaF9iYWNrKG1fcm90YXRpb25QYXJhbSk7DQotCW1fcmVzb2x1dGlvblBhcmFtID0gbmV3IEVudW1DYW1lcmFQYXJhbWV0ZXIoIkltYWdlLkkwLkFwcGVhcmFuY2UuUmVzb2x1dGlvbj0lcyIsDQotCQkJInJvb3QuSW1hZ2UuSTAuQXBwZWFyYW5jZS5SZXNvbHV0aW9uPSguKikiLCB0cnVlLCBrUmVzb2x1dGlvbkNob2ljZXMsIHNpemVvZihrUmVzb2x1dGlvbkNob2ljZXMpL3NpemVvZihrUmVzb2x1dGlvbkNob2ljZXNbMF0pKTsNCi0JbV9wYXJhbWV0ZXJzLnB1c2hfYmFjayhtX3Jlc29sdXRpb25QYXJhbSk7DQotCW1fZXhwb3N1cmVDb250cm9sUGFyYW0gPSBuZXcgRW51bUNhbWVyYVBhcmFtZXRlcigiSW1hZ2VTb3VyY2UuSTAuU2Vuc29yLkV4cG9zdXJlPSVzIiwNCi0JCQkicm9vdC5JbWFnZVNvdXJjZS5JMC5TZW5zb3IuRXhwb3N1cmU9KC4qKSIsIGZhbHNlLCBrRXhwb3N1cmVDb250cm9sQ2hvaWNlcywgc2l6ZW9mKGtFeHBvc3VyZUNvbnRyb2xDaG9pY2VzKS9zaXplb2Yoa0V4cG9zdXJlQ29udHJvbENob2ljZXNbMF0pKTsNCi0JbV9wYXJhbWV0ZXJzLnB1c2hfYmFjayhtX2V4cG9zdXJlQ29udHJvbFBhcmFtKTsNCi0JbV93aGl0ZUJhbGFuY2VQYXJhbSA9IG5ldyBFbnVtQ2FtZXJhUGFyYW1ldGVyKCJJbWFnZVNvdXJjZS5JTy5TZW5zb3IuV2hpdGVCYWxhbmNlPSVzIiwNCi0JCQkicm9vdC5JbWFnZVNvdXJjZS5JMC5TZW5zb3IuV2hpdGVCYWxhbmNlPSguKikiLCBmYWxzZSwga1doaXRlQmFsYW5jZUNob2ljZXMsIHNpemVvZihrV2hpdGVCYWxhbmNlQ2hvaWNlcykvc2l6ZW9mKGtXaGl0ZUJhbGFuY2VDaG9pY2VzWzBdKSk7DQotCW1fcGFyYW1ldGVycy5wdXNoX2JhY2sobV93aGl0ZUJhbGFuY2VQYXJhbSk7DQotDQotCW1fcGFyYW1DaGFuZ2VkU2VtID0gc2VtQkNyZWF0ZSAoU0VNX1FfUFJJT1JJVFksIFNFTV9FTVBUWSk7DQotCW1fc29ja2V0UG9zc2Vzc2lvblNlbSA9IHNlbUJDcmVhdGUgKFNFTV9RX1BSSU9SSVRZLCBTRU1fRlVMTCk7DQotDQotCW1fcGFyYW1UYXNrLlN0YXJ0KChpbnQpdGhpcyk7DQotfQ0KLQ0KLS8qKg0KLSAqIERlc3RydWN0b3INCi0gKi8NCi1BeGlzQ2FtZXJhUGFyYW1zOjp+QXhpc0NhbWVyYVBhcmFtcygpDQotew0KLQltX3BhcmFtVGFzay5TdG9wKCk7DQotDQotCXNlbURlbGV0ZShtX3NvY2tldFBvc3Nlc3Npb25TZW0pOw0KLQlzZW1EZWxldGUobV9wYXJhbUNoYW5nZWRTZW0pOw0KLQ0KLQlkZWxldGUgbV93aGl0ZUJhbGFuY2VQYXJhbTsNCi0JZGVsZXRlIG1fZXhwb3N1cmVDb250cm9sUGFyYW07DQotCWRlbGV0ZSBtX3Jlc29sdXRpb25QYXJhbTsNCi0JZGVsZXRlIG1fcm90YXRpb25QYXJhbTsNCi0JZGVsZXRlIG1fbWF4RlBTUGFyYW07DQotCWRlbGV0ZSBtX2NvbXByZXNzaW9uUGFyYW07DQotCWRlbGV0ZSBtX2V4cG9zdXJlUHJpb3JpdHlQYXJhbTsNCi0JZGVsZXRlIG1fY29sb3JMZXZlbFBhcmFtOw0KLQlkZWxldGUgbV9icmlnaHRuZXNzUGFyYW07DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXRpYyBmdW5jdGlvbiB0byBzdGFydCB0aGUgcGFyYW1ldGVyIHVwZGF0aW5nIHRhc2sNCi0gKi8NCi1pbnQgQXhpc0NhbWVyYVBhcmFtczo6c19QYXJhbVRhc2tGdW5jdGlvbihBeGlzQ2FtZXJhUGFyYW1zKiB0aGlzUHRyKQ0KLXsNCi0JcmV0dXJuIHRoaXNQdHItPlBhcmFtVGFza0Z1bmN0aW9uKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIE1haW4gbG9vcCBvZiB0aGUgcGFyYW1ldGVyIHRhc2suDQotICogVGhpcyBsb29wIHJ1bnMgY29udGludW91c2x5IGNoZWNraW5nIHBhcmFtZXRlcnMgZnJvbSB0aGUgY2FtZXJhIGZvcg0KLSAqIHBvc3RlZCBjaGFuZ2VzIGFuZCB1cGRhdGluZyB0aGVtIGlmIG5lY2Vzc2FyeS4NCi0gKi8NCi0vLyBUT0RPOiBuZWVkIHRvIHN5bmNocm9uaXplIHRoZSBhY3R1YWwgc2V0dGluZyBvZiBwYXJhbWV0ZXJzICh0aGUgYXNzaWdubWVudCBzdGF0ZW1lbnQpDQotaW50IEF4aXNDYW1lcmFQYXJhbXM6OlBhcmFtVGFza0Z1bmN0aW9uKCkNCi17DQotCXN0YXRpYyBib29sIGZpcnN0VGltZSA9IHRydWU7DQotDQotCXdoaWxlICh0cnVlKQ0KLQl7DQotCQlzZW1UYWtlKG1fc29ja2V0UG9zc2Vzc2lvblNlbSwgV0FJVF9GT1JFVkVSKTsNCi0JCWlmIChmaXJzdFRpbWUpDQotCQl7DQotCQkJd2hpbGUgKFJlYWRDYW1QYXJhbXMoKSA9PSAwKTsNCi0JCQlmaXJzdFRpbWUgPSBmYWxzZTsNCi0JCX0NCi0JCWJvb2wgcmVzdGFydFJlcXVpcmVkID0gZmFsc2U7DQotDQotCQlQYXJhbWV0ZXJWZWN0b3JfdDo6aXRlcmF0b3IgaXQgPSBtX3BhcmFtZXRlcnMuYmVnaW4oKTsNCi0JCVBhcmFtZXRlclZlY3Rvcl90OjppdGVyYXRvciBlbmQgPSBtX3BhcmFtZXRlcnMuZW5kKCk7DQotCQlmb3IoOyBpdCAhPSBlbmQ7IGl0KyspDQotCQl7DQotCQkJYm9vbCBjaGFuZ2VkID0gZmFsc2U7DQotCQkJY2hhciBwYXJhbVsxNTBdOw0KLQkJCXJlc3RhcnRSZXF1aXJlZCB8PSAoKml0KS0+Q2hlY2tDaGFuZ2VkKGNoYW5nZWQsIHBhcmFtKTsNCi0JCQlpZiAoY2hhbmdlZCkNCi0JCQl7DQotCQkJCVVwZGF0ZUNhbVBhcmFtKHBhcmFtKTsNCi0JCQl9DQotCQl9DQotCQlpZiAocmVzdGFydFJlcXVpcmVkKQ0KLQkJew0KLQkJCVJlc3RhcnRDYW1lcmFUYXNrKCk7DQotCQl9DQotCQlzZW1HaXZlKG1fc29ja2V0UG9zc2Vzc2lvblNlbSk7DQotCX0NCi0JcmV0dXJuIDA7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIHRoZSBicmlnaHRuZXNzIHZhbHVlIHRvIHRoZSBjYW1lcmEuDQotICogQHBhcmFtIGJyaWdodG5lc3MgdmFsaWQgdmFsdWVzIDAgLi4gMTAwDQotICovDQotdm9pZCBBeGlzQ2FtZXJhUGFyYW1zOjpXcml0ZUJyaWdodG5lc3MoaW50IGJyaWdodG5lc3MpDQotew0KLQltX2JyaWdodG5lc3NQYXJhbS0+U2V0VmFsdWUoYnJpZ2h0bmVzcyk7DQotCXNlbUdpdmUobV9wYXJhbUNoYW5nZWRTZW0pOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIGJyaWdodG5lc3MgdmFsdWUuDQotICogQHJldHVybiBCcmlnaHRuZXNzIHZhbHVlIGZyb20gdGhlIGNhbWVyYS4NCi0gKi8NCi1pbnQgQXhpc0NhbWVyYVBhcmFtczo6R2V0QnJpZ2h0bmVzcygpDQotew0KLQlyZXR1cm4gbV9icmlnaHRuZXNzUGFyYW0tPkdldFZhbHVlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFNldCB0aGUgd2hpdGUgYmFsYW5jZSB2YWx1ZS4NCi0gKiBAcGFyYW0gd2hpdGVCYWxhbmNlIFZhbGlkIHZhbHVlcyBmcm9tIHRoZSBXaGl0ZUJhbGFuY2VfdCBlbnVtLg0KLSAqLw0KLXZvaWQgQXhpc0NhbWVyYVBhcmFtczo6V3JpdGVXaGl0ZUJhbGFuY2UoV2hpdGVCYWxhbmNlX3Qgd2hpdGVCYWxhbmNlKQ0KLXsNCi0JbV93aGl0ZUJhbGFuY2VQYXJhbS0+U2V0VmFsdWUod2hpdGVCYWxhbmNlKTsNCi0Jc2VtR2l2ZShtX3BhcmFtQ2hhbmdlZFNlbSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHJpZXZlIHRoZSBjdXJyZW50IHdoaXRlIGJhbGFuY2UgcGFyYW1ldGVyLg0KLSAqIEByZXR1cm4gVGhlIHdoaXRlIGJhbGFuY2UgdmFsdWUuDQotICovDQotQXhpc0NhbWVyYVBhcmFtczo6V2hpdGVCYWxhbmNlX3QgQXhpc0NhbWVyYVBhcmFtczo6R2V0V2hpdGVCYWxhbmNlKCkNCi17DQotCXJldHVybiAoV2hpdGVCYWxhbmNlX3QpIG1fd2hpdGVCYWxhbmNlUGFyYW0tPkdldFZhbHVlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIHRoZSBjb2xvciBsZXZlbCB0byB0aGUgY2FtZXJhLg0KLSAqIEBwYXJhbSBjb2xvckxldmVsIHZhbGlkIHZhbHVlcyBhcmUgMCAuLiAxMDANCi0gKi8NCi12b2lkIEF4aXNDYW1lcmFQYXJhbXM6OldyaXRlQ29sb3JMZXZlbChpbnQgY29sb3JMZXZlbCkNCi17DQotCW1fY29sb3JMZXZlbFBhcmFtLT5TZXRWYWx1ZShjb2xvckxldmVsKTsNCi0Jc2VtR2l2ZShtX3BhcmFtQ2hhbmdlZFNlbSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJldHJpZXZlIHRoZSBjb2xvciBsZXZlbCBmcm9tIHRoZSBjYW1lcmEuDQotICogQFJldHVybnMgdGhlIGNhbWVyYSBjb2xvciBsZXZlbC4NCi0gKi8NCi1pbnQgQXhpc0NhbWVyYVBhcmFtczo6R2V0Q29sb3JMZXZlbCgpDQotew0KLQlyZXR1cm4gbV9jb2xvckxldmVsUGFyYW0tPkdldFZhbHVlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIHRoZSBleHBvc3VyZSBjb250cm9sIHZhbHVlIHRvIHRoZSBjYW1lcmEuDQotICogQHBhcmFtIGV4cG9zdXJlQ29udHJvbCBBIG1vZGUgdG8gd3JpdGUgaW4gdGhlIEV4cG9zdXJlX3QgZW51bS4NCi0gKi8NCi12b2lkIEF4aXNDYW1lcmFQYXJhbXM6OldyaXRlRXhwb3N1cmVDb250cm9sKEV4cG9zdXJlX3QgZXhwb3N1cmVDb250cm9sKQ0KLXsNCi0JbV9leHBvc3VyZUNvbnRyb2xQYXJhbS0+U2V0VmFsdWUoZXhwb3N1cmVDb250cm9sKTsNCi0Jc2VtR2l2ZShtX3BhcmFtQ2hhbmdlZFNlbSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgZXhwb3N1cmUgdmFsdWUgZnJvbSB0aGUgY2FtZXJhLg0KLSAqIEByZXR1cm5zIHRoZSBleHBvc3VyZSB2YWx1ZSBmcm9tIHRoZSBjYW1lcmEuDQotICovDQotQXhpc0NhbWVyYVBhcmFtczo6RXhwb3N1cmVfdCBBeGlzQ2FtZXJhUGFyYW1zOjpHZXRFeHBvc3VyZUNvbnRyb2woKQ0KLXsNCi0JcmV0dXJuIChFeHBvc3VyZV90KSBtX2V4cG9zdXJlQ29udHJvbFBhcmFtLT5HZXRWYWx1ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSByZXNvbHV0aW9uIHZhbHVlIHRvIGNhbWVyYS4NCi0gKiBAcGFyYW0gcmVzb2x1dGlvbiBUaGUgY2FtZXJhIHJlc29sdXRpb24gdmFsdWUgdG8gd3JpdGUgdG8gdGhlIGNhbWVyYS4gIFVzZSB0aGUgUmVzb2x1dGlvbl90IGVudW0uDQotICovDQotdm9pZCBBeGlzQ2FtZXJhUGFyYW1zOjpXcml0ZVJlc29sdXRpb24oUmVzb2x1dGlvbl90IHJlc29sdXRpb24pDQotew0KLQltX3Jlc29sdXRpb25QYXJhbS0+U2V0VmFsdWUocmVzb2x1dGlvbik7DQotCXNlbUdpdmUobV9wYXJhbUNoYW5nZWRTZW0pOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgdGhlIHJlc29sdXRpb24gdmFsdWUgZnJvbSB0aGUgY2FtZXJhLg0KLSAqIEByZXR1cm5zIHJlc3VsdGlvbiB2YWx1ZSBmb3IgdGhlIGNhbWVyYS4NCi0gKi8NCi1BeGlzQ2FtZXJhUGFyYW1zOjpSZXNvbHV0aW9uX3QgQXhpc0NhbWVyYVBhcmFtczo6R2V0UmVzb2x1dGlvbigpDQotew0KLQlyZXR1cm4gKFJlc29sdXRpb25fdCkgbV9yZXNvbHV0aW9uUGFyYW0tPkdldFZhbHVlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIHRoZSBleHBvc3JlIHByaW9yaXR5IHZhbHVlIHRvIHRoZSBjYW1lcmEuDQotICogQHBhcmFtIGV4cG9zdXJlUHJpb3JpdHkgVmFsaWQgdmFsdWVzIGFyZSAwLCA1MCwgMTAwLg0KLSAqIDAgPSBQcmlvcml0aXplIGltYWdlIHF1YWxpdHkNCi0gKiA1MCA9IE5vbmUNCi0gKiAxMDAgPSBQcmlvcml0aXplIGZyYW1lIHJhdGUNCi0gKi8NCi12b2lkIEF4aXNDYW1lcmFQYXJhbXM6OldyaXRlRXhwb3N1cmVQcmlvcml0eShpbnQgZXhwb3N1cmVQcmlvcml0eSkNCi17DQotCW1fZXhwb3N1cmVQcmlvcml0eVBhcmFtLT5TZXRWYWx1ZShleHBvc3VyZVByaW9yaXR5KTsNCi0Jc2VtR2l2ZShtX3BhcmFtQ2hhbmdlZFNlbSk7DQotfQ0KLQ0KLWludCBBeGlzQ2FtZXJhUGFyYW1zOjpHZXRFeHBvc3VyZVByaW9yaXR5KCkNCi17DQotCXJldHVybiBtX2V4cG9zdXJlUHJpb3JpdHlQYXJhbS0+R2V0VmFsdWUoKTsNCi19DQotDQotLyoqDQotICogV3JpdGUgdGhlIHJvdGF0aW9uIHZhbHVlIHRvIHRoZSBjYW1lcmEuDQotICogSWYgeW91IG1vdW50IHlvdXIgY2FtZXJhIHVwc2lkZSBkb3duLCB1c2UgdGhpcyB0byBhZGp1c3QgdGhlIGltYWdlIGZvciB5b3UuDQotICogQHBhcmFtIHJvdGF0aW9uIFRoZSBpbWFnZSBmcm9tIHRoZSBSb3RhdGlvbl90IGVudW0gaW4gQXhpc0NhbWVyYVBhcmFtcyAoa1JvdGF0aW9uXzAgb3Iga1JvdGF0aW9uXzE4MCkNCi0gKi8NCi12b2lkIEF4aXNDYW1lcmFQYXJhbXM6OldyaXRlUm90YXRpb24oUm90YXRpb25fdCByb3RhdGlvbikNCi17DQotCW1fcm90YXRpb25QYXJhbS0+U2V0VmFsdWUocm90YXRpb24pOw0KLQlzZW1HaXZlKG1fcGFyYW1DaGFuZ2VkU2VtKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSByb3RhdGlvbiB2YWx1ZSBmcm9tIHRoZSBjYW1lcmEuDQotICogQHJldHVybiBUaGUgcm90YXRpb24gdmFsdWUgZnJvbSB0aGUgY2FtZXJhIChSb3RhdGlvbl90KS4NCi0gKi8NCi1BeGlzQ2FtZXJhUGFyYW1zOjpSb3RhdGlvbl90IEF4aXNDYW1lcmFQYXJhbXM6OkdldFJvdGF0aW9uKCkNCi17DQotCXJldHVybiAoUm90YXRpb25fdCkgbV9yb3RhdGlvblBhcmFtLT5HZXRWYWx1ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBXcml0ZSB0aGUgY29tcHJlc3Npb24gdmFsdWUgdG8gdGhlIGNhbWVyYS4NCi0gKiBAcGFyYW0gY29tcHJlc3Npb24gVmFsdWVzIGJldHdlZW4gMCBhbmQgMTAwLg0KLSAqLw0KLQ0KLXZvaWQgQXhpc0NhbWVyYVBhcmFtczo6V3JpdGVDb21wcmVzc2lvbihpbnQgY29tcHJlc3Npb24pDQotew0KLQltX2NvbXByZXNzaW9uUGFyYW0tPlNldFZhbHVlKGNvbXByZXNzaW9uKTsNCi0Jc2VtR2l2ZShtX3BhcmFtQ2hhbmdlZFNlbSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCB0aGUgY29tcHJlc3Npb24gdmFsdWUgZnJvbSB0aGUgY2FtZXJhLg0KLSAqIEByZXR1cm4gVGhlIGNhY2hlZCBjb21wcmVzc2lvbiB2YWx1ZSBmcm9tIHRoZSBjYW1lcmEuDQotICovDQotaW50IEF4aXNDYW1lcmFQYXJhbXM6OkdldENvbXByZXNzaW9uKCkNCi17DQotCXJldHVybiBtX2NvbXByZXNzaW9uUGFyYW0tPkdldFZhbHVlKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIHRoZSBtYXhpbXVtIGZyYW1lcyBwZXIgc2Vjb25kIHRoYXQgdGhlIGNhbWVyYSBzaG91bGQgc2VuZA0KLSAqIFdyaXRlIDAgdG8gc2VuZCBhcyBtYW55IGFzIHBvc3NpYmxlLg0KLSAqIEBwYXJhbSBtYXhGUFMgVGhlIG51bWJlciBvZiBmcmFtZXMgdGhlIGNhbWVyYSBzaG91bGQgc2VuZCBpbiBhIHNlY29uZCwgZXhwb3N1cmUgcGVybWl0dGluZy4NCi0gKi8NCi12b2lkIEF4aXNDYW1lcmFQYXJhbXM6OldyaXRlTWF4RlBTKGludCBtYXhGUFMpDQotew0KLQltX21heEZQU1BhcmFtLT5TZXRWYWx1ZShtYXhGUFMpOw0KLQlzZW1HaXZlKG1fcGFyYW1DaGFuZ2VkU2VtKTsNCi19DQotDQotLyoqDQotICogR2V0IHRoZSBtYXggbnVtYmVyIG9mIGZyYW1lcyBwZXIgc2Vjb25kIHRoYXQgdGhlIGNhbWVyYSB3aWxsIHNlbmQNCi0gKiBAcmV0dXJuIE1heGltdW0gZnJhbWVzIHBlciBzZWNvbmQuDQotICovDQotaW50IEF4aXNDYW1lcmFQYXJhbXM6OkdldE1heEZQUygpDQotew0KLQlyZXR1cm4gbV9tYXhGUFNQYXJhbS0+R2V0VmFsdWUoKTsNCi19DQotDQotLyoqDQotICogVXBkYXRlIGEgY2FtZXJhIHBhcmFtZXRlci4NCi0gKiBXcml0ZSBhIGNhbWVyYSBwYXJhbWV0ZXIgdG8gdGhlIGNhbWVyYSB3aGVuIGl0IGhhcyBiZW5lIGNoYW5nZWQuDQotICogQHBhcmFtIHBhcmFtIHRoZSBzdHJpbmcgdG8gaW5zZXJ0IGludG8gdGhlIGh0dHAgcmVxdWVzdC4NCi0gKiBAcmV0dXJucyAwIGlmIGl0IGZhaWxlZCwgb3RoZXJ3aXNlIG5vbnplcm8uDQotICovDQotaW50IEF4aXNDYW1lcmFQYXJhbXM6OlVwZGF0ZUNhbVBhcmFtKGNvbnN0IGNoYXIqIHBhcmFtKQ0KLXsNCi0JY2hhciAqcmVxdWVzdFN0cmluZyA9DQotCQkiR0VUIC9heGlzLWNnaS9hZG1pbi9wYXJhbS5jZ2k/YWN0aW9uPXVwZGF0ZSYlcyBIVFRQLzEuMVxuXA0KLVVzZXItQWdlbnQ6IEhUVFBTdHJlYW1DbGllbnRcblwNCi1Db25uZWN0aW9uOiBLZWVwLUFsaXZlXG5cDQotQ2FjaGUtQ29udHJvbDogbm8tY2FjaGVcblwNCi1BdXRob3JpemF0aW9uOiBCYXNpYyBSbEpET2taU1F3PT1cblxuIjsNCi0JY2hhciBjb21wbGV0ZWRSZXF1ZXN0WzEwMjRdOw0KLQlzcHJpbnRmKGNvbXBsZXRlZFJlcXVlc3QsIHJlcXVlc3RTdHJpbmcsIHBhcmFtKTsNCi0JLy8gU2VuZCByZXF1ZXN0DQotCWludCBjYW1Tb2NrZXQgPSBDcmVhdGVDYW1lcmFTb2NrZXQoY29tcGxldGVkUmVxdWVzdCk7DQotCWlmIChjYW1Tb2NrZXQgPT0gRVJST1IpDQotCXsNCi0JCXByaW50ZigiVXBkYXRlQ2FtUGFyYW0gZmFpbGVkOiAlc1xuIiwgcGFyYW0pOw0KLQkJcmV0dXJuIDA7DQotCX0NCi0JY2xvc2UoY2FtU29ja2V0KTsNCi0JcmV0dXJuIDE7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlYWQgdGhlIGZ1bGwgcGFyYW0gbGlzdCBmcm9tIGNhbWVyYSwgdXNlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdG8gZmluZCB0aGUgYml0cyB3ZSBjYXJlIGFib3V0DQotICogYXNzaWduIHZhbHVlcyB0byBtZW1iZXIgdmFyaWFibGVzLg0KLSAqLw0KLWludCBBeGlzQ2FtZXJhUGFyYW1zOjpSZWFkQ2FtUGFyYW1zKCkNCi17DQotCWNoYXIgKiByZXF1ZXN0U3RyaW5nID0NCi0JCSJHRVQgL2F4aXMtY2dpL2FkbWluL3BhcmFtLmNnaT9hY3Rpb249bGlzdCBIVFRQLzEuMVxuXA0KLVVzZXItQWdlbnQ6IEhUVFBTdHJlYW1DbGllbnRcblwNCi1Db25uZWN0aW9uOiBLZWVwLUFsaXZlXG5cDQotQ2FjaGUtQ29udHJvbDogbm8tY2FjaGVcblwNCi1BdXRob3JpemF0aW9uOiBCYXNpYyBSbEpET2taU1F3PT1cblxuIjsNCi0NCi0JaW50IGNhbVNvY2tldCA9IENyZWF0ZUNhbWVyYVNvY2tldChyZXF1ZXN0U3RyaW5nKTsNCi0JaWYgKGNhbVNvY2tldCA9PSBFUlJPUikNCi0Jew0KLQkJcmV0dXJuIDA7DQotCX0NCi0JLy8gQWxsb2NhdGUgb24gdGhlIGhlYXAgc2luY2UgaXQgaXMgdmVyeSBsYXJnZSBhbmQgb25seSBuZWVkZWQgb25jZQ0KLQljaGFyICpyZWFkQnVmZmVyID0gbmV3IGNoYXJbMjcwMDBdOw0KLQlpbnQgdG90YWxSZWFkID0gMDsNCi0Jd2hpbGUgKDEpDQotCXsNCi0JCXdwaV9hc3NlcnQodG90YWxSZWFkIDwgMjYwMDApOw0KLQkJaW50IGJ5dGVzUmVhZCA9IHJlY3YoY2FtU29ja2V0LCAmcmVhZEJ1ZmZlclt0b3RhbFJlYWRdLCAxMDAwLCAwKTsNCi0JCWlmIChieXRlc1JlYWQgPT0gRVJST1IpDQotCQl7DQotCQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIHJlYWQgaW1hZ2UgaGVhZGVyIik7DQotCQkJY2xvc2UoY2FtU29ja2V0KTsNCi0JCQlyZXR1cm4gMDsNCi0JCX0NCi0JCWVsc2UgaWYgKGJ5dGVzUmVhZCA8PSAwKQ0KLQkJew0KLQkJCWJyZWFrOw0KLQkJfQ0KLQkJdG90YWxSZWFkICs9IGJ5dGVzUmVhZDsNCi0JfQ0KLQlyZWFkQnVmZmVyW3RvdGFsUmVhZF0gPSAnXDAnOw0KLQ0KLQlQYXJhbWV0ZXJWZWN0b3JfdDo6aXRlcmF0b3IgaXQgPSBtX3BhcmFtZXRlcnMuYmVnaW4oKTsNCi0JUGFyYW1ldGVyVmVjdG9yX3Q6Oml0ZXJhdG9yIGVuZCA9IG1fcGFyYW1ldGVycy5lbmQoKTsNCi0JZm9yKDsgaXQgIT0gZW5kOyBpdCsrKQ0KLQl7DQotCQkoKml0KS0+R2V0UGFyYW1Gcm9tU3RyaW5nKHJlYWRCdWZmZXIsIHRvdGFsUmVhZCk7DQotCX0NCi0JY2xvc2UoY2FtU29ja2V0KTsNCi0JZGVsZXRlIFtdIHJlYWRCdWZmZXI7DQotCXJldHVybiAxOw0KLX0NCi0NCi0vKg0KLSAqIENyZWF0ZSBhIHNvY2tldCBjb25uZWN0ZWQgdG8gY2FtZXJhDQotICogVXNlZCB0byBjcmVhdGUgYSBjb25uZWN0aW9uIHRvIHRoZSBjYW1lcmEgYnkgYm90aCBBeGlzQ2FtZXJhUGFyYW1zIGFuZCBBeGlzQ2FtZXJhLg0KLSAqIEBwYXJhbSByZXF1ZXN0U3RyaW5nIFRoZSBpbml0aWFsIHJlcXVlc3Qgc3RyaW5nIHRvIHNlbmQgdXBvbiBzdWNjZXNzZnVsIGNvbm5lY3Rpb24uDQotICogQHJldHVybiBFUlJPUiBpZiBmYWlsZWQsIHNvY2tldCBoYW5kbGUgaWYgc3VjY2Vzc2Z1bC4NCi0gKi8NCi1pbnQgQXhpc0NhbWVyYVBhcmFtczo6Q3JlYXRlQ2FtZXJhU29ja2V0KGNvbnN0IGNoYXIgKnJlcXVlc3RTdHJpbmcpDQotew0KLQlpbnQgc29ja0FkZHJTaXplOw0KLQlzdHJ1Y3Qgc29ja2FkZHJfaW4gc2VydmVyQWRkcjsNCi0JaW50IGNhbVNvY2tldDsNCi0JLyogY3JlYXRlIHNvY2tldCAqLw0KLQlpZiAoKGNhbVNvY2tldCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCkpID09IEVSUk9SKQ0KLQl7DQotCQl3cGlfc2V0RXJybm9FcnJvcldpdGhDb250ZXh0KCJGYWlsZWQgdG8gY3JlYXRlIHRoZSBjYW1lcmEgc29ja2V0Iik7DQotCQlyZXR1cm4gRVJST1I7DQotCX0NCi0NCi0Jc29ja0FkZHJTaXplID0gc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbik7DQotCWJ6ZXJvKChjaGFyICopICZzZXJ2ZXJBZGRyLCBzb2NrQWRkclNpemUpOw0KLQlzZXJ2ZXJBZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KLQlzZXJ2ZXJBZGRyLnNpbl9sZW4gPSAodV9jaGFyKSBzb2NrQWRkclNpemU7DQotCXNlcnZlckFkZHIuc2luX3BvcnQgPSBodG9ucyg4MCk7DQotDQotCXNlcnZlckFkZHIuc2luX2FkZHIuc19hZGRyID0gbV9pcEFkZHJlc3M7DQotDQotCS8qIGNvbm5lY3QgdG8gc2VydmVyICovDQotCXN0cnVjdCB0aW1ldmFsIGNvbm5lY3RUaW1lb3V0Ow0KLQljb25uZWN0VGltZW91dC50dl9zZWMgPSA1Ow0KLQljb25uZWN0VGltZW91dC50dl91c2VjID0gMDsNCi0JaWYgKGNvbm5lY3RXaXRoVGltZW91dChjYW1Tb2NrZXQsIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNlcnZlckFkZHIsIHNvY2tBZGRyU2l6ZSwgJmNvbm5lY3RUaW1lb3V0KSA9PSBFUlJPUikNCi0Jew0KLQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIGNvbm5lY3QgdG8gdGhlIGNhbWVyYSIpOw0KLQkJY2xvc2UoY2FtU29ja2V0KTsNCi0JCXJldHVybiBFUlJPUjsNCi0JfQ0KLQlpbnQgc2VudCA9IHNlbmQoY2FtU29ja2V0LCByZXF1ZXN0U3RyaW5nLCBzdHJsZW4ocmVxdWVzdFN0cmluZyksIDApOw0KLQlpZiAoc2VudCA9PSBFUlJPUikNCi0Jew0KLQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIHNlbmQgYSByZXF1ZXN0IHRvIHRoZSBjYW1lcmEiKTsNCi0JCWNsb3NlKGNhbVNvY2tldCk7DQotCQlyZXR1cm4gRVJST1I7DQotCX0NCi0JcmV0dXJuIGNhbVNvY2tldDsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9BeGlzQ2FtZXJhUGFyYW1zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1ODE2ZWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0F4aXNDYW1lcmFQYXJhbXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX0FYSVNfQ0FNRVJBX1BBUkFNU19IX18NCi0jZGVmaW5lIF9fQVhJU19DQU1FUkFfUEFSQU1TX0hfXw0KLQ0KLSNpbmNsdWRlICJFbnVtQ2FtZXJhUGFyYW1ldGVyLmgiDQotI2luY2x1ZGUgIkVycm9yQmFzZS5oIg0KLSNpbmNsdWRlICJJbnRDYW1lcmFQYXJhbWV0ZXIuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlIDx2ZWN0b3I+DQotDQotLyoqDQotICogQXhpc0NhbWVyYVBhcmFtcyBjbGFzcy4NCi0gKiBUaGlzIGNsYXNzIGhhbmRsZXMgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24gdGhlIEF4aXMgMjA2IEV0aGVybmV0IENhbWVyYS4NCi0gKiBJdCBzdGFydHMgdXAgYSB0YXNrcyB3aXRoIGFuIGluZGVwZW5kZW50IGNvbm5lY3Rpb24gdG8gdGhlIGNhbWVyYSB0aGF0IG1vbml0b3JzDQotICogZm9yIGNoYW5nZXMgdG8gcGFyYW1ldGVycyBhbmQgdXBkYXRlcyB0aGUgY2FtZXJhLg0KLSAqIEl0IGlzIG9ubHkgc2VwYXJhdGUgZnJvbSBBeGlzQ2FtZXJhIHRvIGlzb2xhdGUgdGhlIHBhcmFtZXRlciBjb2RlIGZyb20gdGhlIGltYWdlIHN0cmVhbWluZyBjb2RlLg0KLSAqLw0KLWNsYXNzIEF4aXNDYW1lcmFQYXJhbXMgOiBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JdHlwZWRlZiBlbnVtIEV4cG9zdXJlX3Qge2tFeHBvc3VyZV9BdXRvbWF0aWMsIGtFeHBvc3VyZV9Ib2xkLCBrRXhwb3N1cmVfRmxpY2tlckZyZWU1MEh6LCBrRXhwb3N1cmVfRmxpY2tlckZyZWU2MEh6fTsNCi0JdHlwZWRlZiBlbnVtIFdoaXRlQmFsYW5jZV90IHtrV2hpdGVCYWxhbmNlX0F1dG9tYXRpYywga1doaXRlQmFsYW5jZV9Ib2xkLCBrV2hpdGVCYWxhbmNlX0ZpeGVkT3V0ZG9vcjEsIGtXaGl0ZUJhbGFuY2VfRml4ZWRPdXRkb29yMiwga1doaXRlQmFsYW5jZV9GaXhlZEluZG9vciwga1doaXRlQmFsYW5jZV9GaXhlZEZsb3VyZXNjZW50MSwga1doaXRlQmFsYW5jZV9GaXhlZEZsb3VyZXNjZW50Mn07DQotCXR5cGVkZWYgZW51bSBSZXNvbHV0aW9uX3Qge2tSZXNvbHV0aW9uXzY0MHg0ODAsIGtSZXNvbHV0aW9uXzY0MHgzNjAsIGtSZXNvbHV0aW9uXzMyMHgyNDAsIGtSZXNvbHV0aW9uXzE2MHgxMjB9Ow0KLQl0eXBlZGVmIGVudW0gUm90YXRpb25fdCB7a1JvdGF0aW9uXzAsIGtSb3RhdGlvbl8xODB9Ow0KLQ0KLXByb3RlY3RlZDoNCi0JQXhpc0NhbWVyYVBhcmFtcyhjb25zdCBjaGFyKiBpcEFkZHJlc3MpOw0KLQl2aXJ0dWFsIH5BeGlzQ2FtZXJhUGFyYW1zKCk7DQotDQotcHVibGljOg0KLQkvLyBNaWQtc3RyZWFtIGdldHMgJiB3cml0ZXMNCi0Jdm9pZCBXcml0ZUJyaWdodG5lc3MoaW50KTsNCi0JaW50IEdldEJyaWdodG5lc3MoKTsNCi0Jdm9pZCBXcml0ZVdoaXRlQmFsYW5jZShXaGl0ZUJhbGFuY2VfdCB3aGl0ZUJhbGFuY2UpOw0KLQlXaGl0ZUJhbGFuY2VfdCBHZXRXaGl0ZUJhbGFuY2UoKTsNCi0Jdm9pZCBXcml0ZUNvbG9yTGV2ZWwoaW50KTsNCi0JaW50IEdldENvbG9yTGV2ZWwoKTsNCi0Jdm9pZCBXcml0ZUV4cG9zdXJlQ29udHJvbChFeHBvc3VyZV90KTsNCi0JRXhwb3N1cmVfdCBHZXRFeHBvc3VyZUNvbnRyb2woKTsNCi0Jdm9pZCBXcml0ZUV4cG9zdXJlUHJpb3JpdHkoaW50KTsNCi0JaW50IEdldEV4cG9zdXJlUHJpb3JpdHkoKTsNCi0Jdm9pZCBXcml0ZU1heEZQUyhpbnQpOw0KLQlpbnQgR2V0TWF4RlBTKCk7DQotDQotCS8vIE5ldy1TdHJlYW0gZ2V0cyAmIHdyaXRlcyAoaS5lLiByZXF1aXJlIHJlc3RhcnQpDQotCXZvaWQgV3JpdGVSZXNvbHV0aW9uKFJlc29sdXRpb25fdCk7DQotCVJlc29sdXRpb25fdCBHZXRSZXNvbHV0aW9uKCk7DQotCXZvaWQgV3JpdGVDb21wcmVzc2lvbihpbnQpOw0KLQlpbnQgR2V0Q29tcHJlc3Npb24oKTsNCi0Jdm9pZCBXcml0ZVJvdGF0aW9uKFJvdGF0aW9uX3QpOw0KLQlSb3RhdGlvbl90IEdldFJvdGF0aW9uKCk7DQotDQotcHJvdGVjdGVkOg0KLQl2aXJ0dWFsIHZvaWQgUmVzdGFydENhbWVyYVRhc2soKSA9IDA7DQotCWludCBDcmVhdGVDYW1lcmFTb2NrZXQoY29uc3QgY2hhciAqcmVxdWVzdFN0cmluZyk7DQotDQotCXN0YXRpYyBpbnQgc19QYXJhbVRhc2tGdW5jdGlvbihBeGlzQ2FtZXJhUGFyYW1zKiB0aGlzUHRyKTsNCi0JaW50IFBhcmFtVGFza0Z1bmN0aW9uKCk7DQotDQotCWludCBVcGRhdGVDYW1QYXJhbShjb25zdCBjaGFyICpwYXJhbSk7DQotCWludCBSZWFkQ2FtUGFyYW1zKCk7DQotDQotCVRhc2sgbV9wYXJhbVRhc2s7DQotCVVJTlQzMiBtX2lwQWRkcmVzczsgLy8gSVB2NA0KLQlTRU1fSUQgbV9wYXJhbUNoYW5nZWRTZW07DQotCVNFTV9JRCBtX3NvY2tldFBvc3Nlc3Npb25TZW07DQotDQotCS8vQ2FtZXJhIFByb3BlcnRpZXMNCi0JSW50Q2FtZXJhUGFyYW1ldGVyICptX2JyaWdodG5lc3NQYXJhbTsNCi0JSW50Q2FtZXJhUGFyYW1ldGVyICptX2NvbXByZXNzaW9uUGFyYW07DQotCUludENhbWVyYVBhcmFtZXRlciAqbV9leHBvc3VyZVByaW9yaXR5UGFyYW07DQotCUludENhbWVyYVBhcmFtZXRlciAqbV9jb2xvckxldmVsUGFyYW07DQotCUludENhbWVyYVBhcmFtZXRlciAqbV9tYXhGUFNQYXJhbTsNCi0JRW51bUNhbWVyYVBhcmFtZXRlciAqbV9yb3RhdGlvblBhcmFtOw0KLQlFbnVtQ2FtZXJhUGFyYW1ldGVyICptX3Jlc29sdXRpb25QYXJhbTsNCi0JRW51bUNhbWVyYVBhcmFtZXRlciAqbV9leHBvc3VyZUNvbnRyb2xQYXJhbTsNCi0JRW51bUNhbWVyYVBhcmFtZXRlciAqbV93aGl0ZUJhbGFuY2VQYXJhbTsNCi0NCi0JLy8gQSB2ZWN0b3IgdG8gYWNjZXNzIGFsbCBwcm9wZXJ0aWVzIHNpbXBseS4NCi0JdHlwZWRlZiBzdGQ6OnZlY3RvcjxJbnRDYW1lcmFQYXJhbWV0ZXIqPiBQYXJhbWV0ZXJWZWN0b3JfdDsNCi0JUGFyYW1ldGVyVmVjdG9yX3QgbV9wYXJhbWV0ZXJzOw0KLX07DQotDQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0JpbmFyeUltYWdlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9CaW5hcnlJbWFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDM3YzYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0JpbmFyeUltYWdlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIyMiArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJCaW5hcnlJbWFnZS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0vKiogUHJpdmF0ZSBOSSBmdW5jdGlvbiBuZWVkZWQgdG8gd3JpdGUgdG8gdGhlIFZ4V29ya3MgdGFyZ2V0ICovDQotSU1BUV9GVU5DIGludCBQcml2X1NldFdyaXRlRmlsZUFsbG93ZWQoVUlOVDMyIGVuYWJsZSk7IA0KLQ0KLUJpbmFyeUltYWdlOjpCaW5hcnlJbWFnZSgpIDogTW9ub0ltYWdlKCkNCi17DQotfQ0KLQ0KLUJpbmFyeUltYWdlOjp+QmluYXJ5SW1hZ2UoKQ0KLXsNCi19DQotDQotLyoqDQotICogR2V0IHRoZW4gbnVtYmVyIG9mIHBhcnRpY2xlcyBmb3IgdGhlIGltYWdlLg0KLSAqIEByZXR1cm5zIHRoZSBudW1iZXIgb2YgcGFydGljbGVzIGZvdW5kIGZvciB0aGUgaW1hZ2UuDQotICovDQotaW50IEJpbmFyeUltYWdlOjpHZXROdW1iZXJQYXJ0aWNsZXMoKQ0KLXsNCi0JaW50IG51bVBhcnRpY2xlcyA9IDA7DQotCWludCBzdWNjZXNzID0gaW1hcUNvdW50UGFydGljbGVzKG1faW1hcUltYWdlLCAxLCAmbnVtUGFydGljbGVzKTsNCi0Jd3BpX3NldEltYXFFcnJvcldpdGhDb250ZXh0KHN1Y2Nlc3MsICJFcnJvciBjb3VudGluZyBwYXJ0aWNsZXMiKTsNCi0JcmV0dXJuIG51bVBhcnRpY2xlczsNCi19DQotDQotLyoqDQotICogR2V0IGEgc2luZ2xlIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydC4NCi0gKiBHZXQgb25lIChvZiBwb3NzaWJseSBtYW55KSBwYXJ0aWNsZSBhbmFseXNpcyByZXBvcnRzIGZvciBhbiBpbWFnZS4NCi0gKiBAcGFyYW0gcGFydGljbGVOdW1iZXIgV2hpY2ggcGFydGljbGUgYW5hbHlzaXMgcmVwb3J0IHRvIHJldHVybi4NCi0gKiBAcmV0dXJucyB0aGUgc2VsZWN0ZWQgcGFydGljbGUgYW5hbHlzaXMgcmVwb3J0DQotICovDQotUGFydGljbGVBbmFseXNpc1JlcG9ydCBCaW5hcnlJbWFnZTo6R2V0UGFydGljbGVBbmFseXNpc1JlcG9ydChpbnQgcGFydGljbGVOdW1iZXIpDQotew0KLQlQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0IHBhcjsNCi0JR2V0UGFydGljbGVBbmFseXNpc1JlcG9ydChwYXJ0aWNsZU51bWJlciwgJnBhcik7DQotCXJldHVybiBwYXI7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHNpbmdsZSBwYXJ0aWNsZSBhbmFseXNpcyByZXBvcnQuDQotICogR2V0IG9uZSAob2YgcG9zc2libHkgbWFueSkgcGFydGljbGUgYW5hbHlzaXMgcmVwb3J0cyBmb3IgYW4gaW1hZ2UuDQotICogVGhpcyB2ZXJzaW9uIGNvdWxkIGJlIG1vcmUgZWZmaWNpZW50IHdoZW4gY29weWluZyBtYW55IHJlcG9ydHMuDQotICogQHBhcmFtIHBhcnRpY2xlTnVtYmVyIFdoaWNoIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydCB0byByZXR1cm4uDQotICogQHBhcmFtIHBhciB0aGUgc2VsZWN0ZWQgcGFydGljbGUgYW5hbHlzaXMgcmVwb3J0DQotICovDQotdm9pZCBCaW5hcnlJbWFnZTo6R2V0UGFydGljbGVBbmFseXNpc1JlcG9ydChpbnQgcGFydGljbGVOdW1iZXIsIFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnBhcikNCi17DQotCWludCBzdWNjZXNzOw0KLQlpbnQgbnVtUGFydGljbGVzID0gMDsNCi0NCi0Jc3VjY2VzcyA9IGltYXFHZXRJbWFnZVNpemUobV9pbWFxSW1hZ2UsICZwYXItPmltYWdlV2lkdGgsICZwYXItPmltYWdlSGVpZ2h0KTsNCi0Jd3BpX3NldEltYXFFcnJvcldpdGhDb250ZXh0KHN1Y2Nlc3MsICJFcnJvciBnZXR0aW5nIGltYWdlIHNpemUiKTsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkNCi0JCXJldHVybjsNCi0NCi0Jc3VjY2VzcyA9IGltYXFDb3VudFBhcnRpY2xlcyhtX2ltYXFJbWFnZSwgMSwgJm51bVBhcnRpY2xlcyk7DQotCXdwaV9zZXRJbWFxRXJyb3JXaXRoQ29udGV4dChzdWNjZXNzLCAiRXJyb3IgY291bnRpbmcgcGFydGljbGVzIik7DQotCWlmIChTdGF0dXNJc0ZhdGFsKCkpDQotCQlyZXR1cm47DQotDQotCWlmIChwYXJ0aWNsZU51bWJlciA+PSBudW1QYXJ0aWNsZXMpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcldpdGhDb250ZXh0KFBhcmFtZXRlck91dE9mUmFuZ2UsICJwYXJ0aWNsZU51bWJlciIpOw0KLQkJcmV0dXJuOw0KLQl9DQotDQotCXBhci0+cGFydGljbGVJbmRleCA9IHBhcnRpY2xlTnVtYmVyOw0KLQkvLyBEb24ndCBib3RoZXIgbWVhc3VyaW5nIHRoZSByZXN0IG9mIHRoZSBwYXJ0aWNsZSBpZiBvbmUgZmFpbHMNCi0JYm9vbCBnb29kID0gUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9DRU5URVJfT0ZfTUFTU19YLCAmcGFyLT5jZW50ZXJfbWFzc194KTsNCi0JZ29vZCA9IGdvb2QgJiYgUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9DRU5URVJfT0ZfTUFTU19ZLCAmcGFyLT5jZW50ZXJfbWFzc195KTsNCi0JZ29vZCA9IGdvb2QgJiYgUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9BUkVBLCAmcGFyLT5wYXJ0aWNsZUFyZWEpOw0KLQlnb29kID0gZ29vZCAmJiBQYXJ0aWNsZU1lYXN1cmVtZW50KHBhcnRpY2xlTnVtYmVyLCBJTUFRX01UX0JPVU5ESU5HX1JFQ1RfVE9QLCAmcGFyLT5ib3VuZGluZ1JlY3QudG9wKTsNCi0JZ29vZCA9IGdvb2QgJiYgUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9CT1VORElOR19SRUNUX0xFRlQsICZwYXItPmJvdW5kaW5nUmVjdC5sZWZ0KTsNCi0JZ29vZCA9IGdvb2QgJiYgUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9CT1VORElOR19SRUNUX0hFSUdIVCwgJnBhci0+Ym91bmRpbmdSZWN0LmhlaWdodCk7DQotCWdvb2QgPSBnb29kICYmIFBhcnRpY2xlTWVhc3VyZW1lbnQocGFydGljbGVOdW1iZXIsIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9XSURUSCwgJnBhci0+Ym91bmRpbmdSZWN0LndpZHRoKTsNCi0JZ29vZCA9IGdvb2QgJiYgUGFydGljbGVNZWFzdXJlbWVudChwYXJ0aWNsZU51bWJlciwgSU1BUV9NVF9BUkVBX0JZX0lNQUdFX0FSRUEsICZwYXItPnBhcnRpY2xlVG9JbWFnZVBlcmNlbnQpOw0KLQlnb29kID0gZ29vZCAmJiBQYXJ0aWNsZU1lYXN1cmVtZW50KHBhcnRpY2xlTnVtYmVyLCBJTUFRX01UX0FSRUFfQllfUEFSVElDTEVfQU5EX0hPTEVTX0FSRUEsICZwYXItPnBhcnRpY2xlUXVhbGl0eSk7DQotDQotCWlmIChnb29kKQ0KLQl7DQotCQkvKiBub3JtYWxpemVkIHBvc2l0aW9uICgtMSB0byAxKSAqLw0KLQkJcGFyLT5jZW50ZXJfbWFzc194X25vcm1hbGl6ZWQgPSBOb3JtYWxpemVGcm9tUmFuZ2UocGFyLT5jZW50ZXJfbWFzc194LCBwYXItPmltYWdlV2lkdGgpOw0KLQkJcGFyLT5jZW50ZXJfbWFzc195X25vcm1hbGl6ZWQgPSBOb3JtYWxpemVGcm9tUmFuZ2UocGFyLT5jZW50ZXJfbWFzc195LCBwYXItPmltYWdlSGVpZ2h0KTsNCi0JfQ0KLX0NCi0NCi0NCi0vKioNCi0gKiBHZXQgYW4gb3JkZXJlZCB2ZWN0b3Igb2YgcGFydGljbGVzIGZvciB0aGUgaW1hZ2UuDQotICogQ3JlYXRlIGEgdmVjdG9yIG9mIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydHMgc29ydGVkIGJ5IHNpemUgZm9yIGFuIGltYWdlLg0KLSAqIFRoZSB2ZWN0b3IgY29udGFpbnMgdGhlIGFjdHVhbCByZXBvcnQgc3RydWN0dXJlcy4NCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHZlY3RvciBvZiBwYXJ0aWNsZSBhbmFseXNpcyByZXBvcnRzLiBUaGUgY2FsbGVyIG11c3QgZGVsZXRlIHRoZQ0KLSAqIHZlY3RvciB3aGVuIGZpbmlzaGVkIHVzaW5nIGl0Lg0KLSAqLw0KLXZlY3RvcjxQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0PiogQmluYXJ5SW1hZ2U6OkdldE9yZGVyZWRQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0cygpDQotew0KLQl2ZWN0b3I8UGFydGljbGVBbmFseXNpc1JlcG9ydD4qIHBhcnRpY2xlcyA9IG5ldyB2ZWN0b3I8UGFydGljbGVBbmFseXNpc1JlcG9ydD47DQotCWludCBwYXJ0aWNsZUNvdW50ID0gR2V0TnVtYmVyUGFydGljbGVzKCk7DQotCWZvcihpbnQgcGFydGljbGVJbmRleCA9IDA7IHBhcnRpY2xlSW5kZXggPCBwYXJ0aWNsZUNvdW50OyBwYXJ0aWNsZUluZGV4KyspDQotCXsNCi0JCXBhcnRpY2xlcy0+cHVzaF9iYWNrKEdldFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQocGFydGljbGVJbmRleCkpOw0KLQl9DQotCS8vIFRPRE86IFRoaXMgaXMgcHJldHR5IGluZWZmaWNpZW50IHNpbmNlIGVhY2ggY29tcGFyZSBpbiB0aGUgc29ydCBjb3BpZXMNCi0JLy8gICBib3RoIHJlcG9ydHMgYmVpbmcgY29tcGFyZWQuLi4gZG8gaXQgbWFudWFsbHkgaW5zdGVhZC4uLiB3aGlsZSB3ZSdyZQ0KLQkvLyAgIGF0IGl0LCB3ZSBzaG91bGQgcHJvdmlkZSBhIHZlcnNpb24gdGhhdCBhbGxvd3MgYSBwcmVhbGxvY2F0ZWQgYnVmZmVyIG9mDQotCS8vICAgUGFydGljbGVBbmFseXNpc1JlcG9ydCBzdHJ1Y3R1cmVzDQotCXNvcnQocGFydGljbGVzLT5iZWdpbigpLCBwYXJ0aWNsZXMtPmVuZCgpLCBDb21wYXJlUGFydGljbGVTaXplcyk7DQotCXJldHVybiBwYXJ0aWNsZXM7DQotfQ0KLQ0KLS8qKg0KLSAqIFdyaXRlIGEgYmluYXJ5IGltYWdlIHRvIGZsYXNoLg0KLSAqIFdyaXRlcyB0aGUgYmluYXJ5IGltYWdlIHRvIGZsYXNoIG9uIHRoZSBjUklPIGZvciBsYXRlciBpbnNwZWN0aW9uLg0KLSAqIEBwYXJhbSBmaWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgaW1hZ2UgZmlsZSB3cml0dGVuIHRvIHRoZSBmbGFzaC4NCi0gKi8NCi12b2lkIEJpbmFyeUltYWdlOjpXcml0ZShjb25zdCBjaGFyICpmaWxlTmFtZSkNCi17DQotCVJHQlZhbHVlIGNvbG9yVGFibGVbMjU2XTsNCi0JUHJpdl9TZXRXcml0ZUZpbGVBbGxvd2VkKDEpOw0KLQltZW1zZXQoY29sb3JUYWJsZSwgMCwgc2l6ZW9mKGNvbG9yVGFibGUpKTsNCi0JY29sb3JUYWJsZVswXS5SID0gMDsNCi0JY29sb3JUYWJsZVsxXS5SID0gMjU1Ow0KLQljb2xvclRhYmxlWzBdLkcgPSBjb2xvclRhYmxlWzFdLkcgPSAwOw0KLQljb2xvclRhYmxlWzBdLkIgPSBjb2xvclRhYmxlWzFdLkIgPSAwOw0KLQljb2xvclRhYmxlWzBdLmFscGhhID0gY29sb3JUYWJsZVsxXS5hbHBoYSA9IDA7DQotCWltYXFXcml0ZUZpbGUobV9pbWFxSW1hZ2UsIGZpbGVOYW1lLCBjb2xvclRhYmxlKTsNCi19DQotDQotLyoqDQotICogTWVhc3VyZSBhIHNpbmdsZSBwYXJhbWV0ZXIgZm9yIGFuIGltYWdlLg0KLSAqIEdldCB0aGUgbWVhc3VyZW1lbnQgZm9yIGEgc2luZ2xlIHBhcmFtZXRlciBhYm91dCBhbiBpbWFnZSBieSBjYWxsaW5nIHRoZSBpbWFxTWVhc3VyZVBhcnRpY2xlDQotICogZnVuY3Rpb24gZm9yIHRoZSBzZWxlY3RlZCBwYXJhbWV0ZXIuDQotICogQHBhcmFtIHBhcnRpY2xlTnVtYmVyIHdoaWNoIHBhcnRpY2xlIGluIHRoZSBzZXQgb2YgcGFydGljbGVzDQotICogQHBhcmFtIHdoYXRUb01lYXN1cmUgdGhlIGltYXEgTWVhc3VyZW1lbnRUeXBlICh3aGF0IHRvIG1lYXN1cmUpDQotICogQHBhcmFtIHJlc3VsdCB0aGUgdmFsdWUgb2YgdGhlIG1lYXN1cmVtZW50DQotICogQHJldHVybnMgZmFsc2Ugb24gZmFpbHVyZSwgdHJ1ZSBvbiBzdWNjZXNzDQotICovDQotYm9vbCBCaW5hcnlJbWFnZTo6UGFydGljbGVNZWFzdXJlbWVudChpbnQgcGFydGljbGVOdW1iZXIsIE1lYXN1cmVtZW50VHlwZSB3aGF0VG9NZWFzdXJlLCBpbnQgKnJlc3VsdCkNCi17DQotCWRvdWJsZSByZXN1bHREb3VibGU7DQotCWJvb2wgc3VjY2VzcyA9IFBhcnRpY2xlTWVhc3VyZW1lbnQocGFydGljbGVOdW1iZXIsIHdoYXRUb01lYXN1cmUsICZyZXN1bHREb3VibGUpOw0KLQkqcmVzdWx0ID0gKGludClyZXN1bHREb3VibGU7DQotCXJldHVybiBzdWNjZXNzOw0KLX0NCi0NCi0vKioNCi0gKiBNZWFzdXJlIGEgc2luZ2xlIHBhcmFtZXRlciBmb3IgYW4gaW1hZ2UuDQotICogR2V0IHRoZSBtZWFzdXJlbWVudCBmb3IgYSBzaW5nbGUgcGFyYW1ldGVyIGFib3V0IGFuIGltYWdlIGJ5IGNhbGxpbmcgdGhlIGltYXFNZWFzdXJlUGFydGljbGUNCi0gKiBmdW5jdGlvbiBmb3IgdGhlIHNlbGVjdGVkIHBhcmFtZXRlci4NCi0gKiBAcGFyYW0gcGFydGljbGVOdW1iZXIgd2hpY2ggcGFydGljbGUgaW4gdGhlIHNldCBvZiBwYXJ0aWNsZXMNCi0gKiBAcGFyYW0gd2hhdFRvTWVhc3VyZSB0aGUgaW1hcSBNZWFzdXJlbWVudFR5cGUgKHdoYXQgdG8gbWVhc3VyZSkNCi0gKiBAcGFyYW0gcmVzdWx0IHRoZSB2YWx1ZSBvZiB0aGUgbWVhc3VyZW1lbnQNCi0gKiBAcmV0dXJucyB0cnVlIG9uIGZhaWx1cmUsIGZhbHNlIG9uIHN1Y2Nlc3MNCi0gKi8NCi1ib29sIEJpbmFyeUltYWdlOjpQYXJ0aWNsZU1lYXN1cmVtZW50KGludCBwYXJ0aWNsZU51bWJlciwgTWVhc3VyZW1lbnRUeXBlIHdoYXRUb01lYXN1cmUsIGRvdWJsZSAqcmVzdWx0KQ0KLXsNCi0JaW50IHN1Y2Nlc3M7DQotCXN1Y2Nlc3MgPSBpbWFxTWVhc3VyZVBhcnRpY2xlKG1faW1hcUltYWdlLCBwYXJ0aWNsZU51bWJlciwgMCwgd2hhdFRvTWVhc3VyZSwgcmVzdWx0KTsNCi0Jd3BpX3NldEltYXFFcnJvcldpdGhDb250ZXh0KHN1Y2Nlc3MsICJFcnJvciBtZWFzdXJpbmcgcGFydGljbGUiKTsNCi0JcmV0dXJuICFTdGF0dXNJc0ZhdGFsKCk7DQotfQ0KLQ0KLS8vTm9ybWFsaXplcyB0byBbLTEsMV0NCi1kb3VibGUgQmluYXJ5SW1hZ2U6Ok5vcm1hbGl6ZUZyb21SYW5nZShkb3VibGUgcG9zaXRpb24sIGludCByYW5nZSkNCi17DQotCXJldHVybiAocG9zaXRpb24gKiAyLjAgLyAoZG91YmxlKXJhbmdlKSAtIDEuMDsNCi19DQotDQotLyoqDQotICogVGhlIGNvbXBhcmUgaGVscGVyIGZ1bmN0aW9uIGZvciBzb3J0Lg0KLSAqIFRoaXMgZnVuY3Rpb24gY29tcGFyZXMgdHdvIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydHMgYXMgYSBoZWxwZXIgZm9yIHRoZSBzb3J0IGZ1bmN0aW9uLg0KLSAqIEBwYXJhbSBwYXJ0aWNsZTEgVGhlIGZpcnN0IHBhcnRpY2xlIHRvIGNvbXBhcmUNCi0gKiBAcGFyYW0gcGFydGljbGUyIHRoZSBzZWNvbmQgcGFydGljbGUgdG8gY29tcGFyZQ0KLSAqIEByZXR1cm5zIHRydWUgaWYgcGFydGljbGUxIGlzIGdyZWF0ZXIgdGhhbiBwYXJ0aWNsZTINCi0gKi8NCi1ib29sIEJpbmFyeUltYWdlOjpDb21wYXJlUGFydGljbGVTaXplcyhQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0IHBhcnRpY2xlMSwgUGFydGljbGVBbmFseXNpc1JlcG9ydCBwYXJ0aWNsZTIpDQotew0KLQkvL3dlIHdhbnQgZGVzY2VuZGluZyBzb3J0IG9yZGVyDQotCXJldHVybiBwYXJ0aWNsZTEucGFydGljbGVUb0ltYWdlUGVyY2VudCA+IHBhcnRpY2xlMi5wYXJ0aWNsZVRvSW1hZ2VQZXJjZW50Ow0KLX0NCi0NCi1CaW5hcnlJbWFnZSAqQmluYXJ5SW1hZ2U6OlJlbW92ZVNtYWxsT2JqZWN0cyhib29sIGNvbm5lY3Rpdml0eTgsIGludCBlcm9zaW9ucykNCi17DQotCUJpbmFyeUltYWdlICpyZXN1bHQgPSBuZXcgQmluYXJ5SW1hZ2UoKTsNCi0JaW50IHN1Y2Nlc3MgPSBpbWFxU2l6ZUZpbHRlcihyZXN1bHQtPkdldEltYXFJbWFnZSgpLCBtX2ltYXFJbWFnZSwgY29ubmVjdGl2aXR5OCwgZXJvc2lvbnMsIElNQVFfS0VFUF9MQVJHRSwgTlVMTCk7DQotCXdwaV9zZXRJbWFxRXJyb3JXaXRoQ29udGV4dChzdWNjZXNzLCAiRXJyb3IgaW4gUmVtb3ZlU21hbGxPYmplY3RzIik7DQotCXJldHVybiByZXN1bHQ7DQotfQ0KLQ0KLUJpbmFyeUltYWdlICpCaW5hcnlJbWFnZTo6UmVtb3ZlTGFyZ2VPYmplY3RzKGJvb2wgY29ubmVjdGl2aXR5OCwgaW50IGVyb3Npb25zKQ0KLXsNCi0JQmluYXJ5SW1hZ2UgKnJlc3VsdCA9IG5ldyBCaW5hcnlJbWFnZSgpOw0KLQlpbnQgc3VjY2VzcyA9IGltYXFTaXplRmlsdGVyKHJlc3VsdC0+R2V0SW1hcUltYWdlKCksIG1faW1hcUltYWdlLCBjb25uZWN0aXZpdHk4LCBlcm9zaW9ucywgSU1BUV9LRUVQX1NNQUxMLCBOVUxMKTsNCi0Jd3BpX3NldEltYXFFcnJvcldpdGhDb250ZXh0KHN1Y2Nlc3MsICJFcnJvciBpbiBSZW1vdmVMYXJnZU9iamVjdHMiKTsNCi0JcmV0dXJuIHJlc3VsdDsNCi19DQotDQotQmluYXJ5SW1hZ2UgKkJpbmFyeUltYWdlOjpDb252ZXhIdWxsKGJvb2wgY29ubmVjdGl2aXR5OCkNCi17DQotCUJpbmFyeUltYWdlICpyZXN1bHQgPSBuZXcgQmluYXJ5SW1hZ2UoKTsNCi0JaW50IHN1Y2Nlc3MgPSBpbWFxQ29udmV4SHVsbChyZXN1bHQtPkdldEltYXFJbWFnZSgpLCBtX2ltYXFJbWFnZSwgY29ubmVjdGl2aXR5OCk7DQotCXdwaV9zZXRJbWFxRXJyb3JXaXRoQ29udGV4dChzdWNjZXNzLCAiRXJyb3IgaW4gY29udmV4IGh1bGwgb3BlcmF0aW9uIik7DQotCXJldHVybiByZXN1bHQ7DQotfQ0KLQ0KLUJpbmFyeUltYWdlICpCaW5hcnlJbWFnZTo6UGFydGljbGVGaWx0ZXIoUGFydGljbGVGaWx0ZXJDcml0ZXJpYTIgKmNyaXRlcmlhLCBpbnQgY3JpdGVyaWFDb3VudCkNCi17DQotCUJpbmFyeUltYWdlICpyZXN1bHQgPSBuZXcgQmluYXJ5SW1hZ2UoKTsNCi0JaW50IG51bVBhcnRpY2xlczsNCi0JUGFydGljbGVGaWx0ZXJPcHRpb25zMiBmaWx0ZXJPcHRpb25zID0gezAsIDAsIDAsIDF9Ow0KLQlpbnQgc3VjY2VzcyA9IGltYXFQYXJ0aWNsZUZpbHRlcjQocmVzdWx0LT5HZXRJbWFxSW1hZ2UoKSwgbV9pbWFxSW1hZ2UsIGNyaXRlcmlhLCBjcml0ZXJpYUNvdW50LCAmZmlsdGVyT3B0aW9ucywgTlVMTCwgJm51bVBhcnRpY2xlcyk7DQotCXdwaV9zZXRJbWFxRXJyb3JXaXRoQ29udGV4dChzdWNjZXNzLCAiRXJyb3IgaW4gcGFydGljbGUgZmlsdGVyIG9wZXJhdGlvbiIpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQmluYXJ5SW1hZ2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9CaW5hcnlJbWFnZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNzFmODZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9CaW5hcnlJbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fQklOQVJZX0lNQUdFX0hfXw0KLSNkZWZpbmUgX19CSU5BUllfSU1BR0VfSF9fDQotDQotI2luY2x1ZGUgIk1vbm9JbWFnZS5oIg0KLS8qKg0KLSAqIEluY2x1ZGVkIGZvciBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0IGRlZmluaXRpb24NCi0gKiBUT0RPOiBFbGltaW5hdGUgdGhpcyBkZXBlbmRlbmN5ISANCi0gKi8NCi0jaW5jbHVkZSAiVmlzaW9uMjAwOS9WaXNpb25BUEkuaCINCi0NCi0jaW5jbHVkZSA8dmVjdG9yPg0KLSNpbmNsdWRlIDxhbGdvcml0aG0+DQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsNCi0NCi1jbGFzcyBCaW5hcnlJbWFnZSA6IHB1YmxpYyBNb25vSW1hZ2UNCi17DQotcHVibGljOg0KLQlCaW5hcnlJbWFnZSgpOw0KLQl2aXJ0dWFsIH5CaW5hcnlJbWFnZSgpOw0KLQlpbnQgR2V0TnVtYmVyUGFydGljbGVzKCk7DQotCVBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgR2V0UGFydGljbGVBbmFseXNpc1JlcG9ydChpbnQgcGFydGljbGVOdW1iZXIpOw0KLQl2b2lkIEdldFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQoaW50IHBhcnRpY2xlTnVtYmVyLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICpwYXIpOw0KLQl2ZWN0b3I8UGFydGljbGVBbmFseXNpc1JlcG9ydD4qIEdldE9yZGVyZWRQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0cygpOw0KLQlCaW5hcnlJbWFnZSAqUmVtb3ZlU21hbGxPYmplY3RzKGJvb2wgY29ubmVjdGl2aXR5OCwgaW50IGVyb3Npb25zKTsNCi0JQmluYXJ5SW1hZ2UgKlJlbW92ZUxhcmdlT2JqZWN0cyhib29sIGNvbm5lY3Rpdml0eTgsIGludCBlcm9zaW9ucyk7DQotCUJpbmFyeUltYWdlICpDb252ZXhIdWxsKGJvb2wgY29ubmVjdGl2aXR5OCk7DQotCUJpbmFyeUltYWdlICpQYXJ0aWNsZUZpbHRlcihQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMiAqY3JpdGVyaWEsIGludCBjcml0ZXJpYUNvdW50KTsNCi0JdmlydHVhbCB2b2lkIFdyaXRlKGNvbnN0IGNoYXIgKmZpbGVOYW1lKTsNCi1wcml2YXRlOg0KLQlib29sIFBhcnRpY2xlTWVhc3VyZW1lbnQoaW50IHBhcnRpY2xlTnVtYmVyLCBNZWFzdXJlbWVudFR5cGUgd2hhdFRvTWVhc3VyZSwgaW50ICpyZXN1bHQpOw0KLQlib29sIFBhcnRpY2xlTWVhc3VyZW1lbnQoaW50IHBhcnRpY2xlTnVtYmVyLCBNZWFzdXJlbWVudFR5cGUgd2hhdFRvTWVhc3VyZSwgZG91YmxlICpyZXN1bHQpOw0KLQlzdGF0aWMgZG91YmxlIE5vcm1hbGl6ZUZyb21SYW5nZShkb3VibGUgcG9zaXRpb24sIGludCByYW5nZSk7DQotCXN0YXRpYyBib29sIENvbXBhcmVQYXJ0aWNsZVNpemVzKFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgcGFydGljbGUxLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0IHBhcnRpY2xlMik7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQ29sb3JJbWFnZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQ29sb3JJbWFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzMjRiYjUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0NvbG9ySW1hZ2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDY1ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkNvbG9ySW1hZ2UuaCINCi0NCi0jaW5jbHVkZSAiV1BJRXJyb3JzLmgiDQotDQotQ29sb3JJbWFnZTo6Q29sb3JJbWFnZShJbWFnZVR5cGUgdHlwZSkgOiBJbWFnZUJhc2UodHlwZSkNCi17DQotfQ0KLQ0KLUNvbG9ySW1hZ2U6On5Db2xvckltYWdlKCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFBlcmZvcm0gYSB0aHJlc2hvbGQgb3BlcmF0aW9uIG9uIGEgQ29sb3JJbWFnZS4NCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIG9wZXJhdGlvbiBvbiBhIENvbG9ySW1hZ2UgdXNpbmcgdGhlIENvbG9yTW9kZSBzdXBwbGllZA0KLSAqIGFzIGEgcGFyYW1ldGVyLg0KLSAqIEBwYXJhbSBjb2xvck1vZGUgVGhlIHR5cGUgb2YgY29sb3JzcGFjZSB0aGlzIG9wZXJhdGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkIGluDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgYmluYXJ5IGltYWdlDQotICovDQotQmluYXJ5SW1hZ2UgKkNvbG9ySW1hZ2U6OkNvbXB1dGVUaHJlc2hvbGQoQ29sb3JNb2RlIGNvbG9yTW9kZSwNCi0JCWludCBsb3cxLCBpbnQgaGlnaDEsDQotCQlpbnQgbG93MiwgaW50IGhpZ2gyLA0KLQkJaW50IGxvdzMsIGludCBoaWdoMykNCi17DQotCUJpbmFyeUltYWdlICpyZXN1bHQgPSBuZXcgQmluYXJ5SW1hZ2UoKTsNCi0JUmFuZ2UgcmFuZ2UxID0ge2xvdzEsIGhpZ2gxfSwNCi0JCXJhbmdlMiA9IHtsb3cyLCBoaWdoMn0sDQotCQlyYW5nZTMgPSB7bG93MywgaGlnaDN9Ow0KLQkNCi0JaW50IHN1Y2Nlc3MgPSBpbWFxQ29sb3JUaHJlc2hvbGQocmVzdWx0LT5HZXRJbWFxSW1hZ2UoKSwgbV9pbWFxSW1hZ2UsIDEsIGNvbG9yTW9kZSwgJnJhbmdlMSwgJnJhbmdlMiwgJnJhbmdlMyk7DQotCXdwaV9zZXRJbWFxRXJyb3JXaXRoQ29udGV4dChzdWNjZXNzLCAiSW1hcVRocmVzaG9sZCBlcnJvciIpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIFJHQiBzcGFjZS4NCi0gKiBAcGFyYW0gcmVkTG93IFJlZCBsb3cgdmFsdWUNCi0gKiBAcGFyYW0gcmVkSGlnaCBSZWQgaGlnaCB2YWx1ZQ0KLSAqIEBwYXJhbSBncmVlbkxvdyBHcmVlbiBsb3cgdmFsdWUNCi0gKiBAcGFyYW0gZ3JlZW5IaWdoIEdyZWVuIGhpZ2ggdmFsdWUNCi0gKiBAcGFyYW0gYmx1ZUxvdyBCbHVlIGxvdyB2YWx1ZQ0KLSAqIEBwYXJhbSBibHVlSGlnaCBCbHVlIGhpZ2ggdmFsdWUNCi0gKiBAcmV0dXJucyBBIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkUkdCKGludCByZWRMb3csIGludCByZWRIaWdoLCBpbnQgZ3JlZW5Mb3csIGludCBncmVlbkhpZ2gsIGludCBibHVlTG93LCBpbnQgYmx1ZUhpZ2gpDQotew0KLQlyZXR1cm4gQ29tcHV0ZVRocmVzaG9sZChJTUFRX1JHQiwgcmVkTG93LCByZWRIaWdoLCBncmVlbkxvdywgZ3JlZW5IaWdoLCBibHVlTG93LCBibHVlSGlnaCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFBlcmZvcm0gYSB0aHJlc2hvbGQgaW4gUkdCIHNwYWNlLg0KLSAqIEBwYXJhbSB0aHJlc2hvbGQgYSByZWZlcmVuY2UgdG8gdGhlIFRocmVzaG9sZCBvYmplY3QgdG8gdXNlLg0KLSAqIEByZXR1cm5zIEEgcG9pbnRlciB0byBhIEJpbmFyeUltYWdlIHRoYXQgcmVwcmVzZW50cyB0aGUgcmVzdWx0IG9mIHRoZSB0aHJlc2hvbGQgb3BlcmF0aW9uLg0KLSAqLw0KLUJpbmFyeUltYWdlICpDb2xvckltYWdlOjpUaHJlc2hvbGRSR0IoVGhyZXNob2xkICZ0KQ0KLXsNCi0JcmV0dXJuIENvbXB1dGVUaHJlc2hvbGQoSU1BUV9SR0IsIHQucGxhbmUxTG93LCB0LnBsYW5lMUhpZ2gsDQotCQkJCQkJCQl0LnBsYW5lMkxvdywgdC5wbGFuZTJIaWdoLA0KLQkJCQkJCQkJdC5wbGFuZTNMb3csIHQucGxhbmUzSGlnaCk7DQotfQ0KLQ0KLS8qKg0KLSAqIFBlcmZvcm0gYSB0aHJlc2hvbGQgaW4gSFNMIHNwYWNlLg0KLSAqIEBwYXJhbSBodWVMb3cgTG93IHZhbHVlIGZvciBodWUNCi0gKiBAcGFyYW0gaHVlSGlnaCBIaWdoIHZhbHVlIGZvciBodWUNCi0gKiBAcGFyYW0gc2F0dXJhdGlvbkxvdyBMb3cgdmFsdWUgZm9yIHNhdHVyYXRpb24NCi0gKiBAcGFyYW0gc2F0dXJhdGlvbkhpZ2ggSGlnaCB2YWx1ZSBmb3Igc2F0dXJhdGlvbg0KLSAqIEBwYXJhbSBsdW1pbmVuY2VMb3cgTG93IHZhbHVlIGZvciBsdW1pbmVuY2UNCi0gKiBAcGFyYW0gbHVtaW5lbmNlSGlnaCBIaWdoIHZhbHVlIGZvciBsdW1pbmVuY2UNCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkSFNMKGludCBodWVMb3csIGludCBodWVIaWdoLCBpbnQgc2F0dXJhdGlvbkxvdywgaW50IHNhdHVyYXRpb25IaWdoLCBpbnQgbHVtaW5lbmNlTG93LCBpbnQgbHVtaW5lbmNlSGlnaCkNCi17DQotCXJldHVybiBDb21wdXRlVGhyZXNob2xkKElNQVFfSFNMLCBodWVMb3csIGh1ZUhpZ2gsIHNhdHVyYXRpb25Mb3csIHNhdHVyYXRpb25IaWdoLCBsdW1pbmVuY2VMb3csIGx1bWluZW5jZUhpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIEhTTCBzcGFjZS4NCi0gKiBAcGFyYW0gdGhyZXNob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBUaHJlc2hvbGQgb2JqZWN0IHRvIHVzZS4NCi0gKiBAcmV0dXJucyBBIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkSFNMKFRocmVzaG9sZCAmdCkNCi17DQotCXJldHVybiBDb21wdXRlVGhyZXNob2xkKElNQVFfSFNMLCB0LnBsYW5lMUxvdywgdC5wbGFuZTFIaWdoLA0KLQkJCQkJCQkJdC5wbGFuZTJMb3csIHQucGxhbmUySGlnaCwNCi0JCQkJCQkJCXQucGxhbmUzTG93LCB0LnBsYW5lM0hpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIEhTViBzcGFjZS4NCi0gKiBAcGFyYW0gaHVlTG93IExvdyB2YWx1ZSBmb3IgaHVlDQotICogQHBhcmFtIGh1ZUhpZ2ggSGlnaCB2YWx1ZSBmb3IgaHVlDQotICogQHBhcmFtIHNhdHVyYXRpb25Mb3cgTG93IHZhbHVlIGZvciBzYXR1cmF0aW9uDQotICogQHBhcmFtIHNhdHVyYXRpb25IaWdoIEhpZ2ggdmFsdWUgZm9yIHNhdHVyYXRpb24NCi0gKiBAcGFyYW0gdmFsdWVMb3cgTG93IHZhbHVlDQotICogQHBhcmFtIHZhbHVlSGlnaCBIaWdoIHZhbHVlDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgQmluYXJ5SW1hZ2UgdGhhdCByZXByZXNlbnRzIHRoZSByZXN1bHQgb2YgdGhlIHRocmVzaG9sZCBvcGVyYXRpb24uDQotICovDQotQmluYXJ5SW1hZ2UgKkNvbG9ySW1hZ2U6OlRocmVzaG9sZEhTVihpbnQgaHVlTG93LCBpbnQgaHVlSGlnaCwgaW50IHNhdHVyYXRpb25Mb3csIGludCBzYXR1cmF0aW9uSGlnaCwgaW50IHZhbHVlTG93LCBpbnQgdmFsdWVIaWdoKQ0KLXsNCi0JcmV0dXJuIENvbXB1dGVUaHJlc2hvbGQoSU1BUV9IU1YsIGh1ZUxvdywgaHVlSGlnaCwgc2F0dXJhdGlvbkxvdywgc2F0dXJhdGlvbkhpZ2gsIHZhbHVlTG93LCB2YWx1ZUhpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIEhTViBzcGFjZS4NCi0gKiBAcGFyYW0gdGhyZXNob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBUaHJlc2hvbGQgb2JqZWN0IHRvIHVzZS4NCi0gKiBAcmV0dXJucyBBIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkSFNWKFRocmVzaG9sZCAmdCkNCi17DQotCXJldHVybiBDb21wdXRlVGhyZXNob2xkKElNQVFfSFNWLCB0LnBsYW5lMUxvdywgdC5wbGFuZTFIaWdoLA0KLQkJCQkJCQkJdC5wbGFuZTJMb3csIHQucGxhbmUySGlnaCwNCi0JCQkJCQkJCXQucGxhbmUzTG93LCB0LnBsYW5lM0hpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIEhTSSBzcGFjZS4NCi0gKiBAcGFyYW0gaHVlTG93IExvdyB2YWx1ZSBmb3IgaHVlDQotICogQHBhcmFtIGh1ZUhpZ2ggSGlnaCB2YWx1ZSBmb3IgaHVlDQotICogQHBhcmFtIHNhdHVyYXRpb25Mb3cgTG93IHZhbHVlIGZvciBzYXR1cmF0aW9uDQotICogQHBhcmFtIHNhdHVyYXRpb25IaWdoIEhpZ2ggdmFsdWUgZm9yIHNhdHVyYXRpb24NCi0gKiBAcGFyYW0gdmFsdWVMb3cgTG93IGludGVuc2l0eQ0KLSAqIEBwYXJhbSB2YWx1ZUhpZ2ggSGlnaCBpbnRlbnNpdHkNCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkSFNJKGludCBodWVMb3csIGludCBodWVIaWdoLCBpbnQgc2F0dXJhdGlvbkxvdywgaW50IHNhdHVyYXRpb25IaWdoLCBpbnQgaW50ZW5zaXR5TG93LCBpbnQgaW50ZW5zaXR5SGlnaCkNCi17DQotCXJldHVybiBDb21wdXRlVGhyZXNob2xkKElNQVFfSFNJLCBodWVMb3csIGh1ZUhpZ2gsIHNhdHVyYXRpb25Mb3csIHNhdHVyYXRpb25IaWdoLCBpbnRlbnNpdHlMb3csIGludGVuc2l0eUhpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBQZXJmb3JtIGEgdGhyZXNob2xkIGluIEhTSSBzcGFjZS4NCi0gKiBAcGFyYW0gdGhyZXNob2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBUaHJlc2hvbGQgb2JqZWN0IHRvIHVzZS4NCi0gKiBAcmV0dXJucyBBIHBvaW50ZXIgdG8gYSBCaW5hcnlJbWFnZSB0aGF0IHJlcHJlc2VudHMgdGhlIHJlc3VsdCBvZiB0aGUgdGhyZXNob2xkIG9wZXJhdGlvbi4NCi0gKi8NCi1CaW5hcnlJbWFnZSAqQ29sb3JJbWFnZTo6VGhyZXNob2xkSFNJKFRocmVzaG9sZCAmdCkNCi17DQotCXJldHVybiBDb21wdXRlVGhyZXNob2xkKElNQVFfSFNJLCB0LnBsYW5lMUxvdywgdC5wbGFuZTFIaWdoLA0KLQkJCQkJCQkJdC5wbGFuZTJMb3csIHQucGxhbmUySGlnaCwNCi0JCQkJCQkJCXQucGxhbmUzTG93LCB0LnBsYW5lM0hpZ2gpOw0KLX0NCi0NCi0vKioNCi0gKiBFeHRyYWN0IGEgY29sb3IgcGxhbmUgZnJvbSB0aGUgaW1hZ2UNCi0gKiBAcGFyYW0gbW9kZSBUaGUgQ29sb3JNb2RlIHRvIHVzZSBmb3IgdGhlIHBsYW5lIGV4dHJhY3Rpb24NCi0gKiBAcGFyYW0gcGxhbmVOdW1iZXIgV2hpY2ggcGxhbmUgaXMgdG8gYmUgZXh0cmFjdGVkDQotICogQHJldHVybnMgQSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgcmVwcmVzZW50cyB0aGUgZXh0cmFjdGVkIHBsYW5lLg0KLSAqLw0KLU1vbm9JbWFnZSAqQ29sb3JJbWFnZTo6RXh0cmFjdENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUsIGludCBwbGFuZU51bWJlcikNCi17DQotCU1vbm9JbWFnZSAqcmVzdWx0ID0gbmV3IE1vbm9JbWFnZSgpOw0KLQlpZiAobV9pbWFxSW1hZ2UgPT0gTlVMTCkNCi0JCXdwaV9zZXRXUElFcnJvcihOdWxsUGFyYW1ldGVyKTsNCi0JaW50IHN1Y2Nlc3MgPSBpbWFxRXh0cmFjdENvbG9yUGxhbmVzKG1faW1hcUltYWdlLCANCi0JCQkJCQkJCQkJIG1vZGUsIA0KLQkJCQkJCQkJCQkgKHBsYW5lTnVtYmVyID09IDEpID8gcmVzdWx0LT5HZXRJbWFxSW1hZ2UoKSA6IE5VTEwsIA0KLQkJCQkJCQkJCQkgKHBsYW5lTnVtYmVyID09IDIpID8gcmVzdWx0LT5HZXRJbWFxSW1hZ2UoKSA6IE5VTEwsIA0KLQkJCQkJCQkJCQkgKHBsYW5lTnVtYmVyID09IDMpID8gcmVzdWx0LT5HZXRJbWFxSW1hZ2UoKSA6IE5VTEwpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgRXh0cmFjdENvbG9yUGxhbmVzIGZhaWxlZCIpOw0KLQlyZXR1cm4gcmVzdWx0Ow0KLX0NCi0NCi0vKg0KLSAqIEV4dHJhY3QgdGhlIGZpcnN0IGNvbG9yIHBsYW5lIGZvciBhbiBpbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgaXMgdGhlIGV4dHJhY3RlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkV4dHJhY3RGaXJzdENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUpDQotew0KLQlyZXR1cm4gRXh0cmFjdENvbG9yUGxhbmUobW9kZSwgMSk7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgc2Vjb25kIGNvbG9yIHBsYW5lIGZvciBhbiBpbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgaXMgdGhlIGV4dHJhY3RlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkV4dHJhY3RTZWNvbmRDb2xvclBsYW5lKENvbG9yTW9kZSBtb2RlKQ0KLXsNCi0JcmV0dXJuIEV4dHJhY3RDb2xvclBsYW5lKG1vZGUsIDIpOw0KLX0NCi0NCi0vKg0KLSAqIEV4dHJhY3QgdGhlIHRoaXJkIGNvbG9yIHBsYW5lIGZvciBhbiBpbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgaXMgdGhlIGV4dHJhY3RlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkV4dHJhY3RUaGlyZENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUpDQotew0KLQlyZXR1cm4gRXh0cmFjdENvbG9yUGxhbmUobW9kZSwgMyk7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgcmVkIHBsYW5lIGZyb20gYW4gUkdCIGltYWdlLg0KLSAqIEByZXR1cm5zIGEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IGlzIHRoZSBleHRyYWNlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkdldFJlZFBsYW5lKCkNCi17DQotCXJldHVybiBFeHRyYWN0Rmlyc3RDb2xvclBsYW5lKElNQVFfUkdCKTsNCi19DQotDQotLyoNCi0gKiBFeHRyYWN0IHRoZSBncmVlbiBwbGFuZSBmcm9tIGFuIFJHQiBpbWFnZS4NCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCBpcyB0aGUgZXh0cmFjZWQgcGxhbmUuDQotICovDQotTW9ub0ltYWdlICpDb2xvckltYWdlOjpHZXRHcmVlblBsYW5lKCkNCi17DQotICAgIHJldHVybiBFeHRyYWN0U2Vjb25kQ29sb3JQbGFuZShJTUFRX1JHQik7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgYmx1ZSBwbGFuZSBmcm9tIGFuIFJHQiBpbWFnZS4NCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCBpcyB0aGUgZXh0cmFjZWQgcGxhbmUuDQotICovDQotTW9ub0ltYWdlICpDb2xvckltYWdlOjpHZXRCbHVlUGxhbmUoKQ0KLXsNCi0gICAgcmV0dXJuIEV4dHJhY3RUaGlyZENvbG9yUGxhbmUoSU1BUV9SR0IpOw0KLX0NCi0NCi0vKg0KLSAqIEV4dHJhY3QgdGhlIEh1ZSBwbGFuZSBmcm9tIGFuIEhTTCBpbWFnZS4NCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCBpcyB0aGUgZXh0cmFjZWQgcGxhbmUuDQotICovDQotTW9ub0ltYWdlICpDb2xvckltYWdlOjpHZXRIU0xIdWVQbGFuZSgpDQotew0KLQlyZXR1cm4gRXh0cmFjdEZpcnN0Q29sb3JQbGFuZShJTUFRX0hTTCk7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgSHVlIHBsYW5lIGZyb20gYW4gSFNWIGltYWdlLg0KLSAqIEByZXR1cm5zIGEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IGlzIHRoZSBleHRyYWNlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkdldEhTVkh1ZVBsYW5lKCkNCi17DQotCXJldHVybiBFeHRyYWN0Rmlyc3RDb2xvclBsYW5lKElNQVFfSFNWKTsNCi19DQotDQotLyoNCi0gKiBFeHRyYWN0IHRoZSBIdWUgcGxhbmUgZnJvbSBhbiBIU0kgaW1hZ2UuDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgaXMgdGhlIGV4dHJhY2VkIHBsYW5lLg0KLSAqLw0KLU1vbm9JbWFnZSAqQ29sb3JJbWFnZTo6R2V0SFNJSHVlUGxhbmUoKQ0KLXsNCi0JcmV0dXJuIEV4dHJhY3RGaXJzdENvbG9yUGxhbmUoSU1BUV9IU0kpOw0KLX0NCi0NCi0vKg0KLSAqIEV4dHJhY3QgdGhlIEx1bWluYW5jZSBwbGFuZSBmcm9tIGFuIEhTTCBpbWFnZS4NCi0gKiBAcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCBpcyB0aGUgZXh0cmFjZWQgcGxhbmUuDQotICovDQotTW9ub0ltYWdlICpDb2xvckltYWdlOjpHZXRMdW1pbmFuY2VQbGFuZSgpDQotew0KLQlyZXR1cm4gRXh0cmFjdFRoaXJkQ29sb3JQbGFuZShJTUFRX0hTTCk7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgVmFsdWUgcGxhbmUgZnJvbSBhbiBIU1YgaW1hZ2UuDQotICogQHJldHVybnMgYSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgaXMgdGhlIGV4dHJhY2VkIHBsYW5lLg0KLSAqLw0KLU1vbm9JbWFnZSAqQ29sb3JJbWFnZTo6R2V0VmFsdWVQbGFuZSgpDQotew0KLQlyZXR1cm4gRXh0cmFjdFRoaXJkQ29sb3JQbGFuZShJTUFRX0hTVik7DQotfQ0KLQ0KLS8qDQotICogRXh0cmFjdCB0aGUgSW50ZW5zaXR5IHBsYW5lIGZyb20gYW4gSFNJIGltYWdlLg0KLSAqIEByZXR1cm5zIGEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IGlzIHRoZSBleHRyYWNlZCBwbGFuZS4NCi0gKi8NCi1Nb25vSW1hZ2UgKkNvbG9ySW1hZ2U6OkdldEludGVuc2l0eVBsYW5lKCkNCi17DQotCXJldHVybiBFeHRyYWN0VGhpcmRDb2xvclBsYW5lKElNQVFfSFNJKTsNCi19DQotDQotLyoqDQotICogUmVwbGFjZSBhIHBsYW5lIGluIHRoZSBDb2xvckltYWdlIHdpdGggYSBNb25vSW1hZ2UNCi0gKiBSZXBsYWNlcyBhIHNpbmdsZSBwbGFuZSBpbiB0aGUgaW1hZ2Ugd2l0aCBhIE1vbm9JbWFnZQ0KLSAqIEBwYXJhbSBtb2RlIFRoZSBDb2xvck1vZGUgaW4gd2hpY2ggdG8gb3BlcmF0ZQ0KLSAqIEBwYXJhbSBwbGFuZSBUaGUgcG9pbnRlciB0byB0aGUgcmVwbGFjZW1lbnQgcGxhbmUgYXMgYSBNb25vSW1hZ2UNCi0gKiBAcGFyYW0gcGxhbmVOdW1iZXIgVGhlIHBsYW5lIG51bWJlciAoMSwgMiwgMykgdG8gcmVwbGFjZQ0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZVBsYW5lKENvbG9yTW9kZSBtb2RlLCBNb25vSW1hZ2UgKnBsYW5lLCBpbnQgcGxhbmVOdW1iZXIpIHsNCi0JaW50IHN1Y2Nlc3MgPSBpbWFxUmVwbGFjZUNvbG9yUGxhbmVzKG1faW1hcUltYWdlLCANCi0JCQkJCQkJCQkJIChjb25zdCBJbWFnZSopIG1faW1hcUltYWdlLCANCi0JCQkJCQkJCQkgICAgIG1vZGUsIA0KLQkJCQkJCQkJCSAgICAgKHBsYW5lTnVtYmVyID09IDEpID8gcGxhbmUtPkdldEltYXFJbWFnZSgpIDogTlVMTCwgDQotCQkJCQkJCQkJICAgICAocGxhbmVOdW1iZXIgPT0gMikgPyBwbGFuZS0+R2V0SW1hcUltYWdlKCkgOiBOVUxMLCANCi0JCQkJCQkJCQkgICAgIChwbGFuZU51bWJlciA9PSAzKSA/IHBsYW5lLT5HZXRJbWFxSW1hZ2UoKSA6IE5VTEwpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgUmVwbGFjZUNvbG9yUGxhbmVzIGZhaWxlZCIpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSBmaXJzdCBjb2xvciBwbGFuZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZUZpcnN0Q29sb3JQbGFuZShDb2xvck1vZGUgbW9kZSwgTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCVJlcGxhY2VQbGFuZShtb2RlLCBwbGFuZSwgMSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcGxhY2UgdGhlIHNlY29uZCBjb2xvciBwbGFuZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZVNlY29uZENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUsIE1vbm9JbWFnZSAqcGxhbmUpDQotew0KLQlSZXBsYWNlUGxhbmUobW9kZSwgcGxhbmUsIDIpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSB0aGlyZCBjb2xvciBwbGFuZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZVRoaXJkQ29sb3JQbGFuZShDb2xvck1vZGUgbW9kZSwgTW9ub0ltYWdlICpwbGFuZSkNCi17IA0KLQlSZXBsYWNlUGxhbmUobW9kZSwgcGxhbmUsIDMpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSByZWQgY29sb3IgcGxhbmUgd2l0aCBhIE1vbm9JbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlLg0KLSAqIEBwYXJhbSBwbGFuZSBBIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCB3aWxsIHJlcGxhY2UgdGhlIHNwZWNpZmllZCBjb2xvciBwbGFuZS4NCi0gKi8NCi12b2lkIENvbG9ySW1hZ2U6OlJlcGxhY2VSZWRQbGFuZShNb25vSW1hZ2UgKnBsYW5lKQ0KLXsNCi0JUmVwbGFjZUZpcnN0Q29sb3JQbGFuZShJTUFRX1JHQiwgcGxhbmUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSBncmVlbiBjb2xvciBwbGFuZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZUdyZWVuUGxhbmUoTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCVJlcGxhY2VTZWNvbmRDb2xvclBsYW5lKElNQVFfUkdCLCBwbGFuZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcGxhY2UgdGhlIGJsdWUgY29sb3IgcGxhbmUgd2l0aCBhIE1vbm9JbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlLg0KLSAqIEBwYXJhbSBwbGFuZSBBIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCB3aWxsIHJlcGxhY2UgdGhlIHNwZWNpZmllZCBjb2xvciBwbGFuZS4NCi0gKi8NCi12b2lkIENvbG9ySW1hZ2U6OlJlcGxhY2VCbHVlUGxhbmUoTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCVJlcGxhY2VUaGlyZENvbG9yUGxhbmUoSU1BUV9SR0IsIHBsYW5lKTsNCi19DQotDQotDQotLyoqDQotICogUmVwbGFjZSB0aGUgSHVlIGNvbG9yIHBsYW5lIGluIGEgSFNMIGltYWdlIHdpdGggYSBNb25vSW1hZ2UuDQotICogQHBhcmFtIG1vZGUgVGhlIGNvbG9yIG1vZGUgaW4gd2hpY2ggdG8gb3BlcmF0ZS4NCi0gKiBAcGFyYW0gcGxhbmUgQSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgd2lsbCByZXBsYWNlIHRoZSBzcGVjaWZpZWQgY29sb3IgcGxhbmUuDQotICovDQotdm9pZCBDb2xvckltYWdlOjpSZXBsYWNlSFNMSHVlUGxhbmUoTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCXJldHVybiBSZXBsYWNlRmlyc3RDb2xvclBsYW5lKElNQVFfSFNMLCBwbGFuZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcGxhY2UgdGhlIEh1ZSBjb2xvciBwbGFuZSBpbiBhIEhTViBpbWFnZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZUhTVkh1ZVBsYW5lKE1vbm9JbWFnZSAqcGxhbmUpDQotew0KLQlyZXR1cm4gUmVwbGFjZUZpcnN0Q29sb3JQbGFuZShJTUFRX0hTViwgcGxhbmUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSBmaXJzdCBIdWUgcGxhbmUgaW4gYSBIU0kgaW1hZ2Ugd2l0aCBhIE1vbm9JbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlLg0KLSAqIEBwYXJhbSBwbGFuZSBBIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCB3aWxsIHJlcGxhY2UgdGhlIHNwZWNpZmllZCBjb2xvciBwbGFuZS4NCi0gKi8NCi12b2lkIENvbG9ySW1hZ2U6OlJlcGxhY2VIU0lIdWVQbGFuZShNb25vSW1hZ2UgKnBsYW5lKQ0KLXsNCi0JcmV0dXJuIFJlcGxhY2VGaXJzdENvbG9yUGxhbmUoSU1BUV9IU0ksIHBsYW5lKTsNCi19DQotDQotLyoqDQotICogUmVwbGFjZSB0aGUgU2F0dXJhdGlvbiBjb2xvciBwbGFuZSBpbiBhbiBIU0wgaW1hZ2Ugd2l0aCBhIE1vbm9JbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlLg0KLSAqIEBwYXJhbSBwbGFuZSBBIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCB3aWxsIHJlcGxhY2UgdGhlIHNwZWNpZmllZCBjb2xvciBwbGFuZS4NCi0gKi8NCi12b2lkIENvbG9ySW1hZ2U6OlJlcGxhY2VIU0xTYXR1cmF0aW9uUGxhbmUoTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCXJldHVybiBSZXBsYWNlU2Vjb25kQ29sb3JQbGFuZShJTUFRX0hTTCwgcGxhbmUpOw0KLX0NCi0NCi0vKioNCi0gKiBSZXBsYWNlIHRoZSBTYXR1cmF0aW9uIGNvbG9yIHBsYW5lIGluIGEgSFNWIGltYWdlIHdpdGggYSBNb25vSW1hZ2UuDQotICogQHBhcmFtIG1vZGUgVGhlIGNvbG9yIG1vZGUgaW4gd2hpY2ggdG8gb3BlcmF0ZS4NCi0gKiBAcGFyYW0gcGxhbmUgQSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgd2lsbCByZXBsYWNlIHRoZSBzcGVjaWZpZWQgY29sb3IgcGxhbmUuDQotICovDQotdm9pZCBDb2xvckltYWdlOjpSZXBsYWNlSFNWU2F0dXJhdGlvblBsYW5lKE1vbm9JbWFnZSAqcGxhbmUpDQotew0KLQlyZXR1cm4gUmVwbGFjZVNlY29uZENvbG9yUGxhbmUoSU1BUV9IU1YsIHBsYW5lKTsNCi19DQotDQotLyoqDQotICogUmVwbGFjZSB0aGUgU2F0dXJhdGlvbiBjb2xvciBwbGFuZSBpbiBhIEhTSSBpbWFnZSB3aXRoIGEgTW9ub0ltYWdlLg0KLSAqIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBtb2RlIGluIHdoaWNoIHRvIG9wZXJhdGUuDQotICogQHBhcmFtIHBsYW5lIEEgcG9pbnRlciB0byBhIE1vbm9JbWFnZSB0aGF0IHdpbGwgcmVwbGFjZSB0aGUgc3BlY2lmaWVkIGNvbG9yIHBsYW5lLg0KLSAqLw0KLXZvaWQgQ29sb3JJbWFnZTo6UmVwbGFjZUhTSVNhdHVyYXRpb25QbGFuZShNb25vSW1hZ2UgKnBsYW5lKQ0KLXsNCi0JcmV0dXJuIFJlcGxhY2VTZWNvbmRDb2xvclBsYW5lKElNQVFfSFNJLCBwbGFuZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFJlcGxhY2UgdGhlIEx1bWluYW5jZSBjb2xvciBwbGFuZSBpbiBhbiBIU0wgaW1hZ2Ugd2l0aCBhIE1vbm9JbWFnZS4NCi0gKiBAcGFyYW0gbW9kZSBUaGUgY29sb3IgbW9kZSBpbiB3aGljaCB0byBvcGVyYXRlLg0KLSAqIEBwYXJhbSBwbGFuZSBBIHBvaW50ZXIgdG8gYSBNb25vSW1hZ2UgdGhhdCB3aWxsIHJlcGxhY2UgdGhlIHNwZWNpZmllZCBjb2xvciBwbGFuZS4NCi0gKi8NCi12b2lkIENvbG9ySW1hZ2U6OlJlcGxhY2VMdW1pbmFuY2VQbGFuZShNb25vSW1hZ2UgKnBsYW5lKQ0KLXsNCi0JcmV0dXJuIFJlcGxhY2VUaGlyZENvbG9yUGxhbmUoSU1BUV9IU0wsIHBsYW5lKTsNCi19DQotDQotLyoqDQotICogUmVwbGFjZSB0aGUgVmFsdWUgY29sb3IgcGxhbmUgaW4gYW4gSFNWIHdpdGggYSBNb25vSW1hZ2UuDQotICogQHBhcmFtIG1vZGUgVGhlIGNvbG9yIG1vZGUgaW4gd2hpY2ggdG8gb3BlcmF0ZS4NCi0gKiBAcGFyYW0gcGxhbmUgQSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgd2lsbCByZXBsYWNlIHRoZSBzcGVjaWZpZWQgY29sb3IgcGxhbmUuDQotICovDQotdm9pZCBDb2xvckltYWdlOjpSZXBsYWNlVmFsdWVQbGFuZShNb25vSW1hZ2UgKnBsYW5lKQ0KLXsNCi0JcmV0dXJuIFJlcGxhY2VUaGlyZENvbG9yUGxhbmUoSU1BUV9IU1YsIHBsYW5lKTsNCi19DQotDQotLyoqDQotICogUmVwbGFjZSB0aGUgSW50ZW5zaXR5IGNvbG9yIHBsYW5lIGluIGEgSFNJIGltYWdlIHdpdGggYSBNb25vSW1hZ2UuDQotICogQHBhcmFtIG1vZGUgVGhlIGNvbG9yIG1vZGUgaW4gd2hpY2ggdG8gb3BlcmF0ZS4NCi0gKiBAcGFyYW0gcGxhbmUgQSBwb2ludGVyIHRvIGEgTW9ub0ltYWdlIHRoYXQgd2lsbCByZXBsYWNlIHRoZSBzcGVjaWZpZWQgY29sb3IgcGxhbmUuDQotICovDQotdm9pZCBDb2xvckltYWdlOjpSZXBsYWNlSW50ZW5zaXR5UGxhbmUoTW9ub0ltYWdlICpwbGFuZSkNCi17DQotCXJldHVybiBSZXBsYWNlVGhpcmRDb2xvclBsYW5lKElNQVFfSFNJLCBwbGFuZSk7DQotfQ0KLQ0KLS8vVE9ETzogZnJjQ29sb3JFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgaW50IGNvbG9yRXF1YWxpemF0aW9uKSBuZWVkcyB0byBiZSBtb2RpZmllZA0KLS8vVGhlIGNvbG9yRXF1YWxpemF0aW9uIHBhcmFtZXRlciBpcyBkaXNjYXJkZWQgYW5kIGlzIHNldCB0byBUUlVFIGluIHRoZSBjYWxsIHRvIGltYXFDb2xvckVxdWFsaXplLg0KLXZvaWQgQ29sb3JJbWFnZTo6RXF1YWxpemUoYm9vbCBhbGxQbGFuZXMpDQotew0KLQkvLyBOb3RlIHRoYXQgdGhpcyBjYWxsIHVzZXMgTkktZGVmaW5lZCBUUlVFIGFuZCBGQUxTRQ0KLQlpbnQgc3VjY2VzcyA9IGltYXFDb2xvckVxdWFsaXplKG1faW1hcUltYWdlLCAoY29uc3QgSW1hZ2UqKSBtX2ltYXFJbWFnZSwgKGFsbFBsYW5lcykgPyBUUlVFIDogRkFMU0UpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgQ29sb3JFcXVhbGl6ZSBlcnJvciIpOw0KLX0NCi0NCi12b2lkIENvbG9ySW1hZ2U6OkNvbG9yRXF1YWxpemUoKQ0KLXsNCi0JRXF1YWxpemUodHJ1ZSk7DQotfQ0KLQ0KLXZvaWQgQ29sb3JJbWFnZTo6THVtaW5hbmNlRXF1YWxpemUoKQ0KLXsNCi0JRXF1YWxpemUoZmFsc2UpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQ29sb3JJbWFnZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0NvbG9ySW1hZ2UuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGViZjc3ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vQ29sb3JJbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fQ09MT1JfSU1BR0VfSF9fDQotI2RlZmluZSBfX0NPTE9SX0lNQUdFX0hfXw0KLQ0KLSNpbmNsdWRlICJJbWFnZUJhc2UuaCINCi0jaW5jbHVkZSAiQmluYXJ5SW1hZ2UuaCINCi0jaW5jbHVkZSAiVGhyZXNob2xkLmgiDQotDQotY2xhc3MgQ29sb3JJbWFnZSA6IHB1YmxpYyBJbWFnZUJhc2UNCi17DQotcHVibGljOg0KLQlDb2xvckltYWdlKEltYWdlVHlwZSB0eXBlKTsNCi0JdmlydHVhbCB+Q29sb3JJbWFnZSgpOw0KLQlCaW5hcnlJbWFnZSAqVGhyZXNob2xkUkdCKGludCByZWRMb3csIGludCByZWRIaWdoLCBpbnQgZ3JlZW5Mb3csIGludCBncmVlbkhpZ2gsIGludCBibHVlTG93LCBpbnQgYmx1ZUhpZ2gpOw0KLQlCaW5hcnlJbWFnZSAqVGhyZXNob2xkSFNMKGludCBodWVMb3csIGludCBodWVIaWdoLCBpbnQgc2F0dXJhdGlvbkxvdywgaW50IHNhdHVyYXRpb25IaWdoLCBpbnQgbHVtaW5lbmNlTG93LCBpbnQgbHVtaW5lbmNlSGlnaCk7DQotCUJpbmFyeUltYWdlICpUaHJlc2hvbGRIU1YoaW50IGh1ZUxvdywgaW50IGh1ZUhpZ2gsIGludCBzYXR1cmF0aW9uTG93LCBpbnQgc2F0dXJhdGlvbkhpZ2gsIGludCB2YWx1ZUhpZ2gsIGludCB2YWx1ZUxvdyk7DQotCUJpbmFyeUltYWdlICpUaHJlc2hvbGRIU0koaW50IGh1ZUxvdywgaW50IGh1ZUhpZ2gsIGludCBzYXR1cmF0aW9uTG93LCBpbnQgc2F0dXJhdGlvbkhpZ2gsIGludCBpbnRlbnNpdHlMb3csIGludCBpbnRlbnNpdHlIaWdoKTsNCi0JQmluYXJ5SW1hZ2UgKlRocmVzaG9sZFJHQihUaHJlc2hvbGQgJnRocmVzaG9sZCk7DQotCUJpbmFyeUltYWdlICpUaHJlc2hvbGRIU0woVGhyZXNob2xkICZ0aHJlc2hvbGQpOw0KLQlCaW5hcnlJbWFnZSAqVGhyZXNob2xkSFNWKFRocmVzaG9sZCAmdGhyZXNob2xkKTsNCi0JQmluYXJ5SW1hZ2UgKlRocmVzaG9sZEhTSShUaHJlc2hvbGQgJnRocmVzaG9sZCk7DQotCU1vbm9JbWFnZSAqR2V0UmVkUGxhbmUoKTsNCi0JTW9ub0ltYWdlICpHZXRHcmVlblBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0Qmx1ZVBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0SFNMSHVlUGxhbmUoKTsNCi0JTW9ub0ltYWdlICpHZXRIU1ZIdWVQbGFuZSgpOw0KLQlNb25vSW1hZ2UgKkdldEhTSUh1ZVBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0SFNMU2F0dXJhdGlvblBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0SFNWU2F0dXJhdGlvblBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0SFNJU2F0dXJhdGlvblBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0THVtaW5hbmNlUGxhbmUoKTsNCi0JTW9ub0ltYWdlICpHZXRWYWx1ZVBsYW5lKCk7DQotCU1vbm9JbWFnZSAqR2V0SW50ZW5zaXR5UGxhbmUoKTsNCi0Jdm9pZCBSZXBsYWNlUmVkUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZUdyZWVuUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZUJsdWVQbGFuZShNb25vSW1hZ2UgKnBsYW5lKTsNCi0Jdm9pZCBSZXBsYWNlSFNMSHVlUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZUhTVkh1ZVBsYW5lKE1vbm9JbWFnZSAqcGxhbmUpOw0KLQl2b2lkIFJlcGxhY2VIU0lIdWVQbGFuZShNb25vSW1hZ2UgKnBsYW5lKTsNCi0Jdm9pZCBSZXBsYWNlSFNMU2F0dXJhdGlvblBsYW5lKE1vbm9JbWFnZSAqcGxhbmUpOw0KLQl2b2lkIFJlcGxhY2VIU1ZTYXR1cmF0aW9uUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZUhTSVNhdHVyYXRpb25QbGFuZShNb25vSW1hZ2UgKnBsYW5lKTsNCi0Jdm9pZCBSZXBsYWNlTHVtaW5hbmNlUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZVZhbHVlUGxhbmUoTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZUludGVuc2l0eVBsYW5lKE1vbm9JbWFnZSAqcGxhbmUpOw0KLQl2b2lkIENvbG9yRXF1YWxpemUoKTsNCi0Jdm9pZCBMdW1pbmFuY2VFcXVhbGl6ZSgpOw0KLQkNCi1wcml2YXRlOg0KLQlCaW5hcnlJbWFnZSAqQ29tcHV0ZVRocmVzaG9sZChDb2xvck1vZGUgY29sb3JNb2RlLCBpbnQgbG93MSwgaW50IGhpZ2gxLCBpbnQgbG93MiwgaW50IGhpZ2gyLCBpbnQgbG93MywgaW50IGhpZ2gzKTsNCi0Jdm9pZCBFcXVhbGl6ZShib29sIGFsbFBsYW5lcyk7DQotCU1vbm9JbWFnZSAqIEV4dHJhY3RDb2xvclBsYW5lKENvbG9yTW9kZSBtb2RlLCBpbnQgcGxhbmVOdW1iZXIpOw0KLQlNb25vSW1hZ2UgKiBFeHRyYWN0Rmlyc3RDb2xvclBsYW5lKENvbG9yTW9kZSBtb2RlKTsNCi0JTW9ub0ltYWdlICogRXh0cmFjdFNlY29uZENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUpOw0KLQlNb25vSW1hZ2UgKiBFeHRyYWN0VGhpcmRDb2xvclBsYW5lKENvbG9yTW9kZSBtb2RlKTsNCi0Jdm9pZCBSZXBsYWNlUGxhbmUoQ29sb3JNb2RlIG1vZGUsIE1vbm9JbWFnZSAqcGxhbmUsIGludCBwbGFuZU51bWJlcik7DQotCXZvaWQgUmVwbGFjZUZpcnN0Q29sb3JQbGFuZShDb2xvck1vZGUgbW9kZSwgTW9ub0ltYWdlICpwbGFuZSk7DQotCXZvaWQgUmVwbGFjZVNlY29uZENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUsIE1vbm9JbWFnZSAqcGxhbmUpOw0KLQl2b2lkIFJlcGxhY2VUaGlyZENvbG9yUGxhbmUoQ29sb3JNb2RlIG1vZGUsIE1vbm9JbWFnZSAqcGxhbmUpOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0VudW1DYW1lcmFQYXJhbWV0ZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0VudW1DYW1lcmFQYXJhbWV0ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGY1ZmJiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkVudW1DYW1lcmFQYXJhbWV0ZXIuaCINCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSA8c3RyaW5nLmg+DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGFuIGVudW1lcmF0aW9uIGNhbWVyYSBwYXJhbWV0ZXIuDQotICogRW51bWVyYXRpb24gY2FtZXJhIHBhcmFtZXRlcnMgaGF2ZSBsaXN0cyBvZiB2YWx1ZSBjaG9pY2VzIGFuZCBzdHJpbmdzIHRoYXQgZ28NCi0gKiB3aXRoIHRoZW0uIFRoZXJlIGFyZSBhbHNvIEMrKyBlbnVtZXJhdGlvbnMgdG8gZ28gYWxvbmcgd2l0aCB0aGVtLg0KLSAqIEBwYXJhbSBzZXRTdHJpbmcgVGhlIHN0cmluZyBmb3IgYW4gSFRUUCByZXF1ZXN0IHRvIHNldCB0aGUgdmFsdWUuDQotICogQHBhcmFtIGdldFN0cmluZyBUaGUgc3RyaW5nIGZvciBhbiBIVFRQIHJlcXVlc3QgdG8gZ2V0IHRoZSB2YWx1ZS4NCi0gKiBAcGFyYW0gY2hvaWNlcyBBbiBhcnJheSBvZiBzdHJpbmdzIG9mIHRoZSBwYXJhbWV0ZXIgY2hvaWNlcyBzZXQgaW4gdGhlIGh0dHAgc3RyaW5ncy4NCi0gKiBAcGFyYW0gbnVtQ2hvaWNlcyBUaGUgbnVtYmVyIG9mIGNob2ljZXMgaW4gdGhlIGVudW1lcmF0aW9uIHNldC4NCi0gKi8NCi1FbnVtQ2FtZXJhUGFyYW1ldGVyOjpFbnVtQ2FtZXJhUGFyYW1ldGVyKGNvbnN0IGNoYXIgKnNldFN0cmluZywgY29uc3QgY2hhciAqZ2V0U3RyaW5nLCBib29sIHJlcXVpcmVzUmVzdGFydCwNCi0JCQkJCQkJCQkJCQkJY29uc3QgY2hhciAqY29uc3QqY2hvaWNlcywgaW50IG51bUNob2ljZXMpDQotCTogSW50Q2FtZXJhUGFyYW1ldGVyKHNldFN0cmluZywgZ2V0U3RyaW5nLCByZXF1aXJlc1Jlc3RhcnQpDQotew0KLQltX2VudW1WYWx1ZXMgPSBjaG9pY2VzOw0KLQltX251bUNob2ljZXMgPSBudW1DaG9pY2VzOw0KLX0NCi0NCi0vKg0KLSAqIENoZWNrIGlmIGFuIGVudW1lcmF0aW9uIGNhbWVyYSBwYXJhbWV0ZXIgaGFzIGNoYW5nZWQuDQotICogQ2hlY2sgaWYgdGhlIHBhcmFtZXRlciBoYXMgY2hhbmdlZCBhbmQgdXBkYXRlIHRoZSBjYW1lcmEgaWYgaXQgaGFzLiBUaGlzIGlzIGNhbGxlZA0KLSAqIGZyb20gYSBsb29wIGluIHRoZSBwYXJhbWV0ZXIgY2hlY2tlciB0YXNrLg0KLSAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGNhbWVyYSBuZWVkcyB0byByZXN0YXJ0DQotICovDQotYm9vbCBFbnVtQ2FtZXJhUGFyYW1ldGVyOjpDaGVja0NoYW5nZWQoYm9vbCAmY2hhbmdlZCwgY2hhciAqcGFyYW0pDQotew0KLQljaGFuZ2VkID0gbV9jaGFuZ2VkOw0KLQlpZiAobV9jaGFuZ2VkKQ0KLQl7DQotCQltX2NoYW5nZWQgPSBmYWxzZTsNCi0JCXNwcmludGYocGFyYW0sIG1fc2V0U3RyaW5nLCBtX2VudW1WYWx1ZXNbbV92YWx1ZV0pOw0KLQkJcmV0dXJuIG1fcmVxdWlyZXNSZXN0YXJ0Ow0KLQl9DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLyoqDQotICogRXh0cmFjdCB0aGUgcGFyYW1ldGVyIHZhbHVlIGZyb20gYSBzdHJpbmcuDQotICogRXh0cmFjdCB0aGUgcGFyYW1ldGVyIHZhbHVlIGZyb20gdGhlIGNhbWVyYSBzdGF0dXMgbWVzc2FnZS4NCi0gKiBAcGFyYW0gc3RyaW5nIFRoZSBzdHJpbmcgcmV0dXJuZWQgZnJvbSB0aGUgY2FtZXJhLg0KLSAqIEBwYXJhbSBsZW5ndGggVGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGZyb20gdGhlIGNhbWVyYS4NCi0gKi8NCi12b2lkIEVudW1DYW1lcmFQYXJhbWV0ZXI6OkdldFBhcmFtRnJvbVN0cmluZyhjb25zdCBjaGFyICpzdHJpbmcsIGludCBzdHJpbmdMZW5ndGgpDQotew0KLQljaGFyIHJlc3VsdFN0cmluZ1s1MF07DQotCWlmIChTZWFyY2hGb3JQYXJhbShtX2dldFN0cmluZywgc3RyaW5nLCBzdHJpbmdMZW5ndGgsIHJlc3VsdFN0cmluZykgPCAwKSByZXR1cm47DQotCWZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1DaG9pY2VzOyBpKyspDQotCXsNCi0JCWlmIChzdHJjbXAocmVzdWx0U3RyaW5nLCBtX2VudW1WYWx1ZXNbaV0pID09IDApDQotCQl7DQotCQkJaWYgKCFtX2NoYW5nZWQpCSAgLy8gZG9uJ3QgY2hhbmdlIHBhcmFtZXRlciB0aGF0J3MgYmVlbiBzZXQgaW4gY29kZQ0KLQkJCXsNCi0JCQkJbV92YWx1ZSA9IGk7DQotCQkJfQ0KLQkJfQ0KLQl9DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vRW51bUNhbWVyYVBhcmFtZXRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjljM2ZkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9FbnVtQ2FtZXJhUGFyYW1ldGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19FTlVNX0NBTUVSQV9QQVJBTUVURVJfSF9fDQotI2RlZmluZSBfX0VOVU1fQ0FNRVJBX1BBUkFNRVRFUl9IX18NCi0NCi0jaW5jbHVkZSAiSW50Q2FtZXJhUGFyYW1ldGVyLmgiDQotDQotLyoqDQotICogRW51bWVyYXRlZCBjYW1lcmEgcGFyYW1ldGVyLg0KLSAqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIGNhbWVyYSBwYXJhbWV0ZXIgdGhhdCB0YWtlcyBhbiBlbnVtZXJhdGVkIHR5cGUgZm9yIGEgdmFsdWUuDQotICovDQotY2xhc3MgRW51bUNhbWVyYVBhcmFtZXRlcjogcHVibGljIEludENhbWVyYVBhcmFtZXRlcg0KLXsNCi1wcml2YXRlOg0KLQljb25zdCBjaGFyICpjb25zdCptX2VudW1WYWx1ZXM7DQotCWludCBtX251bUNob2ljZXM7DQotDQotcHVibGljOg0KLQlFbnVtQ2FtZXJhUGFyYW1ldGVyKGNvbnN0IGNoYXIgKnNldFN0cmluZywgY29uc3QgY2hhciAqZ2V0U3RyaW5nLCBib29sIHJlcXVpcmVzUmVzdGFydCwgY29uc3QgY2hhciAqY29uc3QqY2hvaWNlcywgaW50IG51bUNob2ljZXMpOw0KLQl2aXJ0dWFsIGJvb2wgQ2hlY2tDaGFuZ2VkKGJvb2wgJmNoYW5nZWQsIGNoYXIgKnBhcmFtKTsNCi0JdmlydHVhbCB2b2lkIEdldFBhcmFtRnJvbVN0cmluZyhjb25zdCBjaGFyICpzdHJpbmcsIGludCBzdHJpbmdMZW5ndGgpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0hTTEltYWdlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9IU0xJbWFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3MGJjZjAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0hTTEltYWdlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkhTTEltYWdlLmgiDQotDQotLyoqDQotICogQ3JlYXRlIGEgbmV3IGltYWdlIHRoYXQgdXNlcyB0aGUgSHVlLCBTYXR1cmF0aW9uLCBhbmQgTHVtaW5hbmNlIHBsYW5lcy4NCi0gKi8NCi1IU0xJbWFnZTo6SFNMSW1hZ2UoKSA6IENvbG9ySW1hZ2UoSU1BUV9JTUFHRV9IU0wpDQotew0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgaW1hZ2UgYnkgbG9hZGluZyBhIGZpbGUuDQotICogQHBhcmFtIGZpbGVOYW1lIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGxvYWQuDQotICovDQotSFNMSW1hZ2U6OkhTTEltYWdlKGNvbnN0IGNoYXIgKmZpbGVOYW1lKSA6IENvbG9ySW1hZ2UoSU1BUV9JTUFHRV9IU0wpDQotew0KLQlpbnQgc3VjY2VzcyA9IGltYXFSZWFkRmlsZShtX2ltYXFJbWFnZSwgZmlsZU5hbWUsIE5VTEwsIE5VTEwpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgUmVhZEZpbGUgZXJyb3IiKTsNCi19DQotDQotSFNMSW1hZ2U6On5IU0xJbWFnZSgpDQotew0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSFNMSW1hZ2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9IU0xJbWFnZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDUwNjEwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9IU0xJbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fSFNMX0lNQUdFX0hfXw0KLSNkZWZpbmUgX19IU0xfSU1BR0VfSF9fDQotDQotI2luY2x1ZGUgIkNvbG9ySW1hZ2UuaCINCi0NCi0vKioNCi0gKiBBIGNvbG9yIGltYWdlIHJlcHJlc2VudGVkIGluIEhTTCBjb2xvciBzcGFjZSBhdCAzIGJ5dGVzIHBlciBwaXhlbC4NCi0gKi8NCi1jbGFzcyBIU0xJbWFnZSA6IHB1YmxpYyBDb2xvckltYWdlDQotew0KLXB1YmxpYzoNCi0gICAgSFNMSW1hZ2UoKTsNCi0gICAgSFNMSW1hZ2UoY29uc3QgY2hhciAqZmlsZU5hbWUpOw0KLSAgICB2aXJ0dWFsIH5IU0xJbWFnZSgpOw0KLX07DQotDQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0ltYWdlQmFzZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhhMjcyMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIkltYWdlQmFzZS5oIg0KLSNpbmNsdWRlICJuaXZpc2lvbi5oIg0KLQ0KLS8qKiBQcml2YXRlIE5JIGZ1bmN0aW9uIG5lZWRlZCB0byB3cml0ZSB0byB0aGUgVnhXb3JrcyB0YXJnZXQgKi8NCi1JTUFRX0ZVTkMgaW50IFByaXZfU2V0V3JpdGVGaWxlQWxsb3dlZChVSU5UMzIgZW5hYmxlKTsgDQotDQotLyoqDQotICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGFuIEltYWdlQmFzZS4NCi0gKiBJbWFnZWJhc2UgaXMgdGhlIGJhc2Ugb2YgYWxsIHRoZSBvdGhlciBpbWFnZSBjbGFzc2VzLiBUaGUgY29uc3RydWN0b3INCi0gKiBjcmVhdGVzIGFueSB0eXBlIG9mIGltYWdlIGFuZCBzdG9yZXMgdGhlIHBvaW50ZXIgdG8gaXQgaW4gdGhlIGNsYXNzLg0KLSAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIGltYWdlIHRvIGNyZWF0ZQ0KLSAqLw0KLUltYWdlQmFzZTo6SW1hZ2VCYXNlKEltYWdlVHlwZSB0eXBlKQ0KLXsNCi0JbV9pbWFxSW1hZ2UgPSBpbWFxQ3JlYXRlSW1hZ2UodHlwZSwgREVGQVVMVF9CT1JERVJfU0laRSk7DQotfQ0KLQ0KLS8qKg0KLSAqIEZyZWVzIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggYW4gSW1hZ2VCYXNlLg0KLSAqIERlc3RydWN0b3IgZnJlZXMgdGhlIGltYXEgaW1hZ2UgYWxsb2NhdGVkIHdpdGggdGhlIGNsYXNzLg0KLSAqLw0KLUltYWdlQmFzZTo6fkltYWdlQmFzZSgpDQotew0KLQlpZihtX2ltYXFJbWFnZSkNCi0JCWltYXFEaXNwb3NlKG1faW1hcUltYWdlKTsNCi19DQotDQotLyoqDQotICogV3JpdGVzIGFuIGltYWdlIHRvIGEgZmlsZSB3aXRoIHRoZSBnaXZlbiBmaWxlbmFtZS4NCi0gKiBXcml0ZSB0aGUgaW1hZ2UgdG8gYSBmaWxlIGluIHRoZSBmbGFzaCBvbiB0aGUgY1JJTy4NCi0gKiBAcGFyYW0gZmlsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gd3JpdGUNCi0gKi8NCi12b2lkIEltYWdlQmFzZTo6V3JpdGUoY29uc3QgY2hhciAqZmlsZU5hbWUpDQotew0KLQlQcml2X1NldFdyaXRlRmlsZUFsbG93ZWQoMSk7DQotCWludCBzdWNjZXNzID0gaW1hcVdyaXRlRmlsZShtX2ltYXFJbWFnZSwgZmlsZU5hbWUsIE5VTEwpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgSW1hZ2Ugd3JpdGVGaWxlIGVycm9yIik7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldHMgdGhlIGhlaWdodCBvZiBhbiBpbWFnZS4NCi0gKiBAcmV0dXJuIFRoZSBoZWlnaHQgb2YgdGhlIGltYWdlIGluIHBpeGVscy4NCi0gKi8NCi1pbnQgSW1hZ2VCYXNlOjpHZXRIZWlnaHQoKQ0KLXsNCi0JaW50IGhlaWdodDsNCi0JaW1hcUdldEltYWdlU2l6ZShtX2ltYXFJbWFnZSwgTlVMTCwgJmhlaWdodCk7DQotCXJldHVybiBoZWlnaHQ7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldHMgdGhlIHdpZHRoIG9mIGFuIGltYWdlLg0KLSAqIEByZXR1cm4gVGhlIHdpZHRoIG9mIHRoZSBpbWFnZSBpbiBwaXhlbHMuDQotICovDQotaW50IEltYWdlQmFzZTo6R2V0V2lkdGgoKQ0KLXsNCi0JaW50IHdpZHRoOw0KLQlpbWFxR2V0SW1hZ2VTaXplKG1faW1hcUltYWdlLCAmd2lkdGgsIE5VTEwpOw0KLQlyZXR1cm4gd2lkdGg7DQotfQ0KLQ0KLS8qKg0KLSAqIEFjY2VzcyB0aGUgaW50ZXJuYWwgSU1BUSBJbWFnZSBkYXRhIHN0cnVjdHVyZS4NCi0gKiANCi0gKiBAcmV0dXJuIEEgcG9pbnRlciB0byB0aGUgaW50ZXJuYWwgSU1BUSBJbWFnZSBkYXRhIHN0cnVjdHVyZS4NCi0gKi8NCi1JbWFnZSAqSW1hZ2VCYXNlOjpHZXRJbWFxSW1hZ2UoKQ0KLXsNCi0JcmV0dXJuIG1faW1hcUltYWdlOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSW1hZ2VCYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4YmVhNjcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0ltYWdlQmFzZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fSU1BR0VfQkFTRV9IX18NCi0jZGVmaW5lIF9fSU1BR0VfQkFTRV9IX18NCi0NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSAibml2aXNpb24uaCINCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotDQotI2RlZmluZSBERUZBVUxUX0JPUkRFUl9TSVpFIDMNCi0NCi1jbGFzcyBJbWFnZUJhc2UgOiBwdWJsaWMgRXJyb3JCYXNlDQotew0KLXB1YmxpYzoNCi0JSW1hZ2VCYXNlKEltYWdlVHlwZSB0eXBlKTsNCi0JdmlydHVhbCB+SW1hZ2VCYXNlKCk7DQotCXZpcnR1YWwgdm9pZCBXcml0ZShjb25zdCBjaGFyICpmaWxlTmFtZSk7DQotCWludCBHZXRIZWlnaHQoKTsNCi0JaW50IEdldFdpZHRoKCk7DQotCUltYWdlICpHZXRJbWFxSW1hZ2UoKTsNCi1wcm90ZWN0ZWQ6DQotCUltYWdlICptX2ltYXFJbWFnZTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0ludENhbWVyYVBhcmFtZXRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3OWVmOWMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL0ludENhbWVyYVBhcmFtZXRlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiSW50Q2FtZXJhUGFyYW1ldGVyLmgiDQotI2luY2x1ZGUgInBjcmUuaCINCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0jaW5jbHVkZSA8c3RyaW5nLmg+DQotDQotLyoqDQotICogQ29uc3RydWN0b3IgZm9yIGFuIGludGVnZXIgY2FtZXJhIHBhcmFtZXRlci4NCi0gKiBAcGFyYW0gc2V0U3RyaW5nIFRoZSBzdHJpbmcgdG8gc2V0IGEgdmFsdWUgaW4gdGhlIEhUVFAgcmVxdWVzdA0KLSAqIEBwYXJhbSBnZXRTdHJpbmcgVGhlIHN0cmluZyB0byByZXRyaWV2ZSBhIHZhbHVlIGluIHRoZSBIVFRQIHJlcXVlc3QNCi0gKi8NCi1JbnRDYW1lcmFQYXJhbWV0ZXI6OkludENhbWVyYVBhcmFtZXRlcihjb25zdCBjaGFyICpzZXRTdHJpbmcsIGNvbnN0IGNoYXIgKmdldFN0cmluZywgYm9vbCByZXF1aXJlc1Jlc3RhcnQpDQotew0KLQltX2NoYW5nZWQgPSBmYWxzZTsNCi0JbV92YWx1ZSA9IDA7DQotCW1fc2V0U3RyaW5nID0gc2V0U3RyaW5nOw0KLQltX2dldFN0cmluZyA9IGdldFN0cmluZzsNCi0JbV9yZXF1aXJlc1Jlc3RhcnQgPSByZXF1aXJlc1Jlc3RhcnQ7DQotfQ0KLQ0KLS8qKg0KLSAqIEdldCBhIHZhbHVlIGZvciBhIGNhbWVyYSBwYXJhbWV0ZXIuDQotICogQHJldHVybnMgVGhlIGNhbWVyYSBwYXJhbWV0ZXIgY2FjaGVkIHZhbHVlZC4NCi0gKi8NCi1pbnQgSW50Q2FtZXJhUGFyYW1ldGVyOjpHZXRWYWx1ZSgpDQotew0KLQlyZXR1cm4gbV92YWx1ZTsNCi19DQotDQotLyoqDQotICogU2V0IGEgdmFsdWUgZm9yIGEgY2FtZXJhIHBhcmFtZXRlci4NCi0gKiBNYXJrIHRoZSB2YWx1ZSBmb3IgY2hhbmdlLiBUaGUgdmFsdWUgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBwYXJhbWV0ZXINCi0gKiBjaGFuZ2UgbG9vcC4NCi0gKi8NCi12b2lkIEludENhbWVyYVBhcmFtZXRlcjo6U2V0VmFsdWUoaW50IHZhbHVlKQ0KLXsNCi0JbV92YWx1ZSA9IHZhbHVlOw0KLQltX2NoYW5nZWQgPSB0cnVlOw0KLX0NCi0NCi0vKioNCi0gKiBDaGVjayBpZiBhIHBhcmFtZXRlciBoYXMgY2hhbmdlZCBhbmQgdXBkYXRlLg0KLSAqIENoZWNrIGlmIGEgcGFyYW1ldGVyIGhhcyBjaGFuZ2VkIGFuZCBzZW5kIHRoZSB1cGRhdGUgc3RyaW5nIGlmIGl0DQotICogaGFzIGNoYW5nZWQuIFRoaXMgaXMgY2FsbGVkIGZyb20gdGhlIGxvb3AgaW4gdGhlIHBhcmFtZXRlciB0YXNrIGxvb3AuDQotICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgY2FtZXJhIG5lZWRzIHRvIHJlc3RhcnQNCi0gKi8NCi1ib29sIEludENhbWVyYVBhcmFtZXRlcjo6Q2hlY2tDaGFuZ2VkKGJvb2wgJmNoYW5nZWQsIGNoYXIgKnBhcmFtKQ0KLXsNCi0JY2hhbmdlZCA9IG1fY2hhbmdlZDsNCi0JaWYgKG1fY2hhbmdlZCkNCi0Jew0KLQkJc3ByaW50ZihwYXJhbSwgbV9zZXRTdHJpbmcsIG1fdmFsdWUpOw0KLQkJbV9jaGFuZ2VkID0gZmFsc2U7DQotCQlyZXR1cm4gbV9yZXF1aXJlc1Jlc3RhcnQ7DQotCX0NCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi0vKioNCi0gKiBHZXQgYSBwYXJhbWV0ZXIgdmFsdWUgZnJvbSB0aGUgc3RyaW5nLg0KLSAqIEdldCBhIHBhcmFtZXRlciB2YWx1ZSBmcm9tIHRoZSBjYW1lcmEgc3RhdHVzIHN0cmluZy4gSWYgaXQgaGFzIGJlZW4gY2hhbmdlZA0KLSAqIGJlZW4gY2hhbmdlZCBieSB0aGUgcHJvZ3JhbSwgdGhlbiBkb24ndCB1cGRhdGUgaXQuIFByb2dyYW0gdmFsdWVzIGhhdmUNCi0gKiBwcmVjZWRlbmNlIG92ZXIgdGhvc2Ugd3JpdHRlbiBpbiB0aGUgY2FtZXJhLg0KLSAqLw0KLXZvaWQgSW50Q2FtZXJhUGFyYW1ldGVyOjpHZXRQYXJhbUZyb21TdHJpbmcoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgc3RyaW5nTGVuZ3RoKQ0KLXsNCi0JY2hhciByZXN1bHRTdHJpbmdbMTUwXTsNCi0JaWYgKFNlYXJjaEZvclBhcmFtKG1fZ2V0U3RyaW5nLCBzdHJpbmcsIHN0cmluZ0xlbmd0aCwgcmVzdWx0U3RyaW5nKSA+PSAwKQ0KLQl7CQ0KLQkJaWYgKCFtX2NoYW5nZWQpIG1fdmFsdWUgPSBhdG9pKHJlc3VsdFN0cmluZyk7DQotCX0NCi19DQotDQotLyoqDQotICogQHBhcmFtIHBhdHRlcm46IHRoZSByZWd1bGFyIGV4cHJlc3Npb24NCi0gKiBAcGFyYW0gc2VhcmNoU3RyaW5nIHRoZSB0ZXh0IHRvIHNlYXJjaA0KLSAqIEBwYXJhbSBzZWFyY2hTdHJpbmdMZW4gdGhlIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcNCi0gKiBAcGFyYW0gcmVzdWx0IGJ1ZmZlciB0byBwdXQgcmVzdWx0aW5nIHRleHQgaW50bywgbXVzdCBiZSBwcmUtYWxsb2NhdGVkDQotICovDQotaW50IEludENhbWVyYVBhcmFtZXRlcjo6U2VhcmNoRm9yUGFyYW0oY29uc3QgY2hhciAqcGF0dGVybiwgY29uc3QgY2hhciAqc2VhcmNoU3RyaW5nLCBpbnQgc2VhcmNoU3RyaW5nTGVuLCBjaGFyICpyZXN1bHQpDQotew0KLQlpbnQgdmVjdG9yTGVuID0gMTA7DQotCWludCByZXN1bHRWZWN0b3JbdmVjdG9yTGVuXTsNCi0JY29uc3QgY2hhciAqZXJyb3I7DQotCWludCBlcnJvZmZzZXQ7DQotCXBjcmUgKmNvbXBpbGVkUGF0dGVybiA9IHBjcmVfY29tcGlsZSgNCi0JCQlwYXR0ZXJuLCAvLyJyb290LkltYWdlLkkwLkFwcGVhcmFuY2UuUmVzb2x1dGlvbj0oLiopIiwgDQotCQkJUENSRV9DQVNFTEVTUywgDQotCQkJJmVycm9yLCAvLyBmb3IgZXJyb3IgbWVzc2FnZSANCi0JCQkmZXJyb2Zmc2V0LCAvLyBmb3IgZXJyb3Igb2Zmc2V0IA0KLQkJCU5VTEwpOyAvLyB1c2UgZGVmYXVsdCBjaGFyYWN0ZXIgdGFibGVzIA0KLQlpbnQgcmM7DQotCXJjID0gcGNyZV9leGVjKGNvbXBpbGVkUGF0dGVybiwgDQotCQkJCQlOVUxMLCANCi0JCQkJCXNlYXJjaFN0cmluZywgDQotCQkJCQlzZWFyY2hTdHJpbmdMZW4sIA0KLQkJCQkJMCwgDQotCQkJCQkwLCANCi0JCQkJCXJlc3VsdFZlY3RvciwJCS8vbG9jYXRpb25zIG9mIHN1Ym1hdGNoZXMgDQotCQkJCQl2ZWN0b3JMZW4pOwkJCS8vc2l6ZSBvZiBvdmVjdG9yDQotCWludCBsZW5ndGggPSByZXN1bHRWZWN0b3JbM10gLSByZXN1bHRWZWN0b3JbMl07DQotCW1lbWNweShyZXN1bHQsICZzZWFyY2hTdHJpbmdbcmVzdWx0VmVjdG9yWzJdXSwgbGVuZ3RoKTsNCi0JcmVzdWx0W2xlbmd0aF0gPSAnXDAnOw0KLQlyZXR1cm4gcmM7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9JbnRDYW1lcmFQYXJhbWV0ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIyZGRjNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vSW50Q2FtZXJhUGFyYW1ldGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19JTlRfQ0FNRVJBX1BBUkFNRVRFUl9IX18NCi0jZGVmaW5lIF9fSU5UX0NBTUVSQV9QQVJBTUVURVJfSF9fDQotDQotI2luY2x1ZGUgPHZ4V29ya3MuaD4NCi0NCi0vKioNCi0gKiBJbnRlZ2VyIGNhbWVyYSBwYXJhbWV0ZXIuDQotICogVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgY2FtZXJhIHBhcmFtZXRlciB0aGF0IHRha2VzIGFuIGludGVnZXIgdmFsdWUuDQotICovDQotY2xhc3MgSW50Q2FtZXJhUGFyYW1ldGVyDQotew0KLXByb3RlY3RlZDoNCi0JY29uc3QgY2hhciAqbV9zZXRTdHJpbmc7DQotCWNvbnN0IGNoYXIgKm1fZ2V0U3RyaW5nOw0KLQlib29sIG1fY2hhbmdlZDsNCi0JYm9vbCBtX3JlcXVpcmVzUmVzdGFydDsNCi0JaW50IG1fdmFsdWU7CQkJLy8gcGFyYW1ldGVyIHZhbHVlDQotDQotCWludCBTZWFyY2hGb3JQYXJhbShjb25zdCBjaGFyICpwYXR0ZXJuLCBjb25zdCBjaGFyICpzZWFyY2hTdHJpbmcsIGludCBzZWFyY2hTdHJpbmdMZW4sIGNoYXIgKnJlc3VsdCk7DQotDQotcHVibGljOg0KLQlJbnRDYW1lcmFQYXJhbWV0ZXIoY29uc3QgY2hhciAqc2V0U3RyaW5nLCBjb25zdCBjaGFyICpnZXRTdHJpbmcsIGJvb2wgcmVxdWlyZXNSZXN0YXJ0KTsNCi0JaW50IEdldFZhbHVlKCk7DQotCXZvaWQgU2V0VmFsdWUoaW50IHZhbHVlKTsNCi0JdmlydHVhbCBib29sIENoZWNrQ2hhbmdlZChib29sICZjaGFuZ2VkLCBjaGFyICpwYXJhbSk7DQotCXZpcnR1YWwgdm9pZCBHZXRQYXJhbUZyb21TdHJpbmcoY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgc3RyaW5nTGVuZ3RoKTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9Nb25vSW1hZ2UuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL01vbm9JbWFnZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkYWFlZDEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL01vbm9JbWFnZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJNb25vSW1hZ2UuaCINCi0jaW5jbHVkZSAibml2aXNpb24uaCINCi0NCi1Nb25vSW1hZ2U6Ok1vbm9JbWFnZSgpIDogSW1hZ2VCYXNlKElNQVFfSU1BR0VfVTgpDQotew0KLX0NCi0NCi1Nb25vSW1hZ2U6On5Nb25vSW1hZ2UoKQ0KLXsNCi19DQotDQotLyoqDQotICogTG9vayBmb3IgZWxsaXBzZXMgaW4gYW4gaW1hZ2UuDQotICogR2l2ZW4gc29tZSBpbnB1dCBwYXJhbWV0ZXJzLCBsb29rIGZvciBhbnkgbnVtYmVyIG9mIGVsbGlwc2VzIGluIGFuIGltYWdlLg0KLSAqIEBwYXJhbSBlbGxpcHNlRGVzY3JpcHRvciBFbGxpcHNlIGRlc2NyaXB0b3INCi0gKiBAcGFyYW0gY3VydmVPcHRpb25zIEN1cnZlIG9wdGlvbnMNCi0gKiBAcGFyYW0gc2hhcGVEZXRlY3Rpb25PcHRpb25zIFNoYXBlIGRldGVjdGlvbiBvcHRpb25zDQotICogQHBhcmFtIHJvaSBSZWdpb24gb2YgSW50ZXJlc3QNCi0gKiBAcmV0dXJucyBhIHZlY3RvciBvZiBFbGxpcHNlTWF0Y2ggc3RydWN0dXJlcyAoMCBsZW5ndGggdmVjdG9yIG9uIG5vIG1hdGNoKQ0KLSAqLw0KLXZlY3RvcjxFbGxpcHNlTWF0Y2g+ICogTW9ub0ltYWdlOjpEZXRlY3RFbGxpcHNlcygNCi0JCUVsbGlwc2VEZXNjcmlwdG9yICplbGxpcHNlRGVzY3JpcHRvciwgQ3VydmVPcHRpb25zICpjdXJ2ZU9wdGlvbnMsDQotCQlTaGFwZURldGVjdGlvbk9wdGlvbnMgKnNoYXBlRGV0ZWN0aW9uT3B0aW9ucywgUk9JICpyb2kpDQotew0KLQlpbnQgbnVtYmVyT2ZNYXRjaGVzOw0KLQlFbGxpcHNlTWF0Y2ggKmUgPSBpbWFxRGV0ZWN0RWxsaXBzZXMobV9pbWFxSW1hZ2UsIGVsbGlwc2VEZXNjcmlwdG9yLA0KLQkJCQkJCQkJCQljdXJ2ZU9wdGlvbnMsIHNoYXBlRGV0ZWN0aW9uT3B0aW9ucywgcm9pLCAmbnVtYmVyT2ZNYXRjaGVzKTsNCi0JdmVjdG9yPEVsbGlwc2VNYXRjaD4gKmVsbGlwc2VzID0gbmV3IHZlY3RvcjxFbGxpcHNlTWF0Y2g+Ow0KLQlpZiAoZSA9PSBOVUxMKQ0KLQl7DQotCQlyZXR1cm4gZWxsaXBzZXM7DQotCX0NCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBudW1iZXJPZk1hdGNoZXM7IGkrKykNCi0Jew0KLQkJZWxsaXBzZXMtPnB1c2hfYmFjayhlW2ldKTsNCi0JfQ0KLQlpbWFxRGlzcG9zZShlKTsNCi0JcmV0dXJuIGVsbGlwc2VzOw0KLX0NCi0NCi12ZWN0b3I8RWxsaXBzZU1hdGNoPiAqIE1vbm9JbWFnZTo6RGV0ZWN0RWxsaXBzZXMoDQotCQlFbGxpcHNlRGVzY3JpcHRvciAqZWxsaXBzZURlc2NyaXB0b3IpDQotew0KLQl2ZWN0b3I8RWxsaXBzZU1hdGNoPiAqZWxsaXBzZXMgPSBEZXRlY3RFbGxpcHNlcyhlbGxpcHNlRGVzY3JpcHRvciwgTlVMTCwNCi0JCQlOVUxMLCBOVUxMKTsNCi0JcmV0dXJuIGVsbGlwc2VzOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vTW9ub0ltYWdlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vTW9ub0ltYWdlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MWRkNmMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL01vbm9JbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fTU9OT19JTUFHRV9IX18NCi0jZGVmaW5lIF9fTU9OT19JTUFHRV9IX18NCi0NCi0jaW5jbHVkZSAiSW1hZ2VCYXNlLmgiDQotDQotI2luY2x1ZGUgPHZlY3Rvcj4NCi0NCi11c2luZyBuYW1lc3BhY2Ugc3RkOw0KLQ0KLWNsYXNzIE1vbm9JbWFnZSA6IHB1YmxpYyBJbWFnZUJhc2UNCi17DQotcHVibGljOg0KLQlNb25vSW1hZ2UoKTsNCi0JdmlydHVhbCB+TW9ub0ltYWdlKCk7DQotDQotCXZlY3RvcjxFbGxpcHNlTWF0Y2g+ICogRGV0ZWN0RWxsaXBzZXMoRWxsaXBzZURlc2NyaXB0b3IgKmVsbGlwc2VEZXNjcmlwdG9yLA0KLQkJCQkJQ3VydmVPcHRpb25zICpjdXJ2ZU9wdGlvbnMsDQotCQkJCQlTaGFwZURldGVjdGlvbk9wdGlvbnMgKnNoYXBlRGV0ZWN0aW9uT3B0aW9ucywNCi0JCQkJCVJPSSAqcm9pKTsNCi0JdmVjdG9yPEVsbGlwc2VNYXRjaD4gKiBEZXRlY3RFbGxpcHNlcyhFbGxpcHNlRGVzY3JpcHRvciAqZWxsaXBzZURlc2NyaXB0b3IpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1BDVmlkZW9TZXJ2ZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1BDVmlkZW9TZXJ2ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMjIxMjhkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9QQ1ZpZGVvU2VydmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI4MSArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlIDx2eFdvcmtzLmg+DQotDQotI2luY2x1ZGUgIlBDVmlkZW9TZXJ2ZXIuaCINCi0NCi0jaW5jbHVkZSA8ZXJybm9MaWIuaD4NCi0jaW5jbHVkZSA8aG9zdExpYi5oPg0KLSNpbmNsdWRlIDxpbmV0TGliLmg+DQotI2luY2x1ZGUgPHNvY2tMaWIuaD4NCi0NCi0jaW5jbHVkZSAiTmV0d29ya0NvbW11bmljYXRpb24vVXNhZ2VSZXBvcnRpbmcuaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJWaXNpb24vQXhpc0NhbWVyYS5oIg0KLSNpbmNsdWRlICJXUElFcnJvcnMuaCINCi0NCi0vKioNCi0gKiBAYnJpZWYgSW1wbGVtZW50cyBhbiBvYmplY3QgdGhhdCBhdXRvbWF0aWNhbGx5IGRvZXMgYSBjbG9zZSBvbiBhDQotICogY2FtZXJhIHNvY2tldCBvbiBkZXN0cnVjdGlvbi4NCi0gKi8NCi1jbGFzcyBTY29wZWRTb2NrZXQgew0KLXB1YmxpYzoNCi0JU2NvcGVkU29ja2V0KGludCBjYW1Tb2NrKQ0KLQkJOiBtX2NhbVNvY2soY2FtU29jaykNCi0Jew0KLQl9DQotDQotCX5TY29wZWRTb2NrZXQoKSB7DQotCQlpZiAobV9jYW1Tb2NrICE9IEVSUk9SKSB7DQotCQkJY2xvc2UobV9jYW1Tb2NrKTsNCi0JCX0NCi0JfQ0KLQkvLyBDYXN0IHRvIGludCBhbGxvd3MgeW91IHRvIHBhc3MgdGhpcyB0byBhbnkgZnVuY3Rpb24gdGhhdA0KLQkvLyB0YWtlcyB0aGUgc29ja2V0IGFzIGFuIGludC4NCi0Jb3BlcmF0b3IgaW50KCkgY29uc3Qgew0KLQkJcmV0dXJuIG1fY2FtU29jazsNCi0JfQ0KLQ0KLXByaXZhdGU6DQotCWludCBtX2NhbVNvY2s7DQotfTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyBQQ1ZpZGVvU2VydmVyDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotDQotLyoqDQotICogQGJyaWVmIENvbnN0cnVjdG9yLg0KLSAqLw0KLVBDVmlkZW9TZXJ2ZXI6OlBDVmlkZW9TZXJ2ZXIoKQ0KLQk6IG1fc2VydmVyVGFzaygiUENWaWRlb1NlcnZlciIsIChGVU5DUFRSKXNfU2VydmVyVGFzaykNCi0JLCBtX25ld0ltYWdlU2VtIChOVUxMKQ0KLQksIG1fc3RvcFNlcnZlciAoZmFsc2UpDQotew0KLQlBeGlzQ2FtZXJhICZjYW0gPSBBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZSgpOw0KLQltX25ld0ltYWdlU2VtID0gY2FtLkdldE5ld0ltYWdlU2VtKCk7DQotCWlmICghY2FtLlN0YXR1c0lzRmF0YWwoKSkNCi0Jew0KLQkJU3RhcnRTZXJ2ZXJUYXNrKCk7DQotCX0NCi0JZWxzZQ0KLQl7DQotCQlDbG9uZUVycm9yKCZjYW0pOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBEZXN0cnVjdG9yLg0KLSAqIFN0b3Agc2VydmluZyBpbWFnZXMgYW5kIGRlc3Ryb3kgdGhpcyBjbGFzcy4NCi0gKi8NCi1QQ1ZpZGVvU2VydmVyOjp+UENWaWRlb1NlcnZlcigpDQotew0KLQkvLyBTdG9wIHRoZSBpbWFnZXMgdG8gUEMgc2VydmVyLg0KLQlTdG9wKCk7DQotCS8vIENsZWFyIHRoZSBlcnJvciBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgb2JqZWN0IHRvIG1ha2UgYSBjb25uZWN0aW9uIHRvDQotCS8vIHRoZSBWSURFT19UT19QQ19QT1JUIHRvIHN0b3AgdGhlIEltYWdlVG9QQ1NlcnZlciBpZiBpdCBpcyB3YWl0aW5nIHRvDQotCS8vIGFjY2VwdCBjb25uZWN0aW9ucyBmcm9tIGEgUEMuDQotCUNsZWFyRXJyb3IoKTsNCi0JLy8gT3BlbiBhIHNvY2tldC4NCi0JaW50IGNhbVNvY2sgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIDApOw0KLQlpZiAoY2FtU29jayA9PSBFUlJPUikNCi0Jew0KLQkJd3BpX3NldEVycm5vRXJyb3IoKTsNCi0JCXJldHVybjsNCi0JfQ0KLQlTY29wZWRTb2NrZXQgc2NvcGVkQ2FtU29jayhjYW1Tb2NrKTsNCi0JLy8gSWYgc3VjY2Vzc2Z1bA0KLQlpZiAoIVN0YXR1c0lzRmF0YWwoKSkNCi0Jew0KLQkJLy8gIENyZWF0ZSBhIGNvbm5lY3Rpb24gdG8gdGhlIGxvY2FsaG9zdC4NCi0JCXN0cnVjdCBzb2NrYWRkcl9pbiBzZWxmQWRkcjsNCi0JCWludCBzb2NrQWRkclNpemUgPSBzaXplb2Yoc2VsZkFkZHIpOw0KLQkJYnplcm8gKChjaGFyICopICZzZWxmQWRkciwgc29ja0FkZHJTaXplKTsNCi0JCXNlbGZBZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KLQkJc2VsZkFkZHIuc2luX2xlbiA9ICh1X2NoYXIpIHNvY2tBZGRyU2l6ZTsNCi0JCXNlbGZBZGRyLnNpbl9wb3J0ID0gaHRvbnMgKFZJREVPX1RPX1BDX1BPUlQpOw0KLQ0KLQkJaWYgKCggKGludCkoc2VsZkFkZHIuc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyIChjb25zdF9jYXN0PGNoYXIqPigibG9jYWxob3N0IikpICkgIT0gRVJST1IpIHx8DQotCQkJKCAoaW50KShzZWxmQWRkci5zaW5fYWRkci5zX2FkZHIgPSBob3N0R2V0QnlOYW1lIChjb25zdF9jYXN0PGNoYXIqPigibG9jYWxob3N0IikpICkgIT0gRVJST1IpKQ0KLQkJew0KLQkJCXN0cnVjdCB0aW1ldmFsIGNvbm5lY3RUaW1lb3V0Ow0KLQkJCWNvbm5lY3RUaW1lb3V0LnR2X3NlYyA9IDE7DQotCQkJY29ubmVjdFRpbWVvdXQudHZfdXNlYyA9IDA7DQotCQkJY29ubmVjdFdpdGhUaW1lb3V0KGNhbVNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNlbGZBZGRyLCBzb2NrQWRkclNpemUsICZjb25uZWN0VGltZW91dCk7DQotCQl9DQotCX0NCi19DQotDQotLyoqDQotICogU3RhcnQgdGhlIHRhc2sgdGhhdCBpcyByZXNwb25zaWJsZSBmb3Igc2VuZGluZyBpbWFnZXMgdG8gdGhlIFBDLg0KLSAqLw0KLWludCBQQ1ZpZGVvU2VydmVyOjpTdGFydFNlcnZlclRhc2soKQ0KLXsNCi0JaWYgKFN0YXR1c0lzRmF0YWwoKSkNCi0Jew0KLQkJcmV0dXJuIC0xOw0KLQl9DQotCWludCBpZCA9IDA7DQotCW1fc3RvcFNlcnZlciA9IGZhbHNlOw0KLQkvLyBDaGVjayBmb3IgcHJpb3IgY29weSBvZiBydW5uaW5nIHRhc2sNCi0JaW50IG9sZElkID0gdGFza05hbWVUb0lkKChjaGFyKiltX3NlcnZlclRhc2suR2V0TmFtZSgpKTsNCi0JaWYob2xkSWQgIT0gRVJST1IpDQotCXsNCi0JCS8vIFRPRE86IFJlcG9ydCBlcnJvci4gWW91IGFyZSBpbiBhIGJhZCBzdGF0ZS4NCi0JCXRhc2tEZWxldGUob2xkSWQpOw0KLQl9DQotDQotCS8vIHNwYXduIHZpZGVvIHNlcnZlciB0YXNrDQotCS8vIHRoaXMgaXMgZG9uZSB0byBlbnN1cmUgdGhhdCB0aGUgdGFzayBpcyBzcGF3bmVkIHdpdGggdGhlDQotCS8vIGZsb2F0aW5nIHBvaW50IGNvbnRleHQgc2F2ZSBwYXJhbWV0ZXIuDQotCWJvb2wgc3RhcnRlZCA9IG1fc2VydmVyVGFzay5TdGFydCgoaW50KXRoaXMpOw0KLQ0KLQlpZCA9IG1fc2VydmVyVGFzay5HZXRJRCgpOw0KLQ0KLQlpZiAoIXN0YXJ0ZWQpDQotCXsNCi0JCXdwaV9zZXRXUElFcnJvcihUYXNrRXJyb3IpOw0KLQkJcmV0dXJuIGlkOw0KLQl9DQotCXRhc2tEZWxheSgxKTsNCi0JcmV0dXJuIGlkOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgU3RhcnQgc2VuZGluZyBpbWFnZXMgdG8gdGhlIFBDLg0KLSAqLw0KLXZvaWQgUENWaWRlb1NlcnZlcjo6U3RhcnQoKQ0KLXsNCi0JU3RhcnRTZXJ2ZXJUYXNrKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBTdG9wIHNlbmRpbmcgaW1hZ2VzIHRvIHRoZSBQQy4NCi0gKi8NCi12b2lkIFBDVmlkZW9TZXJ2ZXI6OlN0b3AoKQ0KLXsNCi0JbV9zdG9wU2VydmVyID0gdHJ1ZTsNCi19DQotDQotLyoqDQotICogU3RhdGljIHN0dWIgZm9yIGtpY2tpbmcgb2ZmIHRoZSBzZXJ2ZXIgdGFzaw0KLSAqLw0KLWludCBQQ1ZpZGVvU2VydmVyOjpzX1NlcnZlclRhc2soUENWaWRlb1NlcnZlciAqdGhpc1B0cikNCi17DQotCXJldHVybiB0aGlzUHRyLT5TZXJ2ZXJUYXNrKCk7DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBJbml0aWFsaXplIHRoZSBzb2NrZXQgYW5kIHNlcnZlIGltYWdlcyB0byB0aGUgUEMuDQotICogVGhpcyBpcyB0aGUgdGFzayB0aGF0IHNlcnZlcyBpbWFnZXMgdG8gdGhlIFBDIGluIGEgbG9vcC4gVGhpcyBydW5zDQotICogYXMgYSBzZXBhcmF0ZSB0YXNrLg0KLSAqLw0KLWludCBQQ1ZpZGVvU2VydmVyOjpTZXJ2ZXJUYXNrKCkNCi17DQotCS8qIFNldHVwIHRvIFBDIHNvY2tldHMgKi8NCi0Jc3RydWN0IHNvY2thZGRyX2luIHNlcnZlckFkZHI7DQotCWludCBzb2NrQWRkclNpemUgPSBzaXplb2Yoc2VydmVyQWRkcik7DQotCWludCBwY1NvY2sgPSBFUlJPUjsNCi0JYnplcm8gKChjaGFyICopICZzZXJ2ZXJBZGRyLCBzb2NrQWRkclNpemUpOw0KLQlzZXJ2ZXJBZGRyLnNpbl9sZW4gPSAodV9jaGFyKSBzb2NrQWRkclNpemU7DQotCXNlcnZlckFkZHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQotCXNlcnZlckFkZHIuc2luX3BvcnQgPSBodG9ucyAoVklERU9fVE9fUENfUE9SVCk7DQotCXNlcnZlckFkZHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwgKElOQUREUl9BTlkpOw0KLQ0KLQlpbnQgc3VjY2VzczsNCi0Jd2hpbGUgKHRydWUpDQotCXsNCi0JCXRhc2tTYWZlKCk7DQotCQkvLyBDcmVhdGUgdGhlIHNvY2tldC4NCi0JCWlmICgocGNTb2NrID0gc29ja2V0IChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCkpID09IEVSUk9SKQ0KLQkJew0KLQkJCXdwaV9zZXRFcnJub0Vycm9yV2l0aENvbnRleHQoIkZhaWxlZCB0byBjcmVhdGUgdGhlIFBDVmlkZW9TZXJ2ZXIgc29ja2V0Iik7DQotCQkJY29udGludWU7DQotCQl9DQotCQkvLyBTZXQgdGhlIFRDUCBzb2NrZXQgc28gdGhhdCBpdCBjYW4gYmUgcmV1c2VkIGlmIGl0IGlzIGluIHRoZSB3YWl0IHN0YXRlLg0KLQkJaW50IHJldXNlQWRkciA9IDE7DQotCQlzZXRzb2Nrb3B0KHBjU29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCByZWludGVycHJldF9jYXN0PGNoYXIqPigmcmV1c2VBZGRyKSwgc2l6ZW9mKHJldXNlQWRkcikpOw0KLQkJLy8gQmluZCBzb2NrZXQgdG8gbG9jYWwgYWRkcmVzcy4NCi0JCWlmIChiaW5kIChwY1NvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJnNlcnZlckFkZHIsIHNvY2tBZGRyU2l6ZSkgPT0gRVJST1IpDQotCQl7DQotCQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIGJpbmQgdGhlIFBDVmlkZW9TZXJ2ZXIgcG9ydCIpOw0KLQkJCWNsb3NlIChwY1NvY2spOw0KLQkJCWNvbnRpbnVlOw0KLQkJfQ0KLQkJLy8gQ3JlYXRlIHF1ZXVlIGZvciBjbGllbnQgY29ubmVjdGlvbiByZXF1ZXN0cy4NCi0JCWlmIChsaXN0ZW4gKHBjU29jaywgMSkgPT0gRVJST1IpDQotCQl7DQotCQkJd3BpX3NldEVycm5vRXJyb3JXaXRoQ29udGV4dCgiRmFpbGVkIHRvIGxpc3RlbiBvbiB0aGUgUENWaWRlb1NlcnZlciBwb3J0Iik7DQotCQkJY2xvc2UgKHBjU29jayk7DQotCQkJY29udGludWU7DQotCQl9DQotDQotCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gY2xpZW50QWRkcjsNCi0JCWludCBjbGllbnRBZGRyU2l6ZTsNCi0JCWludCBuZXdQQ1NvY2sgPSBhY2NlcHQgKHBjU29jaywgcmVpbnRlcnByZXRfY2FzdDxzb2NrYWRkcio+KCZjbGllbnRBZGRyKSwgJmNsaWVudEFkZHJTaXplKTsNCi0JCWlmIChuZXdQQ1NvY2sgID09IEVSUk9SKQ0KLQkJew0KLQkJCWNsb3NlKHBjU29jayk7DQotCQkJY29udGludWU7DQotCQl9DQotCQkvL1RPRE86IGNoZWNrIGNhbWVyYSBlcnJvcg0KLQ0KLQkJLy8gUmVwb3J0IHVzYWdlIHdoZW4gdGhlcmUgaXMgYWN0dWFsbHkgYSBjb25uZWN0aW9uLg0KLQkJblVzYWdlUmVwb3J0aW5nOjpyZXBvcnQoblVzYWdlUmVwb3J0aW5nOjprUmVzb3VyY2VUeXBlX1BDVmlkZW9TZXJ2ZXIsIDApOw0KLQ0KLQkJaW50IG51bUJ5dGVzID0gMDsNCi0JCWludCBpbWFnZURhdGFTaXplID0gMDsNCi0JCWNoYXIqIGltYWdlRGF0YSA9IE5VTEw7DQotDQotCQl3aGlsZSghbV9zdG9wU2VydmVyKQ0KLQkJew0KLQkJCXN1Y2Nlc3MgPSBzZW1UYWtlKG1fbmV3SW1hZ2VTZW0sIDEwMDApOw0KLQkJCWlmIChzdWNjZXNzID09IEVSUk9SKQ0KLQkJCXsNCi0JCQkJLy8gSWYgdGhlIHNlbVRha2UgdGltZWQgb3V0LCB0aGVyZSBhcmUgbm8gbmV3IGltYWdlcyBmcm9tIHRoZSBjYW1lcmEuDQotCQkJCWNvbnRpbnVlOw0KLQkJCX0NCi0JCQlzdWNjZXNzID0gQXhpc0NhbWVyYTo6R2V0SW5zdGFuY2UoKS5Db3B5SlBFRygmaW1hZ2VEYXRhLCBudW1CeXRlcywgaW1hZ2VEYXRhU2l6ZSk7DQotCQkJaWYgKCFzdWNjZXNzKQ0KLQkJCXsNCi0JCQkJLy8gTm8gcG9pbnQgaW4gcnVubmluZyB0b28gZmFzdCAtDQotCQkJCVdhaXQoMS4wKTsNCi0JCQkJLy8gSWYgY2FtZXJhIGlzIG5vdCBpbml0aWFsemVkIHlvdSB3aWxsIGdldCBmYWlsdXJlIGFuZA0KLQkJCQkvLyB0aGUgdGltZXN0YW1wIGlzIGludmFsaWQuIFJlc2V0IHRoaXMgdmFsdWUgYW5kIHRyeSBhZ2Fpbi4NCi0JCQkJY29udGludWU7DQotCQkJfQ0KLQ0KLQkJCS8vIFdyaXRlIGhlYWRlciB0byBQQw0KLQkJCXN0YXRpYyBjb25zdCBjaGFyIGhlYWRlcls0XT17MSwwLDAsMH07DQotCQkJaW50IGhlYWRlclNlbmQgPSB3cml0ZShuZXdQQ1NvY2ssIGNvbnN0X2Nhc3Q8Y2hhcio+KGhlYWRlciksIDQpOw0KLQ0KLQkJCS8vIFdyaXRlIGltYWdlIGxlbmd0aCB0byBQQw0KLQkJCWludCBsZW5ndGhTZW5kID0gd3JpdGUobmV3UENTb2NrLCByZWludGVycHJldF9jYXN0PGNoYXIqPigmbnVtQnl0ZXMpLCA0KTsNCi0NCi0JCQkvLyBXcml0ZSBpbWFnZSB0byBQQw0KLQkJCWludCBzZW50ID0gd3JpdGUgKG5ld1BDU29jaywgaW1hZ2VEYXRhLCBudW1CeXRlcyk7DQotDQotCQkJLy8gVGhlIFBDIHByb2JhYmx5IGNsb3NlZCBjb25uZWN0aW9uLiBHZXQgb3V0IG9mIGhlcmUNCi0JCQkvLyBhbmQgdHJ5IGxpc3RlbmluZyBhZ2Fpbi4NCi0JCQlpZiAoaGVhZGVyU2VuZCA9PSBFUlJPUiB8fCBsZW5ndGhTZW5kID09IEVSUk9SIHx8IHNlbnQgPT0gRVJST1IpDQotCQkJew0KLQkJCQlicmVhazsNCi0JCQl9DQotCQl9DQotCQkvLyBDbGVhbiB1cA0KLQkJZGVsZXRlIFtdIGltYWdlRGF0YTsNCi0JCWNsb3NlIChuZXdQQ1NvY2spOw0KLQkJbmV3UENTb2NrID0gRVJST1I7DQotCQljbG9zZSAocGNTb2NrKTsNCi0JCXBjU29jayA9IEVSUk9SOw0KLQkJdGFza1Vuc2FmZSgpOw0KLQkJV2FpdCgwLjEpOw0KLQl9DQotCXJldHVybiAoT0spOw0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vUENWaWRlb1NlcnZlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1BDVmlkZW9TZXJ2ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIwYTZmMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vUENWaWRlb1NlcnZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fUENfVklERU9fU0VSVkVSX0hfXw0KLSNkZWZpbmUgX19QQ19WSURFT19TRVJWRVJfSF9fDQotDQotI2luY2x1ZGUgIlRhc2suaCINCi0jaW5jbHVkZSA8c2VtTGliLmg+DQotDQotLyoqIHBvcnQgZm9yIHNlbmRpbmcgdmlkZW8gdG8gbGFwdG9wICovDQotI2RlZmluZSBWSURFT19UT19QQ19QT1JUIDExODANCi0NCi0vKioNCi0gKiBDbGFzcyB0aGUgc2VydmVzIGltYWdlcyB0byB0aGUgUEMuDQotICovDQotY2xhc3MgUENWaWRlb1NlcnZlciA6IHB1YmxpYyBFcnJvckJhc2Ugew0KLQ0KLXB1YmxpYzoNCi0JUENWaWRlb1NlcnZlcigpOw0KLQl+UENWaWRlb1NlcnZlcigpOw0KLQl1bnNpZ25lZCBpbnQgUmVsZWFzZSgpOw0KLQl2b2lkIFN0YXJ0KCk7DQotCXZvaWQgU3RvcCgpOw0KLQ0KLXByaXZhdGU6DQotCXN0YXRpYyBpbnQgc19TZXJ2ZXJUYXNrKFBDVmlkZW9TZXJ2ZXIgKnRoaXNQdHIpOw0KLQlpbnQgU2VydmVyVGFzaygpOw0KLQlpbnQgU3RhcnRTZXJ2ZXJUYXNrKCk7DQotDQotCVRhc2sgbV9zZXJ2ZXJUYXNrOw0KLQlTRU1fSUQgbV9uZXdJbWFnZVNlbTsNCi0JYm9vbCBtX3N0b3BTZXJ2ZXI7DQotfTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vUkdCSW1hZ2UuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1JHQkltYWdlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNjYTk1ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vUkdCSW1hZ2UuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaW5jbHVkZSAiUkdCSW1hZ2UuaCINCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgaW1hZ2UgdGhhdCB1c2VzIFJlZCwgR3JlZW4sIGFuZCBCbHVlIHBsYW5lcy4NCi0gKi8NCi1SR0JJbWFnZTo6UkdCSW1hZ2UoKSA6IENvbG9ySW1hZ2UoSU1BUV9JTUFHRV9SR0IpDQotew0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgaW1hZ2UgYnkgbG9hZGluZyBhIGZpbGUuDQotICogQHBhcmFtIGZpbGVOYW1lIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGxvYWQuDQotICovDQotUkdCSW1hZ2U6OlJHQkltYWdlKGNvbnN0IGNoYXIgKmZpbGVOYW1lKSA6IENvbG9ySW1hZ2UoSU1BUV9JTUFHRV9SR0IpDQotew0KLQlpbnQgc3VjY2VzcyA9IGltYXFSZWFkRmlsZShtX2ltYXFJbWFnZSwgZmlsZU5hbWUsIE5VTEwsIE5VTEwpOw0KLQl3cGlfc2V0SW1hcUVycm9yV2l0aENvbnRleHQoc3VjY2VzcywgIkltYXEgUmVhZEZpbGUgZXJyb3IiKTsNCi19DQotDQotUkdCSW1hZ2U6On5SR0JJbWFnZSgpDQotew0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vUkdCSW1hZ2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9SR0JJbWFnZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTc3ZTIyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9SR0JJbWFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fUkdCX0lNQUdFX0hfXw0KLSNkZWZpbmUgX19SR0JfSU1BR0VfSF9fDQotDQotI2luY2x1ZGUgIkNvbG9ySW1hZ2UuaCINCi0NCi0vKioNCi0gKiBBIGNvbG9yIGltYWdlIHJlcHJlc2VudGVkIGluIFJHQiBjb2xvciBzcGFjZSBhdCAzIGJ5dGVzIHBlciBwaXhlbC4NCi0gKi8NCi1jbGFzcyBSR0JJbWFnZSA6IHB1YmxpYyBDb2xvckltYWdlDQotew0KLXB1YmxpYzoNCi0gICAgUkdCSW1hZ2UoKTsNCi0gICAgUkdCSW1hZ2UoY29uc3QgY2hhciAqZmlsZU5hbWUpOw0KLSAgICB2aXJ0dWFsIH5SR0JJbWFnZSgpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1RocmVzaG9sZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vVGhyZXNob2xkLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RjZDgyZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24vVGhyZXNob2xkLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgIlRocmVzaG9sZC5oIg0KLQ0KLVRocmVzaG9sZDo6VGhyZXNob2xkKGludCBuZXdfcGxhbmUxTG93LCBpbnQgbmV3X3BsYW5lMUhpZ2gsIGludCBuZXdfcGxhbmUyTG93LA0KLQkJaW50IG5ld19wbGFuZTJIaWdoLCBpbnQgbmV3X3BsYW5lM0xvdywgaW50IG5ld19wbGFuZTNIaWdoKQ0KLXsNCi0JcGxhbmUxTG93ID0gbmV3X3BsYW5lMUxvdzsNCi0JcGxhbmUxSGlnaCA9IG5ld19wbGFuZTFIaWdoOw0KLQlwbGFuZTJMb3cgPSBuZXdfcGxhbmUyTG93Ow0KLQlwbGFuZTJIaWdoID0gbmV3X3BsYW5lMkhpZ2g7DQotCXBsYW5lM0xvdyA9IG5ld19wbGFuZTNMb3c7DQotCXBsYW5lM0hpZ2ggPSBuZXdfcGxhbmUzSGlnaDsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1RocmVzaG9sZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uL1RocmVzaG9sZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYWYyNzE4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbi9UaHJlc2hvbGQuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1RIUkVTSE9MRF9IX18NCi0jZGVmaW5lIF9fVEhSRVNIT0xEX0hfXw0KLQ0KLS8qKg0KLSAqIENvbG9yIHRocmVzaG9sZCB2YWx1ZXMuDQotICogVGhpcyBvYmplY3QgcmVwcmVzbnRzIHRoZSB0aHJlc2hvbGQgdmFsdWVzIGZvciBhbnkgdHlwZSBvZiBjb2xvciBvYmplY3QNCi0gKiB0aGF0IGlzIHVzZWQgaW4gYSB0aHJlc2hob2xkIG9wZXJhdGlvbi4gSXQgc2ltcGxpZmllcyBwYXNzaW5nIHZhbHVlcw0KLSAqIGFyb3VuZCBpbiBhIHByb2dyYW0gZm9yIGNvbG9yIGRldGVjdGlvbi4NCi0gKi8NCi1jbGFzcyBUaHJlc2hvbGQgDQotew0KLXB1YmxpYzoNCi0JaW50IHBsYW5lMUxvdzsNCi0JaW50IHBsYW5lMUhpZ2g7DQotCWludCBwbGFuZTJMb3c7DQotCWludCBwbGFuZTJIaWdoOw0KLQlpbnQgcGxhbmUzTG93Ow0KLQlpbnQgcGxhbmUzSGlnaDsNCi0JVGhyZXNob2xkKGludCBwbGFuZTFMb3csIGludCBwbGFuZTFIaWdoLA0KLQkJaW50IHBsYW5lMkxvdywgaW50IHBsYW5lMkhpZ2gsDQotCQlpbnQgcGxhbmUzTG93LCBpbnQgcGxhbmUzSGlnaCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0F4aXNDYW1lcmEuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9BeGlzQ2FtZXJhLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNmZTg1Ny4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0F4aXNDYW1lcmEuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTAyMSArMCwwIEBACi0NCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0qICBQcm9qZWN0ICAgCQk6IEZJUlNUIE1vdG9yIENvbnRyb2xsZXINCi0qICBGaWxlIE5hbWUgIAkJOiBBeGlzQ2FtZXJhLmNwcCAgICAgICAgDQotKiAgQ29udHJpYnV0b3JzIAk6IFRELCBFTEYsIEpERywgU1ZLDQotKiAgQ3JlYXRpb24gRGF0ZSAJOiBKdWx5IDI5LCAyMDA4DQotKiAgUmV2aXNpb24gSGlzdG9yeQk6IFNvdXJjZSBjb2RlICYgcmV2aXNpb24gaGlzdG9yeSBtYWludGFpbmVkIGF0IHNvdXJjZWZvcmdlLldQSS5lZHUgICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IEF4aXMgY2FtZXJhIGFjY2VzcyBmb3IgdGhlIEZJUlNUIFZpc2lvbiBBUEkNCi0qICAgICAgVGhlIGNhbWVyYSB0YXNrIHJ1bnMgYXMgYW4gaW5kZXBlbmRlbnQgdGhyZWFkIA0KLSovICAgIA0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAqLw0KLS8qICBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gICAgICAgICAgICAgICAgICAgDQotDQotDQotI2luY2x1ZGUgInNvY2tMaWIuaCIgDQotI2luY2x1ZGUgInZ4V29ya3MuaCIgDQotDQotI2luY2x1ZGUgImVycm5vLmgiDQotI2luY2x1ZGUgImZpb0xpYi5oIg0KLSNpbmNsdWRlICJob3N0TGliLmgiIA0KLSNpbmNsdWRlICJpbmV0TGliLmgiIA0KLSNpbmNsdWRlICJzaWduYWwuaCINCi0jaW5jbHVkZSAic2lnTGliLmgiCQkvLyBmb3Igc2lnbmFsDQotI2luY2x1ZGUgPHN0cmluZz4NCi0jaW5jbHVkZSAidGltZS5oIg0KLSNpbmNsdWRlICJ1c3JMaWIuaCINCi0NCi0jaW5jbHVkZSAiQXhpc0NhbWVyYS5oIiANCi0jaW5jbHVkZSAiQmFlVXRpbGl0aWVzLmgiDQotI2luY2x1ZGUgIkZyY0Vycm9yLmgiDQotI2luY2x1ZGUgIlRhc2suaCINCi0jaW5jbHVkZSAiVGltZXIuaCINCi0jaW5jbHVkZSAiVmlzaW9uQVBJLmgiDQotDQotLyoqIHBhY2tldCBzaXplICovDQotI2RlZmluZSBERUZBVUxUX1BBQ0tFVF9TSVpFIDUxMg0KLQ0KLS8qKiBQcml2YXRlIE5JIGZ1bmN0aW9uIHRvIGRlY29kZSBKUEVHICovIA0KLUlNQVFfRlVOQyBpbnQgUHJpdl9SZWFkSlBFR1N0cmluZ19DKEltYWdlKiBfaW1hZ2UsIGNvbnN0IHVuc2lnbmVkIGNoYXIqIF9zdHJpbmcsIFVJTlQzMiBfc3RyaW5nTGVuZ3RoKTsgDQotDQotLy8gVG8gbG9jYWxseSBlbmFibGUgZGVidWcgcHJpbnRpbmc6IHNldCBBeGlzQ2FtZXJhX2RlYnVnRmxhZyB0byBhIDEsIHRvIGRpc2FibGUgc2V0IHRvIDANCi1pbnQgQXhpc0NhbWVyYV9kZWJ1Z0ZsYWcgPSAwOw0KLSNkZWZpbmUgRFBSSU5URiBpZihBeGlzQ2FtZXJhX2RlYnVnRmxhZylkcHJpbnRmDQotDQotLyoqIEBicmllZiBDYW1lcmEgZGF0YSB0byBiZSBhY2Nlc3NlZCBnbG9iYWxseSAqLw0KLXN0cnVjdCB7DQotCWludCByZWFkZXJQSUQ7IC8vIFNldCB0byB0YXNrSUQgZm9yIHNpZ25hbGluZw0KLQlpbnQgaW5kZXg7IC8qIC0xLDAsMSAqLw0KLQlpbnQJYWNxdWlyZTsgLyogMDpTVE9QIENBTUVSQTsgMTpTVEFSVCBDQU1FUkEgKi8NCi0JaW50IGNhbWVyYVJlYWR5OyAgLyogMDogQ0FNRVJBIE5PVCBJTklUSUFMSVpFRDsgMTogQ0FNRVJBIElOSVRJQUxJWkVEICovDQotCWludAlkZWNvZGU7IC8qIDA6ZGlzYWJsZSBkZWNvZGluZzsgMTplbmFibGUgZGVjb2RpbmcgdG8gSFNMIEltYWdlICovDQotCXN0cnVjdCB7DQotCQkvLw0KLQkJLy8gVG8gZmluZCB0aGUgbGF0ZXN0IGltYWdlIHRpbWVzdGFtcCwgYWNjZXNzOg0KLQkJLy8gZ2xvYmFsQ2FtZXJhLmRhdGFbZ2xvYmFsQ2FtZXJhLmluZGV4XS50aW1lc3RhbXANCi0JCS8vDQotCQlkb3VibGUgdGltZXN0YW1wOyAgICAgICAvLyB3aGVuIGltYWdlIHdhcyB0YWtlbg0KLQkJY2hhcioJY2FtZXJhSW1hZ2U7ICAgIC8vIGpwZWcgaW1hZ2Ugc3RyaW5nDQotCQlpbnQgY2FtZXJhSW1hZ2VTaXplOyAgICAvLyBpbWFnZSBzaXplDQotCQlJbWFnZSogZGVjb2RlZEltYWdlOyAgICAvLyBpbWFnZSBkZWNvZGVkIHRvIE5JIEltYWdlIG9iamVjdA0KLQkJaW50IGRlY29kZWRJbWFnZVNpemU7ICAgLy8gc2l6ZSBvZiBkZWNvZGVkIGltYWdlDQotCX1kYXRhWzJdOw0KLQlpbnQgY2FtZXJhTWV0cmljc1tDQU1fTlVNX01FVFJJQ1NdOw0KLX1nbG9iYWxDYW1lcmE7DQotDQotLyogcnVuIGZsYWcgKi8NCi1zdGF0aWMgc2hvcnQgY29udCA9IDA7DQotDQotLyoqDQotICogQGJyaWVmIEdldCB0aGUgbW9zdCByZWNlbnQgY2FtZXJhIGltYWdlLg0KLSAqIFN1cHBvcnRzIElNQVFfSU1BR0VfUkdCIGFuZCBJTUFRX0lNQUdFX0hTTC4NCi0gKiBAcGFyYW0gaW1hZ2UgSW1hZ2UgdG8gcmV0dXJuIHRvOyBpbWFnZSBtdXN0IGhhdmUgYmVlbiBmaXJzdCBjcmVhdGVkIHVzaW5nIGZyY0NyZWF0ZUltYWdlLiANCi0gKiBXaGVuIHlvdSBhcmUgZG9uZSwgdXNlIGZyY0Rpc3Bvc2UuDQotICogQHBhcmFtIHRpbWVzdGFtcCBUaW1lc3RhbXAgdG8gcmV0dXJuOyB3aWxsIHJlY29yZCB0aGUgdGltZSBhdCB3aGljaCB0aGUgaW1hZ2Ugd2FzIHN0b3JlZC4NCi0gKiBAcGFyYW0gbGFzdEltYWdlVGltZXN0YW1wIElucHV0IC0gdGltZXN0YW1wIG9mIGxhc3QgaW1hZ2U7IHByZXZlbnRzIHNlcnZpbmcgb2Ygc3RhbGUgaW1hZ2VzDQotICogQHJldHVybiAwIGlzIGZhaWx1cmUsIDEgaXMgc3VjY2Vzcw0KLSAqIEBzYSBmcmNDcmVhdGVJbWFnZSgpLCBmcmNEaXNwb3NlKCkNCi0gKi8NCi1pbnQgR2V0SW1hZ2VCbG9ja2luZyhJbWFnZSogaW1hZ2UsIGRvdWJsZSAqdGltZXN0YW1wLCBkb3VibGUgbGFzdEltYWdlVGltZXN0YW1wKQ0KLXsNCi0JY2hhciBmdW5jTmFtZVtdPSJHZXRJbWFnZUJsb2NraW5nIjsNCi0JaW50IHN1Y2Nlc3M7DQotCWRvdWJsZSBzdGFydFRpbWUgPSBHZXRUaW1lKCk7DQotCQ0KLQl3aGlsZSAoMSkNCi0Jew0KLQkJc3VjY2VzcyA9IEdldEltYWdlKGltYWdlLCB0aW1lc3RhbXApOw0KLQkJaWYgKCFzdWNjZXNzKSByZXR1cm4gKHN1Y2Nlc3MpOw0KLQkJDQotCQlpZiAoKnRpbWVzdGFtcCA+IGxhc3RJbWFnZVRpbWVzdGFtcCkNCi0JCQlyZXR1cm4gKDEpOyAvLyBHT09EIElNQUdFIFJFVFVSTkVEDQotDQotCQlpZiAoR2V0VGltZSgpID4gKHN0YXJ0VGltZSArIE1BWF9CTE9DS0lOR19USU1FX1NFQykpDQotCQl7DQotCQkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfQkxPQ0tJTkdfVElNRU9VVCwgZnVuY05hbWUpOw0KLQkJCWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9CTE9DS0lOR19USU1FT1VUXSsrOw0KLQkJCXJldHVybiAoMCk7IC8vIE5PIElNQUdFIEFWQUlMQUJMRSBXSVRISU4gc3BlY2lmaWVkIHRpbWUNCi0JCX0NCi0JCWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9CTE9DS0lOR19DT1VOVF0rKzsNCi0JCXRhc2tEZWxheSAoMSk7DQotCX0NCi19DQotDQotLyoqDQotICogQGJyaWVmIFZlcmlmaWVzIHRoYXQgdGhlIGNhbWVyYSBpcyBpbml0aWFsaXplZA0KLSAqIEByZXR1cm4gMCBmb3IgZmFpbHVyZSwgMSBmb3Igc3VjY2Vzcw0KLSAqLw0KLWludCBDYW1lcmFJbml0aWFsaXplZCgpDQotew0KLQljaGFyIGZ1bmNOYW1lW109IkNhbWVyYUluaXRpYWxpemVkIjsNCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQkvKiBjaGVjayB0byBzZWUgaWYgY2FtZXJhIGlzIGluaXRpYWxpemVkICovDQotCWlmICghZ2xvYmFsQ2FtZXJhLmNhbWVyYVJlYWR5KSAgew0KLQkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfTk9UX0lOSVRJQUxJWkVELCBmdW5jTmFtZSk7DQotCQlEUFJJTlRGIChMT0dfREVCVUcsICJDYW1lcmEgcmVxdWVzdCBiZWZvcmUgY2FtZXJhIGlzIGluaXRpYWxpemVkIik7DQotCQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tDQU1fR0VUSU1BR0VfQkVGT1JFX0lOSVRdKys7DQotCQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tDQU1fR0VUSU1BR0VfRkFJTFVSRV0rKzsNCi0JCXJldHVybiBzdWNjZXNzOw0KLQl9DQotCQ0KLQlpZiAoZ2xvYmFsQ2FtZXJhLmluZGV4ID09IC0xKXsNCi0JCWltYXFTZXRFcnJvcihFUlJfQ0FNRVJBX05PX0JVRkZFUl9BVkFJTEFCTEUsIGZ1bmNOYW1lKTsNCi0JCURQUklOVEYgKExPR19ERUJVRywgIk5vIGNhbWVyYSBpbWFnZSBhdmFpbGFibGUiKTsNCi0JCWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9HRVRJTUFHRV9CRUZPUkVfQVZBSUxBQkxFXSsrOw0KLQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0dFVElNQUdFX0ZBSUxVUkVdKys7DQotCQlyZXR1cm4gc3VjY2VzczsNCi0JfQ0KLQlyZXR1cm4gMTsNCi19DQotDQotLyoqDQotICogQGJyaWVmIEdldHMgdGhlIG1vc3QgcmVjZW50IGNhbWVyYSBpbWFnZSwgYXMgbG9uZyBhcyBpdCBpcyBub3Qgc3RhbGUuDQotICogU3VwcG9ydGVkIGltYWdlIHR5cGVzOiBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9IU0wNCi0gKiBAcGFyYW0gaW1hZ2UgSW1hZ2UgdG8gcmV0dXJuLCBtdXN0IGhhdmUgZmlyc3QgYmVlbiBjcmVhdGVkIHdpdGggZnJjQ3JlYXRlSW1hZ2Ugb3IgaW1hcUNyZWF0ZS4gDQotICogV2hlbiB5b3UgZmluaXNoIHdpdGggdGhlIGltYWdlLCBjYWxsIGZyY0Rpc3Bvc2UoKSB0byBkaXNwb3NlIG9mIGl0Lg0KLSAqIEBwYXJhbSB0aW1lc3RhbXAgUmV0dXJuZWQgdGltZXN0YW1wIG9mIHdoZW4gdGhlIGltYWdlIHdhcyB0YWtlbiBmcm9tIHRoZSBjYW1lcmENCi0gKiBAcmV0dXJuIGZhaWx1cmUgPSAwLCBzdWNjZXNzID0gMQ0KLSAqLw0KLWludCBHZXRJbWFnZShJbWFnZSogaW1hZ2UsIGRvdWJsZSAqdGltZXN0YW1wKQ0KLXsNCi0JY2hhciBmdW5jTmFtZVtdPSJHZXRJbWFnZSI7DQotCWludCBzdWNjZXNzID0gMDsNCi0JaW50IHJlYWRJbmRleDsNCi0JaW50CXJlYWRDb3VudCA9IDEwOw0KLQlkb3VibGUgY3VycmVudFRpbWUgPSB0aW1lKE5VTEwpOw0KLQlkb3VibGUgY3VycmVudEltYWdlVGltZXN0YW1wOw0KLQ0KLQkvKiBjaGVjayB0byBzZWUgaWYgY2FtZXJhIGlzIGluaXRpYWxpemVkICovDQotCQ0KLQlpZiAoIUNhbWVyYUluaXRpYWxpemVkKCkpIHtyZXR1cm4gc3VjY2Vzczt9DQotCQ0KLQkvKiB0cnkgcmVhZENvdW50IHRpbWVzIHRvIGdldCBhbiBpbWFnZSAqLw0KLQl3aGlsZSAocmVhZENvdW50KSB7DQotCQlyZWFkSW5kZXggPSBnbG9iYWxDYW1lcmEuaW5kZXg7DQotCQlpZiAoIWltYXFEdXBsaWNhdGUoaW1hZ2UsIGdsb2JhbENhbWVyYS5kYXRhW3JlYWRJbmRleF0uZGVjb2RlZEltYWdlKSkgew0KLQkJCWludCBlcnJvckNvZGUgPSBHZXRMYXN0VmlzaW9uRXJyb3IoKTsgDQotCQkJRFBSSU5URiAoTE9HX0RFQlVHLCJFcnJvciBkdXBsaWNhdGluZyBpbWFnZT0gJWkgICVzICIsIGVycm9yQ29kZSwgR2V0VmlzaW9uRXJyb3JUZXh0KGVycm9yQ29kZSkpOwkJCQ0KLQkJfQ0KLQkJLy8gc2F2ZSB0aGUgdGltZXN0YW1wIHRvIGNoZWNrIGJlZm9yZSByZXR1cm5pbmcNCi0JCWN1cnJlbnRJbWFnZVRpbWVzdGFtcCA9IGdsb2JhbENhbWVyYS5kYXRhW3JlYWRJbmRleF0udGltZXN0YW1wOw0KLQkJDQotCQkvLyBtYWtlIHN1cmUgdGhpcyBidWZmZXIgaXMgbm90IGJlaW5nIHdyaXR0ZW4gdG8gbm93DQotCQlpZiAocmVhZEluZGV4ID09IGdsb2JhbENhbWVyYS5pbmRleCkgYnJlYWs7DQotCQlyZWFkQ291bnQtLTsNCi0JfQ0KLQkNCi0JLyogd2VyZSB3ZSBzdWNjZXNzZnVsID8gKi8NCi0JaWYgKHJlYWRDb3VudCl7DQotCQlzdWNjZXNzID0gMTsNCi0JCWlmICh0aW1lc3RhbXAgIT0gTlVMTCkNCi0JCQkgICp0aW1lc3RhbXAgPSBjdXJyZW50SW1hZ2VUaW1lc3RhbXA7IC8vIFJldHVybiBpbWFnZSB0aW1lc3RhbXAJICANCi0JfSBlbHNlew0KLQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0dFVElNQUdFX0ZBSUxVUkVdKys7DQotCX0NCi0JDQotCS8qIEVuc3VyZSB0aGUgYnVmZmVyZWQgaW1hZ2UgaXMgbm90IHRvbyBvbGQgLSBzZXQgdGhpcyAic3RhbGUgdGltZSIgYWJvdmUgKi8NCi0JaWYgKGN1cnJlbnRUaW1lID4gZ2xvYmFsQ2FtZXJhLmRhdGFbZ2xvYmFsQ2FtZXJhLmluZGV4XS50aW1lc3RhbXAgKyBDQU1FUkFfSU1BR0VfU1RBTEVfVElNRV9TRUMpew0KLQkJRFBSSU5URiAoTE9HX0NSSVRJQ0FMLCAiU1RBTEUgY2FtZXJhIGltYWdlIChUSElTIENPVUxEIEJFIEEgQkFEIElNQUdFKSIpOw0KLQkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfU1RBTEVfSU1BR0UsIGZ1bmNOYW1lKTsNCi0JCWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9TVEFMRV9JTUFHRV0rKzsNCi0JCWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9HRVRJTUFHRV9GQUlMVVJFXSsrOw0KLQkJc3VjY2VzcyA9IDA7DQotCX0NCi0JZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0dFVElNQUdFX1NVQ0NFU1NdKys7DQotCXJldHVybiBzdWNjZXNzOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgTWV0aG9kIHRvIGdldCBhIHJhdyBpbWFnZSBmcm9tIHRoZSBidWZmZXINCi0gKiBAcGFyYW0gaW1hZ2VEYXRhIHJldHVybmVkIGltYWdlIGRhdGENCi0gKiBAcGFyYW0gbnVtQnl0ZXMgcmV0dXJuZWQgbnVtYmVyIG9mIGJ5dGVzIGluIGJ1ZmZlcg0KLSAqIEBwYXJhbSBjdXJyZW50SW1hZ2VUaW1lc3RhbXAgcmV0dXJuZWQgYnVmZmVyIHRpbWUgb2YgaW1hZ2UgZGF0YQ0KLSAqIEByZXR1cm4gMCBpZiBmYWlsdXJlOyAxIGlmIHN1Y2Nlc3MNCi0gKi8NCi1pbnQgR2V0SW1hZ2VEYXRhKGNoYXIqKiBpbWFnZURhdGEsIGludCogbnVtQnl0ZXMsIGRvdWJsZSogY3VycmVudEltYWdlVGltZXN0YW1wKQ0KLXsNCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQlpbnQgcmVhZEluZGV4Ow0KLQlpbnQJcmVhZENvdW50ID0gMTA7DQotCWludCBjYW1lcmFJbWFnZVNpemU7DQotCWNoYXIgKmNhbWVyYUltYWdlU3RyaW5nOw0KLQ0KLQkvKiBjaGVjayB0byBzZWUgaWYgY2FtZXJhIGlzIGluaXRpYWxpemVkICovDQotCQkJDQotCWlmICghQ2FtZXJhSW5pdGlhbGl6ZWQoKSkge3JldHVybiBzdWNjZXNzO30NCi0JCQkNCi0JLyogdHJ5IHJlYWRDb3VudCB0aW1lcyB0byBnZXQgYW4gaW1hZ2UgKi8NCi0Jd2hpbGUgKHJlYWRDb3VudCkgew0KLQkJcmVhZEluZGV4ID0gZ2xvYmFsQ2FtZXJhLmluZGV4Ow0KLQkJY2FtZXJhSW1hZ2VTaXplID0gZ2xvYmFsQ2FtZXJhLmRhdGFbcmVhZEluZGV4XS5jYW1lcmFJbWFnZVNpemU7DQotCQkvL2NhbWVyYUltYWdlU3RyaW5nID0gKEltYWdlICopIG1hbGxvYyhjYW1lcmFJbWFnZVNpemUpOw0KLQkJY2FtZXJhSW1hZ2VTdHJpbmcgPSBuZXcgY2hhcltjYW1lcmFJbWFnZVNpemVdOw0KLQkJaWYgKE5VTEwgPT0gY2FtZXJhSW1hZ2VTdHJpbmcpIHsNCi0JCQkJCURQUklOVEYgKExPR19ERUJVRywgIlVuYWJsZSB0byBhbGxvY2F0ZSBjYW1lcmFJbWFnZSIpOw0KLQkJCQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0dFVElNQUdFX0ZBSUxVUkVdKys7DQotCQkJCQlyZXR1cm4gc3VjY2VzczsNCi0JCX0NCi0JCW1lbWNweSAoY2FtZXJhSW1hZ2VTdHJpbmcsIGdsb2JhbENhbWVyYS5kYXRhW3JlYWRJbmRleF0uY2FtZXJhSW1hZ2UsIGNhbWVyYUltYWdlU2l6ZSk7DQotCQkqY3VycmVudEltYWdlVGltZXN0YW1wID0gZ2xvYmFsQ2FtZXJhLmRhdGFbcmVhZEluZGV4XS50aW1lc3RhbXA7DQotCQkvLyBtYWtlIHN1cmUgdGhpcyBidWZmZXIgaXMgbm90IGJlaW5nIHdyaXR0ZW4gdG8gbm93DQotCQlpZiAocmVhZEluZGV4ID09IGdsb2JhbENhbWVyYS5pbmRleCkgYnJlYWs7DQotCQlmcmVlIChjYW1lcmFJbWFnZVN0cmluZyk7DQotCQlyZWFkQ291bnQtLTsNCi0JfQ0KLQlpZiAocmVhZENvdW50KXsNCi0JCSppbWFnZURhdGEgPSBjYW1lcmFJbWFnZVN0cmluZzsNCi0JCSpudW1CeXRlcyA9IGNhbWVyYUltYWdlU2l6ZTsNCi0JCXJldHVybiAxOw0KLQl9CQkNCi0JcmV0dXJuIChPSyk7DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBCbG9ja2luZyBjYWxsIHRvIGdldCBpbWFnZXMgZm9yIFBDLg0KLSAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBmcm9tIGEgc2VwYXJhdGUgdGFzayB0byBtYWludGFpbiBjYW1lcmEgcmVhZCBwZXJmb3JtYW5jZS4gDQotICogSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3Igc2VuZGluZyByYXcgKHVuZGVjb2RlZCkgaW1hZ2UgZGF0YSB0byB0aGUgUEMuDQotICogQHBhcmFtIGltYWdlRGF0YSBpbWFnZSBkYXRhIHRvIHJldHVybg0KLSAqIEBwYXJhbSBudW1CeXRlcyBudW1iZXIgb2YgYnl0ZXMgaW4gYnVmZmVyDQotICogQHBhcmFtIHRpbWVzdGFtcCB0aW1lc3RhbXAgb2YgYnVmZmVyIHJldHVybmVkDQotICogQHBhcmFtIGxhc3RJbWFnZVRpbWVzdGFtcCBidWZmZXIgdGltZSBvZiBsYXN0IGltYWdlIGRhdGEgc2VudCB0byBQQw0KLSAqIEByZXR1cm4gMCBpZiBmYWlsdXJlOyAxIGlmIHN1Y2Nlc3MNCi0gKi8NCi1pbnQgR2V0SW1hZ2VEYXRhQmxvY2tpbmcoY2hhcioqIGltYWdlRGF0YSwgaW50KiBudW1CeXRlcywgZG91YmxlKiB0aW1lc3RhbXAsIGRvdWJsZSBsYXN0SW1hZ2VUaW1lc3RhbXApDQotew0KLQ0KLQljaGFyIGZ1bmNOYW1lW109IkdldEltYWdlRGF0YUJsb2NraW5nIjsNCi0JaW50IHN1Y2Nlc3M7DQotCWRvdWJsZSBzdGFydFRpbWUgPSBHZXRUaW1lKCk7DQotCQ0KLSAgICAqaW1hZ2VEYXRhID0gTlVMTDsNCi0Jd2hpbGUgKDEpDQotCXsNCi0JCXN1Y2Nlc3MgPSBHZXRJbWFnZURhdGEoaW1hZ2VEYXRhLCBudW1CeXRlcywgdGltZXN0YW1wKTsNCi0JCWlmICghc3VjY2VzcykgcmV0dXJuIChzdWNjZXNzKTsNCi0JCQ0KLQkJaWYgKCp0aW1lc3RhbXAgPiBsYXN0SW1hZ2VUaW1lc3RhbXApDQotCQkJcmV0dXJuICgxKTsgLy8gR09PRCBJTUFHRSBEQVRBIFJFVFVSTkVEDQotDQotICAgICAgICBkZWxldGUgKmltYWdlRGF0YTsNCi0gICAgICAgICppbWFnZURhdGEgPSBOVUxMOw0KLQ0KLQkJaWYgKEdldFRpbWUoKSA+IChzdGFydFRpbWUgKyBNQVhfQkxPQ0tJTkdfVElNRV9TRUMpKQ0KLQkJew0KLQkJCWltYXFTZXRFcnJvcihFUlJfQ0FNRVJBX0JMT0NLSU5HX1RJTUVPVVQsIGZ1bmNOYW1lKTsNCi0JCQlyZXR1cm4gKDApOyAvLyBOTyBJTUFHRSBBVkFJTEFCTEUgV0lUSElOIHNwZWNpZmllZCB0aW1lDQotCQl9DQotCQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tDQU1fQkxPQ0tJTkdfQ09VTlRdKys7DQotCQl0YXNrRGVsYXkgKDEpOw0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBBY2Nlc3NvciBmb3IgY2FtZXJhIGluc3RydW1lbnRhdGlvbiBkYXRhDQotICogQHBhcmFtIHRoZSBjb3VudGVyIHF1ZXJpZWQNCi0gKiBAcmV0dXJuIHRoZSBjb3VudGVyIHZhbHVlDQotICovDQotaW50IEdldENhbWVyYU1ldHJpYyhGcmN2Q2FtZXJhTWV0cmljIG1ldHJpYykNCi17CXJldHVybiBnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1ttZXRyaWNdOyAgfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBDbG9zZSBzb2NrZXQgJiByZXBvcnQgZXJyb3INCi0gKiBAcGFyYW0gZXJyc3RyaW5nIFN0cmluZyB0byBwcmludA0KLSAqIEBwYXJhbSBzb2NrZXQgU29ja2V0IHRvIGNsb3NlDQotICogQHJldHVybiBlcnJvcg0KLSAqLw0KLWludCBDYW1lcmFDbG9zZVNvY2tldChjaGFyICplcnJzdHJpbmcsIGludCBzb2NrZXQpDQotew0KLQlEUFJJTlRGIChMT0dfQ1JJVElDQUwsICJDbG9zaW5nIHNvY2tldCAtIENBTUVSQSBFUlJPUjogJXMiLCBlcnJzdHJpbmcgKTsNCi0JY2xvc2UgKHNvY2tldCk7DQotCXJldHVybiAoRVJST1IpOw0KLX0NCi0NCi0NCi0vKioNCi0gKiBAYnJpZWYgUmVhZHMgb25lIGxpbmUgZnJvbSB0aGUgVENQIHN0cmVhbS4NCi0gKiBAcGFyYW0gY2FtU29jayAgICAgICAgIFRoZSBzb2NrZXQuDQotICogQHBhcmFtIGJ1ZmZlciAgICAgICAgICBBIGJ1ZmZlciB3aXRoIGJ1ZlNpemUgYWxsb2NhdGVkIGZvciBpdC4gDQotICogICAgICAgICAgICAgICAgICAgICAgICBPbiByZXR1cm4sIGJ1ZlNpemUtMSBhbW91bnQgb2YgZGF0YSBvciBkYXRhIHVwdG8gZmlyc3QgbGluZSBlbmRpbmcNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoZXZlciBpcyBzbWFsbGVyLCBudWxsIHRlcm1pbmF0ZWQuDQotICogQHBhcmFtIGJ1ZlNpemUgICAgICAgICBUaGUgc2l6ZSBvZiBidWZmZXIuDQotICogQHBhcmFtIHN0cmlwTGluZUVuZGluZyBJZiB0cnVlLCBzdHJpcHMgdGhlIGxpbmUgZW5kaW5nIGNoYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlciBiZWZvcmUgcmV0dXJuLg0KLSAqIEByZXR1cm4gMCBpZiBmYWlsdXJlOyAxIGlmIHN1Y2Nlc3MNCi0qLw0KLXN0YXRpYyBpbnQgQ2FtZXJhUmVhZExpbmUoaW50IGNhbVNvY2ssIGNoYXIqIGJ1ZmZlciwgaW50IGJ1ZlNpemUsIGJvb2wgc3RyaXBMaW5lRW5kaW5nKSB7DQotCWNoYXIgZnVuY05hbWVbXT0iQ2FtZXJhUmVhZExpbmUiOw0KLSAgICAvLyBOZWVkIGF0IGxlYXN0IDMgYnl0ZXMgaW4gdGhlIGJ1ZmZlciB0byBwdWxsIHRoaXMgb2ZmLg0KLQlpZiAoYnVmU2l6ZSA8IDMpIHsNCi0JCWltYXFTZXRFcnJvcihFUlJfQ0FNRVJBX0ZBSUxVUkUsIGZ1bmNOYW1lKTsNCi0JCXJldHVybiAwOw0KLQl9DQotICAgIC8vICBSZWR1Y2Ugc2l6ZSBieSAxIHRvIGFsbG93IGZvciBudWxsIHRlcm1pbmF0b3IuDQotICAgIC0tYnVmU2l6ZTsNCi0gICAgLy8gIFJlYWQgdXB0byBidWZTaXplIGNoYXJhY3RlcnMuDQotICAgIGZvciAoaW50IGk9MDtpIDwgYnVmU2l6ZTsrK2ksICsrYnVmZmVyKSB7DQotICAgICAgICAvLyAgUmVhZCBvbmUgY2hhcmFjdGVyLg0KLSAgICAgICAgaWYgKHJlYWQgKGNhbVNvY2ssIGJ1ZmZlciwgMSkgPD0gMCkgew0KLSAgICAJCWltYXFTZXRFcnJvcihFUlJfQ0FNRVJBX0ZBSUxVUkUsIGZ1bmNOYW1lKTsNCi0gICAgICAgICAgICByZXR1cm4gMDsNCi0gICAgICAgIH0NCi0gICAgICAgIC8vICBMaW5lIGVuZGluZ3MgY2FuIGJlICJcclxuIiBvciBqdXN0ICJcbiIuIFNvIGFsd2F5cyANCi0gICAgICAgIC8vICBsb29rIGZvciBhICJcbiIuIElmIHlvdSBnb3QganVzdCBhICJcbiIgYW5kIA0KLSAgICAgICAgLy8gIHN0cmlwTGluZUVuZGluZyBpcyBmYWxzZSwgdGhlbiBjb252ZXJ0IGl0IGludG8gYSBcclxuDQotICAgICAgICAvLyAgYmVjYXVzZSBjYWxsZXJzIGV4cGVjdCBhIFxyXG4uDQotICAgICAgICAvLyAgSWYgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgYW5kIHRoZSBjdXJyZW50IGNoYXJhY3Rlcg0KLSAgICAgICAgLy8gIGlzICJcclxuIiwgdGhlIGxpbmUgZW5kaW5nDQotICAgICAgICBpZiAoKmJ1ZmZlcj09J1xuJykgew0KLSAgICAgICAgICAgIC8vICBJZiBhc2tlZCB0byBzdHJpcCB0aGUgbGluZSBlbmRpbmcsIHRoZW4gc2V0IHRoZSBidWZmZXIgdG8gdGhlIHByZXZpb3VzIA0KLSAgICAgICAgICAgIC8vICBjaGFyYWN0ZXIuDQotICAgICAgICAgICAgaWYgKHN0cmlwTGluZUVuZGluZykgew0KLSAgICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgKihidWZmZXItMSk9PSdccicpIHsNCi0gICAgICAgICAgICAgICAgICAgIC0tYnVmZmVyOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGVsc2Ugew0KLSAgICAgICAgICAgICAgICAvLyAgSWYgdGhlIHByZXZpb3VzIGNoYXJhY3RlciB3YXMgbm90IGEgJ1xyJywgDQotICAgICAgICAgICAgICAgIGlmIChpID09IDAgfHwgKihidWZmZXItMSkhPSdccicpIHsNCi0gICAgICAgICAgICAgICAgICAgIC8vICBNYWtlIHRoZSBjdXJyZW50IGNoYXJhY3RlciBhICdccicuDQotICAgICAgICAgICAgICAgICAgICAqYnVmZmVyID0gJ1xyJzsNCi0gICAgICAgICAgICAgICAgICAgIC8vICBJZiBzcGFjZSBwZXJtaXRzLCBhZGQgYmFjayB0aGUgJ1xuJy4NCi0gICAgICAgICAgICAgICAgICAgIGlmIChpIDwgYnVmU2l6ZS0xKSB7DQotICAgICAgICAgICAgICAgICAgICAgICAgKytidWZmZXI7DQotICAgICAgICAgICAgICAgICAgICAgICAgKmJ1ZmZlciA9ICdcbic7DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgLy8gIFNldCB0aGUgYnVmZmVyIHBhc3QgdGhlIGN1cnJlbnQgY2hhcmFjdGVyICgnXG4nKQ0KLSAgICAgICAgICAgICAgICArK2J1ZmZlcjsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgIH0NCi0gICAgLy8gIE51bGwgdGVybWluYXRlLg0KLSAgICAqYnVmZmVyID0gJ1wwJzsNCi0gICAgcmV0dXJuIDE7DQotfQ0KLQ0KLS8qKg0KLUBicmllZiBTa2lwcyByZWFkIGRhdGEgdW50aWwgdGhlIGZpcnN0IGVtcHR5IGxpbmUuDQotDQotQHBhcmFtIGNhbVNvY2sgQW4gb3BlbiB0Y3Agc29ja2V0IHRvIHRoZSBjYW1lcmEgdG8gcmVhZCB0aGUgZGF0YSBmcm9tLg0KLUByZXR1cm4gc3VjZXNzIDAgaWYgZmFpbHVyZTsgMSBpZiBzdWNjZXNzDQotKi8NCi1zdGF0aWMgaW50IENhbWVyYVNraXBVbnRpbEVtcHR5TGluZShpbnQgY2FtU29jaykgew0KLSAgICBjaGFyIGJ1ZmZlclsxMDI0XTsNCi0gICAgaW50IHN1Y2Nlc3MgPSAwOw0KLSAgICB3aGlsZSgxKSB7DQotICAgICAgICBzdWNjZXNzID0gQ2FtZXJhUmVhZExpbmUoY2FtU29jaywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgdHJ1ZSk7DQotICAgICAgICBpZiAoKmJ1ZmZlciA9PSAnXDAnKSB7DQotICAgICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7DQotICAgICAgICB9DQotICAgIH0NCi0gICAgcmV0dXJuIHN1Y2Nlc3M7DQotfQ0KLQ0KLS8qKg0KLUBicmllZiBPcGVucyBhIHNvY2tldC4NCi0NCi1Jc3N1ZXMgdGhlIGdpdmVuIGh0dHAgcmVxdWVzdCB3aXRoIHRoZSByZXF1aXJlZCBhZGRlZCBpbmZvcm1hdGlvbiANCi1hbmQgYXV0aGVudGljYXRpb24uIEl0ICBjeWNsZXMgdGhyb3VnaCBhbiBhcnJheSBvZiBwcmVkZXRlcm1pbmVkIA0KLWVuY3J5cHRlZCB1c2VybmFtZSwgcGFzc3dvcmQgY29tYmluYXRpb25zIHRoYXQgd2UgZXhwZWN0IHRoZSB1c2VycyANCi10byBoYXZlIGF0IGFueSBwb2ludCBpbiB0aW1lLiBJZiBub25lIG9mIHRoZSB1c2VybmFtZSwgcGFzc3dvcmQgDQotY29tYmluYXRpb25zIHdvcmssIGl0IG91dHB1dHMgYSAiVW5rbm93biB1c2VyIG9yIHBhc3N3b3JkIiBlcnJvci4NCi1JZiB0aGUgcmVxdWVzdCBzdWNjZWVkcywgaXQgcmV0dXJucyB0aGUgc29ja2V0IG51bWJlci4NCi0NCi1AcGFyYW0gc2VydmVyTmFtZSBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGhvc3QgZnJvbSB3aGljaCB0aGlzIHJlcXVlc3Qgb3JpZ2luYXRlcw0KLUBwYXJhbSByZXF1ZXN0ICAgVGhlIHJlcXVlc3QgdG8gc2VuZCB0byB0aGUgY2FtZXJhIG5vdCBpbmNsdWRpbmcgYm9pbGVycGxhdGUgb3IgDQotICAgICAgICAgICAgICAgICBhdXRoZW50aWNhdGlvbi4gVGhpcyBpcyB1c3VhbGx5IGluIHRoZSBmb3JtIG9mICJHRVQgPHN0cmluZz4iDQotQHJldHVybiBpbnQgLSBmYWlsdXJlID0gRVJST1I7IHN1Y2Nlc3MgPSBzb2NrZXQgbnVtYmVyOyAgICAgDQotKi8NCi1zdGF0aWMgaW50IENhbWVyYU9wZW5Tb2NrZXRBbmRJc3N1ZUF1dGhvcml6ZWRSZXF1ZXN0KGNvbnN0IGNoYXIqIHNlcnZlck5hbWUsIGNvbnN0IGNoYXIqIHJlcXVlc3QpIA0KLXsNCi0gICAgY2hhciBmdW5jTmFtZVtdPSJjYW1lcmFPcGVuU29ja2V0QW5kSXNzdWVBdXRob3JpemVkUmVxdWVzdCI7DQotCQ0KLQlzdHJ1Y3Qgc29ja2FkZHJfaW4gY2FtZXJhQWRkcjsNCi0JaW50IHNvY2tBZGRyU2l6ZTsgIA0KLQlpbnQgY2FtU29jayA9IEVSUk9SOyAgICANCi0NCi0gICAgLy8gVGhlIGNhbWVyYSBpcyBleHBlY3RlZCB0byBoYXZlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHVzZXJuYW1lLCBwYXNzd29yZCBjb21iaW5hdGlvbnMuDQotICAgIC8vIFRoaXMgcm91dGluZSB3aWxsIHJldHVybiBhbiBlcnJvciBpZiBpdCBkb2VzIG5vdCBmaW5kIG9uZSBvZiB0aGVzZS4NCi0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGF1dGhlbnRpY2F0aW9uU3RyaW5nc1tdID0gew0KLSAgICAgICAgIlJsSkRPa1pTUXc9PSIsICAgICAvKiBGUkMsIEZSQyAqLw0KLSAgICAgICAgImNtOXZkRHB3WVhOeiIsICAgICAvKiByb290LCBhZG1pbiovDQotICAgICAgICAiY205dmREcGhaRzFwYmc9PSIgIC8qIHJvb3QsIHBhc3MqLw0KLSAgICB9Ow0KLQ0KLSAgICBzdGF0aWMgY29uc3QgaW50IG51bUF1dGhlbnRpY2F0aW9uU3RyaW5ncyA9IHNpemVvZihhdXRoZW50aWNhdGlvblN0cmluZ3MpL3NpemVvZihhdXRoZW50aWNhdGlvblN0cmluZ3NbMF0pOw0KLQkNCi0Jc3RhdGljIGNvbnN0IGNoYXIgKnJlcXVlc3RUZW1wbGF0ZSA9ICIlcyAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhUVFAvMS4xXG4iICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXNlci1BZ2VudDogSFRUUFN0cmVhbUNsaWVudFxuIiAgIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb25uZWN0aW9uOiBLZWVwLUFsaXZlXG4iICAgICAgICAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXG4iICAgICAgICBcDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXV0aG9yaXphdGlvbjogQmFzaWMgJXNcblxuIjsNCi0NCi0JaW50IGkgPSAwOw0KLSAgICBmb3IgKDtpIDwgbnVtQXV0aGVudGljYXRpb25TdHJpbmdzOysraSkgew0KLSAgICAgICAgY2hhciBidWZmZXJbMTAyNF07DQotDQotICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgcmVxdWVzdFRlbXBsYXRlLCByZXF1ZXN0LCBhdXRoZW50aWNhdGlvblN0cmluZ3NbaV0pOw0KLQ0KLSAgICAgICAgLyogY3JlYXRlIGNhbWVyYSBzb2NrZXQgKi8NCi0gICAgICAgIC8vRFBSSU5URiAoTE9HX0RFQlVHLCAiY3JlYXRpbmcgY2FtU29jayIgKTsgDQotICAgICAgICBpZiAoKGNhbVNvY2sgPSBzb2NrZXQgKEFGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKSkgPT0gRVJST1IpIHsNCi0gICAgCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9TT0NLRVRfQ1JFQVRFX0ZBSUxFRCwgZnVuY05hbWUpOw0KLSAgICAJCXBlcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzb2NrZXQiKTsNCi0gICAgCQlyZXR1cm4gKEVSUk9SKTsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIHNvY2tBZGRyU2l6ZSA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsNCi0gICAgICAgIGJ6ZXJvICgoY2hhciAqKSAmY2FtZXJhQWRkciwgc29ja0FkZHJTaXplKTsNCi0gICAgICAgIGNhbWVyYUFkZHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7DQotICAgICAgICBjYW1lcmFBZGRyLnNpbl9sZW4gPSAodV9jaGFyKSBzb2NrQWRkclNpemU7DQotICAgICAgICBjYW1lcmFBZGRyLnNpbl9wb3J0ID0gaHRvbnMgKENBTUVSQV9QT1JUKTsNCi0NCi0gICAgICAgIGlmICgoIChpbnQpKGNhbWVyYUFkZHIuc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyIChjb25zdF9jYXN0PGNoYXIqPihzZXJ2ZXJOYW1lKSkgKSA9PSBFUlJPUikgJiYNCi0gICAgICAgICAgICAoIChpbnQpKGNhbWVyYUFkZHIuc2luX2FkZHIuc19hZGRyID0gaG9zdEdldEJ5TmFtZSAoY29uc3RfY2FzdDxjaGFyKj4oc2VydmVyTmFtZSkpICkgPT0gRVJST1IpKSANCi0gICAgICAgIHsNCi0gICAgCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9DT05ORUNUX0ZBSUxFRCwgZnVuY05hbWUpOw0KLSAgICAgICAgICAgIHJldHVybiBDYW1lcmFDbG9zZVNvY2tldCgiRmFpbGVkIHRvIGdldCBJUCwgY2hlY2sgaG9zdG5hbWUgb3IgSVAiLCBjYW1Tb2NrKTsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIC8vRFBSSU5URiAoTE9HX0lORk8sICJjb25uZWN0aW5nIGNhbVNvY2siICk7IA0KLSAgICAgICAgaWYgKGNvbm5lY3QgKGNhbVNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJmNhbWVyYUFkZHIsIHNvY2tBZGRyU2l6ZSkgPT0gRVJST1IpIAl7DQotICAgIAkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfQ09OTkVDVF9GQUlMRUQsIGZ1bmNOYW1lKTsNCi0gICAgICAgICAgICByZXR1cm4gQ2FtZXJhQ2xvc2VTb2NrZXQoIkZhaWxlZCB0byBjb25uZWN0IHRvIGNhbWVyYSAtIGNoZWNrIG5ldHdvciIsIGNhbVNvY2spOw0KLSAgICAgICAgfQ0KLQ0KLSAgICAgICAgLy9EUFJJTlRGIChMT0dfREVCVUcsICJ3cml0aW5nIEdFVCByZXF1ZXN0IHRvIGNhbVNvY2siICk7IA0KLSAgICAgICAgaWYgKHdyaXRlIChjYW1Tb2NrLCBidWZmZXIsIHN0cmxlbihidWZmZXIpICkgPT0gRVJST1IpIHsNCi0gICAgCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9DT05ORUNUX0ZBSUxFRCwgZnVuY05hbWUpOw0KLSAgICAgICAgICAgIHJldHVybiBDYW1lcmFDbG9zZVNvY2tldCgiRmFpbGVkIHRvIHNlbmQgR0VUIHJlcXVlc3QiLCBjYW1Tb2NrKTsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIC8vICBSZWFkIG9uZSBsaW5lIHdpdGggdGhlIGxpbmUgZW5kaW5nIHJlbW92ZWQuDQotICAgICAgICBpZiAoIUNhbWVyYVJlYWRMaW5lKGNhbVNvY2ssIGJ1ZmZlciwgMTAyNCwgdHJ1ZSkpIHsNCi0gICAgICAgICAgICByZXR1cm4gQ2FtZXJhQ2xvc2VTb2NrZXQoIkJhZCByZXNwb25zZSB0byBHRVQgcmVxdWVzdCIsIGNhbVNvY2spOw0KLSAgICAgICAgfQ0KLQ0KLSAgICAgICAgLy8gIENoZWNrIGlmIHRoZSByZXNwb25zZSBpcyBvZiB0aGUgZm9ybWF0IEhUVFAvPHZlcnNpb24+IDIwMCBPSy4NCi0gICAgICAgIGZsb2F0IGRpc2NhcmQ7DQotICAgICAgICBpZiAoc3NjYW5mKGJ1ZmZlciwgIkhUVFAvJWYgMjAwIE9LIiwgJmRpc2NhcmQpID09IDEpIHsNCi0gICAgICAgICAgICBicmVhazsNCi0gICAgICAgIH0NCi0NCi0gICAgICAgIC8vICBXZSBoYXZlIHRvIGNsb3NlIHRoZSBjb25uZWN0aW9uIGJlY2F1c2UgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZQ0KLSAgICAgICAgLy8gIHRoZSBzZXJ2ZXIgY2xvc2VzIHRoZSBjb25uZWN0aW9uLg0KLSAgICAgICAgY2xvc2UoY2FtU29jayk7DQotICAgIH0NCi0gICAgLy8gIElmIG5vbmUgb2YgdGhlIGF0dGVtcHRzIHdlcmUgc3VjY2Vzc2Z1bCwgdGhlbiBsZXQgdGhlIGNhbGxlciBrbm93Lg0KLSAgICBpZiAobnVtQXV0aGVudGljYXRpb25TdHJpbmdzID09IGkpIHsNCi0JCWltYXFTZXRFcnJvcihFUlJfQ0FNRVJBX0FVVEhPUklaQVRJT05fRkFJTEVELCBmdW5jTmFtZSk7DQotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkV4cGVjdGVkIHVzZXJuYW1lL3Bhc3N3b3JkIGNvbWJpbmF0aW9uIG5vdCBmb3VuZCBvbiBjYW1lcmEiKTsNCi0gICAgICAgIHJldHVybiBFUlJPUjsNCi0gICAgfQ0KLSAgICByZXR1cm4gY2FtU29jazsNCi19DQotDQotDQotLyoqDQotICogQGJyaWVmIFNlbmRzIGEgY29uZmlndXJhdGlvbiBtZXNzYWdlIHRvIHRoZSBjYW1lcmENCi0gKiBAcGFyYW0gY29uZmlnU3RyaW5nIGNvbmZpZ3VyYXRpb24gbWVzc2FnZSB0byB0aGUgY2FtZXJhDQotICogQHJldHVybiBzdWNjZXNzOiAwPWZhaWx1cmU7IDE9c3VjY2Vzcw0KLSAqLw0KLWludCBDb25maWd1cmVDYW1lcmEoY2hhciAqY29uZmlnU3RyaW5nKXsNCi0JY2hhciBmdW5jTmFtZVtdPSJDb25maWd1cmVDYW1lcmEiOw0KLQljaGFyICpzZXJ2ZXJOYW1lID0gIjE5Mi4xNjguMC45MCI7CQkvKiBjYW1lcmEgQCAqLyANCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQlpbnQgY2FtU29jayA9IDA7ICAgIA0KLQkNCi0JLyogR2VuZXJhdGUgY2FtZXJhIGNvbmZpZ3VyYXRpb24gc3RyaW5nICovDQotCWNoYXIgKiBnZXRTdHIxID0gDQotCQkiR0VUIC9heGlzLWNnaS9hZG1pbi9wYXJhbS5jZ2k/YWN0aW9uPXVwZGF0ZSZJbWFnZVNvdXJjZS5JMC5TZW5zb3IuIjsNCi0JDQotCWNoYXIgY2FtZXJhUmVxdWVzdFtzdHJsZW4oZ2V0U3RyMSkgKyBzdHJsZW4oY29uZmlnU3RyaW5nKV07DQotICAgIHNwcmludGYgKGNhbWVyYVJlcXVlc3QsICIlcyVzIiwJZ2V0U3RyMSwgY29uZmlnU3RyaW5nKTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJjYW1lcmEgY29uZmlndXJhdGlvbiBzdHJpbmc6IFxuJXMiLCBjYW1lcmFSZXF1ZXN0KTsNCi0JY2FtU29jayA9IENhbWVyYU9wZW5Tb2NrZXRBbmRJc3N1ZUF1dGhvcml6ZWRSZXF1ZXN0KHNlcnZlck5hbWUsIGNhbWVyYVJlcXVlc3QpOw0KLQlEUFJJTlRGKExPR19ERUJVRywgImNhbWVyYSBzb2NrZXQjID0gJWkiLCBjYW1Tb2NrKTsNCi0JDQotICAgIC8vcmVhZCByZXNwb25zZQ0KLSAgICBzdWNjZXNzID0gQ2FtZXJhU2tpcFVudGlsRW1wdHlMaW5lKGNhbVNvY2spOw0KLQkvL0RQUklOVEYoTE9HX0RFQlVHLCAic3VjY2Nlc3MgZnJvbSBDYW1lcmFTa2lwVW50aWxFbXB0eUxpbmU6ICVpIiwgc3VjY2Vzcyk7DQotICAgIGNoYXIgYnVmZmVyWzNdOwkvLyBzZXQgcHJvcGVydHkgLSAzDQotICAgIHN1Y2Nlc3MgPSBDYW1lcmFSZWFkTGluZShjYW1Tb2NrLCBidWZmZXIsIDMsIHRydWUpOw0KLQkvL0RQUklOVEYoTE9HX0RFQlVHLCAic3VjY2Nlc3MgZnJvbSBDYW1lcmFSZWFkTGluZTogJWkiLCBzdWNjZXNzKTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJsaW5lIHJlYWQgZnJvbSBjYW1lcmEgXG4lcyIsIGJ1ZmZlcik7DQotICAgIGlmIChzdHJjbXAoYnVmZmVyLCAiT0siKSAhPSAwKSB7DQotCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9DT01NQU5EX0ZBSUxVUkUsIGZ1bmNOYW1lKTsNCi0JCURQUklOVEYoTE9HX0RFQlVHLCAic2V0dGluZyBFUlJfQ0FNRVJBX0NPTU1BTkRfRkFJTFVSRSAtIE9LIG5vdCBmb3VuZCIpOw0KLSAgICB9DQotCURQUklOVEYgKExPR19JTkZPLCAiXG5Db25maWd1cmVDYW1lcmEgRU5ESU5HICBzdWNjZXNzID0gJWlcbiIsIHN1Y2Nlc3MgKTsJDQotDQotCS8qIGNsZWFuIHVwICovDQotCWNsb3NlIChjYW1Tb2NrKTsNCi0JcmV0dXJuICgxKTsNCi19DQotDQotDQotLyoqDQotICogQGJyaWVmIFNlbmRzIGEgcmVxdWVzdCBtZXNzYWdlIHRvIHRoZSBjYW1lcmENCi0gKiBAcGFyYW0gY29uZmlnU3RyaW5nIHJlcXVlc3QgbWVzc2FnZSB0byB0aGUgY2FtZXJhDQotICogQHBhcmFtIGNhbWVyYVJlc3BvbnNlIHJlc3BvbnNlIGZyb20gY2FtZXJhDQotICogQHJldHVybiBzdWNjZXNzOiAwPWZhaWx1cmU7IDE9c3VjY2Vzcw0KLSAqLw0KLWludCBHZXRDYW1lcmFTZXR0aW5nKGNoYXIgKmNvbmZpZ1N0cmluZywgY2hhciAqY2FtZXJhUmVzcG9uc2Upew0KLQljaGFyICpzZXJ2ZXJOYW1lID0gIjE5Mi4xNjguMC45MCI7CQkvKiBjYW1lcmEgQCAqLyANCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQlpbnQgY2FtU29jayA9IDA7ICAgIA0KLQkNCi0JLyogR2VuZXJhdGUgY2FtZXJhIHJlcXVlc3Qgc3RyaW5nICovDQotCWNoYXIgKiBnZXRTdHIxID0gDQotCQkiR0VUIC9heGlzLWNnaS9hZG1pbi9wYXJhbS5jZ2k/YWN0aW9uPWxpc3QmZ3JvdXA9SW1hZ2VTb3VyY2UuSTAuU2Vuc29yLiI7DQotCWNoYXIgY2FtZXJhUmVxdWVzdFtzdHJsZW4oZ2V0U3RyMSkgKyBzdHJsZW4oY29uZmlnU3RyaW5nKV07DQotICAgIHNwcmludGYgKGNhbWVyYVJlcXVlc3QsICIlcyVzIiwJZ2V0U3RyMSwgY29uZmlnU3RyaW5nKTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJjYW1lcmEgY29uZmlndXJhdGlvbiBzdHJpbmc6IFxuJXMiLCBjYW1lcmFSZXF1ZXN0KTsNCi0JY2FtU29jayA9IENhbWVyYU9wZW5Tb2NrZXRBbmRJc3N1ZUF1dGhvcml6ZWRSZXF1ZXN0KHNlcnZlck5hbWUsIGNhbWVyYVJlcXVlc3QpOw0KLQlEUFJJTlRGKExPR19ERUJVRywgInJldHVybiBmcm9tIENhbWVyYU9wZW5Tb2NrZXRBbmRJc3N1ZUF1dGhvcml6ZWRSZXF1ZXN0ICVpIiwgY2FtU29jayk7DQotCQ0KLSAgICAvL3JlYWQgcmVzcG9uc2UNCi0gICAgc3VjY2VzcyA9IENhbWVyYVNraXBVbnRpbEVtcHR5TGluZShjYW1Tb2NrKTsNCi0gICAgc3VjY2VzcyA9IENhbWVyYVJlYWRMaW5lKGNhbVNvY2ssIGNhbWVyYVJlc3BvbnNlLCAxMDI0LCB0cnVlKTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJzdWNjY2VzcyBmcm9tIENhbWVyYVJlYWRMaW5lOiAlaSIsIHN1Y2Nlc3MpOw0KLQlEUFJJTlRGKExPR19ERUJVRywgImxpbmUgcmVhZCBmcm9tIGNhbWVyYSBcbiVzIiwgY2FtZXJhUmVzcG9uc2UpOw0KLQlEUFJJTlRGIChMT0dfSU5GTywgIlxuR2V0Q2FtZXJhU2V0dGluZyBFTkRJTkcgIHN1Y2Nlc3MgPSAlaVxuIiwgc3VjY2VzcyApOwkNCi0NCi0JLyogY2xlYW4gdXAgKi8NCi0JY2xvc2UgKGNhbVNvY2spOw0KLQlyZXR1cm4gKDEpOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgU2VuZHMgYSByZXF1ZXN0IG1lc3NhZ2UgdG8gdGhlIGNhbWVyYSBmb3IgaW1hZ2UgYXBwZWFyYW5jZSBwcm9wZXJ0eQ0KLSAqIChyZXNvbHV0aW9uLCBjb21wcmVzc2lvbiwgcm90YXRpb24pDQotICogQHBhcmFtIGNvbmZpZ1N0cmluZyByZXF1ZXN0IG1lc3NhZ2UgdG8gdGhlIGNhbWVyYQ0KLSAqIEBwYXJhbSBjYW1lcmFSZXNwb25zZSByZXNwb25zZSBmcm9tIGNhbWVyYQ0KLSAqIEByZXR1cm4gc3VjY2VzczogMD1mYWlsdXJlOyAxPXN1Y2Nlc3MNCi0gKi8NCi1pbnQgR2V0SW1hZ2VTZXR0aW5nKGNoYXIgKmNvbmZpZ1N0cmluZywgY2hhciAqY2FtZXJhUmVzcG9uc2Upew0KLQljaGFyICpzZXJ2ZXJOYW1lID0gIjE5Mi4xNjguMC45MCI7CQkvKiBjYW1lcmEgQCAqLyANCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQlpbnQgY2FtU29jayA9IDA7ICAgIA0KLQkNCi0JLyogR2VuZXJhdGUgY2FtZXJhIHJlcXVlc3Qgc3RyaW5nICovDQotCWNoYXIgKmdldFN0cjEgPSAiR0VUIC9heGlzLWNnaS9hZG1pbi9wYXJhbS5jZ2k/YWN0aW9uPWxpc3QmZ3JvdXA9SW1hZ2UuSTAuQXBwZWFyYW5jZS4iOw0KLQljaGFyIGNhbWVyYVJlcXVlc3Rbc3RybGVuKGdldFN0cjEpICsgc3RybGVuKGNvbmZpZ1N0cmluZyldOw0KLSAgICBzcHJpbnRmIChjYW1lcmFSZXF1ZXN0LCAiJXMlcyIsCWdldFN0cjEsIGNvbmZpZ1N0cmluZyk7DQotCURQUklOVEYoTE9HX0RFQlVHLCAiY2FtZXJhIGNvbmZpZ3VyYXRpb24gc3RyaW5nOiBcbiVzIiwgY2FtZXJhUmVxdWVzdCk7DQotCWNhbVNvY2sgPSBDYW1lcmFPcGVuU29ja2V0QW5kSXNzdWVBdXRob3JpemVkUmVxdWVzdChzZXJ2ZXJOYW1lLCBjYW1lcmFSZXF1ZXN0KTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJyZXR1cm4gZnJvbSBDYW1lcmFPcGVuU29ja2V0QW5kSXNzdWVBdXRob3JpemVkUmVxdWVzdCAlaSIsIGNhbVNvY2spOw0KLQkNCi0gICAgLy9yZWFkIHJlc3BvbnNlDQotICAgIHN1Y2Nlc3MgPSBDYW1lcmFTa2lwVW50aWxFbXB0eUxpbmUoY2FtU29jayk7DQotICAgIHN1Y2Nlc3MgPSBDYW1lcmFSZWFkTGluZShjYW1Tb2NrLCBjYW1lcmFSZXNwb25zZSwgMTAyNCwgdHJ1ZSk7DQotCURQUklOVEYoTE9HX0RFQlVHLCAic3VjY2Nlc3MgZnJvbSBDYW1lcmFSZWFkTGluZTogJWkiLCBzdWNjZXNzKTsNCi0JRFBSSU5URihMT0dfREVCVUcsICJsaW5lIHJlYWQgZnJvbSBjYW1lcmEgXG4lcyIsIGNhbWVyYVJlc3BvbnNlKTsNCi0JRFBSSU5URiAoTE9HX0lORk8sICJcbkdldENhbWVyYVNldHRpbmcgRU5ESU5HICBzdWNjZXNzID0gJWlcbiIsIHN1Y2Nlc3MgKTsJDQotDQotCS8qIGNsZWFuIHVwICovDQotCWNsb3NlIChjYW1Tb2NrKTsNCi0JcmV0dXJuICgxKTsNCi19DQotDQotDQotI2RlZmluZSBNRUFTVVJFX1NPQ0tFVF9USU1FIDEgICANCi0NCi0vKioNCi0gKiBAYnJpZWYgTWFuYWdlIGFjY2VzcyB0byB0aGUgY2FtZXJhLiBTZXRzIHVwIHNvY2tldHMgYW5kIHJlYWRzIGltYWdlcw0KLSAqIEBwYXJhbSBmcmFtZXMgRnJhbWVzIHBlciBzZWNvbmQgDQotICogQHBhcmFtIGNvbXByZXNzaW9uIENhbWVyYSBpbWFnZSBjb21wcmVzc2lvbiANCi0gKiBAcGFyYW0gcmVzb2x1dGlvbiBDYW1lcmEgaW1hZ2Ugc2l6ZSANCi0gKiBAcGFyYW0gcm90YXRpb24gQ2FtZXJhIGltYWdlIHJvdGF0aW9uIA0KLSAqIEByZXR1cm4gZXJyb3INCi0gKi8NCi1pbnQgY2FtZXJhSlBFR1NlcnZlcihpbnQgZnJhbWVzLCBpbnQgY29tcHJlc3Npb24sIEltYWdlUmVzb2x1dGlvbiByZXNvbHV0aW9uLCBJbWFnZVJvdGF0aW9uIHJvdGF0aW9uKQ0KLXsNCi0JY2hhciBmdW5jTmFtZVtdPSJjYW1lcmFKUEVHU2VydmVyIjsNCi0JY2hhciAqc2VydmVyTmFtZSA9ICIxOTIuMTY4LjAuOTAiOwkJLyogY2FtZXJhIEAgKi8gDQotCWNvbnQgPSAxOw0KLQlpbnQgZXJyb3JDb2RlID0gMDsNCi0JaW50IHByaW50Q291bnRlciA9IDA7DQotCWludAl3cml0ZUluZGV4Ow0KLQlpbnQgYXV0aG9yaXplQ291bnQgPSAwOw0KLQlpbnQgYXV0aG9yaXplQ29uZmlybWVkID0gMDsNCi0Jc3RhdGljIGNvbnN0IGludCBhdXRoZW50aWNhdGlvblN0cmluZ3NDb3VudCA9IDM7DQotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBhdXRoZW50aWNhdGlvblN0cmluZ3NbXSA9IHsNCi0gICAgCQkiY205dmREcGhaRzFwYmc9PSIsIC8qIHJvb3QsIGFkbWluKi8NCi0gICAgCQkiUmxKRE9rWlNRdz09IiwgICAgIC8qIEZSQywgRlJDICovDQotICAgIAkJImNtOXZkRHB3WVhOej09IiAgICAvKiByb290LCBwYXNzKi8NCi0gICAgfTsNCi0NCi0JRFBSSU5URiAoTE9HX0RFQlVHLCAiY2FtZXJhSlBFR1NlcnZlciIgKTsgDQotCQ0KLQlzdHJ1Y3Qgc29ja2FkZHJfaW4gY2FtZXJhQWRkcjsNCi0JaW50IHNvY2tBZGRyU2l6ZTsgIA0KLQlpbnQgY2FtU29jayA9IDA7ICAgIA0KLQ0KLQljaGFyIHJlc1N0clsxMF07DQotCXN3aXRjaCAocmVzb2x1dGlvbikgew0KLQkJY2FzZSBrNjQweDQ4MDogeyBzcHJpbnRmKHJlc1N0ciwiNjQweDQ4MCIpOyBicmVhazsgfQ0KLQkJY2FzZSBrMzIweDI0MDogeyBzcHJpbnRmKHJlc1N0ciwiMzIweDI0MCIpOyBicmVhazsgfQ0KLQkJY2FzZSBrMTYweDEyMDogeyBzcHJpbnRmKHJlc1N0ciwiMTYweDEyMCIpOyBicmVhazsgfQ0KLQkJZGVmYXVsdDoge0RQUklOVEYgKExPR19ERUJVRywgImNvZGUgZXJyb3IgLSByZXNvbHV0aW9uIGlucHV0IiApOyBicmVhazsgfQ0KLQl9DQotCQ0KLQkvKiBHZW5lcmF0ZSBjYW1lcmEgaW5pdGlhbGl6YXRpb24gc3RyaW5nICovDQotCS8qIGNoYW5nZWQgcmVzb2x1dGlvbiB0byAxNjB4MTIwIGZyb20gMzIweDI0MCAqLw0KLQkvKiBzdXBwb3J0ZWQgcmVzb2x1dGlvbnMgYXJlOiA2NDB4NDgwLCA2NDB4MzYwLCAzMjB4MjQwLCAxNjB4MTIwICovCQ0KLQljaGFyICogZ2V0U3RyMSA9IA0KLQkiR0VUIC9heGlzLWNnaS9tanBnL3ZpZGVvLmNnaT9zaG93bGVuZ3RoPTEmY2FtZXJhPTEmIjsJDQotCQkNCi0JY2hhciBpbnNlcnRTdHJbMTAwXTsNCi0Jc3ByaW50ZiAoaW5zZXJ0U3RyLCAiZGVzX2Zwcz0laSZjb21wcmVzc2lvbj0laSZyZXNvbHV0aW9uPSVzJnJvdGF0aW9uPSVpIiwgDQotCQkJZnJhbWVzLCBjb21wcmVzc2lvbiwgcmVzU3RyLCAoaW50KXJvdGF0aW9uKTsJDQotCQ0KLQljaGFyICogZ2V0U3RyMiA9ICIgSFRUUC8xLjFcblwNCi1Vc2VyLUFnZW50OiBIVFRQU3RyZWFtQ2xpZW50XG5cDQotSG9zdDogMTkyLjE1MC4xLjEwMFxuXA0KLUNvbm5lY3Rpb246IEtlZXAtQWxpdmVcblwNCi1DYWNoZS1Db250cm9sOiBuby1jYWNoZVxuXA0KLUF1dGhvcml6YXRpb246IEJhc2ljICVzO1xuXG4iOw0KLQ0KLQljaGFyIGdldFN0cltzdHJsZW4oZ2V0U3RyMSkgKyBzdHJsZW4oaW5zZXJ0U3RyKSArIHN0cmxlbihnZXRTdHIyKV07ICAgICAgDQotICAgIHNwcmludGYgKGdldFN0ciwgIiVzOiVzJXMiLAlnZXRTdHIxLCBpbnNlcnRTdHIsIGdldFN0cjIpOw0KLQ0KLQlEUFJJTlRGKExPR19ERUJVRywgInJldmlzZWQgY2FtZXJhIHN0cmluZzogXG4lcyIsIGdldFN0cik7DQotCS8qIEFsbG9jYXRpb24gKi8NCi0JY2hhciB0ZW1wQnVmZmVyWzEwMjRdOw0KLSAgICANCi0JUkVUUlk6DQotCVdhaXQoMC4xKTsgIC8vYnVnIGZpeCAtIGRvbid0IHBlc3RlciBjYW1lcmEgaWYgaXQncyBib290aW5nDQotCXdoaWxlIChnbG9iYWxDYW1lcmEuYWNxdWlyZSA9PSAwKSBXYWl0KDAuMSk7DQotDQotCWlmICghYXV0aG9yaXplQ29uZmlybWVkKXsNCi0JICBpZiAoYXV0aG9yaXplQ291bnQgPCBhdXRoZW50aWNhdGlvblN0cmluZ3NDb3VudCl7DQotCSAgICBzcHJpbnRmICh0ZW1wQnVmZmVyLCBnZXRTdHIsIGF1dGhlbnRpY2F0aW9uU3RyaW5nc1thdXRob3JpemVDb3VudF0pOw0KLQkgIH0gZWxzZSB7DQotCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9BVVRIT1JJWkFUSU9OX0ZBSUxFRCwgZnVuY05hbWUpOw0KLQkJZnByaW50ZihzdGRlcnIsICJDYW1lcmEgYXV0aG9yaXphdGlvbiBmYWlsZWQgLi4uIEluY29ycmVjdCBwYXNzd29yZCBvbiBjYW1lcmEhISIpOw0KLQkJcmV0dXJuIChFUlJPUik7DQotCSAgfQ0KLQl9DQotDQotCXdoaWxlICgxKQ0KLQl7DQotCSAgZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX1NPQ0tFVF9JTklUX0FUVEVNUFRTXSsrOwkgIA0KLQ0KLQkgIC8qIGNyZWF0ZSBjYW1lcmEgc29ja2V0ICovDQotCSAgRFBSSU5URiAoTE9HX0RFQlVHLCAiY3JlYXRpbmcgY2FtU29jayIgKTsgDQotCSAgaWYgKChjYW1Tb2NrID0gc29ja2V0IChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCkpID09IEVSUk9SKSB7CQ0KLQkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfU09DS0VUX0NSRUFURV9GQUlMRUQsIGZ1bmNOYW1lKTsNCi0JCXBlcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzb2NrZXQiKTsNCi0JCWNvbnQgPSAwOw0KLQkJcmV0dXJuIChFUlJPUik7DQotCSAgfQ0KLQ0KLQkgIHNvY2tBZGRyU2l6ZSA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsNCi0JICBiemVybyAoKGNoYXIgKikgJmNhbWVyYUFkZHIsIHNvY2tBZGRyU2l6ZSk7DQotCSAgY2FtZXJhQWRkci5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCi0JICBjYW1lcmFBZGRyLnNpbl9sZW4gPSAodV9jaGFyKSBzb2NrQWRkclNpemU7DQotCSAgY2FtZXJhQWRkci5zaW5fcG9ydCA9IGh0b25zIChDQU1FUkFfUE9SVCk7DQotDQotCSAgRFBSSU5URiAoTE9HX0RFQlVHLCAiZ2V0dGluZyBJUCIgKTsNCi0JICBpZiAoKCAoaW50KShjYW1lcmFBZGRyLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkciAoc2VydmVyTmFtZSkgKSA9PSBFUlJPUikgJiYNCi0JCSggKGludCkoY2FtZXJhQWRkci5zaW5fYWRkci5zX2FkZHIgPSBob3N0R2V0QnlOYW1lIChzZXJ2ZXJOYW1lKSApID09IEVSUk9SKSkgDQotCSAgewkNCi0JCSAgQ2FtZXJhQ2xvc2VTb2NrZXQoIkZhaWxlZCB0byBnZXQgSVAsIGNoZWNrIGhvc3RuYW1lIG9yIElQIiwgY2FtU29jayk7DQotCQljb250aW51ZTsNCi0JICB9DQotCSAgDQotCSAgRFBSSU5URiAoTE9HX0lORk8sICJBdHRlbXB0aW5nIHRvIGNvbm5lY3QgdG8gY2FtU29jayIgKTsgDQotCSAgaWYgKGNvbm5lY3QgKGNhbVNvY2ssIChzdHJ1Y3Qgc29ja2FkZHIgKikgJmNhbWVyYUFkZHIsIHNvY2tBZGRyU2l6ZSkgPT0gRVJST1IpIAl7DQotCQlpbWFxU2V0RXJyb3IoRVJSX0NBTUVSQV9DT05ORUNUX0ZBSUxFRCwgZnVuY05hbWUpOw0KLQkJQ2FtZXJhQ2xvc2VTb2NrZXQoIkZhaWxlZCB0byBjb25uZWN0IHRvIGNhbWVyYSAtIGNoZWNrIG5ldHdvcmsiLCBjYW1Tb2NrKTsNCi0JCWNvbnRpbnVlOw0KLQkgIH0JICANCi0NCi0jaWYgTUVBU1VSRV9TT0NLRVRfU0VUVVANCi0JICBzb2NrZXRFbmRUaW1lID0gR2V0VGltZSgpOyANCi0JICBzZXR1cFRpbWUgPSBzb2NrZXRFbmRUaW1lIC0gc29ja2V0U3RhcnRUaW1lOyANCi0JICBwcmludGYoIlxuKioqc29ja2V0IHNldHVwIHRpbWUgPSAlZ1xuIiwgc2V0dXBUaW1lICk7DQotI2VuZGlmCSAgDQotCSAgDQotCSAgZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX1NPQ0tFVF9PUEVOXSsrOw0KLQkgIGJyZWFrOw0KLQl9IC8vIGVuZCB3aGlsZSAodHJ5aW5nIHRvIGNvbm5lY3QgdG8gY2FtZXJhKQ0KLQ0KLQlEUFJJTlRGIChMT0dfREVCVUcsICJ3cml0aW5nIEdFVCByZXF1ZXN0IHRvIGNhbVNvY2siICk7IA0KLQlpZiAod3JpdGUgKGNhbVNvY2ssIHRlbXBCdWZmZXIgLCBzdHJsZW4odGVtcEJ1ZmZlcikgKSA9PSBFUlJPUikgew0KLQkJcmV0dXJuIENhbWVyYUNsb3NlU29ja2V0KCJGYWlsZWQgdG8gc2VuZCBHRVQgcmVxdWVzdCIsIGNhbVNvY2spOw0KLQl9DQotDQotCS8vRFBSSU5URiAoTE9HX0RFQlVHLCAicmVhZGluZyBoZWFkZXIiICk7IA0KLQkvKiBGaW5kIGNvbnRlbnQtbGVuZ3RoLCB0aGVuIHJlYWQgdGhhdCBtYW55IGJ5dGVzICovDQotCWludCBjb3VudGVyID0gMjsNCi0JY2hhciogY29udGVudFN0cmluZyA9ICJDb250ZW50LUxlbmd0aDogIjsNCi0JY2hhciogYXV0aG9yaXplU3RyaW5nID0gIjIwMCBPSyI7DQotCQ0KLSNkZWZpbmUgTUVBU1VSRV9USU1FIDANCi0jaWYgTUVBU1VSRV9USU1FDQotCS8vdGltaW5nIHBhcmFtZXRlcnMgLSBvbmx5IG1lYXN1cmUgb25lIGF0IHRoZSB0aW1lDQotCWRvdWJsZSBsb29wU3RhcnRUaW1lID0gMC4wOyAvLyBtZWFzdXJpbmcgc3BlZWQgb2YgZXhlY3V0aW9uIGxvb3ANCi0JZG91YmxlIGxvb3BFbmRUaW1lID0gMC4wOw0KLQlkb3VibGUgY2FtZXJhU3RhcnRUaW1lID0gMC4wOw0KLQlkb3VibGUgY2FtZXJhRW5kVGltZSA9IDAuMDsNCi0JZG91YmxlIHByZXZpb3VzU3RhcnRUaW1lID0gMC4wOw0KLQlpbnQgcGVyZm9ybWFuY2VMb29wQ291bnRlciA9IDA7DQotCWludCBtYXhDb3VudCA9IDMwOw0KLSNlbmRpZg0KLQkNCi0Jd2hpbGUgKGNvbnQpIHsNCi0jaWYgTUVBU1VSRV9USU1FDQotCQlwcmV2aW91c1N0YXJ0VGltZSA9IGxvb3BTdGFydFRpbWU7ICAvLyBmaXJzdCB0aW1lIGlzIGJvZ3VzDQotCQlsb29wU3RhcnRUaW1lID0gR2V0VGltZSgpOyANCi0jZW5kaWYJDQotCQkvLyBJZiBjYW1lcmEgaGFzIGJlZW4gdHVybmVkIE9GRiwganVtcCB0byBSRVRSWQ0KLQkJLy9pZiAoZ2xvYmFsQ2FtZXJhLmFjcXVpcmUgPT0gMCkgZ290byBSRVRSWTsNCi0JCQ0KLQkJLyogRGV0ZXJtaW5lIHdyaXRlciBpbmRleCAqLw0KLQkJaWYgKGdsb2JhbENhbWVyYS5pbmRleCA9PSAwKQ0KLQkJCXdyaXRlSW5kZXggPSAxOw0KLQkJZWxzZQ0KLQkJCXdyaXRlSW5kZXggPSAwOw0KLQkJDQotCQkvKiByZWFkIGhlYWRlciAqLw0KLQkJLy9UT0RPOiBjaGVjayBmb3IgZXJyb3IgaW4gaGVhZGVyLCBpbmNyZW1lbnQgRVJSX0NBTUVSQV9IRUFERVJfRVJST1INCi0JCWNoYXIgaW5pdGlhbFJlYWRCdWZmZXJbREVGQVVMVF9QQUNLRVRfU0laRV0gPSAiIjsNCi0JCWNoYXIgaW50ZXJtZWRpYXRlQnVmZmVyWzFdOw0KLQkJY2hhciAqdHJhaWxpbmdQdHIgPSBpbml0aWFsUmVhZEJ1ZmZlcjsNCi0JCWludCB0cmFpbGluZ0NvdW50ZXIgPSAwOw0KLQkJDQotDQotI2lmIE1FQVNVUkVfVElNRQ0KLQkJY2FtZXJhU3RhcnRUaW1lID0gR2V0VGltZSgpOyANCi0jZW5kaWYJDQotDQotCQl3aGlsZSAoY291bnRlcikgew0KLQkJCWlmIChyZWFkIChjYW1Tb2NrLCBpbnRlcm1lZGlhdGVCdWZmZXIsIDEpIDw9IDApIHsNCi0JCQkJQ2FtZXJhQ2xvc2VTb2NrZXQoIkZhaWxlZCB0byByZWFkIGltYWdlIGhlYWRlciIsIGNhbVNvY2spOw0KLQkJCQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tFUlJfQ0FNRVJBX0hFQURFUl9FUlJPUl0rKzsNCi0JCQkJZ290byBSRVRSWTsNCi0JCQl9DQotDQotCQkJc3RybmNhdChpbml0aWFsUmVhZEJ1ZmZlciwgaW50ZXJtZWRpYXRlQnVmZmVyLCAxKTsNCi0JCQlpZiAoTlVMTCAhPSBzdHJzdHIodHJhaWxpbmdQdHIsICJcclxuXHJcbiIpKSB7DQotDQotCQkJCSAgaWYgKCFhdXRob3JpemVDb25maXJtZWQpew0KLQ0KLQkJCQkJICBpZiAoc3Ryc3RyKGluaXRpYWxSZWFkQnVmZmVyLCBhdXRob3JpemVTdHJpbmcpKQ0KLQkJCQkJICB7DQotCQkJCQkJICBhdXRob3JpemVDb25maXJtZWQgPSAxOw0KLQkJCQkJCSAgLyogc2V0IGNhbWVyYSB0byBpbml0aWFsaXplZCAqLw0KLQkJCQkJCSAgZ2xvYmFsQ2FtZXJhLmNhbWVyYVJlYWR5ID0gMTsgDQotCQkJCQkgIH0NCi0JCQkJCSAgZWxzZQ0KLQkJCQkJICB7DQotCQkJCQkJICBDYW1lcmFDbG9zZVNvY2tldCgiTm90IGF1dGhvcml6ZWQgdG8gY29ubmVjdCB0byBjYW1lcmEiLCBjYW1Tb2NrKTsNCi0JCQkJCQkgIGF1dGhvcml6ZUNvdW50Kys7DQotCQkJCSAgZ290byBSRVRSWTsNCi0JCQkJCSAgfQ0KLQkJCQl9DQotCQkJCS0tY291bnRlcjsNCi0JCQl9DQotCQkJaWYgKCsrdHJhaWxpbmdDb3VudGVyID49IDQpIHsNCi0JCQkJdHJhaWxpbmdQdHIrKzsNCi0JCQl9DQotCQl9DQotCQ0KLQkJY291bnRlciA9IDE7DQotCQljaGFyICpjb250ZW50TGVuZ3RoID0gc3Ryc3RyKGluaXRpYWxSZWFkQnVmZmVyLCBjb250ZW50U3RyaW5nKTsNCi0JCWlmIChjb250ZW50TGVuZ3RoID09IE5VTEwpIHsNCi0JCQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tFUlJfQ0FNRVJBX0hFQURFUl9FUlJPUl0rKzsNCi0JCQlDYW1lcmFDbG9zZVNvY2tldCgiTm8gY29udGVudC1sZW5ndGggdG9rZW4gZm91bmQgaW4gcGFja2V0IiwgY2FtU29jayk7DQotCQkJZ290byBSRVRSWTsNCi0JCX0NCi0JCS8qIGdldCBsZW5ndGggb2YgaW1hZ2UgY29udGVudCAqLw0KLQkJY29udGVudExlbmd0aCA9IGNvbnRlbnRMZW5ndGggKyBzdHJsZW4oY29udGVudFN0cmluZyk7DQotCQlnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5jYW1lcmFJbWFnZVNpemUgPSBhdG9sIChjb250ZW50TGVuZ3RoKTsNCi0JCQ0KLQkJaWYoZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uY2FtZXJhSW1hZ2UpDQotCQkJZnJlZShnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5jYW1lcmFJbWFnZSk7DQotCQkvL2dsb2JhbENhbWVyYS5kYXRhW3dyaXRlSW5kZXhdLmNhbWVyYUltYWdlID0gKEltYWdlICopIG1hbGxvYyhnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5jYW1lcmFJbWFnZVNpemUpOw0KLQkJZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uY2FtZXJhSW1hZ2UgPSAoY2hhciopbWFsbG9jKGdsb2JhbENhbWVyYS5kYXRhW3dyaXRlSW5kZXhdLmNhbWVyYUltYWdlU2l6ZSk7DQotCQlpZiAoTlVMTCA9PSBnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5jYW1lcmFJbWFnZSkgew0KLQkJCXJldHVybiBDYW1lcmFDbG9zZVNvY2tldCgiRmFpbGVkIHRvIGFsbG9jYXRlIHNwYWNlIGZvciBpbWFnZVN0cmluZyIsIGNhbVNvY2spOw0KLQkJfQ0KLQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0JVRkZFUlNfV1JJVFRFTl0rKzsNCi0JCQ0KLQkJLy8NCi0JCS8vIFRoaXMgaXMgYSBibG9ja2luZyBjYW1lcmEgcmVhZCBmdW5jdGlvbiwgYW5kIHdpbGwgYmxvY2sgaWYgdGhlIGNhbWVyYQ0KLQkJLy8gaGFzIGJlZW4gZGlzY29ubmVjdGVkIGZyb20gdGhlIGNSSU8uICBJZiBob3dldmVyIHRoZSBjYW1lcmEgaXMNCi0JCS8vIFBPV0VSRUQgT0ZGIHdoaWxlIGNvbm5lY3RlZCB0byB0aGUgY1JJTywgdGhpcyBmdW5jdGlvbiBORVZFUiBSRVRVUk5TDQotCQkvLw0KLQkJaW50IGJ5dGVzUmVhZCA9IGZpb1JlYWQgKGNhbVNvY2ssIChjaGFyICopZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uY2FtZXJhSW1hZ2UsDQotCQkJCWdsb2JhbENhbWVyYS5kYXRhW3dyaXRlSW5kZXhdLmNhbWVyYUltYWdlU2l6ZSk7DQotDQotI2lmIE1FQVNVUkVfVElNRQ0KLQkJY2FtZXJhRW5kVGltZSA9IEdldFRpbWUoKTsgDQotI2VuZGlmCQ0KLQkJDQotCQkvL0RQUklOVEYgKExPR19ERUJVRywgIkNvbXBsZXRlZCBmaW9SZWFkIGZ1bmN0aW9uIC0gYnl0ZXMgcmVhZDolZCIsIGJ5dGVzUmVhZCk7DQotCQlpZiAoYnl0ZXNSZWFkIDw9IDApIHsNCi0JCQlDYW1lcmFDbG9zZVNvY2tldCgiRmFpbGVkIHRvIHJlYWQgaW1hZ2UgZGF0YSIsIGNhbVNvY2spOw0KLQkJCWdvdG8gUkVUUlk7DQotCQl9IGVsc2UgaWYgKGJ5dGVzUmVhZCAhPSBnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5jYW1lcmFJbWFnZVNpemUpew0KLQkJCWZwcmludGYoc3RkZXJyLCAiRVJST1I6IEZhaWxlZCB0byByZWFkIGVudGlyZSBpbWFnZTogcmVhZExlbmd0aCBkb2VzIG5vdCBtYXRjaCBieXRlcyByZWFkIik7DQotCQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX0JBRF9JTUFHRV9TSVpFXSsrOw0KLQkJfQ0KLQkJLy8gaWYgZGVjb2RpbmcgdGhlIEpQRUcgdG8gYW4gSFNMIEltYWdlLCBkbyBpdCBoZXJlDQotCQlpZiAoZ2xvYmFsQ2FtZXJhLmRlY29kZSkgew0KLQkJCWlmKGdsb2JhbENhbWVyYS5kYXRhW3dyaXRlSW5kZXhdLmRlY29kZWRJbWFnZSkNCi0JCQkJZnJjRGlzcG9zZShnbG9iYWxDYW1lcmEuZGF0YVt3cml0ZUluZGV4XS5kZWNvZGVkSW1hZ2UpOw0KLQkJCWdsb2JhbENhbWVyYS5kYXRhW3dyaXRlSW5kZXhdLmRlY29kZWRJbWFnZSA9IGZyY0NyZWF0ZUltYWdlKElNQVFfSU1BR0VfSFNMKTsNCi0JCQlpZiAoISBQcml2X1JlYWRKUEVHU3RyaW5nX0MoZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uZGVjb2RlZEltYWdlLCANCi0JCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uY2FtZXJhSW1hZ2UsIA0KLQkJCQkJZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0uY2FtZXJhSW1hZ2VTaXplKSApIHsNCi0JCQkJRFBSSU5URiAoTE9HX0RFQlVHLCAiZmFpbHVyZSBjcmVhdGluZyBJbWFnZSIpOwkJCQ0KLQkJCX0NCi0JCX0NCi0JCQ0KLQkJLy8gVE9ETzogUmVhY3QgdG8gcGFydGlhbCBpbWFnZQ0KLQkJZ2xvYmFsQ2FtZXJhLmRhdGFbd3JpdGVJbmRleF0udGltZXN0YW1wID0gR2V0VGltZSgpOw0KLQkJZ2xvYmFsQ2FtZXJhLmluZGV4ID0gd3JpdGVJbmRleDsNCi0JCQ0KLQkJLyogc2lnbmFsIGEgbGlzdGVuaW5nIHRhc2sgKi8NCi0JCWlmIChnbG9iYWxDYW1lcmEucmVhZGVyUElEKSB7DQotCQkJaWYgKHRhc2tLaWxsIChnbG9iYWxDYW1lcmEucmVhZGVyUElELFNJR1VTUjEpID09IE9LKQ0KLQkJCQlEUFJJTlRGIChMT0dfREVCVUcsICJTSUdOQUxJTkcgUElEPSAlaSIsIGdsb2JhbENhbWVyYS5yZWFkZXJQSUQpOw0KLQkJCWVsc2UNCi0JCQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX1BJRF9TSUdOQUxfRVJSXSsrOw0KLQkJCQlEUFJJTlRGIChMT0dfREVCVUcsICJFUlJPUiBTSUdOQUxJTkcgUElEPSAlaSIsIGdsb2JhbENhbWVyYS5yZWFkZXJQSUQpOw0KLQkJfQ0KLQ0KLQkJZ2xvYmFsQ2FtZXJhLmNhbWVyYU1ldHJpY3NbQ0FNX05VTV9JTUFHRV0rKzsJDQotCQlwcmludENvdW50ZXIgKys7DQotCQlpZiAocHJpbnRDb3VudGVyID09IDEwMDApIHsgDQotCQkJRFBSSU5URiAoTE9HX0RFQlVHLCAiaW1hZ2VDb3VudGVyID0gJWkiLCBnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tDQU1fTlVNX0lNQUdFXSk7IA0KLQkJCXByaW50Q291bnRlcj0wOyANCi0JCX0NCi0JCQ0KLQkJdGFza0RlbGF5KDEpOyAgDQotCQkNCi0jaWYgTUVBU1VSRV9USU1FDQotCQlsb29wRW5kVGltZSA9IEdldFRpbWUoKTsgDQotCQlwZXJmb3JtYW5jZUxvb3BDb3VudGVyKys7DQotCQlpZiAocGVyZm9ybWFuY2VMb29wQ291bnRlciA8PSBtYXhDb3VudCkgew0KLQkJCURQUklOVEYgKExPR19ERUJVRywgIiVpIERPTkUhISE6IGxvb3AgPSAsJWcsICBjYW1lcmEgPSAsJWcsICBkaWZmZXJlbmNlID0gLCVnLCBsb29wUmF0ZT0gLCVnLCIsDQotCQkJCQlwZXJmb3JtYW5jZUxvb3BDb3VudGVyLCBsb29wRW5kVGltZS1sb29wU3RhcnRUaW1lLCBjYW1lcmFFbmRUaW1lLWNhbWVyYVN0YXJ0VGltZSwgDQotCQkJCQkobG9vcEVuZFRpbWUtbG9vcFN0YXJ0VGltZSkgLSAoY2FtZXJhRW5kVGltZS1jYW1lcmFTdGFydFRpbWUpLA0KLQkJCQkJbG9vcFN0YXJ0VGltZS1wcmV2aW91c1N0YXJ0VGltZSk7CQkJCQkJDQotCQl9DQotI2VuZGlmCQ0KLQl9ICAvKiBlbmQgd2hpbGUgKGNvbnQpICovDQotDQotCS8qIGNsZWFuIHVwICovDQotCWNsb3NlIChjYW1Tb2NrKTsNCi0JY29udCA9IDA7DQotCURQUklOVEYgKExPR19JTkZPLCAiXG5KUEVHIFNFUlZFUiBFTkRJTkcgIGVycm9yQ29kZSA9ICVpXG4iLCBlcnJvckNvZGUgKTsNCi0JDQotCXJldHVybiAoT0spOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgU3RhcnQgc2lnbmFsaW5nIGEgdGFzayB3aGVuIG5ldyBpbWFnZXMgYXJlIGF2YWlsYWJsZQ0KLSAqIEBwYXJhbSB0YXNrSUQgbnVtYmVyIGZvciB0YXNrIHRvIGdldCB0aGUgc2lnbmFsDQotICovDQotdm9pZCBTdGFydEltYWdlU2lnbmFsKGludCB0YXNrSWQpIC8vIFN0YXJ0IGlzc3VpbmcgYSBTSUdVU1IxIHNpZ25hbCB0byB0aGUgc3BlY2lmaWVkIHRhc2tJZA0KLXsJZ2xvYmFsQ2FtZXJhLnJlYWRlclBJRCA9IHRhc2tJZDsgfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBTdGFydCBzZXJ2aW5nIGltYWdlcw0KLSAqLw0KLXZvaWQgU3RhcnRJbWFnZUFjcXVpc2l0aW9uKCkNCi17CQ0KLQlnbG9iYWxDYW1lcmEuY2FtZXJhTWV0cmljc1tDQU1fU1RBUlRTXSsrOyAgDQotCWdsb2JhbENhbWVyYS5hY3F1aXJlID0gMTsgDQotCURQUklOVEYoTE9HX0RFQlVHLCAic3RhcnRpbmcgYWNxdWlzaXRpb24iKTsNCi19DQotDQotDQotLyoqDQotICogQGJyaWVmIFN0b3Agc2VydmluZyBpbWFnZXMNCi0gKi8NCi12b2lkIFN0b3BJbWFnZUFjcXVpc2l0aW9uKCkNCi17CWdsb2JhbENhbWVyYS5jYW1lcmFNZXRyaWNzW0NBTV9TVE9QU10rKzsgIGdsb2JhbENhbWVyYS5hY3F1aXJlID0gMDsgfQ0KLQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBUaGlzIGlzIHRoZSByb3V0aW5lIHRoYXQgaXMgcnVuIHdoZW4gdGhlIHRhc2sgaXMgc3Bhd25lZA0KLSAqIEl0IGluaXRpYWxpemVzIHRoZSBjYW1lcmEgd2l0aCB0aGUgaW1hZ2Ugc2V0dGluZ3MgcGFzc2VkIGluLCBhbmQNCi0gKiBzdGFydHMgaW1hZ2UgYWNxdWlzaXRpb24uDQotICogQHBhcmFtIGZyYW1lcyBGcmFtZXMgcGVyIHNlY29uZCANCi0gKiBAcGFyYW0gY29tcHJlc3Npb24gQ2FtZXJhIGltYWdlIGNvbXByZXNzaW9uIA0KLSAqIEBwYXJhbSByZXNvbHV0aW9uIENhbWVyYSBpbWFnZSBzaXplIA0KLSAqIEBwYXJhbSByb3RhdGlvbiBDYW1lcmEgaW1hZ2Ugcm90YXRpb24gDQotICovDQotc3RhdGljIGludCBpbml0Q2FtZXJhKGludCBmcmFtZXMsIGludCBjb21wcmVzc2lvbiwgSW1hZ2VSZXNvbHV0aW9uIHJlc29sdXRpb24sIEltYWdlUm90YXRpb24gcm90YXRpb24pIA0KLXsNCi0JLy9TZXREZWJ1Z0ZsYWcgKCBERUJVR19TQ1JFRU5fQU5EX0ZJTEUgICkgOw0KLQkNCi0JRFBSSU5URihMT0dfREVCVUcsICJcbisrKysrIGNhbWVyYSB0YXNrIHN0YXJ0aW5nOiByb3RhdGlvbiA9ICVpIiwgKGludClyb3RhdGlvbik7DQotCWludCBlcnJvckNvZGU7DQotDQotCS8qIEluaXRpYWxpemUgZ2xvYmFsQ2FtZXJhIGFyZWEgDQotCSAqIFNldCBkZWNvZGUgdG8gMSAtIGFsd2F5cyB3YW50IHRvIGRlY29kZSBpbWFnZXMgZm9yIHByb2Nlc3NpbmcgDQotCSAqIElmIE9OTFkgc2VuZGluZyBpbWFnZXMgdG8gdGhlIGRhc2hib2FyZCwgeW91IGNvdWxkIHNldCBpdCB0byAwICovDQotCWJ6ZXJvICgoY2hhciAqKSZnbG9iYWxDYW1lcmEsIHNpemVvZihnbG9iYWxDYW1lcmEpKTsNCi0JZ2xvYmFsQ2FtZXJhLmluZGV4ID0gLTE7DQotCWdsb2JhbENhbWVyYS5kZWNvZGUgPSAxOw0KLQkNCi0JLyogYWxsb3cgd3JpdGluZyB0byB2eFdvcmtzIHRhcmdldCAqLw0KLQlQcml2X1NldFdyaXRlRmlsZUFsbG93ZWQoMSk7IA0KLQkNCi0JLyogc3RhcnQgYWNxdWlzaXRpb24gaW1tZWRpYXRlbHkgKi8NCi0JU3RhcnRJbWFnZUFjcXVpc2l0aW9uKCk7DQotCQ0KLQkvKiAgY2FtZXJhSlBFR1NlcnZlciBydW5zIHVudGlsIGNhbWVyYSBpcyBzdG9wcGVkICovDQotCURQUklOVEYgKExPR19ERUJVRywgImNhbGxpbmcgY2FtZXJhSlBFR1NlcnZlciIgKTsgDQotCWVycm9yQ29kZSA9IGNhbWVyYUpQRUdTZXJ2ZXIoZnJhbWVzLCBjb21wcmVzc2lvbiwgcmVzb2x1dGlvbiwgcm90YXRpb24pOwkNCi0JRFBSSU5URiAoTE9HX0lORk8sICJlcnJvckNvZGUgZnJvbSBjYW1lcmFKUEVHU2VydmVyID0gJWlcbiIsIGVycm9yQ29kZSApOyANCi0JcmV0dXJuIChPSyk7DQotfQ0KLQ0KLVRhc2sgZ19heGlzQ2FtZXJhVGFzaygiQ2FtZXJhIiwgKEZVTkNQVFIpaW5pdENhbWVyYSk7DQotDQotLyoqDQotICogQGJyaWVmIFN0YXJ0IHRoZSBjYW1lcmEgdGFzaw0KLSAqIEBwYXJhbSBmcmFtZXMgRnJhbWVzIHBlciBzZWNvbmQgDQotICogQHBhcmFtIGNvbXByZXNzaW9uIENhbWVyYSBpbWFnZSBjb21wcmVzc2lvbiANCi0gKiBAcGFyYW0gcmVzb2x1dGlvbiBDYW1lcmEgaW1hZ2Ugc2l6ZSANCi0gKiBAcGFyYW0gcm90YXRpb24gQ2FtZXJhIGltYWdlIHJvdGF0aW9uIChST1RfMCBvciBST1RfMTgwKQ0KLSAqIEByZXR1cm4gVGFza0lEIG9mIGNhbWVyYSB0YXNrLCBvciAtMSBpZiBlcnJvci4NCi0gKi8NCi1pbnQgU3RhcnRDYW1lcmFUYXNrKCkNCi17DQotCXJldHVybiBTdGFydENhbWVyYVRhc2soMTAsIDAsIGsxNjB4MTIwLCBST1RfMCk7DQotfQ0KLWludCBTdGFydENhbWVyYVRhc2soaW50IGZyYW1lcywgaW50IGNvbXByZXNzaW9uLCBJbWFnZVJlc29sdXRpb24gcmVzb2x1dGlvbiwgSW1hZ2VSb3RhdGlvbiByb3RhdGlvbikNCi17DQotCWNoYXIgZnVuY05hbWVbXT0ic3RhcnRDYW1lcmFUYXNrIjsNCi0JRFBSSU5URihMT0dfREVCVUcsICJzdGFydGluZyBjYW1lcmEiKTsNCi0NCi0JaW50IGNhbWVyYVRhc2tJRCA9IDA7DQotDQotCS8vcmFuZ2UgY2hlY2sNCi0JaWYgKGZyYW1lcyA8IDEpIGZyYW1lcyA9IDE7DQotCWVsc2UgaWYgKGZyYW1lcyA+IDMwKSBmcmFtZXMgPSAzMDsNCi0JaWYgKGNvbXByZXNzaW9uIDwgMCkgY29tcHJlc3Npb24gPSAwOwkJDQotCWVsc2UgaWYgKGNvbXByZXNzaW9uID4gMTAwKSBjb21wcmVzc2lvbiA9IDEwMDsNCi0NCi0JLy8gc3RvcCBhbnkgcHJpb3IgY29weSBvZiBydW5uaW5nIHRhc2sNCi0JU3RvcENhbWVyYVRhc2soKTsgDQotDQotCS8vIHNwYXduIGNhbWVyYSB0YXNrDQotCWJvb2wgc3RhcnRlZCA9IGdfYXhpc0NhbWVyYVRhc2suU3RhcnQoZnJhbWVzLCBjb21wcmVzc2lvbiwgcmVzb2x1dGlvbiwgcm90YXRpb24pOw0KLQljYW1lcmFUYXNrSUQgPSBnX2F4aXNDYW1lcmFUYXNrLkdldElEKCk7DQotCURQUklOVEYoTE9HX0RFQlVHLCAic3Bhd25lZCB0YXNrIGlkICVpIiwgY2FtZXJhVGFza0lEKTsNCi0NCi0JaWYgKCFzdGFydGVkKQl7DQotCQlEUFJJTlRGKExPR19ERUJVRywgImNhbWVyYSB0YXNrIGZhaWxlZCB0byBzdGFydCIpOw0KLQkJaW1hcVNldEVycm9yKEVSUl9DQU1FUkFfVEFTS19TUEFXTl9GQUlMRUQsIGZ1bmNOYW1lKTsNCi0JCXJldHVybiAtMTsNCi0JfQ0KLQlyZXR1cm4gY2FtZXJhVGFza0lEOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgU3RvcHMgdGhlIGNhbWVyYSB0YXNrDQotICogQHJldHVybiBUYXNrSUQgb2YgY2FtZXJhIHRhc2sga2lsbGVkLCBvciAtMSBpZiBub25lIHdhcyBydW5uaW5nLg0KLSAqLw0KLWludCBTdG9wQ2FtZXJhVGFzaygpDQotew0KLSAgICBzdGQ6OnN0cmluZyB0YXNrTmFtZSgiRlJDX0NhbWVyYSIpOyAgICANCi0JLy8gY2hlY2sgZm9yIHByaW9yIGNvcHkgb2YgcnVubmluZyB0YXNrDQotCWludCBvbGRUYXNrSUQgPSB0YXNrTmFtZVRvSWQoY29uc3RfY2FzdDxjaGFyKj4odGFza05hbWUuY19zdHIoKSkpOw0KLQlpZihvbGRUYXNrSUQgIT0gRVJST1IpIHsgdGFza0RlbGV0ZShvbGRUYXNrSUQpOyAgfQ0KLQlyZXR1cm4gb2xkVGFza0lEOw0KLX0NCi0NCi0jaWYgMA0KLS8qIGlmIHlvdSB3YW50IHRvIHJ1biB0aGlzIHRhc2sgYnkgaXRzZWxmIHRvIGRlYnVnICANCi0gKiBlbmFibGUgdGhpcyBjb2RlIGFuZCBtYWtlIFJ1blByb2dyYW0gdGhlIGVudHJ5IHBvaW50IA0KLSAqLw0KLWV4dGVybiAiQyINCi17DQotdm9pZCBSdW5Qcm9ncmFtKCk7DQotaW50IEF4aXNDYW1lcmFfU3RhcnR1cExpYnJhcnlJbml0KCk7DQotfQ0KLS8qKiAqIEBicmllZiBTdGFydCBwb2ludCBvZiB0aGUgcHJvZ3JhbSAqLw0KLXZvaWQgUnVuUHJvZ3JhbSgpDQotewlTdGFydENhbWVyYVRhc2soKTt9DQotDQotLyoqICogQGJyaWVmIFRoaXMgaXMgdGhlIG1haW4gcHJvZ3JhbSB0aGF0IGlzIHJ1biBieSB0aGUgZGVidWdnZXIgb3IgdGhlIHJvYm90IG9uIGJvb3QuICovDQotaW50IEF4aXNDYW1lcmFfU3RhcnR1cExpYnJhcnlJbml0KCkNCi0JewkJUnVuUHJvZ3JhbSgpOwkJcmV0dXJuIDA7CX0NCi0NCi0jZW5kaWYNCi0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0F4aXNDYW1lcmEuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvQXhpc0NhbWVyYS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTYwNjNhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvQXhpc0NhbWVyYS5oCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiAgUHJvamVjdCAgIAkJOiBGSVJTVCBNb3RvciBDb250cm9sbGVyDQotKiAgRmlsZSBOYW1lICAJCTogQXhpc0NhbWVyYS5oICAgICAgICAgIA0KLSogIENvbnRyaWJ1dG9ycyAgIAk6IEVMRg0KLSogIENyZWF0aW9uIERhdGUgCTogQXVndXN0IDEyLCAyMDA4DQotKiAgUmV2aXNpb24gSGlzdG9yeQk6IFNvdXJjZSBjb2RlICYgcmV2aXNpb24gaGlzdG9yeSBtYWludGFpbmVkIGF0IHNvdXJjZWZvcmdlLldQSS5lZHUgICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IEdsb2JhbGx5IGRlZmluZWQgdmFsdWVzIGZvciB0aGUgRlJDIENhbWVyYSBBUEkNCi0qIA0KLSogIEFQSTogQmVjYXVzZSBuaXZpc2lvbi5oIHVzZXMgQysrIHN0eWxlIGNvbW1lbnRzLCBhbnkgZmlsZSBpbmNsdWRpbmcgdGhpcw0KLSogIG11c3QgYmUgYSAuY3BwIGluc3RlYWQgb2YgLmMuDQotKiANCi0qLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAqLw0KLS8qICBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fQVhJU0NBTUVSQV9IX18NCi0jZGVmaW5lIF9fQVhJU0NBTUVSQV9IX18NCi0NCi0jaW5jbHVkZSAibml2aXNpb24uaCINCi0NCi0vKiogcG9ydCBmb3IgY29tbXVuaWNhdGluZyB3aXRoIGNhbWVyYSAqLw0KLSNkZWZpbmUgQ0FNRVJBX1BPUlQgODANCi0vKiogaG93IG9sZCBhbiBpbWFnZSBpcyBiZWZvcmUgaXQncyBkaXNjYXJkZWQgKi8NCi0jZGVmaW5lIENBTUVSQV9JTUFHRV9TVEFMRV9USU1FX1NFQyAyLjAgIA0KLS8qKiB0aW1lIHRvIHdhaXQgZm9yIGEgbmV3IGltYWdlIGluIGJsb2NraW5nIGNhbGwgKi8NCi0jZGVmaW5lIE1BWF9CTE9DS0lOR19USU1FX1NFQyAwLjUNCi0NCi0vKiAgRW51bWVyYXRlZCBUeXBlcyAqLw0KLS8qKiBAYnJpZWYgQ291bnRlcnMgZm9yIGNhbWVyYSBtZXRyaWNzICovDQotZW51bSBGcmN2Q2FtZXJhTWV0cmljIHtDQU1fU1RBUlRTLCBDQU1fU1RPUFMsIA0KLQlDQU1fTlVNX0lNQUdFLCBDQU1fQlVGRkVSU19XUklUVEVOLCBDQU1fQkxPQ0tJTkdfQ09VTlQsDQotCQ0KLQlDQU1fU09DS0VUX09QRU4sIENBTV9TT0NLRVRfSU5JVF9BVFRFTVBUUywgQ0FNX0JMT0NLSU5HX1RJTUVPVVQsDQotCUNBTV9HRVRJTUFHRV9TVUNDRVNTLCBDQU1fR0VUSU1BR0VfRkFJTFVSRSwgDQotCQ0KLQlDQU1fU1RBTEVfSU1BR0UsIENBTV9HRVRJTUFHRV9CRUZPUkVfSU5JVCwgQ0FNX0dFVElNQUdFX0JFRk9SRV9BVkFJTEFCTEUsDQotCUNBTV9SRUFEX0pQRUdfRkFJTFVSRSwgQ0FNX1BJRF9TSUdOQUxfRVJSLCANCi0JDQotCUNBTV9CQURfSU1BR0VfU0laRSwgQ0FNX0hFQURFUl9FUlJPUn07DQotDQotI2RlZmluZSBDQU1fTlVNX01FVFJJQ1MgMTcNCi0NCi0vKiogUHJpdmF0ZSBOSSBmdW5jdGlvbiBuZWVkZWQgdG8gd3JpdGUgdG8gdGhlIFZ4V29ya3MgdGFyZ2V0ICovDQotSU1BUV9GVU5DIGludCBQcml2X1NldFdyaXRlRmlsZUFsbG93ZWQoVUlOVDMyIGVuYWJsZSk7IA0KLQ0KLS8qKg0KLUBicmllZiBQb3NzaWJsZSBpbWFnZSBzaXplcyB0aGF0IHlvdSBjYW4gc2V0IG9uIHRoZSBjYW1lcmEuDQotKi8NCi1lbnVtIEltYWdlUmVzb2x1dGlvbiB7IGs2NDB4NDgwLCBrMzIweDI0MCwgazE2MHgxMjAgfTsNCi0NCi0vKioNCi1AYnJpZWYgUG9zc2libGUgcm90YXRpb24gdmFsdWVzIHRoYXQgeW91IGNhbiBzZXQgb24gdGhlIGNhbWVyYS4NCi0qLw0KLWVudW0gSW1hZ2VSb3RhdGlvbiB7IFJPVF8wID0gMCwgUk9UXzE4MCA9IDE4MCB9Ow0KLQ0KLQ0KLQ0KLWludCBTdGFydENhbWVyYVRhc2soKTsNCi0NCi1leHRlcm4gIkMiIHsNCi0vKiAgSW1hZ2UgQWNxdWlzaXRpb24gZnVuY3Rpb25zICovDQotLyogb2J0YWlucyBhbiBpbWFnZSBmcm9tIHRoZSBjYW1lcmEgc2VydmVyICovDQotaW50IEdldEltYWdlKEltYWdlKiBjYW1lcmFJbWFnZSwgZG91YmxlICp0aW1lc3RhbXApOw0KLWludCBHZXRJbWFnZUJsb2NraW5nKEltYWdlKiBjYW1lcmFJbWFnZSwgZG91YmxlICp0aW1lc3RhbXAsIGRvdWJsZSBsYXN0SW1hZ2VUaW1lc3RhbXApOw0KLS8qIG9idGFpbnMgcmF3IGltYWdlIHN0cmluZyB0byBzZW5kIHRvIFBDICovDQotaW50IEdldEltYWdlRGF0YShjaGFyKiogaW1hZ2VEYXRhLCBpbnQqIG51bUJ5dGVzLCBkb3VibGUqIGN1cnJlbnRJbWFnZVRpbWVzdGFtcCk7DQotaW50IEdldEltYWdlRGF0YUJsb2NraW5nKGNoYXIqKiBpbWFnZURhdGEsIGludCogbnVtQnl0ZXMsIGRvdWJsZSogdGltZXN0YW1wLCBkb3VibGUgbGFzdEltYWdlVGltZXN0YW1wKTsNCi0NCi0vKiBzdGFydCB0aGUgY2FtZXJhIHNlcnZlciAqLw0KLXZvaWQgU3RhcnRJbWFnZUFjcXVpc2l0aW9uKCk7DQotdm9pZCBTdG9wSW1hZ2VBY3F1aXNpdGlvbigpOw0KLXZvaWQgU3RhcnRJbWFnZVNpZ25hbChpbnQgdGFza0lkKTsNCi0NCi0vKiBzdGF0dXMgJiBtZXRyaWNzICovDQotaW50IGZyY0NhbWVyYUluaXRpYWxpemVkKCk7DQotaW50IEdldENhbWVyYU1ldHJpYyhGcmN2Q2FtZXJhTWV0cmljIG1ldHJpYyk7DQotDQotLyogY2FtZXJhIGNvbmZpZ3VyYXRpb24gKi8NCi1pbnQgQ29uZmlndXJlQ2FtZXJhKGNoYXIgKmNvbmZpZ1N0cmluZyk7DQotaW50IEdldENhbWVyYVNldHRpbmcoY2hhciAqY29uZmlnU3RyaW5nLCBjaGFyICpjYW1lcmFSZXNwb25zZSk7DQotaW50IEdldEltYWdlU2V0dGluZyhjaGFyICpjb25maWdTdHJpbmcsIGNoYXIgKmNhbWVyYVJlc3BvbnNlKTsNCi0NCi0vKiBjYW1lcmEgdGFzayBjb250cm9sICovDQotDQotaW50IFN0YXJ0Q2FtZXJhVGFzayhpbnQgZnJhbWVzLCBpbnQgY29tcHJlc3Npb24sIEltYWdlUmVzb2x1dGlvbiByZXNvbHV0aW9uLCBJbWFnZVJvdGF0aW9uIHJvdGF0aW9uKTsNCi1pbnQgU3RvcENhbWVyYVRhc2soKTsNCi19DQotI2VuZGlmDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9CYWVVdGlsaXRpZXMuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9CYWVVdGlsaXRpZXMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNjZmYmQzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvQmFlVXRpbGl0aWVzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQwMCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0qICBQcm9qZWN0ICAgCQk6IEZJUlNUIE1vdG9yIENvbnRyb2xsZXINCi0qICBGaWxlIE5hbWUgIAkJOiBCYWVVdGlsaXRpZXMuY3BwICAgICAgICANCi0qICBDb250cmlidXRvcnMgICAJOiBKREcsIEVMRiwgRU1GDQotKiAgQ3JlYXRpb24gRGF0ZSAJOiBKdWx5IDIwLCAyMDA4DQotKiAgUmV2aXNpb24gSGlzdG9yeQk6IFNvdXJjZSBjb2RlICYgcmV2aXNpb24gaGlzdG9yeSBtYWludGFpbmVkIGF0IHNvdXJjZWZvcmdlLldQSS5lZHUgICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IE9wZW4gc291cmNlIHV0aWxpdHkgZXh0ZW5zaW9ucyBmb3IgRklSU1QgVmlzaW9uIEFQSS4NCi0qLyAgICAgICAgICAgICAgICAgICAgICAgICAgICANCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qICAgICAgICBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICovDQotLyogIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgKi8NCi0vKiAgbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPg0KLSNpbmNsdWRlIDx1bmlzdGQuaD4NCi0jaW5jbHVkZSA8c3RyaW5nLmg+DQotI2luY2x1ZGUgPG1hdGguaD4NCi0jaW5jbHVkZSA8c3RkaW9MaWIuaD4gDQotIA0KLSNpbmNsdWRlICJCYWVVdGlsaXRpZXMuaCINCi0jaW5jbHVkZSAiU2Vydm8uaCINCi0jaW5jbHVkZSAiVGltZXIuaCINCi0NCi0vKioNCi0gKiAgIFV0aWxpdHkgZnVuY3Rpb25zIA0KLSAqLw0KLQ0KLS8qKg0KLSAqIGRlYnVnIG91dHB1dCBmbGFnIG9wdGlvbnM6DQotICogREVCVUdfT0ZGLCBERUJVR19NT1NUTFlfT0ZGLCBERUJVR19TQ1JFRU5fT05MWSwgREVCVUdfRklMRV9PTkxZLCBERUJVR19TQ1JFRU5fQU5EX0ZJTEUNCi0gKi8NCi1zdGF0aWMgRGVidWdPdXRwdXRUeXBlCWRwcmludGZGbGFnID0gREVCVUdfT0ZGOyAgDQotDQotLyoqDQotICogU2V0IHRoZSBkZWJ1ZyBmbGFnIHRvIHByaW50IHRvIHNjcmVlbiwgZmlsZSBvbiBjUklPLCBib3RoIG9yIG5laXRoZXINCi0gKiBAcGFyYW0gdGVtcFN0cmluZyBUaGUgZm9ybWF0IHN0cmluZy4NCi0gKi8NCi12b2lkIFNldERlYnVnRmxhZyAoIERlYnVnT3V0cHV0VHlwZSBmbGFnICApICANCi17IGRwcmludGZGbGFnID0gZmxhZzsgfQ0KLQ0KLS8qKg0KLSAqIERlYnVnIHByaW50IHRvIGEgZmlsZSBhbmQvb3IgYSB0ZXJtaW5hbCB3aW5kb3cuDQotICogQ2FsbCBsaWtlIHlvdSB3b3VsZCBjYWxsIHByaW50Zi4NCi0gKiBTZXQgZnVuY3Rpb25OYW1lIGluIHRoZSBmdW5jdGlvbiBpZiB5b3Ugd2FudCB0aGUgY29ycmVjdCBmdW5jdGlvbiBuYW1lIHRvIHByaW50IG91dC4NCi0gKiBUaGUgZmlsZSBsaW5lIG51bWJlciB3aWxsIGFsc28gYmUgcHJpbnRlZC4NCi0gKiBAcGFyYW0gdGVtcFN0cmluZyBUaGUgZm9ybWF0IHN0cmluZy4NCi0gKi8NCi12b2lkIGRwcmludGYgKCBjaGFyICogdGVtcFN0cmluZywgLi4uICApICAvKiBWYXJpYWJsZSBhcmd1bWVudCBsaXN0ICovDQotew0KLSAgdmFfbGlzdAlhcmdzOwkJCSAgLyogSW5wdXQgYXJndW1lbnQgbGlzdCAqLw0KLSAgaW50CQlsaW5lX251bWJlcjsgICAgICAvKiBMaW5lIG51bWJlciBwYXNzZWQgaW4gYXJndW1lbnQgKi8NCi0gIGludAkJdHlwZTsNCi0gIGNoYXIJCSpmdW5jdGlvbk5hbWU7ICAgIC8qIEZvcm1hdCBwYXNzZWQgaW4gYXJndW1lbnQgKi8NCi0gIGNoYXIJCSpmbXQ7ICAgICAgICAgICAgIC8qIEZvcm1hdCBwYXNzZWQgaW4gYXJndW1lbnQgKi8NCi0gIGNoYXIJCXRleHRbNTEyXTsgICAJICAvKiBUZXh0IHN0cmluZyAqLw0KLSAgY2hhcgkJb3V0dGV4dFs1MTJdOyAgICAgLyogVGV4dCBzdHJpbmcgKi8NCi0gIEZJTEUJCSpvdXRmaWxlX2ZkOyAgICAgIC8qIE91dHB1dCBmaWxlIHBvaW50ZXIgKi8NCi0gIGNoYXIJCWZpbGVwYXRoWzEyOF07ICAgIC8qIFRleHQgc3RyaW5nICovDQotICBpbnQJCWZhdGFsRmxhZz0wOw0KLSAgY2hhcgkJKmZpbGVuYW1lOw0KLSAgaW50CQlpbmRleDsNCi0gIGludAkJdGVtcFN0cmluZ0xlbjsNCi0NCi0gIGlmIChkcHJpbnRmRmxhZyA9PSBERUJVR19PRkYpIHsgcmV0dXJuOyB9DQotICANCi0gIHZhX3N0YXJ0IChhcmdzLCB0ZW1wU3RyaW5nKTsNCi0gIA0KLSAgdGVtcFN0cmluZ0xlbiA9IHN0cmxlbih0ZW1wU3RyaW5nKTsNCi0gIGZpbGVuYW1lID0gdGVtcFN0cmluZzsNCi0gIGZvciAoaW5kZXg9MDtpbmRleDx0ZW1wU3RyaW5nTGVuO2luZGV4Kyspew0KLQkgIGlmICh0ZW1wU3RyaW5nW2luZGV4XSA9PSAnICcpIHsNCi0JCSAgcHJpbnRmKCAiRVJST1IgaW4gZHByaW50ZjogbWFsZm9ybWVkIGNhbGxpbmcgc2VxdWVuY2UgKCVzKVxuIix0ZW1wU3RyaW5nKTtyZXR1cm47DQotCSAgCX0NCi0JICBpZiAodGVtcFN0cmluZ1tpbmRleF0gPT0gJ1xcJyB8fCB0ZW1wU3RyaW5nW2luZGV4XSA9PSAnLycpDQotCQkgIGZpbGVuYW1lID0gdGVtcFN0cmluZyArIGluZGV4ICsgMTsNCi0gIH0NCi0gIA0KLSAgLyogRXh0cmFjdCBmdW5jdGlvbiBuYW1lICovDQotICBmdW5jdGlvbk5hbWUgPSB2YV9hcmcgKGFyZ3MsIGNoYXIgKik7DQotIA0KLSAvKiBFeHRyYWN0IGxpbmUgbnVtYmVyIGZyb20gYXJndW1lbnQgbGlzdCAqLw0KLSAgbGluZV9udW1iZXIgPSB2YV9hcmcgKGFyZ3MsIGludCk7DQotDQotIC8qIEV4dHJhY3QgaW5mb3JtYXRpb24gdHlwZSBmcm9tIGFyZ3VtZW50IGxpc3QgKi8NCi0gIHR5cGUgPSB2YV9hcmcgKGFyZ3MsIGludCk7DQotDQotIC8qIEV4dHJhY3QgZm9ybWF0IGZyb20gYXJndW1lbnQgbGlzdCAqLw0KLSAgZm10ID0gdmFfYXJnIChhcmdzLCBjaGFyICopOw0KLQ0KLSAgdnNwcmludGYgKHRleHQsIGZtdCwgYXJncyk7DQotDQotICB2YV9lbmQgKGFyZ3MpOw0KLQ0KLSAgLyogRm9ybWF0IG91dHB1dCBzdGF0ZW1lbnQgKi8NCi0gIHN3aXRjaCAodHlwZSkNCi0gICB7DQotICAgY2FzZSBERUJVR19UWVBFOg0KLSAgICAgc3ByaW50ZiAob3V0dGV4dCwgIlslczolc0AlMDRkXSBERUJVRyAlc1xuIiwNCi0gICAgICAgICAgICAgIGZpbGVuYW1lLCBmdW5jdGlvbk5hbWUsIGxpbmVfbnVtYmVyLCB0ZXh0KTsNCi0gICAgIGJyZWFrOw0KLSAgIGNhc2UgSU5GT19UWVBFOg0KLSAgICAgc3ByaW50ZiAob3V0dGV4dCwgIlslczolc0AlMDRkXSBJTkZPICVzXG4iLA0KLSAgICAgICAgICAgICAgZmlsZW5hbWUsIGZ1bmN0aW9uTmFtZSwgbGluZV9udW1iZXIsIHRleHQpOw0KLSAgICAgYnJlYWs7DQotICAgY2FzZSBFUlJPUl9UWVBFOg0KLSAgICAgc3ByaW50ZiAob3V0dGV4dCwgIlslczolc0AlMDRkXSBFUlJPUiAlc1xuIiwNCi0gICAgICAgICAgICAgIGZpbGVuYW1lLCBmdW5jdGlvbk5hbWUsIGxpbmVfbnVtYmVyLCB0ZXh0KTsNCi0gICAgIGJyZWFrOw0KLSAgIGNhc2UgQ1JJVElDQUxfVFlQRToNCi0gICAgIHNwcmludGYgKG91dHRleHQsICJbJXM6JXNAJTA0ZF0gQ1JJVElDQUwgJXNcbiIsDQotICAgICAgICAgICAgICBmaWxlbmFtZSwgZnVuY3Rpb25OYW1lLCBsaW5lX251bWJlciwgdGV4dCk7DQotICAgICBicmVhazsNCi0gICBjYXNlIEZBVEFMX1RZUEU6DQotICAgICBmYXRhbEZsYWcgPSAxOw0KLSAgICAgc3ByaW50ZiAob3V0dGV4dCwgIlslczolc0AlMDRkXSBGQVRBTCAlc1xuIiwNCi0gICAgICAgICAgICAgIGZpbGVuYW1lLCBmdW5jdGlvbk5hbWUsIGxpbmVfbnVtYmVyLCB0ZXh0KTsNCi0gICAgIGJyZWFrOw0KLSAgIGRlZmF1bHQ6DQotICAgICBwcmludGYoICJFUlJPUiBpbiBkcHJpbnRmOiBtYWxmb3JtZWQgY2FsbGluZyBzZXF1ZW5jZVxuIik7DQotICAgICByZXR1cm47DQotICAgICBicmVhazsNCi0gICB9DQotDQotICBzcHJpbnRmIChmaWxlcGF0aCwgIiVzLmRlYnVnIiwgZmlsZW5hbWUpOw0KLQ0KLSAgLyogV3JpdGUgb3V0cHV0IHN0YXRlbWVudCAqLw0KLSAgc3dpdGNoIChkcHJpbnRmRmxhZykNCi0gIHsNCi0gIGRlZmF1bHQ6DQotICBjYXNlIERFQlVHX09GRjogDQotICAJYnJlYWs7DQotICBjYXNlIERFQlVHX01PU1RMWV9PRkY6IA0KLSAgCWlmIChmYXRhbEZsYWcpCXsNCi0JICBpZiAoKG91dGZpbGVfZmQgPSBmb3BlbiAoZmlsZXBhdGgsICJhKyIpKSAhPSBOVUxMKQkgIHsNCi0JICAgIGZ3cml0ZSAob3V0dGV4dCwgc2l6ZW9mIChjaGFyKSwgc3RybGVuIChvdXR0ZXh0KSwgb3V0ZmlsZV9mZCk7DQotCSAgICBmY2xvc2UgKG91dGZpbGVfZmQpOw0KLQkgIH0NCi0JfQ0KLSAgCWJyZWFrOw0KLSAgY2FzZSBERUJVR19TQ1JFRU5fT05MWTogDQotICAJcHJpbnRmICgiJXMiLCBvdXR0ZXh0KTsNCi0gIAlicmVhazsNCi0gIGNhc2UgREVCVUdfRklMRV9PTkxZOiANCi0JaWYgKChvdXRmaWxlX2ZkID0gZm9wZW4gKGZpbGVwYXRoLCAiYSsiKSkgIT0gTlVMTCkJew0KLQkgIGZ3cml0ZSAob3V0dGV4dCwgc2l6ZW9mIChjaGFyKSwgc3RybGVuIChvdXR0ZXh0KSwgb3V0ZmlsZV9mZCk7DQotCSAgZmNsb3NlIChvdXRmaWxlX2ZkKTsNCi0JfQ0KLSAgCWJyZWFrOw0KLSAgY2FzZSBERUJVR19TQ1JFRU5fQU5EX0ZJTEU6IC8vIEJPVEgNCi0gIAlwcmludGYgKCIlcyIsIG91dHRleHQpOw0KLQlpZiAoKG91dGZpbGVfZmQgPSBmb3BlbiAoZmlsZXBhdGgsICJhKyIpKSAhPSBOVUxMKQl7DQotCSAgZndyaXRlIChvdXR0ZXh0LCBzaXplb2YgKGNoYXIpLCBzdHJsZW4gKG91dHRleHQpLCBvdXRmaWxlX2ZkKTsNCi0JICBmY2xvc2UgKG91dGZpbGVfZmQpOw0KLQl9DQotICAJYnJlYWs7DQotICB9DQotfQ0KLQ0KLS8qKg0KLSAqIEBicmllZiBOb3JtYWxpemVzIGEgdmFsdWUgaW4gYSByYW5nZSwgdXNlZCBmb3IgZHJpdmUgaW5wdXQNCi0gKiBAcGFyYW0gcG9zaXRpb24gVGhlIHBvc2l0aW9uIGluIHRoZSByYW5nZSwgc3RhcnRpbmcgYXQgMA0KLSAqIEBwYXJhbSByYW5nZSBUaGUgc2l6ZSBvZiB0aGUgcmFuZ2UgdGhhdCBwb3NpdGlvbiBpcyBpbg0KLSAqIEByZXR1cm4gVGhlIG5vcm1hbGl6ZWQgcG9zaXRpb24gZnJvbSAtMSB0byArMQ0KLSAqLw0KLWRvdWJsZSBSYW5nZVRvTm9ybWFsaXplZChkb3VibGUgcG9zaXRpb24sIGludCByYW5nZSl7DQotCXJldHVybigoKHBvc2l0aW9uKjIuMCkvKGRvdWJsZSlyYW5nZSktMS4wKTsNCi19DQotDQotLyoqDQotICogQGJyaWVmIENvbnZlcnQgYSBub3JtYWxpemVkIHZhbHVlIHRvIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluIGEgcmFuZ2UuDQotICogVGhpcyBpcyB1c2VkIHRvIGNvbnZlcnQgbm9ybWFsaXplZCB2YWx1ZXMgdG8gdGhlIHNlcnZvIGNvbW1hbmQgcmFuZ2UuDQotICogQHBhcmFtIG5vcm1hbGl6ZWRWYWx1ZSBUaGUgbm9ybWFsaXplZCB2YWx1ZSAoaW4gdGhlIC0xIHRvICsxIHJhbmdlKQ0KLSAqIEBwYXJhbSBtaW5SYW5nZSBUaGUgbWluaW11bSBvZiB0aGUgcmFuZ2UgKDAgaXMgZGVmYXVsdCkNCi0gKiBAcGFyYW0gbWF4UmFuZ2UgVGhlIG1heGltdW0gb2YgdGhlIHJhbmdlICgxIGlzIGRlZmF1bHQpDQotICogQHJldHVybiBUaGUgdmFsdWUgaW4gdGhlIHJhbmdlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGlucHV0IG5vcm1hbGl6ZWQgdmFsdWUNCi0gKi8NCi1mbG9hdCBOb3JtYWxpemVUb1JhbmdlKGZsb2F0IG5vcm1hbGl6ZWRWYWx1ZSwgZmxvYXQgbWluUmFuZ2UsIGZsb2F0IG1heFJhbmdlKSB7DQotCWZsb2F0IHJhbmdlID0gbWF4UmFuZ2UtbWluUmFuZ2U7DQotCWZsb2F0IHRlbXAgPSAoZmxvYXQpKChub3JtYWxpemVkVmFsdWUgLyAyLjApKyAwLjUpKnJhbmdlOw0KLQlyZXR1cm4gKHRlbXAgKyBtaW5SYW5nZSk7DQotfQkNCi1mbG9hdCBOb3JtYWxpemVUb1JhbmdlKGZsb2F0IG5vcm1hbGl6ZWRWYWx1ZSkgew0KLQlyZXR1cm4gKGZsb2F0KSgobm9ybWFsaXplZFZhbHVlIC8gMi4wKSArIDAuNSk7DQotfQkNCi0NCi0vKioNCi0gKiBAYnJpZWYgRGlzcGxheXMgYW4gYWN0aXZpdHkgaW5kaWNhdG9yIHRvIGNvbnNvbGUuIA0KLSAqIENhbGwgdGhpcyBmdW5jdGlvbiBsaWtlIHlvdSB3b3VsZCBjYWxsIHByaW50Zi4NCi0gKiBAcGFyYW0gZm10IFRoZSBmb3JtYXQgc3RyaW5nDQotKi8NCi12b2lkIFNob3dBY3Rpdml0eSAoY2hhciAqZm10LCAuLi4pDQotew0KLSAgc3RhdGljIGNoYXIgICBhY3Rpdml0eV9pbmRpY2F0aW9uX3N0cmluZ1tdID0gInwvLVxcIjsNCi0gIHN0YXRpYyBpbnQgICAgYWkgPSAzOw0KLSAgdmFfbGlzdCAgICAgICBhcmdzOw0KLSAgY2hhciAgICAgICAgICB0ZXh0WzEwMjRdOw0KLQ0KLSAgdmFfc3RhcnQgKGFyZ3MsIGZtdCk7DQotDQotICB2c3ByaW50ZiAodGV4dCwgZm10LCBhcmdzKTsNCi0NCi0gIGFpID0gYWkgPT0gMyA/IDAgOiBhaSArIDE7DQotDQotICBwcmludGYgKCIlYyAlcyBcciIsIGFjdGl2aXR5X2luZGljYXRpb25fc3RyaW5nW2FpXSwgdGV4dCk7DQotICBmZmx1c2ggKHN0ZG91dCk7DQotDQotICB2YV9lbmQgKGFyZ3MpOw0KLX0NCi0NCi0jZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTg5NzkNCi0vKioNCi0gKiBAYnJpZWYgQ2FsY3VsYXRlIHNpbmUgd2F2ZSBpbmNyZW1lbnRzICgtMS4wIHRvIDEuMCkuIA0KLSAqIFRoZSBmaXJzdCB0aW1lIHRoaXMgaXMgY2FsbGVkLCBpdCBzZXRzIHVwIHRoZSB0aW1lIGluY3JlbWVudC4gU3Vic2VxdWVudCBjYWxscw0KLSAqIHdpbGwgZ2l2ZSB2YWx1ZXMgYWxvbmcgdGhlIHNpbmUgd2F2ZSBkZXBlbmRpbmcgb24gY3VycmVudCB0aW1lLiBJZiB0aGUgd2F2ZSBpcw0KLSAqIHN0b3BwZWQgYW5kIHJlc3RhcnRlZCwgaXQgbXVzdCBiZSByZWluaXRpYWxpemVkIHdpdGggYSBuZXcgImZpcnN0IGNhbGwiLg0KLSAqIA0KLSAqIEBwYXJhbSBwZXJpb2QgbGVuZ3RoIG9mIHRpbWUgdG8gY29tcGxldGUgYSBjb21wbGV0ZSB3YXZlDQotICogQHBhcmFtIHNpblN0YXJ0IFdoZXJlIHRvIHN0YXJ0IHRoZSBzaW5lIHdhdmUgKDAuMCA9IDIgcGksIHBpLzIgPSAxLjAsIGV0Yy4pDQotICovDQotZG91YmxlIFNpblBvc2l0aW9uIChkb3VibGUgKnBlcmlvZCwgZG91YmxlIHNpblN0YXJ0KQ0KLXsNCi0gIGRvdWJsZSBydG5WYWw7DQotICBzdGF0aWMgZG91YmxlIHNpbmVQZXJpb2Q9MC4wOw0KLSAgc3RhdGljIGRvdWJsZSB0aW1lc3RhbXA7DQotICBkb3VibGUgc2luQXJnOw0KLQ0KLSAgLy8xc3QgY2FsbA0KLSAgaWYgKHBlcmlvZCAhPSBOVUxMKSB7DQotICAgIHNpbmVQZXJpb2QgPSAqcGVyaW9kOw0KLQl0aW1lc3RhbXAgPSBHZXRUaW1lKCk7DQotCXJldHVybiAwLjA7DQotICB9DQotDQotICAvL011bHRpcGx5aW5nIGJ5IDIqcGkgdG8gdGhlIHRpbWUgZGlmZmVyZW5jZSBtYWtlcyBzaW5lUGVyaW9kIHdvcmsgaWYgaXQncyBtZWFzdXJlZCBpbiBzZWNvbmRzLg0KLSAgLy9BZGRpbmcgc2luU3RhcnQgdG8gdGhlIHBhcnQgbXVsdGlwbGllZCBieSBQSSwgYnV0IG5vdCBieSAyLCBhbGxvd3MgaXQgdG8gd29yayBhcyBkZXNjcmliZWQgaW4gdGhlIGNvbW1lbnRzLg0KLSAgc2luQXJnID0gUEkgKigoMi4wICogKEdldFRpbWUoKSAtIHRpbWVzdGFtcCkpICsgc2luU3RhcnQpIC8gc2luZVBlcmlvZDsNCi0gIHJ0blZhbCA9IHNpbiAoc2luQXJnKTsgIA0KLSAgcmV0dXJuIChydG5WYWwpOw0KLX0NCi0NCi0NCi0vKioNCi0gKiBAYnJpZWYgRmluZCB0aGUgZWxhcHNlZCB0aW1lIHNpbmNlIGEgc3BlY2lmaWVkIHRpbWUuDQotICogQHBhcmFtIHN0YXJ0VGltZSBUaGUgc3RhcnRpbmcgdGltZQ0KLSAqIEByZXR1cm4gSG93IGxvbmcgaXQgaGFzIGJlZW4gc2luY2UgdGhlIHN0YXJ0aW5nIHRpbWUNCi0gKi8NCi1kb3VibGUgRWxhcHNlZFRpbWUgKCBkb3VibGUgc3RhcnRUaW1lICkgIA0KLXsNCi0JZG91YmxlIHJlYWxUaW1lID0gR2V0VGltZSgpOwkNCi0JcmV0dXJuIChyZWFsVGltZS1zdGFydFRpbWUpOw0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgSW5pdGlhbGl6ZSBwYW4gcGFyYW1ldGVycw0KLSAqIEBwYXJhbSBwZXJpb2QgVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGNvbXBsZXRlIG9uZSBwYW4NCi0gKi8NCi12b2lkIHBhbkluaXQoKQl7DQotCWRvdWJsZSBwZXJpb2QgPSAzLjA7ICAJLy8gbnVtYmVyIG9mIHNlY29uZHMgZm9yIG9uZSBjb21wbGV0ZSBwYW4NCi0JU2luUG9zaXRpb24oJnBlcmlvZCwgMC4wKTsJLy8gaW5pdGlhbCBjYWxsIHRvIHNldCB1cCB0aW1lDQotfQ0KLQ0KLXZvaWQgcGFuSW5pdChkb3VibGUgcGVyaW9kKQl7DQotCWlmIChwZXJpb2QgPCAwLjApIHBlcmlvZD0zLjA7DQotCVNpblBvc2l0aW9uKCZwZXJpb2QsIDAuMCk7CS8vIGluaXRpYWwgY2FsbCB0byBzZXQgdXAgdGltZQ0KLX0NCi0NCi0vKioNCi0gKiBAYnJpZWYgTW92ZSB0aGUgaG9yaXpvbnRhbCBzZXJ2byBiYWNrIGFuZCBmb3J0aC4NCi0gKiBAcGFyYW0gcGFuU2Vydm8gVGhlIHNlcnZvIG9iamVjdCB0byBtb3ZlDQotICogQHBhcmFtIHNpblN0YXJ0IFRoZSBwb3NpdGlvbiBvbiB0aGUgc2luZSB3YXZlIHRvIGJlZ2luIHRoZSBwYW4NCi0gKi8NCi12b2lkIHBhbkZvclRhcmdldChTZXJ2byAqcGFuU2Vydm8pCXsgcGFuRm9yVGFyZ2V0KHBhblNlcnZvLCAwLjApOyB9DQotDQotdm9pZCBwYW5Gb3JUYXJnZXQoU2Vydm8gKnBhblNlcnZvLCBkb3VibGUgc2luU3RhcnQpCXsNCi0JZmxvYXQgbm9ybWFsaXplZFNpblBvc2l0aW9uID0gKGZsb2F0KVNpblBvc2l0aW9uKE5VTEwsIHNpblN0YXJ0KTsNCi0JZmxvYXQgbmV3U2Vydm9Qb3NpdGlvbiA9IE5vcm1hbGl6ZVRvUmFuZ2Uobm9ybWFsaXplZFNpblBvc2l0aW9uKTsNCi0JcGFuU2Vydm8tPlNldCggbmV3U2Vydm9Qb3NpdGlvbiApOw0KLQkvL1Nob3dBY3Rpdml0eSAoInBhbiB4OiBub3JtYWxpemVkICVmIG5ld1NlcnZvUG9zaXRpb24gPSAlZiIgLCANCi0JLy8JCW5vcm1hbGl6ZWRTaW5Qb3NpdGlvbiwgbmV3U2Vydm9Qb3NpdGlvbiApOw0KLX0NCi0NCi0NCi0vKiogQGJyaWVmIFJlYWQgYSBmaWxlIGFuZCByZXR1cm4gbm9uLWNvbW1lbnQgb3V0cHV0IHN0cmluZyANCi0NCi1DYWxsIHRoZSBmaXJzdCB0aW1lIHdpdGggMCBsaW5lTnVtYmVyIHRvIGdldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHJlYWQNCi1UaGVuIGNhbGwgd2l0aCBlYWNoIGxpbmVOdW1iZXIgdG8gZ2V0IG9uZSBjYW1lcmEgcGFyYW1ldGVyLiBUaGVyZSBzaG91bGQNCi1iZSBvbmUgcHJvcGVydHk9dmFsdWUgZW50cnkgb24gZWFjaCBsaW5lLCBpLmUuICJleHBvc3VyZT1hdXRvIg0KLQ0KLSAqIEBwYXJhbSBpbnB1dEZpbGUgZmlsZW5hbWUgdG8gcmVhZA0KLSAqIEBwYXJhbSBvdXRwdXRTdHJpbmcgb25lIHN0cmluZw0KLSAqIEBwYXJhbSBsaW5lTnVtYmVyIGlmIDAsIHJldHVybiBudW1iZXIgb2YgbGluZXM7IGVsc2UgcmV0dXJuIHRoYXQgbGluZSBudW1iZXINCi0gKiBAcmV0dXJuIGludCBudW1iZXIgb2YgbGluZXMgb3IgLTEgaWYgZXJyb3INCi0gKiovDQotaW50IHByb2Nlc3NGaWxlKGNoYXIgKmlucHV0RmlsZSwgY2hhciAqb3V0cHV0U3RyaW5nLCBpbnQgbGluZU51bWJlcikNCi17DQotCUZJTEUgKmluZmlsZTsNCi0JaW50IHN0cmluZ1NpemUgPSA4MDsJCS8vIG1heCBzaXplIG9mIG9uZSBsaW5lIGluIGZpbGUgDQotCWNoYXIgaW5wdXRTdHJbc3RyaW5nU2l6ZV07DQotCXN0cnVjdCBzdGF0IGZpbGVTdGF0dXM7DQotCWludCBmaWxlU2l6ZT0wOw0KLQlpbnQgbGluZUNvdW50PTA7DQotCSAgDQotCWlmIChsaW5lTnVtYmVyIDwgMCkNCi0JCSAgcmV0dXJuICgtMSk7DQotDQotCWlmICgoaW5maWxlID0gZm9wZW4gKGlucHV0RmlsZSwgInIiKSkgPT0gTlVMTCkgew0KLQkgICAgcHJpbnRmICgiRmF0YWwgZXJyb3Igb3BlbmluZyBmaWxlICVzXG4iLGlucHV0RmlsZSk7DQotCSAgICByZXR1cm4gKDApOw0KLQl9DQotICAgIG1lbXNldCAoJmZpbGVTdGF0dXMsIDAsIHNpemVvZihmaWxlU3RhdHVzKSk7DQotICAgIGlmICghc3RhdChpbnB1dEZpbGUsICZmaWxlU3RhdHVzKSkgew0KLSAgICAgIGlmIChTX0lTUkVHKGZpbGVTdGF0dXMuc3RfbW9kZSkpIHsNCi0gICAgICAgIGZpbGVTaXplID0gZmlsZVN0YXR1cy5zdF9zaXplOw0KLSAgICAgIH0NCi0gICAgfQ0KLQ0KLSAgd2hpbGUgKCFmZW9mKGluZmlsZSkpIHsNCi0gICAgaWYgKGZnZXRzIChpbnB1dFN0ciwgc3RyaW5nU2l6ZSwgaW5maWxlKSAhPSBOVUxMKSB7DQotICAgICAgLy8gU2tpcCBlbXB0eSBsaW5lcw0KLSAgICAgIGlmIChlbXB0eVN0cmluZyhpbnB1dFN0cikpDQotICAgICAgICBjb250aW51ZTsNCi0gICAgICAvLyBTa2lwIGNvbW1lbnQgbGluZXMNCi0gICAgICBpZiAoaW5wdXRTdHJbMF0gPT0gJyMnIHx8IGlucHV0U3RyWzBdID09ICchJykNCi0gICAgICAgIGNvbnRpbnVlOw0KLQ0KLSAgICAgIGxpbmVDb3VudCsrOw0KLSAgICAgIGlmIChsaW5lTnVtYmVyID09IDApDQotICAgICAgICBjb250aW51ZTsNCi0gICAgICBlbHNlDQotICAgICAgew0KLSAgICAJICBpZiAobGluZUNvdW50ID09IGxpbmVOdW1iZXIpDQotICAgIAkJICBicmVhazsNCi0gICAgICB9DQotICAgIH0NCi0gIH0NCi0NCi0gIC8vIGNsb3NlIGZpbGUgDQotICBmY2xvc2UgKGluZmlsZSk7DQotICAvLyBpZiBudW1iZXIgbGluZXMgcmVxdWVzdGVkIHJldHVybiB0aGUgY291bnQNCi0gIGlmIChsaW5lTnVtYmVyID09IDApDQotCSAgcmV0dXJuIChsaW5lQ291bnQpOw0KLSAgLy8gY2hlY2sgZm9yIGlucHV0IG91dCBvZiByYW5nZQ0KLSAgaWYgKGxpbmVOdW1iZXIgPiBsaW5lQ291bnQpDQotCSAgcmV0dXJuICgtMSk7DQotICAvLyByZXR1cm4gdGhlIGxpbmUgc2VsZWN0ZWQNCi0gIGlmIChsaW5lQ291bnQpIHsNCi0gICAgc3RyaXBTdHJpbmcoaW5wdXRTdHIpOw0KLSAgICBzdHJjcHkob3V0cHV0U3RyaW5nLCBpbnB1dFN0cik7DQotICAgIHJldHVybihsaW5lQ291bnQpOw0KLSAgfSANCi0gIGVsc2Ugew0KLSAgICByZXR1cm4oLTEpOw0KLSAgfQ0KLX0NCi0NCi0vKiogSWdub3JlIGVtcHR5IHN0cmluZyANCi0gKiBAcGFyYW0gc3RyaW5nIHRvIGNoZWNrIGlmIGVtcHR5DQotICoqLw0KLWludCBlbXB0eVN0cmluZyhjaGFyICpzdHJpbmcpDQotew0KLSAgaW50IGksbGVuOw0KLQ0KLSAgaWYoc3RyaW5nID09IE5VTEwpDQotICAgIHJldHVybigxKTsNCi0NCi0gIGxlbiA9IHN0cmxlbihzdHJpbmcpOw0KLSAgZm9yKGk9MDsgaTxsZW47IGkrKykgew0KLSAgICAvLyBJZ25vcmUgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzDQotICAgIGlmIChzdHJpbmdbaV0gPT0gJ1xuJyB8fCBzdHJpbmdbaV0gPT0gJ1xyJyB8fA0KLSAgICAgICAgc3RyaW5nW2ldID09ICdcdCcgfHwgc3RyaW5nW2ldID09ICcgJykNCi0gICAgICBjb250aW51ZTsNCi0gICAgcmV0dXJuKDApOw0KLSAgfQ0KLSAgcmV0dXJuKDEpOw0KLX0NCi0NCi0vKiogUmVtb3ZlIHNwZWNpYWwgY2hhcmFjdGVycyBmcm9tIHN0cmluZyANCi0gKiBAcGFyYW0gc3RyaW5nIHRvIHByb2Nlc3MNCi0gKiovDQotdm9pZCBzdHJpcFN0cmluZyhjaGFyICpzdHJpbmcpDQotew0KLSAgaW50IGksaixsZW47DQotDQotICBpZihzdHJpbmcgPT0gTlVMTCkNCi0gICAgcmV0dXJuOw0KLQ0KLSAgbGVuID0gc3RybGVuKHN0cmluZyk7DQotICBmb3IoaT0wLGo9MDsgaTxsZW47IGkrKykgew0KLSAgICAvLyBSZW1vdmUgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIGZyb20gdGhlIHN0cmluZw0KLSAgICBpZiAoc3RyaW5nW2ldID09ICdcbicgfHwgc3RyaW5nW2ldID09ICdccicgfHwgc3RyaW5nW2ldID09ICdcIicpDQotICAgICAgY29udGludWU7DQotICAgIC8vIENvcHkgYW55dGhpbmcgZWxzZQ0KLSAgICBzdHJpbmdbaisrXSA9IHN0cmluZ1tpXTsNCi0gIH0NCi0gIHN0cmluZ1tqXSA9ICdcMCc7IA0KLX0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0JhZVV0aWxpdGllcy5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9CYWVVdGlsaXRpZXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk4YzllNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0JhZVV0aWxpdGllcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiAgUHJvamVjdCAgIAkJOiBGSVJTVCBNb3RvciBDb250cm9sbGVyDQotKiAgRmlsZSBOYW1lICAJCTogQmFlVXRpbGl0aWVzLmggICAgICAgICAgDQotKiAgQ29udHJpYnV0b3JzICAgCTogSkRHLCBFTEYNCi0qICBDcmVhdGlvbiBEYXRlIAk6IEF1Z3VzdCAxMiwgMjAwOA0KLSogIFJldmlzaW9uIEhpc3RvcnkJOiBTb3VyY2UgY29kZSAmIHJldmlzaW9uIGhpc3RvcnkgbWFpbnRhaW5lZCBhdCBzb3VyY2Vmb3JnZS5XUEkuZWR1ICAgICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IEdsb2JhbGx5IGRlZmluZWQgdmFsdWVzIGZvciB1dGlsaXRpZXMNCi0qLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgICAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuICAgICAgICAqLw0KLS8qICAgTXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgICAgICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fQkFFVVRJTElUSUVTX0hfXw0KLSNkZWZpbmUgX19CQUVVVElMSVRJRVNfSF9fDQotDQotLyogIENvbnN0YW50cyAqLw0KLSNkZWZpbmUgTE9HX0RFQlVHICAgIF9fRklMRV9fLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyxERUJVR19UWVBFDQotI2RlZmluZSBMT0dfSU5GTyAgICAgX19GSUxFX18sX19GVU5DVElPTl9fLF9fTElORV9fLElORk9fVFlQRQ0KLSNkZWZpbmUgTE9HX0VSUk9SICAgIF9fRklMRV9fLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyxFUlJPUl9UWVBFDQotI2RlZmluZSBMT0dfQ1JJVElDQUwgX19GSUxFX18sX19GVU5DVElPTl9fLF9fTElORV9fLENSSVRJQ0FMX1RZUEUNCi0jZGVmaW5lIExPR19GQVRBTCAgICBfX0ZJTEVfXyxfX0ZVTkNUSU9OX18sX19MSU5FX18sRkFUQUxfVFlQRQ0KLSNkZWZpbmUgTE9HX0RFQlVHICAgIF9fRklMRV9fLF9fRlVOQ1RJT05fXyxfX0xJTkVfXyxERUJVR19UWVBFDQotDQotLyogICBFbnVtZXJhdGVkIFR5cGVzICovDQotDQotLyoqIGRlYnVnIGxldmVscyAqLw0KLWVudW0gZHByaW50X3R5cGUge0RFQlVHX1RZUEUsIElORk9fVFlQRSwgRVJST1JfVFlQRSwgQ1JJVElDQUxfVFlQRSwgRkFUQUxfVFlQRX07DQotDQotLyoqIGRlYnVnIG91dHB1dCBzZXR0aW5nICovDQotdHlwZWRlZiBlbnVtIERlYnVnT3V0cHV0VHlwZV9lbnVtIHsgDQotCURFQlVHX09GRiwgREVCVUdfTU9TVExZX09GRiwgREVCVUdfU0NSRUVOX09OTFksIERFQlVHX0ZJTEVfT05MWSwgREVCVUdfU0NSRUVOX0FORF9GSUxFDQotfURlYnVnT3V0cHV0VHlwZTsNCi0NCi0vKiAgRW51bWVyYXRlZCBUeXBlcyAqLw0KLQ0KLS8qIFV0aWxpdHkgZnVuY3Rpb25zICovDQotDQotLyogZGVidWcgKi8NCi12b2lkIFNldERlYnVnRmxhZyAoIERlYnVnT3V0cHV0VHlwZSBmbGFnICApOyANCi12b2lkIGRwcmludGYgKCBjaGFyICogdGVtcFN0cmluZywgLi4uICApOyAgLyogVmFyaWFibGUgYXJndW1lbnQgbGlzdCAqLw0KLQ0KLS8qIHNldCBGUkMgcmFuZ2VzIGZvciBkcml2ZSAqLw0KLWRvdWJsZSBSYW5nZVRvTm9ybWFsaXplZChkb3VibGUgcGl4ZWwsIGludCByYW5nZSk7DQotLyogY2hhbmdlIG5vcm1hbGl6ZWQgdmFsdWUgdG8gYW55IHJhbmdlIC0gdXNlZCBmb3Igc2Vydm8gKi8NCi1mbG9hdCBOb3JtYWxpemVUb1JhbmdlKGZsb2F0IG5vcm1hbGl6ZWRWYWx1ZSwgZmxvYXQgbWluUmFuZ2UsIGZsb2F0IG1heFJhbmdlKTsNCi1mbG9hdCBOb3JtYWxpemVUb1JhbmdlKGZsb2F0IG5vcm1hbGl6ZWRWYWx1ZSk7DQotDQotLyogc3lzdGVtIHV0aWxpdGllcyAqLw0KLXZvaWQgU2hvd0FjdGl2aXR5IChjaGFyICpmbXQsIC4uLik7DQotZG91YmxlIEVsYXBzZWRUaW1lIChkb3VibGUgc3RhcnRUaW1lKTsNCi0NCi0vKiBzZXJ2byBwYW5uaW5nIHV0aWxpdGllcyAqLw0KLWNsYXNzIFNlcnZvOw0KLWRvdWJsZSBTaW5Qb3NpdGlvbiAoZG91YmxlICpwZXJpb2QsIGRvdWJsZSBzaW5TdGFydCk7DQotdm9pZCBwYW5Jbml0KCk7DQotdm9pZCBwYW5Jbml0KGRvdWJsZSBwZXJpb2QpOw0KLXZvaWQgcGFuRm9yVGFyZ2V0KFNlcnZvICpwYW5TZXJ2byk7DQotdm9pZCBwYW5Gb3JUYXJnZXQoU2Vydm8gKnBhblNlcnZvLCBkb3VibGUgc2luU3RhcnQpOw0KLQ0KLS8qIGNvbmZpZyBmaWxlIHJlYWQgdXRpbGl0aWVzICovDQotaW50IHByb2Nlc3NGaWxlKGNoYXIgKmlucHV0RmlsZSwgY2hhciAqb3V0cHV0U3RyaW5nLCBpbnQgbGluZU51bWJlcik7DQotaW50IGVtcHR5U3RyaW5nKGNoYXIgKnN0cmluZyk7DQotdm9pZCBzdHJpcFN0cmluZyhjaGFyICpzdHJpbmcpOw0KLQ0KLSNlbmRpZg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvRnJjRXJyb3IuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9GcmNFcnJvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjMWM5ZjQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9GcmNFcnJvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjM1ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSogIFByb2plY3QgICAJCTogRklSU1QgTW90b3IgQ29udHJvbGxlcg0KLSogIEZpbGUgTmFtZSAgCQk6IEZyY0Vycm9yLmNwcCAgICAgICAgDQotKiAgQ29udHJpYnV0b3JzICAgCTogSkRHLCBFTEYNCi0qICBDcmVhdGlvbiBEYXRlIAk6IEp1bHkgMjAsIDIwMDgNCi0qICBSZXZpc2lvbiBIaXN0b3J5CTogU291cmNlIGNvZGUgJiByZXZpc2lvbiBoaXN0b3J5IG1haW50YWluZWQgYXQgc291cmNlZm9yZ2UuV1BJLmVkdSAgICANCi0qICBGaWxlIERlc2NyaXB0aW9uCTogRXJyb3IgaGFuZGxpbmcgZnVuY3Rpb25hbGl0eSBmb3IgQyByb3V0aW5lcw0KLSovICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAqLw0KLS8qICBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0gDQotI2luY2x1ZGUgIm5pdmlzaW9uLmgiIA0KLSNpbmNsdWRlICJGcmNFcnJvci5oIiANCi0NCi0vKioNCi0gKiBHZXQgdGhlIGVycm9yIGNvZGUgcmV0dXJuZWQgZnJvbSB0aGUgTkkgVmlzaW9uIGxpYnJhcnkNCi0gKiBAcmV0dXJuIFRoZSBsYXN0IGVycm9yIGNvZGUuDQotICovDQotaW50IEdldExhc3RWaXNpb25FcnJvcigpDQotew0KLQkvL2ludCBlcnJvckNvZGUgPSBpbWFxR2V0TGFzdFZpc2lvbkVycm9yKCk7ICAgICAvLyBlcnJvciBjb2RlOiAwID0gbm8gZXJyb3IJDQotCS8vY2hhciogZXJyb3JUZXh0ID0gR2V0VmlzaW9uRXJyb3JUZXh0KGVycm9yQ29kZSk7DQotCS8vZHByaW50ZiAoTE9HX0RFQlVHLCAiRXJyb3IgPSAlaSAgJXMgIiwgZXJyb3JDb2RlLCBlcnJvclRleHQpOw0KLQlyZXR1cm4gaW1hcUdldExhc3RFcnJvcigpOw0KLX0NCi0JDQotLyoqDQotKiBHZXQgdGhlIGVycm9yIHRleHQgZm9yIGFuIE5JIFZpc2lvbiBlcnJvciBjb2RlLg0KLSogTm90ZTogaW1hcUdldEVycm9yVGV4dCgpIGlzIG5vdCBzdXBwb3J0ZWQgb24gcmVhbCB0aW1lIHN5c3RlbSwgc28NCi0qIHNvIHJlbGV2YW50IHN0cmluZ3MgYXJlIGhhcmRjb2RlZCBoZXJlIC0gdGhlIG1haW50YWluZWQgdmVyc2lvbiBpcw0KLSogaW4gdGhlIExhYldpbmRvd3MvQ1ZJIGhlbHAgZmlsZS4NCi0qIEBwYXJhbSBlcnJvckNvZGUgVGhlIGVycm9yIGNvZGUgdG8gZmluZCB0aGUgdGV4dCBmb3IuDQotKiBAcmV0dXJuIFRoZSBlcnJvciB0ZXh0DQotKi8NCi1jaGFyKiBHZXRWaXNpb25FcnJvclRleHQoaW50IGVycm9yQ29kZSkNCi17DQotCWNoYXIqIGVycm9yVGV4dDsNCi0NCi0Jc3dpdGNoIChlcnJvckNvZGUpDQotCXsNCi0JCWRlZmF1bHQ6DQotCQkJeyBlcnJvclRleHQgPSAiVU5LTk9XTl9FUlJPUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTEzODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX1JFR0lPTl9UT09fU01BTEwiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxMzk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lNQVFfUVJfRElNRU5TSU9OX0lOVkFMSUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9DSEFSX1JFUE9SVF9DT1JSVVBURUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNDE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9OT19URVhUX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTQyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9RUl9ERVRFQ1RJT05fTU9ERUxUWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTQzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9RUl9ERVRFQ1RJT05fTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE0NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUVJfSU5WQUxJRF9CQVJDT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTQ1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9RUl9JTlZBTElEX1JFQUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNDY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1FSX0RFVEVDVElPTl9WRVJTSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTQ3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX1JTU0xJTUlURUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNDg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09WRVJMQVlfR1JPVVBfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTQ5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9EVVBMSUNBVEVfVFJBTlNGT1JNX1RZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9DT1JSRUNUSU9OX0ZBSUxFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE1NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX09SSUVOVF9ERVRFQ1RfRkFJTEVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTU2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfU0tFV19ERVRFQ1RfRkFJTEVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTU4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfSU5WQUxJRF9DT05UUkFTVE1PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNTk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9JTlZBTElEX1RPTEVSQU5DRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE2MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOVkFMSURfTUFYUE9JTlRTSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTYxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfSU5WQUxJRF9DT1JSRUNUSU9OTEVWRUwiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNjI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9JTlZBTElEX0NPUlJFQ1RJT05NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTYzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfSU5WQUxJRF9DSEFSQUNURVJQUkVGRVJFTkNFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTY0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfQUREX1dPUkRfRkFJTEVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTY1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfV1RTX0RJUl9OT1RfRk9VTkQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNjY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9CSU5fRElSX05PVF9GT1VORCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE2NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOVkFMSURfT1VUUFVUREVMSU1JVEVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTY4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfSU5WQUxJRF9BVVRPQ09SUkVDVElPTk1PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNjk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9JTlZBTElEX1JFQ09HTklUSU9OTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE3MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOVkFMSURfQ0hBUkFDVEVSVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE3MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOSV9GSUxFX05PVF9GT1VORCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE3MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOVkFMSURfQ0hBUkFDVEVSU0VUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTczOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfSU5WQUxJRF9MQU5HVUFHRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTE3NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0lOVkFMSURfQVVUT09SSUVOVE1PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUxNzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9CQURfVVNFUl9ESUNUSU9OQVJZIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTc4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfUkVDT0dOSVRJT05fRkFJTEVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MTc5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfUFJFUFJPQ0VTU0lOR19GQUlMRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyMDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9JTlZBTElEX1BBUkFNRVRFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTIwMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0xPQURfTElCUkFSWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTIwMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX0xJQl9JTklUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjEwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PQ1JfQ0FOTk9UX01BVENIX1RFWFRfVEVNUExBVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyMTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX09DUl9CQURfVEVYVF9URU1QTEFURSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTIxMjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT0NSX1RFTVBMQVRFX1dST05HX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyMzM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX0lNQUdFX1RPT19MQVJHRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTIzNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVfSU1BR0VfVE9PX1NNQUxMIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjM1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURV9JTUFHRV9DT05UUkFTVF9UT09fTE9XIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjM3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURV9ERVNDUklQVE9SX1NISUZUXzEiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyMzg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9TSElGVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTIzOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI0MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTl8xIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjQxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURV9ERVNDUklQVE9SX05PUk9UQVRJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNDI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNDM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfNCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI0NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl8zIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjQ1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURV9ERVNDUklQVE9SXzIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNDY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfMSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI0NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVfREVTQ1JJUFRPUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI0ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVE9PX01BTllfUk9UQVRJT05fQU5HTEVfUkFOR0VTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjQ5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST1RBVElPTl9BTkdMRV9SQU5HRV9UT09fTEFSR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX01BVENIX1NFVFVQX0RBVEEiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFUQ0hfTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI1MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTEVBUk5fU0VUVVBfREFUQSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9MRUFSTl9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjU2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9FVkVOX1dJTkRPV19TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjU3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0VER0VfRElSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjU4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQURfRklMVEVSX1dJRFRIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjYwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9IRUFQX1RSQVNIRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNjE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0dJUF9SQU5HRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI2MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTENEX0JBRF9NQVRDSCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI2MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTENEX05PX1NFR01FTlRTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjY1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjY3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT01QTEVYX1JPT1QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyNjg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0xJTkVBUl9DT0VGRiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI2OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTlVMTF9QT0lOVEVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjcwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ESVZfQllfWkVSTyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI3NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9CUk9XU0VSX0lNQUdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mjc2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9MSU5FU19QQVJBTExFTCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI3NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9DSEVDS1NVTSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI3ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTENEX05PVF9OVU1FUklDIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mjc5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0lfTk9UX1BPTFlHT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyODA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1JPSV9OT1RfUkVDVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI4MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU1BR0VfU01BTExFUl9USEFOX0JPUkRFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI4MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FOVF9EUkFXX0lOVE9fVklFV0VSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjgzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1JBS0VfRElSRUNUSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mjg0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0VER0VfUFJPQ0VTUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI4NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TUE9LRV9ESVJFQ1RJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyODY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09OQ0VOVFJJQ19SQUtFX0RJUkVDVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI4NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9MSU5FIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjkwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9TSEFQRU1BVENIX0JBRFRFTVBMQVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MjkxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9TSEFQRU1BVENIX0JBRElNQUdFREFUQSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI5MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUE9JTlRTX0FSRV9DT0xMSU5FQVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyOTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTlRPVVJJRF9OT1RfRk9VTkQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyOTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTlRPVVJfSU5ERVhfT1VUX09GX1JBTkdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mjk1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0lOVEVSUE9MQVRJT05NRVRIT0RfSU5URVJQT0xBVEVQT0lOVFMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyOTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQkFSQ09ERVRZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUyOTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfUEFSVElDTEVJTkZPTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI5ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09NUExFWFBMQU5FX05PVF9SRUFMX09SX0lNQUdJTkFSWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTI5OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DT01QTEVYUExBTkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUVURVJBUkNNT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzAxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0lfTk9UXzJfTElORVMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMDI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfVEhSRVNIT0xETUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzAzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX05VTV9PRl9DTEFTU0VTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzA0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BVEhUUkFOU0ZPUk1NRVRIT0QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMDU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfUkVGRVJFTkNFTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMwNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9UT09MIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzA3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9QUkVDSVNJT05fTk9UX0dUUl9USEFOXzAiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMDg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09MT1JTRU5TSVRJVklUWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMwOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9XSU5ET1dfVEhSRUFEX1BPTElDWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMxMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9QQUxFVFRFX1RZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09MT1JfU1BFQ1RSVU0iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMTI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0xDRF9DQUxJQlJBVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1dSSVRFX0ZJTEVfTk9UX1NVUFBPUlRFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMxNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9LRVJORUxfQ09ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMxNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVU5ERUZfUE9JTlQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMTg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOU0ZfUE9JTlRTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzE5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NVQlBJWF9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzIwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURV9FTVBUWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMyMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NT1JQSE9MT0dZTUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzIyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1RFWFRBTElHTk1FTlQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMjM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfRk9OVENPTE9SIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzI0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NIQVBFTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMyNToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9EUkFXTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMyNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9EUkFXTU9ERV9GT1JfTElORSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMyNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TQ0FMSU5HTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMyODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzI5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX09VVExJTkVNRVRIT0QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMzA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQk9SREVSX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMzE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQk9SREVSTUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzMyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NPTVBBUkVGVU5DVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMzMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9WRVJUSUNBTF9URVhUX0FMSUdOTUVOVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMzNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DT05WRVJTSU9OU1RZTEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzMzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJU1BBVENIX1NUQVRVU19DT05GTElDVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTMzNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVU5LTk9XTl9BTEdPUklUSE0iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU0laRVRZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNDM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfRklMRU5BTUVfTlVMTCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM0NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9GTElQQVhJUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM0NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EX0ZPUl9ST1RBVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNDc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfM0RESVJFQ1RJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNDg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfM0RQTEFORSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM0OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TS0VMRVRPTk1FVEhPRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM1MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9WSVNJT05fSU5GTyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM1MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9SRUNUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzUyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0ZFQVRVUkVfTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TRUFSQ0hfU1RSQVRFR1kiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09MT1JfV0VJR0hUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzU1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX05VTV9NQVRDSEVTX1JFUVVFU1RFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM1NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NSU5fTUFUQ0hfU0NPUkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09MT1JfSUdOT1JFX01PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNjA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTVBMRVhfUExBTkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNjE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU1RFRVBORVNTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzYyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1dJRFRIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzYzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NVQlNBTVBMSU5HX1JBVElPIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzY0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JR05PUkVfQ09MT1JfU1BFQ1RSVU1fU0VUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzY1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX05PU1BFQ1RSVU0iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNjY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9TSEFQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM2NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTl81IjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzY4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX1JPVEFUSU9OXzQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNjk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT05fMyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM3MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTl8yIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzcxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX1JPVEFUSU9OXzEiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNzI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9ST1RBVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM3MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM3NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVF8yIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mzc1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX1NISUZUXzEiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzNzY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9TSElGVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM3NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM3ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl82IjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Mzc5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SXzUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzODA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfNCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl8zIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzgyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SXzIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzODM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfMSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfUk9UQVRJT05fUkVRVUlSRVNfU0hBUEVfRkVBVFVSRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfTUFUQ0hfU0VUVVBfREFUQV9TSEFQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfTUFUQ0hfU0VUVVBfREFUQSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfTEVBUk5fU0VUVVBfREFUQV9TSEFQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM4OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfTEVBUk5fU0VUVVBfREFUQSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM5MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfVEVNUExBVEVfSU1BR0VfTFVNSU5BTkNFX0NPTlRSQVNUX1RPT19MT1ciO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzOTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0lNQUdFX0hVRV9DT05UUkFTVF9UT09fTE9XIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1MzkyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9URU1QTEFURV9JTUFHRV9UT09fTEFSR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzOTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTE9SX1RFTVBMQVRFX0lNQUdFX1RPT19TTUFMTCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM5NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfU1BFQ1RSVU1fTUFTSyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTM5NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09MT1JfSU1BR0VfUkVRVUlSRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzOTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPTVBMRVhfSU1BR0VfUkVRVUlSRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTUzOTk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX01VTFRJQ09SRV9JTlZBTElEX0FSR1VNRU5UIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDAwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9NVUxUSUNPUkVfT1BFUkFUSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDAxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BVENIRkFDVE9SIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDAyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BWFBPSU5UUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTQwMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRVhUUkFJTkZPX1ZFUlNJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU0MDQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfSU5URVJQT0xBVElPTk1FVEhPRF9GT1JfVU5XUkFQIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDA1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1RFWFRPUklFTlRBVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTQwNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09PUkRTWVNfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDA3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NPTlRSQVNUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDA4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0RFVEVDVElPTl9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NDA5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NVQlBJWEVMX0RJVklTSU9OUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTQxMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9JQ09OU19QRVJfTElORSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU0OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9OVU1CRVJfT0ZfT0JKRUNUU19UT19WRVJJRlkiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfQ0hBUkFDVEVSX1ZBTFVFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTUxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9SRU5BTUVfUkVGQ0hBUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU1MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfTk9UX0FfVkFMSURfQ0hBUkFDVEVSX1NFVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9NSU5fQk9VTkRJTkdfUkVDVF9IRUlHSFQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfUkVBRF9SRVNPTFVUSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTU1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX1NQQUNJTkdfUkFOR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfQk9VTkRJTkdfUkVDVF9IRUlHSFRfUkFOR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfQk9VTkRJTkdfUkVDVF9XSURUSF9SQU5HRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU1ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9DSEFSQUNURVJfU0laRV9SQU5HRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU1OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9SRUFEX09QVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU2MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9PQkpFQ1RfSU5ERVgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NjE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTlVNQkVSX09GX0NIQVJBQ1RFUlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NjI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0JPT0xFQU5fVkFMVUVfRk9SX1NUUklOR19BVFRSSUJVVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NjM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX1VOTElDRU5TRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NjQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfUFJFREVGSU5FRF9DSEFSQUNURVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1NjU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX01VU1RfQkVfU0lOR0xFX0NIQVJBQ1RFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU2NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfQk9PTEVBTl9WQUxVRV9GT1JfSU5URUdFUl9BVFRSSUJVVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1Njc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX1NUUklOR19WQUxVRV9GT1JfQk9PTEVBTl9BVFRSSUJVVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1Njg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX1NUUklOR19WQUxVRV9GT1JfSU5URUdFUl9BVFRSSUJVVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1Njk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfQVRUUklCVVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTcwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlRFR0VSX1ZBTFVFX0ZPUl9CT09MRUFOX0FUVFJJQlVURSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU3MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfR0VUX09OTFlfQVRUUklCVVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTcyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlRFR0VSX1ZBTFVFX0ZPUl9TVFJJTkdfQVRUUklCVVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTczOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0NIQVJBQ1RFUl9TRVRfRklMRV9WRVJTSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTc0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9DSEFSQUNURVJfU0VUX0RFU0NSSVBUSU9OX1RPT19MT05HIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTc1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX05VTUJFUl9PRl9FUk9TSU9OUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU3NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfQ0hBUkFDVEVSX1ZBTFVFX1RPT19MT05HIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTc3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9DSEFSQUNURVJfVkFMVUVfQ0FOTk9UX0JFX0VNUFRZU1RSSU5HIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTc4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0NIQVJBQ1RFUl9TRVRfRklMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU3OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9BU1BFQ1RfUkFUSU8iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1ODA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTUlOX0JPVU5ESU5HX1JFQ1RfV0lEVEgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1ODE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTUFYX1ZFUlRfRUxFTUVOVF9TUEFDSU5HIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTgyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX01BWF9IT1JJWl9FTEVNRU5UX1NQQUNJTkciO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1ODM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTUlOX0NIQVJfU1BBQ0lORyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU4NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9USFJFU0hPTERfTElNSVRTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTg1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX1VQUEVSX1RIUkVTSE9MRF9MSU1JVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU4NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9MT1dFUl9USFJFU0hPTERfTElNSVQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1ODc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfVEhSRVNIT0xEX1JBTkdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTg4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0hJR0hfVEhSRVNIT0xEX1ZBTFVFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTg5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0xPV19USFJFU0hPTERfVkFMVUUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1OTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTlVNQkVSX09GX1ZBTElEX0NIQVJBQ1RFUl9QT1NJVElPTlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1OTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfQ0hBUkFDVEVSX0lOREVYIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTkyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX1JFQURfU1RSQVRFR1kiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU1OTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05JT0NSX0lOVkFMSURfTlVNQkVSX09GX0JMT0NLUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTU5NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTklPQ1JfSU5WQUxJRF9TVUJTVElUVVRJT05fQ0hBUkFDVEVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTk1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX1RIUkVTSE9MRF9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTk2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0NIQVJBQ1RFUl9TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTk3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9OT1RfQV9WQUxJRF9TRVNTSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NTk4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OSU9DUl9JTlZBTElEX0FDQ0VQVEFOQ0VfTEVWRUwiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lORk9fTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjAxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0VER0VfVEhSRVNIT0xEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjAyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01JTklNVU1fQ1VSVkVfTEVOR1RIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjAzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1JPV19TVEVQIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjA0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NPTFVNTl9TVEVQIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjA1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BWElNVU1fRU5EX1BPSU5UX0dBUCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYwNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NSU5JTVVNX0ZFQVRVUkVTX1RPX01BVENIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjA3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BWElNVU1fRkVBVFVSRVNfUEVSX01BVENIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjA4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NVQlBJWEVMX0lURVJBVElPTlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MDk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU1VCUElYRUxfVE9MRVJBTkNFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjEwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0lOSVRJQUxfTUFUQ0hfTElTVF9MRU5HVEgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOSU1VTV9SRUNUQU5HTEVfRElNRU5TSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjEyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01JTklNVU1fRkVBVFVSRV9SQURJVVMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOSU1VTV9GRUFUVVJFX0xFTkdUSCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYxNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NSU5JTVVNX0ZFQVRVUkVfQVNQRUNUX1JBVElPIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjE1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01JTklNVU1fRkVBVFVSRV9TVFJFTkdUSCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYxNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9FREdFX0ZJTFRFUl9TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjE3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX05VTUJFUl9PRl9GRUFUVVJFU19SQU5HRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYxODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVE9PX01BTllfU0NBTEVfUkFOR0VTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjE5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9UT09fTUFOWV9PQ0NMVVNJT05fUkFOR0VTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjIwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NVUlZFX0VYVFJBQ1RJT05fTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYyMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9MRUFSTl9HRU9NRVRSSUNfUEFUVEVSTl9TRVRVUF9EQVRBIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjIyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BVENIX0dFT01FVFJJQ19QQVRURVJOX1NFVFVQX0RBVEEiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MjM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU0NBTEVfUkFOR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MjQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfT0NDTFVTSU9OX1JBTkdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjI1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01BVENIX0NPTlNUUkFJTlRfVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYyNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTk9UX0VOT1VHSF9URU1QTEFURV9GRUFUVVJFUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYyNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTk9UX0VOT1VHSF9URU1QTEFURV9GRUFUVVJFU18xIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjI4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0dFT01FVFJJQ19NQVRDSElOR19URU1QTEFURSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYyOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NQVhJTVVNX1BJWEVMX0RJU1RBTkNFX0ZST01fTElORSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYzMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NQVhJTVVNX0ZFQVRVUkVTX0xFQVJORUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MzE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fRElTVEFOQ0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MzI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fQU5HTEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MzM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fU0NBTEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MzQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFYX01BVENIX09WRVJMQVAiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2MzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU0hBUEVfREVTQ1JJUFRPUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYzNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRElSRUNUWF9OT1RfRk9VTkQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2Mzc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0hBUkRXQVJFX0RPRVNOVF9TVVBQT1JUX05PTlRFQVJJTkciO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2Mzg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfRklMTF9TVFlMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTYzOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9IQVRDSF9TVFlMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTY0MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVE9PX01BTllfWk9ORVMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NDE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RVUExJQ0FURV9MQUJFTCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTY0MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTEFCRUxfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjQzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX05VTUJFUl9PRl9NQVRDSF9PUFRJT05TIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjQ0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9MQUJFTF9UT09fTE9ORyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTY0NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9OVU1CRVJfT0ZfTEFCRUxTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjQ2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OT19URU1QTEFURV9UT19MRUFSTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTY0NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NVUxUSVBMRV9HRU9NRVRSSUNfVEVNUExBVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NDg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFX05PVF9MRUFSTkVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjQ5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0dFT01FVFJJQ19GRUFUVVJFX1RZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NVUlZFX0VYVFJBQ1RJT05fTU9ERV9NVVNUX0JFX1NBTUUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0VER0VfRklMVEVSX1NJWkVfTVVTVF9CRV9TQU1FIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjUyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PUEVOSU5HX05FV0VSX0dFT01FVFJJQ19NQVRDSElOR19URU1QTEFURSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTY1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT1BFTklOR19ORVdFUl9NVUxUSVBMRV9HRU9NRVRSSUNfVEVNUExBVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0dSQURJTkdfSU5GT1JNQVRJT05fTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NjU1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9FTkFCTEVfQ0FMSUJSQVRJT05fU1VQUE9SVF9NVVNUX0JFX1NBTUUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU2NTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1NNT09USF9DT05UT1VSU19NVVNUX0JFX1NBTUUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1JFUVVJUkVTX1dJTjIwMDBfT1JfTkVXRVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MDE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFUUklYX1NJWkVfUkFOR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MDI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTEVOR1RIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzAzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1RZUEVfT0ZfRkxBVFRFTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcwNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DT01QUkVTU0lPTl9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzA1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9EQVRBX0NPUlJVUFRFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcwNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQVZJX1NFU1NJT05fQUxSRUFEWV9PUEVOIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzA3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9BVklfV1JJVEVfU0VTU0lPTl9SRVFVSVJFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcwODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQVZJX1JFQURfU0VTU0lPTl9SRVFVSVJFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcwOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQVZJX1VOT1BFTkVEX1NFU1NJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RPT19NQU5ZX1BBUlRJQ0xFUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcxMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTk9UX0VOT1VHSF9SRUdJT05TIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzEyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9XUk9OR19SRUdJT05fVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcxMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVkFMVUVfTk9UX0lOX0VOVU0iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQVhJU19PUklFTlRBVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcxNToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DQUxJQlJBVElPTl9VTklUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzE2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NDQUxJTkdfTUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzE3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1JBTkdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzE4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9MQUJfVkVSU0lPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcxOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFEX1JPSV9CT1giO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MjA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBRF9ST0kiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MjE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQklUX0RFUFRIIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzIyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DTEFTU0lGSUVSX0NMQVNTSUZZX0lNQUdFX1dJVEhfQ1VTVE9NX1NFU1NJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MjM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NVU1RPTURBVEFfS0VZX05PVF9GT1VORCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcyNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ1VTVE9NREFUQV9JTlZBTElEX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3MjU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RBVEFfVkVSU0lPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTcyNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTUFUQ0hGQUNUT1JfT0JTT0xFVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3Mjc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1VOU1VQUE9SVEVEXzJEX0JBUkNPREVfU0VBUkNIX01PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3Mjg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9TRUFSQ0hfTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc1NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVFJJR19USU1FT1VUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzU2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ETExfRlVOQ1RJT05fTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzU3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ETExfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzU4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CT0FSRF9OT1RfT1BFTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc2MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQk9BUkRfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzYyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX05JQkxBQ0tfREVWSUFUSU9OX0ZBQ1RPUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc2MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9OT1JNQUxJWkFUSU9OX01FVEhPRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc2NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfREVQUkVDQVRFRF9GVU5DVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc2NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9BTElHTk1FTlQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3Njg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfU0NBTEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3Njk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfRURHRV9USElDS05FU1MiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3NzA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfSU5TUEVDVElPTl9URU1QTEFURSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc3MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT1BFTklOR19ORVdFUl9JTlNQRUNUSU9OX1RFTVBMQVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzcyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1JFR0lTVFJBVElPTl9NRVRIT0QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3NzM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05PX0RFU1RfSU1BR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3NzQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05PX0xBQkVMIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzc1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0lfSEFTX09QRU5fQ09OVE9VUlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3NzY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfVVNFX09GX0NPTVBBQ1RfU0VTU0lPTl9GSUxFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzc3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTkNPTVBBVElCTEVfQ0xBU1NJRklFUl9UWVBFUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc3ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9LRVJORUxfU0laRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc3OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FOTk9UX0NPTVBBQ1RfVU5UUkFJTkVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzgwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1BBUlRJQ0xFX1RZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3ODE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NMQVNTSUZJRVJfSU5WQUxJRF9FTkdJTkVfVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc4MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfREVTQ1JJUFRJT05fVE9PX0xPTkciO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3ODM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBRF9TQU1QTEVfSU5ERVgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3ODQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTElNSVRTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzg1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OT19QQVJUSUNMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc4NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9QQVJUSUNMRV9PUFRJT05TIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzg3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NMQVNTSUZJRVJfVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc4ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTk9fU0FNUExFUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc4OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT1BFTklOR19ORVdFUl9DTEFTU0lGSUVSX1NFU1NJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3OTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfRElTVEFOQ0VfTUVUUklDIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzkxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DTEFTU0lGSUVSX0lOVkFMSURfU0VTU0lPTl9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1NzkyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DTEFTU0lGSUVSX1NFU1NJT05fTk9UX1RSQUlORUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3OTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfT1BFUkFUSU9OX09OX0NPTVBBQ1RfU0VTU0lPTl9BVFRFTVBURUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3OTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0tfVE9PX0hJR0giO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU3OTU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0tfVE9PX0xPVyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc5NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9LTk5fTUVUSE9EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzk3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NMQVNTSUZJRVJfU0VTU0lPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTc5ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DVVNUT01fU0FNUExFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1Nzk5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlRFUk5BTCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTgwMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUFJPVEVDVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTgwMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVE9PX01BTllfQ09OVE9VUlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU4Mzc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09NUFJFU1NJT05fUkFUSU8iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU4NDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBRF9JTkRFWCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTg3NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9QSEFSTUFDT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1ODc2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9VTlNVUFBPUlRFRF9DT0xPUl9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1ODc3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUk1PREVfUkVRVUlSRVNfQ0hBTkdFQ09MT1JTUEFDRTIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU4Nzg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1BST1BfTk9ERV9XUklURV9OT1RfU1VQUE9SVEVEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1ODc5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQURfTUVBU1VSRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTg4MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUEFSVElDTEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5MjA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05VTUJFUl9DTEFTUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9XQVZFTEVUX1RSQU5TRk9STV9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTU0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1FVQU5USVpBVElPTl9TVEVQX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NTU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFYX1dBVkVMRVRfVFJBTlNGT1JNX0xFVkVMIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTU2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1FVQUxJVFkiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0FSUkFZX1NJWkVfTUlTTUFUQ0giO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NTg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1dJTkRPV19JRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk1OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ1JFQVRFX1dJTkRPVyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk2MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5JVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk3MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9PRkZTRVQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NzI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJUkVDVFhfRU5VTUVSQVRFX0ZJTFRFUlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NzM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0pQRUcyMDAwX1VOU1VQUE9SVEVEX01VTFRJUExFX0xBWUVSUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk3NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVU5TVVBQT1JURURfSlBFRzIwMDBfQ09MT1JTUEFDRV9NRVRIT0QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5NzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0FWSV9USU1FT1VUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTc2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OVU1CRVJfT0ZfUEFMRVRURV9DT0xPUlMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5Nzc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0FWSV9WRVJTSU9OIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTc4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1BBUlRJQ0xFX05VTUJFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk3OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9QQVJUSUNMRV9JTkZPIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTgwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT01fSU5JVElBTElaRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk4MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5TVUZGSUNJRU5UX0JVRkZFUl9TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTgyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0ZSQU1FU19QRVJfU0VDT05EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTgzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX05PX1NQQUNFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTg0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX0lOVkFMSURfREFUQV9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTg1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX09QRVJBVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NTk4NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRklMRV9GT1JNQVQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5ODc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfRU9GIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTg4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX1dSSVRFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTg5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX1JFQUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5OTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfR0VUX0lORk8iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5OTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfSU5WQUxJRF9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTkyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX1BFUk1JU1NJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5OTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfSU9fRVJSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTk0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX1RPT19NQU5ZX09QRU4iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5OTU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfTk9UX0ZPVU5EIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTk2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX09QRU4iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTU5OTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0ZJTEVfQVJHRVJSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTk4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX0NPTE9SX1RBQkxFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk1OTk5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9GSUxFX0ZJTEVfVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAwMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRklMRV9GSUxFX0hFQURFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAwMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVE9PX01BTllfQVZJX1NFU1NJT05TIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDAyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0xJTkVHQVVHRU1FVEhPRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAwMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQVZJX0RBVEFfRVhDRUVEU19CVUZGRVJfU0laRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAwNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRElSRUNUWF9DRVJUSUZJQ0FUSU9OX0ZBSUxVUkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMDU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQVZJX1NFU1NJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMDY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJUkVDVFhfVU5LTk9XTl9DT01QUkVTU0lPTl9GSUxURVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMDc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJUkVDVFhfSU5DT01QQVRJQkxFX0NPTVBSRVNTSU9OX0ZJTFRFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAwODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRElSRUNUWF9OT19GSUxURVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMDk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJUkVDVFgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfRlJBTUVfTlVNQkVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDExOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9SUENfQklORCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAxMjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUlBDX0VYRUNVVEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfVklERU9fTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAxNDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9WSURFT19CTElUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDE1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9SUENfRVhFQ1VURV9JVkIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05PX1ZJREVPX0RSSVZFUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAxNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfT1BFTklOR19ORVdFUl9BSU1fR1JBRElOR19EQVRBIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDE4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0VER0VfUE9MQVJJVFlfU0VBUkNIX01PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMTk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfVEhSRVNIT0xEX1BFUkNFTlRBR0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMjA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfR1JBRElOR19NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDIxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0tFUk5FTF9TSVpFX0ZPUl9FREdFX0RFVEVDVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAyMjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TRUFSQ0hfTU9ERV9GT1JfU1RSQUlHSFRfRURHRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAyMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9BTkdMRV9UT0xfRk9SX1NUUkFJR0hUX0VER0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMjQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUlOX0NPVkVSQUdFX0ZPUl9TVFJBSUdIVF9FREdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDI1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0FOR0xFX1JBTkdFX0ZPUl9TVFJBSUdIVF9FREdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDI2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1BST0NFU1NfVFlQRV9GT1JfRURHRV9ERVRFQ1RJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMzI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RFTVBMQVRFREVTQ1JJUFRPUl9ST1RBVElPTl9TRUFSQ0hTVFJBVEVHWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAzMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVEVNUExBVEVERVNDUklQVE9SX0xFQVJOU0VUVVBEQVRBIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDM0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURUlNQUdFX0VER0VJTkZPIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDM1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9URU1QTEFURUlNQUdFX05PQ0lSQ0xFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDM2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NLRUxFVE9OTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAzNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfVElNRU9VVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjAzODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRklORF9DT09SRFNZU19NT1JFX1RIQU5fT05FX0VER0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwMzk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lPX0VSUk9SIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDQwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9EUklWRVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNDE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDQyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEXzJEX0JBUkNPREVfQ09OVFJBU1QiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNDM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9DRUxMX1NIQVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDQ0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEXzJEX0JBUkNPREVfU0hBUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNDU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9TVUJUWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDQ2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEXzJEX0JBUkNPREVfQ09OVFJBU1RfRk9SX1JPSSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA0NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9MSU5FQVJfQVZFUkFHRV9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDQ4Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NFTExfU0FNUExFX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNDk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFUUklYX1BPTEFSSVRZIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDUwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0VDQ19UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDUxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NFTExfRklMVEVSX01PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNTI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfREVNT0RVTEFUSU9OX01PREUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNTM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQk9SREVSX0lOVEVHUklUWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA1NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DRUxMX0ZJTExfVFlQRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA1NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9BU1BFQ1RfUkFUSU8iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfTUFUUklYX01JUlJPUl9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDU3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1NFQVJDSF9WRUNUT1JfV0lEVEgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNTg6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfUk9UQVRJT05fTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA1OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9NQVhfSVRFUkFUSU9OUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSlBFRzIwMDBfTE9TU0xFU1NfV0lUSF9GTE9BVElOR19QT0lOVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9XSU5ET1dfU0laRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9UT0xFUkFOQ0UiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNjM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0VYVEVSTkFMX0FMSUdOTUVOVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfRVhURVJOQUxfTk9UX1NVUFBPUlRFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2NToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FOVF9SRVNJWkVfRVhURVJOQUwiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNjY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfUE9JTlRTWU1CT0wiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNjc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lNQUdFU19OT1RfRElGRiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA2ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9BQ1RJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNjk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQ09MT1JfTU9ERSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA3MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9GVU5DVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA3MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TQ0FOX0RJUkVDVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA3MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9CT1JERVIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNzM6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX01BU0tfT1VUU0lERV9JTUFHRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA3NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5DT01QX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NPT1JEX1NZU19TRUNPTkRfQVhJUyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA3NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ09PUkRfU1lTX0ZJUlNUX0FYSVMiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwNzc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOQ09NUF9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDc5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX01FVEFGSUxFX0hBTkRMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA4MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9JTUFHRV9UWVBFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDgxOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQURfUEFTU1dPUkQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwODI6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1BBTEVUVEVfTk9UX1NVUFBPUlRFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA4MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfVElNRU9VVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA4NDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfREVMRVRFX1RJTUVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDg1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0xMQkFDS19JTklUX1RJTUVSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDg2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0xMQkFDS19TVEFSVF9USU1FUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA4NzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfU1RPUF9USU1FUiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA4ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDg5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0xMQkFDS19SRVNPVVJDRV9SRUlOSVRJQUxJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwOTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1JPTExCQUNLX1JFU09VUkNFX0VOQUJMRUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYwOTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1JPTExCQUNLX1JFU09VUkNFX1VOSU5JVElBTElaRURfRU5BQkxFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDkyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0xMQkFDS19SRVNPVVJDRV9OT05fRU1QVFlfSU5JVElBTElaRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA5MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfTE9DS0VEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDk0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ST0xMQkFDS19SRVNPVVJDRV9DQU5OT1RfVU5MT0NLIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDk1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9EVVBMSUNBVEVfUkVGRVJFTkNFX1BPSU5UIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDk2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9OT1RfQU5fT0JKRUNUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDk3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX1BBUlRJQ0xFX1BBUkFNRVRFUl9WQUxVRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjA5ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUkVTRVJWRURfTVVTVF9CRV9OVUxMIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MDk5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9JTkZPX1NJTVBMRV9UUkFOU0ZPUk0iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMDA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lORk9fUEVSU1BFQ1RJVkVfUFJPSkVDVElPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEwMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FMSUJSQVRJT05fSU5GT19NSUNST19QTEFORSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEwMjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FMSUJSQVRJT05fSU5GT182IjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTAzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9JTkZPXzUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMDQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lORk9fNCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEwNToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FMSUJSQVRJT05fSU5GT18zIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTA2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9JTkZPXzIiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMDc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lORk9fMSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEwODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FMSUJSQVRJT05fRVJST1JNQVAiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMDk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lOVkFMSURfU0NBTElOR19GQUNUT1IiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMTA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lORk9fVkVSU0lPTiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjExMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FMSUJSQVRJT05fRkFJTEVEX1RPX0ZJTkRfR1JJRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjExMjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5DT01QX01BVFJJWF9TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTEzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9JTUFHRV9VTkNBTElCUkFURUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMTQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lOVkFMSURfUk9JIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTE1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQUxJQlJBVElPTl9JTUFHRV9DT1JSRUNURUQiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMTY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTElCUkFUSU9OX0lOU0ZfUE9JTlRTIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTE3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9NQVRSSVhfU0laRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjExODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9TVEVQX1NJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMTk6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NVU1RPTURBVEFfSU5WQUxJRF9LRVkiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMjA6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX05PVF9JTUFHRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyMToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfU0FUVVJBVElPTl9USFJFU0hPTERfT1VUX09GX1JBTkdFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTIyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9EUkFXVEVYVF9DT0xPUl9NVVNUX0JFX0dSQVlTQ0FMRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyMzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfSU5WQUxJRF9DQUxJQlJBVElPTl9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTI0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NBTElCUkFUSU9OX1JPSV9NT0RFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTI1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTlZBTElEX0NPTlRSQVNUX1RIUkVTSE9MRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyNjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfQ09ORkxJQ1RfMSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyNzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfQ09ORkxJQ1RfMiI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfQ09ORkxJQ1RfMyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEyOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfVU5CT1VOREVEX0lOVEVSRkFDRSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEzMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTk9UX1JFQ1RfT1JfUk9UQVRFRF9SRUNUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTMyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9NQVNLX05PVF9URU1QTEFURV9TSVpFIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTMzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9USFJFQURfQ09VTERfTk9UX0lOSVRJQUxJWkUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMzQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1RIUkVBRF9JTklUSUFMSVpJTkciO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMzU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0lOVkFMSURfQlVUVE9OX0xBQkVMIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTM2Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9ESVJFQ1RYX0lOVkFMSURfRklMVEVSX1FVQUxJVFkiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxMzc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0RJUkVDVFhfRExMX05PVF9GT1VORCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEzODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfTk9UX1NVUFBPUlRFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjEzOToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfT1VUX09GX01FTU9SWSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE0MDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9DT0RFMTI4X1NFVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE0MToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9DT0RFMTI4X0ZOQyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE0MjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9JTlZBTElEIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTQzOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX1RZUEUiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxNDQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBUkNPREVfQ09ERTkzX1NISUZUIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTQ1Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX1VQQ0EiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxNDY6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBUkNPREVfTVNJIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTQ3Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX0kyNSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE0ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9FQU4xMyI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE0OToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9FQU44IjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTUwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX0NPREUxMjgiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxNTE6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0JBUkNPREVfQ09ERTkzIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTUyOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9CQVJDT0RFX0NPREUzOSI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE1MzoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQkFSQ09ERV9DT0RBQkFSIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTU0Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9JTUFHRV9UT09fU01BTEwiO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxNTU6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1VOSU5JVCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE1NjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTkVFRF9GVUxMX1ZFUlNJT04iO2JyZWFrO30NCi0JCWNhc2UgLTEwNzQzOTYxNTc6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX1VOUkVHSVNURVJFRCI7YnJlYWs7fQ0KLQkJY2FzZSAtMTA3NDM5NjE1ODoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfTUVNT1JZX0VSUk9SIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTU5Og0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9PVVRfT0ZfTUVNT1JZIjticmVhazt9DQotCQljYXNlIC0xMDc0Mzk2MTYwOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9TWVNURU1fRVJST1IiO2JyZWFrO30NCi0JCWNhc2UgMDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfU1VDQ0VTUyI7YnJlYWs7fQ0KLQkJLy8gZW5kIE5hdGlvbmFsIEluc3RydW1lbnRzIGRlZmluZWQgZXJyb3JzDQotCQkJDQotCQkvLyBiZWdpbiBCQUUgZGVmaW5lZCBlcnJvcnMNCi0JCWNhc2UgRVJSX1ZJU0lPTl9HRU5FUkFMX0VSUk9SOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9WSVNJT05fR0VORVJBTF9FUlJPUiI7YnJlYWs7fQ0KLQkJY2FzZSBFUlJfQ09MT1JfTk9UX0ZPVU5EOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DT0xPUl9OT1RfRk9VTkQiO2JyZWFrO30NCi0JCWNhc2UgRVJSX1BBUlRJQ0xFX1RPT19TTUFMTDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfUEFSVElDTEVfVE9PX1NNQUxMIjticmVhazt9DQotCQljYXNlIEVSUl9DQU1FUkFfRkFJTFVSRToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FNRVJBX0ZBSUxVUkUiO2JyZWFrO30NCi0JCWNhc2UgRVJSX0NBTUVSQV9TT0NLRVRfQ1JFQVRFX0ZBSUxFRDoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FNRVJBX1NPQ0tFVF9DUkVBVEVfRkFJTEVEIjticmVhazt9DQotCQljYXNlIEVSUl9DQU1FUkFfQ09OTkVDVF9GQUlMRUQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTUVSQV9DT05ORUNUX0ZBSUxFRCI7YnJlYWs7fQ0KLQkJY2FzZSBFUlJfQ0FNRVJBX1NUQUxFX0lNQUdFOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQU1FUkFfU1RBTEVfSU1BR0UiO2JyZWFrO30NCi0JCWNhc2UgRVJSX0NBTUVSQV9OT1RfSU5JVElBTElaRUQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTUVSQV9OT1RfSU5JVElBTElaRUQiO2JyZWFrO30NCi0JCWNhc2UgRVJSX0NBTUVSQV9OT19CVUZGRVJfQVZBSUxBQkxFOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQU1FUkFfTk9fQlVGRkVSX0FWQUlMQUJMRSI7YnJlYWs7fQ0KLQkJY2FzZSBFUlJfQ0FNRVJBX0hFQURFUl9FUlJPUjoNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FNRVJBX0hFQURFUl9FUlJPUiI7YnJlYWs7fQ0KLQkJY2FzZSBFUlJfQ0FNRVJBX0JMT0NLSU5HX1RJTUVPVVQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTUVSQV9CTE9DS0lOR19USU1FT1VUIjticmVhazt9DQotCQljYXNlIEVSUl9DQU1FUkFfQVVUSE9SSVpBVElPTl9GQUlMRUQ6DQotCQkJeyBlcnJvclRleHQgPSAiRVJSX0NBTUVSQV9BVVRIT1JJWkFUSU9OX0ZBSUxFRCI7YnJlYWs7fQ0KLQkJY2FzZSBFUlJfQ0FNRVJBX1RBU0tfU1BBV05fRkFJTEVEOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQU1FUkFfVEFTS19TUEFXTl9GQUlMRUQiO2JyZWFrO30NCi0JCWNhc2UgRVJSX0NBTUVSQV9UQVNLX0lOUFVUX09VVF9PRl9SQU5HRToNCi0JCQl7IGVycm9yVGV4dCA9ICJFUlJfQ0FNRVJBX1RBU0tfSU5QVVRfT1VUX09GX1JBTkdFIjticmVhazt9DQotCQljYXNlIEVSUl9DQU1FUkFfQ09NTUFORF9GQUlMVVJFOg0KLQkJCXsgZXJyb3JUZXh0ID0gIkVSUl9DQU1FUkFfQ09NTUFORF9GQUlMVVJFIjticmVhazt9DQotCX0NCi0JDQotCXJldHVybiBlcnJvclRleHQ7DQotfQ0KLQ0KLQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvRnJjRXJyb3IuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvRnJjRXJyb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTMxYmYwMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L0ZyY0Vycm9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0qICBQcm9qZWN0ICAgCQk6IEZJUlNUIE1vdG9yIENvbnRyb2xsZXINCi0qICBGaWxlIE5hbWUgIAkJOiBGcmNFcnJvci5oICAgICAgICAgIA0KLSogIENvbnRyaWJ1dG9ycyAgIAk6IEpERywgRUxGDQotKiAgQ3JlYXRpb24gRGF0ZSAJOiBBdWd1c3QgMTIsIDIwMDgNCi0qICBSZXZpc2lvbiBIaXN0b3J5CTogU291cmNlIGNvZGUgJiByZXZpc2lvbiBoaXN0b3J5IG1haW50YWluZWQgYXQgc291cmNlZm9yZ2UuV1BJLmVkdSAgICAgIA0KLSogIEZpbGUgRGVzY3JpcHRpb24JOiBFcnJvciBoYW5kbGluZyB2YWx1ZXMgZm9yIEMgcm91dGluZXMNCi0qLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgICAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuICAgICAgICAqLw0KLS8qICAgTXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgICAgICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fRlJDRVJST1JfSF9fDQotI2RlZmluZSBfX0ZSQ0VSUk9SX0hfXw0KLQ0KLS8qIEVycm9yIENvZGVzICovDQotI2RlZmluZSBFUlJfVklTSU9OX0dFTkVSQUxfRVJST1IJCQkxNjYwMDAJLy8gDQotI2RlZmluZSBFUlJfQ09MT1JfTk9UX0ZPVU5ECQkJCQkxNjYxMDAJLy8gVHJhY2tBUEkuY3BwDQotI2RlZmluZSBFUlJfUEFSVElDTEVfVE9PX1NNQUxMCQkJCTE2NjEwMQkvLyBUcmFja0FQSS5jcHANCi0NCi0jZGVmaW5lIEVSUl9DQU1FUkFfRkFJTFVSRQkJCQkJMTY2MjAwCS8vIEF4aXNDYW1lcmEuY3BwDQotI2RlZmluZSBFUlJfQ0FNRVJBX1NPQ0tFVF9DUkVBVEVfRkFJTEVECQkxNjYyMDEJLy8gQXhpc0NhbWVyYS5jcHANCi0jZGVmaW5lIEVSUl9DQU1FUkFfQ09OTkVDVF9GQUlMRUQJCQkxNjYyMDIJLy8gQXhpc0NhbWVyYS5jcHANCi0jZGVmaW5lIEVSUl9DQU1FUkFfU1RBTEVfSU1BR0UJCQkJMTY2MjAzCS8vIEF4aXNDYW1lcmEuY3BwDQotI2RlZmluZSBFUlJfQ0FNRVJBX05PVF9JTklUSUFMSVpFRAkJCTE2NjIwNAkvLyBBeGlzQ2FtZXJhLmNwcA0KLSNkZWZpbmUgRVJSX0NBTUVSQV9OT19CVUZGRVJfQVZBSUxBQkxFCQkxNjYyMDUJLy8gQXhpc0NhbWVyYS5jcHANCi0jZGVmaW5lIEVSUl9DQU1FUkFfSEVBREVSX0VSUk9SCQkJCTE2NjIwNgkvLyBBeGlzQ2FtZXJhLmNwcA0KLSNkZWZpbmUgRVJSX0NBTUVSQV9CTE9DS0lOR19USU1FT1VUCQkJMTY2MjA3CS8vIEF4aXNDYW1lcmEuY3BwDQotI2RlZmluZSBFUlJfQ0FNRVJBX0FVVEhPUklaQVRJT05fRkFJTEVECQkxNjYyMDgJLy8gQXhpc0NhbWVyYS5jcHANCi0jZGVmaW5lIEVSUl9DQU1FUkFfVEFTS19TUEFXTl9GQUlMRUQJCTE2NjIwOQkvLyBBeGlzQ2FtZXJhLmNwcA0KLSNkZWZpbmUgRVJSX0NBTUVSQV9UQVNLX0lOUFVUX09VVF9PRl9SQU5HRQkxNjYyMTAJLy8gQXhpc0NhbWVyYS5jcHANCi0jZGVmaW5lIEVSUl9DQU1FUkFfQ09NTUFORF9GQUlMVVJFCQkJMTY2MjExCS8vIEF4aXNDYW1lcmEuY3BwDQotDQotLyogZXJyb3IgaGFuZGxpbmcgZnVuY3Rpb25zICovDQotaW50IEdldExhc3RWaXNpb25FcnJvcigpOw0KLWNoYXIqIEdldFZpc2lvbkVycm9yVGV4dChpbnQgZXJyb3JDb2RlKTsNCi0NCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1RyYWNrQVBJLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvVHJhY2tBUEkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MWQ0MGJjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvVHJhY2tBUEkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDgxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSogIFByb2plY3QgICAJCTogRklSU1QgTW90b3IgQ29udHJvbGxlcg0KLSogIEZpbGUgTmFtZSAgCQk6IFRyYWNrQVBJLmNwcCAgICAgICAgDQotKiAgQ29udHJpYnV0b3JzICAgCTogRUxGLCBEV0QNCi0qICBDcmVhdGlvbiBEYXRlIAk6IEF1Z3VzdCAxMCwgMjAwOA0KLSogIFJldmlzaW9uIEhpc3RvcnkJOiBTb3VyY2UgY29kZSAmIHJldmlzaW9uIGhpc3RvcnkgbWFpbnRhaW5lZCBhdCBzb3VyY2Vmb3JnZS5XUEkuZWR1ICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IFRyYWNraW5nIFJvdXRpbmVzIGZvciBGSVJTVCBWaXNpb24gQVBJDQotKi8gDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiAgICAgICAgQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAqLw0KLS8qICBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICovDQotLyogIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJzdHJpbmcuaCINCi0jaW5jbHVkZSAidnhXb3Jrcy5oIiANCi0NCi0jaW5jbHVkZSAiQXhpc0NhbWVyYS5oIiANCi0jaW5jbHVkZSAiRnJjRXJyb3IuaCINCi0jaW5jbHVkZSAiVHJhY2tBUEkuaCIgDQotI2luY2x1ZGUgIlZpc2lvbkFQSS5oIiANCi0NCi1pbnQgVHJhY2tBUElfZGVidWdGbGFnID0gMDsNCi0jZGVmaW5lIERQUklOVEYgaWYoVHJhY2tBUElfZGVidWdGbGFnKWRwcmludGYNCi0NCi0vKioNCi0qIEBicmllZiBGaW5kIHRoZSBsYXJnZXN0IHBhcnRpY2xlIHRoYXQgbWVldHMgYSBjcml0ZXJpYSANCi0qIEBwYXJhbSBiaW5hcnlJbWFnZSBJbWFnZSB0byBpbnNwZWN0DQotKiBAcGFyYW0gcmVjdCBhcmVhIHRvIHNlYXJjaA0KLSogQHJldHVybiAwID0gZXJyb3INCi0qLw0KLWJvb2wgSW5BcmVhKEltYWdlKiBiaW5hcnlJbWFnZSwgaW50IHBhcnRpY2xlSW5kZXgsIFJlY3QgcmVjdCkNCi17IA0KLQlkb3VibGUgcG9zaXRpb247DQotCQ0KLQlpbWFxTWVhc3VyZVBhcnRpY2xlKGJpbmFyeUltYWdlLCBwYXJ0aWNsZUluZGV4LCAwLCANCi0JCQlJTUFRX01UX0JPVU5ESU5HX1JFQ1RfTEVGVCwgJnBvc2l0aW9uKTsNCi0JaWYgKCBwb3NpdGlvbiA8IChyZWN0LmxlZnQgICAgICAgICAgICAgKSApIHJldHVybiBmYWxzZTsgLy8gb3V0c2lkZSBsZWZ0IG9mIHJlY3RhbmdsZT8NCi0JDQotCWltYXFNZWFzdXJlUGFydGljbGUoYmluYXJ5SW1hZ2UsIHBhcnRpY2xlSW5kZXgsIDAsIA0KLQkJCUlNQVFfTVRfQk9VTkRJTkdfUkVDVF9UT1AsICZwb3NpdGlvbik7DQotCWlmICggcG9zaXRpb24gPCAocmVjdC50b3AgICAgICAgICAgICAgICkgKSByZXR1cm4gZmFsc2U7IC8vIG91dHNpZGUgdG9wIG9mIHJlY3RhbmdsZSA/DQotDQotCWltYXFNZWFzdXJlUGFydGljbGUoYmluYXJ5SW1hZ2UsIHBhcnRpY2xlSW5kZXgsIDAsIA0KLQkJCUlNQVFfTVRfQk9VTkRJTkdfUkVDVF9SSUdIVCwgJnBvc2l0aW9uKTsNCi0JaWYgKHBvc2l0aW9uID4gKHJlY3QubGVmdCArIHJlY3Qud2lkdGgpICkgcmV0dXJuIGZhbHNlOwkvLyBvdXRzaWRlIHJpZ2h0IG9mIHJlY3RhbmdsZSA/DQotCQ0KLQlpbWFxTWVhc3VyZVBhcnRpY2xlKGJpbmFyeUltYWdlLCBwYXJ0aWNsZUluZGV4LCAwLCANCi0JCQlJTUFRX01UX0JPVU5ESU5HX1JFQ1RfQk9UVE9NLCAmcG9zaXRpb24pOw0KLQlpZiAocG9zaXRpb24gPiAocmVjdC50b3AgKyByZWN0LmhlaWdodCkgKSByZXR1cm4gZmFsc2U7IC8vIG91dHNpZGUgYm90dG9tIG9mIHJlY3RhbmdsZSA/CQ0KLQ0KLQlEUFJJTlRGKExPR19JTkZPLCAicGFydGljbGUgJWkgaXMgaW4gKCVpICVpKSBoZWlnaHQgJWkgd2lkdGggJWlcbiIsIA0KLQkJCXBhcnRpY2xlSW5kZXgsIHJlY3QubGVmdCwgcmVjdC50b3AsIHJlY3QuaGVpZ2h0LCByZWN0LndpZHRoKTsNCi0JcmV0dXJuIHRydWU7IA0KLX0NCi0NCi0vKioNCi0qIEBicmllZiBGaW5kIHRoZSBsYXJnZXN0IHBhcnRpY2xlIHRoYXQgbWVldHMgYSBjcml0ZXJpYSANCi0qIEBwYXJhbSBiaW5hcnlJbWFnZSBJbWFnZSB0byBpbnNwZWN0DQotKiBAcGFyYW0gbGFyZ2VzdFBhcnRpY2xlSW5kZXggSW5kZXggb2YgdGhlIGxhcmdlc3QgcGFydGljbGUgDQotKiBAcGFyYW0gcmVjdCBhcmVhIHRvIHNlYXJjaA0KLSogQHJldHVybiAwID0gZXJyb3INCi0qLw0KLWludCBHZXRMYXJnZXN0UGFydGljbGUoSW1hZ2UqIGJpbmFyeUltYWdlLCBpbnQqIGxhcmdlc3RQYXJ0aWNsZUluZGV4KQ0KLXsgcmV0dXJuIEdldExhcmdlc3RQYXJ0aWNsZShiaW5hcnlJbWFnZSwgbGFyZ2VzdFBhcnRpY2xlSW5kZXgsIElNQVFfTk9fUkVDVCk7IH0NCi0NCi1pbnQgR2V0TGFyZ2VzdFBhcnRpY2xlKEltYWdlKiBiaW5hcnlJbWFnZSwgaW50KiBsYXJnZXN0UGFydGljbGVJbmRleCwgUmVjdCByZWN0KQ0KLXsNCi0JKmxhcmdlc3RQYXJ0aWNsZUluZGV4ID0gMDsgLy8gcG9pbnRzIHRvIGNhbGxlci1wcm92aWRlZCB2YXJpYWJsZQ0KLQkNCi0JLyogZGV0ZXJtaW5lIG51bWJlciBvZiBwYXJ0aWNsZXMgaW4gdGhyZXNob2xkZWQgaW1hZ2UgKi8JDQotCWludCBudW1QYXJ0aWNsZXM7DQotCWludCBzdWNjZXNzID0gZnJjQ291bnRQYXJ0aWNsZXMoYmluYXJ5SW1hZ2UsICZudW1QYXJ0aWNsZXMpOw0KLQlpZiAoICFzdWNjZXNzICkJeyAgcmV0dXJuIHN1Y2Nlc3M7IAl9CQkJDQotCQ0KLQkvKiBpZiBubyBwYXJ0aWNsZXMgZm91bmQgd2UgY2FuIHF1aXQgaGVyZSAqLw0KLQlpZiAobnVtUGFydGljbGVzID09IDApICB7ICByZXR1cm4gMDsgCX0gIC8vIHVuc3VjY2Vzc2Z1bCBpZiB6ZXJvIHBhcnRpY2xlcyBmb3VuZA0KLQkNCi0JLy8gZmluZCB0aGUgbGFyZ2VzdCBwYXJ0aWNsZQ0KLQlkb3VibGUgbGFyZ2VzdFBhcnRpY2xlQXJlYSA9IDA7DQotCWRvdWJsZSBwYXJ0aWNsZUFyZWE7DQotCWZvciAoaW50IGkgPSAwOyBpIDwgbnVtUGFydGljbGVzOyArK2kpIHsJCQ0KLQkJc3VjY2VzcyA9IGltYXFNZWFzdXJlUGFydGljbGUoYmluYXJ5SW1hZ2UsIGksIDAsIElNQVFfTVRfQVJFQSwgJnBhcnRpY2xlQXJlYSk7DQotCQlpZiAoICFzdWNjZXNzICkJeyByZXR1cm4gc3VjY2VzczsgfQkJDQotCQlpZiAocGFydGljbGVBcmVhID4gbGFyZ2VzdFBhcnRpY2xlQXJlYSkgCXsNCi0JCQkvLyBzZWUgaWYgaXMgaW4gdGhlIHJpZ2h0IGFyZWENCi0JCQlpZiAoIEluQXJlYShiaW5hcnlJbWFnZSwgaSwgcmVjdCkgKSB7DQotCQkJCWxhcmdlc3RQYXJ0aWNsZUFyZWEgPSBwYXJ0aWNsZUFyZWE7DQotCQkJCSpsYXJnZXN0UGFydGljbGVJbmRleCA9IGk7ICAvLyByZXR1cm4gaW5kZXggdG8gY2FsbGVyDQotCQkJfQ0KLQkJfQ0KLQl9DQotCQ0KLQlyZXR1cm4gc3VjY2VzczsNCi19DQotDQotLyoqDQotKiBAYnJpZWYgU2VhcmNoIGZvciBhIGNvbG9yLiBTdXBwb3J0cyBJTUFRX0lNQUdFX0hTTC4gDQotKiBAcGFyYW0gY29sb3IgRGVmaW5pdGlvbiBmb3IgdGhlIGh1ZSByYW5nZSANCi0qIEBwYXJhbSB0cmFja1JlcG9ydCBWYWx1ZXMgZm9yIHRyYWNraW5nOiBjZW50ZXIgb2YgcGFydGljbGUsIHBhcnRpY2xlIHNpemUsIGNvbG9yDQotKiBAcmV0dXJuIDAgPSBlcnJvcg0KLSovDQotaW50IEZpbmRDb2xvcihGcmNIdWUgY29sb3IsIFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQqIHRyYWNrUmVwb3J0KQ0KLXsNCi0JaW50IHN1Y2Nlc3MgPSAwOwkJLy8gcmV0dXJuOiAwID0gZXJyb3INCi0JDQotCS8qIHRyYWNrIGNvbG9yICovDQotCS8vIHVzZSBBQ1RJVkVfTElHSFQgb3IgV0hJVEVfTElHSFQgZm9yIGJyaWdodGx5IGxpdCBvYmplY3RzDQotCVRyYWNraW5nVGhyZXNob2xkIHRkID0gR2V0VHJhY2tpbmdEYXRhKGNvbG9yLCBQQVNTSVZFX0xJR0hUKTsNCi0NCi0Jc3VjY2VzcyA9IEZpbmRDb2xvcihJTUFRX0hTTCwgJnRkLmh1ZSwgJnRkLnNhdHVyYXRpb24sICZ0ZC5sdW1pbmFuY2UsIHRyYWNrUmVwb3J0KTsgDQotCWlmICggIXN1Y2Nlc3MgKQl7IA0KLQkJRFBSSU5URiAoTE9HX0lORk8sICJkaWQgbm90IGZpbmQgY29sb3IgLSBlcnJvckNvZGU9ICVpIixHZXRMYXN0VmlzaW9uRXJyb3IoKSk7CQ0KLQkJcmV0dXJuIHN1Y2Nlc3M7DQotCX0NCi0NCi0JLy9QcmludFJlcG9ydChwYXIpOw0KLQkNCi0JLyogc2V0IGFuIGltYWdlIHF1YWxpdHkgcmVzdHJpY3Rpb24gKi8NCi0JaWYgKHRyYWNrUmVwb3J0LT5wYXJ0aWNsZVRvSW1hZ2VQZXJjZW50IDwgUEFSVElDTEVfVE9fSU1BR0VfUEVSQ0VOVCkgew0KLQkJaW1hcVNldEVycm9yKEVSUl9QQVJUSUNMRV9UT09fU01BTEwsIF9fRlVOQ1RJT05fXyk7DQotCQlzdWNjZXNzID0gMDsNCi0JfQkNCi0JcmV0dXJuIHN1Y2Nlc3M7DQotfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIFNlYXJjaCBmb3IgYSBjb2xvci4gU3VwcG9ydHMgSU1BUV9JTUFHRV9IU0wuIA0KLSogQHBhcmFtIGh1ZVJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lDQotKiBAcGFyYW0gdHJhY2tSZXBvcnQgVmFsdWVzIGZvciB0cmFja2luZzogY2VudGVyIG9mIHBhcnRpY2xlLCBwYXJ0aWNsZSBzaXplLCBjb2xvcg0KLSogQHJldHVybiAwID0gZXJyb3INCi0qLw0KLWludCBGaW5kQ29sb3IoY29uc3QgUmFuZ2UqIGh1ZVJhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCkNCi17IHJldHVybiBGaW5kQ29sb3IoaHVlUmFuZ2UsIERFRkFVTFRfU0FUVVJBVElPTl9USFJFU0hPTEQsIHRyYWNrUmVwb3J0KTsgfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIFNlYXJjaCBmb3IgYSBjb2xvci4gU3VwcG9ydHMgSU1BUV9JTUFHRV9IU0wuIA0KLSogQHBhcmFtIGh1ZVJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lDQotKiBAcGFyYW0gbWluU2F0dXJhdGlvbiBUaGUgbG93ZXIgcmFuZ2Ugc2F0dXJhdGlvbg0KLSogQHBhcmFtIHRyYWNrUmVwb3J0IFZhbHVlcyBmb3IgdHJhY2tpbmc6IGNlbnRlciBvZiBwYXJ0aWNsZSwgcGFydGljbGUgc2l6ZSwgY29sb3INCi0qIEByZXR1cm4gMCA9IGVycm9yDQotKi8NCi1pbnQgRmluZENvbG9yKGNvbnN0IFJhbmdlKiBodWVSYW5nZSwgaW50IG1pblNhdHVyYXRpb24sIFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnRyYWNrUmVwb3J0KQ0KLXsNCi0JUmFuZ2Ugc2F0UmFuZ2U7DQotCXNhdFJhbmdlLm1pblZhbHVlID0gbWluU2F0dXJhdGlvbjsNCi0Jc2F0UmFuZ2UubWF4VmFsdWUgPSAyNTU7DQotCVJhbmdlIGx1bVJhbmdlOw0KLQlsdW1SYW5nZS5taW5WYWx1ZSA9IDA7DQotCWx1bVJhbmdlLm1heFZhbHVlID0gMjU1Ow0KLQlDb2xvck1vZGUgY21vZGUgPSBJTUFRX0hTTDsNCi0JcmV0dXJuIEZpbmRDb2xvcihjbW9kZSwgaHVlUmFuZ2UsICZzYXRSYW5nZSwgJmx1bVJhbmdlLCB0cmFja1JlcG9ydCk7DQotfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIFNlYXJjaCBmb3IgYSBjb2xvci4gU3VwcG9ydHMgSU1BUV9JTUFHRV9IU0wgYW5kIElNQVFfSU1BR0VfUkdCLiANCi0qIEBwYXJhbSBtb2RlIENvbG9yIG1vZGUsIGVpdGhlciBJTUFRX0hTTCBvciBJTUFRX1JHQg0KLSogQHBhcmFtIHBsYW5lMVJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lIChodWUgb3IgcmVkKQ0KLSogQHBhcmFtIHBsYW5lMlJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIHNlY29uZCBwbGFuZSAoc2F0dXJhdGlvbiBvciBncmVlbikNCi0qIEBwYXJhbSBwbGFuZTNSYW5nZSBUaGUgcmFuZ2UgZm9yIHRoZSB0aGlyZCBwbGFuZSAobHVtaW5hbmNlIG9yIGJsdWUpDQotKiBAcGFyYW0gdHJhY2tSZXBvcnQgVmFsdWVzIGZvciB0cmFja2luZzogY2VudGVyIG9mIHBhcnRpY2xlLCBwYXJ0aWNsZSBzaXplLCBldGMNCi0qIEByZXR1cm4gMCA9IGVycm9yDQotKi8NCi1pbnQgRmluZENvbG9yKENvbG9yTW9kZSBtb2RlLCBjb25zdCBSYW5nZSogcGxhbmUxUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTJSYW5nZSwgDQotCQljb25zdCBSYW5nZSogcGxhbmUzUmFuZ2UsIFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnRyYWNrUmVwb3J0KQ0KLXsNCi0JcmV0dXJuIEZpbmRDb2xvcihtb2RlLCBwbGFuZTFSYW5nZSwgcGxhbmUyUmFuZ2UsIHBsYW5lM1JhbmdlLCB0cmFja1JlcG9ydCwgTlVMTCk7DQotfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIFNlYXJjaCBmb3IgYSBjb2xvci4gU3VwcG9ydHMgSU1BUV9JTUFHRV9IU0wgYW5kIElNQVFfSU1BR0VfUkdCLiANCi0qIEBwYXJhbSBtb2RlIENvbG9yIG1vZGUsIGVpdGhlciBJTUFRX0hTTCBvciBJTUFRX1JHQg0KLSogQHBhcmFtIHBsYW5lMVJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lIChodWUgb3IgcmVkKQ0KLSogQHBhcmFtIHBsYW5lMlJhbmdlIFRoZSByYW5nZSBmb3IgdGhlIHNlY29uZCBwbGFuZSAoc2F0dXJhdGlvbiBvciBncmVlbikNCi0qIEBwYXJhbSBwbGFuZTNSYW5nZSBUaGUgcmFuZ2UgZm9yIHRoZSB0aGlyZCBwbGFuZSAobHVtaW5hbmNlIG9yIGJsdWUpDQotKiBAcGFyYW0gdHJhY2tSZXBvcnQgVmFsdWVzIGZvciB0cmFja2luZzogY2VudGVyIG9mIHBhcnRpY2xlLCBwYXJ0aWNsZSBzaXplLCBldGMNCi0qIEBwYXJhbSBjb2xvclJlcG9ydCBDb2xvciBjaGFyYWN0YXJpc3RpY3Mgb2YgdGhlIHBhcnRpY2xlDQotKiBAcmV0dXJuIDAgPSBlcnJvcg0KLSovDQotaW50IEZpbmRDb2xvcihDb2xvck1vZGUgbW9kZSwgY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCwgDQotCQlDb2xvclJlcG9ydCAqY29sb3JSZXBvcnQpDQotew0KLQlyZXR1cm4gRmluZENvbG9yKG1vZGUsIHBsYW5lMVJhbmdlLCBwbGFuZTJSYW5nZSwgcGxhbmUzUmFuZ2UsIHRyYWNrUmVwb3J0LCANCi0JCQlOVUxMLCBJTUFRX05PX1JFQ1QpOw0KLX0NCi0NCi0vKioNCi0qIEBicmllZiBTZWFyY2ggZm9yIGEgY29sb3IuIFN1cHBvcnRzIElNQVFfSU1BR0VfSFNMIGFuZCBJTUFRX0lNQUdFX1JHQi4gDQotKiBAcGFyYW0gbW9kZSBDb2xvciBtb2RlLCBlaXRoZXIgSU1BUV9IU0wgb3IgSU1BUV9SR0INCi0qIEBwYXJhbSBwbGFuZTFSYW5nZSBUaGUgcmFuZ2UgZm9yIHRoZSBmaXJzdCBwbGFuZSAoaHVlIG9yIHJlZCkNCi0qIEBwYXJhbSBwbGFuZTJSYW5nZSBUaGUgcmFuZ2UgZm9yIHRoZSBzZWNvbmQgcGxhbmUgKHNhdHVyYXRpb24gb3IgZ3JlZW4pDQotKiBAcGFyYW0gcGxhbmUzUmFuZ2UgVGhlIHJhbmdlIGZvciB0aGUgdGhpcmQgcGxhbmUgKGx1bWluYW5jZSBvciBibHVlKQ0KLSogQHBhcmFtIHRyYWNrUmVwb3J0IFZhbHVlcyBmb3IgdHJhY2tpbmc6IGNlbnRlciBvZiBwYXJ0aWNsZSwgcGFydGljbGUgc2l6ZSwgZXRjDQotKiBAcGFyYW0gY29sb3JSZXBvcnQgQ29sb3IgY2hhcmFjdGFyaXN0aWNzIG9mIHRoZSBwYXJ0aWNsZQ0KLSogQHBhcmFtIHJlY3QgUmVjdGFuZ2xlIHRvIGNvbmZpbmUgc2VhcmNoIHRvDQotKiBAcmV0dXJuIDAgPSBlcnJvcg0KLSovDQotaW50IEZpbmRDb2xvcihDb2xvck1vZGUgbW9kZSwgY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCwgDQotCQlDb2xvclJlcG9ydCAqY29sb3JSZXBvcnQsIFJlY3QgcmVjdCkNCi17DQotCWludCBlcnJvckNvZGUgPSAwOw0KLQlpbnQgc3VjY2VzcyA9IDA7DQotCQ0KLQkvKiBjcmVhdGUgYW4gaW1hZ2Ugb2JqZWN0ICovDQotCUltYWdlKiBjYW1lcmFJbWFnZSA9IGZyY0NyZWF0ZUltYWdlKElNQVFfSU1BR0VfSFNMKTsNCi0JaWYgKCFjYW1lcmFJbWFnZSkgIHsgcmV0dXJuIHN1Y2Nlc3M7IH0NCi0JDQotCS8qIGdldCBpbWFnZSBmcm9tIGNhbWVyYSAtIGlmIHRoZSBjYW1lcmEgaGFzIG5vdCBmaW5pc2hlZCBpbml0aWFsaXppbmcsDQotCSAqIHRoaXMgd2lsbCBmYWlsIA0KLQkgKi8NCi0JZG91YmxlIGltYWdlVGltZTsNCi0Jc3VjY2VzcyA9IEdldEltYWdlKGNhbWVyYUltYWdlLCAmaW1hZ2VUaW1lKTsNCi0JaWYgKCFzdWNjZXNzKXsNCi0JCURQUklOVEYoTE9HX0lORk8sICJObyBjYW1lcmEgSW1hZ2UgYXZhaWxhYmxlIEVycm9yID0gJWkgJXMiLCANCi0JCQkJZXJyb3JDb2RlLCBHZXRWaXNpb25FcnJvclRleHQoZXJyb3JDb2RlKSk7DQotCQlmcmNEaXNwb3NlKGNhbWVyYUltYWdlKTsgDQotCQlpbWFxU2V0RXJyb3IoZXJyb3JDb2RlLCBfX0ZVTkNUSU9OX18pOwkvL3Jlc2V0IGVycm9yIGNvZGUgZm9yIHRoZSBjYWxsZXIJDQotCQlyZXR1cm4gc3VjY2VzczsJCQ0KLQl9CQ0KLQkNCi0JLyogc2F2ZSBhIGNvcHkgb2YgdGhlIGltYWdlIHRvIGFub3RoZXIgaW1hZ2UgZm9yIGNvbG9yIHRocmVzaG9sZGluZyBsYXRlciAqLw0KLQlJbWFnZSogaGlzdEltYWdlID0gZnJjQ3JlYXRlSW1hZ2UoSU1BUV9JTUFHRV9IU0wpOw0KLQlpZiAoIWhpc3RJbWFnZSkgIHsgZnJjRGlzcG9zZShjYW1lcmFJbWFnZSk7IHJldHVybiBzdWNjZXNzOyB9DQotCXN1Y2Nlc3MgPSBmcmNDb3B5SW1hZ2UoaGlzdEltYWdlLGNhbWVyYUltYWdlKTsNCi0JaWYgKCAhc3VjY2VzcyApCXsgDQotCQllcnJvckNvZGUgPSBHZXRMYXN0VmlzaW9uRXJyb3IoKTsgDQotCQlmcmNEaXNwb3NlKF9fRlVOQ1RJT05fXyxjYW1lcmFJbWFnZSxoaXN0SW1hZ2UsTlVMTCk7IA0KLQkJcmV0dXJuIHN1Y2Nlc3M7IA0KLQl9CQ0KLQkNCi0JLyogQ29sb3IgdGhyZXNob2xkIHRoZSBpbWFnZSAqLw0KLQlzdWNjZXNzID0gZnJjQ29sb3JUaHJlc2hvbGQoY2FtZXJhSW1hZ2UsIGNhbWVyYUltYWdlLCBtb2RlLCBwbGFuZTFSYW5nZSwgcGxhbmUyUmFuZ2UsIHBsYW5lM1JhbmdlKTsNCi0JaWYgKCAhc3VjY2VzcyApCXsgDQotCQllcnJvckNvZGUgPSBHZXRMYXN0VmlzaW9uRXJyb3IoKTsgDQotCQlEUFJJTlRGIChMT0dfREVCVUcsICJFcnJvciA9ICVpICAlcyAiLCBlcnJvckNvZGUsIEdldFZpc2lvbkVycm9yVGV4dChlcnJvckNvZGUpKTsNCi0JCWZyY0Rpc3Bvc2UoX19GVU5DVElPTl9fLGNhbWVyYUltYWdlLGhpc3RJbWFnZSxOVUxMKTsgDQotCQlyZXR1cm4gc3VjY2VzczsgDQotCX0JDQotDQotCWludCBsYXJnZXN0UGFydGljbGVJbmRleCA9IDA7DQotCXN1Y2Nlc3MgPSBHZXRMYXJnZXN0UGFydGljbGUoY2FtZXJhSW1hZ2UsICZsYXJnZXN0UGFydGljbGVJbmRleCwgcmVjdCApOw0KLQlpZiAoICFzdWNjZXNzICkJew0KLQkJZXJyb3JDb2RlID0gR2V0TGFzdFZpc2lvbkVycm9yKCk7IA0KLQkJRFBSSU5URiAoTE9HX0RFQlVHLCAiRXJyb3IgYWZ0ZXIgR2V0TGFyZ2VzdFBhcnRpY2xlID0gJWkgICVzICIsIGVycm9yQ29kZSwgR2V0VmlzaW9uRXJyb3JUZXh0KGVycm9yQ29kZSkpOw0KLQkJZnJjRGlzcG9zZShfX0ZVTkNUSU9OX18sY2FtZXJhSW1hZ2UsaGlzdEltYWdlLE5VTEwpOyANCi0JCWltYXFTZXRFcnJvcihFUlJfQ09MT1JfTk9UX0ZPVU5ELCBfX0ZVTkNUSU9OX18pOw0KLQkJcmV0dXJuIHN1Y2Nlc3M7IA0KLQl9DQotCURQUklOVEYoTE9HX0lORk8sICJsYXJnZXN0UGFydGljbGVJbmRleCA9ICVpXG4iLCBsYXJnZXN0UGFydGljbGVJbmRleCk7DQotDQotCS8qIFBhcnRpY2xlcyB3ZXJlIGZvdW5kICAqLw0KLQkJLyogDQotCQkgKiBGaWxsIGluIHJlcG9ydCBpbmZvcm1hdGlvbiBmb3IgbGFyZ2VzdCBwYXJ0aWNsZSBmb3VuZA0KLQkJICovDQotCQlzdWNjZXNzID0gZnJjUGFydGljbGVBbmFseXNpcyhjYW1lcmFJbWFnZSwgbGFyZ2VzdFBhcnRpY2xlSW5kZXgsIHRyYWNrUmVwb3J0KTsNCi0JCXRyYWNrUmVwb3J0LT5pbWFnZVRpbWVzdGFtcCA9IGltYWdlVGltZTsNCi0JCQ0KLQkJLyogY2xlYW4gdXAgKi8NCi0JCWlmICghc3VjY2Vzcykge2ZyY0Rpc3Bvc2UoX19GVU5DVElPTl9fLGNhbWVyYUltYWdlLGhpc3RJbWFnZSxOVUxMKTsgcmV0dXJuIHN1Y2Nlc3M7fQ0KLQkJDQotCQkvKiBwYXJ0aWNsZSBjb2xvciBzdGF0aXN0aWNzICovDQotCQkvKiBvbmx5IGlmIGEgY29sb3IgcmVwb3J0IHJlcXVlc3RlZCAqLw0KLQkJaWYgKGNvbG9yUmVwb3J0ICE9IE5VTEwpDQotCQl7DQotCQkJLyogZmlyc3QgZmlsdGVyIG91dCB0aGUgb3RoZXIgcGFydGljbGVzICovDQotCQkJUGFydGljbGVGaWx0ZXJDcml0ZXJpYTIgY3JpdGVyaWE7DQotCQkJUGFydGljbGVGaWx0ZXJPcHRpb25zKiBvcHRpb25zID0gTlVMTDsNCi0JCQlSZWN0IHJlY3Q7DQotCQkJaW50IG51bVBhcnRpY2xlczsNCi0JCQlzdWNjZXNzID0gZnJjUGFydGljbGVGaWx0ZXIoY2FtZXJhSW1hZ2UsIGNhbWVyYUltYWdlLCAmY3JpdGVyaWEsIDEsIG9wdGlvbnMsIA0KLQkJCQkJcmVjdCwgJm51bVBhcnRpY2xlcyk7DQotCQkJaWYgKCAhc3VjY2VzcyApCXsgDQotCQkJCURQUklOVEYoTE9HX0lORk8sICJmcmNQYXJ0aWNsZUZpbHRlciBlcnJvckNvZGUgJWkiLCBHZXRMYXN0VmlzaW9uRXJyb3IoKSk7IA0KLQkJCX0JDQotCQkJCQkNCi0JCQkvKiBoaXN0b2dyYW0gdGhlIG9yaWdpbmFsIGltYWdlIHVzaW5nIHRoZSB0aHJlc2hvbGRlZCBpbWFnZSBhcyBhIG1hc2sgKi8NCi0JCQlpbnQgbnVtQ2xhc3NlcyA9IDEwOyAvL2hvdyBtYW55IGNsYXNzZXM/DQotCQkJQ29sb3JIaXN0b2dyYW1SZXBvcnQqIGNocmVwID0gaW1hcUNvbG9ySGlzdG9ncmFtMihoaXN0SW1hZ2UsIG51bUNsYXNzZXMsIElNQVFfSFNMLCANCi0JCQkJCQlOVUxMLCBjYW1lcmFJbWFnZSk7DQotCQkJaWYgKGNocmVwID09IE5VTEwpIHsgDQotCQkJCURQUklOVEYoTE9HX0lORk8sICJOVUxMIENvbG9yIEhpc3RvZ3JhbSIpOw0KLQkJCQllcnJvckNvZGUgPSBHZXRMYXN0VmlzaW9uRXJyb3IoKTsgDQotCQkJfSBlbHNlIHsNCi0JCQkJY29sb3JSZXBvcnQtPnBhcnRpY2xlSHVlTWF4ID0gY2hyZXAtPnBsYW5lMS5tYXg7DQotCQkJCWNvbG9yUmVwb3J0LT5wYXJ0aWNsZUh1ZU1pbiA9IGNocmVwLT5wbGFuZTEubWluOw0KLQkJCQljb2xvclJlcG9ydC0+cGFydGljbGVIdWVNZWFuID0gY2hyZXAtPnBsYW5lMS5tZWFuOw0KLQkJCQljb2xvclJlcG9ydC0+cGFydGljbGVTYXRNYXggPSBjaHJlcC0+cGxhbmUyLm1heDsNCi0JCQkJY29sb3JSZXBvcnQtPnBhcnRpY2xlU2F0TWluICA9IGNocmVwLT5wbGFuZTIubWluOw0KLQkJCQljb2xvclJlcG9ydC0+cGFydGljbGVTYXRNZWFuID0gY2hyZXAtPnBsYW5lMi5tZWFuOw0KLQkJCQljb2xvclJlcG9ydC0+cGFydGljbGVMdW1NYXggPSBjaHJlcC0+cGxhbmUzLm1heDsNCi0JCQkJY29sb3JSZXBvcnQtPnBhcnRpY2xlTHVtTWluID0gY2hyZXAtPnBsYW5lMy5taW47DQotCQkJCWNvbG9yUmVwb3J0LT5wYXJ0aWNsZUx1bU1lYW4gPSBjaHJlcC0+cGxhbmUzLm1lYW47DQotCQkJCWNvbG9yUmVwb3J0LT5udW1iZXJQYXJ0aWNsZXNGb3VuZCA9IG51bVBhcnRpY2xlczsNCi0JCQkJZnJjRGlzcG9zZShjaHJlcCk7IA0KLQkJCX0NCi0JCX0NCi0NCi0JLyogY2xlYW4gdXAgKi8NCi0JZnJjRGlzcG9zZShfX0ZVTkNUSU9OX18sY2FtZXJhSW1hZ2UsaGlzdEltYWdlLE5VTEwpOyANCi0JDQotCXJldHVybiBzdWNjZXNzOwkNCi19DQotDQotDQotLyoqDQotICogICBEYXRhIGZ1bmN0aW9ucyBmb3IgdHJhY2tpbmcNCi0gKi8NCi0NCi0NCi0vKioNCi0gKiBAYnJpZWYgR2V0IGRlZmF1bHQgSFNMIHRyYWNraW5nIHBhcmFtZXRlcnMNCi0gKiBOb3RlIHRoZXNlIHBhcmFtZXRlcnMgYXJlIG5vdCBmdWxseSBjaGFyYWN0ZXJpemVkIGF0IHRoaXMgcG9pbnQNCi0gKiBHZXQgdGhlc2UgZGVmYXVsdCB2YWx1ZXMgYW5kIG1vZGlmeSB0aGVtIGFzIG5lZWRlZCBmb3IgeW91ciBlbnZpcm9ubWVudA0KLSAqIEBwYXJhbSBodWUgdGFza2VkIGNvbG9yDQotICogQHBhcmFtIGxpZ2h0IHNhdHVyYXRpb24vbHVtaW5hbmNlDQotICovDQotVHJhY2tpbmdUaHJlc2hvbGQgR2V0VHJhY2tpbmdEYXRhKEZyY0h1ZSBodWUsIEZyY0xpZ2h0IGxpZ2h0KQ0KLXsNCi0JVHJhY2tpbmdUaHJlc2hvbGQgdHJhY2tpbmdEYXRhOwkNCi0JDQotCS8vc2V0IHNhdHVyYXRpb24gJiBsdW1pbmFuY2UJDQotCXN3aXRjaCAobGlnaHQpIHsNCi0JCWRlZmF1bHQ6DQotCQljYXNlIEZMVU9SRVNDRU5UOg0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1pblZhbHVlID0gMTAwOw0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1heFZhbHVlID0gMjU1Ow0KLQkJCXRyYWNraW5nRGF0YS5sdW1pbmFuY2UubWluVmFsdWUgPSA0MDsNCi0JCQl0cmFja2luZ0RhdGEubHVtaW5hbmNlLm1heFZhbHVlID0gMjU1Ow0KLQkJCWlmIChodWUgPT0gR1JFRU4pIHRyYWNraW5nRGF0YS5sdW1pbmFuY2UubWluVmFsdWUgPSAxMDA7DQotCQkJaWYgKGh1ZSA9PSBQSU5LKSB0cmFja2luZ0RhdGEuc2F0dXJhdGlvbi5taW5WYWx1ZSA9IDgwOw0KLQkJCWlmIChodWUgPT0gUElOSykgdHJhY2tpbmdEYXRhLmx1bWluYW5jZS5taW5WYWx1ZSA9IDYwOw0KLQkJCWlmIChodWUgPT0gUElOSykgdHJhY2tpbmdEYXRhLmx1bWluYW5jZS5tYXhWYWx1ZSA9IDE1NTsNCi0JCQlicmVhazsNCi0JCWNhc2UgUEFTU0lWRV9MSUdIVDoNCi0JCQl0cmFja2luZ0RhdGEuc2F0dXJhdGlvbi5taW5WYWx1ZSA9IDUwOw0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1heFZhbHVlID0gMjU1Ow0KLQkJCXRyYWNraW5nRGF0YS5sdW1pbmFuY2UubWluVmFsdWUgPSAyMDsNCi0JCQl0cmFja2luZ0RhdGEubHVtaW5hbmNlLm1heFZhbHVlID0gMjU1Ow0KLQkJCWJyZWFrOw0KLQkJY2FzZSBCUklHSFRfTElHSFQ6DQotCQkJdHJhY2tpbmdEYXRhLnNhdHVyYXRpb24ubWluVmFsdWUgPSAwOw0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1heFZhbHVlID0gMTAwOw0KLQkJCXRyYWNraW5nRGF0YS5sdW1pbmFuY2UubWluVmFsdWUgPSAxMDA7DQotCQkJdHJhY2tpbmdEYXRhLmx1bWluYW5jZS5tYXhWYWx1ZSA9IDI1NTsNCi0JCQlicmVhazsNCi0JCWNhc2UgQUNUSVZFX0xJR0hUOg0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1pblZhbHVlID0gMDsNCi0JCQl0cmFja2luZ0RhdGEuc2F0dXJhdGlvbi5tYXhWYWx1ZSA9IDUwOw0KLQkJCXRyYWNraW5nRGF0YS5sdW1pbmFuY2UubWluVmFsdWUgPSAxNTA7DQotCQkJdHJhY2tpbmdEYXRhLmx1bWluYW5jZS5tYXhWYWx1ZSA9IDI1NTsNCi0JCQlicmVhazsNCi0JCWNhc2UgV0hJVEVfTElHSFQ6DQotCQkJdHJhY2tpbmdEYXRhLnNhdHVyYXRpb24ubWluVmFsdWUgPSAwOw0KLQkJCXRyYWNraW5nRGF0YS5zYXR1cmF0aW9uLm1heFZhbHVlID0gMjA7DQotCQkJdHJhY2tpbmdEYXRhLmx1bWluYW5jZS5taW5WYWx1ZSA9IDIwMDsNCi0JCQl0cmFja2luZ0RhdGEubHVtaW5hbmNlLm1heFZhbHVlID0gMjU1Ow0KLQkJCWJyZWFrOw0KLQl9DQotCQ0KLQkvL3NldCBodWUNCi0Jc3dpdGNoIChodWUpew0KLQlkZWZhdWx0Og0KLQljYXNlIFdISVRFOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIldISVRFIik7DQotCQl0cmFja2luZ0RhdGEuaHVlLm1pblZhbHVlID0gMDsNCi0JCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSAyNTU7DQotCQlicmVhazsNCi0JY2FzZSBPUkFOR0U6DQotCQlzdHJjcHkgKHRyYWNraW5nRGF0YS5uYW1lLCAiT1JBTkdFIik7DQotCQl0cmFja2luZ0RhdGEuaHVlLm1pblZhbHVlID0gNTsNCi0JCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSAyNTsNCi0JCWJyZWFrOw0KLQljYXNlIFlFTExPVzoNCi0JCXN0cmNweSAodHJhY2tpbmdEYXRhLm5hbWUsICJZRUxMT1ciKTsNCi0JCXRyYWNraW5nRGF0YS5odWUubWluVmFsdWUgPSAzMDsNCi0JCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSA1MDsNCi0JCWJyZWFrOw0KLQljYXNlIEdSRUVOOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIkdSRUVOIik7DQotCQlpZiAobGlnaHQgPT0gRkxVT1JFU0NFTlQpIHsNCi0JCQl0cmFja2luZ0RhdGEuaHVlLm1pblZhbHVlID0gNjA7DQotCQkJdHJhY2tpbmdEYXRhLmh1ZS5tYXhWYWx1ZSA9IDExMDsNCi0JCX0gZWxzZSB7DQotCQkJdHJhY2tpbmdEYXRhLmh1ZS5taW5WYWx1ZSA9IDkwOw0KLQkJCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSAxMjU7CQkJDQotCQl9DQotCQlicmVhazsNCi0JY2FzZSBCTFVFOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIkJMVUUiKTsNCi0JCXRyYWNraW5nRGF0YS5odWUubWluVmFsdWUgPSAxNDA7DQotCQl0cmFja2luZ0RhdGEuaHVlLm1heFZhbHVlID0gMTcwOw0KLQkJYnJlYWs7DQotCWNhc2UgUFVSUExFOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIlBVUlBMRSIpOw0KLQkJdHJhY2tpbmdEYXRhLmh1ZS5taW5WYWx1ZSA9IDE4MDsNCi0JCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSAyMDA7DQotCQlicmVhazsNCi0JY2FzZSBQSU5LOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIlBJTksiKTsNCi0JCXRyYWNraW5nRGF0YS5odWUubWluVmFsdWUgPSAyMTA7DQotCQl0cmFja2luZ0RhdGEuaHVlLm1heFZhbHVlID0gMjUwOw0KLQkJYnJlYWs7DQotCWNhc2UgUkVEOg0KLQkJc3RyY3B5ICh0cmFja2luZ0RhdGEubmFtZSwgIlJFRCIpOw0KLQkJdHJhY2tpbmdEYXRhLmh1ZS5taW5WYWx1ZSA9IDI0MDsNCi0JCXRyYWNraW5nRGF0YS5odWUubWF4VmFsdWUgPSAyNTU7DQotCQlicmVhazsNCi0JfQ0KLSAgcmV0dXJuKHRyYWNraW5nRGF0YSk7DQotfQ0KLQ0KLQ0KLS8qKg0KLSAqIFByaW50IHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydA0KLSAqIEBwYXJhbSBteVJlcG9ydCBSZXBvcnQgdG8gcHJpbnQNCi0gKi8NCi12b2lkIFByaW50UmVwb3J0KFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQqIG15UmVwb3J0KQ0KLXsNCi0JZHByaW50ZihMT0dfSU5GTywgInBhcnRpY2xlIGFuYWx5c2lzOlxuICAgICVzJWkgICVzJWlcbiAgICAlcyVsZlxuICAgICVzJWkgICVzJWlcbiAgICAlcyVnICAlcyVnXG4gICAgJXMlZ1xuICAgICVzJWkgICVzJWlcbiAgICAlcyVpICAlcyVpXG4iLA0KLQkJCSJpbWFnZUhlaWdodCA9ICIsIG15UmVwb3J0LT5pbWFnZUhlaWdodCwgDQotCQkJImltYWdlV2lkdGggPSAiLCBteVJlcG9ydC0+aW1hZ2VXaWR0aCwgDQotCQkJImltYWdlVGltZXN0YW1wID0gIiwgbXlSZXBvcnQtPmltYWdlVGltZXN0YW1wLCANCi0JCQkiY2VudGVyX21hc3NfeCA9ICIsIG15UmVwb3J0LT5jZW50ZXJfbWFzc194LCANCi0JCQkiY2VudGVyX21hc3NfeSA9ICIsIG15UmVwb3J0LT5jZW50ZXJfbWFzc195LCANCi0JCQkiY2VudGVyX21hc3NfeF9ub3JtYWxpemVkID0gIiwgbXlSZXBvcnQtPmNlbnRlcl9tYXNzX3hfbm9ybWFsaXplZCwgDQotCQkJImNlbnRlcl9tYXNzX3lfbm9ybWFsaXplZCA9ICIsIG15UmVwb3J0LT5jZW50ZXJfbWFzc195X25vcm1hbGl6ZWQsIA0KLQkJCSJwYXJ0aWNsZUFyZWEgPSAiLCBteVJlcG9ydC0+cGFydGljbGVBcmVhLCANCi0JCQkiYm91bmRpbmdSZWN0YW5nbGVUb3AgPSAiLCBteVJlcG9ydC0+Ym91bmRpbmdSZWN0LnRvcCwgDQotCQkJImJvdW5kaW5nUmVjdGFuZ2xlTGVmdCA9ICIsIG15UmVwb3J0LT5ib3VuZGluZ1JlY3QubGVmdCwNCi0JCQkiYm91bmRpbmdSZWN0YW5nbGVIZWlnaHQgPSAiLCBteVJlcG9ydC0+Ym91bmRpbmdSZWN0LmhlaWdodCwgDQotCQkJImJvdW5kaW5nUmVjdGFuZ2xlV2lkdGggPSAiLCBteVJlcG9ydC0+Ym91bmRpbmdSZWN0LndpZHRoKTsNCi0NCi0JZHByaW50ZihMT0dfSU5GTywgInF1YWxpdHkgc3RhdGlzdGljczogIFxuICAgICVzJWcgJXMlZyBcbiIsDQotCQkJInBhcnRpY2xlVG9JbWFnZVBlcmNlbnQgPSAiLCBteVJlcG9ydC0+cGFydGljbGVUb0ltYWdlUGVyY2VudCwgDQotCQkJInBhcnRpY2xlUXVhbGl0eSA9ICIsIG15UmVwb3J0LT5wYXJ0aWNsZVF1YWxpdHkpOw0KLX0NCi0NCi0vKioNCi0gKiBQcmludCBjb2xvciByZXBvcnQNCi0gKiBAcGFyYW0gbXlSZXBvcnQgUmVwb3J0IHRvIHByaW50DQotICovDQotdm9pZCBQcmludFJlcG9ydChDb2xvclJlcG9ydCogbXlSZXBvcnQpDQotew0KLQlkcHJpbnRmKExPR19JTkZPLCAicGFydGljbGUgcmFuZ2VzIGZvciAlaSBwYXJ0aWNsZXM6ICAgICAiLA0KLQkJCSJudW1iZXJQYXJ0aWNsZXNGb3VuZCA9ICIsIG15UmVwb3J0LT5udW1iZXJQYXJ0aWNsZXNGb3VuZCk7DQotCTsNCi0JZHByaW50ZihMT0dfSU5GTywgIlxuICAgICVzJWYgICVzJWYgICVzJWZcbiAgICAlcyVmICVzJWYgICVzJWZcbiAgICAlcyVmICAlcyVmICAlcyVmXG4gLS0tLS0tLSIsDQotCQkJInBhcnRpY2xlSHVlTWF4ID0gIiwgbXlSZXBvcnQtPnBhcnRpY2xlSHVlTWF4LCANCi0JCQkicGFydGljbGVIdWVNaW4gPSAiLCBteVJlcG9ydC0+cGFydGljbGVIdWVNaW4sIA0KLQkJCSJwYXJ0aWNsZUh1ZU1lYW4gPSAiLCBteVJlcG9ydC0+cGFydGljbGVIdWVNZWFuLA0KLQkJCSJwYXJ0aWNsZVNhdE1heCA9ICIsIG15UmVwb3J0LT5wYXJ0aWNsZVNhdE1heCwgDQotCQkJInBhcnRpY2xlU2F0TWluID0gIiwgbXlSZXBvcnQtPnBhcnRpY2xlU2F0TWluLCANCi0JCQkicGFydGljbGVTYXRNZWFuID0gIiwgbXlSZXBvcnQtPnBhcnRpY2xlU2F0TWVhbiwNCi0JCQkicGFydGljbGVMdW1NYXggPSAiLCBteVJlcG9ydC0+cGFydGljbGVMdW1NYXgsIA0KLQkJCSJwYXJ0aWNsZUx1bU1pbiA9ICIsIG15UmVwb3J0LT5wYXJ0aWNsZUx1bU1pbiwgDQotCQkJInBhcnRpY2xlTHVtTWVhbiA9ICIsIG15UmVwb3J0LT5wYXJ0aWNsZUx1bU1lYW4pOw0KLQ0KLX0NCi0NCi0vKioNCi0gKiBQcmludCBjb2xvciByZXBvcnQNCi0gKiBAcGFyYW0gbXlSZXBvcnQgUmVwb3J0IHRvIHByaW50DQotICovDQotdm9pZCBQcmludFJlcG9ydChUcmFja2luZ1RocmVzaG9sZCogbXlSZXBvcnQpDQotew0KLQlkcHJpbnRmKExPR19JTkZPLCAibmFtZSBvZiBjb2xvcjogJXMiLCBteVJlcG9ydC0+bmFtZSk7DQotDQotCWRwcmludGYoTE9HX0lORk8sICJcbiAgICAlcyVpICAlcyVpXG4gICAgJXMlaSAlcyVpXG4gICAgJXMlaSAgJXMlaVxuIC0tLS0tLS0iLA0KLQkJCSJodWVNaW4gPSAiLCBteVJlcG9ydC0+aHVlLm1pblZhbHVlLCANCi0JCQkiaHVlTWF4ID0gIiwgbXlSZXBvcnQtPmh1ZS5tYXhWYWx1ZSwgDQotCQkJInNhdE1pbiA9ICIsIG15UmVwb3J0LT5zYXR1cmF0aW9uLm1pblZhbHVlLCANCi0JCQkic2F0TWF4ID0gIiwgbXlSZXBvcnQtPnNhdHVyYXRpb24ubWF4VmFsdWUsIA0KLQkJCSJsdW1NaW4gPSAiLCBteVJlcG9ydC0+bHVtaW5hbmNlLm1pblZhbHVlLCANCi0JCQkibHVtTWF4ID0gIiwgbXlSZXBvcnQtPmx1bWluYW5jZS5tYXhWYWx1ZSApOw0KLQ0KLX0NCi0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1RyYWNrQVBJLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1RyYWNrQVBJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0MzEyMTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9UcmFja0FQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiAgUHJvamVjdCAgIAkJOiBGSVJTVCBNb3RvciBDb250cm9sbGVyDQotKiAgRmlsZSBOYW1lICAJCTogVHJhY2tBUEkuaCAgICAgICAgICANCi0qICBDb250cmlidXRvcnMgICAJOiBFTEYNCi0qICBDcmVhdGlvbiBEYXRlIAk6IEF1Z3VzdCAxMiwgMjAwOA0KLSogIFJldmlzaW9uIEhpc3RvcnkJOiBTb3VyY2UgY29kZSAmIHJldmlzaW9uIGhpc3RvcnkgbWFpbnRhaW5lZCBhdCBzb3VyY2Vmb3JnZS5XUEkuZWR1ICAgIA0KLSogIEZpbGUgRGVzY3JpcHRpb24JOiBHbG9iYWxseSBkZWZpbmVkIHZhbHVlcyBmb3IgdGhlIEZJUlNUIFZpc2lvbiBBUEkNCi0qLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiAgT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAqLw0KLS8qICBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fVFJBQ0tBUElfSF9fDQotI2RlZmluZSBfX1RSQUNLQVBJX0hfXw0KLQ0KLSNpbmNsdWRlICJWaXNpb25BUEkuaCINCi0jaW5jbHVkZSAiQmFlVXRpbGl0aWVzLmgiDQotDQotLyogIENvbnN0YW50cyAqLw0KLS8qKiBpbWFnZSBxdWFsaXR5IHJlcXVpcmVtZW50OiBwYXJ0aWNsZSBtdXN0IGJlIHRoaXMgJSBvZiBwaXhlbHMgDQotICogRm9yIGluc3RhbmNlLCBhIDMyMHgyNDAgaW1hZ2UgaGFzIDc2ODAwIHBpeGVscy4gV2l0aCB0aGlzIA0KLSAqIHRvbGVyYW5jZSBhdCAuMDEsIHRoZSBpbWFnZSBtdXN0IGJlIDc2OCBwaXhlbHMuDQotICogVXNlIGEgcGVyY2VudGFnZSBpbnN0ZWFkIG9mIGEgZml4ZWQgIyBvZiBwaXhlbHMgc28gZGlmZmVyZW50DQotICogaW1hZ2Ugc2l6ZXMgd2lsbCB3b3JrIHRoZSBzYW1lIHdheSAqLw0KLSNkZWZpbmUgUEFSVElDTEVfVE9fSU1BR0VfUEVSQ0VOVCAwLjAxDQotDQotLyogIFN0cnVjdHVyZXMgKi8NCi10eXBlZGVmIHN0cnVjdCBUcmFja2luZ1RocmVzaG9sZF9zdHJ1Y3Qgew0KLQljaGFyIG5hbWVbNjRdOw0KLQlSYW5nZSBodWU7DQotCVJhbmdlIHNhdHVyYXRpb247DQotCVJhbmdlIGx1bWluYW5jZTsNCi19IFRyYWNraW5nVGhyZXNob2xkOw0KLQkJDQotLyogIEVudW1lcmF0ZWQgVHlwZXMgKi8NCi0NCi0vKiogUHJlZGVmaW5lZCBodWVzICovDQotdHlwZWRlZiBlbnVtIEZyY0h1ZV9lbnVtIHsgDQotCS8vIEJhc2ljIGNvbG9ycw0KLQlSRUQsIEdSRUVOLCBCTFVFLCBZRUxMT1csIE9SQU5HRSwgUFVSUExFLCBXSElURSwgUElOSw0KLX1GcmNIdWU7DQotDQotLyoqIFByZWRlZmluZWQgc2F0dXJhdGlvbiAvIGx1bWluYW5jZSBzZXR0aW5ncyAqLw0KLXR5cGVkZWYgZW51bSBGcmNMaWdodF9lbnVtIHsgDQotCVBBU1NJVkVfTElHSFQsIEJSSUdIVF9MSUdIVCwgQUNUSVZFX0xJR0hULCBXSElURV9MSUdIVCwgRkxVT1JFU0NFTlQNCi19RnJjTGlnaHQ7DQotCQ0KLS8qIGNvbG9yIHRyYWNraW5nIHN1cHBvcnQgZnVuY3Rpb25zICovDQotVHJhY2tpbmdUaHJlc2hvbGQgR2V0VHJhY2tpbmdEYXRhKEZyY0h1ZSBodWUsIEZyY0xpZ2h0IGxpZ2h0KTsNCi0NCi12b2lkIFByaW50UmVwb3J0KFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQqIG15UmVwb3J0KTsNCi12b2lkIFByaW50UmVwb3J0KENvbG9yUmVwb3J0KiBteVJlcG9ydCk7DQotdm9pZCBQcmludFJlcG9ydChUcmFja2luZ1RocmVzaG9sZCogbXlSZXBvcnQpOw0KLQ0KLS8qICBUcmFja2luZyBmdW5jdGlvbnMgKi8NCi0NCi0vKiBmaW5kIGEgY29sb3IgaW4gY3VycmVudCBjYW1lcmEgaW1hZ2UgKi8NCi1ib29sIEluQXJlYShJbWFnZSogYmluYXJ5SW1hZ2UsIGludCBwYXJ0aWNsZUluZGV4LCBSZWN0IHJlY3QpOw0KLWludCBHZXRMYXJnZXN0UGFydGljbGUoSW1hZ2UqIGJpbmFyeUltYWdlLCBpbnQqIHBhcnRpY2xlTnVtKTsNCi1pbnQgR2V0TGFyZ2VzdFBhcnRpY2xlKEltYWdlKiBiaW5hcnlJbWFnZSwgaW50KiBwYXJ0aWNsZU51bSwgUmVjdCByZWN0KTsNCi1pbnQgRmluZENvbG9yKEZyY0h1ZSBjb2xvciwgUGFydGljbGVBbmFseXNpc1JlcG9ydCogdHJhY2tSZXBvcnQpOw0KLWludCBGaW5kQ29sb3IoY29uc3QgUmFuZ2UqIGh1ZVJhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCk7DQotaW50IEZpbmRDb2xvcihjb25zdCBSYW5nZSogaHVlUmFuZ2UsIGludCBtaW5TYXR1cmF0aW9uLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCk7DQotaW50IEZpbmRDb2xvcihDb2xvck1vZGUgbW9kZSwgY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCk7DQotaW50IEZpbmRDb2xvcihDb2xvck1vZGUgbW9kZSwgY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICp0cmFja1JlcG9ydCwgQ29sb3JSZXBvcnQgKmNvbG9yUmVwb3J0KTsNCi1pbnQgRmluZENvbG9yKENvbG9yTW9kZSBtb2RlLCBjb25zdCBSYW5nZSogcGxhbmUxUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTJSYW5nZSwgDQotCQljb25zdCBSYW5nZSogcGxhbmUzUmFuZ2UsIFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnRyYWNrUmVwb3J0LCANCi0JCUNvbG9yUmVwb3J0ICpjb2xvclJlcG9ydCwgUmVjdCByZWN0KTsNCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1Zpc2lvbkFQSS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1Zpc2lvbkFQSS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlODljZDAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvVmlzaW9uMjAwOS9WaXNpb25BUEkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjc2ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSogIFByb2plY3QgICAJCTogRklSU1QgTW90b3IgQ29udHJvbGxlcg0KLSogIEZpbGUgTmFtZSAgCQk6IFZpc2lvbkFQSS5jcHAgICAgICAgIA0KLSogIENvbnRyaWJ1dG9ycyAgIAk6IEVMRiwgRU1GDQotKiAgQ3JlYXRpb24gRGF0ZSAJOiBKdW5lIDI2LCAyMDA4DQotKiAgUmV2aXNpb24gSGlzdG9yeQk6IFNvdXJjZSBjb2RlICYgcmV2aXNpb24gaGlzdG9yeSBtYWludGFpbmVkIGF0IHNvdXJjZWZvcmdlLldQSS5lZHUgICANCi0qICBGaWxlIERlc2NyaXB0aW9uCTogQyBSb3V0aW5lcyBmb3IgRklSU1QgVmlzaW9uIEFQSS4gT3BlbiBzb3VyY2UgQVBJIGRldmVsb3BlZCANCi0qICAgIGJ5IEJBRSBTeXN0ZW1zIHRvIGludGVyZmFjZSB3aXRoIHRoZSBOYXRpb25hbCBJbnN0cnVtZW50cyB2aXNpb24gQyBsaWJyYXJ5DQotKiAgICBpbiB0aGUgbml2aXNpb24ub3V0IG1vZHVsZS4gVGhlIHB1Ymxpc2hlZCBpbnRlcmZhY2UgdG8gbml2aXNpb24ub3V0IGlzIGluDQotKiAgICB0aGUgaGVhZGVyIGZpbGUgbml2aXNpb24uaCBhbmQgZG9jdW1lbnRlZCBpbiB0aGUgTklWaXNpb25DVkkuY2htIGhlbHAgZmlsZS4NCi0qLyANCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qICAgICAgICBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICovDQotLyogIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgKi8NCi0vKiAgbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2luY2x1ZGUgInN0ZGlvTGliLmgiIA0KLSNpbmNsdWRlICJ2eFdvcmtzLmgiIA0KLQ0KLSNpbmNsdWRlICJCYWVVdGlsaXRpZXMuaCINCi0jaW5jbHVkZSAiRnJjRXJyb3IuaCINCi0jaW5jbHVkZSAiVmlzaW9uQVBJLmgiIA0KLQ0KLWludCBWaXNpb25BUElfZGVidWdGbGFnID0gMTsNCi0jZGVmaW5lIERQUklOVEYgaWYoVmlzaW9uQVBJX2RlYnVnRmxhZylkcHJpbnRmDQotDQotLyogICBJbWFnZSBNYW5hZ2VtZW50IGZ1bmN0aW9ucyAgICAqLw0KLQ0KLS8qKg0KLSogQGJyaWVmIENyZWF0ZSBhbiBpbWFnZSBvYmplY3QNCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfVTgsIElNQVFfSU1BR0VfSTE2LCBJTUFRX0lNQUdFX1NHTCwgSU1BUV9JTUFHRV9DT01QTEVYLCBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9IU0wsIElNQVFfSU1BR0VfUkdCX1U2NCAgICAgICAgICANCi0qIFRoZSBib3JkZXIgc2l6ZSBpcyBkZWZhdWx0ZWQgdG8gMyBzbyB0aGF0IGNvbnZvbHV0aW9uYWwgYWxnb3JpdGhtcyB3b3JrIGF0IHRoZSBlZGdlcy4gDQotKiBXaGVuIHlvdSBhcmUgZmluaXNoZWQgd2l0aCB0aGUgY3JlYXRlZCBpbWFnZSwgZGlzcG9zZSBvZiBpdCBieSBjYWxsaW5nIGZyY0Rpc3Bvc2UoKS4gDQotKiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuICAgDQotKiAgICAgICAgICAgDQotKiBAcGFyYW0gdHlwZSBUeXBlIG9mIGltYWdlIHRvIGNyZWF0ZQ0KLSogQHJldHVybiBJbWFnZSogT24gc3VjY2VzcywgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjcmVhdGVkIGltYWdlLiBPbiBmYWlsdXJlLCBpdCByZXR1cm5zIE5VTEwuDQotKi8NCi1JbWFnZSogZnJjQ3JlYXRlSW1hZ2UoSW1hZ2VUeXBlIHR5cGUpIHsgcmV0dXJuIGltYXFDcmVhdGVJbWFnZSh0eXBlLCBERUZBVUxUX0JPUkRFUl9TSVpFKTsgfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIERpc3Bvc2Ugb2Ygb25lIG9iamVjdC4gU3VwcG9ydHMgYW55IG9iamVjdCBjcmVhdGVkIG9uIHRoZSBoZWFwLg0KLSogDQotKiBAcGFyYW0gb2JqZWN0IG9iamVjdCB0byBkaXNwb3NlIG9mDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qLw0KLWludCBmcmNEaXNwb3NlKHZvaWQqIG9iamVjdCkgIHsgcmV0dXJuIGltYXFEaXNwb3NlKG9iamVjdCk7CX0NCi0vKioNCi0qIEBicmllZiBEaXNwb3NlIG9mIGEgbGlzdCBvZiBvYmplY3RzLiBTdXBwb3J0cyBhbnkgb2JqZWN0IGNyZWF0ZWQgb24gdGhlIGhlYXAuDQotKiANCi0qIEBwYXJhbSBmdW5jdGlvbk5hbWUgVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uDQotKiBAcGFyYW0gLi4uIEEgbGlzdCBvZiBwb2ludGVycyB0byBzdHJ1Y3R1cmVzIHRoYXQgbmVlZCB0byBiZSBkaXNwb3NlZCBvZi4gDQotKiBUaGUgbGFzdCBwb2ludGVyIGluIHRoZSBsaXN0IHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIE5VTEwuDQotKiANCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLg0KLSovDQotaW50IGZyY0Rpc3Bvc2UoIGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgLi4uICkgLyogVmFyaWFibGUgYXJndW1lbnQgbGlzdCAqLw0KLXsNCi0gICAgdmFfbGlzdCBkaXNwb3NhbFB0ckxpc3Q7ICAgLyogSW5wdXQgYXJndW1lbnQgbGlzdCAqLw0KLSAgICB2b2lkKiBkaXNwb3NhbFB0cjsgICAgICAgICAvKiBGb3IgaXRlcmF0aW9uICovDQotICAgIGludCBzdWNjZXNzLCByZXR1cm5WYWx1ZSA9IDE7DQotICAgIA0KLSAgICB2YV9zdGFydCggZGlzcG9zYWxQdHJMaXN0LCBmdW5jdGlvbk5hbWUgKTsgIC8qIHN0YXJ0IG9mIHZhcmlhYmxlIGxpc3QgKi8NCi0gICAgZGlzcG9zYWxQdHIgPSB2YV9hcmcoIGRpc3Bvc2FsUHRyTGlzdCwgdm9pZCogKTsNCi0gICAgd2hpbGUoIGRpc3Bvc2FsUHRyICE9IE5VTEwgKSAgICAgew0KLSAgICAJc3VjY2VzcyA9IGltYXFEaXNwb3NlKGRpc3Bvc2FsUHRyKTsNCi0gICAgICAgIGlmICghc3VjY2Vzcykge3JldHVyblZhbHVlID0gMDt9DQotICAgICAgICBkaXNwb3NhbFB0ciA9IHZhX2FyZyggZGlzcG9zYWxQdHJMaXN0LCB2b2lkKiApOw0KLSAgICB9DQotICAgIHJldHVybiByZXR1cm5WYWx1ZTsNCi19DQotDQotLyoqDQotKiBAYnJpZWYgQ29weSBhbiBpbWFnZSBvYmplY3QuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYsIElNQVFfSU1BR0VfU0dMLCBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9IU0wuICAgICAgICAgIA0KLSogDQotKiBAcGFyYW0gZGVzdCBDb3B5IG9mIGltYWdlLiBPbiBmYWlsdXJlLCBkZXN0IGlzIE5VTEwuIE11c3QgaGF2ZSBhbHJlYWR5IGJlZW4gY3JlYXRlZCB1c2luZyBmcmNDcmVhdGVJbWFnZSgpLg0KLSogV2hlbiB5b3UgYXJlIGZpbmlzaGVkIHdpdGggdGhlIGNyZWF0ZWQgaW1hZ2UsIGRpc3Bvc2Ugb2YgaXQgYnkgY2FsbGluZyBmcmNEaXNwb3NlKCkuDQotKiBAcGFyYW0gc291cmNlIEltYWdlIHRvIGNvcHkgICAgICANCi0qIA0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjQ29weUltYWdlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlKSB7IHJldHVybiBpbWFxRHVwbGljYXRlKGRlc3QsIHNvdXJjZSk7ICB9DQotDQotLyoqDQotKiBAYnJpZWYgQ3JvcCBpbWFnZSB3aXRob3V0IGNoYW5naW5nIHRoZSBzY2FsZS4gDQotKiBTdXBwb3J0cyBJTUFRX0lNQUdFX1U4LCBJTUFRX0lNQUdFX0kxNiwgSU1BUV9JTUFHRV9TR0wsIElNQVFfSU1BR0VfUkdCLCBJTUFRX0lNQUdFX0hTTC4NCi0qIA0KLSogQHBhcmFtIGRlc3QgTW9kaWZpZWQgaW1hZ2UNCi0qIEBwYXJhbSBzb3VyY2UgSW1hZ2UgdG8gY3JvcA0KLSogQHBhcmFtIHJlY3QgcmVnaW9uIHRvIHByb2Nlc3MsIG9yIElNQVFfTk9fUkVDVA0KLSogDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qLw0KLWludCBmcmNDcm9wKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBSZWN0IHJlY3QpDQotewkNCi0JcmV0dXJuIGltYXFTY2FsZShkZXN0LCBzb3VyY2UsIDEsIDEsIElNQVFfU0NBTEVfTEFSR0VSLCByZWN0KTsNCi19DQotDQotDQotLyoqDQotKiBAYnJpZWYgU2NhbGVzIHRoZSBlbnRpcmUgaW1hZ2UgbGFyZ2VyIG9yIHNtYWxsZXIuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYsIElNQVFfSU1BR0VfU0dMLCBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9IU0wuDQotKiAgICAgDQotKiBAcGFyYW0gZGVzdCBNb2RpZmllZCBpbWFnZQ0KLSogQHBhcmFtIHNvdXJjZSBJbWFnZSB0byBzY2FsZQ0KLSogQHBhcmFtIHhTY2FsZSB0aGUgaG9yaXpvbnRhbCByZWR1Y3Rpb24gcmF0aW8NCi0qIEBwYXJhbSB5U2NhbGUgdGhlIHZlcnRpY2FsIHJlZHVjdGlvbiByYXRpbyANCi0qIEBwYXJhbSBzY2FsZU1vZGUgSU1BUV9TQ0FMRV9MQVJHRVIgb3IgSU1BUV9TQ0FMRV9TTUFMTEVSICANCi0qIA0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjU2NhbGUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCB4U2NhbGUsIGludCB5U2NhbGUsIFNjYWxpbmdNb2RlIHNjYWxlTW9kZSkNCi17CQ0KLQlSZWN0IHJlY3QgPSBJTUFRX05PX1JFQ1Q7DQotCXJldHVybiBpbWFxU2NhbGUoZGVzdCwgc291cmNlLCB4U2NhbGUsIHlTY2FsZSwgc2NhbGVNb2RlLCByZWN0KTsJDQotfQ0KLSAgDQotLyoqDQotICogQGJyaWVmIENyZWF0ZXMgaW1hZ2Ugb2JqZWN0IGZyb20gdGhlIGluZm9ybWF0aW9uIGluIGEgZmlsZS4gVGhlIGZpbGUgY2FuIGJlIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nIGZvcm1hdHM6IA0KLSAqIFBORywgSlBFRywgSlBFRzIwMDAsIFRJRkYsIEFJUEQsIG9yIEJNUC4gDQotICogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYsIElNQVFfSU1BR0VfU0dMLCBJTUFRX0lNQUdFX0NPTVBMRVgsIElNQVFfSU1BR0VfUkdCLCBJTUFRX0lNQUdFX0hTTCwgSU1BUV9JTUFHRV9SR0JfVTY0Lg0KLSAqIA0KLSAqIEBwYXJhbSBpbWFnZSBJbWFnZSByZWFkIGluDQotICogQHBhcmFtIGZpbGVOYW1lIEZpbGUgdG8gcmVhZC4gQ2Fubm90IGJlIE5VTEwNCi0gKiANCi0gKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0gKi8NCi0gaW50IGZyY1JlYWRJbWFnZShJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lKQ0KLSB7DQotCSByZXR1cm4gaW1hcVJlYWRGaWxlKGltYWdlLCBmaWxlTmFtZSwgTlVMTCwgTlVMTCk7DQotIH0NCi0NCi0NCi0gLyoqDQotICogQGJyaWVmIFdyaXRlIGltYWdlIHRvIGEgZmlsZS4gDQotICogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYsIElNQVFfSU1BR0VfU0dMLCBJTUFRX0lNQUdFX0NPTVBMRVgsIElNQVFfSU1BR0VfUkdCLCBJTUFRX0lNQUdFX0hTTCwgSU1BUV9JTUFHRV9SR0JfVTY0Lg0KLSAqIA0KLSAqIFRoZSBmaWxlIHR5cGUgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZXh0ZW5zaW9uLCBhcyBmb2xsb3dzOg0KLSAqDQotICoJCUV4dGVuc2lvbiAJCQkJCUZpbGUgVHlwZSANCi0gKgkJYWlwZCBvciAuYXBkIAkJCQlBSVBEIA0KLSAqCQkuYm1wIAkJCQkJCUJNUCANCi0gKgkJLmpwZyBvciAuanBlZyAJCQkJSlBFRyANCi0gKgkJLmpwMiAJCQkJCQlKUEVHMjAwMCANCi0gKgkJLnBuZyAJCQkJCQlQTkcgDQotICoJCS50aWYgb3IgLnRpZmYgCQkJCVRJRkYgDQotICogDQotICogDQotICpUaGUgZm9sbG93aW5nIGFyZSB0aGUgc3VwcG9ydGVkIGltYWdlIHR5cGVzIGZvciBlYWNoIGZpbGUgdHlwZToNCi0gKg0KLSAqCQlGaWxlIFR5cGVzIAkJCQkJSW1hZ2UgVHlwZXMgDQotICoJCUFJUEQgCQkJCQkJYWxsIGltYWdlIHR5cGVzIA0KLSAqCQlCTVAsIEpQRUcgCQkJCQk4LWJpdCwgUkdCIA0KLSAqCQlQTkcsIFRJRkYsIEpQRUcyMDAwIAkJOC1iaXQsIDE2LWJpdCwgUkdCLCBSR0JVNjQgCQkNCi0gKiAJCQkgICAgDQotICogQHBhcmFtIGltYWdlIEltYWdlIHRvIHdyaXRlDQotICogQHBhcmFtIGZpbGVOYW1lIEZpbGUgdG8gcmVhZC4gQ2Fubm90IGJlIE5VTEwuIFRoZSBleHRlbnNpb24gZGV0ZXJtaW5lcyB0aGUgZmlsZSBmb3JtYXQgdGhhdCBpcyB3cml0dGVuLg0KLSAqIA0KLSAqIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLg0KLSAqLw0KLWludCBmcmNXcml0ZUltYWdlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgY2hhciogZmlsZU5hbWUpDQotewkNCi0JUkdCVmFsdWUqIGNvbG9yVGFibGUgPSBOVUxMOw0KLQlyZXR1cm4gaW1hcVdyaXRlRmlsZShpbWFnZSwgZmlsZU5hbWUsIGNvbG9yVGFibGUpOw0KLX0NCi0NCi0NCi0vKiAgTWVhc3VyZSBJbnRlbnNpdHkgZnVuY3Rpb25zICovDQotDQotLyoqDQotKiBAYnJpZWYgTWVhc3VyZXMgdGhlIHBpeGVsIGludGVuc2l0aWVzIGluIGEgcmVjdGFuZ2xlIG9mIGFuIGltYWdlLiANCi0qIE91dHB1dHMgaW50ZW5zaXR5IGJhc2VkIHN0YXRpc3RpY3MgYWJvdXQgYW4gaW1hZ2Ugc3VjaCBhcyBNYXgsIE1pbiwgTWVhbiBhbmQgU3RkIERldiBvZiBwaXhlbCB2YWx1ZS4gDQotKiBTdXBwb3J0cyBJTUFRX0lNQUdFX1U4LCBJTUFRX0lNQUdFX0kxNiwgSU1BUV9JTUFHRV9TR0wuDQotKg0KLSogIFBhcmFtZXRlciBEaXNjdXNzaW9uCTogDQotKgkJUmVsZXZhbnQgcGFyYW1ldGVycyBvZiB0aGUgSGlzdG9ncmFtUmVwb3J0IGluY2x1ZGU6DQotKiAJCQltaW4sIG1heCwgbWVhbiBhbmQgc3RkRGV2ICAgICAgDQotKgkJbWluL21heCCXU2V0dGluZyBib3RoIG1pbiBhbmQgbWF4IHRvIDAgY2F1c2VzIHRoZSBmdW5jdGlvbiB0byBzZXQgbWluIHRvIDAgDQotKiAJCQlhbmQgdGhlIG1heCB0byAyNTUgZm9yIDgtYml0IGltYWdlcyBhbmQgdG8gdGhlIGFjdHVhbCBtaW5pbXVtIHZhbHVlIGFuZA0KLSogCQkJbWF4aW11bSB2YWx1ZSBvZiB0aGUgaW1hZ2UgZm9yIGFsbCBvdGhlciBpbWFnZSB0eXBlcy4NCi0qCQltYXiXU2V0dGluZyBib3RoIG1pbiBhbmQgbWF4IHRvIDAgY2F1c2VzIHRoZSBmdW5jdGlvbiB0byBzZXQgbWF4IHRvIDI1NSANCi0qIAkJCWZvciA4LWJpdCBpbWFnZXMgYW5kIHRvIHRoZSBhY3R1YWwgbWF4aW11bSB2YWx1ZSBvZiB0aGUgaW1hZ2UgZm9yIA0KLSogCQkJYWxsIG90aGVyIGltYWdlIHR5cGVzLg0KLSoNCi0qIEBwYXJhbSBpbWFnZSBJbWFnZSB3aG9zZSBoaXN0b2dyYW0gdGhlIGZ1bmN0aW9uIGNhbGN1bGF0ZXMuDQotKiBAcGFyYW0gbnVtQ2xhc3NlcyBUaGUgbnVtYmVyIG9mIGNsYXNzZXMgaW50byB3aGljaCB0aGUgZnVuY3Rpb24gc2VwYXJhdGVzIHRoZSBwaXhlbHMuIA0KLSogRGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBoaXN0b2dyYW0gYXJyYXkgcmV0dXJuZWQNCi0qIEBwYXJhbSBtaW4gVGhlIG1pbmltdW0gcGl4ZWwgdmFsdWUgdG8gY29uc2lkZXIgZm9yIHRoZSBoaXN0b2dyYW0uIA0KLSogVGhlIGZ1bmN0aW9uIGRvZXMgbm90IGNvdW50IHBpeGVscyB3aXRoIHZhbHVlcyBsZXNzIHRoYW4gbWluLg0KLSogQHBhcmFtIG1heCBUaGUgbWF4aW11bSBwaXhlbCB2YWx1ZSB0byBjb25zaWRlciBmb3IgdGhlIGhpc3RvZ3JhbS4gDQotKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgY291bnQgcGl4ZWxzIHdpdGggdmFsdWVzIGdyZWF0ZXIgdGhhbiBtYXguDQotKiBAcGFyYW0gcmVjdCBSZWdpb24gb2YgaW50ZXJlc3QgaW4gdGhlIGltYWdlLiBJZiBub3QgaW5jbHVkZWQsIHRoZSBlbnRpcmUgaW1hZ2UgaXMgdXNlZC4gDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3MsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIHJlcG9ydCBkZXNjcmliaW5nIHRoZSBwaXhlbCB2YWx1ZSBjbGFzc2lmaWNhdGlvbi4gICAgDQotKiBXaGVuIHlvdSBhcmUgZmluaXNoZWQgd2l0aCB0aGUgcmVwb3J0LCBkaXNwb3NlIG9mIGl0IGJ5IGNhbGxpbmcgZnJjRGlzcG9zZSgpLiANCi0qIE9uIGZhaWx1cmUsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBOVUxMLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuICAgICAgICAgICAgDQotKiANCi0qLw0KLUhpc3RvZ3JhbVJlcG9ydCogZnJjSGlzdG9ncmFtKGNvbnN0IEltYWdlKiBpbWFnZSwgaW50IG51bUNsYXNzZXMsIGZsb2F0IG1pbiwgZmxvYXQgbWF4KQ0KLXsNCi0JUmVjdCByZWN0ID0gSU1BUV9OT19SRUNUOw0KLQlyZXR1cm4gZnJjSGlzdG9ncmFtKGltYWdlLCBudW1DbGFzc2VzLCBtaW4sIG1heCwgcmVjdCk7CQkNCi19DQotSGlzdG9ncmFtUmVwb3J0KiBmcmNIaXN0b2dyYW0oY29uc3QgSW1hZ2UqIGltYWdlLCBpbnQgbnVtQ2xhc3NlcywgZmxvYXQgbWluLCBmbG9hdCBtYXgsIFJlY3QgcmVjdCkNCi17DQotCWludCBzdWNjZXNzOyANCi0JaW50IGZpbGxWYWx1ZSA9IDE7DQotCQ0KLQkvKiBjcmVhdGUgdGhlIHJlZ2lvbiBvZiBpbnRlcmVzdCAqLw0KLQlST0kqIHBSb2kgPSBpbWFxQ3JlYXRlUk9JKCk7DQotCXN1Y2Nlc3MgPSBpbWFxQWRkUmVjdENvbnRvdXIocFJvaSwgcmVjdCk7IA0KLQlpZiAoICFzdWNjZXNzICkJeyBHZXRMYXN0VmlzaW9uRXJyb3IoKTsgcmV0dXJuIE5VTEw7IH0JDQotDQotCS8qIG1ha2UgYSBtYXNrIGZyb20gdGhlIFJPSSAqLw0KLQlJbWFnZSogcE1hc2sgPSBmcmNDcmVhdGVJbWFnZShJTUFRX0lNQUdFX1U4KTsNCi0Jc3VjY2VzcyA9IGltYXFST0lUb01hc2socE1hc2ssIHBSb2ksIGZpbGxWYWx1ZSwgTlVMTCwgTlVMTCk7DQotCWlmICggIXN1Y2Nlc3MgKQl7IA0KLQkJR2V0TGFzdFZpc2lvbkVycm9yKCk7IA0KLQkJZnJjRGlzcG9zZShfX0ZVTkNUSU9OX18sIHBSb2ksIE5VTEwpOyANCi0JCXJldHVybiBOVUxMOyANCi0JfQkNCi0JDQotCS8qIGdldCBhIGhpc3RvZ3JhbSByZXBvcnQgKi8NCi0JSGlzdG9ncmFtUmVwb3J0KiBwSHIgPSBOVUxMOw0KLQlwSHIgPSBpbWFxSGlzdG9ncmFtKGltYWdlLCBudW1DbGFzc2VzLCBtaW4sIG1heCwgcE1hc2spOyANCi0JDQotCS8qIGNsZWFuIHVwICovDQotCWZyY0Rpc3Bvc2UoX19GVU5DVElPTl9fLCBwUm9pLCBwTWFzaywgTlVMTCk7IA0KLQkNCi0JcmV0dXJuIHBIcjsNCi19DQotDQotLyoqDQotKiBAYnJpZWYgQ2FsY3VsYXRlcyB0aGUgaGlzdG9ncmFtLCBvciBwaXhlbCBkaXN0cmlidXRpb24sIG9mIGEgY29sb3IgaW1hZ2UuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSFNMLg0KLSogICAgICAgICAgICANCi0qIEBwYXJhbSBpbWFnZSBJbWFnZSB3aG9zZSBoaXN0b2dyYW0gdGhlIGZ1bmN0aW9uIGNhbGN1bGF0ZXMuDQotKiBAcGFyYW0gbnVtQ2xhc3NlcyBUaGUgbnVtYmVyIG9mIGNsYXNzZXMgaW50byB3aGljaCB0aGUgZnVuY3Rpb24gc2VwYXJhdGVzIHRoZSBwaXhlbHMuIA0KLSogRGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBoaXN0b2dyYW0gYXJyYXkgcmV0dXJuZWQNCi0qIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBzcGFjZSBpbiB3aGljaCB0byBwZXJmb3JtIHRoZSBoaXN0b2dyYW0uIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlIElNQVFfUkdCIGFuZCBJTUFRX0hTTC4gDQotKiBAcGFyYW0gbWFzayBBbiBvcHRpb25hbCBtYXNrIGltYWdlLiBUaGlzIGltYWdlIG11c3QgYmUgYW4gSU1BUV9JTUFHRV9VOCBpbWFnZS4gDQotKiBUaGUgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgaGlzdG9ncmFtIHVzaW5nIG9ubHkgdGhvc2UgcGl4ZWxzIGluIHRoZSBpbWFnZSB3aG9zZSANCi0qIGNvcnJlc3BvbmRpbmcgcGl4ZWxzIGluIHRoZSBtYXNrIGFyZSBub24temVyby4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIE5VTEwgdG8gY2FsY3VsYXRlIA0KLSogdGhlIGhpc3RvZ3JhbSBvZiB0aGUgZW50aXJlIGltYWdlLCBvciB1c2UgdGhlIHNpbXBsaWZpZWQgY2FsbC4NCi0qIA0KLSogQHJldHVybiBPbiBzdWNjZXNzLCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgYSByZXBvcnQgZGVzY3JpYmluZyB0aGUgY2xhc3NpZmljYXRpb24gIA0KLSogb2YgZWFjaCBwbGFuZSBpbiBhIEhpc3RvZ3JhbVJlcG9ydC4gDQotKiBXaGVuIHlvdSBhcmUgZmluaXNoZWQgd2l0aCB0aGUgcmVwb3J0LCBkaXNwb3NlIG9mIGl0IGJ5IGNhbGxpbmcgZnJjRGlzcG9zZSgpLiANCi0qIE9uIGZhaWx1cmUsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBOVUxMLiAgDQotKiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgaW1hcUdldExhc3RFcnJvcigpLiANCi0qLw0KLUNvbG9ySGlzdG9ncmFtUmVwb3J0KiBmcmNDb2xvckhpc3RvZ3JhbShjb25zdCBJbWFnZSogaW1hZ2UsIGludCBudW1DbGFzc2VzLCBDb2xvck1vZGUgbW9kZSkNCi17CQ0KLQlyZXR1cm4gZnJjQ29sb3JIaXN0b2dyYW0oaW1hZ2UsIG51bUNsYXNzZXMsIG1vZGUsIE5VTEwpOw0KLX0NCi0NCi1Db2xvckhpc3RvZ3JhbVJlcG9ydCogZnJjQ29sb3JIaXN0b2dyYW0oY29uc3QgSW1hZ2UqIGltYWdlLCBpbnQgbnVtQ2xhc3NlcywgQ29sb3JNb2RlIG1vZGUsIEltYWdlKiBtYXNrKQ0KLXsNCi0JcmV0dXJuIGltYXFDb2xvckhpc3RvZ3JhbTIoKEltYWdlKilpbWFnZSwgbnVtQ2xhc3NlcywgbW9kZSwgTlVMTCwgbWFzayk7DQotfQ0KLQ0KLQ0KLS8qKg0KLSogQGJyaWVmIE1lYXN1cmVzIHRoZSBwaXhlbCBpbnRlbnNpdGllcyBpbiBhIHJlY3RhbmdsZSBvZiBhbiBpbWFnZS4gDQotKiBPdXRwdXRzIGludGVuc2l0eSBiYXNlZCBzdGF0aXN0aWNzIGFib3V0IGFuIGltYWdlIHN1Y2ggYXMgTWF4LCBNaW4sIE1lYW4gYW5kIFN0ZCBEZXYgb2YgcGl4ZWwgdmFsdWUuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCAoZ3JheXNjYWxlKSBJTUFRX0lNQUdFX1JHQiAoY29sb3IpIElNQVFfSU1BR0VfSFNMIChjb2xvci1IU0wpLg0KLSogDQotKiBAcGFyYW0gaW1hZ2UgVGhlIGltYWdlIHdob3NlIHBpeGVsIHZhbHVlIHRoZSBmdW5jdGlvbiBxdWVyaWVzDQotKiBAcGFyYW0gcGl4ZWwgVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBwaXhlbCB0aGF0IHRoZSBmdW5jdGlvbiBxdWVyaWVzDQotKiBAcGFyYW0gdmFsdWUgT24gcmV0dXJuLCB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBpbWFnZSBwaXhlbC4gVGhpcyBwYXJhbWV0ZXIgY2Fubm90IGJlIE5VTEwuDQotKiBUaGlzIGRhdGEgc3RydWN0dXJlIGNvbnRhaW5zIGVpdGhlciBncmF5c2NhbGUsIFJHQiwgSFNMLCBDb21wbGV4IG9yIFJHQlU2NFZhbHVlIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiBpbWFnZS4NCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLg0KLSovDQotaW50IGZyY0dldFBpeGVsVmFsdWUoY29uc3QgSW1hZ2UqIGltYWdlLCBQb2ludCBwaXhlbCwgUGl4ZWxWYWx1ZSogdmFsdWUpDQotewkNCi0JcmV0dXJuIGltYXFHZXRQaXhlbChpbWFnZSwgcGl4ZWwsIHZhbHVlKTsNCi19DQotDQotDQotLyogICBQYXJ0aWNsZSBBbmFseXNpcyBmdW5jdGlvbnMgKi8NCi0NCi0vKioNCi0qIEBicmllZiBGaWx0ZXJzIHBhcnRpY2xlcyBvdXQgb2YgYW4gaW1hZ2UgYmFzZWQgb24gdGhlaXIgbWVhc3VyZW1lbnRzLiANCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfVTgsIElNQVFfSU1BR0VfSTE2LCBJTUFRX0lNQUdFX1NHTC4NCi0qIA0KLSogQHBhcmFtIGRlc3QgVGhlIGRlc3RpbmF0aW9uIGltYWdlLiBJZiBkZXN0IGlzIHVzZWQsIGl0IG11c3QgYmUgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgU291cmNlIGltYWdlLiBJdCB3aWxsIGNvbnRhaW4gb25seSB0aGUgZmlsdGVyZWQgcGFydGljbGVzLg0KLSogQHBhcmFtIHNvdXJjZSBUaGUgaW1hZ2UgY29udGFpbmluZyB0aGUgcGFydGljbGVzIHRvIGZpbHRlci4gDQotKiBAcGFyYW0gY3JpdGVyaWEgQW4gYXJyYXkgb2YgY3JpdGVyaWEgdG8gYXBwbHkgdG8gdGhlIHBhcnRpY2xlcyBpbiB0aGUgc291cmNlIGltYWdlLiBUaGlzIGFycmF5IGNhbm5vdCBiZSBOVUxMLg0KLSogU2VlIHRoZSBOSVZpc2lvbkNWSS5jaG0gaGVscCBmaWxlIGZvciBkZWZpbml0aW9ucyBvZiBjcml0ZXJpYS4gDQotKiBAcGFyYW0gY3JpdGVyaWFDb3VudCBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjcml0ZXJpYSBhcnJheS4NCi0qIEBwYXJhbSBvcHRpb25zIEJpbmFyeSBmaWx0ZXIgb3B0aW9ucywgaW5jbHVkaW5nIHJlamVjdE1hdGNoZXMsIHJlamVjdEJvcmRlciwgYW5kIGNvbm5lY3Rpdml0eTguDQotKiBAcGFyYW0gcmVjdCBBcmVhIG9mIGltYWdlIHRvIGZpbHRlci4gSWYgb21pdHRlZCwgdGhlIGRlZmF1bHQgaXMgZW50aXJlIGltYWdlLg0KLSogQHBhcmFtIG51bVBhcnRpY2xlcyBPbiByZXR1cm4sIHRoZSBudW1iZXIgb2YgcGFydGljbGVzIGxlZnQgaW4gdGhlIGltYWdlDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qLw0KLWludCBmcmNQYXJ0aWNsZUZpbHRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgUGFydGljbGVGaWx0ZXJDcml0ZXJpYTIqIGNyaXRlcmlhLCANCi0JCWludCBjcml0ZXJpYUNvdW50LCBjb25zdCBQYXJ0aWNsZUZpbHRlck9wdGlvbnMqIG9wdGlvbnMsIGludCogbnVtUGFydGljbGVzKQ0KLXsNCi0JUmVjdCByZWN0ID0gSU1BUV9OT19SRUNUOw0KLQlyZXR1cm4gZnJjUGFydGljbGVGaWx0ZXIoZGVzdCwgc291cmNlLCBjcml0ZXJpYSwgY3JpdGVyaWFDb3VudCwgb3B0aW9ucywgcmVjdCwgbnVtUGFydGljbGVzKTsNCi19DQotDQotaW50IGZyY1BhcnRpY2xlRmlsdGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBjb25zdCBQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMiogY3JpdGVyaWEsIA0KLQkJaW50IGNyaXRlcmlhQ291bnQsIGNvbnN0IFBhcnRpY2xlRmlsdGVyT3B0aW9ucyogb3B0aW9ucywgUmVjdCByZWN0LCBpbnQqIG51bVBhcnRpY2xlcykNCi17DQotCVJPSSogcm9pID0gaW1hcUNyZWF0ZVJPSSgpOw0KLQlpbWFxQWRkUmVjdENvbnRvdXIocm9pLCByZWN0KTsNCi0JcmV0dXJuIGltYXFQYXJ0aWNsZUZpbHRlcjMoZGVzdCwgc291cmNlLCBjcml0ZXJpYSwgY3JpdGVyaWFDb3VudCwgb3B0aW9ucywgcm9pLCBudW1QYXJ0aWNsZXMpOw0KLX0NCi0NCi0NCi0vKioNCi0qIEBicmllZiBQZXJmb3JtcyBtb3JwaG9sb2dpY2FsIHRyYW5zZm9ybWF0aW9ucyBvbiBiaW5hcnkgaW1hZ2VzLiANCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfVTguIA0KLSoNCi0qIEBwYXJhbSBkZXN0IFRoZSBkZXN0aW5hdGlvbiBpbWFnZS4gVGhlIGJvcmRlciBzaXplIG9mIHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBpcyBub3QgaW1wb3J0YW50Lg0KLSogQHBhcmFtIHNvdXJjZSBUaGUgaW1hZ2Ugb24gd2hpY2ggdGhlIGZ1bmN0aW9uIHBlcmZvcm1zIHRoZSBtb3JwaG9sb2dpY2FsIG9wZXJhdGlvbnMuIFRoZSBjYWxjdWxhdGlvbiANCi0qIG1vZGlmaWVzIHRoZSBib3JkZXIgb2YgdGhlIHNvdXJjZSBpbWFnZS4gVGhlIGJvcmRlciBtdXN0IGJlIGF0IGxlYXN0IGhhbGYgYXMgbGFyZ2UgYXMgdGhlIGxhcmdlciANCi0qIGRpbWVuc2lvbiAgb2YgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuICBUaGUgY29ubmVjdGVkIHNvdXJjZSBpbWFnZSBmb3IgYSBtb3JwaG9sb2dpY2FsIHRyYW5zZm9ybWF0aW9uIA0KLSogbXVzdCBoYXZlIGJlZW4gY3JlYXRlZCB3aXRoIGEgYm9yZGVyIGNhcGFibGUgb2Ygc3VwcG9ydGluZyB0aGUgc2l6ZSBvZiB0aGUgc3RydWN0dXJpbmcgZWxlbWVudC4gDQotKiBBIDMgYnkgMyBzdHJ1Y3R1cmluZyBlbGVtZW50IHJlcXVpcmVzIGEgbWluaW1hbCBib3JkZXIgb2YgMSwgYSA1IGJ5IDUgc3RydWN0dXJpbmcgZWxlbWVudCByZXF1aXJlcyBhIG1pbmltYWwgYm9yZGVyIG9mIDIsIGFuZCBzbyBvbi4NCi0qIEBwYXJhbSBtZXRob2QgVGhlIG1vcnBob2xvZ2ljYWwgdHJhbnNmb3JtIHRvIGFwcGx5LiANCi0qIEBwYXJhbSBzdHJ1Y3R1cmluZ0VsZW1lbnQgVGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQgdXNlZCBpbiB0aGUgb3BlcmF0aW9uLiBPbWl0IHRoaXMgcGFyYW1ldGVyIGlmIHlvdSBkbyBub3Qgd2FudCBhIGN1c3RvbSBzdHJ1Y3R1cmluZyBlbGVtZW50LiANCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLiANCi0qLw0KLWludCBmcmNNb3JwaG9sb2d5KEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBNb3JwaG9sb2d5TWV0aG9kIG1ldGhvZCkNCi17CQ0KLQlyZXR1cm4gaW1hcU1vcnBob2xvZ3koZGVzdCwgc291cmNlLCBtZXRob2QsIE5VTEwpOw0KLX0NCi0NCi1pbnQgZnJjTW9ycGhvbG9neShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgTW9ycGhvbG9neU1ldGhvZCBtZXRob2QsIGNvbnN0IFN0cnVjdHVyaW5nRWxlbWVudCogc3RydWN0dXJpbmdFbGVtZW50KQ0KLXsJDQotCXJldHVybiBpbWFxTW9ycGhvbG9neShkZXN0LCBzb3VyY2UsIG1ldGhvZCwgc3RydWN0dXJpbmdFbGVtZW50KTsgDQotfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIEVsaW1pbmF0ZXMgcGFydGljbGVzIHRoYXQgdG91Y2ggdGhlIGJvcmRlciBvZiB0aGUgaW1hZ2UuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOC4NCi0qDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBzb3VyY2UgaW1hZ2UuIElmIHRoZSBpbWFnZSBoYXMgYSBib3JkZXIsIHRoZSBmdW5jdGlvbiBzZXRzIGFsbCBib3JkZXIgcGl4ZWwgdmFsdWVzIHRvIDAuDQotKiBAcGFyYW0gY29ubmVjdGl2aXR5OCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgY29ubmVjdGl2aXR5IHVzZWQgYnkgdGhlIGFsZ29yaXRobSBmb3IgcGFydGljbGUgZGV0ZWN0aW9uLiANCi0qIFRoZSBjb25uZWN0aXZpdHkgbW9kZSBkaXJlY3RseSBkZXRlcm1pbmVzIHdoZXRoZXIgYW4gYWRqYWNlbnQgcGl4ZWwgYmVsb25ncyB0byB0aGUgc2FtZSBwYXJ0aWNsZSBvciBhIA0KLSogZGlmZmVyZW50IHBhcnRpY2xlLiBTZXQgdG8gVFJVRSB0byB1c2UgY29ubmVjdGl2aXR5LTggdG8gZGV0ZXJtaW5lIHdoZXRoZXIgcGFydGljbGVzIGFyZSB0b3VjaGluZyANCi0qIFNldCB0byBGQUxTRSB0byB1c2UgY29ubmVjdGl2aXR5LTQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgcGFydGljbGVzIGFyZSB0b3VjaGluZy4gDQotKiBUaGUgZGVmYXVsdCBzZXR0aW5nIGZvciB0aGUgc2ltcGxpZmllZCBjYWxsIGlzIFRSVUUNCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLg0KLSovDQotaW50IGZyY1JlamVjdEJvcmRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSkNCi17CXJldHVybiBpbWFxUmVqZWN0Qm9yZGVyKGRlc3QsIHNvdXJjZSwgVFJVRSk7IH0NCi0NCi1pbnQgZnJjUmVqZWN0Qm9yZGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBpbnQgY29ubmVjdGl2aXR5OCkNCi17CQ0KLQlyZXR1cm4gaW1hcVJlamVjdEJvcmRlcihkZXN0LCBzb3VyY2UsIGNvbm5lY3Rpdml0eTgpOw0KLX0NCi0NCi0NCi0vKioNCi0qIEBicmllZiBDb3VudHMgdGhlIG51bWJlciBvZiBwYXJ0aWNsZXMgaW4gYSBiaW5hcnkgaW1hZ2UuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYsIElNQVFfSU1BR0VfU0dMLg0KLSogQHBhcmFtIGltYWdlIGJpbmFyeSAodGhyZXNob2xkZWQpIGltYWdlIAkNCi0qIEBwYXJhbSBudW1QYXJ0aWNsZXMgT24gcmV0dXJuLCB0aGUgbnVtYmVyIG9mIHBhcnRpY2xlcy4NCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLiAgICANCi0qLw0KLWludCBmcmNDb3VudFBhcnRpY2xlcyhJbWFnZSogaW1hZ2UsIGludCogbnVtUGFydGljbGVzKQkJCQkNCi17CQ0KLQlyZXR1cm4gaW1hcUNvdW50UGFydGljbGVzKGltYWdlLCAxLCBudW1QYXJ0aWNsZXMpOw0KLX0NCi0NCi0NCi0vKioNCi0qIEBicmllZiBDb25kdWN0IG1lYXN1cmVtZW50cyBmb3IgYSBzaW5nbGUgcGFydGljbGUgaW4gYW4gaW1hZ2VzLiANCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfVTgsIElNQVFfSU1BR0VfSTE2LCBJTUFRX0lNQUdFX1NHTC4NCi0qIA0KLSogQHBhcmFtIGltYWdlIGltYWdlIHdpdGggdGhlIHBhcnRpY2xlIHRvIGFuYWx5emUuIFRoaXMgZnVuY3Rpb24gbW9kaWZpZXMgdGhlIHNvdXJjZSBpbWFnZS4gDQotKiBJZiB5b3UgbmVlZCB0aGUgb3JpZ2luYWwgaW1hZ2UsIGNyZWF0ZSBhIGNvcHkgb2YgdGhlIGltYWdlIHVzaW5nIGZyY0NvcHkoKSBiZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbi4NCi0qIEBwYXJhbSBwYXJ0aWNsZU51bWJlciBUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aWNsZSB0byBnZXQgaW5mb3JtYXRpb24gb24NCi0qIEBwYXJhbSBwYXIgb24gcmV0dXJuLCBhIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwYXJ0aWNsZS4gVGhpcyBzdHJ1Y3R1cmUgbXVzdCBiZSBjcmVhdGVkIGJ5IHRoZSBjYWxsZXIuDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qLw0KLWludCBmcmNQYXJ0aWNsZUFuYWx5c2lzKEltYWdlKiBpbWFnZSwgaW50IHBhcnRpY2xlTnVtYmVyLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0KiBwYXIpCQkJCQ0KLXsNCi0JaW50IHN1Y2Nlc3MgPSAwOw0KLQ0KLQkvKiBpbWFnZSBpbmZvcm1hdGlvbiAqLw0KLQlpbnQgaGVpZ2h0LCB3aWR0aDsNCi0JaWYgKCAhIGltYXFHZXRJbWFnZVNpemUoaW1hZ2UsICZ3aWR0aCwgJmhlaWdodCkgKSAJeyByZXR1cm4gc3VjY2VzczsgfQkNCi0JcGFyLT5pbWFnZVdpZHRoID0gd2lkdGg7CQ0KLQlwYXItPmltYWdlSGVpZ2h0ID0gaGVpZ2h0OwkNCi0JcGFyLT5wYXJ0aWNsZUluZGV4ID0gcGFydGljbGVOdW1iZXI7CQkNCi0NCi0JLyogY2VudGVyIG9mIG1hc3MgcG9pbnQgb2YgdGhlIGxhcmdlc3QgcGFydGljbGUJKi8NCi0JZG91YmxlIHJldHVybkRvdWJsZTsNCi0Jc3VjY2VzcyA9IGltYXFNZWFzdXJlUGFydGljbGUoaW1hZ2UsIHBhcnRpY2xlTnVtYmVyLCAwLCBJTUFRX01UX0NFTlRFUl9PRl9NQVNTX1gsICZyZXR1cm5Eb3VibGUpOw0KLQlpZiAoICFzdWNjZXNzICkJeyByZXR1cm4gc3VjY2VzczsgfQ0KLQlwYXItPmNlbnRlcl9tYXNzX3ggPSAoaW50KXJldHVybkRvdWJsZTsJCQkJCQkvLyBwaXhlbAkNCi0NCi0Jc3VjY2VzcyA9IGltYXFNZWFzdXJlUGFydGljbGUoaW1hZ2UsIHBhcnRpY2xlTnVtYmVyLCAwLCBJTUFRX01UX0NFTlRFUl9PRl9NQVNTX1ksICZyZXR1cm5Eb3VibGUpOwkNCi0JaWYgKCAhc3VjY2VzcyApCXsgcmV0dXJuIHN1Y2Nlc3M7IH0NCi0JcGFyLT5jZW50ZXJfbWFzc195ID0gKGludClyZXR1cm5Eb3VibGU7CQkJCQkJLy8gcGl4ZWwJCQ0KLQkNCi0JLyogcGFydGljbGUgc2l6ZSBzdGF0aXN0aWNzICovIA0KLQlzdWNjZXNzID0gaW1hcU1lYXN1cmVQYXJ0aWNsZShpbWFnZSwgcGFydGljbGVOdW1iZXIsIDAsIElNQVFfTVRfQVJFQSwgJnJldHVybkRvdWJsZSk7CQ0KLQlpZiAoICFzdWNjZXNzICkJeyByZXR1cm4gc3VjY2VzczsgfQ0KLQlwYXItPnBhcnRpY2xlQXJlYSA9IHJldHVybkRvdWJsZTsJDQotCQ0KLQlzdWNjZXNzID0gaW1hcU1lYXN1cmVQYXJ0aWNsZShpbWFnZSwgcGFydGljbGVOdW1iZXIsIDAsIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9UT1AsICZyZXR1cm5Eb3VibGUpOwkNCi0JaWYgKCAhc3VjY2VzcyApCXsgcmV0dXJuIHN1Y2Nlc3M7IH0NCi0JcGFyLT5ib3VuZGluZ1JlY3QudG9wID0gKGludClyZXR1cm5Eb3VibGU7DQotCQ0KLQlzdWNjZXNzID0gaW1hcU1lYXN1cmVQYXJ0aWNsZShpbWFnZSwgcGFydGljbGVOdW1iZXIsIDAsIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9MRUZULCAmcmV0dXJuRG91YmxlKTsJDQotCWlmICggIXN1Y2Nlc3MgKQl7IHJldHVybiBzdWNjZXNzOyB9DQotCXBhci0+Ym91bmRpbmdSZWN0LmxlZnQgPSAoaW50KXJldHVybkRvdWJsZTsNCi0JDQotCXN1Y2Nlc3MgPSBpbWFxTWVhc3VyZVBhcnRpY2xlKGltYWdlLCBwYXJ0aWNsZU51bWJlciwgMCwgSU1BUV9NVF9CT1VORElOR19SRUNUX0hFSUdIVCwgJnJldHVybkRvdWJsZSk7CQ0KLQlpZiAoICFzdWNjZXNzICkJeyByZXR1cm4gc3VjY2VzczsgfQ0KLQlwYXItPmJvdW5kaW5nUmVjdC5oZWlnaHQgPSAoaW50KXJldHVybkRvdWJsZTsJDQotDQotCXN1Y2Nlc3MgPSBpbWFxTWVhc3VyZVBhcnRpY2xlKGltYWdlLCBwYXJ0aWNsZU51bWJlciwgMCwgSU1BUV9NVF9CT1VORElOR19SRUNUX1dJRFRILCAmcmV0dXJuRG91YmxlKTsJDQotCWlmICggIXN1Y2Nlc3MgKQl7IHJldHVybiBzdWNjZXNzOyB9DQotCXBhci0+Ym91bmRpbmdSZWN0LndpZHRoID0gKGludClyZXR1cm5Eb3VibGU7CQ0KLQkNCi0JLyogcGFydGljbGUgcXVhbGl0eSBzdGF0aXN0aWNzICovIA0KLQlzdWNjZXNzID0gaW1hcU1lYXN1cmVQYXJ0aWNsZShpbWFnZSwgcGFydGljbGVOdW1iZXIsIDAsIElNQVFfTVRfQVJFQV9CWV9JTUFHRV9BUkVBLCAmcmV0dXJuRG91YmxlKTsJDQotCWlmICggIXN1Y2Nlc3MgKQl7IHJldHVybiBzdWNjZXNzOyB9DQotCXBhci0+cGFydGljbGVUb0ltYWdlUGVyY2VudCA9IHJldHVybkRvdWJsZTsNCi0NCi0Jc3VjY2VzcyA9IGltYXFNZWFzdXJlUGFydGljbGUoaW1hZ2UsIHBhcnRpY2xlTnVtYmVyLCAwLCBJTUFRX01UX0FSRUFfQllfUEFSVElDTEVfQU5EX0hPTEVTX0FSRUEsICZyZXR1cm5Eb3VibGUpOwkNCi0JaWYgKCAhc3VjY2VzcyApCXsgcmV0dXJuIHN1Y2Nlc3M7IH0NCi0JcGFyLT5wYXJ0aWNsZVF1YWxpdHkgPSByZXR1cm5Eb3VibGU7DQotCQkNCi0JLyogbm9ybWFsaXplZCBwb3NpdGlvbiAoLTEgdG8gMSkgKi8NCi0JcGFyLT5jZW50ZXJfbWFzc194X25vcm1hbGl6ZWQgPSBSYW5nZVRvTm9ybWFsaXplZChwYXItPmNlbnRlcl9tYXNzX3gsIHdpZHRoKTsNCi0JcGFyLT5jZW50ZXJfbWFzc195X25vcm1hbGl6ZWQgPSBSYW5nZVRvTm9ybWFsaXplZChwYXItPmNlbnRlcl9tYXNzX3ksIGhlaWdodCk7CQ0KLQkNCi0JcmV0dXJuIHN1Y2Nlc3M7DQotfQ0KLQ0KLQ0KLS8qICAgSW1hZ2UgRW5oYW5jZW1lbnQgZnVuY3Rpb25zICovDQotDQotLyoqDQotKiBAYnJpZWYgSW1wcm92ZXMgY29udHJhc3Qgb24gYSBncmF5c2NhbGUgaW1hZ2UuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9VOCwgSU1BUV9JTUFHRV9JMTYuDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBpbWFnZSB0byBlcXVhbGl6ZSANCi0qIEBwYXJhbSBtaW4gdGhlIHNtYWxsZXN0IHZhbHVlIHVzZWQgZm9yIHByb2Nlc3NpbmcuIEFmdGVyIHByb2Nlc3NpbmcsIGFsbCBwaXhlbCB2YWx1ZXMgdGhhdCBhcmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBNaW5pbXVtIGluIHRoZSBvcmlnaW5hbCBpbWFnZSBhcmUgc2V0IHRvIDAgZm9yIGFuIDgtYml0IGltYWdlLiBJbiAxNi1iaXQgYW5kIGZsb2F0aW5nLXBvaW50IGltYWdlcywgdGhlc2UgcGl4ZWwgdmFsdWVzIGFyZSBzZXQgdG8gdGhlIHNtYWxsZXN0IHBpeGVsIHZhbHVlIGZvdW5kIGluIHRoZSBvcmlnaW5hbCBpbWFnZS4gDQotKiBAcGFyYW0gbWF4IHRoZSBsYXJnZXN0IHZhbHVlIHVzZWQgZm9yIHByb2Nlc3NpbmcuIEFmdGVyIHByb2Nlc3NpbmcsIGFsbCBwaXhlbCB2YWx1ZXMgdGhhdCBhcmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBNYXhpbXVtIGluIHRoZSBvcmlnaW5hbCBpbWFnZSBhcmUgc2V0IHRvIDI1NSBmb3IgYW4gOC1iaXQgaW1hZ2UuIEluIDE2LWJpdCBhbmQgZmxvYXRpbmctcG9pbnQgaW1hZ2VzLCB0aGVzZSBwaXhlbCB2YWx1ZXMgYXJlIHNldCB0byB0aGUgbGFyZ2VzdCBwaXhlbCB2YWx1ZSBmb3VuZCBpbiB0aGUgb3JpZ2luYWwgaW1hZ2UuIA0KLSogQHBhcmFtIG1hc2sgYW4gOC1iaXQgaW1hZ2UgdGhhdCBzcGVjaWZpZXMgdGhlIHJlZ2lvbiBvZiB0aGUgc21hbGwgaW1hZ2UgdGhhdCB3aWxsIGJlIGNvcGllZC4gT25seSB0aG9zZSBwaXhlbHMgaW4gdGhlIEltYWdlIFNyYyAoU21hbGwpIGltYWdlIHRoYXQgY29ycmVzcG9uZCB0byBhbiBlcXVpdmFsZW50IG5vbi16ZXJvIHBpeGVsIGluIHRoZSBtYXNrIGltYWdlIGFyZSBjb3BpZWQuIEFsbCBvdGhlciBwaXhlbHMga2VlcCB0aGVpciBvcmlnaW5hbCB2YWx1ZXMuIFRoZSBlbnRpcmUgaW1hZ2UgaXMgcHJvY2Vzc2VkIGlmIEltYWdlIE1hc2sgaXMgTlVMTCBvciB0aGlzIHBhcmFtZXRlciBpcyBvbWl0dGVkLg0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKg0KLSogIG9wdGlvbiBkZWZhdWx0czoNCi0qICAgICAgIHNlYXJjaFJlY3QgPSBJTUFRX05PX1JFQ1QNCi0qIAkJbWluTWF0Y2hTY29yZSA9IERFRkFVTFRfTUlOTUFYX1NDT1JFICg4MDApICANCi0qLw0KLWludCBmcmNFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgZmxvYXQgbWluLCBmbG9hdCBtYXgpDQotewlyZXR1cm4gZnJjRXF1YWxpemUoZGVzdCwgc291cmNlLCBtaW4sIG1heCwgTlVMTCk7ICB9DQotDQotaW50IGZyY0VxdWFsaXplKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBmbG9hdCBtaW4sIGZsb2F0IG1heCwgY29uc3QgSW1hZ2UqIG1hc2spDQotew0KLQlyZXR1cm4gaW1hcUVxdWFsaXplKGRlc3QsIHNvdXJjZSwgbWluLCBtYXgsIG1hc2spOw0KLX0NCi0NCi0vKioNCi0qIEBicmllZiBJbXByb3ZlcyBjb250cmFzdCBvbiBhIGNvbG9yIGltYWdlLiANCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfUkdCLCBJTUFRX0lNQUdFX0hTTA0KLSogDQotKiBvcHRpb24gZGVmYXVsdHM6IGNvbG9yRXF1YWxpemF0aW9uID0gVFJVRSB0byBlcXVhbGl6ZSBhbGwgdGhyZWUgcGxhbmVzIG9mIHRoZSBpbWFnZSAgICAgICAgIA0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuICAgIA0KLSogQHBhcmFtIGRlc3QgVGhlIGRlc3RpbmF0aW9uIGltYWdlLg0KLSogQHBhcmFtIHNvdXJjZSBUaGUgaW1hZ2UgdG8gZXF1YWxpemUgDQotKiBAcGFyYW0gY29sb3JFcXVhbGl6YXRpb24gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gZXF1YWxpemUgYWxsIHRocmVlIHBsYW5lcyBvZiB0aGUgaW1hZ2UgKHRoZSBkZWZhdWx0KS4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIEZBTFNFIHRvIGVxdWFsaXplIG9ubHkgdGhlIGx1bWluYW5jZSBwbGFuZS4NCi0qLw0KLWludCBmcmNDb2xvckVxdWFsaXplKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlKQ0KLXsNCi0JcmV0dXJuIGltYXFDb2xvckVxdWFsaXplKGRlc3QsIHNvdXJjZSwgVFJVRSk7DQotfQ0KLQ0KLWludCBmcmNDb2xvckVxdWFsaXplKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBpbnQgY29sb3JFcXVhbGl6YXRpb24pDQotew0KLQlyZXR1cm4gaW1hcUNvbG9yRXF1YWxpemUoZGVzdCwgc291cmNlLCBUUlVFKTsNCi19DQotDQotLyogICBJbWFnZSBDb252ZXJzaW9uIGZ1bmN0aW9ucyAqLw0KLQ0KLS8qKg0KLSogQGJyaWVmIEF1dG9tYXRpY2FsbHkgdGhyZXNob2xkcyBhIGdyYXlzY2FsZSBpbWFnZSBpbnRvIGEgYmluYXJ5IGltYWdlIGZvciBQYXJ0aWNsZSBBbmFseXNpcyBiYXNlZCBvbiBhIHNtYXJ0IHRocmVzaG9sZC4gDQotKiBTdXBwb3J0cyBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9JMTYNCi0qIEBwYXJhbSBkZXN0IFRoZSBkZXN0aW5hdGlvbiBpbWFnZS4NCi0qIEBwYXJhbSBzb3VyY2UgVGhlIGltYWdlIHRvIHRocmVzaG9sZCANCi0qIEBwYXJhbSB3aW5kb3dXaWR0aCBUaGUgd2lkdGggb2YgdGhlIHJlY3Rhbmd1bGFyIHdpbmRvdyBhcm91bmQgdGhlIHBpeGVsIG9uIHdoaWNoIHRoZSBmdW5jdGlvbg0KLSogIHBlcmZvcm1zIHRoZSBsb2NhbCB0aHJlc2hvbGQuIFRoaXMgbnVtYmVyIG11c3QgYmUgYXQgbGVhc3QgMyBhbmQgY2Fubm90IGJlIGxhcmdlciB0aGFuIHRoZSB3aWR0aCBvZiBzb3VyY2UNCi0qIEBwYXJhbSB3aW5kb3dIZWlnaHQgVGhlIGhlaWdodCBvZiB0aGUgcmVjdGFuZ3VsYXIgd2luZG93IGFyb3VuZCB0aGUgcGl4ZWwgb24gd2hpY2ggdGhlIGZ1bmN0aW9uIA0KLSogcGVyZm9ybXMgdGhlIGxvY2FsIHRocmVzaG9sZC4gVGhpcyBudW1iZXIgbXVzdCBiZSBhdCBsZWFzdCAzIGFuZCBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gdGhlIGhlaWdodCBvZiBzb3VyY2UNCi0qIEBwYXJhbSBtZXRob2QgU3BlY2lmaWVzIHRoZSBsb2NhbCB0aHJlc2hvbGRpbmcgbWV0aG9kIHRoZSBmdW5jdGlvbiB1c2VzLiBWYWx1ZSBjYW4gYmUgSU1BUV9OSUJMQUNLIA0KLSogKHdoaWNoIGNvbXB1dGVzIHRocmVzaG9sZHMgZm9yIGVhY2ggcGl4ZWwgYmFzZWQgb24gaXRzIGxvY2FsIHN0YXRpc3RpY3MgdXNpbmcgdGhlIE5pYmxhY2sgbG9jYWwgdGhyZXNob2xkaW5nDQotKiBhbGdvcml0aG0uKSwgb3IgSU1BUV9CQUNLR1JPVU5EX0NPUlJFQ1RJT04gKHdoaWNoIGRvZXMgYmFja2dyb3VuZCBjb3JyZWN0aW9uIGZpcnN0IHRvIGVsaW1pbmF0ZSBub24tdW5pZm9ybSANCi0qIGxpZ2h0aW5nIGVmZmVjdHMsIHRoZW4gcGVyZm9ybXMgdGhyZXNob2xkaW5nIHVzaW5nIHRoZSBPdHN1IHRocmVzaG9sZGluZyBhbGdvcml0aG0pDQotKiBAcGFyYW0gZGV2aWF0aW9uV2VpZ2h0IFNwZWNpZmllcyB0aGUgayBjb25zdGFudCB1c2VkIGluIHRoZSBOaWJsYWNrIGxvY2FsIHRocmVzaG9sZGluZyBhbGdvcml0aG0sIHdoaWNoIA0KLSogZGV0ZXJtaW5lcyB0aGUgd2VpZ2h0IGFwcGxpZWQgdG8gdGhlIHZhcmlhbmNlIGNhbGN1bGF0aW9uLiBWYWxpZCBrIGNvbnN0YW50cyByYW5nZSBmcm9tIDAgdG8gMS4gU2V0dGluZyANCi0qIHRoaXMgdmFsdWUgdG8gMCB3aWxsIGluY3JlYXNlIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgZnVuY3Rpb24gYmVjYXVzZSB0aGUgZnVuY3Rpb24gd2lsbCBub3QgY2FsY3VsYXRlIHRoZSANCi0qIHZhcmlhbmNlIGZvciBhbnkgb2YgdGhlIHBpeGVscy4gVGhlIGZ1bmN0aW9uIGlnbm9yZXMgdGhpcyB2YWx1ZSBpZiBtZXRob2QgaXMgbm90IHNldCB0byBJTUFRX05JQkxBQ0sNCi0qIEBwYXJhbSB0eXBlIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBvYmplY3RzIGZvciB3aGljaCB5b3Ugd2FudCB0byBsb29rLiBWYWx1ZXMgY2FuIGJlIElNQVFfQlJJR0hUX09CSkVDVFMgDQotKiBvciBJTUFRX0RBUktfT0JKRUNUUy4NCi0qIEBwYXJhbSByZXBsYWNlVmFsdWUgU3BlY2lmaWVzIHRoZSByZXBsYWNlbWVudCB2YWx1ZSB0aGUgZnVuY3Rpb24gdXNlcyBmb3IgdGhlIHBpeGVscyBvZiB0aGUga2VwdCBvYmplY3RzIA0KLSogaW4gdGhlIGRlc3RpbmF0aW9uIGltYWdlLg0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjU21hcnRUaHJlc2hvbGQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIA0KLQkJdW5zaWduZWQgaW50IHdpbmRvd1dpZHRoLCB1bnNpZ25lZCBpbnQgd2luZG93SGVpZ2h0LCBMb2NhbFRocmVzaG9sZE1ldGhvZCBtZXRob2QsIA0KLQkJZG91YmxlIGRldmlhdGlvbldlaWdodCwgT2JqZWN0VHlwZSB0eXBlKQ0KLXsNCi0JZmxvYXQgcmVwbGFjZVZhbHVlID0gMS4wOw0KLQlyZXR1cm4gaW1hcUxvY2FsVGhyZXNob2xkKGRlc3QsIHNvdXJjZSwgd2luZG93V2lkdGgsIHdpbmRvd0hlaWdodCwgbWV0aG9kLCANCi0JCQlkZXZpYXRpb25XZWlnaHQsIHR5cGUsIHJlcGxhY2VWYWx1ZSk7DQotfQ0KLQ0KLWludCBmcmNTbWFydFRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgDQotCQl1bnNpZ25lZCBpbnQgd2luZG93V2lkdGgsIHVuc2lnbmVkIGludCB3aW5kb3dIZWlnaHQsIExvY2FsVGhyZXNob2xkTWV0aG9kIG1ldGhvZCwgDQotCQlkb3VibGUgZGV2aWF0aW9uV2VpZ2h0LCBPYmplY3RUeXBlIHR5cGUsIGZsb2F0IHJlcGxhY2VWYWx1ZSkNCi17DQotCXJldHVybiBpbWFxTG9jYWxUaHJlc2hvbGQoZGVzdCwgc291cmNlLCB3aW5kb3dXaWR0aCwgd2luZG93SGVpZ2h0LCBtZXRob2QsIA0KLQkJCWRldmlhdGlvbldlaWdodCwgdHlwZSwgcmVwbGFjZVZhbHVlKTsNCi19DQotDQotLyoqDQotKiBAYnJpZWYgQ29udmVydHMgYSBncmF5c2NhbGUgaW1hZ2UgdG8gYSBiaW5hcnkgaW1hZ2UgZm9yIFBhcnRpY2xlIEFuYWx5c2lzIGJhc2VkIG9uIGEgZml4ZWQgdGhyZXNob2xkLiANCi0qIFRoZSBmdW5jdGlvbiBzZXRzIHBpeGVscyB2YWx1ZXMgb3V0c2lkZSBvZiB0aGUgZ2l2ZW4gcmFuZ2UgdG8gMC4gVGhlIGZ1bmN0aW9uIHNldHMgcGl4ZWwgdmFsdWVzIA0KLSogd2l0aGluIHRoZSByYW5nZSB0byBhIGdpdmVuIHZhbHVlIG9yIGxlYXZlcyB0aGUgdmFsdWVzIHVuY2hhbmdlZC4gDQotKiBVc2UgdGhlIHNpbXBsaWZpZWQgY2FsbCB0byBsZWF2ZSBwaXhlbCB2YWx1ZXMgdW5jaGFuZ2VkLg0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSTE2Lg0KLSogDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBpbWFnZSB0byB0aHJlc2hvbGQgDQotKiBAcGFyYW0gcmFuZ2VNaW4gVGhlIGxvd2VyIGJvdW5kYXJ5IG9mIHRoZSByYW5nZSBvZiBwaXhlbCB2YWx1ZXMgdG8ga2VlcA0KLSogQHBhcmFtIHJhbmdlTWF4IFRoZSB1cHBlciBib3VuZGFyeSBvZiB0aGUgcmFuZ2Ugb2YgcGl4ZWwgdmFsdWVzIHRvIGtlZXAuDQotKiANCi0qIEByZXR1cm4gaW50IC0gZXJyb3IgY29kZTogMCA9IGVycm9yLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjU2ltcGxlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBmbG9hdCByYW5nZU1pbiwgZmxvYXQgcmFuZ2VNYXgpDQotew0KLQlpbnQgbmV3VmFsdWUgPSAyNTU7DQotCXJldHVybiBmcmNTaW1wbGVUaHJlc2hvbGQoZGVzdCwgc291cmNlLCByYW5nZU1pbiwgcmFuZ2VNYXgsIG5ld1ZhbHVlKTsNCi19DQotDQotLyoqDQotKiBAYnJpZWYgQ29udmVydHMgYSBncmF5c2NhbGUgaW1hZ2UgdG8gYSBiaW5hcnkgaW1hZ2UgZm9yIFBhcnRpY2xlIEFuYWx5c2lzIGJhc2VkIG9uIGEgZml4ZWQgdGhyZXNob2xkLiANCi0qIFRoZSBmdW5jdGlvbiBzZXRzIHBpeGVscyB2YWx1ZXMgb3V0c2lkZSBvZiB0aGUgZ2l2ZW4gcmFuZ2UgdG8gMC4gVGhlIGZ1bmN0aW9uIHNldHMgDQotKiBwaXhlbCB2YWx1ZXMgd2l0aGluIHRoZSByYW5nZSB0byB0aGUgZ2l2ZW4gdmFsdWUuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSTE2Lg0KLSogDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBpbWFnZSB0byB0aHJlc2hvbGQgDQotKiBAcGFyYW0gcmFuZ2VNaW4gVGhlIGxvd2VyIGJvdW5kYXJ5IG9mIHRoZSByYW5nZSBvZiBwaXhlbCB2YWx1ZXMgdG8ga2VlcA0KLSogQHBhcmFtIHJhbmdlTWF4IFRoZSB1cHBlciBib3VuZGFyeSBvZiB0aGUgcmFuZ2Ugb2YgcGl4ZWwgdmFsdWVzIHRvIGtlZXAuDQotKiBAcGFyYW0gbmV3VmFsdWUgVGhlIHJlcGxhY2VtZW50IHZhbHVlIGZvciBwaXhlbHMgd2l0aGluIHRoZSByYW5nZS4gVXNlIHRoZSBzaW1wbGlmaWVkIGNhbGwgdG8gbGVhdmUgdGhlIHBpeGVsIHZhbHVlcyB1bmNoYW5nZWQgDQotKiANCi0qIEByZXR1cm4gaW50IC0gZXJyb3IgY29kZTogMCA9IGVycm9yLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjU2ltcGxlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBmbG9hdCByYW5nZU1pbiwgZmxvYXQgcmFuZ2VNYXgsIGZsb2F0IG5ld1ZhbHVlKQ0KLXsNCi0JaW50IHVzZU5ld1ZhbHVlID0gVFJVRTsNCi0JcmV0dXJuIGltYXFUaHJlc2hvbGQoZGVzdCwgc291cmNlLCByYW5nZU1pbiwgcmFuZ2VNYXgsIHVzZU5ld1ZhbHVlLCBuZXdWYWx1ZSk7DQotfQ0KLQ0KLS8qKg0KLSogQGJyaWVmIEFwcGxpZXMgYSB0aHJlc2hvbGQgdG8gdGhlIFJlZCwgR3JlZW4sIGFuZCBCbHVlIHZhbHVlcyBvZiBhIFJHQiBpbWFnZSBvciB0aGUgSHVlLCANCi0qIFNhdHVyYXRpb24sIEx1bWluYW5jZSB2YWx1ZXMgZm9yIGEgSFNMIGltYWdlLiANCi0qIFN1cHBvcnRzIElNQVFfSU1BR0VfUkdCLCBJTUFRX0lNQUdFX0hTTC4NCi0qIFRoaXMgc2ltcGxlciB2ZXJzaW9uIGZpbHRlcnMgYmFzZWQgb24gYSBodWUgcmFuZ2UgaW4gdGhlIEhTTCBtb2RlLg0KLSogDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuIFRoaXMgbXVzdCBiZSBhIElNQVFfSU1BR0VfVTggaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBpbWFnZSB0byB0aHJlc2hvbGQgDQotKiBAcGFyYW0gbW9kZSBUaGUgY29sb3Igc3BhY2UgdG8gcGVyZm9ybSB0aGUgdGhyZXNob2xkIGluLiB2YWxpZCB2YWx1ZXMgYXJlOiBJTUFRX1JHQiwgSU1BUV9IU0wuDQotKiBAcGFyYW0gcGxhbmUxUmFuZ2UgVGhlIHNlbGVjdGlvbiByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lIG9mIHRoZSBpbWFnZS4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIE5VTEwgdG8gdXNlIGEgc2VsZWN0aW9uIHJhbmdlIGZyb20gMCB0byAyNTUuDQotKiBAcGFyYW0gcGxhbmUyUmFuZ2UgVGhlIHNlbGVjdGlvbiByYW5nZSBmb3IgdGhlIHNlY29uZCBwbGFuZSBvZiB0aGUgaW1hZ2UuIFNldCB0aGlzIHBhcmFtZXRlciB0byBOVUxMIHRvIHVzZSBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSogQHBhcmFtIHBsYW5lM1JhbmdlIFRoZSBzZWxlY3Rpb24gcmFuZ2UgZm9yIHRoZSB0aGlyZCBwbGFuZSBvZiB0aGUgaW1hZ2UuIFNldCB0aGlzIHBhcmFtZXRlciB0byBOVUxMIHRvIHVzZSBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSogDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qICovDQotaW50IGZyY0NvbG9yVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBDb2xvck1vZGUgbW9kZSwgDQotCQljb25zdCBSYW5nZSogcGxhbmUxUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTJSYW5nZSwgY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlKQ0KLXsNCi0JaW50IHJlcGxhY2VWYWx1ZSA9IDE7DQotCXJldHVybiBpbWFxQ29sb3JUaHJlc2hvbGQoZGVzdCwgc291cmNlLCByZXBsYWNlVmFsdWUsIG1vZGUsIHBsYW5lMVJhbmdlLCBwbGFuZTJSYW5nZSwgcGxhbmUzUmFuZ2UpOw0KLX0NCi0NCi0vKioNCi0qIEBicmllZiBBcHBsaWVzIGEgdGhyZXNob2xkIHRvIHRoZSBSZWQsIEdyZWVuLCBhbmQgQmx1ZSB2YWx1ZXMgb2YgYSBSR0IgaW1hZ2Ugb3IgdGhlIEh1ZSwgDQotKiBTYXR1cmF0aW9uLCBMdW1pbmFuY2UgdmFsdWVzIGZvciBhIEhTTCBpbWFnZS4gDQotKiBTdXBwb3J0cyBJTUFRX0lNQUdFX1JHQiwgSU1BUV9JTUFHRV9IU0wuDQotKiBUaGUgc2ltcGxlciB2ZXJzaW9uIGZpbHRlcnMgYmFzZWQgb24gYSBodWUgcmFuZ2UgaW4gdGhlIEhTTCBtb2RlLg0KLSogDQotKiBAcGFyYW0gZGVzdCBUaGUgZGVzdGluYXRpb24gaW1hZ2UuIFRoaXMgbXVzdCBiZSBhIElNQVFfSU1BR0VfVTggaW1hZ2UuDQotKiBAcGFyYW0gc291cmNlIFRoZSBpbWFnZSB0byB0aHJlc2hvbGQgDQotKiBAcGFyYW0gcmVwbGFjZVZhbHVlIFZhbHVlIHRvIGFzc2lnbiB0byBzZWxlY3RlZCBwaXhlbHMuIERlZmF1bHRzIHRvIDEgaWYgc2ltcGxpZmllZCBjYWxsIGlzIHVzZWQuDQotKiBAcGFyYW0gbW9kZSBUaGUgY29sb3Igc3BhY2UgdG8gcGVyZm9ybSB0aGUgdGhyZXNob2xkIGluLiB2YWxpZCB2YWx1ZXMgYXJlOiBJTUFRX1JHQiwgSU1BUV9IU0wuDQotKiBAcGFyYW0gcGxhbmUxUmFuZ2UgVGhlIHNlbGVjdGlvbiByYW5nZSBmb3IgdGhlIGZpcnN0IHBsYW5lIG9mIHRoZSBpbWFnZS4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIE5VTEwgdG8gdXNlIGEgc2VsZWN0aW9uIHJhbmdlIGZyb20gMCB0byAyNTUuDQotKiBAcGFyYW0gcGxhbmUyUmFuZ2UgVGhlIHNlbGVjdGlvbiByYW5nZSBmb3IgdGhlIHNlY29uZCBwbGFuZSBvZiB0aGUgaW1hZ2UuIFNldCB0aGlzIHBhcmFtZXRlciB0byBOVUxMIHRvIHVzZSBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSogQHBhcmFtIHBsYW5lM1JhbmdlIFRoZSBzZWxlY3Rpb24gcmFuZ2UgZm9yIHRoZSB0aGlyZCBwbGFuZSBvZiB0aGUgaW1hZ2UuIFNldCB0aGlzIHBhcmFtZXRlciB0byBOVUxMIHRvIHVzZSBhIHNlbGVjdGlvbiByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSogDQotKiBAcmV0dXJuIE9uIHN1Y2Nlc3M6IDEuIE9uIGZhaWx1cmU6IDAuIFRvIGdldCBleHRlbmRlZCBlcnJvciBpbmZvcm1hdGlvbiwgY2FsbCBHZXRMYXN0RXJyb3IoKS4NCi0qLw0KLWludCBmcmNDb2xvclRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgaW50IHJlcGxhY2VWYWx1ZSwgQ29sb3JNb2RlIG1vZGUsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTNSYW5nZSkNCi17CXJldHVybiBpbWFxQ29sb3JUaHJlc2hvbGQoZGVzdCwgc291cmNlLCByZXBsYWNlVmFsdWUsIG1vZGUsIHBsYW5lMVJhbmdlLCBwbGFuZTJSYW5nZSwgcGxhbmUzUmFuZ2UpO30NCi0NCi0NCi0vKioNCi0qIEBicmllZiBBIHNpbXBsZXIgdmVyc2lvbiBvZiBDb2xvclRocmVzaG9sZCB0aGF0IHRocmVzaG9sZHMgaHVlIHJhbmdlIGluIHRoZSBIU0wgbW9kZS4gU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSFNMLg0KLSogQHBhcmFtIGRlc3QgVGhlIGRlc3RpbmF0aW9uIGltYWdlLg0KLSogQHBhcmFtIHNvdXJjZSBUaGUgaW1hZ2UgdG8gdGhyZXNob2xkIA0KLSogQHBhcmFtIGh1ZVJhbmdlIFRoZSBzZWxlY3Rpb24gcmFuZ2UgZm9yIHRoZSBodWUgKGNvbG9yKS4gDQotKiBAcGFyYW0gbWluU2F0dXJhdGlvbiBUaGUgbWluaW11bSBzYXR1cmF0aW9uIHZhbHVlICgxLTI1NSkuICBJZiBub3QgdXNlZCwgREVGQVVMVF9TQVRVUkFUSU9OX1RIUkVTSE9MRCBpcyB0aGUgZGVmYXVsdC4NCi0qIA0KLSogQHJldHVybiBPbiBzdWNjZXNzOiAxLiBPbiBmYWlsdXJlOiAwLiBUbyBnZXQgZXh0ZW5kZWQgZXJyb3IgaW5mb3JtYXRpb24sIGNhbGwgR2V0TGFzdEVycm9yKCkuDQotKi8NCi1pbnQgZnJjSHVlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBSYW5nZSogaHVlUmFuZ2UpDQoteyByZXR1cm4gZnJjSHVlVGhyZXNob2xkKGRlc3QsIHNvdXJjZSwgaHVlUmFuZ2UsIERFRkFVTFRfU0FUVVJBVElPTl9USFJFU0hPTEQpOyB9DQotDQotaW50IGZyY0h1ZVRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgY29uc3QgUmFuZ2UqIGh1ZVJhbmdlLCBpbnQgbWluU2F0dXJhdGlvbikNCi17DQotCS8vIGFzc3VtZSBIU0wgbW9kZQ0KLQlDb2xvck1vZGUgbW9kZSA9IElNQVFfSFNMOyAgDQotCS8vIFNldCBzYXR1cmF0aW9uIDEwMCAtIDI1NQ0KLQlSYW5nZSBzYXRSYW5nZTsgIHNhdFJhbmdlLm1pblZhbHVlID0gbWluU2F0dXJhdGlvbjsgc2F0UmFuZ2UubWF4VmFsdWUgPSAyNTU7DQotCS8vIFNldCBsdW1pbmFuY2UgMTAwIC0gMjU1DQotCVJhbmdlIGx1bVJhbmdlOyAgbHVtUmFuZ2UubWluVmFsdWUgPSAxMDA7IGx1bVJhbmdlLm1heFZhbHVlID0gMjU1Ow0KLQkvLyBSZXBsYWNlIHBpeGVscyB3aXRoIDEgaWYgcGFzcyB0aHJlc2hvbGQgZmlsdGVyDQotCWludCByZXBsYWNlVmFsdWUgPSAxOw0KLQlyZXR1cm4gaW1hcUNvbG9yVGhyZXNob2xkKGRlc3QsIHNvdXJjZSwgcmVwbGFjZVZhbHVlLCBtb2RlLCBodWVSYW5nZSwgJnNhdFJhbmdlLCAmbHVtUmFuZ2UpOw0KLX0NCi0NCi0vKioNCi0qIEBicmllZiBFeHRyYWN0cyB0aGUgUmVkLCBHcmVlbiwgQmx1ZSwgb3IgSHVlLCBTYXR1cmF0aW9uIG9yIEx1bWluYW5jZSBpbmZvcm1hdGlvbiBmcm9tIGEgY29sb3IgaW1hZ2UuIA0KLSogU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSFNMLCBJTUFRX0lNQUdFX1JHQl9VNjQuDQotKiANCi0qIEBwYXJhbSBpbWFnZSBUaGUgc291cmNlIGltYWdlIHRoYXQgdGhlIGZ1bmN0aW9uIGV4dHJhY3RzIHRoZSBwbGFuZXMgZnJvbS4NCi0qIEBwYXJhbSBtb2RlIFRoZSBjb2xvciBzcGFjZSB0aGF0IHRoZSBmdW5jdGlvbiBleHRyYWN0cyB0aGUgcGxhbmVzIGZyb20uIFZhbGlkIHZhbHVlcyBhcmUgSU1BUV9SR0IsIElNQVFfSFNMLCBJTUFRX0hTViwgSU1BUV9IU0kuDQotKiBAcGFyYW0gcGxhbmUxIE9uIHJldHVybiwgdGhlIGZpcnN0IGV4dHJhY3RlZCBwbGFuZS4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIE5VTEwgaWYgeW91IGRvIG5vdCBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFJHQi1SZWQsIEhTTC9IU1YvSFNJLUh1ZS4NCi0qIEBwYXJhbSBwbGFuZTIgT24gcmV0dXJuLCB0aGUgc2Vjb25kIGV4dHJhY3RlZCBwbGFuZS4gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIE5VTEwgaWYgeW91IGRvIG5vdCBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFJHQi1HcmVlbiwgSFNML0hTVi9IU0ktU2F0dXJhdGlvbi4NCi0qIEBwYXJhbSBwbGFuZTMgT24gcmV0dXJuLCB0aGUgdGhpcmQgZXh0cmFjdGVkIHBsYW5lLiBTZXQgdGhpcyBwYXJhbWV0ZXIgdG8gTlVMTCBpZiB5b3UgZG8gbm90IG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gUkdCLUJsdWUsIEhTTC1MdW1pbmFuY2UsIEhTVi1WYWx1ZSwgSFNJLUludGVuc2l0eS4NCi0qDQotKiBAcmV0dXJuIGVycm9yIGNvZGU6IDAgPSBlcnJvci4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLg0KLSovDQotaW50IGZyY0V4dHJhY3RDb2xvclBsYW5lcyhjb25zdCBJbWFnZSogaW1hZ2UsIENvbG9yTW9kZSBtb2RlLCANCi0JCUltYWdlKiBwbGFuZTEsIEltYWdlKiBwbGFuZTIsIEltYWdlKiBwbGFuZTMpDQotewlyZXR1cm4gaW1hcUV4dHJhY3RDb2xvclBsYW5lcyhpbWFnZSwgbW9kZSwgcGxhbmUxLCBwbGFuZTIsIHBsYW5lMyk7IH0NCi0NCi0vKioNCi0qIEBicmllZiBFeHRyYWN0cyB0aGUgSHVlIGluZm9ybWF0aW9uIGZyb20gYSBjb2xvciBpbWFnZS4gU3VwcG9ydHMgSU1BUV9JTUFHRV9SR0IsIElNQVFfSU1BR0VfSFNMLCBJTUFRX0lNQUdFX1JHQl9VNjQgDQotKiANCi0qIEBwYXJhbSBpbWFnZSBUaGUgc291cmNlIGltYWdlIHRoYXQgdGhlIGZ1bmN0aW9uIGV4dHJhY3RzIHRoZSBwbGFuZSBmcm9tLg0KLSogQHBhcmFtIGh1ZVBsYW5lIE9uIHJldHVybiwgdGhlIGV4dHJhY3RlZCBodWUgcGxhbmUuIA0KLSogQHBhcmFtIG1pblNhdHVyYXRpb24gdGhlIG1pbmltdW0gc2F0dXJhdGlvbiBsZXZlbCByZXF1aXJlZCAwLTI1NSAodHJ5IDUwKSAgDQotKiAgICAgICAgICANCi0qIEByZXR1cm4gT24gc3VjY2VzczogMS4gT24gZmFpbHVyZTogMC4gVG8gZ2V0IGV4dGVuZGVkIGVycm9yIGluZm9ybWF0aW9uLCBjYWxsIEdldExhc3RFcnJvcigpLiAgICAgDQotKi8NCi1pbnQgZnJjRXh0cmFjdEh1ZVBsYW5lKGNvbnN0IEltYWdlKiBpbWFnZSwgSW1hZ2UqIGh1ZVBsYW5lKQ0KLXsNCi0JcmV0dXJuIGZyY0V4dHJhY3RIdWVQbGFuZShpbWFnZSwgaHVlUGxhbmUsIERFRkFVTFRfU0FUVVJBVElPTl9USFJFU0hPTEQpOw0KLX0NCi0NCi1pbnQgZnJjRXh0cmFjdEh1ZVBsYW5lKGNvbnN0IEltYWdlKiBpbWFnZSwgSW1hZ2UqIGh1ZVBsYW5lLCBpbnQgbWluU2F0dXJhdGlvbikNCi17DQotCXJldHVybiBmcmNFeHRyYWN0Q29sb3JQbGFuZXMoaW1hZ2UsIElNQVFfSFNMLCBodWVQbGFuZSwgTlVMTCwgTlVMTCk7DQotfQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvVmlzaW9uQVBJLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9WaXNpb24yMDA5L1Zpc2lvbkFQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Yjk2MjhlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1Zpc2lvbjIwMDkvVmlzaW9uQVBJLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjMgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiAgUHJvamVjdCAgIAkJOiBGSVJTVCBNb3RvciBDb250cm9sbGVyDQotKiAgRmlsZSBOYW1lICAJCTogVmlzaW9uQVBJLmggICAgICAgICAgDQotKiAgQ29udHJpYnV0b3JzICAgCTogRUxGLCBKREcsIEFSSywgRU1GDQotKiAgQ3JlYXRpb24gRGF0ZSAJOiBKdW5lIDIyLCAyMDA4DQotKiAgUmV2aXNpb24gSGlzdG9yeQk6IFNvdXJjZSBjb2RlICYgcmV2aXNpb24gaGlzdG9yeSBtYWludGFpbmVkIGF0IHNvdXJjZWZvcmdlLldQSS5lZHUgICAgDQotKiAgRmlsZSBEZXNjcmlwdGlvbgk6IEdsb2JhbGx5IGRlZmluZWQgdmFsdWVzIGZvciB0aGUgRklSU1QgVmlzaW9uIEFQSQ0KLSogDQotKiAgQVBJOiBCZWNhdXNlIG5pdmlzaW9uLmggdXNlcyBDKysgc3R5bGUgY29tbWVudHMsIGFueSBmaWxlIGluY2x1ZGluZyB0aGlzDQotKiAgbXVzdCBiZSBhIC5jcHAgKG5vdCAuYykuDQotKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qICAgICAgICBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguICBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgICAgICovDQotLyogIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgKi8NCi0vKiAgbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1ZJU0lPTkFQSV9IX18NCi0jZGVmaW5lIF9fVklTSU9OQVBJX0hfXw0KLQ0KLSNpbmNsdWRlICJuaXZpc2lvbi5oIiANCi0NCi0vKiAgIENvbnN0YW50cyAqLw0KLQ0KLSNkZWZpbmUgREVGQVVMVF9CT1JERVJfU0laRQkJCQkzCQkvL1Zpc2lvbkFQSS5mcmNDcmVhdGVJbWFnZQ0KLSNkZWZpbmUgREVGQVVMVF9TQVRVUkFUSU9OX1RIUkVTSE9MRAk0MAkJLy9UcmFja0FQSS5GaW5kQ29sb3INCi0NCi0vKiAgIEZvcndhcmQgRGVjbGFyZSBEYXRhIFN0cnVjdHVyZXMgKi8NCi10eXBlZGVmIHN0cnVjdCBGaW5kRWRnZU9wdGlvbnNfc3RydWN0IEZpbmRFZGdlT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBDaXJjdWxhckVkZ2VSZXBvcnRfc3RydWN0IENpcmN1bGFyRWRnZVJlcG9ydDsNCi0NCi0vKiAgIERhdGEgU3RydWN0dXJlcyAqLw0KLQ0KLS8qKiAgZnJjUGFydGljbGVBbmFseXNpcyByZXR1cm5zIHRoaXMgc3RydWN0dXJlICovDQotdHlwZWRlZiBzdHJ1Y3QgUGFydGljbGVBbmFseXNpc1JlcG9ydF9zdHJ1Y3Qgew0KLQlpbnQgCWltYWdlSGVpZ2h0Ow0KLQlpbnQgCWltYWdlV2lkdGg7DQotCWRvdWJsZSAJaW1hZ2VUaW1lc3RhbXA7CQkJCQ0KLQlpbnQJCXBhcnRpY2xlSW5kZXg7CQkJCS8vIHRoZSBwYXJ0aWNsZSBpbmRleCBhbmFseXplZA0KLQkvKiBYLWNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHJlcHJlc2VudGluZyB0aGUgYXZlcmFnZSBwb3NpdGlvbiBvZiB0aGUgDQotCSAqIHRvdGFsIHBhcnRpY2xlIG1hc3MsIGFzc3VtaW5nIGV2ZXJ5IHBvaW50IGluIHRoZSBwYXJ0aWNsZSBoYXMgYSBjb25zdGFudCBkZW5zaXR5ICovDQotCWludCAJY2VudGVyX21hc3NfeDsgIAkJCS8vIE1lYXN1cmVtZW50VHlwZTogSU1BUV9NVF9DRU5URVJfT0ZfTUFTU19YIA0KLQkvKiBZLWNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHJlcHJlc2VudGluZyB0aGUgYXZlcmFnZSBwb3NpdGlvbiBvZiB0aGUgDQotCSAqIHRvdGFsIHBhcnRpY2xlIG1hc3MsIGFzc3VtaW5nIGV2ZXJ5IHBvaW50IGluIHRoZSBwYXJ0aWNsZSBoYXMgYSBjb25zdGFudCBkZW5zaXR5ICovDQotCWludCAJY2VudGVyX21hc3NfeTsgIAkJCS8vIE1lYXN1cmVtZW50VHlwZTogSU1BUV9NVF9DRU5URVJfT0ZfTUFTU19ZIA0KLQlkb3VibGUgCWNlbnRlcl9tYXNzX3hfbm9ybWFsaXplZDsgIAkvL0NlbnRlciBvZiBtYXNzIHggdmFsdWUgbm9ybWFsaXplZCB0byAtMS4wIHRvICsxLjAgcmFuZ2UNCi0JZG91YmxlIAljZW50ZXJfbWFzc195X25vcm1hbGl6ZWQ7ICAJLy9DZW50ZXIgb2YgbWFzcyB5IHZhbHVlIG5vcm1hbGl6ZWQgdG8gLTEuMCB0byArMS4wIHJhbmdlDQotCS8qIEFyZWEgb2YgdGhlIHBhcnRpY2xlICovDQotCWRvdWJsZSAJcGFydGljbGVBcmVhOwkJCQkvLyBNZWFzdXJlbWVudFR5cGU6IElNQVFfTVRfQVJFQQ0KLQkvKiBCb3VuZGluZyBSZWN0YW5nbGUgKi8NCi0JUmVjdCAJYm91bmRpbmdSZWN0OwkJCQkvLyBsZWZ0L3RvcC93aWR0aC9oZWlnaHQNCi0JLyogUGVyY2VudGFnZSBvZiB0aGUgcGFydGljbGUgQXJlYSBjb3ZlcmluZyB0aGUgSW1hZ2UgQXJlYS4gKi8NCi0JZG91YmxlIAlwYXJ0aWNsZVRvSW1hZ2VQZXJjZW50OwkJLy8gTWVhc3VyZW1lbnRUeXBlOiBJTUFRX01UX0FSRUFfQllfSU1BR0VfQVJFQQ0KLQkvKiBQZXJjZW50YWdlIG9mIHRoZSBwYXJ0aWNsZSBBcmVhIGluIHJlbGF0aW9uIHRvIGl0cyBQYXJ0aWNsZSBhbmQgSG9sZXMgQXJlYSAqLw0KLQlkb3VibGUgCXBhcnRpY2xlUXVhbGl0eTsJCQkvLyBNZWFzdXJlbWVudFR5cGU6IElNQVFfTVRfQVJFQV9CWV9QQVJUSUNMRV9BTkRfSE9MRVNfQVJFQQ0KLX0gUGFydGljbGVBbmFseXNpc1JlcG9ydDsNCi0NCi0vKiogVHJhY2tpbmcgZnVuY3Rpb25zIHJldHVybiB0aGlzIHN0cnVjdHVyZSAqLw0KLXR5cGVkZWYgc3RydWN0IENvbG9yUmVwb3J0X3N0cnVjdCB7DQotCWludAkJbnVtYmVyUGFydGljbGVzRm91bmQ7CQkJCS8vIE51bWJlciBvZiBwYXJ0aWNsZXMgZm91bmQgZm9yIHRoaXMgY29sb3INCi0JaW50IAlsYXJnZXN0UGFydGljbGVOdW1iZXI7CQkJCS8vIFRoZSBwYXJ0aWNsZSBpbmRleCBvZiB0aGUgbGFyZ2VzdCBwYXJ0aWNsZQ0KLQkvKiBDb2xvciBpbmZvcm1hdGlvbiAqLw0KLQlmbG9hdCAJcGFydGljbGVIdWVNYXg7CQkJCS8vIEhpc3RvZ3JhbVJlcG9ydDogaHVlIG1heA0KLQlmbG9hdCAJcGFydGljbGVIdWVNaW47CQkJCS8vIEhpc3RvZ3JhbVJlcG9ydDogaHVlIG1heA0KLQlmbG9hdCAJcGFydGljbGVIdWVNZWFuOwkJCS8vIEhpc3RvZ3JhbVJlcG9ydDogaHVlIG1lYW4NCi0JZmxvYXQgCXBhcnRpY2xlU2F0TWF4OwkJCQkvLyBIaXN0b2dyYW1SZXBvcnQ6IHNhdHVyYXRpb24gbWF4DQotCWZsb2F0IAlwYXJ0aWNsZVNhdE1pbjsJCQkJLy8gSGlzdG9ncmFtUmVwb3J0OiBzYXR1cmF0aW9uIG1heA0KLQlmbG9hdCAJcGFydGljbGVTYXRNZWFuOwkJCS8vIEhpc3RvZ3JhbVJlcG9ydDogc2F0dXJhdGlvbiBtZWFuDQotCWZsb2F0IAlwYXJ0aWNsZUx1bU1heDsJCQkJLy8gSGlzdG9ncmFtUmVwb3J0OiBsdW1pbmFuY2UgbWF4DQotCWZsb2F0IAlwYXJ0aWNsZUx1bU1pbjsJCQkJLy8gSGlzdG9ncmFtUmVwb3J0OiBsdW1pbmFuY2UgIG1heA0KLQlmbG9hdCAJcGFydGljbGVMdW1NZWFuOwkJCS8vIEhpc3RvZ3JhbVJlcG9ydDogbHVtaW5hbmNlIG1lYW4NCi19IENvbG9yUmVwb3J0Ow0KLQ0KLQ0KLS8qICAgSW1hZ2UgTWFuYWdlbWVudCBmdW5jdGlvbnMgKi8NCi0NCi0vKiBDcmVhdGU6IGNhbGxzIGltYXFDcmVhdGVJbWFnZS4gQm9yZGVyIHNpemUgaXMgc2V0IHRvIHNvbWUgZGVmYXVsdCB2YWx1ZSAqLw0KLUltYWdlKiBmcmNDcmVhdGVJbWFnZSggSW1hZ2VUeXBlIHR5cGUgKTsNCi0NCi0vKiBEaXNwb3NlOiBjYWxscyBpbWFxRGlzcG9zZSAqLw0KLWludCBmcmNEaXNwb3NlKCB2b2lkKiBvYmplY3QgKTsNCi1pbnQgZnJjRGlzcG9zZSggY29uc3QgY2hhciogZmlsZW5hbWUsIC4uLiApIDsNCi0NCi0vKiBDb3B5OiBjYWxscyBpbWFxRHVwbGljYXRlSW1hZ2UgKi8NCi1pbnQgZnJjQ29weUltYWdlKCBJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSApOw0KLQ0KLS8qIEltYWdlIEV4dHJhY3Rpb246IENyb3A6IGNhbGxzIGltYXFTY2FsZSAqLw0KLWludCBmcmNDcm9wKCBJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUmVjdCByZWN0ICk7DQotDQotLyogSW1hZ2UgRXh0cmFjdGlvbjogU2NhbGU6IGNhbGxzIGltYXFTY2FsZS4gIFNjYWxlcyBlbnRpcmUgaW1hZ2UgKi8NCi1pbnQgZnJjU2NhbGUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCB4U2NhbGUsIGludCB5U2NhbGUsIFNjYWxpbmdNb2RlIHNjYWxlTW9kZSApOw0KLQ0KLS8qIFJlYWQgSW1hZ2UgOiBjYWxscyBpbWFxUmVhZEZpbGUgKi8NCi1pbnQgZnJjUmVhZEltYWdlKCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lICk7DQotLyogV3JpdGUgSW1hZ2UgOiBjYWxscyBpbWFxV3JpdGVGaWxlICovDQotaW50IGZyY1dyaXRlSW1hZ2UoIGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgY2hhciogZmlsZU5hbWUpOw0KLQ0KLS8qICAgTWVhc3VyZSBJbnRlbnNpdHkgZnVuY3Rpb25zICovDQotDQotLyogSGlzdG9ncmFtOiBjYWxscyBpbWFxSGlzdG9ncmFtICovDQotSGlzdG9ncmFtUmVwb3J0KiBmcmNIaXN0b2dyYW0oIGNvbnN0IEltYWdlKiBpbWFnZSwgaW50IG51bUNsYXNzZXMsIGZsb2F0IG1pbiwgZmxvYXQgbWF4LCBSZWN0IHJlY3QgKTsNCi0vKiBDb2xvciBIaXN0b2dyYW06IGNhbGxzIGltYXFDb2xvckhpc3RvZ3JhbTIgKi8NCi1Db2xvckhpc3RvZ3JhbVJlcG9ydCogZnJjQ29sb3JIaXN0b2dyYW0oY29uc3QgSW1hZ2UqIGltYWdlLCBpbnQgbnVtQ2xhc3NlcywgQ29sb3JNb2RlIG1vZGUsIEltYWdlKiBtYXNrKTsNCi0NCi0vKiBHZXQgUGl4ZWwgVmFsdWU6IGNhbGxzIGltYXFHZXRQaXhlbCAqLw0KLWludCBmcmNHZXRQaXhlbFZhbHVlKCBjb25zdCBJbWFnZSogaW1hZ2UsIFBvaW50IHBpeGVsLCBQaXhlbFZhbHVlKiB2YWx1ZSApOw0KLQ0KLS8qICAgUGFydGljbGUgQW5hbHlzaXMgZnVuY3Rpb25zICovDQotDQotLyogUGFydGljbGUgRmlsdGVyOiBjYWxscyBpbWFxUGFydGljbGVGaWx0ZXIzICovDQotaW50IGZyY1BhcnRpY2xlRmlsdGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBjb25zdCBQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMiogY3JpdGVyaWEsIA0KLQkJaW50IGNyaXRlcmlhQ291bnQsIGNvbnN0IFBhcnRpY2xlRmlsdGVyT3B0aW9ucyogb3B0aW9ucywgUmVjdCByZWN0LCBpbnQqIG51bVBhcnRpY2xlcyk7DQotaW50IGZyY1BhcnRpY2xlRmlsdGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBjb25zdCBQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMiogY3JpdGVyaWEsIA0KLQkJaW50IGNyaXRlcmlhQ291bnQsIGNvbnN0IFBhcnRpY2xlRmlsdGVyT3B0aW9ucyogb3B0aW9ucywgaW50KiBudW1QYXJ0aWNsZXMpOw0KLS8qIE1vcnBob2xvZ3k6IGNhbGxzIGltYXFNb3JwaG9sb2d5ICovDQotaW50IGZyY01vcnBob2xvZ3koSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIE1vcnBob2xvZ3lNZXRob2QgbWV0aG9kKTsNCi1pbnQgZnJjTW9ycGhvbG9neShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgTW9ycGhvbG9neU1ldGhvZCBtZXRob2QsIGNvbnN0IFN0cnVjdHVyaW5nRWxlbWVudCogc3RydWN0dXJpbmdFbGVtZW50KTsNCi0vKiBSZWplY3QgQm9yZGVyOiBjYWxscyBpbWFxUmVqZWN0Qm9yZGVyICovDQotaW50IGZyY1JlamVjdEJvcmRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSk7DQotaW50IGZyY1JlamVjdEJvcmRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IGNvbm5lY3Rpdml0eTgpOw0KLS8qIENvdW50IFBhcnRpY2xlczogY2FsbHMgaW1hcUNvdW50UGFydGljbGVzICovDQotaW50IGZyY0NvdW50UGFydGljbGVzKEltYWdlKiBpbWFnZSwgaW50KiBudW1QYXJ0aWNsZXMpOw0KLS8qIFBhcnRpY2xlIEFuYWx5c2lzIFJlcG9ydDogY2FsbHMgaW1hcU1lYXN1cmVQYXJ0aWNsZSAqLw0KLWludCBmcmNQYXJ0aWNsZUFuYWx5c2lzKEltYWdlKiBpbWFnZSwgaW50IHBhcnRpY2xlTnVtYmVyLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0KiBwYXIpOw0KLQ0KLS8qICAgSW1hZ2UgRW5oYW5jZW1lbnQgZnVuY3Rpb25zICovDQotDQotLyogRXF1YWxpemU6IGNhbGxzIGltYXFFcXVhbGl6ZSAqLw0KLWludCBmcmNFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgZmxvYXQgbWluLCBmbG9hdCBtYXgpOw0KLWludCBmcmNFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgZmxvYXQgbWluLCBmbG9hdCBtYXgsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi0NCi0vKiBDb2xvciBFcXVhbGl6ZTogY2FsbHMgaW1hcUNvbG9yRXF1YWxpemUgKi8NCi1pbnQgZnJjQ29sb3JFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSk7DQotaW50IGZyY0NvbG9yRXF1YWxpemUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCBjb2xvckVxdWFsaXphdGlvbik7DQotDQotLyogICBJbWFnZSBUaHJlc2hvbGRpbmcgJiBDb252ZXJzaW9uIGZ1bmN0aW9ucyAqLw0KLQ0KLS8qIFNtYXJ0IFRocmVzaG9sZDogY2FsbHMgaW1hcUxvY2FsVGhyZXNob2xkICovDQotaW50IGZyY1NtYXJ0VGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCB1bnNpZ25lZCBpbnQgd2luZG93V2lkdGgsIHVuc2lnbmVkIGludCB3aW5kb3dIZWlnaHQsIA0KLQkJTG9jYWxUaHJlc2hvbGRNZXRob2QgbWV0aG9kLCBkb3VibGUgZGV2aWF0aW9uV2VpZ2h0LCBPYmplY3RUeXBlIHR5cGUpOw0KLWludCBmcmNTbWFydFRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgdW5zaWduZWQgaW50IHdpbmRvd1dpZHRoLCB1bnNpZ25lZCBpbnQgd2luZG93SGVpZ2h0LCANCi0JCUxvY2FsVGhyZXNob2xkTWV0aG9kIG1ldGhvZCwgZG91YmxlIGRldmlhdGlvbldlaWdodCwgT2JqZWN0VHlwZSB0eXBlLCBmbG9hdCByZXBsYWNlVmFsdWUpOw0KLQ0KLS8qIFNpbXBsZSBUaHJlc2hvbGQ6IGNhbGxzIGltYXFUaHJlc2hvbGQgKi8NCi1pbnQgZnJjU2ltcGxlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBmbG9hdCByYW5nZU1pbiwgZmxvYXQgcmFuZ2VNYXgsIGZsb2F0IG5ld1ZhbHVlKTsNCi1pbnQgZnJjU2ltcGxlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBmbG9hdCByYW5nZU1pbiwgZmxvYXQgcmFuZ2VNYXgpOw0KLQ0KLS8qIENvbG9yL0h1ZSBUaHJlc2hvbGQ6IGNhbGxzIGltYXFDb2xvclRocmVzaG9sZCAqLw0KLWludCBmcmNDb2xvclRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgQ29sb3JNb2RlIG1vZGUsIA0KLQkJY29uc3QgUmFuZ2UqIHBsYW5lMVJhbmdlLCBjb25zdCBSYW5nZSogcGxhbmUyUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTNSYW5nZSk7DQotaW50IGZyY0NvbG9yVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBpbnQgcmVwbGFjZVZhbHVlLCBDb2xvck1vZGUgbW9kZSwgDQotCQljb25zdCBSYW5nZSogcGxhbmUxUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTJSYW5nZSwgY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlKTsNCi1pbnQgZnJjSHVlVGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBSYW5nZSogaHVlUmFuZ2UpOw0KLWludCBmcmNIdWVUaHJlc2hvbGQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGNvbnN0IFJhbmdlKiBodWVSYW5nZSwgaW50IG1pblNhdHVyYXRpb24pOw0KLQ0KLS8qIEV4dHJhY3QgQ29sb3JIdWUgUGxhbmU6IGNhbGxzIGltYXFFeHRyYWN0Q29sb3JQbGFuZXMgKi8NCi1pbnQgZnJjRXh0cmFjdENvbG9yUGxhbmVzKGNvbnN0IEltYWdlKiBpbWFnZSwgQ29sb3JNb2RlIG1vZGUsIEltYWdlKiBwbGFuZTEsIEltYWdlKiBwbGFuZTIsIEltYWdlKiBwbGFuZTMpOw0KLWludCBmcmNFeHRyYWN0SHVlUGxhbmUoY29uc3QgSW1hZ2UqIGltYWdlLCBJbWFnZSogaHVlUGxhbmUpOw0KLWludCBmcmNFeHRyYWN0SHVlUGxhbmUoY29uc3QgSW1hZ2UqIGltYWdlLCBJbWFnZSogaHVlUGxhbmUsIGludCBtaW5TYXR1cmF0aW9uKTsNCi0NCi0jZW5kaWYNCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9XUElFcnJvcnMuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1dQSUVycm9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWQyODZmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1dQSUVycm9ycy5oCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBDb3B5cmlnaHQgKGMpIEZJUlNUIDIwMDguIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCQkJCQkJCSAgKi8NCi0vKiBPcGVuIFNvdXJjZSBTb2Z0d2FyZSAtIG1heSBiZSBtb2RpZmllZCBhbmQgc2hhcmVkIGJ5IEZSQyB0ZWFtcy4gVGhlIGNvZGUgICAqLw0KLS8qIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgdGhlIEZJUlNUIEJTRCBsaWNlbnNlIGZpbGUgaW4gJChXSU5EX0JBU0UpL1dQSUxpYi4gICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jaWZuZGVmIF9fV1BJX0VSUk9SU19IX18NCi0jZGVmaW5lIF9fV1BJX0VSUk9SU19IX18NCi0NCi0jaWZkZWYgV1BJX0VSUk9SU19ERUZJTkVfU1RSSU5HUw0KLSNkZWZpbmUgUyhsYWJlbCwgb2Zmc2V0LCBtZXNzYWdlKSBjb25zdCBjaGFyICp3cGlfZXJyb3Jfc18jI2xhYmVsID0gbWVzc2FnZSA7DQotI2Vsc2UNCi0jZGVmaW5lIFMobGFiZWwsIG9mZnNldCwgbWVzc2FnZSkgZXh0ZXJuIGNvbnN0IGNoYXIgKndwaV9lcnJvcl9zXyMjbGFiZWw7DQotI2VuZGlmDQotDQotLyoNCi0gKiBGYXRhbCBlcnJvcnMNCi0gKi8NCi1TKE1vZHVsZUluZGV4T3V0T2ZSYW5nZSwgLTEsICJBbGxvY2F0aW5nIG1vZHVsZSB0aGF0IGlzIG91dCBvZiByYW5nZSBvciBub3QgZm91bmQiKTsNCi1TKENoYW5uZWxJbmRleE91dE9mUmFuZ2UsIC0xLCAiQWxsb2NhdGluZyBjaGFubmVsIHRoYXQgaXMgb3V0IG9mIHJhbmdlIik7DQotUyhOb3RBbGxvY2F0ZWQsIC0yLCAiQXR0ZW1wdGluZyB0byBmcmVlIHVuYWxsb2NhdGVkIHJlc291cmNlIik7DQotUyhSZXNvdXJjZUFscmVhZHlBbGxvY2F0ZWQsIC0zLCAiQXR0ZW1wdGVkIHRvIHJldXNlIGFuIGFsbG9jYXRlZCByZXNvdXJjZSIpOw0KLVMoTm9BdmFpbGFibGVSZXNvdXJjZXMsIC00LCAiTm8gYXZhaWxhYmxlIHJlc291cmNlcyB0byBhbGxvY2F0ZSIpOw0KLVMoTnVsbFBhcmFtZXRlciwgLTUsICJBIHBvaW50ZXIgcGFyYW1ldGVyIHRvIGEgbWV0aG9kIGlzIE5VTEwiKTsNCi1TKFRpbWVvdXQsIC02LCAiQSB0aW1lb3V0IGhhcyBiZWVuIGV4Y2VlZGVkIik7DQotUyhDb21wYXNzTWFudWZhY3R1cmVyRXJyb3IsIC03LCAiQ29tcGFzcyBtYW51ZmFjdHVyZXIgZG9lc24ndCBtYXRjaCBIaVRlY2huaWMiKTsNCi1TKENvbXBhc3NUeXBlRXJyb3IsIC04LCAiQ29tcGFzcyB0eXBlIGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgdHlwZSBmb3IgSGlUZWNobmljIGNvbXBhc3MiKTsNCi1TKEluY29tcGF0aWJsZU1vZGUsIC05LCAiVGhlIG9iamVjdCBpcyBpbiBhbiBpbmNvbXBhdGlibGUgbW9kZSIpOw0KLVMoQW5hbG9nVHJpZ2dlckxpbWl0T3JkZXJFcnJvciwgLTEwLCAiQW5hbG9nVHJpZ2dlciBsaW1pdHMgZXJyb3IuICBMb3dlciBsaW1pdCA+IFVwcGVyIExpbWl0Iik7DQotUyhBbmFsb2dUcmlnZ2VyUHVsc2VPdXRwdXRFcnJvciwgLTExLCAiQXR0ZW1wdGVkIHRvIHJlYWQgQW5hbG9nVHJpZ2dlciBwdWxzZSBvdXRwdXQuIik7DQotUyhUYXNrRXJyb3IsIC0xMiwgIlRhc2sgY2FuJ3QgYmUgc3RhcnRlZCIpOw0KLVMoVGFza0lERXJyb3IsIC0xMywgIlRhc2sgZXJyb3I6IEludmFsaWQgSUQuIik7DQotUyhUYXNrRGVsZXRlZEVycm9yLCAtMTQsICJUYXNrIGVycm9yOiBUYXNrIGFscmVhZHkgZGVsZXRlZC4iKTsNCi1TKFRhc2tPcHRpb25zRXJyb3IsIC0xNSwgIlRhc2sgZXJyb3I6IEludmFsaWQgb3B0aW9ucy4iKTsNCi1TKFRhc2tNZW1vcnlFcnJvciwgLTE2LCAiVGFzayBjYW4ndCBiZSBzdGFydGVkIGR1ZSB0byBpbnN1ZmZpY2llbnQgbWVtb3J5LiIpOw0KLVMoVGFza1ByaW9yaXR5RXJyb3IsIC0xNywgIlRhc2sgZXJyb3I6IEludmFsaWQgcHJpb3JpdHkgWzEtMjU1XS4iKTsNCi1TKERyaXZlVW5pbml0aWFsaXplZCwgLTE4LCAiUm9ib3REcml2ZSBub3QgaW5pdGlhbGl6ZWQgZm9yIHRoZSBDIGludGVyZmFjZSIpOw0KLVMoQ29tcHJlc3Nvck5vbk1hdGNoaW5nLCAtMTksICJDb21wcmVzc29yIHNsb3QvY2hhbm5lbCBkb2Vzbid0IG1hdGNoIHByZXZpb3VzIGluc3RhbmNlIik7DQotUyhDb21wcmVzc29yQWxyZWFkeURlZmluZWQsIC0yMCwgIkNyZWF0aW5nIGEgc2Vjb25kIGNvbXByZXNzb3IgaW5zdGFuY2UiKTsNCi1TKENvbXByZXNzb3JVbmRlZmluZWQsIC0yMSwgIlVzaW5nIGNvbXByZXNzb3IgZnVuY3Rpb25zIHdpdGhvdXQgZGVmaW5pbmcgY29tcHJlc3NvciIpOw0KLVMoSW5jb25zaXN0ZW50QXJyYXlWYWx1ZUFkZGVkLCAtMjIsICJXaGVuIHBhY2tpbmcgZGF0YSBpbnRvIGFuIGFycmF5IHRvIHRoZSBkYXNoYm9hcmQsIG5vdCBhbGwgdmFsdWVzIGFkZGVkIHdlcmUgb2YgdGhlIHNhbWUgdHlwZS4iKTsNCi1TKE1pc21hdGNoZWRDb21wbGV4VHlwZUNsb3NlLCAtMjMsICJXaGVuIHBhY2tpbmcgZGF0YSB0byB0aGUgZGFzaGJvYXJkLCBhIENsb3NlIGZvciBhIGNvbXBsZXggdHlwZSB3YXMgY2FsbGVkIHdpdGhvdXQgYSBtYXRjaGluZyBPcGVuLiIpOw0KLVMoRGFzaGJvYXJkRGF0YU92ZXJmbG93LCAtMjQsICJXaGVuIHBhY2tpbmcgZGF0YSB0byB0aGUgZGFzaGJvYXJkLCB0b28gbXVjaCBkYXRhIHdhcyBwYWNrZWQgYW5kIHRoZSBidWZmZXIgb3ZlcmZsb3dlZC4iKTsNCi1TKERhc2hib2FyZERhdGFDb2xsaXNpb24sIC0yNSwgIlRoZSBzYW1lIGJ1ZmZlciB3YXMgdXNlZCBmb3IgcGFja2luZyBkYXRhIGFuZCBmb3IgcHJpbnRpbmcuIik7DQotUyhFbmhhbmNlZElPTWlzc2luZywgLTI2LCAiSU8gaXMgbm90IGF0dGFjaGVkIG9yIEVuaGFuY2VkIElPIGlzIG5vdCBlbmFibGVkLiIpOw0KLVMoTGluZU5vdE91dHB1dCwgLTI3LCAiQ2Fubm90IFNldERpZ2l0YWxPdXRwdXQgZm9yIGEgbGluZSBub3QgY29uZmlndXJlZCBmb3Igb3V0cHV0LiIpOw0KLVMoUGFyYW1ldGVyT3V0T2ZSYW5nZSwgLTI4LCAiQSBwYXJhbWV0ZXIgaXMgb3V0IG9mIHJhbmdlLiIpOw0KLVMoU1BJQ2xvY2tSYXRlVG9vTG93LCAtMjksICJTUEkgY2xvY2sgcmF0ZSB3YXMgYmVsb3cgdGhlIG1pbmltdW0gc3VwcG9ydGVkIik7DQotUyhKYWd1YXJWZXJzaW9uRXJyb3IsIC0zMCwgIkphZ3VhciBmaXJtd2FyZSB2ZXJzaW9uIGVycm9yIik7DQotUyhOZXR3b3JrVGFibGVzUmVhZEVycm9yLCAtNDAsICJFcnJvciByZWFkaW5nIE5ldHdvcmtUYWJsZXMgc29ja2V0Iik7DQotUyhOZXR3b3JrVGFibGVzQnVmZmVyRnVsbCwgLTQxLCAiQnVmZmVyIGZ1bGwgd3JpdGluZyB0byBOZXR3b3JrVGFibGVzIHNvY2tldCIpOw0KLVMoTmV0d29ya1RhYmxlc1dyb25nVHlwZSwgLTQyLCAiVGhlIHdyb25nIHR5cGUgd2FzIHJlYWQgZnJvbSB0aGUgTmV0d29ya1RhYmxlcyBlbnRyeSIpOw0KLVMoTmV0d29ya1RhYmxlc0NvcnJ1cHQsIC00MywgIk5ldHdvcmtUYWJsZXMgZGF0YSBzdHJlYW0gaXMgY29ycnVwdCIpOw0KLVMoU21hcnREYXNoYm9hcmRNaXNzaW5nS2V5LCAtNDMsICJTbWFydERhc2hib2FyZCBkYXRhIGRvZXMgbm90IGV4aXN0Iik7DQotUyhDb21tYW5kSWxsZWdhbFVzZSwgLTUwLCAiSWxsZWdhbCB1c2Ugb2YgQ29tbWFuZCIpOw0KLQ0KLS8qDQotICogV2FybmluZ3MNCi0gKi8NCi1TKFNhbXBsZVJhdGVUb29IaWdoLCAxLCAiQW5hbG9nIG1vZHVsZSBzYW1wbGUgcmF0ZSBpcyB0b28gaGlnaCIpOw0KLVMoVm9sdGFnZU91dE9mUmFuZ2UsIDIsICJWb2x0YWdlIHRvIGNvbnZlcnQgdG8gcmF3IHZhbHVlIGlzIG91dCBvZiByYW5nZSBbLTEwOyAxMF0iKTsNCi1TKENvbXByZXNzb3JUYXNrRXJyb3IsIDMsICJDb21wcmVzc29yIHRhc2sgd29uJ3Qgc3RhcnQiKTsNCi1TKExvb3BUaW1pbmdFcnJvciwgNCwgIkRpZ2l0YWwgbW9kdWxlIGxvb3AgdGltaW5nIGlzIG5vdCB0aGUgZXhwZWN0ZWQgdmFsdWUiKTsNCi1TKE5vbkJpbmFyeURpZ2l0YWxWYWx1ZSwgNSwgIkRpZ2l0YWwgb3V0cHV0IHZhbHVlIGlzIG5vdCAwIG9yIDEiKTsNCi1TKEluY29ycmVjdEJhdHRlcnlDaGFubmVsLCA2LCAiQmF0dGVyeSBtZWFzdXJlbWVudCBjaGFubmVsIGlzIG5vdCBjb3JyZWN0IHZhbHVlIik7DQotUyhCYWRKb3lzdGlja0luZGV4LCA3LCAiSm95c3RpY2sgaW5kZXggaXMgb3V0IG9mIHJhbmdlLCBzaG91bGQgYmUgMS00Iik7DQotUyhCYWRKb3lzdGlja0F4aXMsIDgsICJKb3lzdGljayBheGlzIGlzIG91dCBvZiByYW5nZSIpOw0KLVMoSW52YWxpZE1vdG9ySW5kZXgsIDksICJNb3RvciBpbmRleCBpcyBvdXQgb2YgcmFuZ2UsIHNob3VsZCBiZSAwLTMiKTsNCi1TKERyaXZlclN0YXRpb25UYXNrRXJyb3IsIDEwLCAiRHJpdmVyIFN0YXRpb24gdGFzayB3b24ndCBzdGFydCIpOw0KLVMoRW5oYW5jZWRJT1BXTVBlcmlvZE91dE9mUmFuZ2UsIDExLCAiRHJpdmVyIFN0YXRpb24gRW5oYW5jZWQgSU8gUFdNIE91dHB1dCBwZXJpb2Qgb3V0IG9mIHJhbmdlLiIpOw0KLVMoU1BJV3JpdGVOb01PU0ksIDEyLCAiQ2Fubm90IHdyaXRlIHRvIFNQSSBwb3J0IHdpdGggbm8gTU9TSSBvdXRwdXQiKTsNCi1TKFNQSVJlYWROb01JU08sIDEzLCAiQ2Fubm90IHJlYWQgZnJvbSBTUEkgcG9ydCB3aXRoIG5vIE1JU08gaW5wdXQiKTsNCi1TKFNQSVJlYWROb0RhdGEsIDE0LCAiTm8gZGF0YSBhdmFpbGFibGUgdG8gcmVhZCBmcm9tIFNQSSIpOw0KLVMoSW5jb21wYXRpYmxlU3RhdGUsIDE1LCAiSW5jb21wYXRpYmxlIFN0YXRlOiBUaGUgb3BlcmF0aW9uIGNhbm5vdCBiZSBjb21wbGV0ZWQiKTsNCi0NCi0jdW5kZWYgUw0KLQ0KLSNlbmRpZiAvLyBfX1dQSV9FUlJPUlNfSF9fDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvV1BJTGliLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9XUElMaWIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjdmMzk5ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9XUElMaWIuaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogQ29weXJpZ2h0IChjKSBGSVJTVCAyMDA4LiBBbGwgUmlnaHRzIFJlc2VydmVkLgkJCQkJCQkgICovDQotLyogT3BlbiBTb3VyY2UgU29mdHdhcmUgLSBtYXkgYmUgbW9kaWZpZWQgYW5kIHNoYXJlZCBieSBGUkMgdGVhbXMuIFRoZSBjb2RlICAgKi8NCi0vKiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZSBGSVJTVCBCU0QgbGljZW5zZSBmaWxlIGluICQoV0lORF9CQVNFKS9XUElMaWIuICAqLw0KLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBXUElMSUJfSF8NCi0jZGVmaW5lIFdQSUxJQl9IXw0KLQ0KLSNpbmNsdWRlICJzdHJpbmcuaCINCi0jaW5jbHVkZSA8aW9zdHJlYW0uaD4NCi0NCi0jaW5jbHVkZSAiQWNjZWxlcm9tZXRlci5oIg0KLSNpbmNsdWRlICJBRFhMMzQ1X0kyQy5oIg0KLSNpbmNsdWRlICJBRFhMMzQ1X1NQSS5oIg0KLSNpbmNsdWRlICJBbmFsb2dDaGFubmVsLmgiDQotI2luY2x1ZGUgIkFuYWxvZ01vZHVsZS5oIg0KLSNpbmNsdWRlICJBbmFsb2dUcmlnZ2VyLmgiDQotI2luY2x1ZGUgIkFuYWxvZ1RyaWdnZXJPdXRwdXQuaCINCi0jaW5jbHVkZSAiQnV0dG9ucy9BbmFsb2dJT0J1dHRvbi5oIg0KLSNpbmNsdWRlICJCdXR0b25zL0RpZ2l0YWxJT0J1dHRvbi5oIg0KLSNpbmNsdWRlICJCdXR0b25zL0ludGVybmFsQnV0dG9uLmgiDQotI2luY2x1ZGUgIkJ1dHRvbnMvSm95c3RpY2tCdXR0b24uaCINCi0jaW5jbHVkZSAiQnV0dG9ucy9OZXR3b3JrQnV0dG9uLmgiDQotI2luY2x1ZGUgIkNBTkphZ3Vhci5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9Db21tYW5kLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmRHcm91cC5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9QSURDb21tYW5kLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL1BJRFN1YnN5c3RlbS5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9QcmludENvbW1hbmQuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvU2NoZWR1bGVyLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL1N0YXJ0Q29tbWFuZC5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvV2FpdENvbW1hbmQuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvV2FpdEZvckNoaWxkcmVuLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL1dhaXRVbnRpbENvbW1hbmQuaCINCi0jaW5jbHVkZSAiQ29tcHJlc3Nvci5oIg0KLSNpbmNsdWRlICJDb3VudGVyLmgiDQotI2luY2x1ZGUgIkRhc2hib2FyZC5oIg0KLSNpbmNsdWRlICJEaWdpdGFsSW5wdXQuaCINCi0jaW5jbHVkZSAiRGlnaXRhbE1vZHVsZS5oIg0KLSNpbmNsdWRlICJEaWdpdGFsT3V0cHV0LmgiDQotI2luY2x1ZGUgIkRpZ2l0YWxTb3VyY2UuaCINCi0jaW5jbHVkZSAiRG91YmxlU29sZW5vaWQuaCINCi0jaW5jbHVkZSAiRHJpdmVyU3RhdGlvbi5oIg0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uRW5oYW5jZWRJTy5oIg0KLSNpbmNsdWRlICJEcml2ZXJTdGF0aW9uTENELmgiDQotI2luY2x1ZGUgIkVuY29kZXIuaCINCi0jaW5jbHVkZSAiRXJyb3JCYXNlLmgiDQotI2luY2x1ZGUgIkdlYXJUb290aC5oIg0KLSNpbmNsdWRlICJHZW5lcmljSElELmgiDQotI2luY2x1ZGUgIkd5cm8uaCINCi0jaW5jbHVkZSAiSGlUZWNobmljQ29tcGFzcy5oIg0KLSNpbmNsdWRlICJIaVRlY2huaWNDb2xvclNlbnNvci5oIg0KLSNpbmNsdWRlICJJMkMuaCINCi0jaW5jbHVkZSAiSXRlcmF0aXZlUm9ib3QuaCINCi0jaW5jbHVkZSAiSW50ZXJydXB0YWJsZVNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiSmFndWFyLmgiDQotI2luY2x1ZGUgIkpveXN0aWNrLmgiDQotI2luY2x1ZGUgIktpbmVjdC5oIg0KLSNpbmNsdWRlICJLaW5lY3RTdGljay5oIg0KLSNpbmNsdWRlICJOb3RpZmllci5oIg0KLSNpbmNsdWRlICJQSURDb250cm9sbGVyLmgiDQotI2luY2x1ZGUgIlBJRE91dHB1dC5oIg0KLSNpbmNsdWRlICJQSURTb3VyY2UuaCINCi0jaW5jbHVkZSAiUHJlZmVyZW5jZXMuaCINCi0jaW5jbHVkZSAiUFdNLmgiDQotI2luY2x1ZGUgIlJlbGF5LmgiDQotI2luY2x1ZGUgIlJlc291cmNlLmgiDQotI2luY2x1ZGUgIlJvYm90QmFzZS5oIg0KLSNpbmNsdWRlICJSb2JvdERyaXZlLmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiU2VyaWFsUG9ydC5oIg0KLSNpbmNsdWRlICJTZXJ2by5oIg0KLSNpbmNsdWRlICJTaW1wbGVSb2JvdC5oIg0KLSNpbmNsdWRlICJTbWFydERhc2hib2FyZC9TZW5kYWJsZUNob29zZXIuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0jaW5jbHVkZSAiU29sZW5vaWQuaCINCi0jaW5jbHVkZSAiU3BlZWRDb250cm9sbGVyLmgiDQotI2luY2x1ZGUgIlNQSS5oIg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0jaW5jbHVkZSAiVGFsb24uaCINCi0jaW5jbHVkZSAiVGFzay5oIg0KLSNpbmNsdWRlICJUaW1lci5oIg0KLSNpbmNsdWRlICJVbHRyYXNvbmljLmgiDQotI2luY2x1ZGUgIlV0aWxpdHkuaCINCi0jaW5jbHVkZSAiVmljdG9yLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9BeGlzQ2FtZXJhLmgiDQotI2luY2x1ZGUgIldhdGNoZG9nLmgiDQotI2luY2x1ZGUgIldQSUVycm9ycy5oIg0KLQ0KLSNlbmRpZiAvKldQSUxJQl9IXyovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvV2F0Y2hkb2cuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvV2F0Y2hkb2cuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODEwYTllLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1dhdGNoZG9nLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE3MCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpbmNsdWRlICJXYXRjaGRvZy5oIg0KLQ0KLWNvbnN0IGRvdWJsZSBXYXRjaGRvZzo6a0RlZmF1bHRXYXRjaGRvZ0V4cGlyYXRpb247DQotDQotLyoqDQotICogVGhlIFdhdGNoZG9nIGlzIGJvcm4uDQotICovDQotV2F0Y2hkb2c6OldhdGNoZG9nKCkNCi0JOgltX2ZwZ2FXYXRjaERvZyhOVUxMKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCW1fZnBnYVdhdGNoRG9nID0gdFdhdGNoZG9nOjpjcmVhdGUoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi0JU2V0RXhwaXJhdGlvbihrRGVmYXVsdFdhdGNoZG9nRXhwaXJhdGlvbik7DQotCVNldEVuYWJsZWQodHJ1ZSk7DQotfQ0KLQ0KLS8qKg0KLSAqIFRpbWUgdG8gYnVyeSBoaW0gaW4gdGhlIGJhY2sgeWFyZC4NCi0gKi8NCi1XYXRjaGRvZzo6fldhdGNoZG9nKCkNCi17DQotCVNldEVuYWJsZWQoZmFsc2UpOw0KLQlkZWxldGUgbV9mcGdhV2F0Y2hEb2c7DQotCW1fZnBnYVdhdGNoRG9nID0gTlVMTDsNCi19DQotDQotLyoqDQotICogVGhyb3cgdGhlIGRvZyBhIGJvbmUuDQotICogDQotICogV2hlbiBldmVyeXRoaW5nIGlzIGdvaW5nIHdlbGwsIHlvdSBmZWVkIHlvdXIgZG9nIHdoZW4geW91IGdldCBob21lLg0KLSAqIExldCdzIGhvcGUgeW91IGRvbid0IGRyaXZlIHlvdXIgY2FyIG9mZiBhIGJyaWRnZSBvbiB0aGUgd2F5IGhvbWUuLi4NCi0gKiBZb3VyIGRvZyB3b24ndCBnZXQgZmVkIGFuZCBoZSB3aWxsIHN0YXJ2ZSB0byBkZWF0aC4NCi0gKiANCi0gKiBCeSB0aGUgd2F5LCBpdCdzIG5vdCBjb29sIHRvIGFzayB0aGUgbmVpZ2hib3IgKHNvbWUgcmFuZG9tIHRhc2spIHRvDQotICogZmVlZCB5b3VyIGRvZyBmb3IgeW91LiAgSGUncyB5b3VyIHJlc3BvbnNpYmlsaXR5IQ0KLSAqIA0KLSAqIEByZXR1cm5zIFJldHVybnMgdGhlIHByZXZpb3VzIHN0YXRlIG9mIHRoZSB3YXRjaGRvZyBiZWZvcmUgZmVlZGluZyBpdC4NCi0gKi8NCi1ib29sIFdhdGNoZG9nOjpGZWVkKCkNCi17DQotCWJvb2wgcHJldmlvdXMgPSBHZXRFbmFibGVkKCk7DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2ZwZ2FXYXRjaERvZy0+c3Ryb2JlRmVlZCgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gcHJldmlvdXM7DQotfQ0KLQ0KLS8qKg0KLSAqIFB1dCB0aGUgd2F0Y2hkb2cgb3V0IG9mIGl0cyBtaXNlcnkuDQotICogDQotICogRG9uJ3Qgd2FpdCBmb3IgeW91ciBkeWluZyByb2JvdCB0byBzdGFydmUgd2hlbiB0aGVyZSBpcyBhIHByb2JsZW0uDQotICogS2lsbCBpdCBxdWlja2x5LCBjbGVhbmx5LCBhbmQgaHVtYW5lbHkuDQotICovDQotdm9pZCBXYXRjaGRvZzo6S2lsbCgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JbV9mcGdhV2F0Y2hEb2ctPnN0cm9iZUtpbGwoJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogUmVhZCBob3cgbG9uZyBpdCBoYXMgYmVlbiBzaW5jZSB0aGUgd2F0Y2hkb2cgd2FzIGxhc3QgZmVkLg0KLSAqIA0KLSAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIGxhc3QgbWVhbC4NCi0gKi8NCi1kb3VibGUgV2F0Y2hkb2c6OkdldFRpbWVyKCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQlVSU5UMzIgdGltZXIgPSBtX2ZwZ2FXYXRjaERvZy0+cmVhZFRpbWVyKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiB0aW1lciAvIChrU3lzdGVtQ2xvY2tUaWNrc1Blck1pY3Jvc2Vjb25kICogMWU2KTsNCi19DQotDQotLyoqDQotICogUmVhZCB3aGF0IHRoZSBjdXJyZW50IGV4cGlyYXRpb24gaXMuDQotICogDQotICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmVmb3JlIHN0YXJ2YXRpb24gZm9sbG93aW5nIGEgbWVhbCAod2F0Y2hkb2cgc3RhcnZlcyBpZiBpdCBkb2Vzbid0IGVhdCB0aGlzIG9mdGVuKS4NCi0gKi8NCi1kb3VibGUgV2F0Y2hkb2c6OkdldEV4cGlyYXRpb24oKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCVVJTlQzMiBleHBpcmF0aW9uID0gbV9mcGdhV2F0Y2hEb2ctPnJlYWRFeHBpcmF0aW9uKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBleHBpcmF0aW9uIC8gKGtTeXN0ZW1DbG9ja1RpY2tzUGVyTWljcm9zZWNvbmQgKiAxZTYpOw0KLX0NCi0NCi0vKioNCi0gKiBDb25maWd1cmUgaG93IG1hbnkgc2Vjb25kcyB5b3VyIHdhdGNoZG9nIGNhbiBiZSBuZWdsZWN0ZWQgYmVmb3JlIGl0IHN0YXJ2ZXMgdG8gZGVhdGguDQotICogDQotICogQHBhcmFtIGV4cGlyYXRpb24gVGhlIG51bWJlciBvZiBzZWNvbmRzIGJlZm9yZSBzdGFydmF0aW9uIGZvbGxvd2luZyBhIG1lYWwgKHdhdGNoZG9nIHN0YXJ2ZXMgaWYgaXQgZG9lc24ndCBlYXQgdGhpcyBvZnRlbikuDQotICovDQotdm9pZCBXYXRjaGRvZzo6U2V0RXhwaXJhdGlvbihkb3VibGUgZXhwaXJhdGlvbikNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2ZwZ2FXYXRjaERvZy0+d3JpdGVFeHBpcmF0aW9uKChVSU5UMzIpKGV4cGlyYXRpb24gKiAoa1N5c3RlbUNsb2NrVGlja3NQZXJNaWNyb3NlY29uZCAqIDFlNikpLCAmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLX0NCi0NCi0vKioNCi0gKiBGaW5kIG91dCBpZiB0aGUgd2F0Y2hkb2cgaXMgY3VycmVudGx5IGVuYWJsZWQgb3IgZGlzYWJsZWQgKG1vcnRhbCBvciBpbW1vcnRhbCkuDQotICogDQotICogQHJldHVybiBFbmFibGVkIG9yIGRpc2FibGVkLg0KLSAqLw0KLWJvb2wgV2F0Y2hkb2c6OkdldEVuYWJsZWQoKQ0KLXsNCi0JdFJpb1N0YXR1c0NvZGUgbG9jYWxTdGF0dXMgPSBOaUZwZ2FfU3RhdHVzX1N1Y2Nlc3M7DQotCWJvb2wgZW5hYmxlZCA9ICFtX2ZwZ2FXYXRjaERvZy0+cmVhZEltbW9ydGFsKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBlbmFibGVkOw0KLX0NCi0NCi0vKioNCi0gKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgd2F0Y2hkb2cgdGltZXIuDQotICogDQotICogV2hlbiBlbmFibGVkLCB5b3UgbXVzdCBrZWVwIGZlZWRpbmcgdGhlIHdhdGNoZG9nIHRpbWVyIHRvDQotICoga2VlcCB0aGUgd2F0Y2hkb2cgYWN0aXZlLCBhbmQgaGVuY2UgdGhlIGRhbmdlcm91cyBwYXJ0cyANCi0gKiAobW90b3Igb3V0cHV0cywgZXRjLikgY2FuIGtlZXAgZnVuY3Rpb25pbmcuDQotICogV2hlbiBkaXNhYmxlZCwgdGhlIHdhdGNoZG9nIGlzIGltbW9ydGFsIGFuZCB3aWxsIHJlbWFpbiBhY3RpdmUNCi0gKiBldmVuIHdpdGhvdXQgYmVpbmcgZmVkLiAgSXQgd2lsbCBhbHNvIGlnbm9yZSBhbnkga2lsbCBjb21tYW5kcw0KLSAqIHdoaWxlIGRpc2FibGVkLg0KLSAqIA0KLSAqIEBwYXJhbSBlbmFibGVkIEVuYWJsZSBvciBkaXNhYmxlIHRoZSB3YXRjaGRvZy4NCi0gKi8NCi12b2lkIFdhdGNoZG9nOjpTZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkNCi17DQotCXRSaW9TdGF0dXNDb2RlIGxvY2FsU3RhdHVzID0gTmlGcGdhX1N0YXR1c19TdWNjZXNzOw0KLQltX2ZwZ2FXYXRjaERvZy0+d3JpdGVJbW1vcnRhbCghZW5hYmxlZCwgJmxvY2FsU3RhdHVzKTsNCi0Jd3BpX3NldEVycm9yKGxvY2FsU3RhdHVzKTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgaW4gb24gdGhlIHdhdGNoZG9nIGFuZCBtYWtlIHN1cmUgaGUncyBzdGlsbCBraWNraW5nLg0KLSAqIA0KLSAqIFRoaXMgaW5kaWNhdGVzIHRoYXQgeW91ciB3YXRjaGRvZyBpcyBhbGxvd2luZyB0aGUgc3lzdGVtIHRvIG9wZXJhdGUuDQotICogSXQgaXMgc3RpbGwgcG9zc2libGUgdGhhdCB0aGUgbmV0d29yayBjb21tdW5pY2F0aW9ucyBpcyBub3QgYWxsb3dpbmcgdGhlDQotICogc3lzdGVtIHRvIHJ1biwgYnV0IHlvdSBjYW4gY2hlY2sgdGhpcyB0byBtYWtlIHN1cmUgaXQncyBub3QgeW91ciBmYXVsdC4NCi0gKiBDaGVjayBJc1N5c3RlbUFjdGl2ZSgpIGZvciBvdmVyYWxsIHN5c3RlbSBzdGF0dXMuDQotICogDQotICogSWYgdGhlIHdhdGNoZG9nIGlzIGRpc2FibGVkLCB0aGVuIHlvdXIgd2F0Y2hkb2cgaXMgaW1tb3J0YWwuDQotICogDQotICogQHJldHVybiBJcyB0aGUgd2F0Y2hkb2cgc3RpbGwgYWxpdmU/DQotICovDQotYm9vbCBXYXRjaGRvZzo6SXNBbGl2ZSgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JYm9vbCBhbGl2ZSA9IG1fZnBnYVdhdGNoRG9nLT5yZWFkU3RhdHVzX0FsaXZlKCZsb2NhbFN0YXR1cyk7DQotCXdwaV9zZXRFcnJvcihsb2NhbFN0YXR1cyk7DQotCXJldHVybiBhbGl2ZTsNCi19DQotDQotLyoqDQotICogQ2hlY2sgb24gdGhlIG92ZXJhbGwgc3RhdHVzIG9mIHRoZSBzeXN0ZW0uDQotICogDQotICogQHJldHVybiBJcyB0aGUgc3lzdGVtIGFjdGl2ZSAoaS5lLiBQV00gbW90b3Igb3V0cHV0cywgZXRjLiBlbmFibGVkKT8NCi0gKi8NCi1ib29sIFdhdGNoZG9nOjpJc1N5c3RlbUFjdGl2ZSgpDQotew0KLQl0UmlvU3RhdHVzQ29kZSBsb2NhbFN0YXR1cyA9IE5pRnBnYV9TdGF0dXNfU3VjY2VzczsNCi0JYm9vbCBhbGl2ZSA9IG1fZnBnYVdhdGNoRG9nLT5yZWFkU3RhdHVzX1N5c3RlbUFjdGl2ZSgmbG9jYWxTdGF0dXMpOw0KLQl3cGlfc2V0RXJyb3IobG9jYWxTdGF0dXMpOw0KLQlyZXR1cm4gYWxpdmU7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1dhdGNoZG9nLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9XYXRjaGRvZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMmI1Y2FiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL1dhdGNoZG9nLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIENvcHlyaWdodCAoYykgRklSU1QgMjAwOC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4JCQkJCQkJICAqLw0KLS8qIE9wZW4gU291cmNlIFNvZnR3YXJlIC0gbWF5IGJlIG1vZGlmaWVkIGFuZCBzaGFyZWQgYnkgRlJDIHRlYW1zLiBUaGUgY29kZSAgICovDQotLyogbXVzdCBiZSBhY2NvbXBhbmllZCBieSB0aGUgRklSU1QgQlNEIGxpY2Vuc2UgZmlsZSBpbiAkKFdJTkRfQkFTRSkvV1BJTGliLiAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgV0FUQ0hET0dfSA0KLSNkZWZpbmUgV0FUQ0hET0dfSA0KLQ0KLSNpbmNsdWRlICJDaGlwT2JqZWN0LmgiDQotI2luY2x1ZGUgIlNlbnNvckJhc2UuaCINCi0jaW5jbHVkZSAiQmFzZS5oIg0KLQ0KLS8qKg0KLSAqIFdhdGNoZG9nIHRpbWVyIGNsYXNzLg0KLSAqIFRoZSB3YXRjaGRvZyB0aW1lciBpcyBkZXNpZ25lZCB0byBrZWVwIHRoZSByb2JvdHMgc2FmZS4gVGhlIGlkZWEgaXMgdGhhdCB0aGUgcm9ib3QgcHJvZ3JhbSBtdXN0DQotICogY29uc3RhbnRseSAiZmVlZCIgdGhlIHdhdGNoZG9nIG90aGVyd2lzZSBpdCB3aWxsIHNodXQgZG93biBhbGwgdGhlIG1vdG9yIG91dHB1dHMuIFRoYXQgd2F5IGlmIGENCi0gKiBwcm9ncmFtIGJyZWFrcywgcmF0aGVyIHRoYW4gaGF2aW5nIHRoZSByb2JvdCBjb250aW51ZSB0byBvcGVyYXRlIGF0IHRoZSBsYXN0IGtub3duIHNwZWVkLCB0aGUNCi0gKiBtb3RvcnMgd2lsbCBiZSBzaHV0IGRvd24uDQotICogDQotICogVGhpcyBpcyBzZXJpb3VzIGJ1c2luZXNzLiAgRG9uJ3QganVzdCBkaXNhYmxlIHRoZSB3YXRjaGRvZy4gIFlvdSBjYW4ndCBhZmZvcmQgaXQhDQotICogDQotICogaHR0cDovL3RoZWRhaWx5d3RmLmNvbS9BcnRpY2xlcy9fMHgyZl9fMHgyZl9UT0RPXzB4M2FfX1VuY29tbWVudF9MYXRlci5hc3B4DQotICovDQotY2xhc3MgV2F0Y2hkb2cgOiBwdWJsaWMgU2Vuc29yQmFzZQ0KLXsNCi1wdWJsaWM6DQotCXN0YXRpYyBjb25zdCBkb3VibGUga0RlZmF1bHRXYXRjaGRvZ0V4cGlyYXRpb24gPSAwLjU7DQotDQotCVdhdGNoZG9nKCk7DQotCXZpcnR1YWwgfldhdGNoZG9nKCk7DQotCWJvb2wgRmVlZCgpOw0KLQl2b2lkIEtpbGwoKTsNCi0JZG91YmxlIEdldFRpbWVyKCk7DQotCWRvdWJsZSBHZXRFeHBpcmF0aW9uKCk7DQotCXZvaWQgU2V0RXhwaXJhdGlvbihkb3VibGUgZXhwaXJhdGlvbik7DQotCWJvb2wgR2V0RW5hYmxlZCgpOw0KLQl2b2lkIFNldEVuYWJsZWQoYm9vbCBlbmFibGVkKTsNCi0JYm9vbCBJc0FsaXZlKCk7DQotCWJvb2wgSXNTeXN0ZW1BY3RpdmUoKTsNCi0NCi1wcml2YXRlOg0KLQl0V2F0Y2hkb2cgKm1fZnBnYVdhdGNoRG9nOw0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oV2F0Y2hkb2cpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWVmZDg4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMwNSArMCwwIEBACi0jaW5jbHVkZSA8bWFwPg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZS5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdGhyZWFkL0RlZmF1bHRUaHJlYWRNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZUVudHJ5LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3V0aWwvU3RyaW5nQ2FjaGUuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUuaCINCi0jaW5jbHVkZSAiU3luY2hyb25pemVkLmgiDQotI2luY2x1ZGUgInRhYmxlcy9UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24uaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLmgiDQotDQotDQotY29uc3QgY2hhciBOZXR3b3JrVGFibGU6OlBBVEhfU0VQQVJBVE9SX0NIQVIgPSAnLyc7DQotY29uc3Qgc3RkOjpzdHJpbmcgTmV0d29ya1RhYmxlOjpQQVRIX1NFUEFSQVRPUigiLyIpOw0KLWNvbnN0IGludCBOZXR3b3JrVGFibGU6OkRFRkFVTFRfUE9SVCA9IDE3MzU7DQotDQotRGVmYXVsdFRocmVhZE1hbmFnZXIgTmV0d29ya1RhYmxlOjp0aHJlYWRNYW5hZ2VyOw0KLU5ldHdvcmtUYWJsZVByb3ZpZGVyKiBOZXR3b3JrVGFibGU6OnN0YXRpY1Byb3ZpZGVyID0gTlVMTDsNCi1OZXR3b3JrVGFibGVNb2RlKiBOZXR3b3JrVGFibGU6Om1vZGUgPSAmTmV0d29ya1RhYmxlTW9kZTo6U2VydmVyOw0KLWludCBOZXR3b3JrVGFibGU6OnBvcnQgPSBERUZBVUxUX1BPUlQ7DQotc3RkOjpzdHJpbmcgTmV0d29ya1RhYmxlOjppcEFkZHJlc3M7DQotUmVlbnRyYW50U2VtYXBob3JlIE5ldHdvcmtUYWJsZTo6U1RBVElDX0xPQ0s7DQotDQotDQotDQotDQotDQotDQotdm9pZCBOZXR3b3JrVGFibGU6OkNoZWNrSW5pdCgpew0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmMoU1RBVElDX0xPQ0spOw0KLQkJaWYoc3RhdGljUHJvdmlkZXIhPU5VTEwpDQotCQkJdGhyb3cgbmV3IElsbGVnYWxTdGF0ZUV4Y2VwdGlvbigiTmV0d29yayB0YWJsZXMgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZCIpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpJbml0aWFsaXplKCkgew0KLQlDaGVja0luaXQoKTsNCi0Jc3RhdGljUHJvdmlkZXIgPSBuZXcgTmV0d29ya1RhYmxlUHJvdmlkZXIoKihtb2RlLT5DcmVhdGVOb2RlKGlwQWRkcmVzcy5jX3N0cigpLCBwb3J0LCB0aHJlYWRNYW5hZ2VyKSkpOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZTo6U2V0VGFibGVQcm92aWRlcihOZXR3b3JrVGFibGVQcm92aWRlciogcHJvdmlkZXIpew0KLQlDaGVja0luaXQoKTsNCi0Jc3RhdGljUHJvdmlkZXIgPSBwcm92aWRlcjsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGU6OlNldENsaWVudE1vZGUoKXsNCi0JQ2hlY2tJbml0KCk7DQotCW1vZGUgPSAmTmV0d29ya1RhYmxlTW9kZTo6Q2xpZW50Ow0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZTo6U2V0U2VydmVyTW9kZSgpew0KLQlDaGVja0luaXQoKTsNCi0JbW9kZSA9ICZOZXR3b3JrVGFibGVNb2RlOjpTZXJ2ZXI7DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpTZXRUZWFtKGludCB0ZWFtKXsNCi0JY2hhciB0bXBbMzBdOw0KLQlzcHJpbnRmKHRtcCwgIiVkLiVkLiVkLiVkXG4iLCAxMCwgdGVhbS8xMDAsIHRlYW0lMTAwLCAyKTsNCi0JU2V0SVBBZGRyZXNzKHRtcCk7DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpTZXRJUEFkZHJlc3MoY29uc3QgY2hhciogYWRkcmVzcyl7DQotCUNoZWNrSW5pdCgpOw0KLQlpcEFkZHJlc3MgPSBhZGRyZXNzOw0KLX0NCi0NCi1OZXR3b3JrVGFibGUqIE5ldHdvcmtUYWJsZTo6R2V0VGFibGUoc3RkOjpzdHJpbmcga2V5KSB7DQotCWlmKHN0YXRpY1Byb3ZpZGVyPT1OVUxMKXsNCi0JCUluaXRpYWxpemUoKTsNCi0JfQ0KLQlzdGQ6OnN0cmluZyB0bXAoUEFUSF9TRVBBUkFUT1IpOw0KLQl0bXArPWtleTsNCi0JcmV0dXJuIChOZXR3b3JrVGFibGUqKXN0YXRpY1Byb3ZpZGVyLT5HZXRUYWJsZSh0bXApOw0KLX0NCi0NCi0NCi0NCi1OZXR3b3JrVGFibGU6Ok5ldHdvcmtUYWJsZShzdGQ6OnN0cmluZyBfcGF0aCwgTmV0d29ya1RhYmxlUHJvdmlkZXImIF9wcm92aWRlcikgOg0KLQkJcGF0aChfcGF0aCksIGVudHJ5Q2FjaGUoX3BhdGgpLCBhYnNvbHV0ZUtleUNhY2hlKF9wYXRoKSwgcHJvdmlkZXIoX3Byb3ZpZGVyKSwgbm9kZShwcm92aWRlci5HZXROb2RlKCkpIHsNCi19DQotTmV0d29ya1RhYmxlOjp+TmV0d29ya1RhYmxlKCl7DQotfQ0KLQ0KLWJvb2wgTmV0d29ya1RhYmxlOjpJc0Nvbm5lY3RlZCgpIHsNCi0JcmV0dXJuIG5vZGUuSXNDb25uZWN0ZWQoKTsNCi19DQotDQotYm9vbCBOZXR3b3JrVGFibGU6OklzU2VydmVyKCkgew0KLQlyZXR1cm4gbm9kZS5Jc1NlcnZlcigpOw0KLX0NCi0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZTo6QWRkQ29ubmVjdGlvbkxpc3RlbmVyKElSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIGltbWVkaWF0ZU5vdGlmeSkgew0KLQltYXA8SVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciosIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIqPjo6aXRlcmF0b3IgaXRyID0gY29ubmVjdGlvbkxpc3RlbmVyTWFwLmZpbmQobGlzdGVuZXIpOw0KLQlpZihpdHIgIT0gY29ubmVjdGlvbkxpc3RlbmVyTWFwLmVuZCgpKXsNCi0JCXRocm93IElsbGVnYWxTdGF0ZUV4Y2VwdGlvbigiQ2Fubm90IGFkZCB0aGUgc2FtZSBsaXN0ZW5lciB0d2ljZSIpOw0KLQl9DQotCWVsc2V7DQotCQlOZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyKiBhZGFwdGVyID0gbmV3IE5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIodGhpcywgbGlzdGVuZXIpOw0KLQkJY29ubmVjdGlvbkxpc3RlbmVyTWFwW2xpc3RlbmVyXSA9IGFkYXB0ZXI7DQotCQlub2RlLkFkZENvbm5lY3Rpb25MaXN0ZW5lcihhZGFwdGVyLCBpbW1lZGlhdGVOb3RpZnkpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpSZW1vdmVDb25uZWN0aW9uTGlzdGVuZXIoSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogbGlzdGVuZXIpIHsNCi0JbWFwPElSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIqLCBOZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyKj46Oml0ZXJhdG9yIGl0ciA9IGNvbm5lY3Rpb25MaXN0ZW5lck1hcC5maW5kKGxpc3RlbmVyKTsNCi0JaWYoaXRyICE9IGNvbm5lY3Rpb25MaXN0ZW5lck1hcC5lbmQoKSl7DQotCQlub2RlLlJlbW92ZUNvbm5lY3Rpb25MaXN0ZW5lcihpdHItPnNlY29uZCk7DQotCQlkZWxldGUgaXRyLT5zZWNvbmQ7DQotCQljb25uZWN0aW9uTGlzdGVuZXJNYXAuZXJhc2UoaXRyKTsNCi0JfQ0KLX0NCi0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZTo6QWRkVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIpIHsNCi0JQWRkVGFibGVMaXN0ZW5lcihsaXN0ZW5lciwgZmFsc2UpOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZTo6QWRkVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KSB7DQotCXN0ZDo6c3RyaW5nIHRtcChwYXRoKTsNCi0JdG1wKz1QQVRIX1NFUEFSQVRPUjsNCi0JTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyKiBhZGFwdGVyID0gbmV3IE5ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlcih0bXAsIHRoaXMsIGxpc3RlbmVyKTsNCi0JbGlzdGVuZXJNYXAuaW5zZXJ0ICggcGFpcjxJVGFibGVMaXN0ZW5lciosSVRhYmxlTGlzdGVuZXIqPihsaXN0ZW5lciwgYWRhcHRlcikgKTsNCi0Jbm9kZS5BZGRUYWJsZUxpc3RlbmVyKGFkYXB0ZXIsIGltbWVkaWF0ZU5vdGlmeSk7DQotfQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpBZGRUYWJsZUxpc3RlbmVyKHN0ZDo6c3RyaW5nIGtleSwgSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIGltbWVkaWF0ZU5vdGlmeSkgew0KLQlOZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIqIGFkYXB0ZXIgPSBuZXcgTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyKGtleSwgYWJzb2x1dGVLZXlDYWNoZS5HZXQoa2V5KSwgdGhpcywgbGlzdGVuZXIpOw0KLQlsaXN0ZW5lck1hcC5pbnNlcnQgKCBwYWlyPElUYWJsZUxpc3RlbmVyKixJVGFibGVMaXN0ZW5lcio+KGxpc3RlbmVyLCBhZGFwdGVyKSApOw0KLQlub2RlLkFkZFRhYmxlTGlzdGVuZXIoYWRhcHRlciwgaW1tZWRpYXRlTm90aWZ5KTsNCi19DQotdm9pZCBOZXR3b3JrVGFibGU6OkFkZFN1YlRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKSB7DQotCU5ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlciogYWRhcHRlciA9IG5ldyBOZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIocGF0aCwgdGhpcywgbGlzdGVuZXIpOw0KLQlsaXN0ZW5lck1hcC5pbnNlcnQgKCBwYWlyPElUYWJsZUxpc3RlbmVyKixJVGFibGVMaXN0ZW5lcio+KGxpc3RlbmVyLCBhZGFwdGVyKSApOw0KLQlub2RlLkFkZFRhYmxlTGlzdGVuZXIoYWRhcHRlciwgdHJ1ZSk7DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpSZW1vdmVUYWJsZUxpc3RlbmVyKElUYWJsZUxpc3RlbmVyKiBsaXN0ZW5lcikgew0KLQltdWx0aW1hcDxJVGFibGVMaXN0ZW5lciosSVRhYmxlTGlzdGVuZXIqPjo6aXRlcmF0b3IgaXRyOw0KLQlwYWlyPG11bHRpbWFwPElUYWJsZUxpc3RlbmVyKixJVGFibGVMaXN0ZW5lcio+OjppdGVyYXRvcixtdWx0aW1hcDxJVGFibGVMaXN0ZW5lciosSVRhYmxlTGlzdGVuZXIqPjo6aXRlcmF0b3I+IGl0cnMgPSBsaXN0ZW5lck1hcC5lcXVhbF9yYW5nZShsaXN0ZW5lcik7DQotCWZvciAoaXRyPWl0cnMuZmlyc3Q7IGl0ciE9aXRycy5zZWNvbmQ7ICsraXRyKXsNCi0JCW5vZGUuUmVtb3ZlVGFibGVMaXN0ZW5lcihpdHItPnNlY29uZCk7DQotCQlkZWxldGUgaXRyLT5zZWNvbmQ7DQotCX0NCi0JbGlzdGVuZXJNYXAuZXJhc2UoaXRycy5maXJzdCwgaXRycy5zZWNvbmQpOw0KLX0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeSogTmV0d29ya1RhYmxlOjpHZXRFbnRyeShzdGQ6OnN0cmluZyBrZXkpew0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQlyZXR1cm4gZW50cnlDYWNoZS5HZXQoa2V5KTsNCi0JfQ0KLX0NCi0NCi0NCi1OZXR3b3JrVGFibGUqIE5ldHdvcmtUYWJsZTo6R2V0U3ViVGFibGUoc3RkOjpzdHJpbmcga2V5KSB7DQotCXsgDQotCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCXJldHVybiAoTmV0d29ya1RhYmxlKilwcm92aWRlci5HZXRUYWJsZShhYnNvbHV0ZUtleUNhY2hlLkdldChrZXkpKTsNCi0JfQ0KLX0NCi0NCi0NCi1ib29sIE5ldHdvcmtUYWJsZTo6Q29udGFpbnNLZXkoc3RkOjpzdHJpbmcga2V5KSB7DQotCXJldHVybiBub2RlLkNvbnRhaW5zS2V5KGFic29sdXRlS2V5Q2FjaGUuR2V0KGtleSkpOw0KLX0NCi0JDQotYm9vbCBOZXR3b3JrVGFibGU6OkNvbnRhaW5zU3ViVGFibGUoc3RkOjpzdHJpbmcga2V5KXsNCi0gICAgICAgIHN0ZDo6c3RyaW5nIHN1YnRhYmxlUHJlZml4KGFic29sdXRlS2V5Q2FjaGUuR2V0KGtleSkpOw0KLSAgICAgICAgc3VidGFibGVQcmVmaXgrPVBBVEhfU0VQQVJBVE9SOw0KLQlzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4qIGtleXMgPSBub2RlLkdldEVudHJ5U3RvcmUoKS5rZXlzKCk7DQotCWZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGk8a2V5cy0+c2l6ZSgpOyArK2kpew0KLQkJaWYoa2V5cy0+YXQoaSkuY29tcGFyZSgwLCBzdWJ0YWJsZVByZWZpeC5zaXplKCksIHN1YnRhYmxlUHJlZml4KT09MCl7DQotCQkJZGVsZXRlIGtleXM7DQotCQkJcmV0dXJuIHRydWU7DQotCQl9DQotCX0NCi0JZGVsZXRlIGtleXM7DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotDQotdm9pZCBOZXR3b3JrVGFibGU6OlB1dE51bWJlcihzdGQ6OnN0cmluZyBrZXksIGRvdWJsZSB2YWx1ZSkgew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLmYgPSB2YWx1ZTsNCi0JUHV0VmFsdWUoa2V5LCAmRGVmYXVsdEVudHJ5VHlwZXM6OkRPVUJMRSwgZVZhbHVlKTsNCi19DQotDQotDQotZG91YmxlIE5ldHdvcmtUYWJsZTo6R2V0TnVtYmVyKHN0ZDo6c3RyaW5nIGtleSkgew0KLQlyZXR1cm4gbm9kZS5HZXREb3VibGUoYWJzb2x1dGVLZXlDYWNoZS5HZXQoa2V5KSk7DQotfQ0KLQ0KLQ0KLWRvdWJsZSBOZXR3b3JrVGFibGU6OkdldE51bWJlcihzdGQ6OnN0cmluZyBrZXksIGRvdWJsZSBkZWZhdWx0VmFsdWUpIHsNCi0JdHJ5IHsNCi0JCXJldHVybiBub2RlLkdldERvdWJsZShhYnNvbHV0ZUtleUNhY2hlLkdldChrZXkpKTsNCi0JfSBjYXRjaCAoVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uJiBlKSB7DQotCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpQdXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5LCBzdGQ6OnN0cmluZyB2YWx1ZSkgew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLnB0ciA9ICZ2YWx1ZTsNCi0JUHV0VmFsdWUoa2V5LCAmRGVmYXVsdEVudHJ5VHlwZXM6OlNUUklORywgZVZhbHVlKTsNCi19DQotDQotDQotc3RkOjpzdHJpbmcgTmV0d29ya1RhYmxlOjpHZXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5KSB7DQotCXJldHVybiBub2RlLkdldFN0cmluZyhhYnNvbHV0ZUtleUNhY2hlLkdldChrZXkpKTsNCi19DQotDQotDQotc3RkOjpzdHJpbmcgTmV0d29ya1RhYmxlOjpHZXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5LCBzdGQ6OnN0cmluZyBkZWZhdWx0VmFsdWUpIHsNCi0JdHJ5IHsNCi0JCXJldHVybiBub2RlLkdldFN0cmluZyhhYnNvbHV0ZUtleUNhY2hlLkdldChrZXkpKTsNCi0JfSBjYXRjaCAoVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uJiBlKSB7DQotCQlyZXR1cm4gZGVmYXVsdFZhbHVlOw0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpQdXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleSwgYm9vbCB2YWx1ZSkgew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLmIgPSB2YWx1ZTsNCi0JUHV0VmFsdWUoa2V5LCAmRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU4sIGVWYWx1ZSk7DQotfQ0KLQ0KLQ0KLWJvb2wgTmV0d29ya1RhYmxlOjpHZXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleSkgew0KLQlyZXR1cm4gbm9kZS5HZXRCb29sZWFuKGFic29sdXRlS2V5Q2FjaGUuR2V0KGtleSkpOw0KLX0NCi0NCi0NCi1ib29sIE5ldHdvcmtUYWJsZTo6R2V0Qm9vbGVhbihzdGQ6OnN0cmluZyBrZXksIGJvb2wgZGVmYXVsdFZhbHVlKSB7DQotCXRyeSB7DQotCQlyZXR1cm4gbm9kZS5HZXRCb29sZWFuKGFic29sdXRlS2V5Q2FjaGUuR2V0KGtleSkpOw0KLQl9IGNhdGNoIChUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24mIGUpIHsNCi0JCXJldHVybiBkZWZhdWx0VmFsdWU7DQotCX0NCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGU6OlB1dFZhbHVlKHN0ZDo6c3RyaW5nIGtleSwgTmV0d29ya1RhYmxlRW50cnlUeXBlKiB0eXBlLCBFbnRyeVZhbHVlIHZhbHVlKXsNCi0JTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gZW50cnlDYWNoZS5HZXQoa2V5KTsNCi0JaWYoZW50cnkhPU5VTEwpDQotCQlub2RlLlB1dFZhbHVlKGVudHJ5LCB2YWx1ZSk7Ly9UT0RPIHBhc3MgdHlwZSBhbG9uZyBvciBkbyBzb21lIGtpbmQgb2YgdHlwZSBjaGVjaw0KLQllbHNlDQotCQlub2RlLlB1dFZhbHVlKGFic29sdXRlS2V5Q2FjaGUuR2V0KGtleSksIHR5cGUsIHZhbHVlKTsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGU6OlJldHJpZXZlVmFsdWUoc3RkOjpzdHJpbmcga2V5LCBDb21wbGV4RGF0YSYgZXh0ZXJuYWxWYWx1ZSkgew0KLQlub2RlLnJldHJpZXZlVmFsdWUoYWJzb2x1dGVLZXlDYWNoZS5HZXQoa2V5KSwgZXh0ZXJuYWxWYWx1ZSk7DQotfQ0KLQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlOjpQdXRWYWx1ZShzdGQ6OnN0cmluZyBrZXksIENvbXBsZXhEYXRhJiB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUucHRyID0gJnZhbHVlOw0KLQlQdXRWYWx1ZShrZXksICZ2YWx1ZS5HZXRUeXBlKCksIGVWYWx1ZSk7DQotfQ0KLQ0KLQ0KLUVudHJ5VmFsdWUgTmV0d29ya1RhYmxlOjpHZXRWYWx1ZShzdGQ6OnN0cmluZyBrZXkpIHsNCi0JcmV0dXJuIG5vZGUuR2V0VmFsdWUoYWJzb2x1dGVLZXlDYWNoZS5HZXQoa2V5KSk7DQotfQ0KLQ0KLUVudHJ5VmFsdWUgTmV0d29ya1RhYmxlOjpHZXRWYWx1ZShzdGQ6OnN0cmluZyBrZXksIEVudHJ5VmFsdWUgZGVmYXVsdFZhbHVlKSB7DQotCXRyeSB7DQotCQlyZXR1cm4gbm9kZS5HZXRWYWx1ZShhYnNvbHV0ZUtleUNhY2hlLkdldChrZXkpKTsNCi0JfSBjYXRjaChUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24mIGUpew0KLQkJcmV0dXJuIGRlZmF1bHRWYWx1ZTsNCi0JfQ0KLX0NCi0NCi0NCi0NCi0NCi0NCi0NCi0vL05ldHdvcmtUYWJsZUtleUNhY2hlDQotTmV0d29ya1RhYmxlS2V5Q2FjaGU6Ok5ldHdvcmtUYWJsZUtleUNhY2hlKHN0ZDo6c3RyaW5nIF9wYXRoKTpwYXRoKF9wYXRoKXt9DQotTmV0d29ya1RhYmxlS2V5Q2FjaGU6On5OZXR3b3JrVGFibGVLZXlDYWNoZSgpe30NCi1zdGQ6OnN0cmluZyBOZXR3b3JrVGFibGVLZXlDYWNoZTo6Q2FsYyhjb25zdCBzdGQ6OnN0cmluZyYga2V5KXsNCi0gIHN0ZDo6c3RyaW5nIHRtcChwYXRoKTsNCi0gIHRtcCs9TmV0d29ya1RhYmxlOjpQQVRIX1NFUEFSQVRPUjsNCi0gIHRtcCs9a2V5Ow0KLSAgcmV0dXJuIHRtcDsNCi19DQotLy9FbnRyeSBDYWNoZQ0KLUVudHJ5Q2FjaGU6OkVudHJ5Q2FjaGUoc3RkOjpzdHJpbmcmIF9wYXRoKTpwYXRoKF9wYXRoKXt9DQotRW50cnlDYWNoZTo6fkVudHJ5Q2FjaGUoKXt9DQotDQotTmV0d29ya1RhYmxlRW50cnkqIEVudHJ5Q2FjaGU6OkdldChzdGQ6OnN0cmluZyYga2V5KXsNCi0JcmV0dXJuIGNhY2hlW2tleV07DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjQ0ZmNkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMzcgKzAsMCBAQAotI2lmbmRlZiBfTkVUV09SS1RBQkxFX0hfDQotI2RlZmluZSBfTkVUV09SS1RBQkxFX0hfDQotDQotY2xhc3MgTmV0d29ya1RhYmxlOw0KLWNsYXNzIE5ldHdvcmtUYWJsZUtleUNhY2hlOw0KLWNsYXNzIEVudHJ5Q2FjaGU7DQotDQotI2luY2x1ZGUgPG1hcD4NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JUmVtb3RlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdXRpbC9TdHJpbmdDYWNoZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTW9kZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyLmgiDQotDQotDQotDQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsNCi0NCi0NCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVLZXlDYWNoZTogcHVibGljIFN0cmluZ0NhY2hlew0KLXByaXZhdGU6DQotCWNvbnN0IHN0ZDo6c3RyaW5nIHBhdGg7DQotDQotcHVibGljOiANCi0JTmV0d29ya1RhYmxlS2V5Q2FjaGUoc3RkOjpzdHJpbmcgcGF0aCk7DQotCX5OZXR3b3JrVGFibGVLZXlDYWNoZSgpOw0KLQ0KLQlzdGQ6OnN0cmluZyBDYWxjKGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXkpOw0KLX07DQotDQotDQotY2xhc3MgRW50cnlDYWNoZSB7DQotcHJpdmF0ZToNCi0JbWFwPHN0ZDo6c3RyaW5nLCBOZXR3b3JrVGFibGVFbnRyeSo+IGNhY2hlOw0KLQlzdGQ6OnN0cmluZyYgcGF0aDsNCi1wdWJsaWM6DQotCUVudHJ5Q2FjaGUoc3RkOjpzdHJpbmcmIHBhdGgpOw0KLQl+RW50cnlDYWNoZSgpOw0KLQkNCi0JTmV0d29ya1RhYmxlRW50cnkqIEdldChzdGQ6OnN0cmluZyYga2V5KTsNCi19Ow0KLQ0KLQ0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZSA6IHB1YmxpYyBJVGFibGUsIElSZW1vdGUgew0KLQkNCi1wcml2YXRlOg0KLQlzdGF0aWMgRGVmYXVsdFRocmVhZE1hbmFnZXIgdGhyZWFkTWFuYWdlcjsNCi0Jc3RhdGljIE5ldHdvcmtUYWJsZVByb3ZpZGVyKiBzdGF0aWNQcm92aWRlcjsNCi0Jc3RhdGljIE5ldHdvcmtUYWJsZU1vZGUqIG1vZGU7DQotCXN0YXRpYyBpbnQgcG9ydDsNCi0Jc3RhdGljIHN0ZDo6c3RyaW5nIGlwQWRkcmVzczsNCi0Jc3RhdGljIFJlZW50cmFudFNlbWFwaG9yZSBTVEFUSUNfTE9DSzsNCi0JDQotCQ0KLQkNCi0Jc3RkOjpzdHJpbmcgcGF0aDsNCi0JRW50cnlDYWNoZSBlbnRyeUNhY2hlOw0KLQlOZXR3b3JrVGFibGVLZXlDYWNoZSBhYnNvbHV0ZUtleUNhY2hlOw0KLQlOZXR3b3JrVGFibGVQcm92aWRlciYgcHJvdmlkZXI7DQotCU5ldHdvcmtUYWJsZU5vZGUmIG5vZGU7DQotCVJlZW50cmFudFNlbWFwaG9yZSBMT0NLOw0KLQkNCi0JDQotCW1hcDxJUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyKiwgTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlcio+IGNvbm5lY3Rpb25MaXN0ZW5lck1hcDsNCi0JbXVsdGltYXA8SVRhYmxlTGlzdGVuZXIqLCBJVGFibGVMaXN0ZW5lcio+IGxpc3RlbmVyTWFwOw0KLQkNCi0Jc3RhdGljIHZvaWQgQ2hlY2tJbml0KCk7DQotCQ0KLQlOZXR3b3JrVGFibGVFbnRyeSogR2V0RW50cnkoc3RkOjpzdHJpbmcga2V5KTsNCi0JDQotcHVibGljOg0KLQ0KLQlzdGF0aWMgY29uc3QgY2hhciBQQVRIX1NFUEFSQVRPUl9DSEFSOw0KLQkvKioNCi0JICogVGhlIHBhdGggc2VwYXJhdG9yIGZvciBzdWItdGFibGVzIGFuZCBrZXlzDQotCSAqIA0KLQkgKi8NCi0Jc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIFBBVEhfU0VQQVJBVE9SOw0KLQkvKioNCi0JICogVGhlIGRlZmF1bHQgcG9ydCB0aGF0IG5ldHdvcmsgdGFibGVzIG9wZXJhdGVzIG9uDQotCSAqLw0KLQlzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfUE9SVDsNCi0JDQotCS8qKg0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQlzdGF0aWMgdm9pZCBJbml0aWFsaXplKCk7DQotCQ0KLQkvKioNCi0JICogc2V0IHRoZSB0YWJsZSBwcm92aWRlciBmb3Igc3RhdGljIG5ldHdvcmsgdGFibGVzIG1ldGhvZHMNCi0JICogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgZ2V0VGFibGUNCi0JICovDQotCXN0YXRpYyB2b2lkIFNldFRhYmxlUHJvdmlkZXIoTmV0d29ya1RhYmxlUHJvdmlkZXIqIHByb3ZpZGVyKTsNCi0JDQotCS8qKg0KLQkgKiBzZXQgdGhhdCBuZXR3b3JrIHRhYmxlcyBzaG91bGQgYmUgYSBjbGllbnQNCi0JICogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgaW5pdGFsaXplIG9yIEdldFRhYmxlDQotCSAqLw0KLQlzdGF0aWMgdm9pZCBTZXRDbGllbnRNb2RlKCk7DQotCQ0KLQkvKioNCi0JICogc2V0IHRoYXQgbmV0d29yayB0YWJsZXMgc2hvdWxkIGJlIGEgc2VydmVyDQotCSAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGluaXRhbGl6ZSBvciBHZXRUYWJsZQ0KLQkgKi8NCi0Jc3RhdGljIHZvaWQgU2V0U2VydmVyTW9kZSgpOw0KLQkNCi0JLyoqDQotCSAqIHNldCB0aGUgdGVhbSB0aGUgcm9ib3QgaXMgY29uZmlndXJlZCBmb3IgKHRoaXMgd2lsbCBzZXQgdGhlIGlwIGFkZHJlc3MgdGhhdCBuZXR3b3JrIHRhYmxlcyB3aWxsIGNvbm5lY3QgdG8gaW4gY2xpZW50IG1vZGUpDQotCSAqIFRoaXMgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGluaXRhbGl6ZSBvciBHZXRUYWJsZQ0KLQkgKiBAcGFyYW0gdGVhbSB0aGUgdGVhbSBudW1iZXINCi0JICovDQotCXN0YXRpYyB2b2lkIFNldFRlYW0oaW50IHRlYW0pOw0KLQkvKioNCi0JICogQHBhcmFtIGFkZHJlc3MgdGhlIGFkcmVzcyB0aGF0IG5ldHdvcmsgdGFibGVzIHdpbGwgY29ubmVjdCB0byBpbiBjbGllbnQgbW9kZQ0KLQkgKi8NCi0Jc3RhdGljIHZvaWQgU2V0SVBBZGRyZXNzKGNvbnN0IGNoYXIqIGFkZHJlc3MpOw0KLQkvKioNCi0JICogR2V0cyB0aGUgdGFibGUgd2l0aCB0aGUgc3BlY2lmaWVkIGtleS4gSWYgdGhlIHRhYmxlIGRvZXMgbm90IGV4aXN0LCBhIG5ldyB0YWJsZSB3aWxsIGJlIGNyZWF0ZWQuPGJyPg0KLQkgKiBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBpbml0aWFsaXplIG5ldHdvcmsgdGFibGVzIGlmIGl0IGhhcyBub3QgYmVlbiBhbHJlYWR5DQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSBuYW1lDQotCSAqIEByZXR1cm4gdGhlIG5ldHdvcmsgdGFibGUgcmVxdWVzdGVkDQotCSAqLw0KLQlzdGF0aWMgTmV0d29ya1RhYmxlKiBHZXRUYWJsZShzdGQ6OnN0cmluZyBrZXkpOw0KLQkNCi0NCi0JTmV0d29ya1RhYmxlKHN0ZDo6c3RyaW5nIHBhdGgsIE5ldHdvcmtUYWJsZVByb3ZpZGVyJiBwcm92aWRlcik7DQotCXZpcnR1YWwgfk5ldHdvcmtUYWJsZSgpOw0KLQkNCi0JYm9vbCBJc0Nvbm5lY3RlZCgpOw0KLQ0KLQlib29sIElzU2VydmVyKCk7DQotCQ0KLQkNCi0JDQotCQ0KLQkNCi0JDQotCQ0KLQl2b2lkIEFkZENvbm5lY3Rpb25MaXN0ZW5lcihJUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCBpbW1lZGlhdGVOb3RpZnkpOw0KLQ0KLQl2b2lkIFJlbW92ZUNvbm5lY3Rpb25MaXN0ZW5lcihJUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyKiBsaXN0ZW5lcik7DQotCQ0KLQ0KLQl2b2lkIEFkZFRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKTsNCi0NCi0JDQotCXZvaWQgQWRkVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KTsNCi0Jdm9pZCBBZGRUYWJsZUxpc3RlbmVyKHN0ZDo6c3RyaW5nIGtleSwgSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIGltbWVkaWF0ZU5vdGlmeSk7DQotCXZvaWQgQWRkU3ViVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIpOw0KLQ0KLQl2b2lkIFJlbW92ZVRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKTsNCi0JDQotCQ0KLQ0KLQkvKioNCi0JICogUmV0dXJucyB0aGUgdGFibGUgYXQgdGhlIHNwZWNpZmllZCBrZXkuIElmIHRoZXJlIGlzIG5vIHRhYmxlIGF0IHRoZQ0KLQkgKiBzcGVjaWZpZWQga2V5LCBpdCB3aWxsIGNyZWF0ZSBhIG5ldyB0YWJsZQ0KLQkgKiANCi0JICogQHBhcmFtIGtleQ0KLQkgKiAgICAgICAgICAgIHRoZSBrZXkgbmFtZQ0KLQkgKiBAcmV0dXJuIHRoZSBuZXR3b3JrdGFibGUgdG8gYmUgcmV0dXJuZWQNCi0JICovDQotCU5ldHdvcmtUYWJsZSogR2V0U3ViVGFibGUoc3RkOjpzdHJpbmcga2V5KTsNCi0NCi0NCi0JLyoqDQotCSAqIENoZWNrcyB0aGUgdGFibGUgYW5kIHRlbGxzIGlmIGl0IGNvbnRhaW5zIHRoZSBzcGVjaWZpZWQga2V5DQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSB0byBiZSBjaGVja2VkDQotCSAqLw0KLQlib29sIENvbnRhaW5zS2V5KHN0ZDo6c3RyaW5nIGtleSk7DQotICAgICAgICANCi0JYm9vbCBDb250YWluc1N1YlRhYmxlKHN0ZDo6c3RyaW5nIGtleSk7DQotDQotCS8qKg0KLQkgKiBNYXBzIHRoZSBzcGVjaWZpZWQga2V5IHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgaW4gdGhpcyB0YWJsZS4gVGhlIGtleSBjYW4NCi0JICogbm90IGJlIG51bGwuIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhDQotCSAqIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleQ0KLQkgKiBAcGFyYW0gdmFsdWUNCi0JICogICAgICAgICAgICB0aGUgdmFsdWUNCi0JICovDQotCXZvaWQgUHV0TnVtYmVyKHN0ZDo6c3RyaW5nIGtleSwgZG91YmxlIHZhbHVlKTsNCi0NCi0JLyoqDQotCSAqIFJldHVybnMgdGhlIGtleSB0aGF0IHRoZSBuYW1lIG1hcHMgdG8uDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSBuYW1lDQotCSAqIEByZXR1cm4gdGhlIGtleQ0KLQkgKiBAdGhyb3dzIFRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbg0KLQkgKiAgICAgICAgICAgICBpZiB0aGUgc3BlY2lmaWVkIGtleSBpcyBudWxsDQotCSAqLw0KLQlkb3VibGUgR2V0TnVtYmVyKHN0ZDo6c3RyaW5nIGtleSk7DQotDQotCS8qKg0KLQkgKiBSZXR1cm5zIHRoZSBrZXkgdGhhdCB0aGUgbmFtZSBtYXBzIHRvLiBJZiB0aGUga2V5IGlzIG51bGwsIGl0IHdpbGwgcmV0dXJuDQotCSAqIHRoZSBkZWZhdWx0IHZhbHVlDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSBuYW1lDQotCSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUNCi0JICogICAgICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGUga2V5IGlzIG51bGwNCi0JICogQHJldHVybiB0aGUga2V5DQotCSAqLw0KLQlkb3VibGUgR2V0TnVtYmVyKHN0ZDo6c3RyaW5nIGtleSwgZG91YmxlIGRlZmF1bHRWYWx1ZSk7DQotDQotCS8qKg0KLQkgKiBNYXBzIHRoZSBzcGVjaWZpZWQga2V5IHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgaW4gdGhpcyB0YWJsZS4gVGhlIGtleSBjYW4NCi0JICogbm90IGJlIG51bGwuIFRoZSB2YWx1ZSBjYW4gYmUgcmV0cmlldmVkIGJ5IGNhbGxpbmcgdGhlIGdldCBtZXRob2Qgd2l0aCBhDQotCSAqIGtleSB0aGF0IGlzIGVxdWFsIHRvIHRoZSBvcmlnaW5hbCBrZXkuDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleQ0KLQkgKiBAcGFyYW0gdmFsdWUNCi0JICogICAgICAgICAgICB0aGUgdmFsdWUNCi0JICovDQotCXZvaWQgUHV0U3RyaW5nKHN0ZDo6c3RyaW5nIGtleSwgc3RkOjpzdHJpbmcgdmFsdWUpOw0KLQ0KLQkvKioNCi0JICogUmV0dXJucyB0aGUga2V5IHRoYXQgdGhlIG5hbWUgbWFwcyB0by4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkNCi0JICogICAgICAgICAgICB0aGUga2V5IG5hbWUNCi0JICogQHJldHVybiB0aGUga2V5DQotCSAqIEB0aHJvd3MgVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uDQotCSAqICAgICAgICAgICAgIGlmIHRoZSBzcGVjaWZpZWQga2V5IGlzIG51bGwNCi0JICovDQotCXN0ZDo6c3RyaW5nIEdldFN0cmluZyhzdGQ6OnN0cmluZyBrZXkpOw0KLQ0KLQkvKioNCi0JICogUmV0dXJucyB0aGUga2V5IHRoYXQgdGhlIG5hbWUgbWFwcyB0by4gSWYgdGhlIGtleSBpcyBudWxsLCBpdCB3aWxsIHJldHVybg0KLQkgKiB0aGUgZGVmYXVsdCB2YWx1ZQ0KLQkgKiANCi0JICogQHBhcmFtIGtleQ0KLQkgKiAgICAgICAgICAgIHRoZSBrZXkgbmFtZQ0KLQkgKiBAcGFyYW0gZGVmYXVsdFZhbHVlDQotCSAqICAgICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGtleSBpcyBudWxsDQotCSAqIEByZXR1cm4gdGhlIGtleQ0KLQkgKi8NCi0Jc3RkOjpzdHJpbmcgR2V0U3RyaW5nKHN0ZDo6c3RyaW5nIGtleSwgc3RkOjpzdHJpbmcgZGVmYXVsdFZhbHVlKTsNCi0NCi0JLyoqDQotCSAqIE1hcHMgdGhlIHNwZWNpZmllZCBrZXkgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZSBpbiB0aGlzIHRhYmxlLiBUaGUga2V5IGNhbg0KLQkgKiBub3QgYmUgbnVsbC4gVGhlIHZhbHVlIGNhbiBiZSByZXRyaWV2ZWQgYnkgY2FsbGluZyB0aGUgZ2V0IG1ldGhvZCB3aXRoIGENCi0JICoga2V5IHRoYXQgaXMgZXF1YWwgdG8gdGhlIG9yaWdpbmFsIGtleS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkNCi0JICogICAgICAgICAgICB0aGUga2V5DQotCSAqIEBwYXJhbSB2YWx1ZQ0KLQkgKiAgICAgICAgICAgIHRoZSB2YWx1ZQ0KLQkgKi8NCi0Jdm9pZCBQdXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleSwgYm9vbCB2YWx1ZSk7DQotDQotCS8qKg0KLQkgKiBSZXR1cm5zIHRoZSBrZXkgdGhhdCB0aGUgbmFtZSBtYXBzIHRvLg0KLQkgKiANCi0JICogQHBhcmFtIGtleQ0KLQkgKiAgICAgICAgICAgIHRoZSBrZXkgbmFtZQ0KLQkgKiBAcmV0dXJuIHRoZSBrZXkNCi0JICogQHRocm93cyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24NCi0JICogICAgICAgICAgICAgaWYgdGhlIHNwZWNpZmllZCBrZXkgaXMgbnVsbA0KLQkgKi8NCi0JYm9vbCBHZXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleSk7DQotDQotCS8qKg0KLQkgKiBSZXR1cm5zIHRoZSBrZXkgdGhhdCB0aGUgbmFtZSBtYXBzIHRvLiBJZiB0aGUga2V5IGlzIG51bGwsIGl0IHdpbGwgcmV0dXJuDQotCSAqIHRoZSBkZWZhdWx0IHZhbHVlDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSBuYW1lDQotCSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUNCi0JICogICAgICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGUga2V5IGlzIG51bGwNCi0JICogQHJldHVybiB0aGUga2V5DQotCSAqLw0KLQlib29sIEdldEJvb2xlYW4oc3RkOjpzdHJpbmcga2V5LCBib29sIGRlZmF1bHRWYWx1ZSk7DQotCQ0KLQ0KLQl2b2lkIFB1dFZhbHVlKHN0ZDo6c3RyaW5nIGtleSwgTmV0d29ya1RhYmxlRW50cnlUeXBlKiB0eXBlLCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0JDQotDQotICAgIHZvaWQgUmV0cmlldmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIENvbXBsZXhEYXRhJiBleHRlcm5hbFZhbHVlKTsNCi0gICAgICAgIA0KLQkvKioNCi0JICogTWFwcyB0aGUgc3BlY2lmaWVkIGtleSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlIGluIHRoaXMgdGFibGUuIFRoZSBrZXkgY2FuDQotCSAqIG5vdCBiZSBudWxsLiBUaGUgdmFsdWUgY2FuIGJlIHJldHJpZXZlZCBieSBjYWxsaW5nIHRoZSBnZXQgbWV0aG9kIHdpdGggYQ0KLQkgKiBrZXkgdGhhdCBpcyBlcXVhbCB0byB0aGUgb3JpZ2luYWwga2V5Lg0KLQkgKiANCi0JICogQHBhcmFtIGtleSB0aGUga2V5IG5hbWUNCi0JICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBiZSBwdXQNCi0JICovDQotCXZvaWQgUHV0VmFsdWUoc3RkOjpzdHJpbmcga2V5LCBDb21wbGV4RGF0YSYgdmFsdWUpOw0KLQkNCi0JLyoqDQotCSAqIFJldHVybnMgdGhlIGtleSB0aGF0IHRoZSBuYW1lIG1hcHMgdG8uDQotCSAqIE5PVEU6IElmIHRoZSB2YWx1ZSBpcyBhIGRvdWJsZSwgaXQgd2lsbCByZXR1cm4gYSBEb3VibGUgb2JqZWN0LA0KLQkgKiBub3QgYSBwcmltaXRpdmUuICBUbyBnZXQgdGhlIHByaW1pdGl2ZSwgdXNlIEdldERvdWJsZQ0KLQkgKiANCi0JICogQHBhcmFtIGtleQ0KLQkgKiAgICAgICAgICAgIHRoZSBrZXkgbmFtZQ0KLQkgKiBAcmV0dXJuIHRoZSBrZXkNCi0JICogQHRocm93cyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24NCi0JICogICAgICAgICAgICAgaWYgdGhlIHNwZWNpZmllZCBrZXkgaXMgbnVsbA0KLQkgKi8NCi0JRW50cnlWYWx1ZSBHZXRWYWx1ZShzdGQ6OnN0cmluZyBrZXkpOw0KLQkNCi0JLyoqDQotCSAqIFJldHVybnMgdGhlIGtleSB0aGF0IHRoZSBuYW1lIG1hcHMgdG8uIElmIHRoZSBrZXkgaXMgbnVsbCwgaXQgd2lsbCByZXR1cm4NCi0JICogdGhlIGRlZmF1bHQgdmFsdWUNCi0JICogTk9URTogSWYgdGhlIHZhbHVlIGlzIGEgZG91YmxlLCBpdCB3aWxsIHJldHVybiBhIERvdWJsZSBvYmplY3QsDQotCSAqIG5vdCBhIHByaW1pdGl2ZS4gIFRvIGdldCB0aGUgcHJpbWl0aXZlLCB1c2UgR2V0RG91YmxlDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5DQotCSAqICAgICAgICAgICAgdGhlIGtleSBuYW1lDQotCSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUNCi0JICogICAgICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGUga2V5IGlzIG51bGwNCi0JICogQHJldHVybiB0aGUga2V5DQotCSAqLw0KLQkgRW50cnlWYWx1ZSBHZXRWYWx1ZShzdGQ6OnN0cmluZyBrZXksIEVudHJ5VmFsdWUgZGVmYXVsdFZhbHVlKTsNCi0NCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzBjNThlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogT2N0IDE3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5oIg0KLQ0KLQ0KLU5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXI6Ok5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIoSVJlbW90ZSogX3RhcmdldFNvdXJjZSwgSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogX3RhcmdldExpc3RlbmVyKToNCi0JCQl0YXJnZXRTb3VyY2UoX3RhcmdldFNvdXJjZSksIHRhcmdldExpc3RlbmVyKF90YXJnZXRMaXN0ZW5lcil7fQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlcjo6Q29ubmVjdGVkKElSZW1vdGUqIHJlbW90ZSkgew0KLQl0YXJnZXRMaXN0ZW5lci0+Q29ubmVjdGVkKHRhcmdldFNvdXJjZSk7DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlcjo6RGlzY29ubmVjdGVkKElSZW1vdGUqIHJlbW90ZSkgew0KLQl0YXJnZXRMaXN0ZW5lci0+RGlzY29ubmVjdGVkKHRhcmdldFNvdXJjZSk7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYzQ1N2UuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IE9jdCAxNywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgTkVUV09SS1RBQkxFQ09OTkVDVElPTkxJU1RFTkVSQURBUFRFUl9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFQ09OTkVDVElPTkxJU1RFTkVSQURBUFRFUl9IXw0KLQ0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb25MaXN0ZW5lckFkYXB0ZXI7DQotDQotI2luY2x1ZGUgInRhYmxlcy9JUmVtb3RlLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyLmgiDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlQ29ubmVjdGlvbkxpc3RlbmVyQWRhcHRlciA6IHB1YmxpYyBJUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyew0KLXByaXZhdGU6DQotCUlSZW1vdGUqIHRhcmdldFNvdXJjZTsNCi0JSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogdGFyZ2V0TGlzdGVuZXI7DQotDQotcHVibGljOg0KLQlOZXR3b3JrVGFibGVDb25uZWN0aW9uTGlzdGVuZXJBZGFwdGVyKElSZW1vdGUqIHRhcmdldFNvdXJjZSwgSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogdGFyZ2V0TGlzdGVuZXIpOw0KLQl2b2lkIENvbm5lY3RlZChJUmVtb3RlKiByZW1vdGUpOw0KLQl2b2lkIERpc2Nvbm5lY3RlZChJUmVtb3RlKiByZW1vdGUpOw0KLX07DQotDQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRUNPTk5FQ1RJT05MSVNURU5FUkFEQVBURVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxNjBiYzQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogT2N0IDE3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyLmgiDQotDQotDQotDQotTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyOjpOZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIoc3RkOjpzdHJpbmcgX3JlbGF0aXZlS2V5LCBzdGQ6OnN0cmluZyBfZnVsbEtleSwgTmV0d29ya1RhYmxlKiBfdGFyZ2V0U291cmNlLCBJVGFibGVMaXN0ZW5lciogX3RhcmdldExpc3RlbmVyKToNCi0JCXJlbGF0aXZlS2V5KF9yZWxhdGl2ZUtleSksIGZ1bGxLZXkoX2Z1bGxLZXkpLCB0YXJnZXRTb3VyY2UoX3RhcmdldFNvdXJjZSksIHRhcmdldExpc3RlbmVyKF90YXJnZXRMaXN0ZW5lcil7fQ0KLQ0KLU5ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlcjo6fk5ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlcigpe30NCi0NCi12b2lkIE5ldHdvcmtUYWJsZUtleUxpc3RlbmVyQWRhcHRlcjo6VmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KSB7DQotCWlmKGtleT09ZnVsbEtleSl7DQotCQl0YXJnZXRMaXN0ZW5lci0+VmFsdWVDaGFuZ2VkKHRhcmdldFNvdXJjZSwgcmVsYXRpdmVLZXksIHZhbHVlLCBpc05ldyk7DQotCX0NCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZTIxNGIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVLZXlMaXN0ZW5lckFkYXB0ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRUtFWUxJU1RFTkVSQURBUFRFUl9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFS0VZTElTVEVORVJBREFQVEVSX0hfDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyOw0KLQ0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZS5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyIDogcHVibGljIElUYWJsZUxpc3RlbmVyew0KLXByaXZhdGU6DQotCXN0ZDo6c3RyaW5nIHJlbGF0aXZlS2V5Ow0KLQlzdGQ6OnN0cmluZyBmdWxsS2V5Ow0KLQlOZXR3b3JrVGFibGUqIHRhcmdldFNvdXJjZTsNCi0JSVRhYmxlTGlzdGVuZXIqIHRhcmdldExpc3RlbmVyOw0KLXB1YmxpYzoNCi0JTmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyKHN0ZDo6c3RyaW5nIHJlbGF0aXZlS2V5LCBzdGQ6OnN0cmluZyBmdWxsS2V5LCBOZXR3b3JrVGFibGUqIHRhcmdldFNvdXJjZSwgSVRhYmxlTGlzdGVuZXIqIHRhcmdldExpc3RlbmVyKTsNCi0JdmlydHVhbCB+TmV0d29ya1RhYmxlS2V5TGlzdGVuZXJBZGFwdGVyKCk7DQotICAgIHZvaWQgVmFsdWVDaGFuZ2VkKElUYWJsZSogc291cmNlLCBjb25zdCBzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIHZhbHVlLCBib29sIGlzTmV3KTsNCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBORVRXT1JLVEFCTEVLRVlMSVNURU5FUkFEQVBURVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyM2RjMDYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogT2N0IDE3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotDQotDQotDQotTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyOjpOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIoc3RkOjpzdHJpbmcgX3ByZWZpeCwgSVRhYmxlKiBfdGFyZ2V0U291cmNlLCBJVGFibGVMaXN0ZW5lciogX3RhcmdldExpc3RlbmVyKSA6DQotCXByZWZpeChfcHJlZml4KSwgdGFyZ2V0U291cmNlKF90YXJnZXRTb3VyY2UpLCB0YXJnZXRMaXN0ZW5lcihfdGFyZ2V0TGlzdGVuZXIpe30NCi0NCi1OZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXI6On5OZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIoKXt9DQotDQotdm9pZCBOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXI6OlZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldykgey8vVE9ETyB1c2Ugc3RyaW5nIGNhY2hlDQotCWlmKGtleS5jb21wYXJlKDAscHJlZml4LnNpemUoKSxwcmVmaXgpPT0wKXsNCi0JCXN0ZDo6c3RyaW5nIHJlbGF0aXZlS2V5ID0ga2V5LnN1YnN0cihwcmVmaXgubGVuZ3RoKCkpOw0KLQkJaWYoc3RkOjpzdHJpbmc6Om5wb3MgIT0gcmVsYXRpdmVLZXkuZmluZChOZXR3b3JrVGFibGU6OlBBVEhfU0VQQVJBVE9SX0NIQVIpKQ0KLQkJCXJldHVybjsNCi0JCXRhcmdldExpc3RlbmVyLT5WYWx1ZUNoYW5nZWQodGFyZ2V0U291cmNlLCByZWxhdGl2ZUtleSwgdmFsdWUsIGlzTmV3KTsNCi0JfQ0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWI5ODVhOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IE9jdCAxNywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgTkVUV09SS1RBQkxFTElTVEVORVJBREFQVEVSX0hfDQotI2RlZmluZSBORVRXT1JLVEFCTEVMSVNURU5FUkFEQVBURVJfSF8NCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXI7DQotDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGVMaXN0ZW5lci5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotI2luY2x1ZGUgPHN0cmluZz4NCi0NCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVMaXN0ZW5lckFkYXB0ZXIgOiBwdWJsaWMgSVRhYmxlTGlzdGVuZXJ7DQotcHJpdmF0ZToNCi0Jc3RkOjpzdHJpbmcgcHJlZml4Ow0KLQlJVGFibGUqIHRhcmdldFNvdXJjZTsNCi0JSVRhYmxlTGlzdGVuZXIqIHRhcmdldExpc3RlbmVyOw0KLXB1YmxpYzoNCi0JTmV0d29ya1RhYmxlTGlzdGVuZXJBZGFwdGVyKHN0ZDo6c3RyaW5nIHByZWZpeCwgSVRhYmxlKiB0YXJnZXRTb3VyY2UsIElUYWJsZUxpc3RlbmVyKiB0YXJnZXRMaXN0ZW5lcik7DQotCXZpcnR1YWwgfk5ldHdvcmtUYWJsZUxpc3RlbmVyQWRhcHRlcigpOw0KLSAgICB2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyk7DQotfTsNCi0NCi0NCi0jZW5kaWYgLyogTkVUV09SS1RBQkxFTElTVEVORVJBREFQVEVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVNb2RlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlTW9kZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzYWNlMzEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVNb2RlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlTW9kZS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvTlRUaHJlYWRNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZU5vZGUuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL05ldHdvcmtUYWJsZVNlcnZlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jbGllbnQvTmV0d29ya1RhYmxlQ2xpZW50LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtRmFjdG9yeS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUuaCINCi0NCi0NCi1OZXR3b3JrVGFibGVTZXJ2ZXJNb2RlIE5ldHdvcmtUYWJsZU1vZGU6OlNlcnZlcjsNCi1OZXR3b3JrVGFibGVDbGllbnRNb2RlIE5ldHdvcmtUYWJsZU1vZGU6OkNsaWVudDsNCi0NCi1OZXR3b3JrVGFibGVTZXJ2ZXJNb2RlOjpOZXR3b3JrVGFibGVTZXJ2ZXJNb2RlKCl7fQ0KLU5ldHdvcmtUYWJsZUNsaWVudE1vZGU6Ok5ldHdvcmtUYWJsZUNsaWVudE1vZGUoKXt9DQotDQotTmV0d29ya1RhYmxlTm9kZSogTmV0d29ya1RhYmxlU2VydmVyTW9kZTo6Q3JlYXRlTm9kZShjb25zdCBjaGFyKiBpcEFkZHJlc3MsIGludCBwb3J0LCBOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXIpew0KLQlJT1N0cmVhbVByb3ZpZGVyKiBzdHJlYW1Qcm92aWRlciA9IG5ldyBTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcihwb3J0KTsNCi0JcmV0dXJuIG5ldyBOZXR3b3JrVGFibGVTZXJ2ZXIoKnN0cmVhbVByb3ZpZGVyLCAqbmV3IE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIoKSwgdGhyZWFkTWFuYWdlcik7DQotfQ0KLU5ldHdvcmtUYWJsZU5vZGUqIE5ldHdvcmtUYWJsZUNsaWVudE1vZGU6OkNyZWF0ZU5vZGUoY29uc3QgY2hhciogaXBBZGRyZXNzLCBpbnQgcG9ydCwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyKXsNCi0JSU9TdHJlYW1GYWN0b3J5KiBzdHJlYW1GYWN0b3J5ID0gbmV3IFNvY2tldFN0cmVhbUZhY3RvcnkoaXBBZGRyZXNzLCBwb3J0KTsNCi0JcmV0dXJuIG5ldyBOZXR3b3JrVGFibGVDbGllbnQoKnN0cmVhbUZhY3RvcnksICpuZXcgTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlcigpLCB0aHJlYWRNYW5hZ2VyKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVNb2RlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjEzY2U4Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZU1vZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLSNpZm5kZWYgX05FVFdPUktUQUJMRU1PREVfSF8NCi0jZGVmaW5lIF9ORVRXT1JLVEFCTEVNT0RFX0hfDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlTW9kZTsNCi1jbGFzcyBOZXR3b3JrVGFibGVTZXJ2ZXJNb2RlOw0KLWNsYXNzIE5ldHdvcmtUYWJsZUNsaWVudE1vZGU7DQotDQotI2luY2x1ZGUgPHN0cmluZz4NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvTlRUaHJlYWRNYW5hZ2VyLmgiDQotDQotDQotLyoqDQotICogDQotICogUmVwcmVzZW50cyBhIGRpZmZlcmVudCBtb2RlcyB0aGF0IG5ldHdvcmsgdGFibGVzIGNhbiBiZSBjb25maWd1cmVkIGluDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgTmV0d29ya1RhYmxlTW9kZSB7DQotcHVibGljOg0KLQkNCi0JLyoqDQotCSAqIEBwYXJhbSBpcEFkZHJlc3MgdGhlIElQIGFkZHJlc3MgY29uZmlndXJlZCBieSB0aGUgdXNlcg0KLQkgKiBAcGFyYW0gcG9ydCB0aGUgcG9ydCBjb25maWd1cmVkIGJ5IHRoZSB1c2VyDQotCSAqIEBwYXJhbSB0aHJlYWRNYW5hZ2VyIHRoZSB0aHJlYWQgbWFuYWdlciB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aHJlYWRzIGluIHRoZSBub2RlDQotCSAqIEByZXR1cm4gYSBuZXcgbm9kZSB0aGF0IGNhbiBiYWNrIGEgbmV0d29yayB0YWJsZQ0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQl2aXJ0dWFsIE5ldHdvcmtUYWJsZU5vZGUqIENyZWF0ZU5vZGUoY29uc3QgY2hhciogaXBBZGRyZXNzLCBpbnQgcG9ydCwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyKSA9IDA7DQotCQ0KLQlzdGF0aWMgTmV0d29ya1RhYmxlU2VydmVyTW9kZSBTZXJ2ZXI7DQotCXN0YXRpYyBOZXR3b3JrVGFibGVDbGllbnRNb2RlIENsaWVudDsNCi19Ow0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZVNlcnZlck1vZGUgOiBwdWJsaWMgTmV0d29ya1RhYmxlTW9kZXsNCi1wdWJsaWM6DQotCU5ldHdvcmtUYWJsZVNlcnZlck1vZGUoKTsNCi0JdmlydHVhbCBOZXR3b3JrVGFibGVOb2RlKiBDcmVhdGVOb2RlKGNvbnN0IGNoYXIqIGlwQWRkcmVzcywgaW50IHBvcnQsIE5UVGhyZWFkTWFuYWdlciYgdGhyZWFkTWFuYWdlcik7DQotfTsNCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVDbGllbnRNb2RlIDogcHVibGljIE5ldHdvcmtUYWJsZU1vZGV7DQotcHVibGljOg0KLQlOZXR3b3JrVGFibGVDbGllbnRNb2RlKCk7DQotCXZpcnR1YWwgTmV0d29ya1RhYmxlTm9kZSogQ3JlYXRlTm9kZShjb25zdCBjaGFyKiBpcEFkZHJlc3MsIGludCBwb3J0LCBOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXIpOw0KLX07DQotDQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWViY2I3ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLSNpbmNsdWRlIDxtYXA+DQotI2luY2x1ZGUgPHN0cmluZz4NCi0NCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZVByb3ZpZGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZU5vZGUuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuaCINCi0NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5oIg0KLQ0KLQ0KLQ0KLXVzaW5nIG5hbWVzcGFjZSBzdGQ7DQotDQotCQkNCi0NCi1OZXR3b3JrVGFibGVQcm92aWRlcjo6TmV0d29ya1RhYmxlUHJvdmlkZXIoTmV0d29ya1RhYmxlTm9kZSYgX25vZGUpIDogbm9kZShfbm9kZSl7fQ0KLU5ldHdvcmtUYWJsZVByb3ZpZGVyOjp+TmV0d29ya1RhYmxlUHJvdmlkZXIoKXsNCi0gIHdoaWxlKHRhYmxlcy5zaXplKCk+MCl7DQotICAgIG1hcDxzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlKj46Oml0ZXJhdG9yIGl0ID0gdGFibGVzLmJlZ2luKCk7DQotICAgIGRlbGV0ZSBpdC0+c2Vjb25kOw0KLSAgICB0YWJsZXMuZXJhc2UoaXQpOw0KLSAgfQ0KLX0NCi0NCi1JVGFibGUqIE5ldHdvcmtUYWJsZVByb3ZpZGVyOjpHZXRSb290VGFibGUoKXsNCi0JcmV0dXJuIEdldFRhYmxlKCIiKTsNCi19DQotDQotSVRhYmxlKiBOZXR3b3JrVGFibGVQcm92aWRlcjo6R2V0VGFibGUoc3RkOjpzdHJpbmcga2V5KXsNCi0JaWYodGFibGVzLmZpbmQoa2V5KSAhPSB0YWJsZXMuZW5kKCkpDQotCXsNCi0JCXJldHVybiB0YWJsZXNba2V5XTsNCi0JfQ0KLQllbHNlDQotCXsNCi0JCU5ldHdvcmtUYWJsZSogdGFibGUgPSBuZXcgTmV0d29ya1RhYmxlKGtleSwgKnRoaXMpOw0KLQkJdGFibGVzW2tleV0gPSB0YWJsZTsNCi0JCXJldHVybiB0YWJsZTsNCi0JfQ0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVByb3ZpZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmYmEzNGIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVQcm92aWRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotI2lmbmRlZiBfTkVUV09SS1RBQkxFUFJPVklERVJfSF8NCi0jZGVmaW5lIF9ORVRXT1JLVEFCTEVQUk9WSURFUl9IXw0KLQ0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZVByb3ZpZGVyOw0KLQ0KLSNpbmNsdWRlIDxzdHJpbmc+DQotDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGVQcm92aWRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVOb2RlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlLmgiDQotDQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsNCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVQcm92aWRlciA6IHB1YmxpYyBJVGFibGVQcm92aWRlcg0KLXsNCi1wcml2YXRlOg0KLQlOZXR3b3JrVGFibGVOb2RlJiBub2RlOw0KLQltYXA8c3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZSo+IHRhYmxlczsNCi0NCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBOZXR3b3JrVGFibGVQcm92aWRlciBmb3IgYSBnaXZlbiBOZXR3b3JrVGFibGVOb2RlDQotCSAqIEBwYXJhbSBub2RlIHRoZSBub2RlIHRoYXQgaGFuZGxlcyB0aGUgYWN0dWFsIG5ldHdvcmsgdGFibGUgDQotCSAqLw0KLXB1YmxpYzoNCi0JTmV0d29ya1RhYmxlUHJvdmlkZXIoTmV0d29ya1RhYmxlTm9kZSYgbm9kZSk7DQotCXZpcnR1YWwgfk5ldHdvcmtUYWJsZVByb3ZpZGVyKCk7DQotCQ0KLQlJVGFibGUqIEdldFJvb3RUYWJsZSgpOw0KLQ0KLQlJVGFibGUqIEdldFRhYmxlKHN0ZDo6c3RyaW5nIGtleSk7DQotDQotCS8qKg0KLQkgKiBAcmV0dXJuIHRoZSBOZXR3b3JrIFRhYmxlIG5vZGUgdGhhdCBiYWNrcyB0aGUgVGFibGVzIHJldHVybmVkIGJ5IHRoaXMgcHJvdmlkZXINCi0JICovDQotCU5ldHdvcmtUYWJsZU5vZGUmIEdldE5vZGUoKSB7DQotCQlyZXR1cm4gbm9kZTsNCi0JfTsNCi0NCi0JLyoqDQotCSAqIGNsb3NlIHRoZSBiYWNraW5nIG5ldHdvcmsgdGFibGUgbm9kZQ0KLQkgKi8NCi0Jdm9pZCBDbG9zZSgpIHsNCi0JCW5vZGUuQ2xvc2UoKTsNCi0JfTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWMyMzg2ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzL05ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlci5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIuaCINCi0NCi0NCi0NCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBhZGFwdGVyDQotCSAqIEBwYXJhbSBwcmVmaXggdGhlIHByZWZpeCBvZiB0aGUgY3VycmVudCB0YWJsZQ0KLQkgKiBAcGFyYW0gdGFyZ2V0U291cmNlIHRoZSBzb3VyY2UgdGhhdCBldmVudHMgcGFzc2VkIHRvIHRoZSB0YXJnZXQgbGlzdGVuZXIgd2lsbCBhcHBlYXIgdG8gY29tZSBmcm9tDQotCSAqIEBwYXJhbSB0YXJnZXRMaXN0ZW5lciB0aGUgbGlzdGVuZXIgd2hlcmUgZXZlbnRzIGFyZSBmb3J3YXJkZWQgdG8NCi0JICovDQotTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyOjpOZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIoc3RkOjpzdHJpbmcmIF9wcmVmaXgsIE5ldHdvcmtUYWJsZSogX3RhcmdldFNvdXJjZSwgSVRhYmxlTGlzdGVuZXIqIF90YXJnZXRMaXN0ZW5lcik6DQotCXByZWZpeChfcHJlZml4KSwgdGFyZ2V0U291cmNlKF90YXJnZXRTb3VyY2UpLCB0YXJnZXRMaXN0ZW5lcihfdGFyZ2V0TGlzdGVuZXIpe30NCi0NCi1OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXI6On5OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIoKXt9DQotDQotCXZvaWQgTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyOjpWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpIHsvL1RPRE8gdXNlIHN0cmluZyBjYWNoZQ0KLSAgICAgICAgICAgIGlmKGtleS5jb21wYXJlKDAscHJlZml4LnNpemUoKSxwcmVmaXgpPT0wKXsNCi0gICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgcmVsYXRpdmVLZXkgPSBrZXkuc3Vic3RyKHByZWZpeC5sZW5ndGgoKSsxKTsNCi0gICAgICAgICAgICAgICAgaW50IGVuZFN1YlRhYmxlID0gLTE7Ly9UT0RPIGltcGxlbWVudCBzdWIgdGFibGUgbGlzdGVuaW5nIGJldHRlcg0KLSAgICAgICAgICAgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpPHJlbGF0aXZlS2V5Lmxlbmd0aCgpOyArK2kpew0KLSAgICAgICAgICAgICAgICAgICAgaWYocmVsYXRpdmVLZXkuYXQoaSk9PU5ldHdvcmtUYWJsZTo6UEFUSF9TRVBBUkFUT1JfQ0hBUil7Ly9pcyBzdWIgdGFibGUNCi0gICAgICAgICAgICAgICAgICAgICAgICBlbmRTdWJUYWJsZSA9IGk7DQotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgaWYoZW5kU3ViVGFibGUhPS0xKXsNCi0gICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nIHN1YlRhYmxlS2V5ID0gcmVsYXRpdmVLZXkuc3Vic3RyKDAsIGVuZFN1YlRhYmxlKTsNCi0gICAgICAgICAgICAgICAgICAgIGlmKG5vdGlmaWVkVGFibGVzLmZpbmQoc3ViVGFibGVLZXkpPT1ub3RpZmllZFRhYmxlcy5lbmQoKSl7DQotICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpZWRUYWJsZXMuaW5zZXJ0KHN1YlRhYmxlS2V5KTsNCi0gICAgICAgICAgICAgICAgICAgICAgICBFbnRyeVZhbHVlIGVWYWx1ZTsNCi0gICAgICAgICAgICAgICAgICAgICAgICBlVmFsdWUucHRyID0gdGFyZ2V0U291cmNlLT5HZXRTdWJUYWJsZShzdWJUYWJsZUtleSk7DQotICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0TGlzdGVuZXItPlZhbHVlQ2hhbmdlZCh0YXJnZXRTb3VyY2UsIHN1YlRhYmxlS2V5LCBlVmFsdWUsIHRydWUpOw0KLSAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLQl9DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMvTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5ZWRhZDUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRVNVQkxJU1RFTkVSQURBUFRFUl9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFU1VCTElTVEVORVJBREFQVEVSX0hfDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyOw0KLQ0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZS5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgPHNldD4NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlcy9OZXR3b3JrVGFibGUuaCINCi0NCi0NCi11c2luZyBuYW1lc3BhY2Ugc3RkOw0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZVN1Ykxpc3RlbmVyQWRhcHRlciA6IHB1YmxpYyBJVGFibGVMaXN0ZW5lcnsNCi1wcml2YXRlOg0KLQlzdGQ6OnN0cmluZyYgcHJlZml4Ow0KLQlOZXR3b3JrVGFibGUqIHRhcmdldFNvdXJjZTsNCi0JSVRhYmxlTGlzdGVuZXIqIHRhcmdldExpc3RlbmVyOw0KLQlzZXQ8c3RkOjpzdHJpbmc+IG5vdGlmaWVkVGFibGVzOw0KLQ0KLXB1YmxpYzoNCi0JTmV0d29ya1RhYmxlU3ViTGlzdGVuZXJBZGFwdGVyKHN0ZDo6c3RyaW5nJiBwcmVmaXgsIE5ldHdvcmtUYWJsZSogdGFyZ2V0U291cmNlLCBJVGFibGVMaXN0ZW5lciogdGFyZ2V0TGlzdGVuZXIpOw0KLQl2aXJ0dWFsIH5OZXR3b3JrVGFibGVTdWJMaXN0ZW5lckFkYXB0ZXIoKTsNCi0gICAgdm9pZCBWYWx1ZUNoYW5nZWQoSVRhYmxlKiBzb3VyY2UsIGNvbnN0IHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRVNVQkxJU1RFTkVSQURBUFRFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9BYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWFjMzVjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMDcgKzAsMCBAQAotLyoNCi0gKiBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDE2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uLmgiDQotI2luY2x1ZGUgPG1hcD4NCi0jaW5jbHVkZSA8dmVjdG9yPg0KLSNpbmNsdWRlIDxpb3N0cmVhbT4NCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0NCi0JQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjpBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoVGFibGVMaXN0ZW5lck1hbmFnZXImIGxzdG5NYW5hZ2VyKTogDQotCQkJbGlzdGVuZXJNYW5hZ2VyKGxzdG5NYW5hZ2VyKXsNCi0JfQ0KLQkNCi0JQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjp+QWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlKCl7DQotCQlMT0NLLnRha2UoKTsNCi0JCXN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBOZXR3b3JrVGFibGVFbnRyeSo+OjppdGVyYXRvciBpdHI7DQotCQlmb3IoaXRyID0gbmFtZWRFbnRyaWVzLmJlZ2luKCk7IGl0ciAhPSBuYW1lZEVudHJpZXMuZW5kKCk7KXsNCi0JCSAgICBkZWxldGUgaXRyLT5zZWNvbmQ7DQotCQkgICAgbmFtZWRFbnRyaWVzLmVyYXNlKGl0cisrKTsNCi0JCX0NCi0JfTsNCi0JDQotCS8qKg0KLQkgKiBHZXQgYW4gZW50cnkgYmFzZWQgb24gaXQncyBuYW1lDQotCSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBlbnRyeSB0byBsb29rIGZvcg0KLQkgKiBAcmV0dXJuIHRoZSBlbnRyeSBvciBudWxsIGlmIHRoZSBlbnRyeSBkb2VzIG5vdCBleGlzdA0KLQkgKi8NCi0JTmV0d29ya1RhYmxlRW50cnkqIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6R2V0RW50cnkoc3RkOjpzdHJpbmcmIG5hbWUpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlzdGQ6Om1hcDxzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlRW50cnkqPjo6aXRlcmF0b3IgdmFsdWVfaXRyID0gbmFtZWRFbnRyaWVzLmZpbmQobmFtZSk7DQotCQkJaWYodmFsdWVfaXRyICE9IG5hbWVkRW50cmllcy5lbmQoKSkgew0KLQkJCQlyZXR1cm4gdmFsdWVfaXRyLT5zZWNvbmQ7DQotCQkJfQ0KLQkJCXJldHVybiBOVUxMOw0KLQkJfQ0KLQl9DQotCQ0KLQlOZXR3b3JrVGFibGVFbnRyeSogQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjpHZXRFbnRyeShFbnRyeUlkIGVudHJ5SWQpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQkNCi0JCQlzdGQ6Om1hcDxFbnRyeUlkLCBOZXR3b3JrVGFibGVFbnRyeSo+OjppdGVyYXRvciB2YWx1ZV9pdHIgPSBpZEVudHJpZXMuZmluZChlbnRyeUlkKTsNCi0JCQlpZih2YWx1ZV9pdHIgIT0gaWRFbnRyaWVzLmVuZCgpKSB7DQotCQkJCXJldHVybiB2YWx1ZV9pdHItPnNlY29uZDsNCi0JCQl9DQotCQkJcmV0dXJuIE5VTEw7DQotCQl9DQotCX0NCi0JDQotCXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiogQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjprZXlzKCl7DQotCQl7IA0KLQkJCVN5bmNocm9uaXplZCBzeW5jKExPQ0spOw0KLQkJCXN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPioga2V5cyA9IG5ldyBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4oKTsNCi0JCQlzdGQ6Om1hcDxzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlRW50cnkqPjo6aXRlcmF0b3IgaXRyOw0KLQkJCQ0KLQkJCWZvcihpdHIgPSBuYW1lZEVudHJpZXMuYmVnaW4oKTsgaXRyICE9IG5hbWVkRW50cmllcy5lbmQoKTsgaXRyKyspDQotCQkJew0KLQkJCQlzdGQ6OnN0cmluZyBrZXkgPSAoKml0cikuZmlyc3Q7DQotCQkJCWtleXMtPnB1c2hfYmFjayhrZXkpOw0KLQkJCX0NCi0JCQkNCi0JCQlyZXR1cm4gKGtleXMpOw0KLQkJfQ0KLQkJDQotCX0NCi0JDQotCS8qKg0KLQkgKiBSZW1vdmUgYWxsIGVudHJpZXMNCi0gICAgICAgICAqIE5PVEU6IFRoaXMgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZCB3aXRoIGFwcGxpY2F0aW9ucyB3aGljaCBjYWNoZSBlbnRyaWVzIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5rbm93biByZXN1bHRzDQotICAgICAgICAgKiBUaGlzIG1ldGhvZCBpcyBmb3IgdXNlIGluIHRlc3Rpbmcgb25seQ0KLQkgKi8NCi0Jdm9pZCBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmU6OmNsZWFyRW50cmllcygpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQluYW1lZEVudHJpZXMuY2xlYXIoKTsNCi0JCQlpZEVudHJpZXMuY2xlYXIoKTsNCi0JCX0NCi0JfQ0KLQkNCi0JLyoqDQotCSAqIGNsZWFyIHRoZSBpZCdzIG9mIGFsbCBlbnRyaWVzDQotCSAqLw0KLQl2b2lkIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6Y2xlYXJJZHMoKXsNCi0JCXsgDQotCQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQkJc3RkOjptYXA8c3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZUVudHJ5Kj46Oml0ZXJhdG9yIGl0cjsNCi0JCQlpZEVudHJpZXMuY2xlYXIoKTsNCi0JCQkNCi0JCQlmb3IoaXRyID0gbmFtZWRFbnRyaWVzLmJlZ2luKCk7IGl0ciAhPSBuYW1lZEVudHJpZXMuZW5kKCk7IGl0cisrKQ0KLQkJCXsNCi0JCQkJKChOZXR3b3JrVGFibGVFbnRyeSopKCppdHIpLnNlY29uZCktPkNsZWFySWQoKTsNCi0JCQl9DQotCQl9DQotCX0NCi0JDQotCXZvaWQgQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjpTZXRPdXRnb2luZ1JlY2VpdmVyKE91dGdvaW5nRW50cnlSZWNlaXZlciogcmVjZWl2ZXIpew0KLQkJb3V0Z29pbmdSZWNlaXZlciA9IHJlY2VpdmVyOw0KLQl9DQotCQ0KLQl2b2lkIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6U2V0SW5jb21pbmdSZWNlaXZlcihPdXRnb2luZ0VudHJ5UmVjZWl2ZXIqIHJlY2VpdmVyKXsNCi0JCWluY29taW5nUmVjZWl2ZXIgPSByZWNlaXZlcjsNCi0JfQ0KLQkNCi0JLyoqDQotCSAqIFN0b3JlcyB0aGUgZ2l2ZW4gdmFsdWUgdW5kZXIgdGhlIGdpdmVuIG5hbWUgYW5kIHF1ZXVlcyBpdCBmb3IgDQotCSAqIHRyYW5zbWlzc2lvbiB0byB0aGUgc2VydmVyLg0KLQkgKiANCi0JICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgdW5kZXIgd2hpY2ggdG8gc3RvcmUgdGhlIGdpdmVuIHZhbHVlLg0KLQkgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGUgZ2l2ZW4gdmFsdWUuDQotCSAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc3RvcmUuDQotCSAqIEB0aHJvd3MgVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbiBUaHJvd24gaWYgYW4gDQotCSAqICBlbnRyeSBhbHJlYWR5IGV4aXN0cyB3aXRoIHRoZSBnaXZlbiBuYW1lIGFuZCBpcyBvZiBhIGRpZmZlcmVudCB0eXBlLg0KLQkgKi8NCi0Jdm9pZCBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmU6OlB1dE91dGdvaW5nKHN0ZDo6c3RyaW5nJiBuYW1lLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIHR5cGUsIEVudHJ5VmFsdWUgdmFsdWUpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlzdGQ6Om1hcDxzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlRW50cnkqPjo6aXRlcmF0b3IgaW5kZXggPSBuYW1lZEVudHJpZXMuZmluZChuYW1lKTsNCi0JCQlOZXR3b3JrVGFibGVFbnRyeSogdGFibGVFbnRyeTsNCi0JCQlpZihpbmRleCA9PSBuYW1lZEVudHJpZXMuZW5kKCkpLy9pZiB0aGUgbmFtZSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgY3VycmVudCBlbnRyaWVzDQotCQkJICB7DQotCQkJCXRhYmxlRW50cnkgPSBuZXcgTmV0d29ya1RhYmxlRW50cnkobmFtZSwgdHlwZSwgdmFsdWUpOw0KLQkJCQlpZihhZGRFbnRyeSh0YWJsZUVudHJ5KSkNCi0JCQkJew0KLQkJCQkJdGFibGVFbnRyeS0+RmlyZUxpc3RlbmVyKGxpc3RlbmVyTWFuYWdlcik7DQotCQkJCQlvdXRnb2luZ1JlY2VpdmVyLT5vZmZlck91dGdvaW5nQXNzaWdubWVudCh0YWJsZUVudHJ5KTsNCi0JCQkJfQ0KLQkJCX0NCi0JCQllbHNlDQotCQkJew0KLQkJCQl0YWJsZUVudHJ5ID0gaW5kZXgtPnNlY29uZDsNCi0JCQkJaWYodGFibGVFbnRyeS0+R2V0VHlwZSgpLT5pZCAhPSB0eXBlLT5pZCl7DQotCQkJCQl0aHJvdyBUYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uKG5hbWUsIHRhYmxlRW50cnktPkdldFR5cGUoKSk7DQotCQkJCX0NCi0JCQkJDQotCQkJCWlmKHVwZGF0ZUVudHJ5KHRhYmxlRW50cnksIChTZXF1ZW5jZU51bWJlcikodGFibGVFbnRyeS0+R2V0U2VxdWVuY2VOdW1iZXIoKSArIDEpLCB2YWx1ZSkpew0KLQkJCQkJb3V0Z29pbmdSZWNlaXZlci0+b2ZmZXJPdXRnb2luZ1VwZGF0ZSh0YWJsZUVudHJ5KTsNCi0JCQkJfQ0KLQkJCQkNCi0JCQkJdGFibGVFbnRyeS0+RmlyZUxpc3RlbmVyKGxpc3RlbmVyTWFuYWdlcik7DQotCQkJfQ0KLQkJfQ0KLQl9DQotCQ0KLQl2b2lkIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6UHV0T3V0Z29pbmcoTmV0d29ya1RhYmxlRW50cnkqIHRhYmxlRW50cnksIEVudHJ5VmFsdWUgdmFsdWUpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlpZih1cGRhdGVFbnRyeSh0YWJsZUVudHJ5LCAoU2VxdWVuY2VOdW1iZXIpKHRhYmxlRW50cnktPkdldFNlcXVlbmNlTnVtYmVyKCkgKyAxKSwgdmFsdWUpKXsNCi0JCQkJb3V0Z29pbmdSZWNlaXZlci0+b2ZmZXJPdXRnb2luZ1VwZGF0ZSh0YWJsZUVudHJ5KTsNCi0JCQl9DQotCQkJDQotCQkJdGFibGVFbnRyeS0+RmlyZUxpc3RlbmVyKGxpc3RlbmVyTWFuYWdlcik7DQotCQl9DQotCX0NCi0JDQotCXZvaWQgQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjpvZmZlckluY29taW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlzdGQ6Om1hcDxzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlRW50cnkqPjo6aXRlcmF0b3IgaXRyID0gbmFtZWRFbnRyaWVzLmZpbmQoZW50cnktPm5hbWUpOw0KLQkJCU5ldHdvcmtUYWJsZUVudHJ5KiB0YWJsZUVudHJ5Ow0KLQkJCWlmKGFkZEVudHJ5KGVudHJ5KSl7DQotCQkJCWlmKGl0ciAhPSBuYW1lZEVudHJpZXMuZW5kKCkpew0KLQkJCQkJdGFibGVFbnRyeSA9IGl0ci0+c2Vjb25kOw0KLQkJCQl9DQotCQkJCWVsc2V7DQotCQkJCQl0YWJsZUVudHJ5ID0gZW50cnk7DQotCQkJCX0NCi0JCQkJDQotCQkJCXRhYmxlRW50cnktPkZpcmVMaXN0ZW5lcihsaXN0ZW5lck1hbmFnZXIpOy8vaWYgd2UgZGlkbnQgaGF2ZSBhIHBvaW50ZXIsIHRoZW4gdGhlIGNvcHkgb2YgdGhlIHZlcnNpb24gaW4gdGhlIGxpc3Qgd291bGQgY2FsbCB0aGlzIG1ldGhvZCwgaG93ZXZlciB3aXRoIHRoZSBwb2ludGVyIHdlIGFyZSB1cGRhdGluZyB0aGUgdmVyc2lvbiBpbiB0aGUgbGlzdA0KLQkJCQlpbmNvbWluZ1JlY2VpdmVyLT5vZmZlck91dGdvaW5nQXNzaWdubWVudCh0YWJsZUVudHJ5KTsNCi0JCQl9DQotCQkJZWxzZQ0KLQkJCSAgZGVsZXRlIGVudHJ5Ow0KLQkJfQ0KLQl9DQotCQ0KLQl2b2lkIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6b2ZmZXJJbmNvbWluZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnksIFNlcXVlbmNlTnVtYmVyIHNxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpew0KLQkJeyANCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlpZih1cGRhdGVFbnRyeShlbnRyeSwgc3F1ZW5jZU51bWJlciwgdmFsdWUpKXsNCi0JCQkJZW50cnktPkZpcmVMaXN0ZW5lcihsaXN0ZW5lck1hbmFnZXIpOw0KLQkJCQlpbmNvbWluZ1JlY2VpdmVyLT5vZmZlck91dGdvaW5nVXBkYXRlKGVudHJ5KTsNCi0JCQl9DQotCQl9DQotCX0NCi0JDQotCS8qKg0KLQkgKiBDYWxsZWQgdG8gc2F5IHRoYXQgYSBsaXN0ZW5lciBzaG91bGQgbm90aWZ5IHRoZSBsaXN0ZW5lciBtYW5hZ2VyIG9mIGFsbCBvZiB0aGUgZW50cmllcw0KLQkgKiBAcGFyYW0gbGlzdGVuZXINCi0JICogQHBhcmFtIHRhYmxlIA0KLQkgKi8NCi0Jdm9pZCBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmU6Om5vdGlmeUVudHJpZXMoSVRhYmxlKiB0YWJsZSwgSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKXsNCi0JCXsgDQotCQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQkJc3RkOjptYXA8c3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZUVudHJ5Kj46Oml0ZXJhdG9yIGl0cjsNCi0JCQlmb3IoaXRyID0gbmFtZWRFbnRyaWVzLmJlZ2luKCk7IGl0ciAhPSBuYW1lZEVudHJpZXMuZW5kKCk7IGl0cisrKQ0KLQkJCXsNCi0JCQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gaXRyLT5zZWNvbmQ7DQotCQkJCWxpc3RlbmVyLT5WYWx1ZUNoYW5nZWQodGFibGUsIGl0ci0+Zmlyc3QsIGVudHJ5LT5HZXRWYWx1ZSgpLCB0cnVlKTsNCi0JCQl9DQotCQl9DQotCX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9BYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODE1OTMxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotLyoNCi0gKiBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgQUJTVFJBQ1RORVRXT1JLVEFCTEVFTlRSWVNUT1JFX0hfDQotI2RlZmluZSBBQlNUUkFDVE5FVFdPUktUQUJMRUVOVFJZU1RPUkVfSF8NCi0NCi0NCi0NCi1jbGFzcyBUYWJsZUxpc3RlbmVyTWFuYWdlcjsNCi1jbGFzcyBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmU7DQotDQotDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgIk5ldHdvcmtUYWJsZUVudHJ5LmgiDQotI2luY2x1ZGUgIkluY29taW5nRW50cnlSZWNlaXZlci5oIg0KLSNpbmNsdWRlICJPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCINCi0jaW5jbHVkZSAidHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuaCINCi0jaW5jbHVkZSAidGFibGVzL0lUYWJsZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCINCi0jaW5jbHVkZSA8bWFwPg0KLSNpbmNsdWRlIDx2ZWN0b3I+DQotDQotDQotDQotY2xhc3MgVGFibGVMaXN0ZW5lck1hbmFnZXJ7DQotcHVibGljOg0KLQl2aXJ0dWFsIH5UYWJsZUxpc3RlbmVyTWFuYWdlcigpe30NCi0JdmlydHVhbCB2b2lkIEZpcmVUYWJsZUxpc3RlbmVycyhzdGQ6OnN0cmluZyYgbmFtZSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldykgPSAwOw0KLX07DQotDQotY2xhc3MgQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlIDogcHVibGljIEluY29taW5nRW50cnlSZWNlaXZlcnsNCi1wcm90ZWN0ZWQ6DQotCXN0ZDo6bWFwPEVudHJ5SWQsTmV0d29ya1RhYmxlRW50cnkqPiBpZEVudHJpZXM7DQotCXN0ZDo6bWFwPHN0ZDo6c3RyaW5nLE5ldHdvcmtUYWJsZUVudHJ5Kj4gbmFtZWRFbnRyaWVzOw0KLQlUYWJsZUxpc3RlbmVyTWFuYWdlciYgbGlzdGVuZXJNYW5hZ2VyOw0KLQ0KLQlBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoVGFibGVMaXN0ZW5lck1hbmFnZXImIGxzdG5NYW5hZ2VyKTsNCi0NCi0JT3V0Z29pbmdFbnRyeVJlY2VpdmVyKiBvdXRnb2luZ1JlY2VpdmVyOw0KLQlPdXRnb2luZ0VudHJ5UmVjZWl2ZXIqIGluY29taW5nUmVjZWl2ZXI7DQotDQotDQotCQ0KLQl2aXJ0dWFsIGJvb2wgYWRkRW50cnkoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSA9IDA7DQotCXZpcnR1YWwgYm9vbCB1cGRhdGVFbnRyeShOZXR3b3JrVGFibGVFbnRyeSogZW50cnksIFNlcXVlbmNlTnVtYmVyIHNlcXVlbmNlTnVtYmVyLCBFbnRyeVZhbHVlIHZhbHVlKSA9IDA7DQotCQ0KLXB1YmxpYzoNCi0JdmlydHVhbCB+QWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlKCk7DQotDQotCVJlZW50cmFudFNlbWFwaG9yZSBMT0NLOw0KLQlOZXR3b3JrVGFibGVFbnRyeSogR2V0RW50cnkoRW50cnlJZCBlbnRyeUlkKTsNCi0JTmV0d29ya1RhYmxlRW50cnkqIEdldEVudHJ5KHN0ZDo6c3RyaW5nJiBuYW1lKTsNCi0NCi0Jc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+KiBrZXlzKCk7DQotICAgIHZvaWQgY2xlYXJFbnRyaWVzKCk7DQotCXZvaWQgY2xlYXJJZHMoKTsNCi0NCi0Jdm9pZCBTZXRPdXRnb2luZ1JlY2VpdmVyKE91dGdvaW5nRW50cnlSZWNlaXZlciogcmVjZWl2ZXIpOw0KLQl2b2lkIFNldEluY29taW5nUmVjZWl2ZXIoT3V0Z29pbmdFbnRyeVJlY2VpdmVyKiByZWNlaXZlcik7DQotCQ0KLQl2b2lkIFB1dE91dGdvaW5nKHN0ZDo6c3RyaW5nJiBuYW1lLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIHR5cGUsIEVudHJ5VmFsdWUgdmFsdWUpOw0KLQl2b2lkIFB1dE91dGdvaW5nKE5ldHdvcmtUYWJsZUVudHJ5KiB0YWJsZUVudHJ5LCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0JDQotDQotCXZvaWQgb2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0Jdm9pZCBvZmZlckluY29taW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgRW50cnlJZCBzZXF1ZW5jZU51bWJlciwgRW50cnlWYWx1ZSB2YWx1ZSk7DQotCQ0KLQl2b2lkIG5vdGlmeUVudHJpZXMoSVRhYmxlKiB0YWJsZSwgSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKTsNCi0NCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBBQlNUUkFDVE5FVFdPUktUQUJMRUVOVFJZU1RPUkVfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9GbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0ZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2M3MGI4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL0ZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLyoNCi0gKiBGbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgRkxVU0hBQkxFT1VUR09JTkdFTlRSWVJFQ0VJVkVSX0hfDQotI2RlZmluZSBGTFVTSEFCTEVPVVRHT0lOR0VOVFJZUkVDRUlWRVJfSF8NCi0NCi1jbGFzcyBGbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXI7DQotDQotI2luY2x1ZGUgIk91dGdvaW5nRW50cnlSZWNlaXZlci5oIg0KLQ0KLWNsYXNzIEZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlciA6IHB1YmxpYyBPdXRnb2luZ0VudHJ5UmVjZWl2ZXINCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5GbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXIoKQ0KLQl7DQotCX0NCi0JdmlydHVhbCB2b2lkIGZsdXNoKCkgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgZW5zdXJlQWxpdmUoKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogRkxVU0hBQkxFT1VUR09JTkdFTlRSWVJFQ0VJVkVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvSW5jb21pbmdFbnRyeVJlY2VpdmVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9JbmNvbWluZ0VudHJ5UmVjZWl2ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM3ODA0Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9JbmNvbWluZ0VudHJ5UmVjZWl2ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS8qDQotICogSW5jb21pbmdFbnRyeVJlY2VpdmVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTksIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIElOQ09NSU5HRU5UUllSRUNFSVZFUl9IXw0KLSNkZWZpbmUgSU5DT01JTkdFTlRSWVJFQ0VJVkVSX0hfDQotDQotY2xhc3MgSW5jb21pbmdFbnRyeVJlY2VpdmVyOw0KLQ0KLSNpbmNsdWRlICJOZXR3b3JrVGFibGVFbnRyeS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVRhYmxlLmgiDQotDQotY2xhc3MgSW5jb21pbmdFbnRyeVJlY2VpdmVyDQotew0KLXB1YmxpYzoNCi0JdmlydHVhbCB+SW5jb21pbmdFbnRyeVJlY2VpdmVyKCkNCi0Jew0KLQl9DQotCXZpcnR1YWwgdm9pZCBvZmZlckluY29taW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpID0gMDsNCi0JdmlydHVhbCB2b2lkIG9mZmVySW5jb21pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5LCBTZXF1ZW5jZU51bWJlciBlbnRyeVNlcXVlbmNlTnVtYmVyLCBFbnRyeVZhbHVlIHZhbHVlKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogSU5DT01JTkdFTlRSWVJFQ0VJVkVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGQ5ZDRhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZUVudHJ5LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuaCINCi0NCi0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeTo6TmV0d29ya1RhYmxlRW50cnkoc3RkOjpzdHJpbmcmIF9uYW1lLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIF90eXBlLCBFbnRyeVZhbHVlIF92YWx1ZSkNCi0gIDogbmFtZShfbmFtZSksIHR5cGUoX3R5cGUpew0KLQlpZCA9IFVOS05PV05fSUQ7DQotCXNlcXVlbmNlTnVtYmVyID0gMDsNCi0JdmFsdWUgPSB0eXBlLT5jb3B5VmFsdWUoX3ZhbHVlKTsNCi0JbV9pc05ldyA9IHRydWU7DQotCW1faXNEaXJ0eSA9IGZhbHNlOw0KLX0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeTo6TmV0d29ya1RhYmxlRW50cnkoRW50cnlJZCBfaWQsIHN0ZDo6c3RyaW5nJiBfbmFtZSwgU2VxdWVuY2VOdW1iZXIgX3NlcXVlbmNlTnVtYmVyLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIF90eXBlLCBFbnRyeVZhbHVlIF92YWx1ZSkNCi0gOm5hbWUoX25hbWUpLCB0eXBlKF90eXBlKXsNCi0JaWQgPSBfaWQ7DQotCXNlcXVlbmNlTnVtYmVyID0gX3NlcXVlbmNlTnVtYmVyOw0KLQl2YWx1ZSA9IHR5cGUtPmNvcHlWYWx1ZShfdmFsdWUpOw0KLQltX2lzTmV3ID0gdHJ1ZTsNCi0JbV9pc0RpcnR5ID0gZmFsc2U7DQotfQ0KLQ0KLU5ldHdvcmtUYWJsZUVudHJ5Ojp+TmV0d29ya1RhYmxlRW50cnkoKXsNCi0gIHR5cGUtPmRlbGV0ZVZhbHVlKHZhbHVlKTsNCi19DQotDQotRW50cnlJZCBOZXR3b3JrVGFibGVFbnRyeTo6R2V0SWQoKSB7DQotCXJldHVybiBpZDsNCi19DQotDQotRW50cnlWYWx1ZSBOZXR3b3JrVGFibGVFbnRyeTo6R2V0VmFsdWUoKXsNCi0JcmV0dXJuIHZhbHVlOw0KLX0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeVR5cGUqIE5ldHdvcmtUYWJsZUVudHJ5OjpHZXRUeXBlKCl7DQotCXJldHVybiB0eXBlOw0KLX0NCi0NCi1ib29sIE5ldHdvcmtUYWJsZUVudHJ5OjpQdXRWYWx1ZShTZXF1ZW5jZU51bWJlciBuZXdTZXF1ZW5jZU51bWJlciwgRW50cnlWYWx1ZSBuZXdWYWx1ZSkgew0KLQlpZiggKHNlcXVlbmNlTnVtYmVyIDwgbmV3U2VxdWVuY2VOdW1iZXIgJiYgbmV3U2VxdWVuY2VOdW1iZXIgLSBzZXF1ZW5jZU51bWJlciA8IEhBTEZfT0ZfU0VRVUVOQ0VfTlVNQkVSUykNCi0JCQl8fCAoc2VxdWVuY2VOdW1iZXIgPiBuZXdTZXF1ZW5jZU51bWJlciAmJiBzZXF1ZW5jZU51bWJlciAtIG5ld1NlcXVlbmNlTnVtYmVyID4gSEFMRl9PRl9TRVFVRU5DRV9OVU1CRVJTKSApew0KLQkgIEVudHJ5VmFsdWUgbmV3VmFsdWVDb3B5ID0gdHlwZS0+Y29weVZhbHVlKG5ld1ZhbHVlKTsNCi0JICB0eXBlLT5kZWxldGVWYWx1ZSh2YWx1ZSk7DQotCSAgdmFsdWUgPSBuZXdWYWx1ZUNvcHk7DQotCSAgc2VxdWVuY2VOdW1iZXIgPSBuZXdTZXF1ZW5jZU51bWJlcjsNCi0JICByZXR1cm4gdHJ1ZTsNCi0JfQ0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KLS8qKg0KLSAqIGZvcmNlIGEgdmFsdWUgYW5kIG5ldyBzZXF1ZW5jZSBudW1iZXIgdXBvbiBhbiBlbnRyeQ0KLSAqIEBwYXJhbSBuZXdTZXF1ZW5jZU51bWJlcg0KLSAqIEBwYXJhbSBuZXdWYWx1ZQ0KLSAqLw0KLXZvaWQgTmV0d29ya1RhYmxlRW50cnk6OkZvcmNlUHV0KFNlcXVlbmNlTnVtYmVyIG5ld1NlcXVlbmNlTnVtYmVyLCBFbnRyeVZhbHVlIG5ld1ZhbHVlKSB7DQotICBFbnRyeVZhbHVlIG5ld1ZhbHVlQ29weSA9IHR5cGUtPmNvcHlWYWx1ZShuZXdWYWx1ZSk7DQotICB0eXBlLT5kZWxldGVWYWx1ZSh2YWx1ZSk7DQotICB2YWx1ZSA9IG5ld1ZhbHVlQ29weTsNCi0gIHNlcXVlbmNlTnVtYmVyID0gbmV3U2VxdWVuY2VOdW1iZXI7DQotfQ0KLS8qKg0KLSAqIGZvcmNlIGEgdmFsdWUgYW5kIG5ldyBzZXF1ZW5jZSBudW1iZXIgdXBvbiBhbiBlbnRyeSwgV2lsbCBhbHNvIHNldCB0aGUgdHlwZSBvZiB0aGUgZW50cnkNCi0gKiBAcGFyYW0gbmV3U2VxdWVuY2VOdW1iZXINCi0gKiBAcGFyYW0gdHlwZQ0KLSAqIEBwYXJhbSBuZXdWYWx1ZQ0KLSAqLw0KLXZvaWQgTmV0d29ya1RhYmxlRW50cnk6OkZvcmNlUHV0KFNlcXVlbmNlTnVtYmVyIG5ld1NlcXVlbmNlTnVtYmVyLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIG5ld1R5cGUsIEVudHJ5VmFsdWUgbmV3VmFsdWUpIHsNCi0gICAgICAgIHR5cGUtPmRlbGV0ZVZhbHVlKHZhbHVlKTsNCi0JdHlwZSA9IG5ld1R5cGU7DQotICAgICAgICB2YWx1ZSA9IG5ld1R5cGUtPmNvcHlWYWx1ZShuZXdWYWx1ZSk7DQotCXNlcXVlbmNlTnVtYmVyID0gbmV3U2VxdWVuY2VOdW1iZXI7DQotfQ0KLQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlRW50cnk6Ok1ha2VEaXJ0eSgpIHsNCi0JbV9pc0RpcnR5ID0gdHJ1ZTsNCi19DQotdm9pZCBOZXR3b3JrVGFibGVFbnRyeTo6TWFrZUNsZWFuKCkgew0KLQltX2lzRGlydHkgPSBmYWxzZTsNCi19DQotYm9vbCBOZXR3b3JrVGFibGVFbnRyeTo6SXNEaXJ0eSgpew0KLQlyZXR1cm4gbV9pc0RpcnR5Ow0KLX0NCi0NCi0vKioNCi0gKiBTZW5kIHRoZSB2YWx1ZSBvZiB0aGUgZW50cnkgb3ZlciB0aGUgb3V0cHV0IHN0cmVhbQ0KLSAqIEBwYXJhbSBvcw0KLSAqIEB0aHJvd3MgSU9FeGNlcHRpb24NCi0gKi8NCi12b2lkIE5ldHdvcmtUYWJsZUVudHJ5OjpTZW5kVmFsdWUoRGF0YUlPU3RyZWFtJiBpb3N0cmVhbSl7DQotCXR5cGUtPnNlbmRWYWx1ZSh2YWx1ZSwgaW9zdHJlYW0pOw0KLX0NCi0NCi0vKioNCi0gKiBAcmV0dXJuIHRoZSBjdXJyZW50IHNlcXVlbmNlIG51bWJlciBvZiB0aGUgZW50cnkNCi0gKi8NCi1TZXF1ZW5jZU51bWJlciBOZXR3b3JrVGFibGVFbnRyeTo6R2V0U2VxdWVuY2VOdW1iZXIoKSB7DQotCXJldHVybiBzZXF1ZW5jZU51bWJlcjsNCi19DQotLyoqDQotICogU2V0cyB0aGUgaWQgb2YgdGhlIGVudHJ5DQotICogQHBhcmFtIGlkIHRoZSBpZCBvZiB0aGUgZW50cnkNCi0gKiBAdGhyb3dzIElsbGVnYWxTdGF0ZUV4Y2VwdGlvbiBpZiB0aGUgZW50cnkgYWxyZWFkeSBoYXMgYSBrbm93biBpZA0KLSAqLw0KLXZvaWQgTmV0d29ya1RhYmxlRW50cnk6OlNldElkKEVudHJ5SWQgX2lkKXsNCi0JaWYoaWQhPVVOS05PV05fSUQpDQotCQl0aHJvdyBJbGxlZ2FsU3RhdGVFeGNlcHRpb24oIkNhbm5vdCBzZXQgdGhlIElkIG9mIGEgdGFibGUgZW50cnkgdGhhdCBhbHJlYWR5IGhhcyBhIHZhbGlkIGlkIik7DQotCWlkID0gX2lkOw0KLX0NCi0vKioNCi0gKiBjbGVhciB0aGUgaWQgb2YgdGhlIGVudHJ5IHRvIHVua25vd24NCi0gKi8NCi12b2lkIE5ldHdvcmtUYWJsZUVudHJ5OjpDbGVhcklkKCkgew0KLQlpZCA9IFVOS05PV05fSUQ7DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlRW50cnk6OlNlbmQoTmV0d29ya1RhYmxlQ29ubmVjdGlvbiYgY29ubmVjdGlvbikgew0KLQljb25uZWN0aW9uLnNlbmRFbnRyeUFzc2lnbm1lbnQoKnRoaXMpOw0KLX0NCi12b2lkIE5ldHdvcmtUYWJsZUVudHJ5OjpGaXJlTGlzdGVuZXIoVGFibGVMaXN0ZW5lck1hbmFnZXImIGxpc3RlbmVyTWFuYWdlcikgew0KLQlsaXN0ZW5lck1hbmFnZXIuRmlyZVRhYmxlTGlzdGVuZXJzKG5hbWUsIHZhbHVlLCBtX2lzTmV3KTsNCi0JbV9pc05ldyA9IGZhbHNlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVFbnRyeS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQyZWZmYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVFbnRyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotI2lmbmRlZiBORVRXT1JLVEFCTEVFTlRSWV9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFRU5UUllfSF8NCi0NCi0jaW5jbHVkZSA8c3RkbGliLmg+DQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2lmbmRlZiBfV1JTX0tFUk5FTA0KLSNpbmNsdWRlIDxzdGRpbnQuaD4NCi0jZW5kaWYNCi0NCi10eXBlZGVmIHVpbnQxNl90IEVudHJ5SWQ7DQotdHlwZWRlZiB1aW50MTZfdCBTZXF1ZW5jZU51bWJlcjsNCi1jbGFzcyBOZXR3b3JrVGFibGVFbnRyeTsNCi0NCi0NCi0jaW5jbHVkZSAiY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uaCINCi0jaW5jbHVkZSAiY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLmgiDQotI2luY2x1ZGUgInR5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlLmgiDQotI2luY2x1ZGUgInV0aWwvSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmgiDQotI2luY2x1ZGUgIkFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGUuaCINCi0NCi0NCi0vKioNCi0gKiBBbiBlbnRyeSBpbiBhIG5ldHdvcmsgdGFibGUNCi0gKiANCi0gKiBAYXV0aG9yIG13aWxscw0KLSAqDQotICovDQotY2xhc3MgTmV0d29ya1RhYmxlRW50cnkgew0KLQkNCi0NCi1wdWJsaWM6DQotCS8qKg0KLQkgKiB0aGUgaWQgdGhhdCByZXByZXNlbnRzIHRoYXQgYW4gaWQgaXMgdW5rbm93biBmb3IgYW4gZW50cnkNCi0JICovDQotCXN0YXRpYyBjb25zdCBFbnRyeUlkIFVOS05PV05fSUQgPSAweEZGRkY7DQotCS8qKg0KLQkgKiB0aGUgbmFtZSBvZiB0aGUgZW50cnkNCi0JICovDQotCXN0ZDo6c3RyaW5nIG5hbWU7DQotCQ0KLQlOZXR3b3JrVGFibGVFbnRyeShzdGQ6OnN0cmluZyYgbmFtZSwgTmV0d29ya1RhYmxlRW50cnlUeXBlKiB0eXBlLCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0JTmV0d29ya1RhYmxlRW50cnkoRW50cnlJZCBpZCwgc3RkOjpzdHJpbmcmIG5hbWUsIFNlcXVlbmNlTnVtYmVyIHNlcXVlbmNlTnVtYmVyLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIHR5cGUsIEVudHJ5VmFsdWUgdmFsdWUpOw0KLQl2aXJ0dWFsIH5OZXR3b3JrVGFibGVFbnRyeSgpOw0KLQ0KLQlFbnRyeUlkIEdldElkKCk7DQotCUVudHJ5VmFsdWUgR2V0VmFsdWUoKTsNCi0JTmV0d29ya1RhYmxlRW50cnlUeXBlKiBHZXRUeXBlKCk7DQotCWJvb2wgUHV0VmFsdWUoU2VxdWVuY2VOdW1iZXIgbmV3U2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgbmV3VmFsdWUpOw0KLQl2b2lkIEZvcmNlUHV0KFNlcXVlbmNlTnVtYmVyIG5ld1NlcXVlbmNlTnVtYmVyLCBFbnRyeVZhbHVlIG5ld1ZhbHVlKTsNCi0Jdm9pZCBGb3JjZVB1dChTZXF1ZW5jZU51bWJlciBuZXdTZXF1ZW5jZU51bWJlciwgTmV0d29ya1RhYmxlRW50cnlUeXBlKiB0eXBlLCBFbnRyeVZhbHVlIG5ld1ZhbHVlKTsNCi0Jdm9pZCBNYWtlRGlydHkoKTsNCi0Jdm9pZCBNYWtlQ2xlYW4oKTsNCi0JYm9vbCBJc0RpcnR5KCk7DQotCXZvaWQgU2VuZFZhbHVlKERhdGFJT1N0cmVhbSYgaW9zdHJlYW0pOw0KLQlTZXF1ZW5jZU51bWJlciBHZXRTZXF1ZW5jZU51bWJlcigpOw0KLQl2b2lkIFNldElkKEVudHJ5SWQgaWQpOw0KLQl2b2lkIENsZWFySWQoKTsNCi0Jdm9pZCBTZW5kKE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pOw0KLQl2b2lkIEZpcmVMaXN0ZW5lcihUYWJsZUxpc3RlbmVyTWFuYWdlciYgbGlzdGVuZXJNYW5hZ2VyKTsNCi0JDQotcHJpdmF0ZToNCi0JRW50cnlJZCBpZDsNCi0JU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXI7DQotCS8qKg0KLQkgKiB0aGUgdHlwZSBvZiB0aGUgZW50cnkNCi0JICovDQotCU5ldHdvcmtUYWJsZUVudHJ5VHlwZSogdHlwZTsNCi0JRW50cnlWYWx1ZSB2YWx1ZTsNCi0Jdm9sYXRpbGUgYm9vbCBtX2lzTmV3Ow0KLQl2b2xhdGlsZSBib29sIG1faXNEaXJ0eTsNCi0NCi0Jc3RhdGljIGNvbnN0IFNlcXVlbmNlTnVtYmVyIEhBTEZfT0ZfU0VRVUVOQ0VfTlVNQkVSUyA9IDMyNzY4Ow0KLQ0KLQlOZXR3b3JrVGFibGVFbnRyeSYgb3BlcmF0b3I9KGNvbnN0IE5ldHdvcmtUYWJsZUVudHJ5JiBvdGhlcik7DQotfTsNCi0NCi0NCi0NCi0jZW5kaWYgLyogTkVUV09SS1RBQkxFRU5UUllfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVNZXNzYWdlVHlwZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTWVzc2FnZVR5cGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmM2ZTNiZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVNZXNzYWdlVHlwZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVNZXNzYWdlVHlwZS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBORVRXT1JLVEFCTEVNRVNTQUdFVFlQRV9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFTUVTU0FHRVRZUEVfSF8NCi0NCi0NCi0NCi0vKioNCi0gKiBUaGUgZGVmaW5pdGlvbnMgb2YgYWxsIG9mIHRoZSBwcm90b2NvbCBtZXNzYWdlIHR5cGVzDQotICogDQotICogQGF1dGhvciBtd2lsbHMNCi0gKg0KLSAqLw0KLWVudW0gTmV0d29ya1RhYmxlTWVzc2FnZVR5cGV7DQotCS8qKg0KLQkgKiBBIGtlZXAgYWxpdmUgbWVzc2FnZSB0aGF0IHRoZSBjbGllbnQgc2VuZHMNCi0JICovDQotCUtFRVBfQUxJVkUgPSAweDAwLA0KLQkvKioNCi0JICogYSBjbGllbnQgaGVsbG8gbWVzc2FnZSB0aGF0IGEgY2xpZW50IHNlbmRzDQotCSAqLw0KLQlDTElFTlRfSEVMTE8gPSAweDAxLA0KLQkvKioNCi0JICogYSBwcm90b2NvbCB2ZXJzaW9uIHVuc3VwcG9ydGVkIG1lc3NhZ2UgdGhhdCB0aGUgc2VydmVyIHNlbmRzIHRvIGEgY2xpZW50DQotCSAqLw0KLQlQUk9UT0NPTF9WRVJTSU9OX1VOU1VQUE9SVEVEID0gMHgwMiwNCi0JU0VSVkVSX0hFTExPX0NPTVBMRVRFID0gMHgwMywNCi0JLyoqDQotCSAqIGFuIGVudHJ5IGFzc2lnbm1lbnQgbWVzc2FnZQ0KLQkgKi8NCi0JRU5UUllfQVNTSUdOTUVOVCA9IDB4MTAsDQotCS8qKg0KLQkgKiBhIGZpZWxkIHVwZGF0ZSBtZXNzYWdlDQotCSAqLw0KLQlGSUVMRF9VUERBVEUgPSAweDExLA0KLX07DQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRU1FU1NBR0VUWVBFX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVOb2RlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNlOWI4OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVOb2RlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE2OSArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZU5vZGUuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI0LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZU5vZGUuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmgiDQotI2luY2x1ZGUgInRhYmxlcy9UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24uaCINCi0jaW5jbHVkZSA8YWxnb3JpdGhtPg0KLQ0KLQ0KLQ0KLU5ldHdvcmtUYWJsZU5vZGU6Ok5ldHdvcmtUYWJsZU5vZGUoQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBfZW50cnlTdG9yZSk6DQotCWVudHJ5U3RvcmUoX2VudHJ5U3RvcmUpew0KLX0NCi0NCi1OZXR3b3JrVGFibGVOb2RlOjp+TmV0d29ya1RhYmxlTm9kZSgpe30NCi0NCi1BYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmIE5ldHdvcmtUYWJsZU5vZGU6OkdldEVudHJ5U3RvcmUoKXsNCi0JcmV0dXJuIGVudHJ5U3RvcmU7DQotfQ0KLQ0KLQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlTm9kZTo6UHV0Qm9vbGVhbihzdGQ6OnN0cmluZyYgbmFtZSwgYm9vbCB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUuYiA9IHZhbHVlOw0KLQlQdXRWYWx1ZShuYW1lLCAmRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU4sIGVWYWx1ZSk7DQotfQ0KLWJvb2wgTmV0d29ya1RhYmxlTm9kZTo6R2V0Qm9vbGVhbihzdGQ6OnN0cmluZyYgbmFtZSl7DQotCU5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSA9IGVudHJ5U3RvcmUuR2V0RW50cnkobmFtZSk7DQotCWlmKGVudHJ5PT1OVUxMKQ0KLQkJdGhyb3cgVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uKG5hbWUpOw0KLQlyZXR1cm4gZW50cnktPkdldFZhbHVlKCkuYjsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpQdXREb3VibGUoc3RkOjpzdHJpbmcmIG5hbWUsIGRvdWJsZSB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUuZiA9IHZhbHVlOw0KLQlQdXRWYWx1ZShuYW1lLCAmRGVmYXVsdEVudHJ5VHlwZXM6OkRPVUJMRSwgZVZhbHVlKTsNCi19DQotZG91YmxlIE5ldHdvcmtUYWJsZU5vZGU6OkdldERvdWJsZShzdGQ6OnN0cmluZyYgbmFtZSl7DQotCU5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSA9IGVudHJ5U3RvcmUuR2V0RW50cnkobmFtZSk7DQotCWlmKGVudHJ5PT1OVUxMKQ0KLQkJdGhyb3cgVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uKG5hbWUpOw0KLQlyZXR1cm4gZW50cnktPkdldFZhbHVlKCkuZjsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpQdXRTdHJpbmcoc3RkOjpzdHJpbmcmIG5hbWUsIHN0ZDo6c3RyaW5nJiB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUucHRyID0gJnZhbHVlOw0KLQlQdXRWYWx1ZShuYW1lLCAmRGVmYXVsdEVudHJ5VHlwZXM6OlNUUklORywgZVZhbHVlKTsNCi19DQotc3RkOjpzdHJpbmcmIE5ldHdvcmtUYWJsZU5vZGU6OkdldFN0cmluZyhzdGQ6OnN0cmluZyYgbmFtZSkgew0KLQlOZXR3b3JrVGFibGVFbnRyeSogZW50cnkgPSBlbnRyeVN0b3JlLkdldEVudHJ5KG5hbWUpOw0KLQlpZihlbnRyeT09TlVMTCkNCi0JCXRocm93IFRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbihuYW1lKTsNCi0JcmV0dXJuICooc3RkOjpzdHJpbmcqKShlbnRyeS0+R2V0VmFsdWUoKS5wdHIpOw0KLX0NCi0JDQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpQdXRDb21wbGV4KHN0ZDo6c3RyaW5nJiBuYW1lLCBDb21wbGV4RGF0YSYgdmFsdWUpew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLnB0ciA9ICZ2YWx1ZTsNCi0JUHV0VmFsdWUobmFtZSwgJnZhbHVlLkdldFR5cGUoKSwgZVZhbHVlKTsNCi19DQotCQ0KLXZvaWQgTmV0d29ya1RhYmxlTm9kZTo6cmV0cmlldmVWYWx1ZShzdGQ6OnN0cmluZyYgbmFtZSwgQ29tcGxleERhdGEmIGV4dGVybmFsRGF0YSl7DQotCXsgDQotCQlTeW5jaHJvbml6ZWQgc3luYyhlbnRyeVN0b3JlLkxPQ0spOw0KLQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gZW50cnlTdG9yZS5HZXRFbnRyeShuYW1lKTsNCi0JCWlmKGVudHJ5PT1OVUxMKQ0KLQkJCXRocm93IFRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbihuYW1lKTsNCi0JCU5ldHdvcmtUYWJsZUVudHJ5VHlwZSogZW50cnlUeXBlID0gZW50cnktPkdldFR5cGUoKTsNCi0JCWlmKCFlbnRyeVR5cGUtPmlzQ29tcGxleCgpKQ0KLQkJCXRocm93IFRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24obmFtZSwgZW50cnlUeXBlLCAiSXMgbm90IGEgY29tcGxleCBkYXRhIHR5cGUiKTsNCi0JCUNvbXBsZXhFbnRyeVR5cGUqIGNvbXBsZXhUeXBlID0gKENvbXBsZXhFbnRyeVR5cGUqKWVudHJ5VHlwZTsNCi0JCWNvbXBsZXhUeXBlLT5leHBvcnRWYWx1ZShuYW1lLCBlbnRyeS0+R2V0VmFsdWUoKSwgZXh0ZXJuYWxEYXRhKTsNCi0JfQ0KLX0NCi0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OlB1dFZhbHVlKHN0ZDo6c3RyaW5nJiBuYW1lLCBOZXR3b3JrVGFibGVFbnRyeVR5cGUqIHR5cGUsIEVudHJ5VmFsdWUgdmFsdWUpew0KLQlpZih0eXBlLT5pc0NvbXBsZXgoKSl7DQotCQl7IA0KLQkJCVN5bmNocm9uaXplZCBzeW5jKGVudHJ5U3RvcmUuTE9DSyk7DQotCQkJQ29tcGxleERhdGEqIGNvbXBsZXhEYXRhID0gKENvbXBsZXhEYXRhKil2YWx1ZS5wdHI7DQotCQkJQ29tcGxleEVudHJ5VHlwZSogZW50cnlUeXBlID0gKENvbXBsZXhFbnRyeVR5cGUqKXR5cGU7DQotCQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gZW50cnlTdG9yZS5HZXRFbnRyeShuYW1lKTsNCi0JCQlpZihlbnRyeSE9TlVMTCkNCi0JCQkJZW50cnlTdG9yZS5QdXRPdXRnb2luZyhlbnRyeSwgZW50cnlUeXBlLT5pbnRlcm5hbGl6ZVZhbHVlKGVudHJ5LT5uYW1lLCAqY29tcGxleERhdGEsIGVudHJ5LT5HZXRWYWx1ZSgpKSk7DQotCQkJZWxzZXsNCi0JCQkJRW50cnlWYWx1ZSBudWxsVmFsdWUgPSB7MH07DQotCQkJCWVudHJ5U3RvcmUuUHV0T3V0Z29pbmcobmFtZSwgdHlwZSwgZW50cnlUeXBlLT5pbnRlcm5hbGl6ZVZhbHVlKG5hbWUsICpjb21wbGV4RGF0YSwgbnVsbFZhbHVlKSk7DQotCQkJfQ0KLQkJfQ0KLQl9DQotCWVsc2UNCi0JCWVudHJ5U3RvcmUuUHV0T3V0Z29pbmcobmFtZSwgdHlwZSwgdmFsdWUpOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OlB1dFZhbHVlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgRW50cnlWYWx1ZSB2YWx1ZSl7DQotCWlmKGVudHJ5LT5HZXRUeXBlKCktPmlzQ29tcGxleCgpKXsNCi0JCXsgDQotCQkJU3luY2hyb25pemVkIHN5bmMoZW50cnlTdG9yZS5MT0NLKTsNCi0JCQlDb21wbGV4RW50cnlUeXBlKiBlbnRyeVR5cGUgPSAoQ29tcGxleEVudHJ5VHlwZSopZW50cnktPkdldFR5cGUoKTsNCi0JCQkNCi0JCQllbnRyeVN0b3JlLlB1dE91dGdvaW5nKGVudHJ5LCBlbnRyeVR5cGUtPmludGVybmFsaXplVmFsdWUoZW50cnktPm5hbWUsICooQ29tcGxleERhdGEqKXZhbHVlLnB0ciwgZW50cnktPkdldFZhbHVlKCkpKTsNCi0JCX0NCi0JfQ0KLQllbHNlDQotCQllbnRyeVN0b3JlLlB1dE91dGdvaW5nKGVudHJ5LCB2YWx1ZSk7DQotfQ0KLQ0KLUVudHJ5VmFsdWUgTmV0d29ya1RhYmxlTm9kZTo6R2V0VmFsdWUoc3RkOjpzdHJpbmcmIG5hbWUpey8vVE9ETyBkb24ndCBhbGxvdyBnZXQgb2YgY29tcGxleCB0eXBlcw0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmMoZW50cnlTdG9yZS5MT0NLKTsNCi0JCU5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSA9IGVudHJ5U3RvcmUuR2V0RW50cnkobmFtZSk7DQotCQlpZihlbnRyeT09TlVMTCkNCi0JCQl0aHJvdyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24obmFtZSk7DQotCQlyZXR1cm4gZW50cnktPkdldFZhbHVlKCk7DQotCX0NCi19DQotDQotDQotYm9vbCBOZXR3b3JrVGFibGVOb2RlOjpDb250YWluc0tleShzdGQ6OnN0cmluZyYga2V5KXsNCi0JcmV0dXJuIGVudHJ5U3RvcmUuR2V0RW50cnkoa2V5KSE9TlVMTDsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpBZGRDb25uZWN0aW9uTGlzdGVuZXIoSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KSB7DQotCXJlbW90ZUxpc3RlbmVycy5wdXNoX2JhY2sobGlzdGVuZXIpOw0KLQlpZihJc0Nvbm5lY3RlZCgpKQ0KLQkJbGlzdGVuZXItPkNvbm5lY3RlZCh0aGlzKTsNCi0JZWxzZQ0KLQkJbGlzdGVuZXItPkRpc2Nvbm5lY3RlZCh0aGlzKTsNCi19DQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpSZW1vdmVDb25uZWN0aW9uTGlzdGVuZXIoSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogbGlzdGVuZXIpIHsNCi0Jc3RkOjp2ZWN0b3I8SVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lcio+OjppdGVyYXRvciBsaXN0ZW5lclBvc2l0aW9uID0gc3RkOjpmaW5kKHJlbW90ZUxpc3RlbmVycy5iZWdpbigpLCByZW1vdGVMaXN0ZW5lcnMuZW5kKCksIGxpc3RlbmVyKTsNCi0JaWYobGlzdGVuZXJQb3NpdGlvbiE9cmVtb3RlTGlzdGVuZXJzLmVuZCgpKQ0KLQkJcmVtb3RlTGlzdGVuZXJzLmVyYXNlKGxpc3RlbmVyUG9zaXRpb24pOw0KLX0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OkZpcmVDb25uZWN0ZWRFdmVudCgpew0KLQlmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpPHJlbW90ZUxpc3RlbmVycy5zaXplKCk7ICsraSkNCi0JCXJlbW90ZUxpc3RlbmVycy5hdChpKS0+Q29ubmVjdGVkKHRoaXMpOw0KLX0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OkZpcmVEaXNjb25uZWN0ZWRFdmVudCgpew0KLQlmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpPHJlbW90ZUxpc3RlbmVycy5zaXplKCk7ICsraSkNCi0JCXJlbW90ZUxpc3RlbmVycy5hdChpKS0+RGlzY29ubmVjdGVkKHRoaXMpOw0KLX0NCi0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OkFkZFRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIGltbWVkaWF0ZU5vdGlmeSkgew0KLQl0YWJsZUxpc3RlbmVycy5wdXNoX2JhY2sobGlzdGVuZXIpOw0KLQlpZihpbW1lZGlhdGVOb3RpZnkpDQotCQllbnRyeVN0b3JlLm5vdGlmeUVudHJpZXMoTlVMTCwgbGlzdGVuZXIpOw0KLX0NCi12b2lkIE5ldHdvcmtUYWJsZU5vZGU6OlJlbW92ZVRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKSB7DQotCXN0ZDo6dmVjdG9yPElUYWJsZUxpc3RlbmVyKj46Oml0ZXJhdG9yIGxpc3RlbmVyUG9zaXRpb24gPSBzdGQ6OmZpbmQodGFibGVMaXN0ZW5lcnMuYmVnaW4oKSwgdGFibGVMaXN0ZW5lcnMuZW5kKCksIGxpc3RlbmVyKTsNCi0JaWYobGlzdGVuZXJQb3NpdGlvbiE9dGFibGVMaXN0ZW5lcnMuZW5kKCkpDQotCQl0YWJsZUxpc3RlbmVycy5lcmFzZShsaXN0ZW5lclBvc2l0aW9uKTsNCi19DQotdm9pZCBOZXR3b3JrVGFibGVOb2RlOjpGaXJlVGFibGVMaXN0ZW5lcnMoc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldyl7DQotCWZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGk8dGFibGVMaXN0ZW5lcnMuc2l6ZSgpOyArK2kpDQotCQl0YWJsZUxpc3RlbmVycy5hdChpKS0+VmFsdWVDaGFuZ2VkKE5VTEwsIGtleSwgdmFsdWUsIGlzTmV3KTsNCi19DQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyM2ExY2VjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZU5vZGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZU5vZGUuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgTkVUV09SS1RBQkxFTk9ERV9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFTk9ERV9IXw0KLQ0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZU5vZGU7DQotDQotI2luY2x1ZGUgIkFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlICJjbGllbnQvQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlci5oIg0KLSNpbmNsdWRlICJ0eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5oIg0KLSNpbmNsdWRlICJ0eXBlL0NvbXBsZXhEYXRhLmgiDQotI2luY2x1ZGUgInR5cGUvQ29tcGxleEVudHJ5VHlwZS5oIg0KLSNpbmNsdWRlICJ0YWJsZXMvSVJlbW90ZS5oIg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgPHZlY3Rvcj4NCi0NCi0NCi0vKioNCi0gKiByZXByZXNlbnRzIGEgbm9kZSAoZWl0aGVyIGEgY2xpZW50IG9yIGEgc2VydmVyKSBpbiBhIG5ldHdvcmsgdGFibGVzIDIuMA0KLSAqIDxicj4NCi0gKiBpbXBsZW1lbnRlcnMgb2YgdGhlIGNsYXNzIG11c3QgZW5zdXJlIHRoYXQgdGhleSBjYWxsIHtAbGluayAjaW5pdChOZXR3b3JrVGFibGVUcmFuc2FjdGlvblBvb2wsIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZSl9IGJlZm9yZSBjYWxsaW5nIGFueSBvdGhlciBtZXRob2RzIG9uIHRoaXMgY2xhc3MNCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBOZXR3b3JrVGFibGVOb2RlIDogcHVibGljIFRhYmxlTGlzdGVuZXJNYW5hZ2VyLCBwdWJsaWMgQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlciwgcHVibGljIElSZW1vdGV7DQotDQotcHJvdGVjdGVkOg0KLQlBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmIGVudHJ5U3RvcmU7DQotCU5ldHdvcmtUYWJsZU5vZGUoQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBlbnRyeVN0b3JlKTsNCi0JDQotcHVibGljOg0KLQkvKioNCi0JICogQHJldHVybiB0aGUgZW50cnkgc3RvcmUgdXNlZCBieSB0aGlzIG5vZGUNCi0JICovDQotCUFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZSYgR2V0RW50cnlTdG9yZSgpOw0KLQl2aXJ0dWFsIH5OZXR3b3JrVGFibGVOb2RlKCk7DQotDQotCQ0KLQkNCi0Jdm9pZCBQdXRCb29sZWFuKHN0ZDo6c3RyaW5nJiBuYW1lLCBib29sIHZhbHVlKTsNCi0JYm9vbCBHZXRCb29sZWFuKHN0ZDo6c3RyaW5nJiBuYW1lKTsNCi0NCi0Jdm9pZCBQdXREb3VibGUoc3RkOjpzdHJpbmcmIG5hbWUsIGRvdWJsZSB2YWx1ZSk7DQotCWRvdWJsZSBHZXREb3VibGUoc3RkOjpzdHJpbmcmIG5hbWUpOw0KLQ0KLQl2b2lkIFB1dFN0cmluZyhzdGQ6OnN0cmluZyYgbmFtZSwgc3RkOjpzdHJpbmcmIHZhbHVlKTsNCi0Jc3RkOjpzdHJpbmcmIEdldFN0cmluZyhzdGQ6OnN0cmluZyYgbmFtZSk7DQotICAgICAgICANCi0gICAgdm9pZCBQdXRDb21wbGV4KHN0ZDo6c3RyaW5nJiBuYW1lLCBDb21wbGV4RGF0YSYgdmFsdWUpOw0KLSAgICAgICAgDQotCXZvaWQgcmV0cmlldmVWYWx1ZShzdGQ6OnN0cmluZyYgbmFtZSwgQ29tcGxleERhdGEmIGV4dGVybmFsRGF0YSk7DQotCQ0KLQkvKioNCi0JICogUHV0IGEgdmFsdWUgd2l0aCBhIHNwZWNpZmljIG5ldHdvcmsgdGFibGUgdHlwZQ0KLQkgKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZW50cnkgdG8gYXNzb2NpYXRlIHdpdGggdGhlIGdpdmVuIHZhbHVlDQotCSAqIEBwYXJhbSB0eXBlIHRoZSB0eXBlIG9mIHRoZSBlbnRyeQ0KLQkgKiBAcGFyYW0gdmFsdWUgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgZW50cnkNCi0JICovDQotCXZvaWQgUHV0VmFsdWUoc3RkOjpzdHJpbmcmIG5hbWUsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZSogdHlwZSwgRW50cnlWYWx1ZSB2YWx1ZSk7DQotCXZvaWQgUHV0VmFsdWUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5LCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0JDQotCUVudHJ5VmFsdWUgR2V0VmFsdWUoc3RkOjpzdHJpbmcmIG5hbWUpOw0KLQkNCi0JDQotCS8qKg0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gY2hlY2sgZm9yIGV4aXN0ZW5jZQ0KLQkgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHRhYmxlIGhhcyB0aGUgZ2l2ZW4ga2V5DQotCSAqLw0KLQlib29sIENvbnRhaW5zS2V5KHN0ZDo6c3RyaW5nJiBrZXkpOw0KLQ0KLQkvKioNCi0JICogY2xvc2UgYWxsIG5ldHdvcmtpbmcgYWN0aXZpdHkgcmVsYXRlZCB0byB0aGlzIG5vZGUNCi0JICovDQotCXZpcnR1YWwgdm9pZCBDbG9zZSgpID0gMDsNCi0JDQotcHJpdmF0ZToNCi0Jc3RkOjp2ZWN0b3I8SVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lcio+IHJlbW90ZUxpc3RlbmVyczsNCi1wdWJsaWM6DQotCXZvaWQgQWRkQ29ubmVjdGlvbkxpc3RlbmVyKElSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIqIGxpc3RlbmVyLCBib29sIGltbWVkaWF0ZU5vdGlmeSk7DQotCXZvaWQgUmVtb3ZlQ29ubmVjdGlvbkxpc3RlbmVyKElSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIqIGxpc3RlbmVyKTsNCi0Jdm9pZCBGaXJlQ29ubmVjdGVkRXZlbnQoKTsNCi0Jdm9pZCBGaXJlRGlzY29ubmVjdGVkRXZlbnQoKTsNCi0JDQotDQotcHJpdmF0ZToNCi0Jc3RkOjp2ZWN0b3I8SVRhYmxlTGlzdGVuZXIqPiB0YWJsZUxpc3RlbmVyczsNCi1wdWJsaWM6DQotCXZvaWQgQWRkVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KTsNCi0Jdm9pZCBSZW1vdmVUYWJsZUxpc3RlbmVyKElUYWJsZUxpc3RlbmVyKiBsaXN0ZW5lcik7DQotCXZvaWQgRmlyZVRhYmxlTGlzdGVuZXJzKHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgdmFsdWUsIGJvb2wgaXNOZXcpOw0KLX07DQotDQotDQotDQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRU5PREVfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9PdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL091dGdvaW5nRW50cnlSZWNlaXZlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTkyNjFkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL091dGdvaW5nRW50cnlSZWNlaXZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoNCi0gKiBPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAxOSwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgT1VUR09JTkdFTlRSWVJFQ0VJVkVSX0hfDQotI2RlZmluZSBPVVRHT0lOR0VOVFJZUkVDRUlWRVJfSF8NCi0NCi1jbGFzcyBPdXRnb2luZ0VudHJ5UmVjZWl2ZXI7DQotDQotI2luY2x1ZGUgIk5ldHdvcmtUYWJsZUVudHJ5LmgiDQotDQotY2xhc3MgTmV0d29ya1RhYmxlRW50cnk7DQotDQotY2xhc3MgT3V0Z29pbmdFbnRyeVJlY2VpdmVyDQotew0KLXB1YmxpYzoNCi0JdmlydHVhbCB+T3V0Z29pbmdFbnRyeVJlY2VpdmVyKCkNCi0Jew0KLQl9DQotCXZpcnR1YWwgdm9pZCBvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpID0gMDsNCi0JdmlydHVhbCB2b2lkIG9mZmVyT3V0Z29pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSA9IDA7DQotfTsNCi1jbGFzcyBPdXRnb2luZ0VudHJ5UmVjZWl2ZXJfTlVMTF90IDogcHVibGljIE91dGdvaW5nRW50cnlSZWNlaXZlciB7DQotcHVibGljOg0KLQl2b2lkIG9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSk7DQotCXZvaWQgb2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpOw0KLX07DQotDQotZXh0ZXJuIE91dGdvaW5nRW50cnlSZWNlaXZlcl9OVUxMX3QgT3V0Z29pbmdFbnRyeVJlY2VpdmVyX05VTEw7DQotDQotI2VuZGlmIC8qIE9VVEdPSU5HRU5UUllSRUNFSVZFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL091dGdvaW5nRW50cnlSZWNpZXZlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9PdXRnb2luZ0VudHJ5UmVjaWV2ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYmJiODc4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL091dGdvaW5nRW50cnlSZWNpZXZlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0vKg0KLSAqIE91dGdvaW5nRW50cnlSZWNpZXZlci5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9PdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCINCi0NCi1PdXRnb2luZ0VudHJ5UmVjZWl2ZXJfTlVMTF90IE91dGdvaW5nRW50cnlSZWNlaXZlcl9OVUxMOw0KLQ0KLXZvaWQgT3V0Z29pbmdFbnRyeVJlY2VpdmVyX05VTExfdDo6b2ZmZXJPdXRnb2luZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KXt9Ow0KLXZvaWQgT3V0Z29pbmdFbnRyeVJlY2VpdmVyX05VTExfdDo6b2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpe307DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNlZjE1Ny4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8qDQotICogVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50S2V5RXhjZXB0aW9uLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uLmgiDQotDQotDQotDQotVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbjo6VGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbihjb25zdCBzdGQ6OnN0cmluZywgTmV0d29ya1RhYmxlRW50cnlUeXBlKiBleGlzdGluZ1R5cGUpIHsNCi0JLy9UT0RPIGNvbnN0cnVjdCBzdHJpbmcgdGhpcyhleGlzdGluZ0tleSwgZXhpc3RpbmdUeXBlLCAiIik7DQotfQ0KLQ0KLVRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb246OlRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24oY29uc3Qgc3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZSogZXhpc3RpbmdUeXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKSB7DQotCS8vVE9ETyBjb25zdHJ1Y3Qgc3RyaW5nIHN1cGVyKCJJbGxlZ2FsIHB1dCAtIGtleSAnIiArIGV4aXN0aW5nS2V5ICsgIicgZXhpc3RzIHdpdGggdHlwZSAnIiArIGV4aXN0aW5nVHlwZSArICInLiAiK21lc3NhZ2UpOw0KLX0NCi0NCi1UYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uOjp+VGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbigpIHRocm93ICgpew0KLQkvL1RPRE8gZGVsZXRlIG1lc3NhZ2UNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNzYzZjg5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL1RhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLS8qDQotICogVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbi5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBUQUJMRUtFWUVYSVNUU1dJVEhESUZGRVJFTlRUWVBFRVhDRVBUSU9OX0hfDQotI2RlZmluZSBUQUJMRUtFWUVYSVNUU1dJVEhESUZGRVJFTlRUWVBFRVhDRVBUSU9OX0hfDQotDQotDQotY2xhc3MgVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbjsNCi0NCi0NCi0jaW5jbHVkZSA8ZXhjZXB0aW9uPg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5oIg0KLQ0KLQ0KLQ0KLQ0KLS8qKg0KLSAqIFRocm93IHRvIGluZGljYXRlIHRoYXQgYW4gYXR0ZW1wdCB0byBwdXQgZGF0YSB0byBhIHRhYmxlIGlzIGlsbGVnYWwgYmVjYXVzZQ0KLSAqIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cyB3aXRoIGEgZGlmZmVyZW50IGRhdGEgdHlwZSB0aGFuIHRoZSBwdXQgZGF0YSB0eXBlLg0KLSAqIA0KLSAqIEBhdXRob3IgUGF1bCBNYWxtc3RlbiA8cG1hbG1zdGVuQGdtYWlsLmNvbT4NCi0gKi8NCi1jbGFzcyBUYWJsZUtleUV4aXN0c1dpdGhEaWZmZXJlbnRUeXBlRXhjZXB0aW9uIDogcHVibGljIHN0ZDo6ZXhjZXB0aW9uIHsNCi1wdWJsaWM6DQotICAgIC8qKg0KLSAgICAgKiBDcmVhdGVzIGEgbmV3IFRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24NCi0gICAgICogDQotICAgICAqIEBwYXJhbSBleGlzdGluZ0tleSBUaGUgbmFtZSBvZiB0aGUga2V5IHdoaWNoIGV4aXN0cy4NCi0gICAgICogQHBhcmFtIGV4aXN0aW5nVHlwZSBUaGUgdHlwZSBvZiB0aGUga2V5IHdoaWNoIGV4aXN0cy4NCi0gICAgICovDQotICAgIFRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24oY29uc3Qgc3RkOjpzdHJpbmcgZXhpc3RpbmdLZXksIE5ldHdvcmtUYWJsZUVudHJ5VHlwZSogZXhpc3RpbmdUeXBlKTsNCi0gICAgDQotICAgIFRhYmxlS2V5RXhpc3RzV2l0aERpZmZlcmVudFR5cGVFeGNlcHRpb24oY29uc3Qgc3RkOjpzdHJpbmcgZXhpc3RpbmdLZXksIE5ldHdvcmtUYWJsZUVudHJ5VHlwZSogZXhpc3RpbmdUeXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlKTsNCi0NCi0gICAgY29uc3QgY2hhciogd2hhdCgpe3JldHVybiAiVGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbiI7fTsNCi0NCi0gICAgdmlydHVhbCB+VGFibGVLZXlFeGlzdHNXaXRoRGlmZmVyZW50VHlwZUV4Y2VwdGlvbigpIHRocm93ICgpOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIFRBQkxFS0VZRVhJU1RTV0lUSERJRkZFUkVOVFRZUEVFWENFUFRJT05fSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvVHJhbnNhY3Rpb25EaXJ0aWVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2YxNDliNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoNCi0gKiBUcmFuc2FjdGlvbkRpcnRpZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI0LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL1RyYW5zYWN0aW9uRGlydGllci5oIg0KLQ0KLQ0KLQ0KLQlUcmFuc2FjdGlvbkRpcnRpZXI6OlRyYW5zYWN0aW9uRGlydGllcihPdXRnb2luZ0VudHJ5UmVjZWl2ZXImIF9jb250aW51aW5nUmVjZWl2ZXIpIDogY29udGludWluZ1JlY2VpdmVyKF9jb250aW51aW5nUmVjZWl2ZXIpew0KLQl9DQotDQotDQotDQotCXZvaWQgVHJhbnNhY3Rpb25EaXJ0aWVyOjpvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpIHsNCi0JCWlmKGVudHJ5LT5Jc0RpcnR5KCkpDQotCQkJcmV0dXJuOw0KLQkJZW50cnktPk1ha2VEaXJ0eSgpOw0KLQkJY29udGludWluZ1JlY2VpdmVyLm9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KGVudHJ5KTsNCi0JfQ0KLQ0KLQ0KLQ0KLQ0KLQl2b2lkIFRyYW5zYWN0aW9uRGlydGllcjo6b2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpIHsNCi0JCWlmKGVudHJ5LT5Jc0RpcnR5KCkpDQotCQkJcmV0dXJuOw0KLQkJZW50cnktPk1ha2VEaXJ0eSgpOw0KLQkJY29udGludWluZ1JlY2VpdmVyLm9mZmVyT3V0Z29pbmdVcGRhdGUoZW50cnkpOw0KLQl9DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvVHJhbnNhY3Rpb25EaXJ0aWVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRmN2JiZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qDQotICogVHJhbnNhY3Rpb25EaXJ0aWVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjQsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIFRSQU5TQUNUSU9ORElSVElFUl9IXw0KLSNkZWZpbmUgVFJBTlNBQ1RJT05ESVJUSUVSX0hfDQotDQotDQotY2xhc3MgVHJhbnNhY3Rpb25EaXJ0aWVyOw0KLQ0KLQ0KLSNpbmNsdWRlICJPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCINCi0NCi0NCi0NCi0vKioNCi0gKiBBIHRyYW5zYWN0aW9uIHJlY2VpdmVyIHRoYXQgbWFya3MgYWxsIFRhYmxlIGVudHJpZXMgYXMgZGlydHkgaW4gdGhlIGVudHJ5IHN0b3JlLiBFbnRyaWVzIHdpbGwgbm90IGJlIHBhc3NlZCB0byB0aGUgY29udGludWluZyByZWNlaXZlciBpZiB0aGV5IGFyZSBhbHJlYWR5IGRpcnR5DQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgVHJhbnNhY3Rpb25EaXJ0aWVyIDogcHVibGljIE91dGdvaW5nRW50cnlSZWNlaXZlciB7DQotcHJpdmF0ZToNCi0JT3V0Z29pbmdFbnRyeVJlY2VpdmVyJiBjb250aW51aW5nUmVjZWl2ZXI7DQotCQ0KLXB1YmxpYzoNCi0JVHJhbnNhY3Rpb25EaXJ0aWVyKE91dGdvaW5nRW50cnlSZWNlaXZlciYgY29udGludWluZ1JlY2VpdmVyKTsNCi0Jdm9pZCBvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpOw0KLQl2b2lkIG9mZmVyT3V0Z29pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0NCi19Ow0KLQ0KLSNlbmRpZiAvKiBUUkFOU0FDVElPTkRJUlRJRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvV3JpdGVNYW5hZ2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQxYmQyZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLS8qDQotICogV3JpdGVNYW5hZ2VyLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNSwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdXRpbC9TeXN0ZW0uaCINCi0jaW5jbHVkZSA8aW9zdHJlYW0+DQotDQotDQotDQotV3JpdGVNYW5hZ2VyOjpXcml0ZU1hbmFnZXIoRmx1c2hhYmxlT3V0Z29pbmdFbnRyeVJlY2VpdmVyJiBfcmVjZWl2ZXIsIE5UVGhyZWFkTWFuYWdlciYgX3RocmVhZE1hbmFnZXIsIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZSYgX2VudHJ5U3RvcmUsIHVuc2lnbmVkIGxvbmcgX2tlZXBBbGl2ZURlbGF5KQ0KLQk6IHJlY2VpdmVyKF9yZWNlaXZlciksIHRocmVhZE1hbmFnZXIoX3RocmVhZE1hbmFnZXIpLCBlbnRyeVN0b3JlKF9lbnRyeVN0b3JlKSwga2VlcEFsaXZlRGVsYXkoX2tlZXBBbGl2ZURlbGF5KXsNCi0JDQotCXRocmVhZCA9IE5VTEw7DQotCWxhc3RXcml0ZSA9IDA7DQotCQ0KLQlpbmNvbWluZ0Fzc2lnbm1lbnRRdWV1ZSA9IG5ldyBzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4oKTsNCi0JaW5jb21pbmdVcGRhdGVRdWV1ZSA9IG5ldyBzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4oKTsNCi0Jb3V0Z29pbmdBc3NpZ25tZW50UXVldWUgPSBuZXcgc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KCk7DQotCW91dGdvaW5nVXBkYXRlUXVldWUgPSBuZXcgc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KCk7DQotfQ0KLQ0KLVdyaXRlTWFuYWdlcjo6fldyaXRlTWFuYWdlcigpew0KLQl0cmFuc2FjdGlvbnNMb2NrLnRha2UoKTsNCi0NCi0Jc3RvcCgpOw0KLQkNCi0JZGVsZXRlIGluY29taW5nQXNzaWdubWVudFF1ZXVlOw0KLQlkZWxldGUgaW5jb21pbmdVcGRhdGVRdWV1ZTsNCi0JZGVsZXRlIG91dGdvaW5nQXNzaWdubWVudFF1ZXVlOw0KLQlkZWxldGUgb3V0Z29pbmdVcGRhdGVRdWV1ZTsNCi19DQotDQotdm9pZCBXcml0ZU1hbmFnZXI6OnN0YXJ0KCl7DQotCWlmKHRocmVhZCE9TlVMTCkNCi0JCXN0b3AoKTsNCi0JbGFzdFdyaXRlID0gY3VycmVudFRpbWVNaWxsaXMoKTsNCi0JdGhyZWFkID0gdGhyZWFkTWFuYWdlci5uZXdCbG9ja2luZ1BlcmlvZGljVGhyZWFkKHRoaXMsICJXcml0ZSBNYW5hZ2VyIFRocmVhZCIpOw0KLX0NCi0NCi12b2lkIFdyaXRlTWFuYWdlcjo6c3RvcCgpew0KLSAgaWYodGhyZWFkIT1OVUxMKXsNCi0gICAgdGhyZWFkLT5zdG9wKCk7DQotICAgIC8vZGVsZXRlIHRocmVhZDsNCi0gICAgdGhyZWFkID0gTlVMTDsNCi0gIH0NCi19DQotDQotDQotdm9pZCBXcml0ZU1hbmFnZXI6Om9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSkgew0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmModHJhbnNhY3Rpb25zTG9jayk7DQotCQkoKHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiopaW5jb21pbmdBc3NpZ25tZW50UXVldWUpLT5wdXNoKGVudHJ5KTsNCi0JCQ0KLQkJaWYoKChzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4qKWluY29taW5nQXNzaWdubWVudFF1ZXVlKS0+c2l6ZSgpPj1xdWV1ZVNpemUpew0KLQkJCXJ1bigpOw0KLQkJCXdyaXRlV2FybmluZygiYXNzaWdubWVudCBxdWV1ZSBvdmVyZmxvd2VkLiBkZWNyZWFzZSB0aGUgcmF0ZSBhdCB3aGljaCB5b3UgY3JlYXRlIG5ldyBlbnRyaWVzIG9yIGluY3JlYXNlIHRoZSB3cml0ZSBidWZmZXIgc2l6ZSIpOw0KLQkJfQ0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgV3JpdGVNYW5hZ2VyOjpvZmZlck91dGdvaW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSkgew0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmModHJhbnNhY3Rpb25zTG9jayk7DQotCQkoKHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiopaW5jb21pbmdVcGRhdGVRdWV1ZSktPnB1c2goZW50cnkpOw0KLQkJaWYoKChzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4qKWluY29taW5nVXBkYXRlUXVldWUpLT5zaXplKCk+PXF1ZXVlU2l6ZSl7DQotCQkJcnVuKCk7DQotCQkJd3JpdGVXYXJuaW5nKCJ1cGRhdGUgcXVldWUgb3ZlcmZsb3dlZC4gZGVjcmVhc2UgdGhlIHJhdGUgYXQgd2hpY2ggeW91IHVwZGF0ZSBlbnRyaWVzIG9yIGluY3JlYXNlIHRoZSB3cml0ZSBidWZmZXIgc2l6ZSIpOw0KLQkJfQ0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgV3JpdGVNYW5hZ2VyOjpydW4oKSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKHRyYW5zYWN0aW9uc0xvY2spOw0KLQkJLy9zd2FwIHRoZSBhc3NpZ25tZW50IGFuZCB1cGRhdGUgcXVldWUNCi0JCXZvbGF0aWxlIHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiogdG1wID0gaW5jb21pbmdBc3NpZ25tZW50UXVldWU7DQotCQlpbmNvbWluZ0Fzc2lnbm1lbnRRdWV1ZSA9IG91dGdvaW5nQXNzaWdubWVudFF1ZXVlOw0KLQkJb3V0Z29pbmdBc3NpZ25tZW50UXVldWUgPSB0bXA7DQotCQkNCi0JCXRtcCA9IGluY29taW5nVXBkYXRlUXVldWU7DQotCQlpbmNvbWluZ1VwZGF0ZVF1ZXVlID0gb3V0Z29pbmdVcGRhdGVRdWV1ZTsNCi0JCW91dGdvaW5nVXBkYXRlUXVldWUgPSB0bXA7DQotCX0NCi0JDQotCWJvb2wgd3JvdGUgPSBmYWxzZTsNCi0JTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5Ow0KLQkNCi0Jd2hpbGUoISgoc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KilvdXRnb2luZ0Fzc2lnbm1lbnRRdWV1ZSktPmVtcHR5KCkpew0KLQkJZW50cnkgPSAoKHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiopb3V0Z29pbmdBc3NpZ25tZW50UXVldWUpLT5mcm9udCgpOw0KLQkJKChzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4qKW91dGdvaW5nQXNzaWdubWVudFF1ZXVlKS0+cG9wKCk7DQotCQl7DQotCQkJU3luY2hyb25pemVkIHN5bmMoZW50cnlTdG9yZS5MT0NLKTsNCi0JCQllbnRyeS0+TWFrZUNsZWFuKCk7DQotCQkJd3JvdGUgPSB0cnVlOw0KLQkJCXJlY2VpdmVyLm9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KGVudHJ5KTsNCi0JCX0NCi0JfQ0KLQkNCi0Jd2hpbGUoISgoc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KilvdXRnb2luZ1VwZGF0ZVF1ZXVlKS0+ZW1wdHkoKSl7DQotCQllbnRyeSA9ICgoc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KilvdXRnb2luZ1VwZGF0ZVF1ZXVlKS0+ZnJvbnQoKTsNCi0JCSgoc3RkOjpxdWV1ZTxOZXR3b3JrVGFibGVFbnRyeSo+KilvdXRnb2luZ1VwZGF0ZVF1ZXVlKS0+cG9wKCk7DQotCQl7IA0KLQkJCVN5bmNocm9uaXplZCBzeW5jKGVudHJ5U3RvcmUuTE9DSyk7DQotCQkJZW50cnktPk1ha2VDbGVhbigpOw0KLQkJCXdyb3RlID0gdHJ1ZTsNCi0JCQlyZWNlaXZlci5vZmZlck91dGdvaW5nVXBkYXRlKGVudHJ5KTsNCi0JCX0NCi0JfQ0KLQkNCi0JDQotCQ0KLQlpZih3cm90ZSl7DQotCQlyZWNlaXZlci5mbHVzaCgpOw0KLQkJbGFzdFdyaXRlID0gY3VycmVudFRpbWVNaWxsaXMoKTsNCi0JfQ0KLQllbHNlIGlmKGN1cnJlbnRUaW1lTWlsbGlzKCktbGFzdFdyaXRlPmtlZXBBbGl2ZURlbGF5KQ0KLQkJcmVjZWl2ZXIuZW5zdXJlQWxpdmUoKTsNCi0JDQotCXNsZWVwX21zKDIwKTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvV3JpdGVNYW5hZ2VyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ5NWU5ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLS8qDQotICogV3JpdGVNYW5hZ2VyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjUsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIFdSSVRFTUFOQUdFUl9IXw0KLSNkZWZpbmUgV1JJVEVNQU5BR0VSX0hfDQotDQotDQotY2xhc3MgV3JpdGVNYW5hZ2VyOw0KLQ0KLQ0KLSNpbmNsdWRlICJ0aHJlYWQvUGVyaW9kaWNSdW5uYWJsZS5oIg0KLSNpbmNsdWRlICJPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCINCi0jaW5jbHVkZSAidGhyZWFkL05UVGhyZWFkLmgiDQotI2luY2x1ZGUgInRocmVhZC9OVFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSAiRmx1c2hhYmxlT3V0Z29pbmdFbnRyeVJlY2VpdmVyLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtUYWJsZUVudHJ5LmgiDQotI2luY2x1ZGUgPHF1ZXVlPg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0NCi0NCi0NCi0vKioNCi0gKiBBIHdyaXRlIG1hbmFnZXIgaXMgYSB7QGxpbmsgSW5jb21pbmdFbnRyeVJlY2VpdmVyfSB0aGF0IGJ1ZmZlcnMgdHJhbnNhY3Rpb25zIGFuZCB0aGVuIGFuZCB0aGVuIGRpc3BhdGNoZXMgdGhlbSB0byBhIGZsdXNoYWJsZSB0cmFuc2FjdGlvbiByZWNlaXZlciB0aGF0IGlzIHBlcmlvZGljYWxseSBvZmZlcmVkIGFsbCBxdWV1ZWQgdHJhbnNhY3Rpb24gYW5kIHRoZW4gZmx1c2hlZA0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIFdyaXRlTWFuYWdlciA6IHB1YmxpYyBPdXRnb2luZ0VudHJ5UmVjZWl2ZXIsIHB1YmxpYyBQZXJpb2RpY1J1bm5hYmxlew0KLXByaXZhdGU6DQotCWNvbnN0IHN0YXRpYyBzaXplX3QgcXVldWVTaXplID0gNTAwOw0KLQkNCi0JUmVlbnRyYW50U2VtYXBob3JlIHRyYW5zYWN0aW9uc0xvY2s7DQotCQ0KLQlOVFRocmVhZCogdGhyZWFkOw0KLQkNCi0JRmx1c2hhYmxlT3V0Z29pbmdFbnRyeVJlY2VpdmVyJiByZWNlaXZlcjsNCi0JTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyOw0KLQlBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmIGVudHJ5U3RvcmU7DQotDQotCXVuc2lnbmVkIGxvbmcga2VlcEFsaXZlRGVsYXk7DQotCQ0KLQl2b2xhdGlsZSBzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4qIGluY29taW5nQXNzaWdubWVudFF1ZXVlOw0KLQl2b2xhdGlsZSBzdGQ6OnF1ZXVlPE5ldHdvcmtUYWJsZUVudHJ5Kj4qIGluY29taW5nVXBkYXRlUXVldWU7DQotCXZvbGF0aWxlIHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiogb3V0Z29pbmdBc3NpZ25tZW50UXVldWU7DQotCXZvbGF0aWxlIHN0ZDo6cXVldWU8TmV0d29ya1RhYmxlRW50cnkqPiogb3V0Z29pbmdVcGRhdGVRdWV1ZTsNCi0JDQotCXVuc2lnbmVkIGxvbmcgbGFzdFdyaXRlOw0KLQ0KLQ0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBXcml0ZSBtYW5hZ2VyDQotCSAqIEBwYXJhbSByZWNlaXZlcg0KLQkgKiBAcGFyYW0gdGhyZWFkTWFuYWdlcg0KLQkgKiBAcGFyYW0gdHJhbnNhY3Rpb25Qb29sDQotCSAqIEBwYXJhbSBlbnRyeVN0b3JlDQotCSAqLw0KLQlXcml0ZU1hbmFnZXIoRmx1c2hhYmxlT3V0Z29pbmdFbnRyeVJlY2VpdmVyJiByZWNlaXZlciwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyLCBBYnN0cmFjdE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmIGVudHJ5U3RvcmUsIHVuc2lnbmVkIGxvbmcga2VlcEFsaXZlRGVsYXkpOw0KLQl2aXJ0dWFsIH5Xcml0ZU1hbmFnZXIoKTsNCi0JLyoqDQotCSAqIHN0YXJ0IHRoZSB3cml0ZSB0aHJlYWQNCi0JICovDQotCXZvaWQgc3RhcnQoKTsNCi0JLyoqDQotCSAqIHN0b3AgdGhlIHdyaXRlIHRocmVhZA0KLQkgKi8NCi0Jdm9pZCBzdG9wKCk7DQotDQotDQotCXZvaWQgb2ZmZXJPdXRnb2luZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0NCi0NCi0Jdm9pZCBvZmZlck91dGdvaW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSk7DQotDQotCQ0KLQkvKioNCi0JICogdGhlIHBlcmlvZGljIG1ldGhvZCB0aGF0IHNlbmRzIGFsbCBidWZmZXJlZCB0cmFuc2FjdGlvbnMNCi0JICovDQotCXZvaWQgcnVuKCk7DQotDQotfTsNCi0NCi0jZW5kaWYgLyogV1JJVEVNQU5BR0VSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25BZGFwdGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxNTFhNTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25BZGFwdGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIwOSArMCwwIEBACi0vKg0KLSAqIENsaWVudENvbm5lY3Rpb25BZGFwdGVyLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0Nvbm5lY3Rpb25Nb25pdG9yVGhyZWFkLmgiDQotDQotdm9pZCBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6Z290b1N0YXRlKENsaWVudENvbm5lY3Rpb25TdGF0ZSogbmV3U3RhdGUpew0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCWlmKGNvbm5lY3Rpb25TdGF0ZSE9bmV3U3RhdGUpew0KLQkJCWZwcmludGYoc3Rkb3V0LCAiJXAgZW50ZXJlZCBjb25uZWN0aW9uIHN0YXRlOiAlc1xuIix0aGlzLCBuZXdTdGF0ZS0+dG9TdHJpbmcoKSk7DQotCQkJZmZsdXNoKHN0ZG91dCk7DQotCQkJaWYobmV3U3RhdGU9PSZDbGllbnRDb25uZWN0aW9uU3RhdGU6OklOX1NZTkNfV0lUSF9TRVJWRVIpDQotCQkJCWNvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIuRmlyZUNvbm5lY3RlZEV2ZW50KCk7DQotCQkJaWYoY29ubmVjdGlvblN0YXRlPT0mQ2xpZW50Q29ubmVjdGlvblN0YXRlOjpJTl9TWU5DX1dJVEhfU0VSVkVSKQ0KLQkJCQljb25uZWN0aW9uTGlzdGVuZXJNYW5hZ2VyLkZpcmVEaXNjb25uZWN0ZWRFdmVudCgpOw0KLQkJCWNvbm5lY3Rpb25TdGF0ZSA9IG5ld1N0YXRlOw0KLQkJfQ0KLQl9DQotfQ0KLS8qKg0KLSAqIEByZXR1cm4gdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uDQotICovDQotQ2xpZW50Q29ubmVjdGlvblN0YXRlKiBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6Z2V0Q29ubmVjdGlvblN0YXRlKCl7DQotCXJldHVybiBjb25uZWN0aW9uU3RhdGU7DQotfQ0KLS8qKg0KLSAqIEByZXR1cm4gaWYgdGhlIGNsaWVudCBpcyBjb25uZWN0ZWQgdG8gdGhlIHNlcnZlcg0KLSAqLw0KLWJvb2wgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6OmlzQ29ubmVjdGVkKCkgew0KLQlyZXR1cm4gZ2V0Q29ubmVjdGlvblN0YXRlKCk9PSZDbGllbnRDb25uZWN0aW9uU3RhdGU6OklOX1NZTkNfV0lUSF9TRVJWRVI7DQotfQ0KLQ0KLS8qKg0KLSAqIENyZWF0ZSBhIG5ldyBDbGllbnRDb25uZWN0aW9uQWRhcHRlcg0KLSAqIEBwYXJhbSBlbnRyeVN0b3JlDQotICogQHBhcmFtIHRocmVhZE1hbmFnZXINCi0gKiBAcGFyYW0gc3RyZWFtRmFjdG9yeQ0KLSAqIEBwYXJhbSB0cmFuc2FjdGlvblBvb2wNCi0gKiBAcGFyYW0gY29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlcg0KLSAqLw0KLUNsaWVudENvbm5lY3Rpb25BZGFwdGVyOjpDbGllbnRDb25uZWN0aW9uQWRhcHRlcihDbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBfZW50cnlTdG9yZSwgTlRUaHJlYWRNYW5hZ2VyJiBfdGhyZWFkTWFuYWdlciwgSU9TdHJlYW1GYWN0b3J5JiBfc3RyZWFtRmFjdG9yeSwgQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlciYgX2Nvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIF90eXBlTWFuYWdlcik6DQotCWVudHJ5U3RvcmUoX2VudHJ5U3RvcmUpLA0KLQlzdHJlYW1GYWN0b3J5KF9zdHJlYW1GYWN0b3J5KSwNCi0JdGhyZWFkTWFuYWdlcihfdGhyZWFkTWFuYWdlciksDQotCWNvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIoX2Nvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIpLA0KLQl0eXBlTWFuYWdlcihfdHlwZU1hbmFnZXIpLA0KLSAgICByZWFkVGhyZWFkKE5VTEwpLA0KLSAgICBjb25uZWN0aW9uKE5VTEwpew0KLQljb25uZWN0aW9uU3RhdGUgPSAmQ2xpZW50Q29ubmVjdGlvblN0YXRlOjpESVNDT05ORUNURURfRlJPTV9TRVJWRVI7DQotfQ0KLUNsaWVudENvbm5lY3Rpb25BZGFwdGVyOjp+Q2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIoKXsNCi0gIGNsb3NlKCk7DQotfQ0KLQ0KLQ0KLS8qDQotICogQ29ubmVjdGlvbiBtYW5hZ2VtZW50DQotICovDQotLyoqDQotICogUmVjb25uZWN0IHRoZSBjbGllbnQgdG8gdGhlIHNlcnZlciAoZXZlbiBpZiB0aGUgY2xpZW50IGlzIG5vdCBjdXJyZW50bHkgY29ubmVjdGVkKQ0KLSAqLw0KLXZvaWQgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6OnJlY29ubmVjdCgpIHsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQljbG9zZSgpOy8vY2xvc2UgdGhlIGV4aXN0aW5nIHN0cmVhbSBhbmQgbW9uaXRvciB0aHJlYWQgaWYgbmVlZGVkDQotCQl0cnl7DQotCQkJSU9TdHJlYW0qIHN0cmVhbSA9IHN0cmVhbUZhY3RvcnkuY3JlYXRlU3RyZWFtKCk7DQotCQkJaWYoc3RyZWFtPT1OVUxMKQ0KLQkJCQlyZXR1cm47DQotCQkJY29ubmVjdGlvbiA9IG5ldyBOZXR3b3JrVGFibGVDb25uZWN0aW9uKHN0cmVhbSwgdHlwZU1hbmFnZXIpOw0KLQkJCXJlYWRUaHJlYWQgPSB0aHJlYWRNYW5hZ2VyLm5ld0Jsb2NraW5nUGVyaW9kaWNUaHJlYWQobmV3IENvbm5lY3Rpb25Nb25pdG9yVGhyZWFkKCp0aGlzLCAqY29ubmVjdGlvbiksICJDbGllbnQgQ29ubmVjdGlvbiBSZWFkZXIgVGhyZWFkIik7DQotCQkJY29ubmVjdGlvbi0+c2VuZENsaWVudEhlbGxvKCk7DQotCQkJZ290b1N0YXRlKCZDbGllbnRDb25uZWN0aW9uU3RhdGU6OkNPTk5FQ1RFRF9UT19TRVJWRVIpOw0KLQkJfSBjYXRjaChJT0V4Y2VwdGlvbiYgZSl7DQotCQkJY2xvc2UoKTsvL21ha2Ugc3VyZSB0byBjbGVhbiBldmVyeXRoaW5nIHVwIGlmIHdlIGZhaWwgdG8gY29ubmVjdA0KLQkJfQ0KLQl9DQotfQ0KLQ0KLS8qKg0KLSAqIENsb3NlIHRoZSBjbGllbnQgY29ubmVjdGlvbg0KLSAqLw0KLXZvaWQgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6OmNsb3NlKCkgew0KLQljbG9zZSgmQ2xpZW50Q29ubmVjdGlvblN0YXRlOjpESVNDT05ORUNURURfRlJPTV9TRVJWRVIpOw0KLX0NCi0vKioNCi0gKiBDbG9zZSB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGFuZCBlbnRlciB0aGUgZ2l2ZW4gc3RhdGUNCi0gKiBAcGFyYW0gbmV3U3RhdGUNCi0gKi8NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjpjbG9zZShDbGllbnRDb25uZWN0aW9uU3RhdGUqIG5ld1N0YXRlKSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKExPQ0spOw0KLQkJZ290b1N0YXRlKG5ld1N0YXRlKTsNCi0JCWlmKHJlYWRUaHJlYWQhPU5VTEwpew0KLQkJCXJlYWRUaHJlYWQtPnN0b3AoKTsNCi0JCQlyZWFkVGhyZWFkID0gTlVMTDsNCi0JCX0NCi0JCWlmKGNvbm5lY3Rpb24hPU5VTEwpew0KLQkJCWNvbm5lY3Rpb24tPmNsb3NlKCk7DQotCQkJY29ubmVjdGlvbiA9IE5VTEw7DQotCQl9DQotCQllbnRyeVN0b3JlLmNsZWFySWRzKCk7DQotCX0NCi19DQotDQotDQotDQotdm9pZCBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6YmFkTWVzc2FnZShCYWRNZXNzYWdlRXhjZXB0aW9uJiBlKSB7DQotCWNsb3NlKG5ldyBDbGllbnRDb25uZWN0aW9uU3RhdGVfRXJyb3IoZSkpOw0KLX0NCi0NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjppb0V4Y2VwdGlvbihJT0V4Y2VwdGlvbiYgZSkgew0KLQlpZihjb25uZWN0aW9uU3RhdGUhPSZDbGllbnRDb25uZWN0aW9uU3RhdGU6OkRJU0NPTk5FQ1RFRF9GUk9NX1NFUlZFUikvL3dpbGwgZ2V0IGlvIGV4Y2VwdGlvbiB3aGVuIG9uIHJlYWQgdGhyZWFkIGNvbm5lY3Rpb24gaXMgY2xvc2VkDQotCQlyZWNvbm5lY3QoKTsNCi0JLy9nb3RvU3RhdGUobmV3IENsaWVudENvbm5lY3Rpb25TdGF0ZS5FcnJvcihlKSk7DQotfQ0KLQ0KLU5ldHdvcmtUYWJsZUVudHJ5KiBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6R2V0RW50cnkoRW50cnlJZCBpZCkgew0KLQlyZXR1cm4gZW50cnlTdG9yZS5HZXRFbnRyeShpZCk7DQotfQ0KLQ0KLQ0KLXZvaWQgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6OmtlZXBBbGl2ZSgpIHsNCi19DQotDQotdm9pZCBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6Y2xpZW50SGVsbG8oUHJvdG9jb2xWZXJzaW9uIHByb3RvY29sUmV2aXNpb24pIHsNCi0JdGhyb3cgQmFkTWVzc2FnZUV4Y2VwdGlvbigiQSBjbGllbnQgc2hvdWxkIG5vdCByZWNlaXZlIGEgY2xpZW50IGhlbGxvIG1lc3NhZ2UiKTsNCi19DQotDQotdm9pZCBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6cHJvdG9jb2xWZXJzaW9uVW5zdXBwb3J0ZWQoUHJvdG9jb2xWZXJzaW9uIHByb3RvY29sUmV2aXNpb24pIHsNCi0JY2xvc2UoKTsNCi0JZ290b1N0YXRlKG5ldyBDbGllbnRDb25uZWN0aW9uU3RhdGVfUHJvdG9jb2xVbnN1cHBvdGVkQnlTZXJ2ZXIocHJvdG9jb2xSZXZpc2lvbikpOw0KLX0NCi0NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjpzZXJ2ZXJIZWxsb0NvbXBsZXRlKCkgew0KLQlpZiAoY29ubmVjdGlvblN0YXRlPT0mQ2xpZW50Q29ubmVjdGlvblN0YXRlOjpDT05ORUNURURfVE9fU0VSVkVSKSB7DQotCQl0cnkgew0KLQkJCWdvdG9TdGF0ZSgmQ2xpZW50Q29ubmVjdGlvblN0YXRlOjpJTl9TWU5DX1dJVEhfU0VSVkVSKTsNCi0JCQllbnRyeVN0b3JlLnNlbmRVbmtub3duRW50cmllcygqY29ubmVjdGlvbik7DQotCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiYgZSkgew0KLQkJCWlvRXhjZXB0aW9uKGUpOw0KLQkJfQ0KLQl9DQotCWVsc2UNCi0JCXRocm93IEJhZE1lc3NhZ2VFeGNlcHRpb24oIkEgY2xpZW50IHNob3VsZCBvbmx5IHJlY2VpdmUgYSBzZXJ2ZXIgaGVsbG8gY29tcGxldGUgb25jZSBhbmQgb25seSBhZnRlciBpdCBoYXMgY29ubmVjdGVkIHRvIHRoZSBzZXJ2ZXIiKTsNCi19DQotDQotDQotdm9pZCBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjo6b2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSB7DQotCWVudHJ5U3RvcmUub2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoZW50cnkpOw0KLX0NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjpvZmZlckluY29taW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpIHsNCi0JZW50cnlTdG9yZS5vZmZlckluY29taW5nVXBkYXRlKGVudHJ5LCBzZXF1ZW5jZU51bWJlciwgdmFsdWUpOw0KLX0NCi0NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjpvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpIHsNCi0JdHJ5IHsNCi0JCXsNCi0JCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCQlpZihjb25uZWN0aW9uIT1OVUxMICYmIGNvbm5lY3Rpb25TdGF0ZT09JkNsaWVudENvbm5lY3Rpb25TdGF0ZTo6SU5fU1lOQ19XSVRIX1NFUlZFUikNCi0JCQkJY29ubmVjdGlvbi0+c2VuZEVudHJ5QXNzaWdubWVudCgqZW50cnkpOw0KLQkJfQ0KLQl9IGNhdGNoKElPRXhjZXB0aW9uJiBlKXsNCi0JCWlvRXhjZXB0aW9uKGUpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6Om9mZmVyT3V0Z29pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSB7DQotCXRyeSB7DQotCQl7DQotCQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQkJaWYoY29ubmVjdGlvbiE9TlVMTCAmJiBjb25uZWN0aW9uU3RhdGU9PSZDbGllbnRDb25uZWN0aW9uU3RhdGU6OklOX1NZTkNfV0lUSF9TRVJWRVIpDQotCQkJCWNvbm5lY3Rpb24tPnNlbmRFbnRyeVVwZGF0ZSgqZW50cnkpOw0KLQkJfQ0KLQl9IGNhdGNoKElPRXhjZXB0aW9uJiBlKXsNCi0JCWlvRXhjZXB0aW9uKGUpOw0KLQl9DQotfQ0KLXZvaWQgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXI6OmZsdXNoKCkgew0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JCWlmKGNvbm5lY3Rpb24hPU5VTEwpIHsNCi0JCQl0cnkgew0KLQkJCQljb25uZWN0aW9uLT5mbHVzaCgpOw0KLQkJCX0gY2F0Y2ggKElPRXhjZXB0aW9uJiBlKSB7DQotCQkJCWlvRXhjZXB0aW9uKGUpOw0KLQkJCX0NCi0JCX0NCi0JfQ0KLX0NCi12b2lkIENsaWVudENvbm5lY3Rpb25BZGFwdGVyOjplbnN1cmVBbGl2ZSgpIHsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQlpZihjb25uZWN0aW9uIT1OVUxMKSB7DQotCQkJdHJ5IHsNCi0JCQkgIGNvbm5lY3Rpb24tPnNlbmRLZWVwQWxpdmUoKTsNCi0JCQl9IGNhdGNoIChJT0V4Y2VwdGlvbiYgZSkgew0KLQkJCQlpb0V4Y2VwdGlvbihlKTsNCi0JCQl9DQotCQl9DQotCQllbHNlDQotCQkJcmVjb25uZWN0KCk7Ly90cnkgdG8gcmVjb25uZWN0IGlmIG5vdCBjb25uZWN0ZWQNCi0JfQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYWMxYjczLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qDQotICogQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBDTElFTlRDT05ORUNUSU9OQURBUFRFUl9IXw0KLSNkZWZpbmUgQ0xJRU5UQ09OTkVDVElPTkFEQVBURVJfSF8NCi0NCi1jbGFzcyBDbGllbnRDb25uZWN0aW9uQWRhcHRlcjsNCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uQWRhcHRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9JbmNvbWluZ0VudHJ5UmVjZWl2ZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvRmx1c2hhYmxlT3V0Z29pbmdFbnRyeVJlY2VpdmVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbUZhY3RvcnkuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkTWFuYWdlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvTlRUaHJlYWQuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25TdGF0ZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlci5oIg0KLQ0KLQ0KLS8qKg0KLSAqIE9iamVjdCB0aGF0IGFkYXB0cyBtZXNzYWdlcyBmcm9tIGEgc2VydmVyDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIgOiBwdWJsaWMgQ29ubmVjdGlvbkFkYXB0ZXIsIHB1YmxpYyBJbmNvbWluZ0VudHJ5UmVjZWl2ZXIsIHB1YmxpYyBGbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXJ7DQotcHJpdmF0ZToNCi0JQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZSYgZW50cnlTdG9yZTsNCi0JSU9TdHJlYW1GYWN0b3J5JiBzdHJlYW1GYWN0b3J5Ow0KLQlOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXI7DQotCQ0KLQlDbGllbnRDb25uZWN0aW9uU3RhdGUqIGNvbm5lY3Rpb25TdGF0ZTsNCi0JQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlciYgY29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlcjsNCi0JUmVlbnRyYW50U2VtYXBob3JlIExPQ0s7DQotCU5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIHR5cGVNYW5hZ2VyOw0KLQlOVFRocmVhZCogcmVhZFRocmVhZDsNCi0JTmV0d29ya1RhYmxlQ29ubmVjdGlvbiogY29ubmVjdGlvbjsNCi0NCi0Jdm9pZCBnb3RvU3RhdGUoQ2xpZW50Q29ubmVjdGlvblN0YXRlKiBuZXdTdGF0ZSk7DQotCQ0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIEByZXR1cm4gdGhlIHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uDQotCSAqLw0KLQlDbGllbnRDb25uZWN0aW9uU3RhdGUqIGdldENvbm5lY3Rpb25TdGF0ZSgpOw0KLQkvKioNCi0JICogQHJldHVybiBpZiB0aGUgY2xpZW50IGlzIGNvbm5lY3RlZCB0byB0aGUgc2VydmVyDQotCSAqLw0KLQlib29sIGlzQ29ubmVjdGVkKCk7DQotDQotCS8qKg0KLQkgKiBDcmVhdGUgYSBuZXcgQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXINCi0JICogQHBhcmFtIGVudHJ5U3RvcmUNCi0JICogQHBhcmFtIHRocmVhZE1hbmFnZXINCi0JICogQHBhcmFtIHN0cmVhbUZhY3RvcnkNCi0JICogQHBhcmFtIHRyYW5zYWN0aW9uUG9vbA0KLQkgKiBAcGFyYW0gY29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlcg0KLQkgKi8NCi0JQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIoQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZSYgZW50cnlTdG9yZSwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyLCBJT1N0cmVhbUZhY3RvcnkmIHN0cmVhbUZhY3RvcnksIENsaWVudENvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXImIGNvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIHR5cGVNYW5hZ2VyKTsNCi0JdmlydHVhbCB+Q2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIoKTsNCi0JDQotCQ0KLQkvKg0KLQkgKiBDb25uZWN0aW9uIG1hbmFnZW1lbnQNCi0JICovDQotCS8qKg0KLQkgKiBSZWNvbm5lY3QgdGhlIGNsaWVudCB0byB0aGUgc2VydmVyIChldmVuIGlmIHRoZSBjbGllbnQgaXMgbm90IGN1cnJlbnRseSBjb25uZWN0ZWQpDQotCSAqLw0KLQl2b2lkIHJlY29ubmVjdCgpOw0KLQkNCi0JLyoqDQotCSAqIENsb3NlIHRoZSBjbGllbnQgY29ubmVjdGlvbg0KLQkgKi8NCi0Jdm9pZCBjbG9zZSgpOw0KLQkvKioNCi0JICogQ2xvc2UgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBhbmQgZW50ZXIgdGhlIGdpdmVuIHN0YXRlDQotCSAqIEBwYXJhbSBuZXdTdGF0ZQ0KLQkgKi8NCi0Jdm9pZCBjbG9zZShDbGllbnRDb25uZWN0aW9uU3RhdGUqIG5ld1N0YXRlKTsNCi0JDQotCQ0KLQ0KLQl2b2lkIGJhZE1lc3NhZ2UoQmFkTWVzc2FnZUV4Y2VwdGlvbiYgZSk7DQotDQotCXZvaWQgaW9FeGNlcHRpb24oSU9FeGNlcHRpb24mIGUpOw0KLQkNCi0JTmV0d29ya1RhYmxlRW50cnkqIEdldEVudHJ5KEVudHJ5SWQgaWQpOw0KLQkNCi0JDQotCXZvaWQga2VlcEFsaXZlKCk7DQotDQotCXZvaWQgY2xpZW50SGVsbG8oUHJvdG9jb2xWZXJzaW9uIHByb3RvY29sUmV2aXNpb24pOw0KLQ0KLQl2b2lkIHByb3RvY29sVmVyc2lvblVuc3VwcG9ydGVkKFByb3RvY29sVmVyc2lvbiBwcm90b2NvbFJldmlzaW9uKTsNCi0NCi0Jdm9pZCBzZXJ2ZXJIZWxsb0NvbXBsZXRlKCk7DQotDQotDQotCXZvaWQgb2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0Jdm9pZCBvZmZlckluY29taW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpOw0KLQ0KLQl2b2lkIG9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSk7DQotDQotCXZvaWQgb2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpOw0KLQl2b2lkIGZsdXNoKCk7DQotCXZvaWQgZW5zdXJlQWxpdmUoKTsNCi0NCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBDTElFTlRDT05ORUNUSU9OQURBUFRFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uTGlzdGVuZXJNYW5hZ2VyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OGEyMzZiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uTGlzdGVuZXJNYW5hZ2VyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0vKg0KLSAqIENsaWVudENvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgQ0xJRU5UQ09OTkVDVElPTkxJU1RFTkVSTUFOQUdFUl9IXw0KLSNkZWZpbmUgQ0xJRU5UQ09OTkVDVElPTkxJU1RFTkVSTUFOQUdFUl9IXw0KLQ0KLS8qKg0KLSAqIEFuIG9iamVjdCB0aGF0IG1hbmFnZXMgY29ubmVjdGlvbiBsaXN0ZW5lcnMgYW5kIGZpcmVzIGV2ZW50cyBmb3Igb3RoZXIgbGlzdGVuZXJzDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgQ2xpZW50Q29ubmVjdGlvbkxpc3RlbmVyTWFuYWdlcg0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgfkNsaWVudENvbm5lY3Rpb25MaXN0ZW5lck1hbmFnZXIoKQ0KLQl7DQotCX0NCi0JLyoqDQotCSAqIGNhbGxlZCB3aGVuIHNvbWV0aGluZyBpcyBjb25uZWN0ZWQNCi0JICovDQotCXZpcnR1YWwgdm9pZCBGaXJlQ29ubmVjdGVkRXZlbnQoKSA9IDA7DQotCS8qKg0KLQkgKiBjYWxsZWQgd2hlbiBzb21ldGhpbmcgaXMgZGlzY29ubmVjdGVkDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgRmlyZURpc2Nvbm5lY3RlZEV2ZW50KCkgPSAwOw0KLX07DQotDQotI2VuZGlmIC8qIENMSUVOVENPTk5FQ1RJT05MSVNURU5FUk1BTkFHRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50Q29ubmVjdGlvblN0YXRlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uU3RhdGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWExYzZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uU3RhdGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotLyoNCi0gKiBDbGllbnRDb25uZWN0aW9uU3RhdGUuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDIsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25TdGF0ZS5oIg0KLSNpZm5kZWYgX1dSU19LRVJORUwNCi0jaW5jbHVkZSA8c3RkaW50Lmg+DQotI2VuZGlmDQotDQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlIDxtZW1vcnk+DQotI2luY2x1ZGUgPGNzdHJpbmc+DQotDQotLyoqDQotICogaW5kaWNhdGVzIHRoYXQgdGhlIGNsaWVudCBpcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgc2VydmVyDQotICovDQotQ2xpZW50Q29ubmVjdGlvblN0YXRlIENsaWVudENvbm5lY3Rpb25TdGF0ZTo6RElTQ09OTkVDVEVEX0ZST01fU0VSVkVSKCJESVNDT05ORUNURURfRlJPTV9TRVJWRVIiKTsNCi0vKioNCi0gKiBpbmRpY2F0ZXMgdGhhdCB0aGUgY2xpZW50IGlzIGNvbm5lY3RlZCB0byB0aGUgc2VydmVyIGJ1dCBoYXMgbm90IHlldCBiZWd1biBjb21tdW5pY2F0aW9uDQotICovDQotQ2xpZW50Q29ubmVjdGlvblN0YXRlIENsaWVudENvbm5lY3Rpb25TdGF0ZTo6Q09OTkVDVEVEX1RPX1NFUlZFUigiQ09OTkVDVEVEX1RPX1NFUlZFUiIpOw0KLS8qKg0KLSAqIHJlcHJlc2VudHMgdGhhdCB0aGUgY2xpZW50IGhhcyBzZW50IHRoZSBoZWxsbyB0byB0aGUgc2VydmVyIGFuZCBpcyB3YWl0aW5nIGZvciBhIHJlc3BvbnNlDQotICovDQotQ2xpZW50Q29ubmVjdGlvblN0YXRlIENsaWVudENvbm5lY3Rpb25TdGF0ZTo6U0VOVF9IRUxMT19UT19TRVJWRVIoIlNFTlRfSEVMTE9fVE9fU0VSVkVSIik7DQotLyoqDQotICogcmVwcmVzZW50cyB0aGF0IHRoZSBjbGllbnQgaXMgbm93IGluIHN5bmMgd2l0aCB0aGUgc2VydmVyDQotICovDQotQ2xpZW50Q29ubmVjdGlvblN0YXRlIENsaWVudENvbm5lY3Rpb25TdGF0ZTo6SU5fU1lOQ19XSVRIX1NFUlZFUigiSU5fU1lOQ19XSVRIX1NFUlZFUiIpOw0KLQ0KLQ0KLQkvKioNCi0JICogQ3JlYXRlIGEgbmV3IHByb3RvY29sIHVuc3VwcG9ydGVkIHN0YXRlDQotCSAqIEBwYXJhbSBzZXJ2ZXJWZXJzaW9uDQotCSAqLw0KLUNsaWVudENvbm5lY3Rpb25TdGF0ZV9Qcm90b2NvbFVuc3VwcG90ZWRCeVNlcnZlcjo6Q2xpZW50Q29ubmVjdGlvblN0YXRlX1Byb3RvY29sVW5zdXBwb3RlZEJ5U2VydmVyKFByb3RvY29sVmVyc2lvbiBfc2VydmVyVmVyc2lvbik6DQotCQlDbGllbnRDb25uZWN0aW9uU3RhdGUoIlBST1RPQ09MX1VOU1VQUE9SVEVEX0JZX1NFUlZFUiIpLA0KLQlzZXJ2ZXJWZXJzaW9uKF9zZXJ2ZXJWZXJzaW9uKXt9DQotLyoqDQotICogQHJldHVybiB0aGUgcHJvdG9jb2wgdmVyc2lvbiB0aGF0IHRoZSBzZXJ2ZXIgcmVwb3J0ZWQgaXQgc3VwcG9ydHMNCi0gKi8NCi1Qcm90b2NvbFZlcnNpb24gQ2xpZW50Q29ubmVjdGlvblN0YXRlX1Byb3RvY29sVW5zdXBwb3RlZEJ5U2VydmVyOjpnZXRTZXJ2ZXJWZXJzaW9uKCl7DQotCXJldHVybiBzZXJ2ZXJWZXJzaW9uOw0KLX0NCi1jb25zdCBjaGFyKiBDbGllbnRDb25uZWN0aW9uU3RhdGVfUHJvdG9jb2xVbnN1cHBvdGVkQnlTZXJ2ZXI6OnRvU3RyaW5nKCl7DQotCXJldHVybiAiUFJPVE9DT0xfVU5TVVBQT1JURURfQllfU0VSVkVSIjsNCi0JLy9yZXR1cm4gIlBST1RPQ09MX1VOU1VQUE9SVEVEX0JZX1NFUlZFUjogU2VydmVyIFZlcnNpb246IDB4IitJbnRlZ2VyLnRvSGV4U3RyaW5nKHNlcnZlclZlcnNpb24pOw0KLX0NCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgZXJyb3Igc3RhdGUNCi0gKiBAcGFyYW0gZQ0KLSAqLw0KLUNsaWVudENvbm5lY3Rpb25TdGF0ZV9FcnJvcjo6Q2xpZW50Q29ubmVjdGlvblN0YXRlX0Vycm9yKHN0ZDo6ZXhjZXB0aW9uJiBfZSk6Q2xpZW50Q29ubmVjdGlvblN0YXRlKCJDTElFTlRfRVJST1IiKSxlKF9lKXsNCi0gIHN0cmNweShtc2csICJDTElFTlRfRVJST1I6ICIpOw0KLSAgc3RyY2F0KG1zZywgZS53aGF0KCkpOw0KLX0NCi0vKioNCi0gKiBAcmV0dXJuIHRoZSBleGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGNsaWVudCB0byBlbnRlciBhbiBlcnJvciBzdGF0ZQ0KLSAqLw0KLXN0ZDo6ZXhjZXB0aW9uJiBDbGllbnRDb25uZWN0aW9uU3RhdGVfRXJyb3I6OmdldEV4Y2VwdGlvbigpew0KLQlyZXR1cm4gZTsNCi19DQotY29uc3QgY2hhciogQ2xpZW50Q29ubmVjdGlvblN0YXRlX0Vycm9yOjp0b1N0cmluZygpew0KLSAgcmV0dXJuIG1zZzsNCi0gIC8vcmV0dXJuICJDTElFTlRfRVJST1IiOw0KLQkvL3JldHVybiAiQ0xJRU5UX0VSUk9SOiAiK2UuZ2V0Q2xhc3MoKSsiOiAiK2UuZ2V0TWVzc2FnZSgpOw0KLX0NCi0NCi1DbGllbnRDb25uZWN0aW9uU3RhdGU6OkNsaWVudENvbm5lY3Rpb25TdGF0ZShjb25zdCBjaGFyKiBfbmFtZSl7DQotCW5hbWUgPSBfbmFtZTsNCi19DQotY29uc3QgY2hhciogQ2xpZW50Q29ubmVjdGlvblN0YXRlOjp0b1N0cmluZygpew0KLQlyZXR1cm4gbmFtZTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25TdGF0ZS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudENvbm5lY3Rpb25TdGF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhODI2ZWY1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLS8qDQotICogQ2xpZW50Q29ubmVjdGlvblN0YXRlLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgQ0xJRU5UQ09OTkVDVElPTlNUQVRFX0hfDQotI2RlZmluZSBDTElFTlRDT05ORUNUSU9OU1RBVEVfSF8NCi0NCi0NCi1jbGFzcyBDbGllbnRDb25uZWN0aW9uU3RhdGU7DQotY2xhc3MgQ2xpZW50Q29ubmVjdGlvblN0YXRlX0Vycm9yOw0KLWNsYXNzIENsaWVudENvbm5lY3Rpb25TdGF0ZV9Qcm90b2NvbFVuc3VwcG90ZWRCeVNlcnZlcjsNCi0NCi0jaW5jbHVkZSA8ZXhjZXB0aW9uPg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL05ldHdvcmtUYWJsZUNvbm5lY3Rpb24uaCINCi0NCi0vKioNCi0gKiBSZXByZXNlbnRzIGEgc3RhdGUgdGhhdCB0aGUgY2xpZW50IGlzIGluDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgQ2xpZW50Q29ubmVjdGlvblN0YXRlIHsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBpbmRpY2F0ZXMgdGhhdCB0aGUgY2xpZW50IGlzIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBzZXJ2ZXINCi0JICovDQotCXN0YXRpYyBDbGllbnRDb25uZWN0aW9uU3RhdGUgRElTQ09OTkVDVEVEX0ZST01fU0VSVkVSOw0KLQkvKioNCi0JICogaW5kaWNhdGVzIHRoYXQgdGhlIGNsaWVudCBpcyBjb25uZWN0ZWQgdG8gdGhlIHNlcnZlciBidXQgaGFzIG5vdCB5ZXQgYmVndW4gY29tbXVuaWNhdGlvbg0KLQkgKi8NCi0Jc3RhdGljIENsaWVudENvbm5lY3Rpb25TdGF0ZSBDT05ORUNURURfVE9fU0VSVkVSOw0KLQkvKioNCi0JICogcmVwcmVzZW50cyB0aGF0IHRoZSBjbGllbnQgaGFzIHNlbnQgdGhlIGhlbGxvIHRvIHRoZSBzZXJ2ZXIgYW5kIGlzIHdhaXRpbmcgZm9yIGEgcmVzcG9uc2UNCi0JICovDQotCXN0YXRpYyBDbGllbnRDb25uZWN0aW9uU3RhdGUgU0VOVF9IRUxMT19UT19TRVJWRVI7DQotCS8qKg0KLQkgKiByZXByZXNlbnRzIHRoYXQgdGhlIGNsaWVudCBpcyBub3cgaW4gc3luYyB3aXRoIHRoZSBzZXJ2ZXINCi0JICovDQotCXN0YXRpYyBDbGllbnRDb25uZWN0aW9uU3RhdGUgSU5fU1lOQ19XSVRIX1NFUlZFUjsNCi0JDQotCQ0KLXByaXZhdGU6DQotCWNvbnN0IGNoYXIqIG5hbWU7DQotcHJvdGVjdGVkOg0KLQlDbGllbnRDb25uZWN0aW9uU3RhdGUoY29uc3QgY2hhciogbmFtZSk7DQotcHVibGljOg0KLQl2aXJ0dWFsIGNvbnN0IGNoYXIqIHRvU3RyaW5nKCk7DQotfTsNCi0NCi0NCi0NCi0vKioNCi0gKiBSZXByZXNlbnRzIHRoYXQgYSBjbGllbnQgcmVjZWl2ZWQgYSBtZXNzYWdlIGZyb20gdGhlIHNlcnZlciBpbmRpY2F0aW5nIHRoYXQgdGhlIGNsaWVudCdzIHByb3RvY29sIHJldmlzaW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlcg0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIENsaWVudENvbm5lY3Rpb25TdGF0ZV9Qcm90b2NvbFVuc3VwcG90ZWRCeVNlcnZlciA6IHB1YmxpYyBDbGllbnRDb25uZWN0aW9uU3RhdGV7DQotcHJpdmF0ZToNCi0JY29uc3QgUHJvdG9jb2xWZXJzaW9uIHNlcnZlclZlcnNpb247DQotcHVibGljOg0KLQkvKioNCi0JICogQ3JlYXRlIGEgbmV3IHByb3RvY29sIHVuc3VwcG9ydGVkIHN0YXRlDQotCSAqIEBwYXJhbSBzZXJ2ZXJWZXJzaW9uDQotCSAqLw0KLQlDbGllbnRDb25uZWN0aW9uU3RhdGVfUHJvdG9jb2xVbnN1cHBvdGVkQnlTZXJ2ZXIoUHJvdG9jb2xWZXJzaW9uIHNlcnZlclZlcnNpb24pOw0KLQkvKioNCi0JICogQHJldHVybiB0aGUgcHJvdG9jb2wgdmVyc2lvbiB0aGF0IHRoZSBzZXJ2ZXIgcmVwb3J0ZWQgaXQgc3VwcG9ydHMNCi0JICovDQotCVByb3RvY29sVmVyc2lvbiBnZXRTZXJ2ZXJWZXJzaW9uKCk7DQotCWNvbnN0IGNoYXIqIHRvU3RyaW5nKCk7DQotfTsNCi0vKioNCi0gKiBSZXByZXNlbnRzIHRoYXQgdGhlIGNsaWVudCBpcyBpbiBhbiBlcnJvciBzdGF0ZQ0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIENsaWVudENvbm5lY3Rpb25TdGF0ZV9FcnJvciA6IHB1YmxpYyBDbGllbnRDb25uZWN0aW9uU3RhdGV7DQotcHJpdmF0ZToNCi0Jc3RkOjpleGNlcHRpb24mIGU7DQotCWNoYXIgbXNnWzEwMF07DQotcHVibGljOg0KLQkvKioNCi0JICogQ3JlYXRlIGEgbmV3IGVycm9yIHN0YXRlDQotCSAqIEBwYXJhbSBlDQotCSAqLw0KLQlDbGllbnRDb25uZWN0aW9uU3RhdGVfRXJyb3Ioc3RkOjpleGNlcHRpb24mIGUpOw0KLQkvKioNCi0JICogQHJldHVybiB0aGUgZXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBjbGllbnQgdG8gZW50ZXIgYW4gZXJyb3Igc3RhdGUNCi0JICovDQotCXN0ZDo6ZXhjZXB0aW9uJiBnZXRFeGNlcHRpb24oKTsNCi0JdmlydHVhbCBjb25zdCBjaGFyKiB0b1N0cmluZygpOw0KLX07DQotDQotDQotI2VuZGlmIC8qIENMSUVOVENPTk5FQ1RJT05TVEFURV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRjZmE5Ni4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi0vKg0KLSAqIENsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDIsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY2xpZW50L0NsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaCINCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZQ0KLSAqIEBwYXJhbSB0cmFuc2FjdGlvblBvb2wNCi0gKiBAcGFyYW0gbGlzdGVuZXJNYW5hZ2VyDQotICovDQotQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6Q2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZShUYWJsZUxpc3RlbmVyTWFuYWdlciYgbGlzdGVuZXJNYW5hZ2VyKTogQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlKGxpc3RlbmVyTWFuYWdlcikge30NCi1DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlOjp+Q2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZSgpe30NCi0NCi1ib29sIENsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmU6OmFkZEVudHJ5KE5ldHdvcmtUYWJsZUVudHJ5KiBuZXdFbnRyeSl7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKExPQ0spOw0KLQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gKE5ldHdvcmtUYWJsZUVudHJ5KiluYW1lZEVudHJpZXNbbmV3RW50cnktPm5hbWVdOw0KLQ0KLQkJaWYoZW50cnkhPU5VTEwpew0KLQkJCWlmKGVudHJ5LT5HZXRJZCgpIT1uZXdFbnRyeS0+R2V0SWQoKSl7DQotCQkJCWlkRW50cmllcy5lcmFzZShlbnRyeS0+R2V0SWQoKSk7DQotCQkJCWlmKG5ld0VudHJ5LT5HZXRJZCgpIT1OZXR3b3JrVGFibGVFbnRyeTo6VU5LTk9XTl9JRCl7DQotCQkJCQllbnRyeS0+U2V0SWQobmV3RW50cnktPkdldElkKCkpOw0KLQkJCQkJaWRFbnRyaWVzW25ld0VudHJ5LT5HZXRJZCgpXSA9IGVudHJ5Ow0KLQkJCQl9DQotCQkJfQ0KLQkJCQ0KLQkJCWVudHJ5LT5Gb3JjZVB1dChuZXdFbnRyeS0+R2V0U2VxdWVuY2VOdW1iZXIoKSwgbmV3RW50cnktPkdldFR5cGUoKSwgbmV3RW50cnktPkdldFZhbHVlKCkpOw0KLQkJfQ0KLQkJZWxzZXsNCi0JCQlpZihuZXdFbnRyeS0+R2V0SWQoKSE9TmV0d29ya1RhYmxlRW50cnk6OlVOS05PV05fSUQpDQotCQkJCWlkRW50cmllc1tuZXdFbnRyeS0+R2V0SWQoKV0gPSBuZXdFbnRyeTsNCi0JCQluYW1lZEVudHJpZXNbbmV3RW50cnktPm5hbWVdID0gbmV3RW50cnk7DQotCQl9DQotCX0NCi0JcmV0dXJuIHRydWU7DQotfQ0KLQ0KLWJvb2wgQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6dXBkYXRlRW50cnkoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5LCBTZXF1ZW5jZU51bWJlciBzZXF1ZW5jZU51bWJlciwgRW50cnlWYWx1ZSB2YWx1ZSkgew0KLQl7IA0KLQkJU3luY2hyb25pemVkIHN5bmMoTE9DSyk7DQotCQllbnRyeS0+Rm9yY2VQdXQoc2VxdWVuY2VOdW1iZXIsIHZhbHVlKTsNCi0JCWlmKGVudHJ5LT5HZXRJZCgpPT1OZXR3b3JrVGFibGVFbnRyeTo6VU5LTk9XTl9JRCl7DQotCQkJcmV0dXJuIGZhbHNlOw0KLQkJfQ0KLQkJcmV0dXJuIHRydWU7DQotCX0NCi19DQotDQotLyoqDQotICogU2VuZCBhbGwgdW5rbm93biBlbnRyaWVzIGluIHRoZSBlbnRyeSBzdG9yZSB0byB0aGUgZ2l2ZW4gY29ubmVjdGlvbg0KLSAqIEBwYXJhbSBjb25uZWN0aW9uDQotICogQHRocm93cyBJT0V4Y2VwdGlvbg0KLSAqLw0KLXZvaWQgQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZTo6c2VuZFVua25vd25FbnRyaWVzKE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsNCi0JeyANCi0JCVN5bmNocm9uaXplZCBzeW5jKExPQ0spOw0KLQkJc3RkOjptYXA8c3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZUVudHJ5Kj46Oml0ZXJhdG9yIGl0cjsNCi0JCWZvcihpdHIgPSBuYW1lZEVudHJpZXMuYmVnaW4oKTsgaXRyICE9IG5hbWVkRW50cmllcy5lbmQoKTsgaXRyKyspDQotCQl7DQotCQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gKCppdHIpLnNlY29uZDsNCi0JCQlpZihlbnRyeS0+R2V0SWQoKT09TmV0d29ya1RhYmxlRW50cnk6OlVOS05PV05fSUQpDQotCQkJCWNvbm5lY3Rpb24uc2VuZEVudHJ5QXNzaWdubWVudCgqZW50cnkpOw0KLQkJfQ0KLQkJY29ubmVjdGlvbi5mbHVzaCgpOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzE2NGY1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKg0KLSAqIENsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBDTElFTlRORVRXT1JLVEFCTEVFTlRSWVNUT1JFX0hfDQotI2RlZmluZSBDTElFTlRORVRXT1JLVEFCTEVFTlRSWVNUT1JFX0hfDQotDQotDQotY2xhc3MgQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZTsNCi0NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3JlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZUVudHJ5LmgiDQotI2luY2x1ZGUgIlN5bmNocm9uaXplZC5oIg0KLQ0KLS8qKg0KLSAqIFRoZSBlbnRyeSBzdG9yZSBmb3IgYSB7QGxpbmsgTmV0d29ya1RhYmxlQ2xpZW50fQ0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIENsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUgOiBwdWJsaWMgQWJzdHJhY3ROZXR3b3JrVGFibGVFbnRyeVN0b3Jlew0KLQ0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBDbGllbnROZXR3b3JrVGFibGVFbnRyeVN0b3JlDQotCSAqIEBwYXJhbSB0cmFuc2FjdGlvblBvb2wNCi0JICogQHBhcmFtIGxpc3RlbmVyTWFuYWdlcg0KLQkgKi8NCi0JQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZShUYWJsZUxpc3RlbmVyTWFuYWdlciYgbGlzdGVuZXJNYW5hZ2VyKTsNCi0JdmlydHVhbCB+Q2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZSgpOw0KLQkNCi1wcm90ZWN0ZWQ6DQotCWJvb2wgYWRkRW50cnkoTmV0d29ya1RhYmxlRW50cnkqIG5ld0VudHJ5KTsNCi0JYm9vbCB1cGRhdGVFbnRyeShOZXR3b3JrVGFibGVFbnRyeSogZW50cnksIFNlcXVlbmNlTnVtYmVyIHNlcXVlbmNlTnVtYmVyLCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0NCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBTZW5kIGFsbCB1bmtub3duIGVudHJpZXMgaW4gdGhlIGVudHJ5IHN0b3JlIHRvIHRoZSBnaXZlbiBjb25uZWN0aW9uDQotCSAqIEBwYXJhbSBjb25uZWN0aW9uDQotCSAqIEB0aHJvd3MgSU9FeGNlcHRpb24NCi0JICovDQotCXZvaWQgc2VuZFVua25vd25FbnRyaWVzKE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIENMSUVOVE5FVFdPUktUQUJMRUVOVFJZU1RPUkVfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvTmV0d29ya1RhYmxlQ2xpZW50LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGNiNjM0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVDbGllbnQuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDMsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY2xpZW50L05ldHdvcmtUYWJsZUNsaWVudC5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuaCINCi0NCi0vKioNCi0gKiBDcmVhdGUgYSBuZXcgTmV0d29ya1RhYmxlIENsaWVudA0KLSAqIEBwYXJhbSBzdHJlYW1GYWN0b3J5DQotICogQHBhcmFtIHRocmVhZE1hbmFnZXINCi0gKiBAcGFyYW0gdHJhbnNhY3Rpb25Qb29sDQotICovDQotTmV0d29ya1RhYmxlQ2xpZW50OjpOZXR3b3JrVGFibGVDbGllbnQoSU9TdHJlYW1GYWN0b3J5JiBzdHJlYW1GYWN0b3J5LCBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyJiB0eXBlTWFuYWdlciwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyKToNCi0JTmV0d29ya1RhYmxlTm9kZSgqbmV3IENsaWVudE5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoKnRoaXMpKSwNCi0JYWRhcHRlcigoQ2xpZW50TmV0d29ya1RhYmxlRW50cnlTdG9yZSYpZW50cnlTdG9yZSwgdGhyZWFkTWFuYWdlciwgc3RyZWFtRmFjdG9yeSwgKnRoaXMsIHR5cGVNYW5hZ2VyKSwNCi0Jd3JpdGVNYW5hZ2VyKGFkYXB0ZXIsIHRocmVhZE1hbmFnZXIsIEdldEVudHJ5U3RvcmUoKSwgMTAwMCl7DQotCQ0KLQlHZXRFbnRyeVN0b3JlKCkuU2V0T3V0Z29pbmdSZWNlaXZlcihuZXcgVHJhbnNhY3Rpb25EaXJ0aWVyKHdyaXRlTWFuYWdlcikpOw0KLQlHZXRFbnRyeVN0b3JlKCkuU2V0SW5jb21pbmdSZWNlaXZlcigmT3V0Z29pbmdFbnRyeVJlY2VpdmVyX05VTEwpOw0KLQl3cml0ZU1hbmFnZXIuc3RhcnQoKTsNCi19DQotTmV0d29ya1RhYmxlQ2xpZW50Ojp+TmV0d29ya1RhYmxlQ2xpZW50KCl7fQ0KLQ0KLS8qKg0KLSAqIGZvcmNlIHRoZSBjbGllbnQgdG8gZGlzY29ubmVjdCBhbmQgcmVjb25uZWN0IHRvIHRoZSBzZXJ2ZXIgYWdhaW4uIFdpbGwgY29ubmVjdCBpZiB0aGUgY2xpZW50IGlzIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQNCi0gKi8NCi12b2lkIE5ldHdvcmtUYWJsZUNsaWVudDo6cmVjb25uZWN0KCkgew0KLQlhZGFwdGVyLnJlY29ubmVjdCgpOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZUNsaWVudDo6Q2xvc2UoKSB7DQotCWFkYXB0ZXIuY2xvc2UoKTsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVDbGllbnQ6OnN0b3AoKSB7DQotCXdyaXRlTWFuYWdlci5zdG9wKCk7DQotCUNsb3NlKCk7DQotfQ0KLQ0KLWJvb2wgTmV0d29ya1RhYmxlQ2xpZW50OjpJc0Nvbm5lY3RlZCgpIHsNCi0JcmV0dXJuIGFkYXB0ZXIuaXNDb25uZWN0ZWQoKTsNCi19DQotDQotYm9vbCBOZXR3b3JrVGFibGVDbGllbnQ6OklzU2VydmVyKCkgew0KLQlyZXR1cm4gZmFsc2U7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2NsaWVudC9OZXR3b3JrVGFibGVDbGllbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTliYzUwMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jbGllbnQvTmV0d29ya1RhYmxlQ2xpZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKg0KLSAqIE5ldHdvcmtUYWJsZUNsaWVudC5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDMsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRUNMSUVOVF9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFQ0xJRU5UX0hfDQotDQotY2xhc3MgTmV0d29ya1RhYmxlQ2xpZW50Ow0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVOb2RlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2NsaWVudC9DbGllbnRDb25uZWN0aW9uQWRhcHRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9Xcml0ZU1hbmFnZXIuaCINCi0NCi0vKioNCi0gKiBBIGNsaWVudCBub2RlIGluIE5ldHdvcmtUYWJsZXMgMi4wDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgTmV0d29ya1RhYmxlQ2xpZW50IDogcHVibGljIE5ldHdvcmtUYWJsZU5vZGV7DQotcHJpdmF0ZToNCi0JQ2xpZW50Q29ubmVjdGlvbkFkYXB0ZXIgYWRhcHRlcjsNCi0JV3JpdGVNYW5hZ2VyIHdyaXRlTWFuYWdlcjsNCi0NCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGUgYSBuZXcgTmV0d29ya1RhYmxlIENsaWVudA0KLQkgKiBAcGFyYW0gc3RyZWFtRmFjdG9yeQ0KLQkgKiBAcGFyYW0gdGhyZWFkTWFuYWdlcg0KLQkgKiBAcGFyYW0gdHJhbnNhY3Rpb25Qb29sDQotCSAqLw0KLQlOZXR3b3JrVGFibGVDbGllbnQoSU9TdHJlYW1GYWN0b3J5JiBzdHJlYW1GYWN0b3J5LCBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyJiB0eXBlTWFuYWdlciwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyKTsNCi0Jfk5ldHdvcmtUYWJsZUNsaWVudCgpOw0KLQ0KLQkvKioNCi0JICogZm9yY2UgdGhlIGNsaWVudCB0byBkaXNjb25uZWN0IGFuZCByZWNvbm5lY3QgdG8gdGhlIHNlcnZlciBhZ2Fpbi4gV2lsbCBjb25uZWN0IGlmIHRoZSBjbGllbnQgaXMgY3VycmVudGx5IGRpc2Nvbm5lY3RlZA0KLQkgKi8NCi0Jdm9pZCByZWNvbm5lY3QoKTsNCi0NCi0Jdm9pZCBDbG9zZSgpOw0KLQkNCi0Jdm9pZCBzdG9wKCk7DQotDQotCWJvb2wgSXNDb25uZWN0ZWQoKTsNCi0NCi0JYm9vbCBJc1NlcnZlcigpOw0KLQ0KLX07DQotDQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRUNMSUVOVF9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQmFkTWVzc2FnZUV4Y2VwdGlvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0JhZE1lc3NhZ2VFeGNlcHRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWExNTc2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQmFkTWVzc2FnZUV4Y2VwdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0vKg0KLSAqIEJhZE1lc3NhZ2VFeGNlcHRpb24uY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDE2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQmFkTWVzc2FnZUV4Y2VwdGlvbi5oIg0KLQ0KLUJhZE1lc3NhZ2VFeGNlcHRpb246OkJhZE1lc3NhZ2VFeGNlcHRpb24oY29uc3QgY2hhciogbXNnKQ0KLQk6IG1lc3NhZ2UobXNnKQ0KLXsNCi0NCi19DQotDQotQmFkTWVzc2FnZUV4Y2VwdGlvbjo6fkJhZE1lc3NhZ2VFeGNlcHRpb24oKSB0aHJvdyAoKQ0KLXsNCi19DQotDQotY29uc3QgY2hhciogQmFkTWVzc2FnZUV4Y2VwdGlvbjo6d2hhdCgpDQotew0KLQlyZXR1cm4gbWVzc2FnZS5jX3N0cigpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0JhZE1lc3NhZ2VFeGNlcHRpb24uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQmFkTWVzc2FnZUV4Y2VwdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGI5OWZlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQmFkTWVzc2FnZUV4Y2VwdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLyoNCi0gKiBCYWRNZXNzYWdlRXhjZXB0aW9uLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIEJBRE1FU1NBR0VFWENFUFRJT05fSF8NCi0jZGVmaW5lIEJBRE1FU1NBR0VFWENFUFRJT05fSF8NCi0NCi0jaW5jbHVkZSA8ZXhjZXB0aW9uPg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotDQotY2xhc3MgQmFkTWVzc2FnZUV4Y2VwdGlvbiA6IHB1YmxpYyBzdGQ6OmV4Y2VwdGlvbg0KLXsNCi1wdWJsaWM6DQotCUJhZE1lc3NhZ2VFeGNlcHRpb24oY29uc3QgY2hhciogbWVzc2FnZSk7DQotCX5CYWRNZXNzYWdlRXhjZXB0aW9uKCkgdGhyb3cgKCk7DQotCWNvbnN0IGNoYXIqIHdoYXQoKTsNCi1wcml2YXRlOg0KLQlzdGQ6OnN0cmluZyBtZXNzYWdlOw0KLX07DQotDQotI2VuZGlmIC8qIEJBRE1FU1NBR0VFWENFUFRJT05fSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0Nvbm5lY3Rpb25BZGFwdGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0Nvbm5lY3Rpb25BZGFwdGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhMjEzMDEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uQWRhcHRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotLyoNCi0gKiBDb25uZWN0aW9uQWRhcHRlci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDE2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBDT05ORUNUSU9OQURBUFRFUl9IXw0KLSNkZWZpbmUgQ09OTkVDVElPTkFEQVBURVJfSF8NCi0NCi1jbGFzcyBDb25uZWN0aW9uQWRhcHRlcjsNCi0NCi0jaW5jbHVkZSAiLi4vTmV0d29ya1RhYmxlRW50cnkuaCINCi0jaW5jbHVkZSAiQmFkTWVzc2FnZUV4Y2VwdGlvbi5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi91dGlsL0lPRXhjZXB0aW9uLmgiDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGUuaCINCi0NCi1jbGFzcyBDb25uZWN0aW9uQWRhcHRlcg0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgfkNvbm5lY3Rpb25BZGFwdGVyKCkNCi0Jew0KLQl9DQotCXZpcnR1YWwgdm9pZCBrZWVwQWxpdmUoKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBjbGllbnRIZWxsbyhQcm90b2NvbFZlcnNpb24gcHJvdG9jb2xSZXZpc2lvbikgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgc2VydmVySGVsbG9Db21wbGV0ZSgpID0gMDsNCi0JdmlydHVhbCB2b2lkIHByb3RvY29sVmVyc2lvblVuc3VwcG9ydGVkKFByb3RvY29sVmVyc2lvbiBwcm90b2NvbFJldmlzaW9uKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBvZmZlckluY29taW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogbmV3RW50cnkpID0gMDsNCi0JdmlydHVhbCB2b2lkIG9mZmVySW5jb21pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIG5ld0VudHJ5LCBTZXF1ZW5jZU51bWJlciBzZXF1ZW5jZU51bWJlciwgRW50cnlWYWx1ZSB2YWx1ZSkgPSAwOw0KLQl2aXJ0dWFsIE5ldHdvcmtUYWJsZUVudHJ5KiBHZXRFbnRyeShFbnRyeUlkKSA9IDA7DQotDQotCS8qKg0KLQkgKiBjYWxsZWQgaWYgYSBiYWQgbWVzc2FnZSBleGNlcHRpb24gaXMgdGhyb3duDQotCSAqIEBwYXJhbSBlDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgYmFkTWVzc2FnZShCYWRNZXNzYWdlRXhjZXB0aW9uJiBlKSA9IDA7DQotDQotCS8qKg0KLQkgKiBjYWxsZWQgaWYgYW4gaW8gZXhjZXB0aW9uIGlzIHRocm93bg0KLQkgKiBAcGFyYW0gZQ0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIGlvRXhjZXB0aW9uKElPRXhjZXB0aW9uJiBlKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogQ09OTkVDVElPTkFEQVBURVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0Nvbm5lY3Rpb25Nb25pdG9yVGhyZWFkLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTMwMTQ5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLyoNCi0gKiBDb25uZWN0aW9uTW9uaXRvclRocmVhZC5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjIsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uTW9uaXRvclRocmVhZC5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0JhZE1lc3NhZ2VFeGNlcHRpb24uaCINCi0NCi0NCi1Db25uZWN0aW9uTW9uaXRvclRocmVhZDo6Q29ubmVjdGlvbk1vbml0b3JUaHJlYWQoQ29ubmVjdGlvbkFkYXB0ZXImIF9hZGFwdGVyLCBOZXR3b3JrVGFibGVDb25uZWN0aW9uJiBfY29ubmVjdGlvbikgOg0KLQlhZGFwdGVyKF9hZGFwdGVyKSwgY29ubmVjdGlvbihfY29ubmVjdGlvbikgew0KLX0NCi0NCi12b2lkIENvbm5lY3Rpb25Nb25pdG9yVGhyZWFkOjpydW4oKSB7DQotICANCi0JdHJ5ew0KLQkJY29ubmVjdGlvbi5yZWFkKGFkYXB0ZXIpOw0KLQl9IGNhdGNoKEJhZE1lc3NhZ2VFeGNlcHRpb24mIGUpew0KLQkJYWRhcHRlci5iYWRNZXNzYWdlKGUpOw0KLQl9IGNhdGNoKElPRXhjZXB0aW9uJiBlKXsNCi0JCWFkYXB0ZXIuaW9FeGNlcHRpb24oZSk7DQotCX0NCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uTW9uaXRvclRocmVhZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uTW9uaXRvclRocmVhZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZWVkM2Y0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qDQotICogQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgQ09OTkVDVElPTk1PTklUT1JUSFJFQURfSF8NCi0jZGVmaW5lIENPTk5FQ1RJT05NT05JVE9SVEhSRUFEX0hfDQotDQotDQotY2xhc3MgQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQ7DQotDQotI2luY2x1ZGUgIkNvbm5lY3Rpb25BZGFwdGVyLmgiDQotI2luY2x1ZGUgIk5ldHdvcmtUYWJsZUNvbm5lY3Rpb24uaCINCi0jaW5jbHVkZSAiLi4vdGhyZWFkL1BlcmlvZGljUnVubmFibGUuaCINCi0NCi0NCi0NCi0NCi0vKioNCi0gKiBBIHBlcmlvZGljIHRocmVhZCB0aGF0IHJlcGVhdGVkbHkgcmVhZHMgZnJvbSBhIGNvbm5lY3Rpb24NCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBDb25uZWN0aW9uTW9uaXRvclRocmVhZCA6IHB1YmxpYyBQZXJpb2RpY1J1bm5hYmxlew0KLXByaXZhdGU6DQotCUNvbm5lY3Rpb25BZGFwdGVyJiBhZGFwdGVyOw0KLQlOZXR3b3JrVGFibGVDb25uZWN0aW9uJiBjb25uZWN0aW9uOw0KLQ0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIGNyZWF0ZSBhIG5ldyBtb25pdG9yIHRocmVhZA0KLQkgKiBAcGFyYW0gYWRhcHRlcg0KLQkgKiBAcGFyYW0gY29ubmVjdGlvbg0KLQkgKi8NCi0JQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQoQ29ubmVjdGlvbkFkYXB0ZXImIGFkYXB0ZXIsIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pOw0KLQ0KLQl2b2lkIHJ1bigpOw0KLX07DQotDQotDQotI2VuZGlmIC8qIENPTk5FQ1RJT05NT05JVE9SVEhSRUFEX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzcyYjU4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vRGF0YUlPU3RyZWFtLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0RhdGFJT1N0cmVhbS5oIg0KLQ0KLS8vVE9ETyByZW1vdmUgdGhpcyB3aGVuIGFsbG9jYSBpcyBzb2x2ZWQNCi0jaWZkZWYgV0lOMzINCi0jaW5jbHVkZSA8bWFsbG9jLmg+DQotI2VuZGlmDQotDQotRGF0YUlPU3RyZWFtOjpEYXRhSU9TdHJlYW0oSU9TdHJlYW0qIF9pb3N0cmVhbSkgOg0KLQlpb3N0cmVhbSgqX2lvc3RyZWFtKQ0KLXsNCi19DQotRGF0YUlPU3RyZWFtOjp+RGF0YUlPU3RyZWFtKCkNCi17DQotCWNsb3NlKCk7DQotCWRlbGV0ZSAmaW9zdHJlYW07DQotfQ0KLXZvaWQgRGF0YUlPU3RyZWFtOjpjbG9zZSgpDQotew0KLQlpb3N0cmVhbS5jbG9zZSgpOw0KLX0NCi0NCi12b2lkIERhdGFJT1N0cmVhbTo6d3JpdGVCeXRlKHVpbnQ4X3QgYikNCi17DQotCWlvc3RyZWFtLndyaXRlKCZiLCAxKTsNCi19DQotdm9pZCBEYXRhSU9TdHJlYW06OndyaXRlMkJ5dGVzQkUodWludDE2X3QgcykNCi17DQotCXdyaXRlQnl0ZSgodWludDhfdCkocyA+PiA4KSk7DQotCXdyaXRlQnl0ZSgodWludDhfdClzKTsNCi19DQotdm9pZCBEYXRhSU9TdHJlYW06OndyaXRlU3RyaW5nKHN0ZDo6c3RyaW5nJiBzdHIpDQotew0KLQl3cml0ZTJCeXRlc0JFKHN0ci5sZW5ndGgoKSk7DQotCWlvc3RyZWFtLndyaXRlKHN0ci5jX3N0cigpLCBzdHIubGVuZ3RoKCkpOw0KLX0NCi12b2lkIERhdGFJT1N0cmVhbTo6Zmx1c2goKQ0KLXsNCi0JaW9zdHJlYW0uZmx1c2goKTsNCi19DQotdWludDhfdCBEYXRhSU9TdHJlYW06OnJlYWRCeXRlKCkNCi17DQotCXVpbnQ4X3QgdmFsdWU7DQotCWlvc3RyZWFtLnJlYWQoJnZhbHVlLCAxKTsNCi0JcmV0dXJuIHZhbHVlOw0KLX0NCi11aW50MTZfdCBEYXRhSU9TdHJlYW06OnJlYWQyQnl0ZXNCRSgpDQotew0KLQl1aW50MTZfdCB2YWx1ZTsNCi0JdmFsdWUgPSByZWFkQnl0ZSgpPDw4IHwgcmVhZEJ5dGUoKTsNCi0JcmV0dXJuIHZhbHVlOw0KLX0NCi1zdGQ6OnN0cmluZyogRGF0YUlPU3RyZWFtOjpyZWFkU3RyaW5nKCkNCi17DQotCQ0KLQl1bnNpZ25lZCBpbnQgYnl0ZUxlbmd0aCA9IHJlYWQyQnl0ZXNCRSgpOw0KLSNpZm5kZWYgV0lOMzINCi0JdWludDhfdCBieXRlc1tieXRlTGVuZ3RoKzFdOy8vRklYTUUgZmlndXJlIG91dCB3aHkgdGhpcyBkb2Vzbid0IHdvcmsgb24gd2luZG93cw0KLSNlbHNlDQotCXVpbnQ4X3QqIGJ5dGVzID0gKHVpbnQ4X3QqKWFsbG9jYShieXRlTGVuZ3RoKzEpOw0KLSNlbmRpZg0KLQlpb3N0cmVhbS5yZWFkKGJ5dGVzLCBieXRlTGVuZ3RoKTsNCi0JYnl0ZXNbYnl0ZUxlbmd0aF0gPSAwOw0KLQlyZXR1cm4gbmV3IHN0ZDo6c3RyaW5nKChjaGFyKilieXRlcyk7Ly9GSVhNRSBpbXBsZW1lbnQgVVRGLTggYXdhcmUgdmVyc2lvbg0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0RhdGFJT1N0cmVhbS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9EYXRhSU9TdHJlYW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTg5ZTI5OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0RhdGFJT1N0cmVhbS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotI2lmbmRlZiBEQVRBSU9TVFJFQU1fSF8NCi0jZGVmaW5lIERBVEFJT1NUUkVBTV9IXw0KLQ0KLSNpbmNsdWRlIDxzdGRsaWIuaD4NCi0jaW5jbHVkZSAiLi4vc3RyZWFtL0lPU3RyZWFtLmgiDQotI2luY2x1ZGUgPGV4Y2VwdGlvbj4NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLSNpZm5kZWYgX1dSU19LRVJORUwNCi0jaW5jbHVkZSA8c3RkaW50Lmg+DQotI2VuZGlmDQotDQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlIDxtZW1vcnk+DQotDQotLy9XaW5kUml2ZXIgaXMgMy40IEdDQy4gUmVjZW50IEdDQyBjYW4gIGRvIDBiMDEwMTAxMDEgc3R5bGUgZm9ybWF0LCBXUiBjYW5ub3QNCi0NCi0jZGVmaW5lIFRPX0hFWF9fKG4pIDB4IyNuIyNMVSAvLyBMVSBmb3IgdW5zaWduZWQgbG9uZw0KLSNkZWZpbmUgQklOQVJZX0xJVEVSQUxfVklBX0hFWF9fKG4pICgoKG4gJiAweDAwMDAwMDAxTFUpID8gMSA6IDApXA0KLQkrICgobiAmIDB4MDAwMDAwMTBMVSkgPyAyIDogMCkgXA0KLQkrICgobiAmIDB4MDAwMDAxMDBMVSkgPyA0IDogMCkgXA0KLQkrICgobiAmIDB4MDAwMDEwMDBMVSkgPyA4IDogMCkgXA0KLQkrICgobiAmIDB4MDAwMTAwMDBMVSkgPyAxNiA6IDApIFwNCi0JKyAoKG4gJiAweDAwMTAwMDAwTFUpID8gMzIgOiAwKSBcDQotCSsgKChuICYgMHgwMTAwMDAwMExVKSA/IDY0IDogMCkgXA0KLQkrICgobiAmIDB4MTAwMDAwMDBMVSkgPyAxMjggOiAwKSkNCi0JDQotI2RlZmluZSBiKG4pICgodW5zaWduZWQgY2hhcilCSU5BUllfTElURVJBTF9WSUFfSEVYX18oVE9fSEVYX18obikpKQ0KLQ0KLWNsYXNzIERhdGFJT1N0cmVhbXsNCi1wdWJsaWM6DQotCURhdGFJT1N0cmVhbShJT1N0cmVhbSogc3RyZWFtKTsNCi0JdmlydHVhbCB+RGF0YUlPU3RyZWFtKCk7DQotCXZvaWQgd3JpdGVCeXRlKHVpbnQ4X3QgYik7DQotCXZvaWQgd3JpdGUyQnl0ZXNCRSh1aW50MTZfdCBzKTsNCi0Jdm9pZCB3cml0ZVN0cmluZyhzdGQ6OnN0cmluZyYgc3RyKTsNCi0Jdm9pZCBmbHVzaCgpOw0KLQkNCi0JdWludDhfdCByZWFkQnl0ZSgpOw0KLQl1aW50MTZfdCByZWFkMkJ5dGVzQkUoKTsNCi0Jc3RkOjpzdHJpbmcqIHJlYWRTdHJpbmcoKTsNCi0JDQotCXZvaWQgY2xvc2UoKTsNCi0vL3ByaXZhdGU6DQotCUlPU3RyZWFtJiBpb3N0cmVhbTsNCi19Ow0KLQ0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vTmV0d29ya1RhYmxlQ29ubmVjdGlvbi5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL05ldHdvcmtUYWJsZUNvbm5lY3Rpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzkyOWQ0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vTmV0d29ya1RhYmxlQ29ubmVjdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotLyoqDQotICogQW4gYWJzdHJhY3Rpb24gZm9yIHRoZSBOZXR3b3JrVGFibGUgcHJvdG9jb2wNCi0gKiANCi0gKiBAYXV0aG9yIG13aWxscw0KLSAqDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vTmV0d29ya1RhYmxlQ29ubmVjdGlvbi5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9jb25uZWN0aW9uL0JhZE1lc3NhZ2VFeGNlcHRpb24uaCINCi0NCi0NCi1OZXR3b3JrVGFibGVDb25uZWN0aW9uOjpOZXR3b3JrVGFibGVDb25uZWN0aW9uKElPU3RyZWFtKiBfaW9TdHJlYW0sIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIF90eXBlTWFuYWdlcikgOg0KLQlpb1N0cmVhbShuZXcgRGF0YUlPU3RyZWFtKF9pb1N0cmVhbSkpLCB0eXBlTWFuYWdlcihfdHlwZU1hbmFnZXIpIHsNCi0JaXNWYWxpZCA9IHRydWU7DQotfQ0KLU5ldHdvcmtUYWJsZUNvbm5lY3Rpb246On5OZXR3b3JrVGFibGVDb25uZWN0aW9uKCl7DQotCWRlbGV0ZSBpb1N0cmVhbTsNCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVDb25uZWN0aW9uOjpjbG9zZSgpIHsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMoV1JJVEVfTE9DSyk7DQotCQlpZiAoaXNWYWxpZCkgew0KLQkJCWlzVmFsaWQgPSBmYWxzZTsNCi0JCQlpb1N0cmVhbS0+Y2xvc2UoKTsNCi0JCX0NCi0JfQ0KLX0NCi12b2lkIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb246OmZsdXNoKCkgew0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhXUklURV9MT0NLKTsNCi0JCWlvU3RyZWFtLT5mbHVzaCgpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbjo6c2VuZE1lc3NhZ2VIZWFkZXIoDQotCQlOZXR3b3JrVGFibGVNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSkgew0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhXUklURV9MT0NLKTsNCi0JCWlvU3RyZWFtLT53cml0ZUJ5dGUoKHVpbnQ4X3QpIG1lc3NhZ2VUeXBlKTsNCi0JfQ0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb246OnNlbmRLZWVwQWxpdmUoKSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKFdSSVRFX0xPQ0spOw0KLQkJc2VuZE1lc3NhZ2VIZWFkZXIoS0VFUF9BTElWRSk7DQotCQlmbHVzaCgpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbjo6c2VuZENsaWVudEhlbGxvKCkgew0KLQl7DQotCQlTeW5jaHJvbml6ZWQgc3luYyhXUklURV9MT0NLKTsNCi0JCXNlbmRNZXNzYWdlSGVhZGVyKENMSUVOVF9IRUxMTyk7DQotCQlpb1N0cmVhbS0+d3JpdGUyQnl0ZXNCRShQUk9UT0NPTF9SRVZJU0lPTik7DQotCQlmbHVzaCgpOw0KLQl9DQotfQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbjo6c2VuZFNlcnZlckhlbGxvQ29tcGxldGUoKSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKFdSSVRFX0xPQ0spOw0KLQkJc2VuZE1lc3NhZ2VIZWFkZXIoU0VSVkVSX0hFTExPX0NPTVBMRVRFKTsNCi0JCWZsdXNoKCk7DQotCX0NCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVDb25uZWN0aW9uOjpzZW5kUHJvdG9jb2xWZXJzaW9uVW5zdXBwb3J0ZWQoKSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKFdSSVRFX0xPQ0spOw0KLQkJc2VuZE1lc3NhZ2VIZWFkZXIoUFJPVE9DT0xfVkVSU0lPTl9VTlNVUFBPUlRFRCk7DQotCQlpb1N0cmVhbS0+d3JpdGUyQnl0ZXNCRShQUk9UT0NPTF9SRVZJU0lPTik7DQotCQlmbHVzaCgpOw0KLQl9DQotfQ0KLQ0KLXZvaWQgTmV0d29ya1RhYmxlQ29ubmVjdGlvbjo6c2VuZEVudHJ5QXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSYgZW50cnkpIHsNCi0Jew0KLQkJU3luY2hyb25pemVkIHN5bmMoV1JJVEVfTE9DSyk7DQotCQlzZW5kTWVzc2FnZUhlYWRlcihFTlRSWV9BU1NJR05NRU5UKTsNCi0JCWlvU3RyZWFtLT53cml0ZVN0cmluZyhlbnRyeS5uYW1lKTsNCi0JCWlvU3RyZWFtLT53cml0ZUJ5dGUoZW50cnkuR2V0VHlwZSgpLT5pZCk7DQotCQlpb1N0cmVhbS0+d3JpdGUyQnl0ZXNCRShlbnRyeS5HZXRJZCgpKTsNCi0JCWlvU3RyZWFtLT53cml0ZTJCeXRlc0JFKGVudHJ5LkdldFNlcXVlbmNlTnVtYmVyKCkpOw0KLQkJZW50cnkuU2VuZFZhbHVlKCppb1N0cmVhbSk7DQotCX0NCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVDb25uZWN0aW9uOjpzZW5kRW50cnlVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkmIGVudHJ5KSB7DQotCXsNCi0JCVN5bmNocm9uaXplZCBzeW5jKFdSSVRFX0xPQ0spOw0KLQkJc2VuZE1lc3NhZ2VIZWFkZXIoRklFTERfVVBEQVRFKTsNCi0JCWlvU3RyZWFtLT53cml0ZTJCeXRlc0JFKGVudHJ5LkdldElkKCkpOw0KLQkJaW9TdHJlYW0tPndyaXRlMkJ5dGVzQkUoZW50cnkuR2V0U2VxdWVuY2VOdW1iZXIoKSk7DQotCQllbnRyeS5TZW5kVmFsdWUoKmlvU3RyZWFtKTsNCi0JfQ0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb246OnJlYWQoQ29ubmVjdGlvbkFkYXB0ZXImIGFkYXB0ZXIpIHsNCi0JaW50IG1lc3NhZ2VUeXBlID0gaW9TdHJlYW0tPnJlYWRCeXRlKCk7DQotCXN3aXRjaCAobWVzc2FnZVR5cGUpIHsNCi0JY2FzZSBLRUVQX0FMSVZFOg0KLQkJYWRhcHRlci5rZWVwQWxpdmUoKTsNCi0JCXJldHVybjsNCi0JY2FzZSBDTElFTlRfSEVMTE86IHsNCi0JCXVpbnQxNl90IHByb3RvY29sUmV2aXNpb24gPSBpb1N0cmVhbS0+cmVhZDJCeXRlc0JFKCk7DQotCQlhZGFwdGVyLmNsaWVudEhlbGxvKHByb3RvY29sUmV2aXNpb24pOw0KLQkJcmV0dXJuOw0KLQl9DQotCWNhc2UgU0VSVkVSX0hFTExPX0NPTVBMRVRFOiB7DQotCQlhZGFwdGVyLnNlcnZlckhlbGxvQ29tcGxldGUoKTsNCi0JCXJldHVybjsNCi0JfQ0KLQljYXNlIFBST1RPQ09MX1ZFUlNJT05fVU5TVVBQT1JURUQ6IHsNCi0JCXVpbnQxNl90IHByb3RvY29sUmV2aXNpb24gPSBpb1N0cmVhbS0+cmVhZDJCeXRlc0JFKCk7DQotCQlhZGFwdGVyLnByb3RvY29sVmVyc2lvblVuc3VwcG9ydGVkKHByb3RvY29sUmV2aXNpb24pOw0KLQkJcmV0dXJuOw0KLQl9DQotCWNhc2UgRU5UUllfQVNTSUdOTUVOVDogew0KLQkJc3RkOjpzdHJpbmcqIGVudHJ5TmFtZSA9IGlvU3RyZWFtLT5yZWFkU3RyaW5nKCk7DQotCQlUeXBlSWQgdHlwZUlkID0gaW9TdHJlYW0tPnJlYWRCeXRlKCk7DQotCQlOZXR3b3JrVGFibGVFbnRyeVR5cGUqIGVudHJ5VHlwZSA9IHR5cGVNYW5hZ2VyLkdldFR5cGUodHlwZUlkKTsNCi0JCWlmICghZW50cnlUeXBlKXsNCi0JCQljaGFyIGV4Y2VwdGlvbk1lc3NhZ2VCdWZmZXJbNTBdOw0KLQkJCXNwcmludGYgKGV4Y2VwdGlvbk1lc3NhZ2VCdWZmZXIsICJVbmtub3duIGRhdGEgdHlwZTogJSN4IiwgdHlwZUlkKTsNCi0JCQl0aHJvdyBCYWRNZXNzYWdlRXhjZXB0aW9uKGV4Y2VwdGlvbk1lc3NhZ2VCdWZmZXIpOw0KLQkJfQ0KLQkJRW50cnlJZCBlbnRyeUlkID0gaW9TdHJlYW0tPnJlYWQyQnl0ZXNCRSgpOw0KLQkJU2VxdWVuY2VOdW1iZXIgZW50cnlTZXF1ZW5jZU51bWJlciA9IGlvU3RyZWFtLT5yZWFkMkJ5dGVzQkUoKTsNCi0JCUVudHJ5VmFsdWUgdmFsdWUgPSBlbnRyeVR5cGUtPnJlYWRWYWx1ZSgqaW9TdHJlYW0pOw0KLQkJYWRhcHRlci5vZmZlckluY29taW5nQXNzaWdubWVudChuZXcgTmV0d29ya1RhYmxlRW50cnkoZW50cnlJZCwgKmVudHJ5TmFtZSwgZW50cnlTZXF1ZW5jZU51bWJlciwgZW50cnlUeXBlLCB2YWx1ZSkpOw0KLQkJZW50cnlUeXBlLT5kZWxldGVWYWx1ZSh2YWx1ZSk7DQotCQlkZWxldGUgZW50cnlOYW1lOw0KLQkJcmV0dXJuOw0KLQl9DQotCWNhc2UgRklFTERfVVBEQVRFOiB7DQotCQlFbnRyeUlkIGVudHJ5SWQgPSBpb1N0cmVhbS0+cmVhZDJCeXRlc0JFKCk7DQotCQlTZXF1ZW5jZU51bWJlciBlbnRyeVNlcXVlbmNlTnVtYmVyID0gaW9TdHJlYW0tPnJlYWQyQnl0ZXNCRSgpOw0KLQkJTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gYWRhcHRlci5HZXRFbnRyeShlbnRyeUlkKTsNCi0JCWlmICghZW50cnkpew0KLQkJCWNoYXIgZXhjZXB0aW9uTWVzc2FnZUJ1ZmZlcls1MF07DQotCQkJc3ByaW50ZiAoZXhjZXB0aW9uTWVzc2FnZUJ1ZmZlciwgIlJlY2VpdmVkIHVwZGF0ZSBmb3IgdW5rbm93biBlbnRyeSBpZDogJWQiLCBlbnRyeUlkKTsNCi0JCQl0aHJvdyBCYWRNZXNzYWdlRXhjZXB0aW9uKGV4Y2VwdGlvbk1lc3NhZ2VCdWZmZXIpOw0KLQkJfQ0KLQkJRW50cnlWYWx1ZSB2YWx1ZSA9IGVudHJ5LT5HZXRUeXBlKCktPnJlYWRWYWx1ZSgqaW9TdHJlYW0pOw0KLQ0KLQkJYWRhcHRlci5vZmZlckluY29taW5nVXBkYXRlKGVudHJ5LCBlbnRyeVNlcXVlbmNlTnVtYmVyLCB2YWx1ZSk7DQotCQllbnRyeS0+R2V0VHlwZSgpLT5kZWxldGVWYWx1ZSh2YWx1ZSk7DQotCQlyZXR1cm47DQotCX0NCi0JZGVmYXVsdDoNCi0JCWNoYXIgZXhjZXB0aW9uTWVzc2FnZUJ1ZmZlcls1MF07DQotCQlzcHJpbnRmIChleGNlcHRpb25NZXNzYWdlQnVmZmVyLCAiVW5rbm93biBOZXR3b3JrIFRhYmxlIE1lc3NhZ2UgVHlwZTogJWQiLCBtZXNzYWdlVHlwZSk7DQotCQl0aHJvdyBCYWRNZXNzYWdlRXhjZXB0aW9uKGV4Y2VwdGlvbk1lc3NhZ2VCdWZmZXIpOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vTmV0d29ya1RhYmxlQ29ubmVjdGlvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MjBkMmIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9OZXR3b3JrVGFibGVDb25uZWN0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKioNCi0gKiBBbiBhYnN0cmFjdGlvbiBmb3IgdGhlIE5ldHdvcmtUYWJsZSBwcm90b2NvbA0KLSAqIA0KLSAqIEBhdXRob3IgbXdpbGxzDQotICoNCi0gKi8NCi0NCi0NCi0jaWZuZGVmIE5FVFdPUktfVEFCTEVfQ09OTkVDVElPTl9IXw0KLSNkZWZpbmUgTkVUV09SS19UQUJMRV9DT05ORUNUSU9OX0hfDQotDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0jaWZuZGVmIF9XUlNfS0VSTkVMDQotI2luY2x1ZGUgPHN0ZGludC5oPg0KLSNlbmRpZg0KLQ0KLWNsYXNzIE5ldHdvcmtUYWJsZUNvbm5lY3Rpb247DQotdHlwZWRlZiB1aW50MTZfdCBQcm90b2NvbFZlcnNpb247DQotDQotI2luY2x1ZGUgIkRhdGFJT1N0cmVhbS5oIg0KLSNpbmNsdWRlICIuLi9OZXR3b3JrVGFibGVFbnRyeS5oIg0KLSNpbmNsdWRlICIuLi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5oIg0KLSNpbmNsdWRlICIuLi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIuaCINCi0jaW5jbHVkZSAiQ29ubmVjdGlvbkFkYXB0ZXIuaCINCi0jaW5jbHVkZSAiLi4vTmV0d29ya1RhYmxlTWVzc2FnZVR5cGUuaCINCi0NCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVDb25uZWN0aW9uew0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IFByb3RvY29sVmVyc2lvbiBQUk9UT0NPTF9SRVZJU0lPTiA9IDB4MDIwMDsNCi0NCi0JTmV0d29ya1RhYmxlQ29ubmVjdGlvbihJT1N0cmVhbSogc3RyZWFtLCBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyJiB0eXBlTWFuYWdlcik7DQotCX5OZXR3b3JrVGFibGVDb25uZWN0aW9uKCk7DQotCXZvaWQgY2xvc2UoKTsNCi0Jdm9pZCBmbHVzaCgpOw0KLQl2b2lkIHNlbmRLZWVwQWxpdmUoKTsNCi0Jdm9pZCBzZW5kQ2xpZW50SGVsbG8oKTsNCi0Jdm9pZCBzZW5kU2VydmVySGVsbG9Db21wbGV0ZSgpOw0KLQl2b2lkIHNlbmRQcm90b2NvbFZlcnNpb25VbnN1cHBvcnRlZCgpOw0KLQl2b2lkIHNlbmRFbnRyeUFzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkmIGVudHJ5KTsNCi0Jdm9pZCBzZW5kRW50cnlVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkmIGVudHJ5KTsNCi0Jdm9pZCByZWFkKENvbm5lY3Rpb25BZGFwdGVyJiBhZGFwdGVyKTsNCi1wcml2YXRlOg0KLQlSZWVudHJhbnRTZW1hcGhvcmUgV1JJVEVfTE9DSzsNCi0JRGF0YUlPU3RyZWFtKiBjb25zdCBpb1N0cmVhbTsNCi0JTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlciYgdHlwZU1hbmFnZXI7DQotCWJvb2wgaXNWYWxpZDsNCi0NCi0Jdm9pZCBzZW5kTWVzc2FnZUhlYWRlcihOZXR3b3JrVGFibGVNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSk7DQotfTsNCi0NCi0NCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvTmV0d29ya1RhYmxlU2VydmVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjZjZDZmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVTZXJ2ZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaCINCi0jaW5jbHVkZSA8aW9zdHJlYW0+DQotI2luY2x1ZGUgPGxpbWl0cy5oPg0KLQ0KLU5ldHdvcmtUYWJsZVNlcnZlcjo6TmV0d29ya1RhYmxlU2VydmVyKElPU3RyZWFtUHJvdmlkZXImIF9zdHJlYW1Qcm92aWRlciwgTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlciYgdHlwZU1hbmFnZXIsIE5UVGhyZWFkTWFuYWdlciYgdGhyZWFkTWFuYWdlcik6DQotCQlOZXR3b3JrVGFibGVOb2RlKCpuZXcgU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZSgqdGhpcykpLA0KLQkJc3RyZWFtUHJvdmlkZXIoX3N0cmVhbVByb3ZpZGVyKSwNCi0JCWNvbm5lY3Rpb25MaXN0KCksDQotCQl3cml0ZU1hbmFnZXIoY29ubmVjdGlvbkxpc3QsIHRocmVhZE1hbmFnZXIsIEdldEVudHJ5U3RvcmUoKSwgVUxPTkdfTUFYKSwNCi0JCWluY29taW5nU3RyZWFtTW9uaXRvcihzdHJlYW1Qcm92aWRlciwgKFNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmKWVudHJ5U3RvcmUsICp0aGlzLCBjb25uZWN0aW9uTGlzdCwgdHlwZU1hbmFnZXIsIHRocmVhZE1hbmFnZXIpLA0KLSAgICAgICAgICAgICAgICBjb250aW51aW5nUmVjZWl2ZXIod3JpdGVNYW5hZ2VyKXsNCi0JDQotCUdldEVudHJ5U3RvcmUoKS5TZXRJbmNvbWluZ1JlY2VpdmVyKCZjb250aW51aW5nUmVjZWl2ZXIpOw0KLQlHZXRFbnRyeVN0b3JlKCkuU2V0T3V0Z29pbmdSZWNlaXZlcigmY29udGludWluZ1JlY2VpdmVyKTsNCi0JDQotCWluY29taW5nU3RyZWFtTW9uaXRvci5zdGFydCgpOw0KLQl3cml0ZU1hbmFnZXIuc3RhcnQoKTsNCi19DQotLypOZXR3b3JrVGFibGVTZXJ2ZXI6Ok5ldHdvcmtUYWJsZVNlcnZlcihJT1N0cmVhbVByb3ZpZGVyJiBzdHJlYW1Qcm92aWRlcil7DQotCXRoaXMoc3RyZWFtUHJvdmlkZXIsIG5ldyBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyKCksIG5ldyBEZWZhdWx0VGhyZWFkTWFuYWdlcigpKTsNCi19Ki8NCi1OZXR3b3JrVGFibGVTZXJ2ZXI6On5OZXR3b3JrVGFibGVTZXJ2ZXIoKXsNCi0JQ2xvc2UoKTsNCi0JZGVsZXRlICZlbnRyeVN0b3JlOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZVNlcnZlcjo6Q2xvc2UoKXsNCi0JdHJ5ew0KLQkJaW5jb21pbmdTdHJlYW1Nb25pdG9yLnN0b3AoKTsNCi0JCXdyaXRlTWFuYWdlci5zdG9wKCk7DQotCQljb25uZWN0aW9uTGlzdC5jbG9zZUFsbCgpOw0KLQkJc3RyZWFtUHJvdmlkZXIuY2xvc2UoKTsNCi0JfSBjYXRjaCAoY29uc3Qgc3RkOjpleGNlcHRpb24mIGV4KSB7DQotCSAgICAvL1RPRE8gcHJpbnQgc3RhY2sgdHJhY2U/DQotCX0NCi19DQotDQotdm9pZCBOZXR3b3JrVGFibGVTZXJ2ZXI6Ok9uTmV3Q29ubmVjdGlvbihTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlciYgY29ubmVjdGlvbkFkYXB0ZXIpIHsNCi0JY29ubmVjdGlvbkxpc3QuYWRkKGNvbm5lY3Rpb25BZGFwdGVyKTsNCi19DQotDQotDQotYm9vbCBOZXR3b3JrVGFibGVTZXJ2ZXI6OklzQ29ubmVjdGVkKCkgew0KLQlyZXR1cm4gdHJ1ZTsNCi19DQotDQotDQotYm9vbCBOZXR3b3JrVGFibGVTZXJ2ZXI6OklzU2VydmVyKCkgew0KLQlyZXR1cm4gdHJ1ZTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL05ldHdvcmtUYWJsZVNlcnZlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL05ldHdvcmtUYWJsZVNlcnZlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTk0NTY1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9OZXR3b3JrVGFibGVTZXJ2ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlU2VydmVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRVNFUlZFUl9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFU0VSVkVSX0hfDQotDQotDQotY2xhc3MgTmV0d29ya1RhYmxlU2VydmVyOw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9UcmFuc2FjdGlvbkRpcnRpZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlTm9kZS5oIg0KLSNpbmNsdWRlICJTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuaCINCi0jaW5jbHVkZSAiU2VydmVySW5jb21pbmdDb25uZWN0aW9uTGlzdGVuZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvV3JpdGVNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbVByb3ZpZGVyLmgiDQotI2luY2x1ZGUgIlNlcnZlckNvbm5lY3Rpb25MaXN0LmgiDQotDQotLyoqDQotICogQSBzZXJ2ZXIgbm9kZSBpbiBOZXR3b3JrVGFibGVzIDIuMA0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIE5ldHdvcmtUYWJsZVNlcnZlciA6IHB1YmxpYyBOZXR3b3JrVGFibGVOb2RlLCBwdWJsaWMgU2VydmVySW5jb21pbmdDb25uZWN0aW9uTGlzdGVuZXJ7DQotcHJpdmF0ZToNCi0JSU9TdHJlYW1Qcm92aWRlciYgc3RyZWFtUHJvdmlkZXI7DQotCVNlcnZlckNvbm5lY3Rpb25MaXN0IGNvbm5lY3Rpb25MaXN0Ow0KLQlXcml0ZU1hbmFnZXIgd3JpdGVNYW5hZ2VyOw0KLQlTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IgaW5jb21pbmdTdHJlYW1Nb25pdG9yOw0KLQlUcmFuc2FjdGlvbkRpcnRpZXIgY29udGludWluZ1JlY2VpdmVyOw0KLQ0KLSAgcHVibGljOg0KLQkvKioNCi0JICogQ3JlYXRlIGEgTmV0d29ya1RhYmxlIFNlcnZlcg0KLQkgKiANCi0JICogQHBhcmFtIHN0cmVhbVByb3ZpZGVyDQotCSAqIEBwYXJhbSB0aHJlYWRNYW5hZ2VyDQotCSAqIEBwYXJhbSB0cmFuc2FjdGlvblBvb2wNCi0JICovDQotCU5ldHdvcmtUYWJsZVNlcnZlcihJT1N0cmVhbVByb3ZpZGVyJiBzdHJlYW1Qcm92aWRlciwgTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlciYgdHlwZU1hbmFnZXIsIE5UVGhyZWFkTWFuYWdlciYgdGhyZWFkTWFuYWdlcik7DQotCX5OZXR3b3JrVGFibGVTZXJ2ZXIoKTsNCi0JLyoqDQotCSAqIENyZWF0ZSBhIE5ldHdvcmtUYWJsZSBTZXJ2ZXINCi0JICogDQotCSAqIEBwYXJhbSBzdHJlYW1Qcm92aWRlcg0KLQkgKi8NCi0JTmV0d29ya1RhYmxlU2VydmVyKElPU3RyZWFtUHJvdmlkZXImIHN0cmVhbVByb3ZpZGVyKTsNCi0JDQotCXZvaWQgQ2xvc2UoKTsNCi0NCi0Jdm9pZCBPbk5ld0Nvbm5lY3Rpb24oU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXImIGNvbm5lY3Rpb25BZGFwdGVyKTsNCi0NCi0JDQotCWJvb2wgSXNDb25uZWN0ZWQoKTsNCi0NCi0JDQotCWJvb2wgSXNTZXJ2ZXIoKTsNCi0NCi19Ow0KLQ0KLQ0KLQ0KLSNlbmRpZiAvKiBORVRXT1JLVEFCTEVTRVJWRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQWRhcHRlck1hbmFnZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJBZGFwdGVyTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2JkYzNiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJBZGFwdGVyTWFuYWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoNCi0gKiBTZXJ2ZXJBZGFwdGVyTWFuYWdlci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBTRVJWRVJBREFQVEVSTUFOQUdFUl9IXw0KLSNkZWZpbmUgU0VSVkVSQURBUFRFUk1BTkFHRVJfSF8NCi0NCi1jbGFzcyBTZXJ2ZXJBZGFwdGVyTWFuYWdlcjsNCi0NCi0jaW5jbHVkZSAiU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuaCINCi0NCi0vKioNCi0gKiBBIGNsYXNzIHRoYXQgbWFuYWdlcyBjb25uZWN0aW9ucyB0byBhIHNlcnZlcg0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIFNlcnZlckFkYXB0ZXJNYW5hZ2VyDQotew0KLXB1YmxpYzoNCi0JdmlydHVhbCB+U2VydmVyQWRhcHRlck1hbmFnZXIoKQ0KLQl7DQotCX0NCi0JLyoqDQotCSAqIENhbGxlZCB3aGVuIGEgY29ubmVjdGlvbiBhZGFwdGVyIGhhcyBiZWVuIGNsb3NlZA0KLQkgKiBAcGFyYW0gY29ubmVjdGlvbkFkYXB0ZXIgdGhlIGFkYXB0ZXIgdGhhdCB3YXMgY2xvc2VkDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgY2xvc2UoU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXImIGNvbm5lY3Rpb25BZGFwdGVyLCBib29sIGNsb3NlU3RyZWFtKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogU0VSVkVSQURBUFRFUk1BTkFHRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25BZGFwdGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQxZmM5MS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTMzICswLDAgQEAKLS8qDQotICogU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5oIg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmdvdG9TdGF0ZShTZXJ2ZXJDb25uZWN0aW9uU3RhdGUqIG5ld1N0YXRlKXsNCi0JaWYoY29ubmVjdGlvblN0YXRlIT1uZXdTdGF0ZSl7DQotCSAgZnByaW50ZihzdGRvdXQsICIlcCBlbnRlcmVkIGNvbm5lY3Rpb24gc3RhdGU6ICVzXG4iLHRoaXMsIG5ld1N0YXRlLT50b1N0cmluZygpKTsNCi0JICBmZmx1c2goc3Rkb3V0KTsNCi0JCWNvbm5lY3Rpb25TdGF0ZSA9IG5ld1N0YXRlOw0KLQl9DQotfQ0KLQ0KLVNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcihJT1N0cmVhbSogc3RyZWFtLCBTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBfZW50cnlTdG9yZSwgSW5jb21pbmdFbnRyeVJlY2VpdmVyJiBfdHJhbnNhY3Rpb25SZWNlaXZlciwgU2VydmVyQWRhcHRlck1hbmFnZXImIF9hZGFwdGVyTGlzdGVuZXIsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIHR5cGVNYW5hZ2VyLCBOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXIpIDoNCi0JZW50cnlTdG9yZShfZW50cnlTdG9yZSksIHRyYW5zYWN0aW9uUmVjZWl2ZXIoX3RyYW5zYWN0aW9uUmVjZWl2ZXIpLCBhZGFwdGVyTGlzdGVuZXIoX2FkYXB0ZXJMaXN0ZW5lciksDQotCWNvbm5lY3Rpb24oc3RyZWFtLCB0eXBlTWFuYWdlciksIG1vbml0b3JUaHJlYWQoKnRoaXMsIGNvbm5lY3Rpb24pew0KLSAgICAgICAgY29ubmVjdGlvblN0YXRlID0gJlNlcnZlckNvbm5lY3Rpb25TdGF0ZTo6Q0xJRU5UX0RJU0NPTk5FQ1RFRDsNCi0JZ290b1N0YXRlKCZTZXJ2ZXJDb25uZWN0aW9uU3RhdGU6OkdPVF9DT05ORUNUSU9OX0ZST01fQ0xJRU5UKTsNCi0JcmVhZFRocmVhZCA9IHRocmVhZE1hbmFnZXIubmV3QmxvY2tpbmdQZXJpb2RpY1RocmVhZCgmbW9uaXRvclRocmVhZCwgIlNlcnZlciBDb25uZWN0aW9uIFJlYWRlciBUaHJlYWQiKTsNCi19DQotDQotU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6On5TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcigpew0KLSAgZGVsZXRlIHJlYWRUaHJlYWQ7DQotfQ0KLQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmJhZE1lc3NhZ2UoQmFkTWVzc2FnZUV4Y2VwdGlvbiYgZSkgew0KLSAgZnByaW50ZihzdGRvdXQsICJCYWQgbWVzc2FnZTogJXNcbiIsIGUud2hhdCgpKTsNCi0gIGZmbHVzaChzdGRvdXQpOw0KLQlnb3RvU3RhdGUobmV3IFNlcnZlckNvbm5lY3Rpb25TdGF0ZV9FcnJvcihlKSk7DQotCWFkYXB0ZXJMaXN0ZW5lci5jbG9zZSgqdGhpcywgdHJ1ZSk7DQotfQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmlvRXhjZXB0aW9uKElPRXhjZXB0aW9uJiBlKSB7DQotICBmcHJpbnRmKHN0ZG91dCwgIklPRXhjZXB0aW9uIG1lc3NhZ2U6ICVzXG4iLCBlLndoYXQoKSk7DQotICBmZmx1c2goc3Rkb3V0KTsNCi0JaWYoZS5pc0VPRigpKQ0KLQkJZ290b1N0YXRlKCZTZXJ2ZXJDb25uZWN0aW9uU3RhdGU6OkNMSUVOVF9ESVNDT05ORUNURUQpOw0KLQllbHNlDQotCQlnb3RvU3RhdGUobmV3IFNlcnZlckNvbm5lY3Rpb25TdGF0ZV9FcnJvcihlKSk7DQotCWFkYXB0ZXJMaXN0ZW5lci5jbG9zZSgqdGhpcywgZmFsc2UpOw0KLX0NCi0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpzaHV0ZG93bihib29sIGNsb3NlU3RyZWFtKSB7DQotCXJlYWRUaHJlYWQtPnN0b3AoKTsNCi0JaWYoY2xvc2VTdHJlYW0pDQotCQljb25uZWN0aW9uLmNsb3NlKCk7DQotfQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmtlZXBBbGl2ZSgpIHsNCi0JLy9qdXN0IGxldCBpdCBoYXBwZW4NCi19DQotDQotdm9pZCBTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcjo6Y2xpZW50SGVsbG8oUHJvdG9jb2xWZXJzaW9uIHByb3RvY29sUmV2aXNpb24pIHsNCi0JaWYoY29ubmVjdGlvblN0YXRlIT0mU2VydmVyQ29ubmVjdGlvblN0YXRlOjpHT1RfQ09OTkVDVElPTl9GUk9NX0NMSUVOVCkNCi0JCXRocm93IEJhZE1lc3NhZ2VFeGNlcHRpb24oIkEgc2VydmVyIHNob3VsZCBub3QgcmVjZWl2ZSBhIGNsaWVudCBoZWxsbyBhZnRlciBpdCBoYXMgYWxyZWFkeSBjb25uZWN0ZWQvZW50ZXJlZCBhbiBlcnJvciBzdGF0ZSIpOw0KLSAgICBpZihwcm90b2NvbFJldmlzaW9uIT1OZXR3b3JrVGFibGVDb25uZWN0aW9uOjpQUk9UT0NPTF9SRVZJU0lPTil7DQotICAgICAgICBjb25uZWN0aW9uLnNlbmRQcm90b2NvbFZlcnNpb25VbnN1cHBvcnRlZCgpOw0KLSAgICAgICAgdGhyb3cgQmFkTWVzc2FnZUV4Y2VwdGlvbigiQ2xpZW50IENvbm5lY3RlZCB3aXRoIGJhZCBwcm90b2NvbCByZXZpc2lvbiIpOw0KLSAgICB9DQotICAgIGVsc2V7DQotCQllbnRyeVN0b3JlLnNlbmRTZXJ2ZXJIZWxsbyhjb25uZWN0aW9uKTsNCi0JCWdvdG9TdGF0ZSgmU2VydmVyQ29ubmVjdGlvblN0YXRlOjpDT05ORUNURURfVE9fQ0xJRU5UKTsNCi0gICAgfQ0KLX0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpwcm90b2NvbFZlcnNpb25VbnN1cHBvcnRlZChQcm90b2NvbFZlcnNpb24gcHJvdG9jb2xSZXZpc2lvbikgew0KLQl0aHJvdyBCYWRNZXNzYWdlRXhjZXB0aW9uKCJBIHNlcnZlciBzaG91bGQgbm90IHJlY2VpdmUgYSBwcm90b2NvbCB2ZXJzaW9uIHVuc3VwcG9ydGVkIG1lc3NhZ2UiKTsNCi19DQotDQotdm9pZCBTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcjo6c2VydmVySGVsbG9Db21wbGV0ZSgpIHsNCi0JdGhyb3cgQmFkTWVzc2FnZUV4Y2VwdGlvbigiQSBzZXJ2ZXIgc2hvdWxkIG5vdCByZWNlaXZlIGEgc2VydmVyIGhlbGxvIGNvbXBsZXRlIG1lc3NhZ2UiKTsNCi19DQotDQotdm9pZCBTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcjo6b2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSB7DQotCXRyYW5zYWN0aW9uUmVjZWl2ZXIub2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoZW50cnkpOw0KLX0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpvZmZlckluY29taW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpIHsNCi0JdHJhbnNhY3Rpb25SZWNlaXZlci5vZmZlckluY29taW5nVXBkYXRlKGVudHJ5LCBzZXF1ZW5jZU51bWJlciwgdmFsdWUpOw0KLX0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeSogU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OkdldEVudHJ5KEVudHJ5SWQgaWQpIHsNCi0JcmV0dXJuIGVudHJ5U3RvcmUuR2V0RW50cnkoaWQpOw0KLX0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpIHsNCi0JdHJ5IHsNCi0JCWlmKGNvbm5lY3Rpb25TdGF0ZT09JlNlcnZlckNvbm5lY3Rpb25TdGF0ZTo6Q09OTkVDVEVEX1RPX0NMSUVOVCkNCi0JCQljb25uZWN0aW9uLnNlbmRFbnRyeUFzc2lnbm1lbnQoKmVudHJ5KTsNCi0JfSBjYXRjaCAoSU9FeGNlcHRpb24mIGUpIHsNCi0JCWlvRXhjZXB0aW9uKGUpOw0KLQl9DQotfQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6Om9mZmVyT3V0Z29pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KSB7DQotCXRyeSB7DQotCQlpZihjb25uZWN0aW9uU3RhdGU9PSZTZXJ2ZXJDb25uZWN0aW9uU3RhdGU6OkNPTk5FQ1RFRF9UT19DTElFTlQpDQotCQkJY29ubmVjdGlvbi5zZW5kRW50cnlVcGRhdGUoKmVudHJ5KTsNCi0JfSBjYXRjaCAoSU9FeGNlcHRpb24mIGUpIHsNCi0JCWlvRXhjZXB0aW9uKGUpOw0KLQl9DQotfQ0KLQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmZsdXNoKCkgew0KLQl0cnkgew0KLQkJY29ubmVjdGlvbi5mbHVzaCgpOw0KLQl9IGNhdGNoIChJT0V4Y2VwdGlvbiYgZSkgew0KLQkJaW9FeGNlcHRpb24oZSk7DQotCX0NCi19DQotDQotLyoqDQotICogQHJldHVybiB0aGUgc3RhdGUgb2YgdGhlIGNvbm5lY3Rpb24NCi0gKi8NCi1TZXJ2ZXJDb25uZWN0aW9uU3RhdGUqIFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyOjpnZXRDb25uZWN0aW9uU3RhdGUoKSB7DQotCXJldHVybiBjb25uZWN0aW9uU3RhdGU7DQotfQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI6OmVuc3VyZUFsaXZlKCkgew0KLQl0cnkgew0KLQkJY29ubmVjdGlvbi5zZW5kS2VlcEFsaXZlKCk7DQotCX0gY2F0Y2ggKElPRXhjZXB0aW9uJiBlKSB7DQotCQlpb0V4Y2VwdGlvbihlKTsNCi0JfQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjcxNmY3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLS8qDQotICogU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgU0VSVkVSQ09OTkVDVElPTkFEQVBURVJfSF8NCi0jZGVmaW5lIFNFUlZFUkNPTk5FQ1RJT05BREFQVEVSX0hfDQotDQotY2xhc3MgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXI7DQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvY29ubmVjdGlvbi9Db25uZWN0aW9uQWRhcHRlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zdHJlYW0vSU9TdHJlYW0uaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvSW5jb21pbmdFbnRyeVJlY2VpdmVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL0ZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQWRhcHRlck1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25TdGF0ZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvTlRUaHJlYWQuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkTWFuYWdlci5oIg0KLQ0KLQ0KLQ0KLS8qKg0KLSAqIE9iamVjdCB0aGF0IGFkYXB0cyBtZXNzYWdlcyBmcm9tIGEgY2xpZW50IHRvIHRoZSBzZXJ2ZXINCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlciA6IENvbm5lY3Rpb25BZGFwdGVyLCBJbmNvbWluZ0VudHJ5UmVjZWl2ZXIsIEZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlcnsNCi1wcml2YXRlOg0KLQlTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBlbnRyeVN0b3JlOw0KLQlJbmNvbWluZ0VudHJ5UmVjZWl2ZXImIHRyYW5zYWN0aW9uUmVjZWl2ZXI7DQotCVNlcnZlckFkYXB0ZXJNYW5hZ2VyJiBhZGFwdGVyTGlzdGVuZXI7DQotcHVibGljOg0KLQkvKioNCi0JICogdGhlIGNvbm5lY3Rpb24gdGhpcyBhZGFwdGVyIHVzZXMNCi0JICovDQotCU5ldHdvcmtUYWJsZUNvbm5lY3Rpb24gY29ubmVjdGlvbjsNCi1wcml2YXRlOg0KLQlOVFRocmVhZCogcmVhZFRocmVhZDsNCi0JQ29ubmVjdGlvbk1vbml0b3JUaHJlYWQgbW9uaXRvclRocmVhZDsNCi1wcml2YXRlOg0KLQ0KLQlTZXJ2ZXJDb25uZWN0aW9uU3RhdGUqIGNvbm5lY3Rpb25TdGF0ZTsNCi0NCi0Jdm9pZCBnb3RvU3RhdGUoU2VydmVyQ29ubmVjdGlvblN0YXRlKiBuZXdTdGF0ZSk7DQotDQotcHVibGljOg0KLQkvKioNCi0JICogQ3JlYXRlIGEgc2VydmVyIGNvbm5lY3Rpb24gYWRhcHRlciBmb3IgYSBnaXZlbiBzdHJlYW0NCi0JICogDQotCSAqIEBwYXJhbSBzdHJlYW0NCi0JICogQHBhcmFtIHRyYW5zYWN0aW9uUG9vbA0KLQkgKiBAcGFyYW0gZW50cnlTdG9yZQ0KLQkgKiBAcGFyYW0gdHJhbnNhY3Rpb25SZWNlaXZlcg0KLQkgKiBAcGFyYW0gYWRhcHRlckxpc3RlbmVyDQotCSAqIEBwYXJhbSB0aHJlYWRNYW5hZ2VyDQotCSAqLw0KLQlTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcihJT1N0cmVhbSogc3RyZWFtLCBTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBlbnRyeVN0b3JlLCBJbmNvbWluZ0VudHJ5UmVjZWl2ZXImIHRyYW5zYWN0aW9uUmVjZWl2ZXIsIFNlcnZlckFkYXB0ZXJNYW5hZ2VyJiBhZGFwdGVyTGlzdGVuZXIsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIHR5cGVNYW5hZ2VyLCBOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXIpOw0KLQl2aXJ0dWFsIH5TZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcigpOw0KLQ0KLQl2b2lkIGJhZE1lc3NhZ2UoQmFkTWVzc2FnZUV4Y2VwdGlvbiYgZSk7DQotCQ0KLQl2b2lkIGlvRXhjZXB0aW9uKElPRXhjZXB0aW9uJiBlKTsNCi0JDQotCQ0KLQkvKioNCi0JICogc3RvcCB0aGUgcmVhZCB0aHJlYWQgYW5kIGNsb3NlIHRoZSBzdHJlYW0NCi0JICovDQotCXZvaWQgc2h1dGRvd24oYm9vbCBjbG9zZVN0cmVhbSk7DQotDQotCXZvaWQga2VlcEFsaXZlKCk7DQotDQotCXZvaWQgY2xpZW50SGVsbG8oUHJvdG9jb2xWZXJzaW9uIHByb3RvY29sUmV2aXNpb24pOw0KLQ0KLQl2b2lkIHByb3RvY29sVmVyc2lvblVuc3VwcG9ydGVkKFByb3RvY29sVmVyc2lvbiBwcm90b2NvbFJldmlzaW9uKTsNCi0NCi0Jdm9pZCBzZXJ2ZXJIZWxsb0NvbXBsZXRlKCk7DQotDQotCXZvaWQgb2ZmZXJJbmNvbWluZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0NCi0Jdm9pZCBvZmZlckluY29taW5nVXBkYXRlKE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpOw0KLQ0KLQlOZXR3b3JrVGFibGVFbnRyeSogR2V0RW50cnkoRW50cnlJZCBpZCk7DQotDQotCXZvaWQgb2ZmZXJPdXRnb2luZ0Fzc2lnbm1lbnQoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KTsNCi0JDQotCXZvaWQgb2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpOw0KLQ0KLQ0KLQl2b2lkIGZsdXNoKCk7DQotDQotCS8qKg0KLQkgKiBAcmV0dXJuIHRoZSBzdGF0ZSBvZiB0aGUgY29ubmVjdGlvbg0KLQkgKi8NCi0JU2VydmVyQ29ubmVjdGlvblN0YXRlKiBnZXRDb25uZWN0aW9uU3RhdGUoKTsNCi0NCi0Jdm9pZCBlbnN1cmVBbGl2ZSgpOw0KLQ0KLX07DQotDQotDQotI2VuZGlmIC8qIFNFUlZFUkNPTk5FQ1RJT05BREFQVEVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25MaXN0LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uTGlzdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhNTJmMzQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25MaXN0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLS8qDQotICogU2VydmVyQ29ubmVjdGlvbkxpc3QuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uTGlzdC5oIg0KLSNpbmNsdWRlIDxhbGdvcml0aG0+DQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotDQotDQotDQotU2VydmVyQ29ubmVjdGlvbkxpc3Q6OlNlcnZlckNvbm5lY3Rpb25MaXN0KCkNCi17DQotfQ0KLVNlcnZlckNvbm5lY3Rpb25MaXN0Ojp+U2VydmVyQ29ubmVjdGlvbkxpc3QoKQ0KLXsNCi0JY29ubmVjdGlvbnNMb2NrLnRha2UoKTsNCi0JY2xvc2VBbGwoKTsNCi19DQotDQotdm9pZCBTZXJ2ZXJDb25uZWN0aW9uTGlzdDo6YWRkKFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyJiBjb25uZWN0aW9uKQ0KLXsgDQotCVN5bmNocm9uaXplZCBzeW5jKGNvbm5lY3Rpb25zTG9jayk7DQotCWNvbm5lY3Rpb25zLnB1c2hfYmFjaygmY29ubmVjdGlvbik7DQotfQ0KLQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkxpc3Q6OmNsb3NlKFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyJiBjb25uZWN0aW9uQWRhcHRlciwgYm9vbCBjbG9zZVN0cmVhbSkNCi17IA0KLQlTeW5jaHJvbml6ZWQgc3luYyhjb25uZWN0aW9uc0xvY2spOw0KLQlzdGQ6OnZlY3RvcjxTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlcio+OjppdGVyYXRvciBjb25uZWN0aW9uUG9zaXRpb24gPSBzdGQ6OmZpbmQoY29ubmVjdGlvbnMuYmVnaW4oKSwgY29ubmVjdGlvbnMuZW5kKCksICZjb25uZWN0aW9uQWRhcHRlcik7DQotCWlmIChjb25uZWN0aW9uUG9zaXRpb24gIT0gY29ubmVjdGlvbnMuZW5kKCkgJiYgKCpjb25uZWN0aW9uUG9zaXRpb24pPT0mY29ubmVjdGlvbkFkYXB0ZXIpDQotCXsNCi0JCWZwcmludGYoc3Rkb3V0LCAiQ2xvc2U6ICVwXG4iLCAmY29ubmVjdGlvbkFkYXB0ZXIpOw0KLQkJZmZsdXNoKHN0ZG91dCk7DQotCQljb25uZWN0aW9ucy5lcmFzZShjb25uZWN0aW9uUG9zaXRpb24pOw0KLQkJY29ubmVjdGlvbkFkYXB0ZXIuc2h1dGRvd24oY2xvc2VTdHJlYW0pOw0KLQkJZGVsZXRlICZjb25uZWN0aW9uQWRhcHRlcjsNCi0JfQ0KLX0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25MaXN0OjpjbG9zZUFsbCgpDQoteyANCi0JU3luY2hyb25pemVkIHN5bmMoY29ubmVjdGlvbnNMb2NrKTsNCi0Jd2hpbGUoY29ubmVjdGlvbnMuc2l6ZSgpID4gMCkNCi0Jew0KLQkJY2xvc2UoKmNvbm5lY3Rpb25zWzBdLCB0cnVlKTsNCi0JfQ0KLX0NCi0NCi12b2lkIFNlcnZlckNvbm5lY3Rpb25MaXN0OjpvZmZlck91dGdvaW5nQXNzaWdubWVudChOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpDQoteyANCi0JU3luY2hyb25pemVkIHN5bmMoY29ubmVjdGlvbnNMb2NrKTsNCi0JZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGNvbm5lY3Rpb25zLnNpemUoKTsgKytpKQ0KLQl7DQotCQljb25uZWN0aW9uc1tpXS0+b2ZmZXJPdXRnb2luZ0Fzc2lnbm1lbnQoZW50cnkpOw0KLQl9DQotfQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkxpc3Q6Om9mZmVyT3V0Z29pbmdVcGRhdGUoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5KQ0KLXsgDQotCVN5bmNocm9uaXplZCBzeW5jKGNvbm5lY3Rpb25zTG9jayk7DQotCWZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBjb25uZWN0aW9ucy5zaXplKCk7ICsraSkNCi0Jew0KLQkJY29ubmVjdGlvbnNbaV0tPm9mZmVyT3V0Z29pbmdVcGRhdGUoZW50cnkpOw0KLQl9DQotfQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkxpc3Q6OmZsdXNoKCkNCi17IA0KLQlTeW5jaHJvbml6ZWQgc3luYyhjb25uZWN0aW9uc0xvY2spOw0KLQlmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgY29ubmVjdGlvbnMuc2l6ZSgpOyArK2kpDQotCXsNCi0JCWNvbm5lY3Rpb25zW2ldLT5mbHVzaCgpOw0KLQl9DQotfQ0KLXZvaWQgU2VydmVyQ29ubmVjdGlvbkxpc3Q6OmVuc3VyZUFsaXZlKCkNCi17IA0KLQlTeW5jaHJvbml6ZWQgc3luYyhjb25uZWN0aW9uc0xvY2spOw0KLQlmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgY29ubmVjdGlvbnMuc2l6ZSgpOyArK2kpDQotCXsNCi0JCWNvbm5lY3Rpb25zW2ldLT5lbnN1cmVBbGl2ZSgpOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uTGlzdC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25MaXN0LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4YzBhNzguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25MaXN0LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi0vKg0KLSAqIFNlcnZlckNvbm5lY3Rpb25MaXN0LmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIFNFUlZFUkNPTk5FQ1RJT05MSVNUX0hfDQotI2RlZmluZSBTRVJWRVJDT05ORUNUSU9OTElTVF9IXw0KLQ0KLQ0KLQ0KLWNsYXNzIFNlcnZlckNvbm5lY3Rpb25MaXN0Ow0KLQ0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9GbHVzaGFibGVPdXRnb2luZ0VudHJ5UmVjZWl2ZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvTmV0d29ya1RhYmxlRW50cnkuaCINCi0jaW5jbHVkZSAiU2VydmVyQWRhcHRlck1hbmFnZXIuaCINCi0jaW5jbHVkZSAiU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIuaCINCi0jaW5jbHVkZSA8dmVjdG9yPg0KLQ0KLQ0KLQ0KLS8qKg0KLSAqIEEgbGlzdCBvZiBjb25uZWN0aW9ucyB0aGF0IHRoZSBzZXJ2ZXIgY3VycmVudGx5IGhhcw0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIFNlcnZlckNvbm5lY3Rpb25MaXN0IDogcHVibGljIEZsdXNoYWJsZU91dGdvaW5nRW50cnlSZWNlaXZlciwgcHVibGljIFNlcnZlckFkYXB0ZXJNYW5hZ2Vyew0KLXByaXZhdGU6DQotCVJlZW50cmFudFNlbWFwaG9yZSBjb25uZWN0aW9uc0xvY2s7DQotCXN0ZDo6dmVjdG9yPFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyKj4gY29ubmVjdGlvbnM7DQotCQ0KLXB1YmxpYzoNCi0JU2VydmVyQ29ubmVjdGlvbkxpc3QoKTsNCi0JdmlydHVhbCB+U2VydmVyQ29ubmVjdGlvbkxpc3QoKTsNCi0JLyoqDQotCSAqIEFkZCBhIGNvbm5lY3Rpb24gdG8gdGhlIGxpc3QNCi0JICogQHBhcmFtIGNvbm5lY3Rpb24NCi0JICovDQotCXZvaWQgYWRkKFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyJiBjb25uZWN0aW9uKTsNCi0JDQotCQ0KLQl2b2lkIGNsb3NlKFNlcnZlckNvbm5lY3Rpb25BZGFwdGVyJiBjb25uZWN0aW9uQWRhcHRlciwgYm9vbCBjbG9zZVN0cmVhbSk7DQotCS8qKg0KLQkgKiBjbG9zZSBhbGwgY29ubmVjdGlvbnMgYW5kIHJlbW92ZSB0aGVtDQotCSAqLw0KLQl2b2lkIGNsb3NlQWxsKCk7DQotCQ0KLQl2b2lkIG9mZmVyT3V0Z29pbmdBc3NpZ25tZW50KE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSk7DQotCXZvaWQgb2ZmZXJPdXRnb2luZ1VwZGF0ZShOZXR3b3JrVGFibGVFbnRyeSogZW50cnkpOw0KLQl2b2lkIGZsdXNoKCk7DQotCXZvaWQgZW5zdXJlQWxpdmUoKTsNCi19Ow0KLQ0KLQ0KLQ0KLSNlbmRpZiAvKiBTRVJWRVJDT05ORUNUSU9OTElTVF9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uU3RhdGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25TdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5YjBiNTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25TdGF0ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKg0KLSAqIFNlcnZlckNvbm5lY3Rpb25TdGF0ZS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25TdGF0ZS5oIg0KLQ0KLVNlcnZlckNvbm5lY3Rpb25TdGF0ZSBTZXJ2ZXJDb25uZWN0aW9uU3RhdGU6OkdPVF9DT05ORUNUSU9OX0ZST01fQ0xJRU5UKCJHT1RfQ09OTkVDVElPTl9GUk9NX0NMSUVOVCIpOw0KLQ0KLVNlcnZlckNvbm5lY3Rpb25TdGF0ZSBTZXJ2ZXJDb25uZWN0aW9uU3RhdGU6OkNPTk5FQ1RFRF9UT19DTElFTlQoIkNPTk5FQ1RFRF9UT19DTElFTlQiKTsNCi0NCi1TZXJ2ZXJDb25uZWN0aW9uU3RhdGUgU2VydmVyQ29ubmVjdGlvblN0YXRlOjpDTElFTlRfRElTQ09OTkVDVEVEKCJDTElFTlRfRElTQ09OTkVDVEVEIik7DQotCQ0KLQ0KLVNlcnZlckNvbm5lY3Rpb25TdGF0ZTo6U2VydmVyQ29ubmVjdGlvblN0YXRlKGNvbnN0IGNoYXIqIF9uYW1lKTpuYW1lKF9uYW1lKXsNCi19DQotY29uc3QgY2hhciogU2VydmVyQ29ubmVjdGlvblN0YXRlOjp0b1N0cmluZygpew0KLQlyZXR1cm4gbmFtZTsNCi19DQotDQotU2VydmVyQ29ubmVjdGlvblN0YXRlX0Vycm9yOjpTZXJ2ZXJDb25uZWN0aW9uU3RhdGVfRXJyb3Ioc3RkOjpleGNlcHRpb24mIF9lKTpTZXJ2ZXJDb25uZWN0aW9uU3RhdGUoIlNFUlZFUl9FUlJPUiIpLGUoX2Upew0KLX0NCi1jb25zdCBjaGFyKiBTZXJ2ZXJDb25uZWN0aW9uU3RhdGVfRXJyb3I6OnRvU3RyaW5nKCl7DQotCXJldHVybiAiU0VSVkVSX0VSUk9SIjsNCi0JLy9UT0RPIHJldHVybiAiU0VSVkVSX0VSUk9SOiAiK2UuZ2V0Q2xhc3MoKSsiOiAiK2Uud2hhdCgpOw0KLX0NCi1zdGQ6OmV4Y2VwdGlvbiYgU2VydmVyQ29ubmVjdGlvblN0YXRlX0Vycm9yOjpnZXRFeGNlcHRpb24oKXsNCi0JcmV0dXJuIGU7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uU3RhdGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJDb25uZWN0aW9uU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDQwOGI0OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQ29ubmVjdGlvblN0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKg0KLSAqIFNlcnZlckNvbm5lY3Rpb25TdGF0ZS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBTRVJWRVJDT05ORUNUSU9OU1RBVEVfSF8NCi0jZGVmaW5lIFNFUlZFUkNPTk5FQ1RJT05TVEFURV9IXw0KLQ0KLWNsYXNzIFNlcnZlckNvbm5lY3Rpb25TdGF0ZTsNCi1jbGFzcyBTZXJ2ZXJDb25uZWN0aW9uU3RhdGVfRXJyb3I7DQotDQotI2luY2x1ZGUgPGV4Y2VwdGlvbj4NCi0NCi0NCi0NCi0vKioNCi0gKiBSZXByZXNlbnRzIHRoZSBzdGF0ZSBvZiBhIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlcg0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIFNlcnZlckNvbm5lY3Rpb25TdGF0ZQ0KLXsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiByZXByZXNlbnRzIHRoYXQgdGhlIHNlcnZlciBoYXMgcmVjZWl2ZWQgdGhlIGNvbm5lY3Rpb24gZnJvbSB0aGUgY2xpZW50IGJ1dCBoYXMgbm90IHlldCByZWNlaXZlZCB0aGUgY2xpZW50IGhlbGxvDQotCSAqLw0KLQlzdGF0aWMgU2VydmVyQ29ubmVjdGlvblN0YXRlIEdPVF9DT05ORUNUSU9OX0ZST01fQ0xJRU5UOw0KLQkvKioNCi0JICogcmVwcmVzZW50cyB0aGF0IHRoZSBjbGllbnQgaXMgaW4gYSBjb25uZWN0ZWQgbm9uLWVycm9yIHN0YXRlDQotCSAqLw0KLQlzdGF0aWMgU2VydmVyQ29ubmVjdGlvblN0YXRlIENPTk5FQ1RFRF9UT19DTElFTlQ7DQotCS8qKg0KLQkgKiByZXByZXNlbnRzIHRoYXQgdGhlIGNsaWVudCBoYXMgZGlzY29ubmVjdGVkIGZyb20gdGhlIHNlcnZlcg0KLQkgKi8NCi0Jc3RhdGljIFNlcnZlckNvbm5lY3Rpb25TdGF0ZSBDTElFTlRfRElTQ09OTkVDVEVEOw0KLQ0KLXByaXZhdGU6DQotCWNvbnN0IGNoYXIqIG5hbWU7DQotcHJvdGVjdGVkOg0KLQlTZXJ2ZXJDb25uZWN0aW9uU3RhdGUoY29uc3QgY2hhciogbmFtZSk7DQotcHVibGljOg0KLQl2aXJ0dWFsIGNvbnN0IGNoYXIqIHRvU3RyaW5nKCk7DQotCXZpcnR1YWwgflNlcnZlckNvbm5lY3Rpb25TdGF0ZSgpDQotCXsNCi0JfQ0KLX07DQotDQotLyoqDQotICogUmVwcmVzZW50cyB0aGF0IHRoZSBjbGllbnQgaXMgaW4gYW4gZXJyb3Igc3RhdGUNCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBTZXJ2ZXJDb25uZWN0aW9uU3RhdGVfRXJyb3IgOiBwdWJsaWMgU2VydmVyQ29ubmVjdGlvblN0YXRlDQotew0KLXByaXZhdGU6DQotCXN0ZDo6ZXhjZXB0aW9uJiBlOw0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBlcnJvciBzdGF0ZQ0KLQkgKiBAcGFyYW0gZQ0KLQkgKi8NCi0JU2VydmVyQ29ubmVjdGlvblN0YXRlX0Vycm9yKHN0ZDo6ZXhjZXB0aW9uJiBlKTsNCi0NCi0JdmlydHVhbCBjb25zdCBjaGFyKiB0b1N0cmluZygpOw0KLQkvKioNCi0JICogQHJldHVybiB0aGUgZXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBjbGllbnQgY29ubmVjdGlvbiB0byBlbnRlciBhbiBlcnJvciBzdGF0ZQ0KLQkgKi8NCi0Jc3RkOjpleGNlcHRpb24mIGdldEV4Y2VwdGlvbigpOw0KLX07DQotDQotI2VuZGlmIC8qIFNFUlZFUkNPTk5FQ1RJT05TVEFURV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ0Nvbm5lY3Rpb25MaXN0ZW5lci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckluY29taW5nQ29ubmVjdGlvbkxpc3RlbmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyZDQ2NjAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckluY29taW5nQ29ubmVjdGlvbkxpc3RlbmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0vKg0KLSAqIFNlcnZlckluY29taW5nQ29ubmVjdGlvbkxpc3RlbmVyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIFNFUlZFUklOQ09NSU5HQ09OTkVDVElPTkxJU1RFTkVSX0hfDQotI2RlZmluZSBTRVJWRVJJTkNPTUlOR0NPTk5FQ1RJT05MSVNURU5FUl9IXw0KLQ0KLSNpbmNsdWRlICJTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlci5oIg0KLQ0KLS8qKg0KLSAqIExpc3RlbmVyIGZvciBuZXcgaW5jb21pbmcgc2VydmVyIGNvbm5lY3Rpb25zDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgU2VydmVySW5jb21pbmdDb25uZWN0aW9uTGlzdGVuZXINCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5TZXJ2ZXJJbmNvbWluZ0Nvbm5lY3Rpb25MaXN0ZW5lcigpDQotCXsNCi0JfQ0KLQkvKioNCi0JICogDQotCSAqIENhbGxlZCBvbiBjcmVhdGUgb2YgYSBuZXcgY29ubmVjdGlvbg0KLQkgKiBAcGFyYW0gY29ubmVjdGlvbkFkYXB0ZXIgdGhlIHNlcnZlciBjb25uZWN0aW9uIGFkYXB0ZXINCi0JICovDQotCXZpcnR1YWwgdm9pZCBPbk5ld0Nvbm5lY3Rpb24oU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXImIGNvbm5lY3Rpb25BZGFwdGVyKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogU0VSVkVSSU5DT01JTkdDT05ORUNUSU9OTElTVEVORVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTQwZTU4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoNCi0gKiBTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc3RyZWFtL0lPU3RyZWFtLmgiDQotDQotU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yOjpTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IoSU9TdHJlYW1Qcm92aWRlciYgX3N0cmVhbVByb3ZpZGVyLCBTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlJiBfZW50cnlTdG9yZSwNCi0JCVNlcnZlckluY29taW5nQ29ubmVjdGlvbkxpc3RlbmVyJiBfaW5jb21pbmdMaXN0ZW5lciwgU2VydmVyQWRhcHRlck1hbmFnZXImIF9hZGFwdGVyTGlzdGVuZXIsIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIF90eXBlTWFuYWdlciwNCi0JCU5UVGhyZWFkTWFuYWdlciYgX3RocmVhZE1hbmFnZXIpIDoNCi0Jc3RyZWFtUHJvdmlkZXIoX3N0cmVhbVByb3ZpZGVyKSwgZW50cnlTdG9yZShfZW50cnlTdG9yZSksIGluY29taW5nTGlzdGVuZXIoX2luY29taW5nTGlzdGVuZXIpLCBhZGFwdGVyTGlzdGVuZXIoX2FkYXB0ZXJMaXN0ZW5lciksDQotCQkJdHlwZU1hbmFnZXIoX3R5cGVNYW5hZ2VyKSwgdGhyZWFkTWFuYWdlcihfdGhyZWFkTWFuYWdlciksIG1vbml0b3JUaHJlYWQoTlVMTCkNCi17DQotfQ0KLQ0KLS8qKg0KLSAqIFN0YXJ0IHRoZSBtb25pdG9yIHRocmVhZA0KLSAqLw0KLXZvaWQgU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yOjpzdGFydCgpDQotew0KLQlpZiAobW9uaXRvclRocmVhZCAhPSBOVUxMKQ0KLQkJc3RvcCgpOw0KLQltb25pdG9yVGhyZWFkID0gdGhyZWFkTWFuYWdlci5uZXdCbG9ja2luZ1BlcmlvZGljVGhyZWFkKHRoaXMsICJTZXJ2ZXIgSW5jb21pbmcgU3RyZWFtIE1vbml0b3IgVGhyZWFkIik7DQotfQ0KLS8qKg0KLSAqIFN0b3AgdGhlIG1vbml0b3IgdGhyZWFkDQotICovDQotdm9pZCBTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3I6OnN0b3AoKQ0KLXsNCi0JaWYgKG1vbml0b3JUaHJlYWQgIT0gTlVMTCkNCi0Jew0KLQkJbW9uaXRvclRocmVhZC0+c3RvcCgpOw0KLQkJZGVsZXRlIG1vbml0b3JUaHJlYWQ7DQotCQltb25pdG9yVGhyZWFkID0gTlVMTDsNCi0JfQ0KLX0NCi0NCi12b2lkIFNlcnZlckluY29taW5nU3RyZWFtTW9uaXRvcjo6cnVuKCkNCi17DQotCXRyeQ0KLQl7DQotCQlJT1N0cmVhbSogbmV3U3RyZWFtID0gc3RyZWFtUHJvdmlkZXIuYWNjZXB0KCk7DQotCQlpZihuZXdTdHJlYW0gIT0gTlVMTCkNCi0JCXsNCi0JCQlTZXJ2ZXJDb25uZWN0aW9uQWRhcHRlciogY29ubmVjdGlvbkFkYXB0ZXIgPSBuZXcgU2VydmVyQ29ubmVjdGlvbkFkYXB0ZXIobmV3U3RyZWFtLCBlbnRyeVN0b3JlLCBlbnRyeVN0b3JlLCBhZGFwdGVyTGlzdGVuZXIsIHR5cGVNYW5hZ2VyLCB0aHJlYWRNYW5hZ2VyKTsNCi0JCQlpbmNvbWluZ0xpc3RlbmVyLk9uTmV3Q29ubmVjdGlvbigqY29ubmVjdGlvbkFkYXB0ZXIpOw0KLQkJfQ0KLQl9DQotCWNhdGNoIChJT0V4Y2VwdGlvbiYgZSkNCi0Jew0KLQkJLy9jb3VsZCBub3QgZ2V0IGEgbmV3IHN0cmVhbSBmb3Igc29tZSByZWFzb24uIGlnbm9yZSBhbmQgY29udGludWUNCi0JfQ0KLX0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlN2FhYzUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckluY29taW5nU3RyZWFtTW9uaXRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoNCi0gKiBTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgU0VSVkVSSU5DT01JTkdTVFJFQU1NT05JVE9SX0hfDQotI2RlZmluZSBTRVJWRVJJTkNPTUlOR1NUUkVBTU1PTklUT1JfSF8NCi0NCi0NCi1jbGFzcyBTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3I7DQotDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3RocmVhZC9QZXJpb2RpY1J1bm5hYmxlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbVByb3ZpZGVyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJJbmNvbWluZ0Nvbm5lY3Rpb25MaXN0ZW5lci5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyQWRhcHRlck1hbmFnZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlckNvbm5lY3Rpb25BZGFwdGVyLmgiDQotDQotDQotDQotLyoqDQotICogVGhyZWFkIHRoYXQgbW9uaXRvcnMgZm9yIGluY29taW5nIGNvbm5lY3Rpb25zDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgU2VydmVySW5jb21pbmdTdHJlYW1Nb25pdG9yIDogUGVyaW9kaWNSdW5uYWJsZXsNCi1wcml2YXRlOg0KLQlJT1N0cmVhbVByb3ZpZGVyJiBzdHJlYW1Qcm92aWRlcjsNCi0JU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZSYgZW50cnlTdG9yZTsNCi0JU2VydmVySW5jb21pbmdDb25uZWN0aW9uTGlzdGVuZXImIGluY29taW5nTGlzdGVuZXI7DQotDQotCVNlcnZlckFkYXB0ZXJNYW5hZ2VyJiBhZGFwdGVyTGlzdGVuZXI7DQotCU5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXImIHR5cGVNYW5hZ2VyOw0KLQlOVFRocmVhZE1hbmFnZXImIHRocmVhZE1hbmFnZXI7DQotCU5UVGhyZWFkKiBtb25pdG9yVGhyZWFkOw0KLQkNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGUgYSBuZXcgaW5jb21pbmcgc3RyZWFtIG1vbml0b3INCi0JICogQHBhcmFtIHN0cmVhbVByb3ZpZGVyIHRoZSBzdHJlYW0gcHJvdmlkZXIgdG8gcmV0cmlldmUgc3RyZWFtcyBmcm9tDQotCSAqIEBwYXJhbSBlbnRyeVN0b3JlIHRoZSBlbnRyeSBzdG9yZSBmb3IgdGhlIHNlcnZlcg0KLQkgKiBAcGFyYW0gdHJhbnNhY3Rpb25Qb29sIHRyYW5zYWN0aW9uIHBvb2wgZm9yIHRoZSBzZXJ2ZXINCi0JICogQHBhcmFtIGluY29taW5nTGlzdGVuZXIgdGhlIGxpc3RlbmVyIHRoYXQgaXMgbm90aWZpZWQgb2YgbmV3IGNvbm5lY3Rpb25zDQotCSAqIEBwYXJhbSBhZGFwdGVyTGlzdGVuZXIgdGhlIGxpc3RlbmVyIHRoYXQgd2lsbCBsaXN0ZW4gdG8gYWRhcHRlciBldmVudHMNCi0JICogQHBhcmFtIHRocmVhZE1hbmFnZXIgdGhlIHRocmVhZCBtYW5hZ2VyIHVzZWQgdG8gY3JlYXRlIHRoZSBpbmNvbWluZyB0aHJlYWQgYW5kIHByb3ZpZGVkIHRvIHRoZSBDb25uZWN0aW9uIEFkYXB0ZXJzDQotCSAqLw0KLQlTZXJ2ZXJJbmNvbWluZ1N0cmVhbU1vbml0b3IoSU9TdHJlYW1Qcm92aWRlciYgc3RyZWFtUHJvdmlkZXIsIFNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUmIGVudHJ5U3RvcmUsDQotCQkJU2VydmVySW5jb21pbmdDb25uZWN0aW9uTGlzdGVuZXImIGluY29taW5nTGlzdGVuZXIsDQotCQkJU2VydmVyQWRhcHRlck1hbmFnZXImIGFkYXB0ZXJMaXN0ZW5lciwNCi0JCQlOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyJiB0eXBlTWFuYWdlciwgTlRUaHJlYWRNYW5hZ2VyJiB0aHJlYWRNYW5hZ2VyKTsNCi0JDQotCS8qKg0KLQkgKiBTdGFydCB0aGUgbW9uaXRvciB0aHJlYWQNCi0JICovDQotCXZvaWQgc3RhcnQoKTsNCi0JLyoqDQotCSAqIFN0b3AgdGhlIG1vbml0b3IgdGhyZWFkDQotCSAqLw0KLQl2b2lkIHN0b3AoKTsNCi0JDQotCXZvaWQgcnVuKCk7DQotCQ0KLQkNCi0JDQotfTsNCi0NCi0NCi0NCi0NCi0jZW5kaWYgLyogU0VSVkVSSU5DT01JTkdTVFJFQU1NT05JVE9SX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NWU2NTU1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qDQotICogU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc2VydmVyL1NlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaCINCi0NCi1TZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlOjpTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlKFRhYmxlTGlzdGVuZXJNYW5hZ2VyJiBfbGlzdGVuZXJNYW5hZ2VyKSA6DQotCUFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZShfbGlzdGVuZXJNYW5hZ2VyKQ0KLXsNCi0JbmV4dElkID0gKEVudHJ5SWQpMDsNCi19DQotU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZTo6flNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoKQ0KLXsNCi19DQotDQotYm9vbCBTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlOjphZGRFbnRyeShOZXR3b3JrVGFibGVFbnRyeSogbmV3RW50cnkpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5ID0gbmFtZWRFbnRyaWVzW25ld0VudHJ5LT5uYW1lXTsNCi0JDQotCWlmIChlbnRyeSA9PSBOVUxMKQ0KLQl7DQotCQluZXdFbnRyeS0+U2V0SWQobmV4dElkKyspOw0KLQkJaWRFbnRyaWVzW25ld0VudHJ5LT5HZXRJZCgpXSA9IG5ld0VudHJ5Ow0KLQkJbmFtZWRFbnRyaWVzW25ld0VudHJ5LT5uYW1lXSA9IG5ld0VudHJ5Ow0KLQkJcmV0dXJuIHRydWU7DQotCX0NCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0NCi1ib29sIFNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmU6OnVwZGF0ZUVudHJ5KE5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSwgU2VxdWVuY2VOdW1iZXIgc2VxdWVuY2VOdW1iZXIsIEVudHJ5VmFsdWUgdmFsdWUpDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0JcmV0dXJuIGVudHJ5LT5QdXRWYWx1ZShzZXF1ZW5jZU51bWJlciwgdmFsdWUpOw0KLX0NCi0NCi0vKioNCi0gKiBTZW5kIGFsbCBlbnRyaWVzIGluIHRoZSBlbnRyeSBzdG9yZSBhcyBlbnRyeSBhc3NpZ25tZW50cyBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbg0KLSAqIEBwYXJhbSBjb25uZWN0aW9uDQotICogQHRocm93cyBJT0V4Y2VwdGlvbg0KLSAqLw0KLXZvaWQgU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZTo6c2VuZFNlcnZlckhlbGxvKE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pDQotew0KLQlTeW5jaHJvbml6ZWQgc3luYyhMT0NLKTsNCi0Jc3RkOjptYXA8c3RkOjpzdHJpbmcsIE5ldHdvcmtUYWJsZUVudHJ5Kj46Oml0ZXJhdG9yIGl0cjsNCi0JZm9yIChpdHIgPSBuYW1lZEVudHJpZXMuYmVnaW4oKTsgaXRyICE9IG5hbWVkRW50cmllcy5lbmQoKTsgaXRyKyspDQotCXsNCi0JCU5ldHdvcmtUYWJsZUVudHJ5KiBlbnRyeSA9IGl0ci0+c2Vjb25kOw0KLQkJY29ubmVjdGlvbi5zZW5kRW50cnlBc3NpZ25tZW50KCplbnRyeSk7DQotCX0NCi0JY29ubmVjdGlvbi5zZW5kU2VydmVySGVsbG9Db21wbGV0ZSgpOw0KLQljb25uZWN0aW9uLmZsdXNoKCk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zZXJ2ZXIvU2VydmVyTmV0d29ya1RhYmxlRW50cnlTdG9yZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MGFlY2I2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3NlcnZlci9TZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0vKg0KLSAqIFNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgU0VSVkVSTkVUV09SS1RBQkxFRU5UUllTVE9SRV9IXw0KLSNkZWZpbmUgU0VSVkVSTkVUV09SS1RBQkxFRU5UUllTVE9SRV9IXw0KLQ0KLQ0KLWNsYXNzIFNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmU7DQotDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL0Fic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVFbnRyeS5oIg0KLSNpbmNsdWRlICJTeW5jaHJvbml6ZWQuaCINCi0NCi0NCi0NCi0vKioNCi0gKiBUaGUgZW50cnkgc3RvcmUgZm9yIGEge0BsaW5rIE5ldHdvcmtUYWJsZVNlcnZlcn0NCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBTZXJ2ZXJOZXR3b3JrVGFibGVFbnRyeVN0b3JlIDogcHVibGljIEFic3RyYWN0TmV0d29ya1RhYmxlRW50cnlTdG9yZXsNCi1wcml2YXRlOg0KLQlFbnRyeUlkIG5leHRJZDsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGUgYSBuZXcgU2VydmVyIGVudHJ5IHN0b3JlDQotCSAqIEBwYXJhbSB0cmFuc2FjdGlvblBvb2wgdGhlIHRyYW5zYWN0aW9uIHBvb2wNCi0JICogQHBhcmFtIGxpc3RlbmVyTWFuYWdlciB0aGUgbGlzdGVuZXIgbWFuYWdlciB0aGF0IGZpcmVzIGV2ZW50cyBmcm9tIHRoaXMgZW50cnkgc3RvcmUNCi0JICovDQotCVNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoVGFibGVMaXN0ZW5lck1hbmFnZXImIGxpc3RlbmVyTWFuYWdlcik7DQotCXZpcnR1YWwgflNlcnZlck5ldHdvcmtUYWJsZUVudHJ5U3RvcmUoKTsNCi0JDQotcHJvdGVjdGVkOg0KLQlib29sIGFkZEVudHJ5KE5ldHdvcmtUYWJsZUVudHJ5KiBuZXdFbnRyeSk7DQotDQotCWJvb2wgdXBkYXRlRW50cnkoTmV0d29ya1RhYmxlRW50cnkqIGVudHJ5LCBTZXF1ZW5jZU51bWJlciBzZXF1ZW5jZU51bWJlciwgRW50cnlWYWx1ZSB2YWx1ZSk7DQotCQ0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIFNlbmQgYWxsIGVudHJpZXMgaW4gdGhlIGVudHJ5IHN0b3JlIGFzIGVudHJ5IGFzc2lnbm1lbnRzIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uDQotCSAqIEBwYXJhbSBjb25uZWN0aW9uDQotCSAqIEB0aHJvd3MgSU9FeGNlcHRpb24NCi0JICovDQotCXZvaWQgc2VuZFNlcnZlckhlbGxvKE5ldHdvcmtUYWJsZUNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIFNFUlZFUk5FVFdPUktUQUJMRUVOVFJZU1RPUkVfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vRkRJT1N0cmVhbS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vRkRJT1N0cmVhbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiODdiYzcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotLyoNCi0gKiBGRElPU3RyZWFtLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zdHJlYW0vRkRJT1N0cmVhbS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi91dGlsL0lPRXhjZXB0aW9uLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmgiDQotDQotI2luY2x1ZGUgPGVycm5vLmg+DQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpZmRlZiBfV1JTX0tFUk5FTA0KLSNpbmNsdWRlIDxpb2xpYi5oPg0KLSNlbHNlDQotI2luY2x1ZGUgPHVuaXN0ZC5oPg0KLSNlbmRpZg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLQ0KLQ0KLUZESU9TdHJlYW06OkZESU9TdHJlYW0oaW50IF9mZCl7DQotICBmZCA9IF9mZDsNCi0gIC8vCWYgPSBmZG9wZW4oX2ZkLCAicmJ3YiIpOw0KLSAgLy8JaWYoZj09TlVMTCkNCi0gIC8vCQl0aHJvdyBJT0V4Y2VwdGlvbigiQ291bGQgbm90IG9wZW4gc3RyZWFtIGZyb20gZmlsZSBkZXNjcmlwdG9yIiwgZXJybm8pOw0KLX0NCi1GRElPU3RyZWFtOjp+RkRJT1N0cmVhbSgpew0KLQljbG9zZSgpOw0KLX0NCi0NCi1pbnQgRkRJT1N0cmVhbTo6cmVhZCh2b2lkKiBwdHIsIGludCBudW1ieXRlcyl7DQotCWlmKG51bWJ5dGVzPT0wKQ0KLQkJcmV0dXJuIDA7DQotCWNoYXIqIGJ1ZmZlclBvaW50ZXIgPSAoY2hhciopcHRyOw0KLQlpbnQgdG90YWxSZWFkID0gMDsNCi0Jd2hpbGUgKHRvdGFsUmVhZCA8IG51bWJ5dGVzKSB7DQotCQlpbnQgbnVtUmVhZCA9IDo6cmVhZChmZCwgYnVmZmVyUG9pbnRlciwgbnVtYnl0ZXMtdG90YWxSZWFkKTsNCi0JCWlmKG51bVJlYWQgPT0gMCl7DQotCQkJdGhyb3cgRU9GRXhjZXB0aW9uKCk7DQotCQl9DQotCQllbHNlIGlmIChudW1SZWFkIDwgMCkgew0KLQkJCXBlcnJvcigicmVhZCBlcnJvcjogIik7DQotCQkJZmZsdXNoKHN0ZGVycik7DQotCQkJdGhyb3cgSU9FeGNlcHRpb24oIkVycm9yIG9uIEZESU8gcmVhZCIpOw0KLQkJfQ0KLQkJYnVmZmVyUG9pbnRlciArPSBudW1SZWFkOw0KLQkJdG90YWxSZWFkICs9IG51bVJlYWQ7DQotCX0NCi0JcmV0dXJuIHRvdGFsUmVhZDsNCi19DQotaW50IEZESU9TdHJlYW06OndyaXRlKGNvbnN0IHZvaWQqIHB0ciwgaW50IG51bWJ5dGVzKXsNCi0gIGludCBudW1Xcm90ZSA9IDo6d3JpdGUoZmQsIChjaGFyKilwdHIsIG51bWJ5dGVzKTsvL1RPRE86IHRoaXMgaXMgYmFkDQotICAvL2ludCBudW1Xcm90ZSA9IGZ3cml0ZShwdHIsIDEsIG51bWJ5dGVzLCBmKTsNCi0gIGlmKG51bVdyb3RlPT1udW1ieXRlcykNCi0gICAgcmV0dXJuIG51bVdyb3RlOw0KLSAgcGVycm9yKCJ3cml0ZSBlcnJvcjogIik7DQotICBmZmx1c2goc3RkZXJyKTsNCi0gIHRocm93IElPRXhjZXB0aW9uKCJDb3VsZCBub3Qgd3JpdGUgYWxsIGJ5dGVzIHRvIGZkIHN0cmVhbSIpOw0KLQkNCi19DQotdm9pZCBGRElPU3RyZWFtOjpmbHVzaCgpew0KLSAgLy9pZihmZmx1c2goZik9PUVPRikNCi0gIC8vICB0aHJvdyBFT0ZFeGNlcHRpb24oKTsNCi19DQotdm9pZCBGRElPU3RyZWFtOjpjbG9zZSgpew0KLSAgLy9mY2xvc2UoZik7Ly9pZ25vcmUgYW55IGVycm9ycyBjbG9zaW5nDQotICA6OmNsb3NlKGZkKTsNCi19DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9GRElPU3RyZWFtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkNjY0YjcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qDQotICogRkRJT1N0cmVhbS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBGRElPU1RSRUFNX0hfDQotI2RlZmluZSBGRElPU1RSRUFNX0hfDQotDQotDQotDQotY2xhc3MgRkRJT1N0cmVhbTsNCi0NCi0NCi0jaW5jbHVkZSAiSU9TdHJlYW0uaCINCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0NCi0NCi0NCi1jbGFzcyBGRElPU3RyZWFtIDogcHVibGljIElPU3RyZWFtew0KLXByaXZhdGU6DQotICAgIC8vRklMRSogZjsNCi0gICAgaW50IGZkOw0KLXB1YmxpYzoNCi0JRkRJT1N0cmVhbShpbnQgZmQpOw0KLQl2aXJ0dWFsIH5GRElPU3RyZWFtKCk7DQotCWludCByZWFkKHZvaWQqIHB0ciwgaW50IG51bWJ5dGVzKTsNCi0JaW50IHdyaXRlKGNvbnN0IHZvaWQqIHB0ciwgaW50IG51bWJ5dGVzKTsNCi0Jdm9pZCBmbHVzaCgpOw0KLQl2b2lkIGNsb3NlKCk7DQotfTsNCi0NCi0NCi0NCi0jZW5kaWYgLyogRkRJT1NUUkVBTV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0lPU3RyZWFtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZjQyYTUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0lPU3RyZWFtLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKg0KLSAqIElPU3RyZWFtLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjcsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIElPU1RSRUFNX0hfDQotI2RlZmluZSBJT1NUUkVBTV9IXw0KLQ0KLWNsYXNzIElPU3RyZWFtOw0KLQ0KLWNsYXNzIElPU3RyZWFtDQotew0KLXB1YmxpYzoNCi0JdmlydHVhbCB+SU9TdHJlYW0oKQ0KLQl7DQotCX0NCi0JdmlydHVhbCBpbnQgcmVhZCh2b2lkKiBwdHIsIGludCBudW1ieXRlcykgPSAwOw0KLQl2aXJ0dWFsIGludCB3cml0ZShjb25zdCB2b2lkKiBwdHIsIGludCBudW1ieXRlcykgPSAwOw0KLQl2aXJ0dWFsIHZvaWQgZmx1c2goKSA9IDA7DQotCXZpcnR1YWwgdm9pZCBjbG9zZSgpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZiAvKiBJT1NUUkVBTV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbUZhY3RvcnkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbUZhY3RvcnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2YwZjhhYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vSU9TdHJlYW1GYWN0b3J5LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0vKg0KLSAqIElPU3RyZWFtRmFjdG9yeS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJT1NUUkVBTUZBQ1RPUllfSF8NCi0jZGVmaW5lIElPU1RSRUFNRkFDVE9SWV9IXw0KLQ0KLSNpbmNsdWRlICJJT1N0cmVhbS5oIg0KLQ0KLS8qKg0KLSAqIEEgZmFjdG9yeSB0aGF0IHdpbGwgY3JlYXRlIHRoZSBzYW1lIElPU3RyZWFtLiBBIHN0cmVhbSByZXR1cm5lZCBieSB0aGlzIGZhY3Rvcnkgc2hvdWxkIGJlIGNsb3NlZCBiZWZvcmUgY2FsbGluZyBjcmVhdGVTdHJlYW0gYWdhaW4NCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBJT1N0cmVhbUZhY3RvcnkNCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5JT1N0cmVhbUZhY3RvcnkoKQ0KLQl7DQotCX0NCi0JLyoqDQotCSAqIEByZXR1cm4gY3JlYXRlIGEgbmV3IHN0cmVhbQ0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQl2aXJ0dWFsIElPU3RyZWFtKiBjcmVhdGVTdHJlYW0oKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogSU9TVFJFQU1GQUNUT1JZX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0lPU3RyZWFtUHJvdmlkZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9JT1N0cmVhbVByb3ZpZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhNTM0YjIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL0lPU3RyZWFtUHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qDQotICogSU9TdHJlYW1Qcm92aWRlci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJT1NUUkVBTVBST1ZJREVSX0hfDQotI2RlZmluZSBJT1NUUkVBTVBST1ZJREVSX0hfDQotDQotI2luY2x1ZGUgIklPU3RyZWFtLmgiDQotDQotLyoqDQotICogQW4gb2JqZWN0IHRoYXQgd2lsbCBwcm92aWRlIHRoZSBJT1N0cmVhbSBvZiBjbGllbnRzIHRvIGEgTmV0d29ya1RhYmxlIFNlcnZlcg0KLSAqIA0KLSAqIEBhdXRob3IgbXdpbGxzDQotICoNCi0gKi8NCi1jbGFzcyBJT1N0cmVhbVByb3ZpZGVyDQotew0KLXB1YmxpYzoNCi0JdmlydHVhbCB+SU9TdHJlYW1Qcm92aWRlcigpDQotCXsNCi0JfQ0KLQkvKioNCi0JICogDQotCSAqIEByZXR1cm4gYSBuZXcgSU9TdHJlYW0gbm9ybWFsbHkgZnJvbSBhIHNlcnZlcg0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQl2aXJ0dWFsIElPU3RyZWFtKiBhY2NlcHQoKSA9IDA7DQotCS8qKg0KLQkgKiBDbG9zZSB0aGUgc291cmNlIG9mIHRoZSBJT1N0cmVhbXMuIHtAbGluayAjYWNjZXB0KCl9IHNob3VsZCBub3QgYmUgY2FsbGVkIGFmdGVyIHRoaXMgaXMgY2FsbGVkDQotCSAqIEB0aHJvd3MgSU9FeGNlcHRpb24NCi0JICovDQotCXZpcnR1YWwgdm9pZCBjbG9zZSgpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZiAvKiBJT1NUUkVBTVBST1ZJREVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZmMzZTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEyNiArMCwwIEBACi0vKg0KLSAqIFNvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U2VydmVyU3RyZWFtUHJvdmlkZXIuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5oIg0KLQ0KLSNpbmNsdWRlIDxzdHJpbmdzLmg+DQotI2luY2x1ZGUgPGNzdHJpbmc+DQotI2luY2x1ZGUgPGVycm5vLmg+DQotI2lmZGVmIF9XUlNfS0VSTkVMDQotI2luY2x1ZGUgPGluZXRMaWIuaD4NCi0jaW5jbHVkZSA8c2VsZWN0TGliLmg+DQotI2luY2x1ZGUgPHNvY2tMaWIuaD4NCi0jaW5jbHVkZSA8dGFza0xpYi5oPg0KLSNpbmNsdWRlIDx1c3JMaWIuaD4NCi0jaW5jbHVkZSA8aW9MaWIuaD4NCi0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KLSNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPg0KLSNlbHNlDQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCi0jaW5jbHVkZSA8dW5pc3RkLmg+DQotI2lmZGVmIFdJTjMyDQotI2luY2x1ZGUgPHdpbmRvd3MuaD4NCi0jaW5jbHVkZSA8d2luc29jay5oPg0KLSNpbmNsdWRlIDx3aW5zb2NrMi5oPg0KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+DQotI2luY2x1ZGUgPHdzMnRjcGlwLmg+DQotI2Vsc2UNCi0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KLSNpbmNsdWRlIDxzeXMvdW4uaD4NCi0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KLSNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPg0KLSNlbmRpZg0KLSNlbmRpZg0KLQ0KLSNpZm5kZWYgRVJST1INCi0jZGVmaW5lIEVSUk9SIC0xDQotI2VuZGlmDQotDQotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dSU19LRVJORUwpDQotdHlwZWRlZiBpbnQgYWRkcmxlbl90Ow0KLSNlbHNlDQotdHlwZWRlZiBzb2NrbGVuX3QgYWRkcmxlbl90Ow0KLSNlbmRpZg0KLQ0KLQ0KLVNvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyOjpTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcihpbnQgcG9ydCl7DQotCXN0cnVjdCBzb2NrYWRkcl9pbiBzZXJ2ZXJBZGRyOw0KLQlpbnQgc29ja0FkZHJTaXplID0gc2l6ZW9mKHNlcnZlckFkZHIpOw0KLQltZW1zZXQoJnNlcnZlckFkZHIsIDAsIHNvY2tBZGRyU2l6ZSk7DQotDQotI2lmZGVmIF9XUlNfS0VSTkVMDQotCXNlcnZlckFkZHIuc2luX2xlbiA9ICh1X2NoYXIpc29ja0FkZHJTaXplOw0KLSNlbmRpZg0KLQlzZXJ2ZXJBZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KLQlzZXJ2ZXJBZGRyLnNpbl9wb3J0ID0gaHRvbnMocG9ydCk7DQotCXNlcnZlckFkZHIuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7DQotDQotCWlmICgoc2VydmVyU29ja2V0ID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKSkgPT0gRVJST1IpDQotCXsNCi0JCXRocm93IElPRXhjZXB0aW9uKCJFcnJvciBjcmVhdGluZyBzZXJ2ZXIgc29ja2V0IiwgZXJybm8pOw0KLQl9DQotDQotCS8vIFNldCB0aGUgVENQIHNvY2tldCBzbyB0aGF0IGl0IGNhbiBiZSByZXVzZWQgaWYgaXQgaXMgaW4gdGhlIHdhaXQgc3RhdGUuDQotCWludCByZXVzZUFkZHIgPSAxOw0KLQlzZXRzb2Nrb3B0KHNlcnZlclNvY2tldCwgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAoY2hhciAqKSZyZXVzZUFkZHIsIHNpemVvZihyZXVzZUFkZHIpKTsNCi0NCi0JLy8gQmluZCBzb2NrZXQgdG8gbG9jYWwgYWRkcmVzcy4NCi0JaWYgKGJpbmQoc2VydmVyU29ja2V0LCAoc3RydWN0IHNvY2thZGRyICopJnNlcnZlckFkZHIsIHNvY2tBZGRyU2l6ZSkgPT0gRVJST1IpDQotCXsNCi0JCTo6Y2xvc2Uoc2VydmVyU29ja2V0KTsNCi0JCXRocm93IElPRXhjZXB0aW9uKCJDb3VsZCBub3QgYmluZCBzZXJ2ZXIgc29ja2V0IiwgZXJybm8pOw0KLQl9DQotDQotCWlmIChsaXN0ZW4oc2VydmVyU29ja2V0LCAxKSA9PSBFUlJPUikNCi0Jew0KLQkJOjpjbG9zZShzZXJ2ZXJTb2NrZXQpOw0KLQkJdGhyb3cgSU9FeGNlcHRpb24oIkNvdWxkIG5vdCBsaXN0ZW4gb24gc2VydmVyIHNvY2tldCIsIGVycm5vKTsNCi0JfQ0KLX0NCi1Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcjo6flNvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyKCl7DQotCWNsb3NlKCk7DQotfQ0KLQ0KLQ0KLUlPU3RyZWFtKiBTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcjo6YWNjZXB0KCl7DQotCXN0cnVjdCB0aW1ldmFsIHRpbWVvdXQ7DQotCS8vIENoZWNrIGZvciBhIHNodXRkb3duIG9uY2UgcGVyIHNlY29uZA0KLQl0aW1lb3V0LnR2X3NlYyA9IDE7DQotCXRpbWVvdXQudHZfdXNlYyA9IDA7DQotCXdoaWxlICh0cnVlKQ0KLQl7DQotCQlmZF9zZXQgZmRTZXQ7DQotDQotCQlGRF9aRVJPKCZmZFNldCk7DQotCQlGRF9TRVQoc2VydmVyU29ja2V0LCAmZmRTZXQpOw0KLQkJaWYgKHNlbGVjdChGRF9TRVRTSVpFLCAmZmRTZXQsIE5VTEwsIE5VTEwsICZ0aW1lb3V0KSA+IDApDQotCQl7DQotCQkJaWYgKEZEX0lTU0VUKHNlcnZlclNvY2tldCwgJmZkU2V0KSkNCi0JCQl7DQotCQkJCXN0cnVjdCBzb2NrYWRkciBjbGllbnRBZGRyID0gezB9Ow0KLQkJCQlhZGRybGVuX3QgY2xpZW50QWRkclNpemUgPSAwOw0KLQkJCQlpbnQgY29ubmVjdGVkU29ja2V0ID0gOjphY2NlcHQoc2VydmVyU29ja2V0LCAmY2xpZW50QWRkciwgJmNsaWVudEFkZHJTaXplKTsNCi0JCQkJaWYgKGNvbm5lY3RlZFNvY2tldCA9PSBFUlJPUikNCi0JCQkJCXJldHVybiBOVUxMOw0KLQkJCQkNCi0JCQkJLy9pbnQgb24gPSAxOw0KLQkJCQkvL3NldHNvY2tvcHQoY29ubmVjdGVkU29ja2V0LCBJUFBST1RPX1RDUCwgVENQX05PREVMQVksIChjaGFyICopJm9uLCBzaXplb2Yob24pKTsNCi0JCQkJDQotCQkJCXJldHVybiBuZXcgRkRJT1N0cmVhbShjb25uZWN0ZWRTb2NrZXQpOw0KLQkJCX0NCi0JCX0NCi0JfQ0KLQlyZXR1cm4gTlVMTDsNCi19DQotDQotdm9pZCBTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcjo6Y2xvc2UoKXsNCi0JOjpjbG9zZShzZXJ2ZXJTb2NrZXQpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U2VydmVyU3RyZWFtUHJvdmlkZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2NmM2VlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoNCi0gKiBTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBTT0NLRVRTRVJWRVJTVFJFQU1QUk9WSURFUl9IXw0KLSNkZWZpbmUgU09DS0VUU0VSVkVSU1RSRUFNUFJPVklERVJfSF8NCi0NCi0NCi1jbGFzcyBTb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlcjsNCi0NCi0jaW5jbHVkZSAiSU9TdHJlYW0uaCINCi0jaW5jbHVkZSAiSU9TdHJlYW1Qcm92aWRlci5oIg0KLQ0KLQ0KLQ0KLQ0KLWNsYXNzIFNvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyIDogcHVibGljIElPU3RyZWFtUHJvdmlkZXJ7DQotcHJpdmF0ZToNCi0JaW50IHNlcnZlclNvY2tldDsNCi1wdWJsaWM6DQotCVNvY2tldFNlcnZlclN0cmVhbVByb3ZpZGVyKGludCBwb3J0KTsNCi0JdmlydHVhbCB+U29ja2V0U2VydmVyU3RyZWFtUHJvdmlkZXIoKTsNCi0JSU9TdHJlYW0qIGFjY2VwdCgpOw0KLQl2b2lkIGNsb3NlKCk7DQotfTsNCi0NCi0NCi0NCi0NCi0jZW5kaWYgLyogU09DS0VUU0VSVkVSU1RSRUFNUFJPVklERVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtRmFjdG9yeS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtRmFjdG9yeS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMTIwODMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFN0cmVhbUZhY3RvcnkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotLyoNCi0gKiBTb2NrZXRTdHJlYW1GYWN0b3J5LmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAzLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotDQotI2luY2x1ZGUgPGNzdHJpbmc+DQotI2lmZGVmIF9XUlNfS0VSTkVMDQotI2Vsc2UNCi0JI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLQkjaW5jbHVkZSA8c3RkaW8uaD4NCi0JI2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KLQkjaW5jbHVkZSA8dW5pc3RkLmg+DQotCSNpZmRlZiBXSU4zMg0KLQkgICAjaW5jbHVkZSA8d2luc29jay5oPg0KLQkgICAjaW5jbHVkZSA8d2luc29jazIuaD4NCi0JI2Vsc2UNCi0JCSNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQotCQkjaW5jbHVkZSA8c3lzL3VuLmg+DQotICAgICAgICAgICAgICAgICNpbmNsdWRlIDxuZXRkYi5oPg0KLQkJI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCi0JCSNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPg0KLQkjZW5kaWYNCi0jZW5kaWYNCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc3RyZWFtL0ZESU9TdHJlYW0uaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFN0cmVhbUZhY3RvcnkuaCINCi0NCi0NCi1Tb2NrZXRTdHJlYW1GYWN0b3J5OjpTb2NrZXRTdHJlYW1GYWN0b3J5KGNvbnN0IGNoYXIqIF9ob3N0LCBpbnQgX3BvcnQpOmhvc3QoX2hvc3QpLCBwb3J0KF9wb3J0KXt9DQotDQotU29ja2V0U3RyZWFtRmFjdG9yeTo6flNvY2tldFN0cmVhbUZhY3RvcnkoKXt9DQotDQotSU9TdHJlYW0qIFNvY2tldFN0cmVhbUZhY3Rvcnk6OmNyZWF0ZVN0cmVhbSgpew0KLSNpZmRlZiBfV1JTX0tFUk5FTA0KLQkvL2NyaW8gY2xpZW50IG5vdCBzdXBwb3J0ZWQNCi0JcmV0dXJuIE5VTEw7DQotI2Vsc2UNCi0gICAgc3RydWN0IHNvY2thZGRyX2luIHNlcnZfYWRkcjsNCi0gICAgc3RydWN0IGhvc3RlbnQgKnNlcnZlcjsNCi0NCi0gICAgaW50IHNvY2tmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7DQotICAgIGlmIChzb2NrZmQgPCAwKXsNCi0gICAgICAgIC8vZXJyb3IoIkVSUk9SIG9wZW5pbmcgc29ja2V0Iik7DQotICAgICAgICByZXR1cm4gTlVMTDsNCi0gICAgfQ0KLSAgICBzZXJ2ZXIgPSBnZXRob3N0YnluYW1lKGhvc3QpOw0KLSAgICBpZiAoc2VydmVyID09IE5VTEwpIHsNCi0gICAgICAgIC8vZnByaW50ZihzdGRlcnIsIkVSUk9SLCBubyBzdWNoIGhvc3RcbiIpOw0KLSAgICAgICAgcmV0dXJuIE5VTEw7DQotICAgIH0NCi0JbWVtc2V0KCZzZXJ2X2FkZHIsIDAsIHNpemVvZihzZXJ2X2FkZHIpKTsNCi0gICAgc2Vydl9hZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KLSAgICBtZW1jcHkoJnNlcnZfYWRkci5zaW5fYWRkci5zX2FkZHIsIHNlcnZlci0+aF9hZGRyLCBzZXJ2ZXItPmhfbGVuZ3RoKTsNCi0gICAgc2Vydl9hZGRyLnNpbl9wb3J0ID0gaHRvbnMocG9ydCk7DQotICAgIGlmIChjb25uZWN0KHNvY2tmZCwoc3RydWN0IHNvY2thZGRyICopICZzZXJ2X2FkZHIsc2l6ZW9mKHNlcnZfYWRkcikpIDwgMCkgew0KLSAgICAgICAgLy9lcnJvcigiRVJST1IgY29ubmVjdGluZyIpOw0KLSAgICAJcmV0dXJuIE5VTEw7DQotICAgIH0vL1RPRE8gY2xvc2UgZmQgaWYgYW4gZXJyb3Igb2NjdXJlZA0KLQ0KLQkvL2ludCBvbiA9IDE7DQotCS8vc2V0c29ja29wdChzb2NrZmQsIElQUFJPVE9fVENQLCBUQ1BfTk9ERUxBWSwgKGNoYXIgKikmb24sIHNpemVvZihvbikpOw0KLQ0KLQlyZXR1cm4gbmV3IEZESU9TdHJlYW0oc29ja2ZkKTsNCi0jZW5kaWYNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFN0cmVhbUZhY3RvcnkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1GYWN0b3J5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3YTA2YmMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvc3RyZWFtL1NvY2tldFN0cmVhbUZhY3RvcnkuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qDQotICogU29ja2V0U3RyZWFtRmFjdG9yeS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDMsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIFNPQ0tFVFNUUkVBTUZBQ1RPUllfSF8NCi0jZGVmaW5lIFNPQ0tFVFNUUkVBTUZBQ1RPUllfSF8NCi0NCi1jbGFzcyBTb2NrZXRTdHJlYW1GYWN0b3J5Ow0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9zdHJlYW0vSU9TdHJlYW1GYWN0b3J5LmgiDQotI2luY2x1ZGUgPHN0cmluZz4NCi0NCi0vKioNCi0gKiANCi0gKiBAYXV0aG9yIG13aWxscw0KLSAqDQotICovDQotY2xhc3MgU29ja2V0U3RyZWFtRmFjdG9yeSA6IHB1YmxpYyBJT1N0cmVhbUZhY3Rvcnl7DQotcHJpdmF0ZToNCi0JY29uc3QgY2hhciogaG9zdDsNCi0JY29uc3QgaW50IHBvcnQ7DQotDQotcHVibGljOg0KLQlTb2NrZXRTdHJlYW1GYWN0b3J5KGNvbnN0IGNoYXIqIGhvc3QsIGludCBwb3J0KTsNCi0JdmlydHVhbCB+U29ja2V0U3RyZWFtRmFjdG9yeSgpOw0KLQ0KLQlJT1N0cmVhbSogY3JlYXRlU3RyZWFtKCk7DQotDQotfTsNCi0NCi0NCi0NCi0jZW5kaWYgLyogU09DS0VUU1RSRUFNRkFDVE9SWV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE4Y2U5Zi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vKg0KLSAqIFNvY2tldFN0cmVhbXMuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI3LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1GYWN0b3J5LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTZXJ2ZXJTdHJlYW1Qcm92aWRlci5oIg0KLQ0KLQ0KLQ0KLUlPU3RyZWFtRmFjdG9yeSYgU29ja2V0U3RyZWFtczo6bmV3U3RyZWFtRmFjdG9yeShjb25zdCBjaGFyKiBob3N0LCBpbnQgcG9ydCl7DQotCXJldHVybiAqbmV3IFNvY2tldFN0cmVhbUZhY3RvcnkoaG9zdCwgcG9ydCk7DQotfQ0KLQ0KLUlPU3RyZWFtUHJvdmlkZXImIFNvY2tldFN0cmVhbXM6Om5ld1N0cmVhbVByb3ZpZGVyKGludCBwb3J0KXsNCi0JcmV0dXJuICpuZXcgU29ja2V0U2VydmVyU3RyZWFtUHJvdmlkZXIocG9ydCk7DQotfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi9zdHJlYW0vU29ja2V0U3RyZWFtcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODQ3MzIxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3N0cmVhbS9Tb2NrZXRTdHJlYW1zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0vKg0KLSAqIFNvY2tldFN0cmVhbXMuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNywgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgU09DS0VUU1RSRUFNU19IXw0KLSNkZWZpbmUgU09DS0VUU1RSRUFNU19IXw0KLQ0KLQ0KLWNsYXNzIFNvY2tldFN0cmVhbXM7DQotDQotDQotI2luY2x1ZGUgIklPU3RyZWFtRmFjdG9yeS5oIg0KLSNpbmNsdWRlICJJT1N0cmVhbVByb3ZpZGVyLmgiDQotDQotDQotDQotLyoqDQotICogU3RhdGljIGZhY3RvcnkgZm9yIHNvY2tldCBzdHJlYW0gZmFjdG9yaWVzIGFuZCBwcm92aWRlcnMNCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBTb2NrZXRTdHJlYW1zIHsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGUgYSBuZXcgSU9TdHJlYW0gZmFjdG9yeSANCi0JICogQHBhcmFtIGhvc3QNCi0JICogQHBhcmFtIHBvcnQNCi0JICogQHJldHVybiBhIElPU3RyZWFtRmFjdG9yeSB0aGF0IHdpbGwgY3JlYXRlIFNvY2tldCBDb25uZWN0aW9ucyBvbiB0aGUgZ2l2ZW4gaG9zdCBhbmQgcG9ydA0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQlzdGF0aWMgSU9TdHJlYW1GYWN0b3J5JiBuZXdTdHJlYW1GYWN0b3J5KGNvbnN0IGNoYXIqIGhvc3QsIGludCBwb3J0KTsNCi0NCi0JLyoqDQotCSAqIENyZWF0ZSBhIG5ldyBJT1N0cmVhbSBwcm92aWRlcg0KLQkgKiBAcGFyYW0gcG9ydA0KLQkgKiBAcmV0dXJuIGFuIElPU3RyZWFtUHJvdmlkZXIgZm9yIGEgc29ja2V0IHNlcnZlciBvbiB0aGUgZ2l2ZW4gcG9ydA0KLQkgKiBAdGhyb3dzIElPRXhjZXB0aW9uDQotCSAqLw0KLQlzdGF0aWMgSU9TdHJlYW1Qcm92aWRlciYgbmV3U3RyZWFtUHJvdmlkZXIoaW50IHBvcnQpOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIFNPQ0tFVFNUUkVBTVNfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmFnZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9EZWZhdWx0VGhyZWFkTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDdiNzc5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9EZWZhdWx0VGhyZWFkTWFuYWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoNCi0gKiBEZWZhdWx0VGhyZWFkTWFuYWdlci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIxLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBERUZBVUxUVEhSRUFETUFOQUdFUl9IXw0KLSNkZWZpbmUgREVGQVVMVFRIUkVBRE1BTkFHRVJfSF8NCi0NCi1jbGFzcyBEZWZhdWx0VGhyZWFkTWFuYWdlcjsNCi1jbGFzcyBQZXJpb2RpY05UVGhyZWFkOw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvUGVyaW9kaWNSdW5uYWJsZS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvTlRUaHJlYWRNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZC5oIg0KLSNpbmNsdWRlICJUYXNrLmgiDQotDQotDQotDQotDQotY2xhc3MgRGVmYXVsdFRocmVhZE1hbmFnZXIgOiBwdWJsaWMgTlRUaHJlYWRNYW5hZ2Vyew0KLQl2aXJ0dWFsIE5UVGhyZWFkKiBuZXdCbG9ja2luZ1BlcmlvZGljVGhyZWFkKFBlcmlvZGljUnVubmFibGUqIHIsIGNvbnN0IGNoYXIqIG5hbWUpOw0KLX07DQotDQotY2xhc3MgUGVyaW9kaWNOVFRocmVhZCA6IHB1YmxpYyBOVFRocmVhZCB7DQotcHJpdmF0ZToNCi0JY29uc3QgY2hhciogbmFtZTsNCi0JVGFzayogdGhyZWFkOw0KLQlQZXJpb2RpY1J1bm5hYmxlKiByOw0KLQlib29sIHJ1bjsNCi0JaW50IF90YXNrTWFpbigpOw0KLQlzdGF0aWMgaW50IHRhc2tNYWluKFBlcmlvZGljTlRUaHJlYWQqIG8pOw0KLXB1YmxpYzoNCi0JUGVyaW9kaWNOVFRocmVhZChQZXJpb2RpY1J1bm5hYmxlKiByLCBjb25zdCBjaGFyKiBuYW1lKTsNCi0JdmlydHVhbCB+UGVyaW9kaWNOVFRocmVhZCgpOw0KLQl2aXJ0dWFsIHZvaWQgc3RvcCgpOw0KLQl2aXJ0dWFsIGJvb2wgaXNSdW5uaW5nKCk7DQotfTsNCi0NCi0NCi0jZW5kaWYgLyogREVGQVVMVFRIUkVBRE1BTkFHRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmdlci5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmdlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5ZDU0YjEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL0RlZmF1bHRUaHJlYWRNYW5nZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoNCi0gKiBEZWZhdWx0VGhyZWFkTWFuZ2VyLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMSwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvRGVmYXVsdFRocmVhZE1hbmFnZXIuaCINCi0jaW5jbHVkZSA8c3RkaW8uaD4NCi0NCi0NCi1QZXJpb2RpY05UVGhyZWFkOjpQZXJpb2RpY05UVGhyZWFkKFBlcmlvZGljUnVubmFibGUqIF9yLCBjb25zdCBjaGFyKiBfbmFtZSkgOiANCi0JCQluYW1lKF9uYW1lKSwgdGhyZWFkKG5ldyBUYXNrKG5hbWUsIChGVU5DUFRSKVBlcmlvZGljTlRUaHJlYWQ6OnRhc2tNYWluKSksIHIoX3IpLCBydW4odHJ1ZSl7DQotCWZwcmludGYoc3Rkb3V0LCAiU3RhcnRpbmcgdGFzazogJXNcbiIsIG5hbWUpOw0KLQlmZmx1c2goc3Rkb3V0KTsNCi0JdGhyZWFkLT5TdGFydCgoVUlOVDMyKXRoaXMpOw0KLX0NCi0NCi1QZXJpb2RpY05UVGhyZWFkOjp+UGVyaW9kaWNOVFRocmVhZCgpew0KLQkvL1RPRE8gc29tZWhvdyBkbyB0aGlzIGFzeW5jDQotCS8vZGVsZXRlIHRocmVhZDsNCi19DQotaW50IFBlcmlvZGljTlRUaHJlYWQ6OnRhc2tNYWluKFBlcmlvZGljTlRUaHJlYWQqIG8pey8vc3RhdGljIHdyYXBwZXINCi0JcmV0dXJuIG8tPl90YXNrTWFpbigpOw0KLX0NCi1pbnQgUGVyaW9kaWNOVFRocmVhZDo6X3Rhc2tNYWluKCl7DQotCXRyeSB7DQotCQl3aGlsZShydW4pew0KLQkJCXItPnJ1bigpOw0KLQkJfQ0KLQl9IGNhdGNoICguLi4pIHsNCi0JCWZwcmludGYoc3Rkb3V0LCAiVGFzayBleGl0ZWQgd2l0aCB1bmNhdWdodCBleGNlcHRpb24gJXNcbiIsIG5hbWUpOw0KLQkJZmZsdXNoKHN0ZG91dCk7DQotCQlyZXR1cm4gMTsNCi0JfQ0KLQlmcHJpbnRmKHN0ZG91dCwgIlRhc2sgZXhpdGVkIG5vcm1hbGx5OiAlc1xuIiwgbmFtZSk7DQotCWZmbHVzaChzdGRvdXQpOw0KLQlyZXR1cm4gMDsNCi19DQotdm9pZCBQZXJpb2RpY05UVGhyZWFkOjpzdG9wKCkgew0KLQlydW4gPSBmYWxzZTsNCi0JLy9UT0RPIHRocmVhZC0+U3RvcCgpOw0KLX0NCi1ib29sIFBlcmlvZGljTlRUaHJlYWQ6OmlzUnVubmluZygpIHsNCi0JcmV0dXJuIHRocmVhZC0+SXNSZWFkeSgpOw0KLX0NCi0NCi1OVFRocmVhZCogRGVmYXVsdFRocmVhZE1hbmFnZXI6Om5ld0Jsb2NraW5nUGVyaW9kaWNUaHJlYWQoUGVyaW9kaWNSdW5uYWJsZSogciwgY29uc3QgY2hhciogbmFtZSkgew0KLQlyZXR1cm4gbmV3IFBlcmlvZGljTlRUaHJlYWQociwgbmFtZSk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NDQwYjMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKg0KLSAqIE5UVGhyZWFkLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjEsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5UVEhSRUFEX0hfDQotI2RlZmluZSBOVFRIUkVBRF9IXw0KLQ0KLS8qKg0KLSAqIFJlcHJlc2VudHMgYSB0aHJlYWQgaW4gdGhlIG5ldHdvcmsgdGFibGVzIHN5c3RlbQ0KLSAqIEBhdXRob3IgbXdpbGxzDQotICoNCi0gKi8NCi1jbGFzcyBOVFRocmVhZA0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgfk5UVGhyZWFkKCkNCi0Jew0KLQl9DQotCTsNCi0JLyoqDQotCSAqIHN0b3AgdGhlIHRocmVhZA0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIHN0b3AoKSA9IDA7DQotDQotCS8qKg0KLQkgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHRocmVhZCBpcyBydW5uaW5nDQotCSAqLw0KLQl2aXJ0dWFsIGJvb2wgaXNSdW5uaW5nKCkgPSAwOw0KLX07DQotDQotI2VuZGlmIC8qIE5UVEhSRUFEX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkTWFuYWdlci5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL05UVGhyZWFkTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjZjODQ2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9OVFRocmVhZE1hbmFnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qDQotICogTlRUaHJlYWRNYW5hZ2VyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjEsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5UVEhSRUFETUFOQUdFUl9IXw0KLSNkZWZpbmUgTlRUSFJFQURNQU5BR0VSX0hfDQotDQotY2xhc3MgTlRUaHJlYWRNYW5hZ2VyOw0KLQ0KLSNpbmNsdWRlICJOVFRocmVhZC5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90aHJlYWQvUGVyaW9kaWNSdW5uYWJsZS5oIg0KLQ0KLS8qKg0KLSAqIEEgdGhyZWFkIG1hbmFnZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBvYnRhaW4gbmV3IHRocmVhZHMNCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBOVFRocmVhZE1hbmFnZXINCi17DQotcHVibGljOg0KLQl2aXJ0dWFsIH5OVFRocmVhZE1hbmFnZXIoKQ0KLQl7DQotCX0NCi0JLyoqDQotCSAqIEBwYXJhbSByDQotCSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSB0aHJlYWQNCi0JICogQHJldHVybiBhIHRocmVhZCB0aGF0IHdpbGwgcnVuIHRoZSBwcm92aWRlZCBydW5uYWJsZSByZXBlYXRlZGx5IHdpdGggdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgcnVubmFibGUgd2lsbCBibG9jaw0KLQkgKi8NCi0JdmlydHVhbCBOVFRocmVhZCogbmV3QmxvY2tpbmdQZXJpb2RpY1RocmVhZChQZXJpb2RpY1J1bm5hYmxlKiByLCBjb25zdCBjaGFyKiBuYW1lKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogTlRUSFJFQURNQU5BR0VSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL1BlcmlvZGljUnVubmFibGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3RocmVhZC9QZXJpb2RpY1J1bm5hYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmNmU3OWMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdGhyZWFkL1BlcmlvZGljUnVubmFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qDQotICogUGVyaW9kaWNSdW5uYWJsZS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIxLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBQRVJJT0RJQ1JVTk5BQkxFX0hfDQotI2RlZmluZSBQRVJJT0RJQ1JVTk5BQkxFX0hfDQotDQotLyoqDQotICogQSBydW5uYWJsZSB3aGVyZSB0aGUgcnVuIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkgDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgUGVyaW9kaWNSdW5uYWJsZQ0KLXsNCi1wdWJsaWM6DQotCXZpcnR1YWwgflBlcmlvZGljUnVubmFibGUoKQ0KLQl7DQotCX0NCi0JLyoqDQotCSAqIHRoZSBtZXRob2QgdGhhdCB3aWxsIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkgb24gYSB0aHJlYWQNCi0JICogDQotCSAqIEB0aHJvd3MgSW50ZXJydXB0ZWRFeGNlcHRpb24gdGhyb3duIHdoZW4gdGhlIHRocmVhZCBpcyBzdXBwb3NlZCB0byBiZSBpbnRlcnJ1cHRlZCBhbmQgc3RvcCAoaW1wbGVtZW50ZXJzIHNob3VsZCBhbHdheXMgbGV0IHRoaXMgZXhjZXB0aW9uIGZhbGwgdGhyb3VnaCkNCi0JICovDQotCXZpcnR1YWwgdm9pZCBydW4oKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogUEVSSU9ESUNSVU5OQUJMRV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVhMzZkZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RGF0YS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0vKg0KLSAqIEFycmF5RGF0YS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMTQsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9BcnJheURhdGEuaCINCi0jaWZuZGVmIF9XUlNfS0VSTkVMDQotI2luY2x1ZGUgPHN0ZGludC5oPg0KLSNlbmRpZg0KLQ0KLSNpbmNsdWRlIDxjc3RyaW5nPg0KLSNpbmNsdWRlIDxzdGRsaWIuaD4NCi0jaW5jbHVkZSA8bWVtb3J5Pg0KLQ0KLUFycmF5RGF0YTo6QXJyYXlEYXRhKEFycmF5RW50cnlUeXBlJiB0eXBlKSA6IENvbXBsZXhEYXRhKHR5cGUpLCBtX2RhdGFfdHlwZSh0eXBlKXsNCi0JbV9zaXplID0gMDsNCi0JZGF0YSA9IE5VTEw7DQotfQ0KLQ0KLUVudHJ5VmFsdWUgQXJyYXlEYXRhOjpfZ2V0KHVuc2lnbmVkIGludCBpbmRleCl7Ly9UT0RPIGJvdW5kcyBjaGVja2luZw0KLQlyZXR1cm4gZGF0YVtpbmRleF07DQotfQ0KLQ0KLXZvaWQgQXJyYXlEYXRhOjpfc2V0KHVuc2lnbmVkIGludCBpbmRleCwgRW50cnlWYWx1ZSB2YWx1ZSl7Ly9UT0RPIGJvdW5kcyBjaGVja2luZw0KLQltX2RhdGFfdHlwZS5kZWxldGVFbGVtZW50KGRhdGFbaW5kZXhdKTsNCi0JZGF0YVtpbmRleF0gPSBtX2RhdGFfdHlwZS5jb3B5RWxlbWVudCh2YWx1ZSk7DQotfQ0KLQ0KLXZvaWQgQXJyYXlEYXRhOjpfYWRkKEVudHJ5VmFsdWUgdmFsdWUpew0KLQlzZXRTaXplKHNpemUoKSsxKTsNCi0JZGF0YVtzaXplKCktMV0gPSBtX2RhdGFfdHlwZS5jb3B5RWxlbWVudCh2YWx1ZSk7DQotfQ0KLQ0KLXZvaWQgQXJyYXlEYXRhOjpyZW1vdmUodW5zaWduZWQgaW50IGluZGV4KXsNCi0JLy9pZihpbmRleDwwIHx8IGluZGV4Pj1zaXplKCkpDQotCS8vCXRocm93IEluZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24oKTsvL1RPRE8gYm91bmRzIGNoZWNrDQotCW1fZGF0YV90eXBlLmRlbGV0ZUVsZW1lbnQoZGF0YVtpbmRleF0pOw0KLQlFbnRyeVZhbHVlIG51bGxWYWx1ZSA9IHswfTsNCi0JZGF0YVtpbmRleF0gPSBudWxsVmFsdWU7DQotCWlmKGluZGV4IDwgc2l6ZSgpLTEpew0KLQkJbWVtY3B5KGRhdGEraW5kZXgsIGRhdGEraW5kZXgrMSwgKHNpemUoKS1pbmRleC0xKSAqIHNpemVvZihFbnRyeVZhbHVlKSk7DQotCX0NCi0Jc2V0U2l6ZShzaXplKCktMSk7DQotfQ0KLXZvaWQgQXJyYXlEYXRhOjpzZXRTaXplKHVuc2lnbmVkIGludCBuZXdTaXplKXsNCi0JaWYobmV3U2l6ZT09bV9zaXplKS8vVE9ETyBib3VuZCBjaGVjayBncmVhdGVyIHRoYW4gbWF4IHNpemUNCi0JCXJldHVybjsNCi0JRW50cnlWYWx1ZSogbmV3QXJyYXkgPSAoRW50cnlWYWx1ZSopbWFsbG9jKG5ld1NpemUqc2l6ZW9mKEVudHJ5VmFsdWUpKTsvL1RPRE8gY2FjaGUgYXJyYXlzDQotCWlmKG5ld1NpemU8bV9zaXplKXsNCi0JCW1lbWNweShuZXdBcnJheSwgZGF0YSwgbmV3U2l6ZSAqIHNpemVvZihFbnRyeVZhbHVlKSk7DQotCQlmb3IodW5zaWduZWQgaW50IGkgPSBuZXdTaXplOyBpPG1fc2l6ZTsgKytpKQ0KLQkJCW1fZGF0YV90eXBlLmRlbGV0ZUVsZW1lbnQoZGF0YVtpXSk7DQotCX0NCi0JZWxzZXsNCi0JICBpZihkYXRhIT1OVUxMKQ0KLQkJbWVtY3B5KG5ld0FycmF5LCBkYXRhLCBtX3NpemUgKiBzaXplb2YoRW50cnlWYWx1ZSkpOw0KLQkgIGVsc2UNCi0JICAgIG1fc2l6ZSA9IDA7Ly9lbnN1cmUgdGhhdCB0aGUgY3VycmVudCBzaXplIGlzIGFjdHVhbGx5IDAgb3RoZXJ3aXNlIHdpbGwgZW5kIHVwIHdpdGggdW5pbml0aWFsaXplZCB2YWx1ZXMgaW4gdGhlIGFycmF5DQotCSAgRW50cnlWYWx1ZSBudWxsVmFsdWUgPSB7MH07DQotCSAgZm9yKHVuc2lnbmVkIGludCBpID0gbV9zaXplOyBpPG5ld1NpemU7ICsraSkNCi0JICAgIG5ld0FycmF5W2ldID0gbnVsbFZhbHVlOw0KLQl9DQotCWlmKGRhdGEhPU5VTEwpDQotCQlmcmVlKGRhdGEpOw0KLQlkYXRhID0gbmV3QXJyYXk7DQotCW1fc2l6ZSA9IG5ld1NpemU7DQotfQ0KLXVuc2lnbmVkIGludCBBcnJheURhdGE6OnNpemUoKXsNCi0JcmV0dXJuIG1fc2l6ZTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9BcnJheURhdGEuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlEYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmZDQ2ZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9BcnJheURhdGEuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLS8qDQotICogQXJyYXlEYXRhLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMTQsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIEFSUkFZREFUQV9IXw0KLSNkZWZpbmUgQVJSQVlEQVRBX0hfDQotDQotY2xhc3MgQXJyYXlEYXRhOw0KLQ0KLSNpbmNsdWRlICJBcnJheUVudHJ5VHlwZS5oIg0KLSNpbmNsdWRlICJDb21wbGV4RGF0YS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi9OZXR3b3JrVGFibGVFbnRyeS5oIg0KLQ0KLS8qKg0KLSAqIERlZmluZXMgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGZvciBhbiBhcnJheS4gDQotICovDQotY2xhc3MgQXJyYXlEYXRhIDogcHVibGljIENvbXBsZXhEYXRhew0KLXByaXZhdGU6DQotICAgIEFycmF5RW50cnlUeXBlJiBtX2RhdGFfdHlwZTsNCi0gICAgdW5zaWduZWQgaW50IG1fc2l6ZTsNCi0gICAgRW50cnlWYWx1ZSogZGF0YTsNCi1wdWJsaWM6DQotICAgIC8qKg0KLSAgICAgKiBDcmVhdGVzIGEgbmV3IEFycmF5RGF0YSBvZiB0aGUgZ2l2ZW4gdHlwZS4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSB0eXBlIFRoZSBBcnJheUVudHJ5VHlwZSByZXByZXNlbnRpbmcgdGhlIHR5cGUNCi0gICAgICogCWluZm9ybWF0aW9uIHRoYXQgdGhpcyBBcnJheURhdGEgc2hvdWxkIHNhdGlzZnkuDQotICAgICAqLw0KLSAgICBBcnJheURhdGEoQXJyYXlFbnRyeVR5cGUmIHR5cGUpOw0KLSAgICANCi1wcm90ZWN0ZWQ6DQotICAgIC8qKg0KLSAgICAgKiBHZXRzIHRoZSB2YWx1ZSBzdG9yZWQgYXQgdGhlIHNwZWNpZmllZCBpbmRleC4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSBpbmRleCBUaGUgYXJyYXkgaW5kZXggdG8gcmV0cmlldmUuDQotICAgICAqLw0KLSAgICBFbnRyeVZhbHVlIF9nZXQodW5zaWduZWQgaW50IGluZGV4KTsNCi0gICAgDQotICAgIC8qKg0KLSAgICAgKiBVcGRhdGVzIHRoZSB2YWx1ZSBzdG9yZWQgYXQgdGhlIHNwZWNpZmllZCBpbmRleC4NCi0gICAgICogDQotICAgICAqIFRoZSB2YWx1ZSBjdXJyZW50bHkgc3RvcmVkIGF0IHRoZSBnaXZlbiBpbmRleCBpcyBkZWxldGVkLg0KLSAgICAgKiANCi0gICAgICogQHBhcmFtIGluZGV4IFRoZSBhcnJheSBpbmRleCB0byB1cGRhdGUuDQotICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc3RvcmUuIFRoaXMgdmFsdWUgbXVzdCBoYXZlDQotICAgICAqIAl0aGUgc2FtZSB0eXBlIGFzIHRoZSBBcnJheUVudHJ5VHlwZSBpbmRpY2F0ZXMuDQotICAgICAqLw0KLSAgICB2b2lkIF9zZXQodW5zaWduZWQgaW50IGluZGV4LCBFbnRyeVZhbHVlIHZhbHVlKTsNCi0gICAgDQotICAgIC8qKg0KLSAgICAgKiBBcHBlbmRzIHRoZSBnaXZlbiB2YWx1ZSB0byB0aGUgZW5kIG9mIHRoaXMgYXJyYXkuDQotICAgICAqIA0KLSAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHN0b3JlLiBUaGlzIHZhbHVlIG11c3QgaGF2ZQ0KLSAgICAgKiAJdGhlIHNhbWUgdHlwZSBhcyB0aGUgQXJyYXlFbnRyeVR5cGUgaW5kaWNhdGVzLg0KLSAgICAgKi8NCi0gICAgdm9pZCBfYWRkKEVudHJ5VmFsdWUgdmFsdWUpOw0KLSAgICANCi1wdWJsaWM6DQotICAgIC8qKg0KLSAgICAgKiBSZW1vdmVzIGFuZCBkZWxldGVzIHRoZSB2YWx1ZSBzdG9yZWQgYXQgdGhlIHNwZWNpZmllZCBpbmRleC4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIHZhbHVlIHRvIHJlbW92ZS4NCi0gICAgICovDQotICAgIHZvaWQgcmVtb3ZlKHVuc2lnbmVkIGludCBpbmRleCk7DQotICAgIA0KLSAgICAvKioNCi0gICAgICogU2V0cyB0aGUgbmV3IHNpemUgb2YgdGhpcyBhcnJheSBkYXRhIHN0cnVjdHVyZS4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSBzaXplIFRoZSBuZXcgc2l6ZSB0aGF0IHRoaXMgYXJyYXkgc2hvdWxkIGFzc3VtZS4NCi0gICAgICovDQotICAgIHZvaWQgc2V0U2l6ZSh1bnNpZ25lZCBpbnQgc2l6ZSk7DQotICAgIA0KLSAgICAvKioNCi0gICAgICogR2V0cyB0aGUgY3VycmVudCBzaXplIG9mIHRoaXMgYXJyYXkgZGF0YSBzdHJ1Y3R1cmUuDQotICAgICAqIA0KLSAgICAgKiBAcmV0dXJuIFRoZSBjdXJyZW50IG51bWJlciBvZiBlbGVtZW50cyB0aGF0IHRoaXMgYXJyYXkgbWF5IGNvbnRhaW4uDQotICAgICAqLw0KLSAgICB1bnNpZ25lZCBpbnQgc2l6ZSgpOw0KLQ0KLSAgICBmcmllbmQgY2xhc3MgQXJyYXlFbnRyeVR5cGU7DQotfTsNCi0NCi0NCi0NCi0jZW5kaWYgLyogQVJSQVlEQVRBX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9BcnJheUVudHJ5VHlwZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzYyYzQ4YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwNyArMCwwIEBACi0vKg0KLSAqIEFycmF5RW50cnlUeXBlLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAxNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmgiDQotDQotQXJyYXlFbnRyeVR5cGU6OkFycmF5RW50cnlUeXBlKFR5cGVJZCBpZCwgTmV0d29ya1RhYmxlRW50cnlUeXBlJiBlbGVtZW50VHlwZSkNCi0JOiBDb21wbGV4RW50cnlUeXBlKGlkLCAiQXJyYXkiKSwgbV9lbGVtZW50VHlwZShlbGVtZW50VHlwZSl7IC8vVE9ETyBzdXBlcihpZCwgIkFycmF5IG9mIFsiICsgZWxlbWVudFR5cGUubmFtZSArICJdIik7DQotfQ0KLQ0KLUVudHJ5VmFsdWUgQXJyYXlFbnRyeVR5cGU6OmNvcHlFbGVtZW50KEVudHJ5VmFsdWUgdmFsdWUpew0KLSAgcmV0dXJuIG1fZWxlbWVudFR5cGUuY29weVZhbHVlKHZhbHVlKTsNCi19DQotdm9pZCBBcnJheUVudHJ5VHlwZTo6ZGVsZXRlRWxlbWVudChFbnRyeVZhbHVlIHZhbHVlKXsNCi0gIG1fZWxlbWVudFR5cGUuZGVsZXRlVmFsdWUodmFsdWUpOw0KLX0NCi0NCi0NCi12b2lkIEFycmF5RW50cnlUeXBlOjpzZW5kVmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSwgRGF0YUlPU3RyZWFtJiBvcykgew0KLQlBcnJheUVudHJ5RGF0YSogZGF0YUFycmF5ID0gKEFycmF5RW50cnlEYXRhKikgdmFsdWUucHRyOw0KLQkvKmlmIChkYXRhQXJyYXktPmxlbmd0aCA+IDI1NSkgey8vVE9ETyB0aHJvdyBiZXR0ZXIgZXhjZXB0aW9uDQotCQl0aHJvdyBJT0V4Y2VwdGlvbigiQ2Fubm90IHdyaXRlICIgKyB2YWx1ZSArICIgYXMgIiArIG5hbWUgKyAiLiBBcnJheXMgaGF2ZSBhIG1heCBsZW5ndGggb2YgMjU1IHZhbHVlcyIpOw0KLQl9Ki8NCi0Jb3Mud3JpdGVCeXRlKGRhdGFBcnJheS0+bGVuZ3RoKTsNCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhQXJyYXktPmxlbmd0aDsgKytpKSB7DQotCQltX2VsZW1lbnRUeXBlLnNlbmRWYWx1ZShkYXRhQXJyYXktPmFycmF5W2ldLCBvcyk7DQotCX0NCi19DQotDQotRW50cnlWYWx1ZSBBcnJheUVudHJ5VHlwZTo6cmVhZFZhbHVlKERhdGFJT1N0cmVhbSYgaXMpIHsNCi0JdWludDhfdCBsZW5ndGggPSBpcy5yZWFkQnl0ZSgpOw0KLQlFbnRyeVZhbHVlKiBhcnJheSA9IChFbnRyeVZhbHVlKiltYWxsb2MobGVuZ3RoKnNpemVvZihFbnRyeVZhbHVlKSk7Ly9UT0RPIGNhY2hlIG9iamVjdCBhcnJheXMNCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgew0KLQkJYXJyYXlbaV0gPSBtX2VsZW1lbnRUeXBlLnJlYWRWYWx1ZShpcyk7DQotCX0NCi0JDQotCUFycmF5RW50cnlEYXRhKiBkYXRhQXJyYXkgPSAoQXJyYXlFbnRyeURhdGEqKW1hbGxvYyhzaXplb2YoQXJyYXlFbnRyeURhdGEpKTsNCi0JZGF0YUFycmF5LT5sZW5ndGggPSBsZW5ndGg7DQotCWRhdGFBcnJheS0+YXJyYXkgPSBhcnJheTsNCi0JDQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUucHRyID0gZGF0YUFycmF5Ow0KLQlyZXR1cm4gZVZhbHVlOw0KLX0NCi0NCi1FbnRyeVZhbHVlIEFycmF5RW50cnlUeXBlOjpjb3B5VmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSl7DQotCUFycmF5RW50cnlEYXRhKiBvdGhlckRhdGFBcnJheSA9IChBcnJheUVudHJ5RGF0YSopIHZhbHVlLnB0cjsNCi0NCi0JRW50cnlWYWx1ZSogYXJyYXkgPSAoRW50cnlWYWx1ZSopbWFsbG9jKG90aGVyRGF0YUFycmF5LT5sZW5ndGgqc2l6ZW9mKEVudHJ5VmFsdWUpKTsvL1RPRE8gY2FjaGUgb2JqZWN0IGFycmF5cw0KLQlmb3IgKGludCBpID0gMDsgaSA8IG90aGVyRGF0YUFycmF5LT5sZW5ndGg7ICsraSkgew0KLQkJYXJyYXlbaV0gPSBtX2VsZW1lbnRUeXBlLmNvcHlWYWx1ZShvdGhlckRhdGFBcnJheS0+YXJyYXlbaV0pOw0KLQl9DQotCQ0KLQlBcnJheUVudHJ5RGF0YSogZGF0YUFycmF5ID0gKEFycmF5RW50cnlEYXRhKiltYWxsb2Moc2l6ZW9mKEFycmF5RW50cnlEYXRhKSk7DQotCWRhdGFBcnJheS0+bGVuZ3RoID0gb3RoZXJEYXRhQXJyYXktPmxlbmd0aDsNCi0JZGF0YUFycmF5LT5hcnJheSA9IGFycmF5Ow0KLQkNCi0JRW50cnlWYWx1ZSBlVmFsdWU7DQotCWVWYWx1ZS5wdHIgPSBkYXRhQXJyYXk7DQotCXJldHVybiBlVmFsdWU7DQotfQ0KLXZvaWQgQXJyYXlFbnRyeVR5cGU6OmRlbGV0ZVZhbHVlKEVudHJ5VmFsdWUgdmFsdWUpew0KLQlBcnJheUVudHJ5RGF0YSogZGF0YUFycmF5ID0gKEFycmF5RW50cnlEYXRhKikgdmFsdWUucHRyOw0KLQlpZihkYXRhQXJyYXkhPU5VTEwpew0KLQkgIGZvciAoaW50IGkgPSAwOyBpIDwgZGF0YUFycmF5LT5sZW5ndGg7ICsraSkgew0KLQkgICAgbV9lbGVtZW50VHlwZS5kZWxldGVWYWx1ZShkYXRhQXJyYXktPmFycmF5W2ldKTsNCi0JICB9DQotCSAgZnJlZShkYXRhQXJyYXktPmFycmF5KTsNCi0JICBmcmVlKGRhdGFBcnJheSk7DQotCX0NCi19DQotDQotRW50cnlWYWx1ZSBBcnJheUVudHJ5VHlwZTo6aW50ZXJuYWxpemVWYWx1ZShzdGQ6OnN0cmluZyYga2V5LCBDb21wbGV4RGF0YSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbiwgRW50cnlWYWx1ZSBjdXJyZW50SW50ZXJhbFZhbHVlKSB7DQotCS8vIFRPRE86IEFyZ3VtZW50ICdrZXknIGFwcGVhcnMgdW51c2VkLg0KLQlBcnJheURhdGEmIGV4dGVybmFsQXJyYXlEYXRhID0gKEFycmF5RGF0YSYpZXh0ZXJuYWxSZXByZXNlbnRhdGlvbjsNCi0JQXJyYXlFbnRyeURhdGEqIGludGVybmFsQXJyYXkgPSAoQXJyYXlFbnRyeURhdGEqKSBjdXJyZW50SW50ZXJhbFZhbHVlLnB0cjsNCi0JaWYoaW50ZXJuYWxBcnJheSAhPSBOVUxMICYmIGludGVybmFsQXJyYXktPmxlbmd0aD09ZXh0ZXJuYWxBcnJheURhdGEuc2l6ZSgpKXsNCi0JCWZvcihpbnQgaSA9IDA7IGk8aW50ZXJuYWxBcnJheS0+bGVuZ3RoOyArK2kpew0KLQkJCW1fZWxlbWVudFR5cGUuZGVsZXRlVmFsdWUoaW50ZXJuYWxBcnJheS0+YXJyYXlbaV0pOw0KLQkJCWludGVybmFsQXJyYXktPmFycmF5W2ldID0gbV9lbGVtZW50VHlwZS5jb3B5VmFsdWUoZXh0ZXJuYWxBcnJheURhdGEuX2dldChpKSk7DQotCQl9DQotCQlyZXR1cm4gY3VycmVudEludGVyYWxWYWx1ZTsNCi0JfQ0KLQllbHNlew0KLQkJaW50ZXJuYWxBcnJheSA9IChBcnJheUVudHJ5RGF0YSopbWFsbG9jKHNpemVvZihBcnJheUVudHJ5RGF0YSkpOw0KLQkJaW50ZXJuYWxBcnJheS0+YXJyYXkgPSAoRW50cnlWYWx1ZSopbWFsbG9jKGV4dGVybmFsQXJyYXlEYXRhLnNpemUoKSpzaXplb2YoRW50cnlWYWx1ZSkpOy8vVE9ETyBjYWNoZSBvYmplY3QgYXJyYXlzDQotCQlpbnRlcm5hbEFycmF5LT5sZW5ndGggPSBleHRlcm5hbEFycmF5RGF0YS5zaXplKCk7DQotCQlmb3IgKGludCBpID0gMDsgaSA8IGludGVybmFsQXJyYXktPmxlbmd0aDsgKytpKSB7DQotCQkJaW50ZXJuYWxBcnJheS0+YXJyYXlbaV0gPSBtX2VsZW1lbnRUeXBlLmNvcHlWYWx1ZShleHRlcm5hbEFycmF5RGF0YS5fZ2V0KGkpKTsNCi0JCX0NCi0JCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQkJZVZhbHVlLnB0ciA9IGludGVybmFsQXJyYXk7DQotCQlyZXR1cm4gZVZhbHVlOw0KLQl9DQotfQ0KLQ0KLXZvaWQgQXJyYXlFbnRyeVR5cGU6OmV4cG9ydFZhbHVlKHN0ZDo6c3RyaW5nJiBrZXksIEVudHJ5VmFsdWUgaW50ZXJuYWxEYXRhLCBDb21wbGV4RGF0YSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbikgew0KLQlBcnJheUVudHJ5RGF0YSogaW50ZXJuYWxBcnJheSA9IChBcnJheUVudHJ5RGF0YSopIGludGVybmFsRGF0YS5wdHI7DQotCUFycmF5RGF0YSYgZXh0ZXJuYWxBcnJheURhdGEgPSAoQXJyYXlEYXRhJilleHRlcm5hbFJlcHJlc2VudGF0aW9uOw0KLQlleHRlcm5hbEFycmF5RGF0YS5zZXRTaXplKGludGVybmFsQXJyYXktPmxlbmd0aCk7DQotCWZvcihpbnQgaSA9IDA7IGk8aW50ZXJuYWxBcnJheS0+bGVuZ3RoOyArK2kpew0KLQkJZXh0ZXJuYWxBcnJheURhdGEuX3NldChpLCBtX2VsZW1lbnRUeXBlLmNvcHlWYWx1ZShpbnRlcm5hbEFycmF5LT5hcnJheVtpXSkpOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlFbnRyeVR5cGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQXJyYXlFbnRyeVR5cGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdlNzg3NS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotLyoNCi0gKiBBcnJheUVudHJ5VHlwZS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDE0LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBBUlJBWUVOVFJZVFlQRV9IXw0KLSNkZWZpbmUgQVJSQVlFTlRSWVRZUEVfSF8NCi0NCi0jaW5jbHVkZSA8c3RkbGliLmg+DQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2lmbmRlZiBfV1JTX0tFUk5FTA0KLSNpbmNsdWRlIDxzdGRpbnQuaD4NCi0jZW5kaWYNCi0NCi1jbGFzcyBBcnJheUVudHJ5VHlwZTsNCi0NCi0jaW5jbHVkZSAiQXJyYXlEYXRhLmgiDQotI2luY2x1ZGUgIkNvbXBsZXhFbnRyeVR5cGUuaCINCi0NCi1zdHJ1Y3QgQXJyYXlFbnRyeURhdGF7DQotCXVpbnQ4X3QgbGVuZ3RoOw0KLQlFbnRyeVZhbHVlKiBhcnJheTsNCi19Ow0KLS8qKg0KLSAqIFJlcHJlc2VudHMgdGhlIHNpemUgYW5kIGNvbnRlbnRzIG9mIGFuIGFycmF5Lg0KLSAqLw0KLXR5cGVkZWYgc3RydWN0IEFycmF5RW50cnlEYXRhIEFycmF5RW50cnlEYXRhOw0KLQ0KLS8qKg0KLSAqIFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgYW4gYXJyYXkgZW50cnkgdmFsdWUuDQotICovDQotY2xhc3MgQXJyYXlFbnRyeVR5cGUgOiBwdWJsaWMgQ29tcGxleEVudHJ5VHlwZSB7Ly9UT0RPIGFsbG93IGZvciBhcnJheSBvZiBjb21wbGV4IHR5cGUNCi1wcml2YXRlOg0KLSAgICBOZXR3b3JrVGFibGVFbnRyeVR5cGUmIG1fZWxlbWVudFR5cGU7DQotICAgIA0KLXB1YmxpYzoNCi0gICAgLyoqDQotICAgICAqIENyZWF0ZXMgYSBuZXcgQXJyYXlFbnRyeVR5cGUuDQotICAgICAqIA0KLSAgICAgKiBAcGFyYW0gaWQgVGhlIElEIHdoaWNoIGlkZW50aWZpZXMgdGhpcyB0eXBlIHRvIG90aGVyIG5vZGVzIG9uDQotICAgICAqIAlhY3Jvc3MgdGhlIG5ldHdvcmsuDQotICAgICAqIEBwYXJhbSBlbGVtZW50VHlwZSBUaGUgdHlwZSBvZiB0aGUgZWxlbWVudHMgdGhpcyBhcnJheSBjb250YWlucy4NCi0gICAgICovDQotICAgIEFycmF5RW50cnlUeXBlKFR5cGVJZCBpZCwgTmV0d29ya1RhYmxlRW50cnlUeXBlJiBlbGVtZW50VHlwZSk7DQotDQotICAgIC8qKg0KLSAgICAgKiBDcmVhdGVzIGEgY29weSBvZiBhbiB2YWx1ZSB3aGljaCBpcyBvZiB0aGUgdHlwZSBjb250YWluZWQgYnkNCi0gICAgICogdGhpcyBhcnJheS4NCi0gICAgICogDQotICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgZWxlbWVudCwgb2YgdGhpcyBhcnJheSdzIGNvbnRhaW5lZCB0eXBlLCB0bw0KLSAgICAgKiAJY29weS4NCi0gICAgICogQHJldHVybiBBIGNvcHkgb2YgdGhlIGdpdmVuIHZhbHVlLg0KLSAgICAgKi8NCi0JRW50cnlWYWx1ZSBjb3B5RWxlbWVudChFbnRyeVZhbHVlIHZhbHVlKTsNCi0JDQotCS8qKg0KLQkgKiBEZWxldGVzIGEgZW50cnkgdmFsdWUgd2hpY2ggaXMgb2YgdGhlIHR5cGUgY29udGFpbmVkIGJ5DQotCSAqIHRoaXMgYXJyYXkuDQotCSAqIA0KLQkgKiBBZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLCB0aGUgZ2l2ZW4gZW50cnkgdmFsdWUgaXMNCi0JICogbm8gbG9uZ2VyIHZhbGlkLg0KLQkgKiANCi0JICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBkZWxldGUuDQotCSAqLw0KLQl2b2lkIGRlbGV0ZUVsZW1lbnQoRW50cnlWYWx1ZSB2YWx1ZSk7DQotCQ0KLQkvKioNCi0JICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9OjpzZW5kVmFsdWUNCi0JICovDQotCXZvaWQgc2VuZFZhbHVlKEVudHJ5VmFsdWUgdmFsdWUsIERhdGFJT1N0cmVhbSYgb3MpOw0KLQ0KLQkvKioNCi0JICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9OjpyZWFkVmFsdWUNCi0JICovDQotCUVudHJ5VmFsdWUgcmVhZFZhbHVlKERhdGFJT1N0cmVhbSYgaXMpOw0KLQkNCi0JLyoqDQotCSAqIFNlZSB7QGxpbmsgTmV0d29ya1RhYmxlRW50cnlUeXBlfTo6Y29weVZhbHVlDQotCSAqLyAgICANCi0JRW50cnlWYWx1ZSBjb3B5VmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSk7DQotCQ0KLQkvKioNCi0JICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9OjpkZWxldGVWYWx1ZQ0KLQkgKi8NCi0Jdm9pZCBkZWxldGVWYWx1ZShFbnRyeVZhbHVlIHZhbHVlKTsNCi0JDQotCS8qKg0KLQkgKiBTZWUge0BsaW5rIENvbXBsZXhFbnRyeVR5cGV9OjppbnRlcm5hbGl6ZVZhbHVlDQotCSAqLw0KLQlFbnRyeVZhbHVlIGludGVybmFsaXplVmFsdWUoc3RkOjpzdHJpbmcmIGtleSwgQ29tcGxleERhdGEmIGV4dGVybmFsUmVwcmVzZW50YXRpb24sIEVudHJ5VmFsdWUgY3VycmVudEludGVyYWxWYWx1ZSk7DQotDQotCS8qKg0KLQkgKiBTZWUge0BsaW5rIENvbXBsZXhFbnRyeVR5cGV9OjpleHBvcnRWYWx1ZQ0KLQkgKi8NCi0Jdm9pZCBleHBvcnRWYWx1ZShzdGQ6OnN0cmluZyYga2V5LCBFbnRyeVZhbHVlIGludGVybmFsRGF0YSwgQ29tcGxleERhdGEmIGV4dGVybmFsUmVwcmVzZW50YXRpb24pOw0KLSAgICANCi0gICAgDQotICAgIA0KLX07DQotDQotI2VuZGlmIC8qIEFSUkFZRU5UUllUWVBFX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTkxODY5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQm9vbGVhbkFycmF5LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qDQotICogQm9vbGVhbkFycmF5LmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0Jvb2xlYW5BcnJheS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmgiDQotDQotDQotY29uc3QgVHlwZUlkIEJvb2xlYW5BcnJheTo6Qk9PTEVBTl9BUlJBWV9SQVdfSUQgPSAweDEwOw0KLUFycmF5RW50cnlUeXBlIEJvb2xlYW5BcnJheTo6VFlQRShCT09MRUFOX0FSUkFZX1JBV19JRCwgRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU4pOw0KLQ0KLUJvb2xlYW5BcnJheTo6Qm9vbGVhbkFycmF5KCkgOiBBcnJheURhdGEoVFlQRSkgew0KLX0NCi0NCi1ib29sIEJvb2xlYW5BcnJheTo6Z2V0KGludCBpbmRleCl7DQotCXJldHVybiBfZ2V0KGluZGV4KS5iOw0KLX0NCi0NCi12b2lkIEJvb2xlYW5BcnJheTo6c2V0KGludCBpbmRleCwgYm9vbCB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUuYiA9IHZhbHVlOw0KLQlfc2V0KGluZGV4LCBlVmFsdWUpOw0KLX0NCi0NCi12b2lkIEJvb2xlYW5BcnJheTo6YWRkKGJvb2wgdmFsdWUpew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLmIgPSB2YWx1ZTsNCi0JX2FkZChlVmFsdWUpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0Jvb2xlYW5BcnJheS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Cb29sZWFuQXJyYXkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2I4OGZhYi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0Jvb2xlYW5BcnJheS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoNCi0gKiBCb29sZWFuQXJyYXkuaA0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgQk9PTEVBTkFSUkFZX0hfDQotI2RlZmluZSBCT09MRUFOQVJSQVlfSF8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9BcnJheURhdGEuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9BcnJheUVudHJ5VHlwZS5oIg0KLQ0KLS8vVE9ETzogQm9vbGVhbkFycmF5IGFwcGVhcnMgdW51c2VkOyByZXBsYWNlIHdpdGggbmFtZXNwYWNlPw0KLWNsYXNzIEJvb2xlYW5BcnJheSA6IHB1YmxpYyBBcnJheURhdGF7DQotDQotcHVibGljOg0KLQlzdGF0aWMgY29uc3QgVHlwZUlkIEJPT0xFQU5fQVJSQVlfUkFXX0lEOw0KLSAgICBzdGF0aWMgQXJyYXlFbnRyeVR5cGUgVFlQRTsNCi0NCi0NCi0gICAgQm9vbGVhbkFycmF5KCk7DQotDQotICAgIGJvb2wgZ2V0KGludCBpbmRleCk7DQotICAgIHZvaWQgc2V0KGludCBpbmRleCwgYm9vbCB2YWx1ZSk7DQotICAgIHZvaWQgYWRkKGJvb2wgdmFsdWUpOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIEJPT0xFQU5BUlJBWV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleERhdGEuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4OTVjN2UuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0vKg0KLSAqIENvbXBsZXhEYXRhLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhEYXRhLmgiDQotDQotDQotQ29tcGxleERhdGE6OkNvbXBsZXhEYXRhKENvbXBsZXhFbnRyeVR5cGUmIF90eXBlKSA6IHR5cGUoX3R5cGUpe30NCi0JDQotQ29tcGxleEVudHJ5VHlwZSYgQ29tcGxleERhdGE6OkdldFR5cGUoKSB7DQotCXJldHVybiB0eXBlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhEYXRhLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhEYXRhLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkMzA3MjEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9Db21wbGV4RGF0YS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoNCi0gKiBDb21wbGV4RGF0YS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI0LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBDT01QTEVYREFUQV9IXw0KLSNkZWZpbmUgQ09NUExFWERBVEFfSF8NCi0NCi0NCi1jbGFzcyBDb21wbGV4RGF0YTsNCi0NCi0NCi0vLyNpbmNsdWRlICJDb21wbGV4RW50cnlUeXBlLmgiIGNhbid0IGRvIHRoaXMgY2F1c2UgaXQgY2F1c2VzIG9yZGVyIG9mIGRlZmluaXRpb24gaXNzdWVzDQotY2xhc3MgQ29tcGxleEVudHJ5VHlwZTsNCi0NCi0vKioNCi0gKiBCYXNlIGNsYXNzIGZvciBub24tcHJpbWl0aXZlIGRhdGEgc3RydWN0dXJlcy4NCi0gKi8NCi1jbGFzcyBDb21wbGV4RGF0YXsNCi1wcml2YXRlOg0KLQlDb21wbGV4RW50cnlUeXBlJiB0eXBlOw0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIENyZWF0ZXMgYSBuZXcgQ29tcGxleERhdGEgb2YgdGhlIGdpdmVuIHR5cGUuDQotCSAqIA0KLQkgKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGlzIGRhdGEgc3RydWN0dXJlLg0KLQkgKi8NCi0JQ29tcGxleERhdGEoQ29tcGxleEVudHJ5VHlwZSYgdHlwZSk7DQotCSAgICANCi0JLyoqDQotCSAqIEdldHMgdGhlIHR5cGUgb2YgdGhpcyBkYXRhIHN0cnVjdHVyZS4NCi0JICogDQotCSAqIEByZXR1cm4gVGhlIHR5cGUgb2YgdGhpcyBkYXRhIHN0cnVjdHVyZS4NCi0JICovDQotCUNvbXBsZXhFbnRyeVR5cGUmIEdldFR5cGUoKTsNCi0NCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBDT01QTEVYREFUQV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleEVudHJ5VHlwZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhFbnRyeVR5cGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmUwMDJiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleEVudHJ5VHlwZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0vKg0KLSAqIENvbXBsZXhFbnRyeVR5cGUuY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI0LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleEVudHJ5VHlwZS5oIg0KLQ0KLQ0KLUNvbXBsZXhFbnRyeVR5cGU6OkNvbXBsZXhFbnRyeVR5cGUoVHlwZUlkIGlkLCBjb25zdCBjaGFyKiBuYW1lKSA6IE5ldHdvcmtUYWJsZUVudHJ5VHlwZShpZCwgbmFtZSl7fQ0KLQ0KLWJvb2wgQ29tcGxleEVudHJ5VHlwZTo6aXNDb21wbGV4KCl7DQotCXJldHVybiB0cnVlOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0NvbXBsZXhFbnRyeVR5cGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleEVudHJ5VHlwZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGE2ZTVmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleEVudHJ5VHlwZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoNCi0gKiBDb21wbGV4RW50cnlUeXBlLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjQsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIENPTVBMRVhFTlRSWVRZUEVfSF8NCi0jZGVmaW5lIENPTVBMRVhFTlRSWVRZUEVfSF8NCi0NCi1jbGFzcyBDb21wbGV4RW50cnlUeXBlOw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5oIg0KLQ0KLS8qKg0KLSAqIFJlcHJlc2VudHMgYSBub24tcHJpbWl0aXZlIGRhdGEgdHlwZSAoaS5lLiBub3QgYSBzdHJpbmcsIGRvdWJsZSwgDQotICogb3IgYm9vbGVhbikuDQotICovDQotY2xhc3MgQ29tcGxleEVudHJ5VHlwZSA6IHB1YmxpYyBOZXR3b3JrVGFibGVFbnRyeVR5cGUNCi17DQotcHJvdGVjdGVkOg0KLQlDb21wbGV4RW50cnlUeXBlKFR5cGVJZCBpZCwgY29uc3QgY2hhciogbmFtZSk7DQotcHVibGljOg0KLQl2aXJ0dWFsIH5Db21wbGV4RW50cnlUeXBlKCkNCi0Jew0KLQl9DQotCQ0KLQkvKioNCi0JICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9Ojppc0NvbXBsZXguDQotCSAqLw0KLQl2aXJ0dWFsIGJvb2wgaXNDb21wbGV4KCk7DQotCQ0KLQkvKioNCi0JICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gZm9yIGFuIGVudHJ5IG9mIHRoaXMgdHlwZSB3aXRoIHRoZQ0KLQkgKiBnaXZlbiB2YWx1ZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgVGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIHVwZGF0ZS4NCi0JICogQHBhcmFtIGV4dGVybmFsUmVwcmVzZW50YXRpb24gVGhlIGV4aXN0aW5nIGRhdGEgc3RydWN0dXJlIHRvIHVwZGF0ZS4NCi0JICogQHBhcmFtIGN1cnJlbnRJbnRlcm5hbFZhbHVlIFRoZSB2YWx1ZSB0byB1cGRhdGUgdGhlIGV4dGVybmFsIHJlcHJlc2VudGF0aW9uIHdpdGguDQotCSAqLw0KLQl2aXJ0dWFsIEVudHJ5VmFsdWUgaW50ZXJuYWxpemVWYWx1ZShzdGQ6OnN0cmluZyYga2V5LCBDb21wbGV4RGF0YSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbiwgRW50cnlWYWx1ZSBjdXJyZW50SW50ZXJhbFZhbHVlKSA9IDA7DQotCQ0KLQkvKioNCi0JICogVXBkYXRlcyB0aGUgZ2l2ZW4gZXh0ZXJuYWwgcmVwcmVzZW50YXRpb24gZm9yIGFuIGVudHJ5IG9mIHRoaXMgdHlwZSB3aXRoDQotCSAqIHRoZSBnaXZlbiBpbnRlcm5hbCB2YWx1ZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgVGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIGV4cG9ydC4NCi0JICogQHBhcmFtIGludGVybmFsRGF0YSBUaGUgY3VycmVudCB2YWx1ZSB0byByZWZlcmVuY2UuDQotCSAqIEBwYXJhbSBleHRlcm5hbFJlcHJlc2VudGF0aW9uIFRoZSBleHRlcm5hbCByZXByZXNlbnRhdGlvbiB0byB1cGRhdGUuDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgZXhwb3J0VmFsdWUoc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSBpbnRlcm5hbERhdGEsIENvbXBsZXhEYXRhJiBleHRlcm5hbFJlcHJlc2VudGF0aW9uKSA9IDA7DQotfTsNCi0NCi0jZW5kaWYgLyogQ09NUExFWEVOVFJZVFlQRV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvRGVmYXVsdEVudHJ5VHlwZXMuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2YTFiZTAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi0vKg0KLSAqIERlZmF1bHRFbnRyeVR5cGVzLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vRGF0YUlPU3RyZWFtLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvQm9vbGVhbkFycmF5LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9TdHJpbmdBcnJheS5oIg0KLQ0KLQ0KLURlZmF1bHRFbnRyeVR5cGVzOjpCT09MRUFOX3QgRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU47DQotRGVmYXVsdEVudHJ5VHlwZXM6OkRPVUJMRV90IERlZmF1bHRFbnRyeVR5cGVzOjpET1VCTEU7DQotRGVmYXVsdEVudHJ5VHlwZXM6OlNUUklOR190IERlZmF1bHRFbnRyeVR5cGVzOjpTVFJJTkc7DQotDQotRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU5fdDo6Qk9PTEVBTl90KCkgOiBOZXR3b3JrVGFibGVFbnRyeVR5cGUoQk9PTEVBTl9SQVdfSUQsICJCb29sZWFuIil7fQ0KLXZvaWQgRGVmYXVsdEVudHJ5VHlwZXM6OkJPT0xFQU5fdDo6c2VuZFZhbHVlKEVudHJ5VmFsdWUgdmFsdWUsIERhdGFJT1N0cmVhbSYgb3MpIHsNCi0Jb3Mud3JpdGVCeXRlKHZhbHVlLmIpOw0KLX0NCi1FbnRyeVZhbHVlIERlZmF1bHRFbnRyeVR5cGVzOjpCT09MRUFOX3Q6OnJlYWRWYWx1ZShEYXRhSU9TdHJlYW0mIGlzKSB7DQotCUVudHJ5VmFsdWUgdmFsdWU7DQotCXZhbHVlLmIgPSAoaXMucmVhZEJ5dGUoKSE9MCk7DQotCXJldHVybiB2YWx1ZTsNCi19DQotCQ0KLURlZmF1bHRFbnRyeVR5cGVzOjpET1VCTEVfdDo6RE9VQkxFX3QoKSA6IE5ldHdvcmtUYWJsZUVudHJ5VHlwZShET1VCTEVfUkFXX0lELCAiRG91YmxlIil7fQ0KLXZvaWQgRGVmYXVsdEVudHJ5VHlwZXM6OkRPVUJMRV90OjpzZW5kVmFsdWUoRW50cnlWYWx1ZSBlVmFsdWUsIERhdGFJT1N0cmVhbSYgb3MpIHsNCi0JdWludDY0X3QgdmFsdWUgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCo+KCZlVmFsdWUuZik7DQotCWZvcihpbnQgaSA9IDA7IGk8ODsgKytpKXsNCi0JCW9zLndyaXRlQnl0ZSgodmFsdWU+PjU2KSYweEZGKTsNCi0JCXZhbHVlPDw9ODsNCi0JfQ0KLX0NCi1FbnRyeVZhbHVlIERlZmF1bHRFbnRyeVR5cGVzOjpET1VCTEVfdDo6cmVhZFZhbHVlKERhdGFJT1N0cmVhbSYgaXMpIHsNCi0JdWludDY0X3QgdmFsdWU7DQotCQ0KLQlmb3IoaW50IGkgPSAwOyBpPDg7ICsraSl7DQotCQl2YWx1ZTw8PTg7DQotCQl2YWx1ZSB8PSAoaXMucmVhZEJ5dGUoKSYweEZGKTsNCi0JfQ0KLQkNCi0JRW50cnlWYWx1ZSBlVmFsdWU7DQotCWVWYWx1ZS5mID0gKnJlaW50ZXJwcmV0X2Nhc3Q8ZG91YmxlKj4oJnZhbHVlKTsNCi0JcmV0dXJuIGVWYWx1ZTsNCi19DQotCQ0KLURlZmF1bHRFbnRyeVR5cGVzOjpTVFJJTkdfdDo6U1RSSU5HX3QoKSA6IE5ldHdvcmtUYWJsZUVudHJ5VHlwZShTVFJJTkdfUkFXX0lELCAiU3RyaW5nIil7fQ0KLXZvaWQgRGVmYXVsdEVudHJ5VHlwZXM6OlNUUklOR190OjpzZW5kVmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSwgRGF0YUlPU3RyZWFtJiBvcykgew0KLQlvcy53cml0ZVN0cmluZygqKHN0ZDo6c3RyaW5nKil2YWx1ZS5wdHIpOw0KLX0NCi1FbnRyeVZhbHVlIERlZmF1bHRFbnRyeVR5cGVzOjpTVFJJTkdfdDo6cmVhZFZhbHVlKERhdGFJT1N0cmVhbSYgaXMpIHsNCi0JRW50cnlWYWx1ZSB2YWx1ZTsNCi0JdmFsdWUucHRyID0gaXMucmVhZFN0cmluZygpOw0KLQlyZXR1cm4gdmFsdWU7DQotfQ0KLUVudHJ5VmFsdWUgRGVmYXVsdEVudHJ5VHlwZXM6OlNUUklOR190Ojpjb3B5VmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSl7DQotICBpZih2YWx1ZS5wdHI9PU5VTEwpDQotICAgIHJldHVybiB2YWx1ZTsNCi0JRW50cnlWYWx1ZSBuZXdWYWx1ZTsNCi0JbmV3VmFsdWUucHRyID0gbmV3IHN0ZDo6c3RyaW5nKCooKHN0ZDo6c3RyaW5nKil2YWx1ZS5wdHIpKTsNCi0JcmV0dXJuIG5ld1ZhbHVlOw0KLX0NCi12b2lkIERlZmF1bHRFbnRyeVR5cGVzOjpTVFJJTkdfdDo6ZGVsZXRlVmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSl7DQotICBpZih2YWx1ZS5wdHIhPU5VTEwpDQotICAgIGRlbGV0ZSAoc3RkOjpzdHJpbmcqKXZhbHVlLnB0cjsNCi19DQotDQotDQotDQotdm9pZCBEZWZhdWx0RW50cnlUeXBlczo6cmVnaXN0ZXJUeXBlcyhOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyKiBtYW5hZ2VyKXsNCi0JbWFuYWdlci0+UmVnaXN0ZXJUeXBlKEJPT0xFQU4pOw0KLQltYW5hZ2VyLT5SZWdpc3RlclR5cGUoRE9VQkxFKTsNCi0JbWFuYWdlci0+UmVnaXN0ZXJUeXBlKFNUUklORyk7DQotCW1hbmFnZXItPlJlZ2lzdGVyVHlwZShCb29sZWFuQXJyYXk6OlRZUEUpOw0KLQltYW5hZ2VyLT5SZWdpc3RlclR5cGUoTnVtYmVyQXJyYXk6OlRZUEUpOw0KLQltYW5hZ2VyLT5SZWdpc3RlclR5cGUoU3RyaW5nQXJyYXk6OlRZUEUpOw0KLX0NCi0NCi0NCi0NCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTBlMDAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9EZWZhdWx0RW50cnlUeXBlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLS8qDQotICogRGVmYXVsdEVudHJ5VHlwZXMuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyNCwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgREVGQVVMVEVOVFJZVFlQRVNfSF8NCi0jZGVmaW5lIERFRkFVTFRFTlRSWVRZUEVTX0hfDQotDQotY2xhc3MgRGVmYXVsdEVudHJ5VHlwZXM7DQotDQotI2luY2x1ZGUgIk5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIuaCINCi0NCi0NCi0NCi1zdGF0aWMgY29uc3QgVHlwZUlkIEJPT0xFQU5fUkFXX0lEID0gMHgwMDsNCi1zdGF0aWMgY29uc3QgVHlwZUlkIERPVUJMRV9SQVdfSUQgPSAweDAxOw0KLXN0YXRpYyBjb25zdCBUeXBlSWQgU1RSSU5HX1JBV19JRCA9IDB4MDI7DQotDQotY2xhc3MgRGVmYXVsdEVudHJ5VHlwZXN7DQotcHJpdmF0ZToNCi0JLyoqDQotCSAqIGEgYm9vbGVhbiBlbnRyeSB0eXBlDQotCSAqLw0KLQljbGFzcyBCT09MRUFOX3QgOiBwdWJsaWMgTmV0d29ya1RhYmxlRW50cnlUeXBlew0KLQlwdWJsaWM6DQotCQlCT09MRUFOX3QoKTsNCi0JCS8qKg0KLQkJICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9OjpzZW5kVmFsdWUNCi0JCSAqLw0KLQkJdmlydHVhbCB2b2lkIHNlbmRWYWx1ZShFbnRyeVZhbHVlIHZhbHVlLCBEYXRhSU9TdHJlYW0mIG9zKTsNCi0JCQ0KLQkJLyoqDQotCQkgKiBTZWUge0BsaW5rIE5ldHdvcmtUYWJsZUVudHJ5VHlwZX06OnJlYWRWYWx1ZQ0KLQkJICovDQotCQl2aXJ0dWFsIEVudHJ5VmFsdWUgcmVhZFZhbHVlKERhdGFJT1N0cmVhbSYgaXMpOw0KLQl9Ow0KLQkvKioNCi0JICogYSBkb3VibGUgZmxvYXRpbmcgcG9pbnQgZW50cnkgdHlwZQ0KLQkgKi8NCi0JY2xhc3MgRE9VQkxFX3QgOiBwdWJsaWMgTmV0d29ya1RhYmxlRW50cnlUeXBlew0KLQlwdWJsaWM6DQotCQlET1VCTEVfdCgpOw0KLQkJDQotCQkvKioNCi0JCSAqIFNlZSB7QGxpbmsgTmV0d29ya1RhYmxlRW50cnlUeXBlfTo6c2VuZFZhbHVlDQotCQkgKi8NCi0JCXZpcnR1YWwgdm9pZCBzZW5kVmFsdWUoRW50cnlWYWx1ZSB2YWx1ZSwgRGF0YUlPU3RyZWFtJiBvcyk7DQotCQkNCi0JCS8qKg0KLQkJICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9OjpzZW5kVmFsdWUNCi0JCSAqLw0KLQkJdmlydHVhbCBFbnRyeVZhbHVlIHJlYWRWYWx1ZShEYXRhSU9TdHJlYW0mIGlzKTsNCi0JfTsNCi0JLyoqDQotCSAqIGEgc3RyaW5nIGVudHJ5IHR5cGUNCi0JICovDQotCWNsYXNzIFNUUklOR190IDogcHVibGljIE5ldHdvcmtUYWJsZUVudHJ5VHlwZXsNCi0JcHVibGljOg0KLQkJU1RSSU5HX3QoKTsNCi0JCQ0KLQkJLyoqDQotCQkgKiBTZWUge0BsaW5rIE5ldHdvcmtUYWJsZUVudHJ5VHlwZX06OnNlbmRWYWx1ZQ0KLQkJICovDQotCQl2aXJ0dWFsIHZvaWQgc2VuZFZhbHVlKEVudHJ5VmFsdWUgdmFsdWUsIERhdGFJT1N0cmVhbSYgb3MpOw0KLQkJDQotCQkvKioNCi0JCSAqIFNlZSB7QGxpbmsgTmV0d29ya1RhYmxlRW50cnlUeXBlfTo6c2VuZFZhbHVlDQotCQkgKi8NCi0JCXZpcnR1YWwgRW50cnlWYWx1ZSByZWFkVmFsdWUoRGF0YUlPU3RyZWFtJiBpcyk7DQotCQkNCi0JCS8qKg0KLQkJICogU2VlIHtAbGluayBOZXR3b3JrVGFibGVFbnRyeVR5cGV9Ojpjb3B5VmFsdWUNCi0JCSAqLw0KLQkJdmlydHVhbCBFbnRyeVZhbHVlIGNvcHlWYWx1ZShFbnRyeVZhbHVlIHZhbHVlKTsNCi0JCQ0KLQkJLyoqDQotCQkgKiBTZWUge0BsaW5rIE5ldHdvcmtUYWJsZUVudHJ5VHlwZX06OmRlbGV0ZVZhbHVlDQotCQkgKi8NCi0JCXZpcnR1YWwgdm9pZCBkZWxldGVWYWx1ZShFbnRyeVZhbHVlIHZhbHVlKTsNCi0JfTsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBSZWdpc3RlcnMgdGhlIHNldCBvZiBkZWZhdWx0IGVudHJ5IHR5cGVzIHdpdGggdGhlIGdpdmVuIA0KLQkgKiBlbnRyeSB0eXBlIG1hbmFnZXIuDQotCSAqIA0KLQkgKiBAcGFyYW0gdHlwZU1hbmFnZXIgVGhlIGVudHJ5IHR5cGUgbWFuYWdlciB0byB1cGRhdGUuIFBvaW50ZXIgbXVzdCBub3QgYmUgbnVsbC4NCi0JICovDQotCXN0YXRpYyB2b2lkIHJlZ2lzdGVyVHlwZXMoTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlciogdHlwZU1hbmFnZXIpOw0KLQkNCi0Jc3RhdGljIEJPT0xFQU5fdCBCT09MRUFOOw0KLQlzdGF0aWMgRE9VQkxFX3QgRE9VQkxFOw0KLQlzdGF0aWMgU1RSSU5HX3QgU1RSSU5HOw0KLX07DQotDQotDQotDQotDQotI2VuZGlmIC8qIERFRkFVTFRFTlRSWVRZUEVTX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OGNjODhjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlRW50cnlUeXBlLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZS5oIg0KLQ0KLQ0KLU5ldHdvcmtUYWJsZUVudHJ5VHlwZTo6TmV0d29ya1RhYmxlRW50cnlUeXBlKFR5cGVJZCBfaWQsIGNvbnN0IGNoYXIqIF9uYW1lKSA6IGlkKF9pZCksIG5hbWUoX25hbWUpew0KLX0NCi1OZXR3b3JrVGFibGVFbnRyeVR5cGU6On5OZXR3b3JrVGFibGVFbnRyeVR5cGUoKXsNCi19DQotDQotICBFbnRyeVZhbHVlIE5ldHdvcmtUYWJsZUVudHJ5VHlwZTo6Y29weVZhbHVlKEVudHJ5VmFsdWUgdmFsdWUpew0KLSAgICByZXR1cm4gdmFsdWU7DQotICB9ICANCi0gIHZvaWQgTmV0d29ya1RhYmxlRW50cnlUeXBlOjpkZWxldGVWYWx1ZShFbnRyeVZhbHVlIHZhbHVlKXsNCi0gIH0NCi0NCi0NCi1ib29sIE5ldHdvcmtUYWJsZUVudHJ5VHlwZTo6aXNDb21wbGV4KCl7DQotCXJldHVybiBmYWxzZTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiZjNlNzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlRW50cnlUeXBlLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRUVOVFJZVFlQRV9IXw0KLSNkZWZpbmUgTkVUV09SS1RBQkxFRU5UUllUWVBFX0hfDQotDQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpZm5kZWYgX1dSU19LRVJORUwNCi0jaW5jbHVkZSA8c3RkaW50Lmg+DQotI2VuZGlmDQotDQotLyoqDQotICogQW4gSUQgd2hpY2ggaWRlbnRpZmllcyBhIHR5cGUgdG8gb3RoZXIgbm9kZXMgb24gdGhlIG5ldHdvcmsuDQotICovDQotdHlwZWRlZiB1aW50OF90IFR5cGVJZDsNCi1jbGFzcyBOZXR3b3JrVGFibGVFbnRyeVR5cGU7DQotDQotI2RlZmluZSBNQVhfTlVNX1RBQkxFX0VOVFJZX1RZUEVTIDI1Ng0KLQ0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL2Nvbm5lY3Rpb24vRGF0YUlPU3RyZWFtLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL05ldHdvcmtUYWJsZUVudHJ5LmgiDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGUuaCINCi0NCi0vKioNCi0gKiBSZXByZXNlbnRzIHRoZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCBhIG5ldHdvcmsgdGFibGVzIHZhbHVlLg0KLSAqLw0KLWNsYXNzIE5ldHdvcmtUYWJsZUVudHJ5VHlwZXsNCi1wdWJsaWM6DQotCWNvbnN0IFR5cGVJZCBpZDsNCi0JY29uc3QgY2hhciogbmFtZTsNCi0JDQotCS8qKg0KLQkgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhpcyBkYXRhIHR5cGUgaXMgY29tcGxleCAoaS5lLiBpdCBkb2VzIG5vdA0KLQkgKiByZXByZXNlbnQgYSBudW1iZXIsIHN0cmluZywgb3IgYm9vbGVhbikuDQotCSAqIA0KLQkgKiBAcmV0dXJuIFRydWUgb2YgdGhpcyB0eXBlIGlzIGNvbXBsZXguIEZhbHNlIG90aGVyd2lzZS4NCi0JICovDQotCXZpcnR1YWwgYm9vbCBpc0NvbXBsZXgoKTsNCi0JDQotCS8qKg0KLQkgKiBTZXJpYWxpemVzIHRoZSBnaXZlbiB2YWx1ZSBvbiB0aGUgZ2l2ZW4gb3V0cHV0IHN0cmVhbS4NCi0JICogDQotCSAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VyaWFsaXplLg0KLQkgKiBAcGFyYW0gb3MgVGhlIG91dHB1dCBzdHJlYW0gdG8gdXNlLg0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIHNlbmRWYWx1ZShFbnRyeVZhbHVlIHZhbHVlLCBEYXRhSU9TdHJlYW0mIG9zKSA9IDA7DQotCQ0KLQkvKioNCi0JICogVW5zZXJpYWxpemVzIHRoZSBhIHZhbHVlIG9mIHRoaXMgdHlwZSBmcm9tIHRoZSBnaXZlbg0KLQkgKiBpbnB1dCBzdHJlYW0uDQotCSAqIA0KLQkgKiBAcGFyYW0gaXMgVGhlIGlucHV0IHN0cmVhbSB0byByZWFkIGZyb20uDQotCSAqIEByZXR1cm4gVGhlIHVuc2VyaWFsaXplZCB2YWx1ZS4NCi0JICovDQotCXZpcnR1YWwgRW50cnlWYWx1ZSByZWFkVmFsdWUoRGF0YUlPU3RyZWFtJiBpcykgPSAwOw0KLQkNCi0JLyoqDQotCSAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoZSBnaXZlbiB2YWx1ZSBvZiB0aGlzIHR5cGUuDQotCSAqIA0KLQkgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvcHkuDQotCSAqIEByZXR1cm4gQSBjb3B5IG9mIHRoZSBnaXZlbiB2YWx1ZSBvZiB0aGlzIHR5cGUuDQotCSAqLw0KLQl2aXJ0dWFsIEVudHJ5VmFsdWUgY29weVZhbHVlKEVudHJ5VmFsdWUgdmFsdWUpOw0KLQkNCi0JLyoqDQotCSAqIERlbGV0ZXMgYSB2YWx1ZSBvZiB0aGlzIHR5cGUuDQotCSAqIA0KLQkgKiBBZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIHRoZSBnaXZlbiB2YWx1ZSBpcw0KLQkgKiBubyBsb25nZXIgdmFsaWQuDQotCSAqIA0KLQkgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGRlbGV0ZS4NCi0JICovDQotCXZpcnR1YWwgdm9pZCBkZWxldGVWYWx1ZShFbnRyeVZhbHVlIHZhbHVlKTsNCi0JdmlydHVhbCB+TmV0d29ya1RhYmxlRW50cnlUeXBlKCk7DQotcHJvdGVjdGVkOg0KLQkvKioNCi0JICogQ3JlYXRlcyBhIG5ldyBOZXR3b3JrVGFibGVzRW50cnlUeXBlLg0KLQkgKiANCi0JICogQHBhcmFtIGlkIFRoZSBudW1lcmljIElEIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHR5cGUuIFRoaXMgSUQNCi0JICogCXJlcHJlc2VudHMgdGhpcyBkYXRhIHR5cGUgdG8gb3RoZXIgbm9kZXMgb24gdGhlIG5ldHdvcmsuDQotCSAqIEBwYXJhbSBuYW1lIFRoZSBzdHJpbmcgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0eXBlLg0KLQkgKi8NCi0JTmV0d29ya1RhYmxlRW50cnlUeXBlKFR5cGVJZCBpZCwgY29uc3QgY2hhciogbmFtZSk7DQotfTsNCi0NCi0jZW5kaWYgLyogTkVUV09SS1RBQkxFRU5UUllUWVBFX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjYjQxZjIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8qDQotICogTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlci5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9OZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvRGVmYXVsdEVudHJ5VHlwZXMuaCINCi0NCi0NCi1OZXR3b3JrVGFibGVFbnRyeVR5cGUqIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXI6OkdldFR5cGUoVHlwZUlkIGlkKXsNCi0JcmV0dXJuIGVudHJ5VHlwZXNbaWRdOw0KLX0NCi0NCi12b2lkIE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXI6OlJlZ2lzdGVyVHlwZShOZXR3b3JrVGFibGVFbnRyeVR5cGUmIHR5cGUpew0KLQllbnRyeVR5cGVzW3R5cGUuaWRdID0gJnR5cGU7DQotfQ0KLQ0KLU5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXI6Ok5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIoKXsNCi0JZm9yKGludCBpID0gMDsgaTxNQVhfTlVNX1RBQkxFX0VOVFJZX1RZUEVTOyArK2kpDQotCQllbnRyeVR5cGVzW2ldID0gTlVMTDsNCi0JDQotCURlZmF1bHRFbnRyeVR5cGVzOjpyZWdpc3RlclR5cGVzKHRoaXMpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL05ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNjYzRhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTmV0d29ya1RhYmxlRW50cnlUeXBlTWFuYWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyoNCi0gKiBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5FVFdPUktUQUJMRUVOVFJZVFlQRU1BTkFHRVJfSF8NCi0jZGVmaW5lIE5FVFdPUktUQUJMRUVOVFJZVFlQRU1BTkFHRVJfSF8NCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyOw0KLQ0KLSNpbmNsdWRlICJOZXR3b3JrVGFibGVFbnRyeVR5cGUuaCINCi0NCi1jbGFzcyBOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyDQotew0KLXByaXZhdGU6DQotCU5ldHdvcmtUYWJsZUVudHJ5VHlwZSogZW50cnlUeXBlc1tNQVhfTlVNX1RBQkxFX0VOVFJZX1RZUEVTXTsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGVzIGEgbmV3IE5ldHdvcmtUYWJsZUVudHJ5VHlwZU1hbmFnZXIsIHdpdGggdGhlIGRlZmF1bHQNCi0JICogdHlwZXMgcmVnaXN0ZXJlZCB1bmRlciB0aGVpciByZXNwZWN0aXZlIFR5cGVJRCdzLCBhbmQgYWxsIG90aGVyDQotCSAqIFR5cGVJRCdzIG51bGwuDQotCSAqLw0KLQlOZXR3b3JrVGFibGVFbnRyeVR5cGVNYW5hZ2VyKCk7DQotCQ0KLQkvKioNCi0JICogUmV0cmlldmVzIHRoZSBlbnRyeSB0eXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4NCi0JICogdHlwZSBpZCwgaWYgb25lIGV4aXN0cy4NCi0JICogDQotCSAqIEBwYXJhbSB0eXBlIFRoZSBpZGVudGlmaWVyIGJ5IHdoaWNoIHRvIHJldHJpZXZlIGEgdHlwZS4NCi0JICogQHJldHVybiBUaGUgTmV0d29ya1RhYmxlRW50cnlUeXBlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4NCi0JICogCXR5cGUgaWRlbnRpZmllciwgaWYgb25lIGV4aXN0cy4gT3RoZXJ3aXNlLCBudWxsLg0KLQkgKi8NCi0JTmV0d29ya1RhYmxlRW50cnlUeXBlKiBHZXRUeXBlKFR5cGVJZCB0eXBlKTsNCi0JDQotCS8qKg0KLQkgKiBSZWdpc3RlcnMgdGhlIGdpdmVuIE5ldHdvcmtUYWJsZUVudHJ5VHlwZSB3aXRoIHRoaXMgdHlwZQ0KLQkgKiBtYW5hZ2VyLCBzdWNoIHRoYXQgaXMgaXMgcmV0dXJuZWQgYnkgc3Vic2VxdWVudCBjYWxscw0KLQkgKiB0byBHZXRUeXBlIHdpdGggdGhlIGFwcHJvcHJpYXRlIElELg0KLQkgKiANCi0JICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgdG8gcmVnaXN0ZXIuDQotCSAqLw0KLQl2b2lkIFJlZ2lzdGVyVHlwZShOZXR3b3JrVGFibGVFbnRyeVR5cGUmIHR5cGUpOw0KLX07DQotDQotI2VuZGlmIC8qIE5FVFdPUktUQUJMRUVOVFJZVFlQRU1BTkFHRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL051bWJlckFycmF5LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDUxOTA1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotLyoNCi0gKiBOdW1iZXJBcnJheS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9OdW1iZXJBcnJheS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0RlZmF1bHRFbnRyeVR5cGVzLmgiDQotDQotDQotY29uc3QgVHlwZUlkIE51bWJlckFycmF5OjpOVU1CRVJfQVJSQVlfUkFXX0lEID0gMHgxMTsNCi1BcnJheUVudHJ5VHlwZSBOdW1iZXJBcnJheTo6VFlQRShOVU1CRVJfQVJSQVlfUkFXX0lELCBEZWZhdWx0RW50cnlUeXBlczo6RE9VQkxFKTsNCi0NCi1OdW1iZXJBcnJheTo6TnVtYmVyQXJyYXkoKSA6IEFycmF5RGF0YShUWVBFKSB7DQotfQ0KLQ0KLWRvdWJsZSBOdW1iZXJBcnJheTo6Z2V0KGludCBpbmRleCl7DQotCXJldHVybiBfZ2V0KGluZGV4KS5mOw0KLX0NCi0NCi12b2lkIE51bWJlckFycmF5OjpzZXQoaW50IGluZGV4LCBkb3VibGUgdmFsdWUpew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLmYgPSB2YWx1ZTsNCi0JX3NldChpbmRleCwgZVZhbHVlKTsNCi19DQotDQotdm9pZCBOdW1iZXJBcnJheTo6YWRkKGRvdWJsZSB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUuZiA9IHZhbHVlOw0KLQlfYWRkKGVWYWx1ZSk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvTnVtYmVyQXJyYXkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM4YzdlOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL051bWJlckFycmF5LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKg0KLSAqIE51bWJlckFycmF5LmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBOb3YgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIE5VTUJFUkFSUkFZX0hfDQotI2RlZmluZSBOVU1CRVJBUlJBWV9IXw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RGF0YS5oIg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL0FycmF5RW50cnlUeXBlLmgiDQotDQotLy9UT0RPOiBOdW1iZXJBcnJheSBhcHBlYXJzIHVudXNlZDsgcmVwbGFjZSB3aXRoIG5hbWVzcGFjZT8NCi1jbGFzcyBOdW1iZXJBcnJheSA6IHB1YmxpYyBBcnJheURhdGF7DQotDQotcHVibGljOg0KLQlzdGF0aWMgY29uc3QgVHlwZUlkIE5VTUJFUl9BUlJBWV9SQVdfSUQ7DQotICAgIHN0YXRpYyBBcnJheUVudHJ5VHlwZSBUWVBFOw0KLQ0KLQ0KLSAgICBOdW1iZXJBcnJheSgpOw0KLSAgICANCi0gICAgZG91YmxlIGdldChpbnQgaW5kZXgpOw0KLSAgICB2b2lkIHNldChpbnQgaW5kZXgsIGRvdWJsZSB2YWx1ZSk7DQotICAgIHZvaWQgYWRkKGRvdWJsZSB2YWx1ZSk7DQotfTsNCi0NCi0NCi0NCi0jZW5kaWYgLyogTlVNQkVSQVJSQVlfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvU3RyaW5nQXJyYXkuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODhhMjc0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3R5cGUvU3RyaW5nQXJyYXkuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotLyoNCi0gKiBTdHJpbmdBcnJheQ0KLSAqDQotICogIENyZWF0ZWQgb246IE5vdiAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmgiDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvRGVmYXVsdEVudHJ5VHlwZXMuaCINCi0NCi0NCi1jb25zdCBUeXBlSWQgU3RyaW5nQXJyYXk6OlNUUklOR19BUlJBWV9SQVdfSUQgPSAweDEyOw0KLUFycmF5RW50cnlUeXBlIFN0cmluZ0FycmF5OjpUWVBFKFNUUklOR19BUlJBWV9SQVdfSUQsIERlZmF1bHRFbnRyeVR5cGVzOjpTVFJJTkcpOw0KLQ0KLVN0cmluZ0FycmF5OjpTdHJpbmdBcnJheSgpIDogQXJyYXlEYXRhKFRZUEUpIHsNCi19DQotDQotc3RkOjpzdHJpbmcgU3RyaW5nQXJyYXk6OmdldChpbnQgaW5kZXgpew0KLQlyZXR1cm4gKihzdGQ6OnN0cmluZyopX2dldChpbmRleCkucHRyOw0KLX0NCi0NCi12b2lkIFN0cmluZ0FycmF5OjpzZXQoaW50IGluZGV4LCBzdGQ6OnN0cmluZyB2YWx1ZSl7DQotCUVudHJ5VmFsdWUgZVZhbHVlOw0KLQllVmFsdWUucHRyID0gJnZhbHVlOw0KLQlfc2V0KGluZGV4LCBlVmFsdWUpOw0KLX0NCi0NCi12b2lkIFN0cmluZ0FycmF5OjphZGQoc3RkOjpzdHJpbmcgdmFsdWUpew0KLQlFbnRyeVZhbHVlIGVWYWx1ZTsNCi0JZVZhbHVlLnB0ciA9ICZ2YWx1ZTsNCi0JX2FkZChlVmFsdWUpOw0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi90eXBlL1N0cmluZ0FycmF5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzMTE0YzIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdHlwZS9TdHJpbmdBcnJheS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyoNCi0gKiBTdHJpbmdBcnJheS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogTm92IDE2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBTVFJJTkdBUlJBWV9IXw0KLSNkZWZpbmUgU1RSSU5HQVJSQVlfSF8NCi0NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9BcnJheURhdGEuaCINCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdHlwZS9BcnJheUVudHJ5VHlwZS5oIg0KLQ0KLS8vVE9ETzogU3RyaW5nQXJyYXkgYXBwZWFycyB1bnVzZWQ7IHJlcGxhY2Ugd2l0aCBuYW1lc3BhY2U/DQotY2xhc3MgU3RyaW5nQXJyYXkgOiBwdWJsaWMgQXJyYXlEYXRhew0KLQ0KLXB1YmxpYzoNCi0Jc3RhdGljIGNvbnN0IFR5cGVJZCBTVFJJTkdfQVJSQVlfUkFXX0lEOw0KLSAgICBzdGF0aWMgQXJyYXlFbnRyeVR5cGUgVFlQRTsNCi0NCi0NCi0gICAgU3RyaW5nQXJyYXkoKTsNCi0gICAgDQotICAgIHN0ZDo6c3RyaW5nIGdldChpbnQgaW5kZXgpOw0KLSAgICB2b2lkIHNldChpbnQgaW5kZXgsIHN0ZDo6c3RyaW5nIHZhbHVlKTsNCi0gICAgdm9pZCBhZGQoc3RkOjpzdHJpbmcgdmFsdWUpOw0KLX07DQotDQotI2VuZGlmIC8qIFNUUklOR0FSUkFZX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9FT0ZFeGNlcHRpb24uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9FT0ZFeGNlcHRpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NmNlNDU1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLS8qDQotICogRU9GRXhjZXB0aW9uLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE9jdCAxLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmgiDQotDQotRU9GRXhjZXB0aW9uOjpFT0ZFeGNlcHRpb24oKSA6IElPRXhjZXB0aW9uKCJFbmQgb2YgRmlsZSIpe30NCi1FT0ZFeGNlcHRpb246On5FT0ZFeGNlcHRpb24oKSB0aHJvdygpe30NCi0NCi1ib29sIEVPRkV4Y2VwdGlvbjo6aXNFT0YoKXsNCi0JcmV0dXJuIHRydWU7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL0VPRkV4Y2VwdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDE2ZjRiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvRU9GRXhjZXB0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKg0KLSAqIEVPRkV4Y2VwdGlvbi5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogT2N0IDEsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIEVPRkVYQ0VQVElPTl9IXw0KLSNkZWZpbmUgRU9GRVhDRVBUSU9OX0hfDQotDQotI2luY2x1ZGUgIklPRXhjZXB0aW9uLmgiDQotDQotDQotLyoqDQotICogSW5kaWNhdGVzIHRoYXQgYW4gRU9GIHdhcyBlbmNvdW50ZXJlZCBkdXJpbmcgYW4gSS9PIG9wZXJhdGlvbiwNCi0gKiBhbmQgdGhlcmVmb3JlIHRoZSBvcGVyYXRpb24gY291bGQgbm90IGJlIGNvbXBsZXRlZC4gDQotICovDQotY2xhc3MgRU9GRXhjZXB0aW9uIDogcHVibGljIElPRXhjZXB0aW9uew0KLXB1YmxpYzoNCi0JLyoqDQotCSAqIENyZWF0ZXMgYW4gRU9GRXhjZXB0aW9uLg0KLQkgKi8NCi0JRU9GRXhjZXB0aW9uKCk7DQotCXZpcnR1YWwgfkVPRkV4Y2VwdGlvbigpIHRocm93ICgpOw0KLQkNCi0JLyoqDQotCSAqIEltcGxlbWVudHMge0BsaW5rIElPRXhjZXB0aW9ufTo6aXNFT0YoKSANCi0JICovDQotCXZpcnR1YWwgYm9vbCBpc0VPRigpOw0KLX07DQotDQotDQotDQotDQotI2VuZGlmIC8qIEVPRkVYQ0VQVElPTl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0ZGNhMTMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vKg0KLSAqIElPRXhjZXB0aW9uLmNwcA0KLSAqDQotICogIENyZWF0ZWQgb246IE9jdCAxLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24uaCINCi0jaW5jbHVkZSA8c3RkbGliLmg+DQotI2luY2x1ZGUgPHN0cmluZy5oPg0KLQ0KLQ0KLUlPRXhjZXB0aW9uOjpJT0V4Y2VwdGlvbihjb25zdCBjaGFyKiBtc2cpIDogbWVzc2FnZShzdHJkdXAobXNnKSksIGVycm9yVmFsdWUoMCl7fQ0KLUlPRXhjZXB0aW9uOjpJT0V4Y2VwdGlvbihjb25zdCBjaGFyKiBtc2csIGludCBfZXJyb3JWYWx1ZSkgOiBtZXNzYWdlKHN0cmR1cChtc2cpKSwgZXJyb3JWYWx1ZShfZXJyb3JWYWx1ZSl7fQ0KLQ0KLWNvbnN0IGNoYXIqIElPRXhjZXB0aW9uOjp3aGF0KCl7DQotCXJldHVybiBtZXNzYWdlOw0KLX0NCi0NCi1ib29sIElPRXhjZXB0aW9uOjppc0VPRigpe3JldHVybiBmYWxzZTt9DQotDQotSU9FeGNlcHRpb246On5JT0V4Y2VwdGlvbigpIHRocm93ICgpew0KLQlmcmVlKCh2b2lkKiltZXNzYWdlKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JT0V4Y2VwdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjkzZWY1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSU9FeGNlcHRpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qDQotICogSU9FeGNlcHRpb24uaA0KLSAqDQotICogIENyZWF0ZWQgb246IE9jdCAxLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJT0VYQ0VQVElPTl9IXw0KLSNkZWZpbmUgSU9FWENFUFRJT05fSF8NCi0NCi0jaW5jbHVkZSA8ZXhjZXB0aW9uPg0KLQ0KLS8qKg0KLSAqIEluaWRjYXRlcyB0aGF0IGFuIHVucmVjb3ZlcmFibGUgSS9PIGZhaWx1cmUgb2NjdXJlZC4NCi0gKi8NCi1jbGFzcyBJT0V4Y2VwdGlvbiA6IHB1YmxpYyBzdGQ6OmV4Y2VwdGlvbnsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBDcmVhdGVzIGEgbmV3IElPRXhjZXB0aW9uIHdpdGggdGhlIGdpdmVuIG1lc3NhZ2UuDQotCSAqIA0KLQkgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIGV4Y2VwdGlvbi4NCi0JICovDQotCUlPRXhjZXB0aW9uKGNvbnN0IGNoYXIqIG1lc3NhZ2UpOw0KLQkNCi0JLyoqDQotCSAqIENyZWF0ZXMgYSBuZXcgSU9FeGNlcHRpb24gd2l0aCB0aGUgZ2l2ZW4gbWVzc2FnZSBhbmQNCi0JICogZXJyb3IgdmFsdWUuDQotCSAqIA0KLQkgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIGV4Y2VwdGlvbi4NCi0JICogQHBhcmFtIGVycm9yVmFsdWUgVGhlIGludGVnZXIgY29kZSB0byBhc3NvY2lhdGUgd2l0aCB0aGlzIGV4Y2VwdGlvbi4NCi0JICovDQotCUlPRXhjZXB0aW9uKGNvbnN0IGNoYXIqIG1lc3NhZ2UsIGludCBlcnJvclZhbHVlKTsNCi0JDQotCS8qKg0KLQkgKiBHZXRzIHRoZSBtZXNzYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGV4Y2VwdGlvbi4NCi0JICogDQotCSAqIEByZXR1cm4gVGhlIG1lc3NhZ2UgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZXhjZXB0aW9uLg0KLQkgKi8NCi0JY29uc3QgY2hhciogd2hhdCgpOw0KLQkNCi0JLyoqDQotCSAqIERldGVybWluZXMgd2hldGhlciB0aGlzIGV4Y2VwdGlvbiBpbmRpY2F0ZXMgdGhhdCBhbiBFT0YNCi0JICogd2FzIGVuY291bnRlcmVkLg0KLQkgKiANCi0JICogQHJldHVybiBUcnVlIGlmIHRoaXMgZXhjZXB0aW9uIGluZGljYXRlcyB0aGF0IGFuIEVPRiB3YXMgZW5jb3VudGVyZWQuDQotCSAqIAlGYWxzZSBvdGhlcndpc2UuDQotCSAqLw0KLQl2aXJ0dWFsIGJvb2wgaXNFT0YoKTsNCi0JdmlydHVhbCB+SU9FeGNlcHRpb24oKSB0aHJvdyAoKTsNCi1wcml2YXRlOg0KLQljb25zdCBjaGFyKiBtZXNzYWdlOw0KLQlpbnQgZXJyb3JWYWx1ZTsNCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBJT0VYQ0VQVElPTl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM1MWRjZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL0lsbGVnYWxTdGF0ZUV4Y2VwdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0vKg0KLSAqIElsbGVnYWxTdGF0ZUV4Y2VwdGlvbi5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAibmV0d29ya3RhYmxlczIvdXRpbC9JbGxlZ2FsU3RhdGVFeGNlcHRpb24uaCINCi0NCi1JbGxlZ2FsU3RhdGVFeGNlcHRpb246OklsbGVnYWxTdGF0ZUV4Y2VwdGlvbihjb25zdCBjaGFyKiBtc2cpIA0KLQk6IG1lc3NhZ2UobXNnKQ0KLXsNCi19DQotSWxsZWdhbFN0YXRlRXhjZXB0aW9uOjp+SWxsZWdhbFN0YXRlRXhjZXB0aW9uKCkgdGhyb3cgKCkNCi17CQ0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL0lsbGVnYWxTdGF0ZUV4Y2VwdGlvbi5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9JbGxlZ2FsU3RhdGVFeGNlcHRpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNjODlkNi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL0lsbGVnYWxTdGF0ZUV4Y2VwdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLyoNCi0gKiBJbGxlZ2FsU3RhdGVFeGNlcHRpb24uaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAxNiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgSUxMRUdBTFNUQVRFRVhDRVBUSU9OX0hfDQotI2RlZmluZSBJTExFR0FMU1RBVEVFWENFUFRJT05fSF8NCi0NCi0jaW5jbHVkZSA8ZXhjZXB0aW9uPg0KLSNpbmNsdWRlIDxzdHJpbmc+DQotDQotY2xhc3MgSWxsZWdhbFN0YXRlRXhjZXB0aW9uIDogcHVibGljIHN0ZDo6ZXhjZXB0aW9uew0KLXB1YmxpYzoNCi0JSWxsZWdhbFN0YXRlRXhjZXB0aW9uKGNvbnN0IGNoYXIqIG1lc3NhZ2UpOw0KLQljb25zdCBjaGFyKiB3aGF0KCl7cmV0dXJuIG1lc3NhZ2UuY19zdHIoKTt9Ow0KLQl+SWxsZWdhbFN0YXRlRXhjZXB0aW9uKCkgdGhyb3cgKCk7DQotcHJpdmF0ZToNCi0Jc3RkOjpzdHJpbmcgbWVzc2FnZTsNCi19Ow0KLQ0KLSNlbmRpZiAvKiBJTExFR0FMU1RBVEVFWENFUFRJT05fSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N0cmluZ0NhY2hlLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvU3RyaW5nQ2FjaGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTlkMjFmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvU3RyaW5nQ2FjaGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLyoNCi0gKiBTdHJpbmdDYWNoZS5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBPY3QgMTYsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSA8bWFwPg0KLSNpbmNsdWRlICJuZXR3b3JrdGFibGVzMi91dGlsL1N0cmluZ0NhY2hlLmgiDQotDQotdXNpbmcgbmFtZXNwYWNlIHN0ZDsNCi0NCi1TdHJpbmdDYWNoZTo6U3RyaW5nQ2FjaGUoKXsNCi19DQotU3RyaW5nQ2FjaGU6On5TdHJpbmdDYWNoZSgpew0KLX0NCi0NCi1zdGQ6OnN0cmluZyYgU3RyaW5nQ2FjaGU6OkdldChjb25zdCBzdGQ6OnN0cmluZyYgaW5wdXQpew0KLQltYXA8c3RkOjpzdHJpbmcsIHN0ZDo6c3RyaW5nPjo6aXRlcmF0b3IgaXRyID0gY2FjaGUuZmluZChpbnB1dCk7DQotCWlmKGl0ciAhPSBjYWNoZS5lbmQoKSl7DQotCSAgIHJldHVybiBpdHItPnNlY29uZDsNCi0JfQ0KLQllbHNlew0KLQkJY2FjaGVbaW5wdXRdID0gQ2FsYyhpbnB1dCk7DQotCQlyZXR1cm4gY2FjaGVbaW5wdXRdOw0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvU3RyaW5nQ2FjaGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25ldHdvcmt0YWJsZXMyL3V0aWwvU3RyaW5nQ2FjaGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWU4NmFhMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N0cmluZ0NhY2hlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0jaWZuZGVmIF9TVFJJTkdDQUNIRV9IXw0KLSNkZWZpbmUgX1NUUklOR0NBQ0hFX0hfDQotDQotI2luY2x1ZGUgPG1hcD4NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLXVzaW5nIG5hbWVzcGFjZSBzdGQ7DQotDQotLyoqDQotICogQSBzaW1wbGUgY2FjaGUgdGhhdCBhbGxvd3MgZm9yIGNhY2hpbmcgdGhlIG1hcHBpbmcgb2Ygb25lIHN0cmluZyB0byBhbm90aGVyIGNhbGN1bGF0ZWQgb25lDQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgU3RyaW5nQ2FjaGUgew0KLXByaXZhdGU6DQotCW1hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IGNhY2hlOw0KLQ0KLQkNCi0JLyoqDQotCSAqIEBwYXJhbSBpbnB1dA0KLQkgKiBAcmV0dXJuIHRoZSB2YWx1ZSBmb3IgYSBnaXZlbiBpbnB1dA0KLQkgKi8NCi1wdWJsaWM6DQotCVN0cmluZ0NhY2hlKCk7DQotCXZpcnR1YWwgflN0cmluZ0NhY2hlKCk7DQotCQ0KLQkNCi0Jc3RkOjpzdHJpbmcmIEdldChjb25zdCBzdGQ6OnN0cmluZyYgaW5wdXQpOw0KLQkNCi0JLyoqDQotCSAqIFdpbGwgb25seSBiZSBjYWxsZWQgaWYgYSB2YWx1ZSBoYXMgbm90IGFscmVhZHkgYmVlbiBjYWxjdWxhdGVkDQotCSAqIEBwYXJhbSBpbnB1dA0KLQkgKiBAcmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlIGZvciBhIGdpdmVuIGlucHV0DQotCSAqLw0KLQl2aXJ0dWFsIHN0ZDo6c3RyaW5nIENhbGMoY29uc3Qgc3RkOjpzdHJpbmcmIGlucHV0KSA9IDA7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ODZlMTcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9TeXN0ZW0uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLyoNCi0gKiBTeXN0ZW0uY3BwDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI2LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3V0aWwvU3lzdGVtLmgiDQotI2luY2x1ZGUgInNlbUxpYi5oIg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpbmNsdWRlIDxzeXNMaWIuaD4gLy8gZm9yIHN5c0Nsa1JhdGVHZXQNCi0jaW5jbHVkZSA8dXNyTGliLmg+IC8vIGZvciB0YXNrRGVsYXkNCi0NCi12b2lkIHNsZWVwX21zKHVuc2lnbmVkIGxvbmcgbXMpew0KLQl0YXNrRGVsYXkoKElOVDMyKSgoZG91YmxlKXN5c0Nsa1JhdGVHZXQoKSAqIG1zIC8gMTAwMCkpOw0KLX0NCi11bnNpZ25lZCBsb25nIGN1cnJlbnRUaW1lTWlsbGlzKCl7DQotCXN0cnVjdCB0aW1lc3BlYyB0cDsNCi0JY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwmdHApOw0KLQlyZXR1cm4gdHAudHZfc2VjKjEwMDAgKyB0cC50dl9uc2VjLzEwMDA7DQotfQ0KLXZvaWQgd3JpdGVXYXJuaW5nKGNvbnN0IGNoYXIqIG1lc3NhZ2Upew0KLQlmcHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBtZXNzYWdlKTsNCi0JZmZsdXNoKHN0ZGVycik7DQotCS8vVE9ETyBpbXBsZW1lbnQgd3JpdGUgd2FybmluZyB3aXRoIHdwaWxpYiBlcnJvciBzdHVmZg0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvbmV0d29ya3RhYmxlczIvdXRpbC9TeXN0ZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTAzMDE2MC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uZXR3b3JrdGFibGVzMi91dGlsL1N5c3RlbS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoNCi0gKiBTeXN0ZW0uaA0KLSAqIA0KLSAqIEZvciBzb21lIHBsYXRmb3JtIHNwZWNpZmljIGNvZGUgcmVsYXRlZCB0byB0aGUgc3lzdGVtDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDI1LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBUSU1FX0hfDQotI2RlZmluZSBUSU1FX0hfDQotDQotLyoqDQotICogQ2F1c2VzIHRoZSBjdXJyZW50IHRocmVhZCB0byBzbGVlcCBhdCBsZWFzdCB0aGUNCi0gKiBnaXZlbiBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLg0KLSAqIA0KLSAqIEBwYXJhbSBtcyBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBzbGVlcC4NCi0gKi8NCi12b2lkIHNsZWVwX21zKHVuc2lnbmVkIGxvbmcgbXMpOw0KLQ0KLS8qKg0KLSAqIFJldHJpZXZlcyB0aGUgY3VycmVudCB0aW1lIGluIG1pbGxpc2Vjb25kcy4NCi0gKiANCi0gKiBAcmV0dXJuIFRoZSBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzLg0KLSAqLw0KLXVuc2lnbmVkIGxvbmcgY3VycmVudFRpbWVNaWxsaXMoKTsNCi0NCi0vKioNCi0gKiBXcml0ZXMgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gdGhlIHN0YW5kYXJkIGVycm9yDQotICogc3RyZWFtLg0KLSAqIA0KLSAqIEBwYXJhbSBtZXNzYWdlIFRoZSBzdHJpbmcgbWVzc2FnZSB0byB3cml0ZS4NCi0gKi8NCi12b2lkIHdyaXRlV2FybmluZyhjb25zdCBjaGFyKiBtZXNzYWdlKTsNCi0NCi0NCi0jZW5kaWYgLyogVElNRV9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25pdmlzaW9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9uaXZpc2lvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5N2JkNWY3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL25pdmlzaW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MzQzICswLDAgQEAKLS8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQotLyogICAgICAgICAgICAgICAgICAgICAgICBJTUFRIFZpc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qICAgIENvcHlyaWdodCAoYykgTmF0aW9uYWwgSW5zdHJ1bWVudHMgMjAwMS4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICAgICAgICAgICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIFRpdGxlOiAgICAgICBOSVZpc2lvbi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KLSNpZiAhZGVmaW5lZChOaVZpc2lvbl9oKQ0KLSNkZWZpbmUgTmlWaXNpb25faA0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBJbmNsdWRlcw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSNpbmNsdWRlIDxzdGRkZWYuaD4NCi0NCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ29udHJvbCBEZWZpbmVzDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotI2lmICFkZWZpbmVkKElNQVFfSU1QT1JUKQ0KLQkjaWZuZGVmIF9fR05VQ19fDQotCQkjZGVmaW5lIElNQVFfSU1QT1JUIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQ0KLQkjZWxzZQ0KLQkJI2RlZmluZSBJTUFRX0lNUE9SVA0KLQkjZW5kaWYNCi0jZW5kaWYNCi0NCi0jaWYgIWRlZmluZWQoSU1BUV9GVU5DKQ0KLSAgICAjaWYgIWRlZmluZWQoX19jcGx1c3BsdXMpDQotICAgICAgICAjZGVmaW5lIElNQVFfRlVOQyBJTUFRX0lNUE9SVA0KLSAgICAjZWxzZQ0KLSAgICAgICAgI2RlZmluZSBJTUFRX0ZVTkMgZXh0ZXJuICJDIiBJTUFRX0lNUE9SVA0KLSAgICAjZW5kaWYNCi0jZW5kaWYNCi0NCi0jaWYgIWRlZmluZWQoSU1BUV9TVERDQUxMKQ0KLQkjaWZuZGVmIF9fR05VQ19fDQotCQkjZGVmaW5lIElNQVFfU1REQ0FMTCBfX3N0ZGNhbGwNCi0JI2Vsc2UNCi0JCSNkZWZpbmUgSU1BUV9TVERDQUxMIA0KLQkjZW5kaWYNCi0jZW5kaWYNCi0NCi0jaWZkZWYgX0NWSV8NCi0jcHJhZ21hIEVuYWJsZUxpYnJhcnlSdW50aW1lQ2hlY2tpbmcNCi0jaW5jbHVkZSA8YW5zaV9jLmg+DQotI2VuZGlmDQotDQotI2RlZmluZSBJTUFRX0NBTExCQUNLIF9fY2RlY2wNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgTWFuaWZlc3QgQ29uc3RhbnRzDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotI2lmbmRlZiBOVUxMDQotICAgICNpZmRlZiBfX2NwbHVzcGx1cw0KLSAgICAgICAgI2RlZmluZSBOVUxMICAgIDANCi0gICAgI2Vsc2UNCi0gICAgICAgICNkZWZpbmUgTlVMTCAgICAoKHZvaWQgKikwKQ0KLSAgICAjZW5kaWYNCi0jZW5kaWYNCi0NCi0jaWZuZGVmIEZBTFNFDQotICAgICNkZWZpbmUgRkFMU0UgICAgICAgICAgICAgICAwDQotI2VuZGlmDQotDQotI2lmbmRlZiBUUlVFDQotICAgICNkZWZpbmUgVFJVRSAgICAgICAgICAgICAgICAxDQotI2VuZGlmDQotDQotI2RlZmluZSBJTUFRX0RFRkFVTFRfU0hPV19DT09SRElOQVRFUyBUUlVFDQotI2RlZmluZSBJTUFRX0RFRkFVTFRfTUFYX0lDT05TX1BFUl9MSU5FIDQNCi0jZGVmaW5lIElNQVFfREVGQVVMVF9MRUFSTklOR19NT0RFIElNQVFfTEVBUk5fU0hJRlRfSU5GT1JNQVRJT04NCi0jZGVmaW5lIElNQVFfREVGQVVMVF9CTVBfQ09NUFJFU1MgRkFMU0UNCi0jZGVmaW5lIElNQVFfREVGQVVMVF9QTkdfUVVBTElUWSA3NTANCi0jZGVmaW5lIElNQVFfREVGQVVMVF9KUEVHX1FVQUxJVFkgNzUwDQotI2RlZmluZSBJTUFRX0FMTF9DT05UT1VSUyAtMQ0KLSNkZWZpbmUgSU1BUV9BTExfV0lORE9XUyAtMQ0KLSNkZWZpbmUgSU1BUV9TSElGVCAgICAgIDENCi0jZGVmaW5lIElNQVFfQUxUICAgICAgICAyDQotI2RlZmluZSBJTUFRX0NUUkwgICAgICAgNA0KLSNkZWZpbmUgSU1BUV9DQVBTX0xPQ0sgIDgNCi0jZGVmaW5lIElNQVFfTU9EQUxfRElBTE9HIC0xDQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX1RSQU5TUEFSRU5UIHsgICAwLCAgIDAsICAgMCwgMSB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX1JFRCAgICAgICAgIHsgICAwLCAgIDAsIDI1NSwgMCB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX0JMVUUgICAgICAgIHsgMjU1LCAgIDAsICAgMCwgMCB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX0dSRUVOICAgICAgIHsgICAwLCAyNTUsICAgMCwgMCB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX1lFTExPVyAgICAgIHsgICAwLCAyNTUsIDI1NSwgMCB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX1dISVRFICAgICAgIHsgMjU1LCAyNTUsIDI1NSwgMCB9DQotI2RlZmluZSBJTUFRX0lOSVRfUkdCX0JMQUNLICAgICAgIHsgICAwLCAgIDAsICAgMCwgMCB9DQotI2RlZmluZSBJTUFRX1VTRV9ERUZBVUxUX1FVQUxJVFkgIC0xDQotI2RlZmluZSBJTUFRX0FMTF9TQU1QTEVTICAgICAgICAgIC0xDQotI2RlZmluZSBJTUFRX0FMTF9PQkpFQ1RTICAgICAgICAgIC0xDQotI2RlZmluZSBJTUFRX0FMTF9DSEFSQUNURVJTICAgICAgIC0xDQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFByZWRlZmluZWQgVmFsaWQgQ2hhcmFjdGVycw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSNkZWZpbmUgSU1BUV9BTllfQ0hBUkFDVEVSICAgICAgICAgICIiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9BbnkgQ2hhcmFjdGVyDQotI2RlZmluZSBJTUFRX0FMUEhBQkVUSUMgICAgICAgICAgICAgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiICAgICAgICAgICAgICAvL0FscGhhYmV0aWMNCi0jZGVmaW5lIElNQVFfQUxQSEFOVU1FUklDICAgICAgICAgICAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiICAgIC8vQWxwaGFudW1lcmljDQotI2RlZmluZSBJTUFRX1VQUEVSQ0FTRV9MRVRURVJTICAgICAgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1VwcGVyY2FzZSBMZXR0ZXJzDQotI2RlZmluZSBJTUFRX0xPV0VSQ0FTRV9MRVRURVJTICAgICAgImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0xvd2VyY2FzZSBMZXR0ZXJzDQotI2RlZmluZSBJTUFRX0RFQ0lNQUxfRElHSVRTICAgICAgICAgIjAxMjM0NTY3ODkiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0RlY2ltYWwgRGlnaXRzDQotI2RlZmluZSBJTUFRX0hFWEFERUNJTUFMX0RJR0lUUyAgICAgIjAxMjM0NTY3ODlBQkNERUZhYmNkZWYiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0hleGFkZWNpbWFsIERpZ2l0cw0KLSNkZWZpbmUgSU1BUV9QQVRURVJOICAgICAgICAgICAgICAgICJceEZGIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9QYXR0ZXJuIChBIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nIHdpdGggdGhlIGNoYXJhY3RlciB2YWx1ZSBzZXQgdG8gMjU1KQ0KLSNkZWZpbmUgSU1BUV9GT1JDRV9TUEFDRSAgICAgICAgICAgICIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9Gb3JjZSBTcGFjZQ0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBNYWNyb3MNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0jZGVmaW5lIElNQVFfTk9fUkVDVCBpbWFxTWFrZVJlY3QoIDAsIDAsIDB4N0ZGRkZGRkYsIDB4N0ZGRkZGRkYpDQotI2RlZmluZSBJTUFRX05PX1JPVEFURURfUkVDVCBpbWFxTWFrZVJvdGF0ZWRSZWN0KCAwLCAwLCAweDdGRkZGRkZGLCAweDdGRkZGRkZGLCAwKQ0KLSNkZWZpbmUgSU1BUV9OT19QT0lOVCBpbWFxTWFrZVBvaW50KCAtMSwgLTEpDQotI2RlZmluZSBJTUFRX05PX1BPSU5UX0ZMT0FUIGltYXFNYWtlUG9pbnRGbG9hdCggLTEuMCwgLTEuMCApDQotI2RlZmluZSBJTUFRX05PX09GRlNFVCBpbWFxTWFrZVBvaW50RmxvYXQoIDAuMCwgMC4wICkNCi0NCi0NCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgV2hlbiBpbiBCb3JsYW5kLCBzb21lIGZ1bmN0aW9ucyBtdXN0IGJlIG1hcHBlZCB0byBkaWZmZXJlbnQgbmFtZXMuDQotLy8gIFRoaXMgYWNjb21wbGlzaGVzIHNhaWQgdGFzay4NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0jaWYgZGVmaW5lZChfX0JPUkxBTkRDX18pIHx8IChkZWZpbmVkKF9DVklfKSAmJiBkZWZpbmVkKF9OSV9CQ18pKQ0KLSAgICAjZGVmaW5lIGltYXFNYWtlUG9pbnQgaW1hcU1ha2VQb2ludF9CQw0KLSAgICAjZGVmaW5lIGltYXFNYWtlUG9pbnRGbG9hdCBpbWFxTWFrZVBvaW50RmxvYXRfQkMNCi0jZW5kaWYNCi0NCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgV2hlbiBpbiBXYXRjb20sIHNvbWUgZnVuY3Rpb25zIG11c3QgYmUgbWFwcGVkIHRvIGRpZmZlcmVudCBuYW1lcy4NCi0vLyAgVGhpcyBhY2NvbXBsaXNoZXMgc2FpZCB0YXNrLg0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSNpZiBkZWZpbmVkKF9fV0FUQ09NQ19fKSB8fCAoZGVmaW5lZChfQ1ZJXykgJiYgZGVmaW5lZChfTklfV0NfKSkNCi0gICAgI2RlZmluZSBpbWFxTWFrZVBvaW50IGltYXFNYWtlUG9pbnRfQkMNCi0gICAgI2RlZmluZSBpbWFxTWFrZVBvaW50RmxvYXQgaW1hcU1ha2VQb2ludEZsb2F0X0JDDQotI2VuZGlmDQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIElmIHVzaW5nIFZpc3VhbCBDKyssIGZvcmNlIHN0YXJ0dXAgJiBzaHV0ZG93biBjb2RlIHRvIHJ1bi4NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0jaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgIWRlZmluZWQoX0NWSV8pICYmICFkZWZpbmVkKF9fQk9STEFORENfXykNCi0gICAgI3ByYWdtYSBjb21tZW50KGxpbmtlciwgIi9JTkNMVURFOl9uaXZpc2lvbl9zdGFydHVwX3NodXRkb3duIikNCi0gICAgI3ByYWdtYSBjb21tZW50KGxpbmtlciwgIi9ERUZBVUxUTElCOm5pdmlzaW9uLmxpYiIpDQotI2VuZGlmDQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEVycm9yIENvZGVzDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotI2RlZmluZSBFUlJfU1VDQ0VTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAvLyBObyBlcnJvci4NCi0jZGVmaW5lIEVSUl9TWVNURU1fRVJST1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE2MCAvLyBTeXN0ZW0gZXJyb3IuDQotI2RlZmluZSBFUlJfT1VUX09GX01FTU9SWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNTkgLy8gTm90IGVub3VnaCBtZW1vcnkgZm9yIHJlcXVlc3RlZCBvcGVyYXRpb24uDQotI2RlZmluZSBFUlJfTUVNT1JZX0VSUk9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNTggLy8gTWVtb3J5IGVycm9yLg0KLSNkZWZpbmUgRVJSX1VOUkVHSVNURVJFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTU3IC8vIFVubGljZW5zZWQgY29weSBvZiBOSSBWaXNpb24uDQotI2RlZmluZSBFUlJfTkVFRF9GVUxMX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNTYgLy8gVGhlIGZ1bmN0aW9uIHJlcXVpcmVzIGFuIE5JIFZpc2lvbiA1LjAgQWR2YW5jZWQgbGljZW5zZS4NCi0jZGVmaW5lIEVSUl9VTklOSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE1NSAvLyBOSSBWaXNpb24gZGlkIG5vdCBpbml0aWFsaXplIHByb3Blcmx5Lg0KLSNkZWZpbmUgRVJSX0lNQUdFX1RPT19TTUFMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTU0IC8vIFRoZSBpbWFnZSBpcyBub3QgbGFyZ2UgZW5vdWdoIGZvciB0aGUgb3BlcmF0aW9uLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfQ09EQUJBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTUzIC8vIFRoZSBiYXJjb2RlIGlzIG5vdCBhIHZhbGlkIENvZGFiYXIgYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX0NPREUzOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE1MiAvLyBUaGUgYmFyY29kZSBpcyBub3QgYSB2YWxpZCBDb2RlIDMgb2YgOSBiYXJjb2RlLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfQ09ERTkzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTUxIC8vIFRoZSBiYXJjb2RlIGlzIG5vdCBhIHZhbGlkIENvZGU5MyBiYXJjb2RlLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfQ09ERTEyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTUwIC8vIFRoZSBiYXJjb2RlIGlzIG5vdCBhIHZhbGlkIENvZGUxMjggYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX0VBTjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE0OSAvLyBUaGUgYmFyY29kZSBpcyBub3QgYSB2YWxpZCBFQU44IGJhcmNvZGUuDQotI2RlZmluZSBFUlJfQkFSQ09ERV9FQU4xMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNDggLy8gVGhlIGJhcmNvZGUgaXMgbm90IGEgdmFsaWQgRUFOMTMgYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX0kyNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE0NyAvLyBUaGUgYmFyY29kZSBpcyBub3QgYSB2YWxpZCBJbnRlcmxlYXZlZCAyIG9mIDUgYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX01TSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE0NiAvLyBUaGUgYmFyY29kZSBpcyBub3QgYSB2YWxpZCBNU0kgYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX1VQQ0EgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE0NSAvLyBUaGUgYmFyY29kZSBpcyBub3QgYSB2YWxpZCBVUENBIGJhcmNvZGUuDQotI2RlZmluZSBFUlJfQkFSQ09ERV9DT0RFOTNfU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNDQgLy8gVGhlIENvZGU5MyBiYXJjb2RlIGNvbnRhaW5zIGludmFsaWQgc2hpZnQgZW5jb2RpbmcuDQotI2RlZmluZSBFUlJfQkFSQ09ERV9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxNDMgLy8gVGhlIGJhcmNvZGUgdHlwZSBpcyBpbnZhbGlkLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfSU5WQUxJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTQyIC8vIFRoZSBpbWFnZSBkb2VzIG5vdCByZXByZXNlbnQgYSB2YWxpZCBsaW5lYXIgYmFyY29kZS4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX0NPREUxMjhfRk5DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjE0MSAvLyBUaGUgRk5DIHZhbHVlIGluIHRoZSBDb2RlMTI4IGJhcmNvZGUgaXMgbm90IGxvY2F0ZWQgYmVmb3JlIHRoZSBmaXJzdCBkYXRhIHZhbHVlLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfQ09ERTEyOF9TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTQwIC8vIFRoZSBzdGFydGluZyBjb2RlIHNldCBpbiB0aGUgQ29kZTEyOCBiYXJjb2RlIGlzIG5vdCB2YWxpZC4NCi0jZGVmaW5lIEVSUl9ST0xMQkFDS19SRVNPVVJDRV9PVVRfT0ZfTUVNT1JZICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEzOSAvLyBOb3QgZW5vdWdoIHJlc2VydmVkIG1lbW9yeSBpbiB0aGUgdGltZWQgZW52aXJvbm1lbnQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX05PVF9TVVBQT1JURUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTM4IC8vIFRoZSBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYSB0aW1lIGxpbWl0IGlzIGFjdGl2ZS4NCi0jZGVmaW5lIEVSUl9ESVJFQ1RYX0RMTF9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEzNyAvLyBRdWFydHouZGxsIG5vdCBmb3VuZC4gIEluc3RhbGwgRGlyZWN0WCA4LjEgb3IgbGF0ZXIuDQotI2RlZmluZSBFUlJfRElSRUNUWF9JTlZBTElEX0ZJTFRFUl9RVUFMSVRZICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMzYgLy8gVGhlIGZpbHRlciBxdWFsaXR5IHlvdSBwcm92aWRlZCBpcyBpbnZhbGlkLiBWYWxpZCBxdWFsaXR5IHZhbHVlcyByYW5nZSBmcm9tIC0xIHRvIDEwMDAuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9CVVRUT05fTEFCRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMzUgLy8gSW52YWxpZCBidXR0b24gbGFiZWwuDQotI2RlZmluZSBFUlJfVEhSRUFEX0lOSVRJQUxJWklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMzQgLy8gQ291bGQgbm90IGV4ZWN1dGUgdGhlIGZ1bmN0aW9uIGluIHRoZSBzZXBhcmF0ZSB0aHJlYWQgYmVjYXVzZSB0aGUgdGhyZWFkIGhhcyBub3QgY29tcGxldGVkIGluaXRpYWxpemF0aW9uLg0KLSNkZWZpbmUgRVJSX1RIUkVBRF9DT1VMRF9OT1RfSU5JVElBTElaRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTMzIC8vIENvdWxkIG5vdCBleGVjdXRlIHRoZSBmdW5jdGlvbiBpbiB0aGUgc2VwYXJhdGUgdGhyZWFkIGJlY2F1c2UgdGhlIHRocmVhZCBjb3VsZCBub3QgaW5pdGlhbGl6ZS4NCi0jZGVmaW5lIEVSUl9NQVNLX05PVF9URU1QTEFURV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEzMiAvLyBUaGUgbWFzayBtdXN0IGJlIHRoZSBzYW1lIHNpemUgYXMgdGhlIHRlbXBsYXRlLg0KLSNkZWZpbmUgRVJSX05PVF9SRUNUX09SX1JPVEFURURfUkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTMwIC8vIFRoZSBST0kgbXVzdCBvbmx5IGhhdmUgZWl0aGVyIGEgc2luZ2xlIFJlY3RhbmdsZSBjb250b3VyIG9yIGEgc2luZ2xlIFJvdGF0ZWQgUmVjdGFuZ2xlIGNvbnRvdXIuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfVU5CT1VOREVEX0lOVEVSRkFDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMjkgLy8gRHVyaW5nIHRpbWVkIGV4ZWN1dGlvbiwgeW91IG11c3QgdXNlIHRoZSBwcmVhbGxvY2F0ZWQgdmVyc2lvbiBvZiB0aGlzIG9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9ST0xMQkFDS19SRVNPVVJDRV9DT05GTElDVF8zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyOCAvLyBBbiBpbWFnZSBiZWluZyBtb2RpZmllZCBieSBvbmUgcHJvY2VzcyBjYW5ub3QgYmUgcmVxdWVzdGVkIGJ5IGFub3RoZXIgcHJvY2VzcyB3aGlsZSBhIHRpbWUgbGltaXQgaXMgYWN0aXZlLg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX1JFU09VUkNFX0NPTkZMSUNUXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTI3IC8vIEFuIGltYWdlIHdpdGggcGF0dGVybiBtYXRjaGluZywgY2FsaWJyYXRpb24sIG9yIG92ZXJsYXkgaW5mb3JtYXRpb24gY2Fubm90IGJlIG1hbmlwdWxhdGVkIHdoaWxlIGEgdGltZSBsaW1pdCBpcyBhY3RpdmUuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfQ09ORkxJQ1RfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMjYgLy8gQW4gaW1hZ2UgY3JlYXRlZCBiZWZvcmUgYSB0aW1lIGxpbWl0IGlzIHN0YXJ0ZWQgY2Fubm90IGJlIHJlc2l6ZWQgd2hpbGUgYSB0aW1lIGxpbWl0IGlzIGFjdGl2ZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTlRSQVNUX1RIUkVTSE9MRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyNSAvLyBJbnZhbGlkIGNvbnRyYXN0IHRocmVzaG9sZC4gVGhlIHRocmVzaG9sZCB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLiANCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NBTElCUkFUSU9OX1JPSV9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyNCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgY2FsaWJyYXRpb24gUk9JIG1vZGUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ0FMSUJSQVRJT05fTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTIzIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjYWxpYnJhdGlvbiBtb2RlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9EUkFXVEVYVF9DT0xPUl9NVVNUX0JFX0dSQVlTQ0FMRSAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyMiAvLyBTZXQgdGhlIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgdGV4dCBjb2xvcnMgdG8gZ3JheXNjYWxlIHRvIGRyYXcgb24gYSBVOCBpbWFnZS4NCi0jZGVmaW5lIEVSUl9TQVRVUkFUSU9OX1RIUkVTSE9MRF9PVVRfT0ZfUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyMSAvLyBUaGUgdmFsdWUgb2YgdGhlIHNhdHVyYXRpb24gdGhyZXNob2xkIG11c3QgYmUgZnJvbSAwIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9OT1RfSU1BR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEyMCAvLyBOb3QgYW4gaW1hZ2UuDQotI2RlZmluZSBFUlJfQ1VTVE9NREFUQV9JTlZBTElEX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMTkgLy8gVGhleSBjdXN0b20gZGF0YSBrZXkgeW91IHN1cHBsaWVkIGlzIGludmFsaWQuIFRoZSBvbmx5IHZhbGlkIGNoYXJhY3RlciB2YWx1ZXMgYXJlIGRlY2ltYWwgMzItMTI2IGFuZCAxNjEtMjU1LiBUaGVyZSBtdXN0IGFsc28gYmUgbm8gcmVwZWF0ZWQsIGxlYWRpbmcsIG9yIHRyYWlsaW5nIHNwYWNlcy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NURVBfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjExOCAvLyBTdGVwIHNpemUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyBhbmQgbGVzcyB0aGFuIEltYWdlIHNpemUNCi0jZGVmaW5lIEVSUl9NQVRSSVhfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjExNyAvLyBJbnZhbGlkIG1hdHJpeCBzaXplIGluIHRoZSBzdHJ1Y3R1cmluZyBlbGVtZW50Lg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lOU0ZfUE9JTlRTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTE2IC8vIEluc3VmZmljaWVudCBudW1iZXIgb2YgY2FsaWJyYXRpb24gZmVhdHVyZSBwb2ludHMuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fSU1BR0VfQ09SUkVDVEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMTUgLy8gVGhlIG9wZXJhdGlvbiBpcyBpbnZhbGlkIGluIGEgY29ycmVjdGVkIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lOVkFMSURfUk9JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTE0IC8vIFRoZSBST0kgY29udGFpbnMgYW4gaW52YWxpZCBjb250b3VyIHR5cGUgb3IgaXMgbm90IGNvbnRhaW5lZCBpbiB0aGUgUk9JIGxlYXJuZWQgZm9yIGNhbGlicmF0aW9uLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lNQUdFX1VOQ0FMSUJSQVRFRCAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTEzIC8vIFRoZSBzb3VyY2UvaW5wdXQgaW1hZ2UgaGFzIG5vdCBiZWVuIGNhbGlicmF0ZWQuDQotI2RlZmluZSBFUlJfSU5DT01QX01BVFJJWF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMTIgLy8gVGhlIG51bWJlciBvZiBwaXhlbCBhbmQgcmVhbC13b3JsZCBjb29yZGluYXRlcyBtdXN0IGJlIGVxdWFsLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0ZBSUxFRF9UT19GSU5EX0dSSUQgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTExIC8vIFVuYWJsZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCBncmlkIGJlY2F1c2UgdGhlIGltYWdlIGlzIHRvbyBkaXN0b3J0ZWQuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fSU5GT19WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMTAgLy8gSW52YWxpZCBjYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiB2ZXJzaW9uLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lOVkFMSURfU0NBTElOR19GQUNUT1IgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTA5IC8vIEludmFsaWQgY2FsaWJyYXRpb24gc2NhbGluZyBmYWN0b3IuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fRVJST1JNQVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMDggLy8gVGhlIGNhbGlicmF0aW9uIGVycm9yIG1hcCBjYW5ub3QgYmUgY29tcHV0ZWQuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fSU5GT18xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMDcgLy8gSW52YWxpZCBjYWxpYnJhdGlvbiB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DQUxJQlJBVElPTl9JTkZPXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEwNiAvLyBJbnZhbGlkIGNhbGlicmF0aW9uIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lORk9fMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTA1IC8vIEludmFsaWQgY2FsaWJyYXRpb24gdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fSU5GT180ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMDQgLy8gSW52YWxpZCBjYWxpYnJhdGlvbiB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DQUxJQlJBVElPTl9JTkZPXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjEwMyAvLyBJbnZhbGlkIGNhbGlicmF0aW9uIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lORk9fNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MTAyIC8vIEludmFsaWQgY2FsaWJyYXRpb24gdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ0FMSUJSQVRJT05fSU5GT19NSUNST19QTEFORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYxMDEgLy8gSW52YWxpZCBjYWxpYnJhdGlvbiB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DQUxJQlJBVElPTl9JTkZPX1BFUlNQRUNUSVZFX1BST0pFQ1RJT04gICAgICAgICAgICAgICAgICAtMTA3NDM5NjEwMCAvLyBJbnZhbGlkIGNhbGlicmF0aW9uIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NBTElCUkFUSU9OX0lORk9fU0lNUExFX1RSQU5TRk9STSAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDk5IC8vIEludmFsaWQgY2FsaWJyYXRpb24gdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfUkVTRVJWRURfTVVTVF9CRV9OVUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwOTggLy8gWW91IG11c3QgcGFzcyBOVUxMIGZvciB0aGUgcmVzZXJ2ZWQgcGFyYW1ldGVyLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUEFSVElDTEVfUEFSQU1FVEVSX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDk3IC8vIFlvdSBlbnRlcmVkIGFuIGludmFsaWQgc2VsZWN0aW9uIGluIHRoZSBwYXJ0aWNsZSBwYXJhbWV0ZXIuDQotI2RlZmluZSBFUlJfTk9UX0FOX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwOTYgLy8gTm90IGFuIG9iamVjdC4NCi0jZGVmaW5lIEVSUl9DQUxJQlJBVElPTl9EVVBMSUNBVEVfUkVGRVJFTkNFX1BPSU5UICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA5NSAvLyBUaGUgcmVmZXJlbmNlIHBvaW50cyBwYXNzZWQgYXJlIGluY29uc2lzdGVudC4gIEF0IGxlYXN0IHR3byBzaW1pbGFyIHBpeGVsIGNvb3JkaW5hdGVzIGNvcnJlc3BvbmQgdG8gZGlmZmVyZW50IHJlYWwtd29ybGQgY29vcmRpbmF0ZXMuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfQ0FOTk9UX1VOTE9DSyAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwOTQgLy8gQSByZXNvdXJjZSBjb25mbGljdCBvY2N1cnJlZCBpbiB0aGUgdGltZWQgZW52aXJvbm1lbnQuIFR3byBwcm9jZXNzZXMgY2Fubm90IG1hbmFnZSB0aGUgc2FtZSByZXNvdXJjZSBhbmQgYmUgdGltZSBib3VuZGVkLg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX1JFU09VUkNFX0xPQ0tFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDkzIC8vIEEgcmVzb3VyY2UgY29uZmxpY3Qgb2NjdXJyZWQgaW4gdGhlIHRpbWVkIGVudmlyb25tZW50LiBUd28gcHJvY2Vzc2VzIGNhbm5vdCBhY2Nlc3MgdGhlIHNhbWUgcmVzb3VyY2UgYW5kIGJlIHRpbWUgYm91bmRlZC4NCi0jZGVmaW5lIEVSUl9ST0xMQkFDS19SRVNPVVJDRV9OT05fRU1QVFlfSU5JVElBTElaRSAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA5MiAvLyBNdWx0aXBsZSB0aW1lZCBlbnZpcm9ubWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfVU5JTklUSUFMSVpFRF9FTkFCTEUgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwOTEgLy8gQSB0aW1lIGxpbWl0IGNhbm5vdCBiZSBzdGFydGVkIHVudGlsIHRoZSB0aW1lZCBlbnZpcm9ubWVudCBpcyBpbml0aWFsaXplZC4NCi0jZGVmaW5lIEVSUl9ST0xMQkFDS19SRVNPVVJDRV9FTkFCTEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA5MCAvLyBNdWx0aXBsZSB0aW1lZCBlbnZpcm9ubWVudHMgYXJlIG5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfUkVTT1VSQ0VfUkVJTklUSUFMSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwODkgLy8gVGhlIHRpbWVkIGVudmlyb25tZW50IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfUkVTSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwODggLy8gVGhlIHJlc3VsdHMgb2YgdGhlIG9wZXJhdGlvbiBleGNlZWRlZCB0aGUgc2l6ZSBsaW1pdHMgb24gdGhlIG91dHB1dCBkYXRhIGFycmF5cy4NCi0jZGVmaW5lIEVSUl9ST0xMQkFDS19TVE9QX1RJTUVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA4NyAvLyBObyB0aW1lIGxpbWl0IGlzIGF2YWlsYWJsZSB0byBzdG9wLg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX1NUQVJUX1RJTUVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDg2IC8vIEEgdGltZSBsaW1pdCBjb3VsZCBub3QgYmUgc2V0Lg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX0lOSVRfVElNRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDg1IC8vIFRoZSB0aW1lZCBlbnZpcm9ubWVudCBjb3VsZCBub3QgYmUgaW5pdGlhbGl6ZWQuDQotI2RlZmluZSBFUlJfUk9MTEJBQ0tfREVMRVRFX1RJTUVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwODQgLy8gTm8gaW5pdGlhbGl6ZWQgdGltZWQgZW52aXJvbm1lbnQgaXMgYXZhaWxhYmxlIHRvIGNsb3NlLg0KLSNkZWZpbmUgRVJSX1JPTExCQUNLX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDgzIC8vIFRoZSB0aW1lIGxpbWl0IGhhcyBleHBpcmVkLg0KLSNkZWZpbmUgRVJSX1BBTEVUVEVfTk9UX1NVUFBPUlRFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDgyIC8vIE9ubHkgOC1iaXQgaW1hZ2VzIHN1cHBvcnQgdGhlIHVzZSBvZiBwYWxldHRlcy4gIEVpdGhlciBkbyBub3QgdXNlIGEgcGFsZXR0ZSwgb3IgY29udmVydCB5b3VyIGltYWdlIHRvIGFuIDgtYml0IGltYWdlIGJlZm9yZSB1c2luZyBhIHBhbGV0dGUuDQotI2RlZmluZSBFUlJfQkFEX1BBU1NXT1JEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwODEgLy8gSW5jb3JyZWN0IHBhc3N3b3JkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfSU1BR0VfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDgwIC8vIEludmFsaWQgaW1hZ2UgdHlwZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01FVEFGSUxFX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3OSAvLyBJbnZhbGlkIG1ldGFmaWxlIGhhbmRsZS4NCi0jZGVmaW5lIEVSUl9JTkNPTVBfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3NyAvLyBJbmNvbXBhdGlibGUgaW1hZ2UgdHlwZS4NCi0jZGVmaW5lIEVSUl9DT09SRF9TWVNfRklSU1RfQVhJUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3NiAvLyBVbmFibGUgdG8gZml0IGEgbGluZSBmb3IgdGhlIHByaW1hcnkgYXhpcy4NCi0jZGVmaW5lIEVSUl9DT09SRF9TWVNfU0VDT05EX0FYSVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3NSAvLyBVbmFibGUgdG8gZml0IGEgbGluZSBmb3IgdGhlIHNlY29uZGFyeSBheGlzLg0KLSNkZWZpbmUgRVJSX0lOQ09NUF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDc0IC8vIEluY29tcGF0aWJsZSBpbWFnZSBzaXplLg0KLSNkZWZpbmUgRVJSX01BU0tfT1VUU0lERV9JTUFHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDczIC8vIFdoZW4gdGhlIG1hc2sncyBvZmZzZXQgd2FzIGFwcGxpZWQsIHRoZSBtYXNrIHdhcyBlbnRpcmVseSBvdXRzaWRlIG9mIHRoZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0JPUkRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3MiAvLyBJbnZhbGlkIGltYWdlIGJvcmRlci4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NDQU5fRElSRUNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA3MSAvLyBJbnZhbGlkIHNjYW4gZGlyZWN0aW9uLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDcwIC8vIFVuc3VwcG9ydGVkIGZ1bmN0aW9uLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ09MT1JfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDY5IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjb2xvciBtb2RlIHlvdSBzcGVjaWZpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9BQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjggLy8gVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIHJlcXVlc3RlZCBhY3Rpb24uDQotI2RlZmluZSBFUlJfSU1BR0VTX05PVF9ESUZGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjcgLy8gVGhlIHNvdXJjZSBpbWFnZSBhbmQgZGVzdGluYXRpb24gaW1hZ2UgbXVzdCBiZSBkaWZmZXJlbnQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9QT0lOVFNZTUJPTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjYgLy8gSW52YWxpZCBwb2ludCBzeW1ib2wuDQotI2RlZmluZSBFUlJfQ0FOVF9SRVNJWkVfRVhURVJOQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjUgLy8gQ2Fubm90IHJlc2l6ZSBhbiBpbWFnZSBpbiBhbiBhY3F1aXNpdGlvbiBidWZmZXIuDQotI2RlZmluZSBFUlJfRVhURVJOQUxfTk9UX1NVUFBPUlRFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjQgLy8gVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBmb3IgaW1hZ2VzIGluIGFuIGFjcXVpc2l0aW9uIGJ1ZmZlci4NCi0jZGVmaW5lIEVSUl9FWFRFUk5BTF9BTElHTk1FTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA2MyAvLyBUaGUgZXh0ZXJuYWwgYnVmZmVyIG11c3QgYmUgYWxpZ25lZCBvbiBhIDQtYnl0ZSBib3VuZGFyeS4gVGhlIGxpbmUgd2lkdGggYW5kIGJvcmRlciBwaXhlbHMgbXVzdCBiZSA0LWJ5dGUgYWxpZ25lZCwgYXMgd2VsbC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1RPTEVSQU5DRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA2MiAvLyBUaGUgdG9sZXJhbmNlIHBhcmFtZXRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfV0lORE9XX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDYxIC8vIFRoZSBzaXplIG9mIGVhY2ggZGltZW5zaW9uIG9mIHRoZSB3aW5kb3cgbXVzdCBiZSBncmVhdGVyIHRoYW4gMiBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzaXplIG9mIHRoZSBpbWFnZSBpbiB0aGUgY29ycmVzcG9uZGluZyBkaW1lbnNpb24uDQotI2RlZmluZSBFUlJfSlBFRzIwMDBfTE9TU0xFU1NfV0lUSF9GTE9BVElOR19QT0lOVCAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNjAgLy8gTG9zc2xlc3MgY29tcHJlc3Npb24gY2Fubm90IGJlIHVzZWQgd2l0aCB0aGUgZmxvYXRpbmcgcG9pbnQgd2F2ZWxldCB0cmFuc2Zvcm0gbW9kZS4gRWl0aGVyIHNldCB0aGUgd2F2ZWxldCB0cmFuc2Zvcm0gbW9kZSB0byBpbnRlZ2VyLCBvciB1c2UgbG9zc3kgY29tcHJlc3Npb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NQVhfSVRFUkFUSU9OUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNTkgLy8gSW52YWxpZCBtYXhpbXVtIG51bWJlciBvZiBpdGVyYXRpb25zLiBNYXhpbXVtIG51bWJlciBvZiBpdGVyYXRpb25zIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9ST1RBVElPTl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNTggLy8gSW52YWxpZCByb3RhdGlvbiBtb2RlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0VBUkNIX1ZFQ1RPUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDU3IC8vIEludmFsaWQgc2VhcmNoIHZlY3RvciB3aWR0aC4gVGhlIHdpZHRoIG11c3QgYmUgYW4gb2RkIG51bWJlciBncmVhdGVyIHRoYW4gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BVFJJWF9NSVJST1JfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA1NiAvLyBJbnZhbGlkIG1hdHJpeCBtaXJyb3IgbW9kZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0FTUEVDVF9SQVRJTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA1NSAvLyBJbnZhbGlkIGFzcGVjdCByYXRpby4gVmFsaWQgYXNwZWN0IHJhdGlvcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ0VMTF9GSUxMX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDU0IC8vIEludmFsaWQgY2VsbCBmaWxsIHR5cGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9CT1JERVJfSU5URUdSSVRZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNTMgLy8gSW52YWxpZCBib3JkZXIgaW50ZWdyaXR5LiBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSAwIHRvIDEwMC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0RFTU9EVUxBVElPTl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA1MiAvLyBJbnZhbGlkIGRlbW9kdWxhdGlvbiBtb2RlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ0VMTF9GSUxURVJfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDUxIC8vIEludmFsaWQgY2VsbCBmaWx0ZXIgbW9kZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0VDQ19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA1MCAvLyBJbnZhbGlkIEVDQyB0eXBlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFUUklYX1BPTEFSSVRZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDQ5IC8vIEludmFsaWQgbWF0cml4IHBvbGFyaXR5Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ0VMTF9TQU1QTEVfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDQ4IC8vIEludmFsaWQgY2VsbCBzYW1wbGUgc2l6ZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0xJTkVBUl9BVkVSQUdFX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjA0NyAvLyBJbnZhbGlkIGxpbmVhciBhdmVyYWdlIG1vZGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF8yRF9CQVJDT0RFX0NPTlRSQVNUX0ZPUl9ST0kgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNDYgLy8gV2hlbiB1c2luZyBhIHJlZ2lvbiBvZiBpbnRlcmVzdCB0aGF0IGlzIG5vdCBhIHJlY3RhbmdsZSwgeW91IG11c3Qgc3BlY2lmeSB0aGUgY29udHJhc3QgbW9kZSBvZiB0aGUgYmFyY29kZSBhcyBlaXRoZXIgYmxhY2sgb24gd2hpdGUgb3Igd2hpdGUgb24gYmxhY2suDQotI2RlZmluZSBFUlJfSU5WQUxJRF8yRF9CQVJDT0RFX1NVQlRZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNDUgLy8gSW52YWxpZCAyLUQgYmFyY29kZSBEYXRhIE1hdHJpeCBzdWJ0eXBlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9TSEFQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDQ0IC8vIEludmFsaWQgMi1EIGJhcmNvZGUgc2hhcGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF8yRF9CQVJDT0RFX0NFTExfU0hBUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNDMgLy8gSW52YWxpZCAyLUQgYmFyY29kZSBjZWxsIHNoYXBlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfMkRfQkFSQ09ERV9DT05UUkFTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDQyIC8vIEludmFsaWQgMi1EIGJhcmNvZGUgY29udHJhc3QuDQotI2RlZmluZSBFUlJfSU5WQUxJRF8yRF9CQVJDT0RFX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwNDEgLy8gSW52YWxpZCAyLUQgYmFyY29kZSB0eXBlLg0KLSNkZWZpbmUgRVJSX0RSSVZFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDQwIC8vIENhbm5vdCBhY2Nlc3MgTkktSU1BUSBkcml2ZXIuDQotI2RlZmluZSBFUlJfSU9fRVJST1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMzkgLy8gSS9PIGVycm9yLg0KLSNkZWZpbmUgRVJSX0ZJTkRfQ09PUkRTWVNfTU9SRV9USEFOX09ORV9FREdFICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDM4IC8vIFdoZW4gc2VhcmNoaW5nIGZvciBhIGNvb3JkaW5hdGUgc3lzdGVtLCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIGZpdCBtdXN0IGJlIDEuDQotI2RlZmluZSBFUlJfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMzcgLy8gVHJpZ2dlciB0aW1lb3V0Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0tFTEVUT05NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDM2IC8vIFRoZSBTa2VsZXRvbiBtb2RlIHlvdSBzcGVjaWZpZWQgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9URU1QTEFURUlNQUdFX05PQ0lSQ0xFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAzNSAvLyBUaGUgdGVtcGxhdGUgaW1hZ2UgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggaW5mb3JtYXRpb24gZm9yIGxlYXJuaW5nIHRoZSBhZ2dyZXNzaXZlIHNlYXJjaCBzdHJhdGVneS4NCi0jZGVmaW5lIEVSUl9URU1QTEFURUlNQUdFX0VER0VJTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAzNCAvLyBUaGUgdGVtcGxhdGUgaW1hZ2UgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggZWRnZSBpbmZvcm1hdGlvbiBmb3IgdGhlIHNhbXBsZSBzaXplKHMpIHJlcXVlc3RlZC4NCi0jZGVmaW5lIEVSUl9URU1QTEFURURFU0NSSVBUT1JfTEVBUk5TRVRVUERBVEEgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAzMyAvLyBJbnZhbGlkIHRlbXBsYXRlIGRlc2NyaXB0b3IuDQotI2RlZmluZSBFUlJfVEVNUExBVEVERVNDUklQVE9SX1JPVEFUSU9OX1NFQVJDSFNUUkFURUdZICAgICAgICAgICAgICAgLTEwNzQzOTYwMzIgLy8gVGhlIHRlbXBsYXRlIGRlc2NyaXB0b3IgZG9lcyBub3QgY29udGFpbiBkYXRhIHJlcXVpcmVkIGZvciB0aGUgcmVxdWVzdGVkIHNlYXJjaCBzdHJhdGVneSBpbiByb3RhdGlvbi1pbnZhcmlhbnQgbWF0Y2hpbmcuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9URVRSQUdPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMzEgLy8gVGhlIGlucHV0IHRldHJhZ29uIG11c3QgaGF2ZSBmb3VyIHBvaW50cy4gVGhlIHBvaW50cyBhcmUgc3BlY2lmaWVkIGNsb2Nrd2lzZSBzdGFydGluZyB3aXRoIHRoZSB0b3AgbGVmdCBwb2ludC4gDQotI2RlZmluZSBFUlJfVE9PX01BTllfQ0xBU1NJRklDQVRJT05fU0VTU0lPTlMgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMzAgLy8gVGhlcmUgYXJlIHRvbyBtYW55IGNsYXNzaWZpY2F0aW9uIHNlc3Npb25zIG9wZW4uICBZb3UgbXVzdCBjbG9zZSBhIHNlc3Npb24gYmVmb3JlIHlvdSBjYW4gb3BlbiBhbm90aGVyIG9uZS4NCi0jZGVmaW5lIEVSUl9USU1FX0JPVU5ERURfRVhFQ1VUSU9OX05PVF9TVVBQT1JURUQgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAyOCAvLyBOSSBWaXNpb24gbm8gbG9uZ2VyIHN1cHBvcnRzIHRpbWUtYm91bmRlZCBleGVjdXRpb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT0xPUl9SRVNPTFVUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMjcgLy8gSW52YWxpZCBDb2xvciBSZXNvbHV0aW9uIGZvciB0aGUgQ29sb3IgQ2xhc3NpZmllcg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUFJPQ0VTU19UWVBFX0ZPUl9FREdFX0RFVEVDVElPTiAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDI2IC8vIEludmFsaWQgcHJvY2VzcyB0eXBlIGZvciBlZGdlIGRldGVjdGlvbi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0FOR0xFX1JBTkdFX0ZPUl9TVFJBSUdIVF9FREdFICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAyNSAvLyBBbmdsZSByYW5nZSB2YWx1ZSBzaG91bGQgYmUgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIHplcm8uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NSU5fQ09WRVJBR0VfRk9SX1NUUkFJR0hUX0VER0UgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMjQgLy8gTWluaW11bSBjb3ZlcmFnZSB2YWx1ZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHplcm8uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9BTkdMRV9UT0xfRk9SX1NUUkFJR0hUX0VER0UgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMjMgLy8gVGhlIGFuZ2xlIHRvbGVyYW5jZSBzaG91bGQgYmUgZXF1YWwgdG8gb3IgZ3JlYXRlciB0aGFuIDAuMDAxLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0VBUkNIX01PREVfRk9SX1NUUkFJR0hUX0VER0UgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDIyIC8vIEludmFsaWQgc2VhcmNoIG1vZGUgZm9yIGRldGVjdGluZyBzdHJhaWdodCBlZGdlcw0KLSNkZWZpbmUgRVJSX0lOVkFMSURfS0VSTkVMX1NJWkVfRk9SX0VER0VfREVURUNUSU9OICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDIxIC8vIEludmFsaWQga2VybmVsIHNpemUgZm9yIGVkZ2UgZGV0ZWN0aW9uLiBUaGUgbWluaW11bSBrZXJuZWwgc2l6ZSBpcyAzLCB0aGUgbWF4aW11bSBrZXJuZWwgc2l6ZSBpcyAxMDczNzQxODIzIGFuZCB0aGUga2VybmVsIHNpemUgbXVzdCBiZSBvZGQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9HUkFESU5HX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMjAgLy8gSW52YWxpZCBncmFkaW5nIG1vZGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9USFJFU0hPTERfUEVSQ0VOVEFHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMTkgLy8gSW52YWxpZCB0aHJlc2hvbGQgcGVyY2VudGFnZS4gVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAxMDAuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9FREdFX1BPTEFSSVRZX1NFQVJDSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMTggLy8gSW52YWxpZCBlZGdlIHBvbGFyaXR5IHNlYXJjaCBtb2RlLg0KLSNkZWZpbmUgRVJSX09QRU5JTkdfTkVXRVJfQUlNX0dSQURJTkdfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDE3IC8vIFRoZSBBSU0gZ3JhZGluZyBkYXRhIGF0dGFjaGVkIHRvIHRoZSBpbWFnZSB5b3UgdHJpZWQgdG8gb3BlbiB3YXMgY3JlYXRlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byByZWFkIHRoaXMgZmlsZS4NCi0jZGVmaW5lIEVSUl9OT19WSURFT19EUklWRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAxNiAvLyBObyB2aWRlbyBkcml2ZXIgaXMgaW5zdGFsbGVkLg0KLSNkZWZpbmUgRVJSX1JQQ19FWEVDVVRFX0lWQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDE1IC8vIFVuYWJsZSB0byBlc3RhYmxpc2ggbmV0d29yayBjb25uZWN0aW9uIHdpdGggcmVtb3RlIHN5c3RlbS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1ZJREVPX0JMSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAxNCAvLyBSVCBWaWRlbyBPdXQgZG9lcyBub3Qgc3VwcG9ydCBkaXNwbGF5aW5nIHRoZSBzdXBwbGllZCBpbWFnZSB0eXBlIGF0IHRoZSBzZWxlY3RlZCBjb2xvciBkZXB0aC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1ZJREVPX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAxMyAvLyBJbnZhbGlkIHZpZGVvIG1vZGUuDQotI2RlZmluZSBFUlJfUlBDX0VYRUNVVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMTIgLy8gVW5hYmxlIHRvIGRpc3BsYXkgcmVtb3RlIGltYWdlIG9uIG5ldHdvcmsgY29ubmVjdGlvbi4NCi0jZGVmaW5lIEVSUl9SUENfQklORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAxMSAvLyBVbmFibGUgdG8gZXN0YWJsaXNoIG5ldHdvcmsgY29ubmVjdGlvbi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0ZSQU1FX05VTUJFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAxMCAvLyBJbnZhbGlkIGZyYW1lIG51bWJlci4NCi0jZGVmaW5lIEVSUl9ESVJFQ1RYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAwOSAvLyBBbiBpbnRlcm5hbCBEaXJlY3RYIGVycm9yIGhhcyBvY2N1cnJlZC4gIFRyeSB1cGdyYWRpbmcgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIERpcmVjdFguDQotI2RlZmluZSBFUlJfRElSRUNUWF9OT19GSUxURVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMDggLy8gQW4gYXBwcm9wcmlhdGUgRGlyZWN0WCBmaWx0ZXIgdG8gcHJvY2VzcyB0aGlzIGZpbGUgY291bGQgbm90IGJlIGZvdW5kLiAgSW5zdGFsbCB0aGUgZmlsdGVyIHRoYXQgd2FzIHVzZWQgdG8gY3JlYXRlIHRoaXMgQVZJLiBVcGdyYWRpbmcgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIERpcmVjdFggbWF5IGNvcnJlY3QgdGhpcyBlcnJvci4gIE5JIFZpc2lvbiByZXF1aXJlcyBEaXJlY3RYIDguMSBvciBoaWdoZXIuDQotI2RlZmluZSBFUlJfRElSRUNUWF9JTkNPTVBBVElCTEVfQ09NUFJFU1NJT05fRklMVEVSICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMDcgLy8gSW5jb21wYXRpYmxlIGNvbXByZXNzaW9uIGZpbHRlci4NCi0jZGVmaW5lIEVSUl9ESVJFQ1RYX1VOS05PV05fQ09NUFJFU1NJT05fRklMVEVSICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAwNiAvLyBVbmtub3duIGNvbXByZXNzaW9uIGZpbHRlci4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0FWSV9TRVNTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAwNSAvLyBJbnZhbGlkIEFWSSBzZXNzaW9uLg0KLSNkZWZpbmUgRVJSX0RJUkVDVFhfQ0VSVElGSUNBVElPTl9GQUlMVVJFICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk2MDA0IC8vIEEgc29mdHdhcmUga2V5IGlzIHJlc3RyaWN0aW5nIHRoZSB1c2Ugb2YgdGhpcyBjb21wcmVzc2lvbiBmaWx0ZXIuDQotI2RlZmluZSBFUlJfQVZJX0RBVEFfRVhDRUVEU19CVUZGRVJfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMDMgLy8gVGhlIGRhdGEgZm9yIHRoaXMgZnJhbWUgZXhjZWVkcyB0aGUgZGF0YSBidWZmZXIgc2l6ZSBzcGVjaWZpZWQgd2hlbiBjcmVhdGluZyB0aGUgQVZJIGZpbGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9MSU5FR0FVR0VNRVRIT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTYwMDIgLy8gSW52YWxpZCBsaW5lIGdhdWdlIG1ldGhvZC4NCi0jZGVmaW5lIEVSUl9UT09fTUFOWV9BVklfU0VTU0lPTlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAwMSAvLyBUaGVyZSBhcmUgdG9vIG1hbnkgQVZJIHNlc3Npb25zIG9wZW4uICBZb3UgbXVzdCBjbG9zZSBhIHNlc3Npb24gYmVmb3JlIHlvdSBjYW4gb3BlbiBhbm90aGVyIG9uZS4NCi0jZGVmaW5lIEVSUl9GSUxFX0ZJTEVfSEVBREVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NjAwMCAvLyBJbnZhbGlkIGZpbGUgaGVhZGVyLg0KLSNkZWZpbmUgRVJSX0ZJTEVfRklMRV9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTk5IC8vIEludmFsaWQgZmlsZSB0eXBlLg0KLSNkZWZpbmUgRVJSX0ZJTEVfQ09MT1JfVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTk4IC8vIEludmFsaWQgY29sb3IgdGFibGUuDQotI2RlZmluZSBFUlJfRklMRV9BUkdFUlIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5OTcgLy8gSW52YWxpZCBwYXJhbWV0ZXIuDQotI2RlZmluZSBFUlJfRklMRV9PUEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5OTYgLy8gRmlsZSBpcyBhbHJlYWR5IG9wZW4gZm9yIHdyaXRpbmcuDQotI2RlZmluZSBFUlJfRklMRV9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5OTUgLy8gRmlsZSBub3QgZm91bmQuDQotI2RlZmluZSBFUlJfRklMRV9UT09fTUFOWV9PUEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5OTQgLy8gVG9vIG1hbnkgZmlsZXMgb3Blbi4NCi0jZGVmaW5lIEVSUl9GSUxFX0lPX0VSUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk5MyAvLyBGaWxlIEkvTyBlcnJvci4NCi0jZGVmaW5lIEVSUl9GSUxFX1BFUk1JU1NJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk5MiAvLyBGaWxlIGFjY2VzcyBkZW5pZWQuDQotI2RlZmluZSBFUlJfRklMRV9JTlZBTElEX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5OTEgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZpbGUgdHlwZSB5b3Ugc3BlY2lmaWVkLg0KLSNkZWZpbmUgRVJSX0ZJTEVfR0VUX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTkwIC8vIENvdWxkIG5vdCByZWFkIFZpc2lvbiBpbmZvIGZyb20gZmlsZS4NCi0jZGVmaW5lIEVSUl9GSUxFX1JFQUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk4OSAvLyBVbmFibGUgdG8gcmVhZCBkYXRhLg0KLSNkZWZpbmUgRVJSX0ZJTEVfV1JJVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTg4IC8vIFVuYWJsZSB0byB3cml0ZSBkYXRhLg0KLSNkZWZpbmUgRVJSX0ZJTEVfRU9GICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTg3IC8vIFByZW1hdHVyZSBlbmQgb2YgZmlsZS4NCi0jZGVmaW5lIEVSUl9GSUxFX0ZPUk1BVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk4NiAvLyBJbnZhbGlkIGZpbGUgZm9ybWF0Lg0KLSNkZWZpbmUgRVJSX0ZJTEVfT1BFUkFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTg1IC8vIEludmFsaWQgZmlsZSBvcGVyYXRpb24uDQotI2RlZmluZSBFUlJfRklMRV9JTlZBTElEX0RBVEFfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5ODQgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZpbGUgZGF0YSB0eXBlIHlvdSBzcGVjaWZpZWQuDQotI2RlZmluZSBFUlJfRklMRV9OT19TUEFDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5ODMgLy8gRGlzayBmdWxsLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRlJBTUVTX1BFUl9TRUNPTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTgyIC8vIFRoZSBmcmFtZXMgcGVyIHNlY29uZCBpbiBhbiBBVkkgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4NCi0jZGVmaW5lIEVSUl9JTlNVRkZJQ0lFTlRfQlVGRkVSX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk4MSAvLyBUaGUgYnVmZmVyIHRoYXQgd2FzIHBhc3NlZCBpbiBpcyBub3QgYmlnIGVub3VnaCB0byBob2xkIGFsbCBvZiB0aGUgZGF0YS4NCi0jZGVmaW5lIEVSUl9DT01fSU5JVElBTElaRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk4MCAvLyBFcnJvciBpbml0aWFsaXppbmcgQ09NLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUEFSVElDTEVfSU5GTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTc5IC8vIFRoZSBpbWFnZSBoYXMgaW52YWxpZCBwYXJ0aWNsZSBpbmZvcm1hdGlvbi4gIENhbGwgaW1hcUNvdW50UGFydGljbGVzIG9uIHRoZSBpbWFnZSB0byBjcmVhdGUgcGFydGljbGUgaW5mb3JtYXRpb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9QQVJUSUNMRV9OVU1CRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzggLy8gSW52YWxpZCBwYXJ0aWNsZSBudW1iZXIuDQotI2RlZmluZSBFUlJfQVZJX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzcgLy8gVGhlIEFWSSBmaWxlIHdhcyBjcmVhdGVkIGluIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byByZWFkIHRoaXMgQVZJIGZpbGUuDQotI2RlZmluZSBFUlJfTlVNQkVSX09GX1BBTEVUVEVfQ09MT1JTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzYgLy8gVGhlIGNvbG9yIHBhbGV0dGUgbXVzdCBoYXZlIGV4YWN0bHkgMCBvciAyNTYgZW50cmllcy4NCi0jZGVmaW5lIEVSUl9BVklfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk3NSAvLyBEaXJlY3RYIGhhcyB0aW1lZCBvdXQgcmVhZGluZyBvciB3cml0aW5nIHRoZSBBVkkgZmlsZS4gIFdoZW4gY2xvc2luZyBhbiBBVkkgZmlsZSwgdHJ5IGFkZGluZyBhbiBhZGRpdGlvbmFsIGRlbGF5LiAgV2hlbiByZWFkaW5nIGFuIEFWSSBmaWxlLCB0cnkgcmVkdWNpbmcgQ1BVIGFuZCBkaXNrIGxvYWQuDQotI2RlZmluZSBFUlJfVU5TVVBQT1JURURfSlBFRzIwMDBfQ09MT1JTUEFDRV9NRVRIT0QgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzQgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBKUEVHMjAwMCBmaWxlcyB3aXRoIHRoaXMgY29sb3JzcGFjZSBtZXRob2QuDQotI2RlZmluZSBFUlJfSlBFRzIwMDBfVU5TVVBQT1JURURfTVVMVElQTEVfTEFZRVJTICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzMgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBKUEVHMjAwMCBmaWxlcyB3aXRoIG1vcmUgdGhhbiBvbmUgbGF5ZXIuDQotI2RlZmluZSBFUlJfRElSRUNUWF9FTlVNRVJBVEVfRklMVEVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NzIgLy8gRGlyZWN0WCBpcyB1bmFibGUgdG8gZW51bWVyYXRlIHRoZSBjb21wcmVzc2lvbiBmaWx0ZXJzLiBUaGlzIGlzIGNhdXNlZCBieSBhIHRoaXJkLXBhcnR5IGNvbXByZXNzaW9uIGZpbHRlciB0aGF0IGlzIGVpdGhlciBpbXByb3Blcmx5IGluc3RhbGxlZCBvciBpcyBwcmV2ZW50aW5nIGl0c2VsZiBmcm9tIGJlaW5nIGVudW1lcmF0ZWQuIFJlbW92ZSBhbnkgcmVjZW50bHkgaW5zdGFsbGVkIGNvbXByZXNzaW9uIGZpbHRlcnMgYW5kIHRyeSBhZ2Fpbi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk3MSAvLyBUaGUgb2Zmc2V0IHlvdSBzcGVjaWZpZWQgbXVzdCBiZSBzaXplIDIuDQotI2RlZmluZSBFUlJfSU5JVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NjAgLy8gSW5pdGlhbGl6YXRpb24gZXJyb3IuDQotI2RlZmluZSBFUlJfQ1JFQVRFX1dJTkRPVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NTkgLy8gVW5hYmxlIHRvIGNyZWF0ZSB3aW5kb3cuDQotI2RlZmluZSBFUlJfV0lORE9XX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NTggLy8gSW52YWxpZCB3aW5kb3cgSUQuDQotI2RlZmluZSBFUlJfQVJSQVlfU0laRV9NSVNNQVRDSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NTcgLy8gVGhlIGFycmF5IHNpemVzIGFyZSBub3QgY29tcGF0aWJsZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1FVQUxJVFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk1NiAvLyBUaGUgcXVhbGl0eSB5b3UgcHJvdmlkZWQgaXMgaW52YWxpZC4gVmFsaWQgcXVhbGl0eSB2YWx1ZXMgcmFuZ2UgZnJvbSAtMSB0byAxMDAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFYX1dBVkVMRVRfVFJBTlNGT1JNX0xFVkVMICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTU1IC8vIEludmFsaWQgbWF4aW11bSB3YXZlbGV0IHRyYW5zZm9ybSBsZXZlbC4gIFZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUVVBTlRJWkFUSU9OX1NURVBfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTU0IC8vIFRoZSBxdWFudGl6YXRpb24gc3RlcCBzaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDAuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9XQVZFTEVUX1RSQU5TRk9STV9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NTMgLy8gSW52YWxpZCB3YXZlbGV0IHRyYW5zZm9ybSBtb2RlLg0KLSNkZWZpbmUgRVJSX1JPSV9OT1RfUE9JTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTUyIC8vIFRoZSBST0kgbXVzdCBvbmx5IGhhdmUgYSBzaW5nbGUgUG9pbnQgY29udG91ci4NCi0jZGVmaW5lIEVSUl9ST0lfTk9UX1BPSU5UUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk1MSAvLyBUaGUgUk9JIG11c3Qgb25seSBoYXZlIFBvaW50IGNvbnRvdXJzLg0KLSNkZWZpbmUgRVJSX1JPSV9OT1RfTElORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTUwIC8vIFRoZSBST0kgbXVzdCBvbmx5IGhhdmUgYSBzaW5nbGUgTGluZSBjb250b3VyLg0KLSNkZWZpbmUgRVJSX1JPSV9OT1RfQU5OVUxVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTQ5IC8vIFRoZSBST0kgbXVzdCBvbmx5IGhhdmUgYSBzaW5nbGUgQW5udWx1cyBjb250b3VyLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUVBU1VSRV9QQVJUSUNMRVNfQ0FMSUJSQVRJT05fTU9ERSAgICAgICAgICAgICAgIC0xMDc0Mzk1OTQ4IC8vIEludmFsaWQgbWVhc3VyZSBwYXJ0aWNsZXMgY2FsaWJyYXRpb24gbW9kZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1BBUlRJQ0xFX0NMQVNTSUZJRVJfVEhSRVNIT0xEX1RZUEUgICAgICAgICAgICAgICAtMTA3NDM5NTk0NyAvLyBJbnZhbGlkIHBhcnRpY2xlIGNsYXNzaWZpZXIgdGhyZXNob2xkIHR5cGUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9ESVNUQU5DRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NDYgLy8gSW52YWxpZCBDb2xvciBTZWdtZW50YXRpb24gRGlzdGFuY2UNCi0jZGVmaW5lIEVSUl9JTlZBTElEX1BBUlRJQ0xFX0FSRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk0NSAvLyBJbnZhbGlkIENvbG9yIFNlZ21lbmF0aW9uIFBhcnRpY2xlIEFyZWENCi0jZGVmaW5lIEVSUl9DTEFTU19OQU1FX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTk0NCAvLyBSZXF1aXJlZCBDbGFzcyBuYW1lIGlzIG5vdCBmb3VuZCBpbiB0cmFpbmVkIGxhYmVscy9DbGFzcyBuYW1lcw0KLSNkZWZpbmUgRVJSX05VTUJFUl9MQUJFTF9MSU1JVF9FWENFRURFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTQzIC8vIE51bWJlciBvZiBMYWJlbHMgZXhjZWVkZWQgbGltaXQgb2YgbGFiZWwgSW1hZ2UgdHlwZQ0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRElTVEFOQ0VfTEVWRUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTQyIC8vIEludmFsaWQgQ29sb3IgU2VnbWVudGF0aW9uIGRpc3RhbmNlIGxldmVsDQotI2RlZmluZSBFUlJfSU5WQUxJRF9TVk1fVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5NDEgLy8gSW52YWxpZCBTVk0gbW9kZWwgdHlwZQ0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1ZNX0tFUk5FTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTQwIC8vIEludmFsaWQgU1ZNIGtlcm5lbCB0eXBlDQotI2RlZmluZSBFUlJfTk9fU1VQUE9SVF9WRUNUT1JfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5MzkgLy8gTm8gU3VwcG9ydCBWZWN0b3IgaXMgZm91bmQgYXQgU1ZNIHRyYWluaW5nDQotI2RlZmluZSBFUlJfQ09TVF9MQUJFTF9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5MzggLy8gTGFiZWwgbmFtZSBpcyBub3QgZm91bmQgaW4gYWRkZWQgc2FtcGxlcw0KLSNkZWZpbmUgRVJSX0VYQ0VFREVEX1NWTV9NQVhfSVRFUkFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTM3IC8vIFNWTSB0cmFpbmluZyBleGNlZWRlZCBtYXhpbWltIEl0ZXJhdGlvbiBsaW1pdA0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1ZNX1BBUkFNRVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTM2IC8vIEludmFsaWQgU1ZNIFBhcmFtZXRlcg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfSURFTlRJRklDQVRJT05fU0NPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTM1IC8vIEludmFsaWQgSWRlbnRpZmljYXRpb24gc2NvcmUuIE11c3QgYmUgYmV0d2VlbiAwLTEwMDAuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9URVhUVVJFX0ZFQVRVUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5MzQgLy8gUmVxdWVzdGVkIGZvciBpbnZhbGlkIHRleHR1cmUgZmVhdHVyZQ0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ09PQ0NVUlJFTkNFX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTMzIC8vIFRoZSBjb09jY3VycmVuY2UgTGV2ZWwgbXVzdCBsaWUgYmV0d2VlbiAxIGFuZCB0aGUgbWF4aW11bSBwaXhlbCB2YWx1ZSBvZiBhbiBpbWFnZSAoMjU1IGZvciBVOCBpbWFnZSkNCi0jZGVmaW5lIEVSUl9JTlZBTElEX1dBVkVMRVRfU1VCQkFORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTkzMiAvLyBSZXF1ZXN0IGZvciBpbnZhbGlkIHdhdmVsZXQgc3ViQmFuZA0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRklOQUxfU1RFUF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTMxIC8vIFRoZSBmaW5hbCBzdGVwIHNpemUgbXVzdCBiZSBsZXNzZXIgdGhhbiB0aGUgaW5pdGlhbCBzdGVwIHNpemUNCi0jZGVmaW5lIEVSUl9JTlZBTElEX0VORVJHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTkzMCAvLyBNaW5pbXVtIEVuZXJneSBzaG91bGQgbGllIGJldHdlZW4gMCBhbmQgMTAwDQotI2RlZmluZSBFUlJfSU5WQUxJRF9URVhUVVJFX0xBQkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU5MjkgLy8gVGhlIGNsYXNzaWZpY2F0aW9uIGxhYmVsIG11c3QgYmUgdGV4dHVyZSBvciBkZWZlY3QgZm9yIHRleHR1cmUgZGVmZWN0IGNsYXNzaWZpZXINCi0jZGVmaW5lIEVSUl9JTlZBTElEX1dBVkVMRVRfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTkyOCAvLyBUaGUgd2F2ZWxldCB0eXBlIGlzIGludmFsaWQNCi0jZGVmaW5lIEVSUl9TQU1FX1dBVkVMRVRfQkFORFNfU0VMRUNURUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTkyNyAvLyBTYW1lIFdhdmVsZXQgYmFuZCBpcyBzZWxlY3RlZCBtdWx0aXBsZSB0aW1lcw0KLSNkZWZpbmUgRVJSX0lNQUdFX1NJWkVfTUlTTUFUQ0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1OTI2IC8vIFRoZSB0d28gaW5wdXQgaW1hZ2Ugc2l6ZXMgYXJlIGRpZmZlcmVudCANCi0jZGVmaW5lIEVSUl9OVU1CRVJfQ0xBU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTkyMCAvLyBJbnZhbGlkIG51bWJlciBvZiBjbGFzc2VzLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTFVDQVNfS0FOQURFX1dJTkRPV19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1ODg4IC8vIEJvdGggZGltZW5zaW9ucyBvZiB0aGUgd2luZG93IHNpemUgc2hvdWxkIGJlIG9kZCwgZ3JlYXRlciB0aGFuIDIgYW5kIGxlc3MgdGhhbiAxNi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BVFJJWF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg4NyAvLyBUaGUgdHlwZSBvZiBtYXRyaXggc3VwcGxpZWQgdG8gdGhlIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9PUFRJQ0FMX0ZMT1dfVEVSTUlOQVRJT05fQ1JJVEVSSUFfVFlQRSAgICAgICAgICAgLTEwNzQzOTU4ODYgLy8gQW4gaW52YWxpZCB0ZXJtaW5hdGlvbiBjcml0ZXJpYSB3YXMgc3BlY2lmaWVkIGZvciB0aGUgb3B0aWNhbCBmbG93IGNvbXB1dGF0aW9uLg0KLSNkZWZpbmUgRVJSX0xLUF9OVUxMX1BZUkFNSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1ODg1IC8vIFRoZSBweXJhbWlkIGxldmVscyB3aGVyZSBub3QgcHJvcGVybHkgYWxsb2NhdGVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUFlSQU1JRF9MRVZFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1ODg0IC8vIFRoZSBweXJhbWlkIGxldmVsIHNwZWNpZmllZCBjYW5ub3QgYmUgbmVnYXRpdmUNCi0jZGVmaW5lIEVSUl9JTlZBTElEX0xLUF9LRVJORUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg4MyAvLyBUaGUga2VybmVsIG11c3QgYmUgc3ltbWV0cmljICB3aXRoIG5vbi16ZXJvIGNvZWZmaWNpZW50cyBhbmQgb2Ygb2RkIHNpemUNCi0jZGVmaW5lIEVSUl9JTlZBTElEX0hPUk5fU0NIVU5DS19MQU1CREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg4MiAvLyBJbnZhbGlkIHNtb290aGluZyBwYXJhbWV0ZXIgaW4gSG9ybiBTY2h1bmNrIG9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0hPUk5fU0NIVU5DS19UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg4MSAvLyBJbnZhbGlkIHN0b3BwaW5nIGNyaXRlcmlhIHR5cGUgZm9yIEhvcm4gU2NodW5jayBvcHRpY2FsIGZsb3cuDQotI2RlZmluZSBFUlJfUEFSVElDTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU4ODAgLy8gSW52YWxpZCBwYXJ0aWNsZS4NCi0jZGVmaW5lIEVSUl9CQURfTUVBU1VSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg3OSAvLyBJbnZhbGlkIG1lYXN1cmUgbnVtYmVyLg0KLSNkZWZpbmUgRVJSX1BST1BfTk9ERV9XUklURV9OT1RfU1VQUE9SVEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1ODc4IC8vIFRoZSBJbWFnZSBEaXNwbGF5IGNvbnRyb2wgZG9lcyBub3Qgc3VwcG9ydCB3cml0aW5nIHRoaXMgcHJvcGVydHkgbm9kZS4NCi0jZGVmaW5lIEVSUl9DT0xPUk1PREVfUkVRVUlSRVNfQ0hBTkdFQ09MT1JTUEFDRTIgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTg3NyAvLyBUaGUgc3BlY2lmaWVkIGNvbG9yIG1vZGUgcmVxdWlyZXMgdGhlIHVzZSBvZiBpbWFxQ2hhbmdlQ29sb3JTcGFjZTIuDQotI2RlZmluZSBFUlJfVU5TVVBQT1JURURfQ09MT1JfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU4NzYgLy8gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydCB0aGUgY29sb3IgbW9kZSB5b3Ugc3BlY2lmaWVkLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfUEhBUk1BQ09ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1ODc1IC8vIFRoZSBiYXJjb2RlIGlzIG5vdCBhIHZhbGlkIFBoYXJtYWNvZGUgc3ltYm9sDQotI2RlZmluZSBFUlJfQkFEX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU4NDAgLy8gSW52YWxpZCBoYW5kbGUgdGFibGUgaW5kZXguDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT01QUkVTU0lPTl9SQVRJTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU4MzcgLy8gVGhlIGNvbXByZXNzaW9uIHJhdGlvIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuDQotI2RlZmluZSBFUlJfVE9PX01BTllfQ09OVE9VUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU4MDEgLy8gVGhlIFJPSSBjb250YWlucyB0b28gbWFueSBjb250b3Vycy4NCi0jZGVmaW5lIEVSUl9QUk9URUNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTgwMCAvLyBQcm90ZWN0aW9uIGVycm9yLg0KLSNkZWZpbmUgRVJSX0lOVEVSTkFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzk5IC8vIEludGVybmFsIGVycm9yLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ1VTVE9NX1NBTVBMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzk4IC8vIFRoZSBzaXplIG9mIHRoZSBmZWF0dXJlIHZlY3RvciBpbiB0aGUgY3VzdG9tIHNhbXBsZSBtdXN0IG1hdGNoIHRoZSBzaXplIG9mIHRob3NlIHlvdSBoYXZlIGFscmVhZHkgYWRkZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DTEFTU0lGSUVSX1NFU1NJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3OTcgLy8gTm90IGEgdmFsaWQgY2xhc3NpZmllciBzZXNzaW9uLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfS05OX01FVEhPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzk2IC8vIFlvdSByZXF1ZXN0ZWQgYW4gaW52YWxpZCBOZWFyZXN0IE5laWdoYm9yIGNsYXNzaWZpZXIgbWV0aG9kLg0KLSNkZWZpbmUgRVJSX0tfVE9PX0xPVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzk1IC8vIFRoZSBrIHBhcmFtZXRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0d28uDQotI2RlZmluZSBFUlJfS19UT09fSElHSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3OTQgLy8gVGhlIGsgcGFyYW1ldGVyIG11c3QgYmUgPD0gdGhlIG51bWJlciBvZiBzYW1wbGVzIGluIGVhY2ggY2xhc3MuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9PUEVSQVRJT05fT05fQ09NUEFDVF9TRVNTSU9OX0FUVEVNUFRFRCAgICAgICAgICAgLTEwNzQzOTU3OTMgLy8gVGhpcyBjbGFzc2lmaWVyIHNlc3Npb24gaXMgY29tcGFjdC4gT25seSB0aGUgQ2xhc3NpZnkgYW5kIERpc3Bvc2UgZnVuY3Rpb25zIG1heSBiZSBjYWxsZWQgb24gYSBjb21wYWN0IGNsYXNzaWZpZXIgc2Vzc2lvbi4NCi0jZGVmaW5lIEVSUl9DTEFTU0lGSUVSX1NFU1NJT05fTk9UX1RSQUlORUQgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc5MiAvLyBUaGlzIGNsYXNzaWZpZXIgc2Vzc2lvbiBpcyBub3QgdHJhaW5lZC4gWW91IG1heSBvbmx5IGNhbGwgdGhpcyBmdW5jdGlvbiBvbiBhIHRyYWluZWQgY2xhc3NpZmllciBzZXNzaW9uLg0KLSNkZWZpbmUgRVJSX0NMQVNTSUZJRVJfSU5WQUxJRF9TRVNTSU9OX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzkxIC8vIFRoaXMgY2xhc3NpZmllciBmdW5jdGlvbiBjYW5ub3QgYmUgY2FsbGVkIG9uIHRoaXMgdHlwZSBvZiBjbGFzc2lmaWVyIHNlc3Npb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9ESVNUQU5DRV9NRVRSSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3OTAgLy8gWW91IHJlcXVlc3RlZCBhbiBpbnZhbGlkIGRpc3RhbmNlIG1ldHJpYy4NCi0jZGVmaW5lIEVSUl9PUEVOSU5HX05FV0VSX0NMQVNTSUZJRVJfU0VTU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4OSAvLyBUaGUgY2xhc3NpZmllciBzZXNzaW9uIHlvdSB0cmllZCB0byBvcGVuIHdhcyBjcmVhdGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIE5JIFZpc2lvbi4gVXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgTkkgVmlzaW9uIHRvIHJlYWQgdGhpcyBmaWxlLg0KLSNkZWZpbmUgRVJSX05PX1NBTVBMRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzg4IC8vIFRoaXMgb3BlcmF0aW9uIGNhbm5vdCBiZSBwZXJmb3JtZWQgYmVjYXVzZSB5b3UgaGF2ZSBub3QgYWRkZWQgYW55IHNhbXBsZXMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DTEFTU0lGSUVSX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3ODcgLy8gWW91IHJlcXVlc3RlZCBhbiBpbnZhbGlkIGNsYXNzaWZpZXIgdHlwZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1BBUlRJQ0xFX09QVElPTlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4NiAvLyBUaGUgc3VtIG9mIFNjYWxlIERlcGVuZGVuY2UgYW5kIFN5bW1ldHJ5IERlcGVuZGVuY2UgbXVzdCBiZSBsZXNzIHRoYW4gMTAwMC4NCi0jZGVmaW5lIEVSUl9OT19QQVJUSUNMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4NSAvLyBUaGUgaW1hZ2UgeWllbGRlZCBubyBwYXJ0aWNsZXMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9MSU1JVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3ODQgLy8gVGhlIGxpbWl0cyB5b3Ugc3VwcGxpZWQgYXJlIG5vdCB2YWxpZC4NCi0jZGVmaW5lIEVSUl9CQURfU0FNUExFX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4MyAvLyBUaGUgU2FtcGxlIEluZGV4IGZlbGwgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgU2FtcGxlcy4NCi0jZGVmaW5lIEVSUl9ERVNDUklQVElPTl9UT09fTE9ORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4MiAvLyBUaGUgZGVzY3JpcHRpb24gbXVzdCBiZSA8PSAyNTUgY2hhcmFjdGVycy4NCi0jZGVmaW5lIEVSUl9DTEFTU0lGSUVSX0lOVkFMSURfRU5HSU5FX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc4MSAvLyBUaGUgZW5naW5lIGZvciB0aGlzIGNsYXNzaWZpZXIgc2Vzc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgb3BlcmF0aW9uLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUEFSVElDTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzgwIC8vIFlvdSByZXF1ZXN0ZWQgYW4gaW52YWxpZCBwYXJ0aWNsZSB0eXBlLg0KLSNkZWZpbmUgRVJSX0NBTk5PVF9DT01QQUNUX1VOVFJBSU5FRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzc5IC8vIFlvdSBtYXkgb25seSBzYXZlIGEgc2Vzc2lvbiBpbiBjb21wYWN0IGZvcm0gaWYgaXQgaXMgdHJhaW5lZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0tFUk5FTF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc3OCAvLyBUaGUgS2VybmVsIHNpemUgbXVzdCBiZSBzbWFsbGVyIHRoYW4gdGhlIGltYWdlIHNpemUuDQotI2RlZmluZSBFUlJfSU5DT01QQVRJQkxFX0NMQVNTSUZJRVJfVFlQRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NzcgLy8gVGhlIHNlc3Npb24geW91IHJlYWQgZnJvbSBmaWxlIG11c3QgYmUgdGhlIHNhbWUgdHlwZSBhcyB0aGUgc2Vzc2lvbiB5b3UgcGFzc2VkIGluLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfVVNFX09GX0NPTVBBQ1RfU0VTU0lPTl9GSUxFICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzc2IC8vIFlvdSBjYW4gbm90IHVzZSBhIGNvbXBhY3QgY2xhc3NpZmljYXRpb24gZmlsZSB3aXRoIHJlYWQgb3B0aW9ucyBvdGhlciB0aGFuIFJlYWQgQWxsLg0KLSNkZWZpbmUgRVJSX1JPSV9IQVNfT1BFTl9DT05UT1VSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Nzc1IC8vIFRoZSBST0kgeW91IHBhc3NlZCBpbiBtYXkgb25seSBjb250YWluIGNsb3NlZCBjb250b3Vycy4NCi0jZGVmaW5lIEVSUl9OT19MQUJFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc3NCAvLyBZb3UgbXVzdCBwYXNzIGluIGEgbGFiZWwuDQotI2RlZmluZSBFUlJfTk9fREVTVF9JTUFHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NzMgLy8gWW91IG11c3QgcHJvdmlkZSBhIGRlc3RpbmF0aW9uIGltYWdlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUkVHSVNUUkFUSU9OX01FVEhPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzcyIC8vIFlvdSBwcm92aWRlZCBhbiBpbnZhbGlkIHJlZ2lzdHJhdGlvbiBtZXRob2QuDQotI2RlZmluZSBFUlJfT1BFTklOR19ORVdFUl9JTlNQRUNUSU9OX1RFTVBMQVRFICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NzEgLy8gVGhlIGdvbGRlbiB0ZW1wbGF0ZSB5b3UgdHJpZWQgdG8gb3BlbiB3YXMgY3JlYXRlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byByZWFkIHRoaXMgZmlsZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0lOU1BFQ1RJT05fVEVNUExBVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc3MCAvLyBJbnZhbGlkIGdvbGRlbiB0ZW1wbGF0ZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0VER0VfVEhJQ0tORVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc2OSAvLyBFZGdlIFRoaWNrbmVzcyB0byBJZ25vcmUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NDQUxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc2OCAvLyBTY2FsZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQUxJR05NRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzY3IC8vIFRoZSBzdXBwbGllZCBzY2FsZSBpcyBpbnZhbGlkIGZvciB5b3VyIHRlbXBsYXRlLg0KLSNkZWZpbmUgRVJSX0RFUFJFQ0FURURfRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzY2IC8vIFRoaXMgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgZnVuY3Rpb24gY2FuIG5vdCBiZSB1c2VkIHdpdGggdGhpcyBzZXNzaW9uLiBVc2UgbmV3ZXIsIHN1cHBvcnRlZCBmdW5jdGlvbnMgaW5zdGVhZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX05PUk1BTElaQVRJT05fTUVUSE9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc2MyAvLyBZb3UgbXVzdCBwcm92aWRlIGEgdmFsaWQgbm9ybWFsaXphdGlvbiBtZXRob2QuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9OSUJMQUNLX0RFVklBVElPTl9GQUNUT1IgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NjIgLy8gVGhlIGRldmlhdGlvbiBmYWN0b3IgZm9yIE5pYmxhY2sgbG9jYWwgdGhyZXNob2xkIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxLg0KLSNkZWZpbmUgRVJSX0JPQVJEX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzYwIC8vIEJvYXJkIG5vdCBmb3VuZC4NCi0jZGVmaW5lIEVSUl9CT0FSRF9OT1RfT1BFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc1OCAvLyBCb2FyZCBub3Qgb3BlbmVkLg0KLSNkZWZpbmUgRVJSX0RMTF9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzU3IC8vIERMTCBub3QgZm91bmQuDQotI2RlZmluZSBFUlJfRExMX0ZVTkNUSU9OX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NTYgLy8gRExMIGZ1bmN0aW9uIG5vdCBmb3VuZC4NCi0jZGVmaW5lIEVSUl9UUklHX1RJTUVPVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTc1NCAvLyBUcmlnZ2VyIHRpbWVvdXQuDQotI2RlZmluZSBFUlJfQ09OVE9VUl9JTlZBTElEX1JFRklORU1FTlRTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NDYgLy8gSW52YWxpZCBudW1iZXIgc3BlY2lmaWVkIGZvciBtYXhpbXVtIGNvbnRvdXIgcmVmaW5lbWVudHMuDQotI2RlZmluZSBFUlJfVE9PX01BTllfQ1VSVkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NDUgLy8gVG9vIG1hbnkgY3VydmVzIGV4dHJhY3RlZCBmcm9tIGltYWdlLiBSYWlzZSB0aGUgZWRnZSB0aHJlc2hvbGQgb3IgcmVkdWNlIHRoZSBST0kuDQotI2RlZmluZSBFUlJfQ09OVE9VUl9JTlZBTElEX0tFUk5FTF9GT1JfU01PT1RISU5HICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NDQgLy8gSW52YWxpZCBrZXJuZWwgZm9yIGNvbnRvdXIgc21vb3RoaW5nLiBaZXJvIGluZGljYXRlcyBubyBzbW9vdGhpbmcsIG90aGVyd2lzZSB2YWx1ZSBtdXN0IGJlIG9kZC4gDQotI2RlZmluZSBFUlJfQ09OVE9VUl9MSU5FX0lOVkFMSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NDMgLy8gVGhlIGNvbnRvdXIgbGluZSBmaXQgaXMgaW52YWxpZC4gTGluZSBzZWdtZW50IHN0YXJ0IGFuZCBzdG9wIG11c3QgZGlmZmVyLg0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfVEVNUExBVEVfSU1BR0VfSU5WQUxJRCAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzQyIC8vIFRoZSB0ZW1wbGF0ZSBpbWFnZSBtdXN0IGJlIHRyYWluZWQgd2l0aCBJTUFRIExlYXJuIENvbnRvdXIgUGF0dGVybiBvciBiZSB0aGUgc2FtZSBzaXplIGFzIHRoZSB0YXJnZXQgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09OVE9VUl9HUE1fRkFJTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3NDEgLy8gTWF0Y2hpbmcgZmFpbGVkIHRvIGFsaWduIHRoZSB0ZW1wbGF0ZSBhbmQgdGFyZ2V0IGNvbnRvdXJzLg0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfT1BFTklOR19ORVdFUl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzQwIC8vIFRoZSBjb250b3VyIHlvdSB0cmllZCB0byBvcGVuIHdhcyBjcmVhdGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIE5JIFZpc2lvbi4gVXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgTkkgVmlzaW9uIHRvIHJlYWQgdGhpcyBmaWxlLiANCi0jZGVmaW5lIEVSUl9DT05UT1VSX0NPTk5FQ1RfRFVQTElDQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTczOSAvLyBPbmx5IG9uZSByYW5nZSBpcyBhbGxvd2VkIHBlciBjdXJ2ZSBjb25uZWN0aW9uIGNvbnN0cmFpbnQgdHlwZS4gDQotI2RlZmluZSBFUlJfQ09OVE9VUl9DT05ORUNUX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MzggLy8gSW52YWxpZCBjb250b3VyIGNvbm5lY3Rpb24gY29uc3RyYWludCB0eXBlLiANCi0jZGVmaW5lIEVSUl9DT05UT1VSX01BVENIX1NUUl9OT1RfQVBQTElDQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTczNyAvLyBJbiBvcmRlciB0byB1c2UgY29udG91ciBtYXRjaGluZywgeW91IG11c3QgcHJvdmlkZSBhIHRlbXBsYXRlIGltYWdlIHRoYXQgaGFzIGJlZW4gdHJhaW5lZCB3aXRoIElNQVEgTGVhcm4gQ29udG91ciBQYXR0ZXJuDQotI2RlZmluZSBFUlJfQ09OVE9VUl9DVVJWQVRVUkVfS0VSTkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MzYgLy8gSW52YWxpZCBrZXJuZWwgd2lkdGggZm9yIGN1cnZhdHVyZSBjYWxjdWxhdGlvbi4gTXVzdCBiZSBhbiBvZGQgdmFsdWUgZ3JlYXRlciB0aGFuIDEuIA0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfRVhUUkFDVF9TRUxFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzM1IC8vIEludmFsaWQgQ29udG91ciBTZWxlY3Rpb24gbWV0aG9kIGZvciBjb250b3VyIGV4dHJhY3Rpb24uIA0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfRVhUUkFDVF9ESVJFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzM0IC8vIEludmFsaWQgU2VhcmNoIERpcmVjdGlvbiBmb3IgY29udG91ciBleHRyYWN0aW9uLiANCi0jZGVmaW5lIEVSUl9DT05UT1VSX0VYVFJBQ1RfUk9JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTczMyAvLyBJbnZhbGlkIFJPSSBmb3IgY29udG91ciBleHRyYWN0aW9uLiBUaGUgUk9JIG11c3QgY29udGFpbiBhbiBhbm51bHVzLCByZWN0YW5nbGUgb3Igcm90YXRlZCByZWN0YW5nbGUuIA0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfTk9fQ1VSVkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzMyIC8vIE5vIGN1cnZlcyB3ZXJlIGZvdW5kIGluIHRoZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT05UT1VSX0NPTVBBUkVfS0VSTkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTczMSAvLyBJbnZhbGlkIFNtb290aGluZyBLZXJuZWwgd2lkdGggZm9yIGNvbnRvdXIgY29tcGFyaXNvbi4gTXVzdCBiZSB6ZXJvIG9yIGFuIG9kZCBwb3NpdGl2ZSBpbnRlZ2VyLiANCi0jZGVmaW5lIEVSUl9DT05UT1VSX0NPTVBBUkVfU0lOR0xFX0lNQUdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTczMCAvLyBJZiBubyB0ZW1wbGF0ZSBpbWFnZSBpcyBwcm92aWRlZCwgdGhlIHRhcmdldCBpbWFnZSBtdXN0IGNvbnRhaW4gYm90aCBhIGNvbnRvdXIgd2l0aCBleHRyYWN0ZWQgcG9pbnRzIGFuZCBhIGZpdHRlZCBlcXVhdGlvbi4NCi0jZGVmaW5lIEVSUl9DT05UT1VSX0lOVkFMSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcyOSAvLyBJbnZhbGlkIGNvbnRvdXIgaW1hZ2UuDQotI2RlZmluZSBFUlJfSU5WQUxJRF8yRF9CQVJDT0RFX1NFQVJDSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MjggLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIHNlYXJjaCBtb2RlIHlvdSBwcm92aWRlZC4NCi0jZGVmaW5lIEVSUl9VTlNVUFBPUlRFRF8yRF9CQVJDT0RFX1NFQVJDSF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcyNyAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgc2VhcmNoIG1vZGUgeW91IHByb3ZpZGVkIGZvciB0aGUgdHlwZSBvZiAyRCBiYXJjb2RlIGZvciB3aGljaCB5b3UgYXJlIHNlYXJjaGluZy4NCi0jZGVmaW5lIEVSUl9NQVRDSEZBQ1RPUl9PQlNPTEVURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcyNiAvLyBtYXRjaEZhY3RvciBoYXMgYmVlbiBvYnNvbGV0ZWQuIEluc3RlYWQsIHNldCB0aGUgaW5pdGlhbE1hdGNoTGlzdExlbmd0aCBhbmQgbWF0Y2hMaXN0UmVkdWN0aW9uRmFjdG9yIGluIHRoZSBNYXRjaFBhdHRlcm5BZHZhbmNlZE9wdGlvbnMgc3RydWN0dXJlLg0KLSNkZWZpbmUgRVJSX0RBVEFfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzI1IC8vIFRoZSBkYXRhIHdhcyBzdG9yZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24gb2YgTkkgVmlzaW9uLiBVcGdyYWRlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBOSSBWaXNpb24gdG8gcmVhZCB0aGlzIGRhdGEuDQotI2RlZmluZSBFUlJfQ1VTVE9NREFUQV9JTlZBTElEX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MjQgLy8gVGhlIHNpemUgeW91IHNwZWNpZmllZCBpcyBvdXQgb2YgdGhlIHZhbGlkIHJhbmdlLg0KLSNkZWZpbmUgRVJSX0NVU1RPTURBVEFfS0VZX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzIzIC8vIFRoZSBrZXkgeW91IHNwZWNpZmllZCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NMQVNTSUZJRVJfQ0xBU1NJRllfSU1BR0VfV0lUSF9DVVNUT01fU0VTU0lPTiAgICAgICAgICAgIC0xMDc0Mzk1NzIyIC8vIEN1c3RvbSBjbGFzc2lmaWVyIHNlc3Npb25zIG9ubHkgY2xhc3NpZnkgZmVhdHVyZSB2ZWN0b3JzLiBUaGV5IGRvIG5vdCBzdXBwb3J0IGNsYXNzaWZ5aW5nIGltYWdlcy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0JJVF9ERVBUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcyMSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgYml0IGRlcHRoIHlvdSBzdXBwbGllZCBmb3IgdGhlIGltYWdlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9CQURfUk9JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcyMCAvLyBJbnZhbGlkIFJPSS4NCi0jZGVmaW5lIEVSUl9CQURfUk9JX0JPWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcxOSAvLyBJbnZhbGlkIFJPSSBnbG9iYWwgcmVjdGFuZ2xlLg0KLSNkZWZpbmUgRVJSX0xBQl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzE4IC8vIFRoZSB2ZXJzaW9uIG9mIExhYlZJRVcgb3IgQnJpZGdlVklFVyB5b3UgYXJlIHJ1bm5pbmcgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIG9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcxNyAvLyBUaGUgcmFuZ2UgeW91IHN1cHBsaWVkIGlzIGludmFsaWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9TQ0FMSU5HX01FVEhPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MTYgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIHNjYWxpbmcgbWV0aG9kIHlvdSBwcm92aWRlZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NBTElCUkFUSU9OX1VOSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcxNSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgY2FsaWJyYXRpb24gdW5pdCB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9BWElTX09SSUVOVEFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MTQgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIGF4aXMgb3JpZW50YXRpb24geW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX1ZBTFVFX05PVF9JTl9FTlVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzEzIC8vIFZhbHVlIG5vdCBpbiBlbnVtZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9XUk9OR19SRUdJT05fVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcxMiAvLyBZb3Ugc2VsZWN0ZWQgYSByZWdpb24gdGhhdCBpcyBub3Qgb2YgdGhlIHJpZ2h0IHR5cGUuDQotI2RlZmluZSBFUlJfTk9UX0VOT1VHSF9SRUdJT05TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MTEgLy8gWW91IHNwZWNpZmllZCBhIHZpZXdlciB0aGF0IGRvZXMgbm90IGNvbnRhaW4gZW5vdWdoIHJlZ2lvbnMuDQotI2RlZmluZSBFUlJfVE9PX01BTllfUEFSVElDTEVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MTAgLy8gVGhlIGltYWdlIGhhcyB0b28gbWFueSBwYXJ0aWNsZXMgZm9yIHRoaXMgcHJvY2Vzcy4NCi0jZGVmaW5lIEVSUl9BVklfVU5PUEVORURfU0VTU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcwOSAvLyBUaGUgQVZJIHNlc3Npb24gaGFzIG5vdCBiZWVuIG9wZW5lZC4NCi0jZGVmaW5lIEVSUl9BVklfUkVBRF9TRVNTSU9OX1JFUVVJUkVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcwOCAvLyBUaGUgQVZJIHNlc3Npb24gaXMgYSB3cml0ZSBzZXNzaW9uLCBidXQgdGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSByZWFkIHNlc3Npb24uDQotI2RlZmluZSBFUlJfQVZJX1dSSVRFX1NFU1NJT05fUkVRVUlSRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MDcgLy8gVGhlIEFWSSBzZXNzaW9uIGlzIGEgcmVhZCBzZXNzaW9uLCBidXQgdGhpcyBvcGVyYXRpb24gcmVxdWlyZXMgYSB3cml0ZSBzZXNzaW9uLg0KLSNkZWZpbmUgRVJSX0FWSV9TRVNTSU9OX0FMUkVBRFlfT1BFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzA2IC8vIFRoaXMgQVZJIHNlc3Npb24gaXMgYWxyZWFkeSBvcGVuLiBZb3UgbXVzdCBjbG9zZSBpdCBiZWZvcmUgY2FsbGluZyB0aGUgQ3JlYXRlIG9yIE9wZW4gZnVuY3Rpb25zLg0KLSNkZWZpbmUgRVJSX0RBVEFfQ09SUlVQVEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzA1IC8vIFRoZSBkYXRhIGlzIGNvcnJ1cHRlZCBhbmQgY2Fubm90IGJlIHJlYWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT01QUkVTU0lPTl9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU3MDQgLy8gSW52YWxpZCBjb21wcmVzc2lvbiB0eXBlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfVFlQRV9PRl9GTEFUVEVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzAzIC8vIEludmFsaWQgdHlwZSBvZiBmbGF0dGVuLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzAyIC8vIFRoZSBsZW5ndGggb2YgdGhlIGVkZ2UgZGV0ZWN0aW9uIGxpbmUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BVFJJWF9TSVpFX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTcwMSAvLyBUaGUgbWF4aW11bSBEYXRhIE1hdHJpeCBiYXJjb2RlIHNpemUgbXVzdCBiZSBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gRGF0YSBNYXRyaXggYmFyY29kZSBzaXplLg0KLSNkZWZpbmUgRVJSX1JFUVVJUkVTX1dJTjIwMDBfT1JfTkVXRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NzAwIC8vIFRoZSBmdW5jdGlvbiByZXF1aXJlcyB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0byBiZSBNaWNyb3NvZnQgV2luZG93cyAyMDAwIG9yIG5ld2VyLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ0FMSUJSQVRJT05fTUVUSE9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjYyIC8vIEludmFsaWQgY2FsaWJyYXRpb24gbWV0aG9kIHJlcXVlc3RlZA0KLSNkZWZpbmUgRVJSX0lOVkFMSURfT1BFUkFUSU9OX09OX0NPTVBBQ1RfQ0FMSUJSQVRJT05fQVRURU1QVEVEICAgICAgIC0xMDc0Mzk1NjYxIC8vIFRoaXMgY2FsaWJyYXRpb24gaXMgY29tcGFjdC4gUmUtTGVhcm5pbmcgY2FsaWJyYXRpb24gYW5kIHJldHJpZXZpbmcgdGh1bWJuYWlscyBhcmUgbm90IHBvc3NpYmxlIHdpdGggdGhpcyBjYWxpYnJhdGlvbg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUE9MWU5PTUlBTF9NT0RFTF9LX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjYwIC8vIEludmFsaWQgbnVtYmVyIG9mIEsgdmFsdWVzIA0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRElTVE9SVElPTl9NT0RFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjU5IC8vIEludmFsaWQgZGlzdG9ydGlvbiBtb2RlbCB0eXBlDQotI2RlZmluZSBFUlJfQ0FNRVJBX01PREVMX05PVF9BVkFJTEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NTggLy8gQ2FtZXJhIE1vZGVsIGlzIG5vdCBsZWFybmVkDQotI2RlZmluZSBFUlJfSU5WQUxJRF9USFVNQk5BSUxfSU5ERVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NTcgLy8gU3VwcGxpZWQgdGh1bWJuYWlsIGluZGV4IGlzIGludmFsaWQNCi0jZGVmaW5lIEVSUl9TTU9PVEhfQ09OVE9VUlNfTVVTVF9CRV9TQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTY1NiAvLyBZb3UgbXVzdCBzcGVjaWZ5IHRoZSBzYW1lIHZhbHVlIGZvciB0aGUgc21vb3RoIGNvbnRvdXJzIGFkdmFuY2VkIG1hdGNoIG9wdGlvbiBmb3IgYWxsIHRlbXBsYXRlcyB5b3Ugd2FudCB0byBtYXRjaC4NCi0jZGVmaW5lIEVSUl9FTkFCTEVfQ0FMSUJSQVRJT05fU1VQUE9SVF9NVVNUX0JFX1NBTUUgICAgICAgICAgICAgICAgICAtMTA3NDM5NTY1NSAvLyBZb3UgbXVzdCBzcGVjaWZ5IHRoZSBzYW1lIHZhbHVlIGZvciB0aGUgZW5hYmxlIGNhbGlicmF0aW9uIHN1cHBvcnQgYWR2YW5jZWQgbWF0Y2ggb3B0aW9uIGZvciBhbGwgdGVtcGxhdGVzIHlvdSB3YW50IHRvIG1hdGNoLg0KLSNkZWZpbmUgRVJSX0dSQURJTkdfSU5GT1JNQVRJT05fTk9UX0ZPVU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjU0IC8vIFRoZSBzb3VyY2UgaW1hZ2UgZG9lcyBub3QgY29udGFpbiBncmFkaW5nIGluZm9ybWF0aW9uLiBZb3UgbXVzdCBwcmVwYXJlIHRoZSBzb3VyY2UgaW1hZ2UgZm9yIGdyYWRpbmcgd2hlbiByZWFkaW5nIHRoZSBEYXRhIE1hdHJpeCwgYW5kIHlvdSBjYW5ub3QgY2hhbmdlIHRoZSBjb250ZW50cyBvZiB0aGUgc291cmNlIGltYWdlIGJldHdlZW4gcmVhZGluZyBhbmQgZ3JhZGluZyB0aGUgRGF0YSBNYXRyaXguDQotI2RlZmluZSBFUlJfT1BFTklOR19ORVdFUl9NVUxUSVBMRV9HRU9NRVRSSUNfVEVNUExBVEUgICAgICAgICAgICAgICAgLTEwNzQzOTU2NTMgLy8gVGhlIG11bHRpcGxlIGdlb21ldHJpYyBtYXRjaGluZyB0ZW1wbGF0ZSB5b3UgdHJpZWQgdG8gb3BlbiB3YXMgY3JlYXRlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byByZWFkIHRoaXMgZmlsZS4NCi0jZGVmaW5lIEVSUl9PUEVOSU5HX05FV0VSX0dFT01FVFJJQ19NQVRDSElOR19URU1QTEFURSAgICAgICAgICAgICAgICAtMTA3NDM5NTY1MiAvLyBUaGUgZ2VvbWV0cmljIG1hdGNoaW5nIHRlbXBsYXRlIHlvdSB0cmllZCB0byBvcGVuIHdhcyBjcmVhdGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIE5JIFZpc2lvbi4gVXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgTkkgVmlzaW9uIHRvIHJlYWQgdGhpcyBmaWxlLg0KLSNkZWZpbmUgRVJSX0VER0VfRklMVEVSX1NJWkVfTVVTVF9CRV9TQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjUxIC8vIFlvdSBtdXN0IHNwZWNpZnkgdGhlIHNhbWUgZWRnZSBmaWx0ZXIgc2l6ZSBmb3IgYWxsIHRoZSB0ZW1wbGF0ZXMgeW91IHdhbnQgdG8gbWF0Y2guDQotI2RlZmluZSBFUlJfQ1VSVkVfRVhUUkFDVElPTl9NT0RFX01VU1RfQkVfU0FNRSAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NTAgLy8gWW91IG11c3Qgc3BlY2lmeSB0aGUgc2FtZSBjdXJ2ZSBleHRyYWN0aW9uIG1vZGUgZm9yIGFsbCB0aGUgdGVtcGxhdGVzIHlvdSB3YW50IHRvIG1hdGNoLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfR0VPTUVUUklDX0ZFQVRVUkVfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQ5IC8vIFRoZSBnZW9tZXRyaWMgZmVhdHVyZSB0eXBlIHNwZWNpZmllZCBpcyBpbnZhbGlkLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX05PVF9MRUFSTkVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQ4IC8vIFlvdSBzdXBwbGllZCBhIHRlbXBsYXRlIHRoYXQgd2FzIG5vdCBsZWFybmVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTVVMVElQTEVfR0VPTUVUUklDX1RFTVBMQVRFICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQ3IC8vIEludmFsaWQgbXVsdGlwbGUgZ2VvbWV0cmljIHRlbXBsYXRlLg0KLSNkZWZpbmUgRVJSX05PX1RFTVBMQVRFX1RPX0xFQVJOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQ2IC8vIE5lZWQgYXQgbGVhc3Qgb25lIHRlbXBsYXRlIHRvIGxlYXJuLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTlVNQkVSX09GX0xBQkVMUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQ1IC8vIFlvdSBzdXBwbGllZCBhbiBpbnZhbGlkIG51bWJlciBvZiBsYWJlbHMuDQotI2RlZmluZSBFUlJfTEFCRUxfVE9PX0xPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NDQgLy8gTGFiZWxzIG11c3QgYmUgPD0gMjU1IGNoYXJhY3RlcnMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9OVU1CRVJfT0ZfTUFUQ0hfT1BUSU9OUyAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NDMgLy8gWW91IHN1cHBsaWVkIGFuIGludmFsaWQgbnVtYmVyIG9mIG1hdGNoIG9wdGlvbnMuDQotI2RlZmluZSBFUlJfTEFCRUxfTk9UX0ZPVU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2NDIgLy8gQ2Fubm90IGZpbmQgYSBsYWJlbCB0aGF0IG1hdGNoZXMgdGhlIG9uZSB5b3Ugc3BlY2lmaWVkLg0KLSNkZWZpbmUgRVJSX0RVUExJQ0FURV9MQUJFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQxIC8vIER1cGxpY2F0ZSBsYWJlbHMgYXJlIG5vdCBhbGxvd2VkLg0KLSNkZWZpbmUgRVJSX1RPT19NQU5ZX1pPTkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjQwIC8vIFRoZSBudW1iZXIgb2Ygem9uZXMgZm91bmQgZXhjZWVkZWQgdGhlIGNhcGFjaXR5IG9mIHRoZSBhbGdvcml0aG0uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9IQVRDSF9TVFlMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MzkgLy8gVGhlIGhhdGNoIHN0eWxlIGZvciB0aGUgd2luZG93IGJhY2tncm91bmQgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0ZJTExfU1RZTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYzOCAvLyBUaGUgZmlsbCBzdHlsZSBmb3IgdGhlIHdpbmRvdyBiYWNrZ3JvdW5kIGlzIGludmFsaWQuDQotI2RlZmluZSBFUlJfSEFSRFdBUkVfRE9FU05UX1NVUFBPUlRfTk9OVEVBUklORyAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MzcgLy8gWW91ciBoYXJkd2FyZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IERpcmVjdFggYW5kIGNhbm5vdCBiZSBwdXQgaW50byBOb25UZWFyaW5nIG1vZGUuDQotI2RlZmluZSBFUlJfRElSRUNUWF9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MzYgLy8gRGlyZWN0WCBpcyByZXF1aXJlZCBmb3IgdGhpcyBmZWF0dXJlLiAgUGxlYXNlIGluc3RhbGwgdGhlIGxhdGVzdCB2ZXJzaW9uLi4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NIQVBFX0RFU0NSSVBUT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYzNSAvLyBUaGUgcGFzc2VkIHNoYXBlIGRlc2NyaXB0b3IgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BWF9NQVRDSF9PVkVSTEFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYzNCAvLyBJbnZhbGlkIG1heCBtYXRjaCBvdmVybGFwLiAgVmFsdWVzIG11c3QgYmUgYmV0d2VlbiAtMSBhbmQgMTAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fU0NBTEUgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjMzIC8vIEludmFsaWQgbWluaW11bSBtYXRjaCBzZXBhcmF0aW9uIHNjYWxlLiAgVmFsdWVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC0xLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fQU5HTEUgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjMyIC8vIEludmFsaWQgbWluaW11bSBtYXRjaCBzZXBhcmF0aW9uIGFuZ2xlLiAgVmFsdWVzIG11c3QgYmUgYmV0d2VlbiAtMSBhbmQgMzYwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUlOX01BVENIX1NFUEFSQVRJT05fRElTVEFOQ0UgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjMxIC8vIEludmFsaWQgbWluaW11bSBtYXRjaCBzZXBhcmF0aW9uIGRpc3RhbmNlLiAgVmFsdWVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC0xLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFYSU1VTV9GRUFUVVJFU19MRUFSTkVEICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjMwIC8vIEludmFsaWQgbWF4aW11bSBudW1iZXIgb2YgZmVhdHVyZXMgbGVhcm4uIFZhbHVlcyBtdXN0IGJlIGludGVnZXJzIGdyZWF0ZXIgdGhhbiB6ZXJvLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFYSU1VTV9QSVhFTF9ESVNUQU5DRV9GUk9NX0xJTkUgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjI5IC8vIEludmFsaWQgbWF4aW11bSBwaXhlbCBkaXN0YW5jZSBmcm9tIGxpbmUuIFZhbHVlcyBtdXN0IGJlIHBvc2l0aXZlIHJlYWwgbnVtYmVycy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0dFT01FVFJJQ19NQVRDSElOR19URU1QTEFURSAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYyOCAvLyBJbnZhbGlkIGdlb21ldHJpYyBtYXRjaGluZyB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9OT1RfRU5PVUdIX1RFTVBMQVRFX0ZFQVRVUkVTXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYyNyAvLyBUaGUgdGVtcGxhdGUgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggZmVhdHVyZXMgZm9yIGdlb21ldHJpYyBtYXRjaGluZy4NCi0jZGVmaW5lIEVSUl9OT1RfRU5PVUdIX1RFTVBMQVRFX0ZFQVRVUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYyNiAvLyBUaGUgdGVtcGxhdGUgZG9lcyBub3QgY29udGFpbiBlbm91Z2ggZmVhdHVyZXMgZm9yIGdlb21ldHJpYyBtYXRjaGluZy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BVENIX0NPTlNUUkFJTlRfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYyNSAvLyBZb3Ugc3BlY2lmaWVkIGFuIGludmFsaWQgdmFsdWUgZm9yIHRoZSBtYXRjaCBjb25zdHJhaW50IHZhbHVlIG9mIHRoZSAgcmFuZ2Ugc2V0dGluZ3MuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9PQ0NMVVNJT05fUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MjQgLy8gSW52YWxpZCBvY2NsdXNpb24gcmFuZ2UuIFZhbGlkIHZhbHVlcyBmb3IgdGhlIGJvdW5kcyByYW5nZSBmcm9tIDAgdG8gMTAwIGFuZCB0aGUgdXBwZXIgYm91bmQgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGxvd2VyIGJvdW5kLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0NBTEVfUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjIzIC8vIEludmFsaWQgc2NhbGUgcmFuZ2UuIFZhbHVlcyBmb3IgdGhlIGxvd2VyIGJvdW5kIG11c3QgYmUgYSBwb3NpdGl2ZSByZWFsIG51bWJlcnMgYW5kIHRoZSB1cHBlciBib3VuZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgbG93ZXIgYm91bmQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NQVRDSF9HRU9NRVRSSUNfUEFUVEVSTl9TRVRVUF9EQVRBICAgICAgICAgICAgICAgLTEwNzQzOTU2MjIgLy8gSW52YWxpZCBtYXRjaCBnZW9tZXRyaWMgcGF0dGVybiBzZXR1cCBkYXRhLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTEVBUk5fR0VPTUVUUklDX1BBVFRFUk5fU0VUVVBfREFUQSAgICAgICAgICAgICAgIC0xMDc0Mzk1NjIxIC8vIEludmFsaWQgbGVhcm4gZ2VvbWV0cmljIHBhdHRlcm4gc2V0dXAgZGF0YS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NVUlZFX0VYVFJBQ1RJT05fTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYyMCAvLyBJbnZhbGlkIGN1cnZlIGV4dHJhY3Rpb24gbW9kZS4NCi0jZGVmaW5lIEVSUl9UT09fTUFOWV9PQ0NMVVNJT05fUkFOR0VTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYxOSAvLyBZb3UgY2FuIHNwZWNpZnkgb25seSBvbmUgb2NjbHVzaW9uIHJhbmdlLg0KLSNkZWZpbmUgRVJSX1RPT19NQU5ZX1NDQUxFX1JBTkdFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjE4IC8vIFlvdSBjYW4gc3BlY2lmeSBvbmx5IG9uZSBzY2FsZSByYW5nZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX05VTUJFUl9PRl9GRUFUVVJFU19SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYxNyAvLyBUaGUgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIG1heGltdW0gbnVtYmVyIG9mIGZlYXR1cmVzLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRURHRV9GSUxURVJfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjE2IC8vIEludmFsaWQgZWRnZSBmaWx0ZXIgc2l6ZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01JTklNVU1fRkVBVFVSRV9TVFJFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYxNSAvLyBJbnZhbGlkIG1pbmltdW0gc3RyZW5ndGggZm9yIGZlYXR1cmVzLiBWYWx1ZXMgbXVzdCBiZSBwb3NpdGl2ZSByZWFsIG51bWJlcnMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NSU5JTVVNX0ZFQVRVUkVfQVNQRUNUX1JBVElPICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MTQgLy8gSW52YWxpZCBhc3BlY3QgcmF0aW8gZm9yIHJlY3Rhbmd1bGFyIGZlYXR1cmVzLiBWYWx1ZXMgbXVzdCBiZSBwb3NpdGl2ZSByZWFsIG51bWJlcnMgaW4gdGhlIHJhbmdlIDAuMDEgdG8gMS4wLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUlOSU1VTV9GRUFUVVJFX0xFTkdUSCAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjEzIC8vIEludmFsaWQgbWluaW11bSBsZW5ndGggZm9yIGxpbmVhciBmZWF0dXJlcy4gVmFsdWVzIG11c3QgYmUgaW50ZWdlcnMgZ3JlYXRlciB0aGFuIDAuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NSU5JTVVNX0ZFQVRVUkVfUkFESVVTICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MTIgLy8gSW52YWxpZCBtaW5pbXVtIHJhZGl1cyBmb3IgY2lyY3VsYXIgZmVhdHVyZXMuIFZhbHVlcyBtdXN0IGJlIGludGVnZXJzIGdyZWF0ZXIgdGhhbiAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUlOSU1VTV9SRUNUQU5HTEVfRElNRU5TSU9OICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjExIC8vIEludmFsaWQgbWluaW11bSByZWN0YW5nbGUgZGltZW5zaW9uLiBWYWx1ZXMgbXVzdCBiZSBpbnRlZ2VycyBncmVhdGVyIHRoYW4gMC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0lOSVRJQUxfTUFUQ0hfTElTVF9MRU5HVEggICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYxMCAvLyBJbnZhbGlkIGluaXRpYWwgbWF0Y2ggbGlzdCBsZW5ndGguIFZhbHVlcyBtdXN0IGJlIGludGVnZXJzIGdyZWF0ZXIgdGhhbiA1Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1VCUElYRUxfVE9MRVJBTkNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NjA5IC8vIEludmFsaWQgc3VicGl4ZWwgdG9sZXJhbmNlLiBWYWx1ZXMgbXVzdCBiZSBwb3NpdGl2ZSByZWFsIG51bWJlcnMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9TVUJQSVhFTF9JVEVSQVRJT05TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU2MDggLy8gSW52YWxpZCBudW1iZXIgb2Ygc3VicGl4ZWwgaXRlcmF0aW9ucy4gVmFsdWVzIG11c3QgYmUgaW50ZWdlcnMgZ3JlYXRlciAxMC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BWElNVU1fRkVBVFVSRVNfUEVSX01BVENIICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwNyAvLyBJbnZhbGlkIG1heGltdW0gbnVtYmVyIG9mIGZlYXR1cmVzIHVzZWQgcGVyIG1hdGNoLiBWYWx1ZXMgbXVzdCBiZSBpbnRlZ2VycyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01JTklNVU1fRkVBVFVSRVNfVE9fTUFUQ0ggICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwNiAvLyBJbnZhbGlkIG1pbmltdW0gbnVtYmVyIG9mIGZlYXR1cmVzIHVzZWQgZm9yIG1hdGNoaW5nLiBWYWx1ZXMgbXVzdCBiZSBpbnRlZ2VycyBncmVhdGVyIHRoYW4gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BWElNVU1fRU5EX1BPSU5UX0dBUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwNSAvLyBJbnZhbGlkIG1heGltdW0gZW5kIHBvaW50IGdhcC4gVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAzMjc2Ny4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTFVNTl9TVEVQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwNCAvLyBJbnZhbGlkIGNvbHVtbiBzdGVwLiBWYWxpZCByYW5nZSBpcyAxIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1JPV19TVEVQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwMyAvLyBJbnZhbGlkIHJvdyBzdGVwLiBWYWxpZCByYW5nZSBpcyAxIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01JTklNVU1fQ1VSVkVfTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwMiAvLyBJbnZhbGlkIG1pbmltdW0gbGVuZ3RoLiBWYWxpZCB2YWx1ZXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0VER0VfVEhSRVNIT0xEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwMSAvLyBJbnZhbGlkIGVkZ2UgdGhyZXNob2xkLiBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSAxIHRvIDM2MC4NCi0jZGVmaW5lIEVSUl9JTkZPX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTYwMCAvLyBZb3UgbXVzdCBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdWJpbWFnZSB3aXRoaW4gdGhlIGJyb3dzZXIuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9BQ0NFUFRBTkNFX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1OTggLy8gVGhlIGFjY2VwdGFuY2UgbGV2ZWwgaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2Ugb2YgIDAgdG8gMTAwMC4NCi0jZGVmaW5lIEVSUl9OSU9DUl9OT1RfQV9WQUxJRF9TRVNTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU5NyAvLyBOb3QgYSB2YWxpZCBPQ1Igc2Vzc2lvbi4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX0NIQVJBQ1RFUl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU5NiAvLyBJbnZhbGlkIGNoYXJhY3RlciBzaXplLiBDaGFyYWN0ZXIgc2l6ZSBtdXN0IGJlID49IDEuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9USFJFU0hPTERfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1OTUgLy8gSW52YWxpZCB0aHJlc2hvbGQgbW9kZSB2YWx1ZS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX1NVQlNUSVRVVElPTl9DSEFSQUNURVIgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU5NCAvLyBJbnZhbGlkIHN1YnN0aXR1dGlvbiBjaGFyYWN0ZXIuIFZhbGlkIHN1YnN0aXR1dGlvbiBjaGFyYWN0ZXJzIGFyZSBBU0NJSSB2YWx1ZXMgdGhhdCByYW5nZSBmcm9tIDEgdG8gMjU0Lg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfTlVNQkVSX09GX0JMT0NLUyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTkzIC8vIEludmFsaWQgbnVtYmVyIG9mIGJsb2Nrcy4gTnVtYmVyIG9mIGJsb2NrcyBtdXN0IGJlID49IDQgYW5kIDw9IDUwLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfUkVBRF9TVFJBVEVHWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTkyIC8vIEludmFsaWQgcmVhZCBzdHJhdGVneS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX0NIQVJBQ1RFUl9JTkRFWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU5MSAvLyBJbnZhbGlkIGNoYXJhY3RlciBpbmRleC4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX05VTUJFUl9PRl9WQUxJRF9DSEFSQUNURVJfUE9TSVRJT05TICAgICAgICAtMTA3NDM5NTU5MCAvLyBJbnZhbGlkIG51bWJlciBvZiBjaGFyYWN0ZXIgcG9zaXRpb25zLiBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSAwIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX0xPV19USFJFU0hPTERfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU4OSAvLyBJbnZhbGlkIGxvdyB0aHJlc2hvbGQgdmFsdWUuIFZhbGlkIHRocmVzaG9sZCB2YWx1ZXMgcmFuZ2UgZnJvbSAwIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX0hJR0hfVEhSRVNIT0xEX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU4OCAvLyBJbnZhbGlkIGhpZ2ggdGhyZXNob2xkIHZhbHVlLiBWYWxpZCB0aHJlc2hvbGQgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAyNTUuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9USFJFU0hPTERfUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1ODcgLy8gVGhlIGxvdyB0aHJlc2hvbGQgbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGhpZ2ggdGhyZXNob2xkLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfTE9XRVJfVEhSRVNIT0xEX0xJTUlUICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTg2IC8vIEludmFsaWQgbG93ZXIgdGhyZXNob2xkIGxpbWl0LiBWYWxpZCBsb3dlciB0aHJlc2hvbGQgbGltaXRzIHJhbmdlIGZyb20gMCB0byAyNTUuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9VUFBFUl9USFJFU0hPTERfTElNSVQgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1ODUgLy8gSW52YWxpZCB1cHBlciB0aHJlc2hvbGQgbGltaXQuIFZhbGlkIHVwcGVyIHRocmVzaG9sZCBsaW1pdHMgcmFuZ2UgZnJvbSAwIHRvIDI1NS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX1RIUkVTSE9MRF9MSU1JVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU4NCAvLyBUaGUgbG93ZXIgdGhyZXNob2xkIGxpbWl0IG11c3QgYmUgbGVzcyB0aGFuIHRoZSB1cHBlciB0aHJlc2hvbGQgbGltaXQuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9NSU5fQ0hBUl9TUEFDSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1ODMgLy8gSW52YWxpZCBtaW5pbXVtIGNoYXJhY3RlciBzcGFjaW5nIHZhbHVlLiBDaGFyYWN0ZXIgc3BhY2luZyBtdXN0IGJlID49IDEgcGl4ZWwuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9NQVhfSE9SSVpfRUxFTUVOVF9TUEFDSU5HICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1ODIgLy8gSW52YWxpZCBtYXhpbXVtIGhvcml6b250YWwgZWxlbWVudCBzcGFjaW5nIHZhbHVlLiBNYXhpbXVtIGhvcml6b250YWwgZWxlbWVudCBzcGFjaW5nIG11c3QgYmUgPj0gMC4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX01BWF9WRVJUX0VMRU1FTlRfU1BBQ0lORyAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU4MSAvLyBJbnZhbGlkIG1heGltdW0gdmVydGljYWwgZWxlbWVudCBzcGFjaW5nIHZhbHVlLiBNYXhpbXVtIHZlcnRpY2FsIGVsZW1lbnQgc3BhY2luZyBtdXN0IGJlID49IDAuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9NSU5fQk9VTkRJTkdfUkVDVF9XSURUSCAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1ODAgLy8gSW52YWxpZCBtaW5pbXVtIGJvdW5kaW5nIHJlY3RhbmdsZSB3aWR0aC4gTWluaW11bSBib3VuZGluZyByZWN0YW5nbGUgd2lkdGggbXVzdCBiZSA+PSAxLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfQVNQRUNUX1JBVElPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTc5IC8vIEludmFsaWQgYXNwZWN0IHJhdGlvIHZhbHVlLiBUaGUgYXNwZWN0IHJhdGlvIG11c3QgYmUgemVybyBvciA+PSAxMDAuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9DSEFSQUNURVJfU0VUX0ZJTEUgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NzggLy8gSW52YWxpZCBvciBjb3JydXB0IGNoYXJhY3RlciBzZXQgZmlsZS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9DSEFSQUNURVJfVkFMVUVfQ0FOTk9UX0JFX0VNUFRZU1RSSU5HICAgICAgICAgICAgICAtMTA3NDM5NTU3NyAvLyBUaGUgY2hhcmFjdGVyIHZhbHVlIG11c3Qgbm90IGJlIGFuIGVtcHR5IHN0cmluZy4NCi0jZGVmaW5lIEVSUl9OSU9DUl9DSEFSQUNURVJfVkFMVUVfVE9PX0xPTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU3NiAvLyBDaGFyYWN0ZXIgdmFsdWVzIG11c3QgYmUgPD0yNTUgY2hhcmFjdGVycy4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX05VTUJFUl9PRl9FUk9TSU9OUyAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU3NSAvLyBJbnZhbGlkIG51bWJlciBvZiBlcm9zaW9ucy4gVGhlIG51bWJlciBvZiBlcm9zaW9ucyBtdXN0IGJlID49IDAuDQotI2RlZmluZSBFUlJfTklPQ1JfQ0hBUkFDVEVSX1NFVF9ERVNDUklQVElPTl9UT09fTE9ORyAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NzQgLy8gVGhlIGNoYXJhY3RlciBzZXQgZGVzY3JpcHRpb24gbXVzdCBiZSA8PTI1NSBjaGFyYWN0ZXJzLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfQ0hBUkFDVEVSX1NFVF9GSUxFX1ZFUlNJT04gICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTczIC8vIFRoZSBjaGFyYWN0ZXIgc2V0IGZpbGUgd2FzIGNyZWF0ZWQgYnkgYSBuZXdlciB2ZXJzaW9uIG9mIE5JIFZpc2lvbi4gVXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgTkkgVmlzaW9uIHRvIHJlYWQgdGhlIGNoYXJhY3RlciBzZXQgZmlsZS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlRFR0VSX1ZBTFVFX0ZPUl9TVFJJTkdfQVRUUklCVVRFICAgICAgICAgICAgICAgICAtMTA3NDM5NTU3MiAvLyBZb3UgbXVzdCBzcGVjaWZ5IGNoYXJhY3RlcnMgZm9yIGEgc3RyaW5nLiBBIHN0cmluZyBjYW5ub3QgY29udGFpbiBpbnRlZ2Vycy4NCi0jZGVmaW5lIEVSUl9OSU9DUl9HRVRfT05MWV9BVFRSSUJVVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU3MSAvLyBUaGlzIGF0dHJpYnV0ZSBpcyByZWFkLW9ubHkuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5URUdFUl9WQUxVRV9GT1JfQk9PTEVBTl9BVFRSSUJVVEUgICAgICAgICAgICAgICAgLTEwNzQzOTU1NzAgLy8gVGhpcyBhdHRyaWJ1dGUgcmVxdWlyZXMgYSBCb29sZWFuIHZhbHVlLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfQVRUUklCVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTY5IC8vIEludmFsaWQgYXR0cmlidXRlLg0KLSNkZWZpbmUgRVJSX05JT0NSX1NUUklOR19WQUxVRV9GT1JfSU5URUdFUl9BVFRSSUJVVEUgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTY4IC8vIFRoaXMgYXR0cmlidXRlIHJlcXVpcmVzIGludGVnZXIgdmFsdWVzLg0KLSNkZWZpbmUgRVJSX05JT0NSX1NUUklOR19WQUxVRV9GT1JfQk9PTEVBTl9BVFRSSUJVVEUgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTY3IC8vIFN0cmluZyB2YWx1ZXMgYXJlIGludmFsaWQgZm9yIHRoaXMgYXR0cmlidXRlLiBFbnRlciBhIGJvb2xlYW4gdmFsdWUuDQotI2RlZmluZSBFUlJfTklPQ1JfQk9PTEVBTl9WQUxVRV9GT1JfSU5URUdFUl9BVFRSSUJVVEUgICAgICAgICAgICAgICAgLTEwNzQzOTU1NjYgLy8gQm9vbGVhbiB2YWx1ZXMgYXJlIG5vdCB2YWxpZCBmb3IgdGhpcyBhdHRyaWJ1dGUuIEVudGVyIGFuIGludGVnZXIgdmFsdWUuDQotI2RlZmluZSBFUlJfTklPQ1JfTVVTVF9CRV9TSU5HTEVfQ0hBUkFDVEVSICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NjUgLy8gUmVxdWlyZXMgYSBzaW5nbGUtY2hhcmFjdGVyIHN0cmluZy4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX1BSRURFRklORURfQ0hBUkFDVEVSICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU2NCAvLyBJbnZhbGlkIHByZWRlZmluZWQgY2hhcmFjdGVyIHZhbHVlLg0KLSNkZWZpbmUgRVJSX05JT0NSX1VOTElDRU5TRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTYzIC8vIFRoaXMgY29weSBvZiBOSSBPQ1IgaXMgdW5saWNlbnNlZC4NCi0jZGVmaW5lIEVSUl9OSU9DUl9CT09MRUFOX1ZBTFVFX0ZPUl9TVFJJTkdfQVRUUklCVVRFICAgICAgICAgICAgICAgICAtMTA3NDM5NTU2MiAvLyBTdHJpbmcgdmFsdWVzIGFyZSBub3QgdmFsaWQgZm9yIHRoaXMgYXR0cmlidXRlLiBFbnRlciBhIEJvb2xlYW4gdmFsdWUuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9OVU1CRVJfT0ZfQ0hBUkFDVEVSUyAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NjEgLy8gVGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBjaGFyYWN0ZXIgdmFsdWUgbXVzdCBtYXRjaCB0aGUgbnVtYmVyIG9mIG9iamVjdHMgaW4gdGhlIGltYWdlLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfT0JKRUNUX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTYwIC8vIEludmFsaWQgb2JqZWN0IGluZGV4Lg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfUkVBRF9PUFRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTU5IC8vIEludmFsaWQgcmVhZCBvcHRpb24uDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9DSEFSQUNURVJfU0laRV9SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NTggLy8gVGhlIG1pbmltdW0gY2hhcmFjdGVyIHNpemUgbXVzdCBiZSBsZXNzIHRoYW4gdGhlIG1heGltdW0gY2hhcmFjdGVyIHNpemUuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9CT1VORElOR19SRUNUX1dJRFRIX1JBTkdFICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NTcgLy8gVGhlIG1pbmltdW0gY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZSB3aWR0aCBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgbWF4aW11bSBjaGFyYWN0ZXIgYm91bmRpbmcgcmVjdGFuZ2xlIHdpZHRoLg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfQk9VTkRJTkdfUkVDVF9IRUlHSFRfUkFOR0UgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTU2IC8vIFRoZSBtaW5pbXVtIGNoYXJhY3RlciBib3VuZGluZyByZWN0YW5nbGUgaGVpZ2h0IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBtYXhpbXVtIGNoYXJhY3RlciBib3VuZGluZyByZWN0YW5nbGUgaGVpZ2h0Lg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfU1BBQ0lOR19SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTU1IC8vIFRoZSBtYXhpbXVtIGhvcml6b250YWwgZWxlbWVudCBzcGFjaW5nIHZhbHVlIG11c3Qgbm90IGV4Y2VlZCB0aGUgbWluaW11bSBjaGFyYWN0ZXIgc3BhY2luZyB2YWx1ZS4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX1JFQURfUkVTT0xVVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU1NCAvLyBJbnZhbGlkIHJlYWQgcmVzb2x1dGlvbi4NCi0jZGVmaW5lIEVSUl9OSU9DUl9JTlZBTElEX01JTl9CT1VORElOR19SRUNUX0hFSUdIVCAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU1MyAvLyBJbnZhbGlkIG1pbmltdW0gYm91bmRpbmcgcmVjdGFuZ2xlIGhlaWdodC4gVGhlIG1pbmltdW0gYm91bmRpbmcgcmVjdGFuZ2xlIGhlaWdodCBtdXN0IGJlID49IDEuDQotI2RlZmluZSBFUlJfTklPQ1JfTk9UX0FfVkFMSURfQ0hBUkFDVEVSX1NFVCAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NTIgLy8gTm90IGEgdmFsaWQgY2hhcmFjdGVyIHNldC4NCi0jZGVmaW5lIEVSUl9OSU9DUl9SRU5BTUVfUkVGQ0hBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTU1MSAvLyBBIHRyYWluZWQgT0NSIGNoYXJhY3RlciBjYW5ub3QgYmUgcmVuYW1lZCB3aGlsZSBpdCBpcyBhIHJlZmVyZW5jZSBjaGFyYWN0ZXIuDQotI2RlZmluZSBFUlJfTklPQ1JfSU5WQUxJRF9DSEFSQUNURVJfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU1NTAgLy8gQSBjaGFyYWN0ZXIgY2Fubm90IGhhdmUgYW4gQVNDSUkgdmFsdWUgb2YgMjU1Lg0KLSNkZWZpbmUgRVJSX05JT0NSX0lOVkFMSURfTlVNQkVSX09GX09CSkVDVFNfVE9fVkVSSUZZICAgICAgICAgICAgICAgIC0xMDc0Mzk1NTQ5IC8vIFRoZSBudW1iZXIgb2Ygb2JqZWN0cyBmb3VuZCBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIGV4cGVjdGVkIGNoYXJhY3RlcnMgb3IgcGF0dGVybnMgdG8gdmVyaWZ5Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1RFUkVPX0JMT0NLTUFUQ0hJTkdfUFJFRklMVEVSX0NBUCAgICAgICAgICAgICAgIC0xMDc0Mzk1NDIxIC8vIFRoZSBzcGVjaWZpZWQgdmFsdWUgZm9yIHRoZSBmaWx0ZXIgY2FwIGZvciBibG9jayBtYXRjaGluZyBpcyBpbnZhbGlkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1RFUkVPX0JMT0NLTUFUQ0hJTkdfUFJFRklMVEVSX1NJWkUgICAgICAgICAgICAgIC0xMDc0Mzk1NDIwIC8vIFRoZSBzcGVjaWZpZWQgcHJlZmlsdGVyIHNpemUgZm9yIGJsb2NrIG1hdGNoaW5nIGlzIGludmFsaWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9TVEVSRU9fQkxPQ0tNQVRDSElOR19QUkVGSUxURVJfVFlQRSAgICAgICAgICAgICAgLTEwNzQzOTU0MTkgLy8gVGhlIHNwZWNpZmllZCBwcmVmaWx0ZXIgdHlwZSBmb3IgYmxvY2sgbWF0Y2hpbmcgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NURVJFT19CTE9DS01BVENISU5HX05VTURJU1BBUklUSUVTICAgICAgICAgICAgICAtMTA3NDM5NTQxOCAvLyBUaGUgc3BlY2lmZWQgdmFsdWUgZm9yIG51bWJlciBvZiBkaXNwYXJpdGllcyBpcyBpbnZhbGlkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1RFUkVPX0JMT0NLTUFUQ0hJTkdfV0lORE9XX1NJWkUgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDE3IC8vIFRoZSBzcGVjaWZpZWQgd2luZG93IHNpemUgZm9yIGJsb2NrIG1hdGNoaW5nIGlzIGludmFsaWQuDQotI2RlZmluZSBFUlJfM0RWSVNJT05fSU5WQUxJRF9TRVNTSU9OX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU0MTYgLy8gVGhpcyAzRCB2aXNpb24gZnVuY3Rpb24gY2Fubm90IGJlIGNhbGxlZCBvbiB0aGlzIHR5cGUgb2YgM2QgdmlzaW9uIHNlc3Npb24uDQotI2RlZmluZSBFUlJfVE9PX01BTllfM0RWSVNJT05fU0VTU0lPTlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU0MTUgLy8gVGhlcmUgYXJlIHRvbyBtYW55IDNEIHZpc2lvbiBzZXNzaW9ucyBvcGVuLiAgWW91IG11c3QgY2xvc2UgYSBzZXNzaW9uIGJlZm9yZSB5b3UgY2FuIG9wZW4gYW5vdGhlciBvbmUuDQotI2RlZmluZSBFUlJfT1BFTklOR19ORVdFUl8zRFZJU0lPTl9TRVNTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU0MTQgLy8gVGhlIDNEIHZpc2lvbiBzZXNzaW9uIHlvdSB0cmllZCB0byBvcGVuIHdhcyBjcmVhdGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIE5JIFZpc2lvbi4gVXBncmFkZSB0byB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgTkkgVmlzaW9uIHRvIHJlYWQgdGhpcyBmaWxlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1RFUkVPX0JMT0NLTUFUQ0hJTkdfRklMVEVSVFlQRSAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDEzIC8vIFlvdSBoYXZlIHNwZWNpZmllZCBhbiBpbnZhbGlkIGZpbHRlciB0eXBlIGZvciBibG9jayBtYXRjaGluZy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NURVJFT19DQU1FUkFfUE9TSVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQxMiAvLyBZb3UgaGF2ZSByZXF1ZXN0ZWQgcmVzdWx0cyBhdCBhbiBpbnZhbGlkIGNhbWVyYSBwb3NpdGlvbiBpbiB0aGUgc3RlcmVvIHNldHVwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfM0RWSVNJT05fU0VTU0lPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDExIC8vIE5vdCBhIHZhbGlkIDNEIFZpc2lvbiBzZXNzaW9uLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfSUNPTlNfUEVSX0xJTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDEwIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IGxlc3MgdGhhbiBvbmUgaWNvbiBwZXIgbGluZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NVQlBJWEVMX0RJVklTSU9OUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQwOSAvLyBJbnZhbGlkIHN1YnBpeGVsIGRpdmlzaW9ucy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0RFVEVDVElPTl9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQwOCAvLyBJbnZhbGlkIGRldGVjdGlvbiBtb2RlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ09OVFJBU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDA3IC8vIEludmFsaWQgY29udHJhc3QgdmFsdWUuIFZhbGlkIGNvbnRyYXN0IHZhbHVlcyByYW5nZSBmcm9tIDAgdG8gMjU1Lg0KLSNkZWZpbmUgRVJSX0NPT1JEU1lTX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDA2IC8vIFRoZSBjb29yZGluYXRlIHN5c3RlbSBjb3VsZCBub3QgYmUgZm91bmQgb24gdGhpcyBpbWFnZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1RFWFRPUklFTlRBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQwNSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgdGV4dCBvcmllbnRhdGlvbiB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EX0ZPUl9VTldSQVAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU0MDQgLy8gVW53cmFwSW1hZ2UgZG9lcyBub3Qgc3VwcG9ydCB0aGUgaW50ZXJwb2xhdGlvbiBtZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLiAgVmFsaWQgaW50ZXJwb2xhdGlvbiBtZXRob2RzIGFyZSB6ZXJvIG9yZGVyIGFuZCBiaWxpbmVhci4gDQotI2RlZmluZSBFUlJfRVhUUkFJTkZPX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTU0MDMgLy8gVGhlIGltYWdlIHdhcyBjcmVhdGVkIGluIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byB1c2UgdGhpcyBpbWFnZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BWFBPSU5UUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQwMiAvLyBUaGUgZnVuY3Rpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcG9pbnRzIHRoYXQgeW91IHNwZWNpZmllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01BVENIRkFDVE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTQwMSAvLyBUaGUgZnVuY3Rpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgbWF0Y2hGYWN0b3IgdGhhdCB5b3Ugc3BlY2lmaWVkLg0KLSNkZWZpbmUgRVJSX01VTFRJQ09SRV9PUEVSQVRJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1NDAwIC8vIFRoZSBvcGVyYXRpb24geW91IGhhdmUgZ2l2ZW4gTXVsdGljb3JlIE9wdGlvbnMgaXMgaW52YWxpZC4gUGxlYXNlIHNlZSB0aGUgYXZhaWxhYmxlIGVudW1lcmF0aW9uIHZhbHVlcyBmb3IgTXVsdGljb3JlIE9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9NVUxUSUNPUkVfSU5WQUxJRF9BUkdVTUVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM5OSAvLyBZb3UgaGF2ZSBnaXZlbiBNdWx0aWNvcmUgT3B0aW9ucyBhbiBpbnZhbGlkIGFyZ3VtZW50Lg0KLSNkZWZpbmUgRVJSX0NPTVBMRVhfSU1BR0VfUkVRVUlSRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mzk3IC8vIEEgY29tcGxleCBpbWFnZSBpcyByZXF1aXJlZC4NCi0jZGVmaW5lIEVSUl9DT0xPUl9JTUFHRV9SRVFVSVJFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM5NSAvLyBUaGUgaW5wdXQgaW1hZ2UgbXVzdCBiZSBhIGNvbG9yIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1NQRUNUUlVNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mzk0IC8vIFRoZSBjb2xvciBtYXNrIHJlbW92ZXMgdG9vIG11Y2ggY29sb3IgaW5mb3JtYXRpb24uDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfSU1BR0VfVE9PX1NNQUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzOTMgLy8gVGhlIGNvbG9yIHRlbXBsYXRlIGltYWdlIGlzIHRvbyBzbWFsbC4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9JTUFHRV9UT09fTEFSR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM5MiAvLyBUaGUgY29sb3IgdGVtcGxhdGUgaW1hZ2UgaXMgdG9vIGxhcmdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0lNQUdFX0hVRV9DT05UUkFTVF9UT09fTE9XICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzkxIC8vIFRoZSBjb250cmFzdCBpbiB0aGUgaHVlIHBsYW5lIG9mIHRoZSBpbWFnZSBpcyB0b28gbG93IGZvciBsZWFybmluZyBzaGFwZSBmZWF0dXJlcy4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9JTUFHRV9MVU1JTkFOQ0VfQ09OVFJBU1RfVE9PX0xPVyAgICAgICAgICAtMTA3NDM5NTM5MCAvLyBUaGUgY29udHJhc3QgaW4gdGhlIGx1bWluYW5jZSBwbGFuZSBvZiB0aGUgaW1hZ2UgaXMgdG9vIGxvdyB0byBsZWFybiBzaGFwZSBmZWF0dXJlcy4NCi0jZGVmaW5lIEVSUl9DT0xPUl9MRUFSTl9TRVRVUF9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM4OSAvLyBJbnZhbGlkIGNvbG9yIGxlYXJuIHNldHVwIGRhdGEuDQotI2RlZmluZSBFUlJfQ09MT1JfTEVBUk5fU0VUVVBfREFUQV9TSEFQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzODggLy8gSW52YWxpZCBjb2xvciBsZWFybiBzZXR1cCBkYXRhLg0KLSNkZWZpbmUgRVJSX0NPTE9SX01BVENIX1NFVFVQX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mzg3IC8vIEludmFsaWQgY29sb3IgbWF0Y2ggc2V0dXAgZGF0YS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9NQVRDSF9TRVRVUF9EQVRBX1NIQVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM4NiAvLyBJbnZhbGlkIGNvbG9yIG1hdGNoIHNldHVwIGRhdGEuDQotI2RlZmluZSBFUlJfQ09MT1JfUk9UQVRJT05fUkVRVUlSRVNfU0hBUEVfRkVBVFVSRSAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzODUgLy8gUm90YXRpb24taW52YXJpYW50IGNvbG9yIHBhdHRlcm4gbWF0Y2hpbmcgcmVxdWlyZXMgYSBmZWF0dXJlIG1vZGUgaW5jbHVkaW5nIHNoYXBlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mzg0IC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzODMgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM4MiAvLyBJbnZhbGlkIGNvbG9yIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzgxIC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzODAgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM3OSAvLyBJbnZhbGlkIGNvbG9yIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mzc4IC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVCAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNzcgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX05PU0hJRlQgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM3NiAvLyBUaGUgY29sb3IgdGVtcGxhdGUgaW1hZ2UgZG9lcyBub3QgY29udGFpbiBkYXRhIHJlcXVpcmVkIGZvciBzaGlmdC1pbnZhcmlhbnQgY29sb3IgbWF0Y2hpbmcuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVF8xICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNzUgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX1NISUZUXzIgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM3NCAvLyBJbnZhbGlkIGNvbG9yIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT04gICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzczIC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9OT1JPVEFUSU9OICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNzIgLy8gVGhlIGNvbG9yIHRlbXBsYXRlIGltYWdlIGRvZXMgbm90IGNvbnRhaW4gZGF0YSByZXF1aXJlZCBmb3Igcm90YXRpb24taW52YXJpYW50IGNvbG9yIG1hdGNoaW5nLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT05fMSAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzcxIC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTl8yICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNzAgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX1JPVEFUSU9OXzMgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM2OSAvLyBJbnZhbGlkIGNvbG9yIHRlbXBsYXRlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0NPTE9SX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT05fNCAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzY4IC8vIEludmFsaWQgY29sb3IgdGVtcGxhdGUgaW1hZ2UuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTl81ICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNjcgLy8gSW52YWxpZCBjb2xvciB0ZW1wbGF0ZSBpbWFnZS4NCi0jZGVmaW5lIEVSUl9DT0xPUl9URU1QTEFURV9ERVNDUklQVE9SX05PU0hBUEUgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM2NiAvLyBUaGUgY29sb3IgdGVtcGxhdGUgaW1hZ2UgZG9lcyBub3QgY29udGFpbiBkYXRhIHJlcXVpcmVkIGZvciBjb2xvciBtYXRjaGluZyBpbiBzaGFwZSBmZWF0dXJlIG1vZGUuDQotI2RlZmluZSBFUlJfQ09MT1JfVEVNUExBVEVfREVTQ1JJUFRPUl9OT1NQRUNUUlVNICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNjUgLy8gVGhlIGNvbG9yIHRlbXBsYXRlIGltYWdlIGRvZXMgbm90IGNvbnRhaW4gZGF0YSByZXF1aXJlZCBmb3IgY29sb3IgbWF0Y2hpbmcgaW4gY29sb3IgZmVhdHVyZSBtb2RlLg0KLSNkZWZpbmUgRVJSX0lHTk9SRV9DT0xPUl9TUEVDVFJVTV9TRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzY0IC8vIFRoZSBpZ25vcmUgY29sb3Igc3BlY3RyYSBhcnJheSBpcyBpbnZhbGlkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU1VCU0FNUExJTkdfUkFUSU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzYzIC8vIEludmFsaWQgc3Vic2FtcGxpbmcgcmF0aW8uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNjIgLy8gSW52YWxpZCBwaXhlbCB3aWR0aC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NURUVQTkVTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM2MSAvLyBJbnZhbGlkIHN0ZWVwbmVzcy4NCi0jZGVmaW5lIEVSUl9DT01QTEVYX1BMQU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM2MCAvLyBJbnZhbGlkIGNvbXBsZXggcGxhbmUuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT0xPUl9JR05PUkVfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNTcgLy8gSW52YWxpZCBjb2xvciBpZ25vcmUgbW9kZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01JTl9NQVRDSF9TQ09SRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM1NiAvLyBJbnZhbGlkIG1pbmltdW0gbWF0Y2ggc2NvcmUuIEFjY2VwdGFibGUgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAxMDAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTlVNX01BVENIRVNfUkVRVUVTVEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzU1IC8vIEludmFsaWQgbnVtYmVyIG9mIG1hdGNoZXMgcmVxdWVzdGVkLiBZb3UgbXVzdCByZXF1ZXN0IGEgbWluaW11bSBvZiBvbmUgbWF0Y2guDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT0xPUl9XRUlHSFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNTQgLy8gSW52YWxpZCBjb2xvciB3ZWlnaHQuIEFjY2VwdGFibGUgdmFsdWVzIHJhbmdlIGZyb20gMCB0byAxMDAwLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0VBUkNIX1NUUkFURUdZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzUzIC8vIEludmFsaWQgc2VhcmNoIHN0cmF0ZWd5Lg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRkVBVFVSRV9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzUyIC8vIEludmFsaWQgZmVhdHVyZSBtb2RlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfUkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzUxIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHJlY3RhbmdsZXMgd2l0aCBuZWdhdGl2ZSB3aWR0aHMgb3IgbmVnYXRpdmUgaGVpZ2h0cy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1ZJU0lPTl9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM1MCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlzaW9uIGluZm9ybWF0aW9uIHR5cGUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0tFTEVUT05NRVRIT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzQ5IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBTa2VsZXRvbk1ldGhvZCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF8zRFBMQU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNDggLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIDNEUGxhbmUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfM0RESVJFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzQ3IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSAzRERpcmVjdGlvbiB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EX0ZPUl9ST1RBVEUgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNDYgLy8gaW1hcVJvdGF0ZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBJbnRlcnBvbGF0aW9uTWV0aG9kIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0ZMSVBBWElTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM0NSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgYXhpcyBvZiBzeW1tZXRyeSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfRklMRV9GSUxFTkFNRV9OVUxMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzNDMgLy8gWW91IG11c3QgcGFzcyBhIHZhbGlkIGZpbGUgbmFtZS4gRG8gbm90IHBhc3MgaW4gTlVMTC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NJWkVUWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTM0MCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgU2l6ZVR5cGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX1VOS05PV05fQUxHT1JJVEhNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzM2IC8vIFlvdSBzcGVjaWZpZWQgdGhlIGRpc3BhdGNoIHN0YXR1cyBvZiBhbiB1bmtub3duIGFsZ29yaXRobS4NCi0jZGVmaW5lIEVSUl9ESVNQQVRDSF9TVEFUVVNfQ09ORkxJQ1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMzNSAvLyBZb3UgYXJlIGF0dGVtcHRpbmcgdG8gc2V0IHRoZSBzYW1lIGFsZ29yaXRobSB0byBkaXNwYXRjaCBhbmQgdG8gbm90IGRpc3BhdGNoLiBSZW1vdmUgb25lIG9mIHRoZSBjb25mbGljdGluZyBzZXR0aW5ncy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTlZFUlNJT05TVFlMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMzNCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgQ29udmVyc2lvbiBNZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfVkVSVElDQUxfVEVYVF9BTElHTk1FTlQgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzMzIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBWZXJ0aWNhbFRleHRBbGlnbm1lbnQgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ09NUEFSRUZVTkNUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzMyIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBDb21wYXJlRnVuY3Rpb24gdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQk9SREVSTUVUSE9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzMxIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBCb3JkZXJNZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQk9SREVSX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzMwIC8vIEludmFsaWQgYm9yZGVyIHNpemUuIEFjY2VwdGFibGUgdmFsdWVzIHJhbmdlIGZyb20gMCB0byA1MC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX09VVExJTkVNRVRIT0QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMyOSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgT3V0bGluZU1ldGhvZCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMjggLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIEludGVycG9sYXRpb25NZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfU0NBTElOR01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzI3IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBTY2FsaW5nTW9kZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9EUkFXTU9ERV9GT1JfTElORSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMjYgLy8gaW1hcURyYXdMaW5lT25JbWFnZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBEcmF3TW9kZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9EUkFXTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMjUgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIERyYXdNb2RlIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NIQVBFTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMyNCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgU2hhcGVNb2RlIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0ZPTlRDT0xPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMyMyAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgRm9udENvbG9yIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1RFWFRBTElHTk1FTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMyMiAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgVGV4dEFsaWdubWVudCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NT1JQSE9MT0dZTUVUSE9EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMjEgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIE1vcnBob2xvZ3lNZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0VNUFRZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzIwIC8vIFRoZSB0ZW1wbGF0ZSBpbWFnZSBpcyBlbXB0eS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1NVQlBJWF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMxOSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgaW50ZXJwb2xhdGlvbiB0eXBlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlNGX1BPSU5UUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMxOCAvLyBZb3Ugc3VwcGxpZWQgYW4gaW5zdWZmaWNpZW50IG51bWJlciBvZiBwb2ludHMgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9VTkRFRl9QT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMxNyAvLyBZb3Ugc3BlY2lmaWVkIGEgcG9pbnQgdGhhdCBsaWVzIG91dHNpZGUgdGhlIGltYWdlLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfS0VSTkVMX0NPREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzE2IC8vIEludmFsaWQga2VybmVsIGNvZGUuDQotI2RlZmluZSBFUlJfSU5FRkZJQ0lFTlRfUE9JTlRTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMTUgLy8gWW91IHN1cHBsaWVkIGFuIGluZWZmaWNpZW50IHNldCBvZiBwb2ludHMgdG8gbWF0Y2ggdGhlIG1pbmltdW0gc2NvcmUuDQotI2RlZmluZSBFUlJfV1JJVEVfRklMRV9OT1RfU1VQUE9SVEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMTMgLy8gV3JpdGluZyBmaWxlcyBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgZGV2aWNlLg0KLSNkZWZpbmUgRVJSX0xDRF9DQUxJQlJBVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzEyIC8vIFRoZSBpbnB1dCBpbWFnZSBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgdmFsaWQgTENEIG9yIExFRCBjYWxpYnJhdGlvbiBpbWFnZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTE9SX1NQRUNUUlVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMxMSAvLyBUaGUgY29sb3Igc3BlY3RydW0gYXJyYXkgeW91IHByb3ZpZGVkIGhhcyBhbiBpbnZhbGlkIG51bWJlciBvZiBlbGVtZW50cyBvciBjb250YWlucyBhbiBlbGVtZW50IHNldCB0byBub3QtYS1udW1iZXIgKE5hTikuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9QQUxFVFRFX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMTAgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIFBhbGV0dGVUeXBlIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1dJTkRPV19USFJFQURfUE9MSUNZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMwOSAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgV2luZG93VGhyZWFkUG9saWN5IHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTE9SU0VOU0lUSVZJVFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMwOCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgQ29sb3JTZW5zaXRpdml0eSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfUFJFQ0lTSU9OX05PVF9HVFJfVEhBTl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMDcgLy8gVGhlIHByZWNpc2lvbiBwYXJhbWV0ZXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1RPT0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMwNiAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgVG9vbCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9SRUZFUkVOQ0VNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMDUgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIFJlZmVyZW5jZU1vZGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFUSFRSQU5TRk9STU1FVEhPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MzA0IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBNYXRoVHJhbnNmb3JtTWV0aG9kIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX05VTV9PRl9DTEFTU0VTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMwMyAvLyBJbnZhbGlkIG51bWJlciBvZiBjbGFzc2VzIGZvciBhdXRvIHRocmVzaG9sZC4gQWNjZXB0YWJsZSB2YWx1ZXMgcmFuZ2UgZnJvbSAyIHRvIDI1Ni4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1RIUkVTSE9MRE1FVEhPRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTMwMiAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgdGhyZXNob2xkIG1ldGhvZCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfUk9JX05PVF8yX0xJTkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMDEgLy8gVGhlIFJPSSB5b3UgcGFzc2VkIGludG8gaW1hcUdldE1ldGVyQXJjIG11c3QgY29uc2lzdCBvZiB0d28gbGluZXMuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9NRVRFUkFSQ01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUzMDAgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIE1ldGVyQXJjTW9kZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT01QTEVYUExBTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTkgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIENvbXBsZXhQbGFuZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfQ09NUExFWFBMQU5FX05PVF9SRUFMX09SX0lNQUdJTkFSWSAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTggLy8gWW91IGNhbiBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIG9uIGEgcmVhbCBvciBhbiBpbWFnaW5hcnkgQ29tcGxleFBsYW5lIG9ubHkuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9QQVJUSUNMRUlORk9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTcgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIFBhcnRpY2xlSW5mb01vZGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQkFSQ09ERVRZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mjk2IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBCYXJjb2RlVHlwZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9JTlRFUlBPTEFUSU9OTUVUSE9EX0lOVEVSUE9MQVRFUE9JTlRTICAgICAgICAgICAgLTEwNzQzOTUyOTUgLy8gaW1hcUludGVycG9sYXRlUG9pbnRzIGRvZXMgbm90IHN1cHBvcnQgdGhlIEludGVycG9sYXRpb25NZXRob2QgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX0NPTlRPVVJfSU5ERVhfT1VUX09GX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mjk0IC8vIFRoZSBjb250b3VyIGluZGV4IHlvdSBzdXBwbGllZCBpcyBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGNvbnRvdXJzIGluIHRoZSBST0kuDQotI2RlZmluZSBFUlJfQ09OVE9VUklEX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTMgLy8gVGhlIHN1cHBsaWVkIENvbnRvdXJJRCBkaWQgbm90IGNvcnJlbGF0ZSB0byBhIGNvbnRvdXIgaW5zaWRlIHRoZSBST0kuDQotI2RlZmluZSBFUlJfUE9JTlRTX0FSRV9DT0xMSU5FQVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTIgLy8gRG8gbm90IHN1cHBseSBjb2xsaW5lYXIgcG9pbnRzIGZvciB0aGlzIG9wZXJhdGlvbi4NCi0jZGVmaW5lIEVSUl9TSEFQRU1BVENIX0JBRElNQUdFREFUQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI5MSAvLyBTaGFwZSBNYXRjaCByZXF1aXJlcyB0aGUgaW1hZ2UgdG8gY29udGFpbiBvbmx5IHBpeGVsIHZhbHVlcyBvZiAwIG9yIDEuDQotI2RlZmluZSBFUlJfU0hBUEVNQVRDSF9CQURURU1QTEFURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyOTAgLy8gVGhlIHRlbXBsYXRlIHlvdSBzdXBwbGllZCBmb3IgU2hhcGVNYXRjaCBjb250YWlucyBubyBzaGFwZSBpbmZvcm1hdGlvbi4NCi0jZGVmaW5lIEVSUl9DT05UQUlORVJfQ0FQQUNJVFlfRVhDRUVERURfVUlOVF9NQVggICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI4OSAvLyBUaGUgb3BlcmF0aW9uIHdvdWxkIGhhdmUgZXhjZWVkZWQgdGhlIGNhcGFjaXR5IG9mIGFuIGludGVybmFsIGNvbnRhaW5lciwgd2hpY2ggaXMgbGltaXRlZCB0byA0Mjk0OTY3Mjk2IHVuaXF1ZSBlbGVtZW50cy4NCi0jZGVmaW5lIEVSUl9DT05UQUlORVJfQ0FQQUNJVFlfRVhDRUVERURfSU5UX01BWCAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI4OCAvLyBUaGUgb3BlcmF0aW9uIHdvdWxkIGhhdmUgZXhjZWVkZWQgdGhlIGNhcGFjaXR5IG9mIGFuIGludGVybmFsIGNvbnRhaW5lciwgd2hpY2ggaXMgbGltaXRlZCB0byAyMTQ3NDgzNjQ4IHVuaXF1ZSBlbGVtZW50cy4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0xJTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI4NyAvLyBUaGUgbGluZSB5b3UgcHJvdmlkZWQgY29udGFpbnMgdHdvIGlkZW50aWNhbCBwb2ludHMsIG9yIG9uZSBvZiB0aGUgY29vcmRpbmF0ZSBsb2NhdGlvbnMgZm9yIHRoZSBsaW5lIGlzIG5vdCBhIG51bWJlciAoTmFOKS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0NPTkNFTlRSSUNfUkFLRV9ESVJFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI4NiAvLyBJbnZhbGlkIGNvbmNlbnRyaWMgcmFrZSBkaXJlY3Rpb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9TUE9LRV9ESVJFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyODUgLy8gSW52YWxpZCBzcG9rZSBkaXJlY3Rpb24uDQotI2RlZmluZSBFUlJfSU5WQUxJRF9FREdFX1BST0NFU1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyODQgLy8gSW52YWxpZCBlZGdlIHByb2Nlc3MuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9SQUtFX0RJUkVDVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyODMgLy8gSW52YWxpZCByYWtlIGRpcmVjdGlvbi4NCi0jZGVmaW5lIEVSUl9DQU5UX0RSQVdfSU5UT19WSUVXRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI4MiAvLyBVbmFibGUgdG8gZHJhdyB0byB2aWV3ZXIuIFlvdSBtdXN0IGhhdmUgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb250cm9sLg0KLSNkZWZpbmUgRVJSX0lNQUdFX1NNQUxMRVJfVEhBTl9CT1JERVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjgxIC8vIFlvdXIgaW1hZ2UgbXVzdCBiZSBsYXJnZXIgdGhhbiBpdHMgYm9yZGVyIHNpemUgZm9yIHRoaXMgb3BlcmF0aW9uLg0KLSNkZWZpbmUgRVJSX1JPSV9OT1RfUkVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjgwIC8vIFRoZSBST0kgbXVzdCBvbmx5IGhhdmUgYSBzaW5nbGUgUmVjdGFuZ2xlIGNvbnRvdXIuDQotI2RlZmluZSBFUlJfUk9JX05PVF9QT0xZR09OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNzkgLy8gUk9JIGlzIG5vdCBhIHBvbHlnb24uDQotI2RlZmluZSBFUlJfTENEX05PVF9OVU1FUklDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNzggLy8gTENEIGltYWdlIGlzIG5vdCBhIG51bWJlci4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFX0NIRUNLU1VNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI3NyAvLyBUaGUgZGVjb2RlZCBiYXJjb2RlIGluZm9ybWF0aW9uIGRpZCBub3QgcGFzcyB0aGUgY2hlY2tzdW0gdGVzdC4NCi0jZGVmaW5lIEVSUl9MSU5FU19QQVJBTExFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI3NiAvLyBZb3Ugc3BlY2lmaWVkIHBhcmFsbGVsIGxpbmVzIGZvciB0aGUgbWV0ZXIgUk9JLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQlJPV1NFUl9JTUFHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1Mjc1IC8vIEludmFsaWQgYnJvd3NlciBpbWFnZS4NCi0jZGVmaW5lIEVSUl9ESVZfQllfWkVSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI3MCAvLyBDYW5ub3QgZGl2aWRlIGJ5IHplcm8uDQotI2RlZmluZSBFUlJfTlVMTF9QT0lOVEVSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNjkgLy8gTnVsbCBwb2ludGVyLg0KLSNkZWZpbmUgRVJSX0xJTkVBUl9DT0VGRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjY4IC8vIFRoZSBsaW5lYXIgZXF1YXRpb25zIGFyZSBub3QgaW5kZXBlbmRlbnQuDQotI2RlZmluZSBFUlJfQ09NUExFWF9ST09UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNjcgLy8gVGhlIHJvb3RzIG9mIHRoZSBlcXVhdGlvbiBhcmUgY29tcGxleC4NCi0jZGVmaW5lIEVSUl9CQVJDT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI2NSAvLyBUaGUgYmFyY29kZSBkb2VzIG5vdCBtYXRjaCB0aGUgdHlwZSB5b3Ugc3BlY2lmaWVkLg0KLSNkZWZpbmUgRVJSX0xDRF9OT19TRUdNRU5UUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjYzIC8vIE5vIGxpdCBzZWdtZW50Lg0KLSNkZWZpbmUgRVJSX0xDRF9CQURfTUFUQ0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjYyIC8vIFRoZSBMQ0QgZG9lcyBub3QgZm9ybSBhIGtub3duIGRpZ2l0Lg0KLSNkZWZpbmUgRVJSX0dJUF9SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjYxIC8vIEFuIGludGVybmFsIGVycm9yIG9jY3VycmVkIHdoaWxlIGF0dGVtcHRpbmcgdG8gYWNjZXNzIGFuIGludmFsaWQgY29vcmRpbmF0ZSBvbiBhbiBpbWFnZS4NCi0jZGVmaW5lIEVSUl9IRUFQX1RSQVNIRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI2MCAvLyBBbiBpbnRlcm5hbCBtZW1vcnkgZXJyb3Igb2NjdXJyZWQuDQotI2RlZmluZSBFUlJfQkFEX0ZJTFRFUl9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNTggLy8gVGhlIGZpbHRlciB3aWR0aCBtdXN0IGJlIG9kZCBmb3IgdGhlIENhbm55IG9wZXJhdG9yLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfRURHRV9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjU3IC8vIFlvdSBzdXBwbGllZCBhbiBpbnZhbGlkIGVkZ2UgZGlyZWN0aW9uIGluIHRoZSBDYW5ueSBvcGVyYXRvci4NCi0jZGVmaW5lIEVSUl9FVkVOX1dJTkRPV19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI1NiAvLyBUaGUgd2luZG93IHNpemUgbXVzdCBiZSBvZGQgZm9yIHRoZSBDYW5ueSBvcGVyYXRvci4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX0xFQVJOX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI1MyAvLyBJbnZhbGlkIGxlYXJuIG1vZGUuDQotI2RlZmluZSBFUlJfTEVBUk5fU0VUVVBfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNTIgLy8gSW52YWxpZCBsZWFybiBzZXR1cCBkYXRhLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfTUFUQ0hfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjUxIC8vIEludmFsaWQgbWF0Y2ggbW9kZS4NCi0jZGVmaW5lIEVSUl9NQVRDSF9TRVRVUF9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI1MCAvLyBJbnZhbGlkIG1hdGNoIHNldHVwIGRhdGEuDQotI2RlZmluZSBFUlJfUk9UQVRJT05fQU5HTEVfUkFOR0VfVE9PX0xBUkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNDkgLy8gQXQgbGVhc3Qgb25lIHJhbmdlIGluIHRoZSBhcnJheSBvZiByb3RhdGlvbiBhbmdsZSByYW5nZXMgZXhjZWVkcyAzNjAgZGVncmVlcy4NCi0jZGVmaW5lIEVSUl9UT09fTUFOWV9ST1RBVElPTl9BTkdMRV9SQU5HRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI0OCAvLyBUaGUgYXJyYXkgb2Ygcm90YXRpb24gYW5nbGUgcmFuZ2VzIGNvbnRhaW5zIHRvbyBtYW55IHJhbmdlcy4NCi0jZGVmaW5lIEVSUl9URU1QTEFURV9ERVNDUklQVE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI0NyAvLyBJbnZhbGlkIHRlbXBsYXRlIGRlc2NyaXB0b3IuDQotI2RlZmluZSBFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNDYgLy8gSW52YWxpZCB0ZW1wbGF0ZSBkZXNjcmlwdG9yLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjQ1IC8vIEludmFsaWQgdGVtcGxhdGUgZGVzY3JpcHRvci4NCi0jZGVmaW5lIEVSUl9URU1QTEFURV9ERVNDUklQVE9SXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTI0NCAvLyBJbnZhbGlkIHRlbXBsYXRlIGRlc2NyaXB0b3IuDQotI2RlZmluZSBFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNDMgLy8gVGhlIHRlbXBsYXRlIGRlc2NyaXB0b3Igd2FzIGNyZWF0ZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24gb2YgTkkgVmlzaW9uLiBVcGdyYWRlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBOSSBWaXNpb24gdG8gdXNlIHRoaXMgdGVtcGxhdGUuDQotI2RlZmluZSBFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl9ST1RBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyNDIgLy8gSW52YWxpZCB0ZW1wbGF0ZSBkZXNjcmlwdG9yLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9ST1RBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjQxIC8vIFRoZSB0ZW1wbGF0ZSBkZXNjcmlwdG9yIGRvZXMgbm90IGNvbnRhaW4gZGF0YSByZXF1aXJlZCBmb3Igcm90YXRpb24taW52YXJpYW50IG1hdGNoaW5nLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfUk9UQVRJT05fMSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjQwIC8vIEludmFsaWQgdGVtcGxhdGUgZGVzY3JpcHRvci4NCi0jZGVmaW5lIEVSUl9URU1QTEFURV9ERVNDUklQVE9SX1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTIzOSAvLyBJbnZhbGlkIHRlbXBsYXRlIGRlc2NyaXB0b3IuDQotI2RlZmluZSBFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl9OT1NISUZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMzggLy8gVGhlIHRlbXBsYXRlIGRlc2NyaXB0b3IgZG9lcyBub3QgY29udGFpbiBkYXRhIHJlcXVpcmVkIGZvciBzaGlmdC1pbnZhcmlhbnQgbWF0Y2hpbmcuDQotI2RlZmluZSBFUlJfVEVNUExBVEVfREVTQ1JJUFRPUl9TSElGVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMzcgLy8gSW52YWxpZCB0ZW1wbGF0ZSBkZXNjcmlwdG9yLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0RFU0NSSVBUT1JfTk9TQ0FMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjM2IC8vIFRoZSB0ZW1wbGF0ZSBkZXNjcmlwdG9yIGRvZXMgbm90IGNvbnRhaW4gZGF0YSByZXF1aXJlZCBmb3Igc2NhbGUtaW52YXJpYW50IG1hdGNoaW5nLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0lNQUdFX0NPTlRSQVNUX1RPT19MT1cgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjM1IC8vIFRoZSB0ZW1wbGF0ZSBpbWFnZSBkb2VzIG5vdCBjb250YWluIGVub3VnaCBjb250cmFzdC4NCi0jZGVmaW5lIEVSUl9URU1QTEFURV9JTUFHRV9UT09fU01BTEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTIzNCAvLyBUaGUgdGVtcGxhdGUgaW1hZ2UgaXMgdG9vIHNtYWxsLg0KLSNkZWZpbmUgRVJSX1RFTVBMQVRFX0lNQUdFX1RPT19MQVJHRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjMzIC8vIFRoZSB0ZW1wbGF0ZSBpbWFnZSBpcyB0b28gbGFyZ2UuDQotI2RlZmluZSBFUlJfVE9PX01BTllfT0NSX1NFU1NJT05TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMTQgLy8gVGhlcmUgYXJlIHRvbyBtYW55IE9DUiBzZXNzaW9ucyBvcGVuLiAgWW91IG11c3QgY2xvc2UgYSBzZXNzaW9uIGJlZm9yZSB5b3UgY2FuIG9wZW4gYW5vdGhlciBvbmUuDQotI2RlZmluZSBFUlJfT0NSX1RFTVBMQVRFX1dST05HX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMTIgLy8gVGhlIHNpemUgb2YgdGhlIHRlbXBsYXRlIHN0cmluZyBtdXN0IG1hdGNoIHRoZSBzaXplIG9mIHRoZSBzdHJpbmcgeW91IGFyZSB0cnlpbmcgdG8gY29ycmVjdC4NCi0jZGVmaW5lIEVSUl9PQ1JfQkFEX1RFWFRfVEVNUExBVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTIxMSAvLyBUaGUgc3VwcGxpZWQgdGV4dCB0ZW1wbGF0ZSBjb250YWlucyBub25zdGFuZGFyZCBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIGdlbmVyYXRlZCBieSBPQ1IuDQotI2RlZmluZSBFUlJfT0NSX0NBTk5PVF9NQVRDSF9URVhUX1RFTVBMQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMTAgLy8gQXQgbGVhc3Qgb25lIGNoYXJhY3RlciBpbiB0aGUgdGV4dCB0ZW1wbGF0ZSB3YXMgb2YgYSBsZXhpY2FsIGNsYXNzIHRoYXQgZGlkIG5vdCBtYXRjaCB0aGUgc3VwcGxpZWQgY2hhcmFjdGVyIHJlcG9ydHMuDQotI2RlZmluZSBFUlJfT0NSX0xJQl9JTklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMDMgLy8gVGhlIE9DUiBsaWJyYXJ5IGNhbm5vdCBiZSBpbml0aWFsaXplZCBjb3JyZWN0bHkuDQotI2RlZmluZSBFUlJfT0NSX0xPQURfTElCUkFSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUyMDEgLy8gVGhlcmUgd2FzIGEgZmFpbHVyZSB3aGVuIGxvYWRpbmcgb25lIG9mIHRoZSBpbnRlcm5hbCBPQ1IgZW5naW5lIG9yIExhYlZpZXcgbGlicmFyaWVzLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX1BBUkFNRVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MjAwIC8vIE9uZSBvZiB0aGUgcGFyYW1ldGVycyBzdXBwbGllZCB0byB0aGUgT0NSIGZ1bmN0aW9uIHRoYXQgZ2VuZXJhdGVkIHRoaXMgZXJyb3IgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9NQVJLRVJfSU5GT1JNQVRJT05fTk9UX1NVUFBMSUVEICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE5OSAvLyBNYXJrZXIgaW1hZ2UgYW5kIHBvaW50cyBhcmUgbm90IHN1cHBsaWVkDQotI2RlZmluZSBFUlJfSU5DT01QQVRJQkxFX01BUktFUl9JTUFHRV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxOTggLy8gU291cmNlIEltYWdlIGFuZCBNYXJrZXIgSW1hZ2Ugc2hvdWxkIGJlIG9mIHNhbWUgc2l6ZS4NCi0jZGVmaW5lIEVSUl9CT1RIX01BUktFUl9JTlBVVFNfU1VQUExJRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE5NyAvLyBCb3RoIE1hcmtlciBJbWFnZSBhbmQgUG9pbnRzIGFyZSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX01PUlBIT0xPR0lDQUxfT1BFUkFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE5NiAvLyBJbnZhbGlkIE1vcnBob2xvZ2ljYWwgT3BlcmF0aW9uLg0KLSNkZWZpbmUgRVJSX0lNQUdFX0NPTlRBSU5TX05BTl9WQUxVRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTk1IC8vIEZsb2F0IGltYWdlIGNvbnRhaW5zIE5hTiB2YWx1ZXMNCi0jZGVmaW5lIEVSUl9PVkVSTEFZX0VYVFJBSU5GT19PUEVOSU5HX05FV19WRVJTSU9OICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE5NCAvLyBUaGUgb3ZlcmxheSBpbmZvcm1hdGlvbiB5b3UgdHJpZWQgdG8gb3BlbiB3YXMgY3JlYXRlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBOSSBWaXNpb24uIFVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIE5JIFZpc2lvbiB0byByZWFkIHRoaXMgZmlsZS4NCi0jZGVmaW5lIEVSUl9OT19DTEFNUF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE5MyAvLyBObyB2YWxpZCBjbGFtcCB3YXMgZm91bmQgd2l0aCB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uDQotI2RlZmluZSBFUlJfTk9fQ0xBTVBfV0lUSElOX0FOR0xFX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxOTIgLy8gU3VwcGxpZWQgYW5nbGUgcmFuZ2UgZm9yIGNsYW1wIGlzIGluc3VmZmljaWVudA0KLSNkZWZpbmUgRVJSX0dIVF9JTlZBTElEX1VTRV9BTExfQ1VSVkVTX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTg4IC8vIFRoZSB1c2UgYWxsIGN1cnZlcyBhZHZhbmNlZCBvcHRpb24gc3BlY2lmaWVkIGR1cmluZyBsZWFybiBpcyBub3Qgc3VwcG9ydGVkDQotI2RlZmluZSBFUlJfSU5WQUxJRF9HQVVTU19TSUdNQV9WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxODcgLy8gVGhlIHNpZ21hIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIEdhdXNzaWFuIGZpbHRlciBpcyB0b28gc21hbGwuDQotI2RlZmluZSBFUlJfSU5WQUxJRF9HQVVTU19GSUxURVJfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxODYgLy8gVGhlIHNwZWNpZmllZCBHYXVzc2lhbiBmaWx0ZXIgdHlwZSBpcyBub3Qgc3VwcG9ydGVkLg0KLSNkZWZpbmUgRVJSX0lOVkFMSURfQ09OVFJBU1RfUkVWRVJTQUxfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTg1IC8vIFRoZSBjb250cmFzdCByZXZlcnNhbCBtb2RlIHNwZWNpZmllZCBkdXJpbmcgbWF0Y2hpbmcgaXMgaW52YWxpZC4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1JPVEFUSU9OX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE4NCAvLyBJbnZhbGlkIHJvYXRpb24gYW5nbGUgcmFuZ2UuIFRoZSB1cHBlciBib3VuZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgbG93ZXIgYm91bmQuDQotI2RlZmluZSBFUlJfR0hUX0lOVkFMSURfTUlOSU1VTV9MRUFSTl9BTkdMRV9WQUxVRSAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxODMgLy8gVGhlIG1pbmltdW0gcm90YXRpb24gYW5nbGUgdmFsdWUgc3BlY2lmZWQgZHVyaW5nIGxlYXJuaW5nIG9mIHRoZSB0ZW1wbGF0ZSBpcyBub3Qgc3VwcG9ydGVkLg0KLSNkZWZpbmUgRVJSX0dIVF9JTlZBTElEX01BWElNVU1fTEVBUk5fQU5HTEVfVkFMVUUgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTgyIC8vIFRoZSBtYXhpbXVtIHJvdGF0aW9uIGFuZ2xlIHZhbHVlIHNwZWNpZmVkIGR1cmluZyBsZWFybmluZyBvZiB0aGUgdGVtcGxhdGUgaXMgbm90IHN1cHBvcnRlZC4NCi0jZGVmaW5lIEVSUl9HSFRfSU5WQUxJRF9NQVhJTVVNX0xFQVJOX1NDQUxFX0ZBQ1RPUiAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE4MSAvLyBUaGUgbWF4aW11bSBzY2FsZSBmYWN0b3Igc3BlY2lmZWQgZHVyaW5nIGxlYXJuaW5nIG9mIHRoZSB0ZW1wbGF0ZSBpcyBub3Qgc3VwcG9ydGVkLg0KLSNkZWZpbmUgRVJSX0dIVF9JTlZBTElEX01JTklNVU1fTEVBUk5fU0NBTEVfRkFDVE9SICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTgwIC8vIFRoZSBtaW5pbXVtIHNjYWxlIGZhY3RvciBzcGVjaWZlZCBkdXJpbmcgbGVhcm5pbmcgb2YgdGhlIHRlbXBsYXRlIGlzIG5vdCBzdXBwb3J0ZWQuDQotI2RlZmluZSBFUlJfT0NSX1BSRVBST0NFU1NJTkdfRkFJTEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNzkgLy8gVGhlIE9DUiBlbmdpbmUgZmFpbGVkIGR1cmluZyB0aGUgcHJlcHJvY2Vzc2luZyBzdGFnZS4NCi0jZGVmaW5lIEVSUl9PQ1JfUkVDT0dOSVRJT05fRkFJTEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE3OCAvLyBUaGUgT0NSIGVuZ2luZSBmYWlsZWQgZHVyaW5nIHRoZSByZWNvZ25pdGlvbiBzdGFnZS4NCi0jZGVmaW5lIEVSUl9PQ1JfQkFEX1VTRVJfRElDVElPTkFSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE3NSAvLyBUaGUgcHJvdmlkZWQgZmlsZW5hbWUgaXMgbm90IHZhbGlkIHVzZXIgZGljdGlvbmFyeSBmaWxlbmFtZS4NCi0jZGVmaW5lIEVSUl9PQ1JfSU5WQUxJRF9BVVRPT1JJRU5UTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE3NCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgQXV0b09yaWVudE1vZGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX0xBTkdVQUdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTczIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBMYW5ndWFnZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfT0NSX0lOVkFMSURfQ0hBUkFDVEVSU0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNzIgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIENoYXJhY3RlclNldCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfT0NSX0lOSV9GSUxFX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNzEgLy8gVGhlIHN5c3RlbSBjb3VsZCBub3QgbG9jYXRlIHRoZSBpbml0aWFsaXphdGlvbiBmaWxlIHJlcXVpcmVkIGZvciBPQ1IgaW5pdGlhbGl6YXRpb24uDQotI2RlZmluZSBFUlJfT0NSX0lOVkFMSURfQ0hBUkFDVEVSVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNzAgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIENoYXJhY3RlclR5cGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX1JFQ09HTklUSU9OTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTY5IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBSZWNvZ25pdGlvbk1vZGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX0FVVE9DT1JSRUNUSU9OTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTY4IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBBdXRvQ29ycmVjdGlvbk1vZGUgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX09VVFBVVERFTElNSVRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTY3IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBPdXRwdXREZWxpbWl0ZXIgdmFsdWUgeW91IHN1cHBsaWVkLg0KLSNkZWZpbmUgRVJSX09DUl9CSU5fRElSX05PVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTY2IC8vIFRoZSBzeXN0ZW0gY291bGQgbm90IGxvY2F0ZSB0aGUgT0NSIGJpbmFyeSBkaXJlY3RvcnkgcmVxdWlyZWQgZm9yIE9DUiBpbml0aWFsaXphdGlvbi4NCi0jZGVmaW5lIEVSUl9PQ1JfV1RTX0RJUl9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE2NSAvLyBUaGUgc3lzdGVtIGNvdWxkIG5vdCBsb2NhdGUgdGhlIE9DUiB3ZWlnaHRzIGRpcmVjdG9yeSByZXF1aXJlZCBmb3IgT0NSIGluaXRpYWxpemF0aW9uLg0KLSNkZWZpbmUgRVJSX09DUl9BRERfV09SRF9GQUlMRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTY0IC8vIFRoZSBzdXBwbGllZCB3b3JkIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGUgdXNlciBkaWN0aW9uYXJ5Lg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX0NIQVJBQ1RFUlBSRUZFUkVOQ0UgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTYzIC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBDaGFyYWN0ZXJQcmVmZXJlbmNlIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9PQ1JfSU5WQUxJRF9DT1JSRUNUSU9OTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE2MiAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgQ29ycmVjdGlvbk1ldGhvZCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfT0NSX0lOVkFMSURfQ09SUkVDVElPTkxFVkVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNjEgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIENvcnJlY3Rpb25MZXZlbCB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfT0NSX0lOVkFMSURfTUFYUE9JTlRTSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNjAgLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIG1heGltdW0gcG9pbnQgc2l6ZSB5b3Ugc3VwcGxpZWQuICBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA0IHRvIDcyLg0KLSNkZWZpbmUgRVJSX09DUl9JTlZBTElEX1RPTEVSQU5DRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTU5IC8vIE5JIFZpc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSB0b2xlcmFuY2UgdmFsdWUgeW91IHN1cHBsaWVkLiAgVmFsaWQgdmFsdWVzIGFyZSBub24tbmVnYXRpdmUuDQotI2RlZmluZSBFUlJfT0NSX0lOVkFMSURfQ09OVFJBU1RNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNTggLy8gTkkgVmlzaW9uIGRvZXMgbm90IHN1cHBvcnQgdGhlIENvbnRyYXN0TW9kZSB2YWx1ZSB5b3Ugc3VwcGxpZWQuDQotI2RlZmluZSBFUlJfT0NSX1NLRVdfREVURUNUX0ZBSUxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNTYgLy8gVGhlIE9DUiBhdHRlbXB0ZWQgdG8gZGV0ZWN0ZWQgdGhlIHRleHQgc2tldyBhbmQgZmFpbGVkLg0KLSNkZWZpbmUgRVJSX09DUl9PUklFTlRfREVURUNUX0ZBSUxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTU1IC8vIFRoZSBPQ1IgYXR0ZW1wdGVkIHRvIGRldGVjdGVkIHRoZSB0ZXh0IG9yaWVudGF0aW9uIGFuZCBmYWlsZWQuDQotI2RlZmluZSBFUlJfRk9OVF9GSUxFX0ZPUk1BVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNTMgLy8gSW52YWxpZCBmb250IGZpbGUgZm9ybWF0Lg0KLSNkZWZpbmUgRVJSX0ZPTlRfRklMRV9OT1RfRk9VTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTUyIC8vIEZvbnQgZmlsZSBub3QgZm91bmQuDQotI2RlZmluZSBFUlJfT0NSX0NPUlJFQ1RJT05fRkFJTEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEwNzQzOTUxNTEgLy8gVGhlIE9DUiBlbmdpbmUgZmFpbGVkIGR1cmluZyB0aGUgY29ycmVjdGlvbiBzdGFnZS4NCi0jZGVmaW5lIEVSUl9JTlZBTElEX1JPVU5ESU5HX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE1MCAvLyBOSSBWaXNpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGUgUm91bmRpbmdNb2RlIHZhbHVlIHlvdSBzdXBwbGllZC4NCi0jZGVmaW5lIEVSUl9EVVBMSUNBVEVfVFJBTlNGT1JNX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE0OSAvLyBGb3VuZCBhIGR1cGxpY2F0ZSB0cmFuc2Zvcm0gdHlwZSBpbiB0aGUgcHJvcGVydGllcyBhcnJheS4gRWFjaCBwcm9wZXJ0aWVzIGFycmF5IG1heSBvbmx5IGNvbnRhaW4gb25lIGJlaGF2aW9yIGZvciBlYWNoIHRyYW5zZm9ybSB0eXBlLg0KLSNkZWZpbmUgRVJSX09WRVJMQVlfR1JPVVBfTk9UX0ZPVU5EICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQ4IC8vIE92ZXJsYXkgR3JvdXAgTm90IEZvdW5kLg0KLSNkZWZpbmUgRVJSX0JBUkNPREVfUlNTTElNSVRFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQ3IC8vIFRoZSBiYXJjb2RlIGlzIG5vdCBhIHZhbGlkIFJTUyBMaW1pdGVkIHN5bWJvbA0KLSNkZWZpbmUgRVJSX1FSX0RFVEVDVElPTl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQ2IC8vIENvdWxkbid0IGRldGVybWluZSB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIHRoZSBRUiBjb2RlLg0KLSNkZWZpbmUgRVJSX1FSX0lOVkFMSURfUkVBRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQ1IC8vIEludmFsaWQgcmVhZCBvZiB0aGUgUVIgY29kZS4NCi0jZGVmaW5lIEVSUl9RUl9JTlZBTElEX0JBUkNPREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE0NCAvLyBUaGUgYmFyY29kZSB0aGF0IHdhcyByZWFkIGNvbnRhaW5zIGludmFsaWQgcGFyYW1ldGVycy4NCi0jZGVmaW5lIEVSUl9RUl9ERVRFQ1RJT05fTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE0MyAvLyBUaGUgZGF0YSBzdHJlYW0gdGhhdCB3YXMgZGVtb2R1bGF0ZWQgY291bGQgbm90IGJlIHJlYWQgYmVjYXVzZSB0aGUgbW9kZSB3YXMgbm90IGRldGVjdGVkLg0KLSNkZWZpbmUgRVJSX1FSX0RFVEVDVElPTl9NT0RFTFRZUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQyIC8vIENvdWxkbid0IGRldGVybWluZSB0aGUgY29ycmVjdCBtb2RlbCBvZiB0aGUgUVIgY29kZS4NCi0jZGVmaW5lIEVSUl9PQ1JfTk9fVEVYVF9GT1VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTE0MSAvLyBUaGUgT0NSIGVuZ2luZSBjb3VsZCBub3QgZmluZCBhbnkgdGV4dCBpbiB0aGUgc3VwcGxpZWQgcmVnaW9uLg0KLSNkZWZpbmUgRVJSX09DUl9DSEFSX1JFUE9SVF9DT1JSVVBURUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTQwIC8vIE9uZSBvZiB0aGUgY2hhcmFjdGVyIHJlcG9ydHMgaXMgbm8gbG9uZ2VyIHVzYWJsZSBieSB0aGUgc3lzdGVtLg0KLSNkZWZpbmUgRVJSX0lNQVFfUVJfRElNRU5TSU9OX0lOVkFMSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xMDc0Mzk1MTM5IC8vIEludmFsaWQgRGltZW5zaW9ucy4NCi0jZGVmaW5lIEVSUl9PQ1JfUkVHSU9OX1RPT19TTUFMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMTA3NDM5NTEzOCAvLyBUaGUgT0NSIHJlZ2lvbiBwcm92aWRlZCB3YXMgdG9vIHNtYWxsIHRvIGhhdmUgY29udGFpbmVkIGFueSBjaGFyYWN0ZXJzLg0KLSNkZWZpbmUgX0ZJUlNUX0VSUiAgRVJSX1NZU1RFTV9FUlJPUg0KLSNkZWZpbmUgX0xBU1RfRVJSICAgRVJSX09DUl9SRUdJT05fVE9PX1NNQUxMDQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEVudW1lcmF0ZWQgVHlwZXMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi10eXBlZGVmIGVudW0gUG9pbnRTeW1ib2xfZW51bSB7DQotICAgIElNQVFfUE9JTlRfQVNfUElYRUwgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9BIHNpbmdsZSBwaXhlbCByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGhlIG92ZXJsYXkuDQotICAgIElNQVFfUE9JTlRfQVNfQ1JPU1MgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9BIGNyb3NzIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aGUgb3ZlcmxheS4NCi0gICAgSU1BUV9QT0lOVF9VU0VSX0RFRklORUQgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBwYXR0ZXJuIHN1cHBsaWVkIGJ5IHRoZSB1c2VyIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aGUgb3ZlcmxheS4NCi0gICAgSU1BUV9QT0lOVF9TWU1CT0xfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFBvaW50U3ltYm9sOw0KLQ0KLXR5cGVkZWYgZW51bSBNZWFzdXJlbWVudFZhbHVlX2VudW0gew0KLSAgICBJTUFRX0FSRUEgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9TdXJmYWNlIGFyZWEgb2YgdGhlIHBhcnRpY2xlIGluIHBpeGVscy4NCi0gICAgSU1BUV9BUkVBX0NBTElCUkFURUQgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU3VyZmFjZSBhcmVhIG9mIHRoZSBwYXJ0aWNsZSBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICBJTUFRX05VTV9IT0xFUyAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9OdW1iZXIgb2YgaG9sZXMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX0FSRUFfT0ZfSE9MRVMgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9TdXJmYWNlIGFyZWEgb2YgdGhlIGhvbGVzIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIElNQVFfVE9UQUxfQVJFQSAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RvdGFsIHN1cmZhY2UgYXJlYSAoaG9sZXMgYW5kIHBhcnRpY2xlKSBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICBJTUFRX0lNQUdFX0FSRUEgICAgICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9TdXJmYWNlIGFyZWEgb2YgdGhlIGVudGlyZSBpbWFnZSBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICBJTUFRX1BBUlRJQ0xFX1RPX0lNQUdFICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9SYXRpbywgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSwgb2YgdGhlIHN1cmZhY2UgYXJlYSBvZiBhIHBhcnRpY2xlIGluIHJlbGF0aW9uIHRvIHRoZSB0b3RhbCBhcmVhIG9mIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9QQVJUSUNMRV9UT19UT1RBTCAgICAgICAgICAgID0gNywgICAgICAgICAgIC8vUmF0aW8sIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2UsIG9mIHRoZSBzdXJmYWNlIGFyZWEgb2YgYSBwYXJ0aWNsZSBpbiByZWxhdGlvbiB0byB0aGUgdG90YWwgYXJlYSBvZiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfQ0VOVEVSX01BU1NfWCAgICAgICAgICAgICAgICA9IDgsICAgICAgICAgICAvL1gtY29vcmRpbmF0ZSBvZiB0aGUgY2VudGVyIG9mIG1hc3MuDQotICAgIElNQVFfQ0VOVEVSX01BU1NfWSAgICAgICAgICAgICAgICA9IDksICAgICAgICAgICAvL1ktY29vcmRpbmF0ZSBvZiB0aGUgY2VudGVyIG9mIG1hc3MuDQotICAgIElNQVFfTEVGVF9DT0xVTU4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgICAgICAvL0xlZnQgZWRnZSBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlLg0KLSAgICBJTUFRX1RPUF9ST1cgICAgICAgICAgICAgICAgICAgICAgPSAxMSwgICAgICAgICAgLy9Ub3AgZWRnZSBvZiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlLg0KLSAgICBJTUFRX1JJR0hUX0NPTFVNTiAgICAgICAgICAgICAgICAgPSAxMiwgICAgICAgICAgLy9SaWdodCBlZGdlIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUuDQotICAgIElNQVFfQk9UVE9NX1JPVyAgICAgICAgICAgICAgICAgICA9IDEzLCAgICAgICAgICAvL0JvdHRvbSBlZGdlIG9mIGJvdW5kaW5nIHJlY3RhbmdsZS4NCi0gICAgSU1BUV9XSURUSCAgICAgICAgICAgICAgICAgICAgICAgID0gMTQsICAgICAgICAgIC8vV2lkdGggb2YgYm91bmRpbmcgcmVjdGFuZ2xlIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIElNQVFfSEVJR0hUICAgICAgICAgICAgICAgICAgICAgICA9IDE1LCAgICAgICAgICAvL0hlaWdodCBvZiBib3VuZGluZyByZWN0YW5nbGUgaW4gY2FsaWJyYXRlZCB1bml0cy4NCi0gICAgSU1BUV9NQVhfU0VHTUVOVF9MRU5HVEggICAgICAgICAgID0gMTYsICAgICAgICAgIC8vTGVuZ3RoIG9mIGxvbmdlc3QgaG9yaXpvbnRhbCBsaW5lIHNlZ21lbnQuDQotICAgIElNQVFfTUFYX1NFR01FTlRfTEVGVF9DT0xVTU4gICAgICA9IDE3LCAgICAgICAgICAvL0xlZnRtb3N0IHgtY29vcmRpbmF0ZSBvZiBsb25nZXN0IGhvcml6b250YWwgbGluZSBzZWdtZW50Lg0KLSAgICBJTUFRX01BWF9TRUdNRU5UX1RPUF9ST1cgICAgICAgICAgPSAxOCwgICAgICAgICAgLy9ZLWNvb3JkaW5hdGUgb2YgbG9uZ2VzdCBob3Jpem9udGFsIGxpbmUgc2VnbWVudC4NCi0gICAgSU1BUV9QRVJJTUVURVIgICAgICAgICAgICAgICAgICAgID0gMTksICAgICAgICAgIC8vT3V0ZXIgcGVyaW1ldGVyIG9mIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9QRVJJTUVURVJfT0ZfSE9MRVMgICAgICAgICAgID0gMjAsICAgICAgICAgIC8vUGVyaW1ldGVyIG9mIGFsbCBob2xlcyB3aXRoaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX1NJR01BX1ggICAgICAgICAgICAgICAgICAgICAgPSAyMSwgICAgICAgICAgLy9TdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeC1heGlzLg0KLSAgICBJTUFRX1NJR01BX1kgICAgICAgICAgICAgICAgICAgICAgPSAyMiwgICAgICAgICAgLy9TdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeS1heGlzLg0KLSAgICBJTUFRX1NJR01BX1hYICAgICAgICAgICAgICAgICAgICAgPSAyMywgICAgICAgICAgLy9TdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeC1heGlzIHNxdWFyZWQuDQotICAgIElNQVFfU0lHTUFfWVkgICAgICAgICAgICAgICAgICAgICA9IDI0LCAgICAgICAgICAvL1N1bSBvZiB0aGUgcGFydGljbGUgcGl4ZWxzIG9uIHRoZSB5LWF4aXMgc3F1YXJlZC4NCi0gICAgSU1BUV9TSUdNQV9YWSAgICAgICAgICAgICAgICAgICAgID0gMjUsICAgICAgICAgIC8vU3VtIG9mIHRoZSBwYXJ0aWNsZSBwaXhlbHMgb24gdGhlIHgtYXhpcyBhbmQgeS1heGlzLg0KLSAgICBJTUFRX1BST0pfWCAgICAgICAgICAgICAgICAgICAgICAgPSAyNiwgICAgICAgICAgLy9Qcm9qZWN0aW9uIGNvcnJlY3RlZCBpbiBYLg0KLSAgICBJTUFRX1BST0pfWSAgICAgICAgICAgICAgICAgICAgICAgPSAyNywgICAgICAgICAgLy9Qcm9qZWN0aW9uIGNvcnJlY3RlZCBpbiBZLg0KLSAgICBJTUFRX0lORVJUSUFfWFggICAgICAgICAgICAgICAgICAgPSAyOCwgICAgICAgICAgLy9JbmVydGlhIG1hdHJpeCBjb2VmZmljaWVudCBpbiBYWC4NCi0gICAgSU1BUV9JTkVSVElBX1lZICAgICAgICAgICAgICAgICAgID0gMjksICAgICAgICAgIC8vSW5lcnRpYSBtYXRyaXggY29lZmZpY2llbnQgaW4gWVkuDQotICAgIElNQVFfSU5FUlRJQV9YWSAgICAgICAgICAgICAgICAgICA9IDMwLCAgICAgICAgICAvL0luZXJ0aWEgbWF0cml4IGNvZWZmaWNpZW50IGluIFhZLg0KLSAgICBJTUFRX01FQU5fSCAgICAgICAgICAgICAgICAgICAgICAgPSAzMSwgICAgICAgICAgLy9NZWFuIGxlbmd0aCBvZiBob3Jpem9udGFsIHNlZ21lbnRzLg0KLSAgICBJTUFRX01FQU5fViAgICAgICAgICAgICAgICAgICAgICAgPSAzMiwgICAgICAgICAgLy9NZWFuIGxlbmd0aCBvZiB2ZXJ0aWNhbCBzZWdtZW50cy4NCi0gICAgSU1BUV9NQVhfSU5URVJDRVBUICAgICAgICAgICAgICAgID0gMzMsICAgICAgICAgIC8vTGVuZ3RoIG9mIGxvbmdlc3Qgc2VnbWVudCBvZiB0aGUgY29udmV4IGh1bGwuDQotICAgIElNQVFfTUVBTl9JTlRFUkNFUFQgICAgICAgICAgICAgICA9IDM0LCAgICAgICAgICAvL01lYW4gbGVuZ3RoIG9mIHRoZSBjaG9yZHMgaW4gYW4gb2JqZWN0IHBlcnBlbmRpY3VsYXIgdG8gaXRzIG1heCBpbnRlcmNlcHQuDQotICAgIElNQVFfT1JJRU5UQVRJT04gICAgICAgICAgICAgICAgICA9IDM1LCAgICAgICAgICAvL1RoZSBvcmllbnRhdGlvbiBiYXNlZCBvbiB0aGUgaW5lcnRpYSBvZiB0aGUgcGl4ZWxzIGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9FUVVJVl9FTExJUFNFX01JTk9SICAgICAgICAgID0gMzYsICAgICAgICAgIC8vVG90YWwgbGVuZ3RoIG9mIHRoZSBheGlzIG9mIHRoZSBlbGxpcHNlIGhhdmluZyB0aGUgc2FtZSBhcmVhIGFzIHRoZSBwYXJ0aWNsZSBhbmQgYSBtYWpvciBheGlzIGVxdWFsIHRvIGhhbGYgdGhlIG1heCBpbnRlcmNlcHQuDQotICAgIElNQVFfRUxMSVBTRV9NQUpPUiAgICAgICAgICAgICAgICA9IDM3LCAgICAgICAgICAvL1RvdGFsIGxlbmd0aCBvZiBtYWpvciBheGlzIGhhdmluZyB0aGUgc2FtZSBhcmVhIGFuZCBwZXJpbWV0ZXIgYXMgdGhlIHBhcnRpY2xlIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIElNQVFfRUxMSVBTRV9NSU5PUiAgICAgICAgICAgICAgICA9IDM4LCAgICAgICAgICAvL1RvdGFsIGxlbmd0aCBvZiBtaW5vciBheGlzIGhhdmluZyB0aGUgc2FtZSBhcmVhIGFuZCBwZXJpbWV0ZXIgYXMgdGhlIHBhcnRpY2xlIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIElNQVFfRUxMSVBTRV9SQVRJTyAgICAgICAgICAgICAgICA9IDM5LCAgICAgICAgICAvL0ZyYWN0aW9uIG9mIG1ham9yIGF4aXMgdG8gbWlub3IgYXhpcy4NCi0gICAgSU1BUV9SRUNUX0xPTkdfU0lERSAgICAgICAgICAgICAgID0gNDAsICAgICAgICAgIC8vTGVuZ3RoIG9mIHRoZSBsb25nIHNpZGUgb2YgYSByZWN0YW5nbGUgaGF2aW5nIHRoZSBzYW1lIGFyZWEgYW5kIHBlcmltZXRlciBhcyB0aGUgcGFydGljbGUgaW4gY2FsaWJyYXRlZCB1bml0cy4NCi0gICAgSU1BUV9SRUNUX1NIT1JUX1NJREUgICAgICAgICAgICAgID0gNDEsICAgICAgICAgIC8vTGVuZ3RoIG9mIHRoZSBzaG9ydCBzaWRlIG9mIGEgcmVjdGFuZ2xlIGhhdmluZyB0aGUgc2FtZSBhcmVhIGFuZCBwZXJpbWV0ZXIgYXMgdGhlIHBhcnRpY2xlIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIElNQVFfUkVDVF9SQVRJTyAgICAgICAgICAgICAgICAgICA9IDQyLCAgICAgICAgICAvL1JhdGlvIG9mIHJlY3RhbmdsZSBsb25nIHNpZGUgdG8gcmVjdGFuZ2xlIHNob3J0IHNpZGUuDQotICAgIElNQVFfRUxPTkdBVElPTiAgICAgICAgICAgICAgICAgICA9IDQzLCAgICAgICAgICAvL01heCBpbnRlcmNlcHQvbWVhbiBwZXJwZW5kaWN1bGFyIGludGVyY2VwdC4NCi0gICAgSU1BUV9DT01QQUNUTkVTUyAgICAgICAgICAgICAgICAgID0gNDQsICAgICAgICAgIC8vUGFydGljbGUgYXJlYS8oaGVpZ2h0IHggd2lkdGgpLg0KLSAgICBJTUFRX0hFWVdPT0QgICAgICAgICAgICAgICAgICAgICAgPSA0NSwgICAgICAgICAgLy9QYXJ0aWNsZSBwZXJpbWV0ZXIvcGVyaW1ldGVyIG9mIHRoZSBjaXJjbGUgaGF2aW5nIHRoZSBzYW1lIGFyZWEgYXMgdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX1RZUEVfRkFDVE9SICAgICAgICAgICAgICAgICAgPSA0NiwgICAgICAgICAgLy9BIGNvbXBsZXggZmFjdG9yIHJlbGF0aW5nIHRoZSBzdXJmYWNlIGFyZWEgdG8gdGhlIG1vbWVudCBvZiBpbmVydGlhLg0KLSAgICBJTUFRX0hZRFJBVUxJQyAgICAgICAgICAgICAgICAgICAgPSA0NywgICAgICAgICAgLy9QYXJ0aWNsZSBhcmVhL3BhcnRpY2xlIHBlcmltZXRlci4NCi0gICAgSU1BUV9XQURETEVfRElTSyAgICAgICAgICAgICAgICAgID0gNDgsICAgICAgICAgIC8vRGlhbWV0ZXIgb2YgdGhlIGRpc2sgaGF2aW5nIHRoZSBzYW1lIGFyZWEgYXMgdGhlIHBhcnRpY2xlIGluIHVzZXIgdW5pdHMuDQotICAgIElNQVFfRElBR09OQUwgICAgICAgICAgICAgICAgICAgICA9IDQ5LCAgICAgICAgICAvL0RpYWdvbmFsIG9mIGFuIGVxdWl2YWxlbnQgcmVjdGFuZ2xlIGluIHVzZXIgdW5pdHMuDQotICAgIElNQVFfTUVBU1VSRU1FTlRfVkFMVUVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IE1lYXN1cmVtZW50VmFsdWU7DQotDQotdHlwZWRlZiBlbnVtIFNjYWxpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX1NDQUxFX0xBUkdFUiAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGR1cGxpY2F0ZXMgcGl4ZWxzIHRvIG1ha2UgdGhlIGltYWdlIGxhcmdlci4NCi0gICAgSU1BUV9TQ0FMRV9TTUFMTEVSICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzdWJzYW1wbGVzIHBpeGVscyB0byBtYWtlIHRoZSBpbWFnZSBzbWFsbGVyLg0KLSAgICBJTUFRX1NDQUxJTkdfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gU2NhbGluZ01vZGU7DQotDQotdHlwZWRlZiBlbnVtIFNjYWxpbmdNZXRob2RfZW51bSB7DQotICAgIElNQVFfU0NBTEVfVE9fUFJFU0VSVkVfQVJFQSAgICA9IDAsICAgICAgICAgICAvL0NvcnJlY3Rpb24gZnVuY3Rpb25zIHNjYWxlIHRoZSBpbWFnZSBzdWNoIHRoYXQgdGhlIGZlYXR1cmVzIGluIHRoZSBjb3JyZWN0ZWQgaW1hZ2UgaGF2ZSB0aGUgc2FtZSBhcmVhIGFzIHRoZSBmZWF0dXJlcyBpbiB0aGUgaW5wdXQgaW1hZ2UuDQotICAgIElNQVFfU0NBTEVfVE9fRklUICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0NvcnJlY3Rpb24gZnVuY3Rpb25zIHNjYWxlIHRoZSBpbWFnZSBzdWNoIHRoYXQgdGhlIGNvcnJlY3RlZCBpbWFnZSBpcyB0aGUgc2FtZSBzaXplIGFzIHRoZSBpbnB1dCBpbWFnZS4NCi0gICAgSU1BUV9TQ0FMSU5HX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gU2NhbGluZ01ldGhvZDsNCi0NCi10eXBlZGVmIGVudW0gUmVmZXJlbmNlTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9DT09SRF9YX1kgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhpcyBtZXRob2QgcmVxdWlyZXMgdGhyZWUgZWxlbWVudHMgaW4gdGhlIHBvaW50cyBhcnJheS4NCi0gICAgSU1BUV9DT09SRF9PUklHSU5fWCAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhpcyBtZXRob2QgcmVxdWlyZXMgdHdvIGVsZW1lbnRzIGluIHRoZSBwb2ludHMgYXJyYXkuDQotICAgIElNQVFfUkVGRVJFTkNFX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFJlZmVyZW5jZU1vZGU7DQotDQotdHlwZWRlZiBlbnVtIFJlY3RPcmllbnRhdGlvbl9lbnVtIHsNCi0gICAgSU1BUV9CQVNFX0lOU0lERSAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgYmFzZSBvZiB0aGUgcmVjdGFuZ3VsYXIgaW1hZ2UgbGllcyBhbG9uZyB0aGUgaW5zaWRlIGVkZ2Ugb2YgdGhlIGFubnVsdXMuDQotICAgIElNQVFfQkFTRV9PVVRTSURFICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGJhc2Ugb2YgdGhlIHJlY3Rhbmd1bGFyIGltYWdlIGxpZXMgYWxvbmcgdGhlIG91dHNpZGUgZWRnZSBvZiB0aGUgYW5udWx1cy4NCi0gICAgSU1BUV9URVhUX09SSUVOVEFUSU9OX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBSZWN0T3JpZW50YXRpb247DQotDQotdHlwZWRlZiBlbnVtIFNoYXBlTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9TSEFQRV9SRUNUICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gZHJhd3MgYSByZWN0YW5nbGUuDQotICAgIElNQVFfU0hBUEVfT1ZBTCAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRyYXdzIGFuIG92YWwuDQotICAgIElNQVFfU0hBUEVfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gU2hhcGVNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBQb2xhcml0eVR5cGVfZW51bSB7DQotICAgIElNQVFfRURHRV9SSVNJTkcgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGVkZ2UgaXMgYSByaXNpbmcgZWRnZS4NCi0gICAgSU1BUV9FREdFX0ZBTExJTkcgICAgICAgICAgICAgPSAtMSwgICAgICAgICAgLy9UaGUgZWRnZSBpcyBhIGZhbGxpbmcgZWRnZS4NCi0gICAgSU1BUV9QT0xBUklUWV9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBQb2xhcml0eVR5cGU7DQotDQotdHlwZWRlZiBlbnVtIFNpemVUeXBlX2VudW0gew0KLSAgICBJTUFRX0tFRVBfTEFSR0UgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGtlZXBzIGxhcmdlIHBhcnRpY2xlcyByZW1haW5pbmcgYWZ0ZXIgdGhlIGVyb3Npb24uDQotICAgIElNQVFfS0VFUF9TTUFMTCAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24ga2VlcHMgc21hbGwgcGFydGljbGVzIGVsaW1pbmF0ZWQgYnkgdGhlIGVyb3Npb24uDQotICAgIElNQVFfU0laRV9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBTaXplVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gUGxhbmUzRF9lbnVtIHsNCi0gICAgSU1BUV8zRF9SRUFMICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNob3dzIHRoZSByZWFsIHBhcnQgb2YgY29tcGxleCBpbWFnZXMuDQotICAgIElNQVFfM0RfSU1BR0lOQVJZICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG93cyB0aGUgaW1hZ2luYXJ5IHBhcnQgb2YgY29tcGxleCBpbWFnZXMuDQotICAgIElNQVFfM0RfTUFHTklUVURFICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG93cyB0aGUgbWFnbml0dWRlIHBhcnQgb2YgY29tcGxleCBpbWFnZXMuDQotICAgIElNQVFfM0RfUEhBU0UgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG93cyB0aGUgcGhhc2UgcGFydCBvZiBjb21wbGV4IGltYWdlcy4NCi0gICAgSU1BUV9QTEFORV8zRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gUGxhbmUzRDsNCi0NCi10eXBlZGVmIGVudW0gUGhvdG9tZXRyaWNNb2RlX2VudW0gew0KLSAgICBJTUFRX1dISVRFX0lTX1pFUk8gICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBpbnRlcnByZXRzIHplcm8tdmFsdWUgcGl4ZWxzIGFzIHdoaXRlLg0KLSAgICBJTUFRX0JMQUNLX0lTX1pFUk8gICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBpbnRlcnByZXRzIHplcm8tdmFsdWUgcGl4ZWxzIGFzIGJsYWNrLg0KLSAgICBJTUFRX1BIT1RPTUVUUklDX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFBob3RvbWV0cmljTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUGFydGljbGVJbmZvTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9CQVNJQ19JTkZPICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiByZXR1cm5zIG9ubHkgdGhlIGZvbGxvd2luZyBlbGVtZW50cyBvZiBlYWNoIHJlcG9ydDogYXJlYSwgY2FsaWJyYXRlZEFyZWEsIGJvdW5kaW5nUmVjdC4NCi0gICAgSU1BUV9BTExfSU5GTyAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiByZXR1cm5zIGFsbCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCBwYXJ0aWNsZS4NCi0gICAgSU1BUV9QQVJUSUNMRV9JTkZPX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFBhcnRpY2xlSW5mb01vZGU7DQotDQotdHlwZWRlZiBlbnVtIE91dGxpbmVNZXRob2RfZW51bSB7DQotICAgIElNQVFfRURHRV9ESUZGRVJFTkNFICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgbWV0aG9kIHRoYXQgcHJvZHVjZXMgY29udGludW91cyBjb250b3VycyBieSBoaWdobGlnaHRpbmcgZWFjaCBwaXhlbCB3aGVyZSBhbiBpbnRlbnNpdHkgdmFyaWF0aW9uIG9jY3VycyBiZXR3ZWVuIGl0c2VsZiBhbmQgaXRzIHRocmVlIHVwcGVyLWxlZnQgbmVpZ2hib3JzLg0KLSAgICBJTUFRX0VER0VfR1JBRElFTlQgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIG1ldGhvZCB0aGF0IG91dGxpbmVzIGNvbnRvdXJzIHdoZXJlIGFuIGludGVuc2l0eSB2YXJpYXRpb24gb2NjdXJzIGFsb25nIHRoZSB2ZXJ0aWNhbCBheGlzLg0KLSAgICBJTUFRX0VER0VfUFJFV0lUVCAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIG1ldGhvZCB0aGF0IGV4dHJhY3RzIHRoZSBvdXRlciBjb250b3VycyBvZiBvYmplY3RzLg0KLSAgICBJTUFRX0VER0VfUk9CRVJUUyAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIG1ldGhvZCB0aGF0IG91dGxpbmVzIHRoZSBjb250b3VycyB0aGF0IGhpZ2hsaWdodCBwaXhlbHMgd2hlcmUgYW4gaW50ZW5zaXR5IHZhcmlhdGlvbiBvY2N1cnMgYWxvbmcgdGhlIGRpYWdvbmFsIGF4ZXMuDQotICAgIElNQVFfRURHRV9TSUdNQSAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgbWV0aG9kIHRoYXQgb3V0bGluZXMgY29udG91cnMgYW5kIGRldGFpbHMgYnkgc2V0dGluZyBwaXhlbHMgdG8gdGhlIG1lYW4gdmFsdWUgZm91bmQgaW4gdGhlaXIgbmVpZ2hib3Job29kLCBpZiB0aGVpciBkZXZpYXRpb24gZnJvbSB0aGlzIHZhbHVlIGlzIG5vdCBzaWduaWZpY2FudC4NCi0gICAgSU1BUV9FREdFX1NPQkVMICAgICAgICAgICAgICAgID0gNSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBtZXRob2QgdGhhdCBleHRyYWN0cyB0aGUgb3V0ZXIgY29udG91cnMgb2Ygb2JqZWN0cy4NCi0gICAgSU1BUV9PVVRMSU5FX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gT3V0bGluZU1ldGhvZDsNCi0NCi10eXBlZGVmIGVudW0gTW9ycGhvbG9neU1ldGhvZF9lbnVtIHsNCi0gICAgSU1BUV9BVVRPTSAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGdlbmVyYXRlcyBzaW1wbGVyIHBhcnRpY2xlcyB0aGF0IGNvbnRhaW4gZmV3ZXIgZGV0YWlscy4NCi0gICAgSU1BUV9DTE9TRSAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGZpbGxzIHRpbnkgaG9sZXMgYW5kIHNtb290aHMgYm91bmRhcmllcy4NCi0gICAgSU1BUV9ESUxBVEUgICAgICAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGVsaW1pbmF0ZXMgdGlueSBob2xlcyBpc29sYXRlZCBpbiBwYXJ0aWNsZXMgYW5kIGV4cGFuZHMgdGhlIGNvbnRvdXIgb2YgdGhlIHBhcnRpY2xlcyBhY2NvcmRpbmcgdG8gdGhlIHRlbXBsYXRlIGRlZmluZWQgYnkgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuDQotICAgIElNQVFfRVJPREUgICAgICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgdHJhbnNmb3JtYXRpb24gdGhhdCBlbGltaW5hdGVzIHBpeGVscyBpc29sYXRlZCBpbiB0aGUgYmFja2dyb3VuZCBhbmQgZXJvZGVzIHRoZSBjb250b3VyIG9mIHBhcnRpY2xlcyBhY2NvcmRpbmcgdG8gdGhlIHRlbXBsYXRlIGRlZmluZWQgYnkgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuDQotICAgIElNQVFfR1JBRElFTlQgICAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgdHJhbnNmb3JtYXRpb24gdGhhdCBsZWF2ZXMgb25seSB0aGUgcGl4ZWxzIHRoYXQgd291bGQgYmUgYWRkZWQgYnkgdGhlIGRpbGF0aW9uIHByb2Nlc3Mgb3IgZWxpbWluYXRlZCBieSB0aGUgZXJvc2lvbiBwcm9jZXNzLg0KLSAgICBJTUFRX0dSQURJRU5UT1VUICAgICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHRyYW5zZm9ybWF0aW9uIHRoYXQgbGVhdmVzIG9ubHkgdGhlIHBpeGVscyB0aGF0IHdvdWxkIGJlIGFkZGVkIGJ5IHRoZSBkaWxhdGlvbiBwcm9jZXNzLg0KLSAgICBJTUFRX0dSQURJRU5USU4gICAgICAgICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHRyYW5zZm9ybWF0aW9uIHRoYXQgbGVhdmVzIG9ubHkgdGhlIHBpeGVscyB0aGF0IHdvdWxkIGJlIGVsaW1pbmF0ZWQgYnkgdGhlIGVyb3Npb24gcHJvY2Vzcy4NCi0gICAgSU1BUV9ISVRNSVNTICAgICAgICAgICAgICAgICAgICAgID0gNywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGV4dHJhY3RzIGVhY2ggcGl4ZWwgbG9jYXRlZCBpbiBhIG5laWdoYm9yaG9vZCBleGFjdGx5IG1hdGNoaW5nIHRoZSB0ZW1wbGF0ZSBkZWZpbmVkIGJ5IHRoZSBzdHJ1Y3R1cmluZyBlbGVtZW50Lg0KLSAgICBJTUFRX09QRU4gICAgICAgICAgICAgICAgICAgICAgICAgPSA4LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHRyYW5zZm9ybWF0aW9uIHRoYXQgcmVtb3ZlcyBzbWFsbCBwYXJ0aWNsZXMgYW5kIHNtb290aHMgYm91bmRhcmllcy4NCi0gICAgSU1BUV9QQ0xPU0UgICAgICAgICAgICAgICAgICAgICAgID0gOSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGZpbGxzIHRpbnkgaG9sZXMgYW5kIHNtb290aHMgdGhlIGlubmVyIGNvbnRvdXIgb2YgcGFydGljbGVzIGFjY29yZGluZyB0byB0aGUgdGVtcGxhdGUgZGVmaW5lZCBieSB0aGUgc3RydWN0dXJpbmcgZWxlbWVudC4NCi0gICAgSU1BUV9QT1BFTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTAsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IHJlbW92ZXMgc21hbGwgcGFydGljbGVzIGFuZCBzbW9vdGhzIHRoZSBjb250b3VyIG9mIHBhcnRpY2xlcyBhY2NvcmRpbmcgdG8gdGhlIHRlbXBsYXRlIGRlZmluZWQgYnkgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuDQotICAgIElNQVFfVEhJQ0sgICAgICAgICAgICAgICAgICAgICAgICA9IDExLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgdHJhbnNmb3JtYXRpb24gdGhhdCBhZGRzIHRvIGFuIGltYWdlIHRob3NlIHBpeGVscyBsb2NhdGVkIGluIGEgbmVpZ2hib3Job29kIHRoYXQgbWF0Y2hlcyBhIHRlbXBsYXRlIHNwZWNpZmllZCBieSB0aGUgc3RydWN0dXJpbmcgZWxlbWVudC4NCi0gICAgSU1BUV9USElOICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSB0cmFuc2Zvcm1hdGlvbiB0aGF0IGVsaW1pbmF0ZXMgcGl4ZWxzIHRoYXQgYXJlIGxvY2F0ZWQgaW4gYSBuZWlnaGJvcmhvb2QgbWF0Y2hpbmcgYSB0ZW1wbGF0ZSBzcGVjaWZpZWQgYnkgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuDQotICAgIElNQVFfTU9SUEhPTE9HWV9NRVRIT0RfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IE1vcnBob2xvZ3lNZXRob2Q7DQotDQotdHlwZWRlZiBlbnVtIE1ldGVyQXJjTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9NRVRFUl9BUkNfUk9JICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgdGhlIHJvaSBwYXJhbWV0ZXIgYW5kIGlnbm9yZXMgdGhlIGJhc2UsIHN0YXJ0LCBhbmQgZW5kIHBhcmFtZXRlcnMuDQotICAgIElNQVFfTUVURVJfQVJDX1BPSU5UUyAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIHRoZSBiYXNlLHN0YXJ0LCBhbmQgZW5kIHBhcmFtZXRlcnMgYW5kIGlnbm9yZXMgdGhlIHJvaSBwYXJhbWV0ZXIuDQotICAgIElNQVFfTUVURVJfQVJDX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IE1ldGVyQXJjTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUmFrZURpcmVjdGlvbl9lbnVtIHsNCi0gICAgSU1BUV9MRUZUX1RPX1JJR0hUICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZyb20gdGhlIGxlZnQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHNlYXJjaCBhcmVhLg0KLSAgICBJTUFRX1JJR0hUX1RPX0xFRlQgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGxlZnQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEuDQotICAgIElNQVFfVE9QX1RPX0JPVFRPTSAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZWFyY2hlcyBmcm9tIHRoZSB0b3Agc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGJvdHRvbSBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgSU1BUV9CT1RUT01fVE9fVE9QICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZyb20gdGhlIGJvdHRvbSBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSB0byB0aGUgdG9wIHNpZGUgb2YgdGhlIHNlYXJjaCBhcmVhLg0KLSAgICBJTUFRX1JBS0VfRElSRUNUSU9OX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBSYWtlRGlyZWN0aW9uOw0KLQ0KLXR5cGVkZWYgZW51bSBUcnVuY2F0ZU1vZGVfZW51bSB7DQotICAgIElNQVFfVFJVTkNBVEVfTE9XICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHRydW5jYXRlcyBsb3cgZnJlcXVlbmNpZXMuDQotICAgIElNQVFfVFJVTkNBVEVfSElHSCAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHRydW5jYXRlcyBoaWdoIGZyZXF1ZW5jaWVzLg0KLSAgICBJTUFRX1RSVU5DQVRFX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFRydW5jYXRlTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gQXR0ZW51YXRlTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9BVFRFTlVBVEVfTE9XICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGF0dGVudWF0ZXMgbG93IGZyZXF1ZW5jaWVzLg0KLSAgICBJTUFRX0FUVEVOVUFURV9ISUdIICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gYXR0ZW51YXRlcyBoaWdoIGZyZXF1ZW5jaWVzLg0KLSAgICBJTUFRX0FUVEVOVUFURV9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBBdHRlbnVhdGVNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBXaW5kb3dUaHJlYWRQb2xpY3lfZW51bSB7DQotICAgIElNQVFfQ0FMTElOR19USFJFQUQgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1VzaW5nIHRoaXMgcG9saWN5LCBOSSBWaXNpb24gY3JlYXRlcyB3aW5kb3dzIGluIHRoZSB0aHJlYWQgdGhhdCBtYWtlcyB0aGUgZmlyc3QgZGlzcGxheSBmdW5jdGlvbiBjYWxsIGZvciBhIGdpdmVuIHdpbmRvdyBudW1iZXIuDQotICAgIElNQVFfU0VQQVJBVEVfVEhSRUFEICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1VzaW5nIHRoaXMgcG9saWN5LCBOSSBWaXNpb24gY3JlYXRlcyB3aW5kb3dzIGluIGEgc2VwYXJhdGUgdGhyZWFkIGFuZCBwcm9jZXNzZXMgbWVzc2FnZXMgZm9yIHRoZSB3aW5kb3dzIGF1dG9tYXRpY2FsbHkuDQotICAgIElNQVFfV0lORE9XX1RIUkVBRF9QT0xJQ1lfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFdpbmRvd1RocmVhZFBvbGljeTsNCi0NCi10eXBlZGVmIGVudW0gV2luZG93T3B0aW9uc19lbnVtIHsNCi0gICAgSU1BUV9XSU5EX1JFU0laQUJMRSAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vV2hlbiBwcmVzZW50LCB0aGUgdXNlciBtYXkgcmVzaXplIHRoZSB3aW5kb3cgaW50ZXJhY3RpdmVseS4NCi0gICAgSU1BUV9XSU5EX1RJVExFQkFSICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vV2hlbiBwcmVzZW50LCB0aGUgdGl0bGUgYmFyIG9uIHRoZSB3aW5kb3cgaXMgdmlzaWJsZS4NCi0gICAgSU1BUV9XSU5EX0NMT1NFQUJMRSAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vV2hlbiBwcmVzZW50LCB0aGUgY2xvc2UgYm94IGlzIGF2YWlsYWJsZS4NCi0gICAgSU1BUV9XSU5EX1RPUE1PU1QgICAgICAgICAgICAgID0gOCwgICAgICAgICAgIC8vV2hlbiBwcmVzZW50LCB0aGUgd2luZG93IGlzIGFsd2F5cyBvbiB0b3AuDQotICAgIElNQVFfV0lORE9XX09QVElPTlNfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFdpbmRvd09wdGlvbnM7DQotDQotdHlwZWRlZiBlbnVtIFdpbmRvd0V2ZW50VHlwZV9lbnVtIHsNCi0gICAgSU1BUV9OT19FVkVOVCAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vTm8gZXZlbnQgb2NjdXJyZWQgc2luY2UgdGhlIGxhc3QgY2FsbCB0byBpbWFxR2V0TGFzdEV2ZW50KCkuDQotICAgIElNQVFfQ0xJQ0tfRVZFTlQgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSB1c2VyIGNsaWNrZWQgb24gYSB3aW5kb3cuDQotICAgIElNQVFfRFJBV19FVkVOVCAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSB1c2VyIGRyZXcgYW4gUk9JIGluIGEgd2luZG93Lg0KLSAgICBJTUFRX01PVkVfRVZFTlQgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgdXNlciBtb3ZlZCBhIHdpbmRvdy4NCi0gICAgSU1BUV9TSVpFX0VWRU5UICAgICAgICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIHVzZXIgc2l6ZWQgYSB3aW5kb3cuDQotICAgIElNQVFfU0NST0xMX0VWRU5UICAgICAgICAgICAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSB1c2VyIHNjcm9sbGVkIGEgd2luZG93Lg0KLSAgICBJTUFRX0FDVElWQVRFX0VWRU5UICAgICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgdXNlciBhY3RpdmF0ZWQgYSB3aW5kb3cuDQotICAgIElNQVFfQ0xPU0VfRVZFTlQgICAgICAgICAgICAgICAgICA9IDcsICAgICAgICAgICAvL1RoZSB1c2VyIGNsb3NlZCBhIHdpbmRvdy4NCi0gICAgSU1BUV9ET1VCTEVfQ0xJQ0tfRVZFTlQgICAgICAgICAgID0gOCwgICAgICAgICAgIC8vVGhlIHVzZXIgZG91YmxlLWNsaWNrZWQgaW4gYSB3aW5kb3cuDQotICAgIElNQVFfV0lORE9XX0VWRU5UX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFdpbmRvd0V2ZW50VHlwZTsNCi0NCi10eXBlZGVmIGVudW0gVmlzaW9uSW5mb1R5cGVfZW51bSB7DQotICAgIElNQVFfQU5ZX1ZJU0lPTl9JTkZPICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgZXh0cmEgdmlzaW9uIGluZm9ybWF0aW9uIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW1hZ2UuDQotICAgIElNQVFfUEFUVEVSTl9NQVRDSElOR19JTkZPICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgcGF0dGVybiBtYXRjaGluZyB0ZW1wbGF0ZSBpbmZvcm1hdGlvbiBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGltYWdlLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX0lORk8gICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBjaGVja3MgaWYgYW55IGNhbGlicmF0aW9uIGluZm9ybWF0aW9uIGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW1hZ2UuDQotICAgIElNQVFfT1ZFUkxBWV9JTkZPICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgb3ZlcmxheSBpbmZvcm1hdGlvbiBpcyBhc3NvY2lhdGVkIHdpdGggdGhlIGltYWdlLg0KLSAgICBJTUFRX1ZJU0lPTl9JTkZPX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFZpc2lvbkluZm9UeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBTZWFyY2hTdHJhdGVneV9lbnVtIHsNCi0gICAgSU1BUV9DT05TRVJWQVRJVkUgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgcGF0dGVybiBtYXRjaGluZyBhbGdvcml0aG0gdG8gdXNlIHRoZSBsYXJnZXN0IHBvc3NpYmxlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbWFnZSBhdCB0aGUgZXhwZW5zZSBvZiBzbG93aW5nIGRvd24gdGhlIHNwZWVkIG9mIHRoZSBhbGdvcml0aG0uDQotICAgIElNQVFfQkFMQU5DRUQgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9JbnN0cnVjdHMgdGhlIHBhdHRlcm4gbWF0Y2hpbmcgYWxnb3JpdGhtIHRvIGJhbGFuY2UgdGhlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbWFnZSBpdCB1c2VzIHdpdGggdGhlIHNwZWVkIG9mIHRoZSBhbGdvcml0aG0uDQotICAgIElNQVFfQUdHUkVTU0lWRSAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9JbnN0cnVjdHMgdGhlIHBhdHRlcm4gbWF0Y2hpbmcgYWxnb3JpdGhtIHRvIHVzZSBhIGxvd2VyIGFtb3VudCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbWFnZSwgd2hpY2ggYWxsb3dzIHRoZSBhbGdvcml0aG0gdG8gcnVuIHF1aWNrbHkgYnV0IGF0IHRoZSBleHBlbnNlIG9mIGFjY3VyYWN5Lg0KLSAgICBJTUFRX1ZFUllfQUdHUkVTU0lWRSAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vSW5zdHJ1Y3RzIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIGFsZ29yaXRobSB0byB1c2UgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbWFnZSwgd2hpY2ggYWxsb3dzIHRoZSBhbGdvcml0aG0gdG8gcnVuIGF0IHRoZSBoaWdoZXN0IHNwZWVkIHBvc3NpYmxlIGJ1dCBhdCB0aGUgZXhwZW5zZSBvZiBhY2N1cmFjeS4NCi0gICAgSU1BUV9TRUFSQ0hfU1RSQVRFR1lfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFNlYXJjaFN0cmF0ZWd5Ow0KLQ0KLXR5cGVkZWYgZW51bSBUd29FZGdlUG9sYXJpdHlUeXBlX2VudW0gew0KLSAgICBJTUFRX05PTkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBpZ25vcmVzIHRoZSBwb2xhcml0eSBvZiB0aGUgZWRnZXMuDQotICAgIElNQVFfUklTSU5HX0ZBTExJTkcgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIHBvbGFyaXR5IG9mIHRoZSBmaXJzdCBlZGdlIGlzIHJpc2luZyAoZGFyayB0byBsaWdodCkgYW5kIHRoZSBwb2xhcml0eSBvZiB0aGUgc2Vjb25kIGVkZ2UgaXMgZmFsbGluZyAobGlnaHQgdG8gZGFyaykuDQotICAgIElNQVFfRkFMTElOR19SSVNJTkcgICAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIHBvbGFyaXR5IG9mIHRoZSBmaXJzdCBlZGdlIGlzIGZhbGxpbmcgKGxpZ2h0IHRvIGRhcmspIGFuZCB0aGUgcG9sYXJpdHkgb2YgdGhlIHNlY29uZCBlZGdlIGlzIHJpc2luZyAoZGFyayB0byBsaWdodCkuDQotICAgIElNQVFfUklTSU5HX1JJU0lORyAgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIHBvbGFyaXR5IG9mIHRoZSBmaXJzdCBlZGdlIGlzIHJpc2luZyAoZGFyayB0byBsaWdodCkgYW5kIHRoZSBwb2xhcml0eSBvZiB0aGUgc2Vjb25kIGVkZ2UgaXMgcmlzaW5nIChkYXJrIHRvIGxpZ2h0KS4NCi0gICAgSU1BUV9GQUxMSU5HX0ZBTExJTkcgICAgICAgICAgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgcG9sYXJpdHkgb2YgdGhlIGZpcnN0IGVkZ2UgaXMgZmFsbGluZyAobGlnaHQgdG8gZGFyaykgYW5kIHRoZSBwb2xhcml0eSBvZiB0aGUgc2Vjb25kIGVkZ2UgaXMgZmFsbGluZyAobGlnaHQgdG8gZGFyaykuDQotICAgIElNQVFfVFdPX0VER0VfUE9MQVJJVFlfVFlQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gVHdvRWRnZVBvbGFyaXR5VHlwZTsNCi0NCi10eXBlZGVmIGVudW0gT2JqZWN0VHlwZV9lbnVtIHsNCi0gICAgSU1BUV9CUklHSFRfT0JKRUNUUyAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRldGVjdHMgYnJpZ2h0IG9iamVjdHMuDQotICAgIElNQVFfREFSS19PQkpFQ1RTICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBkZXRlY3RzIGRhcmsgb2JqZWN0cy4NCi0gICAgSU1BUV9PQkpFQ1RfVFlQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gT2JqZWN0VHlwZTsNCi0NCi10eXBlZGVmIGVudW0gVG9vbF9lbnVtIHsNCi0gICAgSU1BUV9OT19UT09MICAgICAgICAgICAgICA9IC0xLCAgICAgICAgICAvL05vIHRvb2wgaXMgaW4gdGhlIHNlbGVjdGVkIHN0YXRlLg0KLSAgICBJTUFRX1NFTEVDVElPTl9UT09MICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIHNlbGVjdGlvbiB0b29sIHNlbGVjdHMgYW4gZXhpc3RpbmcgUk9JIGluIGFuIGltYWdlLg0KLSAgICBJTUFRX1BPSU5UX1RPT0wgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIHBvaW50IHRvb2wgZHJhd3MgYSBwb2ludCBvbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfTElORV9UT09MICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgbGluZSB0b29sIGRyYXdzIGEgbGluZSBvbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfUkVDVEFOR0xFX1RPT0wgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgcmVjdGFuZ2xlIHRvb2wgZHJhd3MgYSByZWN0YW5nbGUgb24gdGhlIGltYWdlLg0KLSAgICBJTUFRX09WQUxfVE9PTCAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIG92YWwgdG9vbCBkcmF3cyBhbiBvdmFsIG9uIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9QT0xZR09OX1RPT0wgICAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSBwb2x5Z29uIHRvb2wgZHJhd3MgYSBwb2x5Z29uIG9uIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9DTE9TRURfRlJFRUhBTkRfVE9PTCA9IDYsICAgICAgICAgICAvL1RoZSBjbG9zZWQgZnJlZWhhbmQgdG9vbCBkcmF3cyBjbG9zZWQgZnJlZWhhbmQgc2hhcGVzIG9uIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9BTk5VTFVTX1RPT0wgICAgICAgICA9IDcsICAgICAgICAgICAvL1RoZSBhbm51bHVzIHRvb2wgZHJhd3MgYW5udWx1c2VzIG9uIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9aT09NX1RPT0wgICAgICAgICAgICA9IDgsICAgICAgICAgICAvL1RoZSB6b29tIHRvb2wgY29udHJvbHMgdGhlIHpvb20gb2YgYW4gaW1hZ2UuDQotICAgIElNQVFfUEFOX1RPT0wgICAgICAgICAgICAgPSA5LCAgICAgICAgICAgLy9UaGUgcGFuIHRvb2wgc2hpZnRzIHRoZSB2aWV3IG9mIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9QT0xZTElORV9UT09MICAgICAgICA9IDEwLCAgICAgICAgICAvL1RoZSBwb2x5bGluZSB0b29sIGRyYXdzIGEgc2VyaWVzIG9mIGNvbm5lY3RlZCBzdHJhaWdodCBsaW5lcyBvbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfRlJFRUhBTkRfVE9PTCAgICAgICAgPSAxMSwgICAgICAgICAgLy9UaGUgZnJlZWhhbmQgdG9vbCBkcmF3cyBmcmVlaGFuZCBsaW5lcyBvbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfUk9UQVRFRF9SRUNUX1RPT0wgICAgPSAxMiwgICAgICAgICAgLy9UaGUgcm90YXRlZCByZWN0YW5nbGUgdG9vbCBkcmF3cyByb3RhdGVkIHJlY3RhbmdsZXMgb24gdGhlIGltYWdlLg0KLSAgICBJTUFRX1pPT01fT1VUX1RPT0wgICAgICAgID0gMTMsICAgICAgICAgIC8vVGhlIHpvb20gb3V0IHRvb2wgY29udHJvbHMgdGhlIHpvb20gb2YgYW4gaW1hZ2UuDQotICAgIElNQVFfVE9PTF9TSVpFX0dVQVJEICAgICAgPSAweEZGRkZGRkZGICAgDQotfSBUb29sOw0KLQ0KLXR5cGVkZWYgZW51bSBUSUZGQ29tcHJlc3Npb25UeXBlX2VudW0gew0KLSAgICBJTUFRX05PX0NPTVBSRVNTSU9OICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRvZXMgbm90IGNvbXByZXNzIHRoZSBUSUZGIGZpbGUuDQotICAgIElNQVFfSlBFRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyB0aGUgSlBFRyBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gY29tcHJlc3MgdGhlIFRJRkYgZmlsZS4NCi0gICAgSU1BUV9SVU5fTEVOR1RIICAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgcnVuIGxlbmd0aCBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gY29tcHJlc3MgdGhlIFRJRkYgZmlsZS4NCi0gICAgSU1BUV9aSVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIHRoZSBaSVAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIGNvbXByZXNzIHRoZSBUSUZGIGZpbGUuDQotICAgIElNQVFfVElGRl9DT01QUkVTU0lPTl9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBUSUZGQ29tcHJlc3Npb25UeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBUaHJlc2hvbGRNZXRob2RfZW51bSB7DQotICAgIElNQVFfVEhSRVNIX0NMVVNURVJJTkcgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBtZXRob2QgdGhhdCBzb3J0cyB0aGUgaGlzdG9ncmFtIG9mIHRoZSBpbWFnZSB3aXRoaW4gYSBkaXNjcmV0ZSBudW1iZXIgb2YgY2xhc3NlcyBjb3JyZXNwb25kaW5nIHRvIHRoZSBudW1iZXIgb2YgcGhhc2VzIHBlcmNlaXZlZCBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9USFJFU0hfRU5UUk9QWSAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIG1ldGhvZCB0aGF0IGlzIGJlc3QgZm9yIGRldGVjdGluZyBwYXJ0aWNsZXMgdGhhdCBhcmUgcHJlc2VudCBpbiBtaW51c2N1bGUgcHJvcG9ydGlvbnMgb24gdGhlIGltYWdlLg0KLSAgICBJTUFRX1RIUkVTSF9NRVRSSUMgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgbWV0aG9kIHRoYXQgaXMgd2VsbC1zdWl0ZWQgZm9yIGltYWdlcyBpbiB3aGljaCBjbGFzc2VzIGFyZSBub3QgdG9vIGRpc3Byb3BvcnRpb25hdGUuDQotICAgIElNQVFfVEhSRVNIX01PTUVOVFMgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBtZXRob2QgdGhhdCBpcyBzdWl0ZWQgZm9yIGltYWdlcyB0aGF0IGhhdmUgcG9vciBjb250cmFzdC4NCi0gICAgSU1BUV9USFJFU0hfSU5URVJDTEFTUyAgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIG1ldGhvZCB0aGF0IGlzIHdlbGwtc3VpdGVkIGZvciBpbWFnZXMgaW4gd2hpY2ggY2xhc3NlcyBoYXZlIHdlbGwgc2VwYXJhdGVkIHBpeGVsIHZhbHVlIGRpc3RyaWJ1dGlvbnMuDQotICAgIElNQVFfVEhSRVNIT0xEX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gVGhyZXNob2xkTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBUZXh0QWxpZ25tZW50X2VudW0gew0KLSAgICBJTUFRX0xFRlQgICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9MZWZ0IGFsaWducyB0aGUgdGV4dCBhdCB0aGUgcmVmZXJlbmNlIHBvaW50Lg0KLSAgICBJTUFRX0NFTlRFUiAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9DZW50ZXJzIHRoZSB0ZXh0IGFyb3VuZCB0aGUgcmVmZXJlbmNlIHBvaW50Lg0KLSAgICBJTUFRX1JJR0hUICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9SaWdodCBhbGlnbnMgdGhlIHRleHQgYXQgdGhlIHJlZmVyZW5jZSBwb2ludC4NCi0gICAgSU1BUV9URVhUX0FMSUdOTUVOVF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gVGV4dEFsaWdubWVudDsNCi0NCi10eXBlZGVmIGVudW0gU3Bva2VEaXJlY3Rpb25fZW51bSB7DQotICAgIElNQVFfT1VUU0lERV9UT19JTlNJREUgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZnJvbSB0aGUgb3V0c2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGluc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEuDQotICAgIElNQVFfSU5TSURFX1RPX09VVFNJREUgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZnJvbSB0aGUgaW5zaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSB0byB0aGUgb3V0c2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEuDQotICAgIElNQVFfU1BPS0VfRElSRUNUSU9OX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBTcG9rZURpcmVjdGlvbjsNCi0NCi10eXBlZGVmIGVudW0gU2tlbGV0b25NZXRob2RfZW51bSB7DQotICAgIElNQVFfU0tFTEVUT05fTCAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9Vc2VzIGFuIEwtc2hhcGVkIHN0cnVjdHVyaW5nIGVsZW1lbnQgaW4gdGhlIHNrZWxldG9uIGZ1bmN0aW9uLg0KLSAgICBJTUFRX1NLRUxFVE9OX00gICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVXNlcyBhbiBNLXNoYXBlZCBzdHJ1Y3R1cmluZyBlbGVtZW50IGluIHRoZSBza2VsZXRvbiBmdW5jdGlvbi4NCi0gICAgSU1BUV9TS0VMRVRPTl9JTlZFUlNFICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1VzZXMgYW4gTC1zaGFwZWQgc3RydWN0dXJpbmcgZWxlbWVudCBvbiBhbiBpbnZlcnNlIG9mIHRoZSBpbWFnZSBpbiB0aGUgc2tlbGV0b24gZnVuY3Rpb24uDQotICAgIElNQVFfU0tFTEVUT05fTUVUSE9EX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBTa2VsZXRvbk1ldGhvZDsNCi0NCi10eXBlZGVmIGVudW0gVmVydGljYWxUZXh0QWxpZ25tZW50X2VudW0gew0KLSAgICBJTUFRX0JPVFRPTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9BbGlnbnMgdGhlIGJvdHRvbSBvZiB0aGUgdGV4dCBhdCB0aGUgcmVmZXJlbmNlIHBvaW50Lg0KLSAgICBJTUFRX1RPUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9BbGlnbnMgdGhlIHRvcCBvZiB0aGUgdGV4dCBhdCB0aGUgcmVmZXJlbmNlIHBvaW50Lg0KLSAgICBJTUFRX0JBU0VMSU5FICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9BbGlnbnMgdGhlIGJhc2VsaW5lIG9mIHRoZSB0ZXh0IGF0IHRoZSByZWZlcmVuY2UgcG9pbnQuDQotICAgIElNQVFfVkVSVElDQUxfVEVYVF9BTElHTk1FTlRfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFZlcnRpY2FsVGV4dEFsaWdubWVudDsNCi0NCi10eXBlZGVmIGVudW0gQ2FsaWJyYXRpb25ST0lfZW51bSB7DQotICAgIElNQVFfRlVMTF9JTUFHRSAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgY29ycmVjdGlvbiBmdW5jdGlvbiBjb3JyZWN0cyB0aGUgd2hvbGUgaW1hZ2UsIHJlZ2FyZGxlc3Mgb2YgdGhlIHVzZXItZGVmaW5lZCBvciBjYWxpYnJhdGlvbi1kZWZpbmVkIFJPSXMuDQotICAgIElNQVFfQ0FMSUJSQVRJT05fUk9JICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgY29ycmVjdGlvbiBmdW5jdGlvbiBjb3JyZWN0cyB0aGUgYXJlYSBkZWZpbmVkIGJ5IHRoZSBjYWxpYnJhdGlvbiBST0kuDQotICAgIElNQVFfVVNFUl9ST0kgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgY29ycmVjdGlvbiBmdW5jdGlvbiBjb3JyZWN0cyB0aGUgYXJlYSBkZWZpbmVkIGJ5IHRoZSB1c2VyLWRlZmluZWQgUk9JLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX0FORF9VU0VSX1JPSSAgID0gMywgICAgICAgICAgIC8vVGhlIGNvcnJlY3Rpb24gZnVuY3Rpb24gY29ycmVjdHMgdGhlIGFyZWEgZGVmaW5lZCBieSB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSB1c2VyLWRlZmluZWQgUk9JIGFuZCB0aGUgY2FsaWJyYXRpb24gUk9JLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX09SX1VTRVJfUk9JICAgID0gNCwgICAgICAgICAgIC8vVGhlIGNvcnJlY3Rpb24gZnVuY3Rpb24gY29ycmVjdHMgdGhlIGFyZWEgZGVmaW5lZCBieSB0aGUgdW5pb24gb2YgdGhlIHVzZXItZGVmaW5lZCBST0kgYW5kIHRoZSBjYWxpYnJhdGlvbiBST0kuDQotICAgIElNQVFfQ0FMSUJSQVRJT05fUk9JX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDYWxpYnJhdGlvblJPSTsNCi0NCi10eXBlZGVmIGVudW0gQ29udG91clR5cGVfZW51bSB7DQotICAgIElNQVFfRU1QVFlfQ09OVE9VUiAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgY29udG91ciBpcyBlbXB0eS4NCi0gICAgSU1BUV9QT0lOVCAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBjb250b3VyIHJlcHJlc2VudHMgYSBwb2ludC4NCi0gICAgSU1BUV9MSU5FICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBjb250b3VyIHJlcHJlc2VudHMgYSBsaW5lLg0KLSAgICBJTUFRX1JFQ1QgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGNvbnRvdXIgcmVwcmVzZW50cyBhIHJlY3RhbmdsZS4NCi0gICAgSU1BUV9PVkFMICAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBjb250b3VyIHJlcHJlc2VudHMgYW4gb3ZhbC4NCi0gICAgSU1BUV9DTE9TRURfQ09OVE9VUiAgICAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSBjb250b3VyIHJlcHJlc2VudHMgYSBzZXJpZXMgb2YgY29ubmVjdGVkIHBvaW50cyB3aGVyZSB0aGUgbGFzdCBwb2ludCBjb25uZWN0cyB0byB0aGUgZmlyc3QuDQotICAgIElNQVFfT1BFTl9DT05UT1VSICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgY29udG91ciByZXByZXNlbnRzIGEgc2VyaWVzIG9mIGNvbm5lY3RlZCBwb2ludHMgd2hlcmUgdGhlIGxhc3QgcG9pbnQgZG9lcyBub3QgY29ubmVjdCB0byB0aGUgZmlyc3QuDQotICAgIElNQVFfQU5OVUxVUyAgICAgICAgICAgICAgICAgPSA3LCAgICAgICAgICAgLy9UaGUgY29udG91ciByZXByZXNlbnRzIGFuIGFubnVsdXMuDQotICAgIElNQVFfUk9UQVRFRF9SRUNUICAgICAgICAgICAgPSA4LCAgICAgICAgICAgLy9UaGUgY29udG91ciByZXByZXNlbnRzIGEgcm90YXRlZCByZWN0YW5nbGUuDQotICAgIElNQVFfQ09OVE9VUl9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDb250b3VyVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gTWF0aFRyYW5zZm9ybU1ldGhvZF9lbnVtIHsNCi0gICAgSU1BUV9UUkFOU0ZPUk1fTElORUFSICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGxpbmVhciByZW1hcHBpbmcuDQotICAgIElNQVFfVFJBTlNGT1JNX0xPRyAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBsb2dhcml0aG1pYyByZW1hcHBpbmcuDQotICAgIElNQVFfVFJBTlNGT1JNX0VYUCAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBleHBvbmVudGlhbCByZW1hcHBpbmcuDQotICAgIElNQVFfVFJBTlNGT1JNX1NRUiAgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBzcXVhcmUgcmVtYXBwaW5nLg0KLSAgICBJTUFRX1RSQU5TRk9STV9TUVJUICAgICAgICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgc3F1YXJlIHJvb3QgcmVtYXBwaW5nLg0KLSAgICBJTUFRX1RSQU5TRk9STV9QT1dYICAgICAgICAgICAgICAgICAgID0gNSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgcG93ZXIgWCByZW1hcHBpbmcuDQotICAgIElNQVFfVFJBTlNGT1JNX1BPVzFYICAgICAgICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBwb3dlciAxL1ggcmVtYXBwaW5nLg0KLSAgICBJTUFRX01BVEhfVFJBTlNGT1JNX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTWF0aFRyYW5zZm9ybU1ldGhvZDsNCi0NCi10eXBlZGVmIGVudW0gQ29tcGxleFBsYW5lX2VudW0gew0KLSAgICBJTUFRX1JFQUwgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbiB0aGUgcmVhbCBwbGFuZSBvZiB0aGUgY29tcGxleCBpbWFnZS4NCi0gICAgSU1BUV9JTUFHSU5BUlkgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24gdGhlIGltYWdpbmFyeSBwbGFuZSBvZiB0aGUgY29tcGxleCBpbWFnZS4NCi0gICAgSU1BUV9NQUdOSVRVREUgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24gdGhlIG1hZ25pdHVkZSBwbGFuZSBvZiB0aGUgY29tcGxleCBpbWFnZS4NCi0gICAgSU1BUV9QSEFTRSAgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgb24gdGhlIHBoYXNlIHBsYW5lIG9mIHRoZSBjb21wbGV4IGltYWdlLg0KLSAgICBJTUFRX0NPTVBMRVhfUExBTkVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IENvbXBsZXhQbGFuZTsNCi0NCi10eXBlZGVmIGVudW0gUGFsZXR0ZVR5cGVfZW51bSB7DQotICAgIElNQVFfUEFMRVRURV9HUkFZICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHBhbGV0dGUgdGhhdCBoYXMgYSBncmFkdWFsIGdyYXktbGV2ZWwgdmFyaWF0aW9uIGZyb20gYmxhY2sgdG8gd2hpdGUuDQotICAgIElNQVFfUEFMRVRURV9CSU5BUlkgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHBhbGV0dGUgb2YgMTYgY3ljbGVzIG9mIDE2IGRpZmZlcmVudCBjb2xvcnMgdGhhdCBpcyB1c2VmdWwgd2l0aCBiaW5hcnkgaW1hZ2VzLg0KLSAgICBJTUFRX1BBTEVUVEVfR1JBRElFTlQgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBwYWxldHRlIHRoYXQgaGFzIGEgZ3JhZGF0aW9uIGZyb20gcmVkIHRvIHdoaXRlIHdpdGggYSBwcm9taW5lbnQgcmFuZ2Ugb2YgbGlnaHQgYmx1ZSBpbiB0aGUgdXBwZXIgdmFsdWUgcmFuZ2UuDQotICAgIElNQVFfUEFMRVRURV9SQUlOQk9XICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhIHBhbGV0dGUgdGhhdCBoYXMgYSBncmFkYXRpb24gZnJvbSBibHVlIHRvIHJlZCB3aXRoIGEgcHJvbWluZW50IHJhbmdlIG9mIGdyZWVucyBpbiB0aGUgbWlkZGxlIHZhbHVlIHJhbmdlLg0KLSAgICBJTUFRX1BBTEVUVEVfVEVNUEVSQVRVUkUgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBwYWxldHRlIHRoYXQgaGFzIGEgZ3JhZGF0aW9uIGZyb20gbGlnaHQgYnJvd24gdG8gZGFyayBicm93bi4NCi0gICAgSU1BUV9QQUxFVFRFX1VTRVIgICAgICAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgcGFsZXR0ZSBkZWZpbmVkIGJ5IHRoZSB1c2VyLg0KLSAgICBJTUFRX1BBTEVUVEVfVFlQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gUGFsZXR0ZVR5cGU7DQotDQotdHlwZWRlZiBlbnVtIENvbG9yU2Vuc2l0aXZpdHlfZW51bSB7DQotICAgIElNQVFfU0VOU0lUSVZJVFlfTE9XICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgYWxnb3JpdGhtIHRvIGRpdmlkZSB0aGUgaHVlIHBsYW5lIGludG8gYSBsb3cgbnVtYmVyIG9mIHNlY3RvcnMsIGFsbG93aW5nIGZvciBzaW1wbGUgY29sb3IgYW5hbHlzaXMuDQotICAgIElNQVFfU0VOU0lUSVZJVFlfTUVEICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgYWxnb3JpdGhtIHRvIGRpdmlkZSB0aGUgaHVlIHBsYW5lIGludG8gYSBtZWRpdW0gbnVtYmVyIG9mIHNlY3RvcnMsIGFsbG93aW5nIGZvciBjb2xvciBhbmFseXNpcyB0aGF0IGJhbGFuY2VzIHNlbnNpdGl2aXR5IGFuZCBjb21wbGV4aXR5Lg0KLSAgICBJTUFRX1NFTlNJVElWSVRZX0hJR0ggICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9JbnN0cnVjdHMgdGhlIGFsZ29yaXRobSB0byBkaXZpZGUgdGhlIGh1ZSBwbGFuZSBpbnRvIGEgaGlnaCBudW1iZXIgb2Ygc2VjdG9ycywgYWxsb3dpbmcgZm9yIGNvbXBsZXgsIHNlbnNpdGl2ZSBjb2xvciBhbmFseXNpcy4NCi0gICAgSU1BUV9DT0xPUl9TRU5TSVRJVklUWV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ29sb3JTZW5zaXRpdml0eTsNCi0NCi10eXBlZGVmIGVudW0gQ29sb3JNb2RlX2VudW0gew0KLSAgICBJTUFRX1JHQiAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBvcGVyYXRlcyBpbiB0aGUgUkdCIChSZWQsIEJsdWUsIEdyZWVuKSBjb2xvciBzcGFjZS4NCi0gICAgSU1BUV9IU0wgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgaW4gdGhlIEhTTCAoSHVlLCBTYXR1cmF0aW9uLCBMdW1pbmFuY2UpIGNvbG9yIHNwYWNlLg0KLSAgICBJTUFRX0hTViAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBvcGVyYXRlcyBpbiB0aGUgSFNWIChIdWUsIFNhdHVyYXRpb24sIFZhbHVlKSBjb2xvciBzcGFjZS4NCi0gICAgSU1BUV9IU0kgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgaW4gdGhlIEhTSSAoSHVlLCBTYXR1cmF0aW9uLCBJbnRlbnNpdHkpIGNvbG9yIHNwYWNlLg0KLSAgICBJTUFRX0NJRSAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBvcGVyYXRlcyBpbiB0aGUgQ0lFIEwqYSpiKiBjb2xvciBzcGFjZS4NCi0gICAgSU1BUV9DSUVYWVogICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gb3BlcmF0ZXMgaW4gdGhlIENJRSBYWVogY29sb3Igc3BhY2UuDQotICAgIElNQVFfQ09MT1JfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ29sb3JNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBEZXRlY3Rpb25Nb2RlX2VudW0gew0KLSAgICBJTUFRX0RFVEVDVF9QRUFLUyAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gZGV0ZWN0cyBwZWFrcy4NCi0gICAgSU1BUV9ERVRFQ1RfVkFMTEVZUyAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRldGVjdHMgdmFsbGV5cy4NCi0gICAgSU1BUV9ERVRFQ1RJT05fTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRGV0ZWN0aW9uTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gQ2FsaWJyYXRpb25Vbml0X2VudW0gew0KLSAgICBJTUFRX1VOREVGSU5FRCAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBpbWFnZSBkb2VzIG5vdCBoYXZlIGEgZGVmaW5lZCB1bml0IG9mIG1lYXN1cmVtZW50Lg0KLSAgICBJTUFRX0FOR1NUUk9NICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSB1bml0IG9mIG1lYXN1cmUgZm9yIHRoZSBpbWFnZSBpcyBhbmdzdHJvbXMuDQotICAgIElNQVFfTUlDUk9NRVRFUiAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIHVuaXQgb2YgbWVhc3VyZSBmb3IgdGhlIGltYWdlIGlzIG1pY3JvbWV0ZXJzLg0KLSAgICBJTUFRX01JTExJTUVURVIgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSB1bml0IG9mIG1lYXN1cmUgZm9yIHRoZSBpbWFnZSBpcyBtaWxsaW1ldGVycy4NCi0gICAgSU1BUV9DRU5USU1FVEVSICAgICAgICAgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMgY2VudGltZXRlcnMuDQotICAgIElNQVFfTUVURVIgICAgICAgICAgICAgICAgICAgICAgID0gNSwgICAgICAgICAgIC8vVGhlIHVuaXQgb2YgbWVhc3VyZSBmb3IgdGhlIGltYWdlIGlzIG1ldGVycy4NCi0gICAgSU1BUV9LSUxPTUVURVIgICAgICAgICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMga2lsb21ldGVycy4NCi0gICAgSU1BUV9NSUNST0lOQ0ggICAgICAgICAgICAgICAgICAgPSA3LCAgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMgbWljcm9pbmNoZXMuDQotICAgIElNQVFfSU5DSCAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgICAgICAgICAgIC8vVGhlIHVuaXQgb2YgbWVhc3VyZSBmb3IgdGhlIGltYWdlIGlzIGluY2hlcy4NCi0gICAgSU1BUV9GT09UICAgICAgICAgICAgICAgICAgICAgICAgPSA5LCAgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMgZmVldC4NCi0gICAgSU1BUV9OQVVUSUNNSUxFICAgICAgICAgICAgICAgICAgPSAxMCwgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMgbmF1dGljYWwgbWlsZXMuDQotICAgIElNQVFfR1JPVU5ETUlMRSAgICAgICAgICAgICAgICAgID0gMTEsICAgICAgICAgIC8vVGhlIHVuaXQgb2YgbWVhc3VyZSBmb3IgdGhlIGltYWdlIGlzIGdyb3VuZCBtaWxlcy4NCi0gICAgSU1BUV9TVEVQICAgICAgICAgICAgICAgICAgICAgICAgPSAxMiwgICAgICAgICAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UgaXMgc3RlcHMuDQotICAgIElNQVFfQ0FMSUJSQVRJT05fVU5JVF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ2FsaWJyYXRpb25Vbml0Ow0KLQ0KLXR5cGVkZWYgZW51bSBDb25jZW50cmljUmFrZURpcmVjdGlvbl9lbnVtIHsNCi0gICAgSU1BUV9DT1VOVEVSX0NMT0NLV0lTRSAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgdGhlIHNlYXJjaCBhcmVhIGluIGEgY291bnRlci1jbG9ja3dpc2UgZGlyZWN0aW9uLg0KLSAgICBJTUFRX0NMT0NLV0lTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZWFyY2hlcyB0aGUgc2VhcmNoIGFyZWEgaW4gYSBjbG9ja3dpc2UgZGlyZWN0aW9uLg0KLSAgICBJTUFRX0NPTkNFTlRSSUNfUkFLRV9ESVJFQ1RJT05fU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IENvbmNlbnRyaWNSYWtlRGlyZWN0aW9uOw0KLQ0KLXR5cGVkZWYgZW51bSBDYWxpYnJhdGlvbk1vZGVfZW51bSB7DQotICAgIElNQVFfUEVSU1BFQ1RJVkUgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRnVuY3Rpb25zIGNvcnJlY3QgZm9yIGRpc3RvcnRpb24gY2F1c2VkIGJ5IHRoZSBjYW1lcmEncyBwZXJzcGVjdGl2ZS4NCi0gICAgSU1BUV9OT05MSU5FQVIgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9GdW5jdGlvbnMgY29ycmVjdCBmb3IgZGlzdG9ydGlvbiBjYXVzZWQgYnkgdGhlIGNhbWVyYSdzIGxlbnMuDQotICAgIElNQVFfU0lNUExFX0NBTElCUkFUSU9OICAgICAgICAgID0gMiwgICAgICAgICAgIC8vRnVuY3Rpb25zIGRvIG5vdCBjb3JyZWN0IGZvciBkaXN0b3J0aW9uLg0KLSAgICBJTUFRX0NPUlJFQ1RFRF9JTUFHRSAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBpbWFnZSBpcyBhbHJlYWR5IGNvcnJlY3RlZC4NCi0gICAgSU1BUV9DQUxJQlJBVElPTl9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDYWxpYnJhdGlvbk1vZGU7DQotDQotdHlwZWRlZiBlbnVtIEJyb3dzZXJMb2NhdGlvbl9lbnVtIHsNCi0gICAgSU1BUV9JTlNFUlRfRklSU1RfRlJFRSAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9JbnNlcnRzIHRoZSB0aHVtYm5haWwgaW4gdGhlIGZpcnN0IGF2YWlsYWJsZSBjZWxsLg0KLSAgICBJTUFRX0lOU0VSVF9FTkQgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0luc2VydHMgdGhlIHRodW1ibmFpbCBhZnRlciB0aGUgbGFzdCBvY2N1cGllZCBjZWxsLg0KLSAgICBJTUFRX0JST1dTRVJfTE9DQVRJT05fU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEJyb3dzZXJMb2NhdGlvbjsNCi0NCi10eXBlZGVmIGVudW0gQnJvd3NlckZyYW1lU3R5bGVfZW51bSB7DQotICAgIElNQVFfUkFJU0VEX0ZSQU1FICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRWFjaCB0aHVtYm5haWwgaGFzIGEgcmFpc2VkIGZyYW1lLg0KLSAgICBJTUFRX0JFVkVMTEVEX0ZSQU1FICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0VhY2ggdGh1bWJuYWlsIGhhcyBhIGJldmVsZWQgZnJhbWUuDQotICAgIElNQVFfT1VUTElORV9GUkFNRSAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vRWFjaCB0aHVtYm5haWwgaGFzIGFuIG91dGxpbmVkIGZyYW1lLg0KLSAgICBJTUFRX0hJRERFTl9GUkFNRSAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL0VhY2ggdGh1bWJuYWlsIGhhcyBhIGhpZGRlbiBmcmFtZS4NCi0gICAgSU1BUV9TVEVQX0ZSQU1FICAgICAgICAgICAgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9FYWNoIHRodW1ibmFpbCBoYXMgYSBzdGVwcGVkIGZyYW1lLg0KLSAgICBJTUFRX1JBSVNFRF9PVVRMSU5FX0ZSQU1FICAgICAgICAgICA9IDUsICAgICAgICAgICAvL0VhY2ggdGh1bWJuYWlsIGhhcyBhIHJhaXNlZCwgb3V0bGluZWQgZnJhbWUuDQotICAgIElNQVFfQlJPV1NFUl9GUkFNRV9TVFlMRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQnJvd3NlckZyYW1lU3R5bGU7DQotDQotdHlwZWRlZiBlbnVtIEJvcmRlck1ldGhvZF9lbnVtIHsNCi0gICAgSU1BUV9CT1JERVJfTUlSUk9SICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9TeW1tZXRyaWNhbGx5IGNvcGllcyBwaXhlbCB2YWx1ZXMgZnJvbSB0aGUgaW1hZ2UgaW50byB0aGUgYm9yZGVyLg0KLSAgICBJTUFRX0JPUkRFUl9DT1BZICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0NvcGllcyB0aGUgdmFsdWUgb2YgdGhlIHBpeGVsIGNsb3Nlc3QgdG8gdGhlIGVkZ2Ugb2YgdGhlIGltYWdlIGludG8gdGhlIGJvcmRlci4NCi0gICAgSU1BUV9CT1JERVJfQ0xFQVIgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9TZXRzIGFsbCBwaXhlbHMgaW4gdGhlIGJvcmRlciB0byAwLg0KLSAgICBJTUFRX0JPUkRFUl9NRVRIT0RfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEJvcmRlck1ldGhvZDsNCi0NCi10eXBlZGVmIGVudW0gQmFyY29kZVR5cGVfZW51bSB7DQotICAgIElNQVFfSU5WQUxJRCAgICAgICAgICAgICAgICAgPSAtMSwgICAgICAgICAgLy9UaGUgYmFyY29kZSBpcyBub3Qgb2YgYSB0eXBlIGtub3duIGJ5IE5JIFZpc2lvbi4NCi0gICAgSU1BUV9DT0RBQkFSICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgQ29kYWJhci4NCi0gICAgSU1BUV9DT0RFMzkgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgQ29kZSAzOS4NCi0gICAgSU1BUV9DT0RFOTMgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgQ29kZSA5My4NCi0gICAgSU1BUV9DT0RFMTI4ICAgICAgICAgICAgICAgICA9IDgsICAgICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgQ29kZSAxMjguDQotICAgIElNQVFfRUFOOCAgICAgICAgICAgICAgICAgICAgPSAxNiwgICAgICAgICAgLy9UaGUgYmFyY29kZSBpcyBvZiB0eXBlIEVBTiA4Lg0KLSAgICBJTUFRX0VBTjEzICAgICAgICAgICAgICAgICAgID0gMzIsICAgICAgICAgIC8vVGhlIGJhcmNvZGUgaXMgb2YgdHlwZSBFQU4gMTMuDQotICAgIElNQVFfSTJfT0ZfNSAgICAgICAgICAgICAgICAgPSA2NCwgICAgICAgICAgLy9UaGUgYmFyY29kZSBpcyBvZiB0eXBlIENvZGUgMjUuDQotICAgIElNQVFfTVNJICAgICAgICAgICAgICAgICAgICAgPSAxMjgsICAgICAgICAgLy9UaGUgYmFyY29kZSBpcyBvZiB0eXBlIE1TSSBjb2RlLg0KLSAgICBJTUFRX1VQQ0EgICAgICAgICAgICAgICAgICAgID0gMjU2LCAgICAgICAgIC8vVGhlIGJhcmNvZGUgaXMgb2YgdHlwZSBVUEMgQS4NCi0gICAgSU1BUV9QSEFSTUFDT0RFICAgICAgICAgICAgICA9IDUxMiwgICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgUGhhcm1hY29kZS4NCi0gICAgSU1BUV9SU1NfTElNSVRFRCAgICAgICAgICAgICA9IDEwMjQsICAgICAgICAvL1RoZSBiYXJjb2RlIGlzIG9mIHR5cGUgUlNTIExpbWl0ZWQuDQotICAgIElNQVFfQkFSQ09ERV9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBCYXJjb2RlVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gQXhpc09yaWVudGF0aW9uX2VudW0gew0KLSAgICBJTUFRX0RJUkVDVCAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSB5LWF4aXMgZGlyZWN0aW9uIGNvcnJlc3BvbmRzIHRvIHRoZSB5LWF4aXMgZGlyZWN0aW9uIG9mIHRoZSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBzeXN0ZW0uDQotICAgIElNQVFfSU5ESVJFQ1QgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIHktYXhpcyBkaXJlY3Rpb24gY29ycmVzcG9uZHMgdG8gdGhlIHktYXhpcyBkaXJlY3Rpb24gb2YgYW4gaW1hZ2UuDQotICAgIElNQVFfQVhJU19PUklFTlRBVElPTl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQXhpc09yaWVudGF0aW9uOw0KLQ0KLXR5cGVkZWYgZW51bSBDb2xvcklnbm9yZU1vZGVfZW51bSB7DQotICAgIElNQVFfSUdOT1JFX05PTkUgICAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBkb2VzIG5vdCBpZ25vcmUgYW55IHBpeGVscy4NCi0gICAgSU1BUV9JR05PUkVfQkxBQ0sgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIGlnbm9yZXMgYmxhY2sgcGl4ZWxzLg0KLSAgICBJTUFRX0lHTk9SRV9XSElURSAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gaWdub3JlcyB3aGl0ZSBwaXhlbHMuDQotICAgIElNQVFfSUdOT1JFX0JMQUNLX0FORF9XSElURSAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBpZ25vcmVzIGJsYWNrIHBpeGVscyBhbmQgd2hpdGUgcGl4ZWxzLg0KLSAgICBJTUFRX0JMQUNLX1dISVRFX0lHTk9SRV9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDb2xvcklnbm9yZU1vZGU7DQotDQotdHlwZWRlZiBlbnVtIExldmVsVHlwZV9lbnVtIHsNCi0gICAgSU1BUV9BQlNPTFVURSAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gZXZhbHVhdGVzIHRoZSB0aHJlc2hvbGQgYW5kIGh5c3RlcmVzaXMgdmFsdWVzIGFzIGFic29sdXRlIHZhbHVlcy4NCi0gICAgSU1BUV9SRUxBVElWRSAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gZXZhbHVhdGVzIHRoZSB0aHJlc2hvbGQgYW5kIGh5c3RlcmVzaXMgdmFsdWVzIHJlbGF0aXZlIHRvIHRoZSBkeW5hbWljIHJhbmdlIG9mIHRoZSBnaXZlbiBwYXRoLg0KLSAgICBJTUFRX0xFVkVMX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IExldmVsVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gTWF0Y2hpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX01BVENIX1NISUZUX0lOVkFSSUFOVCAgICA9IDEsICAgICAgICAgICAvL1NlYXJjaGVzIGZvciBvY2N1cnJlbmNlcyBvZiB0aGUgdGVtcGxhdGUgaW1hZ2UgYW55d2hlcmUgaW4gdGhlIHNlYXJjaFJlY3QsIGFzc3VtaW5nIHRoYXQgdGhlIHBhdHRlcm4gaXMgbm90IHJvdGF0ZWQgbW9yZSB0aGFuIHBsdXMgb3IgbWludXMgNCBkZWdyZWVzLg0KLSAgICBJTUFRX01BVENIX1JPVEFUSU9OX0lOVkFSSUFOVCA9IDIsICAgICAgICAgICAvL1NlYXJjaGVzIGZvciBvY2N1cnJlbmNlcyBvZiB0aGUgcGF0dGVybiBpbiB0aGUgaW1hZ2Ugd2l0aCBubyByZXN0cmljdGlvbiBvbiB0aGUgcm90YXRpb24gb2YgdGhlIHBhdHRlcm4uDQotICAgIElNQVFfTUFUQ0hJTkdfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTWF0Y2hpbmdNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBNYXBwaW5nTWV0aG9kX2VudW0gew0KLSAgICBJTUFRX0ZVTExfRFlOQU1JQyAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy8oT2Jzb2xldGUpIFdoZW4gdGhlIGltYWdlIGJpdCBkZXB0aCBpcyAwLCB0aGUgZnVuY3Rpb24gbWFwcyB0aGUgZnVsbCBkeW5hbWljIHJhbmdlIG9mIHRoZSAxNi1iaXQgaW1hZ2UgdG8gYW4gOC1iaXQgc2NhbGUuDQotICAgIElNQVFfRE9XTlNISUZUICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvLyhPYnNvbGV0ZSkgV2hlbiB0aGUgaW1hZ2UgYml0IGRlcHRoIGlzIDAsIHRoZSBmdW5jdGlvbiBzaGlmdHMgdGhlIDE2LWJpdCBpbWFnZSBwaXhlbHMgdG8gdGhlIHJpZ2h0IHRoZSBudW1iZXIgb2YgdGltZXMgc3BlY2lmaWVkIGJ5IHRoZSBzaGlmdENvdW50IGVsZW1lbnQgb2YgdGhlIERpc3BsYXlNYXBwaW5nIHN0cnVjdHVyZS4NCi0gICAgSU1BUV9SQU5HRSAgICAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vKE9ic29sZXRlKSBXaGVuIHRoZSBpbWFnZSBiaXQgZGVwdGggaXMgMCwgdGhlIGZ1bmN0aW9uIG1hcHMgdGhlIHBpeGVsIHZhbHVlcyBpbiB0aGUgcmFuZ2Ugc3BlY2lmaWVkIGJ5IHRoZSBtaW5pbXVtVmFsdWUgYW5kIG1heGltdW1WYWx1ZSBlbGVtZW50cyBvZiB0aGUgRGlzcGxheU1hcHBpbmcgc3RydWN0dXJlIHRvIGFuIDgtYml0IHNjYWxlLg0KLSAgICBJTUFRXzkwX1BDVF9EWU5BTUlDICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy8oT2Jzb2xldGUpIFdoZW4gdGhlIGltYWdlIGJpdCBkZXB0aCB0byAwLCB0aGUgZnVuY3Rpb24gbWFwcyB0aGUgZHluYW1pYyByYW5nZSBjb250YWluaW5nIHRoZSBtaWRkbGUgOTAgcGVyY2VudCBvZiB0aGUgY3VtdWxhdGVkIGhpc3RvZ3JhbSBvZiB0aGUgaW1hZ2UgdG8gYW4gOC1iaXQgKDI1NiBncmF5c2NhbGUgdmFsdWVzKSBzY2FsZS4NCi0gICAgSU1BUV9QRVJDRU5UX1JBTkdFICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vKE9ic29sZXRlKSBXaGVuIHRoZSBpbWFnZSBiaXQgZGVwdGggaXMgMCwgdGhlIGZ1bmN0aW9uIG1hcHMgdGhlIHBpeGVsIHZhbHVlcyBpbiB0aGUgcmVsYXRpdmUgcGVyY2VudGFnZSByYW5nZSAoMCB0byAxMDApIG9mIHRoZSBjdW11bGF0ZWQgaGlzdG9ncmFtIHNwZWNpZmllZCBieSBtaW5pbXVtVmFsdWUgYW5kIG1heGltdW1WYWx1ZSB0byBhbiA4LWJpdCBzY2FsZS4NCi0gICAgSU1BUV9ERUZBVUxUX01BUFBJTkcgICAgICAgICAgID0gMTAsICAgICAgICAgIC8vSWYgdGhlIGJpdCBkZXB0aCBpcyAwLCB0aGUgZnVuY3Rpb24gbWFwcyB0aGUgMTYtYml0IGltYWdlIHRvIDggYml0cyBieSBmb2xsb3dpbmcgdGhlIElNQVFfRlVMTF9EWU5BTUlDX0FMV0FZUyBiZWhhdmlvcjsgb3RoZXJ3aXNlLCB0aGUgZnVuY3Rpb24gc2hpZnRzIHRoZSBpbWFnZSBkYXRhIHRvIHRoZSByaWdodCBhY2NvcmRpbmcgdG8gdGhlIElNQVFfTU9TVF9TSUdOSUZJQ0FOVCBiZWhhdmlvci4NCi0gICAgSU1BUV9NT1NUX1NJR05JRklDQU5UICAgICAgICAgID0gMTEsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNoaWZ0cyB0aGUgMTYtYml0IGltYWdlIHBpeGVscyB0byB0aGUgcmlnaHQgdW50aWwgdGhlIDggbW9zdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBpbWFnZSBkYXRhIGFyZSByZW1haW5pbmcuDQotICAgIElNQVFfRlVMTF9EWU5BTUlDX0FMV0FZUyAgICAgICA9IDEyLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBtYXBzIHRoZSBmdWxsIGR5bmFtaWMgcmFuZ2Ugb2YgdGhlIDE2LWJpdCBpbWFnZSB0byBhbiA4LWJpdCBzY2FsZS4NCi0gICAgSU1BUV9ET1dOU0hJRlRfQUxXQVlTICAgICAgICAgID0gMTMsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNoaWZ0cyB0aGUgMTYtYml0IGltYWdlIHBpeGVscyB0byB0aGUgcmlnaHQgdGhlIG51bWJlciBvZiB0aW1lcyBzcGVjaWZpZWQgYnkgdGhlIHNoaWZ0Q291bnQgZWxlbWVudCBvZiB0aGUgRGlzcGxheU1hcHBpbmcgc3RydWN0dXJlLg0KLSAgICBJTUFRX1JBTkdFX0FMV0FZUyAgICAgICAgICAgICAgPSAxNCwgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gbWFwcyB0aGUgcGl4ZWwgdmFsdWVzIGluIHRoZSByYW5nZSBzcGVjaWZpZWQgYnkgdGhlIG1pbmltdW1WYWx1ZSBhbmQgbWF4aW11bVZhbHVlIGVsZW1lbnRzIG9mIHRoZSBEaXNwbGF5TWFwcGluZyBzdHJ1Y3R1cmUgdG8gYW4gOC1iaXQgc2NhbGUuDQotICAgIElNQVFfOTBfUENUX0RZTkFNSUNfQUxXQVlTICAgICA9IDE1LCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBtYXBzIHRoZSBkeW5hbWljIHJhbmdlIGNvbnRhaW5pbmcgdGhlIG1pZGRsZSA5MCBwZXJjZW50IG9mIHRoZSBjdW11bGF0ZWQgaGlzdG9ncmFtIG9mIHRoZSBpbWFnZSB0byBhbiA4LWJpdCAoMjU2IGdyYXlzY2FsZSB2YWx1ZXMpIHNjYWxlLg0KLSAgICBJTUFRX1BFUkNFTlRfUkFOR0VfQUxXQVlTICAgICAgPSAxNiwgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gbWFwcyB0aGUgcGl4ZWwgdmFsdWVzIGluIHRoZSByZWxhdGl2ZSBwZXJjZW50YWdlIHJhbmdlICgwIHRvIDEwMCkgb2YgdGhlIGN1bXVsYXRlZCBoaXN0b2dyYW0gc3BlY2lmaWVkIGJ5IG1pbmltdW1WYWx1ZSBhbmQgbWF4aW11bVZhbHVlIHRvIGFuIDgtYml0IHNjYWxlLg0KLSAgICBJTUFRX01BUFBJTkdfTUVUSE9EX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBNYXBwaW5nTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBDb21wYXJpc29uRnVuY3Rpb25fZW51bSB7DQotICAgIElNQVFfQ0xFQVJfTEVTUyAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGNvbXBhcmlzb24gaXMgdHJ1ZSBpZiB0aGUgc291cmNlIHBpeGVsIHZhbHVlIGlzIGxlc3MgdGhhbiB0aGUgY29tcGFyaXNvbiBpbWFnZSBwaXhlbCB2YWx1ZS4NCi0gICAgSU1BUV9DTEVBUl9MRVNTX09SX0VRVUFMICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgY29tcGFyaXNvbiBpcyB0cnVlIGlmIHRoZSBzb3VyY2UgcGl4ZWwgdmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBjb21wYXJpc29uIGltYWdlIHBpeGVsIHZhbHVlLg0KLSAgICBJTUFRX0NMRUFSX0VRVUFMICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBjb21wYXJpc29uIGlzIHRydWUgaWYgdGhlIHNvdXJjZSBwaXhlbCB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgY29tcGFyaXNvbiBpbWFnZSBwaXhlbCB2YWx1ZS4NCi0gICAgSU1BUV9DTEVBUl9HUkVBVEVSX09SX0VRVUFMICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgY29tcGFyaXNvbiBpcyB0cnVlIGlmIHRoZSBzb3VyY2UgcGl4ZWwgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBjb21wYXJpc29uIGltYWdlIHBpeGVsIHZhbHVlLg0KLSAgICBJTUFRX0NMRUFSX0dSRUFURVIgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBjb21wYXJpc29uIGlzIHRydWUgaWYgdGhlIHNvdXJjZSBwaXhlbCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIGNvbXBhcmlzb24gaW1hZ2UgcGl4ZWwgdmFsdWUuDQotICAgIElNQVFfQ09NUEFSRV9GVU5DVElPTl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ29tcGFyaXNvbkZ1bmN0aW9uOw0KLQ0KLXR5cGVkZWYgZW51bSBMaW5lR2F1Z2VNZXRob2RfZW51bSB7DQotICAgIElNQVFfRURHRV9UT19FREdFICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL01lYXN1cmVzIGZyb20gdGhlIGZpcnN0IGVkZ2Ugb24gdGhlIGxpbmUgdG8gdGhlIGxhc3QgZWRnZSBvbiB0aGUgbGluZS4NCi0gICAgSU1BUV9FREdFX1RPX1BPSU5UICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vTWVhc3VyZXMgZnJvbSB0aGUgZmlyc3QgZWRnZSBvbiB0aGUgbGluZSB0byB0aGUgZW5kIHBvaW50IG9mIHRoZSBsaW5lLg0KLSAgICBJTUFRX1BPSU5UX1RPX0VER0UgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9NZWFzdXJlcyBmcm9tIHRoZSBzdGFydCBwb2ludCBvZiB0aGUgbGluZSB0byB0aGUgZmlyc3QgZWRnZSBvbiB0aGUgbGluZS4NCi0gICAgSU1BUV9QT0lOVF9UT19QT0lOVCAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vTWVhc3VyZXMgZnJvbSB0aGUgc3RhcnQgcG9pbnQgb2YgdGhlIGxpbmUgdG8gdGhlIGVuZCBwb2ludCBvZiB0aGUgbGluZS4NCi0gICAgSU1BUV9MSU5FX0dBVUdFX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTGluZUdhdWdlTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBEaXJlY3Rpb24zRF9lbnVtIHsNCi0gICAgSU1BUV8zRF9OVyAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSB2aWV3aW5nIGFuZ2xlIGZvciB0aGUgM0QgaW1hZ2UgaXMgZnJvbSB0aGUgbm9ydGh3ZXN0Lg0KLSAgICBJTUFRXzNEX1NXICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIHZpZXdpbmcgYW5nbGUgZm9yIHRoZSAzRCBpbWFnZSBpcyBmcm9tIHRoZSBzb3V0aHdlc3QuDQotICAgIElNQVFfM0RfU0UgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgdmlld2luZyBhbmdsZSBmb3IgdGhlIDNEIGltYWdlIGlzIGZyb20gdGhlIHNvdXRoZWFzdC4NCi0gICAgSU1BUV8zRF9ORSAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSB2aWV3aW5nIGFuZ2xlIGZvciB0aGUgM0QgaW1hZ2UgaXMgZnJvbSB0aGUgbm9ydGhlYXN0Lg0KLSAgICBJTUFRX0RJUkVDVElPTl8zRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRGlyZWN0aW9uM0Q7DQotDQotdHlwZWRlZiBlbnVtIExlYXJuaW5nTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9MRUFSTl9BTEwgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBleHRyYWN0cyBpbmZvcm1hdGlvbiBmb3Igc2hpZnQtIGFuZCByb3RhdGlvbi1pbnZhcmlhbnQgbWF0Y2hpbmcuDQotICAgIElNQVFfTEVBUk5fU0hJRlRfSU5GT1JNQVRJT04gICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gZXh0cmFjdHMgaW5mb3JtYXRpb24gZm9yIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgSU1BUV9MRUFSTl9ST1RBVElPTl9JTkZPUk1BVElPTiA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBleHRyYWN0cyBpbmZvcm1hdGlvbiBmb3Igcm90YXRpb24taW52YXJpYW50IG1hdGNoaW5nLg0KLSAgICBJTUFRX0xFQVJOSU5HX01PREVfU0laRV9HVUFSRCAgID0gMHhGRkZGRkZGRiAgIA0KLX0gTGVhcm5pbmdNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBLZXJuZWxGYW1pbHlfZW51bSB7DQotICAgIElNQVFfR1JBRElFTlRfRkFNSUxZICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGtlcm5lbCBpcyBpbiB0aGUgZ3JhZGllbnQgZmFtaWx5Lg0KLSAgICBJTUFRX0xBUExBQ0lBTl9GQU1JTFkgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBrZXJuZWwgaXMgaW4gdGhlIExhcGxhY2lhbiBmYW1pbHkuDQotICAgIElNQVFfU01PT1RISU5HX0ZBTUlMWSAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGtlcm5lbCBpcyBpbiB0aGUgc21vb3RoaW5nIGZhbWlseS4NCi0gICAgSU1BUV9HQVVTU0lBTl9GQU1JTFkgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUga2VybmVsIGlzIGluIHRoZSBHYXVzc2lhbiBmYW1pbHkuDQotICAgIElNQVFfS0VSTkVMX0ZBTUlMWV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gS2VybmVsRmFtaWx5Ow0KLQ0KLXR5cGVkZWYgZW51bSBJbnRlcnBvbGF0aW9uTWV0aG9kX2VudW0gew0KLSAgICBJTUFRX1pFUk9fT1JERVIgICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhbiBpbnRlcnBvbGF0aW9uIG1ldGhvZCB0aGF0IGludGVycG9sYXRlcyBuZXcgcGl4ZWwgdmFsdWVzIHVzaW5nIHRoZSBuZWFyZXN0IHZhbGlkIG5laWdoYm9yaW5nIHBpeGVsLg0KLSAgICBJTUFRX0JJTElORUFSICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhbiBpbnRlcnBvbGF0aW9uIG1ldGhvZCB0aGF0IGludGVycG9sYXRlcyBuZXcgcGl4ZWwgdmFsdWVzIHVzaW5nIGEgYmlkaXJlY3Rpb25hbCBhdmVyYWdlIG9mIHRoZSBuZWlnaGJvcmluZyBwaXhlbHMuDQotICAgIElNQVFfUVVBRFJBVElDICAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGFuIGludGVycG9sYXRpb24gbWV0aG9kIHRoYXQgaW50ZXJwb2xhdGVzIG5ldyBwaXhlbCB2YWx1ZXMgdXNpbmcgYSBxdWFkcmF0aWMgYXBwcm94aW1hdGluZyBwb2x5bm9taWFsLg0KLSAgICBJTUFRX0NVQklDX1NQTElORSAgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhbiBpbnRlcnBvbGF0aW9uIG1ldGhvZCB0aGF0IGludGVycG9sYXRlcyBuZXcgcGl4ZWwgdmFsdWVzIGJ5IGZpdHRpbmcgdGhlbSB0byBhIGN1YmljIHNwbGluZSBjdXJ2ZSwgd2hlcmUgdGhlIGN1cnZlIGlzIGJhc2VkIG9uIGtub3duIHBpeGVsIHZhbHVlcyBmcm9tIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9CSUxJTkVBUl9GSVhFRCAgICAgICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYW4gaW50ZXJwb2xhdGlvbiBtZXRob2QgdGhhdCBpbnRlcnBvbGF0ZXMgbmV3IHBpeGVsIHZhbHVlcyB1c2luZyBhIGJpZGlyZWN0aW9uYWwgYXZlcmFnZSBvZiB0aGUgbmVpZ2hib3JpbmcgcGl4ZWxzLg0KLSAgICBJTUFRX0lOVEVSUE9MQVRJT05fTUVUSE9EX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBJbnRlcnBvbGF0aW9uTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBJbWFnZVR5cGVfZW51bSB7DQotICAgIElNQVFfSU1BR0VfVTggICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGltYWdlIHR5cGUgaXMgOC1iaXQgdW5zaWduZWQgaW50ZWdlciBncmF5c2NhbGUuDQotICAgIElNQVFfSU1BR0VfVTE2ICAgICAgICAgICAgID0gNywgICAgICAgICAgIC8vVGhlIGltYWdlIHR5cGUgaXMgMTYtYml0IHVuc2lnbmVkIGludGVnZXIgZ3JheXNjYWxlLg0KLSAgICBJTUFRX0lNQUdFX0kxNiAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBpbWFnZSB0eXBlIGlzIDE2LWJpdCBzaWduZWQgaW50ZWdlciBncmF5c2NhbGUuDQotICAgIElNQVFfSU1BR0VfU0dMICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGltYWdlIHR5cGUgaXMgMzItYml0IGZsb2F0aW5nLXBvaW50IGdyYXlzY2FsZS4NCi0gICAgSU1BUV9JTUFHRV9DT01QTEVYICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgaW1hZ2UgdHlwZSBpcyBjb21wbGV4Lg0KLSAgICBJTUFRX0lNQUdFX1JHQiAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBpbWFnZSB0eXBlIGlzIFJHQiBjb2xvci4NCi0gICAgSU1BUV9JTUFHRV9IU0wgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgaW1hZ2UgdHlwZSBpcyBIU0wgY29sb3IuDQotICAgIElNQVFfSU1BR0VfUkdCX1U2NCAgICAgICAgID0gNiwgICAgICAgICAgIC8vVGhlIGltYWdlIHR5cGUgaXMgNjQtYml0IHVuc2lnbmVkIFJHQiBjb2xvci4NCi0gICAgSU1BUV9JTUFHRV9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBJbWFnZVR5cGU7DQotDQotdHlwZWRlZiBlbnVtIEltYWdlRmVhdHVyZU1vZGVfZW51bSB7DQotICAgIElNQVFfQ09MT1JfQU5EX1NIQVBFX0ZFQVRVUkVTID0gMCwgICAgICAgICAgIC8vSW5zdHJ1Y3RzIHRoZSBmdW5jdGlvbiB0byB1c2UgdGhlIGNvbG9yIGFuZCB0aGUgc2hhcGUgZmVhdHVyZXMgb2YgdGhlIGNvbG9yIHBhdHRlcm4uDQotICAgIElNQVFfQ09MT1JfRkVBVFVSRVMgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vSW5zdHJ1Y3RzIHRoZSBmdW5jdGlvbiB0byB1c2UgdGhlIGNvbG9yIGZlYXR1cmVzIG9mIHRoZSBjb2xvciBwYXR0ZXJuLg0KLSAgICBJTUFRX1NIQVBFX0ZFQVRVUkVTICAgICAgICAgICA9IDIsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgZnVuY3Rpb24gdG8gdXNlIHRoZSBzaGFwZSBmZWF0dXJlcyBvZiB0aGUgY29sb3IgcGF0dGVybi4NCi0gICAgSU1BUV9GRUFUVVJFX01PREVfU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBJbWFnZUZlYXR1cmVNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBGb250Q29sb3JfZW51bSB7DQotICAgIElNQVFfV0hJVEUgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRHJhd3MgdGV4dCBpbiB3aGl0ZS4NCi0gICAgSU1BUV9CTEFDSyAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9EcmF3cyB0ZXh0IGluIGJsYWNrLg0KLSAgICBJTUFRX0lOVkVSVCAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL0ludmVydHMgdGhlIHRleHQgcGl4ZWxzLg0KLSAgICBJTUFRX0JMQUNLX09OX1dISVRFICAgICAgICA9IDMsICAgICAgICAgICAvL0RyYXdzIHRleHQgaW4gYmxhY2sgd2l0aCBhIHdoaXRlIGJhY2tncm91bmQuDQotICAgIElNQVFfV0hJVEVfT05fQkxBQ0sgICAgICAgID0gNCwgICAgICAgICAgIC8vRHJhd3MgdGV4dCBpbiB3aGl0ZSB3aXRoIGEgYmxhY2sgYmFja2dyb3VuZC4NCi0gICAgSU1BUV9GT05UX0NPTE9SX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBGb250Q29sb3I7DQotDQotdHlwZWRlZiBlbnVtIEZsaXBBeGlzX2VudW0gew0KLSAgICBJTUFRX0hPUklaT05UQUxfQVhJUyAgICAgID0gMCwgICAgICAgICAgIC8vRmxpcHMgdGhlIGltYWdlIG92ZXIgdGhlIGNlbnRyYWwgaG9yaXpvbnRhbCBheGlzLg0KLSAgICBJTUFRX1ZFUlRJQ0FMX0FYSVMgICAgICAgID0gMSwgICAgICAgICAgIC8vRmxpcHMgdGhlIGltYWdlIG92ZXIgdGhlIGNlbnRyYWwgdmVydGljYWwgYXhpcy4NCi0gICAgSU1BUV9DRU5URVJfQVhJUyAgICAgICAgICA9IDIsICAgICAgICAgICAvL0ZsaXBzIHRoZSBpbWFnZSBvdmVyIGJvdGggdGhlIGNlbnRyYWwgdmVydGljYWwgYW5kIGhvcml6b250YWwgYXhlcy4NCi0gICAgSU1BUV9ESUFHX0xfVE9fUl9BWElTICAgICA9IDMsICAgICAgICAgICAvL0ZsaXBzIHRoZSBpbWFnZSBvdmVyIGFuIGF4aXMgZnJvbSB0aGUgdXBwZXIgbGVmdCBjb3JuZXIgdG8gbG93ZXIgcmlnaHQgY29ybmVyLg0KLSAgICBJTUFRX0RJQUdfUl9UT19MX0FYSVMgICAgID0gNCwgICAgICAgICAgIC8vRmxpcHMgdGhlIGltYWdlIG92ZXIgYW4gYXhpcyBmcm9tIHRoZSB1cHBlciByaWdodCBjb3JuZXIgdG8gbG93ZXIgbGVmdCBjb3JuZXIuDQotICAgIElNQVFfRkxJUF9BWElTX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBGbGlwQXhpczsNCi0NCi10eXBlZGVmIGVudW0gRWRnZVByb2Nlc3NfZW51bSB7DQotICAgIElNQVFfRklSU1QgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gbG9va3MgZm9yIHRoZSBmaXJzdCBlZGdlLg0KLSAgICBJTUFRX0ZJUlNUX0FORF9MQVNUICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGxvb2tzIGZvciB0aGUgZmlyc3QgYW5kIGxhc3QgZWRnZS4NCi0gICAgSU1BUV9BTEwgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBsb29rcyBmb3IgYWxsIGVkZ2VzLg0KLSAgICBJTUFRX0JFU1QgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGxvb2tzIGZvciB0aGUgYmVzdCBlZGdlLg0KLSAgICBJTUFRX0VER0VfUFJPQ0VTU19TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRWRnZVByb2Nlc3M7DQotDQotdHlwZWRlZiBlbnVtIERyYXdNb2RlX2VudW0gew0KLSAgICBJTUFRX0RSQVdfVkFMVUUgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRHJhd3MgdGhlIGJvdW5kYXJ5IG9mIHRoZSBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIHBpeGVsIHZhbHVlLg0KLSAgICBJTUFRX0RSQVdfSU5WRVJUICAgICAgICAgID0gMiwgICAgICAgICAgIC8vSW52ZXJ0cyB0aGUgcGl4ZWwgdmFsdWVzIG9mIHRoZSBib3VuZGFyeSBvZiB0aGUgb2JqZWN0Lg0KLSAgICBJTUFRX1BBSU5UX1ZBTFVFICAgICAgICAgID0gMSwgICAgICAgICAgIC8vRmlsbHMgdGhlIG9iamVjdCB3aXRoIHRoZSBnaXZlbiBwaXhlbCB2YWx1ZS4NCi0gICAgSU1BUV9QQUlOVF9JTlZFUlQgICAgICAgICA9IDMsICAgICAgICAgICAvL0ludmVydHMgdGhlIHBpeGVsIHZhbHVlcyBvZiB0aGUgb2JqZWN0Lg0KLSAgICBJTUFRX0hJR0hMSUdIVF9WQUxVRSAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGZpbGxzIHRoZSBvYmplY3QgYnkgaGlnaGxpZ2h0aW5nIHRoZSBlbmNsb3NlZCBwaXhlbHMgd2l0aCB0aGUgY29sb3Igb2YgdGhlIG9iamVjdC4NCi0gICAgSU1BUV9EUkFXX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IERyYXdNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBOZWFyZXN0TmVpZ2hib3JNZXRyaWNfZW51bSB7DQotICAgIElNQVFfTUVUUklDX01BWElNVU0gICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBtYXhpbXVtIG1ldHJpYy4NCi0gICAgSU1BUV9NRVRSSUNfU1VNICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIHN1bSBtZXRyaWMuDQotICAgIElNQVFfTUVUUklDX0VVQ0xJREVBTiAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBFdWNsaWRlYW4gbWV0cmljLg0KLSAgICBJTUFRX05FQVJFU1RfTkVJR0hCT1JfTUVUUklDX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBOZWFyZXN0TmVpZ2hib3JNZXRyaWM7DQotDQotdHlwZWRlZiBlbnVtIFJlYWRSZXNvbHV0aW9uX2VudW0gew0KLSAgICBJTUFRX0xPV19SRVNPTFVUSU9OICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vQ29uZmlndXJlcyBOSSBWaXNpb24gdG8gdXNlIGxvdyByZXNvbHV0aW9uIGR1cmluZyB0aGUgcmVhZCBwcm9jZXNzLg0KLSAgICBJTUFRX01FRElVTV9SRVNPTFVUSU9OICAgICAgICAgID0gMSwgICAgICAgICAgIC8vQ29uZmlndXJlcyBOSSBWaXNpb24gdG8gdXNlIG1lZGl1bSByZXNvbHV0aW9uIGR1cmluZyB0aGUgcmVhZCBwcm9jZXNzLg0KLSAgICBJTUFRX0hJR0hfUkVTT0xVVElPTiAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vQ29uZmlndXJlcyBOSSBWaXNpb24gdG8gdXNlIGhpZ2ggcmVzb2x1dGlvbiBkdXJpbmcgdGhlIHJlYWQgcHJvY2Vzcy4NCi0gICAgSU1BUV9SRUFEX1JFU09MVVRJT05fU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFJlYWRSZXNvbHV0aW9uOw0KLQ0KLXR5cGVkZWYgZW51bSBUaHJlc2hvbGRNb2RlX2VudW0gew0KLSAgICBJTUFRX0ZJWEVEX1JBTkdFICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9QZXJmb3JtcyB0aHJlc2hvbGRpbmcgdXNpbmcgdGhlIHZhbHVlcyB5b3UgcHJvdmlkZSBpbiB0aGUgbG93VGhyZXNob2xkIGFuZCBoaWdoVGhyZXNob2xkIGVsZW1lbnRzIG9mIE9DUlByb2Nlc3NpbmdPcHRpb25zLg0KLSAgICBJTUFRX0NPTVBVVEVEX1VOSUZPUk0gICAgICAgICAgPSAxLCAgICAgICAgICAgLy9DYWxjdWxhdGVzIGEgc2luZ2xlIHRocmVzaG9sZCB2YWx1ZSBmb3IgdGhlIGVudGlyZSBST0kuDQotICAgIElNQVFfQ09NUFVURURfTElORUFSICAgICAgICAgICA9IDIsICAgICAgICAgICAvL0NhbGN1bGF0ZXMgYSB2YWx1ZSBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBST0ksIGNhbGN1bGF0ZXMgYSB2YWx1ZSBvbiB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgUk9JLCBhbmQgbGluZWFybHkgZmlsbHMgdGhlIG1pZGRsZSB2YWx1ZXMgZnJvbSBsZWZ0IHRvIHJpZ2h0Lg0KLSAgICBJTUFRX0NPTVBVVEVEX05PTkxJTkVBUiAgICAgICAgPSAzLCAgICAgICAgICAgLy9EaXZpZGVzIHRoZSBST0kgaW50byB0aGUgbnVtYmVyIG9mIGJsb2NrcyBzcGVjaWZpZWQgYnkgdGhlIGJsb2NrQ291bnQgZWxlbWVudCBvZiBPQ1JQcm9jZXNzaW5nT3B0aW9ucyBhbmQgY2FsY3VsYXRlcyBhIHRocmVzaG9sZCB2YWx1ZSBmb3IgZWFjaCBibG9jay4NCi0gICAgSU1BUV9USFJFU0hPTERfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gVGhyZXNob2xkTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUmVhZFN0cmF0ZWd5X2VudW0gew0KLSAgICBJTUFRX1JFQURfQUdHUkVTU0lWRSAgICAgICAgICA9IDAsICAgICAgICAgICAvL0NvbmZpZ3VyZXMgTkkgVmlzaW9uIHRvIHBlcmZvcm0gZmV3ZXIgY2hlY2tzIHdoZW4gYW5hbHl6aW5nIG9iamVjdHMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgbWF0Y2ggdHJhaW5lZCBjaGFyYWN0ZXJzLg0KLSAgICBJTUFRX1JFQURfQ09OU0VSVkFUSVZFICAgICAgICA9IDEsICAgICAgICAgICAvL0NvbmZpZ3VyZXMgTkkgVmlzaW9uIHRvIHBlcmZvcm0gbW9yZSBjaGVja3MgdG8gZGV0ZXJtaW5lIGlmIGFuIG9iamVjdCBtYXRjaGVzIGEgdHJhaW5lZCBjaGFyYWN0ZXIuDQotICAgIElNQVFfUkVBRF9TVFJBVEVHWV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gUmVhZFN0cmF0ZWd5Ow0KLQ0KLXR5cGVkZWYgZW51bSBNZWFzdXJlbWVudFR5cGVfZW51bSB7DQotICAgIElNQVFfTVRfQ0VOVEVSX09GX01BU1NfWCAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9YLWNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHJlcHJlc2VudGluZyB0aGUgYXZlcmFnZSBwb3NpdGlvbiBvZiB0aGUgdG90YWwgcGFydGljbGUgbWFzcywgYXNzdW1pbmcgZXZlcnkgcG9pbnQgaW4gdGhlIHBhcnRpY2xlIGhhcyBhIGNvbnN0YW50IGRlbnNpdHkuDQotICAgIElNQVFfTVRfQ0VOVEVSX09GX01BU1NfWSAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9ZLWNvb3JkaW5hdGUgb2YgdGhlIHBvaW50IHJlcHJlc2VudGluZyB0aGUgYXZlcmFnZSBwb3NpdGlvbiBvZiB0aGUgdG90YWwgcGFydGljbGUgbWFzcywgYXNzdW1pbmcgZXZlcnkgcG9pbnQgaW4gdGhlIHBhcnRpY2xlIGhhcyBhIGNvbnN0YW50IGRlbnNpdHkuDQotICAgIElNQVFfTVRfRklSU1RfUElYRUxfWCAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9YLWNvb3JkaW5hdGUgb2YgdGhlIGhpZ2hlc3QsIGxlZnRtb3N0IHBhcnRpY2xlIHBpeGVsLg0KLSAgICBJTUFRX01UX0ZJUlNUX1BJWEVMX1kgICAgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vWS1jb29yZGluYXRlIG9mIHRoZSBoaWdoZXN0LCBsZWZ0bW9zdCBwYXJ0aWNsZSBwaXhlbC4NCi0gICAgSU1BUV9NVF9CT1VORElOR19SRUNUX0xFRlQgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1gtY29vcmRpbmF0ZSBvZiB0aGUgbGVmdG1vc3QgcGFydGljbGUgcG9pbnQuDQotICAgIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9UT1AgICAgICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9ZLWNvb3JkaW5hdGUgb2YgaGlnaGVzdCBwYXJ0aWNsZSBwb2ludC4NCi0gICAgSU1BUV9NVF9CT1VORElOR19SRUNUX1JJR0hUICAgICAgICAgICAgICAgICA9IDYsICAgICAgICAgICAvL1gtY29vcmRpbmF0ZSBvZiB0aGUgcmlnaHRtb3N0IHBhcnRpY2xlIHBvaW50Lg0KLSAgICBJTUFRX01UX0JPVU5ESU5HX1JFQ1RfQk9UVE9NICAgICAgICAgICAgICAgID0gNywgICAgICAgICAgIC8vWS1jb29yZGluYXRlIG9mIHRoZSBsb3dlc3QgcGFydGljbGUgcG9pbnQuDQotICAgIElNQVFfTVRfTUFYX0ZFUkVUX0RJQU1FVEVSX1NUQVJUX1ggICAgICAgICAgPSA4LCAgICAgICAgICAgLy9YLWNvb3JkaW5hdGUgb2YgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIHNlZ21lbnQgY29ubmVjdGluZyB0aGUgdHdvIHBlcmltZXRlciBwb2ludHMgdGhhdCBhcmUgdGhlIGZ1cnRoZXN0IGFwYXJ0Lg0KLSAgICBJTUFRX01UX01BWF9GRVJFVF9ESUFNRVRFUl9TVEFSVF9ZICAgICAgICAgID0gOSwgICAgICAgICAgIC8vWS1jb29yZGluYXRlIG9mIHRoZSBzdGFydCBvZiB0aGUgbGluZSBzZWdtZW50IGNvbm5lY3RpbmcgdGhlIHR3byBwZXJpbWV0ZXIgcG9pbnRzIHRoYXQgYXJlIHRoZSBmdXJ0aGVzdCBhcGFydC4NCi0gICAgSU1BUV9NVF9NQVhfRkVSRVRfRElBTUVURVJfRU5EX1ggICAgICAgICAgICA9IDEwLCAgICAgICAgICAvL1gtY29vcmRpbmF0ZSBvZiB0aGUgZW5kIG9mIHRoZSBsaW5lIHNlZ21lbnQgY29ubmVjdGluZyB0aGUgdHdvIHBlcmltZXRlciBwb2ludHMgdGhhdCBhcmUgdGhlIGZ1cnRoZXN0IGFwYXJ0Lg0KLSAgICBJTUFRX01UX01BWF9GRVJFVF9ESUFNRVRFUl9FTkRfWSAgICAgICAgICAgID0gMTEsICAgICAgICAgIC8vWS1jb29yZGluYXRlIG9mIHRoZSBlbmQgb2YgdGhlIGxpbmUgc2VnbWVudCBjb25uZWN0aW5nIHRoZSB0d28gcGVyaW1ldGVyIHBvaW50cyB0aGF0IGFyZSB0aGUgZnVydGhlc3QgYXBhcnQuDQotICAgIElNQVFfTVRfTUFYX0hPUklaX1NFR01FTlRfTEVOR1RIX0xFRlQgICAgICAgPSAxMiwgICAgICAgICAgLy9YLWNvb3JkaW5hdGUgb2YgdGhlIGxlZnRtb3N0IHBpeGVsIGluIHRoZSBsb25nZXN0IHJvdyBvZiBjb250aWd1b3VzIHBpeGVscyBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfTUFYX0hPUklaX1NFR01FTlRfTEVOR1RIX1JJR0hUICAgICAgPSAxMywgICAgICAgICAgLy9YLWNvb3JkaW5hdGUgb2YgdGhlIHJpZ2h0bW9zdCBwaXhlbCBpbiB0aGUgbG9uZ2VzdCByb3cgb2YgY29udGlndW91cyBwaXhlbHMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX01BWF9IT1JJWl9TRUdNRU5UX0xFTkdUSF9ST1cgICAgICAgID0gMTQsICAgICAgICAgIC8vWS1jb29yZGluYXRlIG9mIGFsbCBvZiB0aGUgcGl4ZWxzIGluIHRoZSBsb25nZXN0IHJvdyBvZiBjb250aWd1b3VzIHBpeGVscyBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9XSURUSCAgICAgICAgICAgICAgICAgPSAxNiwgICAgICAgICAgLy9EaXN0YW5jZSBiZXR3ZWVuIHRoZSB4LWNvb3JkaW5hdGUgb2YgdGhlIGxlZnRtb3N0IHBhcnRpY2xlIHBvaW50IGFuZCB0aGUgeC1jb29yZGluYXRlIG9mIHRoZSByaWdodG1vc3QgcGFydGljbGUgcG9pbnQuDQotICAgIElNQVFfTVRfQk9VTkRJTkdfUkVDVF9IRUlHSFQgICAgICAgICAgICAgICAgPSAxNywgICAgICAgICAgLy9EaXN0YW5jZSBiZXR3ZWVuIHRoZSB5LWNvb3JkaW5hdGUgb2YgaGlnaGVzdCBwYXJ0aWNsZSBwb2ludCBhbmQgdGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgbG93ZXN0IHBhcnRpY2xlIHBvaW50Lg0KLSAgICBJTUFRX01UX0JPVU5ESU5HX1JFQ1RfRElBR09OQUwgICAgICAgICAgICAgID0gMTgsICAgICAgICAgIC8vRGlzdGFuY2UgYmV0d2VlbiBvcHBvc2l0ZSBjb3JuZXJzIG9mIHRoZSBib3VuZGluZyByZWN0YW5nbGUuDQotICAgIElNQVFfTVRfUEVSSU1FVEVSICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOSwgICAgICAgICAgLy9MZW5ndGggb2YgdGhlIG91dGVyIGJvdW5kYXJ5IG9mIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9DT05WRVhfSFVMTF9QRVJJTUVURVIgICAgICAgICAgICAgICA9IDIwLCAgICAgICAgICAvL1BlcmltZXRlciBvZiB0aGUgc21hbGxlc3QgY29udmV4IHBvbHlnb24gY29udGFpbmluZyBhbGwgcG9pbnRzIGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9IT0xFU19QRVJJTUVURVIgICAgICAgICAgICAgICAgICAgICA9IDIxLCAgICAgICAgICAvL1N1bSBvZiB0aGUgcGVyaW1ldGVycyBvZiBlYWNoIGhvbGUgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX01BWF9GRVJFVF9ESUFNRVRFUiAgICAgICAgICAgICAgICAgID0gMjIsICAgICAgICAgIC8vRGlzdGFuY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCBvZiB0aGUgbGluZSBzZWdtZW50IGNvbm5lY3RpbmcgdGhlIHR3byBwZXJpbWV0ZXIgcG9pbnRzIHRoYXQgYXJlIHRoZSBmdXJ0aGVzdCBhcGFydC4NCi0gICAgSU1BUV9NVF9FUVVJVkFMRU5UX0VMTElQU0VfTUFKT1JfQVhJUyAgICAgICA9IDIzLCAgICAgICAgICAvL0xlbmd0aCBvZiB0aGUgbWFqb3IgYXhpcyBvZiB0aGUgZWxsaXBzZSB3aXRoIHRoZSBzYW1lIHBlcmltZXRlciBhbmQgYXJlYSBhcyB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfRVFVSVZBTEVOVF9FTExJUFNFX01JTk9SX0FYSVMgICAgICAgPSAyNCwgICAgICAgICAgLy9MZW5ndGggb2YgdGhlIG1pbm9yIGF4aXMgb2YgdGhlIGVsbGlwc2Ugd2l0aCB0aGUgc2FtZSBwZXJpbWV0ZXIgYW5kIGFyZWEgYXMgdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX0VRVUlWQUxFTlRfRUxMSVBTRV9NSU5PUl9BWElTX0ZFUkVUID0gMjUsICAgICAgICAgIC8vTGVuZ3RoIG9mIHRoZSBtaW5vciBheGlzIG9mIHRoZSBlbGxpcHNlIHdpdGggdGhlIHNhbWUgYXJlYSBhcyB0aGUgcGFydGljbGUsIGFuZCBNYWpvciBBeGlzIGVxdWFsIGluIGxlbmd0aCB0byB0aGUgTWF4IEZlcmV0IERpYW1ldGVyLg0KLSAgICBJTUFRX01UX0VRVUlWQUxFTlRfUkVDVF9MT05HX1NJREUgICAgICAgICAgID0gMjYsICAgICAgICAgIC8vTG9uZ2VzdCBzaWRlIG9mIHRoZSByZWN0YW5nbGUgd2l0aCB0aGUgc2FtZSBwZXJpbWV0ZXIgYW5kIGFyZWEgYXMgdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX0VRVUlWQUxFTlRfUkVDVF9TSE9SVF9TSURFICAgICAgICAgID0gMjcsICAgICAgICAgIC8vU2hvcnRlc3Qgc2lkZSBvZiB0aGUgcmVjdGFuZ2xlIHdpdGggdGhlIHNhbWUgcGVyaW1ldGVyIGFuZCBhcmVhIGFzIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9FUVVJVkFMRU5UX1JFQ1RfRElBR09OQUwgICAgICAgICAgICA9IDI4LCAgICAgICAgICAvL0Rpc3RhbmNlIGJldHdlZW4gb3Bwb3NpdGUgY29ybmVycyBvZiB0aGUgcmVjdGFuZ2xlIHdpdGggdGhlIHNhbWUgcGVyaW1ldGVyIGFuZCBhcmVhIGFzIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9FUVVJVkFMRU5UX1JFQ1RfU0hPUlRfU0lERV9GRVJFVCAgICA9IDI5LCAgICAgICAgICAvL1Nob3J0ZXN0IHNpZGUgb2YgdGhlIHJlY3RhbmdsZSB3aXRoIHRoZSBzYW1lIGFyZWEgYXMgdGhlIHBhcnRpY2xlLCBhbmQgbG9uZ2VzdCBzaWRlIGVxdWFsIGluIGxlbmd0aCB0byB0aGUgTWF4IEZlcmV0IERpYW1ldGVyLg0KLSAgICBJTUFRX01UX0FWRVJBR0VfSE9SSVpfU0VHTUVOVF9MRU5HVEggICAgICAgID0gMzAsICAgICAgICAgIC8vQXZlcmFnZSBsZW5ndGggb2YgYSBob3Jpem9udGFsIHNlZ21lbnQgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX0FWRVJBR0VfVkVSVF9TRUdNRU5UX0xFTkdUSCAgICAgICAgID0gMzEsICAgICAgICAgIC8vQXZlcmFnZSBsZW5ndGggb2YgYSB2ZXJ0aWNhbCBzZWdtZW50IGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9IWURSQVVMSUNfUkFESVVTICAgICAgICAgICAgICAgICAgICA9IDMyLCAgICAgICAgICAvL1RoZSBwYXJ0aWNsZSBhcmVhIGRpdmlkZWQgYnkgdGhlIHBhcnRpY2xlIHBlcmltZXRlci4NCi0gICAgSU1BUV9NVF9XQURERUxfRElTS19ESUFNRVRFUiAgICAgICAgICAgICAgICA9IDMzLCAgICAgICAgICAvL0RpYW1ldGVyIG9mIGEgZGlzayB3aXRoIHRoZSBzYW1lIGFyZWEgYXMgdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX0FSRUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzUsICAgICAgICAgIC8vQXJlYSBvZiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfSE9MRVNfQVJFQSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNiwgICAgICAgICAgLy9TdW0gb2YgdGhlIGFyZWFzIG9mIGVhY2ggaG9sZSBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfUEFSVElDTEVfQU5EX0hPTEVTX0FSRUEgICAgICAgICAgICAgPSAzNywgICAgICAgICAgLy9BcmVhIG9mIGEgcGFydGljbGUgdGhhdCBjb21wbGV0ZWx5IGNvdmVycyB0aGUgaW1hZ2UuDQotICAgIElNQVFfTVRfQ09OVkVYX0hVTExfQVJFQSAgICAgICAgICAgICAgICAgICAgPSAzOCwgICAgICAgICAgLy9BcmVhIG9mIHRoZSBzbWFsbGVzdCBjb252ZXggcG9seWdvbiBjb250YWluaW5nIGFsbCBwb2ludHMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX0lNQUdFX0FSRUEgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzksICAgICAgICAgIC8vQXJlYSBvZiB0aGUgaW1hZ2UuDQotICAgIElNQVFfTVRfTlVNQkVSX09GX0hPTEVTICAgICAgICAgICAgICAgICAgICAgPSA0MSwgICAgICAgICAgLy9OdW1iZXIgb2YgaG9sZXMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX05VTUJFUl9PRl9IT1JJWl9TRUdNRU5UUyAgICAgICAgICAgID0gNDIsICAgICAgICAgIC8vTnVtYmVyIG9mIGhvcml6b250YWwgc2VnbWVudHMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX05VTUJFUl9PRl9WRVJUX1NFR01FTlRTICAgICAgICAgICAgID0gNDMsICAgICAgICAgIC8vTnVtYmVyIG9mIHZlcnRpY2FsIHNlZ21lbnRzIGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9PUklFTlRBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ1LCAgICAgICAgICAvL1RoZSBhbmdsZSBvZiB0aGUgbGluZSB0aGF0IHBhc3NlcyB0aHJvdWdoIHRoZSBwYXJ0aWNsZSBDZW50ZXIgb2YgTWFzcyBhYm91dCB3aGljaCB0aGUgcGFydGljbGUgaGFzIHRoZSBsb3dlc3QgbW9tZW50IG9mIGluZXJ0aWEuDQotICAgIElNQVFfTVRfTUFYX0ZFUkVUX0RJQU1FVEVSX09SSUVOVEFUSU9OICAgICAgPSA0NiwgICAgICAgICAgLy9UaGUgYW5nbGUgb2YgdGhlIGxpbmUgc2VnbWVudCBjb25uZWN0aW5nIHRoZSB0d28gcGVyaW1ldGVyIHBvaW50cyB0aGF0IGFyZSB0aGUgZnVydGhlc3QgYXBhcnQuDQotICAgIElNQVFfTVRfQVJFQV9CWV9JTUFHRV9BUkVBICAgICAgICAgICAgICAgICAgPSA0OCwgICAgICAgICAgLy9QZXJjZW50YWdlIG9mIHRoZSBwYXJ0aWNsZSBBcmVhIGNvdmVyaW5nIHRoZSBJbWFnZSBBcmVhLg0KLSAgICBJTUFRX01UX0FSRUFfQllfUEFSVElDTEVfQU5EX0hPTEVTX0FSRUEgICAgID0gNDksICAgICAgICAgIC8vUGVyY2VudGFnZSBvZiB0aGUgcGFydGljbGUgQXJlYSBpbiByZWxhdGlvbiB0byBpdHMgUGFydGljbGUgYW5kIEhvbGVzIEFyZWEuDQotICAgIElNQVFfTVRfUkFUSU9fT0ZfRVFVSVZBTEVOVF9FTExJUFNFX0FYRVMgICAgPSA1MCwgICAgICAgICAgLy9FcXVpdmFsZW50IEVsbGlwc2UgTWFqb3IgQXhpcyBkaXZpZGVkIGJ5IEVxdWl2YWxlbnQgRWxsaXBzZSBNaW5vciBBeGlzLg0KLSAgICBJTUFRX01UX1JBVElPX09GX0VRVUlWQUxFTlRfUkVDVF9TSURFUyAgICAgID0gNTEsICAgICAgICAgIC8vRXF1aXZhbGVudCBSZWN0IExvbmcgU2lkZSBkaXZpZGVkIGJ5IEVxdWl2YWxlbnQgUmVjdCBTaG9ydCBTaWRlLg0KLSAgICBJTUFRX01UX0VMT05HQVRJT05fRkFDVE9SICAgICAgICAgICAgICAgICAgID0gNTMsICAgICAgICAgIC8vTWF4IEZlcmV0IERpYW1ldGVyIGRpdmlkZWQgYnkgRXF1aXZhbGVudCBSZWN0IFNob3J0IFNpZGUgKEZlcmV0KS4NCi0gICAgSU1BUV9NVF9DT01QQUNUTkVTU19GQUNUT1IgICAgICAgICAgICAgICAgICA9IDU0LCAgICAgICAgICAvL0FyZWEgZGl2aWRlZCBieSB0aGUgcHJvZHVjdCBvZiBCb3VuZGluZyBSZWN0IFdpZHRoIGFuZCBCb3VuZGluZyBSZWN0IEhlaWdodC4NCi0gICAgSU1BUV9NVF9IRVlXT09EX0NJUkNVTEFSSVRZX0ZBQ1RPUiAgICAgICAgICA9IDU1LCAgICAgICAgICAvL1BlcmltZXRlciBkaXZpZGVkIGJ5IHRoZSBjaXJjdW1mZXJlbmNlIG9mIGEgY2lyY2xlIHdpdGggdGhlIHNhbWUgYXJlYS4NCi0gICAgSU1BUV9NVF9UWVBFX0ZBQ1RPUiAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2LCAgICAgICAgICAvL0ZhY3RvciByZWxhdGluZyBhcmVhIHRvIG1vbWVudCBvZiBpbmVydGlhLg0KLSAgICBJTUFRX01UX1NVTV9YICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTgsICAgICAgICAgIC8vVGhlIHN1bSBvZiBhbGwgeC1jb29yZGluYXRlcyBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfU1VNX1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1OSwgICAgICAgICAgLy9UaGUgc3VtIG9mIGFsbCB5LWNvb3JkaW5hdGVzIGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9TVU1fWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYwLCAgICAgICAgICAvL1RoZSBzdW0gb2YgYWxsIHgtY29vcmRpbmF0ZXMgc3F1YXJlZCBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfU1VNX1hZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MSwgICAgICAgICAgLy9UaGUgc3VtIG9mIGFsbCB4LWNvb3JkaW5hdGVzIHRpbWVzIHktY29vcmRpbmF0ZXMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX1NVTV9ZWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjIsICAgICAgICAgIC8vVGhlIHN1bSBvZiBhbGwgeS1jb29yZGluYXRlcyBzcXVhcmVkIGluIHRoZSBwYXJ0aWNsZS4NCi0gICAgSU1BUV9NVF9TVU1fWFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzLCAgICAgICAgICAvL1RoZSBzdW0gb2YgYWxsIHgtY29vcmRpbmF0ZXMgY3ViZWQgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX1NVTV9YWFkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQsICAgICAgICAgIC8vVGhlIHN1bSBvZiBhbGwgeC1jb29yZGluYXRlcyBzcXVhcmVkIHRpbWVzIHktY29vcmRpbmF0ZXMgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX1NVTV9YWVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsICAgICAgICAgIC8vVGhlIHN1bSBvZiBhbGwgeC1jb29yZGluYXRlcyB0aW1lcyB5LWNvb3JkaW5hdGVzIHNxdWFyZWQgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBJTUFRX01UX1NVTV9ZWVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsICAgICAgICAgIC8vVGhlIHN1bSBvZiBhbGwgeS1jb29yZGluYXRlcyBjdWJlZCBpbiB0aGUgcGFydGljbGUuDQotICAgIElNQVFfTVRfTU9NRU5UX09GX0lORVJUSUFfWFggICAgICAgICAgICAgICAgPSA2OCwgICAgICAgICAgLy9UaGUgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHgtZGlyZWN0aW9uIHR3aWNlLg0KLSAgICBJTUFRX01UX01PTUVOVF9PRl9JTkVSVElBX1hZICAgICAgICAgICAgICAgID0gNjksICAgICAgICAgIC8vVGhlIG1vbWVudCBvZiBpbmVydGlhIGluIHRoZSB4IGFuZCB5IGRpcmVjdGlvbnMuDQotICAgIElNQVFfTVRfTU9NRU5UX09GX0lORVJUSUFfWVkgICAgICAgICAgICAgICAgPSA3MCwgICAgICAgICAgLy9UaGUgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHktZGlyZWN0aW9uIHR3aWNlLg0KLSAgICBJTUFRX01UX01PTUVOVF9PRl9JTkVSVElBX1hYWCAgICAgICAgICAgICAgID0gNzEsICAgICAgICAgIC8vVGhlIG1vbWVudCBvZiBpbmVydGlhIGluIHRoZSB4LWRpcmVjdGlvbiB0aHJlZSB0aW1lcy4NCi0gICAgSU1BUV9NVF9NT01FTlRfT0ZfSU5FUlRJQV9YWFkgICAgICAgICAgICAgICA9IDcyLCAgICAgICAgICAvL1RoZSBtb21lbnQgb2YgaW5lcnRpYSBpbiB0aGUgeC1kaXJlY3Rpb24gdHdpY2UgYW5kIHRoZSB5LWRpcmVjdGlvbiBvbmNlLg0KLSAgICBJTUFRX01UX01PTUVOVF9PRl9JTkVSVElBX1hZWSAgICAgICAgICAgICAgID0gNzMsICAgICAgICAgIC8vVGhlIG1vbWVudCBvZiBpbmVydGlhIGluIHRoZSB4LWRpcmVjdGlvbiBvbmNlIGFuZCB0aGUgeS1kaXJlY3Rpb24gdHdpY2UuDQotICAgIElNQVFfTVRfTU9NRU5UX09GX0lORVJUSUFfWVlZICAgICAgICAgICAgICAgPSA3NCwgICAgICAgICAgLy9UaGUgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHktZGlyZWN0aW9uIHRocmVlIHRpbWVzLg0KLSAgICBJTUFRX01UX05PUk1fTU9NRU5UX09GX0lORVJUSUFfWFggICAgICAgICAgID0gNzUsICAgICAgICAgIC8vVGhlIG5vcm1hbGl6ZWQgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHgtZGlyZWN0aW9uIHR3aWNlLg0KLSAgICBJTUFRX01UX05PUk1fTU9NRU5UX09GX0lORVJUSUFfWFkgICAgICAgICAgID0gNzYsICAgICAgICAgIC8vVGhlIG5vcm1hbGl6ZWQgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHgtIGFuZCB5LWRpcmVjdGlvbnMuDQotICAgIElNQVFfTVRfTk9STV9NT01FTlRfT0ZfSU5FUlRJQV9ZWSAgICAgICAgICAgPSA3NywgICAgICAgICAgLy9UaGUgbm9ybWFsaXplZCBtb21lbnQgb2YgaW5lcnRpYSBpbiB0aGUgeS1kaXJlY3Rpb24gdHdpY2UuDQotICAgIElNQVFfTVRfTk9STV9NT01FTlRfT0ZfSU5FUlRJQV9YWFggICAgICAgICAgPSA3OCwgICAgICAgICAgLy9UaGUgbm9ybWFsaXplZCBtb21lbnQgb2YgaW5lcnRpYSBpbiB0aGUgeC1kaXJlY3Rpb24gdGhyZWUgdGltZXMuDQotICAgIElNQVFfTVRfTk9STV9NT01FTlRfT0ZfSU5FUlRJQV9YWFkgICAgICAgICAgPSA3OSwgICAgICAgICAgLy9UaGUgbm9ybWFsaXplZCBtb21lbnQgb2YgaW5lcnRpYSBpbiB0aGUgeC1kaXJlY3Rpb24gdHdpY2UgYW5kIHRoZSB5LWRpcmVjdGlvbiBvbmNlLg0KLSAgICBJTUFRX01UX05PUk1fTU9NRU5UX09GX0lORVJUSUFfWFlZICAgICAgICAgID0gODAsICAgICAgICAgIC8vVGhlIG5vcm1hbGl6ZWQgbW9tZW50IG9mIGluZXJ0aWEgaW4gdGhlIHgtZGlyZWN0aW9uIG9uY2UgYW5kIHRoZSB5LWRpcmVjdGlvbiB0d2ljZS4NCi0gICAgSU1BUV9NVF9OT1JNX01PTUVOVF9PRl9JTkVSVElBX1lZWSAgICAgICAgICA9IDgxLCAgICAgICAgICAvL1RoZSBub3JtYWxpemVkIG1vbWVudCBvZiBpbmVydGlhIGluIHRoZSB5LWRpcmVjdGlvbiB0aHJlZSB0aW1lcy4NCi0gICAgSU1BUV9NVF9IVV9NT01FTlRfMSAgICAgICAgICAgICAgICAgICAgICAgICA9IDgyLCAgICAgICAgICAvL1RoZSBmaXJzdCBIdSBtb21lbnQuDQotICAgIElNQVFfTVRfSFVfTU9NRU5UXzIgICAgICAgICAgICAgICAgICAgICAgICAgPSA4MywgICAgICAgICAgLy9UaGUgc2Vjb25kIEh1IG1vbWVudC4NCi0gICAgSU1BUV9NVF9IVV9NT01FTlRfMyAgICAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAgICAgICAgICAvL1RoZSB0aGlyZCBIdSBtb21lbnQuDQotICAgIElNQVFfTVRfSFVfTU9NRU5UXzQgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NSwgICAgICAgICAgLy9UaGUgZm91cnRoIEh1IG1vbWVudC4NCi0gICAgSU1BUV9NVF9IVV9NT01FTlRfNSAgICAgICAgICAgICAgICAgICAgICAgICA9IDg2LCAgICAgICAgICAvL1RoZSBmaWZ0aCBIdSBtb21lbnQuDQotICAgIElNQVFfTVRfSFVfTU9NRU5UXzYgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NywgICAgICAgICAgLy9UaGUgc2l4dGggSHUgbW9tZW50Lg0KLSAgICBJTUFRX01UX0hVX01PTUVOVF83ICAgICAgICAgICAgICAgICAgICAgICAgID0gODgsICAgICAgICAgIC8vVGhlIHNldmVudGggSHUgbW9tZW50Lg0KLSAgICBJTUFRX01FQVNVUkVNRU5UX1RZUEVfU0laRV9HVUFSRCAgICAgICAgICAgID0gMHhGRkZGRkZGRiAgIA0KLX0gTWVhc3VyZW1lbnRUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBHZW9tZXRyaWNNYXRjaGluZ01vZGVfZW51bSB7DQotICAgIElNQVFfR0VPTUVUUklDX01BVENIX1NISUZUX0lOVkFSSUFOVCAgICAgPSAwLCAgICAgICAgICAgLy9TZWFyY2hlcyBmb3Igb2NjdXJyZW5jZXMgb2YgdGhlIHBhdHRlcm4gaW4gdGhlIGltYWdlLCBhc3N1bWluZyB0aGF0IHRoZSBwYXR0ZXJuIGlzIG5vdCByb3RhdGVkIG1vcmUgdGhhbiBwbHVzIG9yIG1pbnVzIDUgZGVncmVlcy4NCi0gICAgSU1BUV9HRU9NRVRSSUNfTUFUQ0hfUk9UQVRJT05fSU5WQVJJQU5UICA9IDEsICAgICAgICAgICAvL1NlYXJjaGVzIGZvciBvY2N1cnJlbmNlcyBvZiB0aGUgcGF0dGVybiBpbiB0aGUgaW1hZ2Ugd2l0aCByZWR1Y2VkIHJlc3RyaWN0aW9uIG9uIHRoZSByb3RhdGlvbiBvZiB0aGUgcGF0dGVybi4NCi0gICAgSU1BUV9HRU9NRVRSSUNfTUFUQ0hfU0NBTEVfSU5WQVJJQU5UICAgICA9IDIsICAgICAgICAgICAvL1NlYXJjaGVzIGZvciBvY2N1cnJlbmNlcyBvZiB0aGUgcGF0dGVybiBpbiB0aGUgaW1hZ2Ugd2l0aCByZWR1Y2VkIHJlc3RyaWN0aW9uIG9uIHRoZSBzaXplIG9mIHRoZSBwYXR0ZXJuLg0KLSAgICBJTUFRX0dFT01FVFJJQ19NQVRDSF9PQ0NMVVNJT05fSU5WQVJJQU5UID0gNCwgICAgICAgICAgIC8vU2VhcmNoZXMgZm9yIG9jY3VycmVuY2VzIG9mIHRoZSBwYXR0ZXJuIGluIHRoZSBpbWFnZSwgYWxsb3dpbmcgZm9yIGEgc3BlY2lmaWVkIHBlcmNlbnRhZ2Ugb2YgdGhlIHBhdHRlcm4gdG8gYmUgb2NjbHVkZWQuDQotICAgIElNQVFfR0VPTUVUUklDX01BVENISU5HX01PREVfU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBHZW9tZXRyaWNNYXRjaGluZ01vZGU7DQotDQotdHlwZWRlZiBlbnVtIEJ1dHRvbkxhYmVsX2VudW0gew0KLSAgICBJTUFRX0JVVFRPTl9PSyAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGxhYmVsICJPSyIuDQotICAgIElNQVFfQlVUVE9OX1NBVkUgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgbGFiZWwgIlNhdmUiLg0KLSAgICBJTUFRX0JVVFRPTl9TRUxFQ1QgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGxhYmVsICJTZWxlY3QiLg0KLSAgICBJTUFRX0JVVFRPTl9MT0FEICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGxhYmVsICJMb2FkIi4NCi0gICAgSU1BUV9CVVRUT05fTEFCRUxfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEJ1dHRvbkxhYmVsOw0KLQ0KLXR5cGVkZWYgZW51bSBOZWFyZXN0TmVpZ2hib3JNZXRob2RfZW51bSB7DQotICAgIElNQVFfTUlOSU1VTV9NRUFOX0RJU1RBTkNFICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBtaW5pbXVtIG1lYW4gZGlzdGFuY2UgbWV0aG9kLg0KLSAgICBJTUFRX0tfTkVBUkVTVF9ORUlHSEJPUiAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgay1uZWFyZXN0IG5laWdoYm9yIG1ldGhvZC4NCi0gICAgSU1BUV9ORUFSRVNUX1BST1RPVFlQRSAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIG5lYXJlc3QgcHJvdG90eXBlIG1ldGhvZC4NCi0gICAgSU1BUV9ORUFSRVNUX05FSUdIQk9SX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTmVhcmVzdE5laWdoYm9yTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBRUk1pcnJvck1vZGVfZW51bSB7DQotICAgIElNQVFfUVJfTUlSUk9SX01PREVfQVVUT19ERVRFQ1QgPSAtMiwgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2hvdWxkIGRldGVybWluZSBpZiB0aGUgUVIgY29kZSBpcyBtaXJyb3JlZC4NCi0gICAgSU1BUV9RUl9NSVJST1JfTU9ERV9NSVJST1JFRCAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG91bGQgZXhwZWN0IHRoZSBRUiBjb2RlIHRvIGFwcGVhciBtaXJyb3JlZC4NCi0gICAgSU1BUV9RUl9NSVJST1JfTU9ERV9OT1JNQUwgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG91bGQgZXhwZWN0IHRoZSBRUiBjb2RlIHRvIGFwcGVhciBub3JtYWwuDQotICAgIElNQVFfUVJfTUlSUk9SX01PREVfU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBRUk1pcnJvck1vZGU7DQotDQotdHlwZWRlZiBlbnVtIENvbHVtblByb2Nlc3NpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX0FWRVJBR0VfQ09MVU1OUyAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL0F2ZXJhZ2VzIHRoZSBkYXRhIGV4dHJhY3RlZCBmb3IgZWRnZSBkZXRlY3Rpb24uDQotICAgIElNQVFfTUVESUFOX0NPTFVNTlMgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGFrZXMgdGhlIG1lZGlhbiBvZiB0aGUgZGF0YSBleHRyYWN0ZWQgZm9yIGVkZ2UgZGV0ZWN0aW9uLg0KLSAgICBJTUFRX0NPTFVNTl9QUk9DRVNTSU5HX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IENvbHVtblByb2Nlc3NpbmdNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBGaW5kUmVmZXJlbmNlRGlyZWN0aW9uX2VudW0gew0KLSAgICBJTUFRX0xFRlRfVE9fUklHSFRfRElSRUNUICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU2VhcmNoZXMgZnJvbSB0aGUgbGVmdCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgZm9yIGEgZGlyZWN0IGF4aXMuDQotICAgIElNQVFfTEVGVF9UT19SSUdIVF9JTkRJUkVDVCAgICAgICAgPSAxLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHNlYXJjaCBhcmVhIHRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSBmb3IgYW4gaW5kaXJlY3QgYXhpcy4NCi0gICAgSU1BUV9UT1BfVE9fQk9UVE9NX0RJUkVDVCAgICAgICAgICA9IDIsICAgICAgICAgICAvL1NlYXJjaGVzIGZyb20gdGhlIHRvcCBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2VhcmNoIGFyZWEgZm9yIGEgZGlyZWN0IGF4aXMuDQotICAgIElNQVFfVE9QX1RPX0JPVFRPTV9JTkRJUkVDVCAgICAgICAgPSAzLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSB0b3Agb2YgdGhlIHNlYXJjaCBhcmVhIHRvIHRoZSBib3R0b20gb2YgdGhlIHNlYXJjaCBhcmVhIGZvciBhbiBpbmRpcmVjdCBheGlzLg0KLSAgICBJTUFRX1JJR0hUX1RPX0xFRlRfRElSRUNUICAgICAgICAgID0gNCwgICAgICAgICAgIC8vU2VhcmNoZXMgZnJvbSB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGxlZnQgc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgZm9yIGEgZGlyZWN0IGF4aXMuDQotICAgIElNQVFfUklHSFRfVE9fTEVGVF9JTkRJUkVDVCAgICAgICAgPSA1LCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSB0byB0aGUgbGVmdCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSBmb3IgYW4gaW5kaXJlY3QgYXhpcy4NCi0gICAgSU1BUV9CT1RUT01fVE9fVE9QX0RJUkVDVCAgICAgICAgICA9IDYsICAgICAgICAgICAvL1NlYXJjaGVzIGZyb20gdGhlIGJvdHRvbSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIHRvcCBvZiB0aGUgc2VhcmNoIGFyZWEgZm9yIGEgZGlyZWN0IGF4aXMuDQotICAgIElNQVFfQk9UVE9NX1RPX1RPUF9JTkRJUkVDVCAgICAgICAgPSA3LCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSBib3R0b20gb2YgdGhlIHNlYXJjaCBhcmVhIHRvIHRoZSB0b3Agb2YgdGhlIHNlYXJjaCBhcmVhIGZvciBhbiBpbmRpcmVjdCBheGlzLg0KLSAgICBJTUFRX0ZJTkRfQ09PUkRfU1lTX0RJUl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRmluZFJlZmVyZW5jZURpcmVjdGlvbjsNCi0NCi10eXBlZGVmIGVudW0gTXVsdGljb3JlT3BlcmF0aW9uX2VudW0gew0KLSAgICBJTUFRX0dFVF9DT1JFUyAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgcHJvY2Vzc29yIGNvcmVzIE5JIFZpc2lvbiBpcyBjdXJyZW50bHkgdXNpbmcuDQotICAgIElNQVFfU0VUX0NPUkVTICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBwcm9jZXNzb3IgY29yZXMgZm9yIE5JIFZpc2lvbiB0byB1c2UuDQotICAgIElNQVFfVVNFX01BWF9BVkFJTEFCTEUgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVXNlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhdmFpbGFibGUgcHJvY2Vzc29yIGNvcmVzLg0KLSAgICBJTUFRX01VTFRJQ09SRV9PUEVSQVRJT05fU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IE11bHRpY29yZU9wZXJhdGlvbjsNCi0NCi10eXBlZGVmIGVudW0gR3JvdXBCZWhhdmlvcl9lbnVtIHsNCi0gICAgSU1BUV9HUk9VUF9DTEVBUiAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU2V0cyB0aGUgYmVoYXZpb3Igb2YgdGhlIG92ZXJsYXkgZ3JvdXAgdG8gY2xlYXIgdGhlIGN1cnJlbnQgc2V0dGluZ3Mgd2hlbiBhbiBpbWFnZSBpcyB0cmFuc2Zvcm1lZC4NCi0gICAgSU1BUV9HUk9VUF9LRUVQICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU2V0cyB0aGUgYmVoYXZpb3Igb2YgdGhlIG92ZXJsYXkgZ3JvdXAgdG8ga2VlcCB0aGUgY3VycmVudCBzZXR0aW5ncyB3aGVuIGFuIGltYWdlIGlzIHRyYW5zZm9ybWVkLg0KLSAgICBJTUFRX0dST1VQX1RSQU5TRk9STSAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9TZXRzIHRoZSBiZWhhdmlvciBvZiB0aGUgb3ZlcmxheSBncm91cCB0byB0cmFuc2Zvcm0gd2l0aCB0aGUgaW1hZ2UuDQotICAgIElNQVFfR1JPVVBfQkVIQVZJT1JfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEdyb3VwQmVoYXZpb3I7DQotDQotdHlwZWRlZiBlbnVtIFFSRGltZW5zaW9uc19lbnVtIHsNCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TX0FVVE9fREVURUNUID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgYXV0b21hdGljYWxseSBkZXRlcm1pbmUgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMXgxMSAgICAgICA9IDExLCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMSB4IDExLg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTN4MTMgICAgICAgPSAxMywgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTMgeCAxMy4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzE1eDE1ICAgICAgID0gMTUsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDE1IHggMTUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xN3gxNyAgICAgICA9IDE3LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNyB4IDE3Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMjF4MjEgICAgICAgPSAyMSwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMjEgeCAyMS4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzI1eDI1ICAgICAgID0gMjUsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDI1IHggMjUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18yOXgyOSAgICAgICA9IDI5LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAyOSB4IDI5Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMzN4MzMgICAgICAgPSAzMywgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMzMgeCAzMy4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzM3eDM3ICAgICAgID0gMzcsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDM3IHggMzcuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU180MXg0MSAgICAgICA9IDQxLCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyA0MSB4IDQxLg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfNDV4NDUgICAgICAgPSA0NSwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgNDUgeCA0NS4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzQ5eDQ5ICAgICAgID0gNDksICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDQ5IHggNDkuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU181M3g1MyAgICAgICA9IDUzLCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyA1MyB4IDUzLg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfNTd4NTcgICAgICAgPSA1NywgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgNTcgeCA1Ny4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzYxeDYxICAgICAgID0gNjEsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDYxIHggNjEuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU182NXg2NSAgICAgICA9IDY1LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyA2NSB4IDY1Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfNjl4NjkgICAgICAgPSA2OSwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgNjkgeCA2OS4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzczeDczICAgICAgID0gNzMsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDczIHggNzMuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU183N3g3NyAgICAgICA9IDc3LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyA3NyB4IDc3Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfODF4ODEgICAgICAgPSA4MSwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgODEgeCA4MS4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzg1eDg1ICAgICAgID0gODUsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDg1IHggODUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU184OXg4OSAgICAgICA9IDg5LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyA4OSB4IDg5Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfOTN4OTMgICAgICAgPSA5MywgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgOTMgeCA5My4NCi0gICAgSU1BUV9RUl9ESU1FTlNJT05TXzk3eDk3ICAgICAgID0gOTcsICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBRUiBjb2RlIGFzIDk3IHggOTcuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMDF4MTAxICAgICA9IDEwMSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMDEgeCAxMDEuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMDV4MTA1ICAgICA9IDEwNSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMDUgeCAxMDUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMDl4MTA5ICAgICA9IDEwOSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMDkgeCAxMDkuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMTN4MTEzICAgICA9IDExMywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMTMgeCAxMTMuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMTd4MTE3ICAgICA9IDExNywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMTcgeCAxMTcuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMjF4MTIxICAgICA9IDEyMSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMjEgeCAxMjEuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMjV4MTI1ICAgICA9IDEyNSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMjUgeCAxMjUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMjl4MTI5ICAgICA9IDEyOSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMjkgeCAxMjkuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMzN4MTMzICAgICA9IDEzMywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMzMgeCAxMzMuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xMzd4MTM3ICAgICA9IDEzNywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxMzcgeCAxMzcuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xNDF4MTQxICAgICA9IDE0MSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNDEgeCAxNDEuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xNDV4MTQ1ICAgICA9IDE0NSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNDUgeCAxNDUuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xNDl4MTQ5ICAgICA9IDE0OSwgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNDkgeCAxNDkuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xNTN4MTUzICAgICA9IDE1MywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNTMgeCAxNTMuDQotICAgIElNQVFfUVJfRElNRU5TSU9OU18xNTd4MTU3ICAgICA9IDE1NywgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgUVIgY29kZSBhcyAxNTcgeCAxNTM3Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTYxeDE2MSAgICAgPSAxNjEsICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTYxIHggMTYxLg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTY1eDE2NSAgICAgPSAxNjUsICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTY1IHggMTY1Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTY5eDE2OSAgICAgPSAxNjksICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTY5IHggMTY5Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTczeDE3MyAgICAgPSAxNzMsICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTczIHggMTczLg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfMTc3eDE3NyAgICAgPSAxNzcsICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIFFSIGNvZGUgYXMgMTc3IHggMTc3Lg0KLSAgICBJTUFRX1FSX0RJTUVOU0lPTlNfU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBRUkRpbWVuc2lvbnM7DQotDQotdHlwZWRlZiBlbnVtIFFSQ2VsbEZpbHRlck1vZGVfZW51bSB7DQotICAgIElNQVFfUVJfQ0VMTF9GSUxURVJfTU9ERV9BVVRPX0RFVEVDVCAgICAgICA9IC0yLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB3aWxsIHRyeSBhbGwgZmlsdGVyIG1vZGVzIGFuZCB1c2VzIHRoZSBvbmUgdGhhdCBkZWNvZGVzIHRoZSBRUiBjb2RlIHdpdGhpbiB0aGUgZmV3ZXN0IGl0ZXJhdGlvbnMgYW5kIHV0aWxpemluZyB0aGUgbGVhc3QgYW1vdW50IG9mIGVycm9yIGNvcnJlY3Rpb24uDQotICAgIElNQVFfUVJfQ0VMTF9GSUxURVJfTU9ERV9BVkVSQUdFICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZXRzIHRoZSBwaXhlbCB2YWx1ZSBmb3IgdGhlIGNlbGwgdG8gdGhlIGF2ZXJhZ2Ugb2YgdGhlIHNhbXBsZWQgcGl4ZWxzLg0KLSAgICBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfTUVESUFOICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBtZWRpYW4gb2YgdGhlIHNhbXBsZWQgcGl4ZWxzLg0KLSAgICBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfQ0VOVFJBTF9BVkVSQUdFICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBhdmVyYWdlIG9mIHRoZSBwaXhlbHMgaW4gdGhlIGNlbnRlciBvZiB0aGUgY2VsbCBzYW1wbGUuDQotICAgIElNQVFfUVJfQ0VMTF9GSUxURVJfTU9ERV9ISUdIX0FWRVJBR0UgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZXRzIHRoZSBwaXhlbCB2YWx1ZSBmb3IgdGhlIGNlbGwgdG8gdGhlIGF2ZXJhZ2UgdmFsdWUgb2YgdGhlIGhhbGYgb2YgdGhlIHNhbXBsZWQgcGl4ZWxzIHdpdGggdGhlIGhpZ2hlc3QgcGl4ZWwgdmFsdWVzLg0KLSAgICBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfTE9XX0FWRVJBR0UgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBhdmVyYWdlIHZhbHVlIG9mIHRoZSBoYWxmIG9mIHRoZSBzYW1wbGVkIHBpeGVscyB3aXRoIHRoZSBsb3dlc3QgcGl4ZWwgdmFsdWVzLg0KLSAgICBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfVkVSWV9ISUdIX0FWRVJBR0UgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBhdmVyYWdlIHZhbHVlIG9mIHRoZSBuaW50aCBvZiB0aGUgc2FtcGxlZCBwaXhlbHMgd2l0aCB0aGUgaGlnaGVzdCBwaXhlbCB2YWx1ZXMuDQotICAgIElNQVFfUVJfQ0VMTF9GSUxURVJfTU9ERV9WRVJZX0xPV19BVkVSQUdFICA9IDYsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZXRzIHRoZSBwaXhlbCB2YWx1ZSBmb3IgdGhlIGNlbGwgdG8gdGhlIGF2ZXJhZ2UgdmFsdWUgb2YgdGhlIG5pbnRoIG9mIHRoZSBzYW1wbGVkIHBpeGVscyB3aXRoIHRoZSBsb3dlc3QgcGl4ZWwgdmFsdWVzLg0KLSAgICBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfQUxMICAgICAgICAgICAgICAgPSA4LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdHJpZXMgZWFjaCBmaWx0ZXIgbW9kZSwgc3RhcnRpbmcgd2l0aCBJTUFRX1FSX0NFTExfRklMVEVSX01PREVfQVZFUkFHRSBhbmQgZW5kaW5nIHdpdGggSU1BUV9RUl9DRUxMX0ZJTFRFUl9NT0RFX1ZFUllfTE9XX0FWRVJBR0UsIHN0b3BwaW5nIG9uY2UgYSBmaWx0ZXIgbW9kZSBkZWNvZGVzIGNvcnJlY3RseS4NCi0gICAgSU1BUV9RUl9DRUxMX0ZJTFRFUl9NT0RFX1NJWkVfR1VBUkQgICAgICAgID0gMHhGRkZGRkZGRiAgIA0KLX0gUVJDZWxsRmlsdGVyTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUm91bmRpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX1JPVU5ESU5HX01PREVfT1BUSU1JWkUgICA9IDAsICAgICAgICAgICAvL1JvdW5kcyB0aGUgcmVzdWx0IG9mIGEgZGl2aXNpb24gdXNpbmcgdGhlIGJlc3QgYXZhaWxhYmxlIG1ldGhvZC4NCi0gICAgSU1BUV9ST1VORElOR19NT0RFX1RSVU5DQVRFICAgPSAxLCAgICAgICAgICAgLy9UcnVuY2F0ZXMgdGhlIHJlc3VsdCBvZiBhIGRpdmlzaW9uLg0KLSAgICBJTUFRX1JPVU5ESU5HX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFJvdW5kaW5nTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUVJEZW1vZHVsYXRpb25Nb2RlX2VudW0gew0KLSAgICBJTUFRX1FSX0RFTU9EVUxBVElPTl9NT0RFX0FVVE9fREVURUNUICAgID0gLTIsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgdHJ5IGVhY2ggZGVtb2R1bGF0aW9uIG1vZGUgYW5kIHVzZSB0aGUgb25lIHdoaWNoIGRlY29kZXMgdGhlIFFSIGNvZGUgd2l0aGluIHRoZSBmZXdlc3QgaXRlcmF0aW9ucyBhbmQgdXRpbGl6aW5nIHRoZSBsZWFzdCBhbW91bnQgb2YgZXJyb3IgY29ycmVjdGlvbi4NCi0gICAgSU1BUV9RUl9ERU1PRFVMQVRJT05fTU9ERV9ISVNUT0dSQU0gICAgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIGEgaGlzdG9ncmFtIG9mIGFsbCBvZiB0aGUgUVIgY2VsbHMgdG8gY2FsY3VsYXRlIGEgdGhyZXNob2xkLg0KLSAgICBJTUFRX1FSX0RFTU9EVUxBVElPTl9NT0RFX0xPQ0FMX0NPTlRSQVNUID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGV4YW1pbmVzIGVhY2ggb2YgdGhlIGNlbGwncyBuZWlnaGJvcnMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBjZWxsIGlzIG9uIG9yIG9mZi4NCi0gICAgSU1BUV9RUl9ERU1PRFVMQVRJT05fTU9ERV9DT01CSU5FRCAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIHRoZSBoaXN0b2dyYW0gb2YgdGhlIFFSIGNvZGUgdG8gY2FsY3VsYXRlIGEgdGhyZXNob2xkLg0KLSAgICBJTUFRX1FSX0RFTU9EVUxBVElPTl9NT0RFX0FMTCAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHRyaWVzIElNQVFfUVJfREVNT0RVTEFUSU9OX01PREVfSElTVE9HUkFNLCB0aGVuIElNQVFfUVJfREVNT0RVTEFUSU9OX01PREVfTE9DQUxfQ09OVFJBU1QgYW5kIHRoZW4gSU1BUV9RUl9ERU1PRFVMQVRJT05fTU9ERV9DT01CSU5FRCwgc3RvcHBpbmcgb25jZSBvbmUgbW9kZSBpcyBzdWNjZXNzZnVsLg0KLSAgICBJTUFRX1FSX0RFTU9EVUxBVElPTl9NT0RFX1NJWkVfR1VBUkQgICAgID0gMHhGRkZGRkZGRiAgIA0KLX0gUVJEZW1vZHVsYXRpb25Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBDb250cmFzdE1vZGVfZW51bSB7DQotICAgIElNQVFfT1JJR0lOQUxfQ09OVFJBU1QgPSAwLCAgLy9JbnN0cnVjdHMgdGhlIGdlb21ldHJpYyBtYXRjaGluZyBhbGdvcml0aG0gdG8gZmluZCBtYXRjaGVzIHdpdGggdGhlIHNhbWUgY29udHJhc3QgYXMgdGhlIHRlbXBsYXRlLg0KLSAgICBJTUFRX1JFVkVSU0VEX0NPTlRSQVNUID0gMSwgIC8vSW5zdHJ1Y3RzIHRoZSBnZW9tZXRyaWMgbWF0Y2hpbmcgYWxnb3JpdGhtIHRvIGZpbmQgbWF0Y2hlcyB3aXRoIHRoZSBpbnZlcnRlZCBjb250cmFzdCBvZiB0aGUgdGVtcGxhdGUuDQotICAgIElNQVFfQk9USF9DT05UUkFTVFMgICAgPSAyLCAgLy9JbnN0cnVjdHMgdGhlIGdlb21ldHJpYyBtYXRjaGluZyBhbGdvcml0aG0gdG8gZmluZCBtYXRjaGVzIHdpdGggdGhlIHNhbWUgYW5kIGludmVydGVkIGNvbnRyYXN0IG9mIHRoZSB0ZW1wbGF0ZS4NCi19IENvbnRyYXN0TW9kZTsNCi0NCi10eXBlZGVmIGVudW0gUVJQb2xhcml0aWVzX2VudW0gew0KLSAgICBJTUFRX1FSX1BPTEFSSVRZX0FVVE9fREVURUNUICAgICA9IC0yLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzaG91bGQgZGV0ZXJtaW5lIHRoZSBwb2xhcml0eSBvZiB0aGUgUVIgY29kZS4NCi0gICAgSU1BUV9RUl9QT0xBUklUWV9CTEFDS19PTl9XSElURSAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2hvdWxkIHNlYXJjaCBmb3IgYSBRUiBjb2RlIHdpdGggZGFyayBkYXRhIG9uIGEgYnJpZ2h0IGJhY2tncm91bmQuDQotICAgIElNQVFfUVJfUE9MQVJJVFlfV0hJVEVfT05fQkxBQ0sgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNob3VsZCBzZWFyY2ggZm9yIGEgUVIgY29kZSB3aXRoIGJyaWdodCBkYXRhIG9uIGEgZGFyayBiYWNrZ3JvdW5kLg0KLSAgICBJTUFRX1FSX1BPTEFSSVRZX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFFSUG9sYXJpdGllczsNCi0NCi10eXBlZGVmIGVudW0gUVJSb3RhdGlvbk1vZGVfZW51bSB7DQotICAgIElNQVFfUVJfUk9UQVRJT05fTU9ERV9VTkxJTUlURUQgICA9IDAsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBhbGxvd3MgZm9yIHVubGltaXRlZCByb3RhdGlvbi4NCi0gICAgSU1BUV9RUl9ST1RBVElPTl9NT0RFXzBfREVHUkVFUyAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGFsbG93cyBmb3IgPz8/IDUgZGVncmVlcyBvZiByb3RhdGlvbi4NCi0gICAgSU1BUV9RUl9ST1RBVElPTl9NT0RFXzkwX0RFR1JFRVMgID0gMiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGFsbG93cyBmb3IgYmV0d2VlbiA4NSBhbmQgOTUgZGVncmVlcyBvZiByb3RhdGlvbi4NCi0gICAgSU1BUV9RUl9ST1RBVElPTl9NT0RFXzE4MF9ERUdSRUVTID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGFsbG93cyBmb3IgYmV0d2VlbiAxNzUgYW5kIDE4NSBkZWdyZWVzIG9mIHJvdGF0aW9uLg0KLSAgICBJTUFRX1FSX1JPVEFUSU9OX01PREVfMjcwX0RFR1JFRVMgPSA0LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gYWxsb3dzIGZvciBiZXR3ZWVuIDI2NSBhbmQgMjc1IGRlZ3JlZXMgb2Ygcm90YXRpb24uDQotICAgIElNQVFfUVJfUk9UQVRJT05fTU9ERV9TSVpFX0dVQVJEICA9IDB4RkZGRkZGRkYgICANCi19IFFSUm90YXRpb25Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBRUkdyYWRpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX1FSX05PX0dSQURJTkcgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRvZXMgbm90IG1ha2UgYW55IHByZXBhcmF0b3J5IGNhbGN1bGF0aW9ucy4NCi0gICAgSU1BUV9RUl9HUkFESU5HX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFFSR3JhZGluZ01vZGU7DQotDQotdHlwZWRlZiBlbnVtIFN0cmFpZ2h0RWRnZVNlYXJjaE1vZGVfZW51bSB7DQotICAgIElNQVFfVVNFX0ZJUlNUX1JBS0VfRURHRVMgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL0ZpdHMgYSBzdHJhaWdodCBlZGdlIG9uIHRoZSBmaXJzdCBwb2ludHMgZGV0ZWN0ZWQgdXNpbmcgYSByYWtlLg0KLSAgICBJTUFRX1VTRV9CRVNUX1JBS0VfRURHRVMgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9GaXRzIGEgc3RyYWlnaHQgZWRnZSBvbiB0aGUgYmVzdCBwb2ludHMgZGV0ZWN0ZWQgdXNpbmcgYSByYWtlLg0KLSAgICBJTUFRX1VTRV9CRVNUX0hPVUdIX0xJTkUgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9GaW5kcyB0aGUgc3Ryb25nZXN0IHN0cmFpZ2h0IGVkZ2UgdXNpbmcgYWxsIHBvaW50cyBkZXRlY3RlZCBvbiBhIHJha2UuDQotICAgIElNQVFfVVNFX0ZJUlNUX1BST0pFQ1RJT05fRURHRSAgICAgICA9IDMsICAgICAgICAgICAvL1VzZXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaXJzdCBwcm9qZWN0ZWQgZWRnZSBhcyB0aGUgc3RyYWlnaHQgZWRnZS4NCi0gICAgSU1BUV9VU0VfQkVTVF9QUk9KRUNUSU9OX0VER0UgICAgICAgID0gNCwgICAgICAgICAgIC8vRmluZHMgdGhlIHN0cm9uZ2VzdCBwcm9qZWN0ZWQgZWRnZSBsb2NhdGlvbiB0byBkZXRlcm1pbmUgdGhlIHN0cmFpZ2h0IGVkZ2UuDQotICAgIElNQVFfU1RSQUlHSFRfRURHRV9TRUFSQ0hfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFN0cmFpZ2h0RWRnZVNlYXJjaE1vZGU7DQotDQotdHlwZWRlZiBlbnVtIFNlYXJjaERpcmVjdGlvbl9lbnVtIHsNCi0gICAgSU1BUV9TRUFSQ0hfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQgPSAwLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHNlYXJjaCBhcmVhIHRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgSU1BUV9TRUFSQ0hfRElSRUNUSU9OX1JJR0hUX1RPX0xFRlQgPSAxLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSByaWdodCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYSB0byB0aGUgbGVmdCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgSU1BUV9TRUFSQ0hfRElSRUNUSU9OX1RPUF9UT19CT1RUT00gPSAyLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSB0b3Agc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIGJvdHRvbSBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgSU1BUV9TRUFSQ0hfRElSRUNUSU9OX0JPVFRPTV9UT19UT1AgPSAzLCAgICAgICAgICAgLy9TZWFyY2hlcyBmcm9tIHRoZSBib3R0b20gc2lkZSBvZiB0aGUgc2VhcmNoIGFyZWEgdG8gdGhlIHRvcCBzaWRlIG9mIHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgSU1BUV9TRUFSQ0hfRElSRUNUSU9OX1NJWkVfR1VBUkQgICAgPSAweEZGRkZGRkZGICAgDQotfSBTZWFyY2hEaXJlY3Rpb247DQotDQotdHlwZWRlZiBlbnVtIFFSU3RyZWFtTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9RUl9NT0RFX05VTUVSSUMgICAgICA9IDAsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBkYXRhIHdhcyBlbmNvZGVkIHVzaW5nIG51bWVyaWMgbW9kZS4NCi0gICAgSU1BUV9RUl9NT0RFX0FMUEhBTlVNRVJJQyA9IDEsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBkYXRhIHdhcyBlbmNvZGVkIHVzaW5nIGFscGhhLW51bWVyaWMgbW9kZS4NCi0gICAgSU1BUV9RUl9NT0RFX1JBV19CWVRFICAgICA9IDIsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBkYXRhIHdhcyBub3QgZW5jb2RlZCBidXQgaXMgb25seSByYXcgYmluYXJ5IGJ5dGVzLCBvciBlbmNvZGVkIGluIEpJUy04Lg0KLSAgICBJTUFRX1FSX01PREVfRUFOMTI4X1RPS0VOID0gMywgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGRhdGEgaGFzIGEgc3BlY2lhbCBtZWFuaW5nIHJlcHJlc2VudGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBJRC4NCi0gICAgSU1BUV9RUl9NT0RFX0VBTjEyOF9EQVRBICA9IDQsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBkYXRhIGhhcyBhIHNwZWNpYWwgbWVhbmluZyByZXByZXNlbnRlZCBieSB0aGUgYXBwbGljYXRpb24gSUQuDQotICAgIElNQVFfUVJfTU9ERV9FQ0kgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZGF0YSB3YXMgbWVhbnQgdG8gYmUgcmVhZCB1c2luZyB0aGUgbGFuZ3VhZ2UgcmVwcmVzZW50ZWQgaW4gdGhlIGxhbmd1YWdlIElELg0KLSAgICBJTUFRX1FSX01PREVfS0FOSkkgICAgICAgID0gNiwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGRhdGEgd2FzIGVuY29kZWQgaW4gU2hpZnQtSklTMTYgSmFwYW5lc2UuDQotICAgIElNQVFfUVJfTU9ERV9TSVpFX0dVQVJEICAgPSAweEZGRkZGRkZGICAgDQotfSBRUlN0cmVhbU1vZGU7DQotDQotdHlwZWRlZiBlbnVtIFBhcnRpY2xlQ2xhc3NpZmllclR5cGVfZW51bSB7DQotICAgIElNQVFfUEFSVElDTEVfTEFSR0VTVCAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9Vc2Ugb25seSB0aGUgbGFyZ2VzdCBwYXJ0aWNsZSBpbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfUEFSVElDTEVfQUxMICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9Vc2UgYWxsIHBhcnRpY2xlcyBpbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfUEFSVElDTEVfQ0xBU1NJRklFUl9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBQYXJ0aWNsZUNsYXNzaWZpZXJUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBRUkNlbGxTYW1wbGVTaXplX2VudW0gew0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkVfQVVUT19ERVRFQ1QgPSAtMiwgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB0cnkgZWFjaCBzYW1wbGUgc2l6ZSBhbmQgdXNlIHRoZSBvbmUgd2hpY2ggZGVjb2RlcyB0aGUgUVIgY29kZSB3aXRoaW4gdGhlIGZld2VzdCBpdGVyYXRpb25zIGFuZCB1dGlsaXppbmcgdGhlIGxlYXN0IGFtb3VudCBvZiBlcnJvciBjb3JyZWN0aW9uLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkUxWDEgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSAxeDEgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkUyWDIgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSAyeDIgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkUzWDMgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSAzeDMgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkU0WDQgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSA0eDQgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkU1WDUgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSA1eDUgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkU2WDYgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSA2eDYgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1NJWkU3WDcgICAgICAgICAgPSA3LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSA3eDcgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRX1FSX0NFTExfU0FNUExFX1RZUEVfU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBRUkNlbGxTYW1wbGVTaXplOw0KLQ0KLXR5cGVkZWYgZW51bSBSYWtlUHJvY2Vzc1R5cGVfZW51bSB7DQotICAgIElNQVFfR0VUX0ZJUlNUX0VER0VTICAgICAgICAgICAgICA9IDAsICAgICAgICAgICANCi0gICAgSU1BUV9HRVRfRklSU1RfQU5EX0xBU1RfRURHRVMgICAgID0gMSwgICAgICAgICAgIA0KLSAgICBJTUFRX0dFVF9BTExfRURHRVMgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgDQotICAgIElNQVFfR0VUX0JFU1RfRURHRVMgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICANCi0gICAgSU1BUV9SQUtFX1BST0NFU1NfVFlQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gUmFrZVByb2Nlc3NUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBHZW9tZXRyaWNTZXR1cERhdGFJdGVtX2VudW0gew0KLSAgICBJTUFRX0NVUlZFX0VYVFJBQ1RJT05fTU9ERSAgICAgICAgICAgICA9IDAsICAgLy9TcGVjaWZpZXMgaG93IHRoZSBmdW5jdGlvbiBpZGVudGlmaWVzIGN1cnZlcyBpbiB0aGUgaW1hZ2UuDQotICAgIElNQVFfQ1VSVkVfRURHRV9USFJTSE9MRCAgICAgICAgICAgICAgID0gMSwgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBjb250cmFzdCBhbiBlZGdlIHBpeGVsIG11c3QgaGF2ZSBmb3IgaXQgdG8gYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGEgY3VydmUuDQotICAgIElNQVFfQ1VSVkVfRURHRV9GSUxURVIgICAgICAgICAgICAgICAgID0gMiwgICAvL1NwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGVkZ2UgZmlsdGVyIHRoYXQgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gaWRlbnRpZnkgY3VydmVzIGluIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9NSU5JTVVNX0NVUlZFX0xFTkdUSCAgICAgICAgICAgICAgPSAzLCAgIC8vU3BlY2lmaWVzIHRoZSBsZW5ndGgsIGluIHBpeGVscywgb2YgdGhlIHNtYWxsZXN0IGN1cnZlIHRoYXQgeW91IHdhbnQgdGhlIGZ1bmN0aW9uIHRvIGlkZW50aWZ5Lg0KLSAgICBJTUFRX0NVUlZFX1JPV19TRUFSQ0hfU1RFUF9TSVpFICAgICAgICA9IDQsICAgLy9TcGVjaWZpZXMgdGhlIGRpc3RhbmNlLCBpbiB0aGUgeSBkaXJlY3Rpb24sIGJldHdlZW4gdGhlIGltYWdlIHJvd3MgdGhhdCB0aGUgYWxnb3JpdGhtIGluc3BlY3RzIGZvciBjdXJ2ZSBzZWVkIHBvaW50cy4NCi0gICAgSU1BUV9DVVJWRV9DT0xfU0VBUkNIX1NURVBfU0laRSAgICAgICAgPSA1LCAgIC8vU3BlY2lmaWVzIHRoZSBkaXN0YW5jZSwgaW4gdGhlIHggZGlyZWN0aW9uLCBiZXR3ZWVuIHRoZSBpbWFnZSBjb2x1bW5zIHRoYXQgdGhlIGFsZ29yaXRobSBpbnNwZWN0cyBmb3IgY3VydmUgc2VlZCBwb2ludHMuDQotICAgIElNQVFfQ1VSVkVfTUFYX0VORF9QT0lOVF9HQVAgICAgICAgICAgID0gNiwgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBnYXAsIGluIHBpeGVscywgYmV0d2VlbiB0aGUgZW5kcG9pbnRzIG9mIGEgY3VydmUgdGhhdCB0aGUgZnVuY3Rpb24gaWRlbnRpZmllcyBhcyBhIGNsb3NlZCBjdXJ2ZS4NCi0gICAgSU1BUV9FWFRSQUNUX0NMT1NFRF9DVVJWRVMgICAgICAgICAgICAgPSA3LCAgIC8vU3BlY2lmaWVzIHdoZXRoZXIgdG8gaWRlbnRpZnkgb25seSBjbG9zZWQgY3VydmVzIGluIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9FTkFCTEVfU1VCUElYRUxfQ1VSVkVfRVhUUkFDVElPTiAgPSA4LCAgIC8vVGhlIGZ1bmN0aW9uIGlnbm9yZXMgdGhpcyBvcHRpb24uDQotICAgIElNQVFfRU5BQkxFX0NPUlJFTEFUSU9OX1NDT1JFICAgICAgICAgID0gOSwgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBzaG91bGQgY2FsY3VsYXRlIHRoZSBDb3JyZWxhdGlvbiBTY29yZSBhbmQgcmV0dXJuIGl0IGZvciBlYWNoIG1hdGNoIHJlc3VsdC4NCi0gICAgSU1BUV9FTkFCTEVfU1VCUElYRUxfQUNDVVJBQ1kgICAgICAgICAgPSAxMCwgIC8vRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHJldHVybiB0aGUgbWF0Y2ggcmVzdWx0cyB3aXRoIHN1YnBpeGVsIGFjY3VyYWN5Lg0KLSAgICBJTUFRX1NVQlBJWEVMX0lURVJBVElPTlMgICAgICAgICAgICAgICA9IDExLCAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGluY3JlbWVudGFsIGltcHJvdmVtZW50cyB1c2VkIHRvIHJlZmluZSBtYXRjaGVzIHVzaW5nIHN1YnBpeGVsIGluZm9ybWF0aW9uLg0KLSAgICBJTUFRX1NVQlBJWEVMX1RPTEVSQU5DRSAgICAgICAgICAgICAgICA9IDEyLCAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNoYW5nZSwgaW4gcGl4ZWxzLCBiZXR3ZWVuIGNvbnNlY3V0aXZlIGluY3JlbWVudGFsIGltcHJvdmVtZW50cyBpbiB0aGUgbWF0Y2ggcG9zaXRpb24gYmVmb3JlIHRoZSBmdW5jdGlvbiBzdG9wcyByZWZpbmluZyB0aGUgbWF0Y2ggcG9zaXRpb24uDQotICAgIElNQVFfSU5JVElBTF9NQVRDSF9MSVNUX0xFTkdUSCAgICAgICAgID0gMTMsICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBtYXRjaCBsaXN0Lg0KLSAgICBJTUFRX0VOQUJMRV9UQVJHRVRfVEVNUExBVEVfQ1VSVkVTQ09SRSA9IDE0LCAgLy9TcGVjaWZpZXMgd2hldGhlciB0aGUgZnVuY3Rpb24gc2hvdWxkIGNhbGN1bGF0ZSB0aGUgbWF0Y2ggY3VydmUgdG8gdGVtcGxhdGUgY3VydmUgc2NvcmUgYW5kIHJldHVybiBpdCBmb3IgZWFjaCBtYXRjaCByZXN1bHQuDQotICAgIElNQVFfTUlOSU1VTV9NQVRDSF9TRVBBUkFUSU9OX0RJU1RBTkNFID0gMTUsICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBzZXBhcmF0aW9uIGRpc3RhbmNlLCBpbiBwaXhlbHMsIGJldHdlZW4gdGhlIG9yaWdpbnMgb2YgdHdvIG1hdGNoZXMgdGhhdCBoYXZlIHVuaXF1ZSBwb3NpdGlvbnMuDQotICAgIElNQVFfTUlOSU1VTV9NQVRDSF9TRVBBUkFUSU9OX0FOR0xFICAgID0gMTYsICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBhbmd1bGFyIGRpZmZlcmVuY2UsIGluIGRlZ3JlZXMsIGJldHdlZW4gdHdvIG1hdGNoZXMgdGhhdCBoYXZlIHVuaXF1ZSBhbmdsZXMuDQotICAgIElNQVFfTUlOSU1VTV9NQVRDSF9TRVBBUkFUSU9OX1NDQUxFICAgID0gMTcsICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBkaWZmZXJlbmNlIGluIHNjYWxlLCBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLCBiZXR3ZWVuIHR3byBtYXRjaGVzIHRoYXQgaGF2ZSB1bmlxdWUgc2NhbGVzLg0KLSAgICBJTUFRX01BWElNVU1fTUFUQ0hfT1ZFUkxBUCAgICAgICAgICAgICA9IDE4LCAgLy9TcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0aGUgYWxnb3JpdGhtIHRvIHNwZW5kIGxlc3MgdGltZSBhY2N1cmF0ZWx5IGVzdGltYXRpbmcgdGhlIGxvY2F0aW9uIG9mIGEgbWF0Y2guDQotICAgIElNQVFfRU5BQkxFX0NPQVJTRV9SRVNVTFQgICAgICAgICAgICAgID0gMTksICAvL1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRoZSBhbGdvcml0aG0gdG8gc3BlbmQgbGVzcyB0aW1lIGFjY3VyYXRlbHkgZXN0aW1hdGluZyB0aGUgbG9jYXRpb24gb2YgYSBtYXRjaC4NCi0gICAgSU1BUV9FTkFCTEVfQ0FMSUJSQVRJT05fU1VQUE9SVCAgICAgICAgPSAyMCwgIC8vU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoZSBhbGdvcml0aG0gdHJlYXQgdGhlIGluc3BlY3Rpb24gaW1hZ2UgYXMgYSBjYWxpYnJhdGVkIGltYWdlLg0KLSAgICBJTUFRX0VOQUJMRV9DT05UUkFTVF9SRVZFUlNBTCAgICAgICAgICA9IDIxLCAgLy9TcGVjaWZpZXMgdGhlIGNvbnRyYXN0IG9mIHRoZSBtYXRjaGVzIHRvIHNlYXJjaCBmb3IuDQotICAgIElNQVFfU0VBUkNIX1NUUkFURUdZICAgICAgICAgICAgICAgICAgID0gMjIsICAvL1NwZWNpZmllcyB0aGUgYWdncmVzc2l2ZW5lc3Mgb2YgdGhlIHN0cmF0ZWd5IHVzZWQgdG8gZmluZCBtYXRjaGVzIGluIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9SRUZJTkVNRU5UX01BVENIX0ZBQ1RPUiAgICAgICAgICAgPSAyMywgIC8vU3BlY2lmaWVzIHRoZSBmYWN0b3IgYXBwbGllZCB0byB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgcmVxdWVzdGVkIHRvIGRldGVybWluZSBob3cgbWFueSBtYXRjaGVzIGFyZSByZWZpbmVkIGluIHRoZSBweXJhbWlkIHN0YWdlLg0KLSAgICBJTUFRX1NVQlBJWEVMX01BVENIX0ZBQ1RPUiAgICAgICAgICAgICA9IDI0LCAgLy9TcGVjaWZpZXMgdGhlIGZhY3RvciBhcHBsaWVkIHRvIHRoZSBudW1iZXIgZm9yIG1hdGNoZXMgcmVxdWVzdGVkIHRvIGRldGVybWluZSBob3cgbWFueSBtYXRjaGVzIGFyZSB1c2VkIGZvciB0aGUgZmluYWwgKHN1YnBpeGVsKSBzdGFnZS4NCi0gICAgSU1BUV9NQVhfUkVGSU5FTUVOVF9JVEVSQVRJT05TICAgICAgICAgPSAyNSwgIC8vU3BlY2lmaWVzIG1heGltdW0gcmVmaW5lbWVudCBpdGVyYXRpb24uDQotfSBHZW9tZXRyaWNTZXR1cERhdGFJdGVtOw0KLQ0KLXR5cGVkZWYgZW51bSBEaXN0b3J0aW9uTW9kZWxfZW51bSB7DQotICAgIElNQVFfUE9MWU5PTUlBTF9NT0RFTCAgICA9IDAsICAgLy9Qb2x5bm9taWFsIG1vZGVsLg0KLSAgICBJTUFRX0RJVklTSU9OX01PREVMICAgICAgPSAxLCAgIC8vRGl2aXNpb24gTW9kZWwuDQotICAgIElNQVFfTk9fRElTVE9SVElPTl9NT0RFTCA9IC0xLCAgLy9Ob3QgYSBkaXN0b3J0aW9uIG1vZGVsLg0KLX0gRGlzdG9ydGlvbk1vZGVsOw0KLQ0KLXR5cGVkZWYgZW51bSBDYWxpYnJhdGlvblRodW1ibmFpbFR5cGVfZW51bSB7DQotICAgIElNQVFfQ0FNQVJBX01PREVMX1RZUEUgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL0NhbWFyYSBtb2RlbCB0aHVtYm5haWwgdHlwZS4NCi0gICAgSU1BUV9QRVJTUEVDVElWRV9UWVBFICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vUGVyc3BlY3RpdmUgdGh1bWJuYWlsIHR5cGUuDQotICAgIElNQVFfTUlDUk9fUExBTkVfVFlQRSAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL01pY3JvIFBsYW5lIHRodW1ibmFpbCB0eXBlLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX1RIVU1CTkFJTF9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDYWxpYnJhdGlvblRodW1ibmFpbFR5cGU7DQotDQotdHlwZWRlZiBlbnVtIFNldHRpbmdUeXBlX2VudW0gew0KLSAgICBJTUFRX1JPVEFUSU9OX0FOR0xFX1JBTkdFICAgID0gMCwgICAgICAgICAgIC8vU2V0IGEgcmFuZ2UgZm9yIHRoaXMgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFuZ2xlcyBhdCB3aGljaCB5b3UgZXhwZWN0IHRoZSBGdW5jdGlvbiB0byBmaW5kIHRlbXBsYXRlIG1hdGNoZXMgaW4gdGhlIGluc3BlY3Rpb24gaW1hZ2UuDQotICAgIElNQVFfU0NBTEVfUkFOR0UgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9TZXQgYSByYW5nZSBmb3IgdGhpcyBvcHRpb24gdG8gc3BlY2lmeSB0aGUgc2l6ZXMgYXQgd2hpY2ggeW91IGV4cGVjdCB0aGUgRnVuY3Rpb24gdG8gZmluZCB0ZW1wbGF0ZSBtYXRjaGVzIGluIHRoZSBpbnNwZWN0aW9uIGltYWdlLg0KLSAgICBJTUFRX09DQ0xVU0lPTl9SQU5HRSAgICAgICAgID0gMiwgICAgICAgICAgIC8vU2V0IGEgcmFuZ2UgZm9yIHRoaXMgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIGFtb3VudCBvZiBvY2NsdXNpb24geW91IGV4cGVjdCBmb3IgYSBtYXRjaCBpbiB0aGUgaW5zcGVjdGlvbiBpbWFnZS4NCi0gICAgSU1BUV9TRVRUSU5HX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFNldHRpbmdUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBTZWdtZW50YXRpb25EaXN0YW5jZUxldmVsX2VudW0gew0KLSAgICBJTUFRX1NFR01FTlRBVElPTl9MRVZFTF9DT05TRVJWQVRJVkUgPSAwLCAgICAgICAgICAgLy9Vc2VzIGV4dGVuc2l2ZSBjcml0ZXJpYSB0byBkZXRlcm1pbmUgdGhlIE1heGltdW0gRGlzdGFuY2UuDQotICAgIElNQVFfU0VHTUVOVEFUSU9OX0xFVkVMX0FHR1JFU1NJVkUgICA9IDEsICAgICAgICAgICAvL1VzZXMgZmV3IGNyaXRlcmlhIHRvIGRldGVybWluZSB0aGUgTWF4aW11bSBEaXN0YW5jZS4NCi0gICAgSU1BUV9TRUdNRU5UQVRJT05fTEVWRUxfU0laRV9HVUFSRCAgID0gMHhGRkZGRkZGRiAgIA0KLX0gU2VnbWVudGF0aW9uRGlzdGFuY2VMZXZlbDsNCi0NCi10eXBlZGVmIGVudW0gRXh0cmFjdENvbnRvdXJTZWxlY3Rpb25fZW51bSB7DQotICAgIElNQVFfQ0xPU0VTVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU2VsZWN0cyB0aGUgY3VydmUgY2xvc2VzdCB0byB0aGUgUk9JLg0KLSAgICBJTUFRX0xPTkdFU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NlbGVjdHMgdGhlIGxvbmdlc3QgY3VydmUuDQotICAgIElNQVFfU1RST05HRVNUICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vU2VsZWN0cyB0aGUgY3VydmUgd2l0aCB0aGUgaGlnaGVzdCBlZGdlIHN0cmVuZ3RoIGF2ZXJhZ2VkIGZyb20gZWFjaCBwb2ludCBvbiB0aGUgY3VydmUuDQotICAgIElNQVFfRVhUUkFDVF9DT05UT1VSX1NFTEVDVElPTl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRXh0cmFjdENvbnRvdXJTZWxlY3Rpb247DQotDQotdHlwZWRlZiBlbnVtIEZpbmRUcmFuc2Zvcm1Nb2RlX2VudW0gew0KLSAgICBJTUFRX0ZJTkRfUkVGRVJFTkNFICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1VwZGF0ZSBib3RoIHBhcnRzIG9mIHRoZSBjb29yZGluYXRlIHN5c3RlbS4NCi0gICAgSU1BUV9VUERBVEVfVFJBTlNGT1JNICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9VcGRhdGUgb25seSB0aGUgbmV3IHJlZmVyZW5jZSBzeXN0ZW0uDQotICAgIElNQVFfRklORF9UUkFOU0ZPUk1fTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRmluZFRyYW5zZm9ybU1vZGU7DQotDQotdHlwZWRlZiBlbnVtIEV4dHJhY3RDb250b3VyRGlyZWN0aW9uX2VudW0gew0KLSAgICBJTUFRX1JFQ1RfTEVGVF9SSUdIVCAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSBsZWZ0IHRvIHJpZ2h0Lg0KLSAgICBJTUFRX1JFQ1RfUklHSFRfTEVGVCAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSByaWdodCB0byBsZWZ0Lg0KLSAgICBJTUFRX1JFQ1RfVE9QX0JPVFRPTSAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSB0b3AgdG8gYm90dG9tLg0KLSAgICBJTUFRX1JFQ1RfQk9UVE9NX1RPUCAgICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSBib3R0b20gdG8gdG9wLg0KLSAgICBJTUFRX0FOTlVMVVNfSU5ORVJfT1VURVIgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSB0aGUgaW5uZXIgcmFkaXVzIHRvIHRoZSBvdXRlciByYWRpdXMuDQotICAgIElNQVFfQU5OVUxVU19PVVRFUl9JTk5FUiAgICAgICAgICAgICAgICAgID0gNSwgICAgICAgICAgIC8vU2VhcmNoZXMgdGhlIFJPSSBmcm9tIHRoZSBvdXRlciByYWRpdXMgdG8gdGhlIGlubmVyIHJhZGl1cy4NCi0gICAgSU1BUV9BTk5VTFVTX1NUQVJUX1NUT1AgICAgICAgICAgICAgICAgICAgPSA2LCAgICAgICAgICAgLy9TZWFyY2hlcyB0aGUgUk9JIGZyb20gc3RhcnQgYW5nbGUgdG8gZW5kIGFuZ2xlLg0KLSAgICBJTUFRX0FOTlVMVVNfU1RPUF9TVEFSVCAgICAgICAgICAgICAgICAgICA9IDcsICAgICAgICAgICAvL1NlYXJjaGVzIHRoZSBST0kgZnJvbSBlbmQgYW5nbGUgdG8gc3RhcnQgYW5nbGUuDQotICAgIElNQVFfRVhUUkFDVF9DT05UT1VSX0RJUkVDVElPTl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRXh0cmFjdENvbnRvdXJEaXJlY3Rpb247DQotDQotdHlwZWRlZiBlbnVtIEVkZ2VQb2xhcml0eVNlYXJjaE1vZGVfZW51bSB7DQotICAgIElNQVFfU0VBUkNIX0ZPUl9BTExfRURHRVMgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9TZWFyY2hlcyBmb3IgYWxsIGVkZ2VzLg0KLSAgICBJTUFRX1NFQVJDSF9GT1JfUklTSU5HX0VER0VTICAgICAgID0gMSwgICAgICAgICAgIC8vU2VhcmNoZXMgZm9yIHJpc2luZyBlZGdlcyBvbmx5Lg0KLSAgICBJTUFRX1NFQVJDSF9GT1JfRkFMTElOR19FREdFUyAgICAgID0gMiwgICAgICAgICAgIC8vU2VhcmNoZXMgZm9yIGZhbGxpbmcgZWRnZXMgb25seS4NCi0gICAgSU1BUV9FREdFX1BPTEFSSVRZX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEVkZ2VQb2xhcml0eVNlYXJjaE1vZGU7DQotDQotdHlwZWRlZiBlbnVtIENvbm5lY3Rpdml0eV9lbnVtIHsNCi0gICAgSU1BUV9GT1VSX0NPTk5FQ1RFRCAgICAgICAgICA9IDAsICAgICAgICAgICAvL01vcnBob2xvZ2ljYWwgcmVjb25zdHJ1Y3Rpb24gaXMgcGVyZm9ybWVkIGluIGNvbm5lY3Rpdml0eSBtb2RlIDQuDQotICAgIElNQVFfRUlHSFRfQ09OTkVDVEVEICAgICAgICAgPSAxLCAgICAgICAgICAgLy9Nb3JwaG9sb2dpY2FsIHJlY29uc3RydWN0aW9uIGlzIHBlcmZvcm1lZCBpbiBjb25uZWN0aXZpdHkgbW9kZSA4Lg0KLSAgICBJTUFRX0NPTk5FQ1RJVklUWV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ29ubmVjdGl2aXR5Ow0KLQ0KLXR5cGVkZWYgZW51bSBNb3JwaG9sb2d5UmVjb25zdHJ1Y3RPcGVyYXRpb25fZW51bSB7DQotICAgIElNQVFfRElMQVRFX1JFQ09OU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1BlcmZvcm1zIFJlY29uc3RydWN0aW9uIGJ5IGRpbGF0aW9uLg0KLSAgICBJTUFRX0VST0RFX1JFQ09OU1RSVUNUICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9QZXJmb3JtcyBSZWNvbnN0cnVjdGlvbiBieSBlcm9zaW9uLg0KLSAgICBJTUFRX01PUlBIT0xPR1lfUkVDT05TVFJVQ1RfT1BFUkFUSU9OX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBNb3JwaG9sb2d5UmVjb25zdHJ1Y3RPcGVyYXRpb247DQotDQotdHlwZWRlZiBlbnVtIFdhdmVsZXRUeXBlX2VudW0gew0KLSAgICBJTUFRX0RCMDIgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIA0KLSAgICBJTUFRX0RCMDMgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIA0KLSAgICBJTUFRX0RCMDQgICAgICAgICAgICAgICAgID0gMiwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBXYXZlbGV0IFR5cGUgYXMgREIwMi4NCi0gICAgSU1BUV9EQjA1ICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICANCi0gICAgSU1BUV9EQjA2ICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICANCi0gICAgSU1BUV9EQjA3ICAgICAgICAgICAgICAgICA9IDUsICAgICAgICAgICANCi0gICAgSU1BUV9EQjA4ICAgICAgICAgICAgICAgICA9IDYsICAgICAgICAgICANCi0gICAgSU1BUV9EQjA5ICAgICAgICAgICAgICAgICA9IDcsICAgICAgICAgICANCi0gICAgSU1BUV9EQjEwICAgICAgICAgICAgICAgICA9IDgsICAgICAgICAgICANCi0gICAgSU1BUV9EQjExICAgICAgICAgICAgICAgICA9IDksICAgICAgICAgICANCi0gICAgSU1BUV9EQjEyICAgICAgICAgICAgICAgICA9IDEwLCAgICAgICAgICANCi0gICAgSU1BUV9EQjEzICAgICAgICAgICAgICAgICA9IDExLCAgICAgICAgICANCi0gICAgSU1BUV9EQjE0ICAgICAgICAgICAgICAgICA9IDEyLCAgICAgICAgICANCi0gICAgSU1BUV9IQUFSICAgICAgICAgICAgICAgICA9IDEzLCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMV8zICAgICAgICAgICAgICA9IDE0LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMV81ICAgICAgICAgICAgICA9IDE1LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMl8yICAgICAgICAgICAgICA9IDE2LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMl80ICAgICAgICAgICAgICA9IDE3LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMl82ICAgICAgICAgICAgICA9IDE4LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SMl84ICAgICAgICAgICAgICA9IDE5LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SM18xICAgICAgICAgICAgICA9IDIwLCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SM18zICAgICAgICAgICAgICA9IDIxLCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SM181ICAgICAgICAgICAgICA9IDIyLCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SM183ICAgICAgICAgICAgICA9IDIzLCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SM185ICAgICAgICAgICAgICA9IDI0LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SNF80ICAgICAgICAgICAgICA9IDI1LCAgICAgICAgICANCi0gICAgSU1BUV9DT0lGMSAgICAgICAgICAgICAgICA9IDI2LCAgICAgICAgICANCi0gICAgSU1BUV9DT0lGMiAgICAgICAgICAgICAgICA9IDI3LCAgICAgICAgICANCi0gICAgSU1BUV9DT0lGMyAgICAgICAgICAgICAgICA9IDI4LCAgICAgICAgICANCi0gICAgSU1BUV9DT0lGNCAgICAgICAgICAgICAgICA9IDI5LCAgICAgICAgICANCi0gICAgSU1BUV9DT0lGNSAgICAgICAgICAgICAgICA9IDMwLCAgICAgICAgICANCi0gICAgSU1BUV9TWU0yICAgICAgICAgICAgICAgICA9IDMxLCAgICAgICAgICANCi0gICAgSU1BUV9TWU0zICAgICAgICAgICAgICAgICA9IDMyLCAgICAgICAgICANCi0gICAgSU1BUV9TWU00ICAgICAgICAgICAgICAgICA9IDMzLCAgICAgICAgICANCi0gICAgSU1BUV9TWU01ICAgICAgICAgICAgICAgICA9IDM0LCAgICAgICAgICANCi0gICAgSU1BUV9TWU02ICAgICAgICAgICAgICAgICA9IDM1LCAgICAgICAgICANCi0gICAgSU1BUV9TWU03ICAgICAgICAgICAgICAgICA9IDM2LCAgICAgICAgICANCi0gICAgSU1BUV9TWU04ICAgICAgICAgICAgICAgICA9IDM3LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SNV81ICAgICAgICAgICAgICA9IDM4LCAgICAgICAgICANCi0gICAgSU1BUV9CSU9SNl84ICAgICAgICAgICAgICA9IDM5LCAgICAgICAgICANCi0gICAgSU1BUV9XQVZFX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFdhdmVsZXRUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBQYXJ0aWNsZUNsYXNzaWZpZXJUaHJlc2hvbGRUeXBlX2VudW0gew0KLSAgICBJTUFRX1RIUkVTSE9MRF9NQU5VQUwgPSAwLCAgLy9UaGUgY2xhc3NpZmllciBwZXJmb3JtcyBhIG1hbnVhbCB0aHJlc2hvbGQgb24gdGhlIGltYWdlIGR1cmluZyBwcmVwcm9jZXNzaW5nLg0KLSAgICBJTUFRX1RIUkVTSE9MRF9BVVRPICAgPSAxLCAgLy9UaGUgY2xhc3NpZmllciBwZXJmb3JtcyBhbiBhdXRvIHRocmVzaG9sZCBvbiB0aGUgaW1hZ2UgZHVyaW5nIHByZXByb2Nlc3NpbmcuDQotICAgIElNQVFfVEhSRVNIT0xEX0xPQ0FMICA9IDIsICAvL1RoZSBjbGFzc2lmaWVyIHBlcmZvcm1zIGEgbG9jYWwgdGhyZXNob2xkIG9uIHRoZSBpbWFnZSBkdXJpbmcgcHJlcHJvY2Vzc2luZy4NCi19IFBhcnRpY2xlQ2xhc3NpZmllclRocmVzaG9sZFR5cGU7DQotDQotdHlwZWRlZiBlbnVtIE1lYXN1cmVQYXJ0aWNsZXNDYWxpYnJhdGlvbk1vZGVfZW51bSB7DQotICAgIElNQVFfQ0FMSUJSQVRJT05fTU9ERV9QSVhFTCAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHRha2VzIG9ubHkgcGl4ZWwgbWVhc3VyZW1lbnRzIG9uIHRoZSBwYXJ0aWNsZXMgaW4gdGhlIGltYWdlLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX01PREVfQ0FMSUJSQVRFRCAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB0YWtlcyBvbmx5IGNhbGlicmF0ZWQgbWVhc3VyZW1lbnRzIG9uIHRoZSBwYXJ0aWNsZXMgaW4gdGhlIGltYWdlLg0KLSAgICBJTUFRX0NBTElCUkFUSU9OX01PREVfQk9USCAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB0YWtlcyBib3RoIHBpeGVsIGFuZCBjYWxpYnJhdGVkIG1lYXN1cmVtZW50cyBvbiB0aGUgcGFydGljbGVzIGluIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9NRUFTVVJFX1BBUlRJQ0xFU19DQUxJQlJBVElPTl9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBNZWFzdXJlUGFydGljbGVzQ2FsaWJyYXRpb25Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBHZW9tZXRyaWNNYXRjaGluZ1NlYXJjaFN0cmF0ZWd5X2VudW0gew0KLSAgICBJTUFRX0dFT01FVFJJQ19NQVRDSElOR19DT05TRVJWQVRJVkUgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgcGF0dGVybiBtYXRjaGluZyBhbGdvcml0aG0gdG8gdXNlIHRoZSBsYXJnZXN0IHBvc3NpYmxlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBpbWFnZSBhdCB0aGUgZXhwZW5zZSBvZiBzbG93aW5nIGRvd24gdGhlIHNwZWVkIG9mIHRoZSBhbGdvcml0aG0uDQotICAgIElNQVFfR0VPTUVUUklDX01BVENISU5HX0JBTEFOQ0VEICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vSW5zdHJ1Y3RzIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIGFsZ29yaXRobSB0byBiYWxhbmNlIHRoZSBhbW91bnQgb2YgaW5mb3JtYXRpb24gZnJvbSB0aGUgaW1hZ2UgaXQgdXNlcyB3aXRoIHRoZSBzcGVlZCBvZiB0aGUgYWxnb3JpdGhtLg0KLSAgICBJTUFRX0dFT01FVFJJQ19NQVRDSElOR19BR0dSRVNTSVZFICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL0luc3RydWN0cyB0aGUgcGF0dGVybiBtYXRjaGluZyBhbGdvcml0aG0gdG8gdXNlIGEgbG93ZXIgYW1vdW50IG9mIGluZm9ybWF0aW9uIGZyb20gdGhlIGltYWdlLCB3aGljaCBhbGxvd3MgdGhlIGFsZ29yaXRobSB0byBydW4gcXVpY2tseSBidXQgYXQgdGhlIGV4cGVuc2Ugb2YgYWNjdXJhY3kuDQotICAgIElNQVFfR0VPTUVUUklDX01BVENISU5HX1NFQVJDSF9TVFJBVEVHWV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gR2VvbWV0cmljTWF0Y2hpbmdTZWFyY2hTdHJhdGVneTsNCi0NCi10eXBlZGVmIGVudW0gQ29sb3JDbGFzc2lmaWNhdGlvblJlc29sdXRpb25fZW51bSB7DQotICAgIElNQVFfQ0xBU1NJRklFUl9MT1dfUkVTT0xVVElPTiAgICAgICAgPSAwLCAgICAgICAgICAgLy9Mb3cgcmVzb2x1dGlvbiB2ZXJzaW9uIG9mIHRoZSBjb2xvciBjbGFzc2lmaWVyLg0KLSAgICBJTUFRX0NMQVNTSUZJRVJfTUVESVVNX1JFU09MVVRJT04gICAgID0gMSwgICAgICAgICAgIC8vTWVkaXVtIHJlc29sdXRpb24gdmVyc2lvbiBvZiB0aGUgY29sb3IgY2xhc3NpZmllci4NCi0gICAgSU1BUV9DTEFTU0lGSUVSX0hJR0hfUkVTT0xVVElPTiAgICAgICA9IDIsICAgICAgICAgICAvL0hpZ2ggcmVzb2x1dGlvbiB2ZXJzaW9uIG9mIHRoZSBjb2xvciBjbGFzc2lmaWVyLg0KLSAgICBJTUFRX0NMQVNTSUZJRVJfUkVTT0xVVElPTl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ29sb3JDbGFzc2lmaWNhdGlvblJlc29sdXRpb247DQotDQotdHlwZWRlZiBlbnVtIENvbm5lY3Rpb25Db25zdHJhaW50VHlwZV9lbnVtIHsNCi0gICAgSU1BUV9ESVNUQU5DRV9DT05TVFJBSU5UICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGlzdGFuY2UsIGluIHBpeGVscywgd2l0aGluIHdoaWNoIHRoZSBlbmQgcG9pbnRzIG9mIHR3byBjdXJ2ZXMgbXVzdCBsaWUgaW4gb3JkZXIgdG8gYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGEgY29udG91ci4NCi0gICAgSU1BUV9BTkdMRV9DT05TVFJBSU5UICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgcmFuZ2UsIGluIGRlZ3JlZXMsIHdpdGhpbiB3aGljaCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBhbmdsZSBvZiB0d28gY3VydmVzLCBtZWFzdXJlZCBhdCB0aGUgZW5kIHBvaW50cywgbXVzdCBsaWUgaW4gb3JkZXIgZm9yIHRoZSB0d28gY3VydmVzIHRvIGJlIGNvbnNpZGVyZWQgcGFydCBvZiBhIGNvbnRvdXIuDQotICAgIElNQVFfQ09OTkVDVElWSVRZX0NPTlNUUkFJTlQgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGRpc3RhbmNlLCBpbiBwaXhlbHMsIHdpdGhpbiB3aGljaCBhIGxpbmUgZXh0ZW5kZWQgZnJvbSB0aGUgZW5kIHBvaW50IG9mIGEgY3VydmUgbXVzdCBwYXNzIHRoZSBlbmQgcG9pbnQgb2YgYW5vdGhlciBjdXJ2ZSBpbiBvcmRlciBmb3IgdGhlIHR3byBjdXJ2ZXMgdG8gYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGEgY29udG91ci4NCi0gICAgSU1BUV9HUkFESUVOVF9DT05TVFJBSU5UICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgcmFuZ2UsIGluIGRlZ3JlZXMsIHdpdGhpbiB3aGljaCB0aGUgZ3JhZGllbnQgYW5nbGVzIG9mIHR3byBjdXJ2ZXMsIG1lYXN1cmVkIGF0IHRoZSBlbmQgcG9pbnRzLCBtdXN0IGxpZSBpbiBvcmRlciBmb3IgdGhlIHR3byBjdXJ2ZXMgdG8gYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGEgY29udG91ci4NCi0gICAgSU1BUV9OVU1fQ09OTkVDVElPTl9DT05TVFJBSU5UX1RZUEVTICA9IDQsICAgICAgICAgICAvLy4NCi0gICAgSU1BUV9DT05ORUNUSU9OX0NPTlNUUkFJTlRfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IENvbm5lY3Rpb25Db25zdHJhaW50VHlwZTsNCi0NCi10eXBlZGVmIGVudW0gQmFyY29kZTJEQ29udHJhc3RfZW51bSB7DQotICAgIElNQVFfQUxMX0JBUkNPREVfMkRfQ09OVFJBU1RTICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvciBiYXJjb2RlcyBvZiBlYWNoIGNvbnRyYXN0IHR5cGUuDQotICAgIElNQVFfQkxBQ0tfT05fV0hJVEVfQkFSQ09ERV8yRCAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvciAyRCBiYXJjb2RlcyBjb250YWluaW5nIGJsYWNrIGRhdGEgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLg0KLSAgICBJTUFRX1dISVRFX09OX0JMQUNLX0JBUkNPREVfMkQgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZWFyY2hlcyBmb3IgMkQgYmFyY29kZXMgY29udGFpbmluZyB3aGl0ZSBkYXRhIG9uIGEgYmxhY2sgYmFja2dyb3VuZC4NCi0gICAgSU1BUV9CQVJDT0RFXzJEX0NPTlRSQVNUX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBCYXJjb2RlMkRDb250cmFzdDsNCi0NCi10eXBlZGVmIGVudW0gUVJNb2RlbFR5cGVfZW51bSB7DQotICAgIElNQVFfUVJfTU9ERUxUWVBFX0FVVE9fREVURUNUID0gMCwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIHdpbGwgYXV0by1kZXRlY3QgdGhlIHR5cGUgb2YgUVIgY29kZS4NCi0gICAgSU1BUV9RUl9NT0RFTFRZUEVfTUlDUk8gICAgICAgPSAxLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIFFSIGNvZGUgaXMgb2YgYSBtaWNybyB0eXBlLg0KLSAgICBJTUFRX1FSX01PREVMVFlQRV9NT0RFTDEgICAgICA9IDIsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgUVIgY29kZSBpcyBvZiBhIG1vZGVsMSB0eXBlLg0KLSAgICBJTUFRX1FSX01PREVMVFlQRV9NT0RFTDIgICAgICA9IDMsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgUVIgY29kZSBpcyBvZiBhIG1vZGVsMiB0eXBlLg0KLSAgICBJTUFRX1FSX01PREVMX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFFSTW9kZWxUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBXaW5kb3dCYWNrZ3JvdW5kRmlsbFN0eWxlX2VudW0gew0KLSAgICBJTUFRX0ZJTExfU1RZTEVfU09MSUQgICAgICA9IDAsICAgICAgICAgICAvL0ZpbGwgdGhlIGRpc3BsYXkgd2luZG93IHdpdGggYSBzb2xpZCBjb2xvci4NCi0gICAgSU1BUV9GSUxMX1NUWUxFX0hBVENIICAgICAgPSAyLCAgICAgICAgICAgLy9GaWxsIHRoZSBkaXNwbGF5IHdpbmRvdyB3aXRoIGEgcGF0dGVybiBkZWZpbmVkIGJ5IFdpbmRvd0JhY2tncm91bmRIYXRjaFN0eWxlLg0KLSAgICBJTUFRX0ZJTExfU1RZTEVfREVGQVVMVCAgICA9IDMsICAgICAgICAgICAvL0ZpbGwgdGhlIGRpc3BsYXkgd2luZG93IHdpdGggdGhlIE5JIFZpc2lvbiBkZWZhdWx0IHBhdHRlcm4uDQotICAgIElNQVFfRklMTF9TVFlMRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gV2luZG93QmFja2dyb3VuZEZpbGxTdHlsZTsNCi0NCi10eXBlZGVmIGVudW0gRXh0cmFjdGlvbk1vZGVfZW51bSB7DQotICAgIElNQVFfTk9STUFMX0lNQUdFICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gbWFrZXMgbm8gYXNzdW1wdGlvbnMgYWJvdXQgdGhlIHVuaWZvcm1pdHkgb2Ygb2JqZWN0cyBpbiB0aGUgaW1hZ2Ugb3IgdGhlIGltYWdlIGJhY2tncm91bmQuDQotICAgIElNQVFfVU5JRk9STV9SRUdJT05TICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGVpdGhlciB0aGUgb2JqZWN0cyBpbiB0aGUgaW1hZ2Ugb3IgdGhlIGltYWdlIGJhY2tncm91bmQgY29uc2lzdHMgb2YgdW5pZm9ybSBwaXhlbCB2YWx1ZXMuDQotICAgIElNQVFfRVhUUkFDVElPTl9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBFeHRyYWN0aW9uTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gRWRnZUZpbHRlclNpemVfZW51bSB7DQotICAgIElNQVFfRklORSAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIHVzZXMgYSBmaW5lIChuYXJyb3cpIGVkZ2UgZmlsdGVyLg0KLSAgICBJTUFRX05PUk1BTCAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiB1c2VzIGEgbm9ybWFsIGVkZ2UgZmlsdGVyLg0KLSAgICBJTUFRX0NPTlRPVVJfVFJBQ0lORyAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1NldHMgdGhlIEVkZ2UgRmlsdGVyIFNpemUgdG8gY29udG91ciB0cmFjaW5nLCB3aGljaCBwcm92aWRlcyB0aGUgYmVzdCByZXN1bHRzIGZvciBjb250b3VyIGV4dHJhY3Rpb24gYnV0IGluY3JlYXNlcyB0aGUgdGltZSByZXF1aXJlZCB0byBwcm9jZXNzIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9FREdFX0ZJTFRFUl9TSVpFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBFZGdlRmlsdGVyU2l6ZTsNCi0NCi10eXBlZGVmIGVudW0gQmFyY29kZTJEU2VhcmNoTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9TRUFSQ0hfTVVMVElQTEUgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIG11bHRpcGxlIDJEIGJhcmNvZGVzLg0KLSAgICBJTUFRX1NFQVJDSF9TSU5HTEVfQ09OU0VSVkFUSVZFICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZWFyY2hlcyBmb3IgMkQgYmFyY29kZXMgdXNpbmcgdGhlIHNhbWUgc2VhcmNoaW5nIGFsZ29yaXRobSBhcyBJTUFRX1NFQVJDSF9NVUxUSVBMRSBidXQgc3RvcHMgc2VhcmNoaW5nIGFmdGVyIGxvY2F0aW5nIG9uZSB2YWxpZCBiYXJjb2RlLg0KLSAgICBJTUFRX1NFQVJDSF9TSU5HTEVfQUdHUkVTU0lWRSAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBzZWFyY2hlcyBmb3IgYSBzaW5nbGUgMkQgYmFyY29kZSB1c2luZyBhIG1ldGhvZCB0aGF0IGFzc3VtZXMgdGhlIGJhcmNvZGUgb2NjdXBpZXMgYSBtYWpvcml0eSBvZiB0aGUgc2VhcmNoIHJlZ2lvbi4NCi0gICAgSU1BUV9CQVJDT0RFXzJEX1NFQVJDSF9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBCYXJjb2RlMkRTZWFyY2hNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBEYXRhTWF0cml4U3VidHlwZV9lbnVtIHsNCi0gICAgSU1BUV9BTExfREFUQV9NQVRSSVhfU1VCVFlQRVMgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIERhdGEgTWF0cml4IGJhcmNvZGVzIG9mIGFsbCBzdWJ0eXBlcy4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9TVUJUWVBFU19FQ0NfMDAwX0VDQ18xNDAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIERhdGEgTWF0cml4IGJhcmNvZGVzIG9mIHN1YnR5cGVzIEVDQyAwMDAsIEVDQyAwNTAsIEVDQyAwODAsIEVDQyAxMDAgYW5kIEVDQyAxNDAuDQotICAgIElNQVFfREFUQV9NQVRSSVhfU1VCVFlQRV9FQ0NfMjAwICAgICAgICAgID0gMiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvciBEYXRhIE1hdHJpeCBFQ0MgMjAwIGJhcmNvZGVzLg0KLSAgICBJTUFRX0RBVEFfTUFUUklYX1NVQlRZUEVfU0laRV9HVUFSRCAgICAgICA9IDB4RkZGRkZGRkYgICANCi19IERhdGFNYXRyaXhTdWJ0eXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBGZWF0dXJlVHlwZV9lbnVtIHsNCi0gICAgSU1BUV9OT1RfRk9VTkRfRkVBVFVSRSAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBub3QgZm91bmQuDQotICAgIElNQVFfQ0lSQ0xFX0ZFQVRVUkUgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGZlYXR1cmUgaXMgYSBjaXJjbGUuDQotICAgIElNQVFfRUxMSVBTRV9GRUFUVVJFICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGZlYXR1cmUgaXMgYW4gZWxsaXBzZS4NCi0gICAgSU1BUV9DT05TVF9DVVJWRV9GRUFUVVJFICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZXMgaXMgYSBjb25zdGFudCBjdXJ2ZS4NCi0gICAgSU1BUV9SRUNUQU5HTEVfRkVBVFVSRSAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIHJlY3RhbmdsZS4NCi0gICAgSU1BUV9MRUdfRkVBVFVSRSAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIGxlZy4NCi0gICAgSU1BUV9DT1JORVJfRkVBVFVSRSAgICAgICAgICAgICAgICAgICAgICA9IDYsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIGNvcm5lci4NCi0gICAgSU1BUV9QQVJBTExFTF9MSU5FX1BBSVJfRkVBVFVSRSAgICAgICAgICA9IDcsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIHBhcmFsbGVsIGxpbmUgcGFpci4NCi0gICAgSU1BUV9QQUlSX09GX1BBUkFMTEVMX0xJTkVfUEFJUlNfRkVBVFVSRSA9IDgsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIHBhaXIgb2YgcGFyYWxsZWwgbGluZSBwYWlycy4NCi0gICAgSU1BUV9MSU5FX0ZFQVRVUkUgICAgICAgICAgICAgICAgICAgICAgICA9IDksICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZmVhdHVyZSBpcyBhIGxpbmUuDQotICAgIElNQVFfQ0xPU0VEX0NVUlZFX0ZFQVRVUkUgICAgICAgICAgICAgICAgPSAxMCwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGZlYXR1cmUgaXMgYSBjbG9zZWQgY3VydmUuDQotICAgIElNQVFfRkVBVFVSRV9UWVBFX1NJWkVfR1VBUkQgICAgICAgICAgICAgPSAweEZGRkZGRkZGICAgDQotfSBGZWF0dXJlVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gQmFyY29kZTJEQ2VsbFNoYXBlX2VudW0gew0KLSAgICBJTUFRX1NRVUFSRV9DRUxMUyAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYW4gYWxnb3JpdGhtIGZvciBkZWNvZGluZyB0aGUgMkQgYmFyY29kZSB0aGF0IHdvcmtzIHdpdGggc3F1YXJlIGRhdGEgY2VsbHMuDQotICAgIElNQVFfUk9VTkRfQ0VMTFMgICAgICAgICAgICAgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdXNlcyBhbiBhbGdvcml0aG0gZm9yIGRlY29kaW5nIHRoZSAyRCBiYXJjb2RlIHRoYXQgd29ya3Mgd2l0aCByb3VuZCBkYXRhIGNlbGxzLg0KLSAgICBJTUFRX0JBUkNPREVfMkRfQ0VMTF9TSEFQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQmFyY29kZTJEQ2VsbFNoYXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBMb2NhbFRocmVzaG9sZE1ldGhvZF9lbnVtIHsNCi0gICAgSU1BUV9OSUJMQUNLICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gY29tcHV0ZXMgdGhyZXNob2xkcyBmb3IgZWFjaCBwaXhlbCBiYXNlZCBvbiBpdHMgbG9jYWwgc3RhdGlzdGljcyB1c2luZyB0aGUgTmlibGFjayBsb2NhbCB0aHJlc2hvbGRpbmcgYWxnb3JpdGhtLg0KLSAgICBJTUFRX0JBQ0tHUk9VTkRfQ09SUkVDVElPTiAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBwZXJmb3JtcyBiYWNrZ3JvdW5kIGNvcnJlY3Rpb24gZmlyc3QgdG8gZWxpbWluYXRlIG5vbi11bmlmb3JtIGxpZ2h0aW5nIGVmZmVjdHMsIHRoZW4gcGVyZm9ybXMgdGhyZXNob2xkaW5nIHVzaW5nIHRoZSBPdHN1IHRocmVzaG9sZGluZyBhbGdvcml0aG0uDQotICAgIElNQVFfTE9DQUxfVEhSRVNIT0xEX01FVEhPRF9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTG9jYWxUaHJlc2hvbGRNZXRob2Q7DQotDQotdHlwZWRlZiBlbnVtIEJhcmNvZGUyRFR5cGVfZW51bSB7DQotICAgIElNQVFfUERGNDE3ICAgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgMkQgYmFyY29kZSBpcyBvZiB0eXBlIFBERjQxNy4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMDAwICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDAwMC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMDUwICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDA1MC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMDgwICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDA4MC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMTAwICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDEwMC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMTQwICAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDE0MC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9FQ0NfMjAwICAgICAgICA9IDYsICAgICAgICAgICAvL1RoZSAyRCBiYXJjb2RlIGlzIG9mIHR5cGUgRGF0YSBNYXRyaXggRUNDIDIwMC4NCi0gICAgSU1BUV9CQVJDT0RFXzJEX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEJhcmNvZGUyRFR5cGU7DQotDQotdHlwZWRlZiBlbnVtIENsYXNzaWZpZXJFbmdpbmVUeXBlX2VudW0gew0KLSAgICBJTUFRX0VOR0lORV9OT05FICAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL05vIGVuZ2luZSBoYXMgYmVlbiBzZXQgb24gdGhpcyBjbGFzc2lmaWVyIHNlc3Npb24uDQotICAgIElNQVFfRU5HSU5FX05FQVJFU1RfTkVJR0hCT1IgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vTmVhcmVzdCBuZWlnaGJvciBlbmdpbmUuDQotICAgIElNQVFfRU5HSU5FX1NVUFBPUlRfVkVDVE9SX01BQ0hJTkUgICAgID0gMiwgICAgICAgICAgIA0KLSAgICBJTUFRX0NMQVNTSUZJRVJfRU5HSU5FX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IENsYXNzaWZpZXJFbmdpbmVUeXBlOw0KLQ0KLXR5cGVkZWYgZW51bSBDbGFzc2lmaWVyVHlwZV9lbnVtIHsNCi0gICAgSU1BUV9DTEFTU0lGSUVSX0NVU1RPTSAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBjbGFzc2lmaWVyIHNlc3Npb24gY2xhc3NpZmllcyB2ZWN0b3JzIG9mIGRvdWJsZXMuDQotICAgIElNQVFfQ0xBU1NJRklFUl9QQVJUSUNMRSAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgY2xhc3NpZmllciBzZXNzaW9uIGNsYXNzaWZpZXMgcGFydGljbGVzIGluIGJpbmFyeSBpbWFnZXMuDQotICAgIElNQVFfQ0xBU1NJRklFUl9DT0xPUiAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgY2xhc3NpZmllciBzZXNzaW9uIGNsYXNzaWZpZXMgYW4gaW1hZ2UgYmFzZWQgb24gaXRzIGNvbG9yLg0KLSAgICBJTUFRX0NMQVNTSUZJRVJfVEVYVFVSRSAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGNsYXNzaWZpZXIgc2Vzc2lvbiBjbGFzc2lmaWVzIGFuIGltYWdlIGJhc2VkIG9uIGl0cyB0ZXh0dXJlLg0KLSAgICBJTUFRX0NMQVNTSUZJRVJfVFlQRV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ2xhc3NpZmllclR5cGU7DQotDQotdHlwZWRlZiBlbnVtIFBhcnRpY2xlVHlwZV9lbnVtIHsNCi0gICAgSU1BUV9QQVJUSUNMRV9CUklHSFQgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9CcmlnaHQgcGFydGljbGVzLg0KLSAgICBJTUFRX1BBUlRJQ0xFX0RBUksgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL0RhcmsgcGFydGljbGVzLg0KLSAgICBJTUFRX1BBUlRJQ0xFX1RZUEVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFBhcnRpY2xlVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gVmlzaW9uSW5mb1R5cGUyX2VudW0gew0KLSAgICBJTUFRX1ZJU0lPTklORk9fQ0FMSUJSQVRJT04gICAgICAgID0gMHgwMSwgICAgICAgIC8vVXNlZCB0byBpbmRpY2F0ZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBDYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9WSVNJT05JTkZPX09WRVJMQVkgICAgICAgICAgICA9IDB4MDIsICAgICAgICAvL1VzZWQgdG8gaW5kaWNhdGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgT3ZlcmxheSBpbmZvcm1hdGlvbiBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9WSVNJT05JTkZPX0dSQVlURU1QTEFURSAgICAgICA9IDB4MDQsICAgICAgICAvL1VzZWQgdG8gaW5kaWNhdGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZ3JheXNjYWxlIHRlbXBsYXRlIGluZm9ybWF0aW9uIGluIGFuIGltYWdlLg0KLSAgICBJTUFRX1ZJU0lPTklORk9fQ09MT1JURU1QTEFURSAgICAgID0gMHgwOCwgICAgICAgIC8vVXNlZCB0byBpbmRpY2F0ZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBjb2xvciB0ZW1wbGF0ZSBpbmZvcm1hdGlvbiBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9WSVNJT05JTkZPX0dFT01FVFJJQ1RFTVBMQVRFICA9IDB4MTAsICAgICAgICAvL1VzZWQgdG8gaW5kaWNhdGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZ2VvbWV0cmljIHRlbXBsYXRlIGluZm9ybWF0aW9uIGluIGFuIGltYWdlLg0KLSAgICBJTUFRX1ZJU0lPTklORk9fQ1VTVE9NREFUQSAgICAgICAgID0gMHgyMCwgICAgICAgIC8vVXNlZCB0byBpbmRpY2F0ZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBiaW5hcnkgb3IgdGV4dCBDdXN0b20gRGF0YSBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9WSVNJT05JTkZPX0dPTERFTlRFTVBMQVRFICAgICA9IDB4NDAsICAgICAgICAvL1VzZWQgdG8gaW5kaWNhdGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZ29sZGVuIHRlbXBsYXRlIGluZm9ybWF0aW9uIGluIGFuIGltYWdlLg0KLSAgICBJTUFRX1ZJU0lPTklORk9fR0VPTUVUUklDVEVNUExBVEUyID0gMHg4MCwgICAgICAgIC8vVXNlZCB0byBpbmRpY2F0ZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBnZW9tZXRyaWMgdGVtcGxhdGUgMiBpbmZvcm1hdGlvbiBpbiBhbiBpbWFnZS4NCi0gICAgSU1BUV9WSVNJT05JTkZPX0FMTCAgICAgICAgICAgICAgICA9IDB4RkZGRkZGRkYsICAvL1JlbW92ZXMsIGNoZWNrcyBmb3IsIG9yIGluZGljYXRlcyB0aGUgcHJlc2VuY2Ugb2YgYWxsIHR5cGVzIG9mIGV4dHJhIGluZm9ybWF0aW9uIGluIGFuIGltYWdlLg0KLX0gVmlzaW9uSW5mb1R5cGUyOw0KLQ0KLXR5cGVkZWYgZW51bSBSZWFkQ2xhc3NpZmllckZpbGVNb2RlX2VudW0gew0KLSAgICBJTUFRX0NMQVNTSUZJRVJfUkVBRF9BTEwgICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9SZWFkIGFsbCBpbmZvcm1hdGlvbiBmcm9tIHRoZSBjbGFzc2lmaWVyIGZpbGUuDQotICAgIElNQVFfQ0xBU1NJRklFUl9SRUFEX1NBTVBMRVMgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1JlYWQgb25seSB0aGUgc2FtcGxlcyBmcm9tIHRoZSBjbGFzc2lmaWVyIGZpbGUuDQotICAgIElNQVFfQ0xBU1NJRklFUl9SRUFEX1BST1BFUlRJRVMgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1JlYWQgb25seSB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBjbGFzc2lmaWVyIGZpbGUuDQotICAgIElNQVFfUkVBRF9DTEFTU0lGSUVSX0ZJTEVfTU9ERVNfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFJlYWRDbGFzc2lmaWVyRmlsZU1vZGU7DQotDQotdHlwZWRlZiBlbnVtIFdyaXRlQ2xhc3NpZmllckZpbGVNb2RlX2VudW0gew0KLSAgICBJTUFRX0NMQVNTSUZJRVJfV1JJVEVfQUxMICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vV3JpdGVzIGFsbCBpbmZvcm1hdGlvbiB0byB0aGUgY2xhc3NpZmllciBmaWxlLg0KLSAgICBJTUFRX0NMQVNTSUZJRVJfV1JJVEVfQ0xBU1NJRllfT05MWSAgICAgICAgID0gMSwgICAgICAgICAgIC8vV3JpdGUgb25seSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNsYXNzaWZ5IHRvIHRoZSBjbGFzc2lmaWVyIGZpbGUuDQotICAgIElNQVFfV1JJVEVfQ0xBU1NJRklFUl9GSUxFX01PREVTX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBXcml0ZUNsYXNzaWZpZXJGaWxlTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gQmFyY29kZTJEU2hhcGVfZW51bSB7DQotICAgIElNQVFfU1FVQVJFX0JBUkNPREVfMkQgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvciBzcXVhcmUgMkQgYmFyY29kZXMuDQotICAgIElNQVFfUkVDVEFOR1VMQVJfQkFSQ09ERV8yRCAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvciByZWN0YW5ndWxhciAyRCBiYXJjb2Rlcy4NCi0gICAgSU1BUV9CQVJDT0RFXzJEX1NIQVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBCYXJjb2RlMkRTaGFwZTsNCi0NCi10eXBlZGVmIGVudW0gRGF0YU1hdHJpeFJvdGF0aW9uTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9VTkxJTUlURURfUk9UQVRJT04gICAgICAgICAgICAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gYWxsb3dzIGZvciB1bmxpbWl0ZWQgcm90YXRpb24uDQotICAgIElNQVFfMF9ERUdSRUVTICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGFsbG93cyBmb3IgYmV0d2VlbiAtNSBhbmQgNSBkZWdyZWVzIG9mIHJvdGF0aW9uLg0KLSAgICBJTUFRXzkwX0RFR1JFRVMgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBhbGxvd3MgZm9yIGJldHdlZW4gODUgYW5kIDk1IGRlZ3JlZXMgb2Ygcm90YXRpb24uDQotICAgIElNQVFfMTgwX0RFR1JFRVMgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGFsbG93cyBmb3IgYmV0d2VlbiAxNzUgYW5kIDE4NSBkZWdyZWVzIG9mIHJvdGF0aW9uLg0KLSAgICBJTUFRXzI3MF9ERUdSRUVTICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBhbGxvd3MgZm9yIGJldHdlZW4gMjY1IGFuZCAyNzUgZGVncmVlcyBvZiByb3RhdGlvbi4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9ST1RBVElPTl9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBEYXRhTWF0cml4Um90YXRpb25Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBBSU1HcmFkZV9lbnVtIHsNCi0gICAgSU1BUV9BSU1fR1JBREVfRiAgICAgICAgICAgICAgICAgICAgICA9IDAsICAgICAgICAgICAvL1RoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHJlY2VpdmVkIGEgZ3JhZGUgb2YgRi4NCi0gICAgSU1BUV9BSU1fR1JBREVfRCAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHJlY2VpdmVkIGEgZ3JhZGUgb2YgRC4NCi0gICAgSU1BUV9BSU1fR1JBREVfQyAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHJlY2VpdmVkIGEgZ3JhZGUgb2YgQy4NCi0gICAgSU1BUV9BSU1fR1JBREVfQiAgICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHJlY2VpdmVkIGEgZ3JhZGUgb2YgQi4NCi0gICAgSU1BUV9BSU1fR1JBREVfQSAgICAgICAgICAgICAgICAgICAgICA9IDQsICAgICAgICAgICAvL1RoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHJlY2VpdmVkIGEgZ3JhZGUgb2YgQS4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9BSU1fR1JBREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IEFJTUdyYWRlOw0KLQ0KLXR5cGVkZWYgZW51bSBEYXRhTWF0cml4Q2VsbEZpbGxNb2RlX2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX0NFTExfRklMTF9NT0RFICAgICAgICAgICAgPSAtMiwgICAgICAgICAgLy9TZXRzIHRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgY2VsbCBmaWxsIHBlcmNlbnRhZ2UgYXV0b21hdGljYWxseS4NCi0gICAgSU1BUV9MT1dfRklMTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU2V0cyB0aGUgZnVuY3Rpb24gdG8gcmVhZCBEYXRhIE1hdHJpeCBiYXJjb2RlcyB3aXRoIGEgY2VsbCBmaWxsIHBlcmNlbnRhZ2Ugb2YgbGVzcyB0aGFuIDMwIHBlcmNlbnQuDQotICAgIElNQVFfTk9STUFMX0ZJTEwgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NldHMgdGhlIGZ1bmN0aW9uIHRvIHJlYWQgRGF0YSBNYXRyaXggYmFyY29kZXMgd2l0aCBhIGNlbGwgZmlsbCBwZXJjZW50YWdlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAzMCBwZXJjZW50Lg0KLSAgICBJTUFRX0RBVEFfTUFUUklYX0NFTExfRklMTF9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBEYXRhTWF0cml4Q2VsbEZpbGxNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBEYXRhTWF0cml4RGVtb2R1bGF0aW9uTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9BVVRPX0RFVEVDVF9ERU1PRFVMQVRJT05fTU9ERSAgICAgICAgICAgID0gLTIsICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgdHJ5IGVhY2ggZGVtb2R1bGF0aW9uIG1vZGUgYW5kIHVzZSB0aGUgb25lIHdoaWNoIGRlY29kZXMgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgd2l0aGluIHRoZSBmZXdlc3QgaXRlcmF0aW9ucyBhbmQgdXRpbGl6aW5nIHRoZSBsZWFzdCBhbW91bnQgb2YgZXJyb3IgY29ycmVjdGlvbi4NCi0gICAgSU1BUV9ISVNUT0dSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHVzZXMgYSBoaXN0b2dyYW0gb2YgYWxsIG9mIHRoZSBEYXRhIE1hdHJpeCBjZWxscyB0byBjYWxjdWxhdGUgYSB0aHJlc2hvbGQuDQotICAgIElNQVFfTE9DQUxfQ09OVFJBU1QgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBleGFtaW5lcyBlYWNoIG9mIHRoZSBjZWxsJ3MgbmVpZ2hib3JzIHRvIGRldGVybWluZSBpZiB0aGUgY2VsbCBpcyBvbiBvciBvZmYuDQotICAgIElNQVFfQ09NQklORUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB1c2VzIHRoZSBoaXN0b2dyYW0gb2YgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgdG8gY2FsY3VsYXRlIGEgdGhyZXNob2xkLg0KLSAgICBJTUFRX0FMTF9ERU1PRFVMQVRJT05fTU9ERVMgICAgICAgICAgICAgICAgICAgPSAzLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gdHJpZXMgSU1BUV9ISVNUT0dSQU0sIHRoZW4gSU1BUV9MT0NBTF9DT05UUkFTVCBhbmQgdGhlbiBJTUFRX0NPTUJJTkFUSU9OLCBzdG9wcGluZyBvbmNlIG9uZSBtb2RlIGlzIHN1Y2Nlc3NmdWwuDQotICAgIElNQVFfREFUQV9NQVRSSVhfREVNT0RVTEFUSU9OX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IERhdGFNYXRyaXhEZW1vZHVsYXRpb25Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBEYXRhTWF0cml4RUNDX2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX0VDQyAgICAgICAgICAgID0gLTIsICAgICAgICAgIC8vU2V0cyB0aGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIEVDQyBhdXRvbWF0aWNhbGx5Lg0KLSAgICBJTUFRX0VDQ18wMDAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU2V0cyB0aGUgZnVuY3Rpb24gdG8gcmVhZCBEYXRhIE1hdHJpeCBiYXJjb2RlcyBvZiBFQ0MgMDAwIG9ubHkuDQotICAgIElNQVFfRUNDXzA1MCAgICAgICAgICAgICAgICAgICAgPSA1MCwgICAgICAgICAgLy9TZXRzIHRoZSBmdW5jdGlvbiB0byByZWFkIERhdGEgTWF0cml4IGJhcmNvZGVzIG9mIEVDQyAwNTAgb25seS4NCi0gICAgSU1BUV9FQ0NfMDgwICAgICAgICAgICAgICAgICAgICA9IDgwLCAgICAgICAgICAvL1NldHMgdGhlIGZ1bmN0aW9uIHRvIHJlYWQgRGF0YSBNYXRyaXggYmFyY29kZXMgb2YgRUNDIDA4MCBvbmx5Lg0KLSAgICBJTUFRX0VDQ18xMDAgICAgICAgICAgICAgICAgICAgID0gMTAwLCAgICAgICAgIC8vU2V0cyB0aGUgZnVuY3Rpb24gdG8gcmVhZCBEYXRhIE1hdHJpeCBiYXJjb2RlcyBvZiBFQ0MgMTAwIG9ubHkuDQotICAgIElNQVFfRUNDXzE0MCAgICAgICAgICAgICAgICAgICAgPSAxNDAsICAgICAgICAgLy9TZXRzIHRoZSBmdW5jdGlvbiB0byByZWFkIERhdGEgTWF0cml4IGJhcmNvZGVzIG9mIEVDQyAxNDAgb25seS4NCi0gICAgSU1BUV9FQ0NfMDAwXzE0MCAgICAgICAgICAgICAgICA9IDE5MCwgICAgICAgICAvL1NldHMgdGhlIGZ1bmN0aW9uIHRvIHJlYWQgRGF0YSBNYXRyaXggYmFyY29kZXMgb2YgRUNDIDAwMCwgRUNDIDA1MCwgRUNDIDA4MCwgRUNDIDEwMCwgYW5kIEVDQyAxNDAgb25seS4NCi0gICAgSU1BUV9FQ0NfMjAwICAgICAgICAgICAgICAgICAgICA9IDIwMCwgICAgICAgICAvL1NldHMgdGhlIGZ1bmN0aW9uIHRvIHJlYWQgRGF0YSBNYXRyaXggYmFyY29kZXMgb2YgRUNDIDIwMCBvbmx5Lg0KLSAgICBJTUFRX0RBVEFfTUFUUklYX0VDQ19TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gRGF0YU1hdHJpeEVDQzsNCi0NCi10eXBlZGVmIGVudW0gRGF0YU1hdHJpeFBvbGFyaXR5X2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX1BPTEFSSVRZICAgICAgICAgICAgPSAtMiwgICAgICAgICAgLy9TZXRzIHRoZSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgcG9sYXJpdHkgYXV0b21hdGljYWxseS4NCi0gICAgSU1BUV9CTEFDS19EQVRBX09OX1dISVRFX0JBQ0tHUk9VTkQgID0gMCwgICAgICAgICAgIC8vU2V0cyB0aGUgZnVuY3Rpb24gdG8gcmVhZCBEYXRhIE1hdHJpeCBiYXJjb2RlcyB3aXRoIGRhcmsgZGF0YSBvbiBhIGJyaWdodCBiYWNrZ3JvdW5kLg0KLSAgICBJTUFRX1dISVRFX0RBVEFfT05fQkxBQ0tfQkFDS0dST1VORCAgPSAxLCAgICAgICAgICAgLy9TZXRzIHRoZSBmdW5jdGlvbiB0byByZWFkIERhdGEgTWF0cml4IGJhcmNvZGVzIHdpdGggYnJpZ2h0IGRhdGEgb24gYSBkYXJrIGJhY2tncm91bmQuDQotICAgIElNQVFfREFUQV9NQVRSSVhfUE9MQVJJVFlfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IERhdGFNYXRyaXhQb2xhcml0eTsNCi0NCi10eXBlZGVmIGVudW0gRGF0YU1hdHJpeENlbGxGaWx0ZXJNb2RlX2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX0NFTExfRklMVEVSX01PREUgICAgICAgICAgICA9IC0yLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB3aWxsIHRyeSBhbGwgZmlsdGVyIG1vZGVzIGFuZCB1c2VzIHRoZSBvbmUgdGhhdCBkZWNvZGVzIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHdpdGhpbiB0aGUgZmV3ZXN0IGl0ZXJhdGlvbnMgYW5kIHV0aWxpemluZyB0aGUgbGVhc3QgYW1vdW50IG9mIGVycm9yIGNvcnJlY3Rpb24uDQotICAgIElNQVFfQVZFUkFHRV9GSUxURVIgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHZhbHVlIGZvciB0aGUgY2VsbCB0byB0aGUgYXZlcmFnZSBvZiB0aGUgc2FtcGxlZCBwaXhlbHMuDQotICAgIElNQVFfTUVESUFOX0ZJTFRFUiAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHZhbHVlIGZvciB0aGUgY2VsbCB0byB0aGUgbWVkaWFuIG9mIHRoZSBzYW1wbGVkIHBpeGVscy4NCi0gICAgSU1BUV9DRU5UUkFMX0FWRVJBR0VfRklMVEVSICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBhdmVyYWdlIG9mIHRoZSBwaXhlbHMgaW4gdGhlIGNlbnRlciBvZiB0aGUgY2VsbCBzYW1wbGUuDQotICAgIElNQVFfSElHSF9BVkVSQUdFX0ZJTFRFUiAgICAgICAgICAgICAgICAgICAgID0gMywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHZhbHVlIGZvciB0aGUgY2VsbCB0byB0aGUgYXZlcmFnZSB2YWx1ZSBvZiB0aGUgaGFsZiBvZiB0aGUgc2FtcGxlZCBwaXhlbHMgd2l0aCB0aGUgaGlnaGVzdCBwaXhlbCB2YWx1ZXMuDQotICAgIElNQVFfTE9XX0FWRVJBR0VfRklMVEVSICAgICAgICAgICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHZhbHVlIGZvciB0aGUgY2VsbCB0byB0aGUgYXZlcmFnZSB2YWx1ZSBvZiB0aGUgaGFsZiBvZiB0aGUgc2FtcGxlZCBwaXhlbHMgd2l0aCB0aGUgbG93ZXN0IHBpeGVsIHZhbHVlcy4NCi0gICAgSU1BUV9WRVJZX0hJR0hfQVZFUkFHRV9GSUxURVIgICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGl4ZWwgdmFsdWUgZm9yIHRoZSBjZWxsIHRvIHRoZSBhdmVyYWdlIHZhbHVlIG9mIHRoZSBuaW50aCBvZiB0aGUgc2FtcGxlZCBwaXhlbHMgd2l0aCB0aGUgaGlnaGVzdCBwaXhlbCB2YWx1ZXMuDQotICAgIElNQVFfVkVSWV9MT1dfQVZFUkFHRV9GSUxURVIgICAgICAgICAgICAgICAgID0gNiwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHNldHMgdGhlIHBpeGVsIHZhbHVlIGZvciB0aGUgY2VsbCB0byB0aGUgYXZlcmFnZSB2YWx1ZSBvZiB0aGUgbmludGggb2YgdGhlIHNhbXBsZWQgcGl4ZWxzIHdpdGggdGhlIGxvd2VzdCBwaXhlbCB2YWx1ZXMuDQotICAgIElNQVFfQUxMX0NFTExfRklMVEVSUyAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHRyaWVzIGVhY2ggZmlsdGVyIG1vZGUsIHN0YXJ0aW5nIHdpdGggSU1BUV9BVkVSQUdFX0ZJTFRFUiBhbmQgZW5kaW5nIHdpdGggSU1BUV9WRVJZX0xPV19BVkVSQUdFX0ZJTFRFUiwgc3RvcHBpbmcgb25jZSBhIGZpbHRlciBtb2RlIGRlY29kZXMgY29ycmVjdGx5Lg0KLSAgICBJTUFRX0RBVEFfTUFUUklYX0NFTExfRklMVEVSX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IERhdGFNYXRyaXhDZWxsRmlsdGVyTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gV2luZG93QmFja2dyb3VuZEhhdGNoU3R5bGVfZW51bSB7DQotICAgIElNQVFfSEFUQ0hfU1RZTEVfSE9SSVpPTlRBTCAgICAgICAgPSAwLCAgICAgICAgICAgLy9UaGUgYmFja2dyb3VuZCBvZiB0aGUgZGlzcGxheSB3aW5kb3cgd2lsbCBiZSBob3Jpem9udGFsIGJhcnMuDQotICAgIElNQVFfSEFUQ0hfU1RZTEVfVkVSVElDQUwgICAgICAgICAgPSAxLCAgICAgICAgICAgLy9UaGUgYmFja2dyb3VuZCBvZiB0aGUgZGlzcGxheSB3aW5kb3cgd2lsbCBiZSB2ZXJ0aWNhbCBiYXJzLg0KLSAgICBJTUFRX0hBVENIX1NUWUxFX0ZPUldBUkRfRElBR09OQUwgID0gMiwgICAgICAgICAgIC8vVGhlIGJhY2tncm91bmQgb2YgdGhlIGRpc3BsYXkgd2luZG93IHdpbGwgYmUgZGlhZ29uYWwgYmFycy4NCi0gICAgSU1BUV9IQVRDSF9TVFlMRV9CQUNLV0FSRF9ESUFHT05BTCA9IDMsICAgICAgICAgICAvL1RoZSBiYWNrZ3JvdW5kIG9mIHRoZSBkaXNwbGF5IHdpbmRvdyB3aWxsIGJlIGRpYWdvbmFsIGJhcnMuDQotICAgIElNQVFfSEFUQ0hfU1RZTEVfQ1JPU1MgICAgICAgICAgICAgPSA0LCAgICAgICAgICAgLy9UaGUgYmFja2dyb3VuZCBvZiB0aGUgZGlzcGxheSB3aW5kb3cgd2lsbCBiZSBpbnRlcnNlY3RpbmcgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgYmFycy4NCi0gICAgSU1BUV9IQVRDSF9TVFlMRV9DUk9TU19IQVRDSCAgICAgICA9IDUsICAgICAgICAgICAvL1RoZSBiYWNrZ3JvdW5kIG9mIHRoZSBkaXNwbGF5IHdpbmRvdyB3aWxsIGJlIGludGVyc2VjdGluZyBmb3J3YXJkIGFuZCBiYWNrd2FyZCBkaWFnb25hbCBiYXJzLg0KLSAgICBJTUFRX0hBVENIX1NUWUxFX1NJWkVfR1VBUkQgICAgICAgID0gMHhGRkZGRkZGRiAgIA0KLX0gV2luZG93QmFja2dyb3VuZEhhdGNoU3R5bGU7DQotDQotdHlwZWRlZiBlbnVtIERhdGFNYXRyaXhNaXJyb3JNb2RlX2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX01JUlJPUiAgICAgICAgICAgICAgICAgPSAtMiwgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGRldGVybWluZSBpZiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZSBpcyBtaXJyb3JlZC4NCi0gICAgSU1BUV9BUFBFQVJTX05PUk1BTCAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIHNob3VsZCBleHBlY3QgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgdG8gYXBwZWFyIG5vcm1hbC4NCi0gICAgSU1BUV9BUFBFQVJTX01JUlJPUkVEICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIHNob3VsZCBleHBlY3QgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgdG8gYXBwZWFyIG1pcnJvcmVkLg0KLSAgICBJTUFRX0RBVEFfTUFUUklYX01JUlJPUl9NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBEYXRhTWF0cml4TWlycm9yTW9kZTsNCi0NCi10eXBlZGVmIGVudW0gQ2FsaWJyYXRpb25Nb2RlMl9lbnVtIHsNCi0gICAgSU1BUV9QRVJTUEVDVElWRV9NT0RFICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRnVuY3Rpb25zIGNvcnJlY3QgZm9yIGRpc3RvcnRpb24gY2F1c2VkIGJ5IHRoZSBjYW1lcmEncyBwZXJzcGVjdGl2ZS4NCi0gICAgSU1BUV9NSUNST1BMQU5FX01PREUgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vRnVuY3Rpb25zIGNvcnJlY3QgZm9yIGRpc3RvcnRpb24gY2F1c2VkIGJ5IHRoZSBjYW1lcmEncyBsZW5zLg0KLSAgICBJTUFRX1NJTVBMRV9DQUxJQlJBVElPTl9NT0RFICAgICAgPSAyLCAgICAgICAgICAgLy9GdW5jdGlvbnMgZG8gbm90IGNvcnJlY3QgZm9yIGRpc3RvcnRpb24uDQotICAgIElNQVFfQ09SUkVDVEVEX0lNQUdFX01PREUgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBpbWFnZSBpcyBhbHJlYWR5IGNvcnJlY3RlZC4NCi0gICAgSU1BUV9OT19DQUxJQlJBVElPTl9NT0RFICAgICAgICAgID0gNCwgICAgICAgICAgIC8vSW1hZ2Ugd2l0aCBObyBjYWxpYnJhdGlvbi4NCi0gICAgSU1BUV9DQUxJQlJBVElPTl9NT0RFMl9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gQ2FsaWJyYXRpb25Nb2RlMjsNCi0NCi10eXBlZGVmIGVudW0gRGF0YU1hdHJpeEdyYWRpbmdNb2RlX2VudW0gew0KLSAgICBJTUFRX05PX0dSQURJTkcgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIGRvZXMgbm90IG1ha2UgYW55IHByZXBhcmF0b3J5IGNhbGN1bGF0aW9ucy4NCi0gICAgSU1BUV9QUkVQQVJFX0ZPUl9BSU0gICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiBwcmVwYXJlcyB0aGUgaW1hZ2UgZm9yIGdyYWRpbmcgdXNpbmcgdGhlIEFJTSBQcmludCBRdWFsaXR5IG1ldHJpY3MuDQotICAgIElNQVFfREFUQV9NQVRSSVhfR1JBRElOR19NT0RFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBEYXRhTWF0cml4R3JhZGluZ01vZGU7DQotDQotdHlwZWRlZiBlbnVtIFdhdmVsZXRUcmFuc2Zvcm1Nb2RlX2VudW0gew0KLSAgICBJTUFRX1dBVkVMRVRfVFJBTlNGT1JNX0lOVEVHRVIgICAgICAgICA9IDAsICAgICAgICAgICAvL1VzZXMgYSA1LTMgcmV2ZXJzaWJsZSBpbnRlZ2VyIHRyYW5zZm9ybS4NCi0gICAgSU1BUV9XQVZFTEVUX1RSQU5TRk9STV9GTE9BVElOR19QT0lOVCAgPSAxLCAgICAgICAgICAgLy9QZXJmb3JtcyBhIDktNyBpcnJldmVyc2libGUgZmxvYXRpbmctcG9pbnQgdHJhbnNmb3JtLg0KLSAgICBJTUFRX1dBVkVMRVRfVFJBTlNGT1JNX01PREVfU0laRV9HVUFSRCA9IDB4RkZGRkZGRkYgICANCi19IFdhdmVsZXRUcmFuc2Zvcm1Nb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBOb3JtYWxpemF0aW9uTWV0aG9kX2VudW0gew0KLSAgICBJTUFRX05PUk1BTElaQVRJT05fTk9ORSAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vTm8gbm9ybWFsaXphdGlvbi4NCi0gICAgSU1BUV9OT1JNQUxJWkFUSU9OX0hJU1RPR1JBTV9NQVRDSElORyA9IDEsICAgICAgICAgICAvL0FkanVzdCBpbWFnZSBzbyBpdHMgaGlzdG9ncmFtIGlzIHNpbWlsYXIgdG8gdGhlIGdvbGRlbiB0ZW1wbGF0ZSdzIGhpc3RvZ3JhbS4NCi0gICAgSU1BUV9OT1JNQUxJWkFUSU9OX0FWRVJBR0VfTUFUQ0hJTkcgICA9IDIsICAgICAgICAgICAvL0FkanVzdCBpbWFnZSBzbyBpdHMgbWVhbiBwaXhlbCB2YWx1ZSBlcXVhbHMgdGhlIGdvbGRlbiB0ZW1wbGF0ZSdzIG1lYW4gcGl4ZWwgdmFsdWUuDQotICAgIElNQVFfTk9STUFMSVpBVElPTl9TSVpFX0dVQVJEICAgICAgICAgPSAweEZGRkZGRkZGICAgDQotfSBOb3JtYWxpemF0aW9uTWV0aG9kOw0KLQ0KLXR5cGVkZWYgZW51bSBSZWdpc3RyYXRpb25NZXRob2RfZW51bSB7DQotICAgIElNQVFfUkVHSVNUUkFUSU9OX05PTkUgICAgICAgID0gMCwgICAgICAgICAgIC8vTm8gcmVnaXN0cmF0aW9uLg0KLSAgICBJTUFRX1JFR0lTVFJBVElPTl9QRVJTUEVDVElWRSA9IDEsICAgICAgICAgICAvL0FkanVzdCBpbWFnZSB0byBjb3JyZWN0IGZvciBtaW5vciB2YXJpYXRpb25zIGluIGFsaWdubWVudCBvciBwZXJzcGVjdGl2ZS4NCi0gICAgSU1BUV9SRUdJU1RSQVRJT05fU0laRV9HVUFSRCAgPSAweEZGRkZGRkZGICAgDQotfSBSZWdpc3RyYXRpb25NZXRob2Q7DQotDQotdHlwZWRlZiBlbnVtIExpbmVhckF2ZXJhZ2VzTW9kZV9lbnVtIHsNCi0gICAgSU1BUV9DT0xVTU5fQVZFUkFHRVMgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIGNhbGN1bGF0ZXMgdGhlIG1lYW4gcGl4ZWwgdmFsdWUgb2YgZWFjaCBjb2x1bW4uDQotICAgIElNQVFfUk9XX0FWRVJBR0VTICAgICAgICAgICAgICAgICAgICA9IDIsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBjYWxjdWxhdGVzIHRoZSBtZWFuIHBpeGVsIHZhbHVlIG9mIGVhY2ggcm93Lg0KLSAgICBJTUFRX1JJU0lOR19ESUFHT05BTF9BVkVSQUdFUyAgICAgICAgPSA0LCAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gY2FsY3VsYXRlcyB0aGUgbWVhbiBwaXhlbCB2YWx1ZSBvZiBlYWNoIGRpYWdvbmFsIHJ1bm5pbmcgZnJvbSB0aGUgbG93ZXIgbGVmdCB0byB0aGUgdXBwZXIgcmlnaHQgb2YgdGhlIGluc3BlY3RlZCBhcmVhIG9mIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9GQUxMSU5HX0RJQUdPTkFMX0FWRVJBR0VTICAgICAgID0gOCwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIGNhbGN1bGF0ZXMgdGhlIG1lYW4gcGl4ZWwgdmFsdWUgb2YgZWFjaCBkaWFnb25hbCBydW5uaW5nIGZyb20gdGhlIHVwcGVyIGxlZnQgdG8gdGhlIGxvd2VyIHJpZ2h0IG9mIHRoZSBpbnNwZWN0ZWQgYXJlYSBvZiB0aGUgaW1hZ2UuDQotICAgIElNQVFfQUxMX0xJTkVBUl9BVkVSQUdFUyAgICAgICAgICAgICA9IDE1LCAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBjYWxjdWxhdGVzIGFsbCBmb3VyIGxpbmVhciBtZWFuIHBpeGVsIHZhbHVlcy4NCi0gICAgSU1BUV9MSU5FQVJfQVZFUkFHRVNfTU9ERV9TSVpFX0dVQVJEID0gMHhGRkZGRkZGRiAgIA0KLX0gTGluZWFyQXZlcmFnZXNNb2RlOw0KLQ0KLXR5cGVkZWYgZW51bSBDb21wcmVzc2lvblR5cGVfZW51bSB7DQotICAgIElNQVFfQ09NUFJFU1NJT05fTk9ORSAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoYXQgdGhlIGZ1bmN0aW9uIHNob3VsZCBub3QgY29tcHJlc3MgdGhlIGltYWdlLg0KLSAgICBJTUFRX0NPTVBSRVNTSU9OX0pQRUcgICAgICAgICAgICA9IDEsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBzaG91bGQgdXNlIGxvc3N5IEpQRUcgY29tcHJlc3Npb24gb24gdGhlIGltYWdlLg0KLSAgICBJTUFRX0NPTVBSRVNTSU9OX1BBQ0tFRF9CSU5BUlkgICA9IDIsICAgICAgICAgICAvL1NwZWNpZmllcyB0aGF0IHRoZSBmdW5jdGlvbiBzaG91bGQgdXNlIGxvc3NsZXNzIGJpbmFyeSBwYWNraW5nIG9uIHRoZSBpbWFnZS4NCi0gICAgSU1BUV9DT01QUkVTU0lPTl9UWVBFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBDb21wcmVzc2lvblR5cGU7DQotDQotdHlwZWRlZiBlbnVtIEZsYXR0ZW5UeXBlX2VudW0gew0KLSAgICBJTUFRX0ZMQVRURU5fSU1BR0UgICAgICAgICAgICAgICAgID0gMCwgICAgICAgICAgIC8vRmxhdHRlbnMganVzdCB0aGUgaW1hZ2UgZGF0YS4NCi0gICAgSU1BUV9GTEFUVEVOX0lNQUdFX0FORF9WSVNJT05fSU5GTyA9IDEsICAgICAgICAgICAvL0ZsYXR0ZW5zIHRoZSBpbWFnZSBkYXRhIGFuZCBhbnkgVmlzaW9uIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW1hZ2UuDQotICAgIElNQVFfRkxBVFRFTl9UWVBFX1NJWkVfR1VBUkQgICAgICAgPSAweEZGRkZGRkZGICAgDQotfSBGbGF0dGVuVHlwZTsNCi0NCi10eXBlZGVmIGVudW0gRGF0YU1hdHJpeENlbGxTYW1wbGVTaXplX2VudW0gew0KLSAgICBJTUFRX0FVVE9fREVURUNUX0NFTExfU0FNUExFX1NJWkUgICAgICAgICAgICA9IC0yLCAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB3aWxsIHRyeSBlYWNoIHNhbXBsZSBzaXplIGFuZCB1c2UgdGhlIG9uZSB3aGljaCBkZWNvZGVzIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIHdpdGhpbiB0aGUgZmV3ZXN0IGl0ZXJhdGlvbnMgYW5kIHV0aWxpemluZyB0aGUgbGVhc3QgYW1vdW50IG9mIGVycm9yIGNvcnJlY3Rpb24uDQotICAgIElNQVFfMXgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgdXNlIGEgMXgxIHNpemVkIHNhbXBsZSBmcm9tIGVhY2ggY2VsbC4NCi0gICAgSU1BUV8yeDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSAyeDIgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRXzN4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB3aWxsIHVzZSBhIDN4MyBzaXplZCBzYW1wbGUgZnJvbSBlYWNoIGNlbGwuDQotICAgIElNQVFfNHg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNCwgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgdXNlIGEgNHg0IHNpemVkIHNhbXBsZSBmcm9tIGVhY2ggY2VsbC4NCi0gICAgSU1BUV81eDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1LCAgICAgICAgICAgLy9UaGUgZnVuY3Rpb24gd2lsbCB1c2UgYSA1eDUgc2l6ZWQgc2FtcGxlIGZyb20gZWFjaCBjZWxsLg0KLSAgICBJTUFRXzZ4NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYsICAgICAgICAgICAvL1RoZSBmdW5jdGlvbiB3aWxsIHVzZSBhIDZ4NiBzaXplZCBzYW1wbGUgZnJvbSBlYWNoIGNlbGwuDQotICAgIElNQVFfN3g3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNywgICAgICAgICAgIC8vVGhlIGZ1bmN0aW9uIHdpbGwgdXNlIGEgN3g3IHNpemVkIHNhbXBsZSBmcm9tIGVhY2ggY2VsbC4NCi0gICAgSU1BUV9EQVRBX01BVFJJWF9DRUxMX1NBTVBMRV9TSVpFX1NJWkVfR1VBUkQgPSAweEZGRkZGRkZGICAgDQotfSBEYXRhTWF0cml4Q2VsbFNhbXBsZVNpemU7DQotDQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEZvcndhcmQgRGVjbGFyZSBEYXRhIFN0cnVjdHVyZXMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi10eXBlZGVmIHN0cnVjdCBJbWFnZV9zdHJ1Y3QgSW1hZ2U7DQotdHlwZWRlZiBzdHJ1Y3QgUk9JX3N0cnVjdCBST0k7DQotdHlwZWRlZiBzdHJ1Y3QgT3ZlcmxheV9zdHJ1Y3QgT3ZlcmxheTsNCi10eXBlZGVmIHN0cnVjdCBDbGFzc2lmaWVyU2Vzc2lvbl9zdHJ1Y3QgQ2xhc3NpZmllclNlc3Npb247DQotdHlwZWRlZiBzdHJ1Y3QgTXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJuX3N0cnVjdCBNdWx0aXBsZUdlb21ldHJpY1BhdHRlcm47DQotdHlwZWRlZiBpbnQgQ29udG91cklEOw0KLXR5cGVkZWYgdW5zaWduZWQgbG9uZyBTRVNTSU9OX0lEOw0KLXR5cGVkZWYgaW50CUFWSVNlc3Npb247DQotdHlwZWRlZiBjaGFyKiBGaWx0ZXJOYW1lOw0KLXR5cGVkZWYgY2hhciBTdHJpbmcyNTVbMjU2XTsNCi10eXBlZGVmIHN0cnVjdCBDaGFyU2V0X3N0cnVjdCBDaGFyU2V0Ow0KLXR5cGVkZWYgc3RydWN0IE9DUlNwYWNpbmdPcHRpb25zX3N0cnVjdCBPQ1JTcGFjaW5nT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBPQ1JQcm9jZXNzaW5nT3B0aW9uc19zdHJ1Y3QgT0NSUHJvY2Vzc2luZ09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUmVhZFRleHRPcHRpb25zX3N0cnVjdCBSZWFkVGV4dE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2hhckluZm9fc3RydWN0IENoYXJJbmZvOw0KLXR5cGVkZWYgc3RydWN0IENoYXJSZXBvcnRfc3RydWN0IENoYXJSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgUmVhZFRleHRSZXBvcnRfc3RydWN0IFJlYWRUZXh0UmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IERpdmlzaW9uTW9kZWxfc3RydWN0IERpdmlzaW9uTW9kZWw7DQotdHlwZWRlZiBzdHJ1Y3QgRm9jYWxMZW5ndGhfc3RydWN0IEZvY2FsTGVuZ3RoOw0KLXR5cGVkZWYgc3RydWN0IFBvbHlNb2RlbF9zdHJ1Y3QgUG9seU1vZGVsOw0KLXR5cGVkZWYgc3RydWN0IERpc3RvcnRpb25Nb2RlbFBhcmFtc19zdHJ1Y3QgRGlzdG9ydGlvbk1vZGVsUGFyYW1zOw0KLXR5cGVkZWYgc3RydWN0IFBvaW50RmxvYXRfc3RydWN0IFBvaW50RmxvYXQ7DQotdHlwZWRlZiBzdHJ1Y3QgSW50ZXJuYWxQYXJhbWV0ZXJzX3N0cnVjdCBJbnRlcm5hbFBhcmFtZXRlcnM7DQotdHlwZWRlZiBzdHJ1Y3QgTWF4R3JpZFNpemVfc3RydWN0IE1heEdyaWRTaXplOw0KLXR5cGVkZWYgc3RydWN0IEltYWdlU2l6ZV9zdHJ1Y3QgSW1hZ2VTaXplOw0KLXR5cGVkZWYgc3RydWN0IENhbGlicmF0aW9uUmVmZXJlbmNlUG9pbnRzX3N0cnVjdCBDYWxpYnJhdGlvblJlZmVyZW5jZVBvaW50czsNCi10eXBlZGVmIHN0cnVjdCBHZXRDYW1lcmFQYXJhbWV0ZXJzUmVwb3J0X3N0cnVjdCBHZXRDYW1lcmFQYXJhbWV0ZXJzUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IENhbGlicmF0aW9uQXhpc0luZm9fc3RydWN0IENhbGlicmF0aW9uQXhpc0luZm87DQotdHlwZWRlZiBzdHJ1Y3QgQ2FsaWJyYXRpb25MZWFyblNldHVwSW5mb19zdHJ1Y3QgQ2FsaWJyYXRpb25MZWFyblNldHVwSW5mbzsNCi10eXBlZGVmIHN0cnVjdCBHcmlkRGVzY3JpcHRvcl9zdHJ1Y3QgR3JpZERlc2NyaXB0b3I7DQotdHlwZWRlZiBzdHJ1Y3QgRXJyb3JTdGF0aXN0aWNzX3N0cnVjdCBFcnJvclN0YXRpc3RpY3M7DQotdHlwZWRlZiBzdHJ1Y3QgR2V0Q2FsaWJyYXRpb25JbmZvUmVwb3J0X3N0cnVjdCBHZXRDYWxpYnJhdGlvbkluZm9SZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgRWRnZVBvbGFyaXR5X3N0cnVjdCBFZGdlUG9sYXJpdHk7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBTZXR0aW5nc19zdHJ1Y3QgQ2xhbXBTZXR0aW5nczsNCi10eXBlZGVmIHN0cnVjdCBQb2ludERvdWJsZV9zdHJ1Y3QgUG9pbnREb3VibGU7DQotdHlwZWRlZiBzdHJ1Y3QgUG9pbnREb3VibGVQYWlyX3N0cnVjdCBQb2ludERvdWJsZVBhaXI7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBSZXN1bHRzX3N0cnVjdCBDbGFtcFJlc3VsdHM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBQb2ludHNfc3RydWN0IENsYW1wUG9pbnRzOw0KLXR5cGVkZWYgc3RydWN0IFJHQlZhbHVlX3N0cnVjdCBSR0JWYWx1ZTsNCi10eXBlZGVmIHN0cnVjdCBDbGFtcE92ZXJsYXlTZXR0aW5nc19zdHJ1Y3QgQ2xhbXBPdmVybGF5U2V0dGluZ3M7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBNYXgyUmVwb3J0X3N0cnVjdCBDbGFtcE1heDJSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgQ29udG91ckZpdFNwbGluZVJlcG9ydF9zdHJ1Y3QgQ29udG91ckZpdFNwbGluZVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBMaW5lRmxvYXRfc3RydWN0IExpbmVGbG9hdDsNCi10eXBlZGVmIHN0cnVjdCBMaW5lRXF1YXRpb25fc3RydWN0IExpbmVFcXVhdGlvbjsNCi10eXBlZGVmIHN0cnVjdCBDb250b3VyRml0TGluZVJlcG9ydF9zdHJ1Y3QgQ29udG91ckZpdExpbmVSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgQ29udG91ckZpdFBvbHlub21pYWxSZXBvcnRfc3RydWN0IENvbnRvdXJGaXRQb2x5bm9taWFsUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IFBhcnRpYWxDaXJjbGVfc3RydWN0IFBhcnRpYWxDaXJjbGU7DQotdHlwZWRlZiBzdHJ1Y3QgUGFydGlhbEVsbGlwc2Vfc3RydWN0IFBhcnRpYWxFbGxpcHNlOw0KLXR5cGVkZWYgc3RydWN0IFNldHVwTWF0Y2hQYXR0ZXJuRGF0YV9zdHJ1Y3QgU2V0dXBNYXRjaFBhdHRlcm5EYXRhOw0KLXR5cGVkZWYgc3RydWN0IFJhbmdlU2V0dGluZ0RvdWJsZV9zdHJ1Y3QgUmFuZ2VTZXR0aW5nRG91YmxlOw0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY0FkdmFuY2VkU2V0dXBEYXRhT3B0aW9uX3N0cnVjdCBHZW9tZXRyaWNBZHZhbmNlZFNldHVwRGF0YU9wdGlvbjsNCi10eXBlZGVmIHN0cnVjdCBDb250b3VySW5mb1JlcG9ydF9zdHJ1Y3QgQ29udG91ckluZm9SZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgUk9JTGFiZWxfc3RydWN0IFJPSUxhYmVsOw0KLXR5cGVkZWYgc3RydWN0IFN1cGVydmlzZWRDb2xvclNlZ21lbnRhdGlvblJlcG9ydF9zdHJ1Y3QgU3VwZXJ2aXNlZENvbG9yU2VnbWVudGF0aW9uUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IExhYmVsVG9ST0lSZXBvcnRfc3RydWN0IExhYmVsVG9ST0lSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgQ29sb3JTZWdtZW5hdGlvbk9wdGlvbnNfc3RydWN0IENvbG9yU2VnbWVuYXRpb25PcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IENsYXNzaWZpZWRDdXJ2ZV9zdHJ1Y3QgQ2xhc3NpZmllZEN1cnZlOw0KLXR5cGVkZWYgc3RydWN0IFJhbmdlRG91YmxlX3N0cnVjdCBSYW5nZURvdWJsZTsNCi10eXBlZGVmIHN0cnVjdCBSYW5nZUxhYmVsX3N0cnVjdCBSYW5nZUxhYmVsOw0KLXR5cGVkZWYgc3RydWN0IEN1cnZhdHVyZUFuYWx5c2lzUmVwb3J0X3N0cnVjdCBDdXJ2YXR1cmVBbmFseXNpc1JlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBEaXNwYXJpdHlfc3RydWN0IERpc3Bhcml0eTsNCi10eXBlZGVmIHN0cnVjdCBDb21wdXRlRGlzdGFuY2VzUmVwb3J0X3N0cnVjdCBDb21wdXRlRGlzdGFuY2VzUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IE1hdGNoTW9kZV9zdHJ1Y3QgTWF0Y2hNb2RlOw0KLXR5cGVkZWYgc3RydWN0IENsYXNzaWZpZWREaXNwYXJpdHlfc3RydWN0IENsYXNzaWZpZWREaXNwYXJpdHk7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZnlEaXN0YW5jZXNSZXBvcnRfc3RydWN0IENsYXNzaWZ5RGlzdGFuY2VzUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IENvbnRvdXJDb21wdXRlQ3VydmF0dXJlUmVwb3J0X3N0cnVjdCBDb250b3VyQ29tcHV0ZUN1cnZhdHVyZVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBDb250b3VyT3ZlcmxheVNldHRpbmdzX3N0cnVjdCBDb250b3VyT3ZlcmxheVNldHRpbmdzOw0KLXR5cGVkZWYgc3RydWN0IEN1cnZlUGFyYW1ldGVyc19zdHJ1Y3QgQ3VydmVQYXJhbWV0ZXJzOw0KLXR5cGVkZWYgc3RydWN0IEV4dHJhY3RDb250b3VyUmVwb3J0X3N0cnVjdCBFeHRyYWN0Q29udG91clJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBDb25uZWN0aW9uQ29uc3RyYWludF9zdHJ1Y3QgQ29ubmVjdGlvbkNvbnN0cmFpbnQ7DQotdHlwZWRlZiBzdHJ1Y3QgRXh0cmFjdFRleHR1cmVGZWF0dXJlc1JlcG9ydF9zdHJ1Y3QgRXh0cmFjdFRleHR1cmVGZWF0dXJlc1JlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBXYXZlbGV0QmFuZHNSZXBvcnRfc3RydWN0IFdhdmVsZXRCYW5kc1JlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBDaXJjbGVGaXRPcHRpb25zX3N0cnVjdCBDaXJjbGVGaXRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IEVkZ2VPcHRpb25zMl9zdHJ1Y3QgRWRnZU9wdGlvbnMyOw0KLXR5cGVkZWYgc3RydWN0IEZpbmRDaXJjdWxhckVkZ2VPcHRpb25zX3N0cnVjdCBGaW5kQ2lyY3VsYXJFZGdlT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBGaW5kQ29uY2VudHJpY0VkZ2VPcHRpb25zX3N0cnVjdCBGaW5kQ29uY2VudHJpY0VkZ2VPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IENvbmNlbnRyaWNFZGdlRml0T3B0aW9uc19zdHJ1Y3QgQ29uY2VudHJpY0VkZ2VGaXRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IEZpbmRDb25jZW50cmljRWRnZVJlcG9ydF9zdHJ1Y3QgRmluZENvbmNlbnRyaWNFZGdlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IEZpbmRDaXJjdWxhckVkZ2VSZXBvcnRfc3RydWN0IEZpbmRDaXJjdWxhckVkZ2VSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgV2luZG93U2l6ZV9zdHJ1Y3QgV2luZG93U2l6ZTsNCi10eXBlZGVmIHN0cnVjdCBEaXNwbGFjZW1lbnRWZWN0b3Jfc3RydWN0IERpc3BsYWNlbWVudFZlY3RvcjsNCi10eXBlZGVmIHN0cnVjdCBXYXZlbGV0T3B0aW9uc19zdHJ1Y3QgV2F2ZWxldE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ29vY2N1cnJlbmNlT3B0aW9uc19zdHJ1Y3QgQ29vY2N1cnJlbmNlT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJMb2NhbFRocmVzaG9sZE9wdGlvbnNfc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllckxvY2FsVGhyZXNob2xkT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBSYW5nZUZsb2F0X3N0cnVjdCBSYW5nZUZsb2F0Ow0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllckF1dG9UaHJlc2hvbGRPcHRpb25zX3N0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJBdXRvVGhyZXNob2xkT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJQcmVwcm9jZXNzaW5nT3B0aW9uczJfc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zMjsNCi10eXBlZGVmIHN0cnVjdCBNZWFzdXJlUGFydGljbGVzUmVwb3J0X3N0cnVjdCBNZWFzdXJlUGFydGljbGVzUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaDNfc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaDM7DQotdHlwZWRlZiBzdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zM19zdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMzsNCi10eXBlZGVmIHN0cnVjdCBDb2xvck9wdGlvbnNfc3RydWN0IENvbG9yT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBTYW1wbGVTY29yZV9zdHJ1Y3QgU2FtcGxlU2NvcmU7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllclJlcG9ydEFkdmFuY2VkX3N0cnVjdCBDbGFzc2lmaWVyUmVwb3J0QWR2YW5jZWQ7DQotdHlwZWRlZiBzdHJ1Y3QgTGVhcm5HZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMl9zdHJ1Y3QgTGVhcm5HZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMjsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUZpbHRlck9wdGlvbnMyX3N0cnVjdCBQYXJ0aWNsZUZpbHRlck9wdGlvbnMyOw0KLXR5cGVkZWYgc3RydWN0IEZpbmRFZGdlT3B0aW9uczJfc3RydWN0IEZpbmRFZGdlT3B0aW9uczI7DQotdHlwZWRlZiBzdHJ1Y3QgRmluZEVkZ2VSZXBvcnRfc3RydWN0IEZpbmRFZGdlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IEZpbmRUcmFuc2Zvcm1SZWN0T3B0aW9uczJfc3RydWN0IEZpbmRUcmFuc2Zvcm1SZWN0T3B0aW9uczI7DQotdHlwZWRlZiBzdHJ1Y3QgRmluZFRyYW5zZm9ybVJlY3RzT3B0aW9uczJfc3RydWN0IEZpbmRUcmFuc2Zvcm1SZWN0c09wdGlvbnMyOw0KLXR5cGVkZWYgc3RydWN0IFJlYWRUZXh0UmVwb3J0M19zdHJ1Y3QgUmVhZFRleHRSZXBvcnQzOw0KLXR5cGVkZWYgc3RydWN0IENoYXJhY3RlclN0YXRpc3RpY3Nfc3RydWN0IENoYXJhY3RlclN0YXRpc3RpY3M7DQotdHlwZWRlZiBzdHJ1Y3QgQ2hhclJlcG9ydDNfc3RydWN0IENoYXJSZXBvcnQzOw0KLXR5cGVkZWYgc3RydWN0IEFyY0luZm8yX3N0cnVjdCBBcmNJbmZvMjsNCi10eXBlZGVmIHN0cnVjdCBFZGdlUmVwb3J0Ml9zdHJ1Y3QgRWRnZVJlcG9ydDI7DQotdHlwZWRlZiBzdHJ1Y3QgU2VhcmNoQXJjSW5mb19zdHJ1Y3QgU2VhcmNoQXJjSW5mbzsNCi10eXBlZGVmIHN0cnVjdCBDb25jZW50cmljUmFrZVJlcG9ydDJfc3RydWN0IENvbmNlbnRyaWNSYWtlUmVwb3J0MjsNCi10eXBlZGVmIHN0cnVjdCBTcG9rZVJlcG9ydDJfc3RydWN0IFNwb2tlUmVwb3J0MjsNCi10eXBlZGVmIHN0cnVjdCBFZGdlSW5mb19zdHJ1Y3QgRWRnZUluZm87DQotdHlwZWRlZiBzdHJ1Y3QgU2VhcmNoTGluZUluZm9fc3RydWN0IFNlYXJjaExpbmVJbmZvOw0KLXR5cGVkZWYgc3RydWN0IFJha2VSZXBvcnQyX3N0cnVjdCBSYWtlUmVwb3J0MjsNCi10eXBlZGVmIHN0cnVjdCBUcmFuc2Zvcm1CZWhhdmlvcnNfc3RydWN0IFRyYW5zZm9ybUJlaGF2aW9yczsNCi10eXBlZGVmIHN0cnVjdCBRUkNvZGVEYXRhVG9rZW5fc3RydWN0IFFSQ29kZURhdGFUb2tlbjsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUZpbHRlck9wdGlvbnNfc3RydWN0IFBhcnRpY2xlRmlsdGVyT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBTdHJhaWdodEVkZ2VSZXBvcnQyX3N0cnVjdCBTdHJhaWdodEVkZ2VSZXBvcnQyOw0KLXR5cGVkZWYgc3RydWN0IFN0cmFpZ2h0RWRnZU9wdGlvbnNfc3RydWN0IFN0cmFpZ2h0RWRnZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgU3RyYWlnaHRFZGdlX3N0cnVjdCBTdHJhaWdodEVkZ2U7DQotdHlwZWRlZiBzdHJ1Y3QgUVJDb2RlU2VhcmNoT3B0aW9uc19zdHJ1Y3QgUVJDb2RlU2VhcmNoT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBRUkNvZGVTaXplT3B0aW9uc19zdHJ1Y3QgUVJDb2RlU2l6ZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUVJDb2RlRGVzY3JpcHRpb25PcHRpb25zX3N0cnVjdCBRUkNvZGVEZXNjcmlwdGlvbk9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUVJDb2RlUmVwb3J0X3N0cnVjdCBRUkNvZGVSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgQUlNR3JhZGVSZXBvcnRfc3RydWN0IEFJTUdyYWRlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IERhdGFNYXRyaXhTaXplT3B0aW9uc19zdHJ1Y3QgRGF0YU1hdHJpeFNpemVPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IERhdGFNYXRyaXhEZXNjcmlwdGlvbk9wdGlvbnNfc3RydWN0IERhdGFNYXRyaXhEZXNjcmlwdGlvbk9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgRGF0YU1hdHJpeFNlYXJjaE9wdGlvbnNfc3RydWN0IERhdGFNYXRyaXhTZWFyY2hPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IERhdGFNYXRyaXhSZXBvcnRfc3RydWN0IERhdGFNYXRyaXhSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgSlBFRzIwMDBGaWxlQWR2YW5jZWRPcHRpb25zX3N0cnVjdCBKUEVHMjAwMEZpbGVBZHZhbmNlZE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMl9zdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMjsNCi10eXBlZGVmIHN0cnVjdCBJbnNwZWN0aW9uQWxpZ25tZW50X3N0cnVjdCBJbnNwZWN0aW9uQWxpZ25tZW50Ow0KLXR5cGVkZWYgc3RydWN0IEluc3BlY3Rpb25PcHRpb25zX3N0cnVjdCBJbnNwZWN0aW9uT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBDaGFyUmVwb3J0Ml9zdHJ1Y3QgQ2hhclJlcG9ydDI7DQotdHlwZWRlZiBzdHJ1Y3QgQ2hhckluZm8yX3N0cnVjdCBDaGFySW5mbzI7DQotdHlwZWRlZiBzdHJ1Y3QgUmVhZFRleHRSZXBvcnQyX3N0cnVjdCBSZWFkVGV4dFJlcG9ydDI7DQotdHlwZWRlZiBzdHJ1Y3QgRWxsaXBzZUZlYXR1cmVfc3RydWN0IEVsbGlwc2VGZWF0dXJlOw0KLXR5cGVkZWYgc3RydWN0IENpcmNsZUZlYXR1cmVfc3RydWN0IENpcmNsZUZlYXR1cmU7DQotdHlwZWRlZiBzdHJ1Y3QgQ29uc3RDdXJ2ZUZlYXR1cmVfc3RydWN0IENvbnN0Q3VydmVGZWF0dXJlOw0KLXR5cGVkZWYgc3RydWN0IFJlY3RhbmdsZUZlYXR1cmVfc3RydWN0IFJlY3RhbmdsZUZlYXR1cmU7DQotdHlwZWRlZiBzdHJ1Y3QgTGVnRmVhdHVyZV9zdHJ1Y3QgTGVnRmVhdHVyZTsNCi10eXBlZGVmIHN0cnVjdCBDb3JuZXJGZWF0dXJlX3N0cnVjdCBDb3JuZXJGZWF0dXJlOw0KLXR5cGVkZWYgc3RydWN0IExpbmVGZWF0dXJlX3N0cnVjdCBMaW5lRmVhdHVyZTsNCi10eXBlZGVmIHN0cnVjdCBQYXJhbGxlbExpbmVQYWlyRmVhdHVyZV9zdHJ1Y3QgUGFyYWxsZWxMaW5lUGFpckZlYXR1cmU7DQotdHlwZWRlZiBzdHJ1Y3QgUGFpck9mUGFyYWxsZWxMaW5lUGFpcnNGZWF0dXJlX3N0cnVjdCBQYWlyT2ZQYXJhbGxlbExpbmVQYWlyc0ZlYXR1cmU7DQotdHlwZWRlZiB1bmlvbiBHZW9tZXRyaWNGZWF0dXJlX3VuaW9uIEdlb21ldHJpY0ZlYXR1cmU7DQotdHlwZWRlZiBzdHJ1Y3QgRmVhdHVyZURhdGFfc3RydWN0IEZlYXR1cmVEYXRhOw0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaDJfc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaDI7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xvc2VkQ3VydmVGZWF0dXJlX3N0cnVjdCBDbG9zZWRDdXJ2ZUZlYXR1cmU7DQotdHlwZWRlZiBzdHJ1Y3QgTGluZU1hdGNoX3N0cnVjdCBMaW5lTWF0Y2g7DQotdHlwZWRlZiBzdHJ1Y3QgTGluZURlc2NyaXB0b3Jfc3RydWN0IExpbmVEZXNjcmlwdG9yOw0KLXR5cGVkZWYgc3RydWN0IFJlY3RhbmdsZURlc2NyaXB0b3Jfc3RydWN0IFJlY3RhbmdsZURlc2NyaXB0b3I7DQotdHlwZWRlZiBzdHJ1Y3QgUmVjdGFuZ2xlTWF0Y2hfc3RydWN0IFJlY3RhbmdsZU1hdGNoOw0KLXR5cGVkZWYgc3RydWN0IEVsbGlwc2VEZXNjcmlwdG9yX3N0cnVjdCBFbGxpcHNlRGVzY3JpcHRvcjsNCi10eXBlZGVmIHN0cnVjdCBFbGxpcHNlTWF0Y2hfc3RydWN0IEVsbGlwc2VNYXRjaDsNCi10eXBlZGVmIHN0cnVjdCBDaXJjbGVNYXRjaF9zdHJ1Y3QgQ2lyY2xlTWF0Y2g7DQotdHlwZWRlZiBzdHJ1Y3QgQ2lyY2xlRGVzY3JpcHRvcl9zdHJ1Y3QgQ2lyY2xlRGVzY3JpcHRvcjsNCi10eXBlZGVmIHN0cnVjdCBTaGFwZURldGVjdGlvbk9wdGlvbnNfc3RydWN0IFNoYXBlRGV0ZWN0aW9uT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBDdXJ2ZV9zdHJ1Y3QgQ3VydmU7DQotdHlwZWRlZiBzdHJ1Y3QgQ3VydmVPcHRpb25zX3N0cnVjdCBDdXJ2ZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQmFyY29kZTJESW5mb19zdHJ1Y3QgQmFyY29kZTJESW5mbzsNCi10eXBlZGVmIHN0cnVjdCBEYXRhTWF0cml4T3B0aW9uc19zdHJ1Y3QgRGF0YU1hdHJpeE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllckFjY3VyYWN5UmVwb3J0X3N0cnVjdCBDbGFzc2lmaWVyQWNjdXJhY3lSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgTmVhcmVzdE5laWdoYm9yQ2xhc3NSZXN1bHRfc3RydWN0IE5lYXJlc3ROZWlnaGJvckNsYXNzUmVzdWx0Ow0KLXR5cGVkZWYgc3RydWN0IE5lYXJlc3ROZWlnaGJvclRyYWluaW5nUmVwb3J0X3N0cnVjdCBOZWFyZXN0TmVpZ2hib3JUcmFpbmluZ1JlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJQcmVwcm9jZXNzaW5nT3B0aW9uc19zdHJ1Y3QgUGFydGljbGVDbGFzc2lmaWVyUHJlcHJvY2Vzc2luZ09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllclNhbXBsZUluZm9fc3RydWN0IENsYXNzaWZpZXJTYW1wbGVJbmZvOw0KLXR5cGVkZWYgc3RydWN0IENsYXNzU2NvcmVfc3RydWN0IENsYXNzU2NvcmU7DQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllclJlcG9ydF9zdHJ1Y3QgQ2xhc3NpZmllclJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBOZWFyZXN0TmVpZ2hib3JPcHRpb25zX3N0cnVjdCBOZWFyZXN0TmVpZ2hib3JPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnNfc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUkdCVTY0VmFsdWVfc3RydWN0IFJHQlU2NFZhbHVlOw0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaF9zdHJ1Y3QgR2VvbWV0cmljUGF0dGVybk1hdGNoOw0KLXR5cGVkZWYgc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uc19zdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybk9wdGlvbnNfc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybk9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgTGVhcm5HZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zX3N0cnVjdCBMZWFybkdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgRml0RWxsaXBzZU9wdGlvbnNfc3RydWN0IEZpdEVsbGlwc2VPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IEZpdENpcmNsZU9wdGlvbnNfc3RydWN0IEZpdENpcmNsZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ29uc3RydWN0Uk9JT3B0aW9uczJfc3RydWN0IENvbnN0cnVjdFJPSU9wdGlvbnMyOw0KLXR5cGVkZWYgc3RydWN0IEhTTFZhbHVlX3N0cnVjdCBIU0xWYWx1ZTsNCi10eXBlZGVmIHN0cnVjdCBIU1ZWYWx1ZV9zdHJ1Y3QgSFNWVmFsdWU7DQotdHlwZWRlZiBzdHJ1Y3QgSFNJVmFsdWVfc3RydWN0IEhTSVZhbHVlOw0KLXR5cGVkZWYgc3RydWN0IENJRUxhYlZhbHVlX3N0cnVjdCBDSUVMYWJWYWx1ZTsNCi10eXBlZGVmIHN0cnVjdCBDSUVYWVpWYWx1ZV9zdHJ1Y3QgQ0lFWFlaVmFsdWU7DQotdHlwZWRlZiB1bmlvbiBDb2xvcjJfdW5pb24gQ29sb3IyOw0KLXR5cGVkZWYgc3RydWN0IEJlc3RFbGxpcHNlMl9zdHJ1Y3QgQmVzdEVsbGlwc2UyOw0KLXR5cGVkZWYgc3RydWN0IExlYXJuUGF0dGVybkFkdmFuY2VkT3B0aW9uc19zdHJ1Y3QgTGVhcm5QYXR0ZXJuQWR2YW5jZWRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IEFWSUluZm9fc3RydWN0IEFWSUluZm87DQotdHlwZWRlZiBzdHJ1Y3QgTGVhcm5QYXR0ZXJuQWR2YW5jZWRTaGlmdE9wdGlvbnNfc3RydWN0IExlYXJuUGF0dGVybkFkdmFuY2VkU2hpZnRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IExlYXJuUGF0dGVybkFkdmFuY2VkUm90YXRpb25PcHRpb25zX3N0cnVjdCBMZWFyblBhdHRlcm5BZHZhbmNlZFJvdGF0aW9uT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBNYXRjaFBhdHRlcm5BZHZhbmNlZE9wdGlvbnNfc3RydWN0IE1hdGNoUGF0dGVybkFkdmFuY2VkT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMl9zdHJ1Y3QgUGFydGljbGVGaWx0ZXJDcml0ZXJpYTI7DQotdHlwZWRlZiBzdHJ1Y3QgQmVzdENpcmNsZTJfc3RydWN0IEJlc3RDaXJjbGUyOw0KLXR5cGVkZWYgc3RydWN0IE9DUlNwYWNpbmdPcHRpb25zX3N0cnVjdCBPQ1JTcGFjaW5nT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBPQ1JQcm9jZXNzaW5nT3B0aW9uc19zdHJ1Y3QgT0NSUHJvY2Vzc2luZ09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUmVhZFRleHRPcHRpb25zX3N0cnVjdCBSZWFkVGV4dE9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2hhckluZm9fc3RydWN0IENoYXJJbmZvOw0KLSNpZiAhZGVmaW5lZChVU0VSSU5UX0hFQURFUikgJiYgIWRlZmluZWQoX0NWSV9SRUNUX0RFRklORUQpDQotdHlwZWRlZiBzdHJ1Y3QgUmVjdF9zdHJ1Y3QgUmVjdDsNCi0jZW5kaWYNCi10eXBlZGVmIHN0cnVjdCBDaGFyUmVwb3J0X3N0cnVjdCBDaGFyUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IFJlYWRUZXh0UmVwb3J0X3N0cnVjdCBSZWFkVGV4dFJlcG9ydDsNCi0jaWYgIWRlZmluZWQoVVNFUklOVF9IRUFERVIpICYmICFkZWZpbmVkKF9DVklfUE9JTlRfREVGSU5FRCkNCi10eXBlZGVmIHN0cnVjdCBQb2ludF9zdHJ1Y3QgUG9pbnQ7DQotI2VuZGlmDQotdHlwZWRlZiBzdHJ1Y3QgQW5udWx1c19zdHJ1Y3QgQW5udWx1czsNCi10eXBlZGVmIHN0cnVjdCBFZGdlTG9jYXRpb25SZXBvcnRfc3RydWN0IEVkZ2VMb2NhdGlvblJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBFZGdlT3B0aW9uc19zdHJ1Y3QgRWRnZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgRWRnZVJlcG9ydF9zdHJ1Y3QgRWRnZVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBFeHRyZW1lUmVwb3J0X3N0cnVjdCBFeHRyZW1lUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IEZpdExpbmVPcHRpb25zX3N0cnVjdCBGaXRMaW5lT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBEaXNwbGF5TWFwcGluZ19zdHJ1Y3QgRGlzcGxheU1hcHBpbmc7DQotdHlwZWRlZiBzdHJ1Y3QgRGV0ZWN0RXh0cmVtZXNPcHRpb25zX3N0cnVjdCBEZXRlY3RFeHRyZW1lc09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgSW1hZ2VJbmZvX3N0cnVjdCBJbWFnZUluZm87DQotdHlwZWRlZiBzdHJ1Y3QgTENET3B0aW9uc19zdHJ1Y3QgTENET3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBMQ0RSZXBvcnRfc3RydWN0IExDRFJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBMQ0RTZWdtZW50c19zdHJ1Y3QgTENEU2VnbWVudHM7DQotdHlwZWRlZiBzdHJ1Y3QgTGVhcm5DYWxpYnJhdGlvbk9wdGlvbnNfc3RydWN0IExlYXJuQ2FsaWJyYXRpb25PcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IExlYXJuQ29sb3JQYXR0ZXJuT3B0aW9uc19zdHJ1Y3QgTGVhcm5Db2xvclBhdHRlcm5PcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IExpbmVfc3RydWN0IExpbmU7DQotdHlwZWRlZiBzdHJ1Y3QgTGluZWFyQXZlcmFnZXNfc3RydWN0IExpbmVhckF2ZXJhZ2VzOw0KLXR5cGVkZWYgc3RydWN0IExpbmVQcm9maWxlX3N0cnVjdCBMaW5lUHJvZmlsZTsNCi10eXBlZGVmIHN0cnVjdCBNYXRjaENvbG9yUGF0dGVybk9wdGlvbnNfc3RydWN0IE1hdGNoQ29sb3JQYXR0ZXJuT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBIaXN0b2dyYW1SZXBvcnRfc3RydWN0IEhpc3RvZ3JhbVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBBcmNJbmZvX3N0cnVjdCBBcmNJbmZvOw0KLXR5cGVkZWYgc3RydWN0IEF4aXNSZXBvcnRfc3RydWN0IEF4aXNSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgQmFyY29kZUluZm9fc3RydWN0IEJhcmNvZGVJbmZvOw0KLXR5cGVkZWYgc3RydWN0IEJDR09wdGlvbnNfc3RydWN0IEJDR09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQmVzdENpcmNsZV9zdHJ1Y3QgQmVzdENpcmNsZTsNCi10eXBlZGVmIHN0cnVjdCBCZXN0RWxsaXBzZV9zdHJ1Y3QgQmVzdEVsbGlwc2U7DQotdHlwZWRlZiBzdHJ1Y3QgQmVzdExpbmVfc3RydWN0IEJlc3RMaW5lOw0KLXR5cGVkZWYgc3RydWN0IEJyb3dzZXJPcHRpb25zX3N0cnVjdCBCcm93c2VyT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBDb29yZGluYXRlU3lzdGVtX3N0cnVjdCBDb29yZGluYXRlU3lzdGVtOw0KLXR5cGVkZWYgc3RydWN0IENhbGlicmF0aW9uSW5mb19zdHJ1Y3QgQ2FsaWJyYXRpb25JbmZvOw0KLXR5cGVkZWYgc3RydWN0IENhbGlicmF0aW9uUG9pbnRzX3N0cnVjdCBDYWxpYnJhdGlvblBvaW50czsNCi10eXBlZGVmIHN0cnVjdCBDYWxpcGVyT3B0aW9uc19zdHJ1Y3QgQ2FsaXBlck9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ2FsaXBlclJlcG9ydF9zdHJ1Y3QgQ2FsaXBlclJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBEcmF3VGV4dE9wdGlvbnNfc3RydWN0IERyYXdUZXh0T3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBDaXJjbGVSZXBvcnRfc3RydWN0IENpcmNsZVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBDbG9zZWRDb250b3VyX3N0cnVjdCBDbG9zZWRDb250b3VyOw0KLXR5cGVkZWYgc3RydWN0IENvbG9ySGlzdG9ncmFtUmVwb3J0X3N0cnVjdCBDb2xvckhpc3RvZ3JhbVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBDb2xvckluZm9ybWF0aW9uX3N0cnVjdCBDb2xvckluZm9ybWF0aW9uOw0KLXR5cGVkZWYgc3RydWN0IENvbXBsZXhfc3RydWN0IENvbXBsZXg7DQotdHlwZWRlZiBzdHJ1Y3QgQ29uY2VudHJpY1Jha2VSZXBvcnRfc3RydWN0IENvbmNlbnRyaWNSYWtlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IENvbnN0cnVjdFJPSU9wdGlvbnNfc3RydWN0IENvbnN0cnVjdFJPSU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgQ29udG91ckluZm9fc3RydWN0IENvbnRvdXJJbmZvOw0KLXR5cGVkZWYgdW5pb24gQ29udG91clVuaW9uX3VuaW9uIENvbnRvdXJVbmlvbjsNCi10eXBlZGVmIHN0cnVjdCBDb250b3VySW5mbzJfc3RydWN0IENvbnRvdXJJbmZvMjsNCi10eXBlZGVmIHN0cnVjdCBDb250b3VyUG9pbnRfc3RydWN0IENvbnRvdXJQb2ludDsNCi10eXBlZGVmIHN0cnVjdCBDb29yZGluYXRlVHJhbnNmb3JtX3N0cnVjdCBDb29yZGluYXRlVHJhbnNmb3JtOw0KLXR5cGVkZWYgc3RydWN0IENvb3JkaW5hdGVUcmFuc2Zvcm0yX3N0cnVjdCBDb29yZGluYXRlVHJhbnNmb3JtMjsNCi10eXBlZGVmIHN0cnVjdCBDYW5ueU9wdGlvbnNfc3RydWN0IENhbm55T3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBSYW5nZV9zdHJ1Y3QgUmFuZ2U7DQotdHlwZWRlZiBzdHJ1Y3QgVXNlclBvaW50U3ltYm9sX3N0cnVjdCBVc2VyUG9pbnRTeW1ib2w7DQotdHlwZWRlZiBzdHJ1Y3QgVmlldzNET3B0aW9uc19zdHJ1Y3QgVmlldzNET3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBNYXRjaFBhdHRlcm5PcHRpb25zX3N0cnVjdCBNYXRjaFBhdHRlcm5PcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IFRJRkZGaWxlT3B0aW9uc19zdHJ1Y3QgVElGRkZpbGVPcHRpb25zOw0KLXR5cGVkZWYgdW5pb24gQ29sb3JfdW5pb24gQ29sb3I7DQotdHlwZWRlZiB1bmlvbiBQaXhlbFZhbHVlX3VuaW9uIFBpeGVsVmFsdWU7DQotdHlwZWRlZiBzdHJ1Y3QgT3BlbkNvbnRvdXJfc3RydWN0IE9wZW5Db250b3VyOw0KLXR5cGVkZWYgc3RydWN0IE92ZXJsYXlUZXh0T3B0aW9uc19zdHJ1Y3QgT3ZlcmxheVRleHRPcHRpb25zOw0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWFfc3RydWN0IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWE7DQotdHlwZWRlZiBzdHJ1Y3QgUGFydGljbGVSZXBvcnRfc3RydWN0IFBhcnRpY2xlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IFBhdHRlcm5NYXRjaF9zdHJ1Y3QgUGF0dGVybk1hdGNoOw0KLXR5cGVkZWYgc3RydWN0IFF1YW50aWZ5RGF0YV9zdHJ1Y3QgUXVhbnRpZnlEYXRhOw0KLXR5cGVkZWYgc3RydWN0IFF1YW50aWZ5UmVwb3J0X3N0cnVjdCBRdWFudGlmeVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBSYWtlT3B0aW9uc19zdHJ1Y3QgUmFrZU9wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgUmFrZVJlcG9ydF9zdHJ1Y3QgUmFrZVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBUcmFuc2Zvcm1SZXBvcnRfc3RydWN0IFRyYW5zZm9ybVJlcG9ydDsNCi10eXBlZGVmIHN0cnVjdCBTaGFwZVJlcG9ydF9zdHJ1Y3QgU2hhcGVSZXBvcnQ7DQotdHlwZWRlZiBzdHJ1Y3QgTWV0ZXJBcmNfc3RydWN0IE1ldGVyQXJjOw0KLXR5cGVkZWYgc3RydWN0IFRocmVzaG9sZERhdGFfc3RydWN0IFRocmVzaG9sZERhdGE7DQotdHlwZWRlZiBzdHJ1Y3QgU3RydWN0dXJpbmdFbGVtZW50X3N0cnVjdCBTdHJ1Y3R1cmluZ0VsZW1lbnQ7DQotdHlwZWRlZiBzdHJ1Y3QgU3Bva2VSZXBvcnRfc3RydWN0IFNwb2tlUmVwb3J0Ow0KLXR5cGVkZWYgc3RydWN0IFNpbXBsZUVkZ2VPcHRpb25zX3N0cnVjdCBTaW1wbGVFZGdlT3B0aW9uczsNCi10eXBlZGVmIHN0cnVjdCBTZWxlY3RQYXJ0aWNsZUNyaXRlcmlhX3N0cnVjdCBTZWxlY3RQYXJ0aWNsZUNyaXRlcmlhOw0KLXR5cGVkZWYgc3RydWN0IFNlZ21lbnRJbmZvX3N0cnVjdCBTZWdtZW50SW5mbzsNCi10eXBlZGVmIHN0cnVjdCBSb3RhdGlvbkFuZ2xlUmFuZ2Vfc3RydWN0IFJvdGF0aW9uQW5nbGVSYW5nZTsNCi10eXBlZGVmIHN0cnVjdCBSb3RhdGVkUmVjdF9zdHJ1Y3QgUm90YXRlZFJlY3Q7DQotdHlwZWRlZiBzdHJ1Y3QgUk9JUHJvZmlsZV9zdHJ1Y3QgUk9JUHJvZmlsZTsNCi10eXBlZGVmIHN0cnVjdCBUb29sV2luZG93T3B0aW9uc19zdHJ1Y3QgVG9vbFdpbmRvd09wdGlvbnM7DQotdHlwZWRlZiBzdHJ1Y3QgU3Bva2VPcHRpb25zX3N0cnVjdCBTcG9rZU9wdGlvbnM7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gRGF0YSBTdHJ1Y3R1cmVzDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotI2lmICFkZWZpbmVkIF9fR05VQ19fICYmICFkZWZpbmVkIF9NX1g2NA0KLSNwcmFnbWEgcGFjayhwdXNoLDEpDQotI2VuZGlmDQotdHlwZWRlZiBzdHJ1Y3QgRGl2aXNpb25Nb2RlbF9zdHJ1Y3Qgew0KLSAgICBmbG9hdCBrYXBwYTsgLy9UaGUgbGVhcm5lZCBrYXBwYSBjb2VmZmljaWVudCBvZiBkaXZpc2lvbiBtb2RlbC4NCi19IERpdmlzaW9uTW9kZWw7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRm9jYWxMZW5ndGhfc3RydWN0IHsNCi0gICAgZmxvYXQgZng7IC8vRm9jYWwgbGVuZ3RoIGluIFggZGlyZWN0aW9uLg0KLSAgICBmbG9hdCBmeTsgLy9Gb2NhbCBsZW5ndGggaW4gWSBkaXJlY3Rpb24uDQotfSBGb2NhbExlbmd0aDsNCi0NCi10eXBlZGVmIHN0cnVjdCBQb2x5TW9kZWxfc3RydWN0IHsNCi0gICAgZmxvYXQqICAgICAgIGtDb2VmZnM7ICAgIC8vVGhlIGxlYXJuZWQgcmFkaWFsIGNvZWZmaWNpZW50cyBvZiBwb2x5bm9taWFsIG1vZGVsLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtS0NvZWZmczsgLy9OdW1iZXIgb2YgSyBjb2VmZmljaWVudHMuDQotICAgIGZsb2F0ICAgICAgICBwMTsgICAgICAgICAvL1RoZSBQMShsZWFybmVkIHRhbmdlbnRpYWwgY29lZmZpY2llbnRzIG9mIHBvbHlub21pYWwgbW9kZWwpLg0KLSAgICBmbG9hdCAgICAgICAgcDI7ICAgICAgICAgLy9UaGUgUDIobGVhcm5lZCB0YW5nZW50aWFsIGNvZWZmaWNpZW50cyBvZiBwb2x5bm9taWFsIG1vZGVsKS4NCi19IFBvbHlNb2RlbDsNCi0NCi10eXBlZGVmIHN0cnVjdCBEaXN0b3J0aW9uTW9kZWxQYXJhbXNfc3RydWN0IHsNCi0gICAgRGlzdG9ydGlvbk1vZGVsIGRpc3RvcnRpb25Nb2RlbDsgLy9UeXBlIG9mIGxlYXJuZWQgZGlzdG9ydGlvbiBtb2RlbC4NCi0gICAgUG9seU1vZGVsICAgICAgIHBvbHlNb2RlbDsgICAgICAgLy9UaGUgbGVhcm5lZCBjb2VmZmljaWVudHMgb2YgcG9seW5vbWlhbCBtb2RlbC4NCi0gICAgRGl2aXNpb25Nb2RlbCAgIGRpdmlzaW9uTW9kZWw7ICAgLy9UaGUgbGVhcm5lZCBjb2VmZmljaWVudCBvZiBkaXZpc2lvbiBtb2RlbC4NCi19IERpc3RvcnRpb25Nb2RlbFBhcmFtczsNCi0NCi10eXBlZGVmIHN0cnVjdCBQb2ludEZsb2F0X3N0cnVjdCB7DQotICAgIGZsb2F0IHg7IC8vVGhlIHgtY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQuDQotICAgIGZsb2F0IHk7IC8vVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQuDQotfSBQb2ludEZsb2F0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IEludGVybmFsUGFyYW1ldGVyc19zdHJ1Y3Qgew0KLSAgICBjaGFyICAgICAgICBpc0luc3VmZmljaWVudERhdGE7IA0KLSAgICBGb2NhbExlbmd0aCBmb2NhbExlbmd0aDsgICAgICAgIA0KLSAgICBQb2ludEZsb2F0ICBvcHRpY2FsQ2VudGVyOyAgICAgIA0KLX0gSW50ZXJuYWxQYXJhbWV0ZXJzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE1heEdyaWRTaXplX3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGludCB4TWF4OyAvL01heGltdW0geCBsaW1pdCBmb3IgdGhlIGdyaWQgc2l6ZS4NCi0gICAgdW5zaWduZWQgaW50IHlNYXg7IC8vTWF4aW11bSB5IGxpbWl0IGZvciB0aGUgZ3JpZCBzaXplLg0KLX0gTWF4R3JpZFNpemU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgSW1hZ2VTaXplX3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGludCB4UmVzOyAvL1ggcmVzb2x1dGlvbiBvZiB0aGUgaW1hZ2UuDQotICAgIHVuc2lnbmVkIGludCB5UmVzOyAvL1kgcmVzb2x1dGlvbiBvZiB0aGUgaW1hZ2UuDQotfSBJbWFnZVNpemU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2FsaWJyYXRpb25SZWZlcmVuY2VQb2ludHNfc3RydWN0IHsNCi0gICAgUG9pbnREb3VibGUqICAgIHBpeGVsQ29vcmRzOyAgICAvL1NwZWNpZmllcyB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIHBpeGVsIHJlZmVyZW5jZSBwb2ludHMuDQotICAgIHVuc2lnbmVkIGludCAgICBudW1QaXhlbENvb3JkczsgLy9OdW1iZXIgb2YgcGl4ZWwgY29vcmRpbmF0ZXMuDQotICAgIFBvaW50RG91YmxlKiAgICByZWFsQ29vcmRzOyAgICAgLy9TcGVjaWZpZXMgdGhlIG1lYXN1cmluZyB1bml0IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW1hZ2UuDQotICAgIHVuc2lnbmVkIGludCAgICBudW1SZWFsQ29vcmRzOyAgLy9OdW1iZXIgb2YgcmVhbCBjb29yZGluYXRlcy4NCi0gICAgQ2FsaWJyYXRpb25Vbml0IHVuaXRzOyAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgdW5pdHMgb2YgWCBTdGVwIGFuZCBZIFN0ZXAuDQotICAgIEltYWdlU2l6ZSAgICAgICBpbWFnZVNpemU7ICAgICAgLy9TcGVjaWZpZXMgdGhlIHNpemUgb2YgY2FsaWJyYXRpb24gdGVtcGxhdGUgaW1hZ2UuDQotfSBDYWxpYnJhdGlvblJlZmVyZW5jZVBvaW50czsNCi0NCi10eXBlZGVmIHN0cnVjdCBHZXRDYW1lcmFQYXJhbWV0ZXJzUmVwb3J0X3N0cnVjdCB7DQotICAgIGRvdWJsZSogICAgICAgICAgICAgICBwcm9qZWN0aW9uTWF0cml4OyAgICAgLy9UaGUgcHJvamVjdGlvbihob21vZ3JhcGh5KSBtYXRyaXggb2Ygd29ya2luZyBwbGFuZS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgIHByb2plY3Rpb25NYXRyaXhSb3dzOyAvL051bWJlciBvZiByb3dzIGluIHByb2plY3Rpb24gbWF0cml4Lg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgcHJvamVjdGlvbk1hdHJpeENvbHM7IC8vTnVtYmVyIG9mIGNvbHVtbnMgaW4gcHJvamVjdGlvbiBtYXRyaXguDQotICAgIERpc3RvcnRpb25Nb2RlbFBhcmFtcyBkaXN0b3J0aW9uOyAgICAgICAgICAgLy9EaXN0b3J0aW9uIG1vZGVsIENvZWZmaWNpZW50cy4NCi0gICAgSW50ZXJuYWxQYXJhbWV0ZXJzICAgIGludGVybmFsUGFyYW1zOyAgICAgICAvL1RoZSBsZWFybmVkIGludGVybmFsIHBhcmFtdGVycyBvZiBjYW1lcmEgbW9kZWwgc3VjaCBhcyBmb2NhbCBsZW5ndGggYW5kIG9wdGljYWwgY2VudGVyLg0KLX0gR2V0Q2FtZXJhUGFyYW1ldGVyc1JlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBDYWxpYnJhdGlvbkF4aXNJbmZvX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgICAgICBjZW50ZXI7ICAgICAgICAvL1RoZSBvcmlnaW4gb2YgdGhlIHJlZmVyZW5jZSBjb29yZGluYXRlIHN5c3RlbSwgZXhwcmVzc2VkIGluIHBpeGVsIHVuaXRzLg0KLSAgICBmbG9hdCAgICAgICAgICAgcm90YXRpb25BbmdsZTsgLy9UaGUgYW5nbGUgb2YgdGhlIHgtYXhpcyBvZiB0aGUgcmVhbC13b3JsZCBjb29yZGluYXRlIHN5c3RlbSwgaW4gcmVsYXRpb24gdG8gdGhlIGhvcml6b250YWwuDQotICAgIEF4aXNPcmllbnRhdGlvbiBheGlzRGlyZWN0aW9uOyAvL1NwZWNpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBjYWxpYnJhaXRvbiBheGlzIHdoaWNoIGlzIGVpdGhlciBEaXJlY3Qgb3IgSW5kaXJlY3QuDQotfSBDYWxpYnJhdGlvbkF4aXNJbmZvOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENhbGlicmF0aW9uTGVhcm5TZXR1cEluZm9fc3RydWN0IHsNCi0gICAgQ2FsaWJyYXRpb25Nb2RlMiBjYWxpYnJhdGlvbk1ldGhvZDsgICAgLy9UeXBlIG9mIGNhbGlicmF0aW9uIG1ldGhvZCB1c2VkLg0KLSAgICBEaXN0b3J0aW9uTW9kZWwgIGRpc3RvcnRpb25Nb2RlbDsgICAgICAvL1R5cGUgb2YgbGVhcm5lZCBkaXN0b3J0aW9uIG1vZGVsLg0KLSAgICBTY2FsaW5nTWV0aG9kICAgIHNjYWxlTW9kZTsgICAgICAgICAgICAvL1RoZSBhc3BlY3Qgc2NhbGluZyB0byB1c2Ugd2hlbiBjb3JyZWN0aW5nIGFuIGltYWdlLg0KLSAgICBDYWxpYnJhdGlvblJPSSAgIHJvaU1vZGU7ICAgICAgICAgICAgICAvL1RoZSBST0kgdG8gdXNlIHdoZW4gY29ycmVjdGluZyBhbiBpbWFnZS4NCi0gICAgY2hhciAgICAgICAgICAgICBsZWFybkNvcnJlY3Rpb25UYWJsZTsgLy9TZXQgdGhpcyBpbnB1dCB0byB0cnVlIHZhbHVlIGlmIHlvdSB3YW50IHRoZSBjb3JyZWN0aW9uIHRhYmxlIHRvIGJlIGRldGVybWluZWQgYW5kIHN0b3JlZC4NCi19IENhbGlicmF0aW9uTGVhcm5TZXR1cEluZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgR3JpZERlc2NyaXB0b3Jfc3RydWN0IHsNCi0gICAgZmxvYXQgICAgICAgICAgIHhTdGVwOyAvL1RoZSBkaXN0YW5jZSBpbiB0aGUgeCBkaXJlY3Rpb24gYmV0d2VlbiB0d28gYWRqYWNlbnQgcGl4ZWxzIGluIHVuaXRzIHNwZWNpZmllZCBieSB1bml0Lg0KLSAgICBmbG9hdCAgICAgICAgICAgeVN0ZXA7IC8vVGhlIGRpc3RhbmNlIGluIHRoZSB5IGRpcmVjdGlvbiBiZXR3ZWVuIHR3byBhZGphY2VudCBwaXhlbHMgaW4gdW5pdHMgc3BlY2lmaWVkIGJ5IHVuaXQuDQotICAgIENhbGlicmF0aW9uVW5pdCB1bml0OyAgLy9UaGUgdW5pdCBvZiBtZWFzdXJlIGZvciB0aGUgaW1hZ2UuDQotfSBHcmlkRGVzY3JpcHRvcjsNCi0NCi10eXBlZGVmIHN0cnVjdCBFcnJvclN0YXRpc3RpY3Nfc3RydWN0IHsNCi0gICAgZG91YmxlIG1lYW47ICAgICAgICAgICAgICAvL01lYW4gZXJyb3Igc3RhdGlzdGljcyB2YWx1ZS4NCi0gICAgZG91YmxlIG1heGltdW07ICAgICAgICAgICAvL01heGltdW0gdmFsdWUgb2YgZXJyb3IuDQotICAgIGRvdWJsZSBzdGFuZGFyZERldmlhdGlvbjsgLy9UaGUgc3RhbmRhcmQgZGV2aWF0aW9uIGVycm9yIHN0YXRpc3Rpc2NzIHZhbHVlLg0KLSAgICBkb3VibGUgZGlzdG9ydGlvbjsgICAgICAgIC8vVGhlIGRpc3RvcnRpb24gZXJyb3Igc3RhdGlzdGljcyB2YWx1ZS4NCi19IEVycm9yU3RhdGlzdGljczsNCi0NCi10eXBlZGVmIHN0cnVjdCBHZXRDYWxpYnJhdGlvbkluZm9SZXBvcnRfc3RydWN0IHsNCi0gICAgUk9JKiAgICAgICAgICAgICAgICAgICAgICB1c2VyUm9pOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBST0kgdGhlIHVzZXIgcHJvdmlkZWQgd2hlbiBsZWFybmluZyB0aGUgY2FsaWJyYXRpb24uDQotICAgIFJPSSogICAgICAgICAgICAgICAgICAgICAgY2FsaWJyYXRpb25Sb2k7ICAvL1NwZWNpZmllcyB0aGUgUk9JIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgaW1hZ2Ugd2hlcmUgdGhlIGNhbGlicmF0aW9uIGluZm9ybWF0aW9uIGlzIGFjY3VyYXRlLg0KLSAgICBDYWxpYnJhdGlvbkF4aXNJbmZvICAgICAgIGF4aXNJbmZvOyAgICAgICAgLy9SZWZlcmVuY2UgQ29vcmRpbmF0ZSBTeXN0ZW0gZm9yIHRoZSByZWFsLXdvcmxkIGNvb3JkaW5hdGVzLg0KLSAgICBDYWxpYnJhdGlvbkxlYXJuU2V0dXBJbmZvIGxlYXJuU2V0dXBJbmZvOyAgLy9DYWxpYnJhdGlvbiBsZWFybiBzZXR1cCBpbmZvcm1hdGlvbi4NCi0gICAgR3JpZERlc2NyaXB0b3IgICAgICAgICAgICBncmlkRGVzY3JpcHRvcjsgIC8vU3BlY2lmaWVzIHNjYWxpbmcgY29uc3RhbnRzIHVzZWQgdG8gY2FsaWJyYXRlIHRoZSBpbWFnZS4NCi0gICAgZmxvYXQqICAgICAgICAgICAgICAgICAgICBlcnJvck1hcDsgICAgICAgIC8vVGhlIHRoZSBlcnJvciBtYXAgb2YgY2FsaWJyYXRpb24gdGVtcGxhdGUgaW1hZ2UuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgZXJyb3JNYXBSb3dzOyAgICAvL051bWJlciBvZiByb3dzIGluIGVycm9yIG1hcC4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICBlcnJvck1hcENvbHM7ICAgIC8vTnVtYmVyIG9mIENvbHVtbnMgaW4gZXJyb3IgbWFwLg0KLSAgICBFcnJvclN0YXRpc3RpY3MgICAgICAgICAgIGVycm9yU3RhdGlzdGljczsgLy9FcnJvciBzdGF0aXN0aWNzIG9mIHRoZSBjYWxpYnJhdGlvbi4NCi19IEdldENhbGlicmF0aW9uSW5mb1JlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBFZGdlUG9sYXJpdHlfc3RydWN0IHsNCi0gICAgRWRnZVBvbGFyaXR5U2VhcmNoTW9kZSBzdGFydDsgDQotICAgIEVkZ2VQb2xhcml0eVNlYXJjaE1vZGUgZW5kOyAgIA0KLX0gRWRnZVBvbGFyaXR5Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENsYW1wU2V0dGluZ3Nfc3RydWN0IHsNCi0gICAgZG91YmxlICAgICAgIGFuZ2xlUmFuZ2U7ICAgLy9TcGVjaWZpZXMgdGhlIGFuZ2xlIHJhbmdlLg0KLSAgICBFZGdlUG9sYXJpdHkgZWRnZVBvbGFyaXR5OyAvL1NwZWNpZmllcyB0aGUgZWRnZSBwb2xhcml0eS4NCi19IENsYW1wU2V0dGluZ3M7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUG9pbnREb3VibGVfc3RydWN0IHsNCi0gICAgZG91YmxlIHg7IC8vVGhlIHgtY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQuDQotICAgIGRvdWJsZSB5OyAvL1RoZSB5LWNvb3JkaW5hdGUgb2YgdGhlIHBvaW50Lg0KLX0gUG9pbnREb3VibGU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUG9pbnREb3VibGVQYWlyX3N0cnVjdCB7DQotICAgIFBvaW50RG91YmxlIHN0YXJ0OyAvL1RoZSBTdGFydCBjby1vcmRpbmF0ZSBvZiB0aGUgcGFpci4NCi0gICAgUG9pbnREb3VibGUgZW5kOyAgIC8vVGhlIEVuZCBjby1vcmRpbmF0ZSBvZiB0aGUgcGFpci4NCi19IFBvaW50RG91YmxlUGFpcjsNCi0NCi10eXBlZGVmIHN0cnVjdCBDbGFtcFJlc3VsdHNfc3RydWN0IHsNCi0gICAgZG91YmxlIGRpc3RhbmNlUGl4OyAgICAgICAvL0RlZmluZXMgdGhlIFBpeGVsIHdvcmxkIGRpc3RhbmNlLg0KLSAgICBkb3VibGUgZGlzdGFuY2VSZWFsV29ybGQ7IC8vRGVmaW5lcyB0aGUgcmVhbCB3b3JsZCBkaXN0YW5jZS4NCi0gICAgZG91YmxlIGFuZ2xlQWJzOyAgICAgICAgICAvL0RlZmluZXMgdGhlIGFic29sdXRlIGFuZ2xlLg0KLSAgICBkb3VibGUgYW5nbGVSZWxhdGl2ZTsgICAgIC8vRGVmaW5lcyB0aGUgcmVsYXRpdmUgYW5nbGUuDQotfSBDbGFtcFJlc3VsdHM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBQb2ludHNfc3RydWN0IHsNCi0gICAgUG9pbnREb3VibGVQYWlyIHBpeGVsOyAgICAgLy9TcGVjaWZpZXMgdGhlIHBpeGVsIHdvcmxkIHBvaW50IHBhaXIgZm9yIGNsYW1wLg0KLSAgICBQb2ludERvdWJsZVBhaXIgcmVhbFdvcmxkOyAvL1NwZWNpZmllcyB0aGUgcmVhbCB3b3JsZCBwb2ludCBwYWlyIGZvciBjbGFtcC4NCi19IENsYW1wUG9pbnRzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJHQlZhbHVlX3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGNoYXIgQjsgICAgIC8vVGhlIGJsdWUgdmFsdWUgb2YgdGhlIGNvbG9yLg0KLSAgICB1bnNpZ25lZCBjaGFyIEc7ICAgICAvL1RoZSBncmVlbiB2YWx1ZSBvZiB0aGUgY29sb3IuDQotICAgIHVuc2lnbmVkIGNoYXIgUjsgICAgIC8vVGhlIHJlZCB2YWx1ZSBvZiB0aGUgY29sb3IuDQotICAgIHVuc2lnbmVkIGNoYXIgYWxwaGE7IC8vVGhlIGFscGhhIHZhbHVlIG9mIHRoZSBjb2xvciwgd2hpY2ggcmVwcmVzZW50cyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbG9yIGltYWdlLCBzdWNoIGFzIGdhbW1hIGNvcnJlY3Rpb24uDQotfSBSR0JWYWx1ZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBDbGFtcE92ZXJsYXlTZXR0aW5nc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICBzaG93U2VhcmNoQXJlYTsgICAgICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgc2VhcmNoIGFyZWEgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICBzaG93Q3VydmVzOyAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgY3VydmVzIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgc2hvd0NsYW1wTG9jYXRpb247ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIGNsYW1wIGxvY2F0aW9uIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgc2hvd1Jlc3VsdDsgICAgICAgICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIGhpdCBsaW5lcyB0byB0aGUgb2JqZWN0IGFuZCB0aGUgZWRnZSB1c2VkIHRvIGdlbmVyYXRlIHRoZSBoaXQgbGluZSBvbiB0aGUgcmVzdWx0IGltYWdlLg0KLSAgICBSR0JWYWx1ZSBzZWFyY2hBcmVhQ29sb3I7ICAgICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgUkdCVmFsdWUgY3VydmVzQ29sb3I7ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgY3VydmVzLg0KLSAgICBSR0JWYWx1ZSBjbGFtcExvY2F0aW9uc0NvbG9yOyAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBjbGFtcCBsb2NhdGlvbnMuDQotICAgIFJHQlZhbHVlIHJlc3VsdENvbG9yOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHJlc3VsdHMuDQotICAgIGNoYXIqICAgIG92ZXJsYXlHcm91cE5hbWU7ICAgIC8vU3BlY2lmaWVzIHRoZSBncm91cCBvdmVybGF5IG5hbWUgZm9yIHRoZSBzdGVwIG92ZXJsYXlzLg0KLX0gQ2xhbXBPdmVybGF5U2V0dGluZ3M7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2xhbXBNYXgyUmVwb3J0X3N0cnVjdCB7DQotICAgIENsYW1wUmVzdWx0cyBjbGFtcFJlc3VsdHM7ICAgICAvL1NwZWNpZmllcyB0aGUgQ2xhbXAgcmVzdWx0cyBpbmZvcm1hdGlvbiByZXR1cm5lZCBieSB0aGUgZnVuY3Rpb24uDQotICAgIENsYW1wUG9pbnRzICBjbGFtcFBvaW50czsgICAgICAvL1NwZWNpZmllcyB0aGUgY2xhbXAgcG9pbnRzIGluZm9ybWF0aW9uIHJldHVybmVkIGJ5IHRoZSBmdW5jdGlvbi4NCi0gICAgdW5zaWduZWQgaW50IGNhbGlicmF0aW9uVmFsaWQ7IC8vU3BlY2lmaWVzIGlmIHRoZSBjYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiBpcyB2YWxpZCBvciBub3QuDQotfSBDbGFtcE1heDJSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29udG91ckZpdFNwbGluZVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBQb2ludERvdWJsZSogcG9pbnRzOyAgICAgICAgIC8vSXQgcmV0dXJucyB0aGUgcG9pbnRzIG9mIHRoZSBiZXN0LWZpdCBCLXNwbGluZSBjdXJ2ZS4NCi0gICAgaW50ICAgICAgICAgIG51bWJlck9mUG9pbnRzOyAvL051bWJlciBvZiBCZXN0IGZpdCBwb2ludHMgcmV0dXJuZWQuDQotfSBDb250b3VyRml0U3BsaW5lUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IExpbmVGbG9hdF9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHN0YXJ0OyAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBzdGFydCBvZiB0aGUgbGluZS4NCi0gICAgUG9pbnRGbG9hdCBlbmQ7ICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBsaW5lLg0KLX0gTGluZUZsb2F0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IExpbmVFcXVhdGlvbl9zdHJ1Y3Qgew0KLSAgICBkb3VibGUgYTsgLy9UaGUgYSBjb2VmZmljaWVudCBvZiB0aGUgbGluZSBlcXVhdGlvbi4NCi0gICAgZG91YmxlIGI7IC8vVGhlIGIgY29lZmZpY2llbnQgb2YgdGhlIGxpbmUgZXF1YXRpb24uDQotICAgIGRvdWJsZSBjOyAvL1RoZSBjIGNvZWZmaWNpZW50IG9mIHRoZSBsaW5lIGVxdWF0aW9uLg0KLX0gTGluZUVxdWF0aW9uOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbnRvdXJGaXRMaW5lUmVwb3J0X3N0cnVjdCB7DQotICAgIExpbmVGbG9hdCAgICBsaW5lU2VnbWVudDsgIC8vTGluZSBTZWdtZW50IHJlcHJlc2VudHMgdGhlIGludGVyc2VjdGlvbiBvZiB0aGUgbGluZSBlcXVhdGlvbiBhbmQgdGhlIGNvbnRvdXIuDQotICAgIExpbmVFcXVhdGlvbiBsaW5lRXF1YXRpb247IC8vTGluZSBFcXVhdGlvbiBpcyBhIHN0cnVjdHVyZSBvZiB0aHJlZSBjb2VmZmljaWVudHMgQSwgQiwgYW5kIEMgb2YgdGhlIGVxdWF0aW9uIGluIHRoZSBub3JtYWwgZm9ybSAoQXggKyBCeSArIEM9MCkgb2YgdGhlIGJlc3QgZml0IGxpbmUuDQotfSBDb250b3VyRml0TGluZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb250b3VyRml0UG9seW5vbWlhbFJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBQb2ludERvdWJsZSogYmVzdEZpdDsgICAgICAgICAgICAgICAgLy9JdCByZXR1cm5zIHRoZSBwb2ludHMgb2YgdGhlIGJlc3QtZml0IHBvbHlub21pYWwuDQotICAgIGludCAgICAgICAgICBudW1iZXJPZlBvaW50czsgICAgICAgICAvL051bWJlciBvZiBCZXN0IGZpdCBwb2ludHMgcmV0dXJuZWQuDQotICAgIGRvdWJsZSogICAgICBwb2x5bm9taWFsQ29lZmZpY2llbnRzOyAvL1BvbHlub21pYWwgQ29lZmZpY2llbnRzIHJldHVybnMgdGhlIGNvZWZmaWNpZW50cyBvZiB0aGUgcG9seW5vbWlhbCBlcXVhdGlvbi4NCi0gICAgaW50ICAgICAgICAgIG51bWJlck9mQ29lZmZpY2llbnRzOyAgIC8vTnVtYmVyIG9mIENvZWZmaWNpZW50cyByZXR1cm5lZCBpbiB0aGUgcG9seW5vbWlhbCBjb2VmZmljaWVudHMgYXJyYXkuDQotfSBDb250b3VyRml0UG9seW5vbWlhbFJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWFsQ2lyY2xlX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyOyAgICAgLy9DZW50ZXIgb2YgdGhlIGNpcmNsZS4NCi0gICAgZG91YmxlICAgICByYWRpdXM7ICAgICAvL1JhZGl1cyBvZiB0aGUgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIHN0YXJ0QW5nbGU7IC8vU3RhcnQgYW5nbGUgb2YgdGhlIGZpdHRlZCBzdHJ1Y3R1cmUuDQotICAgIGRvdWJsZSAgICAgZW5kQW5nbGU7ICAgLy9FbmQgYW5nbGUgb2YgdGhlIGZpdHRlZCBzdHJ1Y3R1cmUuDQotfSBQYXJ0aWFsQ2lyY2xlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpYWxFbGxpcHNlX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyOyAgICAgIC8vQ2VudGVyIG9mIHRoZSBFbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIGFuZ2xlOyAgICAgICAvL0FuZ2xlIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIG1ham9yUmFkaXVzOyAvL1RoZSBsZW5ndGggb2YgdGhlIHNlbWktbWFqb3IgYXhpcyBvZiB0aGUgZWxsaXBzZS4NCi0gICAgZG91YmxlICAgICBtaW5vclJhZGl1czsgLy9UaGUgbGVuZ3RoIG9mIHRoZSBzZW1pLW1pbm9yIGF4aXMgb2YgdGhlIGVsbGlwc2UuDQotICAgIGRvdWJsZSAgICAgc3RhcnRBbmdsZTsgIC8vU3RhcnQgYW5nbGUgb2YgdGhlIGZpdHRlZCBzdHJ1Y3R1cmUuDQotICAgIGRvdWJsZSAgICAgZW5kQW5nbGU7ICAgIC8vRW5kIGFuZ2xlIG9mIHRoZSBmaXR0ZWQgc3RydWN0dXJlLg0KLX0gUGFydGlhbEVsbGlwc2U7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU2V0dXBNYXRjaFBhdHRlcm5EYXRhX3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGNoYXIqIG1hdGNoU2V0dXBEYXRhOyAgICAvL1N0cmluZyBjb250YWluaW5nIHRoZSBtYXRjaCBzZXR1cCBkYXRhLg0KLSAgICBpbnQgICAgICAgICAgICBudW1NYXRjaFNldHVwRGF0YTsgLy9OdW1iZXIgb2YgbWF0Y2ggc2V0dXAgZGF0YS4NCi19IFNldHVwTWF0Y2hQYXR0ZXJuRGF0YTsNCi0NCi10eXBlZGVmIHN0cnVjdCBSYW5nZVNldHRpbmdEb3VibGVfc3RydWN0IHsNCi0gICAgU2V0dGluZ1R5cGUgc2V0dGluZ1R5cGU7IC8vTWF0Y2ggQ29uc3RyYWludHMgc3BlY2lmaWVzIHRoZSBtYXRjaCBvcHRpb24gd2hvc2UgdmFsdWVzIHlvdSB3YW50IHRvIGNvbnN0cmFpbiBieSB0aGUgZ2l2ZW4gcmFuZ2UuDQotICAgIGRvdWJsZSAgICAgIG1pbjsgICAgICAgICAvL01pbiBpcyB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgcmFuZ2UgZm9yIGEgZ2l2ZW4gTWF0Y2ggQ29uc3RyYWludC4NCi0gICAgZG91YmxlICAgICAgbWF4OyAgICAgICAgIC8vTWF4IGlzIHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSByYW5nZSBmb3IgYSBnaXZlbiBNYXRjaCBDb25zdHJhaW50Lg0KLX0gUmFuZ2VTZXR0aW5nRG91YmxlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY0FkdmFuY2VkU2V0dXBEYXRhT3B0aW9uX3N0cnVjdCB7DQotICAgIEdlb21ldHJpY1NldHVwRGF0YUl0ZW0gdHlwZTsgIC8vSXQgZGV0ZXJtaW5lcyB0aGUgb3B0aW9uIHlvdSB3YW50IHRvIHVzZSBkdXJpbmcgdGhlIG1hdGNoaW5nIHBoYXNlLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgIHZhbHVlOyAvL1ZhbHVlIGlzIHRoZSB2YWx1ZSBmb3IgdGhlIG9wdGlvbiB5b3Ugd2FudCB0byB1c2UgZHVyaW5nIHRoZSBtYXRjaGluZyBwaGFzZS4NCi19IEdlb21ldHJpY0FkdmFuY2VkU2V0dXBEYXRhT3B0aW9uOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbnRvdXJJbmZvUmVwb3J0X3N0cnVjdCB7DQotICAgIFBvaW50RG91YmxlKiBwb2ludHNQaXhlbDsgICAgICAgLy9Qb2ludHMgKHBpeGVsKSBzcGVjaWZpZXMgdGhlIGxvY2F0aW9uIG9mIGV2ZXJ5IHBvaW50IGRldGVjdGVkIG9uIHRoZSBjdXJ2ZSwgaW4gcGl4ZWxzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtUG9pbnRzUGl4ZWw7ICAgIC8vTnVtYmVyIG9mIHBvaW50cyBwaXhlbCBlbGVtZW50cy4NCi0gICAgUG9pbnREb3VibGUqIHBvaW50c1JlYWw7ICAgICAgICAvL1BvaW50cyAocmVhbCkgc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBldmVyeSBwb2ludCBkZXRlY3RlZCBvbiB0aGUgY3VydmUsIGluIGNhbGlicmF0ZWQgdW5pdHMuDQotICAgIHVuc2lnbmVkIGludCBudW1Qb2ludHNSZWFsOyAgICAgLy9OdW1iZXIgb2YgcG9pbnRzIHJlYWwgZWxlbWVudHMuDQotICAgIGRvdWJsZSogICAgICBjdXJ2YXR1cmVQaXhlbDsgICAgLy9DdXJ2YXR1cmUgUGl4ZWwgZGlzcGxheXMgdGhlIGN1cnZhdHVyZSBwcm9maWxlIGZvciB0aGUgc2VsZWN0ZWQgY29udG91ciwgaW4gcGl4ZWxzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtQ3VydmF0dXJlUGl4ZWw7IC8vTnVtYmVyIG9mIGN1cnZhdHVyZSBwaXhlbHMuDQotICAgIGRvdWJsZSogICAgICBjdXJ2YXR1cmVSZWFsOyAgICAgLy9DdXJ2YXR1cmUgUmVhbCBkaXNwbGF5cyB0aGUgY3VydmF0dXJlIHByb2ZpbGUgZm9yIHRoZSBzZWxlY3RlZCBjb250b3VyLCBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtQ3VydmF0dXJlUmVhbDsgIC8vTnVtYmVyIG9mIGN1cnZhdHVyZSBSZWFsIGVsZW1lbnRzLg0KLSAgICBkb3VibGUgICAgICAgbGVuZ3RoOyAgICAgICAgICAgIC8vTGVuZ3RoIChwaXhlbCkgc3BlY2lmaWVzIHRoZSBsZW5ndGgsIGluIHBpeGVscywgb2YgdGhlIGN1cnZlcyBpbiB0aGUgaW1hZ2UuDQotICAgIGRvdWJsZSAgICAgICBsZW5ndGhSZWFsOyAgICAgICAgLy9MZW5ndGggKHJlYWwpIHNwZWNpZmllcyB0aGUgbGVuZ3RoLCBpbiBjYWxpYnJhdGVkIHVuaXRzLCBvZiB0aGUgY3VydmVzIHdpdGhpbiB0aGUgY3VydmF0dXJlIHJhbmdlLg0KLSAgICB1bnNpZ25lZCBpbnQgaGFzRXF1YXRpb247ICAgICAgIC8vSGFzIEVxdWF0aW9uIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb250b3VyIGhhcyBhIGZpdHRlZCBlcXVhdGlvbi4NCi19IENvbnRvdXJJbmZvUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFJPSUxhYmVsX3N0cnVjdCB7DQotICAgIGNoYXIqICAgICAgICBjbGFzc05hbWU7IC8vU3BlY2lmaWVzIHRoZSBjbGFzc25hbWUgeW91IHdhbnQgdG8gc2VnbWVudC4NCi0gICAgdW5zaWduZWQgaW50IGxhYmVsOyAgICAgLy9MYWJlbCBpcyB0aGUgbGFiZWwgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgQ2xhc3MgTmFtZS4NCi19IFJPSUxhYmVsOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFN1cGVydmlzZWRDb2xvclNlZ21lbnRhdGlvblJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBST0lMYWJlbCogICAgbGFiZWxPdXQ7ICAgIC8vVGhlIFJvaSBsYWJlbHMgYXJyYXkuDQotICAgIHVuc2lnbmVkIGludCBudW1MYWJlbE91dDsgLy9UaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGxhYmVsT3V0IGFycmF5Lg0KLX0gU3VwZXJ2aXNlZENvbG9yU2VnbWVudGF0aW9uUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IExhYmVsVG9ST0lSZXBvcnRfc3RydWN0IHsNCi0gICAgUk9JKiogICAgICAgICByb2lBcnJheTsgICAgICAgICAgICAgICAgICAvL0FycmF5IG9mIFJPSXMuDQotICAgIHVuc2lnbmVkIGludCAgbnVtT2ZST0lzOyAgICAgICAgICAgICAgICAgLy9OdW1iZXIgb2YgUk9JcyBpbiB0aGUgcm9pQXJyYXkuDQotICAgIHVuc2lnbmVkIGludCogbGFiZWxzT3V0QXJyYXk7ICAgICAgICAgICAgLy9BcnJheSBvZiBsYWJlbHMuDQotICAgIHVuc2lnbmVkIGludCAgbnVtT2ZMYWJlbHM7ICAgICAgICAgICAgICAgLy9OdW1iZXIgb2YgbGFiZWxzLg0KLSAgICBpbnQqICAgICAgICAgIGlzVG9vTWFueVZlY3RvcnNBcnJheTsgICAgIC8vaXNUb29NYW55VmVjdG9yc0FycmF5IGFycmF5Lg0KLSAgICB1bnNpZ25lZCBpbnQgIGlzVG9vTWFueVZlY3RvcnNBcnJheVNpemU7IC8vTnVtYmVyIG9mIGVsZW1lbnRzIGluIGlzVG9vTWFueVZlY3RvcnNBcnJheS4NCi19IExhYmVsVG9ST0lSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29sb3JTZWdtZW5hdGlvbk9wdGlvbnNfc3RydWN0IHsNCi0gICAgdW5zaWduZWQgaW50IHdpbmRvd1g7ICAgICAgICAgLy9YIGlzIHRoZSB3aW5kb3cgc2l6ZSBpbiB4IGRpcmVjdGlvbi4NCi0gICAgdW5zaWduZWQgaW50IHdpbmRvd1k7ICAgICAgICAgLy9ZIGlzIHRoZSB3aW5kb3cgc2l6ZSBpbiB5IGRpcmVjdGlvbi4NCi0gICAgdW5zaWduZWQgaW50IHN0ZXBTaXplOyAgICAgICAgLy9TdGVwIFNpemUgaXMgdGhlIGRpc3RhbmNlIGJldHdlZW4gdHdvIHdpbmRvd3MuDQotICAgIHVuc2lnbmVkIGludCBtaW5QYXJ0aWNsZUFyZWE7IC8vTWluIFBhcnRpY2xlIEFyZWEgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGFsbG93ZWQgcGl4ZWxzLg0KLSAgICB1bnNpZ25lZCBpbnQgbWF4UGFydGljbGVBcmVhOyAvL01heCBQYXJ0aWNsZSBBcmVhIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIHBpeGVscy4NCi0gICAgc2hvcnQgICAgICAgIGlzRmluZVNlZ21lbnQ7ICAgLy9XaGVuIGVuYWJsZWQsIHRoZSBzdGVwIHByb2Nlc3NlcyB0aGUgYm91bmRhcnkgcGl4ZWxzIG9mIGVhY2ggc2VnbWVudGF0aW9uIGNsdXN0ZXIgdXNpbmcgYSBzdGVwIHNpemUgb2YgMS4NCi19IENvbG9yU2VnbWVuYXRpb25PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENsYXNzaWZpZWRDdXJ2ZV9zdHJ1Y3Qgew0KLSAgICBkb3VibGUgICAgICAgbGVuZ3RoOyAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGxlbmd0aCwgaW4gcGl4ZWxzLCBvZiB0aGUgY3VydmVzIHdpdGhpbiB0aGUgY3VydmF0dXJlIHJhbmdlLg0KLSAgICBkb3VibGUgICAgICAgbGVuZ3RoUmVhbDsgICAgICAgLy9zcGVjaWZpZXMgdGhlIGxlbmd0aCwgaW4gY2FsaWJyYXRlZCB1bml0cywgb2YgdGhlIGN1cnZlcyB3aXRoaW4gdGhlIGN1cnZhdHVyZSByYW5nZS4NCi0gICAgZG91YmxlICAgICAgIG1heEN1cnZhdHVyZTsgICAgIC8vc3BlY2lmaWVzIHRoZSBtYXhpbXVtIGN1cnZhdHVyZSwgaW4gcGl4ZWxzLCBmb3IgdGhlIHNlbGVjdGVkIGN1cnZhdHVyZSByYW5nZS4NCi0gICAgZG91YmxlICAgICAgIG1heEN1cnZhdHVyZVJlYWw7IC8vc3BlY2lmaWVzIHRoZSBtYXhpbXVtIGN1cnZhdHVyZSwgaW4gY2FsaWJyYXRlZCB1bml0cywgZm9yIHRoZSBzZWxlY3RlZCBjdXJ2YXR1cmUgcmFuZ2UuDQotICAgIHVuc2lnbmVkIGludCBsYWJlbDsgICAgICAgICAgICAvL3NwZWNpZmllcyB0aGUgY2xhc3MgdG8gd2hpY2ggdGhlIHRoZSBzYW1wbGUgYmVsb25ncy4NCi0gICAgUG9pbnREb3VibGUqIGN1cnZlUG9pbnRzOyAgICAgIC8vQ3VydmUgUG9pbnRzIGlzIGEgcG9pbnQtY29vcmRpbmF0ZSBjbHVzdGVyIHRoYXQgZGVmaW5lcyB0aGUgcG9pbnRzIG9mIHRoZSBjdXJ2ZS4NCi0gICAgdW5zaWduZWQgaW50IG51bUN1cnZlUG9pbnRzOyAgIC8vTnVtYmVyIG9mIGN1cnZlIHBvaW50cy4NCi19IENsYXNzaWZpZWRDdXJ2ZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBSYW5nZURvdWJsZV9zdHJ1Y3Qgew0KLSAgICBkb3VibGUgbWluVmFsdWU7IC8vVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLg0KLSAgICBkb3VibGUgbWF4VmFsdWU7IC8vVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLg0KLX0gUmFuZ2VEb3VibGU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUmFuZ2VMYWJlbF9zdHJ1Y3Qgew0KLSAgICBSYW5nZURvdWJsZSAgcmFuZ2U7IC8vU3BlY2lmaWVzIHRoZSByYW5nZSBvZiBjdXJ2YXR1cmUgdmFsdWVzLg0KLSAgICB1bnNpZ25lZCBpbnQgbGFiZWw7IC8vQ2xhc3MgTGFiZWwgc3BlY2lmaWVzIHRoZSBjbGFzcyB0byB3aGljaCB0aGUgdGhlIHNhbXBsZSBiZWxvbmdzLg0KLX0gUmFuZ2VMYWJlbDsNCi0NCi10eXBlZGVmIHN0cnVjdCBDdXJ2YXR1cmVBbmFseXNpc1JlcG9ydF9zdHJ1Y3Qgew0KLSAgICBDbGFzc2lmaWVkQ3VydmUqIGN1cnZlczsgICAgDQotICAgIHVuc2lnbmVkIGludCAgICAgbnVtQ3VydmVzOyANCi19IEN1cnZhdHVyZUFuYWx5c2lzUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IERpc3Bhcml0eV9zdHJ1Y3Qgew0KLSAgICBQb2ludERvdWJsZSBjdXJyZW50OyAgIC8vQ3VycmVudCBpcyBhIGFycmF5IG9mIHBvaW50cyB0aGF0IGRlZmluZXMgdGhlIHRhcmdldCBjb250b3VyLg0KLSAgICBQb2ludERvdWJsZSByZWZlcmVuY2U7IC8vcmVmZXJlbmNlIGlzIGEgYXJyYXkgb2YgcG9pbnRzIHRoYXQgZGVmaW5lcyB0aGUgdGVtcGxhdGUgY29udG91ci4NCi0gICAgZG91YmxlICAgICAgZGlzdGFuY2U7ICAvL1NwZWNpZmllcyB0aGUgZGlzdGFuY2UsIGluIHBpeGVscywgYmV0d2VlbiB0aGUgdGVtcGxhdGUgY29udG91ciBwb2ludCBhbmQgdGhlIHRhcmdldCBjb250b3VyIHBvaW50Lg0KLX0gRGlzcGFyaXR5Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbXB1dGVEaXN0YW5jZXNSZXBvcnRfc3RydWN0IHsNCi0gICAgRGlzcGFyaXR5KiAgIGRpc3RhbmNlczsgICAgICAgIC8vRGlzdGFuY2VzIGlzIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGNvbXB1dGVkIGRpc3RhbmNlcy4NCi0gICAgdW5zaWduZWQgaW50IG51bURpc3RhbmNlczsgICAgIC8vTnVtYmVyIGVsZW1lbnRzIGluIHRoZSBkaXN0YW5jZXMgYXJyYXkuDQotICAgIERpc3Bhcml0eSogICBkaXN0YW5jZXNSZWFsOyAgICAvL0Rpc3RhbmNlcyBSZWFsIGlzIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGNvbXB1dGVkIGRpc3RhbmNlcyBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtRGlzdGFuY2VzUmVhbDsgLy9OdW1iZXIgb2YgZWxlbWVudHMgaW4gcmVhbCBkaXN0YW5jZXMgYXJyYXkuDQotfSBDb21wdXRlRGlzdGFuY2VzUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IE1hdGNoTW9kZV9zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBpbnQgcm90YXRpb247ICAvL1JvdGF0aW9uIFdoZW4gZW5hYmxlZCwgdGhlIEZ1bmN0aW9uIHNlYXJjaGVzIGZvciBvY2N1cnJlbmNlcyBvZiB0aGUgdGVtcGxhdGUgaW4gdGhlIGluc3BlY3Rpb24gaW1hZ2UsIGFsbG93aW5nIGZvciB0ZW1wbGF0ZSBtYXRjaGVzIHRvIGJlIHJvdGF0ZWQuDQotICAgIHVuc2lnbmVkIGludCBzY2FsZTsgICAgIC8vUm90YXRpb24gV2hlbiBlbmFibGVkLCB0aGUgRnVuY3Rpb24gc2VhcmNoZXMgZm9yIG9jY3VycmVuY2VzIG9mIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgaW5zcGVjdGlvbiBpbWFnZSwgYWxsb3dpbmcgZm9yIHRlbXBsYXRlIG1hdGNoZXMgdG8gYmUgcm90YXRlZC4NCi0gICAgdW5zaWduZWQgaW50IG9jY2x1c2lvbjsgLy9PY2NsdXNpb24gc3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRvIHNlYXJjaCBmb3Igb2NjbHVkZWQgdmVyc2lvbnMgb2YgdGhlIHNoYXBlLg0KLX0gTWF0Y2hNb2RlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENsYXNzaWZpZWREaXNwYXJpdHlfc3RydWN0IHsNCi0gICAgZG91YmxlICAgICAgIGxlbmd0aDsgICAgICAgICAgICAgICAgLy9MZW5ndGggKHBpeGVsKSBzcGVjaWZpZXMgdGhlIGxlbmd0aCwgaW4gcGl4ZWxzLCBvZiB0aGUgY3VydmVzIHdpdGhpbiB0aGUgY3VydmF0dXJlIHJhbmdlLg0KLSAgICBkb3VibGUgICAgICAgbGVuZ3RoUmVhbDsgICAgICAgICAgICAvL0xlbmd0aCAocmVhbCkgc3BlY2lmaWVzIHRoZSBsZW5ndGgsIGluIGNhbGlicmF0ZWQgdW5pdHMsIG9mIHRoZSBjdXJ2ZXMgd2l0aGluIHRoZSBjdXJ2YXR1cmUgcmFuZ2UuDQotICAgIGRvdWJsZSAgICAgICBtYXhEaXN0YW5jZTsgICAgICAgICAgIC8vTWF4aW11bSBEaXN0YW5jZSAocGl4ZWwpIHNwZWNpZmllcyB0aGUgbWF4aW11bSBkaXN0YW5jZSwgaW4gcGl4ZWxzLCBiZXR3ZWVuIHBvaW50cyBhbG9uZyB0aGUgc2VsZWN0ZWQgY29udG91ciBhbmQgdGhlIHRlbXBsYXRlIGNvbnRvdXIuDQotICAgIGRvdWJsZSAgICAgICBtYXhEaXN0YW5jZVJlYWw7ICAgICAgIC8vTWF4aW11bSBEaXN0YW5jZSAocmVhbCkgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIGRpc3RhbmNlLCBpbiBjYWxpYnJhdGVkIHVuaXRzLCBiZXR3ZWVuIHBvaW50cyBhbG9uZyB0aGUgc2VsZWN0ZWQgY29udG91ciBhbmQgdGhlIHRlbXBsYXRlIGNvbnRvdXIuDQotICAgIHVuc2lnbmVkIGludCBsYWJlbDsgICAgICAgICAgICAgICAgIC8vQ2xhc3MgTGFiZWwgc3BlY2lmaWVzIHRoZSBjbGFzcyB0byB3aGljaCB0aGUgdGhlIHNhbXBsZSBiZWxvbmdzLg0KLSAgICBQb2ludERvdWJsZSogdGVtcGxhdGVTdWJzZWN0aW9uOyAgICAvL1RlbXBsYXRlIHN1YnNlY3Rpb24gcG9pbnRzIGlzIGFuIGFycmF5IG9mIHBvaW50cyB0aGF0IGRlZmluZXMgdGhlIGJvdW5kYXJ5IG9mIHRoZSB0ZW1wbGF0ZS4NCi0gICAgdW5zaWduZWQgaW50IG51bVRlbXBsYXRlU3Vic2VjdGlvbjsgLy9OdW1iZXIgb2YgcmVmZXJlbmNlIHBvaW50cy4NCi0gICAgUG9pbnREb3VibGUqIHRhcmdldFN1YnNlY3Rpb247ICAgICAgLy9DdXJyZW50IFBvaW50cyhUYXJnZXQgc3Vic2VjdGlvbiBwb2ludHMpIGlzIGFuIGFycmF5IG9mIHBvaW50cyB0aGF0IGRlZmluZXMgdGhlIGJvdW5kYXJ5IG9mIHRoZSB0YXJnZXQuDQotICAgIHVuc2lnbmVkIGludCBudW1UYXJnZXRTdWJzZWN0aW9uOyAgIC8vTnVtYmVyIG9mIGN1cnJlbnQgcG9pbnRzLg0KLX0gQ2xhc3NpZmllZERpc3Bhcml0eTsNCi0NCi10eXBlZGVmIHN0cnVjdCBDbGFzc2lmeURpc3RhbmNlc1JlcG9ydF9zdHJ1Y3Qgew0KLSAgICBDbGFzc2lmaWVkRGlzcGFyaXR5KiBjbGFzc2lmaWVkRGlzdGFuY2VzOyAgICAvL0Rpc3Bhcml0eSBhcnJheSBjb250YWluaW5nIHRoZSBjbGFzc2lmaWVkIGRpc3RhbmNlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgbnVtQ2xhc3NpZmllZERpc3RhbmNlczsgLy9OdW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGRpc3Bhcml0eSBhcnJheS4NCi19IENsYXNzaWZ5RGlzdGFuY2VzUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbnRvdXJDb21wdXRlQ3VydmF0dXJlUmVwb3J0X3N0cnVjdCB7DQotICAgIGRvdWJsZSogICAgICBjdXJ2YXR1cmVQaXhlbDsgICAgLy9DdXJ2YXR1cmUgUGl4ZWwgZGlzcGxheXMgdGhlIGN1cnZhdHVyZSBwcm9maWxlIGZvciB0aGUgc2VsZWN0ZWQgY29udG91ciwgaW4gcGl4ZWxzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtQ3VydmF0dXJlUGl4ZWw7IC8vTnVtYmVyIG9mIGN1cnZhdHVyZSBwaXhlbHMuDQotICAgIGRvdWJsZSogICAgICBjdXJ2YXR1cmVSZWFsOyAgICAgLy9DdXJ2YXR1cmUgUmVhbCBkaXNwbGF5cyB0aGUgY3VydmF0dXJlIHByb2ZpbGUgZm9yIHRoZSBzZWxlY3RlZCBjb250b3VyLCBpbiBjYWxpYnJhdGVkIHVuaXRzLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtQ3VydmF0dXJlUmVhbDsgIC8vTnVtYmVyIG9mIGN1cnZhdHVyZSBSZWFsIGVsZW1lbnRzLg0KLX0gQ29udG91ckNvbXB1dGVDdXJ2YXR1cmVSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29udG91ck92ZXJsYXlTZXR0aW5nc19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBpbnQgb3ZlcmxheTsgICAgICAgLy9PdmVybGF5IHNwZWNpZmllcyB3aGV0aGVyIHRvIGRpc3BsYXkgdGhlIG92ZXJsYXkgb24gdGhlIGltYWdlLg0KLSAgICBSR0JWYWx1ZSAgICAgY29sb3I7ICAgICAgICAgLy9Db2xvciBpcyB0aGUgY29sb3Igb2YgdGhlIG92ZXJsYXkuDQotICAgIHVuc2lnbmVkIGludCB3aWR0aDsgICAgICAgICAvL1dpZHRoIHNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIG92ZXJsYXkgaW4gcGl4ZWxzLg0KLSAgICB1bnNpZ25lZCBpbnQgbWFpbnRhaW5XaWR0aDsgLy9NYWludGFpbiBXaWR0aD8gc3BlY2lmaWVzIHdoZXRoZXIgeW91IHdhbnQgdGhlIG92ZXJsYXkgbWVhc3VyZWQgaW4gc2NyZWVuIHBpeGVscyBvciBpbWFnZSBwaXhlbHMuDQotfSBDb250b3VyT3ZlcmxheVNldHRpbmdzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEN1cnZlUGFyYW1ldGVyc19zdHJ1Y3Qgew0KLSAgICBFeHRyYWN0aW9uTW9kZSBleHRyYWN0aW9uTW9kZTsgLy9TcGVjaWZpZXMgdGhlIG1ldGhvZCB0aGUgZnVuY3Rpb24gdXNlcyB0byBpZGVudGlmeSBjdXJ2ZXMgaW4gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICB0aHJlc2hvbGQ7ICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gY29udHJhc3QgYSBzZWVkIHBvaW50IG11c3QgaGF2ZSBpbiBvcmRlciB0byBiZWdpbiBhIGN1cnZlLg0KLSAgICBFZGdlRmlsdGVyU2l6ZSBmaWx0ZXJTaXplOyAgICAgLy9TcGVjaWZpZXMgdGhlIHdpZHRoIG9mIHRoZSBlZGdlIGZpbHRlciB0aGUgZnVuY3Rpb24gdXNlcyB0byBpZGVudGlmeSBjdXJ2ZXMgaW4gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICBtaW5MZW5ndGg7ICAgICAgLy9TcGVjaWZpZXMgdGhlIGxlbmd0aCwgaW4gcGl4ZWxzLCBvZiB0aGUgc21hbGxlc3QgY3VydmUgdGhlIGZ1bmN0aW9uIHdpbGwgZXh0cmFjdC4NCi0gICAgaW50ICAgICAgICAgICAgc2VhcmNoU3RlcDsgICAgIC8vU2VhcmNoIFN0ZXAgU2l6ZSBzcGVjaWZpZXMgdGhlIGRpc3RhbmNlLCBpbiB0aGUgeSBkaXJlY3Rpb24sIGJldHdlZW4gdGhlIGltYWdlIHJvd3MgdGhhdCB0aGUgYWxnb3JpdGhtIGluc3BlY3RzIGZvciBjdXJ2ZSBzZWVkIHBvaW50cy4NCi0gICAgaW50ICAgICAgICAgICAgbWF4RW5kUG9pbnRHYXA7IC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGdhcCwgaW4gcGl4ZWxzLCBiZXR3ZWVuIHRoZSBlbmRwb2ludHMgb2YgYSBjdXJ2ZSB0aGF0IHRoZSBmdW5jdGlvbiBpZGVudGlmaWVzIGFzIGEgY2xvc2VkIGN1cnZlLg0KLSAgICBpbnQgICAgICAgICAgICBzdWJwaXhlbDsgICAgICAgLy9TdWJwaXhlbCBzcGVjaWZpZXMgd2hldGhlciB0byBkZXRlY3QgY3VydmUgcG9pbnRzIHdpdGggc3VicGl4ZWwgYWNjdXJhY3kuDQotfSBDdXJ2ZVBhcmFtZXRlcnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRXh0cmFjdENvbnRvdXJSZXBvcnRfc3RydWN0IHsNCi0gICAgUG9pbnREb3VibGUqIGNvbnRvdXJQb2ludHM7ICAgIC8vQ29udG91ciBQb2ludHMgc3BlY2lmaWVzIGV2ZXJ5IHBvaW50IGZvdW5kIG9uIHRoZSBjb250b3VyLg0KLSAgICBpbnQgICAgICAgICAgbnVtQ29udG91clBvaW50czsgLy9OdW1iZXIgb2YgY29udG91ciBwb2ludHMuDQotICAgIFBvaW50RG91YmxlKiBzb3VyY2VQb2ludHM7ICAgICAvL1NvdXJjZSBJbWFnZSBQb2ludHMgc3BlY2lmaWVzIGV2ZXJ5IHBvaW50IGZvdW5kIG9uIHRoZSBjb250b3VyIGluIHRoZSBzb3VyY2UgaW1hZ2UuDQotICAgIGludCAgICAgICAgICBudW1Tb3VyY2VQb2ludHM7ICAvL051bWJlciBvZiBzb3VyY2UgcG9pbnRzLg0KLX0gRXh0cmFjdENvbnRvdXJSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29ubmVjdGlvbkNvbnN0cmFpbnRfc3RydWN0IHsNCi0gICAgQ29ubmVjdGlvbkNvbnN0cmFpbnRUeXBlIGNvbnN0cmFpbnRUeXBlOyAvL0NvbnN0cmFpbnQgVHlwZSBzcGVjaWZpZXMgd2hhdCBjcml0ZXJpYSB0byB1c2UgdG8gY29uc2lkZXIgdHdvIGN1cnZlcyBwYXJ0IG9mIGEgY29udG91ci4NCi0gICAgUmFuZ2VEb3VibGUgICAgICAgICAgICAgIHJhbmdlOyAgICAgICAgICAvL1NwZWNpZmllcyByYW5nZSBmb3IgYSBnaXZlbiBNYXRjaCBDb25zdHJhaW50Lg0KLX0gQ29ubmVjdGlvbkNvbnN0cmFpbnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRXh0cmFjdFRleHR1cmVGZWF0dXJlc1JlcG9ydF9zdHJ1Y3Qgew0KLSAgICBpbnQqICAgICB3YXZlbGV0QmFuZHM7ICAgICAgICAvL1RoZSBhcnJheSBoYXZpbmcgYWxsIHRoZSBXYXZlbGV0IEJhbmtzIHVzZWQgZm9yIGV4dHJhY3Rpb24uDQotICAgIGludCAgICAgIG51bVdhdmVsZXRCYW5kczsgICAgIC8vTnVtYmVyIG9mIHdhdmVsZXQgYmFua3MgaW4gdGhlIEFycmF5Lg0KLSAgICBkb3VibGUqKiB0ZXh0dXJlRmVhdHVyZXM7ICAgICAvLzItRCBhcnJheSB0byBzdG9yZSBhbGwgdGhlIFRleHR1cmUgZmVhdHVyZXMgZXh0cmFjdGVkLg0KLSAgICBpbnQgICAgICB0ZXh0dXJlRmVhdHVyZXNSb3dzOyAvL051bWJlciBvZiBSb3dzIGluIHRoZSBUZXh0dXJlIEZlYXR1cmVzIGFycmF5Lg0KLSAgICBpbnQgICAgICB0ZXh0dXJlRmVhdHVyZXNDb2xzOyAvL051bWJlciBvZiBDb2xzIGluIFRleHR1cmUgRmVhdHVyZXMgYXJyYXkuDQotfSBFeHRyYWN0VGV4dHVyZUZlYXR1cmVzUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFdhdmVsZXRCYW5kc1JlcG9ydF9zdHJ1Y3Qgew0KLSAgICBmbG9hdCoqIExMQmFuZDsgIC8vMi1EIGFycmF5IGZvciBMTCBCYW5kLg0KLSAgICBmbG9hdCoqIExIQmFuZDsgIC8vMi1EIGFycmF5IGZvciBMSCBCYW5kLg0KLSAgICBmbG9hdCoqIEhMQmFuZDsgIC8vMi1EIGFycmF5IGZvciBITCBCYW5kLg0KLSAgICBmbG9hdCoqIEhIQmFuZDsgIC8vMi1EIGFycmF5IGZvciBISCBCYW5kLg0KLSAgICBmbG9hdCoqIExMTEJhbmQ7IC8vMi1EIGFycmF5IGZvciBMTEwgQmFuZC4NCi0gICAgZmxvYXQqKiBMTEhCYW5kOyAvLzItRCBhcnJheSBmb3IgTExIIEJhbmQuDQotICAgIGZsb2F0ICAgTEhMQmFuZDsgLy8yLUQgYXJyYXkgZm9yIExITCBCYW5kLg0KLSAgICBmbG9hdCoqIExISEJhbmQ7IC8vMi1EIGFycmF5IGZvciBMSEggQmFuZC4NCi0gICAgaW50ICAgICByb3dzOyAgICAvL051bWJlciBvZiBSb3dzIGZvciBlYWNoIG9mIHRoZSAyLUQgYXJyYXlzLg0KLSAgICBpbnQgICAgIGNvbHM7ICAgIC8vTnVtYmVyIG9mIENvbHVtbnMgZm9yIGVhY2ggb2YgdGhlIDItRCBhcnJheXMuDQotfSBXYXZlbGV0QmFuZHNSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2lyY2xlRml0T3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICAgICAgbWF4UmFkaXVzOyAgIC8vU3BlY2lmaWVzIHRoZSBhY2NlcHRhYmxlIGRpc3RhbmNlLCBpbiBwaXhlbHMsIHRoYXQgYSBwb2ludCBkZXRlcm1pbmVkIHRvIGJlbG9uZyB0byB0aGUgY2lyY2xlIGNhbiBiZSBmcm9tIHRoZSBwZXJpbWV0ZXIgb2YgdGhlIGNpcmNsZS4NCi0gICAgZG91YmxlICAgICAgICAgIHN0ZXBTaXplOyAgICAvL1N0ZXAgU2l6ZSBpcyB0aGUgYW5nbGUsIGluIGRlZ3JlZXMsIGJldHdlZW4gZWFjaCByYWRpYWwgbGluZSBpbiB0aGUgYW5udWxhciByZWdpb24uDQotICAgIFJha2VQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsgLy9NZXRob2QgdXNlZCB0byBwcm9jZXNzIHRoZSBkYXRhIGV4dHJhY3RlZCBmb3IgZWRnZSBkZXRlY3Rpb24uDQotfSBDaXJjbGVGaXRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEVkZ2VPcHRpb25zMl9zdHJ1Y3Qgew0KLSAgICBFZGdlUG9sYXJpdHlTZWFyY2hNb2RlIHBvbGFyaXR5OyAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgcG9sYXJpdHkgb2YgdGhlIGVkZ2VzIHRvIGJlIGZvdW5kLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIGtlcm5lbFNpemU7ICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgZWRnZSBkZXRlY3Rpb24ga2VybmVsLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIHdpZHRoOyAgICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHBpeGVscyBhdmVyYWdlZCBwZXJwZW5kaWN1bGFyIHRvIHRoZSBzZWFyY2ggZGlyZWN0aW9uIHRvIGNvbXB1dGUgdGhlIGVkZ2UgcHJvZmlsZSBzdHJlbmd0aCBhdCBlYWNoIHBvaW50IGFsb25nIHRoZSBzZWFyY2ggUk9JLg0KLSAgICBmbG9hdCAgICAgICAgICAgICAgICAgIG1pblRocmVzaG9sZDsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBlZGdlIHN0cmVuZ3RoIChncmFkaWVudCBtYWduaXR1ZGUpIHJlcXVpcmVkIGZvciBhIGRldGVjdGVkIGVkZ2UuDQotICAgIEludGVycG9sYXRpb25NZXRob2QgICAgaW50ZXJwb2xhdGlvblR5cGU7ICAgIC8vU3BlY2lmaWVzIHRoZSBpbnRlcnBvbGF0aW9uIG1ldGhvZCB1c2VkIHRvIGxvY2F0ZSB0aGUgZWRnZSBwb3NpdGlvbi4NCi0gICAgQ29sdW1uUHJvY2Vzc2luZ01vZGUgICBjb2x1bW5Qcm9jZXNzaW5nTW9kZTsgLy9TcGVjaWZpZXMgdGhlIG1ldGhvZCB1c2VkIHRvIGZpbmQgdGhlIHN0cmFpZ2h0IGVkZ2UuDQotfSBFZGdlT3B0aW9uczI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRmluZENpcmN1bGFyRWRnZU9wdGlvbnNfc3RydWN0IHsNCi0gICAgU3Bva2VEaXJlY3Rpb24gZGlyZWN0aW9uOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIFNwb2tlIGRpcmVjdGlvbiB0byBzZWFyY2ggaW4gdGhlIFJPSS4NCi0gICAgaW50ICAgICAgICAgICAgc2hvd1NlYXJjaEFyZWE7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBhcmVhIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgc2hvd1NlYXJjaExpbmVzOyAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBsaW5lcyB1c2VkIHRvIGxvY2F0ZSB0aGUgZWRnZXMgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICBzaG93RWRnZXNGb3VuZDsgICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgbG9jYXRpb25zIG9mIHRoZSBlZGdlcyBmb3VuZCBvbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgIHNob3dSZXN1bHQ7ICAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBoaXQgbGluZXMgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGVkZ2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgaGl0IGxpbmUgb24gdGhlIHJlc3VsdCBpbWFnZS4NCi0gICAgUkdCVmFsdWUgICAgICAgc2VhcmNoQXJlYUNvbG9yOyAgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGFyZWEuDQotICAgIFJHQlZhbHVlICAgICAgIHNlYXJjaExpbmVzQ29sb3I7IC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHNlYXJjaCBsaW5lcy4NCi0gICAgUkdCVmFsdWUgICAgICAgc2VhcmNoRWRnZXNDb2xvcjsgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGVkZ2VzLg0KLSAgICBSR0JWYWx1ZSAgICAgICByZXN1bHRDb2xvcjsgICAgICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSByZXN1bHRzLg0KLSAgICBjaGFyKiAgICAgICAgICBvdmVybGF5R3JvdXBOYW1lOyAvL1NwZWNpZmllcyB0aGUgb3ZlcmxheSBncm91cCBuYW1lIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheXMuDQotICAgIEVkZ2VPcHRpb25zMiAgIGVkZ2VPcHRpb25zOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBlZGdlIGRldGVjdGlvbiBvcHRpb25zIGFsb25nIGEgc2luZ2xlIHNlYXJjaCBsaW5lLg0KLX0gRmluZENpcmN1bGFyRWRnZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRmluZENvbmNlbnRyaWNFZGdlT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBDb25jZW50cmljUmFrZURpcmVjdGlvbiBkaXJlY3Rpb247ICAgICAgICAvL1NwZWNpZmllcyB0aGUgQ29uY2VudHJpYyBSYWtlIGRpcmVjdGlvbi4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaEFyZWE7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBhcmVhIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaExpbmVzOyAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBsaW5lcyB1c2VkIHRvIGxvY2F0ZSB0aGUgZWRnZXMgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICBzaG93RWRnZXNGb3VuZDsgICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgbG9jYXRpb25zIG9mIHRoZSBlZGdlcyBmb3VuZCBvbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgIHNob3dSZXN1bHQ7ICAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBoaXQgbGluZXMgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGVkZ2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgaGl0IGxpbmUgb24gdGhlIHJlc3VsdCBpbWFnZS4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgICAgc2VhcmNoQXJlYUNvbG9yOyAgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGFyZWEuDQotICAgIFJHQlZhbHVlICAgICAgICAgICAgICAgIHNlYXJjaExpbmVzQ29sb3I7IC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHNlYXJjaCBsaW5lcy4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgICAgc2VhcmNoRWRnZXNDb2xvcjsgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGVkZ2VzLg0KLSAgICBSR0JWYWx1ZSAgICAgICAgICAgICAgICByZXN1bHRDb2xvcjsgICAgICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSByZXN1bHRzLg0KLSAgICBjaGFyKiAgICAgICAgICAgICAgICAgICBvdmVybGF5R3JvdXBOYW1lOyAvL1NwZWNpZmllcyB0aGUgb3ZlcmxheSBncm91cCBuYW1lIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheXMuDQotICAgIEVkZ2VPcHRpb25zMiAgICAgICAgICAgIGVkZ2VPcHRpb25zOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBlZGdlIGRldGVjdGlvbiBvcHRpb25zIGFsb25nIGEgc2luZ2xlIHNlYXJjaCBsaW5lLg0KLX0gRmluZENvbmNlbnRyaWNFZGdlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb25jZW50cmljRWRnZUZpdE9wdGlvbnNfc3RydWN0IHsNCi0gICAgaW50ICAgICAgICAgICAgIG1heFJhZGl1czsgICAvL1NwZWNpZmllcyB0aGUgYWNjZXB0YWJsZSBkaXN0YW5jZSwgaW4gcGl4ZWxzLCB0aGF0IGEgcG9pbnQgZGV0ZXJtaW5lZCB0byBiZWxvbmcgdG8gdGhlIGNpcmNsZSBjYW4gYmUgZnJvbSB0aGUgcGVyaW1ldGVyIG9mIHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSAgICAgICAgICBzdGVwU2l6ZTsgICAgLy9UaGUgc2FtcGxpbmcgZmFjdG9yIHRoYXQgZGV0ZXJtaW5lcyB0aGUgZ2FwIGJldHdlZW4gdGhlIHJha2UgbGluZXMuDQotICAgIFJha2VQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsgLy9NZXRob2QgdXNlZCB0byBwcm9jZXNzIHRoZSBkYXRhIGV4dHJhY3RlZCBmb3IgZWRnZSBkZXRlY3Rpb24uDQotfSBDb25jZW50cmljRWRnZUZpdE9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRmluZENvbmNlbnRyaWNFZGdlUmVwb3J0X3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgc3RhcnRQdDsgICAgICAgICAgIC8vUGl4ZWwgQ29vcmRpbmF0ZXMgZm9yIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSBlZGdlLg0KLSAgICBQb2ludEZsb2F0IGVuZFB0OyAgICAgICAgICAgICAvL1BpeGVsIENvb3JkaW5hdGVzIGZvciBlbmQgcG9pbnQgb2YgdGhlIGVkZ2UuDQotICAgIFBvaW50RmxvYXQgc3RhcnRQdENhbGlicmF0ZWQ7IC8vUmVhbCB3b3JsZCBDb29yZGluYXRlcyBmb3Igc3RhcnRpbmcgcG9pbnQgb2YgdGhlIGVkZ2UuDQotICAgIFBvaW50RmxvYXQgZW5kUHRDYWxpYnJhdGVkOyAgIC8vUmVhbCB3b3JsZCBDb29yZGluYXRlcyBmb3IgZW5kIHBvaW50IG9mIHRoZSBlZGdlLg0KLSAgICBkb3VibGUgICAgIGFuZ2xlOyAgICAgICAgICAgICAvL0FuZ2xlIG9mIHRoZSBlZGdlIGZvdW5kLg0KLSAgICBkb3VibGUgICAgIGFuZ2xlQ2FsaWJyYXRlZDsgICAvL0NhbGlicmF0ZWQgYW5nbGUgb2YgdGhlIGVkZ2UgZm91bmQuDQotICAgIGRvdWJsZSAgICAgc3RyYWlnaHRuZXNzOyAgICAgIC8vVGhlIHN0cmFpZ2h0bmVzcyB2YWx1ZSBvZiB0aGUgZGV0ZWN0ZWQgc3RyYWlnaHQgZWRnZS4NCi0gICAgZG91YmxlICAgICBhdmdTdHJlbmd0aDsgICAgICAgLy9BdmVyYWdlIHN0cmVuZ3RoIG9mIHRoZSBlZ2RlIGZvdW5kLg0KLSAgICBkb3VibGUgICAgIGF2Z1NOUjsgICAgICAgICAgICAvL0F2ZXJhZ2UgU05SKFNpZ25hbCB0byBOb2lzZSBSYXRpbykgZm9yIHRoZSBlZGdlIGZvdW5kLg0KLSAgICBpbnQgICAgICAgIGxpbmVGb3VuZDsgICAgICAgICAvL0lmIHRoZSBlZGdlIGlzIGZvdW5kIG9yIG5vdC4NCi19IEZpbmRDb25jZW50cmljRWRnZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaW5kQ2lyY3VsYXJFZGdlUmVwb3J0X3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyQ2FsaWJyYXRlZDsgLy9SZWFsIHdvcmxkIENvb3JkaW5hdGVzIG9mIHRoZSBDZW50ZXIuDQotICAgIGRvdWJsZSAgICAgcmFkaXVzQ2FsaWJyYXRlZDsgLy9SZWFsIHdvcmxkIHJhZGl1cyBvZiB0aGUgQ2lyY3VsYXIgRWRnZSBmb3VuZC4NCi0gICAgUG9pbnRGbG9hdCBjZW50ZXI7ICAgICAgICAgICAvL1BpeGVsIENvb3JkaW5hdGVzIG9mIHRoZSBDZW50ZXIuDQotICAgIGRvdWJsZSAgICAgcmFkaXVzOyAgICAgICAgICAgLy9SYWRpdXMgaW4gcGl4ZWxzIG9mIHRoZSBDaXJjdWxhciBFZGdlIGZvdW5kLg0KLSAgICBkb3VibGUgICAgIHJvdW5kbmVzczsgICAgICAgIC8vVGhlIHJvdW5kbmVzcyBvZiB0aGUgY2FsY3VsYXRlZCBjaXJjdWxhciBlZGdlLg0KLSAgICBkb3VibGUgICAgIGF2Z1N0cmVuZ3RoOyAgICAgIC8vQXZlcmFnZSBzdHJlbmd0aCBvZiB0aGUgZWdkZSBmb3VuZC4NCi0gICAgZG91YmxlICAgICBhdmdTTlI7ICAgICAgICAgICAvL0F2ZXJhZ2UgU05SKFNpZ25hbCB0byBOb2lzZSBSYXRpbykgZm9yIHRoZSBlZGdlIGZvdW5kLg0KLSAgICBpbnQgICAgICAgIGNpcmNsZUZvdW5kOyAgICAgIC8vSWYgdGhlIGNpcmNsdWxhciBlZGdlIGlzIGZvdW5kIG9yIG5vdC4NCi19IEZpbmRDaXJjdWxhckVkZ2VSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgV2luZG93U2l6ZV9zdHJ1Y3Qgew0KLSAgICBpbnQgeDsgICAgICAgIC8vV2luZG93IGxlbmdodCBvbiBYIGRpcmVjdGlvbi4NCi0gICAgaW50IHk7ICAgICAgICAvL1dpbmRvdyBsZW5naHQgb24gWSBkaXJlY3Rpb24uDQotICAgIGludCBzdGVwU2l6ZTsgLy9EaXN0YW5jZSBiZXR3ZWVuIHdpbmRvd3MuDQotfSBXaW5kb3dTaXplOw0KLQ0KLXR5cGVkZWYgc3RydWN0IERpc3BsYWNlbWVudFZlY3Rvcl9zdHJ1Y3Qgew0KLSAgICBpbnQgeDsgLy9sZW5ndGggb24gWCBkaXJlY3Rpb24uDQotICAgIGludCB5OyAvL2xlbmd0aCBvbiBZIGRpcmVjdGlvbi4NCi19IERpc3BsYWNlbWVudFZlY3RvcjsNCi0NCi10eXBlZGVmIHN0cnVjdCBXYXZlbGV0T3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBXYXZlbGV0VHlwZSB0eXBlT2ZXYXZlbGV0OyAvL1R5cGUgb2Ygd2F2ZWxldChkYiwgYmlvci4NCi0gICAgZmxvYXQgICAgICAgbWluRW5lcmd5OyAgICAgLy9NaW5pbXVtIEVuZXJneSBpbiB0aGUgYmFuZHMgdG8gY29uc2lkZXIgZm9yIHRleHR1cmUgZGVmZWN0IGRldGVjdGlvbi4NCi19IFdhdmVsZXRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENvb2NjdXJyZW5jZU9wdGlvbnNfc3RydWN0IHsNCi0gICAgaW50ICAgICAgICAgICAgICAgIGxldmVsOyAgICAgICAgLy9MZXZlbC9zaXplIG9mIG1hdHJpeC4NCi0gICAgRGlzcGxhY2VtZW50VmVjdG9yIGRpc3BsYWNlbWVudDsgLy9EaXNwbGFjZW1uZXQgYmV0d2VlbiBwaXhlbHMgdG8gYWNjdW11bGF0ZSB0aGUgbWF0cml4Lg0KLX0gQ29vY2N1cnJlbmNlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJMb2NhbFRocmVzaG9sZE9wdGlvbnNfc3RydWN0IHsNCi0gICAgTG9jYWxUaHJlc2hvbGRNZXRob2QgbWV0aG9kOyAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbG9jYWwgdGhyZXNob2xkaW5nIG1ldGhvZCB0aGUgZnVuY3Rpb24gdXNlcy4NCi0gICAgUGFydGljbGVUeXBlICAgICAgICAgcGFydGljbGVUeXBlOyAgICAvL1NwZWNpZmllcyB3aGF0IGtpbmQgb2YgcGFydGljbGVzIHRvIGxvb2sgZm9yLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICB3aW5kb3dXaWR0aDsgICAgIC8vVGhlIHdpZHRoIG9mIHRoZSByZWN0YW5ndWxhciB3aW5kb3cgYXJvdW5kIHRoZSBwaXhlbCBvbiB3aGljaCB0aGUgZnVuY3Rpb24gcGVyZm9ybXMgdGhlIGxvY2FsIHRocmVzaG9sZC4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgd2luZG93SGVpZ2h0OyAgICAvL1RoZSBoZWlnaHQgb2YgdGhlIHJlY3Rhbmd1bGFyIHdpbmRvdyBhcm91bmQgdGhlIHBpeGVsIG9uIHdoaWNoIHRoZSBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgbG9jYWwgdGhyZXNob2xkLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICBkZXZpYXRpb25XZWlnaHQ7IC8vU3BlY2lmaWVzIHRoZSBrIGNvbnN0YW50IHVzZWQgaW4gdGhlIE5pYmxhY2sgbG9jYWwgdGhyZXNob2xkaW5nIGFsZ29yaXRobSwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgd2VpZ2h0IGFwcGxpZWQgdG8gdGhlIHZhcmlhbmNlIGNhbGN1bGF0aW9uLg0KLX0gUGFydGljbGVDbGFzc2lmaWVyTG9jYWxUaHJlc2hvbGRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJhbmdlRmxvYXRfc3RydWN0IHsNCi0gICAgZmxvYXQgbWluVmFsdWU7IC8vVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLg0KLSAgICBmbG9hdCBtYXhWYWx1ZTsgLy9UaGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgcmFuZ2UuDQotfSBSYW5nZUZsb2F0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllckF1dG9UaHJlc2hvbGRPcHRpb25zX3N0cnVjdCB7DQotICAgIFRocmVzaG9sZE1ldGhvZCBtZXRob2Q7ICAgICAgIC8vVGhlIG1ldGhvZCBmb3IgYmluYXJ5IHRocmVzaG9sZGluZywgd2hpY2ggc3BlY2lmaWVzIGhvdyB0byBjYWxjdWxhdGUgdGhlIGNsYXNzZXMuDQotICAgIFBhcnRpY2xlVHlwZSAgICBwYXJ0aWNsZVR5cGU7IC8vU3BlY2lmaWVzIHdoYXQga2luZCBvZiBwYXJ0aWNsZXMgdG8gbG9vayBmb3IuDQotICAgIFJhbmdlRmxvYXQgICAgICBsaW1pdHM7ICAgICAgIC8vVGhlIGxpbWl0cyBvbiB0aGUgYXV0b21hdGljIHRocmVzaG9sZCByYW5nZS4NCi19IFBhcnRpY2xlQ2xhc3NpZmllckF1dG9UaHJlc2hvbGRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zMl9zdHJ1Y3Qgew0KLSAgICBQYXJ0aWNsZUNsYXNzaWZpZXJUaHJlc2hvbGRUeXBlICAgICAgICAgdGhyZXNob2xkVHlwZTsgICAgICAgICAvL1RoZSB0eXBlIG9mIHRocmVzaG9sZCB0byBwZXJmb3JtIG9uIHRoZSBpbWFnZS4NCi0gICAgUmFuZ2VGbG9hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbnVhbFRocmVzaG9sZFJhbmdlOyAgLy9UaGUgcmFuZ2Ugb2YgcGl4ZWxzIHRvIGtlZXAgaWYgbWFudWFsbHkgdGhyZXNob2xkaW5nIHRoZSBpbWFnZS4NCi0gICAgUGFydGljbGVDbGFzc2lmaWVyQXV0b1RocmVzaG9sZE9wdGlvbnMgIGF1dG9UaHJlc2hvbGRPcHRpb25zOyAgLy9UaGUgb3B0aW9ucyB1c2VkIHRvIGF1dG8gdGhyZXNob2xkIHRoZSBpbWFnZS4NCi0gICAgUGFydGljbGVDbGFzc2lmaWVyTG9jYWxUaHJlc2hvbGRPcHRpb25zIGxvY2FsVGhyZXNob2xkT3B0aW9uczsgLy9UaGUgb3B0aW9ucyB1c2VkIHRvIGxvY2FsIHRocmVzaG9sZCB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RCb3JkZXI7ICAgICAgICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHJlamVjdCBib3JkZXIgcGFydGljbGVzLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtRXJvc2lvbnM7ICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgZXJvc2lvbnMgdG8gcGVyZm9ybS4NCi19IFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zMjsNCi0NCi10eXBlZGVmIHN0cnVjdCBNZWFzdXJlUGFydGljbGVzUmVwb3J0X3N0cnVjdCB7DQotICAgIGRvdWJsZSoqIHBpeGVsTWVhc3VyZW1lbnRzOyAgICAgIC8vVGhlIG1lYXN1cmVtZW50cyBvbiB0aGUgcGFydGljbGVzIGluIHRoZSBpbWFnZSwgaW4gcGl4ZWwgY29vcmRpbmF0ZXMuDQotICAgIGRvdWJsZSoqIGNhbGlicmF0ZWRNZWFzdXJlbWVudHM7IC8vVGhlIG1lYXN1cmVtZW50cyBvbiB0aGUgcGFydGljbGVzIGluIHRoZSBpbWFnZSwgaW4gcmVhbC13b3JsZCBjb29yZGluYXRlcy4NCi0gICAgc2l6ZV90ICAgbnVtUGFydGljbGVzOyAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHBhcnRpY2xlcyBvbiB3aGljaCBtZWFzdXJlbWVudHMgd2VyZSB0YWtlbi4NCi0gICAgc2l6ZV90ICAgbnVtTWVhc3VyZW1lbnRzOyAgICAgICAgLy9UaGUgbnVtYmVyIG9mIG1lYXN1cmVtZW50cyB0YWtlbi4NCi19IE1lYXN1cmVQYXJ0aWNsZXNSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgR2VvbWV0cmljUGF0dGVybk1hdGNoM19zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgICAgICAgICAgICAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgbWF0Y2guDQotICAgIGZsb2F0ICAgICAgcm90YXRpb247ICAgICAgICAgICAgICAgIC8vVGhlIHJvdGF0aW9uIG9mIHRoZSBtYXRjaCByZWxhdGl2ZSB0byB0aGUgdGVtcGxhdGUgaW1hZ2UsIGluIGRlZ3JlZXMuDQotICAgIGZsb2F0ICAgICAgc2NhbGU7ICAgICAgICAgICAgICAgICAgIC8vVGhlIHNpemUgb2YgdGhlIG1hdGNoIHJlbGF0aXZlIHRvIHRoZSBzaXplIG9mIHRoZSB0ZW1wbGF0ZSBpbWFnZSwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZS4NCi0gICAgZmxvYXQgICAgICBzY29yZTsgICAgICAgICAgICAgICAgICAgLy9UaGUgYWNjdXJhY3kgb2YgdGhlIG1hdGNoLg0KLSAgICBQb2ludEZsb2F0IGNvcm5lcls0XTsgICAgICAgICAgICAgICAvL0FuIGFycmF5IG9mIGZvdXIgcG9pbnRzIGRlc2NyaWJpbmcgdGhlIHJlY3RhbmdsZSBzdXJyb3VuZGluZyB0aGUgdGVtcGxhdGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgaW52ZXJzZTsgICAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIG1hdGNoIGlzIGFuIGludmVyc2Ugb2YgdGhlIHRlbXBsYXRlIGltYWdlLg0KLSAgICBmbG9hdCAgICAgIG9jY2x1c2lvbjsgICAgICAgICAgICAgICAvL1RoZSBwZXJjZW50YWdlIG9mIHRoZSBtYXRjaCB0aGF0IGlzIG9jY2x1ZGVkLg0KLSAgICBmbG9hdCAgICAgIHRlbXBsYXRlTWF0Y2hDdXJ2ZVNjb3JlOyAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSBjdXJ2ZXMgdG8gdGhlIGN1cnZlcyBpbiB0aGUgbWF0Y2ggcmVnaW9uLg0KLSAgICBmbG9hdCAgICAgIG1hdGNoVGVtcGxhdGVDdXJ2ZVNjb3JlOyAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSBjdXJ2ZXMgaW4gdGhlIG1hdGNoIHJlZ2lvbiB0byB0aGUgdGVtcGxhdGUgY3VydmVzLg0KLSAgICBmbG9hdCAgICAgIGNvcnJlbGF0aW9uU2NvcmU7ICAgICAgICAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSBpbWFnZSB0byB0aGUgbWF0Y2ggcmVnaW9uIHVzaW5nIGEgY29ycmVsYXRpb24gbWV0cmljIHRoYXQgY29tcGFyZXMgdGhlIHR3byByZWdpb25zIGFzIGEgZnVuY3Rpb24gb2YgdGhlaXIgcGl4ZWwgdmFsdWVzLg0KLSAgICBQb2ludEZsb2F0IGNhbGlicmF0ZWRQb3NpdGlvbjsgICAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgbWF0Y2guDQotICAgIGZsb2F0ICAgICAgY2FsaWJyYXRlZFJvdGF0aW9uOyAgICAgIC8vVGhlIHJvdGF0aW9uIG9mIHRoZSBtYXRjaCByZWxhdGl2ZSB0byB0aGUgdGVtcGxhdGUgaW1hZ2UsIGluIGRlZ3JlZXMuDQotICAgIFBvaW50RmxvYXQgY2FsaWJyYXRlZENvcm5lcls0XTsgICAgIC8vQW4gYXJyYXkgb2YgZm91ciBwb2ludHMgZGVzY3JpYmluZyB0aGUgcmVjdGFuZ2xlIHN1cnJvdW5kaW5nIHRoZSB0ZW1wbGF0ZSBpbWFnZS4NCi19IEdlb21ldHJpY1BhdHRlcm5NYXRjaDM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zM19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICAgICAgIHN1YnBpeGVsSXRlcmF0aW9uczsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW5jcmVtZW50YWwgaW1wcm92ZW1lbnRzIHVzZWQgdG8gcmVmaW5lIG1hdGNoZXMgd2l0aCBzdWJwaXhlbCBpbmZvcm1hdGlvbi4NCi0gICAgZG91YmxlICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJwaXhlbFRvbGVyYW5jZTsgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIGNoYW5nZSwgaW4gcGl4ZWxzLCBiZXR3ZWVuIGNvbnNlY3V0aXZlIGluY3JlbWVudGFsIGltcHJvdmVtZW50cyBpbiB0aGUgbWF0Y2ggcG9zaXRpb24gYmVmb3JlIHRoZSBmdW5jdGlvbiBzdG9wcyByZWZpbmluZyB0aGUgbWF0Y2ggcG9zaXRpb24uDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgaW5pdGlhbE1hdGNoTGlzdExlbmd0aDsgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIG1hdGNoIGxpc3QuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VGVtcGxhdGVDdXJ2ZVNjb3JlOyAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGNhbGN1bGF0ZSB0aGUgbWF0Y2ggY3VydmUgdG8gdGVtcGxhdGUgY3VydmUgc2NvcmUgYW5kIHJldHVybiBpdCBmb3IgZWFjaCBtYXRjaCByZXN1bHQuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVsYXRpb25TY29yZTsgICAgICAgICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGNhbGN1bGF0ZSB0aGUgY29ycmVsYXRpb24gc2NvcmUgYW5kIHJldHVybiBpdCBmb3IgZWFjaCBtYXRjaCByZXN1bHQuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgbWluTWF0Y2hTZXBhcmF0aW9uRGlzdGFuY2U7IC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHNlcGFyYXRpb24gZGlzdGFuY2UsIGluIHBpeGVscywgYmV0d2VlbiB0aGUgb3JpZ2lucyBvZiB0d28gbWF0Y2hlcyB0aGF0IGhhdmUgdW5pcXVlIHBvc2l0aW9ucy4NCi0gICAgZG91YmxlICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5NYXRjaFNlcGFyYXRpb25BbmdsZTsgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gYW5ndWxhciBkaWZmZXJlbmNlLCBpbiBkZWdyZWVzLCBiZXR3ZWVuIHR3byBtYXRjaGVzIHRoYXQgaGF2ZSB1bmlxdWUgYW5nbGVzLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbk1hdGNoU2VwYXJhdGlvblNjYWxlOyAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBkaWZmZXJlbmNlIGluIHNjYWxlLCBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLCBiZXR3ZWVuIHR3byBtYXRjaGVzIHRoYXQgaGF2ZSB1bmlxdWUgc2NhbGVzLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1hdGNoT3ZlcmxhcDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBhbW91bnQgb2Ygb3ZlcmxhcCwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSwgYWxsb3dlZCBiZXR3ZWVuIHRoZSBib3VuZGluZyByZWN0YW5nbGVzIG9mIHR3byB1bmlxdWUgbWF0Y2hlcy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2Fyc2VSZXN1bHQ7ICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0aGUgZnVuY3Rpb24gdG8gc3BlbmQgbGVzcyB0aW1lIGFjY3VyYXRlbHkgZXN0aW1hdGluZyB0aGUgbG9jYXRpb24gb2YgYSBtYXRjaC4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVDYWxpYnJhdGlvblN1cHBvcnQ7ICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3BlY2lmeSB0aGUgYWxnb3JpdGhtIHRyZWF0IHRoZSBpbnNwZWN0aW9uIGltYWdlIGFzIGEgY2FsaWJyYXRlZCBpbWFnZS4NCi0gICAgQ29udHJhc3RNb2RlICAgICAgICAgICAgICAgICAgICBlbmFibGVDb250cmFzdFJldmVyc2FsOyAgICAgLy9Vc2UgdGhpcyBlbGVtZW50IHRvIHNwZWNpZnkgdGhlIGNvbnRyYXN0IG9mIHRoZSBtYXRjaGVzIHRvIHNlYXJjaCBmb3IgaW4gdGhlIGltYWdlLg0KLSAgICBHZW9tZXRyaWNNYXRjaGluZ1NlYXJjaFN0cmF0ZWd5IG1hdGNoU3RyYXRlZ3k7ICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgYWdncmVzc2l2ZW5lc3Mgb2YgdGhlIHNlYXJjaCBzdHJhdGVneS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgICAgICByZWZpbmVNYXRjaEZhY3RvcjsgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGZhY3RvciB0aGF0IGlzIGFwcGxpZWQgdG8gdGhlIG51bWJlciBvZiBtYXRjaGVzIHJlcXVlc3RlZCBieSB0aGUgdXNlciB0byBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBtYXRjaGVzIHRoYXQgYXJlIHJlZmluZWQgYXQgdGhlIGluaXRpYWwgbWF0Y2hpbmcgc3RhZ2UuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgc3VicGl4ZWxNYXRjaEZhY3RvcjsgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBmYWN0b3IgdGhhdCBpcyBhcHBsaWVkIHRvIHRoZSBudW1iZXIgb2YgbWF0Y2hlcyByZXF1ZXN0ZWQgYnkgdGhlIHVzZXIgdG8gZGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgbWF0Y2hlcyB0aGF0IGFyZSBldmFsdWF0ZWQgYXQgdGhlIGZpbmFsIHN1YnBpeGVsIG1hdGNoaW5nIHN0YWdlLg0KLX0gTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMzsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb2xvck9wdGlvbnNfc3RydWN0IHsNCi0gICAgQ29sb3JDbGFzc2lmaWNhdGlvblJlc29sdXRpb24gY29sb3JDbGFzc2lmaWNhdGlvblJlc29sdXRpb247IC8vU3BlY2lmaWVzIHRoZSBjb2xvciByZXNvbHV0aW9uIG9mIHRoZSBjbGFzc2lmaWVyLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICAgICB1c2VMdW1pbmFuY2U7ICAgICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgaWYgdGhlIGx1bWluYW5jZSBiYW5kIGlzIGdvaW5nIHRvIGJlIHVzZWQgaW4gdGhlIGZlYXR1cmUgdmVjdG9yLg0KLSAgICBDb2xvck1vZGUgICAgICAgICAgICAgICAgICAgICBjb2xvck1vZGU7ICAgICAgICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGNvbG9yIG1vZGUgb2YgdGhlIGNsYXNzaWZpZXIuDQotfSBDb2xvck9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU2FtcGxlU2NvcmVfc3RydWN0IHsNCi0gICAgY2hhciogICAgICAgIGNsYXNzTmFtZTsgLy9UaGUgbmFtZSBvZiB0aGUgY2xhc3MuDQotICAgIGZsb2F0ICAgICAgICBkaXN0YW5jZTsgIC8vVGhlIGRpc3RhbmNlIGZyb20gdGhlIGl0ZW0gdG8gdGhpcyBjbGFzcy4NCi0gICAgdW5zaWduZWQgaW50IGluZGV4OyAgICAgLy9pbmRleCBvZiB0aGlzIHNhbXBsZS4NCi19IFNhbXBsZVNjb3JlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENsYXNzaWZpZXJSZXBvcnRBZHZhbmNlZF9zdHJ1Y3Qgew0KLSAgICBjaGFyKiAgICAgICAgYmVzdENsYXNzTmFtZTsgICAgICAgLy9UaGUgbmFtZSBvZiB0aGUgYmVzdCBjbGFzcyBmb3IgdGhlIHNhbXBsZS4NCi0gICAgZmxvYXQgICAgICAgIGNsYXNzaWZpY2F0aW9uU2NvcmU7IC8vVGhlIHNpbWlsYXJpdHkgb2YgdGhlIHNhbXBsZSBhbmQgdGhlIHR3byBjbG9zZXN0IGNsYXNzZXMgaW4gdGhlIGNsYXNzaWZpZXIuDQotICAgIGZsb2F0ICAgICAgICBpZGVudGlmaWNhdGlvblNjb3JlOyAvL1RoZSBzaW1pbGFyaXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBhc3NpZ25lZCBjbGFzcy4NCi0gICAgQ2xhc3NTY29yZSogIGFsbFNjb3JlczsgICAgICAgICAgIC8vQWxsIGNsYXNzZXMgYW5kIHRoZWlyIHNjb3Jlcy4NCi0gICAgaW50ICAgICAgICAgIGFsbFNjb3Jlc1NpemU7ICAgICAgIC8vVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIGFsbFNjb3Jlcy4NCi0gICAgU2FtcGxlU2NvcmUqIHNhbXBsZVNjb3JlczsgICAgICAgIC8vQWxsIHNhbXBsZXMgYW5kIHRoZWlyIHNjb3Jlcy4NCi0gICAgaW50ICAgICAgICAgIHNhbXBsZVNjb3Jlc1NpemU7ICAgIC8vVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHNhbXBsZVNjb3Jlcy4NCi19IENsYXNzaWZpZXJSZXBvcnRBZHZhbmNlZDsNCi0NCi10eXBlZGVmIHN0cnVjdCBMZWFybkdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMyX3N0cnVjdCB7DQotICAgIGRvdWJsZSAgICAgICBtaW5TY2FsZUZhY3RvcjsgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHNjYWxlIGZhY3RvciB0aGF0IHRoZSB0ZW1wbGF0ZSBpcyBsZWFybmVkIGZvci4NCi0gICAgZG91YmxlICAgICAgIG1heFNjYWxlRmFjdG9yOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gc2NhbGUgZmFjdG9yIHRoZSB0ZW1wbGF0ZSBpcyBsZWFybmVkIGZvci4NCi0gICAgZG91YmxlICAgICAgIG1pblJvdGF0aW9uQW5nbGVWYWx1ZTsgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gcm90YXRpb24gYW5nbGUgdGhlIHRlbXBsYXRlIGlzIGxlYXJuZWQgZm9yLg0KLSAgICBkb3VibGUgICAgICAgbWF4Um90YXRpb25BbmdsZVZhbHVlOyAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSByb3RhdGlvbiBhbmdsZSB0aGUgdGVtcGxhdGUgaXMgbGVhcm5lZCBmb3IuDQotICAgIHVuc2lnbmVkIGludCBpbWFnZVNhbXBsaW5nRmFjdG9yOyAgIC8vU3BlY2lmaWVzIHRoZSBmYWN0b3IgdGhhdCBpcyB1c2VkIHRvIHN1YnNhbXBsZSB0aGUgdGVtcGxhdGUgYW5kIHRoZSBpbWFnZSBmb3IgdGhlIGluaXRpYWwgbWF0Y2hpbmcgcGhhc2UuDQotfSBMZWFybkdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlRmlsdGVyT3B0aW9uczJfc3RydWN0IHsNCi0gICAgaW50IHJlamVjdE1hdGNoZXM7IC8vU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gdHJhbnNmZXIgb25seSB0aG9zZSBwYXJ0aWNsZXMgdGhhdCBkbyBub3QgbWVldCBhbGwgdGhlIGNyaXRlcmlhLg0KLSAgICBpbnQgcmVqZWN0Qm9yZGVyOyAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gcmVqZWN0IGJvcmRlciBwYXJ0aWNsZXMuDQotICAgIGludCBmaWxsSG9sZXM7ICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byBmaWxsIGhvbGVzIGluIHBhcnRpY2xlcy4NCi0gICAgaW50IGNvbm5lY3Rpdml0eTg7IC8vU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gdXNlIGNvbm5lY3Rpdml0eS04IHRvIGRldGVybWluZSB3aGV0aGVyIHBhcnRpY2xlcyBhcmUgdG91Y2hpbmcuDQotfSBQYXJ0aWNsZUZpbHRlck9wdGlvbnMyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEZpbmRFZGdlT3B0aW9uczJfc3RydWN0IHsNCi0gICAgUmFrZURpcmVjdGlvbiBkaXJlY3Rpb247ICAgICAgICAvL1RoZSBkaXJlY3Rpb24gdG8gc2VhcmNoIGluIHRoZSBST0kuDQotICAgIGludCAgICAgICAgICAgc2hvd1NlYXJjaEFyZWE7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBhcmVhIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICBzaG93U2VhcmNoTGluZXM7ICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgc2VhcmNoIGxpbmVzIHVzZWQgdG8gbG9jYXRlIHRoZSBlZGdlcyBvbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgc2hvd0VkZ2VzRm91bmQ7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIGxvY2F0aW9ucyBvZiB0aGUgZWRnZXMgZm91bmQgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgIHNob3dSZXN1bHQ7ICAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBoaXQgbGluZXMgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGVkZ2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgaGl0IGxpbmUgb24gdGhlIHJlc3VsdCBpbWFnZS4NCi0gICAgUkdCVmFsdWUgICAgICBzZWFyY2hBcmVhQ29sb3I7ICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgUkdCVmFsdWUgICAgICBzZWFyY2hMaW5lc0NvbG9yOyAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggbGluZXMuDQotICAgIFJHQlZhbHVlICAgICAgc2VhcmNoRWRnZXNDb2xvcjsgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGVkZ2VzLg0KLSAgICBSR0JWYWx1ZSAgICAgIHJlc3VsdENvbG9yOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHJlc3VsdHMuDQotICAgIGNoYXIqICAgICAgICAgb3ZlcmxheUdyb3VwTmFtZTsgLy9TcGVjaWZpZXMgdGhlIG92ZXJsYXkgZ3JvdXAgbmFtZSB0byBhc3NpZ24gdG8gdGhlIG92ZXJsYXlzLg0KLSAgICBFZGdlT3B0aW9uczIgIGVkZ2VPcHRpb25zOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBlZGdlIGRldGVjdGlvbiBvcHRpb25zIGFsb25nIGEgc2luZ2xlIHNlYXJjaCBsaW5lLg0KLX0gRmluZEVkZ2VPcHRpb25zMjsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaW5kRWRnZVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBTdHJhaWdodEVkZ2UqIHN0cmFpZ2h0RWRnZXM7ICAgIC8vQW4gYXJyYXkgb2Ygc3RyYWlnaHQgZWRnZXMgZGV0ZWN0ZWQuDQotICAgIHVuc2lnbmVkIGludCAgbnVtU3RyYWlnaHRFZGdlczsgLy9JbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBzdHJhaWdodCBlZGdlcyBmb3VuZC4NCi19IEZpbmRFZGdlUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IEZpbmRUcmFuc2Zvcm1SZWN0T3B0aW9uczJfc3RydWN0IHsNCi0gICAgRmluZFJlZmVyZW5jZURpcmVjdGlvbiBkaXJlY3Rpb247ICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGlyZWN0aW9uIGFuZCBvcmllbnRhdGlvbiBpbiB3aGljaCB0aGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIHRoZSBwcmltYXJ5IGF4aXMuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaEFyZWE7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIHNlYXJjaCBhcmVhIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICBzaG93U2VhcmNoTGluZXM7ICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgc2VhcmNoIGxpbmVzIHVzZWQgdG8gbG9jYXRlIHRoZSBlZGdlcyBvbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgc2hvd0VkZ2VzRm91bmQ7ICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIGxvY2F0aW9ucyBvZiB0aGUgZWRnZXMgZm91bmQgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgIHNob3dSZXN1bHQ7ICAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBoaXQgbGluZXMgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGVkZ2UgdXNlZCB0byBnZW5lcmF0ZSB0aGUgaGl0IGxpbmUgb24gdGhlIHJlc3VsdCBpbWFnZS4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgICBzZWFyY2hBcmVhQ29sb3I7ICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggYXJlYS4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgICBzZWFyY2hMaW5lc0NvbG9yOyAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggbGluZXMuDQotICAgIFJHQlZhbHVlICAgICAgICAgICAgICAgc2VhcmNoRWRnZXNDb2xvcjsgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgc2VhcmNoIGVkZ2VzLg0KLSAgICBSR0JWYWx1ZSAgICAgICAgICAgICAgIHJlc3VsdENvbG9yOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHJlc3VsdHMuDQotICAgIGNoYXIqICAgICAgICAgICAgICAgICAgb3ZlcmxheUdyb3VwTmFtZTsgLy9TcGVjaWZpZXMgdGhlIG92ZXJsYXkgZ3JvdXAgbmFtZSB0byBhc3NpZ24gdG8gdGhlIG92ZXJsYXlzLg0KLSAgICBFZGdlT3B0aW9uczIgICAgICAgICAgIGVkZ2VPcHRpb25zOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBlZGdlIGRldGVjdGlvbiBvcHRpb25zIGFsb25nIGEgc2luZ2xlIHNlYXJjaCBsaW5lLg0KLX0gRmluZFRyYW5zZm9ybVJlY3RPcHRpb25zMjsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaW5kVHJhbnNmb3JtUmVjdHNPcHRpb25zMl9zdHJ1Y3Qgew0KLSAgICBGaW5kUmVmZXJlbmNlRGlyZWN0aW9uIGRpcmVjdGlvbjsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGlyZWN0aW9uIGFuZCBvcmllbnRhdGlvbiBpbiB3aGljaCB0aGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yIHRoZSBwcmltYXJ5IGF4aXMuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaEFyZWE7ICAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBzZWFyY2ggYXJlYSBvbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgc2hvd1NlYXJjaExpbmVzOyAgICAgIC8vSWYgVFJVRSwgdGhlIGZ1bmN0aW9uIG92ZXJsYXlzIHRoZSBzZWFyY2ggbGluZXMgdXNlZCB0byBsb2NhdGUgdGhlIGVkZ2VzIG9uIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICBzaG93RWRnZXNGb3VuZDsgICAgICAgLy9JZiBUUlVFLCB0aGUgZnVuY3Rpb24gb3ZlcmxheXMgdGhlIGxvY2F0aW9ucyBvZiB0aGUgZWRnZXMgZm91bmQgb24gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgIHNob3dSZXN1bHQ7ICAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBvdmVybGF5cyB0aGUgaGl0IGxpbmVzIHRvIHRoZSBvYmplY3QgYW5kIHRoZSBlZGdlIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGhpdCBsaW5lIG9uIHRoZSByZXN1bHQgaW1hZ2UuDQotICAgIFJHQlZhbHVlICAgICAgICAgICAgICAgc2VhcmNoQXJlYUNvbG9yOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHNlYXJjaCBhcmVhLg0KLSAgICBSR0JWYWx1ZSAgICAgICAgICAgICAgIHNlYXJjaExpbmVzQ29sb3I7ICAgICAvL1NwZWNpZmllcyB0aGUgUkdCIGNvbG9yIHZhbHVlIHRvIHVzZSB0byBvdmVybGF5IHRoZSBzZWFyY2ggbGluZXMuDQotICAgIFJHQlZhbHVlICAgICAgICAgICAgICAgc2VhcmNoRWRnZXNDb2xvcjsgICAgIC8vU3BlY2lmaWVzIHRoZSBSR0IgY29sb3IgdmFsdWUgdG8gdXNlIHRvIG92ZXJsYXkgdGhlIHNlYXJjaCBlZGdlcy4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgICByZXN1bHRDb2xvcjsgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIFJHQiBjb2xvciB2YWx1ZSB0byB1c2UgdG8gb3ZlcmxheSB0aGUgcmVzdWx0cy4NCi0gICAgY2hhciogICAgICAgICAgICAgICAgICBvdmVybGF5R3JvdXBOYW1lOyAgICAgLy9TcGVjaWZpZXMgdGhlIG92ZXJsYXkgZ3JvdXAgbmFtZSB0byBhc3NpZ24gdG8gdGhlIG92ZXJsYXlzLg0KLSAgICBFZGdlT3B0aW9uczIgICAgICAgICAgIHByaW1hcnlFZGdlT3B0aW9uczsgICAvL1NwZWNpZmllcyB0aGUgcGFyYW1ldGVycyB1c2VkIHRvIGNvbXB1dGUgdGhlIGVkZ2UgZ3JhZGllbnQgaW5mb3JtYXRpb24gYW5kIGRldGVjdCB0aGUgZWRnZXMgZm9yIHRoZSBwcmltYXJ5IFJPSS4NCi0gICAgRWRnZU9wdGlvbnMyICAgICAgICAgICBzZWNvbmRhcnlFZGdlT3B0aW9uczsgLy9TcGVjaWZpZXMgdGhlIHBhcmFtZXRlcnMgdXNlZCB0byBjb21wdXRlIHRoZSBlZGdlIGdyYWRpZW50IGluZm9ybWF0aW9uIGFuZCBkZXRlY3QgdGhlIGVkZ2VzIGZvciB0aGUgc2Vjb25kYXJ5IFJPSS4NCi19IEZpbmRUcmFuc2Zvcm1SZWN0c09wdGlvbnMyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJlYWRUZXh0UmVwb3J0M19zdHJ1Y3Qgew0KLSAgICBjb25zdCBjaGFyKiAgcmVhZFN0cmluZzsgICAgICAgICAgICAvL1RoZSByZWFkIHN0cmluZy4NCi0gICAgQ2hhclJlcG9ydDMqIGNoYXJhY3RlclJlcG9ydDsgICAgICAgLy9BbiBhcnJheSBvZiByZXBvcnRzIGRlc2NyaWJpbmcgdGhlIHByb3BlcnRpZXMgb2YgZWFjaCBpZGVudGlmaWVkIGNoYXJhY3Rlci4NCi0gICAgaW50ICAgICAgICAgIG51bUNoYXJhY3RlclJlcG9ydHM7ICAgLy9UaGUgbnVtYmVyIG9mIGlkZW50aWZpZWQgY2hhcmFjdGVycy4NCi0gICAgUk9JKiAgICAgICAgIHJvaUJvdW5kaW5nQ2hhcmFjdGVyczsgLy9BbiBhcnJheSBzcGVjaWZ5aW5nIHRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2hhcmFjdGVyIGJvdW5kaW5nIFJPSS4NCi19IFJlYWRUZXh0UmVwb3J0MzsNCi0NCi10eXBlZGVmIHN0cnVjdCBDaGFyYWN0ZXJTdGF0aXN0aWNzX3N0cnVjdCB7DQotICAgIGludCBsZWZ0OyAgICAgICAgICAvL1RoZSBsZWZ0IG9mZnNldCBvZiB0aGUgY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZXMgaW4gdGhlIGN1cnJlbnQgUk9JLg0KLSAgICBpbnQgdG9wOyAgICAgICAgICAgLy9UaGUgdG9wIG9mZnNldCBvZiB0aGUgY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZXMgaW4gdGhlIGN1cnJlbnQgUk9JLg0KLSAgICBpbnQgd2lkdGg7ICAgICAgICAgLy9UaGUgd2lkdGggb2YgZWFjaCBvZiB0aGUgY2hhcmFjdGVycyB5b3UgdHJhaW5lZCBpbiB0aGUgY3VycmVudCBST0kuDQotICAgIGludCBoZWlnaHQ7ICAgICAgICAvL1RoZSBoZWlnaHQgb2YgZWFjaCB0cmFpbmVkIGNoYXJhY3RlciBpbiB0aGUgY3VycmVudCBST0kuDQotICAgIGludCBjaGFyYWN0ZXJTaXplOyAvL1RoZSBzaXplIG9mIHRoZSBjaGFyYWN0ZXIgaW4gcGl4ZWxzLg0KLX0gQ2hhcmFjdGVyU3RhdGlzdGljczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDaGFyUmVwb3J0M19zdHJ1Y3Qgew0KLSAgICBjb25zdCBjaGFyKiAgICAgICAgIGNoYXJhY3RlcjsgICAgICAgICAgIC8vVGhlIGNoYXJhY3RlciB2YWx1ZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBjbGFzc2lmaWNhdGlvblNjb3JlOyAvL1RoZSBkZWdyZWUgdG8gd2hpY2ggdGhlIGFzc2lnbmVkIGNoYXJhY3RlciBjbGFzcyByZXByZXNlbnRzIHRoZSBvYmplY3QgYmV0dGVyIHRoYW4gdGhlIG90aGVyIGNoYXJhY3RlciBjbGFzc2VzIGluIHRoZSBjaGFyYWN0ZXIgc2V0Lg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIHZlcmlmaWNhdGlvblNjb3JlOyAgIC8vVGhlIHNpbWlsYXJpdHkgb2YgdGhlIGNoYXJhY3RlciBhbmQgdGhlIHJlZmVyZW5jZSBjaGFyYWN0ZXIgZm9yIHRoZSBjaGFyYWN0ZXIgY2xhc3MuDQotICAgIGludCAgICAgICAgICAgICAgICAgdmVyaWZpZWQ7ICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiBhIHJlZmVyZW5jZSBjaGFyYWN0ZXIgd2FzIGZvdW5kIGZvciB0aGUgY2hhcmFjdGVyIGNsYXNzIGFuZCBGQUxTRSBpZiBhIHJlZmVyZW5jZSBjaGFyYWN0ZXIgd2FzIG5vdCBmb3VuZC4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBsb3dUaHJlc2hvbGQ7ICAgICAgICAvL1RoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aHJlc2hvbGQgcmFuZ2UgdXNlZCBmb3IgdGhpcyBjaGFyYWN0ZXIuDQotICAgIGludCAgICAgICAgICAgICAgICAgaGlnaFRocmVzaG9sZDsgICAgICAgLy9UaGUgbWF4aW11bSB2YWx1ZSBvZiB0aGUgdGhyZXNob2xkIHJhbmdlIHVzZWQgZm9yIHRoaXMgY2hhcmFjdGVyLg0KLSAgICBDaGFyYWN0ZXJTdGF0aXN0aWNzIGNoYXJhY3RlclN0YXRzOyAgICAgIC8vRGVzY3JpYmVzIHRoZSBjaGFyYWN0ZXJzIHNlZ21lbnRlZCBpbiB0aGUgUk9JLg0KLX0gQ2hhclJlcG9ydDM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQXJjSW5mbzJfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBjZW50ZXI7ICAgICAvL1RoZSBjZW50ZXIgcG9pbnQgb2YgdGhlIGFyYy4NCi0gICAgZG91YmxlICAgICByYWRpdXM7ICAgICAvL1RoZSByYWRpdXMgb2YgdGhlIGFyYy4NCi0gICAgZG91YmxlICAgICBzdGFydEFuZ2xlOyAvL1RoZSBzdGFydGluZyBhbmdsZSBvZiB0aGUgYXJjLCBzcGVjaWZpZWQgY291bnRlci1jbG9ja3dpc2UgZnJvbSB0aGUgeC1heGlzLg0KLSAgICBkb3VibGUgICAgIGVuZEFuZ2xlOyAgIC8vVGhlIGVuZGluZyBhbmdsZSBvZiB0aGUgYXJjLCBzcGVjaWZpZWQgY291bnRlci1jbG9ja3dpc2UgZnJvbSB0aGUgeC1heGlzLg0KLX0gQXJjSW5mbzI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRWRnZVJlcG9ydDJfc3RydWN0IHsNCi0gICAgRWRnZUluZm8qICAgIGVkZ2VzOyAgICAgICAgICAgIC8vQW4gYXJyYXkgb2YgZWRnZXMgZGV0ZWN0ZWQuDQotICAgIHVuc2lnbmVkIGludCBudW1FZGdlczsgICAgICAgICAvL0luZGljYXRlcyB0aGUgbnVtYmVyIG9mIGVkZ2VzIGRldGVjdGVkLg0KLSAgICBkb3VibGUqICAgICAgZ3JhZGllbnRJbmZvOyAgICAgLy9BbiBhcnJheSB0aGF0IGNvbnRhaW5zIHRoZSBjYWxjdWxhdGVkIGVkZ2Ugc3RyZW5ndGhzIGFsb25nIHRoZSB1c2VyLWRlZmluZWQgc2VhcmNoIGFyZWEuDQotICAgIHVuc2lnbmVkIGludCBudW1HcmFkaWVudEluZm87ICAvL0luZGljYXRlcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGNvbnRhaW5lZCBpbiBncmFkaWVudEluZm8uDQotICAgIGludCAgICAgICAgICBjYWxpYnJhdGlvblZhbGlkOyAvL0luZGljYXRlcyBpZiB0aGUgY2FsaWJyYXRpb24gZGF0YSBjb3JyZXNwb25kaW5nIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUgZWRnZXMgaXMgY29ycmVjdC4NCi19IEVkZ2VSZXBvcnQyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFNlYXJjaEFyY0luZm9fc3RydWN0IHsNCi0gICAgQXJjSW5mbzIgICAgYXJjQ29vcmRpbmF0ZXM7IC8vRGVzY3JpYmVzIHRoZSBhcmMgdXNlZCBmb3IgZWRnZSBkZXRlY3Rpb24uDQotICAgIEVkZ2VSZXBvcnQyIGVkZ2VSZXBvcnQ7ICAgICAvL0Rlc2NyaWJlcyB0aGUgZWRnZXMgZm91bmQgaW4gdGhpcyBzZWFyY2ggbGluZS4NCi19IFNlYXJjaEFyY0luZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29uY2VudHJpY1Jha2VSZXBvcnQyX3N0cnVjdCB7DQotICAgIEVkZ2VJbmZvKiAgICAgIGZpcnN0RWRnZXM7ICAgIC8vVGhlIGZpcnN0IGVkZ2UgcG9pbnQgZGV0ZWN0ZWQgYWxvbmcgZWFjaCBzZWFyY2ggbGluZSBpbiB0aGUgUk9JLg0KLSAgICB1bnNpZ25lZCBpbnQgICBudW1GaXJzdEVkZ2VzOyAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBmaXJzdEVkZ2VzIGFycmF5Lg0KLSAgICBFZGdlSW5mbyogICAgICBsYXN0RWRnZXM7ICAgICAvL1RoZSBsYXN0IGVkZ2UgcG9pbnQgZGV0ZWN0ZWQgYWxvbmcgZWFjaCBzZWFyY2ggbGluZSBpbiB0aGUgUk9JLg0KLSAgICB1bnNpZ25lZCBpbnQgICBudW1MYXN0RWRnZXM7ICAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBsYXN0RWRnZXMgYXJyYXkuDQotICAgIFNlYXJjaEFyY0luZm8qIHNlYXJjaEFyY3M7ICAgIC8vQ29udGFpbnMgdGhlIGFyY3MgdXNlZCBmb3IgZWRnZSBkZXRlY3Rpb24gYW5kIHRoZSBlZGdlIGluZm9ybWF0aW9uIGZvciBlYWNoIGFyYy4NCi0gICAgdW5zaWduZWQgaW50ICAgbnVtU2VhcmNoQXJjczsgLy9UaGUgbnVtYmVyIG9mIGFyY3MgaW4gdGhlIHNlYXJjaEFyY3MgYXJyYXkuDQotfSBDb25jZW50cmljUmFrZVJlcG9ydDI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3Bva2VSZXBvcnQyX3N0cnVjdCB7DQotICAgIEVkZ2VJbmZvKiAgICAgICBmaXJzdEVkZ2VzOyAgICAgLy9UaGUgZmlyc3QgZWRnZSBwb2ludCBkZXRlY3RlZCBhbG9uZyBlYWNoIHNlYXJjaCBsaW5lIGluIHRoZSBST0kuDQotICAgIHVuc2lnbmVkIGludCAgICBudW1GaXJzdEVkZ2VzOyAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgZmlyc3RFZGdlcyBhcnJheS4NCi0gICAgRWRnZUluZm8qICAgICAgIGxhc3RFZGdlczsgICAgICAvL1RoZSBsYXN0IGVkZ2UgcG9pbnQgZGV0ZWN0ZWQgYWxvbmcgZWFjaCBzZWFyY2ggbGluZSBpbiB0aGUgUk9JLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgbnVtTGFzdEVkZ2VzOyAgIC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGxhc3RFZGdlcyBhcnJheS4NCi0gICAgU2VhcmNoTGluZUluZm8qIHNlYXJjaExpbmVzOyAgICAvL1RoZSBzZWFyY2ggbGluZXMgdXNlZCBmb3IgZWRnZSBkZXRlY3Rpb24uDQotICAgIHVuc2lnbmVkIGludCAgICBudW1TZWFyY2hMaW5lczsgLy9UaGUgbnVtYmVyIG9mIHNlYXJjaCBsaW5lcyB1c2VkIGluIHRoZSBlZGdlIGRldGVjdGlvbi4NCi19IFNwb2tlUmVwb3J0MjsNCi0NCi10eXBlZGVmIHN0cnVjdCBFZGdlSW5mb19zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgICAgICAgICAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGVkZ2UgaW4gdGhlIGltYWdlLg0KLSAgICBQb2ludEZsb2F0IGNhbGlicmF0ZWRQb3NpdGlvbjsgLy9UaGUgcG9zaXRpb24gb2YgdGhlIGVkZ2UgaW4gdGhlIGltYWdlIGluIHJlYWwtd29ybGQgY29vcmRpbmF0ZXMuDQotICAgIGRvdWJsZSAgICAgZGlzdGFuY2U7ICAgICAgICAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgZWRnZSBmcm9tIHRoZSBmaXJzdCBwb2ludCBhbG9uZyB0aGUgYm91bmRhcnkgb2YgdGhlIGlucHV0IFJPSS4NCi0gICAgZG91YmxlICAgICBjYWxpYnJhdGVkRGlzdGFuY2U7IC8vVGhlIGxvY2F0aW9uIG9mIHRoZSBlZGdlIGZyb20gdGhlIGZpcnN0IHBvaW50IGFsb25nIHRoZSBib3VuZGFyeSBvZiB0aGUgaW5wdXQgUk9JIGluIHJlYWwtd29ybGQgY29vcmRpbmF0ZXMuDQotICAgIGRvdWJsZSAgICAgbWFnbml0dWRlOyAgICAgICAgICAvL1RoZSBpbnRlbnNpdHkgY29udHJhc3QgYXQgdGhlIGVkZ2UuDQotICAgIGRvdWJsZSAgICAgbm9pc2VQZWFrOyAgICAgICAgICAvL1RoZSBzdHJlbmd0aCBvZiB0aGUgbm9pc2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBjdXJyZW50IGVkZ2UuDQotICAgIGludCAgICAgICAgcmlzaW5nOyAgICAgICAgICAgICAvL0luZGljYXRlcyB0aGUgcG9sYXJpdHkgb2YgdGhlIGVkZ2UuDQotfSBFZGdlSW5mbzsNCi0NCi10eXBlZGVmIHN0cnVjdCBTZWFyY2hMaW5lSW5mb19zdHJ1Y3Qgew0KLSAgICBMaW5lRmxvYXQgICBsaW5lQ29vcmRpbmF0ZXM7IC8vVGhlIGVuZHBvaW50cyBvZiB0aGUgc2VhcmNoIGxpbmUuDQotICAgIEVkZ2VSZXBvcnQyIGVkZ2VSZXBvcnQ7ICAgICAgLy9EZXNjcmliZXMgdGhlIGVkZ2VzIGZvdW5kIGluIHRoaXMgc2VhcmNoIGxpbmUuDQotfSBTZWFyY2hMaW5lSW5mbzsNCi0NCi10eXBlZGVmIHN0cnVjdCBSYWtlUmVwb3J0Ml9zdHJ1Y3Qgew0KLSAgICBFZGdlSW5mbyogICAgICAgZmlyc3RFZGdlczsgICAgIC8vVGhlIGZpcnN0IGVkZ2UgcG9pbnQgZGV0ZWN0ZWQgYWxvbmcgZWFjaCBzZWFyY2ggbGluZSBpbiB0aGUgUk9JLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgbnVtRmlyc3RFZGdlczsgIC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGZpcnN0RWRnZXMgYXJyYXkuDQotICAgIEVkZ2VJbmZvKiAgICAgICBsYXN0RWRnZXM7ICAgICAgLy9UaGUgbGFzdCBlZGdlIHBvaW50IGRldGVjdGVkIGFsb25nIGVhY2ggc2VhcmNoIGxpbmUgaW4gdGhlIFJPSS4NCi0gICAgdW5zaWduZWQgaW50ICAgIG51bUxhc3RFZGdlczsgICAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBsYXN0RWRnZXMgYXJyYXkuDQotICAgIFNlYXJjaExpbmVJbmZvKiBzZWFyY2hMaW5lczsgICAgLy9UaGUgc2VhcmNoIGxpbmVzIHVzZWQgZm9yIGVkZ2UgZGV0ZWN0aW9uLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgbnVtU2VhcmNoTGluZXM7IC8vVGhlIG51bWJlciBvZiBzZWFyY2ggbGluZXMgdXNlZCBpbiB0aGUgZWRnZSBkZXRlY3Rpb24uDQotfSBSYWtlUmVwb3J0MjsNCi0NCi10eXBlZGVmIHN0cnVjdCBUcmFuc2Zvcm1CZWhhdmlvcnNfc3RydWN0IHsNCi0gICAgR3JvdXBCZWhhdmlvciBTaGlmdEJlaGF2aW9yOyAgICAvL1NwZWNpZmllcyB0aGUgYmVoYXZpb3Igb2YgYW4gb3ZlcmxheSBncm91cCB3aGVuIGEgc2hpZnQgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gYW4gaW1hZ2UuDQotICAgIEdyb3VwQmVoYXZpb3IgU2NhbGVCZWhhdmlvcjsgICAgLy9TcGVjaWZpZXMgdGhlIGJlaGF2aW9yIG9mIGFuIG92ZXJsYXkgZ3JvdXAgd2hlbiBhIHNjYWxlIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGFuIGltYWdlLg0KLSAgICBHcm91cEJlaGF2aW9yIFJvdGF0ZUJlaGF2aW9yOyAgIC8vU3BlY2lmaWVzIHRoZSBiZWhhdmlvciBvZiBhbiBvdmVybGF5IGdyb3VwIHdoZW4gYSByb3RhdGUgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gYW4gaW1hZ2UuDQotICAgIEdyb3VwQmVoYXZpb3IgU3ltbWV0cnlCZWhhdmlvcjsgLy9TcGVjaWZpZXMgdGhlIGJlaGF2aW9yIG9mIGFuIG92ZXJsYXkgZ3JvdXAgd2hlbiBhIHN5bW1ldHJ5IG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGFuIGltYWdlLg0KLX0gVHJhbnNmb3JtQmVoYXZpb3JzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFFSQ29kZURhdGFUb2tlbl9zdHJ1Y3Qgew0KLSAgICBRUlN0cmVhbU1vZGUgICBtb2RlOyAgICAgICAvL1NwZWNpZmllcyB0aGUgc3RyZWFtIG1vZGUgb3IgdGhlIGZvcm1hdCBvZiB0aGUgZGF0YSB0aGF0IGlzIGVuY29kZWQgaW4gdGhlIFFSIGNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgIG1vZGVEYXRhOyAgIC8vSW5kaWNhdGVzIHNwZWNpZmllcnMgdXNlZCBieSB0aGUgdXNlciB0byBwb3N0cHJvY2VzcyB0aGUgZGF0YSBpZiBpdCByZXF1aXJlcyBpdC4NCi0gICAgdW5zaWduZWQgY2hhciogZGF0YTsgICAgICAgLy9TaG93cyB0aGUgZW5jb2RlZCBkYXRhIGluIHRoZSBRUiBjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICBkYXRhTGVuZ3RoOyAvL1NwZWNpZmllcyB0aGUgbGVuZ3RoIG9mIHRoZSBkYXRhIGZvdW5kIGluIHRoZSBRUiBjb2RlLg0KLX0gUVJDb2RlRGF0YVRva2VuOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlRmlsdGVyT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgcmVqZWN0TWF0Y2hlczsgLy9TZXQgdGhpcyBwYXJhbWV0ZXIgdG8gVFJVRSB0byB0cmFuc2ZlciBvbmx5IHRob3NlIHBhcnRpY2xlcyB0aGF0IGRvIG5vdCBtZWV0IGFsbCB0aGUgY3JpdGVyaWEuDQotICAgIGludCByZWplY3RCb3JkZXI7ICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byByZWplY3QgYm9yZGVyIHBhcnRpY2xlcy4NCi0gICAgaW50IGNvbm5lY3Rpdml0eTg7IC8vU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gdXNlIGNvbm5lY3Rpdml0eS04IHRvIGRldGVybWluZSB3aGV0aGVyIHBhcnRpY2xlcyBhcmUgdG91Y2hpbmcuDQotfSBQYXJ0aWNsZUZpbHRlck9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3RyYWlnaHRFZGdlUmVwb3J0Ml9zdHJ1Y3Qgew0KLSAgICBTdHJhaWdodEVkZ2UqICAgc3RyYWlnaHRFZGdlczsgICAgLy9Db250YWlucyBhbiBhcnJheSBvZiBmb3VuZCBzdHJhaWdodCBlZGdlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgIG51bVN0cmFpZ2h0RWRnZXM7IC8vSW5kaWNhdGVzIHRoZSBudW1iZXIgb2Ygc3RyYWlnaHQgZWRnZXMgZm91bmQuDQotICAgIFNlYXJjaExpbmVJbmZvKiBzZWFyY2hMaW5lczsgICAgICAvL0NvbnRhaW5zIGFuIGFycmF5IG9mIGFsbCBzZWFyY2ggbGluZXMgdXNlZCBpbiB0aGUgZGV0ZWN0aW9uLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgbnVtU2VhcmNoTGluZXM7ICAgLy9UaGUgbnVtYmVyIG9mIHNlYXJjaCBsaW5lcyB1c2VkIGluIHRoZSBlZGdlIGRldGVjdGlvbi4NCi19IFN0cmFpZ2h0RWRnZVJlcG9ydDI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3RyYWlnaHRFZGdlT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIG51bUxpbmVzOyAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBzdHJhaWdodCBlZGdlcyB0byBmaW5kLg0KLSAgICBTdHJhaWdodEVkZ2VTZWFyY2hNb2RlIHNlYXJjaE1vZGU7ICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1ldGhvZCB1c2VkIHRvIGZpbmQgdGhlIHN0cmFpZ2h0IGVkZ2UuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgbWluU2NvcmU7ICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBzY29yZSBvZiBhIGRldGVjdGVkIHN0cmFpZ2h0IGVkZ2UuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgbWF4U2NvcmU7ICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBzY29yZSBvZiBhIGRldGVjdGVkIGVkZ2UuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgb3JpZW50YXRpb247ICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgYW5nbGUgYXQgd2hpY2ggdGhlIHN0cmFpZ2h0IGVkZ2UgaXMgZXhwZWN0ZWQgdG8gYmUgZm91bmQuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgYW5nbGVSYW5nZTsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgKy8tIHJhbmdlIGFyb3VuZCB0aGUgb3JpZW50YXRpb24gd2l0aGluIHdoaWNoIHRoZSBzdHJhaWdodCBlZGdlIGlzIGV4cGVjdGVkIHRvIGJlIGZvdW5kLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgIGFuZ2xlVG9sZXJhbmNlOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGV4cGVjdGVkIGFuZ3VsYXIgYWNjdXJhY3kgb2YgdGhlIHN0cmFpZ2h0IGVkZ2UuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgc3RlcFNpemU7ICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZ2FwIGluIHBpeGVscyBiZXR3ZWVuIHRoZSBzZWFyY2ggbGluZXMgdXNlZCB3aXRoIHRoZSByYWtlLWJhc2VkIG1ldGhvZHMuDQotICAgIGRvdWJsZSAgICAgICAgICAgICAgICAgbWluU2lnbmFsVG9Ob2lzZVJhdGlvOyAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBzaWduYWwgdG8gbm9pc2UgcmF0aW8gKFNOUikgb2YgdGhlIGVkZ2UgcG9pbnRzIHVzZWQgdG8gZml0IHRoZSBzdHJhaWdodCBlZGdlLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgIG1pbkNvdmVyYWdlOyAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHBvaW50cyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIG51bWJlciBvZiBzZWFyY2ggbGluZXMgdGhhdCBuZWVkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBkZXRlY3RlZCBzdHJhaWdodCBlZGdlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIGhvdWdoSXRlcmF0aW9uczsgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBpdGVyYXRpb25zIHVzZWQgaW4gdGhlIEhvdWdoLWJhc2VkIG1ldGhvZC4NCi19IFN0cmFpZ2h0RWRnZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3RyYWlnaHRFZGdlX3N0cnVjdCB7DQotICAgIExpbmVGbG9hdCAgICBzdHJhaWdodEVkZ2VDb29yZGluYXRlczsgICAgICAgICAgIC8vRW5kIHBvaW50cyBvZiB0aGUgZGV0ZWN0ZWQgc3RyYWlnaHQgZWRnZSBpbiBwaXhlbCBjb29yZGluYXRlcy4NCi0gICAgTGluZUZsb2F0ICAgIGNhbGlicmF0ZWRTdHJhaWdodEVkZ2VDb29yZGluYXRlczsgLy9FbmQgcG9pbnRzIG9mIHRoZSBkZXRlY3RlZCBzdHJhaWdodCBlZGdlIGluIHJlYWwtd29ybGQgY29vcmRpbmF0ZXMuDQotICAgIGRvdWJsZSAgICAgICBhbmdsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vQW5nbGUgb2YgdGhlIGZvdW5kIGVkZ2UgdXNpbmcgdGhlIHBpeGVsIGNvb3JkaW5hdGVzLg0KLSAgICBkb3VibGUgICAgICAgY2FsaWJyYXRlZEFuZ2xlOyAgICAgICAgICAgICAgICAgICAvL0FuZ2xlIG9mIHRoZSBmb3VuZCBlZGdlIHVzaW5nIHRoZSByZWFsLXdvcmxkIGNvb3JkaW5hdGVzLg0KLSAgICBkb3VibGUgICAgICAgc2NvcmU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0Rlc2NyaWJlcyB0aGUgc2NvcmUgb2YgdGhlIGRldGVjdGVkIGVkZ2UuDQotICAgIGRvdWJsZSAgICAgICBzdHJhaWdodG5lc3M7ICAgICAgICAgICAgICAgICAgICAgIC8vVGhlIHN0cmFpZ2h0bmVzcyB2YWx1ZSBvZiB0aGUgZGV0ZWN0ZWQgc3RyYWlnaHQgZWRnZS4NCi0gICAgZG91YmxlICAgICAgIGF2ZXJhZ2VTaWduYWxUb05vaXNlUmF0aW87ICAgICAgICAgLy9EZXNjcmliZXMgdGhlIGF2ZXJhZ2Ugc2lnbmFsIHRvIG5vaXNlIHJhdGlvIChTTlIpIG9mIHRoZSBkZXRlY3RlZCBlZGdlLg0KLSAgICBpbnQgICAgICAgICAgY2FsaWJyYXRpb25WYWxpZDsgICAgICAgICAgICAgICAgICAvL0luZGljYXRlcyBpZiB0aGUgY2FsaWJyYXRpb24gZGF0YSBmb3IgdGhlIHN0cmFpZ2h0IGVkZ2UgaXMgdmFsaWQuDQotICAgIEVkZ2VJbmZvKiAgICB1c2VkRWRnZXM7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vQW4gYXJyYXkgb2YgZWRnZXMgdGhhdCB3ZXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoaXMgc3RyYWlnaHQgbGluZS4NCi0gICAgdW5zaWduZWQgaW50IG51bVVzZWRFZGdlczsgICAgICAgICAgICAgICAgICAgICAgLy9JbmRpY2F0ZXMgdGhlIG51bWJlciBvZiBlZGdlcyBpbiB0aGUgdXNlZEVkZ2VzIGFycmF5Lg0KLX0gU3RyYWlnaHRFZGdlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFFSQ29kZVNlYXJjaE9wdGlvbnNfc3RydWN0IHsNCi0gICAgUVJSb3RhdGlvbk1vZGUgICAgIHJvdGF0aW9uTW9kZTsgICAgICAgLy9TcGVjaWZpZXMgdGhlIGFtb3VudCBvZiBRUiBjb2RlIHJvdGF0aW9uIHRoZSBmdW5jdGlvbiBzaG91bGQgYWxsb3cgZm9yLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgc2tpcExvY2F0aW9uOyAgICAgICAvL0lmIHNldCB0byBUUlVFLCBzcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGFzc3VtZSB0aGF0IHRoZSBRUiBjb2RlIG9jY3VwaWVzIHRoZSBlbnRpcmUgaW1hZ2UgKG9yIHRoZSBlbnRpcmUgc2VhcmNoIHJlZ2lvbikuDQotICAgIHVuc2lnbmVkIGludCAgICAgICBlZGdlVGhyZXNob2xkOyAgICAgIC8vVGhlIHN0cmVuZ3RoIG9mIHRoZSB3ZWFrZXN0IGVkZ2UgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gZmluZCB0aGUgY29hcnNlIGxvY2F0aW9uIG9mIHRoZSBRUiBjb2RlIGluIHRoZSBpbWFnZS4NCi0gICAgUVJEZW1vZHVsYXRpb25Nb2RlIGRlbW9kdWxhdGlvbk1vZGU7ICAgLy9UaGUgZGVtb2R1bGF0aW9uIG1vZGUgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gbG9jYXRlIHRoZSBRUiBjb2RlLg0KLSAgICBRUkNlbGxTYW1wbGVTaXplICAgY2VsbFNhbXBsZVNpemU7ICAgICAvL1RoZSBjZWxsIHNhbXBsZSBzaXplIHRoZSBmdW5jdGlvbiB1c2VzIHRvIGxvY2F0ZSB0aGUgUVIgY29kZS4NCi0gICAgUVJDZWxsRmlsdGVyTW9kZSAgIGNlbGxGaWx0ZXJNb2RlOyAgICAgLy9UaGUgY2VsbCBmaWx0ZXIgbW9kZSB0aGUgZnVuY3Rpb24gdXNlcyB0byBsb2NhdGUgdGhlIFFSIGNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgICAgICBza2V3RGVncmVlc0FsbG93ZWQ7IC8vU3BlY2lmaWVzIHRoZSBhbW91bnQgb2Ygc2tldyBpbiB0aGUgUVIgY29kZSB0aGUgZnVuY3Rpb24gc2hvdWxkIGFsbG93IGZvci4NCi19IFFSQ29kZVNlYXJjaE9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUVJDb2RlU2l6ZU9wdGlvbnNfc3RydWN0IHsNCi0gICAgdW5zaWduZWQgaW50IG1pblNpemU7IC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHNpemUgKGluIHBpeGVscykgb2YgdGhlIFFSIGNvZGUgaW4gdGhlIGltYWdlLg0KLSAgICB1bnNpZ25lZCBpbnQgbWF4U2l6ZTsgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gc2l6ZSAoaW4gcGl4ZWxzKSBvZiB0aGUgUVIgY29kZSBpbiB0aGUgaW1hZ2UuDQotfSBRUkNvZGVTaXplT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBRUkNvZGVEZXNjcmlwdGlvbk9wdGlvbnNfc3RydWN0IHsNCi0gICAgUVJEaW1lbnNpb25zIGRpbWVuc2lvbnM7IC8vVGhlIG51bWJlciBvZiByb3dzIGFuZCBjb2x1bW5zIHRoYXQgYXJlIHBvcHVsYXRlZCBmb3IgdGhlIFFSIGNvZGUsIG1lYXN1cmVkIGluIGNlbGxzLg0KLSAgICBRUlBvbGFyaXRpZXMgcG9sYXJpdHk7ICAgLy9UaGUgcG9sYXJpdHkgb2YgdGhlIFFSIGNvZGUuDQotICAgIFFSTWlycm9yTW9kZSBtaXJyb3I7ICAgICAvL1RoaXMgZWxlbWVudCBpcyBUUlVFIGlmIHRoZSBRUiBjb2RlIGFwcGVhcnMgbWlycm9yZWQgaW4gdGhlIGltYWdlIGFuZCBGQUxTRSBpZiB0aGUgUVIgY29kZSBhcHBlYXJzIG5vcm1hbGx5IGluIHRoZSBpbWFnZS4NCi0gICAgUVJNb2RlbFR5cGUgIG1vZGVsVHlwZTsgIC8vVGhpcyBvcHRpb24gYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIFFSIGNvZGUuDQotfSBRUkNvZGVEZXNjcmlwdGlvbk9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUVJDb2RlUmVwb3J0X3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGludCAgICAgICBmb3VuZDsgICAgICAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIGZ1bmN0aW9uIGxvY2F0ZWQgYW5kIGRlY29kZWQgYSBRUiBjb2RlIGFuZCBGQUxTRSBpZiB0aGUgZnVuY3Rpb24gZmFpbGVkIHRvIGxvY2F0ZSBhbmQgZGVjb2RlIGEgUVIgY29kZS4NCi0gICAgdW5zaWduZWQgY2hhciogICAgIGRhdGE7ICAgICAgICAgICAgICAgICAgICAgLy9UaGUgZGF0YSBlbmNvZGVkIGluIHRoZSBRUiBjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgZGF0YUxlbmd0aDsgICAgICAgICAgICAgICAvL1RoZSBsZW5ndGggb2YgdGhlIGRhdGEgYXJyYXkuDQotICAgIFBvaW50RmxvYXQgICAgICAgICBib3VuZGluZ0JveFs0XTsgICAgICAgICAgIC8vQW4gYXJyYXkgb2YgZm91ciBwb2ludHMgZGVzY3JpYmluZyB0aGUgcmVjdGFuZ2xlIHN1cnJvdW5kaW5nIHRoZSBRUiBjb2RlLg0KLSAgICBRUkNvZGVEYXRhVG9rZW4qICAgdG9rZW5pemVkRGF0YTsgICAgICAgICAgICAvL0NvbnRhaW5zIHRoZSBkYXRhIHRva2VuaXplZCBpbiBleGFjdGx5IHRoZSB3YXkgaXQgd2FzIGVuY29kZWQgaW4gdGhlIGNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgICAgICBzaXplT2ZUb2tlbml6ZWREYXRhOyAgICAgIC8vU2l6ZSBvZiB0aGUgdG9rZW5pemVkIGRhdGEuDQotICAgIHVuc2lnbmVkIGludCAgICAgICBudW1FcnJvcnNDb3JyZWN0ZWQ7ICAgICAgIC8vVGhlIG51bWJlciBvZiBlcnJvcnMgdGhlIGZ1bmN0aW9uIGNvcnJlY3RlZCB3aGVuIGRlY29kaW5nIHRoZSBRUiBjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgZGltZW5zaW9uczsgICAgICAgICAgICAgICAvL1RoZSBudW1iZXIgb2Ygcm93cyBhbmQgY29sdW1ucyB0aGF0IGFyZSBwb3B1bGF0ZWQgZm9yIHRoZSBRUiBjb2RlLCBtZWFzdXJlZCBpbiBjZWxscy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgIHZlcnNpb247ICAgICAgICAgICAgICAgICAgLy9UaGUgdmVyc2lvbiBvZiB0aGUgUVIgY29kZS4NCi0gICAgUVJNb2RlbFR5cGUgICAgICAgIG1vZGVsVHlwZTsgICAgICAgICAgICAgICAgLy9UaGlzIG9wdGlvbiBhbGxvd3MgeW91IHRvIHNwZWNpZnkgd2hhdCB0eXBlIG9mIFFSIGNvZGUgdGhpcyBpcy4NCi0gICAgUVJTdHJlYW1Nb2RlICAgICAgIHN0cmVhbU1vZGU7ICAgICAgICAgICAgICAgLy9UaGUgZm9ybWF0IG9mIHRoZSBkYXRhIGVuY29kZWQgaW4gdGhlIHN0cmVhbS4NCi0gICAgUVJQb2xhcml0aWVzICAgICAgIG1hdHJpeFBvbGFyaXR5OyAgICAgICAgICAgLy9UaGUgcG9sYXJpdHkgb2YgdGhlIFFSIGNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgICAgICBtaXJyb3JlZDsgICAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIFFSIGNvZGUgYXBwZWFycyBtaXJyb3JlZCBpbiB0aGUgaW1hZ2UgYW5kIEZBTFNFIGlmIHRoZSBRUiBjb2RlIGFwcGVhcnMgbm9ybWFsbHkgaW4gdGhlIGltYWdlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgcG9zaXRpb25JbkFwcGVuZFN0cmVhbTsgICAvL0luZGljYXRlcyB3aGF0IHBvc2l0aW9uIHRoZSBRUiBjb2RlIGlzIGluIHdpdGggcmVzcGVjdCB0byB0aGUgc3RyZWFtIG9mIGRhdGEgaW4gYWxsIGNvZGVzLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgc2l6ZU9mQXBwZW5kU3RyZWFtOyAgICAgICAvL1NwZWNpZmllcyBob3cgbWFueSBRUiBjb2RlcyBhcmUgcGFydCBvZiBhIGxhcmdlciBhcnJheSBvZiBjb2Rlcy4NCi0gICAgaW50ICAgICAgICAgICAgICAgIGZpcnN0RUFOMTI4QXBwbGljYXRpb25JRDsgLy9UaGUgZmlyc3QgRUFOLTEyOCBBcHBsaWNhdGlvbiBJRCBlbmNvdW50ZXJlZCBpbiB0aGUgc3RyZWFtLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgZmlyc3RFQ0lEZXNpZ25hdG9yOyAgICAgICAvL1RoZSBmaXJzdCBSZWdpb25hbCBMYW5ndWFnZSBEZXNpZ25hdG9yIGVuY291bnRlcmVkIGluIHRoZSBzdHJlYW0uDQotICAgIHVuc2lnbmVkIGludCAgICAgICBhcHBlbmRTdHJlYW1JZGVudGlmaWVyOyAgIC8vU3BlY2lmaWVzIHdoYXQgc3RyZWFtIHRoZSBRUiBjb2RlIGlzIGluIHJlbGF0aW9uIHRvIHdoZW4gdGhlIGNvZGUgaXMgcGFydCBvZiBhIGxhcmdlciBhcnJheSBvZiBjb2Rlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgIG1pbmltdW1FZGdlU3RyZW5ndGg7ICAgICAgLy9UaGUgc3RyZW5ndGggb2YgdGhlIHdlYWtlc3QgZWRnZSB0aGUgZnVuY3Rpb24gdXNlZCB0byBmaW5kIHRoZSBjb2Fyc2UgbG9jYXRpb24gb2YgdGhlIFFSIGNvZGUgaW4gdGhlIGltYWdlLg0KLSAgICBRUkRlbW9kdWxhdGlvbk1vZGUgZGVtb2R1bGF0aW9uTW9kZTsgICAgICAgICAvL1RoZSBkZW1vZHVsYXRpb24gbW9kZSB0aGUgZnVuY3Rpb24gdXNlZCB0byBsb2NhdGUgdGhlIFFSIGNvZGUuDQotICAgIFFSQ2VsbFNhbXBsZVNpemUgICBjZWxsU2FtcGxlU2l6ZTsgICAgICAgICAgIC8vVGhlIGNlbGwgc2FtcGxlIHNpemUgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gbG9jYXRlIHRoZSBRUiBjb2RlLg0KLSAgICBRUkNlbGxGaWx0ZXJNb2RlICAgY2VsbEZpbHRlck1vZGU7ICAgICAgICAgICAvL1RoZSBjZWxsIGZpbHRlciBtb2RlIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGxvY2F0ZSB0aGUgUVIgY29kZS4NCi19IFFSQ29kZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBBSU1HcmFkZVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBBSU1HcmFkZSBvdmVyYWxsR3JhZGU7ICAgICAgICAgICAgICAgLy9UaGUgb3ZlcmFsbCBsZXR0ZXIgZ3JhZGUsIHdoaWNoIGlzIGVxdWFsIHRvIHRoZSBsb3dlc3Qgb2YgdGhlIG90aGVyIGZpdmUgbGV0dGVyIGdyYWRlcy4NCi0gICAgQUlNR3JhZGUgZGVjb2RpbmdHcmFkZTsgICAgICAgICAgICAgIC8vVGhlIGxldHRlciBncmFkZSBhc3NpZ25lZCB0byBhIERhdGEgTWF0cml4IGJhcmNvZGUgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgb2YgdGhlIGZ1bmN0aW9uIGluIGRlY29kaW5nIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBBSU1HcmFkZSBzeW1ib2xDb250cmFzdEdyYWRlOyAgICAgICAgLy9UaGUgbGV0dGVyIGdyYWRlIGFzc2lnbmVkIHRvIGEgRGF0YSBNYXRyaXggYmFyY29kZSBiYXNlZCBvbiB0aGUgc3ltYm9sIGNvbnRyYXN0IHJhdyBzY29yZS4NCi0gICAgZmxvYXQgICAgc3ltYm9sQ29udHJhc3Q7ICAgICAgICAgICAgIC8vVGhlIHN5bWJvbCBjb250cmFzdCByYXcgc2NvcmUgcmVwcmVzZW50aW5nIHRoZSBwZXJjZW50YWdlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbWVhbiBvZiB0aGUgcmVmbGVjdGFuY2Ugb2YgdGhlIGRhcmtlc3QgMTAgcGVyY2VudCBhbmQgbGlnaHRlc3QgMTAgcGVyY2VudCBvZiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgQUlNR3JhZGUgcHJpbnRHcm93dGhHcmFkZTsgICAgICAgICAgIC8vVGhlIHByaW50IGdyb3d0aCBsZXR0ZXIgZ3JhZGUgZm9yIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBmbG9hdCAgICBwcmludEdyb3d0aDsgICAgICAgICAgICAgICAgLy9UaGUgcHJpbnQgZ3Jvd3RoIHJhdyBzY29yZSBmb3IgdGhlIGJhcmNvZGUsIHdoaWNoIGlzIGJhc2VkIG9uIHRoZSBleHRlbnQgdG8gd2hpY2ggZGFyayBvciBsaWdodCBtYXJraW5ncyBhcHByb3ByaWF0ZWx5IGZpbGwgdGhlaXIgbW9kdWxlIGJvdW5kYXJpZXMuDQotICAgIEFJTUdyYWRlIGF4aWFsTm9udW5pZm9ybWl0eUdyYWRlOyAgICAvL1RoZSBheGlhbCBub251bmlmb3JtaXR5IGdyYWRlIGZvciB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgZmxvYXQgICAgYXhpYWxOb251bmlmb3JtaXR5OyAgICAgICAgIC8vVGhlIGF4aWFsIG5vbnVuaWZvcm1pdHkgcmF3IHNjb3JlIGZvciB0aGUgYmFyY29kZSwgd2hpY2ggaXMgYmFzZWQgb24gaG93IG11Y2ggdGhlIHNhbXBsaW5nIHBvaW50IHNwYWNpbmcgZGlmZmVycyBmcm9tIG9uZSBheGlzIHRvIGFub3RoZXIuDQotICAgIEFJTUdyYWRlIHVudXNlZEVycm9yQ29ycmVjdGlvbkdyYWRlOyAvL1RoZSB1bnVzZWQgZXJyb3IgY29ycmVjdGlvbiBsZXR0ZXIgZ3JhZGUgZm9yIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBmbG9hdCAgICB1bnVzZWRFcnJvckNvcnJlY3Rpb247ICAgICAgLy9UaGUgdW51c2VkIGVycm9yIGNvcnJlY3Rpb24gcmF3IHNjb3JlIGZvciB0aGUgRGF0YSBNYXRyaXggYmFyY29kZSwgd2hpY2ggaXMgYmFzZWQgb24gdGhlIGV4dGVudCB0byB3aGljaCByZWdpb25hbCBvciBzcG90IGRhbWFnZSBpbiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZSBoYXMgZXJvZGVkIHRoZSByZWFkaW5nIHNhZmV0eSBtYXJnaW4gcHJvdmlkZWQgYnkgdGhlIGVycm9yIGNvcnJlY3Rpb24uDQotfSBBSU1HcmFkZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBEYXRhTWF0cml4U2l6ZU9wdGlvbnNfc3RydWN0IHsNCi0gICAgdW5zaWduZWQgaW50IG1pblNpemU7ICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBzaXplIChpbiBwaXhlbHMpIG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGluIHRoZSBpbWFnZS4NCi0gICAgdW5zaWduZWQgaW50IG1heFNpemU7ICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBzaXplIChpbiBwaXhlbHMpIG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGluIHRoZSBpbWFnZS4NCi0gICAgdW5zaWduZWQgaW50IHF1aWV0Wm9uZVdpZHRoOyAvL1NwZWNpZmllcyB0aGUgZXhwZWN0ZWQgbWluaW11bSBzaXplIG9mIHRoZSBxdWlldCB6b25lLCBpbiBwaXhlbHMuDQotfSBEYXRhTWF0cml4U2l6ZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRGF0YU1hdHJpeERlc2NyaXB0aW9uT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBmbG9hdCAgICAgICAgICAgICAgICAgIGFzcGVjdFJhdGlvOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIHJhdGlvIG9mIHRoZSB3aWR0aCBvZiBlYWNoIERhdGEgTWF0cml4IGJhcmNvZGUgY2VsbCAoaW4gcGl4ZWxzKSB0byB0aGUgaGVpZ2h0IG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIChpbiBwaXhlbHMpLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIHJvd3M7ICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiByb3dzIGluIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgIGNvbHVtbnM7ICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgIHJlY3RhbmdsZTsgICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3BlY2lmeSB0aGF0IHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGlzIHJlY3Rhbmd1bGFyLg0KLSAgICBEYXRhTWF0cml4RUNDICAgICAgICAgIGVjYzsgICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIEVDQyB1c2VkIGZvciB0aGlzIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIERhdGFNYXRyaXhQb2xhcml0eSAgICAgcG9sYXJpdHk7ICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZGF0YS10by1iYWNrZ3JvdW5kIGNvbnRyYXN0IGZvciB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgRGF0YU1hdHJpeENlbGxGaWxsTW9kZSBjZWxsRmlsbDsgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBmaWxsIHBlcmNlbnRhZ2UgZm9yIGEgY2VsbCBvZiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZSB0aGF0IGlzIGluIHRoZSAiT04iIHN0YXRlLg0KLSAgICBmbG9hdCAgICAgICAgICAgICAgICAgIG1pbkJvcmRlckludGVncml0eTsgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gcGVyY2VudGFnZSBvZiB0aGUgYm9yZGVyIChsb2NhdG9yIHBhdHRlcm4gYW5kIHRpbWluZyBwYXR0ZXJuKSB0aGUgZnVuY3Rpb24gc2hvdWxkIGV4cGVjdCBpbiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgRGF0YU1hdHJpeE1pcnJvck1vZGUgICBtaXJyb3JNb2RlOyAgICAgICAgIC8vU3BlY2lmaWVzIGlmIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGFwcGVhcnMgbm9ybWFsbHkgaW4gdGhlIGltYWdlIG9yIGlmIHRoZSBiYXJjb2RlIGFwcGVhcnMgbWlycm9yZWQgaW4gdGhlIGltYWdlLg0KLX0gRGF0YU1hdHJpeERlc2NyaXB0aW9uT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBEYXRhTWF0cml4U2VhcmNoT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBEYXRhTWF0cml4Um90YXRpb25Nb2RlICAgICByb3RhdGlvbk1vZGU7ICAgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBhbW91bnQgb2YgRGF0YSBNYXRyaXggYmFyY29kZSByb3RhdGlvbiB0aGUgZnVuY3Rpb24gc2hvdWxkIGFsbG93IGZvci4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgc2tpcExvY2F0aW9uOyAgICAgICAgICAgICAvL0lmIHNldCB0byBUUlVFLCBzcGVjaWZpZXMgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGFzc3VtZSB0aGF0IHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIG9jY3VwaWVzIHRoZSBlbnRpcmUgaW1hZ2UgKG9yIHRoZSBlbnRpcmUgc2VhcmNoIHJlZ2lvbikuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgIGVkZ2VUaHJlc2hvbGQ7ICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gY29udHJhc3QgYSBwaXhlbCBtdXN0IGhhdmUgaW4gb3JkZXIgdG8gYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGEgbWF0cml4IGNlbGwgZWRnZS4NCi0gICAgRGF0YU1hdHJpeERlbW9kdWxhdGlvbk1vZGUgZGVtb2R1bGF0aW9uTW9kZTsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbW9kZSB0aGUgZnVuY3Rpb24gc2hvdWxkIHVzZSB0byBkZW1vZHVsYXRlIChkZXRlcm1pbmUgd2hpY2ggY2VsbHMgYXJlIG9uIGFuZCB3aGljaCBjZWxscyBhcmUgb2ZmKSB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgRGF0YU1hdHJpeENlbGxTYW1wbGVTaXplICAgY2VsbFNhbXBsZVNpemU7ICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgc2FtcGxlIHNpemUsIGluIHBpeGVscywgdGhlIGZ1bmN0aW9uIHNob3VsZCB0YWtlIHRvIGRldGVybWluZSBpZiBlYWNoIGNlbGwgaXMgb24gb3Igb2ZmLg0KLSAgICBEYXRhTWF0cml4Q2VsbEZpbHRlck1vZGUgICBjZWxsRmlsdGVyTW9kZTsgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtb2RlIHRoZSBmdW5jdGlvbiB1c2VzIHRvIGRldGVybWluZSB0aGUgcGl4ZWwgdmFsdWUgZm9yIGVhY2ggY2VsbC4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgc2tld0RlZ3JlZXNBbGxvd2VkOyAgICAgICAvL1NwZWNpZmllcyB0aGUgYW1vdW50IG9mIHNrZXcgaW4gdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgdGhlIGZ1bmN0aW9uIHNob3VsZCBhbGxvdyBmb3IuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgIG1heEl0ZXJhdGlvbnM7ICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGl0ZXJhdGlvbnMgYmVmb3JlIHRoZSBmdW5jdGlvbiBzdG9wcyBsb29raW5nIGZvciB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgaW5pdGlhbFNlYXJjaFZlY3RvcldpZHRoOyAvL1NwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHBpeGVscyB0aGUgZnVuY3Rpb24gc2hvdWxkIGF2ZXJhZ2UgdG9nZXRoZXIgdG8gZGV0ZXJtaW5lIHRoZSBsb2NhdGlvbiBvZiBhbiBlZGdlLg0KLX0gRGF0YU1hdHJpeFNlYXJjaE9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRGF0YU1hdHJpeFJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZDsgICAgICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiB0aGUgZnVuY3Rpb24gbG9jYXRlZCBhbmQgZGVjb2RlZCBhIERhdGEgTWF0cml4IGJhcmNvZGUgYW5kIEZBTFNFIGlmIHRoZSBmdW5jdGlvbiBmYWlsZWQgdG8gbG9jYXRlIGFuZCBkZWNvZGUgYSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnk7ICAgICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiB0aGUgRGF0YSBNYXRyaXggYmFyY29kZSBjb250YWlucyBiaW5hcnkgZGF0YSBhbmQgRkFMU0UgaWYgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgY29udGFpbnMgdGV4dCBkYXRhLg0KLSAgICB1bnNpZ25lZCBjaGFyKiAgICAgICAgICAgICBkYXRhOyAgICAgICAgICAgICAgICAgLy9UaGUgZGF0YSBlbmNvZGVkIGluIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICBkYXRhTGVuZ3RoOyAgICAgICAgICAgLy9UaGUgbGVuZ3RoIG9mIHRoZSBkYXRhIGFycmF5Lg0KLSAgICBQb2ludEZsb2F0ICAgICAgICAgICAgICAgICBib3VuZGluZ0JveFs0XTsgICAgICAgLy9BbiBhcnJheSBvZiBmb3VyIHBvaW50cyBkZXNjcmliaW5nIHRoZSByZWN0YW5nbGUgc3Vycm91bmRpbmcgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgIG51bUVycm9yc0NvcnJlY3RlZDsgICAvL1RoZSBudW1iZXIgb2YgZXJyb3JzIHRoZSBmdW5jdGlvbiBjb3JyZWN0ZWQgd2hlbiBkZWNvZGluZyB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgbnVtRXJhc3VyZXNDb3JyZWN0ZWQ7IC8vVGhlIG51bWJlciBvZiBlcmFzdXJlcyB0aGUgZnVuY3Rpb24gY29ycmVjdGVkIHdoZW4gZGVjb2RpbmcgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIGZsb2F0ICAgICAgICAgICAgICAgICAgICAgIGFzcGVjdFJhdGlvOyAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGluIHRoZSBpbWFnZSwgd2hpY2ggZXF1YWxzIHRoZSByYXRpbyBvZiB0aGUgd2lkdGggb2YgYSBEYXRhIE1hdHJpeCBiYXJjb2RlIGNlbGwgKGluIHBpeGVscykgdG8gdGhlIGhlaWdodCBvZiBhIERhdGEgTWF0cml4IGJhcmNvZGUgY2VsbCAoaW4gcGl4ZWxzKS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgcm93czsgICAgICAgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiByb3dzIGluIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICBjb2x1bW5zOyAgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIERhdGFNYXRyaXhFQ0MgICAgICAgICAgICAgIGVjYzsgICAgICAgICAgICAgICAgICAvL1RoZSBFcnJvciBDb3JyZWN0aW9uIENvZGUgKEVDQykgdXNlZCBieSB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgRGF0YU1hdHJpeFBvbGFyaXR5ICAgICAgICAgcG9sYXJpdHk7ICAgICAgICAgICAgIC8vVGhlIHBvbGFyaXR5IG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBEYXRhTWF0cml4Q2VsbEZpbGxNb2RlICAgICBjZWxsRmlsbDsgICAgICAgICAgICAgLy9UaGUgY2VsbCBmaWxsIHBlcmNlbnRhZ2Ugb2YgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIGZsb2F0ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckludGVncml0eTsgICAgICAvL1RoZSBwZXJjZW50YWdlIG9mIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGJvcmRlciB0aGF0IGFwcGVhcnMgY29ycmVjdGx5IGluIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgbWlycm9yZWQ7ICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgYXBwZWFycyBtaXJyb3JlZCBpbiB0aGUgaW1hZ2UgYW5kIEZBTFNFIGlmIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlIGFwcGVhcnMgbm9ybWFsbHkgaW4gdGhlIGltYWdlLg0KLSAgICB1bnNpZ25lZCBpbnQgICAgICAgICAgICAgICBtaW5pbXVtRWRnZVN0cmVuZ3RoOyAgLy9UaGUgc3RyZW5ndGggb2YgdGhlIHdlYWtlc3QgZWRnZSB0aGUgZnVuY3Rpb24gdXNlZCB0byBmaW5kIHRoZSBjb2Fyc2UgbG9jYXRpb24gb2YgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUgaW4gdGhlIGltYWdlLg0KLSAgICBEYXRhTWF0cml4RGVtb2R1bGF0aW9uTW9kZSBkZW1vZHVsYXRpb25Nb2RlOyAgICAgLy9UaGUgZGVtb2R1bGF0aW9uIG1vZGUgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gbG9jYXRlIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLSAgICBEYXRhTWF0cml4Q2VsbFNhbXBsZVNpemUgICBjZWxsU2FtcGxlU2l6ZTsgICAgICAgLy9UaGUgY2VsbCBzYW1wbGUgc2l6ZSB0aGUgZnVuY3Rpb24gdXNlZCB0byBsb2NhdGUgdGhlIERhdGEgTWF0cml4IGJhcmNvZGUuDQotICAgIERhdGFNYXRyaXhDZWxsRmlsdGVyTW9kZSAgIGNlbGxGaWx0ZXJNb2RlOyAgICAgICAvL1RoZSBjZWxsIGZpbHRlciBtb2RlIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGxvY2F0ZSB0aGUgRGF0YSBNYXRyaXggYmFyY29kZS4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgICAgICAgaXRlcmF0aW9uczsgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBpdGVyYXRpb25zIHRoZSBmdW5jdGlvbiB0b29rIGluIGF0dGVtcHRpbmcgdG8gbG9jYXRlIHRoZSBEYXRhIE1hdHJpeCBiYXJjb2RlLg0KLX0gRGF0YU1hdHJpeFJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBKUEVHMjAwMEZpbGVBZHZhbmNlZE9wdGlvbnNfc3RydWN0IHsNCi0gICAgV2F2ZWxldFRyYW5zZm9ybU1vZGUgd2F2ZWxldE1vZGU7ICAgICAgICAgICAgICAgIC8vRGV0ZXJtaW5lcyB3aGljaCB3YXZlbGV0IHRyYW5zZm9ybSB0byB1c2Ugd2hlbiB3cml0aW5nIHRoZSBmaWxlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICB1c2VNdWx0aUNvbXBvbmVudFRyYW5zZm9ybTsgLy9TZXQgdGhpcyBwYXJhbWV0ZXIgdG8gVFJVRSB0byB1c2UgYW4gYWRkaXRpb25hbCB0cmFuc2Zvcm0gb24gUkdCIGltYWdlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICAgbWF4V2F2ZWxldFRyYW5zZm9ybUxldmVsOyAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGFsbG93ZWQgbGV2ZWwgb2Ygd2F2ZWxldCB0cmFuc2Zvcm0uDQotICAgIGZsb2F0ICAgICAgICAgICAgICAgIHF1YW50aXphdGlvblN0ZXBTaXplOyAgICAgICAvL1NwZWNpZmllcyB0aGUgYWJzb2x1dGUgYmFzZSBxdWFudGl6YXRpb24gc3RlcCBzaXplIGZvciBkZXJpdmVkIHF1YW50aXphdGlvbiBtb2RlLg0KLX0gSlBFRzIwMDBGaWxlQWR2YW5jZWRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uczJfc3RydWN0IHsNCi0gICAgaW50ICAgIG1pbkZlYXR1cmVzVXNlZDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBudW1iZXIgb2YgZmVhdHVyZXMgdGhlIGZ1bmN0aW9uIHVzZXMgd2hlbiBtYXRjaGluZy4NCi0gICAgaW50ICAgIG1heEZlYXR1cmVzVXNlZDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZmVhdHVyZXMgdGhlIGZ1bmN0aW9uIHVzZXMgd2hlbiBtYXRjaGluZy4NCi0gICAgaW50ICAgIHN1YnBpeGVsSXRlcmF0aW9uczsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW5jcmVtZW50YWwgaW1wcm92ZW1lbnRzIHVzZWQgdG8gcmVmaW5lIG1hdGNoZXMgd2l0aCBzdWJwaXhlbCBpbmZvcm1hdGlvbi4NCi0gICAgZG91YmxlIHN1YnBpeGVsVG9sZXJhbmNlOyAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBhbW91bnQgb2YgY2hhbmdlLCBpbiBwaXhlbHMsIGJldHdlZW4gY29uc2VjdXRpdmUgaW5jcmVtZW50YWwgaW1wcm92ZW1lbnRzIGluIHRoZSBtYXRjaCBwb3NpdGlvbiBiZWZvcmUgdGhlIGZ1bmN0aW9uIHN0b3BzIHJlZmluaW5nIHRoZSBtYXRjaCBwb3NpdGlvbi4NCi0gICAgaW50ICAgIGluaXRpYWxNYXRjaExpc3RMZW5ndGg7ICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBtYXRjaCBsaXN0Lg0KLSAgICBmbG9hdCAgbWF0Y2hUZW1wbGF0ZUN1cnZlU2NvcmU7ICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIGNhbGN1bGF0ZSB0aGUgbWF0Y2ggY3VydmUgdG8gdGVtcGxhdGUgY3VydmUgc2NvcmUgYW5kIHJldHVybiBpdCBmb3IgZWFjaCBtYXRjaCByZXN1bHQuDQotICAgIGludCAgICBjb3JyZWxhdGlvblNjb3JlOyAgICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3BlY2lmeSB0aGF0IHRoZSBmdW5jdGlvbiBzaG91bGQgY2FsY3VsYXRlIHRoZSBjb3JyZWxhdGlvbiBzY29yZSBhbmQgcmV0dXJuIGl0IGZvciBlYWNoIG1hdGNoIHJlc3VsdC4NCi0gICAgZG91YmxlIG1pbk1hdGNoU2VwYXJhdGlvbkRpc3RhbmNlOyAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBzZXBhcmF0aW9uIGRpc3RhbmNlLCBpbiBwaXhlbHMsIGJldHdlZW4gdGhlIG9yaWdpbnMgb2YgdHdvIG1hdGNoZXMgdGhhdCBoYXZlIHVuaXF1ZSBwb3NpdGlvbnMuDQotICAgIGRvdWJsZSBtaW5NYXRjaFNlcGFyYXRpb25BbmdsZTsgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gYW5ndWxhciBkaWZmZXJlbmNlLCBpbiBkZWdyZWVzLCBiZXR3ZWVuIHR3byBtYXRjaGVzIHRoYXQgaGF2ZSB1bmlxdWUgYW5nbGVzLg0KLSAgICBkb3VibGUgbWluTWF0Y2hTZXBhcmF0aW9uU2NhbGU7ICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIGRpZmZlcmVuY2UgaW4gc2NhbGUsIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2UsIGJldHdlZW4gdHdvIG1hdGNoZXMgdGhhdCBoYXZlIHVuaXF1ZSBzY2FsZXMuDQotICAgIGRvdWJsZSBtYXhNYXRjaE92ZXJsYXA7ICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gYW1vdW50IG9mIG92ZXJsYXAsIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2UsIGFsbG93ZWQgYmV0d2VlbiB0aGUgYm91bmRpbmcgcmVjdGFuZ2xlcyBvZiB0d28gdW5pcXVlIG1hdGNoZXMuDQotICAgIGludCAgICBjb2Fyc2VSZXN1bHQ7ICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0aGUgZnVuY3Rpb24gdG8gc3BlbmQgbGVzcyB0aW1lIGFjY3VyYXRlbHkgZXN0aW1hdGluZyB0aGUgbG9jYXRpb24gb2YgYSBtYXRjaC4NCi0gICAgaW50ICAgIHNtb290aENvbnRvdXJzOyAgICAgICAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byBzcGVjaWZ5IHNtb290aGluZyBiZSBkb25lIG9uIHRoZSBjb250b3VycyBvZiB0aGUgaW5zcGVjdGlvbiBpbWFnZSBiZWZvcmUgZmVhdHVyZSBleHRyYWN0aW9uLg0KLSAgICBpbnQgICAgZW5hYmxlQ2FsaWJyYXRpb25TdXBwb3J0OyAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhlIGFsZ29yaXRobSB0cmVhdCB0aGUgaW5zcGVjdGlvbiBpbWFnZSBhcyBhIGNhbGlicmF0ZWQgaW1hZ2UuDQotfSBNYXRjaEdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEluc3BlY3Rpb25BbGlnbm1lbnRfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBwb3NpdGlvbjsgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGNlbnRlciBvZiB0aGUgZ29sZGVuIHRlbXBsYXRlIGluIHRoZSBpbWFnZSB1bmRlciBpbnNwZWN0aW9uLg0KLSAgICBmbG9hdCAgICAgIHJvdGF0aW9uOyAvL1RoZSByb3RhdGlvbiBvZiB0aGUgZ29sZGVuIHRlbXBsYXRlIGluIHRoZSBpbWFnZSB1bmRlciBpbnNwZWN0aW9uLCBpbiBkZWdyZWVzLg0KLSAgICBmbG9hdCAgICAgIHNjYWxlOyAgICAvL1RoZSBwZXJjZW50YWdlIG9mIHRoZSBzaXplIG9mIHRoZSBhcmVhIHVuZGVyIGluc3BlY3Rpb24gY29tcGFyZWQgdG8gdGhlIHNpemUgb2YgdGhlIGdvbGRlbiB0ZW1wbGF0ZS4NCi19IEluc3BlY3Rpb25BbGlnbm1lbnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgSW5zcGVjdGlvbk9wdGlvbnNfc3RydWN0IHsNCi0gICAgUmVnaXN0cmF0aW9uTWV0aG9kICByZWdpc3RyYXRpb25NZXRob2Q7ICAgIC8vU3BlY2lmaWVzIGhvdyB0aGUgZnVuY3Rpb24gcmVnaXN0ZXJzIHRoZSBnb2xkZW4gdGVtcGxhdGUgYW5kIHRoZSB0YXJnZXQgaW1hZ2UuDQotICAgIE5vcm1hbGl6YXRpb25NZXRob2Qgbm9ybWFsaXphdGlvbk1ldGhvZDsgICAvL1NwZWNpZmllcyBob3cgdGhlIGZ1bmN0aW9uIG5vcm1hbGl6ZXMgdGhlIGdvbGRlbiB0ZW1wbGF0ZSB0byB0aGUgdGFyZ2V0IGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIGVkZ2VUaGlja25lc3NUb0lnbm9yZTsgLy9TcGVjaWZpZXMgZGVzaXJlZCB0aGlja25lc3Mgb2YgZWRnZXMgdG8gYmUgaWdub3JlZC4NCi0gICAgZmxvYXQgICAgICAgICAgICAgICBicmlnaHRUaHJlc2hvbGQ7ICAgICAgIC8vU3BlY2lmaWVzIHRoZSB0aHJlc2hvbGQgZm9yIGFyZWFzIHdoZXJlIHRoZSB0YXJnZXQgaW1hZ2UgaXMgYnJpZ2h0ZXIgdGhhbiB0aGUgZ29sZGVuIHRlbXBsYXRlLg0KLSAgICBmbG9hdCAgICAgICAgICAgICAgIGRhcmtUaHJlc2hvbGQ7ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIHRocmVzaG9sZCBmb3IgYXJlYXMgd2hlcmUgdGhlIHRhcmdldCBpbWFnZSBpcyBkYXJrZXIgdGhhbiB0aGUgZ29sZGVuIHRlbXBsYXRlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIGJpbmFyeTsgICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgd2hldGhlciB0aGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBhIGJpbmFyeSBpbWFnZSBnaXZpbmcgdGhlIGxvY2F0aW9uIG9mIGRlZmVjdHMsIG9yIGEgZ3JheXNjYWxlIGltYWdlIGdpdmluZyB0aGUgaW50ZW5zaXR5IG9mIGRlZmVjdHMuDQotfSBJbnNwZWN0aW9uT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDaGFyUmVwb3J0Ml9zdHJ1Y3Qgew0KLSAgICBjb25zdCBjaGFyKiBjaGFyYWN0ZXI7ICAgICAgICAgICAvL1RoZSBjaGFyYWN0ZXIgdmFsdWUuDQotICAgIFBvaW50RmxvYXQgIGNvcm5lcls0XTsgICAgICAgICAgIC8vQW4gYXJyYXkgb2YgZm91ciBwb2ludHMgdGhhdCBkZXNjcmliZXMgdGhlIHJlY3RhbmdsZSB0aGF0IHN1cnJvdW5kcyB0aGUgY2hhcmFjdGVyLg0KLSAgICBpbnQgICAgICAgICBsb3dUaHJlc2hvbGQ7ICAgICAgICAvL1RoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aHJlc2hvbGQgcmFuZ2UgdXNlZCBmb3IgdGhpcyBjaGFyYWN0ZXIuDQotICAgIGludCAgICAgICAgIGhpZ2hUaHJlc2hvbGQ7ICAgICAgIC8vVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHRocmVzaG9sZCByYW5nZSB1c2VkIGZvciB0aGlzIGNoYXJhY3Rlci4NCi0gICAgaW50ICAgICAgICAgY2xhc3NpZmljYXRpb25TY29yZTsgLy9UaGUgZGVncmVlIHRvIHdoaWNoIHRoZSBhc3NpZ25lZCBjaGFyYWN0ZXIgY2xhc3MgcmVwcmVzZW50cyB0aGUgb2JqZWN0IGJldHRlciB0aGFuIHRoZSBvdGhlciBjaGFyYWN0ZXIgY2xhc3NlcyBpbiB0aGUgY2hhcmFjdGVyIHNldC4NCi0gICAgaW50ICAgICAgICAgdmVyaWZpY2F0aW9uU2NvcmU7ICAgLy9UaGUgc2ltaWxhcml0eSBvZiB0aGUgY2hhcmFjdGVyIGFuZCB0aGUgcmVmZXJlbmNlIGNoYXJhY3RlciBmb3IgdGhlIGNoYXJhY3RlciBjbGFzcy4NCi0gICAgaW50ICAgICAgICAgdmVyaWZpZWQ7ICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiBhIHJlZmVyZW5jZSBjaGFyYWN0ZXIgd2FzIGZvdW5kIGZvciB0aGUgY2hhcmFjdGVyIGNsYXNzIGFuZCBGQUxTRSBpZiBhIHJlZmVyZW5jZSBjaGFyYWN0ZXIgd2FzIG5vdCBmb3VuZC4NCi19IENoYXJSZXBvcnQyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENoYXJJbmZvMl9zdHJ1Y3Qgew0KLSAgICBjb25zdCBjaGFyKiAgY2hhclZhbHVlOyAgICAgICAvL1JldHJpZXZlcyB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNoYXJhY3RlciBpbiB0aGUgY2hhcmFjdGVyIHNldC4NCi0gICAgY29uc3QgSW1hZ2UqIGNoYXJJbWFnZTsgICAgICAgLy9UaGUgaW1hZ2UgeW91IHVzZWQgdG8gdHJhaW4gdGhpcyBjaGFyYWN0ZXIuDQotICAgIGNvbnN0IEltYWdlKiBpbnRlcm5hbEltYWdlOyAgIC8vVGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIHRoYXQgTkkgVmlzaW9uIHVzZXMgdG8gbWF0Y2ggb2JqZWN0cyB0byB0aGlzIGNoYXJhY3Rlci4NCi0gICAgaW50ICAgICAgICAgIGlzUmVmZXJlbmNlQ2hhcjsgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiB0aGUgY2hhcmFjdGVyIGlzIHRoZSByZWZlcmVuY2UgY2hhcmFjdGVyIGZvciB0aGUgY2hhcmFjdGVyIGNsYXNzLg0KLX0gQ2hhckluZm8yOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJlYWRUZXh0UmVwb3J0Ml9zdHJ1Y3Qgew0KLSAgICBjb25zdCBjaGFyKiAgcmVhZFN0cmluZzsgICAgICAgICAgLy9UaGUgcmVhZCBzdHJpbmcuDQotICAgIENoYXJSZXBvcnQyKiBjaGFyYWN0ZXJSZXBvcnQ7ICAgICAvL0FuIGFycmF5IG9mIHJlcG9ydHMgZGVzY3JpYmluZyB0aGUgcHJvcGVydGllcyBvZiBlYWNoIGlkZW50aWZpZWQgY2hhcmFjdGVyLg0KLSAgICBpbnQgICAgICAgICAgbnVtQ2hhcmFjdGVyUmVwb3J0czsgLy9UaGUgbnVtYmVyIG9mIGlkZW50aWZpZWQgY2hhcmFjdGVycy4NCi19IFJlYWRUZXh0UmVwb3J0MjsNCi0NCi10eXBlZGVmIHN0cnVjdCBFbGxpcHNlRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgY2VudGVyIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIHJvdGF0aW9uOyAgICAvL1RoZSBvcmllbnRhdGlvbiBvZiB0aGUgc2VtaS1tYWpvciBheGlzIG9mIHRoZSBlbGxpcHNlIHdpdGggcmVzcGVjdCB0byB0aGUgaG9yaXpvbnRhbC4NCi0gICAgZG91YmxlICAgICBtaW5vclJhZGl1czsgLy9UaGUgbGVuZ3RoIG9mIHRoZSBzZW1pLW1pbm9yIGF4aXMgb2YgdGhlIGVsbGlwc2UuDQotICAgIGRvdWJsZSAgICAgbWFqb3JSYWRpdXM7IC8vVGhlIGxlbmd0aCBvZiB0aGUgc2VtaS1tYWpvciBheGlzIG9mIHRoZSBlbGxpcHNlLg0KLX0gRWxsaXBzZUZlYXR1cmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2lyY2xlRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgY2VudGVyIG9mIHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSAgICAgcmFkaXVzOyAgIC8vVGhlIHJhZGl1cyBvZiB0aGUgY2lyY2xlLg0KLX0gQ2lyY2xlRmVhdHVyZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb25zdEN1cnZlRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgIC8vVGhlIGNlbnRlciBvZiB0aGUgY2lyY2xlIHRoYXQgdGhpcyBjb25zdGFudCBjdXJ2ZSBsaWVzIHVwb24uDQotICAgIGRvdWJsZSAgICAgcmFkaXVzOyAgICAgLy9UaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUgdGhhdCB0aGlzIGNvbnN0YW50IGN1cnZlIGxpZXMgdXBvbi4NCi0gICAgZG91YmxlICAgICBzdGFydEFuZ2xlOyAvL1doZW4gdHJhdmVsaW5nIGFsb25nIHRoZSBjb25zdGFudCBjdXJ2ZSBmcm9tIG9uZSBlbmRwb2ludCB0byB0aGUgbmV4dCBpbiBhIGNvdW50ZXJjbG9ja3dpc2UgbWFubmVyLCB0aGlzIGlzIHRoZSBhbmd1bGFyIGNvbXBvbmVudCBvZiB0aGUgdmVjdG9yIG9yaWdpbmF0aW5nIGF0IHRoZSBjZW50ZXIgb2YgdGhlIGNvbnN0YW50IGN1cnZlIGFuZCBwb2ludGluZyB0b3dhcmRzIHRoZSBmaXJzdCBlbmRwb2ludCBvZiB0aGUgY29uc3RhbnQgY3VydmUuDQotICAgIGRvdWJsZSAgICAgZW5kQW5nbGU7ICAgLy9XaGVuIHRyYXZlbGluZyBhbG9uZyB0aGUgY29uc3RhbnQgY3VydmUgZnJvbSBvbmUgZW5kcG9pbnQgdG8gdGhlIG5leHQgaW4gYSBjb3VudGVyY2xvY2t3aXNlIG1hbm5lciwgdGhpcyBpcyB0aGUgYW5ndWxhciBjb21wb25lbnQgb2YgdGhlIHZlY3RvciBvcmlnaW5hdGluZyBhdCB0aGUgY2VudGVyIG9mIHRoZSBjb25zdGFudCBjdXJ2ZSBhbmQgcG9pbnRpbmcgdG93YXJkcyB0aGUgc2Vjb25kIGVuZHBvaW50IG9mIHRoZSBjb25zdGFudCBjdXJ2ZS4NCi19IENvbnN0Q3VydmVGZWF0dXJlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJlY3RhbmdsZUZlYXR1cmVfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBwb3NpdGlvbjsgIC8vVGhlIGNlbnRlciBvZiB0aGUgcmVjdGFuZ2xlLg0KLSAgICBQb2ludEZsb2F0IGNvcm5lcls0XTsgLy9UaGUgZm91ciBjb3JuZXJzIG9mIHRoZSByZWN0YW5nbGUuDQotICAgIGRvdWJsZSAgICAgcm90YXRpb247ICAvL1RoZSBvcmllbnRhdGlvbiBvZiB0aGUgcmVjdGFuZ2xlIHdpdGggcmVzcGVjdCB0byB0aGUgaG9yaXpvbnRhbC4NCi0gICAgZG91YmxlICAgICB3aWR0aDsgICAgIC8vVGhlIHdpZHRoIG9mIHRoZSByZWN0YW5nbGUuDQotICAgIGRvdWJsZSAgICAgaGVpZ2h0OyAgICAvL1RoZSBoZWlnaHQgb2YgdGhlIHJlY3RhbmdsZS4NCi19IFJlY3RhbmdsZUZlYXR1cmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgTGVnRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGxlZyBmZWF0dXJlLg0KLSAgICBQb2ludEZsb2F0IGNvcm5lcls0XTsgLy9UaGUgZm91ciBjb3JuZXJzIG9mIHRoZSBsZWcgZmVhdHVyZS4NCi0gICAgZG91YmxlICAgICByb3RhdGlvbjsgIC8vVGhlIG9yaWVudGF0aW9uIG9mIHRoZSBsZWcgd2l0aCByZXNwZWN0IHRvIHRoZSBob3Jpem9udGFsLg0KLSAgICBkb3VibGUgICAgIHdpZHRoOyAgICAgLy9UaGUgd2lkdGggb2YgdGhlIGxlZy4NCi0gICAgZG91YmxlICAgICBoZWlnaHQ7ICAgIC8vVGhlIGhlaWdodCBvZiB0aGUgbGVnLg0KLX0gTGVnRmVhdHVyZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb3JuZXJGZWF0dXJlX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgcG9zaXRpb247ICAgICAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGNvcm5lciBmZWF0dXJlLg0KLSAgICBkb3VibGUgICAgIHJvdGF0aW9uOyAgICAgIC8vVGhlIGFuZ3VsYXIgY29tcG9uZW50IG9mIHRoZSB2ZWN0b3IgYmlzZWN0aW5nIHRoZSBjb3JuZXIgZnJvbSBwb3NpdGlvbi4NCi0gICAgZG91YmxlICAgICBlbmNsb3NlZEFuZ2xlOyAvL1RoZSBtZWFzdXJlIG9mIHRoZSBlbmNsb3NlZCBhbmdsZSBvZiB0aGUgY29ybmVyLg0KLSAgICBpbnQgICAgICAgIGlzVmlydHVhbDsgICAgIA0KLX0gQ29ybmVyRmVhdHVyZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBMaW5lRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHN0YXJ0UG9pbnQ7IC8vVGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSBsaW5lLg0KLSAgICBQb2ludEZsb2F0IGVuZFBvaW50OyAgIC8vVGhlIGVuZGluZyBwb2ludCBvZiB0aGUgbGluZS4NCi0gICAgZG91YmxlICAgICBsZW5ndGg7ICAgICAvL1RoZSBsZW5ndGggb2YgdGhlIGxpbmUgbWVhc3VyZWQgaW4gcGl4ZWxzIGZyb20gdGhlIHN0YXJ0IHBvaW50IHRvIHRoZSBlbmQgcG9pbnQuDQotICAgIGRvdWJsZSAgICAgcm90YXRpb247ICAgLy9UaGUgb3JpZW50YXRpb24gb2YgdGhlIGxpbmUgd2l0aCByZXNwZWN0IHRvIHRoZSBob3Jpem9udGFsLg0KLX0gTGluZUZlYXR1cmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUGFyYWxsZWxMaW5lUGFpckZlYXR1cmVfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBmaXJzdFN0YXJ0UG9pbnQ7ICAvL1RoZSBzdGFydGluZyBwb2ludCBvZiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgcGFpci4NCi0gICAgUG9pbnRGbG9hdCBmaXJzdEVuZFBvaW50OyAgICAvL1RoZSBlbmRpbmcgcG9pbnQgb2YgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHBhaXIuDQotICAgIFBvaW50RmxvYXQgc2Vjb25kU3RhcnRQb2ludDsgLy9UaGUgc3RhcnRpbmcgcG9pbnQgb2YgdGhlIHNlY29uZCBsaW5lIG9mIHRoZSBwYWlyLg0KLSAgICBQb2ludEZsb2F0IHNlY29uZEVuZFBvaW50OyAgIC8vVGhlIGVuZGluZyBwb2ludCBvZiB0aGUgc2Vjb25kIGxpbmUgb2YgdGhlIHBhaXIuDQotICAgIGRvdWJsZSAgICAgcm90YXRpb247ICAgICAgICAgLy9UaGUgb3JpZW50YXRpb24gb2YgdGhlIGZlYXR1cmUgd2l0aCByZXNwZWN0IHRvIHRoZSBob3Jpem9udGFsLg0KLSAgICBkb3VibGUgICAgIGRpc3RhbmNlOyAgICAgICAgIC8vVGhlIGRpc3RhbmNlIGZyb20gdGhlIGZpcnN0IGxpbmUgdG8gdGhlIHNlY29uZCBsaW5lLg0KLX0gUGFyYWxsZWxMaW5lUGFpckZlYXR1cmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUGFpck9mUGFyYWxsZWxMaW5lUGFpcnNGZWF0dXJlX3N0cnVjdCB7DQotICAgIFBhcmFsbGVsTGluZVBhaXJGZWF0dXJlIGZpcnN0UGFyYWxsZWxMaW5lUGFpcjsgIC8vVGhlIGZpcnN0IHBhcmFsbGVsIGxpbmUgcGFpci4NCi0gICAgUGFyYWxsZWxMaW5lUGFpckZlYXR1cmUgc2Vjb25kUGFyYWxsZWxMaW5lUGFpcjsgLy9UaGUgc2Vjb25kIHBhcmFsbGVsIGxpbmUgcGFpci4NCi0gICAgZG91YmxlICAgICAgICAgICAgICAgICAgcm90YXRpb247ICAgICAgICAgICAgICAgLy9UaGUgb3JpZW50YXRpb24gb2YgdGhlIGZlYXR1cmUgd2l0aCByZXNwZWN0IHRvIHRoZSBob3Jpem9udGFsLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgICAgICBkaXN0YW5jZTsgICAgICAgICAgICAgICAvL1RoZSBkaXN0YW5jZSBmcm9tIHRoZSBtaWRsaW5lIG9mIHRoZSBmaXJzdCBwYXJhbGxlbCBsaW5lIHBhaXIgdG8gdGhlIG1pZGxpbmUgb2YgdGhlIHNlY29uZCBwYXJhbGxlbCBsaW5lIHBhaXIuDQotfSBQYWlyT2ZQYXJhbGxlbExpbmVQYWlyc0ZlYXR1cmU7DQotDQotdHlwZWRlZiB1bmlvbiBHZW9tZXRyaWNGZWF0dXJlX3VuaW9uIHsNCi0gICAgQ2lyY2xlRmVhdHVyZSogICAgICAgICAgICAgICAgICBjaXJjbGU7ICAgICAgICAgICAgICAgICAgLy9BIHBvaW50ZXIgdG8gYSBDaXJjbGVGZWF0dXJlLg0KLSAgICBFbGxpcHNlRmVhdHVyZSogICAgICAgICAgICAgICAgIGVsbGlwc2U7ICAgICAgICAgICAgICAgICAvL0EgcG9pbnRlciB0byBhbiBFbGxpcHNlRmVhdHVyZS4NCi0gICAgQ29uc3RDdXJ2ZUZlYXR1cmUqICAgICAgICAgICAgICBjb25zdEN1cnZlOyAgICAgICAgICAgICAgLy9BIHBvaW50ZXIgdG8gYSBDb25zdEN1cnZlRmVhdHVyZS4NCi0gICAgUmVjdGFuZ2xlRmVhdHVyZSogICAgICAgICAgICAgICByZWN0YW5nbGU7ICAgICAgICAgICAgICAgLy9BIHBvaW50ZXIgdG8gYSBSZWN0YW5nbGVGZWF0dXJlLg0KLSAgICBMZWdGZWF0dXJlKiAgICAgICAgICAgICAgICAgICAgIGxlZzsgICAgICAgICAgICAgICAgICAgICAvL0EgcG9pbnRlciB0byBhIExlZ0ZlYXR1cmUuDQotICAgIENvcm5lckZlYXR1cmUqICAgICAgICAgICAgICAgICAgY29ybmVyOyAgICAgICAgICAgICAgICAgIC8vQSBwb2ludGVyIHRvIGEgQ29ybmVyRmVhdHVyZS4NCi0gICAgUGFyYWxsZWxMaW5lUGFpckZlYXR1cmUqICAgICAgICBwYXJhbGxlbExpbmVQYWlyOyAgICAgICAgLy9BIHBvaW50ZXIgdG8gYSBQYXJhbGxlbExpbmVQYWlyRmVhdHVyZS4NCi0gICAgUGFpck9mUGFyYWxsZWxMaW5lUGFpcnNGZWF0dXJlKiBwYWlyT2ZQYXJhbGxlbExpbmVQYWlyczsgLy9BIHBvaW50ZXIgdG8gYSBQYWlyT2ZQYXJhbGxlbExpbmVQYWlyc0ZlYXR1cmUuDQotICAgIExpbmVGZWF0dXJlKiAgICAgICAgICAgICAgICAgICAgbGluZTsgICAgICAgICAgICAgICAgICAgIC8vQSBwb2ludGVyIHRvIGEgTGluZUZlYXR1cmUuDQotICAgIENsb3NlZEN1cnZlRmVhdHVyZSogICAgICAgICAgICAgY2xvc2VkQ3VydmU7ICAgICAgICAgICAgIC8vQSBwb2ludGVyIHRvIGEgQ2xvc2VkQ3VydmVGZWF0dXJlLg0KLX0gR2VvbWV0cmljRmVhdHVyZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBGZWF0dXJlRGF0YV9zdHJ1Y3Qgew0KLSAgICBGZWF0dXJlVHlwZSAgICAgIHR5cGU7ICAgICAgICAgICAgIC8vQW4gZW51bWVyYXRpb24gcmVwcmVzZW50aW5nIHRoZSB0eXBlIG9mIHRoZSBmZWF0dXJlLg0KLSAgICBQb2ludEZsb2F0KiAgICAgIGNvbnRvdXJQb2ludHM7ICAgIC8vQSBzZXQgb2YgcG9pbnRzIGRlc2NyaWJpbmcgdGhlIGNvbnRvdXIgb2YgdGhlIGZlYXR1cmUuDQotICAgIGludCAgICAgICAgICAgICAgbnVtQ29udG91clBvaW50czsgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgY29udG91clBvaW50cyBhcnJheS4NCi0gICAgR2VvbWV0cmljRmVhdHVyZSBmZWF0dXJlOyAgICAgICAgICAvL1RoZSBmZWF0dXJlIGRhdGEgc3BlY2lmaWMgdG8gdGhpcyB0eXBlIG9mIGZlYXR1cmUuDQotfSBGZWF0dXJlRGF0YTsNCi0NCi10eXBlZGVmIHN0cnVjdCBHZW9tZXRyaWNQYXR0ZXJuTWF0Y2gyX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgICBwb3NpdGlvbjsgICAgICAgICAgICAgICAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGUgdGVtcGxhdGUgaW4gdGhlIG1hdGNoLg0KLSAgICBmbG9hdCAgICAgICAgcm90YXRpb247ICAgICAgICAgICAgICAgIC8vVGhlIHJvdGF0aW9uIG9mIHRoZSBtYXRjaCByZWxhdGl2ZSB0byB0aGUgdGVtcGxhdGUgaW1hZ2UsIGluIGRlZ3JlZXMuDQotICAgIGZsb2F0ICAgICAgICBzY2FsZTsgICAgICAgICAgICAgICAgICAgLy9UaGUgc2l6ZSBvZiB0aGUgbWF0Y2ggcmVsYXRpdmUgdG8gdGhlIHNpemUgb2YgdGhlIHRlbXBsYXRlIGltYWdlLCBleHByZXNzZWQgYXMgYSBwZXJjZW50YWdlLg0KLSAgICBmbG9hdCAgICAgICAgc2NvcmU7ICAgICAgICAgICAgICAgICAgIC8vVGhlIGFjY3VyYWN5IG9mIHRoZSBtYXRjaC4NCi0gICAgUG9pbnRGbG9hdCAgIGNvcm5lcls0XTsgICAgICAgICAgICAgICAvL0FuIGFycmF5IG9mIGZvdXIgcG9pbnRzIGRlc2NyaWJpbmcgdGhlIHJlY3RhbmdsZSBzdXJyb3VuZGluZyB0aGUgdGVtcGxhdGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICBpbnZlcnNlOyAgICAgICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiB0aGUgbWF0Y2ggaXMgYW4gaW52ZXJzZSBvZiB0aGUgdGVtcGxhdGUgaW1hZ2UuDQotICAgIGZsb2F0ICAgICAgICBvY2NsdXNpb247ICAgICAgICAgICAgICAgLy9UaGUgcGVyY2VudGFnZSBvZiB0aGUgbWF0Y2ggdGhhdCBpcyBvY2NsdWRlZC4NCi0gICAgZmxvYXQgICAgICAgIHRlbXBsYXRlTWF0Y2hDdXJ2ZVNjb3JlOyAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSBjdXJ2ZXMgdG8gdGhlIGN1cnZlcyBpbiB0aGUgbWF0Y2ggcmVnaW9uLg0KLSAgICBmbG9hdCAgICAgICAgbWF0Y2hUZW1wbGF0ZUN1cnZlU2NvcmU7IC8vVGhlIGFjY3VyYWN5IG9mIHRoZSBtYXRjaCBvYnRhaW5lZCBieSBjb21wYXJpbmcgdGhlIGN1cnZlcyBpbiB0aGUgbWF0Y2ggcmVnaW9uIHRvIHRoZSB0ZW1wbGF0ZSBjdXJ2ZXMuDQotICAgIGZsb2F0ICAgICAgICBjb3JyZWxhdGlvblNjb3JlOyAgICAgICAgLy9UaGUgYWNjdXJhY3kgb2YgdGhlIG1hdGNoIG9idGFpbmVkIGJ5IGNvbXBhcmluZyB0aGUgdGVtcGxhdGUgaW1hZ2UgdG8gdGhlIG1hdGNoIHJlZ2lvbiB1c2luZyBhIGNvcnJlbGF0aW9uIG1ldHJpYyB0aGF0IGNvbXBhcmVzIHRoZSB0d28gcmVnaW9ucyBhcyBhIGZ1bmN0aW9uIG9mIHRoZWlyIHBpeGVsIHZhbHVlcy4NCi0gICAgU3RyaW5nMjU1ICAgIGxhYmVsOyAgICAgICAgICAgICAgICAgICAvL1RoZSBsYWJlbCBjb3JyZXNwb25kaW5nIHRvIHRoaXMgbWF0Y2ggd2hlbiB0aGUgbWF0Y2ggaXMgcmV0dXJuZWQgYnkgaW1hcU1hdGNoTXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJucygpLg0KLSAgICBGZWF0dXJlRGF0YSogZmVhdHVyZURhdGE7ICAgICAgICAgICAgIC8vVGhlIGZlYXR1cmVzIHVzZWQgaW4gdGhpcyBtYXRjaC4NCi0gICAgaW50ICAgICAgICAgIG51bUZlYXR1cmVEYXRhOyAgICAgICAgICAvL1RoZSBzaXplIG9mIHRoZSBmZWF0dXJlRGF0YSBhcnJheS4NCi0gICAgUG9pbnRGbG9hdCAgIGNhbGlicmF0ZWRQb3NpdGlvbjsgICAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgbWF0Y2guDQotICAgIGZsb2F0ICAgICAgICBjYWxpYnJhdGVkUm90YXRpb247ICAgICAgLy9UaGUgcm90YXRpb24gb2YgdGhlIG1hdGNoIHJlbGF0aXZlIHRvIHRoZSB0ZW1wbGF0ZSBpbWFnZSwgaW4gZGVncmVlcy4NCi0gICAgUG9pbnRGbG9hdCAgIGNhbGlicmF0ZWRDb3JuZXJbNF07ICAgICAvL0FuIGFycmF5IG9mIGZvdXIgcG9pbnRzIGRlc2NyaWJpbmcgdGhlIHJlY3RhbmdsZSBzdXJyb3VuZGluZyB0aGUgdGVtcGxhdGUgaW1hZ2UuDQotfSBHZW9tZXRyaWNQYXR0ZXJuTWF0Y2gyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENsb3NlZEN1cnZlRmVhdHVyZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgLy9UaGUgY2VudGVyIG9mIHRoZSBjbG9zZWQgY3VydmUgZmVhdHVyZS4NCi0gICAgZG91YmxlICAgICBhcmNMZW5ndGg7IC8vVGhlIGFyYyBsZW5ndGggb2YgdGhlIGNsb3NlZCBjdXJ2ZSBmZWF0dXJlLg0KLX0gQ2xvc2VkQ3VydmVGZWF0dXJlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExpbmVNYXRjaF9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHN0YXJ0UG9pbnQ7IC8vVGhlIHN0YXJ0aW5nIHBvaW50IG9mIHRoZSBtYXRjaGVkIGxpbmUuDQotICAgIFBvaW50RmxvYXQgZW5kUG9pbnQ7ICAgLy9UaGUgZW5kaW5nIHBvaW50IG9mIHRoZSBtYXRjaGVkIGxpbmUuDQotICAgIGRvdWJsZSAgICAgbGVuZ3RoOyAgICAgLy9UaGUgbGVuZ3RoIG9mIHRoZSBsaW5lIG1lYXN1cmVkIGluIHBpeGVscyBmcm9tIHRoZSBzdGFydCBwb2ludCB0byB0aGUgZW5kIHBvaW50Lg0KLSAgICBkb3VibGUgICAgIHJvdGF0aW9uOyAgIC8vVGhlIG9yaWVudGF0aW9uIG9mIHRoZSBtYXRjaGVkIGxpbmUuDQotICAgIGRvdWJsZSAgICAgc2NvcmU7ICAgICAgLy9UaGUgc2NvcmUgb2YgdGhlIG1hdGNoZWQgbGluZS4NCi19IExpbmVNYXRjaDsNCi0NCi10eXBlZGVmIHN0cnVjdCBMaW5lRGVzY3JpcHRvcl9zdHJ1Y3Qgew0KLSAgICBkb3VibGUgbWluTGVuZ3RoOyAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBsZW5ndGggb2YgYSBsaW5lIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybi4NCi0gICAgZG91YmxlIG1heExlbmd0aDsgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgbGluZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotfSBMaW5lRGVzY3JpcHRvcjsNCi0NCi10eXBlZGVmIHN0cnVjdCBSZWN0YW5nbGVEZXNjcmlwdG9yX3N0cnVjdCB7DQotICAgIGRvdWJsZSBtaW5XaWR0aDsgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHdpZHRoIG9mIGEgcmVjdGFuZ2xlIHRoZSBhbGdvcml0aG0gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtYXhXaWR0aDsgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgcmVjdGFuZ2xlIHRoZSBhbGdvcml0aG0gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtaW5IZWlnaHQ7IC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIGhlaWdodCBvZiBhIHJlY3RhbmdsZSB0aGUgYWxnb3JpdGhtIHdpbGwgcmV0dXJuLg0KLSAgICBkb3VibGUgbWF4SGVpZ2h0OyAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBoZWlnaHQgb2YgYSByZWN0YW5nbGUgdGhlIGFsZ29yaXRobSB3aWxsIHJldHVybi4NCi19IFJlY3RhbmdsZURlc2NyaXB0b3I7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUmVjdGFuZ2xlTWF0Y2hfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBjb3JuZXJbNF07IC8vVGhlIGNvcm5lcnMgb2YgdGhlIG1hdGNoZWQgcmVjdGFuZ2xlLg0KLSAgICBkb3VibGUgICAgIHJvdGF0aW9uOyAgLy9UaGUgb3JpZW50YXRpb24gb2YgdGhlIG1hdGNoZWQgcmVjdGFuZ2xlLg0KLSAgICBkb3VibGUgICAgIHdpZHRoOyAgICAgLy9UaGUgd2lkdGggb2YgdGhlIG1hdGNoZWQgcmVjdGFuZ2xlLg0KLSAgICBkb3VibGUgICAgIGhlaWdodDsgICAgLy9UaGUgaGVpZ2h0IG9mIHRoZSBtYXRjaGVkIHJlY3RhbmdsZS4NCi0gICAgZG91YmxlICAgICBzY29yZTsgICAgIC8vVGhlIHNjb3JlIG9mIHRoZSBtYXRjaGVkIHJlY3RhbmdsZS4NCi19IFJlY3RhbmdsZU1hdGNoOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEVsbGlwc2VEZXNjcmlwdG9yX3N0cnVjdCB7DQotICAgIGRvdWJsZSBtaW5NYWpvclJhZGl1czsgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gbGVuZ3RoIG9mIHRoZSBzZW1pLW1ham9yIGF4aXMgb2YgYW4gZWxsaXBzZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtYXhNYWpvclJhZGl1czsgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBzZW1pLW1ham9yIGF4aXMgb2YgYW4gZWxsaXBzZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtaW5NaW5vclJhZGl1czsgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gbGVuZ3RoIG9mIHRoZSBzZW1pLW1pbm9yIGF4aXMgb2YgYW4gZWxsaXBzZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtYXhNaW5vclJhZGl1czsgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIHRoZSBzZW1pLW1pbm9yIGF4aXMgb2YgYW4gZWxsaXBzZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotfSBFbGxpcHNlRGVzY3JpcHRvcjsNCi0NCi10eXBlZGVmIHN0cnVjdCBFbGxpcHNlTWF0Y2hfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBwb3NpdGlvbjsgICAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGNlbnRlciBvZiB0aGUgbWF0Y2hlZCBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIHJvdGF0aW9uOyAgICAvL1RoZSBvcmllbnRhdGlvbiBvZiB0aGUgbWF0Y2hlZCBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIG1ham9yUmFkaXVzOyAvL1RoZSBsZW5ndGggb2YgdGhlIHNlbWktbWFqb3IgYXhpcyBvZiB0aGUgbWF0Y2hlZCBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIG1pbm9yUmFkaXVzOyAvL1RoZSBsZW5ndGggb2YgdGhlIHNlbWktbWlub3IgYXhpcyBvZiB0aGUgbWF0Y2hlZCBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIHNjb3JlOyAgICAgICAvL1RoZSBzY29yZSBvZiB0aGUgbWF0Y2hlZCBlbGxpcHNlLg0KLX0gRWxsaXBzZU1hdGNoOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENpcmNsZU1hdGNoX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgcG9zaXRpb247IC8vVGhlIGxvY2F0aW9uIG9mIHRoZSBjZW50ZXIgb2YgdGhlIG1hdGNoZWQgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIHJhZGl1czsgICAvL1RoZSByYWRpdXMgb2YgdGhlIG1hdGNoZWQgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIHNjb3JlOyAgICAvL1RoZSBzY29yZSBvZiB0aGUgbWF0Y2hlZCBjaXJjbGUuDQotfSBDaXJjbGVNYXRjaDsNCi0NCi10eXBlZGVmIHN0cnVjdCBDaXJjbGVEZXNjcmlwdG9yX3N0cnVjdCB7DQotICAgIGRvdWJsZSBtaW5SYWRpdXM7IC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHJhZGl1cyBvZiBhIGNpcmNsZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotICAgIGRvdWJsZSBtYXhSYWRpdXM7IC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHJhZGl1cyBvZiBhIGNpcmNsZSB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uDQotfSBDaXJjbGVEZXNjcmlwdG9yOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFNoYXBlRGV0ZWN0aW9uT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBpbnQgbW9kZTsgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtZXRob2QgdXNlZCB3aGVuIGxvb2tpbmcgZm9yIHRoZSBzaGFwZSBpbiB0aGUgaW1hZ2UuDQotICAgIFJhbmdlRmxvYXQqICBhbmdsZVJhbmdlczsgICAgLy9BbiBhcnJheSBvZiBhbmdsZSByYW5nZXMsIGluIGRlZ3JlZXMsIHdoZXJlIGVhY2ggcmFuZ2Ugc3BlY2lmaWVzIGhvdyBtdWNoIHlvdSBleHBlY3QgdGhlIHNoYXBlIHRvIGJlIHJvdGF0ZWQgaW4gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgbnVtQW5nbGVSYW5nZXM7IC8vVGhlIHNpemUgb2YgdGhlIG9yaWVudGF0aW9uUmFuZ2VzIGFycmF5Lg0KLSAgICBSYW5nZUZsb2F0ICAgc2NhbGVSYW5nZTsgICAgIC8vQSByYW5nZSB0aGF0IHNwZWNpZmllcyB0aGUgc2l6ZXMgb2YgdGhlIHNoYXBlcyB5b3UgZXhwZWN0IHRvIGJlIGluIHRoZSBpbWFnZSwgZXhwcmVzc2VkIGFzIGEgcmF0aW8gcGVyY2VudGFnZSByZXByZXNlbnRpbmcgdGhlIHNpemUgb2YgdGhlIHBhdHRlcm4gaW4gdGhlIGltYWdlIGRpdmlkZWQgYnkgc2l6ZSBvZiB0aGUgb3JpZ2luYWwgcGF0dGVybiBtdWx0aXBsaWVkIGJ5IDEwMC4NCi0gICAgZG91YmxlICAgICAgIG1pbk1hdGNoU2NvcmU7ICANCi19IFNoYXBlRGV0ZWN0aW9uT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDdXJ2ZV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0KiAgcG9pbnRzOyAgICAgICAgICAgICAgLy9UaGUgcG9pbnRzIG9uIHRoZSBjdXJ2ZS4NCi0gICAgdW5zaWduZWQgaW50IG51bVBvaW50czsgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGN1cnZlLg0KLSAgICBpbnQgICAgICAgICAgY2xvc2VkOyAgICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSBpZiB0aGUgY3VydmUgaXMgY2xvc2VkIGFuZCBGQUxTRSBpZiB0aGUgY3VydmUgaXMgb3Blbi4NCi0gICAgZG91YmxlICAgICAgIGN1cnZlTGVuZ3RoOyAgICAgICAgIC8vVGhlIGxlbmd0aCBvZiB0aGUgY3VydmUuDQotICAgIGRvdWJsZSAgICAgICBtaW5FZGdlU3RyZW5ndGg7ICAgICAvL1RoZSBsb3dlc3QgZWRnZSBzdHJlbmd0aCBkZXRlY3RlZCBvbiB0aGUgY3VydmUuDQotICAgIGRvdWJsZSAgICAgICBtYXhFZGdlU3RyZW5ndGg7ICAgICAvL1RoZSBoaWdoZXN0IGVkZ2Ugc3RyZW5ndGggZGV0ZWN0ZWQgb24gdGhlIGN1cnZlLg0KLSAgICBkb3VibGUgICAgICAgYXZlcmFnZUVkZ2VTdHJlbmd0aDsgLy9UaGUgYXZlcmFnZSBvZiBhbGwgZWRnZSBzdHJlbmd0aHMgZGV0ZWN0ZWQgb24gdGhlIGN1cnZlLg0KLX0gQ3VydmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ3VydmVPcHRpb25zX3N0cnVjdCB7DQotICAgIEV4dHJhY3Rpb25Nb2RlIGV4dHJhY3Rpb25Nb2RlOyAgIC8vU3BlY2lmaWVzIHRoZSBtZXRob2QgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gaWRlbnRpZnkgY3VydmVzIGluIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgdGhyZXNob2xkOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gY29udHJhc3QgYSBzZWVkIHBvaW50IG11c3QgaGF2ZSBpbiBvcmRlciB0byBiZWdpbiBhIGN1cnZlLg0KLSAgICBFZGdlRmlsdGVyU2l6ZSBmaWx0ZXJTaXplOyAgICAgICAvL1NwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIGVkZ2UgZmlsdGVyIHRoZSBmdW5jdGlvbiB1c2VzIHRvIGlkZW50aWZ5IGN1cnZlcyBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgIG1pbkxlbmd0aDsgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBsZW5ndGgsIGluIHBpeGVscywgb2YgdGhlIHNtYWxsZXN0IGN1cnZlIHRoZSBmdW5jdGlvbiB3aWxsIGV4dHJhY3QuDQotICAgIGludCAgICAgICAgICAgIHJvd1N0ZXBTaXplOyAgICAgIC8vU3BlY2lmaWVzIHRoZSBkaXN0YW5jZSwgaW4gdGhlIHkgZGlyZWN0aW9uLCBiZXR3ZWVuIGxpbmVzIHRoZSBmdW5jdGlvbiBpbnNwZWN0cyBmb3IgY3VydmUgc2VlZCBwb2ludHMuDQotICAgIGludCAgICAgICAgICAgIGNvbHVtblN0ZXBTaXplOyAgIC8vU3BlY2lmaWVzIHRoZSBkaXN0YW5jZSwgaW4gdGhlIHggZGlyZWN0aW9uLCBiZXR3ZWVuIGNvbHVtbnMgdGhlIGZ1bmN0aW9uIGluc3BlY3RzIGZvciBjdXJ2ZSBzZWVkIHBvaW50cy4NCi0gICAgaW50ICAgICAgICAgICAgbWF4RW5kUG9pbnRHYXA7ICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gZ2FwLCBpbiBwaXhlbHMsIGJldHdlZW4gdGhlIGVuZHBvaW50cyBvZiBhIGN1cnZlIHRoYXQgdGhlIGZ1bmN0aW9uIGlkZW50aWZpZXMgYXMgYSBjbG9zZWQgY3VydmUuDQotICAgIGludCAgICAgICAgICAgIG9ubHlDbG9zZWQ7ICAgICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhhdCB0aGUgZnVuY3Rpb24gc2hvdWxkIG9ubHkgaWRlbnRpZnkgY2xvc2VkIGN1cnZlcyBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgIHN1YnBpeGVsQWNjdXJhY3k7IC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHNwZWNpZnkgdGhhdCB0aGUgZnVuY3Rpb24gaWRlbnRpZmllcyB0aGUgbG9jYXRpb24gb2YgY3VydmVzIHdpdGggc3VicGl4ZWwgYWNjdXJhY3kgYnkgaW50ZXJwb2xhdGluZyBiZXR3ZWVuIHBvaW50cyB0byBmaW5kIHRoZSBjcm9zc2luZyBvZiB0aHJlc2hvbGQuDQotfSBDdXJ2ZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQmFyY29kZTJESW5mb19zdHJ1Y3Qgew0KLSAgICBCYXJjb2RlMkRUeXBlICB0eXBlOyAgICAgICAgICAgICAgICAgLy9UaGUgdHlwZSBvZiB0aGUgMkQgYmFyY29kZS4NCi0gICAgaW50ICAgICAgICAgICAgYmluYXJ5OyAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIDJEIGJhcmNvZGUgY29udGFpbnMgYmluYXJ5IGRhdGEgYW5kIEZBTFNFIGlmIHRoZSAyRCBiYXJjb2RlIGNvbnRhaW5zIHRleHQgZGF0YS4NCi0gICAgdW5zaWduZWQgY2hhciogZGF0YTsgICAgICAgICAgICAgICAgIC8vVGhlIGRhdGEgZW5jb2RlZCBpbiB0aGUgMkQgYmFyY29kZS4NCi0gICAgdW5zaWduZWQgaW50ICAgZGF0YUxlbmd0aDsgICAgICAgICAgIC8vVGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBhcnJheS4NCi0gICAgUG9pbnRGbG9hdCAgICAgYm91bmRpbmdCb3hbNF07ICAgICAgIC8vQW4gYXJyYXkgb2YgZm91ciBwb2ludHMgZGVzY3JpYmluZyB0aGUgcmVjdGFuZ2xlIHN1cnJvdW5kaW5nIHRoZSAyRCBiYXJjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICBudW1FcnJvcnNDb3JyZWN0ZWQ7ICAgLy9UaGUgbnVtYmVyIG9mIGVycm9ycyB0aGUgZnVuY3Rpb24gY29ycmVjdGVkIHdoZW4gZGVjb2RpbmcgdGhlIDJEIGJhcmNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgIG51bUVyYXN1cmVzQ29ycmVjdGVkOyAvL1RoZSBudW1iZXIgb2YgZXJhc3VyZXMgdGhlIGZ1bmN0aW9uIGNvcnJlY3RlZCB3aGVuIGRlY29kaW5nIHRoZSAyRCBiYXJjb2RlLg0KLSAgICB1bnNpZ25lZCBpbnQgICByb3dzOyAgICAgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIDJEIGJhcmNvZGUuDQotICAgIHVuc2lnbmVkIGludCAgIGNvbHVtbnM7ICAgICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgMkQgYmFyY29kZS4NCi19IEJhcmNvZGUyREluZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgRGF0YU1hdHJpeE9wdGlvbnNfc3RydWN0IHsNCi0gICAgQmFyY29kZTJEU2VhcmNoTW9kZSBzZWFyY2hNb2RlOyAgIC8vU3BlY2lmaWVzIHRoZSBtb2RlIHRoZSBmdW5jdGlvbiB1c2VzIHRvIHNlYXJjaCBmb3IgYmFyY29kZXMuDQotICAgIEJhcmNvZGUyRENvbnRyYXN0ICAgY29udHJhc3Q7ICAgICAvL1NwZWNpZmllcyB0aGUgY29udHJhc3Qgb2YgdGhlIGJhcmNvZGVzIHRoYXQgdGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZvci4NCi0gICAgQmFyY29kZTJEQ2VsbFNoYXBlICBjZWxsU2hhcGU7ICAgIC8vU3BlY2lmaWVzIHRoZSBzaGFwZSBvZiB0aGUgYmFyY29kZSBkYXRhIGNlbGxzLCB3aGljaCBhZmZlY3RzIGhvdyB0aGUgZnVuY3Rpb24gZGVjb2RlcyB0aGUgYmFyY29kZS4NCi0gICAgQmFyY29kZTJEU2hhcGUgICAgICBiYXJjb2RlU2hhcGU7IC8vU3BlY2lmaWVzIHRoZSBzaGFwZSBvZiB0aGUgYmFyY29kZXMgdGhhdCB0aGUgZnVuY3Rpb24gc2VhcmNoZXMgZm9yLg0KLSAgICBEYXRhTWF0cml4U3VidHlwZSAgIHN1YnR5cGU7ICAgICAgLy9TcGVjaWZpZXMgdGhlIERhdGEgTWF0cml4IHN1YnR5cGVzIG9mIHRoZSBiYXJjb2RlcyB0aGF0IHRoZSBmdW5jdGlvbiBzZWFyY2hlcyBmb3IuDQotfSBEYXRhTWF0cml4T3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDbGFzc2lmaWVyQWNjdXJhY3lSZXBvcnRfc3RydWN0IHsNCi0gICAgaW50ICAgICBzaXplOyAgICAgICAgICAgICAgICAgICAgICAgLy9UaGUgc2l6ZSBvZiB0aGUgYXJyYXlzIGluIHRoaXMgc3RydWN0dXJlLg0KLSAgICBmbG9hdCAgIGFjY3VyYWN5OyAgICAgICAgICAgICAgICAgICAvL1RoZSBvdmVyYWxsIGFjY3VyYWN5IG9mIHRoZSBjbGFzc2lmaWVyLCBmcm9tIDAgdG8gMTAwMC4NCi0gICAgY2hhcioqICBjbGFzc05hbWVzOyAgICAgICAgICAgICAgICAgLy9UaGUgbmFtZXMgb2YgdGhlIGNsYXNzZXMgb2YgdGhpcyBjbGFzc2lmaWVyLg0KLSAgICBkb3VibGUqIGNsYXNzQWNjdXJhY3k7ICAgICAgICAgICAgICAvL0FuIGFycmF5IG9mIHNpemUgZWxlbWVudHMgdGhhdCBjb250YWlucyBhY2N1cmFjeSBpbmZvcm1hdGlvbiBmb3IgZWFjaCBjbGFzcy4NCi0gICAgZG91YmxlKiBjbGFzc1ByZWRpY3RpdmVWYWx1ZTsgICAgICAgLy9BbiBhcnJheSBjb250YWluaW5nIHNpemUgZWxlbWVudHMgdGhhdCBjb250YWlucyB0aGUgcHJlZGljdGl2ZSB2YWx1ZXMgb2YgZWFjaCBjbGFzcy4NCi0gICAgaW50KiogICBjbGFzc2lmaWNhdGlvbkRpc3RyaWJ1dGlvbjsgLy9BIHR3by1kaW1lbnNpb25hbCBhcnJheSBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgY2xhc3NpZmllciBjbGFzc2lmaWVzIGl0cyBzYW1wbGVzLg0KLX0gQ2xhc3NpZmllckFjY3VyYWN5UmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IE5lYXJlc3ROZWlnaGJvckNsYXNzUmVzdWx0X3N0cnVjdCB7DQotICAgIGNoYXIqIGNsYXNzTmFtZTsgICAgICAgICAvL1RoZSBuYW1lIG9mIHRoZSBjbGFzcy4NCi0gICAgZmxvYXQgc3RhbmRhcmREZXZpYXRpb247IC8vVGhlIHN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgbWVtYmVycyBvZiB0aGlzIGNsYXNzLg0KLSAgICBpbnQgICBjb3VudDsgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHNhbXBsZXMgaW4gdGhpcyBjbGFzcy4NCi19IE5lYXJlc3ROZWlnaGJvckNsYXNzUmVzdWx0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IE5lYXJlc3ROZWlnaGJvclRyYWluaW5nUmVwb3J0X3N0cnVjdCB7DQotICAgIGZsb2F0KiogICAgICAgICAgICAgICAgICAgICBjbGFzc0Rpc3RhbmNlc1RhYmxlOyAvL1RoZSBjb25maWRlbmNlIGluIHRoZSB0cmFpbmluZy4NCi0gICAgTmVhcmVzdE5laWdoYm9yQ2xhc3NSZXN1bHQqIGFsbFNjb3JlczsgICAgICAgICAgIC8vQWxsIGNsYXNzZXMgYW5kIHRoZWlyIHNjb3Jlcy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIGFsbFNjb3Jlc1NpemU7ICAgICAgIC8vVGhlIG51bWJlciBvZiBlbnRyaWVzIGluIGFsbFNjb3Jlcy4NCi19IE5lYXJlc3ROZWlnaGJvclRyYWluaW5nUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICAgICAgICAgICBtYW51YWxUaHJlc2hvbGQ7ICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3BlY2lmeSB0aGUgdGhyZXNob2xkIHJhbmdlIG1hbnVhbGx5Lg0KLSAgICBSYW5nZUZsb2F0ICAgICAgbWFudWFsVGhyZXNob2xkUmFuZ2U7IC8vSWYgYSBtYW51YWwgdGhyZXNob2xkIGlzIGJlaW5nIGRvbmUsIHRoZSByYW5nZSBvZiBwaXhlbHMgdG8ga2VlcC4NCi0gICAgVGhyZXNob2xkTWV0aG9kIGF1dG9UaHJlc2hvbGRNZXRob2Q7ICAvL0lmIGFuIGF1dG9tYXRpYyB0aHJlc2hvbGQgaXMgYmVpbmcgZG9uZSwgdGhlIG1ldGhvZCB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgdGhyZXNob2xkIHJhbmdlLg0KLSAgICBSYW5nZUZsb2F0ICAgICAgbGltaXRzOyAgICAgICAgICAgICAgIC8vVGhlIGxpbWl0cyBvbiB0aGUgYXV0b21hdGljIHRocmVzaG9sZCByYW5nZS4NCi0gICAgUGFydGljbGVUeXBlICAgIHBhcnRpY2xlVHlwZTsgICAgICAgICAvL1NwZWNpZmllcyB3aGF0IGtpbmQgb2YgcGFydGljbGVzIHRvIGxvb2sgZm9yLg0KLSAgICBpbnQgICAgICAgICAgICAgcmVqZWN0Qm9yZGVyOyAgICAgICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHJlamVjdCBib3JkZXIgcGFydGljbGVzLg0KLSAgICBpbnQgICAgICAgICAgICAgbnVtRXJvc2lvbnM7ICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBlcm9zaW9ucyB0byBwZXJmb3JtLg0KLX0gUGFydGljbGVDbGFzc2lmaWVyUHJlcHJvY2Vzc2luZ09wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllclNhbXBsZUluZm9fc3RydWN0IHsNCi0gICAgY2hhciogICBjbGFzc05hbWU7ICAgICAgICAgLy9UaGUgbmFtZSBvZiB0aGUgY2xhc3MgdGhpcyBzYW1wbGUgaXMgaW4uDQotICAgIGRvdWJsZSogZmVhdHVyZVZlY3RvcjsgICAgIC8vVGhlIGZlYXR1cmUgdmVjdG9yIG9mIHRoaXMgc2FtcGxlLCBvciBOVUxMIGlmIHRoaXMgaXMgbm90IGEgY3VzdG9tIGNsYXNzaWZpZXIgc2Vzc2lvbi4NCi0gICAgaW50ICAgICBmZWF0dXJlVmVjdG9yU2l6ZTsgLy9UaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBmZWF0dXJlIHZlY3Rvci4NCi0gICAgSW1hZ2UqICB0aHVtYm5haWw7ICAgICAgICAgLy9BIHRodW1ibmFpbCBpbWFnZSBvZiB0aGlzIHNhbXBsZSwgb3IgTlVMTCBpZiBubyBpbWFnZSB3YXMgc3BlY2lmaWVkLg0KLX0gQ2xhc3NpZmllclNhbXBsZUluZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NTY29yZV9zdHJ1Y3Qgew0KLSAgICBjaGFyKiBjbGFzc05hbWU7IC8vVGhlIG5hbWUgb2YgdGhlIGNsYXNzLg0KLSAgICBmbG9hdCBkaXN0YW5jZTsgIC8vVGhlIGRpc3RhbmNlIGZyb20gdGhlIGl0ZW0gdG8gdGhpcyBjbGFzcy4NCi19IENsYXNzU2NvcmU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2xhc3NpZmllclJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBjaGFyKiAgICAgICBiZXN0Q2xhc3NOYW1lOyAgICAgICAvL1RoZSBuYW1lIG9mIHRoZSBiZXN0IGNsYXNzIGZvciB0aGUgc2FtcGxlLg0KLSAgICBmbG9hdCAgICAgICBjbGFzc2lmaWNhdGlvblNjb3JlOyAvL1RoZSBzaW1pbGFyaXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSB0d28gY2xvc2VzdCBjbGFzc2VzIGluIHRoZSBjbGFzc2lmaWVyLg0KLSAgICBmbG9hdCAgICAgICBpZGVudGlmaWNhdGlvblNjb3JlOyAvL1RoZSBzaW1pbGFyaXR5IG9mIHRoZSBzYW1wbGUgYW5kIHRoZSBhc3NpZ25lZCBjbGFzcy4NCi0gICAgQ2xhc3NTY29yZSogYWxsU2NvcmVzOyAgICAgICAgICAgLy9BbGwgY2xhc3NlcyBhbmQgdGhlaXIgc2NvcmVzLg0KLSAgICBpbnQgICAgICAgICBhbGxTY29yZXNTaXplOyAgICAgICAvL1RoZSBudW1iZXIgb2YgZW50cmllcyBpbiBhbGxTY29yZXMuDQotfSBDbGFzc2lmaWVyUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IE5lYXJlc3ROZWlnaGJvck9wdGlvbnNfc3RydWN0IHsNCi0gICAgTmVhcmVzdE5laWdoYm9yTWV0aG9kIG1ldGhvZDsgLy9UaGUgbWV0aG9kIHRvIHVzZS4NCi0gICAgTmVhcmVzdE5laWdoYm9yTWV0cmljIG1ldHJpYzsgLy9UaGUgbWV0cmljIHRvIHVzZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgIGs7ICAgICAgLy9UaGUgdmFsdWUgb2YgaywgaWYgdGhlIElNQVFfS19ORUFSRVNUX05FSUdIQk9SIG1ldGhvZCBpcyB1c2VkLg0KLX0gTmVhcmVzdE5laWdoYm9yT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUNsYXNzaWZpZXJPcHRpb25zX3N0cnVjdCB7DQotICAgIGZsb2F0IHNjYWxlRGVwZW5kZW5jZTsgIC8vVGhlIHJlbGF0aXZlIGltcG9ydGFuY2Ugb2Ygc2NhbGUgd2hlbiBjbGFzc2lmeWluZyBwYXJ0aWNsZXMuDQotICAgIGZsb2F0IG1pcnJvckRlcGVuZGVuY2U7IC8vVGhlIHJlbGF0aXZlIGltcG9ydGFuY2Ugb2YgbWlycm9yIHN5bW1ldHJ5IHdoZW4gY2xhc3NpZnlpbmcgcGFydGljbGVzLg0KLX0gUGFydGljbGVDbGFzc2lmaWVyT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBSR0JVNjRWYWx1ZV9zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBzaG9ydCBCOyAgICAgLy9UaGUgYmx1ZSB2YWx1ZSBvZiB0aGUgY29sb3IuDQotICAgIHVuc2lnbmVkIHNob3J0IEc7ICAgICAvL1RoZSBncmVlbiB2YWx1ZSBvZiB0aGUgY29sb3IuDQotICAgIHVuc2lnbmVkIHNob3J0IFI7ICAgICAvL1RoZSByZWQgdmFsdWUgb2YgdGhlIGNvbG9yLg0KLSAgICB1bnNpZ25lZCBzaG9ydCBhbHBoYTsgLy9UaGUgYWxwaGEgdmFsdWUgb2YgdGhlIGNvbG9yLCB3aGljaCByZXByZXNlbnRzIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgY29sb3IgaW1hZ2UsIHN1Y2ggYXMgZ2FtbWEgY29ycmVjdGlvbi4NCi19IFJHQlU2NFZhbHVlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEdlb21ldHJpY1BhdHRlcm5NYXRjaF9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0IHBvc2l0aW9uOyAgICAgICAgICAgICAgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgb3JpZ2luIG9mIHRoZSB0ZW1wbGF0ZSBpbiB0aGUgbWF0Y2guDQotICAgIGZsb2F0ICAgICAgcm90YXRpb247ICAgICAgICAgICAgICAgIC8vVGhlIHJvdGF0aW9uIG9mIHRoZSBtYXRjaCByZWxhdGl2ZSB0byB0aGUgdGVtcGxhdGUgaW1hZ2UsIGluIGRlZ3JlZXMuDQotICAgIGZsb2F0ICAgICAgc2NhbGU7ICAgICAgICAgICAgICAgICAgIC8vVGhlIHNpemUgb2YgdGhlIG1hdGNoIHJlbGF0aXZlIHRvIHRoZSBzaXplIG9mIHRoZSB0ZW1wbGF0ZSBpbWFnZSwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZS4NCi0gICAgZmxvYXQgICAgICBzY29yZTsgICAgICAgICAgICAgICAgICAgLy9UaGUgYWNjdXJhY3kgb2YgdGhlIG1hdGNoLg0KLSAgICBQb2ludEZsb2F0IGNvcm5lcls0XTsgICAgICAgICAgICAgICAvL0FuIGFycmF5IG9mIGZvdXIgcG9pbnRzIGRlc2NyaWJpbmcgdGhlIHJlY3RhbmdsZSBzdXJyb3VuZGluZyB0aGUgdGVtcGxhdGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgaW52ZXJzZTsgICAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIG1hdGNoIGlzIGFuIGludmVyc2Ugb2YgdGhlIHRlbXBsYXRlIGltYWdlLg0KLSAgICBmbG9hdCAgICAgIG9jY2x1c2lvbjsgICAgICAgICAgICAgICAvL1RoZSBwZXJjZW50YWdlIG9mIHRoZSBtYXRjaCB0aGF0IGlzIG9jY2x1ZGVkLg0KLSAgICBmbG9hdCAgICAgIHRlbXBsYXRlTWF0Y2hDdXJ2ZVNjb3JlOyAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSBjdXJ2ZXMgdG8gdGhlIGN1cnZlcyBpbiB0aGUgbWF0Y2ggcmVnaW9uLg0KLSAgICBmbG9hdCAgICAgIG1hdGNoVGVtcGxhdGVDdXJ2ZVNjb3JlOyAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSBjdXJ2ZXMgaW4gdGhlIG1hdGNoIHJlZ2lvbiB0byB0aGUgdGVtcGxhdGUgY3VydmVzLg0KLSAgICBmbG9hdCAgICAgIGNvcnJlbGF0aW9uU2NvcmU7ICAgICAgICAvL1RoZSBhY2N1cmFjeSBvZiB0aGUgbWF0Y2ggb2J0YWluZWQgYnkgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSBpbWFnZSB0byB0aGUgbWF0Y2ggcmVnaW9uIHVzaW5nIGEgY29ycmVsYXRpb24gbWV0cmljIHRoYXQgY29tcGFyZXMgdGhlIHR3byByZWdpb25zIGFzIGEgZnVuY3Rpb24gb2YgdGhlaXIgcGl4ZWwgdmFsdWVzLg0KLX0gR2VvbWV0cmljUGF0dGVybk1hdGNoOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgbWluRmVhdHVyZXNVc2VkOyAgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBmZWF0dXJlcyB0aGUgZnVuY3Rpb24gdXNlcyB3aGVuIG1hdGNoaW5nLg0KLSAgICBpbnQgICAgbWF4RmVhdHVyZXNVc2VkOyAgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBmZWF0dXJlcyB0aGUgZnVuY3Rpb24gdXNlcyB3aGVuIG1hdGNoaW5nLg0KLSAgICBpbnQgICAgc3VicGl4ZWxJdGVyYXRpb25zOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmNyZW1lbnRhbCBpbXByb3ZlbWVudHMgdXNlZCB0byByZWZpbmUgbWF0Y2hlcyB3aXRoIHN1YnBpeGVsIGluZm9ybWF0aW9uLg0KLSAgICBkb3VibGUgc3VicGl4ZWxUb2xlcmFuY2U7ICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjaGFuZ2UsIGluIHBpeGVscywgYmV0d2VlbiBjb25zZWN1dGl2ZSBpbmNyZW1lbnRhbCBpbXByb3ZlbWVudHMgaW4gdGhlIG1hdGNoIHBvc2l0aW9uIGJlZm9yZSB0aGUgZnVuY3Rpb24gc3RvcHMgcmVmaW5pbmcgdGhlIG1hdGNoIHBvc2l0aW9uLg0KLSAgICBpbnQgICAgaW5pdGlhbE1hdGNoTGlzdExlbmd0aDsgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIHNpemUgb2YgdGhlIG1hdGNoIGxpc3QuDQotICAgIGludCAgICBtYXRjaFRlbXBsYXRlQ3VydmVTY29yZTsgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3BlY2lmeSB0aGF0IHRoZSBmdW5jdGlvbiBzaG91bGQgY2FsY3VsYXRlIHRoZSBtYXRjaCBjdXJ2ZSB0byB0ZW1wbGF0ZSBjdXJ2ZSBzY29yZSBhbmQgcmV0dXJuIGl0IGZvciBlYWNoIG1hdGNoIHJlc3VsdC4NCi0gICAgaW50ICAgIGNvcnJlbGF0aW9uU2NvcmU7ICAgICAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byBzcGVjaWZ5IHRoYXQgdGhlIGZ1bmN0aW9uIHNob3VsZCBjYWxjdWxhdGUgdGhlIGNvcnJlbGF0aW9uIHNjb3JlIGFuZCByZXR1cm4gaXQgZm9yIGVhY2ggbWF0Y2ggcmVzdWx0Lg0KLSAgICBkb3VibGUgbWluTWF0Y2hTZXBhcmF0aW9uRGlzdGFuY2U7IC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHNlcGFyYXRpb24gZGlzdGFuY2UsIGluIHBpeGVscywgYmV0d2VlbiB0aGUgb3JpZ2lucyBvZiB0d28gbWF0Y2hlcyB0aGF0IGhhdmUgdW5pcXVlIHBvc2l0aW9ucy4NCi0gICAgZG91YmxlIG1pbk1hdGNoU2VwYXJhdGlvbkFuZ2xlOyAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBhbmd1bGFyIGRpZmZlcmVuY2UsIGluIGRlZ3JlZXMsIGJldHdlZW4gdHdvIG1hdGNoZXMgdGhhdCBoYXZlIHVuaXF1ZSBhbmdsZXMuDQotICAgIGRvdWJsZSBtaW5NYXRjaFNlcGFyYXRpb25TY2FsZTsgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gZGlmZmVyZW5jZSBpbiBzY2FsZSwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSwgYmV0d2VlbiB0d28gbWF0Y2hlcyB0aGF0IGhhdmUgdW5pcXVlIHNjYWxlcy4NCi0gICAgZG91YmxlIG1heE1hdGNoT3ZlcmxhcDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBhbW91bnQgb2Ygb3ZlcmxhcCwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSwgYWxsb3dlZCBiZXR3ZWVuIHRoZSBib3VuZGluZyByZWN0YW5nbGVzIG9mIHR3byB1bmlxdWUgbWF0Y2hlcy4NCi0gICAgaW50ICAgIGNvYXJzZVJlc3VsdDsgICAgICAgICAgICAgICAvL1NwZWNpZmllcyB3aGV0aGVyIHlvdSB3YW50IHRoZSBmdW5jdGlvbiB0byBzcGVuZCBsZXNzIHRpbWUgYWNjdXJhdGVseSBlc3RpbWF0aW5nIHRoZSBsb2NhdGlvbiBvZiBhIG1hdGNoLg0KLX0gTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE1hdGNoR2VvbWV0cmljUGF0dGVybk9wdGlvbnNfc3RydWN0IHsNCi0gICAgdW5zaWduZWQgaW50IG1vZGU7ICAgICAgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtZXRob2QgaW1hcU1hdGNoR2VvbWV0cmljUGF0dGVybigpIHVzZXMgd2hlbiBsb29raW5nIGZvciB0aGUgcGF0dGVybiBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICBzdWJwaXhlbEFjY3VyYWN5OyAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byBzcGVjaWZ5IHRoYXQgdGhlIGZ1bmN0aW9uIHNob3VsZCBjYWxjdWxhdGUgbWF0Y2ggbG9jYXRpb25zIHdpdGggc3VicGl4ZWwgYWNjdXJhY3kuDQotICAgIFJhbmdlRmxvYXQqICBhbmdsZVJhbmdlczsgICAgICAgICAvL0FuIGFycmF5IG9mIGFuZ2xlIHJhbmdlcywgaW4gZGVncmVlcywgd2hlcmUgZWFjaCByYW5nZSBzcGVjaWZpZXMgaG93IG11Y2ggeW91IGV4cGVjdCB0aGUgdGVtcGxhdGUgdG8gYmUgcm90YXRlZCBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICBudW1BbmdsZVJhbmdlczsgICAgICAvL051bWJlciBvZiBhbmdsZSByYW5nZXMgaW4gdGhlIGFuZ2xlUmFuZ2VzIGFycmF5Lg0KLSAgICBSYW5nZUZsb2F0ICAgc2NhbGVSYW5nZTsgICAgICAgICAgLy9BIHJhbmdlIHRoYXQgc3BlY2lmaWVzIHRoZSBzaXplcyBvZiB0aGUgcGF0dGVybiB5b3UgZXhwZWN0IHRvIGJlIGluIHRoZSBpbWFnZSwgZXhwcmVzc2VkIGFzIGEgcmF0aW8gcGVyY2VudGFnZSByZXByZXNlbnRpbmcgdGhlIHNpemUgb2YgdGhlIHBhdHRlcm4gaW4gdGhlIGltYWdlIGRpdmlkZWQgYnkgc2l6ZSBvZiB0aGUgb3JpZ2luYWwgcGF0dGVybiBtdWx0aXBsaWVkIGJ5IDEwMC4NCi0gICAgUmFuZ2VGbG9hdCAgIG9jY2x1c2lvblJhbmdlOyAgICAgIC8vQSByYW5nZSB0aGF0IHNwZWNpZmllcyB0aGUgcGVyY2VudGFnZSBvZiB0aGUgcGF0dGVybiB5b3UgZXhwZWN0IHRvIGJlIG9jY2x1ZGVkIGluIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgIG51bU1hdGNoZXNSZXF1ZXN0ZWQ7IC8vTnVtYmVyIG9mIHZhbGlkIG1hdGNoZXMgZXhwZWN0ZWQuDQotICAgIGZsb2F0ICAgICAgICBtaW5NYXRjaFNjb3JlOyAgICAgICAvL1RoZSBtaW5pbXVtIHNjb3JlIGEgbWF0Y2ggY2FuIGhhdmUgZm9yIHRoZSBmdW5jdGlvbiB0byBjb25zaWRlciB0aGUgbWF0Y2ggdmFsaWQuDQotfSBNYXRjaEdlb21ldHJpY1BhdHRlcm5PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExlYXJuR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgbWluUmVjdExlbmd0aDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBsZW5ndGggZm9yIGVhY2ggc2lkZSBvZiBhIHJlY3Rhbmd1bGFyIGZlYXR1cmUuDQotICAgIGRvdWJsZSBtaW5SZWN0QXNwZWN0UmF0aW87ICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIGFzcGVjdCByYXRpbyBvZiBhIHJlY3Rhbmd1bGFyIGZlYXR1cmUuDQotICAgIGludCAgICBtaW5SYWRpdXM7ICAgICAgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHJhZGl1cyBmb3IgYSBjaXJjdWxhciBmZWF0dXJlLg0KLSAgICBpbnQgICAgbWluTGluZUxlbmd0aDsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgbWluaW11bSBsZW5ndGggZm9yIGEgbGluZWFyIGZlYXR1cmUuDQotICAgIGRvdWJsZSBtaW5GZWF0dXJlU3RyZW5ndGg7ICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtaW5pbXVtIHN0cmVuZ3RoIGZvciBhIGZlYXR1cmUuDQotICAgIGludCAgICBtYXhGZWF0dXJlc1VzZWQ7ICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBmZWF0dXJlcyB0aGUgZnVuY3Rpb24gdXNlcyB3aGVuIGxlYXJuaW5nLg0KLSAgICBpbnQgICAgbWF4UGl4ZWxEaXN0YW5jZUZyb21MaW5lOyAvL1NwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgcGl4ZWxzIGJldHdlZW4gYW4gZWRnZSBwaXhlbCBhbmQgYSBsaW5lYXIgZmVhdHVyZSBmb3IgdGhlIGZ1bmN0aW9uIHRvIGNvbnNpZGVyIHRoYXQgZWRnZSBwaXhlbCBhcyBwYXJ0IG9mIHRoZSBsaW5lYXIgZmVhdHVyZS4NCi19IExlYXJuR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaXRFbGxpcHNlT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgcmVqZWN0T3V0bGllcnM7IC8vV2hldGhlciB0byB1c2UgZXZlcnkgZ2l2ZW4gcG9pbnQgb3Igb25seSBhIHN1YnNldCBvZiB0aGUgcG9pbnRzIHRvIGZpdCB0aGUgZWxsaXBzZS4NCi0gICAgZG91YmxlIG1pblNjb3JlOyAgICAgICAvL1NwZWNpZmllcyB0aGUgcmVxdWlyZWQgcXVhbGl0eSBvZiB0aGUgZml0dGVkIGVsbGlwc2UuDQotICAgIGRvdWJsZSBwaXhlbFJhZGl1czsgICAgLy9UaGUgYWNjZXB0YWJsZSBkaXN0YW5jZSwgaW4gcGl4ZWxzLCB0aGF0IGEgcG9pbnQgZGV0ZXJtaW5lZCB0byBiZWxvbmcgdG8gdGhlIGVsbGlwc2UgY2FuIGJlIGZyb20gdGhlIGNpcmN1bWZlcmVuY2Ugb2YgdGhlIGVsbGlwc2UuDQotICAgIGludCAgICBtYXhJdGVyYXRpb25zOyAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiByZWZpbmVtZW50IGl0ZXJhdGlvbnMgeW91IGFsbG93IHRoZSBmdW5jdGlvbiB0byBwZXJmb3JtIG9uIHRoZSBpbml0aWFsIHN1YnNldCBvZiBwb2ludHMuDQotfSBGaXRFbGxpcHNlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaXRDaXJjbGVPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICByZWplY3RPdXRsaWVyczsgLy9XaGV0aGVyIHRvIHVzZSBldmVyeSBnaXZlbiBwb2ludCBvciBvbmx5IGEgc3Vic2V0IG9mIHRoZSBwb2ludHMgdG8gZml0IHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSBtaW5TY29yZTsgICAgICAgLy9TcGVjaWZpZXMgdGhlIHJlcXVpcmVkIHF1YWxpdHkgb2YgdGhlIGZpdHRlZCBjaXJjbGUuDQotICAgIGRvdWJsZSBwaXhlbFJhZGl1czsgICAgLy9UaGUgYWNjZXB0YWJsZSBkaXN0YW5jZSwgaW4gcGl4ZWxzLCB0aGF0IGEgcG9pbnQgZGV0ZXJtaW5lZCB0byBiZWxvbmcgdG8gdGhlIGNpcmNsZSBjYW4gYmUgZnJvbSB0aGUgY2lyY3VtZmVyZW5jZSBvZiB0aGUgY2lyY2xlLg0KLSAgICBpbnQgICAgbWF4SXRlcmF0aW9uczsgIC8vU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgcmVmaW5lbWVudCBpdGVyYXRpb25zIHlvdSBhbGxvdyB0aGUgZnVuY3Rpb24gdG8gcGVyZm9ybSBvbiB0aGUgaW5pdGlhbCBzdWJzZXQgb2YgcG9pbnRzLg0KLX0gRml0Q2lyY2xlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb25zdHJ1Y3RST0lPcHRpb25zMl9zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICAgd2luZG93TnVtYmVyOyAvL1RoZSB3aW5kb3cgbnVtYmVyIG9mIHRoZSBpbWFnZSB3aW5kb3cuDQotICAgIGNvbnN0IGNoYXIqICB3aW5kb3dUaXRsZTsgIC8vU3BlY2lmaWVzIHRoZSBtZXNzYWdlIHN0cmluZyB0aGF0IHRoZSBmdW5jdGlvbiBkaXNwbGF5cyBpbiB0aGUgdGl0bGUgYmFyIG9mIHRoZSB3aW5kb3cuDQotICAgIFBhbGV0dGVUeXBlICB0eXBlOyAgICAgICAgIC8vVGhlIHBhbGV0dGUgdHlwZSB0byB1c2UuDQotICAgIFJHQlZhbHVlKiAgICBwYWxldHRlOyAgICAgIC8vSWYgdHlwZSBpcyBJTUFRX1BBTEVUVEVfVVNFUiwgdGhpcyBhcnJheSBpcyB0aGUgcGFsZXR0ZSBvZiBjb2xvcnMgdG8gdXNlIHdpdGggdGhlIHdpbmRvdy4NCi0gICAgaW50ICAgICAgICAgIG51bUNvbG9yczsgICAgLy9JZiB0eXBlIGlzIElNQVFfUEFMRVRURV9VU0VSLCB0aGlzIGVsZW1lbnQgaXMgdGhlIG51bWJlciBvZiBjb2xvcnMgaW4gdGhlIHBhbGV0dGUgYXJyYXkuDQotICAgIHVuc2lnbmVkIGludCBtYXhDb250b3VyczsgIC8vVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbnRvdXJzIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBzZWxlY3QuDQotfSBDb25zdHJ1Y3RST0lPcHRpb25zMjsNCi0NCi10eXBlZGVmIHN0cnVjdCBIU0xWYWx1ZV9zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBjaGFyIEw7ICAgICAvL1RoZSBjb2xvciBsdW1pbmFuY2UuDQotICAgIHVuc2lnbmVkIGNoYXIgUzsgICAgIC8vVGhlIGNvbG9yIHNhdHVyYXRpb24uDQotICAgIHVuc2lnbmVkIGNoYXIgSDsgICAgIC8vVGhlIGNvbG9yIGh1ZS4NCi0gICAgdW5zaWduZWQgY2hhciBhbHBoYTsgLy9UaGUgYWxwaGEgdmFsdWUgb2YgdGhlIGNvbG9yLCB3aGljaCByZXByZXNlbnRzIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgY29sb3IgaW1hZ2UsIHN1Y2ggYXMgZ2FtbWEgY29ycmVjdGlvbi4NCi19IEhTTFZhbHVlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEhTVlZhbHVlX3N0cnVjdCB7DQotICAgIHVuc2lnbmVkIGNoYXIgVjsgICAgIC8vVGhlIGNvbG9yIHZhbHVlLg0KLSAgICB1bnNpZ25lZCBjaGFyIFM7ICAgICAvL1RoZSBjb2xvciBzYXR1cmF0aW9uLg0KLSAgICB1bnNpZ25lZCBjaGFyIEg7ICAgICAvL1RoZSBjb2xvciBodWUuDQotICAgIHVuc2lnbmVkIGNoYXIgYWxwaGE7IC8vVGhlIGFscGhhIHZhbHVlIG9mIHRoZSBjb2xvciwgd2hpY2ggcmVwcmVzZW50cyBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbG9yIGltYWdlLCBzdWNoIGFzIGdhbW1hIGNvcnJlY3Rpb24uDQotfSBIU1ZWYWx1ZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBIU0lWYWx1ZV9zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBjaGFyIEk7ICAgICAvL1RoZSBjb2xvciBpbnRlbnNpdHkuDQotICAgIHVuc2lnbmVkIGNoYXIgUzsgICAgIC8vVGhlIGNvbG9yIHNhdHVyYXRpb24uDQotICAgIHVuc2lnbmVkIGNoYXIgSDsgICAgIC8vVGhlIGNvbG9yIGh1ZS4NCi0gICAgdW5zaWduZWQgY2hhciBhbHBoYTsgLy9UaGUgYWxwaGEgdmFsdWUgb2YgdGhlIGNvbG9yLCB3aGljaCByZXByZXNlbnRzIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgY29sb3IgaW1hZ2UsIHN1Y2ggYXMgZ2FtbWEgY29ycmVjdGlvbi4NCi19IEhTSVZhbHVlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENJRUxhYlZhbHVlX3N0cnVjdCB7DQotICAgIGRvdWJsZSAgICAgICAgYjsgICAgIC8vVGhlIHllbGxvdy9ibHVlIGluZm9ybWF0aW9uIG9mIHRoZSBjb2xvci4NCi0gICAgZG91YmxlICAgICAgICBhOyAgICAgLy9UaGUgcmVkL2dyZWVuIGluZm9ybWF0aW9uIG9mIHRoZSBjb2xvci4NCi0gICAgZG91YmxlICAgICAgICBMOyAgICAgLy9UaGUgY29sb3IgbGlnaHRuZXNzLg0KLSAgICB1bnNpZ25lZCBjaGFyIGFscGhhOyAvL1RoZSBhbHBoYSB2YWx1ZSBvZiB0aGUgY29sb3IsIHdoaWNoIHJlcHJlc2VudHMgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xvciBpbWFnZSwgc3VjaCBhcyBnYW1tYSBjb3JyZWN0aW9uLg0KLX0gQ0lFTGFiVmFsdWU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ0lFWFlaVmFsdWVfc3RydWN0IHsNCi0gICAgZG91YmxlICAgICAgICBaOyAgICAgLy9UaGUgWiBjb2xvciBpbmZvcm1hdGlvbi4NCi0gICAgZG91YmxlICAgICAgICBZOyAgICAgLy9UaGUgY29sb3IgbHVtaW5hbmNlLg0KLSAgICBkb3VibGUgICAgICAgIFg7ICAgICAvL1RoZSBYIGNvbG9yIGluZm9ybWF0aW9uLg0KLSAgICB1bnNpZ25lZCBjaGFyIGFscGhhOyAvL1RoZSBhbHBoYSB2YWx1ZSBvZiB0aGUgY29sb3IsIHdoaWNoIHJlcHJlc2VudHMgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xvciBpbWFnZSwgc3VjaCBhcyBnYW1tYSBjb3JyZWN0aW9uLg0KLX0gQ0lFWFlaVmFsdWU7DQotDQotdHlwZWRlZiB1bmlvbiBDb2xvcjJfdW5pb24gew0KLSAgICBSR0JWYWx1ZSAgICByZ2I7ICAgICAgLy9UaGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGRlc2NyaWJlIGEgY29sb3IgaW4gdGhlIFJHQiAoUmVkLCBHcmVlbiwgYW5kIEJsdWUpIGNvbG9yIHNwYWNlLg0KLSAgICBIU0xWYWx1ZSAgICBoc2w7ICAgICAgLy9UaGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGRlc2NyaWJlIGEgY29sb3IgaW4gdGhlIEhTTCAoSHVlLCBTYXR1cmF0aW9uLCBhbmQgTHVtaW5hbmNlKSBjb2xvciBzcGFjZS4NCi0gICAgSFNWVmFsdWUgICAgaHN2OyAgICAgIC8vVGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZXNjcmliZSBhIGNvbG9yIGluIHRoZSBIU0kgKEh1ZSwgU2F0dXJhdGlvbiwgYW5kIFZhbHVlKSBjb2xvciBzcGFjZS4NCi0gICAgSFNJVmFsdWUgICAgaHNpOyAgICAgIC8vVGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBkZXNjcmliZSBhIGNvbG9yIGluIHRoZSBIU0kgKEh1ZSwgU2F0dXJhdGlvbiwgYW5kIEludGVuc2l0eSkgY29sb3Igc3BhY2UuDQotICAgIENJRUxhYlZhbHVlIGNpZUxhYjsgICAvL1RoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZGVzY3JpYmUgYSBjb2xvciBpbiB0aGUgQ0lFIEwqYSpiKiAoTCwgYSwgYikgY29sb3Igc3BhY2UuDQotICAgIENJRVhZWlZhbHVlIGNpZVhZWjsgICAvL1RoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZGVzY3JpYmUgYSBjb2xvciBpbiB0aGUgQ0lFIFhZWiAoWCwgWSwgWikgY29sb3Igc3BhY2UuDQotICAgIGludCAgICAgICAgIHJhd1ZhbHVlOyAvL1RoZSBpbnRlZ2VyIHZhbHVlIGZvciB0aGUgZGF0YSBpbiB0aGUgY29sb3IgdW5pb24uDQotfSBDb2xvcjI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQmVzdEVsbGlwc2UyX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyOyAgICAgICAgIC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGNlbnRlciBvZiB0aGUgZWxsaXBzZS4NCi0gICAgUG9pbnRGbG9hdCBtYWpvckF4aXNTdGFydDsgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgc3RhcnQgb2YgdGhlIG1ham9yIGF4aXMgb2YgdGhlIGVsbGlwc2UuDQotICAgIFBvaW50RmxvYXQgbWFqb3JBeGlzRW5kOyAgIC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGVuZCBvZiB0aGUgbWFqb3IgYXhpcyBvZiB0aGUgZWxsaXBzZS4NCi0gICAgUG9pbnRGbG9hdCBtaW5vckF4aXNTdGFydDsgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgc3RhcnQgb2YgdGhlIG1pbm9yIGF4aXMgb2YgdGhlIGVsbGlwc2UuDQotICAgIFBvaW50RmxvYXQgbWlub3JBeGlzRW5kOyAgIC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGVuZCBvZiB0aGUgbWlub3IgYXhpcyBvZiB0aGUgZWxsaXBzZS4NCi0gICAgZG91YmxlICAgICBhcmVhOyAgICAgICAgICAgLy9UaGUgYXJlYSBvZiB0aGUgZWxsaXBzZS4NCi0gICAgZG91YmxlICAgICBwZXJpbWV0ZXI7ICAgICAgLy9UaGUgbGVuZ3RoIG9mIHRoZSBwZXJpbWV0ZXIgb2YgdGhlIGVsbGlwc2UuDQotICAgIGRvdWJsZSAgICAgZXJyb3I7ICAgICAgICAgIC8vUmVwcmVzZW50cyB0aGUgbGVhc3Qgc3F1YXJlIGVycm9yIG9mIHRoZSBmaXR0ZWQgZWxsaXBzZSB0byB0aGUgZW50aXJlIHNldCBvZiBwb2ludHMuDQotICAgIGludCAgICAgICAgdmFsaWQ7ICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIGZ1bmN0aW9uIGFjaGlldmVkIHRoZSBtaW5pbXVtIHNjb3JlIHdpdGhpbiB0aGUgbnVtYmVyIG9mIGFsbG93ZWQgcmVmaW5lbWVudCBpdGVyYXRpb25zIGFuZCBGQUxTRSBpZiB0aGUgZnVuY3Rpb24gZGlkIG5vdCBhY2hpZXZlIHRoZSBtaW5pbXVtIHNjb3JlLg0KLSAgICBpbnQqICAgICAgIHBvaW50c1VzZWQ7ICAgICAvL0FuIGFycmF5IG9mIHRoZSBpbmRleGVzIGZvciB0aGUgcG9pbnRzIGFycmF5IGluZGljYXRpbmcgd2hpY2ggcG9pbnRzIHRoZSBmdW5jdGlvbiB1c2VkIHRvIGZpdCB0aGUgZWxsaXBzZS4NCi0gICAgaW50ICAgICAgICBudW1Qb2ludHNVc2VkOyAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyB0aGUgZnVuY3Rpb24gdXNlZCB0byBmaXQgdGhlIGVsbGlwc2UuDQotfSBCZXN0RWxsaXBzZTI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgTGVhcm5QYXR0ZXJuQWR2YW5jZWRPcHRpb25zX3N0cnVjdCB7DQotICAgIExlYXJuUGF0dGVybkFkdmFuY2VkU2hpZnRPcHRpb25zKiAgICBzaGlmdE9wdGlvbnM7ICAgIC8vVXNlIHRoaXMgZWxlbWVudCB0byBjb250cm9sIHRoZSBiZWhhdmlvciBvZiBpbWFxTGVhcm5QYXR0ZXJuMigpIGR1cmluZyB0aGUgc2hpZnQtaW52YXJpYW50IGxlYXJuaW5nIHBoYXNlLg0KLSAgICBMZWFyblBhdHRlcm5BZHZhbmNlZFJvdGF0aW9uT3B0aW9ucyogcm90YXRpb25PcHRpb25zOyAvL1VzZSB0aGlzIGVsZW1lbnQgdG8gY29udHJvbCB0aGUgYmVoYXZpb3Igb2YgaW1hcUxlYXJuUGF0dGVybjIoKWR1cmluZyB0aGUgcm90YXRpb24taW52YXJpYW50IGxlYXJuaW5nIHBoYXNlLg0KLX0gTGVhcm5QYXR0ZXJuQWR2YW5jZWRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEFWSUluZm9fc3RydWN0IHsNCi0gICAgdW5zaWduZWQgaW50IHdpZHRoOyAgICAgICAgICAgLy9UaGUgd2lkdGggb2YgZWFjaCBmcmFtZS4NCi0gICAgdW5zaWduZWQgaW50IGhlaWdodDsgICAgICAgICAgLy9UaGUgaGVpZ2h0IG9mIGVhY2ggZnJhbWUuDQotICAgIEltYWdlVHlwZSAgICBpbWFnZVR5cGU7ICAgICAgIC8vVGhlIHR5cGUgb2YgaW1hZ2VzIHRoaXMgQVZJIGNvbnRhaW5zLg0KLSAgICB1bnNpZ25lZCBpbnQgbnVtRnJhbWVzOyAgICAgICAvL1RoZSBudW1iZXIgb2YgZnJhbWVzIGluIHRoZSBBVkkuDQotICAgIHVuc2lnbmVkIGludCBmcmFtZXNQZXJTZWNvbmQ7IC8vVGhlIG51bWJlciBvZiBmcmFtZXMgcGVyIHNlY29uZCB0aGlzIEFWSSBzaG91bGQgYmUgc2hvd24gYXQuDQotICAgIGNoYXIqICAgICAgICBmaWx0ZXJOYW1lOyAgICAgIC8vVGhlIG5hbWUgb2YgdGhlIGNvbXByZXNzaW9uIGZpbHRlciB1c2VkIHRvIGNyZWF0ZSB0aGlzIEFWSS4NCi0gICAgaW50ICAgICAgICAgIGhhc0RhdGE7ICAgICAgICAgLy9TcGVjaWZpZXMgd2hldGhlciB0aGlzIEFWSSBoYXMgZGF0YSBhdHRhY2hlZCB0byBlYWNoIGZyYW1lIG9yIG5vdC4NCi0gICAgdW5zaWduZWQgaW50IG1heERhdGFTaXplOyAgICAgLy9JZiB0aGlzIEFWSSBoYXMgZGF0YSwgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgZGF0YSBpbiBlYWNoIGZyYW1lLg0KLX0gQVZJSW5mbzsNCi0NCi10eXBlZGVmIHN0cnVjdCBMZWFyblBhdHRlcm5BZHZhbmNlZFNoaWZ0T3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgaW5pdGlhbFN0ZXBTaXplOyAgICAgICAgICAvL1RoZSBsYXJnZXN0IG51bWJlciBvZiBpbWFnZSBwaXhlbHMgdG8gc2hpZnQgdGhlIHNhbXBsZSBhY3Jvc3MgdGhlIGluc3BlY3Rpb24gaW1hZ2UgZHVyaW5nIHRoZSBpbml0aWFsIHBoYXNlIG9mIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgaW50ICAgIGluaXRpYWxTYW1wbGVTaXplOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBwaXhlbHMgdGhhdCB5b3Ugd2FudCB0byBpbmNsdWRlIGluIGEgc2FtcGxlIGZvciB0aGUgaW5pdGlhbCBwaGFzZSBvZiBzaGlmdC1pbnZhcmlhbnQgbWF0Y2hpbmcuDQotICAgIGRvdWJsZSBpbml0aWFsU2FtcGxlU2l6ZUZhY3RvcjsgIC8vU3BlY2lmaWVzIHRoZSBzaXplIG9mIHRoZSBzYW1wbGUgZm9yIHRoZSBpbml0aWFsIHBoYXNlIG9mIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZyBhcyBhIHBlcmNlbnQgb2YgdGhlIHRlbXBsYXRlIHNpemUsIGluIHBpeGVscy4NCi0gICAgaW50ICAgIGZpbmFsU2FtcGxlU2l6ZTsgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBwaXhlbHMgeW91IHdhbnQgdG8gYWRkIHRvIGluaXRpYWxTYW1wbGVTaXplIGZvciB0aGUgZmluYWwgcGhhc2Ugb2Ygc2hpZnQtaW52YXJpYW50IG1hdGNoaW5nLg0KLSAgICBkb3VibGUgZmluYWxTYW1wbGVTaXplRmFjdG9yOyAgICAvL1NwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgc2FtcGxlIGZvciB0aGUgZmluYWwgcGhhc2Ugb2Ygc2hpZnQtaW52YXJpYW50IG1hdGNoaW5nIGFzIGEgcGVyY2VudCBvZiB0aGUgZWRnZSBwb2ludHMgaW4gdGhlIHRlbXBsYXRlLCBpbiBwaXhlbHMuDQotICAgIGludCAgICBzdWJwaXhlbFNhbXBsZVNpemU7ICAgICAgIC8vU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGVtcGxhdGUgcGl4ZWxzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiBhIHNhbXBsZSBmb3IgdGhlIHN1YnBpeGVsIHBoYXNlIG9mIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgZG91YmxlIHN1YnBpeGVsU2FtcGxlU2l6ZUZhY3RvcjsgLy9TcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIHNhbXBsZSBmb3IgdGhlIHN1YnBpeGVsIHBoYXNlIG9mIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZyBhcyBhIHBlcmNlbnQgb2YgdGhlIHRlbXBsYXRlIHNpemUsIGluIHBpeGVscy4NCi19IExlYXJuUGF0dGVybkFkdmFuY2VkU2hpZnRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExlYXJuUGF0dGVybkFkdmFuY2VkUm90YXRpb25PcHRpb25zX3N0cnVjdCB7DQotICAgIFNlYXJjaFN0cmF0ZWd5IHNlYXJjaFN0cmF0ZWd5U3VwcG9ydDsgICAgLy9TcGVjaWZpZXMgdGhlIGFnZ3Jlc3NpdmVuZXNzIG9mIHRoZSByb3RhdGlvbiBzZWFyY2ggc3RyYXRlZ3kgYXZhaWxhYmxlIGR1cmluZyB0aGUgbWF0Y2hpbmcgcGhhc2UuDQotICAgIGludCAgICAgICAgICAgIGluaXRpYWxTdGVwU2l6ZTsgICAgICAgICAgLy9UaGUgbGFyZ2VzdCBudW1iZXIgb2YgaW1hZ2UgcGl4ZWxzIHRvIHNoaWZ0IHRoZSBzYW1wbGUgYWNyb3NzIHRoZSBpbnNwZWN0aW9uIGltYWdlIGR1cmluZyB0aGUgaW5pdGlhbCBwaGFzZSBvZiBtYXRjaGluZy4NCi0gICAgaW50ICAgICAgICAgICAgaW5pdGlhbFNhbXBsZVNpemU7ICAgICAgICAvL1NwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHRlbXBsYXRlIHBpeGVscyB0aGF0IHlvdSB3YW50IHRvIGluY2x1ZGUgaW4gYSBzYW1wbGUgZm9yIHRoZSBpbml0aWFsIHBoYXNlIG9mIHJvdGF0aW9uLWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgZG91YmxlICAgICAgICAgaW5pdGlhbFNhbXBsZVNpemVGYWN0b3I7ICAvL1NwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgc2FtcGxlIGZvciB0aGUgaW5pdGlhbCBwaGFzZSBvZiByb3RhdGlvbi1pbnZhcmlhbnQgbWF0Y2hpbmcgYXMgYSBwZXJjZW50IG9mIHRoZSB0ZW1wbGF0ZSBzaXplLCBpbiBwaXhlbHMuDQotICAgIGludCAgICAgICAgICAgIGluaXRpYWxBbmd1bGFyQWNjdXJhY3k7ICAgLy9TZXRzIHRoZSBhbmdsZSBhY2N1cmFjeSwgaW4gZGVncmVlcywgdG8gdXNlIGR1cmluZyB0aGUgaW5pdGlhbCBwaGFzZSBvZiByb3RhdGlvbi1pbnZhcmlhbnQgbWF0Y2hpbmcuDQotICAgIGludCAgICAgICAgICAgIGZpbmFsU2FtcGxlU2l6ZTsgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiB0ZW1wbGF0ZSBwaXhlbHMgeW91IHdhbnQgdG8gYWRkIHRvIGluaXRpYWxTYW1wbGVTaXplIGZvciB0aGUgZmluYWwgcGhhc2Ugb2Ygcm90YXRpb24taW52YXJpYW50IG1hdGNoaW5nLg0KLSAgICBkb3VibGUgICAgICAgICBmaW5hbFNhbXBsZVNpemVGYWN0b3I7ICAgIC8vU3BlY2lmaWVzIHRoZSBzaXplIG9mIHRoZSBzYW1wbGUgZm9yIHRoZSBmaW5hbCBwaGFzZSBvZiByb3RhdGlvbi1pbnZhcmlhbnQgbWF0Y2hpbmcgYXMgYSBwZXJjZW50IG9mIHRoZSBlZGdlIHBvaW50cyBpbiB0aGUgdGVtcGxhdGUsIGluIHBpeGVscy4NCi0gICAgaW50ICAgICAgICAgICAgZmluYWxBbmd1bGFyQWNjdXJhY3k7ICAgICAvL1NldHMgdGhlIGFuZ2xlIGFjY3VyYWN5LCBpbiBkZWdyZWVzLCB0byB1c2UgZHVyaW5nIHRoZSBmaW5hbCBwaGFzZSBvZiB0aGUgcm90YXRpb24taW52YXJpYW50IG1hdGNoaW5nLg0KLSAgICBpbnQgICAgICAgICAgICBzdWJwaXhlbFNhbXBsZVNpemU7ICAgICAgIC8vU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgdGVtcGxhdGUgcGl4ZWxzIHRoYXQgeW91IHdhbnQgdG8gaW5jbHVkZSBpbiBhIHNhbXBsZSBmb3IgdGhlIHN1YnBpeGVsIHBoYXNlIG9mIHJvdGF0aW9uLWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgZG91YmxlICAgICAgICAgc3VicGl4ZWxTYW1wbGVTaXplRmFjdG9yOyAvL1NwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgc2FtcGxlIGZvciB0aGUgc3VicGl4ZWwgcGhhc2Ugb2Ygcm90YXRpb24taW52YXJpYW50IG1hdGNoaW5nIGFzIGEgcGVyY2VudCBvZiB0aGUgdGVtcGxhdGUgc2l6ZSwgaW4gcGl4ZWxzLg0KLX0gTGVhcm5QYXR0ZXJuQWR2YW5jZWRSb3RhdGlvbk9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgTWF0Y2hQYXR0ZXJuQWR2YW5jZWRPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICAgICAgICAgIHN1YnBpeGVsSXRlcmF0aW9uczsgICAgICAgICAgLy9EZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmNyZW1lbnRhbCBpbXByb3ZlbWVudHMgdXNlZCB0byByZWZpbmUgbWF0Y2hpbmcgdXNpbmcgc3VicGl4ZWwgaW5mb3JtYXRpb24uDQotICAgIGRvdWJsZSAgICAgICAgIHN1YnBpeGVsVG9sZXJhbmNlOyAgICAgICAgICAgLy9EZWZpbmVzIHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjaGFuZ2UsIGluIHBpeGVscywgYmV0d2VlbiBjb25zZWN1dGl2ZSBpbmNyZW1lbnRhbCBpbXByb3ZlbWVudHMgaW4gdGhlIG1hdGNoIHBvc2l0aW9uIHRoYXQgeW91IHdhbnQgdG8gdHJpZ2dlciB0aGUgZW5kIG9mIHRoZSByZWZpbmVtZW50IHByb2Nlc3MuDQotICAgIGludCAgICAgICAgICAgIGluaXRpYWxNYXRjaExpc3RMZW5ndGg7ICAgICAgLy9TcGVjaWZpZXMgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgbWF0Y2ggbGlzdC4NCi0gICAgaW50ICAgICAgICAgICAgbWF0Y2hMaXN0UmVkdWN0aW9uRmFjdG9yOyAgICAvL1NwZWNpZmllcyB0aGUgcmVkdWN0aW9uIG9mIHRoZSBtYXRjaCBsaXN0IGFzIG1hdGNoZXMgYXJlIHJlZmluZWQuDQotICAgIGludCAgICAgICAgICAgIGluaXRpYWxTdGVwU2l6ZTsgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbHMgdG8gc2hpZnQgdGhlIHNhbXBsZSBhY3Jvc3MgdGhlIGluc3BlY3Rpb24gaW1hZ2UgZHVyaW5nIHRoZSBpbml0aWFsIHBoYXNlIG9mIHNoaWZ0LWludmFyaWFudCBtYXRjaGluZy4NCi0gICAgU2VhcmNoU3RyYXRlZ3kgc2VhcmNoU3RyYXRlZ3k7ICAgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgYWdncmVzc2l2ZW5lc3Mgb2YgdGhlIHJvdGF0aW9uIHNlYXJjaCBzdHJhdGVneS4NCi0gICAgaW50ICAgICAgICAgICAgaW50ZXJtZWRpYXRlQW5ndWxhckFjY3VyYWN5OyAvL1NwZWNpZmllcyB0aGUgYWNjdXJhY3kgdG8gdXNlIGR1cmluZyB0aGUgaW50ZXJtZWRpYXRlIHBoYXNlIG9mIHJvdGF0aW9uLWludmFyaWFudCBtYXRjaGluZy4NCi19IE1hdGNoUGF0dGVybkFkdmFuY2VkT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMl9zdHJ1Y3Qgew0KLSAgICBNZWFzdXJlbWVudFR5cGUgcGFyYW1ldGVyOyAgLy9UaGUgbW9ycGhvbG9naWNhbCBtZWFzdXJlbWVudCB0aGF0IHRoZSBmdW5jdGlvbiB1c2VzIGZvciBmaWx0ZXJpbmcuDQotICAgIGZsb2F0ICAgICAgICAgICBsb3dlcjsgICAgICAvL1RoZSBsb3dlciBib3VuZCBvZiB0aGUgY3JpdGVyaWEgcmFuZ2UuDQotICAgIGZsb2F0ICAgICAgICAgICB1cHBlcjsgICAgICAvL1RoZSB1cHBlciBib3VuZCBvZiB0aGUgY3JpdGVyaWEgcmFuZ2UuDQotICAgIGludCAgICAgICAgICAgICBjYWxpYnJhdGVkOyAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byB0YWtlIGNhbGlicmF0ZWQgbWVhc3VyZW1lbnRzLg0KLSAgICBpbnQgICAgICAgICAgICAgZXhjbHVkZTsgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gaW5kaWNhdGUgdGhhdCBhIG1hdGNoIG9jY3VycyB3aGVuIHRoZSBtZWFzdXJlbWVudCBpcyBvdXRzaWRlIHRoZSBjcml0ZXJpYSByYW5nZS4NCi19IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWEyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEJlc3RDaXJjbGUyX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyOyAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgY2VudGVyIG9mIHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSAgICAgcmFkaXVzOyAgICAgICAgLy9UaGUgcmFkaXVzIG9mIHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSAgICAgYXJlYTsgICAgICAgICAgLy9UaGUgYXJlYSBvZiB0aGUgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIHBlcmltZXRlcjsgICAgIC8vVGhlIGxlbmd0aCBvZiB0aGUgcGVyaW1ldGVyIG9mIHRoZSBjaXJjbGUuDQotICAgIGRvdWJsZSAgICAgZXJyb3I7ICAgICAgICAgLy9SZXByZXNlbnRzIHRoZSBsZWFzdCBzcXVhcmUgZXJyb3Igb2YgdGhlIGZpdHRlZCBjaXJjbGUgdG8gdGhlIGVudGlyZSBzZXQgb2YgcG9pbnRzLg0KLSAgICBpbnQgICAgICAgIHZhbGlkOyAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIGZ1bmN0aW9uIGFjaGlldmVkIHRoZSBtaW5pbXVtIHNjb3JlIHdpdGhpbiB0aGUgbnVtYmVyIG9mIGFsbG93ZWQgcmVmaW5lbWVudCBpdGVyYXRpb25zIGFuZCBGQUxTRSBpZiB0aGUgZnVuY3Rpb24gZGlkIG5vdCBhY2hpZXZlIHRoZSBtaW5pbXVtIHNjb3JlLg0KLSAgICBpbnQqICAgICAgIHBvaW50c1VzZWQ7ICAgIC8vQW4gYXJyYXkgb2YgdGhlIGluZGV4ZXMgZm9yIHRoZSBwb2ludHMgYXJyYXkgaW5kaWNhdGluZyB3aGljaCBwb2ludHMgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZml0IHRoZSBjaXJjbGUuDQotICAgIGludCAgICAgICAgbnVtUG9pbnRzVXNlZDsgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyB0aGUgZnVuY3Rpb24gdXNlZCB0byBmaXQgdGhlIGNpcmNsZS4NCi19IEJlc3RDaXJjbGUyOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE9DUlNwYWNpbmdPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCBtaW5DaGFyU3BhY2luZzsgICAgICAgICAgICAgIC8vVGhlIG1pbmltdW0gbnVtYmVyIG9mIHBpeGVscyB0aGF0IG11c3QgYmUgYmV0d2VlbiB0d28gY2hhcmFjdGVycyBmb3IgTkkgVmlzaW9uIHRvIHRyYWluIG9yIHJlYWQgdGhlIGNoYXJhY3RlcnMgc2VwYXJhdGVseS4NCi0gICAgaW50IG1pbkNoYXJTaXplOyAgICAgICAgICAgICAgICAgLy9UaGUgbWluaW11bSBudW1iZXIgb2YgcGl4ZWxzIHJlcXVpcmVkIGZvciBhbiBvYmplY3QgdG8gYmUgYSBwb3RlbnRpYWxseSBpZGVudGlmaWFibGUgY2hhcmFjdGVyLg0KLSAgICBpbnQgbWF4Q2hhclNpemU7ICAgICAgICAgICAgICAgICAvL1RoZSBtYXhpbXVtIG51bWJlciBvZiBwaXhlbHMgcmVxdWlyZWQgZm9yIGFuIG9iamVjdCB0byBiZSBhIHBvdGVudGlhbGx5IGlkZW50aWZpYWJsZSBjaGFyYWN0ZXIuDQotICAgIGludCBtYXhIb3Jpem9udGFsRWxlbWVudFNwYWNpbmc7IC8vVGhlIG1heGltdW0gaG9yaXpvbnRhbCBzcGFjaW5nLCBpbiBwaXhlbHMsIGFsbG93ZWQgYmV0d2VlbiBjaGFyYWN0ZXIgZWxlbWVudHMgdG8gdHJhaW4gb3IgcmVhZCB0aGUgY2hhcmFjdGVyIGVsZW1lbnRzIGFzIGEgc2luZ2xlIGNoYXJhY3Rlci4NCi0gICAgaW50IG1heFZlcnRpY2FsRWxlbWVudFNwYWNpbmc7ICAgLy9UaGUgbWF4aW11bSB2ZXJ0aWNhbCBlbGVtZW50IHNwYWNpbmcgaW4gcGl4ZWxzLg0KLSAgICBpbnQgbWluQm91bmRpbmdSZWN0V2lkdGg7ICAgICAgICAvL1RoZSBtaW5pbXVtIHBvc3NpYmxlIHdpZHRoLCBpbiBwaXhlbHMsIGZvciBhIGNoYXJhY3RlciBib3VuZGluZyByZWN0YW5nbGUuDQotICAgIGludCBtYXhCb3VuZGluZ1JlY3RXaWR0aDsgICAgICAgIC8vVGhlIG1heGltdW0gcG9zc2libGUgd2lkdGgsIGluIHBpeGVscywgZm9yIGEgY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZS4NCi0gICAgaW50IG1pbkJvdW5kaW5nUmVjdEhlaWdodDsgICAgICAgLy9UaGUgbWluaW11bSBwb3NzaWJsZSBoZWlnaHQsIGluIHBpeGVscywgZm9yIGEgY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZS4NCi0gICAgaW50IG1heEJvdW5kaW5nUmVjdEhlaWdodDsgICAgICAgLy9UaGUgbWF4aW11bSBwb3NzaWJsZSBoZWlnaHQsIGluIHBpeGVscywgZm9yIGEgY2hhcmFjdGVyIGJvdW5kaW5nIHJlY3RhbmdsZS4NCi0gICAgaW50IGF1dG9TcGxpdDsgICAgICAgICAgICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gYXV0b21hdGljYWxseSBhZGp1c3QgdGhlIGxvY2F0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgYm91bmRpbmcgcmVjdGFuZ2xlIHdoZW4gY2hhcmFjdGVycyBvdmVybGFwIHZlcnRpY2FsbHkuDQotfSBPQ1JTcGFjaW5nT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBPQ1JQcm9jZXNzaW5nT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBUaHJlc2hvbGRNb2RlIG1vZGU7ICAgICAgICAgICAgICAgICAgICAgICAvL1RoZSB0aHJlc2hvbGRpbmcgbW9kZS4NCi0gICAgaW50ICAgICAgICAgICBsb3dUaHJlc2hvbGQ7ICAgICAgICAgICAgICAgLy9UaGUgbG93IHRocmVzaG9sZCB2YWx1ZSB3aGVuIHlvdSBzZXQgbW9kZSB0byBJTUFRX0ZJWEVEX1JBTkdFLg0KLSAgICBpbnQgICAgICAgICAgIGhpZ2hUaHJlc2hvbGQ7ICAgICAgICAgICAgICAvL1RoZSBoaWdoIHRocmVzaG9sZCB2YWx1ZSB3aGVuIHlvdSBzZXQgbW9kZSB0byBJTUFRX0ZJWEVEX1JBTkdFLg0KLSAgICBpbnQgICAgICAgICAgIGJsb2NrQ291bnQ7ICAgICAgICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgYmxvY2tzIGZvciB0aHJlc2hvbGQgY2FsY3VsYXRpb24gYWxnb3JpdGhtcyB0aGF0IHJlcXVpcmUgYmxvY2tzLg0KLSAgICBpbnQgICAgICAgICAgIGZhc3RUaHJlc2hvbGQ7ICAgICAgICAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byB1c2UgYSBmYXN0ZXIsIGxlc3MgYWNjdXJhdGUgdGhyZXNob2xkIGNhbGN1bGF0aW9uIGFsZ29yaXRobS4NCi0gICAgaW50ICAgICAgICAgICBiaU1vZGFsQ2FsY3VsYXRpb247ICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gY2FsY3VsYXRlIGJvdGggdGhlIGxvdyBhbmQgaGlnaCB0aHJlc2hvbGQgdmFsdWVzIHdoZW4gdXNpbmcgdGhlIGZhc3QgdGhyZXNob2xkaW5nIG1ldGhvZC4NCi0gICAgaW50ICAgICAgICAgICBkYXJrQ2hhcmFjdGVyczsgICAgICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gcmVhZCBvciB0cmFpbiBkYXJrIGNoYXJhY3RlcnMgb24gYSBsaWdodCBiYWNrZ3JvdW5kLg0KLSAgICBpbnQgICAgICAgICAgIHJlbW92ZVBhcnRpY2xlc1RvdWNoaW5nUk9JOyAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byByZW1vdmUgdGhlIHBhcnRpY2xlcyB0b3VjaGluZyB0aGUgUk9JLg0KLSAgICBpbnQgICAgICAgICAgIGVyb3Npb25Db3VudDsgICAgICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgZXJvc2lvbnMgdG8gcGVyZm9ybS4NCi19IE9DUlByb2Nlc3NpbmdPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJlYWRUZXh0T3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBTdHJpbmcyNTUgICAgICB2YWxpZENoYXJzWzI1NV07ICAvL0FuIGFycmF5IG9mIHN0cmluZ3MgdGhhdCBzcGVjaWZpZXMgdGhlIHZhbGlkIGNoYXJhY3RlcnMuDQotICAgIGludCAgICAgICAgICAgIG51bVZhbGlkQ2hhcnM7ICAgIC8vVGhlIG51bWJlciBvZiBzdHJpbmdzIGluIHRoZSB2YWxpZENoYXJzIGFycmF5IHRoYXQgeW91IGhhdmUgaW5pdGlhbGl6ZWQuDQotICAgIGNoYXIgICAgICAgICAgIHN1YnN0aXR1dGlvbkNoYXI7IC8vVGhlIGNoYXJhY3RlciB0byBzdWJzdGl0dXRlIGZvciBvYmplY3RzIHRoYXQgdGhlIGZ1bmN0aW9uIGNhbm5vdCBtYXRjaCB3aXRoIGFueSBvZiB0aGUgdHJhaW5lZCBjaGFyYWN0ZXJzLg0KLSAgICBSZWFkU3RyYXRlZ3kgICByZWFkU3RyYXRlZ3k7ICAgICAvL1RoZSByZWFkIHN0cmF0ZWd5LCB3aGljaCBkZXRlcm1pbmVzIGhvdyBjbG9zZWx5IHRoZSBmdW5jdGlvbiBhbmFseXplcyBpbWFnZXMgaW4gdGhlIHJlYWRpbmcgcHJvY2VzcyB0byBtYXRjaCBvYmplY3RzIHdpdGggdHJhaW5lZCBjaGFyYWN0ZXJzLg0KLSAgICBpbnQgICAgICAgICAgICBhY2NlcHRhbmNlTGV2ZWw7ICAvL1RoZSBtaW5pbXVtIGFjY2VwdGFuY2UgbGV2ZWwgYXQgd2hpY2ggYW4gb2JqZWN0IGlzIGNvbnNpZGVyZWQgYSB0cmFpbmVkIGNoYXJhY3Rlci4NCi0gICAgaW50ICAgICAgICAgICAgYXNwZWN0UmF0aW87ICAgICAgLy9UaGUgbWF4aW11bSBhc3BlY3QgcmF0aW8gdmFyaWFuY2UgcGVyY2VudGFnZSBmb3IgdmFsaWQgY2hhcmFjdGVycy4NCi0gICAgUmVhZFJlc29sdXRpb24gcmVhZFJlc29sdXRpb247ICAgLy9UaGUgcmVhZCByZXNvbHV0aW9uLCB3aGljaCBkZXRlcm1pbmVzIGhvdyBtdWNoIG9mIHRoZSB0cmFpbmVkIGNoYXJhY3RlciBkYXRhIHRoZSBmdW5jdGlvbiB1c2VzIHRvIG1hdGNoIG9iamVjdHMgdG8gdHJhaW5lZCBjaGFyYWN0ZXJzLg0KLX0gUmVhZFRleHRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IENoYXJJbmZvX3N0cnVjdCB7DQotICAgIGNvbnN0IGNoYXIqICBjaGFyVmFsdWU7ICAgICAvL1JldHJpZXZlcyB0aGUgY2hhcmFjdGVyIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNoYXJhY3RlciBpbiB0aGUgY2hhcmFjdGVyIHNldC4NCi0gICAgY29uc3QgSW1hZ2UqIGNoYXJJbWFnZTsgICAgIC8vVGhlIGltYWdlIHlvdSB1c2VkIHRvIHRyYWluIHRoaXMgY2hhcmFjdGVyLg0KLSAgICBjb25zdCBJbWFnZSogaW50ZXJuYWxJbWFnZTsgLy9UaGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gdGhhdCBOSSBWaXNpb24gdXNlcyB0byBtYXRjaCBvYmplY3RzIHRvIHRoaXMgY2hhcmFjdGVyLg0KLX0gQ2hhckluZm87DQotDQotI2lmICFkZWZpbmVkKFVTRVJJTlRfSEVBREVSKSAmJiAhZGVmaW5lZChfQ1ZJX1JFQ1RfREVGSU5FRCkNCi10eXBlZGVmIHN0cnVjdCBSZWN0X3N0cnVjdCB7DQotICAgIGludCB0b3A7ICAgIC8vTG9jYXRpb24gb2YgdGhlIHRvcCBlZGdlIG9mIHRoZSByZWN0YW5nbGUuDQotICAgIGludCBsZWZ0OyAgIC8vTG9jYXRpb24gb2YgdGhlIGxlZnQgZWRnZSBvZiB0aGUgcmVjdGFuZ2xlLg0KLSAgICBpbnQgaGVpZ2h0OyAvL0hlaWdodCBvZiB0aGUgcmVjdGFuZ2xlLg0KLSAgICBpbnQgd2lkdGg7ICAvL1dpZHRoIG9mIHRoZSByZWN0YW5nbGUuDQotfSBSZWN0Ow0KLSNkZWZpbmUgX0NWSV9SRUNUX0RFRklORUQNCi0jZW5kaWYNCi0NCi10eXBlZGVmIHN0cnVjdCBDaGFyUmVwb3J0X3N0cnVjdCB7DQotICAgIGNvbnN0IGNoYXIqIGNoYXJhY3RlcjsgICAgIC8vVGhlIGNoYXJhY3RlciB2YWx1ZS4NCi0gICAgUG9pbnRGbG9hdCAgY29ybmVyWzRdOyAgICAgLy9BbiBhcnJheSBvZiBmb3VyIHBvaW50cyB0aGF0IGRlc2NyaWJlcyB0aGUgcmVjdGFuZ2xlIHRoYXQgc3Vycm91bmRzIHRoZSBjaGFyYWN0ZXIuDQotICAgIGludCAgICAgICAgIHJlc2VydmVkOyAgICAgIC8vVGhpcyBlbGVtZW50IGlzIHJlc2VydmVkLg0KLSAgICBpbnQgICAgICAgICBsb3dUaHJlc2hvbGQ7ICAvL1RoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSB0aHJlc2hvbGQgcmFuZ2UgdXNlZCBmb3IgdGhpcyBjaGFyYWN0ZXIuDQotICAgIGludCAgICAgICAgIGhpZ2hUaHJlc2hvbGQ7IC8vVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHRocmVzaG9sZCByYW5nZSB1c2VkIGZvciB0aGlzIGNoYXJhY3Rlci4NCi19IENoYXJSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUmVhZFRleHRSZXBvcnRfc3RydWN0IHsNCi0gICAgY29uc3QgY2hhciogICAgICAgcmVhZFN0cmluZzsgICAgICAgICAgLy9UaGUgcmVhZCBzdHJpbmcuDQotICAgIGNvbnN0IENoYXJSZXBvcnQqIGNoYXJhY3RlclJlcG9ydDsgICAgIC8vQW4gYXJyYXkgb2YgcmVwb3J0cyBkZXNjcmliaW5nIHRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggaWRlbnRpZmllZCBjaGFyYWN0ZXIuDQotICAgIGludCAgICAgICAgICAgICAgIG51bUNoYXJhY3RlclJlcG9ydHM7IC8vVGhlIG51bWJlciBvZiBpZGVudGlmaWVkIGNoYXJhY3RlcnMuDQotfSBSZWFkVGV4dFJlcG9ydDsNCi0NCi0jaWYgIWRlZmluZWQoVVNFUklOVF9IRUFERVIpICYmICFkZWZpbmVkKF9DVklfUE9JTlRfREVGSU5FRCkNCi10eXBlZGVmIHN0cnVjdCBQb2ludF9zdHJ1Y3Qgew0KLSAgICBpbnQgeDsgLy9UaGUgeC1jb29yZGluYXRlIG9mIHRoZSBwb2ludC4NCi0gICAgaW50IHk7IC8vVGhlIHktY29vcmRpbmF0ZSBvZiB0aGUgcG9pbnQuDQotfSBQb2ludDsNCi0jZGVmaW5lIF9DVklfUE9JTlRfREVGSU5FRA0KLSNlbmRpZg0KLQ0KLXR5cGVkZWYgc3RydWN0IEFubnVsdXNfc3RydWN0IHsNCi0gICAgUG9pbnQgIGNlbnRlcjsgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBjZW50ZXIgb2YgdGhlIGFubnVsdXMuDQotICAgIGludCAgICBpbm5lclJhZGl1czsgLy9UaGUgaW50ZXJuYWwgcmFkaXVzIG9mIHRoZSBhbm51bHVzLg0KLSAgICBpbnQgICAgb3V0ZXJSYWRpdXM7IC8vVGhlIGV4dGVybmFsIHJhZGl1cyBvZiB0aGUgYW5udWx1cy4NCi0gICAgZG91YmxlIHN0YXJ0QW5nbGU7ICAvL1RoZSBzdGFydCBhbmdsZSwgaW4gZGVncmVlcywgb2YgdGhlIGFubnVsdXMuDQotICAgIGRvdWJsZSBlbmRBbmdsZTsgICAgLy9UaGUgZW5kIGFuZ2xlLCBpbiBkZWdyZWVzLCBvZiB0aGUgYW5udWx1cy4NCi19IEFubnVsdXM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRWRnZUxvY2F0aW9uUmVwb3J0X3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQqIGVkZ2VzOyAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIGFsbCBlZGdlcyBkZXRlY3RlZCBieSB0aGUgc2VhcmNoIGxpbmUuDQotICAgIGludCAgICAgICAgIG51bUVkZ2VzOyAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBlZGdlcyBhcnJheS4NCi19IEVkZ2VMb2NhdGlvblJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBFZGdlT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCAgICAgICAgICAgIHRocmVzaG9sZDsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgdGhyZXNob2xkIHZhbHVlIGZvciB0aGUgY29udHJhc3Qgb2YgdGhlIGVkZ2UuDQotICAgIHVuc2lnbmVkICAgICAgICAgICAgd2lkdGg7ICAgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBwaXhlbHMgdGhhdCB0aGUgZnVuY3Rpb24gYXZlcmFnZXMgdG8gZmluZCB0aGUgY29udHJhc3QgYXQgZWl0aGVyIHNpZGUgb2YgdGhlIGVkZ2UuDQotICAgIHVuc2lnbmVkICAgICAgICAgICAgc3RlZXBuZXNzOyAgICAgICAgIC8vVGhlIHNwYW4sIGluIHBpeGVscywgb2YgdGhlIHNsb3BlIG9mIHRoZSBlZGdlIHByb2plY3RlZCBhbG9uZyB0aGUgcGF0aCBzcGVjaWZpZWQgYnkgdGhlIGlucHV0IHBvaW50cy4NCi0gICAgSW50ZXJwb2xhdGlvbk1ldGhvZCBzdWJwaXhlbFR5cGU7ICAgICAgLy9UaGUgbWV0aG9kIGZvciBpbnRlcnBvbGF0aW5nLg0KLSAgICB1bnNpZ25lZCAgICAgICAgICAgIHN1YnBpeGVsRGl2aXNpb25zOyAvL1RoZSBudW1iZXIgb2Ygc2FtcGxlcyB0aGUgZnVuY3Rpb24gb2J0YWlucyBmcm9tIGEgcGl4ZWwuDQotfSBFZGdlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBFZGdlUmVwb3J0X3N0cnVjdCB7DQotICAgIGZsb2F0ICAgICAgICBsb2NhdGlvbjsgICAvL1RoZSBsb2NhdGlvbiBvZiB0aGUgZWRnZSBmcm9tIHRoZSBmaXJzdCBwb2ludCBpbiB0aGUgcG9pbnRzIGFycmF5Lg0KLSAgICBmbG9hdCAgICAgICAgY29udHJhc3Q7ICAgLy9UaGUgY29udHJhc3QgYXQgdGhlIGVkZ2UuDQotICAgIFBvbGFyaXR5VHlwZSBwb2xhcml0eTsgICAvL1RoZSBwb2xhcml0eSBvZiB0aGUgZWRnZS4NCi0gICAgZmxvYXQgICAgICAgIHJlc2VydmVkOyAgIC8vVGhpcyBlbGVtZW50IGlzIHJlc2VydmVkLg0KLSAgICBQb2ludEZsb2F0ICAgY29vcmRpbmF0ZTsgLy9UaGUgY29vcmRpbmF0ZXMgb2YgdGhlIGVkZ2UuDQotfSBFZGdlUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IEV4dHJlbWVSZXBvcnRfc3RydWN0IHsNCi0gICAgZG91YmxlIGxvY2F0aW9uOyAgICAgICAgIC8vVGhlIGxvY2F0aW9ucyBvZiB0aGUgZXh0cmVtZS4NCi0gICAgZG91YmxlIGFtcGxpdHVkZTsgICAgICAgIC8vVGhlIGFtcGxpdHVkZSBvZiB0aGUgZXh0cmVtZS4NCi0gICAgZG91YmxlIHNlY29uZERlcml2YXRpdmU7IC8vVGhlIHNlY29uZCBkZXJpdmF0aXZlIG9mIHRoZSBleHRyZW1lLg0KLX0gRXh0cmVtZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBGaXRMaW5lT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBmbG9hdCBtaW5TY29yZTsgICAgICAgLy9TcGVjaWZpZXMgdGhlIHJlcXVpcmVkIHF1YWxpdHkgb2YgdGhlIGZpdHRlZCBsaW5lLg0KLSAgICBmbG9hdCBwaXhlbFJhZGl1czsgICAgLy9TcGVjaWZpZXMgdGhlIG5laWdoYm9yaG9vZCBwaXhlbCByZWxhdGlvbnNoaXAgZm9yIHRoZSBpbml0aWFsIHN1YnNldCBvZiBwb2ludHMgYmVpbmcgdXNlZC4NCi0gICAgaW50ICAgbnVtUmVmaW5lbWVudHM7IC8vU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgcmVmaW5lbWVudCBpdGVyYXRpb25zIHlvdSBhbGxvdyB0aGUgZnVuY3Rpb24gdG8gcGVyZm9ybSBvbiB0aGUgaW5pdGlhbCBzdWJzZXQgb2YgcG9pbnRzLg0KLX0gRml0TGluZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRGlzcGxheU1hcHBpbmdfc3RydWN0IHsNCi0gICAgTWFwcGluZ01ldGhvZCBtZXRob2Q7ICAgICAgIC8vRGVzY3JpYmVzIHRoZSBtZXRob2QgZm9yIGNvbnZlcnRpbmcgMTYtYml0IHBpeGVscyB0byA4LWJpdCBwaXhlbHMuDQotICAgIGludCAgICAgICAgICAgbWluaW11bVZhbHVlOyAvL1doZW4gbWV0aG9kIGlzIElNQVFfUkFOR0UsIG1pbmltdW1WYWx1ZSByZXByZXNlbnRzIHRoZSB2YWx1ZSB0aGF0IGlzIG1hcHBlZCB0byAwLg0KLSAgICBpbnQgICAgICAgICAgIG1heGltdW1WYWx1ZTsgLy9XaGVuIG1ldGhvZCBpcyBJTUFRX1JBTkdFLCBtYXhpbXVtVmFsdWUgcmVwcmVzZW50cyB0aGUgdmFsdWUgdGhhdCBpcyBtYXBwZWQgdG8gMjU1Lg0KLSAgICBpbnQgICAgICAgICAgIHNoaWZ0Q291bnQ7ICAgLy9XaGVuIG1ldGhvZCBpcyBJTUFRX0RPV05TSElGVCwgc2hpZnRDb3VudCByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgYml0cyB0aGUgZnVuY3Rpb24gcmlnaHQtc2hpZnRzIHRoZSAxNi1iaXQgcGl4ZWwgdmFsdWVzLg0KLX0gRGlzcGxheU1hcHBpbmc7DQotDQotdHlwZWRlZiBzdHJ1Y3QgRGV0ZWN0RXh0cmVtZXNPcHRpb25zX3N0cnVjdCB7DQotICAgIGRvdWJsZSB0aHJlc2hvbGQ7IC8vRGVmaW5lcyB3aGljaCBleHRyZW1lcyBhcmUgdG9vIHNtYWxsLg0KLSAgICBpbnQgICAgd2lkdGg7ICAgICAvL1NwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGRhdGEgcG9pbnRzIHRoZSBmdW5jdGlvbiB1c2VzIGluIHRoZSBxdWFkcmF0aWMgbGVhc3Qtc3F1YXJlcyBmaXQuDQotfSBEZXRlY3RFeHRyZW1lc09wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgSW1hZ2VJbmZvX3N0cnVjdCB7DQotICAgIENhbGlicmF0aW9uVW5pdCBpbWFnZVVuaXQ7ICAgICAvL0lmIHlvdSBzZXQgY2FsaWJyYXRpb24gaW5mb3JtYXRpb24gd2l0aCBpbWFxU2V0U2ltcGxlQ2FsaWJyYXRpb25JbmZvKCksIGltYWdlVW5pdCBpcyB0aGUgY2FsaWJyYXRpb24gdW5pdC4NCi0gICAgZmxvYXQgICAgICAgICAgIHN0ZXBYOyAgICAgICAgIC8vSWYgeW91IHNldCBjYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiB3aXRoIGltYXFTZXRDYWxpYnJhdGlvbkluZm8oKSwgc3RlcFggaXMgdGhlIGRpc3RhbmNlIGluIHRoZSBjYWxpYnJhdGlvbiB1bml0IGJldHdlZW4gdHdvIHBpeGVscyBpbiB0aGUgeCBkaXJlY3Rpb24uDQotICAgIGZsb2F0ICAgICAgICAgICBzdGVwWTsgICAgICAgICAvL0lmIHlvdSBzZXQgY2FsaWJyYXRpb24gaW5mb3JtYXRpb24gd2l0aCBpbWFxU2V0Q2FsaWJyYXRpb25JbmZvKCksIHN0ZXBZIGlzIHRoZSBkaXN0YW5jZSBpbiB0aGUgY2FsaWJyYXRpb24gdW5pdCBiZXR3ZWVuIHR3byBwaXhlbHMgaW4gdGhlIHkgZGlyZWN0aW9uLg0KLSAgICBJbWFnZVR5cGUgICAgICAgaW1hZ2VUeXBlOyAgICAgLy9UaGUgdHlwZSBvZiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICB4UmVzOyAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICB5UmVzOyAgICAgICAgICAvL1RoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICB4T2Zmc2V0OyAgICAgICAvL0lmIHlvdSBzZXQgbWFzayBvZmZzZXQgaW5mb3JtYXRpb24gd2l0aCBpbWFxU2V0TWFza09mZnNldCgpLCB4T2Zmc2V0IGlzIHRoZSBvZmZzZXQgb2YgdGhlIG1hc2sgb3JpZ2luIGluIHRoZSB4IGRpcmVjdGlvbi4NCi0gICAgaW50ICAgICAgICAgICAgIHlPZmZzZXQ7ICAgICAgIC8vSWYgeW91IHNldCBtYXNrIG9mZnNldCBpbmZvcm1hdGlvbiB3aXRoIGltYXFTZXRNYXNrT2Zmc2V0KCksIHlPZmZzZXQgaXMgdGhlIG9mZnNldCBvZiB0aGUgbWFzayBvcmlnaW4gaW4gdGhlIHkgZGlyZWN0aW9uLg0KLSAgICBpbnQgICAgICAgICAgICAgYm9yZGVyOyAgICAgICAgLy9UaGUgbnVtYmVyIG9mIGJvcmRlciBwaXhlbHMgYXJvdW5kIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgIHBpeGVsc1BlckxpbmU7IC8vVGhlIG51bWJlciBvZiBwaXhlbHMgc3RvcmVkIGZvciBlYWNoIGxpbmUgb2YgdGhlIGltYWdlLg0KLSAgICB2b2lkKiAgICAgICAgICAgcmVzZXJ2ZWQwOyAgICAgLy9UaGlzIGVsZW1lbnQgaXMgcmVzZXJ2ZWQuDQotICAgIHZvaWQqICAgICAgICAgICByZXNlcnZlZDE7ICAgICAvL1RoaXMgZWxlbWVudCBpcyByZXNlcnZlZC4NCi0gICAgdm9pZCogICAgICAgICAgIGltYWdlU3RhcnQ7ICAgIC8vQSBwb2ludGVyIHRvIHBpeGVsICgwLDApLg0KLX0gSW1hZ2VJbmZvOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExDRE9wdGlvbnNfc3RydWN0IHsNCi0gICAgaW50ICAgbGl0U2VnbWVudHM7ICAvL1NldCB0aGlzIHBhcmFtZXRlciB0byBUUlVFIGlmIHRoZSBzZWdtZW50cyBhcmUgYnJpZ2h0ZXIgdGhhbiB0aGUgYmFja2dyb3VuZC4NCi0gICAgZmxvYXQgdGhyZXNob2xkOyAgICAvL0RldGVybWluZXMgd2hldGhlciBhIHNlZ21lbnQgaXMgT04gb3IgT0ZGLg0KLSAgICBpbnQgICBzaWduOyAgICAgICAgIC8vSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZ1bmN0aW9uIG11c3QgcmVhZCB0aGUgc2lnbiBvZiB0aGUgaW5kaWNhdG9yLg0KLSAgICBpbnQgICBkZWNpbWFsUG9pbnQ7IC8vRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGxvb2sgZm9yIGEgZGVjaW1hbCBzZXBhcmF0b3IgYWZ0ZXIgZWFjaCBkaWdpdC4NCi19IExDRE9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgTENEUmVwb3J0X3N0cnVjdCB7DQotICAgIGNvbnN0IGNoYXIqICB0ZXh0OyAgICAgICAgICAvL0Egc3RyaW5nIG9mIHRoZSBjaGFyYWN0ZXJzIG9mIHRoZSBMQ0QuDQotICAgIExDRFNlZ21lbnRzKiBzZWdtZW50SW5mbzsgICAvL0FuIGFycmF5IG9mIExDRFNlZ21lbnQgc3RydWN0dXJlcyBkZXNjcmliaW5nIHdoaWNoIHNlZ21lbnRzIG9mIGVhY2ggZGlnaXQgYXJlIG9uLg0KLSAgICBpbnQgICAgICAgICAgbnVtQ2hhcmFjdGVyczsgLy9UaGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgZnVuY3Rpb24gcmVhZHMuDQotICAgIGludCAgICAgICAgICByZXNlcnZlZDsgICAgICAvL1RoaXMgZWxlbWVudCBpcyByZXNlcnZlZC4NCi19IExDRFJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBMQ0RTZWdtZW50c19zdHJ1Y3Qgew0KLSAgICB1bnNpZ25lZCBhOjE7ICAgICAgICAgLy9UcnVlIGlmIHRoZSBhIHNlZ21lbnQgaXMgb24uDQotICAgIHVuc2lnbmVkIGI6MTsgICAgICAgICAvL1RydWUgaWYgdGhlIGIgc2VnbWVudCBpcyBvbi4NCi0gICAgdW5zaWduZWQgYzoxOyAgICAgICAgIC8vVHJ1ZSBpZiB0aGUgYyBzZWdtZW50IGlzIG9uLg0KLSAgICB1bnNpZ25lZCBkOjE7ICAgICAgICAgLy9UcnVlIGlmIHRoZSBkIHNlZ21lbnQgaXMgb24uDQotICAgIHVuc2lnbmVkIGU6MTsgICAgICAgICAvL1RydWUgaWYgdGhlIGUgc2VnbWVudCBpcyBvbi4NCi0gICAgdW5zaWduZWQgZjoxOyAgICAgICAgIC8vVHJ1ZSBpZiB0aGUgZiBzZWdtZW50IGlzIG9uLg0KLSAgICB1bnNpZ25lZCBnOjE7ICAgICAgICAgLy9UcnVlIGlmIHRoZSBnIHNlZ21lbnQgaXMgb24uDQotICAgIHVuc2lnbmVkIHJlc2VydmVkOjI1OyAvL1RoaXMgZWxlbWVudCBpcyByZXNlcnZlZC4NCi19IExDRFNlZ21lbnRzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExlYXJuQ2FsaWJyYXRpb25PcHRpb25zX3N0cnVjdCB7DQotICAgIENhbGlicmF0aW9uTW9kZSBtb2RlOyAgICAgICAvL1NwZWNpZmllcyB0aGUgdHlwZSBvZiBhbGdvcml0aG0geW91IHdhbnQgdG8gdXNlIHRvIHJlZHVjZSBkaXN0b3J0aW9uIGluIHlvdXIgaW1hZ2UuDQotICAgIFNjYWxpbmdNZXRob2QgICBtZXRob2Q7ICAgICAvL0RlZmluZXMgdGhlIHNjYWxpbmcgbWV0aG9kIGNvcnJlY3Rpb24gZnVuY3Rpb25zIHVzZSB0byBjb3JyZWN0IHRoZSBpbWFnZS4NCi0gICAgQ2FsaWJyYXRpb25ST0kgIHJvaTsgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBST0kgY29ycmVjdGlvbiBmdW5jdGlvbnMgdXNlIHdoZW4gY29ycmVjdGluZyBhbiBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgIGxlYXJuTWFwOyAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIGlmIHlvdSB3YW50IHRoZSBmdW5jdGlvbiB0byBjYWxjdWxhdGUgYW5kIHN0b3JlIGFuIGVycm9yIG1hcCBkdXJpbmcgdGhlIGxlYXJuaW5nIHByb2Nlc3MuDQotICAgIGludCAgICAgICAgICAgICBsZWFyblRhYmxlOyAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSBpZiB5b3Ugd2FudCB0aGUgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGFuZCBzdG9yZSB0aGUgY29ycmVjdGlvbiB0YWJsZS4NCi19IExlYXJuQ2FsaWJyYXRpb25PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExlYXJuQ29sb3JQYXR0ZXJuT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBMZWFybmluZ01vZGUgICAgICBsZWFybk1vZGU7ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGludmFyaWFuY2UgbW9kZSB0aGUgZnVuY3Rpb24gdXNlcyB3aGVuIGxlYXJuaW5nIHRoZSBwYXR0ZXJuLg0KLSAgICBJbWFnZUZlYXR1cmVNb2RlICBmZWF0dXJlTW9kZTsgICAgICAgLy9TcGVjaWZpZXMgdGhlIGZlYXR1cmVzIHRoZSBmdW5jdGlvbiB1c2VzIHdoZW4gbGVhcm5pbmcgdGhlIGNvbG9yIHBhdHRlcm4uDQotICAgIGludCAgICAgICAgICAgICAgIHRocmVzaG9sZDsgICAgICAgICAvL1NwZWNpZmllcyB0aGUgc2F0dXJhdGlvbiB0aHJlc2hvbGQgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0d28gY29sb3JzIHRoYXQgaGF2ZSB0aGUgc2FtZSBodWUgdmFsdWVzLg0KLSAgICBDb2xvcklnbm9yZU1vZGUgICBpZ25vcmVNb2RlOyAgICAgICAgLy9TcGVjaWZpZXMgd2hldGhlciB0aGUgZnVuY3Rpb24gZXhjbHVkZXMgY2VydGFpbiBjb2xvcnMgZnJvbSB0aGUgY29sb3IgZmVhdHVyZXMgb2YgdGhlIHRlbXBsYXRlIGltYWdlLg0KLSAgICBDb2xvckluZm9ybWF0aW9uKiBjb2xvcnNUb0lnbm9yZTsgICAgLy9BbiBhcnJheSBvZiBDb2xvckluZm9ybWF0aW9uIHN0cnVjdHVyZXMgcHJvdmlkaW5nIGEgc2V0IG9mIGNvbG9ycyB0byBleGNsdWRlIGZyb20gdGhlIGNvbG9yIGZlYXR1cmVzIG9mIHRoZSB0ZW1wbGF0ZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgbnVtQ29sb3JzVG9JZ25vcmU7IC8vVGhlIG51bWJlciBvZiBDb2xvckluZm9ybWF0aW9uIHN0cnVjdHVyZXMgaW4gdGhlIGNvbG9yc1RvSWdub3JlIGFycmF5Lg0KLX0gTGVhcm5Db2xvclBhdHRlcm5PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExpbmVfc3RydWN0IHsNCi0gICAgUG9pbnQgc3RhcnQ7IC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lLg0KLSAgICBQb2ludCBlbmQ7ICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBsaW5lLg0KLX0gTGluZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBMaW5lYXJBdmVyYWdlc19zdHJ1Y3Qgew0KLSAgICBmbG9hdCogY29sdW1uQXZlcmFnZXM7ICAgICAgLy9BbiBhcnJheSBjb250YWluaW5nIHRoZSBtZWFuIHBpeGVsIHZhbHVlIG9mIGVhY2ggY29sdW1uLg0KLSAgICBpbnQgICAgY29sdW1uQ291bnQ7ICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBjb2x1bW5BdmVyYWdlcyBhcnJheS4NCi0gICAgZmxvYXQqIHJvd0F2ZXJhZ2VzOyAgICAgICAgIC8vQW4gYXJyYXkgY29udGFpbmluZyB0aGUgbWVhbiBwaXhlbCB2YWx1ZSBvZiBlYWNoIHJvdy4NCi0gICAgaW50ICAgIHJvd0NvdW50OyAgICAgICAgICAgIC8vVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcm93QXZlcmFnZXMgYXJyYXkuDQotICAgIGZsb2F0KiByaXNpbmdEaWFnQXZlcmFnZXM7ICAvL0FuIGFycmF5IGNvbnRhaW5pbmcgdGhlIG1lYW4gcGl4ZWwgdmFsdWUgb2YgZWFjaCBkaWFnb25hbCBydW5uaW5nIGZyb20gdGhlIGxvd2VyIGxlZnQgdG8gdGhlIHVwcGVyIHJpZ2h0IG9mIHRoZSBpbnNwZWN0ZWQgYXJlYSBvZiB0aGUgaW1hZ2UuDQotICAgIGludCAgICByaXNpbmdEaWFnQ291bnQ7ICAgICAvL1RoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHJpc2luZ0RpYWdBdmVyYWdlcyBhcnJheS4NCi0gICAgZmxvYXQqIGZhbGxpbmdEaWFnQXZlcmFnZXM7IC8vQW4gYXJyYXkgY29udGFpbmluZyB0aGUgbWVhbiBwaXhlbCB2YWx1ZSBvZiBlYWNoIGRpYWdvbmFsIHJ1bm5pbmcgZnJvbSB0aGUgdXBwZXIgbGVmdCB0byB0aGUgbG93ZXIgcmlnaHQgb2YgdGhlIGluc3BlY3RlZCBhcmVhIG9mIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgIGZhbGxpbmdEaWFnQ291bnQ7ICAgIC8vVGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZmFsbGluZ0RpYWdBdmVyYWdlcyBhcnJheS4NCi19IExpbmVhckF2ZXJhZ2VzOw0KLQ0KLXR5cGVkZWYgc3RydWN0IExpbmVQcm9maWxlX3N0cnVjdCB7DQotICAgIGZsb2F0KiBwcm9maWxlRGF0YTsgLy9BbiBhcnJheSBjb250YWluaW5nIHRoZSB2YWx1ZSBvZiBlYWNoIHBpeGVsIGluIHRoZSBsaW5lLg0KLSAgICBSZWN0ICAgYm91bmRpbmdCb3g7IC8vVGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBvZiB0aGUgbGluZS4NCi0gICAgZmxvYXQgIG1pbjsgICAgICAgICAvL1RoZSBzbWFsbGVzdCBwaXhlbCB2YWx1ZSBpbiB0aGUgbGluZSBwcm9maWxlLg0KLSAgICBmbG9hdCAgbWF4OyAgICAgICAgIC8vVGhlIGxhcmdlc3QgcGl4ZWwgdmFsdWUgaW4gdGhlIGxpbmUgcHJvZmlsZS4NCi0gICAgZmxvYXQgIG1lYW47ICAgICAgICAvL1RoZSBtZWFuIHZhbHVlIG9mIHRoZSBwaXhlbHMgaW4gdGhlIGxpbmUgcHJvZmlsZS4NCi0gICAgZmxvYXQgIHN0ZERldjsgICAgICAvL1RoZSBzdGFuZGFyZCBkZXZpYXRpb24gb2YgdGhlIGxpbmUgcHJvZmlsZS4NCi0gICAgaW50ICAgIGRhdGFDb3VudDsgICAvL1RoZSBzaXplIG9mIHRoZSBwcm9maWxlRGF0YSBhcnJheS4NCi19IExpbmVQcm9maWxlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IE1hdGNoQ29sb3JQYXR0ZXJuT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBNYXRjaGluZ01vZGUgICAgICAgIG1hdGNoTW9kZTsgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBtZXRob2QgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgdGhlIGNvbG9yIHBhdHRlcm4gaW4gdGhlIGltYWdlLg0KLSAgICBJbWFnZUZlYXR1cmVNb2RlICAgIGZlYXR1cmVNb2RlOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBmZWF0dXJlcyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciB0aGUgY29sb3IgcGF0dGVybiBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgbWluQ29udHJhc3Q7ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gY29udHJhc3QgZXhwZWN0ZWQgaW4gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIHN1YnBpeGVsQWNjdXJhY3k7ICAgIC8vU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gcmV0dXJuIGFyZWFzIGluIHRoZSBpbWFnZSB0aGF0IG1hdGNoIHRoZSBwYXR0ZXJuIGFyZWEgd2l0aCBzdWJwaXhlbCBhY2N1cmFjeS4NCi0gICAgUm90YXRpb25BbmdsZVJhbmdlKiBhbmdsZVJhbmdlczsgICAgICAgICAvL0FuIGFycmF5IG9mIGFuZ2xlIHJhbmdlcywgaW4gZGVncmVlcywgd2hlcmUgZWFjaCByYW5nZSBzcGVjaWZpZXMgaG93IG11Y2ggeW91IGV4cGVjdCB0aGUgcGF0dGVybiB0byBiZSByb3RhdGVkIGluIHRoZSBpbWFnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1SYW5nZXM7ICAgICAgICAgICAvL051bWJlciBvZiBhbmdsZSByYW5nZXMgaW4gdGhlIGFuZ2xlUmFuZ2VzIGFycmF5Lg0KLSAgICBkb3VibGUgICAgICAgICAgICAgIGNvbG9yV2VpZ2h0OyAgICAgICAgIC8vRGV0ZXJtaW5lcyB0aGUgcGVyY2VudCBjb250cmlidXRpb24gb2YgdGhlIGNvbG9yIHNjb3JlIHRvIHRoZSBmaW5hbCBjb2xvciBwYXR0ZXJuIG1hdGNoaW5nIHNjb3JlLg0KLSAgICBDb2xvclNlbnNpdGl2aXR5ICAgIHNlbnNpdGl2aXR5OyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBzZW5zaXRpdml0eSBvZiB0aGUgY29sb3IgaW5mb3JtYXRpb24gaW4gdGhlIGltYWdlLg0KLSAgICBTZWFyY2hTdHJhdGVneSAgICAgIHN0cmF0ZWd5OyAgICAgICAgICAgIC8vU3BlY2lmaWVzIGhvdyB0aGUgY29sb3IgZmVhdHVyZXMgb2YgdGhlIGltYWdlIGFyZSB1c2VkIGR1cmluZyB0aGUgc2VhcmNoIHBoYXNlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIG51bU1hdGNoZXNSZXF1ZXN0ZWQ7IC8vTnVtYmVyIG9mIHZhbGlkIG1hdGNoZXMgZXhwZWN0ZWQuDQotICAgIGZsb2F0ICAgICAgICAgICAgICAgbWluTWF0Y2hTY29yZTsgICAgICAgLy9UaGUgbWluaW11bSBzY29yZSBhIG1hdGNoIGNhbiBoYXZlIGZvciB0aGUgZnVuY3Rpb24gdG8gY29uc2lkZXIgdGhlIG1hdGNoIHZhbGlkLg0KLX0gTWF0Y2hDb2xvclBhdHRlcm5PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEhpc3RvZ3JhbVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBpbnQqICBoaXN0b2dyYW07ICAgICAgLy9BbiBhcnJheSBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2YgcGl4ZWxzIHRoYXQgZmVsbCBpbnRvIGVhY2ggY2xhc3MuDQotICAgIGludCAgIGhpc3RvZ3JhbUNvdW50OyAvL1RoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGhpc3RvZ3JhbSBhcnJheS4NCi0gICAgZmxvYXQgbWluOyAgICAgICAgICAgIC8vVGhlIHNtYWxsZXN0IHBpeGVsIHZhbHVlIHRoYXQgdGhlIGZ1bmN0aW9uIGNsYXNzaWZpZWQuDQotICAgIGZsb2F0IG1heDsgICAgICAgICAgICAvL1RoZSBsYXJnZXN0IHBpeGVsIHZhbHVlIHRoYXQgdGhlIGZ1bmN0aW9uIGNsYXNzaWZpZWQuDQotICAgIGZsb2F0IHN0YXJ0OyAgICAgICAgICAvL1RoZSBzbWFsbGVzdCBwaXhlbCB2YWx1ZSB0aGF0IGZlbGwgaW50byB0aGUgZmlyc3QgY2xhc3MuDQotICAgIGZsb2F0IHdpZHRoOyAgICAgICAgICAvL1RoZSBzaXplIG9mIGVhY2ggY2xhc3MuDQotICAgIGZsb2F0IG1lYW47ICAgICAgICAgICAvL1RoZSBtZWFuIHZhbHVlIG9mIHRoZSBwaXhlbHMgdGhhdCB0aGUgZnVuY3Rpb24gY2xhc3NpZmllZC4NCi0gICAgZmxvYXQgc3RkRGV2OyAgICAgICAgIC8vVGhlIHN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgcGl4ZWxzIHRoYXQgdGhlIGZ1bmN0aW9uIGNsYXNzaWZpZWQuDQotICAgIGludCAgIG51bVBpeGVsczsgICAgICAvL1RoZSBudW1iZXIgb2YgcGl4ZWxzIHRoYXQgdGhlIGZ1bmN0aW9uIGNsYXNzaWZpZWQuDQotfSBIaXN0b2dyYW1SZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQXJjSW5mb19zdHJ1Y3Qgew0KLSAgICBSZWN0ICAgYm91bmRpbmdCb3g7IC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUgYXJjLg0KLSAgICBkb3VibGUgc3RhcnRBbmdsZTsgIC8vVGhlIGNvdW50ZXJjbG9ja3dpc2UgYW5nbGUgZnJvbSB0aGUgeC1heGlzIGluIGRlZ3JlZXMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcmMuDQotICAgIGRvdWJsZSBlbmRBbmdsZTsgICAgLy9UaGUgY291bnRlcmNsb2Nrd2lzZSBhbmdsZSBmcm9tIHRoZSB4LWF4aXMgaW4gZGVncmVlcyB0byB0aGUgZW5kIG9mIHRoZSBhcmMuDQotfSBBcmNJbmZvOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEF4aXNSZXBvcnRfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBvcmlnaW47ICAgICAgICAgICAvL1RoZSBvcmlnaW4gb2YgdGhlIGNvb3JkaW5hdGUgc3lzdGVtLCB3aGljaCBpcyB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSB0d28gYXhlcyBvZiB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0uDQotICAgIFBvaW50RmxvYXQgbWFpbkF4aXNFbmQ7ICAgICAgLy9UaGUgZW5kIG9mIHRoZSBtYWluIGF4aXMsIHdoaWNoIGlzIHRoZSByZXN1bHQgb2YgdGhlIGNvbXB1dGF0aW9uIG9mIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIG1haW4gYXhpcyB3aXRoIHRoZSByZWN0YW5ndWxhciBzZWFyY2ggYXJlYS4NCi0gICAgUG9pbnRGbG9hdCBzZWNvbmRhcnlBeGlzRW5kOyAvL1RoZSBlbmQgb2YgdGhlIHNlY29uZGFyeSBheGlzLCB3aGljaCBpcyB0aGUgcmVzdWx0IG9mIHRoZSBjb21wdXRhdGlvbiBvZiB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSBzZWNvbmRhcnkgYXhpcyB3aXRoIHRoZSByZWN0YW5ndWxhciBzZWFyY2ggYXJlYS4NCi19IEF4aXNSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQmFyY29kZUluZm9fc3RydWN0IHsNCi0gICAgY29uc3QgY2hhciogb3V0cHV0U3RyaW5nOyAgICAvL0Egc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGRlY29kZWQgYmFyY29kZSBkYXRhLg0KLSAgICBpbnQgICAgICAgICBzaXplOyAgICAgICAgICAgIC8vVGhlIHNpemUgb2YgdGhlIG91dHB1dCBzdHJpbmcuDQotICAgIGNoYXIgICAgICAgIG91dHB1dENoYXIxOyAgICAgLy9UaGUgY29udGVudHMgb2YgdGhpcyBjaGFyYWN0ZXIgZGVwZW5kIG9uIHRoZSBiYXJjb2RlIHR5cGUuDQotICAgIGNoYXIgICAgICAgIG91dHB1dENoYXIyOyAgICAgLy9UaGUgY29udGVudHMgb2YgdGhpcyBjaGFyYWN0ZXIgZGVwZW5kIG9uIHRoZSBiYXJjb2RlIHR5cGUuDQotICAgIGRvdWJsZSAgICAgIGNvbmZpZGVuY2VMZXZlbDsgLy9BIHF1YWxpdHkgbWVhc3VyZSBvZiB0aGUgZGVjb2RlZCBiYXJjb2RlIHJhbmdpbmcgZnJvbSAwIHRvIDEwMCwgd2l0aCAxMDAgYmVpbmcgdGhlIGJlc3QuDQotICAgIEJhcmNvZGVUeXBlIHR5cGU7ICAgICAgICAgICAgLy9UaGUgdHlwZSBvZiBiYXJjb2RlLg0KLX0gQmFyY29kZUluZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgQkNHT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBmbG9hdCBicmlnaHRuZXNzOyAvL0FkanVzdHMgdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGltYWdlLg0KLSAgICBmbG9hdCBjb250cmFzdDsgICAvL0FkanVzdHMgdGhlIGNvbnRyYXN0IG9mIHRoZSBpbWFnZS4NCi0gICAgZmxvYXQgZ2FtbWE7ICAgICAgLy9QZXJmb3JtcyBnYW1tYSBjb3JyZWN0aW9uLg0KLX0gQkNHT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBCZXN0Q2lyY2xlX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgY2VudGVyOyAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBjZW50ZXIgb2YgdGhlIGNpcmNsZS4NCi0gICAgZG91YmxlICAgICByYWRpdXM7ICAgIC8vVGhlIHJhZGl1cyBvZiB0aGUgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIGFyZWE7ICAgICAgLy9UaGUgYXJlYSBvZiB0aGUgY2lyY2xlLg0KLSAgICBkb3VibGUgICAgIHBlcmltZXRlcjsgLy9UaGUgbGVuZ3RoIG9mIHRoZSBwZXJpbWV0ZXIgb2YgdGhlIGNpcmNsZS4NCi0gICAgZG91YmxlICAgICBlcnJvcjsgICAgIC8vUmVwcmVzZW50cyB0aGUgbGVhc3Qgc3F1YXJlIGVycm9yIG9mIHRoZSBmaXR0ZWQgY2lyY2xlIHRvIHRoZSBlbnRpcmUgc2V0IG9mIHBvaW50cy4NCi19IEJlc3RDaXJjbGU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQmVzdEVsbGlwc2Vfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBjZW50ZXI7ICAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgY2VudGVyIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBQb2ludEZsb2F0IG1ham9yQXhpc1N0YXJ0OyAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBzdGFydCBvZiB0aGUgbWFqb3IgYXhpcyBvZiB0aGUgZWxsaXBzZS4NCi0gICAgUG9pbnRGbG9hdCBtYWpvckF4aXNFbmQ7ICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBtYWpvciBheGlzIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBQb2ludEZsb2F0IG1pbm9yQXhpc1N0YXJ0OyAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBzdGFydCBvZiB0aGUgbWlub3IgYXhpcyBvZiB0aGUgZWxsaXBzZS4NCi0gICAgUG9pbnRGbG9hdCBtaW5vckF4aXNFbmQ7ICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBtaW5vciBheGlzIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIGFyZWE7ICAgICAgICAgICAvL1RoZSBhcmVhIG9mIHRoZSBlbGxpcHNlLg0KLSAgICBkb3VibGUgICAgIHBlcmltZXRlcjsgICAgICAvL1RoZSBsZW5ndGggb2YgdGhlIHBlcmltZXRlciBvZiB0aGUgZWxsaXBzZS4NCi19IEJlc3RFbGxpcHNlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IEJlc3RMaW5lX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgICBzdGFydDsgICAgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBzdGFydCBvZiB0aGUgbGluZS4NCi0gICAgUG9pbnRGbG9hdCAgIGVuZDsgICAgICAgICAgIC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGVuZCBvZiB0aGUgbGluZS4NCi0gICAgTGluZUVxdWF0aW9uIGVxdWF0aW9uOyAgICAgIC8vRGVmaW5lcyB0aGUgdGhyZWUgY29lZmZpY2llbnRzIG9mIHRoZSBlcXVhdGlvbiBvZiB0aGUgYmVzdCBmaXQgbGluZS4NCi0gICAgaW50ICAgICAgICAgIHZhbGlkOyAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIGZ1bmN0aW9uIGFjaGlldmVkIHRoZSBtaW5pbXVtIHNjb3JlIHdpdGhpbiB0aGUgbnVtYmVyIG9mIGFsbG93ZWQgcmVmaW5lbWVudCBpdGVyYXRpb25zIGFuZCBGQUxTRSBpZiB0aGUgZnVuY3Rpb24gZGlkIG5vdCBhY2hpZXZlIHRoZSBtaW5pbXVtIHNjb3JlLg0KLSAgICBkb3VibGUgICAgICAgZXJyb3I7ICAgICAgICAgLy9SZXByZXNlbnRzIHRoZSBsZWFzdCBzcXVhcmUgZXJyb3Igb2YgdGhlIGZpdHRlZCBsaW5lIHRvIHRoZSBlbnRpcmUgc2V0IG9mIHBvaW50cy4NCi0gICAgaW50KiAgICAgICAgIHBvaW50c1VzZWQ7ICAgIC8vQW4gYXJyYXkgb2YgdGhlIGluZGV4ZXMgZm9yIHRoZSBwb2ludHMgYXJyYXkgaW5kaWNhdGluZyB3aGljaCBwb2ludHMgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZml0IHRoZSBsaW5lLg0KLSAgICBpbnQgICAgICAgICAgbnVtUG9pbnRzVXNlZDsgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyB0aGUgZnVuY3Rpb24gdXNlZCB0byBmaXQgdGhlIGxpbmUuDQotfSBCZXN0TGluZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBCcm93c2VyT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICAgICAgICB3aWR0aDsgICAgICAgICAgIC8vVGhlIHdpZHRoIHRvIG1ha2UgdGhlIGJyb3dzZXIuDQotICAgIGludCAgICAgICAgICAgICAgIGhlaWdodDsgICAgICAgICAgLy9UaGUgaGVpZ2h0IHRvIG1ha2UgdGhlIGJyb3dzZXIgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgIGltYWdlc1BlckxpbmU7ICAgLy9UaGUgbnVtYmVyIG9mIGltYWdlcyB0byBwbGFjZSBvbiBhIHNpbmdsZSBsaW5lLg0KLSAgICBSR0JWYWx1ZSAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I7IC8vVGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJyb3dzZXIuDQotICAgIGludCAgICAgICAgICAgICAgIGZyYW1lU2l6ZTsgICAgICAgLy9TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbHMgd2l0aCB3aGljaCB0byBib3JkZXIgZWFjaCB0aHVtYm5haWwuDQotICAgIEJyb3dzZXJGcmFtZVN0eWxlIHN0eWxlOyAgICAgICAgICAgLy9UaGUgc3R5bGUgZm9yIHRoZSBmcmFtZSBhcm91bmQgZWFjaCB0aHVtYm5haWwuDQotICAgIGZsb2F0ICAgICAgICAgICAgIHJhdGlvOyAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIHdpZHRoIHRvIGhlaWdodCByYXRpbyBvZiBlYWNoIHRodW1ibmFpbC4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgZm9jdXNDb2xvcjsgICAgICAvL1RoZSBjb2xvciB0byB1c2UgdG8gZGlzcGxheSBmb2N1c2VkIGNlbGxzLg0KLX0gQnJvd3Nlck9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29vcmRpbmF0ZVN5c3RlbV9zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0ICAgICAgb3JpZ2luOyAgICAgICAgICAvL1RoZSBvcmlnaW4gb2YgdGhlIGNvb3JkaW5hdGUgc3lzdGVtLg0KLSAgICBmbG9hdCAgICAgICAgICAgYW5nbGU7ICAgICAgICAgICAvL1RoZSBhbmdsZSwgaW4gZGVncmVlcywgb2YgdGhlIHgtYXhpcyBvZiB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gcmVsYXRpdmUgdG8gdGhlIGltYWdlIHgtYXhpcy4NCi0gICAgQXhpc09yaWVudGF0aW9uIGF4aXNPcmllbnRhdGlvbjsgLy9UaGUgZGlyZWN0aW9uIG9mIHRoZSB5LWF4aXMgb2YgdGhlIGNvb3JkaW5hdGUgcmVmZXJlbmNlIHN5c3RlbS4NCi19IENvb3JkaW5hdGVTeXN0ZW07DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2FsaWJyYXRpb25JbmZvX3N0cnVjdCB7DQotICAgIGZsb2F0KiAgICAgICAgICAgICAgICAgIGVycm9yTWFwOyAgICAgICAvL1RoZSBlcnJvciBtYXAgZm9yIHRoZSBjYWxpYnJhdGlvbi4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgICAgbWFwQ29sdW1uczsgICAgIC8vVGhlIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBlcnJvciBtYXAuDQotICAgIGludCAgICAgICAgICAgICAgICAgICAgIG1hcFJvd3M7ICAgICAgICAvL1RoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZXJyb3IgbWFwLg0KLSAgICBST0kqICAgICAgICAgICAgICAgICAgICB1c2VyUm9pOyAgICAgICAgLy9TcGVjaWZpZXMgdGhlIFJPSSB0aGUgdXNlciBwcm92aWRlZCB3aGVuIGxlYXJuaW5nIHRoZSBjYWxpYnJhdGlvbi4NCi0gICAgUk9JKiAgICAgICAgICAgICAgICAgICAgY2FsaWJyYXRpb25Sb2k7IC8vU3BlY2lmaWVzIHRoZSBST0kgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgcmVnaW9uIG9mIHRoZSBpbWFnZSB3aGVyZSB0aGUgY2FsaWJyYXRpb24gaW5mb3JtYXRpb24gaXMgYWNjdXJhdGUuDQotICAgIExlYXJuQ2FsaWJyYXRpb25PcHRpb25zIG9wdGlvbnM7ICAgICAgICAvL1NwZWNpZmllcyB0aGUgY2FsaWJyYXRpb24gb3B0aW9ucyB0aGUgdXNlciBwcm92aWRlZCB3aGVuIGxlYXJuaW5nIHRoZSBjYWxpYnJhdGlvbi4NCi0gICAgR3JpZERlc2NyaXB0b3IgICAgICAgICAgZ3JpZDsgICAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSBzY2FsaW5nIGNvbnN0YW50cyBmb3IgdGhlIGltYWdlLg0KLSAgICBDb29yZGluYXRlU3lzdGVtICAgICAgICBzeXN0ZW07ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGZvciB0aGUgcmVhbCB3b3JsZCBjb29yZGluYXRlcy4NCi0gICAgUmFuZ2VGbG9hdCAgICAgICAgICAgICAgcmFuZ2U7ICAgICAgICAgIC8vVGhlIHJhbmdlIG9mIHRoZSBncmF5c2NhbGUgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBjaXJjbGVzIGluIHRoZSBncmlkIGltYWdlLg0KLSAgICBmbG9hdCAgICAgICAgICAgICAgICAgICBxdWFsaXR5OyAgICAgICAgLy9UaGUgcXVhbGl0eSBzY29yZSBvZiB0aGUgbGVhcm5pbmcgcHJvY2Vzcywgd2hpY2ggaXMgYSB2YWx1ZSBiZXR3ZWVuIDAtMTAwMC4NCi19IENhbGlicmF0aW9uSW5mbzsNCi0NCi10eXBlZGVmIHN0cnVjdCBDYWxpYnJhdGlvblBvaW50c19zdHJ1Y3Qgew0KLSAgICBQb2ludEZsb2F0KiBwaXhlbENvb3JkaW5hdGVzOyAgICAgLy9UaGUgYXJyYXkgb2YgcGl4ZWwgY29vcmRpbmF0ZXMuDQotICAgIFBvaW50RmxvYXQqIHJlYWxXb3JsZENvb3JkaW5hdGVzOyAvL1RoZSBhcnJheSBvZiBjb3JyZXNwb25kaW5nIHJlYWwtd29ybGQgY29vcmRpbmF0ZXMuDQotICAgIGludCAgICAgICAgIG51bUNvb3JkaW5hdGVzOyAgICAgICAvL1RoZSBudW1iZXIgb2YgY29vcmRpbmF0ZXMgaW4gYm90aCBvZiB0aGUgYXJyYXlzLg0KLX0gQ2FsaWJyYXRpb25Qb2ludHM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2FsaXBlck9wdGlvbnNfc3RydWN0IHsNCi0gICAgVHdvRWRnZVBvbGFyaXR5VHlwZSBwb2xhcml0eTsgICAgICAgICAgICAvL1NwZWNpZmllcyB0aGUgZWRnZSBwb2xhcml0eSBvZiB0aGUgZWRnZSBwYWlycy4NCi0gICAgZmxvYXQgICAgICAgICAgICAgICBzZXBhcmF0aW9uOyAgICAgICAgICAvL1RoZSBkaXN0YW5jZSBiZXR3ZWVuIGVkZ2UgcGFpcnMuDQotICAgIGZsb2F0ICAgICAgICAgICAgICAgc2VwYXJhdGlvbkRldmlhdGlvbjsgLy9TZXRzIHRoZSByYW5nZSBhcm91bmQgdGhlIHNlcGFyYXRpb24gdmFsdWUuDQotfSBDYWxpcGVyT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDYWxpcGVyUmVwb3J0X3N0cnVjdCB7DQotICAgIGZsb2F0ICAgICAgZWRnZTFDb250cmFzdDsgLy9UaGUgY29udHJhc3Qgb2YgdGhlIGZpcnN0IGVkZ2UuDQotICAgIFBvaW50RmxvYXQgZWRnZTFDb29yZDsgICAgLy9UaGUgY29vcmRpbmF0ZXMgb2YgdGhlIGZpcnN0IGVkZ2UuDQotICAgIGZsb2F0ICAgICAgZWRnZTJDb250cmFzdDsgLy9UaGUgY29udHJhc3Qgb2YgdGhlIHNlY29uZCBlZGdlLg0KLSAgICBQb2ludEZsb2F0IGVkZ2UyQ29vcmQ7ICAgIC8vVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBzZWNvbmQgZWRnZS4NCi0gICAgZmxvYXQgICAgICBzZXBhcmF0aW9uOyAgICAvL1RoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0d28gZWRnZXMuDQotICAgIGZsb2F0ICAgICAgcmVzZXJ2ZWQ7ICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgcmVzZXJ2ZWQuDQotfSBDYWxpcGVyUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IERyYXdUZXh0T3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBjaGFyICAgICAgICAgIGZvbnROYW1lWzMyXTsgIC8vVGhlIGZvbnQgbmFtZSB0byB1c2UuDQotICAgIGludCAgICAgICAgICAgZm9udFNpemU7ICAgICAgLy9UaGUgc2l6ZSBvZiB0aGUgZm9udC4NCi0gICAgaW50ICAgICAgICAgICBib2xkOyAgICAgICAgICAvL1NldCB0aGlzIHBhcmFtZXRlciB0byBUUlVFIHRvIGJvbGQgdGV4dC4NCi0gICAgaW50ICAgICAgICAgICBpdGFsaWM7ICAgICAgICAvL1NldCB0aGlzIHBhcmFtZXRlciB0byBUUlVFIHRvIGl0YWxpY2l6ZSB0ZXh0Lg0KLSAgICBpbnQgICAgICAgICAgIHVuZGVybGluZTsgICAgIC8vU2V0IHRoaXMgcGFyYW1ldGVyIHRvIFRSVUUgdG8gdW5kZXJsaW5lIHRleHQuDQotICAgIGludCAgICAgICAgICAgc3RyaWtlb3V0OyAgICAgLy9TZXQgdGhpcyBwYXJhbWV0ZXIgdG8gVFJVRSB0byBzdHJpa2VvdXQgdGV4dC4NCi0gICAgVGV4dEFsaWdubWVudCB0ZXh0QWxpZ25tZW50OyAvL1NldHMgdGhlIGFsaWdubWVudCBvZiB0ZXh0Lg0KLSAgICBGb250Q29sb3IgICAgIGZvbnRDb2xvcjsgICAgIC8vU2V0cyB0aGUgZm9udCBjb2xvci4NCi19IERyYXdUZXh0T3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDaXJjbGVSZXBvcnRfc3RydWN0IHsNCi0gICAgUG9pbnQgY2VudGVyOyAvL1RoZSBjb29yZGluYXRlIHBvaW50IG9mIHRoZSBjZW50ZXIgb2YgdGhlIGNpcmNsZS4NCi0gICAgaW50ICAgcmFkaXVzOyAvL1RoZSByYWRpdXMgb2YgdGhlIGNpcmNsZSwgaW4gcGl4ZWxzLg0KLSAgICBpbnQgICBhcmVhOyAgIC8vVGhlIGFyZWEgb2YgdGhlIGNpcmNsZSwgaW4gcGl4ZWxzLg0KLX0gQ2lyY2xlUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENsb3NlZENvbnRvdXJfc3RydWN0IHsNCi0gICAgUG9pbnQqIHBvaW50czsgICAgLy9UaGUgcG9pbnRzIHRoYXQgbWFrZSB1cCB0aGUgY2xvc2VkIGNvbnRvdXIuDQotICAgIGludCAgICBudW1Qb2ludHM7IC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGFycmF5Lg0KLX0gQ2xvc2VkQ29udG91cjsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb2xvckhpc3RvZ3JhbVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBIaXN0b2dyYW1SZXBvcnQgcGxhbmUxOyAvL1RoZSBoaXN0b2dyYW0gcmVwb3J0IG9mIHRoZSBmaXJzdCBjb2xvciBwbGFuZS4NCi0gICAgSGlzdG9ncmFtUmVwb3J0IHBsYW5lMjsgLy9UaGUgaGlzdG9ncmFtIHJlcG9ydCBvZiB0aGUgc2Vjb25kIHBsYW5lLg0KLSAgICBIaXN0b2dyYW1SZXBvcnQgcGxhbmUzOyAvL1RoZSBoaXN0b2dyYW0gcmVwb3J0IG9mIHRoZSB0aGlyZCBwbGFuZS4NCi19IENvbG9ySGlzdG9ncmFtUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbG9ySW5mb3JtYXRpb25fc3RydWN0IHsNCi0gICAgaW50ICAgICBpbmZvQ291bnQ7ICAvL1RoZSBzaXplIG9mIHRoZSBpbmZvIGFycmF5Lg0KLSAgICBpbnQgICAgIHNhdHVyYXRpb247IC8vVGhlIHNhdHVyYXRpb24gbGV2ZWwgdGhlIGZ1bmN0aW9uIHVzZXMgdG8gbGVhcm4gdGhlIGNvbG9yIGluZm9ybWF0aW9uLg0KLSAgICBkb3VibGUqIGluZm87ICAgICAgIC8vQW4gYXJyYXkgb2YgY29sb3IgaW5mb3JtYXRpb24gdGhhdCByZXByZXNlbnRzIHRoZSBjb2xvciBzcGVjdHJ1bSBhbmFseXNpcyBvZiBhIHJlZ2lvbiBvZiBhbiBpbWFnZSBpbiBhIGNvbXBhY3QgZm9ybS4NCi19IENvbG9ySW5mb3JtYXRpb247DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29tcGxleF9zdHJ1Y3Qgew0KLSAgICBmbG9hdCByOyAvL1RoZSByZWFsIHBhcnQgb2YgdGhlIHZhbHVlLg0KLSAgICBmbG9hdCBpOyAvL1RoZSBpbWFnaW5hcnkgcGFydCBvZiB0aGUgdmFsdWUuDQotfSBDb21wbGV4Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IENvbmNlbnRyaWNSYWtlUmVwb3J0X3N0cnVjdCB7DQotICAgIEFyY0luZm8qICAgICAgICAgICAgcmFrZUFyY3M7ICAgICAgICAgIC8vQW4gYXJyYXkgY29udGFpbmluZyB0aGUgbG9jYXRpb24gb2YgZWFjaCBjb25jZW50cmljIGFyYyBsaW5lIHVzZWQgZm9yIGVkZ2UgZGV0ZWN0aW9uLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIG51bUFyY3M7ICAgICAgICAgICAvL1RoZSBudW1iZXIgb2YgYXJjIGxpbmVzIGluIHRoZSByYWtlQXJjcyBhcnJheS4NCi0gICAgUG9pbnRGbG9hdCogICAgICAgICBmaXJzdEVkZ2VzOyAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiBhbGwgZWRnZXMgZGV0ZWN0ZWQgYXMgZmlyc3QgZWRnZXMuDQotICAgIGludCAgICAgICAgICAgICAgICAgbnVtRmlyc3RFZGdlczsgICAgIC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGZpcnN0IGVkZ2VzIGFycmF5Lg0KLSAgICBQb2ludEZsb2F0KiAgICAgICAgIGxhc3RFZGdlczsgICAgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIGFsbCBlZGdlcyBkZXRlY3RlZCBhcyBsYXN0IGVkZ2VzLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIG51bUxhc3RFZGdlczsgICAgICAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBsYXN0IGVkZ2VzIGFycmF5Lg0KLSAgICBFZGdlTG9jYXRpb25SZXBvcnQqIGFsbEVkZ2VzOyAgICAgICAgICAvL0FuIGFycmF5IG9mIHJlcG9ydHMgZGVzY3JpYmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGVkZ2VzIGxvY2F0ZWQgYnkgZWFjaCBjb25jZW50cmljIHJha2UgYXJjIGxpbmUuDQotICAgIGludCogICAgICAgICAgICAgICAgbGluZXNXaXRoRWRnZXM7ICAgIC8vQW4gYXJyYXkgb2YgaW5kaWNlcyBpbnRvIHRoZSByYWtlQXJjcyBhcnJheSBpbmRpY2F0aW5nIHRoZSBjb25jZW50cmljIHJha2UgYXJjIGxpbmVzIG9uIHdoaWNoIHRoZSBmdW5jdGlvbiBkZXRlY3RlZCBhdCBsZWFzdCBvbmUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1MaW5lc1dpdGhFZGdlczsgLy9UaGUgbnVtYmVyIG9mIGNvbmNlbnRyaWMgcmFrZSBhcmMgbGluZXMgYWxvbmcgd2hpY2ggdGhlIGZ1bmN0aW9uIGRldGVjdGVkIGVkZ2VzLg0KLX0gQ29uY2VudHJpY1Jha2VSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29uc3RydWN0Uk9JT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICB3aW5kb3dOdW1iZXI7IC8vVGhlIHdpbmRvdyBudW1iZXIgb2YgdGhlIGltYWdlIHdpbmRvdy4NCi0gICAgY29uc3QgY2hhciogd2luZG93VGl0bGU7ICAvL1NwZWNpZmllcyB0aGUgbWVzc2FnZSBzdHJpbmcgdGhhdCB0aGUgZnVuY3Rpb24gZGlzcGxheXMgaW4gdGhlIHRpdGxlIGJhciBvZiB0aGUgd2luZG93Lg0KLSAgICBQYWxldHRlVHlwZSB0eXBlOyAgICAgICAgIC8vVGhlIHBhbGV0dGUgdHlwZSB0byB1c2UuDQotICAgIFJHQlZhbHVlKiAgIHBhbGV0dGU7ICAgICAgLy9JZiB0eXBlIGlzIElNQVFfUEFMRVRURV9VU0VSLCB0aGlzIGFycmF5IGlzIHRoZSBwYWxldHRlIG9mIGNvbG9ycyB0byB1c2Ugd2l0aCB0aGUgd2luZG93Lg0KLSAgICBpbnQgICAgICAgICBudW1Db2xvcnM7ICAgIC8vSWYgdHlwZSBpcyBJTUFRX1BBTEVUVEVfVVNFUiwgdGhpcyBlbGVtZW50IGlzIHRoZSBudW1iZXIgb2YgY29sb3JzIGluIHRoZSBwYWxldHRlIGFycmF5Lg0KLX0gQ29uc3RydWN0Uk9JT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb250b3VySW5mb19zdHJ1Y3Qgew0KLSAgICBDb250b3VyVHlwZSB0eXBlOyAgICAgICAgIC8vVGhlIGNvbnRvdXIgdHlwZS4NCi0gICAgdW5zaWduZWQgICAgbnVtUG9pbnRzOyAgICAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIHRoYXQgbWFrZSB1cCB0aGUgY29udG91ci4NCi0gICAgUG9pbnQqICAgICAgcG9pbnRzOyAgICAgICAvL1RoZSBwb2ludHMgZGVzY3JpYmluZyB0aGUgY29udG91ci4NCi0gICAgUkdCVmFsdWUgICAgY29udG91ckNvbG9yOyAvL1RoZSBjb250b3VyIGNvbG9yLg0KLX0gQ29udG91ckluZm87DQotDQotdHlwZWRlZiB1bmlvbiBDb250b3VyVW5pb25fdW5pb24gew0KLSAgICBQb2ludCogICAgICAgICBwb2ludDsgICAgICAgICAgIC8vVXNlIHRoaXMgbWVtYmVyIHdoZW4gdGhlIGNvbnRvdXIgaXMgb2YgdHlwZSBJTUFRX1BPSU5ULg0KLSAgICBMaW5lKiAgICAgICAgICBsaW5lOyAgICAgICAgICAgIC8vVXNlIHRoaXMgbWVtYmVyIHdoZW4gdGhlIGNvbnRvdXIgaXMgb2YgdHlwZSBJTUFRX0xJTkUuDQotICAgIFJlY3QqICAgICAgICAgIHJlY3Q7ICAgICAgICAgICAgLy9Vc2UgdGhpcyBtZW1iZXIgd2hlbiB0aGUgY29udG91ciBpcyBvZiB0eXBlIElNQVFfUkVDVC4NCi0gICAgUmVjdCogICAgICAgICAgb3ZhbEJvdW5kaW5nQm94OyAvL1VzZSB0aGlzIG1lbWJlciB3aGVuIHRoZSBjb250b3VyIGlzIG9mIHR5cGUgSU1BUV9PVkFMLg0KLSAgICBDbG9zZWRDb250b3VyKiBjbG9zZWRDb250b3VyOyAgIC8vVXNlIHRoaXMgbWVtYmVyIHdoZW4gdGhlIGNvbnRvdXIgaXMgb2YgdHlwZSBJTUFRX0NMT1NFRF9DT05UT1VSLg0KLSAgICBPcGVuQ29udG91ciogICBvcGVuQ29udG91cjsgICAgIC8vVXNlIHRoaXMgbWVtYmVyIHdoZW4gdGhlIGNvbnRvdXIgaXMgb2YgdHlwZSBJTUFRX09QRU5fQ09OVE9VUi4NCi0gICAgQW5udWx1cyogICAgICAgYW5udWx1czsgICAgICAgICAvL1VzZSB0aGlzIG1lbWJlciB3aGVuIHRoZSBjb250b3VyIGlzIG9mIHR5cGUgSU1BUV9BTk5VTFVTLg0KLSAgICBSb3RhdGVkUmVjdCogICByb3RhdGVkUmVjdDsgICAgIC8vVXNlIHRoaXMgbWVtYmVyIHdoZW4gdGhlIGNvbnRvdXIgaXMgb2YgdHlwZSBJTUFRX1JPVEFURURfUkVDVC4NCi19IENvbnRvdXJVbmlvbjsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb250b3VySW5mbzJfc3RydWN0IHsNCi0gICAgQ29udG91clR5cGUgIHR5cGU7ICAgICAgLy9UaGUgY29udG91ciB0eXBlLg0KLSAgICBSR0JWYWx1ZSAgICAgY29sb3I7ICAgICAvL1RoZSBjb250b3VyIGNvbG9yLg0KLSAgICBDb250b3VyVW5pb24gc3RydWN0dXJlOyAvL1RoZSBpbmZvcm1hdGlvbiBuZWNlc3NhcnkgdG8gZGVzY3JpYmUgdGhlIGNvbnRvdXIgaW4gY29vcmRpbmF0ZSBzcGFjZS4NCi19IENvbnRvdXJJbmZvMjsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb250b3VyUG9pbnRfc3RydWN0IHsNCi0gICAgZG91YmxlIHg7ICAgICAgICAgICAgIC8vVGhlIHgtY29vcmRpbmF0ZSB2YWx1ZSBpbiB0aGUgaW1hZ2UuDQotICAgIGRvdWJsZSB5OyAgICAgICAgICAgICAvL1RoZSB5LWNvb3JkaW5hdGUgdmFsdWUgaW4gdGhlIGltYWdlLg0KLSAgICBkb3VibGUgY3VydmF0dXJlOyAgICAgLy9UaGUgY2hhbmdlIGluIHNsb3BlIGF0IHRoaXMgZWRnZSBwb2ludCBvZiB0aGUgc2VnbWVudC4NCi0gICAgZG91YmxlIHhEaXNwbGFjZW1lbnQ7IC8vVGhlIHggZGlzcGxhY2VtZW50IG9mIHRoZSBjdXJyZW50IGVkZ2UgcGl4ZWwgZnJvbSBhIGN1YmljIHNwbGluZSBmaXQgb2YgdGhlIGN1cnJlbnQgZWRnZSBzZWdtZW50Lg0KLSAgICBkb3VibGUgeURpc3BsYWNlbWVudDsgLy9UaGUgeSBkaXNwbGFjZW1lbnQgb2YgdGhlIGN1cnJlbnQgZWRnZSBwaXhlbCBmcm9tIGEgY3ViaWMgc3BsaW5lIGZpdCBvZiB0aGUgY3VycmVudCBlZGdlIHNlZ21lbnQuDQotfSBDb250b3VyUG9pbnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ29vcmRpbmF0ZVRyYW5zZm9ybV9zdHJ1Y3Qgew0KLSAgICBQb2ludCBpbml0aWFsT3JpZ2luOyAvL1RoZSBvcmlnaW4gb2YgdGhlIGluaXRpYWwgY29vcmRpbmF0ZSBzeXN0ZW0uDQotICAgIGZsb2F0IGluaXRpYWxBbmdsZTsgIC8vVGhlIGFuZ2xlLCBpbiBkZWdyZWVzLCBvZiB0aGUgeC1heGlzIG9mIHRoZSBpbml0aWFsIGNvb3JkaW5hdGUgc3lzdGVtIHJlbGF0aXZlIHRvIHRoZSBpbWFnZSB4LWF4aXMuDQotICAgIFBvaW50IGZpbmFsT3JpZ2luOyAgIC8vVGhlIG9yaWdpbiBvZiB0aGUgZmluYWwgY29vcmRpbmF0ZSBzeXN0ZW0uDQotICAgIGZsb2F0IGZpbmFsQW5nbGU7ICAgIC8vVGhlIGFuZ2xlLCBpbiBkZWdyZWVzLCBvZiB0aGUgeC1heGlzIG9mIHRoZSBmaW5hbCBjb29yZGluYXRlIHN5c3RlbSByZWxhdGl2ZSB0byB0aGUgaW1hZ2UgeC1heGlzLg0KLX0gQ29vcmRpbmF0ZVRyYW5zZm9ybTsNCi0NCi10eXBlZGVmIHN0cnVjdCBDb29yZGluYXRlVHJhbnNmb3JtMl9zdHJ1Y3Qgew0KLSAgICBDb29yZGluYXRlU3lzdGVtIHJlZmVyZW5jZVN5c3RlbTsgICAvL0RlZmluZXMgdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGZvciBpbnB1dCBjb29yZGluYXRlcy4NCi0gICAgQ29vcmRpbmF0ZVN5c3RlbSBtZWFzdXJlbWVudFN5c3RlbTsgLy9EZWZpbmVzIHRoZSBjb29yZGluYXRlIHN5c3RlbSBpbiB3aGljaCB0aGUgZnVuY3Rpb24gc2hvdWxkIHBlcmZvcm0gbWVhc3VyZW1lbnRzLg0KLX0gQ29vcmRpbmF0ZVRyYW5zZm9ybTI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgQ2FubnlPcHRpb25zX3N0cnVjdCB7DQotICAgIGZsb2F0IHNpZ21hOyAgICAgICAgICAvL1RoZSBzaWdtYSBvZiB0aGUgR2F1c3NpYW4gc21vb3RoaW5nIGZpbHRlciB0aGF0IHRoZSBmdW5jdGlvbiBhcHBsaWVzIHRvIHRoZSBpbWFnZSBiZWZvcmUgZWRnZSBkZXRlY3Rpb24uDQotICAgIGZsb2F0IHVwcGVyVGhyZXNob2xkOyAvL1RoZSB1cHBlciBmcmFjdGlvbiBvZiBwaXhlbCB2YWx1ZXMgaW4gdGhlIGltYWdlIGZyb20gd2hpY2ggdGhlIGZ1bmN0aW9uIGNob29zZXMgYSBzZWVkIG9yIHN0YXJ0aW5nIHBvaW50IG9mIGFuIGVkZ2Ugc2VnbWVudC4NCi0gICAgZmxvYXQgbG93ZXJUaHJlc2hvbGQ7IC8vVGhlIGZ1bmN0aW9uIG11bHRpcGxpZXMgdGhpcyB2YWx1ZSBieSB1cHBlclRocmVzaG9sZCB0byBkZXRlcm1pbmUgdGhlIGxvd2VyIHRocmVzaG9sZCBmb3IgYWxsIHRoZSBwaXhlbHMgaW4gYW4gZWRnZSBzZWdtZW50Lg0KLSAgICBpbnQgICB3aW5kb3dTaXplOyAgICAgLy9UaGUgd2luZG93IHNpemUgb2YgdGhlIEdhdXNzaWFuIGZpbHRlciB0aGF0IHRoZSBmdW5jdGlvbiBhcHBsaWVzIHRvIHRoZSBpbWFnZS4NCi19IENhbm55T3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBSYW5nZV9zdHJ1Y3Qgew0KLSAgICBpbnQgbWluVmFsdWU7IC8vVGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLg0KLSAgICBpbnQgbWF4VmFsdWU7IC8vVGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIHJhbmdlLg0KLX0gUmFuZ2U7DQotDQotdHlwZWRlZiBzdHJ1Y3QgVXNlclBvaW50U3ltYm9sX3N0cnVjdCB7DQotICAgIGludCAgY29sczsgICAvL051bWJlciBvZiBjb2x1bW5zIGluIHRoZSBzeW1ib2wuDQotICAgIGludCAgcm93czsgICAvL051bWJlciBvZiByb3dzIGluIHRoZSBzeW1ib2wuDQotICAgIGludCogcGl4ZWxzOyAvL1RoZSBwaXhlbHMgb2YgdGhlIHN5bWJvbC4NCi19IFVzZXJQb2ludFN5bWJvbDsNCi0NCi10eXBlZGVmIHN0cnVjdCBWaWV3M0RPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICAgICAgIHNpemVSZWR1Y3Rpb247IC8vQSBkaXZpc29yIHRoZSBmdW5jdGlvbiB1c2VzIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIGZpbmFsIGhlaWdodCBhbmQgd2lkdGggb2YgdGhlIDNEIGltYWdlLg0KLSAgICBpbnQgICAgICAgICBtYXhIZWlnaHQ7ICAgICAvL0RlZmluZXMgdGhlIG1heGltdW0gaGVpZ2h0IG9mIGEgcGl4ZWwgZnJvbSB0aGUgaW1hZ2Ugc291cmNlIGRyYXduIGluIDNELg0KLSAgICBEaXJlY3Rpb24zRCBkaXJlY3Rpb247ICAgICAvL0RlZmluZXMgdGhlIDNEIG9yaWVudGF0aW9uLg0KLSAgICBmbG9hdCAgICAgICBhbHBoYTsgICAgICAgICAvL0RldGVybWluZXMgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIGhvcml6b250YWwgYW5kIHRoZSBiYXNlbGluZS4NCi0gICAgZmxvYXQgICAgICAgYmV0YTsgICAgICAgICAgLy9EZXRlcm1pbmVzIHRoZSBhbmdsZSBiZXR3ZWVuIHRoZSBob3Jpem9udGFsIGFuZCB0aGUgc2Vjb25kIGJhc2VsaW5lLg0KLSAgICBpbnQgICAgICAgICBib3JkZXI7ICAgICAgICAvL0RlZmluZXMgdGhlIGJvcmRlciBzaXplLg0KLSAgICBpbnQgICAgICAgICBiYWNrZ3JvdW5kOyAgICAvL0RlZmluZXMgdGhlIGJhY2tncm91bmQgY29sb3IuDQotICAgIFBsYW5lM0QgICAgIHBsYW5lOyAgICAgICAgIC8vSW5kaWNhdGVzIHRoZSB2aWV3IGEgZnVuY3Rpb24gdXNlcyB0byBzaG93IGNvbXBsZXggaW1hZ2VzLg0KLX0gVmlldzNET3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBNYXRjaFBhdHRlcm5PcHRpb25zX3N0cnVjdCB7DQotICAgIE1hdGNoaW5nTW9kZSAgICAgICAgbW9kZTsgICAgICAgICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1ldGhvZCB0byB1c2Ugd2hlbiBsb29raW5nIGZvciB0aGUgcGF0dGVybiBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgbWluQ29udHJhc3Q7ICAgICAgICAgLy9TcGVjaWZpZXMgdGhlIG1pbmltdW0gY29udHJhc3QgZXhwZWN0ZWQgaW4gdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIHN1YnBpeGVsQWNjdXJhY3k7ICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIHJldHVybiBhcmVhcyBpbiB0aGUgaW1hZ2UgdGhhdCBtYXRjaCB0aGUgcGF0dGVybiBhcmVhIHdpdGggc3VicGl4ZWwgYWNjdXJhY3kuDQotICAgIFJvdGF0aW9uQW5nbGVSYW5nZSogYW5nbGVSYW5nZXM7ICAgICAgICAgLy9BbiBhcnJheSBvZiBhbmdsZSByYW5nZXMsIGluIGRlZ3JlZXMsIHdoZXJlIGVhY2ggcmFuZ2Ugc3BlY2lmaWVzIGhvdyBtdWNoIHlvdSBleHBlY3QgdGhlIHBhdHRlcm4gdG8gYmUgcm90YXRlZCBpbiB0aGUgaW1hZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgbnVtUmFuZ2VzOyAgICAgICAgICAgLy9OdW1iZXIgb2YgYW5nbGUgcmFuZ2VzIGluIHRoZSBhbmdsZVJhbmdlcyBhcnJheS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1NYXRjaGVzUmVxdWVzdGVkOyAvL051bWJlciBvZiB2YWxpZCBtYXRjaGVzIGV4cGVjdGVkLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIG1hdGNoRmFjdG9yOyAgICAgICAgIC8vQ29udHJvbHMgdGhlIG51bWJlciBvZiBwb3RlbnRpYWwgbWF0Y2hlcyB0aGF0IHRoZSBmdW5jdGlvbiBleGFtaW5lcy4NCi0gICAgZmxvYXQgICAgICAgICAgICAgICBtaW5NYXRjaFNjb3JlOyAgICAgICAvL1RoZSBtaW5pbXVtIHNjb3JlIGEgbWF0Y2ggY2FuIGhhdmUgZm9yIHRoZSBmdW5jdGlvbiB0byBjb25zaWRlciB0aGUgbWF0Y2ggdmFsaWQuDQotfSBNYXRjaFBhdHRlcm5PcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFRJRkZGaWxlT3B0aW9uc19zdHJ1Y3Qgew0KLSAgICBpbnQgICAgICAgICAgICAgICAgIHJvd3NQZXJTdHJpcDsgICAgLy9JbmRpY2F0ZXMgdGhlIG51bWJlciBvZiByb3dzIHRoYXQgdGhlIGZ1bmN0aW9uIHdyaXRlcyBwZXIgc3RyaXAuDQotICAgIFBob3RvbWV0cmljTW9kZSAgICAgcGhvdG9JbnRlcnA7ICAgICAvL0Rlc2lnbmF0ZXMgd2hpY2ggcGhvdG9tZXRyaWMgaW50ZXJwcmV0YXRpb24gdG8gdXNlLg0KLSAgICBUSUZGQ29tcHJlc3Npb25UeXBlIGNvbXByZXNzaW9uVHlwZTsgLy9JbmRpY2F0ZXMgdGhlIHR5cGUgb2YgY29tcHJlc3Npb24gdG8gdXNlIG9uIHRoZSBUSUZGIGZpbGUuDQotfSBUSUZGRmlsZU9wdGlvbnM7DQotDQotdHlwZWRlZiB1bmlvbiBDb2xvcl91bmlvbiB7DQotICAgIFJHQlZhbHVlIHJnYjsgICAgICAvL1RoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZGVzY3JpYmUgYSBjb2xvciBpbiB0aGUgUkdCIChSZWQsIEdyZWVuLCBhbmQgQmx1ZSkgY29sb3Igc3BhY2UuDQotICAgIEhTTFZhbHVlIGhzbDsgICAgICAvL1RoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZGVzY3JpYmUgYSBjb2xvciBpbiB0aGUgSFNMIChIdWUsIFNhdHVyYXRpb24sIGFuZCBMdW1pbmFuY2UpIGNvbG9yIHNwYWNlLg0KLSAgICBIU1ZWYWx1ZSBoc3Y7ICAgICAgLy9UaGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGRlc2NyaWJlIGEgY29sb3IgaW4gdGhlIEhTSSAoSHVlLCBTYXR1cmF0aW9uLCBhbmQgVmFsdWUpIGNvbG9yIHNwYWNlLg0KLSAgICBIU0lWYWx1ZSBoc2k7ICAgICAgLy9UaGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGRlc2NyaWJlIGEgY29sb3IgaW4gdGhlIEhTSSAoSHVlLCBTYXR1cmF0aW9uLCBhbmQgSW50ZW5zaXR5KSBjb2xvciBzcGFjZS4NCi0gICAgaW50ICAgICAgcmF3VmFsdWU7IC8vVGhlIGludGVnZXIgdmFsdWUgZm9yIHRoZSBkYXRhIGluIHRoZSBjb2xvciB1bmlvbi4NCi19IENvbG9yOw0KLQ0KLXR5cGVkZWYgdW5pb24gUGl4ZWxWYWx1ZV91bmlvbiB7DQotICAgIGZsb2F0ICAgICAgIGdyYXlzY2FsZTsgLy9BIGdyYXlzY2FsZSBwaXhlbCB2YWx1ZS4NCi0gICAgUkdCVmFsdWUgICAgcmdiOyAgICAgICAvL0EgUkdCIHBpeGVsIHZhbHVlLg0KLSAgICBIU0xWYWx1ZSAgICBoc2w7ICAgICAgIC8vQSBIU0wgcGl4ZWwgdmFsdWUuDQotICAgIENvbXBsZXggICAgIGNvbXBsZXg7ICAgLy9BIGNvbXBsZXggcGl4ZWwgdmFsdWUuDQotICAgIFJHQlU2NFZhbHVlIHJnYnU2NDsgICAgLy9BbiB1bnNpZ25lZCA2NC1iaXQgUkdCIHBpeGVsIHZhbHVlLg0KLX0gUGl4ZWxWYWx1ZTsNCi0NCi10eXBlZGVmIHN0cnVjdCBPcGVuQ29udG91cl9zdHJ1Y3Qgew0KLSAgICBQb2ludCogcG9pbnRzOyAgICAvL1RoZSBwb2ludHMgdGhhdCBtYWtlIHVwIHRoZSBvcGVuIGNvbnRvdXIuDQotICAgIGludCAgICBudW1Qb2ludHM7IC8vVGhlIG51bWJlciBvZiBwb2ludHMgaW4gdGhlIGFycmF5Lg0KLX0gT3BlbkNvbnRvdXI7DQotDQotdHlwZWRlZiBzdHJ1Y3QgT3ZlcmxheVRleHRPcHRpb25zX3N0cnVjdCB7DQotICAgIGNvbnN0IGNoYXIqICAgICAgICAgICBmb250TmFtZTsgICAgICAgICAgICAgICAgLy9UaGUgbmFtZSBvZiB0aGUgZm9udCB0byB1c2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgICBmb250U2l6ZTsgICAgICAgICAgICAgICAgLy9UaGUgc2l6ZSBvZiB0aGUgZm9udC4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgIGJvbGQ7ICAgICAgICAgICAgICAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byBib2xkIHRoZSB0ZXh0Lg0KLSAgICBpbnQgICAgICAgICAgICAgICAgICAgaXRhbGljOyAgICAgICAgICAgICAgICAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIGl0YWxpY2l6ZSB0aGUgdGV4dC4NCi0gICAgaW50ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZTsgICAgICAgICAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSB0byB1bmRlcmxpbmUgdGhlIHRleHQuDQotICAgIGludCAgICAgICAgICAgICAgICAgICBzdHJpa2VvdXQ7ICAgICAgICAgICAgICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gc3RyaWtlb3V0IHRoZSB0ZXh0Lg0KLSAgICBUZXh0QWxpZ25tZW50ICAgICAgICAgaG9yaXpvbnRhbFRleHRBbGlnbm1lbnQ7IC8vU2V0cyB0aGUgYWxpZ25tZW50IG9mIHRoZSB0ZXh0Lg0KLSAgICBWZXJ0aWNhbFRleHRBbGlnbm1lbnQgdmVydGljYWxUZXh0QWxpZ25tZW50OyAgIC8vU2V0cyB0aGUgdmVydGljYWwgYWxpZ25tZW50IGZvciB0aGUgdGV4dC4NCi0gICAgUkdCVmFsdWUgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjsgICAgICAgICAvL1NldHMgdGhlIGNvbG9yIGZvciB0aGUgdGV4dCBiYWNrZ3JvdW5kIHBpeGVscy4NCi0gICAgZG91YmxlICAgICAgICAgICAgICAgIGFuZ2xlOyAgICAgICAgICAgICAgICAgICAvL1RoZSBjb3VudGVyY2xvY2t3aXNlIGFuZ2xlLCBpbiBkZWdyZWVzLCBvZiB0aGUgdGV4dCByZWxhdGl2ZSB0byB0aGUgeC1heGlzLg0KLX0gT3ZlcmxheVRleHRPcHRpb25zOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWFfc3RydWN0IHsNCi0gICAgTWVhc3VyZW1lbnRWYWx1ZSBwYXJhbWV0ZXI7IC8vVGhlIG1vcnBob2xvZ2ljYWwgbWVhc3VyZW1lbnQgdGhhdCB0aGUgZnVuY3Rpb24gdXNlcyBmb3IgZmlsdGVyaW5nLg0KLSAgICBmbG9hdCAgICAgICAgICAgIGxvd2VyOyAgICAgLy9UaGUgbG93ZXIgYm91bmQgb2YgdGhlIGNyaXRlcmlhIHJhbmdlLg0KLSAgICBmbG9hdCAgICAgICAgICAgIHVwcGVyOyAgICAgLy9UaGUgdXBwZXIgYm91bmQgb2YgdGhlIGNyaXRlcmlhIHJhbmdlLg0KLSAgICBpbnQgICAgICAgICAgICAgIGV4Y2x1ZGU7ICAgLy9TZXQgdGhpcyBlbGVtZW50IHRvIFRSVUUgdG8gaW5kaWNhdGUgdGhhdCBhIG1hdGNoIG9jY3VycyB3aGVuIHRoZSB2YWx1ZSBpcyBvdXRzaWRlIHRoZSBjcml0ZXJpYSByYW5nZS4NCi19IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWE7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUGFydGljbGVSZXBvcnRfc3RydWN0IHsNCi0gICAgaW50ICAgYXJlYTsgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHBpeGVscyBpbiB0aGUgcGFydGljbGUuDQotICAgIGZsb2F0IGNhbGlicmF0ZWRBcmVhOyAgIC8vVGhlIHNpemUgb2YgdGhlIHBhcnRpY2xlLCBjYWxpYnJhdGVkIHRvIHRoZSBjYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiBvZiB0aGUgaW1hZ2UuDQotICAgIGZsb2F0IHBlcmltZXRlcjsgICAgICAgIC8vVGhlIGxlbmd0aCBvZiB0aGUgcGVyaW1ldGVyLCBjYWxpYnJhdGVkIHRvIHRoZSBjYWxpYnJhdGlvbiBpbmZvcm1hdGlvbiBvZiB0aGUgaW1hZ2UuDQotICAgIGludCAgIG51bUhvbGVzOyAgICAgICAgIC8vVGhlIG51bWJlciBvZiBob2xlcyBpbiB0aGUgcGFydGljbGUuDQotICAgIGludCAgIGFyZWFPZkhvbGVzOyAgICAgIC8vVGhlIHRvdGFsIHN1cmZhY2UgYXJlYSwgaW4gcGl4ZWxzLCBvZiBhbGwgdGhlIGhvbGVzIGluIGEgcGFydGljbGUuDQotICAgIGZsb2F0IHBlcmltZXRlck9mSG9sZXM7IC8vVGhlIGxlbmd0aCBvZiB0aGUgcGVyaW1ldGVyIG9mIGFsbCB0aGUgaG9sZXMgaW4gdGhlIHBhcnRpY2xlIGNhbGlicmF0ZWQgdG8gdGhlIGNhbGlicmF0aW9uIGluZm9ybWF0aW9uIG9mIHRoZSBpbWFnZS4NCi0gICAgUmVjdCAgYm91bmRpbmdCb3g7ICAgICAgLy9UaGUgc21hbGxlc3QgcmVjdGFuZ2xlIHRoYXQgZW5jbG9zZXMgdGhlIHBhcnRpY2xlLg0KLSAgICBmbG9hdCBzaWdtYVg7ICAgICAgICAgICAvL1RoZSBzdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeC1heGlzLg0KLSAgICBmbG9hdCBzaWdtYVk7ICAgICAgICAgICAvL1RoZSBzdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeS1heGlzLg0KLSAgICBmbG9hdCBzaWdtYVhYOyAgICAgICAgICAvL1RoZSBzdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeC1heGlzLCBzcXVhcmVkLg0KLSAgICBmbG9hdCBzaWdtYVlZOyAgICAgICAgICAvL1RoZSBzdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeS1heGlzLCBzcXVhcmVkLg0KLSAgICBmbG9hdCBzaWdtYVhZOyAgICAgICAgICAvL1RoZSBzdW0gb2YgdGhlIHBhcnRpY2xlIHBpeGVscyBvbiB0aGUgeC1heGlzIGFuZCB5LWF4aXMuDQotICAgIGludCAgIGxvbmdlc3RMZW5ndGg7ICAgIC8vVGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBob3Jpem9udGFsIGxpbmUgc2VnbWVudC4NCi0gICAgUG9pbnQgbG9uZ2VzdFBvaW50OyAgICAgLy9UaGUgbG9jYXRpb24gb2YgdGhlIGxlZnRtb3N0IHBpeGVsIG9mIHRoZSBsb25nZXN0IHNlZ21lbnQgaW4gdGhlIHBhcnRpY2xlLg0KLSAgICBpbnQgICBwcm9qZWN0aW9uWDsgICAgICAvL1RoZSBsZW5ndGggb2YgdGhlIHBhcnRpY2xlIHdoZW4gcHJvamVjdGVkIG9udG8gdGhlIHgtYXhpcy4NCi0gICAgaW50ICAgcHJvamVjdGlvblk7ICAgICAgLy9UaGUgbGVuZ3RoIG9mIHRoZSBwYXJ0aWNsZSB3aGVuIHByb2plY3RlZCBvbnRvIHRoZSB5LWF4aXMuDQotICAgIGludCAgIGNvbm5lY3Q4OyAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIFRSVUUgaWYgdGhlIGZ1bmN0aW9uIHVzZWQgY29ubmVjdGl2aXR5LTggdG8gZGV0ZXJtaW5lIGlmIHBhcnRpY2xlcyBhcmUgdG91Y2hpbmcuDQotfSBQYXJ0aWNsZVJlcG9ydDsNCi0NCi10eXBlZGVmIHN0cnVjdCBQYXR0ZXJuTWF0Y2hfc3RydWN0IHsNCi0gICAgUG9pbnRGbG9hdCBwb3NpdGlvbjsgIC8vVGhlIGxvY2F0aW9uIG9mIHRoZSBjZW50ZXIgb2YgdGhlIG1hdGNoLg0KLSAgICBmbG9hdCAgICAgIHJvdGF0aW9uOyAgLy9UaGUgcm90YXRpb24gb2YgdGhlIG1hdGNoIHJlbGF0aXZlIHRvIHRoZSB0ZW1wbGF0ZSBpbWFnZSwgaW4gZGVncmVlcy4NCi0gICAgZmxvYXQgICAgICBzY2FsZTsgICAgIC8vVGhlIHNpemUgb2YgdGhlIG1hdGNoIHJlbGF0aXZlIHRvIHRoZSBzaXplIG9mIHRoZSB0ZW1wbGF0ZSBpbWFnZSwgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZS4NCi0gICAgZmxvYXQgICAgICBzY29yZTsgICAgIC8vVGhlIGFjY3VyYWN5IG9mIHRoZSBtYXRjaC4NCi0gICAgUG9pbnRGbG9hdCBjb3JuZXJbNF07IC8vQW4gYXJyYXkgb2YgZm91ciBwb2ludHMgZGVzY3JpYmluZyB0aGUgcmVjdGFuZ2xlIHN1cnJvdW5kaW5nIHRoZSB0ZW1wbGF0ZSBpbWFnZS4NCi19IFBhdHRlcm5NYXRjaDsNCi0NCi10eXBlZGVmIHN0cnVjdCBRdWFudGlmeURhdGFfc3RydWN0IHsNCi0gICAgZmxvYXQgbWVhbjsgICAgICAgICAgIC8vVGhlIG1lYW4gdmFsdWUgb2YgdGhlIHBpeGVsIHZhbHVlcy4NCi0gICAgZmxvYXQgc3RkRGV2OyAgICAgICAgIC8vVGhlIHN0YW5kYXJkIGRldmlhdGlvbiBvZiB0aGUgcGl4ZWwgdmFsdWVzLg0KLSAgICBmbG9hdCBtaW47ICAgICAgICAgICAgLy9UaGUgc21hbGxlc3QgcGl4ZWwgdmFsdWUuDQotICAgIGZsb2F0IG1heDsgICAgICAgICAgICAvL1RoZSBsYXJnZXN0IHBpeGVsIHZhbHVlLg0KLSAgICBmbG9hdCBjYWxpYnJhdGVkQXJlYTsgLy9UaGUgYXJlYSwgY2FsaWJyYXRlZCB0byB0aGUgY2FsaWJyYXRpb24gaW5mb3JtYXRpb24gb2YgdGhlIGltYWdlLg0KLSAgICBpbnQgICBwaXhlbEFyZWE7ICAgICAgLy9UaGUgYXJlYSwgaW4gbnVtYmVyIG9mIHBpeGVscy4NCi0gICAgZmxvYXQgcmVsYXRpdmVTaXplOyAgIC8vVGhlIHByb3BvcnRpb24sIGV4cHJlc3NlZCBhcyBhIHBlcmNlbnRhZ2UsIG9mIHRoZSBhc3NvY2lhdGVkIHJlZ2lvbiByZWxhdGl2ZSB0byB0aGUgd2hvbGUgaW1hZ2UuDQotfSBRdWFudGlmeURhdGE7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUXVhbnRpZnlSZXBvcnRfc3RydWN0IHsNCi0gICAgUXVhbnRpZnlEYXRhICBnbG9iYWw7ICAgICAgLy9TdGF0aXN0aWNhbCBkYXRhIG9mIHRoZSB3aG9sZSBpbWFnZS4NCi0gICAgUXVhbnRpZnlEYXRhKiByZWdpb25zOyAgICAgLy9BbiBhcnJheSBvZiBRdWFudGlmeURhdGEgc3RydWN0dXJlcyBjb250YWluaW5nIHN0YXRpc3RpY2FsIGRhdGEgb2YgZWFjaCByZWdpb24gb2YgdGhlIGltYWdlLg0KLSAgICBpbnQgICAgICAgICAgIHJlZ2lvbkNvdW50OyAvL1RoZSBudW1iZXIgb2YgcmVnaW9ucy4NCi19IFF1YW50aWZ5UmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IFJha2VPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICAgICAgICAgICAgICAgdGhyZXNob2xkOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSB0aHJlc2hvbGQgdmFsdWUgZm9yIHRoZSBjb250cmFzdCBvZiB0aGUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICB3aWR0aDsgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHBpeGVscyB0aGF0IHRoZSBmdW5jdGlvbiBhdmVyYWdlcyB0byBmaW5kIHRoZSBjb250cmFzdCBhdCBlaXRoZXIgc2lkZSBvZiB0aGUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBzdGVlcG5lc3M7ICAgICAgICAgLy9UaGUgc3BhbiwgaW4gcGl4ZWxzLCBvZiB0aGUgc2xvcGUgb2YgdGhlIGVkZ2UgcHJvamVjdGVkIGFsb25nIHRoZSBwYXRoIHNwZWNpZmllZCBieSB0aGUgaW5wdXQgcG9pbnRzLg0KLSAgICBpbnQgICAgICAgICAgICAgICAgIHN1YnNhbXBsaW5nUmF0aW87ICAvL1NwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHBpeGVscyB0aGF0IHNlcGFyYXRlIHR3byBjb25zZWN1dGl2ZSBzZWFyY2ggbGluZXMuDQotICAgIEludGVycG9sYXRpb25NZXRob2Qgc3VicGl4ZWxUeXBlOyAgICAgIC8vVGhlIG1ldGhvZCBmb3IgaW50ZXJwb2xhdGluZy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBzdWJwaXhlbERpdmlzaW9uczsgLy9UaGUgbnVtYmVyIG9mIHNhbXBsZXMgdGhlIGZ1bmN0aW9uIG9idGFpbnMgZnJvbSBhIHBpeGVsLg0KLX0gUmFrZU9wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgUmFrZVJlcG9ydF9zdHJ1Y3Qgew0KLSAgICBMaW5lRmxvYXQqICAgICAgICAgIHJha2VMaW5lczsgICAgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIGVhY2ggb2YgdGhlIHJha2UgbGluZXMgdXNlZCBieSB0aGUgZnVuY3Rpb24uDQotICAgIGludCAgICAgICAgICAgICAgICAgbnVtUmFrZUxpbmVzOyAgICAgIC8vVGhlIG51bWJlciBvZiBsaW5lcyBpbiB0aGUgcmFrZUxpbmVzIGFycmF5Lg0KLSAgICBQb2ludEZsb2F0KiAgICAgICAgIGZpcnN0RWRnZXM7ICAgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIGFsbCBlZGdlcyBkZXRlY3RlZCBhcyBmaXJzdCBlZGdlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICBudW1GaXJzdEVkZ2VzOyAgICAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgZmlyc3RFZGdlcyBhcnJheS4NCi0gICAgUG9pbnRGbG9hdCogICAgICAgICBsYXN0RWRnZXM7ICAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiBhbGwgZWRnZXMgZGV0ZWN0ZWQgYXMgbGFzdCBlZGdlcy4NCi0gICAgdW5zaWduZWQgaW50ICAgICAgICBudW1MYXN0RWRnZXM7ICAgICAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgbGFzdEVkZ2VzIGFycmF5Lg0KLSAgICBFZGdlTG9jYXRpb25SZXBvcnQqIGFsbEVkZ2VzOyAgICAgICAgICAvL0FuIGFycmF5IG9mIHJlcG9ydHMgZGVzY3JpYmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGVkZ2VzIGxvY2F0ZWQgYnkgZWFjaCByYWtlIGxpbmUuDQotICAgIGludCogICAgICAgICAgICAgICAgbGluZXNXaXRoRWRnZXM7ICAgIC8vQW4gYXJyYXkgb2YgaW5kaWNlcyBpbnRvIHRoZSByYWtlTGluZXMgYXJyYXkgaW5kaWNhdGluZyB0aGUgcmFrZSBsaW5lcyBvbiB3aGljaCB0aGUgZnVuY3Rpb24gZGV0ZWN0ZWQgYXQgbGVhc3Qgb25lIGVkZ2UuDQotICAgIGludCAgICAgICAgICAgICAgICAgbnVtTGluZXNXaXRoRWRnZXM7IC8vVGhlIG51bWJlciBvZiByYWtlIGxpbmVzIGFsb25nIHdoaWNoIHRoZSBmdW5jdGlvbiBkZXRlY3RlZCBlZGdlcy4NCi19IFJha2VSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgVHJhbnNmb3JtUmVwb3J0X3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQqIHBvaW50czsgICAgICAvL0FuIGFycmF5IG9mIHRyYW5zZm9ybWVkIGNvb3JkaW5hdGVzLg0KLSAgICBpbnQqICAgICAgICB2YWxpZFBvaW50czsgLy9BbiBhcnJheSBvZiB2YWx1ZXMgdGhhdCBkZXNjcmliZSB0aGUgdmFsaWRpdHkgb2YgZWFjaCBvZiB0aGUgY29vcmRpbmF0ZXMgYWNjb3JkaW5nIHRvIHRoZSByZWdpb24gb2YgaW50ZXJlc3QgeW91IGNhbGlicmF0ZWQgdXNpbmcgZWl0aGVyIGltYXFMZWFybkNhbGlicmF0aW9uR3JpZCgpIG9yIGltYXFMZWFybkNhbGlicmF0aW9uUG9pbnRzKCkuDQotICAgIGludCAgICAgICAgIG51bVBvaW50czsgICAvL1RoZSBsZW5ndGggb2YgYm90aCB0aGUgcG9pbnRzIGFycmF5IGFuZCB0aGUgdmFsaWRQb2ludHMgYXJyYXkuDQotfSBUcmFuc2Zvcm1SZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU2hhcGVSZXBvcnRfc3RydWN0IHsNCi0gICAgUmVjdCAgIGNvb3JkaW5hdGVzOyAvL1RoZSBib3VuZGluZyByZWN0YW5nbGUgb2YgdGhlIG9iamVjdC4NCi0gICAgUG9pbnQgIGNlbnRyb2lkOyAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIHRoZSBjZW50cm9pZCBvZiB0aGUgb2JqZWN0Lg0KLSAgICBpbnQgICAgc2l6ZTsgICAgICAgIC8vVGhlIHNpemUsIGluIHBpeGVscywgb2YgdGhlIG9iamVjdC4NCi0gICAgZG91YmxlIHNjb3JlOyAgICAgICAvL0EgdmFsdWUgcmFuZ2luZyBiZXR3ZWVuIDEgYW5kIDEsMDAwIHRoYXQgc3BlY2lmaWVzIGhvdyBzaW1pbGFyIHRoZSBvYmplY3QgaW4gdGhlIGltYWdlIGlzIHRvIHRoZSB0ZW1wbGF0ZS4NCi19IFNoYXBlUmVwb3J0Ow0KLQ0KLXR5cGVkZWYgc3RydWN0IE1ldGVyQXJjX3N0cnVjdCB7DQotICAgIFBvaW50RmxvYXQgIG5lZWRsZUJhc2U7ICAgICAgICAgIC8vVGhlIGNvb3JkaW5hdGUgbG9jYXRpb24gb2YgdGhlIGJhc2Ugb2YgdGhlIG1ldGVyIG5lZWRsZS4NCi0gICAgUG9pbnRGbG9hdCogYXJjQ29vcmRQb2ludHM7ICAgICAgLy9BbiBhcnJheSBvZiBwb2ludHMgZGVzY3JpYmluZyB0aGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiB0aGUgbWV0ZXIgYXJjLg0KLSAgICBpbnQgICAgICAgICBudW1PZkFyY0Nvb3JkUG9pbnRzOyAvL1RoZSBudW1iZXIgb2YgcG9pbnRzIGluIHRoZSBhcmNDb29yZFBvaW50cyBhcnJheS4NCi0gICAgaW50ICAgICAgICAgbmVlZGxlQ29sb3I7ICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgVFJVRSB3aGVuIHRoZSBtZXRlciBoYXMgYSBsaWdodC1jb2xvcmVkIG5lZWRsZSBvbiBhIGRhcmsgYmFja2dyb3VuZC4NCi19IE1ldGVyQXJjOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFRocmVzaG9sZERhdGFfc3RydWN0IHsNCi0gICAgZmxvYXQgcmFuZ2VNaW47ICAgIC8vVGhlIGxvd2VyIGJvdW5kYXJ5IG9mIHRoZSByYW5nZSB0byBrZWVwLg0KLSAgICBmbG9hdCByYW5nZU1heDsgICAgLy9UaGUgdXBwZXIgYm91bmRhcnkgb2YgdGhlIHJhbmdlIHRvIGtlZXAuDQotICAgIGZsb2F0IG5ld1ZhbHVlOyAgICAvL0lmIHVzZU5ld1ZhbHVlIGlzIFRSVUUsIG5ld1ZhbHVlIGlzIHRoZSByZXBsYWNlbWVudCB2YWx1ZSBmb3IgcGl4ZWxzIHdpdGhpbiB0aGUgcmFuZ2UuDQotICAgIGludCAgIHVzZU5ld1ZhbHVlOyAvL0lmIFRSVUUsIHRoZSBmdW5jdGlvbiBzZXRzIHBpeGVsIHZhbHVlcyB3aXRoaW4gW3JhbmdlTWluLCByYW5nZU1heF0gdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBpbiBuZXdWYWx1ZS4NCi19IFRocmVzaG9sZERhdGE7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3RydWN0dXJpbmdFbGVtZW50X3N0cnVjdCB7DQotICAgIGludCAgbWF0cml4Q29sczsgLy9OdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgbWF0cml4Lg0KLSAgICBpbnQgIG1hdHJpeFJvd3M7IC8vTnVtYmVyIG9mIHJvd3MgaW4gdGhlIG1hdHJpeC4NCi0gICAgaW50ICBoZXhhOyAgICAgICAvL1NldCB0aGlzIGVsZW1lbnQgdG8gVFJVRSBpZiB5b3Ugc3BlY2lmeSBhIGhleGFnb25hbCBzdHJ1Y3R1cmluZyBlbGVtZW50IGluIGtlcm5lbC4NCi0gICAgaW50KiBrZXJuZWw7ICAgICAvL1RoZSB2YWx1ZXMgb2YgdGhlIHN0cnVjdHVyaW5nIGVsZW1lbnQuDQotfSBTdHJ1Y3R1cmluZ0VsZW1lbnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3Bva2VSZXBvcnRfc3RydWN0IHsNCi0gICAgTGluZUZsb2F0KiAgICAgICAgICBzcG9rZUxpbmVzOyAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiBlYWNoIG9mIHRoZSBzcG9rZSBsaW5lcyB1c2VkIGJ5IHRoZSBmdW5jdGlvbi4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1TcG9rZUxpbmVzOyAgICAgLy9UaGUgbnVtYmVyIG9mIGxpbmVzIGluIHRoZSBzcG9rZUxpbmVzIGFycmF5Lg0KLSAgICBQb2ludEZsb2F0KiAgICAgICAgIGZpcnN0RWRnZXM7ICAgICAgICAvL1RoZSBjb29yZGluYXRlIGxvY2F0aW9uIG9mIGFsbCBlZGdlcyBkZXRlY3RlZCBhcyBmaXJzdCBlZGdlcy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1GaXJzdEVkZ2VzOyAgICAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgZmlyc3RFZGdlcyBhcnJheS4NCi0gICAgUG9pbnRGbG9hdCogICAgICAgICBsYXN0RWRnZXM7ICAgICAgICAgLy9UaGUgY29vcmRpbmF0ZSBsb2NhdGlvbiBvZiBhbGwgZWRnZXMgZGV0ZWN0ZWQgYXMgbGFzdCBlZGdlcy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1MYXN0RWRnZXM7ICAgICAgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgbGFzdEVkZ2VzIGFycmF5Lg0KLSAgICBFZGdlTG9jYXRpb25SZXBvcnQqIGFsbEVkZ2VzOyAgICAgICAgICAvL0FuIGFycmF5IG9mIHJlcG9ydHMgZGVzY3JpYmluZyB0aGUgbG9jYXRpb24gb2YgdGhlIGVkZ2VzIGxvY2F0ZWQgYnkgZWFjaCBzcG9rZSBsaW5lLg0KLSAgICBpbnQqICAgICAgICAgICAgICAgIGxpbmVzV2l0aEVkZ2VzOyAgICAvL0FuIGFycmF5IG9mIGluZGljZXMgaW50byB0aGUgc3Bva2VMaW5lcyBhcnJheSBpbmRpY2F0aW5nIHRoZSByYWtlIGxpbmVzIG9uIHdoaWNoIHRoZSBmdW5jdGlvbiBkZXRlY3RlZCBhdCBsZWFzdCBvbmUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBudW1MaW5lc1dpdGhFZGdlczsgLy9UaGUgbnVtYmVyIG9mIHNwb2tlIGxpbmVzIGFsb25nIHdoaWNoIHRoZSBmdW5jdGlvbiBkZXRlY3RzIGVkZ2VzLg0KLX0gU3Bva2VSZXBvcnQ7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU2ltcGxlRWRnZU9wdGlvbnNfc3RydWN0IHsNCi0gICAgTGV2ZWxUeXBlICAgdHlwZTsgICAgICAgLy9EZXRlcm1pbmVzIGhvdyB0aGUgZnVuY3Rpb24gZXZhbHVhdGVzIHRoZSB0aHJlc2hvbGQgYW5kIGh5c3RlcmVzaXMgdmFsdWVzLg0KLSAgICBpbnQgICAgICAgICB0aHJlc2hvbGQ7ICAvL1RoZSBwaXhlbCB2YWx1ZSBhdCB3aGljaCBhbiBlZGdlIG9jY3Vycy4NCi0gICAgaW50ICAgICAgICAgaHlzdGVyZXNpczsgLy9BIHZhbHVlIHRoYXQgaGVscHMgZGV0ZXJtaW5lIGVkZ2VzIGluIG5vaXN5IGltYWdlcy4NCi0gICAgRWRnZVByb2Nlc3MgcHJvY2VzczsgICAgLy9EZXRlcm1pbmVzIHdoaWNoIGVkZ2VzIHRoZSBmdW5jdGlvbiBsb29rcyBmb3IuDQotICAgIGludCAgICAgICAgIHN1YnBpeGVsOyAgIC8vU2V0IHRoaXMgZWxlbWVudCB0byBUUlVFIHRvIGZpbmQgZWRnZXMgd2l0aCBzdWJwaXhlbCBhY2N1cmFjeSBieSBpbnRlcnBvbGF0aW5nIGJldHdlZW4gcG9pbnRzIHRvIGZpbmQgdGhlIGNyb3NzaW5nIG9mIHRoZSBnaXZlbiB0aHJlc2hvbGQuDQotfSBTaW1wbGVFZGdlT3B0aW9uczsNCi0NCi10eXBlZGVmIHN0cnVjdCBTZWxlY3RQYXJ0aWNsZUNyaXRlcmlhX3N0cnVjdCB7DQotICAgIE1lYXN1cmVtZW50VmFsdWUgcGFyYW1ldGVyOyAvL1RoZSBtb3JwaG9sb2dpY2FsIG1lYXN1cmVtZW50IHRoYXQgdGhlIGZ1bmN0aW9uIHVzZXMgZm9yIGZpbHRlcmluZy4NCi0gICAgZmxvYXQgICAgICAgICAgICBsb3dlcjsgICAgIC8vVGhlIGxvd2VyIGJvdW5kYXJ5IG9mIHRoZSBjcml0ZXJpYSByYW5nZS4NCi0gICAgZmxvYXQgICAgICAgICAgICB1cHBlcjsgICAgIC8vVGhlIHVwcGVyIGJvdW5kYXJ5IG9mIHRoZSBjcml0ZXJpYSByYW5nZS4NCi19IFNlbGVjdFBhcnRpY2xlQ3JpdGVyaWE7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU2VnbWVudEluZm9fc3RydWN0IHsNCi0gICAgaW50ICAgICAgICAgICBudW1iZXJPZlBvaW50czsgLy9UaGUgbnVtYmVyIG9mIHBvaW50cyBpbiB0aGUgc2VnbWVudC4NCi0gICAgaW50ICAgICAgICAgICBpc09wZW47ICAgICAgICAgLy9JZiBUUlVFLCB0aGUgY29udG91ciBpcyBvcGVuLg0KLSAgICBkb3VibGUgICAgICAgIHdlaWdodDsgICAgICAgICAvL1RoZSBzaWduaWZpY2FuY2Ugb2YgdGhlIGVkZ2UgaW4gdGVybXMgb2YgdGhlIGdyYXkgdmFsdWVzIHRoYXQgY29uc3RpdHV0ZSB0aGUgZWRnZS4NCi0gICAgQ29udG91clBvaW50KiBwb2ludHM7ICAgICAgICAgLy9UaGUgcG9pbnRzIG9mIHRoZSBzZWdtZW50Lg0KLX0gU2VnbWVudEluZm87DQotDQotdHlwZWRlZiBzdHJ1Y3QgUm90YXRpb25BbmdsZVJhbmdlX3N0cnVjdCB7DQotICAgIGZsb2F0IGxvd2VyOyAvL1RoZSBsb3dlc3QgYW1vdW50IG9mIHJvdGF0aW9uLCBpbiBkZWdyZWVzLCBhIHZhbGlkIHBhdHRlcm4gY2FuIGhhdmUuDQotICAgIGZsb2F0IHVwcGVyOyAvL1RoZSBoaWdoZXN0IGFtb3VudCBvZiByb3RhdGlvbiwgaW4gZGVncmVlcywgYSB2YWxpZCBwYXR0ZXJuIGNhbiBoYXZlLg0KLX0gUm90YXRpb25BbmdsZVJhbmdlOw0KLQ0KLXR5cGVkZWYgc3RydWN0IFJvdGF0ZWRSZWN0X3N0cnVjdCB7DQotICAgIGludCAgICB0b3A7ICAgIC8vTG9jYXRpb24gb2YgdGhlIHRvcCBlZGdlIG9mIHRoZSByZWN0YW5nbGUgYmVmb3JlIHJvdGF0aW9uLg0KLSAgICBpbnQgICAgbGVmdDsgICAvL0xvY2F0aW9uIG9mIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIHJlY3RhbmdsZSBiZWZvcmUgcm90YXRpb24uDQotICAgIGludCAgICBoZWlnaHQ7IC8vSGVpZ2h0IG9mIHRoZSByZWN0YW5nbGUuDQotICAgIGludCAgICB3aWR0aDsgIC8vV2lkdGggb2YgdGhlIHJlY3RhbmdsZS4NCi0gICAgZG91YmxlIGFuZ2xlOyAgLy9UaGUgcm90YXRpb24sIGluIGRlZ3JlZXMsIG9mIHRoZSByZWN0YW5nbGUuDQotfSBSb3RhdGVkUmVjdDsNCi0NCi10eXBlZGVmIHN0cnVjdCBST0lQcm9maWxlX3N0cnVjdCB7DQotICAgIExpbmVQcm9maWxlIHJlcG9ydDsgLy9RdWFudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcG9pbnRzIGFsb25nIHRoZSBlZGdlIG9mIGVhY2ggY29udG91ciBpbiB0aGUgUk9JLg0KLSAgICBQb2ludCogICAgICBwaXhlbHM7IC8vQW4gYXJyYXkgb2YgdGhlIHBvaW50cyBhbG9uZyB0aGUgZWRnZSBvZiBlYWNoIGNvbnRvdXIgaW4gdGhlIFJPSS4NCi19IFJPSVByb2ZpbGU7DQotDQotdHlwZWRlZiBzdHJ1Y3QgVG9vbFdpbmRvd09wdGlvbnNfc3RydWN0IHsNCi0gICAgaW50IHNob3dTZWxlY3Rpb25Ub29sOyAgICAgICAgLy9JZiBUUlVFLCB0aGUgc2VsZWN0aW9uIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd1pvb21Ub29sOyAgICAgICAgICAgICAvL0lmIFRSVUUsIHRoZSB6b29tIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd1BvaW50VG9vbDsgICAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBwb2ludCB0b29sIGJlY29tZXMgdmlzaWJsZS4NCi0gICAgaW50IHNob3dMaW5lVG9vbDsgICAgICAgICAgICAgLy9JZiBUUlVFLCB0aGUgbGluZSB0b29sIGJlY29tZXMgdmlzaWJsZS4NCi0gICAgaW50IHNob3dSZWN0YW5nbGVUb29sOyAgICAgICAgLy9JZiBUUlVFLCB0aGUgcmVjdGFuZ2xlIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd092YWxUb29sOyAgICAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBvdmFsIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd1BvbHlnb25Ub29sOyAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBwb2x5Z29uIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd0Nsb3NlZEZyZWVoYW5kVG9vbDsgICAvL0lmIFRSVUUsIHRoZSBjbG9zZWQgZnJlZWhhbmQgdG9vbCBiZWNvbWVzIHZpc2libGUuDQotICAgIGludCBzaG93UG9seUxpbmVUb29sOyAgICAgICAgIC8vSWYgVFJVRSwgdGhlIHBvbHlsaW5lIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd0ZyZWVoYW5kVG9vbDsgICAgICAgICAvL0lmIFRSVUUsIHRoZSBmcmVlaGFuZCB0b29sIGJlY29tZXMgdmlzaWJsZS4NCi0gICAgaW50IHNob3dBbm51bHVzVG9vbDsgICAgICAgICAgLy9JZiBUUlVFLCB0aGUgYW5udWx1cyBiZWNvbWVzIHZpc2libGUuDQotICAgIGludCBzaG93Um90YXRlZFJlY3RhbmdsZVRvb2w7IC8vSWYgVFJVRSwgdGhlIHJvdGF0ZWQgcmVjdGFuZ2xlIHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgc2hvd1BhblRvb2w7ICAgICAgICAgICAgICAvL0lmIFRSVUUsIHRoZSBwYW4gdG9vbCBiZWNvbWVzIHZpc2libGUuDQotICAgIGludCBzaG93Wm9vbU91dFRvb2w7ICAgICAgICAgIC8vSWYgVFJVRSwgdGhlIHpvb20gb3V0IHRvb2wgYmVjb21lcyB2aXNpYmxlLg0KLSAgICBpbnQgcmVzZXJ2ZWQyOyAgICAgICAgICAgICAgICAvL1RoaXMgZWxlbWVudCBpcyByZXNlcnZlZCBhbmQgc2hvdWxkIGJlIHNldCB0byBGQUxTRS4NCi0gICAgaW50IHJlc2VydmVkMzsgICAgICAgICAgICAgICAgLy9UaGlzIGVsZW1lbnQgaXMgcmVzZXJ2ZWQgYW5kIHNob3VsZCBiZSBzZXQgdG8gRkFMU0UuDQotICAgIGludCByZXNlcnZlZDQ7ICAgICAgICAgICAgICAgIC8vVGhpcyBlbGVtZW50IGlzIHJlc2VydmVkIGFuZCBzaG91bGQgYmUgc2V0IHRvIEZBTFNFLg0KLX0gVG9vbFdpbmRvd09wdGlvbnM7DQotDQotdHlwZWRlZiBzdHJ1Y3QgU3Bva2VPcHRpb25zX3N0cnVjdCB7DQotICAgIGludCAgICAgICAgICAgICAgICAgdGhyZXNob2xkOyAgICAgICAgIC8vU3BlY2lmaWVzIHRoZSB0aHJlc2hvbGQgdmFsdWUgZm9yIHRoZSBjb250cmFzdCBvZiB0aGUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICB3aWR0aDsgICAgICAgICAgICAgLy9UaGUgbnVtYmVyIG9mIHBpeGVscyB0aGF0IHRoZSBmdW5jdGlvbiBhdmVyYWdlcyB0byBmaW5kIHRoZSBjb250cmFzdCBhdCBlaXRoZXIgc2lkZSBvZiB0aGUgZWRnZS4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBzdGVlcG5lc3M7ICAgICAgICAgLy9UaGUgc3BhbiwgaW4gcGl4ZWxzLCBvZiB0aGUgc2xvcGUgb2YgdGhlIGVkZ2UgcHJvamVjdGVkIGFsb25nIHRoZSBwYXRoIHNwZWNpZmllZCBieSB0aGUgaW5wdXQgcG9pbnRzLg0KLSAgICBkb3VibGUgICAgICAgICAgICAgIHN1YnNhbXBsaW5nUmF0aW87ICAvL1RoZSBhbmdsZSwgaW4gZGVncmVlcywgYmV0d2VlbiBlYWNoIHJhZGlhbCBzZWFyY2ggbGluZSBpbiB0aGUgc3Bva2UuDQotICAgIEludGVycG9sYXRpb25NZXRob2Qgc3VicGl4ZWxUeXBlOyAgICAgIC8vVGhlIG1ldGhvZCBmb3IgaW50ZXJwb2xhdGluZy4NCi0gICAgaW50ICAgICAgICAgICAgICAgICBzdWJwaXhlbERpdmlzaW9uczsgLy9UaGUgbnVtYmVyIG9mIHNhbXBsZXMgdGhlIGZ1bmN0aW9uIG9idGFpbnMgZnJvbSBhIHBpeGVsLg0KLX0gU3Bva2VPcHRpb25zOw0KLQ0KLSNpZiAhZGVmaW5lZCBfX0dOVUNfXyAmJiAhZGVmaW5lZCBfTV9YNjQNCi0jcHJhZ21hIHBhY2socG9wKQ0KLSNlbmRpZg0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vIENhbGxiYWNrIEZ1bmN0aW9uIFR5cGUNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0jaWZuZGVmIF9fR05VQ19fDQotdHlwZWRlZiB2b2lkIChJTUFRX0NBTExCQUNLKiBFdmVudENhbGxiYWNrKShXaW5kb3dFdmVudFR5cGUgZXZlbnQsIGludCB3aW5kb3dOdW1iZXIsIFRvb2wgdG9vbCwgUmVjdCByZWN0KTsNCi0jZW5kaWYNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgR2xvYmFscw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLSNpZm5kZWYgX19HTlVDX18NCi0jcHJhZ21hIGNvbnN0X3NlZygiSU1BUVZpc2lvbkNvbG9yQ29uc3RhbnRzIikNCi0jZW5kaWYNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfVFJBTlNQQVJFTlQgPSB7ICAgMCwgICAwLCAgIDAsIDEgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfUkVEICAgICAgICAgPSB7ICAgMCwgICAwLCAyNTUsIDAgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfQkxVRSAgICAgICAgPSB7IDI1NSwgICAwLCAgIDAsIDAgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfR1JFRU4gICAgICAgPSB7ICAgMCwgMjU1LCAgIDAsIDAgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfWUVMTE9XICAgICAgPSB7ICAgMCwgMjU1LCAyNTUsIDAgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfV0hJVEUgICAgICAgPSB7IDI1NSwgMjU1LCAyNTUsIDAgfTsNCi1zdGF0aWMgY29uc3QgUkdCVmFsdWUgSU1BUV9SR0JfQkxBQ0sgICAgICAgPSB7ICAgMCwgICAwLCAgIDAsIDAgfTsNCi0jaWZuZGVmIF9fR05VQ19fDQotI3ByYWdtYSBjb25zdF9zZWcoKQ0KLSNlbmRpZg0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBCYWNrd2FyZHMgQ29tcGF0aWJpbGl0eQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLXR5cGVkZWYgQ29sb3JTZW5zaXRpdml0eSAJCUNvbG9yQ29tcGxleGl0eTsNCi0jZGVmaW5lIElNQVFfQ09NUExFWElUWV9MT1cgCQlJTUFRX1NFTlNJVElWSVRZX0xPVw0KLSNkZWZpbmUgSU1BUV9DT01QTEVYSVRZX01FRCAJCUlNQVFfU0VOU0lUSVZJVFlfTUVEICAgICANCi0jZGVmaW5lIElNQVFfQ09NUExFWElUWV9ISUdIIAkJSU1BUV9TRU5TSVRJVklUWV9ISUdIDQotI2RlZmluZSBFUlJfSU5WQUxJRF9DT0xPUkNPTVBMRVhJVFkgCUVSUl9JTlZBTElEX0NPTE9SU0VOU0lUSVZJVFkNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgTG9naWNhbCBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQW5kKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFBbmRDb25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUNvbXBhcmUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGNvbnN0IEltYWdlKiBjb21wYXJlSW1hZ2UsIENvbXBhcmlzb25GdW5jdGlvbiBjb21wYXJlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQ29tcGFyZUNvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlLCBDb21wYXJpc29uRnVuY3Rpb24gY29tcGFyZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUxvZ2ljYWxEaWZmZXJlbmNlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFMb2dpY2FsRGlmZmVyZW5jZUNvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTmFuZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTmFuZENvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTm9yKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFOb3JDb25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU9yKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFPckNvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxWG5vcihJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxWG5vckNvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxWG9yKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFYb3JDb25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFBhcnRpY2xlIEFuYWx5c2lzIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvdW50UGFydGljbGVzKEltYWdlKiBpbWFnZSwgaW50IGNvbm5lY3Rpdml0eTgsIGludCogbnVtUGFydGljbGVzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNZWFzdXJlUGFydGljbGUoSW1hZ2UqIGltYWdlLCBpbnQgcGFydGljbGVOdW1iZXIsIGludCBjYWxpYnJhdGVkLCBNZWFzdXJlbWVudFR5cGUgbWVhc3VyZW1lbnQsIGRvdWJsZSogdmFsdWUpOw0KLUlNQVFfRlVOQyBNZWFzdXJlUGFydGljbGVzUmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcU1lYXN1cmVQYXJ0aWNsZXMoSW1hZ2UqIGltYWdlLCBNZWFzdXJlUGFydGljbGVzQ2FsaWJyYXRpb25Nb2RlIGNhbGlicmF0aW9uTW9kZSwgY29uc3QgTWVhc3VyZW1lbnRUeXBlKiBtZWFzdXJlbWVudHMsIHNpemVfdCBudW1NZWFzdXJlbWVudHMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVBhcnRpY2xlRmlsdGVyNChJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgUGFydGljbGVGaWx0ZXJDcml0ZXJpYTIqIGNyaXRlcmlhLCBpbnQgY3JpdGVyaWFDb3VudCwgY29uc3QgUGFydGljbGVGaWx0ZXJPcHRpb25zMiogb3B0aW9ucywgY29uc3QgUk9JKiByb2ksIGludCogbnVtUGFydGljbGVzKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgTW9ycGhvbG9neSBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnZleEh1bGwoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIGludCBjb25uZWN0aXZpdHk4KTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcURhbmllbHNzb25EaXN0YW5jZShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFGaWxsSG9sZXMoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCBjb25uZWN0aXZpdHk4KTsNCi1JTUFRX0ZVTkMgQ2lyY2xlUmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcUZpbmRDaXJjbGVzKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBmbG9hdCBtaW5SYWRpdXMsIGZsb2F0IG1heFJhZGl1cywgaW50KiBudW1DaXJjbGVzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxhYmVsMihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IGNvbm5lY3Rpdml0eTgsIGludCogcGFydGljbGVDb3VudCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNb3JwaG9sb2d5KEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBNb3JwaG9sb2d5TWV0aG9kIG1ldGhvZCwgY29uc3QgU3RydWN0dXJpbmdFbGVtZW50KiBzdHJ1Y3R1cmluZ0VsZW1lbnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxUmVqZWN0Qm9yZGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBpbnQgY29ubmVjdGl2aXR5OCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZWdtZW50YXRpb24oSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2VwYXJhdGlvbihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IGVyb3Npb25zLCBjb25zdCBTdHJ1Y3R1cmluZ0VsZW1lbnQqIHN0cnVjdHVyaW5nRWxlbWVudCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTaW1wbGVEaXN0YW5jZShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgU3RydWN0dXJpbmdFbGVtZW50KiBzdHJ1Y3R1cmluZ0VsZW1lbnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2l6ZUZpbHRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IGNvbm5lY3Rpdml0eTgsIGludCBlcm9zaW9ucywgU2l6ZVR5cGUga2VlcFNpemUsIGNvbnN0IFN0cnVjdHVyaW5nRWxlbWVudCogc3RydWN0dXJpbmdFbGVtZW50KTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNrZWxldG9uKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBTa2VsZXRvbk1ldGhvZCBtZXRob2QpOw0KLQ0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBBY3F1aXNpdGlvbiBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgSW1hZ2UqIElNQVFfU1REQ0FMTCBpbWFxQ29weUZyb21SaW5nKFNFU1NJT05fSUQgc2Vzc2lvbklELCBJbWFnZSogaW1hZ2UsIGludCBpbWFnZVRvQ29weSwgaW50KiBpbWFnZU51bWJlciwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgSW1hZ2UqIElNQVFfU1REQ0FMTCBpbWFxRWFzeUFjcXVpcmUoY29uc3QgY2hhciogaW50ZXJmYWNlTmFtZSk7DQotSU1BUV9GVU5DIEltYWdlKiBJTUFRX1NURENBTEwgaW1hcUV4dHJhY3RGcm9tUmluZyhTRVNTSU9OX0lEIHNlc3Npb25JRCwgaW50IGltYWdlVG9FeHRyYWN0LCBpbnQqIGltYWdlTnVtYmVyKTsNCi1JTUFRX0ZVTkMgSW1hZ2UqIElNQVFfU1REQ0FMTCBpbWFxR3JhYihTRVNTSU9OX0lEIHNlc3Npb25JRCwgSW1hZ2UqIGltYWdlLCBpbnQgaW1tZWRpYXRlKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxUmVsZWFzZUltYWdlKFNFU1NJT05fSUQgc2Vzc2lvbklEKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxU2V0dXBHcmFiKFNFU1NJT05fSUQgc2Vzc2lvbklELCBSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFTZXR1cFJpbmcoU0VTU0lPTl9JRCBzZXNzaW9uSUQsIEltYWdlKiogaW1hZ2VzLCBpbnQgbnVtSW1hZ2VzLCBpbnQgc2tpcENvdW50LCBSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFTZXR1cFNlcXVlbmNlKFNFU1NJT05fSUQgc2Vzc2lvbklELCBJbWFnZSoqIGltYWdlcywgaW50IG51bUltYWdlcywgaW50IHNraXBDb3VudCwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgSW1hZ2UqIElNQVFfU1REQ0FMTCBpbWFxU25hcChTRVNTSU9OX0lEIHNlc3Npb25JRCwgSW1hZ2UqIGltYWdlLCBSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFTdGFydEFjcXVpc2l0aW9uKFNFU1NJT05fSUQgc2Vzc2lvbklEKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxU3RvcEFjcXVpc2l0aW9uKFNFU1NJT05fSUQgc2Vzc2lvbklEKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQXJpdGhtZXRpYyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQWJzb2x1dGVEaWZmZXJlbmNlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFBYnNvbHV0ZURpZmZlcmVuY2VDb25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUFkZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQWRkQ29uc3RhbnQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBpeGVsVmFsdWUgdmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFBdmVyYWdlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFBdmVyYWdlQ29uc3RhbnQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBpeGVsVmFsdWUgdmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFEaXZpZGUyKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIsIFJvdW5kaW5nTW9kZSByb3VuZGluZ01vZGUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFEaXZpZGVDb25zdGFudDIoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBpeGVsVmFsdWUgdmFsdWUsIFJvdW5kaW5nTW9kZSByb3VuZGluZ01vZGUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFNYXgoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2VBLCBjb25zdCBJbWFnZSogc291cmNlQik7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU1heENvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTWluKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFNaW5Db25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU1vZHVsbyhJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTW9kdWxvQ29uc3RhbnQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBpeGVsVmFsdWUgdmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFNdWxEaXYoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2VBLCBjb25zdCBJbWFnZSogc291cmNlQiwgZmxvYXQgdmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFNdWx0aXBseShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTXVsdGlwbHlDb25zdGFudChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSB2YWx1ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcVN1YnRyYWN0KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlQSwgY29uc3QgSW1hZ2UqIHNvdXJjZUIpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFTdWJ0cmFjdENvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ2FsaXBlciBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgQ2FsaXBlclJlcG9ydCogICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNhbGlwZXJUb29sKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUG9pbnQqIHBvaW50cywgaW50IG51bVBvaW50cywgY29uc3QgRWRnZU9wdGlvbnMqIGVkZ2VPcHRpb25zLCBjb25zdCBDYWxpcGVyT3B0aW9ucyogY2FsaXBlck9wdGlvbnMsIGludCogbnVtRWRnZVBhaXJzKTsNCi1JTUFRX0ZVTkMgQ29uY2VudHJpY1Jha2VSZXBvcnQyKiBJTUFRX1NURENBTEwgaW1hcUNvbmNlbnRyaWNSYWtlMihJbWFnZSogaW1hZ2UsIFJPSSogcm9pLCBDb25jZW50cmljUmFrZURpcmVjdGlvbiBkaXJlY3Rpb24sIEVkZ2VQcm9jZXNzIHByb2Nlc3MsIGludCBzdGVwU2l6ZSwgRWRnZU9wdGlvbnMyKiBlZGdlT3B0aW9ucyk7DQotSU1BUV9GVU5DIEV4dHJlbWVSZXBvcnQqICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFEZXRlY3RFeHRyZW1lcyhjb25zdCBkb3VibGUqIHBpeGVscywgaW50IG51bVBpeGVscywgRGV0ZWN0aW9uTW9kZSBtb2RlLCBjb25zdCBEZXRlY3RFeHRyZW1lc09wdGlvbnMqIG9wdGlvbnMsIGludCogbnVtRXh0cmVtZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRGV0ZWN0Um90YXRpb24oY29uc3QgSW1hZ2UqIHJlZmVyZW5jZUltYWdlLCBjb25zdCBJbWFnZSogdGVzdEltYWdlLCBQb2ludEZsb2F0IHJlZmVyZW5jZUNlbnRlciwgUG9pbnRGbG9hdCB0ZXN0Q2VudGVyLCBpbnQgcmFkaXVzLCBmbG9hdCBwcmVjaXNpb24sIGRvdWJsZSogYW5nbGUpOw0KLUlNQVFfRlVOQyBFZGdlUmVwb3J0MiogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRWRnZVRvb2w0KEltYWdlKiBpbWFnZSwgUk9JKiByb2ksIEVkZ2VQcm9jZXNzIHByb2Nlc3NUeXBlLCBFZGdlT3B0aW9uczIqIGVkZ2VPcHRpb25zLCBjb25zdCB1bnNpZ25lZCBpbnQgcmV2ZXJzZURpcmVjdGlvbik7DQotSU1BUV9GVU5DIEZpbmRFZGdlUmVwb3J0KiAgICAgICAgSU1BUV9TVERDQUxMIGltYXFGaW5kRWRnZTIoSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgY29uc3QgQ29vcmRpbmF0ZVN5c3RlbSogYmFzZVN5c3RlbSwgY29uc3QgQ29vcmRpbmF0ZVN5c3RlbSogbmV3U3lzdGVtLCBjb25zdCBGaW5kRWRnZU9wdGlvbnMyKiBmaW5kRWRnZU9wdGlvbnMsIGNvbnN0IFN0cmFpZ2h0RWRnZU9wdGlvbnMqIHN0cmFpZ2h0RWRnZU9wdGlvbnMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRmluZFRyYW5zZm9ybVJlY3QyKEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIEZpbmRUcmFuc2Zvcm1Nb2RlIG1vZGUsIENvb3JkaW5hdGVTeXN0ZW0qIGJhc2VTeXN0ZW0sIENvb3JkaW5hdGVTeXN0ZW0qIG5ld1N5c3RlbSwgY29uc3QgRmluZFRyYW5zZm9ybVJlY3RPcHRpb25zMiogZmluZFRyYW5zZm9ybU9wdGlvbnMsIGNvbnN0IFN0cmFpZ2h0RWRnZU9wdGlvbnMqIHN0cmFpZ2h0RWRnZU9wdGlvbnMsIEF4aXNSZXBvcnQqIGF4aXNSZXBvcnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRmluZFRyYW5zZm9ybVJlY3RzMihJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcHJpbWFyeVJPSSwgY29uc3QgUk9JKiBzZWNvbmRhcnlST0ksIEZpbmRUcmFuc2Zvcm1Nb2RlIG1vZGUsIENvb3JkaW5hdGVTeXN0ZW0qIGJhc2VTeXN0ZW0sIENvb3JkaW5hdGVTeXN0ZW0qIG5ld1N5c3RlbSwgY29uc3QgRmluZFRyYW5zZm9ybVJlY3RzT3B0aW9uczIqIGZpbmRUcmFuc2Zvcm1PcHRpb25zLCBjb25zdCBTdHJhaWdodEVkZ2VPcHRpb25zKiBwcmltYXJ5U3RyYWlnaHRFZGdlT3B0aW9ucywgY29uc3QgU3RyYWlnaHRFZGdlT3B0aW9ucyogc2Vjb25kYXJ5U3RyYWlnaHRFZGdlT3B0aW9ucywgQXhpc1JlcG9ydCogYXhpc1JlcG9ydCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFMaW5lR2F1Z2VUb29sMihjb25zdCBJbWFnZSogaW1hZ2UsIFBvaW50IHN0YXJ0LCBQb2ludCBlbmQsIExpbmVHYXVnZU1ldGhvZCBtZXRob2QsIGNvbnN0IEVkZ2VPcHRpb25zKiBlZGdlT3B0aW9ucywgY29uc3QgQ29vcmRpbmF0ZVRyYW5zZm9ybTIqIHRyYW5zZm9ybSwgZmxvYXQqIGRpc3RhbmNlKTsNCi1JTUFRX0ZVTkMgUmFrZVJlcG9ydDIqICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJha2UyKEltYWdlKiBpbWFnZSwgUk9JKiByb2ksIFJha2VEaXJlY3Rpb24gZGlyZWN0aW9uLCBFZGdlUHJvY2VzcyBwcm9jZXNzLCBpbnQgc3RlcFNpemUsIEVkZ2VPcHRpb25zMiogZWRnZU9wdGlvbnMpOw0KLUlNQVFfRlVOQyBQb2ludEZsb2F0KiAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2ltcGxlRWRnZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFBvaW50KiBwb2ludHMsIGludCBudW1Qb2ludHMsIGNvbnN0IFNpbXBsZUVkZ2VPcHRpb25zKiBvcHRpb25zLCBpbnQqIG51bUVkZ2VzKTsNCi1JTUFRX0ZVTkMgU3Bva2VSZXBvcnQyKiAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNwb2tlMihJbWFnZSogaW1hZ2UsIFJPSSogcm9pLCBTcG9rZURpcmVjdGlvbiBkaXJlY3Rpb24sIEVkZ2VQcm9jZXNzIHByb2Nlc3MsIGludCBzdGVwU2l6ZSwgRWRnZU9wdGlvbnMyKiBlZGdlT3B0aW9ucyk7DQotSU1BUV9GVU5DIFN0cmFpZ2h0RWRnZVJlcG9ydDIqICAgSU1BUV9TVERDQUxMIGltYXFTdHJhaWdodEVkZ2UoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgU2VhcmNoRGlyZWN0aW9uIHNlYXJjaERpcmVjdGlvbiwgY29uc3QgRWRnZU9wdGlvbnMyKiBlZGdlT3B0aW9ucywgY29uc3QgU3RyYWlnaHRFZGdlT3B0aW9ucyogc3RyYWlnaHRFZGdlT3B0aW9ucyk7DQotSU1BUV9GVU5DIFN0cmFpZ2h0RWRnZVJlcG9ydDIqICAgSU1BUV9TVERDQUxMIGltYXFTdHJhaWdodEVkZ2UyKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIFNlYXJjaERpcmVjdGlvbiBzZWFyY2hEaXJlY3Rpb24sIGNvbnN0IEVkZ2VPcHRpb25zMiogZWRnZU9wdGlvbnMsIGNvbnN0IFN0cmFpZ2h0RWRnZU9wdGlvbnMqIHN0cmFpZ2h0RWRnZU9wdGlvbnMsIHVuc2lnbmVkIGludCBvcHRpbWl6ZWRNb2RlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgU3BhdGlhbCBGaWx0ZXJzIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFDYW5ueUVkZ2VGaWx0ZXIoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGNvbnN0IENhbm55T3B0aW9ucyogb3B0aW9ucyk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUNvbnZvbHZlMihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgZmxvYXQqIGtlcm5lbCwgaW50IG1hdHJpeFJvd3MsIGludCBtYXRyaXhDb2xzLCBmbG9hdCBub3JtYWxpemUsIEltYWdlKiBtYXNrLCBSb3VuZGluZ01vZGUgcm91bmRpbmdNb2RlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQ29ycmVsYXRlKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBjb25zdCBJbWFnZSogdGVtcGxhdGVJbWFnZSwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxRWRnZUZpbHRlcihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgT3V0bGluZU1ldGhvZCBtZXRob2QsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTG93UGFzcyhJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBmbG9hdCB0b2xlcmFuY2UsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTWVkaWFuRmlsdGVyKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTnRoT3JkZXJGaWx0ZXIoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIGludCB3aWR0aCwgaW50IGhlaWdodCwgaW50IG4sIGNvbnN0IEltYWdlKiBtYXNrKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgRHJhd2luZyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxRHJhd0xpbmVPbkltYWdlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBEcmF3TW9kZSBtb2RlLCBQb2ludCBzdGFydCwgUG9pbnQgZW5kLCBmbG9hdCBuZXdQaXhlbFZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxRHJhd1NoYXBlT25JbWFnZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUmVjdCByZWN0LCBEcmF3TW9kZSBtb2RlLCBTaGFwZU1vZGUgc2hhcGUsIGZsb2F0IG5ld1BpeGVsVmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFEcmF3VGV4dE9uSW1hZ2UoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBvaW50IGNvb3JkLCBjb25zdCBjaGFyKiB0ZXh0LCBjb25zdCBEcmF3VGV4dE9wdGlvbnMqIG9wdGlvbnMsIGludCogZm9udE5hbWVVc2VkKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgSW50ZXJsYWNpbmcgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUludGVybGFjZUNvbWJpbmUoSW1hZ2UqIGZyYW1lLCBjb25zdCBJbWFnZSogb2RkLCBjb25zdCBJbWFnZSogZXZlbik7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUludGVybGFjZVNlcGFyYXRlKGNvbnN0IEltYWdlKiBmcmFtZSwgSW1hZ2UqIG9kZCwgSW1hZ2UqIGV2ZW4pOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBJbWFnZSBJbmZvcm1hdGlvbiBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgY2hhcioqIElNQVFfU1REQ0FMTCBpbWFxRW51bWVyYXRlQ3VzdG9tS2V5cyhjb25zdCBJbWFnZSogaW1hZ2UsIHVuc2lnbmVkIGludCogc2l6ZSk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldEJpdERlcHRoKGNvbnN0IEltYWdlKiBpbWFnZSwgdW5zaWduZWQgaW50KiBiaXREZXB0aCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldEJ5dGVzUGVyUGl4ZWwoY29uc3QgSW1hZ2UqIGltYWdlLCBpbnQqIGJ5dGVDb3VudCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldEltYWdlSW5mbyhjb25zdCBJbWFnZSogaW1hZ2UsIEltYWdlSW5mbyogaW5mbyk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldEltYWdlU2l6ZShjb25zdCBJbWFnZSogaW1hZ2UsIGludCogd2lkdGgsIGludCogaGVpZ2h0KTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0SW1hZ2VUeXBlKGNvbnN0IEltYWdlKiBpbWFnZSwgSW1hZ2VUeXBlKiB0eXBlKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0TWFza09mZnNldChjb25zdCBJbWFnZSogaW1hZ2UsIFBvaW50KiBvZmZzZXQpOw0KLUlNQVFfRlVOQyB2b2lkKiAgSU1BUV9TVERDQUxMIGltYXFHZXRQaXhlbEFkZHJlc3MoY29uc3QgSW1hZ2UqIGltYWdlLCBQb2ludCBwaXhlbCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldFZpc2lvbkluZm9UeXBlcyhjb25zdCBJbWFnZSogaW1hZ2UsIHVuc2lnbmVkIGludCogcHJlc2VudCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUlzSW1hZ2VFbXB0eShjb25zdCBJbWFnZSogaW1hZ2UsIGludCogZW1wdHkpOw0KLUlNQVFfRlVOQyB2b2lkKiAgSU1BUV9TVERDQUxMIGltYXFSZWFkQ3VzdG9tRGF0YShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGtleSwgdW5zaWduZWQgaW50KiBzaXplKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxUmVtb3ZlQ3VzdG9tRGF0YShJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGtleSk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVJlbW92ZVZpc2lvbkluZm8yKGNvbnN0IEltYWdlKiBpbWFnZSwgdW5zaWduZWQgaW50IGluZm8pOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFTZXRCaXREZXB0aChJbWFnZSogaW1hZ2UsIHVuc2lnbmVkIGludCBiaXREZXB0aCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVNldEltYWdlU2l6ZShJbWFnZSogaW1hZ2UsIGludCB3aWR0aCwgaW50IGhlaWdodCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVNldE1hc2tPZmZzZXQoSW1hZ2UqIGltYWdlLCBQb2ludCBvZmZzZXQpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZUN1c3RvbURhdGEoSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBrZXksIGNvbnN0IHZvaWQqIGRhdGEsIHVuc2lnbmVkIGludCBzaXplKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgRGlzcGxheSBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFBcmVUb29sc0NvbnRleHRTZW5zaXRpdmUoaW50KiBzZW5zaXRpdmUpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUNsb3NlV2luZG93KGludCB3aW5kb3dOdW1iZXIpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcURpc3BsYXlJbWFnZShjb25zdCBJbWFnZSogaW1hZ2UsIGludCB3aW5kb3dOdW1iZXIsIGludCByZXNpemUpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldExhc3RLZXkoY2hhcioga2V5UHJlc3NlZCwgaW50KiB3aW5kb3dOdW1iZXIsIGludCogbW9kaWZpZXJzKTsNCi1JTUFRX0ZVTkMgdm9pZCogSU1BUV9TVERDQUxMIGltYXFHZXRTeXN0ZW1XaW5kb3dIYW5kbGUoaW50IHdpbmRvd051bWJlcik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxR2V0V2luZG93Q2VudGVyUG9zKGludCB3aW5kb3dOdW1iZXIsIFBvaW50KiBjZW50ZXJQb3NpdGlvbik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0VG9vbENvbnRleHRTZW5zaXRpdml0eShpbnQgc2Vuc2l0aXZlKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTaG93V2luZG93KGludCB3aW5kb3dOdW1iZXIsIGludCB2aXNpYmxlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgSW1hZ2UgTWFuaXB1bGF0aW9uIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUNhc3QoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIEltYWdlVHlwZSB0eXBlLCBjb25zdCBmbG9hdCogbG9va3VwLCBpbnQgc2hpZnQpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUNvcHlSZWN0KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBSZWN0IHJlY3QsIFBvaW50IGRlc3RMb2MpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUR1cGxpY2F0ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSk7DQotSU1BUV9GVU5DIHZvaWQqIElNQVFfU1REQ0FMTCBpbWFxRmxhdHRlbihjb25zdCBJbWFnZSogaW1hZ2UsIEZsYXR0ZW5UeXBlIHR5cGUsIENvbXByZXNzaW9uVHlwZSBjb21wcmVzc2lvbiwgaW50IHF1YWxpdHksIHVuc2lnbmVkIGludCogc2l6ZSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxRmxpcChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgRmxpcEF4aXMgYXhpcyk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxTWFzayhJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVJlc2FtcGxlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBpbnQgbmV3V2lkdGgsIGludCBuZXdIZWlnaHQsIEludGVycG9sYXRpb25NZXRob2QgbWV0aG9kLCBSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVJvdGF0ZTIoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGZsb2F0IGFuZ2xlLCBQaXhlbFZhbHVlIGZpbGwsIEludGVycG9sYXRpb25NZXRob2QgbWV0aG9kLCBpbnQgbWFpbnRhaW5TaXplKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTY2FsZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgaW50IHhTY2FsZSwgaW50IHlTY2FsZSwgU2NhbGluZ01vZGUgc2NhbGVNb2RlLCBSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNoaWZ0KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBpbnQgc2hpZnRYLCBpbnQgc2hpZnRZLCBQaXhlbFZhbHVlIGZpbGwpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVRyYW5zcG9zZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxVW5mbGF0dGVuKEltYWdlKiBpbWFnZSwgY29uc3Qgdm9pZCogZGF0YSwgdW5zaWduZWQgaW50IHNpemUpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVVud3JhcEltYWdlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBBbm51bHVzIGFubnVsdXMsIFJlY3RPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgSW50ZXJwb2xhdGlvbk1ldGhvZCBtZXRob2QpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVZpZXczRChJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgVmlldzNET3B0aW9ucyogb3B0aW9ucyk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEZpbGUgSS9PIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNsb3NlQVZJKEFWSVNlc3Npb24gc2Vzc2lvbik7DQotSU1BUV9GVU5DIEFWSVNlc3Npb24gIElNQVFfU1REQ0FMTCBpbWFxQ3JlYXRlQVZJKGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBjb25zdCBjaGFyKiBjb21wcmVzc2lvbkZpbHRlciwgaW50IHF1YWxpdHksIHVuc2lnbmVkIGludCBmcmFtZXNQZXJTZWNvbmQsIHVuc2lnbmVkIGludCBtYXhEYXRhU2l6ZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0QVZJSW5mbyhBVklTZXNzaW9uIHNlc3Npb24sIEFWSUluZm8qIGluZm8pOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldEZpbGVJbmZvKGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBDYWxpYnJhdGlvblVuaXQqIGNhbGlicmF0aW9uVW5pdCwgZmxvYXQqIGNhbGlicmF0aW9uWCwgZmxvYXQqIGNhbGlicmF0aW9uWSwgaW50KiB3aWR0aCwgaW50KiBoZWlnaHQsIEltYWdlVHlwZSogaW1hZ2VUeXBlKTsNCi1JTUFRX0ZVTkMgRmlsdGVyTmFtZSogSU1BUV9TVERDQUxMIGltYXFHZXRGaWx0ZXJOYW1lcyhpbnQqIG51bUZpbHRlcnMpOw0KLUlNQVFfRlVOQyBjaGFyKiogICAgICBJTUFRX1NURENBTEwgaW1hcUxvYWRJbWFnZVBvcHVwKGNvbnN0IGNoYXIqIGRlZmF1bHREaXJlY3RvcnksIGNvbnN0IGNoYXIqIGRlZmF1bHRGaWxlU3BlYywgY29uc3QgY2hhciogZmlsZVR5cGVMaXN0LCBjb25zdCBjaGFyKiB0aXRsZSwgaW50IGFsbG93TXVsdGlwbGVQYXRocywgQnV0dG9uTGFiZWwgYnV0dG9uTGFiZWwsIGludCByZXN0cmljdERpcmVjdG9yeSwgaW50IHJlc3RyaWN0RXh0ZW5zaW9uLCBpbnQgYWxsb3dDYW5jZWwsIGludCBhbGxvd01ha2VEaXJlY3RvcnksIGludCogY2FuY2VsbGVkLCBpbnQqIG51bVBhdGhzKTsNCi1JTUFRX0ZVTkMgQVZJU2Vzc2lvbiAgSU1BUV9TVERDQUxMIGltYXFPcGVuQVZJKGNvbnN0IGNoYXIqIGZpbGVOYW1lKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWFkQVZJRnJhbWUoSW1hZ2UqIGltYWdlLCBBVklTZXNzaW9uIHNlc3Npb24sIHVuc2lnbmVkIGludCBmcmFtZU51bSwgdm9pZCogZGF0YSwgdW5zaWduZWQgaW50KiBkYXRhU2l6ZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxUmVhZEZpbGUoSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBmaWxlTmFtZSwgUkdCVmFsdWUqIGNvbG9yVGFibGUsIGludCogbnVtQ29sb3JzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWFkVmlzaW9uRmlsZShJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBSR0JWYWx1ZSogY29sb3JUYWJsZSwgaW50KiBudW1Db2xvcnMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVdyaXRlQVZJRnJhbWUoSW1hZ2UqIGltYWdlLCBBVklTZXNzaW9uIHNlc3Npb24sIGNvbnN0IHZvaWQqIGRhdGEsIHVuc2lnbmVkIGludCBkYXRhTGVuZ3RoKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZUJNUEZpbGUoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBmaWxlTmFtZSwgaW50IGNvbXByZXNzLCBjb25zdCBSR0JWYWx1ZSogY29sb3JUYWJsZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxV3JpdGVGaWxlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgY2hhciogZmlsZU5hbWUsIGNvbnN0IFJHQlZhbHVlKiBjb2xvclRhYmxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZUpQRUdGaWxlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgY2hhciogZmlsZU5hbWUsIHVuc2lnbmVkIGludCBxdWFsaXR5LCB2b2lkKiBjb2xvclRhYmxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZUpQRUcyMDAwRmlsZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBpbnQgbG9zc2xlc3MsIGZsb2F0IGNvbXByZXNzaW9uUmF0aW8sIGNvbnN0IEpQRUcyMDAwRmlsZUFkdmFuY2VkT3B0aW9ucyogYWR2YW5jZWRPcHRpb25zLCBjb25zdCBSR0JWYWx1ZSogY29sb3JUYWJsZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxV3JpdGVQTkdGaWxlMihjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCB1bnNpZ25lZCBpbnQgY29tcHJlc3Npb25TcGVlZCwgY29uc3QgUkdCVmFsdWUqIGNvbG9yVGFibGUsIGludCB1c2VCaXREZXB0aCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxV3JpdGVUSUZGRmlsZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBjb25zdCBUSUZGRmlsZU9wdGlvbnMqIG9wdGlvbnMsIGNvbnN0IFJHQlZhbHVlKiBjb2xvclRhYmxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZVZpc2lvbkZpbGUoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBmaWxlTmFtZSwgY29uc3QgUkdCVmFsdWUqIGNvbG9yVGFibGUpOw0KLQ0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBBbmFseXRpYyBHZW9tZXRyeSBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUJ1aWxkQ29vcmRpbmF0ZVN5c3RlbShjb25zdCBQb2ludCogcG9pbnRzLCBSZWZlcmVuY2VNb2RlIG1vZGUsIEF4aXNPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgQ29vcmRpbmF0ZVN5c3RlbSogc3lzdGVtKTsNCi1JTUFRX0ZVTkMgQmVzdENpcmNsZTIqICBJTUFRX1NURENBTEwgaW1hcUZpdENpcmNsZTIoY29uc3QgUG9pbnRGbG9hdCogcG9pbnRzLCBpbnQgbnVtUG9pbnRzLCBjb25zdCBGaXRDaXJjbGVPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgQmVzdEVsbGlwc2UyKiBJTUFRX1NURENBTEwgaW1hcUZpdEVsbGlwc2UyKGNvbnN0IFBvaW50RmxvYXQqIHBvaW50cywgaW50IG51bVBvaW50cywgY29uc3QgRml0RWxsaXBzZU9wdGlvbnMqIG9wdGlvbnMpOw0KLUlNQVFfRlVOQyBCZXN0TGluZSogICAgIElNQVFfU1REQ0FMTCBpbWFxRml0TGluZShjb25zdCBQb2ludEZsb2F0KiBwb2ludHMsIGludCBudW1Qb2ludHMsIGNvbnN0IEZpdExpbmVPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldEFuZ2xlKFBvaW50RmxvYXQgc3RhcnQxLCBQb2ludEZsb2F0IGVuZDEsIFBvaW50RmxvYXQgc3RhcnQyLCBQb2ludEZsb2F0IGVuZDIsIGZsb2F0KiBhbmdsZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRCaXNlY3RpbmdMaW5lKFBvaW50RmxvYXQgc3RhcnQxLCBQb2ludEZsb2F0IGVuZDEsIFBvaW50RmxvYXQgc3RhcnQyLCBQb2ludEZsb2F0IGVuZDIsIFBvaW50RmxvYXQqIGJpc2VjdFN0YXJ0LCBQb2ludEZsb2F0KiBiaXNlY3RFbmQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0RGlzdGFuY2UoUG9pbnRGbG9hdCBwb2ludDEsIFBvaW50RmxvYXQgcG9pbnQyLCBmbG9hdCogZGlzdGFuY2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0SW50ZXJzZWN0aW9uKFBvaW50RmxvYXQgc3RhcnQxLCBQb2ludEZsb2F0IGVuZDEsIFBvaW50RmxvYXQgc3RhcnQyLCBQb2ludEZsb2F0IGVuZDIsIFBvaW50RmxvYXQqIGludGVyc2VjdGlvbik7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRNaWRMaW5lKFBvaW50RmxvYXQgcmVmTGluZVN0YXJ0LCBQb2ludEZsb2F0IHJlZkxpbmVFbmQsIFBvaW50RmxvYXQgcG9pbnQsIFBvaW50RmxvYXQqIG1pZExpbmVTdGFydCwgUG9pbnRGbG9hdCogbWlkTGluZUVuZCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRQZXJwZW5kaWN1bGFyTGluZShQb2ludEZsb2F0IHJlZkxpbmVTdGFydCwgUG9pbnRGbG9hdCByZWZMaW5lRW5kLCBQb2ludEZsb2F0IHBvaW50LCBQb2ludEZsb2F0KiBwZXJwTGluZVN0YXJ0LCBQb2ludEZsb2F0KiBwZXJwTGluZUVuZCwgZG91YmxlKiBkaXN0YW5jZSk7DQotSU1BUV9GVU5DIFNlZ21lbnRJbmZvKiAgSU1BUV9TVERDQUxMIGltYXFHZXRQb2ludHNPbkNvbnRvdXIoY29uc3QgSW1hZ2UqIGltYWdlLCBpbnQqIG51bVNlZ21lbnRzKTsNCi1JTUFRX0ZVTkMgUG9pbnQqICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldFBvaW50c09uTGluZShQb2ludCBzdGFydCwgUG9pbnQgZW5kLCBpbnQqIG51bVBvaW50cyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRQb2x5Z29uQXJlYShjb25zdCBQb2ludEZsb2F0KiBwb2ludHMsIGludCBudW1Qb2ludHMsIGZsb2F0KiBhcmVhKTsNCi1JTUFRX0ZVTkMgZmxvYXQqICAgICAgICBJTUFRX1NURENBTEwgaW1hcUludGVycG9sYXRlUG9pbnRzKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUG9pbnQqIHBvaW50cywgaW50IG51bVBvaW50cywgSW50ZXJwb2xhdGlvbk1ldGhvZCBtZXRob2QsIGludCBzdWJwaXhlbCwgaW50KiBpbnRlcnBDb3VudCk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIENsaXBib2FyZCBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQ2xpcGJvYXJkVG9JbWFnZShJbWFnZSogZGVzdCwgUkdCVmFsdWUqIHBhbGV0dGUpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFJbWFnZVRvQ2xpcGJvYXJkKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUkdCVmFsdWUqIHBhbGV0dGUpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBCb3JkZXIgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUZpbGxCb3JkZXIoSW1hZ2UqIGltYWdlLCBCb3JkZXJNZXRob2QgbWV0aG9kKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxR2V0Qm9yZGVyU2l6ZShjb25zdCBJbWFnZSogaW1hZ2UsIGludCogYm9yZGVyU2l6ZSk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcVNldEJvcmRlclNpemUoSW1hZ2UqIGltYWdlLCBpbnQgc2l6ZSk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEltYWdlIE1hbmFnZW1lbnQgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUFycmF5VG9JbWFnZShJbWFnZSogaW1hZ2UsIGNvbnN0IHZvaWQqIGFycmF5LCBpbnQgbnVtQ29scywgaW50IG51bVJvd3MpOw0KLUlNQVFfRlVOQyBJbWFnZSogSU1BUV9TVERDQUxMIGltYXFDcmVhdGVJbWFnZShJbWFnZVR5cGUgdHlwZSwgaW50IGJvcmRlclNpemUpOw0KLUlNQVFfRlVOQyB2b2lkKiAgSU1BUV9TVERDQUxMIGltYXFJbWFnZVRvQXJyYXkoY29uc3QgSW1hZ2UqIGltYWdlLCBSZWN0IHJlY3QsIGludCogY29sdW1ucywgaW50KiByb3dzKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ29sb3IgUHJvY2Vzc2luZyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgQ29sb3IyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNoYW5nZUNvbG9yU3BhY2UyKGNvbnN0IENvbG9yMiogc291cmNlQ29sb3IsIENvbG9yTW9kZSBzb3VyY2VTcGFjZSwgQ29sb3JNb2RlIGRlc3RTcGFjZSwgZG91YmxlIG9mZnNldCwgY29uc3QgQ0lFWFlaVmFsdWUqIHdoaXRlUmVmZXJlbmNlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbG9yQkNHVHJhbnNmb3JtKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBCQ0dPcHRpb25zKiByZWRPcHRpb25zLCBjb25zdCBCQ0dPcHRpb25zKiBncmVlbk9wdGlvbnMsIGNvbnN0IEJDR09wdGlvbnMqIGJsdWVPcHRpb25zLCBjb25zdCBJbWFnZSogbWFzayk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb2xvckVxdWFsaXplKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBpbnQgY29sb3JFcXVhbGl6YXRpb24pOw0KLUlNQVFfRlVOQyBDb2xvckhpc3RvZ3JhbVJlcG9ydCogICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ29sb3JIaXN0b2dyYW0yKEltYWdlKiBpbWFnZSwgaW50IG51bUNsYXNzZXMsIENvbG9yTW9kZSBtb2RlLCBjb25zdCBDSUVYWVpWYWx1ZSogd2hpdGVSZWZlcmVuY2UsIEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbG9yTG9va3VwKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBDb2xvck1vZGUgbW9kZSwgY29uc3QgSW1hZ2UqIG1hc2ssIGNvbnN0IHNob3J0KiBwbGFuZTEsIGNvbnN0IHNob3J0KiBwbGFuZTIsIGNvbnN0IHNob3J0KiBwbGFuZTMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ29sb3JUaHJlc2hvbGQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCByZXBsYWNlVmFsdWUsIENvbG9yTW9kZSBtb2RlLCBjb25zdCBSYW5nZSogcGxhbmUxUmFuZ2UsIGNvbnN0IFJhbmdlKiBwbGFuZTJSYW5nZSwgY29uc3QgUmFuZ2UqIHBsYW5lM1JhbmdlKTsNCi1JTUFRX0ZVTkMgU3VwZXJ2aXNlZENvbG9yU2VnbWVudGF0aW9uUmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcVN1cGVydmlzZWRDb2xvclNlZ21lbnRhdGlvbihDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgSW1hZ2UqIGxhYmVsSW1hZ2UsIGNvbnN0IEltYWdlKiBzcmNJbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IFJPSUxhYmVsKiBsYWJlbEluLCB1bnNpZ25lZCBpbnQgbnVtTGFiZWxJbiwgaW50IG1heERpc3RhbmNlLCBpbnQgbWluSWRlbnRpZmljYXRpb25TY29yZSwgY29uc3QgQ29sb3JTZWdtZW5hdGlvbk9wdGlvbnMqIHNlZ21lbnRPcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldENvbG9yU2VnbWVudGF0aW9uTWF4RGlzdGFuY2UoQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIGNvbnN0IENvbG9yU2VnbWVuYXRpb25PcHRpb25zKiBzZWdtZW50T3B0aW9ucywgU2VnbWVudGF0aW9uRGlzdGFuY2VMZXZlbCBkaXN0TGV2ZWwsIGludCogbWF4RGlzdGFuY2UpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBUcmFuc2Zvcm0gZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUJDR1RyYW5zZm9ybShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgY29uc3QgQkNHT3B0aW9ucyogb3B0aW9ucywgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFFcXVhbGl6ZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgZmxvYXQgbWluLCBmbG9hdCBtYXgsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxSW52ZXJzZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFNYXRoVHJhbnNmb3JtKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBNYXRoVHJhbnNmb3JtTWV0aG9kIG1ldGhvZCwgZmxvYXQgcmFuZ2VNaW4sIGZsb2F0IHJhbmdlTWF4LCBmbG9hdCBwb3dlciwgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFXYXRlcnNoZWRUcmFuc2Zvcm0oSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGludCBjb25uZWN0aXZpdHk4LCBpbnQqIHpvbmVDb3VudCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUxvb2t1cDIoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGNvbnN0IGludCogdGFibGUsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi0NCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgV2luZG93IE1hbmFnZW1lbnQgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxQXJlU2Nyb2xsYmFyc1Zpc2libGUoaW50IHdpbmRvd051bWJlciwgaW50KiB2aXNpYmxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFCcmluZ1dpbmRvd1RvVG9wKGludCB3aW5kb3dOdW1iZXIpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldE1vdXNlUG9zKFBvaW50KiBwb3NpdGlvbiwgaW50KiB3aW5kb3dOdW1iZXIpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldFdpbmRvd0JhY2tncm91bmQoaW50IHdpbmRvd051bWJlciwgV2luZG93QmFja2dyb3VuZEZpbGxTdHlsZSogZmlsbFN0eWxlLCBXaW5kb3dCYWNrZ3JvdW5kSGF0Y2hTdHlsZSogaGF0Y2hTdHlsZSwgUkdCVmFsdWUqIGZpbGxDb2xvciwgUkdCVmFsdWUqIGJhY2tncm91bmRDb2xvcik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxR2V0V2luZG93RGlzcGxheU1hcHBpbmcoaW50IHdpbmRvd051bSwgRGlzcGxheU1hcHBpbmcqIG1hcHBpbmcpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldFdpbmRvd0dyaWQoaW50IHdpbmRvd051bWJlciwgaW50KiB4UmVzb2x1dGlvbiwgaW50KiB5UmVzb2x1dGlvbik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxR2V0V2luZG93SGFuZGxlKGludCogaGFuZGxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFHZXRXaW5kb3dQb3MoaW50IHdpbmRvd051bWJlciwgUG9pbnQqIHBvc2l0aW9uKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFHZXRXaW5kb3dTaXplKGludCB3aW5kb3dOdW1iZXIsIGludCogd2lkdGgsIGludCogaGVpZ2h0KTsNCi1JTUFRX0ZVTkMgY2hhciogSU1BUV9TVERDQUxMIGltYXFHZXRXaW5kb3dUaXRsZShpbnQgd2luZG93TnVtYmVyKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFHZXRXaW5kb3dab29tMihpbnQgd2luZG93TnVtYmVyLCBmbG9hdCogeFpvb20sIGZsb2F0KiB5Wm9vbSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxSXNXaW5kb3dOb25UZWFyaW5nKGludCB3aW5kb3dOdW1iZXIsIGludCogbm9uVGVhcmluZyk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxSXNXaW5kb3dWaXNpYmxlKGludCB3aW5kb3dOdW1iZXIsIGludCogdmlzaWJsZSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxTW92ZVdpbmRvdyhpbnQgd2luZG93TnVtYmVyLCBQb2ludCBwb3NpdGlvbik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0dXBXaW5kb3coaW50IHdpbmRvd051bWJlciwgaW50IGNvbmZpZ3VyYXRpb24pOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNldFdpbmRvd0JhY2tncm91bmQoaW50IHdpbmRvd051bWJlciwgV2luZG93QmFja2dyb3VuZEZpbGxTdHlsZSBmaWxsU3R5bGUsIFdpbmRvd0JhY2tncm91bmRIYXRjaFN0eWxlIGhhdGNoU3R5bGUsIGNvbnN0IFJHQlZhbHVlKiBmaWxsQ29sb3IsIGNvbnN0IFJHQlZhbHVlKiBiYWNrZ3JvdW5kQ29sb3IpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNldFdpbmRvd0Rpc3BsYXlNYXBwaW5nKGludCB3aW5kb3dOdW1iZXIsIGNvbnN0IERpc3BsYXlNYXBwaW5nKiBtYXBwaW5nKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTZXRXaW5kb3dHcmlkKGludCB3aW5kb3dOdW1iZXIsIGludCB4UmVzb2x1dGlvbiwgaW50IHlSZXNvbHV0aW9uKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTZXRXaW5kb3dNYXhDb250b3VyQ291bnQoaW50IHdpbmRvd051bWJlciwgdW5zaWduZWQgaW50IG1heENvbnRvdXJDb3VudCk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0V2luZG93Tm9uVGVhcmluZyhpbnQgd2luZG93TnVtYmVyLCBpbnQgbm9uVGVhcmluZyk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0V2luZG93UGFsZXR0ZShpbnQgd2luZG93TnVtYmVyLCBQYWxldHRlVHlwZSB0eXBlLCBjb25zdCBSR0JWYWx1ZSogcGFsZXR0ZSwgaW50IG51bUNvbG9ycyk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0V2luZG93U2l6ZShpbnQgd2luZG93TnVtYmVyLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNldFdpbmRvd1RocmVhZFBvbGljeShXaW5kb3dUaHJlYWRQb2xpY3kgcG9saWN5KTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTZXRXaW5kb3dUaXRsZShpbnQgd2luZG93TnVtYmVyLCBjb25zdCBjaGFyKiB0aXRsZSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0V2luZG93Wm9vbVRvRml0KGludCB3aW5kb3dOdW1iZXIsIGludCB6b29tVG9GaXQpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNob3dTY3JvbGxiYXJzKGludCB3aW5kb3dOdW1iZXIsIGludCB2aXNpYmxlKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFab29tV2luZG93MihpbnQgd2luZG93TnVtYmVyLCBmbG9hdCB4Wm9vbSwgZmxvYXQgeVpvb20sIFBvaW50IGNlbnRlcik7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFV0aWxpdGllcyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgY29uc3QgZmxvYXQqIElNQVFfU1REQ0FMTCBpbWFxR2V0S2VybmVsKEtlcm5lbEZhbWlseSBmYW1pbHksIGludCBzaXplLCBpbnQgbnVtYmVyKTsNCi1JTUFRX0ZVTkMgQW5udWx1cyAgICAgIElNQVFfU1REQ0FMTCBpbWFxTWFrZUFubnVsdXMoUG9pbnQgY2VudGVyLCBpbnQgaW5uZXJSYWRpdXMsIGludCBvdXRlclJhZGl1cywgZG91YmxlIHN0YXJ0QW5nbGUsIGRvdWJsZSBlbmRBbmdsZSk7DQotSU1BUV9GVU5DIFBvaW50ICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1ha2VQb2ludChpbnQgeENvb3JkaW5hdGUsIGludCB5Q29vcmRpbmF0ZSk7DQotSU1BUV9GVU5DIFBvaW50RmxvYXQgICBJTUFRX1NURENBTEwgaW1hcU1ha2VQb2ludEZsb2F0KGZsb2F0IHhDb29yZGluYXRlLCBmbG9hdCB5Q29vcmRpbmF0ZSk7DQotSU1BUV9GVU5DIFJlY3QgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1ha2VSZWN0KGludCB0b3AsIGludCBsZWZ0LCBpbnQgaGVpZ2h0LCBpbnQgd2lkdGgpOw0KLUlNQVFfRlVOQyBSZWN0ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNYWtlUmVjdEZyb21Sb3RhdGVkUmVjdChSb3RhdGVkUmVjdCByb3RhdGVkUmVjdCk7DQotSU1BUV9GVU5DIFJvdGF0ZWRSZWN0ICBJTUFRX1NURENBTEwgaW1hcU1ha2VSb3RhdGVkUmVjdChpbnQgdG9wLCBpbnQgbGVmdCwgaW50IGhlaWdodCwgaW50IHdpZHRoLCBkb3VibGUgYW5nbGUpOw0KLUlNQVFfRlVOQyBSb3RhdGVkUmVjdCAgSU1BUV9TVERDQUxMIGltYXFNYWtlUm90YXRlZFJlY3RGcm9tUmVjdChSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNdWx0aWNvcmVPcHRpb25zKE11bHRpY29yZU9wZXJhdGlvbiBvcGVyYXRpb24sIHVuc2lnbmVkIGludCogY3VzdG9tTnVtQ29yZXMpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBUb29sIFdpbmRvdyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFDbG9zZVRvb2xXaW5kb3codm9pZCk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxR2V0Q3VycmVudFRvb2woVG9vbCogY3VycmVudFRvb2wpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldExhc3RFdmVudChXaW5kb3dFdmVudFR5cGUqIHR5cGUsIGludCogd2luZG93TnVtYmVyLCBUb29sKiB0b29sLCBSZWN0KiByZWN0KTsNCi1JTUFRX0ZVTkMgdm9pZCogSU1BUV9TVERDQUxMIGltYXFHZXRUb29sV2luZG93SGFuZGxlKHZvaWQpOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcUdldFRvb2xXaW5kb3dQb3MoUG9pbnQqIHBvc2l0aW9uKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFJc1Rvb2xXaW5kb3dWaXNpYmxlKGludCogdmlzaWJsZSk7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxTW92ZVRvb2xXaW5kb3coUG9pbnQgcG9zaXRpb24pOw0KLUlNQVFfRlVOQyBpbnQgICBJTUFRX1NURENBTEwgaW1hcVNldEN1cnJlbnRUb29sKFRvb2wgY3VycmVudFRvb2wpOw0KLSNpZm5kZWYgX19HTlVDX18NCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTZXRFdmVudENhbGxiYWNrKEV2ZW50Q2FsbGJhY2sgY2FsbGJhY2ssIGludCBzeW5jaHJvbm91cyk7DQotI2VuZGlmDQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0VG9vbENvbG9yKGNvbnN0IFJHQlZhbHVlKiBjb2xvcik7DQotSU1BUV9GVU5DIGludCAgIElNQVFfU1REQ0FMTCBpbWFxU2V0dXBUb29sV2luZG93KGludCBzaG93Q29vcmRpbmF0ZXMsIGludCBtYXhJY29uc1BlckxpbmUsIGNvbnN0IFRvb2xXaW5kb3dPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgSU1BUV9TVERDQUxMIGltYXFTaG93VG9vbFdpbmRvdyhpbnQgdmlzaWJsZSk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIE1ldGVyIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBNZXRlckFyYyogSU1BUV9TVERDQUxMIGltYXFHZXRNZXRlckFyYyhpbnQgbGlnaHROZWVkbGUsIE1ldGVyQXJjTW9kZSBtb2RlLCBjb25zdCBST0kqIHJvaSwgUG9pbnRGbG9hdCBiYXNlLCBQb2ludEZsb2F0IHN0YXJ0LCBQb2ludEZsb2F0IGVuZCk7DQotSU1BUV9GVU5DIGludCAgICAgICBJTUFRX1NURENBTEwgaW1hcVJlYWRNZXRlcihjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IE1ldGVyQXJjKiBhcmNJbmZvLCBkb3VibGUqIHBlcmNlbnRhZ2UsIFBvaW50RmxvYXQqIGVuZE9mTmVlZGxlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ2FsaWJyYXRpb24gZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ29weUNhbGlicmF0aW9uSW5mbzIoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIFBvaW50IG9mZnNldCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ29ycmVjdENhbGlicmF0ZWRJbWFnZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgUGl4ZWxWYWx1ZSBmaWxsLCBJbnRlcnBvbGF0aW9uTWV0aG9kIG1ldGhvZCwgY29uc3QgUk9JKiByb2kpOw0KLUlNQVFfRlVOQyBDYWxpYnJhdGlvbkluZm8qICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldENhbGlicmF0aW9uSW5mbzIoY29uc3QgSW1hZ2UqIGltYWdlKTsNCi1JTUFRX0ZVTkMgQ2FsaWJyYXRpb25JbmZvKiAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDYWxpYnJhdGlvbkluZm8zKEltYWdlKiBpbWFnZSwgdW5zaWduZWQgaW50IGlzR2V0RXJyb3JNYXApOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuQ2FsaWJyYXRpb25HcmlkKEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IExlYXJuQ2FsaWJyYXRpb25PcHRpb25zKiBvcHRpb25zLCBjb25zdCBHcmlkRGVzY3JpcHRvciogZ3JpZCwgY29uc3QgQ29vcmRpbmF0ZVN5c3RlbSogc3lzdGVtLCBjb25zdCBSYW5nZUZsb2F0KiByYW5nZSwgZmxvYXQqIHF1YWxpdHkpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuQ2FsaWJyYXRpb25Qb2ludHMoSW1hZ2UqIGltYWdlLCBjb25zdCBDYWxpYnJhdGlvblBvaW50cyogcG9pbnRzLCBjb25zdCBST0kqIHJvaSwgY29uc3QgTGVhcm5DYWxpYnJhdGlvbk9wdGlvbnMqIG9wdGlvbnMsIGNvbnN0IEdyaWREZXNjcmlwdG9yKiBncmlkLCBjb25zdCBDb29yZGluYXRlU3lzdGVtKiBzeXN0ZW0sIGZsb2F0KiBxdWFsaXR5KTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRDb29yZGluYXRlU3lzdGVtKEltYWdlKiBpbWFnZSwgY29uc3QgQ29vcmRpbmF0ZVN5c3RlbSogc3lzdGVtKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRTaW1wbGVDYWxpYnJhdGlvbihJbWFnZSogaW1hZ2UsIFNjYWxpbmdNZXRob2QgbWV0aG9kLCBpbnQgbGVhcm5UYWJsZSwgY29uc3QgR3JpZERlc2NyaXB0b3IqIGdyaWQsIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIHN5c3RlbSk7DQotSU1BUV9GVU5DIFRyYW5zZm9ybVJlcG9ydCogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxVHJhbnNmb3JtUGl4ZWxUb1JlYWxXb3JsZChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFBvaW50RmxvYXQqIHBpeGVsQ29vcmRpbmF0ZXMsIGludCBudW1Db29yZGluYXRlcyk7DQotSU1BUV9GVU5DIFRyYW5zZm9ybVJlcG9ydCogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxVHJhbnNmb3JtUmVhbFdvcmxkVG9QaXhlbChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFBvaW50RmxvYXQqIHJlYWxXb3JsZENvb3JkaW5hdGVzLCBpbnQgbnVtQ29vcmRpbmF0ZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNldFNpbXBsZUNhbGlicmF0aW9uMihJbWFnZSogaW1hZ2UsIGNvbnN0IEdyaWREZXNjcmlwdG9yKiBncmlkRGVzY3JpcHRvcik7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ2FsaWJyYXRpb25TZXRBeGlzSW5mbyhJbWFnZSogaW1hZ2UsIENvb3JkaW5hdGVTeXN0ZW0qIGF4aXNJbmZvKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDYWxpYnJhdGlvbkdldFRodW1ibmFpbEltYWdlKEltYWdlKiB0ZW1wbGF0ZUltYWdlLCBJbWFnZSogaW1hZ2UsIENhbGlicmF0aW9uVGh1bWJuYWlsVHlwZSB0eXBlLCB1bnNpZ25lZCBpbnQgaW5kZXgpOw0KLUlNQVFfRlVOQyBHZXRDYWxpYnJhdGlvbkluZm9SZXBvcnQqICBJTUFRX1NURENBTEwgaW1hcUNhbGlicmF0aW9uR2V0Q2FsaWJyYXRpb25JbmZvKEltYWdlKiBpbWFnZSwgdW5zaWduZWQgaW50IGlzR2V0RXJyb3JNYXApOw0KLUlNQVFfRlVOQyBHZXRDYW1lcmFQYXJhbWV0ZXJzUmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcUNhbGlicmF0aW9uR2V0Q2FtZXJhUGFyYW1ldGVycyhJbWFnZSogdGVtcGxhdGVJbWFnZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ2FsaWJyYXRpb25Db21wYWN0SW5mb3JtYXRpb24oSW1hZ2UqIGltYWdlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgUGl4ZWwgTWFuaXB1bGF0aW9uIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFBcnJheVRvQ29tcGxleFBsYW5lKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBmbG9hdCogbmV3UGl4ZWxzLCBDb21wbGV4UGxhbmUgcGxhbmUpOw0KLUlNQVFfRlVOQyBmbG9hdCogSU1BUV9TVERDQUxMIGltYXFDb21wbGV4UGxhbmVUb0FycmF5KGNvbnN0IEltYWdlKiBpbWFnZSwgQ29tcGxleFBsYW5lIHBsYW5lLCBSZWN0IHJlY3QsIGludCogcm93cywgaW50KiBjb2x1bW5zKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxRXh0cmFjdENvbG9yUGxhbmVzKGNvbnN0IEltYWdlKiBpbWFnZSwgQ29sb3JNb2RlIG1vZGUsIEltYWdlKiBwbGFuZTEsIEltYWdlKiBwbGFuZTIsIEltYWdlKiBwbGFuZTMpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFFeHRyYWN0Q29tcGxleFBsYW5lKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBDb21wbGV4UGxhbmUgcGxhbmUpOw0KLUlNQVFfRlVOQyBpbnQgICAgSU1BUV9TVERDQUxMIGltYXFGaWxsSW1hZ2UoSW1hZ2UqIGltYWdlLCBQaXhlbFZhbHVlIHZhbHVlLCBjb25zdCBJbWFnZSogbWFzayk7DQotSU1BUV9GVU5DIHZvaWQqICBJTUFRX1NURENBTEwgaW1hcUdldExpbmUoY29uc3QgSW1hZ2UqIGltYWdlLCBQb2ludCBzdGFydCwgUG9pbnQgZW5kLCBpbnQqIG51bVBvaW50cyk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcUdldFBpeGVsKGNvbnN0IEltYWdlKiBpbWFnZSwgUG9pbnQgcGl4ZWwsIFBpeGVsVmFsdWUqIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50ICAgIElNQVFfU1REQ0FMTCBpbWFxUmVwbGFjZUNvbG9yUGxhbmVzKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBDb2xvck1vZGUgbW9kZSwgY29uc3QgSW1hZ2UqIHBsYW5lMSwgY29uc3QgSW1hZ2UqIHBsYW5lMiwgY29uc3QgSW1hZ2UqIHBsYW5lMyk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVJlcGxhY2VDb21wbGV4UGxhbmUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGNvbnN0IEltYWdlKiBuZXdWYWx1ZXMsIENvbXBsZXhQbGFuZSBwbGFuZSk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVNldExpbmUoSW1hZ2UqIGltYWdlLCBjb25zdCB2b2lkKiBhcnJheSwgaW50IGFycmF5U2l6ZSwgUG9pbnQgc3RhcnQsIFBvaW50IGVuZCk7DQotSU1BUV9GVU5DIGludCAgICBJTUFRX1NURENBTEwgaW1hcVNldFBpeGVsKEltYWdlKiBpbWFnZSwgUG9pbnQgY29vcmQsIFBpeGVsVmFsdWUgdmFsdWUpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBDb2xvciBNYXRjaGluZyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgQ29sb3JJbmZvcm1hdGlvbiogSU1BUV9TVERDQUxMIGltYXFMZWFybkNvbG9yKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIENvbG9yU2Vuc2l0aXZpdHkgc2Vuc2l0aXZpdHksIGludCBzYXR1cmF0aW9uKTsNCi1JTUFRX0ZVTkMgaW50KiAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNYXRjaENvbG9yKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgQ29sb3JJbmZvcm1hdGlvbiogaW5mbywgY29uc3QgUk9JKiByb2ksIGludCogbnVtU2NvcmVzKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgRnJlcXVlbmN5IERvbWFpbiBBbmFseXNpcyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxQXR0ZW51YXRlKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBBdHRlbnVhdGVNb2RlIGhpZ2hsb3cpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFDb25qdWdhdGUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFGRlQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFGbGlwRnJlcXVlbmNpZXMoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFJbnZlcnNlRkZUKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxVHJ1bmNhdGUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFRydW5jYXRlTW9kZSBoaWdobG93LCBmbG9hdCByYXRpb1RvS2VlcCk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEJhcmNvZGUgSS9PIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdyYWRlRGF0YU1hdHJpeEJhcmNvZGVBSU0oY29uc3QgSW1hZ2UqIGltYWdlLCBBSU1HcmFkZVJlcG9ydCogcmVwb3J0KTsNCi1JTUFRX0ZVTkMgQmFyY29kZUluZm8qICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWFkQmFyY29kZShjb25zdCBJbWFnZSogaW1hZ2UsIEJhcmNvZGVUeXBlIHR5cGUsIGNvbnN0IFJPSSogcm9pLCBpbnQgdmFsaWRhdGUpOw0KLUlNQVFfRlVOQyBEYXRhTWF0cml4UmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcVJlYWREYXRhTWF0cml4QmFyY29kZTIoSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgRGF0YU1hdHJpeEdyYWRpbmdNb2RlIHByZXBhcmVGb3JHcmFkaW5nLCBjb25zdCBEYXRhTWF0cml4RGVzY3JpcHRpb25PcHRpb25zKiBkZXNjcmlwdGlvbk9wdGlvbnMsIGNvbnN0IERhdGFNYXRyaXhTaXplT3B0aW9ucyogc2l6ZU9wdGlvbnMsIGNvbnN0IERhdGFNYXRyaXhTZWFyY2hPcHRpb25zKiBzZWFyY2hPcHRpb25zKTsNCi1JTUFRX0ZVTkMgQmFyY29kZTJESW5mbyogICAgSU1BUV9TVERDQUxMIGltYXFSZWFkUERGNDE3QmFyY29kZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBCYXJjb2RlMkRTZWFyY2hNb2RlIHNlYXJjaE1vZGUsIHVuc2lnbmVkIGludCogbnVtQmFyY29kZXMpOw0KLUlNQVFfRlVOQyBRUkNvZGVSZXBvcnQqICAgICBJTUFRX1NURENBTEwgaW1hcVJlYWRRUkNvZGUoSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgUVJHcmFkaW5nTW9kZSByZXNlcnZlZCwgY29uc3QgUVJDb2RlRGVzY3JpcHRpb25PcHRpb25zKiBkZXNjcmlwdGlvbk9wdGlvbnMsIGNvbnN0IFFSQ29kZVNpemVPcHRpb25zKiBzaXplT3B0aW9ucywgY29uc3QgUVJDb2RlU2VhcmNoT3B0aW9ucyogc2VhcmNoT3B0aW9ucyk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIExDRCBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgICAgICBJTUFRX1NURENBTEwgaW1hcUZpbmRMQ0RTZWdtZW50cyhST0kqIHJvaSwgY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBMQ0RPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgTENEUmVwb3J0KiBJTUFRX1NURENBTEwgaW1hcVJlYWRMQ0QoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgY29uc3QgTENET3B0aW9ucyogb3B0aW9ucyk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFNoYXBlIE1hdGNoaW5nIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBTaGFwZVJlcG9ydCogSU1BUV9TVERDQUxMIGltYXFNYXRjaFNoYXBlKEltYWdlKiBkZXN0LCBJbWFnZSogc291cmNlLCBjb25zdCBJbWFnZSogdGVtcGxhdGVJbWFnZSwgaW50IHNjYWxlSW52YXJpYW50LCBpbnQgY29ubmVjdGl2aXR5OCwgZG91YmxlIHRvbGVyYW5jZSwgaW50KiBudW1NYXRjaGVzKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ29udG91cnMgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIENvbnRvdXJJRCAgICAgSU1BUV9TVERDQUxMIGltYXFBZGRBbm51bHVzQ29udG91cihST0kqIHJvaSwgQW5udWx1cyBhbm51bHVzKTsNCi1JTUFRX0ZVTkMgQ29udG91cklEICAgICBJTUFRX1NURENBTEwgaW1hcUFkZENsb3NlZENvbnRvdXIoUk9JKiByb2ksIGNvbnN0IFBvaW50KiBwb2ludHMsIGludCBudW1Qb2ludHMpOw0KLUlNQVFfRlVOQyBDb250b3VySUQgICAgIElNQVFfU1REQ0FMTCBpbWFxQWRkTGluZUNvbnRvdXIoUk9JKiByb2ksIFBvaW50IHN0YXJ0LCBQb2ludCBlbmQpOw0KLUlNQVFfRlVOQyBDb250b3VySUQgICAgIElNQVFfU1REQ0FMTCBpbWFxQWRkT3BlbkNvbnRvdXIoUk9JKiByb2ksIGNvbnN0IFBvaW50KiBwb2ludHMsIGludCBudW1Qb2ludHMpOw0KLUlNQVFfRlVOQyBDb250b3VySUQgICAgIElNQVFfU1REQ0FMTCBpbWFxQWRkT3ZhbENvbnRvdXIoUk9JKiByb2ksIFJlY3QgYm91bmRpbmdCb3gpOw0KLUlNQVFfRlVOQyBDb250b3VySUQgICAgIElNQVFfU1REQ0FMTCBpbWFxQWRkUG9pbnRDb250b3VyKFJPSSogcm9pLCBQb2ludCBwb2ludCk7DQotSU1BUV9GVU5DIENvbnRvdXJJRCAgICAgSU1BUV9TVERDQUxMIGltYXFBZGRSZWN0Q29udG91cihST0kqIHJvaSwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgQ29udG91cklEICAgICBJTUFRX1NURENBTEwgaW1hcUFkZFJvdGF0ZWRSZWN0Q29udG91cjIoUk9JKiByb2ksIFJvdGF0ZWRSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBDb250b3VySUQgICAgIElNQVFfU1REQ0FMTCBpbWFxQ29weUNvbnRvdXIoUk9JKiBkZXN0Um9pLCBjb25zdCBST0kqIHNvdXJjZVJvaSwgQ29udG91cklEIGlkKTsNCi1JTUFRX0ZVTkMgQ29udG91cklEICAgICBJTUFRX1NURENBTEwgaW1hcUdldENvbnRvdXIoY29uc3QgUk9JKiByb2ksIHVuc2lnbmVkIGludCBpbmRleCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDb250b3VyQ29sb3IoY29uc3QgUk9JKiByb2ksIENvbnRvdXJJRCBpZCwgUkdCVmFsdWUqIGNvbnRvdXJDb2xvcik7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDb250b3VyQ291bnQoY29uc3QgUk9JKiByb2kpOw0KLUlNQVFfRlVOQyBDb250b3VySW5mbzIqIElNQVFfU1REQ0FMTCBpbWFxR2V0Q29udG91ckluZm8yKGNvbnN0IFJPSSogcm9pLCBDb250b3VySUQgaWQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxTW92ZUNvbnRvdXIoUk9JKiByb2ksIENvbnRvdXJJRCBpZCwgaW50IGRlbHRhWCwgaW50IGRlbHRhWSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZW1vdmVDb250b3VyKFJPSSogcm9pLCBDb250b3VySUQgaWQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2V0Q29udG91ckNvbG9yKFJPSSogcm9pLCBDb250b3VySUQgaWQsIGNvbnN0IFJHQlZhbHVlKiBjb2xvcik7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFJlZ2lvbnMgb2YgSW50ZXJlc3QgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgSU1BUV9TVERDQUxMIGltYXFDb25zdHJ1Y3RST0kyKGNvbnN0IEltYWdlKiBpbWFnZSwgUk9JKiByb2ksIFRvb2wgaW5pdGlhbFRvb2wsIGNvbnN0IFRvb2xXaW5kb3dPcHRpb25zKiB0b29scywgY29uc3QgQ29uc3RydWN0Uk9JT3B0aW9uczIqIG9wdGlvbnMsIGludCogb2theSk7DQotSU1BUV9GVU5DIFJPSSogSU1BUV9TVERDQUxMIGltYXFDcmVhdGVST0kodm9pZCk7DQotSU1BUV9GVU5DIGludCAgSU1BUV9TVERDQUxMIGltYXFHZXRST0lCb3VuZGluZ0JveChjb25zdCBST0kqIHJvaSwgUmVjdCogYm91bmRpbmdCb3gpOw0KLUlNQVFfRlVOQyBpbnQgIElNQVFfU1REQ0FMTCBpbWFxR2V0Uk9JQ29sb3IoY29uc3QgUk9JKiByb2ksIFJHQlZhbHVlKiByb2lDb2xvcik7DQotSU1BUV9GVU5DIFJPSSogSU1BUV9TVERDQUxMIGltYXFHZXRXaW5kb3dST0koaW50IHdpbmRvd051bWJlcik7DQotSU1BUV9GVU5DIGludCAgSU1BUV9TVERDQUxMIGltYXFTZXRST0lDb2xvcihST0kqIHJvaSwgY29uc3QgUkdCVmFsdWUqIGNvbG9yKTsNCi1JTUFRX0ZVTkMgaW50ICBJTUFRX1NURENBTEwgaW1hcVNldFdpbmRvd1JPSShpbnQgd2luZG93TnVtYmVyLCBjb25zdCBST0kqIHJvaSk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEltYWdlIEFuYWx5c2lzIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ2VudHJvaWQoY29uc3QgSW1hZ2UqIGltYWdlLCBQb2ludEZsb2F0KiBjZW50cm9pZCwgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBDdXJ2ZSogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRXh0cmFjdEN1cnZlcyhjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgdW5zaWduZWQgaW50KiBudW1DdXJ2ZXMpOw0KLUlNQVFfRlVOQyBIaXN0b2dyYW1SZXBvcnQqIElNQVFfU1REQ0FMTCBpbWFxSGlzdG9ncmFtKGNvbnN0IEltYWdlKiBpbWFnZSwgaW50IG51bUNsYXNzZXMsIGZsb2F0IG1pbiwgZmxvYXQgbWF4LCBjb25zdCBJbWFnZSogbWFzayk7DQotSU1BUV9GVU5DIExpbmVhckF2ZXJhZ2VzKiAgSU1BUV9TVERDQUxMIGltYXFMaW5lYXJBdmVyYWdlczIoSW1hZ2UqIGltYWdlLCBMaW5lYXJBdmVyYWdlc01vZGUgbW9kZSwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgTGluZVByb2ZpbGUqICAgICBJTUFRX1NURENBTEwgaW1hcUxpbmVQcm9maWxlKGNvbnN0IEltYWdlKiBpbWFnZSwgUG9pbnQgc3RhcnQsIFBvaW50IGVuZCk7DQotSU1BUV9GVU5DIFF1YW50aWZ5UmVwb3J0KiAgSU1BUV9TVERDQUxMIGltYXFRdWFudGlmeShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgRXJyb3IgTWFuYWdlbWVudCBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDbGVhckVycm9yKHZvaWQpOw0KLUlNQVFfRlVOQyBjaGFyKiAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldEVycm9yVGV4dChpbnQgZXJyb3JDb2RlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRMYXN0RXJyb3Iodm9pZCk7DQotSU1BUV9GVU5DIGNvbnN0IGNoYXIqIElNQVFfU1REQ0FMTCBpbWFxR2V0TGFzdEVycm9yRnVuYyh2b2lkKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRFcnJvcihpbnQgZXJyb3JDb2RlLCBjb25zdCBjaGFyKiBmdW5jdGlvbik7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFRocmVzaG9sZCBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgVGhyZXNob2xkRGF0YSogSU1BUV9TVERDQUxMIGltYXFBdXRvVGhyZXNob2xkMihJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgaW50IG51bUNsYXNzZXMsIFRocmVzaG9sZE1ldGhvZCBtZXRob2QsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFMb2NhbFRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgdW5zaWduZWQgaW50IHdpbmRvd1dpZHRoLCB1bnNpZ25lZCBpbnQgd2luZG93SGVpZ2h0LCBMb2NhbFRocmVzaG9sZE1ldGhvZCBtZXRob2QsIGRvdWJsZSBkZXZpYXRpb25XZWlnaHQsIE9iamVjdFR5cGUgdHlwZSwgZmxvYXQgcmVwbGFjZVZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFNYWdpY1dhbmQoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIFBvaW50IGNvb3JkLCBmbG9hdCB0b2xlcmFuY2UsIGludCBjb25uZWN0aXZpdHk4LCBmbG9hdCByZXBsYWNlVmFsdWUpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU11bHRpdGhyZXNob2xkKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBUaHJlc2hvbGREYXRhKiByYW5nZXMsIGludCBudW1SYW5nZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVRocmVzaG9sZChJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZSwgZmxvYXQgcmFuZ2VNaW4sIGZsb2F0IHJhbmdlTWF4LCBpbnQgdXNlTmV3VmFsdWUsIGZsb2F0IG5ld1ZhbHVlKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgTWVtb3J5IE1hbmFnZW1lbnQgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcURpc3Bvc2Uodm9pZCogb2JqZWN0KTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgUGF0dGVybiBNYXRjaGluZyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgQ2lyY2xlTWF0Y2gqICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcURldGVjdENpcmNsZXMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBDaXJjbGVEZXNjcmlwdG9yKiBjaXJjbGVEZXNjcmlwdG9yLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgU2hhcGVEZXRlY3Rpb25PcHRpb25zKiBzaGFwZURldGVjdGlvbk9wdGlvbnMsIGNvbnN0IFJPSSogcm9pLCBpbnQqIG51bU1hdGNoZXNSZXR1cm5lZCk7DQotSU1BUV9GVU5DIEVsbGlwc2VNYXRjaCogICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFEZXRlY3RFbGxpcHNlcyhjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEVsbGlwc2VEZXNjcmlwdG9yKiBlbGxpcHNlRGVzY3JpcHRvciwgY29uc3QgQ3VydmVPcHRpb25zKiBjdXJ2ZU9wdGlvbnMsIGNvbnN0IFNoYXBlRGV0ZWN0aW9uT3B0aW9ucyogc2hhcGVEZXRlY3Rpb25PcHRpb25zLCBjb25zdCBST0kqIHJvaSwgaW50KiBudW1NYXRjaGVzUmV0dXJuZWQpOw0KLUlNQVFfRlVOQyBMaW5lTWF0Y2gqICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRGV0ZWN0TGluZXMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBMaW5lRGVzY3JpcHRvciogbGluZURlc2NyaXB0b3IsIGNvbnN0IEN1cnZlT3B0aW9ucyogY3VydmVPcHRpb25zLCBjb25zdCBTaGFwZURldGVjdGlvbk9wdGlvbnMqIHNoYXBlRGV0ZWN0aW9uT3B0aW9ucywgY29uc3QgUk9JKiByb2ksIGludCogbnVtTWF0Y2hlc1JldHVybmVkKTsNCi1JTUFRX0ZVTkMgUmVjdGFuZ2xlTWF0Y2gqICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcURldGVjdFJlY3RhbmdsZXMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBSZWN0YW5nbGVEZXNjcmlwdG9yKiByZWN0YW5nbGVEZXNjcmlwdG9yLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgU2hhcGVEZXRlY3Rpb25PcHRpb25zKiBzaGFwZURldGVjdGlvbk9wdGlvbnMsIGNvbnN0IFJPSSogcm9pLCBpbnQqIG51bU1hdGNoZXNSZXR1cm5lZCk7DQotSU1BUV9GVU5DIEZlYXR1cmVEYXRhKiAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRHZW9tZXRyaWNGZWF0dXJlc0Zyb21DdXJ2ZXMoY29uc3QgQ3VydmUqIGN1cnZlcywgdW5zaWduZWQgaW50IG51bUN1cnZlcywgY29uc3QgRmVhdHVyZVR5cGUqIGZlYXR1cmVUeXBlcywgdW5zaWduZWQgaW50IG51bUZlYXR1cmVUeXBlcywgdW5zaWduZWQgaW50KiBudW1GZWF0dXJlcyk7DQotSU1BUV9GVU5DIEZlYXR1cmVEYXRhKiAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRHZW9tZXRyaWNUZW1wbGF0ZUZlYXR1cmVJbmZvKGNvbnN0IEltYWdlKiBwYXR0ZXJuLCB1bnNpZ25lZCBpbnQqIG51bUZlYXR1cmVzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuQ29sb3JQYXR0ZXJuKEltYWdlKiBpbWFnZSwgY29uc3QgTGVhcm5Db2xvclBhdHRlcm5PcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuR2VvbWV0cmljUGF0dGVybihJbWFnZSogaW1hZ2UsIFBvaW50RmxvYXQgb3JpZ2luT2Zmc2V0LCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgTGVhcm5HZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zKiBhZHZhbmNlZExlYXJuT3B0aW9ucywgY29uc3QgSW1hZ2UqIG1hc2spOw0KLUlNQVFfRlVOQyBNdWx0aXBsZUdlb21ldHJpY1BhdHRlcm4qIElNQVFfU1REQ0FMTCBpbWFxTGVhcm5NdWx0aXBsZUdlb21ldHJpY1BhdHRlcm5zKGNvbnN0IEltYWdlKiogcGF0dGVybnMsIHVuc2lnbmVkIGludCBudW1iZXJPZlBhdHRlcm5zLCBjb25zdCBTdHJpbmcyNTUqIGxhYmVscyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFMZWFyblBhdHRlcm4zKEltYWdlKiBpbWFnZSwgTGVhcm5pbmdNb2RlIGxlYXJuaW5nTW9kZSwgTGVhcm5QYXR0ZXJuQWR2YW5jZWRPcHRpb25zKiBhZHZhbmNlZE9wdGlvbnMsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgUGF0dGVybk1hdGNoKiAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1hdGNoQ29sb3JQYXR0ZXJuKGNvbnN0IEltYWdlKiBpbWFnZSwgSW1hZ2UqIHBhdHRlcm4sIGNvbnN0IE1hdGNoQ29sb3JQYXR0ZXJuT3B0aW9ucyogb3B0aW9ucywgUmVjdCBzZWFyY2hSZWN0LCBpbnQqIG51bU1hdGNoZXMpOw0KLUlNQVFfRlVOQyBHZW9tZXRyaWNQYXR0ZXJuTWF0Y2gyKiAgIElNQVFfU1REQ0FMTCBpbWFxTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuMihjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEltYWdlKiBwYXR0ZXJuLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuT3B0aW9ucyogbWF0Y2hPcHRpb25zLCBjb25zdCBNYXRjaEdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMyKiBhZHZhbmNlZE1hdGNoT3B0aW9ucywgY29uc3QgUk9JKiByb2ksIGludCogbnVtTWF0Y2hlcyk7DQotSU1BUV9GVU5DIEdlb21ldHJpY1BhdHRlcm5NYXRjaDIqICAgSU1BUV9TVERDQUxMIGltYXFNYXRjaE11bHRpcGxlR2VvbWV0cmljUGF0dGVybnMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBNdWx0aXBsZUdlb21ldHJpY1BhdHRlcm4qIG11bHRpcGxlUGF0dGVybiwgY29uc3QgUk9JKiByb2ksIGludCogbnVtTWF0Y2hlcyk7DQotSU1BUV9GVU5DIE11bHRpcGxlR2VvbWV0cmljUGF0dGVybiogSU1BUV9TVERDQUxMIGltYXFSZWFkTXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJuRmlsZShjb25zdCBjaGFyKiBmaWxlTmFtZSwgU3RyaW5nMjU1IGRlc2NyaXB0aW9uKTsNCi1JTUFRX0ZVTkMgUGF0dGVybk1hdGNoKiAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJlZmluZU1hdGNoZXMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBJbWFnZSogcGF0dGVybiwgY29uc3QgUGF0dGVybk1hdGNoKiBjYW5kaWRhdGVzSW4sIGludCBudW1DYW5kaWRhdGVzSW4sIE1hdGNoUGF0dGVybk9wdGlvbnMqIG9wdGlvbnMsIE1hdGNoUGF0dGVybkFkdmFuY2VkT3B0aW9ucyogYWR2YW5jZWRPcHRpb25zLCBpbnQqIG51bUNhbmRpZGF0ZXNPdXQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2V0TXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJuc09wdGlvbnMoTXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJuKiBtdWx0aXBsZVBhdHRlcm4sIGNvbnN0IGNoYXIqIGxhYmVsLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuT3B0aW9ucyogbWF0Y2hPcHRpb25zLCBjb25zdCBNYXRjaEdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMyKiBhZHZhbmNlZE1hdGNoT3B0aW9ucyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFXcml0ZU11bHRpcGxlR2VvbWV0cmljUGF0dGVybkZpbGUoY29uc3QgTXVsdGlwbGVHZW9tZXRyaWNQYXR0ZXJuKiBtdWx0aXBsZVBhdHRlcm4sIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBjb25zdCBjaGFyKiBkZXNjcmlwdGlvbik7DQotSU1BUV9GVU5DIEdlb21ldHJpY1BhdHRlcm5NYXRjaDMqICAgSU1BUV9TVERDQUxMIGltYXFNYXRjaEdlb21ldHJpY1BhdHRlcm4zKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgSW1hZ2UqIHBhdHRlcm4sIGNvbnN0IEN1cnZlT3B0aW9ucyogY3VydmVPcHRpb25zLCBjb25zdCBNYXRjaEdlb21ldHJpY1BhdHRlcm5PcHRpb25zKiBtYXRjaE9wdGlvbnMsIGNvbnN0IE1hdGNoR2VvbWV0cmljUGF0dGVybkFkdmFuY2VkT3B0aW9uczMqIGFkdmFuY2VkTWF0Y2hPcHRpb25zLCBjb25zdCBST0kqIHJvaSwgc2l6ZV90KiBudW1NYXRjaGVzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuR2VvbWV0cmljUGF0dGVybjIoSW1hZ2UqIGltYWdlLCBQb2ludEZsb2F0IG9yaWdpbk9mZnNldCwgZG91YmxlIGFuZ2xlT2Zmc2V0LCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgTGVhcm5HZW9tZXRyaWNQYXR0ZXJuQWR2YW5jZWRPcHRpb25zMiogYWR2YW5jZWRMZWFybk9wdGlvbnMsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgUGF0dGVybk1hdGNoKiAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1hdGNoUGF0dGVybjMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBJbWFnZSogcGF0dGVybiwgY29uc3QgTWF0Y2hQYXR0ZXJuT3B0aW9ucyogb3B0aW9ucywgY29uc3QgTWF0Y2hQYXR0ZXJuQWR2YW5jZWRPcHRpb25zKiBhZHZhbmNlZE9wdGlvbnMsIGNvbnN0IFJPSSogcm9pLCBpbnQqIG51bU1hdGNoZXMpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBPdmVybGF5IGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFDbGVhck92ZXJsYXkoSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUNvcHlPdmVybGF5KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcUdldE92ZXJsYXlQcm9wZXJ0aWVzKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgY2hhciogZ3JvdXAsIFRyYW5zZm9ybUJlaGF2aW9ycyogdHJhbnNmb3JtQmVoYXZpb3JzKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTWVyZ2VPdmVybGF5KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBSR0JWYWx1ZSogcGFsZXR0ZSwgdW5zaWduZWQgaW50IG51bUNvbG9ycywgY29uc3QgY2hhciogZ3JvdXApOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFPdmVybGF5QXJjKEltYWdlKiBpbWFnZSwgY29uc3QgQXJjSW5mbyogYXJjLCBjb25zdCBSR0JWYWx1ZSogY29sb3IsIERyYXdNb2RlIGRyYXdNb2RlLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU92ZXJsYXlCaXRtYXAoSW1hZ2UqIGltYWdlLCBQb2ludCBkZXN0TG9jLCBjb25zdCBSR0JWYWx1ZSogYml0bWFwLCB1bnNpZ25lZCBpbnQgbnVtQ29scywgdW5zaWduZWQgaW50IG51bVJvd3MsIGNvbnN0IGNoYXIqIGdyb3VwKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxT3ZlcmxheUNsb3NlZENvbnRvdXIoSW1hZ2UqIGltYWdlLCBjb25zdCBQb2ludCogcG9pbnRzLCBpbnQgbnVtUG9pbnRzLCBjb25zdCBSR0JWYWx1ZSogY29sb3IsIERyYXdNb2RlIGRyYXdNb2RlLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU92ZXJsYXlMaW5lKEltYWdlKiBpbWFnZSwgUG9pbnQgc3RhcnQsIFBvaW50IGVuZCwgY29uc3QgUkdCVmFsdWUqIGNvbG9yLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU92ZXJsYXlNZXRhZmlsZShJbWFnZSogaW1hZ2UsIGNvbnN0IHZvaWQqIG1ldGFmaWxlLCBSZWN0IHJlY3QsIGNvbnN0IGNoYXIqIGdyb3VwKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxT3ZlcmxheU9wZW5Db250b3VyKEltYWdlKiBpbWFnZSwgY29uc3QgUG9pbnQqIHBvaW50cywgaW50IG51bVBvaW50cywgY29uc3QgUkdCVmFsdWUqIGNvbG9yLCBjb25zdCBjaGFyKiBncm91cCk7DQotSU1BUV9GVU5DIGludCBJTUFRX1NURENBTEwgaW1hcU92ZXJsYXlPdmFsKEltYWdlKiBpbWFnZSwgUmVjdCBib3VuZGluZ0JveCwgY29uc3QgUkdCVmFsdWUqIGNvbG9yLCBEcmF3TW9kZSBkcmF3TW9kZSwgY2hhciogZ3JvdXApOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFPdmVybGF5UG9pbnRzKEltYWdlKiBpbWFnZSwgY29uc3QgUG9pbnQqIHBvaW50cywgaW50IG51bVBvaW50cywgY29uc3QgUkdCVmFsdWUqIGNvbG9ycywgaW50IG51bUNvbG9ycywgUG9pbnRTeW1ib2wgc3ltYm9sLCBjb25zdCBVc2VyUG9pbnRTeW1ib2wqIHVzZXJTeW1ib2wsIGNvbnN0IGNoYXIqIGdyb3VwKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxT3ZlcmxheVJlY3QoSW1hZ2UqIGltYWdlLCBSZWN0IHJlY3QsIGNvbnN0IFJHQlZhbHVlKiBjb2xvciwgRHJhd01vZGUgZHJhd01vZGUsIGNvbnN0IGNoYXIqIGdyb3VwKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxT3ZlcmxheVJPSShJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBQb2ludFN5bWJvbCBzeW1ib2wsIGNvbnN0IFVzZXJQb2ludFN5bWJvbCogdXNlclN5bWJvbCwgY29uc3QgY2hhciogZ3JvdXApOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFPdmVybGF5VGV4dChJbWFnZSogaW1hZ2UsIFBvaW50IG9yaWdpbiwgY29uc3QgY2hhciogdGV4dCwgY29uc3QgUkdCVmFsdWUqIGNvbG9yLCBjb25zdCBPdmVybGF5VGV4dE9wdGlvbnMqIG9wdGlvbnMsIGNvbnN0IGNoYXIqIGdyb3VwKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxU2V0T3ZlcmxheVByb3BlcnRpZXMoSW1hZ2UqIGltYWdlLCBjb25zdCBjaGFyKiBncm91cCwgVHJhbnNmb3JtQmVoYXZpb3JzKiB0cmFuc2Zvcm1CZWhhdmlvcnMpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBPQ1IgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIENoYXJTZXQqICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDcmVhdGVDaGFyU2V0KHZvaWQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRGVsZXRlQ2hhcihDaGFyU2V0KiBzZXQsIGludCBpbmRleCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDaGFyQ291bnQoY29uc3QgQ2hhclNldCogc2V0KTsNCi1JTUFRX0ZVTkMgQ2hhckluZm8yKiAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldENoYXJJbmZvMihjb25zdCBDaGFyU2V0KiBzZXQsIGludCBpbmRleCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWFkT0NSRmlsZShjb25zdCBjaGFyKiBmaWxlTmFtZSwgQ2hhclNldCogc2V0LCBTdHJpbmcyNTUgc2V0RGVzY3JpcHRpb24sIFJlYWRUZXh0T3B0aW9ucyogcmVhZE9wdGlvbnMsIE9DUlByb2Nlc3NpbmdPcHRpb25zKiBwcm9jZXNzaW5nT3B0aW9ucywgT0NSU3BhY2luZ09wdGlvbnMqIHNwYWNpbmdPcHRpb25zKTsNCi1JTUFRX0ZVTkMgUmVhZFRleHRSZXBvcnQzKiBJTUFRX1NURENBTEwgaW1hcVJlYWRUZXh0Myhjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IENoYXJTZXQqIHNldCwgY29uc3QgUk9JKiByb2ksIGNvbnN0IFJlYWRUZXh0T3B0aW9ucyogcmVhZE9wdGlvbnMsIGNvbnN0IE9DUlByb2Nlc3NpbmdPcHRpb25zKiBwcm9jZXNzaW5nT3B0aW9ucywgY29uc3QgT0NSU3BhY2luZ09wdGlvbnMqIHNwYWNpbmdPcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJlbmFtZUNoYXIoQ2hhclNldCogc2V0LCBpbnQgaW5kZXgsIGNvbnN0IGNoYXIqIG5ld0NoYXJWYWx1ZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRSZWZlcmVuY2VDaGFyKGNvbnN0IENoYXJTZXQqIHNldCwgaW50IGluZGV4LCBpbnQgaXNSZWZlcmVuY2VDaGFyKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVRyYWluQ2hhcnMoY29uc3QgSW1hZ2UqIGltYWdlLCBDaGFyU2V0KiBzZXQsIGludCBpbmRleCwgY29uc3QgY2hhciogY2hhclZhbHVlLCBjb25zdCBST0kqIHJvaSwgY29uc3QgT0NSUHJvY2Vzc2luZ09wdGlvbnMqIHByb2Nlc3NpbmdPcHRpb25zLCBjb25zdCBPQ1JTcGFjaW5nT3B0aW9ucyogc3BhY2luZ09wdGlvbnMpOw0KLUlNQVFfRlVOQyBpbnQqICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxVmVyaWZ5UGF0dGVybnMoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBDaGFyU2V0KiBzZXQsIGNvbnN0IFN0cmluZzI1NSogZXhwZWN0ZWRQYXR0ZXJucywgaW50IHBhdHRlcm5Db3VudCwgY29uc3QgUk9JKiByb2ksIGludCogbnVtU2NvcmVzKTsNCi1JTUFRX0ZVTkMgaW50KiAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVZlcmlmeVRleHQoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBDaGFyU2V0KiBzZXQsIGNvbnN0IGNoYXIqIGV4cGVjdGVkU3RyaW5nLCBjb25zdCBST0kqIHJvaSwgaW50KiBudW1TY29yZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxV3JpdGVPQ1JGaWxlKGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBjb25zdCBDaGFyU2V0KiBzZXQsIGNvbnN0IGNoYXIqIHNldERlc2NyaXB0aW9uLCBjb25zdCBSZWFkVGV4dE9wdGlvbnMqIHJlYWRPcHRpb25zLCBjb25zdCBPQ1JQcm9jZXNzaW5nT3B0aW9ucyogcHJvY2Vzc2luZ09wdGlvbnMsIGNvbnN0IE9DUlNwYWNpbmdPcHRpb25zKiBzcGFjaW5nT3B0aW9ucyk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIEdlb21ldHJpYyBNYXRjaGluZyBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgRXh0cmFjdENvbnRvdXJSZXBvcnQqICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRXh0cmFjdENvbnRvdXIoSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgRXh0cmFjdENvbnRvdXJEaXJlY3Rpb24gZGlyZWN0aW9uLCBDdXJ2ZVBhcmFtZXRlcnMqIGN1cnZlUGFyYW1zLCBjb25zdCBDb25uZWN0aW9uQ29uc3RyYWludCogY29ubmVjdGlvbkNvbnN0cmFpbnRQYXJhbXMsIHVuc2lnbmVkIGludCBudW1PZkNvbnN0cmFpbnRzLCBFeHRyYWN0Q29udG91clNlbGVjdGlvbiBzZWxlY3Rpb24sIEltYWdlKiBjb250b3VySW1hZ2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyT3ZlcmxheShJbWFnZSogaW1hZ2UsIGNvbnN0IEltYWdlKiBjb250b3VySW1hZ2UsIGNvbnN0IENvbnRvdXJPdmVybGF5U2V0dGluZ3MqIHBvaW50c1NldHRpbmdzLCBjb25zdCBDb250b3VyT3ZlcmxheVNldHRpbmdzKiBlcW5TZXR0aW5ncywgY29uc3QgY2hhciogZ3JvdXBOYW1lKTsNCi1JTUFRX0ZVTkMgQ29udG91ckNvbXB1dGVDdXJ2YXR1cmVSZXBvcnQqIElNQVFfU1REQ0FMTCBpbWFxQ29udG91ckNvbXB1dGVDdXJ2YXR1cmUoY29uc3QgSW1hZ2UqIGNvbnRvdXJJbWFnZSwgdW5zaWduZWQgaW50IGtlcm5lbCk7DQotSU1BUV9GVU5DIEN1cnZhdHVyZUFuYWx5c2lzUmVwb3J0KiAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJDbGFzc2lmeUN1cnZhdHVyZShjb25zdCBJbWFnZSogY29udG91ckltYWdlLCB1bnNpZ25lZCBpbnQga2VybmVsLCBSYW5nZUxhYmVsKiBjdXJ2YXR1cmVDbGFzc2VzLCB1bnNpZ25lZCBpbnQgbnVtQ3VydmF0dXJlQ2xhc3Nlcyk7DQotSU1BUV9GVU5DIENvbXB1dGVEaXN0YW5jZXNSZXBvcnQqICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJDb21wdXRlRGlzdGFuY2VzKGNvbnN0IEltYWdlKiB0YXJnZXRJbWFnZSwgY29uc3QgSW1hZ2UqIHRlbXBsYXRlSW1hZ2UsIGNvbnN0IFNldHVwTWF0Y2hQYXR0ZXJuRGF0YSogbWF0Y2hTZXR1cERhdGEsIHVuc2lnbmVkIGludCBzbW9vdGhpbmdLZXJuZWwpOw0KLUlNQVFfRlVOQyBDbGFzc2lmeURpc3RhbmNlc1JlcG9ydCogICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyQ2xhc3NpZnlEaXN0YW5jZXMoY29uc3QgSW1hZ2UqIHRhcmdldEltYWdlLCBjb25zdCBJbWFnZSogdGVtcGxhdGVJbWFnZSwgY29uc3QgU2V0dXBNYXRjaFBhdHRlcm5EYXRhKiBtYXRjaFNldHVwRGF0YSwgdW5zaWduZWQgaW50IHNtb290aGluZ0tlcm5lbCwgY29uc3QgUmFuZ2VMYWJlbCogZGlzdGFuY2VSYW5nZXMsIHVuc2lnbmVkIGludCBudW1EaXN0YW5jZVJhbmdlcyk7DQotSU1BUV9GVU5DIENvbnRvdXJJbmZvUmVwb3J0KiAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJJbmZvKGNvbnN0IEltYWdlKiBjb250b3VySW1hZ2UpOw0KLUlNQVFfRlVOQyBTZXR1cE1hdGNoUGF0dGVybkRhdGEqICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyU2V0dXBNYXRjaFBhdHRlcm4oTWF0Y2hNb2RlKiBtYXRjaE1vZGUsIHVuc2lnbmVkIGludCBlbmFibGVTdWJQaXhlbEFjY3VyYWN5LCBDdXJ2ZVBhcmFtZXRlcnMqIGN1cnZlUGFyYW1zLCB1bnNpZ25lZCBpbnQgdXNlTGVhcm5DdXJ2ZVBhcmFtZXRlcnMsIGNvbnN0IFJhbmdlU2V0dGluZ0RvdWJsZSogcmFuZ2VTZXR0aW5ncywgdW5zaWduZWQgaW50IG51bVJhbmdlU2V0dGluZ3MpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyQWR2YW5jZWRTZXR1cE1hdGNoUGF0dGVybihTZXR1cE1hdGNoUGF0dGVybkRhdGEqIG1hdGNoU2V0dXBEYXRhLCBHZW9tZXRyaWNBZHZhbmNlZFNldHVwRGF0YU9wdGlvbiogZ2VvbWV0cmljT3B0aW9ucywgdW5zaWduZWQgaW50IG51bUdlb21ldHJpY09wdGlvbnMpOw0KLUlNQVFfRlVOQyBDb250b3VyRml0TGluZVJlcG9ydCogICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyRml0TGluZShJbWFnZSogaW1hZ2UsIGRvdWJsZSBwaXhlbFJhZGl1cyk7DQotSU1BUV9GVU5DIFBhcnRpYWxDaXJjbGUqICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJGaXRDaXJjbGUoSW1hZ2UqIGltYWdlLCBkb3VibGUgcGl4ZWxSYWRpdXMsIGludCByZWplY3RPdXRsaWVycyk7DQotSU1BUV9GVU5DIFBhcnRpYWxFbGxpcHNlKiAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJGaXRFbGxpcHNlKEltYWdlKiBpbWFnZSwgZG91YmxlIHBpeGVsUmFkaXVzLCBpbnQgcmVqZWN0T3V0bGllcnMpOw0KLUlNQVFfRlVOQyBDb250b3VyRml0U3BsaW5lUmVwb3J0KiAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb250b3VyRml0U3BsaW5lKEltYWdlKiBpbWFnZSwgaW50IGRlZ3JlZSwgaW50IG51bWJlck9mQ29udHJvbFBvaW50cyk7DQotSU1BUV9GVU5DIENvbnRvdXJGaXRQb2x5bm9taWFsUmVwb3J0KiAgICBJTUFRX1NURENBTEwgaW1hcUNvbnRvdXJGaXRQb2x5bm9taWFsKEltYWdlKiBpbWFnZSwgaW50IG9yZGVyKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgRWRnZSBEZXRlY3Rpb24gZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIEZpbmRDaXJjdWxhckVkZ2VSZXBvcnQqICAgSU1BUV9TVERDQUxMIGltYXFGaW5kQ2lyY3VsYXJFZGdlMihJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBjb25zdCBDb29yZGluYXRlU3lzdGVtKiBiYXNlU3lzdGVtLCBjb25zdCBDb29yZGluYXRlU3lzdGVtKiBuZXdTeXN0ZW0sIGNvbnN0IEZpbmRDaXJjdWxhckVkZ2VPcHRpb25zKiBlZGdlT3B0aW9ucywgY29uc3QgQ2lyY2xlRml0T3B0aW9ucyogY2lyY2xlRml0T3B0aW9ucyk7DQotSU1BUV9GVU5DIEZpbmRDb25jZW50cmljRWRnZVJlcG9ydCogSU1BUV9TVERDQUxMIGltYXFGaW5kQ29uY2VudHJpY0VkZ2UyKEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIGJhc2VTeXN0ZW0sIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIG5ld1N5c3RlbSwgY29uc3QgRmluZENvbmNlbnRyaWNFZGdlT3B0aW9ucyogZWRnZU9wdGlvbnMsIGNvbnN0IENvbmNlbnRyaWNFZGdlRml0T3B0aW9ucyogY29uY2VudHJpY0VkZ2VGaXRPcHRpb25zKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgTW9ycGhvbG9neSBSZWNvbnN0cnVjdGlvbiBmdW5jdGlvbnMNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxR3JheU1vcnBob2xvZ3lSZWNvbnN0cnVjdChJbWFnZSogZHN0SW1hZ2UsIEltYWdlKiBzcmNJbWFnZSwgY29uc3QgSW1hZ2UqIG1hcmtlckltYWdlLCBQb2ludEZsb2F0KiBwb2ludHMsIGludCBudW1PZlBvaW50cywgTW9ycGhvbG9neVJlY29uc3RydWN0T3BlcmF0aW9uIG9wZXJhdGlvbiwgY29uc3QgU3RydWN0dXJpbmdFbGVtZW50KiBzdHJ1Y3R1cmluZ0VsZW1lbnQsIGNvbnN0IFJPSSogcm9pKTsNCi1JTUFRX0ZVTkMgaW50IElNQVFfU1REQ0FMTCBpbWFxTW9ycGhvbG9neVJlY29uc3RydWN0KEltYWdlKiBkc3RJbWFnZSwgSW1hZ2UqIHNyY0ltYWdlLCBjb25zdCBJbWFnZSogbWFya2VySW1hZ2UsIFBvaW50RmxvYXQqIHBvaW50cywgaW50IG51bU9mUG9pbnRzLCBNb3JwaG9sb2d5UmVjb25zdHJ1Y3RPcGVyYXRpb24gb3BlcmF0aW9uLCBDb25uZWN0aXZpdHkgY29ubmVjdGl2aXR5LCBjb25zdCBST0kqIHJvaSk7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIFRleHR1cmUgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRGV0ZWN0VGV4dHVyZURlZmVjdChDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgSW1hZ2UqIGRlc3RJbWFnZSwgY29uc3QgSW1hZ2UqIHNyY0ltYWdlLCBjb25zdCBST0kqIHJvaSwgaW50IGluaXRpYWxTdGVwU2l6ZSwgaW50IGZpbmFsU3RlcFNpemUsIHVuc2lnbmVkIGNoYXIgZGVmZWN0UGl4ZWxWYWx1ZSwgZG91YmxlIG1pbkNsYXNzaWZpY2F0aW9uU2NvcmUpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNsYXNzaWZpY2F0aW9uVGV4dHVyZURlZmVjdE9wdGlvbnMoQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIFdpbmRvd1NpemUqIHdpbmRvd09wdGlvbnMsIFdhdmVsZXRPcHRpb25zKiB3YXZlbGV0T3B0aW9ucywgdm9pZCoqIGJhbmRzVXNlZCwgaW50KiBudW1CYW5kc1VzZWQsIENvb2NjdXJyZW5jZU9wdGlvbnMqIGNvb2NjdXJyZW5jZU9wdGlvbnMsIHVuc2lnbmVkIGNoYXIgc2V0T3BlcmF0aW9uKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb29jY3VycmVuY2VNYXRyaXgoY29uc3QgSW1hZ2UqIHNyY0ltYWdlLCBjb25zdCBST0kqIHJvaSwgaW50IGxldmVsUGl4ZWwsIGNvbnN0IERpc3BsYWNlbWVudFZlY3RvciogZGlzcGxhY2VtZW50VmVjLCB2b2lkKiBmZWF0dXJlT3B0aW9uQXJyYXksIHVuc2lnbmVkIGludCBmZWF0dXJlT3B0aW9uQXJyYXlTaXplLCB2b2lkKiogY29vY2N1cnJlbmNlTWF0cml4QXJyYXksIGludCogY29vY3VycmVuY2VNYXRyaXhSb3dzLCBpbnQqIGNvb2N1cnJlbmNlTWF0cml4Q29scywgdm9pZCoqIGZlYXR1cmVWZWN0b3JBcnJheSwgaW50KiBmZWF0dXJlVmVjdG9yQXJyYXlTaXplKTsNCi1JTUFRX0ZVTkMgRXh0cmFjdFRleHR1cmVGZWF0dXJlc1JlcG9ydCogSU1BUV9TVERDQUxMIGltYXFFeHRyYWN0VGV4dHVyZUZlYXR1cmVzKGNvbnN0IEltYWdlKiBzcmNJbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IFdpbmRvd1NpemUqIHdpbmRvd09wdGlvbnMsIGNvbnN0IFdhdmVsZXRPcHRpb25zKiB3YXZlbGV0T3B0aW9ucywgdm9pZCogd2F2ZWxldEJhbmRzLCB1bnNpZ25lZCBpbnQgbnVtV2F2ZWxldEJhbmRzLCBjb25zdCBDb29jY3VycmVuY2VPcHRpb25zKiBjb29jY3VycmVuY2VPcHRpb25zLCB1bnNpZ25lZCBjaGFyIHVzZVdpbmRvdyk7DQotSU1BUV9GVU5DIFdhdmVsZXRCYW5kc1JlcG9ydCogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRXh0cmFjdFdhdmVsZXRCYW5kcyhjb25zdCBJbWFnZSogc3JjSW1hZ2UsIGNvbnN0IFdhdmVsZXRPcHRpb25zKiB3YXZlbGV0T3B0aW9ucywgdm9pZCogd2F2ZWxldEJhbmRzLCB1bnNpZ25lZCBpbnQgbnVtV2F2ZWxldEJhbmRzKTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgUmVnaW9ucyBvZiBJbnRlcmVzdCBNYW5pcHVsYXRpb24gZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIFJPSSogICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxTWFza1RvUk9JKGNvbnN0IEltYWdlKiBtYXNrLCBpbnQqIHdpdGhpbkxpbWl0KTsNCi1JTUFRX0ZVTkMgUk9JUHJvZmlsZSogICAgICAgSU1BUV9TVERDQUxMIGltYXFST0lQcm9maWxlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2kpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJPSVRvTWFzayhJbWFnZSogbWFzaywgY29uc3QgUk9JKiByb2ksIGludCBmaWxsVmFsdWUsIGNvbnN0IEltYWdlKiBpbWFnZU1vZGVsLCBpbnQqIGluU3BhY2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVRyYW5zZm9ybVJPSTIoUk9JKiByb2ksIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIGJhc2VTeXN0ZW0sIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIG5ld1N5c3RlbSk7DQotSU1BUV9GVU5DIExhYmVsVG9ST0lSZXBvcnQqIElNQVFfU1REQ0FMTCBpbWFxTGFiZWxUb1JPSShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IHVuc2lnbmVkIGludCogbGFiZWxzSW4sIHVuc2lnbmVkIGludCBudW1MYWJlbHNJbiwgaW50IG1heE51bVZlY3RvcnMsIGludCBpc0V4dGVybmVsRWRnZXMpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBNb3JwaG9sb2d5IGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFHcmF5TW9ycGhvbG9neShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgTW9ycGhvbG9neU1ldGhvZCBtZXRob2QsIGNvbnN0IFN0cnVjdHVyaW5nRWxlbWVudCogc3RydWN0dXJpbmdFbGVtZW50KTsNCi0NCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgQ2xhc3NpZmljYXRpb24gZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUFkZENsYXNzaWZpZXJTYW1wbGUoSW1hZ2UqIGltYWdlLCBDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgY29uc3QgUk9JKiByb2ksIGNvbnN0IGNoYXIqIHNhbXBsZUNsYXNzLCBkb3VibGUqIGZlYXR1cmVWZWN0b3IsIHVuc2lnbmVkIGludCB2ZWN0b3JTaXplKTsNCi1JTUFRX0ZVTkMgQ2xhc3NpZmllclJlcG9ydEFkdmFuY2VkKiAgICAgIElNQVFfU1REQ0FMTCBpbWFxQWR2YW5jZUNsYXNzaWZ5KEltYWdlKiBpbWFnZSwgY29uc3QgQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIGNvbnN0IFJPSSogcm9pLCBkb3VibGUqIGZlYXR1cmVWZWN0b3IsIHVuc2lnbmVkIGludCB2ZWN0b3JTaXplKTsNCi1JTUFRX0ZVTkMgQ2xhc3NpZmllclJlcG9ydCogICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ2xhc3NpZnkoSW1hZ2UqIGltYWdlLCBjb25zdCBDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgY29uc3QgUk9JKiByb2ksIGRvdWJsZSogZmVhdHVyZVZlY3RvciwgdW5zaWduZWQgaW50IHZlY3RvclNpemUpOw0KLUlNQVFfRlVOQyBDbGFzc2lmaWVyU2Vzc2lvbiogICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDcmVhdGVDbGFzc2lmaWVyKENsYXNzaWZpZXJUeXBlIHR5cGUpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFEZWxldGVDbGFzc2lmaWVyU2FtcGxlKENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBpbnQgaW5kZXgpOw0KLUlNQVFfRlVOQyBDbGFzc2lmaWVyQWNjdXJhY3lSZXBvcnQqICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDbGFzc2lmaWVyQWNjdXJhY3koY29uc3QgQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24pOw0KLUlNQVFfRlVOQyBDbGFzc2lmaWVyU2FtcGxlSW5mbyogICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDbGFzc2lmaWVyU2FtcGxlSW5mbyhjb25zdCBDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgaW50IGluZGV4LCBpbnQqIG51bVNhbXBsZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRDb2xvckNsYXNzaWZpZXJPcHRpb25zKGNvbnN0IENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBDb2xvck9wdGlvbnMqIG9wdGlvbnMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXROZWFyZXN0TmVpZ2hib3JPcHRpb25zKGNvbnN0IENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBOZWFyZXN0TmVpZ2hib3JPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0UGFydGljbGVDbGFzc2lmaWVyT3B0aW9uczIoY29uc3QgQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zMiogcHJlcHJvY2Vzc2luZ09wdGlvbnMsIFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnMqIG9wdGlvbnMpOw0KLUlNQVFfRlVOQyBDbGFzc2lmaWVyU2Vzc2lvbiogICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWFkQ2xhc3NpZmllckZpbGUoQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCBSZWFkQ2xhc3NpZmllckZpbGVNb2RlIG1vZGUsIENsYXNzaWZpZXJUeXBlKiB0eXBlLCBDbGFzc2lmaWVyRW5naW5lVHlwZSogZW5naW5lLCBTdHJpbmcyNTUgZGVzY3JpcHRpb24pOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSZWxhYmVsQ2xhc3NpZmllclNhbXBsZShDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgaW50IGluZGV4LCBjb25zdCBjaGFyKiBuZXdDbGFzcyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNldFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnMyKENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBjb25zdCBQYXJ0aWNsZUNsYXNzaWZpZXJQcmVwcm9jZXNzaW5nT3B0aW9uczIqIHByZXByb2Nlc3NpbmdPcHRpb25zLCBjb25zdCBQYXJ0aWNsZUNsYXNzaWZpZXJPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2V0Q29sb3JDbGFzc2lmaWVyT3B0aW9ucyhDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgY29uc3QgQ29sb3JPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgTmVhcmVzdE5laWdoYm9yVHJhaW5pbmdSZXBvcnQqIElNQVFfU1REQ0FMTCBpbWFxVHJhaW5OZWFyZXN0TmVpZ2hib3JDbGFzc2lmaWVyKENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBjb25zdCBOZWFyZXN0TmVpZ2hib3JPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxV3JpdGVDbGFzc2lmaWVyRmlsZShjb25zdCBDbGFzc2lmaWVyU2Vzc2lvbiogc2Vzc2lvbiwgY29uc3QgY2hhciogZmlsZU5hbWUsIFdyaXRlQ2xhc3NpZmllckZpbGVNb2RlIG1vZGUsIGNvbnN0IFN0cmluZzI1NSBkZXNjcmlwdGlvbik7DQotDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLy8gIE1lYXN1cmUgRGlzdGFuY2VzIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBDbGFtcE1heDJSZXBvcnQqIElNQVFfU1REQ0FMTCBpbWFxQ2xhbXBNYXgyKEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIGJhc2VTeXN0ZW0sIGNvbnN0IENvb3JkaW5hdGVTeXN0ZW0qIG5ld1N5c3RlbSwgY29uc3QgQ3VydmVPcHRpb25zKiBjdXJ2ZVNldHRpbmdzLCBjb25zdCBDbGFtcFNldHRpbmdzKiBjbGFtcFNldHRpbmdzLCBjb25zdCBDbGFtcE92ZXJsYXlTZXR0aW5ncyogY2xhbXBPdmVybGF5U2V0dGluZ3MpOw0KLQ0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS8vICBJbnNwZWN0aW9uIGZ1bmN0aW9ucw0KLS8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFDb21wYXJlR29sZGVuVGVtcGxhdGUoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBJbWFnZSogZ29sZGVuVGVtcGxhdGUsIEltYWdlKiBicmlnaHREZWZlY3RzLCBJbWFnZSogZGFya0RlZmVjdHMsIGNvbnN0IEluc3BlY3Rpb25BbGlnbm1lbnQqIGFsaWdubWVudCwgY29uc3QgSW5zcGVjdGlvbk9wdGlvbnMqIG9wdGlvbnMpOw0KLUlNQVFfRlVOQyBpbnQgSU1BUV9TVERDQUxMIGltYXFMZWFybkdvbGRlblRlbXBsYXRlKEltYWdlKiBnb2xkZW5UZW1wbGF0ZSwgUG9pbnRGbG9hdCBvcmlnaW5PZmZzZXQsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi0vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0vLyAgT2Jzb2xldGUgZnVuY3Rpb25zDQotLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFSb3RhdGUoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGZsb2F0IGFuZ2xlLCBQaXhlbFZhbHVlIGZpbGwsIEludGVycG9sYXRpb25NZXRob2QgbWV0aG9kKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVdyaXRlUE5HRmlsZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IGNoYXIqIGZpbGVOYW1lLCB1bnNpZ25lZCBpbnQgY29tcHJlc3Npb25TcGVlZCwgY29uc3QgUkdCVmFsdWUqIGNvbG9yVGFibGUpOw0KLUlNQVFfRlVOQyBQYXJ0aWNsZVJlcG9ydCogICAgICAgIElNQVFfU1REQ0FMTCBpbWFxU2VsZWN0UGFydGljbGVzKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUGFydGljbGVSZXBvcnQqIHJlcG9ydHMsIGludCByZXBvcnRDb3VudCwgaW50IHJlamVjdEJvcmRlciwgY29uc3QgU2VsZWN0UGFydGljbGVDcml0ZXJpYSogY3JpdGVyaWEsIGludCBjcml0ZXJpYUNvdW50LCBpbnQqIHNlbGVjdGVkQ291bnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxUGFydGljbGVGaWx0ZXIoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIGNvbnN0IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWEqIGNyaXRlcmlhLCBpbnQgY3JpdGVyaWFDb3VudCwgaW50IHJlamVjdE1hdGNoZXMsIGludCBjb25uZWN0aXZpdHk4KTsNCi1JTUFRX0ZVTkMgUGFydGljbGVSZXBvcnQqICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldFBhcnRpY2xlSW5mbyhJbWFnZSogaW1hZ2UsIGludCBjb25uZWN0aXZpdHk4LCBQYXJ0aWNsZUluZm9Nb2RlIG1vZGUsIGludCogcmVwb3J0Q291bnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ2FsY0NvZWZmKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUGFydGljbGVSZXBvcnQqIHJlcG9ydCwgTWVhc3VyZW1lbnRWYWx1ZSBwYXJhbWV0ZXIsIGZsb2F0KiBjb2VmZmljaWVudCk7DQotSU1BUV9GVU5DIEVkZ2VSZXBvcnQqICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFFZGdlVG9vbChjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFBvaW50KiBwb2ludHMsIGludCBudW1Qb2ludHMsIGNvbnN0IEVkZ2VPcHRpb25zKiBvcHRpb25zLCBpbnQqIG51bUVkZ2VzKTsNCi1JTUFRX0ZVTkMgQ2lyY2xlUmVwb3J0KiAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNpcmNsZXMoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UsIGZsb2F0IG1pblJhZGl1cywgZmxvYXQgbWF4UmFkaXVzLCBpbnQqIG51bUNpcmNsZXMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxTGFiZWwoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIGludCBjb25uZWN0aXZpdHk4LCBpbnQqIHBhcnRpY2xlQ291bnQpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxRml0RWxsaXBzZShjb25zdCBQb2ludEZsb2F0KiBwb2ludHMsIGludCBudW1Qb2ludHMsIEJlc3RFbGxpcHNlKiBlbGxpcHNlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUZpdENpcmNsZShjb25zdCBQb2ludEZsb2F0KiBwb2ludHMsIGludCBudW1Qb2ludHMsIEJlc3RDaXJjbGUqIGNpcmNsZSk7DQotSU1BUV9GVU5DIENvbG9yICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDaGFuZ2VDb2xvclNwYWNlKGNvbnN0IENvbG9yKiBzb3VyY2VDb2xvciwgQ29sb3JNb2RlIHNvdXJjZVNwYWNlLCBDb2xvck1vZGUgZGVzdFNwYWNlKTsNCi1JTUFRX0ZVTkMgUGF0dGVybk1hdGNoKiAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1hdGNoUGF0dGVybihjb25zdCBJbWFnZSogaW1hZ2UsIEltYWdlKiBwYXR0ZXJuLCBjb25zdCBNYXRjaFBhdHRlcm5PcHRpb25zKiBvcHRpb25zLCBSZWN0IHNlYXJjaFJlY3QsIGludCogbnVtTWF0Y2hlcyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb252ZXgoSW1hZ2UqIGRlc3QsIGNvbnN0IEltYWdlKiBzb3VyY2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxSXNWaXNpb25JbmZvUHJlc2VudChjb25zdCBJbWFnZSogaW1hZ2UsIFZpc2lvbkluZm9UeXBlIHR5cGUsIGludCogcHJlc2VudCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFMaW5lR2F1Z2VUb29sKGNvbnN0IEltYWdlKiBpbWFnZSwgUG9pbnQgc3RhcnQsIFBvaW50IGVuZCwgTGluZUdhdWdlTWV0aG9kIG1ldGhvZCwgY29uc3QgRWRnZU9wdGlvbnMqIGVkZ2VPcHRpb25zLCBjb25zdCBDb29yZGluYXRlVHJhbnNmb3JtKiByZWZlcmVuY2UsIGZsb2F0KiBkaXN0YW5jZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFCZXN0Q2lyY2xlKGNvbnN0IFBvaW50RmxvYXQqIHBvaW50cywgaW50IG51bVBvaW50cywgUG9pbnRGbG9hdCogY2VudGVyLCBkb3VibGUqIHJhZGl1cyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTYXZlUGF0dGVybihjb25zdCBJbWFnZSogcGF0dGVybiwgY29uc3QgY2hhciogZmlsZU5hbWUpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxTG9hZFBhdHRlcm4oSW1hZ2UqIHBhdHRlcm4sIGNvbnN0IGNoYXIqIGZpbGVOYW1lKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVRyYW5zZm9ybVJPSShST0kqIHJvaSwgUG9pbnQgb3JpZ2luU3RhcnQsIGZsb2F0IGFuZ2xlU3RhcnQsIFBvaW50IG9yaWdpbkZpbmFsLCBmbG9hdCBhbmdsZUZpbmFsKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvb3JkaW5hdGVSZWZlcmVuY2UoY29uc3QgUG9pbnQqIHBvaW50cywgUmVmZXJlbmNlTW9kZSBtb2RlLCBQb2ludCogb3JpZ2luLCBmbG9hdCogYW5nbGUpOw0KLUlNQVFfRlVOQyBDb250b3VySW5mbyogICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0Q29udG91ckluZm8oY29uc3QgUk9JKiByb2ksIENvbnRvdXJJRCBpZCk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRXaW5kb3dPdmVybGF5KGludCB3aW5kb3dOdW1iZXIsIGNvbnN0IE92ZXJsYXkqIG92ZXJsYXkpOw0KLUlNQVFfRlVOQyBPdmVybGF5KiAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ3JlYXRlT3ZlcmxheUZyb21ST0koY29uc3QgUk9JKiByb2kpOw0KLUlNQVFfRlVOQyBPdmVybGF5KiAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQ3JlYXRlT3ZlcmxheUZyb21NZXRhZmlsZShjb25zdCB2b2lkKiBtZXRhZmlsZSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFTZXRDYWxpYnJhdGlvbkluZm8oSW1hZ2UqIGltYWdlLCBDYWxpYnJhdGlvblVuaXQgdW5pdCwgZmxvYXQgeERpc3RhbmNlLCBmbG9hdCB5RGlzdGFuY2UpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxR2V0Q2FsaWJyYXRpb25JbmZvKGNvbnN0IEltYWdlKiBpbWFnZSwgQ2FsaWJyYXRpb25Vbml0KiB1bml0LCBmbG9hdCogeERpc3RhbmNlLCBmbG9hdCogeURpc3RhbmNlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUNvbnN0cnVjdFJPSShjb25zdCBJbWFnZSogaW1hZ2UsIFJPSSogcm9pLCBUb29sIGluaXRpYWxUb29sLCBjb25zdCBUb29sV2luZG93T3B0aW9ucyogdG9vbHMsIGNvbnN0IENvbnN0cnVjdFJPSU9wdGlvbnMqIG9wdGlvbnMsIGludCogb2theSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFHZXRQYXJ0aWNsZUNsYXNzaWZpZXJPcHRpb25zKGNvbnN0IENsYXNzaWZpZXJTZXNzaW9uKiBzZXNzaW9uLCBQYXJ0aWNsZUNsYXNzaWZpZXJQcmVwcm9jZXNzaW5nT3B0aW9ucyogcHJlcHJvY2Vzc2luZ09wdGlvbnMsIFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnMqIG9wdGlvbnMpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxWm9vbVdpbmRvdyhpbnQgd2luZG93TnVtYmVyLCBpbnQgeFpvb20sIGludCB5Wm9vbSwgUG9pbnQgY2VudGVyKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldFdpbmRvd1pvb20oaW50IHdpbmRvd051bWJlciwgaW50KiB4Wm9vbSwgaW50KiB5Wm9vbSk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFQYXJ0aWNsZUZpbHRlcjMoSW1hZ2UqIGRlc3QsIEltYWdlKiBzb3VyY2UsIGNvbnN0IFBhcnRpY2xlRmlsdGVyQ3JpdGVyaWEyKiBjcml0ZXJpYSwgaW50IGNyaXRlcmlhQ291bnQsIGNvbnN0IFBhcnRpY2xlRmlsdGVyT3B0aW9ucyogb3B0aW9ucywgY29uc3QgUk9JKiByb2ksIGludCogbnVtUGFydGljbGVzKTsNCi1JTUFRX0ZVTkMgUmVhZFRleHRSZXBvcnQyKiAgICAgICBJTUFRX1NURENBTEwgaW1hcVJlYWRUZXh0Mihjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IENoYXJTZXQqIHNldCwgY29uc3QgUk9JKiByb2ksIGNvbnN0IFJlYWRUZXh0T3B0aW9ucyogcmVhZE9wdGlvbnMsIGNvbnN0IE9DUlByb2Nlc3NpbmdPcHRpb25zKiBwcm9jZXNzaW5nT3B0aW9ucywgY29uc3QgT0NSU3BhY2luZ09wdGlvbnMqIHNwYWNpbmdPcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuUGF0dGVybjIoSW1hZ2UqIGltYWdlLCBMZWFybmluZ01vZGUgbGVhcm5pbmdNb2RlLCBMZWFyblBhdHRlcm5BZHZhbmNlZE9wdGlvbnMqIGFkdmFuY2VkT3B0aW9ucyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb252b2x2ZShJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgZmxvYXQqIGtlcm5lbCwgaW50IG1hdHJpeFJvd3MsIGludCBtYXRyaXhDb2xzLCBmbG9hdCBub3JtYWxpemUsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcURpdmlkZUNvbnN0YW50KEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBQaXhlbFZhbHVlIHZhbHVlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcURpdmlkZShJbWFnZSogZGVzdCwgY29uc3QgSW1hZ2UqIHNvdXJjZUEsIGNvbnN0IEltYWdlKiBzb3VyY2VCKTsNCi1JTUFRX0ZVTkMgRWRnZVJlcG9ydDIqICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUVkZ2VUb29sMyhjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBFZGdlUHJvY2VzcyBwcm9jZXNzVHlwZSwgY29uc3QgRWRnZU9wdGlvbnMyKiBlZGdlT3B0aW9ucyk7DQotSU1BUV9GVU5DIENvbmNlbnRyaWNSYWtlUmVwb3J0KiAgSU1BUV9TVERDQUxMIGltYXFDb25jZW50cmljUmFrZShjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IFJPSSogcm9pLCBDb25jZW50cmljUmFrZURpcmVjdGlvbiBkaXJlY3Rpb24sIEVkZ2VQcm9jZXNzIHByb2Nlc3MsIGNvbnN0IFJha2VPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgU3Bva2VSZXBvcnQqICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNwb2tlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIFNwb2tlRGlyZWN0aW9uIGRpcmVjdGlvbiwgRWRnZVByb2Nlc3MgcHJvY2VzcywgY29uc3QgU3Bva2VPcHRpb25zKiBvcHRpb25zKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxlYXJuUGF0dGVybihJbWFnZSogaW1hZ2UsIExlYXJuaW5nTW9kZSBsZWFybmluZ01vZGUpOw0KLUlNQVFfRlVOQyBpbnQgICAgICAgICAgICAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxTG9va3VwKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlLCBjb25zdCBzaG9ydCogdGFibGUsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgUGF0dGVybk1hdGNoKiAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcU1hdGNoUGF0dGVybjIoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBJbWFnZSogcGF0dGVybiwgY29uc3QgTWF0Y2hQYXR0ZXJuT3B0aW9ucyogb3B0aW9ucywgY29uc3QgTWF0Y2hQYXR0ZXJuQWR2YW5jZWRPcHRpb25zKiBhZHZhbmNlZE9wdGlvbnMsIFJlY3Qgc2VhcmNoUmVjdCwgaW50KiBudW1NYXRjaGVzKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVNldFBhcnRpY2xlQ2xhc3NpZmllck9wdGlvbnMoQ2xhc3NpZmllclNlc3Npb24qIHNlc3Npb24sIGNvbnN0IFBhcnRpY2xlQ2xhc3NpZmllclByZXByb2Nlc3NpbmdPcHRpb25zKiBwcmVwcm9jZXNzaW5nT3B0aW9ucywgY29uc3QgUGFydGljbGVDbGFzc2lmaWVyT3B0aW9ucyogb3B0aW9ucyk7DQotSU1BUV9GVU5DIGludCAgICAgICAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFDb3B5Q2FsaWJyYXRpb25JbmZvKEltYWdlKiBkZXN0LCBjb25zdCBJbWFnZSogc291cmNlKTsNCi1JTUFRX0ZVTkMgaW50ICAgICAgICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVBhcnRpY2xlRmlsdGVyMihJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgY29uc3QgUGFydGljbGVGaWx0ZXJDcml0ZXJpYTIqIGNyaXRlcmlhLCBpbnQgY3JpdGVyaWFDb3VudCwgaW50IHJlamVjdE1hdGNoZXMsIGludCBjb25uZWN0aXZpdHk4LCBpbnQqIG51bVBhcnRpY2xlcyk7DQotSU1BUV9GVU5DIEVkZ2VSZXBvcnQqICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFFZGdlVG9vbDIoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBQb2ludCogcG9pbnRzLCBpbnQgbnVtUG9pbnRzLCBFZGdlUHJvY2VzcyBwcm9jZXNzLCBjb25zdCBFZGdlT3B0aW9ucyogb3B0aW9ucywgaW50KiBudW1FZGdlcyk7DQotSU1BUV9GVU5DIENvbnRvdXJJRCAgICAgICAgICAgICAgSU1BUV9TVERDQUxMIGltYXFBZGRSb3RhdGVkUmVjdENvbnRvdXIoUk9JKiByb2ksIFJvdGF0ZWRSZWN0IHJlY3QpOw0KLUlNQVFfRlVOQyBCYXJjb2RlMkRJbmZvKiAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxUmVhZERhdGFNYXRyaXhCYXJjb2RlKGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgUk9JKiByb2ksIGNvbnN0IERhdGFNYXRyaXhPcHRpb25zKiBvcHRpb25zLCB1bnNpZ25lZCBpbnQqIG51bUJhcmNvZGVzKTsNCi1JTUFRX0ZVTkMgTGluZWFyQXZlcmFnZXMqICAgICAgICBJTUFRX1NURENBTEwgaW1hcUxpbmVhckF2ZXJhZ2VzKGNvbnN0IEltYWdlKiBpbWFnZSwgUmVjdCByZWN0KTsNCi1JTUFRX0ZVTkMgR2VvbWV0cmljUGF0dGVybk1hdGNoKiBJTUFRX1NURENBTEwgaW1hcU1hdGNoR2VvbWV0cmljUGF0dGVybihjb25zdCBJbWFnZSogaW1hZ2UsIGNvbnN0IEltYWdlKiBwYXR0ZXJuLCBjb25zdCBDdXJ2ZU9wdGlvbnMqIGN1cnZlT3B0aW9ucywgY29uc3QgTWF0Y2hHZW9tZXRyaWNQYXR0ZXJuT3B0aW9ucyogbWF0Y2hPcHRpb25zLCBjb25zdCBNYXRjaEdlb21ldHJpY1BhdHRlcm5BZHZhbmNlZE9wdGlvbnMqIGFkdmFuY2VkTWF0Y2hPcHRpb25zLCBjb25zdCBST0kqIHJvaSwgaW50KiBudW1NYXRjaGVzKTsNCi1JTUFRX0ZVTkMgQ2hhckluZm8qICAgICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcUdldENoYXJJbmZvKGNvbnN0IENoYXJTZXQqIHNldCwgaW50IGluZGV4KTsNCi1JTUFRX0ZVTkMgUmVhZFRleHRSZXBvcnQqICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJlYWRUZXh0KGNvbnN0IEltYWdlKiBpbWFnZSwgY29uc3QgQ2hhclNldCogc2V0LCBjb25zdCBST0kqIHJvaSwgY29uc3QgUmVhZFRleHRPcHRpb25zKiByZWFkT3B0aW9ucywgY29uc3QgT0NSUHJvY2Vzc2luZ09wdGlvbnMqIHByb2Nlc3NpbmdPcHRpb25zLCBjb25zdCBPQ1JTcGFjaW5nT3B0aW9ucyogc3BhY2luZ09wdGlvbnMpOw0KLUlNQVFfRlVOQyBUaHJlc2hvbGREYXRhKiAgICAgICAgIElNQVFfU1REQ0FMTCBpbWFxQXV0b1RocmVzaG9sZChJbWFnZSogZGVzdCwgSW1hZ2UqIHNvdXJjZSwgaW50IG51bUNsYXNzZXMsIFRocmVzaG9sZE1ldGhvZCBtZXRob2QpOw0KLUlNQVFfRlVOQyBDb2xvckhpc3RvZ3JhbVJlcG9ydCogIElNQVFfU1REQ0FMTCBpbWFxQ29sb3JIaXN0b2dyYW0oSW1hZ2UqIGltYWdlLCBpbnQgbnVtQ2xhc3NlcywgQ29sb3JNb2RlIG1vZGUsIGNvbnN0IEltYWdlKiBtYXNrKTsNCi1JTUFRX0ZVTkMgUmFrZVJlcG9ydCogICAgICAgICAgICBJTUFRX1NURENBTEwgaW1hcVJha2UoY29uc3QgSW1hZ2UqIGltYWdlLCBjb25zdCBST0kqIHJvaSwgUmFrZURpcmVjdGlvbiBkaXJlY3Rpb24sIEVkZ2VQcm9jZXNzIHByb2Nlc3MsIGNvbnN0IFJha2VPcHRpb25zKiBvcHRpb25zKTsNCi0jZW5kaWYNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9wY3JlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi9wY3JlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzMTg4MzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvcGNyZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzM4ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiAgICAgICBQZXJsLUNvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyAgICAgICoNCi0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQ0KLS8qIFRoaXMgaXMgdGhlIHB1YmxpYyBoZWFkZXIgZmlsZSBmb3IgdGhlIFBDUkUgbGlicmFyeSwgdG8gYmUgI2luY2x1ZGVkIGJ5DQotYXBwbGljYXRpb25zIHRoYXQgY2FsbCB0aGUgUENSRSBmdW5jdGlvbnMuDQotDQotICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDE5OTctMjAwOCBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZQ0KLQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQotbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQotDQotICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KLSAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQotDQotICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCi0gICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQotICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCi0NCi0gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbWJyaWRnZSBub3IgdGhlIG5hbWVzIG9mIGl0cw0KLSAgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tDQotICAgICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCi0NCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCi1BTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQotSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCi1BUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUNCi1MSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQotQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YNCi1TVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCi1JTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KLUNPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQotQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUNCi1QT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSovDQotDQotI2lmbmRlZiBfUENSRV9IDQotI2RlZmluZSBfUENSRV9IDQotDQotLyogVGhlIGN1cnJlbnQgUENSRSB2ZXJzaW9uIGluZm9ybWF0aW9uLiAqLw0KLQ0KLSNkZWZpbmUgUENSRV9NQUpPUiAgICAgICAgICA3DQotI2RlZmluZSBQQ1JFX01JTk9SICAgICAgICAgIDgNCi0jZGVmaW5lIFBDUkVfUFJFUkVMRUFTRSAgICAgDQotI2RlZmluZSBQQ1JFX0RBVEUgICAgICAgICAgIDIwMDgtMDktMDUNCi0NCi0vKiBXaGVuIGFuIGFwcGxpY2F0aW9uIGxpbmtzIHRvIGEgUENSRSBETEwgaW4gV2luZG93cywgdGhlIHN5bWJvbHMgdGhhdCBhcmUNCi1pbXBvcnRlZCBoYXZlIHRvIGJlIGlkZW50aWZpZWQgYXMgc3VjaC4gV2hlbiBidWlsZGluZyBQQ1JFLCB0aGUgYXBwcm9wcmlhdGUNCi1leHBvcnQgc2V0dGluZyBpcyBkZWZpbmVkIGluIHBjcmVfaW50ZXJuYWwuaCwgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaWxlLiBTbyB3ZQ0KLWRvbid0IGNoYW5nZSBleGlzdGluZyBkZWZpbml0aW9ucyBvZiBQQ1JFX0VYUF9ERUNMIGFuZCBQQ1JFQ1BQX0VYUF9ERUNMLiAqLw0KLQ0KLS8qKg0KLSAqIE5JIENIQU5HRQ0KLSAqDQotICogV2UgZG9uJ3QgYnVpbGQgdGhlIERMTCB2ZXJzaW9uLiBXZSBvbmx5IGJ1aWxkIHRoZSBzdGF0aWMgbGliIHZlcnNpb24uDQotICogU2luY2Ugd2UgZG9uJ3Qgd2FudCB0byBoYXZlIHRvICNkZWZpbmUgUENSRV9TVEFUSUMgaW4gZXZlcnkgY29tcG9uZW50IHRoYXQNCi0gKiBpbmNsdWRlcyBwY3JlLmgsIHdlJ3JlIGp1c3QgZ29pbmcgdG8gZ28gYWhlYWQgYW5kIGRlZmluZSBpdCBoZXJlLg0KLSAqDQotICogQWRhbSBLZW1wLCAxMi8xNS8yMDA4DQotKi8NCi0jZGVmaW5lIFBDUkVfU1RBVElDDQotDQotI2lmIGRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChQQ1JFX1NUQVRJQykNCi0jICBpZm5kZWYgUENSRV9FWFBfREVDTA0KLSMgICAgZGVmaW5lIFBDUkVfRVhQX0RFQ0wgIGV4dGVybiBfX2RlY2xzcGVjKGRsbGltcG9ydCkNCi0jICBlbmRpZg0KLSMgIGlmZGVmIF9fY3BsdXNwbHVzDQotIyAgICBpZm5kZWYgUENSRUNQUF9FWFBfREVDTA0KLSMgICAgICBkZWZpbmUgUENSRUNQUF9FWFBfREVDTCAgZXh0ZXJuIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQ0KLSMgICAgZW5kaWYNCi0jICAgIGlmbmRlZiBQQ1JFQ1BQX0VYUF9ERUZODQotIyAgICAgIGRlZmluZSBQQ1JFQ1BQX0VYUF9ERUZOICBfX2RlY2xzcGVjKGRsbGltcG9ydCkNCi0jICAgIGVuZGlmDQotIyAgZW5kaWYNCi0jZW5kaWYNCi0NCi0vKiBCeSBkZWZhdWx0LCB3ZSB1c2UgdGhlIHN0YW5kYXJkICJleHRlcm4iIGRlY2xhcmF0aW9ucy4gKi8NCi0NCi0jaWZuZGVmIFBDUkVfRVhQX0RFQ0wNCi0jICBpZmRlZiBfX2NwbHVzcGx1cw0KLSMgICAgZGVmaW5lIFBDUkVfRVhQX0RFQ0wgIGV4dGVybiAiQyINCi0jICBlbHNlDQotIyAgICBkZWZpbmUgUENSRV9FWFBfREVDTCAgZXh0ZXJuDQotIyAgZW5kaWYNCi0jZW5kaWYNCi0NCi0jaWZkZWYgX19jcGx1c3BsdXMNCi0jICBpZm5kZWYgUENSRUNQUF9FWFBfREVDTA0KLSMgICAgZGVmaW5lIFBDUkVDUFBfRVhQX0RFQ0wgIGV4dGVybg0KLSMgIGVuZGlmDQotIyAgaWZuZGVmIFBDUkVDUFBfRVhQX0RFRk4NCi0jICAgIGRlZmluZSBQQ1JFQ1BQX0VYUF9ERUZODQotIyAgZW5kaWYNCi0jZW5kaWYNCi0NCi0vKioNCi0gKiBOSSBDSEFOR0UNCi0gKg0KLSAqIFdlIHVzZSBfX2NkZWNsIG9uIHdpbjMyIGFuZCB0aGUgZGVmYXVsdCBjYWxsaW5nIGNvbnZlbnRpb24gZWxzZXdoZXJlLg0KLSAqDQotICogT3JpZ2luYWxsIHRoaXMgbWFjcm8gZGlkIG5vdCBhcHBlYXIgaW4gdGhpcyBmaWxlLCBidXQgaXQgd2FzIHVzZWQgaW4NCi0gKiBpbnRlcm5hbCBoZWFkZXJzLiBJIGNvbnNpZGVyIGl0IGFuIG92ZXJzaWdodCBvbiB0aGUgcGFydCBvZiB0aGUgcGNyZQ0KLSAqIGRldmVsb3BlcnMgdGhhdCAqIGl0IHdhcyBub3QgdXNlZCBpbiB0aGlzIGZpbGUuIElmIHRoZXNlIGZ1bmN0aW9ucyB1c2UNCi0gKiBzcGVjaWZpYyBjYWxsaW5nIGNvbnZlbnRpb25zIHRoZW4gdGhlaXIgcHJvdG90eXBlcyBzaG91bGQgaW5jbHVkZSB0aGF0DQotICogY2FsbGluZyBjb252ZW50aW9uIGluIGNhc2Ugc29tZSBvdGhlciBwcm9qZWN0IHVzZXMgYSBkaWZmZXJlbnQgZGVmYXVsdC4NCi0gKg0KLSAqIEFkYW0gS2VtcCAxMi8xNS8yMDA4DQotKi8NCi0jaWZuZGVmIFBDUkVfQ0FMTF9DT05WRU5USU9ODQotIyAgaWYgZGVmaW5lZChfV0lOMzIpIC8qIDMyLWJpdCBhbmQgNjQtYml0ICovDQotIyAgICBkZWZpbmUgUENSRV9DQUxMX0NPTlZFTlRJT04gX19jZGVjbA0KLSMgIGVsc2UNCi0jICAgIGRlZmluZSBQQ1JFX0NBTExfQ09OVkVOVElPTg0KLSMgIGVuZGlmDQotI2Vsc2UNCi0jICBkZWZpbmUgUENSRV9DQUxMX0NPTlZFTlRJT04NCi0jZW5kaWYNCi0NCi0vKiBIYXZlIHRvIGluY2x1ZGUgc3RkbGliLmggaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgc2l6ZV90IGlzIGRlZmluZWQ7DQotaXQgaXMgbmVlZGVkIGhlcmUgZm9yIG1hbGxvYy4gKi8NCi0NCi0jaW5jbHVkZSA8c3RkbGliLmg+DQotDQotLyogQWxsb3cgZm9yIEMrKyB1c2VycyAqLw0KLQ0KLSNpZmRlZiBfX2NwbHVzcGx1cw0KLWV4dGVybiAiQyIgew0KLSNlbmRpZg0KLQ0KLS8qIE9wdGlvbnMgKi8NCi0NCi0jZGVmaW5lIFBDUkVfQ0FTRUxFU1MgICAgICAgICAgIDB4MDAwMDAwMDENCi0jZGVmaW5lIFBDUkVfTVVMVElMSU5FICAgICAgICAgIDB4MDAwMDAwMDINCi0jZGVmaW5lIFBDUkVfRE9UQUxMICAgICAgICAgICAgIDB4MDAwMDAwMDQNCi0jZGVmaW5lIFBDUkVfRVhURU5ERUQgICAgICAgICAgIDB4MDAwMDAwMDgNCi0jZGVmaW5lIFBDUkVfQU5DSE9SRUQgICAgICAgICAgIDB4MDAwMDAwMTANCi0jZGVmaW5lIFBDUkVfRE9MTEFSX0VORE9OTFkgICAgIDB4MDAwMDAwMjANCi0jZGVmaW5lIFBDUkVfRVhUUkEgICAgICAgICAgICAgIDB4MDAwMDAwNDANCi0jZGVmaW5lIFBDUkVfTk9UQk9MICAgICAgICAgICAgIDB4MDAwMDAwODANCi0jZGVmaW5lIFBDUkVfTk9URU9MICAgICAgICAgICAgIDB4MDAwMDAxMDANCi0jZGVmaW5lIFBDUkVfVU5HUkVFRFkgICAgICAgICAgIDB4MDAwMDAyMDANCi0jZGVmaW5lIFBDUkVfTk9URU1QVFkgICAgICAgICAgIDB4MDAwMDA0MDANCi0jZGVmaW5lIFBDUkVfVVRGOCAgICAgICAgICAgICAgIDB4MDAwMDA4MDANCi0jZGVmaW5lIFBDUkVfTk9fQVVUT19DQVBUVVJFICAgIDB4MDAwMDEwMDANCi0jZGVmaW5lIFBDUkVfTk9fVVRGOF9DSEVDSyAgICAgIDB4MDAwMDIwMDANCi0jZGVmaW5lIFBDUkVfQVVUT19DQUxMT1VUICAgICAgIDB4MDAwMDQwMDANCi0jZGVmaW5lIFBDUkVfUEFSVElBTCAgICAgICAgICAgIDB4MDAwMDgwMDANCi0jZGVmaW5lIFBDUkVfREZBX1NIT1JURVNUICAgICAgIDB4MDAwMTAwMDANCi0jZGVmaW5lIFBDUkVfREZBX1JFU1RBUlQgICAgICAgIDB4MDAwMjAwMDANCi0jZGVmaW5lIFBDUkVfRklSU1RMSU5FICAgICAgICAgIDB4MDAwNDAwMDANCi0jZGVmaW5lIFBDUkVfRFVQTkFNRVMgICAgICAgICAgIDB4MDAwODAwMDANCi0jZGVmaW5lIFBDUkVfTkVXTElORV9DUiAgICAgICAgIDB4MDAxMDAwMDANCi0jZGVmaW5lIFBDUkVfTkVXTElORV9MRiAgICAgICAgIDB4MDAyMDAwMDANCi0jZGVmaW5lIFBDUkVfTkVXTElORV9DUkxGICAgICAgIDB4MDAzMDAwMDANCi0jZGVmaW5lIFBDUkVfTkVXTElORV9BTlkgICAgICAgIDB4MDA0MDAwMDANCi0jZGVmaW5lIFBDUkVfTkVXTElORV9BTllDUkxGICAgIDB4MDA1MDAwMDANCi0jZGVmaW5lIFBDUkVfQlNSX0FOWUNSTEYgICAgICAgIDB4MDA4MDAwMDANCi0jZGVmaW5lIFBDUkVfQlNSX1VOSUNPREUgICAgICAgIDB4MDEwMDAwMDANCi0jZGVmaW5lIFBDUkVfSkFWQVNDUklQVF9DT01QQVQgIDB4MDIwMDAwMDANCi0NCi0vKiBFeGVjLXRpbWUgYW5kIGdldC9zZXQtdGltZSBlcnJvciBjb2RlcyAqLw0KLQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9OT01BVENIICAgICAgICAgKC0xKQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9OVUxMICAgICAgICAgICAgKC0yKQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9CQURPUFRJT04gICAgICAgKC0zKQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9CQURNQUdJQyAgICAgICAgKC00KQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9VTktOT1dOX09QQ09ERSAgKC01KQ0KLSNkZWZpbmUgUENSRV9FUlJPUl9VTktOT1dOX05PREUgICAgKC01KSAgLyogRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi8NCi0jZGVmaW5lIFBDUkVfRVJST1JfTk9NRU1PUlkgICAgICAgICgtNikNCi0jZGVmaW5lIFBDUkVfRVJST1JfTk9TVUJTVFJJTkcgICAgICgtNykNCi0jZGVmaW5lIFBDUkVfRVJST1JfTUFUQ0hMSU1JVCAgICAgICgtOCkNCi0jZGVmaW5lIFBDUkVfRVJST1JfQ0FMTE9VVCAgICAgICAgICgtOSkgIC8qIE5ldmVyIHVzZWQgYnkgUENSRSBpdHNlbGYgKi8NCi0jZGVmaW5lIFBDUkVfRVJST1JfQkFEVVRGOCAgICAgICAgKC0xMCkNCi0jZGVmaW5lIFBDUkVfRVJST1JfQkFEVVRGOF9PRkZTRVQgKC0xMSkNCi0jZGVmaW5lIFBDUkVfRVJST1JfUEFSVElBTCAgICAgICAgKC0xMikNCi0jZGVmaW5lIFBDUkVfRVJST1JfQkFEUEFSVElBTCAgICAgKC0xMykNCi0jZGVmaW5lIFBDUkVfRVJST1JfSU5URVJOQUwgICAgICAgKC0xNCkNCi0jZGVmaW5lIFBDUkVfRVJST1JfQkFEQ09VTlQgICAgICAgKC0xNSkNCi0jZGVmaW5lIFBDUkVfRVJST1JfREZBX1VJVEVNICAgICAgKC0xNikNCi0jZGVmaW5lIFBDUkVfRVJST1JfREZBX1VDT05EICAgICAgKC0xNykNCi0jZGVmaW5lIFBDUkVfRVJST1JfREZBX1VNTElNSVQgICAgKC0xOCkNCi0jZGVmaW5lIFBDUkVfRVJST1JfREZBX1dTU0laRSAgICAgKC0xOSkNCi0jZGVmaW5lIFBDUkVfRVJST1JfREZBX1JFQ1VSU0UgICAgKC0yMCkNCi0jZGVmaW5lIFBDUkVfRVJST1JfUkVDVVJTSU9OTElNSVQgKC0yMSkNCi0jZGVmaW5lIFBDUkVfRVJST1JfTlVMTFdTTElNSVQgICAgKC0yMikgIC8qIE5vIGxvbmdlciBhY3R1YWxseSB1c2VkICovDQotI2RlZmluZSBQQ1JFX0VSUk9SX0JBRE5FV0xJTkUgICAgICgtMjMpDQotDQotLyogUmVxdWVzdCB0eXBlcyBmb3IgcGNyZV9mdWxsaW5mbygpICovDQotDQotI2RlZmluZSBQQ1JFX0lORk9fT1BUSU9OUyAgICAgICAgICAgIDANCi0jZGVmaW5lIFBDUkVfSU5GT19TSVpFICAgICAgICAgICAgICAgMQ0KLSNkZWZpbmUgUENSRV9JTkZPX0NBUFRVUkVDT1VOVCAgICAgICAyDQotI2RlZmluZSBQQ1JFX0lORk9fQkFDS1JFRk1BWCAgICAgICAgIDMNCi0jZGVmaW5lIFBDUkVfSU5GT19GSVJTVEJZVEUgICAgICAgICAgNA0KLSNkZWZpbmUgUENSRV9JTkZPX0ZJUlNUQ0hBUiAgICAgICAgICA0ICAvKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8NCi0jZGVmaW5lIFBDUkVfSU5GT19GSVJTVFRBQkxFICAgICAgICAgNQ0KLSNkZWZpbmUgUENSRV9JTkZPX0xBU1RMSVRFUkFMICAgICAgICA2DQotI2RlZmluZSBQQ1JFX0lORk9fTkFNRUVOVFJZU0laRSAgICAgIDcNCi0jZGVmaW5lIFBDUkVfSU5GT19OQU1FQ09VTlQgICAgICAgICAgOA0KLSNkZWZpbmUgUENSRV9JTkZPX05BTUVUQUJMRSAgICAgICAgICA5DQotI2RlZmluZSBQQ1JFX0lORk9fU1RVRFlTSVpFICAgICAgICAgMTANCi0jZGVmaW5lIFBDUkVfSU5GT19ERUZBVUxUX1RBQkxFUyAgICAxMQ0KLSNkZWZpbmUgUENSRV9JTkZPX09LUEFSVElBTCAgICAgICAgIDEyDQotI2RlZmluZSBQQ1JFX0lORk9fSkNIQU5HRUQgICAgICAgICAgMTMNCi0jZGVmaW5lIFBDUkVfSU5GT19IQVNDUk9STEYgICAgICAgICAxNA0KLQ0KLS8qIFJlcXVlc3QgdHlwZXMgZm9yIHBjcmVfY29uZmlnKCkuIERvIG5vdCByZS1hcnJhbmdlLCBpbiBvcmRlciB0byByZW1haW4NCi1jb21wYXRpYmxlLiAqLw0KLQ0KLSNkZWZpbmUgUENSRV9DT05GSUdfVVRGOCAgICAgICAgICAgICAgICAgICAgMA0KLSNkZWZpbmUgUENSRV9DT05GSUdfTkVXTElORSAgICAgICAgICAgICAgICAgMQ0KLSNkZWZpbmUgUENSRV9DT05GSUdfTElOS19TSVpFICAgICAgICAgICAgICAgMg0KLSNkZWZpbmUgUENSRV9DT05GSUdfUE9TSVhfTUFMTE9DX1RIUkVTSE9MRCAgMw0KLSNkZWZpbmUgUENSRV9DT05GSUdfTUFUQ0hfTElNSVQgICAgICAgICAgICAgNA0KLSNkZWZpbmUgUENSRV9DT05GSUdfU1RBQ0tSRUNVUlNFICAgICAgICAgICAgNQ0KLSNkZWZpbmUgUENSRV9DT05GSUdfVU5JQ09ERV9QUk9QRVJUSUVTICAgICAgNg0KLSNkZWZpbmUgUENSRV9DT05GSUdfTUFUQ0hfTElNSVRfUkVDVVJTSU9OICAgNw0KLSNkZWZpbmUgUENSRV9DT05GSUdfQlNSICAgICAgICAgICAgICAgICAgICAgOA0KLQ0KLS8qIEJpdCBmbGFncyBmb3IgdGhlIHBjcmVfZXh0cmEgc3RydWN0dXJlLiBEbyBub3QgcmUtYXJyYW5nZSBvciByZWRlZmluZQ0KLXRoZXNlIGJpdHMsIGp1c3QgYWRkIG5ldyBvbmVzIG9uIHRoZSBlbmQsIGluIG9yZGVyIHRvIHJlbWFpbiBjb21wYXRpYmxlLiAqLw0KLQ0KLSNkZWZpbmUgUENSRV9FWFRSQV9TVFVEWV9EQVRBICAgICAgICAgICAgIDB4MDAwMQ0KLSNkZWZpbmUgUENSRV9FWFRSQV9NQVRDSF9MSU1JVCAgICAgICAgICAgIDB4MDAwMg0KLSNkZWZpbmUgUENSRV9FWFRSQV9DQUxMT1VUX0RBVEEgICAgICAgICAgIDB4MDAwNA0KLSNkZWZpbmUgUENSRV9FWFRSQV9UQUJMRVMgICAgICAgICAgICAgICAgIDB4MDAwOA0KLSNkZWZpbmUgUENSRV9FWFRSQV9NQVRDSF9MSU1JVF9SRUNVUlNJT04gIDB4MDAxMA0KLQ0KLS8qIFR5cGVzICovDQotDQotc3RydWN0IHJlYWxfcGNyZTsgICAgICAgICAgICAgICAgIC8qIGRlY2xhcmF0aW9uOyB0aGUgZGVmaW5pdGlvbiBpcyBwcml2YXRlICAqLw0KLXR5cGVkZWYgc3RydWN0IHJlYWxfcGNyZSBwY3JlOw0KLQ0KLS8qIFdoZW4gUENSRSBpcyBjb21waWxlZCBhcyBhIEMrKyBsaWJyYXJ5LCB0aGUgc3ViamVjdCBwb2ludGVyIHR5cGUgY2FuIGJlDQotcmVwbGFjZWQgd2l0aCBhIGN1c3RvbSB0eXBlLiBGb3IgY29udmVudGlvbmFsIHVzZSwgdGhlIHB1YmxpYyBpbnRlcmZhY2UgaXMgYQ0KLWNvbnN0IGNoYXIgKi4gKi8NCi0NCi0jaWZuZGVmIFBDUkVfU1BUUg0KLSNkZWZpbmUgUENSRV9TUFRSIGNvbnN0IGNoYXIgKg0KLSNlbmRpZg0KLQ0KLS8qIFRoZSBzdHJ1Y3R1cmUgZm9yIHBhc3NpbmcgYWRkaXRpb25hbCBkYXRhIHRvIHBjcmVfZXhlYygpLiBUaGlzIGlzIGRlZmluZWQgaW4NCi1zdWNoIGFzIHdheSBhcyB0byBiZSBleHRlbnNpYmxlLiBBbHdheXMgYWRkIG5ldyBmaWVsZHMgYXQgdGhlIGVuZCwgaW4gb3JkZXIgdG8NCi1yZW1haW4gY29tcGF0aWJsZS4gKi8NCi0NCi10eXBlZGVmIHN0cnVjdCBwY3JlX2V4dHJhIHsNCi0gIHVuc2lnbmVkIGxvbmcgaW50IGZsYWdzOyAgICAgICAgLyogQml0cyBmb3Igd2hpY2ggZmllbGRzIGFyZSBzZXQgKi8NCi0gIHZvaWQgKnN0dWR5X2RhdGE7ICAgICAgICAgICAgICAgLyogT3BhcXVlIGRhdGEgZnJvbSBwY3JlX3N0dWR5KCkgKi8NCi0gIHVuc2lnbmVkIGxvbmcgaW50IG1hdGNoX2xpbWl0OyAgLyogTWF4aW11bSBudW1iZXIgb2YgY2FsbHMgdG8gbWF0Y2goKSAqLw0KLSAgdm9pZCAqY2FsbG91dF9kYXRhOyAgICAgICAgICAgICAvKiBEYXRhIHBhc3NlZCBiYWNrIGluIGNhbGxvdXRzICovDQotICBjb25zdCB1bnNpZ25lZCBjaGFyICp0YWJsZXM7ICAgIC8qIFBvaW50ZXIgdG8gY2hhcmFjdGVyIHRhYmxlcyAqLw0KLSAgdW5zaWduZWQgbG9uZyBpbnQgbWF0Y2hfbGltaXRfcmVjdXJzaW9uOyAvKiBNYXggcmVjdXJzaXZlIGNhbGxzIHRvIG1hdGNoKCkgKi8NCi19IHBjcmVfZXh0cmE7DQotDQotLyogVGhlIHN0cnVjdHVyZSBmb3IgcGFzc2luZyBvdXQgZGF0YSB2aWEgdGhlIHBjcmVfY2FsbG91dF9mdW5jdGlvbi4gV2UgdXNlIGENCi1zdHJ1Y3R1cmUgc28gdGhhdCBuZXcgZmllbGRzIGNhbiBiZSBhZGRlZCBvbiB0aGUgZW5kIGluIGZ1dHVyZSB2ZXJzaW9ucywNCi13aXRob3V0IGNoYW5naW5nIHRoZSBBUEkgb2YgdGhlIGZ1bmN0aW9uLCB0aGVyZWJ5IGFsbG93aW5nIG9sZCBjbGllbnRzIHRvIHdvcmsNCi13aXRob3V0IG1vZGlmaWNhdGlvbi4gKi8NCi0NCi10eXBlZGVmIHN0cnVjdCBwY3JlX2NhbGxvdXRfYmxvY2sgew0KLSAgaW50ICAgICAgICAgIHZlcnNpb247ICAgICAgICAgICAvKiBJZGVudGlmaWVzIHZlcnNpb24gb2YgYmxvY2sgKi8NCi0gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBWZXJzaW9uIDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLSAgaW50ICAgICAgICAgIGNhbGxvdXRfbnVtYmVyOyAgICAvKiBOdW1iZXIgY29tcGlsZWQgaW50byBwYXR0ZXJuICovDQotICBpbnQgICAgICAgICAqb2Zmc2V0X3ZlY3RvcjsgICAgIC8qIFRoZSBvZmZzZXQgdmVjdG9yICovDQotICBQQ1JFX1NQVFIgICAgc3ViamVjdDsgICAgICAgICAgIC8qIFRoZSBzdWJqZWN0IGJlaW5nIG1hdGNoZWQgKi8NCi0gIGludCAgICAgICAgICBzdWJqZWN0X2xlbmd0aDsgICAgLyogVGhlIGxlbmd0aCBvZiB0aGUgc3ViamVjdCAqLw0KLSAgaW50ICAgICAgICAgIHN0YXJ0X21hdGNoOyAgICAgICAvKiBPZmZzZXQgdG8gc3RhcnQgb2YgdGhpcyBtYXRjaCBhdHRlbXB0ICovDQotICBpbnQgICAgICAgICAgY3VycmVudF9wb3NpdGlvbjsgIC8qIFdoZXJlIHdlIGN1cnJlbnRseSBhcmUgaW4gdGhlIHN1YmplY3QgKi8NCi0gIGludCAgICAgICAgICBjYXB0dXJlX3RvcDsgICAgICAgLyogTWF4IGN1cnJlbnQgY2FwdHVyZSAqLw0KLSAgaW50ICAgICAgICAgIGNhcHR1cmVfbGFzdDsgICAgICAvKiBNb3N0IHJlY2VudGx5IGNsb3NlZCBjYXB0dXJlICovDQotICB2b2lkICAgICAgICAqY2FsbG91dF9kYXRhOyAgICAgIC8qIERhdGEgcGFzc2VkIGluIHdpdGggdGhlIGNhbGwgKi8NCi0gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gQWRkZWQgZm9yIFZlcnNpb24gMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLSAgaW50ICAgICAgICAgIHBhdHRlcm5fcG9zaXRpb247ICAvKiBPZmZzZXQgdG8gbmV4dCBpdGVtIGluIHRoZSBwYXR0ZXJuICovDQotICBpbnQgICAgICAgICAgbmV4dF9pdGVtX2xlbmd0aDsgIC8qIExlbmd0aCBvZiBuZXh0IGl0ZW0gaW4gdGhlIHBhdHRlcm4gKi8NCi0gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KLX0gcGNyZV9jYWxsb3V0X2Jsb2NrOw0KLQ0KLS8qIEluZGlyZWN0aW9uIGZvciBzdG9yZSBnZXQgYW5kIGZyZWUgZnVuY3Rpb25zLiBUaGVzZSBjYW4gYmUgc2V0IHRvDQotYWx0ZXJuYXRpdmUgbWFsbG9jL2ZyZWUgZnVuY3Rpb25zIGlmIHJlcXVpcmVkLiBTcGVjaWFsIG9uZXMgYXJlIHVzZWQgaW4gdGhlDQotbm9uLXJlY3Vyc2l2ZSBjYXNlIGZvciAiZnJhbWVzIi4gVGhlcmUgaXMgYWxzbyBhbiBvcHRpb25hbCBjYWxsb3V0IGZ1bmN0aW9uDQotdGhhdCBpcyB0cmlnZ2VyZWQgYnkgdGhlICg/KSByZWdleCBpdGVtLiBGb3IgVmlydHVhbCBQYXNjYWwsIHRoZXNlIGRlZmluaXRpb25zDQotaGF2ZSB0byB0YWtlIGFub3RoZXIgZm9ybS4gKi8NCi0NCi0jaWZuZGVmIFZQQ09NUEFUDQotUENSRV9FWFBfREVDTCB2b2lkKiAoUENSRV9DQUxMX0NPTlZFTlRJT04gKnBjcmVfbWFsbG9jKShzaXplX3QpOw0KLVBDUkVfRVhQX0RFQ0wgdm9pZCAgKFBDUkVfQ0FMTF9DT05WRU5USU9OICpwY3JlX2ZyZWUpKHZvaWQgKik7DQotUENSRV9FWFBfREVDTCB2b2lkKiAoUENSRV9DQUxMX0NPTlZFTlRJT04gKnBjcmVfc3RhY2tfbWFsbG9jKShzaXplX3QpOw0KLVBDUkVfRVhQX0RFQ0wgdm9pZCAgKFBDUkVfQ0FMTF9DT05WRU5USU9OICpwY3JlX3N0YWNrX2ZyZWUpKHZvaWQgKik7DQotUENSRV9FWFBfREVDTCBpbnQgICAoUENSRV9DQUxMX0NPTlZFTlRJT04gKnBjcmVfY2FsbG91dCkocGNyZV9jYWxsb3V0X2Jsb2NrICopOw0KLSNlbHNlICAgLyogVlBDT01QQVQgKi8NCi1QQ1JFX0VYUF9ERUNMIHZvaWQqIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfbWFsbG9jKHNpemVfdCk7DQotUENSRV9FWFBfREVDTCB2b2lkICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2ZyZWUodm9pZCAqKTsNCi1QQ1JFX0VYUF9ERUNMIHZvaWQqIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfc3RhY2tfbWFsbG9jKHNpemVfdCk7DQotUENSRV9FWFBfREVDTCB2b2lkICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX3N0YWNrX2ZyZWUodm9pZCAqKTsNCi1QQ1JFX0VYUF9ERUNMIGludCAgIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfY2FsbG91dChwY3JlX2NhbGxvdXRfYmxvY2sgKik7DQotI2VuZGlmICAvKiBWUENPTVBBVCAqLw0KLQ0KLS8qIEV4cG9ydGVkIFBDUkUgZnVuY3Rpb25zICovDQotDQotUENSRV9FWFBfREVDTCBwY3JlKiBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2NvbXBpbGUoY29uc3QgY2hhciAqLCBpbnQsIGNvbnN0IGNoYXIgKiosIGludCAqLA0KLSAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7DQotUENSRV9FWFBfREVDTCBwY3JlKiBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2NvbXBpbGUyKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQgKiwgY29uc3QgY2hhciAqKiwNCi0gICAgICAgICAgICAgICAgICBpbnQgKiwgY29uc3QgdW5zaWduZWQgY2hhciAqKTsNCi1QQ1JFX0VYUF9ERUNMIGludCAgUENSRV9DQUxMX0NPTlZFTlRJT04gcGNyZV9jb25maWcoaW50LCB2b2lkICopOw0KLVBDUkVfRVhQX0RFQ0wgaW50ICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2NvcHlfbmFtZWRfc3Vic3RyaW5nKGNvbnN0IHBjcmUgKiwgY29uc3QgY2hhciAqLA0KLSAgICAgICAgICAgICAgICAgIGludCAqLCBpbnQsIGNvbnN0IGNoYXIgKiwgY2hhciAqLCBpbnQpOw0KLVBDUkVfRVhQX0RFQ0wgaW50ICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2NvcHlfc3Vic3RyaW5nKGNvbnN0IGNoYXIgKiwgaW50ICosIGludCwgaW50LCBjaGFyICosDQotICAgICAgICAgICAgICAgICAgaW50KTsNCi1QQ1JFX0VYUF9ERUNMIGludCAgUENSRV9DQUxMX0NPTlZFTlRJT04gcGNyZV9kZmFfZXhlYyhjb25zdCBwY3JlICosIGNvbnN0IHBjcmVfZXh0cmEgKiwNCi0gICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosIGludCwgaW50LCBpbnQsIGludCAqLCBpbnQgLCBpbnQgKiwgaW50KTsNCi1QQ1JFX0VYUF9ERUNMIGludCAgUENSRV9DQUxMX0NPTlZFTlRJT04gcGNyZV9leGVjKGNvbnN0IHBjcmUgKiwgY29uc3QgcGNyZV9leHRyYSAqLCBQQ1JFX1NQVFIsDQotICAgICAgICAgICAgICAgICAgIGludCwgaW50LCBpbnQsIGludCAqLCBpbnQpOw0KLVBDUkVfRVhQX0RFQ0wgdm9pZCBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2ZyZWVfc3Vic3RyaW5nKGNvbnN0IGNoYXIgKik7DQotUENSRV9FWFBfREVDTCB2b2lkIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfZnJlZV9zdWJzdHJpbmdfbGlzdChjb25zdCBjaGFyICoqKTsNCi1QQ1JFX0VYUF9ERUNMIGludCAgUENSRV9DQUxMX0NPTlZFTlRJT04gcGNyZV9mdWxsaW5mbyhjb25zdCBwY3JlICosIGNvbnN0IHBjcmVfZXh0cmEgKiwgaW50LA0KLSAgICAgICAgICAgICAgICAgIHZvaWQgKik7DQotUENSRV9FWFBfREVDTCBpbnQgIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfZ2V0X25hbWVkX3N1YnN0cmluZyhjb25zdCBwY3JlICosIGNvbnN0IGNoYXIgKiwNCi0gICAgICAgICAgICAgICAgICBpbnQgKiwgaW50LCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiopOw0KLVBDUkVfRVhQX0RFQ0wgaW50ICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2dldF9zdHJpbmdudW1iZXIoY29uc3QgcGNyZSAqLCBjb25zdCBjaGFyICopOw0KLVBDUkVfRVhQX0RFQ0wgaW50ICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2dldF9zdHJpbmd0YWJsZV9lbnRyaWVzKGNvbnN0IHBjcmUgKiwgY29uc3QgY2hhciAqLA0KLSAgICAgICAgICAgICAgICAgIGNoYXIgKiosIGNoYXIgKiopOw0KLVBDUkVfRVhQX0RFQ0wgaW50ICBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX2dldF9zdWJzdHJpbmcoY29uc3QgY2hhciAqLCBpbnQgKiwgaW50LCBpbnQsDQotICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKik7DQotUENSRV9FWFBfREVDTCBpbnQgIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfZ2V0X3N1YnN0cmluZ19saXN0KGNvbnN0IGNoYXIgKiwgaW50ICosIGludCwNCi0gICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqKik7DQotUENSRV9FWFBfREVDTCBpbnQgIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfaW5mbyhjb25zdCBwY3JlICosIGludCAqLCBpbnQgKik7DQotUENSRV9FWFBfREVDTCBjb25zdCB1bnNpZ25lZCBjaGFyKiBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX21ha2V0YWJsZXModm9pZCk7DQotUENSRV9FWFBfREVDTCBpbnQgIFBDUkVfQ0FMTF9DT05WRU5USU9OIHBjcmVfcmVmY291bnQocGNyZSAqLCBpbnQpOw0KLVBDUkVfRVhQX0RFQ0wgcGNyZV9leHRyYSogUENSRV9DQUxMX0NPTlZFTlRJT04gcGNyZV9zdHVkeShjb25zdCBwY3JlICosIGludCwgY29uc3QgY2hhciAqKik7DQotUENSRV9FWFBfREVDTCBjb25zdCBjaGFyKiBQQ1JFX0NBTExfQ09OVkVOVElPTiBwY3JlX3ZlcnNpb24odm9pZCk7DQotDQotI2lmZGVmIF9fY3BsdXNwbHVzDQotfSAgLyogZXh0ZXJuICJDIiAqLw0KLSNlbmRpZg0KLQ0KLSNlbmRpZiAvKiBFbmQgb2YgcGNyZS5oICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lSZW1vdGUuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3RhYmxlcy9JUmVtb3RlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1N2YwZWQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lSZW1vdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qDQotICogSVJlbW90ZS5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJUkVNT1RFX0hfDQotI2RlZmluZSBJUkVNT1RFX0hfDQotDQotY2xhc3MgSVJlbW90ZTsNCi0NCi0NCi0jaW5jbHVkZSAiSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lci5oIg0KLQ0KLQ0KLQ0KLS8qKg0KLSAqIFJlcHJlc2VudHMgYW4gb2JqZWN0IHRoYXQgaGFzIGEgcmVtb3RlIGNvbm5lY3Rpb24NCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBJUmVtb3RlIHsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBSZWdpc3RlciBhbiBvYmplY3QgdG8gbGlzdGVuIGZvciBjb25uZWN0aW9uIGFuZCBkaXNjb25uZWN0aW9uIGV2ZW50cw0KLQkgKiANCi0JICogQHBhcmFtIGxpc3RlbmVyIHRoZSBsaXN0ZW5lciB0byBiZSByZWdpc3Rlcg0KLQkgKiBAcGFyYW0gaW1tZWRpYXRlTm90aWZ5IGlmIHRoZSBsaXN0ZW5lciBvYmplY3Qgc2hvdWxkIGJlIG5vdGlmaWVkIG9mIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gc3RhdGUNCi0JICovDQotCXZpcnR1YWwgdm9pZCBBZGRDb25uZWN0aW9uTGlzdGVuZXIoSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KSA9IDA7DQotDQotCS8qKg0KLQkgKiBVbnJlZ2lzdGVyIGEgbGlzdGVuZXIgZnJvbSBjb25uZWN0aW9uIGV2ZW50cw0KLQkgKiANCi0JICogQHBhcmFtIGxpc3RlbmVyIHRoZSBsaXN0ZW5lciB0byBiZSB1bnJlZ2lzdGVyZWQNCi0JICovDQotCXZpcnR1YWwgdm9pZCBSZW1vdmVDb25uZWN0aW9uTGlzdGVuZXIoSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciogbGlzdGVuZXIpID0gMDsNCi0JDQotCS8qKg0KLQkgKiBHZXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIG9iamVjdHMgY29ubmVjdGlvbg0KLQkgKiBAcmV0dXJuIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gc3RhdGUNCi0JICovDQotCXZpcnR1YWwgYm9vbCBJc0Nvbm5lY3RlZCgpID0gMDsNCi0JDQotCS8qKg0KLQkgKiBJZiB0aGUgb2JqZWN0IGlzIGFjdGluZyBhcyBhIHNlcnZlcg0KLQkgKiBAcmV0dXJuIGlmIHRoZSBvYmplY3QgaXMgYSBzZXJ2ZXINCi0JICovDQotCXZpcnR1YWwgYm9vbCBJc1NlcnZlcigpID0gMDsNCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBJUkVNT1RFX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3RhYmxlcy9JUmVtb3RlQ29ubmVjdGlvbkxpc3RlbmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyOWU2OGUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lSZW1vdGVDb25uZWN0aW9uTGlzdGVuZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qDQotICogSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDIyLCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJUkVNT1RFQ09OTkVDVElPTkxJU1RFTkVSX0hfDQotI2RlZmluZSBJUkVNT1RFQ09OTkVDVElPTkxJU1RFTkVSX0hfDQotDQotDQotY2xhc3MgSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lcjsNCi0NCi0jaW5jbHVkZSAiSVJlbW90ZS5oIg0KLQ0KLQ0KLQ0KLS8qKg0KLSAqIEEgbGlzdGVuZXIgdGhhdCBsaXN0ZW5zIGZvciBjb25uZWN0aW9uIGNoYW5nZXMgaW4gYSB7QGxpbmsgSVJlbW90ZX0gb2JqZWN0DQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgSVJlbW90ZUNvbm5lY3Rpb25MaXN0ZW5lciB7DQotcHVibGljOg0KLQkvKioNCi0JICogQ2FsbGVkIHdoZW4gYW4gSVJlbW90ZSBpcyBjb25uZWN0ZWQNCi0JICogQHBhcmFtIHJlbW90ZSB0aGUgb2JqZWN0IHRoYXQgY29ubmVjdGVkDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgQ29ubmVjdGVkKElSZW1vdGUqIHJlbW90ZSkgPSAwOw0KLQkvKioNCi0JICogQ2FsbGVkIHdoZW4gYW4gSVJlbW90ZSBpcyBkaXNjb25uZWN0ZWQNCi0JICogQHBhcmFtIHJlbW90ZSB0aGUgb2JqZWN0IHRoYXQgZGlzY29ubmVjdGVkDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgRGlzY29ubmVjdGVkKElSZW1vdGUqIHJlbW90ZSkgPSAwOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIElSRU1PVEVDT05ORUNUSU9OTElTVEVORVJfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvSVRhYmxlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvSVRhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkMTJiMzEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lUYWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLS8qDQotICogSVRhYmxlLmgNCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMTksIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaWZuZGVmIElUQUJMRV9IXw0KLSNkZWZpbmUgSVRBQkxFX0hfDQotDQotDQotY2xhc3MgSVRhYmxlOw0KLXVuaW9uIEVudHJ5VmFsdWV7DQotCXZvaWQqIHB0cjsNCi0JYm9vbCBiOw0KLQlkb3VibGUgZjsNCi19Ow0KLXR5cGVkZWYgdW5pb24gRW50cnlWYWx1ZSBFbnRyeVZhbHVlOw0KLQ0KLQ0KLSNpbmNsdWRlIDxzdHJpbmc+DQotI2luY2x1ZGUgIm5ldHdvcmt0YWJsZXMyL3R5cGUvQ29tcGxleERhdGEuaCINCi0jaW5jbHVkZSAiSVRhYmxlTGlzdGVuZXIuaCINCi0NCi0NCi1jbGFzcyBJVGFibGUgew0KLXB1YmxpYzoNCi0NCi0JLyoqDQotCSAqIERldGVybWluZXMgd2hldGhlciB0aGUgZ2l2ZW4ga2V5IGlzIGluIHRoaXMgdGFibGUuDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gc2VhcmNoIGZvcg0KLQkgKiBAcmV0dXJuIHRydWUgaWYgdGhlIHRhYmxlIGFzIGEgdmFsdWUgYXNzaWduZWQgdG8gdGhlIGdpdmVuIGtleQ0KLQkgKi8NCi0JdmlydHVhbCBib29sIENvbnRhaW5zS2V5KHN0ZDo6c3RyaW5nIGtleSkgPSAwOw0KLQ0KLQkvKioNCi0JICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZXJlIGV4aXN0cyBhIG5vbi1lbXB0eSBzdWJ0YWJsZSBmb3IgdGhpcyBrZXkNCi0JICogaW4gdGhpcyB0YWJsZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBzZWFyY2ggZm9yDQotCSAqIEByZXR1cm4gdHJ1ZSBpZiB0aGVyZSBpcyBhIHN1YnRhYmxlIHdpdGggdGhlIGtleSB3aGljaCBjb250YWlucyBhdCBsZWFzdCBvbmUga2V5L3N1YnRhYmxlIG9mIGl0cyBvd24NCi0JICovDQotCXZpcnR1YWwgYm9vbCBDb250YWluc1N1YlRhYmxlKHN0ZDo6c3RyaW5nIGtleSkgPSAwOw0KLQkNCi0gICAgLyoqDQotICAgICAqIEdldHMgdGhlIHN1YnRhYmxlIGluIHRoaXMgdGFibGUgZm9yIHRoZSBnaXZlbiBuYW1lLg0KLSAgICAgKiANCi0gICAgICogQHBhcmFtIGtleSB0aGUgbmFtZSBvZiB0aGUgdGFibGUgcmVsYXRpdmUgdG8gdGhpcyBvbmUNCi0gICAgICogQHJldHVybiBhIHN1YiB0YWJsZSByZWxhdGl2ZSB0byB0aGlzIG9uZQ0KLSAgICAgKi8NCi0JdmlydHVhbCBJVGFibGUqIEdldFN1YlRhYmxlKHN0ZDo6c3RyaW5nIGtleSkgPSAwOw0KLQkNCi0gICAgDQotCS8qKg0KLQkgKiBHZXRzIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBrZXkgYXMgYW4gb2JqZWN0DQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGxvb2sgdXANCi0JICogQHJldHVybiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkNCi0JICogQHRocm93cyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24gaWYgdGhlcmUgaXMgbm8gdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkNCi0JICovDQotICAgIHZpcnR1YWwgRW50cnlWYWx1ZSBHZXRWYWx1ZShzdGQ6OnN0cmluZyBrZXkpID0gMDsNCi0JLyoqDQotCSAqIFB1dCBhIHZhbHVlIGluIHRoZSB0YWJsZQ0KLQkgKiANCi0JICogQHBhcmFtIGtleSB0aGUga2V5IHRvIGJlIGFzc2lnbmVkIHRvDQotCSAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgdGhhdCB3aWxsIGJlIGFzc2lnbmVkDQotCSAqIEB0aHJvd3MgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gdGhlIHZhbHVlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHRhYmxlDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgUHV0VmFsdWUoc3RkOjpzdHJpbmcga2V5LCBDb21wbGV4RGF0YSYgdmFsdWUpID0gMDsNCi0gICAgICAgIA0KLQl2aXJ0dWFsIHZvaWQgUmV0cmlldmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIENvbXBsZXhEYXRhJiBleHRlcm5hbFZhbHVlKSA9IDA7DQotCQ0KLQkNCi0NCi0JLyoqDQotCSAqIFB1dCBhIG51bWJlciBpbiB0aGUgdGFibGUNCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBiZSBhc3NpZ25lZCB0bw0KLQkgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRoYXQgd2lsbCBiZSBhc3NpZ25lZA0KLQkgKi8NCi0gICAgdmlydHVhbCB2b2lkIFB1dE51bWJlcihzdGQ6OnN0cmluZyBrZXksIGRvdWJsZSB2YWx1ZSkgPSAwOw0KLQkvKioNCi0JICogR2V0cyB0aGUgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBsb29rIHVwDQotCSAqIEByZXR1cm4gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5IA0KLQkgKiBAdGhyb3dzIFRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBubyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleQ0KLQkgKi8NCi0JdmlydHVhbCBkb3VibGUgR2V0TnVtYmVyKHN0ZDo6c3RyaW5nIGtleSkgPSAwOw0KLQkvKioNCi0JICogR2V0cyB0aGUgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBsb29rIHVwDQotCSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIGJlIHJldHVybmVkIGlmIG5vIHZhbHVlIGlzIGZvdW5kDQotCSAqIEByZXR1cm4gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5IG9yIHRoZSBnaXZlbiBkZWZhdWx0IHZhbHVlIGlmIHRoZXJlIGlzIG5vIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5DQotCSAqLw0KLQl2aXJ0dWFsIGRvdWJsZSBHZXROdW1iZXIoc3RkOjpzdHJpbmcga2V5LCBkb3VibGUgZGVmYXVsdFZhbHVlKSA9IDA7DQotDQotCS8qKg0KLQkgKiBQdXQgYSBzdGQ6OnN0cmluZyYgaW4gdGhlIHRhYmxlDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gYmUgYXNzaWduZWQgdG8NCi0JICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0aGF0IHdpbGwgYmUgYXNzaWduZWQNCi0JICovDQotCXZpcnR1YWwgdm9pZCBQdXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5LCBzdGQ6OnN0cmluZyB2YWx1ZSkgPSAwOw0KLQkNCi0JLyoqDQotCSAqIEdldHMgdGhlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIG5hbWUuDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gbG9vayB1cA0KLQkgKiBAcmV0dXJuIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleSANCi0JICogQHRocm93cyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24gaWYgdGhlcmUgaXMgbm8gdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkNCi0JICovDQotCXZpcnR1YWwgc3RkOjpzdHJpbmcgR2V0U3RyaW5nKHN0ZDo6c3RyaW5nIGtleSkgPSAwOw0KLQkNCi0JLyoqDQotCSAqIEdldHMgdGhlIHN0cmluZyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIG5hbWUuDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gbG9vayB1cA0KLQkgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIHRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZCBpZiBubyB2YWx1ZSBpcyBmb3VuZA0KLQkgKiBAcmV0dXJuIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleSBvciB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpZiB0aGVyZSBpcyBubyB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGtleQ0KLQkgKi8NCi0JdmlydHVhbCBzdGQ6OnN0cmluZyBHZXRTdHJpbmcoc3RkOjpzdHJpbmcga2V5LCBzdGQ6OnN0cmluZyBkZWZhdWx0VmFsdWUpID0gMDsNCi0NCi0JLyoqDQotCSAqIFB1dCBhIGJvb2xlYW4gaW4gdGhlIHRhYmxlDQotCSAqIA0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdG8gYmUgYXNzaWduZWQgdG8NCi0JICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0aGF0IHdpbGwgYmUgYXNzaWduZWQNCi0JICovDQotCXZpcnR1YWwgdm9pZCBQdXRCb29sZWFuKHN0ZDo6c3RyaW5nIGtleSwgYm9vbCB2YWx1ZSkgPSAwOw0KLQkNCi0JLyoqDQotCSAqIEdldHMgdGhlIGJvb2xlYW4gYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBuYW1lLg0KLQkgKiANCi0JICogQHBhcmFtIGtleSB0aGUga2V5IHRvIGxvb2sgdXANCi0JICogQHJldHVybiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkgDQotCSAqIEB0aHJvd3MgVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uIGlmIHRoZXJlIGlzIG5vIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5DQotCSAqLw0KLQl2aXJ0dWFsIGJvb2wgR2V0Qm9vbGVhbihzdGQ6OnN0cmluZyBrZXkpID0gMDsNCi0JDQotCS8qKg0KLQkgKiBHZXRzIHRoZSBib29sZWFuIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4NCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBsb29rIHVwDQotCSAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgdGhlIHZhbHVlIHRvIGJlIHJldHVybmVkIGlmIG5vIHZhbHVlIGlzIGZvdW5kDQotCSAqIEByZXR1cm4gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5IG9yIHRoZSBnaXZlbiBkZWZhdWx0IHZhbHVlIGlmIHRoZXJlIGlzIG5vIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5DQotCSAqLw0KLQl2aXJ0dWFsIGJvb2wgR2V0Qm9vbGVhbihzdGQ6OnN0cmluZyBrZXksIGJvb2wgZGVmYXVsdFZhbHVlKSA9IDA7DQotCQ0KLQkvKioNCi0JICogQWRkIGEgbGlzdGVuZXIgZm9yIGNoYW5nZXMgdG8gdGhlIHRhYmxlDQotCSAqIA0KLQkgKiBAcGFyYW0gbGlzdGVuZXIgdGhlIGxpc3RlbmVyIHRvIGFkZA0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIEFkZFRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKSA9IDA7DQotCQ0KLQkvKioNCi0JICogQWRkIGEgbGlzdGVuZXIgZm9yIGNoYW5nZXMgdG8gdGhlIHRhYmxlDQotCSAqIA0KLQkgKiBAcGFyYW0gbGlzdGVuZXIgdGhlIGxpc3RlbmVyIHRvIGFkZA0KLQkgKiBAcGFyYW0gaW1tZWRpYXRlTm90aWZ5IGlmIHRydWUgdGhlbiB0aGlzIGxpc3RlbmVyIHdpbGwgYmUgbm90aWZpZWQgb2YgYWxsIGN1cnJlbnQgZW50cmllcyAobWFya2VkIGFzIG5ldykNCi0JICovDQotCXZpcnR1YWwgdm9pZCBBZGRUYWJsZUxpc3RlbmVyKElUYWJsZUxpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCBpbW1lZGlhdGVOb3RpZnkpID0gMDsNCi0JDQotCS8qKg0KLQkgKiBBZGQgYSBsaXN0ZW5lciBmb3IgY2hhbmdlcyB0byBhIHNwZWNpZmljIGtleSB0aGUgdGFibGUNCi0JICogDQotCSAqIEBwYXJhbSBrZXkgdGhlIGtleSB0byBsaXN0ZW4gZm9yDQotCSAqIEBwYXJhbSBsaXN0ZW5lciB0aGUgbGlzdGVuZXIgdG8gYWRkDQotCSAqIEBwYXJhbSBpbW1lZGlhdGVOb3RpZnkgaWYgdHJ1ZSB0aGVuIHRoaXMgbGlzdGVuZXIgd2lsbCBiZSBub3RpZmllZCBvZiBhbGwgY3VycmVudCBlbnRyaWVzIChtYXJrZWQgYXMgbmV3KQ0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIEFkZFRhYmxlTGlzdGVuZXIoc3RkOjpzdHJpbmcga2V5LCBJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIsIGJvb2wgaW1tZWRpYXRlTm90aWZ5KSA9IDA7DQotCQ0KLQkvKioNCi0JICogVGhpcyB3aWxsIGltbWVkaWF0ZWx5IG5vdGlmeSB0aGUgbGlzdGVuZXIgb2YgYWxsIGN1cnJlbnQgc3ViIHRhYmxlcw0KLQkgKiANCi0JICogQHBhcmFtIGxpc3RlbmVyDQotCSAqLw0KLQl2aXJ0dWFsIHZvaWQgQWRkU3ViVGFibGVMaXN0ZW5lcihJVGFibGVMaXN0ZW5lciogbGlzdGVuZXIpID0gMDsNCi0JDQotCS8qKg0KLQkgKiBSZW1vdmUgYSBsaXN0ZW5lciBmcm9tIHJlY2VpdmluZyB0YWJsZSBldmVudHMNCi0JICogDQotCSAqIEBwYXJhbSBsaXN0ZW5lciB0aGUgbGlzdGVuZXIgdG8gYmUgcmVtb3ZlZA0KLQkgKi8NCi0JdmlydHVhbCB2b2lkIFJlbW92ZVRhYmxlTGlzdGVuZXIoSVRhYmxlTGlzdGVuZXIqIGxpc3RlbmVyKSA9IDA7DQotICAgICAgICANCi0NCi19Ow0KLQ0KLQ0KLSNlbmRpZiAvKiBJVEFCTEVfSF8gKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvSVRhYmxlTGlzdGVuZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3RhYmxlcy9JVGFibGVMaXN0ZW5lci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYjFkMGMzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3RhYmxlcy9JVGFibGVMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLyoNCi0gKiBJVGFibGVMaXN0ZW5lci5oDQotICoNCi0gKiAgQ3JlYXRlZCBvbjogU2VwIDE5LCAyMDEyDQotICogICAgICBBdXRob3I6IE1pdGNoZWxsIFdpbGxzDQotICovDQotDQotI2lmbmRlZiBJVEFCTEVMSVNURU5FUl9IXw0KLSNkZWZpbmUgSVRBQkxFTElTVEVORVJfSF8NCi0NCi0NCi1jbGFzcyBJVGFibGVMaXN0ZW5lcjsNCi0NCi0NCi0jaW5jbHVkZSAiSVRhYmxlLmgiDQotDQotDQotDQotDQotLyoqDQotICogQSBsaXN0ZW5lciB0aGF0IGxpc3RlbnMgdG8gY2hhbmdlcyBpbiB2YWx1ZXMgaW4gYSB7QGxpbmsgSVRhYmxlfQ0KLSAqIA0KLSAqIEBhdXRob3IgTWl0Y2hlbGwNCi0gKg0KLSAqLw0KLWNsYXNzIElUYWJsZUxpc3RlbmVyIHsNCi0gcHVibGljOg0KLSAgICAvKioNCi0gICAgICogQ2FsbGVkIHdoZW4gYSBrZXktdmFsdWUgcGFpciBpcyBjaGFuZ2VkIGluIGEge0BsaW5rIElUYWJsZX0NCi0gICAgICogV0FSTklORzogSWYgYSBuZXcga2V5LXZhbHVlIGlzIHB1dCBpbiB0aGlzIG1ldGhvZCB2YWx1ZSBjaGFuZ2VkIHdpbGwgaW1tZWRpYXRseSBiZSBjYWxsZWQgd2hpY2ggY291bGQgbGVhZCB0byByZWN1cnNpdmUgY29kZQ0KLSAgICAgKiBAcGFyYW0gc291cmNlIHRoZSB0YWJsZSB0aGUga2V5LXZhbHVlIHBhaXIgZXhpc3RzIGluDQotICAgICAqIEBwYXJhbSBrZXkgdGhlIGtleSBhc3NvY2lhdGVkIHdpdGggdGhlIHZhbHVlIHRoYXQgY2hhbmdlZA0KLSAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIG5ldyB2YWx1ZQ0KLSAgICAgKiBAcGFyYW0gaXNOZXcgdHJ1ZSBpZiB0aGUga2V5IGRpZCBub3QgcHJldmlvdXNseSBleGlzdCBpbiB0aGUgdGFibGUsIG90aGVyd2lzZSBpdCBpcyBmYWxzZQ0KLSAgICAgKi8NCi0gICAgdmlydHVhbCB2b2lkIFZhbHVlQ2hhbmdlZChJVGFibGUqIHNvdXJjZSwgY29uc3Qgc3RkOjpzdHJpbmcmIGtleSwgRW50cnlWYWx1ZSB2YWx1ZSwgYm9vbCBpc05ldykgPSAwOw0KLX07DQotDQotDQotDQotI2VuZGlmIC8qIElUQUJMRUxJU1RFTkVSX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL0lUYWJsZVByb3ZpZGVyLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvSVRhYmxlUHJvdmlkZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjRiYmI2NC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvSVRhYmxlUHJvdmlkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLS8qDQotICogSVRhYmxlUHJvdmlkZXIuaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgSVRBQkxFUFJPVklERVJfSF8NCi0jZGVmaW5lIElUQUJMRVBST1ZJREVSX0hfDQotDQotDQotY2xhc3MgSVRhYmxlUHJvdmlkZXI7DQotDQotI2luY2x1ZGUgInRhYmxlcy9JVGFibGUuaCINCi0NCi0NCi0vKioNCi0gKiBBIHNpbXBsZSBpbnRlcmZhY2UgdG8gcHJvdmlkZSB0YWJsZXMNCi0gKiANCi0gKiBAYXV0aG9yIE1pdGNoZWxsDQotICoNCi0gKi8NCi1jbGFzcyBJVGFibGVQcm92aWRlciB7DQotCS8qKg0KLQkgKiBHZXQgYSB0YWJsZSBieSBuYW1lDQotCSAqIEBwYXJhbSBuYW1lIHRoZSBuYW1lIG9mIHRoZSB0YWJsZQ0KLQkgKiBAcmV0dXJuIGEgVGFibGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZQ0KLQkgKi8NCi0JdmlydHVhbCBJVGFibGUqIEdldFRhYmxlKHN0ZDo6c3RyaW5nIG5hbWUpID0gMDsNCi19Ow0KLQ0KLSNlbmRpZiAvKiBJVEFCTEVQUk9WSURFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3RhYmxlcy9UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL1RhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2YWU4OGYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL1RhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0vKg0KLSAqIFRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbi5jcHANCi0gKg0KLSAqICBDcmVhdGVkIG9uOiBTZXAgMjIsIDIwMTINCi0gKiAgICAgIEF1dGhvcjogTWl0Y2hlbGwgV2lsbHMNCi0gKi8NCi0NCi0jaW5jbHVkZSAidGFibGVzL1RhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbi5oIg0KLSNpbmNsdWRlIDxzdGRsaWIuaD4NCi0jaW5jbHVkZSA8Y3N0cmluZz4NCi0NCi0NCi0jZGVmaW5lIE1FU1NBR0VfUFJFRklYICJVbmtvd24gVGFibGUgS2V5OiAiDQotVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uOjpUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24oY29uc3Qgc3RkOjpzdHJpbmcga2V5KToNCi1tc2coTUVTU0FHRV9QUkVGSVggKyBrZXkpew0KLQ0KLX0NCi0NCi1jb25zdCBjaGFyKiBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb246OndoYXQoKXsNCi0JcmV0dXJuIG1zZy5jX3N0cigpOw0KLX0NCi0NCi1UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb246On5UYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24oKSB0aHJvdygpew0KLX0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi90YWJsZXMvVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkYTk5MTMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdGFibGVzL1RhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoNCi0gKiBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24uaA0KLSAqDQotICogIENyZWF0ZWQgb246IFNlcCAyMiwgMjAxMg0KLSAqICAgICAgQXV0aG9yOiBNaXRjaGVsbCBXaWxscw0KLSAqLw0KLQ0KLSNpZm5kZWYgVEFCTEVLRVlOT1RERUZJTkVERVhDRVBUSU9OX0hfDQotI2RlZmluZSBUQUJMRUtFWU5PVERFRklORURFWENFUFRJT05fSF8NCi0NCi0NCi1jbGFzcyBUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb247DQotDQotDQotI2luY2x1ZGUgPGV4Y2VwdGlvbj4NCi0jaW5jbHVkZSA8c3RyaW5nPg0KLQ0KLQ0KLS8qKg0KLSAqIEFuIGV4Y2VwdGlvbiB0aHJvdyB3aGVuIHRoZSBsb29rdXAgYSBhIGtleS12YWx1ZSBmYWlscyBpbiBhIHtAbGluayBJVGFibGV9DQotICogDQotICogQGF1dGhvciBNaXRjaGVsbA0KLSAqDQotICovDQotY2xhc3MgVGFibGVLZXlOb3REZWZpbmVkRXhjZXB0aW9uIDogcHVibGljIHN0ZDo6ZXhjZXB0aW9uIHsNCi1wdWJsaWM6DQotCS8qKg0KLQkgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdGhhdCB3YXMgbm90IGRlZmluZWQgaW4gdGhlIHRhYmxlDQotCSAqLw0KLQlUYWJsZUtleU5vdERlZmluZWRFeGNlcHRpb24oY29uc3Qgc3RkOjpzdHJpbmcga2V5KTsNCi0JflRhYmxlS2V5Tm90RGVmaW5lZEV4Y2VwdGlvbigpIHRocm93KCk7DQotCWNvbnN0IGNoYXIqIHdoYXQoKTsNCi1wcml2YXRlOg0KLQljb25zdCBzdGQ6OnN0cmluZyBtc2c7DQotfTsNCi0NCi0NCi0NCi0NCi0jZW5kaWYgLyogVEFCTEVLRVlOT1RERUZJTkVERVhDRVBUSU9OX0hfICovDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdmlzYS9NYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3Zpc2EvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMDVjOTYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdmlzYS9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDIxODQgKzAsMCBAQAotIyBXaW5kIFJpdmVyIFdvcmtiZW5jaCBnZW5lcmF0ZWQgTWFrZWZpbGUuDQotIyBEbyBub3QgZWRpdCEhIQ0KLSMNCi0jIFRoZSBmaWxlICIud3JtYWtlZmlsZSIgaXMgdGhlIHRlbXBsYXRlIHVzZWQgYnkgdGhlIFdpbmQgUml2ZXIgV29ya2JlbmNoIHRvDQotIyBnZW5lcmF0ZSB0aGUgbWFrZWZpbGVzIG9mIHRoaXMgcHJvamVjdC4gQWRkIHVzZXItc3BlY2lmaWMgYnVpbGQgdGFyZ2V0cyBhbmQNCi0jIG1ha2UgcnVsZXMgb25seSghKSBpbiB0aGlzIHByb2plY3QncyAiLndybWFrZWZpbGUiIGZpbGUuIFRoZXNlIHdpbGwgdGhlbiBiZQ0KLSMgYXV0b21hdGljYWxseSBkdW1wZWQgaW50byB0aGUgbWFrZWZpbGVzLg0KLQ0KLVdJTkRfSE9NRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfSE9NRSkpDQotV0lORF9CQVNFIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9CQVNFKSkNCi1XSU5EX1VTUiA6PSAkKHN1YnN0IFwsLywkKFdJTkRfVVNSKSkNCi0NCi1hbGwgOiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLV9jbGVhbiA6Og0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCINCi0NCi1UUkFDRT0wDQotVFJBQ0VPTj0kKFRSQUNFOjA9QCkNCi1UUkFDRV9GTEFHPSQoVFJBQ0VPTjoxPSkNCi0NCi1NQUtFRklMRSA6PSBNYWtlZmlsZQ0KLQ0KLUJVSUxEX1NQRUMgPSBQUEM2MDNnbnUNCi1ERUJVR19NT0RFID0gMQ0KLVNSQ19ESVIgOj0gLg0KLUJVSUxEX1JPT1RfRElSIDo9IA0KLVBSSl9ST09UX0RJUiA6PSBDOi93aW5kcml2ZXIvd29ya3NwYWNlL1dQSUxpYg0KLVdTX1JPT1RfRElSIDo9IEM6L3dpbmRyaXZlci93b3Jrc3BhY2UNCi0NCi1BTExfQlVJTERfU1BFQ1MgOj0gUFBDMzJkaWFiIFBQQzMyZ251IFBQQzMyc2ZkaWFiIFBQQzMyc2ZnbnUgXA0KLQkgUFBDNDAzZGlhYiBQUEM0MDNnbnUgUFBDNDA1ZGlhYiBQUEM0MDVnbnUgXA0KLQkgUFBDNDA1c2ZkaWFiIFBQQzQwNXNmZ251IFBQQzQ0MGRpYWIgUFBDNDQwZ251IFwNCi0JIFBQQzQ0MHNmZGlhYiBQUEM0NDBzZmdudSBQUEM2MDNkaWFiIFBQQzYwM2dudSBcDQotCSBQUEM2MDRkaWFiIFBQQzYwNGdudSBQUEM4NVhYZGlhYiBQUEM4NVhYZ251IFwNCi0JIFBQQzg1WFhzZmRpYWIgUFBDODVYWHNmZ251IFBQQzg2MHNmZGlhYiBQUEM4NjBzZmdudSBcDQotCSBTSU1MSU5VWGRpYWIgU0lNTElOVVhnbnUgU0lNTlRkaWFiIFNJTU5UZ251IFwNCi0JIFNJTVNQQVJDU09MQVJJU2RpYWIgU0lNU1BBUkNTT0xBUklTZ251DQotRU5BQkxFRF9CVUlMRF9TUEVDUyA6PSBQUEM2MDNnbnUNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEMzMmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEMzMmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzMyZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwM2RpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwM2dudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwM2dudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDA1ZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDA1Z251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDA1Z251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNXNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDA1c2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQ0MGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQ0MGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQ0MGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQ0MHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzYwNGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzYwNGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwNGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg1WFhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM4NVhYc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM4NjBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1MSU5VWGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTUxJTlVYZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFNJTU5UZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFNJTU5UZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTlRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFNJTVNQQVJDU09MQVJJU2RpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFNJTVNQQVJDU09MQVJJU2dudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTVNQQVJDU09MQVJJU2dudQ0KLWVuZGlmDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2RpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpFQ1RTKQ0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9DQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKRUNUUykNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PQ0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSkVDVFMpDQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotDQotUFJPSkVDVF9UWVBFID0gREtNDQotREVGSU5FUyA9IA0KLUVYUEFORF9EQkcgPSAwDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzMyDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzMyDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEMzMg0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQ0ZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzMyDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXNvZnQtZmxvYXQgLW1zdHJpY3QtYWxpZ24NCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDAzRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDMNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00MDMgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDA1DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQwNUZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDA1DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDA1IC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDA1DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IHNmZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDA1RlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwNQ0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDA1IC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQ0MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0NDBGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQ0MA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQ0MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQ0MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQ0MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0NDANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQ0MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM2MDMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNjAzRkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM2MDMNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT02MDMgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtbWxvbmdjYWxsDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSS4uIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM2MDQNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNjA0Rkg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM2MDQNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT02MDQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQ0U1MDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9ODU0MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQgLW1hYmk9bm8tc3BlDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQ0U1MDBGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODYwDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IHNmZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDODYwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9ODYwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltbGludXgNCi1DUFUgPSBTSU1MSU5VWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltbGludXgNCi1DUFUgPSBTSU1MSU5VWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBzaW1wYw0KLUNQVSA9IFNJTU5UDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFg4NkxIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBzaW1wYw0KLUNQVSA9IFNJTU5UDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW10dW5lPWk0ODYgLW1hcmNoPWk0ODYNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBzaW1zbw0KLUNQVSA9IFNJTVNQQVJDU09MQVJJUw0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRTUEFSQ0ZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjc3BhcmMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKSAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgLUQnU1ZOX1JFVj0iJChzaGVsbCBzdm52ZXJzaW9uIC1uIC4uKSInICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRykgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMIC1EJ1NWTl9SRVY9IiQoc2hlbGwgc3ZudmVyc2lvbiAtbiAuLikiJyAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi0NCi0NCi0NCi0NCi0NCi0taW5jbHVkZSAkKFBSSl9ST09UX0RJUikvKi5tYWtlZmlsZQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGV4dGVybmFsX2J1aWxkICQoUFJPSkVDVF9UQVJHRVRTKQ0KLQlAZWNobyAibWFrZTogYnVpbHQgdGFyZ2V0cyBvZiBgcHdkYCINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkDQotZXh0ZXJuYWxfYnVpbGQgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi92aXNhL3Zpc2EuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3Zpc2EvdmlzYS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDlmNDYxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV1BJTGliL3Zpc2EvdmlzYS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTA2NCArMCwwIEBACi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogRGlzdHJpYnV0ZWQgYnkgSVZJIEZvdW5kYXRpb24gSW5jLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIENvbnRhaW5zIE5hdGlvbmFsIEluc3RydW1lbnRzIGV4dGVuc2lvbnMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiBEbyBub3QgbW9kaWZ5IHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiBUaXRsZSAgIDogVklTQS5IICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyogRGF0ZSAgICA6IDEwLTA5LTIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIFB1cnBvc2UgOiBJbmNsdWRlIGZpbGUgZm9yIHRoZSBWSVNBIExpYnJhcnkgNC4wIHNwZWNpZmljYXRpb24gICAgICAgICAgICAgKi8NCi0vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLS8qIFdoZW4gdXNpbmcgTkktVklTQSBleHRlbnNpb25zLCB5b3UgbXVzdCBsaW5rIHdpdGggdGhlIFZJU0EgbGlicmFyeSB0aGF0ICAgKi8NCi0vKiBjb21lcyB3aXRoIE5JLVZJU0EuICBDdXJyZW50bHksIHRoZSBleHRlbnNpb25zIHByb3ZpZGVkIGJ5IE5JLVZJU0EgYXJlOiAgICovDQotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIFBYSSAoQ29tcGFjdCBQQ0kgZVh0ZW5zaW9ucyBmb3IgSW5zdHJ1bWVudGF0aW9uKSBhbmQgUENJIHN1cHBvcnQuICBUbyB1c2UgKi8NCi0vKiB0aGlzLCB5b3UgbXVzdCBkZWZpbmUgdGhlIG1hY3JvIE5JVklTQV9QWEkgYmVmb3JlIGluY2x1ZGluZyB0aGlzIGhlYWRlci4gICovDQotLyogWW91IG11c3QgYWxzbyBjcmVhdGUgYW4gSU5GIGZpbGUgd2l0aCB0aGUgVklTQSBEcml2ZXIgRGV2ZWxvcG1lbnQgV2l6YXJkLiAqLw0KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiBBIGZhc3Qgc2V0IG9mIG1hY3JvcyBmb3IgdmlQZWVrWFgvdmlQb2tlWFggdGhhdCBndWFyYW50ZWVzIGJpbmFyeSAgICAgICAgICovDQotLyogY29tcGF0aWJpbGl0eSB3aXRoIG90aGVyIGltcGxlbWVudGF0aW9ucyBvZiBWSVNBLiAgVG8gdXNlIHRoaXMsIHlvdSBtdXN0ICAqLw0KLS8qIGRlZmluZSB0aGUgbWFjcm8gTklWSVNBX1BFRUtQT0tFIGJlZm9yZSBpbmNsdWRpbmcgdGhpcyBoZWFkZXIuICAgICAgICAgICAgKi8NCi0vKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyogU3VwcG9ydCBmb3IgVVNCIGRldmljZXMgdGhhdCBkbyBub3QgY29uZm9ybSB0byBhIHNwZWNpZmljIGNsYXNzLiAgVG8gdXNlICAqLw0KLS8qIHRoaXMsIHlvdSBtdXN0IGRlZmluZSB0aGUgbWFjcm8gTklWSVNBX1VTQiBiZWZvcmUgaW5jbHVkaW5nIHRoaXMgaGVhZGVyLiAgKi8NCi0vKiBZb3UgbXVzdCBhbHNvIGNyZWF0ZSBhbiBJTkYgZmlsZSB3aXRoIHRoZSBWSVNBIERyaXZlciBEZXZlbG9wbWVudCBXaXphcmQuICovDQotLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX19WSVNBX0hFQURFUl9fDQotI2RlZmluZSBfX1ZJU0FfSEVBREVSX18NCi0NCi0jaW5jbHVkZSA8c3RkYXJnLmg+DQotDQotI2lmICFkZWZpbmVkKF9fVklTQVRZUEVfSEVBREVSX18pDQotI2luY2x1ZGUgInZpc2F0eXBlLmgiDQotI2VuZGlmDQotDQotI2RlZmluZSBWSV9TUEVDX1ZFUlNJT04gICAgICgweDAwNDAwMDAwVUwpDQotDQotI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpIHx8IGRlZmluZWQoX19jcGx1c3BsdXNfXykNCi0gICBleHRlcm4gIkMiIHsNCi0jZW5kaWYNCi0NCi0jaWYgZGVmaW5lZChfQ1ZJXykNCi0jcHJhZ21hIEVuYWJsZUxpYnJhcnlSdW50aW1lQ2hlY2tpbmcNCi0jZW5kaWYNCi0NCi0vKi0gVklTQSBUeXBlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotdHlwZWRlZiBWaU9iamVjdCAgICAgICAgICAgICBWaUV2ZW50Ow0KLXR5cGVkZWYgVmlFdmVudCAgICAgIF9WSV9QVFIgVmlQRXZlbnQ7DQotdHlwZWRlZiBWaU9iamVjdCAgICAgICAgICAgICBWaUZpbmRMaXN0Ow0KLXR5cGVkZWYgVmlGaW5kTGlzdCAgIF9WSV9QVFIgVmlQRmluZExpc3Q7DQotDQotI2lmIGRlZmluZWQoX1ZJX0lOVDY0X1VJTlQ2NF9ERUZJTkVEKSAmJiBkZWZpbmVkKF9WSVNBX0VOVl9JU182NF9CSVQpDQotdHlwZWRlZiBWaVVJbnQ2NCAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M7DQotdHlwZWRlZiBWaVVJbnQ2NCAgICAgICAgICAgICBWaUJ1c1NpemU7DQotdHlwZWRlZiBWaVVJbnQ2NCAgICAgICAgICAgICBWaUF0dHJTdGF0ZTsNCi0jZWxzZQ0KLXR5cGVkZWYgVmlVSW50MzIgICAgICAgICAgICAgVmlCdXNBZGRyZXNzOw0KLXR5cGVkZWYgVmlVSW50MzIgICAgICAgICAgICAgVmlCdXNTaXplOw0KLXR5cGVkZWYgVmlVSW50MzIgICAgICAgICAgICAgVmlBdHRyU3RhdGU7DQotI2VuZGlmDQotDQotI2lmIGRlZmluZWQoX1ZJX0lOVDY0X1VJTlQ2NF9ERUZJTkVEKQ0KLXR5cGVkZWYgVmlVSW50NjQgICAgICAgICAgICAgVmlCdXNBZGRyZXNzNjQ7DQotdHlwZWRlZiBWaUJ1c0FkZHJlc3M2NCBfVklfUFRSIFZpUEJ1c0FkZHJlc3M2NDsNCi0jZW5kaWYNCi0NCi10eXBlZGVmIFZpVUludDMyICAgICAgICAgICAgIFZpRXZlbnRUeXBlOw0KLXR5cGVkZWYgVmlFdmVudFR5cGUgIF9WSV9QVFIgVmlQRXZlbnRUeXBlOw0KLXR5cGVkZWYgVmlFdmVudFR5cGUgIF9WSV9QVFIgVmlBRXZlbnRUeXBlOw0KLXR5cGVkZWYgdm9pZCAgICAgICAgIF9WSV9QVFIgVmlQQXR0clN0YXRlOw0KLXR5cGVkZWYgVmlBdHRyICAgICAgIF9WSV9QVFIgVmlQQXR0cjsNCi10eXBlZGVmIFZpQXR0ciAgICAgICBfVklfUFRSIFZpQUF0dHI7DQotDQotdHlwZWRlZiBWaVN0cmluZyAgICAgICAgICAgICBWaUtleUlkOw0KLXR5cGVkZWYgVmlQU3RyaW5nICAgICAgICAgICAgVmlQS2V5SWQ7DQotdHlwZWRlZiBWaVVJbnQzMiAgICAgICAgICAgICBWaUpvYklkOw0KLXR5cGVkZWYgVmlKb2JJZCAgICAgIF9WSV9QVFIgVmlQSm9iSWQ7DQotdHlwZWRlZiBWaVVJbnQzMiAgICAgICAgICAgICBWaUFjY2Vzc01vZGU7DQotdHlwZWRlZiBWaUFjY2Vzc01vZGUgX1ZJX1BUUiBWaVBBY2Nlc3NNb2RlOw0KLXR5cGVkZWYgVmlCdXNBZGRyZXNzIF9WSV9QVFIgVmlQQnVzQWRkcmVzczsNCi10eXBlZGVmIFZpVUludDMyICAgICAgICAgICAgIFZpRXZlbnRGaWx0ZXI7DQotDQotdHlwZWRlZiB2YV9saXN0ICAgICAgICAgICAgICBWaVZBTGlzdDsNCi0NCi10eXBlZGVmIFZpU3RhdHVzIChfVklfRlVOQ0ggX1ZJX1BUUiBWaUhuZGxyKQ0KLSAgIChWaVNlc3Npb24gdmksIFZpRXZlbnRUeXBlIGV2ZW50VHlwZSwgVmlFdmVudCBldmVudCwgVmlBZGRyIHVzZXJIYW5kbGUpOw0KLQ0KLS8qLSBSZXNvdXJjZSBNYW5hZ2VyIEZ1bmN0aW9ucyBhbmQgT3BlcmF0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlPcGVuRGVmYXVsdFJNIChWaVBTZXNzaW9uIHZpKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlGaW5kUnNyYyAgICAgIChWaVNlc3Npb24gc2VzbiwgVmlTdHJpbmcgZXhwciwgVmlQRmluZExpc3QgdmksDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlQVUludDMyIHJldENudCwgVmlDaGFyIF9WSV9GQVIgZGVzY1tdKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlGaW5kTmV4dCAgICAgIChWaUZpbmRMaXN0IHZpLCBWaUNoYXIgX1ZJX0ZBUiBkZXNjW10pOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVBhcnNlUnNyYyAgICAgKFZpU2Vzc2lvbiBybVNlc24sIFZpUnNyYyByc3JjTmFtZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaVBVSW50MTYgaW50ZlR5cGUsIFZpUFVJbnQxNiBpbnRmTnVtKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlQYXJzZVJzcmNFeCAgIChWaVNlc3Npb24gcm1TZXNuLCBWaVJzcmMgcnNyY05hbWUsIFZpUFVJbnQxNiBpbnRmVHlwZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaVBVSW50MTYgaW50Zk51bSwgVmlDaGFyIF9WSV9GQVIgcnNyY0NsYXNzW10sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlDaGFyIF9WSV9GQVIgZXhwYW5kZWRVbmFsaWFzZWROYW1lW10sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlDaGFyIF9WSV9GQVIgYWxpYXNJZkV4aXN0c1tdKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlPcGVuICAgICAgICAgIChWaVNlc3Npb24gc2VzbiwgVmlSc3JjIG5hbWUsIFZpQWNjZXNzTW9kZSBtb2RlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVUludDMyIHRpbWVvdXQsIFZpUFNlc3Npb24gdmkpOw0KLQ0KLS8qLSBSZXNvdXJjZSBUZW1wbGF0ZSBPcGVyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlDbG9zZSAgICAgICAgIChWaU9iamVjdCB2aSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpU2V0QXR0cmlidXRlICAoVmlPYmplY3QgdmksIFZpQXR0ciBhdHRyTmFtZSwgVmlBdHRyU3RhdGUgYXR0clZhbHVlKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlHZXRBdHRyaWJ1dGUgIChWaU9iamVjdCB2aSwgVmlBdHRyIGF0dHJOYW1lLCB2b2lkIF9WSV9QVFIgYXR0clZhbHVlKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlTdGF0dXNEZXNjICAgIChWaU9iamVjdCB2aSwgVmlTdGF0dXMgc3RhdHVzLCBWaUNoYXIgX1ZJX0ZBUiBkZXNjW10pOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVRlcm1pbmF0ZSAgICAgKFZpT2JqZWN0IHZpLCBWaVVJbnQxNiBkZWdyZWUsIFZpSm9iSWQgam9iSWQpOw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUxvY2sgICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlBY2Nlc3NNb2RlIGxvY2tUeXBlLCBWaVVJbnQzMiB0aW1lb3V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpS2V5SWQgcmVxdWVzdGVkS2V5LCBWaUNoYXIgX1ZJX0ZBUiBhY2Nlc3NLZXlbXSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpVW5sb2NrICAgICAgICAoVmlTZXNzaW9uIHZpKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlFbmFibGVFdmVudCAgIChWaVNlc3Npb24gdmksIFZpRXZlbnRUeXBlIGV2ZW50VHlwZSwgVmlVSW50MTYgbWVjaGFuaXNtLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpRXZlbnRGaWx0ZXIgY29udGV4dCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpRGlzYWJsZUV2ZW50ICAoVmlTZXNzaW9uIHZpLCBWaUV2ZW50VHlwZSBldmVudFR5cGUsIFZpVUludDE2IG1lY2hhbmlzbSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpRGlzY2FyZEV2ZW50cyAoVmlTZXNzaW9uIHZpLCBWaUV2ZW50VHlwZSBldmVudFR5cGUsIFZpVUludDE2IG1lY2hhbmlzbSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpV2FpdE9uRXZlbnQgICAoVmlTZXNzaW9uIHZpLCBWaUV2ZW50VHlwZSBpbkV2ZW50VHlwZSwgVmlVSW50MzIgdGltZW91dCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaVBFdmVudFR5cGUgb3V0RXZlbnRUeXBlLCBWaVBFdmVudCBvdXRDb250ZXh0KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlJbnN0YWxsSGFuZGxlcihWaVNlc3Npb24gdmksIFZpRXZlbnRUeXBlIGV2ZW50VHlwZSwgVmlIbmRsciBoYW5kbGVyLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQWRkciB1c2VySGFuZGxlKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlVbmluc3RhbGxIYW5kbGVyKFZpU2Vzc2lvbiB2aSwgVmlFdmVudFR5cGUgZXZlbnRUeXBlLCBWaUhuZGxyIGhhbmRsZXIsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUFkZHIgdXNlckhhbmRsZSk7DQotDQotLyotIEJhc2ljIEkvTyBPcGVyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVJlYWQgICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlQQnVmIGJ1ZiwgVmlVSW50MzIgY250LCBWaVBVSW50MzIgcmV0Q250KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlSZWFkQXN5bmMgICAgIChWaVNlc3Npb24gdmksIFZpUEJ1ZiBidWYsIFZpVUludDMyIGNudCwgVmlQSm9iSWQgIGpvYklkKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlSZWFkVG9GaWxlICAgIChWaVNlc3Npb24gdmksIFZpQ29uc3RTdHJpbmcgZmlsZW5hbWUsIFZpVUludDMyIGNudCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaVBVSW50MzIgcmV0Q250KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlXcml0ZSAgICAgICAgIChWaVNlc3Npb24gdmksIFZpQnVmICBidWYsIFZpVUludDMyIGNudCwgVmlQVUludDMyIHJldENudCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpV3JpdGVBc3luYyAgICAoVmlTZXNzaW9uIHZpLCBWaUJ1ZiAgYnVmLCBWaVVJbnQzMiBjbnQsIFZpUEpvYklkICBqb2JJZCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpV3JpdGVGcm9tRmlsZSAoVmlTZXNzaW9uIHZpLCBWaUNvbnN0U3RyaW5nIGZpbGVuYW1lLCBWaVVJbnQzMiBjbnQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlQVUludDMyIHJldENudCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpQXNzZXJ0VHJpZ2dlciAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBwcm90b2NvbCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpUmVhZFNUQiAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVBVSW50MTYgc3RhdHVzKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlDbGVhciAgICAgICAgIChWaVNlc3Npb24gdmkpOw0KLQ0KLS8qLSBGb3JtYXR0ZWQgYW5kIEJ1ZmZlcmVkIEkvTyBPcGVyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlTZXRCdWYgICAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IG1hc2ssIFZpVUludDMyIHNpemUpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUZsdXNoICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgbWFzayk7DQotDQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpQnVmV3JpdGUgICAgICAoVmlTZXNzaW9uIHZpLCBWaUJ1ZiAgYnVmLCBWaVVJbnQzMiBjbnQsIFZpUFVJbnQzMiByZXRDbnQpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUJ1ZlJlYWQgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlQQnVmIGJ1ZiwgVmlVSW50MzIgY250LCBWaVBVSW50MzIgcmV0Q250KTsNCi0NCi1WaVN0YXR1cyBfVklfRlVOQ0MgdmlQcmludGYgICAgICAgIChWaVNlc3Npb24gdmksIFZpU3RyaW5nIHdyaXRlRm10LCAuLi4pOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVZQcmludGYgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlTdHJpbmcgd3JpdGVGbXQsIFZpVkFMaXN0IHBhcmFtcyk7DQotVmlTdGF0dXMgX1ZJX0ZVTkNDIHZpU1ByaW50ZiAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVBCdWYgYnVmLCBWaVN0cmluZyB3cml0ZUZtdCwgLi4uKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlWU1ByaW50ZiAgICAgIChWaVNlc3Npb24gdmksIFZpUEJ1ZiBidWYsIFZpU3RyaW5nIHdyaXRlRm10LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVkFMaXN0IHBhcm1zKTsNCi0NCi1WaVN0YXR1cyBfVklfRlVOQ0MgdmlTY2FuZiAgICAgICAgIChWaVNlc3Npb24gdmksIFZpU3RyaW5nIHJlYWRGbXQsIC4uLik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpVlNjYW5mICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVN0cmluZyByZWFkRm10LCBWaVZBTGlzdCBwYXJhbXMpOw0KLVZpU3RhdHVzIF9WSV9GVU5DQyB2aVNTY2FuZiAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlCdWYgYnVmLCBWaVN0cmluZyByZWFkRm10LCAuLi4pOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVZTU2NhbmYgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlCdWYgYnVmLCBWaVN0cmluZyByZWFkRm10LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVkFMaXN0IHBhcm1zKTsNCi0NCi1WaVN0YXR1cyBfVklfRlVOQ0MgdmlRdWVyeWYgICAgICAgIChWaVNlc3Npb24gdmksIFZpU3RyaW5nIHdyaXRlRm10LCBWaVN0cmluZyByZWFkRm10LCAuLi4pOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVZRdWVyeWYgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlTdHJpbmcgd3JpdGVGbXQsIFZpU3RyaW5nIHJlYWRGbXQsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVkFMaXN0IHBhcmFtcyk7DQotDQotLyotIE1lbW9yeSBJL08gT3BlcmF0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUluOCAgICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzIG9mZnNldCwgVmlQVUludDggIHZhbDgpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU91dDggICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzIG9mZnNldCwgVmlVSW50OCAgIHZhbDgpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUluMTYgICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzIG9mZnNldCwgVmlQVUludDE2IHZhbDE2KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlPdXQxNiAgICAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzQWRkcmVzcyBvZmZzZXQsIFZpVUludDE2ICB2YWwxNik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpSW4zMiAgICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3Mgb2Zmc2V0LCBWaVBVSW50MzIgdmFsMzIpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU91dDMyICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzIG9mZnNldCwgVmlVSW50MzIgIHZhbDMyKTsNCi0NCi0jaWYgZGVmaW5lZChfVklfSU5UNjRfVUlOVDY0X0RFRklORUQpDQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpSW42NCAgICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3Mgb2Zmc2V0LCBWaVBVSW50NjQgdmFsNjQpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU91dDY0ICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzIG9mZnNldCwgVmlVSW50NjQgIHZhbDY0KTsNCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlJbjhFeCAgICAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzQWRkcmVzczY0IG9mZnNldCwgVmlQVUludDggIHZhbDgpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU91dDhFeCAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNBZGRyZXNzNjQgb2Zmc2V0LCBWaVVJbnQ4ICAgdmFsOCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpSW4xNkV4ICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpUFVJbnQxNiB2YWwxNik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpT3V0MTZFeCAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpVUludDE2ICB2YWwxNik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpSW4zMkV4ICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpUFVJbnQzMiB2YWwzMik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpT3V0MzJFeCAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpVUludDMyICB2YWwzMik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpSW42NEV4ICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpUFVJbnQ2NCB2YWw2NCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpT3V0NjRFeCAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsIFZpVUludDY0ICB2YWw2NCk7DQotI2VuZGlmDQotDQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZUluOCAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzIG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50OCAgYnVmOCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZU91dDggICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzIG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50OCAgYnVmOCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZUluMTYgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzIG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50MTYgYnVmMTYpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU1vdmVPdXQxNiAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsIFZpQnVzQWRkcmVzcyBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDE2IGJ1ZjE2KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlSW4zMiAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3Mgb2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBsZW5ndGgsIFZpQVVJbnQzMiBidWYzMik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZU91dDMyICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzIG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50MzIgYnVmMzIpOw0KLQ0KLSNpZiBkZWZpbmVkKF9WSV9JTlQ2NF9VSU5UNjRfREVGSU5FRCkNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlSW42NCAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3Mgb2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBsZW5ndGgsIFZpQVVJbnQ2NCBidWY2NCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZU91dDY0ICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzIG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50NjQgYnVmNjQpOw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU1vdmVJbjhFeCAgICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3BhY2UsIFZpQnVzQWRkcmVzczY0IG9mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c1NpemUgbGVuZ3RoLCBWaUFVSW50OCAgYnVmOCk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZU91dDhFeCAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcGFjZSwgVmlCdXNBZGRyZXNzNjQgb2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBsZW5ndGgsIFZpQVVJbnQ4ICBidWY4KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlSW4xNkV4ICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDE2IGJ1ZjE2KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlT3V0MTZFeCAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDE2IGJ1ZjE2KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlSW4zMkV4ICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDMyIGJ1ZjMyKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlT3V0MzJFeCAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDMyIGJ1ZjMyKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlSW42NEV4ICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDY0IGJ1ZjY0KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlT3V0NjRFeCAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNwYWNlLCBWaUJ1c0FkZHJlc3M2NCBvZmZzZXQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIGxlbmd0aCwgVmlBVUludDY0IGJ1ZjY0KTsNCi0jZW5kaWYNCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlICAgICAgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNyY1NwYWNlLCBWaUJ1c0FkZHJlc3Mgc3JjT2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVUludDE2IHNyY1dpZHRoLCBWaVVJbnQxNiBkZXN0U3BhY2UsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzQWRkcmVzcyBkZXN0T2Zmc2V0LCBWaVVJbnQxNiBkZXN0V2lkdGgsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBzcmNMZW5ndGgpOyANCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNb3ZlQXN5bmMgICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IHNyY1NwYWNlLCBWaUJ1c0FkZHJlc3Mgc3JjT2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVUludDE2IHNyY1dpZHRoLCBWaVVJbnQxNiBkZXN0U3BhY2UsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzQWRkcmVzcyBkZXN0T2Zmc2V0LCBWaVVJbnQxNiBkZXN0V2lkdGgsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBzcmNMZW5ndGgsIFZpUEpvYklkIGpvYklkKTsNCi0NCi0jaWYgZGVmaW5lZChfVklfSU5UNjRfVUlOVDY0X0RFRklORUQpDQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTW92ZUV4ICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBzcmNTcGFjZSwgVmlCdXNBZGRyZXNzNjQgc3JjT2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVUludDE2IHNyY1dpZHRoLCBWaVVJbnQxNiBkZXN0U3BhY2UsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzQWRkcmVzczY0IGRlc3RPZmZzZXQsIFZpVUludDE2IGRlc3RXaWR0aCwgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlCdXNTaXplIHNyY0xlbmd0aCk7IA0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU1vdmVBc3luY0V4ICAgKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgc3JjU3BhY2UsIFZpQnVzQWRkcmVzczY0IHNyY09mZnNldCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaVVJbnQxNiBzcmNXaWR0aCwgVmlVSW50MTYgZGVzdFNwYWNlLCANCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWaUJ1c0FkZHJlc3M2NCBkZXN0T2Zmc2V0LCBWaVVJbnQxNiBkZXN0V2lkdGgsIA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBzcmNMZW5ndGgsIFZpUEpvYklkIGpvYklkKTsNCi0jZW5kaWYNCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNYXBBZGRyZXNzICAgIChWaVNlc3Npb24gdmksIFZpVUludDE2IG1hcFNwYWNlLCBWaUJ1c0FkZHJlc3MgbWFwT2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBtYXBTaXplLCBWaUJvb2xlYW4gYWNjZXNzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQWRkciBzdWdnZXN0ZWQsIFZpUEFkZHIgYWRkcmVzcyk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpVW5tYXBBZGRyZXNzICAoVmlTZXNzaW9uIHZpKTsNCi0NCi0jaWYgZGVmaW5lZChfVklfSU5UNjRfVUlOVDY0X0RFRklORUQpDQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpTWFwQWRkcmVzc0V4ICAoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBtYXBTcGFjZSwgVmlCdXNBZGRyZXNzNjQgbWFwT2Zmc2V0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVzU2l6ZSBtYXBTaXplLCBWaUJvb2xlYW4gYWNjZXNzLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQWRkciBzdWdnZXN0ZWQsIFZpUEFkZHIgYWRkcmVzcyk7DQotI2VuZGlmDQotDQotdm9pZCAgICAgX1ZJX0ZVTkMgIHZpUGVlazggICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaUFkZHIgYWRkcmVzcywgVmlQVUludDggIHZhbDgpOw0KLXZvaWQgICAgIF9WSV9GVU5DICB2aVBva2U4ICAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlBZGRyIGFkZHJlc3MsIFZpVUludDggICB2YWw4KTsNCi12b2lkICAgICBfVklfRlVOQyAgdmlQZWVrMTYgICAgICAgIChWaVNlc3Npb24gdmksIFZpQWRkciBhZGRyZXNzLCBWaVBVSW50MTYgdmFsMTYpOw0KLXZvaWQgICAgIF9WSV9GVU5DICB2aVBva2UxNiAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlBZGRyIGFkZHJlc3MsIFZpVUludDE2ICB2YWwxNik7DQotdm9pZCAgICAgX1ZJX0ZVTkMgIHZpUGVlazMyICAgICAgICAoVmlTZXNzaW9uIHZpLCBWaUFkZHIgYWRkcmVzcywgVmlQVUludDMyIHZhbDMyKTsNCi12b2lkICAgICBfVklfRlVOQyAgdmlQb2tlMzIgICAgICAgIChWaVNlc3Npb24gdmksIFZpQWRkciBhZGRyZXNzLCBWaVVJbnQzMiAgdmFsMzIpOw0KLQ0KLSNpZiBkZWZpbmVkKF9WSV9JTlQ2NF9VSU5UNjRfREVGSU5FRCkNCi12b2lkICAgICBfVklfRlVOQyAgdmlQZWVrNjQgICAgICAgIChWaVNlc3Npb24gdmksIFZpQWRkciBhZGRyZXNzLCBWaVBVSW50NjQgdmFsNjQpOw0KLXZvaWQgICAgIF9WSV9GVU5DICB2aVBva2U2NCAgICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlBZGRyIGFkZHJlc3MsIFZpVUludDY0ICB2YWw2NCk7DQotI2VuZGlmDQotDQotLyotIFNoYXJlZCBNZW1vcnkgT3BlcmF0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aU1lbUFsbG9jICAgICAgKFZpU2Vzc2lvbiB2aSwgVmlCdXNTaXplIHNpemUsIFZpUEJ1c0FkZHJlc3Mgb2Zmc2V0KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNZW1GcmVlICAgICAgIChWaVNlc3Npb24gdmksIFZpQnVzQWRkcmVzcyBvZmZzZXQpOw0KLQ0KLSNpZiBkZWZpbmVkKF9WSV9JTlQ2NF9VSU5UNjRfREVGSU5FRCkNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNZW1BbGxvY0V4ICAgIChWaVNlc3Npb24gdmksIFZpQnVzU2l6ZSBzaXplLCBWaVBCdXNBZGRyZXNzNjQgb2Zmc2V0KTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNZW1GcmVlRXggICAgIChWaVNlc3Npb24gdmksIFZpQnVzQWRkcmVzczY0IG9mZnNldCk7DQotI2VuZGlmDQotDQotLyotIEludGVyZmFjZSBTcGVjaWZpYyBPcGVyYXRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUdwaWJDb250cm9sUkVOKFZpU2Vzc2lvbiB2aSwgVmlVSW50MTYgbW9kZSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpR3BpYkNvbnRyb2xBVE4oVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBtb2RlKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlHcGliU2VuZElGQyAgIChWaVNlc3Npb24gdmkpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUdwaWJDb21tYW5kICAgKFZpU2Vzc2lvbiB2aSwgVmlCdWYgY21kLCBWaVVJbnQzMiBjbnQsIFZpUFVJbnQzMiByZXRDbnQpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUdwaWJQYXNzQ29udHJvbChWaVNlc3Npb24gdmksIFZpVUludDE2IHByaW1BZGRyLCBWaVVJbnQxNiBzZWNBZGRyKTsNCi0NCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlWeGlDb21tYW5kUXVlcnkoVmlTZXNzaW9uIHZpLCBWaVVJbnQxNiBtb2RlLCBWaVVJbnQzMiBjbWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpUFVJbnQzMiByZXNwb25zZSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpQXNzZXJ0VXRpbFNpZ25hbChWaVNlc3Npb24gdmksIFZpVUludDE2IGxpbmUpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aUFzc2VydEludHJTaWduYWwoVmlTZXNzaW9uIHZpLCBWaUludDE2IG1vZGUsIFZpVUludDMyIHN0YXR1c0lEKTsNCi1WaVN0YXR1cyBfVklfRlVOQyAgdmlNYXBUcmlnZ2VyICAgIChWaVNlc3Npb24gdmksIFZpSW50MTYgdHJpZ1NyYywgVmlJbnQxNiB0cmlnRGVzdCwgDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlVSW50MTYgbW9kZSk7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpVW5tYXBUcmlnZ2VyICAoVmlTZXNzaW9uIHZpLCBWaUludDE2IHRyaWdTcmMsIFZpSW50MTYgdHJpZ0Rlc3QpOw0KLVZpU3RhdHVzIF9WSV9GVU5DICB2aVVzYkNvbnRyb2xPdXQgKFZpU2Vzc2lvbiB2aSwgVmlJbnQxNiBibVJlcXVlc3RUeXBlLCBWaUludDE2IGJSZXF1ZXN0LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpVUludDE2IHdWYWx1ZSwgVmlVSW50MTYgd0luZGV4LCBWaVVJbnQxNiB3TGVuZ3RoLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpQnVmIGJ1Zik7DQotVmlTdGF0dXMgX1ZJX0ZVTkMgIHZpVXNiQ29udHJvbEluICAoVmlTZXNzaW9uIHZpLCBWaUludDE2IGJtUmVxdWVzdFR5cGUsIFZpSW50MTYgYlJlcXVlc3QsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlVSW50MTYgd1ZhbHVlLCBWaVVJbnQxNiB3SW5kZXgsIFZpVUludDE2IHdMZW5ndGgsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlQQnVmIGJ1ZiwgVmlQVUludDE2IHJldENudCk7DQotDQotLyotIEF0dHJpYnV0ZXMgKHBsYXRmb3JtIGluZGVwZW5kZW50IHNpemUpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNkZWZpbmUgVklfQVRUUl9SU1JDX0NMQVNTICAgICAgICAgICgweEJGRkYwMDAxVUwpDQotI2RlZmluZSBWSV9BVFRSX1JTUkNfTkFNRSAgICAgICAgICAgKDB4QkZGRjAwMDJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUlNSQ19JTVBMX1ZFUlNJT04gICAoMHgzRkZGMDAwM1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9SU1JDX0xPQ0tfU1RBVEUgICAgICgweDNGRkYwMDA0VUwpDQotI2RlZmluZSBWSV9BVFRSX01BWF9RVUVVRV9MRU5HVEggICAgKDB4M0ZGRjAwMDVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNFUl9EQVRBXzMyICAgICAgICAoMHgzRkZGMDAwN1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9GRENfQ0hOTCAgICAgICAgICAgICgweDNGRkYwMDBEVUwpDQotI2RlZmluZSBWSV9BVFRSX0ZEQ19NT0RFICAgICAgICAgICAgKDB4M0ZGRjAwMEZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRkRDX0dFTl9TSUdOQUxfRU4gICAoMHgzRkZGMDAxMVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9GRENfVVNFX1BBSVIgICAgICAgICgweDNGRkYwMDEzVUwpDQotI2RlZmluZSBWSV9BVFRSX1NFTkRfRU5EX0VOICAgICAgICAgKDB4M0ZGRjAwMTZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVEVSTUNIQVIgICAgICAgICAgICAoMHgzRkZGMDAxOFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9UTU9fVkFMVUUgICAgICAgICAgICgweDNGRkYwMDFBVUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfUkVBRERSX0VOICAgICAgKDB4M0ZGRjAwMUJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfSU9fUFJPVCAgICAgICAgICAgICAoMHgzRkZGMDAxQ1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9ETUFfQUxMT1dfRU4gICAgICAgICgweDNGRkYwMDFFVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfQkFVRCAgICAgICAgICAgKDB4M0ZGRjAwMjFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9EQVRBX0JJVFMgICAgICAoMHgzRkZGMDAyMlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX1BBUklUWSAgICAgICAgICgweDNGRkYwMDIzVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfU1RPUF9CSVRTICAgICAgKDB4M0ZGRjAwMjRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9GTE9XX0NOVFJMICAgICAoMHgzRkZGMDAyNVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9SRF9CVUZfT1BFUl9NT0RFICAgICgweDNGRkYwMDJBVUwpDQotI2RlZmluZSBWSV9BVFRSX1JEX0JVRl9TSVpFICAgICAgICAgKDB4M0ZGRjAwMkJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfV1JfQlVGX09QRVJfTU9ERSAgICAoMHgzRkZGMDAyRFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9XUl9CVUZfU0laRSAgICAgICAgICgweDNGRkYwMDJFVUwpDQotI2RlZmluZSBWSV9BVFRSX1NVUFBSRVNTX0VORF9FTiAgICAgKDB4M0ZGRjAwMzZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVEVSTUNIQVJfRU4gICAgICAgICAoMHgzRkZGMDAzOFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9ERVNUX0FDQ0VTU19QUklWICAgICgweDNGRkYwMDM5VUwpDQotI2RlZmluZSBWSV9BVFRSX0RFU1RfQllURV9PUkRFUiAgICAgKDB4M0ZGRjAwM0FVTCkNCi0jZGVmaW5lIFZJX0FUVFJfU1JDX0FDQ0VTU19QUklWICAgICAoMHgzRkZGMDAzQ1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9TUkNfQllURV9PUkRFUiAgICAgICgweDNGRkYwMDNEVUwpDQotI2RlZmluZSBWSV9BVFRSX1NSQ19JTkNSRU1FTlQgICAgICAgKDB4M0ZGRjAwNDBVTCkNCi0jZGVmaW5lIFZJX0FUVFJfREVTVF9JTkNSRU1FTlQgICAgICAoMHgzRkZGMDA0MVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9XSU5fQUNDRVNTX1BSSVYgICAgICgweDNGRkYwMDQ1VUwpDQotI2RlZmluZSBWSV9BVFRSX1dJTl9CWVRFX09SREVSICAgICAgKDB4M0ZGRjAwNDdVTCkNCi0jZGVmaW5lIFZJX0FUVFJfR1BJQl9BVE5fU1RBVEUgICAgICAoMHgzRkZGMDA1N1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9HUElCX0FERFJfU1RBVEUgICAgICgweDNGRkYwMDVDVUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfQ0lDX1NUQVRFICAgICAgKDB4M0ZGRjAwNUVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfR1BJQl9OREFDX1NUQVRFICAgICAoMHgzRkZGMDA2MlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9HUElCX1NSUV9TVEFURSAgICAgICgweDNGRkYwMDY3VUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfU1lTX0NOVFJMX1NUQVRFICgweDNGRkYwMDY4VUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfSFM0ODhfQ0JMX0xFTiAgKDB4M0ZGRjAwNjlVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQ01EUl9MQSAgICAgICAgICAgICAoMHgzRkZGMDA2QlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9WWElfREVWX0NMQVNTICAgICAgICgweDNGRkYwMDZDVUwpDQotI2RlZmluZSBWSV9BVFRSX01BSU5GUkFNRV9MQSAgICAgICAgKDB4M0ZGRjAwNzBVTCkNCi0jZGVmaW5lIFZJX0FUVFJfTUFORl9OQU1FICAgICAgICAgICAoMHhCRkZGMDA3MlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9NT0RFTF9OQU1FICAgICAgICAgICgweEJGRkYwMDc3VUwpDQotI2RlZmluZSBWSV9BVFRSX1ZYSV9WTUVfSU5UUl9TVEFUVVMgKDB4M0ZGRjAwOEJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVlhJX1RSSUdfU1RBVFVTICAgICAoMHgzRkZGMDA4RFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9WWElfVk1FX1NZU0ZBSUxfU1RBVEUgKDB4M0ZGRjAwOTRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfV0lOX0JBU0VfQUREUl8zMiAgICAoMHgzRkZGMDA5OFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9XSU5fU0laRV8zMiAgICAgICAgICgweDNGRkYwMDlBVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfQVZBSUxfTlVNICAgICAgKDB4M0ZGRjAwQUNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfTUVNX0JBU0VfMzIgICAgICAgICAoMHgzRkZGMDBBRFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX0NUU19TVEFURSAgICAgICgweDNGRkYwMEFFVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfRENEX1NUQVRFICAgICAgKDB4M0ZGRjAwQUZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9EU1JfU1RBVEUgICAgICAoMHgzRkZGMDBCMVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX0RUUl9TVEFURSAgICAgICgweDNGRkYwMEIyVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfRU5EX0lOICAgICAgICAgKDB4M0ZGRjAwQjNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9FTkRfT1VUICAgICAgICAoMHgzRkZGMDBCNFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX1JFUExBQ0VfQ0hBUiAgICgweDNGRkYwMEJFVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfUklfU1RBVEUgICAgICAgKDB4M0ZGRjAwQkZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9SVFNfU1RBVEUgICAgICAoMHgzRkZGMDBDMFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX1hPTl9DSEFSICAgICAgICgweDNGRkYwMEMxVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfWE9GRl9DSEFSICAgICAgKDB4M0ZGRjAwQzJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfV0lOX0FDQ0VTUyAgICAgICAgICAoMHgzRkZGMDBDM1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9STV9TRVNTSU9OICAgICAgICAgICgweDNGRkYwMEM0VUwpDQotI2RlZmluZSBWSV9BVFRSX1ZYSV9MQSAgICAgICAgICAgICAgKDB4M0ZGRjAwRDVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfTUFORl9JRCAgICAgICAgICAgICAoMHgzRkZGMDBEOVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9NRU1fU0laRV8zMiAgICAgICAgICgweDNGRkYwMEREVUwpDQotI2RlZmluZSBWSV9BVFRSX01FTV9TUEFDRSAgICAgICAgICAgKDB4M0ZGRjAwREVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfTU9ERUxfQ09ERSAgICAgICAgICAoMHgzRkZGMDBERlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9TTE9UICAgICAgICAgICAgICAgICgweDNGRkYwMEU4VUwpDQotI2RlZmluZSBWSV9BVFRSX0lOVEZfSU5TVF9OQU1FICAgICAgKDB4QkZGRjAwRTlVTCkNCi0jZGVmaW5lIFZJX0FUVFJfSU1NRURJQVRFX1NFUlYgICAgICAoMHgzRkZGMDEwMFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9JTlRGX1BBUkVOVF9OVU0gICAgICgweDNGRkYwMTAxVUwpDQotI2RlZmluZSBWSV9BVFRSX1JTUkNfU1BFQ19WRVJTSU9OICAgKDB4M0ZGRjAxNzBVTCkNCi0jZGVmaW5lIFZJX0FUVFJfSU5URl9UWVBFICAgICAgICAgICAoMHgzRkZGMDE3MVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9HUElCX1BSSU1BUllfQUREUiAgICgweDNGRkYwMTcyVUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfU0VDT05EQVJZX0FERFIgKDB4M0ZGRjAxNzNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUlNSQ19NQU5GX05BTUUgICAgICAoMHhCRkZGMDE3NFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9SU1JDX01BTkZfSUQgICAgICAgICgweDNGRkYwMTc1VUwpDQotI2RlZmluZSBWSV9BVFRSX0lOVEZfTlVNICAgICAgICAgICAgKDB4M0ZGRjAxNzZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVFJJR19JRCAgICAgICAgICAgICAoMHgzRkZGMDE3N1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9HUElCX1JFTl9TVEFURSAgICAgICgweDNGRkYwMTgxVUwpDQotI2RlZmluZSBWSV9BVFRSX0dQSUJfVU5BRERSX0VOICAgICAgKDB4M0ZGRjAxODRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfREVWX1NUQVRVU19CWVRFICAgICAoMHgzRkZGMDE4OVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9GSUxFX0FQUEVORF9FTiAgICAgICgweDNGRkYwMTkyVUwpDQotI2RlZmluZSBWSV9BVFRSX1ZYSV9UUklHX1NVUFBPUlQgICAgKDB4M0ZGRjAxOTRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVENQSVBfQUREUiAgICAgICAgICAoMHhCRkZGMDE5NVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9UQ1BJUF9IT1NUTkFNRSAgICAgICgweEJGRkYwMTk2VUwpDQotI2RlZmluZSBWSV9BVFRSX1RDUElQX1BPUlQgICAgICAgICAgKDB4M0ZGRjAxOTdVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVENQSVBfREVWSUNFX05BTUUgICAoMHhCRkZGMDE5OVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9UQ1BJUF9OT0RFTEFZICAgICAgICgweDNGRkYwMTlBVUwpDQotI2RlZmluZSBWSV9BVFRSX1RDUElQX0tFRVBBTElWRSAgICAgKDB4M0ZGRjAxOUJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfNDg4Ml9DT01QTElBTlQgICAgICAoMHgzRkZGMDE5RlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfU0VSSUFMX05VTSAgICAgICgweEJGRkYwMUEwVUwpDQotI2RlZmluZSBWSV9BVFRSX1VTQl9JTlRGQ19OVU0gICAgICAgKDB4M0ZGRjAxQTFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX1BST1RPQ09MICAgICAgICAoMHgzRkZGMDFBN1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfTUFYX0lOVFJfU0laRSAgICgweDNGRkYwMUFGVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9ERVZfTlVNICAgICAgICAgKDB4M0ZGRjAyMDFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX0ZVTkNfTlVNICAgICAgICAoMHgzRkZGMDIwMlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfQlVTX05VTSAgICAgICAgICgweDNGRkYwMjA1VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9DSEFTU0lTICAgICAgICAgKDB4M0ZGRjAyMDZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX1NMT1RQQVRIICAgICAgICAoMHhCRkZGMDIwN1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfU0xPVF9MQlVTX0xFRlQgICgweDNGRkYwMjA4VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9TTE9UX0xCVVNfUklHSFQgKDB4M0ZGRjAyMDlVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX1RSSUdfQlVTICAgICAgICAoMHgzRkZGMDIwQVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfU1RBUl9UUklHX0JVUyAgICgweDNGRkYwMjBCVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9TVEFSX1RSSUdfTElORSAgKDB4M0ZGRjAyMENVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9UWVBFX0JBUjAgICAoMHgzRkZGMDIxMVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX1RZUEVfQkFSMSAgICgweDNGRkYwMjEyVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fVFlQRV9CQVIyICAgKDB4M0ZGRjAyMTNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9UWVBFX0JBUjMgICAoMHgzRkZGMDIxNFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX1RZUEVfQkFSNCAgICgweDNGRkYwMjE1VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fVFlQRV9CQVI1ICAgKDB4M0ZGRjAyMTZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9CQVNFX0JBUjAgICAoMHgzRkZGMDIyMVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX0JBU0VfQkFSMSAgICgweDNGRkYwMjIyVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fQkFTRV9CQVIyICAgKDB4M0ZGRjAyMjNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9CQVNFX0JBUjMgICAoMHgzRkZGMDIyNFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX0JBU0VfQkFSNCAgICgweDNGRkYwMjI1VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fQkFTRV9CQVI1ICAgKDB4M0ZGRjAyMjZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9TSVpFX0JBUjAgICAoMHgzRkZGMDIzMVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX1NJWkVfQkFSMSAgICgweDNGRkYwMjMyVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fU0laRV9CQVIyICAgKDB4M0ZGRjAyMzNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX01FTV9TSVpFX0JBUjMgICAoMHgzRkZGMDIzNFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfTUVNX1NJWkVfQkFSNCAgICgweDNGRkYwMjM1VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NRU1fU0laRV9CQVI1ICAgKDB4M0ZGRjAyMzZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX0lTX0VYUFJFU1MgICAgICAoMHgzRkZGMDI0MFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfU0xPVF9MV0lEVEggICAgICgweDNGRkYwMjQxVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9NQVhfTFdJRFRIICAgICAgKDB4M0ZGRjAyNDJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX0FDVFVBTF9MV0lEVEggICAoMHgzRkZGMDI0M1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfRFNUQVJfQlVTICAgICAgICgweDNGRkYwMjQ0VUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9EU1RBUl9TRVQgICAgICAgKDB4M0ZGRjAyNDVVTCkNCi0NCi0jZGVmaW5lIFZJX0FUVFJfSk9CX0lEICAgICAgICAgICAgICAoMHgzRkZGNDAwNlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9FVkVOVF9UWVBFICAgICAgICAgICgweDNGRkY0MDEwVUwpDQotI2RlZmluZSBWSV9BVFRSX1NJR1BfU1RBVFVTX0lEICAgICAgKDB4M0ZGRjQwMTFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUkVDVl9UUklHX0lEICAgICAgICAoMHgzRkZGNDAxMlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9JTlRSX1NUQVRVU19JRCAgICAgICgweDNGRkY0MDIzVUwpDQotI2RlZmluZSBWSV9BVFRSX1NUQVRVUyAgICAgICAgICAgICAgKDB4M0ZGRjQwMjVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUkVUX0NPVU5UXzMyICAgICAgICAoMHgzRkZGNDAyNlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9CVUZGRVIgICAgICAgICAgICAgICgweDNGRkY0MDI3VUwpDQotI2RlZmluZSBWSV9BVFRSX1JFQ1ZfSU5UUl9MRVZFTCAgICAgKDB4M0ZGRjQwNDFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfT1BFUl9OQU1FICAgICAgICAgICAoMHhCRkZGNDA0MlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9HUElCX1JFQ1ZfQ0lDX1NUQVRFICgweDNGRkY0MTkzVUwpDQotI2RlZmluZSBWSV9BVFRSX1JFQ1ZfVENQSVBfQUREUiAgICAgKDB4QkZGRjQxOThVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX1JFQ1ZfSU5UUl9TSVpFICAoMHgzRkZGNDFCMFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfUkVDVl9JTlRSX0RBVEEgICgweEJGRkY0MUIxVUwpDQotDQotLyotIEF0dHJpYnV0ZXMgKHBsYXRmb3JtIGRlcGVuZGVudCBzaXplKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZiBkZWZpbmVkKF9WSV9JTlQ2NF9VSU5UNjRfREVGSU5FRCkgJiYgZGVmaW5lZChfVklTQV9FTlZfSVNfNjRfQklUKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0VSX0RBVEFfNjQgICAgICAgICgweDNGRkYwMDBBVUwpDQotI2RlZmluZSBWSV9BVFRSX1JFVF9DT1VOVF82NCAgICAgICAgKDB4M0ZGRjQwMjhVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNFUl9EQVRBICAgICAgICAgICAoVklfQVRUUl9VU0VSX0RBVEFfNjQpDQotI2RlZmluZSBWSV9BVFRSX1JFVF9DT1VOVCAgICAgICAgICAgKFZJX0FUVFJfUkVUX0NPVU5UXzY0KQ0KLSNlbHNlDQotI2RlZmluZSBWSV9BVFRSX1VTRVJfREFUQSAgICAgICAgICAgKFZJX0FUVFJfVVNFUl9EQVRBXzMyKQ0KLSNkZWZpbmUgVklfQVRUUl9SRVRfQ09VTlQgICAgICAgICAgIChWSV9BVFRSX1JFVF9DT1VOVF8zMikNCi0jZW5kaWYNCi0NCi0jaWYgZGVmaW5lZChfVklfSU5UNjRfVUlOVDY0X0RFRklORUQpDQotI2RlZmluZSBWSV9BVFRSX1dJTl9CQVNFX0FERFJfNjQgICAgKDB4M0ZGRjAwOUJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfV0lOX1NJWkVfNjQgICAgICAgICAoMHgzRkZGMDA5Q1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9NRU1fQkFTRV82NCAgICAgICAgICgweDNGRkYwMEQwVUwpDQotI2RlZmluZSBWSV9BVFRSX01FTV9TSVpFXzY0ICAgICAgICAgKDB4M0ZGRjAwRDFVTCkNCi0jZW5kaWYNCi0jaWYgZGVmaW5lZChfVklfSU5UNjRfVUlOVDY0X0RFRklORUQpICYmIGRlZmluZWQoX1ZJU0FfRU5WX0lTXzY0X0JJVCkNCi0jZGVmaW5lIFZJX0FUVFJfV0lOX0JBU0VfQUREUiAgICAgICAoVklfQVRUUl9XSU5fQkFTRV9BRERSXzY0KQ0KLSNkZWZpbmUgVklfQVRUUl9XSU5fU0laRSAgICAgICAgICAgIChWSV9BVFRSX1dJTl9TSVpFXzY0KQ0KLSNkZWZpbmUgVklfQVRUUl9NRU1fQkFTRSAgICAgICAgICAgIChWSV9BVFRSX01FTV9CQVNFXzY0KQ0KLSNkZWZpbmUgVklfQVRUUl9NRU1fU0laRSAgICAgICAgICAgIChWSV9BVFRSX01FTV9TSVpFXzY0KQ0KLSNlbHNlDQotI2RlZmluZSBWSV9BVFRSX1dJTl9CQVNFX0FERFIgICAgICAgKFZJX0FUVFJfV0lOX0JBU0VfQUREUl8zMikNCi0jZGVmaW5lIFZJX0FUVFJfV0lOX1NJWkUgICAgICAgICAgICAoVklfQVRUUl9XSU5fU0laRV8zMikNCi0jZGVmaW5lIFZJX0FUVFJfTUVNX0JBU0UgICAgICAgICAgICAoVklfQVRUUl9NRU1fQkFTRV8zMikNCi0jZGVmaW5lIFZJX0FUVFJfTUVNX1NJWkUgICAgICAgICAgICAoVklfQVRUUl9NRU1fU0laRV8zMikNCi0jZW5kaWYNCi0NCi0vKi0gRXZlbnQgVHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2RlZmluZSBWSV9FVkVOVF9JT19DT01QTEVUSU9OICAgICAgKDB4M0ZGRjIwMDlVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX1RSSUcgICAgICAgICAgICAgICAoMHhCRkZGMjAwQVVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfU0VSVklDRV9SRVEgICAgICAgICgweDNGRkYyMDBCVUwpDQotI2RlZmluZSBWSV9FVkVOVF9DTEVBUiAgICAgICAgICAgICAgKDB4M0ZGRjIwMERVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX0VYQ0VQVElPTiAgICAgICAgICAoMHhCRkZGMjAwRVVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfR1BJQl9DSUMgICAgICAgICAgICgweDNGRkYyMDEyVUwpDQotI2RlZmluZSBWSV9FVkVOVF9HUElCX1RBTEsgICAgICAgICAgKDB4M0ZGRjIwMTNVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX0dQSUJfTElTVEVOICAgICAgICAoMHgzRkZGMjAxNFVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfVlhJX1ZNRV9TWVNGQUlMICAgICgweDNGRkYyMDFEVUwpDQotI2RlZmluZSBWSV9FVkVOVF9WWElfVk1FX1NZU1JFU0VUICAgKDB4M0ZGRjIwMUVVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX1ZYSV9TSUdQICAgICAgICAgICAoMHgzRkZGMjAyMFVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfVlhJX1ZNRV9JTlRSICAgICAgICgweEJGRkYyMDIxVUwpDQotI2RlZmluZSBWSV9FVkVOVF9QWElfSU5UUiAgICAgICAgICAgKDB4M0ZGRjIwMjJVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX1RDUElQX0NPTk5FQ1QgICAgICAoMHgzRkZGMjAzNlVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfVVNCX0lOVFIgICAgICAgICAgICgweDNGRkYyMDM3VUwpDQotDQotI2RlZmluZSBWSV9BTExfRU5BQkxFRF9FVkVOVFMgICAgICAgKDB4M0ZGRjdGRkZVTCkNCi0NCi0vKi0gQ29tcGxldGlvbiBhbmQgRXJyb3IgQ29kZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2RlZmluZSBWSV9TVUNDRVNTX0VWRU5UX0VOICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDAyTCkgLyogM0ZGRjAwMDIsICAxMDczNjc2MjkwICovDQotI2RlZmluZSBWSV9TVUNDRVNTX0VWRU5UX0RJUyAgICAgICAgICAgICAgICAgICgweDNGRkYwMDAzTCkgLyogM0ZGRjAwMDMsICAxMDczNjc2MjkxICovDQotI2RlZmluZSBWSV9TVUNDRVNTX1FVRVVFX0VNUFRZICAgICAgICAgICAgICAgICgweDNGRkYwMDA0TCkgLyogM0ZGRjAwMDQsICAxMDczNjc2MjkyICovDQotI2RlZmluZSBWSV9TVUNDRVNTX1RFUk1fQ0hBUiAgICAgICAgICAgICAgICAgICgweDNGRkYwMDA1TCkgLyogM0ZGRjAwMDUsICAxMDczNjc2MjkzICovDQotI2RlZmluZSBWSV9TVUNDRVNTX01BWF9DTlQgICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDA2TCkgLyogM0ZGRjAwMDYsICAxMDczNjc2Mjk0ICovDQotI2RlZmluZSBWSV9TVUNDRVNTX0RFVl9OUFJFU0VOVCAgICAgICAgICAgICAgICgweDNGRkYwMDdETCkgLyogM0ZGRjAwN0QsICAxMDczNjc2NDEzICovDQotI2RlZmluZSBWSV9TVUNDRVNTX1RSSUdfTUFQUEVEICAgICAgICAgICAgICAgICgweDNGRkYwMDdFTCkgLyogM0ZGRjAwN0UsICAxMDczNjc2NDE0ICovDQotI2RlZmluZSBWSV9TVUNDRVNTX1FVRVVFX05FTVBUWSAgICAgICAgICAgICAgICgweDNGRkYwMDgwTCkgLyogM0ZGRjAwODAsICAxMDczNjc2NDE2ICovDQotI2RlZmluZSBWSV9TVUNDRVNTX05DSEFJTiAgICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDk4TCkgLyogM0ZGRjAwOTgsICAxMDczNjc2NDQwICovDQotI2RlZmluZSBWSV9TVUNDRVNTX05FU1RFRF9TSEFSRUQgICAgICAgICAgICAgICgweDNGRkYwMDk5TCkgLyogM0ZGRjAwOTksICAxMDczNjc2NDQxICovDQotI2RlZmluZSBWSV9TVUNDRVNTX05FU1RFRF9FWENMVVNJVkUgICAgICAgICAgICgweDNGRkYwMDlBTCkgLyogM0ZGRjAwOUEsICAxMDczNjc2NDQyICovDQotI2RlZmluZSBWSV9TVUNDRVNTX1NZTkMgICAgICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDlCTCkgLyogM0ZGRjAwOUIsICAxMDczNjc2NDQzICovDQotDQotI2RlZmluZSBWSV9XQVJOX1FVRVVFX09WRVJGTE9XICAgICAgICAgICAgICAgICgweDNGRkYwMDBDTCkgLyogM0ZGRjAwMEMsICAxMDczNjc2MzAwICovDQotI2RlZmluZSBWSV9XQVJOX0NPTkZJR19OTE9BREVEICAgICAgICAgICAgICAgICgweDNGRkYwMDc3TCkgLyogM0ZGRjAwNzcsICAxMDczNjc2NDA3ICovDQotI2RlZmluZSBWSV9XQVJOX05VTExfT0JKRUNUICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDgyTCkgLyogM0ZGRjAwODIsICAxMDczNjc2NDE4ICovDQotI2RlZmluZSBWSV9XQVJOX05TVVBfQVRUUl9TVEFURSAgICAgICAgICAgICAgICgweDNGRkYwMDg0TCkgLyogM0ZGRjAwODQsICAxMDczNjc2NDIwICovDQotI2RlZmluZSBWSV9XQVJOX1VOS05PV05fU1RBVFVTICAgICAgICAgICAgICAgICgweDNGRkYwMDg1TCkgLyogM0ZGRjAwODUsICAxMDczNjc2NDIxICovDQotI2RlZmluZSBWSV9XQVJOX05TVVBfQlVGICAgICAgICAgICAgICAgICAgICAgICgweDNGRkYwMDg4TCkgLyogM0ZGRjAwODgsICAxMDczNjc2NDI0ICovDQotI2RlZmluZSBWSV9XQVJOX0VYVF9GVU5DX05JTVBMICAgICAgICAgICAgICAgICgweDNGRkYwMEE5TCkgLyogM0ZGRjAwQTksICAxMDczNjc2NDU3ICovDQotDQotI2RlZmluZSBWSV9FUlJPUl9TWVNURU1fRVJST1IgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDAwTCkgLyogQkZGRjAwMDAsIC0xMDczODA3MzYwICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfT0JKRUNUICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDBFTCkgLyogQkZGRjAwMEUsIC0xMDczODA3MzQ2ICovDQotI2RlZmluZSBWSV9FUlJPUl9SU1JDX0xPQ0tFRCAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDBGTCkgLyogQkZGRjAwMEYsIC0xMDczODA3MzQ1ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfRVhQUiAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDEwTCkgLyogQkZGRjAwMTAsIC0xMDczODA3MzQ0ICovDQotI2RlZmluZSBWSV9FUlJPUl9SU1JDX05GT1VORCAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDExTCkgLyogQkZGRjAwMTEsIC0xMDczODA3MzQzICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfUlNSQ19OQU1FICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDEyTCkgLyogQkZGRjAwMTIsIC0xMDczODA3MzQyICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfQUNDX01PREUgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDEzTCkgLyogQkZGRjAwMTMsIC0xMDczODA3MzQxICovDQotI2RlZmluZSBWSV9FUlJPUl9UTU8gICAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDE1TCkgLyogQkZGRjAwMTUsIC0xMDczODA3MzM5ICovDQotI2RlZmluZSBWSV9FUlJPUl9DTE9TSU5HX0ZBSUxFRCAgICAgKF9WSV9FUlJPUisweDNGRkYwMDE2TCkgLyogQkZGRjAwMTYsIC0xMDczODA3MzM4ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfREVHUkVFICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDFCTCkgLyogQkZGRjAwMUIsIC0xMDczODA3MzMzICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfSk9CX0lEICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDFDTCkgLyogQkZGRjAwMUMsIC0xMDczODA3MzMyICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0FUVFIgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDFETCkgLyogQkZGRjAwMUQsIC0xMDczODA3MzMxICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0FUVFJfU1RBVEUgICAgKF9WSV9FUlJPUisweDNGRkYwMDFFTCkgLyogQkZGRjAwMUUsIC0xMDczODA3MzMwICovDQotI2RlZmluZSBWSV9FUlJPUl9BVFRSX1JFQURPTkxZICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDFGTCkgLyogQkZGRjAwMUYsIC0xMDczODA3MzI5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTE9DS19UWVBFICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDIwTCkgLyogQkZGRjAwMjAsIC0xMDczODA3MzI4ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfQUNDRVNTX0tFWSAgICAgKF9WSV9FUlJPUisweDNGRkYwMDIxTCkgLyogQkZGRjAwMjEsIC0xMDczODA3MzI3ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfRVZFTlQgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDI2TCkgLyogQkZGRjAwMjYsIC0xMDczODA3MzIyICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTUVDSCAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDI3TCkgLyogQkZGRjAwMjcsIC0xMDczODA3MzIxICovDQotI2RlZmluZSBWSV9FUlJPUl9ITkRMUl9OSU5TVEFMTEVEICAgKF9WSV9FUlJPUisweDNGRkYwMDI4TCkgLyogQkZGRjAwMjgsIC0xMDczODA3MzIwICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfSE5ETFJfUkVGICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDI5TCkgLyogQkZGRjAwMjksIC0xMDczODA3MzE5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfQ09OVEVYVCAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDJBTCkgLyogQkZGRjAwMkEsIC0xMDczODA3MzE4ICovDQotI2RlZmluZSBWSV9FUlJPUl9RVUVVRV9PVkVSRkxPVyAgICAgKF9WSV9FUlJPUisweDNGRkYwMDJETCkgLyogQkZGRjAwMkQsIC0xMDczODA3MzE1ICovDQotI2RlZmluZSBWSV9FUlJPUl9ORU5BQkxFRCAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDJGTCkgLyogQkZGRjAwMkYsIC0xMDczODA3MzEzICovDQotI2RlZmluZSBWSV9FUlJPUl9BQk9SVCAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDMwTCkgLyogQkZGRjAwMzAsIC0xMDczODA3MzEyICovDQotI2RlZmluZSBWSV9FUlJPUl9SQVdfV1JfUFJPVF9WSU9MICAgKF9WSV9FUlJPUisweDNGRkYwMDM0TCkgLyogQkZGRjAwMzQsIC0xMDczODA3MzA4ICovDQotI2RlZmluZSBWSV9FUlJPUl9SQVdfUkRfUFJPVF9WSU9MICAgKF9WSV9FUlJPUisweDNGRkYwMDM1TCkgLyogQkZGRjAwMzUsIC0xMDczODA3MzA3ICovDQotI2RlZmluZSBWSV9FUlJPUl9PVVRQX1BST1RfVklPTCAgICAgKF9WSV9FUlJPUisweDNGRkYwMDM2TCkgLyogQkZGRjAwMzYsIC0xMDczODA3MzA2ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlBfUFJPVF9WSU9MICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDM3TCkgLyogQkZGRjAwMzcsIC0xMDczODA3MzA1ICovDQotI2RlZmluZSBWSV9FUlJPUl9CRVJSICAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDM4TCkgLyogQkZGRjAwMzgsIC0xMDczODA3MzA0ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTl9QUk9HUkVTUyAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDM5TCkgLyogQkZGRjAwMzksIC0xMDczODA3MzAzICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfU0VUVVAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNBTCkgLyogQkZGRjAwM0EsIC0xMDczODA3MzAyICovDQotI2RlZmluZSBWSV9FUlJPUl9RVUVVRV9FUlJPUiAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNCTCkgLyogQkZGRjAwM0IsIC0xMDczODA3MzAxICovDQotI2RlZmluZSBWSV9FUlJPUl9BTExPQyAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNDTCkgLyogQkZGRjAwM0MsIC0xMDczODA3MzAwICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTUFTSyAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNETCkgLyogQkZGRjAwM0QsIC0xMDczODA3Mjk5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTyAgICAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNFTCkgLyogQkZGRjAwM0UsIC0xMDczODA3Mjk4ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfRk1UICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDNGTCkgLyogQkZGRjAwM0YsIC0xMDczODA3Mjk3ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0ZNVCAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDQxTCkgLyogQkZGRjAwNDEsIC0xMDczODA3Mjk1ICovDQotI2RlZmluZSBWSV9FUlJPUl9MSU5FX0lOX1VTRSAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDQyTCkgLyogQkZGRjAwNDIsIC0xMDczODA3Mjk0ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX01PREUgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDQ2TCkgLyogQkZGRjAwNDYsIC0xMDczODA3MjkwICovDQotI2RlZmluZSBWSV9FUlJPUl9TUlFfTk9DQ1VSUkVEICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDRBTCkgLyogQkZGRjAwNEEsIC0xMDczODA3Mjg2ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfU1BBQ0UgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDRFTCkgLyogQkZGRjAwNEUsIC0xMDczODA3MjgyICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfT0ZGU0VUICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDUxTCkgLyogQkZGRjAwNTEsIC0xMDczODA3Mjc5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfV0lEVEggICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDUyTCkgLyogQkZGRjAwNTIsIC0xMDczODA3Mjc4ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX09GRlNFVCAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDU0TCkgLyogQkZGRjAwNTQsIC0xMDczODA3Mjc2ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX1ZBUl9XSURUSCAgICAgKF9WSV9FUlJPUisweDNGRkYwMDU1TCkgLyogQkZGRjAwNTUsIC0xMDczODA3Mjc1ICovDQotI2RlZmluZSBWSV9FUlJPUl9XSU5ET1dfTk1BUFBFRCAgICAgKF9WSV9FUlJPUisweDNGRkYwMDU3TCkgLyogQkZGRjAwNTcsIC0xMDczODA3MjczICovDQotI2RlZmluZSBWSV9FUlJPUl9SRVNQX1BFTkRJTkcgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDU5TCkgLyogQkZGRjAwNTksIC0xMDczODA3MjcxICovDQotI2RlZmluZSBWSV9FUlJPUl9OTElTVEVORVJTICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDVGTCkgLyogQkZGRjAwNUYsIC0xMDczODA3MjY1ICovDQotI2RlZmluZSBWSV9FUlJPUl9OQ0lDICAgICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDYwTCkgLyogQkZGRjAwNjAsIC0xMDczODA3MjY0ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1lTX0NOVExSICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDYxTCkgLyogQkZGRjAwNjEsIC0xMDczODA3MjYzICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX09QRVIgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDY3TCkgLyogQkZGRjAwNjcsIC0xMDczODA3MjU3ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlRSX1BFTkRJTkcgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDY4TCkgLyogQkZGRjAwNjgsIC0xMDczODA3MjU2ICovDQotI2RlZmluZSBWSV9FUlJPUl9BU1JMX1BBUklUWSAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDZBTCkgLyogQkZGRjAwNkEsIC0xMDczODA3MjU0ICovDQotI2RlZmluZSBWSV9FUlJPUl9BU1JMX0ZSQU1JTkcgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDZCTCkgLyogQkZGRjAwNkIsIC0xMDczODA3MjUzICovDQotI2RlZmluZSBWSV9FUlJPUl9BU1JMX09WRVJSVU4gICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDZDTCkgLyogQkZGRjAwNkMsIC0xMDczODA3MjUyICovDQotI2RlZmluZSBWSV9FUlJPUl9UUklHX05NQVBQRUQgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDZFTCkgLyogQkZGRjAwNkUsIC0xMDczODA3MjUwICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0FMSUdOX09GRlNFVCAgKF9WSV9FUlJPUisweDNGRkYwMDcwTCkgLyogQkZGRjAwNzAsIC0xMDczODA3MjQ4ICovDQotI2RlZmluZSBWSV9FUlJPUl9VU0VSX0JVRiAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDcxTCkgLyogQkZGRjAwNzEsIC0xMDczODA3MjQ3ICovDQotI2RlZmluZSBWSV9FUlJPUl9SU1JDX0JVU1kgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDcyTCkgLyogQkZGRjAwNzIsIC0xMDczODA3MjQ2ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX1dJRFRIICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDc2TCkgLyogQkZGRjAwNzYsIC0xMDczODA3MjQyICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfUEFSQU1FVEVSICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDc4TCkgLyogQkZGRjAwNzgsIC0xMDczODA3MjQwICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfUFJPVCAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDc5TCkgLyogQkZGRjAwNzksIC0xMDczODA3MjM5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfU0laRSAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDdCTCkgLyogQkZGRjAwN0IsIC0xMDczODA3MjM3ICovDQotI2RlZmluZSBWSV9FUlJPUl9XSU5ET1dfTUFQUEVEICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDgwTCkgLyogQkZGRjAwODAsIC0xMDczODA3MjMyICovDQotI2RlZmluZSBWSV9FUlJPUl9OSU1QTF9PUEVSICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDgxTCkgLyogQkZGRjAwODEsIC0xMDczODA3MjMxICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTEVOR1RIICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDgzTCkgLyogQkZGRjAwODMsIC0xMDczODA3MjI5ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTU9ERSAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDkxTCkgLyogQkZGRjAwOTEsIC0xMDczODA3MjE1ICovDQotI2RlZmluZSBWSV9FUlJPUl9TRVNOX05MT0NLRUQgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDlDTCkgLyogQkZGRjAwOUMsIC0xMDczODA3MjA0ICovDQotI2RlZmluZSBWSV9FUlJPUl9NRU1fTlNIQVJFRCAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDlETCkgLyogQkZGRjAwOUQsIC0xMDczODA3MjAzICovDQotI2RlZmluZSBWSV9FUlJPUl9MSUJSQVJZX05GT1VORCAgICAgKF9WSV9FUlJPUisweDNGRkYwMDlFTCkgLyogQkZGRjAwOUUsIC0xMDczODA3MjAyICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0lOVFIgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMDlGTCkgLyogQkZGRjAwOUYsIC0xMDczODA3MjAxICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfTElORSAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEEwTCkgLyogQkZGRjAwQTAsIC0xMDczODA3MjAwICovDQotI2RlZmluZSBWSV9FUlJPUl9GSUxFX0FDQ0VTUyAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEExTCkgLyogQkZGRjAwQTEsIC0xMDczODA3MTk5ICovDQotI2RlZmluZSBWSV9FUlJPUl9GSUxFX0lPICAgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEEyTCkgLyogQkZGRjAwQTIsIC0xMDczODA3MTk4ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX0xJTkUgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEEzTCkgLyogQkZGRjAwQTMsIC0xMDczODA3MTk3ICovDQotI2RlZmluZSBWSV9FUlJPUl9OU1VQX01FQ0ggICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEE0TCkgLyogQkZGRjAwQTQsIC0xMDczODA3MTk2ICovDQotI2RlZmluZSBWSV9FUlJPUl9JTlRGX05VTV9OQ09ORklHICAgKF9WSV9FUlJPUisweDNGRkYwMEE1TCkgLyogQkZGRjAwQTUsIC0xMDczODA3MTk1ICovDQotI2RlZmluZSBWSV9FUlJPUl9DT05OX0xPU1QgICAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEE2TCkgLyogQkZGRjAwQTYsIC0xMDczODA3MTk0ICovDQotI2RlZmluZSBWSV9FUlJPUl9NQUNISU5FX05BVkFJTCAgICAgKF9WSV9FUlJPUisweDNGRkYwMEE3TCkgLyogQkZGRjAwQTcsIC0xMDczODA3MTkzICovDQotI2RlZmluZSBWSV9FUlJPUl9OUEVSTUlTU0lPTiAgICAgICAgKF9WSV9FUlJPUisweDNGRkYwMEE4TCkgLyogQkZGRjAwQTgsIC0xMDczODA3MTkyICovDQotDQotLyotIE90aGVyIFZJU0EgRGVmaW5pdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNkZWZpbmUgVklfVkVSU0lPTl9NQUpPUih2ZXIpICAgICAgICgoKChWaVZlcnNpb24pdmVyKSAmIDB4RkZGMDAwMDBVTCkgPj4gMjApDQotI2RlZmluZSBWSV9WRVJTSU9OX01JTk9SKHZlcikgICAgICAgKCgoKFZpVmVyc2lvbil2ZXIpICYgMHgwMDBGRkYwMFVMKSA+PiAgOCkNCi0jZGVmaW5lIFZJX1ZFUlNJT05fU1VCTUlOT1IodmVyKSAgICAoKCgoVmlWZXJzaW9uKXZlcikgJiAweDAwMDAwMEZGVUwpICAgICAgKQ0KLQ0KLSNkZWZpbmUgVklfRklORF9CVUZMRU4gICAgICAgICAgICAgICgyNTYpDQotDQotI2RlZmluZSBWSV9JTlRGX0dQSUIgICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9JTlRGX1ZYSSAgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9JTlRGX0dQSUJfVlhJICAgICAgICAgICAgKDMpDQotI2RlZmluZSBWSV9JTlRGX0FTUkwgICAgICAgICAgICAgICAgKDQpDQotI2RlZmluZSBWSV9JTlRGX1BYSSAgICAgICAgICAgICAgICAgKDUpDQotI2RlZmluZSBWSV9JTlRGX1RDUElQICAgICAgICAgICAgICAgKDYpDQotI2RlZmluZSBWSV9JTlRGX1VTQiAgICAgICAgICAgICAgICAgKDcpDQotDQotI2RlZmluZSBWSV9QUk9UX05PUk1BTCAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9QUk9UX0ZEQyAgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9QUk9UX0hTNDg4ICAgICAgICAgICAgICAgKDMpDQotI2RlZmluZSBWSV9QUk9UXzQ4ODJfU1RSUyAgICAgICAgICAgKDQpDQotI2RlZmluZSBWSV9QUk9UX1VTQlRNQ19WRU5ET1IgICAgICAgKDUpDQotDQotI2RlZmluZSBWSV9GRENfTk9STUFMICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9GRENfU1RSRUFNICAgICAgICAgICAgICAgKDIpDQotDQotI2RlZmluZSBWSV9MT0NBTF9TUEFDRSAgICAgICAgICAgICAgKDApDQotI2RlZmluZSBWSV9BMTZfU1BBQ0UgICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9BMjRfU1BBQ0UgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9BMzJfU1BBQ0UgICAgICAgICAgICAgICAgKDMpDQotI2RlZmluZSBWSV9BNjRfU1BBQ0UgICAgICAgICAgICAgICAgKDQpDQotI2RlZmluZSBWSV9QWElfQUxMT0NfU1BBQ0UgICAgICAgICAgKDkpDQotI2RlZmluZSBWSV9QWElfQ0ZHX1NQQUNFICAgICAgICAgICAgKDEwKQ0KLSNkZWZpbmUgVklfUFhJX0JBUjBfU1BBQ0UgICAgICAgICAgICgxMSkNCi0jZGVmaW5lIFZJX1BYSV9CQVIxX1NQQUNFICAgICAgICAgICAoMTIpDQotI2RlZmluZSBWSV9QWElfQkFSMl9TUEFDRSAgICAgICAgICAgKDEzKQ0KLSNkZWZpbmUgVklfUFhJX0JBUjNfU1BBQ0UgICAgICAgICAgICgxNCkNCi0jZGVmaW5lIFZJX1BYSV9CQVI0X1NQQUNFICAgICAgICAgICAoMTUpDQotI2RlZmluZSBWSV9QWElfQkFSNV9TUEFDRSAgICAgICAgICAgKDE2KQ0KLSNkZWZpbmUgVklfT1BBUVVFX1NQQUNFICAgICAgICAgICAgICgweEZGRkYpDQotDQotI2RlZmluZSBWSV9VTktOT1dOX0xBICAgICAgICAgICAgICAgKC0xKQ0KLSNkZWZpbmUgVklfVU5LTk9XTl9TTE9UICAgICAgICAgICAgICgtMSkNCi0jZGVmaW5lIFZJX1VOS05PV05fTEVWRUwgICAgICAgICAgICAoLTEpDQotI2RlZmluZSBWSV9VTktOT1dOX0NIQVNTSVMgICAgICAgICAgKC0xKQ0KLQ0KLSNkZWZpbmUgVklfUVVFVUUgICAgICAgICAgICAgICAgICAgICgxKQ0KLSNkZWZpbmUgVklfSE5ETFIgICAgICAgICAgICAgICAgICAgICgyKQ0KLSNkZWZpbmUgVklfU1VTUEVORF9ITkRMUiAgICAgICAgICAgICg0KQ0KLSNkZWZpbmUgVklfQUxMX01FQ0ggICAgICAgICAgICAgICAgICgweEZGRkYpDQotDQotI2RlZmluZSBWSV9BTllfSE5ETFIgICAgICAgICAgICAgICAgKDApDQotDQotI2RlZmluZSBWSV9UUklHX0FMTCAgICAgICAgICAgICAgICAgKC0yKQ0KLSNkZWZpbmUgVklfVFJJR19TVyAgICAgICAgICAgICAgICAgICgtMSkNCi0jZGVmaW5lIFZJX1RSSUdfVFRMMCAgICAgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1RSSUdfVFRMMSAgICAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX1RSSUdfVFRMMiAgICAgICAgICAgICAgICAoMikNCi0jZGVmaW5lIFZJX1RSSUdfVFRMMyAgICAgICAgICAgICAgICAoMykNCi0jZGVmaW5lIFZJX1RSSUdfVFRMNCAgICAgICAgICAgICAgICAoNCkNCi0jZGVmaW5lIFZJX1RSSUdfVFRMNSAgICAgICAgICAgICAgICAoNSkNCi0jZGVmaW5lIFZJX1RSSUdfVFRMNiAgICAgICAgICAgICAgICAoNikNCi0jZGVmaW5lIFZJX1RSSUdfVFRMNyAgICAgICAgICAgICAgICAoNykNCi0jZGVmaW5lIFZJX1RSSUdfRUNMMCAgICAgICAgICAgICAgICAoOCkNCi0jZGVmaW5lIFZJX1RSSUdfRUNMMSAgICAgICAgICAgICAgICAoOSkNCi0jZGVmaW5lIFZJX1RSSUdfUEFORUxfSU4gICAgICAgICAgICAoMjcpDQotI2RlZmluZSBWSV9UUklHX1BBTkVMX09VVCAgICAgICAgICAgKDI4KQ0KLQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX0RFRkFVTFQgICAgICAgICgwKQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX09OICAgICAgICAgICAgICgxKQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX09GRiAgICAgICAgICAgICgyKQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX1NZTkMgICAgICAgICAgICg1KQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX1JFU0VSVkUgICAgICAgICg2KQ0KLSNkZWZpbmUgVklfVFJJR19QUk9UX1VOUkVTRVJWRSAgICAgICg3KQ0KLQ0KLSNkZWZpbmUgVklfUkVBRF9CVUYgICAgICAgICAgICAgICAgICgxKQ0KLSNkZWZpbmUgVklfV1JJVEVfQlVGICAgICAgICAgICAgICAgICgyKQ0KLSNkZWZpbmUgVklfUkVBRF9CVUZfRElTQ0FSRCAgICAgICAgICg0KQ0KLSNkZWZpbmUgVklfV1JJVEVfQlVGX0RJU0NBUkQgICAgICAgICg4KQ0KLSNkZWZpbmUgVklfSU9fSU5fQlVGICAgICAgICAgICAgICAgICgxNikNCi0jZGVmaW5lIFZJX0lPX09VVF9CVUYgICAgICAgICAgICAgICAoMzIpDQotI2RlZmluZSBWSV9JT19JTl9CVUZfRElTQ0FSRCAgICAgICAgKDY0KQ0KLSNkZWZpbmUgVklfSU9fT1VUX0JVRl9ESVNDQVJEICAgICAgICgxMjgpDQotDQotI2RlZmluZSBWSV9GTFVTSF9PTl9BQ0NFU1MgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9GTFVTSF9XSEVOX0ZVTEwgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9GTFVTSF9ESVNBQkxFICAgICAgICAgICAgKDMpDQotDQotI2RlZmluZSBWSV9OTUFQUEVEICAgICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9VU0VfT1BFUlMgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9ERVJFRl9BRERSICAgICAgICAgICAgICAgKDMpDQotI2RlZmluZSBWSV9ERVJFRl9BRERSX0JZVEVfU1dBUCAgICAgKDQpDQotDQotI2RlZmluZSBWSV9UTU9fSU1NRURJQVRFICAgICAgICAgICAgKDBMKQ0KLSNkZWZpbmUgVklfVE1PX0lORklOSVRFICAgICAgICAgICAgICgweEZGRkZGRkZGVUwpDQotDQotI2RlZmluZSBWSV9OT19MT0NLICAgICAgICAgICAgICAgICAgKDApDQotI2RlZmluZSBWSV9FWENMVVNJVkVfTE9DSyAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9TSEFSRURfTE9DSyAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9MT0FEX0NPTkZJRyAgICAgICAgICAgICAgKDQpDQotDQotI2RlZmluZSBWSV9OT19TRUNfQUREUiAgICAgICAgICAgICAgKDB4RkZGRikNCi0NCi0jZGVmaW5lIFZJX0FTUkxfUEFSX05PTkUgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX0FTUkxfUEFSX09ERCAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0FTUkxfUEFSX0VWRU4gICAgICAgICAgICAoMikNCi0jZGVmaW5lIFZJX0FTUkxfUEFSX01BUksgICAgICAgICAgICAoMykNCi0jZGVmaW5lIFZJX0FTUkxfUEFSX1NQQUNFICAgICAgICAgICAoNCkNCi0NCi0jZGVmaW5lIFZJX0FTUkxfU1RPUF9PTkUgICAgICAgICAgICAoMTApDQotI2RlZmluZSBWSV9BU1JMX1NUT1BfT05FNSAgICAgICAgICAgKDE1KQ0KLSNkZWZpbmUgVklfQVNSTF9TVE9QX1RXTyAgICAgICAgICAgICgyMCkNCi0NCi0jZGVmaW5lIFZJX0FTUkxfRkxPV19OT05FICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX0FTUkxfRkxPV19YT05fWE9GRiAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0FTUkxfRkxPV19SVFNfQ1RTICAgICAgICAoMikNCi0jZGVmaW5lIFZJX0FTUkxfRkxPV19EVFJfRFNSICAgICAgICAoNCkNCi0NCi0jZGVmaW5lIFZJX0FTUkxfRU5EX05PTkUgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX0FTUkxfRU5EX0xBU1RfQklUICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0FTUkxfRU5EX1RFUk1DSEFSICAgICAgICAoMikNCi0jZGVmaW5lIFZJX0FTUkxfRU5EX0JSRUFLICAgICAgICAgICAoMykNCi0NCi0jZGVmaW5lIFZJX1NUQVRFX0FTU0VSVEVEICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX1NUQVRFX1VOQVNTRVJURUQgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1NUQVRFX1VOS05PV04gICAgICAgICAgICAoLTEpDQotDQotI2RlZmluZSBWSV9CSUdfRU5ESUFOICAgICAgICAgICAgICAgKDApDQotI2RlZmluZSBWSV9MSVRUTEVfRU5ESUFOICAgICAgICAgICAgKDEpDQotDQotI2RlZmluZSBWSV9EQVRBX1BSSVYgICAgICAgICAgICAgICAgKDApDQotI2RlZmluZSBWSV9EQVRBX05QUklWICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9QUk9HX1BSSVYgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9QUk9HX05QUklWICAgICAgICAgICAgICAgKDMpDQotI2RlZmluZSBWSV9CTENLX1BSSVYgICAgICAgICAgICAgICAgKDQpDQotI2RlZmluZSBWSV9CTENLX05QUklWICAgICAgICAgICAgICAgKDUpDQotI2RlZmluZSBWSV9ENjRfUFJJViAgICAgICAgICAgICAgICAgKDYpDQotI2RlZmluZSBWSV9ENjRfTlBSSVYgICAgICAgICAgICAgICAgKDcpDQotDQotI2RlZmluZSBWSV9XSURUSF84ICAgICAgICAgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9XSURUSF8xNiAgICAgICAgICAgICAgICAgKDIpDQotI2RlZmluZSBWSV9XSURUSF8zMiAgICAgICAgICAgICAgICAgKDQpDQotI2RlZmluZSBWSV9XSURUSF82NCAgICAgICAgICAgICAgICAgKDgpDQotDQotI2RlZmluZSBWSV9HUElCX1JFTl9ERUFTU0VSVCAgICAgICAgKDApDQotI2RlZmluZSBWSV9HUElCX1JFTl9BU1NFUlQgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9HUElCX1JFTl9ERUFTU0VSVF9HVEwgICAgKDIpDQotI2RlZmluZSBWSV9HUElCX1JFTl9BU1NFUlRfQUREUkVTUyAgKDMpDQotI2RlZmluZSBWSV9HUElCX1JFTl9BU1NFUlRfTExPICAgICAgKDQpDQotI2RlZmluZSBWSV9HUElCX1JFTl9BU1NFUlRfQUREUkVTU19MTE8gKDUpDQotI2RlZmluZSBWSV9HUElCX1JFTl9BRERSRVNTX0dUTCAgICAgKDYpDQotDQotI2RlZmluZSBWSV9HUElCX0FUTl9ERUFTU0VSVCAgICAgICAgKDApDQotI2RlZmluZSBWSV9HUElCX0FUTl9BU1NFUlQgICAgICAgICAgKDEpDQotI2RlZmluZSBWSV9HUElCX0FUTl9ERUFTU0VSVF9IQU5EU0hBS0UgKDIpDQotI2RlZmluZSBWSV9HUElCX0FUTl9BU1NFUlRfSU1NRURJQVRFICgzKQ0KLQ0KLSNkZWZpbmUgVklfR1BJQl9IUzQ4OF9ESVNBQkxFRCAgICAgICgwKQ0KLSNkZWZpbmUgVklfR1BJQl9IUzQ4OF9OSU1QTCAgICAgICAgICgtMSkNCi0NCi0jZGVmaW5lIFZJX0dQSUJfVU5BRERSRVNTRUQgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX0dQSUJfVEFMS0VSICAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0dQSUJfTElTVEVORVIgICAgICAgICAgICAoMikNCi0NCi0jZGVmaW5lIFZJX1ZYSV9DTUQxNiAgICAgICAgICAgICAgICAoMHgwMjAwKQ0KLSNkZWZpbmUgVklfVlhJX0NNRDE2X1JFU1AxNiAgICAgICAgICgweDAyMDIpDQotI2RlZmluZSBWSV9WWElfUkVTUDE2ICAgICAgICAgICAgICAgKDB4MDAwMikNCi0jZGVmaW5lIFZJX1ZYSV9DTUQzMiAgICAgICAgICAgICAgICAoMHgwNDAwKQ0KLSNkZWZpbmUgVklfVlhJX0NNRDMyX1JFU1AxNiAgICAgICAgICgweDA0MDIpDQotI2RlZmluZSBWSV9WWElfQ01EMzJfUkVTUDMyICAgICAgICAgKDB4MDQwNCkNCi0jZGVmaW5lIFZJX1ZYSV9SRVNQMzIgICAgICAgICAgICAgICAoMHgwMDA0KQ0KLQ0KLSNkZWZpbmUgVklfQVNTRVJUX1NJR05BTCAgICAgICAgICAgICgtMSkNCi0jZGVmaW5lIFZJX0FTU0VSVF9VU0VfQVNTSUdORUQgICAgICAoMCkNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlExICAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlEyICAgICAgICAgICAgICAoMikNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlEzICAgICAgICAgICAgICAoMykNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlE0ICAgICAgICAgICAgICAoNCkNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlE1ICAgICAgICAgICAgICAoNSkNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlE2ICAgICAgICAgICAgICAoNikNCi0jZGVmaW5lIFZJX0FTU0VSVF9JUlE3ICAgICAgICAgICAgICAoNykNCi0NCi0jZGVmaW5lIFZJX1VUSUxfQVNTRVJUX1NZU1JFU0VUICAgICAoMSkNCi0jZGVmaW5lIFZJX1VUSUxfQVNTRVJUX1NZU0ZBSUwgICAgICAoMikNCi0jZGVmaW5lIFZJX1VUSUxfREVBU1NFUlRfU1lTRkFJTCAgICAoMykNCi0NCi0jZGVmaW5lIFZJX1ZYSV9DTEFTU19NRU1PUlkgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1ZYSV9DTEFTU19FWFRFTkRFRCAgICAgICAoMSkNCi0jZGVmaW5lIFZJX1ZYSV9DTEFTU19NRVNTQUdFICAgICAgICAoMikNCi0jZGVmaW5lIFZJX1ZYSV9DTEFTU19SRUdJU1RFUiAgICAgICAoMykNCi0jZGVmaW5lIFZJX1ZYSV9DTEFTU19PVEhFUiAgICAgICAgICAoNCkNCi0NCi0jZGVmaW5lIFZJX1BYSV9BRERSX05PTkUgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1BYSV9BRERSX01FTSAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX1BYSV9BRERSX0lPICAgICAgICAgICAgICAoMikNCi0jZGVmaW5lIFZJX1BYSV9BRERSX0NGRyAgICAgICAgICAgICAoMykNCi0NCi0jZGVmaW5lIFZJX1RSSUdfVU5LTk9XTiAgICAgICAgICAgICAoLTEpDQotDQotI2RlZmluZSBWSV9QWElfTEJVU19VTktOT1dOICAgICAgICAgKC0xKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfTk9ORSAgICAgICAgICAgICgwKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU18wICgxMDAwKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU18xICgxMDAxKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU18yICgxMDAyKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU18zICgxMDAzKQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU180ICgxMDA0KQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU181ICgxMDA1KQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU182ICgxMDA2KQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU183ICgxMDA3KQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU184ICgxMDA4KQ0KLSNkZWZpbmUgVklfUFhJX0xCVVNfU1RBUl9UUklHX0JVU185ICgxMDA5KQ0KLSNkZWZpbmUgVklfUFhJX1NUQVJfVFJJR19DT05UUk9MTEVSICgxNDEzKQ0KLQ0KLS8qLSBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IE1hY3JvcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jZGVmaW5lIHZpR2V0RGVmYXVsdFJNKHZpKSAgICAgICAgICB2aU9wZW5EZWZhdWx0Uk0odmkpDQotI2RlZmluZSBWSV9FUlJPUl9JTlZfU0VTU0lPTiAgICAgICAgKFZJX0VSUk9SX0lOVl9PQkpFQ1QpDQotI2RlZmluZSBWSV9JTkZJTklURSAgICAgICAgICAgICAgICAgKFZJX1RNT19JTkZJTklURSkNCi0jZGVmaW5lIFZJX05PUk1BTCAgICAgICAgICAgICAgICAgICAoVklfUFJPVF9OT1JNQUwpDQotI2RlZmluZSBWSV9GREMgICAgICAgICAgICAgICAgICAgICAgKFZJX1BST1RfRkRDKQ0KLSNkZWZpbmUgVklfSFM0ODggICAgICAgICAgICAgICAgICAgIChWSV9QUk9UX0hTNDg4KQ0KLSNkZWZpbmUgVklfQVNSTDQ4OCAgICAgICAgICAgICAgICAgIChWSV9QUk9UXzQ4ODJfU1RSUykNCi0jZGVmaW5lIFZJX0FTUkxfSU5fQlVGICAgICAgICAgICAgICAoVklfSU9fSU5fQlVGKQ0KLSNkZWZpbmUgVklfQVNSTF9PVVRfQlVGICAgICAgICAgICAgIChWSV9JT19PVVRfQlVGKQ0KLSNkZWZpbmUgVklfQVNSTF9JTl9CVUZfRElTQ0FSRCAgICAgIChWSV9JT19JTl9CVUZfRElTQ0FSRCkNCi0jZGVmaW5lIFZJX0FTUkxfT1VUX0JVRl9ESVNDQVJEICAgICAoVklfSU9fT1VUX0JVRl9ESVNDQVJEKQ0KLQ0KLS8qLSBOYXRpb25hbCBJbnN0cnVtZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0NCi0jZGVmaW5lIFZJX0lOVEZfUklPICAgICAgICAgICAgICAgICAoOCkNCi0jZGVmaW5lIFZJX0lOVEZfRklSRVdJUkUgICAgICAgICAgICAoOSkgDQotDQotI2RlZmluZSBWSV9BVFRSX1NZTkNfTVhJX0FMTE9XX0VOICAgKDB4M0ZGRjAxNjFVTCkgLyogVmlCb29sZWFuLCByZWFkL3dyaXRlICovDQotDQotLyogVGhpcyBpcyBmb3IgVlhJIFNFUlZBTlQgcmVzb3VyY2VzICovDQotDQotI2RlZmluZSBWSV9FVkVOVF9WWElfREVWX0NNRCAgICAgICAgKDB4QkZGRjIwMEZVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVlhJX0RFVl9DTURfVFlQRSAgICAoMHgzRkZGNDAzN1VMKSAvKiBWaUludDE2LCByZWFkLW9ubHkgKi8NCi0jZGVmaW5lIFZJX0FUVFJfVlhJX0RFVl9DTURfVkFMVUUgICAoMHgzRkZGNDAzOFVMKSAvKiBWaVVJbnQzMiwgcmVhZC1vbmx5ICovDQotDQotI2RlZmluZSBWSV9WWElfREVWX0NNRF9UWVBFXzE2ICAgICAgKDE2KQ0KLSNkZWZpbmUgVklfVlhJX0RFVl9DTURfVFlQRV8zMiAgICAgICgzMikNCi0NCi1WaVN0YXR1cyBfVklfRlVOQyB2aVZ4aVNlcnZhbnRSZXNwb25zZShWaVNlc3Npb24gdmksIFZpSW50MTYgbW9kZSwgVmlVSW50MzIgcmVzcCk7DQotLyogbW9kZSB2YWx1ZXMgaW5jbHVkZSBWSV9WWElfUkVTUDE2LCBWSV9WWElfUkVTUDMyLCBhbmQgdGhlIG5leHQgMiB2YWx1ZXMgKi8NCi0jZGVmaW5lIFZJX1ZYSV9SRVNQX05PTkUgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1ZYSV9SRVNQX1BST1RfRVJST1IgICAgICAoLTEpDQotDQotLyogVGhpcyBhbGxvd3MgZXh0ZW5kZWQgU2VyaWFsIHN1cHBvcnQgb24gV2luMzIgYW5kIG9uIE5JIEVORVQgU2VyaWFsIHByb2R1Y3RzICovDQotDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfRElTQ0FSRF9OVUxMICAgKDB4M0ZGRjAwQjBVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9DT05ORUNURUQgICAgICAoMHgzRkZGMDFCQlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX0JSRUFLX1NUQVRFICAgICgweDNGRkYwMUJDVUwpDQotI2RlZmluZSBWSV9BVFRSX0FTUkxfQlJFQUtfTEVOICAgICAgKDB4M0ZGRjAxQkRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfQVNSTF9BTExPV19UUkFOU01JVCAoMHgzRkZGMDFCRVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9BU1JMX1dJUkVfTU9ERSAgICAgICgweDNGRkYwMUJGVUwpDQotDQotI2RlZmluZSBWSV9BU1JMX1dJUkVfNDg1XzQgICAgICAgICAgKDApDQotI2RlZmluZSBWSV9BU1JMX1dJUkVfNDg1XzJfRFRSX0VDSE8gKDEpDQotI2RlZmluZSBWSV9BU1JMX1dJUkVfNDg1XzJfRFRSX0NUUkwgKDIpDQotI2RlZmluZSBWSV9BU1JMX1dJUkVfNDg1XzJfQVVUTyAgICAgKDMpDQotI2RlZmluZSBWSV9BU1JMX1dJUkVfMjMyX0RURSAgICAgICAgKDEyOCkNCi0jZGVmaW5lIFZJX0FTUkxfV0lSRV8yMzJfRENFICAgICAgICAoMTI5KQ0KLSNkZWZpbmUgVklfQVNSTF9XSVJFXzIzMl9BVVRPICAgICAgICgxMzApDQotDQotI2RlZmluZSBWSV9FVkVOVF9BU1JMX0JSRUFLICAgICAgICAgKDB4M0ZGRjIwMjNVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX0FTUkxfQ1RTICAgICAgICAgICAoMHgzRkZGMjAyOVVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfQVNSTF9EU1IgICAgICAgICAgICgweDNGRkYyMDJBVUwpDQotI2RlZmluZSBWSV9FVkVOVF9BU1JMX0RDRCAgICAgICAgICAgKDB4M0ZGRjIwMkNVTCkNCi0jZGVmaW5lIFZJX0VWRU5UX0FTUkxfUkkgICAgICAgICAgICAoMHgzRkZGMjAyRVVMKQ0KLSNkZWZpbmUgVklfRVZFTlRfQVNSTF9DSEFSICAgICAgICAgICgweDNGRkYyMDM1VUwpDQotI2RlZmluZSBWSV9FVkVOVF9BU1JMX1RFUk1DSEFSICAgICAgKDB4M0ZGRjIwMjRVTCkNCi0NCi0vKiBUaGlzIGlzIGZvciBmYXN0IHZpUGVlay92aVBva2UgbWFjcm9zICovDQotDQotI2lmIGRlZmluZWQoTklWSVNBX1BFRUtQT0tFKQ0KLQ0KLSNpZiBkZWZpbmVkKE5JVklTQV9QRUVLUE9LRV9TVVBQKQ0KLSN1bmRlZiBOSVZJU0FfUEVFS1BPS0VfU1VQUA0KLSNlbmRpZg0KLQ0KLSNpZiAoZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQoX19XSU4zMl9fKSB8fCBkZWZpbmVkKF9fTlRfXykpICYmICFkZWZpbmVkKF9OSV9tc3dpbjE2XykNCi0vKiBUaGlzIG1hY3JvIGlzIHN1cHBvcnRlZCBmb3IgYWxsIFdpbjMyIGNvbXBpbGVycywgaW5jbHVkaW5nIENWSS4gKi8NCi0jZGVmaW5lIE5JVklTQV9QRUVLUE9LRV9TVVBQDQotI2VsaWYgKGRlZmluZWQoX1dJTkRPV1MpIHx8IGRlZmluZWQoX1dpbmRvd3MpKSAmJiAhZGVmaW5lZChfQ1ZJXykgJiYgIWRlZmluZWQoX05JX21zd2luMTZfKQ0KLS8qIFRoaXMgbWFjcm8gaXMgc3VwcG9ydGVkIGZvciBCb3JsYW5kIGFuZCBNaWNyb3NvZnQgY29tcGlsZXJzIG9uIFdpbjE2LCBidXQgbm90IENWSS4gKi8NCi0jZGVmaW5lIE5JVklTQV9QRUVLUE9LRV9TVVBQDQotI2VsaWYgZGVmaW5lZChfQ1ZJXykgJiYgZGVmaW5lZChfTklfc3BhcmNfKQ0KLS8qIFRoaXMgbWFjcm8gaXMgc3VwcG9ydGVkIGZvciBTb2xhcmlzIDEgYW5kIDIsIGZyb20gQ1ZJIG9ubHkuICovDQotI2RlZmluZSBOSVZJU0FfUEVFS1BPS0VfU1VQUA0KLSNlbHNlDQotLyogVGhpcyBtYWNybyBpcyBub3Qgc3VwcG9ydGVkIG9uIG90aGVyIHBsYXRmb3Jtcy4gKi8NCi0jZW5kaWYNCi0NCi0jaWYgZGVmaW5lZChOSVZJU0FfUEVFS1BPS0VfU1VQUCkNCi0NCi1leHRlcm4gVmlCb29sZWFuIE5JX3ZpSW1wbFZJU0ExOw0KLVZpU3RhdHVzIF9WSV9GVU5DIE5JX3ZpT3BlbkRlZmF1bHRSTSAoVmlQU2Vzc2lvbiB2aSk7DQotI2RlZmluZSB2aU9wZW5EZWZhdWx0Uk0odmkpIE5JX3ZpT3BlbkRlZmF1bHRSTSh2aSkNCi0NCi0jZGVmaW5lIHZpUGVlazgodmksYWRkcix2YWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgaWYgKChOSV92aUltcGxWSVNBMSkgJiYgKCooKFZpUFVJbnQzMikodmkpKSkpICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgIGRvICgqKChWaVBVSW50OCkodmFsKSkgPSAqKCh2b2xhdGlsZSBWaVVJbnQ4IF9WSV9QVFIpKGFkZHIpKSk7ICAgICBcDQotICAgICAgICAgd2hpbGUgKCoqKCh2b2xhdGlsZSBWaVVJbnQ4IF9WSV9QVFIgX1ZJX1BUUikodmkpKSAmIDB4MTApOyAgICAgICAgIFwNCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAodmlQZWVrOCkoKHZpKSwoYWRkciksKHZhbCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgfQ0KLQ0KLSNkZWZpbmUgdmlQb2tlOCh2aSxhZGRyLHZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICBpZiAoKE5JX3ZpSW1wbFZJU0ExKSAmJiAoKigoVmlQVUludDMyKSh2aSkpKSkgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgZG8gKCooKHZvbGF0aWxlIFZpVUludDggX1ZJX1BUUikoYWRkcikpID0gKChWaVVJbnQ4KSh2YWwpKSk7ICAgICAgIFwNCi0gICAgICAgICB3aGlsZSAoKiooKHZvbGF0aWxlIFZpVUludDggX1ZJX1BUUiBfVklfUFRSKSh2aSkpICYgMHgxMCk7ICAgICAgICAgXA0KLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICh2aVBva2U4KSgodmkpLChhZGRyKSwodmFsKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICB9DQotDQotI2RlZmluZSB2aVBlZWsxNih2aSxhZGRyLHZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIGlmICgoTklfdmlJbXBsVklTQTEpICYmICgqKChWaVBVSW50MzIpKHZpKSkpKSAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICBkbyAoKigoVmlQVUludDE2KSh2YWwpKSA9ICooKHZvbGF0aWxlIFZpVUludDE2IF9WSV9QVFIpKGFkZHIpKSk7ICAgXA0KLSAgICAgICAgIHdoaWxlICgqKigodm9sYXRpbGUgVmlVSW50OCBfVklfUFRSIF9WSV9QVFIpKHZpKSkgJiAweDEwKTsgICAgICAgICBcDQotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgKHZpUGVlazE2KSgodmkpLChhZGRyKSwodmFsKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgIH0NCi0NCi0jZGVmaW5lIHZpUG9rZTE2KHZpLGFkZHIsdmFsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgaWYgKChOSV92aUltcGxWSVNBMSkgJiYgKCooKFZpUFVJbnQzMikodmkpKSkpICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgIGRvICgqKCh2b2xhdGlsZSBWaVVJbnQxNiBfVklfUFRSKShhZGRyKSkgPSAoKFZpVUludDE2KSh2YWwpKSk7ICAgICBcDQotICAgICAgICAgd2hpbGUgKCoqKCh2b2xhdGlsZSBWaVVJbnQ4IF9WSV9QVFIgX1ZJX1BUUikodmkpKSAmIDB4MTApOyAgICAgICAgIFwNCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICAodmlQb2tlMTYpKCh2aSksKGFkZHIpLCh2YWwpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgfQ0KLQ0KLSNkZWZpbmUgdmlQZWVrMzIodmksYWRkcix2YWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICBpZiAoKE5JX3ZpSW1wbFZJU0ExKSAmJiAoKigoVmlQVUludDMyKSh2aSkpKSkgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgZG8gKCooKFZpUFVJbnQzMikodmFsKSkgPSAqKCh2b2xhdGlsZSBWaVVJbnQzMiBfVklfUFRSKShhZGRyKSkpOyAgIFwNCi0gICAgICAgICB3aGlsZSAoKiooKHZvbGF0aWxlIFZpVUludDggX1ZJX1BUUiBfVklfUFRSKSh2aSkpICYgMHgxMCk7ICAgICAgICAgXA0KLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgICAgICh2aVBlZWszMikoKHZpKSwoYWRkciksKHZhbCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICB9DQotDQotI2RlZmluZSB2aVBva2UzMih2aSxhZGRyLHZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIGlmICgoTklfdmlJbXBsVklTQTEpICYmICgqKChWaVBVSW50MzIpKHZpKSkpKSAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICBkbyAoKigodm9sYXRpbGUgVmlVSW50MzIgX1ZJX1BUUikoYWRkcikpID0gKChWaVVJbnQzMikodmFsKSkpOyAgICAgXA0KLSAgICAgICAgIHdoaWxlICgqKigodm9sYXRpbGUgVmlVSW50OCBfVklfUFRSIF9WSV9QVFIpKHZpKSkgJiAweDEwKTsgICAgICAgICBcDQotICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgKHZpUG9rZTMyKSgodmkpLChhZGRyKSwodmFsKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgIH0NCi0NCi0jZW5kaWYNCi0NCi0jZW5kaWYNCi0NCi0jaWYgZGVmaW5lZChOSVZJU0FfUFhJKSB8fCBkZWZpbmVkKFBYSVNBVklTQV9QWEkpDQotDQotI2lmIDANCi0vKiBUaGUgZm9sbG93aW5nIDIgYXR0cmlidXRlcyB3ZXJlIGluY29ycmVjdGx5IGltcGxlbWVudGVkIGluIGVhcmxpZXINCi0gICB2ZXJzaW9ucyBvZiBOSS1WSVNBLiAgWW91IHNob3VsZCBub3cgcXVlcnkgVklfQVRUUl9NQU5GX0lEIG9yDQotICAgVklfQVRUUl9NT0RFTF9DT0RFLiAgVGhvc2UgYXR0cmlidXRlcyBjb250YWluIHN1Yi12ZW5kb3IgaW5mb3JtYXRpb24NCi0gICB3aGVuIGl0IGV4aXN0cy4gIFRvIGdldCBib3RoIHRoZSBhY3R1YWwgcHJpbWFyeSBhbmQgc3VidmVuZG9yIGNvZGVzDQotICAgZnJvbSB0aGUgZGV2aWNlLCB5b3Ugc2hvdWxkIGNhbGwgdmlJbjE2IHVzaW5nIFZJX1BYSV9DRkdfU1BBQ0UuICovDQotI2RlZmluZSBWSV9BVFRSX1BYSV9TVUJfTUFORl9JRCAgICAgKDB4M0ZGRjAyMDNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfUFhJX1NVQl9NT0RFTF9DT0RFICAoMHgzRkZGMDIwNFVMKQ0KLSNlbmRpZg0KLQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfU1JDX1RSSUdfQlVTICAgICgweDNGRkYwMjBEVUwpDQotI2RlZmluZSBWSV9BVFRSX1BYSV9ERVNUX1RSSUdfQlVTICAgKDB4M0ZGRjAyMEVVTCkNCi0NCi0jZGVmaW5lIFZJX0FUVFJfUFhJX1JFQ1ZfSU5UUl9TRVEgICAoMHgzRkZGNDI0MFVMKQ0KLSNkZWZpbmUgVklfQVRUUl9QWElfUkVDVl9JTlRSX0RBVEEgICgweDNGRkY0MjQxVUwpDQotDQotI2VuZGlmDQotDQotI2lmIGRlZmluZWQoTklWSVNBX1VTQikNCi0NCi0jZGVmaW5lIFZJX0FUVFJfVVNCX0JVTEtfT1VUX1BJUEUgICAoMHgzRkZGMDFBMlVMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfQlVMS19JTl9QSVBFICAgICgweDNGRkYwMUEzVUwpDQotI2RlZmluZSBWSV9BVFRSX1VTQl9JTlRSX0lOX1BJUEUgICAgKDB4M0ZGRjAxQTRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX0NMQVNTICAgICAgICAgICAoMHgzRkZGMDFBNVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfU1VCQ0xBU1MgICAgICAgICgweDNGRkYwMUE2VUwpDQotI2RlZmluZSBWSV9BVFRSX1VTQl9BTFRfU0VUVElORyAgICAgKDB4M0ZGRjAxQThVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX0VORF9JTiAgICAgICAgICAoMHgzRkZGMDFBOVVMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfTlVNX0lOVEZDUyAgICAgICgweDNGRkYwMUFBVUwpDQotI2RlZmluZSBWSV9BVFRSX1VTQl9OVU1fUElQRVMgICAgICAgKDB4M0ZGRjAxQUJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX0JVTEtfT1VUX1NUQVRVUyAoMHgzRkZGMDFBQ1VMKQ0KLSNkZWZpbmUgVklfQVRUUl9VU0JfQlVMS19JTl9TVEFUVVMgICgweDNGRkYwMUFEVUwpDQotI2RlZmluZSBWSV9BVFRSX1VTQl9JTlRSX0lOX1NUQVRVUyAgKDB4M0ZGRjAxQUVVTCkNCi0jZGVmaW5lIFZJX0FUVFJfVVNCX0NUUkxfUElQRSAgICAgICAoMHgzRkZGMDFCMFVMKQ0KLQ0KLSNkZWZpbmUgVklfVVNCX1BJUEVfU1RBVEVfVU5LTk9XTiAgICgtMSkNCi0jZGVmaW5lIFZJX1VTQl9QSVBFX1JFQURZICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1VTQl9QSVBFX1NUQUxMRUQgICAgICAgICAoMSkNCi0NCi0jZGVmaW5lIFZJX1VTQl9FTkRfTk9ORSAgICAgICAgICAgICAoMCkNCi0jZGVmaW5lIFZJX1VTQl9FTkRfU0hPUlQgICAgICAgICAgICAoNCkNCi0jZGVmaW5lIFZJX1VTQl9FTkRfU0hPUlRfT1JfQ09VTlQgICAoNSkNCi0NCi0jZW5kaWYNCi0NCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfREVTVF9VUFBFUl9PRkZTRVQgKDB4M0ZGRjAxRjBVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfU1JDX1VQUEVSX09GRlNFVCAgKDB4M0ZGRjAxRjFVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfV0lOX1VQUEVSX09GRlNFVCAgKDB4M0ZGRjAxRjJVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfVkVORE9SX0lEICAgICAgICAgKDB4M0ZGRjAxRjNVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfTE9XRVJfQ0hJUF9JRCAgICAgKDB4M0ZGRjAxRjRVTCkNCi0jZGVmaW5lIFZJX0FUVFJfRklSRVdJUkVfVVBQRVJfQ0hJUF9JRCAgICAgKDB4M0ZGRjAxRjVVTCkNCi0NCi0jZGVmaW5lIFZJX0ZJUkVXSVJFX0RGTFRfU1BBQ0UgICAgICAgICAgICg1KQ0KLQ0KLSNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKSB8fCBkZWZpbmVkKF9fY3BsdXNwbHVzX18pDQotICAgfQ0KLSNlbmRpZg0KLQ0KLSNlbmRpZg0KLQ0KLS8qLSBUaGUgRW5kIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi92aXNhL3Zpc2F0eXBlLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dQSUxpYi92aXNhL3Zpc2F0eXBlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMWM2NzEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9XUElMaWIvdmlzYS92aXNhdHlwZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjAxICswLDAgQEAKLS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi0vKiBEaXN0cmlidXRlZCBieSBJVkkgRm91bmRhdGlvbiBJbmMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIERvIG5vdCBtb2RpZnkgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLw0KLS8qIFRpdGxlICAgOiBWSVNBVFlQRS5IICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKiBEYXRlICAgIDogMDQtMTQtMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQotLyogUHVycG9zZSA6IEZ1bmRhbWVudGFsIFZJU0EgZGF0YSB0eXBlcyBhbmQgbWFjcm8gZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAqLw0KLS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8NCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2lmbmRlZiBfX1ZJU0FUWVBFX0hFQURFUl9fDQotI2RlZmluZSBfX1ZJU0FUWVBFX0hFQURFUl9fDQotDQotI2lmIGRlZmluZWQoX1dJTjY0KQ0KLSNkZWZpbmUgX1ZJX0ZBUg0KLSNkZWZpbmUgX1ZJX0ZVTkMgICAgICAgICAgICBfX2Zhc3RjYWxsDQotI2RlZmluZSBfVklfRlVOQ0MgICAgICAgICAgIF9fZmFzdGNhbGwNCi0jZGVmaW5lIF9WSV9GVU5DSCAgICAgICAgICAgX19mYXN0Y2FsbA0KLSNkZWZpbmUgX1ZJX1NJR05FRCAgICAgICAgICBzaWduZWQNCi0jZWxpZiAoZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQoX19XSU4zMl9fKSB8fCBkZWZpbmVkKF9fTlRfXykpICYmICFkZWZpbmVkKF9OSV9tc3dpbjE2XykNCi0jZGVmaW5lIF9WSV9GQVINCi0jZGVmaW5lIF9WSV9GVU5DICAgICAgICAgICAgX19zdGRjYWxsDQotI2RlZmluZSBfVklfRlVOQ0MgICAgICAgICAgIF9fY2RlY2wNCi0jZGVmaW5lIF9WSV9GVU5DSCAgICAgICAgICAgX19zdGRjYWxsDQotI2RlZmluZSBfVklfU0lHTkVEICAgICAgICAgIHNpZ25lZA0KLSNlbGlmIGRlZmluZWQoX0NWSV8pICYmIGRlZmluZWQoX05JX2kzODZfKQ0KLSNkZWZpbmUgX1ZJX0ZBUg0KLSNkZWZpbmUgX1ZJX0ZVTkMgICAgICAgICAgICBfcGFzY2FsDQotI2RlZmluZSBfVklfRlVOQ0MNCi0jZGVmaW5lIF9WSV9GVU5DSCAgICAgICAgICAgX3Bhc2NhbA0KLSNkZWZpbmUgX1ZJX1NJR05FRCAgICAgICAgICBzaWduZWQNCi0jZWxpZiAoZGVmaW5lZChfV0lORE9XUykgfHwgZGVmaW5lZChfV2luZG93cykpICYmICFkZWZpbmVkKF9OSV9tc3dpbjE2XykNCi0jZGVmaW5lIF9WSV9GQVIgICAgICAgICAgICAgX2Zhcg0KLSNkZWZpbmUgX1ZJX0ZVTkMgICAgICAgICAgICBfZmFyIF9wYXNjYWwgX2V4cG9ydA0KLSNkZWZpbmUgX1ZJX0ZVTkNDICAgICAgICAgICBfZmFyIF9jZGVjbCAgX2V4cG9ydA0KLSNkZWZpbmUgX1ZJX0ZVTkNIICAgICAgICAgICBfZmFyIF9wYXNjYWwNCi0jZGVmaW5lIF9WSV9TSUdORUQgICAgICAgICAgc2lnbmVkDQotI2VsaWYgKGRlZmluZWQoaHB1eCkgfHwgZGVmaW5lZChfX2hwdXgpKSAmJiAoZGVmaW5lZChfX2NwbHVzcGx1cykgfHwgZGVmaW5lZChfX2NwbHVzcGx1c19fKSkNCi0jZGVmaW5lIF9WSV9GQVINCi0jZGVmaW5lIF9WSV9GVU5DDQotI2RlZmluZSBfVklfRlVOQ0MNCi0jZGVmaW5lIF9WSV9GVU5DSA0KLSNkZWZpbmUgX1ZJX1NJR05FRA0KLSNlbHNlDQotI2RlZmluZSBfVklfRkFSDQotI2RlZmluZSBfVklfRlVOQw0KLSNkZWZpbmUgX1ZJX0ZVTkNDDQotI2RlZmluZSBfVklfRlVOQ0gNCi0jZGVmaW5lIF9WSV9TSUdORUQgICAgICAgICAgc2lnbmVkDQotI2VuZGlmDQotDQotI2RlZmluZSBfVklfRVJST1IgICAgICAgICAgICgtMjE0NzQ4MzY0N0wtMSkgIC8qIDB4ODAwMDAwMDAgKi8NCi0jZGVmaW5lIF9WSV9QVFIgICAgICAgICAgICAgX1ZJX0ZBUiAqDQotDQotLyotIFZJU0EgVHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNpZm5kZWYgX1ZJX0lOVDY0X1VJTlQ2NF9ERUZJTkVEDQotI2lmIGRlZmluZWQoX1dJTjY0KSB8fCAoKGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKSB8fCBkZWZpbmVkKF9fV0lOMzJfXykgfHwgZGVmaW5lZChfX05UX18pKSAmJiAhZGVmaW5lZChfTklfbXN3aW4xNl8pKQ0KLSNpZiAoZGVmaW5lZChfTVNDX1ZFUikgJiYgKF9NU0NfVkVSID49IDEyMDApKSB8fCAoZGVmaW5lZChfQ1ZJXykgJiYgKF9DVklfID49IDcwMCkpIHx8IChkZWZpbmVkKF9fQk9STEFORENfXykgJiYgKF9fQk9STEFORENfXyA+PSAweDA1MjApKQ0KLXR5cGVkZWYgdW5zaWduZWQgICBfX2ludDY0ICBWaVVJbnQ2NDsNCi10eXBlZGVmIF9WSV9TSUdORUQgX19pbnQ2NCAgVmlJbnQ2NDsNCi0jZGVmaW5lIF9WSV9JTlQ2NF9VSU5UNjRfREVGSU5FRA0KLSNpZiBkZWZpbmVkKF9XSU42NCkNCi0jZGVmaW5lIF9WSVNBX0VOVl9JU182NF9CSVQNCi0jZWxzZQ0KLS8qIFRoaXMgaXMgYSAzMi1iaXQgT1MsIG5vdCBhIDY0LWJpdCBPUyAqLw0KLSNlbmRpZg0KLSNlbmRpZg0KLSNlbGlmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXyA+PSAzKQ0KLSNpbmNsdWRlIDxsaW1pdHMuaD4NCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQotdHlwZWRlZiB1X2ludDY0X3QgICAgICAgICAgIFZpVUludDY0Ow0KLXR5cGVkZWYgaW50NjRfdCAgICAgICAgICAgICBWaUludDY0Ow0KLSNkZWZpbmUgX1ZJX0lOVDY0X1VJTlQ2NF9ERUZJTkVEDQotI2lmIGRlZmluZWQoTE9OR19NQVgpICYmIChMT05HX01BWCA+IDB4N0ZGRkZGRkZMKQ0KLSNkZWZpbmUgX1ZJU0FfRU5WX0lTXzY0X0JJVA0KLSNlbHNlDQotLyogVGhpcyBpcyBhIDMyLWJpdCBPUywgbm90IGEgNjQtYml0IE9TICovDQotI2VuZGlmDQotI2Vsc2UNCi0vKiBUaGlzIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgNjQtYml0IHR5cGVzICovDQotI2VuZGlmDQotI2VuZGlmDQotDQotI2lmIGRlZmluZWQoX1ZJX0lOVDY0X1VJTlQ2NF9ERUZJTkVEKQ0KLXR5cGVkZWYgVmlVSW50NjQgICAgX1ZJX1BUUiBWaVBVSW50NjQ7DQotdHlwZWRlZiBWaVVJbnQ2NCAgICBfVklfUFRSIFZpQVVJbnQ2NDsNCi10eXBlZGVmIFZpSW50NjQgICAgIF9WSV9QVFIgVmlQSW50NjQ7DQotdHlwZWRlZiBWaUludDY0ICAgICBfVklfUFRSIFZpQUludDY0Ow0KLSNlbmRpZg0KLQ0KLSNpZiBkZWZpbmVkKExPTkdfTUFYKSAmJiAoTE9OR19NQVggPiAweDdGRkZGRkZGTCkNCi10eXBlZGVmIHVuc2lnbmVkIGludCAgICAgICAgVmlVSW50MzI7DQotdHlwZWRlZiBfVklfU0lHTkVEIGludCAgICAgIFZpSW50MzI7DQotI2Vsc2UNCi10eXBlZGVmIHVuc2lnbmVkIGxvbmcgICAgICAgVmlVSW50MzI7DQotdHlwZWRlZiBfVklfU0lHTkVEIGxvbmcgICAgIFZpSW50MzI7DQotI2VuZGlmDQotDQotdHlwZWRlZiBWaVVJbnQzMiAgICBfVklfUFRSIFZpUFVJbnQzMjsNCi10eXBlZGVmIFZpVUludDMyICAgIF9WSV9QVFIgVmlBVUludDMyOw0KLXR5cGVkZWYgVmlJbnQzMiAgICAgX1ZJX1BUUiBWaVBJbnQzMjsNCi10eXBlZGVmIFZpSW50MzIgICAgIF9WSV9QVFIgVmlBSW50MzI7DQotDQotdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCAgICAgIFZpVUludDE2Ow0KLXR5cGVkZWYgVmlVSW50MTYgICAgX1ZJX1BUUiBWaVBVSW50MTY7DQotdHlwZWRlZiBWaVVJbnQxNiAgICBfVklfUFRSIFZpQVVJbnQxNjsNCi0NCi10eXBlZGVmIF9WSV9TSUdORUQgc2hvcnQgICAgVmlJbnQxNjsNCi10eXBlZGVmIFZpSW50MTYgICAgIF9WSV9QVFIgVmlQSW50MTY7DQotdHlwZWRlZiBWaUludDE2ICAgICBfVklfUFRSIFZpQUludDE2Ow0KLQ0KLXR5cGVkZWYgdW5zaWduZWQgY2hhciAgICAgICBWaVVJbnQ4Ow0KLXR5cGVkZWYgVmlVSW50OCAgICAgX1ZJX1BUUiBWaVBVSW50ODsNCi10eXBlZGVmIFZpVUludDggICAgIF9WSV9QVFIgVmlBVUludDg7DQotDQotdHlwZWRlZiBfVklfU0lHTkVEIGNoYXIgICAgIFZpSW50ODsNCi10eXBlZGVmIFZpSW50OCAgICAgIF9WSV9QVFIgVmlQSW50ODsNCi10eXBlZGVmIFZpSW50OCAgICAgIF9WSV9QVFIgVmlBSW50ODsNCi0NCi10eXBlZGVmIGNoYXIgICAgICAgICAgICAgICAgVmlDaGFyOw0KLXR5cGVkZWYgVmlDaGFyICAgICAgX1ZJX1BUUiBWaVBDaGFyOw0KLXR5cGVkZWYgVmlDaGFyICAgICAgX1ZJX1BUUiBWaUFDaGFyOw0KLQ0KLXR5cGVkZWYgdW5zaWduZWQgY2hhciAgICAgICBWaUJ5dGU7DQotdHlwZWRlZiBWaUJ5dGUgICAgICBfVklfUFRSIFZpUEJ5dGU7DQotdHlwZWRlZiBWaUJ5dGUgICAgICBfVklfUFRSIFZpQUJ5dGU7DQotDQotdHlwZWRlZiB2b2lkICAgICAgICBfVklfUFRSIFZpQWRkcjsNCi10eXBlZGVmIFZpQWRkciAgICAgIF9WSV9QVFIgVmlQQWRkcjsNCi10eXBlZGVmIFZpQWRkciAgICAgIF9WSV9QVFIgVmlBQWRkcjsNCi0NCi10eXBlZGVmIGZsb2F0ICAgICAgICAgICAgICAgVmlSZWFsMzI7DQotdHlwZWRlZiBWaVJlYWwzMiAgICBfVklfUFRSIFZpUFJlYWwzMjsNCi10eXBlZGVmIFZpUmVhbDMyICAgIF9WSV9QVFIgVmlBUmVhbDMyOw0KLQ0KLXR5cGVkZWYgZG91YmxlICAgICAgICAgICAgICBWaVJlYWw2NDsNCi10eXBlZGVmIFZpUmVhbDY0ICAgIF9WSV9QVFIgVmlQUmVhbDY0Ow0KLXR5cGVkZWYgVmlSZWFsNjQgICAgX1ZJX1BUUiBWaUFSZWFsNjQ7DQotDQotdHlwZWRlZiBWaVBCeXRlICAgICAgICAgICAgIFZpQnVmOw0KLXR5cGVkZWYgVmlQQnl0ZSAgICAgICAgICAgICBWaVBCdWY7DQotdHlwZWRlZiBWaVBCeXRlICAgICBfVklfUFRSIFZpQUJ1ZjsNCi0NCi10eXBlZGVmIFZpUENoYXIgICAgICAgICAgICAgVmlTdHJpbmc7DQotdHlwZWRlZiBWaVBDaGFyICAgICAgICAgICAgIFZpUFN0cmluZzsNCi10eXBlZGVmIFZpUENoYXIgICAgIF9WSV9QVFIgVmlBU3RyaW5nOw0KLQ0KLXR5cGVkZWYgVmlTdHJpbmcgICAgICAgICAgICBWaVJzcmM7DQotdHlwZWRlZiBWaVN0cmluZyAgICAgICAgICAgIFZpUFJzcmM7DQotdHlwZWRlZiBWaVN0cmluZyAgICBfVklfUFRSIFZpQVJzcmM7DQotDQotdHlwZWRlZiBWaVVJbnQxNiAgICAgICAgICAgIFZpQm9vbGVhbjsNCi10eXBlZGVmIFZpQm9vbGVhbiAgIF9WSV9QVFIgVmlQQm9vbGVhbjsNCi10eXBlZGVmIFZpQm9vbGVhbiAgIF9WSV9QVFIgVmlBQm9vbGVhbjsNCi0NCi10eXBlZGVmIFZpSW50MzIgICAgICAgICAgICAgVmlTdGF0dXM7DQotdHlwZWRlZiBWaVN0YXR1cyAgICBfVklfUFRSIFZpUFN0YXR1czsNCi10eXBlZGVmIFZpU3RhdHVzICAgIF9WSV9QVFIgVmlBU3RhdHVzOw0KLQ0KLXR5cGVkZWYgVmlVSW50MzIgICAgICAgICAgICBWaVZlcnNpb247DQotdHlwZWRlZiBWaVZlcnNpb24gICBfVklfUFRSIFZpUFZlcnNpb247DQotdHlwZWRlZiBWaVZlcnNpb24gICBfVklfUFRSIFZpQVZlcnNpb247DQotDQotdHlwZWRlZiBWaVVJbnQzMiAgICAgICAgICAgIFZpT2JqZWN0Ow0KLXR5cGVkZWYgVmlPYmplY3QgICAgX1ZJX1BUUiBWaVBPYmplY3Q7DQotdHlwZWRlZiBWaU9iamVjdCAgICBfVklfUFRSIFZpQU9iamVjdDsNCi0NCi10eXBlZGVmIFZpT2JqZWN0ICAgICAgICAgICAgVmlTZXNzaW9uOw0KLXR5cGVkZWYgVmlTZXNzaW9uICAgX1ZJX1BUUiBWaVBTZXNzaW9uOw0KLXR5cGVkZWYgVmlTZXNzaW9uICAgX1ZJX1BUUiBWaUFTZXNzaW9uOw0KLQ0KLXR5cGVkZWYgVmlVSW50MzIgICAgICAgICAgICAgVmlBdHRyOw0KLQ0KLSNpZm5kZWYgX1ZJX0NPTlNUX1NUUklOR19ERUZJTkVEDQotdHlwZWRlZiBjb25zdCBWaUNoYXIgKiBWaUNvbnN0U3RyaW5nOw0KLSNkZWZpbmUgX1ZJX0NPTlNUX1NUUklOR19ERUZJTkVEDQotI2VuZGlmICANCi0NCi0vKi0gQ29tcGxldGlvbiBhbmQgRXJyb3IgQ29kZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2RlZmluZSBWSV9TVUNDRVNTICAgICAgICAgICgwTCkNCi0NCi0vKi0gT3RoZXIgVklTQSBEZWZpbml0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQotDQotI2RlZmluZSBWSV9OVUxMICAgICAgICAgICAgICgwKQ0KLQ0KLSNkZWZpbmUgVklfVFJVRSAgICAgICAgICAgICAoMSkNCi0jZGVmaW5lIFZJX0ZBTFNFICAgICAgICAgICAgKDApDQotDQotLyotIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgTWFjcm9zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KLSNkZWZpbmUgVklTQUZOICAgICAgICAgICAgICBfVklfRlVOQw0KLSNkZWZpbmUgVmlQdHIgICAgICAgICAgICAgICBfVklfUFRSDQotDQotI2VuZGlmDQotDQotLyotIFRoZSBFbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlLy5wcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwNzg0ODIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPldvcmtiZW5jaFVwZGF0ZTwvbmFtZT4NCi0JPGNvbW1lbnQ+PC9jb21tZW50Pg0KLQk8cHJvamVjdHM+DQotCTwvcHJvamVjdHM+DQotCTxidWlsZFNwZWM+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JPC9uYXR1cmVzPg0KLTwvcHJvamVjdERlc2NyaXB0aW9uPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL0ZSQ18yMDEzX3Y0Ni56aXAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9GUkNfMjAxM192NDYuemlwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDlmN2FmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL0ZSQ18yMDEzX3Y0Ni56aXAKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9GUkNfMjAxM192NDcuemlwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvRlJDXzIwMTNfdjQ3LnppcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2MzODY0NC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9GUkNfMjAxM192NDcuemlwCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvTW92ZVRvV29ya3NwYWNlLmNtZCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL01vdmVUb1dvcmtzcGFjZS5jbWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzMGU4MTkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvTW92ZVRvV29ya3NwYWNlLmNtZAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLXJtZGlyIC9zIC9xIGM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliDQotcm1kaXIgL3MgL3EgYzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXb3JrYmVuY2hVcGRhdGUNCi1ybWRpciAvcyAvcSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFVuaXRUZXN0UHJvamVjdA0KLXhjb3B5IFdQSUxpYiBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdQSUxpYiAvcyAveSAvaQ0KLXhjb3B5IFdvcmtiZW5jaFVwZGF0ZSBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFdvcmtiZW5jaFVwZGF0ZSAvcyAveSAvaQ0KLXhjb3B5IFVuaXRUZXN0UHJvamVjdCBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFVuaXRUZXN0UHJvamVjdCAvcyAveSAvaQ0KLQ0KLXB1c2hkIGM6XFdpbmRSaXZlclx3b3Jrc3BhY2VcV1BJTGliXFBQQzYwM2dudQ0KLUM6XFdpbmRSaXZlclx3cmVudi5leGUgLXAgdnh3b3Jrcy02LjMgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBCVUlMRF9TUEVDPVBQQzYwM2dudSBERUJVR19NT0RFPTEgVFJBQ0U9MSBjbGVhbiBhbGwNCi1jZCAuLlxzY3JpcHRzDQotcGF1c2UNCi1jbWQgL2MgdXBkYXRlQnVpbHRJbkxpYnJhcnkuY21kIA0KLXBvcGQNCi0NCi1wdXNoZCBjOlxXaW5kUml2ZXJcd29ya3NwYWNlXFVuaXRUZXN0UHJvamVjdA0KLUM6XFdpbmRSaXZlclx3cmVudi5leGUgLXAgdnh3b3Jrcy02LjMgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBCVUlMRF9TUEVDPVBQQzYwM2dudSBERUJVR19NT0RFPTEgVFJBQ0U9MSBjbGVhbiBhbGwNCi1wb3BkDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvV1BJTGliL0JTRF9MaWNlbnNlX2Zvcl9XUElMaWJfY29kZS50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9XUElMaWIvQlNEX0xpY2Vuc2VfZm9yX1dQSUxpYl9jb2RlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdlZTM1MC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9XUElMaWIvQlNEX0xpY2Vuc2VfZm9yX1dQSUxpYl9jb2RlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSogQ29weXJpZ2h0IChjKSAyMDA5IEZJUlNUDQotKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLSoNCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQotKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KLSogICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KLSogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCi0qICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCi0qICAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQotKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBGSVJTVCBub3IgdGhlDQotKiAgICAgICBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cw0KLSogICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotKg0KLSogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBGSVJTVCBBTkQgQ09OVFJJQlVUT1JTYGBBUyBJUycnIEFORCBBTlkNCi0qIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQNCi0qIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE5PTklORlJJTkdFTUVOVCBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIA0KLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgRklSU1QgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgDQotKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMNCi0qIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsNCi0qIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORA0KLSogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTDQotKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9XUElMaWIvY1JJT0ZSQ0lJX3Z4V29ya3MgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9XUElMaWIvY1JJT0ZSQ0lJX3Z4V29ya3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyM2YzMDAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvV1BJTGliL2NSSU9GUkNJSV92eFdvcmtzCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvV1BJTGliL2NSSU9GUkNfdnhXb3JrcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL1dQSUxpYi9jUklPRlJDX3Z4V29ya3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NjJmMmEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvV1BJTGliL2NSSU9GUkNfdnhXb3JrcworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2NyZWF0ZVVwZGF0ZUluc3RhbGxlci5jbWQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9jcmVhdGVVcGRhdGVJbnN0YWxsZXIuY21kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjBlZThmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2NyZWF0ZVVwZGF0ZUluc3RhbGxlci5jbWQKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1lY2hvIG9mZg0KLXNldCBXSU5SQVI9ImM6XFByb2dyYX4xXFdpblJBUlxXaW5SQVIuZXhlIg0KLQ0KLXJlbSBVcGRhdGUgdGhlIFdQSUxpYiBzb3VyY2UgZGlyDQotc3ZuIHVwZGF0ZSAuLi9XUElMaWIvDQotDQotcmVtIENvbWUgdXAgd2l0aCB0aGUgbmFtZSBvZiB0aGUgdXBkYXRlDQotZm9yIC9GICUleCBpbiAoJ2NzY3JpcHQgLy9Ob0xvZ28gaGVscGVyc1x1cGRhdGVOYW1lLnZicycpIGRvIHNldCBVUERBVEVfTkFNRT0lJXgNCi0NCi1yZW0gQ2hlY2sgdGhlIHVwZGF0ZSBuYW1lIGZvciBlcnJvcnMNCi1yZW0gaWYgbm90ICVVUERBVEVfTkFNRSUgPT0gQmFkU1ZOU3luYyBnb3RvIGNvbnRpbnVlDQotcmVtIGVjaG8gV1BJTGliIGlzIG5vdCBzeW5jZWQgcHJvcGVybHkhDQotcmVtIHN2bnZlcnNpb24gLW4gLi4vV1BJTGliDQotcmVtIGdvdG8gZW5kDQotcmVtIDpjb250aW51ZQ0KLQ0KLXJlbSBSZWJ1aWxkIFdQSUxpYg0KLXJlbSBwdXNoZCAuLlxXUElMaWJcUFBDNjAzZ251DQotcmVtIEM6XFdpbmRSaXZlclx3cmVudi5leGUgLXAgdnh3b3Jrcy02LjMgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSBCVUlMRF9TUEVDPVBQQzYwM2dudSBERUJVR19NT0RFPTEgVFJBQ0U9MSBjbGVhbiBhbGwNCi1yZW0gcG9wZA0KLQ0KLXJlbSBNYWtlIHRoZSBXb3JrYmVuY2hVcGRhdGUgZGlyIGN1cnJlbnQNCi1wdXNoZCAuLlxXUElMaWJcU2NyaXB0cw0KLWNtZCAvQyBDb3B5V1BJTGliVG9VcGRhdGVEaXJlY3RvcnkuY21kDQotcG9wZA0KLQ0KLXJlbSBFeHBvcnQgdGhlIFdQSUxpYiBTb3VyY2UNCi1ybWRpciAvcyAvcSBXUElMaWJcV1BJTGliDQotZGVsIFdQSUxpYlxXUElMaWJDKytTb3VyY2UqDQotc3ZuIGV4cG9ydCAuLlxXUElMaWJcIFdQSUxpYlxXUElMaWINCi0NCi1yZW0gQ29tcHJlc3MgdGhlIHNvdXJjZQ0KLXB1c2hkIFdQSUxpYg0KLSVXSU5SQVIlIEEgLXIgLWRmIFdQSUxpYkMrK1NvdXJjZSVVUERBVEVfTkFNRSUuemlwIFdQSUxpYg0KLXBvcGQNCi0NCi1yZW0gR2V0IHRoZSByZXZpc2lvbg0KLWZvciAvRiAlJXggaW4gKCdzdm52ZXJzaW9uIC1uIC4uL1dQSUxpYicpIGRvIHNldCBVUERBVEVfUkVWPSUleA0KLQ0KLXJlbSBDcmVhdGUgYSBwcm9qZWN0IG51bWJlciBjb25maWcNCi1lY2hvIFBST0pFQ1RfTlVNQkVSID0gcmV2JVVQREFURV9SRVYlID4gRG94eWZpbGUuUFJPSkVDVF9OVU1CRVINCi0NCi1yZW0gUmVjb21waWxlIHRoZSBEb3h5Z2VuIGRvY3VtZW50YXRpb24NCi1ybWRpciAvcyAvcSBkb3h5Z2VuX291dHB1dA0KLW1rZGlyIGRveHlnZW5fb3V0cHV0DQotaGVscGVyc1xkb3h5Z2VuLmV4ZSBoZWxwZXJzXERveHlmaWxlID4gZG94eWdlbl9vdXRwdXRcYnVpbGQubG9nIDI+IGRveHlnZW5fb3V0cHV0XGJ1aWxkX2Vycm9ycy5sb2cNCi0NCi1yZW0gRG9uZSB3aXRoIHRoZSBEb3h5ZmlsZS5QUk9KRUNUX05VTUJFUg0KLWRlbCBEb3h5ZmlsZS5QUk9KRUNUX05VTUJFUg0KLQ0KLXJlbSBDb21waWxlIHRoZSByZXN1bHRhbnQgaGVscCBvdXRwdXQNCi1oZWxwZXJzXGhoYyBkb3h5Z2VuX291dHB1dFxodG1sXGluZGV4LmhocA0KLQ0KLXJlbSBNb3ZlIHRoZSBoZWxwIHRvIHRoZSBpbnN0YWxsZXIgcGF0aA0KLWNvcHkgZG94eWdlbl9vdXRwdXRcaHRtbFxpbmRleC5jaG0gImRvY3NcZXh0ZW5zaW9uc1xGUkNcV1BJTGliIEMrKyBSZWZlcmVuY2UuY2htIg0KLQ0KLXJlbSBBZGQgdGhlIHVwZGF0ZSBmaWxlcywgYnV0IGV4Y2x1ZGUgdGhlIC5zdm4gYW5kIGJ1aWxkIG91dHB1dCBkaXJlY3Rvcmllcw0KLSVXSU5SQVIlIEEgLXIgLXgqXC5zdm5cKiAteCpcUFBDNjAzZ251XCogV29ya2JlbmNoVXBkYXRlJVVQREFURV9OQU1FJS56aXAgZG9jcyB2eHdvcmtzLTYuMyB3b3JrYmVuY2gtMy4wIHdvcmtiZW5jaC0zLjMgV1BJTGliIHVwZGF0ZS5jbWQNCi0NCi1yZW0gUmVtb3ZlIHRoZSBzb3VyY2UgemlwIGZpbGUgc2luY2UgaXQgaXMgYWxyZWFkeSBpbiB0aGUgdXBkYXRlLg0KLWRlbCBXUElMaWJcV1BJTGliQysrU291cmNlKi4qDQotDQotcmVtIEFkZCB0aGUgY1JJTyBpbWFnZSB3aXRoIG5vIGNvbXByZXNzaW9uDQotJVdJTlJBUiUgQSAtbTAgV29ya2JlbmNoVXBkYXRlJVVQREFURV9OQU1FJS56aXAgRlJDXzIwKi56aXANCi0NCi1yZW0gU3RhcnQgd2l0aCB0aGUgYm9pbGVyLXBsYXRlIGNvbW1lbnQNCi1jb3B5IGhlbHBlcnNcc2Z4X2NvbW1lbnQudHh0IHNmeF9jb21tZW50LnRtcC50eHQNCi0NCi1yZW0gQXBwZW5kIHRoZSBuYW1lIG9mIHRoaXMgdXBkYXRlIChlbmRzIHVwIGFmdGVyICJUaXRsZT0iIGluIHRoZSBjb21tZW50KQ0KLWVjaG8gV29ya2JlbmNoVXBkYXRlJVVQREFURV9OQU1FJSA+PiBzZnhfY29tbWVudC50bXAudHh0DQotDQotcmVtIEFkZCB0aGUgY29tbWVudCB0byB0aGUgYXJjaGl2ZQ0KLSVXSU5SQVIlIGMgLXpzZnhfY29tbWVudC50bXAudHh0IFdvcmtiZW5jaFVwZGF0ZSVVUERBVEVfTkFNRSUuemlwDQotDQotcmVtIERvbmUgd2l0aCB0aGUgY29tbWVudA0KLWRlbCBzZnhfY29tbWVudC50bXAudHh0DQotDQotcmVtIE1ha2UgaXQgc2VsZiBleHRyYWN0aW5nDQotJVdJTlJBUiUgcyAtZGYgV29ya2JlbmNoVXBkYXRlJVVQREFURV9OQU1FJS56aXANCi1lY2hvIFN1Y2Nlc3MhDQotOmVuZA0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2RvY3MvZXh0ZW5zaW9ucy9GUkMvMjAwOSBGUkMgVmlzaW9uIEFQSSBTcGVjaWZpY2F0aW9uLnBkZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2RvY3MvZXh0ZW5zaW9ucy9GUkMvMjAwOSBGUkMgVmlzaW9uIEFQSSBTcGVjaWZpY2F0aW9uLnBkZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE5MTRkOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDLzIwMDkgRlJDIFZpc2lvbiBBUEkgU3BlY2lmaWNhdGlvbi5wZGYKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL0dldHRpbmdTdGFydGVkV2l0aEMucGRmIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvZG9jcy9leHRlbnNpb25zL0ZSQy9HZXR0aW5nU3RhcnRlZFdpdGhDLnBkZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTUzZGQwZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL0dldHRpbmdTdGFydGVkV2l0aEMucGRmCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvZG9jcy9leHRlbnNpb25zL0ZSQy9OSVZpc2lvbkNWSS5jaG0gYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL05JVmlzaW9uQ1ZJLmNobQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzMDY0ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL05JVmlzaW9uQ1ZJLmNobQorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCAiYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL1dQSSBSb2JvdGljcyBMaWJyYXJ5IFVzZXJcMzQyXDIwMFwyMzFzIEd1aWRlLnBkZiIgImIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvZG9jcy9leHRlbnNpb25zL0ZSQy9XUEkgUm9ib3RpY3MgTGlicmFyeSBVc2VyXDM0MlwyMDBcMjMxcyBHdWlkZS5wZGYiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOTM5Zjk0Li4wMDAwMDAwCi0tLSAiYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL1dQSSBSb2JvdGljcyBMaWJyYXJ5IFVzZXJcMzQyXDIwMFwyMzFzIEd1aWRlLnBkZiIKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9kb2NzL2V4dGVuc2lvbnMvRlJDL1dQSUxpYkNvb2tib29rLnBkZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2RvY3MvZXh0ZW5zaW9ucy9GUkMvV1BJTGliQ29va2Jvb2sucGRmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTIzOWRiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2RvY3MvZXh0ZW5zaW9ucy9GUkMvV1BJTGliQ29va2Jvb2sucGRmCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9Eb3h5ZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvRG94eWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmMzkwMTEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9Eb3h5ZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDE2NjggKzAsMCBAQAotIyBEb3h5ZmlsZSAxLjcuMg0KLQ0KLSMgVGhpcyBmaWxlIGRlc2NyaWJlcyB0aGUgc2V0dGluZ3MgdG8gYmUgdXNlZCBieSB0aGUgZG9jdW1lbnRhdGlvbiBzeXN0ZW0NCi0jIGRveHlnZW4gKHd3dy5kb3h5Z2VuLm9yZykgZm9yIGEgcHJvamVjdA0KLSMNCi0jIEFsbCB0ZXh0IGFmdGVyIGEgaGFzaCAoIykgaXMgY29uc2lkZXJlZCBhIGNvbW1lbnQgYW5kIHdpbGwgYmUgaWdub3JlZA0KLSMgVGhlIGZvcm1hdCBpczoNCi0jICAgICAgIFRBRyA9IHZhbHVlIFt2YWx1ZSwgLi4uXQ0KLSMgRm9yIGxpc3RzIGl0ZW1zIGNhbiBhbHNvIGJlIGFwcGVuZGVkIHVzaW5nOg0KLSMgICAgICAgVEFHICs9IHZhbHVlIFt2YWx1ZSwgLi4uXQ0KLSMgVmFsdWVzIHRoYXQgY29udGFpbiBzcGFjZXMgc2hvdWxkIGJlIHBsYWNlZCBiZXR3ZWVuIHF1b3RlcyAoIiAiKQ0KLQ0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0jIFByb2plY3QgcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBUaGlzIHRhZyBzcGVjaWZpZXMgdGhlIGVuY29kaW5nIHVzZWQgZm9yIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBjb25maWcgZmlsZSANCi0jIHRoYXQgZm9sbG93LiBUaGUgZGVmYXVsdCBpcyBVVEYtOCB3aGljaCBpcyBhbHNvIHRoZSBlbmNvZGluZyB1c2VkIGZvciBhbGwgDQotIyB0ZXh0IGJlZm9yZSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiB0aGlzIHRhZy4gRG94eWdlbiB1c2VzIGxpYmljb252IChvciB0aGUgDQotIyBpY29udiBidWlsdCBpbnRvIGxpYmMpIGZvciB0aGUgdHJhbnNjb2RpbmcuIFNlZSANCi0jIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJpY29udiBmb3IgdGhlIGxpc3Qgb2YgcG9zc2libGUgZW5jb2RpbmdzLg0KLQ0KLURPWFlGSUxFX0VOQ09ESU5HICAgICAgPSBVVEYtOA0KLQ0KLSMgVGhlIFBST0pFQ1RfTkFNRSB0YWcgaXMgYSBzaW5nbGUgd29yZCAob3IgYSBzZXF1ZW5jZSBvZiB3b3JkcyBzdXJyb3VuZGVkIA0KLSMgYnkgcXVvdGVzKSB0aGF0IHNob3VsZCBpZGVudGlmeSB0aGUgcHJvamVjdC4NCi0NCi1QUk9KRUNUX05BTUUgICAgICAgICAgID0gIldQSUxpYiBDKysgZm9yIEZSQyINCi0NCi0jIFRoZSBQUk9KRUNUX05VTUJFUiB0YWcgY2FuIGJlIHVzZWQgdG8gZW50ZXIgYSBwcm9qZWN0IG9yIHJldmlzaW9uIG51bWJlci4gDQotIyBUaGlzIGNvdWxkIGJlIGhhbmR5IGZvciBhcmNoaXZpbmcgdGhlIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIG9yIA0KLSMgaWYgc29tZSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIGlzIHVzZWQuDQotDQotI1BST0pFQ1RfTlVNQkVSICAgICAgICAgPSAyLjANCi0jSW5jbHVkZSB0aGlzIGZyb20gYSBnZW5lcmF0ZWQgZmlsZSBpbnN0ZWFkLg0KLUBJTkNMVURFID0gRG94eWZpbGUuUFJPSkVDVF9OVU1CRVINCi0NCi0jIFRoZSBPVVRQVVRfRElSRUNUT1JZIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkgDQotIyBiYXNlIHBhdGggd2hlcmUgdGhlIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIHdpbGwgYmUgcHV0LiANCi0jIElmIGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVkLCBpdCB3aWxsIGJlIHJlbGF0aXZlIHRvIHRoZSBsb2NhdGlvbiANCi0jIHdoZXJlIGRveHlnZW4gd2FzIHN0YXJ0ZWQuIElmIGxlZnQgYmxhbmsgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdpbGwgYmUgdXNlZC4NCi0NCi1PVVRQVVRfRElSRUNUT1JZICAgICAgID0gImRveHlnZW5fb3V0cHV0Ig0KLQ0KLSMgSWYgdGhlIENSRUFURV9TVUJESVJTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGVuIGRveHlnZW4gd2lsbCBjcmVhdGUgDQotIyA0MDk2IHN1Yi1kaXJlY3RvcmllcyAoaW4gMiBsZXZlbHMpIHVuZGVyIHRoZSBvdXRwdXQgZGlyZWN0b3J5IG9mIGVhY2ggb3V0cHV0IA0KLSMgZm9ybWF0IGFuZCB3aWxsIGRpc3RyaWJ1dGUgdGhlIGdlbmVyYXRlZCBmaWxlcyBvdmVyIHRoZXNlIGRpcmVjdG9yaWVzLiANCi0jIEVuYWJsaW5nIHRoaXMgb3B0aW9uIGNhbiBiZSB1c2VmdWwgd2hlbiBmZWVkaW5nIGRveHlnZW4gYSBodWdlIGFtb3VudCBvZiANCi0jIHNvdXJjZSBmaWxlcywgd2hlcmUgcHV0dGluZyBhbGwgZ2VuZXJhdGVkIGZpbGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSB3b3VsZCANCi0jIG90aGVyd2lzZSBjYXVzZSBwZXJmb3JtYW5jZSBwcm9ibGVtcyBmb3IgdGhlIGZpbGUgc3lzdGVtLg0KLQ0KLUNSRUFURV9TVUJESVJTICAgICAgICAgPSBOTw0KLQ0KLSMgVGhlIE9VVFBVVF9MQU5HVUFHRSB0YWcgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBsYW5ndWFnZSBpbiB3aGljaCBhbGwgDQotIyBkb2N1bWVudGF0aW9uIGdlbmVyYXRlZCBieSBkb3h5Z2VuIGlzIHdyaXR0ZW4uIERveHlnZW4gd2lsbCB1c2UgdGhpcyANCi0jIGluZm9ybWF0aW9uIHRvIGdlbmVyYXRlIGFsbCBjb25zdGFudCBvdXRwdXQgaW4gdGhlIHByb3BlciBsYW5ndWFnZS4gDQotIyBUaGUgZGVmYXVsdCBsYW5ndWFnZSBpcyBFbmdsaXNoLCBvdGhlciBzdXBwb3J0ZWQgbGFuZ3VhZ2VzIGFyZTogDQotIyBBZnJpa2FhbnMsIEFyYWJpYywgQnJhemlsaWFuLCBDYXRhbGFuLCBDaGluZXNlLCBDaGluZXNlLVRyYWRpdGlvbmFsLCANCi0jIENyb2F0aWFuLCBDemVjaCwgRGFuaXNoLCBEdXRjaCwgRXNwZXJhbnRvLCBGYXJzaSwgRmlubmlzaCwgRnJlbmNoLCBHZXJtYW4sIA0KLSMgR3JlZWssIEh1bmdhcmlhbiwgSXRhbGlhbiwgSmFwYW5lc2UsIEphcGFuZXNlLWVuIChKYXBhbmVzZSB3aXRoIEVuZ2xpc2ggDQotIyBtZXNzYWdlcyksIEtvcmVhbiwgS29yZWFuLWVuLCBMaXRodWFuaWFuLCBOb3J3ZWdpYW4sIE1hY2Vkb25pYW4sIFBlcnNpYW4sIA0KLSMgUG9saXNoLCBQb3J0dWd1ZXNlLCBSb21hbmlhbiwgUnVzc2lhbiwgU2VyYmlhbiwgU2VyYmlhbi1DeXJpbGljLCBTbG92YWssIA0KLSMgU2xvdmVuZSwgU3BhbmlzaCwgU3dlZGlzaCwgVWtyYWluaWFuLCBhbmQgVmlldG5hbWVzZS4NCi0NCi1PVVRQVVRfTEFOR1VBR0UgICAgICAgID0gRW5nbGlzaA0KLQ0KLSMgSWYgdGhlIEJSSUVGX01FTUJFUl9ERVNDIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsIA0KLSMgaW5jbHVkZSBicmllZiBtZW1iZXIgZGVzY3JpcHRpb25zIGFmdGVyIHRoZSBtZW1iZXJzIHRoYXQgYXJlIGxpc3RlZCBpbiANCi0jIHRoZSBmaWxlIGFuZCBjbGFzcyBkb2N1bWVudGF0aW9uIChzaW1pbGFyIHRvIEphdmFEb2MpLiANCi0jIFNldCB0byBOTyB0byBkaXNhYmxlIHRoaXMuDQotDQotQlJJRUZfTUVNQkVSX0RFU0MgICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIFJFUEVBVF9CUklFRiB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQpIERveHlnZW4gd2lsbCBwcmVwZW5kIA0KLSMgdGhlIGJyaWVmIGRlc2NyaXB0aW9uIG9mIGEgbWVtYmVyIG9yIGZ1bmN0aW9uIGJlZm9yZSB0aGUgZGV0YWlsZWQgZGVzY3JpcHRpb24uIA0KLSMgTm90ZTogaWYgYm90aCBISURFX1VORE9DX01FTUJFUlMgYW5kIEJSSUVGX01FTUJFUl9ERVNDIGFyZSBzZXQgdG8gTk8sIHRoZSANCi0jIGJyaWVmIGRlc2NyaXB0aW9ucyB3aWxsIGJlIGNvbXBsZXRlbHkgc3VwcHJlc3NlZC4NCi0NCi1SRVBFQVRfQlJJRUYgICAgICAgICAgID0gWUVTDQotDQotIyBUaGlzIHRhZyBpbXBsZW1lbnRzIGEgcXVhc2ktaW50ZWxsaWdlbnQgYnJpZWYgZGVzY3JpcHRpb24gYWJicmV2aWF0b3IgDQotIyB0aGF0IGlzIHVzZWQgdG8gZm9ybSB0aGUgdGV4dCBpbiB2YXJpb3VzIGxpc3RpbmdzLiBFYWNoIHN0cmluZyANCi0jIGluIHRoaXMgbGlzdCwgaWYgZm91bmQgYXMgdGhlIGxlYWRpbmcgdGV4dCBvZiB0aGUgYnJpZWYgZGVzY3JpcHRpb24sIHdpbGwgYmUgDQotIyBzdHJpcHBlZCBmcm9tIHRoZSB0ZXh0IGFuZCB0aGUgcmVzdWx0IGFmdGVyIHByb2Nlc3NpbmcgdGhlIHdob2xlIGxpc3QsIGlzIA0KLSMgdXNlZCBhcyB0aGUgYW5ub3RhdGVkIHRleHQuIE90aGVyd2lzZSwgdGhlIGJyaWVmIGRlc2NyaXB0aW9uIGlzIHVzZWQgYXMtaXMuIA0KLSMgSWYgbGVmdCBibGFuaywgdGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHVzZWQgKCIkbmFtZSIgaXMgYXV0b21hdGljYWxseSANCi0jIHJlcGxhY2VkIHdpdGggdGhlIG5hbWUgb2YgdGhlIGVudGl0eSk6ICJUaGUgJG5hbWUgY2xhc3MiICJUaGUgJG5hbWUgd2lkZ2V0IiANCi0jICJUaGUgJG5hbWUgZmlsZSIgImlzIiAicHJvdmlkZXMiICJzcGVjaWZpZXMiICJjb250YWlucyIgDQotIyAicmVwcmVzZW50cyIgImEiICJhbiIgInRoZSINCi0NCi1BQkJSRVZJQVRFX0JSSUVGICAgICAgID0gIlRoZSAkbmFtZSBjbGFzcyIgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlICRuYW1lIHdpZGdldCIgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlICRuYW1lIGZpbGUiIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgaXMgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcyBcDQotICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllcyBcDQotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmVwcmVzZW50cyBcDQotICAgICAgICAgICAgICAgICAgICAgICAgIGEgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBhbiBcDQotICAgICAgICAgICAgICAgICAgICAgICAgIHRoZQ0KLQ0KLSMgSWYgdGhlIEFMV0FZU19ERVRBSUxFRF9TRUMgYW5kIFJFUEVBVF9CUklFRiB0YWdzIGFyZSBib3RoIHNldCB0byBZRVMgdGhlbiANCi0jIERveHlnZW4gd2lsbCBnZW5lcmF0ZSBhIGRldGFpbGVkIHNlY3Rpb24gZXZlbiBpZiB0aGVyZSBpcyBvbmx5IGEgYnJpZWYgDQotIyBkZXNjcmlwdGlvbi4NCi0NCi1BTFdBWVNfREVUQUlMRURfU0VDICAgID0gTk8NCi0NCi0jIElmIHRoZSBJTkxJTkVfSU5IRVJJVEVEX01FTUIgdGFnIGlzIHNldCB0byBZRVMsIGRveHlnZW4gd2lsbCBzaG93IGFsbCANCi0jIGluaGVyaXRlZCBtZW1iZXJzIG9mIGEgY2xhc3MgaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhhdCBjbGFzcyBhcyBpZiB0aG9zZSANCi0jIG1lbWJlcnMgd2VyZSBvcmRpbmFyeSBjbGFzcyBtZW1iZXJzLiBDb25zdHJ1Y3RvcnMsIGRlc3RydWN0b3JzIGFuZCBhc3NpZ25tZW50IA0KLSMgb3BlcmF0b3JzIG9mIHRoZSBiYXNlIGNsYXNzZXMgd2lsbCBub3QgYmUgc2hvd24uDQotDQotSU5MSU5FX0lOSEVSSVRFRF9NRU1CICA9IE5PDQotDQotIyBJZiB0aGUgRlVMTF9QQVRIX05BTUVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gRG94eWdlbiB3aWxsIHByZXBlbmQgdGhlIGZ1bGwgDQotIyBwYXRoIGJlZm9yZSBmaWxlcyBuYW1lIGluIHRoZSBmaWxlIGxpc3QgYW5kIGluIHRoZSBoZWFkZXIgZmlsZXMuIElmIHNldCANCi0jIHRvIE5PIHRoZSBzaG9ydGVzdCBwYXRoIHRoYXQgbWFrZXMgdGhlIGZpbGUgbmFtZSB1bmlxdWUgd2lsbCBiZSB1c2VkLg0KLQ0KLUZVTExfUEFUSF9OQU1FUyAgICAgICAgPSBZRVMNCi0NCi0jIElmIHRoZSBGVUxMX1BBVEhfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMgdGhlbiB0aGUgU1RSSVBfRlJPTV9QQVRIIHRhZyANCi0jIGNhbiBiZSB1c2VkIHRvIHN0cmlwIGEgdXNlci1kZWZpbmVkIHBhcnQgb2YgdGhlIHBhdGguIFN0cmlwcGluZyBpcyANCi0jIG9ubHkgZG9uZSBpZiBvbmUgb2YgdGhlIHNwZWNpZmllZCBzdHJpbmdzIG1hdGNoZXMgdGhlIGxlZnQtaGFuZCBwYXJ0IG9mIA0KLSMgdGhlIHBhdGguIFRoZSB0YWcgY2FuIGJlIHVzZWQgdG8gc2hvdyByZWxhdGl2ZSBwYXRocyBpbiB0aGUgZmlsZSBsaXN0LiANCi0jIElmIGxlZnQgYmxhbmsgdGhlIGRpcmVjdG9yeSBmcm9tIHdoaWNoIGRveHlnZW4gaXMgcnVuIGlzIHVzZWQgYXMgdGhlIA0KLSMgcGF0aCB0byBzdHJpcC4NCi0NCi1TVFJJUF9GUk9NX1BBVEggICAgICAgID0gDQotDQotIyBUaGUgU1RSSVBfRlJPTV9JTkNfUEFUSCB0YWcgY2FuIGJlIHVzZWQgdG8gc3RyaXAgYSB1c2VyLWRlZmluZWQgcGFydCBvZiANCi0jIHRoZSBwYXRoIG1lbnRpb25lZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiBhIGNsYXNzLCB3aGljaCB0ZWxscyANCi0jIHRoZSByZWFkZXIgd2hpY2ggaGVhZGVyIGZpbGUgdG8gaW5jbHVkZSBpbiBvcmRlciB0byB1c2UgYSBjbGFzcy4gDQotIyBJZiBsZWZ0IGJsYW5rIG9ubHkgdGhlIG5hbWUgb2YgdGhlIGhlYWRlciBmaWxlIGNvbnRhaW5pbmcgdGhlIGNsYXNzIA0KLSMgZGVmaW5pdGlvbiBpcyB1c2VkLiBPdGhlcndpc2Ugb25lIHNob3VsZCBzcGVjaWZ5IHRoZSBpbmNsdWRlIHBhdGhzIHRoYXQgDQotIyBhcmUgbm9ybWFsbHkgcGFzc2VkIHRvIHRoZSBjb21waWxlciB1c2luZyB0aGUgLUkgZmxhZy4NCi0NCi1TVFJJUF9GUk9NX0lOQ19QQVRIICAgID0gDQotDQotIyBJZiB0aGUgU0hPUlRfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMsIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBtdWNoIHNob3J0ZXIgDQotIyAoYnV0IGxlc3MgcmVhZGFibGUpIGZpbGUgbmFtZXMuIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiB5b3VyIGZpbGUgc3lzdGVtIA0KLSMgZG9lc24ndCBzdXBwb3J0IGxvbmcgbmFtZXMgbGlrZSBvbiBET1MsIE1hYywgb3IgQ0QtUk9NLg0KLQ0KLVNIT1JUX05BTUVTICAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEpBVkFET0NfQVVUT0JSSUVGIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gRG94eWdlbiANCi0jIHdpbGwgaW50ZXJwcmV0IHRoZSBmaXJzdCBsaW5lICh1bnRpbCB0aGUgZmlyc3QgZG90KSBvZiBhIEphdmFEb2Mtc3R5bGUgDQotIyBjb21tZW50IGFzIHRoZSBicmllZiBkZXNjcmlwdGlvbi4gSWYgc2V0IHRvIE5PLCB0aGUgSmF2YURvYyANCi0jIGNvbW1lbnRzIHdpbGwgYmVoYXZlIGp1c3QgbGlrZSByZWd1bGFyIFF0LXN0eWxlIGNvbW1lbnRzIA0KLSMgKHRodXMgcmVxdWlyaW5nIGFuIGV4cGxpY2l0IEBicmllZiBjb21tYW5kIGZvciBhIGJyaWVmIGRlc2NyaXB0aW9uLikNCi0NCi1KQVZBRE9DX0FVVE9CUklFRiAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgUVRfQVVUT0JSSUVGIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gRG94eWdlbiB3aWxsIA0KLSMgaW50ZXJwcmV0IHRoZSBmaXJzdCBsaW5lICh1bnRpbCB0aGUgZmlyc3QgZG90KSBvZiBhIFF0LXN0eWxlIA0KLSMgY29tbWVudCBhcyB0aGUgYnJpZWYgZGVzY3JpcHRpb24uIElmIHNldCB0byBOTywgdGhlIGNvbW1lbnRzIA0KLSMgd2lsbCBiZWhhdmUganVzdCBsaWtlIHJlZ3VsYXIgUXQtc3R5bGUgY29tbWVudHMgKHRodXMgcmVxdWlyaW5nIA0KLSMgYW4gZXhwbGljaXQgXGJyaWVmIGNvbW1hbmQgZm9yIGEgYnJpZWYgZGVzY3JpcHRpb24uKQ0KLQ0KLVFUX0FVVE9CUklFRiAgICAgICAgICAgPSBOTw0KLQ0KLSMgVGhlIE1VTFRJTElORV9DUFBfSVNfQlJJRUYgdGFnIGNhbiBiZSBzZXQgdG8gWUVTIHRvIG1ha2UgRG94eWdlbiANCi0jIHRyZWF0IGEgbXVsdGktbGluZSBDKysgc3BlY2lhbCBjb21tZW50IGJsb2NrIChpLmUuIGEgYmxvY2sgb2YgLy8hIG9yIC8vLyANCi0jIGNvbW1lbnRzKSBhcyBhIGJyaWVmIGRlc2NyaXB0aW9uLiBUaGlzIHVzZWQgdG8gYmUgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLiANCi0jIFRoZSBuZXcgZGVmYXVsdCBpcyB0byB0cmVhdCBhIG11bHRpLWxpbmUgQysrIGNvbW1lbnQgYmxvY2sgYXMgYSBkZXRhaWxlZCANCi0jIGRlc2NyaXB0aW9uLiBTZXQgdGhpcyB0YWcgdG8gWUVTIGlmIHlvdSBwcmVmZXIgdGhlIG9sZCBiZWhhdmlvdXIgaW5zdGVhZC4NCi0NCi1NVUxUSUxJTkVfQ1BQX0lTX0JSSUVGID0gTk8NCi0NCi0jIElmIHRoZSBJTkhFUklUX0RPQ1MgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGVuIGFuIHVuZG9jdW1lbnRlZCANCi0jIG1lbWJlciBpbmhlcml0cyB0aGUgZG9jdW1lbnRhdGlvbiBmcm9tIGFueSBkb2N1bWVudGVkIG1lbWJlciB0aGF0IGl0IA0KLSMgcmUtaW1wbGVtZW50cy4NCi0NCi1JTkhFUklUX0RPQ1MgICAgICAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgU0VQQVJBVEVfTUVNQkVSX1BBR0VTIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGVuIGRveHlnZW4gd2lsbCBwcm9kdWNlIA0KLSMgYSBuZXcgcGFnZSBmb3IgZWFjaCBtZW1iZXIuIElmIHNldCB0byBOTywgdGhlIGRvY3VtZW50YXRpb24gb2YgYSBtZW1iZXIgd2lsbCANCi0jIGJlIHBhcnQgb2YgdGhlIGZpbGUvY2xhc3MvbmFtZXNwYWNlIHRoYXQgY29udGFpbnMgaXQuDQotDQotU0VQQVJBVEVfTUVNQkVSX1BBR0VTICA9IE5PDQotDQotIyBUaGUgVEFCX1NJWkUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbnVtYmVyIG9mIHNwYWNlcyBpbiBhIHRhYi4gDQotIyBEb3h5Z2VuIHVzZXMgdGhpcyB2YWx1ZSB0byByZXBsYWNlIHRhYnMgYnkgc3BhY2VzIGluIGNvZGUgZnJhZ21lbnRzLg0KLQ0KLVRBQl9TSVpFICAgICAgICAgICAgICAgPSA4DQotDQotIyBUaGlzIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgbnVtYmVyIG9mIGFsaWFzZXMgdGhhdCBhY3RzIA0KLSMgYXMgY29tbWFuZHMgaW4gdGhlIGRvY3VtZW50YXRpb24uIEFuIGFsaWFzIGhhcyB0aGUgZm9ybSAibmFtZT12YWx1ZSIuIA0KLSMgRm9yIGV4YW1wbGUgYWRkaW5nICJzaWRlZWZmZWN0PVxwYXIgU2lkZSBFZmZlY3RzOlxuIiB3aWxsIGFsbG93IHlvdSB0byANCi0jIHB1dCB0aGUgY29tbWFuZCBcc2lkZWVmZmVjdCAob3IgQHNpZGVlZmZlY3QpIGluIHRoZSBkb2N1bWVudGF0aW9uLCB3aGljaCANCi0jIHdpbGwgcmVzdWx0IGluIGEgdXNlci1kZWZpbmVkIHBhcmFncmFwaCB3aXRoIGhlYWRpbmcgIlNpZGUgRWZmZWN0czoiLiANCi0jIFlvdSBjYW4gcHV0IFxuJ3MgaW4gdGhlIHZhbHVlIHBhcnQgb2YgYW4gYWxpYXMgdG8gaW5zZXJ0IG5ld2xpbmVzLg0KLQ0KLUFMSUFTRVMgICAgICAgICAgICAgICAgPSANCi0NCi0jIFNldCB0aGUgT1BUSU1JWkVfT1VUUFVUX0ZPUl9DIHRhZyB0byBZRVMgaWYgeW91ciBwcm9qZWN0IGNvbnNpc3RzIG9mIEMgDQotIyBzb3VyY2VzIG9ubHkuIERveHlnZW4gd2lsbCB0aGVuIGdlbmVyYXRlIG91dHB1dCB0aGF0IGlzIG1vcmUgdGFpbG9yZWQgZm9yIEMuIA0KLSMgRm9yIGluc3RhbmNlLCBzb21lIG9mIHRoZSBuYW1lcyB0aGF0IGFyZSB1c2VkIHdpbGwgYmUgZGlmZmVyZW50LiBUaGUgbGlzdCANCi0jIG9mIGFsbCBtZW1iZXJzIHdpbGwgYmUgb21pdHRlZCwgZXRjLg0KLQ0KLU9QVElNSVpFX09VVFBVVF9GT1JfQyAgPSBOTw0KLQ0KLSMgU2V0IHRoZSBPUFRJTUlaRV9PVVRQVVRfSkFWQSB0YWcgdG8gWUVTIGlmIHlvdXIgcHJvamVjdCBjb25zaXN0cyBvZiBKYXZhIA0KLSMgc291cmNlcyBvbmx5LiBEb3h5Z2VuIHdpbGwgdGhlbiBnZW5lcmF0ZSBvdXRwdXQgdGhhdCBpcyBtb3JlIHRhaWxvcmVkIGZvciANCi0jIEphdmEuIEZvciBpbnN0YW5jZSwgbmFtZXNwYWNlcyB3aWxsIGJlIHByZXNlbnRlZCBhcyBwYWNrYWdlcywgcXVhbGlmaWVkIA0KLSMgc2NvcGVzIHdpbGwgbG9vayBkaWZmZXJlbnQsIGV0Yy4NCi0NCi1PUFRJTUlaRV9PVVRQVVRfSkFWQSAgID0gTk8NCi0NCi0jIFNldCB0aGUgT1BUSU1JWkVfRk9SX0ZPUlRSQU4gdGFnIHRvIFlFUyBpZiB5b3VyIHByb2plY3QgY29uc2lzdHMgb2YgRm9ydHJhbiANCi0jIHNvdXJjZXMgb25seS4gRG94eWdlbiB3aWxsIHRoZW4gZ2VuZXJhdGUgb3V0cHV0IHRoYXQgaXMgbW9yZSB0YWlsb3JlZCBmb3IgDQotIyBGb3J0cmFuLg0KLQ0KLU9QVElNSVpFX0ZPUl9GT1JUUkFOICAgPSBOTw0KLQ0KLSMgU2V0IHRoZSBPUFRJTUlaRV9PVVRQVVRfVkhETCB0YWcgdG8gWUVTIGlmIHlvdXIgcHJvamVjdCBjb25zaXN0cyBvZiBWSERMIA0KLSMgc291cmNlcy4gRG94eWdlbiB3aWxsIHRoZW4gZ2VuZXJhdGUgb3V0cHV0IHRoYXQgaXMgdGFpbG9yZWQgZm9yIA0KLSMgVkhETC4NCi0NCi1PUFRJTUlaRV9PVVRQVVRfVkhETCAgID0gTk8NCi0NCi0jIERveHlnZW4gc2VsZWN0cyB0aGUgcGFyc2VyIHRvIHVzZSBkZXBlbmRpbmcgb24gdGhlIGV4dGVuc2lvbiBvZiB0aGUgZmlsZXMgaXQgDQotIyBwYXJzZXMuIFdpdGggdGhpcyB0YWcgeW91IGNhbiBhc3NpZ24gd2hpY2ggcGFyc2VyIHRvIHVzZSBmb3IgYSBnaXZlbiBleHRlbnNpb24uIA0KLSMgRG94eWdlbiBoYXMgYSBidWlsdC1pbiBtYXBwaW5nLCBidXQgeW91IGNhbiBvdmVycmlkZSBvciBleHRlbmQgaXQgdXNpbmcgdGhpcyANCi0jIHRhZy4gVGhlIGZvcm1hdCBpcyBleHQ9bGFuZ3VhZ2UsIHdoZXJlIGV4dCBpcyBhIGZpbGUgZXh0ZW5zaW9uLCBhbmQgbGFuZ3VhZ2UgDQotIyBpcyBvbmUgb2YgdGhlIHBhcnNlcnMgc3VwcG9ydGVkIGJ5IGRveHlnZW46IElETCwgSmF2YSwgSmF2YXNjcmlwdCwgQ1NoYXJwLCBDLCANCi0jIEMrKywgRCwgUEhQLCBPYmplY3RpdmUtQywgUHl0aG9uLCBGb3J0cmFuLCBWSERMLCBDLCBDKysuIEZvciBpbnN0YW5jZSB0byBtYWtlIA0KLSMgZG94eWdlbiB0cmVhdCAuaW5jIGZpbGVzIGFzIEZvcnRyYW4gZmlsZXMgKGRlZmF1bHQgaXMgUEhQKSwgYW5kIC5mIGZpbGVzIGFzIEMgDQotIyAoZGVmYXVsdCBpcyBGb3J0cmFuKSwgdXNlOiBpbmM9Rm9ydHJhbiBmPUMuIE5vdGUgdGhhdCBmb3IgY3VzdG9tIGV4dGVuc2lvbnMgDQotIyB5b3UgYWxzbyBuZWVkIHRvIHNldCBGSUxFX1BBVFRFUk5TIG90aGVyd2lzZSB0aGUgZmlsZXMgYXJlIG5vdCByZWFkIGJ5IGRveHlnZW4uDQotDQotRVhURU5TSU9OX01BUFBJTkcgICAgICA9IA0KLQ0KLSMgSWYgeW91IHVzZSBTVEwgY2xhc3NlcyAoaS5lLiBzdGQ6OnN0cmluZywgc3RkOjp2ZWN0b3IsIGV0Yy4pIGJ1dCBkbyBub3Qgd2FudCANCi0jIHRvIGluY2x1ZGUgKGEgdGFnIGZpbGUgZm9yKSB0aGUgU1RMIHNvdXJjZXMgYXMgaW5wdXQsIHRoZW4geW91IHNob3VsZCANCi0jIHNldCB0aGlzIHRhZyB0byBZRVMgaW4gb3JkZXIgdG8gbGV0IGRveHlnZW4gbWF0Y2ggZnVuY3Rpb25zIGRlY2xhcmF0aW9ucyBhbmQgDQotIyBkZWZpbml0aW9ucyB3aG9zZSBhcmd1bWVudHMgY29udGFpbiBTVEwgY2xhc3NlcyAoZS5nLiBmdW5jKHN0ZDo6c3RyaW5nKTsgdi5zLiANCi0jIGZ1bmMoc3RkOjpzdHJpbmcpIHt9KS4gVGhpcyBhbHNvIG1ha2VzIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbiANCi0jIGRpYWdyYW1zIHRoYXQgaW52b2x2ZSBTVEwgY2xhc3NlcyBtb3JlIGNvbXBsZXRlIGFuZCBhY2N1cmF0ZS4NCi0NCi1CVUlMVElOX1NUTF9TVVBQT1JUICAgID0gTk8NCi0NCi0jIElmIHlvdSB1c2UgTWljcm9zb2Z0J3MgQysrL0NMSSBsYW5ndWFnZSwgeW91IHNob3VsZCBzZXQgdGhpcyBvcHRpb24gdG8gWUVTIHRvIA0KLSMgZW5hYmxlIHBhcnNpbmcgc3VwcG9ydC4NCi0NCi1DUFBfQ0xJX1NVUFBPUlQgICAgICAgID0gTk8NCi0NCi0jIFNldCB0aGUgU0lQX1NVUFBPUlQgdGFnIHRvIFlFUyBpZiB5b3VyIHByb2plY3QgY29uc2lzdHMgb2Ygc2lwIHNvdXJjZXMgb25seS4gDQotIyBEb3h5Z2VuIHdpbGwgcGFyc2UgdGhlbSBsaWtlIG5vcm1hbCBDKysgYnV0IHdpbGwgYXNzdW1lIGFsbCBjbGFzc2VzIHVzZSBwdWJsaWMgDQotIyBpbnN0ZWFkIG9mIHByaXZhdGUgaW5oZXJpdGFuY2Ugd2hlbiBubyBleHBsaWNpdCBwcm90ZWN0aW9uIGtleXdvcmQgaXMgcHJlc2VudC4NCi0NCi1TSVBfU1VQUE9SVCAgICAgICAgICAgID0gTk8NCi0NCi0jIEZvciBNaWNyb3NvZnQncyBJREwgdGhlcmUgYXJlIHByb3BnZXQgYW5kIHByb3BwdXQgYXR0cmlidXRlcyB0byBpbmRpY2F0ZSBnZXR0ZXIgDQotIyBhbmQgc2V0dGVyIG1ldGhvZHMgZm9yIGEgcHJvcGVydHkuIFNldHRpbmcgdGhpcyBvcHRpb24gdG8gWUVTICh0aGUgZGVmYXVsdCkgDQotIyB3aWxsIG1ha2UgZG94eWdlbiByZXBsYWNlIHRoZSBnZXQgYW5kIHNldCBtZXRob2RzIGJ5IGEgcHJvcGVydHkgaW4gdGhlIA0KLSMgZG9jdW1lbnRhdGlvbi4gVGhpcyB3aWxsIG9ubHkgd29yayBpZiB0aGUgbWV0aG9kcyBhcmUgaW5kZWVkIGdldHRpbmcgb3IgDQotIyBzZXR0aW5nIGEgc2ltcGxlIHR5cGUuIElmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBvciB5b3Ugd2FudCB0byBzaG93IHRoZSANCi0jIG1ldGhvZHMgYW55d2F5LCB5b3Ugc2hvdWxkIHNldCB0aGlzIG9wdGlvbiB0byBOTy4NCi0NCi1JRExfUFJPUEVSVFlfU1VQUE9SVCAgID0gWUVTDQotDQotIyBJZiBtZW1iZXIgZ3JvdXBpbmcgaXMgdXNlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgdGhlIERJU1RSSUJVVEVfR1JPVVBfRE9DIA0KLSMgdGFnIGlzIHNldCB0byBZRVMsIHRoZW4gZG94eWdlbiB3aWxsIHJldXNlIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBmaXJzdCANCi0jIG1lbWJlciBpbiB0aGUgZ3JvdXAgKGlmIGFueSkgZm9yIHRoZSBvdGhlciBtZW1iZXJzIG9mIHRoZSBncm91cC4gQnkgZGVmYXVsdCANCi0jIGFsbCBtZW1iZXJzIG9mIGEgZ3JvdXAgbXVzdCBiZSBkb2N1bWVudGVkIGV4cGxpY2l0bHkuDQotDQotRElTVFJJQlVURV9HUk9VUF9ET0MgICA9IE5PDQotDQotIyBTZXQgdGhlIFNVQkdST1VQSU5HIHRhZyB0byBZRVMgKHRoZSBkZWZhdWx0KSB0byBhbGxvdyBjbGFzcyBtZW1iZXIgZ3JvdXBzIG9mIA0KLSMgdGhlIHNhbWUgdHlwZSAoZm9yIGluc3RhbmNlIGEgZ3JvdXAgb2YgcHVibGljIGZ1bmN0aW9ucykgdG8gYmUgcHV0IGFzIGEgDQotIyBzdWJncm91cCBvZiB0aGF0IHR5cGUgKGUuZy4gdW5kZXIgdGhlIFB1YmxpYyBGdW5jdGlvbnMgc2VjdGlvbikuIFNldCBpdCB0byANCi0jIE5PIHRvIHByZXZlbnQgc3ViZ3JvdXBpbmcuIEFsdGVybmF0aXZlbHksIHRoaXMgY2FuIGJlIGRvbmUgcGVyIGNsYXNzIHVzaW5nIA0KLSMgdGhlIFxub3N1Ymdyb3VwaW5nIGNvbW1hbmQuDQotDQotU1VCR1JPVVBJTkcgICAgICAgICAgICA9IFlFUw0KLQ0KLSMgV2hlbiBUWVBFREVGX0hJREVTX1NUUlVDVCBpcyBlbmFibGVkLCBhIHR5cGVkZWYgb2YgYSBzdHJ1Y3QsIHVuaW9uLCBvciBlbnVtIA0KLSMgaXMgZG9jdW1lbnRlZCBhcyBzdHJ1Y3QsIHVuaW9uLCBvciBlbnVtIHdpdGggdGhlIG5hbWUgb2YgdGhlIHR5cGVkZWYuIFNvIA0KLSMgdHlwZWRlZiBzdHJ1Y3QgVHlwZVMge30gVHlwZVQsIHdpbGwgYXBwZWFyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFzIGEgc3RydWN0IA0KLSMgd2l0aCBuYW1lIFR5cGVULiBXaGVuIGRpc2FibGVkIHRoZSB0eXBlZGVmIHdpbGwgYXBwZWFyIGFzIGEgbWVtYmVyIG9mIGEgZmlsZSwgDQotIyBuYW1lc3BhY2UsIG9yIGNsYXNzLiBBbmQgdGhlIHN0cnVjdCB3aWxsIGJlIG5hbWVkIFR5cGVTLiBUaGlzIGNhbiB0eXBpY2FsbHkgDQotIyBiZSB1c2VmdWwgZm9yIEMgY29kZSBpbiBjYXNlIHRoZSBjb2RpbmcgY29udmVudGlvbiBkaWN0YXRlcyB0aGF0IGFsbCBjb21wb3VuZCANCi0jIHR5cGVzIGFyZSB0eXBlZGVmJ2VkIGFuZCBvbmx5IHRoZSB0eXBlZGVmIGlzIHJlZmVyZW5jZWQsIG5ldmVyIHRoZSB0YWcgbmFtZS4NCi0NCi1UWVBFREVGX0hJREVTX1NUUlVDVCAgID0gTk8NCi0NCi0jIFRoZSBTWU1CT0xfQ0FDSEVfU0laRSBkZXRlcm1pbmVzIHRoZSBzaXplIG9mIHRoZSBpbnRlcm5hbCBjYWNoZSB1c2UgdG8gDQotIyBkZXRlcm1pbmUgd2hpY2ggc3ltYm9scyB0byBrZWVwIGluIG1lbW9yeSBhbmQgd2hpY2ggdG8gZmx1c2ggdG8gZGlzay4gDQotIyBXaGVuIHRoZSBjYWNoZSBpcyBmdWxsLCBsZXNzIG9mdGVuIHVzZWQgc3ltYm9scyB3aWxsIGJlIHdyaXR0ZW4gdG8gZGlzay4gDQotIyBGb3Igc21hbGwgdG8gbWVkaXVtIHNpemUgcHJvamVjdHMgKDwxMDAwIGlucHV0IGZpbGVzKSB0aGUgZGVmYXVsdCB2YWx1ZSBpcyANCi0jIHByb2JhYmx5IGdvb2QgZW5vdWdoLiBGb3IgbGFyZ2VyIHByb2plY3RzIGEgdG9vIHNtYWxsIGNhY2hlIHNpemUgY2FuIGNhdXNlIA0KLSMgZG94eWdlbiB0byBiZSBidXN5IHN3YXBwaW5nIHN5bWJvbHMgdG8gYW5kIGZyb20gZGlzayBtb3N0IG9mIHRoZSB0aW1lIA0KLSMgY2F1c2luZyBhIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIHBlbmFsaXR5LiANCi0jIElmIHRoZSBzeXN0ZW0gaGFzIGVub3VnaCBwaHlzaWNhbCBtZW1vcnkgaW5jcmVhc2luZyB0aGUgY2FjaGUgd2lsbCBpbXByb3ZlIHRoZSANCi0jIHBlcmZvcm1hbmNlIGJ5IGtlZXBpbmcgbW9yZSBzeW1ib2xzIGluIG1lbW9yeS4gTm90ZSB0aGF0IHRoZSB2YWx1ZSB3b3JrcyBvbiANCi0jIGEgbG9nYXJpdGhtaWMgc2NhbGUgc28gaW5jcmVhc2luZyB0aGUgc2l6ZSBieSBvbmUgd2lsbCByb3VnaGx5IGRvdWJsZSB0aGUgDQotIyBtZW1vcnkgdXNhZ2UuIFRoZSBjYWNoZSBzaXplIGlzIGdpdmVuIGJ5IHRoaXMgZm9ybXVsYTogDQotIyAyXigxNitTWU1CT0xfQ0FDSEVfU0laRSkuIFRoZSB2YWxpZCByYW5nZSBpcyAwLi45LCB0aGUgZGVmYXVsdCBpcyAwLCANCi0jIGNvcnJlc3BvbmRpbmcgdG8gYSBjYWNoZSBzaXplIG9mIDJeMTYgPSA2NTUzNiBzeW1ib2xzDQotDQotU1lNQk9MX0NBQ0hFX1NJWkUgICAgICA9IDANCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBCdWlsZCByZWxhdGVkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucw0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBFWFRSQUNUX0FMTCB0YWcgaXMgc2V0IHRvIFlFUyBkb3h5Z2VuIHdpbGwgYXNzdW1lIGFsbCBlbnRpdGllcyBpbiANCi0jIGRvY3VtZW50YXRpb24gYXJlIGRvY3VtZW50ZWQsIGV2ZW4gaWYgbm8gZG9jdW1lbnRhdGlvbiB3YXMgYXZhaWxhYmxlLiANCi0jIFByaXZhdGUgY2xhc3MgbWVtYmVycyBhbmQgc3RhdGljIGZpbGUgbWVtYmVycyB3aWxsIGJlIGhpZGRlbiB1bmxlc3MgDQotIyB0aGUgRVhUUkFDVF9QUklWQVRFIGFuZCBFWFRSQUNUX1NUQVRJQyB0YWdzIGFyZSBzZXQgdG8gWUVTDQotDQotRVhUUkFDVF9BTEwgICAgICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgRVhUUkFDVF9QUklWQVRFIHRhZyBpcyBzZXQgdG8gWUVTIGFsbCBwcml2YXRlIG1lbWJlcnMgb2YgYSBjbGFzcyANCi0jIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uDQotDQotRVhUUkFDVF9QUklWQVRFICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgRVhUUkFDVF9TVEFUSUMgdGFnIGlzIHNldCB0byBZRVMgYWxsIHN0YXRpYyBtZW1iZXJzIG9mIGEgZmlsZSANCi0jIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uDQotDQotRVhUUkFDVF9TVEFUSUMgICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgRVhUUkFDVF9MT0NBTF9DTEFTU0VTIHRhZyBpcyBzZXQgdG8gWUVTIGNsYXNzZXMgKGFuZCBzdHJ1Y3RzKSANCi0jIGRlZmluZWQgbG9jYWxseSBpbiBzb3VyY2UgZmlsZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gDQotIyBJZiBzZXQgdG8gTk8gb25seSBjbGFzc2VzIGRlZmluZWQgaW4gaGVhZGVyIGZpbGVzIGFyZSBpbmNsdWRlZC4NCi0NCi1FWFRSQUNUX0xPQ0FMX0NMQVNTRVMgID0gWUVTDQotDQotIyBUaGlzIGZsYWcgaXMgb25seSB1c2VmdWwgZm9yIE9iamVjdGl2ZS1DIGNvZGUuIFdoZW4gc2V0IHRvIFlFUyBsb2NhbCANCi0jIG1ldGhvZHMsIHdoaWNoIGFyZSBkZWZpbmVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBzZWN0aW9uIGJ1dCBub3QgaW4gDQotIyB0aGUgaW50ZXJmYWNlIGFyZSBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gDQotIyBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSBvbmx5IG1ldGhvZHMgaW4gdGhlIGludGVyZmFjZSBhcmUgaW5jbHVkZWQuDQotDQotRVhUUkFDVF9MT0NBTF9NRVRIT0RTICA9IE5PDQotDQotIyBJZiB0aGlzIGZsYWcgaXMgc2V0IHRvIFlFUywgdGhlIG1lbWJlcnMgb2YgYW5vbnltb3VzIG5hbWVzcGFjZXMgd2lsbCBiZSANCi0jIGV4dHJhY3RlZCBhbmQgYXBwZWFyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFzIGEgbmFtZXNwYWNlIGNhbGxlZCANCi0jICdhbm9ueW1vdXNfbmFtZXNwYWNle2ZpbGV9Jywgd2hlcmUgZmlsZSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIGJhc2UgDQotIyBuYW1lIG9mIHRoZSBmaWxlIHRoYXQgY29udGFpbnMgdGhlIGFub255bW91cyBuYW1lc3BhY2UuIEJ5IGRlZmF1bHQgDQotIyBhbm9ueW1vdXMgbmFtZXNwYWNlcyBhcmUgaGlkZGVuLg0KLQ0KLUVYVFJBQ1RfQU5PTl9OU1BBQ0VTICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEhJREVfVU5ET0NfTUVNQkVSUyB0YWcgaXMgc2V0IHRvIFlFUywgRG94eWdlbiB3aWxsIGhpZGUgYWxsIA0KLSMgdW5kb2N1bWVudGVkIG1lbWJlcnMgb2YgZG9jdW1lbnRlZCBjbGFzc2VzLCBmaWxlcyBvciBuYW1lc3BhY2VzLiANCi0jIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIHRoZXNlIG1lbWJlcnMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgDQotIyB2YXJpb3VzIG92ZXJ2aWV3cywgYnV0IG5vIGRvY3VtZW50YXRpb24gc2VjdGlvbiBpcyBnZW5lcmF0ZWQuIA0KLSMgVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBpZiBFWFRSQUNUX0FMTCBpcyBlbmFibGVkLg0KLQ0KLUhJREVfVU5ET0NfTUVNQkVSUyAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEhJREVfVU5ET0NfQ0xBU1NFUyB0YWcgaXMgc2V0IHRvIFlFUywgRG94eWdlbiB3aWxsIGhpZGUgYWxsIA0KLSMgdW5kb2N1bWVudGVkIGNsYXNzZXMgdGhhdCBhcmUgbm9ybWFsbHkgdmlzaWJsZSBpbiB0aGUgY2xhc3MgaGllcmFyY2h5LiANCi0jIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIHRoZXNlIGNsYXNzZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgdmFyaW91cyANCi0jIG92ZXJ2aWV3cy4gVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBpZiBFWFRSQUNUX0FMTCBpcyBlbmFibGVkLg0KLQ0KLUhJREVfVU5ET0NfQ0xBU1NFUyAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEhJREVfRlJJRU5EX0NPTVBPVU5EUyB0YWcgaXMgc2V0IHRvIFlFUywgRG94eWdlbiB3aWxsIGhpZGUgYWxsIA0KLSMgZnJpZW5kIChjbGFzc3xzdHJ1Y3R8dW5pb24pIGRlY2xhcmF0aW9ucy4gDQotIyBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSB0aGVzZSBkZWNsYXJhdGlvbnMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgDQotIyBkb2N1bWVudGF0aW9uLg0KLQ0KLUhJREVfRlJJRU5EX0NPTVBPVU5EUyAgPSBOTw0KLQ0KLSMgSWYgdGhlIEhJREVfSU5fQk9EWV9ET0NTIHRhZyBpcyBzZXQgdG8gWUVTLCBEb3h5Z2VuIHdpbGwgaGlkZSBhbnkgDQotIyBkb2N1bWVudGF0aW9uIGJsb2NrcyBmb3VuZCBpbnNpZGUgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbi4gDQotIyBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSB0aGVzZSBibG9ja3Mgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgDQotIyBmdW5jdGlvbidzIGRldGFpbGVkIGRvY3VtZW50YXRpb24gYmxvY2suDQotDQotSElERV9JTl9CT0RZX0RPQ1MgICAgICA9IE5PDQotDQotIyBUaGUgSU5URVJOQUxfRE9DUyB0YWcgZGV0ZXJtaW5lcyBpZiBkb2N1bWVudGF0aW9uIA0KLSMgdGhhdCBpcyB0eXBlZCBhZnRlciBhIFxpbnRlcm5hbCBjb21tYW5kIGlzIGluY2x1ZGVkLiBJZiB0aGUgdGFnIGlzIHNldCANCi0jIHRvIE5PICh0aGUgZGVmYXVsdCkgdGhlbiB0aGUgZG9jdW1lbnRhdGlvbiB3aWxsIGJlIGV4Y2x1ZGVkLiANCi0jIFNldCBpdCB0byBZRVMgdG8gaW5jbHVkZSB0aGUgaW50ZXJuYWwgZG9jdW1lbnRhdGlvbi4NCi0NCi1JTlRFUk5BTF9ET0NTICAgICAgICAgID0gTk8NCi0NCi0jIElmIHRoZSBDQVNFX1NFTlNFX05BTUVTIHRhZyBpcyBzZXQgdG8gTk8gdGhlbiBEb3h5Z2VuIHdpbGwgb25seSBnZW5lcmF0ZSANCi0jIGZpbGUgbmFtZXMgaW4gbG93ZXItY2FzZSBsZXR0ZXJzLiBJZiBzZXQgdG8gWUVTIHVwcGVyLWNhc2UgbGV0dGVycyBhcmUgYWxzbyANCi0jIGFsbG93ZWQuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGNsYXNzZXMgb3IgZmlsZXMgd2hvc2UgbmFtZXMgb25seSBkaWZmZXIgDQotIyBpbiBjYXNlIGFuZCBpZiB5b3VyIGZpbGUgc3lzdGVtIHN1cHBvcnRzIGNhc2Ugc2Vuc2l0aXZlIGZpbGUgbmFtZXMuIFdpbmRvd3MgDQotIyBhbmQgTWFjIHVzZXJzIGFyZSBhZHZpc2VkIHRvIHNldCB0aGlzIG9wdGlvbiB0byBOTy4NCi0NCi1DQVNFX1NFTlNFX05BTUVTICAgICAgID0gTk8NCi0NCi0jIElmIHRoZSBISURFX1NDT1BFX05BTUVTIHRhZyBpcyBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSB0aGVuIERveHlnZW4gDQotIyB3aWxsIHNob3cgbWVtYmVycyB3aXRoIHRoZWlyIGZ1bGwgY2xhc3MgYW5kIG5hbWVzcGFjZSBzY29wZXMgaW4gdGhlIA0KLSMgZG9jdW1lbnRhdGlvbi4gSWYgc2V0IHRvIFlFUyB0aGUgc2NvcGUgd2lsbCBiZSBoaWRkZW4uDQotDQotSElERV9TQ09QRV9OQU1FUyAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgU0hPV19JTkNMVURFX0ZJTEVTIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbiBEb3h5Z2VuIA0KLSMgd2lsbCBwdXQgYSBsaXN0IG9mIHRoZSBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBieSBhIGZpbGUgaW4gdGhlIGRvY3VtZW50YXRpb24gDQotIyBvZiB0aGF0IGZpbGUuDQotDQotU0hPV19JTkNMVURFX0ZJTEVTICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIEZPUkNFX0xPQ0FMX0lOQ0xVREVTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gRG94eWdlbiANCi0jIHdpbGwgbGlzdCBpbmNsdWRlIGZpbGVzIHdpdGggZG91YmxlIHF1b3RlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbiANCi0jIHJhdGhlciB0aGFuIHdpdGggc2hhcnAgYnJhY2tldHMuDQotDQotRk9SQ0VfTE9DQUxfSU5DTFVERVMgICA9IE5PDQotDQotIyBJZiB0aGUgSU5MSU5FX0lORk8gdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGVuIGEgdGFnIFtpbmxpbmVdIA0KLSMgaXMgaW5zZXJ0ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gZm9yIGlubGluZSBtZW1iZXJzLg0KLQ0KLUlOTElORV9JTkZPICAgICAgICAgICAgPSBZRVMNCi0NCi0jIElmIHRoZSBTT1JUX01FTUJFUl9ET0NTIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgdGhlbiBkb3h5Z2VuIA0KLSMgd2lsbCBzb3J0IHRoZSAoZGV0YWlsZWQpIGRvY3VtZW50YXRpb24gb2YgZmlsZSBhbmQgY2xhc3MgbWVtYmVycyANCi0jIGFscGhhYmV0aWNhbGx5IGJ5IG1lbWJlciBuYW1lLiBJZiBzZXQgdG8gTk8gdGhlIG1lbWJlcnMgd2lsbCBhcHBlYXIgaW4gDQotIyBkZWNsYXJhdGlvbiBvcmRlci4NCi0NCi1TT1JUX01FTUJFUl9ET0NTICAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgU09SVF9CUklFRl9ET0NTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIHNvcnQgdGhlIA0KLSMgYnJpZWYgZG9jdW1lbnRhdGlvbiBvZiBmaWxlLCBuYW1lc3BhY2UgYW5kIGNsYXNzIG1lbWJlcnMgYWxwaGFiZXRpY2FsbHkgDQotIyBieSBtZW1iZXIgbmFtZS4gSWYgc2V0IHRvIE5PICh0aGUgZGVmYXVsdCkgdGhlIG1lbWJlcnMgd2lsbCBhcHBlYXIgaW4gDQotIyBkZWNsYXJhdGlvbiBvcmRlci4NCi0NCi1TT1JUX0JSSUVGX0RPQ1MgICAgICAgID0gTk8NCi0NCi0jIElmIHRoZSBTT1JUX01FTUJFUlNfQ1RPUlNfMVNUIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiANCi0jIHdpbGwgc29ydCB0aGUgKGJyaWVmIGFuZCBkZXRhaWxlZCkgZG9jdW1lbnRhdGlvbiBvZiBjbGFzcyBtZW1iZXJzIHNvIHRoYXQgDQotIyBjb25zdHJ1Y3RvcnMgYW5kIGRlc3RydWN0b3JzIGFyZSBsaXN0ZWQgZmlyc3QuIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIA0KLSMgdGhlIGNvbnN0cnVjdG9ycyB3aWxsIGFwcGVhciBpbiB0aGUgcmVzcGVjdGl2ZSBvcmRlcnMgZGVmaW5lZCBieSANCi0jIFNPUlRfTUVNQkVSX0RPQ1MgYW5kIFNPUlRfQlJJRUZfRE9DUy4gDQotIyBUaGlzIHRhZyB3aWxsIGJlIGlnbm9yZWQgZm9yIGJyaWVmIGRvY3MgaWYgU09SVF9CUklFRl9ET0NTIGlzIHNldCB0byBOTyANCi0jIGFuZCBpZ25vcmVkIGZvciBkZXRhaWxlZCBkb2NzIGlmIFNPUlRfTUVNQkVSX0RPQ1MgaXMgc2V0IHRvIE5PLg0KLQ0KLVNPUlRfTUVNQkVSU19DVE9SU18xU1QgPSBOTw0KLQ0KLSMgSWYgdGhlIFNPUlRfR1JPVVBfTkFNRVMgdGFnIGlzIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuIHdpbGwgc29ydCB0aGUgDQotIyBoaWVyYXJjaHkgb2YgZ3JvdXAgbmFtZXMgaW50byBhbHBoYWJldGljYWwgb3JkZXIuIElmIHNldCB0byBOTyAodGhlIGRlZmF1bHQpIA0KLSMgdGhlIGdyb3VwIG5hbWVzIHdpbGwgYXBwZWFyIGluIHRoZWlyIGRlZmluZWQgb3JkZXIuDQotDQotU09SVF9HUk9VUF9OQU1FUyAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgU09SVF9CWV9TQ09QRV9OQU1FIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGUgY2xhc3MgbGlzdCB3aWxsIGJlIA0KLSMgc29ydGVkIGJ5IGZ1bGx5LXF1YWxpZmllZCBuYW1lcywgaW5jbHVkaW5nIG5hbWVzcGFjZXMuIElmIHNldCB0byANCi0jIE5PICh0aGUgZGVmYXVsdCksIHRoZSBjbGFzcyBsaXN0IHdpbGwgYmUgc29ydGVkIG9ubHkgYnkgY2xhc3MgbmFtZSwgDQotIyBub3QgaW5jbHVkaW5nIHRoZSBuYW1lc3BhY2UgcGFydC4gDQotIyBOb3RlOiBUaGlzIG9wdGlvbiBpcyBub3QgdmVyeSB1c2VmdWwgaWYgSElERV9TQ09QRV9OQU1FUyBpcyBzZXQgdG8gWUVTLiANCi0jIE5vdGU6IFRoaXMgb3B0aW9uIGFwcGxpZXMgb25seSB0byB0aGUgY2xhc3MgbGlzdCwgbm90IHRvIHRoZSANCi0jIGFscGhhYmV0aWNhbCBsaXN0Lg0KLQ0KLVNPUlRfQllfU0NPUEVfTkFNRSAgICAgPSBOTw0KLQ0KLSMgVGhlIEdFTkVSQVRFX1RPRE9MSVNUIHRhZyBjYW4gYmUgdXNlZCB0byBlbmFibGUgKFlFUykgb3IgDQotIyBkaXNhYmxlIChOTykgdGhlIHRvZG8gbGlzdC4gVGhpcyBsaXN0IGlzIGNyZWF0ZWQgYnkgcHV0dGluZyBcdG9kbyANCi0jIGNvbW1hbmRzIGluIHRoZSBkb2N1bWVudGF0aW9uLg0KLQ0KLUdFTkVSQVRFX1RPRE9MSVNUICAgICAgPSBZRVMNCi0NCi0jIFRoZSBHRU5FUkFURV9URVNUTElTVCB0YWcgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIChZRVMpIG9yIA0KLSMgZGlzYWJsZSAoTk8pIHRoZSB0ZXN0IGxpc3QuIFRoaXMgbGlzdCBpcyBjcmVhdGVkIGJ5IHB1dHRpbmcgXHRlc3QgDQotIyBjb21tYW5kcyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4NCi0NCi1HRU5FUkFURV9URVNUTElTVCAgICAgID0gWUVTDQotDQotIyBUaGUgR0VORVJBVEVfQlVHTElTVCB0YWcgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIChZRVMpIG9yIA0KLSMgZGlzYWJsZSAoTk8pIHRoZSBidWcgbGlzdC4gVGhpcyBsaXN0IGlzIGNyZWF0ZWQgYnkgcHV0dGluZyBcYnVnIA0KLSMgY29tbWFuZHMgaW4gdGhlIGRvY3VtZW50YXRpb24uDQotDQotR0VORVJBVEVfQlVHTElTVCAgICAgICA9IFlFUw0KLQ0KLSMgVGhlIEdFTkVSQVRFX0RFUFJFQ0FURURMSVNUIHRhZyBjYW4gYmUgdXNlZCB0byBlbmFibGUgKFlFUykgb3IgDQotIyBkaXNhYmxlIChOTykgdGhlIGRlcHJlY2F0ZWQgbGlzdC4gVGhpcyBsaXN0IGlzIGNyZWF0ZWQgYnkgcHV0dGluZyANCi0jIFxkZXByZWNhdGVkIGNvbW1hbmRzIGluIHRoZSBkb2N1bWVudGF0aW9uLg0KLQ0KLUdFTkVSQVRFX0RFUFJFQ0FURURMSVNUPSBZRVMNCi0NCi0jIFRoZSBFTkFCTEVEX1NFQ1RJT05TIHRhZyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29uZGl0aW9uYWwgDQotIyBkb2N1bWVudGF0aW9uIHNlY3Rpb25zLCBtYXJrZWQgYnkgXGlmIHNlY3Rpb25uYW1lIC4uLiBcZW5kaWYuDQotDQotRU5BQkxFRF9TRUNUSU9OUyAgICAgICA9IA0KLQ0KLSMgVGhlIE1BWF9JTklUSUFMSVpFUl9MSU5FUyB0YWcgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgDQotIyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBhIHZhcmlhYmxlIG9yIG1hY3JvIGNvbnNpc3RzIG9mIGZvciBpdCB0byBhcHBlYXIgaW4gDQotIyB0aGUgZG9jdW1lbnRhdGlvbi4gSWYgdGhlIGluaXRpYWxpemVyIGNvbnNpc3RzIG9mIG1vcmUgbGluZXMgdGhhbiBzcGVjaWZpZWQgDQotIyBoZXJlIGl0IHdpbGwgYmUgaGlkZGVuLiBVc2UgYSB2YWx1ZSBvZiAwIHRvIGhpZGUgaW5pdGlhbGl6ZXJzIGNvbXBsZXRlbHkuIA0KLSMgVGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGluaXRpYWxpemVyIG9mIGluZGl2aWR1YWwgdmFyaWFibGVzIGFuZCBtYWNyb3MgaW4gdGhlIA0KLSMgZG9jdW1lbnRhdGlvbiBjYW4gYmUgY29udHJvbGxlZCB1c2luZyBcc2hvd2luaXRpYWxpemVyIG9yIFxoaWRlaW5pdGlhbGl6ZXIgDQotIyBjb21tYW5kIGluIHRoZSBkb2N1bWVudGF0aW9uIHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLg0KLQ0KLU1BWF9JTklUSUFMSVpFUl9MSU5FUyAgPSAzMA0KLQ0KLSMgU2V0IHRoZSBTSE9XX1VTRURfRklMRVMgdGFnIHRvIE5PIHRvIGRpc2FibGUgdGhlIGxpc3Qgb2YgZmlsZXMgZ2VuZXJhdGVkIA0KLSMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZG9jdW1lbnRhdGlvbiBvZiBjbGFzc2VzIGFuZCBzdHJ1Y3RzLiBJZiBzZXQgdG8gWUVTIHRoZSANCi0jIGxpc3Qgd2lsbCBtZW50aW9uIHRoZSBmaWxlcyB0aGF0IHdlcmUgdXNlZCB0byBnZW5lcmF0ZSB0aGUgZG9jdW1lbnRhdGlvbi4NCi0NCi1TSE9XX1VTRURfRklMRVMgICAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgc291cmNlcyBpbiB5b3VyIHByb2plY3QgYXJlIGRpc3RyaWJ1dGVkIG92ZXIgbXVsdGlwbGUgZGlyZWN0b3JpZXMgDQotIyB0aGVuIHNldHRpbmcgdGhlIFNIT1dfRElSRUNUT1JJRVMgdGFnIHRvIFlFUyB3aWxsIHNob3cgdGhlIGRpcmVjdG9yeSBoaWVyYXJjaHkgDQotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbi4gVGhlIGRlZmF1bHQgaXMgTk8uDQotDQotU0hPV19ESVJFQ1RPUklFUyAgICAgICA9IE5PDQotDQotIyBTZXQgdGhlIFNIT1dfRklMRVMgdGFnIHRvIE5PIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIEZpbGVzIHBhZ2UuIA0KLSMgVGhpcyB3aWxsIHJlbW92ZSB0aGUgRmlsZXMgZW50cnkgZnJvbSB0aGUgUXVpY2sgSW5kZXggYW5kIGZyb20gdGhlIA0KLSMgRm9sZGVyIFRyZWUgVmlldyAoaWYgc3BlY2lmaWVkKS4gVGhlIGRlZmF1bHQgaXMgWUVTLg0KLQ0KLVNIT1dfRklMRVMgICAgICAgICAgICAgPSBZRVMNCi0NCi0jIFNldCB0aGUgU0hPV19OQU1FU1BBQ0VTIHRhZyB0byBOTyB0byBkaXNhYmxlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSANCi0jIE5hbWVzcGFjZXMgcGFnZS4gIFRoaXMgd2lsbCByZW1vdmUgdGhlIE5hbWVzcGFjZXMgZW50cnkgZnJvbSB0aGUgUXVpY2sgSW5kZXggDQotIyBhbmQgZnJvbSB0aGUgRm9sZGVyIFRyZWUgVmlldyAoaWYgc3BlY2lmaWVkKS4gVGhlIGRlZmF1bHQgaXMgWUVTLg0KLQ0KLVNIT1dfTkFNRVNQQUNFUyAgICAgICAgPSBZRVMNCi0NCi0jIFRoZSBGSUxFX1ZFUlNJT05fRklMVEVSIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcHJvZ3JhbSBvciBzY3JpcHQgdGhhdCANCi0jIGRveHlnZW4gc2hvdWxkIGludm9rZSB0byBnZXQgdGhlIGN1cnJlbnQgdmVyc2lvbiBmb3IgZWFjaCBmaWxlICh0eXBpY2FsbHkgZnJvbSANCi0jIHRoZSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtKS4gRG94eWdlbiB3aWxsIGludm9rZSB0aGUgcHJvZ3JhbSBieSBleGVjdXRpbmcgKHZpYSANCi0jIHBvcGVuKCkpIHRoZSBjb21tYW5kIDxjb21tYW5kPiA8aW5wdXQtZmlsZT4sIHdoZXJlIDxjb21tYW5kPiBpcyB0aGUgdmFsdWUgb2YgDQotIyB0aGUgRklMRV9WRVJTSU9OX0ZJTFRFUiB0YWcsIGFuZCA8aW5wdXQtZmlsZT4gaXMgdGhlIG5hbWUgb2YgYW4gaW5wdXQgZmlsZSANCi0jIHByb3ZpZGVkIGJ5IGRveHlnZW4uIFdoYXRldmVyIHRoZSBwcm9ncmFtIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXQgDQotIyBpcyB1c2VkIGFzIHRoZSBmaWxlIHZlcnNpb24uIFNlZSB0aGUgbWFudWFsIGZvciBleGFtcGxlcy4NCi0NCi1GSUxFX1ZFUlNJT05fRklMVEVSICAgID0gDQotDQotIyBUaGUgTEFZT1VUX0ZJTEUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBsYXlvdXQgZmlsZSB3aGljaCB3aWxsIGJlIHBhcnNlZCANCi0jIGJ5IGRveHlnZW4uIFRoZSBsYXlvdXQgZmlsZSBjb250cm9scyB0aGUgZ2xvYmFsIHN0cnVjdHVyZSBvZiB0aGUgZ2VuZXJhdGVkIA0KLSMgb3V0cHV0IGZpbGVzIGluIGFuIG91dHB1dCBmb3JtYXQgaW5kZXBlbmRlbnQgd2F5LiBUaGUgY3JlYXRlIHRoZSBsYXlvdXQgZmlsZSANCi0jIHRoYXQgcmVwcmVzZW50cyBkb3h5Z2VuJ3MgZGVmYXVsdHMsIHJ1biBkb3h5Z2VuIHdpdGggdGhlIC1sIG9wdGlvbi4gDQotIyBZb3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhIGZpbGUgbmFtZSBhZnRlciB0aGUgb3B0aW9uLCBpZiBvbWl0dGVkIA0KLSMgRG94eWdlbkxheW91dC54bWwgd2lsbCBiZSB1c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBsYXlvdXQgZmlsZS4NCi0NCi1MQVlPVVRfRklMRSAgICAgICAgICAgID0gDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gd2FybmluZyBhbmQgcHJvZ3Jlc3MgbWVzc2FnZXMNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBUaGUgUVVJRVQgdGFnIGNhbiBiZSB1c2VkIHRvIHR1cm4gb24vb2ZmIHRoZSBtZXNzYWdlcyB0aGF0IGFyZSBnZW5lcmF0ZWQgDQotIyBieSBkb3h5Z2VuLiBQb3NzaWJsZSB2YWx1ZXMgYXJlIFlFUyBhbmQgTk8uIElmIGxlZnQgYmxhbmsgTk8gaXMgdXNlZC4NCi0NCi1RVUlFVCAgICAgICAgICAgICAgICAgID0gTk8NCi0NCi0jIFRoZSBXQVJOSU5HUyB0YWcgY2FuIGJlIHVzZWQgdG8gdHVybiBvbi9vZmYgdGhlIHdhcm5pbmcgbWVzc2FnZXMgdGhhdCBhcmUgDQotIyBnZW5lcmF0ZWQgYnkgZG94eWdlbi4gUG9zc2libGUgdmFsdWVzIGFyZSBZRVMgYW5kIE5PLiBJZiBsZWZ0IGJsYW5rIA0KLSMgTk8gaXMgdXNlZC4NCi0NCi1XQVJOSU5HUyAgICAgICAgICAgICAgID0gWUVTDQotDQotIyBJZiBXQVJOX0lGX1VORE9DVU1FTlRFRCBpcyBzZXQgdG8gWUVTLCB0aGVuIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSB3YXJuaW5ncyANCi0jIGZvciB1bmRvY3VtZW50ZWQgbWVtYmVycy4gSWYgRVhUUkFDVF9BTEwgaXMgc2V0IHRvIFlFUyB0aGVuIHRoaXMgZmxhZyB3aWxsIA0KLSMgYXV0b21hdGljYWxseSBiZSBkaXNhYmxlZC4NCi0NCi1XQVJOX0lGX1VORE9DVU1FTlRFRCAgID0gWUVTDQotDQotIyBJZiBXQVJOX0lGX0RPQ19FUlJPUiBpcyBzZXQgdG8gWUVTLCBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgd2FybmluZ3MgZm9yIA0KLSMgcG90ZW50aWFsIGVycm9ycyBpbiB0aGUgZG9jdW1lbnRhdGlvbiwgc3VjaCBhcyBub3QgZG9jdW1lbnRpbmcgc29tZSANCi0jIHBhcmFtZXRlcnMgaW4gYSBkb2N1bWVudGVkIGZ1bmN0aW9uLCBvciBkb2N1bWVudGluZyBwYXJhbWV0ZXJzIHRoYXQgDQotIyBkb24ndCBleGlzdCBvciB1c2luZyBtYXJrdXAgY29tbWFuZHMgd3JvbmdseS4NCi0NCi1XQVJOX0lGX0RPQ19FUlJPUiAgICAgID0gWUVTDQotDQotIyBUaGUgV0FSTl9OT19QQVJBTURPQyBvcHRpb24gY2FuIGJlIGVuYWJsZWQgdG8gZ2V0IHdhcm5pbmdzIGZvciANCi0jIGZ1bmN0aW9ucyB0aGF0IGFyZSBkb2N1bWVudGVkLCBidXQgaGF2ZSBubyBkb2N1bWVudGF0aW9uIGZvciB0aGVpciBwYXJhbWV0ZXJzIA0KLSMgb3IgcmV0dXJuIHZhbHVlLiBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSBkb3h5Z2VuIHdpbGwgb25seSB3YXJuIGFib3V0IA0KLSMgd3Jvbmcgb3IgaW5jb21wbGV0ZSBwYXJhbWV0ZXIgZG9jdW1lbnRhdGlvbiwgYnV0IG5vdCBhYm91dCB0aGUgYWJzZW5jZSBvZiANCi0jIGRvY3VtZW50YXRpb24uDQotDQotV0FSTl9OT19QQVJBTURPQyAgICAgICA9IE5PDQotDQotIyBUaGUgV0FSTl9GT1JNQVQgdGFnIGRldGVybWluZXMgdGhlIGZvcm1hdCBvZiB0aGUgd2FybmluZyBtZXNzYWdlcyB0aGF0IA0KLSMgZG94eWdlbiBjYW4gcHJvZHVjZS4gVGhlIHN0cmluZyBzaG91bGQgY29udGFpbiB0aGUgJGZpbGUsICRsaW5lLCBhbmQgJHRleHQgDQotIyB0YWdzLCB3aGljaCB3aWxsIGJlIHJlcGxhY2VkIGJ5IHRoZSBmaWxlIGFuZCBsaW5lIG51bWJlciBmcm9tIHdoaWNoIHRoZSANCi0jIHdhcm5pbmcgb3JpZ2luYXRlZCBhbmQgdGhlIHdhcm5pbmcgdGV4dC4gT3B0aW9uYWxseSB0aGUgZm9ybWF0IG1heSBjb250YWluIA0KLSMgJHZlcnNpb24sIHdoaWNoIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIHZlcnNpb24gb2YgdGhlIGZpbGUgKGlmIGl0IGNvdWxkIA0KLSMgYmUgb2J0YWluZWQgdmlhIEZJTEVfVkVSU0lPTl9GSUxURVIpDQotDQotV0FSTl9GT1JNQVQgICAgICAgICAgICA9ICIkZmlsZTokbGluZTogJHRleHQiDQotDQotIyBUaGUgV0FSTl9MT0dGSUxFIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgZmlsZSB0byB3aGljaCB3YXJuaW5nIA0KLSMgYW5kIGVycm9yIG1lc3NhZ2VzIHNob3VsZCBiZSB3cml0dGVuLiBJZiBsZWZ0IGJsYW5rIHRoZSBvdXRwdXQgaXMgd3JpdHRlbiANCi0jIHRvIHN0ZGVyci4NCi0NCi1XQVJOX0xPR0ZJTEUgICAgICAgICAgID0gDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIGlucHV0IGZpbGVzDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLSMgVGhlIElOUFVUIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgdGhhdCBjb250YWluIA0KLSMgZG9jdW1lbnRlZCBzb3VyY2UgZmlsZXMuIFlvdSBtYXkgZW50ZXIgZmlsZSBuYW1lcyBsaWtlICJteWZpbGUuY3BwIiBvciANCi0jIGRpcmVjdG9yaWVzIGxpa2UgIi91c3Ivc3JjL215cHJvamVjdCIuIFNlcGFyYXRlIHRoZSBmaWxlcyBvciBkaXJlY3RvcmllcyANCi0jIHdpdGggc3BhY2VzLg0KLQ0KLUlOUFVUICAgICAgICAgICAgICAgICAgPSBDOi9XaW5kUml2ZXIvd29ya3NwYWNlL1dQSUxpYg0KLQ0KLSMgVGhpcyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIG9mIHRoZSBzb3VyY2UgZmlsZXMgDQotIyB0aGF0IGRveHlnZW4gcGFyc2VzLiBJbnRlcm5hbGx5IGRveHlnZW4gdXNlcyB0aGUgVVRGLTggZW5jb2RpbmcsIHdoaWNoIGlzIA0KLSMgYWxzbyB0aGUgZGVmYXVsdCBpbnB1dCBlbmNvZGluZy4gRG94eWdlbiB1c2VzIGxpYmljb252IChvciB0aGUgaWNvbnYgYnVpbHQgDQotIyBpbnRvIGxpYmMpIGZvciB0aGUgdHJhbnNjb2RpbmcuIFNlZSBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliaWNvbnYgZm9yIA0KLSMgdGhlIGxpc3Qgb2YgcG9zc2libGUgZW5jb2RpbmdzLg0KLQ0KLUlOUFVUX0VOQ09ESU5HICAgICAgICAgPSBVVEYtOA0KLQ0KLSMgSWYgdGhlIHZhbHVlIG9mIHRoZSBJTlBVVCB0YWcgY29udGFpbnMgZGlyZWN0b3JpZXMsIHlvdSBjYW4gdXNlIHRoZSANCi0jIEZJTEVfUEFUVEVSTlMgdGFnIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgd2lsZGNhcmQgcGF0dGVybiAobGlrZSAqLmNwcCANCi0jIGFuZCAqLmgpIHRvIGZpbHRlciBvdXQgdGhlIHNvdXJjZS1maWxlcyBpbiB0aGUgZGlyZWN0b3JpZXMuIElmIGxlZnQgDQotIyBibGFuayB0aGUgZm9sbG93aW5nIHBhdHRlcm5zIGFyZSB0ZXN0ZWQ6IA0KLSMgKi5jICouY2MgKi5jeHggKi5jcHAgKi5jKysgKi5kICouamF2YSAqLmlpICouaXh4ICouaXBwICouaSsrICouaW5sICouaCAqLmhoIA0KLSMgKi5oeHggKi5ocHAgKi5oKysgKi5pZGwgKi5vZGwgKi5jcyAqLnBocCAqLnBocDMgKi5pbmMgKi5tICoubW0gKi5kb3ggKi5weSANCi0jICouZjkwICouZiAqLnZoZCAqLnZoZGwNCi0NCi1GSUxFX1BBVFRFUk5TICAgICAgICAgID0gKi5jcHAgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAqLmgNCi0NCi0jIFRoZSBSRUNVUlNJVkUgdGFnIGNhbiBiZSB1c2VkIHRvIHR1cm4gc3BlY2lmeSB3aGV0aGVyIG9yIG5vdCBzdWJkaXJlY3RvcmllcyANCi0jIHNob3VsZCBiZSBzZWFyY2hlZCBmb3IgaW5wdXQgZmlsZXMgYXMgd2VsbC4gUG9zc2libGUgdmFsdWVzIGFyZSBZRVMgYW5kIE5PLiANCi0jIElmIGxlZnQgYmxhbmsgTk8gaXMgdXNlZC4NCi0NCi1SRUNVUlNJVkUgICAgICAgICAgICAgID0gWUVTDQotDQotIyBUaGUgRVhDTFVERSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBmaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgdGhhdCBzaG91bGQgDQotIyBleGNsdWRlZCBmcm9tIHRoZSBJTlBVVCBzb3VyY2UgZmlsZXMuIFRoaXMgd2F5IHlvdSBjYW4gZWFzaWx5IGV4Y2x1ZGUgYSANCi0jIHN1YmRpcmVjdG9yeSBmcm9tIGEgZGlyZWN0b3J5IHRyZWUgd2hvc2Ugcm9vdCBpcyBzcGVjaWZpZWQgd2l0aCB0aGUgSU5QVVQgdGFnLg0KLQ0KLUVYQ0xVREUgICAgICAgICAgICAgICAgPSBDOi9XaW5kUml2ZXIvd29ya3NwYWNlL1dQSUxpYi9DQU4gXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBDOi9XaW5kUml2ZXIvd29ya3NwYWNlL1dQSUxpYi9DaGlwT2JqZWN0IFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgQzovV2luZFJpdmVyL3dvcmtzcGFjZS9XUElMaWIvTmV0d29ya0NvbW11bmljYXRpb24gXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBDOi9XaW5kUml2ZXIvd29ya3NwYWNlL1dQSUxpYi9QUEM2MDNnbnUgXA0KLSAgICAgICAgICAgICAgICAgICAgICAgICBDOi9XaW5kUml2ZXIvd29ya3NwYWNlL1dQSUxpYi9TY3JpcHRzIFwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgQzovV2luZFJpdmVyL3dvcmtzcGFjZS9XUElMaWIvdmlzYSBcDQotICAgICAgICAgICAgICAgICAgICAgICAgIEM6L1dpbmRSaXZlci93b3Jrc3BhY2UvV1BJTGliL25pdmlzaW9uLmgNCi0NCi0jIFRoZSBFWENMVURFX1NZTUxJTktTIHRhZyBjYW4gYmUgdXNlZCBzZWxlY3Qgd2hldGhlciBvciBub3QgZmlsZXMgb3IgDQotIyBkaXJlY3RvcmllcyB0aGF0IGFyZSBzeW1ib2xpYyBsaW5rcyAoYSBVbml4IGZpbGVzeXN0ZW0gZmVhdHVyZSkgYXJlIGV4Y2x1ZGVkIA0KLSMgZnJvbSB0aGUgaW5wdXQuDQotDQotRVhDTFVERV9TWU1MSU5LUyAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgdmFsdWUgb2YgdGhlIElOUFVUIHRhZyBjb250YWlucyBkaXJlY3RvcmllcywgeW91IGNhbiB1c2UgdGhlIA0KLSMgRVhDTFVERV9QQVRURVJOUyB0YWcgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSB3aWxkY2FyZCBwYXR0ZXJucyB0byBleGNsdWRlIA0KLSMgY2VydGFpbiBmaWxlcyBmcm9tIHRob3NlIGRpcmVjdG9yaWVzLiBOb3RlIHRoYXQgdGhlIHdpbGRjYXJkcyBhcmUgbWF0Y2hlZCANCi0jIGFnYWluc3QgdGhlIGZpbGUgd2l0aCBhYnNvbHV0ZSBwYXRoLCBzbyB0byBleGNsdWRlIGFsbCB0ZXN0IGRpcmVjdG9yaWVzIA0KLSMgZm9yIGV4YW1wbGUgdXNlIHRoZSBwYXR0ZXJuICovdGVzdC8qDQotDQotRVhDTFVERV9QQVRURVJOUyAgICAgICA9IA0KLQ0KLSMgVGhlIEVYQ0xVREVfU1lNQk9MUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSBzeW1ib2wgbmFtZXMgDQotIyAobmFtZXNwYWNlcywgY2xhc3NlcywgZnVuY3Rpb25zLCBldGMuKSB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZSANCi0jIG91dHB1dC4gVGhlIHN5bWJvbCBuYW1lIGNhbiBiZSBhIGZ1bGx5IHF1YWxpZmllZCBuYW1lLCBhIHdvcmQsIG9yIGlmIHRoZSANCi0jIHdpbGRjYXJkICogaXMgdXNlZCwgYSBzdWJzdHJpbmcuIEV4YW1wbGVzOiBBTmFtZXNwYWNlLCBBQ2xhc3MsIA0KLSMgQUNsYXNzOjpBTmFtZXNwYWNlLCBBTmFtZXNwYWNlOjoqVGVzdA0KLQ0KLUVYQ0xVREVfU1lNQk9MUyAgICAgICAgPSANCi0NCi0jIFRoZSBFWEFNUExFX1BBVEggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgZmlsZXMgb3IgDQotIyBkaXJlY3RvcmllcyB0aGF0IGNvbnRhaW4gZXhhbXBsZSBjb2RlIGZyYWdtZW50cyB0aGF0IGFyZSBpbmNsdWRlZCAoc2VlIA0KLSMgdGhlIFxpbmNsdWRlIGNvbW1hbmQpLg0KLQ0KLUVYQU1QTEVfUEFUSCAgICAgICAgICAgPSANCi0NCi0jIElmIHRoZSB2YWx1ZSBvZiB0aGUgRVhBTVBMRV9QQVRIIHRhZyBjb250YWlucyBkaXJlY3RvcmllcywgeW91IGNhbiB1c2UgdGhlIA0KLSMgRVhBTVBMRV9QQVRURVJOUyB0YWcgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSB3aWxkY2FyZCBwYXR0ZXJuIChsaWtlICouY3BwIA0KLSMgYW5kICouaCkgdG8gZmlsdGVyIG91dCB0aGUgc291cmNlLWZpbGVzIGluIHRoZSBkaXJlY3Rvcmllcy4gSWYgbGVmdCANCi0jIGJsYW5rIGFsbCBmaWxlcyBhcmUgaW5jbHVkZWQuDQotDQotRVhBTVBMRV9QQVRURVJOUyAgICAgICA9ICoNCi0NCi0jIElmIHRoZSBFWEFNUExFX1JFQ1VSU0lWRSB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIHN1YmRpcmVjdG9yaWVzIHdpbGwgYmUgDQotIyBzZWFyY2hlZCBmb3IgaW5wdXQgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBcaW5jbHVkZSBvciBcZG9udGluY2x1ZGUgDQotIyBjb21tYW5kcyBpcnJlc3BlY3RpdmUgb2YgdGhlIHZhbHVlIG9mIHRoZSBSRUNVUlNJVkUgdGFnLiANCi0jIFBvc3NpYmxlIHZhbHVlcyBhcmUgWUVTIGFuZCBOTy4gSWYgbGVmdCBibGFuayBOTyBpcyB1c2VkLg0KLQ0KLUVYQU1QTEVfUkVDVVJTSVZFICAgICAgPSBOTw0KLQ0KLSMgVGhlIElNQUdFX1BBVEggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgZmlsZXMgb3IgDQotIyBkaXJlY3RvcmllcyB0aGF0IGNvbnRhaW4gaW1hZ2UgdGhhdCBhcmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gKHNlZSANCi0jIHRoZSBcaW1hZ2UgY29tbWFuZCkuDQotDQotSU1BR0VfUEFUSCAgICAgICAgICAgICA9IA0KLQ0KLSMgVGhlIElOUFVUX0ZJTFRFUiB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHByb2dyYW0gdGhhdCBkb3h5Z2VuIHNob3VsZCANCi0jIGludm9rZSB0byBmaWx0ZXIgZm9yIGVhY2ggaW5wdXQgZmlsZS4gRG94eWdlbiB3aWxsIGludm9rZSB0aGUgZmlsdGVyIHByb2dyYW0gDQotIyBieSBleGVjdXRpbmcgKHZpYSBwb3BlbigpKSB0aGUgY29tbWFuZCA8ZmlsdGVyPiA8aW5wdXQtZmlsZT4sIHdoZXJlIDxmaWx0ZXI+IA0KLSMgaXMgdGhlIHZhbHVlIG9mIHRoZSBJTlBVVF9GSUxURVIgdGFnLCBhbmQgPGlucHV0LWZpbGU+IGlzIHRoZSBuYW1lIG9mIGFuIA0KLSMgaW5wdXQgZmlsZS4gRG94eWdlbiB3aWxsIHRoZW4gdXNlIHRoZSBvdXRwdXQgdGhhdCB0aGUgZmlsdGVyIHByb2dyYW0gd3JpdGVzIA0KLSMgdG8gc3RhbmRhcmQgb3V0cHV0LiAgSWYgRklMVEVSX1BBVFRFUk5TIGlzIHNwZWNpZmllZCwgdGhpcyB0YWcgd2lsbCBiZSANCi0jIGlnbm9yZWQuDQotDQotSU5QVVRfRklMVEVSICAgICAgICAgICA9IA0KLQ0KLSMgVGhlIEZJTFRFUl9QQVRURVJOUyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBmaWx0ZXJzIG9uIGEgcGVyIGZpbGUgcGF0dGVybiANCi0jIGJhc2lzLiAgRG94eWdlbiB3aWxsIGNvbXBhcmUgdGhlIGZpbGUgbmFtZSB3aXRoIGVhY2ggcGF0dGVybiBhbmQgYXBwbHkgdGhlIA0KLSMgZmlsdGVyIGlmIHRoZXJlIGlzIGEgbWF0Y2guICBUaGUgZmlsdGVycyBhcmUgYSBsaXN0IG9mIHRoZSBmb3JtOiANCi0jIHBhdHRlcm49ZmlsdGVyIChsaWtlICouY3BwPW15X2NwcF9maWx0ZXIpLiBTZWUgSU5QVVRfRklMVEVSIGZvciBmdXJ0aGVyIA0KLSMgaW5mbyBvbiBob3cgZmlsdGVycyBhcmUgdXNlZC4gSWYgRklMVEVSX1BBVFRFUk5TIGlzIGVtcHR5LCBJTlBVVF9GSUxURVIgDQotIyBpcyBhcHBsaWVkIHRvIGFsbCBmaWxlcy4NCi0NCi1GSUxURVJfUEFUVEVSTlMgICAgICAgID0gDQotDQotIyBJZiB0aGUgRklMVEVSX1NPVVJDRV9GSUxFUyB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIGlucHV0IGZpbHRlciAoaWYgc2V0IHVzaW5nIA0KLSMgSU5QVVRfRklMVEVSKSB3aWxsIGJlIHVzZWQgdG8gZmlsdGVyIHRoZSBpbnB1dCBmaWxlcyB3aGVuIHByb2R1Y2luZyBzb3VyY2UgDQotIyBmaWxlcyB0byBicm93c2UgKGkuZS4gd2hlbiBTT1VSQ0VfQlJPV1NFUiBpcyBzZXQgdG8gWUVTKS4NCi0NCi1GSUxURVJfU09VUkNFX0ZJTEVTICAgID0gTk8NCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byBzb3VyY2UgYnJvd3NpbmcNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBJZiB0aGUgU09VUkNFX0JST1dTRVIgdGFnIGlzIHNldCB0byBZRVMgdGhlbiBhIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHdpbGwgDQotIyBiZSBnZW5lcmF0ZWQuIERvY3VtZW50ZWQgZW50aXRpZXMgd2lsbCBiZSBjcm9zcy1yZWZlcmVuY2VkIHdpdGggdGhlc2Ugc291cmNlcy4gDQotIyBOb3RlOiBUbyBnZXQgcmlkIG9mIGFsbCBzb3VyY2UgY29kZSBpbiB0aGUgZ2VuZXJhdGVkIG91dHB1dCwgbWFrZSBzdXJlIGFsc28gDQotIyBWRVJCQVRJTV9IRUFERVJTIGlzIHNldCB0byBOTy4NCi0NCi1TT1VSQ0VfQlJPV1NFUiAgICAgICAgID0gTk8NCi0NCi0jIFNldHRpbmcgdGhlIElOTElORV9TT1VSQ0VTIHRhZyB0byBZRVMgd2lsbCBpbmNsdWRlIHRoZSBib2R5IA0KLSMgb2YgZnVuY3Rpb25zIGFuZCBjbGFzc2VzIGRpcmVjdGx5IGluIHRoZSBkb2N1bWVudGF0aW9uLg0KLQ0KLUlOTElORV9TT1VSQ0VTICAgICAgICAgPSBOTw0KLQ0KLSMgU2V0dGluZyB0aGUgU1RSSVBfQ09ERV9DT01NRU5UUyB0YWcgdG8gWUVTICh0aGUgZGVmYXVsdCkgd2lsbCBpbnN0cnVjdCANCi0jIGRveHlnZW4gdG8gaGlkZSBhbnkgc3BlY2lhbCBjb21tZW50IGJsb2NrcyBmcm9tIGdlbmVyYXRlZCBzb3VyY2UgY29kZSANCi0jIGZyYWdtZW50cy4gTm9ybWFsIEMgYW5kIEMrKyBjb21tZW50cyB3aWxsIGFsd2F5cyByZW1haW4gdmlzaWJsZS4NCi0NCi1TVFJJUF9DT0RFX0NPTU1FTlRTICAgID0gWUVTDQotDQotIyBJZiB0aGUgUkVGRVJFTkNFRF9CWV9SRUxBVElPTiB0YWcgaXMgc2V0IHRvIFlFUyANCi0jIHRoZW4gZm9yIGVhY2ggZG9jdW1lbnRlZCBmdW5jdGlvbiBhbGwgZG9jdW1lbnRlZCANCi0jIGZ1bmN0aW9ucyByZWZlcmVuY2luZyBpdCB3aWxsIGJlIGxpc3RlZC4NCi0NCi1SRUZFUkVOQ0VEX0JZX1JFTEFUSU9OID0gTk8NCi0NCi0jIElmIHRoZSBSRUZFUkVOQ0VTX1JFTEFUSU9OIHRhZyBpcyBzZXQgdG8gWUVTIA0KLSMgdGhlbiBmb3IgZWFjaCBkb2N1bWVudGVkIGZ1bmN0aW9uIGFsbCBkb2N1bWVudGVkIGVudGl0aWVzIA0KLSMgY2FsbGVkL3VzZWQgYnkgdGhhdCBmdW5jdGlvbiB3aWxsIGJlIGxpc3RlZC4NCi0NCi1SRUZFUkVOQ0VTX1JFTEFUSU9OICAgID0gTk8NCi0NCi0jIElmIHRoZSBSRUZFUkVOQ0VTX0xJTktfU09VUkNFIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgDQotIyBhbmQgU09VUkNFX0JST1dTRVIgdGFnIGlzIHNldCB0byBZRVMsIHRoZW4gdGhlIGh5cGVybGlua3MgZnJvbSANCi0jIGZ1bmN0aW9ucyBpbiBSRUZFUkVOQ0VTX1JFTEFUSU9OIGFuZCBSRUZFUkVOQ0VEX0JZX1JFTEFUSU9OIGxpc3RzIHdpbGwgDQotIyBsaW5rIHRvIHRoZSBzb3VyY2UgY29kZS4gIE90aGVyd2lzZSB0aGV5IHdpbGwgbGluayB0byB0aGUgZG9jdW1lbnRhdGlvbi4NCi0NCi1SRUZFUkVOQ0VTX0xJTktfU09VUkNFID0gWUVTDQotDQotIyBJZiB0aGUgVVNFX0hUQUdTIHRhZyBpcyBzZXQgdG8gWUVTIHRoZW4gdGhlIHJlZmVyZW5jZXMgdG8gc291cmNlIGNvZGUgDQotIyB3aWxsIHBvaW50IHRvIHRoZSBIVE1MIGdlbmVyYXRlZCBieSB0aGUgaHRhZ3MoMSkgdG9vbCBpbnN0ZWFkIG9mIGRveHlnZW4gDQotIyBidWlsdC1pbiBzb3VyY2UgYnJvd3Nlci4gVGhlIGh0YWdzIHRvb2wgaXMgcGFydCBvZiBHTlUncyBnbG9iYWwgc291cmNlIA0KLSMgdGFnZ2luZyBzeXN0ZW0gKHNlZSBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2xvYmFsL2dsb2JhbC5odG1sKS4gWW91IA0KLSMgd2lsbCBuZWVkIHZlcnNpb24gNC44LjYgb3IgaGlnaGVyLg0KLQ0KLVVTRV9IVEFHUyAgICAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIFZFUkJBVElNX0hFQURFUlMgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGVuIERveHlnZW4gDQotIyB3aWxsIGdlbmVyYXRlIGEgdmVyYmF0aW0gY29weSBvZiB0aGUgaGVhZGVyIGZpbGUgZm9yIGVhY2ggY2xhc3MgZm9yIA0KLSMgd2hpY2ggYW4gaW5jbHVkZSBpcyBzcGVjaWZpZWQuIFNldCB0byBOTyB0byBkaXNhYmxlIHRoaXMuDQotDQotVkVSQkFUSU1fSEVBREVSUyAgICAgICA9IFlFUw0KLQ0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0jIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBhbHBoYWJldGljYWwgY2xhc3MgaW5kZXgNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBJZiB0aGUgQUxQSEFCRVRJQ0FMX0lOREVYIHRhZyBpcyBzZXQgdG8gWUVTLCBhbiBhbHBoYWJldGljYWwgaW5kZXggDQotIyBvZiBhbGwgY29tcG91bmRzIHdpbGwgYmUgZ2VuZXJhdGVkLiBFbmFibGUgdGhpcyBpZiB0aGUgcHJvamVjdCANCi0jIGNvbnRhaW5zIGEgbG90IG9mIGNsYXNzZXMsIHN0cnVjdHMsIHVuaW9ucyBvciBpbnRlcmZhY2VzLg0KLQ0KLUFMUEhBQkVUSUNBTF9JTkRFWCAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIGFscGhhYmV0aWNhbCBpbmRleCBpcyBlbmFibGVkIChzZWUgQUxQSEFCRVRJQ0FMX0lOREVYKSB0aGVuIA0KLSMgdGhlIENPTFNfSU5fQUxQSEFfSU5ERVggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjb2x1bW5zIA0KLSMgaW4gd2hpY2ggdGhpcyBsaXN0IHdpbGwgYmUgc3BsaXQgKGNhbiBiZSBhIG51bWJlciBpbiB0aGUgcmFuZ2UgWzEuLjIwXSkNCi0NCi1DT0xTX0lOX0FMUEhBX0lOREVYICAgID0gNQ0KLQ0KLSMgSW4gY2FzZSBhbGwgY2xhc3NlcyBpbiBhIHByb2plY3Qgc3RhcnQgd2l0aCBhIGNvbW1vbiBwcmVmaXgsIGFsbCANCi0jIGNsYXNzZXMgd2lsbCBiZSBwdXQgdW5kZXIgdGhlIHNhbWUgaGVhZGVyIGluIHRoZSBhbHBoYWJldGljYWwgaW5kZXguIA0KLSMgVGhlIElHTk9SRV9QUkVGSVggdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgcHJlZml4ZXMgdGhhdCANCi0jIHNob3VsZCBiZSBpZ25vcmVkIHdoaWxlIGdlbmVyYXRpbmcgdGhlIGluZGV4IGhlYWRlcnMuDQotDQotSUdOT1JFX1BSRUZJWCAgICAgICAgICA9IA0KLQ0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0jIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBIVE1MIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsIA0KLSMgZ2VuZXJhdGUgSFRNTCBvdXRwdXQuDQotDQotR0VORVJBVEVfSFRNTCAgICAgICAgICA9IFlFUw0KLQ0KLSMgVGhlIEhUTUxfT1VUUFVUIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hlcmUgdGhlIEhUTUwgZG9jcyB3aWxsIGJlIHB1dC4gDQotIyBJZiBhIHJlbGF0aXZlIHBhdGggaXMgZW50ZXJlZCB0aGUgdmFsdWUgb2YgT1VUUFVUX0RJUkVDVE9SWSB3aWxsIGJlIA0KLSMgcHV0IGluIGZyb250IG9mIGl0LiBJZiBsZWZ0IGJsYW5rIGBodG1sJyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgcGF0aC4NCi0NCi1IVE1MX09VVFBVVCAgICAgICAgICAgID0gaHRtbA0KLQ0KLSMgVGhlIEhUTUxfRklMRV9FWFRFTlNJT04gdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGZpbGUgZXh0ZW5zaW9uIGZvciANCi0jIGVhY2ggZ2VuZXJhdGVkIEhUTUwgcGFnZSAoZm9yIGV4YW1wbGU6IC5odG0sLnBocCwuYXNwKS4gSWYgaXQgaXMgbGVmdCBibGFuayANCi0jIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBmaWxlcyB3aXRoIC5odG1sIGV4dGVuc2lvbi4NCi0NCi1IVE1MX0ZJTEVfRVhURU5TSU9OICAgID0gLmh0bWwNCi0NCi0jIFRoZSBIVE1MX0hFQURFUiB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHBlcnNvbmFsIEhUTUwgaGVhZGVyIGZvciANCi0jIGVhY2ggZ2VuZXJhdGVkIEhUTUwgcGFnZS4gSWYgaXQgaXMgbGVmdCBibGFuayBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgYSANCi0jIHN0YW5kYXJkIGhlYWRlci4NCi0NCi1IVE1MX0hFQURFUiAgICAgICAgICAgID0gDQotDQotIyBUaGUgSFRNTF9GT09URVIgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYSBwZXJzb25hbCBIVE1MIGZvb3RlciBmb3IgDQotIyBlYWNoIGdlbmVyYXRlZCBIVE1MIHBhZ2UuIElmIGl0IGlzIGxlZnQgYmxhbmsgZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgDQotIyBzdGFuZGFyZCBmb290ZXIuDQotDQotSFRNTF9GT09URVIgICAgICAgICAgICA9IA0KLQ0KLSMgVGhlIEhUTUxfU1RZTEVTSEVFVCB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIHVzZXItZGVmaW5lZCBjYXNjYWRpbmcgDQotIyBzdHlsZSBzaGVldCB0aGF0IGlzIHVzZWQgYnkgZWFjaCBIVE1MIHBhZ2UuIEl0IGNhbiBiZSB1c2VkIHRvIA0KLSMgZmluZS10dW5lIHRoZSBsb29rIG9mIHRoZSBIVE1MIG91dHB1dC4gSWYgdGhlIHRhZyBpcyBsZWZ0IGJsYW5rIGRveHlnZW4gDQotIyB3aWxsIGdlbmVyYXRlIGEgZGVmYXVsdCBzdHlsZSBzaGVldC4gTm90ZSB0aGF0IGRveHlnZW4gd2lsbCB0cnkgdG8gY29weSANCi0jIHRoZSBzdHlsZSBzaGVldCBmaWxlIHRvIHRoZSBIVE1MIG91dHB1dCBkaXJlY3RvcnksIHNvIGRvbid0IHB1dCB5b3VyIG93biANCi0jIHN0eWxlc2hlZXQgaW4gdGhlIEhUTUwgb3V0cHV0IGRpcmVjdG9yeSBhcyB3ZWxsLCBvciBpdCB3aWxsIGJlIGVyYXNlZCENCi0NCi1IVE1MX1NUWUxFU0hFRVQgICAgICAgID0gDQotDQotIyBUaGUgSFRNTF9DT0xPUlNUWUxFX0hVRSB0YWcgY29udHJvbHMgdGhlIGNvbG9yIG9mIHRoZSBIVE1MIG91dHB1dC4gDQotIyBEb3h5Z2VuIHdpbGwgYWRqdXN0IHRoZSBjb2xvcnMgaW4gdGhlIHN0eWxlc2hlZXQgYW5kIGJhY2tncm91bmQgaW1hZ2VzIA0KLSMgYWNjb3JkaW5nIHRvIHRoaXMgY29sb3IuIEh1ZSBpcyBzcGVjaWZpZWQgYXMgYW4gYW5nbGUgb24gYSBjb2xvcndoZWVsLCANCi0jIHNlZSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0h1ZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gDQotIyBGb3IgaW5zdGFuY2UgdGhlIHZhbHVlIDAgcmVwcmVzZW50cyByZWQsIDYwIGlzIHllbGxvdywgMTIwIGlzIGdyZWVuLCANCi0jIDE4MCBpcyBjeWFuLCAyNDAgaXMgYmx1ZSwgMzAwIHB1cnBsZSwgYW5kIDM2MCBpcyByZWQgYWdhaW4uIA0KLSMgVGhlIGFsbG93ZWQgcmFuZ2UgaXMgMCB0byAzNTkuDQotDQotSFRNTF9DT0xPUlNUWUxFX0hVRSAgICA9IDIyMA0KLQ0KLSMgVGhlIEhUTUxfQ09MT1JTVFlMRV9TQVQgdGFnIGNvbnRyb2xzIHRoZSBwdXJpdHkgKG9yIHNhdHVyYXRpb24pIG9mIA0KLSMgdGhlIGNvbG9ycyBpbiB0aGUgSFRNTCBvdXRwdXQuIEZvciBhIHZhbHVlIG9mIDAgdGhlIG91dHB1dCB3aWxsIHVzZSANCi0jIGdyYXlzY2FsZXMgb25seS4gQSB2YWx1ZSBvZiAyNTUgd2lsbCBwcm9kdWNlIHRoZSBtb3N0IHZpdmlkIGNvbG9ycy4NCi0NCi1IVE1MX0NPTE9SU1RZTEVfU0FUICAgID0gMTAwDQotDQotIyBUaGUgSFRNTF9DT0xPUlNUWUxFX0dBTU1BIHRhZyBjb250cm9scyB0aGUgZ2FtbWEgY29ycmVjdGlvbiBhcHBsaWVkIHRvIA0KLSMgdGhlIGx1bWluYW5jZSBjb21wb25lbnQgb2YgdGhlIGNvbG9ycyBpbiB0aGUgSFRNTCBvdXRwdXQuIFZhbHVlcyBiZWxvdyANCi0jIDEwMCBncmFkdWFsbHkgbWFrZSB0aGUgb3V0cHV0IGxpZ2h0ZXIsIHdoZXJlYXMgdmFsdWVzIGFib3ZlIDEwMCBtYWtlIA0KLSMgdGhlIG91dHB1dCBkYXJrZXIuIFRoZSB2YWx1ZSBkaXZpZGVkIGJ5IDEwMCBpcyB0aGUgYWN0dWFsIGdhbW1hIGFwcGxpZWQsIA0KLSMgc28gODAgcmVwcmVzZW50cyBhIGdhbW1hIG9mIDAuOCwgVGhlIHZhbHVlIDIyMCByZXByZXNlbnRzIGEgZ2FtbWEgb2YgMi4yLCANCi0jIGFuZCAxMDAgZG9lcyBub3QgY2hhbmdlIHRoZSBnYW1tYS4NCi0NCi1IVE1MX0NPTE9SU1RZTEVfR0FNTUEgID0gODANCi0NCi0jIElmIHRoZSBIVE1MX1RJTUVTVEFNUCB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIHRoZSBmb290ZXIgb2YgZWFjaCBnZW5lcmF0ZWQgSFRNTCANCi0jIHBhZ2Ugd2lsbCBjb250YWluIHRoZSBkYXRlIGFuZCB0aW1lIHdoZW4gdGhlIHBhZ2Ugd2FzIGdlbmVyYXRlZC4gU2V0dGluZyANCi0jIHRoaXMgdG8gTk8gY2FuIGhlbHAgd2hlbiBjb21wYXJpbmcgdGhlIG91dHB1dCBvZiBtdWx0aXBsZSBydW5zLg0KLQ0KLUhUTUxfVElNRVNUQU1QICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEhUTUxfQUxJR05fTUVNQkVSUyB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIG1lbWJlcnMgb2YgY2xhc3NlcywgDQotIyBmaWxlcyBvciBuYW1lc3BhY2VzIHdpbGwgYmUgYWxpZ25lZCBpbiBIVE1MIHVzaW5nIHRhYmxlcy4gSWYgc2V0IHRvIA0KLSMgTk8gYSBidWxsZXQgbGlzdCB3aWxsIGJlIHVzZWQuDQotDQotSFRNTF9BTElHTl9NRU1CRVJTICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIEhUTUxfRFlOQU1JQ19TRUNUSU9OUyB0YWcgaXMgc2V0IHRvIFlFUyB0aGVuIHRoZSBnZW5lcmF0ZWQgSFRNTCANCi0jIGRvY3VtZW50YXRpb24gd2lsbCBjb250YWluIHNlY3Rpb25zIHRoYXQgY2FuIGJlIGhpZGRlbiBhbmQgc2hvd24gYWZ0ZXIgdGhlIA0KLSMgcGFnZSBoYXMgbG9hZGVkLiBGb3IgdGhpcyB0byB3b3JrIGEgYnJvd3NlciB0aGF0IHN1cHBvcnRzIA0KLSMgSmF2YVNjcmlwdCBhbmQgREhUTUwgaXMgcmVxdWlyZWQgKGZvciBpbnN0YW5jZSBNb3ppbGxhIDEuMCssIEZpcmVmb3ggDQotIyBOZXRzY2FwZSA2LjArLCBJbnRlcm5ldCBleHBsb3JlciA1LjArLCBLb25xdWVyb3IsIG9yIFNhZmFyaSkuDQotDQotSFRNTF9EWU5BTUlDX1NFQ1RJT05TICA9IE5PDQotDQotIyBJZiB0aGUgR0VORVJBVEVfRE9DU0VUIHRhZyBpcyBzZXQgdG8gWUVTLCBhZGRpdGlvbmFsIGluZGV4IGZpbGVzIA0KLSMgd2lsbCBiZSBnZW5lcmF0ZWQgdGhhdCBjYW4gYmUgdXNlZCBhcyBpbnB1dCBmb3IgQXBwbGUncyBYY29kZSAzIA0KLSMgaW50ZWdyYXRlZCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgaW50cm9kdWNlZCB3aXRoIE9TWCAxMC41IChMZW9wYXJkKS4gDQotIyBUbyBjcmVhdGUgYSBkb2N1bWVudGF0aW9uIHNldCwgZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgTWFrZWZpbGUgaW4gdGhlIA0KLSMgSFRNTCBvdXRwdXQgZGlyZWN0b3J5LiBSdW5uaW5nIG1ha2Ugd2lsbCBwcm9kdWNlIHRoZSBkb2NzZXQgaW4gdGhhdCANCi0jIGRpcmVjdG9yeSBhbmQgcnVubmluZyAibWFrZSBpbnN0YWxsIiB3aWxsIGluc3RhbGwgdGhlIGRvY3NldCBpbiANCi0jIH4vTGlicmFyeS9EZXZlbG9wZXIvU2hhcmVkL0RvY3VtZW50YXRpb24vRG9jU2V0cyBzbyB0aGF0IFhjb2RlIHdpbGwgZmluZCANCi0jIGl0IGF0IHN0YXJ0dXAuIA0KLSMgU2VlIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL3Rvb2xzL2NyZWF0aW5nZG9jc2V0c3dpdGhkb3h5Z2VuLmh0bWwgDQotIyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCi0NCi1HRU5FUkFURV9ET0NTRVQgICAgICAgID0gTk8NCi0NCi0jIFdoZW4gR0VORVJBVEVfRE9DU0VUIHRhZyBpcyBzZXQgdG8gWUVTLCB0aGlzIHRhZyBkZXRlcm1pbmVzIHRoZSBuYW1lIG9mIHRoZSANCi0jIGZlZWQuIEEgZG9jdW1lbnRhdGlvbiBmZWVkIHByb3ZpZGVzIGFuIHVtYnJlbGxhIHVuZGVyIHdoaWNoIG11bHRpcGxlIA0KLSMgZG9jdW1lbnRhdGlvbiBzZXRzIGZyb20gYSBzaW5nbGUgcHJvdmlkZXIgKHN1Y2ggYXMgYSBjb21wYW55IG9yIHByb2R1Y3Qgc3VpdGUpIA0KLSMgY2FuIGJlIGdyb3VwZWQuDQotDQotRE9DU0VUX0ZFRUROQU1FICAgICAgICA9ICJEb3h5Z2VuIGdlbmVyYXRlZCBkb2NzIg0KLQ0KLSMgV2hlbiBHRU5FUkFURV9ET0NTRVQgdGFnIGlzIHNldCB0byBZRVMsIHRoaXMgdGFnIHNwZWNpZmllcyBhIHN0cmluZyB0aGF0IA0KLSMgc2hvdWxkIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBkb2N1bWVudGF0aW9uIHNldCBidW5kbGUuIFRoaXMgc2hvdWxkIGJlIGEgDQotIyByZXZlcnNlIGRvbWFpbi1uYW1lIHN0eWxlIHN0cmluZywgZS5nLiBjb20ubXljb21wYW55Lk15RG9jU2V0LiBEb3h5Z2VuIA0KLSMgd2lsbCBhcHBlbmQgLmRvY3NldCB0byB0aGUgbmFtZS4NCi0NCi1ET0NTRVRfQlVORExFX0lEICAgICAgID0gb3JnLmRveHlnZW4uUHJvamVjdA0KLQ0KLSMgV2hlbiBHRU5FUkFURV9QVUJMSVNIRVJfSUQgdGFnIHNwZWNpZmllcyBhIHN0cmluZyB0aGF0IHNob3VsZCB1bmlxdWVseSBpZGVudGlmeSANCi0jIHRoZSBkb2N1bWVudGF0aW9uIHB1Ymxpc2hlci4gVGhpcyBzaG91bGQgYmUgYSByZXZlcnNlIGRvbWFpbi1uYW1lIHN0eWxlIA0KLSMgc3RyaW5nLCBlLmcuIGNvbS5teWNvbXBhbnkuTXlEb2NTZXQuZG9jdW1lbnRhdGlvbi4NCi0NCi1ET0NTRVRfUFVCTElTSEVSX0lEICAgID0gb3JnLmRveHlnZW4uUHVibGlzaGVyDQotDQotIyBUaGUgR0VORVJBVEVfUFVCTElTSEVSX05BTUUgdGFnIGlkZW50aWZpZXMgdGhlIGRvY3VtZW50YXRpb24gcHVibGlzaGVyLg0KLQ0KLURPQ1NFVF9QVUJMSVNIRVJfTkFNRSAgPSBQdWJsaXNoZXINCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgYWRkaXRpb25hbCBpbmRleCBmaWxlcyANCi0jIHdpbGwgYmUgZ2VuZXJhdGVkIHRoYXQgY2FuIGJlIHVzZWQgYXMgaW5wdXQgZm9yIHRvb2xzIGxpa2UgdGhlIA0KLSMgTWljcm9zb2Z0IEhUTUwgaGVscCB3b3Jrc2hvcCB0byBnZW5lcmF0ZSBhIGNvbXBpbGVkIEhUTUwgaGVscCBmaWxlICguY2htKSANCi0jIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTCBkb2N1bWVudGF0aW9uLg0KLQ0KLUdFTkVSQVRFX0hUTUxIRUxQICAgICAgPSBZRVMNCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIENITV9GSUxFIHRhZyBjYW4gDQotIyBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGZpbGUgbmFtZSBvZiB0aGUgcmVzdWx0aW5nIC5jaG0gZmlsZS4gWW91IA0KLSMgY2FuIGFkZCBhIHBhdGggaW4gZnJvbnQgb2YgdGhlIGZpbGUgaWYgdGhlIHJlc3VsdCBzaG91bGQgbm90IGJlIA0KLSMgd3JpdHRlbiB0byB0aGUgaHRtbCBvdXRwdXQgZGlyZWN0b3J5Lg0KLQ0KLUNITV9GSUxFICAgICAgICAgICAgICAgPSANCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIEhIQ19MT0NBVElPTiB0YWcgY2FuIA0KLSMgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiAoYWJzb2x1dGUgcGF0aCBpbmNsdWRpbmcgZmlsZSBuYW1lKSBvZiANCi0jIHRoZSBIVE1MIGhlbHAgY29tcGlsZXIgKGhoYy5leGUpLiBJZiBub24tZW1wdHkgZG94eWdlbiB3aWxsIHRyeSB0byBydW4gDQotIyB0aGUgSFRNTCBoZWxwIGNvbXBpbGVyIG9uIHRoZSBnZW5lcmF0ZWQgaW5kZXguaGhwLg0KLQ0KLUhIQ19MT0NBVElPTiAgICAgICAgICAgPSANCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIEdFTkVSQVRFX0NISSBmbGFnIA0KLSMgY29udHJvbHMgaWYgYSBzZXBhcmF0ZSAuY2hpIGluZGV4IGZpbGUgaXMgZ2VuZXJhdGVkIChZRVMpIG9yIHRoYXQgDQotIyBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIG1hc3RlciAuY2htIGZpbGUgKE5PKS4NCi0NCi1HRU5FUkFURV9DSEkgICAgICAgICAgID0gTk8NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIENITV9JTkRFWF9FTkNPRElORyANCi0jIGlzIHVzZWQgdG8gZW5jb2RlIEh0bWxIZWxwIGluZGV4IChoaGspLCBjb250ZW50IChoaGMpIGFuZCBwcm9qZWN0IGZpbGUgDQotIyBjb250ZW50Lg0KLQ0KLUNITV9JTkRFWF9FTkNPRElORyAgICAgPSANCi0NCi0jIElmIHRoZSBHRU5FUkFURV9IVE1MSEVMUCB0YWcgaXMgc2V0IHRvIFlFUywgdGhlIEJJTkFSWV9UT0MgZmxhZyANCi0jIGNvbnRyb2xzIHdoZXRoZXIgYSBiaW5hcnkgdGFibGUgb2YgY29udGVudHMgaXMgZ2VuZXJhdGVkIChZRVMpIG9yIGEgDQotIyBub3JtYWwgdGFibGUgb2YgY29udGVudHMgKE5PKSBpbiB0aGUgLmNobSBmaWxlLg0KLQ0KLUJJTkFSWV9UT0MgICAgICAgICAgICAgPSBOTw0KLQ0KLSMgVGhlIFRPQ19FWFBBTkQgZmxhZyBjYW4gYmUgc2V0IHRvIFlFUyB0byBhZGQgZXh0cmEgaXRlbXMgZm9yIGdyb3VwIG1lbWJlcnMgDQotIyB0byB0aGUgY29udGVudHMgb2YgdGhlIEhUTUwgaGVscCBkb2N1bWVudGF0aW9uIGFuZCB0byB0aGUgdHJlZSB2aWV3Lg0KLQ0KLVRPQ19FWFBBTkQgICAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEdFTkVSQVRFX1FIUCB0YWcgaXMgc2V0IHRvIFlFUyBhbmQgYm90aCBRSFBfTkFNRVNQQUNFIGFuZCANCi0jIFFIUF9WSVJUVUFMX0ZPTERFUiBhcmUgc2V0LCBhbiBhZGRpdGlvbmFsIGluZGV4IGZpbGUgd2lsbCBiZSBnZW5lcmF0ZWQgDQotIyB0aGF0IGNhbiBiZSB1c2VkIGFzIGlucHV0IGZvciBRdCdzIHFoZWxwZ2VuZXJhdG9yIHRvIGdlbmVyYXRlIGEgDQotIyBRdCBDb21wcmVzc2VkIEhlbHAgKC5xY2gpIG9mIHRoZSBnZW5lcmF0ZWQgSFRNTCBkb2N1bWVudGF0aW9uLg0KLQ0KLUdFTkVSQVRFX1FIUCAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIFFIR19MT0NBVElPTiB0YWcgaXMgc3BlY2lmaWVkLCB0aGUgUUNIX0ZJTEUgdGFnIGNhbiANCi0jIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgZmlsZSBuYW1lIG9mIHRoZSByZXN1bHRpbmcgLnFjaCBmaWxlLiANCi0jIFRoZSBwYXRoIHNwZWNpZmllZCBpcyByZWxhdGl2ZSB0byB0aGUgSFRNTCBvdXRwdXQgZm9sZGVyLg0KLQ0KLVFDSF9GSUxFICAgICAgICAgICAgICAgPSANCi0NCi0jIFRoZSBRSFBfTkFNRVNQQUNFIHRhZyBzcGVjaWZpZXMgdGhlIG5hbWVzcGFjZSB0byB1c2Ugd2hlbiBnZW5lcmF0aW5nIA0KLSMgUXQgSGVscCBQcm9qZWN0IG91dHB1dC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHNlZSANCi0jIGh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhlbHBwcm9qZWN0Lmh0bWwjbmFtZXNwYWNlDQotDQotUUhQX05BTUVTUEFDRSAgICAgICAgICA9IG9yZy5kb3h5Z2VuLlByb2plY3QNCi0NCi0jIFRoZSBRSFBfVklSVFVBTF9GT0xERVIgdGFnIHNwZWNpZmllcyB0aGUgbmFtZXNwYWNlIHRvIHVzZSB3aGVuIGdlbmVyYXRpbmcgDQotIyBRdCBIZWxwIFByb2plY3Qgb3V0cHV0LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBwbGVhc2Ugc2VlIA0KLSMgaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCN2aXJ0dWFsLWZvbGRlcnMNCi0NCi1RSFBfVklSVFVBTF9GT0xERVIgICAgID0gZG9jDQotDQotIyBJZiBRSFBfQ1VTVF9GSUxURVJfTkFNRSBpcyBzZXQsIGl0IHNwZWNpZmllcyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBmaWx0ZXIgdG8gDQotIyBhZGQuIEZvciBtb3JlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgDQotIyBodHRwOi8vZG9jLnRyb2xsdGVjaC5jb20vcXRoZWxwcHJvamVjdC5odG1sI2N1c3RvbS1maWx0ZXJzDQotDQotUUhQX0NVU1RfRklMVEVSX05BTUUgICA9IA0KLQ0KLSMgVGhlIFFIUF9DVVNUX0ZJTFRfQVRUUlMgdGFnIHNwZWNpZmllcyB0aGUgbGlzdCBvZiB0aGUgYXR0cmlidXRlcyBvZiB0aGUgDQotIyBjdXN0b20gZmlsdGVyIHRvIGFkZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHNlZSANCi0jIDxhIGhyZWY9Imh0dHA6Ly9kb2MudHJvbGx0ZWNoLmNvbS9xdGhlbHBwcm9qZWN0Lmh0bWwjY3VzdG9tLWZpbHRlcnMiPiANCi0jIFF0IEhlbHAgUHJvamVjdCAvIEN1c3RvbSBGaWx0ZXJzPC9hPi4NCi0NCi1RSFBfQ1VTVF9GSUxURVJfQVRUUlMgID0gDQotDQotIyBUaGUgUUhQX1NFQ1RfRklMVEVSX0FUVFJTIHRhZyBzcGVjaWZpZXMgdGhlIGxpc3Qgb2YgdGhlIGF0dHJpYnV0ZXMgdGhpcyANCi0jIHByb2plY3QncyANCi0jIGZpbHRlciBzZWN0aW9uIG1hdGNoZXMuIA0KLSMgPGEgaHJlZj0iaHR0cDovL2RvYy50cm9sbHRlY2guY29tL3F0aGVscHByb2plY3QuaHRtbCNmaWx0ZXItYXR0cmlidXRlcyI+IA0KLSMgUXQgSGVscCBQcm9qZWN0IC8gRmlsdGVyIEF0dHJpYnV0ZXM8L2E+Lg0KLQ0KLVFIUF9TRUNUX0ZJTFRFUl9BVFRSUyAgPSANCi0NCi0jIElmIHRoZSBHRU5FUkFURV9RSFAgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBRSEdfTE9DQVRJT04gdGFnIGNhbiANCi0jIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gb2YgUXQncyBxaGVscGdlbmVyYXRvci4gDQotIyBJZiBub24tZW1wdHkgZG94eWdlbiB3aWxsIHRyeSB0byBydW4gcWhlbHBnZW5lcmF0b3Igb24gdGhlIGdlbmVyYXRlZCANCi0jIC5xaHAgZmlsZS4NCi0NCi1RSEdfTE9DQVRJT04gICAgICAgICAgID0gDQotDQotIyBJZiB0aGUgR0VORVJBVEVfRUNMSVBTRUhFTFAgdGFnIGlzIHNldCB0byBZRVMsIGFkZGl0aW9uYWwgaW5kZXggZmlsZXMgIA0KLSMgd2lsbCBiZSBnZW5lcmF0ZWQsIHdoaWNoIHRvZ2V0aGVyIHdpdGggdGhlIEhUTUwgZmlsZXMsIGZvcm0gYW4gRWNsaXBzZSBoZWxwIA0KLSMgcGx1Z2luLiBUbyBpbnN0YWxsIHRoaXMgcGx1Z2luIGFuZCBtYWtlIGl0IGF2YWlsYWJsZSB1bmRlciB0aGUgaGVscCBjb250ZW50cyANCi0jIG1lbnUgaW4gRWNsaXBzZSwgdGhlIGNvbnRlbnRzIG9mIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgSFRNTCBhbmQgWE1MIA0KLSMgZmlsZXMgbmVlZHMgdG8gYmUgY29waWVkIGludG8gdGhlIHBsdWdpbnMgZGlyZWN0b3J5IG9mIGVjbGlwc2UuIFRoZSBuYW1lIG9mIA0KLSMgdGhlIGRpcmVjdG9yeSB3aXRoaW4gdGhlIHBsdWdpbnMgZGlyZWN0b3J5IHNob3VsZCBiZSB0aGUgc2FtZSBhcyANCi0jIHRoZSBFQ0xJUFNFX0RPQ19JRCB2YWx1ZS4gQWZ0ZXIgY29weWluZyBFY2xpcHNlIG5lZWRzIHRvIGJlIHJlc3RhcnRlZCBiZWZvcmUgDQotIyB0aGUgaGVscCBhcHBlYXJzLg0KLQ0KLUdFTkVSQVRFX0VDTElQU0VIRUxQICAgPSBOTw0KLQ0KLSMgQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVjbGlwc2UgaGVscCBwbHVnaW4uIFdoZW4gaW5zdGFsbGluZyB0aGUgcGx1Z2luIA0KLSMgdGhlIGRpcmVjdG9yeSBuYW1lIGNvbnRhaW5pbmcgdGhlIEhUTUwgYW5kIFhNTCBmaWxlcyBzaG91bGQgYWxzbyBoYXZlIA0KLSMgdGhpcyBuYW1lLg0KLQ0KLUVDTElQU0VfRE9DX0lEICAgICAgICAgPSBvcmcuZG94eWdlbi5Qcm9qZWN0DQotDQotIyBUaGUgRElTQUJMRV9JTkRFWCB0YWcgY2FuIGJlIHVzZWQgdG8gdHVybiBvbi9vZmYgdGhlIGNvbmRlbnNlZCBpbmRleCBhdCANCi0jIHRvcCBvZiBlYWNoIEhUTUwgcGFnZS4gVGhlIHZhbHVlIE5PICh0aGUgZGVmYXVsdCkgZW5hYmxlcyB0aGUgaW5kZXggYW5kIA0KLSMgdGhlIHZhbHVlIFlFUyBkaXNhYmxlcyBpdC4NCi0NCi1ESVNBQkxFX0lOREVYICAgICAgICAgID0gTk8NCi0NCi0jIFRoaXMgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbnVtYmVyIG9mIGVudW0gdmFsdWVzIChyYW5nZSBbMCwxLi4yMF0pIA0KLSMgdGhhdCBkb3h5Z2VuIHdpbGwgZ3JvdXAgb24gb25lIGxpbmUgaW4gdGhlIGdlbmVyYXRlZCBIVE1MIGRvY3VtZW50YXRpb24uIA0KLSMgTm90ZSB0aGF0IGEgdmFsdWUgb2YgMCB3aWxsIGNvbXBsZXRlbHkgc3VwcHJlc3MgdGhlIGVudW0gdmFsdWVzIGZyb20NCi0jIGFwcGVhcmluZyBpbiB0aGUgb3ZlcnZpZXcgc2VjdGlvbi4NCi0NCi1FTlVNX1ZBTFVFU19QRVJfTElORSAgID0gNA0KLQ0KLSMgVGhlIEdFTkVSQVRFX1RSRUVWSUVXIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hldGhlciBhIHRyZWUtbGlrZSBpbmRleCANCi0jIHN0cnVjdHVyZSBzaG91bGQgYmUgZ2VuZXJhdGVkIHRvIGRpc3BsYXkgaGllcmFyY2hpY2FsIGluZm9ybWF0aW9uLiANCi0jIElmIHRoZSB0YWcgdmFsdWUgaXMgc2V0IHRvIFlFUywgYSBzaWRlIHBhbmVsIHdpbGwgYmUgZ2VuZXJhdGVkIA0KLSMgY29udGFpbmluZyBhIHRyZWUtbGlrZSBpbmRleCBzdHJ1Y3R1cmUgKGp1c3QgbGlrZSB0aGUgb25lIHRoYXQgDQotIyBpcyBnZW5lcmF0ZWQgZm9yIEhUTUwgSGVscCkuIEZvciB0aGlzIHRvIHdvcmsgYSBicm93c2VyIHRoYXQgc3VwcG9ydHMgDQotIyBKYXZhU2NyaXB0LCBESFRNTCwgQ1NTIGFuZCBmcmFtZXMgaXMgcmVxdWlyZWQgKGkuZS4gYW55IG1vZGVybiBicm93c2VyKS4gDQotIyBXaW5kb3dzIHVzZXJzIGFyZSBwcm9iYWJseSBiZXR0ZXIgb2ZmIHVzaW5nIHRoZSBIVE1MIGhlbHAgZmVhdHVyZS4NCi0NCi1HRU5FUkFURV9UUkVFVklFVyAgICAgID0gWUVTDQotDQotIyBCeSBlbmFibGluZyBVU0VfSU5MSU5FX1RSRUVTLCBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgdGhlIEdyb3VwcywgRGlyZWN0b3JpZXMsIA0KLSMgYW5kIENsYXNzIEhpZXJhcmNoeSBwYWdlcyB1c2luZyBhIHRyZWUgdmlldyBpbnN0ZWFkIG9mIGFuIG9yZGVyZWQgbGlzdC4NCi0NCi1VU0VfSU5MSU5FX1RSRUVTICAgICAgID0gTk8NCi0NCi0jIElmIHRoZSB0cmVldmlldyBpcyBlbmFibGVkIChzZWUgR0VORVJBVEVfVFJFRVZJRVcpIHRoZW4gdGhpcyB0YWcgY2FuIGJlIA0KLSMgdXNlZCB0byBzZXQgdGhlIGluaXRpYWwgd2lkdGggKGluIHBpeGVscykgb2YgdGhlIGZyYW1lIGluIHdoaWNoIHRoZSB0cmVlIA0KLSMgaXMgc2hvd24uDQotDQotVFJFRVZJRVdfV0lEVEggICAgICAgICA9IDI1MA0KLQ0KLSMgV2hlbiB0aGUgRVhUX0xJTktTX0lOX1dJTkRPVyBvcHRpb24gaXMgc2V0IHRvIFlFUyBkb3h5Z2VuIHdpbGwgb3BlbiANCi0jIGxpbmtzIHRvIGV4dGVybmFsIHN5bWJvbHMgaW1wb3J0ZWQgdmlhIHRhZyBmaWxlcyBpbiBhIHNlcGFyYXRlIHdpbmRvdy4NCi0NCi1FWFRfTElOS1NfSU5fV0lORE9XICAgID0gTk8NCi0NCi0jIFVzZSB0aGlzIHRhZyB0byBjaGFuZ2UgdGhlIGZvbnQgc2l6ZSBvZiBMYXRleCBmb3JtdWxhcyBpbmNsdWRlZCANCi0jIGFzIGltYWdlcyBpbiB0aGUgSFRNTCBkb2N1bWVudGF0aW9uLiBUaGUgZGVmYXVsdCBpcyAxMC4gTm90ZSB0aGF0IA0KLSMgd2hlbiB5b3UgY2hhbmdlIHRoZSBmb250IHNpemUgYWZ0ZXIgYSBzdWNjZXNzZnVsIGRveHlnZW4gcnVuIHlvdSBuZWVkIA0KLSMgdG8gbWFudWFsbHkgcmVtb3ZlIGFueSBmb3JtXyoucG5nIGltYWdlcyBmcm9tIHRoZSBIVE1MIG91dHB1dCBkaXJlY3RvcnkgDQotIyB0byBmb3JjZSB0aGVtIHRvIGJlIHJlZ2VuZXJhdGVkLg0KLQ0KLUZPUk1VTEFfRk9OVFNJWkUgICAgICAgPSAxMA0KLQ0KLSMgVXNlIHRoZSBGT1JNVUxBX1RSQU5QQVJFTlQgdGFnIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgaW1hZ2VzIA0KLSMgZ2VuZXJhdGVkIGZvciBmb3JtdWxhcyBhcmUgdHJhbnNwYXJlbnQgUE5Hcy4gVHJhbnNwYXJlbnQgUE5HcyBhcmUgDQotIyBub3Qgc3VwcG9ydGVkIHByb3Blcmx5IGZvciBJRSA2LjAsIGJ1dCBhcmUgc3VwcG9ydGVkIG9uIGFsbCBtb2Rlcm4gYnJvd3NlcnMuIA0KLSMgTm90ZSB0aGF0IHdoZW4gY2hhbmdpbmcgdGhpcyBvcHRpb24geW91IG5lZWQgdG8gZGVsZXRlIGFueSBmb3JtXyoucG5nIGZpbGVzIA0KLSMgaW4gdGhlIEhUTUwgb3V0cHV0IGJlZm9yZSB0aGUgY2hhbmdlcyBoYXZlIGVmZmVjdC4NCi0NCi1GT1JNVUxBX1RSQU5TUEFSRU5UICAgID0gWUVTDQotDQotIyBFbmFibGUgdGhlIFVTRV9NQVRISkFYIG9wdGlvbiB0byByZW5kZXIgTGFUZVggZm9ybXVsYXMgdXNpbmcgTWF0aEpheCANCi0jIChzZWUgaHR0cDovL3d3dy5tYXRoamF4Lm9yZykgd2hpY2ggdXNlcyBjbGllbnQgc2lkZSBKYXZhc2NyaXB0IGZvciB0aGUgDQotIyByZW5kZXJpbmcgaW5zdGVhZCBvZiB1c2luZyBwcmVyZW5kZXJlZCBiaXRtYXBzLiBVc2UgdGhpcyBpZiB5b3UgZG8gbm90IA0KLSMgaGF2ZSBMYVRlWCBpbnN0YWxsZWQgb3IgaWYgeW91IHdhbnQgdG8gZm9ybXVsYXMgbG9vayBwcmV0dGllciBpbiB0aGUgSFRNTCANCi0jIG91dHB1dC4gV2hlbiBlbmFibGVkIHlvdSBhbHNvIG5lZWQgdG8gaW5zdGFsbCBNYXRoSmF4IHNlcGFyYXRlbHkgYW5kIA0KLSMgY29uZmlndXJlIHRoZSBwYXRoIHRvIGl0IHVzaW5nIHRoZSBNQVRISkFYX1JFTFBBVEggb3B0aW9uLg0KLQ0KLVVTRV9NQVRISkFYICAgICAgICAgICAgPSBOTw0KLQ0KLSMgV2hlbiBNYXRoSmF4IGlzIGVuYWJsZWQgeW91IG5lZWQgdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24gcmVsYXRpdmUgdG8gdGhlIA0KLSMgSFRNTCBvdXRwdXQgZGlyZWN0b3J5IHVzaW5nIHRoZSBNQVRISkFYX1JFTFBBVEggb3B0aW9uLiBUaGUgZGVzdGluYXRpb24gDQotIyBkaXJlY3Rvcnkgc2hvdWxkIGNvbnRhaW4gdGhlIE1hdGhKYXguanMgc2NyaXB0LiBGb3IgaW5zdGFuY2UsIGlmIHRoZSBtYXRoamF4IA0KLSMgZGlyZWN0b3J5IGlzIGxvY2F0ZWQgYXQgdGhlIHNhbWUgbGV2ZWwgYXMgdGhlIEhUTUwgb3V0cHV0IGRpcmVjdG9yeSwgdGhlbiANCi0jIE1BVEhKQVhfUkVMUEFUSCBzaG91bGQgYmUgLi4vbWF0aGpheC4gVGhlIGRlZmF1bHQgdmFsdWUgcG9pbnRzIHRvIHRoZQ0KLSMgbWF0aGpheC5vcmcgc2l0ZSwgc28geW91IGNhbiBxdWlja2x5IHNlZSB0aGUgcmVzdWx0IHdpdGhvdXQgaW5zdGFsbGluZyANCi0jIE1hdGhKYXgsIGJ1dCBpdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byBpbnN0YWxsIGEgbG9jYWwgY29weSBvZiBNYXRoSmF4IA0KLSMgYmVmb3JlIGRlcGxveW1lbnQuDQotDQotTUFUSEpBWF9SRUxQQVRIICAgICAgICA9IGh0dHA6Ly93d3cubWF0aGpheC5vcmcvbWF0aGpheA0KLQ0KLSMgV2hlbiB0aGUgU0VBUkNIRU5HSU5FIHRhZyBpcyBlbmFibGVkIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhIHNlYXJjaCBib3ggDQotIyBmb3IgdGhlIEhUTUwgb3V0cHV0LiBUaGUgdW5kZXJseWluZyBzZWFyY2ggZW5naW5lIHVzZXMgamF2YXNjcmlwdCANCi0jIGFuZCBESFRNTCBhbmQgc2hvdWxkIHdvcmsgb24gYW55IG1vZGVybiBicm93c2VyLiBOb3RlIHRoYXQgd2hlbiB1c2luZyANCi0jIEhUTUwgaGVscCAoR0VORVJBVEVfSFRNTEhFTFApLCBRdCBoZWxwIChHRU5FUkFURV9RSFApLCBvciBkb2NzZXRzIA0KLSMgKEdFTkVSQVRFX0RPQ1NFVCkgdGhlcmUgaXMgYWxyZWFkeSBhIHNlYXJjaCBmdW5jdGlvbiBzbyB0aGlzIG9uZSBzaG91bGQgDQotIyB0eXBpY2FsbHkgYmUgZGlzYWJsZWQuIEZvciBsYXJnZSBwcm9qZWN0cyB0aGUgamF2YXNjcmlwdCBiYXNlZCBzZWFyY2ggZW5naW5lIA0KLSMgY2FuIGJlIHNsb3csIHRoZW4gZW5hYmxpbmcgU0VSVkVSX0JBU0VEX1NFQVJDSCBtYXkgcHJvdmlkZSBhIGJldHRlciBzb2x1dGlvbi4NCi0NCi1TRUFSQ0hFTkdJTkUgICAgICAgICAgID0gWUVTDQotDQotIyBXaGVuIHRoZSBTRVJWRVJfQkFTRURfU0VBUkNIIHRhZyBpcyBlbmFibGVkIHRoZSBzZWFyY2ggZW5naW5lIHdpbGwgYmUgDQotIyBpbXBsZW1lbnRlZCB1c2luZyBhIFBIUCBlbmFibGVkIHdlYiBzZXJ2ZXIgaW5zdGVhZCBvZiBhdCB0aGUgd2ViIGNsaWVudCANCi0jIHVzaW5nIEphdmFzY3JpcHQuIERveHlnZW4gd2lsbCBnZW5lcmF0ZSB0aGUgc2VhcmNoIFBIUCBzY3JpcHQgYW5kIGluZGV4IA0KLSMgZmlsZSB0byBwdXQgb24gdGhlIHdlYiBzZXJ2ZXIuIFRoZSBhZHZhbnRhZ2Ugb2YgdGhlIHNlcnZlciANCi0jIGJhc2VkIGFwcHJvYWNoIGlzIHRoYXQgaXQgc2NhbGVzIGJldHRlciB0byBsYXJnZSBwcm9qZWN0cyBhbmQgYWxsb3dzIA0KLSMgZnVsbCB0ZXh0IHNlYXJjaC4gVGhlIGRpc2FkdmFudGFnZXMgYXJlIHRoYXQgaXQgaXMgbW9yZSBkaWZmaWN1bHQgdG8gc2V0dXAgDQotIyBhbmQgZG9lcyBub3QgaGF2ZSBsaXZlIHNlYXJjaGluZyBjYXBhYmlsaXRpZXMuDQotDQotU0VSVkVSX0JBU0VEX1NFQVJDSCAgICA9IE5PDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIExhVGVYIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9MQVRFWCB0YWcgaXMgc2V0IHRvIFlFUyAodGhlIGRlZmF1bHQpIERveHlnZW4gd2lsbCANCi0jIGdlbmVyYXRlIExhdGV4IG91dHB1dC4NCi0NCi1HRU5FUkFURV9MQVRFWCAgICAgICAgID0gTk8NCi0NCi0jIFRoZSBMQVRFWF9PVVRQVVQgdGFnIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGVyZSB0aGUgTGFUZVggZG9jcyB3aWxsIGJlIHB1dC4gDQotIyBJZiBhIHJlbGF0aXZlIHBhdGggaXMgZW50ZXJlZCB0aGUgdmFsdWUgb2YgT1VUUFVUX0RJUkVDVE9SWSB3aWxsIGJlIA0KLSMgcHV0IGluIGZyb250IG9mIGl0LiBJZiBsZWZ0IGJsYW5rIGBsYXRleCcgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguDQotDQotTEFURVhfT1VUUFVUICAgICAgICAgICA9IGxhdGV4DQotDQotIyBUaGUgTEFURVhfQ01EX05BTUUgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIExhVGVYIGNvbW1hbmQgbmFtZSB0byBiZSANCi0jIGludm9rZWQuIElmIGxlZnQgYmxhbmsgYGxhdGV4JyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgY29tbWFuZCBuYW1lLiANCi0jIE5vdGUgdGhhdCB3aGVuIGVuYWJsaW5nIFVTRV9QREZMQVRFWCB0aGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgZm9yIA0KLSMgZ2VuZXJhdGluZyBiaXRtYXBzIGZvciBmb3JtdWxhcyBpbiB0aGUgSFRNTCBvdXRwdXQsIGJ1dCBub3QgaW4gdGhlIA0KLSMgTWFrZWZpbGUgdGhhdCBpcyB3cml0dGVuIHRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5Lg0KLQ0KLUxBVEVYX0NNRF9OQU1FICAgICAgICAgPSBsYXRleA0KLQ0KLSMgVGhlIE1BS0VJTkRFWF9DTURfTkFNRSB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgY29tbWFuZCBuYW1lIHRvIA0KLSMgZ2VuZXJhdGUgaW5kZXggZm9yIExhVGVYLiBJZiBsZWZ0IGJsYW5rIGBtYWtlaW5kZXgnIHdpbGwgYmUgdXNlZCBhcyB0aGUgDQotIyBkZWZhdWx0IGNvbW1hbmQgbmFtZS4NCi0NCi1NQUtFSU5ERVhfQ01EX05BTUUgICAgID0gbWFrZWluZGV4DQotDQotIyBJZiB0aGUgQ09NUEFDVF9MQVRFWCB0YWcgaXMgc2V0IHRvIFlFUyBEb3h5Z2VuIGdlbmVyYXRlcyBtb3JlIGNvbXBhY3QgDQotIyBMYVRlWCBkb2N1bWVudHMuIFRoaXMgbWF5IGJlIHVzZWZ1bCBmb3Igc21hbGwgcHJvamVjdHMgYW5kIG1heSBoZWxwIHRvIA0KLSMgc2F2ZSBzb21lIHRyZWVzIGluIGdlbmVyYWwuDQotDQotQ09NUEFDVF9MQVRFWCAgICAgICAgICA9IE5PDQotDQotIyBUaGUgUEFQRVJfVFlQRSB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBwYXBlciB0eXBlIHRoYXQgaXMgdXNlZCANCi0jIGJ5IHRoZSBwcmludGVyLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBhNCwgbGV0dGVyLCBsZWdhbCBhbmQgDQotIyBleGVjdXRpdmUuIElmIGxlZnQgYmxhbmsgYTR3aWRlIHdpbGwgYmUgdXNlZC4NCi0NCi1QQVBFUl9UWVBFICAgICAgICAgICAgID0gYTR3aWRlDQotDQotIyBUaGUgRVhUUkFfUEFDS0FHRVMgdGFnIGNhbiBiZSB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIG5hbWVzIG9mIExhVGVYIA0KLSMgcGFja2FnZXMgdGhhdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIExhVGVYIG91dHB1dC4NCi0NCi1FWFRSQV9QQUNLQUdFUyAgICAgICAgID0gDQotDQotIyBUaGUgTEFURVhfSEVBREVSIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGEgcGVyc29uYWwgTGFUZVggaGVhZGVyIGZvciANCi0jIHRoZSBnZW5lcmF0ZWQgbGF0ZXggZG9jdW1lbnQuIFRoZSBoZWFkZXIgc2hvdWxkIGNvbnRhaW4gZXZlcnl0aGluZyB1bnRpbCANCi0jIHRoZSBmaXJzdCBjaGFwdGVyLiBJZiBpdCBpcyBsZWZ0IGJsYW5rIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhIA0KLSMgc3RhbmRhcmQgaGVhZGVyLiBOb3RpY2U6IG9ubHkgdXNlIHRoaXMgdGFnIGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyENCi0NCi1MQVRFWF9IRUFERVIgICAgICAgICAgID0gDQotDQotIyBJZiB0aGUgUERGX0hZUEVSTElOS1MgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBMYVRlWCB0aGF0IGlzIGdlbmVyYXRlZCANCi0jIGlzIHByZXBhcmVkIGZvciBjb252ZXJzaW9uIHRvIHBkZiAodXNpbmcgcHMycGRmKS4gVGhlIHBkZiBmaWxlIHdpbGwgDQotIyBjb250YWluIGxpbmtzIChqdXN0IGxpa2UgdGhlIEhUTUwgb3V0cHV0KSBpbnN0ZWFkIG9mIHBhZ2UgcmVmZXJlbmNlcyANCi0jIFRoaXMgbWFrZXMgdGhlIG91dHB1dCBzdWl0YWJsZSBmb3Igb25saW5lIGJyb3dzaW5nIHVzaW5nIGEgcGRmIHZpZXdlci4NCi0NCi1QREZfSFlQRVJMSU5LUyAgICAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgVVNFX1BERkxBVEVYIHRhZyBpcyBzZXQgdG8gWUVTLCBwZGZsYXRleCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiANCi0jIHBsYWluIGxhdGV4IGluIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuIFNldCB0aGlzIG9wdGlvbiB0byBZRVMgdG8gZ2V0IGEgDQotIyBoaWdoZXIgcXVhbGl0eSBQREYgZG9jdW1lbnRhdGlvbi4NCi0NCi1VU0VfUERGTEFURVggICAgICAgICAgID0gWUVTDQotDQotIyBJZiB0aGUgTEFURVhfQkFUQ0hNT0RFIHRhZyBpcyBzZXQgdG8gWUVTLCBkb3h5Z2VuIHdpbGwgYWRkIHRoZSBcXGJhdGNobW9kZS4gDQotIyBjb21tYW5kIHRvIHRoZSBnZW5lcmF0ZWQgTGFUZVggZmlsZXMuIFRoaXMgd2lsbCBpbnN0cnVjdCBMYVRlWCB0byBrZWVwIA0KLSMgcnVubmluZyBpZiBlcnJvcnMgb2NjdXIsIGluc3RlYWQgb2YgYXNraW5nIHRoZSB1c2VyIGZvciBoZWxwLiANCi0jIFRoaXMgb3B0aW9uIGlzIGFsc28gdXNlZCB3aGVuIGdlbmVyYXRpbmcgZm9ybXVsYXMgaW4gSFRNTC4NCi0NCi1MQVRFWF9CQVRDSE1PREUgICAgICAgID0gTk8NCi0NCi0jIElmIExBVEVYX0hJREVfSU5ESUNFUyBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIG5vdCANCi0jIGluY2x1ZGUgdGhlIGluZGV4IGNoYXB0ZXJzIChzdWNoIGFzIEZpbGUgSW5kZXgsIENvbXBvdW5kIEluZGV4LCBldGMuKSANCi0jIGluIHRoZSBvdXRwdXQuDQotDQotTEFURVhfSElERV9JTkRJQ0VTICAgICA9IE5PDQotDQotIyBJZiBMQVRFWF9TT1VSQ0VfQ09ERSBpcyBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIGluY2x1ZGUgDQotIyBzb3VyY2UgY29kZSB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmcgaW4gdGhlIExhVGVYIG91dHB1dC4gDQotIyBOb3RlIHRoYXQgd2hpY2ggc291cmNlcyBhcmUgc2hvd24gYWxzbyBkZXBlbmRzIG9uIG90aGVyIHNldHRpbmdzIA0KLSMgc3VjaCBhcyBTT1VSQ0VfQlJPV1NFUi4NCi0NCi1MQVRFWF9TT1VSQ0VfQ09ERSAgICAgID0gTk8NCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgUlRGIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9SVEYgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIGdlbmVyYXRlIFJURiBvdXRwdXQgDQotIyBUaGUgUlRGIG91dHB1dCBpcyBvcHRpbWl6ZWQgZm9yIFdvcmQgOTcgYW5kIG1heSBub3QgbG9vayB2ZXJ5IHByZXR0eSB3aXRoIA0KLSMgb3RoZXIgUlRGIHJlYWRlcnMgb3IgZWRpdG9ycy4NCi0NCi1HRU5FUkFURV9SVEYgICAgICAgICAgID0gTk8NCi0NCi0jIFRoZSBSVEZfT1VUUFVUIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hlcmUgdGhlIFJURiBkb2NzIHdpbGwgYmUgcHV0LiANCi0jIElmIGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVkIHRoZSB2YWx1ZSBvZiBPVVRQVVRfRElSRUNUT1JZIHdpbGwgYmUgDQotIyBwdXQgaW4gZnJvbnQgb2YgaXQuIElmIGxlZnQgYmxhbmsgYHJ0Zicgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguDQotDQotUlRGX09VVFBVVCAgICAgICAgICAgICA9IHJ0Zg0KLQ0KLSMgSWYgdGhlIENPTVBBQ1RfUlRGIHRhZyBpcyBzZXQgdG8gWUVTIERveHlnZW4gZ2VuZXJhdGVzIG1vcmUgY29tcGFjdCANCi0jIFJURiBkb2N1bWVudHMuIFRoaXMgbWF5IGJlIHVzZWZ1bCBmb3Igc21hbGwgcHJvamVjdHMgYW5kIG1heSBoZWxwIHRvIA0KLSMgc2F2ZSBzb21lIHRyZWVzIGluIGdlbmVyYWwuDQotDQotQ09NUEFDVF9SVEYgICAgICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgUlRGX0hZUEVSTElOS1MgdGFnIGlzIHNldCB0byBZRVMsIHRoZSBSVEYgdGhhdCBpcyBnZW5lcmF0ZWQgDQotIyB3aWxsIGNvbnRhaW4gaHlwZXJsaW5rIGZpZWxkcy4gVGhlIFJURiBmaWxlIHdpbGwgDQotIyBjb250YWluIGxpbmtzIChqdXN0IGxpa2UgdGhlIEhUTUwgb3V0cHV0KSBpbnN0ZWFkIG9mIHBhZ2UgcmVmZXJlbmNlcy4gDQotIyBUaGlzIG1ha2VzIHRoZSBvdXRwdXQgc3VpdGFibGUgZm9yIG9ubGluZSBicm93c2luZyB1c2luZyBXT1JEIG9yIG90aGVyIA0KLSMgcHJvZ3JhbXMgd2hpY2ggc3VwcG9ydCB0aG9zZSBmaWVsZHMuIA0KLSMgTm90ZTogd29yZHBhZCAod3JpdGUpIGFuZCBvdGhlcnMgZG8gbm90IHN1cHBvcnQgbGlua3MuDQotDQotUlRGX0hZUEVSTElOS1MgICAgICAgICA9IE5PDQotDQotIyBMb2FkIHN0eWxlc2hlZXQgZGVmaW5pdGlvbnMgZnJvbSBmaWxlLiBTeW50YXggaXMgc2ltaWxhciB0byBkb3h5Z2VuJ3MgDQotIyBjb25maWcgZmlsZSwgaS5lLiBhIHNlcmllcyBvZiBhc3NpZ25tZW50cy4gWW91IG9ubHkgaGF2ZSB0byBwcm92aWRlIA0KLSMgcmVwbGFjZW1lbnRzLCBtaXNzaW5nIGRlZmluaXRpb25zIGFyZSBzZXQgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZS4NCi0NCi1SVEZfU1RZTEVTSEVFVF9GSUxFICAgID0gDQotDQotIyBTZXQgb3B0aW9uYWwgdmFyaWFibGVzIHVzZWQgaW4gdGhlIGdlbmVyYXRpb24gb2YgYW4gcnRmIGRvY3VtZW50LiANCi0jIFN5bnRheCBpcyBzaW1pbGFyIHRvIGRveHlnZW4ncyBjb25maWcgZmlsZS4NCi0NCi1SVEZfRVhURU5TSU9OU19GSUxFICAgID0gDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIG1hbiBwYWdlIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9NQU4gdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSBEb3h5Z2VuIHdpbGwgDQotIyBnZW5lcmF0ZSBtYW4gcGFnZXMNCi0NCi1HRU5FUkFURV9NQU4gICAgICAgICAgID0gTk8NCi0NCi0jIFRoZSBNQU5fT1VUUFVUIHRhZyBpcyB1c2VkIHRvIHNwZWNpZnkgd2hlcmUgdGhlIG1hbiBwYWdlcyB3aWxsIGJlIHB1dC4gDQotIyBJZiBhIHJlbGF0aXZlIHBhdGggaXMgZW50ZXJlZCB0aGUgdmFsdWUgb2YgT1VUUFVUX0RJUkVDVE9SWSB3aWxsIGJlIA0KLSMgcHV0IGluIGZyb250IG9mIGl0LiBJZiBsZWZ0IGJsYW5rIGBtYW4nIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBwYXRoLg0KLQ0KLU1BTl9PVVRQVVQgICAgICAgICAgICAgPSBtYW4NCi0NCi0jIFRoZSBNQU5fRVhURU5TSU9OIHRhZyBkZXRlcm1pbmVzIHRoZSBleHRlbnNpb24gdGhhdCBpcyBhZGRlZCB0byANCi0jIHRoZSBnZW5lcmF0ZWQgbWFuIHBhZ2VzIChkZWZhdWx0IGlzIHRoZSBzdWJyb3V0aW5lJ3Mgc2VjdGlvbiAuMykNCi0NCi1NQU5fRVhURU5TSU9OICAgICAgICAgID0gLjMNCi0NCi0jIElmIHRoZSBNQU5fTElOS1MgdGFnIGlzIHNldCB0byBZRVMgYW5kIERveHlnZW4gZ2VuZXJhdGVzIG1hbiBvdXRwdXQsIA0KLSMgdGhlbiBpdCB3aWxsIGdlbmVyYXRlIG9uZSBhZGRpdGlvbmFsIG1hbiBmaWxlIGZvciBlYWNoIGVudGl0eSANCi0jIGRvY3VtZW50ZWQgaW4gdGhlIHJlYWwgbWFuIHBhZ2UocykuIFRoZXNlIGFkZGl0aW9uYWwgZmlsZXMgDQotIyBvbmx5IHNvdXJjZSB0aGUgcmVhbCBtYW4gcGFnZSwgYnV0IHdpdGhvdXQgdGhlbSB0aGUgbWFuIGNvbW1hbmQgDQotIyB3b3VsZCBiZSB1bmFibGUgdG8gZmluZCB0aGUgY29ycmVjdCBwYWdlLiBUaGUgZGVmYXVsdCBpcyBOTy4NCi0NCi1NQU5fTElOS1MgICAgICAgICAgICAgID0gTk8NCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBjb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgWE1MIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9YTUwgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIA0KLSMgZ2VuZXJhdGUgYW4gWE1MIGZpbGUgdGhhdCBjYXB0dXJlcyB0aGUgc3RydWN0dXJlIG9mIA0KLSMgdGhlIGNvZGUgaW5jbHVkaW5nIGFsbCBkb2N1bWVudGF0aW9uLg0KLQ0KLUdFTkVSQVRFX1hNTCAgICAgICAgICAgPSBOTw0KLQ0KLSMgVGhlIFhNTF9PVVRQVVQgdGFnIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGVyZSB0aGUgWE1MIHBhZ2VzIHdpbGwgYmUgcHV0LiANCi0jIElmIGEgcmVsYXRpdmUgcGF0aCBpcyBlbnRlcmVkIHRoZSB2YWx1ZSBvZiBPVVRQVVRfRElSRUNUT1JZIHdpbGwgYmUgDQotIyBwdXQgaW4gZnJvbnQgb2YgaXQuIElmIGxlZnQgYmxhbmsgYHhtbCcgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHBhdGguDQotDQotWE1MX09VVFBVVCAgICAgICAgICAgICA9IHhtbA0KLQ0KLSMgVGhlIFhNTF9TQ0hFTUEgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYW4gWE1MIHNjaGVtYSwgDQotIyB3aGljaCBjYW4gYmUgdXNlZCBieSBhIHZhbGlkYXRpbmcgWE1MIHBhcnNlciB0byBjaGVjayB0aGUgDQotIyBzeW50YXggb2YgdGhlIFhNTCBmaWxlcy4NCi0NCi1YTUxfU0NIRU1BICAgICAgICAgICAgID0gDQotDQotIyBUaGUgWE1MX0RURCB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhbiBYTUwgRFRELCANCi0jIHdoaWNoIGNhbiBiZSB1c2VkIGJ5IGEgdmFsaWRhdGluZyBYTUwgcGFyc2VyIHRvIGNoZWNrIHRoZSANCi0jIHN5bnRheCBvZiB0aGUgWE1MIGZpbGVzLg0KLQ0KLVhNTF9EVEQgICAgICAgICAgICAgICAgPSANCi0NCi0jIElmIHRoZSBYTUxfUFJPR1JBTUxJU1RJTkcgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIA0KLSMgZHVtcCB0aGUgcHJvZ3JhbSBsaXN0aW5ncyAoaW5jbHVkaW5nIHN5bnRheCBoaWdobGlnaHRpbmcgDQotIyBhbmQgY3Jvc3MtcmVmZXJlbmNpbmcgaW5mb3JtYXRpb24pIHRvIHRoZSBYTUwgb3V0cHV0LiBOb3RlIHRoYXQgDQotIyBlbmFibGluZyB0aGlzIHdpbGwgc2lnbmlmaWNhbnRseSBpbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgWE1MIG91dHB1dC4NCi0NCi1YTUxfUFJPR1JBTUxJU1RJTkcgICAgID0gWUVTDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXV0b0dlbiBEZWZpbml0aW9ucyBvdXRwdXQNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBJZiB0aGUgR0VORVJBVEVfQVVUT0dFTl9ERUYgdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIA0KLSMgZ2VuZXJhdGUgYW4gQXV0b0dlbiBEZWZpbml0aW9ucyAoc2VlIGF1dG9nZW4uc2YubmV0KSBmaWxlIA0KLSMgdGhhdCBjYXB0dXJlcyB0aGUgc3RydWN0dXJlIG9mIHRoZSBjb2RlIGluY2x1ZGluZyBhbGwgDQotIyBkb2N1bWVudGF0aW9uLiBOb3RlIHRoYXQgdGhpcyBmZWF0dXJlIGlzIHN0aWxsIGV4cGVyaW1lbnRhbCANCi0jIGFuZCBpbmNvbXBsZXRlIGF0IHRoZSBtb21lbnQuDQotDQotR0VORVJBVEVfQVVUT0dFTl9ERUYgICA9IE5PDQotDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLSMgY29uZmlndXJhdGlvbiBvcHRpb25zIHJlbGF0ZWQgdG8gdGhlIFBlcmwgbW9kdWxlIG91dHB1dA0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi0jIElmIHRoZSBHRU5FUkFURV9QRVJMTU9EIHRhZyBpcyBzZXQgdG8gWUVTIERveHlnZW4gd2lsbCANCi0jIGdlbmVyYXRlIGEgUGVybCBtb2R1bGUgZmlsZSB0aGF0IGNhcHR1cmVzIHRoZSBzdHJ1Y3R1cmUgb2YgDQotIyB0aGUgY29kZSBpbmNsdWRpbmcgYWxsIGRvY3VtZW50YXRpb24uIE5vdGUgdGhhdCB0aGlzIA0KLSMgZmVhdHVyZSBpcyBzdGlsbCBleHBlcmltZW50YWwgYW5kIGluY29tcGxldGUgYXQgdGhlIA0KLSMgbW9tZW50Lg0KLQ0KLUdFTkVSQVRFX1BFUkxNT0QgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIFBFUkxNT0RfTEFURVggdGFnIGlzIHNldCB0byBZRVMgRG94eWdlbiB3aWxsIGdlbmVyYXRlIA0KLSMgdGhlIG5lY2Vzc2FyeSBNYWtlZmlsZSBydWxlcywgUGVybCBzY3JpcHRzIGFuZCBMYVRlWCBjb2RlIHRvIGJlIGFibGUgDQotIyB0byBnZW5lcmF0ZSBQREYgYW5kIERWSSBvdXRwdXQgZnJvbSB0aGUgUGVybCBtb2R1bGUgb3V0cHV0Lg0KLQ0KLVBFUkxNT0RfTEFURVggICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIFBFUkxNT0RfUFJFVFRZIHRhZyBpcyBzZXQgdG8gWUVTIHRoZSBQZXJsIG1vZHVsZSBvdXRwdXQgd2lsbCBiZSANCi0jIG5pY2VseSBmb3JtYXR0ZWQgc28gaXQgY2FuIGJlIHBhcnNlZCBieSBhIGh1bWFuIHJlYWRlci4gIFRoaXMgaXMgdXNlZnVsIA0KLSMgaWYgeW91IHdhbnQgdG8gdW5kZXJzdGFuZCB3aGF0IGlzIGdvaW5nIG9uLiAgT24gdGhlIG90aGVyIGhhbmQsIGlmIHRoaXMgDQotIyB0YWcgaXMgc2V0IHRvIE5PIHRoZSBzaXplIG9mIHRoZSBQZXJsIG1vZHVsZSBvdXRwdXQgd2lsbCBiZSBtdWNoIHNtYWxsZXIgDQotIyBhbmQgUGVybCB3aWxsIHBhcnNlIGl0IGp1c3QgdGhlIHNhbWUuDQotDQotUEVSTE1PRF9QUkVUVFkgICAgICAgICA9IFlFUw0KLQ0KLSMgVGhlIG5hbWVzIG9mIHRoZSBtYWtlIHZhcmlhYmxlcyBpbiB0aGUgZ2VuZXJhdGVkIGRveHlydWxlcy5tYWtlIGZpbGUgDQotIyBhcmUgcHJlZml4ZWQgd2l0aCB0aGUgc3RyaW5nIGNvbnRhaW5lZCBpbiBQRVJMTU9EX01BS0VWQVJfUFJFRklYLiANCi0jIFRoaXMgaXMgdXNlZnVsIHNvIGRpZmZlcmVudCBkb3h5cnVsZXMubWFrZSBmaWxlcyBpbmNsdWRlZCBieSB0aGUgc2FtZSANCi0jIE1ha2VmaWxlIGRvbid0IG92ZXJ3cml0ZSBlYWNoIG90aGVyJ3MgdmFyaWFibGVzLg0KLQ0KLVBFUkxNT0RfTUFLRVZBUl9QUkVGSVggPSANCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBDb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgcHJlcHJvY2Vzc29yDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLSMgSWYgdGhlIEVOQUJMRV9QUkVQUk9DRVNTSU5HIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsIA0KLSMgZXZhbHVhdGUgYWxsIEMtcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgZm91bmQgaW4gdGhlIHNvdXJjZXMgYW5kIGluY2x1ZGUgDQotIyBmaWxlcy4NCi0NCi1FTkFCTEVfUFJFUFJPQ0VTU0lORyAgID0gWUVTDQotDQotIyBJZiB0aGUgTUFDUk9fRVhQQU5TSU9OIHRhZyBpcyBzZXQgdG8gWUVTIERveHlnZW4gd2lsbCBleHBhbmQgYWxsIG1hY3JvIA0KLSMgbmFtZXMgaW4gdGhlIHNvdXJjZSBjb2RlLiBJZiBzZXQgdG8gTk8gKHRoZSBkZWZhdWx0KSBvbmx5IGNvbmRpdGlvbmFsIA0KLSMgY29tcGlsYXRpb24gd2lsbCBiZSBwZXJmb3JtZWQuIE1hY3JvIGV4cGFuc2lvbiBjYW4gYmUgZG9uZSBpbiBhIGNvbnRyb2xsZWQgDQotIyB3YXkgYnkgc2V0dGluZyBFWFBBTkRfT05MWV9QUkVERUYgdG8gWUVTLg0KLQ0KLU1BQ1JPX0VYUEFOU0lPTiAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEVYUEFORF9PTkxZX1BSRURFRiBhbmQgTUFDUk9fRVhQQU5TSU9OIHRhZ3MgYXJlIGJvdGggc2V0IHRvIFlFUyANCi0jIHRoZW4gdGhlIG1hY3JvIGV4cGFuc2lvbiBpcyBsaW1pdGVkIHRvIHRoZSBtYWNyb3Mgc3BlY2lmaWVkIHdpdGggdGhlIA0KLSMgUFJFREVGSU5FRCBhbmQgRVhQQU5EX0FTX0RFRklORUQgdGFncy4NCi0NCi1FWFBBTkRfT05MWV9QUkVERUYgICAgID0gTk8NCi0NCi0jIElmIHRoZSBTRUFSQ0hfSU5DTFVERVMgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGUgaW5jbHVkZXMgZmlsZXMgDQotIyBpbiB0aGUgSU5DTFVERV9QQVRIIChzZWUgYmVsb3cpIHdpbGwgYmUgc2VhcmNoIGlmIGEgI2luY2x1ZGUgaXMgZm91bmQuDQotDQotU0VBUkNIX0lOQ0xVREVTICAgICAgICA9IFlFUw0KLQ0KLSMgVGhlIElOQ0xVREVfUEFUSCB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSBkaXJlY3RvcmllcyB0aGF0IA0KLSMgY29udGFpbiBpbmNsdWRlIGZpbGVzIHRoYXQgYXJlIG5vdCBpbnB1dCBmaWxlcyBidXQgc2hvdWxkIGJlIHByb2Nlc3NlZCBieSANCi0jIHRoZSBwcmVwcm9jZXNzb3IuDQotDQotSU5DTFVERV9QQVRIICAgICAgICAgICA9IA0KLQ0KLSMgWW91IGNhbiB1c2UgdGhlIElOQ0xVREVfRklMRV9QQVRURVJOUyB0YWcgdG8gc3BlY2lmeSBvbmUgb3IgbW9yZSB3aWxkY2FyZCANCi0jIHBhdHRlcm5zIChsaWtlICouaCBhbmQgKi5ocHApIHRvIGZpbHRlciBvdXQgdGhlIGhlYWRlci1maWxlcyBpbiB0aGUgDQotIyBkaXJlY3Rvcmllcy4gSWYgbGVmdCBibGFuaywgdGhlIHBhdHRlcm5zIHNwZWNpZmllZCB3aXRoIEZJTEVfUEFUVEVSTlMgd2lsbCANCi0jIGJlIHVzZWQuDQotDQotSU5DTFVERV9GSUxFX1BBVFRFUk5TICA9IA0KLQ0KLSMgVGhlIFBSRURFRklORUQgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgbWFjcm8gbmFtZXMgdGhhdCANCi0jIGFyZSBkZWZpbmVkIGJlZm9yZSB0aGUgcHJlcHJvY2Vzc29yIGlzIHN0YXJ0ZWQgKHNpbWlsYXIgdG8gdGhlIC1EIG9wdGlvbiBvZiANCi0jIGdjYykuIFRoZSBhcmd1bWVudCBvZiB0aGUgdGFnIGlzIGEgbGlzdCBvZiBtYWNyb3Mgb2YgdGhlIGZvcm06IG5hbWUgDQotIyBvciBuYW1lPWRlZmluaXRpb24gKG5vIHNwYWNlcykuIElmIHRoZSBkZWZpbml0aW9uIGFuZCB0aGUgPSBhcmUgDQotIyBvbWl0dGVkID0xIGlzIGFzc3VtZWQuIFRvIHByZXZlbnQgYSBtYWNybyBkZWZpbml0aW9uIGZyb20gYmVpbmcgDQotIyB1bmRlZmluZWQgdmlhICN1bmRlZiBvciByZWN1cnNpdmVseSBleHBhbmRlZCB1c2UgdGhlIDo9IG9wZXJhdG9yIA0KLSMgaW5zdGVhZCBvZiB0aGUgPSBvcGVyYXRvci4NCi0NCi1QUkVERUZJTkVEICAgICAgICAgICAgID0gDQotDQotIyBJZiB0aGUgTUFDUk9fRVhQQU5TSU9OIGFuZCBFWFBBTkRfT05MWV9QUkVERUYgdGFncyBhcmUgc2V0IHRvIFlFUyB0aGVuIA0KLSMgdGhpcyB0YWcgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBhIGxpc3Qgb2YgbWFjcm8gbmFtZXMgdGhhdCBzaG91bGQgYmUgZXhwYW5kZWQuIA0KLSMgVGhlIG1hY3JvIGRlZmluaXRpb24gdGhhdCBpcyBmb3VuZCBpbiB0aGUgc291cmNlcyB3aWxsIGJlIHVzZWQuIA0KLSMgVXNlIHRoZSBQUkVERUZJTkVEIHRhZyBpZiB5b3Ugd2FudCB0byB1c2UgYSBkaWZmZXJlbnQgbWFjcm8gZGVmaW5pdGlvbi4NCi0NCi1FWFBBTkRfQVNfREVGSU5FRCAgICAgID0gDQotDQotIyBJZiB0aGUgU0tJUF9GVU5DVElPTl9NQUNST1MgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSB0aGVuIA0KLSMgZG94eWdlbidzIHByZXByb2Nlc3NvciB3aWxsIHJlbW92ZSBhbGwgZnVuY3Rpb24tbGlrZSBtYWNyb3MgdGhhdCBhcmUgYWxvbmUgDQotIyBvbiBhIGxpbmUsIGhhdmUgYW4gYWxsIHVwcGVyY2FzZSBuYW1lLCBhbmQgZG8gbm90IGVuZCB3aXRoIGEgc2VtaWNvbG9uLiBTdWNoIA0KLSMgZnVuY3Rpb24gbWFjcm9zIGFyZSB0eXBpY2FsbHkgdXNlZCBmb3IgYm9pbGVyLXBsYXRlIGNvZGUsIGFuZCB3aWxsIGNvbmZ1c2UgDQotIyB0aGUgcGFyc2VyIGlmIG5vdCByZW1vdmVkLg0KLQ0KLVNLSVBfRlVOQ1RJT05fTUFDUk9TICAgPSBZRVMNCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBDb25maWd1cmF0aW9uOjphZGRpdGlvbnMgcmVsYXRlZCB0byBleHRlcm5hbCByZWZlcmVuY2VzDQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLSMgVGhlIFRBR0ZJTEVTIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIHRhZ2ZpbGVzLiANCi0jIE9wdGlvbmFsbHkgYW4gaW5pdGlhbCBsb2NhdGlvbiBvZiB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbiANCi0jIGNhbiBiZSBhZGRlZCBmb3IgZWFjaCB0YWdmaWxlLiBUaGUgZm9ybWF0IG9mIGEgdGFnIGZpbGUgd2l0aG91dCANCi0jIHRoaXMgbG9jYXRpb24gaXMgYXMgZm9sbG93czogDQotIyAgIFRBR0ZJTEVTID0gZmlsZTEgZmlsZTIgLi4uIA0KLSMgQWRkaW5nIGxvY2F0aW9uIGZvciB0aGUgdGFnIGZpbGVzIGlzIGRvbmUgYXMgZm9sbG93czogDQotIyAgIFRBR0ZJTEVTID0gZmlsZTE9bG9jMSAiZmlsZTIgPSBsb2MyIiAuLi4gDQotIyB3aGVyZSAibG9jMSIgYW5kICJsb2MyIiBjYW4gYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcGF0aHMgb3IgDQotIyBVUkxzLiBJZiBhIGxvY2F0aW9uIGlzIHByZXNlbnQgZm9yIGVhY2ggdGFnLCB0aGUgaW5zdGFsbGRveCB0b29sIA0KLSMgZG9lcyBub3QgaGF2ZSB0byBiZSBydW4gdG8gY29ycmVjdCB0aGUgbGlua3MuIA0KLSMgTm90ZSB0aGF0IGVhY2ggdGFnIGZpbGUgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUgDQotIyAod2hlcmUgdGhlIG5hbWUgZG9lcyBOT1QgaW5jbHVkZSB0aGUgcGF0aCkgDQotIyBJZiBhIHRhZyBmaWxlIGlzIG5vdCBsb2NhdGVkIGluIHRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZG94eWdlbiANCi0jIGlzIHJ1biwgeW91IG11c3QgYWxzbyBzcGVjaWZ5IHRoZSBwYXRoIHRvIHRoZSB0YWdmaWxlIGhlcmUuDQotDQotVEFHRklMRVMgICAgICAgICAgICAgICA9IA0KLQ0KLSMgV2hlbiBhIGZpbGUgbmFtZSBpcyBzcGVjaWZpZWQgYWZ0ZXIgR0VORVJBVEVfVEFHRklMRSwgZG94eWdlbiB3aWxsIGNyZWF0ZSANCi0jIGEgdGFnIGZpbGUgdGhhdCBpcyBiYXNlZCBvbiB0aGUgaW5wdXQgZmlsZXMgaXQgcmVhZHMuDQotDQotR0VORVJBVEVfVEFHRklMRSAgICAgICA9IA0KLQ0KLSMgSWYgdGhlIEFMTEVYVEVSTkFMUyB0YWcgaXMgc2V0IHRvIFlFUyBhbGwgZXh0ZXJuYWwgY2xhc3NlcyB3aWxsIGJlIGxpc3RlZCANCi0jIGluIHRoZSBjbGFzcyBpbmRleC4gSWYgc2V0IHRvIE5PIG9ubHkgdGhlIGluaGVyaXRlZCBleHRlcm5hbCBjbGFzc2VzIA0KLSMgd2lsbCBiZSBsaXN0ZWQuDQotDQotQUxMRVhURVJOQUxTICAgICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgRVhURVJOQUxfR1JPVVBTIHRhZyBpcyBzZXQgdG8gWUVTIGFsbCBleHRlcm5hbCBncm91cHMgd2lsbCBiZSBsaXN0ZWQgDQotIyBpbiB0aGUgbW9kdWxlcyBpbmRleC4gSWYgc2V0IHRvIE5PLCBvbmx5IHRoZSBjdXJyZW50IHByb2plY3QncyBncm91cHMgd2lsbCANCi0jIGJlIGxpc3RlZC4NCi0NCi1FWFRFUk5BTF9HUk9VUFMgICAgICAgID0gWUVTDQotDQotIyBUaGUgUEVSTF9QQVRIIHNob3VsZCBiZSB0aGUgYWJzb2x1dGUgcGF0aCBhbmQgbmFtZSBvZiB0aGUgcGVybCBzY3JpcHQgDQotIyBpbnRlcnByZXRlciAoaS5lLiB0aGUgcmVzdWx0IG9mIGB3aGljaCBwZXJsJykuDQotDQotUEVSTF9QQVRIICAgICAgICAgICAgICA9IC91c3IvYmluL3BlcmwNCi0NCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIyBDb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgZG90IHRvb2wNCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotIyBJZiB0aGUgQ0xBU1NfRElBR1JBTVMgdGFnIGlzIHNldCB0byBZRVMgKHRoZSBkZWZhdWx0KSBEb3h5Z2VuIHdpbGwgDQotIyBnZW5lcmF0ZSBhIGluaGVyaXRhbmNlIGRpYWdyYW0gKGluIEhUTUwsIFJURiBhbmQgTGFUZVgpIGZvciBjbGFzc2VzIHdpdGggYmFzZSANCi0jIG9yIHN1cGVyIGNsYXNzZXMuIFNldHRpbmcgdGhlIHRhZyB0byBOTyB0dXJucyB0aGUgZGlhZ3JhbXMgb2ZmLiBOb3RlIHRoYXQgDQotIyB0aGlzIG9wdGlvbiBhbHNvIHdvcmtzIHdpdGggSEFWRV9ET1QgZGlzYWJsZWQsIGJ1dCBpdCBpcyByZWNvbW1lbmRlZCB0byANCi0jIGluc3RhbGwgYW5kIHVzZSBkb3QsIHNpbmNlIGl0IHlpZWxkcyBtb3JlIHBvd2VyZnVsIGdyYXBocy4NCi0NCi1DTEFTU19ESUFHUkFNUyAgICAgICAgID0gWUVTDQotDQotIyBZb3UgY2FuIGRlZmluZSBtZXNzYWdlIHNlcXVlbmNlIGNoYXJ0cyB3aXRoaW4gZG94eWdlbiBjb21tZW50cyB1c2luZyB0aGUgXG1zYyANCi0jIGNvbW1hbmQuIERveHlnZW4gd2lsbCB0aGVuIHJ1biB0aGUgbXNjZ2VuIHRvb2wgKHNlZSANCi0jIGh0dHA6Ly93d3cubWN0ZXJuYW4ubWUudWsvbXNjZ2VuLykgdG8gcHJvZHVjZSB0aGUgY2hhcnQgYW5kIGluc2VydCBpdCBpbiB0aGUgDQotIyBkb2N1bWVudGF0aW9uLiBUaGUgTVNDR0VOX1BBVEggdGFnIGFsbG93cyB5b3UgdG8gc3BlY2lmeSB0aGUgZGlyZWN0b3J5IHdoZXJlIA0KLSMgdGhlIG1zY2dlbiB0b29sIHJlc2lkZXMuIElmIGxlZnQgZW1wdHkgdGhlIHRvb2wgaXMgYXNzdW1lZCB0byBiZSBmb3VuZCBpbiB0aGUgDQotIyBkZWZhdWx0IHNlYXJjaCBwYXRoLg0KLQ0KLU1TQ0dFTl9QQVRIICAgICAgICAgICAgPSANCi0NCi0jIElmIHNldCB0byBZRVMsIHRoZSBpbmhlcml0YW5jZSBhbmQgY29sbGFib3JhdGlvbiBncmFwaHMgd2lsbCBoaWRlIA0KLSMgaW5oZXJpdGFuY2UgYW5kIHVzYWdlIHJlbGF0aW9ucyBpZiB0aGUgdGFyZ2V0IGlzIHVuZG9jdW1lbnRlZCANCi0jIG9yIGlzIG5vdCBhIGNsYXNzLg0KLQ0KLUhJREVfVU5ET0NfUkVMQVRJT05TICAgPSBZRVMNCi0NCi0jIElmIHlvdSBzZXQgdGhlIEhBVkVfRE9UIHRhZyB0byBZRVMgdGhlbiBkb3h5Z2VuIHdpbGwgYXNzdW1lIHRoZSBkb3QgdG9vbCBpcyANCi0jIGF2YWlsYWJsZSBmcm9tIHRoZSBwYXRoLiBUaGlzIHRvb2wgaXMgcGFydCBvZiBHcmFwaHZpeiwgYSBncmFwaCB2aXN1YWxpemF0aW9uIA0KLSMgdG9vbGtpdCBmcm9tIEFUJlQgYW5kIEx1Y2VudCBCZWxsIExhYnMuIFRoZSBvdGhlciBvcHRpb25zIGluIHRoaXMgc2VjdGlvbiANCi0jIGhhdmUgbm8gZWZmZWN0IGlmIHRoaXMgb3B0aW9uIGlzIHNldCB0byBOTyAodGhlIGRlZmF1bHQpDQotDQotSEFWRV9ET1QgICAgICAgICAgICAgICA9IFlFUw0KLQ0KLSMgVGhlIERPVF9OVU1fVEhSRUFEUyBzcGVjaWZpZXMgdGhlIG51bWJlciBvZiBkb3QgaW52b2NhdGlvbnMgZG94eWdlbiBpcyANCi0jIGFsbG93ZWQgdG8gcnVuIGluIHBhcmFsbGVsLiBXaGVuIHNldCB0byAwICh0aGUgZGVmYXVsdCkgZG94eWdlbiB3aWxsIA0KLSMgYmFzZSB0aGlzIG9uIHRoZSBudW1iZXIgb2YgcHJvY2Vzc29ycyBhdmFpbGFibGUgaW4gdGhlIHN5c3RlbS4gWW91IGNhbiBzZXQgaXQgDQotIyBleHBsaWNpdGx5IHRvIGEgdmFsdWUgbGFyZ2VyIHRoYW4gMCB0byBnZXQgY29udHJvbCBvdmVyIHRoZSBiYWxhbmNlIA0KLSMgYmV0d2VlbiBDUFUgbG9hZCBhbmQgcHJvY2Vzc2luZyBzcGVlZC4NCi0NCi1ET1RfTlVNX1RIUkVBRFMgICAgICAgID0gMA0KLQ0KLSMgQnkgZGVmYXVsdCBkb3h5Z2VuIHdpbGwgd3JpdGUgYSBmb250IGNhbGxlZCBGcmVlU2Fucy50dGYgdG8gdGhlIG91dHB1dCANCi0jIGRpcmVjdG9yeSBhbmQgcmVmZXJlbmNlIGl0IGluIGFsbCBkb3QgZmlsZXMgdGhhdCBkb3h5Z2VuIGdlbmVyYXRlcy4gVGhpcyANCi0jIGZvbnQgZG9lcyBub3QgaW5jbHVkZSBhbGwgcG9zc2libGUgdW5pY29kZSBjaGFyYWN0ZXJzIGhvd2V2ZXIsIHNvIHdoZW4geW91IG5lZWQgDQotIyB0aGVzZSAob3IganVzdCB3YW50IGEgZGlmZmVyZW50bHkgbG9va2luZyBmb250KSB5b3UgY2FuIHNwZWNpZnkgdGhlIGZvbnQgbmFtZSANCi0jIHVzaW5nIERPVF9GT05UTkFNRS4gWW91IG5lZWQgbmVlZCB0byBtYWtlIHN1cmUgZG90IGlzIGFibGUgdG8gZmluZCB0aGUgZm9udCwgDQotIyB3aGljaCBjYW4gYmUgZG9uZSBieSBwdXR0aW5nIGl0IGluIGEgc3RhbmRhcmQgbG9jYXRpb24gb3IgYnkgc2V0dGluZyB0aGUgDQotIyBET1RGT05UUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciBieSBzZXR0aW5nIERPVF9GT05UUEFUSCB0byB0aGUgZGlyZWN0b3J5IA0KLSMgY29udGFpbmluZyB0aGUgZm9udC4NCi0NCi1ET1RfRk9OVE5BTUUgICAgICAgICAgID0gRnJlZVNhbnMNCi0NCi0jIFRoZSBET1RfRk9OVFNJWkUgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgZm9udCBvZiBkb3QgZ3JhcGhzLiANCi0jIFRoZSBkZWZhdWx0IHNpemUgaXMgMTBwdC4NCi0NCi1ET1RfRk9OVFNJWkUgICAgICAgICAgID0gMTANCi0NCi0jIEJ5IGRlZmF1bHQgZG94eWdlbiB3aWxsIHRlbGwgZG90IHRvIHVzZSB0aGUgb3V0cHV0IGRpcmVjdG9yeSB0byBsb29rIGZvciB0aGUgDQotIyBGcmVlU2Fucy50dGYgZm9udCAod2hpY2ggZG94eWdlbiB3aWxsIHB1dCB0aGVyZSBpdHNlbGYpLiBJZiB5b3Ugc3BlY2lmeSBhIA0KLSMgZGlmZmVyZW50IGZvbnQgdXNpbmcgRE9UX0ZPTlROQU1FIHlvdSBjYW4gc2V0IHRoZSBwYXRoIHdoZXJlIGRvdCANCi0jIGNhbiBmaW5kIGl0IHVzaW5nIHRoaXMgdGFnLg0KLQ0KLURPVF9GT05UUEFUSCAgICAgICAgICAgPSANCi0NCi0jIElmIHRoZSBDTEFTU19HUkFQSCBhbmQgSEFWRV9ET1QgdGFncyBhcmUgc2V0IHRvIFlFUyB0aGVuIGRveHlnZW4gDQotIyB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2ggZG9jdW1lbnRlZCBjbGFzcyBzaG93aW5nIHRoZSBkaXJlY3QgYW5kIA0KLSMgaW5kaXJlY3QgaW5oZXJpdGFuY2UgcmVsYXRpb25zLiBTZXR0aW5nIHRoaXMgdGFnIHRvIFlFUyB3aWxsIGZvcmNlIHRoZSANCi0jIHRoZSBDTEFTU19ESUFHUkFNUyB0YWcgdG8gTk8uDQotDQotQ0xBU1NfR1JBUEggICAgICAgICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIENPTExBQk9SQVRJT05fR1JBUEggYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuIA0KLSMgd2lsbCBnZW5lcmF0ZSBhIGdyYXBoIGZvciBlYWNoIGRvY3VtZW50ZWQgY2xhc3Mgc2hvd2luZyB0aGUgZGlyZWN0IGFuZCANCi0jIGluZGlyZWN0IGltcGxlbWVudGF0aW9uIGRlcGVuZGVuY2llcyAoaW5oZXJpdGFuY2UsIGNvbnRhaW5tZW50LCBhbmQgDQotIyBjbGFzcyByZWZlcmVuY2VzIHZhcmlhYmxlcykgb2YgdGhlIGNsYXNzIHdpdGggb3RoZXIgZG9jdW1lbnRlZCBjbGFzc2VzLg0KLQ0KLUNPTExBQk9SQVRJT05fR1JBUEggICAgPSBZRVMNCi0NCi0jIElmIHRoZSBHUk9VUF9HUkFQSFMgYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuIA0KLSMgd2lsbCBnZW5lcmF0ZSBhIGdyYXBoIGZvciBncm91cHMsIHNob3dpbmcgdGhlIGRpcmVjdCBncm91cHMgZGVwZW5kZW5jaWVzDQotDQotR1JPVVBfR1JBUEhTICAgICAgICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIFVNTF9MT09LIHRhZyBpcyBzZXQgdG8gWUVTIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBpbmhlcml0YW5jZSBhbmQgDQotIyBjb2xsYWJvcmF0aW9uIGRpYWdyYW1zIGluIGEgc3R5bGUgc2ltaWxhciB0byB0aGUgT01HJ3MgVW5pZmllZCBNb2RlbGluZyANCi0jIExhbmd1YWdlLg0KLQ0KLVVNTF9MT09LICAgICAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgc2V0IHRvIFlFUywgdGhlIGluaGVyaXRhbmNlIGFuZCBjb2xsYWJvcmF0aW9uIGdyYXBocyB3aWxsIHNob3cgdGhlIA0KLSMgcmVsYXRpb25zIGJldHdlZW4gdGVtcGxhdGVzIGFuZCB0aGVpciBpbnN0YW5jZXMuDQotDQotVEVNUExBVEVfUkVMQVRJT05TICAgICA9IE5PDQotDQotIyBJZiB0aGUgRU5BQkxFX1BSRVBST0NFU1NJTkcsIFNFQVJDSF9JTkNMVURFUywgSU5DTFVERV9HUkFQSCwgYW5kIEhBVkVfRE9UIA0KLSMgdGFncyBhcmUgc2V0IHRvIFlFUyB0aGVuIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhIGdyYXBoIGZvciBlYWNoIGRvY3VtZW50ZWQgDQotIyBmaWxlIHNob3dpbmcgdGhlIGRpcmVjdCBhbmQgaW5kaXJlY3QgaW5jbHVkZSBkZXBlbmRlbmNpZXMgb2YgdGhlIGZpbGUgd2l0aCANCi0jIG90aGVyIGRvY3VtZW50ZWQgZmlsZXMuDQotDQotSU5DTFVERV9HUkFQSCAgICAgICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIEVOQUJMRV9QUkVQUk9DRVNTSU5HLCBTRUFSQ0hfSU5DTFVERVMsIElOQ0xVREVEX0JZX0dSQVBILCBhbmQgDQotIyBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4gZG94eWdlbiB3aWxsIGdlbmVyYXRlIGEgZ3JhcGggZm9yIGVhY2ggDQotIyBkb2N1bWVudGVkIGhlYWRlciBmaWxlIHNob3dpbmcgdGhlIGRvY3VtZW50ZWQgZmlsZXMgdGhhdCBkaXJlY3RseSBvciANCi0jIGluZGlyZWN0bHkgaW5jbHVkZSB0aGlzIGZpbGUuDQotDQotSU5DTFVERURfQllfR1JBUEggICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIENBTExfR1JBUEggYW5kIEhBVkVfRE9UIG9wdGlvbnMgYXJlIHNldCB0byBZRVMgdGhlbiANCi0jIGRveHlnZW4gd2lsbCBnZW5lcmF0ZSBhIGNhbGwgZGVwZW5kZW5jeSBncmFwaCBmb3IgZXZlcnkgZ2xvYmFsIGZ1bmN0aW9uIA0KLSMgb3IgY2xhc3MgbWV0aG9kLiBOb3RlIHRoYXQgZW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCBzaWduaWZpY2FudGx5IGluY3JlYXNlIA0KLSMgdGhlIHRpbWUgb2YgYSBydW4uIFNvIGluIG1vc3QgY2FzZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdG8gZW5hYmxlIGNhbGwgZ3JhcGhzIA0KLSMgZm9yIHNlbGVjdGVkIGZ1bmN0aW9ucyBvbmx5IHVzaW5nIHRoZSBcY2FsbGdyYXBoIGNvbW1hbmQuDQotDQotQ0FMTF9HUkFQSCAgICAgICAgICAgICA9IE5PDQotDQotIyBJZiB0aGUgQ0FMTEVSX0dSQVBIIGFuZCBIQVZFX0RPVCB0YWdzIGFyZSBzZXQgdG8gWUVTIHRoZW4gDQotIyBkb3h5Z2VuIHdpbGwgZ2VuZXJhdGUgYSBjYWxsZXIgZGVwZW5kZW5jeSBncmFwaCBmb3IgZXZlcnkgZ2xvYmFsIGZ1bmN0aW9uIA0KLSMgb3IgY2xhc3MgbWV0aG9kLiBOb3RlIHRoYXQgZW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCBzaWduaWZpY2FudGx5IGluY3JlYXNlIA0KLSMgdGhlIHRpbWUgb2YgYSBydW4uIFNvIGluIG1vc3QgY2FzZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdG8gZW5hYmxlIGNhbGxlciANCi0jIGdyYXBocyBmb3Igc2VsZWN0ZWQgZnVuY3Rpb25zIG9ubHkgdXNpbmcgdGhlIFxjYWxsZXJncmFwaCBjb21tYW5kLg0KLQ0KLUNBTExFUl9HUkFQSCAgICAgICAgICAgPSBOTw0KLQ0KLSMgSWYgdGhlIEdSQVBISUNBTF9ISUVSQVJDSFkgYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgdGhlbiBkb3h5Z2VuIA0KLSMgd2lsbCBnZW5lcmF0ZSBhIGdyYXBoaWNhbCBoaWVyYXJjaHkgb2YgYWxsIGNsYXNzZXMgaW5zdGVhZCBvZiBhIHRleHR1YWwgb25lLg0KLQ0KLUdSQVBISUNBTF9ISUVSQVJDSFkgICAgPSBZRVMNCi0NCi0jIElmIHRoZSBESVJFQ1RPUllfR1JBUEgsIFNIT1dfRElSRUNUT1JJRVMgYW5kIEhBVkVfRE9UIHRhZ3MgYXJlIHNldCB0byBZRVMgDQotIyB0aGVuIGRveHlnZW4gd2lsbCBzaG93IHRoZSBkZXBlbmRlbmNpZXMgYSBkaXJlY3RvcnkgaGFzIG9uIG90aGVyIGRpcmVjdG9yaWVzIA0KLSMgaW4gYSBncmFwaGljYWwgd2F5LiBUaGUgZGVwZW5kZW5jeSByZWxhdGlvbnMgYXJlIGRldGVybWluZWQgYnkgdGhlICNpbmNsdWRlIA0KLSMgcmVsYXRpb25zIGJldHdlZW4gdGhlIGZpbGVzIGluIHRoZSBkaXJlY3Rvcmllcy4NCi0NCi1ESVJFQ1RPUllfR1JBUEggICAgICAgID0gWUVTDQotDQotIyBUaGUgRE9UX0lNQUdFX0ZPUk1BVCB0YWcgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBpbWFnZSBmb3JtYXQgb2YgdGhlIGltYWdlcyANCi0jIGdlbmVyYXRlZCBieSBkb3QuIFBvc3NpYmxlIHZhbHVlcyBhcmUgcG5nLCBqcGcsIG9yIGdpZi4gDQotIyBJZiBsZWZ0IGJsYW5rIHBuZyB3aWxsIGJlIHVzZWQuDQotDQotRE9UX0lNQUdFX0ZPUk1BVCAgICAgICA9IHBuZw0KLQ0KLSMgVGhlIHRhZyBET1RfUEFUSCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBwYXRoIHdoZXJlIHRoZSBkb3QgdG9vbCBjYW4gYmUgDQotIyBmb3VuZC4gSWYgbGVmdCBibGFuaywgaXQgaXMgYXNzdW1lZCB0aGUgZG90IHRvb2wgY2FuIGJlIGZvdW5kIGluIHRoZSBwYXRoLg0KLQ0KLURPVF9QQVRIICAgICAgICAgICAgICAgPSAiQzpcV2luZFJpdmVyXHdvcmtzcGFjZVxXb3JrYmVuY2hVcGRhdGVcaGVscGVyc1xHcmFwaHZpejIuMjYuM1xiaW4iDQotDQotIyBUaGUgRE9URklMRV9ESVJTIHRhZyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IG9uZSBvciBtb3JlIGRpcmVjdG9yaWVzIHRoYXQgDQotIyBjb250YWluIGRvdCBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiAoc2VlIHRoZSANCi0jIFxkb3RmaWxlIGNvbW1hbmQpLg0KLQ0KLURPVEZJTEVfRElSUyAgICAgICAgICAgPSANCi0NCi0jIFRoZSBNU0NGSUxFX0RJUlMgdGFnIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgb25lIG9yIG1vcmUgZGlyZWN0b3JpZXMgdGhhdCANCi0jIGNvbnRhaW4gbXNjIGZpbGVzIHRoYXQgYXJlIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uIChzZWUgdGhlIA0KLSMgXG1zY2ZpbGUgY29tbWFuZCkuDQotDQotTVNDRklMRV9ESVJTICAgICAgICAgICA9IA0KLQ0KLSMgVGhlIERPVF9HUkFQSF9NQVhfTk9ERVMgdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgDQotIyBub2RlcyB0aGF0IHdpbGwgYmUgc2hvd24gaW4gdGhlIGdyYXBoLiBJZiB0aGUgbnVtYmVyIG9mIG5vZGVzIGluIGEgZ3JhcGggDQotIyBiZWNvbWVzIGxhcmdlciB0aGFuIHRoaXMgdmFsdWUsIGRveHlnZW4gd2lsbCB0cnVuY2F0ZSB0aGUgZ3JhcGgsIHdoaWNoIGlzIA0KLSMgdmlzdWFsaXplZCBieSByZXByZXNlbnRpbmcgYSBub2RlIGFzIGEgcmVkIGJveC4gTm90ZSB0aGF0IGRveHlnZW4gaWYgdGhlIA0KLSMgbnVtYmVyIG9mIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGUgcm9vdCBub2RlIGluIGEgZ3JhcGggaXMgYWxyZWFkeSBsYXJnZXIgdGhhbiANCi0jIERPVF9HUkFQSF9NQVhfTk9ERVMgdGhlbiB0aGUgZ3JhcGggd2lsbCBub3QgYmUgc2hvd24gYXQgYWxsLiBBbHNvIG5vdGUgDQotIyB0aGF0IHRoZSBzaXplIG9mIGEgZ3JhcGggY2FuIGJlIGZ1cnRoZXIgcmVzdHJpY3RlZCBieSBNQVhfRE9UX0dSQVBIX0RFUFRILg0KLQ0KLURPVF9HUkFQSF9NQVhfTk9ERVMgICAgPSA1MA0KLQ0KLSMgVGhlIE1BWF9ET1RfR1JBUEhfREVQVEggdGFnIGNhbiBiZSB1c2VkIHRvIHNldCB0aGUgbWF4aW11bSBkZXB0aCBvZiB0aGUgDQotIyBncmFwaHMgZ2VuZXJhdGVkIGJ5IGRvdC4gQSBkZXB0aCB2YWx1ZSBvZiAzIG1lYW5zIHRoYXQgb25seSBub2RlcyByZWFjaGFibGUgDQotIyBmcm9tIHRoZSByb290IGJ5IGZvbGxvd2luZyBhIHBhdGggdmlhIGF0IG1vc3QgMyBlZGdlcyB3aWxsIGJlIHNob3duLiBOb2RlcyANCi0jIHRoYXQgbGF5IGZ1cnRoZXIgZnJvbSB0aGUgcm9vdCBub2RlIHdpbGwgYmUgb21pdHRlZC4gTm90ZSB0aGF0IHNldHRpbmcgdGhpcyANCi0jIG9wdGlvbiB0byAxIG9yIDIgbWF5IGdyZWF0bHkgcmVkdWNlIHRoZSBjb21wdXRhdGlvbiB0aW1lIG5lZWRlZCBmb3IgbGFyZ2UgDQotIyBjb2RlIGJhc2VzLiBBbHNvIG5vdGUgdGhhdCB0aGUgc2l6ZSBvZiBhIGdyYXBoIGNhbiBiZSBmdXJ0aGVyIHJlc3RyaWN0ZWQgYnkgDQotIyBET1RfR1JBUEhfTUFYX05PREVTLiBVc2luZyBhIGRlcHRoIG9mIDAgbWVhbnMgbm8gZGVwdGggcmVzdHJpY3Rpb24uDQotDQotTUFYX0RPVF9HUkFQSF9ERVBUSCAgICA9IDANCi0NCi0jIFNldCB0aGUgRE9UX1RSQU5TUEFSRU5UIHRhZyB0byBZRVMgdG8gZ2VuZXJhdGUgaW1hZ2VzIHdpdGggYSB0cmFuc3BhcmVudCANCi0jIGJhY2tncm91bmQuIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCwgYmVjYXVzZSBkb3Qgb24gV2luZG93cyBkb2VzIG5vdCANCi0jIHNlZW0gdG8gc3VwcG9ydCB0aGlzIG91dCBvZiB0aGUgYm94LiBXYXJuaW5nOiBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIHVzZWQsIA0KLSMgZW5hYmxpbmcgdGhpcyBvcHRpb24gbWF5IGxlYWQgdG8gYmFkbHkgYW50aS1hbGlhc2VkIGxhYmVscyBvbiB0aGUgZWRnZXMgb2YgDQotIyBhIGdyYXBoIChpLmUuIHRoZXkgYmVjb21lIGhhcmQgdG8gcmVhZCkuDQotDQotRE9UX1RSQU5TUEFSRU5UICAgICAgICA9IE5PDQotDQotIyBTZXQgdGhlIERPVF9NVUxUSV9UQVJHRVRTIHRhZyB0byBZRVMgYWxsb3cgZG90IHRvIGdlbmVyYXRlIG11bHRpcGxlIG91dHB1dCANCi0jIGZpbGVzIGluIG9uZSBydW4gKGkuZS4gbXVsdGlwbGUgLW8gYW5kIC1UIG9wdGlvbnMgb24gdGhlIGNvbW1hbmQgbGluZSkuIFRoaXMgDQotIyBtYWtlcyBkb3QgcnVuIGZhc3RlciwgYnV0IHNpbmNlIG9ubHkgbmV3ZXIgdmVyc2lvbnMgb2YgZG90ICg+MS44LjEwKSANCi0jIHN1cHBvcnQgdGhpcywgdGhpcyBmZWF0dXJlIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuDQotDQotRE9UX01VTFRJX1RBUkdFVFMgICAgICA9IE5PDQotDQotIyBJZiB0aGUgR0VORVJBVEVfTEVHRU5EIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsIA0KLSMgZ2VuZXJhdGUgYSBsZWdlbmQgcGFnZSBleHBsYWluaW5nIHRoZSBtZWFuaW5nIG9mIHRoZSB2YXJpb3VzIGJveGVzIGFuZCANCi0jIGFycm93cyBpbiB0aGUgZG90IGdlbmVyYXRlZCBncmFwaHMuDQotDQotR0VORVJBVEVfTEVHRU5EICAgICAgICA9IFlFUw0KLQ0KLSMgSWYgdGhlIERPVF9DTEVBTlVQIHRhZyBpcyBzZXQgdG8gWUVTICh0aGUgZGVmYXVsdCkgRG94eWdlbiB3aWxsIA0KLSMgcmVtb3ZlIHRoZSBpbnRlcm1lZGlhdGUgZG90IGZpbGVzIHRoYXQgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgDQotIyB0aGUgdmFyaW91cyBncmFwaHMuDQotDQotRE9UX0NMRUFOVVAgICAgICAgICAgICA9IFlFUw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvYmluL2NvbmZpZzYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2Jpbi9jb25maWc2CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiN2ViYTZlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvYmluL2NvbmZpZzYKKysrIC9kZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSAiZG90IC1jIiBhdCB0aW1lIG9mIGluc3RhbGwuDQotDQotIyBZb3UgbWF5IHRlbXBvcmFyaWx5IGRpc2FibGUgYSBwbHVnaW4gYnkgcmVtb3Zpbmcgb3IgY29tbWVudGluZyBvdXQNCi0jIGEgbGluZSBpbiB0aGlzIGZpbGUsIG9yIHlvdSBjYW4gbW9kaWZ5IGl0cyAicXVhbGl0eSIgdmFsdWUgdG8gYWZmZWN0DQotIyBkZWZhdWx0IHBsdWdpbiBzZWxlY3Rpb24uDQotDQotIyBNYW51YWwgZWRpdHMgdG8gdGhpcyBmaWxlICoqd2lsbCBiZSBsb3N0Kiogb24gdXBncmFkZS4NCi0NCi1ndnBsdWdpbl9jb3JlLmRsbCBjb3JlIHsNCi0JZGV2aWNlIHsNCi0JCWRvdDpkb3QgMQ0KLQkJZ3Y6ZG90IDENCi0JCWNhbm9uOmRvdCAxDQotCQlwbGFpbjpkb3QgMQ0KLQkJcGxhaW4tZXh0OmRvdCAxDQotCQl4ZG90Onhkb3QgMQ0KLQl9DQotCWRldmljZSB7DQotCQlmaWc6ZmlnIDENCi0JfQ0KLQlkZXZpY2Ugew0KLQkJaXNtYXA6bWFwIDENCi0JCWNtYXA6bWFwIDENCi0JCWltYXA6bWFwIDENCi0JCWNtYXB4Om1hcCAxDQotCQlpbWFwX25wOm1hcCAxDQotCQljbWFweF9ucDptYXAgMQ0KLQl9DQotCWRldmljZSB7DQotCQlwczpwcyAxDQotCQlwczI6cHMgMQ0KLQkJZXBzOnBzIDENCi0JfQ0KLQlkZXZpY2Ugew0KLQkJc3ZnOnN2ZyAxDQotCQlzdmd6OnN2ZyAxDQotCX0NCi0JZGV2aWNlIHsNCi0JCXRrOnRrIDENCi0JfQ0KLQlkZXZpY2Ugew0KLQkJdm1sOnZtbCAxDQotCQl2bWx6OnZtbCAxDQotCX0NCi0JcmVuZGVyIHsNCi0JCWRvdCAxDQotCQl4ZG90IDENCi0JfQ0KLQlyZW5kZXIgew0KLQkJZmlnIDENCi0JfQ0KLQlyZW5kZXIgew0KLQkJbWFwIDENCi0JfQ0KLQlyZW5kZXIgew0KLQkJcHMgMQ0KLQl9DQotCXJlbmRlciB7DQotCQlzdmcgMQ0KLQl9DQotCXJlbmRlciB7DQotCQl0ayAxDQotCX0NCi0JcmVuZGVyIHsNCi0JCXZtbCAxDQotCX0NCi0JbG9hZGltYWdlIHsNCi0JCXBuZzpzdmcgMQ0KLQkJZ2lmOnN2ZyAxDQotCQlqcGVnOnN2ZyAxDQotCQlqcGU6c3ZnIDENCi0JCWpwZzpzdmcgMQ0KLQkJcG5nOmZpZyAxDQotCQlnaWY6ZmlnIDENCi0JCWpwZWc6ZmlnIDENCi0JCWpwZTpmaWcgMQ0KLQkJanBnOmZpZyAxDQotCQlwbmc6dnJtbCAxDQotCQlnaWY6dnJtbCAxDQotCQlqcGVnOnZybWwgMQ0KLQkJanBlOnZybWwgMQ0KLQkJanBnOnZybWwgMQ0KLQkJZXBzOnBzIDENCi0jRkFJTFMJCWVwczpsYXNpIDENCi0JCXBzOnBzIDENCi0jRkFJTFMJCXBzOmxhc2kgMQ0KLQkJKGxpYik6cHMgMQ0KLQkJcG5nOm1hcCAxDQotCQlnaWY6bWFwIDENCi0JCWpwZWc6bWFwIDENCi0JCWpwZTptYXAgMQ0KLQkJanBnOm1hcCAxDQotCQlwczptYXAgMQ0KLQkJZXBzOm1hcCAxDQotCQlzdmc6bWFwIDENCi0JCXBuZzpkb3QgMQ0KLQkJZ2lmOmRvdCAxDQotCQlqcGVnOmRvdCAxDQotCQlqcGU6ZG90IDENCi0JCWpwZzpkb3QgMQ0KLQkJcHM6ZG90IDENCi0JCWVwczpkb3QgMQ0KLQkJc3ZnOmRvdCAxDQotCQlwbmc6eGRvdCAxDQotCQlnaWY6eGRvdCAxDQotCQlqcGVnOnhkb3QgMQ0KLQkJanBlOnhkb3QgMQ0KLQkJanBnOnhkb3QgMQ0KLQkJcHM6eGRvdCAxDQotCQllcHM6eGRvdCAxDQotCQlzdmc6eGRvdCAxDQotCQlzdmc6c3ZnIDENCi0JfQ0KLX0NCi1ndnBsdWdpbl9kb3RfbGF5b3V0LmRsbCBkb3RfbGF5b3V0IHsNCi0JbGF5b3V0IHsNCi0JCWRvdCAwDQotCX0NCi19DQotZ3ZwbHVnaW5fZ2QuZGxsIGdkIHsNCi0JcmVuZGVyIHsNCi0JCWdkIDENCi0JfQ0KLQlyZW5kZXIgew0KLQkJdnJtbCAxDQotCX0NCi0JdGV4dGxheW91dCB7DQotCQl0ZXh0bGF5b3V0IDINCi0JfQ0KLQlsb2FkaW1hZ2Ugew0KLQkJZ2Q6Z2QgMQ0KLQkJZ2QyOmdkIDENCi0JCWdpZjpnZCAxDQotCQlqcGVnOmdkIDENCi0JCWpwZTpnZCAxDQotCQlqcGc6Z2QgMQ0KLQkJcG5nOmdkIDENCi0JCWdkOnBzIDENCi0jRkFJTFMJCWdkOmxhc2kgMQ0KLQkJZ2QyOnBzIDENCi0jRkFJTFMJCWdkMjpsYXNpIDENCi0JCWdpZjpwcyAxDQotI0ZBSUxTCQlnaWY6bGFzaSAxDQotCQlqcGVnOnBzIDENCi0JCWpwZzpwcyAxDQotCQlqcGU6cHMgMQ0KLSNGQUlMUwkJanBlZzpsYXNpIDENCi0jRkFJTFMJCWpwZzpsYXNpIDENCi0jRkFJTFMJCWpwZTpsYXNpIDENCi0JCXBuZzpwcyAxDQotI0ZBSUxTCQlwbmc6bGFzaSAxDQotCQlnZDpjYWlybyAxDQotCQlnZDI6Y2Fpcm8gMQ0KLQkJZ2lmOmNhaXJvIDENCi0JCWpwZWc6Y2Fpcm8gMQ0KLQkJanBnOmNhaXJvIDENCi0JCWpwZTpjYWlybyAxDQotCQlwbmc6Y2Fpcm8gLTENCi0JfQ0KLQlkZXZpY2Ugew0KLQkJZ2lmOmNhaXJvIDEwDQotCQl3Ym1wOmNhaXJvIDUNCi0JCWpwZTpjYWlybyA1DQotCQlqcGVnOmNhaXJvIDUNCi0JCWpwZzpjYWlybyA1DQotCQlwbmc6Y2Fpcm8gNQ0KLQkJZ2Q6Y2Fpcm8gNQ0KLQkJZ2QyOmNhaXJvIDUNCi0JfQ0KLQlkZXZpY2Ugew0KLQkJZ2lmOmdkIDENCi0JCXdibXA6Z2QgMQ0KLQkJanBlOmdkIDENCi0JCWpwZWc6Z2QgMQ0KLQkJanBnOmdkIDENCi0JCXBuZzpnZCAxDQotCQlnZDpnZCAxDQotCQlnZDI6Z2QgMQ0KLQl9DQotCWRldmljZSB7DQotCQl2cm1sOnZybWwgMQ0KLQl9DQotfQ0KLWd2cGx1Z2luX2dkaXBsdXMuZGxsIGdkaXBsdXMgew0KLQlyZW5kZXIgew0KLQkJZ2RpcGx1cyAxDQotCX0NCi0JdGV4dGxheW91dCB7DQotCQl0ZXh0bGF5b3V0IDgNCi0JfQ0KLQlsb2FkaW1hZ2Ugew0KLQkJYm1wOmdkaXBsdXMgOA0KLQkJZ2lmOmdkaXBsdXMgOA0KLQkJanBlOmdkaXBsdXMgOA0KLQkJanBlZzpnZGlwbHVzIDgNCi0JCWpwZzpnZGlwbHVzIDgNCi0JCXBuZzpnZGlwbHVzIDgNCi0JfQ0KLQlkZXZpY2Ugew0KLQkJbWV0YWZpbGU6Z2RpcGx1cyA4DQotCQlibXA6Z2RpcGx1cyA4DQotCQllbWY6Z2RpcGx1cyA4DQotCQllbWZwbHVzOmdkaXBsdXMgOA0KLQkJZ2lmOmdkaXBsdXMgOA0KLQkJanBlOmdkaXBsdXMgOA0KLQkJanBlZzpnZGlwbHVzIDgNCi0JCWpwZzpnZGlwbHVzIDgNCi0JCXBuZzpnZGlwbHVzIDgNCi0JCXRpZjpnZGlwbHVzIDgNCi0JCXRpZmY6Z2RpcGx1cyA4DQotCX0NCi0JZGV2aWNlIHsNCi0JCWJtcDpjYWlybyA4DQotCQlnaWY6Y2Fpcm8gOA0KLQkJanBlOmNhaXJvIDgNCi0JCWpwZWc6Y2Fpcm8gOA0KLQkJanBnOmNhaXJvIDgNCi0JCXBuZzpjYWlybyA4DQotCQl0aWY6Y2Fpcm8gOA0KLQkJdGlmZjpjYWlybyA4DQotCX0NCi19DQotZ3ZwbHVnaW5fbmVhdG9fbGF5b3V0LmRsbCBuZWF0b19sYXlvdXQgew0KLQlsYXlvdXQgew0KLQkJbmVhdG8gMA0KLQkJZmRwIDANCi0JCXNmZHAgMA0KLQkJdHdvcGkgMA0KLQkJY2lyY28gMA0KLQkJcGF0Y2h3b3JrIDANCi0JCW9zYWdlIDANCi0JCW5vcCAwDQotCQlub3AxIDANCi0JCW5vcDIgMA0KLQl9DQotfQ0KLWd2cGx1Z2luX3BhbmdvLmRsbCBjYWlybyB7DQotCXJlbmRlciB7DQotCQljYWlybyAxMA0KLQl9DQotCXRleHRsYXlvdXQgew0KLQkJdGV4dGxheW91dCAxMA0KLQl9DQotCWxvYWRpbWFnZSB7DQotCQlwbmc6Y2Fpcm8gMQ0KLSNGQUlMUwkJcG5nOmxhc2kgMg0KLQkJcG5nOnBzIDINCi0JfQ0KLQlkZXZpY2Ugew0KLQkJcG5nOmNhaXJvIDEwDQotCQlwczpjYWlybyAtMTANCi0JCXBkZjpjYWlybyAxMA0KLQkJc3ZnOmNhaXJvIC0xMA0KLQl9DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvYmluL3Byb3BzLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvYmluL3Byb3BzLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODA3NDE0Mi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2Jpbi9wcm9wcy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi0iRGFtcGluZyIsICIwLjk5IiwgR1JBUEgsIE5FQVRPDQotIkVwc2lsb24iLCAiIiwgR1JBUEgsIE5FQVRPDQotIlVSTCIsICIiLCBBTllfRUxFTUVOVCwgQUxMX0VOR0lORVMNCi0iYXJyb3doZWFkIiwgIm5vcm1hbCIsIEVER0UsIEFMTF9FTkdJTkVTDQotImFycm93c2l6ZSIsICIxLjAiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJhcnJvd3RhaWwiLCAibm9ybWFsIiwgRURHRSwgQUxMX0VOR0lORVMNCi0iYmIiLCAiIiwgR1JBUEgsIEFMTF9FTkdJTkVTDQotImJnY29sb3IiLCAiIiwgR1JBUEggT3IgQ0xVU1RFUiwgQUxMX0VOR0lORVMNCi0iYm90dG9tbGFiZWwiLCAiIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0iY2VudGVyIiwgImZhbHNlIiwgR1JBUEgsIEFMTF9FTkdJTkVTDQotImNsdXN0ZXJyYW5rIiwgImxvY2FsIiwgR1JBUEgsIERPVA0KLSJjb2xvciIsICJibGFjayIsIEVER0UgT3IgTk9ERSBPciBDTFVTVEVSLCBBTExfRU5HSU5FUw0KLSJjb21tZW50IiwgIiIsIEVER0UgT3IgTk9ERSBPciBHUkFQSCwgQUxMX0VOR0lORVMNCi0iY29tcG91bmQiLCAiZmFsc2UiLCBHUkFQSCwgRE9UDQotImNvbmNlbnRyYXRlIiwgImZhbHNlIiwgR1JBUEgsIERPVA0KLSJjb25zdHJhaW50IiwgInRydWUiLCBFREdFLCBET1QNCi0iZGVjb3JhdGUiLCAiZmFsc2UiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJkaXIiLCAiZm9yd2FyZCIsIEVER0UsIEFMTF9FTkdJTkVTDQotImRpc3RvcnRpb24iLCAiMC4wIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0iZmlsbGNvbG9yIiwgImxpZ2h0Z3JleSIsIE5PREUgT3IgQ0xVU1RFUiwgQUxMX0VOR0lORVMNCi0iZml4ZWRzaXplIiwgImZhbHNlIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0iZm9udGNvbG9yIiwgImJsYWNrIiwgRURHRSBPciBOT0RFIE9yIEdSQVBIIE9yIENMVVNURVIsIEFMTF9FTkdJTkVTDQotImZvbnRuYW1lIiwgIlRpbWVzLVJvbWFuIiwgRURHRSBPciBOT0RFIE9yIEdSQVBIIE9yIENMVVNURVIsIEFMTF9FTkdJTkVTDQotImZvbnRwYXRoIiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJmb250c2l6ZSIsICIxNC4wIiwgRURHRSBPciBOT0RFIE9yIEdSQVBIIE9yIENMVVNURVIsIEFMTF9FTkdJTkVTDQotImdyb3VwIiwgIiIsIE5PREUsIERPVA0KLSJoZWFkVVJMIiwgIiIsIEVER0UsIEFMTF9FTkdJTkVTDQotImhlYWRsYWJlbCIsICIiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJoZWFkcG9ydCIsICJjZW50ZXIiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJoZWlnaHQiLCAiMC41IiwgTk9ERSwgQUxMX0VOR0lORVMNCi0ibGFiZWwiLCAiIiwgRURHRSBPciBOT0RFIE9yIEdSQVBIIE9yIENMVVNURVIsIEFMTF9FTkdJTkVTDQotImxhYmVsYW5nbGUiLCAiLTI1LjAiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJsYWJlbGRpc3RhbmNlIiwgIjEuMCIsIEVER0UsIEFMTF9FTkdJTkVTDQotImxhYmVsZmxvYXQiLCAiZmFsc2UiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJsYWJlbGZvbnRjb2xvciIsICJibGFjayIsIEVER0UsIEFMTF9FTkdJTkVTDQotImxhYmVsZm9udG5hbWUiLCAiVGltZXMtUm9tYW4iLCBFREdFLCBBTExfRU5HSU5FUw0KLSJsYWJlbGZvbnRzaXplIiwgIjExLjAiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJsYWJlbGp1c3QiLCAiIiwgQU5ZX0VMRU1FTlQsIERPVA0KLSJsYWJlbGxvYyIsICJ0IiwgR1JBUEggT3IgQ0xVU1RFUiwgRE9UDQotImxheWVyIiwgIiIsIEVER0UgT3IgTk9ERSwgQUxMX0VOR0lORVMNCi0ibGF5ZXJzIiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJsZW4iLCAiMS4wIiwgRURHRSwgTkVBVE8NCi0ibGhlYWQiLCAiIiwgRURHRSwgRE9UDQotImxwIiwgIiIsIEVER0UgT3IgR1JBUEggT3IgQ0xVU1RFUiwgQUxMX0VOR0lORVMNCi0ibHRhaWwiLCAiIiwgRURHRSwgRE9UDQotIm1hcmdpbiIsICIiLCBHUkFQSCwgQUxMX0VOR0lORVMNCi0ibWF4aXRlciIsICIiLCBHUkFQSCwgTkVBVE8NCi0ibWNsaW1pdCIsICIxLjAiLCBHUkFQSCwgRE9UDQotIm1pbmxlbiIsICIxIiwgRURHRSwgRE9UDQotIm1vZGVsIiwgIiIsIEdSQVBILCBORUFUTw0KLSJub2Rlc2VwIiwgIjAuMjUiLCBHUkFQSCwgRE9UDQotIm5vcm1hbGl6ZSIsICJmYWxzZSIsIEdSQVBILCBORUFUTw0KLSJuc2xpbWl0IiwgIiIsIEdSQVBILCBET1QNCi0ib3JkZXJpbmciLCAiIiwgR1JBUEgsIERPVA0KLSJvcmllbnRhdGlvbiIsICIwLjAiLCBOT0RFLCBBTExfRU5HSU5FUw0KLSJvcmllbnRhdGlvbiIsICIiLCBHUkFQSCwgQUxMX0VOR0lORVMNCi0ib3ZlcmxhcCIsICIiLCBHUkFQSCwgTkVBVE8NCi0icGFjayIsICJmYWxzZSIsIEdSQVBILCBORUFUTw0KLSJwYWdlIiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJwYWdlZGlyIiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJwZW5jb2xvciIsICJibGFjayIsIENMVVNURVIsIEFMTF9FTkdJTkVTDQotInBlcmlwaGVyaWVzIiwgIjAiLCBOT0RFLCBBTExfRU5HSU5FUw0KLSJwaW4iLCAiZmFsc2UiLCBOT0RFLCBORUFUTw0KLSJwb3MiLCAiIiwgRURHRSBPciBOT0RFLCBBTExfRU5HSU5FUw0KLSJxdWFudHVtIiwgIjAuMCIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJyYW5rIiwgIiIsIFNVQkdSQVBILCBET1QNCi0icmFua2RpciIsICIiLCBHUkFQSCwgRE9UDQotInJhbmtzZXAiLCAiIiwgR1JBUEgsIEFMTF9FTkdJTkVTDQotInJhdGlvIiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJyZWN0cyIsICIiLCBOT0RFLCBBTExfRU5HSU5FUw0KLSJyZWd1bGFyIiwgImZhbHNlIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0icmVtaW5jcm9zcyIsICJmYWxzZSIsIEdSQVBILCBET1QNCi0icm90YXRlIiwgIjAiLCBHUkFQSCwgQUxMX0VOR0lORVMNCi0ic2FtZWhlYWQiLCAiIiwgRURHRSwgRE9UDQotInNhbWV0YWlsIiwgIiIsIEVER0UsIERPVA0KLSJzYW1wbGVwb2ludHMiLCAiOCIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJzZWFyY2hzaXplIiwgIjMwIiwgR1JBUEgsIERPVA0KLSJzZXAiLCAiMC4wMSIsIEdSQVBILCBORUFUTw0KLSJzaGFwZSIsICJlbGxpcHNlIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0ic2hhcGVmaWxlIiwgIiIsIE5PREUsIEFMTF9FTkdJTkVTDQotInNob3dib3hlcyIsICIwIiwgRURHRSBPciBOT0RFIE9yIEdSQVBILCBET1QNCi0ic2lkZXMiLCAiNCIsIE5PREUsIEFMTF9FTkdJTkVTDQotInNpemUiLCAiIiwgR1JBUEgsIEFMTF9FTkdJTkVTDQotInNrZXciLCAiMC4wIiwgTk9ERSwgQUxMX0VOR0lORVMNCi0ic3BsaW5lcyIsICJmYWxzZSIsIEdSQVBILCBORUFUTw0KLSJzdGFydCIsICIiLCBHUkFQSCwgQUxMX0VOR0lORVMNCi0ic3R5bGUiLCAiIiwgRURHRSBPciBOT0RFLCBBTExfRU5HSU5FUw0KLSJzdHlsZXNoZWV0IiwgIiIsIEdSQVBILCBBTExfRU5HSU5FUw0KLSJ0YWlsVVJMIiwgIiIsIEVER0UsIEFMTF9FTkdJTkVTDQotInRhaWxsYWJlbCIsICIiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJ0YWlscG9ydCIsICJjZW50ZXIiLCBFREdFLCBBTExfRU5HSU5FUw0KLSJ0b3BsYWJlbCIsICIiLCBOT0RFLCBBTExfRU5HSU5FUw0KLSJ2ZXJ0aWNlcyIsICIiLCBOT0RFLCBBTExfRU5HSU5FUw0KLSJ2b3JvX21hcmdpbiIsICIwLjA1IiwgR1JBUEgsIE5FQVRPDQotIndlaWdodCIsICIiLCBFREdFLCBET1QgT3IgTkVBVE8NCi0id2lkdGgiLCAiMC43NSIsIE5PREUsIEFMTF9FTkdJTkVTDQotInoiLCAiMC4wIiwgTk9ERSwgQUxMX0VOR0lORVMNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLWF1dG9oaW50LmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLWF1dG9oaW50LmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1ZjlhMGYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1hdXRvaGludC5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPCEtLSBkZWJpYW4vYXV0b2hpbnQuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tICBVc2UgdGhlIEF1dG9oaW50ZXIgLS0+IA0KLSAgPG1hdGNoIHRhcmdldD0iZm9udCI+DQotICAgIDxlZGl0IG5hbWU9ImF1dG9oaW50IiBtb2RlPSJhc3NpZ24iPjxib29sPnRydWU8L2Jvb2w+PC9lZGl0Pg0KLSAgPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1uby1zdWItcGl4ZWwuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtbm8tc3ViLXBpeGVsLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2MTc0ZDkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1uby1zdWItcGl4ZWwuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gY29uZi5kL3N1Yi1waXhlbC5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gIEVuYWJsZSBzdWItcGl4ZWwgcmVuZGVyaW5nIC0tPiANCi0gIDxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLSAgICA8ZWRpdCBuYW1lPSJyZ2JhIiBtb2RlPSJhc3NpZ24iPjxjb25zdD5ub25lPC9jb25zdD48L2VkaXQ+DQotICA8L21hdGNoPg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXN1Yi1waXhlbC1iZ3IuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtc3ViLXBpeGVsLWJnci5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTRlZjAzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtc3ViLXBpeGVsLWJnci5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPCEtLSBjb25mLmQvc3ViLXBpeGVsLmNvbmYgLS0+DQotPGZvbnRjb25maWc+DQotPCEtLSAgRW5hYmxlIHN1Yi1waXhlbCByZW5kZXJpbmcgLS0+IA0KLSAgPG1hdGNoIHRhcmdldD0iZm9udCI+DQotICAgIDxlZGl0IG5hbWU9InJnYmEiIG1vZGU9ImFzc2lnbiI+PGNvbnN0PmJncjwvY29uc3Q+PC9lZGl0Pg0KLSAgPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1zdWItcGl4ZWwtcmdiLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXN1Yi1waXhlbC1yZ2IuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDkwYjEwOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXN1Yi1waXhlbC1yZ2IuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gY29uZi5kL3N1Yi1waXhlbC5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gIEVuYWJsZSBzdWItcGl4ZWwgcmVuZGVyaW5nIC0tPiANCi0gIDxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLSAgICA8ZWRpdCBuYW1lPSJyZ2JhIiBtb2RlPSJhc3NpZ24iPjxjb25zdD5yZ2I8L2NvbnN0PjwvZWRpdD4NCi0gIDwvbWF0Y2g+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtc3ViLXBpeGVsLXZiZ3IuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtc3ViLXBpeGVsLXZiZ3IuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZmY2FhNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXN1Yi1waXhlbC12YmdyLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tICBFbmFibGUgc3ViLXBpeGVsIHJlbmRlcmluZyAtLT4gDQotICA8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0gICAgPGVkaXQgbmFtZT0icmdiYSIgbW9kZT0iYXNzaWduIj48Y29uc3Q+dmJncjwvY29uc3Q+PC9lZGl0Pg0KLSAgPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1zdWItcGl4ZWwtdnJnYi5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC1zdWItcGl4ZWwtdnJnYi5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZDI5NTg1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMTAtc3ViLXBpeGVsLXZyZ2IuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gY29uZi5kL3N1Yi1waXhlbC5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gIEVuYWJsZSBzdWItcGl4ZWwgcmVuZGVyaW5nIC0tPiANCi0gIDxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLSAgICA8ZWRpdCBuYW1lPSJyZ2JhIiBtb2RlPSJhc3NpZ24iPjxjb25zdD52cmdiPC9jb25zdD48L2VkaXQ+DQotICA8L21hdGNoPg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXVuaGludGVkLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzEwLXVuaGludGVkLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4NGM0MzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8xMC11bmhpbnRlZC5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPCEtLSBkZWJpYW4vdW5oaW50ZWQuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tICBEaXNhYmxlIGhpbnRpbmcgLS0+IA0KLSAgPG1hdGNoIHRhcmdldD0iZm9udCI+DQotICAgIDxlZGl0IG5hbWU9ImhpbnRpbmciIG1vZGU9ImFzc2lnbiI+PGJvb2w+ZmFsc2U8L2Jvb2w+PC9lZGl0Pg0KLSAgPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC1maXgtZ2xvYmFsYWR2YW5jZS5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC1maXgtZ2xvYmFsYWR2YW5jZS5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZmMyODM2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMjAtZml4LWdsb2JhbGFkdmFuY2UuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotICBTb21lIEFzaWFuIGZvbnRzIG1pc2FkdmVydGlzZSB0aGVtc2VsdmVzIGFzIG1vbm9zcGFjZWQgd2hlbg0KLSAgaW4gZmFjdCB0aGV5IGFyZSBkdWFsLXNwYWNlZCAoaGFsZiBhbmQgZnVsbCkuICBUaGlzIG1ha2VzDQotICBGcmVlVHlwZSB2ZXJ5IGNvbmZ1c2VkIGFzIGl0IGZvcmNlcyBhbGwgd2lkdGhzIHRvIG1hdGNoLg0KLSAgVW5kbyB0aGlzIG1hZ2ljIGJ5IGRpc2FibGluZyB0aGUgd2lkdGggZm9yY2luZyBjb2RlIC0tPg0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+PHN0cmluZz5HdWxpbUNoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPjxzdHJpbmc+RG90dW1DaGU8L3N0cmluZz48L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJnbG9iYWxhZHZhbmNlIj48Ym9vbD5mYWxzZTwvYm9vbD48L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij48c3RyaW5nPkJhdGFuZ0NoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPjxzdHJpbmc+R3VuZ3N1aENoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC1sb2hpdC1ndWphcmF0aS5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC1sb2hpdC1ndWphcmF0aS5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWY1NmRjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMjAtbG9oaXQtZ3VqYXJhdGkuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08Zm9udGNvbmZpZz4NCi0NCi08IS0tIEF2YWlsYWJsZSBHdWphcnRpIGZvbnRzIGxvb2sgbXVjaCBiZXR0ZXIgd2l0aG91dCBoaW50aW5nIC0tPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+PHN0cmluZz5Mb2hpdCBHdWphcmF0aTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImhpbnRpbmciPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC11bmhpbnQtc21hbGwtdmVyYS5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8yMC11bmhpbnQtc21hbGwtdmVyYS5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTA0ZTY4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMjAtdW5oaW50LXNtYWxsLXZlcmEuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tIA0KLQlUaGUgQml0c3RyZWFtIFZlcmEgZm9udHMgaGF2ZSBHQVNQIGVudHJpZXMgc3VnZ2VzdGluZyB0aGF0IGhpbnRpbmcgYmUNCi0JZGlzYWJsZWQgYmVsb3cgOCBwcGVtLCBidXQgRnJlZVR5cGUgaWdub3JlcyB0aG9zZSwgcHJlZmVycmluZyB0byB1c2UNCi0JdGhlIGRhdGEgZm91bmQgaW4gdGhlIGluc3RydWN0ZWQgaGludHMuICBUaGUgaW5pdGlhbCBWZXJhIHJlbGVhc2UNCi0JZGlkbid0IGluY2x1ZGUgdGhlIHJpZ2h0IGluc3RydWN0aW9ucyBpbiB0aGUgJ3ByZXAnIHRhYmxlLiBGaXggdGhpcw0KLQlieSBkaXNhYmxpbmcgaGludGluZyBtYW51YWxseSBhdCBzbWFsbGVyIHNpemVzICg8IDhwcGVtKQ0KLSAtLT4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+Qml0c3RyZWFtIFZlcmEgU2Fuczwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0icGl4ZWxzaXplIiBjb21wYXJlPSJsZXNzIj4NCi0JCQk8ZG91YmxlPjcuNTwvZG91YmxlPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iaGludGluZyI+DQotCQkJPGJvb2w+ZmFsc2U8L2Jvb2w+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkJpdHN0cmVhbSBWZXJhIFNlcmlmPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJwaXhlbHNpemUiIGNvbXBhcmU9Imxlc3MiPg0KLQkJCTxkb3VibGU+Ny41PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJoaW50aW5nIj4NCi0JCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+Qml0c3RyZWFtIFZlcmEgU2FucyBNb25vPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJwaXhlbHNpemUiIGNvbXBhcmU9Imxlc3MiPg0KLQkJCTxkb3VibGU+Ny41PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJoaW50aW5nIj4NCi0JCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8zMC1hbXQtYWxpYXNlcy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8zMC1hbXQtYWxpYXNlcy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmE3NzE3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvMzAtYW10LWFsaWFzZXMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotIEFNVCBwcm92aWRlcyBtZXRyaWMgYW5kIHNoYXBlIGNvbXBhdGlibGUgZm9udHMgZm9yIHRoZXNlIHRocmVlIHdlYiBmb250DQotIGZhbWlsaWVzLg0KLSAtLT4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+VGltZXMgTmV3IFJvbWFuPC9mYW1pbHk+DQotCQk8YWNjZXB0PjxmYW1pbHk+VGhvcm5kYWxlIEFNVDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAJPGFsaWFzPg0KLQkJPGZhbWlseT5BcmlhbDwvZmFtaWx5Pg0KLQkJPGFjY2VwdD48ZmFtaWx5PkFsYmFueSBBTVQ8L2ZhbWlseT48L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+Q291cmllciBOZXc8L2ZhbWlseT4NCi0JCTxhY2NlcHQ+PGZhbWlseT5DdW1iZXJsYW5kIEFNVDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzMwLXVydy1hbGlhc2VzLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzMwLXVydy1hbGlhc2VzLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzNmQxN2QuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC8zMC11cnctYWxpYXNlcy5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gY29uZi5kL3N1Yi1waXhlbC5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0NCi0gIFVSVyBwcm92aWRlcyBtZXRyaWMgYW5kIHNoYXBlIGNvbXBhdGlibGUgZm9udHMgZm9yIHRoZXNlIDEwIEFkb2JlIGZhbWlsaWVzLg0KLSAgLS0+DQotICAgICAgICA8YWxpYXM+DQotICAgICAgICAgIDxmYW1pbHk+QXZhbnQgR2FyZGU8L2ZhbWlseT4NCi0gICAgICAgICAgPGFjY2VwdD48ZmFtaWx5PlVSVyBHb3RoaWMgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLSAgICAgICAgPC9hbGlhcz4NCi0gICAgICAgIDxhbGlhcz4NCi0gICAgICAgICAgPGZhbWlseT5Cb29rbWFuPC9mYW1pbHk+DQotICAgICAgICAgIDxhY2NlcHQ+PGZhbWlseT5VUlcgQm9va21hbiBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotICAgICAgICA8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5OaW1idXMgTW9ubyBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotCTwvYWxpYXM+DQotICAgICAgICA8YWxpYXM+DQotCSAgPGZhbWlseT5IZWx2ZXRpY2E8L2ZhbWlseT4NCi0JICA8YWNjZXB0PjxmYW1pbHk+TmltYnVzIFNhbnMgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLSAgICAgICAgICA8ZmFtaWx5Pk5ldyBDZW50dXJ5IFNjaG9vbGJvb2s8L2ZhbWlseT4NCi0gICAgICAgICAgPGFjY2VwdD48ZmFtaWx5PkNlbnR1cnkgU2Nob29sYm9vayBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotICAgICAgICA8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLSAgICAgICAgICA8ZmFtaWx5PlBhbGF0aW5vPC9mYW1pbHk+DQotICAgICAgICAgIDxhY2NlcHQ+PGZhbWlseT5VUlcgUGFsbGFkaW8gTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLSAgICAgICAgPC9hbGlhcz4NCi0gICAgICAgIDxhbGlhcz4NCi0JICA8ZmFtaWx5PlRpbWVzPC9mYW1pbHk+DQotCSAgPGFjY2VwdD48ZmFtaWx5Pk5pbWJ1cyBSb21hbiBObzkgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+WmFwZiBDaGFuY2VyeTwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5VUlcgQ2hhbmNlcnkgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+WmFwZiBEaW5nYmF0czwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5EaW5nYmF0czwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLQk8bWF0Y2ggdGFyZ2V0PSJwYXR0ZXJuIj4NCi0JICA8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkgICAgPHN0cmluZz5TeW1ib2w8L3N0cmluZz4NCi0JICA8L3Rlc3Q+DQotCSAgPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkgICAgPHN0cmluZz5TdGFuZGFyZCBTeW1ib2xzIEw8L3N0cmluZz4NCi0JICA8L2VkaXQ+DQotCTwvbWF0Y2g+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNDAtZ2VuZXJpYy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC80MC1nZW5lcmljLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBkY2UyMTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC80MC1nZW5lcmljLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotPCEtLQ0KLSAgTWFyayBjb21tb24gZmFtaWxpZXMgd2l0aCB0aGVpciBnZW5lcmljcyBzbyB3ZSdsbCBnZXQNCi0gIHNvbWV0aGluZyByZWFzb25hYmxlDQotLS0+DQotDQotPCEtLQ0KLSAgU2VyaWYgZmFjZXMNCi0gLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+Qml0c3RyZWFtIFZlcmEgU2VyaWY8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RGVqYVZ1IFNlcmlmPC9mYW1pbHk+DQotCQk8ZmFtaWx5PlRpbWVzIE5ldyBSb21hbjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5UaW1lczwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OaW1idXMgUm9tYW4gTm85IEw8L2ZhbWlseT4NCi0JCTxmYW1pbHk+THV4aSBTZXJpZjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Lb2NoaSBNaW5jaG88L2ZhbWlseT4NCi0JCTxmYW1pbHk+QVIgUEwgU3VuZ3RpTCBHQjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5BUiBQTCBNaW5ndGkyTCBCaWc1PC9mYW1pbHk+DQotCQk8ZmFtaWx5Pu+8re+8syDmmI7mnJ08L2ZhbWlseT4NCi0JCTxmYW1pbHk+QmFla211ayBCYXRhbmc8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RnJlZVNlcmlmPC9mYW1pbHk+DQotCQk8ZmFtaWx5Pk1nT3BlbiBDYW5vbmljYTwvZmFtaWx5Pg0KLQkJPGRlZmF1bHQ+PGZhbWlseT5zZXJpZjwvZmFtaWx5PjwvZGVmYXVsdD4NCi0JPC9hbGlhcz4NCi08IS0tDQotICBTYW5zLXNlcmlmIGZhY2VzDQotIC0tPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PkJpdHN0cmVhbSBWZXJhIFNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RGVqYVZ1IFNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+SGVsdmV0aWNhPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkFyaWFsPC9mYW1pbHk+DQotCQk8ZmFtaWx5PlZlcmRhbmE8L2ZhbWlseT4NCi0JCTxmYW1pbHk+QWxiYW55IEFNVDwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OaW1idXMgU2FucyBMPC9mYW1pbHk+DQotCQk8ZmFtaWx5Pkx1eGkgU2FuczwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Lb2NoaSBHb3RoaWM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+QVIgUEwgS2FpdGlNIEdCPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBCaWc1PC9mYW1pbHk+DQotCQk8ZmFtaWx5Pu+8re+8syDjgrTjgrfjg4Pjgq88L2ZhbWlseT4NCi0JCTxmYW1pbHk+QmFla211ayBEb3R1bTwvZmFtaWx5Pg0KLQkJPGZhbWlseT5TaW1TdW48L2ZhbWlseT4NCi0JCTxmYW1pbHk+RnJlZVNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+TWdPcGVuIE1vZGF0YTwvZmFtaWx5Pg0KLQkJPGRlZmF1bHQ+PGZhbWlseT5zYW5zLXNlcmlmPC9mYW1pbHk+PC9kZWZhdWx0Pg0KLQk8L2FsaWFzPg0KLTwhLS0NCi0gIE1vbm9zcGFjZSBmYWNlcw0KLSAtLT4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+Qml0c3RyZWFtIFZlcmEgU2FucyBNb25vPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkRlamFWdSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCTxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Db3VyaWVyIE5ldzwvZmFtaWx5Pg0KLQkJPGZhbWlseT5BbmRhbGUgTW9ubzwvZmFtaWx5Pg0KLQkJPGZhbWlseT5MdXhpIE1vbm88L2ZhbWlseT4NCi0JCTxmYW1pbHk+Q3VtYmVybGFuZCBBTVQ8L2ZhbWlseT4NCi0JCTxmYW1pbHk+TmltYnVzIE1vbm8gTDwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OU2ltU3VuPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkZyZWVNb25vPC9mYW1pbHk+DQotCQk8ZGVmYXVsdD48ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5PjwvZGVmYXVsdD4NCi0JPC9hbGlhcz4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC80OS1zYW5zc2VyaWYuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNDktc2Fuc3NlcmlmLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmYjBiZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC80OS1zYW5zc2VyaWYuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotICBJZiB0aGUgZm9udCBzdGlsbCBoYXMgbm8gZ2VuZXJpYyBuYW1lLCBhZGQgc2Fucy1zZXJpZg0KLSAtLT4NCi0JPG1hdGNoIHRhcmdldD0icGF0dGVybiI+DQotCQk8dGVzdCBxdWFsPSJhbGwiIG5hbWU9ImZhbWlseSIgY29tcGFyZT0ibm90X2VxIj4NCi0JCQk8c3RyaW5nPnNhbnMtc2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IHF1YWw9ImFsbCIgbmFtZT0iZmFtaWx5IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxzdHJpbmc+c2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IHF1YWw9ImFsbCIgbmFtZT0iZmFtaWx5IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxzdHJpbmc+bW9ub3NwYWNlPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZF9sYXN0Ij4NCi0JCQk8c3RyaW5nPnNhbnMtc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC81MC11c2VyLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzUwLXVzZXIuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjc1Nzk3My4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzUwLXVzZXIuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gL2V0Yy9mb250cy9jb25mLmF2YWlsLzUwLXVzZXIuY29uZiBmaWxlIHRvIGNvbmZpZ3VyZSBzeXN0ZW0gZm9udCBhY2Nlc3MgLS0+DQotPGZvbnRjb25maWc+DQotCTwhLS0gTG9hZCBwZXItdXNlciBjdXN0b21pemF0aW9uIGZpbGUgLS0+DQotCTxpbmNsdWRlIGlnbm9yZV9taXNzaW5nPSJ5ZXMiPn4vLmZvbnRzLmNvbmY8L2luY2x1ZGU+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNTEtbG9jYWwuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNTEtbG9jYWwuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQ1OGZhMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzUxLWxvY2FsLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIC9ldGMvZm9udHMvY29uZi5hdmFpbC81MS1sb2NhbC5jb25mIGZpbGUgdG8gY29uZmlndXJlIHN5c3RlbSBmb250IGFjY2VzcyAtLT4NCi08Zm9udGNvbmZpZz4NCi0JPCEtLSBMb2FkIGxvY2FsIHN5c3RlbSBjdXN0b21pemF0aW9uIGZpbGUgLS0+DQotCTxpbmNsdWRlIGlnbm9yZV9taXNzaW5nPSJ5ZXMiPmxvY2FsLmNvbmY8L2luY2x1ZGU+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNjAtbGF0aW4uY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNjAtbGF0aW4uY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg3MWZlOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzYwLWxhdGluLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTZXJpZjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+RGVqYVZ1IFNlcmlmPC9mYW1pbHk+DQotCQkJPGZhbWlseT5UaW1lcyBOZXcgUm9tYW48L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PlRob3JuZGFsZSBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgU2VyaWY8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pk5pbWJ1cyBSb21hbiBObzkgTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VGltZXM8L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PnNhbnMtc2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTYW5zPC9mYW1pbHk+DQotCQkJPGZhbWlseT5EZWphVnUgU2FuczwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VmVyZGFuYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QXJpYWw8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFsYmFueSBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgU2FuczwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TmltYnVzIFNhbnMgTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+SGVsdmV0aWNhPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi0JPGFsaWFzPg0KLQkJPGZhbWlseT5tb25vc3BhY2U8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkRlamFWdSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFuZGFsZSBNb25vPC9mYW1pbHk+DQotCQkJPGZhbWlseT5Db3VyaWVyIE5ldzwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+Q3VtYmVybGFuZCBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgTW9ubzwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TmltYnVzIE1vbm8gTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNjUtZm9udHMtcGVyc2lhbi5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC82NS1mb250cy1wZXJzaWFuLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmNGE5YTAuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC82NS1mb250cy1wZXJzaWFuLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw1MzkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gL2V0Yy9mb250cy9jb25mLmQvMTAtZm9udHMtcGVyc2lhbi5jb25mIC0tPg0KLTwhLS0NCi0gIGZvbnRzLXBlcnNpYW4uY29uZg0KLSAgVG8gY29uZmlndXJlIFBlcnNpYW4gZm9udHMgZnJvbSBUaGUgRmFyc2lXZWIgUHJvamVjdC4NCi0NCi0gIENvcHlyaWdodCAoQykgMjAwNSAgU2hhcmlmIEZhcnNpV2ViLCBJbmMuIDxsaWNlbnNlQGZhcnNpd2ViLmluZm8+DQotDQotICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLCBhbmQgc2VsbCB0aGlzIHNvZnR3YXJlIGFuZCBpdHMNCi0gIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBwcm92aWRlZCB0aGF0DQotICB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQNCi0gIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIHN1cHBvcnRpbmcNCi0gIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lIG9mIFNoYXJpZiBGYXJzaVdlYiwgSW5jLiBub3QgYmUgdXNlZCBpbg0KLSAgYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0DQotICBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgU2hhcmlmIEZhcnNpV2ViLCBJbmMuIG1ha2VzIG5vDQotICByZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLiAgSXQNCi0gIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuDQotDQotICBTSEFSSUYgRkFSU0lXRUIsIElOQy4gRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsDQotICBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PDQotICBFVkVOVCBTSEFMTCBLRUlUSCBQQUNLQVJEIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SDQotICBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwNCi0gIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVINCi0gIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1INCi0gIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuDQotDQotICBDaGFuZ2VMb2c6DQotICAgIDIwMDUtMDQtMDMgIEJlaGRhZCBFc2ZhaGJvZDogIEluaXRpYWwgcmV2aXNpb24uDQotICAgIDIwMDUtMTAtMDkgIEJlaGRhZCBFc2ZhaGJvZDogIFR1cm5lZCBvZmYgYmFjay1zbGFudCBhbmQgVGFob21hIHNlY3Rpb25zLg0KLSAgICAyMDA1LTExLTMwICBCZWhkYWQgRXNmYWhib2Q6ICBTZXQgVGl0ciBzdXNidGl0dXRpb24gc2l6ZSB0byAyNCBwb2ludHMuDQotDQotICBUb2RvOg0KLSAgICBBZGQgZ2VuZXJpYyBmb250ICJmYW50YXN5Ii4gIEFkZCBzb21lIGZvbnRzIGludG8gdGhhdCBjYXRlZ29yeS4NCi0gICAgTWF5YmUgYWRkIGEgImN1cnNpdmUiIGdlbmVyaWMgZm9udC4NCi0gIC0tPg0KLTxmb250Y29uZmlnPg0KLQ0KLQ0KLTwhLS0NCi0gIFdlIGRvbid0IHdhbnQgd2VhayBiaW5kaW5ncy4gIFNvIGdvdCB0byB1c2UgdGhlIHN5bnRhY3RpY2FsIGV4cGFuc2lvbg0KLSAgb2YgYWxpYXMgdGFnIHRvIGRvIGJpbmRpbmc9c2FtZSA6KC4gIFBsZWFzZSBzdXBwb3J0IHRoYXQgaW4gYWxpYXMuDQotICAtLT4NCi0NCi0NCi08IS0tIERlcHJlY2F0ZWQgZm9udHMgYXJlIGRpc2NvdXJhZ2VkIC0tPg0KLQ0KLQk8IS0tIE5lc2ZbMl0gaXMgb2ZmaWNpYWxseSBkZXByZWNhdGVkIGFuZCBoYXMgcHJvYmxlbWF0aWMgdGFibGVzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+TmVzZjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+TmVzZjI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5lc2YyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NhbnNzZXJpZl9kZWZhdWx0PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gVGFob21hIGxvb2tzIGF3ZnVsIChUVVJORUQtT0ZGKSAtLT4NCi0JPCEtLW1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRhaG9tYTwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJwcmVwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2Fuc3NlcmlmX2RlZmF1bHQ8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaC0tPg0KLQ0KLTwhLS0gTmFtZSBjaGFuZ2VzIGFuZCBzcGVsbGluZyB2YXJpYW50IGFsaWFzZXMgLS0+DQotDQotCTwhLS0gQ2hhbmdlZCBkdWUgdG8gdHJhZGVtYXJrIHByb2JsZW1zIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+TmF6YW5pbjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+TmF6bGk8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkxvdHVzPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5Mb3Rvb3M8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBDaGFuZ2VkIGR1ZSB0byB0cmFuc2NyaXB0aW9uIG9ydGhvZ3JhcGh5IC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+WWFxdXQ8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPllhZ2hvb3Q8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPllhZ3V0PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5ZYWdob290PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5ZYWdodXQ8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPllhZ2hvb3Q8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRyYWZmaWM8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlRlcmFmaWs8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkZlcmRvd3NpPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GZXJkb3NpPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5GYW50ZXp5PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GYW50ZXppPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBDbGFzc2lmeSBmb250cy4gLS0+DQotDQotCTwhLS0gUGVyc2lhbl90aXRsZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkphZGlkPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3RpdGxlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3RpdGxlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gUGVyc2lhbl9mYW50YXN5IGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+S2FtcmFuPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5Ib21hPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkhvbWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkthbXJhbjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9mYW50YXN5PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5GYW50ZXppPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRhYmFzc29tPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBQZXJzaWFuX3NxdWFyZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkFyc2hpYTwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5hc2ltPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+RWxoYW08L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkZhcm5hejwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkZhcm5hejwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+RWxoYW08L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc3F1YXJlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5TaW5hPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLTwhLS0gRm9udCBvcmRlcmluZyBwZXIgY2xhc3MgLS0+DQotDQotCTwhLS0gUGVyc2lhbl90aXRsZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fdGl0bGU8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkphZGlkPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gUGVyc2lhbl9mYW50YXN5IGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9mYW50YXN5PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+VGFiYXNzb208L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkZhbnRlemk8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkthbXJhbjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+SG9tYTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQk8IS0tIFBlcnNpYW5fc3F1YXJlIGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlNpbmE8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPk5hc2ltPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GYXJuYXo8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkVsaGFtPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5BcnNoaWE8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi08IS0tIFJlZ2lzdGVyIHRoZSBmb250cyB0aGF0IHdlIGFjdHVhbGx5IGRvIGhhdmUgLS0+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkVsaGFtPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkhvbWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTxzdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+S29vZGFrPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5hemxpPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlJveWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTxzdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+VGVyYWZpazwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBPdXIgZm9udHMgc2hvdWxkIG9ibGlxdWUgdG8gdGhlIG90aGVyIHNpZGUgKFRVUk5FRC1PRkYpIC0tPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTwhLS1zdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZy0tPg0KLQkJCTxzdHJpbmc+VFVSTkVELU9GRjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPCEtLSBjaGVjayB0byBzZWUgaWYgdGhlIGZvbnQgaXMgcm9tYW4gLS0+DQotCQk8dGVzdCBuYW1lPSJzbGFudCI+DQotCQkJPGNvbnN0PnJvbWFuPC9jb25zdD4NCi0JCTwvdGVzdD4NCi0JCTwhLS0gY2hlY2sgdG8gc2VlIGlmIHRoZSBwYXR0ZXJuIHJlcXVlc3RlZCBub24tcm9tYW4gLS0+DQotCQk8dGVzdCB0YXJnZXQ9InBhdHRlcm4iIG5hbWU9InNsYW50IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxjb25zdD5yb21hbjwvY29uc3Q+DQotCQk8L3Rlc3Q+DQotCQk8IS0tIG11bHRpcGx5IHRoZSBtYXRyaXggdG8gc2xhbnQgdGhlIGZvbnQgLS0+DQotCQk8ZWRpdCBuYW1lPSJtYXRyaXgiIG1vZGU9ImFzc2lnbiI+DQotCQkJPHRpbWVzPg0KLQkJCQk8bmFtZT5tYXRyaXg8L25hbWU+DQotCQkJCTxtYXRyaXg+PGRvdWJsZT4xPC9kb3VibGU+PGRvdWJsZT4tMC4yPC9kb3VibGU+DQotCQkJCQk8ZG91YmxlPjA8L2RvdWJsZT48ZG91YmxlPjE8L2RvdWJsZT4NCi0JCQkJPC9tYXRyaXg+DQotCQkJPC90aW1lcz4NCi0JCTwvZWRpdD4NCi0JCTwhLS0gcHJldGVuZCB0aGUgZm9udCBpcyBvYmxpcXVlIG5vdyAtLT4NCi0JCTxlZGl0IG5hbWU9InNsYW50IiBtb2RlPSJhc3NpZ24iPg0KLQkJCTxjb25zdD5vYmxpcXVlPC9jb25zdD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0NCi08IS0tDQotICBXZSBjYW4ndCBoaW50IG91ciBmb250cyB3ZWxsLCBzbyB0dXJuIG9mZiBoaW50aW5nLg0KLSAgTW9yZW92ZXIsIHRoZSBiaXRtYXBzIHdlIGhhdmUgZGVzaWduZWQgKHdlbGwsIHRoZXkNCi0gIGhhdmUgZGVzaWduZWQpLCBzdWNrLCBzbyBkaXNhYmxlIHRoZW0gdG9vLg0KLSAgLS0+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iYXV0b2hpbnQiPg0KLQkJCTxib29sPmZhbHNlPC9ib29sPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iaGludGluZyI+DQotCQkJPGJvb2w+ZmFsc2U8L2Jvb2w+DQotCQk8L2VkaXQ+DQotIAkJPGVkaXQgbmFtZT0iZW1iZWRkZWRiaXRtYXAiPg0KLSAJCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0gCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBBbGlhcyBvdXIgZm9udHMgdG8gY29tbW9uIGZhbWlsaWVzIC0tPg0KLQ0KLQk8IS0tIFBlcnNpYW4gc2VyaWYgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxhY2NlcHQ+DQotCQkJPGZhbWlseT5OYXpsaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TG90b29zPC9mYW1pbHk+DQotCQkJPGZhbWlseT5NaXRyYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+RmVyZG9zaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QmFkcjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+WmFyPC9mYW1pbHk+DQotCQk8L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0NCi0JPCEtLSBQZXJzaWFuIHNhbnMtc2VyaWYgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5Pg0KLQkJPGFjY2VwdD4NCi0JCQk8ZmFtaWx5PlJveWE8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pktvb2RhazwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VGVyYWZpazwvZmFtaWx5Pg0KLQkJPC9hY2NlcHQ+DQotCTwvYWxpYXM+DQotDQotCTwhLS0gUGVyc2lhbiBtb25vc3BhY2UgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+bW9ub3NwYWNlPC9mYW1pbHk+DQotCQk8YWNjZXB0Pg0KLQkJCTwhLS0gTm90IHJlYWxseSBtb25vc3BhY2UgLS0+DQotCQkJPGZhbWlseT5UZXJhZmlrPC9mYW1pbHk+DQotCQk8L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0NCi0NCi08IS0tIFVzZSBUaXRyIGluIHRpdGxlcyAtLT4NCi0NCi0JPCEtLSBCb3RoIHNlcmlmLi4uIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+c2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IG5hbWU9IndlaWdodCIgY29tcGFyZT0ibW9yZV9lcSI+DQotCQkJPGludD4yMDA8L2ludD4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IG5hbWU9InNpemUiIGNvbXBhcmU9Im1vcmVfZXEiPg0KLQkJCTxkb3VibGU+MjQ8L2RvdWJsZT4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0icHJlcGVuZCI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gYW5kIHNhbnMtc2VyaWYuIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+c2Fucy1zZXJpZjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0id2VpZ2h0IiBjb21wYXJlPSJtb3JlX2VxIj4NCi0JCQk8aW50PjIwMDwvaW50Pg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0ic2l6ZSIgY29tcGFyZT0ibW9yZV9lcSI+DQotCQkJPGRvdWJsZT4yNDwvZG91YmxlPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJwcmVwZW5kIj4NCi0JCQk8c3RyaW5nPlRpdHI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBhbmQgbW9yZS4gLS0+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NhbnNzZXJpZl9kZWZhdWx0PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJ3ZWlnaHQiIGNvbXBhcmU9Im1vcmVfZXEiPg0KLQkJCTxpbnQ+MjAwPC9pbnQ+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJzaXplIiBjb21wYXJlPSJtb3JlX2VxIj4NCi0JCQk8ZG91YmxlPjI0PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9InByZXBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+VGl0cjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQ0KLTwhLS0gRGVmYXVsdCBzdWJzdGl0dXRlZCBmb3IgZGVwcmVjYXRlZCBzYW5zLXNlcmlmIGZvbnRzIC0tPg0KLQ0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zYW5zc2VyaWZfZGVmYXVsdDwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+Um95YTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzY1LW5vbmxhdGluLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzY1LW5vbmxhdGluLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0N2VhYTIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC82NS1ub25sYXRpbi5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTxmb250Y29uZmlnPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PnNlcmlmPC9mYW1pbHk+DQotCQk8cHJlZmVyPg0KLQkJCTxmYW1pbHk+RnJhbmsgUnVlaGw8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pk1nT3BlbiBDYW5vbmljYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+S29jaGkgTWluY2hvPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBTdW5ndGlMIEdCPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBNaW5ndGkyTCBCaWc1PC9mYW1pbHk+DQotCQkJPGZhbWlseT7vvK3vvLMg5piO5pydPC9mYW1pbHk+DQotCQkJPGZhbWlseT5CYWVrbXVrIEJhdGFuZzwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5Pk5hY2hsaWVsaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TWdPcGVuIE1vZGF0YTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+S29jaGkgR290aGljPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBLYWl0aU0gR0I8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBCaWc1PC9mYW1pbHk+DQotCQkJPGZhbWlseT7vvK3vvLMg44K044K344OD44KvPC9mYW1pbHk+DQotCQkJPGZhbWlseT5CYWVrbXVrIERvdHVtPC9mYW1pbHk+DQotCQkJPGZhbWlseT5TaW1TdW48L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5Pk1pcmlhbSBNb25vPC9mYW1pbHk+DQotCQkJPGZhbWlseT5Lb2NoaSBHb3RoaWM8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBHQjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QmFla211ayBEb3R1bTwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNjktdW5pZm9udC5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC82OS11bmlmb250LmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNWE4ZDguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC82OS11bmlmb250LmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5GcmVlU2VyaWY8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkNvZGUyMDAwPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi0JPGFsaWFzPg0KLQkJPGZhbWlseT5zYW5zLXNlcmlmPC9mYW1pbHk+DQotCQk8cHJlZmVyPg0KLQkJCTxmYW1pbHk+RnJlZVNhbnM8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFyaWFsIFVuaWNvZGUgTVM8L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5PkZyZWVNb25vPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC83MC1uby1iaXRtYXBzLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzcwLW5vLWJpdG1hcHMuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZjOTU4NC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzcwLW5vLWJpdG1hcHMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIC9ldGMvZm9udHMvY29uZi5kL25vLWJpdG1hcHMuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tIFJlamVjdCBiaXRtYXAgZm9udHMgLS0+DQotIDxzZWxlY3Rmb250Pg0KLSAgPHJlamVjdGZvbnQ+DQotICAgPHBhdHRlcm4+DQotICAgICA8cGF0ZWx0IG5hbWU9InNjYWxhYmxlIj48Ym9vbD5mYWxzZTwvYm9vbD48L3BhdGVsdD4NCi0gICA8L3BhdHRlcm4+DQotICA8L3JlamVjdGZvbnQ+DQotIDwvc2VsZWN0Zm9udD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC83MC15ZXMtYml0bWFwcy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC83MC15ZXMtYml0bWFwcy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Yjk3OWU4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvNzAteWVzLWJpdG1hcHMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC95ZXMtYml0bWFwcy5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gQWNjZXB0IGJpdG1hcCBmb250cyAtLT4NCi0gPHNlbGVjdGZvbnQ+DQotICA8YWNjZXB0Zm9udD4NCi0gICA8cGF0dGVybj4NCi0gICAgIDxwYXRlbHQgbmFtZT0ic2NhbGFibGUiPjxib29sPmZhbHNlPC9ib29sPjwvcGF0ZWx0Pg0KLSAgIDwvcGF0dGVybj4NCi0gIDwvYWNjZXB0Zm9udD4NCi0gPC9zZWxlY3Rmb250Pg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzgwLWRlbGljaW91cy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC84MC1kZWxpY2lvdXMuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODgzODFkZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzgwLWRlbGljaW91cy5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gL2V0Yy9mb250cy9jb25mLmQvNjAtZGVsaWNpb3VzLmNvbmYgLS0+DQotPGZvbnRjb25maWc+DQotPCEtLSBGaXgtdXBzIGZvciBEZWxpY2lvdXMgZmFtaWx5IC0tPg0KLQ0KLTwhLS0gRGVsaWNpb3VzICdoZWF2eScgdmFyaWFudCBzYXlzIGl0cyBNZWRpdW0gd2VpZ2h0IC0tPg0KLTxtYXRjaCB0YXJnZXQ9InNjYW4iPg0KLQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJPHN0cmluZz5EZWxpY2lvdXM8L3N0cmluZz4NCi0JPC90ZXN0Pg0KLQk8dGVzdCBuYW1lPSJzdHlsZSI+DQotCQk8c3RyaW5nPkhlYXZ5PC9zdHJpbmc+DQotCTwvdGVzdD4NCi0JPGVkaXQgbmFtZT0id2VpZ2h0Ij4NCi0JCTxjb25zdD5oZWF2eTwvY29uc3Q+DQotCTwvZWRpdD4NCi08L21hdGNoPg0KLQ0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzkwLXN5bnRoZXRpYy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC85MC1zeW50aGV0aWMuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU0MTNmOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmF2YWlsLzkwLXN5bnRoZXRpYy5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gDQotIEFydGlmaWNpYWwgb2JsaXF1ZSBmb3IgZm9udHMgd2l0aG91dCBhbiBpdGFsaWMgb3Igb2JsaXF1ZSB2ZXJzaW9uDQotIC0tPg0KLSANCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8IS0tIGNoZWNrIHRvIHNlZSBpZiB0aGUgZm9udCBpcyByb21hbiAtLT4NCi0JCTx0ZXN0IG5hbWU9InNsYW50Ij4NCi0JCQk8Y29uc3Q+cm9tYW48L2NvbnN0Pg0KLQkJPC90ZXN0Pg0KLQkJPCEtLSBjaGVjayB0byBzZWUgaWYgdGhlIHBhdHRlcm4gcmVxdWVzdGVkIG5vbi1yb21hbiAtLT4NCi0JCTx0ZXN0IHRhcmdldD0icGF0dGVybiIgbmFtZT0ic2xhbnQiIGNvbXBhcmU9Im5vdF9lcSI+DQotCQkJPGNvbnN0PnJvbWFuPC9jb25zdD4NCi0JCTwvdGVzdD4NCi0JCTwhLS0gbXVsdGlwbHkgdGhlIG1hdHJpeCB0byBzbGFudCB0aGUgZm9udCAtLT4NCi0JCTxlZGl0IG5hbWU9Im1hdHJpeCIgbW9kZT0iYXNzaWduIj4NCi0JCQk8dGltZXM+DQotCQkJCTxuYW1lPm1hdHJpeDwvbmFtZT4NCi0JCQkJPG1hdHJpeD48ZG91YmxlPjE8L2RvdWJsZT48ZG91YmxlPjAuMjwvZG91YmxlPg0KLQkJCQkJPGRvdWJsZT4wPC9kb3VibGU+PGRvdWJsZT4xPC9kb3VibGU+DQotCQkJCTwvbWF0cml4Pg0KLQkJCTwvdGltZXM+DQotCQk8L2VkaXQ+DQotCQk8IS0tIHByZXRlbmQgdGhlIGZvbnQgaXMgb2JsaXF1ZSBub3cgLS0+DQotCQk8ZWRpdCBuYW1lPSJzbGFudCIgbW9kZT0iYXNzaWduIj4NCi0JCQk8Y29uc3Q+b2JsaXF1ZTwvY29uc3Q+DQotCQk8L2VkaXQ+DQotICAgICAgICAgICAgICAgIDwhLS0gYW5kIGRpc2FibGUgZW1iZWRkZWQgYml0bWFwcyBmb3IgYXJ0aWZpY2lhbCBvYmxpcXVlIC0tPg0KLSAgICAgICAgICAgICAgICA8ZWRpdCBuYW1lPSJlbWJlZGRlZGJpdG1hcCIgbW9kZT0iYXNzaWduIj4NCi0gICAgICAgICAgICAgICAgICAgICAgICA8Ym9vbD5mYWxzZTwvYm9vbD4NCi0gICAgICAgICAgICAgICAgPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLTwhLS0NCi0gU3ludGhldGljIGVtYm9sZGVuaW5nIGZvciBmb250cyB0aGF0IGRvIG5vdCBoYXZlIGJvbGQgZmFjZSBhdmFpbGFibGUNCi0gLS0+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPCEtLSBjaGVjayB0byBzZWUgaWYgdGhlIGZvbnQgaXMganVzdCByZWd1bGFyIC0tPg0KLQkJPHRlc3QgbmFtZT0id2VpZ2h0IiBjb21wYXJlPSJsZXNzX2VxIj4NCi0JCQk8Y29uc3Q+bWVkaXVtPC9jb25zdD4NCi0JCTwvdGVzdD4NCi0JCTwhLS0gY2hlY2sgdG8gc2VlIGlmIHRoZSBwYXR0ZXJuIHJlcXVlc3RzIGJvbGQgLS0+DQotCQk8dGVzdCB0YXJnZXQ9InBhdHRlcm4iIG5hbWU9IndlaWdodCIgY29tcGFyZT0ibW9yZSI+DQotCQkJPGNvbnN0Pm1lZGl1bTwvY29uc3Q+DQotCQk8L3Rlc3Q+DQotCQk8IS0tDQotCQkgIHNldCB0aGUgZW1ib2xkZW4gZmxhZw0KLQkJICBuZWVkZWQgZm9yIGFwcGxpY2F0aW9ucyB1c2luZyBjYWlybywgZS5nLiBndWNoYXJtYXAsIGdlZGl0LCAuLi4NCi0JCS0tPg0KLQkJPGVkaXQgbmFtZT0iZW1ib2xkZW4iIG1vZGU9ImFzc2lnbiI+DQotCQkJPGJvb2w+dHJ1ZTwvYm9vbD4NCi0JCTwvZWRpdD4NCi0JCTwhLS0NCi0JCSBzZXQgd2VpZ2h0IHRvIGJvbGQNCi0JCSBuZWVkZWQgZm9yIGFwcGxpY2F0aW9ucyB1c2luZyBYZnQgZGlyZWN0bHksIGUuZy4gRmlyZWZveCwgLi4uDQotCQktLT4NCi0JCTxlZGl0IG5hbWU9IndlaWdodCIgbW9kZT0iYXNzaWduIj4NCi0JCQk8Y29uc3Q+Ym9sZDwvY29uc3Q+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuYXZhaWwvUkVBRE1FIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC9SRUFETUUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2MDZkZDcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5hdmFpbC9SRUFETUUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1jb25mLmQvUkVBRE1FDQotDQotRWFjaCBmaWxlIGluIHRoaXMgZGlyZWN0b3J5IGlzIGEgZm9udGNvbmZpZyBjb25maWd1cmF0aW9uIGZpbGUuICBGb250Y29uZmlnDQotc2NhbnMgdGhpcyBkaXJlY3RvcnksIGxvYWRpbmcgYWxsIGZpbGVzIG9mIHRoZSBmb3JtIFswLTldWzAtOV0qLiBUaGVzZSBmaWxlcw0KLWFyZSBub3JtYWxseSBpbnN0YWxsZWQgaW4gLi4vY29uZi5hdmFpbCBhbmQgdGhlbiBzeW1saW5rZWQgaGVyZSwgYWxsb3dpbmcNCi10aGVtIHRvIGJlIGVhc2lseSBpbnN0YWxsZWQgYW5kIHRoZW4gZW5hYmxlZC9kaXNhYmxlZCBieSBhZGp1c3RpbmcgdGhlDQotc3ltbGlua3MuDQotDQotVGhlIGZpbGVzIGFyZSBsb2FkZWQgaW4gbnVtZXJpYyBvcmRlciwgdGhlIHN0cnVjdHVyZSBvZiB0aGUgY29uZmlndXJhdGlvbg0KLWhhcyBsZWQgdG8gdGhlIGZvbGxvd2luZyBjb252ZW50aW9ucyBpbiB1c2FnZToNCi0NCi0gRmlsZXMgYmVnaW5pbmcgd2l0aDoJQ29udGFpbjoNCi0gDQotIDAwIHRocm91Z2ggMDkJCUZvbnQgZGlyZWN0b3JpZXMNCi0gMTAgdGhyb3VnaCAxOQkJc3lzdGVtIHJlbmRlcmluZyBkZWZhdWx0cyAoQUEsIGV0YykNCi0JMTAtYXV0b2hpbnQuY29uZg0KLQkxMC1uby1zdWItcGl4ZWwuY29uZg0KLSAJMTAtc3ViLXBpeGVsLWJnci5jb25mDQotIAkxMC1zdWItcGl4ZWwtcmdiLmNvbmYNCi0gCTEwLXN1Yi1waXhlbC12YmdyLmNvbmYNCi0gCTEwLXN1Yi1waXhlbC12cmdiLmNvbmYNCi0JMTAtdW5oaW50ZWQuY29uZg0KLSAyMCB0aHJvdWdoIDI5CQlmb250IHJlbmRlcmluZyBvcHRpb25zDQotIAkyMC1maXgtZ2xvYmFsYWR2YW5jZS5jb25mDQotCTIwLWxvaGl0LWd1amFyYXRpLmNvbmYNCi0JMjAtdW5oaW50LXNtYWxsLXZlcmEuY29uZg0KLSAzMCB0aHJvdWdoIDM5CQlmYW1pbHkgc3Vic3RpdHV0aW9uDQotIAkzMC11cnctYWxpYXNlcy5jb25mDQotCTMwLWFtdC1hbGlhc2VzLmNvbmYNCi0gNDAgdGhyb3VnaCA0OQkJZ2VuZXJpYyBpZGVudGlmaWNhdGlvbiwgbWFwIGZhbWlseS0+Z2VuZXJpYw0KLSAJNDAtZ2VuZXJpYy1pZC5jb25mDQotCTQ5LXNhbnNzZXJpZi5jb25mDQotIDUwIHRocm91Z2ggNTkJCWFsdGVybmF0ZSBjb25maWcgZmlsZSBsb2FkaW5nDQotIAk1MC11c2VyLmNvbmYJTG9hZCB+Ly5mb250cy5jb25mDQotCTUxLWxvY2FsLmNvbmYJTG9hZCBsb2NhbC5jb25mDQotIDYwIHRocm91Z2ggNjkJCWdlbmVyaWMgYWxpYXNlcw0KLSAJNjAtbGF0aW4uY29uZg0KLQk2NS1mb250cy1wZXJzaWFuLmNvbmYNCi0JNjUtbm9ubGF0aW4uY29uZg0KLQk2OS11bmlmb250LmNvbmYNCi0gNzAgdGhyb3VnaCA3OQkJc2VsZWN0IGZvbnQgKGFkanVzdCB3aGljaCBmb250cyBhcmUgYXZhaWxhYmxlKQ0KLSAJNzAtbm8tYml0bWFwcy5jb25mDQotCTcwLXllcy1iaXRtYXBzLmNvbmYNCi0gODAgdGhyb3VnaCA4OQkJbWF0Y2ggdGFyZ2V0PSJzY2FuIiAobW9kaWZ5IHNjYW5uZWQgcGF0dGVybnMpDQotIAk4MC1kZWxpY2lvdXMuY29uZg0KLSA5MCB0aHJvdWdoIDk4CQlmb250IHN5bnRoZXNpcw0KLSAJOTAtc3ludGhldGljLmNvbmYNCi0gDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzIwLWZpeC1nbG9iYWxhZHZhbmNlLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtZml4LWdsb2JhbGFkdmFuY2UuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZjMjgzNi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtZml4LWdsb2JhbGFkdmFuY2UuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotICBTb21lIEFzaWFuIGZvbnRzIG1pc2FkdmVydGlzZSB0aGVtc2VsdmVzIGFzIG1vbm9zcGFjZWQgd2hlbg0KLSAgaW4gZmFjdCB0aGV5IGFyZSBkdWFsLXNwYWNlZCAoaGFsZiBhbmQgZnVsbCkuICBUaGlzIG1ha2VzDQotICBGcmVlVHlwZSB2ZXJ5IGNvbmZ1c2VkIGFzIGl0IGZvcmNlcyBhbGwgd2lkdGhzIHRvIG1hdGNoLg0KLSAgVW5kbyB0aGlzIG1hZ2ljIGJ5IGRpc2FibGluZyB0aGUgd2lkdGggZm9yY2luZyBjb2RlIC0tPg0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+PHN0cmluZz5HdWxpbUNoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPjxzdHJpbmc+RG90dW1DaGU8L3N0cmluZz48L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJnbG9iYWxhZHZhbmNlIj48Ym9vbD5mYWxzZTwvYm9vbD48L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij48c3RyaW5nPkJhdGFuZ0NoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPjxzdHJpbmc+R3VuZ3N1aENoZTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9Imdsb2JhbGFkdmFuY2UiPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzIwLWxvaGl0LWd1amFyYXRpLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtbG9oaXQtZ3VqYXJhdGkuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FmNTZkYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtbG9oaXQtZ3VqYXJhdGkuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08Zm9udGNvbmZpZz4NCi0NCi08IS0tIEF2YWlsYWJsZSBHdWphcnRpIGZvbnRzIGxvb2sgbXVjaCBiZXR0ZXIgd2l0aG91dCBoaW50aW5nIC0tPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+PHN0cmluZz5Mb2hpdCBHdWphcmF0aTwvc3RyaW5nPjwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImhpbnRpbmciPjxib29sPmZhbHNlPC9ib29sPjwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzIwLXVuaGludC1zbWFsbC12ZXJhLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtdW5oaW50LXNtYWxsLXZlcmEuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjUwNGU2OC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMjAtdW5oaW50LXNtYWxsLXZlcmEuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tIA0KLQlUaGUgQml0c3RyZWFtIFZlcmEgZm9udHMgaGF2ZSBHQVNQIGVudHJpZXMgc3VnZ2VzdGluZyB0aGF0IGhpbnRpbmcgYmUNCi0JZGlzYWJsZWQgYmVsb3cgOCBwcGVtLCBidXQgRnJlZVR5cGUgaWdub3JlcyB0aG9zZSwgcHJlZmVycmluZyB0byB1c2UNCi0JdGhlIGRhdGEgZm91bmQgaW4gdGhlIGluc3RydWN0ZWQgaGludHMuICBUaGUgaW5pdGlhbCBWZXJhIHJlbGVhc2UNCi0JZGlkbid0IGluY2x1ZGUgdGhlIHJpZ2h0IGluc3RydWN0aW9ucyBpbiB0aGUgJ3ByZXAnIHRhYmxlLiBGaXggdGhpcw0KLQlieSBkaXNhYmxpbmcgaGludGluZyBtYW51YWxseSBhdCBzbWFsbGVyIHNpemVzICg8IDhwcGVtKQ0KLSAtLT4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+Qml0c3RyZWFtIFZlcmEgU2Fuczwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0icGl4ZWxzaXplIiBjb21wYXJlPSJsZXNzIj4NCi0JCQk8ZG91YmxlPjcuNTwvZG91YmxlPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iaGludGluZyI+DQotCQkJPGJvb2w+ZmFsc2U8L2Jvb2w+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkJpdHN0cmVhbSBWZXJhIFNlcmlmPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJwaXhlbHNpemUiIGNvbXBhcmU9Imxlc3MiPg0KLQkJCTxkb3VibGU+Ny41PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJoaW50aW5nIj4NCi0JCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+Qml0c3RyZWFtIFZlcmEgU2FucyBNb25vPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJwaXhlbHNpemUiIGNvbXBhcmU9Imxlc3MiPg0KLQkJCTxkb3VibGU+Ny41PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJoaW50aW5nIj4NCi0JCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzMwLWFtdC1hbGlhc2VzLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMzAtYW10LWFsaWFzZXMuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWJhNzcxNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMzAtYW10LWFsaWFzZXMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIGNvbmYuZC9zdWItcGl4ZWwuY29uZiAtLT4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotIEFNVCBwcm92aWRlcyBtZXRyaWMgYW5kIHNoYXBlIGNvbXBhdGlibGUgZm9udHMgZm9yIHRoZXNlIHRocmVlIHdlYiBmb250DQotIGZhbWlsaWVzLg0KLSAtLT4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+VGltZXMgTmV3IFJvbWFuPC9mYW1pbHk+DQotCQk8YWNjZXB0PjxmYW1pbHk+VGhvcm5kYWxlIEFNVDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAJPGFsaWFzPg0KLQkJPGZhbWlseT5BcmlhbDwvZmFtaWx5Pg0KLQkJPGFjY2VwdD48ZmFtaWx5PkFsYmFueSBBTVQ8L2ZhbWlseT48L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+Q291cmllciBOZXc8L2ZhbWlseT4NCi0JCTxhY2NlcHQ+PGZhbWlseT5DdW1iZXJsYW5kIEFNVDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvMzAtdXJ3LWFsaWFzZXMuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC8zMC11cnctYWxpYXNlcy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MzZkMTdkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC8zMC11cnctYWxpYXNlcy5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gY29uZi5kL3N1Yi1waXhlbC5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0NCi0gIFVSVyBwcm92aWRlcyBtZXRyaWMgYW5kIHNoYXBlIGNvbXBhdGlibGUgZm9udHMgZm9yIHRoZXNlIDEwIEFkb2JlIGZhbWlsaWVzLg0KLSAgLS0+DQotICAgICAgICA8YWxpYXM+DQotICAgICAgICAgIDxmYW1pbHk+QXZhbnQgR2FyZGU8L2ZhbWlseT4NCi0gICAgICAgICAgPGFjY2VwdD48ZmFtaWx5PlVSVyBHb3RoaWMgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLSAgICAgICAgPC9hbGlhcz4NCi0gICAgICAgIDxhbGlhcz4NCi0gICAgICAgICAgPGZhbWlseT5Cb29rbWFuPC9mYW1pbHk+DQotICAgICAgICAgIDxhY2NlcHQ+PGZhbWlseT5VUlcgQm9va21hbiBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotICAgICAgICA8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5OaW1idXMgTW9ubyBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotCTwvYWxpYXM+DQotICAgICAgICA8YWxpYXM+DQotCSAgPGZhbWlseT5IZWx2ZXRpY2E8L2ZhbWlseT4NCi0JICA8YWNjZXB0PjxmYW1pbHk+TmltYnVzIFNhbnMgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLSAgICAgICAgICA8ZmFtaWx5Pk5ldyBDZW50dXJ5IFNjaG9vbGJvb2s8L2ZhbWlseT4NCi0gICAgICAgICAgPGFjY2VwdD48ZmFtaWx5PkNlbnR1cnkgU2Nob29sYm9vayBMPC9mYW1pbHk+PC9hY2NlcHQ+DQotICAgICAgICA8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLSAgICAgICAgICA8ZmFtaWx5PlBhbGF0aW5vPC9mYW1pbHk+DQotICAgICAgICAgIDxhY2NlcHQ+PGZhbWlseT5VUlcgUGFsbGFkaW8gTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLSAgICAgICAgPC9hbGlhcz4NCi0gICAgICAgIDxhbGlhcz4NCi0JICA8ZmFtaWx5PlRpbWVzPC9mYW1pbHk+DQotCSAgPGFjY2VwdD48ZmFtaWx5Pk5pbWJ1cyBSb21hbiBObzkgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+WmFwZiBDaGFuY2VyeTwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5VUlcgQ2hhbmNlcnkgTDwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLSAgICAgICAgPGFsaWFzPg0KLQkgIDxmYW1pbHk+WmFwZiBEaW5nYmF0czwvZmFtaWx5Pg0KLQkgIDxhY2NlcHQ+PGZhbWlseT5EaW5nYmF0czwvZmFtaWx5PjwvYWNjZXB0Pg0KLQk8L2FsaWFzPg0KLQk8bWF0Y2ggdGFyZ2V0PSJwYXR0ZXJuIj4NCi0JICA8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkgICAgPHN0cmluZz5TeW1ib2w8L3N0cmluZz4NCi0JICA8L3Rlc3Q+DQotCSAgPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkgICAgPHN0cmluZz5TdGFuZGFyZCBTeW1ib2xzIEw8L3N0cmluZz4NCi0JICA8L2VkaXQ+DQotCTwvbWF0Y2g+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC80MC1nZW5lcmljLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvNDAtZ2VuZXJpYy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZGNlMjE4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC80MC1nZW5lcmljLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotPCEtLQ0KLSAgTWFyayBjb21tb24gZmFtaWxpZXMgd2l0aCB0aGVpciBnZW5lcmljcyBzbyB3ZSdsbCBnZXQNCi0gIHNvbWV0aGluZyByZWFzb25hYmxlDQotLS0+DQotDQotPCEtLQ0KLSAgU2VyaWYgZmFjZXMNCi0gLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+Qml0c3RyZWFtIFZlcmEgU2VyaWY8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RGVqYVZ1IFNlcmlmPC9mYW1pbHk+DQotCQk8ZmFtaWx5PlRpbWVzIE5ldyBSb21hbjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5UaW1lczwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OaW1idXMgUm9tYW4gTm85IEw8L2ZhbWlseT4NCi0JCTxmYW1pbHk+THV4aSBTZXJpZjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Lb2NoaSBNaW5jaG88L2ZhbWlseT4NCi0JCTxmYW1pbHk+QVIgUEwgU3VuZ3RpTCBHQjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5BUiBQTCBNaW5ndGkyTCBCaWc1PC9mYW1pbHk+DQotCQk8ZmFtaWx5Pu+8re+8syDmmI7mnJ08L2ZhbWlseT4NCi0JCTxmYW1pbHk+QmFla211ayBCYXRhbmc8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RnJlZVNlcmlmPC9mYW1pbHk+DQotCQk8ZmFtaWx5Pk1nT3BlbiBDYW5vbmljYTwvZmFtaWx5Pg0KLQkJPGRlZmF1bHQ+PGZhbWlseT5zZXJpZjwvZmFtaWx5PjwvZGVmYXVsdD4NCi0JPC9hbGlhcz4NCi08IS0tDQotICBTYW5zLXNlcmlmIGZhY2VzDQotIC0tPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PkJpdHN0cmVhbSBWZXJhIFNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+RGVqYVZ1IFNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+SGVsdmV0aWNhPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkFyaWFsPC9mYW1pbHk+DQotCQk8ZmFtaWx5PlZlcmRhbmE8L2ZhbWlseT4NCi0JCTxmYW1pbHk+QWxiYW55IEFNVDwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OaW1idXMgU2FucyBMPC9mYW1pbHk+DQotCQk8ZmFtaWx5Pkx1eGkgU2FuczwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Lb2NoaSBHb3RoaWM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+QVIgUEwgS2FpdGlNIEdCPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBCaWc1PC9mYW1pbHk+DQotCQk8ZmFtaWx5Pu+8re+8syDjgrTjgrfjg4Pjgq88L2ZhbWlseT4NCi0JCTxmYW1pbHk+QmFla211ayBEb3R1bTwvZmFtaWx5Pg0KLQkJPGZhbWlseT5TaW1TdW48L2ZhbWlseT4NCi0JCTxmYW1pbHk+RnJlZVNhbnM8L2ZhbWlseT4NCi0JCTxmYW1pbHk+TWdPcGVuIE1vZGF0YTwvZmFtaWx5Pg0KLQkJPGRlZmF1bHQ+PGZhbWlseT5zYW5zLXNlcmlmPC9mYW1pbHk+PC9kZWZhdWx0Pg0KLQk8L2FsaWFzPg0KLTwhLS0NCi0gIE1vbm9zcGFjZSBmYWNlcw0KLSAtLT4NCi0gCTxhbGlhcz4NCi0JCTxmYW1pbHk+Qml0c3RyZWFtIFZlcmEgU2FucyBNb25vPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkRlamFWdSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCTxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkJPGZhbWlseT5Db3VyaWVyIE5ldzwvZmFtaWx5Pg0KLQkJPGZhbWlseT5BbmRhbGUgTW9ubzwvZmFtaWx5Pg0KLQkJPGZhbWlseT5MdXhpIE1vbm88L2ZhbWlseT4NCi0JCTxmYW1pbHk+Q3VtYmVybGFuZCBBTVQ8L2ZhbWlseT4NCi0JCTxmYW1pbHk+TmltYnVzIE1vbm8gTDwvZmFtaWx5Pg0KLQkJPGZhbWlseT5OU2ltU3VuPC9mYW1pbHk+DQotCQk8ZmFtaWx5PkZyZWVNb25vPC9mYW1pbHk+DQotCQk8ZGVmYXVsdD48ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5PjwvZGVmYXVsdD4NCi0JPC9hbGlhcz4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzQ5LXNhbnNzZXJpZi5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzQ5LXNhbnNzZXJpZi5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmIwYmY4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC80OS1zYW5zc2VyaWYuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08Zm9udGNvbmZpZz4NCi08IS0tDQotICBJZiB0aGUgZm9udCBzdGlsbCBoYXMgbm8gZ2VuZXJpYyBuYW1lLCBhZGQgc2Fucy1zZXJpZg0KLSAtLT4NCi0JPG1hdGNoIHRhcmdldD0icGF0dGVybiI+DQotCQk8dGVzdCBxdWFsPSJhbGwiIG5hbWU9ImZhbWlseSIgY29tcGFyZT0ibm90X2VxIj4NCi0JCQk8c3RyaW5nPnNhbnMtc2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IHF1YWw9ImFsbCIgbmFtZT0iZmFtaWx5IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxzdHJpbmc+c2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IHF1YWw9ImFsbCIgbmFtZT0iZmFtaWx5IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxzdHJpbmc+bW9ub3NwYWNlPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZF9sYXN0Ij4NCi0JCQk8c3RyaW5nPnNhbnMtc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzUwLXVzZXIuY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC81MC11c2VyLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3NTc5NzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzUwLXVzZXIuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gL2V0Yy9mb250cy9jb25mLmF2YWlsLzUwLXVzZXIuY29uZiBmaWxlIHRvIGNvbmZpZ3VyZSBzeXN0ZW0gZm9udCBhY2Nlc3MgLS0+DQotPGZvbnRjb25maWc+DQotCTwhLS0gTG9hZCBwZXItdXNlciBjdXN0b21pemF0aW9uIGZpbGUgLS0+DQotCTxpbmNsdWRlIGlnbm9yZV9taXNzaW5nPSJ5ZXMiPn4vLmZvbnRzLmNvbmY8L2luY2x1ZGU+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC81MS1sb2NhbC5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzUxLWxvY2FsLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0NThmYTEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzUxLWxvY2FsLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIC9ldGMvZm9udHMvY29uZi5hdmFpbC81MS1sb2NhbC5jb25mIGZpbGUgdG8gY29uZmlndXJlIHN5c3RlbSBmb250IGFjY2VzcyAtLT4NCi08Zm9udGNvbmZpZz4NCi0JPCEtLSBMb2FkIGxvY2FsIHN5c3RlbSBjdXN0b21pemF0aW9uIGZpbGUgLS0+DQotCTxpbmNsdWRlIGlnbm9yZV9taXNzaW5nPSJ5ZXMiPmxvY2FsLmNvbmY8L2luY2x1ZGU+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82MC1sYXRpbi5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzYwLWxhdGluLmNvbmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NzFmZTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzYwLWxhdGluLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTZXJpZjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+RGVqYVZ1IFNlcmlmPC9mYW1pbHk+DQotCQkJPGZhbWlseT5UaW1lcyBOZXcgUm9tYW48L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PlRob3JuZGFsZSBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgU2VyaWY8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pk5pbWJ1cyBSb21hbiBObzkgTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VGltZXM8L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PnNhbnMtc2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTYW5zPC9mYW1pbHk+DQotCQkJPGZhbWlseT5EZWphVnUgU2FuczwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VmVyZGFuYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QXJpYWw8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFsYmFueSBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgU2FuczwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TmltYnVzIFNhbnMgTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+SGVsdmV0aWNhPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi0JPGFsaWFzPg0KLQkJPGZhbWlseT5tb25vc3BhY2U8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5CaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkRlamFWdSBTYW5zIE1vbm88L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFuZGFsZSBNb25vPC9mYW1pbHk+DQotCQkJPGZhbWlseT5Db3VyaWVyIE5ldzwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+Q3VtYmVybGFuZCBBTVQ8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pkx1eGkgTW9ubzwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TmltYnVzIE1vbm8gTDwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+Q291cmllcjwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82NS1mb250cy1wZXJzaWFuLmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvNjUtZm9udHMtcGVyc2lhbi5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjRhOWEwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82NS1mb250cy1wZXJzaWFuLmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSw1MzkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTwhLS0gL2V0Yy9mb250cy9jb25mLmQvMTAtZm9udHMtcGVyc2lhbi5jb25mIC0tPg0KLTwhLS0NCi0gIGZvbnRzLXBlcnNpYW4uY29uZg0KLSAgVG8gY29uZmlndXJlIFBlcnNpYW4gZm9udHMgZnJvbSBUaGUgRmFyc2lXZWIgUHJvamVjdC4NCi0NCi0gIENvcHlyaWdodCAoQykgMjAwNSAgU2hhcmlmIEZhcnNpV2ViLCBJbmMuIDxsaWNlbnNlQGZhcnNpd2ViLmluZm8+DQotDQotICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLCBhbmQgc2VsbCB0aGlzIHNvZnR3YXJlIGFuZCBpdHMNCi0gIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBwcm92aWRlZCB0aGF0DQotICB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdCBib3RoIHRoYXQNCi0gIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIHN1cHBvcnRpbmcNCi0gIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lIG9mIFNoYXJpZiBGYXJzaVdlYiwgSW5jLiBub3QgYmUgdXNlZCBpbg0KLSAgYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0DQotICBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgU2hhcmlmIEZhcnNpV2ViLCBJbmMuIG1ha2VzIG5vDQotICByZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlIHN1aXRhYmlsaXR5IG9mIHRoaXMgc29mdHdhcmUgZm9yIGFueSBwdXJwb3NlLiAgSXQNCi0gIGlzIHByb3ZpZGVkICJhcyBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuDQotDQotICBTSEFSSUYgRkFSU0lXRUIsIElOQy4gRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsDQotICBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PDQotICBFVkVOVCBTSEFMTCBLRUlUSCBQQUNLQVJEIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SDQotICBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwNCi0gIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVINCi0gIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1INCi0gIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuDQotDQotICBDaGFuZ2VMb2c6DQotICAgIDIwMDUtMDQtMDMgIEJlaGRhZCBFc2ZhaGJvZDogIEluaXRpYWwgcmV2aXNpb24uDQotICAgIDIwMDUtMTAtMDkgIEJlaGRhZCBFc2ZhaGJvZDogIFR1cm5lZCBvZmYgYmFjay1zbGFudCBhbmQgVGFob21hIHNlY3Rpb25zLg0KLSAgICAyMDA1LTExLTMwICBCZWhkYWQgRXNmYWhib2Q6ICBTZXQgVGl0ciBzdXNidGl0dXRpb24gc2l6ZSB0byAyNCBwb2ludHMuDQotDQotICBUb2RvOg0KLSAgICBBZGQgZ2VuZXJpYyBmb250ICJmYW50YXN5Ii4gIEFkZCBzb21lIGZvbnRzIGludG8gdGhhdCBjYXRlZ29yeS4NCi0gICAgTWF5YmUgYWRkIGEgImN1cnNpdmUiIGdlbmVyaWMgZm9udC4NCi0gIC0tPg0KLTxmb250Y29uZmlnPg0KLQ0KLQ0KLTwhLS0NCi0gIFdlIGRvbid0IHdhbnQgd2VhayBiaW5kaW5ncy4gIFNvIGdvdCB0byB1c2UgdGhlIHN5bnRhY3RpY2FsIGV4cGFuc2lvbg0KLSAgb2YgYWxpYXMgdGFnIHRvIGRvIGJpbmRpbmc9c2FtZSA6KC4gIFBsZWFzZSBzdXBwb3J0IHRoYXQgaW4gYWxpYXMuDQotICAtLT4NCi0NCi0NCi08IS0tIERlcHJlY2F0ZWQgZm9udHMgYXJlIGRpc2NvdXJhZ2VkIC0tPg0KLQ0KLQk8IS0tIE5lc2ZbMl0gaXMgb2ZmaWNpYWxseSBkZXByZWNhdGVkIGFuZCBoYXMgcHJvYmxlbWF0aWMgdGFibGVzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+TmVzZjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+TmVzZjI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5lc2YyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NhbnNzZXJpZl9kZWZhdWx0PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gVGFob21hIGxvb2tzIGF3ZnVsIChUVVJORUQtT0ZGKSAtLT4NCi0JPCEtLW1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRhaG9tYTwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJwcmVwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2Fuc3NlcmlmX2RlZmF1bHQ8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaC0tPg0KLQ0KLTwhLS0gTmFtZSBjaGFuZ2VzIGFuZCBzcGVsbGluZyB2YXJpYW50IGFsaWFzZXMgLS0+DQotDQotCTwhLS0gQ2hhbmdlZCBkdWUgdG8gdHJhZGVtYXJrIHByb2JsZW1zIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+TmF6YW5pbjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+TmF6bGk8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkxvdHVzPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5Mb3Rvb3M8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBDaGFuZ2VkIGR1ZSB0byB0cmFuc2NyaXB0aW9uIG9ydGhvZ3JhcGh5IC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+WWFxdXQ8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPllhZ2hvb3Q8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPllhZ3V0PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5ZYWdob290PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5ZYWdodXQ8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPllhZ2hvb3Q8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRyYWZmaWM8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlRlcmFmaWs8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkZlcmRvd3NpPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GZXJkb3NpPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5GYW50ZXp5PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GYW50ZXppPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBDbGFzc2lmeSBmb250cy4gLS0+DQotDQotCTwhLS0gUGVyc2lhbl90aXRsZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkphZGlkPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3RpdGxlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3RpdGxlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gUGVyc2lhbl9mYW50YXN5IGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+S2FtcmFuPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5Ib21hPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkhvbWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkthbXJhbjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9mYW50YXN5PC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5GYW50ZXppPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlRhYmFzc29tPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX2ZhbnRhc3k8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBQZXJzaWFuX3NxdWFyZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkFyc2hpYTwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5hc2ltPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+RWxoYW08L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkZhcm5hejwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkZhcm5hejwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+RWxoYW08L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc3F1YXJlPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5TaW5hPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLTwhLS0gRm9udCBvcmRlcmluZyBwZXIgY2xhc3MgLS0+DQotDQotCTwhLS0gUGVyc2lhbl90aXRsZSBjbGFzcyAtLT4NCi0JPG1hdGNoPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fdGl0bGU8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkphZGlkPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gUGVyc2lhbl9mYW50YXN5IGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9mYW50YXN5PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NxdWFyZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+VGFiYXNzb208L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkZhbnRlemk8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkthbXJhbjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+SG9tYTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQk8IS0tIFBlcnNpYW5fc3F1YXJlIGNsYXNzIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zcXVhcmU8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlBlcnNpYW5fc2VyaWY8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPlNpbmE8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPk5hc2ltPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5GYXJuYXo8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIiBiaW5kaW5nPSJzYW1lIj4NCi0JCQk8c3RyaW5nPkVsaGFtPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFwcGVuZCIgYmluZGluZz0ic2FtZSI+DQotCQkJPHN0cmluZz5BcnNoaWE8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi08IS0tIFJlZ2lzdGVyIHRoZSBmb250cyB0aGF0IHdlIGFjdHVhbGx5IGRvIGhhdmUgLS0+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkVsaGFtPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPkhvbWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTxzdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+S29vZGFrPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPk5hemxpPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPlJveWE8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTxzdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPG1hdGNoIHRhcmdldD0iZm9udCI+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+VGVyYWZpazwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmb3VuZHJ5Ij4NCi0JCQk8c3RyaW5nPmZhcnNpd2ViPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBPdXIgZm9udHMgc2hvdWxkIG9ibGlxdWUgdG8gdGhlIG90aGVyIHNpZGUgKFRVUk5FRC1PRkYpIC0tPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTx0ZXN0IG5hbWU9ImZvdW5kcnkiPg0KLQkJCTwhLS1zdHJpbmc+ZmFyc2l3ZWI8L3N0cmluZy0tPg0KLQkJCTxzdHJpbmc+VFVSTkVELU9GRjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPCEtLSBjaGVjayB0byBzZWUgaWYgdGhlIGZvbnQgaXMgcm9tYW4gLS0+DQotCQk8dGVzdCBuYW1lPSJzbGFudCI+DQotCQkJPGNvbnN0PnJvbWFuPC9jb25zdD4NCi0JCTwvdGVzdD4NCi0JCTwhLS0gY2hlY2sgdG8gc2VlIGlmIHRoZSBwYXR0ZXJuIHJlcXVlc3RlZCBub24tcm9tYW4gLS0+DQotCQk8dGVzdCB0YXJnZXQ9InBhdHRlcm4iIG5hbWU9InNsYW50IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxjb25zdD5yb21hbjwvY29uc3Q+DQotCQk8L3Rlc3Q+DQotCQk8IS0tIG11bHRpcGx5IHRoZSBtYXRyaXggdG8gc2xhbnQgdGhlIGZvbnQgLS0+DQotCQk8ZWRpdCBuYW1lPSJtYXRyaXgiIG1vZGU9ImFzc2lnbiI+DQotCQkJPHRpbWVzPg0KLQkJCQk8bmFtZT5tYXRyaXg8L25hbWU+DQotCQkJCTxtYXRyaXg+PGRvdWJsZT4xPC9kb3VibGU+PGRvdWJsZT4tMC4yPC9kb3VibGU+DQotCQkJCQk8ZG91YmxlPjA8L2RvdWJsZT48ZG91YmxlPjE8L2RvdWJsZT4NCi0JCQkJPC9tYXRyaXg+DQotCQkJPC90aW1lcz4NCi0JCTwvZWRpdD4NCi0JCTwhLS0gcHJldGVuZCB0aGUgZm9udCBpcyBvYmxpcXVlIG5vdyAtLT4NCi0JCTxlZGl0IG5hbWU9InNsYW50IiBtb2RlPSJhc3NpZ24iPg0KLQkJCTxjb25zdD5vYmxpcXVlPC9jb25zdD4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0NCi08IS0tDQotICBXZSBjYW4ndCBoaW50IG91ciBmb250cyB3ZWxsLCBzbyB0dXJuIG9mZiBoaW50aW5nLg0KLSAgTW9yZW92ZXIsIHRoZSBiaXRtYXBzIHdlIGhhdmUgZGVzaWduZWQgKHdlbGwsIHRoZXkNCi0gIGhhdmUgZGVzaWduZWQpLCBzdWNrLCBzbyBkaXNhYmxlIHRoZW0gdG9vLg0KLSAgLS0+DQotDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPHRlc3QgbmFtZT0iZm91bmRyeSI+DQotCQkJPHN0cmluZz5mYXJzaXdlYjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iYXV0b2hpbnQiPg0KLQkJCTxib29sPmZhbHNlPC9ib29sPg0KLQkJPC9lZGl0Pg0KLQkJPGVkaXQgbmFtZT0iaGludGluZyI+DQotCQkJPGJvb2w+ZmFsc2U8L2Jvb2w+DQotCQk8L2VkaXQ+DQotIAkJPGVkaXQgbmFtZT0iZW1iZWRkZWRiaXRtYXAiPg0KLSAJCQk8Ym9vbD5mYWxzZTwvYm9vbD4NCi0gCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLSBBbGlhcyBvdXIgZm9udHMgdG8gY29tbW9uIGZhbWlsaWVzIC0tPg0KLQ0KLQk8IS0tIFBlcnNpYW4gc2VyaWYgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxhY2NlcHQ+DQotCQkJPGZhbWlseT5OYXpsaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TG90b29zPC9mYW1pbHk+DQotCQkJPGZhbWlseT5NaXRyYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+RmVyZG9zaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QmFkcjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+WmFyPC9mYW1pbHk+DQotCQk8L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0NCi0JPCEtLSBQZXJzaWFuIHNhbnMtc2VyaWYgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5Pg0KLQkJPGFjY2VwdD4NCi0JCQk8ZmFtaWx5PlJveWE8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pktvb2RhazwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+VGVyYWZpazwvZmFtaWx5Pg0KLQkJPC9hY2NlcHQ+DQotCTwvYWxpYXM+DQotDQotCTwhLS0gUGVyc2lhbiBtb25vc3BhY2UgZm9udHMgLS0+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+bW9ub3NwYWNlPC9mYW1pbHk+DQotCQk8YWNjZXB0Pg0KLQkJCTwhLS0gTm90IHJlYWxseSBtb25vc3BhY2UgLS0+DQotCQkJPGZhbWlseT5UZXJhZmlrPC9mYW1pbHk+DQotCQk8L2FjY2VwdD4NCi0JPC9hbGlhcz4NCi0NCi0NCi08IS0tIFVzZSBUaXRyIGluIHRpdGxlcyAtLT4NCi0NCi0JPCEtLSBCb3RoIHNlcmlmLi4uIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+c2VyaWY8L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IG5hbWU9IndlaWdodCIgY29tcGFyZT0ibW9yZV9lcSI+DQotCQkJPGludD4yMDA8L2ludD4NCi0JCTwvdGVzdD4NCi0JCTx0ZXN0IG5hbWU9InNpemUiIGNvbXBhcmU9Im1vcmVfZXEiPg0KLQkJCTxkb3VibGU+MjQ8L2RvdWJsZT4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0icHJlcGVuZCI+DQotCQkJPHN0cmluZz5UaXRyPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotCTwhLS0gYW5kIHNhbnMtc2VyaWYuIC0tPg0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+c2Fucy1zZXJpZjwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0id2VpZ2h0IiBjb21wYXJlPSJtb3JlX2VxIj4NCi0JCQk8aW50PjIwMDwvaW50Pg0KLQkJPC90ZXN0Pg0KLQkJPHRlc3QgbmFtZT0ic2l6ZSIgY29tcGFyZT0ibW9yZV9lcSI+DQotCQkJPGRvdWJsZT4yNDwvZG91YmxlPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJwcmVwZW5kIj4NCi0JCQk8c3RyaW5nPlRpdHI8L3N0cmluZz4NCi0JCTwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi0JPCEtLSBhbmQgbW9yZS4gLS0+DQotCTxtYXRjaD4NCi0JCTx0ZXN0IG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5QZXJzaWFuX3NhbnNzZXJpZl9kZWZhdWx0PC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJ3ZWlnaHQiIGNvbXBhcmU9Im1vcmVfZXEiPg0KLQkJCTxpbnQ+MjAwPC9pbnQ+DQotCQk8L3Rlc3Q+DQotCQk8dGVzdCBuYW1lPSJzaXplIiBjb21wYXJlPSJtb3JlX2VxIj4NCi0JCQk8ZG91YmxlPjI0PC9kb3VibGU+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9InByZXBlbmQiIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+VGl0cjwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQ0KLTwhLS0gRGVmYXVsdCBzdWJzdGl0dXRlZCBmb3IgZGVwcmVjYXRlZCBzYW5zLXNlcmlmIGZvbnRzIC0tPg0KLQ0KLQk8bWF0Y2g+DQotCQk8dGVzdCBuYW1lPSJmYW1pbHkiPg0KLQkJCTxzdHJpbmc+UGVyc2lhbl9zYW5zc2VyaWZfZGVmYXVsdDwvc3RyaW5nPg0KLQkJPC90ZXN0Pg0KLQkJPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhc3NpZ24iIGJpbmRpbmc9InNhbWUiPg0KLQkJCTxzdHJpbmc+Um95YTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvNjUtbm9ubGF0aW4uY29uZiBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82NS1ub25sYXRpbi5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDdlYWEyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82NS1ub25sYXRpbi5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIj8+DQotPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPg0KLTxmb250Y29uZmlnPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5PnNlcmlmPC9mYW1pbHk+DQotCQk8cHJlZmVyPg0KLQkJCTxmYW1pbHk+RnJhbmsgUnVlaGw8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5Pk1nT3BlbiBDYW5vbmljYTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+S29jaGkgTWluY2hvPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBTdW5ndGlMIEdCPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBNaW5ndGkyTCBCaWc1PC9mYW1pbHk+DQotCQkJPGZhbWlseT7vvK3vvLMg5piO5pydPC9mYW1pbHk+DQotCQkJPGZhbWlseT5CYWVrbXVrIEJhdGFuZzwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5Pk5hY2hsaWVsaTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+TWdPcGVuIE1vZGF0YTwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+S29jaGkgR290aGljPC9mYW1pbHk+DQotCQkJPGZhbWlseT5BUiBQTCBLYWl0aU0gR0I8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBCaWc1PC9mYW1pbHk+DQotCQkJPGZhbWlseT7vvK3vvLMg44K044K344OD44KvPC9mYW1pbHk+DQotCQkJPGZhbWlseT5CYWVrbXVrIERvdHVtPC9mYW1pbHk+DQotCQkJPGZhbWlseT5TaW1TdW48L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5Pk1pcmlhbSBNb25vPC9mYW1pbHk+DQotCQkJPGZhbWlseT5Lb2NoaSBHb3RoaWM8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFSIFBMIEthaXRpTSBHQjwvZmFtaWx5Pg0KLQkJCTxmYW1pbHk+QmFla211ayBEb3R1bTwvZmFtaWx5Pg0KLQkJPC9wcmVmZXI+DQotCTwvYWxpYXM+DQotPC9mb250Y29uZmlnPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82OS11bmlmb250LmNvbmYgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9jb25mLmQvNjktdW5pZm9udC5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YzVhOGQ4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC82OS11bmlmb250LmNvbmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4NCi08IURPQ1RZUEUgZm9udGNvbmZpZyBTWVNURU0gImZvbnRzLmR0ZCI+DQotPGZvbnRjb25maWc+DQotCTxhbGlhcz4NCi0JCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4NCi0JCTxwcmVmZXI+DQotCQkJPGZhbWlseT5GcmVlU2VyaWY8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkNvZGUyMDAwPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi0JPGFsaWFzPg0KLQkJPGZhbWlseT5zYW5zLXNlcmlmPC9mYW1pbHk+DQotCQk8cHJlZmVyPg0KLQkJCTxmYW1pbHk+RnJlZVNhbnM8L2ZhbWlseT4NCi0JCQk8ZmFtaWx5PkFyaWFsIFVuaWNvZGUgTVM8L2ZhbWlseT4NCi0JCTwvcHJlZmVyPg0KLQk8L2FsaWFzPg0KLQk8YWxpYXM+DQotCQk8ZmFtaWx5Pm1vbm9zcGFjZTwvZmFtaWx5Pg0KLQkJPHByZWZlcj4NCi0JCQk8ZmFtaWx5PkZyZWVNb25vPC9mYW1pbHk+DQotCQk8L3ByZWZlcj4NCi0JPC9hbGlhcz4NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzgwLWRlbGljaW91cy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzgwLWRlbGljaW91cy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODM4MWRkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC84MC1kZWxpY2lvdXMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIC9ldGMvZm9udHMvY29uZi5kLzYwLWRlbGljaW91cy5jb25mIC0tPg0KLTxmb250Y29uZmlnPg0KLTwhLS0gRml4LXVwcyBmb3IgRGVsaWNpb3VzIGZhbWlseSAtLT4NCi0NCi08IS0tIERlbGljaW91cyAnaGVhdnknIHZhcmlhbnQgc2F5cyBpdHMgTWVkaXVtIHdlaWdodCAtLT4NCi08bWF0Y2ggdGFyZ2V0PSJzY2FuIj4NCi0JPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JCTxzdHJpbmc+RGVsaWNpb3VzPC9zdHJpbmc+DQotCTwvdGVzdD4NCi0JPHRlc3QgbmFtZT0ic3R5bGUiPg0KLQkJPHN0cmluZz5IZWF2eTwvc3RyaW5nPg0KLQk8L3Rlc3Q+DQotCTxlZGl0IG5hbWU9IndlaWdodCI+DQotCQk8Y29uc3Q+aGVhdnk8L2NvbnN0Pg0KLQk8L2VkaXQ+DQotPC9tYXRjaD4NCi0NCi08L2ZvbnRjb25maWc+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzkwLXN5bnRoZXRpYy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvY29uZi5kLzkwLXN5bnRoZXRpYy5jb25mCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTQxM2Y5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2NvbmYuZC85MC1zeW50aGV0aWMuY29uZgorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08Zm9udGNvbmZpZz4NCi08IS0tIA0KLSBBcnRpZmljaWFsIG9ibGlxdWUgZm9yIGZvbnRzIHdpdGhvdXQgYW4gaXRhbGljIG9yIG9ibGlxdWUgdmVyc2lvbg0KLSAtLT4NCi0gDQotCTxtYXRjaCB0YXJnZXQ9ImZvbnQiPg0KLQkJPCEtLSBjaGVjayB0byBzZWUgaWYgdGhlIGZvbnQgaXMgcm9tYW4gLS0+DQotCQk8dGVzdCBuYW1lPSJzbGFudCI+DQotCQkJPGNvbnN0PnJvbWFuPC9jb25zdD4NCi0JCTwvdGVzdD4NCi0JCTwhLS0gY2hlY2sgdG8gc2VlIGlmIHRoZSBwYXR0ZXJuIHJlcXVlc3RlZCBub24tcm9tYW4gLS0+DQotCQk8dGVzdCB0YXJnZXQ9InBhdHRlcm4iIG5hbWU9InNsYW50IiBjb21wYXJlPSJub3RfZXEiPg0KLQkJCTxjb25zdD5yb21hbjwvY29uc3Q+DQotCQk8L3Rlc3Q+DQotCQk8IS0tIG11bHRpcGx5IHRoZSBtYXRyaXggdG8gc2xhbnQgdGhlIGZvbnQgLS0+DQotCQk8ZWRpdCBuYW1lPSJtYXRyaXgiIG1vZGU9ImFzc2lnbiI+DQotCQkJPHRpbWVzPg0KLQkJCQk8bmFtZT5tYXRyaXg8L25hbWU+DQotCQkJCTxtYXRyaXg+PGRvdWJsZT4xPC9kb3VibGU+PGRvdWJsZT4wLjI8L2RvdWJsZT4NCi0JCQkJCTxkb3VibGU+MDwvZG91YmxlPjxkb3VibGU+MTwvZG91YmxlPg0KLQkJCQk8L21hdHJpeD4NCi0JCQk8L3RpbWVzPg0KLQkJPC9lZGl0Pg0KLQkJPCEtLSBwcmV0ZW5kIHRoZSBmb250IGlzIG9ibGlxdWUgbm93IC0tPg0KLQkJPGVkaXQgbmFtZT0ic2xhbnQiIG1vZGU9ImFzc2lnbiI+DQotCQkJPGNvbnN0Pm9ibGlxdWU8L2NvbnN0Pg0KLQkJPC9lZGl0Pg0KLSAgICAgICAgICAgICAgICA8IS0tIGFuZCBkaXNhYmxlIGVtYmVkZGVkIGJpdG1hcHMgZm9yIGFydGlmaWNpYWwgb2JsaXF1ZSAtLT4NCi0gICAgICAgICAgICAgICAgPGVkaXQgbmFtZT0iZW1iZWRkZWRiaXRtYXAiIG1vZGU9ImFzc2lnbiI+DQotICAgICAgICAgICAgICAgICAgICAgICAgPGJvb2w+ZmFsc2U8L2Jvb2w+DQotICAgICAgICAgICAgICAgIDwvZWRpdD4NCi0JPC9tYXRjaD4NCi0NCi08IS0tDQotIFN5bnRoZXRpYyBlbWJvbGRlbmluZyBmb3IgZm9udHMgdGhhdCBkbyBub3QgaGF2ZSBib2xkIGZhY2UgYXZhaWxhYmxlDQotIC0tPg0KLQ0KLQk8bWF0Y2ggdGFyZ2V0PSJmb250Ij4NCi0JCTwhLS0gY2hlY2sgdG8gc2VlIGlmIHRoZSBmb250IGlzIGp1c3QgcmVndWxhciAtLT4NCi0JCTx0ZXN0IG5hbWU9IndlaWdodCIgY29tcGFyZT0ibGVzc19lcSI+DQotCQkJPGNvbnN0Pm1lZGl1bTwvY29uc3Q+DQotCQk8L3Rlc3Q+DQotCQk8IS0tIGNoZWNrIHRvIHNlZSBpZiB0aGUgcGF0dGVybiByZXF1ZXN0cyBib2xkIC0tPg0KLQkJPHRlc3QgdGFyZ2V0PSJwYXR0ZXJuIiBuYW1lPSJ3ZWlnaHQiIGNvbXBhcmU9Im1vcmUiPg0KLQkJCTxjb25zdD5tZWRpdW08L2NvbnN0Pg0KLQkJPC90ZXN0Pg0KLQkJPCEtLQ0KLQkJICBzZXQgdGhlIGVtYm9sZGVuIGZsYWcNCi0JCSAgbmVlZGVkIGZvciBhcHBsaWNhdGlvbnMgdXNpbmcgY2Fpcm8sIGUuZy4gZ3VjaGFybWFwLCBnZWRpdCwgLi4uDQotCQktLT4NCi0JCTxlZGl0IG5hbWU9ImVtYm9sZGVuIiBtb2RlPSJhc3NpZ24iPg0KLQkJCTxib29sPnRydWU8L2Jvb2w+DQotCQk8L2VkaXQ+DQotCQk8IS0tDQotCQkgc2V0IHdlaWdodCB0byBib2xkDQotCQkgbmVlZGVkIGZvciBhcHBsaWNhdGlvbnMgdXNpbmcgWGZ0IGRpcmVjdGx5LCBlLmcuIEZpcmVmb3gsIC4uLg0KLQkJLS0+DQotCQk8ZWRpdCBuYW1lPSJ3ZWlnaHQiIG1vZGU9ImFzc2lnbiI+DQotCQkJPGNvbnN0PmJvbGQ8L2NvbnN0Pg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLTwvZm9udGNvbmZpZz4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9mb250cy5jb25mIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvZm9udHMuY29uZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjE4MjU3Ni4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9mb250cy9mb250cy5jb25mCisrKyAvZGV2L251bGwKQEAgLTEsMTU1ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KLTwhRE9DVFlQRSBmb250Y29uZmlnIFNZU1RFTSAiZm9udHMuZHRkIj4NCi08IS0tIC9ldGMvZm9udHMvZm9udHMuY29uZiBmaWxlIHRvIGNvbmZpZ3VyZSBzeXN0ZW0gZm9udCBhY2Nlc3MgLS0+DQotPGZvbnRjb25maWc+DQotDQotPCEtLQ0KLQlETyBOT1QgRURJVCBUSElTIEZJTEUuDQotCUlUIFdJTEwgQkUgUkVQTEFDRUQgV0hFTiBGT05UQ09ORklHIElTIFVQREFURUQuDQotCUxPQ0FMIENIQU5HRVMgQkVMT05HIElOICdsb2NhbC5jb25mJy4NCi0NCi0JVGhlIGludGVudCBvZiB0aGlzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gZmlsZSBpcyB0byBiZSBhZGVxdWF0ZSBmb3INCi0JbW9zdCBlbnZpcm9ubWVudHMuICBJZiB5b3UgaGF2ZSBhIHJlYXNvbmFibHkgbm9ybWFsIGVudmlyb25tZW50IGFuZA0KLQloYXZlIGZvdW5kIHByb2JsZW1zIHdpdGggdGhpcyBjb25maWd1cmF0aW9uLCB0aGV5IGFyZSBwcm9iYWJseQ0KLQl0aGluZ3MgdGhhdCBvdGhlcnMgd2lsbCBhbHNvIHdhbnQgZml4ZWQuICBQbGVhc2Ugc3VibWl0IGFueQ0KLQlwcm9ibGVtcyB0byB0aGUgZm9udGNvbmZpZyBidWd6aWxsYSBzeXN0ZW0gbG9jYXRlZCBhdCBmb250Y29uZmlnLm9yZw0KLQ0KLQlOb3RlIHRoYXQgdGhlIG5vcm1hbCAnbWFrZSBpbnN0YWxsJyBwcm9jZWR1cmUgZm9yIGZvbnRjb25maWcgaXMgdG8NCi0JcmVwbGFjZSBhbnkgZXhpc3RpbmcgZm9udHMuY29uZiBmaWxlIHdpdGggdGhlIG5ldyB2ZXJzaW9uLiAgUGxhY2UNCi0JYW55IGxvY2FsIGN1c3RvbWl6YXRpb25zIGluIGxvY2FsLmNvbmYgd2hpY2ggdGhpcyBmaWxlIHJlZmVyZW5jZXMuDQotDQotCUtlaXRoIFBhY2thcmQNCi0tLT4NCi0NCi0NCi08IS0tIEZvbnQgZGlyZWN0b3J5IGxpc3QgLS0+DQotDQotCTxkaXI+QzpcV0lORE9XU1xGb250czwvZGlyPg0KLSAgICA8ZGlyPn4vLmZvbnRzPC9kaXI+DQotDQotPCEtLSBGb250IGNhY2hlIGRpcmVjdG9yeSBsaXN0LS0+DQotDQotIAk8Y2FjaGVkaXI+Yzovd2luZG93czwvY2FjaGVkaXI+IA0KLSAgICA8Y2FjaGVkaXI+fi8uZm9udGNvbmZpZzwvY2FjaGVkaXI+DQotDQotDQotPCEtLQ0KLSAgQWNjZXB0IGRlcHJlY2F0ZWQgJ21vbm8nIGFsaWFzLCByZXBsYWNpbmcgaXQgd2l0aCAnbW9ub3NwYWNlJw0KLS0tPg0KLQk8bWF0Y2ggdGFyZ2V0PSJwYXR0ZXJuIj4NCi0JCTx0ZXN0IHF1YWw9ImFueSIgbmFtZT0iZmFtaWx5Ij4NCi0JCQk8c3RyaW5nPm1vbm88L3N0cmluZz4NCi0JCTwvdGVzdD4NCi0JCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXNzaWduIj4NCi0JCQk8c3RyaW5nPm1vbm9zcGFjZTwvc3RyaW5nPg0KLQkJPC9lZGl0Pg0KLQk8L21hdGNoPg0KLQ0KLQ0KLQ0KLQ0KLTwhLS0NCi0gIEFjY2VwdCBhbHRlcm5hdGUgJ3NhbnMgc2VyaWYnIHNwZWxsaW5nLCByZXBsYWNpbmcgaXQgd2l0aCAnc2Fucy1zZXJpZicNCi0tLT4NCi0JPG1hdGNoIHRhcmdldD0icGF0dGVybiI+DQotCQk8dGVzdCBxdWFsPSJhbnkiIG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5zYW5zIHNlcmlmPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiI+DQotCQkJPHN0cmluZz5zYW5zLXNlcmlmPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotDQotDQotPCEtLQ0KLSAgQWNjZXB0IGRlcHJlY2F0ZWQgJ3NhbnMnIGFsaWFzLCByZXBsYWNpbmcgaXQgd2l0aCAnc2Fucy1zZXJpZicNCi0tLT4NCi0JPG1hdGNoIHRhcmdldD0icGF0dGVybiI+DQotCQk8dGVzdCBxdWFsPSJhbnkiIG5hbWU9ImZhbWlseSI+DQotCQkJPHN0cmluZz5zYW5zPC9zdHJpbmc+DQotCQk8L3Rlc3Q+DQotCQk8ZWRpdCBuYW1lPSJmYW1pbHkiIG1vZGU9ImFzc2lnbiI+DQotCQkJPHN0cmluZz5zYW5zLXNlcmlmPC9zdHJpbmc+DQotCQk8L2VkaXQ+DQotCTwvbWF0Y2g+DQotPCEtLQ0KLSAgTG9hZCBsb2NhbCBzeXN0ZW0gY3VzdG9taXphdGlvbiBmaWxlDQotLS0+DQotCTxpbmNsdWRlIGlnbm9yZV9taXNzaW5nPSJ5ZXMiPmNvbmYuZDwvaW5jbHVkZT4NCi0NCi0JPGNvbmZpZz4NCi08IS0tDQotICBUaGVzZSBhcmUgdGhlIGRlZmF1bHQgVW5pY29kZSBjaGFycyB0aGF0IGFyZSBleHBlY3RlZCB0byBiZSBibGFuaw0KLSAgaW4gZm9udHMuICBBbGwgb3RoZXIgYmxhbmsgY2hhcnMgYXJlIGFzc3VtZWQgdG8gYmUgYnJva2VuIGFuZA0KLSAgd29uJ3QgYXBwZWFyIGluIHRoZSByZXN1bHRpbmcgY2hhcnNldHMNCi0gLS0+DQotCQk8Ymxhbms+DQotCQkJPGludD4weDAwMjA8L2ludD4JPCEtLSBTUEFDRSAtLT4NCi0JCQk8aW50PjB4MDBBMDwvaW50Pgk8IS0tIE5PLUJSRUFLIFNQQUNFIC0tPg0KLQkJCTxpbnQ+MHgwMEFEPC9pbnQ+CTwhLS0gU09GVCBIWVBIRU4gLS0+DQotCQkJPGludD4weDAzNEY8L2ludD4JPCEtLSBDT01CSU5JTkcgR1JBUEhFTUUgSk9JTkVSIC0tPg0KLQkJCTxpbnQ+MHgwNjAwPC9pbnQ+CTwhLS0gQVJBQklDIE5VTUJFUiBTSUdOIC0tPg0KLQkJCTxpbnQ+MHgwNjAxPC9pbnQ+CTwhLS0gQVJBQklDIFNJR04gU0FOQUggLS0+DQotCQkJPGludD4weDA2MDI8L2ludD4JPCEtLSBBUkFCSUMgRk9PVE5PVEUgTUFSS0VSIC0tPg0KLQkJCTxpbnQ+MHgwNjAzPC9pbnQ+CTwhLS0gQVJBQklDIFNJR04gU0FGSEEgLS0+DQotCQkJPGludD4weDA2REQ8L2ludD4JPCEtLSBBUkFCSUMgRU5EIE9GIEFZQUggLS0+DQotCQkJPGludD4weDA3MEY8L2ludD4JPCEtLSBTWVJJQUMgQUJCUkVWSUFUSU9OIE1BUksgLS0+DQotCQkJPGludD4weDExNUY8L2ludD4JPCEtLSBIQU5HVUwgQ0hPU0VPTkcgRklMTEVSIC0tPg0KLQkJCTxpbnQ+MHgxMTYwPC9pbnQ+CTwhLS0gSEFOR1VMIEpVTkdTRU9ORyBGSUxMRVIgLS0+DQotCQkJPGludD4weDE2ODA8L2ludD4JPCEtLSBPR0hBTSBTUEFDRSBNQVJLIC0tPg0KLQkJCTxpbnQ+MHgxN0I0PC9pbnQ+CTwhLS0gS0hNRVIgVk9XRUwgSU5IRVJFTlQgQVEgLS0+DQotCQkJPGludD4weDE3QjU8L2ludD4JPCEtLSBLSE1FUiBWT1dFTCBJTkhFUkVOVCBBQSAtLT4NCi0JCQk8aW50PjB4MTgwRTwvaW50Pgk8IS0tIE1PTkdPTElBTiBWT1dFTCBTRVBBUkFUT1IgLS0+DQotCQkJPGludD4weDIwMDA8L2ludD4JPCEtLSBFTiBRVUFEIC0tPg0KLQkJCTxpbnQ+MHgyMDAxPC9pbnQ+CTwhLS0gRU0gUVVBRCAtLT4NCi0JCQk8aW50PjB4MjAwMjwvaW50Pgk8IS0tIEVOIFNQQUNFIC0tPg0KLQkJCTxpbnQ+MHgyMDAzPC9pbnQ+CTwhLS0gRU0gU1BBQ0UgLS0+DQotCQkJPGludD4weDIwMDQ8L2ludD4JPCEtLSBUSFJFRS1QRVItRU0gU1BBQ0UgLS0+DQotCQkJPGludD4weDIwMDU8L2ludD4JPCEtLSBGT1VSLVBFUi1FTSBTUEFDRSAtLT4NCi0JCQk8aW50PjB4MjAwNjwvaW50Pgk8IS0tIFNJWC1QRVItRU0gU1BBQ0UgLS0+DQotCQkJPGludD4weDIwMDc8L2ludD4JPCEtLSBGSUdVUkUgU1BBQ0UgLS0+DQotCQkJPGludD4weDIwMDg8L2ludD4JPCEtLSBQVU5DVFVBVElPTiBTUEFDRSAtLT4NCi0JCQk8aW50PjB4MjAwOTwvaW50Pgk8IS0tIFRISU4gU1BBQ0UgLS0+DQotCQkJPGludD4weDIwMEE8L2ludD4JPCEtLSBIQUlSIFNQQUNFIC0tPg0KLQkJCTxpbnQ+MHgyMDBCPC9pbnQ+CTwhLS0gWkVSTyBXSURUSCBTUEFDRSAtLT4NCi0JCQk8aW50PjB4MjAwQzwvaW50Pgk8IS0tIFpFUk8gV0lEVEggTk9OLUpPSU5FUiAtLT4NCi0JCQk8aW50PjB4MjAwRDwvaW50Pgk8IS0tIFpFUk8gV0lEVEggSk9JTkVSIC0tPg0KLQkJCTxpbnQ+MHgyMDBFPC9pbnQ+CTwhLS0gTEVGVC1UTy1SSUdIVCBNQVJLIC0tPg0KLQkJCTxpbnQ+MHgyMDBGPC9pbnQ+CTwhLS0gUklHSFQtVE8tTEVGVCBNQVJLIC0tPg0KLQkJCTxpbnQ+MHgyMDI4PC9pbnQ+CTwhLS0gTElORSBTRVBBUkFUT1IgLS0+DQotCQkJPGludD4weDIwMjk8L2ludD4JPCEtLSBQQVJBR1JBUEggU0VQQVJBVE9SIC0tPg0KLQkJCTxpbnQ+MHgyMDJBPC9pbnQ+CTwhLS0gTEVGVC1UTy1SSUdIVCBFTUJFRERJTkcgLS0+DQotCQkJPGludD4weDIwMkI8L2ludD4JPCEtLSBSSUdIVC1UTy1MRUZUIEVNQkVERElORyAtLT4NCi0JCQk8aW50PjB4MjAyQzwvaW50Pgk8IS0tIFBPUCBESVJFQ1RJT05BTCBGT1JNQVRUSU5HIC0tPg0KLQkJCTxpbnQ+MHgyMDJEPC9pbnQ+CTwhLS0gTEVGVC1UTy1SSUdIVCBPVkVSUklERSAtLT4NCi0JCQk8aW50PjB4MjAyRTwvaW50Pgk8IS0tIFJJR0hULVRPLUxFRlQgT1ZFUlJJREUgLS0+DQotCQkJPGludD4weDIwMkY8L2ludD4JPCEtLSBOQVJST1cgTk8tQlJFQUsgU1BBQ0UgLS0+DQotCQkJPGludD4weDIwNUY8L2ludD4JPCEtLSBNRURJVU0gTUFUSEVNQVRJQ0FMIFNQQUNFIC0tPg0KLQkJCTxpbnQ+MHgyMDYwPC9pbnQ+CTwhLS0gV09SRCBKT0lORVIgLS0+DQotCQkJPGludD4weDIwNjE8L2ludD4JPCEtLSBGVU5DVElPTiBBUFBMSUNBVElPTiAtLT4NCi0JCQk8aW50PjB4MjA2MjwvaW50Pgk8IS0tIElOVklTSUJMRSBUSU1FUyAtLT4NCi0JCQk8aW50PjB4MjA2MzwvaW50Pgk8IS0tIElOVklTSUJMRSBTRVBBUkFUT1IgLS0+DQotCQkJPGludD4weDIwNkE8L2ludD4JPCEtLSBJTkhJQklUIFNZTU1FVFJJQyBTV0FQUElORyAtLT4NCi0JCQk8aW50PjB4MjA2QjwvaW50Pgk8IS0tIEFDVElWQVRFIFNZTU1FVFJJQyBTV0FQUElORyAtLT4NCi0JCQk8aW50PjB4MjA2QzwvaW50Pgk8IS0tIElOSElCSVQgQVJBQklDIEZPUk0gU0hBUElORyAtLT4NCi0JCQk8aW50PjB4MjA2RDwvaW50Pgk8IS0tIEFDVElWQVRFIEFSQUJJQyBGT1JNIFNIQVBJTkcgLS0+DQotCQkJPGludD4weDIwNkU8L2ludD4JPCEtLSBOQVRJT05BTCBESUdJVCBTSEFQRVMgLS0+DQotCQkJPGludD4weDIwNkY8L2ludD4JPCEtLSBOT01JTkFMIERJR0lUIFNIQVBFUyAtLT4NCi0JCQk8aW50PjB4MzAwMDwvaW50Pgk8IS0tIElERU9HUkFQSElDIFNQQUNFIC0tPg0KLQkJCTxpbnQ+MHgzMTY0PC9pbnQ+CTwhLS0gSEFOR1VMIEZJTExFUiAtLT4NCi0JCQk8aW50PjB4RkVGRjwvaW50Pgk8IS0tIFpFUk8gV0lEVEggTk8tQlJFQUsgU1BBQ0UgLS0+DQotCQkJPGludD4weEZGQTA8L2ludD4JPCEtLSBIQUxGV0lEVEggSEFOR1VMIEZJTExFUiAtLT4NCi0JCQk8aW50PjB4RkZGOTwvaW50Pgk8IS0tIElOVEVSTElORUFSIEFOTk9UQVRJT04gQU5DSE9SIC0tPg0KLQkJCTxpbnQ+MHhGRkZBPC9pbnQ+CTwhLS0gSU5URVJMSU5FQVIgQU5OT1RBVElPTiBTRVBBUkFUT1IgLS0+DQotCQkJPGludD4weEZGRkI8L2ludD4JPCEtLSBJTlRFUkxJTkVBUiBBTk5PVEFUSU9OIFRFUk1JTkFUT1IgLS0+DQotCQk8L2JsYW5rPg0KLTwhLS0NCi0gIFJlc2NhbiBjb25maWd1cmF0aW9uIGV2ZXJ5IDMwIHNlY29uZHMgd2hlbiBGY0ZvbnRTZXRMaXN0IGlzIGNhbGxlZA0KLSAtLT4NCi0JCTxyZXNjYW4+DQotCQkJPGludD4zMDwvaW50Pg0KLQkJPC9yZXNjYW4+DQotCTwvY29uZmlnPg0KLQ0KLTwvZm9udGNvbmZpZz4NCi3/DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvZm9udHMuZHRkIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZm9udHMvZm9udHMuZHRkCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjcxMzVjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2ZvbnRzL2ZvbnRzLmR0ZAorKysgL2Rldi9udWxsCkBAIC0xLDIyMiArMCwwIEBACi08IS0tIFRoaXMgaXMgdGhlIERvY3VtZW50IFR5cGUgRGVmaW5pdGlvbiBmb3IgZm9udCBjb25maWd1cmF0aW9uIGZpbGVzIC0tPg0KLTwhRUxFTUVOVCBmb250Y29uZmlnIChkaXIgfCANCi0JCSAgICAgIGNhY2hlIHwgDQotCQkgICAgICBjYWNoZWRpciB8DQotCQkgICAgICBpbmNsdWRlIHwgDQotCQkgICAgICBjb25maWcgfA0KLQkJICAgICAgc2VsZWN0Zm9udCB8DQotCQkgICAgICBtYXRjaCB8IA0KLQkJICAgICAgYWxpYXMpKiA+DQotDQotPCEtLSANCi0gICAgQWRkIGEgZGlyZWN0b3J5IHRoYXQgcHJvdmlkZXMgZm9udHMNCi0tLT4NCi08IUVMRU1FTlQgZGlyICgjUENEQVRBKT4NCi08IUFUVExJU1QgZGlyIHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4NCi0NCi08IS0tDQotICAgIERlZmluZSB0aGUgcGVyLXVzZXIgZmlsZSB0aGF0IGhvbGRzIGNhY2hlIGZvbnQgaW5mb3JtYXRpb24uDQotDQotICAgIElmIHRoZSBmaWxlbmFtZSBiZWdpbnMgd2l0aCAnficsIGl0IGlzIHJlcGxhY2VkIHdpdGggdGhlIHVzZXJzDQotICAgIGhvbWUgZGlyZWN0b3J5IHBhdGguDQotLS0+DQotPCFFTEVNRU5UIGNhY2hlICgjUENEQVRBKT4NCi08IUFUVExJU1QgY2FjaGUgeG1sOnNwYWNlIChkZWZhdWx0fHByZXNlcnZlKSAncHJlc2VydmUnPg0KLQ0KLTwhLS0NCi0gICAgQWRkIGEgZGlyZWN0b3J5IHRoYXQgaXMgc2VhcmNoZWQgZm9yIGZvbnQgY2FjaGUgZmlsZXMuDQotICAgIFRoZXNlIGhvbGQgcGVyLWRpcmVjdG9yeSBjYWNoZSBkYXRhIGFuZCBhcmUgc2VhcmNoZWQgaW4NCi0gICAgb3JkZXIgZm9yIGVhY2ggZGlyZWN0b3J5LiBXaGVuIHdyaXRpbmcgY2FjaGUgZmlsZXMsIHRoZSBmaXJzdA0KLSAgICBkaXJlY3Rvcnkgd2hpY2ggYWxsb3dzIHRoZSBjYWNoZSBmaWxlIHRvIGJlIGNyZWF0ZWQgaXMgdXNlZC4NCi0NCi0gICAgQSBsZWFkaW5nICd+JyBpbiBhIGRpcmVjdG9yeSBuYW1lIGlzIHJlcGxhY2VkIHdpdGggdGhlIHVzZXJzDQotICAgIGhvbWUgZGlyZWN0b3J5IHBhdGguDQotLS0+DQotPCFFTEVNRU5UIGNhY2hlZGlyICgjUENEQVRBKT4NCi08IUFUVExJU1QgY2FjaGVkaXIgeG1sOnNwYWNlIChkZWZhdWx0fHByZXNlcnZlKSAncHJlc2VydmUnPg0KLQ0KLTwhLS0NCi0gICAgUmVmZXJlbmNlIGFub3RoZXIgY29uZmlndXJhdGlvbiBmaWxlOyBub3RlIHRoYXQgdGhpcw0KLSAgICBpcyBhbm90aGVyIGNvbXBsZXRlIGZvbnQgY29uZmlndXJhdGlvbiBmaWxlIGFuZCBub3QNCi0gICAganVzdCBhIGZpbGUgaW5jbHVkZWQgYnkgdGhlIFhNTCBwYXJzZXIuDQotDQotICAgIFNldCAnaWdub3JlX21pc3NpbmcnIHRvICd5ZXMnIGlmIGVycm9ycyBhcmUgdG8gYmUgaWdub3JlZC4NCi0NCi0gICAgSWYgdGhlIGZpbGVuYW1lIGJlZ2lucyB3aXRoICd+JywgaXQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgdXNlcnMNCi0gICAgaG9tZSBkaXJlY3RvcnkgcGF0aC4NCi0tLT4NCi08IUVMRU1FTlQgaW5jbHVkZSAoI1BDREFUQSk+DQotPCFBVFRMSVNUIGluY2x1ZGUNCi0JICBpZ25vcmVfbWlzc2luZyAgICAobm98eWVzKQkJIm5vIg0KLQkgIHhtbDpzcGFjZQkgICAgKGRlZmF1bHR8cHJlc2VydmUpCSJwcmVzZXJ2ZSI+DQotDQotPCEtLQ0KLSAgICBHbG9iYWwgbGlicmFyeSBjb25maWd1cmF0aW9uIGRhdGENCi0gLS0+DQotPCFFTEVNRU5UIGNvbmZpZyAoYmxhbmt8cmVzY2FuKSo+DQotDQotPCEtLQ0KLSAgICBTcGVjaWZ5IHRoZSBzZXQgb2YgVW5pY29kZSBlbmNvZGluZyB2YWx1ZXMgd2hpY2gNCi0gICAgcmVwcmVzZW50IGdseXBocyB0aGF0IGFyZSBhbGxvd2VkIHRvIGNvbnRhaW4gbm8NCi0gICAgZGF0YS4gIFdpdGggdGhpcyBsaXN0LCBmb250Y29uZmlnIGNhbiBleGFtaW5lDQotICAgIGZvbnRzIGZvciBicm9rZW4gZ2x5cGhzIGFuZCBlbGltaW5hdGUgdGhlbSBmcm9tDQotICAgIHRoZSBzZXQgb2YgdmFsaWQgVW5pY29kZSBjaGFycy4gIFRoaXMgaWRlYQ0KLSAgICB3YXMgYm9ycm93ZWQgZnJvbSBNb3ppbGxhDQotIC0tPg0KLTwhRUxFTUVOVCBibGFuayAoaW50KSo+DQotDQotPCEtLQ0KLSAgICBBbGlhc2VzIGFyZSBqdXN0IGEgc3BlY2lhbCBjYXNlIGZvciBtdWx0aXBsZSBtYXRjaCBlbGVtZW50cw0KLQ0KLSAgICBUaGV5IGFyZSBzeW50YWN0aWNhbGx5IGVxdWl2YWxlbnQgdG86DQotDQotICAgIDxtYXRjaD4NCi0JPHRlc3QgbmFtZT0iZmFtaWx5Ij4NCi0JICAgIDxzdHJpbmcgdmFsdWU9W2ZhbWlseV0vPg0KLQk8L3Rlc3Q+DQotCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0icHJlcGVuZCI+DQotCSAgICA8c3RyaW5nIHZhbHVlPVtwcmVmZXJdLz4NCi0JICAgIC4uLg0KLQk8L2VkaXQ+DQotCTxlZGl0IG5hbWU9ImZhbWlseSIgbW9kZT0iYXBwZW5kIj4NCi0JICAgIDxzdHJpbmcgdmFsdWU9W2FjY2VwdF0vPg0KLQkgICAgLi4uDQotCTwvZWRpdD4NCi0JPGVkaXQgbmFtZT0iZmFtaWx5IiBtb2RlPSJhcHBlbmRfbGFzdCI+DQotCSAgICA8c3RyaW5nIHZhbHVlPVtkZWZhdWx0XS8+DQotCSAgICAuLi4NCi0JPC9lZGl0Pg0KLSAgICA8L21hdGNoPg0KLS0tPg0KLTwhLS0NCi0gICAgUGVyaW9kaWNhbGx5IHJlc2NhbiB0aGUgZm9udCBjb25maWd1cmF0aW9uIGFuZA0KLSAgICBkaXJlY3RvcmllcyB0byBzeW5jaCBpbnRlcm5hbCBzdGF0ZSB3aXRoIGZpbGVzeXN0ZW0NCi0gLS0+DQotPCFFTEVNRU5UIHJlc2NhbiAoaW50KT4NCi0NCi08IS0tDQotICAgIEVkaXQgbGlzdCBvZiBhdmFpbGFibGUgZm9udHMgYXQgc3RhcnR1cC9yZWxvYWQgdGltZQ0KLSAtLT4NCi08IUVMRU1FTlQgc2VsZWN0Zm9udCAocmVqZWN0Zm9udCB8IGFjY2VwdGZvbnQpKiA+DQotDQotPCFFTEVNRU5UIHJlamVjdGZvbnQgKGdsb2IgfCBwYXR0ZXJuKSo+DQotDQotPCFFTEVNRU5UIGFjY2VwdGZvbnQgKGdsb2IgfCBwYXR0ZXJuKSo+DQotDQotPCFFTEVNRU5UIGdsb2IgKCNQQ0RBVEEpPg0KLQ0KLTwhRUxFTUVOVCBwYXR0ZXJuIChwYXRlbHQpKj4NCi0NCi08IUVOVElUWSAlIGNvbnN0YW50ICdpbnR8ZG91YmxlfHN0cmluZ3xtYXRyaXh8Ym9vbHxjaGFyc2V0fGNvbnN0Jz4NCi0NCi08IUVMRU1FTlQgcGF0ZWx0ICglY29uc3RhbnQ7KSo+DQotPCFBVFRMSVNUIHBhdGVsdA0KLQkgIG5hbWUgQ0RBVEEJI1JFUVVJUkVEPg0KLQ0KLTwhRUxFTUVOVCBhbGlhcyAoZmFtaWx5KiwgcHJlZmVyPywgYWNjZXB0PywgZGVmYXVsdD8pPg0KLTwhRUxFTUVOVCBwcmVmZXIgKGZhbWlseSkqPg0KLTwhRUxFTUVOVCBhY2NlcHQgKGZhbWlseSkqPg0KLTwhRUxFTUVOVCBkZWZhdWx0IChmYW1pbHkpKj4NCi08IUVMRU1FTlQgZmFtaWx5ICgjUENEQVRBKT4NCi08IUFUVExJU1QgZmFtaWx5IHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4NCi0NCi08IUVOVElUWSAlIGV4cHIgJ2ludHxkb3VibGV8c3RyaW5nfG1hdHJpeHxib29sfGNoYXJzZXQNCi0JCXxuYW1lfGNvbnN0DQotCQl8b3J8YW5kfGVxfG5vdF9lcXxsZXNzfGxlc3NfZXF8bW9yZXxtb3JlX2VxfGNvbnRhaW5zfG5vdF9jb250YWlucw0KLQkJfHBsdXN8bWludXN8dGltZXN8ZGl2aWRlfG5vdHxpZnxmbG9vcnxjZWlsfHJvdW5kfHRydW5jJz4NCi0NCi08IS0tDQotICAgIE1hdGNoIGFuZCBlZGl0IHBhdHRlcm5zLg0KLQ0KLSAgICBJZiAndGFyZ2V0JyBpcyAncGF0dGVybicsIGV4ZWN1dGUgdGhlIG1hdGNoIGJlZm9yZSBzZWxlY3RpbmcgYSBmb250Lg0KLSAgICBpZiAndGFyZ2V0JyBpcyAnZm9udCcsIGV4ZWN1dGUgdGhlIG1hdGNoIG9uIHRoZSByZXN1bHQgb2YgYSBmb250DQotICAgIHNlbGVjdGlvbi4NCi0tLT4NCi08IUVMRU1FTlQgbWF0Y2ggKHRlc3QqLCBlZGl0Kik+DQotPCFBVFRMSVNUIG1hdGNoDQotCSAgdGFyZ2V0IChwYXR0ZXJufGZvbnR8c2NhbikgInBhdHRlcm4iPg0KLQ0KLTwhLS0NCi0gICAgTWF0Y2ggYSBmaWVsZCBpbiBhIHBhdHRlcm4NCi0NCi0gICAgaWYgJ3F1YWwnIGlzICdhbnknLCB0aGVuIHRoZSBtYXRjaCBzdWNjZWVkcyBpZiBhbnkgdmFsdWUgaW4gdGhlIGZpZWxkIG1hdGNoZXMuDQotICAgIGlmICdxdWFsJyBpcyAnYWxsJywgdGhlbiB0aGUgbWF0Y2ggc3VjY2VlZHMgb25seSBpZiBhbGwgdmFsdWVzIG1hdGNoLg0KLSAgICBpZiAncXVhbCcgaXMgJ2ZpcnN0JywgdGhlbiB0aGUgbWF0Y2ggc3VjY2VlZHMgb25seSBpZiB0aGUgZmlyc3QgdmFsdWUgbWF0Y2hlcy4NCi0gICAgaWYgJ3F1YWwnIGlzICdub3RfZmlyc3QnLCB0aGVuIHRoZSBtYXRjaCBzdWNjZWVkcyBvbmx5IGlmIGFueSB2YWx1ZSBvdGhlciB0aGFuDQotICAgIAl0aGUgZmlyc3QgbWF0Y2hlcy4NCi0gICAgRm9yIG1hdGNoIGVsZW1lbnRzIHdpdGggdGFyZ2V0PWZvbnQsIGlmIHRlc3QgJ3RhcmdldCcgaXMgJ3BhdHRlcm4nLA0KLSAgICB0aGVuIHRoZSB0ZXN0IGlzIGFwcGxpZWQgdG8gdGhlIHBhdHRlcm4gdXNlZCBpbiBtYXRjaGluZyByYXRoZXIgdGhhbg0KLSAgICB0byB0aGUgcmVzdWx0aW5nIGZvbnQuDQotDQotICAgIE1hdGNoIGVsZW1lbnRzIHdpdGggdGFyZ2V0PXNjYW4gYXJlIGFwcGxpZWQgYXMgZm9udHMgYXJlIHNjYW5uZWQuDQotICAgIFRoZXkgZWRpdCB0aGUgcGF0dGVybiBnZW5lcmF0ZWQgZnJvbSB0aGUgc2Nhbm5lZCBmb250IGFuZCBhZmZlY3QNCi0gICAgd2hhdCB0aGUgZm9udGNvbmZpZyBkYXRhYmFzZSBjb250YWlucy4NCi0tLT4NCi08IUVMRU1FTlQgdGVzdCAoJWV4cHI7KSo+DQotPCFBVFRMSVNUIHRlc3QgDQotCSAgcXVhbCAoYW55fGFsbHxmaXJzdHxub3RfZmlyc3QpICAgICJhbnkiDQotCSAgbmFtZSBDREFUQQkgICAgI1JFUVVJUkVEDQotCSAgdGFyZ2V0IChwYXR0ZXJufGZvbnR8ZGVmYXVsdCkJCSJkZWZhdWx0Ig0KLQkgIGNvbXBhcmUgKGVxfG5vdF9lcXxsZXNzfGxlc3NfZXF8bW9yZXxtb3JlX2VxfGNvbnRhaW5zfG5vdF9jb250YWlucykJImVxIj4NCi0NCi08IS0tDQotICAgIEVkaXQgYSBmaWVsZCBpbiBhIHBhdHRlcm4NCi0NCi0gICAgVGhlIGVuY2xvc2VkIHZhbHVlcyBhcmUgdXNlZCB0b2dldGhlciB0byBlZGl0IHRoZSBsaXN0IG9mIHZhbHVlcw0KLSAgICBhc3NvY2lhdGVkIHdpdGggJ25hbWUnLg0KLQ0KLSAgICBJZiAnbmFtZScgbWF0Y2hlcyBvbmUgb2YgdGhvc2UgdXNlZCBpbiBhIHRlc3QgZWxlbWVudCBmb3IgdGhpcyBtYXRjaCBlbGVtZW50Og0KLQlpZiAnbW9kZScgaXMgJ2Fzc2lnbicsIHJlcGxhY2UgdGhlIG1hdGNoZWQgdmFsdWUuDQotCWlmICdtb2RlJyBpcyAnYXNzaWduX3JlcGxhY2UnLCByZXBsYWNlIGFsbCBvZiB0aGUgdmFsdWVzDQotCWlmICdtb2RlJyBpcyAncHJlcGVuZCcsIGluc2VydCBiZWZvcmUgdGhlIG1hdGNoZWQgdmFsdWUNCi0JaWYgJ21vZGUnIGlzICdhcHBlbmQnLCBpbnNlcnQgYWZ0ZXIgdGhlIG1hdGNoZWQgdmFsdWUNCi0JaWYgJ21vZGUnIGlzICdwcmVwZW5kX2ZpcnN0JywgaW5zZXJ0IGJlZm9yZSBhbGwgb2YgdGhlIHZhbHVlcw0KLQlpZiAnbW9kZScgaXMgJ2FwcGVuZF9sYXN0JywgaW5zZXJ0IGFmdGVyIGFsbCBvZiB0aGUgdmFsdWVzDQotICAgIElmICduYW1lJyBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aG9zZSB1c2VkIGluIGEgdGVzdCBlbGVtZW50Og0KLQlpZiAnbW9kZScgaXMgJ2Fzc2lnbicgb3IgJ2Fzc2lnbl9yZXBsYWNlLCByZXBsYWNlIGFsbCBvZiB0aGUgdmFsdWVzDQotCWlmICdtb2RlJyBpcyAncHJlcGVuZCcgb3IgJ3ByZXBlbmRfZmlyc3QnLCBpbnNlcnQgYmVmb3JlIGFsbCBvZiB0aGUgdmFsdWVzDQotCWlmICdtb2RlJyBpcyAnYXBwZW5kJyBvciAnYXBwZW5kX2xhc3QnLCBpbnNlcnQgYWZ0ZXIgYWxsIG9mIHRoZSB2YWx1ZXMNCi0tLT4NCi08IUVMRU1FTlQgZWRpdCAoJWV4cHI7KSo+DQotPCFBVFRMSVNUIGVkaXQNCi0JICBuYW1lIENEQVRBCSAgICAjUkVRVUlSRUQNCi0JICBtb2RlIChhc3NpZ258YXNzaWduX3JlcGxhY2V8cHJlcGVuZHxhcHBlbmR8cHJlcGVuZF9maXJzdHxhcHBlbmRfbGFzdCkgImFzc2lnbiINCi0JICBiaW5kaW5nICh3ZWFrfHN0cm9uZ3xzYW1lKSAid2VhayI+DQotDQotPCEtLQ0KLSAgICBFbGVtZW50cyBvZiBleHByZXNzaW9ucyBmb2xsb3cNCi0tLT4NCi08IUVMRU1FTlQgaW50ICgjUENEQVRBKT4NCi08IUFUVExJU1QgaW50IHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4NCi08IUVMRU1FTlQgZG91YmxlICgjUENEQVRBKT4NCi08IUFUVExJU1QgZG91YmxlIHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4NCi08IUVMRU1FTlQgc3RyaW5nICgjUENEQVRBKT4NCi08IUFUVExJU1Qgc3RyaW5nIHhtbDpzcGFjZSAoZGVmYXVsdHxwcmVzZXJ2ZSkgJ3ByZXNlcnZlJz4NCi08IUVMRU1FTlQgbWF0cml4IChkb3VibGUsZG91YmxlLGRvdWJsZSxkb3VibGUpPg0KLTwhRUxFTUVOVCBib29sICgjUENEQVRBKT4NCi08IUVMRU1FTlQgY2hhcnNldCAoI1BDREFUQSk+DQotPCFBVFRMSVNUIGNoYXJzZXQgeG1sOnNwYWNlIChkZWZhdWx0fHByZXNlcnZlKSAncHJlc2VydmUnPg0KLTwhRUxFTUVOVCBuYW1lICgjUENEQVRBKT4NCi08IUFUVExJU1QgbmFtZSB4bWw6c3BhY2UgKGRlZmF1bHR8cHJlc2VydmUpICdwcmVzZXJ2ZSc+DQotPCFFTEVNRU5UIGNvbnN0ICgjUENEQVRBKT4NCi08IUFUVExJU1QgY29uc3QgeG1sOnNwYWNlIChkZWZhdWx0fHByZXNlcnZlKSAncHJlc2VydmUnPg0KLTwhRUxFTUVOVCBvciAoJWV4cHI7KSo+DQotPCFFTEVNRU5UIGFuZCAoJWV4cHI7KSo+DQotPCFFTEVNRU5UIGVxICgoJWV4cHI7KSwgKCVleHByOykpPg0KLTwhRUxFTUVOVCBub3RfZXEgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIGxlc3MgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIGxlc3NfZXEgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIG1vcmUgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIG1vcmVfZXEgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIGNvbnRhaW5zICgoJWV4cHI7KSwgKCVleHByOykpPg0KLTwhRUxFTUVOVCBub3RfY29udGFpbnMgKCglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIHBsdXMgKCVleHByOykqPg0KLTwhRUxFTUVOVCBtaW51cyAoJWV4cHI7KSo+DQotPCFFTEVNRU5UIHRpbWVzICglZXhwcjspKj4NCi08IUVMRU1FTlQgZGl2aWRlICglZXhwcjspKj4NCi08IUVMRU1FTlQgbm90ICglZXhwcjspPg0KLTwhRUxFTUVOVCBpZiAoKCVleHByOyksICglZXhwcjspLCAoJWV4cHI7KSk+DQotPCFFTEVNRU5UIGZsb29yICglZXhwcjspPg0KLTwhRUxFTUVOVCBjZWlsICglZXhwcjspPg0KLTwhRUxFTUVOVCByb3VuZCAoJWV4cHI7KT4NCi08IUVMRU1FTlQgdHJ1bmMgKCVleHByOyk+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZ3RrLTIuMC9nZGstcGl4YnVmLmxvYWRlcnMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9ndGstMi4wL2dkay1waXhidWYubG9hZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM2MWRkMC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9ndGstMi4wL2dkay1waXhidWYubG9hZGVycworKysgL2Rldi9udWxsCkBAIC0xLDExNCArMCwwIEBACi0jIEdka1BpeGJ1ZiBJbWFnZSBMb2FkZXIgTW9kdWxlcyBmaWxlDQotIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlLCBkbyBub3QgZWRpdA0KLSMgQ3JlYXRlZCBieSBnZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMuZXhlIGZyb20gZ3RrKy0yLjEwLjYNCi0jDQotIyBMb2FkZXJEaXIgPSAvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9sb2FkZXJzDQotIw0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9sb2FkZXJzL2xpYnBpeGJ1ZmxvYWRlci1hbmkuZGxsIg0KLSJhbmkiIDQgImd0azIwIiAiVGhlIEFOSSBpbWFnZSBmb3JtYXQiDQotImFwcGxpY2F0aW9uL3gtbmF2aS1hbmltYXRpb24iICIiDQotImFuaSIgIiINCi0iUklGRiAgICBBQ09OIiAiICAgIHh4eHggICAgIiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItYm1wLmRsbCINCi0iYm1wIiA1ICJndGsyMCIgIlRoZSBCTVAgaW1hZ2UgZm9ybWF0Ig0KLSJpbWFnZS9ibXAiICJpbWFnZS94LWJtcCIgImltYWdlL3gtTVMtYm1wIiAiIg0KLSJibXAiICIiDQotIkJNIiAiIiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItZ2lmLmRsbCINCi0iZ2lmIiA0ICJndGsyMCIgIlRoZSBHSUYgaW1hZ2UgZm9ybWF0Ig0KLSJpbWFnZS9naWYiICIiDQotImdpZiIgIiINCi0iR0lGOCIgIiIgMTAwDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvbGlicGl4YnVmbG9hZGVyLWljby5kbGwiDQotImljbyIgNSAiZ3RrMjAiICJUaGUgSUNPIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UveC1pY29uIiAiIg0KLSJpY28iICJjdXIiICIiDQotIiAgXDAwMSAgICIgInp6IHpueiIgMTAwDQotIiAgXDAwMiAgICIgInp6IHpueiIgMTAwDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvbGlicGl4YnVmbG9hZGVyLWpwZWcuZGxsIg0KLSJqcGVnIiA1ICJndGsyMCIgIlRoZSBKUEVHIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UvanBlZyIgIiINCi0ianBlZyIgImpwZSIgImpwZyIgIiINCi0iXDM3N1wzMzAiICIiIDEwMA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9sb2FkZXJzL2xpYnBpeGJ1ZmxvYWRlci1wY3guZGxsIg0KLSJwY3giIDQgImd0azIwIiAiVGhlIFBDWCBpbWFnZSBmb3JtYXQiDQotImltYWdlL3gtcGN4IiAiIg0KLSJwY3giICIiDQotIlxuIFwwMDEiICIiIDEwMA0KLSJcblwwMDJcMDAxIiAiIiAxMDANCi0iXG5cMDAzXDAwMSIgIiIgMTAwDQotIlxuXDAwNFwwMDEiICIiIDEwMA0KLSJcblwwMDVcMDAxIiAiIiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItcG5nLmRsbCINCi0icG5nIiA1ICJndGsyMCIgIlRoZSBQTkcgaW1hZ2UgZm9ybWF0Ig0KLSJpbWFnZS9wbmciICIiDQotInBuZyIgIiINCi0iXDIxMVBOR1xyXG5cMDMyXG4iICIiIDEwMA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9sb2FkZXJzL2xpYnBpeGJ1ZmxvYWRlci1wbm0uZGxsIg0KLSJwbm0iIDQgImd0azIwIiAiVGhlIFBOTS9QQk0vUEdNL1BQTSBpbWFnZSBmb3JtYXQgZmFtaWx5Ig0KLSJpbWFnZS94LXBvcnRhYmxlLWFueW1hcCIgImltYWdlL3gtcG9ydGFibGUtYml0bWFwIiAiaW1hZ2UveC1wb3J0YWJsZS1ncmF5bWFwIiAiaW1hZ2UveC1wb3J0YWJsZS1waXhtYXAiICIiDQotInBubSIgInBibSIgInBnbSIgInBwbSIgIiINCi0iUDEiICIiIDEwMA0KLSJQMiIgIiIgMTAwDQotIlAzIiAiIiAxMDANCi0iUDQiICIiIDEwMA0KLSJQNSIgIiIgMTAwDQotIlA2IiAiIiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItcmFzLmRsbCINCi0icmFzIiA0ICJndGsyMCIgIlRoZSBTdW4gcmFzdGVyIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UveC1jbXUtcmFzdGVyIiAiaW1hZ2UveC1zdW4tcmFzdGVyIiAiIg0KLSJyYXMiICIiDQotIllcMjQ2alwyMjUiICIiIDEwMA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9sb2FkZXJzL2xpYnBpeGJ1ZmxvYWRlci10Z2EuZGxsIg0KLSJ0Z2EiIDQgImd0azIwIiAiVGhlIFRhcmdhIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UveC10Z2EiICIiDQotInRnYSIgInRhcmdhIiAiIg0KLSIgXDAwMVwwMDEiICJ4ICAiIDEwMA0KLSIgXDAwMVx0IiAieCAgIiAxMDANCi0iICBcMDAyIiAieHogIiA5OQ0KLSIgIFwwMDMiICJ4eiAiIDEwMA0KLSIgIFxuIiAieHogIiAxMDANCi0iICBcMDEzIiAieHogIiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItdGlmZi5kbGwiDQotInRpZmYiIDEgImd0azIwIiAiVGhlIFRJRkYgaW1hZ2UgZm9ybWF0Ig0KLSJpbWFnZS90aWZmIiAiIg0KLSJ0aWZmIiAidGlmIiAiIg0KLSJNTSAqIiAiICB6ICIgMTAwDQotIklJKiAiICIgICB6IiAxMDANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvbG9hZGVycy9saWJwaXhidWZsb2FkZXItd2JtcC5kbGwiDQotIndibXAiIDQgImd0azIwIiAiVGhlIFdCTVAgaW1hZ2UgZm9ybWF0Ig0KLSJpbWFnZS92bmQud2FwLndibXAiICIiDQotIndibXAiICIiDQotIiAiICJ6IiAxDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvbGlicGl4YnVmbG9hZGVyLXhibS5kbGwiDQotInhibSIgNCAiZ3RrMjAiICJUaGUgWEJNIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UveC14Yml0bWFwIiAiIg0KLSJ4Ym0iICIiDQotIiNkZWZpbmUgIiAiIiAxMDANCi0iLyoiICIiIDUwDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvbGlicGl4YnVmbG9hZGVyLXhwbS5kbGwiDQotInhwbSIgNCAiZ3RrMjAiICJUaGUgWFBNIGltYWdlIGZvcm1hdCINCi0iaW1hZ2UveC14cGl4bWFwIiAiIg0KLSJ4cG0iICIiDQotIi8qIFhQTSAqLyIgIiIgMTAwDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2xvYWRlcnMvc3ZnX2xvYWRlci5kbGwiDQotInN2ZyIgMiAiZ3RrMjAiICJTY2FsYWJsZSBWZWN0b3IgR3JhcGhpY3MiDQotImltYWdlL3N2Zyt4bWwiICJpbWFnZS9zdmciICJpbWFnZS9zdmcteG1sIiAiaW1hZ2Uvdm5kLmFkb2JlLnN2Zyt4bWwiICJ0ZXh0L3htbC1zdmciICIiDQotInN2ZyIgInN2Z3oiICJzdmcuZ3oiICIiDQotIiA8c3ZnIiAiKiAgICAiIDEwMA0KLSIgPCFET0NUWVBFIHN2ZyIgIiogICAgICAgICAgICAgIiAxMDANCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9ndGstMi4wL2d0ay5pbW1vZHVsZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9ndGstMi4wL2d0ay5pbW1vZHVsZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhNjI3MzkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZ3RrLTIuMC9ndGsuaW1tb2R1bGVzCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotIyBHVEsrIElucHV0IE1ldGhvZCBNb2R1bGVzIGZpbGUNCi0jIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGUsIGRvIG5vdCBlZGl0DQotIyBDcmVhdGVkIGJ5IGd0ay1xdWVyeS1pbW1vZHVsZXMtMi4wLmV4ZSBmcm9tIGd0aystMi4xMC42DQotIw0KLSMgTW9kdWxlc1BhdGggPSAvdGFyZ2V0L2xpYi9ndGstMi4wLzIuNC4wL2ltbW9kdWxlcw0KLSMNCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvaW1tb2R1bGVzL2ltLWFtLWV0LmRsbCIgDQotImFtX2V0IiAiQW1oYXJpYyAoRVorKSIgImd0azIwIiAiJHtwcmVmaXh9L3NoYXJlL2xvY2FsZSIgImFtIiANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvaW1tb2R1bGVzL2ltLWNlZGlsbGEuZGxsIiANCi0iY2VkaWxsYSIgIkNlZGlsbGEiICJndGsrIiAiJHtwcmVmaXh9L3NoYXJlL2xvY2FsZSIgImF6OmNhOmNvOmZyOmd2Om9jOnB0OnNxOnRyOndhIiANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvaW1tb2R1bGVzL2ltLWN5cmlsbGljLXRyYW5zbGl0LmRsbCIgDQotImN5cmlsbGljX3RyYW5zbGl0IiAiQ3lyaWxsaWMgKFRyYW5zbGl0ZXJhdGVkKSIgImd0azIwIiAiJHtwcmVmaXh9L3NoYXJlL2xvY2FsZSIgIiIgDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2ltbW9kdWxlcy9pbS1pbWUuZGxsIiANCi0iaW1lIiAiV2luZG93cyBJTUUiICJndGsrIiAiIiAiamE6a286emgiIA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9pbW1vZHVsZXMvaW0taW51a3RpdHV0LmRsbCIgDQotImludWt0aXR1dCIgIkludWt0aXR1dCAoVHJhbnNsaXRlcmF0ZWQpIiAiZ3RrMjAiICIke3ByZWZpeH0vc2hhcmUvbG9jYWxlIiAiaXUiIA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9pbW1vZHVsZXMvaW0taXBhLmRsbCIgDQotImlwYSIgIklQQSIgImd0azIwIiAiJHtwcmVmaXh9L3NoYXJlL2xvY2FsZSIgIiIgDQotDQotIi90YXJnZXQvbGliL2d0ay0yLjAvMi4xMC4wL2ltbW9kdWxlcy9pbS10aGFpLWJyb2tlbi5kbGwiIA0KLSJ0aGFpX2Jyb2tlbiIgIlRoYWkgKEJyb2tlbikiICJndGsyMCIgIiR7cHJlZml4fS9zaGFyZS9sb2NhbGUiICIiIA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9pbW1vZHVsZXMvaW0tdGktZXIuZGxsIiANCi0idGlfZXIiICJUaWdyaWduYS1Fcml0cmVhbiAoRVorKSIgImd0azIwIiAiJHtwcmVmaXh9L3NoYXJlL2xvY2FsZSIgInRpIiANCi0NCi0iL3RhcmdldC9saWIvZ3RrLTIuMC8yLjEwLjAvaW1tb2R1bGVzL2ltLXRpLWV0LmRsbCIgDQotInRpX2V0IiAiVGlncmlnbmEtRXRoaW9waWFuIChFWispIiAiZ3RrMjAiICIke3ByZWZpeH0vc2hhcmUvbG9jYWxlIiAidGkiIA0KLQ0KLSIvdGFyZ2V0L2xpYi9ndGstMi4wLzIuMTAuMC9pbW1vZHVsZXMvaW0tdmlxci5kbGwiIA0KLSJ2aXFyIiAiVmlldG5hbWVzZSAoVklRUikiICJndGsyMCIgIiR7cHJlZml4fS9zaGFyZS9sb2NhbGUiICJ2aSIgDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZ3RrLTIuMC9ndGtyYyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL2d0ay0yLjAvZ3RrcmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmMzY5MzQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvZ3RrLTIuMC9ndGtyYworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWd0ay10aGVtZS1uYW1lID0gIk1TLVdpbmRvd3MiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvcGFuZ28vcGFuZ28uYWxpYXNlcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL3BhbmdvL3BhbmdvLmFsaWFzZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyZGRkMmQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9ldGMvcGFuZ28vcGFuZ28uYWxpYXNlcworKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotY291cmllciA9ICJjb3VyaWVyIG5ldyINCi0NCi10YWhvbWEgPSAidGFob21hLGJyb3dhbGxpYSBuZXcsbWluZ2xpdSxzaW1oZWksZ3VsaW1jaGUsbXMgZ290aGljLGxhdGhhLG1hbmdhbCINCi1zYW5zID0gImFyaWFsLGJyb3dhbGxpYSBuZXcsbWluZ2xpdSxzaW1oZWksZ3VsaW1jaGUsbXMgZ290aGljLGxhdGhhLG1hbmdhbCINCi1zZXJpZiA9ICJ0aW1lcyBuZXcgcm9tYW4sYW5nc2FuYSBuZXcsbWluZ2xpdSxzaW1zdW4sZ3VsaW1jaGUsbXMgZ290aGljLGxhdGhhLG1hbmdhbCINCi1tb25vc3BhY2UgPSAiY291cmllciBuZXcsY291cmllciBtb25vdGhhaSxtaW5nbGl1LHNpbXN1bixndWxpbWNoZSxtcyBnb3RoaWMsbGF0aGEsbWFuZ2FsIg0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL3BhbmdvL3BhbmdvLm1vZHVsZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2V0Yy9wYW5nby9wYW5nby5tb2R1bGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDZkZmYyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvZXRjL3BhbmdvL3BhbmdvLm1vZHVsZXMKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0jIFBhbmdvIE1vZHVsZXMgZmlsZQ0KLSMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZmlsZSwgZG8gbm90IGVkaXQNCi0jDQotIyBNb2R1bGVzUGF0aCA9IC90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMNCi0jDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28tYXJhYmljLWZjLmRsbCIgQXJhYmljU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIGFyYWJpYzoqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28tYXJhYmljLWxhbmcuZGxsIiBBcmFiaWNTY3JpcHRFbmdpbmVMYW5nIFBhbmdvRW5naW5lTGFuZyBQYW5nb1JlbmRlck5vbmUgYXJhYmljOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1iYXNpYy1mYy5kbGwiIEJhc2ljU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIGFybWVuaWFuOiogYm9wb21vZm86KiBjaGVyb2tlZToqIGNvcHRpYzoqIGN5cmlsbGljOiogZGVzZXJldDoqIGV0aGlvcGljOiogZ2VvcmdpYW46KiBnb3RoaWM6KiBncmVlazoqIGhhbjoqIGhpcmFnYW5hOioga2F0YWthbmE6KiBsYXRpbjoqIG9naGFtOiogb2xkLWl0YWxpYzoqIHJ1bmljOiogY2FuYWRpYW4tYWJvcmlnaW5hbDoqIHlpOiogYnJhaWxsZToqIGN5cHJpb3Q6KiBsaW1idToqIG9zbWFueWE6KiBzaGF2aWFuOiogbGluZWFyLWI6KiB1Z2FyaXRpYzoqIGdsYWdvbGl0aWM6KiBjdW5laWZvcm06KiBwaG9lbmljaWFuOiogY29tbW9uOg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWJhc2ljLXdpbjMyLmRsbCIgQmFzaWNTY3JpcHRFbmdpbmVXaW4zMiBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyV2luMzIgY29tbW9uOg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWhhbmd1bC1mYy5kbGwiIEhhbmd1bFNjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyBoYW5ndWw6Kg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWhlYnJldy1mYy5kbGwiIEhlYnJld1NjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyBoZWJyZXc6Kg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWluZGljLWZjLmRsbCIgZGV2YVNjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyBkZXZhbmFnYXJpOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1mYy5kbGwiIGJlbmdTY3JpcHRFbmdpbmVGYyBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyRmMgYmVuZ2FsaToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtZmMuZGxsIiBndXJ1U2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIGd1cm11a2hpOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1mYy5kbGwiIGd1anJTY3JpcHRFbmdpbmVGYyBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyRmMgZ3VqYXJhdGk6Kg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWluZGljLWZjLmRsbCIgb3J5YVNjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyBvcml5YToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtZmMuZGxsIiB0YW1sU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIHRhbWlsOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1mYy5kbGwiIHRlbHVTY3JpcHRFbmdpbmVGYyBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyRmMgdGVsdWd1OioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1mYy5kbGwiIGtuZGFTY3JpcHRFbmdpbmVGYyBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyRmMga2FubmFkYToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtZmMuZGxsIiBtbHltU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIG1hbGF5YWxhbToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtZmMuZGxsIiBzaW5oU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIHNpbmhhbGE6Kg0KLSIvdGFyZ2V0L2xpYi9wYW5nby8xLjYuMC9tb2R1bGVzL3BhbmdvLWluZGljLWxhbmcuZGxsIiBkZXZhSW5kaWNTY3JpcHRFbmdpbmVMYW5nIFBhbmdvRW5naW5lTGFuZyBQYW5nb1JlbmRlck5vbmUgZGV2YW5hZ2FyaToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtbGFuZy5kbGwiIGJlbmdJbmRpY1NjcmlwdEVuZ2luZUxhbmcgUGFuZ29FbmdpbmVMYW5nIFBhbmdvUmVuZGVyTm9uZSBiZW5nYWxpOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgZ3VydUluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIGd1cm11a2hpOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgZ3VqckluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIGd1amFyYXRpOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgb3J5YUluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIG9yaXlhOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgdGFtbEluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIHRhbWlsOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgdGVsdUluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIHRlbHVndToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtbGFuZy5kbGwiIGtuZGFJbmRpY1NjcmlwdEVuZ2luZUxhbmcgUGFuZ29FbmdpbmVMYW5nIFBhbmdvUmVuZGVyTm9uZSBrYW5uYWRhOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1pbmRpYy1sYW5nLmRsbCIgbWx5bUluZGljU2NyaXB0RW5naW5lTGFuZyBQYW5nb0VuZ2luZUxhbmcgUGFuZ29SZW5kZXJOb25lIG1hbGF5YWxhbToqDQotIi90YXJnZXQvbGliL3BhbmdvLzEuNi4wL21vZHVsZXMvcGFuZ28taW5kaWMtbGFuZy5kbGwiIHNpbmhJbmRpY1NjcmlwdEVuZ2luZUxhbmcgUGFuZ29FbmdpbmVMYW5nIFBhbmdvUmVuZGVyTm9uZSBzaW5oYWxhOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1raG1lci1mYy5kbGwiIEtobWVyU2NyaXB0RW5naW5lRmMgUGFuZ29FbmdpbmVTaGFwZSBQYW5nb1JlbmRlckZjIGtobWVyOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby1zeXJpYWMtZmMuZGxsIiBTeXJpYWNTY3JpcHRFbmdpbmVGYyBQYW5nb0VuZ2luZVNoYXBlIFBhbmdvUmVuZGVyRmMgc3lyaWFjOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby10aGFpLWZjLmRsbCIgVGhhaVNjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyB0aGFpOiogbGFvOioNCi0iL3RhcmdldC9saWIvcGFuZ28vMS42LjAvbW9kdWxlcy9wYW5nby10aWJldGFuLWZjLmRsbCIgVGliZXRhblNjcmlwdEVuZ2luZUZjIFBhbmdvRW5naW5lU2hhcGUgUGFuZ29SZW5kZXJGYyB0aWJldGFuOioNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9ib3gubGVmdHkgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9ib3gubGVmdHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MzRhNjUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvYm94LmxlZnR5CisrKyAvZGV2L251bGwKQEAgLTEsMTU3ICswLDAgQEAKLWxvYWQgKCdkZWYubGVmdHknKTsNCi1kZWZpbml0ICgpOw0KLSMNCi0jIGluaXRpYWxpemUgd2luZG93IGRhdGENCi0jDQotY2FudmFzID0gZGVmY2FudmFzOw0KLXdyZWN0ID0gWzAgPSBbJ3gnID0gMDsgJ3knID0gMDtdOyAxID0gWyd4JyA9IDQwMDsgJ3knID0gNTAwO107XTsNCi1zZXR3aWRnZXRhdHRyIChjYW52YXMsIFsnd2luZG93JyA9IHdyZWN0O10pOw0KLSMNCi0jIGRhdGEgc3RydWN0dXJlcw0KLSMNCi1vYmphcnJheSA9IFtdOw0KLW9iam51bSA9IDA7DQotIw0KLSMgbWlzYyBmdW5jdGlvbnMNCi0jDQotbWluID0gZnVuY3Rpb24gKGEsIGIpIHsNCi0gICAgaWYgKGEgPD0gYikNCi0gICAgICAgIHJldHVybiBhOw0KLSAgICByZXR1cm4gYjsNCi19Ow0KLW1heCA9IGZ1bmN0aW9uIChhLCBiKSB7DQotICAgIGlmIChiIDw9IGEpDQotICAgICAgICByZXR1cm4gYTsNCi0gICAgcmV0dXJuIGI7DQotfTsNCi1yZWN0b2YgPSBmdW5jdGlvbiAocDEsIHAyKSB7DQotICAgIHJldHVybiBbDQotICAgICAgICAwID0gWyd4JyA9IG1pbiAocDEueCwgcDIueCk7ICd5JyA9IG1pbiAocDEueSwgcDIueSk7XTsNCi0gICAgICAgIDEgPSBbJ3gnID0gbWF4IChwMS54LCBwMi54KTsgJ3knID0gbWF4IChwMS55LCBwMi55KTtdOw0KLSAgICBdOw0KLX07DQotcG9pbnRhZGQgPSBmdW5jdGlvbiAocDEsIHAyKSB7DQotICAgIHJldHVybiBbJ3gnID0gcDIueCArIHAxLng7ICd5JyA9IHAyLnkgKyBwMS55O107DQotfTsNCi1wb2ludHN1YiA9IGZ1bmN0aW9uIChwMSwgcDIpIHsNCi0gICAgcmV0dXJuIFsneCcgPSBwMi54IC0gcDEueDsgJ3knID0gcDIueSAtIHAxLnk7XTsNCi19Ow0KLSMNCi0jIHJlbmRlcmluZyBmdW5jdGlvbnMNCi0jDQotZHJhd2JveCA9IGZ1bmN0aW9uIChvYmosIGNvbG9yKSB7DQotICAgIGJveCAoY2FudmFzLCBvYmosIG9iai5yZWN0LCBbJ2NvbG9yJyA9IGNvbG9yO10pOw0KLX07DQotcmVkcmF3Ym94ZXMgPSBmdW5jdGlvbiAoKSB7DQotICAgIGxvY2FsIGk7DQotICAgIGNsZWFyIChjYW52YXMpOw0KLSAgICBmb3IgKGkgPSAwOyBpIDwgb2JqbnVtOyBpID0gaSArIDEpDQotICAgICAgICBkcmF3Ym94IChvYmphcnJheVtpXSwgMSk7DQotfTsNCi1yZWRyYXcgPSBmdW5jdGlvbiAoY2FudmFzKSB7DQotICAgIHJlZHJhd2JveGVzICgpOw0KLX07DQotIw0KLSMgZWRpdGluZyBmdW5jdGlvbnMNCi0jDQotbmV3ID0gZnVuY3Rpb24gKHJlY3QpIHsNCi0gICAgb2JqYXJyYXlbb2JqbnVtXSA9IFsNCi0gICAgICAgICdyZWN0JyA9IHJlY3Q7DQotICAgICAgICAnaWQnID0gb2JqbnVtOw0KLSAgICBdOw0KLSAgICBvYmpudW0gPSBvYmpudW0gKyAxOw0KLSAgICByZXR1cm4gb2JqYXJyYXlbb2JqbnVtIC0gMV07DQotfTsNCi1yZXNoYXBlID0gZnVuY3Rpb24gKG9iaiwgcmVjdCkgew0KLSAgICBvYmoucmVjdCA9IHJlY3Q7DQotICAgIHJldHVybiBvYmo7DQotfTsNCi1tb3ZlID0gZnVuY3Rpb24gKG9iaiwgcCkgew0KLSAgICBvYmoucmVjdFswXSA9IHBvaW50YWRkIChvYmoucmVjdFswXSwgcCk7DQotICAgIG9iai5yZWN0WzFdID0gcG9pbnRhZGQgKG9iai5yZWN0WzFdLCBwKTsNCi0gICAgcmV0dXJuIG9iajsNCi19Ow0KLWRlbGV0ZSA9IGZ1bmN0aW9uIChvYmopIHsNCi0gICAgaWYgKG9iai5pZCB+PSBvYmpudW0gLSAxKSB7DQotICAgICAgICBvYmphcnJheVtvYmouaWRdID0gb2JqYXJyYXlbb2JqbnVtIC0gMV07DQotICAgICAgICBvYmphcnJheVtvYmouaWRdLmlkID0gb2JqLmlkOw0KLSAgICB9DQotICAgIHJlbW92ZSAob2JqbnVtIC0gMSwgb2JqYXJyYXkpOw0KLSAgICBvYmpudW0gPSBvYmpudW0gLSAxOw0KLX07DQotIw0KLSMgdXNlciBpbnRlcmZhY2UgZnVuY3Rpb25zDQotIw0KLSMgbGVmdCBtb3VzZSBidXR0b24gY3JlYXRlcyBuZXcgYm94DQotIyBtaWRkbGUgYnV0dG9uIG1vdmVzIGEgYm94DQotIyByaWdodCBidXR0b24gZGVsZXRlcyBhIGJveA0KLSMNCi1sZWZ0ZG93biA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgIGlmIChkYXRhLm9iaiB+PSBudWxsKQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBsZWZ0Ym94ID0gbmV3IChyZWN0b2YgKGRhdGEucG9zLCBkYXRhLnBvcykpOw0KLSAgICBkcmF3Ym94IChsZWZ0Ym94LCAxKTsNCi0gICAgc2V0Z2Z4YXR0ciAoY2FudmFzLCBbJ21vZGUnID0gJ3hvcic7XSk7DQotfTsNCi1sZWZ0bW92ZSA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgIGlmICh+bGVmdGJveCkNCi0gICAgICAgIHJldHVybjsNCi0gICAgZHJhd2JveCAobGVmdGJveCwgMSk7DQotICAgIGNsZWFycGljayAoY2FudmFzLCBsZWZ0Ym94KTsNCi0gICAgcmVzaGFwZSAobGVmdGJveCwgcmVjdG9mIChkYXRhLnBwb3MsIGRhdGEucG9zKSk7DQotICAgIGRyYXdib3ggKGxlZnRib3gsIDEpOw0KLX07DQotbGVmdHVwID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgaWYgKH5sZWZ0Ym94KQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBkcmF3Ym94IChsZWZ0Ym94LCAxKTsNCi0gICAgY2xlYXJwaWNrIChjYW52YXMsIGxlZnRib3gpOw0KLSAgICByZXNoYXBlIChsZWZ0Ym94LCByZWN0b2YgKGRhdGEucHBvcywgZGF0YS5wb3MpKTsNCi0gICAgc2V0Z2Z4YXR0ciAoY2FudmFzLCBbJ21vZGUnID0gJ3NyYyc7XSk7DQotICAgIGRyYXdib3ggKGxlZnRib3gsIDEpOw0KLSAgICByZW1vdmUgKCdsZWZ0Ym94Jyk7DQotfTsNCi1taWRkbGVkb3duID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgaWYgKGRhdGEub2JqID09IG51bGwpDQotICAgICAgICByZXR1cm47DQotICAgIG1pZGRsZWJveCA9IGRhdGEub2JqOw0KLSAgICBtaWRkbGVwb3MgPSBkYXRhLnBvczsNCi0gICAgc2V0Z2Z4YXR0ciAoY2FudmFzLCBbJ21vZGUnID0gJ3hvcic7XSk7DQotfTsNCi1taWRkbGVtb3ZlID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgaWYgKH5taWRkbGVib3gpDQotICAgICAgICByZXR1cm47DQotICAgIGRyYXdib3ggKG1pZGRsZWJveCwgMSk7DQotICAgIGNsZWFycGljayAoY2FudmFzLCBtaWRkbGVib3gpOw0KLSAgICBtb3ZlIChtaWRkbGVib3gsIHBvaW50c3ViIChtaWRkbGVwb3MsIGRhdGEucG9zKSk7DQotICAgIG1pZGRsZXBvcyA9IGRhdGEucG9zOw0KLSAgICBkcmF3Ym94IChtaWRkbGVib3gsIDEpOw0KLX07DQotbWlkZGxldXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBpZiAofm1pZGRsZWJveCkNCi0gICAgICAgIHJldHVybjsNCi0gICAgZHJhd2JveCAobWlkZGxlYm94LCAxKTsNCi0gICAgY2xlYXJwaWNrIChjYW52YXMsIG1pZGRsZWJveCk7DQotICAgIG1vdmUgKG1pZGRsZWJveCwgcG9pbnRzdWIgKG1pZGRsZXBvcywgZGF0YS5wb3MpKTsNCi0gICAgc2V0Z2Z4YXR0ciAoY2FudmFzLCBbJ21vZGUnID0gJ3NyYyc7XSk7DQotICAgIGRyYXdib3ggKG1pZGRsZWJveCwgMSk7DQotICAgIHJlbW92ZSAoJ21pZGRsZXBvcycpOw0KLSAgICByZW1vdmUgKCdtaWRkbGVib3gnKTsNCi19Ow0KLXJpZ2h0dXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBpZiAoZGF0YS5wb2JqID09IG51bGwpDQotICAgICAgICByZXR1cm47DQotICAgIGRyYXdib3ggKGRhdGEub2JqLCAwKTsNCi0gICAgY2xlYXJwaWNrIChjYW52YXMsIGRhdGEub2JqKTsNCi0gICAgZGVsZXRlIChkYXRhLm9iaik7DQotfTsNCi1kb3BzID0gZnVuY3Rpb24gKCkgew0KLSAgICBsb2NhbCBzOw0KLQ0KLSAgICBzID0gWyd4JyA9IDggKiAzMDA7ICd5JyA9IDEwLjUgKiAzMDA7XTsNCi0gICAgY2FudmFzID0gY3JlYXRld2lkZ2V0ICgtMSwgWyd0eXBlJyA9ICdwcyc7ICdzaXplJyA9IHM7XSk7DQotICAgIHNldHdpZGdldGF0dHIgKGNhbnZhcywgWyd3aW5kb3cnID0gd3JlY3Q7XSk7DQotICAgIHJlZHJhdyAoY2FudmFzKTsNCi0gICAgZGVzdHJveXdpZGdldCAoY2FudmFzKTsNCi0gICAgY2FudmFzPWRlZmNhbnZhczsNCi19Ow0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RlZi5sZWZ0eSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RlZi5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUwOTliZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9kZWYubGVmdHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1kZWZpbml0ID0gZnVuY3Rpb24gKCkgew0KLSAgICBkZWZ2aWV3ID0gY3JlYXRld2lkZ2V0ICgtMSwgWw0KLSAgICAgICAgJ3R5cGUnID0gJ3ZpZXcnOw0KLSAgICAgICAgJ25hbWUnID0gJ2dyYXBoaWNzIHZpZXcnOw0KLSAgICAgICAgJ29yaWdpbicgPSBbJ3gnID0gMTsgJ3knID0gMTtdOw0KLSAgICAgICAgJ3NpemUnID0gWyd4JyA9IDQwMDsgJ3knID0gNTAwO107DQotICAgIF0pOw0KLSAgICBkZWZzY3JvbGwgPSBjcmVhdGV3aWRnZXQgKGRlZnZpZXcsIFsndHlwZScgPSAnc2Nyb2xsJztdKTsNCi0gICAgZGVmY2FudmFzID0gY3JlYXRld2lkZ2V0IChkZWZzY3JvbGwsIFsNCi0gICAgICAgICd0eXBlJyA9ICdjYW52YXMnOw0KLSAgICAgICAgJ29yaWdpbicgPSBbJ3gnID0gMTsgJ3knID0gMTtdOw0KLSAgICAgICAgJ3NpemUnID0gWyd4JyA9IDQwMDsgJ3knID0gNTAwO107DQotICAgICAgICAnYm9yZGVyd2lkdGgnID0gMTsNCi0gICAgXSk7DQotfTsNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9kb3R0eS5sZWZ0eSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5LmxlZnR5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTc5ZmQ0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5LmxlZnR5CisrKyAvZGV2L251bGwKQEAgLTEsNzM1ICswLDAgQEAKLSMNCi0jIERPVFRZDQotIw0KLWRvdHR5ID0gWw0KLSAgICAna2V5cycgPSBbDQotICAgICAgICAnbmlkJyAgICA9ICduaWQnOw0KLSAgICAgICAgJ2VpZCcgICAgPSAnZWlkJzsNCi0gICAgICAgICdnaWQnICAgID0gJ2dpZCc7DQotICAgICAgICAnbmFtZScgICA9ICduYW1lJzsNCi0gICAgICAgICdhdHRyJyAgID0gJ2F0dHInOw0KLSAgICAgICAgJ2dhdHRyJyAgPSAnZ3JhcGhhdHRyJzsNCi0gICAgICAgICdlYXR0cicgID0gJ2VkZ2VhdHRyJzsNCi0gICAgICAgICduYXR0cicgID0gJ25vZGVhdHRyJzsNCi0gICAgICAgICdlZGdlcycgID0gJ2VkZ2VzJzsNCi0gICAgICAgICd0YWlsJyAgID0gJ3RhaWwnOw0KLSAgICAgICAgJ3Rwb3J0JyAgPSAndHBvcnQnOw0KLSAgICAgICAgJ2hlYWQnICAgPSAnaGVhZCc7DQotICAgICAgICAnaHBvcnQnICA9ICdocG9ydCc7DQotICAgICAgICAncG9zJyAgICA9ICdwb3MnOw0KLSAgICAgICAgJ3NpemUnICAgPSAnc2l6ZSc7DQotICAgICAgICAncmVjdCcgICA9ICdyZWN0JzsNCi0gICAgICAgICdmbmFtZScgID0gJ2ZvbnRuYW1lJzsNCi0gICAgICAgICdmc2l6ZScgID0gJ2ZvbnRzaXplJzsNCi0gICAgICAgICdmY29sb3InID0gJ2ZvbnRjb2xvcic7DQotICAgICAgICAnZGNvbG9yJyA9ICdkcmF3Y29sb3InOw0KLSAgICAgICAgJ2Jjb2xvcicgPSAnZmlsbGNvbG9yJzsNCi0gICAgXTsNCi0gICAgJ21hcHMnID0gWw0KLSAgICAgICAgJ1gxMScgPSBbDQotICAgICAgICAgICAgJ2ZvbnRtYXAnID0gWw0KLSAgICAgICAgICAgICAgICAnVGltZXMtUm9tYW4nICAgID0gJy0qLXRpbWVzLW1lZGl1bS1yLSotLSVkLSotKi0qLSotKi0qLTEnOw0KLSAgICAgICAgICAgICAgICAnVGltZXMtSXRhbGljJyAgID0gJy0qLXRpbWVzLW1lZGl1bS1pLSotLSVkLSotKi0qLSotKi0qLTEnOw0KLSAgICAgICAgICAgICAgICAnVGltZXMtQm9sZCcgICAgID0gJy0qLXRpbWVzLWJvbGQtci0qLS0lZC0qLSotKi0qLSotKi0xJzsNCi0gICAgICAgICAgICAgICAgJ0NvdXJpZXInICAgICAgICA9ICctKi1jb3VyaWVyLWJvbGQtci0qLS0lZC0qLSotKi0qLSotKi0xJzsNCi0gICAgICAgICAgICAgICAgJ0NvdXJpZXItQm9sZCcgICA9ICctKi1jb3VyaWVyLWJvbGQtci0qLS0lZC0qLSotKi0qLSotKi0xJzsNCi0gICAgICAgICAgICAgICAgJ0hlbHZldGljYScgICAgICA9ICgNCi0gICAgICAgICAgICAgICAgICAgICAnLSotaGVsdmV0aWNhLW1lZGl1bS1yLW5vcm1hbC0tJWQtKi0qLSotcC0qLWlzbzg4NTktMScNCi0gICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgJ0hlbHZldGljYS1Cb2xkJyA9ICgNCi0gICAgICAgICAgICAgICAgICAgICctKi1oZWx2ZXRpY2EtYm9sZC1yLW5vcm1hbC0tJWQtKi0qLSotcC0qLWlzbzg4NTktMScNCi0gICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICBdOw0KLSAgICAgICAgICAgICdwc2ZvbnRtYXAnID0gWw0KLSAgICAgICAgICAgICAgICAnVGltZXMtUm9tYW4nICAgID0gJ1RpbWVzLVJvbWFuJzsNCi0gICAgICAgICAgICAgICAgJ1RpbWVzLUl0YWxpYycgICA9ICdUaW1lcy1JdGFsaWMnOw0KLSAgICAgICAgICAgICAgICAnVGltZXMtQm9sZCcgICAgID0gJ1RpbWVzLUJvbGQnOw0KLSAgICAgICAgICAgICAgICAnQ291cmllcicgICAgICAgID0gJ0NvdXJpZXInOw0KLSAgICAgICAgICAgICAgICAnQ291cmllci1Cb2xkJyAgID0gJ0NvdXJpZXItQm9sZCc7DQotICAgICAgICAgICAgICAgICdIZWx2ZXRpY2EnICAgICAgPSAnSGVsdmV0aWNhJzsNCi0gICAgICAgICAgICAgICAgJ0hlbHZldGljYS1Cb2xkJyA9ICdIZWx2ZXRpY2EtQm9sZCc7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgIF07DQotICAgICAgICAnbXN3aW4nID0gWw0KLSAgICAgICAgICAgICdmb250bWFwJyA9IFsNCi0gICAgICAgICAgICAgICAgJ1RpbWVzLVJvbWFuJyAgICA9ICdUaW1lcyBOZXcgUm9tYW4nOw0KLSAgICAgICAgICAgICAgICAnVGltZXMtSXRhbGljJyAgID0gJ1RpbWVzIE5ldyBSb21hbiBJdGFsaWMnOw0KLSAgICAgICAgICAgICAgICAnVGltZXMtQm9sZCcgICAgID0gJ1RpbWVzIE5ldyBSb21hbiBCb2xkJzsNCi0gICAgICAgICAgICAgICAgJ0NvdXJpZXInICAgICAgICA9ICdDb3VyaWVyIE5ldyc7DQotICAgICAgICAgICAgICAgICdDb3VyaWVyLUJvbGQnICAgPSAnQ291cmllciBOZXcgQm9sZCc7DQotICAgICAgICAgICAgICAgICdIZWx2ZXRpY2EnICAgICAgPSAnQXJpYWwnOw0KLSAgICAgICAgICAgICAgICAnSGVsdmV0aWNhLUJvbGQnID0gJ0FyaWFsIEJvbGQnOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICAgICAgJ3BzZm9udG1hcCcgPSBbDQotICAgICAgICAgICAgICAgICdUaW1lcy1Sb21hbicgICAgPSAnVGltZXMgTmV3IFJvbWFuJzsNCi0gICAgICAgICAgICAgICAgJ1RpbWVzLUl0YWxpYycgICA9ICdUaW1lcyBOZXcgUm9tYW4gSXRhbGljJzsNCi0gICAgICAgICAgICAgICAgJ1RpbWVzLUJvbGQnICAgICA9ICdUaW1lcyBOZXcgUm9tYW4gQm9sZCc7DQotICAgICAgICAgICAgICAgICdDb3VyaWVyJyAgICAgICAgPSAnQ291cmllciBOZXcnOw0KLSAgICAgICAgICAgICAgICAnQ291cmllci1Cb2xkJyAgID0gJ0NvdXJpZXIgTmV3IEJvbGQnOw0KLSAgICAgICAgICAgICAgICAnSGVsdmV0aWNhJyAgICAgID0gJ0FyaWFsJzsNCi0gICAgICAgICAgICAgICAgJ0hlbHZldGljYS1Cb2xkJyA9ICdBcmlhbCBCb2xkJzsNCi0gICAgICAgICAgICBdOw0KLSAgICAgICAgXTsNCi0gICAgXTsNCi0gICAgJ3Byb3RvZ3QnID0gWw0KLSAgICAgICAgJ2dyYXBoJyA9IFsNCi0gICAgICAgICAgICAnZ3JhcGhhdHRyJyA9IFsNCi0gICAgICAgICAgICAgICAgJ2ZvbnRzaXplJyA9ICcxNCc7DQotICAgICAgICAgICAgICAgICdmb250bmFtZScgPSAnVGltZXMtUm9tYW4nOw0KLSAgICAgICAgICAgICAgICAnZm9udGNvbG9yJyA9ICdibGFjayc7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgICAgICAnbm9kZWF0dHInID0gWw0KLSAgICAgICAgICAgICAgICAnc2hhcGUnID0gJ2VsbGlwc2UnOw0KLSAgICAgICAgICAgICAgICAnZm9udHNpemUnID0gJzE0JzsNCi0gICAgICAgICAgICAgICAgJ2ZvbnRuYW1lJyA9ICdUaW1lcy1Sb21hbic7DQotICAgICAgICAgICAgICAgICdmb250Y29sb3InID0gJ2JsYWNrJzsNCi0gICAgICAgICAgICAgICAgJ3N0eWxlJyA9ICdzb2xpZCc7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgICAgICAnZWRnZWF0dHInID0gWw0KLSAgICAgICAgICAgICAgICAnZm9udHNpemUnID0gJzE0JzsNCi0gICAgICAgICAgICAgICAgJ2ZvbnRuYW1lJyA9ICdUaW1lcy1Sb21hbic7DQotICAgICAgICAgICAgICAgICdmb250Y29sb3InID0gJ2JsYWNrJzsNCi0gICAgICAgICAgICAgICAgJ3N0eWxlJyA9ICdzb2xpZCc7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgICAgICAnZ3JhcGhkaWN0JyA9IFtdOw0KLSAgICAgICAgICAgICdub2RlZGljdCcgPSBbXTsNCi0gICAgICAgICAgICAnZ3JhcGhzJyA9IFtdOw0KLSAgICAgICAgICAgICdub2RlcycgPSBbXTsNCi0gICAgICAgICAgICAnZWRnZXMnID0gW107DQotICAgICAgICAgICAgJ21heGdpZCcgPSAwOw0KLSAgICAgICAgICAgICdtYXhuaWQnID0gMDsNCi0gICAgICAgICAgICAnbWF4ZWlkJyA9IDA7DQotICAgICAgICAgICAgJ3R5cGUnID0gJ2RpZ3JhcGgnOw0KLSAgICAgICAgXTsNCi0gICAgICAgICdsYXlvdXRtb2RlJyA9ICdzeW5jJzsNCi0gICAgICAgICdsc2VydmVyJyA9ICdkb3QnOw0KLSAgICAgICAgJ2VkZ2VoYW5kbGVzJyA9IDE7DQotICAgICAgICAnbm91bmRvJyA9IDA7DQotICAgIF07DQotICAgICdsc2VydmVycycgPSBbXTsNCi0gICAgJ21sZXZlbCcgPSAwOw0KLSAgICAnZ3JhcGhzJyA9IFtdOw0KLSAgICAndmlld3MnID0gW107DQotICAgICdwcm90b3Z0JyA9IFsNCi0gICAgICAgICdub3JtYWwnID0gWw0KLSAgICAgICAgICAgICduYW1lJyA9ICdET1RUWSc7DQotICAgICAgICAgICAgJ29yaWcnID0gWyd4JyA9IDE7ICd5JyA9IDE7XTsNCi0gICAgICAgICAgICAnc2l6ZScgPSBbJ3gnID0gNDIwOyAneScgPSA1MjA7XTsNCi0gICAgICAgICAgICAnd3JlY3QnID0gWw0KLSAgICAgICAgICAgICAgICAwID0gWyd4JyA9IDA7ICd5JyA9IDA7XTsNCi0gICAgICAgICAgICAgICAgMSA9IFsneCcgPSA0MDA7ICd5JyA9IDUwMDtdOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICAgICAgJ3ZzaXplJyA9IFsneCcgPSA0MDA7ICd5JyA9IDUwMDtdOw0KLSAgICAgICAgICAgICd3MnYnID0gMTsNCi0gICAgICAgIF07DQotICAgICAgICAnYmlyZHNleWUnID0gWw0KLSAgICAgICAgICAgICd0eXBlJyA9ICdiaXJkc2V5ZSc7DQotICAgICAgICAgICAgJ25hbWUnID0gJ0RPVFRZIGJpcmRzZXllIHZpZXcnOw0KLSAgICAgICAgICAgICdvcmlnJyA9IFsneCcgPSAxOyAneScgPSAxO107DQotICAgICAgICAgICAgJ3NpemUnID0gWyd4JyA9IDIyMDsgJ3knID0gMjYwO107DQotICAgICAgICAgICAgJ3dyZWN0JyA9IFsNCi0gICAgICAgICAgICAgICAgMCA9IFsneCcgPSAwOyAneScgPSAwO107DQotICAgICAgICAgICAgICAgIDEgPSBbJ3gnID0gMjAwOyAneScgPSAyNTA7XTsNCi0gICAgICAgICAgICBdOw0KLSAgICAgICAgICAgICd2c2l6ZScgPSBbJ3gnID0gMjAwOyAneScgPSAyNTA7XTsNCi0gICAgICAgICAgICAndzJ2JyA9IDE7DQotICAgICAgICBdOw0KLSAgICBdOw0KLSAgICAncGFnZXNpemVzJyA9IFsNCi0gICAgICAgICc4LjV4MTEnID0gWyd4JyA9ICAgIDg7ICd5JyA9IDEwLjU7XTsNCi0gICAgICAgICcxMXgxNycgID0gWyd4JyA9IDEwLjU7ICd5JyA9IDE2LjU7XTsNCi0gICAgICAgICczNng1MCcgID0gWyd4JyA9IDM1LjU7ICd5JyA9IDQ5LjU7XTsNCi0gICAgXTsNCi1dOw0KLWxvYWQgKCdkb3R0eV9kcmF3LmxlZnR5Jyk7DQotbG9hZCAoJ2RvdHR5X2VkaXQubGVmdHknKTsNCi1sb2FkICgnZG90dHlfbGF5b3V0LmxlZnR5Jyk7DQotbG9hZCAoJ2RvdHR5X3VpLmxlZnR5Jyk7DQotIw0KLSMgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb25zDQotIw0KLWRvdHR5LmluaXQgPSBmdW5jdGlvbiAoKSB7DQotICAgIGRvdHR5LmZvbnRtYXAgPSBkb3R0eS5tYXBzW2dldGVudiAoJ0xFRlRZV0lOU1lTJyldLmZvbnRtYXA7DQotICAgIGRvdHR5LmNsaXBndCA9IGRvdHR5LnByb3RvZ3QuY3JlYXRlZ3JhcGggKFsnbm91bmRvJyA9IDE7XSk7DQotICAgIGRvdHR5LmluaXRlZCA9IDE7DQotfTsNCi1kb3R0eS5zaW1wbGUgPSBmdW5jdGlvbiAoZmlsZSkgew0KLSAgICBpZiAoZG90dHkuaW5pdGVkIH49IDEpDQotICAgICAgICBkb3R0eS5pbml0ICgpOw0KLSAgICBkb3R0eS5jcmVhdGV2aWV3YW5kZ3JhcGggKGZpbGUsICdmaWxlJywgbnVsbCwgbnVsbCk7DQotICAgIHR4dHZpZXcgKCdvZmYnKTsNCi19Ow0KLSMNCi0jIG1haW4gb3BlcmF0aW9ucw0KLSMNCi1kb3R0eS5wcm90b2d0LmNyZWF0ZWdyYXBoID0gZnVuY3Rpb24gKHByb3RvZ3QpIHsNCi0gICAgbG9jYWwgZ3QsIGlkLCBndGlkOw0KLQ0KLSAgICBpZiAofnByb3RvZ3QpDQotICAgICAgICBwcm90b2d0ID0gZG90dHkucHJvdG9ndDsNCi0gICAgZm9yIChndGlkID0gMDsgZG90dHkuZ3JhcGhzW2d0aWRdOyBndGlkID0gZ3RpZCArIDEpDQotICAgICAgICA7DQotICAgIGd0ID0gKGRvdHR5LmdyYXBoc1tndGlkXSA9IFtdKTsNCi0gICAgaWYgKHByb3RvZ3QubW9kZSB+PSAncmVwbGFjZScpIHsNCi0gICAgICAgIGZvciAoaWQgaW4gZG90dHkucHJvdG9ndCkNCi0gICAgICAgICAgICBndFtpZF0gPSBjb3B5IChkb3R0eS5wcm90b2d0W2lkXSk7DQotICAgIH0NCi0gICAgZm9yIChpZCBpbiBwcm90b2d0KQ0KLSAgICAgICAgZ3RbaWRdID0gY29weSAocHJvdG9ndFtpZF0pOw0KLSAgICBndC5ndGlkID0gZ3RpZDsNCi0gICAgZ3Qudmlld3MgPSBbXTsNCi0gICAgZ3QudW5kb2FycmF5ID0gWydsZXZlbCcgPSAwOyAnZW50cmllcycgPSBbXTtdOw0KLSAgICBndC5idXN5ID0gMDsNCi0gICAgcmV0dXJuIGd0Ow0KLX07DQotZG90dHkucHJvdG9ndC5jb3B5Z3JhcGggPSBmdW5jdGlvbiAob2d0KSB7DQotICAgIGxvY2FsIGd0LCBndGlkLCBpZDsNCi0NCi0gICAgZm9yIChndGlkID0gMDsgZG90dHkuZ3JhcGhzW2d0aWRdOyBndGlkID0gZ3RpZCArIDEpDQotICAgICAgICA7DQotICAgIGd0ID0gKGRvdHR5LmdyYXBoc1tndGlkXSA9IFtdKTsNCi0gICAgZm9yIChpZCBpbiBvZ3QpDQotICAgICAgICBndFtpZF0gPSBjb3B5IChvZ3RbaWRdKTsNCi0gICAgZ3QuZ3RpZCA9IGd0aWQ7DQotICAgIGd0LnZpZXdzID0gW107DQotICAgIGd0LnVuZG9hcnJheSA9IFsnbGV2ZWwnID0gMDsgJ2VudHJpZXMnID0gW107XTsNCi0gICAgZ3QuYnVzeSA9IDA7DQotICAgIHJldHVybiBndDsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZGVzdHJveWdyYXBoID0gZnVuY3Rpb24gKGd0KSB7DQotICAgIGxvY2FsIHZpZCwgdmxpc3Q7DQotDQotICAgIGlmIChndC5sYXlvdXRwZW5kaW5nID4gMCkNCi0gICAgICAgIGd0LmNhbmNlbGxheW91dCAoZ3QpOw0KLSAgICBmb3IgKHZpZCBpbiBndC52aWV3cykNCi0gICAgICAgIHZsaXN0W3ZpZF0gPSBndC52aWV3c1t2aWRdOw0KLSAgICBmb3IgKHZpZCBpbiBndC52aWV3cykNCi0gICAgICAgIGd0LmRlc3Ryb3l2aWV3IChndCwgdmxpc3RbdmlkXSk7DQotICAgIHJlbW92ZSAoZ3QuZ3RpZCwgZG90dHkuZ3JhcGhzKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QubG9hZGdyYXBoID0gZnVuY3Rpb24gKGd0LCBuYW1lLCB0eXBlLCBwcm90b2dyYXBoLCBsYXlvdXRmbGFnKSB7DQotICAgIGxvY2FsIGZkLCB2aWQsIHZ0LCBncmFwaCwgbmlkLCBlaWQsIGdpZDsNCi0NCi0gICAgaWYgKGd0LmxheW91dHBlbmRpbmcgPiAwKQ0KLSAgICAgICAgZ3QuY2FuY2VsbGF5b3V0IChndCk7DQotICAgIGlmICh+bmFtZSkNCi0gICAgICAgIGlmICh+KG5hbWUgPSBhc2sgKCdmaWxlIG5hbWU6JywgJ2ZpbGUnLCAnJykpKQ0KLSAgICAgICAgICAgIHJldHVybjsNCi0gICAgZG90dHkucHVzaGJ1c3kgKGd0LCBndC52aWV3cyk7DQotICAgIGRvdHR5Lm1lc3NhZ2UgKDEsICdsb2FkaW5nJyk7DQotICAgIGlmICh+cHJvdG9ncmFwaCkNCi0gICAgICAgIHByb3RvZ3JhcGggPSBkb3R0eS5wcm90b2d0LmdyYXBoOw0KLSAgICBpZiAoDQotICAgICAgICB+KChmZCA9IGRvdHR5Lm9wZW5pbyAobmFtZSwgdHlwZSwgJ3InKSkgPj0gMCkgfA0KLSAgICAgICAgfihncmFwaCA9IHJlYWRncmFwaCAoZmQsIHByb3RvZ3JhcGgpKQ0KLSAgICApIHsNCi0gICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsICdjYW5ub3QgbG9hZCBncmFwaCcpOw0KLSAgICAgICAgZG90dHkucG9wYnVzeSAoZ3QsIGd0LnZpZXdzKTsNCi0gICAgICAgIHJldHVybjsNCi0gICAgfQ0KLSAgICBmb3IgKHZpZCBpbiBndC52aWV3cykgew0KLSAgICAgICAgdnQgPSBndC52aWV3c1t2aWRdOw0KLSAgICAgICAgdnQuY29sb3JzID0gW107DQotICAgICAgICB2dC5jb2xvcm4gPSAyOw0KLSAgICB9DQotICAgIGd0LmdyYXBoID0gZ3JhcGg7DQotICAgIGd0Lm5hbWUgPSBuYW1lOw0KLSAgICBndC50eXBlID0gdHlwZTsNCi0gICAgZ3QudW5kb2FycmF5ID0gWydsZXZlbCcgPSAwOyAnZW50cmllcycgPSBbXTtdOw0KLSAgICBpZiAofih0eXBlID09ICdmaWxlJyAmIG5hbWUgPT0gJy0nKSkNCi0gICAgICAgIGNsb3NlaW8gKGZkKTsNCi0gICAgZ3JhcGgubWF4Z2lkID0gdGFibGVzaXplIChncmFwaC5ncmFwaHMpOw0KLSAgICBncmFwaC5tYXhuaWQgPSB0YWJsZXNpemUgKGdyYXBoLm5vZGVzKTsNCi0gICAgZ3JhcGgubWF4ZWlkID0gdGFibGVzaXplIChncmFwaC5lZGdlcyk7DQotICAgIGZvciAobmlkIGluIGdyYXBoLm5vZGVzKQ0KLSAgICAgICAgZ3JhcGgubm9kZXNbbmlkXVtkb3R0eS5rZXlzLm5pZF0gPSBuaWQ7DQotICAgIGZvciAoZWlkIGluIGdyYXBoLmVkZ2VzKQ0KLSAgICAgICAgZ3JhcGguZWRnZXNbZWlkXVtkb3R0eS5rZXlzLmVpZF0gPSBlaWQ7DQotICAgIGZvciAoZ2lkIGluIGdyYXBoLmdyYXBocykNCi0gICAgICAgIGdyYXBoLmdyYXBoc1tnaWRdW2RvdHR5LmtleXMuZ2lkXSA9IGdpZDsNCi0gICAgZ3QudW5wYWNrYXR0ciAoZ3QpOw0KLSAgICBpZiAobGF5b3V0ZmxhZykgew0KLSAgICAgICAgZG90dHkubWVzc2FnZSAoMSwgJ2dlbmVyYXRpbmcgbGF5b3V0Jyk7DQotICAgICAgICBndC5sYXlvdXRncmFwaCAoZ3QpOw0KLSAgICB9DQotICAgIGRvdHR5LnBvcGJ1c3kgKGd0LCBndC52aWV3cyk7DQotICAgIHJldHVybiBndC5ncmFwaDsNCi19Ow0KLWRvdHR5LnByb3RvZ3Quc2F2ZWdyYXBoID0gZnVuY3Rpb24gKGd0LCBuYW1lLCB0eXBlKSB7DQotICAgIGxvY2FsIGZkOw0KLQ0KLSAgICBpZiAofm5hbWUpDQotICAgICAgICBpZiAofihuYW1lID0gYXNrICgnZmlsZSBuYW1lOicsICdmaWxlJywgJycpKSkNCi0gICAgICAgICAgICByZXR1cm47DQotICAgIGlmICgNCi0gICAgICAgIH4oKGZkID0gZG90dHkub3BlbmlvIChuYW1lLCB0eXBlLCAndycpKSA+PSAwKSB8DQotICAgICAgICB+d3JpdGVncmFwaCAoZmQsIGd0LmdyYXBoLCAwKQ0KLSAgICApIHsNCi0gICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsICdjYW5ub3Qgc2F2ZSBncmFwaCcpOw0KLSAgICAgICAgcmV0dXJuOw0KLSAgICB9DQotICAgIGlmICh+KHR5cGUgPT0gJ2ZpbGUnICYgbmFtZSA9PSAnLScpKQ0KLSAgICAgICAgY2xvc2VpbyAoZmQpOw0KLX07DQotZG90dHkucHJvdG9ndC5zZXRncmFwaCA9IGZ1bmN0aW9uIChndCwgZ3JhcGgpIHsNCi0gICAgbG9jYWwgdmlkLCB2dCwgbmlkLCBlaWQsIGdpZDsNCi0NCi0gICAgaWYgKGd0LmxheW91dHBlbmRpbmcgPiAwKQ0KLSAgICAgICAgZ3QuY2FuY2VsbGF5b3V0IChndCk7DQotICAgIGZvciAodmlkIGluIGd0LnZpZXdzKSB7DQotICAgICAgICB2dCA9IGd0LnZpZXdzW3ZpZF07DQotICAgICAgICB2dC5jb2xvcnMgPSBbXTsNCi0gICAgICAgIHZ0LmNvbG9ybiA9IDI7DQotICAgIH0NCi0gICAgZ3QuZ3JhcGggPSBjb3B5IChncmFwaCk7DQotICAgIGd0LnVuZG9hcnJheSA9IFsnbGV2ZWwnID0gMDsgJ2VudHJpZXMnID0gW107XTsNCi0gICAgZ3QudW5wYWNrYXR0ciAoZ3QpOw0KLSAgICBndC5ncmFwaC5tYXhnaWQgPSB0YWJsZXNpemUgKGdyYXBoLmdyYXBocyk7DQotICAgIGd0LmdyYXBoLm1heG5pZCA9IHRhYmxlc2l6ZSAoZ3JhcGgubm9kZXMpOw0KLSAgICBndC5ncmFwaC5tYXhlaWQgPSB0YWJsZXNpemUgKGdyYXBoLmVkZ2VzKTsNCi0gICAgZm9yIChuaWQgaW4gZ3QuZ3JhcGgubm9kZXMpDQotICAgICAgICBndC5ncmFwaC5ub2Rlc1tuaWRdW2RvdHR5LmtleXMubmlkXSA9IG5pZDsNCi0gICAgZm9yIChlaWQgaW4gZ3QuZ3JhcGguZWRnZXMpDQotICAgICAgICBndC5ncmFwaC5lZGdlc1tlaWRdW2RvdHR5LmtleXMuZWlkXSA9IGVpZDsNCi0gICAgZm9yIChnaWQgaW4gZ3QuZ3JhcGguZ3JhcGhzKQ0KLSAgICAgICAgZ3QuZ3JhcGguZ3JhcGhzW2dpZF1bZG90dHkua2V5cy5naWRdID0gZ2lkOw0KLSAgICBndC51bnBhY2thdHRyIChndCk7DQotICAgIGRvdHR5Lm1lc3NhZ2UgKDEsICdnZW5lcmF0aW5nIGxheW91dCcpOw0KLSAgICBndC5sYXlvdXRncmFwaCAoZ3QpOw0KLSAgICByZXR1cm4gZ3QuZ3JhcGg7DQotfTsNCi1kb3R0eS5wcm90b2d0LmVyYXNlZ3JhcGggPSBmdW5jdGlvbiAoZ3QsIHByb3RvZ3QsIHByb3RvdnQpIHsNCi0gICAgbG9jYWwgdmlkLCB2dDsNCi0NCi0gICAgaWYgKGd0LmxheW91dHBlbmRpbmcgPiAwKQ0KLSAgICAgICAgZ3QuY2FuY2VsbGF5b3V0IChndCk7DQotICAgIGZvciAodmlkIGluIGd0LnZpZXdzKSB7DQotICAgICAgICB2dCA9IGd0LnZpZXdzW3ZpZF07DQotICAgICAgICB2dC5jb2xvcnMgPSBbXTsNCi0gICAgICAgIHZ0LmNvbG9ybiA9IDI7DQotICAgICAgICBjbGVhciAodnQuY2FudmFzKTsNCi0gICAgfQ0KLSAgICBpZiAofnByb3RvZ3QpDQotICAgICAgICBwcm90b2d0ID0gZG90dHkucHJvdG9ndDsNCi0gICAgZ3QuZ3JhcGggPSBjb3B5IChwcm90b2d0LmdyYXBoKTsNCi0gICAgZ3QudW5kb2FycmF5ID0gWydsZXZlbCcgPSAwOyAnZW50cmllcycgPSBbXTtdOw0KLX07DQotZG90dHkucHJvdG9ndC5sYXlvdXRncmFwaCA9IGZ1bmN0aW9uIChndCkgew0KLSAgICBpZiAoZ3QuZ3JhcGguZ3JhcGhhdHRyLnhkb3R2ZXJzaW9uKSB7DQotICAgICAgICBndC51bnBhY2tsYXlvdXQgKGd0LCBndC5ncmFwaCk7DQotICAgICAgICBndC5zZXR2aWV3c2l6ZSAoZ3Qudmlld3MsIGd0LmdyYXBoLnJlY3QpOw0KLSAgICAgICAgZ3QucmVkcmF3Z3JhcGggKGd0LCBndC52aWV3cyk7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCi0gICAgaWYgKGd0LmxheW91dG1vZGUgPT0gJ2FzeW5jJykgew0KLSAgICAgICAgaWYgKH5ndC5oYXZlaW5wdXQpIHsNCi0gICAgICAgICAgICBndC5zdGFydGxheW91dCAoZ3QpOw0KLSAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgIH0NCi0gICAgICAgIGlmICh+Z3QuZmluaXNobGF5b3V0IChndCkpDQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgZ3Quc2V0dmlld3NpemUgKGd0LnZpZXdzLCBndC5ncmFwaC5yZWN0KTsNCi0gICAgICAgIGd0LnJlZHJhd2dyYXBoIChndCwgZ3Qudmlld3MpOw0KLSAgICB9IGVsc2Ugew0KLSAgICAgICAgaWYgKH5ndC5zdGFydGxheW91dCAoZ3QpKQ0KLSAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICB3aGlsZSAofmd0LmZpbmlzaGxheW91dCAoZ3QpKQ0KLSAgICAgICAgICAgICAgICA7DQotICAgICAgICBndC5zZXR2aWV3c2l6ZSAoZ3Qudmlld3MsIGd0LmdyYXBoLnJlY3QpOw0KLSAgICAgICAgZ3QucmVkcmF3Z3JhcGggKGd0LCBndC52aWV3cyk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3QuY3JlYXRldmlldyA9IGZ1bmN0aW9uIChndCwgcHJvdG92dCkgew0KLSAgICBsb2NhbCB2dCwgb3Z0LCBpZCwgdDsNCi0NCi0gICAgdnQgPSBbXTsNCi0gICAgdnQuY29sb3JzID0gW107DQotICAgIHZ0LmNvbG9ybiA9IDI7DQotICAgIGlmICh+cHJvdG92dCkNCi0gICAgICAgIHByb3RvdnQgPSBkb3R0eS5wcm90b3Z0Lm5vcm1hbDsNCi0gICAgaWYgKHByb3RvdnQubW9kZSB+PSAncmVwbGFjZScpIHsNCi0gICAgICAgIGZvciAoaWQgaW4gZG90dHkucHJvdG92dFtwcm90b3Z0LnR5cGVdKQ0KLSAgICAgICAgICAgIHZ0W2lkXSA9IGNvcHkgKGRvdHR5LnByb3RvdnRbcHJvdG92dC50eXBlXVtpZF0pOw0KLSAgICB9DQotICAgIGZvciAoaWQgaW4gcHJvdG92dCkNCi0gICAgICAgIHZ0W2lkXSA9IGNvcHkgKHByb3RvdnRbaWRdKTsNCi0gICAgaWYgKH4odnQucGFyZW50ID49IDApKSB7DQotICAgICAgICB2dC52aWV3ID0gY3JlYXRld2lkZ2V0ICgtMSwgWw0KLSAgICAgICAgICAgICd0eXBlJyAgID0gJ3ZpZXcnOw0KLSAgICAgICAgICAgICduYW1lJyAgID0gdnQubmFtZTsNCi0gICAgICAgICAgICAnb3JpZ2luJyA9IHZ0Lm9yaWc7DQotICAgICAgICAgICAgJ3NpemUnICAgPSB2dC5zaXplOw0KLSAgICAgICAgXSk7DQotICAgICAgICB2dC5zY3JvbGwgPSBjcmVhdGV3aWRnZXQgKHZ0LnZpZXcsIFsndHlwZScgPSAnc2Nyb2xsJztdKTsNCi0gICAgfSBlbHNlIHsNCi0gICAgICAgIHZ0LnZpZXcgPSAtMTsNCi0gICAgICAgIHZ0LnNjcm9sbCA9IGNyZWF0ZXdpZGdldCAodnQucGFyZW50LCBbDQotICAgICAgICAgICAgJ3R5cGUnID0gJ3Njcm9sbCc7DQotICAgICAgICAgICAgJ3NpemUnID0gdnQuc2l6ZTsNCi0gICAgICAgIF0pOw0KLSAgICB9DQotICAgIHZ0LmNhbnZhcyA9IGNyZWF0ZXdpZGdldCAodnQuc2Nyb2xsLCBbDQotICAgICAgICAndHlwZScgPSAnY2FudmFzJzsNCi0gICAgICAgICdjb2xvcicgPSBbMCA9IHByb3RvdnQuYmdjb2xvcjsgMSA9IHByb3RvdnQuZmdjb2xvcjtdOw0KLSAgICBdKTsNCi0gICAgc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbDQotICAgICAgICAnd2luZG93JyA9IHZ0LndyZWN0Ow0KLSAgICAgICAgJ3ZpZXdwb3J0JyA9IHZ0LnZzaXplOw0KLSAgICBdKTsNCi0gICAgY2xlYXIgKHZ0LmNhbnZhcyk7DQotICAgIGRvdHR5LnZpZXdzW3Z0LmNhbnZhc10gPSB2dDsNCi0gICAgdnQudnRpZCA9IHZ0LmNhbnZhczsNCi0gICAgdnQuZ3RpZCA9IGd0Lmd0aWQ7DQotICAgIGd0LnZpZXdzW3Z0LnZ0aWRdID0gdnQ7DQotICAgIGRvdHR5LnZpZXdzW3Z0LnNjcm9sbF0gPSB2dDsNCi0gICAgaWYgKHZ0LnZpZXcgfj0gLTEpDQotICAgICAgICBkb3R0eS52aWV3c1t2dC52aWV3XSA9IHZ0Ow0KLSAgICBpZiAocHJvdG92dC5jb2xvcnMgJiB0YWJsZXNpemUgKHByb3RvdnQuY29sb3JzKSA+IDApIHsNCi0gICAgICAgIGZvciAoaWQgaW4gcHJvdG92dC5jb2xvcnMpDQotICAgICAgICAgICAgaWYgKGlkID09ICdfYmdjb2xvcl8nKQ0KLSAgICAgICAgICAgICAgICBzZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFsNCi0gICAgICAgICAgICAgICAgICAgICdjb2xvcicgPSBbMCA9IHByb3RvdnQuY29sb3JzW2lkXTtdOw0KLSAgICAgICAgICAgICAgICBdKTsNCi0gICAgICAgICAgICBlbHNlIGlmIChzZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFsnY29sb3InID0gWw0KLSAgICAgICAgICAgICAgICBwcm90b3Z0LmNvbG9yc1tpZF0gPSBpZDsNCi0gICAgICAgICAgICBdO10pIH49IDEpIHsNCi0gICAgICAgICAgICAgICAgdCA9IHNwbGl0IChpZCwgJyAnKTsNCi0gICAgICAgICAgICAgICAgaWYgKHRhYmxlc2l6ZSAodCkgfj0gMyB8IHNldHdpZGdldGF0dHIgKHZ0LmNhbnZhcywgWw0KLSAgICAgICAgICAgICAgICAgICAgJ2NvbG9yJyA9IFtwcm90b3Z0LmNvbG9yc1tpZF0gPSBbDQotICAgICAgICAgICAgICAgICAgICAgICAgJ2gnID0gc3RvbiAodFswXSk7ICdzJyA9IHN0b24gKHRbMV0pOyAndicgPSBzdG9uICh0WzJdKTsNCi0gICAgICAgICAgICAgICAgICAgIF07XTsNCi0gICAgICAgICAgICAgICAgXSkgfj0gMSkgew0KLSAgICAgICAgICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoDQotICAgICAgICAgICAgICAgICAgICAgICAgMCwgY29uY2F0ICgndW5rbm93biBjb2xvciAnLCBpZCwgJyB1c2luZyAjMScpDQotICAgICAgICAgICAgICAgICAgICApOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgdnQuY29sb3JzID0gY29weSAocHJvdG92dC5jb2xvcnMpOw0KLSAgICAgICAgdnQuY29sb3JuID0gcHJvdG92dC5jb2xvcm47DQotICAgIH0gZWxzZSBpZiAodGFibGVzaXplIChndC52aWV3cykgPiAxKSB7DQotICAgICAgICBmb3IgKGlkIGluIGd0LnZpZXdzKQ0KLSAgICAgICAgICAgIGlmIChndC52aWV3c1tpZF0gfj0gdnQpDQotICAgICAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgb3Z0ID0gZ3Qudmlld3NbaWRdOw0KLSAgICAgICAgZm9yIChpZCBpbiBvdnQuY29sb3JzKQ0KLSAgICAgICAgICAgIGlmIChpZCA9PSAnX2JnY29sb3JfJykNCi0gICAgICAgICAgICAgICAgc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbJ2NvbG9yJyA9IFswID0gb3Z0LmNvbG9yc1tpZF07XTtdKTsNCi0gICAgICAgICAgICBlbHNlIGlmIChzZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFsnY29sb3InID0gWw0KLSAgICAgICAgICAgICAgICBvdnQuY29sb3JzW2lkXSA9IGlkOw0KLSAgICAgICAgICAgIF07XSkgfj0gMSkgew0KLSAgICAgICAgICAgICAgICB0ID0gc3BsaXQgKGlkLCAnICcpOw0KLSAgICAgICAgICAgICAgICBpZiAodGFibGVzaXplICh0KSB+PSAzIHwgc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbDQotICAgICAgICAgICAgICAgICAgICAnY29sb3InID0gW292dC5jb2xvcnNbaWRdID0gWw0KLSAgICAgICAgICAgICAgICAgICAgICAgICdoJyA9IHN0b24gKHRbMF0pOyAncycgPSBzdG9uICh0WzFdKTsgJ3YnID0gc3RvbiAodFsyXSk7DQotICAgICAgICAgICAgICAgICAgICBdO107DQotICAgICAgICAgICAgICAgIF0pIH49IDEpIHsNCi0gICAgICAgICAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKA0KLSAgICAgICAgICAgICAgICAgICAgICAgIDAsIGNvbmNhdCAoJ3Vua25vd24gY29sb3IgJywgaWQsICcgdXNpbmcgIzEnKQ0KLSAgICAgICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIHZ0LmNvbG9ycyA9IGNvcHkgKG92dC5jb2xvcnMpOw0KLSAgICAgICAgdnQuY29sb3JuID0gb3Z0LmNvbG9ybjsNCi0gICAgfQ0KLSAgICBpZiAoZ3QuZ3JhcGgucmVjdCkNCi0gICAgICAgIGd0LnNldHZpZXdzaXplIChbdnQudnRpZCA9IHZ0O10sIGd0LmdyYXBoLnJlY3QpOw0KLSAgICBndC5kcmF3Z3JhcGggKGd0LCBbdnQudnRpZCA9IHZ0O10pOw0KLSAgICBmb3IgKGlkIGluIHZ0LnVpZnVuY3MpDQotICAgICAgICBpZiAoaWQgPT0gJ2Nsb3NldmlldycpDQotICAgICAgICAgICAgd2lkZ2V0c1t2dC52aWV3XVtpZF0gPSB2dC51aWZ1bmNzW2lkXTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICB3aWRnZXRzW3Z0LmNhbnZhc11baWRdID0gdnQudWlmdW5jc1tpZF07DQotICAgIHJldHVybiB2dDsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZGVzdHJveXZpZXcgPSBmdW5jdGlvbiAoZ3QsIHZ0KSB7DQotICAgIGRlc3Ryb3l3aWRnZXQgKHZ0LmNhbnZhcyk7DQotICAgIGRlc3Ryb3l3aWRnZXQgKHZ0LnNjcm9sbCk7DQotICAgIGlmICh2dC52aWV3IH49IC0xKSB7DQotICAgICAgICBkZXN0cm95d2lkZ2V0ICh2dC52aWV3KTsNCi0gICAgICAgIHJlbW92ZSAodnQudmlldywgZG90dHkudmlld3MpOw0KLSAgICB9DQotICAgIHJlbW92ZSAodnQuc2Nyb2xsLCBkb3R0eS52aWV3cyk7DQotICAgIHJlbW92ZSAodnQuY2FudmFzLCBkb3R0eS52aWV3cyk7DQotICAgIGlmICh2dC5ndGlkID49IDApDQotICAgICAgICByZW1vdmUgKHZ0LnZ0aWQsIGd0LnZpZXdzKTsNCi0gICAgaWYgKHRhYmxlc2l6ZSAoZG90dHkudmlld3MpID09IDApDQotICAgICAgICBleGl0ICgpOw0KLX07DQotZG90dHkucHJvdG9ndC56b29tID0gZnVuY3Rpb24gKGd0LCB2dCwgZmFjdG9yLCBwb3MpIHsNCi0gICAgZ3Quc2V0dmlld3NjYWxlIChbdnQudnRpZCA9IHZ0O10sIGZhY3Rvcik7DQotICAgIGlmIChwb3MpDQotICAgICAgICBndC5zZXR2aWV3Y2VudGVyIChbdnQudnRpZCA9IHZ0O10sIHBvcyk7DQotICAgIGd0LnJlZHJhd2dyYXBoIChndCwgW3Z0LnZ0aWQgPSB2dDtdKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZmluZG5vZGUgPSBmdW5jdGlvbiAoZ3QsIHZ0KSB7DQotICAgIGxvY2FsIGtleSwgbm9kZSwgbm9kZTEsIG5pZDsNCi0NCi0gICAgaWYgKH4oa2V5ID0gYXNrICgnZ2l2ZSBub2RlIG5hbWUgb3IgbGFiZWwnKSkpDQotICAgICAgICByZXR1cm47DQotICAgIGlmIChndC5ncmFwaC5ub2RlZGljdFtrZXldID49IDApDQotICAgICAgICBub2RlID0gZ3QuZ3JhcGgubm9kZXNbZ3QuZ3JhcGgubm9kZWRpY3Rba2V5XV07DQotICAgIGVsc2UgaWYgKGd0LmdyYXBoLm5vZGVkaWN0W3N0b24gKGtleSldID49IDApDQotICAgICAgICBub2RlID0gZ3QuZ3JhcGgubm9kZXNbZ3QuZ3JhcGgubm9kZWRpY3Rbc3RvbiAoa2V5KV1dOw0KLSAgICBlbHNlIHsNCi0gICAgICAgIGZvciAobmlkIGluIGd0LmdyYXBoLm5vZGVzKSB7DQotICAgICAgICAgICAgbm9kZTEgPSBndC5ncmFwaC5ub2Rlc1tuaWRdOw0KLSAgICAgICAgICAgIGlmIChub2RlMS5hdHRyLmxhYmVsID09IGtleSB8IG5vZGUxLmF0dHIubGFiZWwgPT0gc3RvbiAoa2V5KSkgew0KLSAgICAgICAgICAgICAgICBub2RlID0gbm9kZTE7DQotICAgICAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBpZiAofm5vZGUpIHsNCi0gICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsIGNvbmNhdCAoJ2Nhbm5vdCBmaW5kIG5vZGU6ICcsIGtleSkpOw0KLSAgICAgICAgcmV0dXJuOw0KLSAgICB9DQotICAgIGd0LnNldHZpZXdjZW50ZXIgKFt2dC52dGlkID0gdnQ7XSwgbm9kZS5wb3MpOw0KLX07DQotZG90dHkucHJvdG9ndC5zZXRhdHRyID0gZnVuY3Rpb24gKGd0LCBvYmopIHsNCi0gICAgbG9jYWwga3YsIHQsIGF0dHIsIHZhbHVlOw0KLQ0KLSAgICBpZiAofihrdiA9IGFzayAoJ2dpdmUgYXR0ci92YWx1ZSwgZWcuIGNvbG9yPWJsdWUnKSkpDQotICAgICAgICByZXR1cm47DQotICAgIHQgPSBzcGxpdCAoa3YsICc9Jyk7DQotICAgIGF0dHIgPSB0WzBdOw0KLSAgICB2YWx1ZSA9IHRbMV07DQotICAgIGlmICgNCi0gICAgICAgIG9iai5hdHRyID09IGd0LmdyYXBoLmdyYXBoYXR0ciB8DQotICAgICAgICBvYmouYXR0ciA9PSBndC5ncmFwaC5lZGdlYXR0ciB8DQotICAgICAgICBvYmouYXR0ciA9PSBndC5ncmFwaC5ub2RlYXR0cg0KLSAgICApIHsNCi0gICAgICAgIG9iai5hdHRyW2F0dHJdID0gdmFsdWU7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCi0gICAgaWYgKG9iai5uaWQgPj0gMCkgew0KLSAgICAgICAgZ3QudW5kcmF3bm9kZSAoZ3QsIGd0LnZpZXdzLCBvYmopOw0KLSAgICAgICAgb2JqLmF0dHJbYXR0cl0gPSB2YWx1ZTsNCi0gICAgICAgIGd0LnVucGFja25vZGVhdHRyIChndCwgb2JqKTsNCi0gICAgICAgIGd0LmRyYXdub2RlIChndCwgZ3Qudmlld3MsIG9iaik7DQotICAgIH0gZWxzZSBpZiAob2JqLmVpZCA+PSAwKSB7DQotICAgICAgICBndC51bmRyYXdlZGdlIChndCwgZ3Qudmlld3MsIG9iaik7DQotICAgICAgICBvYmouYXR0clthdHRyXSA9IHZhbHVlOw0KLSAgICAgICAgZ3QudW5wYWNrZWRnZWF0dHIgKGd0LCBvYmopOw0KLSAgICAgICAgZ3QuZHJhd2VkZ2UgKGd0LCBndC52aWV3cywgb2JqKTsNCi0gICAgfQ0KLX07DQotZG90dHkucHJvdG9ndC5nZXRhdHRyID0gZnVuY3Rpb24gKGd0LCBub2RlKSB7DQotICAgIGxvY2FsIGt2Ow0KLQ0KLSAgICBpZiAofihrdi5rZXkgPSBhc2sgKCdnaXZlIGF0dHIgbmFtZScpKSkNCi0gICAgICAgIHJldHVybiBudWxsOw0KLSAgICBpZiAoKGt2LnZhbCA9IG5vZGUuYXR0cltrdi5rZXldKSkNCi0gICAgICAgIHJldHVybiBrdjsNCi0gICAgcmV0dXJuIG51bGw7DQotfTsNCi0jDQotIyB1dGlsaXRpZXMNCi0jDQotZG90dHkuY3JlYXRldmlld2FuZGdyYXBoID0gZnVuY3Rpb24gKG5hbWUsIHR5cGUsIHByb3RvZ3QsIHByb3RvdnQpIHsNCi0gICAgbG9jYWwgdnQsIGd0Ow0KLQ0KLSAgICBpZiAofnByb3RvZ3QpDQotICAgICAgICBwcm90b2d0ID0gZG90dHkucHJvdG9ndDsNCi0gICAgaWYgKHByb3RvZ3QuY3JlYXRlZ3JhcGgpDQotICAgICAgICBndCA9IHByb3RvZ3QuY3JlYXRlZ3JhcGggKHByb3RvZ3QpOw0KLSAgICBlbHNlDQotICAgICAgICBndCA9IGRvdHR5LnByb3RvZ3QuY3JlYXRlZ3JhcGggKHByb3RvZ3QpOw0KLSAgICB2dCA9IGd0LmNyZWF0ZXZpZXcgKGd0LCBwcm90b3Z0KTsNCi0gICAgaWYgKH5wcm90b2d0LmdyYXBoKQ0KLSAgICAgICAgcHJvdG9ndC5ncmFwaCA9IGNvcHkgKGRvdHR5LnByb3RvZ3QuZ3JhcGgpOw0KLSAgICBpZiAobmFtZSkNCi0gICAgICAgIGd0LmxvYWRncmFwaCAoZ3QsIG5hbWUsIHR5cGUsIHByb3RvZ3QuZ3JhcGgsIDEpOw0KLSAgICByZXR1cm4gWydndCcgPSBndDsgJ3Z0JyA9IHZ0O107DQotfTsNCi1kb3R0eS5vcGVuaW8gPSBmdW5jdGlvbiAobmFtZSwgdHlwZSwgbW9kZSkgew0KLSAgICBsb2NhbCBmZDsNCi0NCi0gICAgaWYgKH5uYW1lKQ0KLSAgICAgICAgcmV0dXJuIG51bGw7DQotICAgIGlmICh0eXBlID09ICdmaWxlJykgew0KLSAgICAgICAgaWYgKG5hbWUgPT0gJy0nKSB7DQotICAgICAgICAgICAgaWYgKG1vZGUgPT0gJ3InIHwgbW9kZSA9PSAncisnKQ0KLSAgICAgICAgICAgICAgICBmZCA9IDA7DQotICAgICAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICBmZCA9IDE7DQotICAgICAgICB9IGVsc2UgaWYgKH4oKGZkID0gb3BlbmlvICgnZmlsZScsIG5hbWUsIG1vZGUpKSA+PSAwKSkgew0KLSAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsIGNvbmNhdCAoJ2Nhbm5vdCBvcGVuIGZpbGU6ICcsIG5hbWUpKTsNCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgICAgIH0NCi0gICAgfSBlbHNlIGlmICh0eXBlID09ICdwaXBlJykgew0KLSAgICAgICAgaWYgKH4oKGZkID0gb3BlbmlvICgNCi0gICAgICAgICAgICAncGlwZScsICdrc2gnLCBtb2RlLCBjb25jYXQgKCIlZSAiLCBuYW1lKQ0KLSAgICAgICAgKSkgPj0gMCkpIHsNCi0gICAgICAgICAgICBkb3R0eS5tZXNzYWdlICgwLCBjb25jYXQgKCdjYW5ub3QgcnVuIGNvbW1hbmQ6ICcsIG5hbWUpKTsNCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgICAgIH0NCi0gICAgfSBlbHNlDQotICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgcmV0dXJuIGZkOw0KLX07DQotZG90dHkucHVzaGJ1c3kgPSBmdW5jdGlvbiAoZ3QsIHZpZXdzKSB7DQotICAgIGxvY2FsIHZpZDsNCi0NCi0gICAgaWYgKGd0LmJ1c3kgPT0gMCkNCi0gICAgICAgIGZvciAodmlkIGluIGd0LnZpZXdzKQ0KLSAgICAgICAgICAgIHNldHdpZGdldGF0dHIgKHZpZCwgWydjdXJzb3InID0gJ3dhdGNoJztdKTsNCi0gICAgZ3QuYnVzeSA9IGd0LmJ1c3kgKyAxOw0KLX07DQotZG90dHkucG9wYnVzeSA9IGZ1bmN0aW9uIChndCwgdmlld3MpIHsNCi0gICAgbG9jYWwgdmlkOw0KLQ0KLSAgICBndC5idXN5ID0gZ3QuYnVzeSAtIDE7DQotICAgIGlmIChndC5idXN5ID09IDApDQotICAgICAgICBmb3IgKHZpZCBpbiBndC52aWV3cykNCi0gICAgICAgICAgICBzZXR3aWRnZXRhdHRyICh2aWQsIFsnY3Vyc29yJyA9ICdkZWZhdWx0JztdKTsNCi19Ow0KLWRvdHR5Lm1lc3NhZ2UgPSBmdW5jdGlvbiAobGV2ZWwsIHRleHQpIHsNCi0gICAgaWYgKGxldmVsIDw9IGRvdHR5Lm1sZXZlbCkNCi0gICAgICAgIGVjaG8gKCdkb3R0eS5sZWZ0eTogJywgdGV4dCk7DQotfTsNCi0jDQotIyBwcmludGluZyBvciBzYXZpbmcgdG8gZmlsZQ0KLSMNCi1kb3R0eS5wcm90b2d0LnByaW50b3JzYXZlID0gZnVuY3Rpb24gKGd0LCB2dCwgb3R5cGUsIG5hbWUsIG1vZGUsIHB0eXBlKSB7DQotICAgIGxvY2FsIHByLCB3cmVjdCwgdnNpemUsIHh5LCBwc2l6ZSwgY2FudmFzLCBwc2NhbnZhcywgY2lkLCBjbmFtZSwgdDsNCi0gICAgbG9jYWwgZ3JhcGgsIGVkZ2VoYW5kbGVzLCBmb250bWFwLCBlaWQsIGVkZ2UsIG5pZCwgbm9kZSwgZ2lkLCBzZ3JhcGg7DQotICAgIGxvY2FsIGRpZCwgZHJhdywgaTsNCi0NCi0gICAgaWYgKH5vdHlwZSkNCi0gICAgICAgIGlmICh+KG90eXBlID0gYXNrICgncHJpbnQgdG8nLCAnY2hvaWNlJywgJ2ZpbGV8cHJpbnRlcicpKSkNCi0gICAgICAgICAgICByZXR1cm47DQotICAgIGlmIChvdHlwZSA9PSAncHJpbnRlcicpIHsNCi0gICAgICAgIGlmICh+Z2V0ZW52ICgnVE1QRElSJykpDQotICAgICAgICAgICAgbmFtZSA9IGNvbmNhdCAoZ2V0ZW52ICgnSE9NRScpLCAnLy5kb3R0eW91dC5wcycpOw0KLSAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgIG5hbWUgPSBjb25jYXQgKGdldGVudiAoJ1RNUERJUicpLCAnLy5kb3R0eW91dC5wcycsIHJhbmRvbSAoMTAwMDApKTsNCi0gICAgICAgIGlmIChnZXRlbnYgKCdMRUZUWVdJTlNZUycpIH49ICdtc3dpbicgJiB+cHIpDQotICAgICAgICAgICAgaWYgKH4ocHIgPSBhc2sgKCdwcmludGVyIGNvbW1hbmQnLCAnc3RyaW5nJywgJ2xwcicpKSkNCi0gICAgICAgICAgICAgICAgcmV0dXJuOw0KLSAgICB9DQotICAgIGlmICh+bmFtZSkNCi0gICAgICAgIGlmICh+KG5hbWUgPSBhc2sgKCdwb3N0c2NyaXB0IGZpbGUnLCAnZmlsZScsICdvdXQucHMnKSkpDQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICBpZiAofnB0eXBlKQ0KLSAgICAgICAgaWYgKH4ocHR5cGUgPSBhc2sgKCdwYWdlIHNpemUnLCAnY2hvaWNlJywgJzguNXgxMXwxMXgxN3wzNng1MCcpKSkNCi0gICAgICAgICAgICByZXR1cm47DQotICAgIGlmICh+bW9kZSkNCi0gICAgICAgIGlmICh+KG1vZGUgPSBhc2sgKCdtb2RlJywgJ2Nob2ljZScsICdwb3J0cmFpdHxsYW5kc2NhcGV8YmVzdCBmaXQnKSkpDQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICB3cmVjdCA9IGNvcHkgKHZ0LndyZWN0KTsNCi0gICAgd3JlY3RbMF0ueCA9IHdyZWN0WzBdLnggLSAxOw0KLSAgICB3cmVjdFsxXS54ID0gd3JlY3RbMV0ueCArIDE7DQotICAgIHdyZWN0WzBdLnkgPSB3cmVjdFswXS55IC0gMTsNCi0gICAgd3JlY3RbMV0ueSA9IHdyZWN0WzFdLnkgKyAxOw0KLSAgICB2c2l6ZSA9IGNvcHkgKHZ0LnZzaXplKTsNCi0gICAgaWYgKHZzaXplLnggPT0gMCkNCi0gICAgICAgIHZzaXplLnggPSAxOw0KLSAgICBpZiAodnNpemUueSA9PSAwKQ0KLSAgICAgICAgdnNpemUueSA9IDE7DQotICAgIHh5ID0gdnNpemUueCAvIHZzaXplLnk7DQotICAgIGlmIChtb2RlID09ICdiZXN0IGZpdCcpIHsNCi0gICAgICAgIGlmICh4eSA8IDEpDQotICAgICAgICAgICAgbW9kZSA9ICdwb3J0cmFpdCc7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgbW9kZSA9ICdsYW5kc2NhcGUnOw0KLSAgICB9DQotICAgIHBzaXplID0gZG90dHkucGFnZXNpemVzW3B0eXBlXTsNCi0gICAgaWYgKG1vZGUgPT0gJ3BvcnRyYWl0Jykgew0KLSAgICAgICAgaWYgKHh5IDwgcHNpemUueCAvIHBzaXplLnkpIHsNCi0gICAgICAgICAgICB2c2l6ZS55ID0gcHNpemUueSAqIDMwMDsNCi0gICAgICAgICAgICB2c2l6ZS54ID0gdnNpemUueSAqIHh5Ow0KLSAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICB2c2l6ZS54ID0gcHNpemUueCAqIDMwMDsNCi0gICAgICAgICAgICB2c2l6ZS55ID0gdnNpemUueCAvIHh5Ow0KLSAgICAgICAgfQ0KLSAgICB9IGVsc2Ugew0KLSAgICAgICAgaWYgKHh5IDwgcHNpemUueSAvIHBzaXplLngpIHsNCi0gICAgICAgICAgICB2c2l6ZS55ID0gcHNpemUueCAqIDMwMDsNCi0gICAgICAgICAgICB2c2l6ZS54ID0gdnNpemUueSAqIHh5Ow0KLSAgICAgICAgfSBlbHNlIHsNCi0gICAgICAgICAgICB2c2l6ZS54ID0gcHNpemUueSAqIDMwMDsNCi0gICAgICAgICAgICB2c2l6ZS55ID0gdnNpemUueCAvIHh5Ow0KLSAgICAgICAgfQ0KLSAgICB9DQotICAgIGlmICh+KChwc2NhbnZhcyA9IGNyZWF0ZXdpZGdldCAoLTEsIFsNCi0gICAgICAgICd0eXBlJyAgID0gJ3BzJzsNCi0gICAgICAgICdvcmlnaW4nID0gWyd4JyA9IDA7ICd5JyA9IDA7XTsNCi0gICAgICAgICdzaXplJyAgID0gdnNpemU7DQotICAgICAgICAnbW9kZScgICA9IG1vZGU7DQotICAgICAgICAnbmFtZScgICA9IG5hbWU7DQotICAgIF0pKSA+PSAwKSkgew0KLSAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgJ2Nhbm5vdCBvcGVuIHByaW50ZXIgZGV2aWNlJyk7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCi0gICAgZm9yIChjbmFtZSBpbiB2dC5jb2xvcnMpIHsNCi0gICAgICAgIGNpZCA9IHZ0LmNvbG9yc1tjbmFtZV07DQotICAgICAgICBpZiAoY25hbWUgPT0gJ19iZ2NvbG9yXycpDQotICAgICAgICAgICAgc2V0d2lkZ2V0YXR0ciAocHNjYW52YXMsIFsnY29sb3InID0gWzAgPSBjaWQ7XTtdKTsNCi0gICAgICAgIGVsc2UgaWYgKHNldHdpZGdldGF0dHIgKHBzY2FudmFzLCBbJ2NvbG9yJyA9IFtjaWQgPSBjbmFtZTtdO10pIH49IDEpIHsNCi0gICAgICAgICAgICB0ID0gc3BsaXQgKGNuYW1lLCAnICcpOw0KLSAgICAgICAgICAgIGlmICh0YWJsZXNpemUgKHQpIH49IDMgfCBzZXR3aWRnZXRhdHRyIChwc2NhbnZhcywgWw0KLSAgICAgICAgICAgICAgICAnY29sb3InID0gW2NpZCA9IFsNCi0gICAgICAgICAgICAgICAgICAgICdoJyA9IHN0b24gKHRbMF0pOyAncycgPSBzdG9uICh0WzFdKTsgJ3YnID0gc3RvbiAodFsyXSk7DQotICAgICAgICAgICAgICAgIF07XTsNCi0gICAgICAgICAgICBdKSB+PSAxKSB7DQotICAgICAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKA0KLSAgICAgICAgICAgICAgICAgICAgMCwgY29uY2F0ICgndW5rbm93biBjb2xvciAnLCBjbmFtZSwgJyB1c2luZyAjMScpDQotICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfQ0KLSAgICB9DQotICAgIHNldHdpZGdldGF0dHIgKHBzY2FudmFzLCBbJ3dpbmRvdycgPSB3cmVjdDtdKTsNCi0gICAgZ3JhcGggPSBjb3B5IChndC5ncmFwaCk7DQotICAgIGNhbnZhcyA9IHZ0LmNhbnZhczsNCi0gICAgdnQuY2FudmFzID0gcHNjYW52YXM7DQotICAgIGVkZ2VoYW5kbGVzID0gZ3QuZWRnZWhhbmRsZXM7DQotICAgIGd0LmVkZ2VoYW5kbGVzID0gMDsNCi0gICAgZm9udG1hcCA9IGRvdHR5Lm1hcHNbZ2V0ZW52ICgnTEVGVFlXSU5TWVMnKV0ucHNmb250bWFwOw0KLSAgICBmb3IgKGVpZCBpbiBncmFwaC5lZGdlcykgew0KLSAgICAgICAgZWRnZSA9IGdyYXBoLmVkZ2VzW2VpZF07DQotICAgICAgICBlZGdlLmZvbnRuYW1lID0gZm9udG1hcFtlZGdlLmF0dHIuZm9udG5hbWVdOw0KLSAgICAgICAgZm9yIChkaWQgaW4gZWRnZS5kcmF3cykgew0KLSAgICAgICAgICAgIGlmIChkaWQgPT0gJ2VwJykNCi0gICAgICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICAgICAgZHJhdyA9IGVkZ2UuZHJhd3NbZGlkXTsNCi0gICAgICAgICAgICBmb3IgKGkgPSAwOyBkcmF3W2ldOyBpID0gaSArIDEpDQotICAgICAgICAgICAgICAgIGlmIChkcmF3W2ldLnR5cGUgPT0gJ0YnKQ0KLSAgICAgICAgICAgICAgICAgICAgZHJhd1tpXS5mbiA9IGZvbnRtYXBbZHJhd1tpXS5vZm5dOw0KLSAgICAgICAgfQ0KLSAgICAgICAgZ3QuZHJhd2VkZ2UgKGd0LCBbMCA9IHZ0O10sIGVkZ2UpOw0KLSAgICB9DQotICAgIGZvciAobmlkIGluIGdyYXBoLm5vZGVzKSB7DQotICAgICAgICBub2RlID0gZ3JhcGgubm9kZXNbbmlkXTsNCi0gICAgICAgIG5vZGUuZm9udG5hbWUgPSBmb250bWFwW25vZGUuYXR0ci5mb250bmFtZV07DQotICAgICAgICBmb3IgKGRpZCBpbiBub2RlLmRyYXdzKSB7DQotICAgICAgICAgICAgaWYgKGRpZCA9PSAnZXAnKQ0KLSAgICAgICAgICAgICAgICBjb250aW51ZTsNCi0gICAgICAgICAgICBkcmF3ID0gbm9kZS5kcmF3c1tkaWRdOw0KLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGRyYXdbaV07IGkgPSBpICsgMSkNCi0gICAgICAgICAgICAgICAgaWYgKGRyYXdbaV0udHlwZSA9PSAnRicpDQotICAgICAgICAgICAgICAgICAgICBkcmF3W2ldLmZuID0gZm9udG1hcFtkcmF3W2ldLm9mbl07DQotICAgICAgICB9DQotICAgICAgICBndC5kcmF3bm9kZSAoZ3QsIFswID0gdnQ7XSwgbm9kZSk7DQotICAgIH0NCi0gICAgZm9yIChnaWQgaW4gZ3JhcGguZ3JhcGhzKSB7DQotICAgICAgICBzZ3JhcGggPSBncmFwaC5ncmFwaHNbZ2lkXTsNCi0gICAgICAgIHNncmFwaC5mb250bmFtZSA9IGZvbnRtYXBbc2dyYXBoLmdyYXBoYXR0ci5mb250bmFtZV07DQotICAgICAgICBmb3IgKGRpZCBpbiBzZ3JhcGguZHJhd3MpIHsNCi0gICAgICAgICAgICBpZiAoZGlkID09ICdlcCcpDQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgICAgIGRyYXcgPSBzZ3JhcGguZHJhd3NbZGlkXTsNCi0gICAgICAgICAgICBmb3IgKGkgPSAwOyBkcmF3W2ldOyBpID0gaSArIDEpDQotICAgICAgICAgICAgICAgIGlmIChkcmF3W2ldLnR5cGUgPT0gJ0YnKQ0KLSAgICAgICAgICAgICAgICAgICAgZHJhd1tpXS5mbiA9IGZvbnRtYXBbZHJhd1tpXS5vZm5dOw0KLSAgICAgICAgfQ0KLSAgICAgICAgZ3QuZHJhd3NncmFwaCAoZ3QsIFswID0gdnQ7XSwgc2dyYXBoKTsNCi0gICAgfQ0KLSAgICBncmFwaC5mb250bmFtZSA9IGZvbnRtYXBbZ3JhcGguZ3JhcGhhdHRyLmZvbnRuYW1lXTsNCi0gICAgZ3QuZHJhd3NncmFwaCAoZ3QsIFswID0gdnQ7XSwgZ3JhcGgpOw0KLSAgICBndC5lZGdlaGFuZGxlcyA9IGVkZ2VoYW5kbGVzOw0KLSAgICB2dC5jYW52YXMgPSBjYW52YXM7DQotICAgIGRlc3Ryb3l3aWRnZXQgKHBzY2FudmFzKTsNCi0gICAgaWYgKG90eXBlID09ICdwcmludGVyJyAmIGdldGVudiAoJ0xFRlRZV0lOU1lTJykgfj0gJ21zd2luJykNCi0gICAgICAgIHN5c3RlbSAoY29uY2F0IChwciwgJyAnLCBuYW1lLCAnOyBybSAnLG5hbWUpKTsNCi19Ow0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X2RyYXcubGVmdHkgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9kb3R0eV9kcmF3LmxlZnR5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDA5M2EzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X2RyYXcubGVmdHkKKysrIC9kZXYvbnVsbApAQCAtMSw1OTYgKzAsMCBAQAotIw0KLSMgZG90dHlfZHJhdzogZHJhd2luZyBmdW5jdGlvbnMgYW5kIGRhdGEgc3RydWN0dXJlcw0KLSMNCi1kb3R0eS5wcm90b2d0LmRyYXdncmFwaCA9IGZ1bmN0aW9uIChndCwgdmlld3MpIHsNCi0gICAgbG9jYWwgZ2lkLCBlaWQsIG5pZCwgZ3JhcGg7DQotDQotICAgIGdyYXBoID0gZ3QuZ3JhcGg7DQotICAgIGd0LmRyYXdzZ3JhcGggKGd0LCB2aWV3cywgZ3JhcGgpOw0KLSAgICBmb3IgKGdpZCBpbiBncmFwaC5ncmFwaHMpDQotICAgICAgICBndC5kcmF3c2dyYXBoIChndCwgdmlld3MsIGdyYXBoLmdyYXBoc1tnaWRdKTsNCi0gICAgZm9yIChlaWQgaW4gZ3JhcGguZWRnZXMpDQotICAgICAgICBndC5kcmF3ZWRnZSAoZ3QsIHZpZXdzLCBncmFwaC5lZGdlc1tlaWRdKTsNCi0gICAgZm9yIChuaWQgaW4gZ3JhcGgubm9kZXMpDQotICAgICAgICBndC5kcmF3bm9kZSAoZ3QsIHZpZXdzLCBncmFwaC5ub2Rlc1tuaWRdKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QucmVkcmF3Z3JhcGggPSBmdW5jdGlvbiAoZ3QsIHZpZXdzKSB7DQotICAgIGxvY2FsIHZpZDsNCi0NCi0gICAgZm9yICh2aWQgaW4gdmlld3MpDQotICAgICAgICBjbGVhciAodmlld3NbdmlkXS5jYW52YXMpOw0KLSAgICBndC5kcmF3Z3JhcGggKGd0LCB2aWV3cyk7DQotfTsNCi1kb3R0eS5wcm90b2d0LnNldHZpZXdzaXplID0gZnVuY3Rpb24gKHZpZXdzLCByKSB7DQotICAgIGxvY2FsIHZpZCwgdnQsIHcydiwgc2NhbGUsIGF0dHI7DQotDQotICAgIGZvciAodmlkIGluIHZpZXdzKSB7DQotICAgICAgICB2dCA9IHZpZXdzW3ZpZF07DQotICAgICAgICB2dC53cmVjdCA9IGNvcHkgKHIpOw0KLSAgICAgICAgaWYgKHJbMV0ueCA9PSAwIHwgclsxXS55ID09IDApIHsNCi0gICAgICAgICAgICBhdHRyID0gZ2V0d2lkZ2V0YXR0ciAodnQuc2Nyb2xsLCBbMCA9ICdzaXplJztdKTsNCi0gICAgICAgICAgICB2dC53cmVjdFsxXSA9IGNvcHkgKGF0dHIuc2l6ZSk7DQotICAgICAgICB9DQotICAgICAgICBpZiAodnQudHlwZSA9PSAnYmlyZHNleWUnKSB7DQotICAgICAgICAgICAgYXR0ciA9IGdldHdpZGdldGF0dHIgKHZ0LnNjcm9sbCwgWzAgPSAnc2l6ZSc7XSk7DQotICAgICAgICAgICAgc2NhbGUueCA9ICh2dC53cmVjdFsxXS54IC0gdnQud3JlY3RbMF0ueCkgLyBhdHRyLnNpemUueDsNCi0gICAgICAgICAgICBzY2FsZS55ID0gKHZ0LndyZWN0WzFdLnkgLSB2dC53cmVjdFswXS55KSAvIGF0dHIuc2l6ZS55Ow0KLSAgICAgICAgICAgIGlmIChzY2FsZS54ID4gMSAmIHNjYWxlLnggPiBzY2FsZS55KQ0KLSAgICAgICAgICAgICAgICB2dC53MnYgPSBzY2FsZS54Ow0KLSAgICAgICAgICAgIGVsc2UgaWYgKHNjYWxlLnkgPiAxKQ0KLSAgICAgICAgICAgICAgICB2dC53MnYgPSBzY2FsZS55Ow0KLSAgICAgICAgICAgIGVsc2UNCi0gICAgICAgICAgICAgICAgdnQudzJ2ID0gMTsNCi0gICAgICAgIH0NCi0gICAgICAgIHcydiA9IHZ0LncydjsNCi0gICAgICAgIHZ0LnZzaXplID0gWw0KLSAgICAgICAgICAgICd4JyA9IHRvaW50ICgodnQud3JlY3RbMV0ueCAtIHZ0LndyZWN0WzBdLngpIC8gdzJ2KTsNCi0gICAgICAgICAgICAneScgPSB0b2ludCAoKHZ0LndyZWN0WzFdLnkgLSB2dC53cmVjdFswXS55KSAvIHcydik7DQotICAgICAgICBdOw0KLSAgICAgICAgc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbDQotICAgICAgICAgICAgJ3dpbmRvdycgPSB2dC53cmVjdDsNCi0gICAgICAgICAgICAndmlld3BvcnQnID0gdnQudnNpemU7DQotICAgICAgICBdKTsNCi0gICAgICAgIGF0dHIgPSBnZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFswID0gJ3ZpZXdwb3J0JztdKTsNCi0gICAgICAgIHZ0LnZzaXplID0gY29weSAoYXR0ci52aWV3cG9ydCk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3Quc2V0dmlld3NjYWxlID0gZnVuY3Rpb24gKHZpZXdzLCBmYWN0b3IpIHsNCi0gICAgbG9jYWwgdmlkLCB2dCwgdzJ2LCBhdHRyOw0KLQ0KLSAgICBmb3IgKHZpZCBpbiB2aWV3cykgew0KLSAgICAgICAgdnQgPSB2aWV3c1t2aWRdOw0KLSAgICAgICAgaWYgKCh3MnYgPSB2dC53MnYgKiBmYWN0b3IpIDwgMC4wMSkgew0KLSAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsICdjYW5ub3Qgem9vbSBhbnkgY2xvc2VyJyk7DQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgfQ0KLSAgICAgICAgdnQudzJ2ID0gdzJ2Ow0KLSAgICAgICAgdnQudnNpemUgPSBbDQotICAgICAgICAgICAgJ3gnID0gKHZ0LndyZWN0WzFdLnggLSB2dC53cmVjdFswXS54KSAvIHcydjsNCi0gICAgICAgICAgICAneScgPSAodnQud3JlY3RbMV0ueSAtIHZ0LndyZWN0WzBdLnkpIC8gdzJ2Ow0KLSAgICAgICAgXTsNCi0gICAgICAgIHNldHdpZGdldGF0dHIgKHZ0LmNhbnZhcywgWyd2aWV3cG9ydCcgPSB2dC52c2l6ZTtdKTsNCi0gICAgICAgIGF0dHIgPSBnZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFswID0gJ3ZpZXdwb3J0JztdKTsNCi0gICAgICAgIHZ0LnZzaXplID0gY29weSAoYXR0ci52aWV3cG9ydCk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3Quc2V0dmlld2NlbnRlciA9IGZ1bmN0aW9uICh2aWV3cywgY2VudGVyKSB7DQotICAgIGxvY2FsIHZpZCwgdnQsIHBvczsNCi0NCi0gICAgZm9yICh2aWQgaW4gdmlld3MpIHsNCi0gICAgICAgIHZ0ID0gdmlld3NbdmlkXTsNCi0gICAgICAgIHBvcyA9IFsNCi0gICAgICAgICAgICAneCcgPSBjZW50ZXIueCAqIHZ0LnZzaXplLnggLyAodnQud3JlY3RbMV0ueCAtIHZ0LndyZWN0WzBdLngpOw0KLSAgICAgICAgICAgICd5JyA9ICgNCi0gICAgICAgICAgICAgICAgKHZ0LndyZWN0WzFdLnkgLSBjZW50ZXIueSkgKiB2dC52c2l6ZS55IC8NCi0gICAgICAgICAgICAgICAgKHZ0LndyZWN0WzFdLnkgLSB2dC53cmVjdFswXS55KQ0KLSAgICAgICAgICAgICk7DQotICAgICAgICBdOw0KLSAgICAgICAgc2V0d2lkZ2V0YXR0ciAodnQuc2Nyb2xsLCBbJ2NoaWxkY2VudGVyJyA9IHBvcztdKTsNCi0gICAgfQ0KLX07DQotIw0KLSMgZHJhdyBncmFwaCBjb21wb25lbnRzDQotIw0KLWRvdHR5LnByb3RvZ3QuZHJhd3NncmFwaCA9IGZ1bmN0aW9uIChndCwgdmlld3MsIHNncmFwaCkgew0KLSAgICBzZ3JhcGguZHJhdyA9IDE7DQotICAgIGlmICh+c2dyYXBoLmRyYXdzKQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBndC5leGVjYWxsZHJhdyAoZ3QsIHZpZXdzLCBudWxsLCBzZ3JhcGguZHJhd3MsIFsNCi0gICAgICAgICdmb250bmFtZScgPSBzZ3JhcGguZm9udG5hbWU7DQotICAgICAgICAnZm9udHNpemUnID0gc2dyYXBoLmZvbnRzaXplOw0KLSAgICAgICAgJ2ZvbnRjb2xvcicgPSBzZ3JhcGguZm9udGNvbG9yOw0KLSAgICAgICAgJ2RyYXdjb2xvcicgPSBzZ3JhcGguZHJhd2NvbG9yOw0KLSAgICAgICAgJ2ZpbGxjb2xvcicgPSBzZ3JhcGguZmlsbGNvbG9yOw0KLSAgICBdKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QudW5kcmF3c2dyYXBoID0gZnVuY3Rpb24gKGd0LCB2aWV3cywgc2dyYXBoKSB7DQotICAgIHNncmFwaC5kcmF3biA9IDA7DQotICAgIGlmICh+c2dyYXBoLmRyYXdzKQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBndC5leGVjYWxsZHJhdyAoZ3QsIHZpZXdzLCBudWxsLCBzZ3JhcGguZHJhd3MsIFsNCi0gICAgICAgICdmb250bmFtZScgPSBzZ3JhcGguZm9udG5hbWU7DQotICAgICAgICAnZm9udHNpemUnID0gc2dyYXBoLmZvbnRzaXplOw0KLSAgICAgICAgJ2ZvbnRjb2xvcicgPSBzZ3JhcGguZm9udGNvbG9yOw0KLSAgICAgICAgJ2RyYXdjb2xvcicgPSAwOw0KLSAgICAgICAgJ2ZpbGxjb2xvcicgPSAwOw0KLSAgICBdKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZHJhd25vZGUgPSBmdW5jdGlvbiAoZ3QsIHZpZXdzLCBub2RlKSB7DQotICAgIGxvY2FsIHZpZDsNCi0NCi0gICAgbm9kZS5kcmF3biA9IDE7DQotICAgIGlmICh+bm9kZS5kcmF3cykNCi0gICAgICAgIHJldHVybjsNCi0gICAgZ3QuZXhlY2FsbGRyYXcgKGd0LCB2aWV3cywgbm9kZSwgbm9kZS5kcmF3cywgWw0KLSAgICAgICAgJ2ZvbnRuYW1lJyA9IG5vZGUuZm9udG5hbWU7DQotICAgICAgICAnZm9udHNpemUnID0gbm9kZS5mb250c2l6ZTsNCi0gICAgICAgICdmb250Y29sb3InID0gbm9kZS5mb250Y29sb3I7DQotICAgICAgICAnZHJhd2NvbG9yJyA9IG5vZGUuZHJhd2NvbG9yOw0KLSAgICAgICAgJ2ZpbGxjb2xvcicgPSBub2RlLmZpbGxjb2xvcjsNCi0gICAgXSk7DQotICAgIGZvciAodmlkIGluIHZpZXdzKQ0KLSAgICAgICAgc2V0cGljayAodmlld3NbdmlkXS5jYW52YXMsIG5vZGUsIG5vZGUucmVjdCk7DQotfTsNCi1kb3R0eS5wcm90b2d0LnVuZHJhd25vZGUgPSBmdW5jdGlvbiAoZ3QsIHZpZXdzLCBub2RlKSB7DQotICAgIGxvY2FsIHZpZDsNCi0NCi0gICAgaWYgKH5ub2RlLmRyYXduKQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBub2RlLmRyYXduID0gMDsNCi0gICAgaWYgKH5ub2RlLnBvcykNCi0gICAgICAgIHJldHVybjsNCi0gICAgZ3QuZXhlY2FsbGRyYXcgKGd0LCB2aWV3cywgbm9kZSwgbm9kZS5kcmF3cywgWw0KLSAgICAgICAgJ25vb3ZlcnJpZGUnID0gMTsNCi0gICAgICAgICdmb250bmFtZScgPSBub2RlLmZvbnRuYW1lOw0KLSAgICAgICAgJ2ZvbnRzaXplJyA9IG5vZGUuZm9udHNpemU7DQotICAgICAgICAnZm9udGNvbG9yJyA9IDA7DQotICAgICAgICAnZHJhd2NvbG9yJyA9IDA7DQotICAgICAgICAnZmlsbGNvbG9yJyA9IDA7DQotICAgIF0pOw0KLSAgICBmb3IgKHZpZCBpbiB2aWV3cykNCi0gICAgICAgIGNsZWFycGljayAodmlld3NbdmlkXS5jYW52YXMsIG5vZGUpOw0KLX07DQotZG90dHkucHJvdG9ndC5tb3Zlbm9kZSA9IGZ1bmN0aW9uIChndCwgbm9kZSwgcG9zKSB7DQotICAgIGxvY2FsIGRwLCBlaWQsIGVkZ2U7DQotDQotICAgIGRwLnggPSBwb3MueCAtIG5vZGUucG9zLng7DQotICAgIGRwLnkgPSBwb3MueSAtIG5vZGUucG9zLnk7DQotICAgIGd0LnVuZHJhd25vZGUgKGd0LCBndC52aWV3cywgbm9kZSk7DQotICAgIG5vZGUucG9zLnggPSBwb3MueDsNCi0gICAgbm9kZS5wb3MueSA9IHBvcy55Ow0KLSAgICBndC5tb3Zlbm9kZWRyYXcgKG5vZGUuZHJhd3MsIGRwKTsNCi0gICAgZm9yIChlaWQgaW4gbm9kZS5lZGdlcykgew0KLSAgICAgICAgZWRnZSA9IG5vZGUuZWRnZXNbZWlkXTsNCi0gICAgICAgIGd0LnVuZHJhd2VkZ2UgKGd0LCBndC52aWV3cywgZWRnZSk7DQotICAgICAgICBndC5tb3ZlZWRnZWRyYXcgKGVkZ2UuZHJhd3MsIGVkZ2UudGFpbC5wb3MsIGVkZ2UuaGVhZC5wb3MpOw0KLSAgICAgICAgZ3QuZHJhd2VkZ2UgKGd0LCBndC52aWV3cywgZWRnZSk7DQotICAgIH0NCi0gICAgZ3QuZHJhd25vZGUgKGd0LCBndC52aWV3cywgbm9kZSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdlZGdlID0gZnVuY3Rpb24gKGd0LCB2aWV3cywgZWRnZSkgew0KLSAgICBsb2NhbCB2aWQsIGNhbnZhczsNCi0NCi0gICAgZWRnZS5kcmF3biA9IDE7DQotICAgIGlmICh+ZWRnZS5kcmF3cykNCi0gICAgICAgIHJldHVybjsNCi0gICAgZ3QuZXhlY2FsbGRyYXcgKGd0LCB2aWV3cywgZWRnZSwgZWRnZS5kcmF3cywgWw0KLSAgICAgICAgJ2ZvbnRuYW1lJyA9IGVkZ2UuZm9udG5hbWU7DQotICAgICAgICAnZm9udHNpemUnID0gZWRnZS5mb250c2l6ZTsNCi0gICAgICAgICdmb250Y29sb3InID0gZWRnZS5mb250Y29sb3I7DQotICAgICAgICAnZHJhd2NvbG9yJyA9IGVkZ2UuZHJhd2NvbG9yOw0KLSAgICAgICAgJ2ZpbGxjb2xvcicgPSBlZGdlLmZpbGxjb2xvcjsNCi0gICAgXSk7DQotICAgIGZvciAodmlkIGluIHZpZXdzKSB7DQotICAgICAgICBjYW52YXMgPSB2aWV3c1t2aWRdLmNhbnZhczsNCi0gICAgICAgIGlmIChndC5lZGdlaGFuZGxlcyA9PSAwIHwgfmVkZ2UuZHJhd3MuZXApDQotICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICBhcmMgKGNhbnZhcywgZWRnZSwgZWRnZS5kcmF3cy5lcCwgWyd4JyA9IDU7ICd5JyA9IDU7XSwgWydjb2xvcicgPSAxO10pOw0KLSAgICB9DQotfTsNCi1kb3R0eS5wcm90b2d0LnVuZHJhd2VkZ2UgPSBmdW5jdGlvbiAoZ3QsIHZpZXdzLCBlZGdlKSB7DQotICAgIGxvY2FsIHZpZCwgY2FudmFzOw0KLQ0KLSAgICBpZiAofmVkZ2UuZHJhd24pDQotICAgICAgICByZXR1cm47DQotICAgIGVkZ2UuZHJhd24gPSAwOw0KLSAgICBpZiAofmVkZ2UuZHJhd3MpDQotICAgICAgICByZXR1cm47DQotICAgIGd0LmV4ZWNhbGxkcmF3IChndCwgdmlld3MsIGVkZ2UsIGVkZ2UuZHJhd3MsIFsNCi0gICAgICAgICdub292ZXJyaWRlJyA9IDE7DQotICAgICAgICAnZm9udG5hbWUnID0gZWRnZS5mb250bmFtZTsNCi0gICAgICAgICdmb250c2l6ZScgPSBlZGdlLmZvbnRzaXplOw0KLSAgICAgICAgJ2ZvbnRjb2xvcicgPSAwOw0KLSAgICAgICAgJ2RyYXdjb2xvcicgPSAwOw0KLSAgICAgICAgJ2ZpbGxjb2xvcicgPSAwOw0KLSAgICBdKTsNCi0gICAgZm9yICh2aWQgaW4gdmlld3MpIHsNCi0gICAgICAgIGNhbnZhcyA9IHZpZXdzW3ZpZF0uY2FudmFzOw0KLSAgICAgICAgaWYgKGd0LmVkZ2VoYW5kbGVzID09IDAgfCB+ZWRnZS5kcmF3cy5lcCkNCi0gICAgICAgICAgICBjb250aW51ZTsNCi0gICAgICAgIGFyYyAoY2FudmFzLCBlZGdlLCBlZGdlLmRyYXdzLmVwLCBbJ3gnID0gNTsgJ3knID0gNTtdLCBbJ2NvbG9yJyA9IDA7XSk7DQotICAgICAgICBjbGVhcnBpY2sgKGNhbnZhcywgZWRnZSk7DQotICAgIH0NCi19Ow0KLSMNCi0jIGRyYXcgZGlyZWN0aXZlcw0KLSMNCi1kb3R0eS5wcm90b2d0LmV4ZWNhbGxkcmF3ID0gZnVuY3Rpb24gKGd0LCB2aWV3cywgb2JqLCBkcmF3cywgZ2MpIHsNCi0gICAgbG9jYWwgdmlkLCB2dCwgZGlkLCBkcmF3LCBpLCBmdW5jOw0KLQ0KLSAgICBmb3IgKHZpZCBpbiB2aWV3cykgew0KLSAgICAgICAgdnQgPSB2aWV3c1t2aWRdOw0KLSAgICAgICAgZm9yIChkaWQgaW4gZHJhd3MpIHsNCi0gICAgICAgICAgICBpZiAoZGlkID09ICdlcCcpDQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgICAgIGRyYXcgPSBkcmF3c1tkaWRdOw0KLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGRyYXdbaV07IGkgPSBpICsgMSkNCi0gICAgICAgICAgICAgICAgaWYgKChmdW5jID0gZ3QuZHJhd2Z1bmNbZHJhd1tpXS50eXBlXSkpDQotICAgICAgICAgICAgICAgICAgICBmdW5jIChndCwgdnQuY2FudmFzLCBvYmosIGRyYXdbaV0sIGdjKTsNCi0gICAgICAgIH0NCi0gICAgfQ0KLX07DQotZG90dHkucHJvdG9ndC5kcmF3ZnVuYy5FID0gZnVuY3Rpb24gKGd0LCBjYW52YXMsIG9iaiwgZGF0YSwgZ2MpIHsNCi0gICAgYXJjIChjYW52YXMsIG9iaiwgZGF0YS5jLCBkYXRhLnMsIFsNCi0gICAgICAgICdjb2xvcicgPSBnYy5maWxsY29sb3I7ICdzdHlsZScgPSBnYy5zdHlsZTsgJ3dpZHRoJyA9IGdjLndpZHRoOw0KLSAgICAgICAgJ2ZpbGwnID0gJ29uJzsNCi0gICAgXSk7DQotICAgIGFyYyAoY2FudmFzLCBvYmosIGRhdGEuYywgZGF0YS5zLCBbDQotICAgICAgICAnY29sb3InID0gZ2MuZHJhd2NvbG9yOyAnc3R5bGUnID0gZ2Muc3R5bGU7ICd3aWR0aCcgPSBnYy53aWR0aDsNCi0gICAgXSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLmUgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBhcmMgKGNhbnZhcywgb2JqLCBkYXRhLmMsIGRhdGEucywgWw0KLSAgICAgICAgJ2NvbG9yJyA9IGdjLmRyYXdjb2xvcjsgJ3N0eWxlJyA9IGdjLnN0eWxlOyAnd2lkdGgnID0gZ2Mud2lkdGg7DQotICAgIF0pOw0KLX07DQotZG90dHkucHJvdG9ndC5kcmF3ZnVuYy5QID0gZnVuY3Rpb24gKGd0LCBjYW52YXMsIG9iaiwgZGF0YSwgZ2MpIHsNCi0gICAgcG9seWdvbiAoY2FudmFzLCBvYmosIGRhdGEucHMsIFsNCi0gICAgICAgICdjb2xvcicgPSBnYy5maWxsY29sb3I7ICdzdHlsZScgPSBnYy5zdHlsZTsgJ3dpZHRoJyA9IGdjLndpZHRoOw0KLSAgICAgICAgJ2ZpbGwnID0gJ29uJzsNCi0gICAgXSk7DQotICAgIHBvbHlnb24gKGNhbnZhcywgb2JqLCBkYXRhLnBzLCBbDQotICAgICAgICAnY29sb3InID0gZ2MuZHJhd2NvbG9yOyAnc3R5bGUnID0gZ2Muc3R5bGU7ICd3aWR0aCcgPSBnYy53aWR0aDsNCi0gICAgXSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLnAgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBwb2x5Z29uIChjYW52YXMsIG9iaiwgZGF0YS5wcywgWw0KLSAgICAgICAgJ2NvbG9yJyA9IGdjLmRyYXdjb2xvcjsgJ3N0eWxlJyA9IGdjLnN0eWxlOyAnd2lkdGgnID0gZ2Mud2lkdGg7DQotICAgIF0pOw0KLX07DQotZG90dHkucHJvdG9ndC5kcmF3ZnVuYy5MID0gZnVuY3Rpb24gKGd0LCBjYW52YXMsIG9iaiwgZGF0YSwgZ2MpIHsNCi0gICAgcG9seWdvbiAoY2FudmFzLCBvYmosIGRhdGEucHMsIFsNCi0gICAgICAgICdjb2xvcicgPSBnYy5kcmF3Y29sb3I7ICdzdHlsZScgPSBnYy5zdHlsZTsgJ3dpZHRoJyA9IGdjLndpZHRoOw0KLSAgICBdKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZHJhd2Z1bmMuYiA9IGZ1bmN0aW9uIChndCwgY2FudmFzLCBvYmosIGRhdGEsIGdjKSB7DQotICAgIHNwbGluZWdvbiAoY2FudmFzLCBvYmosIGRhdGEucHMsIFsNCi0gICAgICAgICdjb2xvcicgPSBnYy5maWxsY29sb3I7ICdzdHlsZScgPSBnYy5zdHlsZTsgJ3dpZHRoJyA9IGdjLndpZHRoOw0KLSAgICAgICAgJ2ZpbGwnID0gJ29uJzsNCi0gICAgXSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLkIgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBzcGxpbmVnb24gKGNhbnZhcywgb2JqLCBkYXRhLnBzLCBbDQotICAgICAgICAnY29sb3InID0gZ2MuZHJhd2NvbG9yOyAnc3R5bGUnID0gZ2Muc3R5bGU7ICd3aWR0aCcgPSBnYy53aWR0aDsNCi0gICAgXSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLlQgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICB0ZXh0IChjYW52YXMsIG9iaiwgZGF0YS5wLCBkYXRhLnMsIGdjLmZvbnRuYW1lLCBnYy5mb250c2l6ZSwgZGF0YS5qLCBbDQotICAgICAgICAnY29sb3InID0gZ2MuZm9udGNvbG9yOyAnc3R5bGUnID0gZ2Muc3R5bGU7ICd3aWR0aCcgPSBnYy53aWR0aDsNCi0gICAgXSk7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLkMgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBpZiAoZ2Mubm9vdmVycmlkZSB+PSAxKQ0KLSAgICAgICAgZ2MuZmlsbGNvbG9yID0gZGF0YS5maWxsY29sb3I7DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLmMgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBpZiAoZ2Mubm9vdmVycmlkZSB+PSAxKSB7DQotICAgICAgICBnYy5kcmF3Y29sb3IgPSBkYXRhLmRyYXdjb2xvcjsNCi0gICAgICAgIGdjLmZvbnRjb2xvciA9IGRhdGEuZHJhd2NvbG9yOw0KLSAgICB9DQotfTsNCi1kb3R0eS5wcm90b2d0LmRyYXdmdW5jLkYgPSBmdW5jdGlvbiAoZ3QsIGNhbnZhcywgb2JqLCBkYXRhLCBnYykgew0KLSAgICBnYy5mb250bmFtZSA9IGRhdGEuZm47DQotICAgIGdjLmZvbnRzaXplID0gZGF0YS5mczsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZHJhd2Z1bmMuUyA9IGZ1bmN0aW9uIChndCwgY2FudmFzLCBvYmosIGRhdGEsIGdjKSB7DQotICAgIGdjLnN0eWxlID0gZGF0YS5zdHlsZTsNCi0gICAgZ2Mud2lkdGggPSBkYXRhLndpZHRoOw0KLX07DQotZG90dHkucHJvdG9ndC5tb3Zlbm9kZWRyYXcgPSBmdW5jdGlvbiAoZHJhd3MsIGRwKSB7DQotICAgIGxvY2FsIGRpZCwgZHJhdywgaSwgajsNCi0NCi0gICAgZm9yIChkaWQgaW4gZHJhd3MpIHsNCi0gICAgICAgIGlmIChkaWQgPT0gJ2VwJykNCi0gICAgICAgICAgICBjb250aW51ZTsNCi0gICAgICAgIGRyYXcgPSBkcmF3c1tkaWRdOw0KLSAgICAgICAgZm9yIChpID0gMDsgZHJhd1tpXTsgaSA9IGkgKyAxKSB7DQotICAgICAgICAgICAgaWYgKGRyYXdbaV0udHlwZSA9PSAnRScgfCBkcmF3W2ldLnR5cGUgPT0gJ2UnKSB7DQotICAgICAgICAgICAgICAgIGRyYXdbaV0uYy54ID0gZHJhd1tpXS5jLnggKyBkcC54Ow0KLSAgICAgICAgICAgICAgICBkcmF3W2ldLmMueSA9IGRyYXdbaV0uYy55ICsgZHAueTsNCi0gICAgICAgICAgICB9IGVsc2UgaWYgKGRyYXdbaV0udHlwZSA9PSAnUCcgfCBkcmF3W2ldLnR5cGUgPT0gJ3AnKSB7DQotICAgICAgICAgICAgICAgIGZvciAoaiA9IDE7IGRyYXdbaV0ucHNbal07IGogPSBqICsgMSkgew0KLSAgICAgICAgICAgICAgICAgICAgZHJhd1tpXS5wc1tqXS54ID0gZHJhd1tpXS5wc1tqXS54ICsgZHAueDsNCi0gICAgICAgICAgICAgICAgICAgIGRyYXdbaV0ucHNbal0ueSA9IGRyYXdbaV0ucHNbal0ueSArIGRwLnk7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9IGVsc2UgaWYgKGRyYXdbaV0udHlwZSA9PSAnTCcgfCBkcmF3W2ldLnR5cGUgPT0gJ0InKSB7DQotICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGRyYXdbaV0ucHNbal07IGogPSBqICsgMSkgew0KLSAgICAgICAgICAgICAgICAgICAgZHJhd1tpXS5wc1tqXS54ID0gZHJhd1tpXS5wc1tqXS54ICsgZHAueDsNCi0gICAgICAgICAgICAgICAgICAgIGRyYXdbaV0ucHNbal0ueSA9IGRyYXdbaV0ucHNbal0ueSArIGRwLnk7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9IGVsc2UgaWYgKGRyYXdbaV0udHlwZSA9PSAnVCcpIHsNCi0gICAgICAgICAgICAgICAgZHJhd1tpXS5wLnggPSBkcmF3W2ldLnAueCArIGRwLng7DQotICAgICAgICAgICAgICAgIGRyYXdbaV0ucC55ID0gZHJhd1tpXS5wLnkgKyBkcC55Ow0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH0NCi0gICAgfQ0KLX07DQotZG90dHkucHJvdG9ndC5tb3ZlZWRnZWRyYXcgPSBmdW5jdGlvbiAoZHJhd3MsIHRwLCBocCkgew0KLSAgICBsb2NhbCBkcmF3czIsIGRpZDsNCi0NCi0gICAgZm9yIChkaWQgaW4gZHJhd3MpDQotICAgICAgICBkcmF3czJbZGlkXSA9IGRyYXdzW2RpZF07DQotICAgIGZvciAoZGlkIGluIGRyYXdzMikNCi0gICAgICAgIHJlbW92ZSAoZGlkLCBkcmF3cyk7DQotICAgIGRyYXdzWzBdID0gWw0KLSAgICAgICAgMCA9IFsNCi0gICAgICAgICAgICAndHlwZScgPSAnTCc7DQotICAgICAgICAgICAgJ24nID0gMjsNCi0gICAgICAgICAgICAncHMnID0gWw0KLSAgICAgICAgICAgICAgICAwID0gY29weSAodHApOw0KLSAgICAgICAgICAgICAgICAxID0gY29weSAoaHApOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICBdOw0KLSAgICAgICAgJ2VwJyA9IFsneCcgPSAodHAueCArIGhwLngpIC8gMjsgJ3knID0gKHRwLnkgKyBocC55KSAvIDI7XTsNCi0gICAgXTsNCi19Ow0KLWRvdHR5LnByb3RvZ3Quc2ltcGxlbm9kZWRyYXcgPSBmdW5jdGlvbiAobm9kZSwgYywgcykgew0KLSAgICBsb2NhbCBkcmF3czsNCi0NCi0gICAgaWYgKG5vZGUuYXR0ci5zaGFwZSA9PSAnZWxsaXBzZScpDQotICAgICAgICBkcmF3c1swXSA9IFsNCi0gICAgICAgICAgICAwID0gWw0KLSAgICAgICAgICAgICAgICAndHlwZScgPSAnZSc7DQotICAgICAgICAgICAgICAgICdjJyA9IGNvcHkgKGMpOw0KLSAgICAgICAgICAgICAgICAncycgPSBbJ3gnID0gcy54IC8gMjsgJ3knID0gcy55IC8gMjtdOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICBdOw0KLSAgICBlbHNlDQotICAgICAgICBkcmF3c1swXSA9IFsNCi0gICAgICAgICAgICAwID0gWw0KLSAgICAgICAgICAgICAgICAndHlwZScgPSAncCc7DQotICAgICAgICAgICAgICAgICduJyA9IDU7DQotICAgICAgICAgICAgICAgICdwcycgPSBbDQotICAgICAgICAgICAgICAgICAgICAwID0gWyd4JyA9IGMueCAtIHMueCAvIDI7ICd5JyA9IGMueSAtIHMueSAvIDI7XTsNCi0gICAgICAgICAgICAgICAgICAgIDEgPSBbJ3gnID0gYy54ICsgcy54IC8gMjsgJ3knID0gYy55IC0gcy55IC8gMjtdOw0KLSAgICAgICAgICAgICAgICAgICAgMiA9IFsneCcgPSBjLnggKyBzLnggLyAyOyAneScgPSBjLnkgKyBzLnkgLyAyO107DQotICAgICAgICAgICAgICAgICAgICAzID0gWyd4JyA9IGMueCAtIHMueCAvIDI7ICd5JyA9IGMueSArIHMueSAvIDI7XTsNCi0gICAgICAgICAgICAgICAgICAgIDQgPSBbJ3gnID0gYy54IC0gcy54IC8gMjsgJ3knID0gYy55IC0gcy55IC8gMjtdOw0KLSAgICAgICAgICAgICAgICBdOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICBdOw0KLSAgICByZXR1cm4gZHJhd3M7DQotfTsNCi1kb3R0eS5wcm90b2d0LnNpbXBsZWVkZ2VkcmF3ID0gZnVuY3Rpb24gKGVkZ2UsIHRwLCBocCkgew0KLSAgICBsb2NhbCBkcmF3czsNCi0NCi0gICAgZHJhd3NbMF0gPSBbDQotICAgICAgICAwID0gWw0KLSAgICAgICAgICAgICd0eXBlJyA9ICdMJzsNCi0gICAgICAgICAgICAnbicgPSAyOw0KLSAgICAgICAgICAgICdwcycgPSBbDQotICAgICAgICAgICAgICAgIDAgPSBjb3B5ICh0cCk7DQotICAgICAgICAgICAgICAgIDEgPSBjb3B5IChocCk7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgIF07DQotICAgICAgICAnZXAnID0gWyd4JyA9ICh0cC54ICsgaHAueCkgLyAyOyAneScgPSAodHAueSArIGhwLnkpIC8gMjtdOw0KLSAgICBdOw0KLSAgICByZXR1cm4gZHJhd3M7DQotfTsNCi0jDQotIyB1dGlsaXRpZXMNCi0jDQotZG90dHkucHJvdG9ndC5nZXRjb2xvciA9IGZ1bmN0aW9uICh2aWV3cywgbmFtZSkgew0KLSAgICBsb2NhbCB2aWQsIHZ0LCBjb2xvciwgdDsNCi0NCi0gICAgZm9yICh2aWQgaW4gdmlld3MpIHsNCi0gICAgICAgIHZ0ID0gdmlld3NbdmlkXTsNCi0gICAgICAgIGlmICh+KGNvbG9yID49IDApKSB7DQotICAgICAgICAgICAgaWYgKH4odnQuY29sb3JzW25hbWVdID49IDApKQ0KLSAgICAgICAgICAgICAgICBjb2xvciA9ICh2dC5jb2xvcnNbbmFtZV0gPSB2dC5jb2xvcm4pOw0KLSAgICAgICAgICAgIGVsc2Ugew0KLSAgICAgICAgICAgICAgICBjb2xvciA9IHZ0LmNvbG9yc1tuYW1lXTsNCi0gICAgICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfSBlbHNlIGlmICh+KHZ0LmNvbG9yc1tuYW1lXSA+PSAwKSkNCi0gICAgICAgICAgICB2dC5jb2xvcnNbbmFtZV0gPSBjb2xvcjsNCi0gICAgICAgIGVsc2UgaWYgKHZ0LmNvbG9yc1tuYW1lXSB+PSBjb2xvcikNCi0gICAgICAgICAgICBkb3R0eS5tZXNzYWdlICgwLCBjb25jYXQgKCdpbmNvbnNpc3RlbnQgY29sb3IgaWRzIGZvciAnLCBuYW1lKSk7DQotICAgICAgICBpZiAoc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbJ2NvbG9yJyA9IFtjb2xvciA9IG5hbWU7XTtdKSB+PSAxKSB7DQotICAgICAgICAgICAgdCA9IHNwbGl0IChuYW1lLCAnICcpOw0KLSAgICAgICAgICAgIGlmICh0YWJsZXNpemUgKHQpIH49IDMgfA0KLSAgICAgICAgICAgICAgICAgICAgc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbJ2NvbG9yJyA9IFtjb2xvciA9IFsNCi0gICAgICAgICAgICAgICAgICAgICAgICAnaCcgPSBzdG9uICh0WzBdKTsgJ3MnID0gc3RvbiAodFsxXSk7ICd2JyA9IHN0b24gKHRbMl0pOw0KLSAgICAgICAgICAgICAgICAgICAgXTtdO10pIH49IDEpIHsNCi0gICAgICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgY29uY2F0ICgndW5rbm93biBjb2xvciAnLCBuYW1lLCAnIHVzaW5nICMxJykpOw0KLSAgICAgICAgICAgICAgICByZXR1cm4gMTsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9DQotICAgICAgICB2dC5jb2xvcm4gPSBjb2xvciArIDE7DQotICAgIH0NCi0gICAgcmV0dXJuIGNvbG9yOw0KLX07DQotZG90dHkucHJvdG9ndC5zZXRiZ2NvbG9yID0gZnVuY3Rpb24gKHZpZXdzLCBuYW1lKSB7DQotICAgIGxvY2FsIHZpZCwgdnQsIHQ7DQotDQotICAgIGZvciAodmlkIGluIHZpZXdzKSB7DQotICAgICAgICB2dCA9IHZpZXdzW3ZpZF07DQotICAgICAgICBpZiAoc2V0d2lkZ2V0YXR0ciAodnQuY2FudmFzLCBbJ2NvbG9yJyA9IFswID0gbmFtZTtdO10pIH49IDEpIHsNCi0gICAgICAgICAgICB0ID0gc3BsaXQgKG5hbWUsICcgJyk7DQotICAgICAgICAgICAgaWYgKHRhYmxlc2l6ZSAodCkgfj0gMyB8DQotICAgICAgICAgICAgICAgICAgICBzZXR3aWRnZXRhdHRyICh2dC5jYW52YXMsIFsnY29sb3InID0gWzAgPSBbDQotICAgICAgICAgICAgICAgICAgICAgICAgJ2gnID0gc3RvbiAodFswXSk7ICdzJyA9IHN0b24gKHRbMV0pOyAndicgPSBzdG9uICh0WzJdKTsNCi0gICAgICAgICAgICAgICAgICAgIF07XTtdKSB+PSAxKSB7DQotICAgICAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsIGNvbmNhdCAoJ3Vua25vd24gYmdjb2xvciAnLCBuYW1lKSk7DQotICAgICAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9DQotICAgICAgICB2dC5jb2xvcnNbJ19iZ2NvbG9yXyddID0gbmFtZTsNCi0gICAgfQ0KLX07DQotZG90dHkucHJvdG9ndC51bnBhY2tzZ3JhcGhhdHRyID0gZnVuY3Rpb24gKGd0LCBzZ3JhcGgpIHsNCi0gICAgbG9jYWwgYXR0cjsNCi0NCi0gICAgYXR0ciA9IHNncmFwaC5ncmFwaGF0dHI7DQotICAgIGlmIChkb3R0eS5mb250bWFwW2F0dHIuZm9udG5hbWVdKQ0KLSAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuZm5hbWVdID0gZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXTsNCi0gICAgZWxzZQ0KLSAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuZm5hbWVdID0gYXR0ci5mb250bmFtZTsNCi0gICAgc2dyYXBoW2RvdHR5LmtleXMuZnNpemVdID0gc3RvbiAoYXR0ci5mb250c2l6ZSk7DQotICAgIHNncmFwaFtkb3R0eS5rZXlzLmZjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsIGF0dHIuZm9udGNvbG9yKTsNCi0gICAgaWYgKGF0dHIuY29sb3IpDQotICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgZWxzZQ0KLSAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuZGNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgJ2JsYWNrJyk7DQotICAgIGlmIChhdHRyLnN0eWxlID09ICdmaWxsZWQnKSB7DQotICAgICAgICBpZiAoYXR0ci5maWxsY29sb3IpDQotICAgICAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuYmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5maWxsY29sb3IpOw0KLSAgICAgICAgZWxzZSBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnbGlnaHRncmV5Jyk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3QudW5wYWNrbm9kZWF0dHIgPSBmdW5jdGlvbiAoZ3QsIG5vZGUpIHsNCi0gICAgbG9jYWwgYXR0cjsNCi0NCi0gICAgYXR0ciA9IG5vZGUuYXR0cjsNCi0gICAgaWYgKGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV0pDQotICAgICAgICBub2RlW2RvdHR5LmtleXMuZm5hbWVdID0gZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXTsNCi0gICAgZWxzZQ0KLSAgICAgICAgbm9kZVtkb3R0eS5rZXlzLmZuYW1lXSA9IGF0dHIuZm9udG5hbWU7DQotICAgIG5vZGVbZG90dHkua2V5cy5mc2l6ZV0gPSBzdG9uIChhdHRyLmZvbnRzaXplKTsNCi0gICAgbm9kZVtkb3R0eS5rZXlzLmZjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsIGF0dHIuZm9udGNvbG9yKTsNCi0gICAgaWYgKGF0dHIuY29sb3IpDQotICAgICAgICBub2RlW2RvdHR5LmtleXMuZGNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5jb2xvcik7DQotICAgIGVsc2UNCi0gICAgICAgIG5vZGVbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnYmxhY2snKTsNCi0gICAgaWYgKGF0dHIuc3R5bGUgPT0gJ2ZpbGxlZCcpIHsNCi0gICAgICAgIGlmIChhdHRyLmZpbGxjb2xvcikNCi0gICAgICAgICAgICBub2RlW2RvdHR5LmtleXMuYmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5maWxsY29sb3IpOw0KLSAgICAgICAgZWxzZSBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICBub2RlW2RvdHR5LmtleXMuYmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5jb2xvcik7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgbm9kZVtkb3R0eS5rZXlzLmJjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsICdsaWdodGdyZXknKTsNCi0gICAgfQ0KLX07DQotZG90dHkucHJvdG9ndC51bnBhY2tlZGdlYXR0ciA9IGZ1bmN0aW9uIChndCwgZWRnZSkgew0KLSAgICBsb2NhbCBhdHRyOw0KLQ0KLSAgICBhdHRyID0gZWRnZS5hdHRyOw0KLSAgICBpZiAoZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXSkNCi0gICAgICAgIGVkZ2VbZG90dHkua2V5cy5mbmFtZV0gPSBkb3R0eS5mb250bWFwW2F0dHIuZm9udG5hbWVdOw0KLSAgICBlbHNlDQotICAgICAgICBlZGdlW2RvdHR5LmtleXMuZm5hbWVdID0gYXR0ci5mb250bmFtZTsNCi0gICAgZWRnZVtkb3R0eS5rZXlzLmZzaXplXSA9IHN0b24gKGF0dHIuZm9udHNpemUpOw0KLSAgICBlZGdlW2RvdHR5LmtleXMuZmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5mb250Y29sb3IpOw0KLSAgICBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgIGVkZ2VbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgZWxzZQ0KLSAgICAgICAgZWRnZVtkb3R0eS5rZXlzLmRjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsICdibGFjaycpOw0KLSAgICBpZiAoYXR0ci5zdHlsZSA9PSAnZmlsbGVkJykgew0KLSAgICAgICAgaWYgKGF0dHIuZmlsbGNvbG9yKQ0KLSAgICAgICAgICAgIGVkZ2VbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmZpbGxjb2xvcik7DQotICAgICAgICBlbHNlIGlmIChhdHRyLmNvbG9yKQ0KLSAgICAgICAgICAgIGVkZ2VbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBlZGdlW2RvdHR5LmtleXMuYmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgJ2xpZ2h0Z3JleScpOw0KLSAgICB9DQotfTsNCi1kb3R0eS5wcm90b2d0LnVucGFja2F0dHIgPSBmdW5jdGlvbiAoZ3QpIHsNCi0gICAgbG9jYWwgZ2lkLCBzZ3JhcGgsIG5pZCwgbm9kZSwgZWlkLCBlZGdlLCBncmFwaCwgYXR0cjsNCi0NCi0gICAgZ3JhcGggPSBndC5ncmFwaDsNCi0gICAgYXR0ciA9IGdyYXBoLmdyYXBoYXR0cjsNCi0gICAgaWYgKGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV0pDQotICAgICAgICBncmFwaFtkb3R0eS5rZXlzLmZuYW1lXSA9IGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV07DQotICAgIGVsc2UNCi0gICAgICAgIGdyYXBoW2RvdHR5LmtleXMuZm5hbWVdID0gYXR0ci5mb250bmFtZTsNCi0gICAgZ3JhcGhbZG90dHkua2V5cy5mc2l6ZV0gPSBzdG9uIChhdHRyLmZvbnRzaXplKTsNCi0gICAgZ3JhcGhbZG90dHkua2V5cy5mY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmZvbnRjb2xvcik7DQotICAgIGlmIChhdHRyLmNvbG9yKQ0KLSAgICAgICAgZ3JhcGhbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgZWxzZQ0KLSAgICAgICAgZ3JhcGhbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnYmxhY2snKTsNCi0gICAgaWYgKGF0dHIuc3R5bGUgPT0gJ2ZpbGxlZCcpIHsNCi0gICAgICAgIGlmIChhdHRyLmZpbGxjb2xvcikNCi0gICAgICAgICAgICBncmFwaFtkb3R0eS5rZXlzLmJjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsIGF0dHIuZmlsbGNvbG9yKTsNCi0gICAgICAgIGVsc2UgaWYgKGF0dHIuY29sb3IpDQotICAgICAgICAgICAgZ3JhcGhbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBncmFwaFtkb3R0eS5rZXlzLmJjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsICdsaWdodGdyZXknKTsNCi0gICAgfQ0KLSAgICBpZiAoYXR0ci5iZ2NvbG9yICYgYXR0ci5iZ2NvbG9yIH49ICcnKQ0KLSAgICAgICAgZ3Quc2V0Ymdjb2xvciAoZ3Qudmlld3MsIGF0dHIuYmdjb2xvcik7DQotICAgIGZvciAoZ2lkIGluIGdyYXBoLmdyYXBoZGljdCkgew0KLSAgICAgICAgc2dyYXBoID0gZ3JhcGguZ3JhcGhzW2dyYXBoLmdyYXBoZGljdFtnaWRdXTsNCi0gICAgICAgIGF0dHIgPSBzZ3JhcGguZ3JhcGhhdHRyOw0KLSAgICAgICAgaWYgKGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV0pDQotICAgICAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuZm5hbWVdID0gZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5mbmFtZV0gPSBhdHRyLmZvbnRuYW1lOw0KLSAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuZnNpemVdID0gc3RvbiAoYXR0ci5mb250c2l6ZSk7DQotICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5mY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmZvbnRjb2xvcik7DQotICAgICAgICBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmNvbG9yKTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnYmxhY2snKTsNCi0gICAgICAgIGlmIChhdHRyLnN0eWxlID09ICdmaWxsZWQnKSB7DQotICAgICAgICAgICAgaWYgKGF0dHIuZmlsbGNvbG9yKQ0KLSAgICAgICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKA0KLSAgICAgICAgICAgICAgICAgICAgZ3Qudmlld3MsIGF0dHIuZmlsbGNvbG9yDQotICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgZWxzZSBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICAgICAgc2dyYXBoW2RvdHR5LmtleXMuYmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5jb2xvcik7DQotICAgICAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgICAgICBzZ3JhcGhbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnbGlnaHRncmV5Jyk7DQotICAgICAgICB9DQotICAgIH0NCi0gICAgZm9yIChuaWQgaW4gZ3JhcGgubm9kZWRpY3QpIHsNCi0gICAgICAgIG5vZGUgPSBncmFwaC5ub2Rlc1tncmFwaC5ub2RlZGljdFtuaWRdXTsNCi0gICAgICAgIGF0dHIgPSBub2RlLmF0dHI7DQotICAgICAgICBpZiAoZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXSkNCi0gICAgICAgICAgICBub2RlW2RvdHR5LmtleXMuZm5hbWVdID0gZG90dHkuZm9udG1hcFthdHRyLmZvbnRuYW1lXTsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBub2RlW2RvdHR5LmtleXMuZm5hbWVdID0gYXR0ci5mb250bmFtZTsNCi0gICAgICAgIG5vZGVbZG90dHkua2V5cy5mc2l6ZV0gPSBzdG9uIChhdHRyLmZvbnRzaXplKTsNCi0gICAgICAgIG5vZGVbZG90dHkua2V5cy5mY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBhdHRyLmZvbnRjb2xvcik7DQotICAgICAgICBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICBub2RlW2RvdHR5LmtleXMuZGNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5jb2xvcik7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgbm9kZVtkb3R0eS5rZXlzLmRjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsICdibGFjaycpOw0KLSAgICAgICAgaWYgKGF0dHIuc3R5bGUgPT0gJ2ZpbGxlZCcpIHsNCi0gICAgICAgICAgICBpZiAoYXR0ci5maWxsY29sb3IpDQotICAgICAgICAgICAgICAgIG5vZGVbZG90dHkua2V5cy5iY29sb3JdID0gZ3QuZ2V0Y29sb3IgKA0KLSAgICAgICAgICAgICAgICAgICAgZ3Qudmlld3MsIGF0dHIuZmlsbGNvbG9yDQotICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgZWxzZSBpZiAoYXR0ci5jb2xvcikNCi0gICAgICAgICAgICAgICAgbm9kZVtkb3R0eS5rZXlzLmJjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsIGF0dHIuY29sb3IpOw0KLSAgICAgICAgICAgIGVsc2UNCi0gICAgICAgICAgICAgICAgbm9kZVtkb3R0eS5rZXlzLmJjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsICdsaWdodGdyZXknKTsNCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBmb3IgKGVpZCBpbiBncmFwaC5lZGdlcykgew0KLSAgICAgICAgZWRnZSA9IGdyYXBoLmVkZ2VzW2VpZF07DQotICAgICAgICBhdHRyID0gZWRnZS5hdHRyOw0KLSAgICAgICAgaWYgKGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV0pDQotICAgICAgICAgICAgZWRnZVtkb3R0eS5rZXlzLmZuYW1lXSA9IGRvdHR5LmZvbnRtYXBbYXR0ci5mb250bmFtZV07DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgZWRnZVtkb3R0eS5rZXlzLmZuYW1lXSA9IGF0dHIuZm9udG5hbWU7DQotICAgICAgICBlZGdlW2RvdHR5LmtleXMuZnNpemVdID0gc3RvbiAoYXR0ci5mb250c2l6ZSk7DQotICAgICAgICBlZGdlW2RvdHR5LmtleXMuZmNvbG9yXSA9IGd0LmdldGNvbG9yIChndC52aWV3cywgYXR0ci5mb250Y29sb3IpOw0KLSAgICAgICAgaWYgKGF0dHIuY29sb3IpDQotICAgICAgICAgICAgZWRnZVtkb3R0eS5rZXlzLmRjb2xvcl0gPSBndC5nZXRjb2xvciAoZ3Qudmlld3MsIGF0dHIuY29sb3IpOw0KLSAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgIGVkZ2VbZG90dHkua2V5cy5kY29sb3JdID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCAnYmxhY2snKTsNCi0gICAgfQ0KLX07DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZG90dHlfZWRpdC5sZWZ0eSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X2VkaXQubGVmdHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzMGRiMTUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZG90dHlfZWRpdC5sZWZ0eQorKysgL2Rldi9udWxsCkBAIC0xLDU5MyArMCwwIEBACi0jDQotIyBkb3R0eV9lZGl0OiBlZGl0aW5nIGZ1bmN0aW9ucyBhbmQgZGF0YSBzdHJ1Y3R1cmVzDQotIw0KLWRvdHR5LnByb3RvZ3QuZ2V0bm9kZXNieWF0dHIgPSBmdW5jdGlvbiAoZ3QsIGtleSwgdmFsKSB7DQotICAgIGxvY2FsIG5pZCwgbm9kZSwgbmxpc3Q7DQotDQotICAgIG5saXN0ID0gW107DQotICAgIGZvciAobmlkIGluIGd0LmdyYXBoLm5vZGVzKSB7DQotICAgICAgICBub2RlID0gZ3QuZ3JhcGgubm9kZXNbbmlkXTsNCi0gICAgICAgIGlmIChub2RlLmF0dHJba2V5XSA9PSB2YWwpDQotICAgICAgICAgICAgbmxpc3RbbmlkXSA9IG5vZGU7DQotICAgIH0NCi0gICAgcmV0dXJuIG5saXN0Ow0KLX07DQotZG90dHkucHJvdG9ndC5yZWFjaGFibGVub2RlcyA9IGZ1bmN0aW9uIChndCwgbm9kZSkgew0KLSAgICBsb2NhbCBubGlzdCwgc3RhY2ssIGVpZCwgZWRnZSwgaTsNCi0NCi0gICAgc3RhY2tbMF0gPSBub2RlOw0KLSAgICBpID0gMTsNCi0gICAgd2hpbGUgKGkgPiAwKSB7DQotICAgICAgICBub2RlID0gc3RhY2tbaSAtIDFdOw0KLSAgICAgICAgaSA9IGkgLSAxOw0KLSAgICAgICAgbmxpc3Rbbm9kZS5uaWRdID0gbm9kZTsNCi0gICAgICAgIGZvciAoZWlkIGluIG5vZGUuZWRnZXMpIHsNCi0gICAgICAgICAgICBlZGdlID0gbm9kZS5lZGdlc1tlaWRdOw0KLSAgICAgICAgICAgIGlmICh+bmxpc3RbZWRnZS5oZWFkLm5pZF0pIHsNCi0gICAgICAgICAgICAgICAgbmxpc3RbZWRnZS5oZWFkLm5pZF0gPSBlZGdlLmhlYWQ7DQotICAgICAgICAgICAgICAgIHN0YWNrW2ldID0gZWRnZS5oZWFkOw0KLSAgICAgICAgICAgICAgICBpID0gaSArIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgfQ0KLSAgICB9DQotICAgIHJldHVybiBubGlzdDsNCi19Ow0KLWRvdHR5LnByb3RvZ3QubWVyZ2VncmFwaCA9IGZ1bmN0aW9uIChndCwgZ3JhcGgsIHNob3cpIHsNCi0gICAgbG9jYWwgbmFtZWlkLCBvbm9kZSwgcG9zLCBzaXplLCBlaWQsIGVpZDIsIHRub2RlLCBobm9kZSwgb2VkZ2U7DQotDQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICBmb3IgKG5hbWVpZCBpbiBncmFwaC5ub2RlZGljdCkgew0KLSAgICAgICAgcG9zID0gbnVsbDsNCi0gICAgICAgIHNpemUgPSBudWxsOw0KLSAgICAgICAgb25vZGUgPSBncmFwaC5ub2Rlc1tncmFwaC5ub2RlZGljdFtuYW1laWRdXTsNCi0gICAgICAgIGlmIChvbm9kZS5wb3MpDQotICAgICAgICAgICAgcG9zID0gbm9kZS5wb3M7DQotICAgICAgICBpZiAob25vZGUuc2l6ZSkNCi0gICAgICAgICAgICBzaXplID0gbm9kZS5zaXplOw0KLSAgICAgICAgaWYgKH4oZ3QuZ3JhcGgubm9kZWRpY3RbbmFtZWlkXSA+PSAwKSkgew0KLSAgICAgICAgICAgIHBvcyA9IG51bGw7DQotICAgICAgICAgICAgc2l6ZSA9IG51bGw7DQotICAgICAgICAgICAgaWYgKG9ub2RlLnBvcykNCi0gICAgICAgICAgICAgICAgcG9zID0gbm9kZS5wb3M7DQotICAgICAgICAgICAgaWYgKG9ub2RlLnNpemUpDQotICAgICAgICAgICAgICAgIHNpemUgPSBub2RlLnNpemU7DQotICAgICAgICAgICAgZ3QuaW5zZXJ0bm9kZSAoZ3QsIHBvcywgc2l6ZSwgbmFtZWlkLCBvbm9kZS5hdHRyLCBzaG93KTsNCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBmb3IgKGVpZCBpbiBncmFwaC5lZGdlcykgew0KLSAgICAgICAgb2VkZ2UgPSBncmFwaC5lZGdlc1tlaWRdOw0KLSAgICAgICAgdG5vZGUgPSBndC5ncmFwaC5ub2Rlc1tndC5ncmFwaC5ub2RlZGljdFtvZWRnZS50YWlsLm5hbWVdXTsNCi0gICAgICAgIGhub2RlID0gZ3QuZ3JhcGgubm9kZXNbZ3QuZ3JhcGgubm9kZWRpY3Rbb2VkZ2UuaGVhZC5uYW1lXV07DQotICAgICAgICBmb3IgKGVpZDIgaW4gdG5vZGUuZWRnZXMpDQotICAgICAgICAgICAgaWYgKA0KLSAgICAgICAgICAgICAgICB0bm9kZS5lZGdlc1tlaWQyXS50YWlsID09IHRub2RlICYNCi0gICAgICAgICAgICAgICAgdG5vZGUuZWRnZXNbZWlkMl0uaGVhZCA9PSBobm9kZQ0KLSAgICAgICAgICAgICkgew0KLSAgICAgICAgICAgICAgICBvZWRnZSA9IG51bGw7DQotICAgICAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIGlmIChvZWRnZSkNCi0gICAgICAgICAgICBndC5pbnNlcnRlZGdlIChndCwgdG5vZGUsIG51bGwsIGhub2RlLCBudWxsLCBvZWRnZS5hdHRyLCBzaG93KTsNCi0gICAgfQ0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotfTsNCi1kb3R0eS5wcm90b2d0Lmluc2VydHNncmFwaCA9IGZ1bmN0aW9uIChndCwgbmFtZSwgYXR0ciwgc2hvdykgew0KLSAgICBsb2NhbCBnaWQsIHNncmFwaCwgYWlkOw0KLQ0KLSAgICBpZiAofmd0KQ0KLSAgICAgICAgcmV0dXJuIG51bGw7DQotICAgIGdpZCA9IGd0LmdyYXBoLm1heGdpZDsNCi0gICAgaWYgKH5uYW1lKSB7DQotICAgICAgICB3aGlsZSAoZ3QuZ3JhcGguZ3JhcGhkaWN0WyhuYW1lID0gY29uY2F0ICgnZycsIGdpZCkpXSA+PSAwKQ0KLSAgICAgICAgICAgIGdpZCA9IGdpZCArIDE7DQotICAgIH0gZWxzZSBpZiAoZ3QuZ3JhcGguZ3JhcGhkaWN0W25hbWVdKSB7DQotICAgICAgICBkb3R0eS5tZXNzYWdlICgwLCBjb25jYXQgKCdncmFwaDogJywgbmFtZSwgJyBleGlzdHMnKSk7DQotICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgfQ0KLSAgICBndC5ncmFwaC5ncmFwaGRpY3RbbmFtZV0gPSBnaWQ7DQotICAgIGd0LmdyYXBoLm1heGdpZCA9IGdpZCArIDE7DQotICAgIGd0LmdyYXBoLmdyYXBoc1tnaWRdID0gWw0KLSAgICAgICAgZG90dHkua2V5cy5naWQgICA9IGdpZDsNCi0gICAgICAgIGRvdHR5LmtleXMubmFtZSAgPSBuYW1lOw0KLSAgICAgICAgZG90dHkua2V5cy5nYXR0ciA9IGNvcHkgKGd0LmdyYXBoLmdyYXBoYXR0cik7DQotICAgICAgICBkb3R0eS5rZXlzLm5hdHRyID0gY29weSAoZ3QuZ3JhcGgubm9kZWF0dHIpOw0KLSAgICAgICAgZG90dHkua2V5cy5lYXR0ciA9IGNvcHkgKGd0LmdyYXBoLmVkZ2VhdHRyKTsNCi0gICAgXTsNCi0gICAgc2dyYXBoID0gZ3QuZ3JhcGguZ3JhcGhzW2dpZF07DQotICAgIGlmICh+YXR0cikNCi0gICAgICAgIGF0dHIgPSBbXTsNCi0gICAgaWYgKH5hdHRyLmxhYmVsKQ0KLSAgICAgICAgYXR0ci5sYWJlbCA9ICdcTic7DQotICAgIGZvciAoYWlkIGluIGF0dHIpDQotICAgICAgICBzZ3JhcGguZ3JhcGhhdHRyW2FpZF0gPSBhdHRyW2FpZF07DQotICAgIGd0LnVucGFja3NncmFwaGF0dHIgKGd0LCBzZ3JhcGgpOw0KLSAgICBpZiAoc2hvdykNCi0gICAgICAgIGd0LmRyYXdzZ3JhcGggKGd0LCBndC52aWV3cywgc2dyYXBoKTsNCi0gICAgcmV0dXJuIHNncmFwaDsNCi19Ow0KLWRvdHR5LnByb3RvZ3QucmVtb3Zlc2dyYXBoID0gZnVuY3Rpb24gKGd0LCBzZ3JhcGgpIHsNCi0gICAgZ3QudW5kcmF3c2dyYXBoIChndCwgZ3Qudmlld3MsIHNncmFwaCk7DQotICAgIHJlbW92ZSAoc2dyYXBoLm5hbWUsIGd0LmdyYXBoLmdyYXBoZGljdCk7DQotICAgIHJlbW92ZSAoc2dyYXBoLmdpZCwgZ3QuZ3JhcGguZ3JhcGhzKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuaW5zZXJ0bm9kZSA9IGZ1bmN0aW9uIChndCwgcG9zLCBzaXplLCBuYW1lLCBhdHRyLCBzaG93KSB7DQotICAgIGxvY2FsIG5pZCwgbm9kZSwgYWlkOw0KLQ0KLSAgICBuaWQgPSBndC5ncmFwaC5tYXhuaWQ7DQotICAgIGlmICh+bmFtZSkgew0KLSAgICAgICAgd2hpbGUgKGd0LmdyYXBoLm5vZGVkaWN0WyhuYW1lID0gY29uY2F0ICgnbicsIG5pZCkpXSA+PSAwKQ0KLSAgICAgICAgICAgIG5pZCA9IG5pZCArIDE7DQotICAgIH0gZWxzZSBpZiAoZ3QuZ3JhcGgubm9kZWRpY3RbbmFtZV0gPj0gMCkgew0KLSAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgY29uY2F0ICgnbm9kZTogJywgbmFtZSwgJyBleGlzdHMnKSk7DQotICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgfQ0KLSAgICBndC5ncmFwaC5ub2RlZGljdFtuYW1lXSA9IG5pZDsNCi0gICAgZ3QuZ3JhcGgubWF4bmlkID0gbmlkICsgMTsNCi0gICAgZ3QuZ3JhcGgubm9kZXNbbmlkXSA9IFsNCi0gICAgICAgIGRvdHR5LmtleXMubmlkICAgPSBuaWQ7DQotICAgICAgICBkb3R0eS5rZXlzLm5hbWUgID0gbmFtZTsNCi0gICAgICAgIGRvdHR5LmtleXMuYXR0ciAgPSBjb3B5IChndC5ncmFwaC5ub2RlYXR0cik7DQotICAgICAgICBkb3R0eS5rZXlzLmVkZ2VzID0gW107DQotICAgIF07DQotICAgIG5vZGUgPSBndC5ncmFwaC5ub2Rlc1tuaWRdOw0KLSAgICBpZiAofmF0dHIpDQotICAgICAgICBhdHRyID0gW107DQotICAgIGlmICh+YXR0ci5sYWJlbCkNCi0gICAgICAgIGF0dHIubGFiZWwgPSAnXE4nOw0KLSAgICBmb3IgKGFpZCBpbiBhdHRyKQ0KLSAgICAgICAgbm9kZS5hdHRyW2FpZF0gPSBhdHRyW2FpZF07DQotICAgIGd0LnVucGFja25vZGVhdHRyIChndCwgbm9kZSk7DQotICAgIGlmICh+cG9zKQ0KLSAgICAgICAgcG9zID0gWyd4JyA9IDEwOyAneScgPSAxMDtdOw0KLSAgICBub2RlW2RvdHR5LmtleXMucG9zXSA9IGNvcHkgKHBvcyk7DQotICAgIGlmICh+c2l6ZSkNCi0gICAgICAgIHNpemUgPSBbJ3gnID0gc3RybGVuIChhdHRyLmxhYmVsKSAqIDMwOyAneScgPSAzMDtdOw0KLSAgICBpZiAoc2l6ZS54ID09IDApDQotICAgICAgICBzaXplLnggPSAzMDsNCi0gICAgbm9kZVtkb3R0eS5rZXlzLnNpemVdID0gY29weSAoc2l6ZSk7DQotICAgIG5vZGVbZG90dHkua2V5cy5yZWN0XSA9IFsNCi0gICAgICAgIDAgPSBbJ3gnID0gcG9zLnggLSBzaXplLnggLyAyOyAneScgPSBwb3MueSAtIHNpemUueSAvIDI7XTsNCi0gICAgICAgIDEgPSBbJ3gnID0gcG9zLnggKyBzaXplLnggLyAyOyAneScgPSBwb3MueSArIHNpemUueSAvIDI7XTsNCi0gICAgXTsNCi0gICAgbm9kZS5kcmF3cyA9IGd0LnNpbXBsZW5vZGVkcmF3IChub2RlLCBwb3MsIHNpemUpOw0KLSAgICBpZiAoc2hvdykNCi0gICAgICAgIGd0LmRyYXdub2RlIChndCwgZ3Qudmlld3MsIG5vZGUpOw0KLSAgICBpZiAofmd0Lm5vdW5kbykgew0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICAgICAgZ3QuY3VycnVuZG8uaW5zZXJ0ZWQubm9kZXNbbmlkXSA9IG5vZGU7DQotICAgICAgICBndC5lbmRhZGQydW5kbyAoZ3QpOw0KLSAgICB9DQotICAgIHJldHVybiBub2RlOw0KLX07DQotZG90dHkucHJvdG9ndC5yZW1vdmVub2RlID0gZnVuY3Rpb24gKGd0LCBub2RlKSB7DQotICAgIGxvY2FsIGVpZCwgbGlzdCwgZWRnZSwgZ2lkOw0KLQ0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LnN0YXJ0YWRkMnVuZG8gKGd0KTsNCi0gICAgZm9yIChlaWQgaW4gbm9kZS5lZGdlcykNCi0gICAgICAgIGxpc3RbZWlkXSA9IG5vZGUuZWRnZXNbZWlkXTsNCi0gICAgZm9yIChlaWQgaW4gbGlzdCkNCi0gICAgICAgIGd0LnJlbW92ZWVkZ2UgKGd0LCBsaXN0W2VpZF0pOw0KLSAgICBndC51bmRyYXdub2RlIChndCwgZ3Qudmlld3MsIG5vZGUpOw0KLSAgICBmb3IgKGdpZCBpbiBndC5ncmFwaC5ncmFwaHMpDQotICAgICAgICByZW1vdmUgKG5vZGUubmlkLCBndC5ncmFwaC5ncmFwaHNbZ2lkXS5ub2Rlcyk7DQotICAgIHJlbW92ZSAobm9kZS5uYW1lLCBndC5ncmFwaC5ub2RlZGljdCk7DQotICAgIHJlbW92ZSAobm9kZS5uaWQsIGd0LmdyYXBoLm5vZGVzKTsNCi0gICAgaWYgKH5ndC5ub3VuZG8pIHsNCi0gICAgICAgIGd0LmN1cnJ1bmRvLmRlbGV0ZWQubm9kZXNbbm9kZS5uaWRdID0gbm9kZTsNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3QuaW5zZXJ0ZWRnZSA9IGZ1bmN0aW9uICgNCi0gICAgZ3QsIG5vZGVhLCBwb3J0YSwgbm9kZWIsIHBvcnRiLCBhdHRyLCBzaG93DQotKSB7DQotICAgIGxvY2FsIGVpZCwgZWRnZSwgYWlkLCB0cG9ydCwgaHBvcnQ7DQotDQotICAgIGlmICh+bm9kZWEgfCB+bm9kZWIpDQotICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgaWYgKHBvcnRhKQ0KLSAgICAgICAgdHBvcnQgPSBwb3J0YTsNCi0gICAgaWYgKHBvcnRiKQ0KLSAgICAgICAgaHBvcnQgPSBwb3J0YjsNCi0gICAgZWlkID0gZ3QuZ3JhcGgubWF4ZWlkOw0KLSAgICB3aGlsZSAoZ3QuZ3JhcGguZWRnZXNbZWlkXSkNCi0gICAgICAgIGVpZCA9IGVpZCArIDE7DQotICAgIGd0LmdyYXBoLm1heGVpZCA9IGVpZCArIDE7DQotICAgIGd0LmdyYXBoLmVkZ2VzW2VpZF0gPSBbDQotICAgICAgICBkb3R0eS5rZXlzLmVpZCAgID0gZWlkOw0KLSAgICAgICAgZG90dHkua2V5cy50YWlsICA9IG5vZGVhOw0KLSAgICAgICAgZG90dHkua2V5cy50cG9ydCA9IHBvcnRhOw0KLSAgICAgICAgZG90dHkua2V5cy5oZWFkICA9IG5vZGViOw0KLSAgICAgICAgZG90dHkua2V5cy5ocG9ydCA9IHBvcnRiOw0KLSAgICAgICAgZG90dHkua2V5cy5hdHRyICA9IGNvcHkgKGd0LmdyYXBoLmVkZ2VhdHRyKTsNCi0gICAgXTsNCi0gICAgZWRnZSA9IGd0LmdyYXBoLmVkZ2VzW2VpZF07DQotICAgIGlmICh+YXR0cikNCi0gICAgICAgIGF0dHIgPSBbXTsNCi0gICAgZm9yIChhaWQgaW4gYXR0cikNCi0gICAgICAgIGVkZ2UuYXR0clthaWRdID0gYXR0clthaWRdOw0KLSAgICBub2RlYS5lZGdlc1tlaWRdID0gZWRnZTsNCi0gICAgbm9kZWIuZWRnZXNbZWlkXSA9IGVkZ2U7DQotICAgIGd0LnVucGFja2VkZ2VhdHRyIChndCwgZWRnZSk7DQotICAgIGVkZ2UuZHJhd3MgPSBndC5zaW1wbGVlZGdlZHJhdyAoZWRnZSwgbm9kZWEucG9zLCBub2RlYi5wb3MpOw0KLSAgICBpZiAoc2hvdykNCi0gICAgICAgIGd0LmRyYXdlZGdlIChndCwgZ3Qudmlld3MsIGVkZ2UpOw0KLSAgICBpZiAofmd0Lm5vdW5kbykgew0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICAgICAgZ3QuY3VycnVuZG8uaW5zZXJ0ZWQuZWRnZXNbZWlkXSA9IGVkZ2U7DQotICAgICAgICBndC5lbmRhZGQydW5kbyAoZ3QpOw0KLSAgICB9DQotICAgIHJldHVybiBlZGdlOw0KLX07DQotZG90dHkucHJvdG9ndC5yZW1vdmVlZGdlID0gZnVuY3Rpb24gKGd0LCBlZGdlKSB7DQotICAgIGxvY2FsIGhlYWQsIHRhaWw7DQotDQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICBpZiAoZWRnZS5oZWFkLmF0dHIuc3VwcG9ydCA9PSAxKQ0KLSAgICAgICAgaGVhZCA9IGVkZ2UuaGVhZDsNCi0gICAgaWYgKGVkZ2UudGFpbC5hdHRyLnN1cHBvcnQgPT0gMSkNCi0gICAgICAgIGlmIChoZWFkIH49IGVkZ2UudGFpbCkNCi0gICAgICAgICAgICB0YWlsID0gZWRnZS50YWlsOw0KLSAgICBndC51bmRyYXdlZGdlIChndCwgZ3Qudmlld3MsIGVkZ2UpOw0KLSAgICByZW1vdmUgKGVkZ2UuZWlkLCBlZGdlLmhlYWQuZWRnZXMpOw0KLSAgICByZW1vdmUgKGVkZ2UuZWlkLCBlZGdlLnRhaWwuZWRnZXMpOw0KLSAgICByZW1vdmUgKGVkZ2UuZWlkLCBndC5ncmFwaC5lZGdlcyk7DQotICAgIGlmIChoZWFkICYgdGFibGVzaXplIChoZWFkLmVkZ2VzKSA9PSAwKQ0KLSAgICAgICAgZ3QucmVtb3Zlbm9kZSAoZ3QsIGhlYWQpOw0KLSAgICBpZiAodGFpbCAmIHRhYmxlc2l6ZSAodGFpbC5lZGdlcykgPT0gMCkNCi0gICAgICAgIGd0LnJlbW92ZW5vZGUgKGd0LCB0YWlsKTsNCi0gICAgaWYgKH5ndC5ub3VuZG8pIHsNCi0gICAgICAgIGd0LmN1cnJ1bmRvLmRlbGV0ZWQuZWRnZXNbZWRnZS5laWRdID0gZWRnZTsNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3Quc3dhcGVkZ2VpZHMgPSBmdW5jdGlvbiAoZ3QsIGVkZ2UxLCBlZGdlMikgew0KLSAgICBsb2NhbCBlaWQxLCBlaWQyOw0KLQ0KLSAgICBpZiAoZWRnZTEuZWlkID09IGVkZ2UyLmVpZCkNCi0gICAgICAgIHJldHVybjsNCi0gICAgaWYgKH5ndC5ub3VuZG8pDQotICAgICAgICBndC5zdGFydGFkZDJ1bmRvIChndCk7DQotICAgIGVpZDEgPSBlZGdlMS5laWQ7DQotICAgIGVpZDIgPSBlZGdlMi5laWQ7DQotICAgIGd0LmdyYXBoLmVkZ2VzW2VpZDFdID0gZWRnZTI7DQotICAgIGd0LmdyYXBoLmVkZ2VzW2VpZDJdID0gZWRnZTE7DQotICAgIHJlbW92ZSAoZWlkMSwgZWRnZTEudGFpbC5lZGdlcyk7DQotICAgIHJlbW92ZSAoZWlkMSwgZWRnZTEuaGVhZC5lZGdlcyk7DQotICAgIHJlbW92ZSAoZWlkMiwgZWRnZTIudGFpbC5lZGdlcyk7DQotICAgIHJlbW92ZSAoZWlkMiwgZWRnZTIuaGVhZC5lZGdlcyk7DQotICAgIGVkZ2UxLnRhaWwuZWRnZXNbZWlkMl0gPSBlZGdlMTsNCi0gICAgZWRnZTEuaGVhZC5lZGdlc1tlaWQyXSA9IGVkZ2UxOw0KLSAgICBlZGdlMi50YWlsLmVkZ2VzW2VpZDFdID0gZWRnZTI7DQotICAgIGVkZ2UyLmhlYWQuZWRnZXNbZWlkMV0gPSBlZGdlMjsNCi0gICAgZWRnZTEuZWlkID0gZWlkMjsNCi0gICAgZWRnZTIuZWlkID0gZWlkMTsNCi0gICAgaWYgKH5ndC5ub3VuZG8pIHsNCi0gICAgICAgIGd0LmN1cnJ1bmRvLnN3YXBwZWQuZWRnZXNbZWlkMV0gPSBlZGdlMTsNCi0gICAgICAgIGd0LmN1cnJ1bmRvLnN3YXBwZWQuZWRnZXNbZWlkMl0gPSBlZGdlMjsNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3QucmVtb3Zlc3VidHJlZSA9IGZ1bmN0aW9uIChndCwgb2JqKSB7DQotICAgIGxvY2FsIG5saXN0LCBub2RlLCBoZWFkLCBuaWQsIGVkZ2UsIGVpZDsNCi0NCi0gICAgaWYgKH5ndC5ub3VuZG8pDQotICAgICAgICBndC5zdGFydGFkZDJ1bmRvIChndCk7DQotICAgIGlmIChvYmoubmlkID49IDApDQotICAgICAgICBub2RlID0gb2JqOw0KLSAgICBlbHNlIGlmIChvYmouZWlkID49IDApIHsNCi0gICAgICAgIG5vZGUgPSBvYmouaGVhZDsNCi0gICAgICAgIGd0LnJlbW92ZWVkZ2UgKGd0LCBvYmopOw0KLSAgICAgICAgaWYgKH5ndC5ncmFwaC5ub2Rlc1tub2RlLm5pZF0pIHsNCi0gICAgICAgICAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgICAgICAgICAgZ3QuZW5kYWRkMnVuZG8gKGd0KTsNCi0gICAgICAgICAgICByZXR1cm47DQotICAgICAgICB9DQotICAgICAgICBmb3IgKGVpZCBpbiBub2RlLmVkZ2VzKSB7DQotICAgICAgICAgICAgZWRnZSA9IG5vZGUuZWRnZXNbZWlkXTsNCi0gICAgICAgICAgICBpZiAoZWRnZS5oZWFkID09IG5vZGUgJiBlZGdlLnRhaWwgfj0gbm9kZSkgew0KLSAgICAgICAgICAgICAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgICAgICAgICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotICAgICAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9DQotICAgIH0gZWxzZSB7DQotICAgICAgICBkb3R0eS5tZXNzYWdlICgwLCAnYmFkIG9iamVjdCB0eXBlIGluIGd0LnJlbW92ZXN1YnRyZWUnKTsNCi0gICAgICAgIHJldHVybjsNCi0gICAgfQ0KLSAgICBubGlzdCA9IFtub2RlLm5pZCA9IG5vZGU7XTsNCi0gICAgd2hpbGUgKG5vZGUpIHsNCi0gICAgICAgIGZvciAoZWlkIGluIG5vZGUuZWRnZXMpIHsNCi0gICAgICAgICAgICBoZWFkID0gbm9kZS5lZGdlc1tlaWRdLmhlYWQ7DQotICAgICAgICAgICAgaWYgKGhlYWQgfj0gbm9kZSkNCi0gICAgICAgICAgICAgICAgbmxpc3RbaGVhZC5uaWRdID0gaGVhZDsNCi0gICAgICAgIH0NCi0gICAgICAgIGd0LnJlbW92ZW5vZGUgKGd0LCBub2RlKTsNCi0gICAgICAgIHJlbW92ZSAobm9kZS5uaWQsIG5saXN0KTsNCi0gICAgICAgIG5vZGUgPSBudWxsOw0KLSAgICAgICAgZm9yIChuaWQgaW4gbmxpc3QpIHsNCi0gICAgICAgICAgICBub2RlID0gbmxpc3RbbmlkXTsNCi0gICAgICAgICAgICBmb3IgKGVpZCBpbiBub2RlLmVkZ2VzKSB7DQotICAgICAgICAgICAgICAgIGVkZ2UgPSBub2RlLmVkZ2VzW2VpZF07DQotICAgICAgICAgICAgICAgIGlmIChlZGdlLmhlYWQgPT0gbm9kZSAmIGVkZ2UudGFpbCB+PSBub2RlKSB7DQotICAgICAgICAgICAgICAgICAgICBub2RlID0gbnVsbDsNCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGlmIChub2RlKQ0KLSAgICAgICAgICAgICAgICBicmVhazsNCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotfTsNCi1kb3R0eS5wcm90b2d0LnJlbW92ZW5vZGVzYnlhdHRyID0gZnVuY3Rpb24gKGd0LCBrZXksIHZhbCkgew0KLSAgICBsb2NhbCBubGlzdCwgbmlkOw0KLQ0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LnN0YXJ0YWRkMnVuZG8gKGd0KTsNCi0gICAgbmxpc3QgPSBndC5nZXRub2Rlc2J5YXR0ciAoZ3QsIGtleSwgdmFsKTsNCi0gICAgZm9yIChuaWQgaW4gbmxpc3QpDQotICAgICAgICBndC5yZW1vdmVub2RlIChndCwgbmxpc3RbbmlkXSk7DQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3QuZW5kYWRkMnVuZG8gKGd0KTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QucmVtb3Zlc3VidHJlZXNieWF0dHIgPSBmdW5jdGlvbiAoZ3QsIGtleSwgdmFsKSB7DQotICAgIGxvY2FsIG5saXN0LCBuaWQ7DQotDQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICBubGlzdCA9IGd0LmdldG5vZGVzYnlhdHRyIChndCwga2V5LCB2YWwpOw0KLSAgICBmb3IgKG5pZCBpbiBubGlzdCkNCi0gICAgICAgIGlmIChndC5ncmFwaC5ub2Rlc1tuaWRdKQ0KLSAgICAgICAgICAgIGd0LnJlbW92ZXN1YnRyZWUgKGd0LCBubGlzdFtuaWRdKTsNCi0gICAgaWYgKH5ndC5ub3VuZG8pDQotICAgICAgICBndC5lbmRhZGQydW5kbyAoZ3QpOw0KLX07DQotZG90dHkucHJvdG9ndC5ncm91cG5vZGVzID0gZnVuY3Rpb24gKA0KLSAgICBndCwgbmxpc3QsIGdub2RlLCBwb3MsIHNpemUsIGF0dHIsIGtlZXBtdWx0aSwgc2hvdw0KLSkgew0KLSAgICBsb2NhbCBuaWQsIG5vZGUsIGVsaXN0LCBlaWQsIGVkZ2UsIG5vZGVhLCBub2RlYiwgaW5saXN0LCBvdXRsaXN0Ow0KLQ0KLSAgICBpZiAofm5saXN0IHwgdGFibGVzaXplIChubGlzdCkgPT0gMCkNCi0gICAgICAgIHJldHVybjsNCi0gICAgaWYgKGdub2RlLmF0dHIuc3VwcG9ydCkgew0KLSAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgJ2Nhbm5vdCBncm91cCBub2RlcyBpbiBhIHN1cHBvcnQgbm9kZScpOw0KLSAgICAgICAgcmV0dXJuOw0KLSAgICB9DQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICBpZiAofmdub2RlKQ0KLSAgICAgICAgZ25vZGUgPSBndC5pbnNlcnRub2RlIChndCwgcG9zLCBzaXplLCBudWxsLCBhdHRyLCBzaG93KTsNCi0gICAgaW5saXN0ID0gW107DQotICAgIG91dGxpc3QgPSBbXTsNCi0gICAgZm9yIChuaWQgaW4gbmxpc3QpIHsNCi0gICAgICAgIGlmICgobm9kZSA9IG5saXN0W25pZF0pID09IGdub2RlKQ0KLSAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgZWxpc3QgPSBbXTsNCi0gICAgICAgIGZvciAoZWlkIGluIG5vZGUuZWRnZXMpDQotICAgICAgICAgICAgZWxpc3RbZWlkXSA9IG5vZGUuZWRnZXNbZWlkXTsNCi0gICAgICAgIGZvciAoZWlkIGluIGVsaXN0KSB7DQotICAgICAgICAgICAgZWRnZSA9IGVsaXN0W2VpZF07DQotICAgICAgICAgICAgaWYgKGVkZ2UuaGVhZCA9PSBub2RlKSB7DQotICAgICAgICAgICAgICAgIG5vZGVhID0gZWRnZS50YWlsOw0KLSAgICAgICAgICAgICAgICBub2RlYiA9IGdub2RlOw0KLSAgICAgICAgICAgICAgICBpZiAofmtlZXBtdWx0aSkgew0KLSAgICAgICAgICAgICAgICAgICAgaWYgKGlubGlzdFtub2RlYS5uaWRdKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgICAgICAgICAgICAgaW5saXN0W25vZGVhLm5pZF0gPSBub2RlYTsNCi0gICAgICAgICAgICAgICAgICAgIGlmIChub2RlYSA9PSBnbm9kZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICBvdXRsaXN0W25vZGVhLm5pZF0gPSBub2RlYTsNCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgICAgIG5vZGVhID0gZ25vZGU7DQotICAgICAgICAgICAgICAgIG5vZGViID0gZWRnZS5oZWFkOw0KLSAgICAgICAgICAgICAgICBpZiAofmtlZXBtdWx0aSkgew0KLSAgICAgICAgICAgICAgICAgICAgaWYgKG91dGxpc3Rbbm9kZWIubmlkXSkNCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCi0gICAgICAgICAgICAgICAgICAgIG91dGxpc3Rbbm9kZWIubmlkXSA9IG5vZGViOw0KLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGViID09IGdub2RlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlubGlzdFtub2RlYi5uaWRdID0gbm9kZWI7DQotICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgZ3QuaW5zZXJ0ZWRnZSAoZ3QsIG5vZGVhLCBudWxsLCBub2RlYiwgbnVsbCwgZWRnZS5hdHRyLCBzaG93KTsNCi0gICAgICAgIH0NCi0gICAgICAgIGd0LnJlbW92ZW5vZGUgKGd0LCBub2RlKTsNCi0gICAgfQ0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LmVuZGFkZDJ1bmRvIChndCk7DQotICAgIHJldHVybiBnbm9kZTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuZ3JvdXBub2Rlc2J5YXR0ciA9IGZ1bmN0aW9uICgNCi0gICAgZ3QsIGtleSwgdmFsLCBhdHRyLCBrZWVwbXVsdGksIHNob3cNCi0pIHsNCi0gICAgbG9jYWwgbmxpc3QsIG5pZCwgcG9zLCBzaXplOw0KLQ0KLSAgICBwb3MgPSBudWxsOw0KLSAgICBzaXplID0gbnVsbDsNCi0gICAgbmxpc3QgPSBndC5nZXRub2Rlc2J5YXR0ciAoZ3QsIGtleSwgdmFsKTsNCi0gICAgaWYgKHNob3cpDQotICAgICAgICBmb3IgKG5pZCBpbiBubGlzdCkgew0KLSAgICAgICAgICAgIHBvcyA9IG5saXN0W25pZF0ucG9zOw0KLSAgICAgICAgICAgIHNpemUgPSBubGlzdFtuaWRdLnNpemU7DQotICAgICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgIHJldHVybiBndC5ncm91cG5vZGVzIChndCwgbmxpc3QsIG51bGwsIHBvcywgc2l6ZSwgYXR0ciwga2VlcG11bHRpLCBzaG93KTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuY3V0ID0gZnVuY3Rpb24gKGd0LCBvYmosIHNldCwgbW9kZSwgb3ApIHsNCi0gICAgbG9jYWwgY2xpcGd0LCBsaXN0LCBub2RlLCBuaWQsIGVkZ2UsIGVpZCwgY2xpcG5vZGU7DQotDQotICAgIGNsaXBndCA9IGRvdHR5LmNsaXBndDsNCi0gICAgY2xpcGd0LmdyYXBoID0gY29weSAoZG90dHkucHJvdG9ndC5ncmFwaCk7DQotICAgIGlmIChvYmouZWlkID49IDApIHsgIyBpdCdzIGFuIGVkZ2UNCi0gICAgICAgIGxpc3QuZWRnZXNbb2JqLmVpZF0gPSBvYmo7DQotICAgICAgICBub2RlID0gb2JqLmhlYWQ7DQotICAgIH0gZWxzZSBpZiAob2JqLm5pZCA+PSAwKSB7DQotICAgICAgICBsaXN0Lm5vZGVzW29iai5uaWRdID0gb2JqOw0KLSAgICAgICAgbm9kZSA9IG9iajsNCi0gICAgICAgIGZvciAoZWlkIGluIG5vZGUuZWRnZXMpDQotICAgICAgICAgICAgbGlzdC5lZGdlc1tlaWRdID0gbm9kZS5lZGdlc1tlaWRdOw0KLSAgICB9IGVsc2Ugew0KLSAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgJ3Vua25vd24gb2JqZWN0IHR5cGUgaW4gZ3QuY3V0Jyk7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCi0gICAgaWYgKHNldCA9PSAncmVhY2hhYmxlJykgew0KLSAgICAgICAgbGlzdC5ub2RlcyA9IGd0LnJlYWNoYWJsZW5vZGVzIChndCwgbm9kZSk7DQotICAgICAgICBmb3IgKG5pZCBpbiBsaXN0Lm5vZGVzKSB7DQotICAgICAgICAgICAgbm9kZSA9IGxpc3Qubm9kZXNbbmlkXTsNCi0gICAgICAgICAgICBmb3IgKGVpZCBpbiBub2RlLmVkZ2VzKSB7DQotICAgICAgICAgICAgICAgIGVkZ2UgPSBub2RlLmVkZ2VzW2VpZF07DQotICAgICAgICAgICAgICAgIGxpc3QuZWRnZXNbZWRnZS5laWRdID0gZWRnZTsNCi0gICAgICAgICAgICB9DQotICAgICAgICB9DQotICAgIH0NCi0gICAgaWYgKG1vZGUgPT0gJ3N1cHBvcnQnKSB7DQotICAgICAgICBmb3IgKGVpZCBpbiBsaXN0LmVkZ2VzKSB7DQotICAgICAgICAgICAgZWRnZSA9IGxpc3QuZWRnZXNbZWlkXTsNCi0gICAgICAgICAgICBpZiAofmxpc3Qubm9kZXNbZWRnZS50YWlsLm5pZF0pIHsNCi0gICAgICAgICAgICAgICAgbGlzdC5zdXBwb3J0W2VkZ2UudGFpbC5uaWRdID0gZWRnZS50YWlsOw0KLSAgICAgICAgICAgICAgICBsaXN0Lm5vZGVzW2VkZ2UudGFpbC5uaWRdID0gZWRnZS50YWlsOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBpZiAofmxpc3Qubm9kZXNbZWRnZS5oZWFkLm5pZF0pIHsNCi0gICAgICAgICAgICAgICAgbGlzdC5zdXBwb3J0W2VkZ2UuaGVhZC5uaWRdID0gZWRnZS5oZWFkOw0KLSAgICAgICAgICAgICAgICBsaXN0Lm5vZGVzW2VkZ2UuaGVhZC5uaWRdID0gZWRnZS5oZWFkOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBmb3IgKG5pZCA9IDA7IG5pZCA8IGd0LmdyYXBoLm1heG5pZDsgbmlkID0gbmlkICsgMSkgew0KLSAgICAgICAgaWYgKH5saXN0Lm5vZGVzW25pZF0pDQotICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICBub2RlID0gbGlzdC5ub2Rlc1tuaWRdOw0KLSAgICAgICAgY2xpcG5vZGUgPSBndC5pbnNlcnRub2RlIChjbGlwZ3QsIG51bGwsIG51bGwsIG5vZGUubmFtZSwgbm9kZS5hdHRyLCAwKTsNCi0gICAgICAgIGlmIChsaXN0LnN1cHBvcnRbbmlkXSkNCi0gICAgICAgICAgICBjbGlwbm9kZS5zdXBwb3J0ID0gMTsNCi0gICAgICAgIGxpc3QuY2xpcG5vZGVzW25pZF0gPSBjbGlwbm9kZTsNCi0gICAgfQ0KLSAgICBmb3IgKGVpZCA9IDA7IGVpZCA8IGd0LmdyYXBoLm1heGVpZDsgZWlkID0gZWlkICsgMSkgew0KLSAgICAgICAgaWYgKH5saXN0LmVkZ2VzW2VpZF0pDQotICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICBlZGdlID0gbGlzdC5lZGdlc1tlaWRdOw0KLSAgICAgICAgaWYgKH5saXN0Lm5vZGVzW2VkZ2UudGFpbC5uaWRdIHwgfmxpc3Qubm9kZXNbZWRnZS5oZWFkLm5pZF0pDQotICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICBndC5pbnNlcnRlZGdlICgNCi0gICAgICAgICAgICBjbGlwZ3QsIGxpc3QuY2xpcG5vZGVzW2VkZ2UudGFpbC5uaWRdLCBudWxsLA0KLSAgICAgICAgICAgIGxpc3QuY2xpcG5vZGVzW2VkZ2UuaGVhZC5uaWRdLCBudWxsLCBlZGdlLmF0dHIsIDANCi0gICAgICAgICk7DQotICAgIH0NCi0gICAgaWYgKG9wIH49ICdjdXQnKQ0KLSAgICAgICAgcmV0dXJuOw0KLSAgICBpZiAofmd0Lm5vdW5kbykNCi0gICAgICAgIGd0LnN0YXJ0YWRkMnVuZG8gKGd0KTsNCi0gICAgZm9yIChlaWQgaW4gbGlzdC5lZGdlcykNCi0gICAgICAgIGd0LnJlbW92ZWVkZ2UgKGd0LCBsaXN0LmVkZ2VzW2VpZF0pOw0KLSAgICBmb3IgKG5pZCBpbiBsaXN0Lm5vZGVzKQ0KLSAgICAgICAgaWYgKH5saXN0LnN1cHBvcnRbbmlkXSAmIGd0LmdyYXBoLm5vZGVzW25pZF0pDQotICAgICAgICAgICAgZ3QucmVtb3Zlbm9kZSAoZ3QsIGxpc3Qubm9kZXNbbmlkXSk7DQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3QuZW5kYWRkMnVuZG8gKGd0KTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QucGFzdGUgPSBmdW5jdGlvbiAoZ3QsIHBvcywgc2hvdykgew0KLSAgICBsb2NhbCBjbGlwZ3QsIG9mZnNldCwgY2VudGVyLCBuaWQsIG5vZGUsIGVpZCwgZWRnZSwgbm9kZXM7DQotDQotICAgIGlmICh+Z3Qubm91bmRvKQ0KLSAgICAgICAgZ3Quc3RhcnRhZGQydW5kbyAoZ3QpOw0KLSAgICBjbGlwZ3QgPSBkb3R0eS5jbGlwZ3Q7DQotICAgIGlmIChjbGlwZ3QuZ3JhcGgucmVjdCkNCi0gICAgICAgIGNlbnRlciA9IFsNCi0gICAgICAgICAgICAneCcgPSAoY2xpcGd0LmdyYXBoLnJlY3RbMV0ueCArIGNsaXBndC5ncmFwaC5yZWN0WzBdLngpIC8gMjsNCi0gICAgICAgICAgICAneScgPSAoY2xpcGd0LmdyYXBoLnJlY3RbMV0ueSArIGNsaXBndC5ncmFwaC5yZWN0WzBdLnkpIC8gMjsNCi0gICAgICAgIF07DQotICAgIGVsc2UNCi0gICAgICAgIGNlbnRlciA9IHBvczsNCi0gICAgb2Zmc2V0ID0gWw0KLSAgICAgICAgJ3gnID0gY2VudGVyLnggLSBwb3MueDsNCi0gICAgICAgICd5JyA9IGNlbnRlci55IC0gcG9zLnk7DQotICAgIF07DQotICAgIGZvciAobmlkID0gMDsgY2xpcGd0LmdyYXBoLm5vZGVzW25pZF07IG5pZCA9IG5pZCArIDEpIHsNCi0gICAgICAgIG5vZGUgPSBjbGlwZ3QuZ3JhcGgubm9kZXNbbmlkXTsNCi0gICAgICAgIGlmIChub2RlLmF0dHIubGFiZWwgPT0gJ1xOJyB8IH5ub2RlLmF0dHIubGFiZWwpDQotICAgICAgICAgICAgbm9kZS5hdHRyLmxhYmVsID0gbm9kZS5uYW1lOw0KLSAgICAgICAgaWYgKG5vZGUuc3VwcG9ydCA9PSAxKQ0KLSAgICAgICAgICAgIG5vZGVzW25pZF0gPSBndC5pbnNlcnRub2RlIChndCwgWw0KLSAgICAgICAgICAgICAgICAneCcgPSBub2RlLnBvcy54IC0gb2Zmc2V0Lng7DQotICAgICAgICAgICAgICAgICd5JyA9IG5vZGUucG9zLnkgLSBvZmZzZXQueTsNCi0gICAgICAgICAgICBdLCBudWxsLCBudWxsLCBbDQotICAgICAgICAgICAgICAgICdzdXBwb3J0JyA9IDE7ICdzaGFwZScgPSAnY2lyY2xlJzsNCi0gICAgICAgICAgICAgICAgJ2xhYmVsJyA9ICcnOyAnd2lkdGgnID0gMC4yOw0KLSAgICAgICAgICAgIF0sIHNob3cpOw0KLSAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgIG5vZGVzW25pZF0gPSBndC5pbnNlcnRub2RlIChndCwgWw0KLSAgICAgICAgICAgICAgICAneCcgPSBub2RlLnBvcy54IC0gb2Zmc2V0Lng7DQotICAgICAgICAgICAgICAgICd5JyA9IG5vZGUucG9zLnkgLSBvZmZzZXQueTsNCi0gICAgICAgICAgICBdLCBub2RlLnNpemUsIG51bGwsIG5vZGUuYXR0ciwgc2hvdyk7DQotICAgIH0NCi0gICAgZm9yIChlaWQgPSAwOyBjbGlwZ3QuZ3JhcGguZWRnZXNbZWlkXTsgZWlkID0gZWlkICsgMSkgew0KLSAgICAgICAgZWRnZSA9IGNsaXBndC5ncmFwaC5lZGdlc1tlaWRdOw0KLSAgICAgICAgZ3QuaW5zZXJ0ZWRnZSAoDQotICAgICAgICAgICAgZ3QsIG5vZGVzW2VkZ2UudGFpbC5uaWRdLCBudWxsLA0KLSAgICAgICAgICAgIG5vZGVzW2VkZ2UuaGVhZC5uaWRdLCBudWxsLCBlZGdlLmF0dHIsIHNob3cNCi0gICAgICAgICk7DQotICAgIH0NCi0gICAgaWYgKH5ndC5ub3VuZG8pDQotICAgICAgICBndC5lbmRhZGQydW5kbyAoZ3QpOw0KLX07DQotZG90dHkucHJvdG9ndC5zdGFydGFkZDJ1bmRvID0gZnVuY3Rpb24gKGd0KSB7DQotICAgIGlmICh+Z3QudW5kb2FycmF5LmxldmVsKQ0KLSAgICAgICAgZ3QuY3VycnVuZG8gPSAoDQotICAgICAgICAgICAgZ3QudW5kb2FycmF5LmVudHJpZXNbdGFibGVzaXplIChndC51bmRvYXJyYXkuZW50cmllcyldID0gW10NCi0gICAgICAgICk7DQotICAgIGd0LnVuZG9hcnJheS5sZXZlbCA9IGd0LnVuZG9hcnJheS5sZXZlbCArIDE7DQotfTsNCi1kb3R0eS5wcm90b2d0LmVuZGFkZDJ1bmRvID0gZnVuY3Rpb24gKGd0KSB7DQotICAgIGd0LnVuZG9hcnJheS5sZXZlbCA9IGd0LnVuZG9hcnJheS5sZXZlbCAtIDE7DQotfTsNCi1kb3R0eS5wcm90b2d0LnVuZG8gPSBmdW5jdGlvbiAoZ3QsIHNob3cpIHsNCi0gICAgbG9jYWwgZW50cnksIG4sIGVpZCwgZWRnZSwgbmlkLCBub2RlLCBlZGdlczsNCi0NCi0gICAgaWYgKChuID0gdGFibGVzaXplIChndC51bmRvYXJyYXkuZW50cmllcykpIDwgMSkNCi0gICAgICAgIHJldHVybjsNCi0gICAgZW50cnkgPSBndC51bmRvYXJyYXkuZW50cmllc1tuIC0gMV07DQotICAgIHJlbW92ZSAobiAtIDEsIGd0LnVuZG9hcnJheS5lbnRyaWVzKTsNCi0gICAgcmVtb3ZlICgnY3VycnVuZG8nLCBndCk7DQotICAgIGd0Lm5vdW5kbyA9IDE7DQotICAgICMgaGFyZHdpcmUgbm9kZXMgYW5kIGVkZ2VzIGJhY2sgd2l0aCB0aGUgc2FtZSBpZCdzIGFzIHRoZSBvcmlnaW5hbHMNCi0gICAgZm9yIChuaWQgaW4gZW50cnkuZGVsZXRlZC5ub2Rlcykgew0KLSAgICAgICAgbm9kZSA9IGVudHJ5LmRlbGV0ZWQubm9kZXNbbmlkXTsNCi0gICAgICAgIGd0LmdyYXBoLm5vZGVkaWN0W25vZGUubmFtZV0gPSBub2RlLm5pZDsNCi0gICAgICAgIGd0LmdyYXBoLm5vZGVzW25vZGUubmlkXSA9IG5vZGU7DQotICAgICAgICBub2RlLmVkZ2VzID0gW107DQotICAgICAgICBpZiAoc2hvdykNCi0gICAgICAgICAgICBndC5kcmF3bm9kZSAoZ3QsIGd0LnZpZXdzLCBub2RlKTsNCi0gICAgfQ0KLSAgICBmb3IgKGVpZCBpbiBlbnRyeS5kZWxldGVkLmVkZ2VzKSB7DQotICAgICAgICBlZGdlID0gZW50cnkuZGVsZXRlZC5lZGdlc1tlaWRdOw0KLSAgICAgICAgZ3QuZ3JhcGguZWRnZXNbZWRnZS5laWRdID0gZWRnZTsNCi0gICAgICAgIGVkZ2UuaGVhZC5lZGdlc1tlZGdlLmVpZF0gPSBlZGdlOw0KLSAgICAgICAgZWRnZS50YWlsLmVkZ2VzW2VkZ2UuZWlkXSA9IGVkZ2U7DQotICAgICAgICBpZiAoc2hvdykNCi0gICAgICAgICAgICBndC5kcmF3ZWRnZSAoZ3QsIGd0LnZpZXdzLCBlZGdlKTsNCi0gICAgfQ0KLSAgICBpZiAoZW50cnkuc3dhcHBlZC5lZGdlcykgew0KLSAgICAgICAgaWYgKHRhYmxlc2l6ZSAoZW50cnkuc3dhcHBlZC5lZGdlcykgPT0gMikgew0KLSAgICAgICAgICAgIG4gPSAwOw0KLSAgICAgICAgICAgIGZvciAoZWlkIGluIGVudHJ5LnN3YXBwZWQuZWRnZXMpIHsNCi0gICAgICAgICAgICAgICAgZWRnZXNbbl0gPSBlbnRyeS5zd2FwcGVkLmVkZ2VzW2VpZF07DQotICAgICAgICAgICAgICAgIG4gPSBuICsgMTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgZ3Quc3dhcGVkZ2VpZHMgKGd0LCBlZGdlc1swXSwgZWRnZXNbMV0pOw0KLSAgICAgICAgfSBlbHNlDQotICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgJ2Nhbm5vdCBoYW5kbGUgdW5kb2luZyBzd2FwIG9mID4gMiBlZGdlcycpOw0KLSAgICB9DQotICAgIGZvciAoZWlkIGluIGVudHJ5Lmluc2VydGVkLmVkZ2VzKSB7DQotICAgICAgICBlZGdlID0gZW50cnkuaW5zZXJ0ZWQuZWRnZXNbZWlkXTsNCi0gICAgICAgIGd0LnJlbW92ZWVkZ2UgKGd0LCBlZGdlKTsNCi0gICAgfQ0KLSAgICBmb3IgKG5pZCBpbiBlbnRyeS5pbnNlcnRlZC5ub2Rlcykgew0KLSAgICAgICAgbm9kZSA9IGVudHJ5Lmluc2VydGVkLm5vZGVzW25pZF07DQotICAgICAgICBndC5yZW1vdmVub2RlIChndCwgbm9kZSk7DQotICAgIH0NCi0gICAgZ3Qubm91bmRvID0gMDsNCi19Ow0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X2xheW91dC5sZWZ0eSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X2xheW91dC5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI4N2FkOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9kb3R0eV9sYXlvdXQubGVmdHkKKysrIC9kZXYvbnVsbApAQCAtMSw0NDkgKzAsMCBAQAotIw0KLSMgZG90dHlfbGF5b3V0OiBsYXlvdXQgZnVuY3Rpb25zIGFuZCBkYXRhIHN0cnVjdHVyZXMNCi0jDQotZG90dHkuZ3JhYmxzZXJ2ZXIgPSBmdW5jdGlvbiAobHNlcnZlcikgew0KLSAgICBsb2NhbCBmZDsNCi0NCi0gICAgaWYgKH5kb3R0eS5sc2VydmVyc1tsc2VydmVyXSB8IHRhYmxlc2l6ZSAoZG90dHkubHNlcnZlcnNbbHNlcnZlcl0pID09IDApIHsNCi0gICAgICAgIGlmICh+KChmZCA9IG9wZW5pbyAoJ3BpcGUnLCBsc2VydmVyLCAncisnLCAnJWUgLVR4ZG90JykpID49IDApKSB7DQotICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgY29uY2F0ICgnY2Fubm90IHN0YXJ0ICcsIGxzZXJ2ZXIpKTsNCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgICAgIH0NCi0gICAgICAgIGRvdHR5LmxzZXJ2ZXJzW2xzZXJ2ZXJdW2ZkXSA9IFsNCi0gICAgICAgICAgICAnZmQnID0gZmQ7DQotICAgICAgICAgICAgJ2NvdW50JyA9IDA7DQotICAgICAgICBdOw0KLSAgICB9DQotICAgIGZvciAoZmQgaW4gZG90dHkubHNlcnZlcnNbbHNlcnZlcl0pIHsNCi0gICAgICAgIGRvdHR5LmxzZXJ2ZXJzW2xzZXJ2ZXJdW2ZkXS5jb3VudCA9IGRvdHR5LmxzZXJ2ZXJzWw0KLSAgICAgICAgICAgIGxzZXJ2ZXINCi0gICAgICAgIF1bZmRdLmNvdW50ICsgMTsNCi0gICAgICAgIGRvdHR5LmxzZXJ2ZXJzLmludXNlW2ZkXSA9IGRvdHR5LmxzZXJ2ZXJzW2xzZXJ2ZXJdW2ZkXTsNCi0gICAgICAgIHJlbW92ZSAoZmQsIGRvdHR5LmxzZXJ2ZXJzW2xzZXJ2ZXJdKTsNCi0gICAgICAgIHJldHVybiBmZDsNCi0gICAgfQ0KLX07DQotZG90dHkucmVsZWFzZWxzZXJ2ZXIgPSBmdW5jdGlvbiAobHNlcnZlciwgZmQsIHN0YXRlKSB7DQotICAgIGlmIChzdGF0ZSA9PSAnYmFkJyB8IGRvdHR5LmxzZXJ2ZXJzLmludXNlW2ZkXS5jb3VudCA+IDQwKSB7DQotICAgICAgICBjbG9zZWlvIChmZCwgJ2tpbGwnKTsNCi0gICAgICAgIHJlbW92ZSAoZmQsIGRvdHR5LmxzZXJ2ZXJzLmludXNlKTsNCi0gICAgICAgIHJldHVybjsNCi0gICAgfQ0KLSAgICBkb3R0eS5sc2VydmVyc1tsc2VydmVyXVtmZF0gPSBkb3R0eS5sc2VydmVycy5pbnVzZVtmZF07DQotICAgIHJlbW92ZSAoZmQsIGRvdHR5LmxzZXJ2ZXJzLmludXNlKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3Quc3RhcnRsYXlvdXQgPSBmdW5jdGlvbiAoZ3QpIHsNCi0gICAgbG9jYWwgbHB0LCBmZDsNCi0NCi0gICAgaWYgKGd0LmxheW91dHBlbmRpbmcgPj0gMSkgew0KLSAgICAgICAgbHB0ID0gZG90dHkubGF5b3V0cGVuZGluZ1tndC5ndGlkXTsNCi0gICAgICAgIGlmIChndC5sYXlvdXRtb2RlID09ICdhc3luYycpDQotICAgICAgICAgICAgbW9uaXRvciAoJ29mZicsIGxwdC5mZCk7DQotICAgICAgICBkb3R0eS5yZWxlYXNlbHNlcnZlciAoZ3QubHNlcnZlciwgbHB0LmZkLCAnYmFkJyk7DQotICAgICAgICByZW1vdmUgKGd0Lmd0aWQsIGRvdHR5LmxheW91dHBlbmRpbmcpOw0KLSAgICAgICAgZ3QubGF5b3V0cGVuZGluZyA9IDA7DQotICAgICAgICBndC5oYXZlaW5wdXQgPSAwOw0KLSAgICAgICAgZG90dHkucG9wYnVzeSAoZ3QsIGd0LnZpZXdzKTsNCi0gICAgfQ0KLSAgICBpZiAofigoZmQgPSBkb3R0eS5ncmFibHNlcnZlciAoZ3QubHNlcnZlcikpID49IDApKQ0KLSAgICAgICAgcmV0dXJuIG51bGw7DQotICAgIGRvdHR5LnB1c2hidXN5IChndCwgZ3Qudmlld3MpOw0KLSAgICB3cml0ZWdyYXBoIChmZCwgZ3QuZ3JhcGgsIDEpOw0KLSAgICBndC5sYXlvdXRwZW5kaW5nID0gMTsNCi0gICAgZG90dHkubGF5b3V0cGVuZGluZ1tndC5ndGlkXSA9IFsNCi0gICAgICAgICdmZCcgPSBmZDsNCi0gICAgICAgICdndGlkJyA9IGd0Lmd0aWQ7DQotICAgIF07DQotICAgIGlmIChndC5sYXlvdXRtb2RlID09ICdhc3luYycpDQotICAgICAgICBtb25pdG9yICgnb24nLCBmZCk7DQotICAgIHJldHVybiAxOw0KLX07DQotZG90dHkucHJvdG9ndC5maW5pc2hsYXlvdXQgPSBmdW5jdGlvbiAoZ3QpIHsNCi0gICAgbG9jYWwgZ3JhcGgsIGxwdCwgZmQ7DQotDQotICAgIGlmICh+KGd0LmxheW91dHBlbmRpbmcgPj0gMSkpIHsNCi0gICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsIGNvbmNhdCAoJ25vIGxheW91dCBwZW5kaW5nIGZvciBncmFwaCAnLCBndC5ndGlkKSk7DQotICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgfQ0KLSAgICBscHQgPSBkb3R0eS5sYXlvdXRwZW5kaW5nW2d0Lmd0aWRdOw0KLSAgICBpZiAofihncmFwaCA9IHJlYWRncmFwaCAobHB0LmZkKSkpIHsNCi0gICAgICAgIGlmIChndC5sYXlvdXRtb2RlID09ICdhc3luYycpDQotICAgICAgICAgICAgbW9uaXRvciAoJ29mZicsIGxwdC5mZCk7DQotICAgICAgICBkb3R0eS5yZWxlYXNlbHNlcnZlciAoZ3QubHNlcnZlciwgbHB0LmZkLCAnYmFkJyk7DQotICAgICAgICBpZiAoZ3QubGF5b3V0cGVuZGluZyA9PSAyKSB7DQotICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoMCwgY29uY2F0ICgnZ2l2aW5nIHVwIG9uICcsIGd0LmxzZXJ2ZXIpKTsNCi0gICAgICAgICAgICBpZiAoKGZkID0gb3BlbmlvICgnZmlsZScsICdkb3R0eWJ1Zy5kb3QnLCAndysnKSkgPj0gMCkgew0KLSAgICAgICAgICAgICAgICB3cml0ZWdyYXBoIChmZCwgZ3QuZ3JhcGgsIDApOw0KLSAgICAgICAgICAgICAgICBjbG9zZWlvIChmZCk7DQotICAgICAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKA0KLSAgICAgICAgICAgICAgICAgICAgMCwgY29uY2F0ICgnZ3JhcGggdGhhdCBjYXVzZXMgJywgZ3QubHNlcnZlcikNCi0gICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoDQotICAgICAgICAgICAgICAgICAgICAwLCAndG8gZmFpbCBoYXMgYmVlbiBzYXZlZCBpbiBmaWxlIGRvdHR5YnVnLmRvdCcNCi0gICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoDQotICAgICAgICAgICAgICAgICAgICAwLCAncGxlYXNlIGZpbGwgb3V0IGEgYnVnIHJlcG9ydCBhdCcNCi0gICAgICAgICAgICAgICAgKTsNCi0gICAgICAgICAgICAgICAgZG90dHkubWVzc2FnZSAoDQotICAgICAgICAgICAgICAgICAgICAwLCAnaHR0cDovL3d3dy5ncmFwaHZpei5vcmcvYnVncy9idWdmb3JtLmh0bWwnDQotICAgICAgICAgICAgICAgICk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGRvdHR5LnBvcGJ1c3kgKGd0LCBndC52aWV3cyk7DQotICAgICAgICAgICAgZ3QubGF5b3V0cGVuZGluZyA9IDA7DQotICAgICAgICAgICAgZ3QuaGF2ZWlucHV0ID0gMDsNCi0gICAgICAgICAgICByZXR1cm4gMTsNCi0gICAgICAgIH0NCi0gICAgICAgIGRvdHR5Lm1lc3NhZ2UgKA0KLSAgICAgICAgICAgIDEsIGNvbmNhdCAoJ2xvc3QgY29ubmVjdGlvbiB0byAnLCBndC5sc2VydmVyLCAnLCByZXN0YXJ0aW5nLi4uJykNCi0gICAgICAgICk7DQotICAgICAgICBscHQuZmQgPSBkb3R0eS5ncmFibHNlcnZlciAoZ3QubHNlcnZlcik7DQotICAgICAgICB3cml0ZWdyYXBoIChscHQuZmQsIGd0LmdyYXBoLCAxKTsNCi0gICAgICAgIGlmIChndC5sYXlvdXRtb2RlID09ICdhc3luYycpDQotICAgICAgICAgICAgbW9uaXRvciAoJ29uJywgbHB0LmZkKTsNCi0gICAgICAgIGd0LmxheW91dHBlbmRpbmcgPSAyOw0KLSAgICAgICAgZ3QuaGF2ZWlucHV0ID0gMDsNCi0gICAgICAgIHJldHVybiBudWxsOw0KLSAgICB9DQotICAgIGlmIChndC5sYXlvdXRtb2RlID09ICdhc3luYycpDQotICAgICAgICBtb25pdG9yICgnb2ZmJywgbHB0LmZkKTsNCi0gICAgZG90dHkucmVsZWFzZWxzZXJ2ZXIgKGd0LmxzZXJ2ZXIsIGxwdC5mZCwgbnVsbCk7DQotICAgIHJlbW92ZSAoZ3QuZ3RpZCwgZG90dHkubGF5b3V0cGVuZGluZyk7DQotICAgIGd0LmxheW91dHBlbmRpbmcgPSAwOw0KLSAgICBndC5oYXZlaW5wdXQgPSAwOw0KLSAgICBndC51bnBhY2tsYXlvdXQgKGd0LCBncmFwaCk7DQotICAgIGRvdHR5LnBvcGJ1c3kgKGd0LCBndC52aWV3cyk7DQotICAgIHJldHVybiAxOw0KLX07DQotZG90dHkucHJvdG9ndC5jYW5jZWxsYXlvdXQgPSBmdW5jdGlvbiAoZ3QpIHsNCi0gICAgbG9jYWwgbHB0LCB2aWQ7DQotDQotICAgIGlmIChndC5sYXlvdXRwZW5kaW5nID49IDEpIHsNCi0gICAgICAgIGxwdCA9IGRvdHR5LmxheW91dHBlbmRpbmdbZ3QuZ3RpZF07DQotICAgICAgICBpZiAoZ3QubGF5b3V0bW9kZSA9PSAnYXN5bmMnKQ0KLSAgICAgICAgICAgIG1vbml0b3IgKCdvZmYnLCBscHQuZmQpOw0KLSAgICAgICAgZG90dHkucmVsZWFzZWxzZXJ2ZXIgKGd0LmxzZXJ2ZXIsIGxwdC5mZCwgJ2JhZCcpOw0KLSAgICAgICAgcmVtb3ZlIChndC5ndGlkLCBkb3R0eS5sYXlvdXRwZW5kaW5nKTsNCi0gICAgICAgIGd0LmxheW91dHBlbmRpbmcgPSAwOw0KLSAgICAgICAgZ3QuaGF2ZWlucHV0ID0gMDsNCi0gICAgICAgIGRvdHR5LnBvcGJ1c3kgKGd0LCBndC52aWV3cyk7DQotICAgIH0NCi19Ow0KLWRvdHR5LnByb3RvZ3QudW5wYWNrbGF5b3V0ID0gZnVuY3Rpb24gKGd0LCBncmFwaDIpIHsNCi0gICAgbG9jYWwgZ3JhcGgsIGdpZCwgc2dyYXBoMSwgc2dyYXBoMiwgbmlkLCBub2RlMSwgbm9kZTIsIGVpZCwgZWRnZTEsIGVkZ2UyOw0KLSAgICBsb2NhbCB0MSwgcG9zLCBzaXplOw0KLQ0KLSAgICBncmFwaCA9IGd0LmdyYXBoOw0KLSAgICBmb3IgKGdpZCBpbiBncmFwaDIuZ3JhcGhkaWN0KSB7DQotICAgICAgICBpZiAofihzZ3JhcGgxID0gZ3JhcGguZ3JhcGhzW2dyYXBoLmdyYXBoZGljdFtnaWRdXSkpDQotICAgICAgICAgICAgY29udGludWU7DQotICAgICAgICBzZ3JhcGgyID0gZ3JhcGgyLmdyYXBoc1tncmFwaDIuZ3JhcGhkaWN0W2dpZF1dOw0KLSAgICAgICAgc2dyYXBoMS5kcmF3cyA9IGd0LnVucGFja2FsbGRyYXcgKGd0LCBzZ3JhcGgyLmdyYXBoYXR0cik7DQotICAgIH0NCi0gICAgZm9yIChuaWQgaW4gZ3JhcGgyLm5vZGVkaWN0KSB7DQotICAgICAgICBpZiAofihub2RlMSA9IGdyYXBoLm5vZGVzW2dyYXBoLm5vZGVkaWN0W25pZF1dKSkNCi0gICAgICAgICAgICBjb250aW51ZTsNCi0gICAgICAgIG5vZGUyID0gZ3JhcGgyLm5vZGVzW2dyYXBoMi5ub2RlZGljdFtuaWRdXTsNCi0gICAgICAgIG5vZGUxLmRyYXdzID0gZ3QudW5wYWNrYWxsZHJhdyAoZ3QsIG5vZGUyLmF0dHIpOw0KLSAgICAgICAgdDEgPSBzcGxpdCAobm9kZTIuYXR0ci5wb3MsICcsJyk7DQotICAgICAgICBwb3MgPSBbJ3gnID0gc3RvbiAodDFbMF0pOyAneScgPSBzdG9uICh0MVsxXSk7XTsNCi0gICAgICAgIHNpemUgPSBbDQotICAgICAgICAgICAgJ3gnID0gc3RvbiAobm9kZTIuYXR0ci53aWR0aCkgKiA3MjsNCi0gICAgICAgICAgICAneScgPSBzdG9uIChub2RlMi5hdHRyLmhlaWdodCkgKiA3MjsNCi0gICAgICAgIF07DQotICAgICAgICBub2RlMS5wb3MgPSBwb3M7DQotICAgICAgICBub2RlMS5zaXplID0gc2l6ZTsNCi0gICAgICAgIG5vZGUxLnJlY3QgPSBbDQotICAgICAgICAgICAgMCA9IFsneCcgPSBwb3MueCAtIHNpemUueCAvIDI7ICd5JyA9IHBvcy55IC0gc2l6ZS55IC8gMjtdOw0KLSAgICAgICAgICAgIDEgPSBbJ3gnID0gcG9zLnggKyBzaXplLnggLyAyOyAneScgPSBwb3MueSArIHNpemUueSAvIDI7XTsNCi0gICAgICAgIF07DQotICAgIH0NCi0gICAgZm9yIChlaWQgaW4gZ3JhcGgyLmVkZ2VzKSB7DQotICAgICAgICBlZGdlMiA9IGdyYXBoMi5lZGdlc1tlaWRdOw0KLSAgICAgICAgaWYgKGVkZ2UyLmF0dHIuaWQpIHsNCi0gICAgICAgICAgICBpZiAofihlZGdlMSA9IGdyYXBoLmVkZ2VzW3N0b24gKGVkZ2UyLmF0dHIuaWQpXSkpDQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgfSBlbHNlIGlmIChncmFwaCA9PSBncmFwaDIpDQotICAgICAgICAgICAgZWRnZTEgPSBlZGdlMjsNCi0gICAgICAgIGVkZ2UxLmRyYXdzID0gZ3QudW5wYWNrYWxsZHJhdyAoZ3QsIGVkZ2UyLmF0dHIpOw0KLSAgICB9DQotICAgIGdyYXBoLmRyYXdzID0gZ3QudW5wYWNrYWxsZHJhdyAoZ3QsIGdyYXBoMi5ncmFwaGF0dHIpOw0KLSAgICB0MSA9IHNwbGl0IChncmFwaDIuZ3JhcGhhdHRyLmJiLCAnLCcpOw0KLSAgICBncmFwaC5yZWN0WzBdLnggPSBzdG9uICh0MVswXSk7DQotICAgIGdyYXBoLnJlY3RbMF0ueSA9IHN0b24gKHQxWzFdKTsNCi0gICAgZ3JhcGgucmVjdFsxXS54ID0gc3RvbiAodDFbMl0pOw0KLSAgICBncmFwaC5yZWN0WzFdLnkgPSBzdG9uICh0MVszXSk7DQotICAgIGlmIChndC5ncmFwaCB+PSBncmFwaDIpDQotICAgICAgICByZXR1cm47DQotICAgICMgc3RyaXAgcG9zaXRpb24gYW5kIHNpemUgaW5mbyBmcm9tIHRoZSBhdHRyaWJ1dGVzDQotICAgIGZvciAoZ2lkIGluIGdyYXBoMi5ncmFwaGRpY3QpIHsNCi0gICAgICAgIHNncmFwaDIgPSBncmFwaDIuZ3JhcGhzW2dyYXBoMi5ncmFwaGRpY3RbZ2lkXV07DQotICAgICAgICBndC5yZW1vdmVhbGxkcmF3IChndCwgc2dyYXBoMi5ncmFwaGF0dHIpOw0KLSAgICAgICAgaWYgKHNncmFwaDIuZ3JhcGhhdHRyLmJiKQ0KLSAgICAgICAgICAgIHJlbW92ZSAoJ2JiJywgc2dyYXBoMi5ncmFwaGF0dHIpOw0KLSAgICB9DQotICAgIGZvciAobmlkIGluIGdyYXBoMi5ub2RlZGljdCkgew0KLSAgICAgICAgbm9kZTIgPSBncmFwaDIubm9kZXNbZ3JhcGgyLm5vZGVkaWN0W25pZF1dOw0KLSAgICAgICAgZ3QucmVtb3ZlYWxsZHJhdyAoZ3QsIG5vZGUyLmF0dHIpOw0KLSAgICAgICAgaWYgKG5vZGUyLmF0dHIucmVjdHMpDQotICAgICAgICAgICAgcmVtb3ZlICgncmVjdHMnLCBub2RlMi5hdHRyKTsNCi0gICAgICAgIHJlbW92ZSAoJ3BvcycsIG5vZGUyLmF0dHIpOw0KLSAgICAgICAgcmVtb3ZlICgnd2lkdGgnLCBub2RlMi5hdHRyKTsNCi0gICAgICAgIHJlbW92ZSAoJ2hlaWdodCcsIG5vZGUyLmF0dHIpOw0KLSAgICB9DQotICAgIGZvciAoZWlkIGluIGdyYXBoMi5lZGdlcykgew0KLSAgICAgICAgZWRnZTIgPSBncmFwaDIuZWRnZXNbZWlkXTsNCi0gICAgICAgIGd0LnJlbW92ZWFsbGRyYXcgKGd0LCBlZGdlMi5hdHRyKTsNCi0gICAgICAgIGlmIChlZGdlMi5hdHRyLnBvcykNCi0gICAgICAgICAgICByZW1vdmUgKCdwb3MnLCBlZGdlMi5hdHRyKTsNCi0gICAgICAgIGlmIChlZGdlMi5hdHRyLmxwKQ0KLSAgICAgICAgICAgIHJlbW92ZSAoJ2xwJywgZWRnZTIuYXR0cik7DQotICAgIH0NCi0gICAgZ3QucmVtb3ZlYWxsZHJhdyAoZ3QsIGdyYXBoMi5ncmFwaGF0dHIpOw0KLSAgICByZW1vdmUgKCdiYicsIGdyYXBoMi5ncmFwaGF0dHIpOw0KLSAgICBpZiAoZ3JhcGgyLmdyYXBoYXR0ci5scCkNCi0gICAgICAgIHJlbW92ZSAoJ2xwJywgZ3JhcGgyLmdyYXBoYXR0cik7DQotfTsNCi0jDQotIyBkcmF3IGRpcmVjdGl2ZSBwYXJzaW5nDQotIw0KLWRvdHR5LnByb3RvZ3QudW5wYWNrYWxsZHJhdyA9IGZ1bmN0aW9uIChndCwgYXR0cikgew0KLSAgICBsb2NhbCBvLCBkaWQ7DQotDQotICAgIG8gPSBbXTsNCi0gICAgaWYgKGF0dHIuX2RyYXdfKQ0KLSAgICAgICAgby5fZHJhd18gPSBndC51bnBhY2tkcmF3IChndCwgYXR0ci5fZHJhd18pOw0KLSAgICBpZiAoYXR0ci5fbGRyYXdfKQ0KLSAgICAgICAgby5fbGRyYXdfID0gZ3QudW5wYWNrZHJhdyAoZ3QsIGF0dHIuX2xkcmF3Xyk7DQotICAgIGlmIChhdHRyLl9oZHJhd18pDQotICAgICAgICBvLl9oZHJhd18gPSBndC51bnBhY2tkcmF3IChndCwgYXR0ci5faGRyYXdfKTsNCi0gICAgaWYgKGF0dHIuX3RkcmF3XykNCi0gICAgICAgIG8uX3RkcmF3XyA9IGd0LnVucGFja2RyYXcgKGd0LCBhdHRyLl90ZHJhd18pOw0KLSAgICBpZiAoYXR0ci5faGxkcmF3XykNCi0gICAgICAgIG8uX2hsZHJhd18gPSBndC51bnBhY2tkcmF3IChndCwgYXR0ci5faGxkcmF3Xyk7DQotICAgIGlmIChhdHRyLl90bGRyYXdfKQ0KLSAgICAgICAgby5fdGxkcmF3XyA9IGd0LnVucGFja2RyYXcgKGd0LCBhdHRyLl90bGRyYXdfKTsNCi0gICAgZm9yIChkaWQgaW4gbykNCi0gICAgICAgIGlmIChvW2RpZF0uZXApIHsNCi0gICAgICAgICAgICBvLmVwID0gb1tkaWRdLmVwOw0KLSAgICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgfQ0KLSAgICByZXR1cm4gbzsNCi19Ow0KLWRvdHR5LnByb3RvZ3QucmVtb3ZlYWxsZHJhdyA9IGZ1bmN0aW9uIChndCwgYXR0cikgew0KLSAgICBpZiAoYXR0ci5fZHJhd18pDQotICAgICAgICByZW1vdmUgKCdfZHJhd18nLCBhdHRyKTsNCi0gICAgaWYgKGF0dHIuX2xkcmF3XykNCi0gICAgICAgIHJlbW92ZSAoJ19sZHJhd18nLCBhdHRyKTsNCi0gICAgaWYgKGF0dHIuX2hkcmF3XykNCi0gICAgICAgIHJlbW92ZSAoJ19oZHJhd18nLCBhdHRyKTsNCi0gICAgaWYgKGF0dHIuX3RkcmF3XykNCi0gICAgICAgIHJlbW92ZSAoJ190ZHJhd18nLCBhdHRyKTsNCi0gICAgaWYgKGF0dHIuX2hsZHJhd18pDQotICAgICAgICByZW1vdmUgKCdfaGxkcmF3XycsIGF0dHIpOw0KLSAgICBpZiAoYXR0ci5fdGxkcmF3XykNCi0gICAgICAgIHJlbW92ZSAoJ190bGRyYXdfJywgYXR0cik7DQotfTsNCi1kb3R0eS5wcm90b2d0LnVucGFja2RyYXcgPSBmdW5jdGlvbiAoZ3QsIGF0dHIpIHsNCi0gICAgbG9jYWwgb28sIG8sIHR0LCB0LCBuLCBpLCBqLCBzLCBsLCBlcDsNCi0NCi0gICAgb28gPSBbXTsNCi0gICAgdCA9IHNwbGl0IChhdHRyLCAnICcsIDApOw0KLSAgICBuID0gdGFibGVzaXplICh0KTsNCi0gICAgaWYgKHRbbiAtIDFdID09ICcnKSB7DQotICAgICAgICByZW1vdmUgKG4gLSAxLCB0KTsNCi0gICAgICAgIG4gPSBuIC0gMTsNCi0gICAgfQ0KLSAgICBpID0gMDsNCi0gICAgd2hpbGUgKGkgPCBuKSB7DQotICAgICAgICBvID0gW107DQotICAgICAgICBpZiAodFtpXSA9PSAnRScpIHsNCi0gICAgICAgICAgICBvLnR5cGUgPSB0W2ldOw0KLSAgICAgICAgICAgIG8uYy54ID0gc3RvbiAodFtpICsgMV0pOw0KLSAgICAgICAgICAgIG8uYy55ID0gc3RvbiAodFtpICsgMl0pOw0KLSAgICAgICAgICAgIG8ucy54ID0gc3RvbiAodFtpICsgM10pOw0KLSAgICAgICAgICAgIG8ucy55ID0gc3RvbiAodFtpICsgNF0pOw0KLSAgICAgICAgICAgIGkgPSBpICsgNTsNCi0gICAgICAgIH0gZWxzZSBpZiAodFtpXSA9PSAnZScpIHsNCi0gICAgICAgICAgICBvLnR5cGUgPSB0W2ldOw0KLSAgICAgICAgICAgIG8uYy54ID0gc3RvbiAodFtpICsgMV0pOw0KLSAgICAgICAgICAgIG8uYy55ID0gc3RvbiAodFtpICsgMl0pOw0KLSAgICAgICAgICAgIG8ucy54ID0gc3RvbiAodFtpICsgM10pOw0KLSAgICAgICAgICAgIG8ucy55ID0gc3RvbiAodFtpICsgNF0pOw0KLSAgICAgICAgICAgIGkgPSBpICsgNTsNCi0gICAgICAgIH0gZWxzZSBpZiAodFtpXSA9PSAnUCcpIHsNCi0gICAgICAgICAgICBvLnR5cGUgPSB0W2ldOw0KLSAgICAgICAgICAgIG8ubiA9IHN0b24gKHRbaSArIDFdKTsNCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgby5uOyBqID0gaiArIDEpIHsNCi0gICAgICAgICAgICAgICAgby5wc1tqXS54ID0gc3RvbiAodFtpICsgMiArIGogKiAyXSk7DQotICAgICAgICAgICAgICAgIG8ucHNbal0ueSA9IHN0b24gKHRbaSArIDIgKyBqICogMiArIDFdKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgaSA9IGkgKyAyICsgby5uICogMjsNCi0gICAgICAgICAgICBvLnBzW28ubl0gPSBvLnBzWzBdOw0KLSAgICAgICAgICAgIG8ubiA9IG8ubiArIDE7DQotICAgICAgICB9IGVsc2UgaWYgKHRbaV0gPT0gJ3AnKSB7DQotICAgICAgICAgICAgby50eXBlID0gdFtpXTsNCi0gICAgICAgICAgICBvLm4gPSBzdG9uICh0W2kgKyAxXSk7DQotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG8ubjsgaiA9IGogKyAxKSB7DQotICAgICAgICAgICAgICAgIG8ucHNbal0ueCA9IHN0b24gKHRbaSArIDIgKyBqICogMl0pOw0KLSAgICAgICAgICAgICAgICBvLnBzW2pdLnkgPSBzdG9uICh0W2kgKyAyICsgaiAqIDIgKyAxXSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGkgPSBpICsgMiArIG8ubiAqIDI7DQotICAgICAgICAgICAgby5wc1tvLm5dID0gby5wc1swXTsNCi0gICAgICAgICAgICBvLm4gPSBvLm4gKyAxOw0KLSAgICAgICAgfSBlbHNlIGlmICh0W2ldID09ICdMJykgew0KLSAgICAgICAgICAgIG8udHlwZSA9IHRbaV07DQotICAgICAgICAgICAgby5uID0gc3RvbiAodFtpICsgMV0pOw0KLSAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBvLm47IGogPSBqICsgMSkgew0KLSAgICAgICAgICAgICAgICBvLnBzW2pdLnggPSBzdG9uICh0W2kgKyAyICsgaiAqIDJdKTsNCi0gICAgICAgICAgICAgICAgby5wc1tqXS55ID0gc3RvbiAodFtpICsgMiArIGogKiAyICsgMV0pOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICBpID0gaSArIDIgKyBvLm4gKiAyOw0KLSAgICAgICAgICAgIGlmICh+ZXApDQotICAgICAgICAgICAgICAgIGVwID0gY29weSAoby5wc1sxXSk7DQotICAgICAgICB9IGVsc2UgaWYgKHRbaV0gPT0gJ0InKSB7DQotICAgICAgICAgICAgby50eXBlID0gdFtpXTsNCi0gICAgICAgICAgICBvLm4gPSBzdG9uICh0W2kgKyAxXSk7DQotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG8ubjsgaiA9IGogKyAxKSB7DQotICAgICAgICAgICAgICAgIG8ucHNbal0ueCA9IHN0b24gKHRbaSArIDIgKyBqICogMl0pOw0KLSAgICAgICAgICAgICAgICBvLnBzW2pdLnkgPSBzdG9uICh0W2kgKyAyICsgaiAqIDIgKyAxXSk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGkgPSBpICsgMiArIG8ubiAqIDI7DQotICAgICAgICAgICAgaWYgKH5lcCkNCi0gICAgICAgICAgICAgICAgZXAgPSBjb3B5IChvLnBzWzFdKTsNCi0gICAgICAgIH0gZWxzZSBpZiAodFtpXSA9PSAnYicpIHsNCi0gICAgICAgICAgICBvLnR5cGUgPSB0W2ldOw0KLSAgICAgICAgICAgIG8ubiA9IHN0b24gKHRbaSArIDFdKTsNCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgby5uOyBqID0gaiArIDEpIHsNCi0gICAgICAgICAgICAgICAgby5wc1tqXS54ID0gc3RvbiAodFtpICsgMiArIGogKiAyXSk7DQotICAgICAgICAgICAgICAgIG8ucHNbal0ueSA9IHN0b24gKHRbaSArIDIgKyBqICogMiArIDFdKTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgaSA9IGkgKyAyICsgby5uICogMjsNCi0gICAgICAgICAgICBpZiAofmVwKQ0KLSAgICAgICAgICAgICAgICBlcCA9IGNvcHkgKG8ucHNbMV0pOw0KLSAgICAgICAgfSBlbHNlIGlmICh0W2ldID09ICdUJykgew0KLSAgICAgICAgICAgIG8udHlwZSA9IHRbaV07DQotICAgICAgICAgICAgby5wLnggPSBzdG9uICh0W2kgKyAxXSk7DQotICAgICAgICAgICAgby5wLnkgPSBzdG9uICh0W2kgKyAyXSk7DQotICAgICAgICAgICAgby5qID0gc3RvbiAodFtpICsgM10pOw0KLSAgICAgICAgICAgIGlmIChvLmogPT0gLTEpDQotICAgICAgICAgICAgICAgIG8uaiA9ICdsYic7DQotICAgICAgICAgICAgZWxzZSBpZiAoby5qID09IDEpDQotICAgICAgICAgICAgICAgIG8uaiA9ICdyYic7DQotICAgICAgICAgICAgZWxzZSBpZiAoby5qID09IDApDQotICAgICAgICAgICAgICAgIG8uaiA9ICdjYic7DQotICAgICAgICAgICAgby53ID0gc3RvbiAodFtpICsgNF0pOw0KLSAgICAgICAgICAgIG8ubiA9IHN0b24gKHRbaSArIDVdKTsNCi0gICAgICAgICAgICBpID0gaSArIDY7DQotICAgICAgICAgICAgcyA9IHRbaV07DQotICAgICAgICAgICAgaSA9IGkgKyAxOw0KLSAgICAgICAgICAgIGwgPSBzdHJsZW4gKHMpIC0gMTsNCi0gICAgICAgICAgICB3aGlsZSAobCA8IG8ubikgew0KLSAgICAgICAgICAgICAgICBzID0gY29uY2F0IChzLCAnICcsIHRbaV0pOw0KLSAgICAgICAgICAgICAgICBsID0gbCArIDEgKyBzdHJsZW4gKHRbaV0pOw0KLSAgICAgICAgICAgICAgICBpID0gaSArIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHR0ID0gc3BsaXQgKHMsICcnKTsNCi0gICAgICAgICAgICBsID0gdGFibGVzaXplICh0dCk7DQotICAgICAgICAgICAgcyA9ICcnOw0KLSAgICAgICAgICAgIGZvciAoaiA9IDE7IGogPCBsOyBqID0gaiArIDEpDQotICAgICAgICAgICAgICAgIHMgPSBjb25jYXQgKHMsIHR0W2pdKTsNCi0gICAgICAgICAgICBvLnMgPSBzOw0KLSAgICAgICAgfSBlbHNlIGlmICh0W2ldID09ICdDJykgew0KLSAgICAgICAgICAgIG8udHlwZSA9IHRbaV07DQotICAgICAgICAgICAgby5uID0gc3RvbiAodFtpICsgMV0pOw0KLSAgICAgICAgICAgIGkgPSBpICsgMjsNCi0gICAgICAgICAgICBzID0gdFtpXTsNCi0gICAgICAgICAgICBpID0gaSArIDE7DQotICAgICAgICAgICAgbCA9IHN0cmxlbiAocykgLSAxOw0KLSAgICAgICAgICAgIHdoaWxlIChsIDwgby5uKSB7DQotICAgICAgICAgICAgICAgIHMgPSBjb25jYXQgKHMsICcgJywgdFtpXSk7DQotICAgICAgICAgICAgICAgIGwgPSBsICsgMSArIHN0cmxlbiAodFtpXSk7DQotICAgICAgICAgICAgICAgIGkgPSBpICsgMTsNCi0gICAgICAgICAgICB9DQotICAgICAgICAgICAgdHQgPSBzcGxpdCAocywgJycpOw0KLSAgICAgICAgICAgIGwgPSB0YWJsZXNpemUgKHR0KTsNCi0gICAgICAgICAgICBzID0gJyc7DQotICAgICAgICAgICAgZm9yIChqID0gMTsgaiA8IGw7IGogPSBqICsgMSkNCi0gICAgICAgICAgICAgICAgcyA9IGNvbmNhdCAocywgdHRbal0pOw0KLSAgICAgICAgICAgIG8uZmlsbGNvbG9yID0gZ3QuZ2V0Y29sb3IgKGd0LnZpZXdzLCBzKTsNCi0gICAgICAgIH0gZWxzZSBpZiAodFtpXSA9PSAnYycpIHsNCi0gICAgICAgICAgICBvLnR5cGUgPSB0W2ldOw0KLSAgICAgICAgICAgIG8ubiA9IHN0b24gKHRbaSArIDFdKTsNCi0gICAgICAgICAgICBpID0gaSArIDI7DQotICAgICAgICAgICAgcyA9IHRbaV07DQotICAgICAgICAgICAgaSA9IGkgKyAxOw0KLSAgICAgICAgICAgIGwgPSBzdHJsZW4gKHMpIC0gMTsNCi0gICAgICAgICAgICB3aGlsZSAobCA8IG8ubikgew0KLSAgICAgICAgICAgICAgICBzID0gY29uY2F0IChzLCAnICcsIHRbaV0pOw0KLSAgICAgICAgICAgICAgICBsID0gbCArIDEgKyBzdHJsZW4gKHRbaV0pOw0KLSAgICAgICAgICAgICAgICBpID0gaSArIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHR0ID0gc3BsaXQgKHMsICcnKTsNCi0gICAgICAgICAgICBsID0gdGFibGVzaXplICh0dCk7DQotICAgICAgICAgICAgcyA9ICcnOw0KLSAgICAgICAgICAgIGZvciAoaiA9IDE7IGogPCBsOyBqID0gaiArIDEpDQotICAgICAgICAgICAgICAgIHMgPSBjb25jYXQgKHMsIHR0W2pdKTsNCi0gICAgICAgICAgICBvLmRyYXdjb2xvciA9IGd0LmdldGNvbG9yIChndC52aWV3cywgcyk7DQotICAgICAgICB9IGVsc2UgaWYgKHRbaV0gPT0gJ0YnKSB7DQotICAgICAgICAgICAgby50eXBlID0gdFtpXTsNCi0gICAgICAgICAgICBvLmZzID0gc3RvbiAodFtpICsgMV0pOw0KLSAgICAgICAgICAgIG8ubiA9IHN0b24gKHRbaSArIDJdKTsNCi0gICAgICAgICAgICBpID0gaSArIDM7DQotICAgICAgICAgICAgcyA9IHRbaV07DQotICAgICAgICAgICAgaSA9IGkgKyAxOw0KLSAgICAgICAgICAgIGwgPSBzdHJsZW4gKHMpIC0gMTsNCi0gICAgICAgICAgICB3aGlsZSAobCA8IG8ubikgew0KLSAgICAgICAgICAgICAgICBzID0gY29uY2F0IChzLCAnICcsIHRbaV0pOw0KLSAgICAgICAgICAgICAgICBsID0gbCArIDEgKyBzdHJsZW4gKHRbaV0pOw0KLSAgICAgICAgICAgICAgICBpID0gaSArIDE7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIHR0ID0gc3BsaXQgKHMsICcnKTsNCi0gICAgICAgICAgICBsID0gdGFibGVzaXplICh0dCk7DQotICAgICAgICAgICAgcyA9ICcnOw0KLSAgICAgICAgICAgIGZvciAoaiA9IDE7IGogPCBsOyBqID0gaiArIDEpDQotICAgICAgICAgICAgICAgIHMgPSBjb25jYXQgKHMsIHR0W2pdKTsNCi0gICAgICAgICAgICBvLm9mbiA9IHM7DQotICAgICAgICAgICAgby5mbiA9IGRvdHR5LmZvbnRtYXBbc107DQotICAgICAgICB9IGVsc2UgaWYgKHRbaV0gPT0gJ1MnKSB7DQotICAgICAgICAgICAgby50eXBlID0gdFtpXTsNCi0gICAgICAgICAgICBvLm4gPSBzdG9uICh0W2kgKyAxXSk7DQotICAgICAgICAgICAgaSA9IGkgKyAyOw0KLSAgICAgICAgICAgIHMgPSB0W2ldOw0KLSAgICAgICAgICAgIGkgPSBpICsgMTsNCi0gICAgICAgICAgICBsID0gc3RybGVuIChzKSAtIDE7DQotICAgICAgICAgICAgd2hpbGUgKGwgPCBvLm4pIHsNCi0gICAgICAgICAgICAgICAgcyA9IGNvbmNhdCAocywgJyAnLCB0W2ldKTsNCi0gICAgICAgICAgICAgICAgbCA9IGwgKyAxICsgc3RybGVuICh0W2ldKTsNCi0gICAgICAgICAgICAgICAgaSA9IGkgKyAxOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgICAgICB0dCA9IHNwbGl0IChzLCAnJyk7DQotICAgICAgICAgICAgbCA9IHRhYmxlc2l6ZSAodHQpOw0KLSAgICAgICAgICAgIHMgPSAnJzsNCi0gICAgICAgICAgICBmb3IgKGogPSAxOyBqIDwgbDsgaiA9IGogKyAxKQ0KLSAgICAgICAgICAgICAgICBzID0gY29uY2F0IChzLCB0dFtqXSk7DQotICAgICAgICAgICAgaWYgKA0KLSAgICAgICAgICAgICAgICBzID09ICdzb2xpZCcgfCBzID09ICdkYXNoZWQnIHwgcyA9PSAnZG90dGVkJyB8DQotICAgICAgICAgICAgICAgIHMgPT0gJ2xvbmdkYXNoZWQnIHwgcyA9PSAnc2hvcnRkYXNoZWQnDQotICAgICAgICAgICAgKQ0KLSAgICAgICAgICAgICAgICBvLnN0eWxlID0gczsNCi0gICAgICAgICAgICBlbHNlIGlmIChzID09ICdib2xkJykNCi0gICAgICAgICAgICAgICAgby53aWR0aCA9IDM7DQotICAgICAgICAgICAgZWxzZSB7DQotICAgICAgICAgICAgICAgIHR0ID0gc3BsaXQgKHMsICcoJyk7DQotICAgICAgICAgICAgICAgIGlmICh0dFswXSA9PSAnc2V0bGluZXdpZHRoJykgew0KLSAgICAgICAgICAgICAgICAgICAgdHQgPSBzcGxpdCAodHRbMV0sICcpJyk7DQotICAgICAgICAgICAgICAgICAgICBvLndpZHRoID0gc3RvbiAodHRbMF0pOw0KLSAgICAgICAgICAgICAgICB9IGVsc2UNCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH0gZWxzZSBpZiAodFtpXSA9PSAnSScpIHsNCi0gICAgICAgICAgICBpID0gaSArIDc7DQotICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgIGRvdHR5Lm1lc3NhZ2UgKDAsIGNvbmNhdCAoJ2RyYXcgbGFuZ3VhZ2UgcGFyc2VyIGVycm9yOiAnLCB0W2ldKSk7DQotICAgICAgICAgICAgcmV0dXJuIG51bGw7DQotICAgICAgICB9DQotICAgICAgICBvb1t0YWJsZXNpemUgKG9vKV0gPSBvOw0KLSAgICB9DQotICAgIG9vLmVwID0gZXA7DQotICAgIHJldHVybiBvbzsNCi19Ow0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2RvdHR5X3VpLmxlZnR5IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZG90dHlfdWkubGVmdHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU2YTBkMjQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZG90dHlfdWkubGVmdHkKKysrIC9kZXYvbnVsbApAQCAtMSw0NjggKzAsMCBAQAotIw0KLSMgZG90dHlfdWk6IHVzZXIgaW50ZXJmYWNlIGZ1bmN0aW9ucyBhbmQgZGF0YSBzdHJ1Y3R1cmVzDQotIw0KLWRvdHR5LnByb3RvZ3QuZG9hY3Rpb24gPSBmdW5jdGlvbiAoZGF0YSwgcykgew0KLSAgICBsb2NhbCB2dCwgZ3Q7DQotDQotICAgIHZ0ID0gZG90dHkudmlld3NbZGF0YS53aWRnZXRdOw0KLSAgICBndCA9IGRvdHR5LmdyYXBoc1t2dC5ndGlkXTsNCi0gICAgZGF0YS5tZW51aXRlbSA9IHM7DQotICAgIGlmIChkYXRhLm9iai5uaWQgPj0gMCkgew0KLSAgICAgICAgaWYgKGd0LmFjdGlvbnMubm9kZVtzXSkgew0KLSAgICAgICAgICAgIGd0LmFjdGlvbnMubm9kZVtzXSAoZ3QsIHZ0LCBkYXRhLm9iaiwgZGF0YSk7DQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgfQ0KLSAgICB9IGVsc2UgaWYgKGRhdGEub2JqLmVpZCA+PSAwKSB7DQotICAgICAgICBpZiAoZ3QuYWN0aW9ucy5lZGdlW3NdKSB7DQotICAgICAgICAgICAgZ3QuYWN0aW9ucy5lZGdlW3NdIChndCwgdnQsIGRhdGEub2JqLCBkYXRhKTsNCi0gICAgICAgICAgICByZXR1cm47DQotICAgICAgICB9DQotICAgIH0NCi0gICAgaWYgKGd0LmFjdGlvbnMuZ2VuZXJhbFtzXSkNCi0gICAgICAgIGd0LmFjdGlvbnMuZ2VuZXJhbFtzXSAoZ3QsIHZ0LCBkYXRhKTsNCi19Ow0KLWRvdHR5LnByb3RvZ3QuYWN0aW9ucy5nZW5lcmFsID0gWw0KLSAgICAidW5kbyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC51bmRvIChndCwgMSk7DQotICAgIH07DQotICAgICJwYXN0ZSIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5wYXN0ZSAoZ3QsIGRhdGEucG9zLCAxKTsNCi0gICAgfTsNCi0gICAgImRvIGxheW91dCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5sYXlvdXRncmFwaCAoZ3QpOw0KLSAgICB9Ow0KLSAgICAiY2FuY2VsIGxheW91dCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5jYW5jZWxsYXlvdXQgKGd0KTsNCi0gICAgfTsNCi0gICAgInJlZHJhdyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5yZWRyYXdncmFwaCAoZ3QsIFt2dC52dGlkID0gdnQ7XSk7DQotICAgIH07DQotICAgICJuZXcgZ3JhcGgiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3QuZXJhc2VncmFwaCAoZ3QsIG51bGwsIG51bGwpOw0KLSAgICB9Ow0KLSAgICAibG9hZCBncmFwaCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5sb2FkZ3JhcGggKGd0LCBudWxsLCAnZmlsZScsIGRvdHR5LnByb3RvZ3QuZ3JhcGgsIDEpOw0KLSAgICB9Ow0KLSAgICAicmVsb2FkIGdyYXBoIiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0LmxvYWRncmFwaCAoZ3QsIGd0Lm5hbWUsIGd0LnR5cGUsIGd0LmdyYXBoLCAxKTsNCi0gICAgfTsNCi0gICAgInNhdmUgZ3JhcGgiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3Quc2F2ZWdyYXBoIChndCwgZ3QubmFtZSwgZ3QudHlwZSk7DQotICAgIH07DQotICAgICJzYXZlIGdyYXBoIGFzIiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0LnNhdmVncmFwaCAoZ3QsIG51bGwsICdmaWxlJyk7DQotICAgIH07DQotICAgICJvcGVuIHZpZXciID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3QgPSBkb3R0eS5wcm90b2d0LmNyZWF0ZWdyYXBoIChudWxsKTsNCi0gICAgICAgIGd0LmNyZWF0ZXZpZXcgKGd0LCBudWxsKTsNCi0gICAgfTsNCi0gICAgImNvcHkgdmlldyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndCA9IGd0LmNvcHlncmFwaCAoZ3QpOw0KLSAgICAgICAgZ3QuY3JlYXRldmlldyAoZ3QsIHZ0KTsNCi0gICAgfTsNCi0gICAgImJpcmRzZXllIHZpZXciID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3QuY3JlYXRldmlldyAoZ3QsIGRvdHR5LnByb3RvdnQuYmlyZHNleWUpOw0KLSAgICB9Ow0KLSAgICAiY2xvbmUgdmlldyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5jcmVhdGV2aWV3IChndCwgdnQpOw0KLSAgICB9Ow0KLSAgICAiY2xvc2UgdmlldyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5kZXN0cm95dmlldyAoZ3QsIHZ0KTsNCi0gICAgICAgIGlmICh0YWJsZXNpemUgKGd0LnZpZXdzKSA9PSAwKQ0KLSAgICAgICAgICAgIGd0LmRlc3Ryb3lncmFwaCAoZ3QpOw0KLSAgICB9Ow0KLSAgICAic2V0IGdyYXBoIGF0dHIiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3Quc2V0YXR0ciAoZ3QsIFsnYXR0cicgPSBndC5ncmFwaC5ncmFwaGF0dHI7XSk7DQotICAgIH07DQotICAgICJzZXQgbm9kZSBhdHRyIiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0LnNldGF0dHIgKGd0LCBbJ2F0dHInID0gZ3QuZ3JhcGgubm9kZWF0dHI7XSk7DQotICAgIH07DQotICAgICJzZXQgZWRnZSBhdHRyIiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0LnNldGF0dHIgKGd0LCBbJ2F0dHInID0gZ3QuZ3JhcGguZWRnZWF0dHI7XSk7DQotICAgIH07DQotICAgICJ6b29tIGluIiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0Lnpvb20gKGd0LCB2dCwgMC41LCBkYXRhLnBvcyk7DQotICAgIH07DQotICAgICJ6b29tIG91dCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC56b29tIChndCwgdnQsIDIsIGRhdGEucG9zKTsNCi0gICAgfTsNCi0gICAgInpvb20gaW4gc2xvd2x5IiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIGd0Lnpvb20gKGd0LCB2dCwgMC45LCBkYXRhLnBvcyk7DQotICAgIH07DQotICAgICJ6b29tIG91dCBzbG93bHkiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3Quem9vbSAoZ3QsIHZ0LCAxLjEsIGRhdGEucG9zKTsNCi0gICAgfTsNCi0gICAgInNjcm9sbCBob3Jpem9udGFsbHkiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgdnQuc2Nyb2xsbW9kZSA9ICdoJzsNCi0gICAgfTsNCi0gICAgInNjcm9sbCB2ZXJ0aWNhbGx5IiA9IGZ1bmN0aW9uIChndCwgdnQsIGRhdGEpIHsNCi0gICAgICAgIHZ0LnNjcm9sbG1vZGUgPSAndic7DQotICAgIH07DQotICAgICJmaW5kIG5vZGUiID0gZnVuY3Rpb24gKGd0LCB2dCwgZGF0YSkgew0KLSAgICAgICAgZ3QuZmluZG5vZGUgKGd0LCB2dCk7DQotICAgIH07DQotICAgICJwcmludCBncmFwaCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBndC5wcmludG9yc2F2ZSAoZ3QsIHZ0LCBudWxsLCBudWxsLCBudWxsLCBudWxsKTsNCi0gICAgfTsNCi0gICAgInRleHQgdmlldyIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBpZiAoZG90dHkudHh0dmlldyA9PSAnb24nKQ0KLSAgICAgICAgICAgIGRvdHR5LnR4dHZpZXcgPSAnb2ZmJzsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBkb3R0eS50eHR2aWV3ID0gJ29uJzsNCi0gICAgICAgIHR4dHZpZXcgKGRvdHR5LnR4dHZpZXcpOw0KLSAgICB9Ow0KLSAgICAicXVpdCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBkYXRhKSB7DQotICAgICAgICBleGl0ICgpOw0KLSAgICB9Ow0KLV07DQotZG90dHkucHJvdG9ndC5hY3Rpb25zLm5vZGUgPSBbDQotICAgICJjdXQiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBndC5jdXQgKGd0LCBvYmosICdvbmUnLCAnc3VwcG9ydCcsICdjdXQnKTsNCi0gICAgICAgIGRvdHR5LmNsaXBndC5sYXlvdXRncmFwaCAoZG90dHkuY2xpcGd0KTsNCi0gICAgfTsNCi0gICAgIkN1dCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBvYmosIGRhdGEpIHsNCi0gICAgICAgIGd0LmN1dCAoZ3QsIG9iaiwgJ3JlYWNoYWJsZScsICdzdXBwb3J0JywgJ2N1dCcpOw0KLSAgICAgICAgZG90dHkuY2xpcGd0LmxheW91dGdyYXBoIChkb3R0eS5jbGlwZ3QpOw0KLSAgICB9Ow0KLSAgICAiY29weSIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBvYmosIGRhdGEpIHsNCi0gICAgICAgIGd0LmN1dCAoZ3QsIG9iaiwgJ29uZScsICdzdXBwb3J0JywgJ2NvcHknKTsNCi0gICAgICAgIGRvdHR5LmNsaXBndC5sYXlvdXRncmFwaCAoZG90dHkuY2xpcGd0KTsNCi0gICAgfTsNCi0gICAgIkNvcHkiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBndC5jdXQgKGd0LCBvYmosICdyZWFjaGFibGUnLCAnc3VwcG9ydCcsICdjb3B5Jyk7DQotICAgICAgICBkb3R0eS5jbGlwZ3QubGF5b3V0Z3JhcGggKGRvdHR5LmNsaXBndCk7DQotICAgIH07DQotICAgICJncm91cCIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBvYmosIGRhdGEpIHsNCi0gICAgICAgIGxvY2FsIGt2Ow0KLQ0KLSAgICAgICAgaWYgKChrdiA9IGd0LmdldGF0dHIgKGd0LCBvYmopKSkNCi0gICAgICAgICAgICBndC5ncm91cG5vZGVzYnlhdHRyIChndCwga3Yua2V5LCBrdi52YWwsIFsNCi0gICAgICAgICAgICAgICAgJ2xhYmVsJyA9IGt2LnZhbDsga3Yua2V5ID0ga3YudmFsOw0KLSAgICAgICAgICAgIF0sIDEsIDEpOw0KLSAgICB9Ow0KLSAgICAiR3JvdXAiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBsb2NhbCBrdjsNCi0NCi0gICAgICAgIGlmICgoa3YgPSBndC5nZXRhdHRyIChndCwgb2JqKSkpDQotICAgICAgICAgICAgZ3QuZ3JvdXBub2Rlc2J5YXR0ciAoZ3QsIGt2LmtleSwga3YudmFsLCBbDQotICAgICAgICAgICAgICAgICdsYWJlbCcgPSBrdi52YWw7IGt2LmtleSA9IGt2LnZhbDsNCi0gICAgICAgICAgICBdLCAwLCAxKTsNCi0gICAgfTsNCi0gICAgImRlbGV0ZSIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBvYmosIGRhdGEpIHsNCi0gICAgICAgIGlmIChvYmouZWlkID49IDApDQotICAgICAgICAgICAgZ3QucmVtb3ZlZWRnZSAoZ3QsIG9iaik7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgZ3QucmVtb3Zlbm9kZSAoZ3QsIG9iaik7DQotICAgIH07DQotICAgICJEZWxldGUiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBndC5yZW1vdmVzdWJ0cmVlIChndCwgb2JqKTsNCi0gICAgfTsNCi0gICAgInJlbW92ZSIgPSBmdW5jdGlvbiAoZ3QsIHZ0LCBvYmosIGRhdGEpIHsNCi0gICAgICAgIGlmIChvYmoubmlkID49IDApDQotICAgICAgICAgICAgaWYgKChrdiA9IGd0LmdldGF0dHIgKGd0LCBvYmopKSkNCi0gICAgICAgICAgICAgICAgZ3QucmVtb3Zlbm9kZXNieWF0dHIgKGd0LCBrdi5rZXksIGt2LnZhbCk7DQotICAgIH07DQotICAgICJSZW1vdmUiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBpZiAob2JqLm5pZCA+PSAwKQ0KLSAgICAgICAgICAgIGlmICgoa3YgPSBndC5nZXRhdHRyIChndCwgb2JqKSkpDQotICAgICAgICAgICAgICAgIGd0LnJlbW92ZXN1YnRyZWVzYnlhdHRyIChndCwga3Yua2V5LCBrdi52YWwpOw0KLSAgICB9Ow0KLSAgICAic2V0IGF0dHIiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBndC5zZXRhdHRyIChndCwgb2JqKTsNCi0gICAgfTsNCi0gICAgInByaW50IGF0dHIiID0gZnVuY3Rpb24gKGd0LCB2dCwgb2JqLCBkYXRhKSB7DQotICAgICAgICBpZiAob2JqLm5pZCA+PSAwKQ0KLSAgICAgICAgICAgIGVjaG8gKCdub2RlOiAnLCBvYmoubmFtZSk7DQotICAgICAgICBkdW1wIChvYmouYXR0cik7DQotICAgIH07DQotXTsNCi1kb3R0eS5wcm90b2d0LmFjdGlvbnMuZWRnZSA9IGRvdHR5LnByb3RvZ3QuYWN0aW9ucy5ub2RlOw0KLWRvdHR5LnByb3RvdnQubm9ybWFsLm1lbnVzID0gWw0KLSAgICAnZ2VuZXJhbCcgPSBbDQotICAgICAgICAwID0gInVuZG8iOw0KLSAgICAgICAgMSA9ICJwYXN0ZSI7DQotICAgICAgICAyID0gImRvIGxheW91dCI7DQotICAgICAgICAzID0gImNhbmNlbCBsYXlvdXQiOw0KLSAgICAgICAgNCA9ICJyZWRyYXciOw0KLSAgICAgICAgNSA9ICJuZXcgZ3JhcGgiOw0KLSAgICAgICAgNiA9ICJsb2FkIGdyYXBoIjsNCi0gICAgICAgIDcgPSAicmVsb2FkIGdyYXBoIjsNCi0gICAgICAgIDggPSAic2F2ZSBncmFwaCI7DQotICAgICAgICA5ID0gInNhdmUgZ3JhcGggYXMiOw0KLSAgICAgICAgMTAgPSAib3BlbiB2aWV3IjsNCi0gICAgICAgIDExID0gImNvcHkgdmlldyI7DQotICAgICAgICAxMiA9ICJjbG9uZSB2aWV3IjsNCi0gICAgICAgIDEzID0gImJpcmRzZXllIHZpZXciOw0KLSAgICAgICAgMTQgPSAiY2xvc2UgdmlldyI7DQotICAgICAgICAxNSA9ICJzZXQgZ3JhcGggYXR0ciI7DQotICAgICAgICAxNiA9ICJzZXQgbm9kZSBhdHRyIjsNCi0gICAgICAgIDE3ID0gInNldCBlZGdlIGF0dHIiOw0KLSAgICAgICAgMTggPSAiem9vbSBpbiI7DQotICAgICAgICAxOSA9ICJ6b29tIG91dCI7DQotICAgICAgICAyMCA9ICJmaW5kIG5vZGUiOw0KLSAgICAgICAgMjEgPSAicHJpbnQgZ3JhcGgiOw0KLSAgICAgICAgMjIgPSAidGV4dCB2aWV3IjsNCi0gICAgICAgIDIzID0gInF1aXQiOw0KLSAgICBdOw0KLSAgICAnbm9kZScgPSBbDQotICAgICAgICAwID0gImN1dCI7DQotICAgICAgICAxID0gIkN1dCI7DQotICAgICAgICAyID0gImNvcHkiOw0KLSAgICAgICAgMyA9ICJDb3B5IjsNCi0gICAgICAgIDQgPSAiZ3JvdXAiOw0KLSAgICAgICAgNSA9ICJHcm91cCI7DQotICAgICAgICA2ID0gImRlbGV0ZSI7DQotICAgICAgICA3ID0gIkRlbGV0ZSI7DQotICAgICAgICA4ID0gInJlbW92ZSI7DQotICAgICAgICA5ID0gIlJlbW92ZSI7DQotICAgICAgICAxMCA9ICJzZXQgYXR0ciI7DQotICAgICAgICAxMSA9ICJwcmludCBhdHRyIjsNCi0gICAgXTsNCi0gICAgJ2VkZ2UnID0gWw0KLSAgICAgICAgMCA9ICJjdXQiOw0KLSAgICAgICAgMSA9ICJDdXQiOw0KLSAgICAgICAgMiA9ICJjb3B5IjsNCi0gICAgICAgIDMgPSAiQ29weSI7DQotICAgICAgICA0ID0gImRlbGV0ZSI7DQotICAgICAgICA1ID0gIkRlbGV0ZSI7DQotICAgICAgICA2ID0gInNldCBhdHRyIjsNCi0gICAgICAgIDcgPSAicHJpbnQgYXR0ciI7DQotICAgIF07DQotXTsNCi1kb3R0eS5wcm90b3Z0Lm5vcm1hbC5rZXlzID0gWw0KLSAgICAnZ2VuZXJhbCcgPSBbDQotICAgICAgICAndScgPSAidW5kbyI7DQotICAgICAgICAncCcgPSAicGFzdGUiOw0KLSAgICAgICAgJ2wnID0gImRvIGxheW91dCI7DQotICAgICAgICAnaycgPSAiY2FuY2VsIGxheW91dCI7DQotICAgICAgICAnICcgPSAicmVkcmF3IjsNCi0gICAgICAgICdMJyA9ICJyZWxvYWQgZ3JhcGgiOw0KLSAgICAgICAgJ3MnID0gInNhdmUgZ3JhcGgiOw0KLSAgICAgICAgJ1onID0gInpvb20gaW4gc2xvd2x5IjsNCi0gICAgICAgICd6JyA9ICJ6b29tIG91dCBzbG93bHkiOw0KLSAgICAgICAgJ2gnID0gInNjcm9sbCBob3Jpem9udGFsbHkiOw0KLSAgICAgICAgJ3YnID0gInNjcm9sbCB2ZXJ0aWNhbGx5IjsNCi0gICAgXTsNCi0gICAgJ25vZGUnID0gWw0KLSAgICAgICAgJ2MnID0gImNvcHkiOw0KLSAgICAgICAgJ0MnID0gIkNvcHkiOw0KLSAgICAgICAgJ2cnID0gImdyb3VwIjsNCi0gICAgICAgICdHJyA9ICJHcm91cCI7DQotICAgICAgICAnZCcgPSAiZGVsZXRlIjsNCi0gICAgICAgICdEJyA9ICJEZWxldGUiOw0KLSAgICAgICAgJ3InID0gInJlbW92ZSI7DQotICAgICAgICAnUicgPSAiUmVtb3ZlIjsNCi0gICAgICAgICdhJyA9ICJzZXQgYXR0ciI7DQotICAgIF07DQotICAgICdlZGdlJyA9IFsNCi0gICAgICAgICdjJyA9ICJjb3B5IjsNCi0gICAgICAgICdDJyA9ICJDb3B5IjsNCi0gICAgICAgICdkJyA9ICJkZWxldGUiOw0KLSAgICAgICAgJ0QnID0gIkRlbGV0ZSI7DQotICAgICAgICAnYScgPSAic2V0IGF0dHIiOw0KLSAgICBdOw0KLV07DQotZG90dHkucHJvdG92dC5iaXJkc2V5ZS5tZW51cyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLm1lbnVzOw0KLWRvdHR5LnByb3RvdnQuYmlyZHNleWUua2V5cyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLmtleXM7DQotZG90dHkucHJvdG92dC5ub3JtYWwudWlmdW5jcyA9IFsNCi0gICAgJ2xlZnRkb3duJyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBsb2NhbCBndDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGlmIChkYXRhLm9iai5uaWQgPj0gMCkgew0KLSAgICAgICAgICAgIGRvdHR5Lm5vZGUybW92ZSA9IGRhdGEub2JqOw0KLSAgICAgICAgICAgIGRvdHR5Lm1vdmV3aWRnZXQgPSBkYXRhLndpZGdldDsNCi0gICAgICAgICAgICBkb3R0eS5ycDIgPSBkYXRhLnBvczsNCi0gICAgICAgIH0NCi0gICAgfTsNCi0gICAgJ2xlZnRtb3ZlJyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBsb2NhbCBndDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGlmIChkb3R0eS5ub2RlMm1vdmUgJiAoDQotICAgICAgICAgICAgZG90dHkucnAyLnggfj0gZGF0YS5wb3MueCB8IGRvdHR5LnJwMi55IH49IGRhdGEucG9zLnkNCi0gICAgICAgICkpIHsNCi0gICAgICAgICAgICBndC5tb3Zlbm9kZSAoZ3QsIGRvdHR5Lm5vZGUybW92ZSwgZGF0YS5wb3MpOw0KLSAgICAgICAgICAgIGRvdHR5LnJwMiA9IGRhdGEucG9zOw0KLSAgICAgICAgfQ0KLSAgICB9Ow0KLSAgICAnbGVmdHVwJyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBsb2NhbCBndDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGlmIChkb3R0eS5ub2RlMm1vdmUpIHsNCi0gICAgICAgICAgICBpZiAoZG90dHkubW92ZXdpZGdldCA9PSBkYXRhLndpZGdldCkNCi0gICAgICAgICAgICAgICAgZ3QubW92ZW5vZGUgKGd0LCBkb3R0eS5ub2RlMm1vdmUsIGRhdGEucG9zKTsNCi0gICAgICAgICAgICBkb3R0eS5ub2RlMm1vdmUgPSAwOw0KLSAgICAgICAgfSBlbHNlIGlmICh+ZGF0YS5vYmopDQotICAgICAgICAgICAgZ3QuaW5zZXJ0bm9kZSAoZ3QsIGRhdGEucG9zLCBudWxsLCBudWxsLCBudWxsLCAxKTsNCi0gICAgfTsNCi0gICAgJ21pZGRsZWRvd24nID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgICAgIGlmICh+KGRhdGEub2JqLm5pZCA+PSAwKSkNCi0gICAgICAgICAgICByZXR1cm47DQotICAgICAgICBkb3R0eS5ydWJiZXJiYW5kID0gMTsNCi0gICAgICAgIGRvdHR5Lm1vdmV3aWRnZXQgPSBkYXRhLndpZGdldDsNCi0gICAgICAgIHNldGdmeGF0dHIgKGRhdGEud2lkZ2V0LCBbJ21vZGUnID0gJ3hvcic7XSk7DQotICAgICAgICBkb3R0eS5ycDEgPSBkYXRhLnBvczsNCi0gICAgICAgIGRvdHR5LnJwMiA9IGRhdGEucG9zOw0KLSAgICAgICAgbGluZSAoZGF0YS53aWRnZXQsIG51bGwsIGRvdHR5LnJwMSwgZG90dHkucnAyLCBbJ2NvbG9yJyA9IDE7XSk7DQotICAgIH07DQotICAgICdtaWRkbGVtb3ZlJyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBpZiAoZG90dHkucnViYmVyYmFuZCB+PSAxIHwgKA0KLSAgICAgICAgICAgIGRvdHR5LnJwMi54ID09IGRhdGEucG9zLnggJiBkb3R0eS5ycDIueSA9PSBkYXRhLnBvcy55DQotICAgICAgICApKQ0KLSAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgIGxpbmUgKGRhdGEud2lkZ2V0LCBudWxsLCBkb3R0eS5ycDEsIGRvdHR5LnJwMiwgWydjb2xvcicgPSAxO10pOw0KLSAgICAgICAgZG90dHkucnAyID0gZGF0YS5wb3M7DQotICAgICAgICBsaW5lIChkYXRhLndpZGdldCwgbnVsbCwgZG90dHkucnAxLCBkb3R0eS5ycDIsIFsnY29sb3InID0gMTtdKTsNCi0gICAgfTsNCi0gICAgJ21pZGRsZXVwJyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBsb2NhbCBndDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGlmIChkb3R0eS5ydWJiZXJiYW5kIH49IDEpDQotICAgICAgICAgICAgcmV0dXJuOw0KLSAgICAgICAgZG90dHkucnViYmVyYmFuZCA9IDA7DQotICAgICAgICBsaW5lIChkb3R0eS5tb3Zld2lkZ2V0LCBudWxsLCBkb3R0eS5ycDEsIGRvdHR5LnJwMiwgWydjb2xvcicgPSAxO10pOw0KLSAgICAgICAgc2V0Z2Z4YXR0ciAoZG90dHkubW92ZXdpZGdldCwgWydtb2RlJyA9ICdzcmMnO10pOw0KLSAgICAgICAgaWYgKGRvdHR5Lm1vdmV3aWRnZXQgfj0gZGF0YS53aWRnZXQgfCB+KA0KLSAgICAgICAgICAgIGRhdGEucG9iai5uaWQgPj0gMCkgfCB+KGRhdGEub2JqLm5pZCA+PSAwDQotICAgICAgICApKQ0KLSAgICAgICAgICAgIHJldHVybjsNCi0gICAgICAgIGlmIChkYXRhLnBvYmouYXR0ci5zdXBwb3J0KQ0KLSAgICAgICAgICAgIGd0Lmdyb3Vwbm9kZXMgKGd0LCBbDQotICAgICAgICAgICAgICAgIGRhdGEub2JqLm5pZCA9IGRhdGEub2JqOw0KLSAgICAgICAgICAgICAgICBkYXRhLnBvYmoubmlkID0gZGF0YS5wb2JqOw0KLSAgICAgICAgICAgIF0sIGRhdGEub2JqLCBudWxsLCBudWxsLCBudWxsLCAxLCAxKTsNCi0gICAgICAgIGVsc2UgaWYgKGRhdGEub2JqLmF0dHIuc3VwcG9ydCkNCi0gICAgICAgICAgICBndC5ncm91cG5vZGVzIChndCwgWw0KLSAgICAgICAgICAgICAgICBkYXRhLm9iai5uaWQgPSBkYXRhLm9iajsNCi0gICAgICAgICAgICAgICAgZGF0YS5wb2JqLm5pZCA9IGRhdGEucG9iajsNCi0gICAgICAgICAgICBdLCBkYXRhLnBvYmosIG51bGwsIG51bGwsIG51bGwsIDEsIDEpOw0KLSAgICAgICAgZWxzZQ0KLSAgICAgICAgICAgIGd0Lmluc2VydGVkZ2UgKGd0LCBkYXRhLnBvYmosIG51bGwsIGRhdGEub2JqLCBudWxsLCBudWxsLCAxKTsNCi0gICAgfTsNCi0gICAgJ3JpZ2h0ZG93bicgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICAgICAgbG9jYWwgdnQsIGd0LCBtZW51LCBpOw0KLQ0KLSAgICAgICAgdnQgPSBkb3R0eS52aWV3c1tkYXRhLndpZGdldF07DQotICAgICAgICBndCA9IGRvdHR5LmdyYXBoc1t2dC5ndGlkXTsNCi0gICAgICAgIGlmICh+ZGF0YS5vYmopDQotICAgICAgICAgICAgbWVudSA9IHZ0Lm1lbnVzLmdlbmVyYWw7DQotICAgICAgICBlbHNlIGlmIChkYXRhLm9iai5uaWQgPj0gMCkNCi0gICAgICAgICAgICBtZW51ID0gdnQubWVudXMubm9kZTsNCi0gICAgICAgIGVsc2UgaWYgKGRhdGEub2JqLmVpZCA+PSAwKQ0KLSAgICAgICAgICAgIG1lbnUgPSB2dC5tZW51cy5lZGdlOw0KLSAgICAgICAgaWYgKChpID0gZGlzcGxheW1lbnUgKGRhdGEud2lkZ2V0LCBtZW51KSkgPj0gMCkNCi0gICAgICAgICAgICBndC5kb2FjdGlvbiAoZGF0YSwgbWVudVtpXSk7DQotICAgIH07DQotICAgICdidXR0b24zdXAnID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgICAgIGxvY2FsIHZ0LCBhdHRyOw0KLQ0KLSAgICAgICAgdnQgPSBkb3R0eS52aWV3c1tkYXRhLndpZGdldF07DQotICAgICAgICBhdHRyID0gZ2V0d2lkZ2V0YXR0ciAodnQuc2Nyb2xsLCBbMCA9ICdjaGlsZGNlbnRlcic7XSk7DQotICAgICAgICBpZiAodnQuc2Nyb2xsbW9kZSA9PSAnaCcpDQotICAgICAgICAgICAgYXR0ci5jaGlsZGNlbnRlci54ID0gYXR0ci5jaGlsZGNlbnRlci54IC0gNDA7DQotICAgICAgICBlbHNlDQotICAgICAgICAgICAgYXR0ci5jaGlsZGNlbnRlci55ID0gYXR0ci5jaGlsZGNlbnRlci55IC0gNDA7DQotICAgICAgICBzZXR3aWRnZXRhdHRyICh2dC5zY3JvbGwsIFsnY2hpbGRjZW50ZXInID0gYXR0ci5jaGlsZGNlbnRlcjtdKTsNCi0gICAgfTsNCi0gICAgJ2J1dHRvbjR1cCcgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICAgICAgbG9jYWwgdnQsIGF0dHI7DQotDQotICAgICAgICB2dCA9IGRvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XTsNCi0gICAgICAgIGF0dHIgPSBnZXR3aWRnZXRhdHRyICh2dC5zY3JvbGwsIFswID0gJ2NoaWxkY2VudGVyJztdKTsNCi0gICAgICAgIGlmICh2dC5zY3JvbGxtb2RlID09ICdoJykNCi0gICAgICAgICAgICBhdHRyLmNoaWxkY2VudGVyLnggPSBhdHRyLmNoaWxkY2VudGVyLnggKyA0MDsNCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICBhdHRyLmNoaWxkY2VudGVyLnkgPSBhdHRyLmNoaWxkY2VudGVyLnkgKyA0MDsNCi0gICAgICAgIHNldHdpZGdldGF0dHIgKHZ0LnNjcm9sbCwgWydjaGlsZGNlbnRlcicgPSBhdHRyLmNoaWxkY2VudGVyO10pOw0KLSAgICB9Ow0KLSAgICAna2V5dXAnID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgICAgIGxvY2FsIHZ0LCBndCwgYWN0aW9uOw0KLQ0KLSAgICAgICAgdnQgPSBkb3R0eS52aWV3c1tkYXRhLndpZGdldF07DQotICAgICAgICBndCA9IGRvdHR5LmdyYXBoc1t2dC5ndGlkXTsNCi0gICAgICAgIGlmIChkYXRhLm9iai5uaWQgPj0gMCkgew0KLSAgICAgICAgICAgIGlmICh2dC5rZXlzLm5vZGVbZGF0YS5rZXldKQ0KLSAgICAgICAgICAgICAgICBhY3Rpb24gPSB2dC5rZXlzLm5vZGVbZGF0YS5rZXldOw0KLSAgICAgICAgfSBlbHNlIGlmIChkYXRhLm9iai5laWQgPj0gMCkgew0KLSAgICAgICAgICAgIGlmICh2dC5rZXlzLmVkZ2VbZGF0YS5rZXldKQ0KLSAgICAgICAgICAgICAgICBhY3Rpb24gPSB2dC5rZXlzLmVkZ2VbZGF0YS5rZXldOw0KLSAgICAgICAgfQ0KLSAgICAgICAgaWYgKH5hY3Rpb24pDQotICAgICAgICAgICAgaWYgKHZ0LmtleXMuZ2VuZXJhbFtkYXRhLmtleV0pDQotICAgICAgICAgICAgICAgIGFjdGlvbiA9IHZ0LmtleXMuZ2VuZXJhbFtkYXRhLmtleV07DQotICAgICAgICBpZiAoYWN0aW9uKQ0KLSAgICAgICAgICAgIGd0LmRvYWN0aW9uIChkYXRhLCBhY3Rpb24pOw0KLSAgICB9Ow0KLSAgICAncmVkcmF3JyA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgICAgICBsb2NhbCB2dCwgZ3Q7DQotDQotICAgICAgICB2dCA9IGRvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XTsNCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW3Z0Lmd0aWRdOw0KLSAgICAgICAgZ3QuZHJhd2dyYXBoIChndCwgW3Z0LnZ0aWQgPSB2dDtdKTsNCi0gICAgfTsNCi0gICAgJ2Nsb3NldmlldycgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICAgICAgbG9jYWwgdnQsIGd0Ow0KLQ0KLSAgICAgICAgdnQgPSBkb3R0eS52aWV3c1tkYXRhLndpZGdldF07DQotICAgICAgICBndCA9IGRvdHR5LmdyYXBoc1t2dC5ndGlkXTsNCi0gICAgICAgIGd0LmRlc3Ryb3l2aWV3IChndCwgdnQpOw0KLSAgICAgICAgaWYgKHRhYmxlc2l6ZSAoZ3Qudmlld3MpID09IDApDQotICAgICAgICAgICAgZ3QuZGVzdHJveWdyYXBoIChndCk7DQotICAgIH07DQotXTsNCi1kb3R0eS5wcm90b3Z0LmJpcmRzZXllLnVpZnVuY3MgPSBbDQotICAgICdsZWZ0ZG93bicgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICAgICAgbG9jYWwgZ3QsIHZpZDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGZvciAodmlkIGluIGd0LnZpZXdzKSB7DQotICAgICAgICAgICAgdnQgPSBndC52aWV3c1t2aWRdOw0KLSAgICAgICAgICAgIGlmICh2dC50eXBlIH49ICdiaXJkc2V5ZScpDQotICAgICAgICAgICAgICAgIGd0LnNldHZpZXdjZW50ZXIgKFt2aWQgPSB2dDtdLCBkYXRhLnBvcyk7DQotICAgICAgICB9DQotICAgIH07DQotICAgICdsZWZ0bW92ZScgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICAgICAgbG9jYWwgZ3QsIHZpZDsNCi0NCi0gICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2RvdHR5LnZpZXdzW2RhdGEud2lkZ2V0XS5ndGlkXTsNCi0gICAgICAgIGZvciAodmlkIGluIGd0LnZpZXdzKSB7DQotICAgICAgICAgICAgdnQgPSBndC52aWV3c1t2aWRdOw0KLSAgICAgICAgICAgIGlmICh2dC50eXBlIH49ICdiaXJkc2V5ZScpDQotICAgICAgICAgICAgICAgIGd0LnNldHZpZXdjZW50ZXIgKFt2aWQgPSB2dDtdLCBkYXRhLnBvcyk7DQotICAgICAgICB9DQotICAgIH07DQotICAgICdsZWZ0dXAnID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgICAgIGxvY2FsIGd0LCB2aWQ7DQotDQotICAgICAgICBndCA9IGRvdHR5LmdyYXBoc1tkb3R0eS52aWV3c1tkYXRhLndpZGdldF0uZ3RpZF07DQotICAgICAgICBmb3IgKHZpZCBpbiBndC52aWV3cykgew0KLSAgICAgICAgICAgIHZ0ID0gZ3Qudmlld3NbdmlkXTsNCi0gICAgICAgICAgICBpZiAodnQudHlwZSB+PSAnYmlyZHNleWUnKQ0KLSAgICAgICAgICAgICAgICBndC5zZXR2aWV3Y2VudGVyIChbdmlkID0gdnQ7XSwgZGF0YS5wb3MpOw0KLSAgICAgICAgfQ0KLSAgICB9Ow0KLSAgICAnbWlkZGxlZG93bicgPSBkb3R0eS5wcm90b3Z0Lm5vcm1hbC51aWZ1bmNzLm1pZGRsZWRvd247DQotICAgICdtaWRkbGVtb3ZlJyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLnVpZnVuY3MubWlkZGxlbW92ZTsNCi0gICAgJ21pZGRsZXVwJyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLnVpZnVuY3MubWlkZGxldXA7DQotICAgICdyaWdodGRvd24nID0gZG90dHkucHJvdG92dC5ub3JtYWwudWlmdW5jcy5yaWdodGRvd247DQotICAgICdrZXl1cCcgPSBkb3R0eS5wcm90b3Z0Lm5vcm1hbC51aWZ1bmNzLmtleXVwOw0KLSAgICAncmVkcmF3JyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLnVpZnVuY3MucmVkcmF3Ow0KLSAgICAnY2xvc2V2aWV3JyA9IGRvdHR5LnByb3RvdnQubm9ybWFsLnVpZnVuY3MuY2xvc2V2aWV3Ow0KLV07DQotZG90dHkubW9uaXRvcmZpbGUgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBsb2NhbCBndGlkLCBndCwgbHB0Ow0KLQ0KLSAgICBmb3IgKGd0aWQgaW4gZG90dHkubGF5b3V0cGVuZGluZykgew0KLSAgICAgICAgbHB0ID0gZG90dHkubGF5b3V0cGVuZGluZ1tndGlkXTsNCi0gICAgICAgIGlmIChscHQuZmQgPT0gZGF0YS5mZCkgew0KLSAgICAgICAgICAgIGd0ID0gZG90dHkuZ3JhcGhzW2xwdC5ndGlkXTsNCi0gICAgICAgICAgICBndC5oYXZlaW5wdXQgPSAxOw0KLSAgICAgICAgICAgIGd0LmxheW91dGdyYXBoIChndCk7DQotICAgICAgICAgICAgcmV0dXJuIDE7DQotICAgICAgICB9DQotICAgIH0NCi0gICAgcmV0dXJuIDA7DQotfTsNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9mcmFjdGFsLmxlZnR5IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZnJhY3RhbC5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmQ3MzRkNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9mcmFjdGFsLmxlZnR5CisrKyAvZGV2L251bGwKQEAgLTEsMTAxICswLDAgQEAKLWxvYWQgKCdkZWYubGVmdHknKTsNCi1kZWZpbml0ICgpOw0KLSMNCi0jIGluaXRpYWxpemUgd2luZG93IGRhdGENCi0jDQotY2FudmFzID0gZGVmY2FudmFzOw0KLXdyZWN0ID0gWzAgPSBbJ3gnID0gMDsgJ3knID0gMDtdOyAxID0gWyd4JyA9IDQwMDsgJ3knID0gNTAwO107XTsNCi1zZXR3aWRnZXRhdHRyIChjYW52YXMsIFsnd2luZG93JyA9IHdyZWN0O10pOw0KLQ0KLXNxID0gZnVuY3Rpb24gKHgpIHsNCi0gICAgcmV0dXJuIHggKiB4Ow0KLX07DQotDQotIyBkYXRhIHN0cnVjdHVyZXMNCi0jDQotbGVuZ3RoID0gMzAwOw0KLWNlbnRlciA9IFsneCcgPSAyMDA7ICd5JyA9IDI1MDtdOw0KLXJhZGl1cyA9IDIgKiBsZW5ndGggLyBzcXJ0ICgxMik7DQotZnJhY3RhbGFuZ2xlID0gMDsNCi1tYXhsZXZlbCA9IDI7DQotDQotIyBkcmF3aW5nIGZ1bmN0aW9ucw0KLSMNCi0jIGRyYXcgYSBLb2NoIGN1cnZlIChhIGBgc25vd2ZsYWtlJycgZnJhY3RhbCkNCi0jDQotIyBzdGFydCB3aXRoIGEgdHJpYW5nbGUgYW5kIGtlZXAgcmVwbGFjaW5nIGVkZ2VzDQotIyB3aXRoIHRoZSBjb25zdHJ1Y3Q6IF8vXF8NCi0jIHVudGlsIHRoZSByZWN1cnNpb24gbGV2ZWwgcmVhY2hlcyAnbWF4bGV2ZWwnDQotIw0KLWZyYWN0YWwgPSBmdW5jdGlvbiAobGV2ZWwsIGxlbmd0aCwgYW5nbGUpIHsNCi0gICAgbG9jYWwgbmxlbmd0aCwgbmV3cGVucG9zOw0KLQ0KLSAgICBpZiAobGV2ZWwgPj0gbWF4bGV2ZWwpIHsNCi0gICAgICAgIG5ld3BlbnBvcy54ID0gcGVucG9zLnggKyBsZW5ndGggKiBjb3MgKGFuZ2xlKTsNCi0gICAgICAgIG5ld3BlbnBvcy55ID0gcGVucG9zLnkgKyBsZW5ndGggKiBzaW4gKGFuZ2xlKTsNCi0gICAgICAgIGxpbmUgKGNhbnZhcywgbnVsbCwgcGVucG9zLCBuZXdwZW5wb3MsIFsnY29sb3InID0gMTtdKTsNCi0gICAgICAgIHBlbnBvcyA9IG5ld3BlbnBvczsNCi0gICAgICAgIHJldHVybjsNCi0gICAgfQ0KLSAgICBubGVuZ3RoID0gbGVuZ3RoIC8gMzsNCi0gICAgZnJhY3RhbCAobGV2ZWwgKyAxLCBubGVuZ3RoLCBhbmdsZSk7DQotICAgIGZyYWN0YWwgKGxldmVsICsgMSwgbmxlbmd0aCwgYW5nbGUgKyA2MCk7DQotICAgIGZyYWN0YWwgKGxldmVsICsgMSwgbmxlbmd0aCwgYW5nbGUgLSA2MCk7DQotICAgIGZyYWN0YWwgKGxldmVsICsgMSwgbmxlbmd0aCwgYW5nbGUpOw0KLX07DQotZHJhd2ZyYWN0YWwgPSBmdW5jdGlvbiAoKSB7DQotICAgIGNsZWFyIChjYW52YXMpOw0KLSAgICBzZXRwaWNrIChjYW52YXMsIGNlbnRlciwgd3JlY3QpOw0KLSAgICBwZW5wb3MgPSBbDQotICAgICAgICAneCcgPSBjZW50ZXIueCArIGNvcyAoZnJhY3RhbGFuZ2xlICsgMjEwKSAqIHJhZGl1czsNCi0gICAgICAgICd5JyA9IGNlbnRlci55ICsgc2luIChmcmFjdGFsYW5nbGUgKyAyMTApICogcmFkaXVzOw0KLSAgICBdOw0KLSAgICBmcmFjdGFsICgwLCBsZW5ndGgsIGZyYWN0YWxhbmdsZSArICA2MCk7DQotICAgIGZyYWN0YWwgKDAsIGxlbmd0aCwgZnJhY3RhbGFuZ2xlIC0gIDYwKTsNCi0gICAgZnJhY3RhbCAoMCwgbGVuZ3RoLCBmcmFjdGFsYW5nbGUgLSAxODApOw0KLSAgICByZW1vdmUgKCdwZW5wb3MnKTsNCi19Ow0KLQ0KLSMgZWRpdGluZyBmdW5jdGlvbnMNCi0jDQotIyB0cmFuc2Zvcm0gdGhlIGZyYWN0YWwuDQotIw0KLSMgbWFwIHBvaW50ICdwcmV2cG9pbnQnIHRvIHBvaW50ICdjdXJycG9pbnQnDQotIyB3aXRoIHJlc3BlY3QgdG8gdGhlIGNlbnRlciBvZiB0aGUgZnJhY3RhbC4NCi0jDQotdHJhbnNmb3JtZnJhY3RhbCA9IGZ1bmN0aW9uIChwcmV2cG9pbnQsIGN1cnJwb2ludCkgew0KLSAgICBsb2NhbCBwcmV2dGFuLCBjdXJydGFuLCBwcmV2cmFkaXVzLCBjdXJycmFkaXVzOw0KLQ0KLSAgICBwcmV2dGFuID0gYXRhbiAocHJldnBvaW50LnkgLSBjZW50ZXIueSwgcHJldnBvaW50LnggLSBjZW50ZXIueCk7DQotICAgIGN1cnJ0YW4gPSBhdGFuIChjdXJycG9pbnQueSAtIGNlbnRlci55LCBjdXJycG9pbnQueCAtIGNlbnRlci54KTsNCi0gICAgZnJhY3RhbGFuZ2xlID0gZnJhY3RhbGFuZ2xlICsgKGN1cnJ0YW4gLSBwcmV2dGFuKTsNCi0gICAgcHJldnJhZGl1cyA9IHNxcnQgKA0KLSAgICAgICAgc3EgKHByZXZwb2ludC55IC0gY2VudGVyLnkpICsgc3EgKHByZXZwb2ludC54IC0gY2VudGVyLngpDQotICAgICk7DQotICAgIGN1cnJyYWRpdXMgPSBzcXJ0ICgNCi0gICAgICAgIHNxIChjdXJycG9pbnQueSAtIGNlbnRlci55KSArIHNxIChjdXJycG9pbnQueCAtIGNlbnRlci54KQ0KLSAgICApOw0KLSAgICByYWRpdXMgPSByYWRpdXMgLyBwcmV2cmFkaXVzICogY3VycnJhZGl1czsNCi0gICAgbGVuZ3RoID0gcmFkaXVzIC8gMiAqIHNxcnQgKDEyKTsNCi19Ow0KLQ0KLSMgdXNlciBpbnRlcmZhY2UgZnVuY3Rpb25zDQotIw0KLSMgYmluZCBjaGFuZ2VzIHRvIHRoZSBmcmFjdGFsIHRvIHVzZXIgYWN0aW9ucw0KLSMNCi1sZWZ0dXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICB0cmFuc2Zvcm1mcmFjdGFsIChkYXRhLnBwb3MsIGRhdGEucG9zKTsNCi0gICAgZHJhd2ZyYWN0YWwgKCk7DQotfTsNCi1kb3BzID0gZnVuY3Rpb24gKCkgew0KLSAgICBsb2NhbCBzOw0KLQ0KLSAgICBzID0gWyd4JyA9IDggKiAzMDA7ICd5JyA9IDEwLjUgKiAzMDA7XTsNCi0gICAgY2FudmFzID0gY3JlYXRld2lkZ2V0ICgtMSwgWyd0eXBlJyA9ICdwcyc7ICdzaXplJyA9IHM7XSk7DQotICAgIHNldHdpZGdldGF0dHIgKGNhbnZhcywgWyd3aW5kb3cnID0gd3JlY3Q7XSk7DQotICAgIGRyYXdmcmFjdGFsICgpOw0KLSAgICBkZXN0cm95d2lkZ2V0IChjYW52YXMpOw0KLSAgICBjYW52YXM9ZGVmY2FudmFzOw0KLX07DQotdHJhbnNmb3JtZnJhY3RhbCAoWyd4JyA9IDA7ICd5JyA9IDA7XSwgWyd4JyA9IDA7ICd5JyA9IDA7XSk7DQotZHJhd2ZyYWN0YWwgKCk7DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvZnJhY3RhbDIubGVmdHkgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9mcmFjdGFsMi5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzNhOWU3NS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9mcmFjdGFsMi5sZWZ0eQorKysgL2Rldi9udWxsCkBAIC0xLDIxOCArMCwwIEBACi0jDQotIyBkYXRhIHN0cnVjdHVyZXMNCi0jDQotbGVuZ3RoID0gMzAwOw0KLWNlbnRlciA9IFsneCcgPSAyMDA7ICd5JyA9IDI1MDtdOw0KLXJhZGl1cyA9IDIgKiBsZW5ndGggLyBzcXJ0ICgxMik7DQotZnJhY3RhbGFuZ2xlID0gMDsNCi1tYXhsZXZlbCA9IDI7DQotc2l6ZXMgPSBbDQotICAgICdidXR0b24nID0gWyAneCcgPSAxMDA7ICd5JyA9IDQwOyAgXTsNCi0gICAgJ2NhbnZhcycgPSBbICd4JyA9IDQwMDsgJ3knID0gNTAwOyBdOw0KLSAgICAndmlldycgICA9IFsgJ3gnID0gNDAwOyAneScgPSA2MDA7IF07DQotXTsNCi1zcSA9IGZ1bmN0aW9uICh4KSB7DQotICAgIHJldHVybiB4ICogeDsNCi19Ow0KLSMNCi0jIGNyZWF0ZSB2aWV3IGFuZCBvdGhlciB3aWRnZXRzDQotIw0KLWluaXQgPSBmdW5jdGlvbiAoKSB7DQotICAgIHZpZXcgPSBjcmVhdGV3aWRnZXQgKC0xLCBbDQotICAgICAgICAndHlwZScgPSAndmlldyc7ICduYW1lJyA9ICdmcmFjdGFsJzsgJ3NpemUnID0gc2l6ZXMudmlldzsNCi0gICAgXSk7DQotDQotICAgIGFycmF5MSA9IGNyZWF0ZXdpZGdldCAodmlldywgWw0KLSAgICAgICAgJ3R5cGUnID0gJ2FycmF5JzsgJ2JvcmRlcndpZHRoJyA9IDE7ICdtb2RlJyA9ICd2ZXJ0aWNhbCc7DQotICAgIF0pOw0KLSAgICB3aWRnZXRzW2FycmF5MV0ucmVzaXplID0gcmVzaXplOw0KLQ0KLSAgICBhcnJheTIgPSBjcmVhdGV3aWRnZXQgKGFycmF5MSwgWw0KLSAgICAgICAgJ3R5cGUnID0gJ2FycmF5JzsgJ2JvcmRlcndpZHRoJyA9IDE7ICdtb2RlJyA9ICdob3Jpem9udGFsJzsNCi0gICAgXSk7DQotICAgIHdpZGdldHNbYXJyYXkyXS5yZXNpemUgPSByZXNpemU7DQotDQotICAgIGFycmF5MyA9IGNyZWF0ZXdpZGdldCAoYXJyYXkyLCBbDQotICAgICAgICAndHlwZScgPSAnYXJyYXknOyAnYm9yZGVyd2lkdGgnID0gMTsgJ21vZGUnID0gJ3ZlcnRpY2FsJzsNCi0gICAgXSk7DQotICAgIHdpZGdldHNbYXJyYXkzXS5yZXNpemUgPSByZXNpemU7DQotDQotICAgIG1vcmVidXR0b24gPSBjcmVhdGV3aWRnZXQgKGFycmF5MywgWw0KLSAgICAgICAgJ3R5cGUnID0gJ2J1dHRvbic7ICd0ZXh0JyA9ICdtb3JlJzsNCi0gICAgXSk7DQotICAgIHdpZGdldHNbbW9yZWJ1dHRvbl0ucHJlc3NlZCA9IHByZXNzZWQ7DQotICAgIGxlc3NidXR0b24gPSBjcmVhdGV3aWRnZXQgKGFycmF5MywgWw0KLSAgICAgICAgJ3R5cGUnID0gJ2J1dHRvbic7ICd0ZXh0JyA9ICdsZXNzJzsNCi0gICAgXSk7DQotICAgIHdpZGdldHNbbGVzc2J1dHRvbl0ucHJlc3NlZCA9IHByZXNzZWQ7DQotICAgIHNldHdpZGdldGF0dHIgKG1vcmVidXR0b24sIFsnc2l6ZScgPSBzaXplcy5idXR0b247XSk7DQotICAgIHNldHdpZGdldGF0dHIgKGxlc3NidXR0b24sIFsnc2l6ZScgPSBzaXplcy5idXR0b247XSk7DQotDQotICAgIGF0ZXh0ID0gY3JlYXRld2lkZ2V0IChhcnJheTIsIFsNCi0gICAgICAgICd0eXBlJyA9ICd0ZXh0JzsgJ21vZGUnID0gJ29uZWxpbmUnOw0KLSAgICBdKTsNCi0gICAgd2lkZ2V0c1thdGV4dF0ub25lbGluZSA9IG9uZWxpbmU7DQotICAgIHNldHdpZGdldGF0dHIgKGF0ZXh0LCBbDQotICAgICAgICAnc2l6ZScgPSBbJ3gnID0gc2l6ZXMuYnV0dG9uLng7ICd5JyA9IHNpemVzLmJ1dHRvbi55ICogMjtdOw0KLSAgICBdKTsNCi0NCi0gICAgc2Nyb2xsID0gY3JlYXRld2lkZ2V0IChhcnJheTEsIFsndHlwZScgPSAnc2Nyb2xsJztdKTsNCi0gICAgY2FudmFzID0gY3JlYXRld2lkZ2V0IChzY3JvbGwsIFsndHlwZScgPSAnY2FudmFzJztdKTsNCi0gICAgd3JlY3QgPSBbMCA9IFsneCcgPSAwOyAneScgPSAwO107IDEgPSBzaXplcy5jYW52YXM7XTsNCi0gICAgc2V0d2lkZ2V0YXR0ciAoY2FudmFzLCBbJ3dpbmRvdycgPSB3cmVjdDsgJ3ZpZXdwb3J0JyA9IHdyZWN0WzFdO10pOw0KLX07DQotIw0KLSMgZHJhd2luZyBmdW5jdGlvbnMNCi0jDQotIyBkcmF3IGEgS29jaCBjdXJ2ZSAoYSBgYHNub3dmbGFrZScnIGZyYWN0YWwpDQotIw0KLSMgc3RhcnQgd2l0aCBhIHRyaWFuZ2xlIGFuZCBrZWVwIHJlcGxhY2luZyBlZGdlcw0KLSMgd2l0aCB0aGUgY29uc3RydWN0OiBfL1xfDQotIyB1bnRpbCB0aGUgcmVjdXJzaW9uIGxldmVsIHJlYWNoZXMgJ21heGxldmVsJw0KLSMNCi1mcmFjdGFsID0gZnVuY3Rpb24gKGxldmVsLCBsZW5ndGgsIGFuZ2xlKSB7DQotICAgIGxvY2FsIG5sZW5ndGgsIG5ld3BlbnBvczsNCi0NCi0gICAgaWYgKGxldmVsID49IG1heGxldmVsKSB7DQotICAgICAgICBuZXdwZW5wb3MueCA9IHBlbnBvcy54ICsgbGVuZ3RoICogY29zIChhbmdsZSk7DQotICAgICAgICBuZXdwZW5wb3MueSA9IHBlbnBvcy55ICsgbGVuZ3RoICogc2luIChhbmdsZSk7DQotICAgICAgICBsaW5lIChjYW52YXMsIG51bGwsIHBlbnBvcywgbmV3cGVucG9zLCBbJ2NvbG9yJyA9IDE7XSk7DQotICAgICAgICBwZW5wb3MgPSBuZXdwZW5wb3M7DQotICAgICAgICByZXR1cm47DQotICAgIH0NCi0gICAgbmxlbmd0aCA9IGxlbmd0aCAvIDM7DQotICAgIGZyYWN0YWwgKGxldmVsICsgMSwgbmxlbmd0aCwgYW5nbGUpOw0KLSAgICBmcmFjdGFsIChsZXZlbCArIDEsIG5sZW5ndGgsIGFuZ2xlICsgNjApOw0KLSAgICBmcmFjdGFsIChsZXZlbCArIDEsIG5sZW5ndGgsIGFuZ2xlIC0gNjApOw0KLSAgICBmcmFjdGFsIChsZXZlbCArIDEsIG5sZW5ndGgsIGFuZ2xlKTsNCi19Ow0KLXJlZHJhd2ZyYWN0YWwgPSBmdW5jdGlvbiAoKSB7DQotICAgIGNsZWFyIChjYW52YXMpOw0KLSAgICBzZXRwaWNrIChjYW52YXMsIGNlbnRlciwgd3JlY3QpOw0KLSAgICBwZW5wb3MgPSBbDQotICAgICAgICAneCcgPSBjZW50ZXIueCArIGNvcyAoZnJhY3RhbGFuZ2xlICsgMjEwKSAqIHJhZGl1czsNCi0gICAgICAgICd5JyA9IGNlbnRlci55ICsgc2luIChmcmFjdGFsYW5nbGUgKyAyMTApICogcmFkaXVzOw0KLSAgICBdOw0KLSAgICBmcmFjdGFsICgwLCBsZW5ndGgsIGZyYWN0YWxhbmdsZSArICA2MCk7DQotICAgIGZyYWN0YWwgKDAsIGxlbmd0aCwgZnJhY3RhbGFuZ2xlIC0gIDYwKTsNCi0gICAgZnJhY3RhbCAoMCwgbGVuZ3RoLCBmcmFjdGFsYW5nbGUgLSAxODApOw0KLSAgICByZW1vdmUgKCdwZW5wb3MnKTsNCi19Ow0KLSMNCi0jIGVkaXRpbmcgZnVuY3Rpb25zDQotIw0KLSMgdHJhbnNmb3JtIHRoZSBmcmFjdGFsLg0KLSMNCi0jIG1hcCBwb2ludCAncHJldnBvaW50JyB0byBwb2ludCAnY3VycnBvaW50Jw0KLSMgd2l0aCByZXNwZWN0IHRvIHRoZSBjZW50ZXIgb2YgdGhlIGZyYWN0YWwuDQotIw0KLXRyYW5zZm9ybWZyYWN0YWwgPSBmdW5jdGlvbiAocHJldnBvaW50LCBjdXJycG9pbnQpIHsNCi0gICAgbG9jYWwgcHJldnRhbiwgY3VycnRhbiwgcHJldnJhZGl1cywgY3VycnJhZGl1czsNCi0NCi0gICAgcHJldnRhbiA9IGF0YW4gKHByZXZwb2ludC55IC0gY2VudGVyLnksIHByZXZwb2ludC54IC0gY2VudGVyLngpOw0KLSAgICBjdXJydGFuID0gYXRhbiAoY3VycnBvaW50LnkgLSBjZW50ZXIueSwgY3VycnBvaW50LnggLSBjZW50ZXIueCk7DQotICAgIGZyYWN0YWxhbmdsZSA9IGZyYWN0YWxhbmdsZSArIChjdXJydGFuIC0gcHJldnRhbik7DQotICAgIHByZXZyYWRpdXMgPSBzcXJ0ICgNCi0gICAgICAgIHNxIChwcmV2cG9pbnQueSAtIGNlbnRlci55KSArIHNxIChwcmV2cG9pbnQueCAtIGNlbnRlci54KQ0KLSAgICApOw0KLSAgICBjdXJycmFkaXVzID0gc3FydCAoDQotICAgICAgICBzcSAoY3VycnBvaW50LnkgLSBjZW50ZXIueSkgKyBzcSAoY3VycnBvaW50LnggLSBjZW50ZXIueCkNCi0gICAgKTsNCi0gICAgcmFkaXVzID0gcmFkaXVzIC8gcHJldnJhZGl1cyAqIGN1cnJyYWRpdXM7DQotICAgIGxlbmd0aCA9IHJhZGl1cyAvIDIgKiBzcXJ0ICgxMik7DQotfTsNCi0jDQotIyBtYWluIGFjdGlvbnMNCi0jDQotcmVkcmF3ID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgcmVkcmF3ZnJhY3RhbCAoKTsNCi19Ow0KLWNoYW5nZW1heGxldmVsID0gZnVuY3Rpb24gKGRuKSB7DQotICAgIG1heGxldmVsID0gbWF4bGV2ZWwgKyBkbjsNCi0gICAgaWYgKG1heGxldmVsIDwgMCkNCi0gICAgICAgIG1heGxldmVsID0gMDsNCi0gICAgcmVkcmF3ZnJhY3RhbCAoKTsNCi19Ow0KLXJlc2l6ZSA9IGZ1bmN0aW9uIChkYXRhKSB7DQotICAgIGxvY2FsIHJldDsNCi0gICAgaWYgKGRhdGEud2lkZ2V0ID09IGFycmF5MSkgew0KLSAgICAgICAgcmV0ID0gWw0KLSAgICAgICAgICAgIGFycmF5MiA9IFsNCi0gICAgICAgICAgICAgICAgJ3gnID0gZGF0YS5zaXplLng7DQotICAgICAgICAgICAgICAgICd5JyA9IHNpemVzLmJ1dHRvbi55ICogMjsNCi0gICAgICAgICAgICBdOw0KLSAgICAgICAgICAgIHNjcm9sbCA9IFsNCi0gICAgICAgICAgICAgICAgJ3gnID0gZGF0YS5zaXplLng7DQotICAgICAgICAgICAgICAgICd5JyA9IGRhdGEuc2l6ZS55IC0gc2l6ZXMuYnV0dG9uLnkgKiAyOw0KLSAgICAgICAgICAgIF07DQotICAgICAgICBdOw0KLSAgICB9IGVsc2UgaWYgKGRhdGEud2lkZ2V0ID09IGFycmF5Mikgew0KLSAgICAgICAgcmV0ID0gWw0KLSAgICAgICAgICAgIGFycmF5MyA9IFsNCi0gICAgICAgICAgICAgICAgJ3gnID0gc2l6ZXMuYnV0dG9uLng7DQotICAgICAgICAgICAgICAgICd5JyA9IDIgKiBzaXplcy5idXR0b24ueTsNCi0gICAgICAgICAgICBdOw0KLSAgICAgICAgICAgIGF0ZXh0ID0gWw0KLSAgICAgICAgICAgICAgICAneCcgPSBkYXRhLnNpemUueCAtIHNpemVzLmJ1dHRvbi54Ow0KLSAgICAgICAgICAgICAgICAneScgPSAyICogc2l6ZXMuYnV0dG9uLnk7DQotICAgICAgICAgICAgXTsNCi0gICAgICAgIF07DQotICAgIH0gZWxzZSBpZiAoZGF0YS53aWRnZXQgPT0gYXJyYXkzKSB7DQotICAgICAgICByZXQgPSBbDQotICAgICAgICAgICAgbW9yZWJ1dHRvbiA9IHNpemVzLmJ1dHRvbjsNCi0gICAgICAgICAgICBsZXNzYnV0dG9uID0gc2l6ZXMuYnV0dG9uOw0KLSAgICAgICAgXTsNCi0gICAgfQ0KLSAgICByZXR1cm4gcmV0Ow0KLX07DQotIw0KLSMgdXNlciBpbnRlcmZhY2UgZnVuY3Rpb25zDQotIw0KLSMgYmluZCBjaGFuZ2VzIHRvIHRoZSBmcmFjdGFsIHRvIHVzZXIgYWN0aW9ucw0KLSMNCi1sZWZ0dXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICB0cmFuc2Zvcm1mcmFjdGFsIChkYXRhLnBwb3MsIGRhdGEucG9zKTsNCi0gICAgcmVkcmF3ZnJhY3RhbCAoKTsNCi19Ow0KLW1lbnUgPSBbDQotICAgIDAgPSAnbW9yZSc7DQotICAgIDEgPSAnbGVzcyc7DQotXTsNCi1kb21lbnUgPSBmdW5jdGlvbiAoaSkgew0KLSAgICBsb2NhbCBzOw0KLSAgICBzID0gbWVudVtpXTsNCi0gICAgaWYgKHMgPT0gJ21vcmUnKQ0KLSAgICAgICAgY2hhbmdlbWF4bGV2ZWwgKDEpOw0KLSAgICBlbHNlIGlmIChzID09ICdsZXNzJykNCi0gICAgICAgIGNoYW5nZW1heGxldmVsICgtMSk7DQotfTsNCi1yaWdodGRvd24gPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBkb21lbnUgKGRpc3BsYXltZW51IChjYW52YXMsIG1lbnUpKTsNCi19Ow0KLXByZXNzZWQgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBpZiAoZGF0YS53aWRnZXQgPT0gbW9yZWJ1dHRvbikNCi0gICAgICAgIGNoYW5nZW1heGxldmVsICgxKTsNCi0gICAgZWxzZSBpZiAoZGF0YS53aWRnZXQgPT0gbGVzc2J1dHRvbikNCi0gICAgICAgIGNoYW5nZW1heGxldmVsICgtMSk7DQotfTsNCi1vbmVsaW5lID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgbG9jYWwgZG47DQotICAgIGRuID0gc3RvbiAoZGF0YS50ZXh0KTsNCi0gICAgaWYgKGRuID4gMCB8IGRuIDwgMCkNCi0gICAgICAgIGNoYW5nZW1heGxldmVsIChkbiAtIG1heGxldmVsKTsNCi19Ow0KLSMNCi0jIHBvc3RzY3JpcHQgZ2VuZXJhdGlvbg0KLSMNCi1kb3BzID0gZnVuY3Rpb24gKCkgew0KLSAgICBsb2NhbCByOw0KLQ0KLSAgICByID0gWzAgPSBbJ3gnID0gMDsgJ3knID0gMDtdOyAxID0gWyd4JyA9IDggKiAzMDA7ICd5JyA9IDEwLjUgKiAzMDA7XTtdOw0KLSAgICBjYW52YXMgPSBvcGVuY2FudmFzICgncHNjYW52YXMnLCAnJywgcik7DQotICAgIHNldHdpZGdldGF0dHIgKGNhbnZhcywgWyd3aW5kb3cnID0gd3JlY3Q7XSk7DQotICAgIHJlZHJhdyAoKTsNCi0gICAgY2xvc2VjYW52YXMgKGNhbnZhcyk7DQotICAgIGNhbnZhcz1kZWZjYW52YXM7DQotfTsNCi1pbml0ICgpOw0KLSN0eHR2aWV3ICgnb2ZmJyk7DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvbGVmdHkucHNwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvbGVmdHkucHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTE2ZTcwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L2xlZnR5LnBzcAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS9CT1ggew0KLSAgICAvYm94eTEgZXhjaCBkZWYgL2JveHgxIGV4Y2ggZGVmIC9ib3h5MCBleGNoIGRlZiAvYm94eDAgZXhjaCBkZWYNCi0gICAgYm94eDAgYm94eTAgbW92ZXRvIGJveHgxIGJveHkwIGxpbmV0bw0KLSAgICBib3h4MSBib3h5MSBsaW5ldG8gYm94eDAgYm94eTEgbGluZXRvDQotICAgIGNsb3NlcGF0aA0KLX0gZGVmDQotL1NDUCB7IHN0cm9rZSBpbml0Y2xpcCBuZXdwYXRoIEJPWCBjbGlwIG5ld3BhdGggfSBkZWYNCi0vQ0wgeyBzdHJva2Ugc2V0cmdiY29sb3IgfSBkZWYNCi0vRE8geyBzdHJva2UgfSBkZWYNCi0vTlAgeyBuZXdwYXRoIH0gZGVmDQotL0ZJIHsgZmlsbCB9IGRlZg0KLS9MSSB7IG1vdmV0byBsaW5ldG8gfSBkZWYNCi0vQ1QgeyBjdXJ2ZXRvIH0gZGVmDQotL0FSIHsNCi0gICAgL2FuZzIgZXhjaCBkZWYgL2FuZzEgZXhjaCBkZWYNCi0gICAgL3JhZGl1cyBleGNoIGRlZiAveTJ4IGV4Y2ggZGVmIC9jeSBleGNoIGRlZiAvY3ggZXhjaCBkZWYNCi0gICAgZ3NhdmUNCi0gICAgICAgIGN4IGN5IHRyYW5zbGF0ZSAxIHkyeCBzY2FsZSAwIDAgcmFkaXVzIGFuZzEgYW5nMiBhcmMgc3Ryb2tlDQotICAgIGdyZXN0b3JlDQotfSBkZWYNCi0vQVJGIHsNCi0gICAgL2FuZzIgZXhjaCBkZWYgL2FuZzEgZXhjaCBkZWYNCi0gICAgL3JhZGl1cyBleGNoIGRlZiAveTJ4IGV4Y2ggZGVmIC9jeSBleGNoIGRlZiAvY3ggZXhjaCBkZWYNCi0gICAgZ3NhdmUNCi0gICAgICAgIGN4IGN5IHRyYW5zbGF0ZSAxIHkyeCBzY2FsZSAwIDAgcmFkaXVzIGFuZzEgYW5nMiBhcmMgZmlsbA0KLSAgICBncmVzdG9yZQ0KLX0gZGVmDQotL1RYVCB7DQotICAgIC90ZXh0aCBleGNoIGRlZg0KLSAgICAvdGV4dGYgZXhjaCBkZWYNCi0gICAgL3RleHRuIGV4Y2ggZGVmDQotICAgIC90ZXh0cyBleGNoIGRlZg0KLSAgICAvdGV4dHlqIGV4Y2ggZGVmIC90ZXh0eSBleGNoIGRlZg0KLSAgICAvdGV4dHhqIGV4Y2ggZGVmIC90ZXh0eCBleGNoIGRlZg0KLSAgICB0ZXh0ZiBmaW5kZm9udCB0ZXh0aCBzY2FsZWZvbnQgZHVwIHNldGZvbnQNCi0gICAgL0ZvbnRCQm94IGdldCAxIGdldCAxMDAwIGRpdiB0ZXh0aCBtdWwgL3RleHRibCBleGNoIGRlZg0KLSAgICAvdGV4dHRoIHRleHRoIHRleHRuIG11bCBkZWYgL3RleHR0dyAwIGRlZg0KLSAgICAwIDEgdGV4dG4gMSBzdWIgew0KLSAgICAgICAgdGV4dHMgZXhjaCBnZXQgMCBnZXQgc3RyaW5nd2lkdGggcG9wDQotICAgICAgICBkdXAgdGV4dHR3IGd0IHsgL3RleHR0dyBleGNoIGRlZiB9IHsgcG9wIH0gaWZlbHNlDQotICAgIH0gZm9yDQotICAgIHRleHR5aiAoYikgZXEgeyAvdHkgdGV4dHkgdGV4dHRoIGFkZCB0ZXh0YmwgYWRkIGRlZiB9IGlmDQotICAgIHRleHR5aiAoZCkgZXEgeyAvdHkgdGV4dHkgdGV4dHRoIGFkZCBkZWYgfSBpZg0KLSAgICB0ZXh0eWogKGMpIGVxIHsgL3R5IHRleHR5IHRleHR0aCAyIGRpdiBhZGQgZGVmIH0gaWYNCi0gICAgdGV4dHlqICh1KSBlcSB7IC90eSB0ZXh0eSBkZWYgfSBpZg0KLSAgICAvdHkgdHkgdGV4dGJsIHN1YiBkZWYNCi0gICAgdGV4dHhqIChsKSBlcSB7IC90eCB0ZXh0eCBkZWYgfSBpZg0KLSAgICB0ZXh0eGogKGMpIGVxIHsgL3R4IHRleHR4IHRleHR0dyAyIGRpdiBzdWIgZGVmIH0gaWYNCi0gICAgdGV4dHhqIChyKSBlcSB7IC90eCB0ZXh0eCB0ZXh0dHcgc3ViIGRlZiB9IGlmDQotICAgIDAgMSB0ZXh0biAxIHN1YiB7DQotICAgICAgICAvdHkgdHkgdGV4dGggc3ViIGRlZg0KLSAgICAgICAgdGV4dHMgZXhjaCBnZXQgZHVwIDAgZ2V0IC90cyBleGNoIGRlZiAxIGdldCAvdGogZXhjaCBkZWYNCi0gICAgICAgIHRqIChsKSBlcSB7IHR4IHR5IG1vdmV0byB0cyBzaG93IH0gaWYNCi0gICAgICAgIHRqIChuKSBlcSB7DQotICAgICAgICAgICAgdHggdGV4dHR3IHRzIHN0cmluZ3dpZHRoIHBvcCBzdWIgMiBkaXYgYWRkIHR5IG1vdmV0byB0cyBzaG93DQotICAgICAgICB9IGlmDQotICAgICAgICB0aiAocikgZXEgew0KLSAgICAgICAgICAgIHR4IHRleHR0dyB0cyBzdHJpbmd3aWR0aCBwb3Agc3ViIGFkZCB0eSBtb3ZldG8gdHMgc2hvdw0KLSAgICAgICAgfSBpZg0KLSAgICB9IGZvcg0KLX0gZGVmDQotDQotL2NvbG9yaW1hZ2Ugd2hlcmUgew0KLSAgICBwb3ANCi19IHsNCi0gICAgL2J3cHJvYyB7DQotICAgICAgICByZ2Jwcm9jIGR1cCBsZW5ndGggMyBpZGl2IHN0cmluZyAwIDMgMCA1IC0xIHJvbGwgew0KLSAgICAgICAgICAgIGFkZCAyIDEgcm9sbCAxIHN1YiBkdXAgMCBlcSB7DQotICAgICAgICAgICAgICAgIHBvcCAzIGlkaXYgMyAtMSByb2xsIGR1cCA0IC0xIHJvbGwNCi0gICAgICAgICAgICAgICAgZHVwIDMgMSByb2xsIDUgLTEgcm9sbCBwdXQgMSBhZGQgMyAwDQotICAgICAgICAgICAgfSB7DQotICAgICAgICAgICAgICAgIDIgMSByb2xsDQotICAgICAgICAgICAgfSBpZmVsc2UNCi0gICAgICAgIH0gZm9yYWxsDQotICAgICAgICBwb3AgcG9wIHBvcA0KLSAgICB9IGRlZg0KLSAgICAvY29sb3JpbWFnZSB7DQotICAgICAgICBwb3AgcG9wIC9yZ2Jwcm9jIGV4Y2ggZGVmIHtid3Byb2N9IGltYWdlDQotICAgIH0gYmluZCBkZWYNCi19IGlmZWxzZQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L3NsaWRlcy5sZWZ0eSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL2xlZnR5L3NsaWRlcy5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA1NDQzYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS9zbGlkZXMubGVmdHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkgKzAsMCBAQAotbG9hZCAoJ2RlZi5sZWZ0eScpOw0KLWRlZmluaXQgKCk7DQotIw0KLSMgaW5pdGlhbGl6ZSB3aW5kb3cgZGF0YQ0KLSMNCi1jYW52YXMgPSBkZWZjYW52YXM7DQotd3JlY3QgPSBbMCA9IFsneCcgPSAwOyAneScgPSAwO107IDEgPSBbJ3gnID0gODAwOyAneScgPSAxMDAwO107XTsNCi1sbWFyZ2luID0gMTAwOw0KLXdpZHRoID0gODAwOw0KLWhlaWdodCA9IDEwMDA7DQotc2V0d2lkZ2V0YXR0ciAoY2FudmFzLCBbJ3dpbmRvdycgPSB3cmVjdDtdKTsNCi1mb250cyA9IFsNCi0gICAgJ3RpbXInID0gWw0KLSAgICAgICAgMTQgPSAndGltcjE0JzsNCi0gICAgICAgIDE4ID0gJ3RpbXIxOCc7DQotICAgICAgICAyNCA9ICd0aW1yMjQnOw0KLSAgICBdOw0KLSAgICAnY291cnInID0gWw0KLSAgICAgICAgMTQgPSAnY291cnIxNCc7DQotICAgICAgICAxOCA9ICdjb3VycjE4JzsNCi0gICAgICAgIDI0ID0gJ2NvdXJyMjQnOw0KLSAgICBdOw0KLV07DQoteDJwcyA9IFsNCi0gICAgJ3RpbXIyNCcgPSAnVGltZXMtUm9tYW4nOw0KLSAgICAndGltcjE4JyA9ICdUaW1lcy1Sb21hbic7DQotICAgICd0aW1yMTQnID0gJ1RpbWVzLVJvbWFuJzsNCi0gICAgJ2NvdXJyMjQnID0gJ0NvdXJpZXInOw0KLSAgICAnY291cnIxOCcgPSAnQ291cmllcic7DQotICAgICdjb3VycjE0JyA9ICdDb3VyaWVyJzsNCi1dOw0KLQ0KLWNhbGMgPSBmdW5jdGlvbiAoKSB7DQotICAgIGxvY2FsIGksIGosIGNwb3MsIHRzaXosIGRpc3QsIHNsaWRlcDsNCi0gICAgdHNpeiA9IFsneCcgPSAwOyAneScgPSAwO107DQotICAgIGZvciAoaSA9IDA7IHNsaWRlc1tpXTsgaSA9IGkgKyAxKSB7DQotICAgICAgICBzbGlkZXAgPSBzbGlkZXNbaV07DQotICAgICAgICBpZiAoc2xpZGVwLnNraXApIHsNCi0gICAgICAgICAgICB0c2l6LnkgPSB0c2l6LnkgKyBzbGlkZXAuc2tpcDsNCi0gICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgZm9yIChqID0gMDsgc2xpZGVwLnRleHRbal07IGogPSBqICsgMSkgew0KLSAgICAgICAgICAgICAgICBpZiAoaiA+IDApDQotICAgICAgICAgICAgICAgICAgICB0c2l6LnkgPSB0c2l6LnkgKyA1Ow0KLSAgICAgICAgICAgICAgICBpZiAofnNsaWRlcC5mb250KQ0KLSAgICAgICAgICAgICAgICAgICAgc2xpZGVwLmZvbnQgPSBzbGlkZXMuZm9udDsNCi0gICAgICAgICAgICAgICAgaWYgKH5zbGlkZXAuc2l6ZSkNCi0gICAgICAgICAgICAgICAgICAgIHNsaWRlcC5zaXplID0gc2xpZGVzLnNpemU7DQotICAgICAgICAgICAgICAgIGlmICh+c2xpZGVwLmp1c3QpDQotICAgICAgICAgICAgICAgICAgICBzbGlkZXAuanVzdCA9IHNsaWRlcy5qdXN0Ow0KLSAgICAgICAgICAgICAgICBzbGlkZXAudHNpeltqXSA9IHRleHRzaXplIChjYW52YXMsIHNsaWRlcC50ZXh0W2pdLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRzW3NsaWRlcC5mb250XVtzbGlkZXAuc2l6ZV0sIDApOw0KLSAgICAgICAgICAgICAgICB0c2l6LnkgPSB0c2l6LnkgKyBzbGlkZXAudHNpeltqXS55Ow0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIH0NCi0gICAgfQ0KLSAgICBkaXN0ID0gKGhlaWdodCAtIHRzaXoueSkgLyAoaSArIDEpOw0KLSAgICBjcG9zID0gWyd4JyA9IGxtYXJnaW47ICd5JyA9IGhlaWdodCAtIGRpc3Q7XTsNCi0gICAgZm9yIChpID0gMDsgc2xpZGVzW2ldOyBpID0gaSArIDEpIHsNCi0gICAgICAgIHNsaWRlcCA9IHNsaWRlc1tpXTsNCi0gICAgICAgIGlmIChzbGlkZXAuc2tpcCkgew0KLSAgICAgICAgICAgIGNwb3MueSA9IGNwb3MueSAtIHNsaWRlcC5za2lwIC0gZGlzdDsNCi0gICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgZm9yIChqID0gMDsgc2xpZGVwLnRleHRbal07IGogPSBqICsgMSkgew0KLSAgICAgICAgICAgICAgICBpZiAoaiA+IDApDQotICAgICAgICAgICAgICAgICAgICBjcG9zLnkgPSBjcG9zLnkgLSA1Ow0KLSAgICAgICAgICAgICAgICBpZiAoc2xpZGVwLmp1c3QgPT0gMCkNCi0gICAgICAgICAgICAgICAgICAgIHNsaWRlcC50cG9zW2pdLnggPSBjcG9zLng7DQotICAgICAgICAgICAgICAgIGVsc2UNCi0gICAgICAgICAgICAgICAgICAgIHNsaWRlcC50cG9zW2pdLnggPSB3aWR0aCAvIDI7DQotICAgICAgICAgICAgICAgIGNwb3MueSA9IGNwb3MueSAtIHNsaWRlcC50c2l6W2pdLnk7DQotICAgICAgICAgICAgICAgIHNsaWRlcC50cG9zW2pdLnkgPSBjcG9zLnk7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGNwb3MueSA9IGNwb3MueSAtIGRpc3Q7DQotICAgICAgICB9DQotICAgIH0NCi19Ow0KLXJlZHJhdyA9IGZ1bmN0aW9uICgpIHsNCi0gICAgbG9jYWwgaSwgaiwgc2xpZGVwOw0KLSAgICBmb3IgKGkgPSAwOyBzbGlkZXNbaV07IGkgPSBpICsgMSkgew0KLSAgICAgICAgc2xpZGVwID0gc2xpZGVzW2ldOw0KLSAgICAgICAgaWYgKH5zbGlkZXAuc2tpcCkNCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBzbGlkZXAudGV4dFtqXTsgaiA9IGogKyAxKQ0KLSAgICAgICAgICAgICAgICB0ZXh0IChjYW52YXMsIHNsaWRlcCwgc2xpZGVwLnRwb3Nbal0sIHNsaWRlcC50ZXh0W2pdLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRzW3NsaWRlcC5mb250XVtzbGlkZXAuc2l6ZV0sIDAsIHNsaWRlcC5qdXN0KTsNCi0gICAgfQ0KLX07DQotZG9wcyA9IGZ1bmN0aW9uICgpIHsNCi0gICAgbG9jYWwgaSwgaiwgc2xpZGVwLCByOw0KLQ0KLSAgICByID0gWzAgPSBbJ3gnID0gMDsgJ3knID0gMDtdOyAxID0gWyd4JyA9IDggKiAzMDA7ICd5JyA9IDEwLjUgKiAzMDA7XTtdOw0KLSAgICBjYW52YXMgPSBjcmVhdGV3aWRnZXQgKC0xLCBbJ3R5cGUnID0gJ3BzJzsgJ29yaWdpbicgPSByWzBdOyAnc2l6ZScgPSByWzFdDQotO10pOw0KLSAgICBzZXR3aWRnZXRhdHRyIChjYW52YXMsIFsnd2luZG93JyA9IHdyZWN0O10pOw0KLSAgICBmb3IgKGkgPSAwOyBzbGlkZXNbaV07IGkgPSBpICsgMSkgew0KLSAgICAgICAgc2xpZGVwID0gc2xpZGVzW2ldOw0KLSAgICAgICAgaWYgKH5zbGlkZXAuc2tpcCkNCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBzbGlkZXAudGV4dFtqXTsgaiA9IGogKyAxKQ0KLSAgICAgICAgICAgICAgICB0ZXh0IChjYW52YXMsIHNsaWRlcCwgc2xpZGVwLnRwb3Nbal0sIHNsaWRlcC50ZXh0W2pdLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIHgycHNbZm9udHNbc2xpZGVwLmZvbnRdW3NsaWRlcC5zaXplXV0sDQotICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVwLnRzaXpbal0ueSwgc2xpZGVwLmp1c3QsIDEpOw0KLSAgICB9DQotICAgIGRlc3Ryb3l3aWRnZXQgKGNhbnZhcyk7DQotICAgIGNhbnZhcz1kZWZjYW52YXM7DQotfTsNCi1kb2l0ID0gZnVuY3Rpb24gKCkgew0KLSAgICBjYWxjICgpOw0KLSAgICByZWRyYXcgKCk7DQotICAgIGRvcHMgKCk7DQotfTsNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS90cmVlLmxlZnR5IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvbGVmdHkvdHJlZS5sZWZ0eQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTY0NWFkMS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9sZWZ0eS90cmVlLmxlZnR5CisrKyAvZGV2L251bGwKQEAgLTEsMTk1ICswLDAgQEAKLWxvYWQgKCdkZWYubGVmdHknKTsNCi1kZWZpbml0ICgpOw0KLSMNCi0jIGluaXRpYWxpemUgd2luZG93IGRhdGENCi0jDQotY2FudmFzID0gZGVmY2FudmFzOw0KLXdyZWN0ID0gWzAgPSBbJ3gnID0gLTU7ICd5JyA9IDA7XTsgMSA9IFsneCcgPSA0MTA7ICd5JyA9IDUwMDtdO107DQotc2V0d2lkZ2V0YXR0ciAoY2FudmFzLCBbJ3dpbmRvdycgPSB3cmVjdDtdKTsNCi0jDQotIyBkYXRhIHN0cnVjdHVyZXMNCi0jDQotbm9kZWFycmF5ID0gW107DQotbm9kZW51bSA9IDA7DQotZGlzdCA9IFsneCcgPSA0MDsgJ3knID0gNDA7XTsNCi1kZWZzaXplID0gWyd4JyA9IDEwOyAneScgPSAxMDtdOw0KLWZvbnRuYW1lID0gJ2ZpeGVkJzsNCi1mb250c2l6ZSA9IDE4Ow0KLXRyZWUgPSBudWxsOw0KLQ0KLSMgZHJhd2luZyBmdW5jdGlvbnMNCi0jDQotYm94bm9kZSA9IGZ1bmN0aW9uIChub2RlKSB7DQotICAgIGxvY2FsIGNlbnRlcjsNCi0gICAgYm94IChjYW52YXMsIG5vZGUsIG5vZGUucmVjdCwgWydjb2xvcicgPSAwOyAnZmlsbCcgPSAnb24nO10pOw0KLSAgICBib3ggKGNhbnZhcywgbm9kZSwgbm9kZS5yZWN0KTsNCi0gICAgY2VudGVyID0gWw0KLSAgICAgICAgJ3gnID0gKG5vZGUucmVjdFswXS54ICsgbm9kZS5yZWN0WzFdLngpIC8gMjsNCi0gICAgICAgICd5JyA9IChub2RlLnJlY3RbMF0ueSArIG5vZGUucmVjdFsxXS55KSAvIDI7DQotICAgIF07DQotICAgIGlmIChub2RlLm5hbWUpDQotICAgICAgICB0ZXh0IChjYW52YXMsIG5vZGUsIGNlbnRlciwgbm9kZS5uYW1lLCBmb250bmFtZSwgZm9udHNpemUsICdjYycpOw0KLX07DQotY2lyY2xlbm9kZSA9IGZ1bmN0aW9uIChub2RlKSB7DQotICAgIGxvY2FsIGNlbnRlciwgcmFkaXVzOw0KLSAgICBjZW50ZXIgPSBbDQotICAgICAgICAneCcgPSAobm9kZS5yZWN0WzBdLnggKyBub2RlLnJlY3RbMV0ueCkgLyAyOw0KLSAgICAgICAgJ3knID0gKG5vZGUucmVjdFswXS55ICsgbm9kZS5yZWN0WzFdLnkpIC8gMjsNCi0gICAgXTsNCi0gICAgcmFkaXVzID0gWw0KLSAgICAgICAgJ3gnID0gY2VudGVyLnggLSBub2RlLnJlY3RbMF0ueDsNCi0gICAgICAgICd5JyA9IGNlbnRlci55IC0gbm9kZS5yZWN0WzBdLnk7DQotICAgIF07DQotICAgIGFyYyAoY2FudmFzLCBub2RlLCBjZW50ZXIsIHJhZGl1cywgWydjb2xvcicgPSAwOyAnZmlsbCcgPSAnb24nO10pOw0KLSAgICBhcmMgKGNhbnZhcywgbm9kZSwgY2VudGVyLCByYWRpdXMpOw0KLSAgICBpZiAobm9kZS5uYW1lKQ0KLSAgICAgICAgdGV4dCAoY2FudmFzLCBub2RlLCBjZW50ZXIsIG5vZGUubmFtZSwgZm9udG5hbWUsIGZvbnRzaXplLCAnY2MnKTsNCi19Ow0KLWRyYXdub2RlID0gYm94bm9kZTsNCi1kcmF3ZWRnZSA9IGZ1bmN0aW9uIChub2RlMSwgbm9kZTIpIHsNCi0gICAgbGluZSAoY2FudmFzLCBudWxsLA0KLSAgICAgICAgICAgIFsNCi0gICAgICAgICAgICAgICAgJ3gnID0gKG5vZGUxLnJlY3RbMV0ueCArIG5vZGUxLnJlY3RbMF0ueCkgLyAyOw0KLSAgICAgICAgICAgICAgICAneScgPSBub2RlMS5yZWN0WzBdLnk7DQotICAgICAgICAgICAgXSwgWw0KLSAgICAgICAgICAgICAgICAneCcgPSAobm9kZTIucmVjdFsxXS54ICsgbm9kZTIucmVjdFswXS54KSAvIDI7DQotICAgICAgICAgICAgICAgICd5JyA9IG5vZGUyLnJlY3RbMV0ueTsNCi0gICAgICAgICAgICBdKTsNCi19Ow0KLWRyYXd0cmVlID0gZnVuY3Rpb24gKG5vZGUpIHsNCi0gICAgbG9jYWwgaTsNCi0gICAgZm9yIChpIGluIG5vZGVhcnJheSkNCi0gICAgICAgIGRyYXdub2RlIChub2RlYXJyYXlbaV0pOw0KLSAgICBkcmF3dHJlZXJlYyAobm9kZSk7DQotfTsNCi1kcmF3dHJlZXJlYyA9IGZ1bmN0aW9uIChub2RlKSB7DQotICAgIGxvY2FsIGksIG47DQotICAgIGlmICgobiA9IHRhYmxlc2l6ZSAobm9kZS5jaCkpID4gMCkgew0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkgPSBpICsgMSkgew0KLSAgICAgICAgICAgIGRyYXdlZGdlIChub2RlLCBub2RlLmNoW2ldKTsNCi0gICAgICAgICAgICBkcmF3dHJlZXJlYyAobm9kZS5jaFtpXSk7DQotICAgICAgICB9DQotICAgIH0NCi19Ow0KLXJlZHJhdyA9IGZ1bmN0aW9uIChjKSB7DQotICAgIGlmICh0cmVlKQ0KLSAgICAgICAgZHJhd3RyZWUgKHRyZWUpOw0KLX07DQotDQotIyBsYXlvdXQgZnVuY3Rpb25zDQotIw0KLWNvbXBsYXlvdXQgPSBmdW5jdGlvbiAoKSB7DQotICAgIGxlYWZ4ID0gMDsNCi0gICAgbGVhZnJhbmsgPSAwOw0KLSAgICBkb2xheW91dCAodHJlZSwgd3JlY3RbMV0ueSAtIDEwKTsNCi0gICAgcmVtb3ZlICgnbGVhZngnKTsNCi0gICAgcmVtb3ZlICgnbGVhZnJhbmsnKTsNCi19Ow0KLWRvbGF5b3V0ID0gZnVuY3Rpb24gKG5vZGUsIHBhcnkpIHsNCi0gICAgbG9jYWwgciwgbiwgaSwgc2l6ZSwgbGNocCwgcmNocDsNCi0gICAgc2l6ZSA9IG5vZGVzaXplIChub2RlKTsNCi0gICAgaWYgKG5vZGUuY2huID4gMCkgew0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG5vZGUuY2huOyBpID0gaSArIDEpDQotICAgICAgICAgICAgZG9sYXlvdXQgKG5vZGUuY2hbaV0sIHBhcnkgLSBzaXplLnkgLSBkaXN0LnkpOw0KLSAgICAgICAgbm9kZS5yYW5rID0gKG5vZGUuY2hbMF0ucmFuayArIG5vZGUuY2hbbm9kZS5jaG4gLSAxXS5yYW5rKSAvIDI7DQotICAgICAgICBsY2hwID0gbm9kZS5jaFswXS5yZWN0Ow0KLSAgICAgICAgcmNocCA9IG5vZGUuY2hbbm9kZS5jaG4gLSAxXS5yZWN0Ow0KLSAgICAgICAgclswXS54ID0gbGNocFswXS54ICsgKChyY2hwWzFdLnggLSBsY2hwWzBdLngpIC0gc2l6ZS54KSAvIDI7DQotICAgICAgICByWzBdLnkgPSBwYXJ5IC0gc2l6ZS55Ow0KLSAgICAgICAgclsxXS54ID0gclswXS54ICsgc2l6ZS54Ow0KLSAgICAgICAgclsxXS55ID0gcGFyeTsNCi0gICAgICAgIG5vZGUucmVjdCA9IHI7DQotICAgIH0gZWxzZSB7DQotICAgICAgICBub2RlLnJhbmsgPSBsZWFmcmFuazsNCi0gICAgICAgIHJbMF0ueCA9IGxlYWZ4Ow0KLSAgICAgICAgclswXS55ID0gcGFyeSAtIHNpemUueTsNCi0gICAgICAgIHJbMV0ueCA9IHJbMF0ueCArIHNpemUueDsNCi0gICAgICAgIHJbMV0ueSA9IHBhcnk7DQotICAgICAgICBsZWFmcmFuayA9IGxlYWZyYW5rICsgMTsNCi0gICAgICAgIGxlYWZ4ID0gclsxXS54ICsgZGlzdC54Ow0KLSAgICAgICAgbm9kZS5yZWN0ID0gcjsNCi0gICAgfQ0KLX07DQotDQotIyBlZGl0aW5nIGZ1bmN0aW9ucw0KLSMNCi1pbm9kZSA9IGZ1bmN0aW9uIChwb2ludCwgbmFtZSkgew0KLSAgICBsb2NhbCBpLCBubnVtLCBzaXplOw0KLSAgICBubnVtID0gbm9kZW51bTsNCi0gICAgaWYgKH5uYW1lKQ0KLSAgICAgICAgbmFtZSA9IGFzayAoJ2dpdmUgbmFtZSBvZiBub2RlOicpOw0KLSAgICBub2RlYXJyYXlbbm51bV0uY2ggPSBbXTsNCi0gICAgbm9kZWFycmF5W25udW1dLmNobiA9IDA7DQotICAgIG5vZGVhcnJheVtubnVtXS5uYW1lID0gbmFtZTsNCi0gICAgc2l6ZSA9IG5vZGVzaXplIChub2RlYXJyYXlbbm51bV0pOw0KLSAgICBub2RlYXJyYXlbbm51bV0ucmVjdFswXSA9IHBvaW50Ow0KLSAgICBub2RlYXJyYXlbbm51bV0ucmVjdFsxXSA9IFsneCcgPSBwb2ludC54ICsgc2l6ZS54OyAneScgPSBwb2ludC55ICsgc2l6ZS55O107DQotICAgIG5vZGVudW0gPSBub2RlbnVtICsgMTsNCi0gICAgaWYgKH50cmVlKSB7DQotICAgICAgICB0cmVlID0gbm9kZWFycmF5W25udW1dOw0KLSAgICAgICAgdHJlZS5kZXB0aCA9IDA7DQotICAgICAgICBjb21wbGF5b3V0ICgpOw0KLSAgICAgICAgZHJhd3RyZWUgKHRyZWUpOw0KLSAgICB9IGVsc2UNCi0gICAgICAgIGRyYXd0cmVlIChub2RlYXJyYXlbbm51bV0pOw0KLSAgICByZXR1cm4gbm9kZWFycmF5W25udW1dOw0KLX07DQotaWVkZ2UgPSBmdW5jdGlvbiAobm9kZTEsIG5vZGUyKSB7DQotICAgIG5vZGUxLmNoW25vZGUxLmNobl0gPSBub2RlMjsNCi0gICAgbm9kZTEuY2huID0gbm9kZTEuY2huICsgMTsNCi0gICAgbm9kZTIuZGVwdGggPSBub2RlMS5kZXB0aCArIDE7DQotICAgIGNvbXBsYXlvdXQgKCk7DQotICAgIGNsZWFyIChjYW52YXMpOw0KLSAgICBkcmF3dHJlZSAodHJlZSk7DQotfTsNCi1maXggPSBmdW5jdGlvbiAobm9kZSwgb3AsIG5wKSB7DQotICAgIGlmIChub2RlLmRlcHRoIH49IDApDQotICAgICAgICBkaXN0LnkgPSBkaXN0LnkgKyAob3AueSAtIG5wLnkpIC8gbm9kZS5kZXB0aDsNCi0gICAgaWYgKG5vZGUucmFuayB+PSAwKQ0KLSAgICAgICAgZGlzdC54ID0gZGlzdC54ICsgKG5wLnggLSBvcC54KSAvIG5vZGUucmFuazsNCi0gICAgY29tcGxheW91dCAoKTsNCi0gICAgY2xlYXIgKGNhbnZhcyk7DQotICAgIGRyYXd0cmVlICh0cmVlKTsNCi19Ow0KLW5vZGVzaXplID0gZnVuY3Rpb24gKG5vZGUpIHsNCi0gICAgbG9jYWwgc2l6Ow0KLSAgICBpZiAofihzaXogPSB0ZXh0c2l6ZSAoY2FudmFzLCBub2RlLm5hbWUsIGZvbnRuYW1lLCBmb250c2l6ZSkpKQ0KLSAgICAgICAgc2l6ID0gZGVmc2l6ZTsNCi0gICAgZWxzZSB7DQotICAgICAgICBzaXoueCA9IHNpei54ICsgODsNCi0gICAgICAgIHNpei55ID0gc2l6LnkgKyA4Ow0KLSAgICB9DQotICAgIHJldHVybiBzaXo7DQotfTsNCi1jaGFuZ2Vub2RlID0gZnVuY3Rpb24gKG5vZGVzdHlsZSkgew0KLSAgICBkcmF3bm9kZSA9IG5vZGVzdHlsZTsNCi0gICAgY2xlYXIgKGNhbnZhcyk7DQotICAgIGRyYXd0cmVlICh0cmVlKTsNCi19Ow0KLQ0KLSMgdXNlciBpbnRlcmZhY2UgZnVuY3Rpb25zDQotIw0KLWxlZnRkb3duID0gZnVuY3Rpb24gKGRhdGEpIHsNCi0gICAgaWYgKH5kYXRhLm9iaikNCi0gICAgICAgIGlub2RlIChkYXRhLnBvcywgbnVsbCk7DQotfTsNCi1sZWZ0dXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBpZiAoZGF0YS5wb2JqKQ0KLSAgICAgICAgZml4IChkYXRhLnBvYmosIGRhdGEucHBvcywgZGF0YS5wb3MpOw0KLX07DQotbWlkZGxldXAgPSBmdW5jdGlvbiAoZGF0YSkgew0KLSAgICBpZiAoZGF0YS5wb2JqICYgZGF0YS5vYmopDQotICAgICAgICBpZWRnZSAoZGF0YS5wb2JqLCBkYXRhLm9iaik7DQotfTsNCi1kb3BzID0gZnVuY3Rpb24gKCkgew0KLSAgICBsb2NhbCBzOw0KLQ0KLSAgICBzID0gWyd4JyA9IDggKiAzMDA7ICd5JyA9IDEwLjUgKiAzMDA7XTsNCi0gICAgZm9udG5hbWUgPSAnVGltZXMtUm9tYW4nOw0KLSAgICBjYW52YXMgPSBjcmVhdGV3aWRnZXQgKC0xLCBbJ3R5cGUnID0gJ3BzJzsgJ3NpemUnID0gcztdKTsNCi0gICAgc2V0d2lkZ2V0YXR0ciAoY2FudmFzLCBbJ3dpbmRvdycgPSB3cmVjdDtdKTsNCi0gICAgZHJhd3RyZWUgKHRyZWUpOw0KLSAgICBkZXN0cm95d2lkZ2V0IChjYW52YXMpOw0KLSAgICBjYW52YXM9ZGVmY2FudmFzOw0KLSAgICBmb250bmFtZSA9ICdmaXhlZCc7DQotfTsNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliY2R0LnBjIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvcGtnY29uZmlnL2xpYmNkdC5wYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg5ODg3OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliY2R0LnBjCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcHJlZml4PS9jL2dyYXBodml6LW1pbmd3L2xvY2FsLjIuMjAuMw0KLWV4ZWNfcHJlZml4PSR7cHJlZml4fQ0KLWxpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWINCi1pbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlL2dyYXBodml6DQotDQotTmFtZTogbGliY2R0DQotRGVzY3JpcHRpb246IENvbnRhaW5lciBEYXRhVHlwZSBsaWJyYXJ5DQotVmVyc2lvbjogMi4yMC4zDQotTGliczogLUwke2xpYmRpcn0gLWxjZHQNCi1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJjZ3JhcGgucGMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliY2dyYXBoLnBjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWE2NjlkLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJjZ3JhcGgucGMKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1wcmVmaXg9L2MvZ3JhcGh2aXotbWluZ3cvbG9jYWwuMi4yMC4zDQotZXhlY19wcmVmaXg9JHtwcmVmaXh9DQotbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYg0KLWluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUvZ3JhcGh2aXoNCi0NCi1OYW1lOiBsaWJjZ3JhcGgNCi1EZXNjcmlwdGlvbjogR3JhcGggbGlicmFyeSAoZmlsZSBpL28sIGRvdCBsYW5ndWFnZSBwYXJzaW5nLCBncmFwaCwgc3ViZ3JhcGgsIG5vZGUsIGVkZ2UsIGF0dHJpYnV0ZSwgZGF0YSBzdHJ1Y3R1cmUgbWFuaXB1bGF0aW9uKQ0KLVZlcnNpb246IDIuMjAuMw0KLUxpYnM6IC1MJHtsaWJkaXJ9IC1sY2dyYXBoIC1sY2R0DQotQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliZ3JhcGgucGMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliZ3JhcGgucGMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiOWU0NzcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9saWIvcGtnY29uZmlnL2xpYmdyYXBoLnBjCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcHJlZml4PS9jL2dyYXBodml6LW1pbmd3L2xvY2FsLjIuMjAuMw0KLWV4ZWNfcHJlZml4PSR7cHJlZml4fQ0KLWxpYmRpcj0ke2V4ZWNfcHJlZml4fS9saWINCi1pbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlL2dyYXBodml6DQotDQotTmFtZTogbGliZ3JhcGgNCi1EZXNjcmlwdGlvbjogR3JhcGggbGlicmFyeSAoZmlsZSBpL28sIGRvdCBsYW5ndWFnZSBwYXJzaW5nLCBncmFwaCwgc3ViZ3JhcGgsIG5vZGUsIGVkZ2UsIGF0dHJpYnV0ZSwgZGF0YSBzdHJ1Y3R1cmUgbWFuaXB1bGF0aW9uKQ0KLVZlcnNpb246IDIuMjAuMw0KLUxpYnM6IC1MJHtsaWJkaXJ9IC1sZ3JhcGggLWxjZHQNCi1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJndmMucGMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGliZ3ZjLnBjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjZjNGUzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJndmMucGMKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1wcmVmaXg9L2MvZ3JhcGh2aXotbWluZ3cvbG9jYWwuMi4yMC4zDQotZXhlY19wcmVmaXg9JHtwcmVmaXh9DQotbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYg0KLWluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUvZ3JhcGh2aXoNCi1wbHVnaW5zPTUNCi0NCi1OYW1lOiBsaWJndmMNCi1EZXNjcmlwdGlvbjogVGhlIEdyYXBoVml6Q29udGV4dCBsaWJyYXJ5IA0KLVZlcnNpb246IDIuMjAuMw0KLUxpYnM6IC1MJHtsaWJkaXJ9IC1sZ3ZjIC1sZ3JhcGggLWxjZHQNCi1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJwYXRocGxhbi5wYyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvbGliL3BrZ2NvbmZpZy9saWJwYXRocGxhbi5wYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRkNDc3Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL2xpYi9wa2djb25maWcvbGlicGF0aHBsYW4ucGMKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1wcmVmaXg9L2MvZ3JhcGh2aXotbWluZ3cvbG9jYWwuMi4yMC4zDQotZXhlY19wcmVmaXg9JHtwcmVmaXh9DQotbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYg0KLWluY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUvZ3JhcGh2aXoNCi0NCi1OYW1lOiBsaWJwYXRocGxhbg0KLURlc2NyaXB0aW9uOiBMaWJyYXJ5IGZvciBwbGFubmluZyBwb2x5bGluZSBhbmQgYmV6aWVyIHBhdGhzIGFyb3VuZCBwb2x5Z29uIG9ic3RhY2xlcw0KLVZlcnNpb246IDIuMjAuMw0KLUxpYnM6IC1MJHtsaWJkaXJ9IC1scGF0aHBsYW4NCi1DZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL2hlbHBlcnMvR3JhcGh2aXoyLjI2LjMvc2hhcmUvZm9udHMvRnJlZVNhbnMudHRmIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9zaGFyZS9mb250cy9GcmVlU2Fucy50dGYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyOTExZTkuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9zaGFyZS9mb250cy9GcmVlU2Fucy50dGYKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL3NoYXJlL2xpY2Vuc2UucnRmIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9HcmFwaHZpejIuMjYuMy9zaGFyZS9saWNlbnNlLnJ0ZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2I3NzRmMi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL0dyYXBodml6Mi4yNi4zL3NoYXJlL2xpY2Vuc2UucnRmCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy9zZnhfY29tbWVudC50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL3NmeF9jb21tZW50LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ5ODEyOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL3NmeF9jb21tZW50LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotO1RoZSBjb21tZW50IGJlbG93IGNvbnRhaW5zIFNGWCBzY3JpcHQgY29tbWFuZHMNCi0NCi1TZXR1cD11cGRhdGUuY21kDQotVGVtcE1vZGUNCi1UaXRsZT0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL3VwZGF0ZU5hbWUudmJzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvaGVscGVycy91cGRhdGVOYW1lLnZicwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWZkYzQyMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS9oZWxwZXJzL3VwZGF0ZU5hbWUudmJzCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRGltIFdzaFNoZWxsLCBvRXhlYywgcmUsIFJldmlzaW9uDQotU2V0IFdzaFNoZWxsID0gQ3JlYXRlT2JqZWN0KCJXU2NyaXB0LlNoZWxsIikNCi0nR2V0IHRoZSBzdm4gcmV2aXNpb24gb2YgV1BJTGliIHRoYXQgaXMgYmVpbmcgaW5zdGFsbGVkDQotU2V0IG9FeGVjID0gV3NoU2hlbGwuRXhlYygic3ZudmVyc2lvbiAtbiAuLi9XUElMaWIiKQ0KLQ0KLSdXZSB3YWl0IGZvciB0aGUgZW5kIG9mIHByb2Nlc3MNCi1EbyBXaGlsZSBvRXhlYy5TdGF0dXMgPSAwDQotICAgIFdTY3JpcHQuU2xlZXAgMTAwDQotTG9vcA0KLQ0KLSdSZWFkIHRoZSBjb21tYW5kIG91dHB1dCANCi1EbyBXaGlsZSBvRXhlYy5TdGRPdXQuQXRFbmRPZlN0cmVhbSA8PiBUcnVlIA0KLSAgICBSZXZpc2lvbiA9IG9FeGVjLlN0ZE91dC5SZWFkTGluZQ0KLUxvb3ANCi0NCi0nQ2hlY2sgZm9yIHBhcnRpYWwgc3luYyAoOikgb3IgbW9kaWZpZWQgZmlsZXMgKE0pDQotU2V0IHJlID0gbmV3IHJlZ2V4cA0KLXJlLlBhdHRlcm4gPSAiW006XSINCi1JZiByZS5UZXN0KFJldmlzaW9uKSA8PiB0cnVlIFRoZW4NCi0JV3NjcmlwdC5lY2hvKFllYXIoRGF0ZSgpKSAmIF8NCi0gICAgICAgIFJpZ2h0KCIwIiAmIE1vbnRoKGRhdGUoKSksIDIpICYgXw0KLSAgICAgICAgUmlnaHQoIjAiICYgRGF5KGRhdGUoKSksIDIpICYgXw0KLQkJInJldiIgJiBSZXZpc2lvbikNCi1FbHNlDQotCVdzY3JpcHQuZWNobygiQmFkU1ZOU3luYyIpDQotRW5kIElmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdXBkYXRlLmNtZCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3VwZGF0ZS5jbWQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5NjMyZTIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdXBkYXRlLmNtZAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLXJtZGlyIC9zIC9xIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXRcaFxXUElMaWINCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XGhcZnJjdmlzaW9uDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXGRvY3NcZXh0ZW5zaW9uc1xXUElMaWINCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcV1BJTGliDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xTaW1wbGVSb2JvdA0KLXJtZGlyIC9zIC9xIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXRcc3JjXGRlbW9cSXRlcmF0aXZlUm9ib3QNCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXEJ1aWx0aW5EZWZhdWx0Q29kZQ0KLXJtZGlyIC9zIC9xIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXRcc3JjXGRlbW9cQ1NpbXBsZVRlbXBsYXRlDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xEYXNoYm9hcmREYXRhRXhhbXBsZQ0KLXJtZGlyIC9zIC9xIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXRcc3JjXGRlbW9cRGFzaGJvYXJkRGVtbw0KLXJtZGlyIC9zIC9xIEM6XFdpbmRSaXZlclx2eHdvcmtzLTYuM1x0YXJnZXRcc3JjXGRlbW9cRGVmYXVsdFJvYm90DQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xHeXJvU2FtcGxlDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xJdGVyYXRpdmVCZW5jaHRvcERlbW8NCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXEl0ZXJhdGl2ZURlbW8NCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXFNpbXBsZVRlbXBsYXRlDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xTaW1wbGVUcmFja2VyDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xWaXNpb25EZW1vDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xWaXNpb25TZXJ2b0RlbW8NCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXDIwMTBJbWFnZURlbW8NCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXFR3b0NvbG9yVHJhY2tEZW1vDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xDYW1lcmFEZW1vDQotcm1kaXIgL3MgL3EgQzpcV2luZFJpdmVyXHZ4d29ya3MtNi4zXHRhcmdldFxzcmNcZGVtb1xDYW1lcmFUb0Rhc2hib2FyZEV4YW1wbGUNCi1ybWRpciAvcyAvcSBDOlxXaW5kUml2ZXJcdnh3b3Jrcy02LjNcdGFyZ2V0XHNyY1xkZW1vXExpbmVUcmFja2VyU2FtcGxlDQotDQotZGVsIC9xIEM6XFdpbmRSaXZlclx3b3JrYmVuY2gtMy4wXHdyd2Jcd3J3b3JrYmVuY2hcZWNsaXBzZVxwbHVnaW5zXGVkdS53cGkuKg0KLWRlbCAvcSBDOlxXaW5kUml2ZXJcd29ya2JlbmNoLTMuM1x3cndiXHdyd29ya2JlbmNoXGVjbGlwc2VccGx1Z2luc1xlZHUud3BpLioNCi1kZWwgL3EgQzpcV2luZFJpdmVyXFdQSUxpYlwqLm91dA0KLWRlbCAvcSBDOlxXaW5kUml2ZXJcV1BJTGliXHZ4V29ya3MNCi1kZWwgL3EgQzpcV2luZFJpdmVyXFdQSUxpYlxjUklPRlJDX3Z4V29ya3MNCi1kZWwgL3EgQzpcV2luZFJpdmVyXFdQSUxpYlxjUklPRlJDSUlfdnhXb3Jrcw0KLWRlbCAvcSBjOlxXaW5kUml2ZXJcZG9jc1xleHRlbnNpb25zXEZSQ1wqLioNCi1kZWwgL3EgYzpcV2luZFJpdmVyXGRvY3NcZXh0ZW5zaW9uc1xGUkNfVmlzaW9uX0FQSV9TcGVjaWZpY2F0aW9uLioNCi1kZWwgL3EgYzpcV2luZFJpdmVyXGRvY3NcZXh0ZW5zaW9uc1xOSVZpc2lvbkNWSS4qDQotZGVsIC9xIGM6XFdpbmRSaXZlclxkb2NzXGV4dGVuc2lvbnNcUm9ib3QqLioNCi1kZWwgL3EgYzpcV2luZFJpdmVyXGRvY3NcZXh0ZW5zaW9uc1xXUEkqLioNCi0NCi14Y29weSB2eHdvcmtzLTYuMyBjOlx3aW5kcml2ZXJcdnh3b3Jrcy02LjMgL3MgL3kgL2kNCi14Y29weSB3b3JrYmVuY2gtMy4wIGM6XHdpbmRyaXZlclx3b3JrYmVuY2gtMy4wIC9zIC95IC9pDQoteGNvcHkgd29ya2JlbmNoLTMuMyBjOlx3aW5kcml2ZXJcd29ya2JlbmNoLTMuMyAvcyAveSAvaQ0KLXhjb3B5IFdQSUxpYiBjOlx3aW5kcml2ZXJcV1BJTGliIC9zIC95IC9pDQoteGNvcHkgZG9jcyBjOlx3aW5kcml2ZXJcZG9jcyAvcyAveSAvaQ0KLQ0KLW1rZGlyIGM6XHdpbmRyaXZlclx3cGlsaWJcY1JJT19JbWFnZXMNCi1ta2RpciBjOlx3aW5kcml2ZXJcd3BpbGliXGNSSU9fSW1hZ2VzXGJhY2t1cA0KLWNvcHkgYzpcd2luZHJpdmVyXHdwaWxpYlxjUklPX0ltYWdlc1wqLnppcCBjOlx3aW5kcml2ZXJcd3BpbGliXGNSSU9fSW1hZ2VzXGJhY2t1cA0KLWRlbCAvcSBjOlx3aW5kcml2ZXJcd3BpbGliXGNSSU9fSW1hZ2VzXCouemlwDQotY29weSBmcmNfMjAqLnppcCBjOlx3aW5kcml2ZXJcd3BpbGliXGNSSU9fSW1hZ2VzDQotDQotcmVuIEM6XFdpbmRSaXZlclxnbnVcMy40LjQtdnh3b3Jrcy02LjNceDg2LXdpbjMyXGxpYmV4ZWNcZ2NjXHBvd2VycGMtd3JzLXZ4d29ya3NcMy40LjRcZ2V0X2ZlYXR1cmUuZXhlIGdldF9mZWF0dXJlLmhhbmdzLmV4ZQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy5jcHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy5jcHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmE5MmVkYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby8uY3Byb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi08c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jY29uZmlndXJhdGlvbj4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzg2NjQ1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT4yMDEwSW1hZ2VEZW1vPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vLzIwMTBJbWFnZURlbW8vLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODYzZjg1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xjbWQiIHZhbHVlPSIlbWFrZXByZWZpeCUgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98ZGVmYXVsdFNwZWMiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJSb290IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98c3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGludEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEVuYWJsZWQiIHZhbHVlPSIxIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRGb3JCdWlsZFNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQnVpbGRUYXJnZXRDZW50cmljIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgPC9tYXBBdHRyaWJ1dGU+DQotICAgIDwvYXR0cmlidXRlcz4NCi0gICAgPGJ1aWxkdGFyZ2V0cz4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IkxpbmtlciIgbmFtZT0iMjAxMEltYWdlRGVtbyIgcGFzc2VkPSJmYWxzZSIgdGFyZ2V0bmFtZT0iMjAxMEltYWdlRGVtbyI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8Zm9sZGVyIG5hbWU9Ii8yMDEwSW1hZ2VEZW1vIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9EYXNoYm9hcmREYXRhU2VuZGVyLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL0Rhc2hib2FyZERhdGFTZW5kZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2IxOWFiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL0Rhc2hib2FyZERhdGFTZW5kZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjI2ICswLDAgQEAKLSNpbmNsdWRlICJEYXNoYm9hcmREYXRhU2VuZGVyLmgiDQotI2luY2x1ZGUgIldQSUxpYi5oIg0KLQ0KLS8qKg0KLSAqIFNlbmQgZGF0YSB0byB0aGUgZGFzaGJvYXJkLg0KLSAqIFRoaXMgY2xhc3Mgc2VuZHMgdHdvIHR5cGVzIG9mIGRhdGEgdG8gdGhlIGRhc2hib2FyZCBwcm9ncmFtOg0KLSAqIDEuIERhdGEgcmVwcmVzZW50aW5nIGFsbCB0aGUgcG9ydHMgb24gdGhlIHJvYm90DQotICogMi4gQ2FtZXJhIHRyYWNraW5nIGRhdGEgc28gdGhlIGRhc2hib2FyZCBjYW4gYW5ub3RhdGUgdGhlIHZpZGVvIHN0cmVhbSB3aXRoDQotICogICAgdGFyZ2V0IGluZm9ybWF0aW9uLg0KLSAqLw0KLURhc2hib2FyZERhdGFTZW5kZXI6OkRhc2hib2FyZERhdGFTZW5kZXIoKQ0KLXsNCi0JLy8gdGhlc2UgdGltZXJzIG1ha2Ugc3VyZSB0aGF0IHRoZSBkYXRhIGlzIG5vdCBzZW50IHRvIHRoZSBkYXNoYm9hcmQgbW9yZQ0KLQkvLyB0aGFuIDEwIHRpbWVzIHBlciBzZWNvbmQgZm9yIGVmZmljaWVuY3kuDQotCUlPVGltZXIgPSBuZXcgVGltZXIoKTsNCi0JdmlzaW9uVGltZXIgPSBuZXcgVGltZXIoKTsNCi0JSU9UaW1lci0+U3RhcnQoKTsNCi0JdmlzaW9uVGltZXItPlN0YXJ0KCk7DQotCWFuYWxvZ01vZHVsZTEgPSBBbmFsb2dNb2R1bGU6OkdldEluc3RhbmNlKDEpOw0KLQlhbmFsb2dNb2R1bGUyID0gQW5hbG9nTW9kdWxlOjpHZXRJbnN0YW5jZSgyKTsNCi0JZGlnaXRhbE1vZHVsZTEgPSBEaWdpdGFsTW9kdWxlOjpHZXRJbnN0YW5jZSgxKTsNCi0JZGlnaXRhbE1vZHVsZTIgPSBEaWdpdGFsTW9kdWxlOjpHZXRJbnN0YW5jZSgyKTsNCi19DQotDQotLyoqDQotICogU2VuZCB0aGUgdmlzaW9uIHRyYWNraW5nIGRhdGEuDQotICogU2VuZHMgdGhlIHZpc2lvbiBpbmZvcm1hdGlvbiB0byB0aGUgZGFzaGJvYXJkIHNvIHRoYXQgdGhlIGltYWdlcyB3aWxsIGJlIGFubm90YXRlZA0KLSAqIGFuZCB0aGUgZ3JhcGhzIHdpbGwgb3BlcmF0ZS4NCi0gKi8NCi12b2lkIERhc2hib2FyZERhdGFTZW5kZXI6OnNlbmRWaXNpb25EYXRhKGRvdWJsZSBqb3lTdGlja1gsDQotCQkJCQlkb3VibGUgZ3lyb0FuZ2xlLA0KLQkJCQkJZG91YmxlIGd5cm9SYXRlLA0KLQkJCQkJZG91YmxlIHRhcmdldFgsDQotCQkJCQl2ZWN0b3I8VGFyZ2V0PiB0YXJnZXRzKQ0KLXsNCi0JaWYgKHZpc2lvblRpbWVyLT5HZXQoKSA8IDAuMSkNCi0JCXJldHVybjsNCi0JdmlzaW9uVGltZXItPlJlc2V0KCk7DQotCURhc2hib2FyZCAmZGFzaCA9IERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkdldEhpZ2hQcmlvcml0eURhc2hib2FyZFBhY2tlcigpOw0KLQlkYXNoLkFkZENsdXN0ZXIoKTsgLy8gd2lyZSAoMiBlbGVtZW50cykNCi0Jew0KLQkJZGFzaC5BZGRDbHVzdGVyKCk7IC8vIHRyYWNraW5nIGRhdGENCi0JCXsNCi0JCQlkYXNoLkFkZERvdWJsZShqb3lTdGlja1gpOyAvLyBKb3lzdGljayBYDQotCQkJZGFzaC5BZGREb3VibGUoKCgoKGludClneXJvQW5nbGUpICsgMzYwICsgMTgwKSAlIDM2MCkgLSAxODAuMCk7IC8vIGFuZ2xlDQotCQkJZGFzaC5BZGREb3VibGUoMC4wKTsgLy8gYW5ndWxhciByYXRlDQotCQkJZGFzaC5BZGREb3VibGUodGFyZ2V0WCk7IC8vIG90aGVyIFgNCi0JCX0NCi0JCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQlkYXNoLkFkZENsdXN0ZXIoKTsgLy8gdGFyZ2V0IEluZm8gKDIgZWxlbWVudHMpDQotCQl7DQotCQkJZGFzaC5BZGRBcnJheSgpOyAvLyB0YXJnZXRzDQotCQkJew0KLQkJCQlmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGFyZ2V0cy5zaXplKCk7IGkrKykNCi0JCQkJew0KLQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7IC8vIHRhcmdldHMNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZERvdWJsZSh0YXJnZXRzW2ldLm1fc2NvcmUpOyAvLyB0YXJnZXQgc2NvcmUNCi0JCQkJCQlkYXNoLkFkZENsdXN0ZXIoKTsgLy8gQ2lyY2xlIERlc2NyaXB0aW9uICg1IGVsZW1lbnRzKQ0KLQkJCQkJCXsNCi0JCQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7IC8vIFBvc2l0aW9uICgyIGVsZW1lbnRzKQ0KLQkJCQkJCQl7DQotCQkJCQkJCQlkYXNoLkFkZEZsb2F0KChmbG9hdCkgKHRhcmdldHNbaV0ubV94UG9zIC8gdGFyZ2V0c1tpXS5tX3hNYXgpKTsgLy8gWA0KLQkJCQkJCQkJZGFzaC5BZGRGbG9hdCgoZmxvYXQpIHRhcmdldHNbaV0ubV95UG9zKTsgLy8gWQ0KLQkJCQkJCQl9DQotCQkJCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotDQotCQkJCQkJCWRhc2guQWRkRG91YmxlKHRhcmdldHNbaV0ubV9yb3RhdGlvbik7IC8vIEFuZ2xlDQotCQkJCQkJCWRhc2guQWRkRG91YmxlKHRhcmdldHNbaV0ubV9tYWpvclJhZGl1cyk7IC8vIE1ham9yIFJhZGl1cw0KLQkJCQkJCQlkYXNoLkFkZERvdWJsZSh0YXJnZXRzW2ldLm1fbWlub3JSYWRpdXMpOyAvLyBNaW5vciBSYWRpdXMNCi0JCQkJCQkJZGFzaC5BZGREb3VibGUodGFyZ2V0c1tpXS5tX3Jhd1Njb3JlKTsgLy8gUmF3IHNjb3JlDQotCQkJCQkJfQ0KLQkJCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7IC8vIFBvc2l0aW9uDQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOyAvLyB0YXJnZXRzDQotCQkJCX0NCi0JCQl9DQotCQkJZGFzaC5GaW5hbGl6ZUFycmF5KCk7DQotDQotCQkJZGFzaC5BZGRVMzIoKGludCkgMCk7DQotCQl9DQotCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOyAvLyB0YXJnZXQgSW5mbw0KLQl9DQotCWRhc2guRmluYWxpemVDbHVzdGVyKCk7IC8vIHdpcmUNCi0JZGFzaC5GaW5hbGl6ZSgpOw0KLX0NCi0NCi0vKioNCi0gKiBTZW5kIElPIHBvcnQgZGF0YSB0byB0aGUgZGFzaGJvYXJkLg0KLSAqIFNlbmQgZGF0YSByZXByZXNlbnRpbmcgdGhlIG91dHB1dCBvZiBhbGwgdGhlIElPIHBvcnRzIG9uIHRoZSBjUklPIHRvIHRoZSBkYXNoYm9hcmQuDQotICogVGhpcyBpcyBwcm9iYWJseSBub3QgdGhlIGJlc3QgZGF0YSB0byBzZW5kIGZvciB5b3VyIHJvYm90LiBCZXR0ZXIgd291bGQgYmUgaGlnaGVyDQotICogbGV2ZWwgaW5mb3JtYXRpb24gbGlrZSBhcm0gYW5nbGUgb3IgY29sbGVjdG9yIHN0YXR1cy4gQnV0IHRoaXMgaXMgYSBzYW1wbGUgYW5kIHlvdSdyZQ0KLSAqIGZyZWUgdG8gbW9kaWZ5IGl0LiBCZSBzdXJlIHRvIG1ha2UgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyBpbiB0aGUgTGFiVklFVyBleGFtcGxlDQotICogZGFzaGJvYXJkIHByb2dyYW0gcnVubmluZyBvbiB5b3VyIGRyaXZlciBzdGF0aW9uLg0KLSAqLw0KLXZvaWQgRGFzaGJvYXJkRGF0YVNlbmRlcjo6c2VuZElPUG9ydERhdGEoKQ0KLXsNCi0JaWYgKElPVGltZXItPkdldCgpIDwgMC4xKQ0KLQkJcmV0dXJuOw0KLQlJT1RpbWVyLT5SZXNldCgpOw0KLQlEYXNoYm9hcmQgJmRhc2ggPSBEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpLT5HZXRMb3dQcmlvcml0eURhc2hib2FyZFBhY2tlcigpOw0KLQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0Jew0KLQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQl7IC8vYW5hbG9nIG1vZHVsZXMgDQotCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJew0KLQkJCQlpZiAoYW5hbG9nTW9kdWxlMSAhPSBOVUxMKQ0KLQkJCQl7DQotCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSA4OyBpKyspDQotCQkJCQl7DQotCQkJCQkJZGFzaC5BZGRGbG9hdCgoZmxvYXQpYW5hbG9nTW9kdWxlMS0+R2V0QXZlcmFnZVZvbHRhZ2UoaSkpOw0KLQkJCQkJfQ0KLQkJCQl9DQotCQkJCWVsc2UNCi0JCQkJew0KLQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gODsgaSsrKQ0KLQkJCQkJew0KLQkJCQkJCWRhc2guQWRkRmxvYXQoMC4wKTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCX0NCi0JCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCXsNCi0JCQkJaWYgKGFuYWxvZ01vZHVsZTIgIT0gTlVMTCkNCi0JCQkJew0KLQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gODsgaSsrKQ0KLQkJCQkJew0KLQkJCQkJCWRhc2guQWRkRmxvYXQoKGZsb2F0KWFuYWxvZ01vZHVsZTItPkdldEF2ZXJhZ2VWb2x0YWdlKGkpKTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCQllbHNlDQotCQkJCXsNCi0JCQkJCWZvciAoaW50IGkgPSAxOyBpIDw9IDg7IGkrKykNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZEZsb2F0KDAuMCk7DQotCQkJCQl9DQotCQkJCX0NCi0JCQl9DQotCQkJZGFzaC5GaW5hbGl6ZUNsdXN0ZXIoKTsNCi0JCX0NCi0JCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotDQotCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCXsgLy9kaWdpdGFsIG1vZHVsZXMNCi0JCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCQl7DQotCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQl7DQotCQkJCQlpZiAoZGlnaXRhbE1vZHVsZTEgIT0gTlVMTCkNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KGRpZ2l0YWxNb2R1bGUxLT5HZXRSZWxheUZvcndhcmQoKSk7DQotCQkJCQkJZGFzaC5BZGRVOChkaWdpdGFsTW9kdWxlMS0+R2V0UmVsYXlSZXZlcnNlKCkpOw0KLQkJCQkJCWRhc2guQWRkVTE2KChzaG9ydClkaWdpdGFsTW9kdWxlMS0+R2V0RElPKCkpOw0KLQkJCQkJCWRhc2guQWRkVTE2KChzaG9ydClkaWdpdGFsTW9kdWxlMS0+R2V0RElPRGlyZWN0aW9uKCkpOw0KLQkJCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQkJCXsNCi0JCQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykNCi0JCQkJCQkJew0KLQkJCQkJCQkJZGFzaC5BZGRVOCgodW5zaWduZWQgY2hhcilkaWdpdGFsTW9kdWxlMS0+R2V0UFdNKGkpKTsNCi0JCQkJCQkJfQ0KLQkJCQkJCX0NCi0JCQkJCX0NCi0JCQkJCWVsc2UNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KDApOw0KLQkJCQkJCWRhc2guQWRkVTgoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJCQkJew0KLQkJCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSAxMDsgaSsrKQ0KLQkJCQkJCQkJZGFzaC5BZGRVOCgwKTsNCi0JCQkJCQl9DQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCQl9DQotCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQkJfQ0KLQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotDQotCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJew0KLQkJCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCQkJew0KLQkJCQkJaWYgKGRpZ2l0YWxNb2R1bGUyICE9IE5VTEwpDQotCQkJCQl7DQotCQkJCQkJZGFzaC5BZGRVOChkaWdpdGFsTW9kdWxlMi0+R2V0UmVsYXlGb3J3YXJkKCkpOw0KLQkJCQkJCWRhc2guQWRkVTgoZGlnaXRhbE1vZHVsZTItPkdldFJlbGF5Rm9yd2FyZCgpKTsNCi0JCQkJCQlkYXNoLkFkZFUxNigoc2hvcnQpZGlnaXRhbE1vZHVsZTItPkdldERJTygpKTsNCi0JCQkJCQlkYXNoLkFkZFUxNihkaWdpdGFsTW9kdWxlMi0+R2V0RElPRGlyZWN0aW9uKCkpOw0KLQkJCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQkJCXsNCi0JCQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykNCi0JCQkJCQkJew0KLQkJCQkJCQkJZGFzaC5BZGRVOCgodW5zaWduZWQgY2hhcilkaWdpdGFsTW9kdWxlMi0+R2V0UFdNKGkpKTsNCi0JCQkJCQkJfQ0KLQkJCQkJCX0NCi0JCQkJCX0NCi0JCQkJCWVsc2UNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KDApOw0KLQkJCQkJCWRhc2guQWRkVTgoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJCQkJew0KLQkJCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSAxMDsgaSsrKQ0KLQkJCQkJCQkJZGFzaC5BZGRVOCgwKTsNCi0JCQkJCQl9DQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCQl9DQotCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQkJfQ0KLQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQl9DQotCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQ0KLQkJLy8gQ2FuJ3QgcmVhZCBzb2xlbm9pZHMgd2l0aG91dCBhbiBpbnN0YW5jZSBvZiB0aGUgb2JqZWN0DQotCQlkYXNoLkFkZFU4KChjaGFyKSAwKTsNCi0JfQ0KLQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQlkYXNoLkZpbmFsaXplKCk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL0Rhc2hib2FyZERhdGFTZW5kZXIuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL0Rhc2hib2FyZERhdGFTZW5kZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY4N2IzMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9EYXNoYm9hcmREYXRhU2VuZGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0jaWZuZGVmIF9fRGFzaGJvYXJkRGF0YUZvcm1hdF9oX18NCi0jZGVmaW5lIF9fRGFzaGJvYXJkRGF0YUZvcm1hdF9oX18NCi0NCi0jaW5jbHVkZSA8dmVjdG9yPg0KLSNpbmNsdWRlICJUYXJnZXQuaCINCi0NCi1jbGFzcyBBbmFsb2dNb2R1bGU7DQotY2xhc3MgRGlnaXRhbE1vZHVsZTsNCi1jbGFzcyBUaW1lcjsNCi0NCi0vKioNCi0gKiBUaGlzIGNsYXNzIGlzIGp1c3QgYW4gZXhhbXBsZSBvZiBvbmUgd2F5IHlvdSBjb3VsZCBvcmdhbml6ZSB0aGUgZGF0YSB0aGF0IHlvdSB3YW50DQotICogdG8gc2VuZCB0byB0aGUgZGFzaGJvYXJkLiAgVGhlIFBhY2tBbmRTZW5kIG1ldGhvZCBkb2VzIGFsbCB0aGUgd29yay4gIFlvdSBjb3VsZA0KLSAqIHB1dCB0aGUgcGFja2luZyBjb2RlIGRpcmVjdGx5IGluIHlvdXIgY29kZSwgYnV0IHRoaXMgbW9kZWwgcHJvdGVjdHMgeW91IGZyb20NCi0gKiBwYWNraW5nIGRhdGEgaW4gdGhlIHdyb25nIG9yZGVyIHRocm91Z2hvdXQgeW91ciBjb2RlLg0KLSAqIA0KLSAqIFRoZSBkYXRhIGFuZCB0aGUgZm9ybWF0IG9mIHRoaXMgc3RydWN0dXJlIGFyZSBqdXN0IGFuIGV4YW1wbGUuICBJdCBpcyB3cml0dGVuIHRvDQotICogbWF0Y2ggdGhlIGluaXRpYWwgZGF0YSBmb3JtYXQgZXhwZWN0ZWQgYnkgdGhlIExhYlZJRVcgRGFzaGJvYXJkIHByb2plY3QuICBGZWVsIGZyZWUNCi0gKiB0byBhZGQgZGF0YSBlbGVtZW50cyBvciByZW1vdmUgdGhlbS4gIEp1c3QgcmVtZW1iZXIgdG8gbWFrZSBhbnkgY2hhbmdlcyBjb25zaXN0ZW50bHkNCi0gKiBiZXR3ZWVuIHRoZSBMYWJWSUVXICJEYXNoYm9hcmQgRGF0YXR5cGUiIGFuZCB0aGUgZGF0YSB0aGF0IGdldHMgcGFja2VkIGJ5IHRoaXMgY2xhc3MuDQotICovDQotY2xhc3MgRGFzaGJvYXJkRGF0YVNlbmRlcg0KLXsNCi1wdWJsaWM6DQotCURhc2hib2FyZERhdGFTZW5kZXIoKTsNCi0Jdm9pZCBzZW5kSU9Qb3J0RGF0YSgpOw0KLQl2b2lkIHNlbmRWaXNpb25EYXRhKGRvdWJsZSBqb3lTdGlja1gsDQotCQkJCQlkb3VibGUgZ3lyb0FuZ2xlLA0KLQkJCQkJZG91YmxlIGd5cm9SYXRlLA0KLQkJCQkJZG91YmxlIHRhcmdldFgsDQotCQkJCQl2ZWN0b3I8VGFyZ2V0PiB0YXJnZXRzKTsNCi1wcml2YXRlOg0KLQlUaW1lciAqdmlzaW9uVGltZXI7DQotCVRpbWVyICpJT1RpbWVyOw0KLQlBbmFsb2dNb2R1bGUgKmFuYWxvZ01vZHVsZTE7DQotCUFuYWxvZ01vZHVsZSAqYW5hbG9nTW9kdWxlMjsNCi0JRGlnaXRhbE1vZHVsZSAqZGlnaXRhbE1vZHVsZTE7DQotCURpZ2l0YWxNb2R1bGUgKmRpZ2l0YWxNb2R1bGUyOw0KLX07DQotI2VuZGlmIC8vIF9fRGFzaGJvYXJkRGF0YUZvcm1hdF9oX18NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9NeVJvYm90LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL015Um9ib3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmFjNDc3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL015Um9ib3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTc4ICswLDAgQEAKLSNpbmNsdWRlICJXUElMaWIuaCINCi0NCi0jaW5jbHVkZSAiVGFyZ2V0LmgiDQotI2luY2x1ZGUgIkRhc2hib2FyZERhdGFTZW5kZXIuaCINCi0NCi0jZGVmaW5lIE1JTklNVU1fU0NPUkUgMC4wMQ0KLQ0KLWRvdWJsZSBvdXRwdXRWYWx1ZTsNCi0NCi1jbGFzcyBTYW1wbGVQSURPdXRwdXQgOiBwdWJsaWMgUElET3V0cHV0IHsNCi1wdWJsaWM6DQotCVNhbXBsZVBJRE91dHB1dChSb2JvdERyaXZlICpiYXNlKSB7DQotCQltX2Jhc2UgPSBiYXNlOw0KLQl9DQotDQotCXZvaWQgUElEV3JpdGUoZmxvYXQgb3V0cHV0KSB7DQotCQltX2Jhc2UtPkFyY2FkZURyaXZlKDAuMCwgb3V0cHV0KTsNCi0JCW91dHB1dFZhbHVlID0gLW91dHB1dDsNCi0JfQ0KLXByaXZhdGU6DQotCVJvYm90RHJpdmUgKm1fYmFzZTsNCi19Ow0KLQ0KLS8qKg0KLSAqIERlbW8gdGhhdCBkZW1vbnN0cmF0ZXMgdHJhY2tpbmcgd2l0aCB0aGUgcm9ib3QuDQotICogSW4gVGVsZW9wIG1vZGUgdGhlIHJvYm90IHdpbGwgZHJpdmUgdXNpbmcgYSBzaW5nbGUgam95c3RpY2sgcGx1Z2dlZCBpbnRvIHBvcnQgMS4NCi0gKiBXaGVuIHRoZSB0cmlnZ2VyIGlzIHByZXNzZWQsIHRoZSByb2JvdCB3aWxsIHR1cm4gdG8gZmFjZSB0aGUgY2lyY3VsYXIgdGFyZ2V0Lg0KLSAqIFRoaXMgZGVtbyB1c2VzIHRoZSBBeGlzQ2FtZXJhIGNsYXNzIHRvIGdyYWIgaW1hZ2VzLiBJdCBmaW5kcyB0aGUgdGFyZ2V0IGFuZCBjb21wdXRlcw0KLSAqIHRoZSBhbmdsZSB0byB0aGUgdGFyZ2V0IGZyb20gdGhlIGNlbnRlciBvZiB2aWV3IGluIHRoZSBjYW1lcmEgaW1hZ2UuIEl0IHRoZW4gY29tcHV0ZXMNCi0gKiBhIGdvYWwgY29ycmVjdGlvbiBhbmdsZSBhbmQgdXNlcyB0aGUgZ3lybyB0byB0dXJuIHRvIHRoYXQgaGVhZGluZy4gVGhlIGd5cm8gY29ycmVjdGlvbg0KLSAqIGlzIGRvbmUgdXNpbmcgdGhlIFBJRCBjbGFzcyB0byBkcml2ZSB0aGUgcm9ib3QgdG8gdGhlIGRlc2lyZWQgaGVhZGluZy4NCi0gKiBUaGUgY29lZmZpY2llbnRzIGZvciB0aGUgUElEIGxvb3Agd2lsbCBuZWVkIHRvIGJlIHR1bmVkIHRvIG1hdGNoIHRoZSBDRyBhbmQgd2VpZ2h0IG9mDQotICogeW91ciByb2JvdCBhcyB3ZWxsIGFzIHRoZSB3aGVlbCBhbmQgZHJpdmluZyBzdXJmYWNlIHR5cGVzLg0KLSAqIA0KLSAqIEFzIGFuIGFkZGVkIGJvbnVzLCB0aGUgcHJvZ3JhbSBhbHNvIHNlbmRzIHJvYm90IHN0YXR1cyBpbmZvcm1hdGlvbiB0byB0aGUgTGFiVklFVyBzYW1wbGUNCi0gKiBkYXNoYm9hcmQgYXMgd2VsbCBhcyBjYW1lcmEgYW5ub3RhdGlvbiB0byBzaG93IHRoZSB0YXJnZXRzIHRoYXQgdGhlIHJvYm90IGlzIGN1cnJlbnRseQ0KLSAqIHNlZWluZy4NCi0gKi8NCi1jbGFzcyBSb2JvdERlbW8gOiBwdWJsaWMgU2ltcGxlUm9ib3Qgew0KLQlSb2JvdERyaXZlICpiYXNlOw0KLQlKb3lzdGljayAqc3RpY2s7IC8vIG9ubHkgam95c3RpY2sNCi0JR3lybyAqZ3lybzsNCi0JUElET3V0cHV0ICpwaWRPdXRwdXQ7DQotCURhc2hib2FyZERhdGFTZW5kZXIgKmRkczsNCi0NCi1wdWJsaWM6DQotCVJvYm90RGVtbyh2b2lkKSB7DQotCQkvLyBpbml0aWFsaXplIGFsbCB2YXJpYWJsZXMNCi0JCWJhc2UgPSBuZXcgUm9ib3REcml2ZSgxLCAyKTsNCi0JCWJhc2UtPlNldEludmVydGVkTW90b3IoUm9ib3REcml2ZTo6a1JlYXJMZWZ0TW90b3IsIHRydWUpOw0KLQkJYmFzZS0+U2V0SW52ZXJ0ZWRNb3RvcihSb2JvdERyaXZlOjprUmVhclJpZ2h0TW90b3IsIHRydWUpOw0KLQkJc3RpY2sgPSBuZXcgSm95c3RpY2soMSk7DQotCQlneXJvID0gbmV3IEd5cm8oMSk7DQotCQlwaWRPdXRwdXQgPSBuZXcgU2FtcGxlUElET3V0cHV0KGJhc2UpOw0KLQkJZGRzID0gbmV3IERhc2hib2FyZERhdGFTZW5kZXIoKTsNCi0JCWJhc2UtPlNldEV4cGlyYXRpb24oMC41KTsNCi0JfQ0KLQ0KLQkvKioNCi0JICogTWFpbiB0ZXN0IHByb2dyYW0gaW4gb3BlcmF0b3IgY29udHJvbCBwZXJpb2QuDQotCSAqIEFxdWlyZXMgaW1hZ2VzIGZyb20gdGhlIGNhbWVyYSBhbmQgZGV0ZXJtaW5lcyBpZiB0aGV5IG1hdGNoIEZSQyB0YXJnZXRzLg0KLQkgKi8NCi0Jdm9pZCBPcGVyYXRvckNvbnRyb2wodm9pZCkgew0KLQkJLyoqDQotCQkgKiBTZXQgdXAgdGhlIFBJRCBjb250cm9sbGVyIHdpdGggc29tZSBwYXJhbWV0ZXJzIHRoYXQgc2hvdWxkIGJlIHByZXR0eQ0KLQkJICogY2xvc2UgZm9yIG1vc3Qga2l0Ym90IHJvYm90cy4NCi0JCSAqLw0KLQkJcHJpbnRmKCJJbml0aWFsaXppbmcgUElEQ29udHJvbGxlclxuIik7DQotCQlQSURDb250cm9sbGVyIHR1cm5Db250cm9sbGVyKCAwLjEsIC8vIFANCi0JCQkJMC4wMCwgLy8gSQ0KLQkJCQkwLjUsIC8vIEQNCi0JCQkJZ3lybywgLy8gc291cmNlDQotCQkJCXBpZE91dHB1dCwgLy8gb3V0cHV0DQotCQkJCTAuMDA1KTsgLy8gcGVyaW9kDQotCQl0dXJuQ29udHJvbGxlci5TZXRJbnB1dFJhbmdlKC0zNjAuMCwgMzYwLjApOw0KLQkJdHVybkNvbnRyb2xsZXIuU2V0T3V0cHV0UmFuZ2UoLTAuNiwgMC42KTsNCi0JCXR1cm5Db250cm9sbGVyLlNldFRvbGVyYW5jZSgxLjAgLyA5MC4wICogMTAwKTsNCi0JCXR1cm5Db250cm9sbGVyLkRpc2FibGUoKTsNCi0NCi0JCS8vIENyZWF0ZSBhbmQgc2V0IHVwIGEgY2FtZXJhIGluc3RhbmNlLiBmaXJzdCB3YWl0IGZvciB0aGUgY2FtZXJhIHRvIHN0YXJ0DQotCQkvLyBpZiB0aGUgcm9ib3Qgd2FzIGp1c3QgcG93ZXJlZCBvbi4gVGhpcyBnaXZlcyB0aGUgY2FtZXJhIHRpbWUgdG8gYm9vdC4NCi0JCXByaW50ZigiR2V0dGluZyBjYW1lcmEgaW5zdGFuY2VcbiIpOw0KLQkJLy8gUGFzcyBpbiB0aGUgSVAgYWRkcmVzcyBvZiB5b3VyIGNhbWVyYSBoZXJlLg0KLQkJLy8gSWYgeW91IGNvbm5lY3QgeW91ciBjYW1lcmEgdG8gdGhlIHN3aXRjaCBvbiB5b3VyIHJvYm90LCB0aGUNCi0JCS8vIGNhbWVyYSdzIElQIGFkZHJlc3MgaXMgdHlwaWNhbGx5IDEwLnRlLmFtLjExDQotCQlBeGlzQ2FtZXJhICZjYW1lcmEgPSBBeGlzQ2FtZXJhOjpHZXRJbnN0YW5jZSgiMTkyLjE2OC4wLjkwIik7DQotCQlwcmludGYoIlNldHRpbmcgY2FtZXJhIHBhcmFtZXRlcnNcbiIpOw0KLQkJY2FtZXJhLldyaXRlUmVzb2x1dGlvbihBeGlzQ2FtZXJhOjprUmVzb2x1dGlvbl8zMjB4MjQwKTsNCi0JCWNhbWVyYS5Xcml0ZUNvbXByZXNzaW9uKDIwKTsNCi0JCWNhbWVyYS5Xcml0ZUJyaWdodG5lc3MoMCk7DQotDQotCQkvLyBzZXQgc2Vuc2l0aXZpdHkgZm9yIHRoZSAyMDEwIGtpdCBneXJvDQotCQlneXJvLT5TZXRTZW5zaXRpdml0eSgwLjAwNyk7DQotDQotCQkvLyBzZXQgTW90b3JTYWZldHkgZXhwaXJhdGlvbg0KLQkJYmFzZS0+U2V0RXhwaXJhdGlvbigxLjApOw0KLQ0KLQkJLy8ga2VlcCB0cmFjayBvZiB0aGUgcHJldmlvdXMgam95c3RpY2sgdHJpZ2dlciB2YWx1ZQ0KLQkJYm9vbCBsYXN0VHJpZ2dlciA9IGZhbHNlOw0KLQ0KLQkJLy8gbG9vcCBnZXR0aW5nIGltYWdlcyBmcm9tIHRoZSBjYW1lcmEgYW5kIGZpbmRpbmcgdGFyZ2V0cw0KLQkJcHJpbnRmKCJTdGFydGluZyBvcGVyYXRvciBjb250cm9sIGxvb3BcbiIpOw0KLQkJVGltZXIgdGltZXI7DQotCQl0aW1lci5TdGFydCgpOw0KLQkJd2hpbGUgKElzT3BlcmF0b3JDb250cm9sKCkpDQotCQl7DQotCQkJYm9vbCB0cmlnZ2VyOw0KLQkJCS8vIGlmIHRyaWdnZXIgaXMgcHVsbGVkLCB0aGUgcm9ib3Qgd2lsbCBydW4gd2l0aCBzdGFuZGFyZCBhcmNhZGUgZHJpdmUNCi0JCQkvLyBvdGhlcndpc2UgdGhlIHJvYm90IHdpbGwgaG9tZSB0b3dhcmRzIHRoZSB0YXJnZXQuDQotCQkJaWYgKHRyaWdnZXIgPSBzdGljay0+R2V0VHJpZ2dlcigpKSB7DQotCQkJCWlmICh0cmlnZ2VyICE9IGxhc3RUcmlnZ2VyKSAJCQkvLyBjaGVjayBpZiB0cmlnZ2VyIGNoYW5nZWQNCi0JCQkJCXR1cm5Db250cm9sbGVyLkVuYWJsZSgpOw0KLQkJCQkvLyBpZiB0aGVyZSdzIGEgZnJlc2ggYW5kIHdlJ3JlIGF0IHRoZSBwcmV2aW91cyB0YXJnZXQgaGVhZGluZyB0aGVuDQotCQkJCS8vIGdldCBhIGNhbWVyYSBpbWFnZSBhbmQgcHJvY2VzcyBpdA0KLQkJCQlpZiAoY2FtZXJhLklzRnJlc2hJbWFnZSgpKQ0KLQkJCQl7DQotCQkJCQl0aW1lci5SZXNldCgpOw0KLQkJCQkJLy8gZ2V0IHRoZSBneXJvIGhlYWRpbmcgdGhhdCBnb2VzIHdpdGggdGhpcyBpbWFnZQ0KLQkJCQkJZG91YmxlIGd5cm9BbmdsZSA9IGd5cm8tPlBJREdldCgpOw0KLQ0KLQkJCQkJLy8gZ2V0IHRoZSBjYW1lcmEgaW1hZ2UNCi0JCQkJCUhTTEltYWdlICppbWFnZSA9IGNhbWVyYS5HZXRJbWFnZSgpOw0KLQ0KLQkJCQkJLy8gZmluZCBGUkMgdGFyZ2V0cyBpbiB0aGUgaW1hZ2UNCi0JCQkJCXZlY3RvcjxUYXJnZXQ+IHRhcmdldHMgPSBUYXJnZXQ6OkZpbmRDaXJjdWxhclRhcmdldHMoaW1hZ2UpOw0KLQkJCQkJZGVsZXRlIGltYWdlOw0KLQkJCQkJaWYgKHRhcmdldHMuc2l6ZSgpID09IDAgfHwgdGFyZ2V0c1swXS5tX3Njb3JlIDwgTUlOSU1VTV9TQ09SRSkNCi0JCQkJCXsNCi0JCQkJCQkvLyBubyB0YXJnZXRzIGZvdW5kLiBNYWtlIHN1cmUgdGhlIGZpcnN0IG9uZSBpbiB0aGUgbGlzdCBpcyAwLDANCi0JCQkJCQkvLyBzaW5jZSB0aGUgZGFzaGJvYXJkIHByb2dyYW0gYW5ub3RhdGVzIHRoZSBmaXJzdCB0YXJnZXQgaW4gZ3JlZW4NCi0JCQkJCQkvLyBhbmQgdGhlIG90aGVycyBpbiBtYWdlbnRhLiBXaXRoIG5vIHF1YWxpZmllZCB0YXJnZXRzLCB0aGV5J2xsIGFsbA0KLQkJCQkJCS8vIGJlIG1hZ2VudGEuDQotCQkJCQkJVGFyZ2V0IG51bGxUYXJnZXQ7DQotCQkJCQkJbnVsbFRhcmdldC5tX21ham9yUmFkaXVzID0gMC4wOw0KLQkJCQkJCW51bGxUYXJnZXQubV9taW5vclJhZGl1cyA9IDAuMDsNCi0JCQkJCQludWxsVGFyZ2V0Lm1fc2NvcmUgPSAwLjA7DQotCQkJCQkJaWYgKHRhcmdldHMuc2l6ZSgpID09IDApDQotCQkJCQkJCXRhcmdldHMucHVzaF9iYWNrKG51bGxUYXJnZXQpOw0KLQkJCQkJCWVsc2UNCi0JCQkJCQkJdGFyZ2V0cy5pbnNlcnQodGFyZ2V0cy5iZWdpbigpLCBudWxsVGFyZ2V0KTsNCi0JCQkJCQlkZHMtPnNlbmRWaXNpb25EYXRhKDAuMCwgZ3lyby0+R2V0QW5nbGUoKSwgMC4wLCAwLjAsIHRhcmdldHMpOw0KLQkJCQkJCWlmICh0YXJnZXRzLnNpemUoKSA9PSAwKQ0KLQkJCQkJCQlwcmludGYoIk5vIHRhcmdldCBmb3VuZFxuXG4iKTsNCi0JCQkJCQllbHNlDQotCQkJCQkJCXByaW50ZigiTm8gdmFsaWQgdGFyZ2V0cyBmb3VuZCwgYmVzdCBzY29yZTogJWYgIiwgdGFyZ2V0c1swXS5tX3Njb3JlKTsNCi0JCQkJCX0NCi0JCQkJCWVsc2Ugew0KLQkJCQkJCS8vIFdlIGhhdmUgc29tZSB0YXJnZXRzLg0KLQkJCQkJCS8vIHNldCB0aGUgbmV3IFBJRCBoZWFkaW5nIHNldHBvaW50IHRvIHRoZSBmaXJzdCB0YXJnZXQgaW4gdGhlIGxpc3QNCi0JCQkJCQlkb3VibGUgaG9yaXpvbnRhbEFuZ2xlID0gdGFyZ2V0c1swXS5HZXRIb3Jpem9udGFsQW5nbGUoKTsNCi0JCQkJCQlkb3VibGUgc2V0UG9pbnQgPSBneXJvQW5nbGUgKyBob3Jpem9udGFsQW5nbGU7DQotDQotCQkJCQkJdHVybkNvbnRyb2xsZXIuU2V0U2V0cG9pbnQoc2V0UG9pbnQpOw0KLQkJCQkJCQ0KLQkJCQkJCS8vIHNlbmQgZGFzaGJhb3JkIGRhdGEgZm9yIHRhcmdldCB0cmFja2luZw0KLQkJCQkJCWRkcy0+c2VuZFZpc2lvbkRhdGEoMC4wLCBneXJvLT5HZXRBbmdsZSgpLCAwLjAsIHRhcmdldHNbMF0ubV94UG9zIC8gdGFyZ2V0c1swXS5tX3hNYXgsIHRhcmdldHMpOw0KLQkJCQkJCXByaW50ZigiVGFyZ2V0IGZvdW5kICVmICIsIHRhcmdldHNbMF0ubV9zY29yZSk7DQotLy8JCQkJCQl0YXJnZXRzWzBdLlByaW50KCk7DQotCQkJCQl9DQotCQkJCQlwcmludGYoIlRpbWU6ICVmXG4iLCAxLjAgLyB0aW1lci5HZXQoKSk7DQotCQkJCX0NCi0JCQl9IGVsc2Ugew0KLQkJCQkvLyBpZiB0aGUgdHJpZ2dlciBpcyBub3QgcHJlc3NlZCwgdGhlbiBkbyBBcmNhZGUgZHJpdmluZyB3aXRoIGpveXN0aWNrIDENCi0JCQkJaWYgKHRyaWdnZXIgIT0gbGFzdFRyaWdnZXIpDQotCQkJCQl0dXJuQ29udHJvbGxlci5EaXNhYmxlKCk7DQotCQkJCWJhc2UtPkFyY2FkZURyaXZlKHN0aWNrKTsNCi0JCQl9DQotCQkJbGFzdFRyaWdnZXIgPSB0cmlnZ2VyOw0KLQkJCQ0KLQkJCS8vIHNlbmQgdGhlIGRhc2hiYW9yZCBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgSS9PIHBvcnRzDQotCQkJZGRzLT5zZW5kSU9Qb3J0RGF0YSgpOw0KLQkJfQ0KLQl9DQotfTsNCi0NCi1TVEFSVF9ST0JPVF9DTEFTUyhSb2JvdERlbW8pDQotOw0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL1RhcmdldC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9UYXJnZXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDFlMDk0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL1RhcmdldC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjEgKzAsMCBAQAotI2luY2x1ZGUgIm5pdmlzaW9uLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9Nb25vSW1hZ2UuaCINCi0jaW5jbHVkZSAiVGFyZ2V0LmgiDQotI2luY2x1ZGUgPGFsZ29yaXRobT4NCi0jaW5jbHVkZSA8bWF0aC5oPg0KLQ0KLS8vIFRoZXNlIHBhcmFtZXRlcnMgc2V0IGVsbGlwc2UgZmluZGluZyBpbiB0aGUgTkkgaW1hcSAoSW1hZ2UgQXF1aXNpdGlvbikgbGlicmFyeS4NCi0vLyBSZWZlciB0byB0aGUgQ1ZJIEZ1bmN0aW9uIFJlZmVyZW5jZSBQREYgZG9jdW1lbnQgaW5zdGFsbGVkIHdpdGggTGFiVklFVyBmb3INCi0vLyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLg0KLXN0YXRpYyBFbGxpcHNlRGVzY3JpcHRvciBlbGxpcHNlRGVzY3JpcHRvciA9IHsNCi0JCQkJCQkJCQkJMywgCQkvLyBtaW5NYWpvclJhZGl1cw0KLQkJCQkJCQkJCQkyMDAsIAkvLyBtYXhNYWpvclJhZGl1cw0KLQkJCQkJCQkJCQkzLCAJCS8vIG1pbk1pbm9yUmFkaXVzDQotCQkJCQkJCQkJCTEwMAkJLy8gbWF4TWlub3JSYWRpdXMNCi0JCQkJCQkJCQkJfTsNCi0NCi1zdGF0aWMgQ3VydmVPcHRpb25zIGN1cnZlT3B0aW9ucyA9IHsJSU1BUV9OT1JNQUxfSU1BR0UsCS8vIGV4dHJhY3Rpb25Nb2RlDQotCQkJCQkJCQkJCTQwLCAJCQkJLy8gdGhyZXNob2xkDQotCQkJCQkJCQkJCUlNQVFfTk9STUFMLCAJCS8vIGZpbHRlclNpemUNCi0JCQkJCQkJCQkJMjUsIAkJCQkvLyBtaW5MZW5ndGgNCi0JCQkJCQkJCQkJMTUsIAkJCQkvLyByb3dTdGVwU2l6ZSANCi0JCQkJCQkJCQkJMTUsIAkJCQkvLyBjb2x1bW5TdGVwU2l6ZQ0KLQkJCQkJCQkJCQkxMCwgCQkJCS8vIG1heEVuZFBvaW50R2FwDQotCQkJCQkJCQkJCTEsCQkJCQkvLyBvbmx5Q2xvc2VkDQotCQkJCQkJCQkJCTAJCQkJCS8vIHN1YnBpeGVsQWNjdXJhY3kNCi0JCQkJCQkJCQkJfTsNCi1zdGF0aWMgU2hhcGVEZXRlY3Rpb25PcHRpb25zIHNoYXBlT3B0aW9ucyA9IHsNCi0JCQkJCQkJCQkJSU1BUV9HRU9NRVRSSUNfTUFUQ0hfU0hJRlRfSU5WQVJJQU5ULAkvLyBtb2RlDQotCQkJCQkJCQkJCU5VTEwsCQkJLy8gYW5nbGUgcmFuZ2VzDQotCQkJCQkJCQkJCTAsCQkJCS8vIG51bSBhbmdsZSByYW5nZXMNCi0JCQkJCQkJCQkJezc1LCAxMjV9LAkJLy8gc2NhbGUgcmFuZ2UNCi0JCQkJCQkJCQkJNTAwCQkJCS8vIG1pbk1hdGNoU2NvcmUNCi19Ow0KLQ0KLQ0KLWRvdWJsZSBUYXJnZXQ6OkdldEhvcml6b250YWxBbmdsZSgpDQotew0KLQlkb3VibGUgeCA9IG1feFBvczsNCi0JeCA9IHggKiA5LjAgLyBtX3hNYXg7DQotCXggPSBhdGFuMih4LCAyMC4wKTsNCi0JeCA9IHggKiAxODAuMCAvIDMuMTQxNTk7DQotCXJldHVybiB4Ow0KLX0NCi0NCi0vKioNCi0gKiBDb21wYXJlIHR3byB0YXJnZXRzLg0KLSAqIENvbXBhcmUgdGhlIHNjb3JlIG9mIHR3byB0YXJnZXRzIGZvciB0aGUgc29ydCBmdW5jdGlvbiBpbiBDKysuDQotICogQHBhcmFtIHQxIHRoZSBmaXJzdCBUYXJnZXQNCi0gKiBAcGFyYW0gdDIgdGhlIHNlY29uZCBUYXJnZXQNCi0gKiBAcmV0dXJucyAoMSwgMCwgb3IgLTEpIGZvciB0aGUgc2NvcmVzIG9mIHQxID4gdDIsIHQxID09IHQyLCBhbmQgdDEgPCB0Mg0KLSAqLw0KLWludCBjb21wYXJlVGFyZ2V0cyhUYXJnZXQgdDEsIFRhcmdldCB0MikNCi17DQotCWlmICh0MS5tX3Njb3JlID4gdDIubV9zY29yZSkgcmV0dXJuIDE7DQotCWlmICh0MS5tX3Njb3JlIDwgdDIubV9zY29yZSkgcmV0dXJuIC0xOw0KLQlyZXR1cm4gMDsNCi19DQotDQotLyoqDQotICogRmluZCB0aGUgYmVzdCBjaXJjdWxhciB0YXJnZXQgaW4gdGhlIGltYWdlLg0KLSAqIFRoZSBiZXN0IHRhcmdldCBpcyB0aGUgb25lIHdpdGggdHdvIGNvbmNlbnRyaWMgY2lyY2xlcywgbGFyZ2VzdCBzaXplLCBhbmQgYmVzdCBzY29yZQ0KLSAqIEBwYXJhbSBpbWFnZSBUaGUgaW1hZ2UgdG8gZXhhbWluZS4NCi0gKiBAcmV0dXJucyBBIHRhcmdldCBvYmplY3Qgd2l0aCB0aGUgcGFyYW1ldGVycyBmaWxsZWQgaW4uDQotICovDQotdmVjdG9yPFRhcmdldD4gVGFyZ2V0OjpGaW5kQ2lyY3VsYXJUYXJnZXRzKEhTTEltYWdlICppbWFnZSkNCi17DQotCXdwaV9hc3NlcnQoaW1hZ2UgIT0gTlVMTCk7DQotCWludCB3aWR0aCA9IGltYWdlLT5HZXRXaWR0aCgpOw0KLQlpbnQgaGVpZ2h0ID0gaW1hZ2UtPkdldEhlaWdodCgpOw0KLQ0KLQl2ZWN0b3I8VGFyZ2V0PiBzb3J0ZWRUYXJnZXRzOw0KLQ0KLQkvLyBnZXQgdGhlIGx1bWluYW5jZSBwbGFuZSBvbmx5IGZvciB0aGUgaW1hZ2UgdG8gbWFrZSB0aGUgY29kZQ0KLQkvLyBpbnNlbnNpdGl2ZSB0byBsaWdodGluZyBjb25kaXRpb25zLg0KLQlNb25vSW1hZ2UgICpsdW1pbmFuY2VQbGFuZSA9IGltYWdlLT5HZXRMdW1pbmFuY2VQbGFuZSgpOw0KLQl2ZWN0b3I8RWxsaXBzZU1hdGNoPiAqcmVzdWx0cyA9IGx1bWluYW5jZVBsYW5lLT5EZXRlY3RFbGxpcHNlcygmZWxsaXBzZURlc2NyaXB0b3IsIA0KLQkJCQkJCQkJCQkJCQkJCQkJJmN1cnZlT3B0aW9ucywNCi0JCQkJCQkJCQkJCQkJCQkJCSZzaGFwZU9wdGlvbnMsDQotCQkJCQkJCQkJCQkJCQkJCQlOVUxMKTsNCi0JZGVsZXRlIGx1bWluYW5jZVBsYW5lOw0KLQlpZiAocmVzdWx0cy0+c2l6ZSgpID09IDApDQotCXsNCi0JCXJldHVybiBzb3J0ZWRUYXJnZXRzOw0KLQl9DQotDQotCS8vIGNyZWF0ZSBhIGxpc3Qgb2YgdGFyZ2V0cyBjb3JyZXNwb25kaW5nIHRvIGVhY2ggZWxsaXBzZSBmb3VuZA0KLQkvLyBpbiB0aGUgaW1hZ2UuDQotCWZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXN1bHRzLT5zaXplKCk7IGkrKykNCi0Jew0KLQkJVGFyZ2V0IHRhcmdldDsNCi0JCUVsbGlwc2VNYXRjaCBlID0gcmVzdWx0cy0+YXQoaSk7DQotCQl0YXJnZXQubV9yYXdTY29yZSA9IGUuc2NvcmU7DQotCQl0YXJnZXQubV9zY29yZSA9IChlLm1ham9yUmFkaXVzICogZS5taW5vclJhZGl1cykNCi0JCQkJCQkJLyAoMTAwMSAtIGUuc2NvcmUpDQotCQkJCQkJCS8gKGhlaWdodCAqIHdpZHRoKSAqIDEwMDsNCi0JCXRhcmdldC5tX21ham9yUmFkaXVzID0gZS5tYWpvclJhZGl1cyAvIGhlaWdodDsNCi0JCXRhcmdldC5tX21pbm9yUmFkaXVzID0gZS5taW5vclJhZGl1cyAvIGhlaWdodDsNCi0JCS8vYWx3YXlzIGRpdmlkZSBieSBoZWlnaHQgc28gdGhhdCB4IGFuZCB5IGFyZSBzYW1lIHVuaXRzDQotCQl0YXJnZXQubV94UG9zID0gKDIuMCAqIGUucG9zaXRpb24ueCAtIHdpZHRoKSAvIGhlaWdodDsNCi0JCXRhcmdldC5tX3lQb3MgPSAoMi4wICogZS5wb3NpdGlvbi55IC0gaGVpZ2h0KSAvIGhlaWdodDsNCi0JCXRhcmdldC5tX3JvdGF0aW9uID0gZS5yb3RhdGlvbjsNCi0JCXRhcmdldC5tX3hNYXggPSAoZG91YmxlKXdpZHRoIC8gaGVpZ2h0Ow0KLQkJdGFyZ2V0Lm1fYm90aEZvdW5kID0gZmFsc2U7DQotCQlzb3J0ZWRUYXJnZXRzLnB1c2hfYmFjayh0YXJnZXQpOw0KLQl9DQotCWRlbGV0ZSByZXN1bHRzOw0KLQkNCi0JLy8gc29ydCB0aGUgbGlzdCBvZiB0YXJnZXRzIGJ5IHNjb3JlDQotCXNvcnQoc29ydGVkVGFyZ2V0cy5iZWdpbigpLCBzb3J0ZWRUYXJnZXRzLmVuZCgpLCBjb21wYXJlVGFyZ2V0cyk7DQotCQ0KLQkvLyBnbyB0aHJvdWdoIGVhY2ggdGFyZ2V0IGZvdW5kIGluIGRlc2NlbmRpbmcgc2NvcmUgb3JkZXIgYW5kIGxvb2sNCi0JLy8gZm9yIGFub3RoZXIgdGFyZ2V0IHdob3NlIGNlbnRlciBpcyBjb250YWluZWQgaW5zaWRlIG9mIHRoaXMgdGFyZ2V0DQotCS8vIFRob3NlIGNvbmNlbnRyaWMgdGFyZ2V0cyBnZXQgYSBzY29yZSB3aGljaCBpcyB0aGUgc3VtIG9mIGJvdGggdGFyZ2V0cw0KLQl2ZWN0b3I8VGFyZ2V0PiBjb21iaW5lZFRhcmdldHM7DQotCXdoaWxlIChzb3J0ZWRUYXJnZXRzLnNpemUoKSA+IDApDQotCXsNCi0JCXZlY3RvcjxUYXJnZXQ+OjppdGVyYXRvciBpdGVyID0gc29ydGVkVGFyZ2V0cy5iZWdpbigpOw0KLQkJVGFyZ2V0IHQxID0gKml0ZXIrKzsNCi0JCWZvciAoOyBpdGVyIDwgc29ydGVkVGFyZ2V0cy5lbmQoKTsgaXRlcisrKQ0KLQkJew0KLQkJCVRhcmdldCB0MiA9ICppdGVyOw0KLQkJCQ0KLQkJCS8vIGNoZWNrIGlmIHRoZSB0d28gYXJlIGNvbmNlbnRyaWMNCi0JCQlpZiAoKGZhYnModDEubV94UG9zIC0gdDIubV94UG9zKSA8IG1pbih0MS5tX21pbm9yUmFkaXVzLCB0Mi5tX21pbm9yUmFkaXVzKSkgJiYNCi0JCQkJCShmYWJzKHQxLm1feVBvcyAtIHQyLm1feVBvcykgPCBtaW4odDEubV9tYWpvclJhZGl1cywgdDIubV9tYWpvclJhZGl1cykpKQ0KLQkJCXsNCi0JCQkJLy8gY3JlYXRlIHRoZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGNvbWJpbmVkIHRhcmdldA0KLQkJCQkvLyAodGhlIDIgY29uY2VudHJpYyBlbGxpcHNlcykNCi0JCQkJdDEubV94UG9zID0gKHQxLm1feFBvcyArIHQyLm1feFBvcykgLyAyOw0KLQkJCQl0MS5tX3lQb3MgPSAodDEubV95UG9zICsgdDIubV95UG9zKSAvIDI7DQotCQkJCXQxLm1fcmF3U2NvcmUgKz0gdDIubV9yYXdTY29yZTsNCi0JCQkJdDEubV9zY29yZSA9ICh0MS5tX3Njb3JlICsgdDIubV9zY29yZSkgKiAyLjA7ICAvLyBhZGQgYSAyeCBib251cyBmb3IgY29uY2VudHJpYw0KLQkJCQl0MS5tX21ham9yUmFkaXVzID0gbWF4KHQxLm1fbWFqb3JSYWRpdXMsIHQyLm1fbWFqb3JSYWRpdXMpOw0KLQkJCQl0MS5tX21pbm9yUmFkaXVzID0gbWF4KHQxLm1fbWlub3JSYWRpdXMsIHQyLm1fbWlub3JSYWRpdXMpOw0KLQkJCQl0MS5tX2JvdGhGb3VuZCA9IHRydWU7DQotCQkJCXNvcnRlZFRhcmdldHMuZXJhc2UoaXRlcik7IC8vIGxvb3AgbmVlZHMgdG8gYmUgYW4gaW50ZXJhdG9yDQotCQkJCWJyZWFrOw0KLQkJCX0NCi0JCX0NCi0JCXNvcnRlZFRhcmdldHMuZXJhc2Uoc29ydGVkVGFyZ2V0cy5iZWdpbigpKTsNCi0vLwkJaWYgKHQxLm1fYm90aEZvdW5kKQ0KLQkJCWNvbWJpbmVkVGFyZ2V0cy5wdXNoX2JhY2sodDEpOw0KLQl9DQotDQotCS8vIHNvcnQgdGhlIGNvbWJpbmVkIHRhcmdldHMgc28gdGhlIGhpZ2hlc3Qgc2NvcmluZyBvbmUgaXMgZmlyc3QNCi0Jc29ydChjb21iaW5lZFRhcmdldHMuYmVnaW4oKSwgY29tYmluZWRUYXJnZXRzLmVuZCgpLCBjb21wYXJlVGFyZ2V0cyk7DQotDQotCXJldHVybiBjb21iaW5lZFRhcmdldHM7DQotfQ0KLQ0KLS8qKg0KLSAqIFByaW50IHRoZSB0YXJnZXQuDQotICogUHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyB0YXJnZXQgb2JqZWN0Lg0KLSAqLw0KLXZvaWQgVGFyZ2V0OjpQcmludCgpDQotew0KLQlwcmludGYoIlRhcmdldCBmb3VuZDogKCVmLCAlZiksIG1ham9yOiAlZiwgbWlub3I6ICVmXG5yb3RhdGlvbjogJWYsIHNjb3JlOiAlZiwgYm90aDogJWRcblxuIiwNCi0JCQkJCQltX3hQb3MsIG1feVBvcywNCi0JCQkJCQltX21ham9yUmFkaXVzLCBtX21pbm9yUmFkaXVzLA0KLQkJCQkJCW1fcm90YXRpb24sIG1fc2NvcmUsIG1fYm90aEZvdW5kKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vLzIwMTBJbWFnZURlbW8vVGFyZ2V0LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9UYXJnZXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTMyM2EzZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9UYXJnZXQuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSNpZm5kZWYgX1RBUkdFVF9IDQotI2RlZmluZSBfVEFSR0VUX0gNCi0NCi0jaW5jbHVkZSA8dmVjdG9yPg0KLSNpbmNsdWRlICJWaXNpb24vSFNMSW1hZ2UuaCINCi0NCi1jbGFzcyBUYXJnZXQNCi17DQotcHVibGljOg0KLSAgICBkb3VibGUgbV9tYWpvclJhZGl1czsNCi0gICAgZG91YmxlIG1fbWlub3JSYWRpdXM7DQotICAgIGRvdWJsZSBtX3Jhd1Njb3JlOw0KLSAgICBkb3VibGUgbV94UG9zOw0KLSAgICBkb3VibGUgbV95UG9zOw0KLSAgICBkb3VibGUgbV9zY29yZTsNCi0gICAgZG91YmxlIG1fcm90YXRpb247DQotICAgIGRvdWJsZSBtX3hNYXg7DQotICAgIGJvb2wgbV9ib3RoRm91bmQ7DQotDQotICAgIHN0YXRpYyB2ZWN0b3I8VGFyZ2V0PiBGaW5kQ2lyY3VsYXJUYXJnZXRzKEhTTEltYWdlICppbWFnZSk7DQotICAgIGRvdWJsZSBHZXRIb3Jpem9udGFsQW5nbGUoKTsNCi0gICAgdm9pZCBQcmludCgpOw0KLX07DQotDQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vLzIwMTBJbWFnZURlbW8vc2FtcGxlLnByb3BlcnRpZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9zYW1wbGUucHJvcGVydGllcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZjODk1ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vMjAxMEltYWdlRGVtby9zYW1wbGUucHJvcGVydGllcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotcHJvamVjdC50eXBlPURvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QNCi1wbGF0Zm9ybS5pZD1WeFdvcmtzDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vLzIwMTBJbWFnZURlbW8vc2FtcGxlLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby8yMDEwSW1hZ2VEZW1vL3NhbXBsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhZjEzNzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vLzIwMTBJbWFnZURlbW8vc2FtcGxlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotRlJDIDIwMTAgVmlzaW9uIERlbW9uc3RyYXRpb24gUHJvZ3JhbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi1UaGlzIGRlbW9uc3RhcnRpb24gcHJvZ3JhbSBzaG93cyBob3cgdG8gdHJhY2sgdG8gdGhlIEZSQyAyMDEwIGdhbWUgdGFyZ2V0DQotdXNpbmcgdGhlIEF4aXNDYW1lcmEgY2xhc3MuIFRoZSBkZW1vIHVzZXMgdGhlIGNhbWVyYSB0byBnZXQgdGhlIGhlYWRpbmcgdG8NCi10aGUgdGFyZ2V0LCB0aGVuIHVzZXMgYSBHeXJvIHRvIHR1cm4gdG8gdGhhdCBoZWFkaW5nLiBJbiBhZGRpdGlvbiwgdGhpcw0KLXByb2dyYW0gd2lsbCBkaXNwbGF5IGRhdGEgZnJvbSB0aGUgSS9PIHBvcnRzIG9uIHRoZSBjUklPIGFuZCBDYW1lcmEgdHJhY2tpbmcNCi1pbmZvcm1hdGlvbiBvbnRvIHRoZSBMYWJWSUVXIHNhbXBsZSBkYXNoYm9hcmQuDQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS8uY3Byb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlLy5jcHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVjNTM3NS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPD9maWxlVmVyc2lvbiA0LjAuMD8+DQotDQotPGNwcm9qZWN0Pg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyI+DQotPGNjb25maWd1cmF0aW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4xMjAyOTg2NzE2Ij4NCi08c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMTIwMjk4NjcxNiIgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIiBuYW1lPSJDb25maWd1cmF0aW9uIj4NCi08ZXh0ZXJuYWxTZXR0aW5ncy8+DQotPGV4dGVuc2lvbnM+DQotPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUlNjYW5uZXJJbmZvUHJvdmlkZXIiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5TY2FubmVySW5mb1Byb3ZpZGVyIi8+DQotPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUkVsZlBhcnNlclZ4V29ya3MiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5HTlVfRUxGIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotPC9leHRlbnNpb25zPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZXh0ZXJuYWxTZXR0aW5ncyIvPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5wYXRoZW50cnkiPg0KLTxwYXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9Im91dCIgcGF0aD0iIi8+DQotPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JfQ09OVEFJTkVSIi8+DQotPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuYnVpbGQubW9kZWwuV1JfVVNFUkRFRklORURfQ09OVEFJTkVSIi8+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJzY2FubmVyQ29uZmlndXJhdGlvbiIvPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJ1c2VyZGVmaW5lZENvbnRhaW5lciI+DQotPGluZGV4QWxsRmlsZXMgdmFsdWU9ImZhbHNlIi8+DQotPGluaXRpYWxpemVkIHZhbHVlPSJ0cnVlIi8+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTwvY2NvbmZpZ3VyYXRpb24+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTwvY3Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9CdWlsdGluRGVmYXVsdENvZGUvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmN2YyOTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS8ucHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHByb2plY3REZXNjcmlwdGlvbj4NCi0JPG5hbWU+QnVpbHRpbkRlZmF1bHRDb2RlPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS8ud3JtYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9CdWlsdGluRGVmYXVsdENvZGUvLndybWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExZGQ3ZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9CdWlsdGluRGVmYXVsdENvZGUvLndycHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9CdWlsdGluRGVmYXVsdENvZGUvLndycHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGU5ZTQxYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IkJ1aWx0aW5EZWZhdWx0Q29kZSIgcGFzc2VkPSJmYWxzZSIgdGFyZ2V0bmFtZT0iQnVpbHRpbkRlZmF1bHRDb2RlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxidWlsZHRhcmdldHJlZmVyZW5jZSBuYW1lPSIvQnVpbHRpbkRlZmF1bHRDb2RlL0J1aWx0aW5EZWZhdWx0Q29kZV9wYXJ0aWFsSW1hZ2UiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIiBuYW1lPSJCdWlsdGluRGVmYXVsdENvZGVfcGFydGlhbEltYWdlIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9IkJ1aWx0aW5EZWZhdWx0Q29kZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvQnVpbHRpbkRlZmF1bHRDb2RlIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL0J1aWx0aW5EZWZhdWx0Q29kZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL0J1aWx0aW5EZWZhdWx0Q29kZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlMzc3OWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS9CdWlsdGluRGVmYXVsdENvZGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDA4ICswLDAgQEAKLSNpbmNsdWRlICJXUElMaWIuaCINCi0NCi0vKioNCi0gKiBUaGlzICJCdWlsdGluRGVmYXVsdENvZGUiIHByb3ZpZGVzIHRoZSAiZGVmYXVsdCBjb2RlIiBmdW5jdGlvbmFsaXR5IGFzIHVzZWQgaW4gdGhlICJCZW5jaHRvcCBUZXN0LiINCi0gKiANCi0gKiBUaGUgQnVpbHRpbkRlZmF1bHRDb2RlIGV4dGVuZHMgdGhlIEl0ZXJhdGl2ZVJvYm90IGJhc2UgY2xhc3MgdG8gcHJvdmlkZSB0aGUgImRlZmF1bHQgY29kZSINCi0gKiBmdW5jdGlvbmFsaXR5IHRvIGNvbmZpcm0gdGhlIG9wZXJhdGlvbiBhbmQgdXNhZ2Ugb2YgdGhlIGNvcmUgY29udHJvbCBzeXN0ZW0gY29tcG9uZW50cywgYXMgDQotICogdXNlZCBpbiB0aGUgIkJlbmNodG9wIFRlc3QiIGRlc2NyaWJlZCBpbiBDaGFwdGVyIDIgb2YgdGhlIDIwMDkgRlJDIENvbnRyb2wgU3lzdGVtIE1hbnVhbC4NCi0gKiANCi0gKiBUaGlzIHByb2dyYW0gcHJvdmlkZXMgZmVhdHVyZXMgaW4gdGhlIERpc2FibGVkLCBBdXRvbm9tb3VzLCBhbmQgVGVsZW9wIG1vZGVzIGFzIGRlc2NyaWJlZA0KLSAqIGluIHRoZSBiZW5jaHRvcCB0ZXN0IGRpcmVjdGlvbnMsIGluY2x1ZGluZyAib25jZS1hLXNlY29uZCIgZGVidWdnaW5nIHByaW50b3V0cyB3aGVuIGRpc2FibGVkLCANCi0gKiBhICJLSVRUIGxpZ2h0IHNob3ciIG9uIHRoZSBzb2xlbm9pZCBsaWdodHMgd2hlbiBpbiBhdXRvbm9tb3VzLCBhbmQgZWxlbWVudGFyeSBkcml2aW5nDQotICogY2FwYWJpbGl0aWVzIGFuZCAiYnV0dG9uIG1hcHBpbmciIG9mIGpveXN0aWNrcyB3aGVuIHRlbGVvcGVyYXRlZC4gIFRoaXMgZGVtb25zdHJhdGlvbg0KLSAqIHByb2dyYW0gYWxzbyBzaG93cyB0aGUgdXNlIG9mIHRoZSBNb3RvclNhZmV0eSB0aW1lci4NCi0gKiANCi0gKiBUaGlzIGRlbW9uc3RyYXRpb24gaXMgbm90IGludGVuZGVkIHRvIHNlcnZlIGFzIGEgInN0YXJ0aW5nIHRlbXBsYXRlIiBmb3IgZGV2ZWxvcG1lbnQgb2YNCi0gKiByb2JvdCBjb2RlIGZvciBhIHRlYW0sIGFzIHRoZXJlIGFyZSBiZXR0ZXIgdGVtcGxhdGVzIGFuZCBleGFtcGxlcyBjcmVhdGVkIHNwZWNpZmljYWxseQ0KLSAqIGZvciB0aGF0IHB1cnBvc2UuICBIb3dldmVyLCB0ZWFtcyBtYXkgZmluZCB0aGUgdGVjaG5pcXVlcyB1c2VkIGluIHRoaXMgcHJvZ3JhbSB0byBiZQ0KLSAqIGludGVyZXN0aW5nIHBvc3NpYmlsaXRpZXMgZm9yIHVzZSBpbiB0aGVpciBvd24gcm9ib3QgY29kZS4NCi0gKiANCi0gKiBUaGUgZGV0YWlscyBvZiB0aGUgYmVoYXZpb3IgcHJvdmlkZWQgYnkgdGhpcyBkZW1vbnN0cmF0aW9uIGFyZSBzdW1tYXJpemVkIGJlbG93Og0KLSAqICANCi0gKiBEaXNhYmxlZCBNb2RlOg0KLSAqIC0gT25jZSBwZXIgc2Vjb25kLCBwcmludCAob24gdGhlIGNvbnNvbGUpIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyB0aGUgcm9ib3QgaGFzIGJlZW4gZGlzYWJsZWQuDQotICogDQotICogQXV0b25vbW91cyBNb2RlOg0KLSAqIC0gRmxhc2ggdGhlIHNvbGVub2lkIGxpZ2h0cyBsaWtlIEtJVFQgaW4gS25pZ2h0IFJpZGVyDQotICogLSBFeGFtcGxlIGNvZGUgKGNvbW1lbnRlZCBvdXQgYnkgZGVmYXVsdCkgdG8gZHJpdmUgZm9yd2FyZCBhdCBoYWxmLXNwZWVkIGZvciAyIHNlY29uZHMNCi0gKiANCi0gKiBUZWxlb3AgTW9kZToNCi0gKiAtIFNlbGVjdCBiZXR3ZWVuIHR3byBkaWZmZXJlbnQgZHJpdmUgb3B0aW9ucyBkZXBlbmRpbmcgdXBvbiBaLWxvY2F0aW9uIG9mIEpveXN0aWNrMQ0KLSAqIC0gV2hlbiAiWi1VcCIgKG9uIEpveXN0aWNrMSkgcHJvdmlkZSAiYXJjYWRlIGRyaXZlIiBvbiBKb3lzdGljazENCi0gKiAtIFdoZW4gIlotRG93biIgKG9uIEpveXN0aWNrMSkgcHJvdmlkZSAidGFuayBkcml2ZSIgb24gSm95c3RpY2sxIGFuZCBKb3lzdGljazINCi0gKiAtIFVzZSBKb3lzdGljayBidXR0b25zIChvbiBKb3lzdGljazEgb3IgSm95c3RpY2syKSB0byBkaXNwbGF5IHRoZSBidXR0b24gbnVtYmVyIGluIGJpbmFyeSBvbg0KLSAqICAgdGhlIHNvbGVub2lkIExFRHMgKE5vdGUgdGhhdCB0aGlzIGZlYXR1cmUgY2FuIGJlIHVzZWQgdG8gZWFzaWx5ICJtYXAgb3V0IiB0aGUgYnV0dG9ucyBvbiBhDQotICogICBKb3lzdGljay4gIE5vdGUgYWxzbyB0aGF0IGlmIG11bHRpcGxlIGJ1dHRvbnMgYXJlIHByZXNzZWQgc2ltdWx0YW5lb3VzbHksIGEgIjE1IiBpcyBkaXNwbGF5ZWQNCi0gKiAgIG9uIHRoZSBzb2xlbm9pZCBMRURzIHRvIGluZGljYXRlIHRoYXQgbXVsdGlwbGUgYnV0dG9ucyBhcmUgcHJlc3NlZC4pDQotICoNCi0gKiBUaGlzIGNvZGUgYXNzdW1lcyB0aGUgZm9sbG93aW5nIGNvbm5lY3Rpb25zOg0KLSAqIC0gRHJpdmVyIFN0YXRpb246DQotICogICAtIFVTQiAxIC0gVGhlICJyaWdodCIgam95c3RpY2suICBVc2VkIGZvciBlaXRoZXIgImFyY2FkZSBkcml2ZSIgb3IgInJpZ2h0IiBzdGljayBmb3IgdGFuayBkcml2ZQ0KLSAqICAgLSBVU0IgMiAtIFRoZSAibGVmdCIgam95c3RpY2suICBVc2VkIGFzIHRoZSAibGVmdCIgc3RpY2sgZm9yIHRhbmsgZHJpdmUNCi0gKiANCi0gKiAtIFJvYm90Og0KLSAqICAgLSBEaWdpdGFsIFNpZGVjYXIgMToNCi0gKiAgICAgLSBQV00gMS8zIC0gQ29ubmVjdGVkIHRvICJsZWZ0IiBkcml2ZSBtb3RvcihzKQ0KLSAqICAgICAtIFBXTSAyLzQgLSBDb25uZWN0ZWQgdG8gInJpZ2h0IiBkcml2ZSBtb3RvcihzKQ0KLSAqLw0KLWNsYXNzIEJ1aWx0aW5EZWZhdWx0Q29kZSA6IHB1YmxpYyBJdGVyYXRpdmVSb2JvdA0KLXsNCi0JLy8gRGVjbGFyZSB2YXJpYWJsZSBmb3IgdGhlIHJvYm90IGRyaXZlIHN5c3RlbQ0KLQlSb2JvdERyaXZlICptX3JvYm90RHJpdmU7CQkvLyByb2JvdCB3aWxsIHVzZSBQV00gMS00IGZvciBkcml2ZSBtb3RvcnMNCi0JDQotCS8vIERlY2xhcmUgYSB2YXJpYWJsZSB0byB1c2UgdG8gYWNjZXNzIHRoZSBkcml2ZXIgc3RhdGlvbiBvYmplY3QNCi0JRHJpdmVyU3RhdGlvbiAqbV9kczsJCQkJCQkvLyBkcml2ZXIgc3RhdGlvbiBvYmplY3QNCi0JVUlOVDMyIG1fcHJpb3JQYWNrZXROdW1iZXI7CQkJCQkvLyBrZWVwIHRyYWNrIG9mIHRoZSBtb3N0IHJlY2VudCBwYWNrZXQgbnVtYmVyIGZyb20gdGhlIERTDQotCVVJTlQ4IG1fZHNQYWNrZXRzUmVjZWl2ZWRJbkN1cnJlbnRTZWNvbmQ7CS8vIGtlZXAgdHJhY2sgb2YgdGhlIGRzIHBhY2tldHMgcmVjZWl2ZWQgaW4gdGhlIGN1cnJlbnQgc2Vjb25kDQotCQ0KLQkvLyBEZWNsYXJlIHZhcmlhYmxlcyBmb3IgdGhlIHR3byBqb3lzdGlja3MgYmVpbmcgdXNlZA0KLQlKb3lzdGljayAqbV9yaWdodFN0aWNrOwkJCS8vIGpveXN0aWNrIDEgKGFyY2FkZSBzdGljayBvciByaWdodCB0YW5rIHN0aWNrKQ0KLQlKb3lzdGljayAqbV9sZWZ0U3RpY2s7CQkJLy8gam95c3RpY2sgMiAodGFuayBsZWZ0IHN0aWNrKQ0KLQkNCi0Jc3RhdGljIGNvbnN0IGludCBOVU1fSk9ZU1RJQ0tfQlVUVE9OUyA9IDE2Ow0KLQlib29sIG1fcmlnaHRTdGlja0J1dHRvblN0YXRlWyhOVU1fSk9ZU1RJQ0tfQlVUVE9OUysxKV07DQotCWJvb2wgbV9sZWZ0U3RpY2tCdXR0b25TdGF0ZVsoTlVNX0pPWVNUSUNLX0JVVFRPTlMrMSldOwkNCi0JDQotCS8vIERlY2xhcmUgdmFyaWFibGVzIGZvciBlYWNoIG9mIHRoZSBlaWdodCBzb2xlbm9pZCBvdXRwdXRzDQotCXN0YXRpYyBjb25zdCBpbnQgTlVNX1NPTEVOT0lEUyA9IDg7DQotCVNvbGVub2lkICptX3NvbGVub2lkc1soTlVNX1NPTEVOT0lEUysxKV07DQotDQotCWVudW0gewkJCQkJCQkvLyBkcml2ZSBtb2RlIHNlbGVjdGlvbg0KLQkJVU5JTklUSUFMSVpFRF9EUklWRSA9IDAsDQotCQlBUkNBREVfRFJJVkUgPSAxLA0KLQkJVEFOS19EUklWRSA9IDINCi0JfSBtX2RyaXZlTW9kZTsNCi0JDQotCS8vIExvY2FsIHZhcmlhYmxlcyB0byBjb3VudCB0aGUgbnVtYmVyIG9mIHBlcmlvZGljIGxvb3BzIHBlcmZvcm1lZA0KLQlVSU5UMzIgbV9hdXRvUGVyaW9kaWNMb29wczsNCi0JVUlOVDMyIG1fZGlzYWJsZWRQZXJpb2RpY0xvb3BzOw0KLQlVSU5UMzIgbV90ZWxlUGVyaW9kaWNMb29wczsNCi0JCQ0KLXB1YmxpYzoNCi0vKioNCi0gKiBDb25zdHJ1Y3RvciBmb3IgdGhpcyAiQnVpbHRpbkRlZmF1bHRDb2RlIiBDbGFzcy4NCi0gKiANCi0gKiBUaGUgY29uc3RydWN0b3IgY3JlYXRlcyBhbGwgb2YgdGhlIG9iamVjdHMgdXNlZCBmb3IgdGhlIGRpZmZlcmVudCBpbnB1dHMgYW5kIG91dHB1dHMgb2YNCi0gKiB0aGUgcm9ib3QuICBFc3NlbnRpYWxseSwgdGhlIGNvbnN0cnVjdG9yIGRlZmluZXMgdGhlIGlucHV0L291dHB1dCBtYXBwaW5nIGZvciB0aGUgcm9ib3QsDQotICogcHJvdmlkaW5nIG5hbWVkIG9iamVjdHMgZm9yIGVhY2ggb2YgdGhlIHJvYm90IGludGVyZmFjZXMuIA0KLSAqLw0KLQlCdWlsdGluRGVmYXVsdENvZGUodm9pZCkJew0KLQkJcHJpbnRmKCJCdWlsdGluRGVmYXVsdENvZGUgQ29uc3RydWN0b3IgU3RhcnRlZFxuIik7DQotDQotCQkvLyBDcmVhdGUgYSByb2JvdCB1c2luZyBzdGFuZGFyZCByaWdodC9sZWZ0IHJvYm90IGRyaXZlIG9uIFBXTVMgMSwgMiwgMywgYW5kICM0DQotCQltX3JvYm90RHJpdmUgPSBuZXcgUm9ib3REcml2ZSgxLCAzLCAyLCA0KTsNCi0NCi0JCS8vIEFjcXVpcmUgdGhlIERyaXZlciBTdGF0aW9uIG9iamVjdA0KLQkJbV9kcyA9IERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCk7DQotCQltX3ByaW9yUGFja2V0TnVtYmVyID0gMDsNCi0JCW1fZHNQYWNrZXRzUmVjZWl2ZWRJbkN1cnJlbnRTZWNvbmQgPSAwOw0KLQ0KLQkJLy8gRGVmaW5lIGpveXN0aWNrcyBiZWluZyB1c2VkIGF0IFVTQiBwb3J0ICMxIGFuZCBVU0IgcG9ydCAjMiBvbiB0aGUgRHJpdmVycyBTdGF0aW9uDQotCQltX3JpZ2h0U3RpY2sgPSBuZXcgSm95c3RpY2soMSk7DQotCQltX2xlZnRTdGljayA9IG5ldyBKb3lzdGljaygyKTsNCi0NCi0JCS8vIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIGJ1dHRvbnMgb24gZWFjaCBqb3lzdGljaywgc2V0dGluZyBzdGF0ZSB0byBmYWxzZSBmb3IgZWFjaA0KLQkJVUlOVDggYnV0dG9uTnVtID0gMTsJCQkJCQkvLyBzdGFydCBjb3VudGluZyBidXR0b25zIGF0IGJ1dHRvbiAxDQotCQlmb3IgKGJ1dHRvbk51bSA9IDE7IGJ1dHRvbk51bSA8PSBOVU1fSk9ZU1RJQ0tfQlVUVE9OUzsgYnV0dG9uTnVtKyspIHsNCi0JCQltX3JpZ2h0U3RpY2tCdXR0b25TdGF0ZVtidXR0b25OdW1dID0gZmFsc2U7DQotCQkJbV9sZWZ0U3RpY2tCdXR0b25TdGF0ZVtidXR0b25OdW1dID0gZmFsc2U7DQotCQl9DQotDQotCQkvLyBJdGVyYXRlIG92ZXIgYWxsIHRoZSBzb2xlbm9pZHMgb24gdGhlIHJvYm90LCBjb25zdHJ1Y3RpbmcgZWFjaCBpbiB0dXJuDQotCQlVSU5UOCBzb2xlbm9pZE51bSA9IDE7CQkJCQkJLy8gc3RhcnQgY291bnRpbmcgc29sZW5vaWRzIGF0IHNvbGVub2lkIDENCi0JCWZvciAoc29sZW5vaWROdW0gPSAxOyBzb2xlbm9pZE51bSA8PSBOVU1fU09MRU5PSURTOyBzb2xlbm9pZE51bSsrKSB7DQotCQkJbV9zb2xlbm9pZHNbc29sZW5vaWROdW1dID0gbmV3IFNvbGVub2lkKHNvbGVub2lkTnVtKTsNCi0JCX0NCi0NCi0JCS8vIFNldCBkcml2ZSBtb2RlIHRvIHVuaW5pdGlhbGl6ZWQNCi0JCW1fZHJpdmVNb2RlID0gVU5JTklUSUFMSVpFRF9EUklWRTsNCi0NCi0JCS8vIEluaXRpYWxpemUgY291bnRlcnMgdG8gcmVjb3JkIHRoZSBudW1iZXIgb2YgbG9vcHMgY29tcGxldGVkIGluIGF1dG9ub21vdXMgYW5kIHRlbGVvcCBtb2Rlcw0KLQkJbV9hdXRvUGVyaW9kaWNMb29wcyA9IDA7DQotCQltX2Rpc2FibGVkUGVyaW9kaWNMb29wcyA9IDA7DQotCQltX3RlbGVQZXJpb2RpY0xvb3BzID0gMDsNCi0NCi0JCXByaW50ZigiQnVpbHRpbkRlZmF1bHRDb2RlIENvbnN0cnVjdG9yIENvbXBsZXRlZFxuIik7DQotCX0NCi0JDQotCQ0KLQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBJbml0IFJvdXRpbmVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotDQotCXZvaWQgUm9ib3RJbml0KHZvaWQpIHsNCi0JCS8vIEFjdGlvbnMgd2hpY2ggd291bGQgYmUgcGVyZm9ybWVkIG9uY2UgKGFuZCBvbmx5IG9uY2UpIHVwb24gaW5pdGlhbGl6YXRpb24gb2YgdGhlDQotCQkvLyByb2JvdCB3b3VsZCBiZSBwdXQgaGVyZS4NCi0JCQ0KLQkJcHJpbnRmKCJSb2JvdEluaXQoKSBjb21wbGV0ZWQuXG4iKTsNCi0JfQ0KLQkNCi0Jdm9pZCBEaXNhYmxlZEluaXQodm9pZCkgew0KLQkJbV9kaXNhYmxlZFBlcmlvZGljTG9vcHMgPSAwOwkJCS8vIFJlc2V0IHRoZSBsb29wIGNvdW50ZXIgZm9yIGRpc2FibGVkIG1vZGUNCi0JCUNsZWFyU29sZW5vaWRMRURzS0lUVCgpOw0KLQkJLy8gTW92ZSB0aGUgY3Vyc29yIGRvd24gYSBmZXcsIHNpbmNlIHdlJ2xsIG1vdmUgaXQgYmFjayB1cCBpbiBwZXJpb2RpYy4NCi0JCXByaW50ZigiXHgxYlsyQiIpOw0KLQl9DQotDQotCXZvaWQgQXV0b25vbW91c0luaXQodm9pZCkgew0KLQkJbV9hdXRvUGVyaW9kaWNMb29wcyA9IDA7CQkJCS8vIFJlc2V0IHRoZSBsb29wIGNvdW50ZXIgZm9yIGF1dG9ub21vdXMgbW9kZQ0KLQkJQ2xlYXJTb2xlbm9pZExFRHNLSVRUKCk7DQotCX0NCi0NCi0Jdm9pZCBUZWxlb3BJbml0KHZvaWQpIHsNCi0JCW1fdGVsZVBlcmlvZGljTG9vcHMgPSAwOwkJCQkvLyBSZXNldCB0aGUgbG9vcCBjb3VudGVyIGZvciB0ZWxlb3AgbW9kZQ0KLQkJbV9kc1BhY2tldHNSZWNlaXZlZEluQ3VycmVudFNlY29uZCA9IDA7CS8vIFJlc2V0IHRoZSBudW1iZXIgb2YgZHNQYWNrZXRzIGluIGN1cnJlbnQgc2Vjb25kDQotCQltX2RyaXZlTW9kZSA9IFVOSU5JVElBTElaRURfRFJJVkU7CQkvLyBTZXQgZHJpdmUgbW9kZSB0byB1bmluaXRpYWxpemVkDQotCQlDbGVhclNvbGVub2lkTEVEc0tJVFQoKTsNCi0JfQ0KLQ0KLQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQZXJpb2RpYyBSb3V0aW5lcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQkNCi0Jdm9pZCBEaXNhYmxlZFBlcmlvZGljKHZvaWQpICB7DQotCQlzdGF0aWMgSU5UMzIgcHJpbnRTZWMgPSAoSU5UMzIpR2V0Q2xvY2soKSArIDE7DQotCQlzdGF0aWMgY29uc3QgSU5UMzIgc3RhcnRTZWMgPSAoSU5UMzIpR2V0Q2xvY2soKTsNCi0NCi0NCi0JCS8vIGluY3JlbWVudCB0aGUgbnVtYmVyIG9mIGRpc2FibGVkIHBlcmlvZGljIGxvb3BzIGNvbXBsZXRlZA0KLQkJbV9kaXNhYmxlZFBlcmlvZGljTG9vcHMrKzsNCi0JCQ0KLQkJLy8gd2hpbGUgZGlzYWJsZWQsIHByaW50b3V0IHRoZSBkdXJhdGlvbiBvZiBjdXJyZW50IGRpc2FibGVkIG1vZGUgaW4gc2Vjb25kcw0KLQkJaWYgKEdldENsb2NrKCkgPiBwcmludFNlYykgew0KLQkJCS8vIE1vdmUgdGhlIGN1cnNvciBiYWNrIHRvIHRoZSBwcmV2aW91cyBsaW5lIGFuZCBjbGVhciBpdC4NCi0JCQlwcmludGYoIlx4MWJbMUFceDFiWzJLIik7DQotCQkJcHJpbnRmKCJEaXNhYmxlZCBzZWNvbmRzOiAlZFxyXG4iLCBwcmludFNlYyAtIHN0YXJ0U2VjKTsJCQkNCi0JCQlwcmludFNlYysrOw0KLQkJfQ0KLQl9DQotDQotCXZvaWQgQXV0b25vbW91c1BlcmlvZGljKHZvaWQpIHsNCi0JCQ0KLQkJbV9hdXRvUGVyaW9kaWNMb29wcysrOw0KLQ0KLQkJLy8gZ2VuZXJhdGUgS0lUVC1zdHlsZSBMRUQgZGlzcGxheSBvbiB0aGUgc29sZW5vaWRzDQotCQlTb2xlbm9pZExFRHNLSVRUKCBtX2F1dG9QZXJpb2RpY0xvb3BzICk7DQotCQkJCQ0KLQkJLyogdGhlIGJlbG93IGNvZGUgKGlmIHVuY29tbWVudGVkKSB3b3VsZCBkcml2ZSB0aGUgcm9ib3QgZm9yd2FyZCBhdCBoYWxmIHNwZWVkDQotCQkgKiBmb3IgdHdvIHNlY29uZHMuICBUaGlzIGNvZGUgaXMgcHJvdmlkZWQgYXMgYW4gZXhhbXBsZSBvZiBob3cgdG8gZHJpdmUgdGhlIA0KLQkJICogcm9ib3QgaW4gYXV0b25vbW91cyBtb2RlLCBidXQgaXMgbm90IGVuYWJsZWQgaW4gdGhlIGRlZmF1bHQgY29kZSBpbiBvcmRlcg0KLQkJICogdG8gcHJldmVudCBhbiB1bnN1c3BlY3RpbmcgdGVhbSBmcm9tIGhhdmluZyB0aGVpciByb2JvdCBkcml2ZSBhdXRvbm9tb3VzbHkhDQotCQkgKi8NCi0JCS8qIGJlbG93IGNvZGUgY29tbWVudGVkIG91dCBmb3Igc2FmZXR5DQotCQlpZiAobV9hdXRvUGVyaW9kaWNMb29wcyA9PSAxKSB7DQotCQkJLy8gV2hlbiBvbiB0aGUgZmlyc3QgcGVyaW9kaWMgbG9vcCBpbiBhdXRvbm9tb3VzIG1vZGUsIHN0YXJ0IGRyaXZpbmcgZm9yd2FyZHMgYXQgaGFsZiBzcGVlZA0KLQkJCW1fcm9ib3REcml2ZS0+RHJpdmUoMC41LCAwLjApOwkJCS8vIGRyaXZlIGZvcndhcmRzIGF0IGhhbGYgc3BlZWQNCi0JCX0NCi0JCWlmIChtX2F1dG9QZXJpb2RpY0xvb3BzID09ICgyICogR2V0TG9vcHNQZXJTZWMoKSkpIHsNCi0JCQkvLyBBZnRlciAyIHNlY29uZHMsIHN0b3AgdGhlIHJvYm90IA0KLQkJCW1fcm9ib3REcml2ZS0+RHJpdmUoMC4wLCAwLjApOwkJCS8vIHN0b3Agcm9ib3QNCi0JCX0NCi0JCSovDQotCX0NCi0NCi0JDQotCXZvaWQgVGVsZW9wUGVyaW9kaWModm9pZCkgew0KLQkJLy8gaW5jcmVtZW50IHRoZSBudW1iZXIgb2YgdGVsZW9wIHBlcmlvZGljIGxvb3BzIGNvbXBsZXRlZA0KLQkJbV90ZWxlUGVyaW9kaWNMb29wcysrOw0KLQ0KLQkJLyoNCi0JCSAqIE5vIGxvbmdlciBuZWVkZWQgc2luY2UgcGVyaW9kaWMgbG9vcHMgYXJlIG5vdyBzeW5jaHJvbml6ZWQgd2l0aCBpbmNvbWluZyBwYWNrZXRzLg0KLQkJaWYgKG1fZHMtPkdldFBhY2tldE51bWJlcigpICE9IG1fcHJpb3JQYWNrZXROdW1iZXIpIHsNCi0JCSovDQotCQkJLyogDQotCQkJICogQ29kZSBwbGFjZWQgaW4gaGVyZSB3aWxsIGJlIGNhbGxlZCBvbmx5IHdoZW4gYSBuZXcgcGFja2V0IG9mIGluZm9ybWF0aW9uDQotCQkJICogaGFzIGJlZW4gcmVjZWl2ZWQgYnkgdGhlIERyaXZlciBTdGF0aW9uLiAgQW55IGNvZGUgd2hpY2ggbmVlZHMgbmV3IGluZm9ybWF0aW9uDQotCQkJICogZnJvbSB0aGUgRFMgc2hvdWxkIGdvIGluIGhlcmUNCi0JCQkgKi8NCi0JCQkgDQotCQkJbV9kc1BhY2tldHNSZWNlaXZlZEluQ3VycmVudFNlY29uZCsrOwkJCQkJLy8gaW5jcmVtZW50IERTIHBhY2tldHMgcmVjZWl2ZWQNCi0JCQkJCQkNCi0JCQkvLyBwdXQgRHJpdmVyIFN0YXRpb24tZGVwZW5kZW50IGNvZGUgaGVyZQ0KLQ0KLQkJCS8vIERlbW9uc3RyYXRlIHRoZSB1c2Ugb2YgdGhlIEpveXN0aWNrIGJ1dHRvbnMNCi0JCQlEZW1vbnN0cmF0ZUpveXN0aWNrQnV0dG9ucyhtX3JpZ2h0U3RpY2ssIG1fcmlnaHRTdGlja0J1dHRvblN0YXRlLCAiUmlnaHQgU3RpY2siLCAmbV9zb2xlbm9pZHNbMV0pOw0KLQkJCURlbW9uc3RyYXRlSm95c3RpY2tCdXR0b25zKG1fbGVmdFN0aWNrLCBtX2xlZnRTdGlja0J1dHRvblN0YXRlLCAiTGVmdCBTdGljayAiLCAmbV9zb2xlbm9pZHNbNV0pOw0KLQkJDQotCQkJLy8gZGV0ZXJtaW5lIGlmIHRhbmsgb3IgYXJjYWRlIG1vZGUsIGJhc2VkIHVwb24gcG9zaXRpb24gb2YgIloiIHdoZWVsIG9uIGtpdCBqb3lzdGljaw0KLQkJCWlmIChtX3JpZ2h0U3RpY2stPkdldFooKSA8PSAwKSB7ICAgIC8vIExvZ2l0ZWNoIEF0dGFjazMgaGFzIHotcG9sYXJpdHkgcmV2ZXJzZWQ7IHVwIGlzIG5lZ2F0aXZlDQotCQkJCS8vIHVzZSBhcmNhZGUgZHJpdmUNCi0JCQkJbV9yb2JvdERyaXZlLT5BcmNhZGVEcml2ZShtX3JpZ2h0U3RpY2spOwkJCS8vIGRyaXZlIHdpdGggYXJjYWRlIHN0eWxlICh1c2UgcmlnaHQgc3RpY2spDQotCQkJCWlmIChtX2RyaXZlTW9kZSAhPSBBUkNBREVfRFJJVkUpIHsNCi0JCQkJCS8vIGlmIG5ld2x5IGVudGVyZWQgYXJjYWRlIGRyaXZlLCBwcmludCBvdXQgYSBtZXNzYWdlDQotCQkJCQlwcmludGYoIkFyY2FkZSBEcml2ZVxuIik7DQotCQkJCQltX2RyaXZlTW9kZSA9IEFSQ0FERV9EUklWRTsNCi0JCQkJfQ0KLQkJCX0gZWxzZSB7DQotCQkJCS8vIHVzZSB0YW5rIGRyaXZlDQotCQkJCW1fcm9ib3REcml2ZS0+VGFua0RyaXZlKG1fbGVmdFN0aWNrLCBtX3JpZ2h0U3RpY2spOwkvLyBkcml2ZSB3aXRoIHRhbmsgc3R5bGUNCi0JCQkJaWYgKG1fZHJpdmVNb2RlICE9IFRBTktfRFJJVkUpIHsNCi0JCQkJCS8vIGlmIG5ld2x5IGVudGVyZWQgdGFuayBkcml2ZSwgcHJpbnQgb3V0IGEgbWVzc2FnZQ0KLQkJCQkJcHJpbnRmKCJUYW5rIERyaXZlXG4iKTsNCi0JCQkJCW1fZHJpdmVNb2RlID0gVEFOS19EUklWRTsNCi0JCQkJfQ0KLQkJCX0gDQotCQkvKg0KLQkJfSAgLy8gaWYgKG1fZHMtPkdldFBhY2tldE51bWJlcigpLi4uDQotCQkqLw0KLQ0KLQl9IC8vIFRlbGVvcFBlcmlvZGljKHZvaWQpDQotDQotDQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQ29udGludW91cyBSb3V0aW5lcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQ0KLQkvKiANCi0JICogVGhlc2Ugcm91dGluZXMgYXJlIG5vdCB1c2VkIGluIHRoaXMgZGVtb25zdHJhdGlvbiByb2JvdA0KLQkgKg0KLQkgKiANCi0Jdm9pZCBEaXNhYmxlZENvbnRpbnVvdXModm9pZCkgew0KLQl9DQotDQotCXZvaWQgQXV0b25vbW91c0NvbnRpbnVvdXModm9pZCkJew0KLQl9DQotDQotCXZvaWQgVGVsZW9wQ29udGludW91cyh2b2lkKSB7DQotCX0NCi0JKi8NCi0NCi0JDQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTWlzY2VsbGFuZW91cyBSb3V0aW5lcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQkNCi0JLyoqDQotCSAqIENsZWFyIEtJVFQtc3R5bGUgTEVEIGRpc3BsYXkgb24gdGhlIHNvbGVub2lkcw0KLQkgKiANCi0JICogQ2xlYXIgdGhlIHNvbGVub2lkIExFRHMgdXNlZCBmb3IgYSBLSVRULXN0eWxlIExFRCBkaXNwbGF5Lg0KLQkgKi8JDQotCXZvaWQgQ2xlYXJTb2xlbm9pZExFRHNLSVRUKCkgew0KLQkJLy8gSXRlcmF0ZSBvdmVyIGFsbCB0aGUgc29sZW5vaWRzIG9uIHRoZSByb2JvdCwgY2xlYXJpbmcgZWFjaCBpbiB0dXJuDQotCQlVSU5UOCBzb2xlbm9pZE51bSA9IDE7CQkJCQkJLy8gc3RhcnQgY291bnRpbmcgc29sZW5vaWRzIGF0IHNvbGVub2lkIDENCi0JCWZvciAoc29sZW5vaWROdW0gPSAxOyBzb2xlbm9pZE51bSA8PSBOVU1fU09MRU5PSURTOyBzb2xlbm9pZE51bSsrKSB7DQotCQkJbV9zb2xlbm9pZHNbc29sZW5vaWROdW1dLT5TZXQoZmFsc2UpOw0KLQkJfQ0KLQl9DQotCQ0KLQkvKioNCi0JICogR2VuZXJhdGUgS0lUVC1zdHlsZSBMRUQgZGlzcGxheSBvbiB0aGUgc29sZW5vaWRzDQotCSAqIA0KLQkgKiBUaGlzIG1ldGhvZCBleHBlY3RzIHRvIGJlIGNhbGxlZCBkdXJpbmcgZWFjaCBwZXJpb2RpYyBsb29wLCB3aXRoIHRoZSBhcmd1bWVudCBiZWluZyB0aGUgDQotCSAqIGxvb3AgbnVtYmVyIGZvciB0aGUgY3VycmVudCBsb29wLg0KLQkgKiANCi0JICogVGhlIGdvYWwgaGVyZSBpcyB0byBnZW5lcmF0ZSBhIEtJVFQtc3R5bGUgTEVEIGRpc3BsYXkuICAoU2VlIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvS0lUVCApDQotCSAqIEhvd2V2ZXIsIHNpbmNlIHRoZSBzb2xlbm9pZCBtb2R1bGUgaGFzIHR3byBzY2FuIGJhcnMsIHdlIGNhbiBoYXZlIG91cnMgZ28gaW4gb3Bwb3NpdGUgZGlyZWN0aW9ucyENCi0JICogVGhlIHNjYW4gYmFyIGlzIHdyaXR0ZW4gdG8gaGF2ZSBhIHBlcmlvZCBvZiBvbmUgc2Vjb25kIHdpdGggc2l4IGRpZmZlcmVudCBwb3NpdGlvbnMuDQotCSAqLw0KLQl2b2lkIFNvbGVub2lkTEVEc0tJVFQoVUlOVDMyIG51bWxvb3BzKSB7DQotCQl1bnNpZ25lZCBpbnQgY29uc3QgTlVNX0tJVFRfUE9TSVRJT05TID0gNjsNCi0JCVVJTlQxNiBudW1sb29wX3dpdGhpbl9zZWNvbmQgPSBudW1sb29wcyAlIChVSU5UMzIpR2V0TG9vcHNQZXJTZWMoKTsNCi0NCi0JCWlmIChudW1sb29wX3dpdGhpbl9zZWNvbmQgPT0gMCkgew0KLQkJCS8vIHBvc2l0aW9uIDE7IHNvbGVub2lkcyAxIGFuZCA4IG9uDQotCQkJbV9zb2xlbm9pZHNbMV0tPlNldCh0cnVlKTsgIG1fc29sZW5vaWRzWzhdLT5TZXQodHJ1ZSk7DQotCQkJbV9zb2xlbm9pZHNbMl0tPlNldChmYWxzZSk7IG1fc29sZW5vaWRzWzddLT5TZXQoZmFsc2UpOw0KLQkJfSBlbHNlIGlmIChudW1sb29wX3dpdGhpbl9zZWNvbmQgPT0gKChVSU5UMzIpR2V0TG9vcHNQZXJTZWMoKSAvIE5VTV9LSVRUX1BPU0lUSU9OUykpIHsNCi0JCQkvLyBwb3NpdGlvbiAyOyBzb2xlbm9pZHMgMiBhbmQgNyBvbg0KLQkJCW1fc29sZW5vaWRzWzJdLT5TZXQodHJ1ZSk7ICBtX3NvbGVub2lkc1s3XS0+U2V0KHRydWUpOw0KLQkJCW1fc29sZW5vaWRzWzFdLT5TZXQoZmFsc2UpOyBtX3NvbGVub2lkc1s4XS0+U2V0KGZhbHNlKTsNCi0JCX0gZWxzZSBpZiAobnVtbG9vcF93aXRoaW5fc2Vjb25kID09ICgoVUlOVDMyKUdldExvb3BzUGVyU2VjKCkgKiAyIC8gTlVNX0tJVFRfUE9TSVRJT05TKSkgew0KLQkJCS8vIHBvc2l0aW9uIDM7IHNvbGVub2lkcyAzIGFuZCA2IG9uDQotCQkJbV9zb2xlbm9pZHNbM10tPlNldCh0cnVlKTsgIG1fc29sZW5vaWRzWzZdLT5TZXQodHJ1ZSk7DQotCQkJbV9zb2xlbm9pZHNbMl0tPlNldChmYWxzZSk7IG1fc29sZW5vaWRzWzddLT5TZXQoZmFsc2UpOw0KLQkJfSBlbHNlIGlmIChudW1sb29wX3dpdGhpbl9zZWNvbmQgPT0gKChVSU5UMzIpR2V0TG9vcHNQZXJTZWMoKSAqIDMgLyBOVU1fS0lUVF9QT1NJVElPTlMpKSB7DQotCQkJLy8gcG9zaXRpb24gNDsgc29sZW5vaWRzIDQgYW5kIDUgb24NCi0JCQltX3NvbGVub2lkc1s0XS0+U2V0KHRydWUpOyAgbV9zb2xlbm9pZHNbNV0tPlNldCh0cnVlKTsNCi0JCQltX3NvbGVub2lkc1szXS0+U2V0KGZhbHNlKTsgbV9zb2xlbm9pZHNbNl0tPlNldChmYWxzZSk7DQotCQl9IGVsc2UgaWYgKG51bWxvb3Bfd2l0aGluX3NlY29uZCA9PSAoKFVJTlQzMilHZXRMb29wc1BlclNlYygpICogNCAvIE5VTV9LSVRUX1BPU0lUSU9OUykpIHsNCi0JCQkvLyBwb3NpdGlvbiA1OyBzb2xlbm9pZHMgMyBhbmQgNiBvbg0KLQkJCW1fc29sZW5vaWRzWzNdLT5TZXQodHJ1ZSk7ICBtX3NvbGVub2lkc1s2XS0+U2V0KHRydWUpOw0KLQkJCW1fc29sZW5vaWRzWzRdLT5TZXQoZmFsc2UpOyBtX3NvbGVub2lkc1s1XS0+U2V0KGZhbHNlKTsNCi0JCX0gZWxzZSBpZiAobnVtbG9vcF93aXRoaW5fc2Vjb25kID09ICgoVUlOVDMyKUdldExvb3BzUGVyU2VjKCkgKiA1IC8gTlVNX0tJVFRfUE9TSVRJT05TKSkgew0KLQkJCS8vIHBvc2l0aW9uIDY7IHNvbGVub2lkcyAyIGFuZCA3IG9uDQotCQkJbV9zb2xlbm9pZHNbMl0tPlNldCh0cnVlKTsgIG1fc29sZW5vaWRzWzddLT5TZXQodHJ1ZSk7DQotCQkJbV9zb2xlbm9pZHNbM10tPlNldChmYWxzZSk7IG1fc29sZW5vaWRzWzZdLT5TZXQoZmFsc2UpOw0KLQkJfSANCi0JfQ0KLQ0KLQkvKioNCi0JICogRGVtb25zdHJhdGUgaGFuZGxpbmcgb2Ygam95c3RpY2sgYnV0dG9ucw0KLQkgKiANCi0JICogVGhpcyBtZXRob2QgZXhwZWN0cyB0byBiZSBjYWxsZWQgZHVyaW5nIGVhY2ggcGVyaW9kaWMgbG9vcCwgcHJvdmlkaW5nIHRoZSBmb2xsb3dpbmcNCi0JICogY2FwYWJpbGl0aWVzOg0KLQkgKiAtIFByaW50IG91dCBhIG1lc3NhZ2Ugd2hlbiBhIGJ1dHRvbiBpcyBpbml0aWFsbHkgcHJlc3NlZA0KLQkgKiAtIFNvbGVub2lkIExFRHMgbGlnaHQgdXAgYWNjb3JkaW5nIHRvIGpveXN0aWNrIGJ1dHRvbnM6DQotCSAqICAgLSBXaGVuIG5vIGJ1dHRvbnMgcHJlc3NlZCwgY2xlYXIgdGhlIHNvbGVub2lkIExFRHMNCi0JICogICAtIFdoZW4gb25seSBvbmUgYnV0dG9uIGlzIHByZXNzZWQsIHNob3cgdGhlIGJ1dHRvbiBudW1iZXIgKGluIGJpbmFyeSkgdmlhIHRoZSBzb2xlbm9pZCBMRURzDQotCSAqICAgLSBXaGVuIG1vcmUgdGhhbiBvbmUgYnV0dG9uIGlzIHByZXNzZWQsIHNob3cgIjE1IiAoaW4gYmluYXJ5KSB2aWEgdGhlIHNvbGVub2lkIExFRHMNCi0JICovDQotCXZvaWQgRGVtb25zdHJhdGVKb3lzdGlja0J1dHRvbnMoSm95c3RpY2sgKmN1cnJTdGljaywNCi0JCQkJCQkJCQlib29sICpidXR0b25QcmV2aW91c2x5UHJlc3NlZCwNCi0JCQkJCQkJCQljb25zdCBjaGFyICpzdGlja1N0cmluZywNCi0JCQkJCQkJCQlTb2xlbm9pZCAqc29sZW5vaWRzW10pIHsNCi0JCQ0KLQkJVUlOVDggYnV0dG9uTnVtID0gMTsJCQkJLy8gc3RhcnQgY291bnRpbmcgYnV0dG9ucyBhdCBidXR0b24gMQ0KLQkJYm9vbCBvdXRwdXRHZW5lcmF0ZWQgPSBmYWxzZTsJCS8vIGZsYWcgZm9yIHdoZXRoZXIgb3Igbm90IG91dHB1dCBpcyBnZW5lcmF0ZWQgZm9yIGEgYnV0dG9uDQotCQlJTlQ4IG51bU9mQnV0dG9uUHJlc3NlZCA9IDA7CQkvLyAwIGlmIG5vIGJ1dHRvbnMgcHJlc3NlZCwgLTEgaWYgbXVsdGlwbGUgYnV0dG9ucyBwcmVzc2VkDQotCQkNCi0JCS8qIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIGJ1dHRvbnMgb24gdGhlIGpveXN0aWNrLCBjaGVja2luZyB0byBzZWUgaWYgZWFjaCBpcyBwcmVzc2VkDQotCQkgKiBJZiBhIGJ1dHRvbiBpcyBwcmVzc2VkLCBjaGVjayB0byBzZWUgaWYgaXQgaXMgbmV3bHkgcHJlc3NlZDsgaWYgc28sIHByaW50IG91dCBhDQotCQkgKiBtZXNzYWdlIG9uIHRoZSBjb25zb2xlDQotCQkgKi8gDQotCQlmb3IgKGJ1dHRvbk51bSA9IDE7IGJ1dHRvbk51bSA8PSBOVU1fSk9ZU1RJQ0tfQlVUVE9OUzsgYnV0dG9uTnVtKyspIHsNCi0JCQlpZiAoY3VyclN0aWNrLT5HZXRSYXdCdXR0b24oYnV0dG9uTnVtKSkgew0KLQkJCQkvLyB0aGUgY3VycmVudCBidXR0b24gaXMgcHJlc3NlZCwgbm93IGFjdCBhY2NvcmRpbmdseS4uLg0KLQkJCQlpZiAoIWJ1dHRvblByZXZpb3VzbHlQcmVzc2VkW2J1dHRvbk51bV0pIHsNCi0JCQkJCS8vIGJ1dHRvbiBuZXdseSBwcmVzc2VkOyBwcmludCBvdXQgYSBtZXNzYWdlDQotCQkJCQlpZiAoIW91dHB1dEdlbmVyYXRlZCkgew0KLQkJCQkJCS8vIHByaW50IG91dCBhIGhlYWRpbmcgaWYgbm8gb3RoZXIgYnV0dG9uIHByZXNzZWQgdGhpcyBjeWNsZQ0KLQkJCQkJCW91dHB1dEdlbmVyYXRlZCA9IHRydWU7DQotCQkJCQkJcHJpbnRmKCIlcyBidXR0b24gcHJlc3NlZDoiLCBzdGlja1N0cmluZyk7DQotCQkJCQl9DQotCQkJCQlwcmludGYoIiAlZCIsIGJ1dHRvbk51bSk7DQotCQkJCX0NCi0JCQkJLy8gcmVtZW1iZXIgdGhhdCB0aGlzIGJ1dHRvbiBpcyBwcmVzc2VkIGZvciB0aGUgbmV4dCBpdGVyYXRpb24NCi0JCQkJYnV0dG9uUHJldmlvdXNseVByZXNzZWRbYnV0dG9uTnVtXSA9IHRydWU7DQotCQkJCQ0KLQkJCQkvLyBzZXQgbnVtT2ZCdXR0b25QcmVzc2VkIGFwcHJvcHJpYXRlbHkNCi0JCQkJaWYgKG51bU9mQnV0dG9uUHJlc3NlZCA9PSAwKSB7DQotCQkJCQkvLyBubyBidXR0b24gcHJlc3NlZCB5ZXQgdGhpcyB0aW1lIHRocm91Z2gsIHNldCB0aGUgbnVtYmVyIGNvcnJlY3RseQ0KLQkJCQkJbnVtT2ZCdXR0b25QcmVzc2VkID0gYnV0dG9uTnVtOw0KLQkJCQl9IGVsc2Ugew0KLQkJCQkJLy8gYW5vdGhlciBidXR0b24gKG9yIGJ1dHRvbnMpIG11c3QgaGF2ZSBhbHJlYWR5IGJlZW4gcHJlc3NlZCwgc2V0IGFwcHJvcHJpYXRlbHkNCi0JCQkJCW51bU9mQnV0dG9uUHJlc3NlZCA9IC0xOw0KLQkJCQl9DQotCQkJfSBlbHNlIHsNCi0JCQkJYnV0dG9uUHJldmlvdXNseVByZXNzZWRbYnV0dG9uTnVtXSA9IGZhbHNlOw0KLQkJCX0NCi0JCX0NCi0JCQ0KLQkJLy8gYWZ0ZXIgaXRlcmF0aW5nIHRocm91Z2ggYWxsIHRoZSBidXR0b25zLCBhZGQgYSBuZXdsaW5lIHRvIG91dHB1dCBpZiBuZWVkZWQNCi0JCWlmIChvdXRwdXRHZW5lcmF0ZWQpIHsNCi0JCQlwcmludGYoIlxuIik7DQotCQl9DQotCQkNCi0JCWlmIChudW1PZkJ1dHRvblByZXNzZWQgPT0gLTEpIHsNCi0JCQkvLyBtdWx0aXBsZSBidXR0b25zIHdlcmUgcHJlc3NlZCwgZGlzcGxheSBhcyBpZiBidXR0b24gMTUgd2FzIHByZXNzZWQNCi0JCQlEaXNwbGF5QmluYXJ5TnVtYmVyT25Tb2xlbm9pZExFRHMoMTUsIHNvbGVub2lkcyk7DQotCQl9IGVsc2Ugew0KLQkJCS8vIGRpc3BsYXkgdGhlIG51bWJlciBvZiB0aGUgYnV0dG9uIHByZXNzZWQgb24gdGhlIHNvbGVub2lkczsNCi0JCQkvLyBub3RlIHRoYXQgaWYgbm8gYnV0dG9uIHdhcyBwcmVzc2VkICgwKSwgdGhlIHNvbGVub2lkIGRpc3BsYXkgd2lsbCBiZSBjbGVhcmVkIChzZXQgdG8gMCkNCi0JCQlEaXNwbGF5QmluYXJ5TnVtYmVyT25Tb2xlbm9pZExFRHMobnVtT2ZCdXR0b25QcmVzc2VkLCBzb2xlbm9pZHMpOw0KLQkJfQ0KLQl9DQotCQ0KLQ0KLQkvKioNCi0JICogRGlzcGxheSBhIGdpdmVuIGZvdXItYml0IHZhbHVlIGluIGJpbmFyeSBvbiB0aGUgZ2l2ZW4gc29sZW5vaWQgTEVEcw0KLQkgKi8NCi0Jdm9pZCBEaXNwbGF5QmluYXJ5TnVtYmVyT25Tb2xlbm9pZExFRHMoVUlOVDggZGlzcGxheU51bWJlciwgU29sZW5vaWQgKnNvbGVub2lkc1tdKSB7DQotDQotCQlpZiAoZGlzcGxheU51bWJlciA+IDE1KSB7DQotCQkJLy8gaWYgdGhlIG51bWJlciB0byBkaXNwbGF5IGlzIGxhcmdlciB0aGFuIGNhbiBiZSBkaXNwbGF5ZWQgaW4gNCBMRURzLCBkaXNwbGF5IDAgaW5zdGVhZA0KLQkJCWRpc3BsYXlOdW1iZXIgPSAwOw0KLQkJfQ0KLQkJDQotCQlzb2xlbm9pZHNbM10tPlNldCggKGRpc3BsYXlOdW1iZXIgJiAxKSAhPSAwKTsNCi0JCXNvbGVub2lkc1syXS0+U2V0KCAoZGlzcGxheU51bWJlciAmIDIpICE9IDApOw0KLQkJc29sZW5vaWRzWzFdLT5TZXQoIChkaXNwbGF5TnVtYmVyICYgNCkgIT0gMCk7DQotCQlzb2xlbm9pZHNbMF0tPlNldCggKGRpc3BsYXlOdW1iZXIgJiA4KSAhPSAwKTsNCi0JfQ0KLQkJCQ0KLX07DQotDQotU1RBUlRfUk9CT1RfQ0xBU1MoQnVpbHRpbkRlZmF1bHRDb2RlKTsNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL3NhbXBsZS5wcm9wZXJ0aWVzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS9zYW1wbGUucHJvcGVydGllcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZjODk1ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL3NhbXBsZS50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQnVpbHRpbkRlZmF1bHRDb2RlL3NhbXBsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRhZjU2N2QuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0J1aWx0aW5EZWZhdWx0Q29kZS9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRlJDIERlZmF1bHQgUHJvZ3JhbSAoQ3VycmVudCB3aXRoIGltYWdpbmcgdG9vbCkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLVRoaXMgcHJvZ3JhbSBpcyB0aGUgImRlZmF1bHQiIG1haW4gcHJvZ3JhbSBpbmNsdWRlZCB3aGVuIGltYWdpbmcgdGhlIGNSSU8gd2l0aCB0aGUNCi0iZGVmYXVsdCIgY29kZSBpbiBDKysuICANCi0NCi1UaGlzIGRlbW8gdXNlcyB0aGUgSXRlcmF0aXZlUm9ib3QgYmFzZSBjbGFzcyBpbiBvcmRlciB0byBtaXJyb3IgdGhlICJvbGQgc3R5bGUiIGRlZmF1bHQNCi1jb2RlIChwcmlvciB0byAyMDA5KSBieSBwcm92aWRpbmcgbWV0aG9kcyB3aGljaCBhcmUgY2FsbGVkIGJ5IHRoZSBtYWluIGxvb3AgYXQgdGhlDQotYXBwcm9wcmlhdGUgdGltZXMuDQotDQotVGhpcyBkZW1vIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgZnVuY3Rpb25hbGl0eSB0aGF0IHdpbGwgY29uZmlybSB0aGUgb3BlcmF0aW9uIGFuZCB1c2FnZQ0KLW9mIHRoZSBjb3JlIGNvbnRyb2wgc3lzdGVtIGNvbXBvbmVudHMsIGFzIHVzZWQgaW4gdGhlICJCZW5jaHRvcCBUZXN0IiBkZXNjcmliZWQgaW4NCi1DaGFwdGVyIDIgb2YgdGhlIDIwMDkgRlJDIENvbnRyb2wgU3lzdGVtIE1hbnVhbC4NCi0NCi1UaGlzIHByb2dyYW0gcHJvdmlkZXMgZmVhdHVyZXMgaW4gdGhlIERpc2FibGVkLCBBdXRvbm9tb3VzLCBhbmQgVGVsZW9wIG1vZGVzIGFzIGRlc2NyaWJlZA0KLWluIHRoZSAiYmVuY2h0b3AgdGVzdCIgZGlyZWN0aW9ucywgaW5jbHVkaW5nICJvbmNlLWEtc2Vjb25kIiBkZWJ1Z2dpbmcgcHJpbnRvdXRzIHdoZW4NCi1kaXNhYmxlZCwgYSAiS0lUVCBsaWdodCBzaG93IiBvbiB0aGUgc29sZW5vaWQgbGlnaHRzIHdoZW4gZGlzYWJsZWQsIGFuZCBlbGVtZW50YXJ5IGRyaXZpbmcNCi1jYXBhYmlsaXRpZXMgYW5kICJidXR0b24gbWFwcGluZyIgb2Ygam95c3RpY2tzIHdoZW4gdGVsZW9wZXJhdGVkLiAgVGhpcyBkZW1vbnN0cmF0aW9uDQotcHJvZ3JhbSBhbHNvIHNob3dzIHRoZSB1c2Ugb2YgdGhlIHVzZXIgd2F0Y2hkb2cgdGltZXIuDQotDQotVGhpcyBkZW1vbnN0cmF0aW9uIGlzIG5vdCBpbnRlbmRlZCB0byBzZXJ2ZSBhcyBhICJzdGFydGluZyB0ZW1wbGF0ZSIgZm9yIGRldmVsb3BtZW50IG9mDQotcm9ib3QgY29kZSBmb3IgYSB0ZWFtLCBhcyB0aGVyZSBhcmUgYmV0dGVyIHRlbXBsYXRlcyBhbmQgZXhhbXBsZXMgY3JlYXRlZCBzcGVjaWZpY2FsbHkNCi1mb3IgdGhhdCBwdXJwb3NlLiAgSG93ZXZlciwgdGVhbXMgbWF5IGZpbmQgdGhlIHRlY2huaXF1ZXMgdXNlZCBpbiB0aGlzIHByb2dyYW0gdG8gYmUNCi1pbnRlcmVzdGluZyBwb3NzaWJpbGl0aWVzIGZvciB1c2UgaW4gdGhlaXIgb3duIHJvYm90IGNvZGUuDQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvLmNwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDI3MDg2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi0JPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi0JCTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi0JCQk8c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLQkJCQk8ZXh0ZXJuYWxTZXR0aW5ncy8+DQotCQkJCTxleHRlbnNpb25zPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUlNjYW5uZXJJbmZvUHJvdmlkZXIiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5TY2FubmVySW5mb1Byb3ZpZGVyIi8+DQotCQkJCQk8ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQk8L2V4dGVuc2lvbnM+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotCQkJCTxwYXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLQkJCQk8cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuYnVpbGQubW9kZWwuV1JfVVNFUkRFRklORURfQ09OVEFJTkVSIi8+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJzY2FubmVyQ29uZmlndXJhdGlvbiIvPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJ1c2VyZGVmaW5lZENvbnRhaW5lciI+DQotCQkJCTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLQkJCQk8aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi0JCQk8L3N0b3JhZ2VNb2R1bGU+DQotCQk8L2Njb25maWd1cmF0aW9uPg0KLQk8L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Nzc0MjUxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjQzYjkwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlZYX0NQVV9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ1BVIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0wiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9QQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNDX0FSQ0hfU1BFQyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJQQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlMiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSItdFBQQzYwM0ZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9Ii1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IkNvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUiIHBhc3NlZD0iZmFsc2UiIHRhcmdldG5hbWU9IkNvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGJ1aWxkdGFyZ2V0cmVmZXJlbmNlIG5hbWU9Ii9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGVfcGFydGlhbEltYWdlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJQYXJ0aWFsIEltYWdlIExpbmtlciIgbmFtZT0iQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiIHBhc3NlZD0idHJ1ZSIgdGFyZ2V0bmFtZT0iQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZSIgcmVjdXJzaXZlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgIDwvYnVpbGR0YXJnZXRzPg0KLTwvd3J4bWw+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZEJhc2UuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZEJhc2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMGViMTE3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL0NvbW1hbmRCYXNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLSNpbmNsdWRlICJDb21tYW5kQmFzZS5oIg0KLSNpbmNsdWRlICJTdWJzeXN0ZW1zL0V4YW1wbGVTdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvU2NoZWR1bGVyLmgiDQotDQotQ29tbWFuZEJhc2U6OkNvbW1hbmRCYXNlKGNvbnN0IGNoYXIgKm5hbWUpIDogQ29tbWFuZChuYW1lKSB7DQotfQ0KLQ0KLUNvbW1hbmRCYXNlOjpDb21tYW5kQmFzZSgpIDogQ29tbWFuZCgpIHsNCi19DQotDQotLy8gSW5pdGlhbGl6ZSBhIHNpbmdsZSBzdGF0aWMgaW5zdGFuY2Ugb2YgYWxsIG9mIHlvdXIgc3Vic3lzdGVtcyB0byBOVUxMDQotRXhhbXBsZVN1YnN5c3RlbSogQ29tbWFuZEJhc2U6OmV4YW1wbGVzdWJzeXN0ZW0gPSBOVUxMOw0KLU9JKiBDb21tYW5kQmFzZTo6b2kgPSBOVUxMOw0KLQ0KLXZvaWQgQ29tbWFuZEJhc2U6OmluaXQoKSB7DQotICAgIC8vIENyZWF0ZSBhIHNpbmdsZSBzdGF0aWMgaW5zdGFuY2Ugb2YgYWxsIG9mIHlvdXIgc3Vic3lzdGVtcy4gVGhlIGZvbGxvd2luZw0KLQkvLyBsaW5lIHNob3VsZCBiZSByZXBlYXRlZCBmb3IgZWFjaCBzdWJzeXN0ZW0gaW4gdGhlIHByb2plY3QuDQotCWV4YW1wbGVzdWJzeXN0ZW0gPSBuZXcgRXhhbXBsZVN1YnN5c3RlbSgpOw0KLQkNCi0Jb2kgPSBuZXcgT0koKTsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZEJhc2UuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL0NvbW1hbmRCYXNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzODJiZGEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZEJhc2UuaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSNpZm5kZWYgQ09NTUFORF9CQVNFX0gNCi0jZGVmaW5lIENPTU1BTkRfQkFTRV9IDQotDQotI2luY2x1ZGUgIkNvbW1hbmRzL0NvbW1hbmQuaCINCi0jaW5jbHVkZSAiU3Vic3lzdGVtcy9FeGFtcGxlU3Vic3lzdGVtLmgiDQotI2luY2x1ZGUgIk9JLmgiDQotDQotDQotLyoqDQotICogVGhlIGJhc2UgZm9yIGFsbCBjb21tYW5kcy4gQWxsIGF0b21pYyBjb21tYW5kcyBzaG91bGQgc3ViY2xhc3MgQ29tbWFuZEJhc2UuDQotICogQ29tbWFuZEJhc2Ugc3RvcmVzIGNyZWF0ZXMgYW5kIHN0b3JlcyBlYWNoIGNvbnRyb2wgc3lzdGVtLiBUbyBhY2Nlc3MgYQ0KLSAqIHN1YnN5c3RlbSBlbHNld2hlcmUgaW4geW91ciBjb2RlIGluIHlvdXIgY29kZSB1c2UgQ29tbWFuZEJhc2UuZXhhbXBsZXN1YnN5c3RlbQ0KLSAqLw0KLWNsYXNzIENvbW1hbmRCYXNlOiBwdWJsaWMgQ29tbWFuZCB7DQotcHVibGljOg0KLQlDb21tYW5kQmFzZShjb25zdCBjaGFyICpuYW1lKTsNCi0JQ29tbWFuZEJhc2UoKTsNCi0Jc3RhdGljIHZvaWQgaW5pdCgpOw0KLQkvLyBDcmVhdGUgYSBzaW5nbGUgc3RhdGljIGluc3RhbmNlIG9mIGFsbCBvZiB5b3VyIHN1YnN5c3RlbXMNCi0Jc3RhdGljIEV4YW1wbGVTdWJzeXN0ZW0gKmV4YW1wbGVzdWJzeXN0ZW07DQotCXN0YXRpYyBPSSAqb2k7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Db21tYW5kQmFzZWRSb2JvdC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Db21tYW5kQmFzZWRSb2JvdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiYWM2NzYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZEJhc2VkUm9ib3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotI2luY2x1ZGUgIldQSUxpYi5oIg0KLSNpbmNsdWRlICJDb21tYW5kcy9Db21tYW5kLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRzL0V4YW1wbGVDb21tYW5kLmgiDQotI2luY2x1ZGUgIkNvbW1hbmRCYXNlLmgiDQotDQotY2xhc3MgQ29tbWFuZEJhc2VkUm9ib3QgOiBwdWJsaWMgSXRlcmF0aXZlUm9ib3Qgew0KLXByaXZhdGU6DQotCUNvbW1hbmQgKmF1dG9ub21vdXNDb21tYW5kOw0KLQlMaXZlV2luZG93ICpsdzsNCi0JDQotCXZpcnR1YWwgdm9pZCBSb2JvdEluaXQoKSB7DQotCQlDb21tYW5kQmFzZTo6aW5pdCgpOw0KLQkJYXV0b25vbW91c0NvbW1hbmQgPSBuZXcgRXhhbXBsZUNvbW1hbmQoKTsNCi0JCWx3ID0gTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKTsNCi0JfQ0KLQkNCi0JdmlydHVhbCB2b2lkIEF1dG9ub21vdXNJbml0KCkgew0KLQkJYXV0b25vbW91c0NvbW1hbmQtPlN0YXJ0KCk7DQotCX0NCi0JDQotCXZpcnR1YWwgdm9pZCBBdXRvbm9tb3VzUGVyaW9kaWMoKSB7DQotCQlTY2hlZHVsZXI6OkdldEluc3RhbmNlKCktPlJ1bigpOw0KLQl9DQotCQ0KLQl2aXJ0dWFsIHZvaWQgVGVsZW9wSW5pdCgpIHsNCi0JCS8vIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBhdXRvbm9tb3VzIHN0b3BzIHJ1bm5pbmcgd2hlbg0KLQkJLy8gdGVsZW9wIHN0YXJ0cyBydW5uaW5nLiBJZiB5b3Ugd2FudCB0aGUgYXV0b25vbW91cyB0byANCi0JCS8vIGNvbnRpbnVlIHVudGlsIGludGVycnVwdGVkIGJ5IGFub3RoZXIgY29tbWFuZCwgcmVtb3ZlDQotCQkvLyB0aGlzIGxpbmUgb3IgY29tbWVudCBpdCBvdXQuDQotCQlhdXRvbm9tb3VzQ29tbWFuZC0+Q2FuY2VsKCk7DQotCX0NCi0JDQotCXZpcnR1YWwgdm9pZCBUZWxlb3BQZXJpb2RpYygpIHsNCi0JCVNjaGVkdWxlcjo6R2V0SW5zdGFuY2UoKS0+UnVuKCk7DQotCX0NCi0JDQotCXZpcnR1YWwgdm9pZCBUZXN0UGVyaW9kaWMoKSB7DQotCQlsdy0+UnVuKCk7DQotCX0NCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKENvbW1hbmRCYXNlZFJvYm90KTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Db21tYW5kcy9FeGFtcGxlQ29tbWFuZC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Db21tYW5kcy9FeGFtcGxlQ29tbWFuZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3NDdlNGEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZHMvRXhhbXBsZUNvbW1hbmQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotI2luY2x1ZGUgIkV4YW1wbGVDb21tYW5kLmgiDQotDQotRXhhbXBsZUNvbW1hbmQ6OkV4YW1wbGVDb21tYW5kKCkgew0KLQkvLyBVc2UgUmVxdWlyZXMoKSBoZXJlIHRvIGRlY2xhcmUgc3Vic3lzdGVtIGRlcGVuZGVuY2llcw0KLQkvLyBlZy4gUmVxdWlyZXMoY2hhc3Npcyk7DQotfQ0KLQ0KLS8vIENhbGxlZCBqdXN0IGJlZm9yZSB0aGlzIENvbW1hbmQgcnVucyB0aGUgZmlyc3QgdGltZQ0KLXZvaWQgRXhhbXBsZUNvbW1hbmQ6OkluaXRpYWxpemUoKSB7DQotCQ0KLX0NCi0NCi0vLyBDYWxsZWQgcmVwZWF0ZWRseSB3aGVuIHRoaXMgQ29tbWFuZCBpcyBzY2hlZHVsZWQgdG8gcnVuDQotdm9pZCBFeGFtcGxlQ29tbWFuZDo6RXhlY3V0ZSgpIHsNCi0JDQotfQ0KLQ0KLS8vIE1ha2UgdGhpcyByZXR1cm4gdHJ1ZSB3aGVuIHRoaXMgQ29tbWFuZCBubyBsb25nZXIgbmVlZHMgdG8gcnVuIGV4ZWN1dGUoKQ0KLWJvb2wgRXhhbXBsZUNvbW1hbmQ6OklzRmluaXNoZWQoKSB7DQotCXJldHVybiBmYWxzZTsNCi19DQotDQotLy8gQ2FsbGVkIG9uY2UgYWZ0ZXIgaXNGaW5pc2hlZCByZXR1cm5zIHRydWUNCi12b2lkIEV4YW1wbGVDb21tYW5kOjpFbmQoKSB7DQotCQ0KLX0NCi0NCi0vLyBDYWxsZWQgd2hlbiBhbm90aGVyIGNvbW1hbmQgd2hpY2ggcmVxdWlyZXMgb25lIG9yIG1vcmUgb2YgdGhlIHNhbWUNCi0vLyBzdWJzeXN0ZW1zIGlzIHNjaGVkdWxlZCB0byBydW4NCi12b2lkIEV4YW1wbGVDb21tYW5kOjpJbnRlcnJ1cHRlZCgpIHsNCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZHMvRXhhbXBsZUNvbW1hbmQuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL0NvbW1hbmRzL0V4YW1wbGVDb21tYW5kLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkN2U3YzMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvQ29tbWFuZHMvRXhhbXBsZUNvbW1hbmQuaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLSNpZm5kZWYgRVhBTVBMRV9DT01NQU5EX0gNCi0jZGVmaW5lIEVYQU1QTEVfQ09NTUFORF9IDQotDQotI2luY2x1ZGUgIi4uL0NvbW1hbmRCYXNlLmgiDQotDQotLyoqDQotICoNCi0gKg0KLSAqIEBhdXRob3IgRXhhbXBsZUF1dGhvcg0KLSAqLw0KLWNsYXNzIEV4YW1wbGVDb21tYW5kOiBwdWJsaWMgQ29tbWFuZEJhc2Ugew0KLXB1YmxpYzoNCi0JRXhhbXBsZUNvbW1hbmQoKTsNCi0JdmlydHVhbCB2b2lkIEluaXRpYWxpemUoKTsNCi0JdmlydHVhbCB2b2lkIEV4ZWN1dGUoKTsNCi0JdmlydHVhbCBib29sIElzRmluaXNoZWQoKTsNCi0JdmlydHVhbCB2b2lkIEVuZCgpOw0KLQl2aXJ0dWFsIHZvaWQgSW50ZXJydXB0ZWQoKTsNCi19Ow0KLQ0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL09JLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL09JLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFiN2ViYi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9PSS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLSNpbmNsdWRlICJPSS5oIg0KLQ0KLU9JOjpPSSgpIHsNCi0JLy8gUHJvY2VzcyBvcGVyYXRvciBpbnRlcmZhY2UgaW5wdXQgaGVyZS4NCi19DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvT0kuaCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL09JLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1OWIwNWIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvT0kuaAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLSNpZm5kZWYgT0lfSA0KLSNkZWZpbmUgT0lfSA0KLQ0KLSNpbmNsdWRlICJXUElMaWIuaCINCi0NCi1jbGFzcyBPSSB7DQotcHJpdmF0ZToNCi0NCi1wdWJsaWM6DQotCU9JKCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Sb2JvdG1hcC5oIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvUm9ib3RtYXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDliNzRmYi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9Sb2JvdG1hcC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotI2lmbmRlZiBST0JPVE1BUF9IDQotI2RlZmluZSBST0JPVE1BUF9IDQotDQotDQotLyoqDQotICogVGhlIFJvYm90TWFwIGlzIGEgbWFwcGluZyBmcm9tIHRoZSBwb3J0cyBzZW5zb3JzIGFuZCBhY3R1YXRvcnMgYXJlIHdpcmVkIGludG8NCi0gKiB0byBhIHZhcmlhYmxlIG5hbWUuIFRoaXMgcHJvdmlkZXMgZmxleGliaWxpdHkgY2hhbmdpbmcgd2lyaW5nLCBtYWtlcyBjaGVja2luZw0KLSAqIHRoZSB3aXJpbmcgZWFzaWVyIGFuZCBzaWduaWZpY2FudGx5IHJlZHVjZXMgdGhlIG51bWJlciBvZiBtYWdpYyBudW1iZXJzDQotICogZmxvYXRpbmcgYXJvdW5kLg0KLSAqLw0KLSANCi0vLyBGb3IgZXhhbXBsZSB0byBtYXAgdGhlIGxlZnQgYW5kIHJpZ2h0IG1vdG9ycywgeW91IGNvdWxkIGRlZmluZSB0aGUNCi0vLyBmb2xsb3dpbmcgdmFyaWFibGVzIHRvIHVzZSB3aXRoIHlvdXIgZHJpdmV0cmFpbiBzdWJzeXN0ZW0uDQotLy8gI2RlZmluZSBMRUZUTU9UT1IgMQ0KLS8vICNkZWZpbmUgUklHSFRNT1RPUiAyDQotDQotLy8gSWYgeW91IGFyZSB1c2luZyBtdWx0aXBsZSBtb2R1bGVzLCBtYWtlIHN1cmUgdG8gZGVmaW5lIGJvdGggdGhlIHBvcnQNCi0vLyBudW1iZXIgYW5kIHRoZSBtb2R1bGUuIEZvciBleGFtcGxlIHlvdSB3aXRoIGEgcmFuZ2VmaW5kZXI6DQotLy8gI2RlZmluZSBSQU5HRV9GSU5ERVJfUE9SVCAxDQotLy8gI2RlZmluZSBSQU5HRV9GSU5ERVJfTU9EVUxFIDENCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9TdWJzeXN0ZW1zL0V4YW1wbGVTdWJzeXN0ZW0uY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvU3Vic3lzdGVtcy9FeGFtcGxlU3Vic3lzdGVtLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFmYTE3YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9TdWJzeXN0ZW1zL0V4YW1wbGVTdWJzeXN0ZW0uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotI2luY2x1ZGUgIkV4YW1wbGVTdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiLi4vUm9ib3RtYXAuaCINCi0NCi1FeGFtcGxlU3Vic3lzdGVtOjpFeGFtcGxlU3Vic3lzdGVtKCkgOiBTdWJzeXN0ZW0oIkV4YW1wbGVTdWJzeXN0ZW0iKSB7DQotCQ0KLX0NCi0gICAgDQotdm9pZCBFeGFtcGxlU3Vic3lzdGVtOjpJbml0RGVmYXVsdENvbW1hbmQoKSB7DQotCS8vIFNldCB0aGUgZGVmYXVsdCBjb21tYW5kIGZvciBhIHN1YnN5c3RlbSBoZXJlLg0KLQkvL1NldERlZmF1bHRDb21tYW5kKG5ldyBNeVNwZWNpYWxDb21tYW5kKCkpOw0KLX0NCi0NCi0NCi0vLyBQdXQgbWV0aG9kcyBmb3IgY29udHJvbGxpbmcgdGhpcyBzdWJzeXN0ZW0NCi0vLyBoZXJlLiBDYWxsIHRoZXNlIGZyb20gQ29tbWFuZHMuDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvU3Vic3lzdGVtcy9FeGFtcGxlU3Vic3lzdGVtLmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9TdWJzeXN0ZW1zL0V4YW1wbGVTdWJzeXN0ZW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTMzMWEwNS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9TdWJzeXN0ZW1zL0V4YW1wbGVTdWJzeXN0ZW0uaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLSNpZm5kZWYgRVhBTVBMRV9TVUJTWVNURU1fSA0KLSNkZWZpbmUgRVhBTVBMRV9TVUJTWVNURU1fSA0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotDQotLyoqDQotICoNCi0gKg0KLSAqIEBhdXRob3IgRXhhbXBsZUF1dGhvcg0KLSAqLw0KLWNsYXNzIEV4YW1wbGVTdWJzeXN0ZW06IHB1YmxpYyBTdWJzeXN0ZW0gew0KLXByaXZhdGU6DQotCS8vIEl0J3MgZGVzaXJhYmxlIHRoYXQgZXZlcnl0aGluZyBwb3NzaWJsZSB1bmRlciBwcml2YXRlIGV4Y2VwdA0KLQkvLyBmb3IgbWV0aG9kcyB0aGF0IGltcGxlbWVudCBzdWJzeXN0ZW0gY2FwYWJpbGl0aWVzDQotcHVibGljOg0KLQlFeGFtcGxlU3Vic3lzdGVtKCk7DQotCXZvaWQgSW5pdERlZmF1bHRDb21tYW5kKCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9zYW1wbGUucHJvcGVydGllcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL3NhbXBsZS5wcm9wZXJ0aWVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmM4OTVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Db21tYW5kQmFzZWRSb2JvdFRlbXBsYXRlL3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9zYW1wbGUudHh0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0NvbW1hbmRCYXNlZFJvYm90VGVtcGxhdGUvc2FtcGxlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUxOGQzMC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZS9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1GUkMgQ29tbWFuZCBCYXNlZCBSb2JvdCBUZW1wbGF0ZQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotVGhpcyBwcm9ncmFtIGlzIHRoZSBiYXNpcyBmb3IgYSBjb21tYW5kIGJhc2VkIHJvYm90IHByb2dyYW0uIFlvdSBzaG91bGQgbG9vayBhdCBhbGwgdGhlIGZpbGVzIGluIHRoaXMgdGVtcGxhdGUgYW5kIG1ha2UgZWRpdHMgd2hlcmUgaW5kaWNhdGVkIGluIHRoZSBzb3VyY2UgY29kZS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLmNwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlLy5jcHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmE5MmVkYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLmNwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08P2ZpbGVWZXJzaW9uIDQuMC4wPz4NCi0NCi08Y3Byb2plY3Q+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi08Y2NvbmZpZ3VyYXRpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHQuY29uZmlnLjI4Mzk2NzEwNiI+DQotPHN0b3JhZ2VNb2R1bGUgYnVpbGRTeXN0ZW1JZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdENvbmZpZ0RhdGFQcm92aWRlciIgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHQuY29uZmlnLjI4Mzk2NzEwNiIgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIiBuYW1lPSJDb25maWd1cmF0aW9uIj4NCi08ZXh0ZXJuYWxTZXR0aW5ncy8+DQotPGV4dGVuc2lvbnM+DQotPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUlNjYW5uZXJJbmZvUHJvdmlkZXIiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5TY2FubmVySW5mb1Byb3ZpZGVyIi8+DQotPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUkVsZlBhcnNlclZ4V29ya3MiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5HTlVfRUxGIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotPC9leHRlbnNpb25zPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZXh0ZXJuYWxTZXR0aW5ncyIvPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5wYXRoZW50cnkiPg0KLTxwYXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9Im91dCIgcGF0aD0iIi8+DQotPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JfQ09OVEFJTkVSIi8+DQotPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuYnVpbGQubW9kZWwuV1JfVVNFUkRFRklORURfQ09OVEFJTkVSIi8+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJzY2FubmVyQ29uZmlndXJhdGlvbiIvPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJ1c2VyZGVmaW5lZENvbnRhaW5lciI+DQotPGluZGV4QWxsRmlsZXMgdmFsdWU9ImZhbHNlIi8+DQotPGluaXRpYWxpemVkIHZhbHVlPSJ0cnVlIi8+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTwvY2NvbmZpZ3VyYXRpb24+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTwvY3Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlLy5wcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmNjYWZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS8ucHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHByb2plY3REZXNjcmlwdGlvbj4NCi0JPG5hbWU+RGFzaGJvYXJkRGF0YUV4YW1wbGU8L25hbWU+DQotCTxjb21tZW50PjwvY29tbWVudD4NCi0JPHByb2plY3RzPg0KLQk8L3Byb2plY3RzPg0KLQk8YnVpbGRTcGVjPg0KLQkJPGJ1aWxkQ29tbWFuZD4NCi0JCQk8bmFtZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyYnVpbGRlcjwvbmFtZT4NCi0JCQk8YXJndW1lbnRzPg0KLQkJCTwvYXJndW1lbnRzPg0KLQkJPC9idWlsZENvbW1hbmQ+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cm5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyY29yZW5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNjbmF0dXJlPC9uYXR1cmU+DQotCTwvbmF0dXJlcz4NCi08L3Byb2plY3REZXNjcmlwdGlvbj4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLndybWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExZGQ3ZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlLy53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLndycHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhiNTc4Ni4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI1OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTx3cnhtbD4NCi0gICAgPHByb3BlcnRpZXMgcGxhdGZvcm09IlZ4V29ya3MiIHBsYXRmb3JtX25hbWU9InZ4d29ya3MtNi4zIiByb290PSIxIiB0eXBlPSJEb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0Ii8+DQotICAgIDxhdHRyaWJ1dGVzPg0KLSAgICAgICAgPG1hcEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUk9KRUNUX1RZUEUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iREVGSU5FUyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJFWFBBTkRfREJHIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98REVGSU5FUyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98RVhQQU5EX0RCRyIgdmFsdWU9IjAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfFBST0pFQ1RfVFlQRSIgdmFsdWU9IkRLTSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JLiIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IkRhc2hib2FyZERhdGFFeGFtcGxlIiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJEYXNoYm9hcmREYXRhRXhhbXBsZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8YnVpbGR0YXJnZXRyZWZlcmVuY2UgbmFtZT0iL0Rhc2hib2FyZERhdGFFeGFtcGxlL0Rhc2hib2FyZERhdGFFeGFtcGxlX3BhcnRpYWxJbWFnZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iUGFydGlhbCBJbWFnZSBMaW5rZXIiIG5hbWU9IkRhc2hib2FyZERhdGFFeGFtcGxlX3BhcnRpYWxJbWFnZSIgcGFzc2VkPSJ0cnVlIiB0YXJnZXRuYW1lPSJEYXNoYm9hcmREYXRhRXhhbXBsZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvRGFzaGJvYXJkRGF0YUV4YW1wbGUiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICA8L2J1aWxkdGFyZ2V0cz4NCi08L3dyeG1sPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9EYXNoYm9hcmREYXRhRXhhbXBsZS5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvRGFzaGJvYXJkRGF0YUV4YW1wbGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTdjNTA4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9EYXNoYm9hcmREYXRhRXhhbXBsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0jaW5jbHVkZSAiV1BJTGliLmgiDQotI2luY2x1ZGUgIkRhc2hib2FyZERhdGFGb3JtYXQuaCINCi0NCi0vKioNCi0gKiBUaGlzIGlzIGEgZGVtbyBwcm9ncmFtIHNob3dpbmcgdGhlIHVzZSBvZiB0aGUgRGFzaGJvYXJkIGRhdGEgcGFja2luZyBjbGFzcy4NCi0gKi8gDQotY2xhc3MgRGFzaGJvYXJkRGF0YUV4YW1wbGUgOiBwdWJsaWMgU2ltcGxlUm9ib3QNCi17DQotCURhc2hib2FyZERhdGFGb3JtYXQgZGFzaGJvYXJkRGF0YUZvcm1hdDsNCi0NCi1wdWJsaWM6DQotCURhc2hib2FyZERhdGFFeGFtcGxlKHZvaWQpDQotCXsNCi0JCUdldFdhdGNoZG9nKCkuU2V0RXhwaXJhdGlvbigwLjEpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBSdW5zIHRoZSBtb3RvcnMgd2l0aCBhcmNhZGUgc3RlZXJpbmcuIA0KLQkgKi8NCi0Jdm9pZCBSb2JvdE1haW4odm9pZCkNCi0Jew0KLQkJR2V0V2F0Y2hkb2coKS5TZXRFbmFibGVkKGZhbHNlKTsNCi0JCQ0KLQkJd2hpbGUgKHRydWUpDQotCQl7DQotCQkJR2V0V2F0Y2hkb2coKS5GZWVkKCk7DQotCQkJZGFzaGJvYXJkRGF0YUZvcm1hdC5TZW5kSU9Qb3J0RGF0YSgpOw0KLQkJCWRhc2hib2FyZERhdGFGb3JtYXQuU2VuZFZpc2lvbkRhdGEoKTsNCi0JCQlXYWl0KDEuMCk7DQotCQl9DQotCX0NCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKERhc2hib2FyZERhdGFFeGFtcGxlKTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvRGFzaGJvYXJkRGF0YUZvcm1hdC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvRGFzaGJvYXJkRGF0YUZvcm1hdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlODA1OGMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlL0Rhc2hib2FyZERhdGFGb3JtYXQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTgyICswLDAgQEAKLSNpbmNsdWRlICJEYXNoYm9hcmREYXRhRm9ybWF0LmgiDQotDQotRGFzaGJvYXJkRGF0YUZvcm1hdDo6RGFzaGJvYXJkRGF0YUZvcm1hdCh2b2lkKQ0KLXsNCi0JYW5hbG9nTW9kdWxlMSA9IEFuYWxvZ01vZHVsZTo6R2V0SW5zdGFuY2UoMSk7DQotCWFuYWxvZ01vZHVsZTIgPSBBbmFsb2dNb2R1bGU6OkdldEluc3RhbmNlKDIpOw0KLQlkaWdpdGFsTW9kdWxlMSA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKDEpOw0KLQlkaWdpdGFsTW9kdWxlMiA9IERpZ2l0YWxNb2R1bGU6OkdldEluc3RhbmNlKDIpOw0KLX0NCi1EYXNoYm9hcmREYXRhRm9ybWF0Ojp+RGFzaGJvYXJkRGF0YUZvcm1hdCgpDQotew0KLX0NCi0NCi12b2lkIERhc2hib2FyZERhdGFGb3JtYXQ6OlNlbmRWaXNpb25EYXRhKCkNCi17DQotCURhc2hib2FyZCAmZGFzaCA9IERyaXZlclN0YXRpb246OkdldEluc3RhbmNlKCktPkdldEhpZ2hQcmlvcml0eURhc2hib2FyZFBhY2tlcigpOw0KLQlkYXNoLkFkZENsdXN0ZXIoKTsgLy8gd2lyZSAoMiBlbGVtZW50cykNCi0Jew0KLQkJZGFzaC5BZGRDbHVzdGVyKCk7IC8vIHRyYWNraW5nIGRhdGENCi0JCXsNCi0JCQlkYXNoLkFkZERvdWJsZSgxLjApOyAvLyBKb3lzdGljayBYDQotCQkJZGFzaC5BZGREb3VibGUoMTM1LjApOyAvLyBhbmdsZQ0KLQkJCWRhc2guQWRkRG91YmxlKDMuMCk7IC8vIGFuZ3VsYXIgcmF0ZQ0KLQkJCWRhc2guQWRkRG91YmxlKDUuMCk7IC8vIG90aGVyIFgNCi0JCX0NCi0JCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQlkYXNoLkFkZENsdXN0ZXIoKTsgLy8gdGFyZ2V0IEluZm8gKDIgZWxlbWVudHMpDQotCQl7DQotCQkJZGFzaC5BZGRDbHVzdGVyKCk7IC8vIHRhcmdldHMNCi0JCQl7DQotCQkJCWRhc2guQWRkRG91YmxlKDEwMC4wKTsgLy8gdGFyZ2V0IHNjb3JlDQotCQkJCWRhc2guQWRkQ2x1c3RlcigpOyAvLyBDaXJjbGUgRGVzY3JpcHRpb24gKDUgZWxlbWVudHMpDQotCQkJCXsNCi0JCQkJCWRhc2guQWRkQ2x1c3RlcigpOyAvLyBQb3NpdGlvbiAoMiBlbGVtZW50cykNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZERvdWJsZSgzMC4wKTsgLy8gWA0KLQkJCQkJCWRhc2guQWRkRG91YmxlKDUwLjApOyAvLyBZDQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCQl9DQotCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7IC8vIFBvc2l0aW9uDQotCQkJCWRhc2guQWRkRG91YmxlKDQ1LjApOyAvLyBBbmdsZQ0KLQkJCQlkYXNoLkFkZERvdWJsZSgyMS4wKTsgLy8gTWFqb3IgUmFkaXVzDQotCQkJCWRhc2guQWRkRG91YmxlKDE1LjApOyAvLyBNaW5vciBSYWRpdXMNCi0JCQkJZGFzaC5BZGREb3VibGUoMzI0LjApOyAvLyBSYXcgc2NvcmUNCi0JCQl9DQotCQkJZGFzaC5GaW5hbGl6ZUNsdXN0ZXIoKTsgLy8gdGFyZ2V0cw0KLQkJfQ0KLQkJZGFzaC5GaW5hbGl6ZUNsdXN0ZXIoKTsgLy8gdGFyZ2V0IEluZm8NCi0JfQ0KLQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOyAvLyB3aXJlDQotCWRhc2guRmluYWxpemUoKTsNCi19DQotDQotdm9pZCBEYXNoYm9hcmREYXRhRm9ybWF0OjpTZW5kSU9Qb3J0RGF0YSgpDQotew0KLQlEYXNoYm9hcmQgJmRhc2ggPSBEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpLT5HZXRMb3dQcmlvcml0eURhc2hib2FyZFBhY2tlcigpOw0KLQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0Jew0KLQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQl7IC8vYW5hbG9nIG1vZHVsZXMgDQotCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJew0KLQkJCQlpZiAoYW5hbG9nTW9kdWxlMSAhPSBOVUxMKQ0KLQkJCQl7DQotCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSA4OyBpKyspDQotCQkJCQl7DQotCQkJCQkJZGFzaC5BZGRGbG9hdCgoZmxvYXQpYW5hbG9nTW9kdWxlMS0+R2V0QXZlcmFnZVZvbHRhZ2UoaSkpOw0KLQkJCQkJfQ0KLQkJCQl9DQotCQkJCWVsc2UNCi0JCQkJew0KLQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gODsgaSsrKQ0KLQkJCQkJew0KLQkJCQkJCWRhc2guQWRkRmxvYXQoMC4wKTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCX0NCi0JCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCXsNCi0JCQkJaWYgKGFuYWxvZ01vZHVsZTIgIT0gTlVMTCkNCi0JCQkJew0KLQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gODsgaSsrKQ0KLQkJCQkJew0KLQkJCQkJCWRhc2guQWRkRmxvYXQoKGZsb2F0KWFuYWxvZ01vZHVsZTItPkdldEF2ZXJhZ2VWb2x0YWdlKGkpKTsNCi0JCQkJCX0NCi0JCQkJfQ0KLQkJCQllbHNlDQotCQkJCXsNCi0JCQkJCWZvciAoaW50IGkgPSAxOyBpIDw9IDg7IGkrKykNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZEZsb2F0KDAuMCk7DQotCQkJCQl9DQotCQkJCX0NCi0JCQl9DQotCQkJZGFzaC5GaW5hbGl6ZUNsdXN0ZXIoKTsNCi0JCX0NCi0JCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotDQotCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCXsgLy9kaWdpdGFsIG1vZHVsZXMNCi0JCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCQl7DQotCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQl7DQotCQkJCQlpZiAoZGlnaXRhbE1vZHVsZTEgIT0gTlVMTCkNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KGRpZ2l0YWxNb2R1bGUxLT5HZXRSZWxheUZvcndhcmQoKSk7DQotCQkJCQkJZGFzaC5BZGRVOChkaWdpdGFsTW9kdWxlMS0+R2V0UmVsYXlSZXZlcnNlKCkpOw0KLQkJCQkJCWRhc2guQWRkVTE2KChzaG9ydClkaWdpdGFsTW9kdWxlMS0+R2V0RElPKCkpOw0KLQkJCQkJCWRhc2guQWRkVTE2KChzaG9ydClkaWdpdGFsTW9kdWxlMS0+R2V0RElPRGlyZWN0aW9uKCkpOw0KLQkJCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQkJCXsNCi0JCQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykNCi0JCQkJCQkJew0KLQkJCQkJCQkJZGFzaC5BZGRVOCgodW5zaWduZWQgY2hhcilkaWdpdGFsTW9kdWxlMS0+R2V0UFdNKGkpKTsNCi0JCQkJCQkJfQ0KLQkJCQkJCX0NCi0JCQkJCX0NCi0JCQkJCWVsc2UNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KDApOw0KLQkJCQkJCWRhc2guQWRkVTgoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJCQkJew0KLQkJCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSAxMDsgaSsrKQ0KLQkJCQkJCQkJZGFzaC5BZGRVOCgwKTsNCi0JCQkJCQl9DQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCQl9DQotCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQkJfQ0KLQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotDQotCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJew0KLQkJCQlkYXNoLkFkZENsdXN0ZXIoKTsNCi0JCQkJew0KLQkJCQkJaWYgKGRpZ2l0YWxNb2R1bGUyICE9IE5VTEwpDQotCQkJCQl7DQotCQkJCQkJZGFzaC5BZGRVOChkaWdpdGFsTW9kdWxlMi0+R2V0UmVsYXlGb3J3YXJkKCkpOw0KLQkJCQkJCWRhc2guQWRkVTgoZGlnaXRhbE1vZHVsZTItPkdldFJlbGF5Rm9yd2FyZCgpKTsNCi0JCQkJCQlkYXNoLkFkZFUxNigoc2hvcnQpZGlnaXRhbE1vZHVsZTItPkdldERJTygpKTsNCi0JCQkJCQlkYXNoLkFkZFUxNihkaWdpdGFsTW9kdWxlMi0+R2V0RElPRGlyZWN0aW9uKCkpOw0KLQkJCQkJCWRhc2guQWRkQ2x1c3RlcigpOw0KLQkJCQkJCXsNCi0JCQkJCQkJZm9yIChpbnQgaSA9IDE7IGkgPD0gMTA7IGkrKykNCi0JCQkJCQkJew0KLQkJCQkJCQkJZGFzaC5BZGRVOCgodW5zaWduZWQgY2hhcilkaWdpdGFsTW9kdWxlMi0+R2V0UFdNKGkpKTsNCi0JCQkJCQkJfQ0KLQkJCQkJCX0NCi0JCQkJCX0NCi0JCQkJCWVsc2UNCi0JCQkJCXsNCi0JCQkJCQlkYXNoLkFkZFU4KDApOw0KLQkJCQkJCWRhc2guQWRkVTgoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRVMTYoMCk7DQotCQkJCQkJZGFzaC5BZGRDbHVzdGVyKCk7DQotCQkJCQkJew0KLQkJCQkJCQlmb3IgKGludCBpID0gMTsgaSA8PSAxMDsgaSsrKQ0KLQkJCQkJCQkJZGFzaC5BZGRVOCgwKTsNCi0JCQkJCQl9DQotCQkJCQl9DQotCQkJCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQkJCQl9DQotCQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQkJfQ0KLQkJCWRhc2guRmluYWxpemVDbHVzdGVyKCk7DQotCQl9DQotCQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQ0KLQkJLy8gQ2FuJ3QgcmVhZCBzb2xlbm9pZHMgd2l0aG91dCBhbiBpbnN0YW5jZSBvZiB0aGUgb2JqZWN0DQotCQlkYXNoLkFkZFU4KChjaGFyKSAwKTsNCi0JfQ0KLQlkYXNoLkZpbmFsaXplQ2x1c3RlcigpOw0KLQlkYXNoLkZpbmFsaXplKCk7DQotfQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9EYXNoYm9hcmREYXRhRm9ybWF0LmggYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvRGFzaGJvYXJkRGF0YUZvcm1hdC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZmRlZThiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9EYXNoYm9hcmREYXRhRm9ybWF0LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi0jaWZuZGVmIF9fRGFzaGJvYXJkRGF0YUZvcm1hdF9oX18NCi0jZGVmaW5lIF9fRGFzaGJvYXJkRGF0YUZvcm1hdF9oX18NCi0NCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotDQotLyoqDQotICogVGhpcyBjbGFzcyBpcyBqdXN0IGFuIGV4YW1wbGUgb2Ygb25lIHdheSB5b3UgY291bGQgb3JnYW5pemUgdGhlIGRhdGEgdGhhdCB5b3Ugd2FudA0KLSAqIHRvIHNlbmQgdG8gdGhlIGRhc2hib2FyZC4gIFRoZSBQYWNrQW5kU2VuZCBtZXRob2QgZG9lcyBhbGwgdGhlIHdvcmsuICBZb3UgY291bGQNCi0gKiBwdXQgdGhlIHBhY2tpbmcgY29kZSBkaXJlY3RseSBpbiB5b3VyIGNvZGUsIGJ1dCB0aGlzIG1vZGVsIHByb3RlY3RzIHlvdSBmcm9tDQotICogcGFja2luZyBkYXRhIGluIHRoZSB3cm9uZyBvcmRlciB0aHJvdWdob3V0IHlvdXIgY29kZS4NCi0gKiANCi0gKiBUaGUgZGF0YSBhbmQgdGhlIGZvcm1hdCBvZiB0aGlzIHN0cnVjdHVyZSBhcmUganVzdCBhbiBleGFtcGxlLiAgSXQgaXMgd3JpdHRlbiB0bw0KLSAqIG1hdGNoIHRoZSBpbml0aWFsIGRhdGEgZm9ybWF0IGV4cGVjdGVkIGJ5IHRoZSBMYWJWSUVXIERhc2hib2FyZCBwcm9qZWN0LiAgRmVlbCBmcmVlDQotICogdG8gYWRkIGRhdGEgZWxlbWVudHMgb3IgcmVtb3ZlIHRoZW0uICBKdXN0IHJlbWVtYmVyIHRvIG1ha2UgYW55IGNoYW5nZXMgY29uc2lzdGVudGx5DQotICogYmV0d2VlbiB0aGUgTGFiVklFVyAiRGFzaGJvYXJkIERhdGF0eXBlIiBhbmQgdGhlIGRhdGEgdGhhdCBnZXRzIHBhY2tlZCBieSB0aGlzIGNsYXNzLg0KLSAqLw0KLWNsYXNzIERhc2hib2FyZERhdGFGb3JtYXQgOiBwdWJsaWMgU2Vuc29yQmFzZQ0KLXsNCi1wdWJsaWM6DQotCURhc2hib2FyZERhdGFGb3JtYXQodm9pZCk7DQotCXZpcnR1YWwgfkRhc2hib2FyZERhdGFGb3JtYXQoKTsNCi0Jdm9pZCBTZW5kSU9Qb3J0RGF0YSh2b2lkKTsNCi0Jdm9pZCBTZW5kVmlzaW9uRGF0YSh2b2lkKTsNCi1wcml2YXRlOg0KLQlESVNBTExPV19DT1BZX0FORF9BU1NJR04oRGFzaGJvYXJkRGF0YUZvcm1hdCk7DQotCUFuYWxvZ01vZHVsZSAqYW5hbG9nTW9kdWxlMTsNCi0JQW5hbG9nTW9kdWxlICphbmFsb2dNb2R1bGUyOw0KLQlEaWdpdGFsTW9kdWxlICpkaWdpdGFsTW9kdWxlMTsNCi0JRGlnaXRhbE1vZHVsZSAqZGlnaXRhbE1vZHVsZTI7DQotfTsNCi0NCi0jZW5kaWYgLy8gX19EYXNoYm9hcmREYXRhRm9ybWF0X2hfXw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9zYW1wbGUucHJvcGVydGllcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9zYW1wbGUucHJvcGVydGllcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZjODk1ZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGFzaGJvYXJkRGF0YUV4YW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXByb2plY3QudHlwZT1Eb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0DQotcGxhdGZvcm0uaWQ9VnhXb3Jrcw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EYXNoYm9hcmREYXRhRXhhbXBsZS9zYW1wbGUudHh0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlL3NhbXBsZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzNWEzY2UuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0Rhc2hib2FyZERhdGFFeGFtcGxlL3NhbXBsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLUZSQyBEYXNoYm9hcmQgRGF0YSBFeGFtcGxlDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi1UaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRvIHNlbmQgZGF0YSB0byBhIGRhc2hib2FyZCBhcHBsaWNhdGlvbiBydW5uaW5nIG9uIGEgbGFwdG9wDQotY29ubmVjdGVkIHRvIHRoZSBkcml2ZXIgc3RhdGlvbi4NCi0NCi1UaGlzIGlzIHRoZSBvbmx5IG1ldGhvZCBvZiBkYXRhIGNvbW11bmljYXRpb24gdGhhdCB3aWxsIGJlIHBvc3NpYmxlIGR1cmluZyBjb21wZXRpdGlvbi4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90Ly5jcHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2Q0ZjRjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvLmNwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08P2ZpbGVWZXJzaW9uIDQuMC4wPz4NCi0NCi08Y3Byb2plY3Q+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi08Y2NvbmZpZ3VyYXRpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHQuY29uZmlnLjExMzU2MjMzODgiPg0KLTxzdG9yYWdlTW9kdWxlIGJ1aWxkU3lzdGVtSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHRDb25maWdEYXRhUHJvdmlkZXIiIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4xMTM1NjIzMzg4IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmxhbmd1YWdlLm1hcHBpbmciLz4NCi08L2Njb25maWd1cmF0aW9uPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Nwcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvLnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90Ly5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NzBlNmMzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPk9yaWdpbmFsRGVmYXVsdENvZGU8L25hbWU+DQotCTxjb21tZW50PjwvY29tbWVudD4NCi0JPHByb2plY3RzPg0KLQk8L3Byb2plY3RzPg0KLQk8YnVpbGRTcGVjPg0KLQkJPGJ1aWxkQ29tbWFuZD4NCi0JCQk8bmFtZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyYnVpbGRlcjwvbmFtZT4NCi0JCQk8YXJndW1lbnRzPg0KLQkJCTwvYXJndW1lbnRzPg0KLQkJPC9idWlsZENvbW1hbmQ+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cm5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyY29yZW5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNjbmF0dXJlPC9uYXR1cmU+DQotCTwvbmF0dXJlcz4NCi08L3Byb2plY3REZXNjcmlwdGlvbj4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90Ly53cm1ha2VmaWxlIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RlZmF1bHRSb2JvdC8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90Ly53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RlZmF1bHRSb2JvdC8ud3Jwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RlZmF1bHRSb2JvdC8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDdjZWYxLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI0OSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTx3cnhtbD4NCi0gICAgPHByb3BlcnRpZXMgcGxhdGZvcm09IlZ4V29ya3MiIHBsYXRmb3JtX25hbWU9InZ4d29ya3MtNi4zIiByb290PSIxIiB0eXBlPSJEb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0Ii8+DQotICAgIDxhdHRyaWJ1dGVzPg0KLSAgICAgICAgPG1hcEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUk9KRUNUX1RZUEUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iREVGSU5FUyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJFWFBBTkRfREJHIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98REVGSU5FUyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98RVhQQU5EX0RCRyIgdmFsdWU9IjAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfFBST0pFQ1RfVFlQRSIgdmFsdWU9IkRLTSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJWWF9DUFVfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNQVSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfUEFUSCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDQ19BUkNIX1NQRUMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUEFUSCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJTIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9Ii10UFBDRkg6dnh3b3JrczYzIC1Yc3Rtdy1zbG93IC1EUFBDMzJfZnA2MHgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9Ii1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iLXRQUEM2MDNGSDp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSItbWNwdT02MDMgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9Ik9yaWdpbmFsRGVmYXVsdENvZGUiIHBhc3NlZD0iZmFsc2UiIHRhcmdldG5hbWU9Ik9yaWdpbmFsRGVmYXVsdENvZGUiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvT3JpZ2luYWxEZWZhdWx0Q29kZSIgcmVjdXJzaXZlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgIDwvYnVpbGR0YXJnZXRzPg0KLTwvd3J4bWw+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RlZmF1bHRSb2JvdC9EZWZhdWx0Um9ib3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RlZmF1bHRSb2JvdC9EZWZhdWx0Um9ib3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTEwZTExLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvRGVmYXVsdFJvYm90LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLSNpbmNsdWRlICJXUElMaWIuaCINCi0NCi0vKioNCi0gKiBUaGlzIGlzIGEgZGVtbyBwcm9ncmFtIHNob3dpbmcgdGhlIHVzZSBvZiB0aGUgUm9ib3RCYXNlIGNsYXNzLg0KLSAqIFRoZSBTaW1wbGVSb2JvdCBjbGFzcyBpcyB0aGUgYmFzZSBvZiBhIHJvYm90IGFwcGxpY2F0aW9uIHRoYXQgd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwgeW91cg0KLSAqIEF1dG9ub21vdXMgYW5kIE9wZXJhdG9yQ29udHJvbCBtZXRob2RzIGF0IHRoZSByaWdodCB0aW1lIGFzIGNvbnRyb2xsZWQgYnkgdGhlIHN3aXRjaGVzIG9uDQotICogdGhlIGRyaXZlciBzdGF0aW9uIG9yIHRoZSBmaWVsZCBjb250cm9scy4NCi0gKi8NCi1jbGFzcyBEZWZhdWx0Um9ib3QgOiBwdWJsaWMgU2ltcGxlUm9ib3QNCi17DQotCVJvYm90RHJpdmUgKm15Um9ib3Q7CQkJLy8gcm9ib3QgZHJpdmUgc3lzdGVtDQotCURpZ2l0YWxJbnB1dCAqYXJtVXBwZXJMaW1pdDsJLy8gYXJtIHVwcGVyIGxpbWl0IHN3aXRjaA0KLQlEaWdpdGFsSW5wdXQgKmFybUxvd2VyTGltaXQ7CS8vIGFybSBsb3dlciBsaW1pdCBzd2l0Y2gNCi0JSm95c3RpY2sgKnJpZ2h0U3RpY2s7CQkJLy8gam95c3RpY2sgMSAoYXJjYWRlIHN0aWNrIG9yIHJpZ2h0IHRhbmsgc3RpY2spDQotCUpveXN0aWNrICpsZWZ0U3RpY2s7CQkJLy8gam95c3RpY2sgMiAodGFuayBsZWZ0IHN0aWNrKQ0KLQlKb3lzdGljayAqYXJtU3RpY2s7CQkJCS8vIGpveXN0aWNrIDMgdG8gY29udHJvbCBhcm0NCi0JRHJpdmVyU3RhdGlvbiAqZHM7CQkJCS8vIGRyaXZlciBzdGF0aW9uIG9iamVjdA0KLQ0KLQllbnVtCQkJCQkJCS8vIERyaXZlciBTdGF0aW9uIGp1bXBlcnMgdG8gY29udHJvbCBwcm9ncmFtIG9wZXJhdGlvbg0KLQl7IEFSQ0FERV9NT0RFID0gMSwJCQkJLy8gVGFuay9BcmNhZGUganVtcGVyIGlzIG9uIERTIElucHV0IDEgKEp1bXBlciBwcmVzZW50IGlzIGFyY2FkZSkNCi0JICBFTkFCTEVfQVVUT05PTU9VUyA9IDIsCQkvLyBBdXRvbm9tb3VzL1RlbGVvcCBqdW1wZXIgaXMgb24gRFMgSW5wdXQgMiAoSnVtcGVyIHByZXNlbnQgaXMgYXV0b25vbW91cykNCi0JfSBqdW1wZXJzOwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQotDQotcHVibGljOg0KLQkvKioNCi0JICogDQotCSAqIA0KLQkgKiBDb25zdHJ1Y3RvciBmb3IgdGhpcyByb2JvdCBzdWJjbGFzcy4NCi0JICogQ3JlYXRlIGFuIGluc3RhbmNlIG9mIGEgUm9ib3REcml2ZSB3aXRoIGxlZnQgYW5kIHJpZ2h0IG1vdG9ycyBwbHVnZ2VkIGludG8gUFdNDQotCSAqIHBvcnRzIDEgYW5kIDIgb24gdGhlIGZpcnN0IGRpZ2l0YWwgbW9kdWxlLg0KLQkgKi8NCi0JRGVmYXVsdFJvYm90KHZvaWQpDQotCXsNCi0JCWRzID0gRHJpdmVyU3RhdGlvbjo6R2V0SW5zdGFuY2UoKTsNCi0JCW15Um9ib3QgPSBuZXcgUm9ib3REcml2ZSgxLCAzLCAyLCA0KTsJLy8gY3JlYXRlIHJvYm90IGRyaXZlIGJhc2UNCi0JCXJpZ2h0U3RpY2sgPSBuZXcgSm95c3RpY2soMSk7CQkJLy8gY3JlYXRlIHRoZSBqb3lzdGlja3MNCi0JCWxlZnRTdGljayA9IG5ldyBKb3lzdGljaygyKTsNCi0JCWFybVN0aWNrID0gbmV3IEpveXN0aWNrKDMpOw0KLQkJYXJtVXBwZXJMaW1pdCA9IG5ldyBEaWdpdGFsSW5wdXQoMSk7CS8vIGNyZWF0ZSB0aGUgbGltaXQgc3dpdGNoIGlucHV0cw0KLQkJYXJtTG93ZXJMaW1pdCA9IG5ldyBEaWdpdGFsSW5wdXQoMik7DQotCQkvL1VwZGF0ZSB0aGUgbW90b3JzIGF0IGxlYXN0IGV2ZXJ5IDEwMG1zLg0KLQkJbXlSb2JvdC0+U2V0RXhwaXJhdGlvbigwLjEpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBEcml2ZSBsZWZ0ICYgcmlnaHQgbW90b3JzIGZvciAyIHNlY29uZHMsIGVuYWJsZWQgYnkgYSBqdW1wZXIgKGp1bXBlcg0KLQkgKiBtdXN0IGJlIGluIGZvciBhdXRvbm9tb3VzIHRvIG9wZXJhdGUpLg0KLQkgKi8NCi0Jdm9pZCBBdXRvbm9tb3VzKHZvaWQpDQotCXsNCi0JCW15Um9ib3QtPlNldFNhZmV0eUVuYWJsZWQoZmFsc2UpOw0KLQkJaWYgKGRzLT5HZXREaWdpdGFsSW4oRU5BQkxFX0FVVE9OT01PVVMpID09IDEpCS8vIG9ubHkgcnVuIHRoZSBhdXRvbm9tb3VzIHByb2dyYW0gaWYganVtcGVyIGlzIGluIHBsYWNlDQotCQl7DQotCQkJbXlSb2JvdC0+RHJpdmUoMC41LCAwLjApOwkJCS8vIGRyaXZlIGZvcndhcmRzIGhhbGYgc3BlZWQNCi0JCQlXYWl0KDIuMCk7CQkJCQkJCS8vICAgIGZvciAyIHNlY29uZHMNCi0JCQlteVJvYm90LT5Ecml2ZSgwLjAsIDAuMCk7CQkJLy8gc3RvcCByb2JvdA0KLQkJfQ0KLQkJbXlSb2JvdC0+U2V0U2FmZXR5RW5hYmxlZCh0cnVlKTsNCi0JfQ0KLQ0KLQkvKioNCi0JICogUnVucyB0aGUgbW90b3JzIHVuZGVyIGRyaXZlciBjb250cm9sIHdpdGggZWl0aGVyIHRhbmsgb3IgYXJjYWRlIHN0ZWVyaW5nIHNlbGVjdGVkDQotCSAqIGJ5IGEganVtcGVyIGluIERTIERpZ2luIDAuIEFsc28gYW4gYXJtIHdpbGwgb3BlcmF0ZSBiYXNlZCBvbiBhIGpveXN0aWNrIFktYXhpcy4gDQotCSAqLw0KLQl2b2lkIE9wZXJhdG9yQ29udHJvbCh2b2lkKQ0KLQl7DQotCQlWaWN0b3IgYXJtTW90b3IoNSk7CQkJCQkJLy8gY3JlYXRlIGFybSBtb3RvciBpbnN0YW5jZQ0KLQkJd2hpbGUgKElzT3BlcmF0b3JDb250cm9sKCkpDQotCQl7DQotCQkJLy8gZGV0ZXJtaW5lIGlmIHRhbmsgb3IgYXJjYWRlIG1vZGU7IGRlZmF1bHQgd2l0aCBubyBqdW1wZXIgaXMgZm9yIHRhbmsgZHJpdmUNCi0JCQlpZiAoZHMtPkdldERpZ2l0YWxJbihBUkNBREVfTU9ERSkgPT0gMCkgewkNCi0JCQkJbXlSb2JvdC0+VGFua0RyaXZlKGxlZnRTdGljaywgcmlnaHRTdGljayk7CSAvLyBkcml2ZSB3aXRoIHRhbmsgc3R5bGUNCi0JCQl9IGVsc2V7DQotCQkJCW15Um9ib3QtPkFyY2FkZURyaXZlKHJpZ2h0U3RpY2spOwkgICAgICAgICAvLyBkcml2ZSB3aXRoIGFyY2FkZSBzdHlsZSAodXNlIHJpZ2h0IHN0aWNrKQ0KLQkJCX0NCi0NCi0JCQkvLyBDb250cm9sIHRoZSBtb3ZlbWVudCBvZiB0aGUgYXJtIHVzaW5nIHRoZSBqb3lzdGljaw0KLQkJCS8vIFVzZSB0aGUgIlkiIHZhbHVlIG9mIHRoZSBhcm0gam95c3RpY2sgdG8gY29udHJvbCB0aGUgbW92ZW1lbnQgb2YgdGhlIGFybQ0KLQkJCWZsb2F0IGFybVN0aWNrRGlyZWN0aW9uID0gYXJtU3RpY2stPkdldFkoKTsNCi0NCi0JCQkvLyBpZiBhdCBhIGxpbWl0IGFuZCB0ZWxsaW5nIHRoZSBhcm0gdG8gbW92ZSBwYXN0IHRoZSBsaW1pdCwgZG9uJ3QgZHJpdmUgdGhlIG1vdG9yDQotCQkJaWYgKChhcm1VcHBlckxpbWl0LT5HZXQoKSA9PSAwKSAmJiAoYXJtU3RpY2tEaXJlY3Rpb24gPiAwLjApKSB7DQotCQkJCWFybVN0aWNrRGlyZWN0aW9uID0gMDsNCi0JCQl9IGVsc2UgaWYgKChhcm1Mb3dlckxpbWl0LT5HZXQoKSA9PSAwKSAmJiAoYXJtU3RpY2tEaXJlY3Rpb24gPCAwLjApKSB7DQotCQkJCWFybVN0aWNrRGlyZWN0aW9uID0gMDsNCi0JCQl9DQotDQotCQkJLy8gU2V0IHRoZSBtb3RvciB2YWx1ZSANCi0JCQlhcm1Nb3Rvci5TZXQoYXJtU3RpY2tEaXJlY3Rpb24pOw0KLQkJCVdhaXQoMC4wMDUpOw0KLQkJfQ0KLQl9DQotfTsNCi0NCi1TVEFSVF9ST0JPVF9DTEFTUyhEZWZhdWx0Um9ib3QpOw0KLQ0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvTWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmE5Y2JhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3QvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNjA2ICswLDAgQEAKLSMgV2luZCBSaXZlciBXb3JrYmVuY2ggZ2VuZXJhdGVkIE1ha2VmaWxlLg0KLSMgRG8gbm90IGVkaXQhISENCi0jDQotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX3JlY3Vyc2lvbiBzdWJkaXJzX2FsbCBwb3N0X3JlY3Vyc2lvbiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLVRSQUNFPTANCi1UUkFDRU9OPSQoVFJBQ0U6MD1AKQ0KLVRSQUNFX0ZMQUc9JChUUkFDRU9OOjE9KQ0KLQ0KLU1BS0VGSUxFIDo9IE1ha2VmaWxlDQotDQotQlVJTERfU1BFQyA9IFBQQzYwM2dudQ0KLURFQlVHX01PREUgPSAxDQotU1JDX0RJUiA6PSAuDQotQlVJTERfUk9PVF9ESVIgOj0gDQotUFJKX1JPT1RfRElSIDo9IEM6L1dpbmRSaXZlci93b3Jrc3BhY2UvU2ltcGxlUm9ib3QNCi1XU19ST09UX0RJUiA6PSBDOi9XaW5kUml2ZXIvd29ya3NwYWNlDQotDQotQUxMX0JVSUxEX1NQRUNTIDo9IFBQQzMyZGlhYiBQUEMzMmdudSBQUEMzMnNmZGlhYiBQUEMzMnNmZ251IFwNCi0JIFBQQzQwM2RpYWIgUFBDNDAzZ251IFBQQzQwNWRpYWIgUFBDNDA1Z251IFwNCi0JIFBQQzQwNXNmZGlhYiBQUEM0MDVzZmdudSBQUEM0NDBkaWFiIFBQQzQ0MGdudSBcDQotCSBQUEM0NDBzZmRpYWIgUFBDNDQwc2ZnbnUgUFBDNjAzZGlhYiBQUEM2MDNnbnUgXA0KLQkgUFBDNjA0ZGlhYiBQUEM2MDRnbnUgUFBDODVYWGRpYWIgUFBDODVYWGdudSBcDQotCSBQUEM4NVhYc2ZkaWFiIFBQQzg1WFhzZmdudSBQUEM4NjBzZmRpYWIgUFBDODYwc2ZnbnUgXA0KLQkgU0lNTElOVVhkaWFiIFNJTUxJTlVYZ251IFNJTU5UZGlhYiBTSU1OVGdudSBcDQotCSBTSU1TUEFSQ1NPTEFSSVNkaWFiIFNJTVNQQVJDU09MQVJJU2dudQ0KLUVOQUJMRURfQlVJTERfU1BFQ1MgOj0gUFBDNjAzZ251DQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDMzJnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDMzJzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzMyc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEMzMnNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDAzZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDNnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzQwNWdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNWdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0MDVzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0MDVzZmdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzQwNXNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM0NDBnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNDQwc2ZnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM0NDBzZmdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzYwM2RpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjAzZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDNjA0ZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM2MDRnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBQUEM2MDRnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBQUEM4NVhYZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg1WFhzZmRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODVYWHNmZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYl9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFBQQzg2MHNmZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1PQkpfRElSIDo9IFBQQzg2MHNmZ251X0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gUFBDODYwc2ZnbnUNCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhkaWFiDQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLU9CSl9ESVIgOj0gU0lNTElOVVhnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1MSU5VWGdudQ0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGRpYWJfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1OVGRpYWINCi1lbmRpZg0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1OVGdudV9ERUJVRw0KLWVsc2UNCi1PQkpfRElSIDo9IFNJTU5UZ251DQotZW5kaWYNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNkaWFiX0RFQlVHDQotZWxzZQ0KLU9CSl9ESVIgOj0gU0lNU1BBUkNTT0xBUklTZGlhYg0KLWVuZGlmDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnVfREVCVUcNCi1lbHNlDQotT0JKX0RJUiA6PSBTSU1TUEFSQ1NPTEFSSVNnbnUNCi1lbmRpZg0KLWVuZGlmDQotDQotREVQX0ZJTEVTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3QuZA0KLS1pbmNsdWRlICQoREVQX0ZJTEVTKQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZkaWFiKQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotU1VCRElSUyA6PQ0KLU9CSkVDVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vDQotDQotUFJPSkVDVF9UQVJHRVRTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotDQotU1VCX09CSkVDVFMgOj0NCi1TVUJfVEFSR0VUUyA6PQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLVNVQkRJUlMgOj0NCi1PQkpFQ1RTIDo9ICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qubw0KLQ0KLVBST0pFQ1RfVEFSR0VUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLQ0KLVNVQl9PQkpFQ1RTIDo9DQotU1VCX1RBUkdFVFMgOj0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1TVUJESVJTIDo9DQotT0JKRUNUUyA6PSAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm8NCi0NCi1QUk9KRUNUX1RBUkdFVFMgOj0gJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi0NCi1TVUJfT0JKRUNUUyA6PQ0KLVNVQl9UQVJHRVRTIDo9DQotZW5kaWYNCi0NCi1QUk9KRUNUX1RZUEUgPSBES00NCi1ERUZJTkVTID0gDQotRVhQQU5EX0RCRyA9IDANCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDRkg6dnh3b3JrczYzIC1Yc3Rtdy1zbG93IC1EUFBDMzJfZnA2MHgNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzMyDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IHNmZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDMzINCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tc29mdC1mbG9hdCAtbXN0cmljdC1hbGlnbg0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2RpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwMw0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDNGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQwMw0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTQwMyAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDA1RlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1Z251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00MDUgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM0MDUNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM0MDVGUzp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDA1DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT00MDUgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzQ0MEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNDQwDQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IHNmZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10UFBDNDQwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzQ0MA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IHNmZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NDQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzYwMw0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUEM2MDNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzYwMw0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSAkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBkaWFiDQotVE9PTCA9IGRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzYwNEZIOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjA0DQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjA0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnANCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDODVYWA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg1NDAgLW1zdHJpY3QtYWxpZ24gLW1zb2Z0LWZsb2F0IC1tYWJpPW5vLXNwZQ0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg1WFgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gc2ZkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRQUENFNTAwRlM6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NVhYDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gc2ZnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbWNwdT04NTQwIC1tc3RyaWN0LWFsaWduIC1tc29mdC1mbG9hdCAtbWFiaT1uby1zcGUNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHBwYw0KLUNQVSA9IFBQQzg2MA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBzZmRpYWINCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtdFBQQzg2MEZTOnZ4d29ya3M2Mw0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLVZYX0NQVV9GQU1JTFkgPSBwcGMNCi1DUFUgPSBQUEM4NjANCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBzZmdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tY3B1PTg2MCAtbXN0cmljdC1hbGlnbiAtbXNvZnQtZmxvYXQNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10WDg2TEg6dnh3b3JrczYzDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbWxpbnV4DQotQ1BVID0gU0lNTElOVVgNCi1UT09MX0ZBTUlMWSA9IGdudQ0KLVRPT0wgPSBnbnUNCi1UT09MX1BBVEggPSANCi1DQ19BUkNIX1NQRUMgPSAtbXR1bmU9aTQ4NiAtbWFyY2g9aTQ4Ng0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi0NCi1JREVfTElCUkFSSUVTID0gDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZGlhYg0KLVRPT0wgPSBkaWFiDQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLXRYODZMSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1WWF9DUFVfRkFNSUxZID0gc2ltcGMNCi1DUFUgPSBTSU1OVA0KLVRPT0xfRkFNSUxZID0gZ251DQotVE9PTCA9IGdudQ0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC1tdHVuZT1pNDg2IC1tYXJjaD1pNDg2DQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZGlhYikNCi1WWF9DUFVfRkFNSUxZID0gc2ltc28NCi1DUFUgPSBTSU1TUEFSQ1NPTEFSSVMNCi1UT09MX0ZBTUlMWSA9IGRpYWINCi1UT09MID0gZGlhYg0KLVRPT0xfUEFUSCA9IA0KLUNDX0FSQ0hfU1BFQyA9IC10U1BBUkNGSDp2eHdvcmtzNjMNCi1MSUJQQVRIID0gDQotTElCUyA9IA0KLQ0KLUlERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9IA0KLWVuZGlmDQotDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotVlhfQ1BVX0ZBTUlMWSA9IHNpbXNvDQotQ1BVID0gU0lNU1BBUkNTT0xBUklTDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gDQotTElCUEFUSCA9IA0KLUxJQlMgPSANCi0NCi1JREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLQ0KLUlERV9MSUJSQVJJRVMgPSANCi1lbmRpZg0KLQ0KLQ0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MtQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDMzJzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1Yc3Rzdy1zbG93IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhzdHN3LXNsb3cgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDAzZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQ0MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODYwc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuQw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BlbnRpdW0gJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5DDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLW5vc3RkbGliIC1mbm8tYnVpbHRpbiAtZm5vLWRlZmVyLXBvcA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3BwDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY3h4DQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNjDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmNwcA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jeHgNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jYw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0MrKy1Db21waWxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1TUEFSQ1NPTEFSSVNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5jcHANCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLkMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLmN4eA0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAkKEFEREVEX0MrK0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUuY2MNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQysrLUNvbXBpbGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgJChBRERFRF9DKytGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHN0c3ctc2xvdyAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDA1c2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwc2ZkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM2MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0Z251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19Bc3NlbWJsZXIpICQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg1WFhzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NjBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTUxJTlVYZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlIC1XYSwtWG1uZW0tbWl0IC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICIkQCIgLWMgIiQ8Ig0KLQ0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1OVGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpLyUubyA6ICQoU1JDX0RJUikvJS5zDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS8lLm8gOiAkKFNSQ19ESVIpLyUucw0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX0Fzc2VtYmxlcikgJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0Fzc2VtYmxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvJS5vIDogJChTUkNfRElSKS8lLnMNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjsgJChUT09MX1BBVEgpY2NzcGFyYyAkKERFQlVHRkxBR1NfQXNzZW1ibGVyKSAkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gIiRAIiAtYyAiJDwiDQotDQotZW5kaWYNCi0NCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1wcGMgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAtVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEMzMnNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDRlM6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzMyc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtubXBwYyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YIC1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwM2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQwM0ZTOnZ4d29ya3M2MyAtWCAtcjUgLXI0IC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDNnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtubXBwYyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YIC1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNWRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQwNUZTOnZ4d29ya3M2MyAtWCAtcjUgLXI0IC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0MDVnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtubXBwYyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YIC1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDNDA1RlM6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzQwNXNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1wcGMgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAtVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO2RkdW1wIC1OZyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkbGQgLXRQUEM0NDBGSDp2eHdvcmtzNjMgLVggLXI1IC1yNCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNDQwZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1wcGMgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAtVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRsZCAtdFBQQzQ0MEZTOnZ4d29ya3M2MyAtWCAtcjUgLXI0IC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM0NDBzZmdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO25tcHBjICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjAzZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwM2dudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO25tcHBjICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDNjA0ZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDNjA0Rkg6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzYwNGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO25tcHBjICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkY2MgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0U1MDBGUzp2eHdvcmtzNjMgLVggLXI1IC1yNCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWGdudSkNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO25tcHBjICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksUFBDODVYWHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDRTUwMEZTOnZ4d29ya3M2MyAtWCAtcjUgLXI0IC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxQUEM4NVhYc2ZnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtubXBwYyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX1NpbXBsZVJvYm90KSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YIC1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZGlhYikNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1nDQotZWxzZQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtWE8gLVhzaXplLW9wdA0KLWVuZGlmDQotJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQgOiAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpDQotCSQoVFJBQ0VfRkxBRyllY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtkZHVtcCAtTmcgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10UFBDODYwRlM6dnh3b3JrczYzIC1YIC1yNSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFBQQzg2MHNmZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1wcGMgJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAtVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLXRhcmdldF9TaW1wbGVSb2JvdCA6IHN1YmRpcnNfYWxsIGNoZWNrX29iamVjdGRpciAkKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dA0KLWVuZGlmDQotaWZlcSAoJChCVUlMRF9TUEVDKSxTSU1MSU5VWGRpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBlbnRpdW0gPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGNjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAkKElERV9JTkNMVURFUykgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSClkbGQgLXRYODZMSDp2eHdvcmtzNjMgLVggLXI1IC1mIDB4OTAsMSwxIC1yNCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTElOVVhnbnUpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLU8yIC1ub3N0ZGxpYiAtZm5vLWJ1aWx0aW4gLWZuby1kZWZlci1wb3ANCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1wZW50aXVtICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBlbnRpdW0gPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwZW50aXVtICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwZW50aXVtIC1yIC1ub3N0ZGxpYiAtV2wsLVggLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNTlRkaWFiKQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1YTyAtWHNpemUtb3B0DQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO2RkdW1wIC1OZyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10WDg2TEg6dnh3b3JrczYzIC1YIC1yNSAtZiAweDkwLDEsMSAtcjQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTU5UZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtbm9zdGRsaWIgLWZuby1idWlsdGluIC1mbm8tZGVmZXItcG9wDQotZW5kaWYNCi0kKE9CSl9ESVIpL1NpbXBsZVJvYm90Lm91dCA6ICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykNCi0JJChUUkFDRV9GTEFHKWVjaG8gImJ1aWxkaW5nICRAIjtybSAtZiAiJEAiO25tcGVudGl1bSAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwZW50aXVtID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWNjcGVudGl1bSAtciAtbm9zdGRsaWIgLVdsLC1YIC1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQgLW8gIiRAIiAkKE9CSl9ESVIpL2N0ZHQubyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJiYgaWYgWyAiJChFWFBBTkRfREJHKSIgPSAiMSIgXTsgdGhlbiBwbGluayAiJEAiO2ZpDQotDQotdGFyZ2V0X1NpbXBsZVJvYm90IDogc3ViZGlyc19hbGwgY2hlY2tfb2JqZWN0ZGlyICQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0DQotZW5kaWYNCi1pZmVxICgkKEJVSUxEX1NQRUMpLFNJTVNQQVJDU09MQVJJU2RpYWIpDQotaWZlcSAoJChERUJVR19NT0RFKSwxKQ0KLURFQlVHRkxBR1NfU2ltcGxlUm9ib3QgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLVhPIC1Yc2l6ZS1vcHQNCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7ZGR1bXAgLU5nICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHNwYXJjID4gJChPQkpfRElSKS9jdGR0LmM7ICQoVE9PTF9QQVRIKWRjYyAkKERFQlVHRkxBR1NfU2ltcGxlUm9ib3QpICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpZGxkIC10U1BBUkNGSDp2eHdvcmtzNjMgLVggLXI1IC1yNCAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLWlmZXEgKCQoQlVJTERfU1BFQyksU0lNU1BBUkNTT0xBUklTZ251KQ0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX1NpbXBsZVJvYm90ID0gLWcNCi1lbHNlDQotREVCVUdGTEFHU19TaW1wbGVSb2JvdCA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1lbmRpZg0KLSQoT0JKX0RJUikvU2ltcGxlUm9ib3Qub3V0IDogJChPQkpFQ1RTKSAkKFNVQl9PQkpFQ1RTKSAkKFNVQl9UQVJHRVRTKQ0KLQkkKFRSQUNFX0ZMQUcpZWNobyAiYnVpbGRpbmcgJEAiO3JtIC1mICIkQCI7bm1zcGFyYyAkKE9CSkVDVFMpICQoU1VCX09CSkVDVFMpICQoU1VCX1RBUkdFVFMpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBzcGFyYyA+ICQoT0JKX0RJUikvY3RkdC5jOyAkKFRPT0xfUEFUSCljY3NwYXJjICQoREVCVUdGTEFHU19TaW1wbGVSb2JvdCkgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NzcGFyYyAtciAtbm9zdGRsaWIgLVdsLC1YICAtbyAiJEAiICQoT0JKX0RJUikvY3RkdC5vICQoT0JKRUNUUykgJChTVUJfT0JKRUNUUykgJChTVUJfVEFSR0VUUykgJChJREVfTElCUkFSSUVTKSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmJiBpZiBbICIkKEVYUEFORF9EQkcpIiA9ICIxIiBdOyB0aGVuIHBsaW5rICIkQCI7ZmkNCi0NCi10YXJnZXRfU2ltcGxlUm9ib3QgOiBzdWJkaXJzX2FsbCBjaGVja19vYmplY3RkaXIgJChPQkpfRElSKS9TaW1wbGVSb2JvdC5vdXQNCi1lbmRpZg0KLQ0KLQ0KLQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGNoZWNrX29iamVjdGRpciBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotY2hlY2tfb2JqZWN0ZGlyIDoNCi0JQGlmIFsgISAtZCAiJChPQkpfRElSKSIgXTsgdGhlblwNCi0JCW1rZGlyIC1wICQoT0JKX0RJUik7XA0KLQlmaQ0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIHJlY3Vyc2lvbg0KLXByZV9yZWN1cnNpb24gOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgcmVjdXJzaW9uDQotcG9zdF9yZWN1cnNpb24gOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotIyByZWN1cnNpdmUgbWFrZSBpbiBTVUJESVJTDQotc3ViZGlyc19hbGwgOg0KLQlAX1BXRD1gcHdkYDtcDQotCWZvciBkaXIgaW4gX2R1bW15XyAkKFNVQkRJUlMpOyBkb1wNCi0JCWlmIFsgIiQkZGlyIiA9ICJfZHVtbXlfIiBdOyB0aGVuXA0KLQkJCWNvbnRpbnVlIDtcDQotCQlmaTtcDQotCQlpZiBbICEgLWQgIiQkZGlyIiBdOyB0aGVuXA0KLQkJCWNvbnRpbnVlIDtcDQotCQlmaTtcDQotCQllY2hvICJSZWN1cnNpdmUgbWFrZTogQ2hhbmdpbmcgdG8gRGlyZWN0b3J5ICckJGRpciciO1wNCi0JCWNkICIkJGRpciI7XA0KLQkJIiQoTUFLRSkiIC1mICIkKE1BS0VGSUxFKSIgJChNRkxBR1MpIGFsbCB8fCBleGl0O1wNCi0JCWVjaG8gIlJlY3Vyc2l2ZSBtYWtlOiBDaGFuZ2luZyBiYWNrIHRvIERpcmVjdG9yeSAnJCRfUFdEJyI7XA0KLQkJY2QgIiQkX1BXRCI7XA0KLQlkb25lDQotDQotY2xlYW4gOjoNCi0JQF9QV0Q9YHB3ZGA7XA0KLQlmb3IgZGlyIGluIF9kdW1teV8gJChTVUJESVJTKTsgZG9cDQotCQlpZiBbICIkJGRpciIgPSAiX2R1bW15XyIgXTsgdGhlblwNCi0JCQljb250aW51ZSA7XA0KLQkJZmk7XA0KLQkJaWYgWyAhIC1kICIkJGRpciIgXTsgdGhlblwNCi0JCQljb250aW51ZSA7XA0KLQkJZmk7XA0KLQkJZWNobyAiUmVjdXJzaXZlIG1ha2U6IENoYW5naW5nIHRvIERpcmVjdG9yeSAnJCRkaXInIjtcDQotCQljZCAiJCRkaXIiO1wNCi0JCSIkKE1BS0UpIiAtZiAiJChNQUtFRklMRSkiICQoTUZMQUdTKSAkQCB8fCBleGl0O1wNCi0JCWVjaG8gIlJlY3Vyc2l2ZSBtYWtlOiBDaGFuZ2luZyBiYWNrIHRvIERpcmVjdG9yeSAnJCRfUFdEJyI7XA0KLQkJY2QgIiQkX1BXRCI7XA0KLQlkb25lDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCi0NCi1fY2xlYW4gOg0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCI7XA0KLQlybSAtZiAkKE9CSkVDVFMpICQoUFJPSkVDVF9UQVJHRVRTKSAkKERFUF9GSUxFUykgJCh3aWxkY2FyZCAkKE9CSl9ESVIpLyoudW5zdHJpcHBlZCkgJCh3aWxkY2FyZCAkKE9CSl9ESVIpL2N0ZHQuKikNCi0NCi1idWlsZF9hbGxfc3BlY3MgOg0KLQlAZWNobyAiYnVpbGRpbmcgdGFyZ2V0IGRlZmF1bHQgZm9yIEFMTCBidWlsZC1zcGVjcyI7XA0KLQlmb3Igc3BlYyBpbiBfZHVtbXlfICQoQUxMX0JVSUxEX1NQRUNTKTsgZG9cDQotCQlpZiBbICIkJHNwZWMiID0gIl9kdW1teV8iIF07IHRoZW5cDQotCQkJY29udGludWUgO1wNCi0JCWZpO1wNCi0JCWVjaG8gIiAiO1wNCi0JCWVjaG8gImJ1aWxkaW5nIGFsbCBmb3IgYnVpbGQtc3BlYyAnJCRzcGVjJyI7XA0KLQkJIiQoTUFLRSkiIC1mICIkKE1BS0VGSUxFKSIgJChNRkxBR1MpIEJVSUxEX1NQRUM9JCRzcGVjIERFQlVHX01PREU9JChERUJVR19NT0RFKSBUUkFDRT0kKFRSQUNFKSB8fCBleGl0O1wNCi0JZG9uZQ0KLQ0KLWNsZWFuX2FsbF9zcGVjcyA6DQotCUBlY2hvICJidWlsZGluZyB0YXJnZXQgY2xlYW4gZm9yIEFMTCBidWlsZC1zcGVjcyI7XA0KLQlmb3Igc3BlYyBpbiBfZHVtbXlfICQoQUxMX0JVSUxEX1NQRUNTKTsgZG9cDQotCQlpZiBbICIkJHNwZWMiID0gIl9kdW1teV8iIF07IHRoZW5cDQotCQkJY29udGludWUgO1wNCi0JCWZpO1wNCi0JCWVjaG8gIiAiO1wNCi0JCWVjaG8gImJ1aWxkaW5nIGNsZWFuIGZvciBidWlsZC1zcGVjICckJHNwZWMnIjtcDQotCQkiJChNQUtFKSIgLWYgIiQoTUFLRUZJTEUpIiAkKE1GTEFHUykgQlVJTERfU1BFQz0kJHNwZWMgREVCVUdfTU9ERT0kKERFQlVHX01PREUpIFRSQUNFPSQoVFJBQ0UpIGNsZWFuIHx8IGV4aXQ7XA0KLQlkb25lDQotDQotYnVpbGRfZW5hYmxlZF9zcGVjcyA6DQotCUBlY2hvICJidWlsZGluZyB0YXJnZXQgZGVmYXVsdCBmb3IgRU5BQkxFRCBidWlsZC1zcGVjcyI7XA0KLQlmb3Igc3BlYyBpbiBfZHVtbXlfICQoRU5BQkxFRF9CVUlMRF9TUEVDUyk7IGRvXA0KLQkJaWYgWyAiJCRzcGVjIiA9ICJfZHVtbXlfIiBdOyB0aGVuXA0KLQkJCWNvbnRpbnVlIDtcDQotCQlmaTtcDQotCQllY2hvICIgIjtcDQotCQllY2hvICJidWlsZGluZyBhbGwgZm9yIGJ1aWxkLXNwZWMgJyQkc3BlYyciO1wNCi0JCSIkKE1BS0UpIiAtZiAiJChNQUtFRklMRSkiICQoTUZMQUdTKSBCVUlMRF9TUEVDPSQkc3BlYyBERUJVR19NT0RFPSQoREVCVUdfTU9ERSkgVFJBQ0U9JChUUkFDRSkgfHwgZXhpdDtcDQotCWRvbmUNCi0NCi1jbGVhbl9lbmFibGVkX3NwZWNzIDoNCi0JQGVjaG8gImJ1aWxkaW5nIHRhcmdldCBjbGVhbiBmb3IgRU5BQkxFRCBidWlsZC1zcGVjcyI7XA0KLQlmb3Igc3BlYyBpbiBfZHVtbXlfICQoRU5BQkxFRF9CVUlMRF9TUEVDUyk7IGRvXA0KLQkJaWYgWyAiJCRzcGVjIiA9ICJfZHVtbXlfIiBdOyB0aGVuXA0KLQkJCWNvbnRpbnVlIDtcDQotCQlmaTtcDQotCQllY2hvICIgIjtcDQotCQllY2hvICJidWlsZGluZyBjbGVhbiBmb3IgYnVpbGQtc3BlYyAnJCRzcGVjJyI7XA0KLQkJIiQoTUFLRSkiIC1mICIkKE1BS0VGSUxFKSIgJChNRkxBR1MpIEJVSUxEX1NQRUM9JCRzcGVjIERFQlVHX01PREU9JChERUJVR19NT0RFKSBUUkFDRT0kKFRSQUNFKSBjbGVhbiB8fCBleGl0O1wNCi0JZG9uZQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3Qvc2FtcGxlLnByb3BlcnRpZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90L3NhbXBsZS5wcm9wZXJ0aWVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmM4OTVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3Qvc2FtcGxlLnByb3BlcnRpZXMKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXByb2plY3QudHlwZT1Eb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0DQotcGxhdGZvcm0uaWQ9VnhXb3Jrcw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3Qvc2FtcGxlLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9EZWZhdWx0Um9ib3Qvc2FtcGxlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWZjOTMzOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRGVmYXVsdFJvYm90L3NhbXBsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1GUkMgRGVmYXVsdCBQcm9ncmFtIChPcmlnaW5hbCBmYWN0b3J5IGltYWdlKQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotVGhpcyBzYW1wbGUgaW1wbGVtZW50cyB0aGUgImRlZmF1bHQgcHJvZ3JhbSIgdGhhdCB3YXMgcHJlbG9hZGVkIG9uDQoteW91ciBjUklPIHdoZW4gaXQgY2FtZSBmcm9tIHRoZSBmYWN0b3J5LiBUaGlzIHByb2dyYW0gaGFzIGJvdGggQXV0b25vbW91cw0KLWFuZCBPcGVyYXRvciBDb250cm9sIGNvZGUgYXMgZGVzY3JpYmVkIGluIHRoZSAiT3V0IG9mIHRoZSBib3giIGRpcmVjdGlvbnMuDQotDQotWW91IGNhbiB1c2UgdGhpcyBhcyBhIHNsaWdodGx5IG1vcmUgYWR2YW5jZWQgdGVtcGxhdGUgYXMgYSBzdGFydGluZyBwb2ludA0KLWZvciB5b3VyIG93biByb2JvdCBwcm9qZWN0cywgb3IganVzdCB0byBzZWUgaG93IHNvbWUgbW9yZSBhZHZhbmNlZCBwcm9ncmFtbWluZw0KLXdvcmtzLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8uY3Byb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YTkyZWRjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8uY3Byb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi08c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jY29uZmlndXJhdGlvbj4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvLnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwYjM2MjcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RyaXZlclN0YXRpb25MQ0RUZXh0Ly5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5Ecml2ZXJTdGF0aW9uTENEVGV4dDwvbmFtZT4NCi0JPGNvbW1lbnQ+PC9jb21tZW50Pg0KLQk8cHJvamVjdHM+DQotCTwvcHJvamVjdHM+DQotCTxidWlsZFNwZWM+DQotCQk8YnVpbGRDb21tYW5kPg0KLQkJCTxuYW1lPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JidWlsZGVyPC9uYW1lPg0KLQkJCTxhcmd1bWVudHM+DQotCQkJPC9hcmd1bWVudHM+DQotCQk8L2J1aWxkQ29tbWFuZD4NCi0JPC9idWlsZFNwZWM+DQotCTxuYXR1cmVzPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndybmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3Jjb3JlbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY2NuYXR1cmU8L25hdHVyZT4NCi0JPC9uYXR1cmVzPg0KLTwvcHJvamVjdERlc2NyaXB0aW9uPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8ud3JtYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvLndybWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0jIFRoZSBmaWxlICIud3JtYWtlZmlsZSIgaXMgdGhlIHRlbXBsYXRlIHVzZWQgYnkgdGhlIFdpbmQgUml2ZXIgV29ya2JlbmNoIHRvDQotIyBnZW5lcmF0ZSB0aGUgbWFrZWZpbGVzIG9mIHRoaXMgcHJvamVjdC4gQWRkIHVzZXItc3BlY2lmaWMgYnVpbGQgdGFyZ2V0cyBhbmQNCi0jIG1ha2UgcnVsZXMgb25seSghKSBpbiB0aGlzIHByb2plY3QncyAiLndybWFrZWZpbGUiIGZpbGUuIFRoZXNlIHdpbGwgdGhlbiBiZQ0KLSMgYXV0b21hdGljYWxseSBkdW1wZWQgaW50byB0aGUgbWFrZWZpbGVzLg0KLQ0KLVdJTkRfSE9NRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfSE9NRSkpDQotV0lORF9CQVNFIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9CQVNFKSkNCi1XSU5EX1VTUiA6PSAkKHN1YnN0IFwsLywkKFdJTkRfVVNSKSkNCi0NCi1hbGwgOiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLV9jbGVhbiA6Og0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCINCi0NCi0lSURFX0dFTkVSQVRFRCUNCi0NCi0taW5jbHVkZSAkKFBSSl9ST09UX0RJUikvKi5tYWtlZmlsZQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGV4dGVybmFsX2J1aWxkICQoUFJPSkVDVF9UQVJHRVRTKQ0KLQlAZWNobyAibWFrZTogYnVpbHQgdGFyZ2V0cyBvZiBgcHdkYCINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkDQotZXh0ZXJuYWxfYnVpbGQgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvLndycHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2YxMjFmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC8ud3Jwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlZYX0NQVV9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ1BVIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0wiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9QQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNDX0FSQ0hfU1BFQyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJQQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlMiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSItdFBQQzYwM0ZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9Ii1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IkRyaXZlclN0YXRpb25MQ0RUZXh0IiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJEcml2ZXJTdGF0aW9uTENEVGV4dCI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8YnVpbGR0YXJnZXRyZWZlcmVuY2UgbmFtZT0iL0RyaXZlclN0YXRpb25MQ0RUZXh0L0RyaXZlclN0YXRpb25MQ0RUZXh0X3BhcnRpYWxJbWFnZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iUGFydGlhbCBJbWFnZSBMaW5rZXIiIG5hbWU9IkRyaXZlclN0YXRpb25MQ0RUZXh0X3BhcnRpYWxJbWFnZSIgcGFzc2VkPSJ0cnVlIiB0YXJnZXRuYW1lPSJEcml2ZXJTdGF0aW9uTENEVGV4dF9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvRHJpdmVyU3RhdGlvbkxDRFRleHQiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICA8L2J1aWxkdGFyZ2V0cz4NCi08L3dyeG1sPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC9Ecml2ZXJTdGF0aW9uTENEVGV4dEV4YW1wbGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RyaXZlclN0YXRpb25MQ0RUZXh0L0RyaXZlclN0YXRpb25MQ0RUZXh0RXhhbXBsZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0ZDdhODQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RyaXZlclN0YXRpb25MQ0RUZXh0L0RyaXZlclN0YXRpb25MQ0RUZXh0RXhhbXBsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0NCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotDQotLyoqDQotICogVGhpcyBleGFtcGxlIHNob3dzIGhvdyB5b3UgY2FuIHdyaXRlIHRleHQgdG8gdGhlIExDRCBvbiB0aGUgZHJpdmVyIHN0YXRpb24uDQotICovIA0KLWNsYXNzIERyaXZlclN0YXRpb25MQ0RUZXh0RXhhbXBsZSA6IHB1YmxpYyBTaW1wbGVSb2JvdA0KLXsNCi0NCi1wdWJsaWM6DQotCURyaXZlclN0YXRpb25MQ0RUZXh0RXhhbXBsZSh2b2lkKQ0KLQl7DQotCX0NCi0NCi0Jdm9pZCBSb2JvdE1haW4oKQ0KLQl7DQotCQlEcml2ZXJTdGF0aW9uTENEICpkc0xDRCA9IERyaXZlclN0YXRpb25MQ0Q6OkdldEluc3RhbmNlKCk7DQotDQotCQlkc0xDRC0+UHJpbnRmKERyaXZlclN0YXRpb25MQ0Q6OmtVc2VyX0xpbmUxLCAxLCAiSGVsbG8gV29ybGQiKTsNCi0JCWRzTENELT5QcmludGYoRHJpdmVyU3RhdGlvbkxDRDo6a1VzZXJfTGluZTEsIDExLCAiVGltZTogJTQuMWYiLCBHZXRDbG9jaygpKTsNCi0JCWRzTENELT5VcGRhdGVMQ0QoKTsNCi0NCi0JCVdhaXQoMC4xKTsNCi0JfQ0KLX07DQotDQotU1RBUlRfUk9CT1RfQ0xBU1MoRHJpdmVyU3RhdGlvbkxDRFRleHRFeGFtcGxlKTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvc2FtcGxlLnByb3BlcnRpZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0RyaXZlclN0YXRpb25MQ0RUZXh0L3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vRHJpdmVyU3RhdGlvbkxDRFRleHQvc2FtcGxlLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWQ5YzUzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9Ecml2ZXJTdGF0aW9uTENEVGV4dC9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1GUkMgRHJpdmVyIFN0YXRpb24gTENEIFRleHQNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLVRoaXMgcHJvZ3JhbSBpcyBhIHNpbXBsZSBleGFtcGxlIHByb2dyYW0gdGhhdCBpbXBsZW1lbnRzDQotcHJpbnRpbmcgdGV4dCB0byB5b3VyIERyaXZlciBTdGF0aW9uIExDRC4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8uY3Byb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8uY3Byb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1YTI3MzUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvLmNwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08P2ZpbGVWZXJzaW9uIDQuMC4wPz4NCi0NCi08Y3Byb2plY3Q+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi08Y2NvbmZpZ3VyYXRpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHQuY29uZmlnLjEwODYwMTY2MjIiPg0KLTxzdG9yYWdlTW9kdWxlIGJ1aWxkU3lzdGVtSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHRDb25maWdEYXRhUHJvdmlkZXIiIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4xMDg2MDE2NjIyIiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jY29uZmlndXJhdGlvbj4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmY2Y0YmY5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5HeXJvU2FtcGxlPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDNjNWZlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8c2lncyIgdmFsdWU9IiouYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGNtZCIgdmFsdWU9IiVtYWtlcHJlZml4JSBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xkZWZhdWx0U3BlYyIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJkaWFiIiB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmdudSIgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpclJvb3QiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xzcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8aW50QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0RW5hYmxlZCIgdmFsdWU9IjEiLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEZvckJ1aWxkU3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCdWlsZFRhcmdldENlbnRyaWMiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICA8L21hcEF0dHJpYnV0ZT4NCi0gICAgPC9hdHRyaWJ1dGVzPg0KLSAgICA8YnVpbGR0YXJnZXRzPg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iTGlua2VyIiBuYW1lPSJHeXJvU2FtcGxlIiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJHeXJvU2FtcGxlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxidWlsZHRhcmdldHJlZmVyZW5jZSBuYW1lPSIvR3lyb1NhbXBsZS9HeXJvU2FtcGxlX3BhcnRpYWxJbWFnZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iUGFydGlhbCBJbWFnZSBMaW5rZXIiIG5hbWU9Ikd5cm9TYW1wbGVfcGFydGlhbEltYWdlIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9Ikd5cm9TYW1wbGVfcGFydGlhbEltYWdlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxmb2xkZXIgbmFtZT0iL0d5cm9TYW1wbGUiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICA8L2J1aWxkdGFyZ2V0cz4NCi08L3dyeG1sPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlL0d5cm9TYW1wbGUuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvR3lyb1NhbXBsZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkMjUyN2EuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvR3lyb1NhbXBsZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi0jaW5jbHVkZSAiV1BJTGliLmgiDQotDQotLyoqDQotICogVGhpcyBpcyBhIGRlbW8gcHJvZ3JhbSBzaG93aW5nIHRoZSB1c2Ugb2YgdGhlIEd5cm8gZm9yIGRyaXZpbmcgaW4gYSBzdHJhaWdodA0KLSAqIGxpbmUuIFRoZSBHeXJvIG9iamVjdCBpbiB0aGUgbGlicmFyeSByZXR1cm5zIHRoZSBoZWFkaW5nIHdpdGggMC4wIHJlcHJlc2VudGluZw0KLSAqIHN0cmFpZ2h0IGFuZCBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBhbmdsZXMgaW4gZGVncmVlcyBmb3IgbGVmdCBhbmQgcmlnaHQgdHVybnMuDQotICogVGhlIHplcm8gcG9pbnQgaXMgZXN0YWJsaXNoZWQgd2hlbiB0aGUgZ3lybyBvYmplY3QgaXMgY3JlYXRlZCBzbyBpdCBpcyBpbXBvcnRhbnQNCi0gKiB0byBoYXZlIHRoZSByb2JvdCBzdGlsbCBhZnRlciB0dXJuaW5nIGl0IG9uLg0KLSAqIA0KLSAqIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGRyaWZ0IGluIHRoZSBneXJvLCBpdCBjYW4gYWx3YXlzIGJlIHJlc2V0IGJhY2sgdG8gdGhlDQotICogemVybyBoZWFkaW5nIGJ5IGNhbGxpbmcgR3lyby5SZXNldCgpLg0KLSAqIA0KLSAqIE5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIE9wZXJhdG9yQ29udHJvbCBtZXRob2QuIFNpbmNlIHRoaXMgcHJvZ3JhbSBkb2Vzbid0IHN1cHBseQ0KLSAqIG9uZSB0aGUgZGVmYXVsdCBPcGVyYXRvckNvbnRyb2wgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGZyb20gdGhlIGxpYnJhcnkuDQotICovDQotY2xhc3MgR3lyb1NhbXBsZSA6IHB1YmxpYyBTaW1wbGVSb2JvdA0KLXsNCi0JUm9ib3REcml2ZSBteVJvYm90OyAvLyByb2JvdCBkcml2ZSBzeXN0ZW0NCi0JR3lybyBneXJvOw0KLQ0KLXB1YmxpYzoNCi0JR3lyb1NhbXBsZSh2b2lkKToNCi0JCW15Um9ib3QoMSwgMiksCQkvLyBpbml0aWFsaXplIHRoZSBzZW5zb3JzIGluIGluaXRpYWxpemF0aW9uIGxpc3QNCi0JCWd5cm8oMSkNCi0Jew0KLQkJbXlSb2JvdC5TZXRFeHBpcmF0aW9uKDAuMSk7DQotCX0NCi0NCi0JLyoqDQotCSAqIERyaXZlIGluIGEgc3RyYWlnaHQgbGluZSB1c2luZyB0aGUgZ3lyby4NCi0JICogVGhpcyBzaG9ydCBwcm9ncmFtIHVzZXMgc2ltcGxlIHByb3BvcnRpb25hbCB0byBjb3JyZWN0IGZvciBlcnJvcnMgaW4gaGVhZGluZy4NCi0JICogUHJvcG9ydGlvbmFsIGNvbnRyb2wgc2ltcGx5IG1lYW5zIHRoYXQgdGhlIGFtb3VudCBvZiBjb3JyZWN0aW9uIHRvIHRoZSBoZWFkaW5nIGlzDQotCSAqIHByb3BvcnRpb25hbCB0byB0aGUgZXJyb3IuIFNpbmNlIHdlIGFyZSB0cnlpbmcgdG8gZHJpdmUgc3RyYWlnaHQsIHRoZW4gdGhlDQotCSAqIGRlc2lyZWQgZ3lybyB2YWx1ZSBpcyAwLjAuIFRoZSBneXJvIGhlYWRpbmcsIHdoaWNoIHZhcmllcyBmcm9tIDAuMCBhcyB0aGUgcm9ib3QNCi0JICogdHVybnMgaXMgc3VwcGxpZWQgYXMgdGhlIGN1cnZlIHBhcmFtZXRlciB0byB0aGUgRHJpdmUgbWV0aG9kLiBUaGlzIG1ldGhvZCB0YWtlcw0KLQkgKiB2YWx1ZXMgZnJvbSAtMSB0byAxIHRvIHJlcHJlc2VudCB0dXJucyBsZWZ0IGFuZCByaWdodC4gMCBpcyBubyB0dXJuLg0KLQkgKiANCi0JICogV2hpbGUgdGhlIGd5cm8gaGVhZGluZyBpcyAwLjAgKHRoZSBkZXNpcmVkIGhlYWRpbmcpIHRoZXJlIHdpbGwgYmUgbm8gdHVybi4gQXMgdGhlDQotCSAqIGhlYWRpbmcgaW5jcmVhc2VzIGluIGVpdGhlciBkaXJlY3Rpb24sIGl0IHJlc3VsdHMgaW4gYSBwcm9wb3J0aW9uYWxseSBsYXJnZXINCi0JICogdHVybiB0byBjb3VudGVyYWN0IHRoZSBlcnJvci4gVGhlIGFuZ2xlIGlzIGRpdmlkZWQgYnkgMzAgdG8gc2NhbGUgdGhlIHZhbHVlIHNvDQotCSAqIHRoZSByb2JvdCBkb2Vzbid0IHR1cm4gdG9vIGZhc3Qgb3IgdG9vIHNsb3dseSB3aGlsZSBjb3JyZWN0aW5nLg0KLQkgKi8NCi0Jdm9pZCBBdXRvbm9tb3VzKHZvaWQpDQotCXsNCi0JCWd5cm8uUmVzZXQoKTsNCi0JCXdoaWxlIChJc0F1dG9ub21vdXMoKSkNCi0JCXsNCi0JCQlmbG9hdCBhbmdsZSA9IGd5cm8uR2V0QW5nbGUoKTsJCQkvLyBjdXJyZW50IGhlYWRpbmcgKDAgPSB0YXJnZXQpDQotCQkJbXlSb2JvdC5Ecml2ZSgtMS4wLCAtYW5nbGUgLyAzMC4wKTsJCS8vIHByb3BvcnRpb25hbGx5IGRyaXZlIGluIGEgc3RyYWlnaHQgbGluZQ0KLQkJCVdhaXQoMC4wMDQpOw0KLQkJfQ0KLQkJbXlSb2JvdC5Ecml2ZSgwLjAsIDAuMCk7IAkvLyBzdG9wIHJvYm90DQotCX0NCi0JDQotCXZvaWQgT3BlcmF0b3JDb250cm9sKHZvaWQpDQotCXsNCi0JCUpveXN0aWNrIHN0aWNrKDEpOw0KLQkJd2hpbGUgKElzT3BlcmF0b3JDb250cm9sKCkpDQotCQl7DQotCQkJbXlSb2JvdC5BcmNhZGVEcml2ZShzdGljayk7DQotCQkJV2FpdCgwLjAwNSk7DQotCQl9DQotCX0NCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKEd5cm9TYW1wbGUpOw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlL3NhbXBsZS5wcm9wZXJ0aWVzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0d5cm9TYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXByb2plY3QudHlwZT1Eb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0DQotcGxhdGZvcm0uaWQ9VnhXb3Jrcw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlL3NhbXBsZS50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vR3lyb1NhbXBsZS9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyN2VlYWQ3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9HeXJvU2FtcGxlL3NhbXBsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1GUkMgR3lybyBzYW1wbGUgcHJvZ3JhbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotVGhpcyBpcyBhIHNhbXBsZSBzaG93aW5nIHRoZSB1c2Ugb2YgdGhlIEd5cm8gc2Vuc29yIGFuZCB0aGUgYXNzb2NpYXRlZCBjbGFzcyBmb3INCi1kcml2aW5nIGluIGEgc3RyYWlnaHQgbGluZS4gSXQgdXNlcyBzaW1wbGUgcHJvcG9ydGlvbmFsIGNvbnRyb2wgdG8gc3RlZXIgdGhlDQotcm9ib3QgZHVyaW5nIHRoZSBhdXRvbm9tb3VzIHBlcmlvZC4gVGhlcmUgaXMgbm8gb3BlcmF0b3IgY29udHJvbCBwb3J0aW9uIG9mDQotdGhpcyBwcm9ncmFtLCBzbyB0aGUgZGVmYXVsdCBhY3Rpb24gKHByaW50IGEgbWVzc2FnZSBvbiB0aGUgY29uc29sZSkgaXMgdGFrZW4NCi13aGlsZSB0aGUgZHJpdmVyIHN0YXRpb24gaXMgaW4gdGVsZW9wIG1vZGUuDQotDQotDQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy5jcHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS8uY3Byb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhOTJlZGMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPD9maWxlVmVyc2lvbiA0LjAuMD8+DQotDQotPGNwcm9qZWN0Pg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyI+DQotPGNjb25maWd1cmF0aW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiPg0KLTxzdG9yYWdlTW9kdWxlIGJ1aWxkU3lzdGVtSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHRDb25maWdEYXRhUHJvdmlkZXIiIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyIgbmFtZT0iQ29uZmlndXJhdGlvbiI+DQotPGV4dGVybmFsU2V0dGluZ3MvPg0KLTxleHRlbnNpb25zPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JTY2FubmVySW5mb1Byb3ZpZGVyIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuU2Nhbm5lckluZm9Qcm92aWRlciIvPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JFbGZQYXJzZXJWeFdvcmtzIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTwvZXh0ZW5zaW9ucz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmV4dGVybmFsU2V0dGluZ3MiLz4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUucGF0aGVudHJ5Ij4NCi08cGF0aGVudHJ5IGtpbmQ9InNyYyIgcGF0aD0iIi8+DQotPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSX0NPTlRBSU5FUiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLmJ1aWxkLm1vZGVsLldSX1VTRVJERUZJTkVEX0NPTlRBSU5FUiIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ic2Nhbm5lckNvbmZpZ3VyYXRpb24iLz4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0idXNlcmRlZmluZWRDb250YWluZXIiPg0KLTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLTxpbml0aWFsaXplZCB2YWx1ZT0idHJ1ZSIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Njb25maWd1cmF0aW9uPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Nwcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS8ucHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZlNDQ4YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0R2VzdHVyZXNTYW1wbGUvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPktpbmVjdEdlc3R1cmVzU2FtcGxlPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy53cm1ha2VmaWxlIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy53cm1ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRkN2Y4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS8ud3Jwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy53cnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkZWIzYTMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xjbWQiIHZhbHVlPSIlbWFrZXByZWZpeCUgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98ZGVmYXVsdFNwZWMiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJSb290IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98c3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGludEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEVuYWJsZWQiIHZhbHVlPSIxIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRGb3JCdWlsZFNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQnVpbGRUYXJnZXRDZW50cmljIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgPC9tYXBBdHRyaWJ1dGU+DQotICAgIDwvYXR0cmlidXRlcz4NCi0gICAgPGJ1aWxkdGFyZ2V0cz4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IkxpbmtlciIgbmFtZT0iS2luZWN0R2VzdHVyZXNTYW1wbGUiIHBhc3NlZD0iZmFsc2UiIHRhcmdldG5hbWU9IktpbmVjdEdlc3R1cmVzU2FtcGxlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxidWlsZHRhcmdldHJlZmVyZW5jZSBuYW1lPSIvS2luZWN0R2VzdHVyZXNTYW1wbGUvS2luZWN0R2VzdHVyZXNTYW1wbGVfcGFydGlhbEltYWdlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJQYXJ0aWFsIEltYWdlIExpbmtlciIgbmFtZT0iS2luZWN0R2VzdHVyZXNfcGFydGlhbEltYWdlIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9IktpbmVjdEdlc3R1cmVzU2FtcGxlX3BhcnRpYWxJbWFnZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8Zm9sZGVyIG5hbWU9Ii9LaW5lY3RHZXN0dXJlc1NhbXBsZSIgcmVjdXJzaXZlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgIDwvYnVpbGR0YXJnZXRzPg0KLTwvd3J4bWw+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlL015Um9ib3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlL015Um9ib3QuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjkyZTUwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS9NeVJvYm90LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDIzNyArMCwwIEBACi0jaW5jbHVkZSAiV1BJTGliLmgiDQotI2luY2x1ZGUgIk1hdGguaCINCi0NCi0jZGVmaW5lIFBJIDMuMTQxNTkNCi0NCi0vL0NvbnN0YW50cyB3aGljaCBkZWZpbmUgdGhlIHZhbGlkIGFybSBwb3NpdGlvbnMNCi0jZGVmaW5lIEFSTV9NQVhfQU5HTEUgMTA1DQotI2RlZmluZSBBUk1fTUlOX0FOR0xFIC05MA0KLSNkZWZpbmUgWl9QTEFORV9UT0xFUkFOQ0UgMC4zCS8qIEluIG1ldGVycyAqLw0KLQ0KLS8vQ29uc3RhbnRzIHdoaWNoIGRlZmluZSB0aGUgInRyaWdnZXIiIGFuZ2xlcyBmb3IgdGhlIHZhcmlvdXMgYnV0dG9ucw0KLSNkZWZpbmUgTEVHX0ZPUldBUkQgLTExMA0KLSNkZWZpbmUgTEVHX0JBQ0tXQVJEIC04MA0KLSNkZWZpbmUgTEVHX09VVCAtNzUNCi0jZGVmaW5lIEhFQURfTEVGVCA5OA0KLSNkZWZpbmUgSEVBRF9SSUdIVCA4Mg0KLQ0KLS8qKg0KLSAqIFRoaXMgaXMgYSBwcm9ncmFtIHRoYXQgZGVtb25zdHJhdGVzIGdlc3R1cmUgcHJvY2Vzc2luZyBvbiB0aGUgcm9ib3QgdXNpbmcgQysrDQotICogVGhlIGF1dG9ub21vdXMgc2VjdGlvbiBvZiB0aGlzIGNvZGUgaW1wbGVtZW50cyB0aGUgc2FtZSBnZXN0dXJlcyBhcyB0aGUgRlJDIEtpbmVjdCBTZXJ2ZXINCi0gKiBUaGVzZSBnZXN0dXJlcyBhcmUgZGVzY3JpYmVkIGluIHRoZSBHZXR0aW5nIFN0YXJ0ZWQgd2l0aCB0aGUgTWljcm9zb2Z0IEtpbmVjdCBmb3IgRlJDIGRvY3VtZW50DQotICogVGhlIGFybSBnZXN0dXJlcyBhcmUgbWFwcGVkIHRvIHRhbmsgZHJpdmUgd2l0aCB0aGUgYXhpcyBzY2FsZWQgdG8gMS8zIHBvd2VyDQotICogVGhlIGJ1dHRvbnMgYXJlIG5vdCBtYXBwZWQgdG8gYW55IGFjdGlvbiwgdGhleSBhcmUgc3RvcmVkIGluIGluZGl2aWR1YWwgYm9vbGVhbiB2YXJpYWJsZXMNCi0gKiBuYW1lZCBiYXNlZCBvbiB0aGUgZ2VzdHVyZS4NCi0gKi8gDQotY2xhc3MgUm9ib3REZW1vIDogcHVibGljIFNpbXBsZVJvYm90DQotew0KLQlSb2JvdERyaXZlIG15Um9ib3Q7IC8vIHJvYm90IGRyaXZlIHN5c3RlbQ0KLQlKb3lzdGljayBzdGljazsgLy8gb25seSBqb3lzdGljaw0KLQlLaW5lY3QgKmtpbmVjdDsNCi0JLy9TbWFydERhc2hib2FyZCAqZGFzaDsgICAvL09wdGlvbmFsIFNtYXJ0RGFzaGJvYXJkIGxvZ2dpbmcNCi0NCi1wdWJsaWM6DQotCVJvYm90RGVtbyh2b2lkKToNCi0JCW15Um9ib3QoMSwgMiksCS8vIHRoZXNlIG11c3QgYmUgaW5pdGlhbGl6ZWQgaW4gdGhlIHNhbWUgb3JkZXINCi0JCXN0aWNrKDEpCQkvLyBhcyB0aGV5IGFyZSBkZWNsYXJlZCBhYm92ZS4NCi0Jew0KLQkJbXlSb2JvdC5TZXRFeHBpcmF0aW9uKDAuMSk7DQotCQlraW5lY3QgPSBLaW5lY3Q6OkdldEluc3RhbmNlKCk7DQotCQkvL2Rhc2ggPSBTbWFydERhc2hib2FyZDo6R2V0SW5zdGFuY2UoKTsJCS8vT3B0aW9uYWwgU21hcnREYXNoYm9hcmQgbG9nZ2luZw0KLQl9DQotCQ0KLQkvKioNCi0JICogRnVuY3Rpb24gdG8gcHJvY2VzcyBhIHBhaXIgb2Ygam9pbnRzIGludG8gYW4gYW5nbGUgaW4gdGhlIFhZIHBsYW5lLiBUaGUgam9pbnRzIGFyZSBwcm9qZWN0ZWQgaW50bw0KLQkgKiB0aGUgWFkgcGxhbmUgb2YgdGhlIEtpbmVjdCwgdGhlbiBhbiBhbmdsZSBpcyBjYWxjdWxhdGVkIHVzaW5nIG9uZSBqb2ludCBhcyB0aGUgb3JpZ2luIGFuZCB0aGUNCi0JICogWC1heGlzIGFzIHRoZSByZWZlcmVuY2UuIFRoZSBYLWF4aXMgY2FuIG9wdGlvbmFsbHkgYmUgbWlycm9yZWQgaW4gb3JkZXIgdG8gYXZvaWQgdGhlIGRpc2NvbnRpbnVpdHkNCi0JICogb2YgdGhlIGF0YW4yIGZ1bmN0aW9uLg0KLQkgKiBAcGFyYW0gb3JpZ2luIFRoZSBqb2ludCB0byB1c2UgYXMgdGhlIG9yaWdpbiBmb3IgdGhlIGNhbGN1bGF0aW9uDQotCSAqIEBwYXJhbSBtZWFzdXJlZCBUaGUgc2Vjb25kIHBvaW50IHRvIHVzZSBhcyBmb3IgdGhlIGFuZ2xlIGNhbGN1bGF0aW9uDQotCSAqIEBwYXJhbSBtaXJyb3JlZCBXaGV0aGVyIHRvIG1pcnJvciB0aGUgWC1heGlzIG9yIG5vdA0KLQkgKiBAcmV0dXJuIEFuZ2xlIGluIGRlZ3JlZXMgcmVmZXJlbmNlZCBmcm9tIHRoZSBYLWF4aXMNCi0JICovDQotCWRvdWJsZSBBbmdsZVhZKFNrZWxldG9uOjpKb2ludCBvcmlnaW4sIFNrZWxldG9uOjpKb2ludCBtZWFzdXJlZCwgVUlOVDggbWlycm9yZWQpew0KLSAgICAgICAgcmV0dXJuIChhdGFuMigobWVhc3VyZWQueS0gb3JpZ2luLnkpLCAobWlycm9yZWQpID8gKG9yaWdpbi54IC0gbWVhc3VyZWQueCkgOiAobWVhc3VyZWQueCAtIG9yaWdpbi54KSkqMTgwL1BJKTsNCi0gICAgfQ0KLQ0KLQkvKioNCi0JICogRnVudGlvbiB0byBwcm9jZXNzIGEgcGFpciBvZiBqb2ludHMgaW50byBhbiBhbmdsZSBpbiB0aGUgWVogcGxhbmUuIFRoZSBqb2ludCBhcmUgcHJvamVjdGVkIGludG8NCi0JICogdGhlIFlaIHBsYW5lIG9mIHRoZSBLaW5lY3QsIHRoYW4gYW4gYW5nbGUgaXMgY2FsY3VsYXRlZCB1c2luZyBvbmUgam9pbnQgYXMgdGhlIG9yaWdpbiBhbmQgdGhlDQotCSAqIFotYXhpcyBhcyB0aGUgcmVmZXJlbmNlLlRoZSBaLWF4aXMgY2FuIG9wdGlvbmFsbHkgYmUgbWlycm9yZWQgaW4gb3JkZXIgdG8gYXZvaWQgdGhlIGRpc2NvbnRpbnVpdHkNCi0JICogb2YgdGhlIGF0YW4yIGZ1bmN0aW9uLg0KLQkgKiBAcGFyYW0gb3JpZ2luIFRoZSBqb2ludCB0byB1c2UgYXMgdGhlIG9yaWdpbiBmb3IgdGhlIGFuZ2xlIGNhbGN1bGF0aW9uDQotCSAqIEBwYXJhbSBtZWFzdXJlZCBUaGUgc2Vjb25kIHBvaW50IHRvIHVzZSBhcyBmb3IgdGhlIGFuZ2xlIGNhbGN1bGF0aW9uDQotCSAqIEBwYXJhbSBtaXJyb3JlZCBXaGV0aGVyIHRvIG1pcnJvciB0aGUgWi1heGlzIG9yIG5vdA0KLQkgKiBAcmV0dXJuIEFuZ2xlIGluIGRlZ3JlZXMgcmVmZXJlbmNlZCBmcm9tIHRoZSBaLWF4aXMNCi0JICovDQotICAgIGRvdWJsZSBBbmdsZVlaKFNrZWxldG9uOjpKb2ludCBvcmlnaW4sIFNrZWxldG9uOjpKb2ludCBtZWFzdXJlZCwgVUlOVDggbWlycm9yZWQpew0KLSAgICAgICAgcmV0dXJuIChhdGFuMigobWVhc3VyZWQueS0gb3JpZ2luLnkpLCAobWlycm9yZWQpID8gKG9yaWdpbi56IC0gbWVhc3VyZWQueikgOiAobWVhc3VyZWQueiAtIG9yaWdpbi56KSkqMTgwL1BJKTsNCi0NCi0gICAgfQ0KLQ0KLSAgICAvKioNCi0gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHR3byBqb2ludHMgYXJlIGluIGFwcHJveGltYXRlbHkgdGhlIHNhbWUgWFkgcGxhbmUNCi0gICAgICogSUUuIElmIHRoZXkgaGF2ZSBhcHByb3hpbWF0ZWx5IHRoZSBzYW1lIHogY29vcmRpbmF0ZXMNCi0gICAgICogQHBhcmFtIG9yaWdpbiBUaGUgZmlyc3Qgam9pbnQgdG8gYmUgdXNlZCBpbiB0aGUgY29tcGFyaXNvbg0KLSAgICAgKiBAcGFyYW0gbWVhc3VyZWQgVGhlIHNlY29uZCBqb2ludCB0byBiZSB1c2VkIGluIHRoZSBjb21wYXJpc29uDQotICAgICAqIEByZXR1cm4gV2hldGhlciBvciBub3QgdGhlIGpvaW50cyBhcmUgaW4gYXBwcm94aW1hdGVseSB0aGUgc2FtZSBYWSBwbGFuZQ0KLSAgICAgKi8NCi0gICAgYm9vbCBJblNhbWVaUGxhbmUoU2tlbGV0b246OkpvaW50IG9yaWdpbiwgU2tlbGV0b246OkpvaW50IG1lYXN1cmVkLCBkb3VibGUgdG9sZXJhbmNlKQ0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHJldHVybiBmYWJzKG1lYXN1cmVkLnogLSBvcmlnaW4ueikgPCB0b2xlcmFuY2U7DQotICAgICAgICB9DQotDQotICAgIC8qKg0KLSAgICAgKiBDb252ZXJ0cyBhbiBpbnB1dCB2YWx1ZSBpbiB0aGUgZ2l2ZW4gaW5wdXQgcmFuZ2UgaW50byBhbiBvdXRwdXQgdmFsdWUgYWxvbmcgdGhlIGdpdmVuDQotICAgICAqIG91dHB1dCByYW5nZS4NCi0gICAgICogSWYgdGhlIHJlc3VsdCB3b3VsZCBiZSBvdXRzaWRlIG9mIHRoZSBnaXZlbiBvdXRwdXQgcmFuZ2UsIGl0IGlzIGNvbnN0cmFpbmVkIHRvIHRoZSANCi0gICAgICogb3V0cHV0IHJhbmdlLg0KLSAgICAgKiBAcGFyYW0gaW5wdXQgQW4gaW5wdXQgdmFsdWUgd2l0aGluIHRoZSBnaXZlbiBpbnB1dCByYW5nZS4NCi0gICAgICogQHBhcmFtIGlucHV0TWluIFRoZSBtaW5pbXVtIGV4cGVjdGVkIGlucHV0IHZhbHVlLg0KLSAgICAgKiBAcGFyYW0gaW5wdXRNYXggVGhlIG1heGltdW0gZXhwZWN0ZWQgaW5wdXQgdmFsdWUuDQotICAgICAqIEBwYXJhbSBvdXRwdXRNaW4gVGhlIG1pbmltdW0gZXhwZWN0ZWQgb3V0cHV0IHZhbHVlLg0KLSAgICAgKiBAcGFyYW0gb3V0cHV0TWF4IFRoZSBtYXhpbXVtIGV4cGVjdGVkIG91dHB1dCB2YWx1ZS4NCi0gICAgICogQHJldHVybiBBbiBvdXRwdXQgdmFsdWUgd2l0aGluIHRoZSBnaXZlbiBvdXRwdXQgcmFuZ2UgcHJvcG9ydGlvbmFsIHRvIHRoZSBpbnB1dC4NCi0gICAgICovDQotICAgIGRvdWJsZSBDb2VyY2VUb1JhbmdlKGRvdWJsZSBpbnB1dCwgZG91YmxlIGlucHV0TWluLCBkb3VibGUgaW5wdXRNYXgsIGRvdWJsZSBvdXRwdXRNaW4sIGRvdWJsZSBvdXRwdXRNYXgpDQotICAgICAgICB7DQotICAgICAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBjZW50ZXIgb2YgdGhlIGlucHV0IHJhbmdlDQotICAgICAgICAgICAgZG91YmxlIGlucHV0Q2VudGVyID0gZmFicyhpbnB1dE1heCAtIGlucHV0TWluKSAvIDIgKyBpbnB1dE1pbjsNCi0gICAgICAgICAgICBkb3VibGUgb3V0cHV0Q2VudGVyID0gZmFicyhvdXRwdXRNYXggLSBvdXRwdXRNaW4pIC8gMiArIG91dHB1dE1pbjsNCi0NCi0gICAgICAgICAgICAvLyBTY2FsZSB0aGUgaW5wdXQgcmFuZ2UgdG8gdGhlIG91dHB1dCByYW5nZQ0KLSAgICAgICAgICAgIGRvdWJsZSBzY2FsZSA9IChvdXRwdXRNYXggLSBvdXRwdXRNaW4pIC8gKGlucHV0TWF4IC0gaW5wdXRNaW4pOw0KLQ0KLSAgICAgICAgICAgIC8vIEFwcGx5IHRoZSB0cmFuc2Zvcm1hdGlvbg0KLSAgICAgICAgICAgIGRvdWJsZSByZXN1bHQgPSAoaW5wdXQgKyAtaW5wdXRDZW50ZXIpICogc2NhbGUgKyBvdXRwdXRDZW50ZXI7DQotDQotICAgICAgICAgICAgLy8gQ29uc3RyYWluIHRvIHRoZSByZXN1bHQgcmFuZ2UNCi0gICAgICAgICAgICByZXR1cm4gbWF4KG1pbihyZXN1bHQsIG91dHB1dE1heCksIG91dHB1dE1pbik7DQotICAgICAgICB9DQotDQotCS8qKg0KLQkgKiBUYW5rIGRyaXZlIHVzaW5nIHRoZSBLaW5lY3QuDQotCSAqLw0KLQl2b2lkIEF1dG9ub21vdXModm9pZCkNCi0Jew0KLQkJZG91YmxlIGxlZnRBeGlzLCByaWdodEF4aXM7DQotCQlkb3VibGUgbGVmdEFuZ2xlLCByaWdodEFuZ2xlLCBoZWFkQW5nbGUsIHJpZ2h0TGVnQW5nbGUsIGxlZnRMZWdBbmdsZSwgcmlnaHRMZWdZWiwgbGVmdExlZ1laPTA7DQotCQlib29sIGRhdGFXaXRoaW5FeHBlY3RlZFJhbmdlOw0KLQkJYm9vbCBidXR0b25zWzhdOw0KLQ0KLQkJDQotCQl3aGlsZSAoSXNBdXRvbm9tb3VzKCkpDQotCQl7DQotCQkJLyogT25seSBwcm9jZXNzIGRhdGEgaWYgc2tlbGV0b24gaXMgdHJhY2tlZCAqLw0KLQkJCWlmIChraW5lY3QtPkdldFRyYWNraW5nU3RhdGUoKSA9PSBLaW5lY3Q6OmtUcmFja2VkKSB7DQotCQkJDQotCQkJCQkJCS8qIERldGVybWluZSBhbmdsZSBvZiBlYWNoIGFybSBhbmQgbWFwIHRvIHJhbmdlIC0xLDEgKi8NCi0JCQkgICAgICAgICAgICAgICAgbGVmdEFuZ2xlID0gQW5nbGVYWShraW5lY3QtPkdldFNrZWxldG9uKCkuR2V0U2hvdWxkZXJMZWZ0KCksIGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRXcmlzdExlZnQoKSwgdHJ1ZSk7DQotCQkJICAgICAgICAgICAgICAgIHJpZ2h0QW5nbGUgPSBBbmdsZVhZKGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRTaG91bGRlclJpZ2h0KCksIGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRXcmlzdFJpZ2h0KCksIGZhbHNlKTsNCi0JCQkgICAgICAgICAgICAgICAgbGVmdEF4aXMgPSBDb2VyY2VUb1JhbmdlKGxlZnRBbmdsZSwgLTcwLCA3MCwgLTEsIDEpOw0KLQkJCSAgICAgICAgICAgICAgICByaWdodEF4aXMgPSBDb2VyY2VUb1JhbmdlKHJpZ2h0QW5nbGUsIC03MCwgNzAsIC0xLCAxKTsNCi0NCi0JCQkJCQkJLyogQ2hlY2sgaWYgYXJtcyBhcmUgd2l0aGluIHZhbGlkIHJhbmdlIGFuZCBhdCBhcHByb3hpbWF0ZWx5IHRoZSBzYW1lIHotdmFsdWUgKi8NCi0JCQkgICAgICAgICAgICAgICAgZGF0YVdpdGhpbkV4cGVjdGVkUmFuZ2UgPSAobGVmdEFuZ2xlIDwgQVJNX01BWF9BTkdMRSkgJiYgKGxlZnRBbmdsZSA+IEFSTV9NSU5fQU5HTEUpDQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChyaWdodEFuZ2xlIDwgQVJNX01BWF9BTkdMRSkgJiYgKHJpZ2h0QW5nbGUgPiBBUk1fTUlOX0FOR0xFKTsNCi0JCQkgICAgICAgICAgICAgICAgZGF0YVdpdGhpbkV4cGVjdGVkUmFuZ2UgPSBkYXRhV2l0aGluRXhwZWN0ZWRSYW5nZSAmJg0KLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5TYW1lWlBsYW5lKGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRTaG91bGRlckxlZnQoKSwNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5lY3QtPkdldFNrZWxldG9uKCkuR2V0V3Jpc3RMZWZ0KCksDQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWl9QTEFORV9UT0xFUkFOQ0UpICYmDQotCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJblNhbWVaUGxhbmUoa2luZWN0LT5HZXRTa2VsZXRvbigpLkdldFNob3VsZGVyUmlnaHQoKSwNCi0JCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraW5lY3QtPkdldFNrZWxldG9uKCkuR2V0V3Jpc3RSaWdodCgpLA0KLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpfUExBTkVfVE9MRVJBTkNFKTsNCi0JCQkJCQkJDQotCQkJCQkJCS8qIERldGVybWluZSB0aGUgaGVhZCBhbmdsZSBhbmQgdXNlIGl0IHRvIHNldCB0aGUgSGVhZCBidXR0b25zICovDQotCQkJICAgICAgICAgICAgICAgIGhlYWRBbmdsZSA9IEFuZ2xlWFkoa2luZWN0LT5HZXRTa2VsZXRvbigpLkdldFNob3VsZGVyQ2VudGVyKCksIGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRIZWFkKCksIGZhbHNlKTsNCi0JCQkgICAgICAgICAgICAgICAgYnV0dG9uc1swXSA9IGhlYWRBbmdsZSA+IEhFQURfTEVGVDsNCi0JCQkgICAgICAgICAgICAgICAgYnV0dG9uc1sxXSA9IGhlYWRBbmdsZSA8IEhFQURfUklHSFQ7DQotDQotCQkJCQkJCS8qIENhbGN1bGF0ZSB0aGUgbGVnIGFuZ2xlcyBpbiB0aGUgWFkgcGxhbmUgYW5kIHVzZSB0aGVtIHRvIHNldCB0aGUgTGVnIE91dCBidXR0b25zICovDQotCQkJICAgICAgICAgICAgICAgIGxlZnRMZWdBbmdsZSA9IEFuZ2xlWFkoa2luZWN0LT5HZXRTa2VsZXRvbigpLkdldEhpcExlZnQoKSwga2luZWN0LT5HZXRTa2VsZXRvbigpLkdldEFua2xlTGVmdCgpLCB0cnVlKTsNCi0JCQkgICAgICAgICAgICAgICAgcmlnaHRMZWdBbmdsZSA9IEFuZ2xlWFkoa2luZWN0LT5HZXRTa2VsZXRvbigpLkdldEhpcFJpZ2h0KCksIGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRBbmtsZVJpZ2h0KCksIGZhbHNlKTsNCi0JCQkgICAgICAgICAgICAgICAgYnV0dG9uc1syXSA9IGxlZnRMZWdBbmdsZSA+IExFR19PVVQ7DQotCQkJICAgICAgICAgICAgICAgIGJ1dHRvbnNbM10gPSByaWdodExlZ0FuZ2xlID4gTEVHX09VVDsNCi0NCi0JCQkJCQkJLyogQ2FsY3VsYXRlIHRoZSBsZWcgYW5nbGUgaW4gdGhlIFlaIHBsYW5lIGFuZCB1c2UgdGhlbSB0byBzZXQgdGhlIExlZyBGb3J3YXJkIGFuZCBMZWcgQmFjayBidXR0b25zICovDQotCQkJICAgICAgICAgICAgICAgIGxlZnRMZWdZWiA9IEFuZ2xlWVooa2luZWN0LT5HZXRTa2VsZXRvbigpLkdldEhpcExlZnQoKSwga2luZWN0LT5HZXRTa2VsZXRvbigpLkdldEFua2xlTGVmdCgpLCBmYWxzZSk7DQotCQkJICAgICAgICAgICAgICAgIHJpZ2h0TGVnWVogPSBBbmdsZVlaKGtpbmVjdC0+R2V0U2tlbGV0b24oKS5HZXRIaXBSaWdodCgpLCBraW5lY3QtPkdldFNrZWxldG9uKCkuR2V0QW5rbGVSaWdodCgpLCBmYWxzZSk7DQotCQkJICAgICAgICAgICAgICAgIGJ1dHRvbnNbNF0gPSByaWdodExlZ1laIDwgTEVHX0ZPUldBUkQ7DQotCQkJICAgICAgICAgICAgICAgIGJ1dHRvbnNbNV0gPSByaWdodExlZ1laID4gTEVHX0JBQ0tXQVJEOw0KLQkJCSAgICAgICAgICAgICAgICBidXR0b25zWzZdID0gcmlnaHRMZWdZWiA8IExFR19GT1JXQVJEOw0KLQkJCSAgICAgICAgICAgICAgICBidXR0b25zWzddID0gcmlnaHRMZWdZWiA+IExFR19CQUNLV0FSRDsNCi0NCi0JCQkgICAgICAgICAgICAgICAgaWYgKGRhdGFXaXRoaW5FeHBlY3RlZFJhbmdlKXsNCi0JCQkJCQkJCS8qKg0KLQkJCQkJCQkJICogRHJpdmVzIHVzaW5nIHRoZSBLaW5lY3QgYXhlcyBzY2FsZWQgdG8gMS8zIHBvd2VyDQotCQkJCQkJCQkgKiBBeGVzIGFyZSBpbnZlcnRlZCBzbyBhcm1zIHVwID09IGpveXN0aWNrIHB1c2hlZCBhd2F5IGZyb20geW91DQotCQkJCQkJCQkgKi8NCi0JCQkgICAgICAgICAgICAgICAgICAgIG15Um9ib3QuVGFua0RyaXZlKC1sZWZ0QXhpcyouMzMsIC1yaWdodEF4aXMqLjMzKTsNCi0JCQkJCQkJCQ0KLQkJCQkJCQkJLyoqDQotCQkJCQkJCQkgKiBEbyBzb21ldGhpbmcgd2l0aCBib29sZWFuICJidXR0b25zIiBoZXJlDQotCQkJCQkJCQkgKi8NCi0NCi0JCQkJCQkJCS8qIE9wdGlvbmFsIFNtYXJ0RGFzaGJvYXJkIGRpc3BsYXkgb2YgS2luZWN0IHZhbHVlcyAqLw0KLQkJCQkJCQkJLy9kYXNoLT5QdXREb3VibGUoIkxlZnQgQXJtIiwgLWxlZnRBeGlzKTsNCi0JCQkJCQkJCS8vZGFzaC0+UHV0RG91YmxlKCJSaWdodCBBcm0iLCAtcmlnaHRBeGlzKTsNCi0JCQkJCQkJCS8vZGFzaC0+UHV0Qm9vbGVhbigiSGVhZCBMZWZ0IiwgYnV0dG9uc1swXSk7DQotCQkJCQkJCQkvL2Rhc2gtPlB1dEJvb2xlYW4oIkhlYWQgUmlnaHQiLCBidXR0b25zWzFdKTsNCi0JCQkJCQkJCS8vLi4uZXRjLi4uDQotCQkJICAgICAgICAgICAgICAgIH0NCi0JCQkgICAgICAgICAgICAgICAgZWxzZXsNCi0JCQkgICAgICAgICAgICAgICAgICAgIA0KLQkJCQkJCQkJLyogQXJtcyBhcmUgb3V0c2lkZSB2YWxpZCByYW5nZSAqLw0KLQ0KLQkJCQkJCQkJbXlSb2JvdC5UYW5rRHJpdmUoMC4wLCAwLjApOw0KLQ0KLQkJCQkJCQkJLyoqDQotCQkJCQkJCQkgKiBEbyBkZWZhdWx0IGJlaGF2aW9yIHdpdGggYm9vbGVhbiAiYnV0dG9ucyIgaGVyZQ0KLQkJCQkJCQkJICovDQotDQotCQkJCQkJCQkvKiBPcHRpb25hbCBTbWFydERhc2hib2FyZCBkaXNwbGF5IG9mIEtpbmVjdCB2YWx1ZXMgKi8NCi0JCQkJCQkJCS8vZGFzaC0+UHV0RG91YmxlKCJMZWZ0IEFybSIsIDApOw0KLQkJCQkJCQkJLy9kYXNoLT5QdXREb3VibGUoIlJpZ2h0IEFybSIsIDApOw0KLQkJCQkJCQkJLy9kYXNoLT5QdXRCb29sZWFuKCJIZWFkIExlZnQiLCBmYWxzZSk7DQotCQkJCQkJCQkvL2Rhc2gtPlB1dEJvb2xlYW4oIkhlYWQgUmlnaHQiLCBmYWxzZSk7DQotCQkJCQkJCQkvLy4uLmV0Yy4uLg0KLQkJCSAgICAgICAgICAgICAgICB9DQotCQkJICAgICAgICAgICAgfQ0KLQkJCSAgICAgICAgICAgIGVsc2V7DQotCQkJICAgICAgICAgICAgICAgIA0KLQkJCQkJCQkvKiBTa2VsZXRvbiBub3QgdHJhY2tlZCAqLw0KLQ0KLQkJCQkJCQlteVJvYm90LlRhbmtEcml2ZSgwLjAsIDAuMCk7DQotDQotCQkJCQkJCS8qKg0KLQkJCQkJCQkqIERvIGRlZmF1bHQgYmVoYXZpb3Igd2l0aCBib29sZWFuICJidXR0b25zIiBoZXJlDQotCQkJCQkJCSovDQotDQotCQkJCQkJCS8qIE9wdGlvbmFsIFNtYXJ0RGFzaGJvYXJkIGRpc3BsYXkgb2YgS2luZWN0IHZhbHVlcyAqLw0KLQkJCQkJCQkvL2Rhc2gtPlB1dERvdWJsZSgiTGVmdCBBcm0iLCAwKTsNCi0JCQkJCQkJLy9kYXNoLT5QdXREb3VibGUoIlJpZ2h0IEFybSIsIDApOw0KLQkJCQkJCQkvL2Rhc2gtPlB1dEJvb2xlYW4oIkhlYWQgTGVmdCIsIGZhbHNlKTsNCi0JCQkJCQkJLy9kYXNoLT5QdXRCb29sZWFuKCJIZWFkIFJpZ2h0IiwgZmFsc2UpOw0KLQkJCQkJCQkvLy4uLmV0Yy4uLg0KLQkJCSAgICAgICAgICAgIH0NCi0JCQlXYWl0KDAuMDEpOw0KLQkJfQ0KLQ0KLQl9DQotDQotCS8qKg0KLQkgKiBSdW5zIHRoZSBtb3RvcnMgd2l0aCBhcmNhZGUgc3RlZXJpbmcuIA0KLQkgKi8NCi0Jdm9pZCBPcGVyYXRvckNvbnRyb2wodm9pZCkNCi0Jew0KLQkJbXlSb2JvdC5TZXRTYWZldHlFbmFibGVkKHRydWUpOw0KLQkJd2hpbGUgKElzT3BlcmF0b3JDb250cm9sKCkpDQotCQl7DQotCQkJbXlSb2JvdC5BcmNhZGVEcml2ZShzdGljayk7IC8vIGRyaXZlIHdpdGggYXJjYWRlIHN0eWxlICh1c2UgcmlnaHQgc3RpY2spDQotCQkJV2FpdCgwLjAwNSk7CQkJCS8vIHdhaXQgZm9yIGEgbW90b3IgdXBkYXRlIHRpbWUNCi0JCX0NCi0JfQ0KLX07DQotDQotU1RBUlRfUk9CT1RfQ0xBU1MoUm9ib3REZW1vKTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0R2VzdHVyZXNTYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0R2VzdHVyZXNTYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdEdlc3R1cmVzU2FtcGxlL3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0R2VzdHVyZXNTYW1wbGUvc2FtcGxlLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmQ2NmY2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RHZXN0dXJlc1NhbXBsZS9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1GUkMgS2luZWN0IEdlc3R1cmVzIFNhbXBsZQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotVGhpcyBwcm9ncmFtIGRlbW9uc3RyYXRlcyByb2JvdCBzaWRlIHByb2Nlc3Npbmcgb2YgdGhlIEtpbmVjdCBkYXRhDQotdXNpbmcgQysrLiBUaGlzIHByb2dyYW0gaW1wbGVtZW50cyB0aGUgc2FtZSBnZXN0dXJlcyB0aGF0IGFyZSBpbiB0aGUNCi1GUkMgS2luZWN0IFNlcnZlciBhbmQgYXJlIGRlc2NyaWJlZCBpbiB0aGUgR2V0dGluZyBTdGFydGVkIHdpdGggdGhlDQotTWljcm9zb2Z0IEtpbmVjdCBmb3IgRlJDIGRvY3VtZW50LiBUaGlzIHByb2dyYW0gbWFwcyB0aGUgcmVzdWx0aW5nDQotYXhlcyBmcm9tIGVhY2ggYXJtIHRvIHRhbmsgZHJpdmUgYXQgMS8zIHBvd2VyLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvLmNwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS8uY3Byb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwM2U0Y2QuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS8uY3Byb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi08c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmxhbmd1YWdlLm1hcHBpbmciLz4NCi08L2Njb25maWd1cmF0aW9uPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08L2Nwcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvLnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGFlMWE0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPktpbmVjdFN0aWNrRXhhbXBsZTwvbmFtZT4NCi0JPGNvbW1lbnQ+PC9jb21tZW50Pg0KLQk8cHJvamVjdHM+DQotCTwvcHJvamVjdHM+DQotCTxidWlsZFNwZWM+DQotCQk8YnVpbGRDb21tYW5kPg0KLQkJCTxuYW1lPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JidWlsZGVyPC9uYW1lPg0KLQkJCTxhcmd1bWVudHM+DQotCQkJPC9hcmd1bWVudHM+DQotCQk8L2J1aWxkQ29tbWFuZD4NCi0JPC9idWlsZFNwZWM+DQotCTxuYXR1cmVzPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndybmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3Jjb3JlbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY2NuYXR1cmU8L25hdHVyZT4NCi0JPC9uYXR1cmVzPg0KLTwvcHJvamVjdERlc2NyaXB0aW9uPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlLy53cm1ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRkN2Y4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvLndybWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0jIFRoZSBmaWxlICIud3JtYWtlZmlsZSIgaXMgdGhlIHRlbXBsYXRlIHVzZWQgYnkgdGhlIFdpbmQgUml2ZXIgV29ya2JlbmNoIHRvDQotIyBnZW5lcmF0ZSB0aGUgbWFrZWZpbGVzIG9mIHRoaXMgcHJvamVjdC4gQWRkIHVzZXItc3BlY2lmaWMgYnVpbGQgdGFyZ2V0cyBhbmQNCi0jIG1ha2UgcnVsZXMgb25seSghKSBpbiB0aGlzIHByb2plY3QncyAiLndybWFrZWZpbGUiIGZpbGUuIFRoZXNlIHdpbGwgdGhlbiBiZQ0KLSMgYXV0b21hdGljYWxseSBkdW1wZWQgaW50byB0aGUgbWFrZWZpbGVzLg0KLQ0KLVdJTkRfSE9NRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfSE9NRSkpDQotV0lORF9CQVNFIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9CQVNFKSkNCi1XSU5EX1VTUiA6PSAkKHN1YnN0IFwsLywkKFdJTkRfVVNSKSkNCi0NCi1hbGwgOiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLV9jbGVhbiA6Og0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCINCi0NCi0lSURFX0dFTkVSQVRFRCUNCi0NCi0taW5jbHVkZSAkKFBSSl9ST09UX0RJUikvKi5tYWtlZmlsZQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGV4dGVybmFsX2J1aWxkICQoUFJPSkVDVF9UQVJHRVRTKQ0KLQlAZWNobyAibWFrZTogYnVpbHQgdGFyZ2V0cyBvZiBgcHdkYCINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkDQotZXh0ZXJuYWxfYnVpbGQgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlLy53cnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1MDVlZDIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS8ud3Jwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlZYX0NQVV9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ1BVIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0wiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9QQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNDX0FSQ0hfU1BFQyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJQQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlMiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSItdFBQQzYwM0ZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9Ii1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IktpbmVjdFN0aWNrRXhhbXBsZSIgcGFzc2VkPSJmYWxzZSIgdGFyZ2V0bmFtZT0iS2luZWN0U3RpY2tFeGFtcGxlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxidWlsZHRhcmdldHJlZmVyZW5jZSBuYW1lPSIvS2luZWN0U3RpY2tFeGFtcGxlL0tpbmVjdFN0aWNrRXhhbXBsZV9wYXJ0aWFsSW1hZ2UiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIiBuYW1lPSJLaW5lY3RTdGlja0V4YW1wbGVfcGFydGlhbEltYWdlIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9IktpbmVjdFN0aWNrRXhhbXBsZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvS2luZWN0U3RpY2tFeGFtcGxlIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlL015Um9ib3QuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS9NeVJvYm90LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDUyMDZjYy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vS2luZWN0U3RpY2tFeGFtcGxlL015Um9ib3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotI2luY2x1ZGUgIldQSUxpYi5oIg0KLQ0KLS8qKg0KLSAqIFRoaXMgY29kZSBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiB0aGUgS2luZWN0U3RpY2sNCi0gKiBjbGFzcyB0byBkcml2ZSB5b3VyIHJvYm90IGR1cmluZyB0aGUgYXV0b25vbW91cyBtb2RlDQotICogb2YgdGhlIG1hdGNoLCBtYWtpbmcgaXQgYSBoeWJyaWQgbWFjaGluZS4gVGhlIGdlc3R1cmVzDQotICogdXNlZCB0byBjb250cm9sIHRoZSBLaW5lY3RTdGljayBjbGFzcyBhcmUgZGVzY3JpYmVkIGluIHRoZQ0KLSAqICJHZXR0aW5nIFN0YXJ0ZWQgd2l0aCB0aGUgTWljcm9zb2Z0IEtpbmVjdCBmb3IgRlJDIiBkb2N1bWVudA0KLSAqLyANCi1jbGFzcyBSb2JvdERlbW8gOiBwdWJsaWMgU2ltcGxlUm9ib3QNCi17DQotCVJvYm90RHJpdmUgbXlSb2JvdDsgLy8gcm9ib3QgZHJpdmUgc3lzdGVtDQotCUtpbmVjdFN0aWNrIGxlZnRBcm07CS8vVGhlIExlZnQgYXJtIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCBhcyBzdGljayAxDQotCUtpbmVjdFN0aWNrIHJpZ2h0QXJtOyAJLy9UaGUgUmlnaHQgYXJtIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCBhcyBzdGljayAyDQotCUpveXN0aWNrIHN0aWNrOwkJCS8vSm95c3RpY2sgZm9yIHRlbGVvcCBjb250cm9sDQotDQotcHVibGljOg0KLQlSb2JvdERlbW8odm9pZCk6DQotCQlteVJvYm90KDEsIDIpLAkvLyB0aGVzZSBtdXN0IGJlIGluaXRpYWxpemVkIGluIHRoZSBzYW1lIG9yZGVyDQotCQlsZWZ0QXJtKDEpLAkJLy8gYXMgdGhleSBhcmUgZGVjbGFyZWQgYWJvdmUuDQotCQlyaWdodEFybSgyKSwNCi0JCXN0aWNrKDEpDQotCXsNCi0JCW15Um9ib3QuU2V0RXhwaXJhdGlvbigwLjEpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBEcml2ZSBsZWZ0ICYgcmlnaHQgbW90b3JzIGZvciAyIHNlY29uZHMgdGhlbiBzdG9wDQotCSAqLw0KLQl2b2lkIEF1dG9ub21vdXModm9pZCkNCi0Jew0KLQkJYm9vbCBleGFtcGxlQnV0dG9uOw0KLQkNCi0JCS8qQSBsb29wIGlzIG5lY2Vzc2FyeSB0byByZXRyaWV2ZSB0aGUgbGF0ZXN0IEtpbmVjdCBkYXRhIGFuZCB1cGRhdGUgdGhlIG1vdG9ycyAqLw0KLQkJd2hpbGUoSXNBdXRvbm9tb3VzKCkpew0KLSAgICAgICAgICAgIC8qKg0KLSAgICAgICAgICAgICAqIEtpbmVjdFN0aWNrIGF4aXMgdmFsdWVzIGFyZSBhY2Nlc3NlZCBpZGVudGljYWxseSB0byB0aG9zZSBvZiBhIGpveXN0aWNrDQotICAgICAgICAgICAgICogSW4gdGhpcyBleGFtcGxlIHRoZSBheGlzIHZhbHVlcyBoYXZlIGJlZW4gc2NhbGVkIGJ5IH4xLzMgZm9yIHNhZmVyDQotICAgICAgICAgICAgICogb3BlcmF0aW9uIHdoZW4gbGVhcm5pbmcgdG8gdXNlIHRoZSBLaW5lY3QuDQotICAgICAgICAgICAgICovDQotICAgICAgICAgICAgbXlSb2JvdC5UYW5rRHJpdmUobGVmdEFybS5HZXRZKCkqLjMzLCByaWdodEFybS5HZXRZKCkqLjMzKTsNCi0NCi0gICAgICAgICAgICAvKiBBbiBhbHRlcm5hdGl2ZSBpbGx1c3RyYXRpbmcgdGhhdCB0aGUgS2luZWN0U3RpY2sgY2FuIGJlIHVzZWQganVzdCBsaWtlIGEgSm95c3RpY2sgKi8NCi0gICAgICAgICAgICAvL215Um9ib3QuVGFua0RyaXZlKGxlZnRBcm0sIHJpZ2h0QXJtKTsNCi0NCi0gICAgICAgICAgICAvKkV4YW1wbGUgaWxsdXN0cmF0aW5nIHRoYXQgYWNjZXNzaW5nIGJ1dHRvbnMgaXMgaWRlbnRpY2FsIHRvIGEgSm95c3RpY2sgKi8NCi0gICAgICAgICAgICBleGFtcGxlQnV0dG9uID0gbGVmdEFybS5HZXRSYXdCdXR0b24oMSk7DQotDQotICAgICAgICAgICAgV2FpdCguMDEpOyAvKiBEZWxheSAxMG1zIHRvIHJlZHVjZSBwcm9jZXNzaW5nIGxvYWQgKi8NCi0JCX0NCi0JfQ0KLQ0KLQkvKioNCi0JICogUnVucyB0aGUgbW90b3JzIHdpdGggYXJjYWRlIHN0ZWVyaW5nLiANCi0JICovDQotCXZvaWQgT3BlcmF0b3JDb250cm9sKHZvaWQpDQotCXsNCi0JCW15Um9ib3QuU2V0U2FmZXR5RW5hYmxlZCh0cnVlKTsNCi0JCXdoaWxlIChJc09wZXJhdG9yQ29udHJvbCgpKQ0KLQkJew0KLQkJCW15Um9ib3QuQXJjYWRlRHJpdmUoc3RpY2spOyAvLyBkcml2ZSB3aXRoIGFyY2FkZSBzdHlsZSAodXNlIHJpZ2h0IHN0aWNrKQ0KLQkJCVdhaXQoMC4wMDUpOwkJCQkvLyB3YWl0IGZvciBhIG1vdG9yIHVwZGF0ZSB0aW1lDQotCQl9DQotCX0NCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKFJvYm90RGVtbyk7DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS9zYW1wbGUucHJvcGVydGllcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS9zYW1wbGUucHJvcGVydGllcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotcHJvamVjdC50eXBlPURvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QNCi1wbGF0Zm9ybS5pZD1WeFdvcmtzDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS9zYW1wbGUudHh0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0tpbmVjdFN0aWNrRXhhbXBsZS9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzE5M2ZiLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9LaW5lY3RTdGlja0V4YW1wbGUvc2FtcGxlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotRlJDIEtpbmVjdFN0aWNrIEV4YW1wbGUNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLVRoaXMgcHJvZ3JhbSBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiB0aGUgS2luZWN0U3RpY2sNCi1jbGFzcyBmb3IgdGhlIEZSQyAyMDEyIGdhbWUuIFRoaXMgcHJvZ3JhbSB1c2VzIHRoZQ0KLUtpbmVjdFN0aWNrcyB0byB0YW5rIGRyaXZlIGEgMiBtb3RvciByb2JvdCBhbmQgc2hvd3MNCi1hbiBleGFtcGxlIG9mIGFjY2Vzc2luZyB0aGUgS2luZWN0U3RpY2sgYnV0dG9uLiBUaGUNCi1LaW5lY3RTdGljayBnZXN0dXJlcyBhcmUgZG9jdW1lbnRlZCBpbiB0aGUgIkdldHRpbmcNCi1TdGFydGVkIHdpdGggdGhlIE1pY3Jvc29mdCBLaW5lY3QgZm9yIEZSQyIgZG9jdW1lbnQuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy5jcHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9MaW5lVHJhY2tlclNhbXBsZS8uY3Byb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwM2U0Y2QuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPD9maWxlVmVyc2lvbiA0LjAuMD8+DQotDQotPGNwcm9qZWN0Pg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyI+DQotPGNjb25maWd1cmF0aW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiPg0KLTxzdG9yYWdlTW9kdWxlIGJ1aWxkU3lzdGVtSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHRDb25maWdEYXRhUHJvdmlkZXIiIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyIgbmFtZT0iQ29uZmlndXJhdGlvbiI+DQotPGV4dGVybmFsU2V0dGluZ3MvPg0KLTxleHRlbnNpb25zPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JTY2FubmVySW5mb1Byb3ZpZGVyIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuU2Nhbm5lckluZm9Qcm92aWRlciIvPg0KLTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JFbGZQYXJzZXJWeFdvcmtzIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTwvZXh0ZW5zaW9ucz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmV4dGVybmFsU2V0dGluZ3MiLz4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUucGF0aGVudHJ5Ij4NCi08cGF0aGVudHJ5IGtpbmQ9InNyYyIgcGF0aD0iIi8+DQotPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSX0NPTlRBSU5FUiIvPg0KLTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLmJ1aWxkLm1vZGVsLldSX1VTRVJERUZJTkVEX0NPTlRBSU5FUiIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ic2Nhbm5lckNvbmZpZ3VyYXRpb24iLz4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0idXNlcmRlZmluZWRDb250YWluZXIiPg0KLTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLTxpbml0aWFsaXplZCB2YWx1ZT0idHJ1ZSIvPg0KLTwvc3RvcmFnZU1vZHVsZT4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUubGFuZ3VhZ2UubWFwcGluZyIvPg0KLTwvY2NvbmZpZ3VyYXRpb24+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTwvY3Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy5wcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjA0NzE3Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9MaW5lVHJhY2tlclNhbXBsZS8ucHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHByb2plY3REZXNjcmlwdGlvbj4NCi0JPG5hbWU+TGluZVRyYWNrZXJTYW1wbGU8L25hbWU+DQotCTxjb21tZW50PjwvY29tbWVudD4NCi0JPHByb2plY3RzPg0KLQk8L3Byb2plY3RzPg0KLQk8YnVpbGRTcGVjPg0KLQkJPGJ1aWxkQ29tbWFuZD4NCi0JCQk8bmFtZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyYnVpbGRlcjwvbmFtZT4NCi0JCQk8YXJndW1lbnRzPg0KLQkJCTwvYXJndW1lbnRzPg0KLQkJPC9idWlsZENvbW1hbmQ+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cm5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyY29yZW5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNjbmF0dXJlPC9uYXR1cmU+DQotCTwvbmF0dXJlcz4NCi08L3Byb2plY3REZXNjcmlwdGlvbj4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvLndybWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExZGQ3ZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvLndycHJvamVjdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjUwYjMzZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI1OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTx3cnhtbD4NCi0gICAgPHByb3BlcnRpZXMgcGxhdGZvcm09IlZ4V29ya3MiIHBsYXRmb3JtX25hbWU9InZ4d29ya3MtNi4zIiByb290PSIxIiB0eXBlPSJEb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0Ii8+DQotICAgIDxhdHRyaWJ1dGVzPg0KLSAgICAgICAgPG1hcEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUk9KRUNUX1RZUEUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iREVGSU5FUyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJFWFBBTkRfREJHIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98REVGSU5FUyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98RVhQQU5EX0RCRyIgdmFsdWU9IjAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfFBST0pFQ1RfVFlQRSIgdmFsdWU9IkRLTSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmdudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDMzJkaWFiIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJWWF9DUFVfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNQVSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfUEFUSCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDQ19BUkNIX1NQRUMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUEFUSCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJTIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9Ii10UFBDRkg6dnh3b3JrczYzIC1Yc3Rtdy1zbG93IC1EUFBDMzJfZnA2MHgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9Ii1taGFyZC1mbG9hdCAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1EUFBDMzJfZnA2MHgiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iLXRQUEM2MDNGSDp2eHdvcmtzNjMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSItbWNwdT02MDMgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwMyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwMyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29scyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMtQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQysrLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpbmtlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQYXJ0aWFsIEltYWdlIExpbmtlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaWJyYXJpYW4iLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQXNzZW1ibGVyIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgIC14YXNzZW1ibGVyLXdpdGgtY3BwIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxzaWdzIiB2YWx1ZT0iKi5zIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8c2lncyIgdmFsdWU9IiouY3BwOyouQzsqLmN4eDsqLmNjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YZm9yY2UtZGVjbGFyYXRpb25zICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8c2lncyIgdmFsdWU9IiouYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWFycHBjICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7bm1wcGMgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLWZkb2xsYXJzLWluLWlkZW50aWZpZXJzIC1XYWxsICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1UICQoV0lORF9CQVNFKS90YXJnZXQvaC90b29sL2dudS9sZHNjcmlwdHMvbGluay5PVVQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGNtZCIgdmFsdWU9IiVtYWtlcHJlZml4JSBtYWtlIC0tbm8tcHJpbnQtZGlyZWN0b3J5Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xkZWZhdWx0U3BlYyIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJkaWFiIiB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmdudSIgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpclJvb3QiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xzcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8aW50QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0RW5hYmxlZCIgdmFsdWU9IjEiLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEZvckJ1aWxkU3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCdWlsZFRhcmdldENlbnRyaWMiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICA8L21hcEF0dHJpYnV0ZT4NCi0gICAgPC9hdHRyaWJ1dGVzPg0KLSAgICA8YnVpbGR0YXJnZXRzPg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iTGlua2VyIiBuYW1lPSJTaW1wbGVUZW1wbGF0ZSIgcGFzc2VkPSJmYWxzZSIgdGFyZ2V0bmFtZT0iU2ltcGxlVGVtcGxhdGUiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGJ1aWxkdGFyZ2V0cmVmZXJlbmNlIG5hbWU9Ii9MaW5lVHJhY2tlclNhbXBsZS9TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIiBuYW1lPSJTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiIHBhc3NlZD0idHJ1ZSIgdGFyZ2V0bmFtZT0iU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxmb2xkZXIgbmFtZT0iL0xpbmVUcmFja2VyU2FtcGxlIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvTXlSb2JvdC5jcHAgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvTXlSb2JvdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4MzQ5NjIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlL015Um9ib3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTcyICswLDAgQEAKLSNpbmNsdWRlICJXUElMaWIuaCINCi0NCi0vKioNCi0gKiBTYW1wbGUgbGluZSB0cmFja2luZyBjbGFzcyBmb3IgRklSU1QgMjAxMSBDb21wZXRpdGlvbg0KLSAqIEp1bXBlcnMgb24gZHJpdmVyIHN0YXRpb24gZGlnaXRhbCBJL08gcGlucyBzZWxlY3QgdGhlIG9wZXJhdGluZyBtb2RlOg0KLSAqIFRoZSBEcml2ZXIgU3RhdGlvbiBkaWdpdGFsIGlucHV0IDEgc2VsZWN0IHdoZXRoZXIgdGhlIGNvZGUgdHJhY2tzIHRoZSBzdHJhaWdodA0KLSAqIGxpbmUgb3IgdGhlIGZvcmtlZCBsaW5lLiBEcml2ZXIgc3RhdGlvbiBkaWdpdGFsIGlucHV0IDIgc2VsZWN0cyB3aGV0aGVyIHRoZQ0KLSAqIGNvZGUgdGFrZXMgdGhlIGxlZnQgb3IgcmlnaHQgZm9yay4gWW91IGNhbiBzZXQgdGhlc2UgaW5wdXRzIHVzaW5nIGp1bXBlcnMgb24NCi0gKiB0aGUgVVNCIEkvTyBtb2R1bGUgb3IgaW4gdGhlIGRyaXZlciBzdGF0aW9uIEkvTyBDb25maWd1cmF0aW9uIHBhbmUgKGlmIHRoZXJlDQotICogaXMgbm8gRGlnaXRhbCBJL08gbW9kdWxlIGluc3RhbGxlZC4NCi0gKg0KLSAqIFNpbmNlIHRoZXJlIGlzIHRoZSBmb3JrIHRvIGNvbnRlbmQgd2l0aCwgdGhlIGNvZGUgdHJhY2tzIHRoZSBlZGdlIG9mIHRoZSBsaW5lDQotICogdXNpbmcgYSB0ZWNobmlxdWUgc2ltaWxhciB0byB0aGF0IHVzZWQgd2l0aCBhIHNpbmdsZS1zZW5zb3IgTGVnbyByb2JvdC4NCi0gKg0KLSAqIFRoaXMgY29kZSB3b3JrZWQgb24gYSBzaW1wbGUgYm90IGJ1aWx0IGZyb20gdGhlIDIwMTEga2l0IGNoYXNzaXMgYW5kIHdlaWdodGVkDQotICogdG8gYmVoYXZlIHNpbWlsYXJseSB0byBjb21wbGV0ZSByb2JvdCBjb21wbGV0ZSB3aXRoIHNjb3JpbmcgbWVjaGFuaXNtcy4gWW91cg0KLSAqIG93biByb2JvdCB3aWxsIGxpa2VseSBiZSBnZWFyZWQgZGlmZmVyZW50bHksIHRoZSBDRyB3aWxsIGJlIGRpZmZlcmVudCwgdGhlDQotICogd2hlZWxzIG1heSBiZSBkaWZmZXJlbnQgLSBzbyBleHBlY3QgdG8gdHVuZSB0aGUgcHJvZ3JhbSBmb3IgeW91ciBvd24gcm9ib3QNCi0gKiBjb25maWd1cmF0aW9uLiBUaGUgdHdvIHBsYWNlcyB0byBkbyB0dW5pbmcgYXJlOg0KLSAqDQotICogZGVmYXVsdFN0ZWVyaW5nR2FpbiAtIHRoaXMgaXMgdGhlIGFtb3VudCBvZiB0dXJuaW5nIGNvcnJlY3Rpb24gYXBwbGllZA0KLSAqIGZvcmtQcm9maWxlICYgc3RyYWlnaHRQcm9maWxlIC0gdGhlc2UgYXJlIHBvd2VyIHByb2ZpbGVzIGFwcGxpZWQgYXQgdmFyaW91cw0KLSAqCXRpbWVzIChvbmUgcG93ZXIgc2V0dGluZyAvIHNlY29uZCBvZiB0cmF2ZWwpIGFzIHRoZSByb2JvdCBtb3ZlcyB0b3dhcmRzDQotICoJdGhlIHdhbGwuDQotICoNCi0gKiBJbiBhZGRpdGlvbjogdGhpcyBwcm9ncmFtIHVzZXMgZGVhZCByZWNrb25pbmcgLSB0aGF0IGlzIGl0IGRyaXZlcyBhdCB2YXJpb3VzDQotICogcG93ZXIgc2V0dGluZ3Mgc28gaXQgd2lsbCBzbG93IGRvd24gYW5kIHN0b3AgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gVGhpcyBpcw0KLSAqIGhpZ2hseSBkZXBlbmRlbnQgb24gcm9ib3Qgd2VpZ2h0LCB3aGVlbCBjaG9pY2UsIGFuZCBiYXR0ZXJ5IHZvbHRhZ2UuIEl0IHdpbGwNCi0gKiBiZWhhdmUgZGlmZmVyZW50bHkgb24gYSBmdWxseSBjaGFyZ2VkIHZzLiBwYXJ0aWFsbHkgY2hhcmdlZCBiYXR0ZXJ5Lg0KLSAqDQotICogVG8gb3ZlcmNvbWUgdGhlc2UgbGltaXRhdGlvbnMsIHlvdSBzaG91bGQgaW52ZXN0aWdhdGUgdGhlIHVzZSBvZiBmZWVkYmFjayB0bw0KLSAqIGhhdmUgcG93ZXIvd2hlZWwgaW5kZXBlbmRlbnQgY29udHJvbCBvZiB0aGUgcHJvZ3JhbS4gRXhhbXBsZXMgb2YgZmVlZGJhY2sNCi0gKiBpbmNsdWRlIHVzaW5nIHdoZWVsIGVuY29kZXJzIHRvIG1lYXN1cmUgdGhlIGRpc3RhbmNlIHRyYXZlbGVkIG9yIHNvbWUga2luZCBvZg0KLSAqIHJhbmdlZmluZGVyIHRvIGRldGVybWluZSB0aGUgZGlzdGFuY2UgdG8gdGhlIHdhbGwuIFdpdGggdGhlc2Ugc2Vuc29ycyBpbnN0YWxsZWQNCi0gKiB5b3VyIHByb2dyYW0gY2FuIGtub3cgcHJlY2lzZWx5IGhvdyBmYXIgZnJvbSB0aGUgd2FsbCBpdCBpcywgYW5kIHNldCB0aGUgc3BlZWRzDQotICogYWNjb3JkaW5nbHkuDQotICoNCi0gKi8NCi1jbGFzcyBSb2JvdERlbW8gOiBwdWJsaWMgU2ltcGxlUm9ib3QNCi17DQotCVJvYm90RHJpdmUgKmRyaXZlOwkJCS8vIHJvYm90IGRyaXZlIGJhc2Ugb2JqZWN0DQotCURpZ2l0YWxJbnB1dCAqbGVmdDsJCQkvLyBkaWdpdGFsIGlucHV0cyBmb3IgbGluZSB0cmFja2luZyBzZW5zb3JzDQotCURpZ2l0YWxJbnB1dCAqbWlkZGxlOw0KLQlEaWdpdGFsSW5wdXQgKnJpZ2h0Ow0KLQlEcml2ZXJTdGF0aW9uICpkczsJCQkvLyBkcml2ZXIgc3RhdGlvbiBvYmplY3QgZm9yIGdldHRpbmcgc2VsZWN0aW9ucw0KLQ0KLXB1YmxpYzoNCi0JLyoNCi0JICogUm9ib3REZW1vIGNvbnN0cnVjdG9yDQotCSAqIFRoaXMgY29kZSBjcmVhdGVzIGluc3RhbmNlcyBvZiB0aGUgb2JqZWN0cyBhbmQgc2V0cyB1cCB0aGUgZHJpdmluZyBkaXJlY3Rpb25zDQotCSAqIGZvciB0aGUgUm9ib3REcml2ZSBvYmplY3QuIE91ciByb2JvdCB3YXMgZ2VhcmVkIHN1Y2ggdGhhdCB3ZSBoYWQgdG8gaW52ZXJ0DQotCSAqIGVhY2ggb2YgdGhlbSBtb3RvciBvdXRwdXRzLiBZb3UgbWF5IG5vdCBuZWVkIHRvIGRvIHRoYXQNCi0JICovDQotCVJvYm90RGVtbygpIHsNCi0JCWRyaXZlID0gbmV3IFJvYm90RHJpdmUoMSwgMik7DQotCQlkcml2ZS0+U2V0SW52ZXJ0ZWRNb3RvcihSb2JvdERyaXZlOjprRnJvbnRSaWdodE1vdG9yLCB0cnVlKTsNCi0JCWRyaXZlLT5TZXRJbnZlcnRlZE1vdG9yKFJvYm90RHJpdmU6OmtGcm9udExlZnRNb3RvciwgdHJ1ZSk7DQotCQlkcml2ZS0+U2V0SW52ZXJ0ZWRNb3RvcihSb2JvdERyaXZlOjprUmVhclJpZ2h0TW90b3IsIHRydWUpOw0KLQkJZHJpdmUtPlNldEludmVydGVkTW90b3IoUm9ib3REcml2ZTo6a1JlYXJMZWZ0TW90b3IsIHRydWUpOw0KLQkJZHJpdmUtPlNldEV4cGlyYXRpb24oMTUpOw0KLQkJbGVmdCA9IG5ldyBEaWdpdGFsSW5wdXQoMSk7DQotCQltaWRkbGUgPSBuZXcgRGlnaXRhbElucHV0KDIpOw0KLQkJcmlnaHQgPSBuZXcgRGlnaXRhbElucHV0KDMpOw0KLQkJZHMgPSBEcml2ZXJTdGF0aW9uOjpHZXRJbnN0YW5jZSgpOwkvLyBkcml2ZXIgc3RhdGlvbiBpbnN0YW5jZSBmb3IgZGlnaXRhbCBJL08NCi0JfQ0KLQkvKioNCi0JICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25jZSBlYWNoIHRpbWUgdGhlIHJvYm90IGVudGVycyBhdXRvbm9tb3VzIG1vZGUuDQotCSAqLw0KLQl2b2lkIEF1dG9ub21vdXMoKSB7DQotCQlkb3VibGUgZGVmYXVsdFN0ZWVyaW5nR2FpbiA9IDAuNjU7CS8vIGRlZmF1bHQgdmFsdWUgZm9yIHN0ZWVyaW5nIGdhaW4NCi0NCi0JCWludCBiaW5hcnlWYWx1ZTsNCi0JCWludCBwcmV2aW91c1ZhbHVlID0gMDsNCi0JCWRvdWJsZSBzdGVlcmluZ0dhaW47DQotDQotCQkvLyB0aGUgcG93ZXIgcHJvZmlsZXMgZm9yIHRoZSBzdHJhaWdodCBhbmQgZm9ya2VkIHJvYm90IHBhdGguIFRoZXkgYXJlDQotCQkvLyBkaWZmZXJlbnQgdG8gbGV0IHRoZSByb2JvdCBkcml2ZSBtb3JlIHNsb3dseSBhcyB0aGUgcm9ib3QgYXBwcm9hY2hlcw0KLQkJLy8gdGhlIGZvcmsgb24gdGhlIGZvcmtlZCBsaW5lIGNhc2UuDQotCQlkb3VibGUgZm9ya1Byb2ZpbGVbXSA9IHswLjcwLCAwLjcwLCAwLjU1LCAwLjYwLCAwLjYwLCAwLjUwLCAwLjQwLCAwLjB9Ow0KLQkJZG91YmxlIHN0cmFpZ2h0UHJvZmlsZVtdID0gezAuNzAsIDAuNzAsIDAuNjAsIDAuNjAsIDAuMzUsIDAuMzUsIDAuMzUsIDAuMH07DQotDQotCQlkb3VibGUgKnBvd2VyUHJvZmlsZTsgIC8vIHRoZSBzZWxlY3RlZCBwb3dlciBwcm9maWxlDQotCQkNCi0JCS8vIHNldCB0aGUgc3RyYWlnaHQgdnMgZm9ya2VkIHBhdGggdmFyaWFibGVzIGFzIHJlYWQgZnJvbSB0aGUgRFMgZGlnaXRhbA0KLQkJLy8gaW5wdXRzIG9yIHRoZSBJL08gU2V0dXAgcGFuZWwgb24gdGhlIGRyaXZlciBzdGF0aW9uLg0KLQkJYm9vbCBzdHJhaWdodExpbmUgPSBkcy0+R2V0RGlnaXRhbEluKDEpOw0KLQkJcG93ZXJQcm9maWxlID0gKHN0cmFpZ2h0TGluZSkgPyBzdHJhaWdodFByb2ZpbGUgOiBmb3JrUHJvZmlsZTsNCi0JCWRvdWJsZSBzdG9wVGltZSA9IChzdHJhaWdodExpbmUpID8gMi4wIDogNC4wOw0KLQkJYm9vbCBnb0xlZnQgPSAhZHMtPkdldERpZ2l0YWxJbigyKSAmJiAhc3RyYWlnaHRMaW5lOw0KLQkJcHJpbnRmKCJTdHJhaWdodExpbmU6ICVkXG4iLCBzdHJhaWdodExpbmUpOw0KLQkJcHJpbnRmKCJHb2luZ0xlZnQ6ICVkXG4iLCBnb0xlZnQpOw0KLQ0KLQkJYm9vbCBhdENyb3NzID0gZmFsc2U7CS8vIHRydWUgd2hlbiByb2JvdCBoYXMgcmVhY2hlZCBlbmQNCi0NCi0JCS8vIHNldCB1cCB0aW1lciBmb3IgOCBzZWNvbmQgbWF4IGRyaXZpbmcgdGltZSBhbmQgdXNlIHRoZSB0aW1lciB0bw0KLQkJLy8gcGljayB2YWx1ZXMgZnJvbSB0aGUgcG93ZXIgcHJvZmlsZSBhcnJheXMNCi0JCVRpbWVyICp0aW1lciA9IG5ldyBUaW1lcigpOw0KLQkJdGltZXItPlN0YXJ0KCk7DQotCQl0aW1lci0+UmVzZXQoKTsNCi0JCQ0KLQkJaW50IG9sZFRpbWVJblNlY29uZHMgPSAtMTsNCi0JCWRvdWJsZSB0aW1lOw0KLQkJZG91YmxlIHNwZWVkLCB0dXJuOw0KLQ0KLQkJLy8gbG9vcCB1bnRpbCBlaXRoZXIgd2UgaGl0IHRoZSAiVCIgYXQgdGhlIGVuZCBvciA4IHNlY29uZHMgaGFzDQotCQkvLyBlbGFwc2VkLiBUaGUgdGltZSB0byB0aGUgZW5kIHNob3VsZCBiZSBsZXNzIHRoYW4gNyBzZWNvbmRzDQotCQkvLyBmb3IgZWl0aGVyIHBhdGguDQotCQl3aGlsZSAoKHRpbWUgPSB0aW1lci0+R2V0KCkpIDwgOC4wICYmICFhdENyb3NzKSB7DQotCQkJaW50IHRpbWVJblNlY29uZHMgPSAoaW50KSB0aW1lOw0KLQkJCWludCBsZWZ0VmFsdWUgPSBsZWZ0LT5HZXQoKSA/IDEgOiAwOwkvLyByZWFkIHRoZSBsaW5lIHRyYWNraW5nIHNlbnNvcnMNCi0JCQlpbnQgbWlkZGxlVmFsdWUgPSBtaWRkbGUtPkdldCgpID8gMSA6IDA7DQotCQkJaW50IHJpZ2h0VmFsdWUgPSByaWdodC0+R2V0KCkgPyAxIDogMDsNCi0NCi0JCSAgICAvLyBjb21wdXRlIHRoZSBzaW5nbGUgdmFsdWUgZnJvbSB0aGUgMyBzZW5zb3JzLiBOb3RpY2UgdGhhdCB0aGUgYml0cw0KLQkJICAgIC8vIGZvciB0aGUgb3V0c2lkZSBzZW5zb3JzIGFyZSBmbGlwcGVkIGRlcGVuZGluZyBvbiBsZWZ0IG9yIHJpZ2h0DQotCQkgICAgLy8gZm9yay4gQWxzbyB0aGUgc2lnbiBvZiB0aGUgc3RlZXJpbmcgZGlyZWN0aW9uIGlzIGRpZmZlcmVudCBmb3IgbGVmdC9yaWdodC4NCi0JCQlpZiAoZ29MZWZ0KSB7DQotCQkJCWJpbmFyeVZhbHVlID0gbGVmdFZhbHVlICogNCArIG1pZGRsZVZhbHVlICogMiArIHJpZ2h0VmFsdWU7DQotCQkJCXN0ZWVyaW5nR2FpbiA9IC1kZWZhdWx0U3RlZXJpbmdHYWluOw0KLQkJCX0gZWxzZSB7DQotCQkJCWJpbmFyeVZhbHVlID0gcmlnaHRWYWx1ZSAqIDQgKyBtaWRkbGVWYWx1ZSAqIDIgKyBsZWZ0VmFsdWU7DQotCQkJCXN0ZWVyaW5nR2FpbiA9IGRlZmF1bHRTdGVlcmluZ0dhaW47DQotCQkJfQ0KLQ0KLQkJCXNwZWVkID0gcG93ZXJQcm9maWxlW3RpbWVJblNlY29uZHNdOwkvLyBzcGVlZCB2YWx1ZSBmb3IgdGhpcyB0aW1lDQotCQkJdHVybiA9IDA7CQkJCQkJCQkvLyBkZWZhdWx0IHRvIG5vIHR1cm4NCi0NCi0JCQlzd2l0Y2ggKGJpbmFyeVZhbHVlKSB7DQotCQkJCWNhc2UgMToJCQkJCS8vIGp1c3QgdGhlIG91dHNpZGUgc2Vuc29yIC0gZHJpdmUgc3RyYWlnaHQNCi0JCQkJCXR1cm4gPSAwOw0KLQkJCQkJYnJlYWs7DQotCQkJCWNhc2UgNzoJCQkJCS8vIGFsbCBzZW5zb3JzIC0gbWF5YmUgYXQgdGhlICJUIg0KLQkJCQlpZiAodGltZT4gc3RvcFRpbWUpIHsNCi0JCQkJCWF0Q3Jvc3MgPSB0cnVlOw0KLQkJCQkJc3BlZWQgPSAwOw0KLQkJCQl9DQotCQkJCWJyZWFrOw0KLQkJCQljYXNlIDA6CQkJCQkvLyBubyBzZW5zb3JzIC0gYXBwbHkgcHJldmlvdXMgY29ycmVjdGlvbg0KLQkJCQlpZiAocHJldmlvdXNWYWx1ZSA9PSAwIHx8IHByZXZpb3VzVmFsdWUgPT0gMSkgew0KLQkJCQkJdHVybiA9IHN0ZWVyaW5nR2FpbjsNCi0JCQkJfQ0KLQkJCQllbHNlIHsNCi0JCQkJCXR1cm4gPSAtc3RlZXJpbmdHYWluOw0KLQkJCQl9DQotCQkJCWJyZWFrOw0KLQkJCQlkZWZhdWx0OgkJCQkvLyBhbnl0aGluZyBlbHNlLCBzdGVlciBiYWNrIHRvIHRoZSBsaW5lDQotCQkJCXR1cm4gPSAtc3RlZXJpbmdHYWluOw0KLQkJCX0NCi0JCQkvLyB1c2VmdWwgZGVidWdnaW5nIG91dHB1dCBmb3IgdHVuaW5nIHlvdXIgcG93ZXIgcHJvZmlsZSBhbmQgc3RlZXJpbmcgZ2Fpbg0KLQkJCWlmKGJpbmFyeVZhbHVlICE9IHByZXZpb3VzVmFsdWUpDQotCQkJCXByaW50ZigiVGltZTogJTIuMmYgc2Vuc29yOiAlZCBzcGVlZDogJTEuMmYgdHVybjogJTEuMmYgYXRDcm9zczogJWRcbiIsIHRpbWUsIGJpbmFyeVZhbHVlLCBzcGVlZCwgdHVybiwgYXRDcm9zcyk7DQotCQkJLy8gbW92ZSB0aGUgcm9ib3QgZm9yd2FyZA0KLQkJCWRyaXZlLT5BcmNhZGVEcml2ZShzcGVlZCwgdHVybik7DQotCQkJaWYgKGJpbmFyeVZhbHVlICE9IDApIHByZXZpb3VzVmFsdWUgPSBiaW5hcnlWYWx1ZTsNCi0JCQlvbGRUaW1lSW5TZWNvbmRzID0gdGltZUluU2Vjb25kczsNCi0JCQlXYWl0KDAuMDEpOw0KLQkJfQ0KLQkJLy8gc3RvcCBkcml2aW5nIHdoZW4gZmluaXNoZWQNCi0JCWRyaXZlLT5BcmNhZGVEcml2ZSgwLjAsIDAuMCk7DQotCX0NCi0NCi0JLyoqDQotCSAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uY2UgZWFjaCB0aW1lIHRoZSByb2JvdCBlbnRlcnMgb3BlcmF0b3IgY29udHJvbC4NCi0JICovDQotCXZvaWQgT3BlcmF0b3JDb250cm9sKCkgew0KLQkJLy8gc3VwcGx5IHlvdXIgb3duIHRlbGVvcCBjb2RlIGhlcmUNCi0JfQ0KLX07DQotDQotU1RBUlRfUk9CT1RfQ0xBU1MoUm9ib3REZW1vKQ0KLTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL0xpbmVUcmFja2VyU2FtcGxlL3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vTGluZVRyYWNrZXJTYW1wbGUvc2FtcGxlLnR4dCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9MaW5lVHJhY2tlclNhbXBsZS9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjBjNzdmLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9MaW5lVHJhY2tlclNhbXBsZS9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotRlJDIExpbmUgVHJhY2tlciBTYW1wbGUgUHJvZ3JhbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotVGhpcyBpcyBhIHNpbXBsZSBsaW5lIHRyYWNrZXIgc2FtcGxlIHByb2dyYW0gdGhhdCBwcm92aWRlcw0KLWEgdXNlZnVsIHN0YXJ0aW5nIHBvaW50IGZvciBjcmVhdGluZyBhIHJvYm90IHByb2dyYW0gdGhhdA0KLWNhbiBhdXRvbm9tb3VzbHkgcHV0IHR1YmVzIG9uIHRoZSB3YWxsIGZvciB0aGUgMjAxMSBGUkMNCi1nYW1lLiBUaGUgY29tbWVudHMgZGVzY3JpYmUgaG93IGl0IG1pZ2h0IGJlIG1vZGlmaWVkIGZvcg0KLXlvdXIgb3duIHVzZSBhbmQgZGVwZW5kcyBvbiB0aGUgd2VpZ2h0IGFuZCBzcGVlZCBvZiB5b3VyIG93bg0KLXJvYm90LiBUaGlzIGhhcyBiZWVuIHRlc3RlZCBhdCBGSVJTVCB1c2luZyB0aGUgMjAxMSBraXRib3QNCi13aXRoIGEgY2hhcmdlZCBiYXR0ZXJ5Lg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8uY3Byb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YTkyZWRjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8uY3Byb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi08c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi08c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLTxleHRlcm5hbFNldHRpbmdzLz4NCi08ZXh0ZW5zaW9ucz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi08ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLTxleHRlbnNpb24gaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkdOVV9FTEYiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5CaW5hcnlQYXJzZXIiLz4NCi08L2V4dGVuc2lvbnM+DQotPC9zdG9yYWdlTW9kdWxlPg0KLTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLTxwYXRoZW50cnkga2luZD0ib3V0IiBwYXRoPSIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi08cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi08aW5kZXhBbGxGaWxlcyB2YWx1ZT0iZmFsc2UiLz4NCi08aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jY29uZmlndXJhdGlvbj4NCi08L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvLnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0NGVkYTUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1NpbXBsZVRlbXBsYXRlLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5TaW1wbGVUZW1wbGF0ZTwvbmFtZT4NCi0JPGNvbW1lbnQ+PC9jb21tZW50Pg0KLQk8cHJvamVjdHM+DQotCTwvcHJvamVjdHM+DQotCTxidWlsZFNwZWM+DQotCQk8YnVpbGRDb21tYW5kPg0KLQkJCTxuYW1lPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JidWlsZGVyPC9uYW1lPg0KLQkJCTxhcmd1bWVudHM+DQotCQkJPC9hcmd1bWVudHM+DQotCQk8L2J1aWxkQ29tbWFuZD4NCi0JPC9idWlsZFNwZWM+DQotCTxuYXR1cmVzPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndybmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3Jjb3JlbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY2NuYXR1cmU8L25hdHVyZT4NCi0JPC9uYXR1cmVzPg0KLTwvcHJvamVjdERlc2NyaXB0aW9uPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8ud3JtYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvLndybWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi0jIFRoZSBmaWxlICIud3JtYWtlZmlsZSIgaXMgdGhlIHRlbXBsYXRlIHVzZWQgYnkgdGhlIFdpbmQgUml2ZXIgV29ya2JlbmNoIHRvDQotIyBnZW5lcmF0ZSB0aGUgbWFrZWZpbGVzIG9mIHRoaXMgcHJvamVjdC4gQWRkIHVzZXItc3BlY2lmaWMgYnVpbGQgdGFyZ2V0cyBhbmQNCi0jIG1ha2UgcnVsZXMgb25seSghKSBpbiB0aGlzIHByb2plY3QncyAiLndybWFrZWZpbGUiIGZpbGUuIFRoZXNlIHdpbGwgdGhlbiBiZQ0KLSMgYXV0b21hdGljYWxseSBkdW1wZWQgaW50byB0aGUgbWFrZWZpbGVzLg0KLQ0KLVdJTkRfSE9NRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfSE9NRSkpDQotV0lORF9CQVNFIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9CQVNFKSkNCi1XSU5EX1VTUiA6PSAkKHN1YnN0IFwsLywkKFdJTkRfVVNSKSkNCi0NCi1hbGwgOiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLV9jbGVhbiA6Og0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCINCi0NCi0lSURFX0dFTkVSQVRFRCUNCi0NCi0taW5jbHVkZSAkKFBSSl9ST09UX0RJUikvKi5tYWtlZmlsZQ0KLQ0KLS1pbmNsdWRlICoubWFrZWZpbGUNCi0NCi1tYWluX2FsbCA6IGV4dGVybmFsX2J1aWxkICQoUFJPSkVDVF9UQVJHRVRTKQ0KLQlAZWNobyAibWFrZTogYnVpbHQgdGFyZ2V0cyBvZiBgcHdkYCINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkDQotZXh0ZXJuYWxfYnVpbGQgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHByZSBwcm9jZXNzaW5nIHByaW9yIHRvIHRoZSBidWlsZA0KLXByZV9idWlsZCA6OiAkKFBSRV9CVUlMRF9TVEVQKSBnZW5lcmF0ZV9zb3VyY2VzDQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZ2VuZXJhdGluZyBzb3VyY2VzIHByaW9yIHRvIHRoZSBidWlsZA0KLWdlbmVyYXRlX3NvdXJjZXMgOjoNCi0JQGVjaG8gIiINCi0NCi0jIG1haW4gZW50cnkgcG9pbnQgZm9yIHBvc3QgcHJvY2Vzc2luZyBhZnRlciB0aGUgYnVpbGQNCi1wb3N0X2J1aWxkIDo6ICQoUE9TVF9CVUlMRF9TVEVQKSBkZXBsb3lfb3V0cHV0DQotCUBlY2hvICIiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZGVwbG95aW5nIG91dHB1dCBhZnRlciB0aGUgYnVpbGQNCi1kZXBsb3lfb3V0cHV0IDo6DQotCUBlY2hvICIiDQotDQotY2xlYW4gOjogZXh0ZXJuYWxfY2xlYW4gJChDTEVBTl9TVEVQKSBfY2xlYW4NCi0NCi0jIGVudHJ5IHBvaW50IGZvciBleHRlbmRpbmcgdGhlIGJ1aWxkIGNsZWFuDQotZXh0ZXJuYWxfY2xlYW4gOjoNCi0JQGVjaG8gIiINCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvLndycHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYTRkNThlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS8ud3Jwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlZYX0NQVV9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ1BVIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0wiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9QQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNDX0FSQ0hfU1BFQyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJQQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlMiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSItdFBQQzYwM0ZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9Ii1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IlNpbXBsZVRlbXBsYXRlIiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJTaW1wbGVUZW1wbGF0ZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8YnVpbGR0YXJnZXRyZWZlcmVuY2UgbmFtZT0iL1NpbXBsZVRlbXBsYXRlL1NpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iUGFydGlhbCBJbWFnZSBMaW5rZXIiIG5hbWU9IlNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSIgcGFzc2VkPSJ0cnVlIiB0YXJnZXRuYW1lPSJTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvU2ltcGxlVGVtcGxhdGUiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICA8L2J1aWxkdGFyZ2V0cz4NCi08L3dyeG1sPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS9NeVJvYm90LmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS9NeVJvYm90LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYyNWIzZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvTXlSb2JvdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi0jaW5jbHVkZSAiV1BJTGliLmgiDQotDQotLyoqDQotICogVGhpcyBpcyBhIGRlbW8gcHJvZ3JhbSBzaG93aW5nIHRoZSB1c2Ugb2YgdGhlIFJvYm90QmFzZSBjbGFzcy4NCi0gKiBUaGUgU2ltcGxlUm9ib3QgY2xhc3MgaXMgdGhlIGJhc2Ugb2YgYSByb2JvdCBhcHBsaWNhdGlvbiB0aGF0IHdpbGwgYXV0b21hdGljYWxseSBjYWxsIHlvdXINCi0gKiBBdXRvbm9tb3VzIGFuZCBPcGVyYXRvckNvbnRyb2wgbWV0aG9kcyBhdCB0aGUgcmlnaHQgdGltZSBhcyBjb250cm9sbGVkIGJ5IHRoZSBzd2l0Y2hlcyBvbg0KLSAqIHRoZSBkcml2ZXIgc3RhdGlvbiBvciB0aGUgZmllbGQgY29udHJvbHMuDQotICovIA0KLWNsYXNzIFJvYm90RGVtbyA6IHB1YmxpYyBTaW1wbGVSb2JvdA0KLXsNCi0JUm9ib3REcml2ZSBteVJvYm90OyAvLyByb2JvdCBkcml2ZSBzeXN0ZW0NCi0JSm95c3RpY2sgc3RpY2s7IC8vIG9ubHkgam95c3RpY2sNCi0NCi1wdWJsaWM6DQotCVJvYm90RGVtbyh2b2lkKToNCi0JCW15Um9ib3QoMSwgMiksCS8vIHRoZXNlIG11c3QgYmUgaW5pdGlhbGl6ZWQgaW4gdGhlIHNhbWUgb3JkZXINCi0JCXN0aWNrKDEpCQkvLyBhcyB0aGV5IGFyZSBkZWNsYXJlZCBhYm92ZS4NCi0Jew0KLQkJbXlSb2JvdC5TZXRFeHBpcmF0aW9uKDAuMSk7DQotCX0NCi0NCi0JLyoqDQotCSAqIERyaXZlIGxlZnQgJiByaWdodCBtb3RvcnMgZm9yIDIgc2Vjb25kcyB0aGVuIHN0b3ANCi0JICovDQotCXZvaWQgQXV0b25vbW91cyh2b2lkKQ0KLQl7DQotCQlteVJvYm90LlNldFNhZmV0eUVuYWJsZWQoZmFsc2UpOw0KLQkJbXlSb2JvdC5Ecml2ZSgtMC41LCAwLjApOyAJLy8gZHJpdmUgZm9yd2FyZHMgaGFsZiBzcGVlZA0KLQkJV2FpdCgyLjApOyAJCQkJLy8gICAgZm9yIDIgc2Vjb25kcw0KLQkJbXlSb2JvdC5Ecml2ZSgwLjAsIDAuMCk7IAkvLyBzdG9wIHJvYm90DQotCX0NCi0NCi0JLyoqDQotCSAqIFJ1bnMgdGhlIG1vdG9ycyB3aXRoIGFyY2FkZSBzdGVlcmluZy4gDQotCSAqLw0KLQl2b2lkIE9wZXJhdG9yQ29udHJvbCh2b2lkKQ0KLQl7DQotCQlteVJvYm90LlNldFNhZmV0eUVuYWJsZWQodHJ1ZSk7DQotCQl3aGlsZSAoSXNPcGVyYXRvckNvbnRyb2woKSkNCi0JCXsNCi0JCQlteVJvYm90LkFyY2FkZURyaXZlKHN0aWNrKTsgLy8gZHJpdmUgd2l0aCBhcmNhZGUgc3R5bGUgKHVzZSByaWdodCBzdGljaykNCi0JCQlXYWl0KDAuMDA1KTsJCQkJLy8gd2FpdCBmb3IgYSBtb3RvciB1cGRhdGUgdGltZQ0KLQkJfQ0KLQl9DQotCQ0KLQkvKioNCi0JICogUnVucyBkdXJpbmcgdGVzdCBtb2RlDQotCSAqLw0KLQl2b2lkIFRlc3QoKSB7DQotDQotCX0NCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKFJvYm90RGVtbyk7DQotDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1NpbXBsZVRlbXBsYXRlL3NhbXBsZS5wcm9wZXJ0aWVzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1NpbXBsZVRlbXBsYXRlL3NhbXBsZS5wcm9wZXJ0aWVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmM4OTVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9TaW1wbGVUZW1wbGF0ZS9zYW1wbGUucHJvcGVydGllcworKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotcHJvamVjdC50eXBlPURvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QNCi1wbGF0Zm9ybS5pZD1WeFdvcmtzDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1NpbXBsZVRlbXBsYXRlL3NhbXBsZS50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvc2FtcGxlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjUwNjFmYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vU2ltcGxlVGVtcGxhdGUvc2FtcGxlLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLUZSQyBTaW1wbGUgUm9ib3QgVGVtcGxhdGUNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLVRoaXMgcHJvZ3JhbSBpcyB0aGUgc2ltcGxlc3Qgc2FtcGxlIHByb2dyYW0gdGhhdCBpbXBsZW1lbnRzDQotdGhlIGZ1bGwgZmllbGQgY29udHJvbCBhbmQgc2hvd3MgdGhlIHVzZSBvZiB0aGUgd2F0Y2hkb2cNCi10aW1lci4gVGhpcyBpcyBhbiBleGNlbGxlbnQgc3RhcnRpbmcgcG9pbnQgZm9yIHlvdXIgcHJvZ3JhbXMuDQotDQotVGhpcyBwcm9ncmFtIHNpbXBseSBkcml2ZXMgZm9yd2FyZCBmb3IgMiBzZWNvbmRzIGluIHRoZQ0KLUF1dG9ub21vdXMgcGVyaW9kIGFuZCBkb2VzIHNpbXBsZSBhcmNhZGUgZHJpdmluZyBkdXJpbmcgdGhlDQotT3BlcmF0b3IgQ29udHJvbCBwZXJpb2QuDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvLmNwcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDI3MDg2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi0JPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi0JCTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi0JCQk8c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLQkJCQk8ZXh0ZXJuYWxTZXR0aW5ncy8+DQotCQkJCTxleHRlbnNpb25zPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUlNjYW5uZXJJbmZvUHJvdmlkZXIiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5TY2FubmVySW5mb1Byb3ZpZGVyIi8+DQotCQkJCQk8ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQk8L2V4dGVuc2lvbnM+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotCQkJCTxwYXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLQkJCQk8cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuYnVpbGQubW9kZWwuV1JfVVNFUkRFRklORURfQ09OVEFJTkVSIi8+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJzY2FubmVyQ29uZmlndXJhdGlvbiIvPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJ1c2VyZGVmaW5lZENvbnRhaW5lciI+DQotCQkJCTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLQkJCQk8aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi0JCQk8L3N0b3JhZ2VNb2R1bGU+DQotCQk8L2Njb25maWd1cmF0aW9uPg0KLQk8L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi8ucHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDIyZGYyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5WaXNpb25TYW1wbGUyMDEyPC9uYW1lPg0KLQk8Y29tbWVudD48L2NvbW1lbnQ+DQotCTxwcm9qZWN0cz4NCi0JPC9wcm9qZWN0cz4NCi0JPGJ1aWxkU3BlYz4NCi0JCTxidWlsZENvbW1hbmQ+DQotCQkJPG5hbWU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmJ1aWxkZXI8L25hbWU+DQotCQkJPGFyZ3VtZW50cz4NCi0JCQk8L2FyZ3VtZW50cz4NCi0JCTwvYnVpbGRDb21tYW5kPg0KLQk8L2J1aWxkU3BlYz4NCi0JPG5hdHVyZXM+DQotCQk8bmF0dXJlPmNvbS53aW5kcml2ZXIuaWRlLmNvcmUud3JuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cmNvcmVuYXR1cmU8L25hdHVyZT4NCi0JCTxuYXR1cmU+b3JnLmVjbGlwc2UuY2R0LmNvcmUuY25hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jY25hdHVyZTwvbmF0dXJlPg0KLQk8L25hdHVyZXM+DQotPC9wcm9qZWN0RGVzY3JpcHRpb24+DQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvLndybWFrZWZpbGUgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi8ud3JtYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTFkZDdmOC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi8ud3JtYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLSMgVGhlIGZpbGUgIi53cm1ha2VmaWxlIiBpcyB0aGUgdGVtcGxhdGUgdXNlZCBieSB0aGUgV2luZCBSaXZlciBXb3JrYmVuY2ggdG8NCi0jIGdlbmVyYXRlIHRoZSBtYWtlZmlsZXMgb2YgdGhpcyBwcm9qZWN0LiBBZGQgdXNlci1zcGVjaWZpYyBidWlsZCB0YXJnZXRzIGFuZA0KLSMgbWFrZSBydWxlcyBvbmx5KCEpIGluIHRoaXMgcHJvamVjdCdzICIud3JtYWtlZmlsZSIgZmlsZS4gVGhlc2Ugd2lsbCB0aGVuIGJlDQotIyBhdXRvbWF0aWNhbGx5IGR1bXBlZCBpbnRvIHRoZSBtYWtlZmlsZXMuDQotDQotV0lORF9IT01FIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9IT01FKSkNCi1XSU5EX0JBU0UgOj0gJChzdWJzdCBcLC8sJChXSU5EX0JBU0UpKQ0KLVdJTkRfVVNSIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9VU1IpKQ0KLQ0KLWFsbCA6IHByZV9idWlsZCBtYWluX2FsbCBwb3N0X2J1aWxkDQotDQotX2NsZWFuIDo6DQotCUBlY2hvICJtYWtlOiByZW1vdmluZyB0YXJnZXRzIGFuZCBvYmplY3RzIG9mIGBwd2RgIg0KLQ0KLSVJREVfR0VORVJBVEVEJQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyLy53cnByb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi8ud3Jwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTkxYjM1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyLy53cnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQotPHdyeG1sPg0KLSAgICA8cHJvcGVydGllcyBwbGF0Zm9ybT0iVnhXb3JrcyIgcGxhdGZvcm1fbmFtZT0idnh3b3Jrcy02LjMiIHJvb3Q9IjEiIHR5cGU9IkRvd25sb2FkYWJsZUtlcm5lbE1vZHVsZVByb2plY3QiLz4NCi0gICAgPGF0dHJpYnV0ZXM+DQotICAgICAgICA8bWFwQXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBST0pFQ1RfVFlQRSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJERUZJTkVTIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkVYUEFORF9EQkciLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xERUZJTkVTIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xFWFBBTkRfREJHIiB2YWx1ZT0iMCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm98UFJPSkVDVF9UWVBFIiB2YWx1ZT0iREtNIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzYwM2RpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2giLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TGlic3xQUEMzMmRpYWIiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSIkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzYwM2dudSI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlZYX0NQVV9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ1BVIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0xfRkFNSUxZIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlRPT0wiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9QQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkNDX0FSQ0hfU1BFQyIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMSUJQQVRIIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlMiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iLXRQUENGSDp2eHdvcmtzNjMgLVhzdG13LXNsb3cgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iLW1oYXJkLWZsb2F0IC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLURQUEMzMl9mcDYweCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSItdFBQQzYwM0ZIOnZ4d29ya3M2MyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q0NfQVJDSF9TUEVDfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9Ii1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iUFBDNjAzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX1BBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9ImRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VlhfQ1BVX0ZBTUlMWXx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9InBwYyIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2xzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDKystQ29tcGlsZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxpYnJhcmlhbiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJBc3NlbWJsZXIiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhwcmVwcm9jZXNzLWFzc2VtYmx5IC1YY3BwLW5vLXNwYWNlICAtWG1ha2UtZGVwZW5kZW5jeT0weGQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAgLXhhc3NlbWJsZXItd2l0aC1jcHAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfHNpZ3MiIHZhbHVlPSIqLnMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjcHBjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpIC1XYWxsICAtTUQgLU1QIC1tbG9uZ2NhbGwiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jcHA7Ki5DOyouY3h4OyouY2MiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLVc6YzosLVhjbGliLW9wdGltLW9mZiAtWGFuc2kgLVhsb2NhbC1kYXRhLWFyZWEtc3RhdGljLW9ubHkgLVhmb3JjZS1kZWNsYXJhdGlvbnMgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxzaWdzIiB2YWx1ZT0iKi5jIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXJjaGl2ZXJwcmVmaXglICQoVE9PTF9QQVRIKWRhciAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpYXJwcGMgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5hIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9ImNydXMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58cGFzc0FibGUiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OztybSAtZiAlT3V0RmlsZSU7ZGR1bXAgLU5nICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtWGRvbGxhci1pbi1pZGVudCAtWGZvcmNlLWRlY2xhcmF0aW9ucyAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtubXBwYyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICQoQ0NfQVJDSF9TUEVDKSAtZmRvbGxhcnMtaW4taWRlbnRpZmllcnMgLVdhbGwgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmdudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9Iioub3V0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItcjQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iLVQgJChXSU5EX0JBU0UpL3RhcmdldC9oL3Rvb2wvZ251L2xkc2NyaXB0cy9saW5rLk9VVCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQ0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDMzJnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDNjAzRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNnbnUiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjIC1yIC1ub3N0ZGxpYiAtV2wsLVggJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICVPYmplY3RzJSAkKExJQlBBVEgpICQoTElCUykgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG9iamVjdCIgdmFsdWU9ImZhbHNlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8c2lncyIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98Y21kIiB2YWx1ZT0iJW1ha2VwcmVmaXglIG1ha2UgLS1uby1wcmludC1kaXJlY3RvcnkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfGRlZmF1bHRTcGVjIiB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEMzMmRpYWIiIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZ251IiB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDNkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xyZWRpckRpcnxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyUm9vdCIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJkaWFiIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzMyZ251Ii8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxpbnRBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRFbmFibGVkIiB2YWx1ZT0iMSIvPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQnVpbGRTdXBwb3J0Rm9yQnVpbGRTcGVjcyI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJ1aWxkVGFyZ2V0Q2VudHJpYyIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgIDwvbWFwQXR0cmlidXRlPg0KLSAgICA8L2F0dHJpYnV0ZXM+DQotICAgIDxidWlsZHRhcmdldHM+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJMaW5rZXIiIG5hbWU9IlNpbXBsZVRlbXBsYXRlIiBwYXNzZWQ9ImZhbHNlIiB0YXJnZXRuYW1lPSJTaW1wbGVUZW1wbGF0ZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8YnVpbGR0YXJnZXRyZWZlcmVuY2UgbmFtZT0iL1Zpc2lvblNhbXBsZTIwMTIvU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlIi8+DQotICAgICAgICAgICAgPC9jb250ZW50cz4NCi0gICAgICAgIDwvYnVpbGR0YXJnZXQ+DQotICAgICAgICA8YnVpbGR0YXJnZXQgYnVpbGR0b29sPSJQYXJ0aWFsIEltYWdlIExpbmtlciIgbmFtZT0iU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlIiBwYXNzZWQ9InRydWUiIHRhcmdldG5hbWU9IlNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8Zm9sZGVyIG5hbWU9Ii9WaXNpb25TYW1wbGUyMDEyIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMTBGZWV0LmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8xMEZlZXQuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyN2IyNTc2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8xMEZlZXQuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzEwZnQyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8xMGZ0Mi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1YzM1ZWQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzEwZnQyLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8yMEZlZXQuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzIwRmVldC5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZTc0MGYuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzIwRmVldC5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMjBGdDIuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzIwRnQyLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYzNDNmMy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMjBGdDIuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzMwRmVldC5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMzBGZWV0LmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY1M2RlOS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMzBGZWV0LmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8zMEZ0Mi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvMzBGdDIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDgxODQ4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy8zMEZ0Mi5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvNDBGZWV0LmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy80MEZlZXQuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MWQxMDU0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy80MEZlZXQuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzQwRnQyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy80MEZ0Mi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0Yzk0NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzQwRnQyLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy80NmZlZXQuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzQ2ZmVldC5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0M2E4Y2EuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzLzQ2ZmVldC5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvRmluZFRhcmdldHMudmFzY3IgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9WaXNpb25JbWFnZXMvRmluZFRhcmdldHMudmFzY3IKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkZWRlZjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzL0ZpbmRUYXJnZXRzLnZhc2NyCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzL1Zpc2lvbkRvY3VtZW50YXRpb24ucGRmIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uSW1hZ2VzL1Zpc2lvbkRvY3VtZW50YXRpb24ucGRmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjJlYzM1Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvbkltYWdlcy9WaXNpb25Eb2N1bWVudGF0aW9uLnBkZgorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL1Zpc2lvblNhbXBsZTIwMTIuY3BwIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uU2FtcGxlMjAxMi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzNjZmMmEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvVmlzaW9uU2FtcGxlMjAxMi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi0jaW5jbHVkZSAiV1BJTGliLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9SR0JJbWFnZS5oIg0KLSNpbmNsdWRlICJWaXNpb24vQmluYXJ5SW1hZ2UuaCINCi0gDQotLyoqDQotICogU2FtcGxlIHByb2dyYW0gdG8gdXNlIE5JVmlzaW9uIHRvIGZpbmQgcmVjdGFuZ2xlcyBpbiB0aGUgc2NlbmUgdGhhdCBhcmUgaWxsdW1pbmF0ZWQNCi0gKiBieSBhIHJlZCByaW5nIGxpZ2h0IChzaW1pbGFyIHRvIHRoZSBtb2RlbCBmcm9tIEZJUlNUQ2hvaWNlKS4gVGhlIGNhbWVyYSBzZW5zaXRpdml0eQ0KLSAqIGlzIHNldCB2ZXJ5IGxvdyBzbyBhcyB0byBvbmx5IHNob3cgbGlnaHQgc291cmNlcyBhbmQgcmVtb3ZlIGFueSBkaXN0cmFjdGluZyBwYXJ0cw0KLSAqIG9mIHRoZSBpbWFnZS4NCi0gKiANCi0gKiBUaGUgQ3JpdGVyaWFDb2xsZWN0aW9uIGlzIHRoZSBzZXQgb2YgY3JpdGVyaWEgdGhhdCBpcyB1c2VkIHRvIGZpbHRlciB0aGUgc2V0IG9mDQotICogcmVjdGFuZ2xlcyB0aGF0IGFyZSBkZXRlY3RlZC4gSW4gdGhpcyBleGFtcGxlIHdlJ3JlIGxvb2tpbmcgZm9yIHJlY3RhbmdsZXMgd2l0aA0KLSAqIGEgbWluaW11bSB3aWR0aCBvZiAzMCBwaXhlbHMgYW5kIG1heGltdW0gb2YgNDAwIHBpeGVscy4gU2ltaWxhciBmb3IgaGVpZ2h0IChzZWUNCi0gKiB0aGUgYWRkQ3JpdGVyaWEoKSBtZXRob2RzIGJlbG93Lg0KLSAqIA0KLSAqIFRoZSBhbGdvcml0aG0gZmlyc3QgZG9lcyBhIGNvbG9yIHRocmVzaG9sZCBvcGVyYXRpb24gdGhhdCBvbmx5IHRha2VzIG9iamVjdHMgaW4gdGhlDQotICogc2NlbmUgdGhhdCBoYXZlIGEgc2lnbmlmaWNhbnQgcmVkIGNvbG9yIGNvbXBvbmVudC4gVGhlbiByZW1vdmVzIHNtYWxsIG9iamVjdHMgdGhhdA0KLSAqIG1pZ2h0IGJlIGNhdXNlZCBieSByZWQgcmVmbGVjdGlvbiBzY2F0dGVyZWQgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgc2NlbmUuIFRoZW4NCi0gKiBhIGNvbnZleCBodWxsIG9wZXJhdGlvbiBmaWxscyBhbGwgdGhlIHJlY3RhbmdsZSBvdXRsaW5lcyAoZXZlbiB0aGUgcGFydGlhbGx5IG9jY2x1ZGVkDQotICogb25lcykuIEZpbmFsbHkgYSBwYXJ0aWNsZSBmaWx0ZXIgbG9va3MgZm9yIGFsbCB0aGUgc2hhcGVzIHRoYXQgbWVldCB0aGUgcmVxdWlyZW1lbnRzDQotICogc3BlY2lmaWVkIGluIHRoZSBjcml0ZXJpYSBjb2xsZWN0aW9uLg0KLSAqDQotICogTG9vayBpbiB0aGUgVmlzaW9uSW1hZ2VzIGRpcmVjdG9yeSBpbnNpZGUgdGhlIHByb2plY3QgdGhhdCBpcyBjcmVhdGVkIGZvciB0aGUgc2FtcGxlDQotICogaW1hZ2VzIGFzIHdlbGwgYXMgdGhlIE5JIFZpc2lvbiBBc3Npc3RhbnQgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSB2aXNpb24gY29tbWFuZA0KLSAqIGNoYWluIChvcGVuIGl0IHdpdGggdGhlIFZpc2lvbiBBc3Npc3RhbnQpDQotICovDQotY2xhc3MgVmlzaW9uU2FtcGxlMjAxMiA6IHB1YmxpYyBTaW1wbGVSb2JvdA0KLXsNCi0JUm9ib3REcml2ZSBteVJvYm90OyAvLyByb2JvdCBkcml2ZSBzeXN0ZW0NCi0JSm95c3RpY2sgc3RpY2s7IC8vIG9ubHkgam95c3RpY2sNCi0JQXhpc0NhbWVyYSAqY2FtZXJhOw0KLQ0KLXB1YmxpYzoNCi0JVmlzaW9uU2FtcGxlMjAxMih2b2lkKToNCi0JCW15Um9ib3QoMSwgMiksCS8vIHRoZXNlIG11c3QgYmUgaW5pdGlhbGl6ZWQgaW4gdGhlIHNhbWUgb3JkZXINCi0JCXN0aWNrKDEpCQkvLyBhcyB0aGV5IGFyZSBkZWNsYXJlZCBhYm92ZS4NCi0Jew0KLQkJbXlSb2JvdC5TZXRFeHBpcmF0aW9uKDAuMSk7DQotCQlteVJvYm90LlNldFNhZmV0eUVuYWJsZWQoZmFsc2UpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBEcml2ZSBsZWZ0ICYgcmlnaHQgbW90b3JzIGZvciAyIHNlY29uZHMgdGhlbiBzdG9wDQotCSAqLw0KLQl2b2lkIEF1dG9ub21vdXModm9pZCkNCi0Jew0KLQkJDQotCQlUaHJlc2hvbGQgdGhyZXNob2xkKDI1LCAyNTUsIDAsIDQ1LCAwLCA0Nyk7DQotCQlQYXJ0aWNsZUZpbHRlckNyaXRlcmlhMiBjcml0ZXJpYVtdID0gew0KLQkJCQkJCQkJCQkJe0lNQVFfTVRfQk9VTkRJTkdfUkVDVF9XSURUSCwgMzAsIDQwMCwgZmFsc2UsIGZhbHNlfSwNCi0JCQkJCQkJCQkJCXtJTUFRX01UX0JPVU5ESU5HX1JFQ1RfSEVJR0hULCA0MCwgNDAwLCBmYWxzZSwgZmFsc2V9DQotCQl9Ow0KLQkJd2hpbGUgKElzQXV0b25vbW91cygpICYmIElzRW5hYmxlZCgpKSB7DQotICAgICAgICAgICAgLyoqDQotICAgICAgICAgICAgICogRG8gdGhlIGltYWdlIGNhcHR1cmUgd2l0aCB0aGUgY2FtZXJhIGFuZCBhcHBseSB0aGUgYWxnb3JpdGhtIGRlc2NyaWJlZCBhYm92ZS4gVGhpcw0KLSAgICAgICAgICAgICAqIHNhbXBsZSB3aWxsIGVpdGhlciBnZXQgaW1hZ2VzIGZyb20gdGhlIGNhbWVyYSBvciBmcm9tIGFuIGltYWdlIGZpbGUgc3RvcmVkIGluIHRoZSB0b3ANCi0gICAgICAgICAgICAgKiBsZXZlbCBkaXJlY3RvcnkgaW4gdGhlIGZsYXNoIG1lbW9yeSBvbiB0aGUgY1JJTy4gVGhlIGZpbGUgbmFtZSBpbiB0aGlzIGNhc2UgaXMgIjEwZnQyLmpwZyINCi0gICAgICAgICAgICAgKiANCi0gICAgICAgICAgICAgKi8NCi0JCQlDb2xvckltYWdlICppbWFnZTsNCi0JCQlpbWFnZSA9IG5ldyBSR0JJbWFnZSgiLzEwZnQyLmpwZyIpOwkJLy8gZ2V0IHRoZSBzYW1wbGUgaW1hZ2UgZnJvbSB0aGUgY1JJTyBmbGFzaA0KLQkJCUJpbmFyeUltYWdlICp0aHJlc2hvbGRJbWFnZSA9IGltYWdlLT5UaHJlc2hvbGRSR0IodGhyZXNob2xkKTsJLy8gZ2V0IGp1c3QgdGhlIHJlZCB0YXJnZXQgcGl4ZWxzDQotCQkJQmluYXJ5SW1hZ2UgKmJpZ09iamVjdHNJbWFnZSA9IHRocmVzaG9sZEltYWdlLT5SZW1vdmVTbWFsbE9iamVjdHMoZmFsc2UsIDIpOyAgLy8gcmVtb3ZlIHNtYWxsIG9iamVjdHMgKG5vaXNlKQ0KLQkJCUJpbmFyeUltYWdlICpjb252ZXhIdWxsSW1hZ2UgPSBiaWdPYmplY3RzSW1hZ2UtPkNvbnZleEh1bGwoZmFsc2UpOyAgLy8gZmlsbCBpbiBwYXJ0aWFsIGFuZCBmdWxsIHJlY3RhbmdsZXMNCi0JCQlCaW5hcnlJbWFnZSAqZmlsdGVyZWRJbWFnZSA9IGNvbnZleEh1bGxJbWFnZS0+UGFydGljbGVGaWx0ZXIoY3JpdGVyaWEsIDIpOyAgLy8gZmluZCB0aGUgcmVjdGFuZ2xlcw0KLQkJCXZlY3RvcjxQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0PiAqcmVwb3J0cyA9IGZpbHRlcmVkSW1hZ2UtPkdldE9yZGVyZWRQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0cygpOyAgLy8gZ2V0IHRoZSByZXN1bHRzDQotCQkJDQotCQkJZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcG9ydHMtPnNpemUoKTsgaSsrKSB7DQotCQkJCVBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnIgPSAmKHJlcG9ydHMtPmF0KGkpKTsNCi0JCQkJcHJpbnRmKCJwYXJ0aWNsZTogJWQgIGNlbnRlcl9tYXNzX3g6ICVkXG4iLCBpLCByLT5jZW50ZXJfbWFzc194KTsNCi0JCQl9DQotCQkJcHJpbnRmKCJcbiIpOw0KLQkJCQ0KLQkJCS8vIGJlIHN1cmUgdG8gZGVsZXRlIGltYWdlcyBhZnRlciB1c2luZyB0aGVtDQotCQkJZGVsZXRlIHJlcG9ydHM7DQotCQkJZGVsZXRlIGZpbHRlcmVkSW1hZ2U7DQotCQkJZGVsZXRlIGNvbnZleEh1bGxJbWFnZTsNCi0JCQlkZWxldGUgYmlnT2JqZWN0c0ltYWdlOw0KLQkJCWRlbGV0ZSB0aHJlc2hvbGRJbWFnZTsNCi0JCQlkZWxldGUgaW1hZ2U7DQotCQl9DQotCX0NCi0NCi0JLyoqDQotCSAqIFJ1bnMgdGhlIG1vdG9ycyB3aXRoIGFyY2FkZSBzdGVlcmluZy4gDQotCSAqLw0KLQl2b2lkIE9wZXJhdG9yQ29udHJvbCh2b2lkKQ0KLQl7DQotCQlteVJvYm90LlNldFNhZmV0eUVuYWJsZWQodHJ1ZSk7DQotCQl3aGlsZSAoSXNPcGVyYXRvckNvbnRyb2woKSkNCi0JCXsNCi0JCQlXYWl0KDAuMDA1KTsJCQkJLy8gd2FpdCBmb3IgYSBtb3RvciB1cGRhdGUgdGltZQ0KLQkJfQ0KLQl9DQotfTsNCi0NCi1TVEFSVF9ST0JPVF9DTEFTUyhWaXNpb25TYW1wbGUyMDEyKTsNCi0NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9zYW1wbGUucHJvcGVydGllcyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL3NhbXBsZS5wcm9wZXJ0aWVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZmM4OTVlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEyL3NhbXBsZS5wcm9wZXJ0aWVzCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1wcm9qZWN0LnR5cGU9RG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdA0KLXBsYXRmb3JtLmlkPVZ4V29ya3MNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9zYW1wbGUudHh0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTIvc2FtcGxlLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTlkMGE4OC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMi9zYW1wbGUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1GUkMgMjAxMiBWaXNpb24gU2FtcGxlIFByb2dyYW0NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLVRoaXMgcHJvamVjdCBpcyBhIGNhbWVyYSB2aXNpb24gc2FtcGxlIHRoYXQgZGV0ZWN0cyB0aGUgNCByZWN0YW5nbGVzIHRoYXQgYXJlIHRoZSAyMDEyIEZSQyBnYW1lDQotdmlzaW9uIHRhcmdldHMuIExvb2sgYXQgdGhlIGNvbW1lbnRzIGluIHRoZSBjb2RlIGFuZCB0aGUgVmlzaW9uIHdoaXRlIHBhcGVyIHB1Ymxpc2hlZCBpbiB0aGUNCi1kb2N1bWVudHMgc2VjdGlvbiBvZiB0aGUgV1BJTGliIHByb2plY3Qgb24gZmlyc3Rmb3JnZS53cGkuZWR1LiBMb29rIGluIHRoZSBWaXNpb25JbWFnZXMgZGlyZWN0b3J5DQotaW5zaWRlIHRoZSBwcm9qZWN0IHRoYXQgaXMgY3JlYXRlZCBmb3IgdGhlIHNhbXBsZSBpbWFnZXMgYXMgd2VsbCBhcyB0aGUgTkkgVmlzaW9uIEFzc2lzdGFudCBmaWxlDQotdGhhdCBjb250YWlucyB0aGUgdmlzaW9uIGNvbW1hbmQgY2hhaW4gKG9wZW4gaXQgd2l0aCB0aGUgVmlzaW9uIEFzc2lzdGFudCkNCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy8uY3Byb2plY3QgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy8uY3Byb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2MTFhZTIuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvLmNwcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQotPD9maWxlVmVyc2lvbiA0LjAuMD8+DQotDQotPGNwcm9qZWN0Pg0KLQk8c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiPg0KLQkJPGNjb25maWd1cmF0aW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiPg0KLQkJCTxzdG9yYWdlTW9kdWxlIGJ1aWxkU3lzdGVtSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmRlZmF1bHRDb25maWdEYXRhUHJvdmlkZXIiIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0LmNvbmZpZy4yODM5NjcxMDYiIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5zZXR0aW5ncyIgbmFtZT0iQ29uZmlndXJhdGlvbiI+DQotCQkJCTxleHRlcm5hbFNldHRpbmdzLz4NCi0JCQkJPGV4dGVuc2lvbnM+DQotCQkJCQk8ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSU2Nhbm5lckluZm9Qcm92aWRlciIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlNjYW5uZXJJbmZvUHJvdmlkZXIiLz4NCi0JCQkJCTxleHRlbnNpb24gaWQ9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuV1JFbGZQYXJzZXJWeFdvcmtzIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotCQkJCQk8ZXh0ZW5zaW9uIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5HTlVfRUxGIiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuQmluYXJ5UGFyc2VyIi8+DQotCQkJCTwvZXh0ZW5zaW9ucz4NCi0JCQk8L3N0b3JhZ2VNb2R1bGU+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmV4dGVybmFsU2V0dGluZ3MiLz4NCi0JCQk8c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUucGF0aGVudHJ5Ij4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJzcmMiIHBhdGg9IiIvPg0KLQkJCQk8cGF0aGVudHJ5IGtpbmQ9Im91dCIgcGF0aD0iIi8+DQotCQkJCTxwYXRoZW50cnkga2luZD0iY29uIiBwYXRoPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSX0NPTlRBSU5FUiIvPg0KLQkJCQk8cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5idWlsZC5tb2RlbC5XUl9VU0VSREVGSU5FRF9DT05UQUlORVIiLz4NCi0JCQk8L3N0b3JhZ2VNb2R1bGU+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InNjYW5uZXJDb25maWd1cmF0aW9uIi8+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9InVzZXJkZWZpbmVkQ29udGFpbmVyIj4NCi0JCQkJPGluZGV4QWxsRmlsZXMgdmFsdWU9ImZhbHNlIi8+DQotCQkJCTxpbml0aWFsaXplZCB2YWx1ZT0idHJ1ZSIvPg0KLQkJCTwvc3RvcmFnZU1vZHVsZT4NCi0JCQk8c3RvcmFnZU1vZHVsZSBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUubGFuZ3VhZ2UubWFwcGluZyIvPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuaW50ZXJuYWwudWkudGV4dC5jb21tZW50T3duZXJQcm9qZWN0TWFwcGluZ3MiLz4NCi0JCTwvY2NvbmZpZ3VyYXRpb24+DQotCTwvc3RvcmFnZU1vZHVsZT4NCi08L2Nwcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzLy5wcm9qZWN0IGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvLnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYzE0NDUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvLnByb2plY3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KLTxwcm9qZWN0RGVzY3JpcHRpb24+DQotCTxuYW1lPlZpc2lvblNhbXBsZTIwMTM8L25hbWU+DQotCTxjb21tZW50PjwvY29tbWVudD4NCi0JPHByb2plY3RzPg0KLQk8L3Byb2plY3RzPg0KLQk8YnVpbGRTcGVjPg0KLQkJPGJ1aWxkQ29tbWFuZD4NCi0JCQk8bmFtZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyYnVpbGRlcjwvbmFtZT4NCi0JCQk8YXJndW1lbnRzPg0KLQkJCTwvYXJndW1lbnRzPg0KLQkJPC9idWlsZENvbW1hbmQ+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cm5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyY29yZW5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNjbmF0dXJlPC9uYXR1cmU+DQotCTwvbmF0dXJlcz4NCi08L3Byb2plY3REZXNjcmlwdGlvbj4NCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy8ud3JtYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzLy53cm1ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRkN2Y4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzLy53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvLndycHJvamVjdCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzLy53cnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2ODYwZTQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI1OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xjbWQiIHZhbHVlPSIlbWFrZXByZWZpeCUgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98ZGVmYXVsdFNwZWMiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJSb290IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98c3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGludEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEVuYWJsZWQiIHZhbHVlPSIxIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRGb3JCdWlsZFNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQnVpbGRUYXJnZXRDZW50cmljIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgPC9tYXBBdHRyaWJ1dGU+DQotICAgIDwvYXR0cmlidXRlcz4NCi0gICAgPGJ1aWxkdGFyZ2V0cz4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IkxpbmtlciIgbmFtZT0iU2ltcGxlVGVtcGxhdGUiIHBhc3NlZD0iZmFsc2UiIHRhcmdldG5hbWU9IlNpbXBsZVRlbXBsYXRlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxidWlsZHRhcmdldHJlZmVyZW5jZSBuYW1lPSIvVmlzaW9uU2FtcGxlMjAxMy9TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IlBhcnRpYWwgSW1hZ2UgTGlua2VyIiBuYW1lPSJTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiIHBhc3NlZD0idHJ1ZSIgdGFyZ2V0bmFtZT0iU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlIj4NCi0gICAgICAgICAgICA8Y29udGVudHM+DQotICAgICAgICAgICAgICAgIDxmb2xkZXIgbmFtZT0iL1Zpc2lvblNhbXBsZTIwMTMiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICA8L2J1aWxkdGFyZ2V0cz4NCi08L3dyeG1sPg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1BQQzYwM2dudS9NYWtlZmlsZSBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1BQQzYwM2dudS9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDg0YmFiYS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9QUEM2MDNnbnUvTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwyMTkgKzAsMCBAQAotIyBXaW5kIFJpdmVyIFdvcmtiZW5jaCBnZW5lcmF0ZWQgTWFrZWZpbGUuDQotIyBEbyBub3QgZWRpdCEhIQ0KLSMNCi0jIFRoZSBmaWxlICIud3JtYWtlZmlsZSIgaXMgdGhlIHRlbXBsYXRlIHVzZWQgYnkgdGhlIFdpbmQgUml2ZXIgV29ya2JlbmNoIHRvDQotIyBnZW5lcmF0ZSB0aGUgbWFrZWZpbGVzIG9mIHRoaXMgcHJvamVjdC4gQWRkIHVzZXItc3BlY2lmaWMgYnVpbGQgdGFyZ2V0cyBhbmQNCi0jIG1ha2UgcnVsZXMgb25seSghKSBpbiB0aGlzIHByb2plY3QncyAiLndybWFrZWZpbGUiIGZpbGUuIFRoZXNlIHdpbGwgdGhlbiBiZQ0KLSMgYXV0b21hdGljYWxseSBkdW1wZWQgaW50byB0aGUgbWFrZWZpbGVzLg0KLQ0KLVdJTkRfSE9NRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfSE9NRSkpDQotV0lORF9CQVNFIDo9ICQoc3Vic3QgXCwvLCQoV0lORF9CQVNFKSkNCi1XSU5EX1VTUiA6PSAkKHN1YnN0IFwsLywkKFdJTkRfVVNSKSkNCi0NCi1hbGwgOiBwcmVfYnVpbGQgbWFpbl9hbGwgcG9zdF9idWlsZA0KLQ0KLV9jbGVhbiA6Og0KLQlAZWNobyAibWFrZTogcmVtb3ZpbmcgdGFyZ2V0cyBhbmQgb2JqZWN0cyBvZiBgcHdkYCINCi0NCi1UUkFDRT0wDQotVFJBQ0VPTj0kKFRSQUNFOjA9QCkNCi1UUkFDRV9GTEFHPSQoVFJBQ0VPTjoxPSkNCi0NCi1NQUtFRklMRSA6PSBNYWtlZmlsZQ0KLQ0KLUZMRVhJQkxFX0JVSUxEIDo9IDENCi0NCi1CVUlMRF9TUEVDID0gUFBDNjAzZ251DQotREVCVUdfTU9ERSA9IDENCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotTU9ERV9ESVIgOj0gRGVidWcNCi1lbHNlDQotTU9ERV9ESVIgOj0gTm9uRGVidWcNCi1lbmRpZg0KLU9CSl9ESVIgOj0gLg0KLVdTX1JPT1RfRElSIDo9IEM6L1dpbmRSaXZlci93b3Jrc3BhY2UNCi1QUkpfUk9PVF9ESVIgOj0gJChXU19ST09UX0RJUikvVmlzaW9uU2FtcGxlMjAxMw0KLQ0KLQ0KLQ0KLSNHbG9iYWwgQnVpbGQgTWFjcm9zDQotUFJPSkVDVF9UWVBFID0gREtNDQotREVGSU5FUyA9IA0KLUVYUEFORF9EQkcgPSAwDQotDQotDQotI0J1aWxkU3BlYyBzcGVjaWZpYyBCdWlsZCBNYWNyb3MNCi1WWF9DUFVfRkFNSUxZID0gcHBjDQotQ1BVID0gUFBDNjAzDQotVE9PTF9GQU1JTFkgPSBnbnUNCi1UT09MID0gZ251DQotVE9PTF9QQVRIID0gDQotQ0NfQVJDSF9TUEVDID0gLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbA0KLUxJQlBBVEggPSANCi1MSUJTID0gDQotDQotSURFX0lOQ0xVREVTID0gLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvV1BJTGliIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAgDQotDQotSURFX0xJQlJBUklFUyA9ICQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIA0KLQ0KLUlERV9ERUZJTkVTID0gDQotDQotDQotDQotI0J1aWxkVG9vbCBmbGFncw0KLWlmZXEgKCQoREVCVUdfTU9ERSksMSkNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLURFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1ERUJVR0ZMQUdTX0xpbmtlciA9IC1nDQotREVCVUdGTEFHU19QYXJ0aWFsLUltYWdlLUxpbmtlciA9IA0KLURFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtZw0KLWVsc2UNCi1ERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotREVCVUdGTEFHU19MaW5rZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotREVCVUdGTEFHU19QYXJ0aWFsLUltYWdlLUxpbmtlciA9IA0KLURFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotREVCVUdGTEFHU19Bc3NlbWJsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotZW5kaWYNCi0NCi0NCi0jUHJvamVjdCBUYXJnZXRzDQotUFJPSkVDVF9UQVJHRVRTID0gU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvU2ltcGxlVGVtcGxhdGUub3V0IFwNCi0JIFNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS9TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2Uubw0KLQ0KLQ0KLSNSdWxlcw0KLQ0KLSMgU2ltcGxlVGVtcGxhdGUNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQy1Db21waWxlciA9IC1nDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQysrLUNvbXBpbGVyID0gLWcNCi1TaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19MaW5rZXIgPSAtZw0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX1BhcnRpYWwtSW1hZ2UtTGlua2VyID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1TaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlua2VyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX1BhcnRpYWwtSW1hZ2UtTGlua2VyID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlicmFyaWFuID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IElERV9JTkNMVURFUyA9IC1JJChXSU5EX0JBU0UpL3RhcmdldC9oIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIA0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpLyUgOiBJREVfTElCUkFSSUVTID0gJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEgDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IElERV9ERUZJTkVTID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IFBST0pFQ1RfVFlQRSA9IERLTQ0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpLyUgOiBERUZJTkVTID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IEVYUEFORF9EQkcgPSAwDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IFZYX0NQVV9GQU1JTFkgPSBwcGMNCi1TaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS8lIDogQ1BVID0gUFBDNjAzDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IFRPT0xfRkFNSUxZID0gZ251DQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IFRPT0wgPSBnbnUNCi1TaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS8lIDogVE9PTF9QQVRIID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IENDX0FSQ0hfU1BFQyA9IC1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwNCi1TaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS8lIDogTElCUEFUSCA9IA0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpLyUgOiBMSUJTID0gDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvJSA6IE9CSl9ESVIgOj0gU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikNCi0NCi1PQkpFQ1RTX1NpbXBsZVRlbXBsYXRlID0gU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpL1NpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS5vDQotDQotU2ltcGxlVGVtcGxhdGUvJChNT0RFX0RJUikvU2ltcGxlVGVtcGxhdGUub3V0IDogJChPQkpFQ1RTX1NpbXBsZVRlbXBsYXRlKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTtlY2hvICJidWlsZGluZyAkQCI7cm0gLWYgIiRAIjtubXBwYyAkKE9CSkVDVFNfU2ltcGxlVGVtcGxhdGUpICQoSURFX0xJQlJBUklFUykgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgPiAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgJChERUJVR0ZMQUdTX0xpbmtlcikgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJChJREVfSU5DTFVERVMpICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzsgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAtVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIC1vICIkQCIgJChPQkpfRElSKS9jdGR0Lm8gJChPQkpFQ1RTX1NpbXBsZVRlbXBsYXRlKSAkKElERV9MSUJSQVJJRVMpICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpL1NpbXBsZVRlbXBsYXRlX2NvbXBpbGVfZmlsZSA6ICQoRklMRSkgOw0KLQ0KLV9jbGVhbiA6OiBTaW1wbGVUZW1wbGF0ZS8kKE1PREVfRElSKS9TaW1wbGVUZW1wbGF0ZV9jbGVhbg0KLQ0KLVNpbXBsZVRlbXBsYXRlLyQoTU9ERV9ESVIpL1NpbXBsZVRlbXBsYXRlX2NsZWFuIDogDQotCSQoVFJBQ0VfRkxBRylpZiBbIC1kICJTaW1wbGVUZW1wbGF0ZSIgXTsgdGhlbiBjZCAiU2ltcGxlVGVtcGxhdGUiOyBybSAtcmYgJChNT0RFX0RJUik7IGZpDQotDQotDQotIyBTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UNCi1pZmVxICgkKERFQlVHX01PREUpLDEpDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtZw0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19DKystQ29tcGlsZXIgPSAtZw0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19MaW5rZXIgPSAtZw0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19QYXJ0aWFsLUltYWdlLUxpbmtlciA9IA0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19MaWJyYXJpYW4gPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLWcNCi1lbHNlDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0MtQ29tcGlsZXIgPSAtTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBERUJVR0ZMQUdTX0MrKy1Db21waWxlciA9IC1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4NCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfTGlua2VyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19QYXJ0aWFsLUltYWdlLUxpbmtlciA9IA0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS8lIDogREVCVUdGTEFHU19MaWJyYXJpYW4gPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IERFQlVHRkxBR1NfQXNzZW1ibGVyID0gLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbg0KLWVuZGlmDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBJREVfSU5DTFVERVMgPSAtSSQoV0lORF9CQVNFKS90YXJnZXQvaCAtSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIgLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IElERV9MSUJSQVJJRVMgPSAkKFdJTkRfQkFTRSkvdGFyZ2V0L2xpYi9XUElMaWIuYSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IElERV9ERUZJTkVTID0gDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBQUk9KRUNUX1RZUEUgPSBES00NCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IERFRklORVMgPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IEVYUEFORF9EQkcgPSAwDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBWWF9DUFVfRkFNSUxZID0gcHBjDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBDUFUgPSBQUEM2MDMNCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IFRPT0xfRkFNSUxZID0gZ251DQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBUT09MID0gZ251DQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpLyUgOiBUT09MX1BBVEggPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IENDX0FSQ0hfU1BFQyA9IC1tY3B1PTYwMyAtbXN0cmljdC1hbGlnbiAtbW5vLWltcGxpY2l0LWZwIC1tbG9uZ2NhbGwNCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IExJQlBBVEggPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IExJQlMgPSANCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvJSA6IE9CSl9ESVIgOj0gU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpDQotDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpL09iamVjdHMvVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25TYW1wbGUyMDEzLm8gOiAkKFBSSl9ST09UX0RJUikvVmlzaW9uU2FtcGxlMjAxMy5jcHAgJChGT1JDRV9GSUxFX0JVSUxEKQ0KLQkkKFRSQUNFX0ZMQUcpaWYgWyAhIC1kICJgZGlybmFtZSAiJEAiYCIgXTsgdGhlbiBta2RpciAtcCAiYGRpcm5hbWUgIiRAImAiOyBmaTtlY2hvICJidWlsZGluZyAkQCI7ICQoVE9PTF9QQVRIKWNjcHBjICQoREVCVUdGTEFHU19DKystQ29tcGlsZXIpICQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsICQoQURERURfQysrRkxBR1MpICQoSURFX0lOQ0xVREVTKSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAiJEAiIC1jICIkPCINCi0NCi0NCi1PQkpFQ1RTX1NpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSA9IFNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS9PYmplY3RzL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uU2FtcGxlMjAxMy5vDQotDQotU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlLyQoTU9ERV9ESVIpL1NpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS5vIDogJChPQkpFQ1RTX1NpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSkNCi0JJChUUkFDRV9GTEFHKWlmIFsgISAtZCAiYGRpcm5hbWUgIiRAImAiIF07IHRoZW4gbWtkaXIgLXAgImBkaXJuYW1lICIkQCJgIjsgZmk7ZWNobyAiYnVpbGRpbmcgJEAiOyAkKFRPT0xfUEFUSCljY3BwYyAtciAtbm9zdGRsaWIgLVdsLC1YICAtbyAiJEAiICQoT0JKRUNUU19TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UpICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICYmIGlmIFsgIiQoRVhQQU5EX0RCRykiID0gIjEiIF07IHRoZW4gcGxpbmsgIiRAIjtmaQ0KLQ0KLVNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS9TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2VfY29tcGlsZV9maWxlIDogJChGSUxFKSA7DQotDQotX2NsZWFuIDo6IFNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZS8kKE1PREVfRElSKS9TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2VfY2xlYW4NCi0NCi1TaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvU2ltcGxlVGVtcGxhdGVfcGFydGlhbEltYWdlX2NsZWFuIDogDQotCSQoVFJBQ0VfRkxBRylpZiBbIC1kICJTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiIF07IHRoZW4gY2QgIlNpbXBsZVRlbXBsYXRlX3BhcnRpYWxJbWFnZSI7IHJtIC1yZiAkKE1PREVfRElSKTsgZmkNCi0NCi1mb3JjZSA6IA0KLQ0KLURFUF9GSUxFUyA6PSBTaW1wbGVUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UvJChNT0RFX0RJUikvT2JqZWN0cy9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvblNhbXBsZTIwMTMuZA0KLS1pbmNsdWRlICQoREVQX0ZJTEVTKQ0KLQ0KLQ0KLQ0KLS1pbmNsdWRlICQoUFJKX1JPT1RfRElSKS8qLm1ha2VmaWxlDQotDQotLWluY2x1ZGUgKi5tYWtlZmlsZQ0KLQ0KLW1haW5fYWxsIDogZXh0ZXJuYWxfYnVpbGQgJChQUk9KRUNUX1RBUkdFVFMpDQotCUBlY2hvICJtYWtlOiBidWlsdCB0YXJnZXRzIG9mIGBwd2RgIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQNCi1leHRlcm5hbF9idWlsZCA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcHJlIHByb2Nlc3NpbmcgcHJpb3IgdG8gdGhlIGJ1aWxkDQotcHJlX2J1aWxkIDo6ICQoUFJFX0JVSUxEX1NURVApIGdlbmVyYXRlX3NvdXJjZXMNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBnZW5lcmF0aW5nIHNvdXJjZXMgcHJpb3IgdG8gdGhlIGJ1aWxkDQotZ2VuZXJhdGVfc291cmNlcyA6Og0KLQlAZWNobyAiIg0KLQ0KLSMgbWFpbiBlbnRyeSBwb2ludCBmb3IgcG9zdCBwcm9jZXNzaW5nIGFmdGVyIHRoZSBidWlsZA0KLXBvc3RfYnVpbGQgOjogJChQT1NUX0JVSUxEX1NURVApIGRlcGxveV9vdXRwdXQNCi0JQGVjaG8gIiINCi0NCi0jIGVudHJ5IHBvaW50IGZvciBkZXBsb3lpbmcgb3V0cHV0IGFmdGVyIHRoZSBidWlsZA0KLWRlcGxveV9vdXRwdXQgOjoNCi0JQGVjaG8gIiINCi0NCi1jbGVhbiA6OiBleHRlcm5hbF9jbGVhbiAkKENMRUFOX1NURVApIF9jbGVhbg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGV4dGVuZGluZyB0aGUgYnVpbGQgY2xlYW4NCi1leHRlcm5hbF9jbGVhbiA6Og0KLQlAZWNobyAiIg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy8yMDEzVmlzaW9uU2NyaXB0LnZhc2NyIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzLzIwMTNWaXNpb25TY3JpcHQudmFzY3IKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2MGM5ZGEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzLzIwMTNWaXNpb25TY3JpcHQudmFzY3IKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9GdWxsRmllbGRfU21hbGxHcmVlbi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9GdWxsRmllbGRfU21hbGxHcmVlbi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3NzY0NmUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvRnVsbEZpZWxkX1NtYWxsR3JlZW4uanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvSHlicmlkTGluZV9TbWFsbEdyZWVuMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9IeWJyaWRMaW5lX1NtYWxsR3JlZW4yLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhjY2Q2Yy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9IeWJyaWRMaW5lX1NtYWxsR3JlZW4yLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL0h5YnJpZExpbmVfU21hbGxHcmVlbjMuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvSHlicmlkTGluZV9TbWFsbEdyZWVuMy5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4NTYzMGMuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvSHlicmlkTGluZV9TbWFsbEdyZWVuMy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9IeWJyaWRMaW5lX1NtYWxsR3JlZW40LmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL0h5YnJpZExpbmVfU21hbGxHcmVlbjQuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Mjc0MDI4Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL0h5YnJpZExpbmVfU21hbGxHcmVlbjQuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvTWlkZmllbGRfU21hbGxHcmVlbjIuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvTWlkZmllbGRfU21hbGxHcmVlbjIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWI2OWEwLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL01pZGZpZWxkX1NtYWxsR3JlZW4yLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL01pZGZpZWxkX1NtYWxsR3JlZW4zLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL01pZGZpZWxkX1NtYWxsR3JlZW4zLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzc5ZGNmNC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9NaWRmaWVsZF9TbWFsbEdyZWVuMy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9NaWRmaWVsZF9TbWFsbEdyZWVuNC5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9NaWRmaWVsZF9TbWFsbEdyZWVuNC5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZWI0ZjcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvTWlkZmllbGRfU21hbGxHcmVlbjQuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL0ZpcnN0IENob2ljZSBHcmVlbiBJbWFnZXMvT3BwTGluZV9TbWFsbEdyZWVuMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9PcHBMaW5lX1NtYWxsR3JlZW4yLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzQ5YzI5ZC4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9PcHBMaW5lX1NtYWxsR3JlZW4yLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL1B5cmFtaWRSaWdodF9TbWFsbEdyZWVuMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvRmlyc3QgQ2hvaWNlIEdyZWVuIEltYWdlcy9QeXJhbWlkUmlnaHRfU21hbGxHcmVlbjIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWIxYjZhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9GaXJzdCBDaG9pY2UgR3JlZW4gSW1hZ2VzL1B5cmFtaWRSaWdodF9TbWFsbEdyZWVuMi5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzLzQ1aW5fRG91YmxlR3JlZW4uanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy80NWluX0RvdWJsZUdyZWVuLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRhYWNkZi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzLzQ1aW5fRG91YmxlR3JlZW4uanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy81N2luTGFyZ2VUYXJnZXRfRG91YmxlR3JlZW5CSy5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzLzU3aW5MYXJnZVRhcmdldF9Eb3VibGVHcmVlbkJLLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM0NDhhNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzLzU3aW5MYXJnZVRhcmdldF9Eb3VibGVHcmVlbkJLLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvRnVsbEZpZWxkX0RvdWJsZUdyZWVuQkszLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvRnVsbEZpZWxkX0RvdWJsZUdyZWVuQkszLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDlmZDY5MS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0Z1bGxGaWVsZF9Eb3VibGVHcmVlbkJLMy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0Z1bGxGaWVsZF9Eb3VibGVXaGl0ZUJLLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvRnVsbEZpZWxkX0RvdWJsZVdoaXRlQksuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOTA0YjFlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvRnVsbEZpZWxkX0RvdWJsZVdoaXRlQksuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZUdyZWVuQksyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVHcmVlbkJLMi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0NDRiYjguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZUdyZWVuQksyLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVHcmVlbkJLMy5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlR3JlZW5CSzMuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTYxYjEzLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVHcmVlbkJLMy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlR3JlZW5CSzQuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZUdyZWVuQks0LmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU2ZTQ0YS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlR3JlZW5CSzQuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZVdoaXRlQksuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZVdoaXRlQksuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTJjOWRhLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVXaGl0ZUJLLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVXaGl0ZUJLMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlV2hpdGVCSzIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTY0MjU2Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvSHlicmlkTGluZV9Eb3VibGVXaGl0ZUJLMi5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlV2hpdGVCSzMuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9IeWJyaWRMaW5lX0RvdWJsZVdoaXRlQkszLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZmNTljNy4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL0h5YnJpZExpbmVfRG91YmxlV2hpdGVCSzMuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9NaWRmaWVsZF9Eb3VibGVHcmVlbkJLMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZUdyZWVuQksyLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTcwM2QyZS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZUdyZWVuQksyLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvTWlkZmllbGRfRG91YmxlV2hpdGVCSy5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZVdoaXRlQksuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MGY0YmRlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvTWlkZmllbGRfRG91YmxlV2hpdGVCSy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZVdoaXRlQksyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvTWlkZmllbGRfRG91YmxlV2hpdGVCSzIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OTlhNmNlLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvTWlkZmllbGRfRG91YmxlV2hpdGVCSzIuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9NaWRmaWVsZF9Eb3VibGVXaGl0ZUJLMy5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZVdoaXRlQkszLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDgxZmQzYi4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL01pZGZpZWxkX0RvdWJsZVdoaXRlQkszLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvT3BwTGluZV9Eb3VibGVHcmVlbkJLMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL09wcExpbmVfRG91YmxlR3JlZW5CSzIuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjdjMTg0Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvT3BwTGluZV9Eb3VibGVHcmVlbkJLMi5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL09wcExpbmVfRG91YmxlV2hpdGVCSy5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL09wcExpbmVfRG91YmxlV2hpdGVCSy5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhZTQxNjcuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9PcHBMaW5lX0RvdWJsZVdoaXRlQksuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9PcHBMaW5lX0RvdWJsZVdoaXRlQksyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvT3BwTGluZV9Eb3VibGVXaGl0ZUJLMi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlMmEyODQuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9PcHBMaW5lX0RvdWJsZVdoaXRlQksyLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvUHlyYW1pZEZyb250X0RvdWJsZVdoaXRlQksuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9QeXJhbWlkRnJvbnRfRG91YmxlV2hpdGVCSy5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZjk2NTEuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9QeXJhbWlkRnJvbnRfRG91YmxlV2hpdGVCSy5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL1B5cmFtaWRGcm9udF9Eb3VibGVXaGl0ZUJLMi5qcGcgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL1B5cmFtaWRGcm9udF9Eb3VibGVXaGl0ZUJLMi5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY5NWRhMTguLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9QeXJhbWlkRnJvbnRfRG91YmxlV2hpdGVCSzIuanBnCisrKyAvZGV2L251bGwKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9QeXJhbWlkRnJvbnRfRG91YmxlV2hpdGVCSzMuanBnIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvVmlzaW9uSW1hZ2VzL090aGVyIEltYWdlcy9QeXJhbWlkRnJvbnRfRG91YmxlV2hpdGVCSzMuanBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjQzMGZjLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvUHlyYW1pZEZyb250X0RvdWJsZVdoaXRlQkszLmpwZworKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvUHlyYW1pZFJpZ2h0X0RvdWJsZUdyZWVuQksyLmpwZyBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvbkltYWdlcy9PdGhlciBJbWFnZXMvUHlyYW1pZFJpZ2h0X0RvdWJsZUdyZWVuQksyLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODUzZWQ5OS4uMDAwMDAwMAotLS0gYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25JbWFnZXMvT3RoZXIgSW1hZ2VzL1B5cmFtaWRSaWdodF9Eb3VibGVHcmVlbkJLMi5qcGcKKysrIC9kZXYvbnVsbApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9WaXNpb25TYW1wbGUyMDEzLmNwcCBiL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvblNhbXBsZTIwMTMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjI4YmQ5Li4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL1Zpc2lvblNhbXBsZTIwMTMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzAwICswLDAgQEAKLSNpbmNsdWRlICJXUElMaWIuaCINCi0jaW5jbHVkZSAiVmlzaW9uL1JHQkltYWdlLmgiDQotI2luY2x1ZGUgIlZpc2lvbi9CaW5hcnlJbWFnZS5oIg0KLSNpbmNsdWRlICJNYXRoLmgiDQotIA0KLS8qKg0KLSAqIFNhbXBsZSBwcm9ncmFtIHRvIHVzZSBOSVZpc2lvbiB0byBmaW5kIHJlY3RhbmdsZXMgaW4gdGhlIHNjZW5lIHRoYXQgYXJlIGlsbHVtaW5hdGVkDQotICogYnkgYSBMRUQgcmluZyBsaWdodCAoc2ltaWxhciB0byB0aGUgbW9kZWwgZnJvbSBGSVJTVENob2ljZSkuIFRoZSBjYW1lcmEgc2Vuc2l0aXZpdHkNCi0gKiBpcyBzZXQgdmVyeSBsb3cgc28gYXMgdG8gb25seSBzaG93IGxpZ2h0IHNvdXJjZXMgYW5kIHJlbW92ZSBhbnkgZGlzdHJhY3RpbmcgcGFydHMNCi0gKiBvZiB0aGUgaW1hZ2UuDQotICogDQotICogVGhlIENyaXRlcmlhQ29sbGVjdGlvbiBpcyB0aGUgc2V0IG9mIGNyaXRlcmlhIHRoYXQgaXMgdXNlZCB0byBmaWx0ZXIgdGhlIHNldCBvZg0KLSAqIHJlY3RhbmdsZXMgdGhhdCBhcmUgZGV0ZWN0ZWQuIEluIHRoaXMgZXhhbXBsZSB3ZSdyZSBsb29raW5nIGZvciByZWN0YW5nbGVzIHdpdGgNCi0gKiBhIG1pbmltdW0gd2lkdGggb2YgMzAgcGl4ZWxzIGFuZCBtYXhpbXVtIG9mIDQwMCBwaXhlbHMuDQotICogDQotICogVGhlIGFsZ29yaXRobSBmaXJzdCBkb2VzIGEgY29sb3IgdGhyZXNob2xkIG9wZXJhdGlvbiB0aGF0IG9ubHkgdGFrZXMgb2JqZWN0cyBpbiB0aGUNCi0gKiBzY2VuZSB0aGF0IGhhdmUgYSBicmlnaHQgZ3JlZW4gY29sb3IgY29tcG9uZW50LiBUaGVuIGEgY29udmV4IGh1bGwgb3BlcmF0aW9uIGZpbGxzIA0KLSAqIGFsbCB0aGUgcmVjdGFuZ2xlIG91dGxpbmVzIChldmVuIHRoZSBwYXJ0aWFsbHkgb2NjbHVkZWQgb25lcykuIFRoZW4gYSBzbWFsbCBvYmplY3QgZmlsdGVyDQotICogcmVtb3ZlcyBzbWFsbCBwYXJ0aWNsZXMgdGhhdCBtaWdodCBiZSBjYXVzZWQgYnkgZ3JlZW4gcmVmbGVjdGlvbiBzY2F0dGVyZWQgZnJvbSBvdGhlciANCi0gKiBwYXJ0cyBvZiB0aGUgc2NlbmUuIEZpbmFsbHkgYWxsIHBhcnRpY2xlcyBhcmUgc2NvcmVkIG9uIHJlY3Rhbmd1bGFyaXR5LCBhc3BlY3QgcmF0aW8sDQotICogYW5kIGhvbGxvd25lc3MgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgbWF0Y2ggdGhlIHRhcmdldC4NCi0gKg0KLSAqIExvb2sgaW4gdGhlIFZpc2lvbkltYWdlcyBkaXJlY3RvcnkgaW5zaWRlIHRoZSBwcm9qZWN0IHRoYXQgaXMgY3JlYXRlZCBmb3IgdGhlIHNhbXBsZQ0KLSAqIGltYWdlcyBhcyB3ZWxsIGFzIHRoZSBOSSBWaXNpb24gQXNzaXN0YW50IGZpbGUgdGhhdCBjb250YWlucyB0aGUgdmlzaW9uIGNvbW1hbmQNCi0gKiBjaGFpbiAob3BlbiBpdCB3aXRoIHRoZSBWaXNpb24gQXNzaXN0YW50KQ0KLSAqLw0KLQ0KLS8vQ2FtZXJhIGNvbnN0YW50cyB1c2VkIGZvciBkaXN0YW5jZSBjYWxjdWxhdGlvbg0KLSNkZWZpbmUgWF9JTUFHRV9SRVMgMzIwCQkvL1ggSW1hZ2UgcmVzb2x1dGlvbiBpbiBwaXhlbHMsIHNob3VsZCBiZSAxNjAsIDMyMCBvciA2NDANCi0jZGVmaW5lIFZJRVdfQU5HTEUgNDgJCS8vQXhpcyAyMDYgY2FtZXJhDQotLy8jZGVmaW5lIFZJRVdfQU5HTEUgNDMuNSAgLy9BeGlzIE0xMDExIGNhbWVyYQ0KLSNkZWZpbmUgUEkgMy4xNDE1OTI2NTMNCi0NCi0vL1Njb3JlIGxpbWl0cyB1c2VkIGZvciB0YXJnZXQgaWRlbnRpZmljYXRpb24NCi0jZGVmaW5lIFJFQ1RBTkdVTEFSSVRZX0xJTUlUIDYwDQotI2RlZmluZSBBU1BFQ1RfUkFUSU9fTElNSVQgNzUNCi0jZGVmaW5lIFhfRURHRV9MSU1JVCA0MA0KLSNkZWZpbmUgWV9FREdFX0xJTUlUIDYwDQotDQotLy9NaW5pbXVtIGFyZWEgb2YgcGFydGljbGVzIHRvIGJlIGNvbnNpZGVyZWQNCi0jZGVmaW5lIEFSRUFfTUlOSU1VTSA1MDANCi0NCi0vL0VkZ2UgcHJvZmlsZSBjb25zdGFudHMgdXNlZCBmb3IgaG9sbG93bmVzcyBzY29yZSBjYWxjdWxhdGlvbg0KLSNkZWZpbmUgWE1BWFNJWkUgMjQNCi0jZGVmaW5lIFhNSU5TSVpFIDI0DQotI2RlZmluZSBZTUFYU0laRSAyNA0KLSNkZWZpbmUgWU1JTlNJWkUgNDgNCi1jb25zdCBkb3VibGUgeE1heFtYTUFYU0laRV0gPSB7MSwgMSwgMSwgMSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIDEsIDEsIDEsIDF9Ow0KLWNvbnN0IGRvdWJsZSB4TWluW1hNSU5TSVpFXSA9IHsuNCwgLjYsIC4xLCAuMSwgLjEsIC4xLCAuMSwgLjEsIC4xLCAuMSwgLjEsIC4xLCAuMSwgLjEsIC4xLCAuMSwgLjEsIC4xLCAuMSwgLjEsIC4xLCAuMSwgMC42LCAwfTsNCi1jb25zdCBkb3VibGUgeU1heFtZTUFYU0laRV0gPSB7MSwgMSwgMSwgMSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIC41LCAuNSwgLjUsIDEsIDEsIDEsIDF9Ow0KLWNvbnN0IGRvdWJsZSB5TWluW1lNSU5TSVpFXSA9IHsuNCwgLjYsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LA0KLQkJCQkJCQkJLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LCAuMDUsIC4wNSwgLjA1LA0KLQkJCQkJCQkJLjA1LCAuMDUsIC42LCAwfTsNCi0NCi1jbGFzcyBWaXNpb25TYW1wbGUyMDEyIDogcHVibGljIFNpbXBsZVJvYm90DQotew0KLQkvL1N0cnVjdHVyZSB0byByZXByZXNlbnQgdGhlIHNjb3JlcyBmb3IgdGhlIHZhcmlvdXMgdGVzdHMgdXNlZCBmb3IgdGFyZ2V0IGlkZW50aWZpY2F0aW9uDQotCXN0cnVjdCBTY29yZXMgew0KLQkJZG91YmxlIHJlY3Rhbmd1bGFyaXR5Ow0KLQkJZG91YmxlIGFzcGVjdFJhdGlvSW5uZXI7DQotCQlkb3VibGUgYXNwZWN0UmF0aW9PdXRlcjsNCi0JCWRvdWJsZSB4RWRnZTsNCi0JCWRvdWJsZSB5RWRnZTsNCi0NCi0JfTsNCi0JDQotCVJvYm90RHJpdmUgbXlSb2JvdDsgLy8gcm9ib3QgZHJpdmUgc3lzdGVtDQotCUpveXN0aWNrIHN0aWNrOyAvLyBvbmx5IGpveXN0aWNrDQotCVNjb3JlcyAqc2NvcmVzOw0KLQ0KLXB1YmxpYzoNCi0JVmlzaW9uU2FtcGxlMjAxMih2b2lkKToNCi0JCW15Um9ib3QoMSwgMiksCS8vIHRoZXNlIG11c3QgYmUgaW5pdGlhbGl6ZWQgaW4gdGhlIHNhbWUgb3JkZXINCi0JCXN0aWNrKDEpCQkvLyBhcyB0aGV5IGFyZSBkZWNsYXJlZCBhYm92ZS4NCi0Jew0KLQkJbXlSb2JvdC5TZXRFeHBpcmF0aW9uKDAuMSk7DQotCQlteVJvYm90LlNldFNhZmV0eUVuYWJsZWQoZmFsc2UpOw0KLQl9DQotDQotCS8qKg0KLQkgKiBJbWFnZSBwcm9jZXNzaW5nIGNvZGUgdG8gaWRlbnRpZnkgMjAxMyBWaXNpb24gdGFyZ2V0cw0KLQkgKi8NCi0Jdm9pZCBBdXRvbm9tb3VzKHZvaWQpDQotCXsNCi0JCQ0KLQkJVGhyZXNob2xkIHRocmVzaG9sZCg2MCwgMTAwLCA5MCwgMjU1LCAyMCwgMjU1KTsJLy9IU1YgdGhyZXNob2xkIGNyaXRlcmlhLCByYW5nZXMgYXJlIGluIHRoYXQgb3JkZXIgaWUuIEh1ZSBpcyA2MC0xMDANCi0JCVBhcnRpY2xlRmlsdGVyQ3JpdGVyaWEyIGNyaXRlcmlhW10gPSB7DQotCQkJCXtJTUFRX01UX0FSRUEsIEFSRUFfTUlOSU1VTSwgNjU1MzUsIGZhbHNlLCBmYWxzZX0NCi0JCX07CQkJCQkJCQkJCQkJLy9QYXJ0aWNsZSBmaWx0ZXIgY3JpdGVyaWEsIHVzZWQgdG8gZmlsdGVyIG91dCBzbWFsbCBwYXJ0aWNsZXMNCi0JCS8vIEF4aXNDYW1lcmEgJmNhbWVyYSA9IEF4aXNDYW1lcmE6OkdldEluc3RhbmNlKCk7CS8vVG8gdXNlIHRoZSBBeGlzIGNhbWVyYSB1bmNvbW1lbnQgdGhpcyBsaW5lDQotCQkNCi0JCXdoaWxlIChJc0F1dG9ub21vdXMoKSAmJiBJc0VuYWJsZWQoKSkgew0KLSAgICAgICAgICAgIC8qKg0KLSAgICAgICAgICAgICAqIERvIHRoZSBpbWFnZSBjYXB0dXJlIHdpdGggdGhlIGNhbWVyYSBhbmQgYXBwbHkgdGhlIGFsZ29yaXRobSBkZXNjcmliZWQgYWJvdmUuIFRoaXMNCi0gICAgICAgICAgICAgKiBzYW1wbGUgd2lsbCBlaXRoZXIgZ2V0IGltYWdlcyBmcm9tIHRoZSBjYW1lcmEgb3IgZnJvbSBhbiBpbWFnZSBmaWxlIHN0b3JlZCBpbiB0aGUgdG9wDQotICAgICAgICAgICAgICogbGV2ZWwgZGlyZWN0b3J5IGluIHRoZSBmbGFzaCBtZW1vcnkgb24gdGhlIGNSSU8uIFRoZSBmaWxlIG5hbWUgaW4gdGhpcyBjYXNlIGlzICJ0ZXN0SW1hZ2UuanBnIg0KLSAgICAgICAgICAgICAqLw0KLQkJCUNvbG9ySW1hZ2UgKmltYWdlOw0KLQkJCWltYWdlID0gbmV3IFJHQkltYWdlKCIvdGVzdEltYWdlLmpwZyIpOwkJLy8gZ2V0IHRoZSBzYW1wbGUgaW1hZ2UgZnJvbSB0aGUgY1JJTyBmbGFzaA0KLQ0KLQkJCS8vY2FtZXJhLkdldEltYWdlKGltYWdlKTsJCQkJLy9UbyBnZXQgdGhlIGltYWdlcyBmcm9tIHRoZSBjYW1lcmEgY29tbWVudCB0aGUgbGluZSBhYm92ZSBhbmQgdW5jb21tZW50IHRoaXMgb25lDQotCQkJQmluYXJ5SW1hZ2UgKnRocmVzaG9sZEltYWdlID0gaW1hZ2UtPlRocmVzaG9sZEhTVih0aHJlc2hvbGQpOwkvLyBnZXQganVzdCB0aGUgZ3JlZW4gdGFyZ2V0IHBpeGVscw0KLQkJCS8vdGhyZXNob2xkSW1hZ2UtPldyaXRlKCIvdGhyZXNob2xkLmJtcCIpOw0KLQkJCUJpbmFyeUltYWdlICpjb252ZXhIdWxsSW1hZ2UgPSB0aHJlc2hvbGRJbWFnZS0+Q29udmV4SHVsbChmYWxzZSk7ICAvLyBmaWxsIGluIHBhcnRpYWwgYW5kIGZ1bGwgcmVjdGFuZ2xlcw0KLQkJCS8vY29udmV4SHVsbEltYWdlLT5Xcml0ZSgiL0NvbnZleEh1bGwuYm1wIik7DQotCQkJQmluYXJ5SW1hZ2UgKmZpbHRlcmVkSW1hZ2UgPSBjb252ZXhIdWxsSW1hZ2UtPlBhcnRpY2xlRmlsdGVyKGNyaXRlcmlhLCAxKTsJLy9SZW1vdmUgc21hbGwgcGFydGljbGVzDQotCQkJLy9maWx0ZXJlZEltYWdlLT5Xcml0ZSgiRmlsdGVyZWQuYm1wIik7DQotDQotCQkJdmVjdG9yPFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQ+ICpyZXBvcnRzID0gZmlsdGVyZWRJbWFnZS0+R2V0T3JkZXJlZFBhcnRpY2xlQW5hbHlzaXNSZXBvcnRzKCk7ICAvL2dldCBhIHBhcnRpY2xlIGFuYWx5c2lzIHJlcG9ydCBmb3IgZWFjaCBwYXJ0aWNsZQ0KLQkJCXNjb3JlcyA9IG5ldyBTY29yZXNbcmVwb3J0cy0+c2l6ZSgpXTsNCi0JCQkNCi0JCQkvL0l0ZXJhdGUgdGhyb3VnaCBlYWNoIHBhcnRpY2xlLCBzY29yaW5nIGl0IGFuZCBkZXRlcm1pbmluZyB3aGV0aGVyIGl0IGlzIGEgdGFyZ2V0IG9yIG5vdA0KLQkJCWZvciAodW5zaWduZWQgaSA9IDA7IGkgPCByZXBvcnRzLT5zaXplKCk7IGkrKykgew0KLQkJCQlQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICpyZXBvcnQgPSAmKHJlcG9ydHMtPmF0KGkpKTsNCi0JCQkJDQotCQkJCXNjb3Jlc1tpXS5yZWN0YW5ndWxhcml0eSA9IHNjb3JlUmVjdGFuZ3VsYXJpdHkocmVwb3J0KTsNCi0JCQkJc2NvcmVzW2ldLmFzcGVjdFJhdGlvT3V0ZXIgPSBzY29yZUFzcGVjdFJhdGlvKGZpbHRlcmVkSW1hZ2UsIHJlcG9ydCwgdHJ1ZSk7DQotCQkJCXNjb3Jlc1tpXS5hc3BlY3RSYXRpb0lubmVyID0gc2NvcmVBc3BlY3RSYXRpbyhmaWx0ZXJlZEltYWdlLCByZXBvcnQsIGZhbHNlKTsJCQkNCi0JCQkJc2NvcmVzW2ldLnhFZGdlID0gc2NvcmVYRWRnZSh0aHJlc2hvbGRJbWFnZSwgcmVwb3J0KTsNCi0JCQkJc2NvcmVzW2ldLnlFZGdlID0gc2NvcmVZRWRnZSh0aHJlc2hvbGRJbWFnZSwgcmVwb3J0KTsNCi0JCQkJDQotCQkJCWlmKHNjb3JlQ29tcGFyZShzY29yZXNbaV0sIGZhbHNlKSkNCi0JCQkJew0KLQkJCQkJcHJpbnRmKCJwYXJ0aWNsZTogJWQgIGlzIGEgSGlnaCBHb2FsICBjZW50ZXJYOiAlZiAgY2VudGVyWTogJWYgXG4iLCBpLCByZXBvcnQtPmNlbnRlcl9tYXNzX3hfbm9ybWFsaXplZCwgcmVwb3J0LT5jZW50ZXJfbWFzc195X25vcm1hbGl6ZWQpOw0KLQkJCQkJcHJpbnRmKCJEaXN0YW5jZTogJWYgXG4iLCBjb21wdXRlRGlzdGFuY2UodGhyZXNob2xkSW1hZ2UsIHJlcG9ydCwgZmFsc2UpKTsNCi0JCQkJfSBlbHNlIGlmIChzY29yZUNvbXBhcmUoc2NvcmVzW2ldLCB0cnVlKSkgew0KLQkJCQkJcHJpbnRmKCJwYXJ0aWNsZTogJWQgIGlzIGEgTWlkZGxlIEdvYWwgIGNlbnRlclg6ICVmICBjZW50ZXJZOiAlZiBcbiIsIGksIHJlcG9ydC0+Y2VudGVyX21hc3NfeF9ub3JtYWxpemVkLCByZXBvcnQtPmNlbnRlcl9tYXNzX3lfbm9ybWFsaXplZCk7DQotCQkJCQlwcmludGYoIkRpc3RhbmNlOiAlZiBcbiIsIGNvbXB1dGVEaXN0YW5jZSh0aHJlc2hvbGRJbWFnZSwgcmVwb3J0LCB0cnVlKSk7DQotCQkJCX0gZWxzZSB7DQotCQkJCQlwcmludGYoInBhcnRpY2xlOiAlZCAgaXMgbm90IGEgZ29hbCAgY2VudGVyWDogJWYgIGNlbnRlclk6ICVmIFxuIiwgaSwgcmVwb3J0LT5jZW50ZXJfbWFzc194X25vcm1hbGl6ZWQsIHJlcG9ydC0+Y2VudGVyX21hc3NfeV9ub3JtYWxpemVkKTsNCi0JCQkJfQ0KLQkJCQlwcmludGYoInJlY3Q6ICVmICBBUmlubmVyOiAlZiBcbiIsIHNjb3Jlc1tpXS5yZWN0YW5ndWxhcml0eSwgc2NvcmVzW2ldLmFzcGVjdFJhdGlvSW5uZXIpOw0KLQkJCQlwcmludGYoIkFSb3V0ZXI6ICVmICB4RWRnZTogJWYgIHlFZGdlOiAlZiAgXG4iLCBzY29yZXNbaV0uYXNwZWN0UmF0aW9PdXRlciwgc2NvcmVzW2ldLnhFZGdlLCBzY29yZXNbaV0ueUVkZ2UpOwkNCi0JCQl9DQotCQkJcHJpbnRmKCJcbiIpOw0KLQkJCQ0KLQkJCS8vIGJlIHN1cmUgdG8gZGVsZXRlIGltYWdlcyBhZnRlciB1c2luZyB0aGVtDQotCQkJZGVsZXRlIGZpbHRlcmVkSW1hZ2U7DQotCQkJZGVsZXRlIGNvbnZleEh1bGxJbWFnZTsNCi0JCQlkZWxldGUgdGhyZXNob2xkSW1hZ2U7DQotCQkJZGVsZXRlIGltYWdlOw0KLQkJCQ0KLQkJCS8vZGVsZXRlIGFsbG9jYXRlZCByZXBvcnRzIGFuZCBTY29yZXMgb2JqZWN0cyBhbHNvDQotCQkJZGVsZXRlIHNjb3JlczsNCi0JCQlkZWxldGUgcmVwb3J0czsNCi0JCX0NCi0JfQ0KLQ0KLQkvKioNCi0JICogUnVucyB0aGUgbW90b3JzIHdpdGggYXJjYWRlIHN0ZWVyaW5nLiANCi0JICovDQotCXZvaWQgT3BlcmF0b3JDb250cm9sKHZvaWQpDQotCXsNCi0JCW15Um9ib3QuU2V0U2FmZXR5RW5hYmxlZCh0cnVlKTsNCi0JCXdoaWxlIChJc09wZXJhdG9yQ29udHJvbCgpKQ0KLQkJew0KLQkJCVdhaXQoMC4wMDUpOwkJCQkvLyB3YWl0IGZvciBhIG1vdG9yIHVwZGF0ZSB0aW1lDQotCQl9DQotCX0NCi0JDQotCS8qKg0KLQkgKiBDb21wdXRlcyB0aGUgZXN0aW1hdGVkIGRpc3RhbmNlIHRvIGEgdGFyZ2V0IHVzaW5nIHRoZSBoZWlnaHQgb2YgdGhlIHBhcnRpY2xlIGluIHRoZSBpbWFnZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGdyYXBoaWNzDQotCSAqIHNob3dpbmcgdGhlIG1hdGggYmVoaW5kIHRoaXMgYXBwcm9hY2ggc2VlIHRoZSBWaXNpb24gUHJvY2Vzc2luZyBzZWN0aW9uIG9mIHRoZSBTY3JlZW5TdGVwc0xpdmUgZG9jdW1lbnRhdGlvbi4NCi0JICogDQotCSAqIEBwYXJhbSBpbWFnZSBUaGUgaW1hZ2UgdG8gdXNlIGZvciBtZWFzdXJpbmcgdGhlIHBhcnRpY2xlIGVzdGltYXRlZCByZWN0YW5nbGUNCi0JICogQHBhcmFtIHJlcG9ydCBUaGUgUGFydGljbGUgQW5hbHlzaXMgUmVwb3J0IGZvciB0aGUgcGFydGljbGUNCi0JICogQHBhcmFtIG91dGVyIFRydWUgaWYgdGhlIHBhcnRpY2xlIHNob3VsZCBiZSB0cmVhdGVkIGFzIGFuIG91dGVyIHRhcmdldCwgZmFsc2UgdG8gdHJlYXQgaXQgYXMgYSBjZW50ZXIgdGFyZ2V0DQotCSAqIEByZXR1cm4gVGhlIGVzdGltYXRlZCBkaXN0YW5jZSB0byB0aGUgdGFyZ2V0IGluIEluY2hlcy4NCi0JICovDQotCWRvdWJsZSBjb21wdXRlRGlzdGFuY2UgKEJpbmFyeUltYWdlICppbWFnZSwgUGFydGljbGVBbmFseXNpc1JlcG9ydCAqcmVwb3J0LCBib29sIG91dGVyKSB7DQotCQlkb3VibGUgcmVjdFNob3J0LCBoZWlnaHQ7DQotCQlpbnQgdGFyZ2V0SGVpZ2h0Ow0KLQkJDQotCQlpbWFxTWVhc3VyZVBhcnRpY2xlKGltYWdlLT5HZXRJbWFxSW1hZ2UoKSwgcmVwb3J0LT5wYXJ0aWNsZUluZGV4LCAwLCBJTUFRX01UX0VRVUlWQUxFTlRfUkVDVF9TSE9SVF9TSURFLCAmcmVjdFNob3J0KTsNCi0JCS8vdXNpbmcgdGhlIHNtYWxsZXIgb2YgdGhlIGVzdGltYXRlZCByZWN0YW5nbGUgc2hvcnQgc2lkZSBhbmQgdGhlIGJvdW5kaW5nIHJlY3RhbmdsZSBoZWlnaHQgcmVzdWx0cyBpbiBiZXR0ZXIgcGVyZm9ybWFuY2UNCi0JCS8vb24gc2tld2VkIHJlY3RhbmdsZXMNCi0JCWhlaWdodCA9IG1pbihyZXBvcnQtPmJvdW5kaW5nUmVjdC5oZWlnaHQsIHJlY3RTaG9ydCk7DQotCQl0YXJnZXRIZWlnaHQgPSBvdXRlciA/IDI5IDogMjE7DQotCQkNCi0JCXJldHVybiBYX0lNQUdFX1JFUyAqIHRhcmdldEhlaWdodCAvIChoZWlnaHQgKiAxMiAqIDIgKiB0YW4oVklFV19BTkdMRSpQSS8oMTgwKjIpKSk7DQotCX0NCi0JDQotCS8qKg0KLQkgKiBDb21wdXRlcyBhIHNjb3JlICgwLTEwMCkgY29tcGFyaW5nIHRoZSBhc3BlY3QgcmF0aW8gdG8gdGhlIGlkZWFsIGFzcGVjdCByYXRpbyBmb3IgdGhlIHRhcmdldC4gVGhpcyBtZXRob2QgdXNlcw0KLQkgKiB0aGUgZXF1aXZhbGVudCByZWN0YW5nbGUgc2lkZXMgdG8gZGV0ZXJtaW5lIGFzcGVjdCByYXRpbyBhcyBpdCBwZXJmb3JtcyBiZXR0ZXIgYXMgdGhlIHRhcmdldCBnZXRzIHNrZXdlZCBieSBtb3ZpbmcNCi0JICogdG8gdGhlIGxlZnQgb3IgcmlnaHQuIFRoZSBlcXVpdmFsZW50IHJlY3RhbmdsZSBpcyB0aGUgcmVjdGFuZ2xlIHdpdGggc2lkZXMgeCBhbmQgeSB3aGVyZSBwYXJ0aWNsZSBhcmVhPSB4KnkNCi0JICogYW5kIHBhcnRpY2xlIHBlcmltZXRlcj0gMngrMnkNCi0JICogDQotCSAqIEBwYXJhbSBpbWFnZSBUaGUgaW1hZ2UgY29udGFpbmluZyB0aGUgcGFydGljbGUgdG8gc2NvcmUsIG5lZWRlZCB0byBwZXJmb3JtIGFkZGl0aW9uYWwgbWVhc3VyZW1lbnRzDQotCSAqIEBwYXJhbSByZXBvcnQgVGhlIFBhcnRpY2xlIEFuYWx5c2lzIFJlcG9ydCBmb3IgdGhlIHBhcnRpY2xlLCB1c2VkIGZvciB0aGUgd2lkdGgsIGhlaWdodCwgYW5kIHBhcnRpY2xlIG51bWJlcg0KLQkgKiBAcGFyYW0gb3V0ZXIJSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBhcnRpY2xlIGFzcGVjdCByYXRpbyBzaG91bGQgYmUgY29tcGFyZWQgdG8gdGhlIHJhdGlvIGZvciB0aGUgaW5uZXIgdGFyZ2V0IG9yIHRoZSBvdXRlcg0KLQkgKiBAcmV0dXJuIFRoZSBhc3BlY3QgcmF0aW8gc2NvcmUgKDAtMTAwKQ0KLQkgKi8NCi0JZG91YmxlIHNjb3JlQXNwZWN0UmF0aW8oQmluYXJ5SW1hZ2UgKmltYWdlLCBQYXJ0aWNsZUFuYWx5c2lzUmVwb3J0ICpyZXBvcnQsIGJvb2wgb3V0ZXIpew0KLQkJZG91YmxlIHJlY3RMb25nLCByZWN0U2hvcnQsIGlkZWFsQXNwZWN0UmF0aW8sIGFzcGVjdFJhdGlvOw0KLQkJaWRlYWxBc3BlY3RSYXRpbyA9IG91dGVyID8gKDYyLzI5KSA6ICg2Mi8yMCk7CS8vRGltZW5zaW9ucyBvZiBnb2FsIG9wZW5pbmcgKyA0IGluY2hlcyBvbiBhbGwgNCBzaWRlcyBmb3IgcmVmbGVjdGl2ZSB0YXBlDQotCQkNCi0JCWltYXFNZWFzdXJlUGFydGljbGUoaW1hZ2UtPkdldEltYXFJbWFnZSgpLCByZXBvcnQtPnBhcnRpY2xlSW5kZXgsIDAsIElNQVFfTVRfRVFVSVZBTEVOVF9SRUNUX0xPTkdfU0lERSwgJnJlY3RMb25nKTsNCi0JCWltYXFNZWFzdXJlUGFydGljbGUoaW1hZ2UtPkdldEltYXFJbWFnZSgpLCByZXBvcnQtPnBhcnRpY2xlSW5kZXgsIDAsIElNQVFfTVRfRVFVSVZBTEVOVF9SRUNUX1NIT1JUX1NJREUsICZyZWN0U2hvcnQpOw0KLQkJDQotCQkvL0RpdmlkZSB3aWR0aCBieSBoZWlnaHQgdG8gbWVhc3VyZSBhc3BlY3QgcmF0aW8NCi0JCWlmKHJlcG9ydC0+Ym91bmRpbmdSZWN0LndpZHRoID4gcmVwb3J0LT5ib3VuZGluZ1JlY3QuaGVpZ2h0KXsNCi0JCQkvL3BhcnRpY2xlIGlzIHdpZGVyIHRoYW4gaXQgaXMgdGFsbCwgZGl2aWRlIGxvbmcgYnkgc2hvcnQNCi0JCQlhc3BlY3RSYXRpbyA9IDEwMCooMS1mYWJzKCgxLSgocmVjdExvbmcvcmVjdFNob3J0KS9pZGVhbEFzcGVjdFJhdGlvKSkpKTsNCi0JCX0gZWxzZSB7DQotCQkJLy9wYXJ0aWNsZSBpcyB0YWxsZXIgdGhhbiBpdCBpcyB3aWRlLCBkaXZpZGUgc2hvcnQgYnkgbG9uZw0KLQkJCWFzcGVjdFJhdGlvID0gMTAwKigxLWZhYnMoKDEtKChyZWN0U2hvcnQvcmVjdExvbmcpL2lkZWFsQXNwZWN0UmF0aW8pKSkpOw0KLQkJfQ0KLQkJcmV0dXJuIChtYXgoMCwgbWluKGFzcGVjdFJhdGlvLCAxMDApKSk7CQkvL2ZvcmNlIHRvIGJlIGluIHJhbmdlIDAtMTAwDQotCX0NCi0JDQotCS8qKg0KLQkgKiBDb21wYXJlcyBzY29yZXMgdG8gZGVmaW5lZCBsaW1pdHMgYW5kIHJldHVybnMgdHJ1ZSBpZiB0aGUgcGFydGljbGUgYXBwZWFycyB0byBiZSBhIHRhcmdldA0KLQkgKiANCi0JICogQHBhcmFtIHNjb3JlcyBUaGUgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIHNjb3JlcyB0byBjb21wYXJlDQotCSAqIEBwYXJhbSBvdXRlciBUcnVlIGlmIHRoZSBwYXJ0aWNsZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBhbiBvdXRlciB0YXJnZXQsIGZhbHNlIHRvIHRyZWF0IGl0IGFzIGEgY2VudGVyIHRhcmdldA0KLQkgKiANCi0JICogQHJldHVybiBUcnVlIGlmIHRoZSBwYXJ0aWNsZSBtZWV0cyBhbGwgbGltaXRzLCBmYWxzZSBvdGhlcndpc2UNCi0JICovDQotCWJvb2wgc2NvcmVDb21wYXJlKFNjb3JlcyBzY29yZXMsIGJvb2wgb3V0ZXIpew0KLQkJYm9vbCBpc1RhcmdldCA9IHRydWU7DQotDQotCQlpc1RhcmdldCAmPSBzY29yZXMucmVjdGFuZ3VsYXJpdHkgPiBSRUNUQU5HVUxBUklUWV9MSU1JVDsNCi0JCWlmKG91dGVyKXsNCi0JCQlpc1RhcmdldCAmPSBzY29yZXMuYXNwZWN0UmF0aW9PdXRlciA+IEFTUEVDVF9SQVRJT19MSU1JVDsNCi0JCX0gZWxzZSB7DQotCQkJaXNUYXJnZXQgJj0gc2NvcmVzLmFzcGVjdFJhdGlvSW5uZXIgPiBBU1BFQ1RfUkFUSU9fTElNSVQ7DQotCQl9DQotCQlpc1RhcmdldCAmPSBzY29yZXMueEVkZ2UgPiBYX0VER0VfTElNSVQ7DQotCQlpc1RhcmdldCAmPSBzY29yZXMueUVkZ2UgPiBZX0VER0VfTElNSVQ7DQotDQotCQlyZXR1cm4gaXNUYXJnZXQ7DQotCX0NCi0JDQotCS8qKg0KLQkgKiBDb21wdXRlcyBhIHNjb3JlICgwLTEwMCkgZXN0aW1hdGluZyBob3cgcmVjdGFuZ3VsYXIgdGhlIHBhcnRpY2xlIGlzIGJ5IGNvbXBhcmluZyB0aGUgYXJlYSBvZiB0aGUgcGFydGljbGUNCi0JICogdG8gdGhlIGFyZWEgb2YgdGhlIGJvdW5kaW5nIGJveCBzdXJyb3VuZGluZyBpdC4gQSBwZXJmZWN0IHJlY3RhbmdsZSB3b3VsZCBjb3ZlciB0aGUgZW50aXJlIGJvdW5kaW5nIGJveC4NCi0JICogDQotCSAqIEBwYXJhbSByZXBvcnQgVGhlIFBhcnRpY2xlIEFuYWx5c2lzIFJlcG9ydCBmb3IgdGhlIHBhcnRpY2xlIHRvIHNjb3JlDQotCSAqIEByZXR1cm4gVGhlIHJlY3Rhbmd1bGFyaXR5IHNjb3JlICgwLTEwMCkNCi0JICovDQotCWRvdWJsZSBzY29yZVJlY3Rhbmd1bGFyaXR5KFBhcnRpY2xlQW5hbHlzaXNSZXBvcnQgKnJlcG9ydCl7DQotCQlpZihyZXBvcnQtPmJvdW5kaW5nUmVjdC53aWR0aCpyZXBvcnQtPmJvdW5kaW5nUmVjdC5oZWlnaHQgIT0wKXsNCi0JCQlyZXR1cm4gMTAwKnJlcG9ydC0+cGFydGljbGVBcmVhLyhyZXBvcnQtPmJvdW5kaW5nUmVjdC53aWR0aCpyZXBvcnQtPmJvdW5kaW5nUmVjdC5oZWlnaHQpOw0KLQkJfSBlbHNlIHsNCi0JCQlyZXR1cm4gMDsNCi0JCX0JDQotCX0NCi0JDQotCS8qKg0KLQkgKiBDb21wdXRlcyBhIHNjb3JlIGJhc2VkIG9uIHRoZSBtYXRjaCBiZXR3ZWVuIGEgdGVtcGxhdGUgcHJvZmlsZSBhbmQgdGhlIHBhcnRpY2xlIHByb2ZpbGUgaW4gdGhlIFggZGlyZWN0aW9uLiBUaGlzIG1ldGhvZCB1c2VzIHRoZQ0KLQkgKiB0aGUgY29sdW1uIGF2ZXJhZ2VzIGFuZCB0aGUgcHJvZmlsZSBkZWZpbmVkIGF0IHRoZSB0b3Agb2YgdGhlIHNhbXBsZSB0byBsb29rIGZvciB0aGUgc29saWQgdmVydGljYWwgZWRnZXMgd2l0aA0KLQkgKiBhIGhvbGxvdyBjZW50ZXIuDQotCSAqIA0KLQkgKiBAcGFyYW0gaW1hZ2UgVGhlIGltYWdlIHRvIHVzZSwgc2hvdWxkIGJlIHRoZSBpbWFnZSBiZWZvcmUgdGhlIGNvbnZleCBodWxsIGlzIHBlcmZvcm1lZA0KLQkgKiBAcGFyYW0gcmVwb3J0IFRoZSBQYXJ0aWNsZSBBbmFseXNpcyBSZXBvcnQgZm9yIHRoZSBwYXJ0aWNsZQ0KLQkgKiANCi0JICogQHJldHVybiBUaGUgWCBFZGdlIFNjb3JlICgwLTEwMCkNCi0JICovDQotCWRvdWJsZSBzY29yZVhFZGdlKEJpbmFyeUltYWdlICppbWFnZSwgUGFydGljbGVBbmFseXNpc1JlcG9ydCAqcmVwb3J0KXsNCi0JCWRvdWJsZSB0b3RhbCA9IDA7DQotCQlMaW5lYXJBdmVyYWdlcyAqYXZlcmFnZXMgPSBpbWFxTGluZWFyQXZlcmFnZXMyKGltYWdlLT5HZXRJbWFxSW1hZ2UoKSwgSU1BUV9DT0xVTU5fQVZFUkFHRVMsIHJlcG9ydC0+Ym91bmRpbmdSZWN0KTsNCi0JCWZvcihpbnQgaT0wOyBpIDwgKGF2ZXJhZ2VzLT5jb2x1bW5Db3VudCk7IGkrKyl7DQotCQkJaWYoeE1pbltpKihYTUlOU0laRS0xKS9hdmVyYWdlcy0+Y29sdW1uQ291bnRdIDwgYXZlcmFnZXMtPmNvbHVtbkF2ZXJhZ2VzW2ldIA0KLQkJCSAgICYmIGF2ZXJhZ2VzLT5jb2x1bW5BdmVyYWdlc1tpXSA8IHhNYXhbaSooWE1BWFNJWkUtMSkvYXZlcmFnZXMtPmNvbHVtbkNvdW50XSl7DQotCQkJCXRvdGFsKys7DQotCQkJfQ0KLQkJfQ0KLQkJdG90YWwgPSAxMDAqdG90YWwvKGF2ZXJhZ2VzLT5jb2x1bW5Db3VudCk7CQkvL2NvbnZlcnQgdG8gc2NvcmUgMC0xMDANCi0JCWltYXFEaXNwb3NlKGF2ZXJhZ2VzKTsJCQkJCQkJLy9sZXQgSU1BUSBkaXNwb3NlIG9mIHRoZSBhdmVyYWdlcyBzdHJ1Y3QNCi0JCXJldHVybiB0b3RhbDsNCi0JfQ0KLQkNCi0JLyoqDQotCSAqIENvbXB1dGVzIGEgc2NvcmUgYmFzZWQgb24gdGhlIG1hdGNoIGJldHdlZW4gYSB0ZW1wbGF0ZSBwcm9maWxlIGFuZCB0aGUgcGFydGljbGUgcHJvZmlsZSBpbiB0aGUgWSBkaXJlY3Rpb24uIFRoaXMgbWV0aG9kIHVzZXMgdGhlDQotCSAqIHRoZSByb3cgYXZlcmFnZXMgYW5kIHRoZSBwcm9maWxlIGRlZmluZWQgYXQgdGhlIHRvcCBvZiB0aGUgc2FtcGxlIHRvIGxvb2sgZm9yIHRoZSBzb2xpZCBob3Jpem9udGFsIGVkZ2VzIHdpdGgNCi0JICogYSBob2xsb3cgY2VudGVyDQotCSAqIA0KLQkgKiBAcGFyYW0gaW1hZ2UgVGhlIGltYWdlIHRvIHVzZSwgc2hvdWxkIGJlIHRoZSBpbWFnZSBiZWZvcmUgdGhlIGNvbnZleCBodWxsIGlzIHBlcmZvcm1lZA0KLQkgKiBAcGFyYW0gcmVwb3J0IFRoZSBQYXJ0aWNsZSBBbmFseXNpcyBSZXBvcnQgZm9yIHRoZSBwYXJ0aWNsZQ0KLQkgKiANCi0JICogQHJldHVybiBUaGUgWSBFZGdlIHNjb3JlICgwLTEwMCkNCi0JICovDQotCWRvdWJsZSBzY29yZVlFZGdlKEJpbmFyeUltYWdlICppbWFnZSwgUGFydGljbGVBbmFseXNpc1JlcG9ydCAqcmVwb3J0KXsNCi0JCWRvdWJsZSB0b3RhbCA9IDA7DQotCQlMaW5lYXJBdmVyYWdlcyAqYXZlcmFnZXMgPSBpbWFxTGluZWFyQXZlcmFnZXMyKGltYWdlLT5HZXRJbWFxSW1hZ2UoKSwgSU1BUV9ST1dfQVZFUkFHRVMsIHJlcG9ydC0+Ym91bmRpbmdSZWN0KTsNCi0JCWZvcihpbnQgaT0wOyBpIDwgKGF2ZXJhZ2VzLT5yb3dDb3VudCk7IGkrKyl7DQotCQkJaWYoeU1pbltpKihZTUlOU0laRS0xKS9hdmVyYWdlcy0+cm93Q291bnRdIDwgYXZlcmFnZXMtPnJvd0F2ZXJhZ2VzW2ldIA0KLQkJCSAgICYmIGF2ZXJhZ2VzLT5yb3dBdmVyYWdlc1tpXSA8IHlNYXhbaSooWU1BWFNJWkUtMSkvYXZlcmFnZXMtPnJvd0NvdW50XSl7DQotCQkJCXRvdGFsKys7DQotCQkJfQ0KLQkJfQ0KLQkJdG90YWwgPSAxMDAqdG90YWwvKGF2ZXJhZ2VzLT5yb3dDb3VudCk7CQkvL2NvbnZlcnQgdG8gc2NvcmUgMC0xMDANCi0JCWltYXFEaXNwb3NlKGF2ZXJhZ2VzKTsJCQkJCQkvL2xldCBJTUFRIGRpc3Bvc2Ugb2YgdGhlIGF2ZXJhZ2VzIHN0cnVjdA0KLQkJcmV0dXJuIHRvdGFsOw0KLQl9CQkNCi19Ow0KLQ0KLVNUQVJUX1JPQk9UX0NMQVNTKFZpc2lvblNhbXBsZTIwMTIpOw0KLQ0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL3NhbXBsZS5wcm9wZXJ0aWVzIGIvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvc2FtcGxlLnByb3BlcnRpZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYzg5NWUuLjAwMDAwMDAKLS0tIGEvYXphbGVhc291cmNlL1dQSUxpYkNQcm9ncmFtbWluZy90cnVuay9Xb3JrYmVuY2hVcGRhdGUvdnh3b3Jrcy02LjMvdGFyZ2V0L3NyYy9kZW1vL1Zpc2lvblNhbXBsZTIwMTMvc2FtcGxlLnByb3BlcnRpZXMKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXByb2plY3QudHlwZT1Eb3dubG9hZGFibGVLZXJuZWxNb2R1bGVQcm9qZWN0DQotcGxhdGZvcm0uaWQ9VnhXb3Jrcw0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL3NhbXBsZS50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL1dvcmtiZW5jaFVwZGF0ZS92eHdvcmtzLTYuMy90YXJnZXQvc3JjL2RlbW8vVmlzaW9uU2FtcGxlMjAxMy9zYW1wbGUudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDJiYjcyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvV29ya2JlbmNoVXBkYXRlL3Z4d29ya3MtNi4zL3RhcmdldC9zcmMvZGVtby9WaXNpb25TYW1wbGUyMDEzL3NhbXBsZS50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLUZSQyAyMDEzIFZpc2lvbiBTYW1wbGUgUHJvZ3JhbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotVGhpcyBwcm9qZWN0IGlzIGEgY2FtZXJhIHZpc2lvbiBzYW1wbGUgdGhhdCBkZXRlY3RzIHRoZSBNaWRkbGUgYW5kIEhpZ2ggZ29hbCB2aXNpb24gdGFyZ2V0cyBpbg0KLXRoZSAyMDEzIEZSQyBnYW1lLiBMb29rIGF0IHRoZSBjb21tZW50cyBpbiB0aGUgY29kZSBhbmQgdGhlIFZpc2lvbiBQcm9jZXNzaW5nIHNlY3Rpb24gb2YgdGhlDQotZG9jdW1lbnRhdGlvbiBhdCBodHRwOi8vd3BpbGliLnNjcmVlbnN0ZXBzbGl2ZS5jb20uIExvb2sgaW4gdGhlIFZpc2lvbkltYWdlcyBkaXJlY3RvcnkNCi1pbnNpZGUgdGhlIHByb2plY3QgdGhhdCBpcyBjcmVhdGVkIGZvciBzYW1wbGUgaW1hZ2VzIGFzIHdlbGwgYXMgdGhlIE5JIFZpc2lvbiBBc3Npc3RhbnQgZmlsZQ0KLXRoYXQgY29udGFpbnMgdGhlIHZpc2lvbiBjb21tYW5kIGNoYWluIChvcGVuIGl0IHdpdGggdGhlIFZpc2lvbiBBc3Npc3RhbnQpLg0KZGlmZiAtLWdpdCBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvaG93LXRvLWJ1aWxkLXdwaWxpYi50eHQgYi9hemFsZWFzb3VyY2UvV1BJTGliQ1Byb2dyYW1taW5nL3RydW5rL2hvdy10by1idWlsZC13cGlsaWIudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjE3NDIyLi4wMDAwMDAwCi0tLSBhL2F6YWxlYXNvdXJjZS9XUElMaWJDUHJvZ3JhbW1pbmcvdHJ1bmsvaG93LXRvLWJ1aWxkLXdwaWxpYi50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Ib3cgdG8gYnVpbGQgYSBjdXN0b20gV1BJTGliIGluIFdpbmRyaXZlciBXb3JrYmVuY2gNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0NCi1NYWtlIGEgV1IgV0IgcHJvamVjdCAiV1BJTGliIiB0byBidWlsZCB0aGlzIGNvcHkgb2YgV1BJTGliOg0KLSAgICBOZXcgIkRvd25sb2FkYWJsZSBLZXJuZWwgTW9kdWxlIiBwcm9qZWN0ICgqbm90KiBhIFNoYXJlZCBMaWJhcnkgcHJvamVjdCkuDQotICAgICAgICBZb3UgY2FuIGNyZWF0ZSB0aGUgcHJvamVjdCBpbiB0aGUgd29ya3NwYWNlIGRpcmVjdG9yeSB3aXRoIGNvbnRlbnQgYXQgImV4dGVybmFsIGxvY2F0aW9uIiwgdGhhdCBpcywgdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UgcHV0IHRoZSBXUElMaWIgc291cmNlIGNvZGUuDQotICAgICAgICBCdWlsZCBTcGVjcyBmb3IgUFBDNjAzZ251IG9ubHk7IGRlYnVnIG1vZGUuDQotICAgICAgICBCdWlsZCB0b29sOiBMaWJyYXJpYW4gKCpub3QqIExpbmtlcik7IFBhc3MgdGhlIGJ1aWxkIHRhcmdldCB0byB0aGUgbmV4dCBsZXZlbC4gW0RvZXMgdGhlICJwYXNzIiBjaGVja2JveCBtYXR0ZXI/XQ0KLQ0KLSAgICBQcm9qZWN0IFByb3BlcnRpZXMgPiBDL0MrKyBHZW5lcmFsID4gSW5kZXhlciA+IFBhdGhzIGFuZCBTeW1ib2xzID4gU291cmNlcy9GaWx0ZXJzDQotICAgICAgICBTZXQgYSBmaWx0ZXIgdG8gZXhjbHVkZSBQUEM2MDNnbnUvLCAuc3ZuLywgLnNldHRpbmdzLyAuIFtOZWVkZWQ/XQ0KLQ0KLSAgICBbSXJyZWxldmFudC4gQ0ludGVyZmFjZXMgaXMgYWJzZW50IGluIDIwMTMuXSBVbmRlciB0aGUgUHJvamVjdCBFeHBsb3JlciB2aWV3J3MgV1BJTGliIHByb2plY3QsIGV4cGFuZCArQnVpbGQgVGFyZ2V0cyAoUFBDNjAzZ251IC0gZGVidWcpLCArV1BJTGliIChXUElMaWIuYSksICtXUElMaWIgLSByZWN1cnNpdmUsICtXUElMaWI7IHNlbGVjdCBDSW50ZXJmYWNlcywgaGl0IERlbGV0ZSwgYW5kIGNvbmZpcm0gZXhjbHVkaW5nIHRoZSBDSW50ZXJmYWNlcy8gZGlyZWN0b3J5IGZyb20gdGhlIGJ1aWxkLg0KLSAgICAgICAgW1dpdGggdGhlc2Ugc3RlcHMsIFdSIFdCIHdvbid0IGZhaWwgdHJ5aW5nIHRvIGJ1aWxkIENJbnRlcmZhY2VzLiBGb3Igc29tZSByZWFzb24sIHNldHRpbmcgUHJvamVjdCBQcm9wZXJ0aWVzID4gQy9DKysgR2VuZXJhbCA+IFBhdGhzIGFuZCBTeW1ib2xzID4gU291cmNlcy9GaWx0ZXJzIGV4Y2x1c2lvbiBmaWx0ZXJzIHdvbid0IGRvIGl0Ll0NCi0NCi0gICAgQXBwcm9hY2ggMToNCi0gICAgICBTdGFydCBhIGJ1aWxkLCBsZXQgaXQgYW5hbHl6ZSB0aGUgbmVlZGVkIGluY2x1ZGUgcGF0aHMsIGFkZCB0aGUgV1BJTGliLyBzb3VyY2UgZGlyZWN0b3J5LCBhbmQgbW92ZSB0aGF0IHVwIHRvIHRoZSB0b3Agb2YgdGhlIGxpc3QuDQotICAgICAgSXQgc2hvdWxkIG5vdyBzYXkgIlRoZXJlIGFyZSAwIHVucmVzb2x2ZWQgaW5jbHVkZSBkaXJlY3RpdmVzIi4NCi0gICAgICBQcm9jZWVkLg0KLSAgICBBcHByb2FjaCAyOg0KLSAgICAgIFNlbGVjdCBXUElMaWIgcHJvamVjdCA+IFByb2plY3QgUHJvcGVydGllcyA+IEJ1aWxkIFByb3BlcnRpZXMgPiBCdWlsZCBQYXRocw0KLSAgICAgICAgQWRkIHRoZSBXUElMaWIvIHNvdXJjZSBkaXJlY3RvcnkgdG8gdGhlIGluY2x1ZGUgcGF0aHMgYW5kIG1vdmUgdGhhdCB1cCB0byB0aGUgZmlyc3QgZW50cnkuDQotICAgIE5vdGU6IFRoZSBvdGhlciBpbmNsdWRlIHBhdGggZW50cmllcyBzaG91bGQgYmUgLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2ggYW5kIC1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXANCi0gICAgUXVlc3Rpb246IElzIHRoZXJlIGEgd2F5IHRvIGRvIHRoaXMgdXNpbmcgYSAkdmFyaWFibGUgcmF0aGVyIHRoYW4gYSBoYXJkLXdpcmVkIGRpcmVjdG9yeSBwYXRoIHNvIHlvdSBjb3VsZCBjaGVjayBpbiBhbmQgc2hhcmUgdGhlIHByb2plY3QgZmlsZXM/DQotDQotICAgIEJ1aWxkIHRoZSBQcm9qZWN0LiAoSWYgV0IgYXNrcyBhYm91dCBnZW5lcmF0aW5nIGluY2x1ZGUgZmlsZXMsIHlvdSBjYW4gZG8gaXQgb3Igc2tpcCBpdC4pDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2NhcGUucGNiIGIvYmJiX2NhcGUvc2NoZW1hdGljL2NhcGUucGNiCmluZGV4IDMzYjk3ZjUuLjE2MjU4YWQgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NjaGVtYXRpYy9jYXBlLnBjYgorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvY2FwZS5wY2IKQEAgLTYsNyArNiw3IEBACiBQQ0JbIjk3MSBCQkIgQ2FwZSIgNTAwMDAwIDQwMDAwMF0KIAogR3JpZFs1MDAuMCA0NDEgMCAwXQotQ3Vyc29yWzI5Mjk0MSA3NDAwMCAwLjAwMDAwMF0KK0N1cnNvclszMTU5NDEgMTc0NTAwIDAuMDAwMDAwXQogUG9seUFyZWFbMzEwMC4wMDYyMDBdCiBUaGVybWFsWzAuNTAwMDAwXQogRFJDWzgwMCAxMDAwIDgwMCAxMCAxMDAwIDUwMF0KQEAgLTMxMDQsNyArMzEwNCw3IEBACiAJUGluWzYyNTAwIDc1MDAwIDY2MDAgMjAwMCA4NjAwIDQ2MDAgIiIgIlVBUlQ0IiAiZWRnZTIiXQogCVBpbls3MjUwMCA3NTAwMCA2NjAwIDIwMDAgODYwMCA0NjAwICIiICJVQVJUNSIgImVkZ2UyIl0KIAlQaW5bMTUyNTAwIC02NTAwMCAyMjAwMCAxODAwIDI0MDAwIDIwMDAwICJib2d1c184NDIiICI4NDIiICJlZGdlMiJdCi0JUGluWy03MDAwMCAtNzAwMDAgMjUwMDAgMjAwMCAyNTAwMCAyNTAwMCAiYm9ndXNfOTQyIiAiNzQyIiAibG9jayxlZGdlMiJdCisJUGluWy03MDAwMCAtNzAwMDAgMjY2MDAgMjAwMCAyODYwMCAyNDYwMCAiYm9ndXNfOTQyIiAiNzQyIiAibG9jayxlZGdlMiJdCiAKIAkpCiAKQEAgLTQzNjcsNyArNDM2Nyw3IEBACiAJTGluZVsyNTU5NDEgMjc5MDAwIDI1NTk0MSAyNzAwMDAgODAwIDE2MDAgImNsZWFybGluZSJdCiAJTGluZVsyNTU5NDEgMjcwMDAwIDI0OTY3NCAyNjM3MzMgODAwIDE2MDAgImNsZWFybGluZSJdCiAJTGluZVsyNDk2NzQgMjYzNzMzIDI0Nzk0MSAyNjM3MzMgODAwIDE2MDAgImNsZWFybGluZSJdCi0JVGV4dFsxMTM3OTkgNDgxNzEgMCAxMjAgIjIwMTMwMTE3IiAiY2xlYXJsaW5lIl0KKwlUZXh0WzExMzc5OSA0ODE3MSAwIDEyMCAiMjAxMzAxMjAiICJjbGVhcmxpbmUiXQogCVBvbHlnb24oIiIpCiAJKAogCQlbMTgyOTQxIDc5MDAwXSBbMTk5OTQxIDc5MDAwXSBbMTk5OTQxIDk3NTAwXSBbMTgyOTQxIDk3NTAwXSAKQEAgLTYxMTQsNyArNjExNCw3IEBACiAJTGluZVsyMjk4MTggNTE5MjUgMjI5ODE4IDQ1MDEyIDgwMCAxNjAwICJjbGVhcmxpbmUiXQogCVBvbHlnb24oIiIpCiAJKAotCQlbMTIyOTQxIDk1MDAwXSBbMTIyOTQxIDY4NTAwXSBbOTI5NDEgNjg1MDBdIFs5Mjk0MSA0MDAwMF0gWzE1Njk0MSA0MDAwMF0gCisJCVsxMjI5NDEgOTUwMDBdIFsxMjI5NDEgNjg1MDBdIFsxMDc5NDEgNjg1MDBdIFsxMDc5NDEgNDAwMDBdIFsxNTY5NDEgNDAwMDBdIAogCQlbMTU2OTQxIDU3NTAwXSBbMTMwOTQxIDU3NTAwXSBbMTMwOTQxIDk1MDAwXSAKIAkpCiAJUG9seWdvbigiIikKQEAgLTYyNzIsNyArNjI3Miw3IEBACiAJVGV4dFs0MDg5MzggMjYwMDE1IDAgMTgwICItICAgKyAgIEQiICJjbGVhcmxpbmUiXQogCVRleHRbNDA0NDM4IDI0NTUxNSAwIDEzNSAiLSAgKyAgIEEgIEIiICJjbGVhcmxpbmUiXQogCVRleHRbMTkwOTQxIDE1NzUwMCAwIDExNSAiRlJDIFRlYW0gOTcxIEJCQiBDYXBlIiAiY2xlYXJsaW5lIl0KLQlUZXh0WzIwMjQ0MSAxNzA1MDAgMCAxMTUgIjIwMTQwMTE3IDIwMTQtMSIgImNsZWFybGluZSJdCisJVGV4dFsyMDI0NDEgMTcwNTAwIDAgMTE1ICIyMDE0MDEyMCAyMDE0LTIiICJjbGVhcmxpbmUiXQogCVRleHRbMzE3MjUwIDM0ODUwNCAxIDE4MCAiLSAgKyAgQSIgImNsZWFybGluZSJdCiAJVGV4dFs3ODkzOCAzMTYwNTkgMCAxMzUgIjAgICAgICAgICAgICAgMSAgICAgICAgICAgIDIgICAgICAgICAgIDMgICAgICAgICA0ICAgICAgICAgIDUgICAgICAgICAgIDYgICAgICAgICAgNyIgImNsZWFybGluZSJdCiAJVGV4dFsxNzc0NDEgMTk5NTAwIDAgMTE1ICJHTkQiICJjbGVhcmxpbmUiXQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ib3R0b20uZ2JyIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ib3R0b20uZ2JyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkYWEwMjYKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLmJvdHRvbS5nYnIKQEAgLTAsMCArMSw0MzU4IEBACitHMDQgc3RhcnQgb2YgcGFnZSA1IGZvciBncm91cCAzIGlkeCAzICoNCitHMDQgVGl0bGU6IDk3MSBCQkIgQ2FwZSwgYm90dG9tICoNCitHMDQgQ3JlYXRvcjogcGNiIDIwMTEwOTE4ICoNCitHMDQgQ3JlYXRpb25EYXRlOiBNb24gSmFuIDIwIDIxOjA0OjQyIDIwMTQgVVRDICoNCitHMDQgRm9yOiBicmlhbnMgKg0KK0cwNCBGb3JtYXQ6IEdlcmJlci9SUy0yNzRYICoNCitHMDQgUENCLURpbWVuc2lvbnM6IDUwMDAwMCA0MDAwMDAgKg0KK0cwNCBQQ0ItQ29vcmRpbmF0ZS1PcmlnaW46IGxvd2VyIGxlZnQgKg0KKyVNT0lOKiUNCislRlNMQVgyNVkyNSolDQorJUxOQk9UVE9NKiUNCislQUREMjcxQywwLjI0NjAqJQ0KKyVBREQyNzBDLDAuMDQ2MColDQorJUFERDI2OUMsMC4yMDAwKiUNCislQUREMjY4QywwLjEyODUqJQ0KKyVBREQyNjdDLDAuMDQwMColDQorJUFERDI2NkMsMC4wMzUwKiUNCislQUREMjY1QywwLjA2MDAqJQ0KKyVBREQyNjRDLDAuMDM2MColDQorJUFERDI2M0MsMC4wMjAwKiUNCislQUREMjYyUiwwLjAzNDVYMC4wMzQ1KiUNCislQUREMjYxUiwwLjEyMjBYMC4xMjIwKiUNCislQUREMjYwUiwwLjA1NjBYMC4wNTYwKiUNCislQUREMjU5UiwwLjA1MTJYMC4wNTEyKiUNCislQUREMjU4UiwwLjAxODBYMC4wMTgwKiUNCislQUREMjU3UiwwLjAyOTVYMC4wMjk1KiUNCislQUREMjU2UiwwLjAxMzBYMC4wMTMwKiUNCislQUREMjU1QywwLjI2NjAqJQ0KKyVBREQyNTRDLDAuMDY2MColDQorJUFERDI1M0MsMC4yMjAwKiUNCislQUREMjUyQywwLjE4MzAqJQ0KKyVBREQyNTFDLDAuMDY1MColDQorJUFERDI1MEMsMC4wNDgwKiUNCislQUREMjQ5QywwLjAzODAqJQ0KKyVBREQyNDhDLDAuMDUwMColDQorJUFERDI0N0MsMC4wMjUwKiUNCislQUREMjQ2QywwLjAwODAqJQ0KKyVBREQyNDVDLDAuMDEwMColDQorJUFERDI0NEMsMC4wMDAxKiUNCitHNTREMjQ0KkczNioNCitYMTIyOTQxWTMwNTAwMEQwMipZMzMxNTAwRDAxKg0KK1gxMDc5NDFEMDEqDQorWTM2MDAwMEQwMSoNCitYMTU2OTQxRDAxKg0KK1kzNDI1MDBEMDEqDQorWDEzMDk0MUQwMSoNCitZMzA1MDAwRDAxKg0KK1gxMjI5NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMTMzNDQxWTMxODAwMEQwMipZMzQwMDAwRDAxKg0KK1gxNTU5NDFEMDEqDQorWTMxODAwMEQwMSoNCitYMTMzNDQxRDAxKg0KK0czNyoNCitHMzYqDQorWDIxODQ0MVkyMTc1MDBEMDIqWDE3Nzk0MUQwMSoNCitZMjM4NTAwRDAxKg0KK1gyMTg0NDFEMDEqDQorWTIxNzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDc5NDFZMjE1MDAwRDAyKlgyMTI0NDFEMDEqDQorWTIxMDAwMEQwMSoNCitYMjA3OTQxRDAxKg0KK1kyMTUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjAxNDQxWTI0MDAwMEQwMipYMjA1OTQxRDAxKg0KK1kyMzUwMDBEMDEqDQorWDIwMTQ0MUQwMSoNCitZMjQwMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MTQ0MVkyMzk1MDBEMDIqWDE5NTk0MUQwMSoNCitZMjM0NTAwRDAxKg0KK1gxOTE0NDFEMDEqDQorWTIzOTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzQ5NDFZMjMwNTAwRDAyKlgxNzk0NDFEMDEqDQorWTIyNTUwMEQwMSoNCitYMTc0OTQxRDAxKg0KK1kyMzA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjIwMDAwRDAyKlgxNzk0NDFEMDEqDQorWTIxNTAwMEQwMSoNCitYMTc0OTQxRDAxKg0KK1kyMjAwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTgyOTQxRDAyKlgxODc0NDFEMDEqDQorWTIxNTAwMEQwMSoNCitYMTgyOTQxRDAxKg0KK1kyMjAwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTkxNDQxWTIxNTAwMEQwMipYMTk1OTQxRDAxKg0KK1kyMTAwMDBEMDEqDQorWDE5MTQ0MUQwMSoNCitZMjE1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5OTk0MUQwMipYMjA0NDQxRDAxKg0KK1kyMTAwMDBEMDEqDQorWDE5OTk0MUQwMSoNCitZMjE1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE3OTQ0MVkyNjEwMDBEMDIqWDE4Mzk0MUQwMSoNCitZMjU2MDAwRDAxKg0KK1gxNzk0NDFEMDEqDQorWTI2MTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTc5NDFZMjE3NTAwRDAyKlgyMjI0NDFEMDEqDQorWTIxMjUwMEQwMSoNCitYMjE3OTQxRDAxKg0KK1kyMTc1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjIyNDQxWTIyMzAwMEQwMipYMjI2OTQxRDAxKg0KK1kyMTgwMDBEMDEqDQorWDIyMjQ0MUQwMSoNCitZMjIzMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMjk0MVkyMjkwMDBEMDIqWDIyNzQ0MUQwMSoNCitZMjI0MDAwRDAxKg0KK1gyMjI5NDFEMDEqDQorWTIyOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMjI0NDFZMjM4MDAwRDAyKlgyMjY5NDFEMDEqDQorWTIzMzAwMEQwMSoNCitYMjIyNDQxRDAxKg0KK1kyMzgwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjIxOTQxWTI0NjUwMEQwMipYMjI2NDQxRDAxKg0KK1kyNDE1MDBEMDEqDQorWDIyMTk0MUQwMSoNCitZMjQ2NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMjQ0MVkyMzgwMDBEMDIqWDIyNjk0MUQwMSoNCitZMjMzMDAwRDAxKg0KK1gyMjI0NDFEMDEqDQorWTIzODAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzM5NDFEMDIqWDIzODQ0MUQwMSoNCitZMjMzMDAwRDAxKg0KK1gyMzM5NDFEMDEqDQorWTIzODAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzcwMDFZMjY0Mjk3RDAyKlgyNDE1MDFEMDEqDQorWTI1OTI5N0QwMSoNCitYMjM3MDAxRDAxKg0KK1kyNjQyOTdEMDEqDQorRzM3Kg0KK0czNioNCitYMTk1OTQxWTI2NTAwMEQwMipYMjAwNDQxRDAxKg0KK1kyNjAwMDBEMDEqDQorWDE5NTk0MUQwMSoNCitZMjY1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWTI3MjAwMEQwMipYMjAwNDQxRDAxKg0KK1kyNjcwMDBEMDEqDQorWDE5NTk0MUQwMSoNCitZMjcyMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwMjk0MVkyNzk1MDBEMDIqWDIwNzQ0MUQwMSoNCitZMjc0NTAwRDAxKg0KK1gyMDI5NDFEMDEqDQorWTI3OTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTA0NDFZMjQwNTAwRDAyKlgyMTQ5NDFEMDEqDQorWTIzNTUwMEQwMSoNCitYMjEwNDQxRDAxKg0KK1kyNDA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUzMDk4WTIxNzE0NkQwMipYMjYxOTQxWTIwODMwM0QwMSoNCitZMjAxNTAwRDAxKg0KK1gyNTMwOThEMDEqDQorWTIwOTEyMUQwMSoNCitYMjUzMjE4WTIwOTIyM0QwMSoNCitYMjUzNDAyWTIwOTQzOUQwMSoNCitYMjUzNTUwWTIwOTY4MEQwMSoNCitYMjUzNjU4WTIwOTk0MkQwMSoNCitYMjUzNzI0WTIxMDIxOEQwMSoNCitYMjUzNzQxWTIxMDUwMEQwMSoNCitYMjUzNzI0WTIxMDc4MkQwMSoNCitYMjUzNjU4WTIxMTA1OEQwMSoNCitYMjUzNTUwWTIxMTMyMEQwMSoNCitYMjUzNDAyWTIxMTU2MUQwMSoNCitYMjUzMjE4WTIxMTc3N0QwMSoNCitYMjUzMDk4WTIxMTg3OUQwMSoNCitZMjE3MTQ2RDAxKg0KK0czNyoNCitHMzYqDQorWTI0NzA1MEQwMipYMjYxOTQxRDAxKg0KK1kyMjQ4MDZEMDEqDQorWDI1MzA5OFkyMzM2NDlEMDEqDQorWTI0NzA1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNjQzODBEMDIqWDI2MTk0MUQwMSoNCitZMjU2MjAwRDAxKg0KK1gyNTMwOThEMDEqDQorWTI1OTc4MEQwMSoNCitYMjUzMTAxWTI1OTc4MEQwMSoNCitYMjUzNDIzWTI1OTgwNUQwMSoNCitYMjUzNzM2WTI1OTg4MEQwMSoNCitYMjU0MDM1WTI2MDAwNEQwMSoNCitYMjU0MzEwWTI2MDE3MkQwMSoNCitYMjU0NTU1WTI2MDM4MkQwMSoNCitYMjU0NzY1WTI2MDYyN0QwMSoNCitYMjU0OTMzWTI2MDkwMkQwMSoNCitYMjU1MDU3WTI2MTIwMUQwMSoNCitYMjU1MTMyWTI2MTUxNEQwMSoNCitYMjU1MTUxWTI2MTgzNkQwMSoNCitYMjU1MTMyWTI2MjE1OEQwMSoNCitYMjU1MDU3WTI2MjQ3MUQwMSoNCitYMjU0OTMzWTI2Mjc3MEQwMSoNCitYMjU0NzY1WTI2MzA0NUQwMSoNCitYMjU0NTU1WTI2MzI5MEQwMSoNCitYMjU0MzEwWTI2MzUwMEQwMSoNCitYMjU0MDM1WTI2MzY2OEQwMSoNCitYMjUzNzM2WTI2Mzc5MkQwMSoNCitYMjUzNDIzWTI2Mzg2N0QwMSoNCitYMjUzMTAxWTI2Mzg5MkQwMSoNCitYMjUzMDk4WTI2Mzg5MkQwMSoNCitZMjY0MzgwRDAxKg0KK0czNyoNCitHMzYqDQorWTI3MDc3MUQwMipYMjYxOTQxRDAxKg0KK1kyNzA2NTZEMDEqDQorWDI2MTgxNlkyNzA2MDREMDEqDQorWDI2MTU0MVkyNzA0MzZEMDEqDQorWDI2MTI5NlkyNzAyMjZEMDEqDQorWDI2MTA4NlkyNjk5ODFEMDEqDQorWDI2MDkxOFkyNjk3MDZEMDEqDQorWDI2MDc5NFkyNjk0MDdEMDEqDQorWDI2MDcxOVkyNjkwOTREMDEqDQorWDI2MDY5NFkyNjg3NzJEMDEqDQorWDI2MDcxOVkyNjg0NTBEMDEqDQorWDI2MDc5NFkyNjgxMzdEMDEqDQorWDI2MDkxOFkyNjc4MzhEMDEqDQorWDI2MTA4NlkyNjc1NjNEMDEqDQorWDI2MTI5NlkyNjczMThEMDEqDQorWDI2MTU0MVkyNjcxMDhEMDEqDQorWDI2MTgxNlkyNjY5NDBEMDEqDQorWDI2MTk0MVkyNjY4ODhEMDEqDQorWTI2Njc4MEQwMSoNCitYMjUzMDk4RDAxKg0KK1kyNzA3NzFEMDEqDQorRzM3Kg0KK0czNioNCitZMjczODc1RDAyKlgyNjE5NDFEMDEqDQorWTI3MzE3MUQwMSoNCitYMjUzMDk4RDAxKg0KK1kyNzM4NzVEMDEqDQorRzM3Kg0KK0czNioNCitZMjc5MDE2RDAyKlgyNTQyMzlZMjc3ODc1RDAxKg0KK1gyNTMwOThEMDEqDQorWTI3OTAxNkQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzkyOTlZMjQ3MDUwRDAyKlgyNTMwOThEMDEqDQorWTIzMzY0OUQwMSoNCitYMjQ4NzQxWTIzODAwNkQwMSoNCitYMjQ4NzI0WTIzODI4MkQwMSoNCitYMjQ4NjU4WTIzODU1OEQwMSoNCitYMjQ4NTUwWTIzODgyMEQwMSoNCitYMjQ4NDAyWTIzOTA2MUQwMSoNCitYMjQ4MjE4WTIzOTI3N0QwMSoNCitYMjQ4MDAyWTIzOTQ2MUQwMSoNCitYMjQ3NzYxWTIzOTYwOUQwMSoNCitYMjQ3NDk5WTIzOTcxN0QwMSoNCitYMjQ3MjIzWTIzOTc4M0QwMSoNCitYMjQ2OTQxWTIzOTgwNkQwMSoNCitYMjQ2NjU5WTIzOTc4M0QwMSoNCitYMjQ2MzgzWTIzOTcxN0QwMSoNCitYMjQ2MTIxWTIzOTYwOUQwMSoNCitYMjQ1ODgwWTIzOTQ2MUQwMSoNCitYMjQ1NjY0WTIzOTI3N0QwMSoNCitYMjQ1NDgwWTIzOTA2MUQwMSoNCitYMjQ1MzMyWTIzODgyMEQwMSoNCitYMjQ1MjI0WTIzODU1OEQwMSoNCitYMjQ1MTU4WTIzODI4MkQwMSoNCitYMjQ1MTM1WTIzODAwMEQwMSoNCitYMjQ1MTU4WTIzNzcxOEQwMSoNCitYMjQ1MjI0WTIzNzQ0MkQwMSoNCitYMjQ1MzMyWTIzNzE4MEQwMSoNCitYMjQ1NDgwWTIzNjkzOUQwMSoNCitYMjQ1NjY0WTIzNjcyM0QwMSoNCitYMjQ1ODgwWTIzNjUzOUQwMSoNCitYMjQ2MTIxWTIzNjM5MUQwMSoNCitYMjQ2MzgzWTIzNjI4M0QwMSoNCitYMjQ2NjU5WTIzNjIxN0QwMSoNCitYMjQ2OTQxWTIzNjE5NEQwMSoNCitYMjQ3MTQzWTIzNjIxMEQwMSoNCitYMjUxNjQ3WTIzMTcwNkQwMSoNCitYMjUxMjI0WTIzMTI4M0QwMSoNCitYMjUxMjIzWTIzMTI4M0QwMSoNCitYMjUwOTQxWTIzMTMwNkQwMSoNCitYMjUwNjU5WTIzMTI4M0QwMSoNCitYMjUwMzgzWTIzMTIxN0QwMSoNCitYMjUwMTIxWTIzMTEwOUQwMSoNCitYMjQ5ODgwWTIzMDk2MUQwMSoNCitYMjQ5NjY0WTIzMDc3N0QwMSoNCitYMjQ5NDgwWTIzMDU2MUQwMSoNCitYMjQ5MzMyWTIzMDMyMEQwMSoNCitYMjQ5MjI0WTIzMDA1OEQwMSoNCitYMjQ5MTU4WTIyOTc4MkQwMSoNCitYMjQ5MTM1WTIyOTUwMEQwMSoNCitYMjQ4MjQxRDAxKg0KK1gyNDgyMjRZMjI5NzgyRDAxKg0KK1gyNDgxNThZMjMwMDU4RDAxKg0KK1gyNDgwNTBZMjMwMzIwRDAxKg0KK1gyNDc5MDJZMjMwNTYxRDAxKg0KK1gyNDc3MThZMjMwNzc3RDAxKg0KK1gyNDc1MDJZMjMwOTYxRDAxKg0KK1gyNDcyNjFZMjMxMTA5RDAxKg0KK1gyNDY5OTlZMjMxMjE3RDAxKg0KK1gyNDY3MjNZMjMxMjgzRDAxKg0KK1gyNDY0NDFZMjMxMzA2RDAxKg0KK1gyNDYxNTlZMjMxMjgzRDAxKg0KK1gyNDU4ODNZMjMxMjE3RDAxKg0KK1gyNDU2MjFZMjMxMTA5RDAxKg0KK1gyNDUzODBZMjMwOTYxRDAxKg0KK1gyNDUxNjRZMjMwNzc3RDAxKg0KK1gyNDQ5ODBZMjMwNTYxRDAxKg0KK1gyNDQ4MzJZMjMwMzIwRDAxKg0KK1gyNDQ3MjRZMjMwMDU4RDAxKg0KK1gyNDQ2NThZMjI5NzgyRDAxKg0KK1gyNDQ2MzVZMjI5NTAwRDAxKg0KK1gyNDQyNDFEMDEqDQorWDI0NDIyNFkyMjk3ODJEMDEqDQorWDI0NDE1OFkyMzAwNThEMDEqDQorWDI0NDA1MFkyMzAzMjBEMDEqDQorWDI0MzkwMlkyMzA1NjFEMDEqDQorWDI0MzcxOFkyMzA3NzdEMDEqDQorWDI0MzUwMlkyMzA5NjFEMDEqDQorWDI0MzI2MVkyMzExMDlEMDEqDQorWDI0Mjk5OVkyMzEyMTdEMDEqDQorWDI0MjcyM1kyMzEyODNEMDEqDQorWDI0MjQ0MVkyMzEzMDZEMDEqDQorWDI0MjE1OVkyMzEyODNEMDEqDQorWDI0MTg4M1kyMzEyMTdEMDEqDQorWDI0MTYyMVkyMzExMDlEMDEqDQorWDI0MTM4MFkyMzA5NjFEMDEqDQorWDI0MTE2NFkyMzA3NzdEMDEqDQorWDI0MDk4MFkyMzA1NjFEMDEqDQorWDI0MDgzMlkyMzAzMjBEMDEqDQorWDI0MDcyNFkyMzAwNThEMDEqDQorWDI0MDY1OFkyMjk3ODJEMDEqDQorWDI0MDYzNVkyMjk1MDBEMDEqDQorWDI0MDY1OFkyMjkyMThEMDEqDQorWDI0MDcyNFkyMjg5NDJEMDEqDQorWDI0MDgzMlkyMjg2ODBEMDEqDQorWDI0MDk4MFkyMjg0MzlEMDEqDQorWDI0MTE2NFkyMjgyMjNEMDEqDQorWDI0MTM4MFkyMjgwMzlEMDEqDQorWDI0MTYyMVkyMjc4OTFEMDEqDQorWDI0MTg4M1kyMjc3ODNEMDEqDQorWDI0MjE1OVkyMjc3MTdEMDEqDQorWDI0MjQ0MVkyMjc2OTREMDEqDQorWDI0MjU0MlkyMjc3MDJEMDEqDQorWDI1MzA5OFkyMTcxNDZEMDEqDQorWTIxMTg3OUQwMSoNCitYMjUzMDAyWTIxMTk2MUQwMSoNCitYMjUyNzYxWTIxMjEwOUQwMSoNCitYMjUyNDk5WTIxMjIxN0QwMSoNCitYMjUyMjIzWTIxMjI4M0QwMSoNCitYMjUxOTQxWTIxMjMwNkQwMSoNCitYMjUxNjU5WTIxMjI4M0QwMSoNCitYMjUxMzgzWTIxMjIxN0QwMSoNCitYMjUxMTIxWTIxMjEwOUQwMSoNCitYMjUwODgwWTIxMTk2MUQwMSoNCitYMjUwNjY0WTIxMTc3N0QwMSoNCitYMjUwNDgwWTIxMTU2MUQwMSoNCitYMjUwMzMyWTIxMTMyMEQwMSoNCitYMjUwMjI0WTIxMTA1OEQwMSoNCitYMjUwMTU4WTIxMDc4MkQwMSoNCitYMjUwMTM1WTIxMDUwMEQwMSoNCitYMjUwMTU4WTIxMDIxOEQwMSoNCitYMjUwMjI0WTIwOTk0MkQwMSoNCitYMjUwMzMyWTIwOTY4MEQwMSoNCitYMjUwNDgwWTIwOTQzOUQwMSoNCitYMjUwNjY0WTIwOTIyM0QwMSoNCitYMjUwODgwWTIwOTAzOUQwMSoNCitYMjUxMTIxWTIwODg5MUQwMSoNCitYMjUxMzgzWTIwODc4M0QwMSoNCitYMjUxNjU5WTIwODcxN0QwMSoNCitYMjUxOTQxWTIwODY5NEQwMSoNCitYMjUyMjIzWTIwODcxN0QwMSoNCitYMjUyNDk5WTIwODc4M0QwMSoNCitYMjUyNzYxWTIwODg5MUQwMSoNCitYMjUzMDAyWTIwOTAzOUQwMSoNCitYMjUzMDk4WTIwOTEyMUQwMSoNCitZMjAxNTAwRDAxKg0KK1gyNDU2NzJEMDEqDQorWDI0NTcyNFkyMDE3MThEMDEqDQorWDI0NTc0MVkyMDIwMDBEMDEqDQorWDI0NTcyNFkyMDIyODJEMDEqDQorWDI0NTY1OFkyMDI1NThEMDEqDQorWDI0NTU1MFkyMDI4MjBEMDEqDQorWDI0NTQwMlkyMDMwNjFEMDEqDQorWDI0NTIxOFkyMDMyNzdEMDEqDQorWDI0NTAwMlkyMDM0NjFEMDEqDQorWDI0NDc2MVkyMDM2MDlEMDEqDQorWDI0NDQ5OVkyMDM3MTdEMDEqDQorWDI0NDIyM1kyMDM3ODNEMDEqDQorWDI0Mzk0MVkyMDM4MDZEMDEqDQorWDI0MzY1OVkyMDM3ODNEMDEqDQorWDI0MzM4M1kyMDM3MTdEMDEqDQorWDI0MzEyMVkyMDM2MDlEMDEqDQorWDI0Mjg4MFkyMDM0NjFEMDEqDQorWDI0MjY2NFkyMDMyNzdEMDEqDQorWDI0MjQ4MFkyMDMwNjFEMDEqDQorWDI0MjMzMlkyMDI4MjBEMDEqDQorWDI0MjIyNFkyMDI1NThEMDEqDQorWDI0MjE1OFkyMDIyODJEMDEqDQorWDI0MjEzNVkyMDIwMDBEMDEqDQorWDI0MjE1OFkyMDE3MThEMDEqDQorWDI0MjIxMFkyMDE1MDBEMDEqDQorWDIzOTI5OUQwMSoNCitZMjQ3MDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTI2NDM4MEQwMipYMjUzMDk4RDAxKg0KK1kyNjM4OTJEMDEqDQorWDI1Mjc3OVkyNjM4NjdEMDEqDQorWDI1MjQ2NlkyNjM3OTJEMDEqDQorWDI1MjE2N1kyNjM2NjhEMDEqDQorWDI1MTg5MlkyNjM1MDBEMDEqDQorWDI1MTY0N1kyNjMyOTBEMDEqDQorWDI1MTQzN1kyNjMwNDVEMDEqDQorWDI1MTI2OVkyNjI3NzBEMDEqDQorWDI1MTE0NVkyNjI0NzFEMDEqDQorWDI1MTA3MFkyNjIxNThEMDEqDQorWDI1MTA0NVkyNjE4MzZEMDEqDQorWDI1MTA3MFkyNjE1MTREMDEqDQorWDI1MTE0NVkyNjEyMDFEMDEqDQorWDI1MTI2OVkyNjA5MDJEMDEqDQorWDI1MTQzN1kyNjA2MjdEMDEqDQorWDI1MTY0N1kyNjAzODJEMDEqDQorWDI1MTg5MlkyNjAxNzJEMDEqDQorWDI1MjE2N1kyNjAwMDREMDEqDQorWDI1MjQ2NlkyNTk4ODBEMDEqDQorWDI1Mjc3OVkyNTk4MDVEMDEqDQorWDI1MzA5OFkyNTk3ODBEMDEqDQorWTI1NjIwMEQwMSoNCitYMjM5Mjk5RDAxKg0KK1kyNjAxNzlEMDEqDQorWDIzOTMwMlkyNjAxNzlEMDEqDQorWDIzOTYyNFkyNjAyMDREMDEqDQorWDIzOTkzN1kyNjAyNzlEMDEqDQorWDI0MDIzNlkyNjA0MDNEMDEqDQorWDI0MDUxMVkyNjA1NzFEMDEqDQorWDI0MDc1NlkyNjA3ODFEMDEqDQorWDI0MDk2NlkyNjEwMjZEMDEqDQorWDI0MTEzNFkyNjEzMDFEMDEqDQorWDI0MTI1OFkyNjE2MDBEMDEqDQorWDI0MTMzM1kyNjE5MTNEMDEqDQorWDI0MTM1MlkyNjIyMzVEMDEqDQorWDI0MTMzM1kyNjI1NTdEMDEqDQorWDI0MTI1OFkyNjI4NzBEMDEqDQorWDI0MTEzNFkyNjMxNjlEMDEqDQorWDI0MDk2NlkyNjM0NDREMDEqDQorWDI0MDc1NlkyNjM2ODlEMDEqDQorWDI0MDUxMVkyNjM4OTlEMDEqDQorWDI0MDIzNlkyNjQwNjdEMDEqDQorWDIzOTkzN1kyNjQxOTFEMDEqDQorWDIzOTYyNFkyNjQyNjZEMDEqDQorWDIzOTMwMlkyNjQyOTFEMDEqDQorWDIzOTI5OVkyNjQyOTFEMDEqDQorWTI2NDM4MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzA3NzFEMDIqWDI1MzA5OEQwMSoNCitZMjY2NzgwRDAxKg0KK1gyMzkyOTlEMDEqDQorWTI3MDc3MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzM4NzVEMDIqWDI1MzA5OEQwMSoNCitZMjczMTcxRDAxKg0KK1gyMzkyOTlEMDEqDQorWTI3Mzg3NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzcxMzBEMDIqWDIzOTMzMFkyNzcxMDNEMDEqDQorWDIzOTU3MVkyNzY5NTVEMDEqDQorWDIzOTgzM1kyNzY4NDdEMDEqDQorWDI0MDEwOVkyNzY3ODFEMDEqDQorWDI0MDM5MVkyNzY3NThEMDEqDQorWDI0MDY3M1kyNzY3ODFEMDEqDQorWDI0MDk0OVkyNzY4NDdEMDEqDQorWDI0MTIxMVkyNzY5NTVEMDEqDQorWDI0MTQ1MlkyNzcxMDNEMDEqDQorWDI0MTY2OFkyNzcyODdEMDEqDQorWDI0MTg1MlkyNzc1MDNEMDEqDQorWDI0MjAwMFkyNzc3NDREMDEqDQorWDI0MjEwOFkyNzgwMDZEMDEqDQorWDI0MjE3NFkyNzgyODJEMDEqDQorWDI0MjE5MVkyNzg1NjREMDEqDQorWDI0MjE3NFkyNzg4NDZEMDEqDQorWDI0MjEwOFkyNzkxMjJEMDEqDQorWDI0MjAwMFkyNzkzODREMDEqDQorWDI0MTg1MlkyNzk2MjVEMDEqDQorWDI0MTY2OFkyNzk4NDFEMDEqDQorWDI0MTQ1MlkyODAwMjVEMDEqDQorWDI0MTIxMVkyODAxNzNEMDEqDQorWDI0MDk0OVkyODAyODFEMDEqDQorWDI0MDY3M1kyODAzNDdEMDEqDQorWDI0MDM5MVkyODAzNzBEMDEqDQorWDI0MDI5MFkyODAzNjJEMDEqDQorWDIzOTI5OVkyODEzNTNEMDEqDQorWTI4OTUzM0QwMSoNCitYMjQ4ODcxWTI3OTk2MUQwMSoNCitYMjQ4OTAyWTI3OTkyNUQwMSoNCitYMjQ5MDQ1WTI3OTgwMkQwMSoNCitYMjQ5MTA4WTI3OTc2NEQwMSoNCitYMjQ5MjA3WTI3OTcwM0QwMSoNCitYMjQ5Mjc5WTI3OTY3NEQwMSoNCitYMjQ5MzgxWTI3OTYzMUQwMSoNCitYMjQ5NTY1WTI3OTU4N0QwMSoNCitYMjQ5NTY1WTI3OTU4N0QwMSoNCitYMjQ5NzUzWTI3OTU3MkQwMSoNCitYMjQ5ODAwWTI3OTU3NkQwMSoNCitYMjUwNTUzRDAxKg0KK1gyNTA1NTRZMjc5NTc2RDAxKg0KK1gyNTA1NTRZMjc5NTc2RDAxKg0KK1gyNTI1MzhEMDEqDQorWDI1MzA5OFkyNzkwMTZEMDEqDQorWTI3Nzg3NUQwMSoNCitYMjQ4ODg3RDAxKg0KK1gyNDc1ODZZMjc5MTc2RDAxKg0KK1gyNDc1ODhZMjc5MTg2RDAxKg0KK1gyNDc2MDdZMjc5NTA4RDAxKg0KK1gyNDc1ODhZMjc5ODMwRDAxKg0KK1gyNDc1MTNZMjgwMTQzRDAxKg0KK1gyNDczODlZMjgwNDQyRDAxKg0KK1gyNDcyMjFZMjgwNzE3RDAxKg0KK1gyNDcwMTFZMjgwOTYyRDAxKg0KK1gyNDY3NjZZMjgxMTcyRDAxKg0KK1gyNDY0OTFZMjgxMzQwRDAxKg0KK1gyNDYxOTJZMjgxNDY0RDAxKg0KK1gyNDU4NzlZMjgxNTM5RDAxKg0KK1gyNDU1NTdZMjgxNTY0RDAxKg0KK1gyNDUyMzVZMjgxNTM5RDAxKg0KK1gyNDQ5MjJZMjgxNDY0RDAxKg0KK1gyNDQ2MjNZMjgxMzQwRDAxKg0KK1gyNDQzNDhZMjgxMTcyRDAxKg0KK1gyNDQxMDNZMjgwOTYyRDAxKg0KK1gyNDM4OTNZMjgwNzE3RDAxKg0KK1gyNDM3MjVZMjgwNDQyRDAxKg0KK1gyNDM2MDFZMjgwMTQzRDAxKg0KK1gyNDM1MjZZMjc5ODMwRDAxKg0KK1gyNDM1MDFZMjc5NTA4RDAxKg0KK1gyNDM1MjZZMjc5MTg2RDAxKg0KK1gyNDM2MDFZMjc4ODczRDAxKg0KK1gyNDM3MjVZMjc4NTc0RDAxKg0KK1gyNDM4OTNZMjc4Mjk5RDAxKg0KK1gyNDQxMDNZMjc4MDU0RDAxKg0KK1gyNDQzNDhZMjc3ODQ0RDAxKg0KK1gyNDQ2MjNZMjc3Njc2RDAxKg0KK1gyNDQ5MjJZMjc3NTUyRDAxKg0KK1gyNDUyMzVZMjc3NDc3RDAxKg0KK1gyNDU1NTdZMjc3NDUyRDAxKg0KK1gyNDU4NzlZMjc3NDc3RDAxKg0KK1gyNDU4ODlZMjc3NDc5RDAxKg0KK1gyNDcwOTNZMjc2Mjc1RDAxKg0KK1gyMzkyOTlEMDEqDQorWTI3NzEzMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyODEzNTNEMDIqWDIzMTY0MVkyODkwMTFEMDEqDQorWTI5MDUwMEQwMSoNCitYMjM4MzMyRDAxKg0KK1gyMzkyOTlZMjg5NTMzRDAxKg0KK1kyODEzNTNEMDEqDQorRzM3Kg0KK0czNioNCitYMjM2NDM4WTI0NzA1MEQwMipYMjM5Mjk5RDAxKg0KK1kyMDE1MDBEMDEqDQorWDIzNjg0NUQwMSoNCitYMjM2NDc0WTIwMTU4OUQwMSoNCitYMjM2NDM4WTIwMTU5MkQwMSoNCitZMjMzNjk1RDAxKg0KK1gyMzY0NDFZMjMzNjk0RDAxKg0KK1gyMzY3MjNZMjMzNzE3RDAxKg0KK1gyMzY5OTlZMjMzNzgzRDAxKg0KK1gyMzcyNjFZMjMzODkxRDAxKg0KK1gyMzc1MDJZMjM0MDM5RDAxKg0KK1gyMzc3MThZMjM0MjIzRDAxKg0KK1gyMzc5MDJZMjM0NDM5RDAxKg0KK1gyMzgwNTBZMjM0NjgwRDAxKg0KK1gyMzgxNThZMjM0OTQyRDAxKg0KK1gyMzgyMjRZMjM1MjE4RDAxKg0KK1gyMzgyNDFZMjM1NTAwRDAxKg0KK1gyMzgyMjRZMjM1NzgyRDAxKg0KK1gyMzgxNThZMjM2MDU4RDAxKg0KK1gyMzgwNTBZMjM2MzIwRDAxKg0KK1gyMzc5MDJZMjM2NTYxRDAxKg0KK1gyMzc3MThZMjM2Nzc3RDAxKg0KK1gyMzc1MDJZMjM2OTYxRDAxKg0KK1gyMzcyNjFZMjM3MTA5RDAxKg0KK1gyMzY5OTlZMjM3MjE3RDAxKg0KK1gyMzY3MjNZMjM3MjgzRDAxKg0KK1gyMzY0NDFZMjM3MzA2RDAxKg0KK1gyMzY0MzhZMjM3MzA1RDAxKg0KK1kyNDcwNTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjY0MzgwRDAyKlgyMzkyOTlEMDEqDQorWTI2NDI5MUQwMSoNCitYMjM4OTgwWTI2NDI2NkQwMSoNCitYMjM4NjY3WTI2NDE5MUQwMSoNCitYMjM4MzY4WTI2NDA2N0QwMSoNCitYMjM4MDkzWTI2Mzg5OUQwMSoNCitYMjM3ODQ4WTI2MzY4OUQwMSoNCitYMjM3NjM4WTI2MzQ0NEQwMSoNCitYMjM3NDcwWTI2MzE2OUQwMSoNCitYMjM3MzQ2WTI2Mjg3MEQwMSoNCitYMjM3MjcxWTI2MjU1N0QwMSoNCitYMjM3MjQ2WTI2MjIzNUQwMSoNCitYMjM3MjcxWTI2MTkxM0QwMSoNCitYMjM3MzQ2WTI2MTYwMEQwMSoNCitYMjM3NDcwWTI2MTMwMUQwMSoNCitYMjM3NjM4WTI2MTAyNkQwMSoNCitYMjM3ODQ4WTI2MDc4MUQwMSoNCitYMjM4MDkzWTI2MDU3MUQwMSoNCitYMjM4MzY4WTI2MDQwM0QwMSoNCitYMjM4NjY3WTI2MDI3OUQwMSoNCitYMjM4OTgwWTI2MDIwNEQwMSoNCitYMjM5Mjk5WTI2MDE3OUQwMSoNCitZMjU2MjAwRDAxKg0KK1gyMzY0MzhEMDEqDQorWTI2NDM4MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzA3NzFEMDIqWDIzOTI5OUQwMSoNCitZMjY2NzgwRDAxKg0KK1gyMzY0MzhEMDEqDQorWTI3MDc3MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzM4NzVEMDIqWDIzOTI5OUQwMSoNCitZMjczMTcxRDAxKg0KK1gyMzY0MzhEMDEqDQorWTI3Mzg3NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyODA4MjBEMDIqWDIzODU5M1kyNzg2NjVEMDEqDQorWDIzODU4NVkyNzg1NjREMDEqDQorWDIzODYwOFkyNzgyODJEMDEqDQorWDIzODY3NFkyNzgwMDZEMDEqDQorWDIzODc4MlkyNzc3NDREMDEqDQorWDIzODkzMFkyNzc1MDNEMDEqDQorWDIzOTExNFkyNzcyODdEMDEqDQorWDIzOTI5OVkyNzcxMzBEMDEqDQorWTI3NjI3NUQwMSoNCitYMjM2NDM4RDAxKg0KK1kyODA4MjBEMDEqDQorRzM3Kg0KK0czNioNCitYMjI0OTM4WTI0NzI3MEQwMipYMjI1MTU5WTI0NzIxN0QwMSoNCitYMjI1NDQxWTI0NzE5NEQwMSoNCitYMjI1NzIzWTI0NzIxN0QwMSoNCitYMjI1OTk5WTI0NzI4M0QwMSoNCitYMjI2MjYxWTI0NzM5MUQwMSoNCitYMjI2NTAyWTI0NzUzOUQwMSoNCitYMjI2NzE4WTI0NzcyM0QwMSoNCitYMjI2OTAyWTI0NzkzOUQwMSoNCitYMjI3MDUwWTI0ODE4MEQwMSoNCitYMjI3MTU4WTI0ODQ0MkQwMSoNCitYMjI3MjI0WTI0ODcxOEQwMSoNCitYMjI3MjI5WTI0ODgwMEQwMSoNCitYMjMwMzcxRDAxKg0KK1gyMzAxNTlZMjQ4NzgzRDAxKg0KK1gyMjk4ODNZMjQ4NzE3RDAxKg0KK1gyMjk2MjFZMjQ4NjA5RDAxKg0KK1gyMjkzODBZMjQ4NDYxRDAxKg0KK1gyMjkxNjRZMjQ4Mjc3RDAxKg0KK1gyMjg5ODBZMjQ4MDYxRDAxKg0KK1gyMjg4MzJZMjQ3ODIwRDAxKg0KK1gyMjg3MjRZMjQ3NTU4RDAxKg0KK1gyMjg2NThZMjQ3MjgyRDAxKg0KK1gyMjg2MzVZMjQ3MDAwRDAxKg0KK1gyMjg2NThZMjQ2NzE4RDAxKg0KK1gyMjg3MjRZMjQ2NDQyRDAxKg0KK1gyMjg4MzJZMjQ2MTgwRDAxKg0KK1gyMjg5ODBZMjQ1OTM5RDAxKg0KK1gyMjkxNjRZMjQ1NzIzRDAxKg0KK1gyMjkzODBZMjQ1NTM5RDAxKg0KK1gyMjk2MjFZMjQ1MzkxRDAxKg0KK1gyMjk4ODNZMjQ1MjgzRDAxKg0KK1gyMzAxNTlZMjQ1MjE3RDAxKg0KK1gyMzA0NDFZMjQ1MTk0RDAxKg0KK1gyMzA3MjNZMjQ1MjE3RDAxKg0KK1gyMzA5OTlZMjQ1MjgzRDAxKg0KK1gyMzEyNjFZMjQ1MzkxRDAxKg0KK1gyMzE1MDJZMjQ1NTM5RDAxKg0KK1gyMzE3MThZMjQ1NzIzRDAxKg0KK1gyMzE5MDJZMjQ1OTM5RDAxKg0KK1gyMzIwNTBZMjQ2MTgwRDAxKg0KK1gyMzIxNThZMjQ2NDQyRDAxKg0KK1gyMzIyMjRZMjQ2NzE4RDAxKg0KK1gyMzIyNDFZMjQ3MDAwRDAxKg0KK1gyMzIyMzhZMjQ3MDUwRDAxKg0KK1gyMzY0MzhEMDEqDQorWTIzNzMwNUQwMSoNCitYMjM2MTU5WTIzNzI4M0QwMSoNCitYMjM1ODgzWTIzNzIxN0QwMSoNCitYMjM1NjIxWTIzNzEwOUQwMSoNCitYMjM1MzgwWTIzNjk2MUQwMSoNCitYMjM1MTY0WTIzNjc3N0QwMSoNCitYMjM0OTgwWTIzNjU2MUQwMSoNCitYMjM0ODMyWTIzNjMyMEQwMSoNCitYMjM0NzI0WTIzNjA1OEQwMSoNCitYMjM0NjU4WTIzNTc4MkQwMSoNCitYMjM0NjM1WTIzNTUwMEQwMSoNCitYMjM0NjU4WTIzNTIxOEQwMSoNCitYMjM0NzI0WTIzNDk0MkQwMSoNCitYMjM0ODMyWTIzNDY4MEQwMSoNCitYMjM0OTgwWTIzNDQzOUQwMSoNCitYMjM1MTY0WTIzNDIyM0QwMSoNCitYMjM1MzgwWTIzNDAzOUQwMSoNCitYMjM1NjIxWTIzMzg5MUQwMSoNCitYMjM1ODgzWTIzMzc4M0QwMSoNCitYMjM2MTU5WTIzMzcxN0QwMSoNCitYMjM2NDM4WTIzMzY5NUQwMSoNCitZMjAxNTkyRDAxKg0KK1gyMzU3OTlZMjAxNjQyRDAxKg0KK1gyMzUxMjRZMjAxNTg5RDAxKg0KK1gyMzQ3NTNZMjAxNTAwRDAxKg0KK1gyMjY4NDVEMDEqDQorWDIyNjQ3NFkyMDE1ODlEMDEqDQorWDIyNTc5OVkyMDE2NDJEMDEqDQorWDIyNTEyNFkyMDE1ODlEMDEqDQorWDIyNDkzOFkyMDE1NDREMDEqDQorWTIxODY5NUQwMSoNCitYMjI0OTQxWTIxODY5NEQwMSoNCitYMjI1MjIzWTIxODcxN0QwMSoNCitYMjI1NDk5WTIxODc4M0QwMSoNCitYMjI1NzYxWTIxODg5MUQwMSoNCitYMjI2MDAyWTIxOTAzOUQwMSoNCitYMjI2MjE4WTIxOTIyM0QwMSoNCitYMjI2NDAyWTIxOTQzOUQwMSoNCitYMjI2NTUwWTIxOTY4MEQwMSoNCitYMjI2NjU4WTIxOTk0MkQwMSoNCitYMjI2NzI0WTIyMDIxOEQwMSoNCitYMjI2NzQxWTIyMDUwMEQwMSoNCitYMjI2NzI0WTIyMDc4MkQwMSoNCitYMjI2NjU4WTIyMTA1OEQwMSoNCitYMjI2NTUwWTIyMTMyMEQwMSoNCitYMjI2NDAyWTIyMTU2MUQwMSoNCitYMjI2MjE4WTIyMTc3N0QwMSoNCitYMjI2MDAyWTIyMTk2MUQwMSoNCitYMjI1NzYxWTIyMjEwOUQwMSoNCitYMjI1NDk5WTIyMjIxN0QwMSoNCitYMjI1MjIzWTIyMjI4M0QwMSoNCitYMjI0OTQxWTIyMjMwNkQwMSoNCitYMjI0OTM4WTIyMjMwNUQwMSoNCitZMjI0NzcwRDAxKg0KK1gyMjUxNTlZMjI0NzE3RDAxKg0KK1gyMjU0NDFZMjI0Njk0RDAxKg0KK1gyMjU3MjNZMjI0NzE3RDAxKg0KK1gyMjU5OTlZMjI0NzgzRDAxKg0KK1gyMjYyNjFZMjI0ODkxRDAxKg0KK1gyMjY1MDJZMjI1MDM5RDAxKg0KK1gyMjY3MThZMjI1MjIzRDAxKg0KK1gyMjY5MDJZMjI1NDM5RDAxKg0KK1gyMjcwNTBZMjI1NjgwRDAxKg0KK1gyMjcxNThZMjI1OTQyRDAxKg0KK1gyMjcyMjRZMjI2MjE4RDAxKg0KK1gyMjcyNDFZMjI2NTAwRDAxKg0KK1gyMjcyMjRZMjI2NzgyRDAxKg0KK1gyMjcxNThZMjI3MDU4RDAxKg0KK1gyMjcwNTBZMjI3MzIwRDAxKg0KK1gyMjY5MDJZMjI3NTYxRDAxKg0KK1gyMjY3MThZMjI3Nzc3RDAxKg0KK1gyMjY1MDJZMjI3OTYxRDAxKg0KK1gyMjYyNjFZMjI4MTA5RDAxKg0KK1gyMjU5OTlZMjI4MjE3RDAxKg0KK1gyMjU3MjNZMjI4MjgzRDAxKg0KK1gyMjU0NDFZMjI4MzA2RDAxKg0KK1gyMjUxNTlZMjI4MjgzRDAxKg0KK1gyMjQ5MzhZMjI4MjMwRDAxKg0KK1kyMzM2OTVEMDEqDQorWDIyNDk0MVkyMzM2OTREMDEqDQorWDIyNTIyM1kyMzM3MTdEMDEqDQorWDIyNTQ5OVkyMzM3ODNEMDEqDQorWDIyNTc2MVkyMzM4OTFEMDEqDQorWDIyNjAwMlkyMzQwMzlEMDEqDQorWDIyNjIxOFkyMzQyMjNEMDEqDQorWDIyNjQwMlkyMzQ0MzlEMDEqDQorWDIyNjU1MFkyMzQ2ODBEMDEqDQorWDIyNjY1OFkyMzQ5NDJEMDEqDQorWDIyNjcyNFkyMzUyMThEMDEqDQorWDIyNjc0MVkyMzU1MDBEMDEqDQorWDIyNjcyNFkyMzU3ODJEMDEqDQorWDIyNjY1OFkyMzYwNThEMDEqDQorWDIyNjU1MFkyMzYzMjBEMDEqDQorWDIyNjQwMlkyMzY1NjFEMDEqDQorWDIyNjIxOFkyMzY3NzdEMDEqDQorWDIyNjAwMlkyMzY5NjFEMDEqDQorWDIyNTc2MVkyMzcxMDlEMDEqDQorWDIyNTQ5OVkyMzcyMTdEMDEqDQorWDIyNTIyM1kyMzcyODNEMDEqDQorWDIyNDk0MVkyMzczMDZEMDEqDQorWDIyNDkzOFkyMzczMDVEMDEqDQorWTI0MjI2OEQwMSoNCitYMjI0OTk5WTI0MjI4M0QwMSoNCitYMjI1MjYxWTI0MjM5MUQwMSoNCitYMjI1NTAyWTI0MjUzOUQwMSoNCitYMjI1NzE4WTI0MjcyM0QwMSoNCitYMjI1OTAyWTI0MjkzOUQwMSoNCitYMjI2MDUwWTI0MzE4MEQwMSoNCitYMjI2MTU4WTI0MzQ0MkQwMSoNCitYMjI2MjI0WTI0MzcxOEQwMSoNCitYMjI2MjQxWTI0NDAwMEQwMSoNCitYMjI2MjI0WTI0NDI4MkQwMSoNCitYMjI2MTU4WTI0NDU1OEQwMSoNCitYMjI2MDUwWTI0NDgyMEQwMSoNCitYMjI1OTAyWTI0NTA2MUQwMSoNCitYMjI1NzE4WTI0NTI3N0QwMSoNCitYMjI1NTAyWTI0NTQ2MUQwMSoNCitYMjI1MjYxWTI0NTYwOUQwMSoNCitYMjI0OTk5WTI0NTcxN0QwMSoNCitYMjI0OTM4WTI0NTczMkQwMSoNCitZMjQ3MjcwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMDQzOFkyNTI5MjFEMDIqWDIyMDYwN1kyNTI3MjNEMDEqDQorWDIyMDgyM1kyNTI1MzlEMDEqDQorWDIyMTA2NFkyNTIzOTFEMDEqDQorWDIyMTMyNlkyNTIyODNEMDEqDQorWDIyMTYwMlkyNTIyMTdEMDEqDQorWDIyMTg4NFkyNTIxOTREMDEqDQorWDIyMjE2NlkyNTIyMTdEMDEqDQorWDIyMjQ0MlkyNTIyODNEMDEqDQorWDIyMjY4MlkyNTIzODJEMDEqDQorWDIyMjY1OFkyNTIyODJEMDEqDQorWDIyMjYzNVkyNTIwMDBEMDEqDQorWDIyMjY1OFkyNTE3MThEMDEqDQorWDIyMjcyNFkyNTE0NDJEMDEqDQorWDIyMjgzMlkyNTExODBEMDEqDQorWDIyMjk4MFkyNTA5MzlEMDEqDQorWDIyMzE2NFkyNTA3MjNEMDEqDQorWDIyMzM4MFkyNTA1MzlEMDEqDQorWDIyMzYyMVkyNTAzOTFEMDEqDQorWDIyMzg4M1kyNTAyODNEMDEqDQorWDIyNDEyMVkyNTAyMjZEMDEqDQorWDIyMzk4MFkyNTAwNjFEMDEqDQorWDIyMzgzMlkyNDk4MjBEMDEqDQorWDIyMzcyNFkyNDk1NThEMDEqDQorWDIyMzY1OFkyNDkyODJEMDEqDQorWDIyMzYzNVkyNDkwMDBEMDEqDQorWDIyMzY1OFkyNDg3MThEMDEqDQorWDIyMzcyNFkyNDg0NDJEMDEqDQorWDIyMzgzMlkyNDgxODBEMDEqDQorWDIyMzk4MFkyNDc5MzlEMDEqDQorWDIyNDE2NFkyNDc3MjNEMDEqDQorWDIyNDM4MFkyNDc1MzlEMDEqDQorWDIyNDYyMVkyNDczOTFEMDEqDQorWDIyNDg4M1kyNDcyODNEMDEqDQorWDIyNDkzOFkyNDcyNzBEMDEqDQorWTI0NTczMkQwMSoNCitYMjI0NzIzWTI0NTc4M0QwMSoNCitYMjI0NDQxWTI0NTgwNkQwMSoNCitYMjI0MTU5WTI0NTc4M0QwMSoNCitYMjIzODgzWTI0NTcxN0QwMSoNCitYMjIzNjIxWTI0NTYwOUQwMSoNCitYMjIzMzgwWTI0NTQ2MUQwMSoNCitYMjIzMTY0WTI0NTI3N0QwMSoNCitYMjIyOTgwWTI0NTA2MUQwMSoNCitYMjIyODMyWTI0NDgyMEQwMSoNCitYMjIyNzI0WTI0NDU1OEQwMSoNCitYMjIyNjU4WTI0NDI4MkQwMSoNCitYMjIyNjM1WTI0NDAwMEQwMSoNCitYMjIyNjU4WTI0MzcxOEQwMSoNCitYMjIyNzI0WTI0MzQ0MkQwMSoNCitYMjIyODMyWTI0MzE4MEQwMSoNCitYMjIyOTgwWTI0MjkzOUQwMSoNCitYMjIzMTY0WTI0MjcyM0QwMSoNCitYMjIzMzgwWTI0MjUzOUQwMSoNCitYMjIzNjIxWTI0MjM5MUQwMSoNCitYMjIzODgzWTI0MjI4M0QwMSoNCitYMjI0MTU5WTI0MjIxN0QwMSoNCitYMjI0NDQxWTI0MjE5NEQwMSoNCitYMjI0NzIzWTI0MjIxN0QwMSoNCitYMjI0OTM4WTI0MjI2OEQwMSoNCitZMjM3MzA1RDAxKg0KK1gyMjQ2NTlZMjM3MjgzRDAxKg0KK1gyMjQzODNZMjM3MjE3RDAxKg0KK1gyMjQxMjFZMjM3MTA5RDAxKg0KK1gyMjM4ODBZMjM2OTYxRDAxKg0KK1gyMjM2NjRZMjM2Nzc3RDAxKg0KK1gyMjM0ODBZMjM2NTYxRDAxKg0KK1gyMjMzMzJZMjM2MzIwRDAxKg0KK1gyMjMyMjRZMjM2MDU4RDAxKg0KK1gyMjMxNThZMjM1NzgyRDAxKg0KK1gyMjMxMzVZMjM1NTAwRDAxKg0KK1gyMjMxNThZMjM1MjE4RDAxKg0KK1gyMjMyMjRZMjM0OTQyRDAxKg0KK1gyMjMzMzJZMjM0NjgwRDAxKg0KK1gyMjM0ODBZMjM0NDM5RDAxKg0KK1gyMjM2NjRZMjM0MjIzRDAxKg0KK1gyMjM4ODBZMjM0MDM5RDAxKg0KK1gyMjQxMjFZMjMzODkxRDAxKg0KK1gyMjQzODNZMjMzNzgzRDAxKg0KK1gyMjQ2NTlZMjMzNzE3RDAxKg0KK1gyMjQ5MzhZMjMzNjk1RDAxKg0KK1kyMjgyMzBEMDEqDQorWDIyNDg4M1kyMjgyMTdEMDEqDQorWDIyNDYyMVkyMjgxMDlEMDEqDQorWDIyNDM4MFkyMjc5NjFEMDEqDQorWDIyNDE2NFkyMjc3NzdEMDEqDQorWDIyMzk4MFkyMjc1NjFEMDEqDQorWDIyMzgzMlkyMjczMjBEMDEqDQorWDIyMzcyNFkyMjcwNThEMDEqDQorWDIyMzY1OFkyMjY3ODJEMDEqDQorWDIyMzYzNVkyMjY1MDBEMDEqDQorWDIyMzY1OFkyMjYyMThEMDEqDQorWDIyMzcyNFkyMjU5NDJEMDEqDQorWDIyMzgzMlkyMjU2ODBEMDEqDQorWDIyMzk4MFkyMjU0MzlEMDEqDQorWDIyNDE2NFkyMjUyMjNEMDEqDQorWDIyNDM4MFkyMjUwMzlEMDEqDQorWDIyNDYyMVkyMjQ4OTFEMDEqDQorWDIyNDg4M1kyMjQ3ODNEMDEqDQorWDIyNDkzOFkyMjQ3NzBEMDEqDQorWTIyMjMwNUQwMSoNCitYMjI0NjU5WTIyMjI4M0QwMSoNCitYMjI0MzgzWTIyMjIxN0QwMSoNCitYMjI0MTIxWTIyMjEwOUQwMSoNCitYMjIzODgwWTIyMTk2MUQwMSoNCitYMjIzNjY0WTIyMTc3N0QwMSoNCitYMjIzNDgwWTIyMTU2MUQwMSoNCitYMjIzMzMyWTIyMTMyMEQwMSoNCitYMjIzMjI0WTIyMTA1OEQwMSoNCitYMjIzMTU4WTIyMDc4MkQwMSoNCitYMjIzMTM1WTIyMDUwMEQwMSoNCitYMjIzMTU4WTIyMDIxOEQwMSoNCitYMjIzMjI0WTIxOTk0MkQwMSoNCitYMjIzMzMyWTIxOTY4MEQwMSoNCitYMjIzNDgwWTIxOTQzOUQwMSoNCitYMjIzNjY0WTIxOTIyM0QwMSoNCitYMjIzODgwWTIxOTAzOUQwMSoNCitYMjI0MTIxWTIxODg5MUQwMSoNCitYMjI0MzgzWTIxODc4M0QwMSoNCitYMjI0NjU5WTIxODcxN0QwMSoNCitYMjI0OTM4WTIxODY5NUQwMSoNCitZMjAxNTQ0RDAxKg0KK1gyMjQ3NTNZMjAxNTAwRDAxKg0KK1gyMjA0MzhEMDEqDQorWTIxMzE5NUQwMSoNCitYMjIwNDQxWTIxMzE5NEQwMSoNCitYMjIwNzIzWTIxMzIxN0QwMSoNCitYMjIwOTk5WTIxMzI4M0QwMSoNCitYMjIxMjYxWTIxMzM5MUQwMSoNCitYMjIxNTAyWTIxMzUzOUQwMSoNCitYMjIxNzE4WTIxMzcyM0QwMSoNCitYMjIxOTAyWTIxMzkzOUQwMSoNCitYMjIyMDUwWTIxNDE4MEQwMSoNCitYMjIyMTU4WTIxNDQ0MkQwMSoNCitYMjIyMjI0WTIxNDcxOEQwMSoNCitYMjIyMjQxWTIxNTAwMEQwMSoNCitYMjIyMjI0WTIxNTI4MkQwMSoNCitYMjIyMTU4WTIxNTU1OEQwMSoNCitYMjIyMDUwWTIxNTgyMEQwMSoNCitYMjIxOTAyWTIxNjA2MUQwMSoNCitYMjIxNzE4WTIxNjI3N0QwMSoNCitYMjIxNTAyWTIxNjQ2MUQwMSoNCitYMjIxMjYxWTIxNjYwOUQwMSoNCitYMjIwOTk5WTIxNjcxN0QwMSoNCitYMjIwNzIzWTIxNjc4M0QwMSoNCitYMjIwNDQxWTIxNjgwNkQwMSoNCitYMjIwNDM4WTIxNjgwNUQwMSoNCitZMjUyOTIxRDAxKg0KK0czNyoNCitHMzYqDQorWTI2Mzc5OUQwMipYMjIwNDQ3WTI2Mzc5N0QwMSoNCitYMjIwNzI5WTI2Mzc3NEQwMSoNCitYMjIxMDExWTI2Mzc5N0QwMSoNCitYMjIxMjg3WTI2Mzg2M0QwMSoNCitYMjIxNTQ5WTI2Mzk3MUQwMSoNCitYMjIxNzkwWTI2NDExOUQwMSoNCitYMjIyMDA2WTI2NDMwM0QwMSoNCitYMjIyMDcxWTI2NDM4MEQwMSoNCitYMjM2NDM4RDAxKg0KK1kyNTYyMDBEMDEqDQorWDIyMjkzMUQwMSoNCitYMjIyODg0WTI1NjIwNEQwMSoNCitYMjIyNjk2WTI1NjE4OUQwMSoNCitYMjIyNTEyWTI1NjE0NUQwMSoNCitYMjIyMzM4WTI1NjA3M0QwMSoNCitYMjIyMTc2WTI1NTk3NEQwMSoNCitYMjIyMTc2WTI1NTk3NEQwMSoNCitYMjIyMDMzWTI1NTg1MUQwMSoNCitYMjIyMDAyWTI1NTgxNUQwMSoNCitYMjIxOTg1WTI1NTc5OEQwMSoNCitYMjIxODg0WTI1NTgwNkQwMSoNCitYMjIxNjAyWTI1NTc4M0QwMSoNCitYMjIxMzI2WTI1NTcxN0QwMSoNCitYMjIxMDY0WTI1NTYwOUQwMSoNCitYMjIwODIzWTI1NTQ2MUQwMSoNCitYMjIwNjA3WTI1NTI3N0QwMSoNCitYMjIwNDM4WTI1NTA3OUQwMSoNCitZMjU3MjQzRDAxKg0KK1gyMjA0NDFZMjU3MjQzRDAxKg0KK1gyMjA3OTRZMjU3MjcxRDAxKg0KK1gyMjExMzhZMjU3MzU0RDAxKg0KK1gyMjE0NjZZMjU3NDg5RDAxKg0KK1gyMjE3NjhZMjU3Njc0RDAxKg0KK1gyMjIwMzdZMjU3OTA0RDAxKg0KK1gyMjIyNjdZMjU4MTczRDAxKg0KK1gyMjI0NTJZMjU4NDc1RDAxKg0KK1gyMjI1ODdZMjU4ODAzRDAxKg0KK1gyMjI2NzBZMjU5MTQ3RDAxKg0KK1gyMjI2OThZMjU5NTAwRDAxKg0KK1gyMjI2NzBZMjU5ODUzRDAxKg0KK1gyMjI1ODdZMjYwMTk3RDAxKg0KK1gyMjI0NTJZMjYwNTI1RDAxKg0KK1gyMjIyNjdZMjYwODI3RDAxKg0KK1gyMjIwMzJZMjYxMDkxRDAxKg0KK1gyMjA0MzhZMjYyNjg1RDAxKg0KK1kyNjM3OTlEMDEqDQorRzM3Kg0KK0czNioNCitZMjcwNzcxRDAyKlgyMjM5NDFEMDEqDQorWDIyMzk0MVkyNzA3NzFEMDEqDQorWDIzNjQzOEQwMSoNCitZMjY2NzgwRDAxKg0KK1gyMjIwNzFEMDEqDQorWDIyMjAwNlkyNjY4NTdEMDEqDQorWDIyMTc5MFkyNjcwNDFEMDEqDQorWDIyMTU0OVkyNjcxODlEMDEqDQorWDIyMTI4N1kyNjcyOTdEMDEqDQorWDIyMTAxMVkyNjczNjNEMDEqDQorWDIyMDcyOVkyNjczODZEMDEqDQorWDIyMDQ0N1kyNjczNjNEMDEqDQorWDIyMDQzOFkyNjczNjFEMDEqDQorWTI3MDc3MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzQ0MjZEMDIqWDIyMDYxN1kyNzQyNTJEMDEqDQorWDIyMDY0MlkyNzQyMjREMDEqDQorWDIyMDc4NVkyNzQxMDFEMDEqDQorWDIyMDc5NVkyNzQwOTZEMDEqDQorWDIyMDgwMVkyNzQwOTBEMDEqDQorWDIyMDg3NFkyNzQwNDdEMDEqDQorWDIyMDk0N1kyNzQwMDJEMDEqDQorWDIyMDk1NVkyNzM5OTlEMDEqDQorWDIyMDk2NFkyNzM5OTREMDEqDQorWDIyMTA0M1kyNzM5NjNEMDEqDQorWDIyMTEyMVkyNzM5MzBEMDEqDQorWDIyMTEzMFkyNzM5MjhEMDEqDQorWDIyMTEzOVkyNzM5MjREMDEqDQorWDIyMTIyMlkyNzM5MDZEMDEqDQorWDIyMTMwNVkyNzM4ODZEMDEqDQorWDIyMTMxM1kyNzM4ODZEMDEqDQorWDIyMTMyNFkyNzM4ODNEMDEqDQorWDIyMTUxMlkyNzM4NzFEMDEqDQorWDIyMTU1MFkyNzM4NzVEMDEqDQorWDIzNjQzOEQwMSoNCitZMjczMTcxRDAxKg0KK1gyMjM5NDFEMDEqDQorWDIyMzk0MVkyNzMxNzFEMDEqDQorWDIyMTExMUQwMSoNCitYMjIxMDUwWTI3MzMyMEQwMSoNCitYMjIwOTAyWTI3MzU2MUQwMSoNCitYMjIwNzE4WTI3Mzc3N0QwMSoNCitYMjIwNTAyWTI3Mzk2MUQwMSoNCitYMjIwNDM4WTI3NDAwMEQwMSoNCitZMjc0NDI2RDAxKg0KK0czNyoNCitHMzYqDQorWTI5MDUwMEQwMipYMjI5MjQxRDAxKg0KK1kyODg1NjFEMDEqDQorWDIyOTIzN1kyODg1MTREMDEqDQorWDIyOTI1MlkyODgzMjZEMDEqDQorWDIyOTI5NlkyODgxNDJEMDEqDQorWDIyOTM2OFkyODc5NjhEMDEqDQorWDIyOTQ2N1kyODc4MDZEMDEqDQorWDIyOTQ2N1kyODc4MDZEMDEqDQorWDIyOTU5MFkyODc2NjNEMDEqDQorWDIyOTYyNlkyODc2MzJEMDEqDQorWDIzNjQzOFkyODA4MjBEMDEqDQorWTI3NjI3NUQwMSoNCitYMjIxOTc5RDAxKg0KK1gyMjA0MzhZMjc3NzY3RDAxKg0KK1kyOTA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjU1MDc5RDAyKlgyMjA0MjNZMjU1MDYxRDAxKg0KK1gyMjAyNzVZMjU0ODIwRDAxKg0KK1gyMjAxNjdZMjU0NTU4RDAxKg0KK1gyMjAxMDFZMjU0MjgyRDAxKg0KK1gyMjAwNzhZMjU0MDAwRDAxKg0KK1gyMjAxMDFZMjUzNzE4RDAxKg0KK1gyMjAxNjdZMjUzNDQyRDAxKg0KK1gyMjAyNzVZMjUzMTgwRDAxKg0KK1gyMjA0MjNZMjUyOTM5RDAxKg0KK1gyMjA0MzhZMjUyOTIxRDAxKg0KK1kyMTY4MDVEMDEqDQorWDIyMDE1OVkyMTY3ODNEMDEqDQorWDIxOTg4M1kyMTY3MTdEMDEqDQorWDIxOTYyMVkyMTY2MDlEMDEqDQorWDIxOTM4MFkyMTY0NjFEMDEqDQorWDIxOTE2NFkyMTYyNzdEMDEqDQorWDIxODk4MFkyMTYwNjFEMDEqDQorWDIxODgzMlkyMTU4MjBEMDEqDQorWDIxODcyNFkyMTU1NThEMDEqDQorWDIxODY1OFkyMTUyODJEMDEqDQorWDIxODYzNVkyMTUwMDBEMDEqDQorWDIxODY1OFkyMTQ3MThEMDEqDQorWDIxODcyNFkyMTQ0NDJEMDEqDQorWDIxODgzMlkyMTQxODBEMDEqDQorWDIxODk4MFkyMTM5MzlEMDEqDQorWDIxOTE2NFkyMTM3MjNEMDEqDQorWDIxOTM4MFkyMTM1MzlEMDEqDQorWDIxOTYyMVkyMTMzOTFEMDEqDQorWDIxOTg4M1kyMTMyODNEMDEqDQorWDIyMDE1OVkyMTMyMTdEMDEqDQorWDIyMDQzOFkyMTMxOTVEMDEqDQorWTIwMTUwMEQwMSoNCitYMjE2ODQ1RDAxKg0KK1gyMTY0NzRZMjAxNTg5RDAxKg0KK1gyMTU3OTlZMjAxNjQyRDAxKg0KK1gyMTUxMjRZMjAxNTg5RDAxKg0KK1gyMTQ3NTNZMjAxNTAwRDAxKg0KK1gyMTI5MzhEMDEqDQorWTIxODkxM0QwMSoNCitYMjE0Mjc2WTIxODkxNEQwMSoNCitYMjE0NTA2WTIxODk2OUQwMSoNCitYMjE0NzI0WTIxOTA1OUQwMSoNCitYMjE0OTI1WTIxOTE4M0QwMSoNCitYMjE1MTA1WTIxOTMzNkQwMSoNCitYMjE1MjU4WTIxOTUxNkQwMSoNCitYMjE1MzgyWTIxOTcxN0QwMSoNCitYMjE1NDcyWTIxOTkzNUQwMSoNCitYMjE1NTI3WTIyMDE2NUQwMSoNCitYMjE1NTQxWTIyMDQwMEQwMSoNCitYMjE1NTI3WTIzMjgzNUQwMSoNCitYMjE1NDcyWTIzMzA2NUQwMSoNCitYMjE1MzgyWTIzMzI4M0QwMSoNCitYMjE1MjU4WTIzMzQ4NEQwMSoNCitYMjE1MTA1WTIzMzY2NEQwMSoNCitYMjE0OTI1WTIzMzgxN0QwMSoNCitYMjE0NzI0WTIzMzk0MUQwMSoNCitYMjE0NTA2WTIzNDAzMUQwMSoNCitYMjE0Mjc2WTIzNDA4NkQwMSoNCitYMjE0MDQxWTIzNDEwMEQwMSoNCitYMjEyOTM4WTIzNDA5OUQwMSoNCitZMjM2MTk1RDAxKg0KK1gyMTI5NDFZMjM2MTk0RDAxKg0KK1gyMTMyMjNZMjM2MjE3RDAxKg0KK1gyMTM0OTlZMjM2MjgzRDAxKg0KK1gyMTM3NjFZMjM2MzkxRDAxKg0KK1gyMTQwMDJZMjM2NTM5RDAxKg0KK1gyMTQyMThZMjM2NzIzRDAxKg0KK1gyMTQ0MDJZMjM2OTM5RDAxKg0KK1gyMTQ1NTBZMjM3MTgwRDAxKg0KK1gyMTQ2NThZMjM3NDQyRDAxKg0KK1gyMTQ3MjRZMjM3NzE4RDAxKg0KK1gyMTQ3NDFZMjM4MDAwRDAxKg0KK1gyMTQ3MjRZMjM4MjgyRDAxKg0KK1gyMTQ2NThZMjM4NTU4RDAxKg0KK1gyMTQ1NTBZMjM4ODIwRDAxKg0KK1gyMTQ0MDJZMjM5MDYxRDAxKg0KK1gyMTQyMThZMjM5Mjc3RDAxKg0KK1gyMTQwMDJZMjM5NDYxRDAxKg0KK1gyMTM3NjFZMjM5NjA5RDAxKg0KK1gyMTM0OTlZMjM5NzE3RDAxKg0KK1gyMTMyMjNZMjM5NzgzRDAxKg0KK1gyMTI5NDFZMjM5ODA2RDAxKg0KK1gyMTI5MzhZMjM5ODA1RDAxKg0KK1kyNDMzMDhEMDEqDQorWDIxNTU3NlkyNDMzMTREMDEqDQorWDIxNTgwNlkyNDMzNjlEMDEqDQorWDIxNjAyNFkyNDM0NTlEMDEqDQorWDIxNjIyNVkyNDM1ODNEMDEqDQorWDIxNjQwNVkyNDM3MzZEMDEqDQorWDIxNjU1OFkyNDM5MTZEMDEqDQorWDIxNjY4MlkyNDQxMTdEMDEqDQorWDIxNjc3MlkyNDQzMzVEMDEqDQorWDIxNjgyN1kyNDQ1NjVEMDEqDQorWDIxNjg0MVkyNDQ4MDBEMDEqDQorWDIxNjgyN1kyNTcyMzVEMDEqDQorWDIxNjc3MlkyNTc0NjVEMDEqDQorWDIxNjY4MlkyNTc2ODNEMDEqDQorWDIxNjU1OFkyNTc4ODREMDEqDQorWDIxNjQwNVkyNTgwNjREMDEqDQorWDIxNjIyNVkyNTgyMTdEMDEqDQorWDIxNjAyNFkyNTgzNDFEMDEqDQorWDIxNTgwNlkyNTg0MzFEMDEqDQorWDIxNTU3NlkyNTg0ODZEMDEqDQorWDIxNTM0MVkyNTg1MDBEMDEqDQorWDIxNDc5MVkyNTg0OTlEMDEqDQorWTI1ODk1N0QwMSoNCitYMjE0ODAwWTI1ODk1N0QwMSoNCitYMjE0OTUzWTI1ODk5NEQwMSoNCitYMjE1MDk4WTI1OTA1NEQwMSoNCitYMjE1MjMzWTI1OTEzNkQwMSoNCitYMjE1MzUyWTI1OTIzOUQwMSoNCitYMjE1NDU1WTI1OTM1OEQwMSoNCitYMjE1NTM3WTI1OTQ5M0QwMSoNCitYMjE1NTk3WTI1OTYzOEQwMSoNCitYMjE1NjM0WTI1OTc5MUQwMSoNCitYMjE1NjQzWTI1OTk0OEQwMSoNCitYMjE1NjQxWTI2MTA0M0QwMSoNCitYMjE1NzE2RDAxKg0KK1gyMTg4NTBZMjU3OTA5RDAxKg0KK1gyMTkxMTRZMjU3Njc0RDAxKg0KK1gyMTk0MTZZMjU3NDg5RDAxKg0KK1gyMTk3NDRZMjU3MzU0RDAxKg0KK1gyMjAwODhZMjU3MjcxRDAxKg0KK1gyMjA0MzhZMjU3MjQzRDAxKg0KK1kyNTUwNzlEMDEqDQorRzM3Kg0KK0czNioNCitYMjEyOTM4WTIzNDA5OUQwMipYMjEwNDM4WTIzNDA5OEQwMSoNCitZMjQzMzAyRDAxKg0KK1gyMTI5MzhZMjQzMzA4RDAxKg0KK1kyMzk4MDVEMDEqDQorWDIxMjY1OVkyMzk3ODNEMDEqDQorWDIxMjM4M1kyMzk3MTdEMDEqDQorWDIxMjEyMVkyMzk2MDlEMDEqDQorWDIxMTg4MFkyMzk0NjFEMDEqDQorWDIxMTY2NFkyMzkyNzdEMDEqDQorWDIxMTQ4MFkyMzkwNjFEMDEqDQorWDIxMTMzMlkyMzg4MjBEMDEqDQorWDIxMTIyNFkyMzg1NThEMDEqDQorWDIxMTE1OFkyMzgyODJEMDEqDQorWDIxMTEzNVkyMzgwMDBEMDEqDQorWDIxMTE1OFkyMzc3MThEMDEqDQorWDIxMTIyNFkyMzc0NDJEMDEqDQorWDIxMTMzMlkyMzcxODBEMDEqDQorWDIxMTQ4MFkyMzY5MzlEMDEqDQorWDIxMTY2NFkyMzY3MjNEMDEqDQorWDIxMTg4MFkyMzY1MzlEMDEqDQorWDIxMjEyMVkyMzYzOTFEMDEqDQorWDIxMjM4M1kyMzYyODNEMDEqDQorWDIxMjY1OVkyMzYyMTdEMDEqDQorWDIxMjkzOFkyMzYxOTVEMDEqDQorWTIzNDA5OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDE1MDBEMDIqWDIxMDQzOEQwMSoNCitZMjEwNjk1RDAxKg0KK1gyMTA0NDFZMjEwNjk0RDAxKg0KK1gyMTA3MjNZMjEwNzE3RDAxKg0KK1gyMTA5OTlZMjEwNzgzRDAxKg0KK1gyMTEyNjFZMjEwODkxRDAxKg0KK1gyMTE1MDJZMjExMDM5RDAxKg0KK1gyMTE3MThZMjExMjIzRDAxKg0KK1gyMTE5MDJZMjExNDM5RDAxKg0KK1gyMTIwNTBZMjExNjgwRDAxKg0KK1gyMTIxNThZMjExOTQyRDAxKg0KK1gyMTIyMjRZMjEyMjE4RDAxKg0KK1gyMTIyNDFZMjEyNTAwRDAxKg0KK1gyMTIyMjRZMjEyNzgyRDAxKg0KK1gyMTIxNThZMjEzMDU4RDAxKg0KK1gyMTIwNTBZMjEzMzIwRDAxKg0KK1gyMTE5MDJZMjEzNTYxRDAxKg0KK1gyMTE3MThZMjEzNzc3RDAxKg0KK1gyMTE1MDJZMjEzOTYxRDAxKg0KK1gyMTEyNjFZMjE0MTA5RDAxKg0KK1gyMTA5OTlZMjE0MjE3RDAxKg0KK1gyMTA3MjNZMjE0MjgzRDAxKg0KK1gyMTA0NDFZMjE0MzA2RDAxKg0KK1gyMTA0MzhZMjE0MzA1RDAxKg0KK1kyMTg5MTFEMDEqDQorWDIxMjkzOFkyMTg5MTNEMDEqDQorWTIwMTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTA0MzhZMjkwNTAwRDAyKlgyMjA0MzhEMDEqDQorWTI3Nzc2N0QwMSoNCitYMjE5MjM3WTI3ODkzMUQwMSoNCitYMjE5MjQxWTI3OTAwMEQwMSoNCitYMjE5MjI0WTI3OTI4MkQwMSoNCitYMjE5MTU4WTI3OTU1OEQwMSoNCitYMjE5MDUwWTI3OTgyMEQwMSoNCitYMjE4OTAyWTI4MDA2MUQwMSoNCitYMjE4NzE4WTI4MDI3N0QwMSoNCitYMjE4NTAyWTI4MDQ2MUQwMSoNCitYMjE4MjYxWTI4MDYwOUQwMSoNCitYMjE3OTk5WTI4MDcxN0QwMSoNCitYMjE3NzIzWTI4MDc4M0QwMSoNCitYMjE3NDQxWTI4MDgwNkQwMSoNCitYMjE3MTU5WTI4MDc4M0QwMSoNCitYMjE2ODgzWTI4MDcxN0QwMSoNCitYMjE2NjIxWTI4MDYwOUQwMSoNCitYMjE2MzgwWTI4MDQ2MUQwMSoNCitYMjE2MTY0WTI4MDI3N0QwMSoNCitYMjE1OTgwWTI4MDA2MUQwMSoNCitYMjE1ODMyWTI3OTgyMEQwMSoNCitYMjE1NzI0WTI3OTU1OEQwMSoNCitYMjE1NjU4WTI3OTI4MkQwMSoNCitYMjE1NjM1WTI3OTAwMEQwMSoNCitYMjE1NjU4WTI3ODcxOEQwMSoNCitYMjE1NzI0WTI3ODQ0MkQwMSoNCitYMjE1ODMyWTI3ODE4MEQwMSoNCitYMjE1OTgwWTI3NzkzOUQwMSoNCitYMjE2MTY0WTI3NzcyM0QwMSoNCitYMjE2MzgwWTI3NzUzOUQwMSoNCitYMjE2NjIxWTI3NzM5MUQwMSoNCitYMjE2ODgzWTI3NzI4M0QwMSoNCitYMjE3MTU5WTI3NzIxN0QwMSoNCitYMjE3NDQxWTI3NzE5NEQwMSoNCitYMjE3NTcwWTI3NzIwNUQwMSoNCitYMjIwNDM4WTI3NDQyNkQwMSoNCitZMjc0MDAwRDAxKg0KK1gyMjAyNjFZMjc0MTA5RDAxKg0KK1gyMTk5OTlZMjc0MjE3RDAxKg0KK1gyMTk3MjNZMjc0MjgzRDAxKg0KK1gyMTk0NDFZMjc0MzA2RDAxKg0KK1gyMTkxNTlZMjc0MjgzRDAxKg0KK1gyMTg4ODNZMjc0MjE3RDAxKg0KK1gyMTg2MjFZMjc0MTA5RDAxKg0KK1gyMTgzODBZMjczOTYxRDAxKg0KK1gyMTgxNjRZMjczNzc3RDAxKg0KK1gyMTc5ODBZMjczNTYxRDAxKg0KK1gyMTc4MzJZMjczMzIwRDAxKg0KK1gyMTc3MjRZMjczMDU4RDAxKg0KK1gyMTc2NThZMjcyNzgyRDAxKg0KK1gyMTc2MzVZMjcyNTAwRDAxKg0KK1gyMTc2NThZMjcyMjE4RDAxKg0KK1gyMTc3MjRZMjcxOTQyRDAxKg0KK1gyMTc4MzJZMjcxNjgwRDAxKg0KK1gyMTc5ODBZMjcxNDM5RDAxKg0KK1gyMTgxNjRZMjcxMjIzRDAxKg0KK1gyMTgzODBZMjcxMDM5RDAxKg0KK1gyMTg2MjFZMjcwODkxRDAxKg0KK1gyMTg4ODNZMjcwNzgzRDAxKg0KK1gyMTkxNTlZMjcwNzE3RDAxKg0KK1gyMTk0NDFZMjcwNjk0RDAxKg0KK1gyMTk3MjNZMjcwNzE3RDAxKg0KK1gyMTk5NDNZMjcwNzY5RDAxKg0KK1gyMTk5NzBZMjcwNzY3RDAxKg0KK1gyMjAwMTdZMjcwNzcxRDAxKg0KK1gyMjA0MzhEMDEqDQorWTI2NzM2MUQwMSoNCitYMjIwMTcxWTI2NzI5N0QwMSoNCitYMjE5OTA5WTI2NzE4OUQwMSoNCitYMjE5NjY4WTI2NzA0MUQwMSoNCitYMjE5NDUyWTI2Njg1N0QwMSoNCitYMjE5MjY4WTI2NjY0MUQwMSoNCitYMjE5MTIwWTI2NjQwMEQwMSoNCitYMjE5MDEyWTI2NjEzOEQwMSoNCitYMjE4OTQ2WTI2NTg2MkQwMSoNCitYMjE4OTIzWTI2NTU4MEQwMSoNCitYMjE4OTQ2WTI2NTI5OEQwMSoNCitYMjE5MDEyWTI2NTAyMkQwMSoNCitYMjE5MTIwWTI2NDc2MEQwMSoNCitYMjE5MjY4WTI2NDUxOUQwMSoNCitYMjE5NDUyWTI2NDMwM0QwMSoNCitYMjE5NjY4WTI2NDExOUQwMSoNCitYMjE5OTA5WTI2Mzk3MUQwMSoNCitYMjIwMTcxWTI2Mzg2M0QwMSoNCitYMjIwNDM4WTI2Mzc5OUQwMSoNCitZMjYyNjg1RDAxKg0KK1gyMTgzMDFZMjY0ODIyRDAxKg0KK1gyMTgyNDRZMjY0ODg5RDAxKg0KK1gyMTc5NzVZMjY1MTE5RDAxKg0KK1gyMTc5NzVZMjY1MTE5RDAxKg0KK1gyMTc4NjBZMjY1MTg5RDAxKg0KK1gyMTc2NzNZMjY1MzA0RDAxKg0KK1gyMTc0NDFZMjY1NDAwRDAxKg0KK1gyMTczNDVZMjY1NDM5RDAxKg0KK1gyMTcwMDFZMjY1NTIyRDAxKg0KK1gyMTY2NDhZMjY1NTUwRDAxKg0KK1gyMTY1NjBZMjY1NTQzRDAxKg0KK1gyMTU2MzREMDEqDQorWDIxNTYzNFkyNjYwMDlEMDEqDQorWDIxNTU5N1kyNjYxNjJEMDEqDQorWDIxNTUzN1kyNjYzMDdEMDEqDQorWDIxNTQ1NVkyNjY0NDJEMDEqDQorWDIxNTM1MlkyNjY1NjFEMDEqDQorWDIxNTIzM1kyNjY2NjREMDEqDQorWDIxNTA5OFkyNjY3NDZEMDEqDQorWDIxNDk1M1kyNjY4MDZEMDEqDQorWDIxNDgwMFkyNjY4NDNEMDEqDQorWDIxNDY0M1kyNjY4NTJEMDEqDQorWDIxNDMzNFkyNjY4NTFEMDEqDQorWTI2Nzk0OEQwMSoNCitYMjE0MzQxWTI2ODAzNkQwMSoNCitYMjE0MzEzWTI2ODM4OUQwMSoNCitYMjE0MzEzWTI2ODM4OUQwMSoNCitYMjE0MjMwWTI2ODczM0QwMSoNCitYMjE0MDk1WTI2OTA2MUQwMSoNCitYMjEzOTEwWTI2OTM2M0QwMSoNCitYMjEzNjgwWTI2OTYzMkQwMSoNCitYMjEzNjEzWTI2OTY4OUQwMSoNCitYMjEzMjY4WTI3MDAzNEQwMSoNCitYMjEzMjY2WTI3MDk1NEQwMSoNCitYMjEzMjI5WTI3MTEwN0QwMSoNCitYMjEzMTY5WTI3MTI1MkQwMSoNCitYMjEzMDg3WTI3MTM4N0QwMSoNCitYMjEyOTg0WTI3MTUwNkQwMSoNCitYMjEyODY1WTI3MTYwOUQwMSoNCitYMjEyNzMwWTI3MTY5MUQwMSoNCitYMjEyNTg1WTI3MTc1MUQwMSoNCitYMjEyNDMyWTI3MTc4OEQwMSoNCitYMjEyMjc1WTI3MTc5N0QwMSoNCitYMjEwNDM4WTI3MTc5MkQwMSoNCitZMjkwNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWTIzNDA5OEQwMipYMjAzNDQxWTIzNDA5M0QwMSoNCitZMjM1NzY5RDAxKg0KK1gyMDM2NTlZMjM1NzE3RDAxKg0KK1gyMDM5NDFZMjM1Njk0RDAxKg0KK1gyMDQyMjNZMjM1NzE3RDAxKg0KK1gyMDQ0OTlZMjM1NzgzRDAxKg0KK1gyMDQ3NjFZMjM1ODkxRDAxKg0KK1gyMDUwMDJZMjM2MDM5RDAxKg0KK1gyMDUyMThZMjM2MjIzRDAxKg0KK1gyMDU0MDJZMjM2NDM5RDAxKg0KK1gyMDU1NTBZMjM2NjgwRDAxKg0KK1gyMDU2NThZMjM2OTQyRDAxKg0KK1gyMDU3MjRZMjM3MjE4RDAxKg0KK1gyMDU3NDFZMjM3NTAwRDAxKg0KK1gyMDU3MjRZMjM3NzgyRDAxKg0KK1gyMDU2NThZMjM4MDU4RDAxKg0KK1gyMDU1NTBZMjM4MzIwRDAxKg0KK1gyMDU0MDJZMjM4NTYxRDAxKg0KK1gyMDUyMThZMjM4Nzc3RDAxKg0KK1gyMDUwMDJZMjM4OTYxRDAxKg0KK1gyMDQ3NjFZMjM5MTA5RDAxKg0KK1gyMDQ0OTlZMjM5MjE3RDAxKg0KK1gyMDQyMjNZMjM5MjgzRDAxKg0KK1gyMDM5NDFZMjM5MzA2RDAxKg0KK1gyMDM2NTlZMjM5MjgzRDAxKg0KK1gyMDM0NDFZMjM5MjMxRDAxKg0KK1kyNDMzMDdEMDEqDQorWDIwNjQ3NlkyNDMzMTREMDEqDQorWDIwNjcwNlkyNDMzNjlEMDEqDQorWDIwNjkyNFkyNDM0NTlEMDEqDQorWDIwNzEyNVkyNDM1ODNEMDEqDQorWDIwNzMwNVkyNDM3MzZEMDEqDQorWDIwNzQ1OFkyNDM5MTZEMDEqDQorWDIwNzU4MlkyNDQxMTdEMDEqDQorWDIwNzY3MlkyNDQzMzVEMDEqDQorWDIwNzcyN1kyNDQ1NjVEMDEqDQorWDIwNzc0MVkyNDQ4MDBEMDEqDQorWDIwNzcyN1kyNTcyMzVEMDEqDQorWDIwNzY3MlkyNTc0NjVEMDEqDQorWDIwNzU4MlkyNTc2ODNEMDEqDQorWDIwNzQ1OFkyNTc4ODREMDEqDQorWDIwNzMwNVkyNTgwNjREMDEqDQorWDIwNzEyNVkyNTgyMTdEMDEqDQorWDIwNjkyNFkyNTgzNDFEMDEqDQorWDIwNjcwNlkyNTg0MzFEMDEqDQorWDIwNjQ3NlkyNTg0ODZEMDEqDQorWDIwNjI0MVkyNTg1MDBEMDEqDQorWDIwMzQ0MVkyNTg0OTNEMDEqDQorWTI1ODk1MEQwMSoNCitYMjA3NzE0WTI1ODk1N0QwMSoNCitYMjA3ODY3WTI1ODk5NEQwMSoNCitYMjA4MDEyWTI1OTA1NEQwMSoNCitYMjA4MTQ3WTI1OTEzNkQwMSoNCitYMjA4MjY2WTI1OTIzOUQwMSoNCitYMjA4MzY5WTI1OTM1OEQwMSoNCitYMjA4NDUxWTI1OTQ5M0QwMSoNCitYMjA4NTExWTI1OTYzOEQwMSoNCitYMjA4NTQxWTI1OTc2M0QwMSoNCitYMjA4NTcxWTI1OTYzOEQwMSoNCitYMjA4NjMxWTI1OTQ5M0QwMSoNCitYMjA4NzEzWTI1OTM1OEQwMSoNCitYMjA4ODE2WTI1OTIzOUQwMSoNCitYMjA4OTM1WTI1OTEzNkQwMSoNCitYMjA5MDcwWTI1OTA1NEQwMSoNCitYMjA5MjE1WTI1ODk5NEQwMSoNCitYMjA5MzY4WTI1ODk1N0QwMSoNCitYMjA5NTI1WTI1ODk0OEQwMSoNCitYMjEwMjkxWTI1ODk0OUQwMSoNCitZMjU4NDg4RDAxKg0KK1gyMDk1MDZZMjU4NDg2RDAxKg0KK1gyMDkyNzZZMjU4NDMxRDAxKg0KK1gyMDkwNThZMjU4MzQxRDAxKg0KK1gyMDg4NTdZMjU4MjE3RDAxKg0KK1gyMDg2NzdZMjU4MDY0RDAxKg0KK1gyMDg1MjRZMjU3ODg0RDAxKg0KK1gyMDg0MDBZMjU3NjgzRDAxKg0KK1gyMDgzMTBZMjU3NDY1RDAxKg0KK1gyMDgyNTVZMjU3MjM1RDAxKg0KK1gyMDgyNDFZMjU3MDAwRDAxKg0KK1gyMDgyNTVZMjQ0NTY1RDAxKg0KK1gyMDgzMTBZMjQ0MzM1RDAxKg0KK1gyMDg0MDBZMjQ0MTE3RDAxKg0KK1gyMDg1MjRZMjQzOTE2RDAxKg0KK1gyMDg2NzdZMjQzNzM2RDAxKg0KK1gyMDg4NTdZMjQzNTgzRDAxKg0KK1gyMDkwNThZMjQzNDU5RDAxKg0KK1gyMDkyNzZZMjQzMzY5RDAxKg0KK1gyMDk1MDZZMjQzMzE0RDAxKg0KK1gyMDk3NDFZMjQzMzAwRDAxKg0KK1gyMTA0MzhZMjQzMzAyRDAxKg0KK1kyMzQwOThEMDEqDQorRzM3Kg0KK0czNioNCitZMjAxNTAwRDAyKlgyMDY4NDVEMDEqDQorWDIwNjQ3NFkyMDE1ODlEMDEqDQorWDIwNTc5OVkyMDE2NDJEMDEqDQorWDIwNTEyNFkyMDE1ODlEMDEqDQorWDIwNDc1M1kyMDE1MDBEMDEqDQorWDIwMzQ0MUQwMSoNCitZMjExMDAyRDAxKg0KK1gyMDM1MDJZMjExMDM5RDAxKg0KK1gyMDM3MThZMjExMjIzRDAxKg0KK1gyMDM5MDJZMjExNDM5RDAxKg0KK1gyMDQwNTBZMjExNjgwRDAxKg0KK1gyMDQxNThZMjExOTQyRDAxKg0KK1gyMDQyMjRZMjEyMjE4RDAxKg0KK1gyMDQyNDFZMjEyNTAwRDAxKg0KK1gyMDQyMjRZMjEyNzgyRDAxKg0KK1gyMDQxNThZMjEzMDU4RDAxKg0KK1gyMDQwNTBZMjEzMzIwRDAxKg0KK1gyMDM5MDJZMjEzNTYxRDAxKg0KK1gyMDM3MThZMjEzNzc3RDAxKg0KK1gyMDM1MDJZMjEzOTYxRDAxKg0KK1gyMDM0NDFZMjEzOTk4RDAxKg0KK1kyMTg5MDdEMDEqDQorWDIxMDQzOFkyMTg5MTFEMDEqDQorWTIxNDMwNUQwMSoNCitYMjEwMTU5WTIxNDI4M0QwMSoNCitYMjA5ODgzWTIxNDIxN0QwMSoNCitYMjA5NjIxWTIxNDEwOUQwMSoNCitYMjA5MzgwWTIxMzk2MUQwMSoNCitYMjA5MTY0WTIxMzc3N0QwMSoNCitYMjA4OTgwWTIxMzU2MUQwMSoNCitYMjA4ODMyWTIxMzMyMEQwMSoNCitYMjA4NzI0WTIxMzA1OEQwMSoNCitYMjA4NjU4WTIxMjc4MkQwMSoNCitYMjA4NjM1WTIxMjUwMEQwMSoNCitYMjA4NjU4WTIxMjIxOEQwMSoNCitYMjA4NzI0WTIxMTk0MkQwMSoNCitYMjA4ODMyWTIxMTY4MEQwMSoNCitYMjA4OTgwWTIxMTQzOUQwMSoNCitYMjA5MTY0WTIxMTIyM0QwMSoNCitYMjA5MzgwWTIxMTAzOUQwMSoNCitYMjA5NjIxWTIxMDg5MUQwMSoNCitYMjA5ODgzWTIxMDc4M0QwMSoNCitYMjEwMTU5WTIxMDcxN0QwMSoNCitYMjEwNDM4WTIxMDY5NUQwMSoNCitZMjAxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwNTQzOFkyOTA1MDBEMDIqWDIxMDQzOEQwMSoNCitZMjcxNzkyRDAxKg0KK1gyMDkxNjZZMjcxNzg4RDAxKg0KK1gyMDkwMTNZMjcxNzUxRDAxKg0KK1gyMDg4NjhZMjcxNjkxRDAxKg0KK1gyMDg3MzNZMjcxNjA5RDAxKg0KK1gyMDg2MTRZMjcxNTA2RDAxKg0KK1gyMDg1MTFZMjcxMzg3RDAxKg0KK1gyMDg0MjlZMjcxMjUyRDAxKg0KK1gyMDgzNjlZMjcxMTA3RDAxKg0KK1gyMDgzMzJZMjcwOTU0RDAxKg0KK1gyMDgzMjNZMjcwNzk3RDAxKg0KK1gyMDgzMzJZMjY2NzA0RDAxKg0KK1gyMDgzNjlZMjY2NTUxRDAxKg0KK1gyMDg0MjlZMjY2NDA2RDAxKg0KK1gyMDg1MTFZMjY2MjcxRDAxKg0KK1gyMDg1ODJZMjY2MTg5RDAxKg0KK1gyMDg1NzFZMjY2MTYyRDAxKg0KK1gyMDg1NDFZMjY2MDM3RDAxKg0KK1gyMDg1MTFZMjY2MTYyRDAxKg0KK1gyMDg0NTFZMjY2MzA3RDAxKg0KK1gyMDgzNjlZMjY2NDQyRDAxKg0KK1gyMDgyNjZZMjY2NTYxRDAxKg0KK1gyMDgxNDdZMjY2NjY0RDAxKg0KK1gyMDgxMzlZMjY2NjY4RDAxKg0KK1gyMDgxNDhZMjY2NzA0RDAxKg0KK1gyMDgxNTdZMjY2ODYxRDAxKg0KK1gyMDgxNDhZMjcwOTU0RDAxKg0KK1gyMDgxMTFZMjcxMTA3RDAxKg0KK1gyMDgwNTFZMjcxMjUyRDAxKg0KK1gyMDc5NjlZMjcxMzg3RDAxKg0KK1gyMDc4NjZZMjcxNTA2RDAxKg0KK1gyMDc3NDdZMjcxNjA5RDAxKg0KK1gyMDc2MTJZMjcxNjkxRDAxKg0KK1gyMDc0NjdZMjcxNzUxRDAxKg0KK1gyMDczMTRZMjcxNzg4RDAxKg0KK1gyMDcxNTdZMjcxNzk3RDAxKg0KK1gyMDU0MzhZMjcxNzkyRDAxKg0KK1kyNzUxOTVEMDEqDQorWDIwNTQ0MVkyNzUxOTREMDEqDQorWDIwNTcyM1kyNzUyMTdEMDEqDQorWDIwNTk5OVkyNzUyODNEMDEqDQorWDIwNjI2MVkyNzUzOTFEMDEqDQorWDIwNjUwMlkyNzU1MzlEMDEqDQorWDIwNjcxOFkyNzU3MjNEMDEqDQorWDIwNjkwMlkyNzU5MzlEMDEqDQorWDIwNzA1MFkyNzYxODBEMDEqDQorWDIwNzE1OFkyNzY0NDJEMDEqDQorWDIwNzIyNFkyNzY3MThEMDEqDQorWDIwNzI0MVkyNzcwMDBEMDEqDQorWDIwNzIyNFkyNzcyODJEMDEqDQorWDIwNzE1OFkyNzc1NThEMDEqDQorWDIwNzA1MFkyNzc4MjBEMDEqDQorWDIwNjkwMlkyNzgwNjFEMDEqDQorWDIwNjcxOFkyNzgyNzdEMDEqDQorWDIwNjUwMlkyNzg0NjFEMDEqDQorWDIwNjI2MVkyNzg2MDlEMDEqDQorWDIwNTk5OVkyNzg3MTdEMDEqDQorWDIwNTcyM1kyNzg3ODNEMDEqDQorWDIwNTQ0MVkyNzg4MDZEMDEqDQorWDIwNTQzOFkyNzg4MDVEMDEqDQorWTI5MDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDM0NDFEMDIqWDIwNTQzOEQwMSoNCitZMjc4ODA1RDAxKg0KK1gyMDUxNTlZMjc4NzgzRDAxKg0KK1gyMDQ4ODNZMjc4NzE3RDAxKg0KK1gyMDQ2MjFZMjc4NjA5RDAxKg0KK1gyMDQzODBZMjc4NDYxRDAxKg0KK1gyMDQxNjRZMjc4Mjc3RDAxKg0KK1gyMDM5ODBZMjc4MDYxRDAxKg0KK1gyMDM4MzJZMjc3ODIwRDAxKg0KK1gyMDM3MjRZMjc3NTU4RDAxKg0KK1gyMDM2NThZMjc3MjgyRDAxKg0KK1gyMDM2MzVZMjc3MDAwRDAxKg0KK1gyMDM2NThZMjc2NzE4RDAxKg0KK1gyMDM3MjRZMjc2NDQyRDAxKg0KK1gyMDM4MzJZMjc2MTgwRDAxKg0KK1gyMDM5ODBZMjc1OTM5RDAxKg0KK1gyMDQxNjRZMjc1NzIzRDAxKg0KK1gyMDQzODBZMjc1NTM5RDAxKg0KK1gyMDQ2MjFZMjc1MzkxRDAxKg0KK1gyMDQ4ODNZMjc1MjgzRDAxKg0KK1gyMDUxNTlZMjc1MjE3RDAxKg0KK1gyMDU0MzhZMjc1MTk1RDAxKg0KK1kyNzE3OTJEMDEqDQorWDIwNDA0OFkyNzE3ODhEMDEqDQorWDIwMzg5NVkyNzE3NTFEMDEqDQorWDIwMzc1MFkyNzE2OTFEMDEqDQorWDIwMzYxNVkyNzE2MDlEMDEqDQorWDIwMzQ5NlkyNzE1MDZEMDEqDQorWDIwMzQ0MVkyNzE0NDJEMDEqDQorWTI5MDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTM5MzhZMjE4OTAxRDAyKlgyMDM0NDFZMjE4OTA3RDAxKg0KK1kyMTM5OThEMDEqDQorWDIwMzI2MVkyMTQxMDlEMDEqDQorWDIwMjk5OVkyMTQyMTdEMDEqDQorWDIwMjcyM1kyMTQyODNEMDEqDQorWDIwMjQ0MVkyMTQzMDZEMDEqDQorWDIwMjE1OVkyMTQyODNEMDEqDQorWDIwMTg4M1kyMTQyMTdEMDEqDQorWDIwMTYyMVkyMTQxMDlEMDEqDQorWDIwMTM4MFkyMTM5NjFEMDEqDQorWDIwMTE2NFkyMTM3NzdEMDEqDQorWDIwMDk4MFkyMTM1NjFEMDEqDQorWDIwMDgzMlkyMTMzMjBEMDEqDQorWDIwMDcyNFkyMTMwNThEMDEqDQorWDIwMDY1OFkyMTI3ODJEMDEqDQorWDIwMDYzNVkyMTI1MDBEMDEqDQorWDIwMDY1OFkyMTIyMThEMDEqDQorWDIwMDcyNFkyMTE5NDJEMDEqDQorWDIwMDgzMlkyMTE2ODBEMDEqDQorWDIwMDk4MFkyMTE0MzlEMDEqDQorWDIwMTE2NFkyMTEyMjNEMDEqDQorWDIwMTM4MFkyMTEwMzlEMDEqDQorWDIwMTYyMVkyMTA4OTFEMDEqDQorWDIwMTg4M1kyMTA3ODNEMDEqDQorWDIwMjE1OVkyMTA3MTdEMDEqDQorWDIwMjQ0MVkyMTA2OTREMDEqDQorWDIwMjcyM1kyMTA3MTdEMDEqDQorWDIwMjk5OVkyMTA3ODNEMDEqDQorWDIwMzI2MVkyMTA4OTFEMDEqDQorWDIwMzQ0MVkyMTEwMDJEMDEqDQorWTIwMTUwMEQwMSoNCitYMTk5NTkyRDAxKg0KK1gxOTk1NTRZMjAxNTIzRDAxKg0KK1gxOTk0MDlZMjAxNTgzRDAxKg0KK1gxOTkyNTZZMjAxNjIwRDAxKg0KK1gxOTkwOTlZMjAxNjI5RDAxKg0KK1gxOTM5MzhZMjAxNjIyRDAxKg0KK1kyMTA2OTVEMDEqDQorWDE5Mzk0MVkyMTA2OTREMDEqDQorWDE5NDIyM1kyMTA3MTdEMDEqDQorWDE5NDQ5OVkyMTA3ODNEMDEqDQorWDE5NDc2MVkyMTA4OTFEMDEqDQorWDE5NTAwMlkyMTEwMzlEMDEqDQorWDE5NTIxOFkyMTEyMjNEMDEqDQorWDE5NTQwMlkyMTE0MzlEMDEqDQorWDE5NTU1MFkyMTE2ODBEMDEqDQorWDE5NTY1OFkyMTE5NDJEMDEqDQorWDE5NTcyNFkyMTIyMThEMDEqDQorWDE5NTc0MVkyMTI1MDBEMDEqDQorWDE5NTcyNFkyMTI3ODJEMDEqDQorWDE5NTY1OFkyMTMwNThEMDEqDQorWDE5NTU1MFkyMTMzMjBEMDEqDQorWDE5NTQwMlkyMTM1NjFEMDEqDQorWDE5NTIxOFkyMTM3NzdEMDEqDQorWDE5NTAwMlkyMTM5NjFEMDEqDQorWDE5NDc2MVkyMTQxMDlEMDEqDQorWDE5NDQ5OVkyMTQyMTdEMDEqDQorWDE5NDIyM1kyMTQyODNEMDEqDQorWDE5Mzk0MVkyMTQzMDZEMDEqDQorWDE5MzkzOFkyMTQzMDVEMDEqDQorWTIxODkwMUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTg0MzhZMjQzODkyRDAyKlgxOTg0NThZMjQzOTE2RDAxKg0KK1gxOTg1ODJZMjQ0MTE3RDAxKg0KK1gxOTg2NzJZMjQ0MzM1RDAxKg0KK1gxOTg3MjdZMjQ0NTY1RDAxKg0KK1gxOTg3NDFZMjQ0ODAwRDAxKg0KK1gxOTg3MjdZMjU3MjM1RDAxKg0KK1gxOTg2NzJZMjU3NDY1RDAxKg0KK1gxOTg1ODJZMjU3NjgzRDAxKg0KK1gxOTg0NThZMjU3ODg0RDAxKg0KK1gxOTg0MzhZMjU3OTA4RDAxKg0KK1kyNjA2OTVEMDEqDQorWDE5ODQ0MVkyNjA2OTREMDEqDQorWDE5ODcyM1kyNjA3MTdEMDEqDQorWDE5ODk5OVkyNjA3ODNEMDEqDQorWDE5OTI2MVkyNjA4OTFEMDEqDQorWDE5OTUwMlkyNjEwMzlEMDEqDQorWDE5OTcxOFkyNjEyMjNEMDEqDQorWDE5OTkwMlkyNjE0MzlEMDEqDQorWDIwMDA1MFkyNjE2ODBEMDEqDQorWDIwMDE1OFkyNjE5NDJEMDEqDQorWDIwMDIyNFkyNjIyMThEMDEqDQorWDIwMDI0MVkyNjI1MDBEMDEqDQorWDIwMDIyNFkyNjI3ODJEMDEqDQorWDIwMDE1OFkyNjMwNThEMDEqDQorWDIwMDA1MFkyNjMzMjBEMDEqDQorWDE5OTkwMlkyNjM1NjFEMDEqDQorWDE5OTcxOFkyNjM3NzdEMDEqDQorWDE5OTUwMlkyNjM5NjFEMDEqDQorWDE5OTI2MVkyNjQxMDlEMDEqDQorWDE5ODk5OVkyNjQyMTdEMDEqDQorWDE5ODcyM1kyNjQyODNEMDEqDQorWDE5ODQ0MVkyNjQzMDZEMDEqDQorWDE5ODQzOFkyNjQzMDVEMDEqDQorWTI2NzY5NUQwMSoNCitYMTk4NDQxWTI2NzY5NEQwMSoNCitYMTk4NzIzWTI2NzcxN0QwMSoNCitYMTk4OTk5WTI2Nzc4M0QwMSoNCitYMTk5MjYxWTI2Nzg5MUQwMSoNCitYMTk5NTAyWTI2ODAzOUQwMSoNCitYMTk5NzE4WTI2ODIyM0QwMSoNCitYMTk5OTAyWTI2ODQzOUQwMSoNCitYMjAwMDUwWTI2ODY4MEQwMSoNCitYMjAwMTU4WTI2ODk0MkQwMSoNCitYMjAwMjI0WTI2OTIxOEQwMSoNCitYMjAwMjQxWTI2OTUwMEQwMSoNCitYMjAwMjI0WTI2OTc4MkQwMSoNCitYMjAwMTU4WTI3MDA1OEQwMSoNCitYMjAwMDUwWTI3MDMyMEQwMSoNCitYMTk5OTAyWTI3MDU2MUQwMSoNCitYMTk5NzE4WTI3MDc3N0QwMSoNCitYMTk5NTAyWTI3MDk2MUQwMSoNCitYMTk5MjYxWTI3MTEwOUQwMSoNCitYMTk4OTk5WTI3MTIxN0QwMSoNCitYMTk4NzIzWTI3MTI4M0QwMSoNCitYMTk4NDQxWTI3MTMwNkQwMSoNCitYMTk4NDM4WTI3MTMwNUQwMSoNCitZMjkwNTAwRDAxKg0KK1gyMDM0NDFEMDEqDQorWTI3MTQ0MkQwMSoNCitYMjAzMzkzWTI3MTM4N0QwMSoNCitYMjAzMzExWTI3MTI1MkQwMSoNCitYMjAzMjUxWTI3MTEwN0QwMSoNCitYMjAzMjE0WTI3MDk1NEQwMSoNCitYMjAzMjA1WTI3MDc5N0QwMSoNCitYMjAzMjE0WTI2Njg0NEQwMSoNCitYMjAyMjgyWTI2Njg0M0QwMSoNCitYMjAyMTI5WTI2NjgwNkQwMSoNCitYMjAxOTg0WTI2Njc0NkQwMSoNCitYMjAxODQ5WTI2NjY2NEQwMSoNCitYMjAxNzMwWTI2NjU2MUQwMSoNCitYMjAxNjI3WTI2NjQ0MkQwMSoNCitYMjAxNTQ1WTI2NjMwN0QwMSoNCitYMjAxNDg1WTI2NjE2MkQwMSoNCitYMjAxNDQ4WTI2NjAwOUQwMSoNCitYMjAxNDM5WTI2NTg1MkQwMSoNCitYMjAxNDQ4WTI1OTc5MUQwMSoNCitYMjAxNDg1WTI1OTYzOEQwMSoNCitYMjAxNTQ1WTI1OTQ5M0QwMSoNCitYMjAxNjI3WTI1OTM1OEQwMSoNCitYMjAxNzMwWTI1OTIzOUQwMSoNCitYMjAxODQ5WTI1OTEzNkQwMSoNCitYMjAxOTg0WTI1OTA1NEQwMSoNCitYMjAyMTI5WTI1ODk5NEQwMSoNCitYMjAyMjgyWTI1ODk1N0QwMSoNCitYMjAyNDM5WTI1ODk0OEQwMSoNCitYMjAzNDQxWTI1ODk1MEQwMSoNCitZMjU4NDkzRDAxKg0KK1gyMDA0MDZZMjU4NDg2RDAxKg0KK1gyMDAxNzZZMjU4NDMxRDAxKg0KK1gxOTk5NThZMjU4MzQxRDAxKg0KK1gxOTk3NTdZMjU4MjE3RDAxKg0KK1gxOTk1NzdZMjU4MDY0RDAxKg0KK1gxOTk0MjRZMjU3ODg0RDAxKg0KK1gxOTkzMDBZMjU3NjgzRDAxKg0KK1gxOTkyMTBZMjU3NDY1RDAxKg0KK1gxOTkxNTVZMjU3MjM1RDAxKg0KK1gxOTkxNDFZMjU3MDAwRDAxKg0KK1gxOTkxNTVZMjQ0NTY1RDAxKg0KK1gxOTkyMTBZMjQ0MzM1RDAxKg0KK1gxOTkzMDBZMjQ0MTE3RDAxKg0KK1gxOTk0MjRZMjQzOTE2RDAxKg0KK1gxOTk1NzdZMjQzNzM2RDAxKg0KK1gxOTk3NTdZMjQzNTgzRDAxKg0KK1gxOTk5NThZMjQzNDU5RDAxKg0KK1gyMDAxNzZZMjQzMzY5RDAxKg0KK1gyMDA0MDZZMjQzMzE0RDAxKg0KK1gyMDA2NDFZMjQzMzAwRDAxKg0KK1gyMDM0NDFZMjQzMzA3RDAxKg0KK1kyMzkyMzFEMDEqDQorWDIwMzM4M1kyMzkyMTdEMDEqDQorWDIwMzEyMVkyMzkxMDlEMDEqDQorWDIwMjg4MFkyMzg5NjFEMDEqDQorWDIwMjY2NFkyMzg3NzdEMDEqDQorWDIwMjQ4MFkyMzg1NjFEMDEqDQorWDIwMjMzMlkyMzgzMjBEMDEqDQorWDIwMjIyNFkyMzgwNThEMDEqDQorWDIwMjE1OFkyMzc3ODJEMDEqDQorWDIwMjEzNVkyMzc1MDBEMDEqDQorWDIwMjE1OFkyMzcyMThEMDEqDQorWDIwMjIyNFkyMzY5NDJEMDEqDQorWDIwMjMzMlkyMzY2ODBEMDEqDQorWDIwMjQ4MFkyMzY0MzlEMDEqDQorWDIwMjY2NFkyMzYyMjNEMDEqDQorWDIwMjg4MFkyMzYwMzlEMDEqDQorWDIwMzEyMVkyMzU4OTFEMDEqDQorWDIwMzM4M1kyMzU3ODNEMDEqDQorWDIwMzQ0MVkyMzU3NjlEMDEqDQorWTIzNDA5M0QwMSoNCitYMTk4NDM4WTIzNDA5MEQwMSoNCitZMjQzODkyRDAxKg0KK0czNyoNCitHMzYqDQorWTI1NzkwOEQwMipYMTk4MzA1WTI1ODA2NEQwMSoNCitYMTk4MTI1WTI1ODIxN0QwMSoNCitYMTk3OTI0WTI1ODM0MUQwMSoNCitYMTk3NzA2WTI1ODQzMUQwMSoNCitYMTk3NDc2WTI1ODQ4NkQwMSoNCitYMTk3MjQxWTI1ODUwMEQwMSoNCitYMTkzOTM4WTI1ODQ5MkQwMSoNCitZMjkwNTAwRDAxKg0KK1gxOTg0MzhEMDEqDQorWTI3MTMwNUQwMSoNCitYMTk4MTU5WTI3MTI4M0QwMSoNCitYMTk3ODgzWTI3MTIxN0QwMSoNCitYMTk3NjIxWTI3MTEwOUQwMSoNCitYMTk3MzgwWTI3MDk2MUQwMSoNCitYMTk3MTY0WTI3MDc3N0QwMSoNCitYMTk2OTgwWTI3MDU2MUQwMSoNCitYMTk2ODMyWTI3MDMyMEQwMSoNCitYMTk2NzI0WTI3MDA1OEQwMSoNCitYMTk2NjU4WTI2OTc4MkQwMSoNCitYMTk2NjM1WTI2OTUwMEQwMSoNCitYMTk2NjU4WTI2OTIxOEQwMSoNCitYMTk2NzI0WTI2ODk0MkQwMSoNCitYMTk2ODMyWTI2ODY4MEQwMSoNCitYMTk2OTgwWTI2ODQzOUQwMSoNCitYMTk3MTY0WTI2ODIyM0QwMSoNCitYMTk3MzgwWTI2ODAzOUQwMSoNCitYMTk3NjIxWTI2Nzg5MUQwMSoNCitYMTk3ODgzWTI2Nzc4M0QwMSoNCitYMTk4MTU5WTI2NzcxN0QwMSoNCitYMTk4NDM4WTI2NzY5NUQwMSoNCitZMjY0MzA1RDAxKg0KK1gxOTgxNTlZMjY0MjgzRDAxKg0KK1gxOTc4ODNZMjY0MjE3RDAxKg0KK1gxOTc2MjFZMjY0MTA5RDAxKg0KK1gxOTczODBZMjYzOTYxRDAxKg0KK1gxOTcxNjRZMjYzNzc3RDAxKg0KK1gxOTY5ODBZMjYzNTYxRDAxKg0KK1gxOTY4MzJZMjYzMzIwRDAxKg0KK1gxOTY3MjRZMjYzMDU4RDAxKg0KK1gxOTY2NThZMjYyNzgyRDAxKg0KK1gxOTY2MzVZMjYyNTAwRDAxKg0KK1gxOTY2NThZMjYyMjE4RDAxKg0KK1gxOTY3MjRZMjYxOTQyRDAxKg0KK1gxOTY4MzJZMjYxNjgwRDAxKg0KK1gxOTY5ODBZMjYxNDM5RDAxKg0KK1gxOTcxNjRZMjYxMjIzRDAxKg0KK1gxOTczODBZMjYxMDM5RDAxKg0KK1gxOTc2MjFZMjYwODkxRDAxKg0KK1gxOTc4ODNZMjYwNzgzRDAxKg0KK1gxOTgxNTlZMjYwNzE3RDAxKg0KK1gxOTg0MzhZMjYwNjk1RDAxKg0KK1kyNTc5MDhEMDEqDQorRzM3Kg0KK0czNioNCitYMTkzOTM4WTI0MzMwNUQwMipYMTk3NDc2WTI0MzMxNEQwMSoNCitYMTk3NzA2WTI0MzM2OUQwMSoNCitYMTk3OTI0WTI0MzQ1OUQwMSoNCitYMTk4MTI1WTI0MzU4M0QwMSoNCitYMTk4MzA1WTI0MzczNkQwMSoNCitYMTk4NDM4WTI0Mzg5MkQwMSoNCitZMjM0MDkwRDAxKg0KK1gxOTM5MzhZMjM0MDg3RDAxKg0KK1kyMzUxOTVEMDEqDQorWDE5Mzk0MVkyMzUxOTREMDEqDQorWDE5NDIyM1kyMzUyMTdEMDEqDQorWDE5NDQ5OVkyMzUyODNEMDEqDQorWDE5NDc2MVkyMzUzOTFEMDEqDQorWDE5NTAwMlkyMzU1MzlEMDEqDQorWDE5NTIxOFkyMzU3MjNEMDEqDQorWDE5NTQwMlkyMzU5MzlEMDEqDQorWDE5NTU1MFkyMzYxODBEMDEqDQorWDE5NTY1OFkyMzY0NDJEMDEqDQorWDE5NTcyNFkyMzY3MThEMDEqDQorWDE5NTc0MVkyMzcwMDBEMDEqDQorWDE5NTcyNFkyMzcyODJEMDEqDQorWDE5NTY1OFkyMzc1NThEMDEqDQorWDE5NTU1MFkyMzc4MjBEMDEqDQorWDE5NTQwMlkyMzgwNjFEMDEqDQorWDE5NTIxOFkyMzgyNzdEMDEqDQorWDE5NTAwMlkyMzg0NjFEMDEqDQorWDE5NDc2MVkyMzg2MDlEMDEqDQorWDE5NDQ5OVkyMzg3MTdEMDEqDQorWDE5NDIyM1kyMzg3ODNEMDEqDQorWDE5Mzk0MVkyMzg4MDZEMDEqDQorWDE5MzkzOFkyMzg4MDVEMDEqDQorWTI0MzMwNUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNTg0OTJEMDIqWDE5MTQwNlkyNTg0ODZEMDEqDQorWDE5MTE3NlkyNTg0MzFEMDEqDQorWDE5MDk1OFkyNTgzNDFEMDEqDQorWDE5MDc1N1kyNTgyMTdEMDEqDQorWDE5MDU3N1kyNTgwNjREMDEqDQorWDE5MDQyNFkyNTc4ODREMDEqDQorWDE5MDMwMFkyNTc2ODNEMDEqDQorWDE5MDIxMFkyNTc0NjVEMDEqDQorWDE5MDE1NVkyNTcyMzVEMDEqDQorWDE5MDE0MVkyNTcwMDBEMDEqDQorWDE5MDE0MlkyNTY0NTBEMDEqDQorWDE4ODcyOUQwMSoNCitYMTg4NjQxWTI1NjQ1N0QwMSoNCitYMTg4Mjg4WTI1NjQyOUQwMSoNCitYMTg3OTQ0WTI1NjM0NkQwMSoNCitYMTg3NjE2WTI1NjIxMUQwMSoNCitYMTg3MzE0WTI1NjAyNkQwMSoNCitYMTg3MzE0WTI1NjAyNkQwMSoNCitYMTg3MDQ1WTI1NTc5NkQwMSoNCitYMTg2OTg4WTI1NTcyOUQwMSoNCitYMTgyMDEyWTI1MDc1M0QwMSoNCitYMTgxOTQ1WTI1MDY5NkQwMSoNCitYMTgxOTM4WTI1MDY4OEQwMSoNCitZMjU2Njk1RDAxKg0KK1gxODE5NDFZMjU2Njk0RDAxKg0KK1gxODIyMjNZMjU2NzE3RDAxKg0KK1gxODI0OTlZMjU2NzgzRDAxKg0KK1gxODI3NjFZMjU2ODkxRDAxKg0KK1gxODMwMDJZMjU3MDM5RDAxKg0KK1gxODMyMThZMjU3MjIzRDAxKg0KK1gxODM0MDJZMjU3NDM5RDAxKg0KK1gxODM1NTBZMjU3NjgwRDAxKg0KK1gxODM2NThZMjU3OTQyRDAxKg0KK1gxODM3MjRZMjU4MjE4RDAxKg0KK1gxODM3NDFZMjU4NTAwRDAxKg0KK1gxODM3MjRZMjU4NzgyRDAxKg0KK1gxODM2NThZMjU5MDU4RDAxKg0KK1gxODM1NTBZMjU5MzIwRDAxKg0KK1gxODM0MDJZMjU5NTYxRDAxKg0KK1gxODMyMThZMjU5Nzc3RDAxKg0KK1gxODMwMDJZMjU5OTYxRDAxKg0KK1gxODI3NjFZMjYwMTA5RDAxKg0KK1gxODI0OTlZMjYwMjE3RDAxKg0KK1gxODIyMjNZMjYwMjgzRDAxKg0KK1gxODE5NDFZMjYwMzA2RDAxKg0KK1gxODE5MzhZMjYwMzA1RDAxKg0KK1kyOTA1MDBEMDEqDQorWDE5MzkzOEQwMSoNCitZMjU4NDkyRDAxKg0KK0czNyoNCitHMzYqDQorWDE4MTkzOFkyNTA2ODhEMDIqWDE4MTcxNVkyNTA0MjdEMDEqDQorWDE4MTUzMFkyNTAxMjVEMDEqDQorWDE4MTM5NVkyNDk3OTdEMDEqDQorWDE4MTMxMlkyNDk0NTNEMDEqDQorWDE4MTMxMlkyNDk0NTNEMDEqDQorWDE4MTI4NFkyNDkxMDBEMDEqDQorWDE4MTI5MVkyNDkwMTJEMDEqDQorWTI0NTk5NEQwMSoNCitYMTgwNDMyWTI0NTk5M0QwMSoNCitYMTgwMjc5WTI0NTk1NkQwMSoNCitYMTgwMTM0WTI0NTg5NkQwMSoNCitYMTc5OTk5WTI0NTgxNEQwMSoNCitYMTc5ODgwWTI0NTcxMUQwMSoNCitYMTc5Nzc3WTI0NTU5MkQwMSoNCitYMTc5Njk1WTI0NTQ1N0QwMSoNCitYMTc5NjM1WTI0NTMxMkQwMSoNCitYMTc5NTk4WTI0NTE1OUQwMSoNCitYMTc5NTg5WTI0NTAwMkQwMSoNCitYMTc5NTkwWTI0NDY5M0QwMSoNCitYMTc4NDcyRDAxKg0KK1gxNzgzODRZMjQ0NzAwRDAxKg0KK1gxNzgwMzFZMjQ0NjcyRDAxKg0KK1gxNzc2ODdZMjQ0NTg5RDAxKg0KK1gxNzczNTlZMjQ0NDU0RDAxKg0KK1gxNzcwNTdZMjQ0MjY5RDAxKg0KK1gxNzcwNTdZMjQ0MjY5RDAxKg0KK1gxNzY3ODhZMjQ0MDM5RDAxKg0KK1gxNzY3MzFZMjQzOTcyRDAxKg0KK1gxNzI0NDFZMjM5NjgyRDAxKg0KK1kyOTA1MDBEMDEqDQorWDE4MTkzOEQwMSoNCitZMjYwMzA1RDAxKg0KK1gxODE2NTlZMjYwMjgzRDAxKg0KK1gxODEzODNZMjYwMjE3RDAxKg0KK1gxODExMjFZMjYwMTA5RDAxKg0KK1gxODA4ODBZMjU5OTYxRDAxKg0KK1gxODA2NjRZMjU5Nzc3RDAxKg0KK1gxODA0ODBZMjU5NTYxRDAxKg0KK1gxODAzMzJZMjU5MzIwRDAxKg0KK1gxODAyMjRZMjU5MDU4RDAxKg0KK1gxODAxNThZMjU4NzgyRDAxKg0KK1gxODAxMzVZMjU4NTAwRDAxKg0KK1gxODAxNThZMjU4MjE4RDAxKg0KK1gxODAyMjRZMjU3OTQyRDAxKg0KK1gxODAzMzJZMjU3NjgwRDAxKg0KK1gxODA0ODBZMjU3NDM5RDAxKg0KK1gxODA2NjRZMjU3MjIzRDAxKg0KK1gxODA4ODBZMjU3MDM5RDAxKg0KK1gxODExMjFZMjU2ODkxRDAxKg0KK1gxODEzODNZMjU2NzgzRDAxKg0KK1gxODE2NTlZMjU2NzE3RDAxKg0KK1gxODE5MzhZMjU2Njk1RDAxKg0KK1kyNTA2ODhEMDEqDQorRzM3Kg0KK0czNioNCitYMTg1NDM4WTIzMTgwNUQwMipYMTg2NjUwWTIzMTgwN0QwMSoNCitYMTg2ODAzWTIzMTg0NEQwMSoNCitYMTg2OTQ4WTIzMTkwNEQwMSoNCitYMTg3MDgzWTIzMTk4NkQwMSoNCitYMTg3MjAyWTIzMjA4OUQwMSoNCitYMTg3MzA1WTIzMjIwOEQwMSoNCitYMTg3Mzg3WTIzMjM0M0QwMSoNCitYMTg3NDQ3WTIzMjQ4OEQwMSoNCitYMTg3NDg0WTIzMjY0MUQwMSoNCitYMTg3NDkzWTIzMjc5OEQwMSoNCitYMTg3NDg0WTIzODA3M0QwMSoNCitYMTg3NDQ3WTIzODIyNkQwMSoNCitYMTg3Mzg3WTIzODM3MUQwMSoNCitYMTg3MzA1WTIzODUwNkQwMSoNCitYMTg3MjAyWTIzODYyNUQwMSoNCitYMTg3MDgzWTIzODcyOEQwMSoNCitYMTg2OTQ4WTIzODgxMEQwMSoNCitYMTg2ODAzWTIzODg3MEQwMSoNCitYMTg2Njc4WTIzODkwMEQwMSoNCitYMTg2ODAzWTIzODkzMEQwMSoNCitYMTg2OTQ4WTIzODk5MEQwMSoNCitYMTg3MDgzWTIzOTA3MkQwMSoNCitYMTg3MjAyWTIzOTE3NUQwMSoNCitYMTg3MzA1WTIzOTI5NEQwMSoNCitYMTg3Mzg3WTIzOTQyOUQwMSoNCitYMTg3NDQ3WTIzOTU3NEQwMSoNCitYMTg3NDg0WTIzOTcyN0QwMSoNCitYMTg3NDkzWTIzOTg4NEQwMSoNCitYMTg3NDg0WTI0NTE1OUQwMSoNCitYMTg3NDQ3WTI0NTMxMkQwMSoNCitYMTg3Mzg3WTI0NTQ1N0QwMSoNCitYMTg3MzA1WTI0NTU5MkQwMSoNCitYMTg3MjAyWTI0NTcxMUQwMSoNCitYMTg3MDgzWTI0NTgxNEQwMSoNCitYMTg2OTQ4WTI0NTg5NkQwMSoNCitYMTg2ODAzWTI0NTk1NkQwMSoNCitYMTg2NjUwWTI0NTk5M0QwMSoNCitYMTg2NDkzWTI0NjAwMkQwMSoNCitYMTg1NzkxWTI0NjAwMUQwMSoNCitZMjQ4MTY4RDAxKg0KK1gxODk1NzNZMjUxOTUwRDAxKg0KK1gxOTAxNDdEMDEqDQorWDE5MDE1NVkyNDQ1NjVEMDEqDQorWDE5MDIxMFkyNDQzMzVEMDEqDQorWDE5MDMwMFkyNDQxMTdEMDEqDQorWDE5MDQyNFkyNDM5MTZEMDEqDQorWDE5MDU3N1kyNDM3MzZEMDEqDQorWDE5MDc1N1kyNDM1ODNEMDEqDQorWDE5MDk1OFkyNDM0NTlEMDEqDQorWDE5MTE3NlkyNDMzNjlEMDEqDQorWDE5MTQwNlkyNDMzMTREMDEqDQorWDE5MTY0MVkyNDMzMDBEMDEqDQorWDE5MzkzOFkyNDMzMDVEMDEqDQorWTIzODgwNUQwMSoNCitYMTkzNjU5WTIzODc4M0QwMSoNCitYMTkzMzgzWTIzODcxN0QwMSoNCitYMTkzMTIxWTIzODYwOUQwMSoNCitYMTkyODgwWTIzODQ2MUQwMSoNCitYMTkyNjY0WTIzODI3N0QwMSoNCitYMTkyNDgwWTIzODA2MUQwMSoNCitYMTkyMzMyWTIzNzgyMEQwMSoNCitYMTkyMjI0WTIzNzU1OEQwMSoNCitYMTkyMTU4WTIzNzI4MkQwMSoNCitYMTkyMTM1WTIzNzAwMEQwMSoNCitYMTkyMTU4WTIzNjcxOEQwMSoNCitYMTkyMjI0WTIzNjQ0MkQwMSoNCitYMTkyMzMyWTIzNjE4MEQwMSoNCitYMTkyNDgwWTIzNTkzOUQwMSoNCitYMTkyNjY0WTIzNTcyM0QwMSoNCitYMTkyODgwWTIzNTUzOUQwMSoNCitYMTkzMTIxWTIzNTM5MUQwMSoNCitYMTkzMzgzWTIzNTI4M0QwMSoNCitYMTkzNjU5WTIzNTIxN0QwMSoNCitYMTkzOTM4WTIzNTE5NUQwMSoNCitZMjM0MDg3RDAxKg0KK1gxOTI2MDZZMjM0MDg2RDAxKg0KK1gxOTIzNzZZMjM0MDMxRDAxKg0KK1gxOTIxNThZMjMzOTQxRDAxKg0KK1gxOTE5NTdZMjMzODE3RDAxKg0KK1gxOTE3NzdZMjMzNjY0RDAxKg0KK1gxOTE2MjRZMjMzNDg0RDAxKg0KK1gxOTE1MDBZMjMzMjgzRDAxKg0KK1gxOTE0MTBZMjMzMDY1RDAxKg0KK1gxOTEzNTVZMjMyODM1RDAxKg0KK1gxOTEzNDFZMjMyNjAwRDAxKg0KK1gxOTEzNTVZMjIwMTY1RDAxKg0KK1gxOTE0MTBZMjE5OTM1RDAxKg0KK1gxOTE1MDBZMjE5NzE3RDAxKg0KK1gxOTE2MjRZMjE5NTE2RDAxKg0KK1gxOTE3NzdZMjE5MzM2RDAxKg0KK1gxOTE5NTdZMjE5MTgzRDAxKg0KK1gxOTIxNThZMjE5MDU5RDAxKg0KK1gxOTIzNzZZMjE4OTY5RDAxKg0KK1gxOTI2MDZZMjE4OTE0RDAxKg0KK1gxOTI4NDFZMjE4OTAwRDAxKg0KK1gxOTM5MzhZMjE4OTAxRDAxKg0KK1kyMTQzMDVEMDEqDQorWDE5MzY1OVkyMTQyODNEMDEqDQorWDE5MzM4M1kyMTQyMTdEMDEqDQorWDE5MzEyMVkyMTQxMDlEMDEqDQorWDE5Mjg4MFkyMTM5NjFEMDEqDQorWDE5MjY2NFkyMTM3NzdEMDEqDQorWDE5MjQ4MFkyMTM1NjFEMDEqDQorWDE5MjMzMlkyMTMzMjBEMDEqDQorWDE5MjIyNFkyMTMwNThEMDEqDQorWDE5MjE1OFkyMTI3ODJEMDEqDQorWDE5MjEzNVkyMTI1MDBEMDEqDQorWDE5MjE1OFkyMTIyMThEMDEqDQorWDE5MjIyNFkyMTE5NDJEMDEqDQorWDE5MjMzMlkyMTE2ODBEMDEqDQorWDE5MjQ4MFkyMTE0MzlEMDEqDQorWDE5MjY2NFkyMTEyMjNEMDEqDQorWDE5Mjg4MFkyMTEwMzlEMDEqDQorWDE5MzEyMVkyMTA4OTFEMDEqDQorWDE5MzM4M1kyMTA3ODNEMDEqDQorWDE5MzY1OVkyMTA3MTdEMDEqDQorWDE5MzkzOFkyMTA2OTVEMDEqDQorWTIwMTYyMkQwMSoNCitYMTkyMzQyWTIwMTYyMEQwMSoNCitYMTkyMTg5WTIwMTU4M0QwMSoNCitYMTkyMDQ0WTIwMTUyM0QwMSoNCitYMTkyMDA2WTIwMTUwMEQwMSoNCitYMTg1NDM4RDAxKg0KK1kyMTU2OTVEMDEqDQorWDE4NTQ0MVkyMTU2OTREMDEqDQorWDE4NTcyM1kyMTU3MTdEMDEqDQorWDE4NTk5OVkyMTU3ODNEMDEqDQorWDE4NjI2MVkyMTU4OTFEMDEqDQorWDE4NjUwMlkyMTYwMzlEMDEqDQorWDE4NjcxOFkyMTYyMjNEMDEqDQorWDE4NjkwMlkyMTY0MzlEMDEqDQorWDE4NzA1MFkyMTY2ODBEMDEqDQorWDE4NzE1OFkyMTY5NDJEMDEqDQorWDE4NzIyNFkyMTcyMThEMDEqDQorWDE4NzI0MVkyMTc1MDBEMDEqDQorWDE4NzIyNFkyMTc3ODJEMDEqDQorWDE4NzE1OFkyMTgwNThEMDEqDQorWDE4NzA1MFkyMTgzMjBEMDEqDQorWDE4NjkwMlkyMTg1NjFEMDEqDQorWDE4NjcxOFkyMTg3NzdEMDEqDQorWDE4NjUwMlkyMTg5NjFEMDEqDQorWDE4NjI2MVkyMTkxMDlEMDEqDQorWDE4NTk5OVkyMTkyMTdEMDEqDQorWDE4NTcyM1kyMTkyODNEMDEqDQorWDE4NTQ0MVkyMTkzMDZEMDEqDQorWDE4NTQzOFkyMTkzMDVEMDEqDQorWTIyNjE5NUQwMSoNCitYMTg1NDQxWTIyNjE5NEQwMSoNCitYMTg1NzIzWTIyNjIxN0QwMSoNCitYMTg1OTk5WTIyNjI4M0QwMSoNCitYMTg2MjYxWTIyNjM5MUQwMSoNCitYMTg2NTAyWTIyNjUzOUQwMSoNCitYMTg2NzE4WTIyNjcyM0QwMSoNCitYMTg2OTAyWTIyNjkzOUQwMSoNCitYMTg3MDUwWTIyNzE4MEQwMSoNCitYMTg3MTU4WTIyNzQ0MkQwMSoNCitYMTg3MjI0WTIyNzcxOEQwMSoNCitYMTg3MjQxWTIyODAwMEQwMSoNCitYMTg3MjI0WTIyODI4MkQwMSoNCitYMTg3MTU4WTIyODU1OEQwMSoNCitYMTg3MDUwWTIyODgyMEQwMSoNCitYMTg2OTAyWTIyOTA2MUQwMSoNCitYMTg2NzE4WTIyOTI3N0QwMSoNCitYMTg2NTAyWTIyOTQ2MUQwMSoNCitYMTg2MjYxWTIyOTYwOUQwMSoNCitYMTg1OTk5WTIyOTcxN0QwMSoNCitYMTg1NzIzWTIyOTc4M0QwMSoNCitYMTg1NDQxWTIyOTgwNkQwMSoNCitYMTg1NDM4WTIyOTgwNUQwMSoNCitZMjMxODA1RDAxKg0KK0czNyoNCitHMzYqDQorWDE3OTU4OVkyMzc5MTZEMDIqWDE3OTU5OFkyMzI2NDFEMDEqDQorWDE3OTYzNVkyMzI0ODhEMDEqDQorWDE3OTY5NVkyMzIzNDNEMDEqDQorWDE3OTc3N1kyMzIyMDhEMDEqDQorWDE3OTg4MFkyMzIwODlEMDEqDQorWDE3OTk5OVkyMzE5ODZEMDEqDQorWDE4MDEzNFkyMzE5MDREMDEqDQorWDE4MDI3OVkyMzE4NDREMDEqDQorWDE4MDQzMlkyMzE4MDdEMDEqDQorWDE4MDU4OVkyMzE3OThEMDEqDQorWDE4NTQzOFkyMzE4MDVEMDEqDQorWTIyOTgwNUQwMSoNCitYMTg1MTU5WTIyOTc4M0QwMSoNCitYMTg0ODgzWTIyOTcxN0QwMSoNCitYMTg0NjIxWTIyOTYwOUQwMSoNCitYMTg0MzgwWTIyOTQ2MUQwMSoNCitYMTg0MTY0WTIyOTI3N0QwMSoNCitYMTgzOTgwWTIyOTA2MUQwMSoNCitYMTgzODMyWTIyODgyMEQwMSoNCitYMTgzNzI0WTIyODU1OEQwMSoNCitYMTgzNjU4WTIyODI4MkQwMSoNCitYMTgzNjM1WTIyODAwMEQwMSoNCitYMTgzNjU4WTIyNzcxOEQwMSoNCitYMTgzNzI0WTIyNzQ0MkQwMSoNCitYMTgzODMyWTIyNzE4MEQwMSoNCitYMTgzOTgwWTIyNjkzOUQwMSoNCitYMTg0MTY0WTIyNjcyM0QwMSoNCitYMTg0MzgwWTIyNjUzOUQwMSoNCitYMTg0NjIxWTIyNjM5MUQwMSoNCitYMTg0ODgzWTIyNjI4M0QwMSoNCitYMTg1MTU5WTIyNjIxN0QwMSoNCitYMTg1NDM4WTIyNjE5NUQwMSoNCitZMjE5MzA1RDAxKg0KK1gxODUxNTlZMjE5MjgzRDAxKg0KK1gxODQ4ODNZMjE5MjE3RDAxKg0KK1gxODQ2MjFZMjE5MTA5RDAxKg0KK1gxODQzODBZMjE4OTYxRDAxKg0KK1gxODQxNjRZMjE4Nzc3RDAxKg0KK1gxODM5ODBZMjE4NTYxRDAxKg0KK1gxODM4MzJZMjE4MzIwRDAxKg0KK1gxODM3MjRZMjE4MDU4RDAxKg0KK1gxODM2NThZMjE3NzgyRDAxKg0KK1gxODM2MzVZMjE3NTAwRDAxKg0KK1gxODM2NThZMjE3MjE4RDAxKg0KK1gxODM3MjRZMjE2OTQyRDAxKg0KK1gxODM4MzJZMjE2NjgwRDAxKg0KK1gxODM5ODBZMjE2NDM5RDAxKg0KK1gxODQxNjRZMjE2MjIzRDAxKg0KK1gxODQzODBZMjE2MDM5RDAxKg0KK1gxODQ2MjFZMjE1ODkxRDAxKg0KK1gxODQ4ODNZMjE1NzgzRDAxKg0KK1gxODUxNTlZMjE1NzE3RDAxKg0KK1gxODU0MzhZMjE1Njk1RDAxKg0KK1kyMDE1MDBEMDEqDQorWDE3NzQzOEQwMSoNCitZMjE1Njk1RDAxKg0KK1gxNzc0NDFZMjE1Njk0RDAxKg0KK1gxNzc3MjNZMjE1NzE3RDAxKg0KK1gxNzc5OTlZMjE1NzgzRDAxKg0KK1gxNzgyNjFZMjE1ODkxRDAxKg0KK1gxNzg1MDJZMjE2MDM5RDAxKg0KK1gxNzg3MThZMjE2MjIzRDAxKg0KK1gxNzg5MDJZMjE2NDM5RDAxKg0KK1gxNzkwNTBZMjE2NjgwRDAxKg0KK1gxNzkxNThZMjE2OTQyRDAxKg0KK1gxNzkyMjRZMjE3MjE4RDAxKg0KK1gxNzkyNDFZMjE3NTAwRDAxKg0KK1gxNzkyMjRZMjE3NzgyRDAxKg0KK1gxNzkxNThZMjE4MDU4RDAxKg0KK1gxNzkwNTBZMjE4MzIwRDAxKg0KK1gxNzg5MDJZMjE4NTYxRDAxKg0KK1gxNzg3MThZMjE4Nzc3RDAxKg0KK1gxNzg1MDJZMjE4OTYxRDAxKg0KK1gxNzgyNjFZMjE5MTA5RDAxKg0KK1gxNzc5OTlZMjE5MjE3RDAxKg0KK1gxNzc3MjNZMjE5MjgzRDAxKg0KK1gxNzc0NDFZMjE5MzA2RDAxKg0KK1gxNzc0MzhZMjE5MzA1RDAxKg0KK1kyMjYxOTVEMDEqDQorWDE3NzQ0MVkyMjYxOTREMDEqDQorWDE3NzcyM1kyMjYyMTdEMDEqDQorWDE3Nzk5OVkyMjYyODNEMDEqDQorWDE3ODI2MVkyMjYzOTFEMDEqDQorWDE3ODUwMlkyMjY1MzlEMDEqDQorWDE3ODcxOFkyMjY3MjNEMDEqDQorWDE3ODkwMlkyMjY5MzlEMDEqDQorWDE3OTA1MFkyMjcxODBEMDEqDQorWDE3OTE1OFkyMjc0NDJEMDEqDQorWDE3OTIyNFkyMjc3MThEMDEqDQorWDE3OTI0MVkyMjgwMDBEMDEqDQorWDE3OTIyNFkyMjgyODJEMDEqDQorWDE3OTE1OFkyMjg1NThEMDEqDQorWDE3OTA1MFkyMjg4MjBEMDEqDQorWDE3ODkwMlkyMjkwNjFEMDEqDQorWDE3ODcxOFkyMjkyNzdEMDEqDQorWDE3ODUwMlkyMjk0NjFEMDEqDQorWDE3ODI2MVkyMjk2MDlEMDEqDQorWDE3Nzk5OVkyMjk3MTdEMDEqDQorWDE3NzcyM1kyMjk3ODNEMDEqDQorWDE3NzQ0MVkyMjk4MDZEMDEqDQorWDE3NzQzOFkyMjk4MDVEMDEqDQorWTIzODMxNUQwMSoNCitYMTc5MzE2WTI0MDE5M0QwMSoNCitYMTc5NTk3RDAxKg0KK1gxNzk1OThZMjM5NzI3RDAxKg0KK1gxNzk2MzVZMjM5NTc0RDAxKg0KK1gxNzk2OTVZMjM5NDI5RDAxKg0KK1gxNzk3NzdZMjM5Mjk0RDAxKg0KK1gxNzk4ODBZMjM5MTc1RDAxKg0KK1gxNzk5OTlZMjM5MDcyRDAxKg0KK1gxODAxMzRZMjM4OTkwRDAxKg0KK1gxODAyNzlZMjM4OTMwRDAxKg0KK1gxODA0MDRZMjM4OTAwRDAxKg0KK1gxODAyNzlZMjM4ODcwRDAxKg0KK1gxODAxMzRZMjM4ODEwRDAxKg0KK1gxNzk5OTlZMjM4NzI4RDAxKg0KK1gxNzk4ODBZMjM4NjI1RDAxKg0KK1gxNzk3NzdZMjM4NTA2RDAxKg0KK1gxNzk2OTVZMjM4MzcxRDAxKg0KK1gxNzk2MzVZMjM4MjI2RDAxKg0KK1gxNzk1OThZMjM4MDczRDAxKg0KK1gxNzk1ODlZMjM3OTE2RDAxKg0KK0czNyoNCitHMzYqDQorWDE3NzQzOFkyMDE1MDBEMDIqWDE3MjQ0MUQwMSoNCitZMjMzMzE4RDAxKg0KK1gxNzc0MzhZMjM4MzE1RDAxKg0KK1kyMjk4MDVEMDEqDQorWDE3NzE1OVkyMjk3ODNEMDEqDQorWDE3Njg4M1kyMjk3MTdEMDEqDQorWDE3NjYyMVkyMjk2MDlEMDEqDQorWDE3NjM4MFkyMjk0NjFEMDEqDQorWDE3NjE2NFkyMjkyNzdEMDEqDQorWDE3NTk4MFkyMjkwNjFEMDEqDQorWDE3NTgzMlkyMjg4MjBEMDEqDQorWDE3NTcyNFkyMjg1NThEMDEqDQorWDE3NTY1OFkyMjgyODJEMDEqDQorWDE3NTYzNVkyMjgwMDBEMDEqDQorWDE3NTY1OFkyMjc3MThEMDEqDQorWDE3NTcyNFkyMjc0NDJEMDEqDQorWDE3NTgzMlkyMjcxODBEMDEqDQorWDE3NTk4MFkyMjY5MzlEMDEqDQorWDE3NjE2NFkyMjY3MjNEMDEqDQorWDE3NjM4MFkyMjY1MzlEMDEqDQorWDE3NjYyMVkyMjYzOTFEMDEqDQorWDE3Njg4M1kyMjYyODNEMDEqDQorWDE3NzE1OVkyMjYyMTdEMDEqDQorWDE3NzQzOFkyMjYxOTVEMDEqDQorWTIxOTMwNUQwMSoNCitYMTc3MTU5WTIxOTI4M0QwMSoNCitYMTc2ODgzWTIxOTIxN0QwMSoNCitYMTc2NjIxWTIxOTEwOUQwMSoNCitYMTc2MzgwWTIxODk2MUQwMSoNCitYMTc2MTY0WTIxODc3N0QwMSoNCitYMTc1OTgwWTIxODU2MUQwMSoNCitYMTc1ODMyWTIxODMyMEQwMSoNCitYMTc1NzI0WTIxODA1OEQwMSoNCitYMTc1NjU4WTIxNzc4MkQwMSoNCitYMTc1NjM1WTIxNzUwMEQwMSoNCitYMTc1NjU4WTIxNzIxOEQwMSoNCitYMTc1NzI0WTIxNjk0MkQwMSoNCitYMTc1ODMyWTIxNjY4MEQwMSoNCitYMTc1OTgwWTIxNjQzOUQwMSoNCitYMTc2MTY0WTIxNjIyM0QwMSoNCitYMTc2MzgwWTIxNjAzOUQwMSoNCitYMTc2NjIxWTIxNTg5MUQwMSoNCitYMTc2ODgzWTIxNTc4M0QwMSoNCitYMTc3MTU5WTIxNTcxN0QwMSoNCitYMTc3NDM4WTIxNTY5NUQwMSoNCitZMjAxNTAwRDAxKg0KK0czNyoNCitHNTREMjQ1Klg0MDQyNTBZMzAwMDAwRDAyKlgzNzY0ODVEMDEqDQorWDQwMjI1MFkzMDU3MDBEMDIqWDM5MTgzOEQwMSoNCitZMzA5MzExRDAyKlkzMDU3MDBEMDEqDQorWDM5NDQ4MFkzMTQwMDBEMDIqWDM5ODQ0MUQwMSoNCitYMzk0Mzk3WTMxMzkxN0QwMipYMzk0NDgwWTMxNDAwMEQwMSoNCitYMzg5MTY3WTMxMTcyNkQwMipZMzAyMDAwRDAxKg0KK1g0MDE3NTBZMjk1MDAwRDAyKlgzNzkwNDREMDEqDQorWTI5MDY4OUQwMSoNCitZMjkyODM5RDAyKlkyOTA2ODlEMDEqDQorWDM4MjQ0MVkyOTMwMDBEMDIqWDM4MTYwM1kyOTIxNjJEMDEqDQorWDM5MTgzOFkyOTMwMDBEMDIqWDM4MjQ0MUQwMSoNCitHNTREMjQ2KlgzOTE4MzhEMDIqWDM5NjQ0MUQwMSoNCitYMzk4NDQxWTI5MTAwMEQwMSoNCitHNTREMjQ1KlgzNzM0NDFZMzE5MDAwRDAyKlgzNjg0NDFZMzE0MDAwRDAxKg0KK1gzNzQ0NDFZMzE3MDAwRDAyKlgzNjk0NDFZMzEyMDAwRDAxKg0KK0c1NEQyNDYqWDM2NzQ0MVkzMTkwMDBEMDIqWTMzNzUwMEQwMSoNCitYMzYzNDQxWTMxOTAwMEQwMipZMzM1OTA0RDAxKg0KK1gzNjE2OThZMzM2Nzk5RDAyKlkzMjAxNDBEMDEqDQorWDM2MDAxM1kzMzc1NzJEMDIqWTMyMDg2MEQwMSoNCitHNTREMjQ1KlgzODI3MjBZMzE5MDAwRDAyKlgzNzM0NDFEMDEqDQorWDM3OTQ0MVkzMTcwMDBEMDIqWDM3NDQ0MUQwMSoNCitYMzg5Mjc5WTMyNDE2MkQwMipYMzg3NDQxWTMyNjAwMEQwMSoNCitYMzgxNjAzWTMxNDgzOEQwMipYMzc5NDQxWTMxNzAwMEQwMSoNCitYMzgxNjAzWTMxMzkxN0QwMipZMzE0ODM4RDAxKg0KK0c1NEQyNDYqWDM4MjcyMFkzMTkwMDBEMDIqWDM4NjcyMFkzMTUwMDBEMDEqDQorWTMxMTYxNEQwMSoNCitYMzg5Mjc5RDAyKlkzMjQxNjJEMDEqDQorRzU0RDI0NSpYMzk4NDQxWTMxOTQ0MUQwMipZMzE0MDAwRDAxKg0KK1gzOTU4ODJZMzI0NTU5RDAyKlgzOTM0NDFZMzI3MDAwRDAxKg0KK0c1NEQyNDYqWDM4NzQ0MVkzMjYwMDBEMDIqWDM5MTMzOFkzMjk4OTdEMDEqDQorRzU0RDI0NSpYMzk4NDQxWTMyNDU1OUQwMipYMzk1ODgyRDAxKg0KK1gzODk2NTNZMjc4MDAwRDAyKlgzNzE0NDFEMDEqDQorWDM4MTQ0MVkyODIwMDBEMDIqWDM3MTQ0MUQwMSoNCitHNTREMjQ2KlkyNzgwMDBEMDIqWDM2ODE3MFkyODEyNzFEMDEqDQorWDM3MDE1M1kyODMyODhEMDIqWDM3MTQ0MVkyODIwMDBEMDEqDQorRzU0RDI0NSpYMzkwNDQxWTI3ODc4OEQwMipYMzg5NjUzWTI3ODAwMEQwMSoNCitYMzkwNDQxWTI4MjU4OEQwMipZMjc4Nzg4RDAxKg0KK1gzODkyNzlZMjgzNzUwRDAyKlgzOTA0NDFZMjgyNTg4RDAxKg0KK1gzODkyNzlZMjkwNjg5RDAyKlkyODM3NTBEMDEqDQorWDM4NDE2MlkyODQ3MjFEMDIqWDM4MTQ0MVkyODIwMDBEMDEqDQorWDM4NDE2MlkyOTA2ODlEMDIqWTI4NDcyMUQwMSoNCitYMzg2NzIwWTI4ODM4NkQwMipZMjgyMDAwRDAxKg0KK1gzNzkwNDRZMzAyMDAwRDAyKlgzODkxNjdEMDEqDQorWDM3OTA0NFkzMTE2MTREMDIqWTMwMjAwMEQwMSoNCitYMzc2NDg1WTMxMTYxNEQwMipZMzAwMDAwRDAxKg0KK1gzODQxNjJZMzExNjE0RDAyKlkzMDYwMDBEMDEqDQorWDM4MTYwM1kyOTIxNjJEMDIqWTI4ODM4NkQwMSoNCitYMzc2NDg1WTI5MDY4OUQwMipYMzcyNDQxRDAxKg0KK1gzOTE4MzhZMjg4Mzg2RDAyKlkyOTMwMDBEMDEqDQorRzU0RDI0NipZMjkwNjg5RDAyKlkyODQwODVEMDEqDQorWDM5MjM4OFkyODM1MzVEMDEqDQorRzU0RDI0NSpYNDAyMjUwWTMxNDUzMkQwMipZMzA1NzAwRDAxKg0KK1g0MDQyNTBZMzAwMDAwRDAyKlkzMTEzODJEMDEqDQorWDQwMjI1MFkyOTMzMzlEMDIqWTI5MDY1M0QwMSoNCitZMjkzMzM5RDAyKlg0MDE3NTBEMDEqDQorWTI5NTAwMEQwMipZMjkzMzM4RDAxKg0KK0c1NEQyNDcqWDQwNzAwMFkzMDA2MThEMDIqWTI5NDAwMEQwMSoNCitYNDA5MzgyWTMwMzAwMEQwMipYNDA3MDAwWTMwMDYxOEQwMSoNCitZMzMwNjE4RDAyKlkzMjQwMDBEMDEqDQorWDQyNzAwMFkzMDE1MDhEMDIqWTI5NDAwMEQwMSoNCitYNDM3MDAwWTMwMTUwOEQwMipZMjk0MDAwRDAxKg0KK1g0NTM1MDBZMzAwNjE4RDAyKlkyOTQwMDBEMDEqDQorWDQ1NTg4MlkzMDMwMDBEMDIqWDQ1MzUwMFkzMDA2MThEMDEqDQorWDQ2MzUwMFkzMDI1MDhEMDIqWTI5NDAwMEQwMSoNCitZMzAyNTA4RDAzKg0KK1g0Njc4ODJEMDIqWDQ2MzUwMEQwMSoNCitYNDczNTAwWTMyNDAwMEQwMipZMzE2MDA4RDAxKg0KK1kzMDI1MDhEMDIqWTI5NDAwMEQwMSoNCitZMzAyNTA4RDAyKlg0NzMwMDBEMDEqDQorWDQ3MzUwMFkyOTQwMDBEMDIqWTI4NjAwOEQwMSoNCitHNTREMjQ1KlgzOTEzMzhZMzUyODk3RDAyKlkzNDg4ODZEMDEqDQorWDM5Mzg5N1kzNDE1MDBEMDMqDQorWTM0NjU4M0QwMipZMzQxNTAwRDAxKg0KK0c1NEQyNDYqWDM5MTMzOFkzMjk4OTdEMDIqWTM0OTEwM0QwMSoNCitHNTREMjQ1Klg0MzE4ODJZMzY1NDY4RDAzKg0KK1g0MjE4ODJEMDEqDQorWDQzMTg4MkQwMipZMzYxNTA4RDAxKg0KK0c1NEQyNDcqWDQyNzAwMEQwMipZMzU0MDAwRDAxKg0KK0c1NEQyNDUqWDQyMTg4MlkzNjU0NjhEMDIqWTM2MjQ5MkQwMSoNCitHNTREMjQ3Klg0MTg0NDFZMzYyMDAwRDAyKlg0MTcwMDBZMzYwNTU5RDAxKg0KK1kzNTQwMDBEMDIqWTM2MDUwMEQwMSoNCitYNDA3MDAwWTM2MDYxOEQwMipZMzU0MDAwRDAxKg0KK1g0MDkzODJZMzYzMDAwRDAyKlg0MDcwMDBZMzYwNjE4RDAxKg0KK1g0MjE4ODJZMzYyMDAwRDAyKlg0MTg0NDFEMDEqDQorWDQxNzAwMFkzNjA1MDBEMDIqWDQxNDUwMFkzNjMwMDBEMDEqDQorRzU0RDI0NSpYNDMxODgyWTMzNTQ2OEQwMyoNCitYNDIxODgyRDAxKg0KK1g0MjE4MjNZMzQ4NDY4RDAyKlg0MDIyNTBEMDEqDQorWDQzNzQzM1kzNDE1MDBEMDIqWDM5Mzg5N0QwMSoNCitYNDIxODgyWTMzNTQ2OEQwMipZMzMyNDkyRDAxKg0KK0c1NEQyNDcqWDQyNzAwMFkzMzE1MDhEMDIqWTMyNDAwMEQwMSoNCitYNDM3MDAwWTMzMTUwOEQwMipZMzI0MDAwRDAxKg0KK1g0MTg1NTlZMzMyMDAwRDAyKlg0MTcwMDBZMzMwNDQxRDAxKg0KK1kzMzA1MDBEMDIqWDQxNDUwMFkzMzMwMDBEMDEqDQorWDQwOTM4MkQwMipYNDA3MDAwWTMzMDYxOEQwMSoNCitYNDIxODgyWTMzMjAwMEQwMipYNDE4NTU5RDAxKg0KK1g0NzM1MDBZMzMzNDkyRDAyKlg0NzM1NTlEMDEqDQorWDQ3MzUwMFkzMzI1MDhEMDIqWTMyNDAwMEQwMSoNCitYNDczNTU5WTMzMjUwOEQwMipYNDczNTAwRDAxKg0KK1g0NjM1MDBEMDMqDQorRDAzKg0KK0QwMyoNCitEMDMqDQorWDQ2ODQ0MUQwMipYNDYzNTAwRDAxKg0KK1g0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMipYNDYxMDAwRDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTAwMFkzMzM0OTJEMDEqDQorWTMzMjUwOEQwMipYNDYzNTAwRDAxKg0KK1g0NjEwMDBEMDIqWDQ2MzUwMEQwMSoNCitYNDUzNTAwWTMzMDYxOEQwMipZMzI0MDAwRDAxKg0KK1g0NTU4ODJZMzMzMDAwRDAyKlg0NTM1MDBZMzMwNjE4RDAxKg0KK1g0NjM1MDBZMzMyNTA4RDAyKlkzMjQwMDBEMDEqDQorWDQyNzAwMFkzNTQwMDBEMDMqDQorWTM0Njk5MkQwMSoNCitEMDMqDQorWTM1NDAwMEQwMyoNCitHNTREMjQ1Klg0MjE4MjNZMzQ4NDY4RDAyKlkzNDYwMDhEMDEqDQorRzU0RDI0NypYNDI3MDAwWTM0Njk5MkQwMipYNDI2OTQxRDAxKg0KK1g0MjcwMDBEMDEqDQorWDQyNjk0MUQwMipYNDI3MDAwRDAxKg0KK0c1NEQyNDUqWDQyMTgyM0QwMipZMzQ4NDY4RDAxKg0KK1kzNDY5OTJEMDIqWTM0ODQ2OEQwMSoNCitHNTREMjQ3Klg0MjcwMDBZMzQ2OTkyRDAzKg0KK1g0MzcwMDBZMzU0MDAwRDAzKg0KK1kzNDY2MThEMDEqDQorWTM1NDAwMEQwMyoNCitYNDYzNTAwWTM2MjUwOEQwMyoNCitEMDMqDQorWDQ2MTA1OUQwMSoNCitYNDYzNTAwRDAyKlg0NjEwNTlEMDEqDQorWDQ2MzUwMEQwMyoNCitHNTREMjQ1Klg0NTk5NDFZMzQ2NTAwRDAyKlg0NTg0NDFZMzQ1MDAwRDAxKg0KK1g0Njg1MDBZMzQ2NTAwRDAyKlg0NTk5NDFEMDEqDQorRzU0RDI0NypYNDM3NDMzWTM0NjYxOEQwMyoNCitEMDMqDQorRzU0RDI0NSpYNDMxODgyWTMzNTQ2OEQwMipZMzMxNTA4RDAxKg0KK0c1NEQyNDcqWDQzNzAwMFkzNjE1MDhEMDIqWTM1NDAwMEQwMSoNCitYNDYzNTAwRDAzKg0KK1g0NTM1MDBZMzYwNTU5RDAyKlkzNTQwMDBEMDEqDQorWDQ1NTk0MVkzNjMwMDBEMDIqWDQ1MzUwMFkzNjA1NTlEMDEqDQorWDQ2MzUwMFkzNjI1MDhEMDIqWTM1NDAwMEQwMSoNCitYNDY4NDQxWTM2MjUwOEQwMipYNDYzNTAwRDAxKg0KK1g0NzM1MDBEMDIqWTM1NDAwMEQwMSoNCitYNDczNTU5WTM2MjUwOEQwMipYNDczNTAwRDAxKg0KK0c1NEQyNDUqWDQwMTU5NlkzNjAwMDBEMDIqWTM1NDIzNEQwMSoNCitZMzQ4NDY4RDAyKlg0MDIyNTBEMDEqDQorWDQwMTU5NlkzNjAwMDBEMDIqWTM0ODQ2OEQwMSoNCitYNDIxODIzRDAzKg0KK0c1NEQyNDcqWDQyNzAwMFkzNTQwMDBEMDMqDQorWDQzNzAwMEQwMyoNCitHNTREMjQ1Klg0MjE4MjNZMzQ4NDY4RDAzKg0KK0c1NEQyNDYqWDM3NjQ1NlkzODIwMDBEMDIqWDM2NzU0NlkzNzMwOTBEMDEqDQorWDM3NjAyNFkzNzg0MTJEMDIqWDM2OTE1NVkzNzE1NDNEMDEqDQorRzU0RDI0NSpYMzc2Mzk0WTM2NzY2MUQwMipZMzY1MDAwRDAxKg0KK1gzNzg0NDFZMzYzMDAwRDAyKlgzNzYzOTRZMzY1MDQ3RDAxKg0KK1gzNzg0NDFZMzY3NTAwRDAyKlkzNzIxMTREMDEqDQorWDM3NjM5NFkzNzAwOTBEMDMqDQorWTM2OTQ1MEQwMyoNCitYMzc1OTg1WTM2OTk1MEQwMipYMzc2Mzk0WTM2OTQ1MEQwMSoNCitYMzc1OTg1WTM2OTgxMUQwMipYMzc2Mzk0WTM2OTQ1MEQwMSoNCitZMzcwMDkwRDAyKlgzNzU5ODVEMDEqDQorWDM3NjM5NEQwMyoNCitYMzc1OTg1RDAyKlgzNzYzOTREMDEqDQorWDM3NTk4NUQwMipYMzc2Mzk0RDAxKg0KK1gzNzU5ODVZMzY5OTUwRDAxKg0KK1gzNzYzOTRZMzcwMDkwRDAyKlkzNjk5NTBEMDEqDQorWDM3NTk4NUQwMipYMzc2Mzk0WTM3MDA5MEQwMSoNCitZMzY5OTUwRDAyKlkzNzAwOTBEMDEqDQorWDM3NTk4NVkzNjk5NTBEMDEqDQorRzU0RDI0NipYMzc5MDI5WTM3ODQxMkQwMipYMzc2MDI0RDAxKg0KK1gzNzY0NTZZMzgyMDAwRDAyKlgzODQ0MDVEMDEqDQorWDM4NzQ0MVkzNzg5NjREMDEqDQorWTM3NzA2N0QwMSoNCitYMzg2MjIwWTM3NTg0NkQwMSoNCitZMzcyMTE0RDAxKg0KK0c1NEQyNDUqWDM5MTMzOFkzNzcwNTFEMDIqWTM3MjAwMEQwMSoNCitYMzgzNjYyWTM3MjExNEQwMipZMzc4NTAwRDAxKg0KK1gzODg3NzlZMzcyMTE0RDAyKlkzNjc1MDBEMDEqDQorWDQwMTc1MFkzNzE1MDBEMDIqWTM2NTAwMEQwMSoNCitHNTREMjQ2KlgzODU5NDFZMzY3NTAwRDAyKlkzNjYwMDBEMDEqDQorWDM4MTEwM1kzNzQ0MTdEMDIqWTM3NjMzOEQwMSoNCitYMzc5MDI5WTM3ODQxMkQwMSoNCitHNTREMjQ1Klg0MDE1OTZZMzYwMDAwRDAyKlgzNzg1NDREMDEqDQorWDM5MzQ0MVkzNTU4OTdEMDIqWTM1NTAwMEQwMSoNCitYMzkxMzM4WTM1ODAwMEQwMipYMzkzNDQxWTM1NTg5N0QwMSoNCitYMzk5NzUwWTM2MzAwMEQwMipYMzc4NDQxRDAxKg0KK1g0MDE3NTBZMzY1MDAwRDAyKlgzOTk3NTBZMzYzMDAwRDAxKg0KK1gzODg3NzlZMzY3NTAwRDAyKlgzNzg0NDFEMDEqDQorWDM5MzQ0MVkzNTUwMDBEMDIqWDM5MTMzOFkzNTI4OTdEMDEqDQorWDM3ODU0NFkzNjAwMDBEMDIqWTM1NzIxMEQwMSoNCitYMzgxMTAzWTM1ODAwMEQwMipYMzkxMzM4RDAxKg0KK1gzNzg1NDRZMzYwMDAwRDAyKlkzNTQ0MTlEMDEqDQorWTM1NTUwMEQwMipZMzUzMzM5RDAxKg0KK1gzNzYzOTRZMzY5NDUwRDAyKlkzNjc2NjFEMDEqDQorWTM2OTQ1MEQwMipZMzY3NjYxRDAxKg0KK0c1NEQyNDYqWDM2OTE1NVkzNzE1NDNEMDIqWTM0NDI1N0QwMSoNCitYMzY3NTQ2WTM3MzA5MEQwMipZMzQ1MTA1RDAxKg0KK1gzNjkxNTVZMzQ0MjU3RDAyKlgzNjE2OThZMzM2Nzk5RDAxKg0KK1gzNjc1NDZZMzQ1MTA1RDAyKlgzNjAwMTNZMzM3NTcyRDAxKg0KK1gzNjM0NDFZMzM1OTA0RDAyKlgzNzIyNzBZMzQ0NzMzRDAxKg0KK1gzNzI2NjFZMzQyNzIwRDAyKlgzNjc0NDFZMzM3NTAwRDAxKg0KK0c1NEQyNDUqWDM4NjIyMFkzNTQyMjFEMDIqWDM4NTk0MVkzNTQ1MDBEMDEqDQorWDM4MTEwM1kzNTM1MDBEMDIqWTM1ODAwMEQwMSoNCitYMzg2MjIwWTM0ODg4NkQwMipZMzU0MjIxRDAxKg0KK1gzODExMDNZMzQ4ODg2RDAyKlkzNTM1MDBEMDEqDQorWDM3ODU0NFkzNTMzMzlEMDIqWTM1MTE4OUQwMSoNCitYMzc1OTg1RDAyKlgzNzI0NDFEMDEqDQorWDM3ODU0NFkzNTMzMzlEMDIqWTM1MTE4OUQwMSoNCitHNTREMjQ2KlgzNzIyNzBZMzQ0NzMzRDAyKlgzODI0NDFEMDEqDQorWDM4MzY2MlkzNDU5NTREMDEqDQorWTM0ODg4NkQwMSoNCitYMzcyNjYxWTM0MjcyMEQwMipYMzg3MTYxRDAxKg0KK1gzODg3NzlZMzQ0MzM4RDAxKg0KK1kzNTExODlEMDIqWTM0NDMzOEQwMSoNCitHNTREMjQ1Klg0MjIwMDBZMzc3MDUxRDAyKlgzOTEzMzhEMDEqDQorWDQzNzQzM1kzNzE1MDBEMDIqWDQwMTc1MEQwMSoNCitYMzk2NTU1WTM3MjExNEQwMipYMzk3NDQxWTM3MzAwMEQwMSoNCitYMzkzODk3WTM3MjExNEQwMipYMzk2NTU1RDAxKg0KK1gzOTEzMzhZMzc2NTY3RDAyKlkzNzQ0MTdEMDEqDQorWDQzMTk0MVkzOTU0NjhEMDMqDQorWDQyMTg4MkQwMSoNCitYNDMxOTQxRDAyKlkzOTE2MjZEMDEqDQorRzU0RDI0NypYNDM3MDAwWTM4NDAwMEQwMyoNCitYNDI3MDAwRDAzKg0KK0QwMyoNCitYNDM3MDAwRDAzKg0KK1kzNzY2MThEMDEqDQorWTM4NDAwMEQwMyoNCitYNDM3MDU5WTM5MTYyNkQwMipYNDM3MDAwRDAxKg0KK1kzOTI2MTBEMDIqWDQzNzA1OUQwMSoNCitZMzkxNjI2RDAzKg0KK1g0MzcwMDBEMDIqWDQzNzA1OUQwMSoNCitEMDMqDQorWDQyNzAwMFkzOTE1MDhEMDIqWTM4NDAwMEQwMSoNCitYNDM3MDAwWTM5MTYyNkQwMipZMzg0MDAwRDAxKg0KK1g0MjcwMDBEMDIqWTM3NzA1MUQwMSoNCitYNDI3MTE4RDAyKlg0MjcwMDBEMDEqDQorWDQyNzExOEQwMSoNCitYNDI3MDAwRDAxKg0KK1kzODQwMDBEMDMqDQorWDQzNzQzM1kzNzY2MThEMDMqDQorRDAzKg0KK1g0MjcxMThZMzc3MDUxRDAzKg0KK0QwMyoNCitEMDMqDQorRDAzKg0KK0c1NEQyNDUqWDQyMTg4MlkzOTU0NjhEMDIqWTM5MjQ5MkQwMSoNCitHNTREMjQ3Klg0MTcwMDBZMzkwNTU5RDAyKlkzODQwMDBEMDEqDQorWDQxODQ0MVkzOTIwMDBEMDIqWDQxNzAwMFkzOTA1NTlEMDEqDQorWDQyMTg4MlkzOTIwMDBEMDIqWDQxODQ0MUQwMSoNCitYNDE3MDAwWTM4NDAwMEQwMipZMzkwNjc3RDAxKg0KK1g0MTQ1NTlZMzkzMTE4RDAxKg0KK1g0MDcwMDBZMzkwNjc3RDAyKlkzODQwMDBEMDEqDQorWDQwOTQ0MVkzOTMxMThEMDIqWDQwNzAwMFkzOTA2NzdEMDEqDQorWDQ1NTg4MlkzOTMwMDBEMDIqWDQ1MzUwMFkzOTA2MThEMDEqDQorWTM4NDAwMEQwMSoNCitYNDczNTAwRDAyKlkzNzYwMDhEMDEqDQorWDQ2MzUwMFkzOTI1MDhEMDIqWTM4NDAwMEQwMSoNCitZMzkyNTA4RDAzKg0KK1g0Njg0NDFEMDIqWDQ2MzUwMEQwMSoNCitYNDczNTAwRDAyKlkzODQwMDBEMDEqDQorWDQ3MzU1OVkzOTI1MDhEMDIqWDQ3MzUwMEQwMSoNCitHNTREMjQ1Klg0MDIyNTBZMjQyMDAwRDAyKlgzNzkzOTREMDEqDQorWDM4MTk1M1kyMjkxNTdEMDIqWTIzNDAwMEQwMSoNCitHNTREMjQ2KlgzOTIxODhZMjM1MDAwRDAyKlgzOTY0NDFEMDEqDQorRzU0RDI0NSpYMzgxOTUzWTIzOTAwMEQwMipYMzkyMTg4RDAxKg0KK1gzODcwNzBZMjI5MTU3RDAyKlkyMzUwMDBEMDEqDQorWDM3OTM5NFkyMzYwMDBEMDIqWTIzMTQ2MEQwMSoNCitYNDAyMjUwWTI0MjAwMEQwMipZMjM5MDAwRDAxKg0KK1gzOTIxODhZMjM0MDAwRDAyKlkyMzkwMDBEMDEqDQorWDQwMjI1MFkyNDAwMDBEMDIqWTIyODQ2OEQwMSoNCitYMzkyMTg4WTIyOTE1N0QwMipZMjM0MDAwRDAxKg0KK1gzNzU3MDVZMjIxMTkwRDAyKlgzNjkxNjZZMjI3NzI5RDAxKg0KK1gzODU1ODVZMjIxMTkwRDAyKlgzNzU3MDVEMDEqDQorWDM4OTYyOVkyMjUyMzREMDIqWDM4NTU4NVkyMjExOTBEMDEqDQorWDM3NjQ0MVkyMjMwMDBEMDIqWDM3MDQ0MVkyMjkwMDBEMDEqDQorWDM4MTQ0MVkyMjMwMDBEMDIqWDM3NjQ0MUQwMSoNCitYMzg0NTEyWTIyNjA3MUQwMipYMzgxNDQxWTIyMzAwMEQwMSoNCitYMzg5NjI5WTIzMTQ2MEQwMipZMjI1MjM0RDAxKg0KK1gzODQ1MTJZMjMxNDYwRDAyKlkyMjYwNzFEMDEqDQorWDM3OTM5NFkyMzgwNDdEMDIqWTI0MjAwMEQwMSoNCitYMzgxOTUzWTIzNDAwMEQwMipZMjM5MDAwRDAxKg0KK1gzNzY4MzVZMjI5MTU3RDAyKlkyMzM2MDZEMDEqDQorWDM3NTQ0MVkyMzUwMDBEMDEqDQorWDM3OTM5NFkyNDAwMDBEMDIqWTIzMTQ2MEQwMSoNCitHNTREMjQ2KlgzNjA0NDFZMjM5MDAwRDAyKlgzNzA0NDFZMjI5MDAwRDAxKg0KK1gzNjM4OTVZMjMzMDAwRDAyKlgzNjkxNjhZMjI3NzI3RDAxKg0KK0c1NEQyNDUqWDM4MTk1M1kyNTYyNTBEMDIqWDM3ODAwM1kyNjAyMDBEMDEqDQorWDM3NzI0NFkyNTAwODJEMDIqWTI0NDcwMEQwMSoNCitZMjUwMDgyRDAyKlgzNzY4MzVEMDEqDQorWDM3OTM5NFkyNTIzODVEMDIqWTI0ODAwMEQwMSoNCitHNTREMjQ2KlgzNzgwMDNZMjYwMjAwRDAyKlgzNzU5NzhEMDEqDQorRzU0RDI0NSpYMzgxOTUzWTI1NDY4OEQwMipZMjU2MjUwRDAxKg0KK0c1NEQyNDYqWDM3NjQ0MVkyNjIwMDBEMDIqWDM4NTQ0MUQwMSoNCitYMzU4ODM5WTI3OTYwMkQwMipYMzc2NDQxWTI2MjAwMEQwMSoNCitYMzc1OTc4WTI2MDIwMEQwMipYMzU4NTQxWTI3NzYzN0QwMSoNCitYMzYyMzE1WTI2OTUxNUQwMipYMzcxNjAyWTI2MDIyOEQwMSoNCitYMzkyMzg4WTI4MzUzNUQwMipZMjYzMzkyRDAxKg0KK1gzOTAyODBZMjYxMjg0RDAxKg0KK0c1NEQyNDUqWDM4ODQ0MVkyNTkwMDBEMDIqWDM4NTQ0MVkyNjIwMDBEMDEqDQorWDM4ODQ0MVkyNTcwMDBEMDIqWTI1OTAwMEQwMSoNCitYMzg0NTEyWTI1MjM4NUQwMipZMjU4MDAwRDAxKg0KK0c1NEQyNDYqWDM5MDI4MFkyNjEyODREMDIqWTI1NjA1OEQwMSoNCitHNTREMjQ1KlgzODcwNzBZMjU1NjI5RDAyKlgzODg0NDFZMjU3MDAwRDAxKg0KK1gzODcwNzBZMjU0Njg4RDAyKlkyNTU2MjlEMDEqDQorWDM4OTYyOVkyNTIzODVEMDIqWTI0ODAwMEQwMSoNCitHNTREMjQ2KlgzOTAyODBZMjU2MDU4RDAyKlgzODk2MjlZMjU1NDA3RDAxKg0KK1kyNTIzODVEMDEqDQorRzU0RDI0NSpYNDAyMjUwWTI1MTQ0MUQwMipZMjQ0NzAwRDAxKg0KK1gzOTQ0NDFZMjUyMDAwRDAyKlgzOTc0NDFEMDEqDQorWDM5ODQ0MVkyNTMwMDBEMDEqDQorWDQwMjI1MFkyNDQ3MDBEMDIqWDM3NzI0NEQwMSoNCitHNTREMjQ2KlgzNzkzOTRZMjQ4MDAwRDAyKlgzODAxMTRZMjQ3MjgwRDAxKg0KK1gzODg5MDlEMDEqDQorWDM4OTYyOVkyNDgwMDBEMDEqDQorRzU0RDI0NSpYNDM3MDAwWTE5MTQ0MUQwMipYNDExODgyRDAxKg0KK1g0MzE4ODJZMTg1NDY4RDAzKg0KK1g0MjE4ODJEMDEqDQorWDQzMTg4MkQwMipZMTgxNTA4RDAxKg0KK1g0MjE4ODJZMTg1NDY4RDAyKlkxODI0OTJEMDEqDQorRzU0RDI0NypZMTgyMDAwRDAyKlg0MTg1NTlEMDEqDQorWDQzNzAwMFkxODE1MDhEMDIqWTE3NDAwMEQwMSoNCitYNDUzNTAwWTE4MDYxOEQwMipZMTc0MDAwRDAxKg0KK1g0NTU4ODJZMTgzMDAwRDAyKlg0NTM1MDBZMTgwNjE4RDAxKg0KK1g0NjM1MDBZMTgyNTA4RDAyKlkxNzQwMDBEMDEqDQorWTE4MjUwOEQwMyoNCitYNDY4MzgyRDAyKlg0NjM1MDBEMDEqDQorWDQ3MzUwMEQwMipZMTc0MDAwRDAxKg0KK1kxNjU1MDhEMDEqDQorRzU0RDI0NSpYMzg2NzIwWTE5NzcyMUQwMipYMzc3NDQxWTIwNzAwMEQwMSoNCitYMzc0NDQxWTIwNTAwMEQwMipYMzcxNDQxRDAxKg0KK1gzODY3MjBZMTk1OTE3RDAyKlkxOTc3MjFEMDEqDQorWDM4MTYwM1kxOTc4MzhEMDIqWDM3NDQ0MVkyMDUwMDBEMDEqDQorWDM4MTYwM1kxOTU5MTdEMDIqWTE5NzgzOEQwMSoNCitYMzk1ODgyWTIwNTU1OUQwMipYMzkzNDQxWTIwODAwMEQwMSoNCitYMzk4NDQxWTIwNTU1OUQwMipYMzk1ODgyRDAxKg0KK1gzOTg0NDFZMjAwNDQxRDAyKlkxOTYwMDBEMDEqDQorRzU0RDI0NipYMzg5Mjc5WTE5NTkxN0QwMipZMjEyNTAwRDAxKg0KK1gzOTIxODhZMjE1NDA5RDAxKg0KK0c1NEQyNDcqWDQzNzQ5MlkxOTY1NTlEMDMqDQorRDAzKg0KK1g0MzcwMDBZMjA0MDAwRDAyKlkxOTY1NTlEMDEqDQorWTIwNDAwMEQwMyoNCitEMDMqDQorRDAzKg0KK1kyMTE1MDhEMDIqWTIwNDAwMEQwMSoNCitYNDI3MDAwRDAzKg0KK1kxOTY0OTJEMDEqDQorWTIwNDAwMEQwMyoNCitEMDMqDQorWTE5NjQ5MkQwMyoNCitZMjExNTA4RDAyKlkyMDQwMDBEMDEqDQorWTE5NjQ5MkQwMipYNDI2OTQxRDAxKg0KK1g0MjcwMDBEMDMqDQorWDQyNjk0MUQwMipYNDI3MDAwRDAxKg0KK1g0MjY5NDFEMDIqWDQyNzAwMEQwMSoNCitYNDE3MDAwWTIwNDAwMEQwMipZMjEwNTAwRDAxKg0KK1g0MDcwMDBZMjEwNjE4RDAyKlkyMDQwMDBEMDEqDQorWDQ2MzUwMEQwMyoNCitEMDMqDQorWDQ1MzUwMFkyMTA2MThEMDIqWTIwNDAwMEQwMSoNCitYNDU1ODgyWTIxMzAwMEQwMipYNDUzNTAwWTIxMDYxOEQwMSoNCitYNDYzNTAwWTIxMjUwOEQwMipZMjA0MDAwRDAxKg0KK1kyMTI1MDhEMDMqDQorWDQ3MzUwMEQwMipZMjA0MDAwRDAxKg0KK1kxOTYwMDhEMDEqDQorRzU0RDI0NipYMzYxMDQxWTIwNTAwMEQwMipYMzcxNDQxRDAxKg0KK1gzNjg0NDFZMTk4MDAwRDAyKlgzNjM0NDFZMjAzMDAwRDAxKg0KK1gzNjI3ODZZMjAxMzgwRDAyKlgzNjY4NDFZMTk3MzI1RDAxKg0KK1gzNjM0NDFZMjAzMDAwRDAyKlgzNTk5MzBEMDEqDQorWDM1OTI4N1kyMDEzODBEMDIqWDM2Mjc4NkQwMSoNCitYMzYxMDQxWTIwNTAwMEQwMipYMzU4OTQxWTIwNzEwMEQwMSoNCitZMjA4NTAwRDAxKg0KK0c1NEQyNDUqWDQyMTk0MVkyMjg0NjhEMDIqWTIyNjAwOEQwMSoNCitZMjI4NDY4RDAyKlg0MDIyNTBEMDEqDQorWDQzNzQ5MlkyMjE0NDFEMDIqWDM5NDc0N0QwMSoNCitZMjI2ODU0RDAyKlkyMjE0NDFEMDEqDQorRzU0RDI0NypYNDI3MDU5WTIyNjk5MkQwMipYNDI3MDAwRDAxKg0KK1g0MjcwNTlEMDMqDQorWDQxODQ0MVkyNDIwMDBEMDIqWDQxNzAwMFkyNDA1NTlEMDEqDQorWDQyMTg4MlkyNDIwMDBEMDIqWDQxODQ0MUQwMSoNCitYNDE3MDAwWTI0MDU1OUQwMipYNDE0NTU5WTI0MzAwMEQwMSoNCitYNDE3MDAwWTIzNDAwMEQwMipZMjQwNTU5RDAxKg0KK1g0MDcwMDBEMDIqWTIzNDAwMEQwMSoNCitYNDA5NDQxWTI0MzAwMEQwMipYNDA3MDAwWTI0MDU1OUQwMSoNCitYNDM3MDAwWTI0MTUwOEQwMipZMjM0MDAwRDAxKg0KK1g0Mzc0OTJZMjI2NTU5RDAzKg0KK0QwMyoNCitYNDM3MDAwWTIzNDAwMEQwMyoNCitZMjI2NTU5RDAxKg0KK1kyMzQwMDBEMDMqDQorRDAzKg0KK0c1NEQyNDUqWDQzMTg4MlkyMTU0NjhEMDIqWDQyMTg4MkQwMSoNCitYNDMxODgyRDAzKg0KK0c1NEQyNDcqWDQyNzA1OVkyMjY5OTJEMDMqDQorRDAzKg0KK1g0MjcwMDBEMDEqDQorWDQyNzA1OUQwMSoNCitEMDMqDQorRzU0RDI0NSpYNDMxODgyWTIxNTQ2OEQwMipZMjExNTA4RDAxKg0KK1g0MjE4ODJZMjE1NDY4RDAyKlkyMTI0OTJEMDEqDQorRzU0RDI0NypYNDE4NTU5WTIxMjAwMEQwMipYNDE3MDAwWTIxMDQ0MUQwMSoNCitYNDIxODgyWTIxMjAwMEQwMipYNDE4NTU5RDAxKg0KK1g0MTcwMDBZMjEwNTAwRDAyKlg0MTQ1MDBZMjEzMDAwRDAxKg0KK1g0MDkzODJEMDIqWDQwNzAwMFkyMTA2MThEMDEqDQorRzU0RDI0NSpYNDMxODgyWTI0NTQ2OEQwMyoNCitZMjQxNTA4RDAxKg0KK1kyNDU0NjhEMDIqWDQyMTg4MkQwMSoNCitZMjQyNDkyRDAxKg0KK0c1NEQyNDcqWDQyNzAwMFkyMzQwMDBEMDIqWTIyNjk5MkQwMSoNCitZMjM0MDAwRDAzKg0KK0QwMyoNCitEMDMqDQorWTI0MTUwOEQwMipZMjM0MDAwRDAxKg0KK0c1NEQyNDUqWDQ2MDQ0MVkyNTYwMDBEMDIqWDQ1ODQ0MVkyNTQwMDBEMDEqDQorRzU0RDI0NypYNDM3NDkyWTI1NjU1OUQwMyoNCitEMDMqDQorRzU0RDI0NSpYNDY4MzgyWTI1NjAwMEQwMipYNDYwNDQxRDAxKg0KK0c1NEQyNDcqWDQ2MzUwMFkyNjQwMDBEMDMqDQorRDAzKg0KK1g0NTM1MDBZMjcwNjE4RDAyKlkyNjQwMDBEMDEqDQorWDQ2MzUwMFkyNzI1MDhEMDIqWTI2NDAwMEQwMSoNCitZMjcyNTA4RDAzKg0KK1g0NzM1MDBEMDIqWTI2NDAwMEQwMSoNCitZMjU1NTA4RDAxKg0KK1g0Njg1NTlZMjcyNTA4RDAyKlg0NjM1MDBEMDEqDQorRzU0RDI0NSpYNDU5OTQxWTIyNjUwMEQwMipYNDU4NDQxWTIyNTAwMEQwMSoNCitHNTREMjQ2KlgzOTIxODhZMjE1NDA5RDAyKlkyMjk1MDBEMDEqDQorRzU0RDI0NSpYNDY4MzgyWTIyNjUwMEQwMipYNDU5OTQxRDAxKg0KK0c1NEQyNDcqWDQ3MzUwMFkyMTM0OTJEMDIqWDQ3MzU1OUQwMSoNCitYNDczNTAwWTIzNDAwMEQwMipZMjI2MDA4RDAxKg0KK1g0NzM1NTlZMjEyNTA4RDAyKlg0NzM1MDBEMDEqDQorWDQ2MzUwMEQwMyoNCitEMDMqDQorRDAzKg0KK1g0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMipYNDYxMDAwRDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTAwMFkyMTM0OTJEMDEqDQorWTIxMjUwOEQwMipYNDYzNTAwRDAxKg0KK1g0NjEwMDBEMDIqWDQ2MzUwMEQwMSoNCitYNDY4NDQxRDAyKlg0NjM1MDBEMDEqDQorRzU0RDI0NSpYNDM3NDkyWTI1MTQ0MUQwMipYNDAyMjUwRDAxKg0KK1g0MjE4MjNZMjU2MDA4RDAyKlg0MDIyNTBEMDEqDQorWTI1NjgzOEQwMipZMjU2MDA4RDAxKg0KK1kyNTY4MzhEMDIqWDM5MjE4OEQwMSoNCitZMjU0Njg4RDAxKg0KK0c1NEQyNDcqWDQzNzAwMFkyNjQwMDBEMDMqDQorWTI1NjU1OUQwMSoNCitZMjY0MDAwRDAzKg0KK0QwMyoNCitZMjcxNTA4RDAyKlkyNjQwMDBEMDEqDQorWDQyNzAwMEQwMyoNCitZMjU2OTkyRDAxKg0KK1kyNjQwMDBEMDMqDQorRDAzKg0KK1kyNTY5OTJEMDMqDQorWTI3MTUwOEQwMipZMjY0MDAwRDAxKg0KK1kyNTY5OTJEMDIqWDQyNjk0MUQwMSoNCitYNDI3MDAwRDAzKg0KK1g0MjY5NDFEMDIqWDQyNzAwMEQwMSoNCitYNDI2OTQxRDAyKlg0MjcwMDBEMDEqDQorWDQxNzAwMFkyNjQwMDBEMDIqWTI3MDU1OUQwMSoNCitYNDA3MDAwRDAyKlkyNjQwMDBEMDEqDQorWDQ2MzUwMFkyNDI1MDhEMDMqDQorRDAzKg0KK0QwMyoNCitZMjM0MDAwRDAxKg0KK1kyNDI1MDhEMDMqDQorWTIzNDAwMEQwMyoNCitEMDMqDQorWDQ3MzUwMFkyNDM0OTJEMDIqWDQ3MzU1OUQwMSoNCitYNDczNTAwWTI0MjUwOEQwMipZMjM0MDAwRDAxKg0KK1g0NzM1NTlZMjQyNTA4RDAyKlg0NzM1MDBEMDEqDQorWDQ2MzUwMEQwMipYNDYxMDAwRDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBZMjQzNDkyRDAxKg0KK1kyNDI1MDhEMDIqWDQ2MzUwMEQwMSoNCitYNDYxMDAwRDAyKlg0NjM1MDBEMDEqDQorWDQ2ODQ0MUQwMipYNDYzNTAwRDAxKg0KK1g0NTM1MDBZMjQwNjE4RDAyKlkyMzQwMDBEMDEqDQorWDQ1NTg4MlkyNDMwMDBEMDIqWDQ1MzUwMFkyNDA2MThEMDEqDQorRzU0RDI0NSpYMzc2NDg1WTE4Mzk1NkQwMipYMzgwNDQxWTE4MDAwMEQwMSoNCitYMzc2NDg1WTE4NTcwMEQwMipZMTgzOTU2RDAxKg0KK1gzNzkwNDRZMTc3MDAwRDAyKlkxNzI2ODlEMDEqDQorRzU0RDI0NipYMzc3MzQ3WTE2MjE3OEQwMipYMzgwMjI4RDAxKg0KK1gzODQxNjJZMTY2MTEyRDAxKg0KK1kxNzAzODZEMDEqDQorRzU0RDI0NSpYMzgxNjAzRDAyKlkxNzUwMDBEMDEqDQorWDM3NjQ4NVkxNzAzODZEMDIqWDM3MjQ0MUQwMSoNCitHNTREMjQ2KlgzNjY4NDFZMTkyMzM3RDAyKlkxNjYzMDBEMDEqDQorWDM2ODQ0MVkxNjY5NjNEMDIqWTE5ODAwMEQwMSoNCitYMzY2ODQxWTE5NzMyNUQwMipZMTkyMjIwRDAxKg0KK1gzNjUyNDFZMTkxNjE2RDAyKlkxNjU2MzdEMDEqDQorWDM2MzQ4NFkxOTEwNDhEMDIqWTE2MjUwM0QwMSoNCitYMzY1MjQxWTE5MzE2M0QwMipZMTkwODAwRDAxKg0KK0QwMyoNCitYMzYzNDg0WTE5MDk1N0QwMipZMTkyNjU3RDAxKg0KK0c1NEQyNDUqWDQwNDQ0MVkxODQwMDBEMDIqWDQwMDQ0MVkxODAwMDBEMDEqDQorWDQwMjQ0MVkxODUwMDBEMDIqWDM5NDQ0MUQwMSoNCitYNDAyMjUwWTE3NzAwMEQwMipZMTY4NDY4RDAxKg0KK0c1NEQyNDcqWDQwNzAwMFkxODA2MThEMDIqWTE3NDAwMEQwMSoNCitYNDA5MzgyWTE4MzAwMEQwMipYNDA3MDAwWTE4MDYxOEQwMSoNCitHNTREMjQ2KlgzOTg0NDFZMTczMDAwRDAyKlgzOTY0NDFZMTc1MDAwRDAxKg0KK0c1NEQyNDUqWDQwNDI1MFkxODM4MDlEMDIqWDQxMTg4MlkxOTE0NDFEMDEqDQorWDQxMzQ0MVkxOTYwMDBEMDIqWDQwMjQ0MVkxODUwMDBEMDEqDQorWDQyMTgyM1kxOTYwMDBEMDIqWDQxMzQ0MUQwMSoNCitYMzk4NDQxRDAyKlg0MDA0NDFZMTk0MDAwRDAxKg0KK1gzOTQ0NDFEMDIqWDQwMDQ0MUQwMSoNCitHNTREMjQ3Klg0MTg1NTlZMTgyMDAwRDAyKlg0MTcwMDBZMTgwNDQxRDAxKg0KK1kxNzQwMDBEMDIqWTE4MDUwMEQwMSoNCitYNDI3MDAwWTE4MTUwOEQwMipZMTc0MDAwRDAxKg0KK1g0MTcwMDBZMTgwNTAwRDAyKlg0MTQ1MDBZMTgzMDAwRDAxKg0KK0c1NEQyNDUqWDQzNzQzM1kxNjEzODJEMDIqWDM5NDM5N0QwMSoNCitZMTY4MDgzRDAyKlkxNjEzODJEMDEqDQorWDQyMTgyM1kxNjg0NjhEMDIqWTE2NjAwOEQwMSoNCitZMTY4NDY4RDAyKlg0MDIyNTBEMDEqDQorRzU0RDI0NypYNDM3MDAwWTE3NDAwMEQwMyoNCitHNTREMjQ1KlgzODY3MjBZMTYzMjc5RDAyKlgzODY0NDFZMTYzMDAwRDAxKg0KK1gzODY3MjBZMTcwMzg2RDAyKlkxNjMyNzlEMDEqDQorWDM5MTQ0MVkxNjQwMDBEMDIqWTE2MjAwMEQwMSoNCitYMzg5Mjc5WTE2NjE2MkQwMipYMzkxNDQxWTE2NDAwMEQwMSoNCitYMzg5Mjc5WTE3MjY4OUQwMipZMTY2MTYyRDAxKg0KK1gzOTE0NDFZMTYyMDAwRDAyKlgzODg5NDFZMTU5NTAwRDAxKg0KK0c1NEQyNDYqWDM4NjAyM1kxNTc4MTNEMDIqWDM4NzcxMFkxNTk1MDBEMDEqDQorWDM4ODk0MUQwMSoNCitHNTREMjQ1KlgzODkyNzlZMTg0MTYyRDAyKlkxOTM2MTREMDEqDQorWDM4OTQ0MVkxODQwMDBEMDIqWDM4OTI3OVkxODQxNjJEMDEqDQorWDM5MTgzOFkxODc2MDNEMDIqWDM5NDQ0MVkxODUwMDBEMDEqDQorWDM5MTgzOFkxOTM2MTREMDIqWTE4NzYwM0QwMSoNCitYMzgwNDQxWTE4MDAwMEQwMipYNDAwNDQxRDAxKg0KK1g0MDIyNTBZMTc3MDAwRDAyKlgzNzkwNDREMDEqDQorWDM4MTYwM1kxNzUwMDBEMDIqWDM5MTgzOEQwMSoNCitZMTcwMzg2RDAyKlkxNzUwMDBEMDEqDQorRzU0RDI0NipYMzk2NDQxRDAyKlgzOTE4MzhEMDEqDQorRzU0RDI0NSpYMzg0MTYyWTE5MzYxNEQwMipZMTg4MDAwRDAxKg0KK1gzNzY0ODVZMTkxMzExRDAyKlkxODU3MDBEMDEqDQorWDM3OTA0NFkxODQwMDBEMDIqWDM4OTQ0MUQwMSoNCitYMzc5MDQ0WTE5MzYxNEQwMipZMTg0MDAwRDAxKg0KK1g0Mjk3NjVZNzEwMDBEMDIqWDQ0MDAwMEQwMSoNCitYNDI5NzY1WTc2MzI0RDAyKlk3MTAwMEQwMSoNCitYNDQwMDAwWTc2MDAwRDAyKlk3MTAwMEQwMSoNCitYNDI0NjQ3WTc2MjA2RDAyKlg0MjM0NDFZNzUwMDBEMDEqDQorWDQyNDY0N1k4MDc3MkQwMipZNzYyMDZEMDEqDQorWDQyNzIwNlk3ODQ2OUQwMipZNDg0NjhEMDEqDQorWDQ0MjU1OVk3ODQ2OUQwMipZNzYwMDhEMDEqDQorRzU0RDI0NipYNDM5OTQxWTcxMDAwRDAyKlg0NDA5NDFZNzAwMDBEMDEqDQorWTY1NTU5RDAxKg0KK1g0NDA0NDlEMDIqWDQzNDk0MUQwMSoNCitYNDM0NDQ5WTYwNDQxRDAyKlk1NjUwMEQwMSoNCitYNDQwNDQ5WTYwNDQxRDAyKlk1NjUwMEQwMSoNCitHNTREMjQ1Klg0Njg0NDFZNDg0NjhEMDIqWTQ2MDA4RDAxKg0KK1k0ODQ2OEQwMipYNDI3MjA2RDAxKg0KK0c1NEQyNDcqWDQ3MzUwMFk0NjAwOEQwMipYNDczNTU5RDAxKg0KK1g0NjM1MDBZNTQwMDBEMDMqDQorRDAzKg0KK1g0NzM1MDBEMDIqWTQ2OTkyRDAxKg0KK1g0NzM1NTlEMDIqWDQ3MzUwMEQwMSoNCitYNDczNTU5WTU0MDAwRDAyKlg0NzM1MDBEMDEqDQorRzU0RDI0NSpYNDY4MzgyWTc2MDA4RDAyKlg0NDI1NTlEMDEqDQorRzU0RDI0NypYNDYzNTAwWTg0MDAwRDAzKg0KK0QwMyoNCitYNDczNTAwRDAyKlk3Njk5MkQwMSoNCitYNDczNTU5WTg0MDAwRDAyKlg0NzM1MDBEMDEqDQorWDQ2MzUwMFk2MjUwOEQwMyoNCitEMDMqDQorRDAzKg0KK1k1NDAwMEQwMSoNCitZNjI1MDhEMDMqDQorWDQ3MzU1OUQwMipZNTQwMDBEMDEqDQorWDQ2MzUwMFk2MjUwOEQwMipYNDYxMDU5RDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTA1OUQwMSoNCitYNDYzNTAwRDAyKlg0NjEwNTlZNjM0OTJEMDEqDQorWTYyNTA4RDAyKlg0NjM1MDBEMDEqDQorWDQ2MTA1OUQwMipYNDYzNTAwRDAxKg0KK1g0Njg0NDFEMDIqWDQ2MzUwMEQwMSoNCitYNDUzNTAwWTYwNTU5RDAyKlk1NDAwMEQwMSoNCitYNDU1OTQxWTYzMDAwRDAyKlg0NTM1MDBZNjA1NTlEMDEqDQorRzU0RDI0NSpYNDE4NDQwWTEwMTAwMEQwMipZMTE1ODc1RDAxKg0KK1g0MjA0NDFZMTAxNTQ2RDAyKlkxMTU1MDBEMDEqDQorWDQyNDY0N1kxMzQwMzJEMDIqWTEwNjMwM0QwMSoNCitHNTREMjQ2Klg0MjA0NDFZMTI3MDAwRDAyKlkxMTU1MDBEMDEqDQorWDQxODQ0MFkxMjIwMDFEMDIqWTExNTg3NUQwMSoNCitHNTREMjQ1Klg0MzIwMzBZOTcwMTVEMDIqWDQyMjQyNUQwMSoNCitYNDI4MjQxWTkzMDAwRDAyKlg0MjA5NDFEMDEqDQorWDQyNzk0MVk5OTAwMEQwMipYNDIyOTg3RDAxKg0KK1g0Mjk0NDFZOTUwMDBEMDIqWDQyMTg5NUQwMSoNCitYNDI4NDQxWTkzMjAwRDAyKlg0MjgyNDFZOTMwMDBEMDEqDQorWDQzNDg4Mlk5OTg2N0QwMipYNDMyMDMwWTk3MDE1RDAxKg0KK1g0Mjk3NjVZMTAwODI0RDAyKlg0Mjc5NDFZOTkwMDBEMDEqDQorWDQyOTc2NVkxMDYzMDNEMDIqWTEwMDgyNEQwMSoNCitYNDMyMzI0WTg5MzE3RDAyKlg0Mjg0NDFZOTMyMDBEMDEqDQorWDQzNzQ0MVk4NzAwMEQwMipYNDI5NDQxWTk1MDAwRDAxKg0KK1g0Mzc0NDFEMDIqWDQ0MDAwMFk5MjQ0MUQwMSoNCitYNDMyMzI0WTgzMDc1RDAyKlk4OTMxN0QwMSoNCitYNDM3NDQxWTgwMDAwRDAyKlk4NzAwMEQwMSoNCitYNDMyNDQxWTgwMDAwRDAyKlk4NTAwMEQwMSoNCitYNDQwMDAwWTgwNzcyRDAyKlk5MjQ0MUQwMSoNCitYNDM0ODgyWTgwNzcyRDAyKlk3NTAwMEQwMSoNCitYNDQwMDAwWTgwNzcyRDAyKlk3NjAwMEQwMSoNCitYNDM0ODgyWTEwMTY5N0QwMipZOTk4NjdEMDEqDQorWDQzMjMyNFkxMDYzMDNEMDIqWTExMTAwMEQwMSoNCitYNDM0ODgyWTEwNjMwM0QwMipZMTAxMTE4RDAxKg0KK1g0Mzc0NDFZMTA0MDAwRDAyKlk5NTAwMEQwMSoNCitYNDQwMDAwWTEwODQ1M0QwMipZMTA2MzAzRDAxKg0KK1g0Mjk3NjVZODA3NzJEMDIqWTc2MDAwRDAxKg0KK1g0MjI0MjVZOTcwMTVEMDIqWDQxODQ0MFkxMDEwMDBEMDEqDQorWDQyMjk4N1k5OTAwMEQwMipYNDIwNDQxWTEwMTU0NkQwMSoNCitYNDQ0NDQxWTEwNDAwMEQwMipYNDQ2NDQxWTEwMjAwMEQwMSoNCitYNDQyNTU5WTEwNDAwMEQwMipYNDQ0NDQxRDAxKg0KK1g0MjcyMDZZMTE1MDAwRDAyKlg0Mjg0NDFEMDEqDQorWDQyNzIwNlkxMDkwMDBEMDIqWTExNTAwMEQwMSoNCitYNDM3NDQxRDAyKlg0Mjc0NDFEMDEqDQorWDQzNzQ0MVkxMDkwMDBEMDIqWTExNTAwMEQwMSoNCitYNDI3MjA2WTEwNDAwMEQwMipZMTA5MDAwRDAxKg0KK1g0Mzc0NDFZMTA0MDAwRDAyKlkxMDkwMDBEMDEqDQorRzU0RDI0NypZMTE1MDAwRDAyKlg0NDA5NDFZMTE4NTAwRDAxKg0KK1kxMjMwMDBEMDEqDQorRzU0RDI0NipYNDIxODk1WTk1MDAwRDAyKlg0MTY0NDFZMTAwNDU0RDAxKg0KK1g0MjA5NDFZOTMwMDBEMDIqWDQxNDQ0MVk5OTUwMEQwMSoNCitYNDE2NDQxWTEwMDQ1NEQwMipZMTA2MDAwRDAxKg0KK1g0MTQ0NDFZOTk1MDBEMDIqWTEwNjAwMEQwMSoNCitYNDE2NDQxWTExNDQzN0QwMipZMTA1NDU1RDAxKg0KK1g0MTQ0NDFZMTExNTQ2RDAyKlkxMDU1NTREMDEqDQorRzU0RDI0NSpYNDY4MzgyWTE2NjAwMEQwMipYNDYwNDQxRDAxKg0KK0c1NEQyNDcqWDQ2MzUwMFkxODI1MDhEMDIqWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMyoNCitYNDYxMDAwRDAyKlg0NjM1MDBEMDEqDQorWDQ2MTAwMEQwMipYNDYzNTAwRDAxKg0KK1kxNzQwMDBEMDMqDQorRDAzKg0KK0c1NEQyNDUqWDQ1OTk0MVkxOTY1MDBEMDIqWDQ1ODQ0MVkxOTUwMDBEMDEqDQorWDQ2ODM4MlkxOTY1MDBEMDIqWDQ1OTk0MUQwMSoNCitHNTREMjQ3Klg0NjM1MDBZMTgyNTA4RDAzKg0KK0QwMyoNCitYNDYxMDAwWTE4MzQ5MkQwMSoNCitHNTREMjQ1Klg0NjA0NDFZMTY2MDAwRDAyKlg0NTg0NDFZMTY0MDAwRDAxKg0KK0c1NEQyNDcqWDQ3MzUwMFkxNTM0OTJEMDIqWDQ3MzU1OUQwMSoNCitYNDczNTAwWTE1MjUwOEQwMipZMTQ0MDAwRDAxKg0KK1g0NzM1NTlZMTUyNTA4RDAyKlg0NzM1MDBEMDEqDQorWTE0NDAwMEQwMipZMTM1NTA4RDAxKg0KK1g0NjM1MDBZMTUyNTA4RDAzKg0KK0QwMyoNCitEMDMqDQorWDQ2ODQ0MUQwMipYNDYzNTAwRDAxKg0KK1g0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMipYNDYxMDAwRDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTAwMFkxNTM0OTJEMDEqDQorWTE1MjUwOEQwMipYNDYzNTAwRDAxKg0KK1g0NjEwMDBEMDIqWDQ2MzUwMEQwMSoNCitYNDU1ODgyWTE1MzAwMEQwMipYNDUzNTAwWTE1MDYxOEQwMSoNCitYNDM3MDAwWTE3NDAwMEQwMyoNCitZMTY2NTAwRDAxKg0KK1kxNzQwMDBEMDMqDQorWDQzNzQzM1kxNjY1MDBEMDMqDQorRDAzKg0KK1g0MjcwMDBZMTc0MDAwRDAzKg0KK1kxNjY5OTJEMDEqDQorWTE3NDAwMEQwMyoNCitEMDMqDQorWTE2Njk5MkQwMipYNDI2OTQxRDAxKg0KK1g0MjcwMDBEMDMqDQorWDQyNjk0MUQwMipYNDI3MDAwRDAxKg0KK1g0MjY5NDFEMDIqWDQyNzAwMEQwMSoNCitEMDMqDQorRzU0RDI0NipYMzY4NDQxWTE2Njk2M0QwMipYMzgwNDA0WTE1NTAwMEQwMSoNCitYMzY2ODQxWTE2NjMwMEQwMipYMzgwMTQxWTE1MzAwMEQwMSoNCitYMzgwNDA0WTE1NTAwMEQwMipYMzkyNDQxRDAxKg0KK1g0MjA0NDFZMTI3MDAwRDAxKg0KK1gzODAxNDFZMTUzMDAwRDAyKlgzODc0NDFEMDEqDQorWDQxODQ0MFkxMjIwMDFEMDEqDQorWDM2NTI0MVkxNjU2MzdEMDIqWDQxNjQ0MVkxMTQ0MzdEMDEqDQorWDM2MzQ4NFkxNjI1MDNEMDIqWDQxNDQ0MVkxMTE1NDZEMDEqDQorWDI1MDk0MVkyMjk1MDBEMDIqWDI2OTg1OFkyMTA1ODNEMDEqDQorWDI2ODQ1OFkyMDc0ODNEMDIqWDI0NjQ0MVkyMjk1MDBEMDEqDQorWDI0MjQ0MUQwMipYMjY3NTU4WTIwNDM4M0QwMSoNCitYMjcyMDUwWTIxMzAwMEQwMipYMjQ3MDUwWTIzODAwMEQwMSoNCitYMjY5ODU4WTIxMDU4M0QwMipYMzA0NzA2RDAxKg0KK1gzMDQ1ODRZMjA3NDgzRDAyKlgyNjg0NThEMDEqDQorWDI2NzU1OFkyMDQzODNEMDIqWDMwNTI4MEQwMSoNCitYMzA5OTQxWTIxMzAwMEQwMipYMjcyMDUwRDAxKg0KK0c1NEQyNDcqWDE2NTk0MVkyMzAwMDBEMDIqWTIxNzUwMEQwMSoNCitYMTY5NDQxWTIxNDAwMEQwMSoNCitHNTREMjQ2KlgzNzc0NDFZMjA3MDAwRDAyKlgzNDg0NDFZMjM2MDAwRDAxKg0KK1gzNTY0NDFZMjMzMDAwRDAyKlgzNjM4OTVEMDEqDQorWDM1NTQ0MVkyMTMxMjREMDIqWTIwNzQ4OUQwMSoNCitYMzU5OTMwWTIwMzAwMEQwMipYMzU1NDQxWTIwNzQ4OUQwMSoNCitYMzUzNDQxWTIwNzIyNkQwMipYMzU5Mjg3WTIwMTM4MEQwMSoNCitYMzUwODU3WTIwNjAwMEQwMipYMzUyNDA0RDAxKg0KK1gzNjUyNDFZMTkzMTYzRDAxKg0KK1gzNjM0ODRZMTkyNjU3RDAyKlgzNTE3NDFZMjA0NDAwRDAxKg0KK1gzNTE3OTFZMjA0MzUwRDAyKlgzNTAyNDREMDEqDQorWDMwOTk0MVkyMTMwMDBEMDIqWDMzNDQ0MVkxODg1MDBEMDEqDQorWTE2NjAwMEQwMSoNCitYMzM3NDQxWTE2MzAwMEQwMSoNCitYMjkxNDQxWTIzNjAwMEQwMipYMzQ4NDQxRDAxKg0KK1gyOTIyMDdZMjMyOTcxRDAyKlgzMjM4ODZEMDEqDQorWDMyMzE4M1kyMzEzNDlEMDIqWDI5MTA5MkQwMSoNCitYMzIzMjQ1RDAyKlgzMjIwOTJEMDEqDQorWDMzODQ0MVkyMzAxMjREMDIqWDM1NTQ0MVkyMTMxMjREMDEqDQorWDMzODQ0MVkyMjQxOTJEMDIqWDM1MzQ0MVkyMDkxOTJEMDEqDQorWTIwNzIyNkQwMSoNCitYMzIzODg2WTIzMjk3MUQwMipYMzUwODU3WTIwNjAwMEQwMSoNCitYMzUwMjQ0WTIwNDM1MEQwMipYMzIzMjQ1WTIzMTM0OUQwMSoNCitHNTREMjQ1Klg0NjgzODJZMTM1NTA4RDAyKlg0NjY5MDZEMDEqDQorWTEzNDAzMkQwMSoNCitHNTREMjQ3Klg0NjM1MDBZMTQ0MDAwRDAzKg0KK0QwMyoNCitYNDUzNTAwWTE1MDYxOEQwMipZMTQ0MDAwRDAxKg0KK1g0NjM1MDBZMTUyNTA4RDAyKlkxNDQwMDBEMDEqDQorWTE1MjUwOEQwMyoNCitHNTREMjQ1Klg0NjY5MDZZMTM0MDMyRDAyKlg0MjQ2NDdEMDEqDQorRzU0RDI0NypYNDU1ODgyWTEyMzAwMEQwMipYNDUzNTAwWTEyMDYxOEQwMSoNCitYNDYzNTAwWTkyNTA4RDAzKg0KK0QwMyoNCitEMDMqDQorRDAzKg0KK1kxMTQwMDBEMDMqDQorRDAzKg0KK1k5MjUwOEQwMipYNDYxMDU5WTkzNDkyRDAxKg0KK1g0NjM1MDBZOTI1MDhEMDIqWDQ2MTA1OUQwMSoNCitYNDYzNTAwRDAyKlg0NjEwNTlEMDEqDQorWDQ2MzUwMEQwMSoNCitYNDYxMDU5RDAyKlg0NjM1MDBEMDEqDQorWTg0MDAwRDAxKg0KK1g0NzM1NTlZOTI1MDhEMDIqWTg0MDAwRDAxKg0KK1g0NTM1MDBZOTA1NTlEMDIqWTg0MDAwRDAxKg0KK1g0NTU5NDFZOTMwMDBEMDIqWDQ1MzUwMFk5MDU1OUQwMSoNCitYNDY4NDQxWTkyNTA4RDAyKlg0NjM1MDBEMDEqDQorRzU0RDI0NSpYNDY4MzgyWTEwNjAwOEQwMipYNDQ4NzUwRDAxKg0KK1kxMDg0NTNEMDIqWTEwNjAwOEQwMSoNCitZMTA4NDUzRDAyKlg0NDAwMDBEMDEqDQorRzU0RDI0NypYNDYzNTAwWTEyMjUwOEQwMyoNCitEMDMqDQorRDAzKg0KK1kxMTQwMDBEMDEqDQorWTEyMjUwOEQwMyoNCitYNDYxMDAwRDAxKg0KK1g0NjM1MDBEMDIqWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBZMTIzNDkyRDAxKg0KK1kxMjI1MDhEMDIqWDQ2MzUwMEQwMSoNCitYNDYxMDAwRDAyKlg0NjM1MDBEMDEqDQorWDQ2ODQ0MUQwMipYNDYzNTAwRDAxKg0KK1g0NTM1MDBZMTIwNjE4RDAyKlkxMTQwMDBEMDEqDQorWDQ3MzUwMEQwMipZMTA2OTkyRDAxKg0KK1g0NzM1NTlZMTIyNTA4RDAyKlkxMTQwMDBEMDEqDQorWDQ3MzUwMEQwMSoNCitYODU0NDFZNDc1MDBEMDIqWDc5ODgyRDAxKg0KK1g3NzQ0MVk0OTk0MUQwMSoNCitYNzY5NDlZNTUwNTlEMDIqWDc5MzkwWTU3NTAwRDAxKg0KK1g4NTQ0MUQwMSoNCitYMTA2OTQ5WTU1MDU5RDAyKlgxMDkzOTBZNTc1MDBEMDEqDQorWDEwODk0MVk0NzUwMEQwMipYMTA3NDQxWTQ5MDAwRDAxKg0KK1gxMDkzOTBZNTc1MDBEMDIqWDExNTQ0MUQwMSoNCitZNDc1MDBEMDIqWDEwODk0MUQwMSoNCitHNTREMjQ2Klg4NTQ0MVk2NzUwMEQwMipYMTA5OTQxWTkyMDAwRDAxKg0KK0c1NEQyNDcqWDEzNjk0OVk0OTk0MUQwMipYMTM5MzkwWTQ3NTAwRDAxKg0KK1gxNDU0NDFEMDEqDQorWDE2Njk0OVk0OTk0MUQwMipYMTY5MzkwWTQ3NTAwRDAxKg0KK1gxNzU0NDFEMDEqDQorWDE0NTQ0MVk1NzUwMEQwMipYMTM5ODgyRDAxKg0KK1gxMzc0NDFZNTUwNTlEMDEqDQorWDE2Njk0OUQwMipYMTY5MzkwWTU3NTAwRDAxKg0KK1gxNzU0NDFEMDEqDQorWDE5Njk0OVk1NTA1OUQwMipYMTk5MzkwWTU3NTAwRDAxKg0KK1gyMDU0NDFEMDEqDQorWDE5Njk0OVk0OTk0MUQwMipYMTk5MzkwWTQ3NTAwRDAxKg0KK1gyMDU0NDFEMDEqDQorWDIyNjk0OVk0OTk0MUQwMipYMjI5MzkwWTQ3NTAwRDAxKg0KK1gyMzU0NDFEMDEqDQorWDIyNjk0OVk1NTA1OUQwMipYMjI5MzkwWTU3NTAwRDAxKg0KK1gyMzU0NDFEMDEqDQorWDI1Njk0OVk1NTA1OUQwMipYMjU5MzkwWTU3NTAwRDAxKg0KK1gyNjU0NDFEMDEqDQorWDI1Njk0OVk0OTk0MUQwMipYMjU5MzkwWTQ3NTAwRDAxKg0KK1gyNjU0NDFEMDEqDQorWDI4Njk0OVk0OTk0MUQwMipYMjg5MzkwWTQ3NTAwRDAxKg0KK1gyOTU0NDFEMDEqDQorWDI4Njk0OVk1NTA1OUQwMipYMjg5MzkwWTU3NTAwRDAxKg0KK1gyOTU0NDFEMDEqDQorRzU0RDI0NipZNjc1MDBEMDIqWDI3NTk0MUQwMSoNCitYMTE1NDQxRDAyKlkxMjA1MDBEMDEqDQorWDE1NDk0MVkxMzA1MDBEMDIqWDE1MzQ0MVkxMzIwMDBEMDEqDQorWDE1MTk0MUQwMSoNCitYMTE1NDQxWTEyMDUwMEQwMipYMTE0NDQxWTEyMTUwMEQwMSoNCitYMTA5OTQxWTkyMDAwRDAyKlkxMzA1MDBEMDEqDQorWDExMTk0MVkxMzI1MDBEMDEqDQorWDExNTQ0MUQwMSoNCitYMTQ1NDQxWTY3NTAwRDAyKlkxMTQ1MDBEMDEqDQorWDE1MjQ0MVkxMjE1MDBEMDEqDQorWDE3NTQ0MVk2NzUwMEQwMipYMTU0OTQxWTg4MDAwRDAxKg0KK1kxMzA1MDBEMDEqDQorWDIzNTQ0MVk2NzUwMEQwMipYMTk4NDQxWTEwNDUwMEQwMSoNCitYMjY1NDQxWTY3NTAwRDAyKlgyMzQ0NDFZOTg1MDBEMDEqDQorWTEyMjUwMEQwMSoNCitYMjc1OTQxWTY3NTAwRDAyKlgyMzc0NDFZMTA2MDAwRDAxKg0KK1kxMzE1MDBEMDEqDQorWDIzNTk0MVkxMzMwMDBEMDEqDQorWDE5ODQ0MVkxMDQ1MDBEMDIqWTEyMjUwMEQwMSoNCitYMTkwOTQxWTgyMDAwRDAyKlkxMzAwMDBEMDEqDQorWDE5Mzk0MVkxMzMwMDBEMDEqDQorWDE5NTQ0MUQwMSoNCitYMjA1NDQxWTY3NTAwRDAyKlgxOTA5NDFZODIwMDBEMDEqDQorRzU0RDI0NSpYNDU5OTQxWTM3NjUwMEQwMipYNDU4NDQxWTM3NTAwMEQwMSoNCitHNTREMjQ3Klg0NjM1MDBZMzg0MDAwRDAzKg0KK0QwMyoNCitYNDczNTAwWTM5MzQ5MkQwMipYNDczNTU5RDAxKg0KK1g0NjM1MDBZMzYyNTA4RDAzKg0KK1g0NzM1MDBZMzYzNDkyRDAyKlg0NzM1NTlEMDEqDQorWDQ2MzUwMFkzNjI1MDhEMDIqWDQ2MTA1OVkzNjM0OTJEMDEqDQorWTM2MjUwOEQwMipYNDYzNTAwRDAxKg0KK1g0NjEwNTlEMDIqWDQ2MzUwMEQwMSoNCitZMzkyNTA4RDAzKg0KK0QwMyoNCitEMDMqDQorWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMipYNDYxMDAwWTM5MzQ5MkQwMSoNCitZMzkyNTA4RDAyKlg0NjM1MDBEMDEqDQorWDQ2MTAwMEQwMipYNDYzNTAwRDAxKg0KK1kzNTQwMDBEMDMqDQorWDQ3MzYxOEQwMipZMzQ2MDA4RDAxKg0KK1kzNTQwMDBEMDIqWDQ3MzUwMEQwMSoNCitHNTREMjQ1Klg0NjgzODJZMzc2NTAwRDAyKlg0NTk5NDFEMDEqDQorWDQyMTgyM1kzMTYwMDhEMDIqWDQyMDM0N0QwMSoNCitZMzE0NTMyRDAxKg0KK1g0MDIyNTBEMDEqDQorWDQzNzQzM1kzMTEzODJEMDIqWDQwNDI1MEQwMSoNCitYNDMxODgyWTMwNTQ2OEQwMyoNCitYNDIxODgyRDAxKg0KK1g0MzE4ODJEMDIqWTMwMTUwOEQwMSoNCitYNDIxODgyWTMwNTQ2OEQwMipZMzAyNDkyRDAxKg0KK0c1NEQyNDcqWDQxODk0MVkzMDIwMDBEMDIqWDQxNzAwMFkzMDAwNTlEMDEqDQorWTMwMDUwMEQwMipYNDE0NTAwWTMwMzAwMEQwMSoNCitYNDIxODgyWTMwMjAwMEQwMipYNDE4OTQxRDAxKg0KK0c1NEQyNDUqWDQ1OTk0MVkzMTY1MDBEMDIqWDQ1ODQ0MVkzMTUwMDBEMDEqDQorWDQ2ODM4MlkzMTY1MDBEMDIqWDQ1OTk0MUQwMSoNCitHNTREMjQ3Klg0NjM1MDBZMzAyNTA4RDAzKg0KK0QwMyoNCitEMDMqDQorWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMSoNCitYNDYxMDAwRDAyKlg0NjM1MDBEMDEqDQorWDQ2MTAwMFkzMDM0OTJEMDEqDQorWDQ3MzUwMEQwMipYNDczMDAwRDAxKg0KK1g0NjM1MDBZMzI0MDAwRDAzKg0KK0QwMyoNCitYNDM3NDMzWTMxNjUwMEQwMyoNCitEMDMqDQorWDQzNzAwMFkzMjQwMDBEMDIqWTMxNjUwMEQwMSoNCitZMzI0MDAwRDAzKg0KK1g0MjcwMDBZMzE2OTkyRDAyKlg0MjY5NDFEMDEqDQorWDQyNzAwMFkzMjQwMDBEMDIqWTMxNjk5MkQwMSoNCitEMDMqDQorWDQyNjk0MUQwMipYNDI3MDAwRDAxKg0KK1g0MjY5NDFEMDIqWDQyNzAwMEQwMSoNCitEMDMqDQorWDQzNzAwMFkzMjQwMDBEMDMqDQorWDQyNzAwMEQwMyoNCitEMDMqDQorWDQzNzAwMEQwMyoNCitYNDI3MDAwRDAzKg0KK1g0MTcwMDBEMDIqWTMzMDUwMEQwMSoNCitHNTREMjQ1Klg0NTk5NDFZMjg2NTAwRDAyKlg0NTg0NDFZMjg1MDAwRDAxKg0KK0c1NEQyNDcqWDQ2MzUwMFkyOTQwMDBEMDMqDQorRDAzKg0KK0c1NEQyNDUqWDQ2ODM4MlkyODY1MDBEMDIqWDQ1OTk0MUQwMSoNCitHNTREMjQ3Klg0NjM1MDBZMjcyNTA4RDAzKg0KK0QwMyoNCitEMDMqDQorWDQ2MTAwMEQwMSoNCitYNDYzNTAwRDAyKlg0NjEwMDBEMDEqDQorWDQ2MzUwMEQwMSoNCitYNDYxMDAwRDAyKlg0NjM1MDBEMDEqDQorWDQ1NTg4MlkyNzMwMDBEMDIqWDQ1MzUwMFkyNzA2MThEMDEqDQorWDQ2MzUwMFkyNzI1MDhEMDIqWDQ2MTAwMFkyNzM0OTJEMDEqDQorWDQ3MzUwMEQwMipYNDczNjc3RDAxKg0KK1kyNzI1MDhEMDIqWDQ3MzUwMEQwMSoNCitHNTREMjQ1Klg0Mzc0OTJZMjgxNDQxRDAyKlgzOTQzOTdEMDEqDQorWDQyMTgyM1kyODg0NjhEMDIqWDQwMjI1MEQwMSoNCitZMjkyODM5RDAyKlkyODg0NjhEMDEqDQorWDM5NDM5N1kyODYwODNEMDIqWTI4MTQ0MUQwMSoNCitYNDMxODgyWTI3NTQ2OEQwMyoNCitYNDIxODgyRDAxKg0KK1kyNzI0OTJEMDEqDQorRzU0RDI0NypYNDM3NDkyWTI4NjU1OUQwMyoNCitEMDMqDQorWDQzNzAwMFkyOTQwMDBEMDMqDQorWTI4NjU1OUQwMSoNCitZMjk0MDAwRDAzKg0KK0QwMyoNCitYNDI3MDAwWTI4Njk5MkQwMipYNDI2OTQxRDAxKg0KK1g0MjcwMDBZMjk0MDAwRDAyKlkyODY5OTJEMDEqDQorRDAzKg0KK1g0MjY5NDFEMDIqWDQyNzAwMEQwMSoNCitYNDI2OTQxRDAyKlg0MjcwMDBEMDEqDQorRDAzKg0KK0c1NEQyNDUqWDQzMTg4MlkyNzU0NjhEMDIqWTI3MTUwOEQwMSoNCitHNTREMjQ3Klg0MjcwMDBZMjk0MDAwRDAzKg0KK0QwMyoNCitEMDMqDQorWDQxNzAwMEQwMipZMzAwNTAwRDAxKg0KK0c1NEQyNDUqWDQyMTgyM1kyODg0NjhEMDIqWTI4NjAwOEQwMSoNCitHNTREMjQ3Klg0MTg1MDBZMjcyMDAwRDAyKlg0MTcwMDBZMjcwNTAwRDAxKg0KK1g0MjE4ODJZMjcyMDAwRDAyKlg0MTg1MDBEMDEqDQorWDQxNzAwMFkyNzA1NTlEMDIqWDQxNDU1OVkyNzMwMDBEMDEqDQorWDQwOTQ0MUQwMipYNDA3MDAwWTI3MDU1OUQwMSoNCitHNTREMjQ2KlgzMDc3MTZZMjc1MDc1RDAyKlgyMjE3NTZEMDEqDQorWDI2ODczNVkyODAyOTREMDIqWDI1OTg3MEQwMSoNCitYMjU1MjIxWTI3ODU5MEQwMipYMjcyMTQxRDAxKg0KK1gyNzU4MTVZMjgyMjYzRDAxKg0KK1gyOTk4NTJZMjc2Njc1RDAyKlgyNDgzOTBEMDEqDQorWDI0NTU1N1kyNzk1MDhEMDEqDQorWDMwODk5MlkyNzE5NzFEMDIqWDIyMzg2OEQwMSoNCitYMzA4ODcyWTI2NjUyMkQwMipYMzA4MDgzWTI2NTczM0QwMSoNCitYMjYyNzUwWTI2ODc3MkQwMipYMjYzNDkzWTI2OTUxNUQwMSoNCitYMzA4ODcyWTI2NjUyMkQwMipYMzA3OTMwWTI2NTU4MEQwMSoNCitYMjIwNzI5RDAxKg0KK1gyNjM0OTNZMjY5NTE1RDAyKlgzMTQ2NDVEMDEqDQorWDI5MzkwMlkyODIyNjNEMDIqWDI3NTgwNEQwMSoNCitYMjc1ODE1RDAyKlgyNzY4NDJEMDEqDQorWDMwMDgxNFkyNzc2MzdEMDIqWDI5OTg1MlkyNzY2NzVEMDEqDQorWDI0NTU1N1kyNzk1MDhEMDIqWDI0NzIxNlkyNzc4NDlEMDEqDQorWDIyMjg4NFkyNTUwMDBEMDIqWDI3NTQ0MUQwMSoNCitYMjkxNDQxWTIzOTAwMEQwMSoNCitYMjI0NDQxWTI1MjAwMEQwMipYMjc1NDQxRDAxKg0KK1gyMjY0NDFZMjUwMDAwRDAyKlgyNzUxNzhEMDEqDQorWDI3NDE5MVkyNDgyNTBEMDIqWDIzMTY5MUQwMSoNCitYMjU0NzQwWTI5ODMyOUQwMipZMjk1ODI5RDAxKg0KK1gyNjY0MTNZMjk2NTk0RDAyKlgyNjY4OTZZMjk2MTExRDAxKg0KK1gyNjk2NTNZMjk4NjMxRDAyKlgyNzIxNjVZMjk2MTE5RDAxKg0KK1gyNzMyMjlZMjk4NTgyRDAyKlgyNzE5NDZZMjk5ODY2RDAxKg0KK1gyNTQ3NDBZMjk1ODI5RDAyKlgyNjEyNDBZMjg5MzI5RDAxKg0KK1gyNjAzNDFZMjg0MjQ5RDAyKlgyNTc4NDVZMjg2NzQ1RDAxKg0KK1gyNjAyNTNZMjg4MDY0RDAyKlgyNTk4NjREMDEqDQorWDI1NjgxOFkyOTExMTBEMDEqDQorWDI2NDAzNFkyODQyODNEMDIqWDI2MDI1M1kyODgwNjREMDEqDQorWDI1OTg3MFkyODAyOTREMDIqWDI1Njk5NlkyODMxNjhEMDEqDQorWDI1NzAzMVkyOTA4OTdEMDIqWDI1MjEwNVkyOTU4MjNEMDEqDQorWTMwMTc3MUQwMSoNCitYMjU3ODUwWTI4Njc0MEQwMipYMjUwMzQ4WTI5NDI0MkQwMSoNCitZMzAxNjg3RDAxKg0KK1kzMDE4NDZEMDIqWTMwMjI3N0QwMSoNCitYMjU2OTk2WTI4MzE2OEQwMipYMjUxNDEyRDAxKg0KK1gyNjEyNDBZMjg5MzI5RDAyKlgyNjg4NDlEMDEqDQorWDI2MzI0MFkyOTUzMjlEMDIqWDI2NDU2OFkyOTQwMDBEMDEqDQorWDI2NjQ0MUQwMSoNCitYMjY2MDIwWTI5MTI4M0QwMipYMjY1NDc0WTI5MTgyOUQwMSoNCitYMjYyNzQwRDAxKg0KK1gyNjg4NDlZMjg5MzI5RDAyKlgyNzAxNzhZMjg4MDAwRDAxKg0KK1gyNjY0MTNZMjk2NTk0RDAyKlgyNjg1MDhZMjk0NDk5RDAxKg0KK1gyNjY0NDFZMjk0MDAwRDAyKlgyNjc1NThZMjkyODgzRDAxKg0KK1gyNzA0NDFZMjkwMDAwRDAyKlgyNjkxNThZMjkxMjgzRDAxKg0KK1gyNjYwMjBEMDEqDQorWDI3OTQ0MVkyODUwMDBEMDIqWDI3MzQ0MUQwMSoNCitYMjY4NzM1WTI4MDI5NEQwMSoNCitYMjIxODA0WTI3NTA3NUQwMipYMjIxNDkzRDAxKg0KK1gyMTc0NDFZMjc5MDAwRDAxKg0KK1gyMjM5NDFZMjcxOTcxRDAyKlgyMTk5NzBEMDEqDQorWDIxOTQ0MVkyNzI1MDBEMDEqDQorWDI1MDU1M1kyODA3NzZEMDIqWDI0OTc1M0QwMSoNCitYMjUwNTU0RDAyKlgyNTMwMzVEMDEqDQorWDI0NzI1M1kyNzc4MTJEMDIqWDI0ODM5MFkyNzY2NzVEMDEqDQorWDI1MzAzNVkyODA3NzZEMDIqWDI1NTIyMVkyNzg1OTBEMDEqDQorWDI4NzkxN1kzMDI5NTdEMDIqWTMwNzgyOUQwMSoNCitYMjk2Nzc5WTMwNDk2M0QwMipYMjk0NzczWTMwMjk1N0QwMSoNCitYMjkzMDM1RDAxKg0KK1gyNzgyMjRZMjk4NTE3RDAyKlkzMDMwNjNEMDEqDQorWDI3NTcyNFkyOTczNjNEMDIqWTMwMTQ5NEQwMSoNCitYMjczNjM0WTMwMzU4NUQwMSoNCitYMjc4MjI0WTMwMzA2M0QwMipYMjg1NDk0WTMxMDMzM0QwMSoNCitYMjc3MTc0WTMwODIxOUQwMipYMjgwOTc2WTMxMjAyMkQwMSoNCitYMjkzNDQxWTI5NjExMUQwMipYMzA1MzMwWTMwODAwMEQwMSoNCitYMzA1OTkzWTMwNjQwMEQwMipYMjkyNDc2WTI5Mjg4M0QwMSoNCitYMjcyMTY1WTI5NjExOUQwMipYMjc0NDgwRDAxKg0KK1gyNzU3MjRZMjk3MzYzRDAxKg0KK1gyNjg1MDhZMjk0NDk5RDAyKlgyODEwOTFEMDEqDQorWDI4MjcwMlkyOTYxMTFEMDEqDQorWDI5MzQ0MUQwMSoNCitYMjY3NTU4WTI5Mjg4M0QwMipYMjkyNDc2RDAxKg0KK1gzMzU2NzNZMjc5NjAyRDAyKlgzNTg4MzlEMDEqDQorWDMwMDEwNFkyNzc2MzdEMDIqWDM1ODU0MUQwMSoNCitYMzY4MTcwWTI4MTI3MUQwMipYMzI0OTIyRDAxKg0KK1gyNzgyMjVZMjc5NjAyRDAyKlgzMzU3NTdEMDEqDQorWDMyNDkyMlkyODEyNzFEMDIqWDMxODE5M1kyODgwMDBEMDEqDQorWDI3MDE3OEQwMipYMzE4MTkzRDAxKg0KK1gyNzA0NDFZMjkwMDAwRDAyKlgzMTk1MjVEMDEqDQorWDMyNjIzN1kyODMyODhEMDEqDQorWDM3MDE1M0QwMSoNCitYMzE0NDQxWTI2OTUxNUQwMipYMzYyMzE1RDAxKg0KK1gyOTE0NDFZMjM5MDAwRDAyKlgzNjA0NDFEMDEqDQorWDI3NTQ0MVkyNTIwMDBEMDIqWDI5MTQ0MVkyMzYwMDBEMDEqDQorWDI3NTE3OFkyNTAwMDBEMDIqWDI5MjIwN1kyMzI5NzFEMDEqDQorWDI5MTA5MlkyMzEzNDlEMDIqWDI3NDE5MVkyNDgyNTBEMDEqDQorWDM2OTQ0MVkzMTIwMDBEMDIqWDM2Mzg0MVkzMDY0MDBEMDEqDQorWDM2MjQ0MVkzMDgwMDBEMDIqWDM2ODQ0MVkzMTQwMDBEMDEqDQorWDM1ODc3NFkzMTAzMzNEMDIqWDM2NzQ0MVkzMTkwMDBEMDEqDQorWDMwNTk5M1kzMDY0MDBEMDIqWDM2Mzg0MUQwMSoNCitYMzA1MzMwWTMwODAwMEQwMipYMzYyNDQxRDAxKg0KK1gyODU0OTRZMzEwMzMzRDAyKlgzNTg3NzREMDEqDQorWDI4MDk3NlkzMTIwMjJEMDIqWDM1NjQ2M0QwMSoNCitYMzYzNDQxWTMxOTAwMEQwMSoNCitYMjc4NjYxWTMxNTQzNEQwMipYMzQ1MjE2RDAxKg0KK1gzNTQ1ODdEMDIqWDM0NTAwN0QwMSoNCitYMzYxNjk4WTMyMDE0MEQwMipYMzU1MTg4WTMxMzYzMUQwMSoNCitYMzYwMDEzWTMyMDg2MEQwMipYMzU0NTg3WTMxNTQzNEQwMSoNCitYMjc5MTIxWTMxMzYzMUQwMipYMzU1MTg4RDAxKg0KK0c1NEQyNDgqWDExODY5OVkzMjc3MjlEMDIqWTMwODgyOUQwMSoNCitHNTREMjQ3KlgxMjc3OTlZMzI3NzI5RDAyKlkzMTA4NThEMDEqDQorWDEyNTk0MVkzMDkwMDBEMDEqDQorRzU0RDI0OSpYMTI0ODMxWTMwMjM4NUQwMipYMTIwNTU2RDAxKg0KK1gxMTg3OTlZMzA0MTQyRDAxKg0KK0c1NEQyNTAqWTMwODgyOUQwMSoNCitHNTREMjQ2KlgxMzU3MjRZMzc0OTM5RDAyKlgxNDI3MTJZMzgxOTI3RDAxKg0KK1gxNzYxMDZEMDEqDQorWDE4MDY3MlkzNzczNjFEMDEqDQorWTM2MTc2OUQwMSoNCitYMjIyNDQxWTMyMDAwMEQwMipYMTgwNjcyWTM2MTc2OUQwMSoNCitYMTg3NzEyWTM0MjgxOEQwMipYMTc4ODg3RDAxKg0KK1gyMTg4MTZZMzE2OTk3RDAyKlgxOTEzNjNZMzQ0NDQ5RDAxKg0KK1gyNjgwNTNZMzE3NjQ2RDAyKlkzMjMzNDNEMDEqDQorWDI2NjQ1M1kzMTgzODJEMDIqWTMyNDAwNkQwMSoNCitYMjk1NjY5WTM1MzIyMkQwMSoNCitYMjY4MDUzWTMyMzM0M0QwMipYMjk2MjQ0WTM1MTUzNEQwMSoNCitYMjk1NjY5WTM1MzIyMkQwMipYMzI4NDQyRDAxKg0KK1gzMzk4MzdZMzQxODI3RDAxKg0KK1gyOTYyNDRZMzUxNTM0RDAyKlgzMjY4ODZEMDEqDQorWDMzODg5OVkzMzk1MjFEMDEqDQorWDM1MzM5MEQwMSoNCitYMjQ5MTAxWTMyODc5M0QwMipYMjI5ODE4WTM0ODA3NUQwMSoNCitZMzU0OTg4RDAxKg0KK1gyNTIxMDVZMzAxNjk4RDAyKlgyNjgwNTNZMzE3NjQ2RDAxKg0KK1gyNTAzNDhZMzAyMjc3RDAyKlgyNjY0NTNZMzE4MzgyRDAxKg0KK1gyNzM2MzRZMzAzNTg1RDAyKlkzMDgxNDREMDEqDQorWDI3OTEyMVkzMTM2MzFEMDEqDQorWDI3MTk0NlkyOTk4NjZEMDIqWTMwODcxOEQwMSoNCitZMzA4NzE5RDAyKlkzMDg1MDVEMDEqDQorWDI3ODY2MVkzMTU0MzREMDIqWDI3MTk0NlkzMDg3MTlEMDEqDQorWDI2MzQ0MVkzMjAwMDBEMDIqWDIyMjQ0MUQwMSoNCitYMjQ5NzUzWTI4MDc3NkQwMipYMTg3NzEyWTM0MjgxOEQwMSoNCitYMjYwNTY4WTMxNjk5N0QwMipYMjE4ODE2RDAxKg0KK1gyNjQwMzRZMjgyOTMxRDAyKlkyODQyODNEMDEqDQorWDI0MDM5MVkyNzg1NjREMDIqWDIzMDQ0MVkyODg1MTREMDEqDQorWTI5MzAwMEQwMSoNCitYMjUxNDEyWTI4MzE2OEQwMipYMjQ2NzMxWTI4Nzg1MEQwMSoNCitZMzAzMDMxRDAxKg0KK0c1NEQyNDcqWDIwMzQ0MVkyNTQyMDBEMDIqWTIzNzAwMEQwMSoNCitHNTREMjQ2KlgyMjE4ODRZMjU0MDAwRDAyKlgyMjI4ODRZMjU1MDAwRDAxKg0KK0c1NEQyNDcqWDE5NDQ0MVkyNTQyMDBEMDIqWDE4ODY0MUQwMSoNCitYMTgzNTQxWTI0OTEwMEQwMSoNCitZMjQyNDQzRDAxKg0KK1gxNzgzODREMDEqDQorWDE2NTk0MVkyMzAwMDBEMDEqDQorRzU0RDI0NipYMjI1NDQxWTI0OTAwMEQwMipYMjI2NDQxWTI1MDAwMEQwMSoNCitYMjMxNjkxWTI0ODI1MEQwMipYMjMwNDQxWTI0NzAwMEQwMSoNCitHNTREMjQ3KlgyMDM0NDFZMjU0MjAwRDAyKlgyMDQ5OThZMjU1NzU3RDAxKg0KK1kyNjI5MDBEMDEqDQorWDIwMzQ0MVkyNTQyMDBEMDIqWDE5OTk0MVkyNTc3MDBEMDEqDQorWTI2MTAwMEQwMSoNCitYMjEyMDg0WTI2MjkwMEQwMipYMjEyNTQxWTI2MjQ0M0QwMSoNCitYMjEyMDg0WTI2MzI5M0QwMipYMjE2NjQ4RDAxKg0KK1gyMjA0NDFZMjU5NTAwRDAxKg0KK1gyMTI1NDFZMjYyNDQzRDAyKlkyNTA5MDBEMDEqDQorWDIwNDk5OFkyNjI5MDBEMDIqWDIwNTY4MVkyNjM1ODNEMDEqDQorWTI2ODgyOUQwMSoNCitYMjEyMDg0WTI2ODAzNkQwMipZMjYyOTAwRDAxKg0KK1gyMDQ5OThZMjYzMjkzRDAyKlgyMDQ3MDVZMjYzMDAwRDAxKg0KK1gyMDU0NDFZMjY5NTYxRDAyKlkyNzM1MDBEMDEqDQorWDIwNDcwNVkyNjMwMDBEMDIqWDE5NDQ0MUQwMSoNCitYMjEwNzk5WTI2OTMyMUQwMipYMjEyMDg0WTI2ODAzNkQwMSoNCitYMjA1NjgxWTI2OTMyMUQwMipYMjA1MzYwWTI2OTAwMEQwMSoNCitYMjAwOTQxRDAxKg0KK1gyMDU2ODFZMjY5MzIxRDAyKlgyMDU0NDFZMjY5NTYxRDAxKg0KK0c1NEQyNTEqWDQxNzAwMFkzODQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitZMzU0MDAwRDAzKg0KK1g0MjcwMDBZMzg0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorWTM1NDAwMEQwMyoNCitHNTREMjQ0KkczNioNCitYNDAzNzUwWTM1NzI1MEQwMipZMzUwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTM1NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHNTREMjUyKlgzNDU3OTlZMzU3MzI5RDAzKg0KK0c1NEQyNTMqWDMxNTc5OVkzMzczMjlEMDMqDQorRzU0RDI1MipYODU3OTlZMzY5ODI5RDAzKg0KK0c1NEQyNTQqWDEwNTc5OVkzNzQ4MjlEMDMqDQorRzU0RDI0NCpHMzYqDQorWDEwMjQ5OVkzNjgxMjlEMDIqWTM2MTUyOUQwMSoNCitYMTA5MDk5RDAxKg0KK1kzNjgxMjlEMDEqDQorWDEwMjQ5OUQwMSoNCitHMzcqDQorRzU0RDI1NCpYMTE1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxMjU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDEzNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitHNTREMjU1Klg5MzI5OVkzNDIzMjlEMDMqDQorRzU0RDI1NCpYMTQ1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDE2NTc5OUQwMyoNCitYMTU1Nzk5WTM3NDgyOUQwMyoNCitYMTY1Nzk5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gyMDU3OTlEMDMqDQorWDE3NTc5OVkzNjQ4MjlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gyMDU3OTlEMDMqDQorWDIxNTc5OVkzNzQ4MjlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyMTU3OTlZMzY0ODI5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitYMjQ1Nzk5WTM3NDgyOUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWDI3NTc5OUQwMyoNCitZMzY0ODI5RDAzKg0KK1gyODU3OTlZMzc0ODI5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorWDI4NTc5OVkzNjQ4MjlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitHNTREMjQ0KkczNioNCitYNDUwMjUwWTI2NzI1MEQwMipZMjYwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTI2NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIwNzI1MEQwMipZMjAwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTIwNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzI1MEQwMipZMTcwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTE3NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjUxKlg0NjM1MDBZMjY0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMTQ0MDAwRDAzKg0KK1kxMTQwMDBEMDMqDQorWTg0MDAwRDAzKg0KK1g0NzM1MDBZMjY0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMTQ0MDAwRDAzKg0KK1kxMTQwMDBEMDMqDQorWTg0MDAwRDAzKg0KK0c1NEQyNDQqRzM2Kg0KK1g0NTAyNTBZMjM3MjUwRDAyKlkyMzA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMjM3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDQ2MzUwMFkyMzQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjQ0KkczNioNCitYNDUwMjUwWTE0NzI1MEQwMipZMTQwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTE0NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTExNzI1MEQwMipZMTEwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTExNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTg3MjUwRDAyKlk4MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1k4NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTU3MjUwRDAyKlk1MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1k1NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjUxKlg0NjM1MDBZNTQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjQ0KkczNioNCitYNDUwMjUwWTMyNzI1MEQwMipZMzIwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTMyNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjUxKlg0NjM1MDBZMzI0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDI0NCpHMzYqDQorWDQ1MDI1MFkyOTcyNTBEMDIqWTI5MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kyOTcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDI1MSpYNDYzNTAwWTI5NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK1g0MzcwMDBZMzI0MDAwRDAzKg0KK0c1NEQyNDQqRzM2Kg0KK1gzMDkxOTFZMjUyMjUwRDAyKlkyNDU3NTBEMDEqDQorWDMxNTY5MUQwMSoNCitZMjUyMjUwRDAxKg0KK1gzMDkxOTFEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDMyMjQ0MVkyNDkwMDBEMDMqDQorWDMzMjQ0MUQwMyoNCitYMzQyNDQxRDAzKg0KK0c1NEQyNTIqWDM0NTc5OVkxOTIzMjlEMDMqDQorRzU0RDI0NCpHMzYqDQorWDQ1MDI1MFkzODcyNTBEMDIqWTM4MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kzODcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDI1MSpYNDYzNTAwWTM4NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyNDQqRzM2Kg0KK1g0MDM3NTBZMzg3MjUwRDAyKlkzODA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMzg3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjk3MjUwRDAyKlkyOTA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMjk3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMzI3MjUwRDAyKlkzMjA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMzI3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDQxNzAwMFkzMjQwMDBEMDMqDQorWDQyNzAwMEQwMyoNCitHNTREMjQ0KkczNioNCitYNDUwMjUwWTM1NzI1MEQwMipZMzUwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTM1NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjUxKlg0MzcwMDBZMzU0MDAwRDAzKg0KK1g0NjM1MDBEMDMqDQorWDQ3MzUwMEQwMyoNCitYNDM3MDAwWTM4NDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorRzU0RDI0NCpHMzYqDQorWDQwMzc1MFkxNzcyNTBEMDIqWTE3MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kxNzcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDcyNTBEMDIqWTIwMDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyMDcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMzcyNTBEMDIqWTIzMDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyMzcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNjcyNTBEMDIqWTI2MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyNjcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzU0RDI1MSpYNDE3MDAwWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitYNDI3MDAwWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitHNTREMjQ0KkczNioNCitYMjAyMTkxWTUwNzUwRDAyKlk0NDI1MEQwMSoNCitYMjA4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjAyMTkxRDAxKg0KK0czNyoNCitHNTREMjUxKlgyMDU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK0c1NEQyNDQqRzM2Kg0KK1gyMzIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyMzg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyMzIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDIzNTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorRzU0RDI0NCpHMzYqDQorWDI2MjE5MVk1MDc1MEQwMipZNDQyNTBEMDEqDQorWDI2ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDI2MjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzIxOTFEMDIqWTQ0MjUwRDAxKg0KK1gxNzg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gxNzIxOTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTQyMTkxRDAyKlk0NDI1MEQwMSoNCitYMTQ4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMTQyMTkxRDAxKg0KK0czNyoNCitHMzYqDQorWDExMjE5MUQwMipZNDQyNTBEMDEqDQorWDExODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDExMjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1g4MjE5MUQwMipZNDQyNTBEMDEqDQorWDg4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYODIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDI2NTQ0MVk1NzUwMEQwMyoNCitYMTc1NDQxRDAzKg0KK1gxNDU0NDFEMDMqDQorWDExNTQ0MUQwMyoNCitYODU0NDFEMDMqDQorWDI2NTQ0MVk2NzUwMEQwMyoNCitYMTc1NDQxRDAzKg0KK0c1NEQyNDQqRzM2Kg0KK1gyOTIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyOTg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyOTIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyNTEqWDI5NTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorWDE0NTQ0MUQwMyoNCitYMTE1NDQxRDAzKg0KK1g4NTQ0MUQwMyoNCitHNTREMjUyKlg4NTc5OVkxNzk4MjlEMDMqDQorRzU0RDI1NCpYMTA1Nzk5WTE4NDgyOUQwMyoNCitHNTREMjQ0KkczNioNCitYMTAyNDk5WTE3ODEyOUQwMipZMTcxNTI5RDAxKg0KK1gxMDkwOTlEMDEqDQorWTE3ODEyOUQwMSoNCitYMTAyNDk5RDAxKg0KK0czNyoNCitHNTREMjU0KlgxMTU3OTlZMTg0ODI5RDAzKg0KK1kxNzQ4MjlEMDMqDQorWDEyNTc5OVkxODQ4MjlEMDMqDQorWTE3NDgyOUQwMyoNCitHNTREMjQ0KkczNioNCitYODIxOTFZMjQzMjUwRDAyKlkyMzY3NTBEMDEqDQorWDg4NjkxRDAxKg0KK1kyNDMyNTBEMDEqDQorWDgyMTkxRDAxKg0KK0czNyoNCitHNTREMjUxKlg4NTQ0MVkyMzAwMDBEMDMqDQorWTIyMDAwMEQwMyoNCitHNTREMjU0KlgxMzU3OTlZMTg0ODI5RDAzKg0KK1gxNDU3OTlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTM1Nzk5WTE3NDgyOUQwMyoNCitYMTQ1Nzk5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDE2NTc5OVkxODQ4MjlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDE2NTc5OVkxNzQ4MjlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorRzU0RDI0NCpHMzYqDQorWDE5MjQ5OVkyMDA2MjlEMDIqWTE5NDAyOUQwMSoNCitYMTk5MDk5RDAxKg0KK1kyMDA2MjlEMDEqDQorWDE5MjQ5OUQwMSoNCitHMzcqDQorRzU0RDI1NCpYMjA1Nzk5WTE5NzMyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjA1Nzk5WTE4NDgyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIwNTc5OVkxNzQ4MjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyMzU3OTlZMTg0ODI5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1kxNzQ4MjlEMDMqDQorWDI3NTc5OVkxODQ4MjlEMDMqDQorWDI4NTc5OUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK1gyNzU3OTlZMTc0ODI5RDAzKg0KK1gyODU3OTlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitHNTREMjU2KlgzOTQzOTdZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM5MTgzOFkxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzg5Mjc5WTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzODY3MjBZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM4NDE2MlkxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzgxNjAzWTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzNzkwNDRZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM3NjQ4NVkxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitHNTREMjU3Klg0NjEwMDBZMTUzNDkyRDAyKlkxNTI1MDhEMDEqDQorWDQ3MzUwMFkxNjY0OTJEMDIqWTE2NTUwOEQwMSoNCitYNDY4MzgyWTE2NjQ5MkQwMipZMTY1NTA4RDAxKg0KK1g0Njg0NDFZMTUzNDkyRDAyKlkxNTI1MDhEMDEqDQorWDQ1NTg4MlkxNTM0OTJEMDIqWTE1MjUwOEQwMSoNCitYNDI2OTQxWTE2Njk5MkQwMipZMTY2MDA4RDAxKg0KK1g0MjE4MjNZMTY2OTkyRDAyKlkxNjYwMDhEMDEqDQorWDQzNjQ0OVkxNjY1MDBEMDIqWDQzNzQzM0QwMSoNCitYNDM2NDQ5WTE2MTM4MkQwMipYNDM3NDMzRDAxKg0KK1g0NzM1NTlZMTUzNDkyRDAyKlkxNTI1MDhEMDEqDQorWDQ2MTAwMFkxMjM0OTJEMDIqWTEyMjUwOEQwMSoNCitYNDU1ODgyWTEyMzQ5MkQwMipZMTIyNTA4RDAxKg0KK1g0NzM1NTlZMTIzNDkyRDAyKlkxMjI1MDhEMDEqDQorWDQ2ODQ0MVkxMjM0OTJEMDIqWTEyMjUwOEQwMSoNCitYNDczNTU5WTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDY4NDQxWTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDYxMDU5WTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDU1OTQxWTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDczNTAwWTEwNjk5MkQwMipZMTA2MDA4RDAxKg0KK1g0NjgzODJZMTA2OTkyRDAyKlkxMDYwMDhEMDEqDQorWDQ3MzUwMFkxMzY0OTJEMDIqWTEzNTUwOEQwMSoNCitYNDY4MzgyWTEzNjQ5MkQwMipZMTM1NTA4RDAxKg0KK1gyODY5NDlZNDk5NDFEMDIqWDI4NzkzM0QwMSoNCitYMjU2OTQ5RDAyKlgyNTc5MzNEMDEqDQorWDIyNjk0OUQwMipYMjI3OTMzRDAxKg0KK1gxOTY5NDlEMDIqWDE5NzkzM0QwMSoNCitYMTY2OTQ5RDAyKlgxNjc5MzNEMDEqDQorWDI1Njk0OVk1NTA1OUQwMipYMjU3OTMzRDAxKg0KK1gyMjY5NDlEMDIqWDIyNzkzM0QwMSoNCitYMTk2OTQ5RDAyKlgxOTc5MzNEMDEqDQorWDE2Njk0OUQwMipYMTY3OTMzRDAxKg0KK1gyODY5NDlEMDIqWDI4NzkzM0QwMSoNCitYNDM0NDQ5WTY1NTU5RDAyKlg0MzU0MzNEMDEqDQorWDQzNDQ0OVk2MDQ0MUQwMipYNDM1NDMzRDAxKg0KK0c1NEQyNTYqWDQ0MjU1OVk4MzA3NUQwMipZNzg0NjlEMDEqDQorWDQ0MDAwMFk4MzA3NUQwMipZNzg0NjlEMDEqDQorRzU0RDI1OCpYNDM3NDQxWTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitHNTREMjU2Klg0MzQ4ODJZODMwNzVEMDIqWTc4NDY5RDAxKg0KK1g0MzIzMjRZODMwNzVEMDIqWTc4NDY5RDAxKg0KK1g0Mjk3NjVZODMwNzVEMDIqWTc4NDY5RDAxKg0KK1g0MjcyMDZZODMwNzVEMDIqWTc4NDY5RDAxKg0KK1g0MjQ2NDdZODMwNzVEMDIqWTc4NDY5RDAxKg0KK0c1NEQyNTcqWDQ0MDQ0OVk2NTU1OUQwMipYNDQxNDMzRDAxKg0KK1g0NDA0NDlZNjA0NDFEMDIqWDQ0MTQzM0QwMSoNCitHNTREMjU2Klg0MjQ2NDdZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQyNzIwNlkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDI5NzY1WTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0MzIzMjRZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQzNDg4MlkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDM3NDQxWTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0NDAwMDBZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQ0MjU1OVkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitHNTREMjU3Klg0NjEwNTlZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0NTU5NDFZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0Njg0NDFZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0NzM1NTlZNDY5OTJEMDIqWTQ2MDA4RDAxKg0KK1g0Njg0NDFZNDY5OTJEMDIqWTQ2MDA4RDAxKg0KK1g0NzM1NTlZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0NzM1MDBZNzY5OTJEMDIqWTc2MDA4RDAxKg0KK1g0NjgzODJZNzY5OTJEMDIqWTc2MDA4RDAxKg0KK1g0NjEwMDBZMzkzNDkyRDAyKlkzOTI1MDhEMDEqDQorWDQ1NTg4MlkzOTM0OTJEMDIqWTM5MjUwOEQwMSoNCitYNDYxMDU5WTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0NzM1MDBZMzc2OTkyRDAyKlkzNzYwMDhEMDEqDQorWDQ2ODM4MlkzNzY5OTJEMDIqWTM3NjAwOEQwMSoNCitYNDY4NDQxWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0Njg1MDBZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQ1NTk0MVkzNjM0OTJEMDIqWTM2MjUwOEQwMSoNCitYNDYxMDAwWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0NTU4ODJZMzMzNDkyRDAyKlkzMzI1MDhEMDEqDQorWDQ3MzUwMFkzMTY5OTJEMDIqWTMxNjAwOEQwMSoNCitYNDY4MzgyWTMxNjk5MkQwMipZMzE2MDA4RDAxKg0KK1g0Njg0NDFZMzMzNDkyRDAyKlkzMzI1MDhEMDEqDQorWDQ3MzU1OVkzOTM0OTJEMDIqWTM5MjUwOEQwMSoNCitYNDY4NDQxWTM5MzQ5MkQwMipZMzkyNTA4RDAxKg0KK1g0MjcwMDBZMzkyNDkyRDAyKlkzOTE1MDhEMDEqDQorWDQyNjk0MVkzNDY5OTJEMDIqWTM0NjAwOEQwMSoNCitYNDI3MTE4WTM3NzA1MUQwMipZMzc2MDY3RDAxKg0KK1g0MjE4ODJZMzkyNDkyRDAyKlkzOTE1MDhEMDEqDQorWDQyMTgyM1kzNDY5OTJEMDIqWTM0NjAwOEQwMSoNCitYNDIyMDAwWTM3NzA1MUQwMipZMzc2MDY3RDAxKg0KK1g0MjcwMDBZMzYyNDkyRDAyKlkzNjE1MDhEMDEqDQorWDQyMTg4MlkzNjI0OTJEMDIqWTM2MTUwOEQwMSoNCitYNDE0NTAwWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0MDkzODJZMzYzNDkyRDAyKlkzNjI1MDhEMDEqDQorWDQzNzAwMFkzNjI0OTJEMDIqWTM2MTUwOEQwMSoNCitYNDMxODgyWTM2MjQ5MkQwMipZMzYxNTA4RDAxKg0KK1g0MzY0NDlZMzQ2NjE4RDAyKlg0Mzc0MzNEMDEqDQorWDQzNzA1OVkzOTI2MTBEMDIqWTM5MTYyNkQwMSoNCitYNDM2NDQ5WTM3NjYxOEQwMipYNDM3NDMzRDAxKg0KK1g0MzY0NDlZMzcxNTAwRDAyKlg0Mzc0MzNEMDEqDQorWDQzMTk0MVkzOTI2MTBEMDIqWTM5MTYyNkQwMSoNCitYNDE0NTU5WTM5MzYxMEQwMipZMzkyNjI2RDAxKg0KK1g0MDk0NDFZMzkzNjEwRDAyKlkzOTI2MjZEMDEqDQorWDQzNjQ0OVkzNDE1MDBEMDIqWDQzNzQzM0QwMSoNCitYNDI3MDAwWTMzMjQ5MkQwMipZMzMxNTA4RDAxKg0KK1g0MzcwMDBZMzMyNDkyRDAyKlkzMzE1MDhEMDEqDQorWDQzMTg4MlkzMzI0OTJEMDIqWTMzMTUwOEQwMSoNCitYNDI2OTQxWTMxNjk5MkQwMipZMzE2MDA4RDAxKg0KK1g0MjE4MjNZMzE2OTkyRDAyKlkzMTYwMDhEMDEqDQorWDQzNjQ0OVkzMTY1MDBEMDIqWDQzNzQzM0QwMSoNCitYNDE0NTAwWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0MDkzODJZMzMzNDkyRDAyKlkzMzI1MDhEMDEqDQorWDQyMTg4MlkzMzI0OTJEMDIqWTMzMTUwOEQwMSoNCitYMzk3OTQ5WTIwNTU1OUQwMipYMzk4OTMzRDAxKg0KK1gzOTc5NDlZMjAwNDQxRDAyKlgzOTg5MzNEMDEqDQorRzU0RDI1NipYMzc2NDg1WTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzNzkwNDRZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM4MTYwM1kxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzg0MTYyWTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzODY3MjBZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM4OTI3OVkxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzkxODM4WTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzOTQzOTdZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM5NDc0N1kyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzkyMTg4WTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzODk2MjlZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM4NzA3MFkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzg0NTEyWTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzODE5NTNZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM3OTM5NFkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzc2ODM1WTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1kyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzc5Mzk0WTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzODE5NTNZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM4NDUxMlkyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzg3MDcwWTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK0c1NEQyNTcqWDQ2MTAwMFkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDU1ODgyWTIxMzQ5MkQwMipZMjEyNTA4RDAxKg0KK1g0NjEwMDBZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQ1NTg4MlkyNDM0OTJEMDIqWTI0MjUwOEQwMSoNCitYNDY4MzgyWTIyNjk5MkQwMipZMjI2MDA4RDAxKg0KK1g0Njg0NDFZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWTIxMzQ5MkQwMipZMjEyNTA4RDAxKg0KK1g0NzM1MDBZMTk2OTkyRDAyKlkxOTYwMDhEMDEqDQorWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0NjgzODJZMTk2OTkyRDAyKlkxOTYwMDhEMDEqDQorWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0NjEwMDBZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQ1NTg4MlkxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDYxMDAwWTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1kzMDM0OTJEMDIqWTMwMjUwOEQwMSoNCitYNDU1ODgyWTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1kzMDM0OTJEMDIqWTMwMjUwOEQwMSoNCitYNDM2NTA4WTI1NjU1OUQwMipYNDM3NDkyRDAxKg0KK1g0MzY1MDhZMjUxNDQxRDAyKlg0Mzc0OTJEMDEqDQorWDQzNzAwMFkyNDI0OTJEMDIqWTI0MTUwOEQwMSoNCitYNDMxODgyWTI0MjQ5MkQwMipZMjQxNTA4RDAxKg0KK1g0MjcwNTlZMjI2OTkyRDAyKlkyMjYwMDhEMDEqDQorWDQzNjUwOFkyMjY1NTlEMDIqWDQzNzQ5MkQwMSoNCitYNDM2NTA4WTIyMTQ0MUQwMipYNDM3NDkyRDAxKg0KK1g0MjE5NDFZMjI2OTkyRDAyKlkyMjYwMDhEMDEqDQorWDQyMTgyM1kyNTY5OTJEMDIqWTI1NjAwOEQwMSoNCitYNDIxODgyWTI0MjQ5MkQwMipZMjQxNTA4RDAxKg0KK1g0MTQ1NTlZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQyNzAwMFkyMTI0OTJEMDIqWTIxMTUwOEQwMSoNCitYNDM3MDAwWTIxMjQ5MkQwMipZMjExNTA4RDAxKg0KK1g0MzE4ODJZMjEyNDkyRDAyKlkyMTE1MDhEMDEqDQorWDQxNDUwMFkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDA5MzgyWTIxMzQ5MkQwMipZMjEyNTA4RDAxKg0KK1g0MjE4ODJZMjEyNDkyRDAyKlkyMTE1MDhEMDEqDQorWDQyNjk0MVkxOTY0OTJEMDIqWTE5NTUwOEQwMSoNCitYNDIxODIzWTE5NjQ5MkQwMipZMTk1NTA4RDAxKg0KK1g0MzcwMDBZMTgyNDkyRDAyKlkxODE1MDhEMDEqDQorWDQzMTg4MlkxODI0OTJEMDIqWTE4MTUwOEQwMSoNCitYNDI3MDAwWTE4MjQ5MkQwMipZMTgxNTA4RDAxKg0KK1g0MjE4ODJZMTgyNDkyRDAyKlkxODE1MDhEMDEqDQorWDQxNDUwMFkxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDA5MzgyWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0NzM1MDBZMjU2NDkyRDAyKlkyNTU1MDhEMDEqDQorWDQ2ODM4MlkyNTY0OTJEMDIqWTI1NTUwOEQwMSoNCitYNDczNjc3WTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0Njg1NTlZMjczNDkyRDAyKlkyNzI1MDhEMDEqDQorWDQ3MzUwMFkyMjY5OTJEMDIqWTIyNjAwOEQwMSoNCitYNDczNTU5WTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1kyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitZMzYzNDkyRDAyKlkzNjI1MDhEMDEqDQorWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0NzMwMDBZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQ3MzUwMFkyODY5OTJEMDIqWTI4NjAwOEQwMSoNCitYNDY4MzgyWTI4Njk5MkQwMipZMjg2MDA4RDAxKg0KK1g0Njc4ODJZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQ3MzYxOFkzNDY5OTJEMDIqWTM0NjAwOEQwMSoNCitYNDM2NDQ5WTMxMTM4MkQwMipYNDM3NDMzRDAxKg0KK1g0MjcwMDBZMzAyNDkyRDAyKlkzMDE1MDhEMDEqDQorWDQyMTg4MlkzMDI0OTJEMDIqWTMwMTUwOEQwMSoNCitYNDM3MDAwWTMwMjQ5MkQwMipZMzAxNTA4RDAxKg0KK1g0MzE4ODJZMzAyNDkyRDAyKlkzMDE1MDhEMDEqDQorWDQzNjUwOFkyODY1NTlEMDIqWDQzNzQ5MkQwMSoNCitYNDE0NTAwWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1g0MDkzODJZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQyNjk0MVkyODY5OTJEMDIqWTI4NjAwOEQwMSoNCitYNDI3MDAwWTI3MjQ5MkQwMipZMjcxNTA4RDAxKg0KK1g0MjY5NDFZMjU2OTkyRDAyKlkyNTYwMDhEMDEqDQorWDQyNzAwMFkyNDI0OTJEMDIqWTI0MTUwOEQwMSoNCitYNDIxODIzWTI4Njk5MkQwMipZMjg2MDA4RDAxKg0KK1g0MjE4ODJZMjcyNDkyRDAyKlkyNzE1MDhEMDEqDQorWDQxNDU1OVkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDA5NDQxWTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0MzY1MDhZMjgxNDQxRDAyKlg0Mzc0OTJEMDEqDQorWDQzNzAwMFkyNzI0OTJEMDIqWTI3MTUwOEQwMSoNCitYNDMxODgyWTI3MjQ5MkQwMipZMjcxNTA4RDAxKg0KK1g0MDk0NDFZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQzNjUwOFkxOTY1NTlEMDIqWDQzNzQ5MkQwMSoNCitYNDM2NTA4WTE5MTQ0MUQwMipYNDM3NDkyRDAxKg0KK0c1NEQyNTYqWDM4ODc3OVkzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzkxMzM4WTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1gzOTM4OTdZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzOTEzMzhZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM4ODc3OVkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitYMzg2MjIwWTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1kzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzgzNjYyWTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1kzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzgxMTAzWTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzNzg1NDRZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM3NTk4NVkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM3ODU0NFkzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzgxMTAzWTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1gzODk2MjlZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM5MjE4OFkyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzkxODM4WTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzOTQ3NDdZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM5NDM5N1kyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzg5Mjc5WTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzODY3MjBZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM4NDE2MlkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzgxNjAzWTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzNzkwNDRZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM3NjQ4NVkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitHNTREMjU3KlgzOTc5NDlZMzI0NTU5RDAyKlgzOTg5MzNEMDEqDQorWDM5Nzk0OVkzMTk0NDFEMDIqWDM5ODkzM0QwMSoNCitHNTREMjU2KlgzODQxNjJZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM4NjcyMFkzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzgxNjAzWTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzNzY0ODVZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM3OTA0NFkzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzg5Mjc5WTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzOTE4MzhZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM5NDM5N1kzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitHNTREMjU5KlgxNDcwNDhZMzQ0NTQzRDAyKlgxNDc4MzREMDEqDQorWDE0NzA0OFkzMzc0NTdEMDIqWDE0NzgzNEQwMSoNCitHNTREMjYwKlgxMzY3OTlZMzI3NzI5RDAyKlkzMjExMjlEMDEqDQorWDEyNzc5OVkzMjc3MjlEMDIqWTMyMTEyOUQwMSoNCitYMTE4Njk5WTMyNzcyOUQwMipZMzIxMTI5RDAxKg0KK0c1NEQyNjEqWDEyMzI5OVkzNDg4MjlEMDIqWDEzMjI5OUQwMSoNCitHNTREMjU5KlgxODMxNDhZMjM1MzU3RDAyKlgxODM5MzREMDEqDQorWDE4MzE0OFkyNDI0NDNEMDIqWDE4MzkzNEQwMSoNCitHNTREMjU3KlgyMDU2ODFZMjY5MzIxRDAyKlkyNjgzMzdEMDEqDQorWDIxMDc5OVkyNjkzMjFEMDIqWTI2ODMzN0QwMSoNCitHNTREMjU5KlgyMDQ5OThZMjYzMjkzRDAyKlkyNjI1MDdEMDEqDQorWDIxMjA4NFkyNjMyOTNEMDIqWTI2MjUwN0QwMSoNCitHNTREMjYwKlgxOTQ0NDFZMjU0MjAwRDAyKlkyNDc2MDBEMDEqDQorWDIwMzQ0MVkyNTQyMDBEMDIqWTI0NzYwMEQwMSoNCitYMjEyNTQxWTI1NDIwMEQwMipZMjQ3NjAwRDAxKg0KK0c1NEQyNjEqWDE5ODk0MVkyMjY1MDBEMDIqWDIwNzk0MUQwMSoNCitHNTREMjU5KlgxMjU4ODVZMzA5MjIyRDAyKlkzMDg0MzZEMDEqDQorWDExODc5OVkzMDkyMjJEMDIqWTMwODQzNkQwMSoNCitHNTREMjU3Klg3Njk0OVk0OTk0MUQwMipYNzc5MzNEMDEqDQorWDEwNjk0OUQwMipYMTA3OTMzRDAxKg0KK1g3Njk0OVk1NTA1OUQwMipYNzc5MzNEMDEqDQorWDEwNjk0OUQwMipYMTA3OTMzRDAxKg0KK1gxMzY5NDlZNDk5NDFEMDIqWDEzNzkzM0QwMSoNCitYMTM2OTQ5WTU1MDU5RDAyKlgxMzc5MzNEMDEqDQorRzU0RDI2MipYMjg3OTE3WTMwMzQ0OUQwMipZMzAyNDY1RDAxKg0KK0c1NEQyNTcqWDI5MzAzNVkzMDM0NDlEMDIqWTMwMjQ2NUQwMSoNCitHNTREMjQ3KlgzMDc3MTZZMjc1MDc1RDAzKg0KK1gzMDg5OTJZMjcxOTcxRDAzKg0KK1gzMDg4NzJZMjY2NTIyRDAzKg0KK1gyODc5MTdZMzA3ODI5RDAzKg0KK1gyOTM5MDJZMjgyMjYzRDAzKg0KK1gyOTY3NzlZMzA0OTYzRDAzKg0KK1gyOTU5MzdZMjQzNjI4RDAzKg0KK1gyOTY3MjdZMjU2MjI3RDAzKg0KK1gzMTIxNTdZMzAwMTU2RDAzKg0KK1gzMTIxMjJZMjk1MDM4RDAzKg0KK1gzMDMzNjVZMzMwMDAwRDAzKg0KK1gyODU0MzBZMzI1MDAwRDAzKg0KK1gzMDI5NDFZMzQwMDA3RDAzKg0KK1gyNDU1NTdZMjc5NTA4RDAzKg0KK1gyNDI0NTZZMjkzNTQzRDAzKg0KK1gyNjI3NTBZMjY4NzcyRDAzKg0KK1gyNTMxMDFZMjYxODM2RDAzKg0KK0c1NEQyNjMqWDI0Njk0MVkyMzgwMDBEMDMqDQorWDI0MjQ0MVkyMjk1MDBEMDMqDQorWDI0NjQ0MUQwMyoNCitYMjUwOTQxRDAzKg0KK1gyNjA5NDFZMTkxNTAwRDAzKg0KK1gyNDU4NjNZMTkxNTI0RDAzKg0KK1gyNjk0NDFZMTk4NTAwRDAzKg0KK1gyNjk5NDFZMjMxNTAwRDAzKg0KK1gyNTE5NDFZMjEwNTAwRDAzKg0KK1gyNDM5NDFZMjAyMDAwRDAzKg0KK1gyNTM0NDFZMTAyNTAwRDAzKg0KK1gyMzE0NDFZMTQ4MDAwRDAzKg0KK1gzMDk0NDFZMTQxNTY4RDAzKg0KK1kxMzY0NTBEMDMqDQorWDMxMDk0MVkxMTU5NDBEMDMqDQorWDMwNTY5NlkxMDc1MDBEMDMqDQorWDMwNDU4NFkyMDc0ODNEMDMqDQorWDMwNDcwNlkyMTA1ODNEMDMqDQorWDMwNTI4MFkyMDQzODNEMDMqDQorRzU0RDI0NypYMjU0NzQwWTI5ODMyOUQwMyoNCitYMjQyMTY4WTI5ODgwMEQwMyoNCitHNTREMjYzKlgyNDY3MzFZMzAzMDMxRDAzKg0KK0c1NEQyNDcqWDI2OTY1M1kyOTg2MzFEMDMqDQorRzU0RDI2MypYMjcwNDQxWTMzNjAwMEQwMyoNCitZMzQyNTAwRDAzKg0KK1kzNDk1MDBEMDMqDQorRzU0RDI0NypYMjY4OTQxWTMxNDAwMEQwMyoNCitHNTREMjYzKlgyNzA0NDFZMzU3MDAwRDAzKg0KK0c1NEQyNDcqWDI3MzIyOVkyOTg1ODJEMDMqDQorWDI3ODIyNVkyNzk2MDJEMDMqDQorWDI3ODIwN1kyOTg2MTJEMDMqDQorWDI3NzE3NFkzMDgyMTlEMDMqDQorWDI3NzQ0OVkzNDc1MDBEMDMqDQorRzU0RDI2MypYMjYzNDQxWTMyMDAwMEQwMyoNCitYMjYwNTY4WTMxNjk5N0QwMyoNCitYMjYxNTAyWTMwNzM2N0QwMyoNCitYMjQ5MTAxWTMyODc5M0QwMyoNCitYMjI5ODE4WTM1NDk4OEQwMyoNCitHNTREMjQ3KlgyNjY0MTNZMjk2NTk0RDAzKg0KK1gyNjMyNDBZMjk1MzI5RDAzKg0KK1gyNjI3NDBZMjkxODI5RDAzKg0KK1gyNjAzNDFZMjg0MjQ5RDAzKg0KK1gyNjQwMzRZMjgyOTMxRDAzKg0KK0c1NEQyNjMqWDI3OTQ0MVkyODUwMDBEMDMqDQorRzU0RDI2NCpYMzg2NDQxWTE2MzAwMEQwMyoNCitYNDAwNDQxWTE5NDAwMEQwMyoNCitYMzg5NDQxWTE4NDAwMEQwMyoNCitYNDAwNDQxWTE4OTAwMEQwMyoNCitHNTREMjYzKlgzODYwMjNZMTU3ODEzRDAzKg0KK1gzOTg0NDFZMTczMDAwRDAzKg0KK0c1NEQyNjQqWDM5MzQ0MVkyMDgwMDBEMDMqDQorWDM4NDE2MlkxODgwMDBEMDMqDQorWDQ1ODQ0MVkxOTUwMDBEMDMqDQorWTE2NDAwMEQwMyoNCitYMzcyNDQxWTE3MDM4NkQwMyoNCitHNTREMjYzKlgzNzczNDdZMTYyMTc4RDAzKg0KK0c1NEQyNjQqWDM4NzQ0MVkzMjYwMDBEMDMqDQorWDM5MzQ0MVkzNTUwMDBEMDMqDQorWDM4NjcyMFkyODIwMDBEMDMqDQorWDM5MzQ0MVkzMjcwMDBEMDMqDQorWDM4NDE2MlkzMDYwMDBEMDMqDQorWDM4NTk0MVkzNTQ1MDBEMDMqDQorWDQ1ODQ0MVkzNzUwMDBEMDMqDQorWDM4MzY2MlkzNzg1MDBEMDMqDQorWDM5NzQ0MVkzNzMwMDBEMDMqDQorWDM5Nzk0MVkzNjc0NDFEMDMqDQorRzU0RDI2MypYMzg1OTQxWTM2NjAwMEQwMyoNCitHNTREMjY0Klg0NTg0NDFZMzQ1MDAwRDAzKg0KK1kzMTUwMDBEMDMqDQorWTI4NTAwMEQwMyoNCitYMzk4NDQxWTMxNDAwMEQwMyoNCitZMzA5MDAwRDAzKg0KK0c1NEQyNjMqWTI5MTAwMEQwMyoNCitHNTREMjY0KlgzNzI0NDFZMjkwNjg5RDAzKg0KK1kzNTExODlEMDMqDQorRzU0RDI2MypYMzM5ODM3WTM0MTgyN0QwMyoNCitYMzUzMzkwWTMzOTUyMUQwMyoNCitHNTREMjY0KlgzNzU0NDFZMjM1MDAwRDAzKg0KK0c1NEQyNjMqWDM1NjQ0MVkyMzMwMDBEMDMqDQorWDMzODQ0MVkyMjQxOTJEMDMqDQorWTIzMDEyNEQwMyoNCitYMzM3NDQxWTE2MzAwMEQwMyoNCitYMzU4OTQxWTIwODUwMEQwMyoNCitHNTREMjY0KlgzODQ1MTJZMjU4MDAwRDAzKg0KK0c1NEQyNjMqWDM3MTYwMlkyNjAyMjhEMDMqDQorRzU0RDI2NCpYNDU4NDQxWTI1NDAwMEQwMyoNCitZMjI1MDAwRDAzKg0KK1gzODcwNzBZMjM1MDAwRDAzKg0KK1gzOTg0NDFZMjQ4MDAwRDAzKg0KK1kyNTMwMDBEMDMqDQorRzU0RDI2MypYMzk2NDQxWTIzNTAwMEQwMyoNCitYMzkyMTg4WTIzOTAwMEQwMyoNCitYMzg4MjA3WTI0NzI4MEQwMyoNCitHNTREMjQ3KlgyMzkzMDJZMjYyMjM1RDAzKg0KK0c1NEQyNjMqWDI0NTQ0MVkxMjc1MDBEMDMqDQorWDIzNTk0MVkxMzMwMDBEMDMqDQorWDIzNjQ0MVkyMzU1MDBEMDMqDQorWDIwMjQ0MVkyMTI1MDBEMDMqDQorWDIxMDQ0MUQwMyoNCitYMjIwNDQxWTIxNTAwMEQwMyoNCitYMjI0OTQxWTIyMDUwMEQwMyoNCitYMjI1NDQxWTIyNjUwMEQwMyoNCitYMjI0OTQxWTIzNTUwMEQwMyoNCitYMjI0NDQxWTI0NDAwMEQwMyoNCitYMjEyOTQxWTIzODAwMEQwMyoNCitYMjAzOTQxWTIzNzUwMEQwMyoNCitYMTkzOTQxWTIzNzAwMEQwMyoNCitYMTgxOTQxWTI1ODUwMEQwMyoNCitYMTgzOTQxWTEwNDAwMEQwMyoNCitYMTEyMjIyWTEyNzM0MEQwMyoNCitYMTE0NDQxWTEyMTUwMEQwMyoNCitYMTE1NDQxWTEzMjUwMEQwMyoNCitYMTAxOTQxWTEwNDUwMEQwMyoNCitYMTY2NDQxWTEwNDAwMEQwMyoNCitYMTI3OTQxWTE0ODAwMEQwMyoNCitYMTA2NDQxWTE0ODUwMEQwMyoNCitYMTQ5OTQxWTE0OTAwMEQwMyoNCitYMTM4OTI1WTIwNjExM0QwMyoNCitYMTM4ODcyWTIwMjAzMEQwMyoNCitYMTM4OTI1WTE5Nzg0MUQwMyoNCitYMTYxOTQxWTE5OTAwMEQwMyoNCitYMTY2OTQxWTE5NzUwMEQwMyoNCitYMTM4OTI1WTE5MjY5OEQwMyoNCitYMTYxOTQxWTE5MzAwMEQwMyoNCitYMTY2OTQxRDAzKg0KK1gxNjM5NDFZMTI3NTAwRDAzKg0KK1gxOTMzOTBEMDMqDQorWDE1MjQ0MVkxMjE1MDBEMDMqDQorWDE1MTk0MVkxMzIwMDBEMDMqDQorWDE5NTQ0MVkxMzMwMDBEMDMqDQorWDE0MTQ0MVkxNDgwMDBEMDMqDQorWDIwODk0MUQwMyoNCitYMjIzOTQxRDAzKg0KK1gxOTg0NDFZMTIyNTAwRDAzKg0KK1gyMzQ0NDFEMDMqDQorWDIyMTg4NFkyNTQwMDBEMDMqDQorWDIyNDQ0MVkyNTIwMDBEMDMqDQorWDIyNTQ0MVkyNDkwMDBEMDMqDQorWDIzMDQ0MVkyNDcwMDBEMDMqDQorWDIxOTQ0MVkyNzI1MDBEMDMqDQorWDIzMDQ0MVkyOTMwMDBEMDMqDQorWDIyMDcyOVkyNjU1ODBEMDMqDQorWDIyMDQ0MVkyNTk1MDBEMDMqDQorWDIxODQ0MVkyNjE1MDBEMDMqDQorWDIxNzQ0MVkyNzkwMDBEMDMqDQorWDI0MDM5MVkyNzg1NjREMDMqDQorWDEyODk0MVkyNzQ1MDBEMDMqDQorWTI2ODUwMEQwMyoNCitZMjYyNTAwRDAzKg0KK1kyNTUwMDBEMDMqDQorWTI0ODUwMEQwMyoNCitZMjQyNTAwRDAzKg0KK1gxMDQ0NDFZMjA0NTAwRDAzKg0KK1gxMDA5NDFEMDMqDQorWDE0MTMwN1kzMDA4ODNEMDMqDQorWDEyNDgzMVkzMDIzODVEMDMqDQorWDE1ODQ0MVkzMjM4MjlEMDMqDQorWTMyODgyOUQwMyoNCitZMzI2NTAwRDAzKg0KK1gxNTM5NDFZMzM4MDAwRDAzKg0KK1gxNTQ5NDFZMzQ1NTAwRDAzKg0KK1gxMzU0NDFZMzM4NTAwRDAzKg0KK1kzMzUwMDBEMDMqDQorWDEzOTk0MVkzMzgwMDBEMDMqDQorWDExMTk0MVkzMzQwMDBEMDMqDQorWDExNzk0MUQwMyoNCitYMTI2NDQxRDAzKg0KK1gxNDI0NDFZMzU3NTAwRDAzKg0KK1kzNDk1MDBEMDMqDQorWDE0OTQ0MUQwMyoNCitYMTI2NDQxWTM0MDUwMEQwMyoNCitYMTExOTQxWTM0MTAwMEQwMyoNCitZMzU3NTAwRDAzKg0KK1gxMjE5NDFEMDMqDQorWDEzMDk0MUQwMyoNCitYMTk3NDQxWTMxNDUwMEQwMyoNCitZMzA4NTAwRDAzKg0KK1gxOTg0NDFZMjYyNTAwRDAzKg0KK1kyNjk1MDBEMDMqDQorWDIwNTQ0MVkyNzcwMDBEMDMqDQorWDE5NTQ0MVkzMTE1MDBEMDMqDQorWDE5MTM2M1kzNDQ0NDlEMDMqDQorWDE3ODg4N1kzNDI4MThEMDMqDQorWDE2ODczMlkzNTA4MzNEMDMqDQorWDE2MjQ0MVkyNDI1MDBEMDMqDQorWDE2NTk0MVkyMzEwMDBEMDMqDQorWTIyNjUwMEQwMyoNCitYMTg1NDQxWTIyODAwMEQwMyoNCitYMTc3NDQxRDAzKg0KK1gxNjI0NDFZMjQ4NTAwRDAzKg0KK1gxNjE5NDFZMjU1MDAwRDAzKg0KK1gxNjI0NDFZMjYyNTAwRDAzKg0KK1gxNjI5NDFZMjY4NTAwRDAzKg0KK1kyNzQ1MDBEMDMqDQorWDE2NTk0MVkyMjA1MDBEMDMqDQorWDE2OTQ0MVkyMTQwMDBEMDMqDQorWTIwODUwMEQwMyoNCitZMjAxNTAwRDAzKg0KK1gxNzc0NDFZMjE3NTAwRDAzKg0KK1gxODU0NDFEMDMqDQorWDE5Mzk0MVkyMTI1MDBEMDMqDQorRzU0RDI2NCpYNDMyMzI0WTExMTAwMEQwMyoNCitYNDQ2NDQxWTEwMjAwMEQwMyoNCitYNDM0ODgyWTc1MDAwRDAzKg0KK0c1NEQyNjUqWDQ0MDk0MVkxMjMwMDBEMDMqDQorRzU0RDI2NCpYNDIzNDQxWTc1MDAwRDAzKg0KK0c1NEQyNjMqWDQzNDQ0OVk1NjUwMEQwMyoNCitYNDQwNDQ5RDAzKg0KK1gzNTQ5NDFZOTM0OTlEMDMqDQorWTk3OTk5RDAzKg0KK1kxMDM5OTlEMDMqDQorWTEwOTk5OUQwMyoNCitZMTE1OTk5RDAzKg0KK1kxMjE5OTlEMDMqDQorWTEyNzk5OUQwMyoNCitYMzg3OTQxRDAzKg0KK1kxMjE5OTlEMDMqDQorWTExNTk5OUQwMyoNCitZMTA5OTk5RDAzKg0KK1k5Nzk5OUQwMyoNCitZOTM0OTlEMDMqDQorWTEwMzk5OUQwMyoNCitYMzkxNDQxWTg0NDk5RDAzKg0KK1k3OTk5OUQwMyoNCitYMzkxOTQxWTc0NDk5RDAzKg0KK1gzOTU0NDFZNjY5OTlEMDMqDQorWDM5NDQ0MVk1OTk5OUQwMyoNCitYMzkyOTQxWTUzNDk5RDAzKg0KK1gzNjg5NDFZNDg1MDBEMDMqDQorWTQzNTAwRDAzKg0KK1gzNzQ5NDFEMDMqDQorWTQ3MDAwRDAzKg0KK0c1NEQyNDUqRzU0RDI2MypHNTREMjQ1Kkc1NEQyNjMqRzU0RDI0NSpHNTREMjYzKkc1NEQyNDUqRzU0RDI2MypHNTREMjQ1Kkc1NEQyNjMqRzU0RDI0NSpHNTREMjYzKkc1NEQyNDUqRzU0RDI2MypHNTREMjQ1Kkc1NEQyNjMqRzU0RDI0NSpHNTREMjYzKkc1NEQyNjYqRzU0RDI2MypHNTREMjQ1Kkc1NEQyNjcqRzU0RDI2OCpHNTREMjY5Kkc1NEQyNjgqRzU0RDI3MCpHNTREMjcxKkc1NEQyNzAqRzU0RDI2NypHNTREMjY4Kkc1NEQyNjcqRzU0RDI2OCpHNTREMjcwKkc1NEQyNjcqRzU0RDI3MCpNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ib3R0b21tYXNrLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tbWFzay5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA1OTRiOAotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tbWFzay5nYnIKQEAgLTAsMCArMSw2ODcgQEAKK0cwNCBzdGFydCBvZiBwYWdlIDkgZm9yIGdyb3VwIC00MDYyIGlkeCAtNDA2MiAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIHNvbGRlcm1hc2sgKg0KK0cwNCBDcmVhdG9yOiBwY2IgMjAxMTA5MTggKg0KK0cwNCBDcmVhdGlvbkRhdGU6IE1vbiBKYW4gMjAgMjE6MDQ6NDIgMjAxNCBVVEMgKg0KK0cwNCBGb3I6IGJyaWFucyAqDQorRzA0IEZvcm1hdDogR2VyYmVyL1JTLTI3NFggKg0KK0cwNCBQQ0ItRGltZW5zaW9uczogNTAwMDAwIDQwMDAwMCAqDQorRzA0IFBDQi1Db29yZGluYXRlLU9yaWdpbjogbG93ZXIgbGVmdCAqDQorJU1PSU4qJQ0KKyVGU0xBWDI1WTI1KiUNCislTE5CT1RUT01NQVNLKiUNCislQUREMzE0UiwwLjA0MDVYMC4wNDA1KiUNCislQUREMzEzUiwwLjEyODBYMC4xMjgwKiUNCislQUREMzEyUiwwLjA2MjBYMC4wNjIwKiUNCislQUREMzExUiwwLjA1NzJYMC4wNTcyKiUNCislQUREMzEwUiwwLjAyODBYMC4wMjgwKiUNCislQUREMzA5UiwwLjAzNTVYMC4wMzU1KiUNCislQUREMzA4UiwwLjAyMzBYMC4wMjMwKiUNCislQUREMzA3QywwLjI4NjAqJQ0KKyVBREQzMDZDLDAuMDg2MColDQorJUFERDMwNUMsMC4yNDAwKiUNCislQUREMzA0QywwLjE4OTAqJQ0KKyVBREQzMDNDLDAuMDAwMSolDQorJUFERDMwMkMsMC4wNzEwKiUNCislQUREMzAxQywwLjAyNTAqJQ0KKyVBREQzMDBDLDAuMDA4MColDQorRzU0RDMwMCpYNjgwMDBZNDIwMDBEMDIqWTI0NDAwMEQwMSoNCitYNzQ1MDBZMjUwNTAwRDAyKlgxMDEwMDBEMDEqDQorWDEwNzUwMFkyNTYwMDBEMDIqWTMxMjUwMEQwMSoNCitYMTAxMDAwWTMxOTAwMEQwMipYNzQ1MDBEMDEqDQorWDY4MDAwWTMyNTUwMEQwMipZMzkzMzAwRDAxKg0KK1g0ODQ2MDBEMDIqWTQyMDAwRDAxKg0KK1g0NzkxMDBZMzU1MDBEMDIqWDczNTAwRDAxKg0KK0c1NEQzMDEqWDE4OTk0OVkxMzYwNTlEMDIqWDE4OTg5MFkxMzYwMDBEMDEqDQorRzU0RDMwMCpYNzQ1MDBZMzk5ODAwRDAyKlg0NzgxMDBEMDEqDQorWDc0NTAwWTM1NTAwRDAyKkc3NSpHMDJYNjgwMDBZNDIwMDBJMEo2NTAwRDAxKkcwMSoNCitZMjQ0MDAwRDAyKkc3NSpHMDJYNzQ1MDBZMjUwNTAwSTY1MDBKMEQwMSpHMDEqDQorWDEwNzUwMFkyNTcwMDBEMDIqRzc1KkcwMlgxMDEwMDBZMjUwNTAwSS02NTAwSjBEMDEqRzAxKg0KK1kzMTkwMDBEMDIqRzc1KkcwMlgxMDc1MDBZMzEyNTAwSTBKLTY1MDBEMDEqRzAxKg0KK1g3NDUwMFkzMTkwMDBEMDIqRzc1KkcwMlg2ODAwMFkzMjU1MDBJMEo2NTAwRDAxKkcwMSoNCitYNDc4MTAwWTM5OTgwMEQwMipHNzUqRzAyWDQ4NDYwMFkzOTMzMDBJMEotNjUwMEQwMSpHMDEqDQorWTQyMDAwRDAyKkc3NSpHMDJYNDc4MTAwWTM1NTAwSS02NTAwSjBEMDEqRzAxKg0KK1g2ODAwMFkzOTMzMDBEMDIqRzc1KkcwMlg3NDUwMFkzOTk4MDBJNjUwMEowRDAxKkcwMSoNCitHNTREMzAyKlg0MTcwMDBZMzg0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorWTM1NDAwMEQwMyoNCitYNDI3MDAwWTM4NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK1kzNTQwMDBEMDMqDQorRzU0RDMwMypHMzYqDQorWDQwMzQ1MFkzNTc1NTBEMDIqWTM1MDQ1MEQwMSoNCitYNDEwNTUwRDAxKg0KK1kzNTc1NTBEMDEqDQorWDQwMzQ1MEQwMSoNCitHMzcqDQorRzU0RDMwNCpYMzQ1Nzk5WTM1NzMyOUQwMyoNCitHNTREMzA1KlgzMTU3OTlZMzM3MzI5RDAzKg0KK0c1NEQzMDQqWDg1Nzk5WTM2OTgyOUQwMyoNCitHNTREMzA2KlgxMDU3OTlZMzc0ODI5RDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1gxMDE0OTlZMzY5MTI5RDAyKlkzNjA1MjlEMDEqDQorWDExMDA5OUQwMSoNCitZMzY5MTI5RDAxKg0KK1gxMDE0OTlEMDEqDQorRzM3Kg0KK0c1NEQzMDYqWDExNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTI1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxMzU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorRzU0RDMwNypYOTMyOTlZMzQyMzI5RDAzKg0KK0c1NEQzMDYqWDE0NTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxNjU3OTlEMDMqDQorWDE1NTc5OVkzNzQ4MjlEMDMqDQorWDE2NTc5OUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMjA1Nzk5RDAzKg0KK1gxNzU3OTlZMzY0ODI5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMjA1Nzk5RDAzKg0KK1gyMTU3OTlZMzc0ODI5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjE1Nzk5WTM2NDgyOUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWDI0NTc5OVkzNzQ4MjlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1gyNzU3OTlEMDMqDQorWTM2NDgyOUQwMyoNCitYMjg1Nzk5WTM3NDgyOUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK1gyODU3OTlZMzY0ODI5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorRzU0RDMwMypHMzYqDQorWDQ0OTk1MFkyNjc1NTBEMDIqWTI2MDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kyNjc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDc1NTBEMDIqWTIwMDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kyMDc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzc1NTBEMDIqWTE3MDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kxNzc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzU0RDMwMipYNDYzNTAwWTI2NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTE0NDAwMEQwMyoNCitZMTE0MDAwRDAzKg0KK1k4NDAwMEQwMyoNCitYNDczNTAwWTI2NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTE0NDAwMEQwMyoNCitZMTE0MDAwRDAzKg0KK1k4NDAwMEQwMyoNCitHNTREMzAzKkczNioNCitYNDQ5OTUwWTIzNzU1MEQwMipZMjMwNDUwRDAxKg0KK1g0NTcwNTBEMDEqDQorWTIzNzU1MEQwMSoNCitYNDQ5OTUwRDAxKg0KK0czNyoNCitHNTREMzAyKlg0NjM1MDBZMjM0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDMwMypHMzYqDQorWDQ0OTk1MFkxNDc1NTBEMDIqWTE0MDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kxNDc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxMTc1NTBEMDIqWTExMDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kxMTc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1k4NzU1MEQwMipZODA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZODc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1k1NzU1MEQwMipZNTA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZNTc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzU0RDMwMipYNDYzNTAwWTU0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDMwMypHMzYqDQorWDQ0OTk1MFkzMjc1NTBEMDIqWTMyMDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kzMjc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzU0RDMwMipYNDYzNTAwWTMyNDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1g0NDk5NTBZMjk3NTUwRDAyKlkyOTA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMjk3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQzMDIqWDQ2MzUwMFkyOTQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitYNDM3MDAwWTMyNDAwMEQwMyoNCitHNTREMzAzKkczNioNCitYMzA4ODkxWTI1MjU1MEQwMipZMjQ1NDUwRDAxKg0KK1gzMTU5OTFEMDEqDQorWTI1MjU1MEQwMSoNCitYMzA4ODkxRDAxKg0KK0czNyoNCitHNTREMzAyKlgzMjI0NDFZMjQ5MDAwRDAzKg0KK1gzMzI0NDFEMDMqDQorWDM0MjQ0MUQwMyoNCitHNTREMzA0KlgzNDU3OTlZMTkyMzI5RDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1g0NDk5NTBZMzg3NTUwRDAyKlkzODA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMzg3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQzMDIqWDQ2MzUwMFkzODQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMzAzKkczNioNCitYNDAzNDUwWTM4NzU1MEQwMipZMzgwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTM4NzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTI5NzU1MEQwMipZMjkwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTI5NzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTMyNzU1MEQwMipZMzIwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTMyNzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHNTREMzAyKlg0MTcwMDBZMzI0MDAwRDAzKg0KK1g0MjcwMDBEMDMqDQorRzU0RDMwMypHMzYqDQorWDQ0OTk1MFkzNTc1NTBEMDIqWTM1MDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kzNTc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzU0RDMwMipYNDM3MDAwWTM1NDAwMEQwMyoNCitYNDYzNTAwRDAzKg0KK1g0NzM1MDBEMDMqDQorWDQzNzAwMFkzODQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1g0MDM0NTBZMTc3NTUwRDAyKlkxNzA0NTBEMDEqDQorWDQxMDU1MEQwMSoNCitZMTc3NTUwRDAxKg0KK1g0MDM0NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjA3NTUwRDAyKlkyMDA0NTBEMDEqDQorWDQxMDU1MEQwMSoNCitZMjA3NTUwRDAxKg0KK1g0MDM0NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjM3NTUwRDAyKlkyMzA0NTBEMDEqDQorWDQxMDU1MEQwMSoNCitZMjM3NTUwRDAxKg0KK1g0MDM0NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjY3NTUwRDAyKlkyNjA0NTBEMDEqDQorWDQxMDU1MEQwMSoNCitZMjY3NTUwRDAxKg0KK1g0MDM0NTBEMDEqDQorRzM3Kg0KK0c1NEQzMDIqWDQxNzAwMFkxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorWDQyNzAwMFkxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorRzU0RDMwMypHMzYqDQorWDIwMTg5MVk1MTA1MEQwMipZNDM5NTBEMDEqDQorWDIwODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDIwMTg5MUQwMSoNCitHMzcqDQorRzU0RDMwMipYMjA1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitHNTREMzAzKkczNioNCitYMjMxODkxWTUxMDUwRDAyKlk0Mzk1MEQwMSoNCitYMjM4OTkxRDAxKg0KK1k1MTA1MEQwMSoNCitYMjMxODkxRDAxKg0KK0czNyoNCitHNTREMzAyKlgyMzU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1gyNjE4OTFZNTEwNTBEMDIqWTQzOTUwRDAxKg0KK1gyNjg5OTFEMDEqDQorWTUxMDUwRDAxKg0KK1gyNjE4OTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTcxODkxRDAyKlk0Mzk1MEQwMSoNCitYMTc4OTkxRDAxKg0KK1k1MTA1MEQwMSoNCitYMTcxODkxRDAxKg0KK0czNyoNCitHMzYqDQorWDE0MTg5MUQwMipZNDM5NTBEMDEqDQorWDE0ODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDE0MTg5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTE4OTFEMDIqWTQzOTUwRDAxKg0KK1gxMTg5OTFEMDEqDQorWTUxMDUwRDAxKg0KK1gxMTE4OTFEMDEqDQorRzM3Kg0KK0czNioNCitYODE4OTFEMDIqWTQzOTUwRDAxKg0KK1g4ODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDgxODkxRDAxKg0KK0czNyoNCitHNTREMzAyKlgyNjU0NDFZNTc1MDBEMDMqDQorWDE3NTQ0MUQwMyoNCitYMTQ1NDQxRDAzKg0KK1gxMTU0NDFEMDMqDQorWDg1NDQxRDAzKg0KK1gyNjU0NDFZNjc1MDBEMDMqDQorWDE3NTQ0MUQwMyoNCitHNTREMzAzKkczNioNCitYMjkxODkxWTUxMDUwRDAyKlk0Mzk1MEQwMSoNCitYMjk4OTkxRDAxKg0KK1k1MTA1MEQwMSoNCitYMjkxODkxRDAxKg0KK0czNyoNCitHNTREMzAyKlgyOTU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK1gxNDU0NDFEMDMqDQorWDExNTQ0MUQwMyoNCitYODU0NDFEMDMqDQorRzU0RDMwNCpYODU3OTlZMTc5ODI5RDAzKg0KK0c1NEQzMDYqWDEwNTc5OVkxODQ4MjlEMDMqDQorRzU0RDMwMypHMzYqDQorWDEwMTQ5OVkxNzkxMjlEMDIqWTE3MDUyOUQwMSoNCitYMTEwMDk5RDAxKg0KK1kxNzkxMjlEMDEqDQorWDEwMTQ5OUQwMSoNCitHMzcqDQorRzU0RDMwNipYMTE1Nzk5WTE4NDgyOUQwMyoNCitZMTc0ODI5RDAzKg0KK1gxMjU3OTlZMTg0ODI5RDAzKg0KK1kxNzQ4MjlEMDMqDQorRzU0RDMwMypHMzYqDQorWDgxODkxWTI0MzU1MEQwMipZMjM2NDUwRDAxKg0KK1g4ODk5MUQwMSoNCitZMjQzNTUwRDAxKg0KK1g4MTg5MUQwMSoNCitHMzcqDQorRzU0RDMwMipYODU0NDFZMjMwMDAwRDAzKg0KK1kyMjAwMDBEMDMqDQorRzU0RDMwNipYMTM1Nzk5WTE4NDgyOUQwMyoNCitYMTQ1Nzk5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDEzNTc5OVkxNzQ4MjlEMDMqDQorWDE0NTc5OUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxNjU3OTlZMTg0ODI5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gxNjU3OTlZMTc0ODI5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK0c1NEQzMDMqRzM2Kg0KK1gxOTE0OTlZMjAxNjI5RDAyKlkxOTMwMjlEMDEqDQorWDIwMDA5OUQwMSoNCitZMjAxNjI5RDAxKg0KK1gxOTE0OTlEMDEqDQorRzM3Kg0KK0c1NEQzMDYqWDIwNTc5OVkxOTczMjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDIwNTc5OVkxODQ4MjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMDU3OTlZMTc0ODI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjM1Nzk5WTE4NDgyOUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitZMTc0ODI5RDAzKg0KK1gyNzU3OTlZMTg0ODI5RDAzKg0KK1gyODU3OTlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitYMjc1Nzk5WTE3NDgyOUQwMyoNCitYMjg1Nzk5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorRzU0RDMwOCpYMzk0Mzk3WTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzOTE4MzhZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM4OTI3OVkxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzg2NzIwWTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzODQxNjJZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM4MTYwM1kxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzc5MDQ0WTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzNzY0ODVZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorRzU0RDMwOSpYNDYxMDAwWTE1MzQ5MkQwMipZMTUyNTA4RDAxKg0KK1g0NzM1MDBZMTY2NDkyRDAyKlkxNjU1MDhEMDEqDQorWDQ2ODM4MlkxNjY0OTJEMDIqWTE2NTUwOEQwMSoNCitYNDY4NDQxWTE1MzQ5MkQwMipZMTUyNTA4RDAxKg0KK1g0NTU4ODJZMTUzNDkyRDAyKlkxNTI1MDhEMDEqDQorWDQyNjk0MVkxNjY5OTJEMDIqWTE2NjAwOEQwMSoNCitYNDIxODIzWTE2Njk5MkQwMipZMTY2MDA4RDAxKg0KK1g0MzY0NDlZMTY2NTAwRDAyKlg0Mzc0MzNEMDEqDQorWDQzNjQ0OVkxNjEzODJEMDIqWDQzNzQzM0QwMSoNCitYNDczNTU5WTE1MzQ5MkQwMipZMTUyNTA4RDAxKg0KK1g0NjEwMDBZMTIzNDkyRDAyKlkxMjI1MDhEMDEqDQorWDQ1NTg4MlkxMjM0OTJEMDIqWTEyMjUwOEQwMSoNCitYNDczNTU5WTEyMzQ5MkQwMipZMTIyNTA4RDAxKg0KK1g0Njg0NDFZMTIzNDkyRDAyKlkxMjI1MDhEMDEqDQorWDQ3MzU1OVk5MzQ5MkQwMipZOTI1MDhEMDEqDQorWDQ2ODQ0MVk5MzQ5MkQwMipZOTI1MDhEMDEqDQorWDQ2MTA1OVk5MzQ5MkQwMipZOTI1MDhEMDEqDQorWDQ1NTk0MVk5MzQ5MkQwMipZOTI1MDhEMDEqDQorWDQ3MzUwMFkxMDY5OTJEMDIqWTEwNjAwOEQwMSoNCitYNDY4MzgyWTEwNjk5MkQwMipZMTA2MDA4RDAxKg0KK1g0NzM1MDBZMTM2NDkyRDAyKlkxMzU1MDhEMDEqDQorWDQ2ODM4MlkxMzY0OTJEMDIqWTEzNTUwOEQwMSoNCitYMjg2OTQ5WTQ5OTQxRDAyKlgyODc5MzNEMDEqDQorWDI1Njk0OUQwMipYMjU3OTMzRDAxKg0KK1gyMjY5NDlEMDIqWDIyNzkzM0QwMSoNCitYMTk2OTQ5RDAyKlgxOTc5MzNEMDEqDQorWDE2Njk0OUQwMipYMTY3OTMzRDAxKg0KK1gyNTY5NDlZNTUwNTlEMDIqWDI1NzkzM0QwMSoNCitYMjI2OTQ5RDAyKlgyMjc5MzNEMDEqDQorWDE5Njk0OUQwMipYMTk3OTMzRDAxKg0KK1gxNjY5NDlEMDIqWDE2NzkzM0QwMSoNCitYMjg2OTQ5RDAyKlgyODc5MzNEMDEqDQorWDQzNDQ0OVk2NTU1OUQwMipYNDM1NDMzRDAxKg0KK1g0MzQ0NDlZNjA0NDFEMDIqWDQzNTQzM0QwMSoNCitHNTREMzA4Klg0NDI1NTlZODMwNzVEMDIqWTc4NDY5RDAxKg0KK1g0NDAwMDBZODMwNzVEMDIqWTc4NDY5RDAxKg0KK0c1NEQzMTAqWDQzNzQ0MVk4MzA3NUQwMipZNzg0NjlEMDEqDQorRzU0RDMwOCpYNDM0ODgyWTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitYNDMyMzI0WTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitYNDI5NzY1WTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitYNDI3MjA2WTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitYNDI0NjQ3WTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitHNTREMzA5Klg0NDA0NDlZNjU1NTlEMDIqWDQ0MTQzM0QwMSoNCitYNDQwNDQ5WTYwNDQxRDAyKlg0NDE0MzNEMDEqDQorRzU0RDMwOCpYNDI0NjQ3WTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0MjcyMDZZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQyOTc2NVkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDMyMzI0WTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0MzQ4ODJZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQzNzQ0MVkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDQwMDAwWTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0NDI1NTlZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorRzU0RDMwOSpYNDYxMDU5WTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDU1OTQxWTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDY4NDQxWTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDczNTU5WTQ2OTkyRDAyKlk0NjAwOEQwMSoNCitYNDY4NDQxWTQ2OTkyRDAyKlk0NjAwOEQwMSoNCitYNDczNTU5WTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDczNTAwWTc2OTkyRDAyKlk3NjAwOEQwMSoNCitYNDY4MzgyWTc2OTkyRDAyKlk3NjAwOEQwMSoNCitYNDYxMDAwWTM5MzQ5MkQwMipZMzkyNTA4RDAxKg0KK1g0NTU4ODJZMzkzNDkyRDAyKlkzOTI1MDhEMDEqDQorWDQ2MTA1OVkzNjM0OTJEMDIqWTM2MjUwOEQwMSoNCitYNDczNTAwWTM3Njk5MkQwMipZMzc2MDA4RDAxKg0KK1g0NjgzODJZMzc2OTkyRDAyKlkzNzYwMDhEMDEqDQorWDQ2ODQ0MVkzNjM0OTJEMDIqWTM2MjUwOEQwMSoNCitYNDY4NTAwWTM0Njk5MkQwMipZMzQ2MDA4RDAxKg0KK1g0NTU5NDFZMzYzNDkyRDAyKlkzNjI1MDhEMDEqDQorWDQ2MTAwMFkzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDU1ODgyWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0NzM1MDBZMzE2OTkyRDAyKlkzMTYwMDhEMDEqDQorWDQ2ODM4MlkzMTY5OTJEMDIqWTMxNjAwOEQwMSoNCitYNDY4NDQxWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0NzM1NTlZMzkzNDkyRDAyKlkzOTI1MDhEMDEqDQorWDQ2ODQ0MVkzOTM0OTJEMDIqWTM5MjUwOEQwMSoNCitYNDI3MDAwWTM5MjQ5MkQwMipZMzkxNTA4RDAxKg0KK1g0MjY5NDFZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQyNzExOFkzNzcwNTFEMDIqWTM3NjA2N0QwMSoNCitYNDIxODgyWTM5MjQ5MkQwMipZMzkxNTA4RDAxKg0KK1g0MjE4MjNZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQyMjAwMFkzNzcwNTFEMDIqWTM3NjA2N0QwMSoNCitYNDI3MDAwWTM2MjQ5MkQwMipZMzYxNTA4RDAxKg0KK1g0MjE4ODJZMzYyNDkyRDAyKlkzNjE1MDhEMDEqDQorWDQxNDUwMFkzNjM0OTJEMDIqWTM2MjUwOEQwMSoNCitYNDA5MzgyWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0MzcwMDBZMzYyNDkyRDAyKlkzNjE1MDhEMDEqDQorWDQzMTg4MlkzNjI0OTJEMDIqWTM2MTUwOEQwMSoNCitYNDM2NDQ5WTM0NjYxOEQwMipYNDM3NDMzRDAxKg0KK1g0MzcwNTlZMzkyNjEwRDAyKlkzOTE2MjZEMDEqDQorWDQzNjQ0OVkzNzY2MThEMDIqWDQzNzQzM0QwMSoNCitYNDM2NDQ5WTM3MTUwMEQwMipYNDM3NDMzRDAxKg0KK1g0MzE5NDFZMzkyNjEwRDAyKlkzOTE2MjZEMDEqDQorWDQxNDU1OVkzOTM2MTBEMDIqWTM5MjYyNkQwMSoNCitYNDA5NDQxWTM5MzYxMEQwMipZMzkyNjI2RDAxKg0KK1g0MzY0NDlZMzQxNTAwRDAyKlg0Mzc0MzNEMDEqDQorWDQyNzAwMFkzMzI0OTJEMDIqWTMzMTUwOEQwMSoNCitYNDM3MDAwWTMzMjQ5MkQwMipZMzMxNTA4RDAxKg0KK1g0MzE4ODJZMzMyNDkyRDAyKlkzMzE1MDhEMDEqDQorWDQyNjk0MVkzMTY5OTJEMDIqWTMxNjAwOEQwMSoNCitYNDIxODIzWTMxNjk5MkQwMipZMzE2MDA4RDAxKg0KK1g0MzY0NDlZMzE2NTAwRDAyKlg0Mzc0MzNEMDEqDQorWDQxNDUwMFkzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDA5MzgyWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0MjE4ODJZMzMyNDkyRDAyKlkzMzE1MDhEMDEqDQorWDM5Nzk0OVkyMDU1NTlEMDIqWDM5ODkzM0QwMSoNCitYMzk3OTQ5WTIwMDQ0MUQwMipYMzk4OTMzRDAxKg0KK0c1NEQzMDgqWDM3NjQ4NVkxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzc5MDQ0WTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzODE2MDNZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM4NDE2MlkxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzg2NzIwWTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzODkyNzlZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM5MTgzOFkxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzk0Mzk3WTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzOTQ3NDdZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM5MjE4OFkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzg5NjI5WTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzODcwNzBZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM4NDUxMlkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzgxOTUzWTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzNzkzOTRZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM3NjgzNVkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM3OTM5NFkyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzgxOTUzWTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzODQ1MTJZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM4NzA3MFkyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitHNTREMzA5Klg0NjEwMDBZMjEzNDkyRDAyKlkyMTI1MDhEMDEqDQorWDQ1NTg4MlkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDYxMDAwWTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0NTU4ODJZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQ2ODM4MlkyMjY5OTJEMDIqWTIyNjAwOEQwMSoNCitYNDY4NDQxWTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1kyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDczNTAwWTE5Njk5MkQwMipZMTk2MDA4RDAxKg0KK1kxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDY4MzgyWTE5Njk5MkQwMipZMTk2MDA4RDAxKg0KK1kxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDYxMDAwWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0NTU4ODJZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQ2MTAwMFkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQ1NTg4MlkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQzNjUwOFkyNTY1NTlEMDIqWDQzNzQ5MkQwMSoNCitYNDM2NTA4WTI1MTQ0MUQwMipYNDM3NDkyRDAxKg0KK1g0MzcwMDBZMjQyNDkyRDAyKlkyNDE1MDhEMDEqDQorWDQzMTg4MlkyNDI0OTJEMDIqWTI0MTUwOEQwMSoNCitYNDI3MDU5WTIyNjk5MkQwMipZMjI2MDA4RDAxKg0KK1g0MzY1MDhZMjI2NTU5RDAyKlg0Mzc0OTJEMDEqDQorWDQzNjUwOFkyMjE0NDFEMDIqWDQzNzQ5MkQwMSoNCitYNDIxOTQxWTIyNjk5MkQwMipZMjI2MDA4RDAxKg0KK1g0MjE4MjNZMjU2OTkyRDAyKlkyNTYwMDhEMDEqDQorWDQyMTg4MlkyNDI0OTJEMDIqWTI0MTUwOEQwMSoNCitYNDE0NTU5WTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0MjcwMDBZMjEyNDkyRDAyKlkyMTE1MDhEMDEqDQorWDQzNzAwMFkyMTI0OTJEMDIqWTIxMTUwOEQwMSoNCitYNDMxODgyWTIxMjQ5MkQwMipZMjExNTA4RDAxKg0KK1g0MTQ1MDBZMjEzNDkyRDAyKlkyMTI1MDhEMDEqDQorWDQwOTM4MlkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDIxODgyWTIxMjQ5MkQwMipZMjExNTA4RDAxKg0KK1g0MjY5NDFZMTk2NDkyRDAyKlkxOTU1MDhEMDEqDQorWDQyMTgyM1kxOTY0OTJEMDIqWTE5NTUwOEQwMSoNCitYNDM3MDAwWTE4MjQ5MkQwMipZMTgxNTA4RDAxKg0KK1g0MzE4ODJZMTgyNDkyRDAyKlkxODE1MDhEMDEqDQorWDQyNzAwMFkxODI0OTJEMDIqWTE4MTUwOEQwMSoNCitYNDIxODgyWTE4MjQ5MkQwMipZMTgxNTA4RDAxKg0KK1g0MTQ1MDBZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQwOTM4MlkxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDczNTAwWTI1NjQ5MkQwMipZMjU1NTA4RDAxKg0KK1g0NjgzODJZMjU2NDkyRDAyKlkyNTU1MDhEMDEqDQorWDQ3MzY3N1kyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDY4NTU5WTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0NzM1MDBZMjI2OTkyRDAyKlkyMjYwMDhEMDEqDQorWDQ3MzU1OVkyNDM0OTJEMDIqWTI0MjUwOEQwMSoNCitZMjEzNDkyRDAyKlkyMTI1MDhEMDEqDQorWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1kzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDczMDAwWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1g0NzM1MDBZMjg2OTkyRDAyKlkyODYwMDhEMDEqDQorWDQ2ODM4MlkyODY5OTJEMDIqWTI4NjAwOEQwMSoNCitYNDY3ODgyWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1g0NzM2MThZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQzNjQ0OVkzMTEzODJEMDIqWDQzNzQzM0QwMSoNCitYNDI3MDAwWTMwMjQ5MkQwMipZMzAxNTA4RDAxKg0KK1g0MjE4ODJZMzAyNDkyRDAyKlkzMDE1MDhEMDEqDQorWDQzNzAwMFkzMDI0OTJEMDIqWTMwMTUwOEQwMSoNCitYNDMxODgyWTMwMjQ5MkQwMipZMzAxNTA4RDAxKg0KK1g0MzY1MDhZMjg2NTU5RDAyKlg0Mzc0OTJEMDEqDQorWDQxNDUwMFkzMDM0OTJEMDIqWTMwMjUwOEQwMSoNCitYNDA5MzgyWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1g0MjY5NDFZMjg2OTkyRDAyKlkyODYwMDhEMDEqDQorWDQyNzAwMFkyNzI0OTJEMDIqWTI3MTUwOEQwMSoNCitYNDI2OTQxWTI1Njk5MkQwMipZMjU2MDA4RDAxKg0KK1g0MjcwMDBZMjQyNDkyRDAyKlkyNDE1MDhEMDEqDQorWDQyMTgyM1kyODY5OTJEMDIqWTI4NjAwOEQwMSoNCitYNDIxODgyWTI3MjQ5MkQwMipZMjcxNTA4RDAxKg0KK1g0MTQ1NTlZMjczNDkyRDAyKlkyNzI1MDhEMDEqDQorWDQwOTQ0MVkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDM2NTA4WTI4MTQ0MUQwMipYNDM3NDkyRDAxKg0KK1g0MzcwMDBZMjcyNDkyRDAyKlkyNzE1MDhEMDEqDQorWDQzMTg4MlkyNzI0OTJEMDIqWTI3MTUwOEQwMSoNCitYNDA5NDQxWTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0MzY1MDhZMTk2NTU5RDAyKlg0Mzc0OTJEMDEqDQorWDQzNjUwOFkxOTE0NDFEMDIqWDQzNzQ5MkQwMSoNCitHNTREMzA4KlgzODg3NzlZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM5MTMzOFkzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzkzODk3WTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1kzNTExODlEMDIqWTM0NjU4M0QwMSoNCitYMzkxMzM4WTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzODg3NzlZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM4NjIyMFkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM4MzY2MlkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM4MTEwM1kzNTExODlEMDIqWTM0NjU4M0QwMSoNCitYMzc4NTQ0WTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzNzU5ODVZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1gzNzg1NDRZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM4MTEwM1kzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzg5NjI5WTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzOTIxODhZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM5MTgzOFkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzk0NzQ3WTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzOTQzOTdZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM4OTI3OVkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzg2NzIwWTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzODQxNjJZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM4MTYwM1kyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzc5MDQ0WTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzNzY0ODVZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorRzU0RDMwOSpYMzk3OTQ5WTMyNDU1OUQwMipYMzk4OTMzRDAxKg0KK1gzOTc5NDlZMzE5NDQxRDAyKlgzOTg5MzNEMDEqDQorRzU0RDMwOCpYMzg0MTYyWTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzODY3MjBZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM4MTYwM1kzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzc2NDg1WTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzNzkwNDRZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM4OTI3OVkzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzkxODM4WTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzOTQzOTdZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorRzU0RDMxMSpYMTQ3MDQ4WTM0NDU0M0QwMipYMTQ3ODM0RDAxKg0KK1gxNDcwNDhZMzM3NDU3RDAyKlgxNDc4MzREMDEqDQorRzU0RDMxMipYMTM2Nzk5WTMyNzcyOUQwMipZMzIxMTI5RDAxKg0KK1gxMjc3OTlZMzI3NzI5RDAyKlkzMjExMjlEMDEqDQorWDExODY5OVkzMjc3MjlEMDIqWTMyMTEyOUQwMSoNCitHNTREMzEzKlgxMjMyOTlZMzQ4ODI5RDAyKlgxMzIyOTlEMDEqDQorRzU0RDMxMSpYMTgzMTQ4WTIzNTM1N0QwMipYMTgzOTM0RDAxKg0KK1gxODMxNDhZMjQyNDQzRDAyKlgxODM5MzREMDEqDQorRzU0RDMwOSpYMjA1NjgxWTI2OTMyMUQwMipZMjY4MzM3RDAxKg0KK1gyMTA3OTlZMjY5MzIxRDAyKlkyNjgzMzdEMDEqDQorRzU0RDMxMSpYMjA0OTk4WTI2MzI5M0QwMipZMjYyNTA3RDAxKg0KK1gyMTIwODRZMjYzMjkzRDAyKlkyNjI1MDdEMDEqDQorRzU0RDMxMipYMTk0NDQxWTI1NDIwMEQwMipZMjQ3NjAwRDAxKg0KK1gyMDM0NDFZMjU0MjAwRDAyKlkyNDc2MDBEMDEqDQorWDIxMjU0MVkyNTQyMDBEMDIqWTI0NzYwMEQwMSoNCitHNTREMzEzKlgxOTg5NDFZMjI2NTAwRDAyKlgyMDc5NDFEMDEqDQorRzU0RDMxMSpYMTI1ODg1WTMwOTIyMkQwMipZMzA4NDM2RDAxKg0KK1gxMTg3OTlZMzA5MjIyRDAyKlkzMDg0MzZEMDEqDQorRzU0RDMwOSpYNzY5NDlZNDk5NDFEMDIqWDc3OTMzRDAxKg0KK1gxMDY5NDlEMDIqWDEwNzkzM0QwMSoNCitYNzY5NDlZNTUwNTlEMDIqWDc3OTMzRDAxKg0KK1gxMDY5NDlEMDIqWDEwNzkzM0QwMSoNCitYMTM2OTQ5WTQ5OTQxRDAyKlgxMzc5MzNEMDEqDQorWDEzNjk0OVk1NTA1OUQwMipYMTM3OTMzRDAxKg0KK0c1NEQzMTQqWDI4NzkxN1kzMDM0NDlEMDIqWTMwMjQ2NUQwMSoNCitHNTREMzA5KlgyOTMwMzVZMzAzNDQ5RDAyKlkzMDI0NjVEMDEqDQorTTAyKg0KZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tcGFzdGUuZ2JyIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ib3R0b21wYXN0ZS5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI1NmVjOQotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tcGFzdGUuZ2JyCkBAIC0wLDAgKzEsMjk1IEBACitHMDQgc3RhcnQgb2YgcGFnZSAxMyBmb3IgZ3JvdXAgLTQwMTQgaWR4IC00MDE0ICoNCitHMDQgVGl0bGU6IDk3MSBCQkIgQ2FwZSwgYm90dG9tcGFzdGUgKg0KK0cwNCBDcmVhdG9yOiBwY2IgMjAxMTA5MTggKg0KK0cwNCBDcmVhdGlvbkRhdGU6IE1vbiBKYW4gMjAgMjE6MDQ6NDIgMjAxNCBVVEMgKg0KK0cwNCBGb3I6IGJyaWFucyAqDQorRzA0IEZvcm1hdDogR2VyYmVyL1JTLTI3NFggKg0KK0cwNCBQQ0ItRGltZW5zaW9uczogNTAwMDAwIDQwMDAwMCAqDQorRzA0IFBDQi1Db29yZGluYXRlLU9yaWdpbjogbG93ZXIgbGVmdCAqDQorJU1PSU4qJQ0KKyVGU0xBWDI1WTI1KiUNCislTE5CT1RUT01QQVNURSolDQorJUFERDM0M1IsMC4xMjIwWDAuMTIyMColDQorJUFERDM0MlIsMC4wNTYwWDAuMDU2MColDQorJUFERDM0MVIsMC4wMzQ1WDAuMDM0NSolDQorJUFERDM0MFIsMC4wNTEyWDAuMDUxMiolDQorJUFERDMzOVIsMC4wMTgwWDAuMDE4MColDQorJUFERDMzOFIsMC4wMjk1WDAuMDI5NSolDQorJUFERDMzN1IsMC4wMTMwWDAuMDEzMColDQorRzU0RDMzNypYMzk0Mzk3WTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzOTE4MzhZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM4OTI3OVkxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzg2NzIwWTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzODQxNjJZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWDM4MTYwM1kxNzI2ODlEMDIqWTE2ODA4M0QwMSoNCitYMzc5MDQ0WTE3MjY4OUQwMipZMTY4MDgzRDAxKg0KK1gzNzY0ODVZMTcyNjg5RDAyKlkxNjgwODNEMDEqDQorWTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzNzkwNDRZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM4MTYwM1kxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzg0MTYyWTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzODY3MjBZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorWDM4OTI3OVkxOTU5MTdEMDIqWTE5MTMxMUQwMSoNCitYMzkxODM4WTE5NTkxN0QwMipZMTkxMzExRDAxKg0KK1gzOTQzOTdZMTk1OTE3RDAyKlkxOTEzMTFEMDEqDQorRzU0RDMzOCpYMzk3OTQ5WTMyNDU1OUQwMipYMzk4OTMzRDAxKg0KK1gzOTc5NDlZMzE5NDQxRDAyKlgzOTg5MzNEMDEqDQorRzU0RDMzNypYNDI0NjQ3WTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0MjcyMDZZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQyOTc2NVkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDMyMzI0WTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0MzQ4ODJZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWDQzNzQ0MVkxMDYzMDNEMDIqWTEwMTY5N0QwMSoNCitYNDQwMDAwWTEwNjMwM0QwMipZMTAxNjk3RDAxKg0KK1g0NDI1NTlZMTA2MzAzRDAyKlkxMDE2OTdEMDEqDQorWTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitYNDQwMDAwWTgzMDc1RDAyKlk3ODQ2OUQwMSoNCitHNTREMzM5Klg0Mzc0NDFZODMwNzVEMDIqWTc4NDY5RDAxKg0KK0c1NEQzMzcqWDQzNDg4Mlk4MzA3NUQwMipZNzg0NjlEMDEqDQorWDQzMjMyNFk4MzA3NUQwMipZNzg0NjlEMDEqDQorWDQyOTc2NVk4MzA3NUQwMipZNzg0NjlEMDEqDQorWDQyNzIwNlk4MzA3NUQwMipZNzg0NjlEMDEqDQorWDQyNDY0N1k4MzA3NUQwMipZNzg0NjlEMDEqDQorRzU0RDMzOCpYNDI3MDAwWTM5MjQ5MkQwMipZMzkxNTA4RDAxKg0KK1g0MjE4ODJZMzkyNDkyRDAyKlkzOTE1MDhEMDEqDQorWDQ2MTAwMFkxNTM0OTJEMDIqWTE1MjUwOEQwMSoNCitYNDU1ODgyWTE1MzQ5MkQwMipZMTUyNTA4RDAxKg0KK1g0NjEwNTlZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0NTU5NDFZNjM0OTJEMDIqWTYyNTA4RDAxKg0KK1g0NjEwMDBZMTIzNDkyRDAyKlkxMjI1MDhEMDEqDQorWDQ1NTg4MlkxMjM0OTJEMDIqWTEyMjUwOEQwMSoNCitYNDYxMDAwWTIxMzQ5MkQwMipZMjEyNTA4RDAxKg0KK1g0NTU4ODJZMjEzNDkyRDAyKlkyMTI1MDhEMDEqDQorWDQ2MTAwMFkyNDM0OTJEMDIqWTI0MjUwOEQwMSoNCitYNDU1ODgyWTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0NjEwMDBZMzkzNDkyRDAyKlkzOTI1MDhEMDEqDQorWDQ1NTg4MlkzOTM0OTJEMDIqWTM5MjUwOEQwMSoNCitYNDYxMDU5WTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0NTU5NDFZMzYzNDkyRDAyKlkzNjI1MDhEMDEqDQorWDQ2MTAwMFkzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDU1ODgyWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0NzM1MDBZMzc2OTkyRDAyKlkzNzYwMDhEMDEqDQorWDQ2ODM4MlkzNzY5OTJEMDIqWTM3NjAwOEQwMSoNCitYNDczNTAwWTMxNjk5MkQwMipZMzE2MDA4RDAxKg0KK1g0NjgzODJZMzE2OTkyRDAyKlkzMTYwMDhEMDEqDQorWDQ3MzUwMFkyODY5OTJEMDIqWTI4NjAwOEQwMSoNCitYNDY4MzgyWTI4Njk5MkQwMipZMjg2MDA4RDAxKg0KK1g0NzM1MDBZMjU2NDkyRDAyKlkyNTU1MDhEMDEqDQorWDQ2ODM4MlkyNTY0OTJEMDIqWTI1NTUwOEQwMSoNCitYNDczNTAwWTIyNjk5MkQwMipZMjI2MDA4RDAxKg0KK1g0NjgzODJZMjI2OTkyRDAyKlkyMjYwMDhEMDEqDQorWDQ3MzUwMFkxOTY5OTJEMDIqWTE5NjAwOEQwMSoNCitYNDY4MzgyWTE5Njk5MkQwMipZMTk2MDA4RDAxKg0KK1g0NzM1MDBZMTY2NDkyRDAyKlkxNjU1MDhEMDEqDQorWDQ2ODM4MlkxNjY0OTJEMDIqWTE2NTUwOEQwMSoNCitYNDI3MDAwWTM2MjQ5MkQwMipZMzYxNTA4RDAxKg0KK1g0MjE4ODJZMzYyNDkyRDAyKlkzNjE1MDhEMDEqDQorWDQzNzAwMFkzNjI0OTJEMDIqWTM2MTUwOEQwMSoNCitYNDMxODgyWTM2MjQ5MkQwMipZMzYxNTA4RDAxKg0KK1g0MjY5NDFZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQyMTgyM1kzNDY5OTJEMDIqWTM0NjAwOEQwMSoNCitYNDE0NTAwWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0MDkzODJZMzYzNDkyRDAyKlkzNjI1MDhEMDEqDQorWDQzNjQ0OVkzNDY2MThEMDIqWDQzNzQzM0QwMSoNCitYNDM2NDQ5WTM0MTUwMEQwMipYNDM3NDMzRDAxKg0KK1g0MjY5NDFZMzE2OTkyRDAyKlkzMTYwMDhEMDEqDQorWDQyMTgyM1kzMTY5OTJEMDIqWTMxNjAwOEQwMSoNCitYNDM2NDQ5WTMxNjUwMEQwMipYNDM3NDMzRDAxKg0KK1g0MzY0NDlZMzExMzgyRDAyKlg0Mzc0MzNEMDEqDQorWDQxNDUwMFkzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDA5MzgyWTMzMzQ5MkQwMipZMzMyNTA4RDAxKg0KK1g0MjcwMDBZMzMyNDkyRDAyKlkzMzE1MDhEMDEqDQorWDQyMTg4MlkzMzI0OTJEMDIqWTMzMTUwOEQwMSoNCitYNDM3MDAwWTMzMjQ5MkQwMipZMzMxNTA4RDAxKg0KK1g0MzE4ODJZMzMyNDkyRDAyKlkzMzE1MDhEMDEqDQorWDQyNzAwMFkzMDI0OTJEMDIqWTMwMTUwOEQwMSoNCitYNDIxODgyWTMwMjQ5MkQwMipZMzAxNTA4RDAxKg0KK1g0MzcwMDBZMzAyNDkyRDAyKlkzMDE1MDhEMDEqDQorWDQzMTg4MlkzMDI0OTJEMDIqWTMwMTUwOEQwMSoNCitYNDI2OTQxWTI4Njk5MkQwMipZMjg2MDA4RDAxKg0KK1g0MjE4MjNZMjg2OTkyRDAyKlkyODYwMDhEMDEqDQorWDQzNjUwOFkyODY1NTlEMDIqWDQzNzQ5MkQwMSoNCitYNDM2NTA4WTI4MTQ0MUQwMipYNDM3NDkyRDAxKg0KK1g0MTQ1MDBZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQwOTM4MlkzMDM0OTJEMDIqWTMwMjUwOEQwMSoNCitYNDI3MDAwWTI3MjQ5MkQwMipZMjcxNTA4RDAxKg0KK1g0MjE4ODJZMjcyNDkyRDAyKlkyNzE1MDhEMDEqDQorWDQzNzAwMFkyNzI0OTJEMDIqWTI3MTUwOEQwMSoNCitYNDMxODgyWTI3MjQ5MkQwMipZMjcxNTA4RDAxKg0KK1g0MjY5NDFZMjU2OTkyRDAyKlkyNTYwMDhEMDEqDQorWDQyMTgyM1kyNTY5OTJEMDIqWTI1NjAwOEQwMSoNCitYNDM2NTA4WTI1NjU1OUQwMipYNDM3NDkyRDAxKg0KK1g0MzY1MDhZMjUxNDQxRDAyKlg0Mzc0OTJEMDEqDQorWDQxNDU1OVkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDA5NDQxWTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0MjcwMDBZMjQyNDkyRDAyKlkyNDE1MDhEMDEqDQorWDQyMTg4MlkyNDI0OTJEMDIqWTI0MTUwOEQwMSoNCitYNDM3MDAwWTI0MjQ5MkQwMipZMjQxNTA4RDAxKg0KK1g0MzE4ODJZMjQyNDkyRDAyKlkyNDE1MDhEMDEqDQorWDQyNzA1OVkyMjY5OTJEMDIqWTIyNjAwOEQwMSoNCitYNDIxOTQxWTIyNjk5MkQwMipZMjI2MDA4RDAxKg0KK1g0MzY1MDhZMjI2NTU5RDAyKlg0Mzc0OTJEMDEqDQorWDQzNjUwOFkyMjE0NDFEMDIqWDQzNzQ5MkQwMSoNCitYNDE0NTU5WTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0MDk0NDFZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQyNzAwMFkyMTI0OTJEMDIqWTIxMTUwOEQwMSoNCitYNDIxODgyWTIxMjQ5MkQwMipZMjExNTA4RDAxKg0KK1g0MzcwMDBZMjEyNDkyRDAyKlkyMTE1MDhEMDEqDQorWDQzMTg4MlkyMTI0OTJEMDIqWTIxMTUwOEQwMSoNCitYNDI2OTQxWTE5NjQ5MkQwMipZMTk1NTA4RDAxKg0KK1g0MjE4MjNZMTk2NDkyRDAyKlkxOTU1MDhEMDEqDQorWDQxNDUwMFkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDA5MzgyWTIxMzQ5MkQwMipZMjEyNTA4RDAxKg0KK1g0MzcwMDBZMTgyNDkyRDAyKlkxODE1MDhEMDEqDQorWDQzMTg4MlkxODI0OTJEMDIqWTE4MTUwOEQwMSoNCitYNDI3MDAwWTE4MjQ5MkQwMipZMTgxNTA4RDAxKg0KK1g0MjE4ODJZMTgyNDkyRDAyKlkxODE1MDhEMDEqDQorWDQyNjk0MVkxNjY5OTJEMDIqWTE2NjAwOEQwMSoNCitYNDIxODIzWTE2Njk5MkQwMipZMTY2MDA4RDAxKg0KK1g0MzY0NDlZMTY2NTAwRDAyKlg0Mzc0MzNEMDEqDQorWDQzNjQ0OVkxNjEzODJEMDIqWDQzNzQzM0QwMSoNCitYNDE0NTAwWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0MDkzODJZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQzNzA1OVkzOTI2MTBEMDIqWTM5MTYyNkQwMSoNCitYNDMxOTQxWTM5MjYxMEQwMipZMzkxNjI2RDAxKg0KK1g0MjcxMThZMzc3MDUxRDAyKlkzNzYwNjdEMDEqDQorWDQyMjAwMFkzNzcwNTFEMDIqWTM3NjA2N0QwMSoNCitYNDE0NTU5WTM5MzYxMEQwMipZMzkyNjI2RDAxKg0KK1g0MDk0NDFZMzkzNjEwRDAyKlkzOTI2MjZEMDEqDQorWDQ3MzU1OVkxMjM0OTJEMDIqWTEyMjUwOEQwMSoNCitYNDY4NDQxWTEyMzQ5MkQwMipZMTIyNTA4RDAxKg0KK1g0NzM1NTlZMTUzNDkyRDAyKlkxNTI1MDhEMDEqDQorWDQ2ODQ0MVkxNTM0OTJEMDIqWTE1MjUwOEQwMSoNCitYNDczNTU5WTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDY4NDQxWTkzNDkyRDAyKlk5MjUwOEQwMSoNCitYNDczNTU5WTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDY4NDQxWTYzNDkyRDAyKlk2MjUwOEQwMSoNCitYNDczNTU5WTI0MzQ5MkQwMipZMjQyNTA4RDAxKg0KK1g0Njg0NDFZMjQzNDkyRDAyKlkyNDI1MDhEMDEqDQorWDQ3MzY3N1kyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDY4NTU5WTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0NzM1NTlZMjEzNDkyRDAyKlkyMTI1MDhEMDEqDQorWDQ2ODQ0MVkyMTM0OTJEMDIqWTIxMjUwOEQwMSoNCitYNDczNTAwWTE4MzQ5MkQwMipZMTgyNTA4RDAxKg0KK1g0NjgzODJZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQ3MzU1OVkzNjM0OTJEMDIqWTM2MjUwOEQwMSoNCitYNDY4NDQxWTM2MzQ5MkQwMipZMzYyNTA4RDAxKg0KK1g0NzM1NTlZMzMzNDkyRDAyKlkzMzI1MDhEMDEqDQorWDQ2ODQ0MVkzMzM0OTJEMDIqWTMzMjUwOEQwMSoNCitYNDczMDAwWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1g0Njc4ODJZMzAzNDkyRDAyKlkzMDI1MDhEMDEqDQorWDQ3MzU1OVkzOTM0OTJEMDIqWTM5MjUwOEQwMSoNCitYNDY4NDQxWTM5MzQ5MkQwMipZMzkyNTA4RDAxKg0KK1g0MzY1MDhZMTk2NTU5RDAyKlg0Mzc0OTJEMDEqDQorWDQzNjUwOFkxOTE0NDFEMDIqWDQzNzQ5MkQwMSoNCitYNDM2NDQ5WTM3NjYxOEQwMipYNDM3NDMzRDAxKg0KK1g0MzY0NDlZMzcxNTAwRDAyKlg0Mzc0MzNEMDEqDQorWDM5Nzk0OVkyMDU1NTlEMDIqWDM5ODkzM0QwMSoNCitYMzk3OTQ5WTIwMDQ0MUQwMipYMzk4OTMzRDAxKg0KK1g0NjEwNTlZOTM0OTJEMDIqWTkyNTA4RDAxKg0KK1g0NTU5NDFZOTM0OTJEMDIqWTkyNTA4RDAxKg0KK1g0NzM1NTlZNDY5OTJEMDIqWTQ2MDA4RDAxKg0KK1g0Njg0NDFZNDY5OTJEMDIqWTQ2MDA4RDAxKg0KK1g0NzM1MDBZNzY5OTJEMDIqWTc2MDA4RDAxKg0KK1g0NjgzODJZNzY5OTJEMDIqWTc2MDA4RDAxKg0KK1g0NzM1MDBZMTA2OTkyRDAyKlkxMDYwMDhEMDEqDQorWDQ2ODM4MlkxMDY5OTJEMDIqWTEwNjAwOEQwMSoNCitYNDczNTAwWTEzNjQ5MkQwMipZMTM1NTA4RDAxKg0KK1g0NjgzODJZMTM2NDkyRDAyKlkxMzU1MDhEMDEqDQorWDQ2MTAwMFkyNzM0OTJEMDIqWTI3MjUwOEQwMSoNCitYNDU1ODgyWTI3MzQ5MkQwMipZMjcyNTA4RDAxKg0KK1g0NjEwMDBZMTgzNDkyRDAyKlkxODI1MDhEMDEqDQorWDQ1NTg4MlkxODM0OTJEMDIqWTE4MjUwOEQwMSoNCitYNDczNjE4WTM0Njk5MkQwMipZMzQ2MDA4RDAxKg0KK1g0Njg1MDBZMzQ2OTkyRDAyKlkzNDYwMDhEMDEqDQorWDQ2MTAwMFkzMDM0OTJEMDIqWTMwMjUwOEQwMSoNCitYNDU1ODgyWTMwMzQ5MkQwMipZMzAyNTA4RDAxKg0KK1gyMDU2ODFZMjY5MzIxRDAyKlkyNjgzMzdEMDEqDQorWDIxMDc5OVkyNjkzMjFEMDIqWTI2ODMzN0QwMSoNCitHNTREMzQwKlgxNDcwNDhZMzQ0NTQzRDAyKlgxNDc4MzREMDEqDQorWDE0NzA0OFkzMzc0NTdEMDIqWDE0NzgzNEQwMSoNCitYMTI1ODg1WTMwOTIyMkQwMipZMzA4NDM2RDAxKg0KK1gxMTg3OTlZMzA5MjIyRDAyKlkzMDg0MzZEMDEqDQorRzU0RDM0MSpYMjg3OTE3WTMwMzQ0OUQwMipZMzAyNDY1RDAxKg0KK0c1NEQzMzgqWDI5MzAzNVkzMDM0NDlEMDIqWTMwMjQ2NUQwMSoNCitHNTREMzQwKlgxODMxNDhZMjM1MzU3RDAyKlgxODM5MzREMDEqDQorWDE4MzE0OFkyNDI0NDNEMDIqWDE4MzkzNEQwMSoNCitYMjA0OTk4WTI2MzI5M0QwMipZMjYyNTA3RDAxKg0KK1gyMTIwODRZMjYzMjkzRDAyKlkyNjI1MDdEMDEqDQorRzU0RDM0MipYMTk0NDQxWTI1NDIwMEQwMipZMjQ3NjAwRDAxKg0KK1gyMDM0NDFZMjU0MjAwRDAyKlkyNDc2MDBEMDEqDQorWDIxMjU0MVkyNTQyMDBEMDIqWTI0NzYwMEQwMSoNCitHNTREMzQzKlgxOTg5NDFZMjI2NTAwRDAyKlgyMDc5NDFEMDEqDQorRzU0RDMzOCpYNzY5NDlZNDk5NDFEMDIqWDc3OTMzRDAxKg0KK1g3Njk0OVk1NTA1OUQwMipYNzc5MzNEMDEqDQorWDI4Njk0OVk0OTk0MUQwMipYMjg3OTMzRDAxKg0KK1gyODY5NDlZNTUwNTlEMDIqWDI4NzkzM0QwMSoNCitYMjU2OTQ5WTQ5OTQxRDAyKlgyNTc5MzNEMDEqDQorWDI1Njk0OVk1NTA1OUQwMipYMjU3OTMzRDAxKg0KK1gyMjY5NDlZNDk5NDFEMDIqWDIyNzkzM0QwMSoNCitYMjI2OTQ5WTU1MDU5RDAyKlgyMjc5MzNEMDEqDQorWDE5Njk0OVk0OTk0MUQwMipYMTk3OTMzRDAxKg0KK1gxOTY5NDlZNTUwNTlEMDIqWDE5NzkzM0QwMSoNCitYMTY2OTQ5WTQ5OTQxRDAyKlgxNjc5MzNEMDEqDQorWDE2Njk0OVk1NTA1OUQwMipYMTY3OTMzRDAxKg0KK1gxMzY5NDlZNDk5NDFEMDIqWDEzNzkzM0QwMSoNCitYMTM2OTQ5WTU1MDU5RDAyKlgxMzc5MzNEMDEqDQorWDEwNjk0OVk0OTk0MUQwMipYMTA3OTMzRDAxKg0KK1gxMDY5NDlZNTUwNTlEMDIqWDEwNzkzM0QwMSoNCitYNDQwNDQ5WTY1NTU5RDAyKlg0NDE0MzNEMDEqDQorWDQ0MDQ0OVk2MDQ0MUQwMipYNDQxNDMzRDAxKg0KK1g0MzQ0NDlZNjU1NTlEMDIqWDQzNTQzM0QwMSoNCitYNDM0NDQ5WTYwNDQxRDAyKlg0MzU0MzNEMDEqDQorRzU0RDM0MipYMTM2Nzk5WTMyNzcyOUQwMipZMzIxMTI5RDAxKg0KK1gxMjc3OTlZMzI3NzI5RDAyKlkzMjExMjlEMDEqDQorWDExODY5OVkzMjc3MjlEMDIqWTMyMTEyOUQwMSoNCitHNTREMzQzKlgxMjMyOTlZMzQ4ODI5RDAyKlgxMzIyOTlEMDEqDQorRzU0RDMzNypYMzk0NzQ3WTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzOTIxODhZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM4OTYyOVkyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzg3MDcwWTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzODQ1MTJZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWDM4MTk1M1kyMzE0NjBEMDIqWTIyNjg1NEQwMSoNCitYMzc5Mzk0WTIzMTQ2MEQwMipZMjI2ODU0RDAxKg0KK1gzNzY4MzVZMjMxNDYwRDAyKlkyMjY4NTREMDEqDQorWTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzNzkzOTRZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM4MTk1M1kyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzg0NTEyWTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzODcwNzBZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM4OTYyOVkyNTQ2ODhEMDIqWTI1MDA4MkQwMSoNCitYMzkyMTg4WTI1NDY4OEQwMipZMjUwMDgyRDAxKg0KK1gzOTQ3NDdZMjU0Njg4RDAyKlkyNTAwODJEMDEqDQorWDM5NDM5N1kyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzkxODM4WTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzODkyNzlZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM4NjcyMFkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzg0MTYyWTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1gzODE2MDNZMjkwNjg5RDAyKlkyODYwODNEMDEqDQorWDM3OTA0NFkyOTA2ODlEMDIqWTI4NjA4M0QwMSoNCitYMzc2NDg1WTI5MDY4OUQwMipZMjg2MDgzRDAxKg0KK1kzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzc5MDQ0WTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzODE2MDNZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM4NDE2MlkzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzg2NzIwWTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzODkyNzlZMzEzOTE3RDAyKlkzMDkzMTFEMDEqDQorWDM5MTgzOFkzMTM5MTdEMDIqWTMwOTMxMUQwMSoNCitYMzk0Mzk3WTMxMzkxN0QwMipZMzA5MzExRDAxKg0KK1gzOTM4OTdZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM5MTMzOFkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitYMzg4Nzc5WTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzODYyMjBZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM4MzY2MlkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitYMzgxMTAzWTM1MTE4OUQwMipZMzQ2NTgzRDAxKg0KK1gzNzg1NDRZMzUxMTg5RDAyKlkzNDY1ODNEMDEqDQorWDM3NTk4NVkzNTExODlEMDIqWTM0NjU4M0QwMSoNCitZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM3ODU0NFkzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzgxMTAzWTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1gzODM2NjJZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM4NjIyMFkzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitYMzg4Nzc5WTM3NDQxN0QwMipZMzY5ODExRDAxKg0KK1gzOTEzMzhZMzc0NDE3RDAyKlkzNjk4MTFEMDEqDQorWDM5Mzg5N1kzNzQ0MTdEMDIqWTM2OTgxMUQwMSoNCitNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ib3R0b21zaWxrLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tc2lsay5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRjOWFkZAotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuYm90dG9tc2lsay5nYnIKQEAgLTAsMCArMSw2MCBAQAorRzA0IHN0YXJ0IG9mIHBhZ2UgMTEgZm9yIGdyb3VwIC00MDc4IGlkeCAtNDA3OCAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIGJvdHRvbXNpbGsgKg0KK0cwNCBDcmVhdG9yOiBwY2IgMjAxMTA5MTggKg0KK0cwNCBDcmVhdGlvbkRhdGU6IE1vbiBKYW4gMjAgMjE6MDQ6NDIgMjAxNCBVVEMgKg0KK0cwNCBGb3I6IGJyaWFucyAqDQorRzA0IEZvcm1hdDogR2VyYmVyL1JTLTI3NFggKg0KK0cwNCBQQ0ItRGltZW5zaW9uczogNTAwMDAwIDQwMDAwMCAqDQorRzA0IFBDQi1Db29yZGluYXRlLU9yaWdpbjogbG93ZXIgbGVmdCAqDQorJU1PSU4qJQ0KKyVGU0xBWDI1WTI1KiUNCislTE5CT1RUT01TSUxLKiUNCislQUREMzI2QywwLjAwODAqJQ0KKyVBREQzMjVDLDAuMDEwMColDQorRzU0RDMyNSpYNDIyOTk3WTEwNzk1MkQwMipYNDQ0MjA5RDAxKg0KK1k3NjgyMEQwMSoNCitYNDIyOTk3RDAyKlg0NDQyMDlEMDEqDQorWDQyMjk5N1kxMDc5NTJEMDIqWTk0ODg2RDAxKg0KK1k4OTg4NkQwMipZNzY4MjBEMDEqDQorWTg5ODg2RDAyKkc3NSpHMDNYNDIyOTk3WTk0ODg2STBKMjUwMEQwMSpHMDEqDQorWDM3NDgzNVkxNjY0MzREMDIqWDM5NjA0N0QwMSoNCitYMzc0ODM1WTE5NzU2NkQwMipZMTY2NDM0RDAxKg0KK1kxOTc1NjZEMDIqWDM5NjA0N0QwMSoNCitZMTc5NTAwRDAyKlkxNjY0MzREMDEqDQorWTE5NzU2NkQwMipZMTg0NTAwRDAxKg0KK0c3NSpHMDNYMzk2MDQ3WTE3OTUwMEkwSi0yNTAwRDAxKkcwMSoNCitYMzc1MTg1WTIyNTIwNUQwMipYMzk2Mzk3RDAxKg0KK1gzNzUxODVZMjU2MzM3RDAyKlkyMjUyMDVEMDEqDQorWTI1NjMzN0QwMipYMzk2Mzk3RDAxKg0KK1kyMzgyNzFEMDIqWTIyNTIwNUQwMSoNCitZMjU2MzM3RDAyKlkyNDMyNzFEMDEqDQorRzc1KkcwM1gzOTYzOTdZMjM4MjcxSTBKLTI1MDBEMDEqRzAxKg0KK1gzNzQzMzVZMzQ0OTM0RDAyKlgzOTU1NDdEMDEqDQorWDM3NDMzNVkzNzYwNjZEMDIqWTM0NDkzNEQwMSoNCitZMzc2MDY2RDAyKlgzOTU1NDdEMDEqDQorWTM1ODAwMEQwMipZMzQ0OTM0RDAxKg0KK1kzNzYwNjZEMDIqWTM2MzAwMEQwMSoNCitHNzUqRzAzWDM5NTU0N1kzNTgwMDBJMEotMjUwMEQwMSpHMDEqDQorWDM3NDgzNVkyODQ0MzREMDIqWDM5NjA0N0QwMSoNCitYMzc0ODM1WTMxNTU2NkQwMipZMjg0NDM0RDAxKg0KK1kzMTU1NjZEMDIqWDM5NjA0N0QwMSoNCitZMjk3NTAwRDAyKlkyODQ0MzREMDEqDQorWTMxNTU2NkQwMipZMzAyNTAwRDAxKg0KK0c3NSpHMDNYMzk2MDQ3WTI5NzUwMEkwSi0yNTAwRDAxKkcwMSoNCitHNTREMzI2KlgxNDQ2ODZZMzQxMzkzRDAyKlkzNDA2MDdEMDEqDQorWDE1MDE5NlkzNDEzOTNEMDIqWTM0MDYwN0QwMSoNCitYMTIxOTQ5WTMxMTU4NEQwMipYMTIyNzM1RDAxKg0KK1gxMjE5NDlZMzA2MDc0RDAyKlgxMjI3MzVEMDEqDQorRzU0RDMyNSpYMTQxOTk5WTM1NzMyOUQwMipZMzE1OTI5RDAxKg0KK1gxMTM0OTlEMDIqWDE0MTk5OUQwMSoNCitYMTEzNDk5WTM1NzMyOUQwMipZMzE1OTI5RDAxKg0KK1kzNTczMjlEMDIqWDE0MTk5OUQwMSoNCitHNTREMzI2KlgyMDgxNDhZMjYwMTQ1RDAyKlgyMDg5MzREMDEqDQorWDIwODE0OFkyNjU2NTVEMDIqWDIwODkzNEQwMSoNCitHNTREMzI1KlgxODkyNDFZMjE4MDAwRDAyKlkyNTk0MDBEMDEqDQorWDIxNzc0MUQwMSoNCitZMjE4MDAwRDAxKg0KK1gxODkyNDFEMDEqDQorRzU0RDMyNipYMTg2Mjk2WTIzODUwN0QwMipZMjM5MjkzRDAxKg0KK1gxODA3ODZZMjM4NTA3RDAyKlkyMzkyOTNEMDEqDQorTTAyKg0KZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuZmFiLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuZmFiLmdicgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2E0YjllCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5mYWIuZ2JyCkBAIC0wLDAgKzEsMzA1MCBAQAorRzA0IHN0YXJ0IG9mIHBhZ2UgMTQgZm9yIGdyb3VwIC0zOTg0IGlkeCAtMzk4NCAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIGZhYiAqDQorRzA0IENyZWF0b3I6IHBjYiAyMDExMDkxOCAqDQorRzA0IENyZWF0aW9uRGF0ZTogTW9uIEphbiAyMCAyMTowNDo0MiAyMDE0IFVUQyAqDQorRzA0IEZvcjogYnJpYW5zICoNCitHMDQgRm9ybWF0OiBHZXJiZXIvUlMtMjc0WCAqDQorRzA0IFBDQi1EaW1lbnNpb25zOiA1MDAwMDAgNDAwMDAwICoNCitHMDQgUENCLUNvb3JkaW5hdGUtT3JpZ2luOiBsb3dlciBsZWZ0ICoNCislTU9JTiolDQorJUZTTEFYMjVZMjUqJQ0KKyVMTkZBQiolDQorJUFERDM0OEMsMC4wMTAwKiUNCislQUREMzQ3QywwLjAwNzUqJQ0KKyVBREQzNDZDLDAuMDA2MColDQorJUFERDM0NVIsMC4wMDgwWDAuMDA4MColDQorJUFERDM0NEMsMC4wMDAxKiUNCitHNTREMzQ0KkczNioNCitYOTA4OTlZMzQ1Mjk1RDAyKlg5NjI2NVkzMzk5MjlEMDEqDQorWDk1Njk5WTMzOTM2M0QwMSoNCitYOTAzMzNZMzQ0NzI5RDAxKg0KK1g5MDg5OVkzNDUyOTVEMDEqDQorRzM3Kg0KK0czNioNCitYOTAzMzNZMzM5OTI5RDAyKlg5NTY5OVkzNDUyOTVEMDEqDQorWDk2MjY1WTM0NDcyOUQwMSoNCitYOTA4OTlZMzM5MzYzRDAxKg0KK1g5MDMzM1kzMzk5MjlEMDEqDQorRzM3Kg0KK0c1NEQzNDUqWDkxNjk5WTM0MzkyOUQwMipYOTQ4OTlEMDEqDQorWDkxNjk5RDAyKlkzNDA3MjlEMDEqDQorWDk0ODk5RDAxKg0KK1kzNDM5MjlEMDIqWTM0MDcyOUQwMSoNCitHNTREMzQ0KkczNioNCitYMTI2MDBZNDE0MjE2RDAyKlgxNzk2Nlk0MDg4NTBEMDEqDQorWDE3NDAwWTQwODI4NEQwMSoNCitYMTIwMzRZNDEzNjUwRDAxKg0KK1gxMjYwMFk0MTQyMTZEMDEqDQorRzM3Kg0KK0czNioNCitYMTIwMzRZNDA4ODUwRDAyKlgxNzQwMFk0MTQyMTZEMDEqDQorWDE3OTY2WTQxMzY1MEQwMSoNCitYMTI2MDBZNDA4Mjg0RDAxKg0KK1gxMjAzNFk0MDg4NTBEMDEqDQorRzM3Kg0KK0c1NEQzNDUqWDEzNDAwWTQxMjg1MEQwMipYMTY2MDBEMDEqDQorWDEzNDAwRDAyKlk0MDk2NTBEMDEqDQorWDE2NjAwRDAxKg0KK1k0MTI4NTBEMDIqWTQwOTY1MEQwMSoNCitHNTREMzQ2KlgxMzUwMDBZNDEzNTAwRDAyKlgxMzY1MDBZNDEwNTAwRDAxKg0KK1gxMzgwMDBZNDEzNTAwRDAxKg0KK1gxMzY1MDBZNDEwNTAwRDAyKlk0MDc1MDBEMDEqDQorWDEzOTgwMFk0MTA4MDBEMDIqWDE0MjA1MEQwMSoNCitYMTM5ODAwWTQwNzUwMEQwMipYMTQyODAwRDAxKg0KK1gxMzk4MDBZNDEzNTAwRDAyKlk0MDc1MDBEMDEqDQorWTQxMzUwMEQwMipYMTQyODAwRDAxKg0KK1gxNDc2MDBEMDIqWDE0ODM1MFk0MTI3NTBEMDEqDQorWDE0NTM1MFk0MTM1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTQxMjc1MEQwMipYMTQ1MzUwWTQxMzUwMEQwMSoNCitYMTQ0NjAwWTQxMjc1MEQwMipZNDExMjUwRDAxKg0KK1gxNDUzNTBZNDEwNTAwRDAxKg0KK1gxNDc2MDBEMDEqDQorWDE0ODM1MFk0MDk3NTBEMDEqDQorWTQwODI1MEQwMSoNCitYMTQ3NjAwWTQwNzUwMEQwMipYMTQ4MzUwWTQwODI1MEQwMSoNCitYMTQ1MzUwWTQwNzUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNDA4MjUwRDAyKlgxNDUzNTBZNDA3NTAwRDAxKg0KK1g5ODAwMFk0MTIzMDBEMDIqWDk5MjAwWTQxMzUwMEQwMSoNCitZNDA3NTAwRDAxKg0KK1g5ODAwMEQwMipYMTAwMjUwRDAxKg0KK1g0NTAwMFk0MDgyNTBEMDIqWDQ1NzUwWTQwNzUwMEQwMSoNCitYNDUwMDBZNDEyNzUwRDAyKlk0MDgyNTBEMDEqDQorWTQxMjc1MEQwMipYNDU3NTBZNDEzNTAwRDAxKg0KK1g0NzI1MEQwMSoNCitYNDgwMDBZNDEyNzUwRDAxKg0KK1k0MDgyNTBEMDEqDQorWDQ3MjUwWTQwNzUwMEQwMipYNDgwMDBZNDA4MjUwRDAxKg0KK1g0NTc1MFk0MDc1MDBEMDIqWDQ3MjUwRDAxKg0KK1g0NTAwMFk0MDkwMDBEMDIqWDQ4MDAwWTQxMjAwMEQwMSoNCitYNDk4MDBZNDA3NTAwRDAyKlg1MDU1MEQwMSoNCitYNTIzNTBZNDEyNzUwRDAyKlg1MzEwMFk0MTM1MDBEMDEqDQorWDU1MzUwRDAxKg0KK1g1NjEwMFk0MTI3NTBEMDEqDQorWTQxMTI1MEQwMSoNCitYNTIzNTBZNDA3NTAwRDAyKlg1NjEwMFk0MTEyNTBEMDEqDQorWDUyMzUwWTQwNzUwMEQwMipYNTYxMDBEMDEqDQorWDU3OTAwWTQwOTc1MEQwMipYNjA5MDBZNDEzNTAwRDAxKg0KK1g1NzkwMFk0MDk3NTBEMDIqWDYxNjUwRDAxKg0KK1g2MDkwMFk0MTM1MDBEMDIqWTQwNzUwMEQwMSoNCitYNjU3MDBZNDEzNTAwRDAyKlg2NjQ1MFk0MTI3NTBEMDEqDQorWDY0MjAwWTQxMzUwMEQwMipYNjU3MDBEMDEqDQorWDYzNDUwWTQxMjc1MEQwMipYNjQyMDBZNDEzNTAwRDAxKg0KK1g2MzQ1MFk0MTI3NTBEMDIqWTQwODI1MEQwMSoNCitYNjQyMDBZNDA3NTAwRDAxKg0KK1g2NTcwMFk0MTA4MDBEMDIqWDY2NDUwWTQxMDA1MEQwMSoNCitYNjM0NTBZNDEwODAwRDAyKlg2NTcwMEQwMSoNCitYNjQyMDBZNDA3NTAwRDAyKlg2NTcwMEQwMSoNCitYNjY0NTBZNDA4MjUwRDAxKg0KK1k0MTAwNTBEMDIqWTQwODI1MEQwMSoNCitYMzE1Nzk5WTM0MDUyOUQwMipZMzM0MTI5RDAxKg0KK1gzMTI1OTlZMzM3MzI5RDAyKlgzMTg5OTlEMDEqDQorWDMxNDE5OVkzMzg5MjlEMDIqWDMxNzM5OUQwMSoNCitYMzE0MTk5RDAyKlkzMzU3MjlEMDEqDQorWDMxNzM5OUQwMSoNCitZMzM4OTI5RDAyKlkzMzU3MjlEMDEqDQorWDE1MDAwWTQyOTQ1MEQwMipZNDIzMDUwRDAxKg0KK1gxMTgwMFk0MjYyNTBEMDIqWDE4MjAwRDAxKg0KK1gxMzQwMFk0Mjc4NTBEMDIqWDE2NjAwRDAxKg0KK1gxMzQwMEQwMipZNDI0NjUwRDAxKg0KK1gxNjYwMEQwMSoNCitZNDI3ODUwRDAyKlk0MjQ2NTBEMDEqDQorWDEzNTAwMFk0Mjg1MDBEMDIqWDEzNjUwMFk0MjU1MDBEMDEqDQorWDEzODAwMFk0Mjg1MDBEMDEqDQorWDEzNjUwMFk0MjU1MDBEMDIqWTQyMjUwMEQwMSoNCitYMTM5ODAwWTQyNTgwMEQwMipYMTQyMDUwRDAxKg0KK1gxMzk4MDBZNDIyNTAwRDAyKlgxNDI4MDBEMDEqDQorWDEzOTgwMFk0Mjg1MDBEMDIqWTQyMjUwMEQwMSoNCitZNDI4NTAwRDAyKlgxNDI4MDBEMDEqDQorWDE0NzYwMEQwMipYMTQ4MzUwWTQyNzc1MEQwMSoNCitYMTQ1MzUwWTQyODUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNDI3NzUwRDAyKlgxNDUzNTBZNDI4NTAwRDAxKg0KK1gxNDQ2MDBZNDI3NzUwRDAyKlk0MjYyNTBEMDEqDQorWDE0NTM1MFk0MjU1MDBEMDEqDQorWDE0NzYwMEQwMSoNCitYMTQ4MzUwWTQyNDc1MEQwMSoNCitZNDIzMjUwRDAxKg0KK1gxNDc2MDBZNDIyNTAwRDAyKlgxNDgzNTBZNDIzMjUwRDAxKg0KK1gxNDUzNTBZNDIyNTAwRDAyKlgxNDc2MDBEMDEqDQorWDE0NDYwMFk0MjMyNTBEMDIqWDE0NTM1MFk0MjI1MDBEMDEqDQorWDk4MDAwWTQyNzMwMEQwMipYOTkyMDBZNDI4NTAwRDAxKg0KK1k0MjI1MDBEMDEqDQorWDk4MDAwRDAyKlgxMDAyNTBEMDEqDQorWDQ1MDAwWTQyMzI1MEQwMipYNDU3NTBZNDIyNTAwRDAxKg0KK1g0NTAwMFk0Mjc3NTBEMDIqWTQyMzI1MEQwMSoNCitZNDI3NzUwRDAyKlg0NTc1MFk0Mjg1MDBEMDEqDQorWDQ3MjUwRDAxKg0KK1g0ODAwMFk0Mjc3NTBEMDEqDQorWTQyMzI1MEQwMSoNCitYNDcyNTBZNDIyNTAwRDAyKlg0ODAwMFk0MjMyNTBEMDEqDQorWDQ1NzUwWTQyMjUwMEQwMipYNDcyNTBEMDEqDQorWDQ1MDAwWTQyNDAwMEQwMipYNDgwMDBZNDI3MDAwRDAxKg0KK1g0OTgwMFk0MjI1MDBEMDIqWDUwNTUwRDAxKg0KK1g1MjM1MFk0Mjc3NTBEMDIqWDUzMTAwWTQyODUwMEQwMSoNCitYNTUzNTBEMDEqDQorWDU2MTAwWTQyNzc1MEQwMSoNCitZNDI2MjUwRDAxKg0KK1g1MjM1MFk0MjI1MDBEMDIqWDU2MTAwWTQyNjI1MEQwMSoNCitYNTIzNTBZNDIyNTAwRDAyKlg1NjEwMEQwMSoNCitYNTc5MDBZNDIzMjUwRDAyKlg1ODY1MFk0MjI1MDBEMDEqDQorWDU3OTAwWTQyNzc1MEQwMipZNDIzMjUwRDAxKg0KK1k0Mjc3NTBEMDIqWDU4NjUwWTQyODUwMEQwMSoNCitYNjAxNTBEMDEqDQorWDYwOTAwWTQyNzc1MEQwMSoNCitZNDIzMjUwRDAxKg0KK1g2MDE1MFk0MjI1MDBEMDIqWDYwOTAwWTQyMzI1MEQwMSoNCitYNTg2NTBZNDIyNTAwRDAyKlg2MDE1MEQwMSoNCitYNTc5MDBZNDI0MDAwRDAyKlg2MDkwMFk0MjcwMDBEMDEqDQorWDYyNzAwWTQyMzI1MEQwMipYNjM0NTBZNDIyNTAwRDAxKg0KK1g2MjcwMFk0Mjc3NTBEMDIqWTQyMzI1MEQwMSoNCitZNDI3NzUwRDAyKlg2MzQ1MFk0Mjg1MDBEMDEqDQorWDY0OTUwRDAxKg0KK1g2NTcwMFk0Mjc3NTBEMDEqDQorWTQyMzI1MEQwMSoNCitYNjQ5NTBZNDIyNTAwRDAyKlg2NTcwMFk0MjMyNTBEMDEqDQorWDYzNDUwWTQyMjUwMEQwMipYNjQ5NTBEMDEqDQorWDYyNzAwWTQyNDAwMEQwMipYNjU3MDBZNDI3MDAwRDAxKg0KK1g4NTc5OVkxNzk4MjlEMDIqWTE3NjYyOUQwMSoNCitZMTc5ODI5RDAyKlg4ODU3MlkxODE0MjlEMDEqDQorWDg1Nzk5WTE3OTgyOUQwMipYODMwMjZZMTgxNDI5RDAxKg0KK1g4NDE5OVkxNzk4MjlEMDIqRzc1KkcwM1g4NzM5OVkxNzk4MjlJMTYwMEowRDAxKkcwMSoNCitHNzUqRzAzWDg0MTk5WTE3OTgyOUktMTYwMEowRDAxKkcwMSoNCitYODU3OTlZMzY5ODI5RDAyKlkzNjY2MjlEMDEqDQorWTM2OTgyOUQwMipYODg1NzJZMzcxNDI5RDAxKg0KK1g4NTc5OVkzNjk4MjlEMDIqWDgzMDI2WTM3MTQyOUQwMSoNCitYODQxOTlZMzY5ODI5RDAyKkc3NSpHMDNYODczOTlZMzY5ODI5STE2MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g4NDE5OVkzNjk4MjlJLTE2MDBKMEQwMSpHMDEqDQorWDM0NTc5OVkxOTIzMjlEMDIqWTE4OTEyOUQwMSoNCitZMTkyMzI5RDAyKlgzNDg1NzJZMTkzOTI5RDAxKg0KK1gzNDU3OTlZMTkyMzI5RDAyKlgzNDMwMjZZMTkzOTI5RDAxKg0KK1gzNDQxOTlZMTkyMzI5RDAyKkc3NSpHMDNYMzQ3Mzk5WTE5MjMyOUkxNjAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMzQ0MTk5WTE5MjMyOUktMTYwMEowRDAxKkcwMSoNCitYMzQ1Nzk5WTM1NzMyOUQwMipZMzU0MTI5RDAxKg0KK1kzNTczMjlEMDIqWDM0ODU3MlkzNTg5MjlEMDEqDQorWDM0NTc5OVkzNTczMjlEMDIqWDM0MzAyNlkzNTg5MjlEMDEqDQorWDM0NDE5OVkzNTczMjlEMDIqRzc1KkcwM1gzNDczOTlZMzU3MzI5STE2MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gzNDQxOTlZMzU3MzI5SS0xNjAwSjBEMDEqRzAxKg0KK1gxNTAwMFk0NDEyNTBEMDIqWTQzODA1MEQwMSoNCitZNDQxMjUwRDAyKlgxNzc3M1k0NDI4NTBEMDEqDQorWDE1MDAwWTQ0MTI1MEQwMipYMTIyMjdZNDQyODUwRDAxKg0KK1gxMzQwMFk0NDEyNTBEMDIqRzc1KkcwM1gxNjYwMFk0NDEyNTBJMTYwMEowRDAxKkcwMSoNCitHNzUqRzAzWDEzNDAwWTQ0MTI1MEktMTYwMEowRDAxKkcwMSoNCitYMTM1MDAwWTQ0MzUwMEQwMipYMTM2NTAwWTQ0MDUwMEQwMSoNCitYMTM4MDAwWTQ0MzUwMEQwMSoNCitYMTM2NTAwWTQ0MDUwMEQwMipZNDM3NTAwRDAxKg0KK1gxMzk4MDBZNDQwODAwRDAyKlgxNDIwNTBEMDEqDQorWDEzOTgwMFk0Mzc1MDBEMDIqWDE0MjgwMEQwMSoNCitYMTM5ODAwWTQ0MzUwMEQwMipZNDM3NTAwRDAxKg0KK1k0NDM1MDBEMDIqWDE0MjgwMEQwMSoNCitYMTQ3NjAwRDAyKlgxNDgzNTBZNDQyNzUwRDAxKg0KK1gxNDUzNTBZNDQzNTAwRDAyKlgxNDc2MDBEMDEqDQorWDE0NDYwMFk0NDI3NTBEMDIqWDE0NTM1MFk0NDM1MDBEMDEqDQorWDE0NDYwMFk0NDI3NTBEMDIqWTQ0MTI1MEQwMSoNCitYMTQ1MzUwWTQ0MDUwMEQwMSoNCitYMTQ3NjAwRDAxKg0KK1gxNDgzNTBZNDM5NzUwRDAxKg0KK1k0MzgyNTBEMDEqDQorWDE0NzYwMFk0Mzc1MDBEMDIqWDE0ODM1MFk0MzgyNTBEMDEqDQorWDE0NTM1MFk0Mzc1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTQzODI1MEQwMipYMTQ1MzUwWTQzNzUwMEQwMSoNCitYOTgwMDBZNDM5NzUwRDAyKlgxMDEwMDBZNDQzNTAwRDAxKg0KK1g5ODAwMFk0Mzk3NTBEMDIqWDEwMTc1MEQwMSoNCitYMTAxMDAwWTQ0MzUwMEQwMipZNDM3NTAwRDAxKg0KK1g0NTAwMFk0MzgyNTBEMDIqWDQ1NzUwWTQzNzUwMEQwMSoNCitYNDUwMDBZNDQyNzUwRDAyKlk0MzgyNTBEMDEqDQorWTQ0Mjc1MEQwMipYNDU3NTBZNDQzNTAwRDAxKg0KK1g0NzI1MEQwMSoNCitYNDgwMDBZNDQyNzUwRDAxKg0KK1k0MzgyNTBEMDEqDQorWDQ3MjUwWTQzNzUwMEQwMipYNDgwMDBZNDM4MjUwRDAxKg0KK1g0NTc1MFk0Mzc1MDBEMDIqWDQ3MjUwRDAxKg0KK1g0NTAwMFk0MzkwMDBEMDIqWDQ4MDAwWTQ0MjAwMEQwMSoNCitYNDk4MDBZNDM3NTAwRDAyKlg1MDU1MEQwMSoNCitYNTIzNTBZNDQyMzAwRDAyKlg1MzU1MFk0NDM1MDBEMDEqDQorWTQzNzUwMEQwMSoNCitYNTIzNTBEMDIqWDU0NjAwRDAxKg0KK1g1NjQwMFk0NDI3NTBEMDIqWDU3MTUwWTQ0MzUwMEQwMSoNCitYNTk0MDBEMDEqDQorWDYwMTUwWTQ0Mjc1MEQwMSoNCitZNDQxMjUwRDAxKg0KK1g1NjQwMFk0Mzc1MDBEMDIqWDYwMTUwWTQ0MTI1MEQwMSoNCitYNTY0MDBZNDM3NTAwRDAyKlg2MDE1MEQwMSoNCitYNjI3MDBEMDIqWDY0OTUwWTQ0MDUwMEQwMSoNCitZNDQyNzUwRDAyKlk0NDA1MDBEMDEqDQorWDY0MjAwWTQ0MzUwMEQwMipYNjQ5NTBZNDQyNzUwRDAxKg0KK1g2MjcwMFk0NDM1MDBEMDIqWDY0MjAwRDAxKg0KK1g2MTk1MFk0NDI3NTBEMDIqWDYyNzAwWTQ0MzUwMEQwMSoNCitYNjE5NTBZNDQyNzUwRDAyKlk0NDEyNTBEMDEqDQorWDYyNzAwWTQ0MDUwMEQwMSoNCitYNjQ5NTBEMDEqDQorWDEwNDE5OVkxODY0MjlEMDIqWDEwNzM5OUQwMSoNCitYMTA0MTk5RDAyKlkxODMyMjlEMDEqDQorWDEwNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDEwNDE5OVkxNzY0MjlEMDIqWDEwNzM5OUQwMSoNCitYMTA0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDEwNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDExNDE5OVkxODY0MjlEMDIqWDExNzM5OUQwMSoNCitYMTE0MTk5RDAyKlkxODMyMjlEMDEqDQorWDExNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDExNDE5OVkxNzY0MjlEMDIqWDExNzM5OUQwMSoNCitYMTE0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDExNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDEyNDE5OVkxODY0MjlEMDIqWDEyNzM5OUQwMSoNCitYMTI0MTk5RDAyKlkxODMyMjlEMDEqDQorWDEyNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDEyNDE5OVkxNzY0MjlEMDIqWDEyNzM5OUQwMSoNCitYMTI0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDEyNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDEzNDE5OVkxODY0MjlEMDIqWDEzNzM5OUQwMSoNCitYMTM0MTk5RDAyKlkxODMyMjlEMDEqDQorWDEzNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDEzNDE5OVkxNzY0MjlEMDIqWDEzNzM5OUQwMSoNCitYMTM0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDEzNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE0NDE5OVkxODY0MjlEMDIqWDE0NzM5OUQwMSoNCitYMTQ0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE0NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE0NDE5OVkxNzY0MjlEMDIqWDE0NzM5OUQwMSoNCitYMTQ0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE0NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE1NDE5OVkxODY0MjlEMDIqWDE1NzM5OUQwMSoNCitYMTU0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE1NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE1NDE5OVkxNzY0MjlEMDIqWDE1NzM5OUQwMSoNCitYMTU0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE1NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE2NDE5OVkxODY0MjlEMDIqWDE2NzM5OUQwMSoNCitYMTY0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE2NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE2NDE5OVkxNzY0MjlEMDIqWDE2NzM5OUQwMSoNCitYMTY0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE2NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE3NDE5OVkxODY0MjlEMDIqWDE3NzM5OUQwMSoNCitYMTc0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE3NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE3NDE5OVkxNzY0MjlEMDIqWDE3NzM5OUQwMSoNCitYMTc0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE3NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE4NDE5OVkxODY0MjlEMDIqWDE4NzM5OUQwMSoNCitYMTg0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE4NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE4NDE5OVkxNzY0MjlEMDIqWDE4NzM5OUQwMSoNCitYMTg0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE4NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDE5NDE5OVkxODY0MjlEMDIqWDE5NzM5OUQwMSoNCitYMTk0MTk5RDAyKlkxODMyMjlEMDEqDQorWDE5NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDE5NDE5OVkxNzY0MjlEMDIqWDE5NzM5OUQwMSoNCitYMTk0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDE5NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDIwNDE5OVkxODY0MjlEMDIqWDIwNzM5OUQwMSoNCitYMjA0MTk5RDAyKlkxODMyMjlEMDEqDQorWDIwNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDIwNDE5OVkxNzY0MjlEMDIqWDIwNzM5OUQwMSoNCitYMjA0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDIwNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDIxNDE5OVkxODY0MjlEMDIqWDIxNzM5OUQwMSoNCitYMjE0MTk5RDAyKlkxODMyMjlEMDEqDQorWDIxNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDIxNDE5OVkxNzY0MjlEMDIqWDIxNzM5OUQwMSoNCitYMjE0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDIxNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDIyNDE5OVkxODY0MjlEMDIqWDIyNzM5OUQwMSoNCitYMjI0MTk5RDAyKlkxODMyMjlEMDEqDQorWDIyNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDIyNDE5OVkxNzY0MjlEMDIqWDIyNzM5OUQwMSoNCitYMjI0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDIyNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDIzNDE5OVkxODY0MjlEMDIqWDIzNzM5OUQwMSoNCitYMjM0MTk5RDAyKlkxODMyMjlEMDEqDQorWDIzNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDIzNDE5OVkxNzY0MjlEMDIqWDIzNzM5OUQwMSoNCitYMjM0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDIzNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI0NDE5OVkxODY0MjlEMDIqWDI0NzM5OUQwMSoNCitYMjQ0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI0NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI0NDE5OVkxNzY0MjlEMDIqWDI0NzM5OUQwMSoNCitYMjQ0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI0NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI1NDE5OVkxODY0MjlEMDIqWDI1NzM5OUQwMSoNCitYMjU0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI1NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI1NDE5OVkxNzY0MjlEMDIqWDI1NzM5OUQwMSoNCitYMjU0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI1NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI2NDE5OVkxODY0MjlEMDIqWDI2NzM5OUQwMSoNCitYMjY0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI2NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI2NDE5OVkxNzY0MjlEMDIqWDI2NzM5OUQwMSoNCitYMjY0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI2NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI3NDE5OVkxODY0MjlEMDIqWDI3NzM5OUQwMSoNCitYMjc0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI3NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI3NDE5OVkxNzY0MjlEMDIqWDI3NzM5OUQwMSoNCitYMjc0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI3NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI4NDE5OVkxODY0MjlEMDIqWDI4NzM5OUQwMSoNCitYMjg0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI4NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI4NDE5OVkxNzY0MjlEMDIqWDI4NzM5OUQwMSoNCitYMjg0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI4NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDI5NDE5OVkxODY0MjlEMDIqWDI5NzM5OUQwMSoNCitYMjk0MTk5RDAyKlkxODMyMjlEMDEqDQorWDI5NzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDI5NDE5OVkxNzY0MjlEMDIqWDI5NzM5OUQwMSoNCitYMjk0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDI5NzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDMwNDE5OVkxODY0MjlEMDIqWDMwNzM5OUQwMSoNCitYMzA0MTk5RDAyKlkxODMyMjlEMDEqDQorWDMwNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDMwNDE5OVkxNzY0MjlEMDIqWDMwNzM5OUQwMSoNCitYMzA0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDMwNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDMxNDE5OVkxODY0MjlEMDIqWDMxNzM5OUQwMSoNCitYMzE0MTk5RDAyKlkxODMyMjlEMDEqDQorWDMxNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDMxNDE5OVkxNzY0MjlEMDIqWDMxNzM5OUQwMSoNCitYMzE0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDMxNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDMyNDE5OVkxODY0MjlEMDIqWDMyNzM5OUQwMSoNCitYMzI0MTk5RDAyKlkxODMyMjlEMDEqDQorWDMyNzM5OUQwMSoNCitZMTg2NDI5RDAyKlkxODMyMjlEMDEqDQorWDMyNDE5OVkxNzY0MjlEMDIqWDMyNzM5OUQwMSoNCitYMzI0MTk5RDAyKlkxNzMyMjlEMDEqDQorWDMyNzM5OUQwMSoNCitZMTc2NDI5RDAyKlkxNzMyMjlEMDEqDQorWDEwNDE5OVkzNzY0MjlEMDIqWDEwNzM5OUQwMSoNCitYMTA0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDEwNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDEwNDE5OVkzNjY0MjlEMDIqWDEwNzM5OUQwMSoNCitYMTA0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDEwNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDExNDE5OVkzNzY0MjlEMDIqWDExNzM5OUQwMSoNCitYMTE0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDExNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDExNDE5OVkzNjY0MjlEMDIqWDExNzM5OUQwMSoNCitYMTE0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDExNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDEyNDE5OVkzNzY0MjlEMDIqWDEyNzM5OUQwMSoNCitYMTI0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDEyNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDEyNDE5OVkzNjY0MjlEMDIqWDEyNzM5OUQwMSoNCitYMTI0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDEyNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDEzNDE5OVkzNzY0MjlEMDIqWDEzNzM5OUQwMSoNCitYMTM0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDEzNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDEzNDE5OVkzNjY0MjlEMDIqWDEzNzM5OUQwMSoNCitYMTM0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDEzNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE0NDE5OVkzNzY0MjlEMDIqWDE0NzM5OUQwMSoNCitYMTQ0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE0NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE0NDE5OVkzNjY0MjlEMDIqWDE0NzM5OUQwMSoNCitYMTQ0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE0NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE1NDE5OVkzNzY0MjlEMDIqWDE1NzM5OUQwMSoNCitYMTU0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE1NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE1NDE5OVkzNjY0MjlEMDIqWDE1NzM5OUQwMSoNCitYMTU0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE1NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE2NDE5OVkzNzY0MjlEMDIqWDE2NzM5OUQwMSoNCitYMTY0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE2NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE2NDE5OVkzNjY0MjlEMDIqWDE2NzM5OUQwMSoNCitYMTY0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE2NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE3NDE5OVkzNzY0MjlEMDIqWDE3NzM5OUQwMSoNCitYMTc0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE3NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE3NDE5OVkzNjY0MjlEMDIqWDE3NzM5OUQwMSoNCitYMTc0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE3NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE4NDE5OVkzNzY0MjlEMDIqWDE4NzM5OUQwMSoNCitYMTg0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE4NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE4NDE5OVkzNjY0MjlEMDIqWDE4NzM5OUQwMSoNCitYMTg0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE4NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE5NDE5OVkzNzY0MjlEMDIqWDE5NzM5OUQwMSoNCitYMTk0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDE5NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDE5NDE5OVkzNjY0MjlEMDIqWDE5NzM5OUQwMSoNCitYMTk0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDE5NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDIwNDE5OVkzNzY0MjlEMDIqWDIwNzM5OUQwMSoNCitYMjA0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDIwNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDIwNDE5OVkzNjY0MjlEMDIqWDIwNzM5OUQwMSoNCitYMjA0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDIwNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDIxNDE5OVkzNzY0MjlEMDIqWDIxNzM5OUQwMSoNCitYMjE0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDIxNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDIxNDE5OVkzNjY0MjlEMDIqWDIxNzM5OUQwMSoNCitYMjE0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDIxNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDIyNDE5OVkzNzY0MjlEMDIqWDIyNzM5OUQwMSoNCitYMjI0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDIyNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDIyNDE5OVkzNjY0MjlEMDIqWDIyNzM5OUQwMSoNCitYMjI0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDIyNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDIzNDE5OVkzNzY0MjlEMDIqWDIzNzM5OUQwMSoNCitYMjM0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDIzNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDIzNDE5OVkzNjY0MjlEMDIqWDIzNzM5OUQwMSoNCitYMjM0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDIzNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI0NDE5OVkzNzY0MjlEMDIqWDI0NzM5OUQwMSoNCitYMjQ0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI0NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI0NDE5OVkzNjY0MjlEMDIqWDI0NzM5OUQwMSoNCitYMjQ0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI0NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI1NDE5OVkzNzY0MjlEMDIqWDI1NzM5OUQwMSoNCitYMjU0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI1NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI1NDE5OVkzNjY0MjlEMDIqWDI1NzM5OUQwMSoNCitYMjU0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI1NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI2NDE5OVkzNzY0MjlEMDIqWDI2NzM5OUQwMSoNCitYMjY0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI2NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI2NDE5OVkzNjY0MjlEMDIqWDI2NzM5OUQwMSoNCitYMjY0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI2NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI3NDE5OVkzNzY0MjlEMDIqWDI3NzM5OUQwMSoNCitYMjc0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI3NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI3NDE5OVkzNjY0MjlEMDIqWDI3NzM5OUQwMSoNCitYMjc0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI3NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI4NDE5OVkzNzY0MjlEMDIqWDI4NzM5OUQwMSoNCitYMjg0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI4NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI4NDE5OVkzNjY0MjlEMDIqWDI4NzM5OUQwMSoNCitYMjg0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI4NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDI5NDE5OVkzNzY0MjlEMDIqWDI5NzM5OUQwMSoNCitYMjk0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDI5NzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDI5NDE5OVkzNjY0MjlEMDIqWDI5NzM5OUQwMSoNCitYMjk0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDI5NzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDMwNDE5OVkzNzY0MjlEMDIqWDMwNzM5OUQwMSoNCitYMzA0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDMwNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDMwNDE5OVkzNjY0MjlEMDIqWDMwNzM5OUQwMSoNCitYMzA0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDMwNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDMxNDE5OVkzNzY0MjlEMDIqWDMxNzM5OUQwMSoNCitYMzE0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDMxNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDMxNDE5OVkzNjY0MjlEMDIqWDMxNzM5OUQwMSoNCitYMzE0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDMxNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDMyNDE5OVkzNzY0MjlEMDIqWDMyNzM5OUQwMSoNCitYMzI0MTk5RDAyKlkzNzMyMjlEMDEqDQorWDMyNzM5OUQwMSoNCitZMzc2NDI5RDAyKlkzNzMyMjlEMDEqDQorWDMyNDE5OVkzNjY0MjlEMDIqWDMyNzM5OUQwMSoNCitYMzI0MTk5RDAyKlkzNjMyMjlEMDEqDQorWDMyNzM5OUQwMSoNCitZMzY2NDI5RDAyKlkzNjMyMjlEMDEqDQorWDE5NDE5OVkxOTg5MjlEMDIqWDE5NzM5OUQwMSoNCitYMTk0MTk5RDAyKlkxOTU3MjlEMDEqDQorWDE5NzM5OUQwMSoNCitZMTk4OTI5RDAyKlkxOTU3MjlEMDEqDQorWDIwNDE5OVkxOTg5MjlEMDIqWDIwNzM5OUQwMSoNCitYMjA0MTk5RDAyKlkxOTU3MjlEMDEqDQorWDIwNzM5OUQwMSoNCitZMTk4OTI5RDAyKlkxOTU3MjlEMDEqDQorWDIxNDE5OVkxOTg5MjlEMDIqWDIxNzM5OUQwMSoNCitYMjE0MTk5RDAyKlkxOTU3MjlEMDEqDQorWDIxNzM5OUQwMSoNCitZMTk4OTI5RDAyKlkxOTU3MjlEMDEqDQorWDIyNDE5OVkxOTg5MjlEMDIqWDIyNzM5OUQwMSoNCitYMjI0MTk5RDAyKlkxOTU3MjlEMDEqDQorWDIyNzM5OUQwMSoNCitZMTk4OTI5RDAyKlkxOTU3MjlEMDEqDQorWDIzNDE5OVkxOTg5MjlEMDIqWDIzNzM5OUQwMSoNCitYMjM0MTk5RDAyKlkxOTU3MjlEMDEqDQorWDIzNzM5OUQwMSoNCitZMTk4OTI5RDAyKlkxOTU3MjlEMDEqDQorWDEzNDAwWTQ1Nzg1MEQwMipYMTY2MDBEMDEqDQorWDEzNDAwRDAyKlk0NTQ2NTBEMDEqDQorWDE2NjAwRDAxKg0KK1k0NTc4NTBEMDIqWTQ1NDY1MEQwMSoNCitYMTM1MDAwWTQ1ODUwMEQwMipYMTM2NTAwWTQ1NTUwMEQwMSoNCitYMTM4MDAwWTQ1ODUwMEQwMSoNCitYMTM2NTAwWTQ1NTUwMEQwMipZNDUyNTAwRDAxKg0KK1gxMzk4MDBZNDU1ODAwRDAyKlgxNDIwNTBEMDEqDQorWDEzOTgwMFk0NTI1MDBEMDIqWDE0MjgwMEQwMSoNCitYMTM5ODAwWTQ1ODUwMEQwMipZNDUyNTAwRDAxKg0KK1k0NTg1MDBEMDIqWDE0MjgwMEQwMSoNCitYMTQ3NjAwRDAyKlgxNDgzNTBZNDU3NzUwRDAxKg0KK1gxNDUzNTBZNDU4NTAwRDAyKlgxNDc2MDBEMDEqDQorWDE0NDYwMFk0NTc3NTBEMDIqWDE0NTM1MFk0NTg1MDBEMDEqDQorWDE0NDYwMFk0NTc3NTBEMDIqWTQ1NjI1MEQwMSoNCitYMTQ1MzUwWTQ1NTUwMEQwMSoNCitYMTQ3NjAwRDAxKg0KK1gxNDgzNTBZNDU0NzUwRDAxKg0KK1k0NTMyNTBEMDEqDQorWDE0NzYwMFk0NTI1MDBEMDIqWDE0ODM1MFk0NTMyNTBEMDEqDQorWDE0NTM1MFk0NTI1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTQ1MzI1MEQwMipYMTQ1MzUwWTQ1MjUwMEQwMSoNCitYOTg3NTBEMDIqWDEwMTAwMFk0NTU1MDBEMDEqDQorWTQ1Nzc1MEQwMipZNDU1NTAwRDAxKg0KK1gxMDAyNTBZNDU4NTAwRDAyKlgxMDEwMDBZNDU3NzUwRDAxKg0KK1g5ODc1MFk0NTg1MDBEMDIqWDEwMDI1MEQwMSoNCitYOTgwMDBZNDU3NzUwRDAyKlg5ODc1MFk0NTg1MDBEMDEqDQorWDk4MDAwWTQ1Nzc1MEQwMipZNDU2MjUwRDAxKg0KK1g5ODc1MFk0NTU1MDBEMDEqDQorWDEwMTAwMEQwMSoNCitYMTAzNTUwWTQ1MjUwMEQwMipYMTA2NTUwWTQ1ODUwMEQwMSoNCitYMTAyODAwRDAyKlgxMDY1NTBEMDEqDQorWDQ1MDAwWTQ1MzI1MEQwMipYNDU3NTBZNDUyNTAwRDAxKg0KK1g0NTAwMFk0NTc3NTBEMDIqWTQ1MzI1MEQwMSoNCitZNDU3NzUwRDAyKlg0NTc1MFk0NTg1MDBEMDEqDQorWDQ3MjUwRDAxKg0KK1g0ODAwMFk0NTc3NTBEMDEqDQorWTQ1MzI1MEQwMSoNCitYNDcyNTBZNDUyNTAwRDAyKlg0ODAwMFk0NTMyNTBEMDEqDQorWDQ1NzUwWTQ1MjUwMEQwMipYNDcyNTBEMDEqDQorWDQ1MDAwWTQ1NDAwMEQwMipYNDgwMDBZNDU3MDAwRDAxKg0KK1g0OTgwMFk0NTI1MDBEMDIqWDUwNTUwRDAxKg0KK1g1MjM1MFk0NTMyNTBEMDIqWDUzMTAwWTQ1MjUwMEQwMSoNCitYNTIzNTBZNDU3NzUwRDAyKlk0NTMyNTBEMDEqDQorWTQ1Nzc1MEQwMipYNTMxMDBZNDU4NTAwRDAxKg0KK1g1NDYwMEQwMSoNCitYNTUzNTBZNDU3NzUwRDAxKg0KK1k0NTMyNTBEMDEqDQorWDU0NjAwWTQ1MjUwMEQwMipYNTUzNTBZNDUzMjUwRDAxKg0KK1g1MzEwMFk0NTI1MDBEMDIqWDU0NjAwRDAxKg0KK1g1MjM1MFk0NTQwMDBEMDIqWDU1MzUwWTQ1NzAwMEQwMSoNCitYNTcxNTBZNDU0NzUwRDAyKlg2MDE1MFk0NTg1MDBEMDEqDQorWDU3MTUwWTQ1NDc1MEQwMipYNjA5MDBEMDEqDQorWDYwMTUwWTQ1ODUwMEQwMipZNDUyNTAwRDAxKg0KK1g2NDk1MFk0NTg1MDBEMDIqWDY1NzAwWTQ1Nzc1MEQwMSoNCitYNjM0NTBZNDU4NTAwRDAyKlg2NDk1MEQwMSoNCitYNjI3MDBZNDU3NzUwRDAyKlg2MzQ1MFk0NTg1MDBEMDEqDQorWDYyNzAwWTQ1Nzc1MEQwMipZNDUzMjUwRDAxKg0KK1g2MzQ1MFk0NTI1MDBEMDEqDQorWDY0OTUwWTQ1NTgwMEQwMipYNjU3MDBZNDU1MDUwRDAxKg0KK1g2MjcwMFk0NTU4MDBEMDIqWDY0OTUwRDAxKg0KK1g2MzQ1MFk0NTI1MDBEMDIqWDY0OTUwRDAxKg0KK1g2NTcwMFk0NTMyNTBEMDEqDQorWTQ1NTA1MEQwMipZNDUzMjUwRDAxKg0KK1g0NTI3MDBZMzg0MDAwRDAyKkc3NSpHMDNYNDU0MzAwWTM4NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NTI3MDBZMzg0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ2MjcwMEQwMipHNzUqRzAzWDQ2NDMwMFkzODQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDYyNzAwWTM4NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NzI3MDBEMDIqRzc1KkcwM1g0NzQzMDBZMzg0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ3MjcwMFkzODQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDUyNzAwWTMyNDAwMEQwMipHNzUqRzAzWDQ1NDMwMFkzMjQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDUyNzAwWTMyNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NjI3MDBEMDIqRzc1KkcwM1g0NjQzMDBZMzI0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ2MjcwMFkzMjQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDcyNzAwRDAyKkc3NSpHMDNYNDc0MzAwWTMyNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NzI3MDBZMzI0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ1MjcwMFkyOTQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZMjk0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ1MjcwMFkyOTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDYyNzAwRDAyKkc3NSpHMDNYNDY0MzAwWTI5NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZMjk0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ3MjcwMEQwMipHNzUqRzAzWDQ3NDMwMFkyOTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDcyNzAwWTI5NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NTI3MDBZMjY0MDAwRDAyKkc3NSpHMDNYNDU0MzAwWTI2NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NTI3MDBZMjY0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ2MjcwMEQwMipHNzUqRzAzWDQ2NDMwMFkyNjQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDYyNzAwWTI2NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NzI3MDBEMDIqRzc1KkcwM1g0NzQzMDBZMjY0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ3MjcwMFkyNjQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDUyNzAwWTIzNDAwMEQwMipHNzUqRzAzWDQ1NDMwMFkyMzQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDUyNzAwWTIzNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NjI3MDBEMDIqRzc1KkcwM1g0NjQzMDBZMjM0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ2MjcwMFkyMzQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDcyNzAwRDAyKkc3NSpHMDNYNDc0MzAwWTIzNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NzI3MDBZMjM0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ1MjcwMFkyMDQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZMjA0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ1MjcwMFkyMDQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDYyNzAwRDAyKkc3NSpHMDNYNDY0MzAwWTIwNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZMjA0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ3MjcwMEQwMipHNzUqRzAzWDQ3NDMwMFkyMDQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDcyNzAwWTIwNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NTI3MDBZMTc0MDAwRDAyKkc3NSpHMDNYNDU0MzAwWTE3NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NTI3MDBZMTc0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ2MjcwMEQwMipHNzUqRzAzWDQ2NDMwMFkxNzQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDYyNzAwWTE3NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NzI3MDBEMDIqRzc1KkcwM1g0NzQzMDBZMTc0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ3MjcwMFkxNzQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDUyNzAwWTE0NDAwMEQwMipHNzUqRzAzWDQ1NDMwMFkxNDQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDUyNzAwWTE0NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NjI3MDBEMDIqRzc1KkcwM1g0NjQzMDBZMTQ0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ2MjcwMFkxNDQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDcyNzAwRDAyKkc3NSpHMDNYNDc0MzAwWTE0NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NzI3MDBZMTQ0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ1MjcwMFkxMTQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZMTE0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ1MjcwMFkxMTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDYyNzAwRDAyKkc3NSpHMDNYNDY0MzAwWTExNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZMTE0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ3MjcwMEQwMipHNzUqRzAzWDQ3NDMwMFkxMTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDcyNzAwWTExNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NTI3MDBZODQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZODQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDUyNzAwWTg0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ2MjcwMEQwMipHNzUqRzAzWDQ2NDMwMFk4NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZODQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDcyNzAwRDAyKkc3NSpHMDNYNDc0MzAwWTg0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ3MjcwMFk4NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0NTI3MDBZNTQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZNTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDUyNzAwWTU0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ2MjcwMEQwMipHNzUqRzAzWDQ2NDMwMFk1NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZNTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDcyNzAwRDAyKkc3NSpHMDNYNDc0MzAwWTU0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ3MjcwMFk1NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MDYyMDBZMzg0MDAwRDAyKkc3NSpHMDNYNDA3ODAwWTM4NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MDYyMDBZMzg0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQxNjIwMEQwMipHNzUqRzAzWDQxNzgwMFkzODQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDE2MjAwWTM4NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MjYyMDBEMDIqRzc1KkcwM1g0Mjc4MDBZMzg0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQyNjIwMFkzODQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDM2MjAwRDAyKkc3NSpHMDNYNDM3ODAwWTM4NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MzYyMDBZMzg0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQwNjIwMFkxNzQwMDBEMDIqRzc1KkcwM1g0MDc4MDBZMTc0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQwNjIwMFkxNzQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDE2MjAwRDAyKkc3NSpHMDNYNDE3ODAwWTE3NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MTYyMDBZMTc0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQyNjIwMEQwMipHNzUqRzAzWDQyNzgwMFkxNzQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDI2MjAwWTE3NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MzYyMDBEMDIqRzc1KkcwM1g0Mzc4MDBZMTc0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQzNjIwMFkxNzQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDA2MjAwWTIwNDAwMEQwMipHNzUqRzAzWDQwNzgwMFkyMDQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDA2MjAwWTIwNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MTYyMDBEMDIqRzc1KkcwM1g0MTc4MDBZMjA0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQxNjIwMFkyMDQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDI2MjAwRDAyKkc3NSpHMDNYNDI3ODAwWTIwNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MjYyMDBZMjA0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQzNjIwMEQwMipHNzUqRzAzWDQzNzgwMFkyMDQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDM2MjAwWTIwNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MDYyMDBZMjM0MDAwRDAyKkc3NSpHMDNYNDA3ODAwWTIzNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MDYyMDBZMjM0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQxNjIwMEQwMipHNzUqRzAzWDQxNzgwMFkyMzQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDE2MjAwWTIzNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MjYyMDBEMDIqRzc1KkcwM1g0Mjc4MDBZMjM0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQyNjIwMFkyMzQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDM2MjAwRDAyKkc3NSpHMDNYNDM3ODAwWTIzNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MzYyMDBZMjM0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQwNjIwMFkyNjQwMDBEMDIqRzc1KkcwM1g0MDc4MDBZMjY0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQwNjIwMFkyNjQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDE2MjAwRDAyKkc3NSpHMDNYNDE3ODAwWTI2NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MTYyMDBZMjY0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQyNjIwMEQwMipHNzUqRzAzWDQyNzgwMFkyNjQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDI2MjAwWTI2NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MzYyMDBEMDIqRzc1KkcwM1g0Mzc4MDBZMjY0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQzNjIwMFkyNjQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDA2MjAwWTI5NDAwMEQwMipHNzUqRzAzWDQwNzgwMFkyOTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDA2MjAwWTI5NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MTYyMDBEMDIqRzc1KkcwM1g0MTc4MDBZMjk0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQxNjIwMFkyOTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDI2MjAwRDAyKkc3NSpHMDNYNDI3ODAwWTI5NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MjYyMDBZMjk0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQzNjIwMEQwMipHNzUqRzAzWDQzNzgwMFkyOTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDM2MjAwWTI5NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MDYyMDBZMzI0MDAwRDAyKkc3NSpHMDNYNDA3ODAwWTMyNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MDYyMDBZMzI0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQxNjIwMEQwMipHNzUqRzAzWDQxNzgwMFkzMjQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDE2MjAwWTMyNDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MjYyMDBEMDIqRzc1KkcwM1g0Mjc4MDBZMzI0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQyNjIwMFkzMjQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDM2MjAwRDAyKkc3NSpHMDNYNDM3ODAwWTMyNDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MzYyMDBZMzI0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ1MjcwMFkzNTQwMDBEMDIqRzc1KkcwM1g0NTQzMDBZMzU0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQ1MjcwMFkzNTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDYyNzAwRDAyKkc3NSpHMDNYNDY0MzAwWTM1NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0NjI3MDBZMzU0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQ3MjcwMEQwMipHNzUqRzAzWDQ3NDMwMFkzNTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDcyNzAwWTM1NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MDYyMDBEMDIqRzc1KkcwM1g0MDc4MDBZMzU0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQwNjIwMFkzNTQwMDBJLTgwMEowRDAxKkcwMSoNCitYNDE2MjAwRDAyKkc3NSpHMDNYNDE3ODAwWTM1NDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g0MTYyMDBZMzU0MDAwSS04MDBKMEQwMSpHMDEqDQorWDQyNjIwMEQwMipHNzUqRzAzWDQyNzgwMFkzNTQwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYNDI2MjAwWTM1NDAwMEktODAwSjBEMDEqRzAxKg0KK1g0MzYyMDBEMDIqRzc1KkcwM1g0Mzc4MDBZMzU0MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDQzNjIwMFkzNTQwMDBJLTgwMEowRDAxKkcwMSoNCitYMjA0NjQxWTQ3NTAwRDAyKkc3NSpHMDNYMjA2MjQxWTQ3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDIwNDY0MVk0NzUwMEktODAwSjBEMDEqRzAxKg0KK1k1NzUwMEQwMipHNzUqRzAzWDIwNjI0MVk1NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gyMDQ2NDFZNTc1MDBJLTgwMEowRDAxKkcwMSoNCitZNjc1MDBEMDIqRzc1KkcwM1gyMDYyNDFZNjc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMjA0NjQxWTY3NTAwSS04MDBKMEQwMSpHMDEqDQorWDIzNDY0MVk0NzUwMEQwMipHNzUqRzAzWDIzNjI0MVk0NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gyMzQ2NDFZNDc1MDBJLTgwMEowRDAxKkcwMSoNCitZNTc1MDBEMDIqRzc1KkcwM1gyMzYyNDFZNTc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMjM0NjQxWTU3NTAwSS04MDBKMEQwMSpHMDEqDQorWTY3NTAwRDAyKkc3NSpHMDNYMjM2MjQxWTY3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDIzNDY0MVk2NzUwMEktODAwSjBEMDEqRzAxKg0KK1gyNjQ2NDFZNDc1MDBEMDIqRzc1KkcwM1gyNjYyNDFZNDc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMjY0NjQxWTQ3NTAwSS04MDBKMEQwMSpHMDEqDQorWTU3NTAwRDAyKkc3NSpHMDNYMjY2MjQxWTU3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDI2NDY0MVk1NzUwMEktODAwSjBEMDEqRzAxKg0KK1k2NzUwMEQwMipHNzUqRzAzWDI2NjI0MVk2NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gyNjQ2NDFZNjc1MDBJLTgwMEowRDAxKkcwMSoNCitYMjk0NjQxWTQ3NTAwRDAyKkc3NSpHMDNYMjk2MjQxWTQ3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDI5NDY0MVk0NzUwMEktODAwSjBEMDEqRzAxKg0KK1k1NzUwMEQwMipHNzUqRzAzWDI5NjI0MVk1NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gyOTQ2NDFZNTc1MDBJLTgwMEowRDAxKkcwMSoNCitZNjc1MDBEMDIqRzc1KkcwM1gyOTYyNDFZNjc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMjk0NjQxWTY3NTAwSS04MDBKMEQwMSpHMDEqDQorWDE3NDY0MVk0NzUwMEQwMipHNzUqRzAzWDE3NjI0MVk0NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gxNzQ2NDFZNDc1MDBJLTgwMEowRDAxKkcwMSoNCitZNTc1MDBEMDIqRzc1KkcwM1gxNzYyNDFZNTc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMTc0NjQxWTU3NTAwSS04MDBKMEQwMSpHMDEqDQorWTY3NTAwRDAyKkc3NSpHMDNYMTc2MjQxWTY3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDE3NDY0MVk2NzUwMEktODAwSjBEMDEqRzAxKg0KK1gxNDQ2NDFZNDc1MDBEMDIqRzc1KkcwM1gxNDYyNDFZNDc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMTQ0NjQxWTQ3NTAwSS04MDBKMEQwMSpHMDEqDQorWTU3NTAwRDAyKkc3NSpHMDNYMTQ2MjQxWTU3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDE0NDY0MVk1NzUwMEktODAwSjBEMDEqRzAxKg0KK1k2NzUwMEQwMipHNzUqRzAzWDE0NjI0MVk2NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gxNDQ2NDFZNjc1MDBJLTgwMEowRDAxKkcwMSoNCitYMTE0NjQxWTQ3NTAwRDAyKkc3NSpHMDNYMTE2MjQxWTQ3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDExNDY0MVk0NzUwMEktODAwSjBEMDEqRzAxKg0KK1k1NzUwMEQwMipHNzUqRzAzWDExNjI0MVk1NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gxMTQ2NDFZNTc1MDBJLTgwMEowRDAxKkcwMSoNCitZNjc1MDBEMDIqRzc1KkcwM1gxMTYyNDFZNjc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMTE0NjQxWTY3NTAwSS04MDBKMEQwMSpHMDEqDQorWDg0NjQxWTQ3NTAwRDAyKkc3NSpHMDNYODYyNDFZNDc1MDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYODQ2NDFZNDc1MDBJLTgwMEowRDAxKkcwMSoNCitZNTc1MDBEMDIqRzc1KkcwM1g4NjI0MVk1NzUwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g4NDY0MVk1NzUwMEktODAwSjBEMDEqRzAxKg0KK1k2NzUwMEQwMipHNzUqRzAzWDg2MjQxWTY3NTAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDg0NjQxWTY3NTAwSS04MDBKMEQwMSpHMDEqDQorWDMxMTY0MVkyNDkwMDBEMDIqRzc1KkcwM1gzMTMyNDFZMjQ5MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDMxMTY0MVkyNDkwMDBJLTgwMEowRDAxKkcwMSoNCitYMzIxNjQxRDAyKkc3NSpHMDNYMzIzMjQxWTI0OTAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1gzMjE2NDFZMjQ5MDAwSS04MDBKMEQwMSpHMDEqDQorWDMzMTY0MUQwMipHNzUqRzAzWDMzMzI0MVkyNDkwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYMzMxNjQxWTI0OTAwMEktODAwSjBEMDEqRzAxKg0KK1gzNDE2NDFEMDIqRzc1KkcwM1gzNDMyNDFZMjQ5MDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDM0MTY0MVkyNDkwMDBJLTgwMEowRDAxKkcwMSoNCitYODQ2NDFZMjQwMDAwRDAyKkc3NSpHMDNYODYyNDFZMjQwMDAwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDg0NjQxWTI0MDAwMEktODAwSjBEMDEqRzAxKg0KK1kyMzAwMDBEMDIqRzc1KkcwM1g4NjI0MVkyMzAwMDBJODAwSjBEMDEqRzAxKg0KK0c3NSpHMDNYODQ2NDFZMjMwMDAwSS04MDBKMEQwMSpHMDEqDQorWTIyMDAwMEQwMipHNzUqRzAzWDg2MjQxWTIyMDAwMEk4MDBKMEQwMSpHMDEqDQorRzc1KkcwM1g4NDY0MVkyMjAwMDBJLTgwMEowRDAxKkcwMSoNCitYMTQyMDBZNDcxMjUwRDAyKkc3NSpHMDNYMTU4MDBZNDcxMjUwSTgwMEowRDAxKkcwMSoNCitHNzUqRzAzWDE0MjAwWTQ3MTI1MEktODAwSjBEMDEqRzAxKg0KK1gxMzUwMDBZNDczNTAwRDAyKlgxMzY1MDBZNDcwNTAwRDAxKg0KK1gxMzgwMDBZNDczNTAwRDAxKg0KK1gxMzY1MDBZNDcwNTAwRDAyKlk0Njc1MDBEMDEqDQorWDEzOTgwMFk0NzA4MDBEMDIqWDE0MjA1MEQwMSoNCitYMTM5ODAwWTQ2NzUwMEQwMipYMTQyODAwRDAxKg0KK1gxMzk4MDBZNDczNTAwRDAyKlk0Njc1MDBEMDEqDQorWTQ3MzUwMEQwMipYMTQyODAwRDAxKg0KK1gxNDc2MDBEMDIqWDE0ODM1MFk0NzI3NTBEMDEqDQorWDE0NTM1MFk0NzM1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTQ3Mjc1MEQwMipYMTQ1MzUwWTQ3MzUwMEQwMSoNCitYMTQ0NjAwWTQ3Mjc1MEQwMipZNDcxMjUwRDAxKg0KK1gxNDUzNTBZNDcwNTAwRDAxKg0KK1gxNDc2MDBEMDEqDQorWDE0ODM1MFk0Njk3NTBEMDEqDQorWTQ2ODI1MEQwMSoNCitYMTQ3NjAwWTQ2NzUwMEQwMipYMTQ4MzUwWTQ2ODI1MEQwMSoNCitYMTQ1MzUwWTQ2NzUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNDY4MjUwRDAyKlgxNDUzNTBZNDY3NTAwRDAxKg0KK1g5ODc1MEQwMipYMTAxMDAwWTQ3MDUwMEQwMSoNCitZNDcyNzUwRDAyKlk0NzA1MDBEMDEqDQorWDEwMDI1MFk0NzM1MDBEMDIqWDEwMTAwMFk0NzI3NTBEMDEqDQorWDk4NzUwWTQ3MzUwMEQwMipYMTAwMjUwRDAxKg0KK1g5ODAwMFk0NzI3NTBEMDIqWDk4NzUwWTQ3MzUwMEQwMSoNCitYOTgwMDBZNDcyNzUwRDAyKlk0NzEyNTBEMDEqDQorWDk4NzUwWTQ3MDUwMEQwMSoNCitYMTAxMDAwRDAxKg0KK1gxMDM1NTBZNDY3NTAwRDAyKlgxMDU4MDBZNDcwNTAwRDAxKg0KK1k0NzI3NTBEMDIqWTQ3MDUwMEQwMSoNCitYMTA1MDUwWTQ3MzUwMEQwMipYMTA1ODAwWTQ3Mjc1MEQwMSoNCitYMTAzNTUwWTQ3MzUwMEQwMipYMTA1MDUwRDAxKg0KK1gxMDI4MDBZNDcyNzUwRDAyKlgxMDM1NTBZNDczNTAwRDAxKg0KK1gxMDI4MDBZNDcyNzUwRDAyKlk0NzEyNTBEMDEqDQorWDEwMzU1MFk0NzA1MDBEMDEqDQorWDEwNTgwMEQwMSoNCitYNDUwMDBZNDY4MjUwRDAyKlg0NTc1MFk0Njc1MDBEMDEqDQorWDQ1MDAwWTQ3Mjc1MEQwMipZNDY4MjUwRDAxKg0KK1k0NzI3NTBEMDIqWDQ1NzUwWTQ3MzUwMEQwMSoNCitYNDcyNTBEMDEqDQorWDQ4MDAwWTQ3Mjc1MEQwMSoNCitZNDY4MjUwRDAxKg0KK1g0NzI1MFk0Njc1MDBEMDIqWDQ4MDAwWTQ2ODI1MEQwMSoNCitYNDU3NTBZNDY3NTAwRDAyKlg0NzI1MEQwMSoNCitYNDUwMDBZNDY5MDAwRDAyKlg0ODAwMFk0NzIwMDBEMDEqDQorWDQ5ODAwWTQ2NzUwMEQwMipYNTA1NTBEMDEqDQorWDUyMzUwWTQ2ODI1MEQwMipYNTMxMDBZNDY3NTAwRDAxKg0KK1g1MjM1MFk0NzI3NTBEMDIqWTQ2ODI1MEQwMSoNCitZNDcyNzUwRDAyKlg1MzEwMFk0NzM1MDBEMDEqDQorWDU0NjAwRDAxKg0KK1g1NTM1MFk0NzI3NTBEMDEqDQorWTQ2ODI1MEQwMSoNCitYNTQ2MDBZNDY3NTAwRDAyKlg1NTM1MFk0NjgyNTBEMDEqDQorWDUzMTAwWTQ2NzUwMEQwMipYNTQ2MDBEMDEqDQorWDUyMzUwWTQ2OTAwMEQwMipYNTUzNTBZNDcyMDAwRDAxKg0KK1g1NzE1MFk0Njk3NTBEMDIqWDYwMTUwWTQ3MzUwMEQwMSoNCitYNTcxNTBZNDY5NzUwRDAyKlg2MDkwMEQwMSoNCitYNjAxNTBZNDczNTAwRDAyKlk0Njc1MDBEMDEqDQorWDYyNzAwWTQ2ODI1MEQwMipYNjM0NTBZNDY3NTAwRDAxKg0KK1g2MjcwMFk0NzI3NTBEMDIqWTQ2ODI1MEQwMSoNCitZNDcyNzUwRDAyKlg2MzQ1MFk0NzM1MDBEMDEqDQorWDY0OTUwRDAxKg0KK1g2NTcwMFk0NzI3NTBEMDEqDQorWTQ2ODI1MEQwMSoNCitYNjQ5NTBZNDY3NTAwRDAyKlg2NTcwMFk0NjgyNTBEMDEqDQorWDYzNDUwWTQ2NzUwMEQwMipYNjQ5NTBEMDEqDQorWDYyNzAwWTQ2OTAwMEQwMipYNjU3MDBZNDcyMDAwRDAxKg0KK1g0Mzk3NDFZMTI0MjAwRDAyKlg0NDIxNDFZMTIxODAwRDAxKg0KK1g0Mzk3NDFEMDIqWDQ0MjE0MVkxMjQyMDBEMDEqDQorWDEzODAwWTQ4NzQ1MEQwMipYMTYyMDBZNDg1MDUwRDAxKg0KK1gxMzgwMEQwMipYMTYyMDBZNDg3NDUwRDAxKg0KK1gxMzUwMDBZNDg4NTAwRDAyKlgxMzY1MDBZNDg1NTAwRDAxKg0KK1gxMzgwMDBZNDg4NTAwRDAxKg0KK1gxMzY1MDBZNDg1NTAwRDAyKlk0ODI1MDBEMDEqDQorWDEzOTgwMFk0ODU4MDBEMDIqWDE0MjA1MEQwMSoNCitYMTM5ODAwWTQ4MjUwMEQwMipYMTQyODAwRDAxKg0KK1gxMzk4MDBZNDg4NTAwRDAyKlk0ODI1MDBEMDEqDQorWTQ4ODUwMEQwMipYMTQyODAwRDAxKg0KK1gxNDc2MDBEMDIqWDE0ODM1MFk0ODc3NTBEMDEqDQorWDE0NTM1MFk0ODg1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTQ4Nzc1MEQwMipYMTQ1MzUwWTQ4ODUwMEQwMSoNCitYMTQ0NjAwWTQ4Nzc1MEQwMipZNDg2MjUwRDAxKg0KK1gxNDUzNTBZNDg1NTAwRDAxKg0KK1gxNDc2MDBEMDEqDQorWDE0ODM1MFk0ODQ3NTBEMDEqDQorWTQ4MzI1MEQwMSoNCitYMTQ3NjAwWTQ4MjUwMEQwMipYMTQ4MzUwWTQ4MzI1MEQwMSoNCitYMTQ1MzUwWTQ4MjUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNDgzMjUwRDAyKlgxNDUzNTBZNDgyNTAwRDAxKg0KK1g5ODAwMFk0ODczMDBEMDIqWDk5MjAwWTQ4ODUwMEQwMSoNCitZNDgyNTAwRDAxKg0KK1g5ODAwMEQwMipYMTAwMjUwRDAxKg0KK1g0NTAwMFk0ODMyNTBEMDIqWDQ1NzUwWTQ4MjUwMEQwMSoNCitYNDUwMDBZNDg3NzUwRDAyKlk0ODMyNTBEMDEqDQorWTQ4Nzc1MEQwMipYNDU3NTBZNDg4NTAwRDAxKg0KK1g0NzI1MEQwMSoNCitYNDgwMDBZNDg3NzUwRDAxKg0KK1k0ODMyNTBEMDEqDQorWDQ3MjUwWTQ4MjUwMEQwMipYNDgwMDBZNDgzMjUwRDAxKg0KK1g0NTc1MFk0ODI1MDBEMDIqWDQ3MjUwRDAxKg0KK1g0NTAwMFk0ODQwMDBEMDIqWDQ4MDAwWTQ4NzAwMEQwMSoNCitYNDk4MDBZNDgyNTAwRDAyKlg1MDU1MEQwMSoNCitYNTIzNTBZNDgzMjUwRDAyKlg1MzEwMFk0ODI1MDBEMDEqDQorWDUyMzUwWTQ4Nzc1MEQwMipZNDgzMjUwRDAxKg0KK1k0ODc3NTBEMDIqWDUzMTAwWTQ4ODUwMEQwMSoNCitYNTQ2MDBEMDEqDQorWDU1MzUwWTQ4Nzc1MEQwMSoNCitZNDgzMjUwRDAxKg0KK1g1NDYwMFk0ODI1MDBEMDIqWDU1MzUwWTQ4MzI1MEQwMSoNCitYNTMxMDBZNDgyNTAwRDAyKlg1NDYwMEQwMSoNCitYNTIzNTBZNDg0MDAwRDAyKlg1NTM1MFk0ODcwMDBEMDEqDQorWDU3MTUwWTQ4Nzc1MEQwMipYNTc5MDBZNDg4NTAwRDAxKg0KK1g1OTQwMEQwMSoNCitYNjAxNTBZNDg3NzUwRDAxKg0KK1g1OTQwMFk0ODI1MDBEMDIqWDYwMTUwWTQ4MzI1MEQwMSoNCitYNTc5MDBZNDgyNTAwRDAyKlg1OTQwMEQwMSoNCitYNTcxNTBZNDgzMjUwRDAyKlg1NzkwMFk0ODI1MDBEMDEqDQorWTQ4NTgwMEQwMipYNTk0MDBEMDEqDQorWDYwMTUwWTQ4Nzc1MEQwMipZNDg2NTUwRDAxKg0KK1k0ODUwNTBEMDIqWTQ4MzI1MEQwMSoNCitZNDg1MDUwRDAyKlg1OTQwMFk0ODU4MDBEMDEqDQorWDYwMTUwWTQ4NjU1MEQwMipYNTk0MDBZNDg1ODAwRDAxKg0KK1g2MTk1MFk0ODg1MDBEMDIqWDY0OTUwRDAxKg0KK1g2MTk1MEQwMipZNDg1NTAwRDAxKg0KK1g2MjcwMFk0ODYyNTBEMDEqDQorWDY0MjAwRDAxKg0KK1g2NDk1MFk0ODU1MDBEMDEqDQorWTQ4MzI1MEQwMSoNCitYNjQyMDBZNDgyNTAwRDAyKlg2NDk1MFk0ODMyNTBEMDEqDQorWDYyNzAwWTQ4MjUwMEQwMipYNjQyMDBEMDEqDQorWDYxOTUwWTQ4MzI1MEQwMipYNjI3MDBZNDgyNTAwRDAxKg0KK1g0MzIzMjRZMTEyNjAwRDAyKlkxMDk0MDBEMDEqDQorWDQzMDcyNFkxMTEwMDBEMDIqWDQzMzkyNEQwMSoNCitYMzg2NDQxWTE2NDYwMEQwMipZMTYxNDAwRDAxKg0KK1gzODQ4NDFZMTYzMDAwRDAyKlgzODgwNDFEMDEqDQorWDM4NzQ0MVkzMjc2MDBEMDIqWTMyNDQwMEQwMSoNCitYMzg1ODQxWTMyNjAwMEQwMipYMzg5MDQxRDAxKg0KK1gzOTM0NDFZMzU2NjAwRDAyKlkzNTM0MDBEMDEqDQorWDM5MTg0MVkzNTUwMDBEMDIqWDM5NTA0MUQwMSoNCitYMzg2NzIwWTI4MzYwMEQwMipZMjgwNDAwRDAxKg0KK1gzODUxMjBZMjgyMDAwRDAyKlgzODgzMjBEMDEqDQorWDQwMDQ0MVkxOTU2MDBEMDIqWTE5MjQwMEQwMSoNCitYMzk4ODQxWTE5NDAwMEQwMipYNDAyMDQxRDAxKg0KK1gzODk0NDFZMTg1NjAwRDAyKlkxODI0MDBEMDEqDQorWDM4Nzg0MVkxODQwMDBEMDIqWDM5MTA0MUQwMSoNCitYNDAwNDQxWTE5MDYwMEQwMipZMTg3NDAwRDAxKg0KK1gzOTg4NDFZMTg5MDAwRDAyKlg0MDIwNDFEMDEqDQorWDM5MzQ0MVkyMDk2MDBEMDIqWTIwNjQwMEQwMSoNCitYMzkxODQxWTIwODAwMEQwMipYMzk1MDQxRDAxKg0KK1gzOTM0NDFZMzI4NjAwRDAyKlkzMjU0MDBEMDEqDQorWDM5MTg0MVkzMjcwMDBEMDIqWDM5NTA0MUQwMSoNCitYMzg1OTQxWTM1NjEwMEQwMipZMzUyOTAwRDAxKg0KK1gzODQzNDFZMzU0NTAwRDAyKlgzODc1NDFEMDEqDQorWDM3NTQ0MVkyMzY2MDBEMDIqWTIzMzQwMEQwMSoNCitYMzczODQxWTIzNTAwMEQwMipYMzc3MDQxRDAxKg0KK1gzODQxNjJZMTg5NjAwRDAyKlkxODY0MDBEMDEqDQorWDM4MjU2MlkxODgwMDBEMDIqWDM4NTc2MkQwMSoNCitYMzg3MDcwWTIzNjYwMEQwMipZMjMzNDAwRDAxKg0KK1gzODU0NzBZMjM1MDAwRDAyKlgzODg2NzBEMDEqDQorWDM4NDE2MlkzMDc2MDBEMDIqWTMwNDQwMEQwMSoNCitYMzgyNTYyWTMwNjAwMEQwMipYMzg1NzYyRDAxKg0KK1g0NTg0NDFZMzc2NjAwRDAyKlkzNzM0MDBEMDEqDQorWDQ1Njg0MVkzNzUwMDBEMDIqWDQ2MDA0MUQwMSoNCitYNDU4NDQxWTM0NjYwMEQwMipZMzQzNDAwRDAxKg0KK1g0NTY4NDFZMzQ1MDAwRDAyKlg0NjAwNDFEMDEqDQorWDQ1ODQ0MVkzMTY2MDBEMDIqWTMxMzQwMEQwMSoNCitYNDU2ODQxWTMxNTAwMEQwMipYNDYwMDQxRDAxKg0KK1g0NTg0NDFZMjg2NjAwRDAyKlkyODM0MDBEMDEqDQorWDQ1Njg0MVkyODUwMDBEMDIqWDQ2MDA0MUQwMSoNCitYNDU4NDQxWTI1NTYwMEQwMipZMjUyNDAwRDAxKg0KK1g0NTY4NDFZMjU0MDAwRDAyKlg0NjAwNDFEMDEqDQorWDQ1ODQ0MVkyMjY2MDBEMDIqWTIyMzQwMEQwMSoNCitYNDU2ODQxWTIyNTAwMEQwMipYNDYwMDQxRDAxKg0KK1g0NTg0NDFZMTk2NjAwRDAyKlkxOTM0MDBEMDEqDQorWDQ1Njg0MVkxOTUwMDBEMDIqWDQ2MDA0MUQwMSoNCitYNDU4NDQxWTE2NTYwMEQwMipZMTYyNDAwRDAxKg0KK1g0NTY4NDFZMTY0MDAwRDAyKlg0NjAwNDFEMDEqDQorWDQ0NjQ0MVkxMDM2MDBEMDIqWTEwMDQwMEQwMSoNCitYNDQ0ODQxWTEwMjAwMEQwMipYNDQ4MDQxRDAxKg0KK1g0MzQ4ODJZNzY2MDBEMDIqWTczNDAwRDAxKg0KK1g0MzMyODJZNzUwMDBEMDIqWDQzNjQ4MkQwMSoNCitYNDIzNDQxWTc2NjAwRDAyKlk3MzQwMEQwMSoNCitYNDIxODQxWTc1MDAwRDAyKlg0MjUwNDFEMDEqDQorWDM3MjQ0MVkxNzE5ODZEMDIqWTE2ODc4NkQwMSoNCitYMzcwODQxWTE3MDM4NkQwMipYMzc0MDQxRDAxKg0KK1gzOTg0NDFZMjQ5NjAwRDAyKlkyNDY0MDBEMDEqDQorWDM5Njg0MVkyNDgwMDBEMDIqWDQwMDA0MUQwMSoNCitYMzk4NDQxWTI1NDYwMEQwMipZMjUxNDAwRDAxKg0KK1gzOTY4NDFZMjUzMDAwRDAyKlg0MDAwNDFEMDEqDQorWDM4NDUxMlkyNTk2MDBEMDIqWTI1NjQwMEQwMSoNCitYMzgyOTEyWTI1ODAwMEQwMipYMzg2MTEyRDAxKg0KK1gzOTg0NDFZMzE1NjAwRDAyKlkzMTI0MDBEMDEqDQorWDM5Njg0MVkzMTQwMDBEMDIqWDQwMDA0MUQwMSoNCitYMzk4NDQxWTMxMDYwMEQwMipZMzA3NDAwRDAxKg0KK1gzOTY4NDFZMzA5MDAwRDAyKlg0MDAwNDFEMDEqDQorWDM3MjQ0MVkyOTIyODlEMDIqWTI4OTA4OUQwMSoNCitYMzcwODQxWTI5MDY4OUQwMipYMzc0MDQxRDAxKg0KK1gzNzI0NDFZMzUyNzg5RDAyKlkzNDk1ODlEMDEqDQorWDM3MDg0MVkzNTExODlEMDIqWDM3NDA0MUQwMSoNCitYMzgzNjYyWTM4MDEwMEQwMipZMzc2OTAwRDAxKg0KK1gzODIwNjJZMzc4NTAwRDAyKlgzODUyNjJEMDEqDQorWDM5NzQ0MVkzNzQ2MDBEMDIqWTM3MTQwMEQwMSoNCitYMzk1ODQxWTM3MzAwMEQwMipYMzk5MDQxRDAxKg0KK1gzOTc5NDFZMzY5MDQxRDAyKlkzNjU4NDFEMDEqDQorWDM5NjM0MVkzNjc0NDFEMDIqWDM5OTU0MUQwMSoNCitYMTUwMDBZNTAyODUwRDAyKlk0OTk2NTBEMDEqDQorWDEzNDAwWTUwMTI1MEQwMipYMTY2MDBEMDEqDQorWDEzNTAwMFk1MDM1MDBEMDIqWDEzNjUwMFk1MDA1MDBEMDEqDQorWDEzODAwMFk1MDM1MDBEMDEqDQorWDEzNjUwMFk1MDA1MDBEMDIqWTQ5NzUwMEQwMSoNCitYMTM5ODAwWTUwMDgwMEQwMipYMTQyMDUwRDAxKg0KK1gxMzk4MDBZNDk3NTAwRDAyKlgxNDI4MDBEMDEqDQorWDEzOTgwMFk1MDM1MDBEMDIqWTQ5NzUwMEQwMSoNCitZNTAzNTAwRDAyKlgxNDI4MDBEMDEqDQorWDE0NzYwMEQwMipYMTQ4MzUwWTUwMjc1MEQwMSoNCitYMTQ1MzUwWTUwMzUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNTAyNzUwRDAyKlgxNDUzNTBZNTAzNTAwRDAxKg0KK1gxNDQ2MDBZNTAyNzUwRDAyKlk1MDEyNTBEMDEqDQorWDE0NTM1MFk1MDA1MDBEMDEqDQorWDE0NzYwMEQwMSoNCitYMTQ4MzUwWTQ5OTc1MEQwMSoNCitZNDk4MjUwRDAxKg0KK1gxNDc2MDBZNDk3NTAwRDAyKlgxNDgzNTBZNDk4MjUwRDAxKg0KK1gxNDUzNTBZNDk3NTAwRDAyKlgxNDc2MDBEMDEqDQorWDE0NDYwMFk0OTgyNTBEMDIqWDE0NTM1MFk0OTc1MDBEMDEqDQorWDk4MDAwWTUwMjc1MEQwMipYOTg3NTBZNTAzNTAwRDAxKg0KK1gxMDAyNTBEMDEqDQorWDEwMTAwMFk1MDI3NTBEMDEqDQorWDEwMDI1MFk0OTc1MDBEMDIqWDEwMTAwMFk0OTgyNTBEMDEqDQorWDk4NzUwWTQ5NzUwMEQwMipYMTAwMjUwRDAxKg0KK1g5ODAwMFk0OTgyNTBEMDIqWDk4NzUwWTQ5NzUwMEQwMSoNCitZNTAwODAwRDAyKlgxMDAyNTBEMDEqDQorWDEwMTAwMFk1MDI3NTBEMDIqWTUwMTU1MEQwMSoNCitZNTAwMDUwRDAyKlk0OTgyNTBEMDEqDQorWTUwMDA1MEQwMipYMTAwMjUwWTUwMDgwMEQwMSoNCitYMTAxMDAwWTUwMTU1MEQwMipYMTAwMjUwWTUwMDgwMEQwMSoNCitYMTAzNTUwWTQ5NzUwMEQwMipYMTA2NTUwWTUwMzUwMEQwMSoNCitYMTAyODAwRDAyKlgxMDY1NTBEMDEqDQorWDQ1MDAwWTQ5ODI1MEQwMipYNDU3NTBZNDk3NTAwRDAxKg0KK1g0NTAwMFk1MDI3NTBEMDIqWTQ5ODI1MEQwMSoNCitZNTAyNzUwRDAyKlg0NTc1MFk1MDM1MDBEMDEqDQorWDQ3MjUwRDAxKg0KK1g0ODAwMFk1MDI3NTBEMDEqDQorWTQ5ODI1MEQwMSoNCitYNDcyNTBZNDk3NTAwRDAyKlg0ODAwMFk0OTgyNTBEMDEqDQorWDQ1NzUwWTQ5NzUwMEQwMipYNDcyNTBEMDEqDQorWDQ1MDAwWTQ5OTAwMEQwMipYNDgwMDBZNTAyMDAwRDAxKg0KK1g0OTgwMFk0OTc1MDBEMDIqWDUwNTUwRDAxKg0KK1g1MjM1MFk0OTgyNTBEMDIqWDUzMTAwWTQ5NzUwMEQwMSoNCitYNTIzNTBZNTAyNzUwRDAyKlk0OTgyNTBEMDEqDQorWTUwMjc1MEQwMipYNTMxMDBZNTAzNTAwRDAxKg0KK1g1NDYwMEQwMSoNCitYNTUzNTBZNTAyNzUwRDAxKg0KK1k0OTgyNTBEMDEqDQorWDU0NjAwWTQ5NzUwMEQwMipYNTUzNTBZNDk4MjUwRDAxKg0KK1g1MzEwMFk0OTc1MDBEMDIqWDU0NjAwRDAxKg0KK1g1MjM1MFk0OTkwMDBEMDIqWDU1MzUwWTUwMjAwMEQwMSoNCitYNTcxNTBZNTAyNzUwRDAyKlg1NzkwMFk1MDM1MDBEMDEqDQorWDYwMTUwRDAxKg0KK1g2MDkwMFk1MDI3NTBEMDEqDQorWTUwMTI1MEQwMSoNCitYNTcxNTBZNDk3NTAwRDAyKlg2MDkwMFk1MDEyNTBEMDEqDQorWDU3MTUwWTQ5NzUwMEQwMipYNjA5MDBEMDEqDQorWDYyNzAwWTQ5ODI1MEQwMipYNjM0NTBZNDk3NTAwRDAxKg0KK1g2MjcwMFk1MDI3NTBEMDIqWTQ5ODI1MEQwMSoNCitZNTAyNzUwRDAyKlg2MzQ1MFk1MDM1MDBEMDEqDQorWDY0OTUwRDAxKg0KK1g2NTcwMFk1MDI3NTBEMDEqDQorWTQ5ODI1MEQwMSoNCitYNjQ5NTBZNDk3NTAwRDAyKlg2NTcwMFk0OTgyNTBEMDEqDQorWDYzNDUwWTQ5NzUwMEQwMipYNjQ5NTBEMDEqDQorWDYyNzAwWTQ5OTAwMEQwMipYNjU3MDBZNTAyMDAwRDAxKg0KK1gzMDc3MTZZMjc1MDc1RDAyKlkyNzM0NzVEMDEqDQorWTI3NTA3NUQwMipYMzA5MTAzWTI3NTg3NUQwMSoNCitYMzA3NzE2WTI3NTA3NUQwMipYMzA2MzI5WTI3NTg3NUQwMSoNCitYMzA4OTkyWTI3MTk3MUQwMipZMjcwMzcxRDAxKg0KK1kyNzE5NzFEMDIqWDMxMDM3OVkyNzI3NzFEMDEqDQorWDMwODk5MlkyNzE5NzFEMDIqWDMwNzYwNVkyNzI3NzFEMDEqDQorWDMwODg3MlkyNjY1MjJEMDIqWTI2NDkyMkQwMSoNCitZMjY2NTIyRDAyKlgzMTAyNTlZMjY3MzIyRDAxKg0KK1gzMDg4NzJZMjY2NTIyRDAyKlgzMDc0ODVZMjY3MzIyRDAxKg0KK1gyNDU1NTdZMjc5NTA4RDAyKlkyNzc5MDhEMDEqDQorWTI3OTUwOEQwMipYMjQ2OTQ0WTI4MDMwOEQwMSoNCitYMjQ1NTU3WTI3OTUwOEQwMipYMjQ0MTcwWTI4MDMwOEQwMSoNCitYMjY2NDEzWTI5NjU5NEQwMipZMjk0OTk0RDAxKg0KK1kyOTY1OTREMDIqWDI2NzgwMFkyOTczOTREMDEqDQorWDI2NjQxM1kyOTY1OTREMDIqWDI2NTAyNlkyOTczOTREMDEqDQorWDI2MzI0MFkyOTUzMjlEMDIqWTI5MzcyOUQwMSoNCitZMjk1MzI5RDAyKlgyNjQ2MjdZMjk2MTI5RDAxKg0KK1gyNjMyNDBZMjk1MzI5RDAyKlgyNjE4NTNZMjk2MTI5RDAxKg0KK1gyNjI3NDBZMjkxODI5RDAyKlkyOTAyMjlEMDEqDQorWTI5MTgyOUQwMipYMjY0MTI3WTI5MjYyOUQwMSoNCitYMjYyNzQwWTI5MTgyOUQwMipYMjYxMzUzWTI5MjYyOUQwMSoNCitYMjU0NzQwWTI5ODMyOUQwMipZMjk2NzI5RDAxKg0KK1kyOTgzMjlEMDIqWDI1NjEyN1kyOTkxMjlEMDEqDQorWDI1NDc0MFkyOTgzMjlEMDIqWDI1MzM1M1kyOTkxMjlEMDEqDQorWDI4NzkxN1kzMDc4MjlEMDIqWTMwNjIyOUQwMSoNCitZMzA3ODI5RDAyKlgyODkzMDRZMzA4NjI5RDAxKg0KK1gyODc5MTdZMzA3ODI5RDAyKlgyODY1MzBZMzA4NjI5RDAxKg0KK1gyNjk2NTNZMjk4NjMxRDAyKlkyOTcwMzFEMDEqDQorWTI5ODYzMUQwMipYMjcxMDQwWTI5OTQzMUQwMSoNCitYMjY5NjUzWTI5ODYzMUQwMipYMjY4MjY2WTI5OTQzMUQwMSoNCitYMjczMjI5WTI5ODU4MkQwMipZMjk2OTgyRDAxKg0KK1kyOTg1ODJEMDIqWDI3NDYxNlkyOTkzODJEMDEqDQorWDI3MzIyOVkyOTg1ODJEMDIqWDI3MTg0MlkyOTkzODJEMDEqDQorWDI3ODIyNVkyNzk2MDJEMDIqWTI3ODAwMkQwMSoNCitZMjc5NjAyRDAyKlgyNzk2MTJZMjgwNDAyRDAxKg0KK1gyNzgyMjVZMjc5NjAyRDAyKlgyNzY4MzhZMjgwNDAyRDAxKg0KK1gyNjI3NTBZMjY4NzcyRDAyKlkyNjcxNzJEMDEqDQorWTI2ODc3MkQwMipYMjY0MTM3WTI2OTU3MkQwMSoNCitYMjYyNzUwWTI2ODc3MkQwMipYMjYxMzYzWTI2OTU3MkQwMSoNCitYMjkzOTAyWTI4MjI2M0QwMipZMjgwNjYzRDAxKg0KK1kyODIyNjNEMDIqWDI5NTI4OVkyODMwNjNEMDEqDQorWDI5MzkwMlkyODIyNjNEMDIqWDI5MjUxNVkyODMwNjNEMDEqDQorWDI2MDM0MVkyODQyNDlEMDIqWTI4MjY0OUQwMSoNCitZMjg0MjQ5RDAyKlgyNjE3MjhZMjg1MDQ5RDAxKg0KK1gyNjAzNDFZMjg0MjQ5RDAyKlgyNTg5NTRZMjg1MDQ5RDAxKg0KK1gyOTY3NzlZMzA0OTYzRDAyKlkzMDMzNjNEMDEqDQorWTMwNDk2M0QwMipYMjk4MTY2WTMwNTc2M0QwMSoNCitYMjk2Nzc5WTMwNDk2M0QwMipYMjk1MzkyWTMwNTc2M0QwMSoNCitYMjUzMTAxWTI2MTgzNkQwMipZMjYwMjM2RDAxKg0KK1kyNjE4MzZEMDIqWDI1NDQ4OFkyNjI2MzZEMDEqDQorWDI1MzEwMVkyNjE4MzZEMDIqWDI1MTcxNFkyNjI2MzZEMDEqDQorWDIzOTMwMlkyNjIyMzVEMDIqWTI2MDYzNUQwMSoNCitZMjYyMjM1RDAyKlgyNDA2ODlZMjYzMDM1RDAxKg0KK1gyMzkzMDJZMjYyMjM1RDAyKlgyMzc5MTVZMjYzMDM1RDAxKg0KK1gyOTU5MzdZMjQzNjI4RDAyKlkyNDIwMjhEMDEqDQorWTI0MzYyOEQwMipYMjk3MzI0WTI0NDQyOEQwMSoNCitYMjk1OTM3WTI0MzYyOEQwMipYMjk0NTUwWTI0NDQyOEQwMSoNCitYMjc4MjA3WTI5ODYxMkQwMipZMjk3MDEyRDAxKg0KK1kyOTg2MTJEMDIqWDI3OTU5NFkyOTk0MTJEMDEqDQorWDI3ODIwN1kyOTg2MTJEMDIqWDI3NjgyMFkyOTk0MTJEMDEqDQorWDI3NzE3NFkzMDgyMTlEMDIqWTMwNjYxOUQwMSoNCitZMzA4MjE5RDAyKlgyNzg1NjFZMzA5MDE5RDAxKg0KK1gyNzcxNzRZMzA4MjE5RDAyKlgyNzU3ODdZMzA5MDE5RDAxKg0KK1gyNDI0NTZZMjkzNTQzRDAyKlkyOTE5NDNEMDEqDQorWTI5MzU0M0QwMipYMjQzODQzWTI5NDM0M0QwMSoNCitYMjQyNDU2WTI5MzU0M0QwMipYMjQxMDY5WTI5NDM0M0QwMSoNCitYMjQyMTY4WTI5ODgwMEQwMipZMjk3MjAwRDAxKg0KK1kyOTg4MDBEMDIqWDI0MzU1NVkyOTk2MDBEMDEqDQorWDI0MjE2OFkyOTg4MDBEMDIqWDI0MDc4MVkyOTk2MDBEMDEqDQorWDMxMjE1N1kzMDAxNTZEMDIqWTI5ODU1NkQwMSoNCitZMzAwMTU2RDAyKlgzMTM1NDRZMzAwOTU2RDAxKg0KK1gzMTIxNTdZMzAwMTU2RDAyKlgzMTA3NzBZMzAwOTU2RDAxKg0KK1gzMTIxMjJZMjk1MDM4RDAyKlkyOTM0MzhEMDEqDQorWTI5NTAzOEQwMipYMzEzNTA5WTI5NTgzOEQwMSoNCitYMzEyMTIyWTI5NTAzOEQwMipYMzEwNzM1WTI5NTgzOEQwMSoNCitYMjc3NDQ5WTM0NzUwMEQwMipZMzQ1OTAwRDAxKg0KK1kzNDc1MDBEMDIqWDI3ODgzNlkzNDgzMDBEMDEqDQorWDI3NzQ0OVkzNDc1MDBEMDIqWDI3NjA2MlkzNDgzMDBEMDEqDQorWDMwMzM2NVkzMzAwMDBEMDIqWTMyODQwMEQwMSoNCitZMzMwMDAwRDAyKlgzMDQ3NTJZMzMwODAwRDAxKg0KK1gzMDMzNjVZMzMwMDAwRDAyKlgzMDE5NzhZMzMwODAwRDAxKg0KK1gyODU0MzBZMzI1MDAwRDAyKlkzMjM0MDBEMDEqDQorWTMyNTAwMEQwMipYMjg2ODE3WTMyNTgwMEQwMSoNCitYMjg1NDMwWTMyNTAwMEQwMipYMjg0MDQzWTMyNTgwMEQwMSoNCitYMzAyOTQxWTM0MDAwN0QwMipZMzM4NDA3RDAxKg0KK1kzNDAwMDdEMDIqWDMwNDMyOFkzNDA4MDdEMDEqDQorWDMwMjk0MVkzNDAwMDdEMDIqWDMwMTU1NFkzNDA4MDdEMDEqDQorWDM3MTYwMlkyNjAyMjhEMDIqWTI1ODYyOEQwMSoNCitZMjYwMjI4RDAyKlgzNzI5ODlZMjYxMDI4RDAxKg0KK1gzNzE2MDJZMjYwMjI4RDAyKlgzNzAyMTVZMjYxMDI4RDAxKg0KK1gzOTY0NDFZMjM1MDAwRDAyKlkyMzM0MDBEMDEqDQorWTIzNTAwMEQwMipYMzk3ODI4WTIzNTgwMEQwMSoNCitYMzk2NDQxWTIzNTAwMEQwMipYMzk1MDU0WTIzNTgwMEQwMSoNCitYMzg1OTQxWTM2NjAwMEQwMipZMzY0NDAwRDAxKg0KK1kzNjYwMDBEMDIqWDM4NzMyOFkzNjY4MDBEMDEqDQorWDM4NTk0MVkzNjYwMDBEMDIqWDM4NDU1NFkzNjY4MDBEMDEqDQorWDM5ODQ0MVkyOTEwMDBEMDIqWTI4OTQwMEQwMSoNCitZMjkxMDAwRDAyKlgzOTk4MjhZMjkxODAwRDAxKg0KK1gzOTg0NDFZMjkxMDAwRDAyKlgzOTcwNTRZMjkxODAwRDAxKg0KK1gzODYwMjNZMTU3ODEzRDAyKlkxNTYyMTNEMDEqDQorWTE1NzgxM0QwMipYMzg3NDEwWTE1ODYxM0QwMSoNCitYMzg2MDIzWTE1NzgxM0QwMipYMzg0NjM2WTE1ODYxM0QwMSoNCitYMzk4NDQxWTE3MzAwMEQwMipZMTcxNDAwRDAxKg0KK1kxNzMwMDBEMDIqWDM5OTgyOFkxNzM4MDBEMDEqDQorWDM5ODQ0MVkxNzMwMDBEMDIqWDM5NzA1NFkxNzM4MDBEMDEqDQorWDQzNDQ0OVk1NjUwMEQwMipZNTQ5MDBEMDEqDQorWTU2NTAwRDAyKlg0MzU4MzZZNTczMDBEMDEqDQorWDQzNDQ0OVk1NjUwMEQwMipYNDMzMDYyWTU3MzAwRDAxKg0KK1g0NDA0NDlZNTY1MDBEMDIqWTU0OTAwRDAxKg0KK1k1NjUwMEQwMipYNDQxODM2WTU3MzAwRDAxKg0KK1g0NDA0NDlZNTY1MDBEMDIqWDQzOTA2Mlk1NzMwMEQwMSoNCitYMTYzOTQxWTEyNzUwMEQwMipZMTI1OTAwRDAxKg0KK1kxMjc1MDBEMDIqWDE2NTMyOFkxMjgzMDBEMDEqDQorWDE2Mzk0MVkxMjc1MDBEMDIqWDE2MjU1NFkxMjgzMDBEMDEqDQorWDE5MzM5MFkxMjc1MDBEMDIqWTEyNTkwMEQwMSoNCitZMTI3NTAwRDAyKlgxOTQ3NzdZMTI4MzAwRDAxKg0KK1gxOTMzOTBZMTI3NTAwRDAyKlgxOTIwMDNZMTI4MzAwRDAxKg0KK1gxMTIyMjJZMTI3MzQwRDAyKlkxMjU3NDBEMDEqDQorWTEyNzM0MEQwMipYMTEzNjA5WTEyODE0MEQwMSoNCitYMTEyMjIyWTEyNzM0MEQwMipYMTEwODM1WTEyODE0MEQwMSoNCitYMjQ1NDQxWTEyNzUwMEQwMipZMTI1OTAwRDAxKg0KK1kxMjc1MDBEMDIqWDI0NjgyOFkxMjgzMDBEMDEqDQorWDI0NTQ0MVkxMjc1MDBEMDIqWDI0NDA1NFkxMjgzMDBEMDEqDQorWDExNDQ0MVkxMjE1MDBEMDIqWTExOTkwMEQwMSoNCitZMTIxNTAwRDAyKlgxMTU4MjhZMTIyMzAwRDAxKg0KK1gxMTQ0NDFZMTIxNTAwRDAyKlgxMTMwNTRZMTIyMzAwRDAxKg0KK1gxMTU0NDFZMTMyNTAwRDAyKlkxMzA5MDBEMDEqDQorWTEzMjUwMEQwMipYMTE2ODI4WTEzMzMwMEQwMSoNCitYMTE1NDQxWTEzMjUwMEQwMipYMTE0MDU0WTEzMzMwMEQwMSoNCitYMTUyNDQxWTEyMTUwMEQwMipZMTE5OTAwRDAxKg0KK1kxMjE1MDBEMDIqWDE1MzgyOFkxMjIzMDBEMDEqDQorWDE1MjQ0MVkxMjE1MDBEMDIqWDE1MTA1NFkxMjIzMDBEMDEqDQorWDE1MTk0MVkxMzIwMDBEMDIqWTEzMDQwMEQwMSoNCitZMTMyMDAwRDAyKlgxNTMzMjhZMTMyODAwRDAxKg0KK1gxNTE5NDFZMTMyMDAwRDAyKlgxNTA1NTRZMTMyODAwRDAxKg0KK1gxMjc5NDFZMTQ4MDAwRDAyKlkxNDY0MDBEMDEqDQorWTE0ODAwMEQwMipYMTI5MzI4WTE0ODgwMEQwMSoNCitYMTI3OTQxWTE0ODAwMEQwMipYMTI2NTU0WTE0ODgwMEQwMSoNCitYMTQxNDQxWTE0ODAwMEQwMipZMTQ2NDAwRDAxKg0KK1kxNDgwMDBEMDIqWDE0MjgyOFkxNDg4MDBEMDEqDQorWDE0MTQ0MVkxNDgwMDBEMDIqWDE0MDA1NFkxNDg4MDBEMDEqDQorWDE5ODQ0MVkxMjI1MDBEMDIqWTEyMDkwMEQwMSoNCitZMTIyNTAwRDAyKlgxOTk4MjhZMTIzMzAwRDAxKg0KK1gxOTg0NDFZMTIyNTAwRDAyKlgxOTcwNTRZMTIzMzAwRDAxKg0KK1gxOTU0NDFZMTMzMDAwRDAyKlkxMzE0MDBEMDEqDQorWTEzMzAwMEQwMipYMTk2ODI4WTEzMzgwMEQwMSoNCitYMTk1NDQxWTEzMzAwMEQwMipYMTk0MDU0WTEzMzgwMEQwMSoNCitYMjA4OTQxWTE0ODAwMEQwMipZMTQ2NDAwRDAxKg0KK1kxNDgwMDBEMDIqWDIxMDMyOFkxNDg4MDBEMDEqDQorWDIwODk0MVkxNDgwMDBEMDIqWDIwNzU1NFkxNDg4MDBEMDEqDQorWDIyMzk0MVkxNDgwMDBEMDIqWTE0NjQwMEQwMSoNCitZMTQ4MDAwRDAyKlgyMjUzMjhZMTQ4ODAwRDAxKg0KK1gyMjM5NDFZMTQ4MDAwRDAyKlgyMjI1NTRZMTQ4ODAwRDAxKg0KK1gyMzQ0NDFZMTIyNTAwRDAyKlkxMjA5MDBEMDEqDQorWTEyMjUwMEQwMipYMjM1ODI4WTEyMzMwMEQwMSoNCitYMjM0NDQxWTEyMjUwMEQwMipYMjMzMDU0WTEyMzMwMEQwMSoNCitYMjM1OTQxWTEzMzAwMEQwMipZMTMxNDAwRDAxKg0KK1kxMzMwMDBEMDIqWDIzNzMyOFkxMzM4MDBEMDEqDQorWDIzNTk0MVkxMzMwMDBEMDIqWDIzNDU1NFkxMzM4MDBEMDEqDQorWDEyODk0MVkyNzQ1MDBEMDIqWTI3MjkwMEQwMSoNCitZMjc0NTAwRDAyKlgxMzAzMjhZMjc1MzAwRDAxKg0KK1gxMjg5NDFZMjc0NTAwRDAyKlgxMjc1NTRZMjc1MzAwRDAxKg0KK1gxMjg5NDFZMjY4NTAwRDAyKlkyNjY5MDBEMDEqDQorWTI2ODUwMEQwMipYMTMwMzI4WTI2OTMwMEQwMSoNCitYMTI4OTQxWTI2ODUwMEQwMipYMTI3NTU0WTI2OTMwMEQwMSoNCitYMTI4OTQxWTI2MjUwMEQwMipZMjYwOTAwRDAxKg0KK1kyNjI1MDBEMDIqWDEzMDMyOFkyNjMzMDBEMDEqDQorWDEyODk0MVkyNjI1MDBEMDIqWDEyNzU1NFkyNjMzMDBEMDEqDQorWDEyODk0MVkyNTUwMDBEMDIqWTI1MzQwMEQwMSoNCitZMjU1MDAwRDAyKlgxMzAzMjhZMjU1ODAwRDAxKg0KK1gxMjg5NDFZMjU1MDAwRDAyKlgxMjc1NTRZMjU1ODAwRDAxKg0KK1gxMjg5NDFZMjQ4NTAwRDAyKlkyNDY5MDBEMDEqDQorWTI0ODUwMEQwMipYMTMwMzI4WTI0OTMwMEQwMSoNCitYMTI4OTQxWTI0ODUwMEQwMipYMTI3NTU0WTI0OTMwMEQwMSoNCitYMTI4OTQxWTI0MjUwMEQwMipZMjQwOTAwRDAxKg0KK1kyNDI1MDBEMDIqWDEzMDMyOFkyNDMzMDBEMDEqDQorWDEyODk0MVkyNDI1MDBEMDIqWDEyNzU1NFkyNDMzMDBEMDEqDQorWDE2MjQ0MVkyNDI1MDBEMDIqWTI0MDkwMEQwMSoNCitZMjQyNTAwRDAyKlgxNjM4MjhZMjQzMzAwRDAxKg0KK1gxNjI0NDFZMjQyNTAwRDAyKlgxNjEwNTRZMjQzMzAwRDAxKg0KK1gxNjI0NDFZMjQ4NTAwRDAyKlkyNDY5MDBEMDEqDQorWTI0ODUwMEQwMipYMTYzODI4WTI0OTMwMEQwMSoNCitYMTYyNDQxWTI0ODUwMEQwMipYMTYxMDU0WTI0OTMwMEQwMSoNCitYMTYxOTQxWTI1NTAwMEQwMipZMjUzNDAwRDAxKg0KK1kyNTUwMDBEMDIqWDE2MzMyOFkyNTU4MDBEMDEqDQorWDE2MTk0MVkyNTUwMDBEMDIqWDE2MDU1NFkyNTU4MDBEMDEqDQorWDE2MjQ0MVkyNjI1MDBEMDIqWTI2MDkwMEQwMSoNCitZMjYyNTAwRDAyKlgxNjM4MjhZMjYzMzAwRDAxKg0KK1gxNjI0NDFZMjYyNTAwRDAyKlgxNjEwNTRZMjYzMzAwRDAxKg0KK1gxNjI5NDFZMjY4NTAwRDAyKlkyNjY5MDBEMDEqDQorWTI2ODUwMEQwMipYMTY0MzI4WTI2OTMwMEQwMSoNCitYMTYyOTQxWTI2ODUwMEQwMipYMTYxNTU0WTI2OTMwMEQwMSoNCitYMTYyOTQxWTI3NDUwMEQwMipZMjcyOTAwRDAxKg0KK1kyNzQ1MDBEMDIqWDE2NDMyOFkyNzUzMDBEMDEqDQorWDE2Mjk0MVkyNzQ1MDBEMDIqWDE2MTU1NFkyNzUzMDBEMDEqDQorWDE2NTk0MVkyMzEwMDBEMDIqWTIyOTQwMEQwMSoNCitZMjMxMDAwRDAyKlgxNjczMjhZMjMxODAwRDAxKg0KK1gxNjU5NDFZMjMxMDAwRDAyKlgxNjQ1NTRZMjMxODAwRDAxKg0KK1gxNjU5NDFZMjI2NTAwRDAyKlkyMjQ5MDBEMDEqDQorWTIyNjUwMEQwMipYMTY3MzI4WTIyNzMwMEQwMSoNCitYMTY1OTQxWTIyNjUwMEQwMipYMTY0NTU0WTIyNzMwMEQwMSoNCitYMTY1OTQxWTIyMDUwMEQwMipZMjE4OTAwRDAxKg0KK1kyMjA1MDBEMDIqWDE2NzMyOFkyMjEzMDBEMDEqDQorWDE2NTk0MVkyMjA1MDBEMDIqWDE2NDU1NFkyMjEzMDBEMDEqDQorWDE2OTQ0MVkyMTQwMDBEMDIqWTIxMjQwMEQwMSoNCitZMjE0MDAwRDAyKlgxNzA4MjhZMjE0ODAwRDAxKg0KK1gxNjk0NDFZMjE0MDAwRDAyKlgxNjgwNTRZMjE0ODAwRDAxKg0KK1gxNjk0NDFZMjA4NTAwRDAyKlkyMDY5MDBEMDEqDQorWTIwODUwMEQwMipYMTcwODI4WTIwOTMwMEQwMSoNCitYMTY5NDQxWTIwODUwMEQwMipYMTY4MDU0WTIwOTMwMEQwMSoNCitYMTY5NDQxWTIwMTUwMEQwMipZMTk5OTAwRDAxKg0KK1kyMDE1MDBEMDIqWDE3MDgyOFkyMDIzMDBEMDEqDQorWDE2OTQ0MVkyMDE1MDBEMDIqWDE2ODA1NFkyMDIzMDBEMDEqDQorWDE0MTMwN1kzMDA4ODNEMDIqWTI5OTI4M0QwMSoNCitZMzAwODgzRDAyKlgxNDI2OTRZMzAxNjgzRDAxKg0KK1gxNDEzMDdZMzAwODgzRDAyKlgxMzk5MjBZMzAxNjgzRDAxKg0KK1gxNTg0NDFZMzIzODI5RDAyKlkzMjIyMjlEMDEqDQorWTMyMzgyOUQwMipYMTU5ODI4WTMyNDYyOUQwMSoNCitYMTU4NDQxWTMyMzgyOUQwMipYMTU3MDU0WTMyNDYyOUQwMSoNCitYMTU4NDQxWTMyODgyOUQwMipZMzI3MjI5RDAxKg0KK1kzMjg4MjlEMDIqWDE1OTgyOFkzMjk2MjlEMDEqDQorWDE1ODQ0MVkzMjg4MjlEMDIqWDE1NzA1NFkzMjk2MjlEMDEqDQorWDE1ODQ0MVkzMjY1MDBEMDIqWTMyNDkwMEQwMSoNCitZMzI2NTAwRDAyKlgxNTk4MjhZMzI3MzAwRDAxKg0KK1gxNTg0NDFZMzI2NTAwRDAyKlgxNTcwNTRZMzI3MzAwRDAxKg0KK1gxOTc0NDFZMzE0NTAwRDAyKlkzMTI5MDBEMDEqDQorWTMxNDUwMEQwMipYMTk4ODI4WTMxNTMwMEQwMSoNCitYMTk3NDQxWTMxNDUwMEQwMipYMTk2MDU0WTMxNTMwMEQwMSoNCitYMTk1NDQxWTMxMTUwMEQwMipZMzA5OTAwRDAxKg0KK1kzMTE1MDBEMDIqWDE5NjgyOFkzMTIzMDBEMDEqDQorWDE5NTQ0MVkzMTE1MDBEMDIqWDE5NDA1NFkzMTIzMDBEMDEqDQorWDE5NzQ0MVkzMDg1MDBEMDIqWTMwNjkwMEQwMSoNCitZMzA4NTAwRDAyKlgxOTg4MjhZMzA5MzAwRDAxKg0KK1gxOTc0NDFZMzA4NTAwRDAyKlgxOTYwNTRZMzA5MzAwRDAxKg0KK1gxMjQ4MzFZMzAyMzg1RDAyKlkzMDA3ODVEMDEqDQorWTMwMjM4NUQwMipYMTI2MjE4WTMwMzE4NUQwMSoNCitYMTI0ODMxWTMwMjM4NUQwMipYMTIzNDQ0WTMwMzE4NUQwMSoNCitYMTM1NDQxWTMzODUwMEQwMipZMzM2OTAwRDAxKg0KK1kzMzg1MDBEMDIqWDEzNjgyOFkzMzkzMDBEMDEqDQorWDEzNTQ0MVkzMzg1MDBEMDIqWDEzNDA1NFkzMzkzMDBEMDEqDQorWDEzNTQ0MVkzMzUwMDBEMDIqWTMzMzQwMEQwMSoNCitZMzM1MDAwRDAyKlgxMzY4MjhZMzM1ODAwRDAxKg0KK1gxMzU0NDFZMzM1MDAwRDAyKlgxMzQwNTRZMzM1ODAwRDAxKg0KK1gxMzk5NDFZMzM4MDAwRDAyKlkzMzY0MDBEMDEqDQorWTMzODAwMEQwMipYMTQxMzI4WTMzODgwMEQwMSoNCitYMTM5OTQxWTMzODAwMEQwMipYMTM4NTU0WTMzODgwMEQwMSoNCitYMTUzOTQxWTMzODAwMEQwMipZMzM2NDAwRDAxKg0KK1kzMzgwMDBEMDIqWDE1NTMyOFkzMzg4MDBEMDEqDQorWDE1Mzk0MVkzMzgwMDBEMDIqWDE1MjU1NFkzMzg4MDBEMDEqDQorWDExMTk0MVkzMzQwMDBEMDIqWTMzMjQwMEQwMSoNCitZMzM0MDAwRDAyKlgxMTMzMjhZMzM0ODAwRDAxKg0KK1gxMTE5NDFZMzM0MDAwRDAyKlgxMTA1NTRZMzM0ODAwRDAxKg0KK1gxMTc5NDFZMzM0MDAwRDAyKlkzMzI0MDBEMDEqDQorWTMzNDAwMEQwMipYMTE5MzI4WTMzNDgwMEQwMSoNCitYMTE3OTQxWTMzNDAwMEQwMipYMTE2NTU0WTMzNDgwMEQwMSoNCitYMTI2NDQxWTMzNDAwMEQwMipZMzMyNDAwRDAxKg0KK1kzMzQwMDBEMDIqWDEyNzgyOFkzMzQ4MDBEMDEqDQorWDEyNjQ0MVkzMzQwMDBEMDIqWDEyNTA1NFkzMzQ4MDBEMDEqDQorWDEyNjQ0MVkzNDA1MDBEMDIqWTMzODkwMEQwMSoNCitZMzQwNTAwRDAyKlgxMjc4MjhZMzQxMzAwRDAxKg0KK1gxMjY0NDFZMzQwNTAwRDAyKlgxMjUwNTRZMzQxMzAwRDAxKg0KK1gxMTE5NDFZMzQxMDAwRDAyKlkzMzk0MDBEMDEqDQorWTM0MTAwMEQwMipYMTEzMzI4WTM0MTgwMEQwMSoNCitYMTExOTQxWTM0MTAwMEQwMipYMTEwNTU0WTM0MTgwMEQwMSoNCitYMTExOTQxWTM1NzUwMEQwMipZMzU1OTAwRDAxKg0KK1kzNTc1MDBEMDIqWDExMzMyOFkzNTgzMDBEMDEqDQorWDExMTk0MVkzNTc1MDBEMDIqWDExMDU1NFkzNTgzMDBEMDEqDQorWDE0MjQ0MVkzNTc1MDBEMDIqWTM1NTkwMEQwMSoNCitZMzU3NTAwRDAyKlgxNDM4MjhZMzU4MzAwRDAxKg0KK1gxNDI0NDFZMzU3NTAwRDAyKlgxNDEwNTRZMzU4MzAwRDAxKg0KK1gxNDI0NDFZMzQ5NTAwRDAyKlkzNDc5MDBEMDEqDQorWTM0OTUwMEQwMipYMTQzODI4WTM1MDMwMEQwMSoNCitYMTQyNDQxWTM0OTUwMEQwMipYMTQxMDU0WTM1MDMwMEQwMSoNCitYMTU0OTQxWTM0NTUwMEQwMipZMzQzOTAwRDAxKg0KK1kzNDU1MDBEMDIqWDE1NjMyOFkzNDYzMDBEMDEqDQorWDE1NDk0MVkzNDU1MDBEMDIqWDE1MzU1NFkzNDYzMDBEMDEqDQorWDE0OTQ0MVkzNDk1MDBEMDIqWTM0NzkwMEQwMSoNCitZMzQ5NTAwRDAyKlgxNTA4MjhZMzUwMzAwRDAxKg0KK1gxNDk0NDFZMzQ5NTAwRDAyKlgxNDgwNTRZMzUwMzAwRDAxKg0KK1gxMjE5NDFZMzU3NTAwRDAyKlkzNTU5MDBEMDEqDQorWTM1NzUwMEQwMipYMTIzMzI4WTM1ODMwMEQwMSoNCitYMTIxOTQxWTM1NzUwMEQwMipYMTIwNTU0WTM1ODMwMEQwMSoNCitYMTMwOTQxWTM1NzUwMEQwMipZMzU1OTAwRDAxKg0KK1kzNTc1MDBEMDIqWDEzMjMyOFkzNTgzMDBEMDEqDQorWDEzMDk0MVkzNTc1MDBEMDIqWDEyOTU1NFkzNTgzMDBEMDEqDQorWDMwOTQ0MVkxNDE1NjhEMDIqWTEzOTk2OEQwMSoNCitZMTQxNTY4RDAyKlgzMTA4MjhZMTQyMzY4RDAxKg0KK1gzMDk0NDFZMTQxNTY4RDAyKlgzMDgwNTRZMTQyMzY4RDAxKg0KK1gzMDk0NDFZMTM2NDUwRDAyKlkxMzQ4NTBEMDEqDQorWTEzNjQ1MEQwMipYMzEwODI4WTEzNzI1MEQwMSoNCitYMzA5NDQxWTEzNjQ1MEQwMipYMzA4MDU0WTEzNzI1MEQwMSoNCitYMzEwOTQxWTExNTk0MEQwMipZMTE0MzQwRDAxKg0KK1kxMTU5NDBEMDIqWDMxMjMyOFkxMTY3NDBEMDEqDQorWDMxMDk0MVkxMTU5NDBEMDIqWDMwOTU1NFkxMTY3NDBEMDEqDQorWDMwNTY5NlkxMDc1MDBEMDIqWTEwNTkwMEQwMSoNCitZMTA3NTAwRDAyKlgzMDcwODNZMTA4MzAwRDAxKg0KK1gzMDU2OTZZMTA3NTAwRDAyKlgzMDQzMDlZMTA4MzAwRDAxKg0KK1gyNjM0NDFZMzIwMDAwRDAyKlkzMTg0MDBEMDEqDQorWTMyMDAwMEQwMipYMjY0ODI4WTMyMDgwMEQwMSoNCitYMjYzNDQxWTMyMDAwMEQwMipYMjYyMDU0WTMyMDgwMEQwMSoNCitYMzA0NTg0WTIwNzQ4M0QwMipZMjA1ODgzRDAxKg0KK1kyMDc0ODNEMDIqWDMwNTk3MVkyMDgyODNEMDEqDQorWDMwNDU4NFkyMDc0ODNEMDIqWDMwMzE5N1kyMDgyODNEMDEqDQorWDMwNDcwNlkyMTA1ODNEMDIqWTIwODk4M0QwMSoNCitZMjEwNTgzRDAyKlgzMDYwOTNZMjExMzgzRDAxKg0KK1gzMDQ3MDZZMjEwNTgzRDAyKlgzMDMzMTlZMjExMzgzRDAxKg0KK1gzMDUyODBZMjA0MzgzRDAyKlkyMDI3ODNEMDEqDQorWTIwNDM4M0QwMipYMzA2NjY3WTIwNTE4M0QwMSoNCitYMzA1MjgwWTIwNDM4M0QwMipYMzAzODkzWTIwNTE4M0QwMSoNCitYMjQ2OTQxWTIzODAwMEQwMipZMjM2NDAwRDAxKg0KK1kyMzgwMDBEMDIqWDI0ODMyOFkyMzg4MDBEMDEqDQorWDI0Njk0MVkyMzgwMDBEMDIqWDI0NTU1NFkyMzg4MDBEMDEqDQorWDI0MjQ0MVkyMjk1MDBEMDIqWTIyNzkwMEQwMSoNCitZMjI5NTAwRDAyKlgyNDM4MjhZMjMwMzAwRDAxKg0KK1gyNDI0NDFZMjI5NTAwRDAyKlgyNDEwNTRZMjMwMzAwRDAxKg0KK1gyNDY0NDFZMjI5NTAwRDAyKlkyMjc5MDBEMDEqDQorWTIyOTUwMEQwMipYMjQ3ODI4WTIzMDMwMEQwMSoNCitYMjQ2NDQxWTIyOTUwMEQwMipYMjQ1MDU0WTIzMDMwMEQwMSoNCitYMjUwOTQxWTIyOTUwMEQwMipZMjI3OTAwRDAxKg0KK1kyMjk1MDBEMDIqWDI1MjMyOFkyMzAzMDBEMDEqDQorWDI1MDk0MVkyMjk1MDBEMDIqWDI0OTU1NFkyMzAzMDBEMDEqDQorWDIyMTg4NFkyNTQwMDBEMDIqWTI1MjQwMEQwMSoNCitZMjU0MDAwRDAyKlgyMjMyNzFZMjU0ODAwRDAxKg0KK1gyMjE4ODRZMjU0MDAwRDAyKlgyMjA0OTdZMjU0ODAwRDAxKg0KK1gyMjQ0NDFZMjUyMDAwRDAyKlkyNTA0MDBEMDEqDQorWTI1MjAwMEQwMipYMjI1ODI4WTI1MjgwMEQwMSoNCitYMjI0NDQxWTI1MjAwMEQwMipYMjIzMDU0WTI1MjgwMEQwMSoNCitYMzU2NDQxWTIzMzAwMEQwMipZMjMxNDAwRDAxKg0KK1kyMzMwMDBEMDIqWDM1NzgyOFkyMzM4MDBEMDEqDQorWDM1NjQ0MVkyMzMwMDBEMDIqWDM1NTA1NFkyMzM4MDBEMDEqDQorWDMzODQ0MVkyMjQxOTJEMDIqWTIyMjU5MkQwMSoNCitZMjI0MTkyRDAyKlgzMzk4MjhZMjI0OTkyRDAxKg0KK1gzMzg0NDFZMjI0MTkyRDAyKlgzMzcwNTRZMjI0OTkyRDAxKg0KK1gzMzg0NDFZMjMwMTI0RDAyKlkyMjg1MjREMDEqDQorWTIzMDEyNEQwMipYMzM5ODI4WTIzMDkyNEQwMSoNCitYMzM4NDQxWTIzMDEyNEQwMipYMzM3MDU0WTIzMDkyNEQwMSoNCitYMjI1NDQxWTI0OTAwMEQwMipZMjQ3NDAwRDAxKg0KK1kyNDkwMDBEMDIqWDIyNjgyOFkyNDk4MDBEMDEqDQorWDIyNTQ0MVkyNDkwMDBEMDIqWDIyNDA1NFkyNDk4MDBEMDEqDQorWDIxOTQ0MVkyNzI1MDBEMDIqWTI3MDkwMEQwMSoNCitZMjcyNTAwRDAyKlgyMjA4MjhZMjczMzAwRDAxKg0KK1gyMTk0NDFZMjcyNTAwRDAyKlgyMTgwNTRZMjczMzAwRDAxKg0KK1gyMjA3MjlZMjY1NTgwRDAyKlkyNjM5ODBEMDEqDQorWTI2NTU4MEQwMipYMjIyMTE2WTI2NjM4MEQwMSoNCitYMjIwNzI5WTI2NTU4MEQwMipYMjE5MzQyWTI2NjM4MEQwMSoNCitYMjE3NDQxWTI3OTAwMEQwMipZMjc3NDAwRDAxKg0KK1kyNzkwMDBEMDIqWDIxODgyOFkyNzk4MDBEMDEqDQorWDIxNzQ0MVkyNzkwMDBEMDIqWDIxNjA1NFkyNzk4MDBEMDEqDQorWDI2MDU2OFkzMTY5OTdEMDIqWTMxNTM5N0QwMSoNCitZMzE2OTk3RDAyKlgyNjE5NTVZMzE3Nzk3RDAxKg0KK1gyNjA1NjhZMzE2OTk3RDAyKlgyNTkxODFZMzE3Nzk3RDAxKg0KK1gyNDAzOTFZMjc4NTY0RDAyKlkyNzY5NjREMDEqDQorWTI3ODU2NEQwMipYMjQxNzc4WTI3OTM2NEQwMSoNCitYMjQwMzkxWTI3ODU2NEQwMipYMjM5MDA0WTI3OTM2NEQwMSoNCitYMjMwNDQxWTI5MzAwMEQwMipZMjkxNDAwRDAxKg0KK1kyOTMwMDBEMDIqWDIzMTgyOFkyOTM4MDBEMDEqDQorWDIzMDQ0MVkyOTMwMDBEMDIqWDIyOTA1NFkyOTM4MDBEMDEqDQorWDI2NDAzNFkyODI5MzFEMDIqWTI4MTMzMUQwMSoNCitZMjgyOTMxRDAyKlgyNjU0MjFZMjgzNzMxRDAxKg0KK1gyNjQwMzRZMjgyOTMxRDAyKlgyNjI2NDdZMjgzNzMxRDAxKg0KK1gyNzk0NDFZMjg1MDAwRDAyKlkyODM0MDBEMDEqDQorWTI4NTAwMEQwMipYMjgwODI4WTI4NTgwMEQwMSoNCitYMjc5NDQxWTI4NTAwMEQwMipYMjc4MDU0WTI4NTgwMEQwMSoNCitYMjQ2NzMxWTMwMzAzMUQwMipZMzAxNDMxRDAxKg0KK1kzMDMwMzFEMDIqWDI0ODExOFkzMDM4MzFEMDEqDQorWDI0NjczMVkzMDMwMzFEMDIqWDI0NTM0NFkzMDM4MzFEMDEqDQorWDI3MDQ0MVkzMzYwMDBEMDIqWTMzNDQwMEQwMSoNCitZMzM2MDAwRDAyKlgyNzE4MjhZMzM2ODAwRDAxKg0KK1gyNzA0NDFZMzM2MDAwRDAyKlgyNjkwNTRZMzM2ODAwRDAxKg0KK1gyNzA0NDFZMzQyNTAwRDAyKlkzNDA5MDBEMDEqDQorWTM0MjUwMEQwMipYMjcxODI4WTM0MzMwMEQwMSoNCitYMjcwNDQxWTM0MjUwMEQwMipYMjY5MDU0WTM0MzMwMEQwMSoNCitYMjcwNDQxWTM0OTUwMEQwMipZMzQ3OTAwRDAxKg0KK1kzNDk1MDBEMDIqWDI3MTgyOFkzNTAzMDBEMDEqDQorWDI3MDQ0MVkzNDk1MDBEMDIqWDI2OTA1NFkzNTAzMDBEMDEqDQorWDM5MjE4OFkyMzkwMDBEMDIqWTIzNzQwMEQwMSoNCitZMjM5MDAwRDAyKlgzOTM1NzVZMjM5ODAwRDAxKg0KK1gzOTIxODhZMjM5MDAwRDAyKlgzOTA4MDFZMjM5ODAwRDAxKg0KK1gzODgyMDdZMjQ3MjgwRDAyKlkyNDU2ODBEMDEqDQorWTI0NzI4MEQwMipYMzg5NTk0WTI0ODA4MEQwMSoNCitYMzg4MjA3WTI0NzI4MEQwMipYMzg2ODIwWTI0ODA4MEQwMSoNCitYMTkxMzYzWTM0NDQ0OUQwMipZMzQyODQ5RDAxKg0KK1kzNDQ0NDlEMDIqWDE5Mjc1MFkzNDUyNDlEMDEqDQorWDE5MTM2M1kzNDQ0NDlEMDIqWDE4OTk3NlkzNDUyNDlEMDEqDQorWDE3ODg4N1kzNDI4MThEMDIqWTM0MTIxOEQwMSoNCitZMzQyODE4RDAyKlgxODAyNzRZMzQzNjE4RDAxKg0KK1gxNzg4ODdZMzQyODE4RDAyKlgxNzc1MDBZMzQzNjE4RDAxKg0KK1gxNjg3MzJZMzUwODMzRDAyKlkzNDkyMzNEMDEqDQorWTM1MDgzM0QwMipYMTcwMTE5WTM1MTYzM0QwMSoNCitYMTY4NzMyWTM1MDgzM0QwMipYMTY3MzQ1WTM1MTYzM0QwMSoNCitYMjk2NzI3WTI1NjIyN0QwMipZMjU0NjI3RDAxKg0KK1kyNTYyMjdEMDIqWDI5ODExNFkyNTcwMjdEMDEqDQorWDI5NjcyN1kyNTYyMjdEMDIqWDI5NTM0MFkyNTcwMjdEMDEqDQorWDMzOTgzN1kzNDE4MjdEMDIqWTM0MDIyN0QwMSoNCitZMzQxODI3RDAyKlgzNDEyMjRZMzQyNjI3RDAxKg0KK1gzMzk4MzdZMzQxODI3RDAyKlgzMzg0NTBZMzQyNjI3RDAxKg0KK1gzNTMzOTBZMzM5NTIxRDAyKlkzMzc5MjFEMDEqDQorWTMzOTUyMUQwMipYMzU0Nzc3WTM0MDMyMUQwMSoNCitYMzUzMzkwWTMzOTUyMUQwMipYMzUyMDAzWTM0MDMyMUQwMSoNCitYMzM3NDQxWTE2MzAwMEQwMipZMTYxNDAwRDAxKg0KK1kxNjMwMDBEMDIqWDMzODgyOFkxNjM4MDBEMDEqDQorWDMzNzQ0MVkxNjMwMDBEMDIqWDMzNjA1NFkxNjM4MDBEMDEqDQorWDM3NzM0N1kxNjIxNzhEMDIqWTE2MDU3OEQwMSoNCitZMTYyMTc4RDAyKlgzNzg3MzRZMTYyOTc4RDAxKg0KK1gzNzczNDdZMTYyMTc4RDAyKlgzNzU5NjBZMTYyOTc4RDAxKg0KK1gyMzA0NDFZMjQ3MDAwRDAyKlkyNDU0MDBEMDEqDQorWTI0NzAwMEQwMipYMjMxODI4WTI0NzgwMEQwMSoNCitYMjMwNDQxWTI0NzAwMEQwMipYMjI5MDU0WTI0NzgwMEQwMSoNCitYMzU4OTQxWTIwODUwMEQwMipZMjA2OTAwRDAxKg0KK1kyMDg1MDBEMDIqWDM2MDMyOFkyMDkzMDBEMDEqDQorWDM1ODk0MVkyMDg1MDBEMDIqWDM1NzU1NFkyMDkzMDBEMDEqDQorWDIyMDQ0MVkyNTk1MDBEMDIqWTI1NzkwMEQwMSoNCitZMjU5NTAwRDAyKlgyMjE4MjhZMjYwMzAwRDAxKg0KK1gyMjA0NDFZMjU5NTAwRDAyKlgyMTkwNTRZMjYwMzAwRDAxKg0KK1gyMTg0NDFZMjYxNTAwRDAyKlkyNTk5MDBEMDEqDQorWTI2MTUwMEQwMipYMjE5ODI4WTI2MjMwMEQwMSoNCitYMjE4NDQxWTI2MTUwMEQwMipYMjE3MDU0WTI2MjMwMEQwMSoNCitYMTk4NDQxWTI2MjUwMEQwMipZMjYwOTAwRDAxKg0KK1kyNjI1MDBEMDIqWDE5OTgyOFkyNjMzMDBEMDEqDQorWDE5ODQ0MVkyNjI1MDBEMDIqWDE5NzA1NFkyNjMzMDBEMDEqDQorWDE5ODQ0MVkyNjk1MDBEMDIqWTI2NzkwMEQwMSoNCitZMjY5NTAwRDAyKlgxOTk4MjhZMjcwMzAwRDAxKg0KK1gxOTg0NDFZMjY5NTAwRDAyKlgxOTcwNTRZMjcwMzAwRDAxKg0KK1gyMDU0NDFZMjc3MDAwRDAyKlkyNzU0MDBEMDEqDQorWTI3NzAwMEQwMipYMjA2ODI4WTI3NzgwMEQwMSoNCitYMjA1NDQxWTI3NzAwMEQwMipYMjA0MDU0WTI3NzgwMEQwMSoNCitYMTg1NDQxWTIyODAwMEQwMipZMjI2NDAwRDAxKg0KK1kyMjgwMDBEMDIqWDE4NjgyOFkyMjg4MDBEMDEqDQorWDE4NTQ0MVkyMjgwMDBEMDIqWDE4NDA1NFkyMjg4MDBEMDEqDQorWDE3NzQ0MVkyMjgwMDBEMDIqWTIyNjQwMEQwMSoNCitZMjI4MDAwRDAyKlgxNzg4MjhZMjI4ODAwRDAxKg0KK1gxNzc0NDFZMjI4MDAwRDAyKlgxNzYwNTRZMjI4ODAwRDAxKg0KK1gxNzc0NDFZMjE3NTAwRDAyKlkyMTU5MDBEMDEqDQorWTIxNzUwMEQwMipYMTc4ODI4WTIxODMwMEQwMSoNCitYMTc3NDQxWTIxNzUwMEQwMipYMTc2MDU0WTIxODMwMEQwMSoNCitYMTg1NDQxWTIxNzUwMEQwMipZMjE1OTAwRDAxKg0KK1kyMTc1MDBEMDIqWDE4NjgyOFkyMTgzMDBEMDEqDQorWDE4NTQ0MVkyMTc1MDBEMDIqWDE4NDA1NFkyMTgzMDBEMDEqDQorWDE5Mzk0MVkyMTI1MDBEMDIqWTIxMDkwMEQwMSoNCitZMjEyNTAwRDAyKlgxOTUzMjhZMjEzMzAwRDAxKg0KK1gxOTM5NDFZMjEyNTAwRDAyKlgxOTI1NTRZMjEzMzAwRDAxKg0KK1gyMDI0NDFZMjEyNTAwRDAyKlkyMTA5MDBEMDEqDQorWTIxMjUwMEQwMipYMjAzODI4WTIxMzMwMEQwMSoNCitYMjAyNDQxWTIxMjUwMEQwMipYMjAxMDU0WTIxMzMwMEQwMSoNCitYMjEwNDQxWTIxMjUwMEQwMipZMjEwOTAwRDAxKg0KK1kyMTI1MDBEMDIqWDIxMTgyOFkyMTMzMDBEMDEqDQorWDIxMDQ0MVkyMTI1MDBEMDIqWDIwOTA1NFkyMTMzMDBEMDEqDQorWDIyMDQ0MVkyMTUwMDBEMDIqWTIxMzQwMEQwMSoNCitZMjE1MDAwRDAyKlgyMjE4MjhZMjE1ODAwRDAxKg0KK1gyMjA0NDFZMjE1MDAwRDAyKlgyMTkwNTRZMjE1ODAwRDAxKg0KK1gyMjQ5NDFZMjIwNTAwRDAyKlkyMTg5MDBEMDEqDQorWTIyMDUwMEQwMipYMjI2MzI4WTIyMTMwMEQwMSoNCitYMjI0OTQxWTIyMDUwMEQwMipYMjIzNTU0WTIyMTMwMEQwMSoNCitYMjI1NDQxWTIyNjUwMEQwMipZMjI0OTAwRDAxKg0KK1kyMjY1MDBEMDIqWDIyNjgyOFkyMjczMDBEMDEqDQorWDIyNTQ0MVkyMjY1MDBEMDIqWDIyNDA1NFkyMjczMDBEMDEqDQorWDIyNDk0MVkyMzU1MDBEMDIqWTIzMzkwMEQwMSoNCitZMjM1NTAwRDAyKlgyMjYzMjhZMjM2MzAwRDAxKg0KK1gyMjQ5NDFZMjM1NTAwRDAyKlgyMjM1NTRZMjM2MzAwRDAxKg0KK1gyMjQ0NDFZMjQ0MDAwRDAyKlkyNDI0MDBEMDEqDQorWTI0NDAwMEQwMipYMjI1ODI4WTI0NDgwMEQwMSoNCitYMjI0NDQxWTI0NDAwMEQwMipYMjIzMDU0WTI0NDgwMEQwMSoNCitYMjEyOTQxWTIzODAwMEQwMipZMjM2NDAwRDAxKg0KK1kyMzgwMDBEMDIqWDIxNDMyOFkyMzg4MDBEMDEqDQorWDIxMjk0MVkyMzgwMDBEMDIqWDIxMTU1NFkyMzg4MDBEMDEqDQorWDIwMzk0MVkyMzc1MDBEMDIqWTIzNTkwMEQwMSoNCitZMjM3NTAwRDAyKlgyMDUzMjhZMjM4MzAwRDAxKg0KK1gyMDM5NDFZMjM3NTAwRDAyKlgyMDI1NTRZMjM4MzAwRDAxKg0KK1gxOTM5NDFZMjM3MDAwRDAyKlkyMzU0MDBEMDEqDQorWTIzNzAwMEQwMipYMTk1MzI4WTIzNzgwMEQwMSoNCitYMTkzOTQxWTIzNzAwMEQwMipYMTkyNTU0WTIzNzgwMEQwMSoNCitYMjM2NDQxWTIzNTUwMEQwMipZMjMzOTAwRDAxKg0KK1kyMzU1MDBEMDIqWDIzNzgyOFkyMzYzMDBEMDEqDQorWDIzNjQ0MVkyMzU1MDBEMDIqWDIzNTA1NFkyMzYzMDBEMDEqDQorWDE4MTk0MVkyNTg1MDBEMDIqWTI1NjkwMEQwMSoNCitZMjU4NTAwRDAyKlgxODMzMjhZMjU5MzAwRDAxKg0KK1gxODE5NDFZMjU4NTAwRDAyKlgxODA1NTRZMjU5MzAwRDAxKg0KK1gxMDQ0NDFZMjA0NTAwRDAyKlkyMDI5MDBEMDEqDQorWTIwNDUwMEQwMipYMTA1ODI4WTIwNTMwMEQwMSoNCitYMTA0NDQxWTIwNDUwMEQwMipYMTAzMDU0WTIwNTMwMEQwMSoNCitYMTAwOTQxWTIwNDUwMEQwMipZMjAyOTAwRDAxKg0KK1kyMDQ1MDBEMDIqWDEwMjMyOFkyMDUzMDBEMDEqDQorWDEwMDk0MVkyMDQ1MDBEMDIqWDk5NTU0WTIwNTMwMEQwMSoNCitYMjYwOTQxWTE5MTUwMEQwMipZMTg5OTAwRDAxKg0KK1kxOTE1MDBEMDIqWDI2MjMyOFkxOTIzMDBEMDEqDQorWDI2MDk0MVkxOTE1MDBEMDIqWDI1OTU1NFkxOTIzMDBEMDEqDQorWDI2OTQ0MVkxOTg1MDBEMDIqWTE5NjkwMEQwMSoNCitZMTk4NTAwRDAyKlgyNzA4MjhZMTk5MzAwRDAxKg0KK1gyNjk0NDFZMTk4NTAwRDAyKlgyNjgwNTRZMTk5MzAwRDAxKg0KK1gyNjk5NDFZMjMxNTAwRDAyKlkyMjk5MDBEMDEqDQorWTIzMTUwMEQwMipYMjcxMzI4WTIzMjMwMEQwMSoNCitYMjY5OTQxWTIzMTUwMEQwMipYMjY4NTU0WTIzMjMwMEQwMSoNCitYMjUxOTQxWTIxMDUwMEQwMipZMjA4OTAwRDAxKg0KK1kyMTA1MDBEMDIqWDI1MzMyOFkyMTEzMDBEMDEqDQorWDI1MTk0MVkyMTA1MDBEMDIqWDI1MDU1NFkyMTEzMDBEMDEqDQorWDI0Mzk0MVkyMDIwMDBEMDIqWTIwMDQwMEQwMSoNCitZMjAyMDAwRDAyKlgyNDUzMjhZMjAyODAwRDAxKg0KK1gyNDM5NDFZMjAyMDAwRDAyKlgyNDI1NTRZMjAyODAwRDAxKg0KK1gyNDU4NjNZMTkxNTI0RDAyKlkxODk5MjREMDEqDQorWTE5MTUyNEQwMipYMjQ3MjUwWTE5MjMyNEQwMSoNCitYMjQ1ODYzWTE5MTUyNEQwMipYMjQ0NDc2WTE5MjMyNEQwMSoNCitYMjYxNTAyWTMwNzM2N0QwMipZMzA1NzY3RDAxKg0KK1kzMDczNjdEMDIqWDI2Mjg4OVkzMDgxNjdEMDEqDQorWDI2MTUwMlkzMDczNjdEMDIqWDI2MDExNVkzMDgxNjdEMDEqDQorWDI2ODk0MVkzMTQwMDBEMDIqWTMxMjQwMEQwMSoNCitZMzE0MDAwRDAyKlgyNzAzMjhZMzE0ODAwRDAxKg0KK1gyNjg5NDFZMzE0MDAwRDAyKlgyNjc1NTRZMzE0ODAwRDAxKg0KK1gyNDkxMDFZMzI4NzkzRDAyKlkzMjcxOTNEMDEqDQorWTMyODc5M0QwMipYMjUwNDg4WTMyOTU5M0QwMSoNCitYMjQ5MTAxWTMyODc5M0QwMipYMjQ3NzE0WTMyOTU5M0QwMSoNCitYMjI5ODE4WTM1NDk4OEQwMipZMzUzMzg4RDAxKg0KK1kzNTQ5ODhEMDIqWDIzMTIwNVkzNTU3ODhEMDEqDQorWDIyOTgxOFkzNTQ5ODhEMDIqWDIyODQzMVkzNTU3ODhEMDEqDQorWDI3MDQ0MVkzNTcwMDBEMDIqWTM1NTQwMEQwMSoNCitZMzU3MDAwRDAyKlgyNzE4MjhZMzU3ODAwRDAxKg0KK1gyNzA0NDFZMzU3MDAwRDAyKlgyNjkwNTRZMzU3ODAwRDAxKg0KK1gxMzg5MjVZMjA2MTEzRDAyKlkyMDQ1MTNEMDEqDQorWTIwNjExM0QwMipYMTQwMzEyWTIwNjkxM0QwMSoNCitYMTM4OTI1WTIwNjExM0QwMipYMTM3NTM4WTIwNjkxM0QwMSoNCitYMTM4ODcyWTIwMjAzMEQwMipZMjAwNDMwRDAxKg0KK1kyMDIwMzBEMDIqWDE0MDI1OVkyMDI4MzBEMDEqDQorWDEzODg3MlkyMDIwMzBEMDIqWDEzNzQ4NVkyMDI4MzBEMDEqDQorWDEzODkyNVkxOTc4NDFEMDIqWTE5NjI0MUQwMSoNCitZMTk3ODQxRDAyKlgxNDAzMTJZMTk4NjQxRDAxKg0KK1gxMzg5MjVZMTk3ODQxRDAyKlgxMzc1MzhZMTk4NjQxRDAxKg0KK1gxMzg5MjVZMTkyNjk4RDAyKlkxOTEwOThEMDEqDQorWTE5MjY5OEQwMipYMTQwMzEyWTE5MzQ5OEQwMSoNCitYMTM4OTI1WTE5MjY5OEQwMipYMTM3NTM4WTE5MzQ5OEQwMSoNCitYMTYxOTQxWTE5OTAwMEQwMipZMTk3NDAwRDAxKg0KK1kxOTkwMDBEMDIqWDE2MzMyOFkxOTk4MDBEMDEqDQorWDE2MTk0MVkxOTkwMDBEMDIqWDE2MDU1NFkxOTk4MDBEMDEqDQorWDE2MTk0MVkxOTMwMDBEMDIqWTE5MTQwMEQwMSoNCitZMTkzMDAwRDAyKlgxNjMzMjhZMTkzODAwRDAxKg0KK1gxNjE5NDFZMTkzMDAwRDAyKlgxNjA1NTRZMTkzODAwRDAxKg0KK1gxNjY5NDFZMTkzMDAwRDAyKlkxOTE0MDBEMDEqDQorWTE5MzAwMEQwMipYMTY4MzI4WTE5MzgwMEQwMSoNCitYMTY2OTQxWTE5MzAwMEQwMipYMTY1NTU0WTE5MzgwMEQwMSoNCitYMTY2OTQxWTE5NzUwMEQwMipZMTk1OTAwRDAxKg0KK1kxOTc1MDBEMDIqWDE2ODMyOFkxOTgzMDBEMDEqDQorWDE2Njk0MVkxOTc1MDBEMDIqWDE2NTU1NFkxOTgzMDBEMDEqDQorWDM1NDk0MVk5MzQ5OUQwMipZOTE4OTlEMDEqDQorWTkzNDk5RDAyKlgzNTYzMjhZOTQyOTlEMDEqDQorWDM1NDk0MVk5MzQ5OUQwMipYMzUzNTU0WTk0Mjk5RDAxKg0KK1gzNTQ5NDFZOTc5OTlEMDIqWTk2Mzk5RDAxKg0KK1k5Nzk5OUQwMipYMzU2MzI4WTk4Nzk5RDAxKg0KK1gzNTQ5NDFZOTc5OTlEMDIqWDM1MzU1NFk5ODc5OUQwMSoNCitYMzU0OTQxWTEwMzk5OUQwMipZMTAyMzk5RDAxKg0KK1kxMDM5OTlEMDIqWDM1NjMyOFkxMDQ3OTlEMDEqDQorWDM1NDk0MVkxMDM5OTlEMDIqWDM1MzU1NFkxMDQ3OTlEMDEqDQorWDM1NDk0MVkxMDk5OTlEMDIqWTEwODM5OUQwMSoNCitZMTA5OTk5RDAyKlgzNTYzMjhZMTEwNzk5RDAxKg0KK1gzNTQ5NDFZMTA5OTk5RDAyKlgzNTM1NTRZMTEwNzk5RDAxKg0KK1gzNTQ5NDFZMTE1OTk5RDAyKlkxMTQzOTlEMDEqDQorWTExNTk5OUQwMipYMzU2MzI4WTExNjc5OUQwMSoNCitYMzU0OTQxWTExNTk5OUQwMipYMzUzNTU0WTExNjc5OUQwMSoNCitYMzU0OTQxWTEyMTk5OUQwMipZMTIwMzk5RDAxKg0KK1kxMjE5OTlEMDIqWDM1NjMyOFkxMjI3OTlEMDEqDQorWDM1NDk0MVkxMjE5OTlEMDIqWDM1MzU1NFkxMjI3OTlEMDEqDQorWDM1NDk0MVkxMjc5OTlEMDIqWTEyNjM5OUQwMSoNCitZMTI3OTk5RDAyKlgzNTYzMjhZMTI4Nzk5RDAxKg0KK1gzNTQ5NDFZMTI3OTk5RDAyKlgzNTM1NTRZMTI4Nzk5RDAxKg0KK1gzODc5NDFZMTI3OTk5RDAyKlkxMjYzOTlEMDEqDQorWTEyNzk5OUQwMipYMzg5MzI4WTEyODc5OUQwMSoNCitYMzg3OTQxWTEyNzk5OUQwMipYMzg2NTU0WTEyODc5OUQwMSoNCitYMzg3OTQxWTEyMTk5OUQwMipZMTIwMzk5RDAxKg0KK1kxMjE5OTlEMDIqWDM4OTMyOFkxMjI3OTlEMDEqDQorWDM4Nzk0MVkxMjE5OTlEMDIqWDM4NjU1NFkxMjI3OTlEMDEqDQorWDM4Nzk0MVkxMTU5OTlEMDIqWTExNDM5OUQwMSoNCitZMTE1OTk5RDAyKlgzODkzMjhZMTE2Nzk5RDAxKg0KK1gzODc5NDFZMTE1OTk5RDAyKlgzODY1NTRZMTE2Nzk5RDAxKg0KK1gzODc5NDFZMTA5OTk5RDAyKlkxMDgzOTlEMDEqDQorWTEwOTk5OUQwMipYMzg5MzI4WTExMDc5OUQwMSoNCitYMzg3OTQxWTEwOTk5OUQwMipYMzg2NTU0WTExMDc5OUQwMSoNCitYMzg3OTQxWTk3OTk5RDAyKlk5NjM5OUQwMSoNCitZOTc5OTlEMDIqWDM4OTMyOFk5ODc5OUQwMSoNCitYMzg3OTQxWTk3OTk5RDAyKlgzODY1NTRZOTg3OTlEMDEqDQorWDM4Nzk0MVk5MzQ5OUQwMipZOTE4OTlEMDEqDQorWTkzNDk5RDAyKlgzODkzMjhZOTQyOTlEMDEqDQorWDM4Nzk0MVk5MzQ5OUQwMipYMzg2NTU0WTk0Mjk5RDAxKg0KK1gzODc5NDFZMTAzOTk5RDAyKlkxMDIzOTlEMDEqDQorWTEwMzk5OUQwMipYMzg5MzI4WTEwNDc5OUQwMSoNCitYMzg3OTQxWTEwMzk5OUQwMipYMzg2NTU0WTEwNDc5OUQwMSoNCitYMzkxNDQxWTg0NDk5RDAyKlk4Mjg5OUQwMSoNCitZODQ0OTlEMDIqWDM5MjgyOFk4NTI5OUQwMSoNCitYMzkxNDQxWTg0NDk5RDAyKlgzOTAwNTRZODUyOTlEMDEqDQorWDM5MTQ0MVk3OTk5OUQwMipZNzgzOTlEMDEqDQorWTc5OTk5RDAyKlgzOTI4MjhZODA3OTlEMDEqDQorWDM5MTQ0MVk3OTk5OUQwMipYMzkwMDU0WTgwNzk5RDAxKg0KK1gzOTE5NDFZNzQ0OTlEMDIqWTcyODk5RDAxKg0KK1k3NDQ5OUQwMipYMzkzMzI4WTc1Mjk5RDAxKg0KK1gzOTE5NDFZNzQ0OTlEMDIqWDM5MDU1NFk3NTI5OUQwMSoNCitYMzk1NDQxWTY2OTk5RDAyKlk2NTM5OUQwMSoNCitZNjY5OTlEMDIqWDM5NjgyOFk2Nzc5OUQwMSoNCitYMzk1NDQxWTY2OTk5RDAyKlgzOTQwNTRZNjc3OTlEMDEqDQorWDM5NDQ0MVk1OTk5OUQwMipZNTgzOTlEMDEqDQorWTU5OTk5RDAyKlgzOTU4MjhZNjA3OTlEMDEqDQorWDM5NDQ0MVk1OTk5OUQwMipYMzkzMDU0WTYwNzk5RDAxKg0KK1gzOTI5NDFZNTM0OTlEMDIqWTUxODk5RDAxKg0KK1k1MzQ5OUQwMipYMzk0MzI4WTU0Mjk5RDAxKg0KK1gzOTI5NDFZNTM0OTlEMDIqWDM5MTU1NFk1NDI5OUQwMSoNCitYMzY4OTQxWTQ4NTAwRDAyKlk0NjkwMEQwMSoNCitZNDg1MDBEMDIqWDM3MDMyOFk0OTMwMEQwMSoNCitYMzY4OTQxWTQ4NTAwRDAyKlgzNjc1NTRZNDkzMDBEMDEqDQorWDM2ODk0MVk0MzUwMEQwMipZNDE5MDBEMDEqDQorWTQzNTAwRDAyKlgzNzAzMjhZNDQzMDBEMDEqDQorWDM2ODk0MVk0MzUwMEQwMipYMzY3NTU0WTQ0MzAwRDAxKg0KK1gzNzQ5NDFZNDM1MDBEMDIqWTQxOTAwRDAxKg0KK1k0MzUwMEQwMipYMzc2MzI4WTQ0MzAwRDAxKg0KK1gzNzQ5NDFZNDM1MDBEMDIqWDM3MzU1NFk0NDMwMEQwMSoNCitYMzc0OTQxWTQ3MDAwRDAyKlk0NTQwMEQwMSoNCitZNDcwMDBEMDIqWDM3NjMyOFk0NzgwMEQwMSoNCitYMzc0OTQxWTQ3MDAwRDAyKlgzNzM1NTRZNDc4MDBEMDEqDQorWDEwNjQ0MVkxNDg1MDBEMDIqWTE0NjkwMEQwMSoNCitZMTQ4NTAwRDAyKlgxMDc4MjhZMTQ5MzAwRDAxKg0KK1gxMDY0NDFZMTQ4NTAwRDAyKlgxMDUwNTRZMTQ5MzAwRDAxKg0KK1gxMDE5NDFZMTA0NTAwRDAyKlkxMDI5MDBEMDEqDQorWTEwNDUwMEQwMipYMTAzMzI4WTEwNTMwMEQwMSoNCitYMTAxOTQxWTEwNDUwMEQwMipYMTAwNTU0WTEwNTMwMEQwMSoNCitYMTQ5OTQxWTE0OTAwMEQwMipZMTQ3NDAwRDAxKg0KK1kxNDkwMDBEMDIqWDE1MTMyOFkxNDk4MDBEMDEqDQorWDE0OTk0MVkxNDkwMDBEMDIqWDE0ODU1NFkxNDk4MDBEMDEqDQorWDE2NjQ0MVkxMDQwMDBEMDIqWTEwMjQwMEQwMSoNCitZMTA0MDAwRDAyKlgxNjc4MjhZMTA0ODAwRDAxKg0KK1gxNjY0NDFZMTA0MDAwRDAyKlgxNjUwNTRZMTA0ODAwRDAxKg0KK1gxODM5NDFZMTA0MDAwRDAyKlkxMDI0MDBEMDEqDQorWTEwNDAwMEQwMipYMTg1MzI4WTEwNDgwMEQwMSoNCitYMTgzOTQxWTEwNDAwMEQwMipYMTgyNTU0WTEwNDgwMEQwMSoNCitYMjUzNDQxWTEwMjUwMEQwMipZMTAwOTAwRDAxKg0KK1kxMDI1MDBEMDIqWDI1NDgyOFkxMDMzMDBEMDEqDQorWDI1MzQ0MVkxMDI1MDBEMDIqWDI1MjA1NFkxMDMzMDBEMDEqDQorWDIzMTQ0MVkxNDgwMDBEMDIqWTE0NjQwMEQwMSoNCitZMTQ4MDAwRDAyKlgyMzI4MjhZMTQ4ODAwRDAxKg0KK1gyMzE0NDFZMTQ4MDAwRDAyKlgyMzAwNTRZMTQ4ODAwRDAxKg0KK1gxNTAwMFk1MTYyNTBEMDIqWTUxNDY1MEQwMSoNCitZNTE2MjUwRDAyKlgxNjM4N1k1MTcwNTBEMDEqDQorWDE1MDAwWTUxNjI1MEQwMipYMTM2MTNZNTE3MDUwRDAxKg0KK1gxMzUwMDBZNTE4NTAwRDAyKlgxMzY1MDBZNTE1NTAwRDAxKg0KK1gxMzgwMDBZNTE4NTAwRDAxKg0KK1gxMzY1MDBZNTE1NTAwRDAyKlk1MTI1MDBEMDEqDQorWDEzOTgwMFk1MTU4MDBEMDIqWDE0MjA1MEQwMSoNCitYMTM5ODAwWTUxMjUwMEQwMipYMTQyODAwRDAxKg0KK1gxMzk4MDBZNTE4NTAwRDAyKlk1MTI1MDBEMDEqDQorWTUxODUwMEQwMipYMTQyODAwRDAxKg0KK1gxNDc2MDBEMDIqWDE0ODM1MFk1MTc3NTBEMDEqDQorWDE0NTM1MFk1MTg1MDBEMDIqWDE0NzYwMEQwMSoNCitYMTQ0NjAwWTUxNzc1MEQwMipYMTQ1MzUwWTUxODUwMEQwMSoNCitYMTQ0NjAwWTUxNzc1MEQwMipZNTE2MjUwRDAxKg0KK1gxNDUzNTBZNTE1NTAwRDAxKg0KK1gxNDc2MDBEMDEqDQorWDE0ODM1MFk1MTQ3NTBEMDEqDQorWTUxMzI1MEQwMSoNCitYMTQ3NjAwWTUxMjUwMEQwMipYMTQ4MzUwWTUxMzI1MEQwMSoNCitYMTQ1MzUwWTUxMjUwMEQwMipYMTQ3NjAwRDAxKg0KK1gxNDQ2MDBZNTEzMjUwRDAyKlgxNDUzNTBZNTEyNTAwRDAxKg0KK1g5ODAwMFk1MTc3NTBEMDIqWDk4NzUwWTUxODUwMEQwMSoNCitYMTAxMDAwRDAxKg0KK1gxMDE3NTBZNTE3NzUwRDAxKg0KK1k1MTYyNTBEMDEqDQorWDk4MDAwWTUxMjUwMEQwMipYMTAxNzUwWTUxNjI1MEQwMSoNCitYOTgwMDBZNTEyNTAwRDAyKlgxMDE3NTBEMDEqDQorWDEwMzU1MFk1MTczMDBEMDIqWDEwNDc1MFk1MTg1MDBEMDEqDQorWTUxMjUwMEQwMSoNCitYMTAzNTUwRDAyKlgxMDU4MDBEMDEqDQorWDEwNzYwMFk1MTczMDBEMDIqWDEwODgwMFk1MTg1MDBEMDEqDQorWTUxMjUwMEQwMSoNCitYMTA3NjAwRDAyKlgxMDk4NTBEMDEqDQorWDQ1MDAwWTUxMzI1MEQwMipYNDU3NTBZNTEyNTAwRDAxKg0KK1g0NTAwMFk1MTc3NTBEMDIqWTUxMzI1MEQwMSoNCitZNTE3NzUwRDAyKlg0NTc1MFk1MTg1MDBEMDEqDQorWDQ3MjUwRDAxKg0KK1g0ODAwMFk1MTc3NTBEMDEqDQorWTUxMzI1MEQwMSoNCitYNDcyNTBZNTEyNTAwRDAyKlg0ODAwMFk1MTMyNTBEMDEqDQorWDQ1NzUwWTUxMjUwMEQwMipYNDcyNTBEMDEqDQorWDQ1MDAwWTUxNDAwMEQwMipYNDgwMDBZNTE3MDAwRDAxKg0KK1g0OTgwMFk1MTI1MDBEMDIqWDUwNTUwRDAxKg0KK1g1MjM1MFk1MTMyNTBEMDIqWDUzMTAwWTUxMjUwMEQwMSoNCitYNTIzNTBZNTE3NzUwRDAyKlk1MTMyNTBEMDEqDQorWTUxNzc1MEQwMipYNTMxMDBZNTE4NTAwRDAxKg0KK1g1NDYwMEQwMSoNCitYNTUzNTBZNTE3NzUwRDAxKg0KK1k1MTMyNTBEMDEqDQorWDU0NjAwWTUxMjUwMEQwMipYNTUzNTBZNTEzMjUwRDAxKg0KK1g1MzEwMFk1MTI1MDBEMDIqWDU0NjAwRDAxKg0KK1g1MjM1MFk1MTQwMDBEMDIqWDU1MzUwWTUxNzAwMEQwMSoNCitYNTcxNTBZNTE3MzAwRDAyKlg1ODM1MFk1MTg1MDBEMDEqDQorWTUxMjUwMEQwMSoNCitYNTcxNTBEMDIqWDU5NDAwRDAxKg0KK1g2MTIwMFk1MTMyNTBEMDIqWDYxOTUwWTUxMjUwMEQwMSoNCitYNjEyMDBZNTE3NzUwRDAyKlk1MTMyNTBEMDEqDQorWTUxNzc1MEQwMipYNjE5NTBZNTE4NTAwRDAxKg0KK1g2MzQ1MEQwMSoNCitYNjQyMDBZNTE3NzUwRDAxKg0KK1k1MTMyNTBEMDEqDQorWDYzNDUwWTUxMjUwMEQwMipYNjQyMDBZNTEzMjUwRDAxKg0KK1g2MTk1MFk1MTI1MDBEMDIqWDYzNDUwRDAxKg0KK1g2MTIwMFk1MTQwMDBEMDIqWDY0MjAwWTUxNzAwMEQwMSoNCitYMzAwMFk1MzM1MDBEMDIqWDM3NTBZNTMyNzUwRDAxKg0KK1g3NTBZNTMzNTAwRDAyKlgzMDAwRDAxKg0KK1gwWTUzMjc1MEQwMipYNzUwWTUzMzUwMEQwMSoNCitYMFk1MzI3NTBEMDIqWTUzMTI1MEQwMSoNCitYNzUwWTUzMDUwMEQwMSoNCitYMzAwMEQwMSoNCitYMzc1MFk1Mjk3NTBEMDEqDQorWTUyODI1MEQwMSoNCitYMzAwMFk1Mjc1MDBEMDIqWDM3NTBZNTI4MjUwRDAxKg0KK1g3NTBZNTI3NTAwRDAyKlgzMDAwRDAxKg0KK1gwWTUyODI1MEQwMipYNzUwWTUyNzUwMEQwMSoNCitYNTU1MFk1MzA1MDBEMDIqWTUyODI1MEQwMSoNCitYNjMwMFk1Mjc1MDBEMDEqDQorWDg1NTBZNTMwNTAwRDAyKlk1MjYwMDBEMDEqDQorWDc4MDBZNTI1MjUwRDAyKlg4NTUwWTUyNjAwMEQwMSoNCitYNjMwMFk1MjUyNTBEMDIqWDc4MDBEMDEqDQorWDU1NTBZNTI2MDAwRDAyKlg2MzAwWTUyNTI1MEQwMSoNCitZNTI3NTAwRDAyKlg3ODAwRDAxKg0KK1g4NTUwWTUyODI1MEQwMSoNCitYMTExMDBZNTI5NzUwRDAyKlk1Mjc1MDBEMDEqDQorWTUyOTc1MEQwMipYMTE4NTBZNTMwNTAwRDAxKg0KK1gxMjYwMEQwMSoNCitYMTMzNTBZNTI5NzUwRDAxKg0KK1k1Mjc1MDBEMDEqDQorWTUyOTc1MEQwMipYMTQxMDBZNTMwNTAwRDAxKg0KK1gxNDg1MEQwMSoNCitYMTU2MDBZNTI5NzUwRDAxKg0KK1k1Mjc1MDBEMDEqDQorWDEwMzUwWTUzMDUwMEQwMipYMTExMDBZNTI5NzUwRDAxKg0KK1gxNzQwMFk1MzM1MDBEMDIqWTUyNzUwMEQwMSoNCitZNTI4MjUwRDAyKlgxODE1MFk1Mjc1MDBEMDEqDQorWDE5NjUwRDAxKg0KK1gyMDQwMFk1MjgyNTBEMDEqDQorWTUyOTc1MEQwMipZNTI4MjUwRDAxKg0KK1gxOTY1MFk1MzA1MDBEMDIqWDIwNDAwWTUyOTc1MEQwMSoNCitYMTgxNTBZNTMwNTAwRDAyKlgxOTY1MEQwMSoNCitYMTc0MDBZNTI5NzUwRDAyKlgxODE1MFk1MzA1MDBEMDEqDQorWDIyMjAwWTUyOTc1MEQwMipZNTI4MjUwRDAxKg0KK1k1Mjk3NTBEMDIqWDIyOTUwWTUzMDUwMEQwMSoNCitYMjQ0NTBEMDEqDQorWDI1MjAwWTUyOTc1MEQwMSoNCitZNTI4MjUwRDAxKg0KK1gyNDQ1MFk1Mjc1MDBEMDIqWDI1MjAwWTUyODI1MEQwMSoNCitYMjI5NTBZNTI3NTAwRDAyKlgyNDQ1MEQwMSoNCitYMjIyMDBZNTI4MjUwRDAyKlgyMjk1MFk1Mjc1MDBEMDEqDQorWDI3MDAwWTUzMzUwMEQwMipZNTI4MjUwRDAxKg0KK1gyNzc1MFk1Mjc1MDBEMDEqDQorWDBZNTI0MjUwRDAyKlgyOTI1MEQwMSoNCitYNDE3NTBZNTMzNTAwRDAyKlk1Mjc1MDBEMDEqDQorWDQzNzAwWTUzMzUwMEQwMipYNDQ3NTBZNTMyNDUwRDAxKg0KK1k1Mjg1NTBEMDEqDQorWDQzNzAwWTUyNzUwMEQwMipYNDQ3NTBZNTI4NTUwRDAxKg0KK1g0MTAwMFk1Mjc1MDBEMDIqWDQzNzAwRDAxKg0KK1g0MTAwMFk1MzM1MDBEMDIqWDQzNzAwRDAxKg0KK0c1NEQzNDcqWDQ2NTUwWTUzMjAwMEQwMipZNTMxODUwRDAxKg0KK0c1NEQzNDYqWTUyOTc1MEQwMipZNTI3NTAwRDAxKg0KK1g1MDMwMFk1MzA1MDBEMDIqWDUxMDUwWTUyOTc1MEQwMSoNCitYNDg4MDBZNTMwNTAwRDAyKlg1MDMwMEQwMSoNCitYNDgwNTBZNTI5NzUwRDAyKlg0ODgwMFk1MzA1MDBEMDEqDQorWDQ4MDUwWTUyOTc1MEQwMipZNTI4MjUwRDAxKg0KK1g0ODgwMFk1Mjc1MDBEMDEqDQorWDUxMDUwWTUzMDUwMEQwMipZNTI4MjUwRDAxKg0KK1g1MTgwMFk1Mjc1MDBEMDEqDQorWDQ4ODAwRDAyKlg1MDMwMEQwMSoNCitYNTEwNTBZNTI4MjUwRDAxKg0KK1g1NDM1MFk1Mjk3NTBEMDIqWTUyNzUwMEQwMSoNCitZNTI5NzUwRDAyKlg1NTEwMFk1MzA1MDBEMDEqDQorWDU1ODUwRDAxKg0KK1g1NjYwMFk1Mjk3NTBEMDEqDQorWTUyNzUwMEQwMSoNCitZNTI5NzUwRDAyKlg1NzM1MFk1MzA1MDBEMDEqDQorWDU4MTAwRDAxKg0KK1g1ODg1MFk1Mjk3NTBEMDEqDQorWTUyNzUwMEQwMSoNCitYNTM2MDBZNTMwNTAwRDAyKlg1NDM1MFk1Mjk3NTBEMDEqDQorWDYwNjUwWTUyNzUwMEQwMipYNjE0MDBEMDEqDQorWDY1OTAwWTUyODI1MEQwMipYNjY2NTBZNTI3NTAwRDAxKg0KK1g2NTkwMFk1MzI3NTBEMDIqWDY2NjUwWTUzMzUwMEQwMSoNCitYNjU5MDBZNTMyNzUwRDAyKlk1MjgyNTBEMDEqDQorWDY4NDUwWTUzMzUwMEQwMipYNjk5NTBEMDEqDQorWDY5MjAwRDAyKlk1Mjc1MDBEMDEqDQorWDY4NDUwRDAyKlg2OTk1MEQwMSoNCitYNzI1MDBZNTI5NzUwRDAyKlk1Mjc1MDBEMDEqDQorWTUyOTc1MEQwMipYNzMyNTBZNTMwNTAwRDAxKg0KK1g3NDAwMEQwMSoNCitYNzQ3NTBZNTI5NzUwRDAxKg0KK1k1Mjc1MDBEMDEqDQorWDcxNzUwWTUzMDUwMEQwMipYNzI1MDBZNTI5NzUwRDAxKg0KK1g3NzMwMFk1MzA1MDBEMDIqWDc5NTUwRDAxKg0KK1g3NjU1MFk1Mjk3NTBEMDIqWDc3MzAwWTUzMDUwMEQwMSoNCitYNzY1NTBZNTI5NzUwRDAyKlk1MjgyNTBEMDEqDQorWDc3MzAwWTUyNzUwMEQwMSoNCitYNzk1NTBEMDEqDQorWDgxMzUwWTUzMzUwMEQwMipZNTI3NTAwRDAxKg0KK1k1Mjk3NTBEMDIqWDgyMTAwWTUzMDUwMEQwMSoNCitYODM2MDBEMDEqDQorWDg0MzUwWTUyOTc1MEQwMSoNCitZNTI3NTAwRDAxKg0KK1g4NjE1MFk1MzM1MDBEMDIqWDg2OTAwWTUzMjc1MEQwMSoNCitZNTI4MjUwRDAxKg0KK1g4NjE1MFk1Mjc1MDBEMDIqWDg2OTAwWTUyODI1MEQwMSoNCitYNDEwMDBZNTI0MjUwRDAyKlg4ODcwMEQwMSoNCitYOTYwNTBZNTI3NTAwRDAyKlg5ODAwMEQwMSoNCitYOTUwMDBZNTI4NTUwRDAyKlg5NjA1MFk1Mjc1MDBEMDEqDQorWDk1MDAwWTUzMjQ1MEQwMipZNTI4NTUwRDAxKg0KK1k1MzI0NTBEMDIqWDk2MDUwWTUzMzUwMEQwMSoNCitYOTgwMDBEMDEqDQorWDk5ODAwWTUyOTc1MEQwMipZNTI4MjUwRDAxKg0KK1k1Mjk3NTBEMDIqWDEwMDU1MFk1MzA1MDBEMDEqDQorWDEwMjA1MEQwMSoNCitYMTAyODAwWTUyOTc1MEQwMSoNCitZNTI4MjUwRDAxKg0KK1gxMDIwNTBZNTI3NTAwRDAyKlgxMDI4MDBZNTI4MjUwRDAxKg0KK1gxMDA1NTBZNTI3NTAwRDAyKlgxMDIwNTBEMDEqDQorWDk5ODAwWTUyODI1MEQwMipYMTAwNTUwWTUyNzUwMEQwMSoNCitYMTA0NjAwWTUzMDUwMEQwMipZNTI4MjUwRDAxKg0KK1gxMDUzNTBZNTI3NTAwRDAxKg0KK1gxMDY4NTBEMDEqDQorWDEwNzYwMFk1MjgyNTBEMDEqDQorWTUzMDUwMEQwMipZNTI4MjUwRDAxKg0KK1gxMTAxNTBZNTI5NzUwRDAyKlk1Mjc1MDBEMDEqDQorWTUyOTc1MEQwMipYMTEwOTAwWTUzMDUwMEQwMSoNCitYMTExNjUwRDAxKg0KK1gxMTI0MDBZNTI5NzUwRDAxKg0KK1k1Mjc1MDBEMDEqDQorWDEwOTQwMFk1MzA1MDBEMDIqWDExMDE1MFk1Mjk3NTBEMDEqDQorWDExNDk1MFk1MzM1MDBEMDIqWTUyODI1MEQwMSoNCitYMTE1NzAwWTUyNzUwMEQwMSoNCitYMTE0MjAwWTUzMTI1MEQwMipYMTE1NzAwRDAxKg0KK1g5NTAwMFk1MjQyNTBEMDIqWDExNzIwMEQwMSoNCitYMTMwNzUwWTUzMzUwMEQwMipZNTI3NTAwRDAxKg0KK1gxMzAwMDBZNTMzNTAwRDAyKlgxMzMwMDBEMDEqDQorWDEzMzc1MFk1MzI3NTBEMDEqDQorWTUzMTI1MEQwMSoNCitYMTMzMDAwWTUzMDUwMEQwMipYMTMzNzUwWTUzMTI1MEQwMSoNCitYMTMwNzUwWTUzMDUwMEQwMipYMTMzMDAwRDAxKg0KK1gxMzU1NTBZNTMzNTAwRDAyKlk1MjgyNTBEMDEqDQorWDEzNjMwMFk1Mjc1MDBEMDEqDQorWDE0MDA1MFk1MzA1MDBEMDIqWDE0MDgwMFk1Mjk3NTBEMDEqDQorWDEzODU1MFk1MzA1MDBEMDIqWDE0MDA1MEQwMSoNCitYMTM3ODAwWTUyOTc1MEQwMipYMTM4NTUwWTUzMDUwMEQwMSoNCitYMTM3ODAwWTUyOTc1MEQwMipZNTI4MjUwRDAxKg0KK1gxMzg1NTBZNTI3NTAwRDAxKg0KK1gxNDA4MDBZNTMwNTAwRDAyKlk1MjgyNTBEMDEqDQorWDE0MTU1MFk1Mjc1MDBEMDEqDQorWDEzODU1MEQwMipYMTQwMDUwRDAxKg0KK1gxNDA4MDBZNTI4MjUwRDAxKg0KK1gxNDQxMDBZNTMzNTAwRDAyKlk1MjgyNTBEMDEqDQorWDE0NDg1MFk1Mjc1MDBEMDEqDQorWDE0MzM1MFk1MzEyNTBEMDIqWDE0NDg1MEQwMSoNCitYMTQ3MTAwWTUyNzUwMEQwMipYMTQ5MzUwRDAxKg0KK1gxNDYzNTBZNTI4MjUwRDAyKlgxNDcxMDBZNTI3NTAwRDAxKg0KK1gxNDYzNTBZNTI5NzUwRDAyKlk1MjgyNTBEMDEqDQorWTUyOTc1MEQwMipYMTQ3MTAwWTUzMDUwMEQwMSoNCitYMTQ4NjAwRDAxKg0KK1gxNDkzNTBZNTI5NzUwRDAxKg0KK1gxNDYzNTBZNTI5MDAwRDAyKlgxNDkzNTBEMDEqDQorWTUyOTc1MEQwMipZNTI5MDAwRDAxKg0KK1gxNTQxNTBZNTMzNTAwRDAyKlk1Mjc1MDBEMDEqDQorWDE1MzQwMEQwMipYMTU0MTUwWTUyODI1MEQwMSoNCitYMTUxOTAwWTUyNzUwMEQwMipYMTUzNDAwRDAxKg0KK1gxNTExNTBZNTI4MjUwRDAyKlgxNTE5MDBZNTI3NTAwRDAxKg0KK1gxNTExNTBZNTI5NzUwRDAyKlk1MjgyNTBEMDEqDQorWTUyOTc1MEQwMipYMTUxOTAwWTUzMDUwMEQwMSoNCitYMTUzNDAwRDAxKg0KK1gxNTQxNTBZNTI5NzUwRDAxKg0KK1gxNTc0NTBZNTMwNTAwRDAyKlk1Mjk3NTBEMDEqDQorWTUyODI1MEQwMipZNTI3NTAwRDAxKg0KK1gxNTU5NTBZNTMyNzUwRDAyKlk1MzIwMDBEMDEqDQorWTUzMjc1MEQwMipYMTU2NzAwWTUzMzUwMEQwMSoNCitYMTU4MjAwRDAxKg0KK1gxNTg5NTBZNTMyNzUwRDAxKg0KK1k1MzIwMDBEMDEqDQorWDE1NzQ1MFk1MzA1MDBEMDIqWDE1ODk1MFk1MzIwMDBEMDEqDQorWDEzMDAwMFk1MjQyNTBEMDIqWDE2MDc1MEQwMSoNCitYMFk1NDg1MDBEMDIqWDMwMDBEMDEqDQorWDE1MDBEMDIqWTU0MjUwMEQwMSoNCitYNDgwMFk1NDg1MDBEMDIqWTU0MjUwMEQwMSoNCitZNTQ0NzUwRDAyKlg1NTUwWTU0NTUwMEQwMSoNCitYNzA1MEQwMSoNCitYNzgwMFk1NDQ3NTBEMDEqDQorWTU0MjUwMEQwMSoNCitYMTAzNTBEMDIqWDEyNjAwRDAxKg0KK1g5NjAwWTU0MzI1MEQwMipYMTAzNTBZNTQyNTAwRDAxKg0KK1g5NjAwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDEwMzUwWTU0NTUwMEQwMSoNCitYMTE4NTBEMDEqDQorWDEyNjAwWTU0NDc1MEQwMSoNCitYOTYwMFk1NDQwMDBEMDIqWDEyNjAwRDAxKg0KK1k1NDQ3NTBEMDIqWTU0NDAwMEQwMSoNCitYMTUxNTBZNTQ0NzUwRDAyKlk1NDI1MDBEMDEqDQorWTU0NDc1MEQwMipYMTU5MDBZNTQ1NTAwRDAxKg0KK1gxNzQwMEQwMSoNCitYMTQ0MDBEMDIqWDE1MTUwWTU0NDc1MEQwMSoNCitYMTk5NTBZNTQyNTAwRDAyKlgyMjIwMEQwMSoNCitYMTkyMDBZNTQzMjUwRDAyKlgxOTk1MFk1NDI1MDBEMDEqDQorWDE5MjAwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDE5OTUwWTU0NTUwMEQwMSoNCitYMjE0NTBEMDEqDQorWDIyMjAwWTU0NDc1MEQwMSoNCitYMTkyMDBZNTQ0MDAwRDAyKlgyMjIwMEQwMSoNCitZNTQ0NzUwRDAyKlk1NDQwMDBEMDEqDQorWDI4OTUwWTU0NTUwMEQwMipYMjk3MDBZNTQ0NzUwRDAxKg0KK1gyNzQ1MFk1NDU1MDBEMDIqWDI4OTUwRDAxKg0KK1gyNjcwMFk1NDQ3NTBEMDIqWDI3NDUwWTU0NTUwMEQwMSoNCitYMjY3MDBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWDI3NDUwWTU0MjUwMEQwMSoNCitYMjk3MDBZNTQ1NTAwRDAyKlk1NDMyNTBEMDEqDQorWDMwNDUwWTU0MjUwMEQwMSoNCitYMjc0NTBEMDIqWDI4OTUwRDAxKg0KK1gyOTcwMFk1NDMyNTBEMDEqDQorWDMzMDAwWTU0NDc1MEQwMipZNTQyNTAwRDAxKg0KK1k1NDQ3NTBEMDIqWDMzNzUwWTU0NTUwMEQwMSoNCitYMzUyNTBEMDEqDQorWDMyMjUwRDAyKlgzMzAwMFk1NDQ3NTBEMDEqDQorWDM3ODAwWTU0MjUwMEQwMipYNDAwNTBEMDEqDQorWDM3MDUwWTU0MzI1MEQwMipYMzc4MDBZNTQyNTAwRDAxKg0KK1gzNzA1MFk1NDQ3NTBEMDIqWTU0MzI1MEQwMSoNCitZNTQ0NzUwRDAyKlgzNzgwMFk1NDU1MDBEMDEqDQorWDM5MzAwRDAxKg0KK1g0MDA1MFk1NDQ3NTBEMDEqDQorWDM3MDUwWTU0NDAwMEQwMipYNDAwNTBEMDEqDQorWTU0NDc1MEQwMipZNTQ0MDAwRDAxKg0KK1g0NDU1MFk1NDMyNTBEMDIqWDQ1MzAwWTU0MjUwMEQwMSoNCitYNDQ1NTBZNTQ0NDUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDQ1MEQwMipYNDU2MDBZNTQ1NTAwRDAxKg0KK1g0NjUwMEQwMSoNCitYNDc1NTBZNTQ0NDUwRDAxKg0KK1k1NDMyNTBEMDEqDQorWDQ2ODAwWTU0MjUwMEQwMipYNDc1NTBZNTQzMjUwRDAxKg0KK1g0NTMwMFk1NDI1MDBEMDIqWDQ2ODAwRDAxKg0KK1g0NDU1MFk1NDY1NTBEMDIqWDQ1NjAwWTU0NTUwMEQwMSoNCitYNDQ1NTBZNTQ3NzUwRDAyKlk1NDY1NTBEMDEqDQorWTU0Nzc1MEQwMipYNDUzMDBZNTQ4NTAwRDAxKg0KK1g0NjgwMEQwMSoNCitYNDc1NTBZNTQ3NzUwRDAxKg0KK1k1NDY1NTBEMDEqDQorWDQ2NTAwWTU0NTUwMEQwMipYNDc1NTBZNTQ2NTUwRDAxKg0KK1g1NTA1MFk1NDg1MDBEMDIqWTU0MjUwMEQwMSoNCitYNTQzMDBEMDIqWDU1MDUwWTU0MzI1MEQwMSoNCitYNTI4MDBZNTQyNTAwRDAyKlg1NDMwMEQwMSoNCitYNTIwNTBZNTQzMjUwRDAyKlg1MjgwMFk1NDI1MDBEMDEqDQorWDUyMDUwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDUyODAwWTU0NTUwMEQwMSoNCitYNTQzMDBEMDEqDQorWDU1MDUwWTU0NDc1MEQwMSoNCitHNTREMzQ3Klg1Njg1MFk1NDcwMDBEMDIqWTU0Njg1MEQwMSoNCitHNTREMzQ2Klk1NDQ3NTBEMDIqWTU0MjUwMEQwMSoNCitYNTkxMDBZNTQ3NzUwRDAyKlk1NDI1MDBEMDEqDQorWTU0Nzc1MEQwMipYNTk4NTBZNTQ4NTAwRDAxKg0KK1g2MDYwMEQwMSoNCitYNTgzNTBZNTQ1NTAwRDAyKlg1OTg1MEQwMSoNCitYNjI4NTBZNTQ3NzUwRDAyKlk1NDI1MDBEMDEqDQorWTU0Nzc1MEQwMipYNjM2MDBZNTQ4NTAwRDAxKg0KK1g2NDM1MEQwMSoNCitYNjIxMDBZNTQ1NTAwRDAyKlg2MzYwMEQwMSoNCitYNjY2MDBZNTQyNTAwRDAyKlg2ODg1MEQwMSoNCitYNjU4NTBZNTQzMjUwRDAyKlg2NjYwMFk1NDI1MDBEMDEqDQorWDY1ODUwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDY2NjAwWTU0NTUwMEQwMSoNCitYNjgxMDBEMDEqDQorWDY4ODUwWTU0NDc1MEQwMSoNCitYNjU4NTBZNTQ0MDAwRDAyKlg2ODg1MEQwMSoNCitZNTQ0NzUwRDAyKlk1NDQwMDBEMDEqDQorWDcxNDAwWTU0NDc1MEQwMipZNTQyNTAwRDAxKg0KK1k1NDQ3NTBEMDIqWDcyMTUwWTU0NTUwMEQwMSoNCitYNzM2NTBEMDEqDQorWDcwNjUwRDAyKlg3MTQwMFk1NDQ3NTBEMDEqDQorWDc2MjAwWTU0MjUwMEQwMipYNzg0NTBEMDEqDQorWDc1NDUwWTU0MzI1MEQwMipYNzYyMDBZNTQyNTAwRDAxKg0KK1g3NTQ1MFk1NDQ3NTBEMDIqWTU0MzI1MEQwMSoNCitZNTQ0NzUwRDAyKlg3NjIwMFk1NDU1MDBEMDEqDQorWDc3NzAwRDAxKg0KK1g3ODQ1MFk1NDQ3NTBEMDEqDQorWDc1NDUwWTU0NDAwMEQwMipYNzg0NTBEMDEqDQorWTU0NDc1MEQwMipZNTQ0MDAwRDAxKg0KK1g4MTAwMFk1NDQ3NTBEMDIqWTU0MjUwMEQwMSoNCitZNTQ0NzUwRDAyKlg4MTc1MFk1NDU1MDBEMDEqDQorWDgyNTAwRDAxKg0KK1g4MzI1MFk1NDQ3NTBEMDEqDQorWTU0MjUwMEQwMSoNCitYODAyNTBZNTQ1NTAwRDAyKlg4MTAwMFk1NDQ3NTBEMDEqDQorWDg1ODAwWTU0ODUwMEQwMipZNTQzMjUwRDAxKg0KK1g4NjU1MFk1NDI1MDBEMDEqDQorWDg1MDUwWTU0NjI1MEQwMipYODY1NTBEMDEqDQorWDkzNzUwWTU0ODUwMEQwMipZNTQyNTAwRDAxKg0KK1g5MzAwMEQwMipYOTM3NTBZNTQzMjUwRDAxKg0KK1g5MTUwMFk1NDI1MDBEMDIqWDkzMDAwRDAxKg0KK1g5MDc1MFk1NDMyNTBEMDIqWDkxNTAwWTU0MjUwMEQwMSoNCitYOTA3NTBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDc1MEQwMipYOTE1MDBZNTQ1NTAwRDAxKg0KK1g5MzAwMEQwMSoNCitYOTM3NTBZNTQ0NzUwRDAxKg0KK1g5NjMwMEQwMipZNTQyNTAwRDAxKg0KK1k1NDQ3NTBEMDIqWDk3MDUwWTU0NTUwMEQwMSoNCitYOTg1NTBEMDEqDQorWDk1NTUwRDAyKlg5NjMwMFk1NDQ3NTBEMDEqDQorRzU0RDM0NypYMTAwMzUwWTU0NzAwMEQwMipZNTQ2ODUwRDAxKg0KK0c1NEQzNDYqWTU0NDc1MEQwMipZNTQyNTAwRDAxKg0KK1gxMDE4NTBZNTQ4NTAwRDAyKlk1NDMyNTBEMDEqDQorWDEwMjYwMFk1NDI1MDBEMDEqDQorWDEwNDEwMFk1NDg1MDBEMDIqWTU0MzI1MEQwMSoNCitYMTA0ODUwWTU0MjUwMEQwMSoNCitYMTA5ODAwRDAyKlgxMTIwNTBEMDEqDQorWDExMjgwMFk1NDMyNTBEMDEqDQorWDExMjA1MFk1NDQwMDBEMDIqWDExMjgwMFk1NDMyNTBEMDEqDQorWDEwOTgwMFk1NDQwMDBEMDIqWDExMjA1MEQwMSoNCitYMTA5MDUwWTU0NDc1MEQwMipYMTA5ODAwWTU0NDAwMEQwMSoNCitYMTA5MDUwWTU0NDc1MEQwMipYMTA5ODAwWTU0NTUwMEQwMSoNCitYMTEyMDUwRDAxKg0KK1gxMTI4MDBZNTQ0NzUwRDAxKg0KK1gxMDkwNTBZNTQzMjUwRDAyKlgxMDk4MDBZNTQyNTAwRDAxKg0KK0c1NEQzNDcqWDExNDYwMFk1NDcwMDBEMDIqWTU0Njg1MEQwMSoNCitHNTREMzQ2Klk1NDQ3NTBEMDIqWTU0MjUwMEQwMSoNCitYMTE2MTAwWTU0NTUwMEQwMipYMTE5MTAwRDAxKg0KK1gxMTYxMDBZNTQyNTAwRDAyKlgxMTkxMDBZNTQ1NTAwRDAxKg0KK1gxMTYxMDBZNTQyNTAwRDAyKlgxMTkxMDBEMDEqDQorWDEyMTY1MEQwMipYMTIzOTAwRDAxKg0KK1gxMjA5MDBZNTQzMjUwRDAyKlgxMjE2NTBZNTQyNTAwRDAxKg0KK1gxMjA5MDBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDc1MEQwMipYMTIxNjUwWTU0NTUwMEQwMSoNCitYMTIzMTUwRDAxKg0KK1gxMjM5MDBZNTQ0NzUwRDAxKg0KK1gxMjA5MDBZNTQ0MDAwRDAyKlgxMjM5MDBEMDEqDQorWTU0NDc1MEQwMipZNTQ0MDAwRDAxKg0KK1gxMjY0NTBZNTQyNTAwRDAyKlgxMjg3MDBEMDEqDQorWDEyOTQ1MFk1NDMyNTBEMDEqDQorWDEyODcwMFk1NDQwMDBEMDIqWDEyOTQ1MFk1NDMyNTBEMDEqDQorWDEyNjQ1MFk1NDQwMDBEMDIqWDEyODcwMEQwMSoNCitYMTI1NzAwWTU0NDc1MEQwMipYMTI2NDUwWTU0NDAwMEQwMSoNCitYMTI1NzAwWTU0NDc1MEQwMipYMTI2NDUwWTU0NTUwMEQwMSoNCitYMTI4NzAwRDAxKg0KK1gxMjk0NTBZNTQ0NzUwRDAxKg0KK1gxMjU3MDBZNTQzMjUwRDAyKlgxMjY0NTBZNTQyNTAwRDAxKg0KK1gxMzM5NTBZNTQ1NTAwRDAyKlk1NDMyNTBEMDEqDQorWDEzNDcwMFk1NDI1MDBEMDEqDQorWDEzNjIwMEQwMSoNCitYMTM2OTUwWTU0MzI1MEQwMSoNCitZNTQ1NTAwRDAyKlk1NDMyNTBEMDEqDQorWDEzOTUwMFk1NDI1MDBEMDIqWDE0MTc1MEQwMSoNCitYMTQyNTAwWTU0MzI1MEQwMSoNCitYMTQxNzUwWTU0NDAwMEQwMipYMTQyNTAwWTU0MzI1MEQwMSoNCitYMTM5NTAwWTU0NDAwMEQwMipYMTQxNzUwRDAxKg0KK1gxMzg3NTBZNTQ0NzUwRDAyKlgxMzk1MDBZNTQ0MDAwRDAxKg0KK1gxMzg3NTBZNTQ0NzUwRDAyKlgxMzk1MDBZNTQ1NTAwRDAxKg0KK1gxNDE3NTBEMDEqDQorWDE0MjUwMFk1NDQ3NTBEMDEqDQorWDEzODc1MFk1NDMyNTBEMDIqWDEzOTUwMFk1NDI1MDBEMDEqDQorWDE0NTA1MEQwMipYMTQ3MzAwRDAxKg0KK1gxNDQzMDBZNTQzMjUwRDAyKlgxNDUwNTBZNTQyNTAwRDAxKg0KK1gxNDQzMDBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDc1MEQwMipYMTQ1MDUwWTU0NTUwMEQwMSoNCitYMTQ2NTUwRDAxKg0KK1gxNDczMDBZNTQ0NzUwRDAxKg0KK1gxNDQzMDBZNTQ0MDAwRDAyKlgxNDczMDBEMDEqDQorWTU0NDc1MEQwMipZNTQ0MDAwRDAxKg0KK1gxNTIxMDBZNTQ4NTAwRDAyKlk1NDI1MDBEMDEqDQorWDE1MTM1MEQwMipYMTUyMTAwWTU0MzI1MEQwMSoNCitYMTQ5ODUwWTU0MjUwMEQwMipYMTUxMzUwRDAxKg0KK1gxNDkxMDBZNTQzMjUwRDAyKlgxNDk4NTBZNTQyNTAwRDAxKg0KK1gxNDkxMDBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDc1MEQwMipYMTQ5ODUwWTU0NTUwMEQwMSoNCitYMTUxMzUwRDAxKg0KK1gxNTIxMDBZNTQ0NzUwRDAxKg0KK0c1NEQzNDcqWDE1NjYwMFk1NDcwMDBEMDIqWTU0Njg1MEQwMSoNCitHNTREMzQ2Klk1NDQ3NTBEMDIqWTU0MjUwMEQwMSoNCitYMTU4ODUwWTU0NDc1MEQwMipZNTQyNTAwRDAxKg0KK1k1NDQ3NTBEMDIqWDE1OTYwMFk1NDU1MDBEMDEqDQorWDE2MDM1MEQwMSoNCitYMTYxMTAwWTU0NDc1MEQwMSoNCitZNTQyNTAwRDAxKg0KK1gxNTgxMDBZNTQ1NTAwRDAyKlgxNTg4NTBZNTQ0NzUwRDAxKg0KK1gxNjYzNTBZNTQ4NTAwRDAyKlk1NDMyNTBEMDEqDQorWDE2NzEwMFk1NDI1MDBEMDEqDQorWDE2NTYwMFk1NDYyNTBEMDIqWDE2NzEwMEQwMSoNCitYMTY4NjAwWTU0ODUwMEQwMipZNTQyNTAwRDAxKg0KK1k1NDQ3NTBEMDIqWDE2OTM1MFk1NDU1MDBEMDEqDQorWDE3MDg1MEQwMSoNCitYMTcxNjAwWTU0NDc1MEQwMSoNCitZNTQyNTAwRDAxKg0KK0c1NEQzNDcqWDE3MzQwMFk1NDcwMDBEMDIqWTU0Njg1MEQwMSoNCitHNTREMzQ2Klk1NDQ3NTBEMDIqWTU0MjUwMEQwMSoNCitYMTc1NjUwRDAyKlgxNzc5MDBEMDEqDQorWDE3ODY1MFk1NDMyNTBEMDEqDQorWDE3NzkwMFk1NDQwMDBEMDIqWDE3ODY1MFk1NDMyNTBEMDEqDQorWDE3NTY1MFk1NDQwMDBEMDIqWDE3NzkwMEQwMSoNCitYMTc0OTAwWTU0NDc1MEQwMipYMTc1NjUwWTU0NDAwMEQwMSoNCitYMTc0OTAwWTU0NDc1MEQwMipYMTc1NjUwWTU0NTUwMEQwMSoNCitYMTc3OTAwRDAxKg0KK1gxNzg2NTBZNTQ0NzUwRDAxKg0KK1gxNzQ5MDBZNTQzMjUwRDAyKlgxNzU2NTBZNTQyNTAwRDAxKg0KK1gxODMxNTBZNTQ4NTAwRDAyKlk1NDMyNTBEMDEqDQorWDE4MzkwMFk1NDI1MDBEMDEqDQorWDE4NzY1MFk1NDU1MDBEMDIqWDE4ODQwMFk1NDQ3NTBEMDEqDQorWDE4NjE1MFk1NDU1MDBEMDIqWDE4NzY1MEQwMSoNCitYMTg1NDAwWTU0NDc1MEQwMipYMTg2MTUwWTU0NTUwMEQwMSoNCitYMTg1NDAwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1gxODYxNTBZNTQyNTAwRDAxKg0KK1gxODg0MDBZNTQ1NTAwRDAyKlk1NDMyNTBEMDEqDQorWDE4OTE1MFk1NDI1MDBEMDEqDQorWDE4NjE1MEQwMipYMTg3NjUwRDAxKg0KK1gxODg0MDBZNTQzMjUwRDAxKg0KK1gxOTA5NTBZNTQ1NTAwRDAyKlk1NDMyNTBEMDEqDQorWDE5MTcwMFk1NDI1MDBEMDEqDQorWDE5Mzk1MFk1NDU1MDBEMDIqWTU0MTAwMEQwMSoNCitYMTkzMjAwWTU0MDI1MEQwMipYMTkzOTUwWTU0MTAwMEQwMSoNCitYMTkxNzAwWTU0MDI1MEQwMipYMTkzMjAwRDAxKg0KK1gxOTA5NTBZNTQxMDAwRDAyKlgxOTE3MDBZNTQwMjUwRDAxKg0KK1k1NDI1MDBEMDIqWDE5MzIwMEQwMSoNCitYMTkzOTUwWTU0MzI1MEQwMSoNCitYMTk1NzUwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDE5NjUwMFk1NDU1MDBEMDEqDQorWDE5ODAwMEQwMSoNCitYMTk4NzUwWTU0NDc1MEQwMSoNCitZNTQzMjUwRDAxKg0KK1gxOTgwMDBZNTQyNTAwRDAyKlgxOTg3NTBZNTQzMjUwRDAxKg0KK1gxOTY1MDBZNTQyNTAwRDAyKlgxOTgwMDBEMDEqDQorWDE5NTc1MFk1NDMyNTBEMDIqWDE5NjUwMFk1NDI1MDBEMDEqDQorWDIwMDU1MFk1NDU1MDBEMDIqWTU0MzI1MEQwMSoNCitYMjAxMzAwWTU0MjUwMEQwMSoNCitYMjAyODAwRDAxKg0KK1gyMDM1NTBZNTQzMjUwRDAxKg0KK1k1NDU1MDBEMDIqWTU0MzI1MEQwMSoNCitYMjA2MTAwWTU0ODUwMEQwMipZNTQzMjUwRDAxKg0KK1gyMDY4NTBZNTQyNTAwRDAxKg0KK1gyMDUzNTBZNTQ2MjUwRDAyKlgyMDY4NTBEMDEqDQorWDIwODM1MFk1NDEwMDBEMDIqWDIwOTg1MFk1NDI1MDBEMDEqDQorWDIxNDM1MFk1NDQ3NTBEMDIqWDIxNzM1MFk1NDg1MDBEMDEqDQorWDIxNDM1MFk1NDQ3NTBEMDIqWDIxODEwMEQwMSoNCitYMjE3MzUwWTU0ODUwMEQwMipZNTQyNTAwRDAxKg0KK1gyMTk5MDBZNTQ4NTAwRDAyKlgyMjI5MDBEMDEqDQorWDIxOTkwMEQwMipZNTQ1NTAwRDAxKg0KK1gyMjA2NTBZNTQ2MjUwRDAxKg0KK1gyMjIxNTBEMDEqDQorWDIyMjkwMFk1NDU1MDBEMDEqDQorWTU0MzI1MEQwMSoNCitYMjIyMTUwWTU0MjUwMEQwMipYMjIyOTAwWTU0MzI1MEQwMSoNCitYMjIwNjUwWTU0MjUwMEQwMipYMjIyMTUwRDAxKg0KK1gyMTk5MDBZNTQzMjUwRDAyKlgyMjA2NTBZNTQyNTAwRDAxKg0KK1gyMjQ3MDBZNTQ3MzAwRDAyKlgyMjU5MDBZNTQ4NTAwRDAxKg0KK1k1NDI1MDBEMDEqDQorWDIyNDcwMEQwMipYMjI2OTUwRDAxKg0KK1gyMzE0NTBZNTQ4NTAwRDAyKlk1NDI1MDBEMDEqDQorWTU0NDc1MEQwMipYMjMyMjAwWTU0NTUwMEQwMSoNCitYMjMzNzAwRDAxKg0KK1gyMzQ0NTBZNTQ0NzUwRDAxKg0KK1k1NDI1MDBEMDEqDQorWDIzNjI1MFk1NDQ3NTBEMDIqWTU0MzI1MEQwMSoNCitZNTQ0NzUwRDAyKlgyMzcwMDBZNTQ1NTAwRDAxKg0KK1gyMzg1MDBEMDEqDQorWDIzOTI1MFk1NDQ3NTBEMDEqDQorWTU0MzI1MEQwMSoNCitYMjM4NTAwWTU0MjUwMEQwMipYMjM5MjUwWTU0MzI1MEQwMSoNCitYMjM3MDAwWTU0MjUwMEQwMipYMjM4NTAwRDAxKg0KK1gyMzYyNTBZNTQzMjUwRDAyKlgyMzcwMDBZNTQyNTAwRDAxKg0KK1gyNDEwNTBZNTQ4NTAwRDAyKlk1NDMyNTBEMDEqDQorWDI0MTgwMFk1NDI1MDBEMDEqDQorWDI0NDA1MEQwMipYMjQ2MzAwRDAxKg0KK1gyNDMzMDBZNTQzMjUwRDAyKlgyNDQwNTBZNTQyNTAwRDAxKg0KK1gyNDMzMDBZNTQ0NzUwRDAyKlk1NDMyNTBEMDEqDQorWTU0NDc1MEQwMipYMjQ0MDUwWTU0NTUwMEQwMSoNCitYMjQ1NTUwRDAxKg0KK1gyNDYzMDBZNTQ0NzUwRDAxKg0KK1gyNDMzMDBZNTQ0MDAwRDAyKlgyNDYzMDBEMDEqDQorWTU0NDc1MEQwMipZNTQ0MDAwRDAxKg0KK1gyNDg4NTBZNTQyNTAwRDAyKlgyNTExMDBEMDEqDQorWDI1MTg1MFk1NDMyNTBEMDEqDQorWDI1MTEwMFk1NDQwMDBEMDIqWDI1MTg1MFk1NDMyNTBEMDEqDQorWDI0ODg1MFk1NDQwMDBEMDIqWDI1MTEwMEQwMSoNCitYMjQ4MTAwWTU0NDc1MEQwMipYMjQ4ODUwWTU0NDAwMEQwMSoNCitYMjQ4MTAwWTU0NDc1MEQwMipYMjQ4ODUwWTU0NTUwMEQwMSoNCitYMjUxMTAwRDAxKg0KK1gyNTE4NTBZNTQ0NzUwRDAxKg0KK1gyNDgxMDBZNTQzMjUwRDAyKlgyNDg4NTBZNTQyNTAwRDAxKg0KK1gyNTcxMDBZNTQ4NTAwRDAyKlk1NDMyNTBEMDEqDQorWDI1Nzg1MFk1NDI1MDBEMDEqDQorWDI1NjM1MFk1NDYyNTBEMDIqWDI1Nzg1MEQwMSoNCitYMjU5MzUwWTU0NDc1MEQwMipZNTQzMjUwRDAxKg0KK1k1NDQ3NTBEMDIqWDI2MDEwMFk1NDU1MDBEMDEqDQorWDI2MTYwMEQwMSoNCitYMjYyMzUwWTU0NDc1MEQwMSoNCitZNTQzMjUwRDAxKg0KK1gyNjE2MDBZNTQyNTAwRDAyKlgyNjIzNTBZNTQzMjUwRDAxKg0KK1gyNjAxMDBZNTQyNTAwRDAyKlgyNjE2MDBEMDEqDQorWDI1OTM1MFk1NDMyNTBEMDIqWDI2MDEwMFk1NDI1MDBEMDEqDQorWDI2NDkwMFk1NDg1MDBEMDIqWTU0MzI1MEQwMSoNCitYMjY1NjUwWTU0MjUwMEQwMSoNCitYMjY0MTUwWTU0NjI1MEQwMipYMjY1NjUwRDAxKg0KK1gyNjk0MDBZNTQ1NTAwRDAyKlgyNzAxNTBZNTQ0NzUwRDAxKg0KK1gyNjc5MDBZNTQ1NTAwRDAyKlgyNjk0MDBEMDEqDQorWDI2NzE1MFk1NDQ3NTBEMDIqWDI2NzkwMFk1NDU1MDBEMDEqDQorWDI2NzE1MFk1NDQ3NTBEMDIqWTU0MzI1MEQwMSoNCitYMjY3OTAwWTU0MjUwMEQwMSoNCitYMjcwMTUwWTU0NTUwMEQwMipZNTQzMjUwRDAxKg0KK1gyNzA5MDBZNTQyNTAwRDAxKg0KK1gyNjc5MDBEMDIqWDI2OTQwMEQwMSoNCitYMjcwMTUwWTU0MzI1MEQwMSoNCitYMjcyNzAwWTU0ODUwMEQwMipZNTQzMjUwRDAxKg0KK1gyNzM0NTBZNTQyNTAwRDAxKg0KK0c1NEQzNDgqWDQ4NDYwMFkzOTMzMDBEMDIqWTQyMDAwRDAxKg0KK1g0NzkxMDBZMzU1MDBEMDIqWDczNTAwRDAxKg0KK1g2ODAwMFk0MjAwMEQwMipZMjQ0MDAwRDAxKg0KK1g3NDUwMFkyNTA1MDBEMDIqWDEwMTAwMEQwMSoNCitYMTA3NTAwWTI1NjAwMEQwMipZMzEyNTAwRDAxKg0KK1gxMDEwMDBZMzE5MDAwRDAyKlg3NDUwMEQwMSoNCitYNjgwMDBZMzI1NTAwRDAyKlkzOTMzMDBEMDEqDQorWDc0NTAwWTM5OTgwMEQwMipYNDc4MTAwRDAxKg0KK1gxODk5NDlZMTM2MDU5RDAyKlgxODk4OTBZMTM2MDAwRDAxKg0KK1g0NzgxMDBZMzk5ODAwRDAyKkc3NSpHMDJYNDg0NjAwWTM5MzMwMEkwSi02NTAwRDAxKkcwMSoNCitZNDIwMDBEMDIqRzc1KkcwMlg0NzgxMDBZMzU1MDBJLTY1MDBKMEQwMSpHMDEqDQorWDc0NTAwRDAyKkc3NSpHMDJYNjgwMDBZNDIwMDBJMEo2NTAwRDAxKkcwMSoNCitZMjQ0MDAwRDAyKkc3NSpHMDJYNzQ1MDBZMjUwNTAwSTY1MDBKMEQwMSpHMDEqDQorWDEwNzUwMFkyNTcwMDBEMDIqRzc1KkcwMlgxMDEwMDBZMjUwNTAwSS02NTAwSjBEMDEqRzAxKg0KK1kzMTkwMDBEMDIqRzc1KkcwMlgxMDc1MDBZMzEyNTAwSTBKLTY1MDBEMDEqRzAxKg0KK1g3NDUwMFkzMTkwMDBEMDIqRzc1KkcwMlg2ODAwMFkzMjU1MDBJMEo2NTAwRDAxKkcwMSoNCitZMzkzMzAwRDAyKkc3NSpHMDJYNzQ1MDBZMzk5ODAwSTY1MDBKMEQwMSpHMDEqDQorRzU0RDM0NipYMTYzNjc1WS05NTAwRDAyKlgxNjY2NzVEMDEqDQorWDE2NzQyNVktODc1MEQwMSoNCitZLTY5NTBEMDIqWS04NzUwRDAxKg0KK1gxNjY2NzVZLTYyMDBEMDIqWDE2NzQyNVktNjk1MEQwMSoNCitYMTY0NDI1WS02MjAwRDAyKlgxNjY2NzVEMDEqDQorWDE2NDQyNVktMzUwMEQwMipZLTk1MDBEMDEqDQorWDE2MzY3NVktMzUwMEQwMipYMTY2Njc1RDAxKg0KK1gxNjc0MjVZLTQyNTBEMDEqDQorWS01NDUwRDAxKg0KK1gxNjY2NzVZLTYyMDBEMDIqWDE2NzQyNVktNTQ1MEQwMSoNCitYMTY5MjI1WS03MjUwRDAyKlktODc1MEQwMSoNCitZLTcyNTBEMDIqWDE2OTk3NVktNjUwMEQwMSoNCitYMTcxNDc1RDAxKg0KK1gxNzIyMjVZLTcyNTBEMDEqDQorWS04NzUwRDAxKg0KK1gxNzE0NzVZLTk1MDBEMDIqWDE3MjIyNVktODc1MEQwMSoNCitYMTY5OTc1WS05NTAwRDAyKlgxNzE0NzVEMDEqDQorWDE2OTIyNVktODc1MEQwMipYMTY5OTc1WS05NTAwRDAxKg0KK1gxNzYyNzVZLTY1MDBEMDIqWDE3NzAyNVktNzI1MEQwMSoNCitYMTc0Nzc1WS02NTAwRDAyKlgxNzYyNzVEMDEqDQorWDE3NDAyNVktNzI1MEQwMipYMTc0Nzc1WS02NTAwRDAxKg0KK1gxNzQwMjVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1gxNzQ3NzVZLTk1MDBEMDEqDQorWDE3NzAyNVktNjUwMEQwMipZLTg3NTBEMDEqDQorWDE3Nzc3NVktOTUwMEQwMSoNCitYMTc0Nzc1RDAyKlgxNzYyNzVEMDEqDQorWDE3NzAyNVktODc1MEQwMSoNCitYMTgwMzI1WS03MjUwRDAyKlktOTUwMEQwMSoNCitZLTcyNTBEMDIqWDE4MTA3NVktNjUwMEQwMSoNCitYMTgyNTc1RDAxKg0KK1gxNzk1NzVEMDIqWDE4MDMyNVktNzI1MEQwMSoNCitYMTg3Mzc1WS0zNTAwRDAyKlktOTUwMEQwMSoNCitYMTg2NjI1RDAyKlgxODczNzVZLTg3NTBEMDEqDQorWDE4NTEyNVktOTUwMEQwMipYMTg2NjI1RDAxKg0KK1gxODQzNzVZLTg3NTBEMDIqWDE4NTEyNVktOTUwMEQwMSoNCitYMTg0Mzc1WS03MjUwRDAyKlktODc1MEQwMSoNCitZLTcyNTBEMDIqWDE4NTEyNVktNjUwMEQwMSoNCitYMTg2NjI1RDAxKg0KK1gxODczNzVZLTcyNTBEMDEqDQorWDE5MTg3NUQwMipZLTg3NTBEMDEqDQorWS03MjUwRDAyKlgxOTI2MjVZLTY1MDBEMDEqDQorWDE5NDEyNUQwMSoNCitYMTk0ODc1WS03MjUwRDAxKg0KK1ktODc1MEQwMSoNCitYMTk0MTI1WS05NTAwRDAyKlgxOTQ4NzVZLTg3NTBEMDEqDQorWDE5MjYyNVktOTUwMEQwMipYMTk0MTI1RDAxKg0KK1gxOTE4NzVZLTg3NTBEMDIqWDE5MjYyNVktOTUwMEQwMSoNCitYMTk2Njc1WS02NTAwRDAyKlktODc1MEQwMSoNCitYMTk3NDI1WS05NTAwRDAxKg0KK1gxOTg5MjVEMDEqDQorWDE5OTY3NVktODc1MEQwMSoNCitZLTY1MDBEMDIqWS04NzUwRDAxKg0KK1gyMDIyMjVZLTM1MDBEMDIqWS04NzUwRDAxKg0KK1gyMDI5NzVZLTk1MDBEMDEqDQorWDIwMTQ3NVktNTc1MEQwMipYMjAyOTc1RDAxKg0KK1gyMDQ0NzVZLTM1MDBEMDIqWS04NzUwRDAxKg0KK1gyMDUyMjVZLTk1MDBEMDEqDQorRzU0RDM0NypYMjA2NzI1WS01MDAwRDAyKlktNTE1MEQwMSoNCitHNTREMzQ2KlktNzI1MEQwMipZLTk1MDBEMDEqDQorWDIwODk3NVktNzI1MEQwMipZLTk1MDBEMDEqDQorWS03MjUwRDAyKlgyMDk3MjVZLTY1MDBEMDEqDQorWDIxMDQ3NUQwMSoNCitYMjExMjI1WS03MjUwRDAxKg0KK1ktOTUwMEQwMSoNCitYMjA4MjI1WS02NTAwRDAyKlgyMDg5NzVZLTcyNTBEMDEqDQorWDIxMzc3NVktOTUwMEQwMipYMjE2MDI1RDAxKg0KK1gyMTMwMjVZLTg3NTBEMDIqWDIxMzc3NVktOTUwMEQwMSoNCitYMjEzMDI1WS03MjUwRDAyKlktODc1MEQwMSoNCitZLTcyNTBEMDIqWDIxMzc3NVktNjUwMEQwMSoNCitYMjE1Mjc1RDAxKg0KK1gyMTYwMjVZLTcyNTBEMDEqDQorWDIxMzAyNVktODAwMEQwMipYMjE2MDI1RDAxKg0KK1ktNzI1MEQwMipZLTgwMDBEMDEqDQorRzU0RDM0NypYMjIwNTI1WS01MDAwRDAyKlktNTE1MEQwMSoNCitHNTREMzQ2KlktNzI1MEQwMipZLTk1MDBEMDEqDQorWDIyMjc3NUQwMipYMjI1MDI1RDAxKg0KK1gyMjU3NzVZLTg3NTBEMDEqDQorWDIyNTAyNVktODAwMEQwMipYMjI1Nzc1WS04NzUwRDAxKg0KK1gyMjI3NzVZLTgwMDBEMDIqWDIyNTAyNUQwMSoNCitYMjIyMDI1WS03MjUwRDAyKlgyMjI3NzVZLTgwMDBEMDEqDQorWDIyMjAyNVktNzI1MEQwMipYMjIyNzc1WS02NTAwRDAxKg0KK1gyMjUwMjVEMDEqDQorWDIyNTc3NVktNzI1MEQwMSoNCitYMjIyMDI1WS04NzUwRDAyKlgyMjI3NzVZLTk1MDBEMDEqDQorWDIzMTAyNVktMzUwMEQwMipZLTg3NTBEMDEqDQorWDIzMTc3NVktOTUwMEQwMSoNCitYMjMwMjc1WS01NzUwRDAyKlgyMzE3NzVEMDEqDQorWDIzMzI3NVktMzUwMEQwMipZLTk1MDBEMDEqDQorWS03MjUwRDAyKlgyMzQwMjVZLTY1MDBEMDEqDQorWDIzNTUyNUQwMSoNCitYMjM2Mjc1WS03MjUwRDAxKg0KK1ktOTUwMEQwMSoNCitYMjM4ODI1RDAyKlgyNDEwNzVEMDEqDQorWDIzODA3NVktODc1MEQwMipYMjM4ODI1WS05NTAwRDAxKg0KK1gyMzgwNzVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1ktNzI1MEQwMipYMjM4ODI1WS02NTAwRDAxKg0KK1gyNDAzMjVEMDEqDQorWDI0MTA3NVktNzI1MEQwMSoNCitYMjM4MDc1WS04MDAwRDAyKlgyNDEwNzVEMDEqDQorWS03MjUwRDAyKlktODAwMEQwMSoNCitYMjQ2MzI1WS02NTAwRDAyKlgyNDg1NzVEMDEqDQorWDI0NTU3NVktNzI1MEQwMipYMjQ2MzI1WS02NTAwRDAxKg0KK1gyNDU1NzVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1gyNDYzMjVZLTk1MDBEMDEqDQorWDI0ODU3NUQwMSoNCitYMjUxMTI1RDAyKlgyNTMzNzVEMDEqDQorWDI1MDM3NVktODc1MEQwMipYMjUxMTI1WS05NTAwRDAxKg0KK1gyNTAzNzVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1ktNzI1MEQwMipYMjUxMTI1WS02NTAwRDAxKg0KK1gyNTI2MjVEMDEqDQorWDI1MzM3NVktNzI1MEQwMSoNCitYMjUwMzc1WS04MDAwRDAyKlgyNTMzNzVEMDEqDQorWS03MjUwRDAyKlktODAwMEQwMSoNCitYMjU1OTI1WS03MjUwRDAyKlktOTUwMEQwMSoNCitZLTcyNTBEMDIqWDI1NjY3NVktNjUwMEQwMSoNCitYMjU3NDI1RDAxKg0KK1gyNTgxNzVZLTcyNTBEMDEqDQorWS05NTAwRDAxKg0KK1gyNTUxNzVZLTY1MDBEMDIqWDI1NTkyNVktNzI1MEQwMSoNCitYMjYwNzI1WS0zNTAwRDAyKlktODc1MEQwMSoNCitYMjYxNDc1WS05NTAwRDAxKg0KK1gyNTk5NzVZLTU3NTBEMDIqWDI2MTQ3NUQwMSoNCitYMjYzNzI1WS05NTAwRDAyKlgyNjU5NzVEMDEqDQorWDI2Mjk3NVktODc1MEQwMipYMjYzNzI1WS05NTAwRDAxKg0KK1gyNjI5NzVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1ktNzI1MEQwMipYMjYzNzI1WS02NTAwRDAxKg0KK1gyNjUyMjVEMDEqDQorWDI2NTk3NVktNzI1MEQwMSoNCitYMjYyOTc1WS04MDAwRDAyKlgyNjU5NzVEMDEqDQorWS03MjUwRDAyKlktODAwMEQwMSoNCitYMjY4NTI1WS03MjUwRDAyKlktOTUwMEQwMSoNCitZLTcyNTBEMDIqWDI2OTI3NVktNjUwMEQwMSoNCitYMjcwNzc1RDAxKg0KK1gyNjc3NzVEMDIqWDI2ODUyNVktNzI1MEQwMSoNCitYMjcyNTc1WS0zNTAwRDAyKlktODc1MEQwMSoNCitYMjczMzI1WS05NTAwRDAxKg0KK0c1NEQzNDcqWDI3NDgyNVktNTAwMEQwMipZLTUxNTBEMDEqDQorRzU0RDM0NipZLTcyNTBEMDIqWS05NTAwRDAxKg0KK1gyNzcwNzVZLTcyNTBEMDIqWS05NTAwRDAxKg0KK1ktNzI1MEQwMipYMjc3ODI1WS02NTAwRDAxKg0KK1gyNzg1NzVEMDEqDQorWDI3OTMyNVktNzI1MEQwMSoNCitZLTk1MDBEMDEqDQorWDI3NjMyNVktNjUwMEQwMipYMjc3MDc1WS03MjUwRDAxKg0KK1gyODE4NzVZLTk1MDBEMDIqWDI4NDEyNUQwMSoNCitYMjgxMTI1WS04NzUwRDAyKlgyODE4NzVZLTk1MDBEMDEqDQorWDI4MTEyNVktNzI1MEQwMipZLTg3NTBEMDEqDQorWS03MjUwRDAyKlgyODE4NzVZLTY1MDBEMDEqDQorWDI4MzM3NUQwMSoNCitYMjg0MTI1WS03MjUwRDAxKg0KK1gyODExMjVZLTgwMDBEMDIqWDI4NDEyNUQwMSoNCitZLTcyNTBEMDIqWS04MDAwRDAxKg0KK1gyODg2MjVZLTcyNTBEMDIqWS04NzUwRDAxKg0KK1ktNzI1MEQwMipYMjg5Mzc1WS02NTAwRDAxKg0KK1gyOTA4NzVEMDEqDQorWDI5MTYyNVktNzI1MEQwMSoNCitZLTg3NTBEMDEqDQorWDI5MDg3NVktOTUwMEQwMipYMjkxNjI1WS04NzUwRDAxKg0KK1gyODkzNzVZLTk1MDBEMDIqWDI5MDg3NUQwMSoNCitYMjg4NjI1WS04NzUwRDAyKlgyODkzNzVZLTk1MDBEMDEqDQorWDI5NDE3NVktNDI1MEQwMipZLTk1MDBEMDEqDQorWS00MjUwRDAyKlgyOTQ5MjVZLTM1MDBEMDEqDQorWDI5NTY3NUQwMSoNCitYMjkzNDI1WS02NTAwRDAyKlgyOTQ5MjVEMDEqDQorWDMwMDYyNVktMzUwMEQwMipZLTg3NTBEMDEqDQorWDMwMTM3NVktOTUwMEQwMSoNCitYMjk5ODc1WS01NzUwRDAyKlgzMDEzNzVEMDEqDQorWDMwMjg3NVktMzUwMEQwMipZLTk1MDBEMDEqDQorWS03MjUwRDAyKlgzMDM2MjVZLTY1MDBEMDEqDQorWDMwNTEyNUQwMSoNCitYMzA1ODc1WS03MjUwRDAxKg0KK1ktOTUwMEQwMSoNCitHNTREMzQ3KlgzMDc2NzVZLTUwMDBEMDIqWS01MTUwRDAxKg0KK0c1NEQzNDYqWS03MjUwRDAyKlktOTUwMEQwMSoNCitYMzA5OTI1RDAyKlgzMTIxNzVEMDEqDQorWDMxMjkyNVktODc1MEQwMSoNCitYMzEyMTc1WS04MDAwRDAyKlgzMTI5MjVZLTg3NTBEMDEqDQorWDMwOTkyNVktODAwMEQwMipYMzEyMTc1RDAxKg0KK1gzMDkxNzVZLTcyNTBEMDIqWDMwOTkyNVktODAwMEQwMSoNCitYMzA5MTc1WS03MjUwRDAyKlgzMDk5MjVZLTY1MDBEMDEqDQorWDMxMjE3NUQwMSoNCitYMzEyOTI1WS03MjUwRDAxKg0KK1gzMDkxNzVZLTg3NTBEMDIqWDMwOTkyNVktOTUwMEQwMSoNCitYMzE4MTc1WS03MjUwRDAyKlktMTE3NTBEMDEqDQorWDMxNzQyNVktNjUwMEQwMipYMzE4MTc1WS03MjUwRDAxKg0KK1gzMTg5MjVZLTY1MDBEMDEqDQorWDMyMDQyNUQwMSoNCitYMzIxMTc1WS03MjUwRDAxKg0KK1ktODc1MEQwMSoNCitYMzIwNDI1WS05NTAwRDAyKlgzMjExNzVZLTg3NTBEMDEqDQorWDMxODkyNVktOTUwMEQwMipYMzIwNDI1RDAxKg0KK1gzMTgxNzVZLTg3NTBEMDIqWDMxODkyNVktOTUwMEQwMSoNCitYMzI1MjI1WS02NTAwRDAyKlgzMjU5NzVZLTcyNTBEMDEqDQorWDMyMzcyNVktNjUwMEQwMipYMzI1MjI1RDAxKg0KK1gzMjI5NzVZLTcyNTBEMDIqWDMyMzcyNVktNjUwMEQwMSoNCitYMzIyOTc1WS03MjUwRDAyKlktODc1MEQwMSoNCitYMzIzNzI1WS05NTAwRDAxKg0KK1gzMjU5NzVZLTY1MDBEMDIqWS04NzUwRDAxKg0KK1gzMjY3MjVZLTk1MDBEMDEqDQorWDMyMzcyNUQwMipYMzI1MjI1RDAxKg0KK1gzMjU5NzVZLTg3NTBEMDEqDQorWDMyOTI3NVktMzUwMEQwMipZLTg3NTBEMDEqDQorWDMzMDAyNVktOTUwMEQwMSoNCitYMzI4NTI1WS01NzUwRDAyKlgzMzAwMjVEMDEqDQorWDMzMTUyNVktMzUwMEQwMipZLTk1MDBEMDEqDQorWS03MjUwRDAyKlgzMzIyNzVZLTY1MDBEMDEqDQorWDMzMzc3NUQwMSoNCitYMzM0NTI1WS03MjUwRDAxKg0KK1ktOTUwMEQwMSoNCitYMjAwNzUwWTQyODUwMEQwMipZNDIyNTAwRDAxKg0KK1gyMDI3MDBZNDI4NTAwRDAyKlgyMDM3NTBZNDI3NDUwRDAxKg0KK1k0MjM1NTBEMDEqDQorWDIwMjcwMFk0MjI1MDBEMDIqWDIwMzc1MFk0MjM1NTBEMDEqDQorWDIwMDAwMFk0MjI1MDBEMDIqWDIwMjcwMEQwMSoNCitYMjAwMDAwWTQyODUwMEQwMipYMjAyNzAwRDAxKg0KK1gyMDc4MDBZNDI1NTAwRDAyKlgyMDg1NTBZNDI0NzUwRDAxKg0KK1gyMDYzMDBZNDI1NTAwRDAyKlgyMDc4MDBEMDEqDQorWDIwNTU1MFk0MjQ3NTBEMDIqWDIwNjMwMFk0MjU1MDBEMDEqDQorWDIwNTU1MFk0MjQ3NTBEMDIqWTQyMzI1MEQwMSoNCitYMjA2MzAwWTQyMjUwMEQwMSoNCitYMjA4NTUwWTQyNTUwMEQwMipZNDIzMjUwRDAxKg0KK1gyMDkzMDBZNDIyNTAwRDAxKg0KK1gyMDYzMDBEMDIqWDIwNzgwMEQwMSoNCitYMjA4NTUwWTQyMzI1MEQwMSoNCitYMjExODUwWTQyODUwMEQwMipZNDIzMjUwRDAxKg0KK1gyMTI2MDBZNDIyNTAwRDAxKg0KK1gyMTExMDBZNDI2MjUwRDAyKlgyMTI2MDBEMDEqDQorWDIxNDg1MFk0MjI1MDBEMDIqWDIxNzEwMEQwMSoNCitYMjE0MTAwWTQyMzI1MEQwMipYMjE0ODUwWTQyMjUwMEQwMSoNCitYMjE0MTAwWTQyNDc1MEQwMipZNDIzMjUwRDAxKg0KK1k0MjQ3NTBEMDIqWDIxNDg1MFk0MjU1MDBEMDEqDQorWDIxNjM1MEQwMSoNCitYMjE3MTAwWTQyNDc1MEQwMSoNCitYMjE0MTAwWTQyNDAwMEQwMipYMjE3MTAwRDAxKg0KK1k0MjQ3NTBEMDIqWTQyNDAwMEQwMSoNCitYMjE4OTAwWTQyNjI1MEQwMipYMjE5NjUwRDAxKg0KK1gyMTg5MDBZNDI0NzUwRDAyKlgyMTk2NTBEMDEqDQorWDIyNDE1MFk0Mjg1MDBEMDIqWTQyMjUwMEQwMSoNCitZNDI4NTAwRDAyKlgyMjY0MDBZNDI1NTAwRDAxKg0KK1gyMjg2NTBZNDI4NTAwRDAxKg0KK1k0MjI1MDBEMDEqDQorWDIzMDQ1MFk0MjQ3NTBEMDIqWTQyMzI1MEQwMSoNCitZNDI0NzUwRDAyKlgyMzEyMDBZNDI1NTAwRDAxKg0KK1gyMzI3MDBEMDEqDQorWDIzMzQ1MFk0MjQ3NTBEMDEqDQorWTQyMzI1MEQwMSoNCitYMjMyNzAwWTQyMjUwMEQwMipYMjMzNDUwWTQyMzI1MEQwMSoNCitYMjMxMjAwWTQyMjUwMEQwMipYMjMyNzAwRDAxKg0KK1gyMzA0NTBZNDIzMjUwRDAyKlgyMzEyMDBZNDIyNTAwRDAxKg0KK1gyMzYwMDBZNDI0NzUwRDAyKlk0MjI1MDBEMDEqDQorWTQyNDc1MEQwMipYMjM2NzUwWTQyNTUwMEQwMSoNCitYMjM3NTAwRDAxKg0KK1gyMzgyNTBZNDI0NzUwRDAxKg0KK1k0MjI1MDBEMDEqDQorWDIzNTI1MFk0MjU1MDBEMDIqWDIzNjAwMFk0MjQ3NTBEMDEqDQorWDI0MzgwMFk0Mjg1MDBEMDIqWDI0NTAwMEQwMSoNCitZNDIzMjUwRDAxKg0KK1gyNDQyNTBZNDIyNTAwRDAyKlgyNDUwMDBZNDIzMjUwRDAxKg0KK1gyNDM1MDBZNDIyNTAwRDAyKlgyNDQyNTBEMDEqDQorWDI0Mjc1MFk0MjMyNTBEMDIqWDI0MzUwMFk0MjI1MDBEMDEqDQorWDI0Mjc1MFk0MjQwMDBEMDIqWTQyMzI1MEQwMSoNCitYMjQ5MDUwWTQyNTUwMEQwMipYMjQ5ODAwWTQyNDc1MEQwMSoNCitYMjQ3NTUwWTQyNTUwMEQwMipYMjQ5MDUwRDAxKg0KK1gyNDY4MDBZNDI0NzUwRDAyKlgyNDc1NTBZNDI1NTAwRDAxKg0KK1gyNDY4MDBZNDI0NzUwRDAyKlk0MjMyNTBEMDEqDQorWDI0NzU1MFk0MjI1MDBEMDEqDQorWDI0OTgwMFk0MjU1MDBEMDIqWTQyMzI1MEQwMSoNCitYMjUwNTUwWTQyMjUwMEQwMSoNCitYMjQ3NTUwRDAyKlgyNDkwNTBEMDEqDQorWDI0OTgwMFk0MjMyNTBEMDEqDQorWDI1MzEwMFk0MjQ3NTBEMDIqWTQyMjUwMEQwMSoNCitZNDI0NzUwRDAyKlgyNTM4NTBZNDI1NTAwRDAxKg0KK1gyNTQ2MDBEMDEqDQorWDI1NTM1MFk0MjQ3NTBEMDEqDQorWTQyMjUwMEQwMSoNCitYMjUyMzUwWTQyNTUwMEQwMipYMjUzMTAwWTQyNDc1MEQwMSoNCitYMjU5ODUwWTQyNzc1MEQwMipYMjYwNjAwWTQyODUwMEQwMSoNCitYMjYyODUwRDAxKg0KK1gyNjM2MDBZNDI3NzUwRDAxKg0KK1k0MjYyNTBEMDEqDQorWDI1OTg1MFk0MjI1MDBEMDIqWDI2MzYwMFk0MjYyNTBEMDEqDQorWDI1OTg1MFk0MjI1MDBEMDIqWDI2MzYwMEQwMSoNCitYMjY1NDAwWTQyMzI1MEQwMipYMjY2MTUwWTQyMjUwMEQwMSoNCitYMjY1NDAwWTQyNzc1MEQwMipZNDIzMjUwRDAxKg0KK1k0Mjc3NTBEMDIqWDI2NjE1MFk0Mjg1MDBEMDEqDQorWDI2NzY1MEQwMSoNCitYMjY4NDAwWTQyNzc1MEQwMSoNCitZNDIzMjUwRDAxKg0KK1gyNjc2NTBZNDIyNTAwRDAyKlgyNjg0MDBZNDIzMjUwRDAxKg0KK1gyNjYxNTBZNDIyNTAwRDAyKlgyNjc2NTBEMDEqDQorWDI2NTQwMFk0MjQwMDBEMDIqWDI2ODQwMFk0MjcwMDBEMDEqDQorWDI3MjkwMFk0Mjc3NTBEMDIqWDI3MzY1MFk0Mjg1MDBEMDEqDQorWDI3NTkwMEQwMSoNCitYMjc2NjUwWTQyNzc1MEQwMSoNCitZNDI2MjUwRDAxKg0KK1gyNzI5MDBZNDIyNTAwRDAyKlgyNzY2NTBZNDI2MjUwRDAxKg0KK1gyNzI5MDBZNDIyNTAwRDAyKlgyNzY2NTBEMDEqDQorWDI3ODQ1MFk0MjczMDBEMDIqWDI3OTY1MFk0Mjg1MDBEMDEqDQorWTQyMjUwMEQwMSoNCitYMjc4NDUwRDAyKlgyODA3MDBEMDEqDQorWDI4MjUwMFk0MjYyNTBEMDIqWDI4MzI1MEQwMSoNCitYMjgyNTAwWTQyNDc1MEQwMipYMjgzMjUwRDAxKg0KK1gyODUwNTBZNDIzMjUwRDAyKlgyODU4MDBZNDIyNTAwRDAxKg0KK1gyODUwNTBZNDI3NzUwRDAyKlk0MjMyNTBEMDEqDQorWTQyNzc1MEQwMipYMjg1ODAwWTQyODUwMEQwMSoNCitYMjg3MzAwRDAxKg0KK1gyODgwNTBZNDI3NzUwRDAxKg0KK1k0MjMyNTBEMDEqDQorWDI4NzMwMFk0MjI1MDBEMDIqWDI4ODA1MFk0MjMyNTBEMDEqDQorWDI4NTgwMFk0MjI1MDBEMDIqWDI4NzMwMEQwMSoNCitYMjg1MDUwWTQyNDAwMEQwMipYMjg4MDUwWTQyNzAwMEQwMSoNCitYMjg5ODUwWTQyNDc1MEQwMipYMjkyODUwWTQyODUwMEQwMSoNCitYMjg5ODUwWTQyNDc1MEQwMipYMjkzNjAwRDAxKg0KK1gyOTI4NTBZNDI4NTAwRDAyKlk0MjI1MDBEMDEqDQorWDI5NTQwMFk0MjYyNTBEMDIqWDI5NjE1MEQwMSoNCitYMjk1NDAwWTQyNDc1MEQwMipYMjk2MTUwRDAxKg0KK1gyOTc5NTBEMDIqWDMwMDk1MFk0Mjg1MDBEMDEqDQorWDI5Nzk1MFk0MjQ3NTBEMDIqWDMwMTcwMEQwMSoNCitYMzAwOTUwWTQyODUwMEQwMipZNDIyNTAwRDAxKg0KK1gzMDM1MDBZNDI3NzUwRDAyKlgzMDQyNTBZNDI4NTAwRDAxKg0KK1gzMDY1MDBEMDEqDQorWDMwNzI1MFk0Mjc3NTBEMDEqDQorWTQyNjI1MEQwMSoNCitYMzAzNTAwWTQyMjUwMEQwMipYMzA3MjUwWTQyNjI1MEQwMSoNCitYMzAzNTAwWTQyMjUwMEQwMipYMzA3MjUwRDAxKg0KK1gzMTE3NTBZNDI3NzUwRDAyKlgzMTI1MDBZNDI4NTAwRDAxKg0KK1gzMTQ3NTBEMDEqDQorWDMxNTUwMFk0Mjc3NTBEMDEqDQorWTQyNjI1MEQwMSoNCitYMzExNzUwWTQyMjUwMEQwMipYMzE1NTAwWTQyNjI1MEQwMSoNCitYMzExNzUwWTQyMjUwMEQwMipYMzE1NTAwRDAxKg0KK1gzMTczMDBZNDIzMjUwRDAyKlgzMTgwNTBZNDIyNTAwRDAxKg0KK1gzMTczMDBZNDI3NzUwRDAyKlk0MjMyNTBEMDEqDQorWTQyNzc1MEQwMipYMzE4MDUwWTQyODUwMEQwMSoNCitYMzE5NTUwRDAxKg0KK1gzMjAzMDBZNDI3NzUwRDAxKg0KK1k0MjMyNTBEMDEqDQorWDMxOTU1MFk0MjI1MDBEMDIqWDMyMDMwMFk0MjMyNTBEMDEqDQorWDMxODA1MFk0MjI1MDBEMDIqWDMxOTU1MEQwMSoNCitYMzE3MzAwWTQyNDAwMEQwMipYMzIwMzAwWTQyNzAwMEQwMSoNCitYMzIyMTAwWTQyNzMwMEQwMipYMzIzMzAwWTQyODUwMEQwMSoNCitZNDIyNTAwRDAxKg0KK1gzMjIxMDBEMDIqWDMyNDM1MEQwMSoNCitYMzI2MTUwWTQyNDc1MEQwMipYMzI5MTUwWTQyODUwMEQwMSoNCitYMzI2MTUwWTQyNDc1MEQwMipYMzI5OTAwRDAxKg0KK1gzMjkxNTBZNDI4NTAwRDAyKlk0MjI1MDBEMDEqDQorWDMzNDQwMFk0Mjg1MDBEMDIqWTQyMzI1MEQwMSoNCitYMzM1MTUwWTQyMjUwMEQwMSoNCitYMzM2NjUwRDAxKg0KK1gzMzc0MDBZNDIzMjUwRDAxKg0KK1k0Mjg1MDBEMDIqWTQyMzI1MEQwMSoNCitYMzM5MjAwWTQyODUwMEQwMipYMzQyMjAwRDAxKg0KK1gzNDA3MDBEMDIqWTQyMjUwMEQwMSoNCitYMzQ1MDUwRDAyKlgzNDcwMDBEMDEqDQorWDM0NDAwMFk0MjM1NTBEMDIqWDM0NTA1MFk0MjI1MDBEMDEqDQorWDM0NDAwMFk0Mjc0NTBEMDIqWTQyMzU1MEQwMSoNCitZNDI3NDUwRDAyKlgzNDUwNTBZNDI4NTAwRDAxKg0KK1gzNDcwMDBEMDEqDQorWDIwMDAwMFk0NDIwMDBEMDIqWTQzNzUwMEQwMSoNCitZNDQyMDAwRDAyKlgyMDEwNTBZNDQzNTAwRDAxKg0KK1gyMDI3MDBEMDEqDQorWDIwMzc1MFk0NDIwMDBEMDEqDQorWTQzNzUwMEQwMSoNCitYMjAwMDAwWTQ0MDUwMEQwMipYMjAzNzUwRDAxKg0KK1gyMDU1NTBEMDIqWTQzODI1MEQwMSoNCitYMjA2MzAwWTQzNzUwMEQwMSoNCitYMjA3ODAwRDAxKg0KK1gyMDg1NTBZNDM4MjUwRDAxKg0KK1k0NDA1MDBEMDIqWTQzODI1MEQwMSoNCitYMjExMTAwWTQ0MzUwMEQwMipZNDM4MjUwRDAxKg0KK1gyMTE4NTBZNDM3NTAwRDAxKg0KK1gyMTAzNTBZNDQxMjUwRDAyKlgyMTE4NTBEMDEqDQorWDIxMzM1MFk0NDM1MDBEMDIqWTQzNzUwMEQwMSoNCitZNDM5NzUwRDAyKlgyMTQxMDBZNDQwNTAwRDAxKg0KK1gyMTU2MDBEMDEqDQorWDIxNjM1MFk0Mzk3NTBEMDEqDQorWTQzNzUwMEQwMSoNCitYMjE4MTUwWTQzOTc1MEQwMipZNDM4MjUwRDAxKg0KK1k0Mzk3NTBEMDIqWDIxODkwMFk0NDA1MDBEMDEqDQorWDIyMDQwMEQwMSoNCitYMjIxMTUwWTQzOTc1MEQwMSoNCitZNDM4MjUwRDAxKg0KK1gyMjA0MDBZNDM3NTAwRDAyKlgyMjExNTBZNDM4MjUwRDAxKg0KK1gyMTg5MDBZNDM3NTAwRDAyKlgyMjA0MDBEMDEqDQorWDIxODE1MFk0MzgyNTBEMDIqWDIxODkwMFk0Mzc1MDBEMDEqDQorWDIyMzcwMFk0Mzk3NTBEMDIqWTQzNzUwMEQwMSoNCitZNDM5NzUwRDAyKlgyMjQ0NTBZNDQwNTAwRDAxKg0KK1gyMjU5NTBEMDEqDQorWDIyMjk1MEQwMipYMjIzNzAwWTQzOTc1MEQwMSoNCitYMjI3NzUwWTQ0MTI1MEQwMipYMjI4NTAwRDAxKg0KK1gyMjc3NTBZNDM5NzUwRDAyKlgyMjg1MDBEMDEqDQorWDIzMzAwMFk0Mzc1MDBEMDIqWDIzNjAwMEQwMSoNCitYMjM2NzUwWTQzODI1MEQwMSoNCitZNDQwMDUwRDAyKlk0MzgyNTBEMDEqDQorWDIzNjAwMFk0NDA4MDBEMDIqWDIzNjc1MFk0NDAwNTBEMDEqDQorWDIzMzc1MFk0NDA4MDBEMDIqWDIzNjAwMEQwMSoNCitYMjMzNzUwWTQ0MzUwMEQwMipZNDM3NTAwRDAxKg0KK1gyMzMwMDBZNDQzNTAwRDAyKlgyMzYwMDBEMDEqDQorWDIzNjc1MFk0NDI3NTBEMDEqDQorWTQ0MTU1MEQwMSoNCitYMjM2MDAwWTQ0MDgwMEQwMipYMjM2NzUwWTQ0MTU1MEQwMSoNCitYMjM5MzAwWTQzOTc1MEQwMipZNDM3NTAwRDAxKg0KK1k0Mzk3NTBEMDIqWDI0MDA1MFk0NDA1MDBEMDEqDQorWDI0MTU1MEQwMSoNCitYMjM4NTUwRDAyKlgyMzkzMDBZNDM5NzUwRDAxKg0KK0c1NEQzNDcqWDI0MzM1MFk0NDIwMDBEMDIqWTQ0MTg1MEQwMSoNCitHNTREMzQ2Klk0Mzk3NTBEMDIqWTQzNzUwMEQwMSoNCitYMjQ3MTAwWTQ0MDUwMEQwMipYMjQ3ODUwWTQzOTc1MEQwMSoNCitYMjQ1NjAwWTQ0MDUwMEQwMipYMjQ3MTAwRDAxKg0KK1gyNDQ4NTBZNDM5NzUwRDAyKlgyNDU2MDBZNDQwNTAwRDAxKg0KK1gyNDQ4NTBZNDM5NzUwRDAyKlk0MzgyNTBEMDEqDQorWDI0NTYwMFk0Mzc1MDBEMDEqDQorWDI0Nzg1MFk0NDA1MDBEMDIqWTQzODI1MEQwMSoNCitYMjQ4NjAwWTQzNzUwMEQwMSoNCitYMjQ1NjAwRDAyKlgyNDcxMDBEMDEqDQorWDI0Nzg1MFk0MzgyNTBEMDEqDQorWDI1MTE1MFk0Mzk3NTBEMDIqWTQzNzUwMEQwMSoNCitZNDM5NzUwRDAyKlgyNTE5MDBZNDQwNTAwRDAxKg0KK1gyNTI2NTBEMDEqDQorWDI1MzQwMFk0Mzk3NTBEMDEqDQorWTQzNzUwMEQwMSoNCitYMjUwNDAwWTQ0MDUwMEQwMipYMjUxMTUwWTQzOTc1MEQwMSoNCitYMjYwOTAwWTQ0MzUwMEQwMipYMjYxNjUwWTQ0Mjc1MEQwMSoNCitYMjU4NjUwWTQ0MzUwMEQwMipYMjYwOTAwRDAxKg0KK1gyNTc5MDBZNDQyNzUwRDAyKlgyNTg2NTBZNDQzNTAwRDAxKg0KK1gyNTc5MDBZNDQyNzUwRDAyKlk0NDEyNTBEMDEqDQorWDI1ODY1MFk0NDA1MDBEMDEqDQorWDI2MDkwMEQwMSoNCitYMjYxNjUwWTQzOTc1MEQwMSoNCitZNDM4MjUwRDAxKg0KK1gyNjA5MDBZNDM3NTAwRDAyKlgyNjE2NTBZNDM4MjUwRDAxKg0KK1gyNTg2NTBZNDM3NTAwRDAyKlgyNjA5MDBEMDEqDQorWDI1NzkwMFk0MzgyNTBEMDIqWDI1ODY1MFk0Mzc1MDBEMDEqDQorRzU0RDM0NypYMjYzNDUwWTQ0MjAwMEQwMipZNDQxODUwRDAxKg0KK0c1NEQzNDYqWTQzOTc1MEQwMipZNDM3NTAwRDAxKg0KK1gyNjQ5NTBZNDQzNTAwRDAyKlk0MzgyNTBEMDEqDQorWDI2NTcwMFk0Mzc1MDBEMDEqDQorWDI2NzIwMFk0NDA1MDBEMDIqWDI2ODcwMFk0Mzc1MDBEMDEqDQorWDI3MDIwMFk0NDA1MDBEMDIqWDI2ODcwMFk0Mzc1MDBEMDEqDQorWDI3Mjc1MEQwMipYMjc1MDAwRDAxKg0KK1gyNzIwMDBZNDM4MjUwRDAyKlgyNzI3NTBZNDM3NTAwRDAxKg0KK1gyNzIwMDBZNDM5NzUwRDAyKlk0MzgyNTBEMDEqDQorWTQzOTc1MEQwMipYMjcyNzUwWTQ0MDUwMEQwMSoNCitYMjc0MjUwRDAxKg0KK1gyNzUwMDBZNDM5NzUwRDAxKg0KK1gyNzIwMDBZNDM5MDAwRDAyKlgyNzUwMDBEMDEqDQorWTQzOTc1MEQwMipZNDM5MDAwRDAxKg0KK1gyNzc1NTBZNDM5NzUwRDAyKlk0Mzc1MDBEMDEqDQorWTQzOTc1MEQwMipYMjc4MzAwWTQ0MDUwMEQwMSoNCitYMjc5ODAwRDAxKg0KK1gyNzY4MDBEMDIqWDI3NzU1MFk0Mzk3NTBEMDEqDQorWDI4MjM1MEQwMipZNDM3NTAwRDAxKg0KK1k0Mzk3NTBEMDIqWDI4MzEwMFk0NDA1MDBEMDEqDQorWDI4Mzg1MEQwMSoNCitYMjg0NjAwWTQzOTc1MEQwMSoNCitZNDM3NTAwRDAxKg0KK1k0Mzk3NTBEMDIqWDI4NTM1MFk0NDA1MDBEMDEqDQorWDI4NjEwMEQwMSoNCitYMjg2ODUwWTQzOTc1MEQwMSoNCitZNDM3NTAwRDAxKg0KK1gyODE2MDBZNDQwNTAwRDAyKlgyODIzNTBZNDM5NzUwRDAxKg0KK1gyOTA5MDBZNDQwNTAwRDAyKlgyOTE2NTBZNDM5NzUwRDAxKg0KK1gyODk0MDBZNDQwNTAwRDAyKlgyOTA5MDBEMDEqDQorWDI4ODY1MFk0Mzk3NTBEMDIqWDI4OTQwMFk0NDA1MDBEMDEqDQorWDI4ODY1MFk0Mzk3NTBEMDIqWTQzODI1MEQwMSoNCitYMjg5NDAwWTQzNzUwMEQwMSoNCitYMjkxNjUwWTQ0MDUwMEQwMipZNDM4MjUwRDAxKg0KK1gyOTI0MDBZNDM3NTAwRDAxKg0KK1gyODk0MDBEMDIqWDI5MDkwMEQwMSoNCitYMjkxNjUwWTQzODI1MEQwMSoNCitYMjk0OTUwWTQzOTc1MEQwMipZNDM3NTAwRDAxKg0KK1k0Mzk3NTBEMDIqWDI5NTcwMFk0NDA1MDBEMDEqDQorWDI5NjQ1MEQwMSoNCitYMjk3MjAwWTQzOTc1MEQwMSoNCitZNDM3NTAwRDAxKg0KK1gyOTQyMDBZNDQwNTAwRDAyKlgyOTQ5NTBZNDM5NzUwRDAxKg0KK1gyMDAwMDBZNDU4NTAwRDAyKlgyMDMwMDBEMDEqDQorWDIwMTUwMEQwMipZNDUyNTAwRDAxKg0KK0c1NEQzNDcqWDIwNDgwMFk0NTcwMDBEMDIqWTQ1Njg1MEQwMSoNCitHNTREMzQ2Klk0NTQ3NTBEMDIqWTQ1MjUwMEQwMSoNCitYMjA3MDUwWTQ1ODUwMEQwMipZNDUzMjUwRDAxKg0KK1gyMDc4MDBZNDUyNTAwRDAxKg0KK1gyMDYzMDBZNDU2MjUwRDAyKlgyMDc4MDBEMDEqDQorWDIwOTMwMFk0NTg1MDBEMDIqWTQ1MzI1MEQwMSoNCitYMjEwMDUwWTQ1MjUwMEQwMSoNCitYMjEyMzAwRDAyKlgyMTQ1NTBEMDEqDQorWDIxMTU1MFk0NTMyNTBEMDIqWDIxMjMwMFk0NTI1MDBEMDEqDQorWDIxMTU1MFk0NTQ3NTBEMDIqWTQ1MzI1MEQwMSoNCitZNDU0NzUwRDAyKlgyMTIzMDBZNDU1NTAwRDAxKg0KK1gyMTM4MDBEMDEqDQorWDIxNDU1MFk0NTQ3NTBEMDEqDQorWDIxMTU1MFk0NTQwMDBEMDIqWDIxNDU1MEQwMSoNCitZNDU0NzUwRDAyKlk0NTQwMDBEMDEqDQorWDIxNjM1MFk0NTYyNTBEMDIqWDIxNzEwMEQwMSoNCitYMjE2MzUwWTQ1NDc1MEQwMipYMjE3MTAwRDAxKg0KK1gyMjIzNTBZNDUyNTAwRDAyKlgyMjQ2MDBZNDU1NTAwRDAxKg0KK1k0NTc3NTBEMDIqWTQ1NTUwMEQwMSoNCitYMjIzODUwWTQ1ODUwMEQwMipYMjI0NjAwWTQ1Nzc1MEQwMSoNCitYMjIyMzUwWTQ1ODUwMEQwMipYMjIzODUwRDAxKg0KK1gyMjE2MDBZNDU3NzUwRDAyKlgyMjIzNTBZNDU4NTAwRDAxKg0KK1gyMjE2MDBZNDU3NzUwRDAyKlk0NTYyNTBEMDEqDQorWDIyMjM1MFk0NTU1MDBEMDEqDQorWDIyNDYwMEQwMSoNCitYMjI3MTUwWTQ1MjUwMEQwMipYMjMwMTUwWTQ1ODUwMEQwMSoNCitYMjI2NDAwRDAyKlgyMzAxNTBEMDEqDQorWDIzMTk1MFk0NTczMDBEMDIqWDIzMzE1MFk0NTg1MDBEMDEqDQorWTQ1MjUwMEQwMSoNCitYMjMxOTUwRDAyKlgyMzQyMDBEMDEqDQorWDIzODcwMEQwMipYMjQxNzAwRDAxKg0KK1gyNDI0NTBZNDUzMjUwRDAxKg0KK1k0NTUwNTBEMDIqWTQ1MzI1MEQwMSoNCitYMjQxNzAwWTQ1NTgwMEQwMipYMjQyNDUwWTQ1NTA1MEQwMSoNCitYMjM5NDUwWTQ1NTgwMEQwMipYMjQxNzAwRDAxKg0KK1gyMzk0NTBZNDU4NTAwRDAyKlk0NTI1MDBEMDEqDQorWDIzODcwMFk0NTg1MDBEMDIqWDI0MTcwMEQwMSoNCitYMjQyNDUwWTQ1Nzc1MEQwMSoNCitZNDU2NTUwRDAxKg0KK1gyNDE3MDBZNDU1ODAwRDAyKlgyNDI0NTBZNDU2NTUwRDAxKg0KK1gyNDQyNTBZNDUyNTAwRDAyKlgyNDcyNTBEMDEqDQorWDI0ODAwMFk0NTMyNTBEMDEqDQorWTQ1NTA1MEQwMipZNDUzMjUwRDAxKg0KK1gyNDcyNTBZNDU1ODAwRDAyKlgyNDgwMDBZNDU1MDUwRDAxKg0KK1gyNDUwMDBZNDU1ODAwRDAyKlgyNDcyNTBEMDEqDQorWDI0NTAwMFk0NTg1MDBEMDIqWTQ1MjUwMEQwMSoNCitYMjQ0MjUwWTQ1ODUwMEQwMipYMjQ3MjUwRDAxKg0KK1gyNDgwMDBZNDU3NzUwRDAxKg0KK1k0NTY1NTBEMDEqDQorWDI0NzI1MFk0NTU4MDBEMDIqWDI0ODAwMFk0NTY1NTBEMDEqDQorWDI0OTgwMFk0NTI1MDBEMDIqWDI1MjgwMEQwMSoNCitYMjUzNTUwWTQ1MzI1MEQwMSoNCitZNDU1MDUwRDAyKlk0NTMyNTBEMDEqDQorWDI1MjgwMFk0NTU4MDBEMDIqWDI1MzU1MFk0NTUwNTBEMDEqDQorWDI1MDU1MFk0NTU4MDBEMDIqWDI1MjgwMEQwMSoNCitYMjUwNTUwWTQ1ODUwMEQwMipZNDUyNTAwRDAxKg0KK1gyNDk4MDBZNDU4NTAwRDAyKlgyNTI4MDBEMDEqDQorWDI1MzU1MFk0NTc3NTBEMDEqDQorWTQ1NjU1MEQwMSoNCitYMjUyODAwWTQ1NTgwMEQwMipYMjUzNTUwWTQ1NjU1MEQwMSoNCitYMjU5MTAwWTQ1MjUwMEQwMipYMjYxMDUwRDAxKg0KK1gyNTgwNTBZNDUzNTUwRDAyKlgyNTkxMDBZNDUyNTAwRDAxKg0KK1gyNTgwNTBZNDU3NDUwRDAyKlk0NTM1NTBEMDEqDQorWTQ1NzQ1MEQwMipYMjU5MTAwWTQ1ODUwMEQwMSoNCitYMjYxMDUwRDAxKg0KK1gyNjUxMDBZNDU1NTAwRDAyKlgyNjU4NTBZNDU0NzUwRDAxKg0KK1gyNjM2MDBZNDU1NTAwRDAyKlgyNjUxMDBEMDEqDQorWDI2Mjg1MFk0NTQ3NTBEMDIqWDI2MzYwMFk0NTU1MDBEMDEqDQorWDI2Mjg1MFk0NTQ3NTBEMDIqWTQ1MzI1MEQwMSoNCitYMjYzNjAwWTQ1MjUwMEQwMSoNCitYMjY1ODUwWTQ1NTUwMEQwMipZNDUzMjUwRDAxKg0KK1gyNjY2MDBZNDUyNTAwRDAxKg0KK1gyNjM2MDBEMDIqWDI2NTEwMEQwMSoNCitYMjY1ODUwWTQ1MzI1MEQwMSoNCitYMjY5MTUwWTQ1NDc1MEQwMipZNDUwMjUwRDAxKg0KK1gyNjg0MDBZNDU1NTAwRDAyKlgyNjkxNTBZNDU0NzUwRDAxKg0KK1gyNjk5MDBZNDU1NTAwRDAxKg0KK1gyNzE0MDBEMDEqDQorWDI3MjE1MFk0NTQ3NTBEMDEqDQorWTQ1MzI1MEQwMSoNCitYMjcxNDAwWTQ1MjUwMEQwMipYMjcyMTUwWTQ1MzI1MEQwMSoNCitYMjY5OTAwWTQ1MjUwMEQwMipYMjcxNDAwRDAxKg0KK1gyNjkxNTBZNDUzMjUwRDAyKlgyNjk5MDBZNDUyNTAwRDAxKg0KK1gyNzQ3MDBEMDIqWDI3Njk1MEQwMSoNCitYMjczOTUwWTQ1MzI1MEQwMipYMjc0NzAwWTQ1MjUwMEQwMSoNCitYMjczOTUwWTQ1NDc1MEQwMipZNDUzMjUwRDAxKg0KK1k0NTQ3NTBEMDIqWDI3NDcwMFk0NTU1MDBEMDEqDQorWDI3NjIwMEQwMSoNCitYMjc2OTUwWTQ1NDc1MEQwMSoNCitYMjczOTUwWTQ1NDAwMEQwMipYMjc2OTUwRDAxKg0KK1k0NTQ3NTBEMDIqWTQ1NDAwMEQwMSoNCitYMjgxNDUwWTQ1NTUwMEQwMipYMjg0NDUwRDAxKg0KK1gyODg5NTBZNDU4NTAwRDAyKlk0NTI1MDBEMDEqDQorWTQ1ODUwMEQwMipYMjkxOTUwRDAxKg0KK1gyODg5NTBZNDU1ODAwRDAyKlgyOTEyMDBEMDEqDQorWDI5NjAwMFk0NTU1MDBEMDIqWDI5Njc1MFk0NTQ3NTBEMDEqDQorWDI5NDUwMFk0NTU1MDBEMDIqWDI5NjAwMEQwMSoNCitYMjkzNzUwWTQ1NDc1MEQwMipYMjk0NTAwWTQ1NTUwMEQwMSoNCitYMjkzNzUwWTQ1NDc1MEQwMipZNDUzMjUwRDAxKg0KK1gyOTQ1MDBZNDUyNTAwRDAxKg0KK1gyOTY3NTBZNDU1NTAwRDAyKlk0NTMyNTBEMDEqDQorWDI5NzUwMFk0NTI1MDBEMDEqDQorWDI5NDUwMEQwMipYMjk2MDAwRDAxKg0KK1gyOTY3NTBZNDUzMjUwRDAxKg0KK1gyOTkzMDBZNDU4NTAwRDAyKlk0NTI1MDBEMDEqDQorWTQ1MzI1MEQwMipYMzAwMDUwWTQ1MjUwMEQwMSoNCitYMzAxNTUwRDAxKg0KK1gzMDIzMDBZNDUzMjUwRDAxKg0KK1k0NTQ3NTBEMDIqWTQ1MzI1MEQwMSoNCitYMzAxNTUwWTQ1NTUwMEQwMipYMzAyMzAwWTQ1NDc1MEQwMSoNCitYMzAwMDUwWTQ1NTUwMEQwMipYMzAxNTUwRDAxKg0KK1gyOTkzMDBZNDU0NzUwRDAyKlgzMDAwNTBZNDU1NTAwRDAxKg0KK1gzMDQ4NTBZNDU0NzUwRDAyKlk0NTI1MDBEMDEqDQorWTQ1NDc1MEQwMipYMzA1NjAwWTQ1NTUwMEQwMSoNCitYMzA3MTAwRDAxKg0KK1gzMDQxMDBEMDIqWDMwNDg1MFk0NTQ3NTBEMDEqDQorRzU0RDM0NypYMzA4OTAwWTQ1NzAwMEQwMipZNDU2ODUwRDAxKg0KK0c1NEQzNDYqWTQ1NDc1MEQwMipZNDUyNTAwRDAxKg0KK1gzMTExNTBZNDU1NTAwRDAyKlgzMTM0MDBEMDEqDQorWDMxMDQwMFk0NTQ3NTBEMDIqWDMxMTE1MFk0NTU1MDBEMDEqDQorWDMxMDQwMFk0NTQ3NTBEMDIqWTQ1MzI1MEQwMSoNCitYMzExMTUwWTQ1MjUwMEQwMSoNCitYMzEzNDAwRDAxKg0KK1gzMTc0NTBZNDU1NTAwRDAyKlgzMTgyMDBZNDU0NzUwRDAxKg0KK1gzMTU5NTBZNDU1NTAwRDAyKlgzMTc0NTBEMDEqDQorWDMxNTIwMFk0NTQ3NTBEMDIqWDMxNTk1MFk0NTU1MDBEMDEqDQorWDMxNTIwMFk0NTQ3NTBEMDIqWTQ1MzI1MEQwMSoNCitYMzE1OTUwWTQ1MjUwMEQwMSoNCitYMzE4MjAwWTQ1NTUwMEQwMipZNDUzMjUwRDAxKg0KK1gzMTg5NTBZNDUyNTAwRDAxKg0KK1gzMTU5NTBEMDIqWDMxNzQ1MEQwMSoNCitYMzE4MjAwWTQ1MzI1MEQwMSoNCitYMzIxNTAwWTQ1ODUwMEQwMipZNDUzMjUwRDAxKg0KK1gzMjIyNTBZNDUyNTAwRDAxKg0KK1gzMjA3NTBZNDU2MjUwRDAyKlgzMjIyNTBEMDEqDQorRzU0RDM0NypYMzIzNzUwWTQ1NzAwMEQwMipZNDU2ODUwRDAxKg0KK0c1NEQzNDYqWTQ1NDc1MEQwMipZNDUyNTAwRDAxKg0KK1gzMjUyNTBZNDU0NzUwRDAyKlk0NTMyNTBEMDEqDQorWTQ1NDc1MEQwMipYMzI2MDAwWTQ1NTUwMEQwMSoNCitYMzI3NTAwRDAxKg0KK1gzMjgyNTBZNDU0NzUwRDAxKg0KK1k0NTMyNTBEMDEqDQorWDMyNzUwMFk0NTI1MDBEMDIqWDMyODI1MFk0NTMyNTBEMDEqDQorWDMyNjAwMFk0NTI1MDBEMDIqWDMyNzUwMEQwMSoNCitYMzI1MjUwWTQ1MzI1MEQwMipYMzI2MDAwWTQ1MjUwMEQwMSoNCitYMzMwODAwWTQ1NDc1MEQwMipZNDUyNTAwRDAxKg0KK1k0NTQ3NTBEMDIqWDMzMTU1MFk0NTU1MDBEMDEqDQorWDMzMjMwMEQwMSoNCitYMzMzMDUwWTQ1NDc1MEQwMSoNCitZNDUyNTAwRDAxKg0KK1gzMzAwNTBZNDU1NTAwRDAyKlgzMzA4MDBZNDU0NzUwRDAxKg0KK1gzMzgzMDBZNDU4NTAwRDAyKlk0NTI1MDBEMDEqDQorWDM0MDI1MFk0NTg1MDBEMDIqWDM0MTMwMFk0NTc0NTBEMDEqDQorWTQ1MzU1MEQwMSoNCitYMzQwMjUwWTQ1MjUwMEQwMipYMzQxMzAwWTQ1MzU1MEQwMSoNCitYMzM3NTUwWTQ1MjUwMEQwMipYMzQwMjUwRDAxKg0KK1gzMzc1NTBZNDU4NTAwRDAyKlgzNDAyNTBEMDEqDQorWDM0Mzg1MFk0NTQ3NTBEMDIqWTQ1MjUwMEQwMSoNCitZNDU0NzUwRDAyKlgzNDQ2MDBZNDU1NTAwRDAxKg0KK1gzNDYxMDBEMDEqDQorWDM0MzEwMEQwMipYMzQzODUwWTQ1NDc1MEQwMSoNCitYMzUwMTUwWTQ1NTUwMEQwMipYMzUwOTAwWTQ1NDc1MEQwMSoNCitYMzQ4NjUwWTQ1NTUwMEQwMipYMzUwMTUwRDAxKg0KK1gzNDc5MDBZNDU0NzUwRDAyKlgzNDg2NTBZNDU1NTAwRDAxKg0KK1gzNDc5MDBZNDU0NzUwRDAyKlk0NTMyNTBEMDEqDQorWDM0ODY1MFk0NTI1MDBEMDEqDQorWDM1MDkwMFk0NTU1MDBEMDIqWTQ1MzI1MEQwMSoNCitYMzUxNjUwWTQ1MjUwMEQwMSoNCitYMzQ4NjUwRDAyKlgzNTAxNTBEMDEqDQorWDM1MDkwMFk0NTMyNTBEMDEqDQorWDM1MzQ1MFk0NTU1MDBEMDIqWTQ1MzI1MEQwMSoNCitYMzU0MjAwWTQ1MjUwMEQwMSoNCitYMzU0OTUwRDAxKg0KK1gzNTU3MDBZNDUzMjUwRDAxKg0KK1k0NTU1MDBEMDIqWTQ1MzI1MEQwMSoNCitYMzU2NDUwWTQ1MjUwMEQwMSoNCitYMzU3MjAwRDAxKg0KK1gzNTc5NTBZNDUzMjUwRDAxKg0KK1k0NTU1MDBEMDIqWTQ1MzI1MEQwMSoNCitHNTREMzQ3KlgzNTk3NTBZNDU3MDAwRDAyKlk0NTY4NTBEMDEqDQorRzU0RDM0NipZNDU0NzUwRDAyKlk0NTI1MDBEMDEqDQorWDM2MjAwMFk0NTQ3NTBEMDIqWTQ1MjUwMEQwMSoNCitZNDU0NzUwRDAyKlgzNjI3NTBZNDU1NTAwRDAxKg0KK1gzNjM1MDBEMDEqDQorWDM2NDI1MFk0NTQ3NTBEMDEqDQorWTQ1MjUwMEQwMSoNCitYMzYxMjUwWTQ1NTUwMEQwMipYMzYyMDAwWTQ1NDc1MEQwMSoNCitYMzY4MzAwWTQ1NTUwMEQwMipYMzY5MDUwWTQ1NDc1MEQwMSoNCitYMzY2ODAwWTQ1NTUwMEQwMipYMzY4MzAwRDAxKg0KK1gzNjYwNTBZNDU0NzUwRDAyKlgzNjY4MDBZNDU1NTAwRDAxKg0KK1gzNjYwNTBZNDU0NzUwRDAyKlk0NTMyNTBEMDEqDQorWDM2NjgwMFk0NTI1MDBEMDEqDQorWDM2ODMwMEQwMSoNCitYMzY5MDUwWTQ1MzI1MEQwMSoNCitYMzY2MDUwWTQ1MTAwMEQwMipYMzY2ODAwWTQ1MDI1MEQwMSoNCitYMzY4MzAwRDAxKg0KK1gzNjkwNTBZNDUxMDAwRDAxKg0KK1k0NTU1MDBEMDIqWTQ1MTAwMEQwMSoNCitNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ncm91cDEuZ2JyIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5ncm91cDEuZ2JyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczOTA1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLmdyb3VwMS5nYnIKQEAgLTAsMCArMSwyNzI5MSBAQAorRzA0IHN0YXJ0IG9mIHBhZ2UgMyBmb3IgZ3JvdXAgMSBpZHggMiAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIGdyb3VuZCAqDQorRzA0IENyZWF0b3I6IHBjYiAyMDExMDkxOCAqDQorRzA0IENyZWF0aW9uRGF0ZTogTW9uIEphbiAyMCAyMTowNDo0MiAyMDE0IFVUQyAqDQorRzA0IEZvcjogYnJpYW5zICoNCitHMDQgRm9ybWF0OiBHZXJiZXIvUlMtMjc0WCAqDQorRzA0IFBDQi1EaW1lbnNpb25zOiA1MDAwMDAgNDAwMDAwICoNCitHMDQgUENCLUNvb3JkaW5hdGUtT3JpZ2luOiBsb3dlciBsZWZ0ICoNCislTU9JTiolDQorJUZTTEFYMjVZMjUqJQ0KKyVMTkdST1VQMSolDQorJUFERDIyNkMsMC4yNDYwKiUNCislQUREMjI1QywwLjA0NjAqJQ0KKyVBREQyMjRDLDAuMjAwMColDQorJUFERDIyM0MsMC4xMjg1KiUNCislQUREMjIyQywwLjA0MDAqJQ0KKyVBREQyMjFDLDAuMDM1MColDQorJUFERDIyMEMsMC4wMTAwKiUNCislQUREMjE5QywwLjA2MDAqJQ0KKyVBREQyMThDLDAuMDM2MColDQorJUFERDIxN0MsMC4wMjAwKiUNCislQUREMjE2QywwLjI2NjAqJQ0KKyVBREQyMTVDLDAuMDY2MColDQorJUFERDIxNEMsMC4yMjAwKiUNCislQUREMjEzQywwLjE4MzAqJQ0KKyVBREQyMTJDLDAuMDY1MColDQorJUFERDIxMUMsMC4wNzAwKiUNCislQUREMjEwQywwLjAyNTAqJQ0KKyVBREQyMDlDLDAuMDAwMSolDQorRzU0RDIwOSpHMzYqDQorWDEwNzk0MVkxMzA1MDBEMDIqWDExNDQ0MUQwMSoNCitZMTI0NTAwRDAxKg0KK1gxMDc5NDFEMDEqDQorWTEzMDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNTk0NDFEMDIqWDE2NTk0MUQwMSoNCitZMTI0NTAwRDAxKg0KK1gxNTk0NDFEMDEqDQorWTEzMDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxODg5NDFEMDIqWDE5NTQ0MUQwMSoNCitZMTI0NTAwRDAxKg0KK1gxODg5NDFEMDEqDQorWTEzMDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNDA5NDFEMDIqWDI0NzQ0MUQwMSoNCitZMTI0NTAwRDAxKg0KK1gyNDA5NDFEMDEqDQorWTEzMDUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzc5NDFZMTUxMDAwRDAyKlgxNDQ0NDFEMDEqDQorWTE0NTAwMEQwMSoNCitYMTM3OTQxRDAxKg0KK1kxNTEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjIwNDQxRDAyKlgyMjY5NDFEMDEqDQorWTE0NTAwMEQwMSoNCitYMjIwNDQxRDAxKg0KK1kxNTEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzAyMTk2WTExMDAwMEQwMipYMzA4Njk2RDAxKg0KK1kxMDQwMDBEMDEqDQorWDMwMjE5NkQwMSoNCitZMTEwMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMwMzk0MVkxMzg0NTBEMDIqWDMxMDQ0MUQwMSoNCitZMTMyNDUwRDAxKg0KK1gzMDM5NDFEMDEqDQorWTEzODQ1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDk0NDFZMTM4MDAwRDAyKlgzMTU5NDFEMDEqDQorWTEzNTAwMEQwMSoNCitYMzA5NDQxRDAxKg0KK1kxMzgwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzc4NDQxWTM4MzAwMEQwMipYMzg5NDQxRDAxKg0KK1kzNzUwMDBEMDEqDQorWDM3ODQ0MUQwMSoNCitZMzgzMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM2ODQ0MVkzNTUwMDBEMDIqWDM3OTQ0MUQwMSoNCitZMzQ3MDAwRDAxKg0KK1gzNjg0NDFEMDEqDQorWTM1NTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNzkxNjJZMzA5MDAwRDAyKlgzOTAxNjJEMDEqDQorWTMwMTAwMEQwMSoNCitYMzc5MTYyRDAxKg0KK1kzMDkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzkwNDQxWTMzMDExOEQwMipYMzk2NDQxWTMzMDAwMEQwMSoNCitZMzIzMDAwRDAxKg0KK1gzOTA0NDFZMzIzMTE4RDAxKg0KK1kzMzAxMThEMDEqDQorRzM3Kg0KK0czNioNCitYMzY2NDQxWTI5NDY4OUQwMipYMzc3NDQxRDAxKg0KK1kyODY2ODlEMDEqDQorWDM2NjQ0MUQwMSoNCitZMjk0Njg5RDAxKg0KK0czNyoNCitHMzYqDQorWDM3OTUxMlkyNjEwMDBEMDIqWDM5MDUxMkQwMSoNCitZMjUzMDAwRDAxKg0KK1gzNzk1MTJEMDEqDQorWTI2MTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNzA0NDFZMjM5MTU3RDAyKlgzODE0NDFEMDEqDQorWTIzMTE1N0QwMSoNCitYMzcwNDQxRDAxKg0KK1kyMzkxNTdEMDEqDQorRzM3Kg0KK0czNioNCitYMzY3NDg1WTE3NTM4NkQwMipYMzc4NDg1RDAxKg0KK1kxNjczODZEMDEqDQorWDM2NzQ4NUQwMSoNCitZMTc1Mzg2RDAxKg0KK0czNyoNCitHMzYqDQorWDM3NTkzN1kxOTMxNjFEMDIqWDM4NjkzN0QwMSoNCitZMTg1MTYxRDAxKg0KK1gzNzU5MzdEMDEqDQorWTE5MzE2MUQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MTQ0NDFZODYwMDBEMDIqWDQyNTQ0MUQwMSoNCitZNzgwMDBEMDEqDQorWDQxNDQ0MUQwMSoNCitZODYwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg4NDQxWTIxMTAwMEQwMipYMzk2NDQxRDAxKg0KK1kyMDQwMDBEMDEqDQorWDM4ODQ0MUQwMSoNCitZMjExMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQyODk0MVk4MDAwMEQwMipYNDM5OTQxRDAxKg0KK1k3MjAwMEQwMSoNCitYNDI4OTQxRDAxKg0KK1k4MDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MzA5NDFZNTk1MDBEMDIqWDQzNzQ0MUQwMSoNCitZNTM1MDBEMDEqDQorWDQzMDk0MUQwMSoNCitZNTk1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg1NDQxWTEzMDUwMEQwMipYMzkwOTQxRDAxKg0KK1k5MTAwMEQwMSoNCitYMzg1NDQxRDAxKg0KK1kxMzA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzUxOTQxWTEzMDAwMEQwMipYMzU3NDQxRDAxKg0KK1k5MDUwMEQwMSoNCitYMzUxOTQxRDAxKg0KK1kxMzAwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjM2NDQxWTI2NTAwMEQwMipYMjQ0NDQxRDAxKg0KK1kyNTgwMDBEMDEqDQorWDIzNjQ0MUQwMSoNCitZMjY1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI5MTcxMlkyNDcxNDdEMDIqWDI5OTcxMkQwMSoNCitZMjQwMTQ3RDAxKg0KK1gyOTE3MTJEMDEqDQorWTI0NzE0N0QwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDg5NDFZMjk3NTAwRDAyKlgzMTU0NDFEMDEqDQorWTI5MTUwMEQwMSoNCitYMzA4OTQxRDAxKg0KK1kyOTc1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjg0MjYyWTMxMDgwMEQwMipYMjkyMjYyRDAxKg0KK1kzMDM4MDBEMDEqDQorWDI4NDI2MkQwMSoNCitZMzEwODAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2NjIwN1kzMTc3MTZEMDIqWDI3NDIwN0QwMSoNCitZMzEwNzE2RDAxKg0KK1gyNjYyMDdEMDEqDQorWTMxNzcxNkQwMSoNCitHMzcqDQorRzM2Kg0KK1gyODIxNDhZMzI4MTM0RDAyKlgyODg2NDhEMDEqDQorWTMyMjEzNEQwMSoNCitYMjgyMTQ4RDAxKg0KK1kzMjgxMzREMDEqDQorRzM3Kg0KK0czNioNCitYMjc0MTY3WTM1MDYzNEQwMipYMjgwNjY3RDAxKg0KK1kzNDQ2MzREMDEqDQorWDI3NDE2N0QwMSoNCitZMzUwNjM0RDAxKg0KK0czNyoNCitHMzYqDQorWDEwOTk0MVkzNTk1MDBEMDIqWDExNjQ0MUQwMSoNCitZMzUzNTAwRDAxKg0KK1gxMDk5NDFEMDEqDQorWTM1OTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTc5NDFEMDIqWDEyNDQ0MUQwMSoNCitZMzUzNTAwRDAxKg0KK1gxMTc5NDFEMDEqDQorWTM1OTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMjY5NDFEMDIqWDEzMzQ0MUQwMSoNCitZMzUzNTAwRDAxKg0KK1gxMjY5NDFEMDEqDQorWTM1OTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzk0NDFEMDIqWDE0NTk0MUQwMSoNCitZMzUzNTAwRDAxKg0KK1gxMzk0NDFEMDEqDQorWTM1OTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNTM1MDBEMDIqWDE0NTk0MUQwMSoNCitZMzQ3NTAwRDAxKg0KK1gxMzk0NDFEMDEqDQorWTM1MzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDU0NDFEMDIqWDE1MTk0MUQwMSoNCitZMzQ3NTAwRDAxKg0KK1gxNDU0NDFEMDEqDQorWTM1MzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNTA5NDFZMzQ5MDAwRDAyKlgxNTc0NDFEMDEqDQorWTM0MzAwMEQwMSoNCitYMTUwOTQxRDAxKg0KK1kzNDkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTY1MTMwWTM1MzkzMEQwMipYMTcxNjMwRDAxKg0KK1kzNDc5MzBEMDEqDQorWDE2NTEzMEQwMSoNCitZMzUzOTMwRDAxKg0KK0czNyoNCitHMzYqDQorWDEyMzQ0MVkzNDM1MDBEMDIqWDEyOTk0MUQwMSoNCitZMzM3NTAwRDAxKg0KK1gxMjM0NDFEMDEqDQorWTM0MzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTM0NDFZMzM4MDAwRDAyKlgxMTk5NDFEMDEqDQorWTMzMjAwMEQwMSoNCitYMTEzNDQxRDAxKg0KK1kzMzgwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTA5NDQxRDAyKlgxMTU5NDFEMDEqDQorWTMzMjAwMEQwMSoNCitYMTA5NDQxRDAxKg0KK1kzMzgwMDBEMDEqDQorRzM3Kg0KK0czNioNCitZMzQ0NTAwRDAyKlgxMTU5NDFEMDEqDQorWTMzODUwMEQwMSoNCitYMTA5NDQxRDAxKg0KK1kzNDQ1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzAwNzE5WTMzMzQ2NkQwMipYMzA0MTUwWTMzMzQzOEQwMSoNCitYMzA3MjE5WTMyNzQ2NkQwMSoNCitYMzAwNzE5RDAxKg0KK1kzMzM0NjZEMDEqDQorRzM3Kg0KK0czNioNCitYMTU1MTk3WTMzMTU0NkQwMipYMTYxNjk3RDAxKg0KK1kzMjU1NDZEMDEqDQorWDE1NTE5N0QwMSoNCitZMzMxNTQ2RDAxKg0KK0czNyoNCitHMzYqDQorWDE1NTQ0MVkzMjc4MjlEMDIqWDE2MTk0MUQwMSoNCitZMzIxODI5RDAxKg0KK1gxNTU0NDFEMDEqDQorWTMyNzgyOUQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzYyMThZMzAzMTY2RDAyKlgyNDQyMThEMDEqDQorWTI5NjE2NkQwMSoNCitYMjM2MjE4RDAxKg0KK1kzMDMxNjZEMDEqDQorRzM3Kg0KK0czNioNCitYMTk0NDQxWTMxMjUwMEQwMipYMjAwOTQxRDAxKg0KK1kzMDY1MDBEMDEqDQorWDE5NDQ0MUQwMSoNCitZMzEyNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MjQ0MVkzMTU1MDBEMDIqWDE5ODk0MUQwMSoNCitZMzA5NTAwRDAxKg0KK1gxOTI0NDFEMDEqDQorWTMxNTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTQ0NDFZMzE4NTAwRDAyKlgyMDA5NDFEMDEqDQorWTMxMjUwMEQwMSoNCitYMTk0NDQxRDAxKg0KK1kzMTg1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTIzNDQxWTMzNzUwMEQwMipYMTI5OTQxRDAxKg0KK1kzMzE1MDBEMDEqDQorWDEyMzQ0MUQwMSoNCitZMzM3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE1OTk0MVkyNzc1MDBEMDIqWDE2NTQ0MUQwMSoNCitZMjM4MDAwRDAxKg0KK1gxNTk5NDFEMDEqDQorWTI3NzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMjU5NDFZMjc4NTAwRDAyKlgxMzE0NDFEMDEqDQorWTIzOTAwMEQwMSoNCitYMTI1OTQxRDAxKg0KK1kyNzg1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTM4MDIxWTMwMzg0OUQwMipYMTQ0NTIxRDAxKg0KK1kyOTc4NDlEMDEqDQorWDEzODAyMUQwMSoNCitZMzAzODQ5RDAxKg0KK0czNyoNCitHMzYqDQorWDIwMTk0MVkyODAwMDBEMDIqWDIwODQ0MUQwMSoNCitZMjc0MDAwRDAxKg0KK1gyMDE5NDFEMDEqDQorWTI4MDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTQ5NDFZMjcyNTAwRDAyKlgyMDE0NDFEMDEqDQorWTI2NjUwMEQwMSoNCitYMTk0OTQxRDAxKg0KK1kyNzI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjY1NTAwRDAyKlgyMDE0NDFEMDEqDQorWTI1OTUwMEQwMSoNCitYMTk0OTQxRDAxKg0KK1kyNjU1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTc4NDQxWTI2MTUwMEQwMipYMTg0OTQxRDAxKg0KK1kyNTU1MDBEMDEqDQorWDE3ODQ0MUQwMSoNCitZMjYxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDk4OTQxWTIwNjUwMEQwMipYMTA3NDQxRDAxKg0KK1kyMDIwMDBEMDEqDQorWDk4OTQxRDAxKg0KK1kyMDY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDgxNDQxWTQxNTAwRDAyKlg0Nzg5NDFZMzkwMDBEMDEqDQorWDQ3MzQ5M0QwMSoNCitZNDkyMzZEMDEqDQorWDQ3MzUwMFk0OTIzNUQwMSoNCitYNDc0MjQ1WTQ5Mjk0RDAxKg0KK1g0NzQ5NzJZNDk0NjlEMDEqDQorWDQ3NTY2M1k0OTc1NUQwMSoNCitYNDc2MzAxWTUwMTQ1RDAxKg0KK1g0NzY4NjlZNTA2MzFEMDEqDQorWDQ3NzM1NVk1MTE5OUQwMSoNCitYNDc3NzQ1WTUxODM3RDAxKg0KK1g0NzgwMzFZNTI1MjhEMDEqDQorWDQ3ODIwNlk1MzI1NUQwMSoNCitYNDc4MjUwWTU0MDAwRDAxKg0KK1g0NzgyMDZZNTQ3NDVEMDEqDQorWDQ3ODAzMVk1NTQ3MkQwMSoNCitYNDc3NzQ1WTU2MTYzRDAxKg0KK1g0NzczNTVZNTY4MDFEMDEqDQorWDQ3Njg2OVk1NzM2OUQwMSoNCitYNDc2MzAxWTU3ODU1RDAxKg0KK1g0NzU2NjNZNTgyNDVEMDEqDQorWDQ3NDk3Mlk1ODUzMUQwMSoNCitYNDc0MjQ1WTU4NzA2RDAxKg0KK1g0NzM1MDBZNTg3NjVEMDEqDQorWDQ3MzQ5M1k1ODc2NEQwMSoNCitZNzkyMzZEMDEqDQorWDQ3MzUwMFk3OTIzNUQwMSoNCitYNDc0MjQ1WTc5Mjk0RDAxKg0KK1g0NzQ5NzJZNzk0NjlEMDEqDQorWDQ3NTY2M1k3OTc1NUQwMSoNCitYNDc2MzAxWTgwMTQ1RDAxKg0KK1g0NzY4NjlZODA2MzFEMDEqDQorWDQ3NzM1NVk4MTE5OUQwMSoNCitYNDc3NzQ1WTgxODM3RDAxKg0KK1g0NzgwMzFZODI1MjhEMDEqDQorWDQ3ODIwNlk4MzI1NUQwMSoNCitYNDc4MjUwWTg0MDAwRDAxKg0KK1g0NzgyMDZZODQ3NDVEMDEqDQorWDQ3ODAzMVk4NTQ3MkQwMSoNCitYNDc3NzQ1WTg2MTYzRDAxKg0KK1g0NzczNTVZODY4MDFEMDEqDQorWDQ3Njg2OVk4NzM2OUQwMSoNCitYNDc2MzAxWTg3ODU1RDAxKg0KK1g0NzU2NjNZODgyNDVEMDEqDQorWDQ3NDk3Mlk4ODUzMUQwMSoNCitYNDc0MjQ1WTg4NzA2RDAxKg0KK1g0NzM1MDBZODg3NjVEMDEqDQorWDQ3MzQ5M1k4ODc2NEQwMSoNCitZMTA5MjM2RDAxKg0KK1g0NzM1MDBZMTA5MjM1RDAxKg0KK1g0NzQyNDVZMTA5Mjk0RDAxKg0KK1g0NzQ5NzJZMTA5NDY5RDAxKg0KK1g0NzU2NjNZMTA5NzU1RDAxKg0KK1g0NzYzMDFZMTEwMTQ1RDAxKg0KK1g0NzY4NjlZMTEwNjMxRDAxKg0KK1g0NzczNTVZMTExMTk5RDAxKg0KK1g0Nzc3NDVZMTExODM3RDAxKg0KK1g0NzgwMzFZMTEyNTI4RDAxKg0KK1g0NzgyMDZZMTEzMjU1RDAxKg0KK1g0NzgyNTBZMTE0MDAwRDAxKg0KK1g0NzgyMDZZMTE0NzQ1RDAxKg0KK1g0NzgwMzFZMTE1NDcyRDAxKg0KK1g0Nzc3NDVZMTE2MTYzRDAxKg0KK1g0NzczNTVZMTE2ODAxRDAxKg0KK1g0NzY4NjlZMTE3MzY5RDAxKg0KK1g0NzYzMDFZMTE3ODU1RDAxKg0KK1g0NzU2NjNZMTE4MjQ1RDAxKg0KK1g0NzQ5NzJZMTE4NTMxRDAxKg0KK1g0NzQyNDVZMTE4NzA2RDAxKg0KK1g0NzM1MDBZMTE4NzY1RDAxKg0KK1g0NzM0OTNZMTE4NzY0RDAxKg0KK1kxMzkyMzZEMDEqDQorWDQ3MzUwMFkxMzkyMzVEMDEqDQorWDQ3NDI0NVkxMzkyOTREMDEqDQorWDQ3NDk3MlkxMzk0NjlEMDEqDQorWDQ3NTY2M1kxMzk3NTVEMDEqDQorWDQ3NjMwMVkxNDAxNDVEMDEqDQorWDQ3Njg2OVkxNDA2MzFEMDEqDQorWDQ3NzM1NVkxNDExOTlEMDEqDQorWDQ3Nzc0NVkxNDE4MzdEMDEqDQorWDQ3ODAzMVkxNDI1MjhEMDEqDQorWDQ3ODIwNlkxNDMyNTVEMDEqDQorWDQ3ODI1MFkxNDQwMDBEMDEqDQorWDQ3ODIwNlkxNDQ3NDVEMDEqDQorWDQ3ODAzMVkxNDU0NzJEMDEqDQorWDQ3Nzc0NVkxNDYxNjNEMDEqDQorWDQ3NzM1NVkxNDY4MDFEMDEqDQorWDQ3Njg2OVkxNDczNjlEMDEqDQorWDQ3NjMwMVkxNDc4NTVEMDEqDQorWDQ3NTY2M1kxNDgyNDVEMDEqDQorWDQ3NDk3MlkxNDg1MzFEMDEqDQorWDQ3NDI0NVkxNDg3MDZEMDEqDQorWDQ3MzUwMFkxNDg3NjVEMDEqDQorWDQ3MzQ5M1kxNDg3NjREMDEqDQorWTE2OTIzNkQwMSoNCitYNDczNTAwWTE2OTIzNUQwMSoNCitYNDc0MjQ1WTE2OTI5NEQwMSoNCitYNDc0OTcyWTE2OTQ2OUQwMSoNCitYNDc1NjYzWTE2OTc1NUQwMSoNCitYNDc2MzAxWTE3MDE0NUQwMSoNCitYNDc2ODY5WTE3MDYzMUQwMSoNCitYNDc3MzU1WTE3MTE5OUQwMSoNCitYNDc3NzQ1WTE3MTgzN0QwMSoNCitYNDc4MDMxWTE3MjUyOEQwMSoNCitYNDc4MjA2WTE3MzI1NUQwMSoNCitYNDc4MjUwWTE3NDAwMEQwMSoNCitYNDc4MjA2WTE3NDc0NUQwMSoNCitYNDc4MDMxWTE3NTQ3MkQwMSoNCitYNDc3NzQ1WTE3NjE2M0QwMSoNCitYNDc3MzU1WTE3NjgwMUQwMSoNCitYNDc2ODY5WTE3NzM2OUQwMSoNCitYNDc2MzAxWTE3Nzg1NUQwMSoNCitYNDc1NjYzWTE3ODI0NUQwMSoNCitYNDc0OTcyWTE3ODUzMUQwMSoNCitYNDc0MjQ1WTE3ODcwNkQwMSoNCitYNDczNTAwWTE3ODc2NUQwMSoNCitYNDczNDkzWTE3ODc2NEQwMSoNCitZMTk5MjM2RDAxKg0KK1g0NzM1MDBZMTk5MjM1RDAxKg0KK1g0NzQyNDVZMTk5Mjk0RDAxKg0KK1g0NzQ5NzJZMTk5NDY5RDAxKg0KK1g0NzU2NjNZMTk5NzU1RDAxKg0KK1g0NzYzMDFZMjAwMTQ1RDAxKg0KK1g0NzY4NjlZMjAwNjMxRDAxKg0KK1g0NzczNTVZMjAxMTk5RDAxKg0KK1g0Nzc3NDVZMjAxODM3RDAxKg0KK1g0NzgwMzFZMjAyNTI4RDAxKg0KK1g0NzgyMDZZMjAzMjU1RDAxKg0KK1g0NzgyNTBZMjA0MDAwRDAxKg0KK1g0NzgyMDZZMjA0NzQ1RDAxKg0KK1g0NzgwMzFZMjA1NDcyRDAxKg0KK1g0Nzc3NDVZMjA2MTYzRDAxKg0KK1g0NzczNTVZMjA2ODAxRDAxKg0KK1g0NzY4NjlZMjA3MzY5RDAxKg0KK1g0NzYzMDFZMjA3ODU1RDAxKg0KK1g0NzU2NjNZMjA4MjQ1RDAxKg0KK1g0NzQ5NzJZMjA4NTMxRDAxKg0KK1g0NzQyNDVZMjA4NzA2RDAxKg0KK1g0NzM1MDBZMjA4NzY1RDAxKg0KK1g0NzM0OTNZMjA4NzY0RDAxKg0KK1kyMjkyMzZEMDEqDQorWDQ3MzUwMFkyMjkyMzVEMDEqDQorWDQ3NDI0NVkyMjkyOTREMDEqDQorWDQ3NDk3MlkyMjk0NjlEMDEqDQorWDQ3NTY2M1kyMjk3NTVEMDEqDQorWDQ3NjMwMVkyMzAxNDVEMDEqDQorWDQ3Njg2OVkyMzA2MzFEMDEqDQorWDQ3NzM1NVkyMzExOTlEMDEqDQorWDQ3Nzc0NVkyMzE4MzdEMDEqDQorWDQ3ODAzMVkyMzI1MjhEMDEqDQorWDQ3ODIwNlkyMzMyNTVEMDEqDQorWDQ3ODI1MFkyMzQwMDBEMDEqDQorWDQ3ODIwNlkyMzQ3NDVEMDEqDQorWDQ3ODAzMVkyMzU0NzJEMDEqDQorWDQ3Nzc0NVkyMzYxNjNEMDEqDQorWDQ3NzM1NVkyMzY4MDFEMDEqDQorWDQ3Njg2OVkyMzczNjlEMDEqDQorWDQ3NjMwMVkyMzc4NTVEMDEqDQorWDQ3NTY2M1kyMzgyNDVEMDEqDQorWDQ3NDk3MlkyMzg1MzFEMDEqDQorWDQ3NDI0NVkyMzg3MDZEMDEqDQorWDQ3MzUwMFkyMzg3NjVEMDEqDQorWDQ3MzQ5M1kyMzg3NjREMDEqDQorWTI1OTIzNkQwMSoNCitYNDczNTAwWTI1OTIzNUQwMSoNCitYNDc0MjQ1WTI1OTI5NEQwMSoNCitYNDc0OTcyWTI1OTQ2OUQwMSoNCitYNDc1NjYzWTI1OTc1NUQwMSoNCitYNDc2MzAxWTI2MDE0NUQwMSoNCitYNDc2ODY5WTI2MDYzMUQwMSoNCitYNDc3MzU1WTI2MTE5OUQwMSoNCitYNDc3NzQ1WTI2MTgzN0QwMSoNCitYNDc4MDMxWTI2MjUyOEQwMSoNCitYNDc4MjA2WTI2MzI1NUQwMSoNCitYNDc4MjUwWTI2NDAwMEQwMSoNCitYNDc4MjA2WTI2NDc0NUQwMSoNCitYNDc4MDMxWTI2NTQ3MkQwMSoNCitYNDc3NzQ1WTI2NjE2M0QwMSoNCitYNDc3MzU1WTI2NjgwMUQwMSoNCitYNDc2ODY5WTI2NzM2OUQwMSoNCitYNDc2MzAxWTI2Nzg1NUQwMSoNCitYNDc1NjYzWTI2ODI0NUQwMSoNCitYNDc0OTcyWTI2ODUzMUQwMSoNCitYNDc0MjQ1WTI2ODcwNkQwMSoNCitYNDczNTAwWTI2ODc2NUQwMSoNCitYNDczNDkzWTI2ODc2NEQwMSoNCitZMjg5MjM2RDAxKg0KK1g0NzM1MDBZMjg5MjM1RDAxKg0KK1g0NzQyNDVZMjg5Mjk0RDAxKg0KK1g0NzQ5NzJZMjg5NDY5RDAxKg0KK1g0NzU2NjNZMjg5NzU1RDAxKg0KK1g0NzYzMDFZMjkwMTQ1RDAxKg0KK1g0NzY4NjlZMjkwNjMxRDAxKg0KK1g0NzczNTVZMjkxMTk5RDAxKg0KK1g0Nzc3NDVZMjkxODM3RDAxKg0KK1g0NzgwMzFZMjkyNTI4RDAxKg0KK1g0NzgyMDZZMjkzMjU1RDAxKg0KK1g0NzgyNTBZMjk0MDAwRDAxKg0KK1g0NzgyMDZZMjk0NzQ1RDAxKg0KK1g0NzgwMzFZMjk1NDcyRDAxKg0KK1g0Nzc3NDVZMjk2MTYzRDAxKg0KK1g0NzczNTVZMjk2ODAxRDAxKg0KK1g0NzY4NjlZMjk3MzY5RDAxKg0KK1g0NzYzMDFZMjk3ODU1RDAxKg0KK1g0NzU2NjNZMjk4MjQ1RDAxKg0KK1g0NzQ5NzJZMjk4NTMxRDAxKg0KK1g0NzQyNDVZMjk4NzA2RDAxKg0KK1g0NzM1MDBZMjk4NzY1RDAxKg0KK1g0NzM0OTNZMjk4NzY0RDAxKg0KK1kzMTkyMzZEMDEqDQorWDQ3MzUwMFkzMTkyMzVEMDEqDQorWDQ3NDI0NVkzMTkyOTREMDEqDQorWDQ3NDk3MlkzMTk0NjlEMDEqDQorWDQ3NTY2M1kzMTk3NTVEMDEqDQorWDQ3NjMwMVkzMjAxNDVEMDEqDQorWDQ3Njg2OVkzMjA2MzFEMDEqDQorWDQ3NzM1NVkzMjExOTlEMDEqDQorWDQ3Nzc0NVkzMjE4MzdEMDEqDQorWDQ3ODAzMVkzMjI1MjhEMDEqDQorWDQ3ODIwNlkzMjMyNTVEMDEqDQorWDQ3ODI1MFkzMjQwMDBEMDEqDQorWDQ3ODIwNlkzMjQ3NDVEMDEqDQorWDQ3ODAzMVkzMjU0NzJEMDEqDQorWDQ3Nzc0NVkzMjYxNjNEMDEqDQorWDQ3NzM1NVkzMjY4MDFEMDEqDQorWDQ3Njg2OVkzMjczNjlEMDEqDQorWDQ3NjMwMVkzMjc4NTVEMDEqDQorWDQ3NTY2M1kzMjgyNDVEMDEqDQorWDQ3NDk3MlkzMjg1MzFEMDEqDQorWDQ3NDI0NVkzMjg3MDZEMDEqDQorWDQ3MzUwMFkzMjg3NjVEMDEqDQorWDQ3MzQ5M1kzMjg3NjREMDEqDQorWTM0OTIzNkQwMSoNCitYNDczNTAwWTM0OTIzNUQwMSoNCitYNDc0MjQ1WTM0OTI5NEQwMSoNCitYNDc0OTcyWTM0OTQ2OUQwMSoNCitYNDc1NjYzWTM0OTc1NUQwMSoNCitYNDc2MzAxWTM1MDE0NUQwMSoNCitYNDc2ODY5WTM1MDYzMUQwMSoNCitYNDc3MzU1WTM1MTE5OUQwMSoNCitYNDc3NzQ1WTM1MTgzN0QwMSoNCitYNDc4MDMxWTM1MjUyOEQwMSoNCitYNDc4MjA2WTM1MzI1NUQwMSoNCitYNDc4MjUwWTM1NDAwMEQwMSoNCitYNDc4MjA2WTM1NDc0NUQwMSoNCitYNDc4MDMxWTM1NTQ3MkQwMSoNCitYNDc3NzQ1WTM1NjE2M0QwMSoNCitYNDc3MzU1WTM1NjgwMUQwMSoNCitYNDc2ODY5WTM1NzM2OUQwMSoNCitYNDc2MzAxWTM1Nzg1NUQwMSoNCitYNDc1NjYzWTM1ODI0NUQwMSoNCitYNDc0OTcyWTM1ODUzMUQwMSoNCitYNDc0MjQ1WTM1ODcwNkQwMSoNCitYNDczNTAwWTM1ODc2NUQwMSoNCitYNDczNDkzWTM1ODc2NEQwMSoNCitZMzc5MjM2RDAxKg0KK1g0NzM1MDBZMzc5MjM1RDAxKg0KK1g0NzQyNDVZMzc5Mjk0RDAxKg0KK1g0NzQ5NzJZMzc5NDY5RDAxKg0KK1g0NzU2NjNZMzc5NzU1RDAxKg0KK1g0NzYzMDFZMzgwMTQ1RDAxKg0KK1g0NzY4NjlZMzgwNjMxRDAxKg0KK1g0NzczNTVZMzgxMTk5RDAxKg0KK1g0Nzc3NDVZMzgxODM3RDAxKg0KK1g0NzgwMzFZMzgyNTI4RDAxKg0KK1g0NzgyMDZZMzgzMjU1RDAxKg0KK1g0NzgyNTBZMzg0MDAwRDAxKg0KK1g0NzgyMDZZMzg0NzQ1RDAxKg0KK1g0NzgwMzFZMzg1NDcyRDAxKg0KK1g0Nzc3NDVZMzg2MTYzRDAxKg0KK1g0NzczNTVZMzg2ODAxRDAxKg0KK1g0NzY4NjlZMzg3MzY5RDAxKg0KK1g0NzYzMDFZMzg3ODU1RDAxKg0KK1g0NzU2NjNZMzg4MjQ1RDAxKg0KK1g0NzQ5NzJZMzg4NTMxRDAxKg0KK1g0NzQyNDVZMzg4NzA2RDAxKg0KK1g0NzM1MDBZMzg4NzY1RDAxKg0KK1g0NzM0OTNZMzg4NzY0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDQ3ODk0MUQwMSoNCitYNDgxNDQxWTM5NDAwMEQwMSoNCitZNDE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDczNDkzWTM5MDAwRDAyKlg0NjM0OTNEMDEqDQorWTQ5MjM2RDAxKg0KK1g0NjM1MDBZNDkyMzVEMDEqDQorWDQ2NDI0NVk0OTI5NEQwMSoNCitYNDY0OTcyWTQ5NDY5RDAxKg0KK1g0NjU2NjNZNDk3NTVEMDEqDQorWDQ2NjMwMVk1MDE0NUQwMSoNCitYNDY2ODY5WTUwNjMxRDAxKg0KK1g0NjczNTVZNTExOTlEMDEqDQorWDQ2Nzc0NVk1MTgzN0QwMSoNCitYNDY4MDMxWTUyNTI4RDAxKg0KK1g0NjgyMDZZNTMyNTVEMDEqDQorWDQ2ODI1MFk1NDAwMEQwMSoNCitYNDY4MjA2WTU0NzQ1RDAxKg0KK1g0NjgwMzFZNTU0NzJEMDEqDQorWDQ2Nzc0NVk1NjE2M0QwMSoNCitYNDY3MzU1WTU2ODAxRDAxKg0KK1g0NjY4NjlZNTczNjlEMDEqDQorWDQ2NjMwMVk1Nzg1NUQwMSoNCitYNDY1NjYzWTU4MjQ1RDAxKg0KK1g0NjQ5NzJZNTg1MzFEMDEqDQorWDQ2NDI0NVk1ODcwNkQwMSoNCitYNDYzNTAwWTU4NzY1RDAxKg0KK1g0NjM0OTNZNTg3NjREMDEqDQorWTc5MjM2RDAxKg0KK1g0NjM1MDBZNzkyMzVEMDEqDQorWDQ2NDI0NVk3OTI5NEQwMSoNCitYNDY0OTcyWTc5NDY5RDAxKg0KK1g0NjU2NjNZNzk3NTVEMDEqDQorWDQ2NjMwMVk4MDE0NUQwMSoNCitYNDY2ODY5WTgwNjMxRDAxKg0KK1g0NjczNTVZODExOTlEMDEqDQorWDQ2Nzc0NVk4MTgzN0QwMSoNCitYNDY4MDMxWTgyNTI4RDAxKg0KK1g0NjgyMDZZODMyNTVEMDEqDQorWDQ2ODI1MFk4NDAwMEQwMSoNCitYNDY4MjA2WTg0NzQ1RDAxKg0KK1g0NjgwMzFZODU0NzJEMDEqDQorWDQ2Nzc0NVk4NjE2M0QwMSoNCitYNDY3MzU1WTg2ODAxRDAxKg0KK1g0NjY4NjlZODczNjlEMDEqDQorWDQ2NjMwMVk4Nzg1NUQwMSoNCitYNDY1NjYzWTg4MjQ1RDAxKg0KK1g0NjQ5NzJZODg1MzFEMDEqDQorWDQ2NDI0NVk4ODcwNkQwMSoNCitYNDYzNTAwWTg4NzY1RDAxKg0KK1g0NjM0OTNZODg3NjREMDEqDQorWTEwOTIzNkQwMSoNCitYNDYzNTAwWTEwOTIzNUQwMSoNCitYNDY0MjQ1WTEwOTI5NEQwMSoNCitYNDY0OTcyWTEwOTQ2OUQwMSoNCitYNDY1NjYzWTEwOTc1NUQwMSoNCitYNDY2MzAxWTExMDE0NUQwMSoNCitYNDY2ODY5WTExMDYzMUQwMSoNCitYNDY3MzU1WTExMTE5OUQwMSoNCitYNDY3NzQ1WTExMTgzN0QwMSoNCitYNDY4MDMxWTExMjUyOEQwMSoNCitYNDY4MjA2WTExMzI1NUQwMSoNCitYNDY4MjUwWTExNDAwMEQwMSoNCitYNDY4MjA2WTExNDc0NUQwMSoNCitYNDY4MDMxWTExNTQ3MkQwMSoNCitYNDY3NzQ1WTExNjE2M0QwMSoNCitYNDY3MzU1WTExNjgwMUQwMSoNCitYNDY2ODY5WTExNzM2OUQwMSoNCitYNDY2MzAxWTExNzg1NUQwMSoNCitYNDY1NjYzWTExODI0NUQwMSoNCitYNDY0OTcyWTExODUzMUQwMSoNCitYNDY0MjQ1WTExODcwNkQwMSoNCitYNDYzNTAwWTExODc2NUQwMSoNCitYNDYzNDkzWTExODc2NEQwMSoNCitZMTM5MjM2RDAxKg0KK1g0NjM1MDBZMTM5MjM1RDAxKg0KK1g0NjQyNDVZMTM5Mjk0RDAxKg0KK1g0NjQ5NzJZMTM5NDY5RDAxKg0KK1g0NjU2NjNZMTM5NzU1RDAxKg0KK1g0NjYzMDFZMTQwMTQ1RDAxKg0KK1g0NjY4NjlZMTQwNjMxRDAxKg0KK1g0NjczNTVZMTQxMTk5RDAxKg0KK1g0Njc3NDVZMTQxODM3RDAxKg0KK1g0NjgwMzFZMTQyNTI4RDAxKg0KK1g0NjgyMDZZMTQzMjU1RDAxKg0KK1g0NjgyNTBZMTQ0MDAwRDAxKg0KK1g0NjgyMDZZMTQ0NzQ1RDAxKg0KK1g0NjgwMzFZMTQ1NDcyRDAxKg0KK1g0Njc3NDVZMTQ2MTYzRDAxKg0KK1g0NjczNTVZMTQ2ODAxRDAxKg0KK1g0NjY4NjlZMTQ3MzY5RDAxKg0KK1g0NjYzMDFZMTQ3ODU1RDAxKg0KK1g0NjU2NjNZMTQ4MjQ1RDAxKg0KK1g0NjQ5NzJZMTQ4NTMxRDAxKg0KK1g0NjQyNDVZMTQ4NzA2RDAxKg0KK1g0NjM1MDBZMTQ4NzY1RDAxKg0KK1g0NjM0OTNZMTQ4NzY0RDAxKg0KK1kxNjkyMzZEMDEqDQorWDQ2MzUwMFkxNjkyMzVEMDEqDQorWDQ2NDI0NVkxNjkyOTREMDEqDQorWDQ2NDk3MlkxNjk0NjlEMDEqDQorWDQ2NTY2M1kxNjk3NTVEMDEqDQorWDQ2NjMwMVkxNzAxNDVEMDEqDQorWDQ2Njg2OVkxNzA2MzFEMDEqDQorWDQ2NzM1NVkxNzExOTlEMDEqDQorWDQ2Nzc0NVkxNzE4MzdEMDEqDQorWDQ2ODAzMVkxNzI1MjhEMDEqDQorWDQ2ODIwNlkxNzMyNTVEMDEqDQorWDQ2ODI1MFkxNzQwMDBEMDEqDQorWDQ2ODIwNlkxNzQ3NDVEMDEqDQorWDQ2ODAzMVkxNzU0NzJEMDEqDQorWDQ2Nzc0NVkxNzYxNjNEMDEqDQorWDQ2NzM1NVkxNzY4MDFEMDEqDQorWDQ2Njg2OVkxNzczNjlEMDEqDQorWDQ2NjMwMVkxNzc4NTVEMDEqDQorWDQ2NTY2M1kxNzgyNDVEMDEqDQorWDQ2NDk3MlkxNzg1MzFEMDEqDQorWDQ2NDI0NVkxNzg3MDZEMDEqDQorWDQ2MzUwMFkxNzg3NjVEMDEqDQorWDQ2MzQ5M1kxNzg3NjREMDEqDQorWTE5OTIzNkQwMSoNCitYNDYzNTAwWTE5OTIzNUQwMSoNCitYNDY0MjQ1WTE5OTI5NEQwMSoNCitYNDY0OTcyWTE5OTQ2OUQwMSoNCitYNDY1NjYzWTE5OTc1NUQwMSoNCitYNDY2MzAxWTIwMDE0NUQwMSoNCitYNDY2ODY5WTIwMDYzMUQwMSoNCitYNDY3MzU1WTIwMTE5OUQwMSoNCitYNDY3NzQ1WTIwMTgzN0QwMSoNCitYNDY4MDMxWTIwMjUyOEQwMSoNCitYNDY4MjA2WTIwMzI1NUQwMSoNCitYNDY4MjUwWTIwNDAwMEQwMSoNCitYNDY4MjA2WTIwNDc0NUQwMSoNCitYNDY4MDMxWTIwNTQ3MkQwMSoNCitYNDY3NzQ1WTIwNjE2M0QwMSoNCitYNDY3MzU1WTIwNjgwMUQwMSoNCitYNDY2ODY5WTIwNzM2OUQwMSoNCitYNDY2MzAxWTIwNzg1NUQwMSoNCitYNDY1NjYzWTIwODI0NUQwMSoNCitYNDY0OTcyWTIwODUzMUQwMSoNCitYNDY0MjQ1WTIwODcwNkQwMSoNCitYNDYzNTAwWTIwODc2NUQwMSoNCitYNDYzNDkzWTIwODc2NEQwMSoNCitZMjI5MjM2RDAxKg0KK1g0NjM1MDBZMjI5MjM1RDAxKg0KK1g0NjQyNDVZMjI5Mjk0RDAxKg0KK1g0NjQ5NzJZMjI5NDY5RDAxKg0KK1g0NjU2NjNZMjI5NzU1RDAxKg0KK1g0NjYzMDFZMjMwMTQ1RDAxKg0KK1g0NjY4NjlZMjMwNjMxRDAxKg0KK1g0NjczNTVZMjMxMTk5RDAxKg0KK1g0Njc3NDVZMjMxODM3RDAxKg0KK1g0NjgwMzFZMjMyNTI4RDAxKg0KK1g0NjgyMDZZMjMzMjU1RDAxKg0KK1g0NjgyNTBZMjM0MDAwRDAxKg0KK1g0NjgyMDZZMjM0NzQ1RDAxKg0KK1g0NjgwMzFZMjM1NDcyRDAxKg0KK1g0Njc3NDVZMjM2MTYzRDAxKg0KK1g0NjczNTVZMjM2ODAxRDAxKg0KK1g0NjY4NjlZMjM3MzY5RDAxKg0KK1g0NjYzMDFZMjM3ODU1RDAxKg0KK1g0NjU2NjNZMjM4MjQ1RDAxKg0KK1g0NjQ5NzJZMjM4NTMxRDAxKg0KK1g0NjQyNDVZMjM4NzA2RDAxKg0KK1g0NjM1MDBZMjM4NzY1RDAxKg0KK1g0NjM0OTNZMjM4NzY0RDAxKg0KK1kyNTkyMzZEMDEqDQorWDQ2MzUwMFkyNTkyMzVEMDEqDQorWDQ2NDI0NVkyNTkyOTREMDEqDQorWDQ2NDk3MlkyNTk0NjlEMDEqDQorWDQ2NTY2M1kyNTk3NTVEMDEqDQorWDQ2NjMwMVkyNjAxNDVEMDEqDQorWDQ2Njg2OVkyNjA2MzFEMDEqDQorWDQ2NzM1NVkyNjExOTlEMDEqDQorWDQ2Nzc0NVkyNjE4MzdEMDEqDQorWDQ2ODAzMVkyNjI1MjhEMDEqDQorWDQ2ODIwNlkyNjMyNTVEMDEqDQorWDQ2ODI1MFkyNjQwMDBEMDEqDQorWDQ2ODIwNlkyNjQ3NDVEMDEqDQorWDQ2ODAzMVkyNjU0NzJEMDEqDQorWDQ2Nzc0NVkyNjYxNjNEMDEqDQorWDQ2NzM1NVkyNjY4MDFEMDEqDQorWDQ2Njg2OVkyNjczNjlEMDEqDQorWDQ2NjMwMVkyNjc4NTVEMDEqDQorWDQ2NTY2M1kyNjgyNDVEMDEqDQorWDQ2NDk3MlkyNjg1MzFEMDEqDQorWDQ2NDI0NVkyNjg3MDZEMDEqDQorWDQ2MzUwMFkyNjg3NjVEMDEqDQorWDQ2MzQ5M1kyNjg3NjREMDEqDQorWTI4OTIzNkQwMSoNCitYNDYzNTAwWTI4OTIzNUQwMSoNCitYNDY0MjQ1WTI4OTI5NEQwMSoNCitYNDY0OTcyWTI4OTQ2OUQwMSoNCitYNDY1NjYzWTI4OTc1NUQwMSoNCitYNDY2MzAxWTI5MDE0NUQwMSoNCitYNDY2ODY5WTI5MDYzMUQwMSoNCitYNDY3MzU1WTI5MTE5OUQwMSoNCitYNDY3NzQ1WTI5MTgzN0QwMSoNCitYNDY4MDMxWTI5MjUyOEQwMSoNCitYNDY4MjA2WTI5MzI1NUQwMSoNCitYNDY4MjUwWTI5NDAwMEQwMSoNCitYNDY4MjA2WTI5NDc0NUQwMSoNCitYNDY4MDMxWTI5NTQ3MkQwMSoNCitYNDY3NzQ1WTI5NjE2M0QwMSoNCitYNDY3MzU1WTI5NjgwMUQwMSoNCitYNDY2ODY5WTI5NzM2OUQwMSoNCitYNDY2MzAxWTI5Nzg1NUQwMSoNCitYNDY1NjYzWTI5ODI0NUQwMSoNCitYNDY0OTcyWTI5ODUzMUQwMSoNCitYNDY0MjQ1WTI5ODcwNkQwMSoNCitYNDYzNTAwWTI5ODc2NUQwMSoNCitYNDYzNDkzWTI5ODc2NEQwMSoNCitZMzE5MjM2RDAxKg0KK1g0NjM1MDBZMzE5MjM1RDAxKg0KK1g0NjQyNDVZMzE5Mjk0RDAxKg0KK1g0NjQ5NzJZMzE5NDY5RDAxKg0KK1g0NjU2NjNZMzE5NzU1RDAxKg0KK1g0NjYzMDFZMzIwMTQ1RDAxKg0KK1g0NjY4NjlZMzIwNjMxRDAxKg0KK1g0NjczNTVZMzIxMTk5RDAxKg0KK1g0Njc3NDVZMzIxODM3RDAxKg0KK1g0NjgwMzFZMzIyNTI4RDAxKg0KK1g0NjgyMDZZMzIzMjU1RDAxKg0KK1g0NjgyNTBZMzI0MDAwRDAxKg0KK1g0NjgyMDZZMzI0NzQ1RDAxKg0KK1g0NjgwMzFZMzI1NDcyRDAxKg0KK1g0Njc3NDVZMzI2MTYzRDAxKg0KK1g0NjczNTVZMzI2ODAxRDAxKg0KK1g0NjY4NjlZMzI3MzY5RDAxKg0KK1g0NjYzMDFZMzI3ODU1RDAxKg0KK1g0NjU2NjNZMzI4MjQ1RDAxKg0KK1g0NjQ5NzJZMzI4NTMxRDAxKg0KK1g0NjQyNDVZMzI4NzA2RDAxKg0KK1g0NjM1MDBZMzI4NzY1RDAxKg0KK1g0NjM0OTNZMzI4NzY0RDAxKg0KK1kzNDkyMzZEMDEqDQorWDQ2MzUwMFkzNDkyMzVEMDEqDQorWDQ2NDI0NVkzNDkyOTREMDEqDQorWDQ2NDk3MlkzNDk0NjlEMDEqDQorWDQ2NTY2M1kzNDk3NTVEMDEqDQorWDQ2NjMwMVkzNTAxNDVEMDEqDQorWDQ2Njg2OVkzNTA2MzFEMDEqDQorWDQ2NzM1NVkzNTExOTlEMDEqDQorWDQ2Nzc0NVkzNTE4MzdEMDEqDQorWDQ2ODAzMVkzNTI1MjhEMDEqDQorWDQ2ODIwNlkzNTMyNTVEMDEqDQorWDQ2ODI1MFkzNTQwMDBEMDEqDQorWDQ2ODIwNlkzNTQ3NDVEMDEqDQorWDQ2ODAzMVkzNTU0NzJEMDEqDQorWDQ2Nzc0NVkzNTYxNjNEMDEqDQorWDQ2NzM1NVkzNTY4MDFEMDEqDQorWDQ2Njg2OVkzNTczNjlEMDEqDQorWDQ2NjMwMVkzNTc4NTVEMDEqDQorWDQ2NTY2M1kzNTgyNDVEMDEqDQorWDQ2NDk3MlkzNTg1MzFEMDEqDQorWDQ2NDI0NVkzNTg3MDZEMDEqDQorWDQ2MzUwMFkzNTg3NjVEMDEqDQorWDQ2MzQ5M1kzNTg3NjREMDEqDQorWTM3OTIzNkQwMSoNCitYNDYzNTAwWTM3OTIzNUQwMSoNCitYNDY0MjQ1WTM3OTI5NEQwMSoNCitYNDY0OTcyWTM3OTQ2OUQwMSoNCitYNDY1NjYzWTM3OTc1NUQwMSoNCitYNDY2MzAxWTM4MDE0NUQwMSoNCitYNDY2ODY5WTM4MDYzMUQwMSoNCitYNDY3MzU1WTM4MTE5OUQwMSoNCitYNDY3NzQ1WTM4MTgzN0QwMSoNCitYNDY4MDMxWTM4MjUyOEQwMSoNCitYNDY4MjA2WTM4MzI1NUQwMSoNCitYNDY4MjUwWTM4NDAwMEQwMSoNCitYNDY4MjA2WTM4NDc0NUQwMSoNCitYNDY4MDMxWTM4NTQ3MkQwMSoNCitYNDY3NzQ1WTM4NjE2M0QwMSoNCitYNDY3MzU1WTM4NjgwMUQwMSoNCitYNDY2ODY5WTM4NzM2OUQwMSoNCitYNDY2MzAxWTM4Nzg1NUQwMSoNCitYNDY1NjYzWTM4ODI0NUQwMSoNCitYNDY0OTcyWTM4ODUzMUQwMSoNCitYNDY0MjQ1WTM4ODcwNkQwMSoNCitYNDYzNTAwWTM4ODc2NUQwMSoNCitYNDYzNDkzWTM4ODc2NEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NzM0OTNEMDEqDQorWTM4ODc2NEQwMSoNCitYNDcyNzU1WTM4ODcwNkQwMSoNCitYNDcyMDI4WTM4ODUzMUQwMSoNCitYNDcxMzM3WTM4ODI0NUQwMSoNCitYNDcwNjk5WTM4Nzg1NUQwMSoNCitYNDcwMTMxWTM4NzM2OUQwMSoNCitYNDY5NjQ1WTM4NjgwMUQwMSoNCitYNDY5MjU1WTM4NjE2M0QwMSoNCitYNDY4OTY5WTM4NTQ3MkQwMSoNCitYNDY4Nzk0WTM4NDc0NUQwMSoNCitYNDY4NzM1WTM4NDAwMEQwMSoNCitYNDY4Nzk0WTM4MzI1NUQwMSoNCitYNDY4OTY5WTM4MjUyOEQwMSoNCitYNDY5MjU1WTM4MTgzN0QwMSoNCitYNDY5NjQ1WTM4MTE5OUQwMSoNCitYNDcwMTMxWTM4MDYzMUQwMSoNCitYNDcwNjk5WTM4MDE0NUQwMSoNCitYNDcxMzM3WTM3OTc1NUQwMSoNCitYNDcyMDI4WTM3OTQ2OUQwMSoNCitYNDcyNzU1WTM3OTI5NEQwMSoNCitYNDczNDkzWTM3OTIzNkQwMSoNCitZMzU4NzY0RDAxKg0KK1g0NzI3NTVZMzU4NzA2RDAxKg0KK1g0NzIwMjhZMzU4NTMxRDAxKg0KK1g0NzEzMzdZMzU4MjQ1RDAxKg0KK1g0NzA2OTlZMzU3ODU1RDAxKg0KK1g0NzAxMzFZMzU3MzY5RDAxKg0KK1g0Njk2NDVZMzU2ODAxRDAxKg0KK1g0NjkyNTVZMzU2MTYzRDAxKg0KK1g0Njg5NjlZMzU1NDcyRDAxKg0KK1g0Njg3OTRZMzU0NzQ1RDAxKg0KK1g0Njg3MzVZMzU0MDAwRDAxKg0KK1g0Njg3OTRZMzUzMjU1RDAxKg0KK1g0Njg5NjlZMzUyNTI4RDAxKg0KK1g0NjkyNTVZMzUxODM3RDAxKg0KK1g0Njk2NDVZMzUxMTk5RDAxKg0KK1g0NzAxMzFZMzUwNjMxRDAxKg0KK1g0NzA2OTlZMzUwMTQ1RDAxKg0KK1g0NzEzMzdZMzQ5NzU1RDAxKg0KK1g0NzIwMjhZMzQ5NDY5RDAxKg0KK1g0NzI3NTVZMzQ5Mjk0RDAxKg0KK1g0NzM0OTNZMzQ5MjM2RDAxKg0KK1kzMjg3NjREMDEqDQorWDQ3Mjc1NVkzMjg3MDZEMDEqDQorWDQ3MjAyOFkzMjg1MzFEMDEqDQorWDQ3MTMzN1kzMjgyNDVEMDEqDQorWDQ3MDY5OVkzMjc4NTVEMDEqDQorWDQ3MDEzMVkzMjczNjlEMDEqDQorWDQ2OTY0NVkzMjY4MDFEMDEqDQorWDQ2OTI1NVkzMjYxNjNEMDEqDQorWDQ2ODk2OVkzMjU0NzJEMDEqDQorWDQ2ODc5NFkzMjQ3NDVEMDEqDQorWDQ2ODczNVkzMjQwMDBEMDEqDQorWDQ2ODc5NFkzMjMyNTVEMDEqDQorWDQ2ODk2OVkzMjI1MjhEMDEqDQorWDQ2OTI1NVkzMjE4MzdEMDEqDQorWDQ2OTY0NVkzMjExOTlEMDEqDQorWDQ3MDEzMVkzMjA2MzFEMDEqDQorWDQ3MDY5OVkzMjAxNDVEMDEqDQorWDQ3MTMzN1kzMTk3NTVEMDEqDQorWDQ3MjAyOFkzMTk0NjlEMDEqDQorWDQ3Mjc1NVkzMTkyOTREMDEqDQorWDQ3MzQ5M1kzMTkyMzZEMDEqDQorWTI5ODc2NEQwMSoNCitYNDcyNzU1WTI5ODcwNkQwMSoNCitYNDcyMDI4WTI5ODUzMUQwMSoNCitYNDcxMzM3WTI5ODI0NUQwMSoNCitYNDcwNjk5WTI5Nzg1NUQwMSoNCitYNDcwMTMxWTI5NzM2OUQwMSoNCitYNDY5NjQ1WTI5NjgwMUQwMSoNCitYNDY5MjU1WTI5NjE2M0QwMSoNCitYNDY4OTY5WTI5NTQ3MkQwMSoNCitYNDY4Nzk0WTI5NDc0NUQwMSoNCitYNDY4NzM1WTI5NDAwMEQwMSoNCitYNDY4Nzk0WTI5MzI1NUQwMSoNCitYNDY4OTY5WTI5MjUyOEQwMSoNCitYNDY5MjU1WTI5MTgzN0QwMSoNCitYNDY5NjQ1WTI5MTE5OUQwMSoNCitYNDcwMTMxWTI5MDYzMUQwMSoNCitYNDcwNjk5WTI5MDE0NUQwMSoNCitYNDcxMzM3WTI4OTc1NUQwMSoNCitYNDcyMDI4WTI4OTQ2OUQwMSoNCitYNDcyNzU1WTI4OTI5NEQwMSoNCitYNDczNDkzWTI4OTIzNkQwMSoNCitZMjY4NzY0RDAxKg0KK1g0NzI3NTVZMjY4NzA2RDAxKg0KK1g0NzIwMjhZMjY4NTMxRDAxKg0KK1g0NzEzMzdZMjY4MjQ1RDAxKg0KK1g0NzA2OTlZMjY3ODU1RDAxKg0KK1g0NzAxMzFZMjY3MzY5RDAxKg0KK1g0Njk2NDVZMjY2ODAxRDAxKg0KK1g0NjkyNTVZMjY2MTYzRDAxKg0KK1g0Njg5NjlZMjY1NDcyRDAxKg0KK1g0Njg3OTRZMjY0NzQ1RDAxKg0KK1g0Njg3MzVZMjY0MDAwRDAxKg0KK1g0Njg3OTRZMjYzMjU1RDAxKg0KK1g0Njg5NjlZMjYyNTI4RDAxKg0KK1g0NjkyNTVZMjYxODM3RDAxKg0KK1g0Njk2NDVZMjYxMTk5RDAxKg0KK1g0NzAxMzFZMjYwNjMxRDAxKg0KK1g0NzA2OTlZMjYwMTQ1RDAxKg0KK1g0NzEzMzdZMjU5NzU1RDAxKg0KK1g0NzIwMjhZMjU5NDY5RDAxKg0KK1g0NzI3NTVZMjU5Mjk0RDAxKg0KK1g0NzM0OTNZMjU5MjM2RDAxKg0KK1kyMzg3NjREMDEqDQorWDQ3Mjc1NVkyMzg3MDZEMDEqDQorWDQ3MjAyOFkyMzg1MzFEMDEqDQorWDQ3MTMzN1kyMzgyNDVEMDEqDQorWDQ3MDY5OVkyMzc4NTVEMDEqDQorWDQ3MDEzMVkyMzczNjlEMDEqDQorWDQ2OTY0NVkyMzY4MDFEMDEqDQorWDQ2OTI1NVkyMzYxNjNEMDEqDQorWDQ2ODk2OVkyMzU0NzJEMDEqDQorWDQ2ODc5NFkyMzQ3NDVEMDEqDQorWDQ2ODczNVkyMzQwMDBEMDEqDQorWDQ2ODc5NFkyMzMyNTVEMDEqDQorWDQ2ODk2OVkyMzI1MjhEMDEqDQorWDQ2OTI1NVkyMzE4MzdEMDEqDQorWDQ2OTY0NVkyMzExOTlEMDEqDQorWDQ3MDEzMVkyMzA2MzFEMDEqDQorWDQ3MDY5OVkyMzAxNDVEMDEqDQorWDQ3MTMzN1kyMjk3NTVEMDEqDQorWDQ3MjAyOFkyMjk0NjlEMDEqDQorWDQ3Mjc1NVkyMjkyOTREMDEqDQorWDQ3MzQ5M1kyMjkyMzZEMDEqDQorWTIwODc2NEQwMSoNCitYNDcyNzU1WTIwODcwNkQwMSoNCitYNDcyMDI4WTIwODUzMUQwMSoNCitYNDcxMzM3WTIwODI0NUQwMSoNCitYNDcwNjk5WTIwNzg1NUQwMSoNCitYNDcwMTMxWTIwNzM2OUQwMSoNCitYNDY5NjQ1WTIwNjgwMUQwMSoNCitYNDY5MjU1WTIwNjE2M0QwMSoNCitYNDY4OTY5WTIwNTQ3MkQwMSoNCitYNDY4Nzk0WTIwNDc0NUQwMSoNCitYNDY4NzM1WTIwNDAwMEQwMSoNCitYNDY4Nzk0WTIwMzI1NUQwMSoNCitYNDY4OTY5WTIwMjUyOEQwMSoNCitYNDY5MjU1WTIwMTgzN0QwMSoNCitYNDY5NjQ1WTIwMTE5OUQwMSoNCitYNDcwMTMxWTIwMDYzMUQwMSoNCitYNDcwNjk5WTIwMDE0NUQwMSoNCitYNDcxMzM3WTE5OTc1NUQwMSoNCitYNDcyMDI4WTE5OTQ2OUQwMSoNCitYNDcyNzU1WTE5OTI5NEQwMSoNCitYNDczNDkzWTE5OTIzNkQwMSoNCitZMTc4NzY0RDAxKg0KK1g0NzI3NTVZMTc4NzA2RDAxKg0KK1g0NzIwMjhZMTc4NTMxRDAxKg0KK1g0NzEzMzdZMTc4MjQ1RDAxKg0KK1g0NzA2OTlZMTc3ODU1RDAxKg0KK1g0NzAxMzFZMTc3MzY5RDAxKg0KK1g0Njk2NDVZMTc2ODAxRDAxKg0KK1g0NjkyNTVZMTc2MTYzRDAxKg0KK1g0Njg5NjlZMTc1NDcyRDAxKg0KK1g0Njg3OTRZMTc0NzQ1RDAxKg0KK1g0Njg3MzVZMTc0MDAwRDAxKg0KK1g0Njg3OTRZMTczMjU1RDAxKg0KK1g0Njg5NjlZMTcyNTI4RDAxKg0KK1g0NjkyNTVZMTcxODM3RDAxKg0KK1g0Njk2NDVZMTcxMTk5RDAxKg0KK1g0NzAxMzFZMTcwNjMxRDAxKg0KK1g0NzA2OTlZMTcwMTQ1RDAxKg0KK1g0NzEzMzdZMTY5NzU1RDAxKg0KK1g0NzIwMjhZMTY5NDY5RDAxKg0KK1g0NzI3NTVZMTY5Mjk0RDAxKg0KK1g0NzM0OTNZMTY5MjM2RDAxKg0KK1kxNDg3NjREMDEqDQorWDQ3Mjc1NVkxNDg3MDZEMDEqDQorWDQ3MjAyOFkxNDg1MzFEMDEqDQorWDQ3MTMzN1kxNDgyNDVEMDEqDQorWDQ3MDY5OVkxNDc4NTVEMDEqDQorWDQ3MDEzMVkxNDczNjlEMDEqDQorWDQ2OTY0NVkxNDY4MDFEMDEqDQorWDQ2OTI1NVkxNDYxNjNEMDEqDQorWDQ2ODk2OVkxNDU0NzJEMDEqDQorWDQ2ODc5NFkxNDQ3NDVEMDEqDQorWDQ2ODczNVkxNDQwMDBEMDEqDQorWDQ2ODc5NFkxNDMyNTVEMDEqDQorWDQ2ODk2OVkxNDI1MjhEMDEqDQorWDQ2OTI1NVkxNDE4MzdEMDEqDQorWDQ2OTY0NVkxNDExOTlEMDEqDQorWDQ3MDEzMVkxNDA2MzFEMDEqDQorWDQ3MDY5OVkxNDAxNDVEMDEqDQorWDQ3MTMzN1kxMzk3NTVEMDEqDQorWDQ3MjAyOFkxMzk0NjlEMDEqDQorWDQ3Mjc1NVkxMzkyOTREMDEqDQorWDQ3MzQ5M1kxMzkyMzZEMDEqDQorWTExODc2NEQwMSoNCitYNDcyNzU1WTExODcwNkQwMSoNCitYNDcyMDI4WTExODUzMUQwMSoNCitYNDcxMzM3WTExODI0NUQwMSoNCitYNDcwNjk5WTExNzg1NUQwMSoNCitYNDcwMTMxWTExNzM2OUQwMSoNCitYNDY5NjQ1WTExNjgwMUQwMSoNCitYNDY5MjU1WTExNjE2M0QwMSoNCitYNDY4OTY5WTExNTQ3MkQwMSoNCitYNDY4Nzk0WTExNDc0NUQwMSoNCitYNDY4NzM1WTExNDAwMEQwMSoNCitYNDY4Nzk0WTExMzI1NUQwMSoNCitYNDY4OTY5WTExMjUyOEQwMSoNCitYNDY5MjU1WTExMTgzN0QwMSoNCitYNDY5NjQ1WTExMTE5OUQwMSoNCitYNDcwMTMxWTExMDYzMUQwMSoNCitYNDcwNjk5WTExMDE0NUQwMSoNCitYNDcxMzM3WTEwOTc1NUQwMSoNCitYNDcyMDI4WTEwOTQ2OUQwMSoNCitYNDcyNzU1WTEwOTI5NEQwMSoNCitYNDczNDkzWTEwOTIzNkQwMSoNCitZODg3NjREMDEqDQorWDQ3Mjc1NVk4ODcwNkQwMSoNCitYNDcyMDI4WTg4NTMxRDAxKg0KK1g0NzEzMzdZODgyNDVEMDEqDQorWDQ3MDY5OVk4Nzg1NUQwMSoNCitYNDcwMTMxWTg3MzY5RDAxKg0KK1g0Njk2NDVZODY4MDFEMDEqDQorWDQ2OTI1NVk4NjE2M0QwMSoNCitYNDY4OTY5WTg1NDcyRDAxKg0KK1g0Njg3OTRZODQ3NDVEMDEqDQorWDQ2ODczNVk4NDAwMEQwMSoNCitYNDY4Nzk0WTgzMjU1RDAxKg0KK1g0Njg5NjlZODI1MjhEMDEqDQorWDQ2OTI1NVk4MTgzN0QwMSoNCitYNDY5NjQ1WTgxMTk5RDAxKg0KK1g0NzAxMzFZODA2MzFEMDEqDQorWDQ3MDY5OVk4MDE0NUQwMSoNCitYNDcxMzM3WTc5NzU1RDAxKg0KK1g0NzIwMjhZNzk0NjlEMDEqDQorWDQ3Mjc1NVk3OTI5NEQwMSoNCitYNDczNDkzWTc5MjM2RDAxKg0KK1k1ODc2NEQwMSoNCitYNDcyNzU1WTU4NzA2RDAxKg0KK1g0NzIwMjhZNTg1MzFEMDEqDQorWDQ3MTMzN1k1ODI0NUQwMSoNCitYNDcwNjk5WTU3ODU1RDAxKg0KK1g0NzAxMzFZNTczNjlEMDEqDQorWDQ2OTY0NVk1NjgwMUQwMSoNCitYNDY5MjU1WTU2MTYzRDAxKg0KK1g0Njg5NjlZNTU0NzJEMDEqDQorWDQ2ODc5NFk1NDc0NUQwMSoNCitYNDY4NzM1WTU0MDAwRDAxKg0KK1g0Njg3OTRZNTMyNTVEMDEqDQorWDQ2ODk2OVk1MjUyOEQwMSoNCitYNDY5MjU1WTUxODM3RDAxKg0KK1g0Njk2NDVZNTExOTlEMDEqDQorWDQ3MDEzMVk1MDYzMUQwMSoNCitYNDcwNjk5WTUwMTQ1RDAxKg0KK1g0NzEzMzdZNDk3NTVEMDEqDQorWDQ3MjAyOFk0OTQ2OUQwMSoNCitYNDcyNzU1WTQ5Mjk0RDAxKg0KK1g0NzM0OTNZNDkyMzZEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ2MzQ5M0QwMipYNDU4NDM3RDAxKg0KK1kxNjExOTJEMDEqDQorWDQ1ODQ0MVkxNjExOTFEMDEqDQorWDQ1ODg4MFkxNjEyMjZEMDEqDQorWDQ1OTMwOVkxNjEzMjlEMDEqDQorWDQ1OTcxNlkxNjE0OTdEMDEqDQorWDQ2MDA5MlkxNjE3MjhEMDEqDQorWDQ2MDQyN1kxNjIwMTREMDEqDQorWDQ2MDcxM1kxNjIzNDlEMDEqDQorWDQ2MDk0NFkxNjI3MjVEMDEqDQorWDQ2MTExMlkxNjMxMzJEMDEqDQorWDQ2MTIxNVkxNjM1NjFEMDEqDQorWDQ2MTI0MVkxNjQwMDBEMDEqDQorWDQ2MTIxNVkxNjQ0MzlEMDEqDQorWDQ2MTExMlkxNjQ4NjhEMDEqDQorWDQ2MDk0NFkxNjUyNzVEMDEqDQorWDQ2MDcxM1kxNjU2NTFEMDEqDQorWDQ2MDQyN1kxNjU5ODZEMDEqDQorWDQ2MDA5MlkxNjYyNzJEMDEqDQorWDQ1OTcxNlkxNjY1MDNEMDEqDQorWDQ1OTMwOVkxNjY2NzFEMDEqDQorWDQ1ODg4MFkxNjY3NzREMDEqDQorWDQ1ODQ0MVkxNjY4MDlEMDEqDQorWDQ1ODQzN1kxNjY4MDhEMDEqDQorWTE5MjE5MkQwMSoNCitYNDU4NDQxWTE5MjE5MUQwMSoNCitYNDU4ODgwWTE5MjIyNkQwMSoNCitYNDU5MzA5WTE5MjMyOUQwMSoNCitYNDU5NzE2WTE5MjQ5N0QwMSoNCitYNDYwMDkyWTE5MjcyOEQwMSoNCitYNDYwNDI3WTE5MzAxNEQwMSoNCitYNDYwNzEzWTE5MzM0OUQwMSoNCitYNDYwOTQ0WTE5MzcyNUQwMSoNCitYNDYxMTEyWTE5NDEzMkQwMSoNCitYNDYxMjE1WTE5NDU2MUQwMSoNCitYNDYxMjQxWTE5NTAwMEQwMSoNCitYNDYxMjE1WTE5NTQzOUQwMSoNCitYNDYxMTEyWTE5NTg2OEQwMSoNCitYNDYwOTQ0WTE5NjI3NUQwMSoNCitYNDYwNzEzWTE5NjY1MUQwMSoNCitYNDYwNDI3WTE5Njk4NkQwMSoNCitYNDYwMDkyWTE5NzI3MkQwMSoNCitYNDU5NzE2WTE5NzUwM0QwMSoNCitYNDU5MzA5WTE5NzY3MUQwMSoNCitYNDU4ODgwWTE5Nzc3NEQwMSoNCitYNDU4NDQxWTE5NzgwOUQwMSoNCitYNDU4NDM3WTE5NzgwOEQwMSoNCitZMjIyMTkyRDAxKg0KK1g0NTg0NDFZMjIyMTkxRDAxKg0KK1g0NTg4ODBZMjIyMjI2RDAxKg0KK1g0NTkzMDlZMjIyMzI5RDAxKg0KK1g0NTk3MTZZMjIyNDk3RDAxKg0KK1g0NjAwOTJZMjIyNzI4RDAxKg0KK1g0NjA0MjdZMjIzMDE0RDAxKg0KK1g0NjA3MTNZMjIzMzQ5RDAxKg0KK1g0NjA5NDRZMjIzNzI1RDAxKg0KK1g0NjExMTJZMjI0MTMyRDAxKg0KK1g0NjEyMTVZMjI0NTYxRDAxKg0KK1g0NjEyNDFZMjI1MDAwRDAxKg0KK1g0NjEyMTVZMjI1NDM5RDAxKg0KK1g0NjExMTJZMjI1ODY4RDAxKg0KK1g0NjA5NDRZMjI2Mjc1RDAxKg0KK1g0NjA3MTNZMjI2NjUxRDAxKg0KK1g0NjA0MjdZMjI2OTg2RDAxKg0KK1g0NjAwOTJZMjI3MjcyRDAxKg0KK1g0NTk3MTZZMjI3NTAzRDAxKg0KK1g0NTkzMDlZMjI3NjcxRDAxKg0KK1g0NTg4ODBZMjI3Nzc0RDAxKg0KK1g0NTg0NDFZMjI3ODA5RDAxKg0KK1g0NTg0MzdZMjI3ODA4RDAxKg0KK1kyNTExOTJEMDEqDQorWDQ1ODQ0MVkyNTExOTFEMDEqDQorWDQ1ODg4MFkyNTEyMjZEMDEqDQorWDQ1OTMwOVkyNTEzMjlEMDEqDQorWDQ1OTcxNlkyNTE0OTdEMDEqDQorWDQ2MDA5MlkyNTE3MjhEMDEqDQorWDQ2MDQyN1kyNTIwMTREMDEqDQorWDQ2MDcxM1kyNTIzNDlEMDEqDQorWDQ2MDk0NFkyNTI3MjVEMDEqDQorWDQ2MTExMlkyNTMxMzJEMDEqDQorWDQ2MTIxNVkyNTM1NjFEMDEqDQorWDQ2MTI0MVkyNTQwMDBEMDEqDQorWDQ2MTIxNVkyNTQ0MzlEMDEqDQorWDQ2MTExMlkyNTQ4NjhEMDEqDQorWDQ2MDk0NFkyNTUyNzVEMDEqDQorWDQ2MDcxM1kyNTU2NTFEMDEqDQorWDQ2MDQyN1kyNTU5ODZEMDEqDQorWDQ2MDA5MlkyNTYyNzJEMDEqDQorWDQ1OTcxNlkyNTY1MDNEMDEqDQorWDQ1OTMwOVkyNTY2NzFEMDEqDQorWDQ1ODg4MFkyNTY3NzREMDEqDQorWDQ1ODQ0MVkyNTY4MDlEMDEqDQorWDQ1ODQzN1kyNTY4MDhEMDEqDQorWTI4MjE5MkQwMSoNCitYNDU4NDQxWTI4MjE5MUQwMSoNCitYNDU4ODgwWTI4MjIyNkQwMSoNCitYNDU5MzA5WTI4MjMyOUQwMSoNCitYNDU5NzE2WTI4MjQ5N0QwMSoNCitYNDYwMDkyWTI4MjcyOEQwMSoNCitYNDYwNDI3WTI4MzAxNEQwMSoNCitYNDYwNzEzWTI4MzM0OUQwMSoNCitYNDYwOTQ0WTI4MzcyNUQwMSoNCitYNDYxMTEyWTI4NDEzMkQwMSoNCitYNDYxMjE1WTI4NDU2MUQwMSoNCitYNDYxMjQxWTI4NTAwMEQwMSoNCitYNDYxMjE1WTI4NTQzOUQwMSoNCitYNDYxMTEyWTI4NTg2OEQwMSoNCitYNDYwOTQ0WTI4NjI3NUQwMSoNCitYNDYwNzEzWTI4NjY1MUQwMSoNCitYNDYwNDI3WTI4Njk4NkQwMSoNCitYNDYwMDkyWTI4NzI3MkQwMSoNCitYNDU5NzE2WTI4NzUwM0QwMSoNCitYNDU5MzA5WTI4NzY3MUQwMSoNCitYNDU4ODgwWTI4Nzc3NEQwMSoNCitYNDU4NDQxWTI4NzgwOUQwMSoNCitYNDU4NDM3WTI4NzgwOEQwMSoNCitZMzEyMTkyRDAxKg0KK1g0NTg0NDFZMzEyMTkxRDAxKg0KK1g0NTg4ODBZMzEyMjI2RDAxKg0KK1g0NTkzMDlZMzEyMzI5RDAxKg0KK1g0NTk3MTZZMzEyNDk3RDAxKg0KK1g0NjAwOTJZMzEyNzI4RDAxKg0KK1g0NjA0MjdZMzEzMDE0RDAxKg0KK1g0NjA3MTNZMzEzMzQ5RDAxKg0KK1g0NjA5NDRZMzEzNzI1RDAxKg0KK1g0NjExMTJZMzE0MTMyRDAxKg0KK1g0NjEyMTVZMzE0NTYxRDAxKg0KK1g0NjEyNDFZMzE1MDAwRDAxKg0KK1g0NjEyMTVZMzE1NDM5RDAxKg0KK1g0NjExMTJZMzE1ODY4RDAxKg0KK1g0NjA5NDRZMzE2Mjc1RDAxKg0KK1g0NjA3MTNZMzE2NjUxRDAxKg0KK1g0NjA0MjdZMzE2OTg2RDAxKg0KK1g0NjAwOTJZMzE3MjcyRDAxKg0KK1g0NTk3MTZZMzE3NTAzRDAxKg0KK1g0NTkzMDlZMzE3NjcxRDAxKg0KK1g0NTg4ODBZMzE3Nzc0RDAxKg0KK1g0NTg0NDFZMzE3ODA5RDAxKg0KK1g0NTg0MzdZMzE3ODA4RDAxKg0KK1kzNDIxOTJEMDEqDQorWDQ1ODQ0MVkzNDIxOTFEMDEqDQorWDQ1ODg4MFkzNDIyMjZEMDEqDQorWDQ1OTMwOVkzNDIzMjlEMDEqDQorWDQ1OTcxNlkzNDI0OTdEMDEqDQorWDQ2MDA5MlkzNDI3MjhEMDEqDQorWDQ2MDQyN1kzNDMwMTREMDEqDQorWDQ2MDcxM1kzNDMzNDlEMDEqDQorWDQ2MDk0NFkzNDM3MjVEMDEqDQorWDQ2MTExMlkzNDQxMzJEMDEqDQorWDQ2MTIxNVkzNDQ1NjFEMDEqDQorWDQ2MTI0MVkzNDUwMDBEMDEqDQorWDQ2MTIxNVkzNDU0MzlEMDEqDQorWDQ2MTExMlkzNDU4NjhEMDEqDQorWDQ2MDk0NFkzNDYyNzVEMDEqDQorWDQ2MDcxM1kzNDY2NTFEMDEqDQorWDQ2MDQyN1kzNDY5ODZEMDEqDQorWDQ2MDA5MlkzNDcyNzJEMDEqDQorWDQ1OTcxNlkzNDc1MDNEMDEqDQorWDQ1OTMwOVkzNDc2NzFEMDEqDQorWDQ1ODg4MFkzNDc3NzREMDEqDQorWDQ1ODQ0MVkzNDc4MDlEMDEqDQorWDQ1ODQzN1kzNDc4MDhEMDEqDQorWTM3MjE5MkQwMSoNCitYNDU4NDQxWTM3MjE5MUQwMSoNCitYNDU4ODgwWTM3MjIyNkQwMSoNCitYNDU5MzA5WTM3MjMyOUQwMSoNCitYNDU5NzE2WTM3MjQ5N0QwMSoNCitYNDYwMDkyWTM3MjcyOEQwMSoNCitYNDYwNDI3WTM3MzAxNEQwMSoNCitYNDYwNzEzWTM3MzM0OUQwMSoNCitYNDYwOTQ0WTM3MzcyNUQwMSoNCitYNDYxMTEyWTM3NDEzMkQwMSoNCitYNDYxMjE1WTM3NDU2MUQwMSoNCitYNDYxMjQxWTM3NTAwMEQwMSoNCitYNDYxMjE1WTM3NTQzOUQwMSoNCitYNDYxMTEyWTM3NTg2OEQwMSoNCitYNDYwOTQ0WTM3NjI3NUQwMSoNCitYNDYwNzEzWTM3NjY1MUQwMSoNCitYNDYwNDI3WTM3Njk4NkQwMSoNCitYNDYwMDkyWTM3NzI3MkQwMSoNCitYNDU5NzE2WTM3NzUwM0QwMSoNCitYNDU5MzA5WTM3NzY3MUQwMSoNCitYNDU4ODgwWTM3Nzc3NEQwMSoNCitYNDU4NDQxWTM3NzgwOUQwMSoNCitYNDU4NDM3WTM3NzgwOEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NjM0OTNEMDEqDQorWTM4ODc2NEQwMSoNCitYNDYyNzU1WTM4ODcwNkQwMSoNCitYNDYyMDI4WTM4ODUzMUQwMSoNCitYNDYxMzM3WTM4ODI0NUQwMSoNCitYNDYwNjk5WTM4Nzg1NUQwMSoNCitYNDYwMTMxWTM4NzM2OUQwMSoNCitYNDU5NjQ1WTM4NjgwMUQwMSoNCitYNDU5MjU1WTM4NjE2M0QwMSoNCitYNDU4OTY5WTM4NTQ3MkQwMSoNCitYNDU4Nzk0WTM4NDc0NUQwMSoNCitYNDU4NzM1WTM4NDAwMEQwMSoNCitYNDU4Nzk0WTM4MzI1NUQwMSoNCitYNDU4OTY5WTM4MjUyOEQwMSoNCitYNDU5MjU1WTM4MTgzN0QwMSoNCitYNDU5NjQ1WTM4MTE5OUQwMSoNCitYNDYwMTMxWTM4MDYzMUQwMSoNCitYNDYwNjk5WTM4MDE0NUQwMSoNCitYNDYxMzM3WTM3OTc1NUQwMSoNCitYNDYyMDI4WTM3OTQ2OUQwMSoNCitYNDYyNzU1WTM3OTI5NEQwMSoNCitYNDYzNDkzWTM3OTIzNkQwMSoNCitZMzU4NzY0RDAxKg0KK1g0NjI3NTVZMzU4NzA2RDAxKg0KK1g0NjIwMjhZMzU4NTMxRDAxKg0KK1g0NjEzMzdZMzU4MjQ1RDAxKg0KK1g0NjA2OTlZMzU3ODU1RDAxKg0KK1g0NjAxMzFZMzU3MzY5RDAxKg0KK1g0NTk2NDVZMzU2ODAxRDAxKg0KK1g0NTkyNTVZMzU2MTYzRDAxKg0KK1g0NTg5NjlZMzU1NDcyRDAxKg0KK1g0NTg3OTRZMzU0NzQ1RDAxKg0KK1g0NTg3MzVZMzU0MDAwRDAxKg0KK1g0NTg3OTRZMzUzMjU1RDAxKg0KK1g0NTg5NjlZMzUyNTI4RDAxKg0KK1g0NTkyNTVZMzUxODM3RDAxKg0KK1g0NTk2NDVZMzUxMTk5RDAxKg0KK1g0NjAxMzFZMzUwNjMxRDAxKg0KK1g0NjA2OTlZMzUwMTQ1RDAxKg0KK1g0NjEzMzdZMzQ5NzU1RDAxKg0KK1g0NjIwMjhZMzQ5NDY5RDAxKg0KK1g0NjI3NTVZMzQ5Mjk0RDAxKg0KK1g0NjM0OTNZMzQ5MjM2RDAxKg0KK1kzMjg3NjREMDEqDQorWDQ2Mjc1NVkzMjg3MDZEMDEqDQorWDQ2MjAyOFkzMjg1MzFEMDEqDQorWDQ2MTMzN1kzMjgyNDVEMDEqDQorWDQ2MDY5OVkzMjc4NTVEMDEqDQorWDQ2MDEzMVkzMjczNjlEMDEqDQorWDQ1OTY0NVkzMjY4MDFEMDEqDQorWDQ1OTI1NVkzMjYxNjNEMDEqDQorWDQ1ODk2OVkzMjU0NzJEMDEqDQorWDQ1ODc5NFkzMjQ3NDVEMDEqDQorWDQ1ODczNVkzMjQwMDBEMDEqDQorWDQ1ODc5NFkzMjMyNTVEMDEqDQorWDQ1ODk2OVkzMjI1MjhEMDEqDQorWDQ1OTI1NVkzMjE4MzdEMDEqDQorWDQ1OTY0NVkzMjExOTlEMDEqDQorWDQ2MDEzMVkzMjA2MzFEMDEqDQorWDQ2MDY5OVkzMjAxNDVEMDEqDQorWDQ2MTMzN1kzMTk3NTVEMDEqDQorWDQ2MjAyOFkzMTk0NjlEMDEqDQorWDQ2Mjc1NVkzMTkyOTREMDEqDQorWDQ2MzQ5M1kzMTkyMzZEMDEqDQorWTI5ODc2NEQwMSoNCitYNDYyNzU1WTI5ODcwNkQwMSoNCitYNDYyMDI4WTI5ODUzMUQwMSoNCitYNDYxMzM3WTI5ODI0NUQwMSoNCitYNDYwNjk5WTI5Nzg1NUQwMSoNCitYNDYwMTMxWTI5NzM2OUQwMSoNCitYNDU5NjQ1WTI5NjgwMUQwMSoNCitYNDU5MjU1WTI5NjE2M0QwMSoNCitYNDU4OTY5WTI5NTQ3MkQwMSoNCitYNDU4Nzk0WTI5NDc0NUQwMSoNCitYNDU4NzM1WTI5NDAwMEQwMSoNCitYNDU4Nzk0WTI5MzI1NUQwMSoNCitYNDU4OTY5WTI5MjUyOEQwMSoNCitYNDU5MjU1WTI5MTgzN0QwMSoNCitYNDU5NjQ1WTI5MTE5OUQwMSoNCitYNDYwMTMxWTI5MDYzMUQwMSoNCitYNDYwNjk5WTI5MDE0NUQwMSoNCitYNDYxMzM3WTI4OTc1NUQwMSoNCitYNDYyMDI4WTI4OTQ2OUQwMSoNCitYNDYyNzU1WTI4OTI5NEQwMSoNCitYNDYzNDkzWTI4OTIzNkQwMSoNCitZMjY4NzY0RDAxKg0KK1g0NjI3NTVZMjY4NzA2RDAxKg0KK1g0NjIwMjhZMjY4NTMxRDAxKg0KK1g0NjEzMzdZMjY4MjQ1RDAxKg0KK1g0NjA2OTlZMjY3ODU1RDAxKg0KK1g0NjAxMzFZMjY3MzY5RDAxKg0KK1g0NTk2NDVZMjY2ODAxRDAxKg0KK1g0NTkyNTVZMjY2MTYzRDAxKg0KK1g0NTg5NjlZMjY1NDcyRDAxKg0KK1g0NTg3OTRZMjY0NzQ1RDAxKg0KK1g0NTg3MzVZMjY0MDAwRDAxKg0KK1g0NTg3OTRZMjYzMjU1RDAxKg0KK1g0NTg5NjlZMjYyNTI4RDAxKg0KK1g0NTkyNTVZMjYxODM3RDAxKg0KK1g0NTk2NDVZMjYxMTk5RDAxKg0KK1g0NjAxMzFZMjYwNjMxRDAxKg0KK1g0NjA2OTlZMjYwMTQ1RDAxKg0KK1g0NjEzMzdZMjU5NzU1RDAxKg0KK1g0NjIwMjhZMjU5NDY5RDAxKg0KK1g0NjI3NTVZMjU5Mjk0RDAxKg0KK1g0NjM0OTNZMjU5MjM2RDAxKg0KK1kyMzg3NjREMDEqDQorWDQ2Mjc1NVkyMzg3MDZEMDEqDQorWDQ2MjAyOFkyMzg1MzFEMDEqDQorWDQ2MTMzN1kyMzgyNDVEMDEqDQorWDQ2MDY5OVkyMzc4NTVEMDEqDQorWDQ2MDEzMVkyMzczNjlEMDEqDQorWDQ1OTY0NVkyMzY4MDFEMDEqDQorWDQ1OTI1NVkyMzYxNjNEMDEqDQorWDQ1ODk2OVkyMzU0NzJEMDEqDQorWDQ1ODc5NFkyMzQ3NDVEMDEqDQorWDQ1ODczNVkyMzQwMDBEMDEqDQorWDQ1ODc5NFkyMzMyNTVEMDEqDQorWDQ1ODk2OVkyMzI1MjhEMDEqDQorWDQ1OTI1NVkyMzE4MzdEMDEqDQorWDQ1OTY0NVkyMzExOTlEMDEqDQorWDQ2MDEzMVkyMzA2MzFEMDEqDQorWDQ2MDY5OVkyMzAxNDVEMDEqDQorWDQ2MTMzN1kyMjk3NTVEMDEqDQorWDQ2MjAyOFkyMjk0NjlEMDEqDQorWDQ2Mjc1NVkyMjkyOTREMDEqDQorWDQ2MzQ5M1kyMjkyMzZEMDEqDQorWTIwODc2NEQwMSoNCitYNDYyNzU1WTIwODcwNkQwMSoNCitYNDYyMDI4WTIwODUzMUQwMSoNCitYNDYxMzM3WTIwODI0NUQwMSoNCitYNDYwNjk5WTIwNzg1NUQwMSoNCitYNDYwMTMxWTIwNzM2OUQwMSoNCitYNDU5NjQ1WTIwNjgwMUQwMSoNCitYNDU5MjU1WTIwNjE2M0QwMSoNCitYNDU4OTY5WTIwNTQ3MkQwMSoNCitYNDU4Nzk0WTIwNDc0NUQwMSoNCitYNDU4NzM1WTIwNDAwMEQwMSoNCitYNDU4Nzk0WTIwMzI1NUQwMSoNCitYNDU4OTY5WTIwMjUyOEQwMSoNCitYNDU5MjU1WTIwMTgzN0QwMSoNCitYNDU5NjQ1WTIwMTE5OUQwMSoNCitYNDYwMTMxWTIwMDYzMUQwMSoNCitYNDYwNjk5WTIwMDE0NUQwMSoNCitYNDYxMzM3WTE5OTc1NUQwMSoNCitYNDYyMDI4WTE5OTQ2OUQwMSoNCitYNDYyNzU1WTE5OTI5NEQwMSoNCitYNDYzNDkzWTE5OTIzNkQwMSoNCitZMTc4NzY0RDAxKg0KK1g0NjI3NTVZMTc4NzA2RDAxKg0KK1g0NjIwMjhZMTc4NTMxRDAxKg0KK1g0NjEzMzdZMTc4MjQ1RDAxKg0KK1g0NjA2OTlZMTc3ODU1RDAxKg0KK1g0NjAxMzFZMTc3MzY5RDAxKg0KK1g0NTk2NDVZMTc2ODAxRDAxKg0KK1g0NTkyNTVZMTc2MTYzRDAxKg0KK1g0NTg5NjlZMTc1NDcyRDAxKg0KK1g0NTg3OTRZMTc0NzQ1RDAxKg0KK1g0NTg3MzVZMTc0MDAwRDAxKg0KK1g0NTg3OTRZMTczMjU1RDAxKg0KK1g0NTg5NjlZMTcyNTI4RDAxKg0KK1g0NTkyNTVZMTcxODM3RDAxKg0KK1g0NTk2NDVZMTcxMTk5RDAxKg0KK1g0NjAxMzFZMTcwNjMxRDAxKg0KK1g0NjA2OTlZMTcwMTQ1RDAxKg0KK1g0NjEzMzdZMTY5NzU1RDAxKg0KK1g0NjIwMjhZMTY5NDY5RDAxKg0KK1g0NjI3NTVZMTY5Mjk0RDAxKg0KK1g0NjM0OTNZMTY5MjM2RDAxKg0KK1kxNDg3NjREMDEqDQorWDQ2Mjc1NVkxNDg3MDZEMDEqDQorWDQ2MjAyOFkxNDg1MzFEMDEqDQorWDQ2MTMzN1kxNDgyNDVEMDEqDQorWDQ2MDY5OVkxNDc4NTVEMDEqDQorWDQ2MDEzMVkxNDczNjlEMDEqDQorWDQ1OTY0NVkxNDY4MDFEMDEqDQorWDQ1OTI1NVkxNDYxNjNEMDEqDQorWDQ1ODk2OVkxNDU0NzJEMDEqDQorWDQ1ODc5NFkxNDQ3NDVEMDEqDQorWDQ1ODczNVkxNDQwMDBEMDEqDQorWDQ1ODc5NFkxNDMyNTVEMDEqDQorWDQ1ODk2OVkxNDI1MjhEMDEqDQorWDQ1OTI1NVkxNDE4MzdEMDEqDQorWDQ1OTY0NVkxNDExOTlEMDEqDQorWDQ2MDEzMVkxNDA2MzFEMDEqDQorWDQ2MDY5OVkxNDAxNDVEMDEqDQorWDQ2MTMzN1kxMzk3NTVEMDEqDQorWDQ2MjAyOFkxMzk0NjlEMDEqDQorWDQ2Mjc1NVkxMzkyOTREMDEqDQorWDQ2MzQ5M1kxMzkyMzZEMDEqDQorWTExODc2NEQwMSoNCitYNDYyNzU1WTExODcwNkQwMSoNCitYNDYyMDI4WTExODUzMUQwMSoNCitYNDYxMzM3WTExODI0NUQwMSoNCitYNDYwNjk5WTExNzg1NUQwMSoNCitYNDYwMTMxWTExNzM2OUQwMSoNCitYNDU5NjQ1WTExNjgwMUQwMSoNCitYNDU5MjU1WTExNjE2M0QwMSoNCitYNDU4OTY5WTExNTQ3MkQwMSoNCitYNDU4Nzk0WTExNDc0NUQwMSoNCitYNDU4NzM1WTExNDAwMEQwMSoNCitYNDU4Nzk0WTExMzI1NUQwMSoNCitYNDU4OTY5WTExMjUyOEQwMSoNCitYNDU5MjU1WTExMTgzN0QwMSoNCitYNDU5NjQ1WTExMTE5OUQwMSoNCitYNDYwMTMxWTExMDYzMUQwMSoNCitYNDYwNjk5WTExMDE0NUQwMSoNCitYNDYxMzM3WTEwOTc1NUQwMSoNCitYNDYyMDI4WTEwOTQ2OUQwMSoNCitYNDYyNzU1WTEwOTI5NEQwMSoNCitYNDYzNDkzWTEwOTIzNkQwMSoNCitZODg3NjREMDEqDQorWDQ2Mjc1NVk4ODcwNkQwMSoNCitYNDYyMDI4WTg4NTMxRDAxKg0KK1g0NjEzMzdZODgyNDVEMDEqDQorWDQ2MDY5OVk4Nzg1NUQwMSoNCitYNDYwMTMxWTg3MzY5RDAxKg0KK1g0NTk2NDVZODY4MDFEMDEqDQorWDQ1OTI1NVk4NjE2M0QwMSoNCitYNDU4OTY5WTg1NDcyRDAxKg0KK1g0NTg3OTRZODQ3NDVEMDEqDQorWDQ1ODczNVk4NDAwMEQwMSoNCitYNDU4Nzk0WTgzMjU1RDAxKg0KK1g0NTg5NjlZODI1MjhEMDEqDQorWDQ1OTI1NVk4MTgzN0QwMSoNCitYNDU5NjQ1WTgxMTk5RDAxKg0KK1g0NjAxMzFZODA2MzFEMDEqDQorWDQ2MDY5OVk4MDE0NUQwMSoNCitYNDYxMzM3WTc5NzU1RDAxKg0KK1g0NjIwMjhZNzk0NjlEMDEqDQorWDQ2Mjc1NVk3OTI5NEQwMSoNCitYNDYzNDkzWTc5MjM2RDAxKg0KK1k1ODc2NEQwMSoNCitYNDYyNzU1WTU4NzA2RDAxKg0KK1g0NjIwMjhZNTg1MzFEMDEqDQorWDQ2MTMzN1k1ODI0NUQwMSoNCitYNDYwNjk5WTU3ODU1RDAxKg0KK1g0NjAxMzFZNTczNjlEMDEqDQorWDQ1OTY0NVk1NjgwMUQwMSoNCitYNDU5MjU1WTU2MTYzRDAxKg0KK1g0NTg5NjlZNTU0NzJEMDEqDQorWDQ1ODc5NFk1NDc0NUQwMSoNCitYNDU4NzM1WTU0MDAwRDAxKg0KK1g0NTg3OTRZNTMyNTVEMDEqDQorWDQ1ODk2OVk1MjUyOEQwMSoNCitYNDU5MjU1WTUxODM3RDAxKg0KK1g0NTk2NDVZNTExOTlEMDEqDQorWDQ2MDEzMVk1MDYzMUQwMSoNCitYNDYwNjk5WTUwMTQ1RDAxKg0KK1g0NjEzMzdZNDk3NTVEMDEqDQorWDQ2MjAyOFk0OTQ2OUQwMSoNCitYNDYyNzU1WTQ5Mjk0RDAxKg0KK1g0NjM0OTNZNDkyMzZEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ1NzUwMFkxOTIzNTlEMDIqWDQ1NzU3M1kxOTIzMjlEMDEqDQorWDQ1ODAwMlkxOTIyMjZEMDEqDQorWDQ1ODQzN1kxOTIxOTJEMDEqDQorWTE2NjgwOEQwMSoNCitYNDU4MDAyWTE2Njc3NEQwMSoNCitYNDU3NTczWTE2NjY3MUQwMSoNCitYNDU3NTAwWTE2NjY0MUQwMSoNCitZMTcxNDk4RDAxKg0KK1g0NTc2MThZMTcxNTA3RDAxKg0KK1g0NTc3MzJZMTcxNTM1RDAxKg0KK1g0NTc4NDJZMTcxNTgwRDAxKg0KK1g0NTc5NDJZMTcxNjQxRDAxKg0KK1g0NTgwMzJZMTcxNzE4RDAxKg0KK1g0NTgxMDlZMTcxODA4RDAxKg0KK1g0NTgxNzBZMTcxOTA4RDAxKg0KK1g0NTgyMTVZMTcyMDE4RDAxKg0KK1g0NTgyNDNZMTcyMTMyRDAxKg0KK1g0NTgyNTBZMTcyMjUwRDAxKg0KK1kxNzU3NTBEMDEqDQorWDQ1ODI0M1kxNzU4NjhEMDEqDQorWDQ1ODIxNVkxNzU5ODJEMDEqDQorWDQ1ODE3MFkxNzYwOTJEMDEqDQorWDQ1ODEwOVkxNzYxOTJEMDEqDQorWDQ1ODAzMlkxNzYyODJEMDEqDQorWDQ1Nzk0MlkxNzYzNTlEMDEqDQorWDQ1Nzg0MlkxNzY0MjBEMDEqDQorWDQ1NzczMlkxNzY0NjVEMDEqDQorWDQ1NzYxOFkxNzY0OTNEMDEqDQorWDQ1NzUwMFkxNzY1MDJEMDEqDQorWTE5MjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjIzNTlEMDIqWDQ1NzU3M1kyMjIzMjlEMDEqDQorWDQ1ODAwMlkyMjIyMjZEMDEqDQorWDQ1ODQzN1kyMjIxOTJEMDEqDQorWTE5NzgwOEQwMSoNCitYNDU4MDAyWTE5Nzc3NEQwMSoNCitYNDU3NTczWTE5NzY3MUQwMSoNCitYNDU3NTAwWTE5NzY0MUQwMSoNCitZMjAxNDk4RDAxKg0KK1g0NTc2MThZMjAxNTA3RDAxKg0KK1g0NTc3MzJZMjAxNTM1RDAxKg0KK1g0NTc4NDJZMjAxNTgwRDAxKg0KK1g0NTc5NDJZMjAxNjQxRDAxKg0KK1g0NTgwMzJZMjAxNzE4RDAxKg0KK1g0NTgxMDlZMjAxODA4RDAxKg0KK1g0NTgxNzBZMjAxOTA4RDAxKg0KK1g0NTgyMTVZMjAyMDE4RDAxKg0KK1g0NTgyNDNZMjAyMTMyRDAxKg0KK1g0NTgyNTBZMjAyMjUwRDAxKg0KK1kyMDU3NTBEMDEqDQorWDQ1ODI0M1kyMDU4NjhEMDEqDQorWDQ1ODIxNVkyMDU5ODJEMDEqDQorWDQ1ODE3MFkyMDYwOTJEMDEqDQorWDQ1ODEwOVkyMDYxOTJEMDEqDQorWDQ1ODAzMlkyMDYyODJEMDEqDQorWDQ1Nzk0MlkyMDYzNTlEMDEqDQorWDQ1Nzg0MlkyMDY0MjBEMDEqDQorWDQ1NzczMlkyMDY0NjVEMDEqDQorWDQ1NzYxOFkyMDY0OTNEMDEqDQorWDQ1NzUwMFkyMDY1MDJEMDEqDQorWTIyMjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNTEzNTlEMDIqWDQ1NzU3M1kyNTEzMjlEMDEqDQorWDQ1ODAwMlkyNTEyMjZEMDEqDQorWDQ1ODQzN1kyNTExOTJEMDEqDQorWTIyNzgwOEQwMSoNCitYNDU4MDAyWTIyNzc3NEQwMSoNCitYNDU3NTczWTIyNzY3MUQwMSoNCitYNDU3NTAwWTIyNzY0MUQwMSoNCitZMjMxNDk4RDAxKg0KK1g0NTc2MThZMjMxNTA3RDAxKg0KK1g0NTc3MzJZMjMxNTM1RDAxKg0KK1g0NTc4NDJZMjMxNTgwRDAxKg0KK1g0NTc5NDJZMjMxNjQxRDAxKg0KK1g0NTgwMzJZMjMxNzE4RDAxKg0KK1g0NTgxMDlZMjMxODA4RDAxKg0KK1g0NTgxNzBZMjMxOTA4RDAxKg0KK1g0NTgyMTVZMjMyMDE4RDAxKg0KK1g0NTgyNDNZMjMyMTMyRDAxKg0KK1g0NTgyNTBZMjMyMjUwRDAxKg0KK1kyMzU3NTBEMDEqDQorWDQ1ODI0M1kyMzU4NjhEMDEqDQorWDQ1ODIxNVkyMzU5ODJEMDEqDQorWDQ1ODE3MFkyMzYwOTJEMDEqDQorWDQ1ODEwOVkyMzYxOTJEMDEqDQorWDQ1ODAzMlkyMzYyODJEMDEqDQorWDQ1Nzk0MlkyMzYzNTlEMDEqDQorWDQ1Nzg0MlkyMzY0MjBEMDEqDQorWDQ1NzczMlkyMzY0NjVEMDEqDQorWDQ1NzYxOFkyMzY0OTNEMDEqDQorWDQ1NzUwMFkyMzY1MDJEMDEqDQorWTI1MTM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyODIzNTlEMDIqWDQ1NzU3M1kyODIzMjlEMDEqDQorWDQ1ODAwMlkyODIyMjZEMDEqDQorWDQ1ODQzN1kyODIxOTJEMDEqDQorWTI1NjgwOEQwMSoNCitYNDU4MDAyWTI1Njc3NEQwMSoNCitYNDU3NTczWTI1NjY3MUQwMSoNCitYNDU3NTAwWTI1NjY0MUQwMSoNCitZMjYxNDk4RDAxKg0KK1g0NTc2MThZMjYxNTA3RDAxKg0KK1g0NTc3MzJZMjYxNTM1RDAxKg0KK1g0NTc4NDJZMjYxNTgwRDAxKg0KK1g0NTc5NDJZMjYxNjQxRDAxKg0KK1g0NTgwMzJZMjYxNzE4RDAxKg0KK1g0NTgxMDlZMjYxODA4RDAxKg0KK1g0NTgxNzBZMjYxOTA4RDAxKg0KK1g0NTgyMTVZMjYyMDE4RDAxKg0KK1g0NTgyNDNZMjYyMTMyRDAxKg0KK1g0NTgyNTBZMjYyMjUwRDAxKg0KK1kyNjU3NTBEMDEqDQorWDQ1ODI0M1kyNjU4NjhEMDEqDQorWDQ1ODIxNVkyNjU5ODJEMDEqDQorWDQ1ODE3MFkyNjYwOTJEMDEqDQorWDQ1ODEwOVkyNjYxOTJEMDEqDQorWDQ1ODAzMlkyNjYyODJEMDEqDQorWDQ1Nzk0MlkyNjYzNTlEMDEqDQorWDQ1Nzg0MlkyNjY0MjBEMDEqDQorWDQ1NzczMlkyNjY0NjVEMDEqDQorWDQ1NzYxOFkyNjY0OTNEMDEqDQorWDQ1NzUwMFkyNjY1MDJEMDEqDQorWTI4MjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMTIzNTlEMDIqWDQ1NzU3M1kzMTIzMjlEMDEqDQorWDQ1ODAwMlkzMTIyMjZEMDEqDQorWDQ1ODQzN1kzMTIxOTJEMDEqDQorWTI4NzgwOEQwMSoNCitYNDU4MDAyWTI4Nzc3NEQwMSoNCitYNDU3NTczWTI4NzY3MUQwMSoNCitYNDU3NTAwWTI4NzY0MUQwMSoNCitZMjkxNDk4RDAxKg0KK1g0NTc2MThZMjkxNTA3RDAxKg0KK1g0NTc3MzJZMjkxNTM1RDAxKg0KK1g0NTc4NDJZMjkxNTgwRDAxKg0KK1g0NTc5NDJZMjkxNjQxRDAxKg0KK1g0NTgwMzJZMjkxNzE4RDAxKg0KK1g0NTgxMDlZMjkxODA4RDAxKg0KK1g0NTgxNzBZMjkxOTA4RDAxKg0KK1g0NTgyMTVZMjkyMDE4RDAxKg0KK1g0NTgyNDNZMjkyMTMyRDAxKg0KK1g0NTgyNTBZMjkyMjUwRDAxKg0KK1kyOTU3NTBEMDEqDQorWDQ1ODI0M1kyOTU4NjhEMDEqDQorWDQ1ODIxNVkyOTU5ODJEMDEqDQorWDQ1ODE3MFkyOTYwOTJEMDEqDQorWDQ1ODEwOVkyOTYxOTJEMDEqDQorWDQ1ODAzMlkyOTYyODJEMDEqDQorWDQ1Nzk0MlkyOTYzNTlEMDEqDQorWDQ1Nzg0MlkyOTY0MjBEMDEqDQorWDQ1NzczMlkyOTY0NjVEMDEqDQorWDQ1NzYxOFkyOTY0OTNEMDEqDQorWDQ1NzUwMFkyOTY1MDJEMDEqDQorWTMxMjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNDIzNTlEMDIqWDQ1NzU3M1kzNDIzMjlEMDEqDQorWDQ1ODAwMlkzNDIyMjZEMDEqDQorWDQ1ODQzN1kzNDIxOTJEMDEqDQorWTMxNzgwOEQwMSoNCitYNDU4MDAyWTMxNzc3NEQwMSoNCitYNDU3NTczWTMxNzY3MUQwMSoNCitYNDU3NTAwWTMxNzY0MUQwMSoNCitZMzIxNDk4RDAxKg0KK1g0NTc2MThZMzIxNTA3RDAxKg0KK1g0NTc3MzJZMzIxNTM1RDAxKg0KK1g0NTc4NDJZMzIxNTgwRDAxKg0KK1g0NTc5NDJZMzIxNjQxRDAxKg0KK1g0NTgwMzJZMzIxNzE4RDAxKg0KK1g0NTgxMDlZMzIxODA4RDAxKg0KK1g0NTgxNzBZMzIxOTA4RDAxKg0KK1g0NTgyMTVZMzIyMDE4RDAxKg0KK1g0NTgyNDNZMzIyMTMyRDAxKg0KK1g0NTgyNTBZMzIyMjUwRDAxKg0KK1kzMjU3NTBEMDEqDQorWDQ1ODI0M1kzMjU4NjhEMDEqDQorWDQ1ODIxNVkzMjU5ODJEMDEqDQorWDQ1ODE3MFkzMjYwOTJEMDEqDQorWDQ1ODEwOVkzMjYxOTJEMDEqDQorWDQ1ODAzMlkzMjYyODJEMDEqDQorWDQ1Nzk0MlkzMjYzNTlEMDEqDQorWDQ1Nzg0MlkzMjY0MjBEMDEqDQorWDQ1NzczMlkzMjY0NjVEMDEqDQorWDQ1NzYxOFkzMjY0OTNEMDEqDQorWDQ1NzUwMFkzMjY1MDJEMDEqDQorWTM0MjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzIzNTlEMDIqWDQ1NzU3M1kzNzIzMjlEMDEqDQorWDQ1ODAwMlkzNzIyMjZEMDEqDQorWDQ1ODQzN1kzNzIxOTJEMDEqDQorWTM0NzgwOEQwMSoNCitYNDU4MDAyWTM0Nzc3NEQwMSoNCitYNDU3NTczWTM0NzY3MUQwMSoNCitYNDU3NTAwWTM0NzY0MUQwMSoNCitZMzUxNDk4RDAxKg0KK1g0NTc2MThZMzUxNTA3RDAxKg0KK1g0NTc3MzJZMzUxNTM1RDAxKg0KK1g0NTc4NDJZMzUxNTgwRDAxKg0KK1g0NTc5NDJZMzUxNjQxRDAxKg0KK1g0NTgwMzJZMzUxNzE4RDAxKg0KK1g0NTgxMDlZMzUxODA4RDAxKg0KK1g0NTgxNzBZMzUxOTA4RDAxKg0KK1g0NTgyMTVZMzUyMDE4RDAxKg0KK1g0NTgyNDNZMzUyMTMyRDAxKg0KK1g0NTgyNTBZMzUyMjUwRDAxKg0KK1kzNTU3NTBEMDEqDQorWDQ1ODI0M1kzNTU4NjhEMDEqDQorWDQ1ODIxNVkzNTU5ODJEMDEqDQorWDQ1ODE3MFkzNTYwOTJEMDEqDQorWDQ1ODEwOVkzNTYxOTJEMDEqDQorWDQ1ODAzMlkzNTYyODJEMDEqDQorWDQ1Nzk0MlkzNTYzNTlEMDEqDQorWDQ1Nzg0MlkzNTY0MjBEMDEqDQorWDQ1NzczMlkzNTY0NjVEMDEqDQorWDQ1NzYxOFkzNTY0OTNEMDEqDQorWDQ1NzUwMFkzNTY1MDJEMDEqDQorWTM3MjM1OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDQ1ODQzN0QwMSoNCitZMzc3ODA4RDAxKg0KK1g0NTgwMDJZMzc3Nzc0RDAxKg0KK1g0NTc1NzNZMzc3NjcxRDAxKg0KK1g0NTc1MDBZMzc3NjQxRDAxKg0KK1kzODE0OThEMDEqDQorWDQ1NzYxOFkzODE1MDdEMDEqDQorWDQ1NzczMlkzODE1MzVEMDEqDQorWDQ1Nzg0MlkzODE1ODBEMDEqDQorWDQ1Nzk0MlkzODE2NDFEMDEqDQorWDQ1ODAzMlkzODE3MThEMDEqDQorWDQ1ODEwOVkzODE4MDhEMDEqDQorWDQ1ODE3MFkzODE5MDhEMDEqDQorWDQ1ODIxNVkzODIwMThEMDEqDQorWDQ1ODI0M1kzODIxMzJEMDEqDQorWDQ1ODI1MFkzODIyNTBEMDEqDQorWTM4NTc1MEQwMSoNCitYNDU4MjQzWTM4NTg2OEQwMSoNCitYNDU4MjE1WTM4NTk4MkQwMSoNCitYNDU4MTcwWTM4NjA5MkQwMSoNCitYNDU4MTA5WTM4NjE5MkQwMSoNCitYNDU4MDMyWTM4NjI4MkQwMSoNCitYNDU3OTQyWTM4NjM1OUQwMSoNCitYNDU3ODQyWTM4NjQyMEQwMSoNCitYNDU3NzMyWTM4NjQ2NUQwMSoNCitYNDU3NjE4WTM4NjQ5M0QwMSoNCitYNDU3NTAwWTM4NjUwMkQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ1ODQzN1kzOTAwMEQwMipYNDU3NTAwRDAxKg0KK1k1MTQ5OEQwMSoNCitYNDU3NjE4WTUxNTA3RDAxKg0KK1g0NTc3MzJZNTE1MzVEMDEqDQorWDQ1Nzg0Mlk1MTU4MEQwMSoNCitYNDU3OTQyWTUxNjQxRDAxKg0KK1g0NTgwMzJZNTE3MThEMDEqDQorWDQ1ODEwOVk1MTgwOEQwMSoNCitYNDU4MTcwWTUxOTA4RDAxKg0KK1g0NTgyMTVZNTIwMThEMDEqDQorWDQ1ODI0M1k1MjEzMkQwMSoNCitYNDU4MjUwWTUyMjUwRDAxKg0KK1k1NTc1MEQwMSoNCitYNDU4MjQzWTU1ODY4RDAxKg0KK1g0NTgyMTVZNTU5ODJEMDEqDQorWDQ1ODE3MFk1NjA5MkQwMSoNCitYNDU4MTA5WTU2MTkyRDAxKg0KK1g0NTgwMzJZNTYyODJEMDEqDQorWDQ1Nzk0Mlk1NjM1OUQwMSoNCitYNDU3ODQyWTU2NDIwRDAxKg0KK1g0NTc3MzJZNTY0NjVEMDEqDQorWDQ1NzYxOFk1NjQ5M0QwMSoNCitYNDU3NTAwWTU2NTAyRDAxKg0KK1k4MTQ5OEQwMSoNCitYNDU3NjE4WTgxNTA3RDAxKg0KK1g0NTc3MzJZODE1MzVEMDEqDQorWDQ1Nzg0Mlk4MTU4MEQwMSoNCitYNDU3OTQyWTgxNjQxRDAxKg0KK1g0NTgwMzJZODE3MThEMDEqDQorWDQ1ODEwOVk4MTgwOEQwMSoNCitYNDU4MTcwWTgxOTA4RDAxKg0KK1g0NTgyMTVZODIwMThEMDEqDQorWDQ1ODI0M1k4MjEzMkQwMSoNCitYNDU4MjUwWTgyMjUwRDAxKg0KK1k4NTc1MEQwMSoNCitYNDU4MjQzWTg1ODY4RDAxKg0KK1g0NTgyMTVZODU5ODJEMDEqDQorWDQ1ODE3MFk4NjA5MkQwMSoNCitYNDU4MTA5WTg2MTkyRDAxKg0KK1g0NTgwMzJZODYyODJEMDEqDQorWDQ1Nzk0Mlk4NjM1OUQwMSoNCitYNDU3ODQyWTg2NDIwRDAxKg0KK1g0NTc3MzJZODY0NjVEMDEqDQorWDQ1NzYxOFk4NjQ5M0QwMSoNCitYNDU3NTAwWTg2NTAyRDAxKg0KK1kxMTE0OThEMDEqDQorWDQ1NzYxOFkxMTE1MDdEMDEqDQorWDQ1NzczMlkxMTE1MzVEMDEqDQorWDQ1Nzg0MlkxMTE1ODBEMDEqDQorWDQ1Nzk0MlkxMTE2NDFEMDEqDQorWDQ1ODAzMlkxMTE3MThEMDEqDQorWDQ1ODEwOVkxMTE4MDhEMDEqDQorWDQ1ODE3MFkxMTE5MDhEMDEqDQorWDQ1ODIxNVkxMTIwMThEMDEqDQorWDQ1ODI0M1kxMTIxMzJEMDEqDQorWDQ1ODI1MFkxMTIyNTBEMDEqDQorWTExNTc1MEQwMSoNCitYNDU4MjQzWTExNTg2OEQwMSoNCitYNDU4MjE1WTExNTk4MkQwMSoNCitYNDU4MTcwWTExNjA5MkQwMSoNCitYNDU4MTA5WTExNjE5MkQwMSoNCitYNDU4MDMyWTExNjI4MkQwMSoNCitYNDU3OTQyWTExNjM1OUQwMSoNCitYNDU3ODQyWTExNjQyMEQwMSoNCitYNDU3NzMyWTExNjQ2NUQwMSoNCitYNDU3NjE4WTExNjQ5M0QwMSoNCitYNDU3NTAwWTExNjUwMkQwMSoNCitZMTQxNDk4RDAxKg0KK1g0NTc2MThZMTQxNTA3RDAxKg0KK1g0NTc3MzJZMTQxNTM1RDAxKg0KK1g0NTc4NDJZMTQxNTgwRDAxKg0KK1g0NTc5NDJZMTQxNjQxRDAxKg0KK1g0NTgwMzJZMTQxNzE4RDAxKg0KK1g0NTgxMDlZMTQxODA4RDAxKg0KK1g0NTgxNzBZMTQxOTA4RDAxKg0KK1g0NTgyMTVZMTQyMDE4RDAxKg0KK1g0NTgyNDNZMTQyMTMyRDAxKg0KK1g0NTgyNTBZMTQyMjUwRDAxKg0KK1kxNDU3NTBEMDEqDQorWDQ1ODI0M1kxNDU4NjhEMDEqDQorWDQ1ODIxNVkxNDU5ODJEMDEqDQorWDQ1ODE3MFkxNDYwOTJEMDEqDQorWDQ1ODEwOVkxNDYxOTJEMDEqDQorWDQ1ODAzMlkxNDYyODJEMDEqDQorWDQ1Nzk0MlkxNDYzNTlEMDEqDQorWDQ1Nzg0MlkxNDY0MjBEMDEqDQorWDQ1NzczMlkxNDY0NjVEMDEqDQorWDQ1NzYxOFkxNDY0OTNEMDEqDQorWDQ1NzUwMFkxNDY1MDJEMDEqDQorWTE2MTM1OUQwMSoNCitYNDU3NTczWTE2MTMyOUQwMSoNCitYNDU4MDAyWTE2MTIyNkQwMSoNCitYNDU4NDM3WTE2MTE5MkQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDU3NTAwRDAyKlg0NTM1MDBEMDEqDQorWTQ5MjUwRDAxKg0KK1g0NTUyNTBEMDEqDQorWDQ1NTM2OFk0OTI1N0QwMSoNCitYNDU1NDgyWTQ5Mjg1RDAxKg0KK1g0NTU1OTJZNDkzMzBEMDEqDQorWDQ1NTY5Mlk0OTM5MUQwMSoNCitYNDU1NzgyWTQ5NDY4RDAxKg0KK1g0NTU4NTlZNDk1NThEMDEqDQorWDQ1NTkyMFk0OTY1OEQwMSoNCitYNDU1OTY1WTQ5NzY4RDAxKg0KK1g0NTU5OTNZNDk4ODJEMDEqDQorWDQ1NjAwMlk1MDAwMEQwMSoNCitYNDU1OTkzWTUwMTE4RDAxKg0KK1g0NTU5NjVZNTAyMzJEMDEqDQorWDQ1NTkyMFk1MDM0MkQwMSoNCitYNDU1ODU5WTUwNDQyRDAxKg0KK1g0NTU3ODJZNTA1MzJEMDEqDQorWDQ1NTY5Mlk1MDYwOUQwMSoNCitYNDU1NTkyWTUwNjcwRDAxKg0KK1g0NTU0ODJZNTA3MTVEMDEqDQorWDQ1NTM2OFk1MDc0M0QwMSoNCitYNDU1MjUwWTUwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTU3MjUwRDAxKg0KK1g0NTUyNTBEMDEqDQorWDQ1NTM2OFk1NzI1N0QwMSoNCitYNDU1NDgyWTU3Mjg1RDAxKg0KK1g0NTU1OTJZNTczMzBEMDEqDQorWDQ1NTY5Mlk1NzM5MUQwMSoNCitYNDU1NzgyWTU3NDY4RDAxKg0KK1g0NTU4NTlZNTc1NThEMDEqDQorWDQ1NTkyMFk1NzY1OEQwMSoNCitYNDU1OTY1WTU3NzY4RDAxKg0KK1g0NTU5OTNZNTc4ODJEMDEqDQorWDQ1NjAwMlk1ODAwMEQwMSoNCitYNDU1OTkzWTU4MTE4RDAxKg0KK1g0NTU5NjVZNTgyMzJEMDEqDQorWDQ1NTkyMFk1ODM0MkQwMSoNCitYNDU1ODU5WTU4NDQyRDAxKg0KK1g0NTU3ODJZNTg1MzJEMDEqDQorWDQ1NTY5Mlk1ODYwOUQwMSoNCitYNDU1NTkyWTU4NjcwRDAxKg0KK1g0NTU0ODJZNTg3MTVEMDEqDQorWDQ1NTM2OFk1ODc0M0QwMSoNCitYNDU1MjUwWTU4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTc5MjUwRDAxKg0KK1g0NTUyNTBEMDEqDQorWDQ1NTM2OFk3OTI1N0QwMSoNCitYNDU1NDgyWTc5Mjg1RDAxKg0KK1g0NTU1OTJZNzkzMzBEMDEqDQorWDQ1NTY5Mlk3OTM5MUQwMSoNCitYNDU1NzgyWTc5NDY4RDAxKg0KK1g0NTU4NTlZNzk1NThEMDEqDQorWDQ1NTkyMFk3OTY1OEQwMSoNCitYNDU1OTY1WTc5NzY4RDAxKg0KK1g0NTU5OTNZNzk4ODJEMDEqDQorWDQ1NjAwMlk4MDAwMEQwMSoNCitYNDU1OTkzWTgwMTE4RDAxKg0KK1g0NTU5NjVZODAyMzJEMDEqDQorWDQ1NTkyMFk4MDM0MkQwMSoNCitYNDU1ODU5WTgwNDQyRDAxKg0KK1g0NTU3ODJZODA1MzJEMDEqDQorWDQ1NTY5Mlk4MDYwOUQwMSoNCitYNDU1NTkyWTgwNjcwRDAxKg0KK1g0NTU0ODJZODA3MTVEMDEqDQorWDQ1NTM2OFk4MDc0M0QwMSoNCitYNDU1MjUwWTgwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTg3MjUwRDAxKg0KK1g0NTUyNTBEMDEqDQorWDQ1NTM2OFk4NzI1N0QwMSoNCitYNDU1NDgyWTg3Mjg1RDAxKg0KK1g0NTU1OTJZODczMzBEMDEqDQorWDQ1NTY5Mlk4NzM5MUQwMSoNCitYNDU1NzgyWTg3NDY4RDAxKg0KK1g0NTU4NTlZODc1NThEMDEqDQorWDQ1NTkyMFk4NzY1OEQwMSoNCitYNDU1OTY1WTg3NzY4RDAxKg0KK1g0NTU5OTNZODc4ODJEMDEqDQorWDQ1NjAwMlk4ODAwMEQwMSoNCitYNDU1OTkzWTg4MTE4RDAxKg0KK1g0NTU5NjVZODgyMzJEMDEqDQorWDQ1NTkyMFk4ODM0MkQwMSoNCitYNDU1ODU5WTg4NDQyRDAxKg0KK1g0NTU3ODJZODg1MzJEMDEqDQorWDQ1NTY5Mlk4ODYwOUQwMSoNCitYNDU1NTkyWTg4NjcwRDAxKg0KK1g0NTU0ODJZODg3MTVEMDEqDQorWDQ1NTM2OFk4ODc0M0QwMSoNCitYNDU1MjUwWTg4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTEwOTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTA5MjU3RDAxKg0KK1g0NTU0ODJZMTA5Mjg1RDAxKg0KK1g0NTU1OTJZMTA5MzMwRDAxKg0KK1g0NTU2OTJZMTA5MzkxRDAxKg0KK1g0NTU3ODJZMTA5NDY4RDAxKg0KK1g0NTU4NTlZMTA5NTU4RDAxKg0KK1g0NTU5MjBZMTA5NjU4RDAxKg0KK1g0NTU5NjVZMTA5NzY4RDAxKg0KK1g0NTU5OTNZMTA5ODgyRDAxKg0KK1g0NTYwMDJZMTEwMDAwRDAxKg0KK1g0NTU5OTNZMTEwMTE4RDAxKg0KK1g0NTU5NjVZMTEwMjMyRDAxKg0KK1g0NTU5MjBZMTEwMzQyRDAxKg0KK1g0NTU4NTlZMTEwNDQyRDAxKg0KK1g0NTU3ODJZMTEwNTMyRDAxKg0KK1g0NTU2OTJZMTEwNjA5RDAxKg0KK1g0NTU1OTJZMTEwNjcwRDAxKg0KK1g0NTU0ODJZMTEwNzE1RDAxKg0KK1g0NTUzNjhZMTEwNzQzRDAxKg0KK1g0NTUyNTBZMTEwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTExNzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTE3MjU3RDAxKg0KK1g0NTU0ODJZMTE3Mjg1RDAxKg0KK1g0NTU1OTJZMTE3MzMwRDAxKg0KK1g0NTU2OTJZMTE3MzkxRDAxKg0KK1g0NTU3ODJZMTE3NDY4RDAxKg0KK1g0NTU4NTlZMTE3NTU4RDAxKg0KK1g0NTU5MjBZMTE3NjU4RDAxKg0KK1g0NTU5NjVZMTE3NzY4RDAxKg0KK1g0NTU5OTNZMTE3ODgyRDAxKg0KK1g0NTYwMDJZMTE4MDAwRDAxKg0KK1g0NTU5OTNZMTE4MTE4RDAxKg0KK1g0NTU5NjVZMTE4MjMyRDAxKg0KK1g0NTU5MjBZMTE4MzQyRDAxKg0KK1g0NTU4NTlZMTE4NDQyRDAxKg0KK1g0NTU3ODJZMTE4NTMyRDAxKg0KK1g0NTU2OTJZMTE4NjA5RDAxKg0KK1g0NTU1OTJZMTE4NjcwRDAxKg0KK1g0NTU0ODJZMTE4NzE1RDAxKg0KK1g0NTUzNjhZMTE4NzQzRDAxKg0KK1g0NTUyNTBZMTE4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTEzOTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTM5MjU3RDAxKg0KK1g0NTU0ODJZMTM5Mjg1RDAxKg0KK1g0NTU1OTJZMTM5MzMwRDAxKg0KK1g0NTU2OTJZMTM5MzkxRDAxKg0KK1g0NTU3ODJZMTM5NDY4RDAxKg0KK1g0NTU4NTlZMTM5NTU4RDAxKg0KK1g0NTU5MjBZMTM5NjU4RDAxKg0KK1g0NTU5NjVZMTM5NzY4RDAxKg0KK1g0NTU5OTNZMTM5ODgyRDAxKg0KK1g0NTYwMDJZMTQwMDAwRDAxKg0KK1g0NTU5OTNZMTQwMTE4RDAxKg0KK1g0NTU5NjVZMTQwMjMyRDAxKg0KK1g0NTU5MjBZMTQwMzQyRDAxKg0KK1g0NTU4NTlZMTQwNDQyRDAxKg0KK1g0NTU3ODJZMTQwNTMyRDAxKg0KK1g0NTU2OTJZMTQwNjA5RDAxKg0KK1g0NTU1OTJZMTQwNjcwRDAxKg0KK1g0NTU0ODJZMTQwNzE1RDAxKg0KK1g0NTUzNjhZMTQwNzQzRDAxKg0KK1g0NTUyNTBZMTQwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE0NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTQ3MjU3RDAxKg0KK1g0NTU0ODJZMTQ3Mjg1RDAxKg0KK1g0NTU1OTJZMTQ3MzMwRDAxKg0KK1g0NTU2OTJZMTQ3MzkxRDAxKg0KK1g0NTU3ODJZMTQ3NDY4RDAxKg0KK1g0NTU4NTlZMTQ3NTU4RDAxKg0KK1g0NTU5MjBZMTQ3NjU4RDAxKg0KK1g0NTU5NjVZMTQ3NzY4RDAxKg0KK1g0NTU5OTNZMTQ3ODgyRDAxKg0KK1g0NTYwMDJZMTQ4MDAwRDAxKg0KK1g0NTU5OTNZMTQ4MTE4RDAxKg0KK1g0NTU5NjVZMTQ4MjMyRDAxKg0KK1g0NTU5MjBZMTQ4MzQyRDAxKg0KK1g0NTU4NTlZMTQ4NDQyRDAxKg0KK1g0NTU3ODJZMTQ4NTMyRDAxKg0KK1g0NTU2OTJZMTQ4NjA5RDAxKg0KK1g0NTU1OTJZMTQ4NjcwRDAxKg0KK1g0NTU0ODJZMTQ4NzE1RDAxKg0KK1g0NTUzNjhZMTQ4NzQzRDAxKg0KK1g0NTUyNTBZMTQ4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE2OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTY5MjU3RDAxKg0KK1g0NTU0ODJZMTY5Mjg1RDAxKg0KK1g0NTU1OTJZMTY5MzMwRDAxKg0KK1g0NTU2OTJZMTY5MzkxRDAxKg0KK1g0NTU3ODJZMTY5NDY4RDAxKg0KK1g0NTU4NTlZMTY5NTU4RDAxKg0KK1g0NTU5MjBZMTY5NjU4RDAxKg0KK1g0NTU5NjVZMTY5NzY4RDAxKg0KK1g0NTU5OTNZMTY5ODgyRDAxKg0KK1g0NTYwMDJZMTcwMDAwRDAxKg0KK1g0NTU5OTNZMTcwMTE4RDAxKg0KK1g0NTU5NjVZMTcwMjMyRDAxKg0KK1g0NTU5MjBZMTcwMzQyRDAxKg0KK1g0NTU4NTlZMTcwNDQyRDAxKg0KK1g0NTU3ODJZMTcwNTMyRDAxKg0KK1g0NTU2OTJZMTcwNjA5RDAxKg0KK1g0NTU1OTJZMTcwNjcwRDAxKg0KK1g0NTU0ODJZMTcwNzE1RDAxKg0KK1g0NTUzNjhZMTcwNzQzRDAxKg0KK1g0NTUyNTBZMTcwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE3NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTc3MjU3RDAxKg0KK1g0NTU0ODJZMTc3Mjg1RDAxKg0KK1g0NTU1OTJZMTc3MzMwRDAxKg0KK1g0NTU2OTJZMTc3MzkxRDAxKg0KK1g0NTU3ODJZMTc3NDY4RDAxKg0KK1g0NTU4NTlZMTc3NTU4RDAxKg0KK1g0NTU5MjBZMTc3NjU4RDAxKg0KK1g0NTU5NjVZMTc3NzY4RDAxKg0KK1g0NTU5OTNZMTc3ODgyRDAxKg0KK1g0NTYwMDJZMTc4MDAwRDAxKg0KK1g0NTU5OTNZMTc4MTE4RDAxKg0KK1g0NTU5NjVZMTc4MjMyRDAxKg0KK1g0NTU5MjBZMTc4MzQyRDAxKg0KK1g0NTU4NTlZMTc4NDQyRDAxKg0KK1g0NTU3ODJZMTc4NTMyRDAxKg0KK1g0NTU2OTJZMTc4NjA5RDAxKg0KK1g0NTU1OTJZMTc4NjcwRDAxKg0KK1g0NTU0ODJZMTc4NzE1RDAxKg0KK1g0NTUzNjhZMTc4NzQzRDAxKg0KK1g0NTUyNTBZMTc4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE5OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMTk5MjU3RDAxKg0KK1g0NTU0ODJZMTk5Mjg1RDAxKg0KK1g0NTU1OTJZMTk5MzMwRDAxKg0KK1g0NTU2OTJZMTk5MzkxRDAxKg0KK1g0NTU3ODJZMTk5NDY4RDAxKg0KK1g0NTU4NTlZMTk5NTU4RDAxKg0KK1g0NTU5MjBZMTk5NjU4RDAxKg0KK1g0NTU5NjVZMTk5NzY4RDAxKg0KK1g0NTU5OTNZMTk5ODgyRDAxKg0KK1g0NTYwMDJZMjAwMDAwRDAxKg0KK1g0NTU5OTNZMjAwMTE4RDAxKg0KK1g0NTU5NjVZMjAwMjMyRDAxKg0KK1g0NTU5MjBZMjAwMzQyRDAxKg0KK1g0NTU4NTlZMjAwNDQyRDAxKg0KK1g0NTU3ODJZMjAwNTMyRDAxKg0KK1g0NTU2OTJZMjAwNjA5RDAxKg0KK1g0NTU1OTJZMjAwNjcwRDAxKg0KK1g0NTU0ODJZMjAwNzE1RDAxKg0KK1g0NTUzNjhZMjAwNzQzRDAxKg0KK1g0NTUyNTBZMjAwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIwNzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjA3MjU3RDAxKg0KK1g0NTU0ODJZMjA3Mjg1RDAxKg0KK1g0NTU1OTJZMjA3MzMwRDAxKg0KK1g0NTU2OTJZMjA3MzkxRDAxKg0KK1g0NTU3ODJZMjA3NDY4RDAxKg0KK1g0NTU4NTlZMjA3NTU4RDAxKg0KK1g0NTU5MjBZMjA3NjU4RDAxKg0KK1g0NTU5NjVZMjA3NzY4RDAxKg0KK1g0NTU5OTNZMjA3ODgyRDAxKg0KK1g0NTYwMDJZMjA4MDAwRDAxKg0KK1g0NTU5OTNZMjA4MTE4RDAxKg0KK1g0NTU5NjVZMjA4MjMyRDAxKg0KK1g0NTU5MjBZMjA4MzQyRDAxKg0KK1g0NTU4NTlZMjA4NDQyRDAxKg0KK1g0NTU3ODJZMjA4NTMyRDAxKg0KK1g0NTU2OTJZMjA4NjA5RDAxKg0KK1g0NTU1OTJZMjA4NjcwRDAxKg0KK1g0NTU0ODJZMjA4NzE1RDAxKg0KK1g0NTUzNjhZMjA4NzQzRDAxKg0KK1g0NTUyNTBZMjA4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIyOTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjI5MjU3RDAxKg0KK1g0NTU0ODJZMjI5Mjg1RDAxKg0KK1g0NTU1OTJZMjI5MzMwRDAxKg0KK1g0NTU2OTJZMjI5MzkxRDAxKg0KK1g0NTU3ODJZMjI5NDY4RDAxKg0KK1g0NTU4NTlZMjI5NTU4RDAxKg0KK1g0NTU5MjBZMjI5NjU4RDAxKg0KK1g0NTU5NjVZMjI5NzY4RDAxKg0KK1g0NTU5OTNZMjI5ODgyRDAxKg0KK1g0NTYwMDJZMjMwMDAwRDAxKg0KK1g0NTU5OTNZMjMwMTE4RDAxKg0KK1g0NTU5NjVZMjMwMjMyRDAxKg0KK1g0NTU5MjBZMjMwMzQyRDAxKg0KK1g0NTU4NTlZMjMwNDQyRDAxKg0KK1g0NTU3ODJZMjMwNTMyRDAxKg0KK1g0NTU2OTJZMjMwNjA5RDAxKg0KK1g0NTU1OTJZMjMwNjcwRDAxKg0KK1g0NTU0ODJZMjMwNzE1RDAxKg0KK1g0NTUzNjhZMjMwNzQzRDAxKg0KK1g0NTUyNTBZMjMwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIzNzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjM3MjU3RDAxKg0KK1g0NTU0ODJZMjM3Mjg1RDAxKg0KK1g0NTU1OTJZMjM3MzMwRDAxKg0KK1g0NTU2OTJZMjM3MzkxRDAxKg0KK1g0NTU3ODJZMjM3NDY4RDAxKg0KK1g0NTU4NTlZMjM3NTU4RDAxKg0KK1g0NTU5MjBZMjM3NjU4RDAxKg0KK1g0NTU5NjVZMjM3NzY4RDAxKg0KK1g0NTU5OTNZMjM3ODgyRDAxKg0KK1g0NTYwMDJZMjM4MDAwRDAxKg0KK1g0NTU5OTNZMjM4MTE4RDAxKg0KK1g0NTU5NjVZMjM4MjMyRDAxKg0KK1g0NTU5MjBZMjM4MzQyRDAxKg0KK1g0NTU4NTlZMjM4NDQyRDAxKg0KK1g0NTU3ODJZMjM4NTMyRDAxKg0KK1g0NTU2OTJZMjM4NjA5RDAxKg0KK1g0NTU1OTJZMjM4NjcwRDAxKg0KK1g0NTU0ODJZMjM4NzE1RDAxKg0KK1g0NTUzNjhZMjM4NzQzRDAxKg0KK1g0NTUyNTBZMjM4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI1OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjU5MjU3RDAxKg0KK1g0NTU0ODJZMjU5Mjg1RDAxKg0KK1g0NTU1OTJZMjU5MzMwRDAxKg0KK1g0NTU2OTJZMjU5MzkxRDAxKg0KK1g0NTU3ODJZMjU5NDY4RDAxKg0KK1g0NTU4NTlZMjU5NTU4RDAxKg0KK1g0NTU5MjBZMjU5NjU4RDAxKg0KK1g0NTU5NjVZMjU5NzY4RDAxKg0KK1g0NTU5OTNZMjU5ODgyRDAxKg0KK1g0NTYwMDJZMjYwMDAwRDAxKg0KK1g0NTU5OTNZMjYwMTE4RDAxKg0KK1g0NTU5NjVZMjYwMjMyRDAxKg0KK1g0NTU5MjBZMjYwMzQyRDAxKg0KK1g0NTU4NTlZMjYwNDQyRDAxKg0KK1g0NTU3ODJZMjYwNTMyRDAxKg0KK1g0NTU2OTJZMjYwNjA5RDAxKg0KK1g0NTU1OTJZMjYwNjcwRDAxKg0KK1g0NTU0ODJZMjYwNzE1RDAxKg0KK1g0NTUzNjhZMjYwNzQzRDAxKg0KK1g0NTUyNTBZMjYwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI2NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjY3MjU3RDAxKg0KK1g0NTU0ODJZMjY3Mjg1RDAxKg0KK1g0NTU1OTJZMjY3MzMwRDAxKg0KK1g0NTU2OTJZMjY3MzkxRDAxKg0KK1g0NTU3ODJZMjY3NDY4RDAxKg0KK1g0NTU4NTlZMjY3NTU4RDAxKg0KK1g0NTU5MjBZMjY3NjU4RDAxKg0KK1g0NTU5NjVZMjY3NzY4RDAxKg0KK1g0NTU5OTNZMjY3ODgyRDAxKg0KK1g0NTYwMDJZMjY4MDAwRDAxKg0KK1g0NTU5OTNZMjY4MTE4RDAxKg0KK1g0NTU5NjVZMjY4MjMyRDAxKg0KK1g0NTU5MjBZMjY4MzQyRDAxKg0KK1g0NTU4NTlZMjY4NDQyRDAxKg0KK1g0NTU3ODJZMjY4NTMyRDAxKg0KK1g0NTU2OTJZMjY4NjA5RDAxKg0KK1g0NTU1OTJZMjY4NjcwRDAxKg0KK1g0NTU0ODJZMjY4NzE1RDAxKg0KK1g0NTUzNjhZMjY4NzQzRDAxKg0KK1g0NTUyNTBZMjY4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI4OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjg5MjU3RDAxKg0KK1g0NTU0ODJZMjg5Mjg1RDAxKg0KK1g0NTU1OTJZMjg5MzMwRDAxKg0KK1g0NTU2OTJZMjg5MzkxRDAxKg0KK1g0NTU3ODJZMjg5NDY4RDAxKg0KK1g0NTU4NTlZMjg5NTU4RDAxKg0KK1g0NTU5MjBZMjg5NjU4RDAxKg0KK1g0NTU5NjVZMjg5NzY4RDAxKg0KK1g0NTU5OTNZMjg5ODgyRDAxKg0KK1g0NTYwMDJZMjkwMDAwRDAxKg0KK1g0NTU5OTNZMjkwMTE4RDAxKg0KK1g0NTU5NjVZMjkwMjMyRDAxKg0KK1g0NTU5MjBZMjkwMzQyRDAxKg0KK1g0NTU4NTlZMjkwNDQyRDAxKg0KK1g0NTU3ODJZMjkwNTMyRDAxKg0KK1g0NTU2OTJZMjkwNjA5RDAxKg0KK1g0NTU1OTJZMjkwNjcwRDAxKg0KK1g0NTU0ODJZMjkwNzE1RDAxKg0KK1g0NTUzNjhZMjkwNzQzRDAxKg0KK1g0NTUyNTBZMjkwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI5NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMjk3MjU3RDAxKg0KK1g0NTU0ODJZMjk3Mjg1RDAxKg0KK1g0NTU1OTJZMjk3MzMwRDAxKg0KK1g0NTU2OTJZMjk3MzkxRDAxKg0KK1g0NTU3ODJZMjk3NDY4RDAxKg0KK1g0NTU4NTlZMjk3NTU4RDAxKg0KK1g0NTU5MjBZMjk3NjU4RDAxKg0KK1g0NTU5NjVZMjk3NzY4RDAxKg0KK1g0NTU5OTNZMjk3ODgyRDAxKg0KK1g0NTYwMDJZMjk4MDAwRDAxKg0KK1g0NTU5OTNZMjk4MTE4RDAxKg0KK1g0NTU5NjVZMjk4MjMyRDAxKg0KK1g0NTU5MjBZMjk4MzQyRDAxKg0KK1g0NTU4NTlZMjk4NDQyRDAxKg0KK1g0NTU3ODJZMjk4NTMyRDAxKg0KK1g0NTU2OTJZMjk4NjA5RDAxKg0KK1g0NTU1OTJZMjk4NjcwRDAxKg0KK1g0NTU0ODJZMjk4NzE1RDAxKg0KK1g0NTUzNjhZMjk4NzQzRDAxKg0KK1g0NTUyNTBZMjk4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTMxOTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzE5MjU3RDAxKg0KK1g0NTU0ODJZMzE5Mjg1RDAxKg0KK1g0NTU1OTJZMzE5MzMwRDAxKg0KK1g0NTU2OTJZMzE5MzkxRDAxKg0KK1g0NTU3ODJZMzE5NDY4RDAxKg0KK1g0NTU4NTlZMzE5NTU4RDAxKg0KK1g0NTU5MjBZMzE5NjU4RDAxKg0KK1g0NTU5NjVZMzE5NzY4RDAxKg0KK1g0NTU5OTNZMzE5ODgyRDAxKg0KK1g0NTYwMDJZMzIwMDAwRDAxKg0KK1g0NTU5OTNZMzIwMTE4RDAxKg0KK1g0NTU5NjVZMzIwMjMyRDAxKg0KK1g0NTU5MjBZMzIwMzQyRDAxKg0KK1g0NTU4NTlZMzIwNDQyRDAxKg0KK1g0NTU3ODJZMzIwNTMyRDAxKg0KK1g0NTU2OTJZMzIwNjA5RDAxKg0KK1g0NTU1OTJZMzIwNjcwRDAxKg0KK1g0NTU0ODJZMzIwNzE1RDAxKg0KK1g0NTUzNjhZMzIwNzQzRDAxKg0KK1g0NTUyNTBZMzIwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTMyNzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzI3MjU3RDAxKg0KK1g0NTU0ODJZMzI3Mjg1RDAxKg0KK1g0NTU1OTJZMzI3MzMwRDAxKg0KK1g0NTU2OTJZMzI3MzkxRDAxKg0KK1g0NTU3ODJZMzI3NDY4RDAxKg0KK1g0NTU4NTlZMzI3NTU4RDAxKg0KK1g0NTU5MjBZMzI3NjU4RDAxKg0KK1g0NTU5NjVZMzI3NzY4RDAxKg0KK1g0NTU5OTNZMzI3ODgyRDAxKg0KK1g0NTYwMDJZMzI4MDAwRDAxKg0KK1g0NTU5OTNZMzI4MTE4RDAxKg0KK1g0NTU5NjVZMzI4MjMyRDAxKg0KK1g0NTU5MjBZMzI4MzQyRDAxKg0KK1g0NTU4NTlZMzI4NDQyRDAxKg0KK1g0NTU3ODJZMzI4NTMyRDAxKg0KK1g0NTU2OTJZMzI4NjA5RDAxKg0KK1g0NTU1OTJZMzI4NjcwRDAxKg0KK1g0NTU0ODJZMzI4NzE1RDAxKg0KK1g0NTUzNjhZMzI4NzQzRDAxKg0KK1g0NTUyNTBZMzI4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM0OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzQ5MjU3RDAxKg0KK1g0NTU0ODJZMzQ5Mjg1RDAxKg0KK1g0NTU1OTJZMzQ5MzMwRDAxKg0KK1g0NTU2OTJZMzQ5MzkxRDAxKg0KK1g0NTU3ODJZMzQ5NDY4RDAxKg0KK1g0NTU4NTlZMzQ5NTU4RDAxKg0KK1g0NTU5MjBZMzQ5NjU4RDAxKg0KK1g0NTU5NjVZMzQ5NzY4RDAxKg0KK1g0NTU5OTNZMzQ5ODgyRDAxKg0KK1g0NTYwMDJZMzUwMDAwRDAxKg0KK1g0NTU5OTNZMzUwMTE4RDAxKg0KK1g0NTU5NjVZMzUwMjMyRDAxKg0KK1g0NTU5MjBZMzUwMzQyRDAxKg0KK1g0NTU4NTlZMzUwNDQyRDAxKg0KK1g0NTU3ODJZMzUwNTMyRDAxKg0KK1g0NTU2OTJZMzUwNjA5RDAxKg0KK1g0NTU1OTJZMzUwNjcwRDAxKg0KK1g0NTU0ODJZMzUwNzE1RDAxKg0KK1g0NTUzNjhZMzUwNzQzRDAxKg0KK1g0NTUyNTBZMzUwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM1NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzU3MjU3RDAxKg0KK1g0NTU0ODJZMzU3Mjg1RDAxKg0KK1g0NTU1OTJZMzU3MzMwRDAxKg0KK1g0NTU2OTJZMzU3MzkxRDAxKg0KK1g0NTU3ODJZMzU3NDY4RDAxKg0KK1g0NTU4NTlZMzU3NTU4RDAxKg0KK1g0NTU5MjBZMzU3NjU4RDAxKg0KK1g0NTU5NjVZMzU3NzY4RDAxKg0KK1g0NTU5OTNZMzU3ODgyRDAxKg0KK1g0NTYwMDJZMzU4MDAwRDAxKg0KK1g0NTU5OTNZMzU4MTE4RDAxKg0KK1g0NTU5NjVZMzU4MjMyRDAxKg0KK1g0NTU5MjBZMzU4MzQyRDAxKg0KK1g0NTU4NTlZMzU4NDQyRDAxKg0KK1g0NTU3ODJZMzU4NTMyRDAxKg0KK1g0NTU2OTJZMzU4NjA5RDAxKg0KK1g0NTU1OTJZMzU4NjcwRDAxKg0KK1g0NTU0ODJZMzU4NzE1RDAxKg0KK1g0NTUzNjhZMzU4NzQzRDAxKg0KK1g0NTUyNTBZMzU4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM3OTI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzc5MjU3RDAxKg0KK1g0NTU0ODJZMzc5Mjg1RDAxKg0KK1g0NTU1OTJZMzc5MzMwRDAxKg0KK1g0NTU2OTJZMzc5MzkxRDAxKg0KK1g0NTU3ODJZMzc5NDY4RDAxKg0KK1g0NTU4NTlZMzc5NTU4RDAxKg0KK1g0NTU5MjBZMzc5NjU4RDAxKg0KK1g0NTU5NjVZMzc5NzY4RDAxKg0KK1g0NTU5OTNZMzc5ODgyRDAxKg0KK1g0NTYwMDJZMzgwMDAwRDAxKg0KK1g0NTU5OTNZMzgwMTE4RDAxKg0KK1g0NTU5NjVZMzgwMjMyRDAxKg0KK1g0NTU5MjBZMzgwMzQyRDAxKg0KK1g0NTU4NTlZMzgwNDQyRDAxKg0KK1g0NTU3ODJZMzgwNTMyRDAxKg0KK1g0NTU2OTJZMzgwNjA5RDAxKg0KK1g0NTU1OTJZMzgwNjcwRDAxKg0KK1g0NTU0ODJZMzgwNzE1RDAxKg0KK1g0NTUzNjhZMzgwNzQzRDAxKg0KK1g0NTUyNTBZMzgwNzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM4NzI1MEQwMSoNCitYNDU1MjUwRDAxKg0KK1g0NTUzNjhZMzg3MjU3RDAxKg0KK1g0NTU0ODJZMzg3Mjg1RDAxKg0KK1g0NTU1OTJZMzg3MzMwRDAxKg0KK1g0NTU2OTJZMzg3MzkxRDAxKg0KK1g0NTU3ODJZMzg3NDY4RDAxKg0KK1g0NTU4NTlZMzg3NTU4RDAxKg0KK1g0NTU5MjBZMzg3NjU4RDAxKg0KK1g0NTU5NjVZMzg3NzY4RDAxKg0KK1g0NTU5OTNZMzg3ODgyRDAxKg0KK1g0NTYwMDJZMzg4MDAwRDAxKg0KK1g0NTU5OTNZMzg4MTE4RDAxKg0KK1g0NTU5NjVZMzg4MjMyRDAxKg0KK1g0NTU5MjBZMzg4MzQyRDAxKg0KK1g0NTU4NTlZMzg4NDQyRDAxKg0KK1g0NTU3ODJZMzg4NTMyRDAxKg0KK1g0NTU2OTJZMzg4NjA5RDAxKg0KK1g0NTU1OTJZMzg4NjcwRDAxKg0KK1g0NTU0ODJZMzg4NzE1RDAxKg0KK1g0NTUzNjhZMzg4NzQzRDAxKg0KK1g0NTUyNTBZMzg4NzUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM5NzAwMEQwMSoNCitYNDU3NTAwRDAxKg0KK1kzODY1MDJEMDEqDQorWDQ1NzM4MlkzODY0OTNEMDEqDQorWDQ1NzI2OFkzODY0NjVEMDEqDQorWDQ1NzE1OFkzODY0MjBEMDEqDQorWDQ1NzA1OFkzODYzNTlEMDEqDQorWDQ1Njk2OFkzODYyODJEMDEqDQorWDQ1Njg5MVkzODYxOTJEMDEqDQorWDQ1NjgzMFkzODYwOTJEMDEqDQorWDQ1Njc4NVkzODU5ODJEMDEqDQorWDQ1Njc1N1kzODU4NjhEMDEqDQorWDQ1Njc1MFkzODU3NTBEMDEqDQorWTM4MjI1MEQwMSoNCitYNDU2NzU3WTM4MjEzMkQwMSoNCitYNDU2Nzg1WTM4MjAxOEQwMSoNCitYNDU2ODMwWTM4MTkwOEQwMSoNCitYNDU2ODkxWTM4MTgwOEQwMSoNCitYNDU2OTY4WTM4MTcxOEQwMSoNCitYNDU3MDU4WTM4MTY0MUQwMSoNCitYNDU3MTU4WTM4MTU4MEQwMSoNCitYNDU3MjY4WTM4MTUzNUQwMSoNCitYNDU3MzgyWTM4MTUwN0QwMSoNCitYNDU3NTAwWTM4MTQ5OEQwMSoNCitZMzc3NjQxRDAxKg0KK1g0NTcxNjZZMzc3NTAzRDAxKg0KK1g0NTY3OTBZMzc3MjcyRDAxKg0KK1g0NTY0NTVZMzc2OTg2RDAxKg0KK1g0NTYxNjlZMzc2NjUxRDAxKg0KK1g0NTU5MzhZMzc2Mjc1RDAxKg0KK1g0NTU3NzBZMzc1ODY4RDAxKg0KK1g0NTU2NjdZMzc1NDM5RDAxKg0KK1g0NTU2MzJZMzc1MDAwRDAxKg0KK1g0NTU2NjdZMzc0NTYxRDAxKg0KK1g0NTU3NzBZMzc0MTMyRDAxKg0KK1g0NTU5MzhZMzczNzI1RDAxKg0KK1g0NTYxNjlZMzczMzQ5RDAxKg0KK1g0NTY0NTVZMzczMDE0RDAxKg0KK1g0NTY3OTBZMzcyNzI4RDAxKg0KK1g0NTcxNjZZMzcyNDk3RDAxKg0KK1g0NTc1MDBZMzcyMzU5RDAxKg0KK1kzNTY1MDJEMDEqDQorWDQ1NzM4MlkzNTY0OTNEMDEqDQorWDQ1NzI2OFkzNTY0NjVEMDEqDQorWDQ1NzE1OFkzNTY0MjBEMDEqDQorWDQ1NzA1OFkzNTYzNTlEMDEqDQorWDQ1Njk2OFkzNTYyODJEMDEqDQorWDQ1Njg5MVkzNTYxOTJEMDEqDQorWDQ1NjgzMFkzNTYwOTJEMDEqDQorWDQ1Njc4NVkzNTU5ODJEMDEqDQorWDQ1Njc1N1kzNTU4NjhEMDEqDQorWDQ1Njc1MFkzNTU3NTBEMDEqDQorWTM1MjI1MEQwMSoNCitYNDU2NzU3WTM1MjEzMkQwMSoNCitYNDU2Nzg1WTM1MjAxOEQwMSoNCitYNDU2ODMwWTM1MTkwOEQwMSoNCitYNDU2ODkxWTM1MTgwOEQwMSoNCitYNDU2OTY4WTM1MTcxOEQwMSoNCitYNDU3MDU4WTM1MTY0MUQwMSoNCitYNDU3MTU4WTM1MTU4MEQwMSoNCitYNDU3MjY4WTM1MTUzNUQwMSoNCitYNDU3MzgyWTM1MTUwN0QwMSoNCitYNDU3NTAwWTM1MTQ5OEQwMSoNCitZMzQ3NjQxRDAxKg0KK1g0NTcxNjZZMzQ3NTAzRDAxKg0KK1g0NTY3OTBZMzQ3MjcyRDAxKg0KK1g0NTY0NTVZMzQ2OTg2RDAxKg0KK1g0NTYxNjlZMzQ2NjUxRDAxKg0KK1g0NTU5MzhZMzQ2Mjc1RDAxKg0KK1g0NTU3NzBZMzQ1ODY4RDAxKg0KK1g0NTU2NjdZMzQ1NDM5RDAxKg0KK1g0NTU2MzJZMzQ1MDAwRDAxKg0KK1g0NTU2NjdZMzQ0NTYxRDAxKg0KK1g0NTU3NzBZMzQ0MTMyRDAxKg0KK1g0NTU5MzhZMzQzNzI1RDAxKg0KK1g0NTYxNjlZMzQzMzQ5RDAxKg0KK1g0NTY0NTVZMzQzMDE0RDAxKg0KK1g0NTY3OTBZMzQyNzI4RDAxKg0KK1g0NTcxNjZZMzQyNDk3RDAxKg0KK1g0NTc1MDBZMzQyMzU5RDAxKg0KK1kzMjY1MDJEMDEqDQorWDQ1NzM4MlkzMjY0OTNEMDEqDQorWDQ1NzI2OFkzMjY0NjVEMDEqDQorWDQ1NzE1OFkzMjY0MjBEMDEqDQorWDQ1NzA1OFkzMjYzNTlEMDEqDQorWDQ1Njk2OFkzMjYyODJEMDEqDQorWDQ1Njg5MVkzMjYxOTJEMDEqDQorWDQ1NjgzMFkzMjYwOTJEMDEqDQorWDQ1Njc4NVkzMjU5ODJEMDEqDQorWDQ1Njc1N1kzMjU4NjhEMDEqDQorWDQ1Njc1MFkzMjU3NTBEMDEqDQorWTMyMjI1MEQwMSoNCitYNDU2NzU3WTMyMjEzMkQwMSoNCitYNDU2Nzg1WTMyMjAxOEQwMSoNCitYNDU2ODMwWTMyMTkwOEQwMSoNCitYNDU2ODkxWTMyMTgwOEQwMSoNCitYNDU2OTY4WTMyMTcxOEQwMSoNCitYNDU3MDU4WTMyMTY0MUQwMSoNCitYNDU3MTU4WTMyMTU4MEQwMSoNCitYNDU3MjY4WTMyMTUzNUQwMSoNCitYNDU3MzgyWTMyMTUwN0QwMSoNCitYNDU3NTAwWTMyMTQ5OEQwMSoNCitZMzE3NjQxRDAxKg0KK1g0NTcxNjZZMzE3NTAzRDAxKg0KK1g0NTY3OTBZMzE3MjcyRDAxKg0KK1g0NTY0NTVZMzE2OTg2RDAxKg0KK1g0NTYxNjlZMzE2NjUxRDAxKg0KK1g0NTU5MzhZMzE2Mjc1RDAxKg0KK1g0NTU3NzBZMzE1ODY4RDAxKg0KK1g0NTU2NjdZMzE1NDM5RDAxKg0KK1g0NTU2MzJZMzE1MDAwRDAxKg0KK1g0NTU2NjdZMzE0NTYxRDAxKg0KK1g0NTU3NzBZMzE0MTMyRDAxKg0KK1g0NTU5MzhZMzEzNzI1RDAxKg0KK1g0NTYxNjlZMzEzMzQ5RDAxKg0KK1g0NTY0NTVZMzEzMDE0RDAxKg0KK1g0NTY3OTBZMzEyNzI4RDAxKg0KK1g0NTcxNjZZMzEyNDk3RDAxKg0KK1g0NTc1MDBZMzEyMzU5RDAxKg0KK1kyOTY1MDJEMDEqDQorWDQ1NzM4MlkyOTY0OTNEMDEqDQorWDQ1NzI2OFkyOTY0NjVEMDEqDQorWDQ1NzE1OFkyOTY0MjBEMDEqDQorWDQ1NzA1OFkyOTYzNTlEMDEqDQorWDQ1Njk2OFkyOTYyODJEMDEqDQorWDQ1Njg5MVkyOTYxOTJEMDEqDQorWDQ1NjgzMFkyOTYwOTJEMDEqDQorWDQ1Njc4NVkyOTU5ODJEMDEqDQorWDQ1Njc1N1kyOTU4NjhEMDEqDQorWDQ1Njc1MFkyOTU3NTBEMDEqDQorWTI5MjI1MEQwMSoNCitYNDU2NzU3WTI5MjEzMkQwMSoNCitYNDU2Nzg1WTI5MjAxOEQwMSoNCitYNDU2ODMwWTI5MTkwOEQwMSoNCitYNDU2ODkxWTI5MTgwOEQwMSoNCitYNDU2OTY4WTI5MTcxOEQwMSoNCitYNDU3MDU4WTI5MTY0MUQwMSoNCitYNDU3MTU4WTI5MTU4MEQwMSoNCitYNDU3MjY4WTI5MTUzNUQwMSoNCitYNDU3MzgyWTI5MTUwN0QwMSoNCitYNDU3NTAwWTI5MTQ5OEQwMSoNCitZMjg3NjQxRDAxKg0KK1g0NTcxNjZZMjg3NTAzRDAxKg0KK1g0NTY3OTBZMjg3MjcyRDAxKg0KK1g0NTY0NTVZMjg2OTg2RDAxKg0KK1g0NTYxNjlZMjg2NjUxRDAxKg0KK1g0NTU5MzhZMjg2Mjc1RDAxKg0KK1g0NTU3NzBZMjg1ODY4RDAxKg0KK1g0NTU2NjdZMjg1NDM5RDAxKg0KK1g0NTU2MzJZMjg1MDAwRDAxKg0KK1g0NTU2NjdZMjg0NTYxRDAxKg0KK1g0NTU3NzBZMjg0MTMyRDAxKg0KK1g0NTU5MzhZMjgzNzI1RDAxKg0KK1g0NTYxNjlZMjgzMzQ5RDAxKg0KK1g0NTY0NTVZMjgzMDE0RDAxKg0KK1g0NTY3OTBZMjgyNzI4RDAxKg0KK1g0NTcxNjZZMjgyNDk3RDAxKg0KK1g0NTc1MDBZMjgyMzU5RDAxKg0KK1kyNjY1MDJEMDEqDQorWDQ1NzM4MlkyNjY0OTNEMDEqDQorWDQ1NzI2OFkyNjY0NjVEMDEqDQorWDQ1NzE1OFkyNjY0MjBEMDEqDQorWDQ1NzA1OFkyNjYzNTlEMDEqDQorWDQ1Njk2OFkyNjYyODJEMDEqDQorWDQ1Njg5MVkyNjYxOTJEMDEqDQorWDQ1NjgzMFkyNjYwOTJEMDEqDQorWDQ1Njc4NVkyNjU5ODJEMDEqDQorWDQ1Njc1N1kyNjU4NjhEMDEqDQorWDQ1Njc1MFkyNjU3NTBEMDEqDQorWTI2MjI1MEQwMSoNCitYNDU2NzU3WTI2MjEzMkQwMSoNCitYNDU2Nzg1WTI2MjAxOEQwMSoNCitYNDU2ODMwWTI2MTkwOEQwMSoNCitYNDU2ODkxWTI2MTgwOEQwMSoNCitYNDU2OTY4WTI2MTcxOEQwMSoNCitYNDU3MDU4WTI2MTY0MUQwMSoNCitYNDU3MTU4WTI2MTU4MEQwMSoNCitYNDU3MjY4WTI2MTUzNUQwMSoNCitYNDU3MzgyWTI2MTUwN0QwMSoNCitYNDU3NTAwWTI2MTQ5OEQwMSoNCitZMjU2NjQxRDAxKg0KK1g0NTcxNjZZMjU2NTAzRDAxKg0KK1g0NTY3OTBZMjU2MjcyRDAxKg0KK1g0NTY0NTVZMjU1OTg2RDAxKg0KK1g0NTYxNjlZMjU1NjUxRDAxKg0KK1g0NTU5MzhZMjU1Mjc1RDAxKg0KK1g0NTU3NzBZMjU0ODY4RDAxKg0KK1g0NTU2NjdZMjU0NDM5RDAxKg0KK1g0NTU2MzJZMjU0MDAwRDAxKg0KK1g0NTU2NjdZMjUzNTYxRDAxKg0KK1g0NTU3NzBZMjUzMTMyRDAxKg0KK1g0NTU5MzhZMjUyNzI1RDAxKg0KK1g0NTYxNjlZMjUyMzQ5RDAxKg0KK1g0NTY0NTVZMjUyMDE0RDAxKg0KK1g0NTY3OTBZMjUxNzI4RDAxKg0KK1g0NTcxNjZZMjUxNDk3RDAxKg0KK1g0NTc1MDBZMjUxMzU5RDAxKg0KK1kyMzY1MDJEMDEqDQorWDQ1NzM4MlkyMzY0OTNEMDEqDQorWDQ1NzI2OFkyMzY0NjVEMDEqDQorWDQ1NzE1OFkyMzY0MjBEMDEqDQorWDQ1NzA1OFkyMzYzNTlEMDEqDQorWDQ1Njk2OFkyMzYyODJEMDEqDQorWDQ1Njg5MVkyMzYxOTJEMDEqDQorWDQ1NjgzMFkyMzYwOTJEMDEqDQorWDQ1Njc4NVkyMzU5ODJEMDEqDQorWDQ1Njc1N1kyMzU4NjhEMDEqDQorWDQ1Njc1MFkyMzU3NTBEMDEqDQorWTIzMjI1MEQwMSoNCitYNDU2NzU3WTIzMjEzMkQwMSoNCitYNDU2Nzg1WTIzMjAxOEQwMSoNCitYNDU2ODMwWTIzMTkwOEQwMSoNCitYNDU2ODkxWTIzMTgwOEQwMSoNCitYNDU2OTY4WTIzMTcxOEQwMSoNCitYNDU3MDU4WTIzMTY0MUQwMSoNCitYNDU3MTU4WTIzMTU4MEQwMSoNCitYNDU3MjY4WTIzMTUzNUQwMSoNCitYNDU3MzgyWTIzMTUwN0QwMSoNCitYNDU3NTAwWTIzMTQ5OEQwMSoNCitZMjI3NjQxRDAxKg0KK1g0NTcxNjZZMjI3NTAzRDAxKg0KK1g0NTY3OTBZMjI3MjcyRDAxKg0KK1g0NTY0NTVZMjI2OTg2RDAxKg0KK1g0NTYxNjlZMjI2NjUxRDAxKg0KK1g0NTU5MzhZMjI2Mjc1RDAxKg0KK1g0NTU3NzBZMjI1ODY4RDAxKg0KK1g0NTU2NjdZMjI1NDM5RDAxKg0KK1g0NTU2MzJZMjI1MDAwRDAxKg0KK1g0NTU2NjdZMjI0NTYxRDAxKg0KK1g0NTU3NzBZMjI0MTMyRDAxKg0KK1g0NTU5MzhZMjIzNzI1RDAxKg0KK1g0NTYxNjlZMjIzMzQ5RDAxKg0KK1g0NTY0NTVZMjIzMDE0RDAxKg0KK1g0NTY3OTBZMjIyNzI4RDAxKg0KK1g0NTcxNjZZMjIyNDk3RDAxKg0KK1g0NTc1MDBZMjIyMzU5RDAxKg0KK1kyMDY1MDJEMDEqDQorWDQ1NzM4MlkyMDY0OTNEMDEqDQorWDQ1NzI2OFkyMDY0NjVEMDEqDQorWDQ1NzE1OFkyMDY0MjBEMDEqDQorWDQ1NzA1OFkyMDYzNTlEMDEqDQorWDQ1Njk2OFkyMDYyODJEMDEqDQorWDQ1Njg5MVkyMDYxOTJEMDEqDQorWDQ1NjgzMFkyMDYwOTJEMDEqDQorWDQ1Njc4NVkyMDU5ODJEMDEqDQorWDQ1Njc1N1kyMDU4NjhEMDEqDQorWDQ1Njc1MFkyMDU3NTBEMDEqDQorWTIwMjI1MEQwMSoNCitYNDU2NzU3WTIwMjEzMkQwMSoNCitYNDU2Nzg1WTIwMjAxOEQwMSoNCitYNDU2ODMwWTIwMTkwOEQwMSoNCitYNDU2ODkxWTIwMTgwOEQwMSoNCitYNDU2OTY4WTIwMTcxOEQwMSoNCitYNDU3MDU4WTIwMTY0MUQwMSoNCitYNDU3MTU4WTIwMTU4MEQwMSoNCitYNDU3MjY4WTIwMTUzNUQwMSoNCitYNDU3MzgyWTIwMTUwN0QwMSoNCitYNDU3NTAwWTIwMTQ5OEQwMSoNCitZMTk3NjQxRDAxKg0KK1g0NTcxNjZZMTk3NTAzRDAxKg0KK1g0NTY3OTBZMTk3MjcyRDAxKg0KK1g0NTY0NTVZMTk2OTg2RDAxKg0KK1g0NTYxNjlZMTk2NjUxRDAxKg0KK1g0NTU5MzhZMTk2Mjc1RDAxKg0KK1g0NTU3NzBZMTk1ODY4RDAxKg0KK1g0NTU2NjdZMTk1NDM5RDAxKg0KK1g0NTU2MzJZMTk1MDAwRDAxKg0KK1g0NTU2NjdZMTk0NTYxRDAxKg0KK1g0NTU3NzBZMTk0MTMyRDAxKg0KK1g0NTU5MzhZMTkzNzI1RDAxKg0KK1g0NTYxNjlZMTkzMzQ5RDAxKg0KK1g0NTY0NTVZMTkzMDE0RDAxKg0KK1g0NTY3OTBZMTkyNzI4RDAxKg0KK1g0NTcxNjZZMTkyNDk3RDAxKg0KK1g0NTc1MDBZMTkyMzU5RDAxKg0KK1kxNzY1MDJEMDEqDQorWDQ1NzM4MlkxNzY0OTNEMDEqDQorWDQ1NzI2OFkxNzY0NjVEMDEqDQorWDQ1NzE1OFkxNzY0MjBEMDEqDQorWDQ1NzA1OFkxNzYzNTlEMDEqDQorWDQ1Njk2OFkxNzYyODJEMDEqDQorWDQ1Njg5MVkxNzYxOTJEMDEqDQorWDQ1NjgzMFkxNzYwOTJEMDEqDQorWDQ1Njc4NVkxNzU5ODJEMDEqDQorWDQ1Njc1N1kxNzU4NjhEMDEqDQorWDQ1Njc1MFkxNzU3NTBEMDEqDQorWTE3MjI1MEQwMSoNCitYNDU2NzU3WTE3MjEzMkQwMSoNCitYNDU2Nzg1WTE3MjAxOEQwMSoNCitYNDU2ODMwWTE3MTkwOEQwMSoNCitYNDU2ODkxWTE3MTgwOEQwMSoNCitYNDU2OTY4WTE3MTcxOEQwMSoNCitYNDU3MDU4WTE3MTY0MUQwMSoNCitYNDU3MTU4WTE3MTU4MEQwMSoNCitYNDU3MjY4WTE3MTUzNUQwMSoNCitYNDU3MzgyWTE3MTUwN0QwMSoNCitYNDU3NTAwWTE3MTQ5OEQwMSoNCitZMTY2NjQxRDAxKg0KK1g0NTcxNjZZMTY2NTAzRDAxKg0KK1g0NTY3OTBZMTY2MjcyRDAxKg0KK1g0NTY0NTVZMTY1OTg2RDAxKg0KK1g0NTYxNjlZMTY1NjUxRDAxKg0KK1g0NTU5MzhZMTY1Mjc1RDAxKg0KK1g0NTU3NzBZMTY0ODY4RDAxKg0KK1g0NTU2NjdZMTY0NDM5RDAxKg0KK1g0NTU2MzJZMTY0MDAwRDAxKg0KK1g0NTU2NjdZMTYzNTYxRDAxKg0KK1g0NTU3NzBZMTYzMTMyRDAxKg0KK1g0NTU5MzhZMTYyNzI1RDAxKg0KK1g0NTYxNjlZMTYyMzQ5RDAxKg0KK1g0NTY0NTVZMTYyMDE0RDAxKg0KK1g0NTY3OTBZMTYxNzI4RDAxKg0KK1g0NTcxNjZZMTYxNDk3RDAxKg0KK1g0NTc1MDBZMTYxMzU5RDAxKg0KK1kxNDY1MDJEMDEqDQorWDQ1NzM4MlkxNDY0OTNEMDEqDQorWDQ1NzI2OFkxNDY0NjVEMDEqDQorWDQ1NzE1OFkxNDY0MjBEMDEqDQorWDQ1NzA1OFkxNDYzNTlEMDEqDQorWDQ1Njk2OFkxNDYyODJEMDEqDQorWDQ1Njg5MVkxNDYxOTJEMDEqDQorWDQ1NjgzMFkxNDYwOTJEMDEqDQorWDQ1Njc4NVkxNDU5ODJEMDEqDQorWDQ1Njc1N1kxNDU4NjhEMDEqDQorWDQ1Njc1MFkxNDU3NTBEMDEqDQorWTE0MjI1MEQwMSoNCitYNDU2NzU3WTE0MjEzMkQwMSoNCitYNDU2Nzg1WTE0MjAxOEQwMSoNCitYNDU2ODMwWTE0MTkwOEQwMSoNCitYNDU2ODkxWTE0MTgwOEQwMSoNCitYNDU2OTY4WTE0MTcxOEQwMSoNCitYNDU3MDU4WTE0MTY0MUQwMSoNCitYNDU3MTU4WTE0MTU4MEQwMSoNCitYNDU3MjY4WTE0MTUzNUQwMSoNCitYNDU3MzgyWTE0MTUwN0QwMSoNCitYNDU3NTAwWTE0MTQ5OEQwMSoNCitZMTE2NTAyRDAxKg0KK1g0NTczODJZMTE2NDkzRDAxKg0KK1g0NTcyNjhZMTE2NDY1RDAxKg0KK1g0NTcxNThZMTE2NDIwRDAxKg0KK1g0NTcwNThZMTE2MzU5RDAxKg0KK1g0NTY5NjhZMTE2MjgyRDAxKg0KK1g0NTY4OTFZMTE2MTkyRDAxKg0KK1g0NTY4MzBZMTE2MDkyRDAxKg0KK1g0NTY3ODVZMTE1OTgyRDAxKg0KK1g0NTY3NTdZMTE1ODY4RDAxKg0KK1g0NTY3NTBZMTE1NzUwRDAxKg0KK1kxMTIyNTBEMDEqDQorWDQ1Njc1N1kxMTIxMzJEMDEqDQorWDQ1Njc4NVkxMTIwMThEMDEqDQorWDQ1NjgzMFkxMTE5MDhEMDEqDQorWDQ1Njg5MVkxMTE4MDhEMDEqDQorWDQ1Njk2OFkxMTE3MThEMDEqDQorWDQ1NzA1OFkxMTE2NDFEMDEqDQorWDQ1NzE1OFkxMTE1ODBEMDEqDQorWDQ1NzI2OFkxMTE1MzVEMDEqDQorWDQ1NzM4MlkxMTE1MDdEMDEqDQorWDQ1NzUwMFkxMTE0OThEMDEqDQorWTg2NTAyRDAxKg0KK1g0NTczODJZODY0OTNEMDEqDQorWDQ1NzI2OFk4NjQ2NUQwMSoNCitYNDU3MTU4WTg2NDIwRDAxKg0KK1g0NTcwNThZODYzNTlEMDEqDQorWDQ1Njk2OFk4NjI4MkQwMSoNCitYNDU2ODkxWTg2MTkyRDAxKg0KK1g0NTY4MzBZODYwOTJEMDEqDQorWDQ1Njc4NVk4NTk4MkQwMSoNCitYNDU2NzU3WTg1ODY4RDAxKg0KK1g0NTY3NTBZODU3NTBEMDEqDQorWTgyMjUwRDAxKg0KK1g0NTY3NTdZODIxMzJEMDEqDQorWDQ1Njc4NVk4MjAxOEQwMSoNCitYNDU2ODMwWTgxOTA4RDAxKg0KK1g0NTY4OTFZODE4MDhEMDEqDQorWDQ1Njk2OFk4MTcxOEQwMSoNCitYNDU3MDU4WTgxNjQxRDAxKg0KK1g0NTcxNThZODE1ODBEMDEqDQorWDQ1NzI2OFk4MTUzNUQwMSoNCitYNDU3MzgyWTgxNTA3RDAxKg0KK1g0NTc1MDBZODE0OThEMDEqDQorWTU2NTAyRDAxKg0KK1g0NTczODJZNTY0OTNEMDEqDQorWDQ1NzI2OFk1NjQ2NUQwMSoNCitYNDU3MTU4WTU2NDIwRDAxKg0KK1g0NTcwNThZNTYzNTlEMDEqDQorWDQ1Njk2OFk1NjI4MkQwMSoNCitYNDU2ODkxWTU2MTkyRDAxKg0KK1g0NTY4MzBZNTYwOTJEMDEqDQorWDQ1Njc4NVk1NTk4MkQwMSoNCitYNDU2NzU3WTU1ODY4RDAxKg0KK1g0NTY3NTBZNTU3NTBEMDEqDQorWTUyMjUwRDAxKg0KK1g0NTY3NTdZNTIxMzJEMDEqDQorWDQ1Njc4NVk1MjAxOEQwMSoNCitYNDU2ODMwWTUxOTA4RDAxKg0KK1g0NTY4OTFZNTE4MDhEMDEqDQorWDQ1Njk2OFk1MTcxOEQwMSoNCitYNDU3MDU4WTUxNjQxRDAxKg0KK1g0NTcxNThZNTE1ODBEMDEqDQorWDQ1NzI2OFk1MTUzNUQwMSoNCitYNDU3MzgyWTUxNTA3RDAxKg0KK1g0NTc1MDBZNTE0OThEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ1MzUwMEQwMipYNDQ5NTAwRDAxKg0KK1k1MTQ5OEQwMSoNCitYNDQ5NjE4WTUxNTA3RDAxKg0KK1g0NDk3MzJZNTE1MzVEMDEqDQorWDQ0OTg0Mlk1MTU4MEQwMSoNCitYNDQ5OTQyWTUxNjQxRDAxKg0KK1g0NTAwMzJZNTE3MThEMDEqDQorWDQ1MDEwOVk1MTgwOEQwMSoNCitYNDUwMTcwWTUxOTA4RDAxKg0KK1g0NTAyMTVZNTIwMThEMDEqDQorWDQ1MDI0M1k1MjEzMkQwMSoNCitYNDUwMjUwWTUyMjUwRDAxKg0KK1k1NTc1MEQwMSoNCitYNDUwMjQzWTU1ODY4RDAxKg0KK1g0NTAyMTVZNTU5ODJEMDEqDQorWDQ1MDE3MFk1NjA5MkQwMSoNCitYNDUwMTA5WTU2MTkyRDAxKg0KK1g0NTAwMzJZNTYyODJEMDEqDQorWDQ0OTk0Mlk1NjM1OUQwMSoNCitYNDQ5ODQyWTU2NDIwRDAxKg0KK1g0NDk3MzJZNTY0NjVEMDEqDQorWDQ0OTYxOFk1NjQ5M0QwMSoNCitYNDQ5NTAwWTU2NTAyRDAxKg0KK1k4MTQ5OEQwMSoNCitYNDQ5NjE4WTgxNTA3RDAxKg0KK1g0NDk3MzJZODE1MzVEMDEqDQorWDQ0OTg0Mlk4MTU4MEQwMSoNCitYNDQ5OTQyWTgxNjQxRDAxKg0KK1g0NTAwMzJZODE3MThEMDEqDQorWDQ1MDEwOVk4MTgwOEQwMSoNCitYNDUwMTcwWTgxOTA4RDAxKg0KK1g0NTAyMTVZODIwMThEMDEqDQorWDQ1MDI0M1k4MjEzMkQwMSoNCitYNDUwMjUwWTgyMjUwRDAxKg0KK1k4NTc1MEQwMSoNCitYNDUwMjQzWTg1ODY4RDAxKg0KK1g0NTAyMTVZODU5ODJEMDEqDQorWDQ1MDE3MFk4NjA5MkQwMSoNCitYNDUwMTA5WTg2MTkyRDAxKg0KK1g0NTAwMzJZODYyODJEMDEqDQorWDQ0OTk0Mlk4NjM1OUQwMSoNCitYNDQ5ODQyWTg2NDIwRDAxKg0KK1g0NDk3MzJZODY0NjVEMDEqDQorWDQ0OTYxOFk4NjQ5M0QwMSoNCitYNDQ5NTAwWTg2NTAyRDAxKg0KK1kxMTE0OThEMDEqDQorWDQ0OTYxOFkxMTE1MDdEMDEqDQorWDQ0OTczMlkxMTE1MzVEMDEqDQorWDQ0OTg0MlkxMTE1ODBEMDEqDQorWDQ0OTk0MlkxMTE2NDFEMDEqDQorWDQ1MDAzMlkxMTE3MThEMDEqDQorWDQ1MDEwOVkxMTE4MDhEMDEqDQorWDQ1MDE3MFkxMTE5MDhEMDEqDQorWDQ1MDIxNVkxMTIwMThEMDEqDQorWDQ1MDI0M1kxMTIxMzJEMDEqDQorWDQ1MDI1MFkxMTIyNTBEMDEqDQorWTExNTc1MEQwMSoNCitYNDUwMjQzWTExNTg2OEQwMSoNCitYNDUwMjE1WTExNTk4MkQwMSoNCitYNDUwMTcwWTExNjA5MkQwMSoNCitYNDUwMTA5WTExNjE5MkQwMSoNCitYNDUwMDMyWTExNjI4MkQwMSoNCitYNDQ5OTQyWTExNjM1OUQwMSoNCitYNDQ5ODQyWTExNjQyMEQwMSoNCitYNDQ5NzMyWTExNjQ2NUQwMSoNCitYNDQ5NjE4WTExNjQ5M0QwMSoNCitYNDQ5NTAwWTExNjUwMkQwMSoNCitZMTQxNDk4RDAxKg0KK1g0NDk2MThZMTQxNTA3RDAxKg0KK1g0NDk3MzJZMTQxNTM1RDAxKg0KK1g0NDk4NDJZMTQxNTgwRDAxKg0KK1g0NDk5NDJZMTQxNjQxRDAxKg0KK1g0NTAwMzJZMTQxNzE4RDAxKg0KK1g0NTAxMDlZMTQxODA4RDAxKg0KK1g0NTAxNzBZMTQxOTA4RDAxKg0KK1g0NTAyMTVZMTQyMDE4RDAxKg0KK1g0NTAyNDNZMTQyMTMyRDAxKg0KK1g0NTAyNTBZMTQyMjUwRDAxKg0KK1kxNDU3NTBEMDEqDQorWDQ1MDI0M1kxNDU4NjhEMDEqDQorWDQ1MDIxNVkxNDU5ODJEMDEqDQorWDQ1MDE3MFkxNDYwOTJEMDEqDQorWDQ1MDEwOVkxNDYxOTJEMDEqDQorWDQ1MDAzMlkxNDYyODJEMDEqDQorWDQ0OTk0MlkxNDYzNTlEMDEqDQorWDQ0OTg0MlkxNDY0MjBEMDEqDQorWDQ0OTczMlkxNDY0NjVEMDEqDQorWDQ0OTYxOFkxNDY0OTNEMDEqDQorWDQ0OTUwMFkxNDY1MDJEMDEqDQorWTE3MTQ5OEQwMSoNCitYNDQ5NjE4WTE3MTUwN0QwMSoNCitYNDQ5NzMyWTE3MTUzNUQwMSoNCitYNDQ5ODQyWTE3MTU4MEQwMSoNCitYNDQ5OTQyWTE3MTY0MUQwMSoNCitYNDUwMDMyWTE3MTcxOEQwMSoNCitYNDUwMTA5WTE3MTgwOEQwMSoNCitYNDUwMTcwWTE3MTkwOEQwMSoNCitYNDUwMjE1WTE3MjAxOEQwMSoNCitYNDUwMjQzWTE3MjEzMkQwMSoNCitYNDUwMjUwWTE3MjI1MEQwMSoNCitZMTc1NzUwRDAxKg0KK1g0NTAyNDNZMTc1ODY4RDAxKg0KK1g0NTAyMTVZMTc1OTgyRDAxKg0KK1g0NTAxNzBZMTc2MDkyRDAxKg0KK1g0NTAxMDlZMTc2MTkyRDAxKg0KK1g0NTAwMzJZMTc2MjgyRDAxKg0KK1g0NDk5NDJZMTc2MzU5RDAxKg0KK1g0NDk4NDJZMTc2NDIwRDAxKg0KK1g0NDk3MzJZMTc2NDY1RDAxKg0KK1g0NDk2MThZMTc2NDkzRDAxKg0KK1g0NDk1MDBZMTc2NTAyRDAxKg0KK1kyMDE0OThEMDEqDQorWDQ0OTYxOFkyMDE1MDdEMDEqDQorWDQ0OTczMlkyMDE1MzVEMDEqDQorWDQ0OTg0MlkyMDE1ODBEMDEqDQorWDQ0OTk0MlkyMDE2NDFEMDEqDQorWDQ1MDAzMlkyMDE3MThEMDEqDQorWDQ1MDEwOVkyMDE4MDhEMDEqDQorWDQ1MDE3MFkyMDE5MDhEMDEqDQorWDQ1MDIxNVkyMDIwMThEMDEqDQorWDQ1MDI0M1kyMDIxMzJEMDEqDQorWDQ1MDI1MFkyMDIyNTBEMDEqDQorWTIwNTc1MEQwMSoNCitYNDUwMjQzWTIwNTg2OEQwMSoNCitYNDUwMjE1WTIwNTk4MkQwMSoNCitYNDUwMTcwWTIwNjA5MkQwMSoNCitYNDUwMTA5WTIwNjE5MkQwMSoNCitYNDUwMDMyWTIwNjI4MkQwMSoNCitYNDQ5OTQyWTIwNjM1OUQwMSoNCitYNDQ5ODQyWTIwNjQyMEQwMSoNCitYNDQ5NzMyWTIwNjQ2NUQwMSoNCitYNDQ5NjE4WTIwNjQ5M0QwMSoNCitYNDQ5NTAwWTIwNjUwMkQwMSoNCitZMjMxNDk4RDAxKg0KK1g0NDk2MThZMjMxNTA3RDAxKg0KK1g0NDk3MzJZMjMxNTM1RDAxKg0KK1g0NDk4NDJZMjMxNTgwRDAxKg0KK1g0NDk5NDJZMjMxNjQxRDAxKg0KK1g0NTAwMzJZMjMxNzE4RDAxKg0KK1g0NTAxMDlZMjMxODA4RDAxKg0KK1g0NTAxNzBZMjMxOTA4RDAxKg0KK1g0NTAyMTVZMjMyMDE4RDAxKg0KK1g0NTAyNDNZMjMyMTMyRDAxKg0KK1g0NTAyNTBZMjMyMjUwRDAxKg0KK1kyMzU3NTBEMDEqDQorWDQ1MDI0M1kyMzU4NjhEMDEqDQorWDQ1MDIxNVkyMzU5ODJEMDEqDQorWDQ1MDE3MFkyMzYwOTJEMDEqDQorWDQ1MDEwOVkyMzYxOTJEMDEqDQorWDQ1MDAzMlkyMzYyODJEMDEqDQorWDQ0OTk0MlkyMzYzNTlEMDEqDQorWDQ0OTg0MlkyMzY0MjBEMDEqDQorWDQ0OTczMlkyMzY0NjVEMDEqDQorWDQ0OTYxOFkyMzY0OTNEMDEqDQorWDQ0OTUwMFkyMzY1MDJEMDEqDQorWTI2MTQ5OEQwMSoNCitYNDQ5NjE4WTI2MTUwN0QwMSoNCitYNDQ5NzMyWTI2MTUzNUQwMSoNCitYNDQ5ODQyWTI2MTU4MEQwMSoNCitYNDQ5OTQyWTI2MTY0MUQwMSoNCitYNDUwMDMyWTI2MTcxOEQwMSoNCitYNDUwMTA5WTI2MTgwOEQwMSoNCitYNDUwMTcwWTI2MTkwOEQwMSoNCitYNDUwMjE1WTI2MjAxOEQwMSoNCitYNDUwMjQzWTI2MjEzMkQwMSoNCitYNDUwMjUwWTI2MjI1MEQwMSoNCitZMjY1NzUwRDAxKg0KK1g0NTAyNDNZMjY1ODY4RDAxKg0KK1g0NTAyMTVZMjY1OTgyRDAxKg0KK1g0NTAxNzBZMjY2MDkyRDAxKg0KK1g0NTAxMDlZMjY2MTkyRDAxKg0KK1g0NTAwMzJZMjY2MjgyRDAxKg0KK1g0NDk5NDJZMjY2MzU5RDAxKg0KK1g0NDk4NDJZMjY2NDIwRDAxKg0KK1g0NDk3MzJZMjY2NDY1RDAxKg0KK1g0NDk2MThZMjY2NDkzRDAxKg0KK1g0NDk1MDBZMjY2NTAyRDAxKg0KK1kyOTE0OThEMDEqDQorWDQ0OTYxOFkyOTE1MDdEMDEqDQorWDQ0OTczMlkyOTE1MzVEMDEqDQorWDQ0OTg0MlkyOTE1ODBEMDEqDQorWDQ0OTk0MlkyOTE2NDFEMDEqDQorWDQ1MDAzMlkyOTE3MThEMDEqDQorWDQ1MDEwOVkyOTE4MDhEMDEqDQorWDQ1MDE3MFkyOTE5MDhEMDEqDQorWDQ1MDIxNVkyOTIwMThEMDEqDQorWDQ1MDI0M1kyOTIxMzJEMDEqDQorWDQ1MDI1MFkyOTIyNTBEMDEqDQorWTI5NTc1MEQwMSoNCitYNDUwMjQzWTI5NTg2OEQwMSoNCitYNDUwMjE1WTI5NTk4MkQwMSoNCitYNDUwMTcwWTI5NjA5MkQwMSoNCitYNDUwMTA5WTI5NjE5MkQwMSoNCitYNDUwMDMyWTI5NjI4MkQwMSoNCitYNDQ5OTQyWTI5NjM1OUQwMSoNCitYNDQ5ODQyWTI5NjQyMEQwMSoNCitYNDQ5NzMyWTI5NjQ2NUQwMSoNCitYNDQ5NjE4WTI5NjQ5M0QwMSoNCitYNDQ5NTAwWTI5NjUwMkQwMSoNCitZMzIxNDk4RDAxKg0KK1g0NDk2MThZMzIxNTA3RDAxKg0KK1g0NDk3MzJZMzIxNTM1RDAxKg0KK1g0NDk4NDJZMzIxNTgwRDAxKg0KK1g0NDk5NDJZMzIxNjQxRDAxKg0KK1g0NTAwMzJZMzIxNzE4RDAxKg0KK1g0NTAxMDlZMzIxODA4RDAxKg0KK1g0NTAxNzBZMzIxOTA4RDAxKg0KK1g0NTAyMTVZMzIyMDE4RDAxKg0KK1g0NTAyNDNZMzIyMTMyRDAxKg0KK1g0NTAyNTBZMzIyMjUwRDAxKg0KK1kzMjU3NTBEMDEqDQorWDQ1MDI0M1kzMjU4NjhEMDEqDQorWDQ1MDIxNVkzMjU5ODJEMDEqDQorWDQ1MDE3MFkzMjYwOTJEMDEqDQorWDQ1MDEwOVkzMjYxOTJEMDEqDQorWDQ1MDAzMlkzMjYyODJEMDEqDQorWDQ0OTk0MlkzMjYzNTlEMDEqDQorWDQ0OTg0MlkzMjY0MjBEMDEqDQorWDQ0OTczMlkzMjY0NjVEMDEqDQorWDQ0OTYxOFkzMjY0OTNEMDEqDQorWDQ0OTUwMFkzMjY1MDJEMDEqDQorWTM1MTQ5OEQwMSoNCitYNDQ5NjE4WTM1MTUwN0QwMSoNCitYNDQ5NzMyWTM1MTUzNUQwMSoNCitYNDQ5ODQyWTM1MTU4MEQwMSoNCitYNDQ5OTQyWTM1MTY0MUQwMSoNCitYNDUwMDMyWTM1MTcxOEQwMSoNCitYNDUwMTA5WTM1MTgwOEQwMSoNCitYNDUwMTcwWTM1MTkwOEQwMSoNCitYNDUwMjE1WTM1MjAxOEQwMSoNCitYNDUwMjQzWTM1MjEzMkQwMSoNCitYNDUwMjUwWTM1MjI1MEQwMSoNCitZMzU1NzUwRDAxKg0KK1g0NTAyNDNZMzU1ODY4RDAxKg0KK1g0NTAyMTVZMzU1OTgyRDAxKg0KK1g0NTAxNzBZMzU2MDkyRDAxKg0KK1g0NTAxMDlZMzU2MTkyRDAxKg0KK1g0NTAwMzJZMzU2MjgyRDAxKg0KK1g0NDk5NDJZMzU2MzU5RDAxKg0KK1g0NDk4NDJZMzU2NDIwRDAxKg0KK1g0NDk3MzJZMzU2NDY1RDAxKg0KK1g0NDk2MThZMzU2NDkzRDAxKg0KK1g0NDk1MDBZMzU2NTAyRDAxKg0KK1kzODE0OThEMDEqDQorWDQ0OTYxOFkzODE1MDdEMDEqDQorWDQ0OTczMlkzODE1MzVEMDEqDQorWDQ0OTg0MlkzODE1ODBEMDEqDQorWDQ0OTk0MlkzODE2NDFEMDEqDQorWDQ1MDAzMlkzODE3MThEMDEqDQorWDQ1MDEwOVkzODE4MDhEMDEqDQorWDQ1MDE3MFkzODE5MDhEMDEqDQorWDQ1MDIxNVkzODIwMThEMDEqDQorWDQ1MDI0M1kzODIxMzJEMDEqDQorWDQ1MDI1MFkzODIyNTBEMDEqDQorWTM4NTc1MEQwMSoNCitYNDUwMjQzWTM4NTg2OEQwMSoNCitYNDUwMjE1WTM4NTk4MkQwMSoNCitYNDUwMTcwWTM4NjA5MkQwMSoNCitYNDUwMTA5WTM4NjE5MkQwMSoNCitYNDUwMDMyWTM4NjI4MkQwMSoNCitYNDQ5OTQyWTM4NjM1OUQwMSoNCitYNDQ5ODQyWTM4NjQyMEQwMSoNCitYNDQ5NzMyWTM4NjQ2NUQwMSoNCitYNDQ5NjE4WTM4NjQ5M0QwMSoNCitYNDQ5NTAwWTM4NjUwMkQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM4ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzg4NzQzRDAxKg0KK1g0NTE1MThZMzg4NzE1RDAxKg0KK1g0NTE0MDhZMzg4NjcwRDAxKg0KK1g0NTEzMDhZMzg4NjA5RDAxKg0KK1g0NTEyMThZMzg4NTMyRDAxKg0KK1g0NTExNDFZMzg4NDQyRDAxKg0KK1g0NTEwODBZMzg4MzQyRDAxKg0KK1g0NTEwMzVZMzg4MjMyRDAxKg0KK1g0NTEwMDdZMzg4MTE4RDAxKg0KK1g0NTA5OThZMzg4MDAwRDAxKg0KK1g0NTEwMDdZMzg3ODgyRDAxKg0KK1g0NTEwMzVZMzg3NzY4RDAxKg0KK1g0NTEwODBZMzg3NjU4RDAxKg0KK1g0NTExNDFZMzg3NTU4RDAxKg0KK1g0NTEyMThZMzg3NDY4RDAxKg0KK1g0NTEzMDhZMzg3MzkxRDAxKg0KK1g0NTE0MDhZMzg3MzMwRDAxKg0KK1g0NTE1MThZMzg3Mjg1RDAxKg0KK1g0NTE2MzJZMzg3MjU3RDAxKg0KK1g0NTE3NTBZMzg3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM4MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzgwNzQzRDAxKg0KK1g0NTE1MThZMzgwNzE1RDAxKg0KK1g0NTE0MDhZMzgwNjcwRDAxKg0KK1g0NTEzMDhZMzgwNjA5RDAxKg0KK1g0NTEyMThZMzgwNTMyRDAxKg0KK1g0NTExNDFZMzgwNDQyRDAxKg0KK1g0NTEwODBZMzgwMzQyRDAxKg0KK1g0NTEwMzVZMzgwMjMyRDAxKg0KK1g0NTEwMDdZMzgwMTE4RDAxKg0KK1g0NTA5OThZMzgwMDAwRDAxKg0KK1g0NTEwMDdZMzc5ODgyRDAxKg0KK1g0NTEwMzVZMzc5NzY4RDAxKg0KK1g0NTEwODBZMzc5NjU4RDAxKg0KK1g0NTExNDFZMzc5NTU4RDAxKg0KK1g0NTEyMThZMzc5NDY4RDAxKg0KK1g0NTEzMDhZMzc5MzkxRDAxKg0KK1g0NTE0MDhZMzc5MzMwRDAxKg0KK1g0NTE1MThZMzc5Mjg1RDAxKg0KK1g0NTE2MzJZMzc5MjU3RDAxKg0KK1g0NTE3NTBZMzc5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM1ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzU4NzQzRDAxKg0KK1g0NTE1MThZMzU4NzE1RDAxKg0KK1g0NTE0MDhZMzU4NjcwRDAxKg0KK1g0NTEzMDhZMzU4NjA5RDAxKg0KK1g0NTEyMThZMzU4NTMyRDAxKg0KK1g0NTExNDFZMzU4NDQyRDAxKg0KK1g0NTEwODBZMzU4MzQyRDAxKg0KK1g0NTEwMzVZMzU4MjMyRDAxKg0KK1g0NTEwMDdZMzU4MTE4RDAxKg0KK1g0NTA5OThZMzU4MDAwRDAxKg0KK1g0NTEwMDdZMzU3ODgyRDAxKg0KK1g0NTEwMzVZMzU3NzY4RDAxKg0KK1g0NTEwODBZMzU3NjU4RDAxKg0KK1g0NTExNDFZMzU3NTU4RDAxKg0KK1g0NTEyMThZMzU3NDY4RDAxKg0KK1g0NTEzMDhZMzU3MzkxRDAxKg0KK1g0NTE0MDhZMzU3MzMwRDAxKg0KK1g0NTE1MThZMzU3Mjg1RDAxKg0KK1g0NTE2MzJZMzU3MjU3RDAxKg0KK1g0NTE3NTBZMzU3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM1MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzUwNzQzRDAxKg0KK1g0NTE1MThZMzUwNzE1RDAxKg0KK1g0NTE0MDhZMzUwNjcwRDAxKg0KK1g0NTEzMDhZMzUwNjA5RDAxKg0KK1g0NTEyMThZMzUwNTMyRDAxKg0KK1g0NTExNDFZMzUwNDQyRDAxKg0KK1g0NTEwODBZMzUwMzQyRDAxKg0KK1g0NTEwMzVZMzUwMjMyRDAxKg0KK1g0NTEwMDdZMzUwMTE4RDAxKg0KK1g0NTA5OThZMzUwMDAwRDAxKg0KK1g0NTEwMDdZMzQ5ODgyRDAxKg0KK1g0NTEwMzVZMzQ5NzY4RDAxKg0KK1g0NTEwODBZMzQ5NjU4RDAxKg0KK1g0NTExNDFZMzQ5NTU4RDAxKg0KK1g0NTEyMThZMzQ5NDY4RDAxKg0KK1g0NTEzMDhZMzQ5MzkxRDAxKg0KK1g0NTE0MDhZMzQ5MzMwRDAxKg0KK1g0NTE1MThZMzQ5Mjg1RDAxKg0KK1g0NTE2MzJZMzQ5MjU3RDAxKg0KK1g0NTE3NTBZMzQ5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTMyODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzI4NzQzRDAxKg0KK1g0NTE1MThZMzI4NzE1RDAxKg0KK1g0NTE0MDhZMzI4NjcwRDAxKg0KK1g0NTEzMDhZMzI4NjA5RDAxKg0KK1g0NTEyMThZMzI4NTMyRDAxKg0KK1g0NTExNDFZMzI4NDQyRDAxKg0KK1g0NTEwODBZMzI4MzQyRDAxKg0KK1g0NTEwMzVZMzI4MjMyRDAxKg0KK1g0NTEwMDdZMzI4MTE4RDAxKg0KK1g0NTA5OThZMzI4MDAwRDAxKg0KK1g0NTEwMDdZMzI3ODgyRDAxKg0KK1g0NTEwMzVZMzI3NzY4RDAxKg0KK1g0NTEwODBZMzI3NjU4RDAxKg0KK1g0NTExNDFZMzI3NTU4RDAxKg0KK1g0NTEyMThZMzI3NDY4RDAxKg0KK1g0NTEzMDhZMzI3MzkxRDAxKg0KK1g0NTE0MDhZMzI3MzMwRDAxKg0KK1g0NTE1MThZMzI3Mjg1RDAxKg0KK1g0NTE2MzJZMzI3MjU3RDAxKg0KK1g0NTE3NTBZMzI3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTMyMDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMzIwNzQzRDAxKg0KK1g0NTE1MThZMzIwNzE1RDAxKg0KK1g0NTE0MDhZMzIwNjcwRDAxKg0KK1g0NTEzMDhZMzIwNjA5RDAxKg0KK1g0NTEyMThZMzIwNTMyRDAxKg0KK1g0NTExNDFZMzIwNDQyRDAxKg0KK1g0NTEwODBZMzIwMzQyRDAxKg0KK1g0NTEwMzVZMzIwMjMyRDAxKg0KK1g0NTEwMDdZMzIwMTE4RDAxKg0KK1g0NTA5OThZMzIwMDAwRDAxKg0KK1g0NTEwMDdZMzE5ODgyRDAxKg0KK1g0NTEwMzVZMzE5NzY4RDAxKg0KK1g0NTEwODBZMzE5NjU4RDAxKg0KK1g0NTExNDFZMzE5NTU4RDAxKg0KK1g0NTEyMThZMzE5NDY4RDAxKg0KK1g0NTEzMDhZMzE5MzkxRDAxKg0KK1g0NTE0MDhZMzE5MzMwRDAxKg0KK1g0NTE1MThZMzE5Mjg1RDAxKg0KK1g0NTE2MzJZMzE5MjU3RDAxKg0KK1g0NTE3NTBZMzE5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI5ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjk4NzQzRDAxKg0KK1g0NTE1MThZMjk4NzE1RDAxKg0KK1g0NTE0MDhZMjk4NjcwRDAxKg0KK1g0NTEzMDhZMjk4NjA5RDAxKg0KK1g0NTEyMThZMjk4NTMyRDAxKg0KK1g0NTExNDFZMjk4NDQyRDAxKg0KK1g0NTEwODBZMjk4MzQyRDAxKg0KK1g0NTEwMzVZMjk4MjMyRDAxKg0KK1g0NTEwMDdZMjk4MTE4RDAxKg0KK1g0NTA5OThZMjk4MDAwRDAxKg0KK1g0NTEwMDdZMjk3ODgyRDAxKg0KK1g0NTEwMzVZMjk3NzY4RDAxKg0KK1g0NTEwODBZMjk3NjU4RDAxKg0KK1g0NTExNDFZMjk3NTU4RDAxKg0KK1g0NTEyMThZMjk3NDY4RDAxKg0KK1g0NTEzMDhZMjk3MzkxRDAxKg0KK1g0NTE0MDhZMjk3MzMwRDAxKg0KK1g0NTE1MThZMjk3Mjg1RDAxKg0KK1g0NTE2MzJZMjk3MjU3RDAxKg0KK1g0NTE3NTBZMjk3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI5MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjkwNzQzRDAxKg0KK1g0NTE1MThZMjkwNzE1RDAxKg0KK1g0NTE0MDhZMjkwNjcwRDAxKg0KK1g0NTEzMDhZMjkwNjA5RDAxKg0KK1g0NTEyMThZMjkwNTMyRDAxKg0KK1g0NTExNDFZMjkwNDQyRDAxKg0KK1g0NTEwODBZMjkwMzQyRDAxKg0KK1g0NTEwMzVZMjkwMjMyRDAxKg0KK1g0NTEwMDdZMjkwMTE4RDAxKg0KK1g0NTA5OThZMjkwMDAwRDAxKg0KK1g0NTEwMDdZMjg5ODgyRDAxKg0KK1g0NTEwMzVZMjg5NzY4RDAxKg0KK1g0NTEwODBZMjg5NjU4RDAxKg0KK1g0NTExNDFZMjg5NTU4RDAxKg0KK1g0NTEyMThZMjg5NDY4RDAxKg0KK1g0NTEzMDhZMjg5MzkxRDAxKg0KK1g0NTE0MDhZMjg5MzMwRDAxKg0KK1g0NTE1MThZMjg5Mjg1RDAxKg0KK1g0NTE2MzJZMjg5MjU3RDAxKg0KK1g0NTE3NTBZMjg5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI2ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjY4NzQzRDAxKg0KK1g0NTE1MThZMjY4NzE1RDAxKg0KK1g0NTE0MDhZMjY4NjcwRDAxKg0KK1g0NTEzMDhZMjY4NjA5RDAxKg0KK1g0NTEyMThZMjY4NTMyRDAxKg0KK1g0NTExNDFZMjY4NDQyRDAxKg0KK1g0NTEwODBZMjY4MzQyRDAxKg0KK1g0NTEwMzVZMjY4MjMyRDAxKg0KK1g0NTEwMDdZMjY4MTE4RDAxKg0KK1g0NTA5OThZMjY4MDAwRDAxKg0KK1g0NTEwMDdZMjY3ODgyRDAxKg0KK1g0NTEwMzVZMjY3NzY4RDAxKg0KK1g0NTEwODBZMjY3NjU4RDAxKg0KK1g0NTExNDFZMjY3NTU4RDAxKg0KK1g0NTEyMThZMjY3NDY4RDAxKg0KK1g0NTEzMDhZMjY3MzkxRDAxKg0KK1g0NTE0MDhZMjY3MzMwRDAxKg0KK1g0NTE1MThZMjY3Mjg1RDAxKg0KK1g0NTE2MzJZMjY3MjU3RDAxKg0KK1g0NTE3NTBZMjY3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTI2MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjYwNzQzRDAxKg0KK1g0NTE1MThZMjYwNzE1RDAxKg0KK1g0NTE0MDhZMjYwNjcwRDAxKg0KK1g0NTEzMDhZMjYwNjA5RDAxKg0KK1g0NTEyMThZMjYwNTMyRDAxKg0KK1g0NTExNDFZMjYwNDQyRDAxKg0KK1g0NTEwODBZMjYwMzQyRDAxKg0KK1g0NTEwMzVZMjYwMjMyRDAxKg0KK1g0NTEwMDdZMjYwMTE4RDAxKg0KK1g0NTA5OThZMjYwMDAwRDAxKg0KK1g0NTEwMDdZMjU5ODgyRDAxKg0KK1g0NTEwMzVZMjU5NzY4RDAxKg0KK1g0NTEwODBZMjU5NjU4RDAxKg0KK1g0NTExNDFZMjU5NTU4RDAxKg0KK1g0NTEyMThZMjU5NDY4RDAxKg0KK1g0NTEzMDhZMjU5MzkxRDAxKg0KK1g0NTE0MDhZMjU5MzMwRDAxKg0KK1g0NTE1MThZMjU5Mjg1RDAxKg0KK1g0NTE2MzJZMjU5MjU3RDAxKg0KK1g0NTE3NTBZMjU5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIzODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjM4NzQzRDAxKg0KK1g0NTE1MThZMjM4NzE1RDAxKg0KK1g0NTE0MDhZMjM4NjcwRDAxKg0KK1g0NTEzMDhZMjM4NjA5RDAxKg0KK1g0NTEyMThZMjM4NTMyRDAxKg0KK1g0NTExNDFZMjM4NDQyRDAxKg0KK1g0NTEwODBZMjM4MzQyRDAxKg0KK1g0NTEwMzVZMjM4MjMyRDAxKg0KK1g0NTEwMDdZMjM4MTE4RDAxKg0KK1g0NTA5OThZMjM4MDAwRDAxKg0KK1g0NTEwMDdZMjM3ODgyRDAxKg0KK1g0NTEwMzVZMjM3NzY4RDAxKg0KK1g0NTEwODBZMjM3NjU4RDAxKg0KK1g0NTExNDFZMjM3NTU4RDAxKg0KK1g0NTEyMThZMjM3NDY4RDAxKg0KK1g0NTEzMDhZMjM3MzkxRDAxKg0KK1g0NTE0MDhZMjM3MzMwRDAxKg0KK1g0NTE1MThZMjM3Mjg1RDAxKg0KK1g0NTE2MzJZMjM3MjU3RDAxKg0KK1g0NTE3NTBZMjM3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIzMDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjMwNzQzRDAxKg0KK1g0NTE1MThZMjMwNzE1RDAxKg0KK1g0NTE0MDhZMjMwNjcwRDAxKg0KK1g0NTEzMDhZMjMwNjA5RDAxKg0KK1g0NTEyMThZMjMwNTMyRDAxKg0KK1g0NTExNDFZMjMwNDQyRDAxKg0KK1g0NTEwODBZMjMwMzQyRDAxKg0KK1g0NTEwMzVZMjMwMjMyRDAxKg0KK1g0NTEwMDdZMjMwMTE4RDAxKg0KK1g0NTA5OThZMjMwMDAwRDAxKg0KK1g0NTEwMDdZMjI5ODgyRDAxKg0KK1g0NTEwMzVZMjI5NzY4RDAxKg0KK1g0NTEwODBZMjI5NjU4RDAxKg0KK1g0NTExNDFZMjI5NTU4RDAxKg0KK1g0NTEyMThZMjI5NDY4RDAxKg0KK1g0NTEzMDhZMjI5MzkxRDAxKg0KK1g0NTE0MDhZMjI5MzMwRDAxKg0KK1g0NTE1MThZMjI5Mjg1RDAxKg0KK1g0NTE2MzJZMjI5MjU3RDAxKg0KK1g0NTE3NTBZMjI5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIwODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjA4NzQzRDAxKg0KK1g0NTE1MThZMjA4NzE1RDAxKg0KK1g0NTE0MDhZMjA4NjcwRDAxKg0KK1g0NTEzMDhZMjA4NjA5RDAxKg0KK1g0NTEyMThZMjA4NTMyRDAxKg0KK1g0NTExNDFZMjA4NDQyRDAxKg0KK1g0NTEwODBZMjA4MzQyRDAxKg0KK1g0NTEwMzVZMjA4MjMyRDAxKg0KK1g0NTEwMDdZMjA4MTE4RDAxKg0KK1g0NTA5OThZMjA4MDAwRDAxKg0KK1g0NTEwMDdZMjA3ODgyRDAxKg0KK1g0NTEwMzVZMjA3NzY4RDAxKg0KK1g0NTEwODBZMjA3NjU4RDAxKg0KK1g0NTExNDFZMjA3NTU4RDAxKg0KK1g0NTEyMThZMjA3NDY4RDAxKg0KK1g0NTEzMDhZMjA3MzkxRDAxKg0KK1g0NTE0MDhZMjA3MzMwRDAxKg0KK1g0NTE1MThZMjA3Mjg1RDAxKg0KK1g0NTE2MzJZMjA3MjU3RDAxKg0KK1g0NTE3NTBZMjA3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTIwMDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMjAwNzQzRDAxKg0KK1g0NTE1MThZMjAwNzE1RDAxKg0KK1g0NTE0MDhZMjAwNjcwRDAxKg0KK1g0NTEzMDhZMjAwNjA5RDAxKg0KK1g0NTEyMThZMjAwNTMyRDAxKg0KK1g0NTExNDFZMjAwNDQyRDAxKg0KK1g0NTEwODBZMjAwMzQyRDAxKg0KK1g0NTEwMzVZMjAwMjMyRDAxKg0KK1g0NTEwMDdZMjAwMTE4RDAxKg0KK1g0NTA5OThZMjAwMDAwRDAxKg0KK1g0NTEwMDdZMTk5ODgyRDAxKg0KK1g0NTEwMzVZMTk5NzY4RDAxKg0KK1g0NTEwODBZMTk5NjU4RDAxKg0KK1g0NTExNDFZMTk5NTU4RDAxKg0KK1g0NTEyMThZMTk5NDY4RDAxKg0KK1g0NTEzMDhZMTk5MzkxRDAxKg0KK1g0NTE0MDhZMTk5MzMwRDAxKg0KK1g0NTE1MThZMTk5Mjg1RDAxKg0KK1g0NTE2MzJZMTk5MjU3RDAxKg0KK1g0NTE3NTBZMTk5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE3ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTc4NzQzRDAxKg0KK1g0NTE1MThZMTc4NzE1RDAxKg0KK1g0NTE0MDhZMTc4NjcwRDAxKg0KK1g0NTEzMDhZMTc4NjA5RDAxKg0KK1g0NTEyMThZMTc4NTMyRDAxKg0KK1g0NTExNDFZMTc4NDQyRDAxKg0KK1g0NTEwODBZMTc4MzQyRDAxKg0KK1g0NTEwMzVZMTc4MjMyRDAxKg0KK1g0NTEwMDdZMTc4MTE4RDAxKg0KK1g0NTA5OThZMTc4MDAwRDAxKg0KK1g0NTEwMDdZMTc3ODgyRDAxKg0KK1g0NTEwMzVZMTc3NzY4RDAxKg0KK1g0NTEwODBZMTc3NjU4RDAxKg0KK1g0NTExNDFZMTc3NTU4RDAxKg0KK1g0NTEyMThZMTc3NDY4RDAxKg0KK1g0NTEzMDhZMTc3MzkxRDAxKg0KK1g0NTE0MDhZMTc3MzMwRDAxKg0KK1g0NTE1MThZMTc3Mjg1RDAxKg0KK1g0NTE2MzJZMTc3MjU3RDAxKg0KK1g0NTE3NTBZMTc3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE3MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTcwNzQzRDAxKg0KK1g0NTE1MThZMTcwNzE1RDAxKg0KK1g0NTE0MDhZMTcwNjcwRDAxKg0KK1g0NTEzMDhZMTcwNjA5RDAxKg0KK1g0NTEyMThZMTcwNTMyRDAxKg0KK1g0NTExNDFZMTcwNDQyRDAxKg0KK1g0NTEwODBZMTcwMzQyRDAxKg0KK1g0NTEwMzVZMTcwMjMyRDAxKg0KK1g0NTEwMDdZMTcwMTE4RDAxKg0KK1g0NTA5OThZMTcwMDAwRDAxKg0KK1g0NTEwMDdZMTY5ODgyRDAxKg0KK1g0NTEwMzVZMTY5NzY4RDAxKg0KK1g0NTEwODBZMTY5NjU4RDAxKg0KK1g0NTExNDFZMTY5NTU4RDAxKg0KK1g0NTEyMThZMTY5NDY4RDAxKg0KK1g0NTEzMDhZMTY5MzkxRDAxKg0KK1g0NTE0MDhZMTY5MzMwRDAxKg0KK1g0NTE1MThZMTY5Mjg1RDAxKg0KK1g0NTE2MzJZMTY5MjU3RDAxKg0KK1g0NTE3NTBZMTY5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE0ODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTQ4NzQzRDAxKg0KK1g0NTE1MThZMTQ4NzE1RDAxKg0KK1g0NTE0MDhZMTQ4NjcwRDAxKg0KK1g0NTEzMDhZMTQ4NjA5RDAxKg0KK1g0NTEyMThZMTQ4NTMyRDAxKg0KK1g0NTExNDFZMTQ4NDQyRDAxKg0KK1g0NTEwODBZMTQ4MzQyRDAxKg0KK1g0NTEwMzVZMTQ4MjMyRDAxKg0KK1g0NTEwMDdZMTQ4MTE4RDAxKg0KK1g0NTA5OThZMTQ4MDAwRDAxKg0KK1g0NTEwMDdZMTQ3ODgyRDAxKg0KK1g0NTEwMzVZMTQ3NzY4RDAxKg0KK1g0NTEwODBZMTQ3NjU4RDAxKg0KK1g0NTExNDFZMTQ3NTU4RDAxKg0KK1g0NTEyMThZMTQ3NDY4RDAxKg0KK1g0NTEzMDhZMTQ3MzkxRDAxKg0KK1g0NTE0MDhZMTQ3MzMwRDAxKg0KK1g0NTE1MThZMTQ3Mjg1RDAxKg0KK1g0NTE2MzJZMTQ3MjU3RDAxKg0KK1g0NTE3NTBZMTQ3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTE0MDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTQwNzQzRDAxKg0KK1g0NTE1MThZMTQwNzE1RDAxKg0KK1g0NTE0MDhZMTQwNjcwRDAxKg0KK1g0NTEzMDhZMTQwNjA5RDAxKg0KK1g0NTEyMThZMTQwNTMyRDAxKg0KK1g0NTExNDFZMTQwNDQyRDAxKg0KK1g0NTEwODBZMTQwMzQyRDAxKg0KK1g0NTEwMzVZMTQwMjMyRDAxKg0KK1g0NTEwMDdZMTQwMTE4RDAxKg0KK1g0NTA5OThZMTQwMDAwRDAxKg0KK1g0NTEwMDdZMTM5ODgyRDAxKg0KK1g0NTEwMzVZMTM5NzY4RDAxKg0KK1g0NTEwODBZMTM5NjU4RDAxKg0KK1g0NTExNDFZMTM5NTU4RDAxKg0KK1g0NTEyMThZMTM5NDY4RDAxKg0KK1g0NTEzMDhZMTM5MzkxRDAxKg0KK1g0NTE0MDhZMTM5MzMwRDAxKg0KK1g0NTE1MThZMTM5Mjg1RDAxKg0KK1g0NTE2MzJZMTM5MjU3RDAxKg0KK1g0NTE3NTBZMTM5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTExODc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTE4NzQzRDAxKg0KK1g0NTE1MThZMTE4NzE1RDAxKg0KK1g0NTE0MDhZMTE4NjcwRDAxKg0KK1g0NTEzMDhZMTE4NjA5RDAxKg0KK1g0NTEyMThZMTE4NTMyRDAxKg0KK1g0NTExNDFZMTE4NDQyRDAxKg0KK1g0NTEwODBZMTE4MzQyRDAxKg0KK1g0NTEwMzVZMTE4MjMyRDAxKg0KK1g0NTEwMDdZMTE4MTE4RDAxKg0KK1g0NTA5OThZMTE4MDAwRDAxKg0KK1g0NTEwMDdZMTE3ODgyRDAxKg0KK1g0NTEwMzVZMTE3NzY4RDAxKg0KK1g0NTEwODBZMTE3NjU4RDAxKg0KK1g0NTExNDFZMTE3NTU4RDAxKg0KK1g0NTEyMThZMTE3NDY4RDAxKg0KK1g0NTEzMDhZMTE3MzkxRDAxKg0KK1g0NTE0MDhZMTE3MzMwRDAxKg0KK1g0NTE1MThZMTE3Mjg1RDAxKg0KK1g0NTE2MzJZMTE3MjU3RDAxKg0KK1g0NTE3NTBZMTE3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTExMDc1MEQwMSoNCitYNDUxNzUwRDAxKg0KK1g0NTE2MzJZMTEwNzQzRDAxKg0KK1g0NTE1MThZMTEwNzE1RDAxKg0KK1g0NTE0MDhZMTEwNjcwRDAxKg0KK1g0NTEzMDhZMTEwNjA5RDAxKg0KK1g0NTEyMThZMTEwNTMyRDAxKg0KK1g0NTExNDFZMTEwNDQyRDAxKg0KK1g0NTEwODBZMTEwMzQyRDAxKg0KK1g0NTEwMzVZMTEwMjMyRDAxKg0KK1g0NTEwMDdZMTEwMTE4RDAxKg0KK1g0NTA5OThZMTEwMDAwRDAxKg0KK1g0NTEwMDdZMTA5ODgyRDAxKg0KK1g0NTEwMzVZMTA5NzY4RDAxKg0KK1g0NTEwODBZMTA5NjU4RDAxKg0KK1g0NTExNDFZMTA5NTU4RDAxKg0KK1g0NTEyMThZMTA5NDY4RDAxKg0KK1g0NTEzMDhZMTA5MzkxRDAxKg0KK1g0NTE0MDhZMTA5MzMwRDAxKg0KK1g0NTE1MThZMTA5Mjg1RDAxKg0KK1g0NTE2MzJZMTA5MjU3RDAxKg0KK1g0NTE3NTBZMTA5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTg4NzUwRDAxKg0KK1g0NTE3NTBEMDEqDQorWDQ1MTYzMlk4ODc0M0QwMSoNCitYNDUxNTE4WTg4NzE1RDAxKg0KK1g0NTE0MDhZODg2NzBEMDEqDQorWDQ1MTMwOFk4ODYwOUQwMSoNCitYNDUxMjE4WTg4NTMyRDAxKg0KK1g0NTExNDFZODg0NDJEMDEqDQorWDQ1MTA4MFk4ODM0MkQwMSoNCitYNDUxMDM1WTg4MjMyRDAxKg0KK1g0NTEwMDdZODgxMThEMDEqDQorWDQ1MDk5OFk4ODAwMEQwMSoNCitYNDUxMDA3WTg3ODgyRDAxKg0KK1g0NTEwMzVZODc3NjhEMDEqDQorWDQ1MTA4MFk4NzY1OEQwMSoNCitYNDUxMTQxWTg3NTU4RDAxKg0KK1g0NTEyMThZODc0NjhEMDEqDQorWDQ1MTMwOFk4NzM5MUQwMSoNCitYNDUxNDA4WTg3MzMwRDAxKg0KK1g0NTE1MThZODcyODVEMDEqDQorWDQ1MTYzMlk4NzI1N0QwMSoNCitYNDUxNzUwWTg3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTgwNzUwRDAxKg0KK1g0NTE3NTBEMDEqDQorWDQ1MTYzMlk4MDc0M0QwMSoNCitYNDUxNTE4WTgwNzE1RDAxKg0KK1g0NTE0MDhZODA2NzBEMDEqDQorWDQ1MTMwOFk4MDYwOUQwMSoNCitYNDUxMjE4WTgwNTMyRDAxKg0KK1g0NTExNDFZODA0NDJEMDEqDQorWDQ1MTA4MFk4MDM0MkQwMSoNCitYNDUxMDM1WTgwMjMyRDAxKg0KK1g0NTEwMDdZODAxMThEMDEqDQorWDQ1MDk5OFk4MDAwMEQwMSoNCitYNDUxMDA3WTc5ODgyRDAxKg0KK1g0NTEwMzVZNzk3NjhEMDEqDQorWDQ1MTA4MFk3OTY1OEQwMSoNCitYNDUxMTQxWTc5NTU4RDAxKg0KK1g0NTEyMThZNzk0NjhEMDEqDQorWDQ1MTMwOFk3OTM5MUQwMSoNCitYNDUxNDA4WTc5MzMwRDAxKg0KK1g0NTE1MThZNzkyODVEMDEqDQorWDQ1MTYzMlk3OTI1N0QwMSoNCitYNDUxNzUwWTc5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTU4NzUwRDAxKg0KK1g0NTE3NTBEMDEqDQorWDQ1MTYzMlk1ODc0M0QwMSoNCitYNDUxNTE4WTU4NzE1RDAxKg0KK1g0NTE0MDhZNTg2NzBEMDEqDQorWDQ1MTMwOFk1ODYwOUQwMSoNCitYNDUxMjE4WTU4NTMyRDAxKg0KK1g0NTExNDFZNTg0NDJEMDEqDQorWDQ1MTA4MFk1ODM0MkQwMSoNCitYNDUxMDM1WTU4MjMyRDAxKg0KK1g0NTEwMDdZNTgxMThEMDEqDQorWDQ1MDk5OFk1ODAwMEQwMSoNCitYNDUxMDA3WTU3ODgyRDAxKg0KK1g0NTEwMzVZNTc3NjhEMDEqDQorWDQ1MTA4MFk1NzY1OEQwMSoNCitYNDUxMTQxWTU3NTU4RDAxKg0KK1g0NTEyMThZNTc0NjhEMDEqDQorWDQ1MTMwOFk1NzM5MUQwMSoNCitYNDUxNDA4WTU3MzMwRDAxKg0KK1g0NTE1MThZNTcyODVEMDEqDQorWDQ1MTYzMlk1NzI1N0QwMSoNCitYNDUxNzUwWTU3MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTUwNzUwRDAxKg0KK1g0NTE3NTBEMDEqDQorWDQ1MTYzMlk1MDc0M0QwMSoNCitYNDUxNTE4WTUwNzE1RDAxKg0KK1g0NTE0MDhZNTA2NzBEMDEqDQorWDQ1MTMwOFk1MDYwOUQwMSoNCitYNDUxMjE4WTUwNTMyRDAxKg0KK1g0NTExNDFZNTA0NDJEMDEqDQorWDQ1MTA4MFk1MDM0MkQwMSoNCitYNDUxMDM1WTUwMjMyRDAxKg0KK1g0NTEwMDdZNTAxMThEMDEqDQorWDQ1MDk5OFk1MDAwMEQwMSoNCitYNDUxMDA3WTQ5ODgyRDAxKg0KK1g0NTEwMzVZNDk3NjhEMDEqDQorWDQ1MTA4MFk0OTY1OEQwMSoNCitYNDUxMTQxWTQ5NTU4RDAxKg0KK1g0NTEyMThZNDk0NjhEMDEqDQorWDQ1MTMwOFk0OTM5MUQwMSoNCitYNDUxNDA4WTQ5MzMwRDAxKg0KK1g0NTE1MThZNDkyODVEMDEqDQorWDQ1MTYzMlk0OTI1N0QwMSoNCitYNDUxNzUwWTQ5MjUwRDAxKg0KK1g0NTM1MDBEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ0OTUwMEQwMipYNDQwNDQ2RDAxKg0KK1k1NDY5NUQwMSoNCitYNDQwNDQ5WTU0Njk0RDAxKg0KK1g0NDA3MzFZNTQ3MTdEMDEqDQorWDQ0MTAwN1k1NDc4M0QwMSoNCitYNDQxMjY5WTU0ODkxRDAxKg0KK1g0NDE1MTBZNTUwMzlEMDEqDQorWDQ0MTcyNlk1NTIyM0QwMSoNCitYNDQxOTEwWTU1NDM5RDAxKg0KK1g0NDIwNThZNTU2ODBEMDEqDQorWDQ0MjE2Nlk1NTk0MkQwMSoNCitYNDQyMjMyWTU2MjE4RDAxKg0KK1g0NDIyNDlZNTY1MDBEMDEqDQorWDQ0MjIzMlk1Njc4MkQwMSoNCitYNDQyMTY2WTU3MDU4RDAxKg0KK1g0NDIwNThZNTczMjBEMDEqDQorWDQ0MTkxMFk1NzU2MUQwMSoNCitYNDQxNzI2WTU3Nzc3RDAxKg0KK1g0NDE1MTBZNTc5NjFEMDEqDQorWDQ0MTI2OVk1ODEwOUQwMSoNCitYNDQxMDA3WTU4MjE3RDAxKg0KK1g0NDA3MzFZNTgyODNEMDEqDQorWDQ0MDQ0OVk1ODMwNkQwMSoNCitYNDQwNDQ2WTU4MzA1RDAxKg0KK1k3MDAwMEQwMSoNCitYNDQ3NDQxRDAxKg0KK1g0NDc3NzNZOTk1MzJEMDEqDQorWDQ0ODA5Mlk5OTcyOEQwMSoNCitYNDQ4NDI3WTEwMDAxNEQwMSoNCitYNDQ4NzEzWTEwMDM0OUQwMSoNCitYNDQ4OTQ0WTEwMDcyNUQwMSoNCitYNDQ5MTEyWTEwMTEzMkQwMSoNCitYNDQ5MjE1WTEwMTU2MUQwMSoNCitYNDQ5MjQxWTEwMjAwMEQwMSoNCitYNDQ5MjE1WTEwMjQzOUQwMSoNCitYNDQ5MTEyWTEwMjg2OEQwMSoNCitYNDQ4OTQ0WTEwMzI3NUQwMSoNCitYNDQ4NzEzWTEwMzY1MUQwMSoNCitYNDQ4NDI3WTEwMzk4NkQwMSoNCitYNDQ4MDkyWTEwNDI3MkQwMSoNCitYNDQ3ODI4WTEwNDQzNEQwMSoNCitYNDQ4NDQxWTE1OTAwMEQwMSoNCitYNDQwNDQ2RDAxKg0KK1kxNzA3MjFEMDEqDQorWDQ0MDg1NVkxNzExOTlEMDEqDQorWDQ0MTI0NVkxNzE4MzdEMDEqDQorWDQ0MTUzMVkxNzI1MjhEMDEqDQorWDQ0MTcwNlkxNzMyNTVEMDEqDQorWDQ0MTc1MFkxNzQwMDBEMDEqDQorWDQ0MTcwNlkxNzQ3NDVEMDEqDQorWDQ0MTUzMVkxNzU0NzJEMDEqDQorWDQ0MTI0NVkxNzYxNjNEMDEqDQorWDQ0MDg1NVkxNzY4MDFEMDEqDQorWDQ0MDQ0NlkxNzcyNzlEMDEqDQorWTIwMDcyMUQwMSoNCitYNDQwODU1WTIwMTE5OUQwMSoNCitYNDQxMjQ1WTIwMTgzN0QwMSoNCitYNDQxNTMxWTIwMjUyOEQwMSoNCitYNDQxNzA2WTIwMzI1NUQwMSoNCitYNDQxNzUwWTIwNDAwMEQwMSoNCitYNDQxNzA2WTIwNDc0NUQwMSoNCitYNDQxNTMxWTIwNTQ3MkQwMSoNCitYNDQxMjQ1WTIwNjE2M0QwMSoNCitYNDQwODU1WTIwNjgwMUQwMSoNCitYNDQwNDQ2WTIwNzI3OUQwMSoNCitZMjMwNzIxRDAxKg0KK1g0NDA4NTVZMjMxMTk5RDAxKg0KK1g0NDEyNDVZMjMxODM3RDAxKg0KK1g0NDE1MzFZMjMyNTI4RDAxKg0KK1g0NDE3MDZZMjMzMjU1RDAxKg0KK1g0NDE3NTBZMjM0MDAwRDAxKg0KK1g0NDE3MDZZMjM0NzQ1RDAxKg0KK1g0NDE1MzFZMjM1NDcyRDAxKg0KK1g0NDEyNDVZMjM2MTYzRDAxKg0KK1g0NDA4NTVZMjM2ODAxRDAxKg0KK1g0NDA0NDZZMjM3Mjc5RDAxKg0KK1kyNjA3MjFEMDEqDQorWDQ0MDg1NVkyNjExOTlEMDEqDQorWDQ0MTI0NVkyNjE4MzdEMDEqDQorWDQ0MTUzMVkyNjI1MjhEMDEqDQorWDQ0MTcwNlkyNjMyNTVEMDEqDQorWDQ0MTc1MFkyNjQwMDBEMDEqDQorWDQ0MTcwNlkyNjQ3NDVEMDEqDQorWDQ0MTUzMVkyNjU0NzJEMDEqDQorWDQ0MTI0NVkyNjYxNjNEMDEqDQorWDQ0MDg1NVkyNjY4MDFEMDEqDQorWDQ0MDQ0NlkyNjcyNzlEMDEqDQorWTI5MDcyMUQwMSoNCitYNDQwODU1WTI5MTE5OUQwMSoNCitYNDQxMjQ1WTI5MTgzN0QwMSoNCitYNDQxNTMxWTI5MjUyOEQwMSoNCitYNDQxNzA2WTI5MzI1NUQwMSoNCitYNDQxNzUwWTI5NDAwMEQwMSoNCitYNDQxNzA2WTI5NDc0NUQwMSoNCitYNDQxNTMxWTI5NTQ3MkQwMSoNCitYNDQxMjQ1WTI5NjE2M0QwMSoNCitYNDQwODU1WTI5NjgwMUQwMSoNCitYNDQwNDQ2WTI5NzI3OUQwMSoNCitZMzIwNzIxRDAxKg0KK1g0NDA4NTVZMzIxMTk5RDAxKg0KK1g0NDEyNDVZMzIxODM3RDAxKg0KK1g0NDE1MzFZMzIyNTI4RDAxKg0KK1g0NDE3MDZZMzIzMjU1RDAxKg0KK1g0NDE3NTBZMzI0MDAwRDAxKg0KK1g0NDE3MDZZMzI0NzQ1RDAxKg0KK1g0NDE1MzFZMzI1NDcyRDAxKg0KK1g0NDEyNDVZMzI2MTYzRDAxKg0KK1g0NDA4NTVZMzI2ODAxRDAxKg0KK1g0NDA0NDZZMzI3Mjc5RDAxKg0KK1kzNTA3MjFEMDEqDQorWDQ0MDg1NVkzNTExOTlEMDEqDQorWDQ0MTI0NVkzNTE4MzdEMDEqDQorWDQ0MTUzMVkzNTI1MjhEMDEqDQorWDQ0MTcwNlkzNTMyNTVEMDEqDQorWDQ0MTc1MFkzNTQwMDBEMDEqDQorWDQ0MTcwNlkzNTQ3NDVEMDEqDQorWDQ0MTUzMVkzNTU0NzJEMDEqDQorWDQ0MTI0NVkzNTYxNjNEMDEqDQorWDQ0MDg1NVkzNTY4MDFEMDEqDQorWDQ0MDQ0NlkzNTcyNzlEMDEqDQorWTM4MDcyMUQwMSoNCitYNDQwODU1WTM4MTE5OUQwMSoNCitYNDQxMjQ1WTM4MTgzN0QwMSoNCitYNDQxNTMxWTM4MjUyOEQwMSoNCitYNDQxNzA2WTM4MzI1NUQwMSoNCitYNDQxNzUwWTM4NDAwMEQwMSoNCitYNDQxNzA2WTM4NDc0NUQwMSoNCitYNDQxNTMxWTM4NTQ3MkQwMSoNCitYNDQxMjQ1WTM4NjE2M0QwMSoNCitYNDQwODU1WTM4NjgwMUQwMSoNCitYNDQwNDQ2WTM4NzI3OUQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NDk1MDBEMDEqDQorWTM4NjUwMkQwMSoNCitYNDQ5MzgyWTM4NjQ5M0QwMSoNCitYNDQ5MjY4WTM4NjQ2NUQwMSoNCitYNDQ5MTU4WTM4NjQyMEQwMSoNCitYNDQ5MDU4WTM4NjM1OUQwMSoNCitYNDQ4OTY4WTM4NjI4MkQwMSoNCitYNDQ4ODkxWTM4NjE5MkQwMSoNCitYNDQ4ODMwWTM4NjA5MkQwMSoNCitYNDQ4Nzg1WTM4NTk4MkQwMSoNCitYNDQ4NzU3WTM4NTg2OEQwMSoNCitYNDQ4NzUwWTM4NTc1MEQwMSoNCitZMzgyMjUwRDAxKg0KK1g0NDg3NTdZMzgyMTMyRDAxKg0KK1g0NDg3ODVZMzgyMDE4RDAxKg0KK1g0NDg4MzBZMzgxOTA4RDAxKg0KK1g0NDg4OTFZMzgxODA4RDAxKg0KK1g0NDg5NjhZMzgxNzE4RDAxKg0KK1g0NDkwNThZMzgxNjQxRDAxKg0KK1g0NDkxNThZMzgxNTgwRDAxKg0KK1g0NDkyNjhZMzgxNTM1RDAxKg0KK1g0NDkzODJZMzgxNTA3RDAxKg0KK1g0NDk1MDBZMzgxNDk4RDAxKg0KK1kzNTY1MDJEMDEqDQorWDQ0OTM4MlkzNTY0OTNEMDEqDQorWDQ0OTI2OFkzNTY0NjVEMDEqDQorWDQ0OTE1OFkzNTY0MjBEMDEqDQorWDQ0OTA1OFkzNTYzNTlEMDEqDQorWDQ0ODk2OFkzNTYyODJEMDEqDQorWDQ0ODg5MVkzNTYxOTJEMDEqDQorWDQ0ODgzMFkzNTYwOTJEMDEqDQorWDQ0ODc4NVkzNTU5ODJEMDEqDQorWDQ0ODc1N1kzNTU4NjhEMDEqDQorWDQ0ODc1MFkzNTU3NTBEMDEqDQorWTM1MjI1MEQwMSoNCitYNDQ4NzU3WTM1MjEzMkQwMSoNCitYNDQ4Nzg1WTM1MjAxOEQwMSoNCitYNDQ4ODMwWTM1MTkwOEQwMSoNCitYNDQ4ODkxWTM1MTgwOEQwMSoNCitYNDQ4OTY4WTM1MTcxOEQwMSoNCitYNDQ5MDU4WTM1MTY0MUQwMSoNCitYNDQ5MTU4WTM1MTU4MEQwMSoNCitYNDQ5MjY4WTM1MTUzNUQwMSoNCitYNDQ5MzgyWTM1MTUwN0QwMSoNCitYNDQ5NTAwWTM1MTQ5OEQwMSoNCitZMzI2NTAyRDAxKg0KK1g0NDkzODJZMzI2NDkzRDAxKg0KK1g0NDkyNjhZMzI2NDY1RDAxKg0KK1g0NDkxNThZMzI2NDIwRDAxKg0KK1g0NDkwNThZMzI2MzU5RDAxKg0KK1g0NDg5NjhZMzI2MjgyRDAxKg0KK1g0NDg4OTFZMzI2MTkyRDAxKg0KK1g0NDg4MzBZMzI2MDkyRDAxKg0KK1g0NDg3ODVZMzI1OTgyRDAxKg0KK1g0NDg3NTdZMzI1ODY4RDAxKg0KK1g0NDg3NTBZMzI1NzUwRDAxKg0KK1kzMjIyNTBEMDEqDQorWDQ0ODc1N1kzMjIxMzJEMDEqDQorWDQ0ODc4NVkzMjIwMThEMDEqDQorWDQ0ODgzMFkzMjE5MDhEMDEqDQorWDQ0ODg5MVkzMjE4MDhEMDEqDQorWDQ0ODk2OFkzMjE3MThEMDEqDQorWDQ0OTA1OFkzMjE2NDFEMDEqDQorWDQ0OTE1OFkzMjE1ODBEMDEqDQorWDQ0OTI2OFkzMjE1MzVEMDEqDQorWDQ0OTM4MlkzMjE1MDdEMDEqDQorWDQ0OTUwMFkzMjE0OThEMDEqDQorWTI5NjUwMkQwMSoNCitYNDQ5MzgyWTI5NjQ5M0QwMSoNCitYNDQ5MjY4WTI5NjQ2NUQwMSoNCitYNDQ5MTU4WTI5NjQyMEQwMSoNCitYNDQ5MDU4WTI5NjM1OUQwMSoNCitYNDQ4OTY4WTI5NjI4MkQwMSoNCitYNDQ4ODkxWTI5NjE5MkQwMSoNCitYNDQ4ODMwWTI5NjA5MkQwMSoNCitYNDQ4Nzg1WTI5NTk4MkQwMSoNCitYNDQ4NzU3WTI5NTg2OEQwMSoNCitYNDQ4NzUwWTI5NTc1MEQwMSoNCitZMjkyMjUwRDAxKg0KK1g0NDg3NTdZMjkyMTMyRDAxKg0KK1g0NDg3ODVZMjkyMDE4RDAxKg0KK1g0NDg4MzBZMjkxOTA4RDAxKg0KK1g0NDg4OTFZMjkxODA4RDAxKg0KK1g0NDg5NjhZMjkxNzE4RDAxKg0KK1g0NDkwNThZMjkxNjQxRDAxKg0KK1g0NDkxNThZMjkxNTgwRDAxKg0KK1g0NDkyNjhZMjkxNTM1RDAxKg0KK1g0NDkzODJZMjkxNTA3RDAxKg0KK1g0NDk1MDBZMjkxNDk4RDAxKg0KK1kyNjY1MDJEMDEqDQorWDQ0OTM4MlkyNjY0OTNEMDEqDQorWDQ0OTI2OFkyNjY0NjVEMDEqDQorWDQ0OTE1OFkyNjY0MjBEMDEqDQorWDQ0OTA1OFkyNjYzNTlEMDEqDQorWDQ0ODk2OFkyNjYyODJEMDEqDQorWDQ0ODg5MVkyNjYxOTJEMDEqDQorWDQ0ODgzMFkyNjYwOTJEMDEqDQorWDQ0ODc4NVkyNjU5ODJEMDEqDQorWDQ0ODc1N1kyNjU4NjhEMDEqDQorWDQ0ODc1MFkyNjU3NTBEMDEqDQorWTI2MjI1MEQwMSoNCitYNDQ4NzU3WTI2MjEzMkQwMSoNCitYNDQ4Nzg1WTI2MjAxOEQwMSoNCitYNDQ4ODMwWTI2MTkwOEQwMSoNCitYNDQ4ODkxWTI2MTgwOEQwMSoNCitYNDQ4OTY4WTI2MTcxOEQwMSoNCitYNDQ5MDU4WTI2MTY0MUQwMSoNCitYNDQ5MTU4WTI2MTU4MEQwMSoNCitYNDQ5MjY4WTI2MTUzNUQwMSoNCitYNDQ5MzgyWTI2MTUwN0QwMSoNCitYNDQ5NTAwWTI2MTQ5OEQwMSoNCitZMjM2NTAyRDAxKg0KK1g0NDkzODJZMjM2NDkzRDAxKg0KK1g0NDkyNjhZMjM2NDY1RDAxKg0KK1g0NDkxNThZMjM2NDIwRDAxKg0KK1g0NDkwNThZMjM2MzU5RDAxKg0KK1g0NDg5NjhZMjM2MjgyRDAxKg0KK1g0NDg4OTFZMjM2MTkyRDAxKg0KK1g0NDg4MzBZMjM2MDkyRDAxKg0KK1g0NDg3ODVZMjM1OTgyRDAxKg0KK1g0NDg3NTdZMjM1ODY4RDAxKg0KK1g0NDg3NTBZMjM1NzUwRDAxKg0KK1kyMzIyNTBEMDEqDQorWDQ0ODc1N1kyMzIxMzJEMDEqDQorWDQ0ODc4NVkyMzIwMThEMDEqDQorWDQ0ODgzMFkyMzE5MDhEMDEqDQorWDQ0ODg5MVkyMzE4MDhEMDEqDQorWDQ0ODk2OFkyMzE3MThEMDEqDQorWDQ0OTA1OFkyMzE2NDFEMDEqDQorWDQ0OTE1OFkyMzE1ODBEMDEqDQorWDQ0OTI2OFkyMzE1MzVEMDEqDQorWDQ0OTM4MlkyMzE1MDdEMDEqDQorWDQ0OTUwMFkyMzE0OThEMDEqDQorWTIwNjUwMkQwMSoNCitYNDQ5MzgyWTIwNjQ5M0QwMSoNCitYNDQ5MjY4WTIwNjQ2NUQwMSoNCitYNDQ5MTU4WTIwNjQyMEQwMSoNCitYNDQ5MDU4WTIwNjM1OUQwMSoNCitYNDQ4OTY4WTIwNjI4MkQwMSoNCitYNDQ4ODkxWTIwNjE5MkQwMSoNCitYNDQ4ODMwWTIwNjA5MkQwMSoNCitYNDQ4Nzg1WTIwNTk4MkQwMSoNCitYNDQ4NzU3WTIwNTg2OEQwMSoNCitYNDQ4NzUwWTIwNTc1MEQwMSoNCitZMjAyMjUwRDAxKg0KK1g0NDg3NTdZMjAyMTMyRDAxKg0KK1g0NDg3ODVZMjAyMDE4RDAxKg0KK1g0NDg4MzBZMjAxOTA4RDAxKg0KK1g0NDg4OTFZMjAxODA4RDAxKg0KK1g0NDg5NjhZMjAxNzE4RDAxKg0KK1g0NDkwNThZMjAxNjQxRDAxKg0KK1g0NDkxNThZMjAxNTgwRDAxKg0KK1g0NDkyNjhZMjAxNTM1RDAxKg0KK1g0NDkzODJZMjAxNTA3RDAxKg0KK1g0NDk1MDBZMjAxNDk4RDAxKg0KK1kxNzY1MDJEMDEqDQorWDQ0OTM4MlkxNzY0OTNEMDEqDQorWDQ0OTI2OFkxNzY0NjVEMDEqDQorWDQ0OTE1OFkxNzY0MjBEMDEqDQorWDQ0OTA1OFkxNzYzNTlEMDEqDQorWDQ0ODk2OFkxNzYyODJEMDEqDQorWDQ0ODg5MVkxNzYxOTJEMDEqDQorWDQ0ODgzMFkxNzYwOTJEMDEqDQorWDQ0ODc4NVkxNzU5ODJEMDEqDQorWDQ0ODc1N1kxNzU4NjhEMDEqDQorWDQ0ODc1MFkxNzU3NTBEMDEqDQorWTE3MjI1MEQwMSoNCitYNDQ4NzU3WTE3MjEzMkQwMSoNCitYNDQ4Nzg1WTE3MjAxOEQwMSoNCitYNDQ4ODMwWTE3MTkwOEQwMSoNCitYNDQ4ODkxWTE3MTgwOEQwMSoNCitYNDQ4OTY4WTE3MTcxOEQwMSoNCitYNDQ5MDU4WTE3MTY0MUQwMSoNCitYNDQ5MTU4WTE3MTU4MEQwMSoNCitYNDQ5MjY4WTE3MTUzNUQwMSoNCitYNDQ5MzgyWTE3MTUwN0QwMSoNCitYNDQ5NTAwWTE3MTQ5OEQwMSoNCitZMTQ2NTAyRDAxKg0KK1g0NDkzODJZMTQ2NDkzRDAxKg0KK1g0NDkyNjhZMTQ2NDY1RDAxKg0KK1g0NDkxNThZMTQ2NDIwRDAxKg0KK1g0NDkwNThZMTQ2MzU5RDAxKg0KK1g0NDg5NjhZMTQ2MjgyRDAxKg0KK1g0NDg4OTFZMTQ2MTkyRDAxKg0KK1g0NDg4MzBZMTQ2MDkyRDAxKg0KK1g0NDg3ODVZMTQ1OTgyRDAxKg0KK1g0NDg3NTdZMTQ1ODY4RDAxKg0KK1g0NDg3NTBZMTQ1NzUwRDAxKg0KK1kxNDIyNTBEMDEqDQorWDQ0ODc1N1kxNDIxMzJEMDEqDQorWDQ0ODc4NVkxNDIwMThEMDEqDQorWDQ0ODgzMFkxNDE5MDhEMDEqDQorWDQ0ODg5MVkxNDE4MDhEMDEqDQorWDQ0ODk2OFkxNDE3MThEMDEqDQorWDQ0OTA1OFkxNDE2NDFEMDEqDQorWDQ0OTE1OFkxNDE1ODBEMDEqDQorWDQ0OTI2OFkxNDE1MzVEMDEqDQorWDQ0OTM4MlkxNDE1MDdEMDEqDQorWDQ0OTUwMFkxNDE0OThEMDEqDQorWTExNjUwMkQwMSoNCitYNDQ5MzgyWTExNjQ5M0QwMSoNCitYNDQ5MjY4WTExNjQ2NUQwMSoNCitYNDQ5MTU4WTExNjQyMEQwMSoNCitYNDQ5MDU4WTExNjM1OUQwMSoNCitYNDQ4OTY4WTExNjI4MkQwMSoNCitYNDQ4ODkxWTExNjE5MkQwMSoNCitYNDQ4ODMwWTExNjA5MkQwMSoNCitYNDQ4Nzg1WTExNTk4MkQwMSoNCitYNDQ4NzU3WTExNTg2OEQwMSoNCitYNDQ4NzUwWTExNTc1MEQwMSoNCitZMTEyMjUwRDAxKg0KK1g0NDg3NTdZMTEyMTMyRDAxKg0KK1g0NDg3ODVZMTEyMDE4RDAxKg0KK1g0NDg4MzBZMTExOTA4RDAxKg0KK1g0NDg4OTFZMTExODA4RDAxKg0KK1g0NDg5NjhZMTExNzE4RDAxKg0KK1g0NDkwNThZMTExNjQxRDAxKg0KK1g0NDkxNThZMTExNTgwRDAxKg0KK1g0NDkyNjhZMTExNTM1RDAxKg0KK1g0NDkzODJZMTExNTA3RDAxKg0KK1g0NDk1MDBZMTExNDk4RDAxKg0KK1k4NjUwMkQwMSoNCitYNDQ5MzgyWTg2NDkzRDAxKg0KK1g0NDkyNjhZODY0NjVEMDEqDQorWDQ0OTE1OFk4NjQyMEQwMSoNCitYNDQ5MDU4WTg2MzU5RDAxKg0KK1g0NDg5NjhZODYyODJEMDEqDQorWDQ0ODg5MVk4NjE5MkQwMSoNCitYNDQ4ODMwWTg2MDkyRDAxKg0KK1g0NDg3ODVZODU5ODJEMDEqDQorWDQ0ODc1N1k4NTg2OEQwMSoNCitYNDQ4NzUwWTg1NzUwRDAxKg0KK1k4MjI1MEQwMSoNCitYNDQ4NzU3WTgyMTMyRDAxKg0KK1g0NDg3ODVZODIwMThEMDEqDQorWDQ0ODgzMFk4MTkwOEQwMSoNCitYNDQ4ODkxWTgxODA4RDAxKg0KK1g0NDg5NjhZODE3MThEMDEqDQorWDQ0OTA1OFk4MTY0MUQwMSoNCitYNDQ5MTU4WTgxNTgwRDAxKg0KK1g0NDkyNjhZODE1MzVEMDEqDQorWDQ0OTM4Mlk4MTUwN0QwMSoNCitYNDQ5NTAwWTgxNDk4RDAxKg0KK1k1NjUwMkQwMSoNCitYNDQ5MzgyWTU2NDkzRDAxKg0KK1g0NDkyNjhZNTY0NjVEMDEqDQorWDQ0OTE1OFk1NjQyMEQwMSoNCitYNDQ5MDU4WTU2MzU5RDAxKg0KK1g0NDg5NjhZNTYyODJEMDEqDQorWDQ0ODg5MVk1NjE5MkQwMSoNCitYNDQ4ODMwWTU2MDkyRDAxKg0KK1g0NDg3ODVZNTU5ODJEMDEqDQorWDQ0ODc1N1k1NTg2OEQwMSoNCitYNDQ4NzUwWTU1NzUwRDAxKg0KK1k1MjI1MEQwMSoNCitYNDQ4NzU3WTUyMTMyRDAxKg0KK1g0NDg3ODVZNTIwMThEMDEqDQorWDQ0ODgzMFk1MTkwOEQwMSoNCitYNDQ4ODkxWTUxODA4RDAxKg0KK1g0NDg5NjhZNTE3MThEMDEqDQorWDQ0OTA1OFk1MTY0MUQwMSoNCitYNDQ5MTU4WTUxNTgwRDAxKg0KK1g0NDkyNjhZNTE1MzVEMDEqDQorWDQ0OTM4Mlk1MTUwN0QwMSoNCitYNDQ5NTAwWTUxNDk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0NDA0NDZZMzg3Mjc5RDAyKlg0NDAzNjlZMzg3MzY5RDAxKg0KK1g0Mzk4MDFZMzg3ODU1RDAxKg0KK1g0MzkxNjNZMzg4MjQ1RDAxKg0KK1g0Mzg0NzJZMzg4NTMxRDAxKg0KK1g0Mzc3NDVZMzg4NzA2RDAxKg0KK1g0MzcwMDBZMzg4NzY1RDAxKg0KK1g0MzYyNTVZMzg4NzA2RDAxKg0KK1g0MzU1MjhZMzg4NTMxRDAxKg0KK1g0MzQ4MzdZMzg4MjQ1RDAxKg0KK1g0MzQ0NDZZMzg4MDA2RDAxKg0KK1kzOTcwMDBEMDEqDQorWDQ0MDQ0NkQwMSoNCitZMzg3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTM1NzI3OUQwMipYNDQwMzY5WTM1NzM2OUQwMSoNCitYNDM5ODAxWTM1Nzg1NUQwMSoNCitYNDM5MTYzWTM1ODI0NUQwMSoNCitYNDM4NDcyWTM1ODUzMUQwMSoNCitYNDM3NzQ1WTM1ODcwNkQwMSoNCitYNDM3MDAwWTM1ODc2NUQwMSoNCitYNDM2MjU1WTM1ODcwNkQwMSoNCitYNDM1NTI4WTM1ODUzMUQwMSoNCitYNDM0ODM3WTM1ODI0NUQwMSoNCitYNDM0NDQ2WTM1ODAwNkQwMSoNCitZMzc5OTk0RDAxKg0KK1g0MzQ4MzdZMzc5NzU1RDAxKg0KK1g0MzU1MjhZMzc5NDY5RDAxKg0KK1g0MzYyNTVZMzc5Mjk0RDAxKg0KK1g0MzcwMDBZMzc5MjM1RDAxKg0KK1g0Mzc3NDVZMzc5Mjk0RDAxKg0KK1g0Mzg0NzJZMzc5NDY5RDAxKg0KK1g0MzkxNjNZMzc5NzU1RDAxKg0KK1g0Mzk4MDFZMzgwMTQ1RDAxKg0KK1g0NDAzNjlZMzgwNjMxRDAxKg0KK1g0NDA0NDZZMzgwNzIxRDAxKg0KK1kzNTcyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMzI3Mjc5RDAyKlg0NDAzNjlZMzI3MzY5RDAxKg0KK1g0Mzk4MDFZMzI3ODU1RDAxKg0KK1g0MzkxNjNZMzI4MjQ1RDAxKg0KK1g0Mzg0NzJZMzI4NTMxRDAxKg0KK1g0Mzc3NDVZMzI4NzA2RDAxKg0KK1g0MzcwMDBZMzI4NzY1RDAxKg0KK1g0MzYyNTVZMzI4NzA2RDAxKg0KK1g0MzU1MjhZMzI4NTMxRDAxKg0KK1g0MzQ4MzdZMzI4MjQ1RDAxKg0KK1g0MzQ0NDZZMzI4MDA2RDAxKg0KK1kzNDk5OTREMDEqDQorWDQzNDgzN1kzNDk3NTVEMDEqDQorWDQzNTUyOFkzNDk0NjlEMDEqDQorWDQzNjI1NVkzNDkyOTREMDEqDQorWDQzNzAwMFkzNDkyMzVEMDEqDQorWDQzNzc0NVkzNDkyOTREMDEqDQorWDQzODQ3MlkzNDk0NjlEMDEqDQorWDQzOTE2M1kzNDk3NTVEMDEqDQorWDQzOTgwMVkzNTAxNDVEMDEqDQorWDQ0MDM2OVkzNTA2MzFEMDEqDQorWDQ0MDQ0NlkzNTA3MjFEMDEqDQorWTMyNzI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyOTcyNzlEMDIqWDQ0MDM2OVkyOTczNjlEMDEqDQorWDQzOTgwMVkyOTc4NTVEMDEqDQorWDQzOTE2M1kyOTgyNDVEMDEqDQorWDQzODQ3MlkyOTg1MzFEMDEqDQorWDQzNzc0NVkyOTg3MDZEMDEqDQorWDQzNzAwMFkyOTg3NjVEMDEqDQorWDQzNjI1NVkyOTg3MDZEMDEqDQorWDQzNTUyOFkyOTg1MzFEMDEqDQorWDQzNDgzN1kyOTgyNDVEMDEqDQorWDQzNDQ0NlkyOTgwMDZEMDEqDQorWTMxOTk5NEQwMSoNCitYNDM0ODM3WTMxOTc1NUQwMSoNCitYNDM1NTI4WTMxOTQ2OUQwMSoNCitYNDM2MjU1WTMxOTI5NEQwMSoNCitYNDM3MDAwWTMxOTIzNUQwMSoNCitYNDM3NzQ1WTMxOTI5NEQwMSoNCitYNDM4NDcyWTMxOTQ2OUQwMSoNCitYNDM5MTYzWTMxOTc1NUQwMSoNCitYNDM5ODAxWTMyMDE0NUQwMSoNCitYNDQwMzY5WTMyMDYzMUQwMSoNCitYNDQwNDQ2WTMyMDcyMUQwMSoNCitZMjk3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTI2NzI3OUQwMipYNDQwMzY5WTI2NzM2OUQwMSoNCitYNDM5ODAxWTI2Nzg1NUQwMSoNCitYNDM5MTYzWTI2ODI0NUQwMSoNCitYNDM4NDcyWTI2ODUzMUQwMSoNCitYNDM3NzQ1WTI2ODcwNkQwMSoNCitYNDM3MDAwWTI2ODc2NUQwMSoNCitYNDM2MjU1WTI2ODcwNkQwMSoNCitYNDM1NTI4WTI2ODUzMUQwMSoNCitYNDM0ODM3WTI2ODI0NUQwMSoNCitYNDM0NDQ2WTI2ODAwNkQwMSoNCitZMjg5OTk0RDAxKg0KK1g0MzQ4MzdZMjg5NzU1RDAxKg0KK1g0MzU1MjhZMjg5NDY5RDAxKg0KK1g0MzYyNTVZMjg5Mjk0RDAxKg0KK1g0MzcwMDBZMjg5MjM1RDAxKg0KK1g0Mzc3NDVZMjg5Mjk0RDAxKg0KK1g0Mzg0NzJZMjg5NDY5RDAxKg0KK1g0MzkxNjNZMjg5NzU1RDAxKg0KK1g0Mzk4MDFZMjkwMTQ1RDAxKg0KK1g0NDAzNjlZMjkwNjMxRDAxKg0KK1g0NDA0NDZZMjkwNzIxRDAxKg0KK1kyNjcyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMjM3Mjc5RDAyKlg0NDAzNjlZMjM3MzY5RDAxKg0KK1g0Mzk4MDFZMjM3ODU1RDAxKg0KK1g0MzkxNjNZMjM4MjQ1RDAxKg0KK1g0Mzg0NzJZMjM4NTMxRDAxKg0KK1g0Mzc3NDVZMjM4NzA2RDAxKg0KK1g0MzcwMDBZMjM4NzY1RDAxKg0KK1g0MzYyNTVZMjM4NzA2RDAxKg0KK1g0MzU1MjhZMjM4NTMxRDAxKg0KK1g0MzQ4MzdZMjM4MjQ1RDAxKg0KK1g0MzQ0NDZZMjM4MDA2RDAxKg0KK1kyNTk5OTREMDEqDQorWDQzNDgzN1kyNTk3NTVEMDEqDQorWDQzNTUyOFkyNTk0NjlEMDEqDQorWDQzNjI1NVkyNTkyOTREMDEqDQorWDQzNzAwMFkyNTkyMzVEMDEqDQorWDQzNzc0NVkyNTkyOTREMDEqDQorWDQzODQ3MlkyNTk0NjlEMDEqDQorWDQzOTE2M1kyNTk3NTVEMDEqDQorWDQzOTgwMVkyNjAxNDVEMDEqDQorWDQ0MDM2OVkyNjA2MzFEMDEqDQorWDQ0MDQ0NlkyNjA3MjFEMDEqDQorWTIzNzI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDcyNzlEMDIqWDQ0MDM2OVkyMDczNjlEMDEqDQorWDQzOTgwMVkyMDc4NTVEMDEqDQorWDQzOTE2M1kyMDgyNDVEMDEqDQorWDQzODQ3MlkyMDg1MzFEMDEqDQorWDQzNzc0NVkyMDg3MDZEMDEqDQorWDQzNzAwMFkyMDg3NjVEMDEqDQorWDQzNjI1NVkyMDg3MDZEMDEqDQorWDQzNTUyOFkyMDg1MzFEMDEqDQorWDQzNDgzN1kyMDgyNDVEMDEqDQorWDQzNDQ0NlkyMDgwMDZEMDEqDQorWTIyOTk5NEQwMSoNCitYNDM0ODM3WTIyOTc1NUQwMSoNCitYNDM1NTI4WTIyOTQ2OUQwMSoNCitYNDM2MjU1WTIyOTI5NEQwMSoNCitYNDM3MDAwWTIyOTIzNUQwMSoNCitYNDM3NzQ1WTIyOTI5NEQwMSoNCitYNDM4NDcyWTIyOTQ2OUQwMSoNCitYNDM5MTYzWTIyOTc1NUQwMSoNCitYNDM5ODAxWTIzMDE0NUQwMSoNCitYNDQwMzY5WTIzMDYzMUQwMSoNCitYNDQwNDQ2WTIzMDcyMUQwMSoNCitZMjA3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzI3OUQwMipYNDQwMzY5WTE3NzM2OUQwMSoNCitYNDM5ODAxWTE3Nzg1NUQwMSoNCitYNDM5MTYzWTE3ODI0NUQwMSoNCitYNDM4NDcyWTE3ODUzMUQwMSoNCitYNDM3NzQ1WTE3ODcwNkQwMSoNCitYNDM3MDAwWTE3ODc2NUQwMSoNCitYNDM2MjU1WTE3ODcwNkQwMSoNCitYNDM1NTI4WTE3ODUzMUQwMSoNCitYNDM0ODM3WTE3ODI0NUQwMSoNCitYNDM0NDQ2WTE3ODAwNkQwMSoNCitZMTk5OTk0RDAxKg0KK1g0MzQ4MzdZMTk5NzU1RDAxKg0KK1g0MzU1MjhZMTk5NDY5RDAxKg0KK1g0MzYyNTVZMTk5Mjk0RDAxKg0KK1g0MzcwMDBZMTk5MjM1RDAxKg0KK1g0Mzc3NDVZMTk5Mjk0RDAxKg0KK1g0Mzg0NzJZMTk5NDY5RDAxKg0KK1g0MzkxNjNZMTk5NzU1RDAxKg0KK1g0Mzk4MDFZMjAwMTQ1RDAxKg0KK1g0NDAzNjlZMjAwNjMxRDAxKg0KK1g0NDA0NDZZMjAwNzIxRDAxKg0KK1kxNzcyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMTU5MDAwRDAyKlg0MzQ0NDZEMDEqDQorWTE2OTk5NEQwMSoNCitYNDM0ODM3WTE2OTc1NUQwMSoNCitYNDM1NTI4WTE2OTQ2OUQwMSoNCitYNDM2MjU1WTE2OTI5NEQwMSoNCitYNDM3MDAwWTE2OTIzNUQwMSoNCitYNDM3NzQ1WTE2OTI5NEQwMSoNCitYNDM4NDcyWTE2OTQ2OUQwMSoNCitYNDM5MTYzWTE2OTc1NUQwMSoNCitYNDM5ODAxWTE3MDE0NUQwMSoNCitYNDQwMzY5WTE3MDYzMUQwMSoNCitYNDQwNDQ2WTE3MDcyMUQwMSoNCitZMTU5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWTM5MDAwRDAyKlg0MzQ0NDZEMDEqDQorWTU0Njk1RDAxKg0KK1g0MzQ0NDlZNTQ2OTREMDEqDQorWDQzNDczMVk1NDcxN0QwMSoNCitYNDM1MDA3WTU0NzgzRDAxKg0KK1g0MzUyNjlZNTQ4OTFEMDEqDQorWDQzNTUxMFk1NTAzOUQwMSoNCitYNDM1NzI2WTU1MjIzRDAxKg0KK1g0MzU5MTBZNTU0MzlEMDEqDQorWDQzNjA1OFk1NTY4MEQwMSoNCitYNDM2MTY2WTU1OTQyRDAxKg0KK1g0MzYyMzJZNTYyMThEMDEqDQorWDQzNjI0OVk1NjUwMEQwMSoNCitYNDM2MjMyWTU2NzgyRDAxKg0KK1g0MzYxNjZZNTcwNThEMDEqDQorWDQzNjA1OFk1NzMyMEQwMSoNCitYNDM1OTEwWTU3NTYxRDAxKg0KK1g0MzU3MjZZNTc3NzdEMDEqDQorWDQzNTUxMFk1Nzk2MUQwMSoNCitYNDM1MjY5WTU4MTA5RDAxKg0KK1g0MzUwMDdZNTgyMTdEMDEqDQorWDQzNDczMVk1ODI4M0QwMSoNCitYNDM0NDQ5WTU4MzA2RDAxKg0KK1g0MzQ0NDZZNTgzMDVEMDEqDQorWTcwMDAwRDAxKg0KK1g0NDA0NDZEMDEqDQorWTU4MzA1RDAxKg0KK1g0NDAxNjdZNTgyODNEMDEqDQorWDQzOTg5MVk1ODIxN0QwMSoNCitYNDM5NjI5WTU4MTA5RDAxKg0KK1g0MzkzODhZNTc5NjFEMDEqDQorWDQzOTE3Mlk1Nzc3N0QwMSoNCitYNDM4OTg4WTU3NTYxRDAxKg0KK1g0Mzg4NDBZNTczMjBEMDEqDQorWDQzODczMlk1NzA1OEQwMSoNCitYNDM4NjY2WTU2NzgyRDAxKg0KK1g0Mzg2NDNZNTY1MDBEMDEqDQorWDQzODY2Nlk1NjIxOEQwMSoNCitYNDM4NzMyWTU1OTQyRDAxKg0KK1g0Mzg4NDBZNTU2ODBEMDEqDQorWDQzODk4OFk1NTQzOUQwMSoNCitYNDM5MTcyWTU1MjIzRDAxKg0KK1g0MzkzODhZNTUwMzlEMDEqDQorWDQzOTYyOVk1NDg5MUQwMSoNCitYNDM5ODkxWTU0NzgzRDAxKg0KK1g0NDAxNjdZNTQ3MTdEMDEqDQorWDQ0MDQ0Nlk1NDY5NUQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDM0NDQ2WTE1OTAwMEQwMipYNDI2OTkzRDAxKg0KK1kxNjkyMzZEMDEqDQorWDQyNzAwMFkxNjkyMzVEMDEqDQorWDQyNzc0NVkxNjkyOTREMDEqDQorWDQyODQ3MlkxNjk0NjlEMDEqDQorWDQyOTE2M1kxNjk3NTVEMDEqDQorWDQyOTgwMVkxNzAxNDVEMDEqDQorWDQzMDM2OVkxNzA2MzFEMDEqDQorWDQzMDg1NVkxNzExOTlEMDEqDQorWDQzMTI0NVkxNzE4MzdEMDEqDQorWDQzMTUzMVkxNzI1MjhEMDEqDQorWDQzMTcwNlkxNzMyNTVEMDEqDQorWDQzMTc1MFkxNzQwMDBEMDEqDQorWDQzMTcwNlkxNzQ3NDVEMDEqDQorWDQzMTUzMVkxNzU0NzJEMDEqDQorWDQzMTI0NVkxNzYxNjNEMDEqDQorWDQzMDg1NVkxNzY4MDFEMDEqDQorWDQzMDM2OVkxNzczNjlEMDEqDQorWDQyOTgwMVkxNzc4NTVEMDEqDQorWDQyOTE2M1kxNzgyNDVEMDEqDQorWDQyODQ3MlkxNzg1MzFEMDEqDQorWDQyNzc0NVkxNzg3MDZEMDEqDQorWDQyNzAwMFkxNzg3NjVEMDEqDQorWDQyNjk5M1kxNzg3NjREMDEqDQorWTE5OTIzNkQwMSoNCitYNDI3MDAwWTE5OTIzNUQwMSoNCitYNDI3NzQ1WTE5OTI5NEQwMSoNCitYNDI4NDcyWTE5OTQ2OUQwMSoNCitYNDI5MTYzWTE5OTc1NUQwMSoNCitYNDI5ODAxWTIwMDE0NUQwMSoNCitYNDMwMzY5WTIwMDYzMUQwMSoNCitYNDMwODU1WTIwMTE5OUQwMSoNCitYNDMxMjQ1WTIwMTgzN0QwMSoNCitYNDMxNTMxWTIwMjUyOEQwMSoNCitYNDMxNzA2WTIwMzI1NUQwMSoNCitYNDMxNzUwWTIwNDAwMEQwMSoNCitYNDMxNzA2WTIwNDc0NUQwMSoNCitYNDMxNTMxWTIwNTQ3MkQwMSoNCitYNDMxMjQ1WTIwNjE2M0QwMSoNCitYNDMwODU1WTIwNjgwMUQwMSoNCitYNDMwMzY5WTIwNzM2OUQwMSoNCitYNDI5ODAxWTIwNzg1NUQwMSoNCitYNDI5MTYzWTIwODI0NUQwMSoNCitYNDI4NDcyWTIwODUzMUQwMSoNCitYNDI3NzQ1WTIwODcwNkQwMSoNCitYNDI3MDAwWTIwODc2NUQwMSoNCitYNDI2OTkzWTIwODc2NEQwMSoNCitZMjI5MjM2RDAxKg0KK1g0MjcwMDBZMjI5MjM1RDAxKg0KK1g0Mjc3NDVZMjI5Mjk0RDAxKg0KK1g0Mjg0NzJZMjI5NDY5RDAxKg0KK1g0MjkxNjNZMjI5NzU1RDAxKg0KK1g0Mjk4MDFZMjMwMTQ1RDAxKg0KK1g0MzAzNjlZMjMwNjMxRDAxKg0KK1g0MzA4NTVZMjMxMTk5RDAxKg0KK1g0MzEyNDVZMjMxODM3RDAxKg0KK1g0MzE1MzFZMjMyNTI4RDAxKg0KK1g0MzE3MDZZMjMzMjU1RDAxKg0KK1g0MzE3NTBZMjM0MDAwRDAxKg0KK1g0MzE3MDZZMjM0NzQ1RDAxKg0KK1g0MzE1MzFZMjM1NDcyRDAxKg0KK1g0MzEyNDVZMjM2MTYzRDAxKg0KK1g0MzA4NTVZMjM2ODAxRDAxKg0KK1g0MzAzNjlZMjM3MzY5RDAxKg0KK1g0Mjk4MDFZMjM3ODU1RDAxKg0KK1g0MjkxNjNZMjM4MjQ1RDAxKg0KK1g0Mjg0NzJZMjM4NTMxRDAxKg0KK1g0Mjc3NDVZMjM4NzA2RDAxKg0KK1g0MjcwMDBZMjM4NzY1RDAxKg0KK1g0MjY5OTNZMjM4NzY0RDAxKg0KK1kyNTkyMzZEMDEqDQorWDQyNzAwMFkyNTkyMzVEMDEqDQorWDQyNzc0NVkyNTkyOTREMDEqDQorWDQyODQ3MlkyNTk0NjlEMDEqDQorWDQyOTE2M1kyNTk3NTVEMDEqDQorWDQyOTgwMVkyNjAxNDVEMDEqDQorWDQzMDM2OVkyNjA2MzFEMDEqDQorWDQzMDg1NVkyNjExOTlEMDEqDQorWDQzMTI0NVkyNjE4MzdEMDEqDQorWDQzMTUzMVkyNjI1MjhEMDEqDQorWDQzMTcwNlkyNjMyNTVEMDEqDQorWDQzMTc1MFkyNjQwMDBEMDEqDQorWDQzMTcwNlkyNjQ3NDVEMDEqDQorWDQzMTUzMVkyNjU0NzJEMDEqDQorWDQzMTI0NVkyNjYxNjNEMDEqDQorWDQzMDg1NVkyNjY4MDFEMDEqDQorWDQzMDM2OVkyNjczNjlEMDEqDQorWDQyOTgwMVkyNjc4NTVEMDEqDQorWDQyOTE2M1kyNjgyNDVEMDEqDQorWDQyODQ3MlkyNjg1MzFEMDEqDQorWDQyNzc0NVkyNjg3MDZEMDEqDQorWDQyNzAwMFkyNjg3NjVEMDEqDQorWDQyNjk5M1kyNjg3NjREMDEqDQorWTI4OTIzNkQwMSoNCitYNDI3MDAwWTI4OTIzNUQwMSoNCitYNDI3NzQ1WTI4OTI5NEQwMSoNCitYNDI4NDcyWTI4OTQ2OUQwMSoNCitYNDI5MTYzWTI4OTc1NUQwMSoNCitYNDI5ODAxWTI5MDE0NUQwMSoNCitYNDMwMzY5WTI5MDYzMUQwMSoNCitYNDMwODU1WTI5MTE5OUQwMSoNCitYNDMxMjQ1WTI5MTgzN0QwMSoNCitYNDMxNTMxWTI5MjUyOEQwMSoNCitYNDMxNzA2WTI5MzI1NUQwMSoNCitYNDMxNzUwWTI5NDAwMEQwMSoNCitYNDMxNzA2WTI5NDc0NUQwMSoNCitYNDMxNTMxWTI5NTQ3MkQwMSoNCitYNDMxMjQ1WTI5NjE2M0QwMSoNCitYNDMwODU1WTI5NjgwMUQwMSoNCitYNDMwMzY5WTI5NzM2OUQwMSoNCitYNDI5ODAxWTI5Nzg1NUQwMSoNCitYNDI5MTYzWTI5ODI0NUQwMSoNCitYNDI4NDcyWTI5ODUzMUQwMSoNCitYNDI3NzQ1WTI5ODcwNkQwMSoNCitYNDI3MDAwWTI5ODc2NUQwMSoNCitYNDI2OTkzWTI5ODc2NEQwMSoNCitZMzE5MjM2RDAxKg0KK1g0MjcwMDBZMzE5MjM1RDAxKg0KK1g0Mjc3NDVZMzE5Mjk0RDAxKg0KK1g0Mjg0NzJZMzE5NDY5RDAxKg0KK1g0MjkxNjNZMzE5NzU1RDAxKg0KK1g0Mjk4MDFZMzIwMTQ1RDAxKg0KK1g0MzAzNjlZMzIwNjMxRDAxKg0KK1g0MzA4NTVZMzIxMTk5RDAxKg0KK1g0MzEyNDVZMzIxODM3RDAxKg0KK1g0MzE1MzFZMzIyNTI4RDAxKg0KK1g0MzE3MDZZMzIzMjU1RDAxKg0KK1g0MzE3NTBZMzI0MDAwRDAxKg0KK1g0MzE3MDZZMzI0NzQ1RDAxKg0KK1g0MzE1MzFZMzI1NDcyRDAxKg0KK1g0MzEyNDVZMzI2MTYzRDAxKg0KK1g0MzA4NTVZMzI2ODAxRDAxKg0KK1g0MzAzNjlZMzI3MzY5RDAxKg0KK1g0Mjk4MDFZMzI3ODU1RDAxKg0KK1g0MjkxNjNZMzI4MjQ1RDAxKg0KK1g0Mjg0NzJZMzI4NTMxRDAxKg0KK1g0Mjc3NDVZMzI4NzA2RDAxKg0KK1g0MjcwMDBZMzI4NzY1RDAxKg0KK1g0MjY5OTNZMzI4NzY0RDAxKg0KK1kzNDkyMzZEMDEqDQorWDQyNzAwMFkzNDkyMzVEMDEqDQorWDQyNzc0NVkzNDkyOTREMDEqDQorWDQyODQ3MlkzNDk0NjlEMDEqDQorWDQyOTE2M1kzNDk3NTVEMDEqDQorWDQyOTgwMVkzNTAxNDVEMDEqDQorWDQzMDM2OVkzNTA2MzFEMDEqDQorWDQzMDg1NVkzNTExOTlEMDEqDQorWDQzMTI0NVkzNTE4MzdEMDEqDQorWDQzMTUzMVkzNTI1MjhEMDEqDQorWDQzMTcwNlkzNTMyNTVEMDEqDQorWDQzMTc1MFkzNTQwMDBEMDEqDQorWDQzMTcwNlkzNTQ3NDVEMDEqDQorWDQzMTUzMVkzNTU0NzJEMDEqDQorWDQzMTI0NVkzNTYxNjNEMDEqDQorWDQzMDg1NVkzNTY4MDFEMDEqDQorWDQzMDM2OVkzNTczNjlEMDEqDQorWDQyOTgwMVkzNTc4NTVEMDEqDQorWDQyOTE2M1kzNTgyNDVEMDEqDQorWDQyODQ3MlkzNTg1MzFEMDEqDQorWDQyNzc0NVkzNTg3MDZEMDEqDQorWDQyNzAwMFkzNTg3NjVEMDEqDQorWDQyNjk5M1kzNTg3NjREMDEqDQorWTM3OTIzNkQwMSoNCitYNDI3MDAwWTM3OTIzNUQwMSoNCitYNDI3NzQ1WTM3OTI5NEQwMSoNCitYNDI4NDcyWTM3OTQ2OUQwMSoNCitYNDI5MTYzWTM3OTc1NUQwMSoNCitYNDI5ODAxWTM4MDE0NUQwMSoNCitYNDMwMzY5WTM4MDYzMUQwMSoNCitYNDMwODU1WTM4MTE5OUQwMSoNCitYNDMxMjQ1WTM4MTgzN0QwMSoNCitYNDMxNTMxWTM4MjUyOEQwMSoNCitYNDMxNzA2WTM4MzI1NUQwMSoNCitYNDMxNzUwWTM4NDAwMEQwMSoNCitYNDMxNzA2WTM4NDc0NUQwMSoNCitYNDMxNTMxWTM4NTQ3MkQwMSoNCitYNDMxMjQ1WTM4NjE2M0QwMSoNCitYNDMwODU1WTM4NjgwMUQwMSoNCitYNDMwMzY5WTM4NzM2OUQwMSoNCitYNDI5ODAxWTM4Nzg1NUQwMSoNCitYNDI5MTYzWTM4ODI0NUQwMSoNCitYNDI4NDcyWTM4ODUzMUQwMSoNCitYNDI3NzQ1WTM4ODcwNkQwMSoNCitYNDI3MDAwWTM4ODc2NUQwMSoNCitYNDI2OTkzWTM4ODc2NEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0MzQ0NDZEMDEqDQorWTM4ODAwNkQwMSoNCitYNDM0MTk5WTM4Nzg1NUQwMSoNCitYNDMzNjMxWTM4NzM2OUQwMSoNCitYNDMzMTQ1WTM4NjgwMUQwMSoNCitYNDMyNzU1WTM4NjE2M0QwMSoNCitYNDMyNDY5WTM4NTQ3MkQwMSoNCitYNDMyMjk0WTM4NDc0NUQwMSoNCitYNDMyMjM1WTM4NDAwMEQwMSoNCitYNDMyMjk0WTM4MzI1NUQwMSoNCitYNDMyNDY5WTM4MjUyOEQwMSoNCitYNDMyNzU1WTM4MTgzN0QwMSoNCitYNDMzMTQ1WTM4MTE5OUQwMSoNCitYNDMzNjMxWTM4MDYzMUQwMSoNCitYNDM0MTk5WTM4MDE0NUQwMSoNCitYNDM0NDQ2WTM3OTk5NEQwMSoNCitZMzU4MDA2RDAxKg0KK1g0MzQxOTlZMzU3ODU1RDAxKg0KK1g0MzM2MzFZMzU3MzY5RDAxKg0KK1g0MzMxNDVZMzU2ODAxRDAxKg0KK1g0MzI3NTVZMzU2MTYzRDAxKg0KK1g0MzI0NjlZMzU1NDcyRDAxKg0KK1g0MzIyOTRZMzU0NzQ1RDAxKg0KK1g0MzIyMzVZMzU0MDAwRDAxKg0KK1g0MzIyOTRZMzUzMjU1RDAxKg0KK1g0MzI0NjlZMzUyNTI4RDAxKg0KK1g0MzI3NTVZMzUxODM3RDAxKg0KK1g0MzMxNDVZMzUxMTk5RDAxKg0KK1g0MzM2MzFZMzUwNjMxRDAxKg0KK1g0MzQxOTlZMzUwMTQ1RDAxKg0KK1g0MzQ0NDZZMzQ5OTk0RDAxKg0KK1kzMjgwMDZEMDEqDQorWDQzNDE5OVkzMjc4NTVEMDEqDQorWDQzMzYzMVkzMjczNjlEMDEqDQorWDQzMzE0NVkzMjY4MDFEMDEqDQorWDQzMjc1NVkzMjYxNjNEMDEqDQorWDQzMjQ2OVkzMjU0NzJEMDEqDQorWDQzMjI5NFkzMjQ3NDVEMDEqDQorWDQzMjIzNVkzMjQwMDBEMDEqDQorWDQzMjI5NFkzMjMyNTVEMDEqDQorWDQzMjQ2OVkzMjI1MjhEMDEqDQorWDQzMjc1NVkzMjE4MzdEMDEqDQorWDQzMzE0NVkzMjExOTlEMDEqDQorWDQzMzYzMVkzMjA2MzFEMDEqDQorWDQzNDE5OVkzMjAxNDVEMDEqDQorWDQzNDQ0NlkzMTk5OTREMDEqDQorWTI5ODAwNkQwMSoNCitYNDM0MTk5WTI5Nzg1NUQwMSoNCitYNDMzNjMxWTI5NzM2OUQwMSoNCitYNDMzMTQ1WTI5NjgwMUQwMSoNCitYNDMyNzU1WTI5NjE2M0QwMSoNCitYNDMyNDY5WTI5NTQ3MkQwMSoNCitYNDMyMjk0WTI5NDc0NUQwMSoNCitYNDMyMjM1WTI5NDAwMEQwMSoNCitYNDMyMjk0WTI5MzI1NUQwMSoNCitYNDMyNDY5WTI5MjUyOEQwMSoNCitYNDMyNzU1WTI5MTgzN0QwMSoNCitYNDMzMTQ1WTI5MTE5OUQwMSoNCitYNDMzNjMxWTI5MDYzMUQwMSoNCitYNDM0MTk5WTI5MDE0NUQwMSoNCitYNDM0NDQ2WTI4OTk5NEQwMSoNCitZMjY4MDA2RDAxKg0KK1g0MzQxOTlZMjY3ODU1RDAxKg0KK1g0MzM2MzFZMjY3MzY5RDAxKg0KK1g0MzMxNDVZMjY2ODAxRDAxKg0KK1g0MzI3NTVZMjY2MTYzRDAxKg0KK1g0MzI0NjlZMjY1NDcyRDAxKg0KK1g0MzIyOTRZMjY0NzQ1RDAxKg0KK1g0MzIyMzVZMjY0MDAwRDAxKg0KK1g0MzIyOTRZMjYzMjU1RDAxKg0KK1g0MzI0NjlZMjYyNTI4RDAxKg0KK1g0MzI3NTVZMjYxODM3RDAxKg0KK1g0MzMxNDVZMjYxMTk5RDAxKg0KK1g0MzM2MzFZMjYwNjMxRDAxKg0KK1g0MzQxOTlZMjYwMTQ1RDAxKg0KK1g0MzQ0NDZZMjU5OTk0RDAxKg0KK1kyMzgwMDZEMDEqDQorWDQzNDE5OVkyMzc4NTVEMDEqDQorWDQzMzYzMVkyMzczNjlEMDEqDQorWDQzMzE0NVkyMzY4MDFEMDEqDQorWDQzMjc1NVkyMzYxNjNEMDEqDQorWDQzMjQ2OVkyMzU0NzJEMDEqDQorWDQzMjI5NFkyMzQ3NDVEMDEqDQorWDQzMjIzNVkyMzQwMDBEMDEqDQorWDQzMjI5NFkyMzMyNTVEMDEqDQorWDQzMjQ2OVkyMzI1MjhEMDEqDQorWDQzMjc1NVkyMzE4MzdEMDEqDQorWDQzMzE0NVkyMzExOTlEMDEqDQorWDQzMzYzMVkyMzA2MzFEMDEqDQorWDQzNDE5OVkyMzAxNDVEMDEqDQorWDQzNDQ0NlkyMjk5OTREMDEqDQorWTIwODAwNkQwMSoNCitYNDM0MTk5WTIwNzg1NUQwMSoNCitYNDMzNjMxWTIwNzM2OUQwMSoNCitYNDMzMTQ1WTIwNjgwMUQwMSoNCitYNDMyNzU1WTIwNjE2M0QwMSoNCitYNDMyNDY5WTIwNTQ3MkQwMSoNCitYNDMyMjk0WTIwNDc0NUQwMSoNCitYNDMyMjM1WTIwNDAwMEQwMSoNCitYNDMyMjk0WTIwMzI1NUQwMSoNCitYNDMyNDY5WTIwMjUyOEQwMSoNCitYNDMyNzU1WTIwMTgzN0QwMSoNCitYNDMzMTQ1WTIwMTE5OUQwMSoNCitYNDMzNjMxWTIwMDYzMUQwMSoNCitYNDM0MTk5WTIwMDE0NUQwMSoNCitYNDM0NDQ2WTE5OTk5NEQwMSoNCitZMTc4MDA2RDAxKg0KK1g0MzQxOTlZMTc3ODU1RDAxKg0KK1g0MzM2MzFZMTc3MzY5RDAxKg0KK1g0MzMxNDVZMTc2ODAxRDAxKg0KK1g0MzI3NTVZMTc2MTYzRDAxKg0KK1g0MzI0NjlZMTc1NDcyRDAxKg0KK1g0MzIyOTRZMTc0NzQ1RDAxKg0KK1g0MzIyMzVZMTc0MDAwRDAxKg0KK1g0MzIyOTRZMTczMjU1RDAxKg0KK1g0MzI0NjlZMTcyNTI4RDAxKg0KK1g0MzI3NTVZMTcxODM3RDAxKg0KK1g0MzMxNDVZMTcxMTk5RDAxKg0KK1g0MzM2MzFZMTcwNjMxRDAxKg0KK1g0MzQxOTlZMTcwMTQ1RDAxKg0KK1g0MzQ0NDZZMTY5OTk0RDAxKg0KK1kxNTkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDI2OTkzRDAyKlg0MTY5OTNEMDEqDQorWTE2OTIzNkQwMSoNCitYNDE3MDAwWTE2OTIzNUQwMSoNCitYNDE3NzQ1WTE2OTI5NEQwMSoNCitYNDE4NDcyWTE2OTQ2OUQwMSoNCitYNDE5MTYzWTE2OTc1NUQwMSoNCitYNDE5ODAxWTE3MDE0NUQwMSoNCitYNDIwMzY5WTE3MDYzMUQwMSoNCitYNDIwODU1WTE3MTE5OUQwMSoNCitYNDIxMjQ1WTE3MTgzN0QwMSoNCitYNDIxNTMxWTE3MjUyOEQwMSoNCitYNDIxNzA2WTE3MzI1NUQwMSoNCitYNDIxNzUwWTE3NDAwMEQwMSoNCitYNDIxNzA2WTE3NDc0NUQwMSoNCitYNDIxNTMxWTE3NTQ3MkQwMSoNCitYNDIxMjQ1WTE3NjE2M0QwMSoNCitYNDIwODU1WTE3NjgwMUQwMSoNCitYNDIwMzY5WTE3NzM2OUQwMSoNCitYNDE5ODAxWTE3Nzg1NUQwMSoNCitYNDE5MTYzWTE3ODI0NUQwMSoNCitYNDE4NDcyWTE3ODUzMUQwMSoNCitYNDE3NzQ1WTE3ODcwNkQwMSoNCitYNDE3MDAwWTE3ODc2NUQwMSoNCitYNDE2OTkzWTE3ODc2NEQwMSoNCitZMTk5MjM2RDAxKg0KK1g0MTcwMDBZMTk5MjM1RDAxKg0KK1g0MTc3NDVZMTk5Mjk0RDAxKg0KK1g0MTg0NzJZMTk5NDY5RDAxKg0KK1g0MTkxNjNZMTk5NzU1RDAxKg0KK1g0MTk4MDFZMjAwMTQ1RDAxKg0KK1g0MjAzNjlZMjAwNjMxRDAxKg0KK1g0MjA4NTVZMjAxMTk5RDAxKg0KK1g0MjEyNDVZMjAxODM3RDAxKg0KK1g0MjE1MzFZMjAyNTI4RDAxKg0KK1g0MjE3MDZZMjAzMjU1RDAxKg0KK1g0MjE3NTBZMjA0MDAwRDAxKg0KK1g0MjE3MDZZMjA0NzQ1RDAxKg0KK1g0MjE1MzFZMjA1NDcyRDAxKg0KK1g0MjEyNDVZMjA2MTYzRDAxKg0KK1g0MjA4NTVZMjA2ODAxRDAxKg0KK1g0MjAzNjlZMjA3MzY5RDAxKg0KK1g0MTk4MDFZMjA3ODU1RDAxKg0KK1g0MTkxNjNZMjA4MjQ1RDAxKg0KK1g0MTg0NzJZMjA4NTMxRDAxKg0KK1g0MTc3NDVZMjA4NzA2RDAxKg0KK1g0MTcwMDBZMjA4NzY1RDAxKg0KK1g0MTY5OTNZMjA4NzY0RDAxKg0KK1kyMjkyMzZEMDEqDQorWDQxNzAwMFkyMjkyMzVEMDEqDQorWDQxNzc0NVkyMjkyOTREMDEqDQorWDQxODQ3MlkyMjk0NjlEMDEqDQorWDQxOTE2M1kyMjk3NTVEMDEqDQorWDQxOTgwMVkyMzAxNDVEMDEqDQorWDQyMDM2OVkyMzA2MzFEMDEqDQorWDQyMDg1NVkyMzExOTlEMDEqDQorWDQyMTI0NVkyMzE4MzdEMDEqDQorWDQyMTUzMVkyMzI1MjhEMDEqDQorWDQyMTcwNlkyMzMyNTVEMDEqDQorWDQyMTc1MFkyMzQwMDBEMDEqDQorWDQyMTcwNlkyMzQ3NDVEMDEqDQorWDQyMTUzMVkyMzU0NzJEMDEqDQorWDQyMTI0NVkyMzYxNjNEMDEqDQorWDQyMDg1NVkyMzY4MDFEMDEqDQorWDQyMDM2OVkyMzczNjlEMDEqDQorWDQxOTgwMVkyMzc4NTVEMDEqDQorWDQxOTE2M1kyMzgyNDVEMDEqDQorWDQxODQ3MlkyMzg1MzFEMDEqDQorWDQxNzc0NVkyMzg3MDZEMDEqDQorWDQxNzAwMFkyMzg3NjVEMDEqDQorWDQxNjk5M1kyMzg3NjREMDEqDQorWTI1OTIzNkQwMSoNCitYNDE3MDAwWTI1OTIzNUQwMSoNCitYNDE3NzQ1WTI1OTI5NEQwMSoNCitYNDE4NDcyWTI1OTQ2OUQwMSoNCitYNDE5MTYzWTI1OTc1NUQwMSoNCitYNDE5ODAxWTI2MDE0NUQwMSoNCitYNDIwMzY5WTI2MDYzMUQwMSoNCitYNDIwODU1WTI2MTE5OUQwMSoNCitYNDIxMjQ1WTI2MTgzN0QwMSoNCitYNDIxNTMxWTI2MjUyOEQwMSoNCitYNDIxNzA2WTI2MzI1NUQwMSoNCitYNDIxNzUwWTI2NDAwMEQwMSoNCitYNDIxNzA2WTI2NDc0NUQwMSoNCitYNDIxNTMxWTI2NTQ3MkQwMSoNCitYNDIxMjQ1WTI2NjE2M0QwMSoNCitYNDIwODU1WTI2NjgwMUQwMSoNCitYNDIwMzY5WTI2NzM2OUQwMSoNCitYNDE5ODAxWTI2Nzg1NUQwMSoNCitYNDE5MTYzWTI2ODI0NUQwMSoNCitYNDE4NDcyWTI2ODUzMUQwMSoNCitYNDE3NzQ1WTI2ODcwNkQwMSoNCitYNDE3MDAwWTI2ODc2NUQwMSoNCitYNDE2OTkzWTI2ODc2NEQwMSoNCitZMjg5MjM2RDAxKg0KK1g0MTcwMDBZMjg5MjM1RDAxKg0KK1g0MTc3NDVZMjg5Mjk0RDAxKg0KK1g0MTg0NzJZMjg5NDY5RDAxKg0KK1g0MTkxNjNZMjg5NzU1RDAxKg0KK1g0MTk4MDFZMjkwMTQ1RDAxKg0KK1g0MjAzNjlZMjkwNjMxRDAxKg0KK1g0MjA4NTVZMjkxMTk5RDAxKg0KK1g0MjEyNDVZMjkxODM3RDAxKg0KK1g0MjE1MzFZMjkyNTI4RDAxKg0KK1g0MjE3MDZZMjkzMjU1RDAxKg0KK1g0MjE3NTBZMjk0MDAwRDAxKg0KK1g0MjE3MDZZMjk0NzQ1RDAxKg0KK1g0MjE1MzFZMjk1NDcyRDAxKg0KK1g0MjEyNDVZMjk2MTYzRDAxKg0KK1g0MjA4NTVZMjk2ODAxRDAxKg0KK1g0MjAzNjlZMjk3MzY5RDAxKg0KK1g0MTk4MDFZMjk3ODU1RDAxKg0KK1g0MTkxNjNZMjk4MjQ1RDAxKg0KK1g0MTg0NzJZMjk4NTMxRDAxKg0KK1g0MTc3NDVZMjk4NzA2RDAxKg0KK1g0MTcwMDBZMjk4NzY1RDAxKg0KK1g0MTY5OTNZMjk4NzY0RDAxKg0KK1kzMTkyMzZEMDEqDQorWDQxNzAwMFkzMTkyMzVEMDEqDQorWDQxNzc0NVkzMTkyOTREMDEqDQorWDQxODQ3MlkzMTk0NjlEMDEqDQorWDQxOTE2M1kzMTk3NTVEMDEqDQorWDQxOTgwMVkzMjAxNDVEMDEqDQorWDQyMDM2OVkzMjA2MzFEMDEqDQorWDQyMDg1NVkzMjExOTlEMDEqDQorWDQyMTI0NVkzMjE4MzdEMDEqDQorWDQyMTUzMVkzMjI1MjhEMDEqDQorWDQyMTcwNlkzMjMyNTVEMDEqDQorWDQyMTc1MFkzMjQwMDBEMDEqDQorWDQyMTcwNlkzMjQ3NDVEMDEqDQorWDQyMTUzMVkzMjU0NzJEMDEqDQorWDQyMTI0NVkzMjYxNjNEMDEqDQorWDQyMDg1NVkzMjY4MDFEMDEqDQorWDQyMDM2OVkzMjczNjlEMDEqDQorWDQxOTgwMVkzMjc4NTVEMDEqDQorWDQxOTE2M1kzMjgyNDVEMDEqDQorWDQxODQ3MlkzMjg1MzFEMDEqDQorWDQxNzc0NVkzMjg3MDZEMDEqDQorWDQxNzAwMFkzMjg3NjVEMDEqDQorWDQxNjk5M1kzMjg3NjREMDEqDQorWTM0OTIzNkQwMSoNCitYNDE3MDAwWTM0OTIzNUQwMSoNCitYNDE3NzQ1WTM0OTI5NEQwMSoNCitYNDE4NDcyWTM0OTQ2OUQwMSoNCitYNDE5MTYzWTM0OTc1NUQwMSoNCitYNDE5ODAxWTM1MDE0NUQwMSoNCitYNDIwMzY5WTM1MDYzMUQwMSoNCitYNDIwODU1WTM1MTE5OUQwMSoNCitYNDIxMjQ1WTM1MTgzN0QwMSoNCitYNDIxNTMxWTM1MjUyOEQwMSoNCitYNDIxNzA2WTM1MzI1NUQwMSoNCitYNDIxNzUwWTM1NDAwMEQwMSoNCitYNDIxNzA2WTM1NDc0NUQwMSoNCitYNDIxNTMxWTM1NTQ3MkQwMSoNCitYNDIxMjQ1WTM1NjE2M0QwMSoNCitYNDIwODU1WTM1NjgwMUQwMSoNCitYNDIwMzY5WTM1NzM2OUQwMSoNCitYNDE5ODAxWTM1Nzg1NUQwMSoNCitYNDE5MTYzWTM1ODI0NUQwMSoNCitYNDE4NDcyWTM1ODUzMUQwMSoNCitYNDE3NzQ1WTM1ODcwNkQwMSoNCitYNDE3MDAwWTM1ODc2NUQwMSoNCitYNDE2OTkzWTM1ODc2NEQwMSoNCitZMzc5MjM2RDAxKg0KK1g0MTcwMDBZMzc5MjM1RDAxKg0KK1g0MTc3NDVZMzc5Mjk0RDAxKg0KK1g0MTg0NzJZMzc5NDY5RDAxKg0KK1g0MTkxNjNZMzc5NzU1RDAxKg0KK1g0MTk4MDFZMzgwMTQ1RDAxKg0KK1g0MjAzNjlZMzgwNjMxRDAxKg0KK1g0MjA4NTVZMzgxMTk5RDAxKg0KK1g0MjEyNDVZMzgxODM3RDAxKg0KK1g0MjE1MzFZMzgyNTI4RDAxKg0KK1g0MjE3MDZZMzgzMjU1RDAxKg0KK1g0MjE3NTBZMzg0MDAwRDAxKg0KK1g0MjE3MDZZMzg0NzQ1RDAxKg0KK1g0MjE1MzFZMzg1NDcyRDAxKg0KK1g0MjEyNDVZMzg2MTYzRDAxKg0KK1g0MjA4NTVZMzg2ODAxRDAxKg0KK1g0MjAzNjlZMzg3MzY5RDAxKg0KK1g0MTk4MDFZMzg3ODU1RDAxKg0KK1g0MTkxNjNZMzg4MjQ1RDAxKg0KK1g0MTg0NzJZMzg4NTMxRDAxKg0KK1g0MTc3NDVZMzg4NzA2RDAxKg0KK1g0MTcwMDBZMzg4NzY1RDAxKg0KK1g0MTY5OTNZMzg4NzY0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDQyNjk5M0QwMSoNCitZMzg4NzY0RDAxKg0KK1g0MjYyNTVZMzg4NzA2RDAxKg0KK1g0MjU1MjhZMzg4NTMxRDAxKg0KK1g0MjQ4MzdZMzg4MjQ1RDAxKg0KK1g0MjQxOTlZMzg3ODU1RDAxKg0KK1g0MjM2MzFZMzg3MzY5RDAxKg0KK1g0MjMxNDVZMzg2ODAxRDAxKg0KK1g0MjI3NTVZMzg2MTYzRDAxKg0KK1g0MjI0NjlZMzg1NDcyRDAxKg0KK1g0MjIyOTRZMzg0NzQ1RDAxKg0KK1g0MjIyMzVZMzg0MDAwRDAxKg0KK1g0MjIyOTRZMzgzMjU1RDAxKg0KK1g0MjI0NjlZMzgyNTI4RDAxKg0KK1g0MjI3NTVZMzgxODM3RDAxKg0KK1g0MjMxNDVZMzgxMTk5RDAxKg0KK1g0MjM2MzFZMzgwNjMxRDAxKg0KK1g0MjQxOTlZMzgwMTQ1RDAxKg0KK1g0MjQ4MzdZMzc5NzU1RDAxKg0KK1g0MjU1MjhZMzc5NDY5RDAxKg0KK1g0MjYyNTVZMzc5Mjk0RDAxKg0KK1g0MjY5OTNZMzc5MjM2RDAxKg0KK1kzNTg3NjREMDEqDQorWDQyNjI1NVkzNTg3MDZEMDEqDQorWDQyNTUyOFkzNTg1MzFEMDEqDQorWDQyNDgzN1kzNTgyNDVEMDEqDQorWDQyNDE5OVkzNTc4NTVEMDEqDQorWDQyMzYzMVkzNTczNjlEMDEqDQorWDQyMzE0NVkzNTY4MDFEMDEqDQorWDQyMjc1NVkzNTYxNjNEMDEqDQorWDQyMjQ2OVkzNTU0NzJEMDEqDQorWDQyMjI5NFkzNTQ3NDVEMDEqDQorWDQyMjIzNVkzNTQwMDBEMDEqDQorWDQyMjI5NFkzNTMyNTVEMDEqDQorWDQyMjQ2OVkzNTI1MjhEMDEqDQorWDQyMjc1NVkzNTE4MzdEMDEqDQorWDQyMzE0NVkzNTExOTlEMDEqDQorWDQyMzYzMVkzNTA2MzFEMDEqDQorWDQyNDE5OVkzNTAxNDVEMDEqDQorWDQyNDgzN1kzNDk3NTVEMDEqDQorWDQyNTUyOFkzNDk0NjlEMDEqDQorWDQyNjI1NVkzNDkyOTREMDEqDQorWDQyNjk5M1kzNDkyMzZEMDEqDQorWTMyODc2NEQwMSoNCitYNDI2MjU1WTMyODcwNkQwMSoNCitYNDI1NTI4WTMyODUzMUQwMSoNCitYNDI0ODM3WTMyODI0NUQwMSoNCitYNDI0MTk5WTMyNzg1NUQwMSoNCitYNDIzNjMxWTMyNzM2OUQwMSoNCitYNDIzMTQ1WTMyNjgwMUQwMSoNCitYNDIyNzU1WTMyNjE2M0QwMSoNCitYNDIyNDY5WTMyNTQ3MkQwMSoNCitYNDIyMjk0WTMyNDc0NUQwMSoNCitYNDIyMjM1WTMyNDAwMEQwMSoNCitYNDIyMjk0WTMyMzI1NUQwMSoNCitYNDIyNDY5WTMyMjUyOEQwMSoNCitYNDIyNzU1WTMyMTgzN0QwMSoNCitYNDIzMTQ1WTMyMTE5OUQwMSoNCitYNDIzNjMxWTMyMDYzMUQwMSoNCitYNDI0MTk5WTMyMDE0NUQwMSoNCitYNDI0ODM3WTMxOTc1NUQwMSoNCitYNDI1NTI4WTMxOTQ2OUQwMSoNCitYNDI2MjU1WTMxOTI5NEQwMSoNCitYNDI2OTkzWTMxOTIzNkQwMSoNCitZMjk4NzY0RDAxKg0KK1g0MjYyNTVZMjk4NzA2RDAxKg0KK1g0MjU1MjhZMjk4NTMxRDAxKg0KK1g0MjQ4MzdZMjk4MjQ1RDAxKg0KK1g0MjQxOTlZMjk3ODU1RDAxKg0KK1g0MjM2MzFZMjk3MzY5RDAxKg0KK1g0MjMxNDVZMjk2ODAxRDAxKg0KK1g0MjI3NTVZMjk2MTYzRDAxKg0KK1g0MjI0NjlZMjk1NDcyRDAxKg0KK1g0MjIyOTRZMjk0NzQ1RDAxKg0KK1g0MjIyMzVZMjk0MDAwRDAxKg0KK1g0MjIyOTRZMjkzMjU1RDAxKg0KK1g0MjI0NjlZMjkyNTI4RDAxKg0KK1g0MjI3NTVZMjkxODM3RDAxKg0KK1g0MjMxNDVZMjkxMTk5RDAxKg0KK1g0MjM2MzFZMjkwNjMxRDAxKg0KK1g0MjQxOTlZMjkwMTQ1RDAxKg0KK1g0MjQ4MzdZMjg5NzU1RDAxKg0KK1g0MjU1MjhZMjg5NDY5RDAxKg0KK1g0MjYyNTVZMjg5Mjk0RDAxKg0KK1g0MjY5OTNZMjg5MjM2RDAxKg0KK1kyNjg3NjREMDEqDQorWDQyNjI1NVkyNjg3MDZEMDEqDQorWDQyNTUyOFkyNjg1MzFEMDEqDQorWDQyNDgzN1kyNjgyNDVEMDEqDQorWDQyNDE5OVkyNjc4NTVEMDEqDQorWDQyMzYzMVkyNjczNjlEMDEqDQorWDQyMzE0NVkyNjY4MDFEMDEqDQorWDQyMjc1NVkyNjYxNjNEMDEqDQorWDQyMjQ2OVkyNjU0NzJEMDEqDQorWDQyMjI5NFkyNjQ3NDVEMDEqDQorWDQyMjIzNVkyNjQwMDBEMDEqDQorWDQyMjI5NFkyNjMyNTVEMDEqDQorWDQyMjQ2OVkyNjI1MjhEMDEqDQorWDQyMjc1NVkyNjE4MzdEMDEqDQorWDQyMzE0NVkyNjExOTlEMDEqDQorWDQyMzYzMVkyNjA2MzFEMDEqDQorWDQyNDE5OVkyNjAxNDVEMDEqDQorWDQyNDgzN1kyNTk3NTVEMDEqDQorWDQyNTUyOFkyNTk0NjlEMDEqDQorWDQyNjI1NVkyNTkyOTREMDEqDQorWDQyNjk5M1kyNTkyMzZEMDEqDQorWTIzODc2NEQwMSoNCitYNDI2MjU1WTIzODcwNkQwMSoNCitYNDI1NTI4WTIzODUzMUQwMSoNCitYNDI0ODM3WTIzODI0NUQwMSoNCitYNDI0MTk5WTIzNzg1NUQwMSoNCitYNDIzNjMxWTIzNzM2OUQwMSoNCitYNDIzMTQ1WTIzNjgwMUQwMSoNCitYNDIyNzU1WTIzNjE2M0QwMSoNCitYNDIyNDY5WTIzNTQ3MkQwMSoNCitYNDIyMjk0WTIzNDc0NUQwMSoNCitYNDIyMjM1WTIzNDAwMEQwMSoNCitYNDIyMjk0WTIzMzI1NUQwMSoNCitYNDIyNDY5WTIzMjUyOEQwMSoNCitYNDIyNzU1WTIzMTgzN0QwMSoNCitYNDIzMTQ1WTIzMTE5OUQwMSoNCitYNDIzNjMxWTIzMDYzMUQwMSoNCitYNDI0MTk5WTIzMDE0NUQwMSoNCitYNDI0ODM3WTIyOTc1NUQwMSoNCitYNDI1NTI4WTIyOTQ2OUQwMSoNCitYNDI2MjU1WTIyOTI5NEQwMSoNCitYNDI2OTkzWTIyOTIzNkQwMSoNCitZMjA4NzY0RDAxKg0KK1g0MjYyNTVZMjA4NzA2RDAxKg0KK1g0MjU1MjhZMjA4NTMxRDAxKg0KK1g0MjQ4MzdZMjA4MjQ1RDAxKg0KK1g0MjQxOTlZMjA3ODU1RDAxKg0KK1g0MjM2MzFZMjA3MzY5RDAxKg0KK1g0MjMxNDVZMjA2ODAxRDAxKg0KK1g0MjI3NTVZMjA2MTYzRDAxKg0KK1g0MjI0NjlZMjA1NDcyRDAxKg0KK1g0MjIyOTRZMjA0NzQ1RDAxKg0KK1g0MjIyMzVZMjA0MDAwRDAxKg0KK1g0MjIyOTRZMjAzMjU1RDAxKg0KK1g0MjI0NjlZMjAyNTI4RDAxKg0KK1g0MjI3NTVZMjAxODM3RDAxKg0KK1g0MjMxNDVZMjAxMTk5RDAxKg0KK1g0MjM2MzFZMjAwNjMxRDAxKg0KK1g0MjQxOTlZMjAwMTQ1RDAxKg0KK1g0MjQ4MzdZMTk5NzU1RDAxKg0KK1g0MjU1MjhZMTk5NDY5RDAxKg0KK1g0MjYyNTVZMTk5Mjk0RDAxKg0KK1g0MjY5OTNZMTk5MjM2RDAxKg0KK1kxNzg3NjREMDEqDQorWDQyNjI1NVkxNzg3MDZEMDEqDQorWDQyNTUyOFkxNzg1MzFEMDEqDQorWDQyNDgzN1kxNzgyNDVEMDEqDQorWDQyNDE5OVkxNzc4NTVEMDEqDQorWDQyMzYzMVkxNzczNjlEMDEqDQorWDQyMzE0NVkxNzY4MDFEMDEqDQorWDQyMjc1NVkxNzYxNjNEMDEqDQorWDQyMjQ2OVkxNzU0NzJEMDEqDQorWDQyMjI5NFkxNzQ3NDVEMDEqDQorWDQyMjIzNVkxNzQwMDBEMDEqDQorWDQyMjI5NFkxNzMyNTVEMDEqDQorWDQyMjQ2OVkxNzI1MjhEMDEqDQorWDQyMjc1NVkxNzE4MzdEMDEqDQorWDQyMzE0NVkxNzExOTlEMDEqDQorWDQyMzYzMVkxNzA2MzFEMDEqDQorWDQyNDE5OVkxNzAxNDVEMDEqDQorWDQyNDgzN1kxNjk3NTVEMDEqDQorWDQyNTUyOFkxNjk0NjlEMDEqDQorWDQyNjI1NVkxNjkyOTREMDEqDQorWDQyNjk5M1kxNjkyMzZEMDEqDQorWTE1OTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MTY5OTNEMDIqWDQxMTAwMEQwMSoNCitZMTcxNDk4RDAxKg0KK1g0MTExMThZMTcxNTA3RDAxKg0KK1g0MTEyMzJZMTcxNTM1RDAxKg0KK1g0MTEzNDJZMTcxNTgwRDAxKg0KK1g0MTE0NDJZMTcxNjQxRDAxKg0KK1g0MTE1MzJZMTcxNzE4RDAxKg0KK1g0MTE2MDlZMTcxODA4RDAxKg0KK1g0MTE2NzBZMTcxOTA4RDAxKg0KK1g0MTE3MTVZMTcyMDE4RDAxKg0KK1g0MTE3NDNZMTcyMTMyRDAxKg0KK1g0MTE3NTBZMTcyMjUwRDAxKg0KK1kxNzU3NTBEMDEqDQorWDQxMTc0M1kxNzU4NjhEMDEqDQorWDQxMTcxNVkxNzU5ODJEMDEqDQorWDQxMTY3MFkxNzYwOTJEMDEqDQorWDQxMTYwOVkxNzYxOTJEMDEqDQorWDQxMTUzMlkxNzYyODJEMDEqDQorWDQxMTQ0MlkxNzYzNTlEMDEqDQorWDQxMTM0MlkxNzY0MjBEMDEqDQorWDQxMTIzMlkxNzY0NjVEMDEqDQorWDQxMTExOFkxNzY0OTNEMDEqDQorWDQxMTAwMFkxNzY1MDJEMDEqDQorWTIwMTQ5OEQwMSoNCitYNDExMTE4WTIwMTUwN0QwMSoNCitYNDExMjMyWTIwMTUzNUQwMSoNCitYNDExMzQyWTIwMTU4MEQwMSoNCitYNDExNDQyWTIwMTY0MUQwMSoNCitYNDExNTMyWTIwMTcxOEQwMSoNCitYNDExNjA5WTIwMTgwOEQwMSoNCitYNDExNjcwWTIwMTkwOEQwMSoNCitYNDExNzE1WTIwMjAxOEQwMSoNCitYNDExNzQzWTIwMjEzMkQwMSoNCitYNDExNzUwWTIwMjI1MEQwMSoNCitZMjA1NzUwRDAxKg0KK1g0MTE3NDNZMjA1ODY4RDAxKg0KK1g0MTE3MTVZMjA1OTgyRDAxKg0KK1g0MTE2NzBZMjA2MDkyRDAxKg0KK1g0MTE2MDlZMjA2MTkyRDAxKg0KK1g0MTE1MzJZMjA2MjgyRDAxKg0KK1g0MTE0NDJZMjA2MzU5RDAxKg0KK1g0MTEzNDJZMjA2NDIwRDAxKg0KK1g0MTEyMzJZMjA2NDY1RDAxKg0KK1g0MTExMThZMjA2NDkzRDAxKg0KK1g0MTEwMDBZMjA2NTAyRDAxKg0KK1kyMzE0OThEMDEqDQorWDQxMTExOFkyMzE1MDdEMDEqDQorWDQxMTIzMlkyMzE1MzVEMDEqDQorWDQxMTM0MlkyMzE1ODBEMDEqDQorWDQxMTQ0MlkyMzE2NDFEMDEqDQorWDQxMTUzMlkyMzE3MThEMDEqDQorWDQxMTYwOVkyMzE4MDhEMDEqDQorWDQxMTY3MFkyMzE5MDhEMDEqDQorWDQxMTcxNVkyMzIwMThEMDEqDQorWDQxMTc0M1kyMzIxMzJEMDEqDQorWDQxMTc1MFkyMzIyNTBEMDEqDQorWTIzNTc1MEQwMSoNCitYNDExNzQzWTIzNTg2OEQwMSoNCitYNDExNzE1WTIzNTk4MkQwMSoNCitYNDExNjcwWTIzNjA5MkQwMSoNCitYNDExNjA5WTIzNjE5MkQwMSoNCitYNDExNTMyWTIzNjI4MkQwMSoNCitYNDExNDQyWTIzNjM1OUQwMSoNCitYNDExMzQyWTIzNjQyMEQwMSoNCitYNDExMjMyWTIzNjQ2NUQwMSoNCitYNDExMTE4WTIzNjQ5M0QwMSoNCitYNDExMDAwWTIzNjUwMkQwMSoNCitZMjYxNDk4RDAxKg0KK1g0MTExMThZMjYxNTA3RDAxKg0KK1g0MTEyMzJZMjYxNTM1RDAxKg0KK1g0MTEzNDJZMjYxNTgwRDAxKg0KK1g0MTE0NDJZMjYxNjQxRDAxKg0KK1g0MTE1MzJZMjYxNzE4RDAxKg0KK1g0MTE2MDlZMjYxODA4RDAxKg0KK1g0MTE2NzBZMjYxOTA4RDAxKg0KK1g0MTE3MTVZMjYyMDE4RDAxKg0KK1g0MTE3NDNZMjYyMTMyRDAxKg0KK1g0MTE3NTBZMjYyMjUwRDAxKg0KK1kyNjU3NTBEMDEqDQorWDQxMTc0M1kyNjU4NjhEMDEqDQorWDQxMTcxNVkyNjU5ODJEMDEqDQorWDQxMTY3MFkyNjYwOTJEMDEqDQorWDQxMTYwOVkyNjYxOTJEMDEqDQorWDQxMTUzMlkyNjYyODJEMDEqDQorWDQxMTQ0MlkyNjYzNTlEMDEqDQorWDQxMTM0MlkyNjY0MjBEMDEqDQorWDQxMTIzMlkyNjY0NjVEMDEqDQorWDQxMTExOFkyNjY0OTNEMDEqDQorWDQxMTAwMFkyNjY1MDJEMDEqDQorWTI5MTQ5OEQwMSoNCitYNDExMTE4WTI5MTUwN0QwMSoNCitYNDExMjMyWTI5MTUzNUQwMSoNCitYNDExMzQyWTI5MTU4MEQwMSoNCitYNDExNDQyWTI5MTY0MUQwMSoNCitYNDExNTMyWTI5MTcxOEQwMSoNCitYNDExNjA5WTI5MTgwOEQwMSoNCitYNDExNjcwWTI5MTkwOEQwMSoNCitYNDExNzE1WTI5MjAxOEQwMSoNCitYNDExNzQzWTI5MjEzMkQwMSoNCitYNDExNzUwWTI5MjI1MEQwMSoNCitZMjk1NzUwRDAxKg0KK1g0MTE3NDNZMjk1ODY4RDAxKg0KK1g0MTE3MTVZMjk1OTgyRDAxKg0KK1g0MTE2NzBZMjk2MDkyRDAxKg0KK1g0MTE2MDlZMjk2MTkyRDAxKg0KK1g0MTE1MzJZMjk2MjgyRDAxKg0KK1g0MTE0NDJZMjk2MzU5RDAxKg0KK1g0MTEzNDJZMjk2NDIwRDAxKg0KK1g0MTEyMzJZMjk2NDY1RDAxKg0KK1g0MTExMThZMjk2NDkzRDAxKg0KK1g0MTEwMDBZMjk2NTAyRDAxKg0KK1kzMjE0OThEMDEqDQorWDQxMTExOFkzMjE1MDdEMDEqDQorWDQxMTIzMlkzMjE1MzVEMDEqDQorWDQxMTM0MlkzMjE1ODBEMDEqDQorWDQxMTQ0MlkzMjE2NDFEMDEqDQorWDQxMTUzMlkzMjE3MThEMDEqDQorWDQxMTYwOVkzMjE4MDhEMDEqDQorWDQxMTY3MFkzMjE5MDhEMDEqDQorWDQxMTcxNVkzMjIwMThEMDEqDQorWDQxMTc0M1kzMjIxMzJEMDEqDQorWDQxMTc1MFkzMjIyNTBEMDEqDQorWTMyNTc1MEQwMSoNCitYNDExNzQzWTMyNTg2OEQwMSoNCitYNDExNzE1WTMyNTk4MkQwMSoNCitYNDExNjcwWTMyNjA5MkQwMSoNCitYNDExNjA5WTMyNjE5MkQwMSoNCitYNDExNTMyWTMyNjI4MkQwMSoNCitYNDExNDQyWTMyNjM1OUQwMSoNCitYNDExMzQyWTMyNjQyMEQwMSoNCitYNDExMjMyWTMyNjQ2NUQwMSoNCitYNDExMTE4WTMyNjQ5M0QwMSoNCitYNDExMDAwWTMyNjUwMkQwMSoNCitZMzUxNDk4RDAxKg0KK1g0MTExMThZMzUxNTA3RDAxKg0KK1g0MTEyMzJZMzUxNTM1RDAxKg0KK1g0MTEzNDJZMzUxNTgwRDAxKg0KK1g0MTE0NDJZMzUxNjQxRDAxKg0KK1g0MTE1MzJZMzUxNzE4RDAxKg0KK1g0MTE2MDlZMzUxODA4RDAxKg0KK1g0MTE2NzBZMzUxOTA4RDAxKg0KK1g0MTE3MTVZMzUyMDE4RDAxKg0KK1g0MTE3NDNZMzUyMTMyRDAxKg0KK1g0MTE3NTBZMzUyMjUwRDAxKg0KK1kzNTU3NTBEMDEqDQorWDQxMTc0M1kzNTU4NjhEMDEqDQorWDQxMTcxNVkzNTU5ODJEMDEqDQorWDQxMTY3MFkzNTYwOTJEMDEqDQorWDQxMTYwOVkzNTYxOTJEMDEqDQorWDQxMTUzMlkzNTYyODJEMDEqDQorWDQxMTQ0MlkzNTYzNTlEMDEqDQorWDQxMTM0MlkzNTY0MjBEMDEqDQorWDQxMTIzMlkzNTY0NjVEMDEqDQorWDQxMTExOFkzNTY0OTNEMDEqDQorWDQxMTAwMFkzNTY1MDJEMDEqDQorWTM4MTQ5OEQwMSoNCitYNDExMTE4WTM4MTUwN0QwMSoNCitYNDExMjMyWTM4MTUzNUQwMSoNCitYNDExMzQyWTM4MTU4MEQwMSoNCitYNDExNDQyWTM4MTY0MUQwMSoNCitYNDExNTMyWTM4MTcxOEQwMSoNCitYNDExNjA5WTM4MTgwOEQwMSoNCitYNDExNjcwWTM4MTkwOEQwMSoNCitYNDExNzE1WTM4MjAxOEQwMSoNCitYNDExNzQzWTM4MjEzMkQwMSoNCitYNDExNzUwWTM4MjI1MEQwMSoNCitZMzg1NzUwRDAxKg0KK1g0MTE3NDNZMzg1ODY4RDAxKg0KK1g0MTE3MTVZMzg1OTgyRDAxKg0KK1g0MTE2NzBZMzg2MDkyRDAxKg0KK1g0MTE2MDlZMzg2MTkyRDAxKg0KK1g0MTE1MzJZMzg2MjgyRDAxKg0KK1g0MTE0NDJZMzg2MzU5RDAxKg0KK1g0MTEzNDJZMzg2NDIwRDAxKg0KK1g0MTEyMzJZMzg2NDY1RDAxKg0KK1g0MTExMThZMzg2NDkzRDAxKg0KK1g0MTEwMDBZMzg2NTAyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDQxNjk5M0QwMSoNCitZMzg4NzY0RDAxKg0KK1g0MTYyNTVZMzg4NzA2RDAxKg0KK1g0MTU1MjhZMzg4NTMxRDAxKg0KK1g0MTQ4MzdZMzg4MjQ1RDAxKg0KK1g0MTQxOTlZMzg3ODU1RDAxKg0KK1g0MTM2MzFZMzg3MzY5RDAxKg0KK1g0MTMxNDVZMzg2ODAxRDAxKg0KK1g0MTI3NTVZMzg2MTYzRDAxKg0KK1g0MTI0NjlZMzg1NDcyRDAxKg0KK1g0MTIyOTRZMzg0NzQ1RDAxKg0KK1g0MTIyMzVZMzg0MDAwRDAxKg0KK1g0MTIyOTRZMzgzMjU1RDAxKg0KK1g0MTI0NjlZMzgyNTI4RDAxKg0KK1g0MTI3NTVZMzgxODM3RDAxKg0KK1g0MTMxNDVZMzgxMTk5RDAxKg0KK1g0MTM2MzFZMzgwNjMxRDAxKg0KK1g0MTQxOTlZMzgwMTQ1RDAxKg0KK1g0MTQ4MzdZMzc5NzU1RDAxKg0KK1g0MTU1MjhZMzc5NDY5RDAxKg0KK1g0MTYyNTVZMzc5Mjk0RDAxKg0KK1g0MTY5OTNZMzc5MjM2RDAxKg0KK1kzNTg3NjREMDEqDQorWDQxNjI1NVkzNTg3MDZEMDEqDQorWDQxNTUyOFkzNTg1MzFEMDEqDQorWDQxNDgzN1kzNTgyNDVEMDEqDQorWDQxNDE5OVkzNTc4NTVEMDEqDQorWDQxMzYzMVkzNTczNjlEMDEqDQorWDQxMzE0NVkzNTY4MDFEMDEqDQorWDQxMjc1NVkzNTYxNjNEMDEqDQorWDQxMjQ2OVkzNTU0NzJEMDEqDQorWDQxMjI5NFkzNTQ3NDVEMDEqDQorWDQxMjIzNVkzNTQwMDBEMDEqDQorWDQxMjI5NFkzNTMyNTVEMDEqDQorWDQxMjQ2OVkzNTI1MjhEMDEqDQorWDQxMjc1NVkzNTE4MzdEMDEqDQorWDQxMzE0NVkzNTExOTlEMDEqDQorWDQxMzYzMVkzNTA2MzFEMDEqDQorWDQxNDE5OVkzNTAxNDVEMDEqDQorWDQxNDgzN1kzNDk3NTVEMDEqDQorWDQxNTUyOFkzNDk0NjlEMDEqDQorWDQxNjI1NVkzNDkyOTREMDEqDQorWDQxNjk5M1kzNDkyMzZEMDEqDQorWTMyODc2NEQwMSoNCitYNDE2MjU1WTMyODcwNkQwMSoNCitYNDE1NTI4WTMyODUzMUQwMSoNCitYNDE0ODM3WTMyODI0NUQwMSoNCitYNDE0MTk5WTMyNzg1NUQwMSoNCitYNDEzNjMxWTMyNzM2OUQwMSoNCitYNDEzMTQ1WTMyNjgwMUQwMSoNCitYNDEyNzU1WTMyNjE2M0QwMSoNCitYNDEyNDY5WTMyNTQ3MkQwMSoNCitYNDEyMjk0WTMyNDc0NUQwMSoNCitYNDEyMjM1WTMyNDAwMEQwMSoNCitYNDEyMjk0WTMyMzI1NUQwMSoNCitYNDEyNDY5WTMyMjUyOEQwMSoNCitYNDEyNzU1WTMyMTgzN0QwMSoNCitYNDEzMTQ1WTMyMTE5OUQwMSoNCitYNDEzNjMxWTMyMDYzMUQwMSoNCitYNDE0MTk5WTMyMDE0NUQwMSoNCitYNDE0ODM3WTMxOTc1NUQwMSoNCitYNDE1NTI4WTMxOTQ2OUQwMSoNCitYNDE2MjU1WTMxOTI5NEQwMSoNCitYNDE2OTkzWTMxOTIzNkQwMSoNCitZMjk4NzY0RDAxKg0KK1g0MTYyNTVZMjk4NzA2RDAxKg0KK1g0MTU1MjhZMjk4NTMxRDAxKg0KK1g0MTQ4MzdZMjk4MjQ1RDAxKg0KK1g0MTQxOTlZMjk3ODU1RDAxKg0KK1g0MTM2MzFZMjk3MzY5RDAxKg0KK1g0MTMxNDVZMjk2ODAxRDAxKg0KK1g0MTI3NTVZMjk2MTYzRDAxKg0KK1g0MTI0NjlZMjk1NDcyRDAxKg0KK1g0MTIyOTRZMjk0NzQ1RDAxKg0KK1g0MTIyMzVZMjk0MDAwRDAxKg0KK1g0MTIyOTRZMjkzMjU1RDAxKg0KK1g0MTI0NjlZMjkyNTI4RDAxKg0KK1g0MTI3NTVZMjkxODM3RDAxKg0KK1g0MTMxNDVZMjkxMTk5RDAxKg0KK1g0MTM2MzFZMjkwNjMxRDAxKg0KK1g0MTQxOTlZMjkwMTQ1RDAxKg0KK1g0MTQ4MzdZMjg5NzU1RDAxKg0KK1g0MTU1MjhZMjg5NDY5RDAxKg0KK1g0MTYyNTVZMjg5Mjk0RDAxKg0KK1g0MTY5OTNZMjg5MjM2RDAxKg0KK1kyNjg3NjREMDEqDQorWDQxNjI1NVkyNjg3MDZEMDEqDQorWDQxNTUyOFkyNjg1MzFEMDEqDQorWDQxNDgzN1kyNjgyNDVEMDEqDQorWDQxNDE5OVkyNjc4NTVEMDEqDQorWDQxMzYzMVkyNjczNjlEMDEqDQorWDQxMzE0NVkyNjY4MDFEMDEqDQorWDQxMjc1NVkyNjYxNjNEMDEqDQorWDQxMjQ2OVkyNjU0NzJEMDEqDQorWDQxMjI5NFkyNjQ3NDVEMDEqDQorWDQxMjIzNVkyNjQwMDBEMDEqDQorWDQxMjI5NFkyNjMyNTVEMDEqDQorWDQxMjQ2OVkyNjI1MjhEMDEqDQorWDQxMjc1NVkyNjE4MzdEMDEqDQorWDQxMzE0NVkyNjExOTlEMDEqDQorWDQxMzYzMVkyNjA2MzFEMDEqDQorWDQxNDE5OVkyNjAxNDVEMDEqDQorWDQxNDgzN1kyNTk3NTVEMDEqDQorWDQxNTUyOFkyNTk0NjlEMDEqDQorWDQxNjI1NVkyNTkyOTREMDEqDQorWDQxNjk5M1kyNTkyMzZEMDEqDQorWTIzODc2NEQwMSoNCitYNDE2MjU1WTIzODcwNkQwMSoNCitYNDE1NTI4WTIzODUzMUQwMSoNCitYNDE0ODM3WTIzODI0NUQwMSoNCitYNDE0MTk5WTIzNzg1NUQwMSoNCitYNDEzNjMxWTIzNzM2OUQwMSoNCitYNDEzMTQ1WTIzNjgwMUQwMSoNCitYNDEyNzU1WTIzNjE2M0QwMSoNCitYNDEyNDY5WTIzNTQ3MkQwMSoNCitYNDEyMjk0WTIzNDc0NUQwMSoNCitYNDEyMjM1WTIzNDAwMEQwMSoNCitYNDEyMjk0WTIzMzI1NUQwMSoNCitYNDEyNDY5WTIzMjUyOEQwMSoNCitYNDEyNzU1WTIzMTgzN0QwMSoNCitYNDEzMTQ1WTIzMTE5OUQwMSoNCitYNDEzNjMxWTIzMDYzMUQwMSoNCitYNDE0MTk5WTIzMDE0NUQwMSoNCitYNDE0ODM3WTIyOTc1NUQwMSoNCitYNDE1NTI4WTIyOTQ2OUQwMSoNCitYNDE2MjU1WTIyOTI5NEQwMSoNCitYNDE2OTkzWTIyOTIzNkQwMSoNCitZMjA4NzY0RDAxKg0KK1g0MTYyNTVZMjA4NzA2RDAxKg0KK1g0MTU1MjhZMjA4NTMxRDAxKg0KK1g0MTQ4MzdZMjA4MjQ1RDAxKg0KK1g0MTQxOTlZMjA3ODU1RDAxKg0KK1g0MTM2MzFZMjA3MzY5RDAxKg0KK1g0MTMxNDVZMjA2ODAxRDAxKg0KK1g0MTI3NTVZMjA2MTYzRDAxKg0KK1g0MTI0NjlZMjA1NDcyRDAxKg0KK1g0MTIyOTRZMjA0NzQ1RDAxKg0KK1g0MTIyMzVZMjA0MDAwRDAxKg0KK1g0MTIyOTRZMjAzMjU1RDAxKg0KK1g0MTI0NjlZMjAyNTI4RDAxKg0KK1g0MTI3NTVZMjAxODM3RDAxKg0KK1g0MTMxNDVZMjAxMTk5RDAxKg0KK1g0MTM2MzFZMjAwNjMxRDAxKg0KK1g0MTQxOTlZMjAwMTQ1RDAxKg0KK1g0MTQ4MzdZMTk5NzU1RDAxKg0KK1g0MTU1MjhZMTk5NDY5RDAxKg0KK1g0MTYyNTVZMTk5Mjk0RDAxKg0KK1g0MTY5OTNZMTk5MjM2RDAxKg0KK1kxNzg3NjREMDEqDQorWDQxNjI1NVkxNzg3MDZEMDEqDQorWDQxNTUyOFkxNzg1MzFEMDEqDQorWDQxNDgzN1kxNzgyNDVEMDEqDQorWDQxNDE5OVkxNzc4NTVEMDEqDQorWDQxMzYzMVkxNzczNjlEMDEqDQorWDQxMzE0NVkxNzY4MDFEMDEqDQorWDQxMjc1NVkxNzYxNjNEMDEqDQorWDQxMjQ2OVkxNzU0NzJEMDEqDQorWDQxMjI5NFkxNzQ3NDVEMDEqDQorWDQxMjIzNVkxNzQwMDBEMDEqDQorWDQxMjI5NFkxNzMyNTVEMDEqDQorWDQxMjQ2OVkxNzI1MjhEMDEqDQorWDQxMjc1NVkxNzE4MzdEMDEqDQorWDQxMzE0NVkxNzExOTlEMDEqDQorWDQxMzYzMVkxNzA2MzFEMDEqDQorWDQxNDE5OVkxNzAxNDVEMDEqDQorWDQxNDgzN1kxNjk3NTVEMDEqDQorWDQxNTUyOFkxNjk0NjlEMDEqDQorWDQxNjI1NVkxNjkyOTREMDEqDQorWDQxNjk5M1kxNjkyMzZEMDEqDQorWTE1OTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MTEwMDBEMDIqWDQwNzAwMEQwMSoNCitZMTY5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkxNjkyNTdEMDEqDQorWDQwODk4MlkxNjkyODVEMDEqDQorWDQwOTA5MlkxNjkzMzBEMDEqDQorWDQwOTE5MlkxNjkzOTFEMDEqDQorWDQwOTI4MlkxNjk0NjhEMDEqDQorWDQwOTM1OVkxNjk1NThEMDEqDQorWDQwOTQyMFkxNjk2NThEMDEqDQorWDQwOTQ2NVkxNjk3NjhEMDEqDQorWDQwOTQ5M1kxNjk4ODJEMDEqDQorWDQwOTUwMlkxNzAwMDBEMDEqDQorWDQwOTQ5M1kxNzAxMThEMDEqDQorWDQwOTQ2NVkxNzAyMzJEMDEqDQorWDQwOTQyMFkxNzAzNDJEMDEqDQorWDQwOTM1OVkxNzA0NDJEMDEqDQorWDQwOTI4MlkxNzA1MzJEMDEqDQorWDQwOTE5MlkxNzA2MDlEMDEqDQorWDQwOTA5MlkxNzA2NzBEMDEqDQorWDQwODk4MlkxNzA3MTVEMDEqDQorWDQwODg2OFkxNzA3NDNEMDEqDQorWDQwODc1MFkxNzA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMTc3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkxNzcyNTdEMDEqDQorWDQwODk4MlkxNzcyODVEMDEqDQorWDQwOTA5MlkxNzczMzBEMDEqDQorWDQwOTE5MlkxNzczOTFEMDEqDQorWDQwOTI4MlkxNzc0NjhEMDEqDQorWDQwOTM1OVkxNzc1NThEMDEqDQorWDQwOTQyMFkxNzc2NThEMDEqDQorWDQwOTQ2NVkxNzc3NjhEMDEqDQorWDQwOTQ5M1kxNzc4ODJEMDEqDQorWDQwOTUwMlkxNzgwMDBEMDEqDQorWDQwOTQ5M1kxNzgxMThEMDEqDQorWDQwOTQ2NVkxNzgyMzJEMDEqDQorWDQwOTQyMFkxNzgzNDJEMDEqDQorWDQwOTM1OVkxNzg0NDJEMDEqDQorWDQwOTI4MlkxNzg1MzJEMDEqDQorWDQwOTE5MlkxNzg2MDlEMDEqDQorWDQwOTA5MlkxNzg2NzBEMDEqDQorWDQwODk4MlkxNzg3MTVEMDEqDQorWDQwODg2OFkxNzg3NDNEMDEqDQorWDQwODc1MFkxNzg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMTk5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkxOTkyNTdEMDEqDQorWDQwODk4MlkxOTkyODVEMDEqDQorWDQwOTA5MlkxOTkzMzBEMDEqDQorWDQwOTE5MlkxOTkzOTFEMDEqDQorWDQwOTI4MlkxOTk0NjhEMDEqDQorWDQwOTM1OVkxOTk1NThEMDEqDQorWDQwOTQyMFkxOTk2NThEMDEqDQorWDQwOTQ2NVkxOTk3NjhEMDEqDQorWDQwOTQ5M1kxOTk4ODJEMDEqDQorWDQwOTUwMlkyMDAwMDBEMDEqDQorWDQwOTQ5M1kyMDAxMThEMDEqDQorWDQwOTQ2NVkyMDAyMzJEMDEqDQorWDQwOTQyMFkyMDAzNDJEMDEqDQorWDQwOTM1OVkyMDA0NDJEMDEqDQorWDQwOTI4MlkyMDA1MzJEMDEqDQorWDQwOTE5MlkyMDA2MDlEMDEqDQorWDQwOTA5MlkyMDA2NzBEMDEqDQorWDQwODk4MlkyMDA3MTVEMDEqDQorWDQwODg2OFkyMDA3NDNEMDEqDQorWDQwODc1MFkyMDA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjA3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyMDcyNTdEMDEqDQorWDQwODk4MlkyMDcyODVEMDEqDQorWDQwOTA5MlkyMDczMzBEMDEqDQorWDQwOTE5MlkyMDczOTFEMDEqDQorWDQwOTI4MlkyMDc0NjhEMDEqDQorWDQwOTM1OVkyMDc1NThEMDEqDQorWDQwOTQyMFkyMDc2NThEMDEqDQorWDQwOTQ2NVkyMDc3NjhEMDEqDQorWDQwOTQ5M1kyMDc4ODJEMDEqDQorWDQwOTUwMlkyMDgwMDBEMDEqDQorWDQwOTQ5M1kyMDgxMThEMDEqDQorWDQwOTQ2NVkyMDgyMzJEMDEqDQorWDQwOTQyMFkyMDgzNDJEMDEqDQorWDQwOTM1OVkyMDg0NDJEMDEqDQorWDQwOTI4MlkyMDg1MzJEMDEqDQorWDQwOTE5MlkyMDg2MDlEMDEqDQorWDQwOTA5MlkyMDg2NzBEMDEqDQorWDQwODk4MlkyMDg3MTVEMDEqDQorWDQwODg2OFkyMDg3NDNEMDEqDQorWDQwODc1MFkyMDg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjI5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyMjkyNTdEMDEqDQorWDQwODk4MlkyMjkyODVEMDEqDQorWDQwOTA5MlkyMjkzMzBEMDEqDQorWDQwOTE5MlkyMjkzOTFEMDEqDQorWDQwOTI4MlkyMjk0NjhEMDEqDQorWDQwOTM1OVkyMjk1NThEMDEqDQorWDQwOTQyMFkyMjk2NThEMDEqDQorWDQwOTQ2NVkyMjk3NjhEMDEqDQorWDQwOTQ5M1kyMjk4ODJEMDEqDQorWDQwOTUwMlkyMzAwMDBEMDEqDQorWDQwOTQ5M1kyMzAxMThEMDEqDQorWDQwOTQ2NVkyMzAyMzJEMDEqDQorWDQwOTQyMFkyMzAzNDJEMDEqDQorWDQwOTM1OVkyMzA0NDJEMDEqDQorWDQwOTI4MlkyMzA1MzJEMDEqDQorWDQwOTE5MlkyMzA2MDlEMDEqDQorWDQwOTA5MlkyMzA2NzBEMDEqDQorWDQwODk4MlkyMzA3MTVEMDEqDQorWDQwODg2OFkyMzA3NDNEMDEqDQorWDQwODc1MFkyMzA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjM3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyMzcyNTdEMDEqDQorWDQwODk4MlkyMzcyODVEMDEqDQorWDQwOTA5MlkyMzczMzBEMDEqDQorWDQwOTE5MlkyMzczOTFEMDEqDQorWDQwOTI4MlkyMzc0NjhEMDEqDQorWDQwOTM1OVkyMzc1NThEMDEqDQorWDQwOTQyMFkyMzc2NThEMDEqDQorWDQwOTQ2NVkyMzc3NjhEMDEqDQorWDQwOTQ5M1kyMzc4ODJEMDEqDQorWDQwOTUwMlkyMzgwMDBEMDEqDQorWDQwOTQ5M1kyMzgxMThEMDEqDQorWDQwOTQ2NVkyMzgyMzJEMDEqDQorWDQwOTQyMFkyMzgzNDJEMDEqDQorWDQwOTM1OVkyMzg0NDJEMDEqDQorWDQwOTI4MlkyMzg1MzJEMDEqDQorWDQwOTE5MlkyMzg2MDlEMDEqDQorWDQwOTA5MlkyMzg2NzBEMDEqDQorWDQwODk4MlkyMzg3MTVEMDEqDQorWDQwODg2OFkyMzg3NDNEMDEqDQorWDQwODc1MFkyMzg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjU5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyNTkyNTdEMDEqDQorWDQwODk4MlkyNTkyODVEMDEqDQorWDQwOTA5MlkyNTkzMzBEMDEqDQorWDQwOTE5MlkyNTkzOTFEMDEqDQorWDQwOTI4MlkyNTk0NjhEMDEqDQorWDQwOTM1OVkyNTk1NThEMDEqDQorWDQwOTQyMFkyNTk2NThEMDEqDQorWDQwOTQ2NVkyNTk3NjhEMDEqDQorWDQwOTQ5M1kyNTk4ODJEMDEqDQorWDQwOTUwMlkyNjAwMDBEMDEqDQorWDQwOTQ5M1kyNjAxMThEMDEqDQorWDQwOTQ2NVkyNjAyMzJEMDEqDQorWDQwOTQyMFkyNjAzNDJEMDEqDQorWDQwOTM1OVkyNjA0NDJEMDEqDQorWDQwOTI4MlkyNjA1MzJEMDEqDQorWDQwOTE5MlkyNjA2MDlEMDEqDQorWDQwOTA5MlkyNjA2NzBEMDEqDQorWDQwODk4MlkyNjA3MTVEMDEqDQorWDQwODg2OFkyNjA3NDNEMDEqDQorWDQwODc1MFkyNjA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjY3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyNjcyNTdEMDEqDQorWDQwODk4MlkyNjcyODVEMDEqDQorWDQwOTA5MlkyNjczMzBEMDEqDQorWDQwOTE5MlkyNjczOTFEMDEqDQorWDQwOTI4MlkyNjc0NjhEMDEqDQorWDQwOTM1OVkyNjc1NThEMDEqDQorWDQwOTQyMFkyNjc2NThEMDEqDQorWDQwOTQ2NVkyNjc3NjhEMDEqDQorWDQwOTQ5M1kyNjc4ODJEMDEqDQorWDQwOTUwMlkyNjgwMDBEMDEqDQorWDQwOTQ5M1kyNjgxMThEMDEqDQorWDQwOTQ2NVkyNjgyMzJEMDEqDQorWDQwOTQyMFkyNjgzNDJEMDEqDQorWDQwOTM1OVkyNjg0NDJEMDEqDQorWDQwOTI4MlkyNjg1MzJEMDEqDQorWDQwOTE5MlkyNjg2MDlEMDEqDQorWDQwOTA5MlkyNjg2NzBEMDEqDQorWDQwODk4MlkyNjg3MTVEMDEqDQorWDQwODg2OFkyNjg3NDNEMDEqDQorWDQwODc1MFkyNjg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjg5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyODkyNTdEMDEqDQorWDQwODk4MlkyODkyODVEMDEqDQorWDQwOTA5MlkyODkzMzBEMDEqDQorWDQwOTE5MlkyODkzOTFEMDEqDQorWDQwOTI4MlkyODk0NjhEMDEqDQorWDQwOTM1OVkyODk1NThEMDEqDQorWDQwOTQyMFkyODk2NThEMDEqDQorWDQwOTQ2NVkyODk3NjhEMDEqDQorWDQwOTQ5M1kyODk4ODJEMDEqDQorWDQwOTUwMlkyOTAwMDBEMDEqDQorWDQwOTQ5M1kyOTAxMThEMDEqDQorWDQwOTQ2NVkyOTAyMzJEMDEqDQorWDQwOTQyMFkyOTAzNDJEMDEqDQorWDQwOTM1OVkyOTA0NDJEMDEqDQorWDQwOTI4MlkyOTA1MzJEMDEqDQorWDQwOTE5MlkyOTA2MDlEMDEqDQorWDQwOTA5MlkyOTA2NzBEMDEqDQorWDQwODk4MlkyOTA3MTVEMDEqDQorWDQwODg2OFkyOTA3NDNEMDEqDQorWDQwODc1MFkyOTA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjk3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkyOTcyNTdEMDEqDQorWDQwODk4MlkyOTcyODVEMDEqDQorWDQwOTA5MlkyOTczMzBEMDEqDQorWDQwOTE5MlkyOTczOTFEMDEqDQorWDQwOTI4MlkyOTc0NjhEMDEqDQorWDQwOTM1OVkyOTc1NThEMDEqDQorWDQwOTQyMFkyOTc2NThEMDEqDQorWDQwOTQ2NVkyOTc3NjhEMDEqDQorWDQwOTQ5M1kyOTc4ODJEMDEqDQorWDQwOTUwMlkyOTgwMDBEMDEqDQorWDQwOTQ5M1kyOTgxMThEMDEqDQorWDQwOTQ2NVkyOTgyMzJEMDEqDQorWDQwOTQyMFkyOTgzNDJEMDEqDQorWDQwOTM1OVkyOTg0NDJEMDEqDQorWDQwOTI4MlkyOTg1MzJEMDEqDQorWDQwOTE5MlkyOTg2MDlEMDEqDQorWDQwOTA5MlkyOTg2NzBEMDEqDQorWDQwODk4MlkyOTg3MTVEMDEqDQorWDQwODg2OFkyOTg3NDNEMDEqDQorWDQwODc1MFkyOTg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzE5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzMTkyNTdEMDEqDQorWDQwODk4MlkzMTkyODVEMDEqDQorWDQwOTA5MlkzMTkzMzBEMDEqDQorWDQwOTE5MlkzMTkzOTFEMDEqDQorWDQwOTI4MlkzMTk0NjhEMDEqDQorWDQwOTM1OVkzMTk1NThEMDEqDQorWDQwOTQyMFkzMTk2NThEMDEqDQorWDQwOTQ2NVkzMTk3NjhEMDEqDQorWDQwOTQ5M1kzMTk4ODJEMDEqDQorWDQwOTUwMlkzMjAwMDBEMDEqDQorWDQwOTQ5M1kzMjAxMThEMDEqDQorWDQwOTQ2NVkzMjAyMzJEMDEqDQorWDQwOTQyMFkzMjAzNDJEMDEqDQorWDQwOTM1OVkzMjA0NDJEMDEqDQorWDQwOTI4MlkzMjA1MzJEMDEqDQorWDQwOTE5MlkzMjA2MDlEMDEqDQorWDQwOTA5MlkzMjA2NzBEMDEqDQorWDQwODk4MlkzMjA3MTVEMDEqDQorWDQwODg2OFkzMjA3NDNEMDEqDQorWDQwODc1MFkzMjA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzI3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzMjcyNTdEMDEqDQorWDQwODk4MlkzMjcyODVEMDEqDQorWDQwOTA5MlkzMjczMzBEMDEqDQorWDQwOTE5MlkzMjczOTFEMDEqDQorWDQwOTI4MlkzMjc0NjhEMDEqDQorWDQwOTM1OVkzMjc1NThEMDEqDQorWDQwOTQyMFkzMjc2NThEMDEqDQorWDQwOTQ2NVkzMjc3NjhEMDEqDQorWDQwOTQ5M1kzMjc4ODJEMDEqDQorWDQwOTUwMlkzMjgwMDBEMDEqDQorWDQwOTQ5M1kzMjgxMThEMDEqDQorWDQwOTQ2NVkzMjgyMzJEMDEqDQorWDQwOTQyMFkzMjgzNDJEMDEqDQorWDQwOTM1OVkzMjg0NDJEMDEqDQorWDQwOTI4MlkzMjg1MzJEMDEqDQorWDQwOTE5MlkzMjg2MDlEMDEqDQorWDQwOTA5MlkzMjg2NzBEMDEqDQorWDQwODk4MlkzMjg3MTVEMDEqDQorWDQwODg2OFkzMjg3NDNEMDEqDQorWDQwODc1MFkzMjg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzQ5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzNDkyNTdEMDEqDQorWDQwODk4MlkzNDkyODVEMDEqDQorWDQwOTA5MlkzNDkzMzBEMDEqDQorWDQwOTE5MlkzNDkzOTFEMDEqDQorWDQwOTI4MlkzNDk0NjhEMDEqDQorWDQwOTM1OVkzNDk1NThEMDEqDQorWDQwOTQyMFkzNDk2NThEMDEqDQorWDQwOTQ2NVkzNDk3NjhEMDEqDQorWDQwOTQ5M1kzNDk4ODJEMDEqDQorWDQwOTUwMlkzNTAwMDBEMDEqDQorWDQwOTQ5M1kzNTAxMThEMDEqDQorWDQwOTQ2NVkzNTAyMzJEMDEqDQorWDQwOTQyMFkzNTAzNDJEMDEqDQorWDQwOTM1OVkzNTA0NDJEMDEqDQorWDQwOTI4MlkzNTA1MzJEMDEqDQorWDQwOTE5MlkzNTA2MDlEMDEqDQorWDQwOTA5MlkzNTA2NzBEMDEqDQorWDQwODk4MlkzNTA3MTVEMDEqDQorWDQwODg2OFkzNTA3NDNEMDEqDQorWDQwODc1MFkzNTA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzU3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzNTcyNTdEMDEqDQorWDQwODk4MlkzNTcyODVEMDEqDQorWDQwOTA5MlkzNTczMzBEMDEqDQorWDQwOTE5MlkzNTczOTFEMDEqDQorWDQwOTI4MlkzNTc0NjhEMDEqDQorWDQwOTM1OVkzNTc1NThEMDEqDQorWDQwOTQyMFkzNTc2NThEMDEqDQorWDQwOTQ2NVkzNTc3NjhEMDEqDQorWDQwOTQ5M1kzNTc4ODJEMDEqDQorWDQwOTUwMlkzNTgwMDBEMDEqDQorWDQwOTQ5M1kzNTgxMThEMDEqDQorWDQwOTQ2NVkzNTgyMzJEMDEqDQorWDQwOTQyMFkzNTgzNDJEMDEqDQorWDQwOTM1OVkzNTg0NDJEMDEqDQorWDQwOTI4MlkzNTg1MzJEMDEqDQorWDQwOTE5MlkzNTg2MDlEMDEqDQorWDQwOTA5MlkzNTg2NzBEMDEqDQorWDQwODk4MlkzNTg3MTVEMDEqDQorWDQwODg2OFkzNTg3NDNEMDEqDQorWDQwODc1MFkzNTg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzc5MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzNzkyNTdEMDEqDQorWDQwODk4MlkzNzkyODVEMDEqDQorWDQwOTA5MlkzNzkzMzBEMDEqDQorWDQwOTE5MlkzNzkzOTFEMDEqDQorWDQwOTI4MlkzNzk0NjhEMDEqDQorWDQwOTM1OVkzNzk1NThEMDEqDQorWDQwOTQyMFkzNzk2NThEMDEqDQorWDQwOTQ2NVkzNzk3NjhEMDEqDQorWDQwOTQ5M1kzNzk4ODJEMDEqDQorWDQwOTUwMlkzODAwMDBEMDEqDQorWDQwOTQ5M1kzODAxMThEMDEqDQorWDQwOTQ2NVkzODAyMzJEMDEqDQorWDQwOTQyMFkzODAzNDJEMDEqDQorWDQwOTM1OVkzODA0NDJEMDEqDQorWDQwOTI4MlkzODA1MzJEMDEqDQorWDQwOTE5MlkzODA2MDlEMDEqDQorWDQwOTA5MlkzODA2NzBEMDEqDQorWDQwODk4MlkzODA3MTVEMDEqDQorWDQwODg2OFkzODA3NDNEMDEqDQorWDQwODc1MFkzODA3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzg3MjUwRDAxKg0KK1g0MDg3NTBEMDEqDQorWDQwODg2OFkzODcyNTdEMDEqDQorWDQwODk4MlkzODcyODVEMDEqDQorWDQwOTA5MlkzODczMzBEMDEqDQorWDQwOTE5MlkzODczOTFEMDEqDQorWDQwOTI4MlkzODc0NjhEMDEqDQorWDQwOTM1OVkzODc1NThEMDEqDQorWDQwOTQyMFkzODc2NThEMDEqDQorWDQwOTQ2NVkzODc3NjhEMDEqDQorWDQwOTQ5M1kzODc4ODJEMDEqDQorWDQwOTUwMlkzODgwMDBEMDEqDQorWDQwOTQ5M1kzODgxMThEMDEqDQorWDQwOTQ2NVkzODgyMzJEMDEqDQorWDQwOTQyMFkzODgzNDJEMDEqDQorWDQwOTM1OVkzODg0NDJEMDEqDQorWDQwOTI4MlkzODg1MzJEMDEqDQorWDQwOTE5MlkzODg2MDlEMDEqDQorWDQwOTA5MlkzODg2NzBEMDEqDQorWDQwODk4MlkzODg3MTVEMDEqDQorWDQwODg2OFkzODg3NDNEMDEqDQorWDQwODc1MFkzODg3NTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0MTEwMDBEMDEqDQorWTM4NjUwMkQwMSoNCitYNDEwODgyWTM4NjQ5M0QwMSoNCitYNDEwNzY4WTM4NjQ2NUQwMSoNCitYNDEwNjU4WTM4NjQyMEQwMSoNCitYNDEwNTU4WTM4NjM1OUQwMSoNCitYNDEwNDY4WTM4NjI4MkQwMSoNCitYNDEwMzkxWTM4NjE5MkQwMSoNCitYNDEwMzMwWTM4NjA5MkQwMSoNCitYNDEwMjg1WTM4NTk4MkQwMSoNCitYNDEwMjU3WTM4NTg2OEQwMSoNCitYNDEwMjUwWTM4NTc1MEQwMSoNCitZMzgyMjUwRDAxKg0KK1g0MTAyNTdZMzgyMTMyRDAxKg0KK1g0MTAyODVZMzgyMDE4RDAxKg0KK1g0MTAzMzBZMzgxOTA4RDAxKg0KK1g0MTAzOTFZMzgxODA4RDAxKg0KK1g0MTA0NjhZMzgxNzE4RDAxKg0KK1g0MTA1NThZMzgxNjQxRDAxKg0KK1g0MTA2NThZMzgxNTgwRDAxKg0KK1g0MTA3NjhZMzgxNTM1RDAxKg0KK1g0MTA4ODJZMzgxNTA3RDAxKg0KK1g0MTEwMDBZMzgxNDk4RDAxKg0KK1kzNTY1MDJEMDEqDQorWDQxMDg4MlkzNTY0OTNEMDEqDQorWDQxMDc2OFkzNTY0NjVEMDEqDQorWDQxMDY1OFkzNTY0MjBEMDEqDQorWDQxMDU1OFkzNTYzNTlEMDEqDQorWDQxMDQ2OFkzNTYyODJEMDEqDQorWDQxMDM5MVkzNTYxOTJEMDEqDQorWDQxMDMzMFkzNTYwOTJEMDEqDQorWDQxMDI4NVkzNTU5ODJEMDEqDQorWDQxMDI1N1kzNTU4NjhEMDEqDQorWDQxMDI1MFkzNTU3NTBEMDEqDQorWTM1MjI1MEQwMSoNCitYNDEwMjU3WTM1MjEzMkQwMSoNCitYNDEwMjg1WTM1MjAxOEQwMSoNCitYNDEwMzMwWTM1MTkwOEQwMSoNCitYNDEwMzkxWTM1MTgwOEQwMSoNCitYNDEwNDY4WTM1MTcxOEQwMSoNCitYNDEwNTU4WTM1MTY0MUQwMSoNCitYNDEwNjU4WTM1MTU4MEQwMSoNCitYNDEwNzY4WTM1MTUzNUQwMSoNCitYNDEwODgyWTM1MTUwN0QwMSoNCitYNDExMDAwWTM1MTQ5OEQwMSoNCitZMzI2NTAyRDAxKg0KK1g0MTA4ODJZMzI2NDkzRDAxKg0KK1g0MTA3NjhZMzI2NDY1RDAxKg0KK1g0MTA2NThZMzI2NDIwRDAxKg0KK1g0MTA1NThZMzI2MzU5RDAxKg0KK1g0MTA0NjhZMzI2MjgyRDAxKg0KK1g0MTAzOTFZMzI2MTkyRDAxKg0KK1g0MTAzMzBZMzI2MDkyRDAxKg0KK1g0MTAyODVZMzI1OTgyRDAxKg0KK1g0MTAyNTdZMzI1ODY4RDAxKg0KK1g0MTAyNTBZMzI1NzUwRDAxKg0KK1kzMjIyNTBEMDEqDQorWDQxMDI1N1kzMjIxMzJEMDEqDQorWDQxMDI4NVkzMjIwMThEMDEqDQorWDQxMDMzMFkzMjE5MDhEMDEqDQorWDQxMDM5MVkzMjE4MDhEMDEqDQorWDQxMDQ2OFkzMjE3MThEMDEqDQorWDQxMDU1OFkzMjE2NDFEMDEqDQorWDQxMDY1OFkzMjE1ODBEMDEqDQorWDQxMDc2OFkzMjE1MzVEMDEqDQorWDQxMDg4MlkzMjE1MDdEMDEqDQorWDQxMTAwMFkzMjE0OThEMDEqDQorWTI5NjUwMkQwMSoNCitYNDEwODgyWTI5NjQ5M0QwMSoNCitYNDEwNzY4WTI5NjQ2NUQwMSoNCitYNDEwNjU4WTI5NjQyMEQwMSoNCitYNDEwNTU4WTI5NjM1OUQwMSoNCitYNDEwNDY4WTI5NjI4MkQwMSoNCitYNDEwMzkxWTI5NjE5MkQwMSoNCitYNDEwMzMwWTI5NjA5MkQwMSoNCitYNDEwMjg1WTI5NTk4MkQwMSoNCitYNDEwMjU3WTI5NTg2OEQwMSoNCitYNDEwMjUwWTI5NTc1MEQwMSoNCitZMjkyMjUwRDAxKg0KK1g0MTAyNTdZMjkyMTMyRDAxKg0KK1g0MTAyODVZMjkyMDE4RDAxKg0KK1g0MTAzMzBZMjkxOTA4RDAxKg0KK1g0MTAzOTFZMjkxODA4RDAxKg0KK1g0MTA0NjhZMjkxNzE4RDAxKg0KK1g0MTA1NThZMjkxNjQxRDAxKg0KK1g0MTA2NThZMjkxNTgwRDAxKg0KK1g0MTA3NjhZMjkxNTM1RDAxKg0KK1g0MTA4ODJZMjkxNTA3RDAxKg0KK1g0MTEwMDBZMjkxNDk4RDAxKg0KK1kyNjY1MDJEMDEqDQorWDQxMDg4MlkyNjY0OTNEMDEqDQorWDQxMDc2OFkyNjY0NjVEMDEqDQorWDQxMDY1OFkyNjY0MjBEMDEqDQorWDQxMDU1OFkyNjYzNTlEMDEqDQorWDQxMDQ2OFkyNjYyODJEMDEqDQorWDQxMDM5MVkyNjYxOTJEMDEqDQorWDQxMDMzMFkyNjYwOTJEMDEqDQorWDQxMDI4NVkyNjU5ODJEMDEqDQorWDQxMDI1N1kyNjU4NjhEMDEqDQorWDQxMDI1MFkyNjU3NTBEMDEqDQorWTI2MjI1MEQwMSoNCitYNDEwMjU3WTI2MjEzMkQwMSoNCitYNDEwMjg1WTI2MjAxOEQwMSoNCitYNDEwMzMwWTI2MTkwOEQwMSoNCitYNDEwMzkxWTI2MTgwOEQwMSoNCitYNDEwNDY4WTI2MTcxOEQwMSoNCitYNDEwNTU4WTI2MTY0MUQwMSoNCitYNDEwNjU4WTI2MTU4MEQwMSoNCitYNDEwNzY4WTI2MTUzNUQwMSoNCitYNDEwODgyWTI2MTUwN0QwMSoNCitYNDExMDAwWTI2MTQ5OEQwMSoNCitZMjM2NTAyRDAxKg0KK1g0MTA4ODJZMjM2NDkzRDAxKg0KK1g0MTA3NjhZMjM2NDY1RDAxKg0KK1g0MTA2NThZMjM2NDIwRDAxKg0KK1g0MTA1NThZMjM2MzU5RDAxKg0KK1g0MTA0NjhZMjM2MjgyRDAxKg0KK1g0MTAzOTFZMjM2MTkyRDAxKg0KK1g0MTAzMzBZMjM2MDkyRDAxKg0KK1g0MTAyODVZMjM1OTgyRDAxKg0KK1g0MTAyNTdZMjM1ODY4RDAxKg0KK1g0MTAyNTBZMjM1NzUwRDAxKg0KK1kyMzIyNTBEMDEqDQorWDQxMDI1N1kyMzIxMzJEMDEqDQorWDQxMDI4NVkyMzIwMThEMDEqDQorWDQxMDMzMFkyMzE5MDhEMDEqDQorWDQxMDM5MVkyMzE4MDhEMDEqDQorWDQxMDQ2OFkyMzE3MThEMDEqDQorWDQxMDU1OFkyMzE2NDFEMDEqDQorWDQxMDY1OFkyMzE1ODBEMDEqDQorWDQxMDc2OFkyMzE1MzVEMDEqDQorWDQxMDg4MlkyMzE1MDdEMDEqDQorWDQxMTAwMFkyMzE0OThEMDEqDQorWTIwNjUwMkQwMSoNCitYNDEwODgyWTIwNjQ5M0QwMSoNCitYNDEwNzY4WTIwNjQ2NUQwMSoNCitYNDEwNjU4WTIwNjQyMEQwMSoNCitYNDEwNTU4WTIwNjM1OUQwMSoNCitYNDEwNDY4WTIwNjI4MkQwMSoNCitYNDEwMzkxWTIwNjE5MkQwMSoNCitYNDEwMzMwWTIwNjA5MkQwMSoNCitYNDEwMjg1WTIwNTk4MkQwMSoNCitYNDEwMjU3WTIwNTg2OEQwMSoNCitYNDEwMjUwWTIwNTc1MEQwMSoNCitZMjAyMjUwRDAxKg0KK1g0MTAyNTdZMjAyMTMyRDAxKg0KK1g0MTAyODVZMjAyMDE4RDAxKg0KK1g0MTAzMzBZMjAxOTA4RDAxKg0KK1g0MTAzOTFZMjAxODA4RDAxKg0KK1g0MTA0NjhZMjAxNzE4RDAxKg0KK1g0MTA1NThZMjAxNjQxRDAxKg0KK1g0MTA2NThZMjAxNTgwRDAxKg0KK1g0MTA3NjhZMjAxNTM1RDAxKg0KK1g0MTA4ODJZMjAxNTA3RDAxKg0KK1g0MTEwMDBZMjAxNDk4RDAxKg0KK1kxNzY1MDJEMDEqDQorWDQxMDg4MlkxNzY0OTNEMDEqDQorWDQxMDc2OFkxNzY0NjVEMDEqDQorWDQxMDY1OFkxNzY0MjBEMDEqDQorWDQxMDU1OFkxNzYzNTlEMDEqDQorWDQxMDQ2OFkxNzYyODJEMDEqDQorWDQxMDM5MVkxNzYxOTJEMDEqDQorWDQxMDMzMFkxNzYwOTJEMDEqDQorWDQxMDI4NVkxNzU5ODJEMDEqDQorWDQxMDI1N1kxNzU4NjhEMDEqDQorWDQxMDI1MFkxNzU3NTBEMDEqDQorWTE3MjI1MEQwMSoNCitYNDEwMjU3WTE3MjEzMkQwMSoNCitYNDEwMjg1WTE3MjAxOEQwMSoNCitYNDEwMzMwWTE3MTkwOEQwMSoNCitYNDEwMzkxWTE3MTgwOEQwMSoNCitYNDEwNDY4WTE3MTcxOEQwMSoNCitYNDEwNTU4WTE3MTY0MUQwMSoNCitYNDEwNjU4WTE3MTU4MEQwMSoNCitYNDEwNzY4WTE3MTUzNUQwMSoNCitYNDEwODgyWTE3MTUwN0QwMSoNCitYNDExMDAwWTE3MTQ5OEQwMSoNCitZMTU5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQwNzAwMEQwMipYNDAzMDAwRDAxKg0KK1kxNzE0OThEMDEqDQorWDQwMzExOFkxNzE1MDdEMDEqDQorWDQwMzIzMlkxNzE1MzVEMDEqDQorWDQwMzM0MlkxNzE1ODBEMDEqDQorWDQwMzQ0MlkxNzE2NDFEMDEqDQorWDQwMzUzMlkxNzE3MThEMDEqDQorWDQwMzYwOVkxNzE4MDhEMDEqDQorWDQwMzY3MFkxNzE5MDhEMDEqDQorWDQwMzcxNVkxNzIwMThEMDEqDQorWDQwMzc0M1kxNzIxMzJEMDEqDQorWDQwMzc1MFkxNzIyNTBEMDEqDQorWTE3NTc1MEQwMSoNCitYNDAzNzQzWTE3NTg2OEQwMSoNCitYNDAzNzE1WTE3NTk4MkQwMSoNCitYNDAzNjcwWTE3NjA5MkQwMSoNCitYNDAzNjA5WTE3NjE5MkQwMSoNCitYNDAzNTMyWTE3NjI4MkQwMSoNCitYNDAzNDQyWTE3NjM1OUQwMSoNCitYNDAzMzQyWTE3NjQyMEQwMSoNCitYNDAzMjMyWTE3NjQ2NUQwMSoNCitYNDAzMTE4WTE3NjQ5M0QwMSoNCitYNDAzMDAwWTE3NjUwMkQwMSoNCitZMTg3ODYxRDAxKg0KK1g0MDMxMTJZMTg4MTMyRDAxKg0KK1g0MDMyMTVZMTg4NTYxRDAxKg0KK1g0MDMyNDFZMTg5MDAwRDAxKg0KK1g0MDMyMTVZMTg5NDM5RDAxKg0KK1g0MDMxMTJZMTg5ODY4RDAxKg0KK1g0MDMwMDBZMTkwMTM5RDAxKg0KK1kxOTI4NjFEMDEqDQorWDQwMzExMlkxOTMxMzJEMDEqDQorWDQwMzIxNVkxOTM1NjFEMDEqDQorWDQwMzI0MVkxOTQwMDBEMDEqDQorWDQwMzIxNVkxOTQ0MzlEMDEqDQorWDQwMzExMlkxOTQ4NjhEMDEqDQorWDQwMzAwMFkxOTUxMzlEMDEqDQorWTIwMTQ5OEQwMSoNCitYNDAzMTE4WTIwMTUwN0QwMSoNCitYNDAzMjMyWTIwMTUzNUQwMSoNCitYNDAzMzQyWTIwMTU4MEQwMSoNCitYNDAzNDQyWTIwMTY0MUQwMSoNCitYNDAzNTMyWTIwMTcxOEQwMSoNCitYNDAzNjA5WTIwMTgwOEQwMSoNCitYNDAzNjcwWTIwMTkwOEQwMSoNCitYNDAzNzE1WTIwMjAxOEQwMSoNCitYNDAzNzQzWTIwMjEzMkQwMSoNCitYNDAzNzUwWTIwMjI1MEQwMSoNCitZMjA1NzUwRDAxKg0KK1g0MDM3NDNZMjA1ODY4RDAxKg0KK1g0MDM3MTVZMjA1OTgyRDAxKg0KK1g0MDM2NzBZMjA2MDkyRDAxKg0KK1g0MDM2MDlZMjA2MTkyRDAxKg0KK1g0MDM1MzJZMjA2MjgyRDAxKg0KK1g0MDM0NDJZMjA2MzU5RDAxKg0KK1g0MDMzNDJZMjA2NDIwRDAxKg0KK1g0MDMyMzJZMjA2NDY1RDAxKg0KK1g0MDMxMThZMjA2NDkzRDAxKg0KK1g0MDMwMDBZMjA2NTAyRDAxKg0KK1kyMzE0OThEMDEqDQorWDQwMzExOFkyMzE1MDdEMDEqDQorWDQwMzIzMlkyMzE1MzVEMDEqDQorWDQwMzM0MlkyMzE1ODBEMDEqDQorWDQwMzQ0MlkyMzE2NDFEMDEqDQorWDQwMzUzMlkyMzE3MThEMDEqDQorWDQwMzYwOVkyMzE4MDhEMDEqDQorWDQwMzY3MFkyMzE5MDhEMDEqDQorWDQwMzcxNVkyMzIwMThEMDEqDQorWDQwMzc0M1kyMzIxMzJEMDEqDQorWDQwMzc1MFkyMzIyNTBEMDEqDQorWTIzNTc1MEQwMSoNCitYNDAzNzQzWTIzNTg2OEQwMSoNCitYNDAzNzE1WTIzNTk4MkQwMSoNCitYNDAzNjcwWTIzNjA5MkQwMSoNCitYNDAzNjA5WTIzNjE5MkQwMSoNCitYNDAzNTMyWTIzNjI4MkQwMSoNCitYNDAzNDQyWTIzNjM1OUQwMSoNCitYNDAzMzQyWTIzNjQyMEQwMSoNCitYNDAzMjMyWTIzNjQ2NUQwMSoNCitYNDAzMTE4WTIzNjQ5M0QwMSoNCitYNDAzMDAwWTIzNjUwMkQwMSoNCitZMjYxNDk4RDAxKg0KK1g0MDMxMThZMjYxNTA3RDAxKg0KK1g0MDMyMzJZMjYxNTM1RDAxKg0KK1g0MDMzNDJZMjYxNTgwRDAxKg0KK1g0MDM0NDJZMjYxNjQxRDAxKg0KK1g0MDM1MzJZMjYxNzE4RDAxKg0KK1g0MDM2MDlZMjYxODA4RDAxKg0KK1g0MDM2NzBZMjYxOTA4RDAxKg0KK1g0MDM3MTVZMjYyMDE4RDAxKg0KK1g0MDM3NDNZMjYyMTMyRDAxKg0KK1g0MDM3NTBZMjYyMjUwRDAxKg0KK1kyNjU3NTBEMDEqDQorWDQwMzc0M1kyNjU4NjhEMDEqDQorWDQwMzcxNVkyNjU5ODJEMDEqDQorWDQwMzY3MFkyNjYwOTJEMDEqDQorWDQwMzYwOVkyNjYxOTJEMDEqDQorWDQwMzUzMlkyNjYyODJEMDEqDQorWDQwMzQ0MlkyNjYzNTlEMDEqDQorWDQwMzM0MlkyNjY0MjBEMDEqDQorWDQwMzIzMlkyNjY0NjVEMDEqDQorWDQwMzExOFkyNjY0OTNEMDEqDQorWDQwMzAwMFkyNjY1MDJEMDEqDQorWTI5MTQ5OEQwMSoNCitYNDAzMTE4WTI5MTUwN0QwMSoNCitYNDAzMjMyWTI5MTUzNUQwMSoNCitYNDAzMzQyWTI5MTU4MEQwMSoNCitYNDAzNDQyWTI5MTY0MUQwMSoNCitYNDAzNTMyWTI5MTcxOEQwMSoNCitYNDAzNjA5WTI5MTgwOEQwMSoNCitYNDAzNjcwWTI5MTkwOEQwMSoNCitYNDAzNzE1WTI5MjAxOEQwMSoNCitYNDAzNzQzWTI5MjEzMkQwMSoNCitYNDAzNzUwWTI5MjI1MEQwMSoNCitZMjk1NzUwRDAxKg0KK1g0MDM3NDNZMjk1ODY4RDAxKg0KK1g0MDM3MTVZMjk1OTgyRDAxKg0KK1g0MDM2NzBZMjk2MDkyRDAxKg0KK1g0MDM2MDlZMjk2MTkyRDAxKg0KK1g0MDM1MzJZMjk2MjgyRDAxKg0KK1g0MDM0NDJZMjk2MzU5RDAxKg0KK1g0MDMzNDJZMjk2NDIwRDAxKg0KK1g0MDMyMzJZMjk2NDY1RDAxKg0KK1g0MDMxMThZMjk2NDkzRDAxKg0KK1g0MDMwMDBZMjk2NTAyRDAxKg0KK1kzMjE0OThEMDEqDQorWDQwMzExOFkzMjE1MDdEMDEqDQorWDQwMzIzMlkzMjE1MzVEMDEqDQorWDQwMzM0MlkzMjE1ODBEMDEqDQorWDQwMzQ0MlkzMjE2NDFEMDEqDQorWDQwMzUzMlkzMjE3MThEMDEqDQorWDQwMzYwOVkzMjE4MDhEMDEqDQorWDQwMzY3MFkzMjE5MDhEMDEqDQorWDQwMzcxNVkzMjIwMThEMDEqDQorWDQwMzc0M1kzMjIxMzJEMDEqDQorWDQwMzc1MFkzMjIyNTBEMDEqDQorWTMyNTc1MEQwMSoNCitYNDAzNzQzWTMyNTg2OEQwMSoNCitYNDAzNzE1WTMyNTk4MkQwMSoNCitYNDAzNjcwWTMyNjA5MkQwMSoNCitYNDAzNjA5WTMyNjE5MkQwMSoNCitYNDAzNTMyWTMyNjI4MkQwMSoNCitYNDAzNDQyWTMyNjM1OUQwMSoNCitYNDAzMzQyWTMyNjQyMEQwMSoNCitYNDAzMjMyWTMyNjQ2NUQwMSoNCitYNDAzMTE4WTMyNjQ5M0QwMSoNCitYNDAzMDAwWTMyNjUwMkQwMSoNCitZMzUxNDk4RDAxKg0KK1g0MDMxMThZMzUxNTA3RDAxKg0KK1g0MDMyMzJZMzUxNTM1RDAxKg0KK1g0MDMzNDJZMzUxNTgwRDAxKg0KK1g0MDM0NDJZMzUxNjQxRDAxKg0KK1g0MDM1MzJZMzUxNzE4RDAxKg0KK1g0MDM2MDlZMzUxODA4RDAxKg0KK1g0MDM2NzBZMzUxOTA4RDAxKg0KK1g0MDM3MTVZMzUyMDE4RDAxKg0KK1g0MDM3NDNZMzUyMTMyRDAxKg0KK1g0MDM3NTBZMzUyMjUwRDAxKg0KK1kzNTU3NTBEMDEqDQorWDQwMzc0M1kzNTU4NjhEMDEqDQorWDQwMzcxNVkzNTU5ODJEMDEqDQorWDQwMzY3MFkzNTYwOTJEMDEqDQorWDQwMzYwOVkzNTYxOTJEMDEqDQorWDQwMzUzMlkzNTYyODJEMDEqDQorWDQwMzQ0MlkzNTYzNTlEMDEqDQorWDQwMzM0MlkzNTY0MjBEMDEqDQorWDQwMzIzMlkzNTY0NjVEMDEqDQorWDQwMzExOFkzNTY0OTNEMDEqDQorWDQwMzAwMFkzNTY1MDJEMDEqDQorWTM4MTQ5OEQwMSoNCitYNDAzMTE4WTM4MTUwN0QwMSoNCitYNDAzMjMyWTM4MTUzNUQwMSoNCitYNDAzMzQyWTM4MTU4MEQwMSoNCitYNDAzNDQyWTM4MTY0MUQwMSoNCitYNDAzNTMyWTM4MTcxOEQwMSoNCitYNDAzNjA5WTM4MTgwOEQwMSoNCitYNDAzNjcwWTM4MTkwOEQwMSoNCitYNDAzNzE1WTM4MjAxOEQwMSoNCitYNDAzNzQzWTM4MjEzMkQwMSoNCitYNDAzNzUwWTM4MjI1MEQwMSoNCitZMzg1NzUwRDAxKg0KK1g0MDM3NDNZMzg1ODY4RDAxKg0KK1g0MDM3MTVZMzg1OTgyRDAxKg0KK1g0MDM2NzBZMzg2MDkyRDAxKg0KK1g0MDM2MDlZMzg2MTkyRDAxKg0KK1g0MDM1MzJZMzg2MjgyRDAxKg0KK1g0MDM0NDJZMzg2MzU5RDAxKg0KK1g0MDMzNDJZMzg2NDIwRDAxKg0KK1g0MDMyMzJZMzg2NDY1RDAxKg0KK1g0MDMxMThZMzg2NDkzRDAxKg0KK1g0MDMwMDBZMzg2NTAyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzg4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzODg3NDNEMDEqDQorWDQwNTAxOFkzODg3MTVEMDEqDQorWDQwNDkwOFkzODg2NzBEMDEqDQorWDQwNDgwOFkzODg2MDlEMDEqDQorWDQwNDcxOFkzODg1MzJEMDEqDQorWDQwNDY0MVkzODg0NDJEMDEqDQorWDQwNDU4MFkzODgzNDJEMDEqDQorWDQwNDUzNVkzODgyMzJEMDEqDQorWDQwNDUwN1kzODgxMThEMDEqDQorWDQwNDQ5OFkzODgwMDBEMDEqDQorWDQwNDUwN1kzODc4ODJEMDEqDQorWDQwNDUzNVkzODc3NjhEMDEqDQorWDQwNDU4MFkzODc2NThEMDEqDQorWDQwNDY0MVkzODc1NThEMDEqDQorWDQwNDcxOFkzODc0NjhEMDEqDQorWDQwNDgwOFkzODczOTFEMDEqDQorWDQwNDkwOFkzODczMzBEMDEqDQorWDQwNTAxOFkzODcyODVEMDEqDQorWDQwNTEzMlkzODcyNTdEMDEqDQorWDQwNTI1MFkzODcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzgwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzODA3NDNEMDEqDQorWDQwNTAxOFkzODA3MTVEMDEqDQorWDQwNDkwOFkzODA2NzBEMDEqDQorWDQwNDgwOFkzODA2MDlEMDEqDQorWDQwNDcxOFkzODA1MzJEMDEqDQorWDQwNDY0MVkzODA0NDJEMDEqDQorWDQwNDU4MFkzODAzNDJEMDEqDQorWDQwNDUzNVkzODAyMzJEMDEqDQorWDQwNDUwN1kzODAxMThEMDEqDQorWDQwNDQ5OFkzODAwMDBEMDEqDQorWDQwNDUwN1kzNzk4ODJEMDEqDQorWDQwNDUzNVkzNzk3NjhEMDEqDQorWDQwNDU4MFkzNzk2NThEMDEqDQorWDQwNDY0MVkzNzk1NThEMDEqDQorWDQwNDcxOFkzNzk0NjhEMDEqDQorWDQwNDgwOFkzNzkzOTFEMDEqDQorWDQwNDkwOFkzNzkzMzBEMDEqDQorWDQwNTAxOFkzNzkyODVEMDEqDQorWDQwNTEzMlkzNzkyNTdEMDEqDQorWDQwNTI1MFkzNzkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzU4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzNTg3NDNEMDEqDQorWDQwNTAxOFkzNTg3MTVEMDEqDQorWDQwNDkwOFkzNTg2NzBEMDEqDQorWDQwNDgwOFkzNTg2MDlEMDEqDQorWDQwNDcxOFkzNTg1MzJEMDEqDQorWDQwNDY0MVkzNTg0NDJEMDEqDQorWDQwNDU4MFkzNTgzNDJEMDEqDQorWDQwNDUzNVkzNTgyMzJEMDEqDQorWDQwNDUwN1kzNTgxMThEMDEqDQorWDQwNDQ5OFkzNTgwMDBEMDEqDQorWDQwNDUwN1kzNTc4ODJEMDEqDQorWDQwNDUzNVkzNTc3NjhEMDEqDQorWDQwNDU4MFkzNTc2NThEMDEqDQorWDQwNDY0MVkzNTc1NThEMDEqDQorWDQwNDcxOFkzNTc0NjhEMDEqDQorWDQwNDgwOFkzNTczOTFEMDEqDQorWDQwNDkwOFkzNTczMzBEMDEqDQorWDQwNTAxOFkzNTcyODVEMDEqDQorWDQwNTEzMlkzNTcyNTdEMDEqDQorWDQwNTI1MFkzNTcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzUwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzNTA3NDNEMDEqDQorWDQwNTAxOFkzNTA3MTVEMDEqDQorWDQwNDkwOFkzNTA2NzBEMDEqDQorWDQwNDgwOFkzNTA2MDlEMDEqDQorWDQwNDcxOFkzNTA1MzJEMDEqDQorWDQwNDY0MVkzNTA0NDJEMDEqDQorWDQwNDU4MFkzNTAzNDJEMDEqDQorWDQwNDUzNVkzNTAyMzJEMDEqDQorWDQwNDUwN1kzNTAxMThEMDEqDQorWDQwNDQ5OFkzNTAwMDBEMDEqDQorWDQwNDUwN1kzNDk4ODJEMDEqDQorWDQwNDUzNVkzNDk3NjhEMDEqDQorWDQwNDU4MFkzNDk2NThEMDEqDQorWDQwNDY0MVkzNDk1NThEMDEqDQorWDQwNDcxOFkzNDk0NjhEMDEqDQorWDQwNDgwOFkzNDkzOTFEMDEqDQorWDQwNDkwOFkzNDkzMzBEMDEqDQorWDQwNTAxOFkzNDkyODVEMDEqDQorWDQwNTEzMlkzNDkyNTdEMDEqDQorWDQwNTI1MFkzNDkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzI4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzMjg3NDNEMDEqDQorWDQwNTAxOFkzMjg3MTVEMDEqDQorWDQwNDkwOFkzMjg2NzBEMDEqDQorWDQwNDgwOFkzMjg2MDlEMDEqDQorWDQwNDcxOFkzMjg1MzJEMDEqDQorWDQwNDY0MVkzMjg0NDJEMDEqDQorWDQwNDU4MFkzMjgzNDJEMDEqDQorWDQwNDUzNVkzMjgyMzJEMDEqDQorWDQwNDUwN1kzMjgxMThEMDEqDQorWDQwNDQ5OFkzMjgwMDBEMDEqDQorWDQwNDUwN1kzMjc4ODJEMDEqDQorWDQwNDUzNVkzMjc3NjhEMDEqDQorWDQwNDU4MFkzMjc2NThEMDEqDQorWDQwNDY0MVkzMjc1NThEMDEqDQorWDQwNDcxOFkzMjc0NjhEMDEqDQorWDQwNDgwOFkzMjczOTFEMDEqDQorWDQwNDkwOFkzMjczMzBEMDEqDQorWDQwNTAxOFkzMjcyODVEMDEqDQorWDQwNTEzMlkzMjcyNTdEMDEqDQorWDQwNTI1MFkzMjcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMzIwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkzMjA3NDNEMDEqDQorWDQwNTAxOFkzMjA3MTVEMDEqDQorWDQwNDkwOFkzMjA2NzBEMDEqDQorWDQwNDgwOFkzMjA2MDlEMDEqDQorWDQwNDcxOFkzMjA1MzJEMDEqDQorWDQwNDY0MVkzMjA0NDJEMDEqDQorWDQwNDU4MFkzMjAzNDJEMDEqDQorWDQwNDUzNVkzMjAyMzJEMDEqDQorWDQwNDUwN1kzMjAxMThEMDEqDQorWDQwNDQ5OFkzMjAwMDBEMDEqDQorWDQwNDUwN1kzMTk4ODJEMDEqDQorWDQwNDUzNVkzMTk3NjhEMDEqDQorWDQwNDU4MFkzMTk2NThEMDEqDQorWDQwNDY0MVkzMTk1NThEMDEqDQorWDQwNDcxOFkzMTk0NjhEMDEqDQorWDQwNDgwOFkzMTkzOTFEMDEqDQorWDQwNDkwOFkzMTkzMzBEMDEqDQorWDQwNTAxOFkzMTkyODVEMDEqDQorWDQwNTEzMlkzMTkyNTdEMDEqDQorWDQwNTI1MFkzMTkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjk4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyOTg3NDNEMDEqDQorWDQwNTAxOFkyOTg3MTVEMDEqDQorWDQwNDkwOFkyOTg2NzBEMDEqDQorWDQwNDgwOFkyOTg2MDlEMDEqDQorWDQwNDcxOFkyOTg1MzJEMDEqDQorWDQwNDY0MVkyOTg0NDJEMDEqDQorWDQwNDU4MFkyOTgzNDJEMDEqDQorWDQwNDUzNVkyOTgyMzJEMDEqDQorWDQwNDUwN1kyOTgxMThEMDEqDQorWDQwNDQ5OFkyOTgwMDBEMDEqDQorWDQwNDUwN1kyOTc4ODJEMDEqDQorWDQwNDUzNVkyOTc3NjhEMDEqDQorWDQwNDU4MFkyOTc2NThEMDEqDQorWDQwNDY0MVkyOTc1NThEMDEqDQorWDQwNDcxOFkyOTc0NjhEMDEqDQorWDQwNDgwOFkyOTczOTFEMDEqDQorWDQwNDkwOFkyOTczMzBEMDEqDQorWDQwNTAxOFkyOTcyODVEMDEqDQorWDQwNTEzMlkyOTcyNTdEMDEqDQorWDQwNTI1MFkyOTcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjkwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyOTA3NDNEMDEqDQorWDQwNTAxOFkyOTA3MTVEMDEqDQorWDQwNDkwOFkyOTA2NzBEMDEqDQorWDQwNDgwOFkyOTA2MDlEMDEqDQorWDQwNDcxOFkyOTA1MzJEMDEqDQorWDQwNDY0MVkyOTA0NDJEMDEqDQorWDQwNDU4MFkyOTAzNDJEMDEqDQorWDQwNDUzNVkyOTAyMzJEMDEqDQorWDQwNDUwN1kyOTAxMThEMDEqDQorWDQwNDQ5OFkyOTAwMDBEMDEqDQorWDQwNDUwN1kyODk4ODJEMDEqDQorWDQwNDUzNVkyODk3NjhEMDEqDQorWDQwNDU4MFkyODk2NThEMDEqDQorWDQwNDY0MVkyODk1NThEMDEqDQorWDQwNDcxOFkyODk0NjhEMDEqDQorWDQwNDgwOFkyODkzOTFEMDEqDQorWDQwNDkwOFkyODkzMzBEMDEqDQorWDQwNTAxOFkyODkyODVEMDEqDQorWDQwNTEzMlkyODkyNTdEMDEqDQorWDQwNTI1MFkyODkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjY4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyNjg3NDNEMDEqDQorWDQwNTAxOFkyNjg3MTVEMDEqDQorWDQwNDkwOFkyNjg2NzBEMDEqDQorWDQwNDgwOFkyNjg2MDlEMDEqDQorWDQwNDcxOFkyNjg1MzJEMDEqDQorWDQwNDY0MVkyNjg0NDJEMDEqDQorWDQwNDU4MFkyNjgzNDJEMDEqDQorWDQwNDUzNVkyNjgyMzJEMDEqDQorWDQwNDUwN1kyNjgxMThEMDEqDQorWDQwNDQ5OFkyNjgwMDBEMDEqDQorWDQwNDUwN1kyNjc4ODJEMDEqDQorWDQwNDUzNVkyNjc3NjhEMDEqDQorWDQwNDU4MFkyNjc2NThEMDEqDQorWDQwNDY0MVkyNjc1NThEMDEqDQorWDQwNDcxOFkyNjc0NjhEMDEqDQorWDQwNDgwOFkyNjczOTFEMDEqDQorWDQwNDkwOFkyNjczMzBEMDEqDQorWDQwNTAxOFkyNjcyODVEMDEqDQorWDQwNTEzMlkyNjcyNTdEMDEqDQorWDQwNTI1MFkyNjcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjYwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyNjA3NDNEMDEqDQorWDQwNTAxOFkyNjA3MTVEMDEqDQorWDQwNDkwOFkyNjA2NzBEMDEqDQorWDQwNDgwOFkyNjA2MDlEMDEqDQorWDQwNDcxOFkyNjA1MzJEMDEqDQorWDQwNDY0MVkyNjA0NDJEMDEqDQorWDQwNDU4MFkyNjAzNDJEMDEqDQorWDQwNDUzNVkyNjAyMzJEMDEqDQorWDQwNDUwN1kyNjAxMThEMDEqDQorWDQwNDQ5OFkyNjAwMDBEMDEqDQorWDQwNDUwN1kyNTk4ODJEMDEqDQorWDQwNDUzNVkyNTk3NjhEMDEqDQorWDQwNDU4MFkyNTk2NThEMDEqDQorWDQwNDY0MVkyNTk1NThEMDEqDQorWDQwNDcxOFkyNTk0NjhEMDEqDQorWDQwNDgwOFkyNTkzOTFEMDEqDQorWDQwNDkwOFkyNTkzMzBEMDEqDQorWDQwNTAxOFkyNTkyODVEMDEqDQorWDQwNTEzMlkyNTkyNTdEMDEqDQorWDQwNTI1MFkyNTkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjM4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyMzg3NDNEMDEqDQorWDQwNTAxOFkyMzg3MTVEMDEqDQorWDQwNDkwOFkyMzg2NzBEMDEqDQorWDQwNDgwOFkyMzg2MDlEMDEqDQorWDQwNDcxOFkyMzg1MzJEMDEqDQorWDQwNDY0MVkyMzg0NDJEMDEqDQorWDQwNDU4MFkyMzgzNDJEMDEqDQorWDQwNDUzNVkyMzgyMzJEMDEqDQorWDQwNDUwN1kyMzgxMThEMDEqDQorWDQwNDQ5OFkyMzgwMDBEMDEqDQorWDQwNDUwN1kyMzc4ODJEMDEqDQorWDQwNDUzNVkyMzc3NjhEMDEqDQorWDQwNDU4MFkyMzc2NThEMDEqDQorWDQwNDY0MVkyMzc1NThEMDEqDQorWDQwNDcxOFkyMzc0NjhEMDEqDQorWDQwNDgwOFkyMzczOTFEMDEqDQorWDQwNDkwOFkyMzczMzBEMDEqDQorWDQwNTAxOFkyMzcyODVEMDEqDQorWDQwNTEzMlkyMzcyNTdEMDEqDQorWDQwNTI1MFkyMzcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjMwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyMzA3NDNEMDEqDQorWDQwNTAxOFkyMzA3MTVEMDEqDQorWDQwNDkwOFkyMzA2NzBEMDEqDQorWDQwNDgwOFkyMzA2MDlEMDEqDQorWDQwNDcxOFkyMzA1MzJEMDEqDQorWDQwNDY0MVkyMzA0NDJEMDEqDQorWDQwNDU4MFkyMzAzNDJEMDEqDQorWDQwNDUzNVkyMzAyMzJEMDEqDQorWDQwNDUwN1kyMzAxMThEMDEqDQorWDQwNDQ5OFkyMzAwMDBEMDEqDQorWDQwNDUwN1kyMjk4ODJEMDEqDQorWDQwNDUzNVkyMjk3NjhEMDEqDQorWDQwNDU4MFkyMjk2NThEMDEqDQorWDQwNDY0MVkyMjk1NThEMDEqDQorWDQwNDcxOFkyMjk0NjhEMDEqDQorWDQwNDgwOFkyMjkzOTFEMDEqDQorWDQwNDkwOFkyMjkzMzBEMDEqDQorWDQwNTAxOFkyMjkyODVEMDEqDQorWDQwNTEzMlkyMjkyNTdEMDEqDQorWDQwNTI1MFkyMjkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjA4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyMDg3NDNEMDEqDQorWDQwNTAxOFkyMDg3MTVEMDEqDQorWDQwNDkwOFkyMDg2NzBEMDEqDQorWDQwNDgwOFkyMDg2MDlEMDEqDQorWDQwNDcxOFkyMDg1MzJEMDEqDQorWDQwNDY0MVkyMDg0NDJEMDEqDQorWDQwNDU4MFkyMDgzNDJEMDEqDQorWDQwNDUzNVkyMDgyMzJEMDEqDQorWDQwNDUwN1kyMDgxMThEMDEqDQorWDQwNDQ5OFkyMDgwMDBEMDEqDQorWDQwNDUwN1kyMDc4ODJEMDEqDQorWDQwNDUzNVkyMDc3NjhEMDEqDQorWDQwNDU4MFkyMDc2NThEMDEqDQorWDQwNDY0MVkyMDc1NThEMDEqDQorWDQwNDcxOFkyMDc0NjhEMDEqDQorWDQwNDgwOFkyMDczOTFEMDEqDQorWDQwNDkwOFkyMDczMzBEMDEqDQorWDQwNTAxOFkyMDcyODVEMDEqDQorWDQwNTEzMlkyMDcyNTdEMDEqDQorWDQwNTI1MFkyMDcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMjAwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkyMDA3NDNEMDEqDQorWDQwNTAxOFkyMDA3MTVEMDEqDQorWDQwNDkwOFkyMDA2NzBEMDEqDQorWDQwNDgwOFkyMDA2MDlEMDEqDQorWDQwNDcxOFkyMDA1MzJEMDEqDQorWDQwNDY0MVkyMDA0NDJEMDEqDQorWDQwNDU4MFkyMDAzNDJEMDEqDQorWDQwNDUzNVkyMDAyMzJEMDEqDQorWDQwNDUwN1kyMDAxMThEMDEqDQorWDQwNDQ5OFkyMDAwMDBEMDEqDQorWDQwNDUwN1kxOTk4ODJEMDEqDQorWDQwNDUzNVkxOTk3NjhEMDEqDQorWDQwNDU4MFkxOTk2NThEMDEqDQorWDQwNDY0MVkxOTk1NThEMDEqDQorWDQwNDcxOFkxOTk0NjhEMDEqDQorWDQwNDgwOFkxOTkzOTFEMDEqDQorWDQwNDkwOFkxOTkzMzBEMDEqDQorWDQwNTAxOFkxOTkyODVEMDEqDQorWDQwNTEzMlkxOTkyNTdEMDEqDQorWDQwNTI1MFkxOTkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMTc4NzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkxNzg3NDNEMDEqDQorWDQwNTAxOFkxNzg3MTVEMDEqDQorWDQwNDkwOFkxNzg2NzBEMDEqDQorWDQwNDgwOFkxNzg2MDlEMDEqDQorWDQwNDcxOFkxNzg1MzJEMDEqDQorWDQwNDY0MVkxNzg0NDJEMDEqDQorWDQwNDU4MFkxNzgzNDJEMDEqDQorWDQwNDUzNVkxNzgyMzJEMDEqDQorWDQwNDUwN1kxNzgxMThEMDEqDQorWDQwNDQ5OFkxNzgwMDBEMDEqDQorWDQwNDUwN1kxNzc4ODJEMDEqDQorWDQwNDUzNVkxNzc3NjhEMDEqDQorWDQwNDU4MFkxNzc2NThEMDEqDQorWDQwNDY0MVkxNzc1NThEMDEqDQorWDQwNDcxOFkxNzc0NjhEMDEqDQorWDQwNDgwOFkxNzczOTFEMDEqDQorWDQwNDkwOFkxNzczMzBEMDEqDQorWDQwNTAxOFkxNzcyODVEMDEqDQorWDQwNTEzMlkxNzcyNTdEMDEqDQorWDQwNTI1MFkxNzcyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMTcwNzUwRDAxKg0KK1g0MDUyNTBEMDEqDQorWDQwNTEzMlkxNzA3NDNEMDEqDQorWDQwNTAxOFkxNzA3MTVEMDEqDQorWDQwNDkwOFkxNzA2NzBEMDEqDQorWDQwNDgwOFkxNzA2MDlEMDEqDQorWDQwNDcxOFkxNzA1MzJEMDEqDQorWDQwNDY0MVkxNzA0NDJEMDEqDQorWDQwNDU4MFkxNzAzNDJEMDEqDQorWDQwNDUzNVkxNzAyMzJEMDEqDQorWDQwNDUwN1kxNzAxMThEMDEqDQorWDQwNDQ5OFkxNzAwMDBEMDEqDQorWDQwNDUwN1kxNjk4ODJEMDEqDQorWDQwNDUzNVkxNjk3NjhEMDEqDQorWDQwNDU4MFkxNjk2NThEMDEqDQorWDQwNDY0MVkxNjk1NThEMDEqDQorWDQwNDcxOFkxNjk0NjhEMDEqDQorWDQwNDgwOFkxNjkzOTFEMDEqDQorWDQwNDkwOFkxNjkzMzBEMDEqDQorWDQwNTAxOFkxNjkyODVEMDEqDQorWDQwNTEzMlkxNjkyNTdEMDEqDQorWDQwNTI1MFkxNjkyNTBEMDEqDQorWDQwNzAwMEQwMSoNCitZMTU5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQwMzAwMFkzODY1MDJEMDIqWDQwMjg4MlkzODY0OTNEMDEqDQorWDQwMjc2OFkzODY0NjVEMDEqDQorWDQwMjY1OFkzODY0MjBEMDEqDQorWDQwMjU1OFkzODYzNTlEMDEqDQorWDQwMjQ2OFkzODYyODJEMDEqDQorWDQwMjM5NlkzODYxOTdEMDEqDQorWDQwMjQ0MVkzOTcwMDBEMDEqDQorWDQwMzAwMEQwMSoNCitZMzg2NTAyRDAxKg0KK0czNyoNCitHMzYqDQorWTM1NjUwMkQwMipYNDAyODgyWTM1NjQ5M0QwMSoNCitYNDAyNzY4WTM1NjQ2NUQwMSoNCitYNDAyNjU4WTM1NjQyMEQwMSoNCitYNDAyNTU4WTM1NjM1OUQwMSoNCitYNDAyNDY4WTM1NjI4MkQwMSoNCitYNDAyMzkxWTM1NjE5MkQwMSoNCitYNDAyMzMwWTM1NjA5MkQwMSoNCitYNDAyMjg1WTM1NTk4MkQwMSoNCitYNDAyMjY4WTM1NTkxNUQwMSoNCitYNDAyMzc3WTM4MTgzMUQwMSoNCitYNDAyMzkxWTM4MTgwOEQwMSoNCitYNDAyNDY4WTM4MTcxOEQwMSoNCitYNDAyNTU4WTM4MTY0MUQwMSoNCitYNDAyNjU4WTM4MTU4MEQwMSoNCitYNDAyNzY4WTM4MTUzNUQwMSoNCitYNDAyODgyWTM4MTUwN0QwMSoNCitYNDAzMDAwWTM4MTQ5OEQwMSoNCitZMzU2NTAyRDAxKg0KK0czNyoNCitHMzYqDQorWTE5NTEzOUQwMipYNDAyOTQ0WTE5NTI3NUQwMSoNCitYNDAyNzEzWTE5NTY1MUQwMSoNCitYNDAyNDI3WTE5NTk4NkQwMSoNCitYNDAyMDkyWTE5NjI3MkQwMSoNCitYNDAxNzE2WTE5NjUwM0QwMSoNCitYNDAxNTk5WTE5NjU1MUQwMSoNCitYNDAyMjUzWTM1MjIwM0QwMSoNCitYNDAyMjU3WTM1MjEzMkQwMSoNCitYNDAyMjg1WTM1MjAxOEQwMSoNCitYNDAyMzMwWTM1MTkwOEQwMSoNCitYNDAyMzkxWTM1MTgwOEQwMSoNCitYNDAyNDY4WTM1MTcxOEQwMSoNCitYNDAyNTU4WTM1MTY0MUQwMSoNCitYNDAyNjU4WTM1MTU4MEQwMSoNCitYNDAyNzY4WTM1MTUzNUQwMSoNCitYNDAyODgyWTM1MTUwN0QwMSoNCitYNDAzMDAwWTM1MTQ5OEQwMSoNCitZMzI2NTAyRDAxKg0KK1g0MDI4ODJZMzI2NDkzRDAxKg0KK1g0MDI3NjhZMzI2NDY1RDAxKg0KK1g0MDI2NThZMzI2NDIwRDAxKg0KK1g0MDI1NThZMzI2MzU5RDAxKg0KK1g0MDI0NjhZMzI2MjgyRDAxKg0KK1g0MDIzOTFZMzI2MTkyRDAxKg0KK1g0MDIzMzBZMzI2MDkyRDAxKg0KK1g0MDIyODVZMzI1OTgyRDAxKg0KK1g0MDIyNTdZMzI1ODY4RDAxKg0KK1g0MDIyNTBZMzI1NzUwRDAxKg0KK1kzMjIyNTBEMDEqDQorWDQwMjI1N1kzMjIxMzJEMDEqDQorWDQwMjI4NVkzMjIwMThEMDEqDQorWDQwMjMzMFkzMjE5MDhEMDEqDQorWDQwMjM5MVkzMjE4MDhEMDEqDQorWDQwMjQ2OFkzMjE3MThEMDEqDQorWDQwMjU1OFkzMjE2NDFEMDEqDQorWDQwMjY1OFkzMjE1ODBEMDEqDQorWDQwMjc2OFkzMjE1MzVEMDEqDQorWDQwMjg4MlkzMjE1MDdEMDEqDQorWDQwMzAwMFkzMjE0OThEMDEqDQorWTI5NjUwMkQwMSoNCitYNDAyODgyWTI5NjQ5M0QwMSoNCitYNDAyNzY4WTI5NjQ2NUQwMSoNCitYNDAyNjU4WTI5NjQyMEQwMSoNCitYNDAyNTU4WTI5NjM1OUQwMSoNCitYNDAyNDY4WTI5NjI4MkQwMSoNCitYNDAyMzkxWTI5NjE5MkQwMSoNCitYNDAyMzMwWTI5NjA5MkQwMSoNCitYNDAyMjg1WTI5NTk4MkQwMSoNCitYNDAyMjU3WTI5NTg2OEQwMSoNCitYNDAyMjUwWTI5NTc1MEQwMSoNCitZMjkyMjUwRDAxKg0KK1g0MDIyNTdZMjkyMTMyRDAxKg0KK1g0MDIyODVZMjkyMDE4RDAxKg0KK1g0MDIzMzBZMjkxOTA4RDAxKg0KK1g0MDIzOTFZMjkxODA4RDAxKg0KK1g0MDI0NjhZMjkxNzE4RDAxKg0KK1g0MDI1NThZMjkxNjQxRDAxKg0KK1g0MDI2NThZMjkxNTgwRDAxKg0KK1g0MDI3NjhZMjkxNTM1RDAxKg0KK1g0MDI4ODJZMjkxNTA3RDAxKg0KK1g0MDMwMDBZMjkxNDk4RDAxKg0KK1kyNjY1MDJEMDEqDQorWDQwMjg4MlkyNjY0OTNEMDEqDQorWDQwMjc2OFkyNjY0NjVEMDEqDQorWDQwMjY1OFkyNjY0MjBEMDEqDQorWDQwMjU1OFkyNjYzNTlEMDEqDQorWDQwMjQ2OFkyNjYyODJEMDEqDQorWDQwMjM5MVkyNjYxOTJEMDEqDQorWDQwMjMzMFkyNjYwOTJEMDEqDQorWDQwMjI4NVkyNjU5ODJEMDEqDQorWDQwMjI1N1kyNjU4NjhEMDEqDQorWDQwMjI1MFkyNjU3NTBEMDEqDQorWTI2MjI1MEQwMSoNCitYNDAyMjU3WTI2MjEzMkQwMSoNCitYNDAyMjg1WTI2MjAxOEQwMSoNCitYNDAyMzMwWTI2MTkwOEQwMSoNCitYNDAyMzkxWTI2MTgwOEQwMSoNCitYNDAyNDY4WTI2MTcxOEQwMSoNCitYNDAyNTU4WTI2MTY0MUQwMSoNCitYNDAyNjU4WTI2MTU4MEQwMSoNCitYNDAyNzY4WTI2MTUzNUQwMSoNCitYNDAyODgyWTI2MTUwN0QwMSoNCitYNDAzMDAwWTI2MTQ5OEQwMSoNCitZMjM2NTAyRDAxKg0KK1g0MDI4ODJZMjM2NDkzRDAxKg0KK1g0MDI3NjhZMjM2NDY1RDAxKg0KK1g0MDI2NThZMjM2NDIwRDAxKg0KK1g0MDI1NThZMjM2MzU5RDAxKg0KK1g0MDI0NjhZMjM2MjgyRDAxKg0KK1g0MDIzOTFZMjM2MTkyRDAxKg0KK1g0MDIzMzBZMjM2MDkyRDAxKg0KK1g0MDIyODVZMjM1OTgyRDAxKg0KK1g0MDIyNTdZMjM1ODY4RDAxKg0KK1g0MDIyNTBZMjM1NzUwRDAxKg0KK1kyMzIyNTBEMDEqDQorWDQwMjI1N1kyMzIxMzJEMDEqDQorWDQwMjI4NVkyMzIwMThEMDEqDQorWDQwMjMzMFkyMzE5MDhEMDEqDQorWDQwMjM5MVkyMzE4MDhEMDEqDQorWDQwMjQ2OFkyMzE3MThEMDEqDQorWDQwMjU1OFkyMzE2NDFEMDEqDQorWDQwMjY1OFkyMzE1ODBEMDEqDQorWDQwMjc2OFkyMzE1MzVEMDEqDQorWDQwMjg4MlkyMzE1MDdEMDEqDQorWDQwMzAwMFkyMzE0OThEMDEqDQorWTIwNjUwMkQwMSoNCitYNDAyODgyWTIwNjQ5M0QwMSoNCitYNDAyNzY4WTIwNjQ2NUQwMSoNCitYNDAyNjU4WTIwNjQyMEQwMSoNCitYNDAyNTU4WTIwNjM1OUQwMSoNCitYNDAyNDY4WTIwNjI4MkQwMSoNCitYNDAyMzkxWTIwNjE5MkQwMSoNCitYNDAyMzMwWTIwNjA5MkQwMSoNCitYNDAyMjg1WTIwNTk4MkQwMSoNCitYNDAyMjU3WTIwNTg2OEQwMSoNCitYNDAyMjUwWTIwNTc1MEQwMSoNCitZMjAyMjUwRDAxKg0KK1g0MDIyNTdZMjAyMTMyRDAxKg0KK1g0MDIyODVZMjAyMDE4RDAxKg0KK1g0MDIzMzBZMjAxOTA4RDAxKg0KK1g0MDIzOTFZMjAxODA4RDAxKg0KK1g0MDI0NjhZMjAxNzE4RDAxKg0KK1g0MDI1NThZMjAxNjQxRDAxKg0KK1g0MDI2NThZMjAxNTgwRDAxKg0KK1g0MDI3NjhZMjAxNTM1RDAxKg0KK1g0MDI4ODJZMjAxNTA3RDAxKg0KK1g0MDMwMDBZMjAxNDk4RDAxKg0KK1kxOTUxMzlEMDEqDQorRzM3Kg0KK0czNioNCitZMTkwMTM5RDAyKlg0MDI5NDRZMTkwMjc1RDAxKg0KK1g0MDI3MTNZMTkwNjUxRDAxKg0KK1g0MDI0MjdZMTkwOTg2RDAxKg0KK1g0MDIwOTJZMTkxMjcyRDAxKg0KK1g0MDE3MjBZMTkxNTAwRDAxKg0KK1g0MDIwOTJZMTkxNzI4RDAxKg0KK1g0MDI0MjdZMTkyMDE0RDAxKg0KK1g0MDI3MTNZMTkyMzQ5RDAxKg0KK1g0MDI5NDRZMTkyNzI1RDAxKg0KK1g0MDMwMDBZMTkyODYxRDAxKg0KK1kxOTAxMzlEMDEqDQorRzM3Kg0KK0czNioNCitZMTU5MDAwRDAyKlg0MDE0NDFEMDEqDQorWDQwMTU1NlkxODY0MzFEMDEqDQorWDQwMTcxNlkxODY0OTdEMDEqDQorWDQwMjA5MlkxODY3MjhEMDEqDQorWDQwMjQyN1kxODcwMTREMDEqDQorWDQwMjcxM1kxODczNDlEMDEqDQorWDQwMjk0NFkxODc3MjVEMDEqDQorWDQwMzAwMFkxODc4NjFEMDEqDQorWTE3NjUwMkQwMSoNCitYNDAyODgyWTE3NjQ5M0QwMSoNCitYNDAyNzY4WTE3NjQ2NUQwMSoNCitYNDAyNjU4WTE3NjQyMEQwMSoNCitYNDAyNTU4WTE3NjM1OUQwMSoNCitYNDAyNDY4WTE3NjI4MkQwMSoNCitYNDAyMzkxWTE3NjE5MkQwMSoNCitYNDAyMzMwWTE3NjA5MkQwMSoNCitYNDAyMjg1WTE3NTk4MkQwMSoNCitYNDAyMjU3WTE3NTg2OEQwMSoNCitYNDAyMjUwWTE3NTc1MEQwMSoNCitZMTcyMjUwRDAxKg0KK1g0MDIyNTdZMTcyMTMyRDAxKg0KK1g0MDIyODVZMTcyMDE4RDAxKg0KK1g0MDIzMzBZMTcxOTA4RDAxKg0KK1g0MDIzOTFZMTcxODA4RDAxKg0KK1g0MDI0NjhZMTcxNzE4RDAxKg0KK1g0MDI1NThZMTcxNjQxRDAxKg0KK1g0MDI2NThZMTcxNTgwRDAxKg0KK1g0MDI3NjhZMTcxNTM1RDAxKg0KK1g0MDI4ODJZMTcxNTA3RDAxKg0KK1g0MDMwMDBZMTcxNDk4RDAxKg0KK1kxNTkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDM0NDQ2WTM5MDAwRDAyKlgzOTU0MzhEMDEqDQorWTU4NDk5RDAxKg0KK1gzOTU1MDJZNTg1MzhEMDEqDQorWDM5NTcxOFk1ODcyMkQwMSoNCitYMzk1OTAyWTU4OTM4RDAxKg0KK1gzOTYwNTBZNTkxNzlEMDEqDQorWDM5NjE1OFk1OTQ0MUQwMSoNCitYMzk2MjI0WTU5NzE3RDAxKg0KK1gzOTYyNDFZNTk5OTlEMDEqDQorWDM5NjIyNFk2MDI4MUQwMSoNCitYMzk2MTU4WTYwNTU3RDAxKg0KK1gzOTYwNTBZNjA4MTlEMDEqDQorWDM5NTkwMlk2MTA2MEQwMSoNCitYMzk1NzE4WTYxMjc2RDAxKg0KK1gzOTU1MDJZNjE0NjBEMDEqDQorWDM5NTQzOFk2MTQ5OUQwMSoNCitZNjUxOTREMDEqDQorWDM5NTQ0MVk2NTE5M0QwMSoNCitYMzk1NzIzWTY1MjE2RDAxKg0KK1gzOTU5OTlZNjUyODJEMDEqDQorWDM5NjI2MVk2NTM5MEQwMSoNCitYMzk2NTAyWTY1NTM4RDAxKg0KK1gzOTY3MThZNjU3MjJEMDEqDQorWDM5NjkwMlk2NTkzOEQwMSoNCitYMzk3MDUwWTY2MTc5RDAxKg0KK1gzOTcxNThZNjY0NDFEMDEqDQorWDM5NzIyNFk2NjcxN0QwMSoNCitYMzk3MjQxWTY2OTk5RDAxKg0KK1gzOTcyMjRZNjcyODFEMDEqDQorWDM5NzE1OFk2NzU1N0QwMSoNCitYMzk3MDUwWTY3ODE5RDAxKg0KK1gzOTY5MDJZNjgwNjBEMDEqDQorWDM5NjcxOFk2ODI3NkQwMSoNCitYMzk2NTAyWTY4NDYwRDAxKg0KK1gzOTYyNjFZNjg2MDhEMDEqDQorWDM5NTk5OVk2ODcxNkQwMSoNCitYMzk1NzIzWTY4NzgyRDAxKg0KK1gzOTU0NDFZNjg4MDVEMDEqDQorWDM5NTQzOFk2ODgwNEQwMSoNCitZMTMyMDAwRDAxKg0KK1g0MDc5NDFEMDEqDQorWTcwMDAwRDAxKg0KK1g0MzQ0NDZEMDEqDQorWTU4MzA1RDAxKg0KK1g0MzQxNjdZNTgyODNEMDEqDQorWDQzMzg5MVk1ODIxN0QwMSoNCitYNDMzNjI5WTU4MTA5RDAxKg0KK1g0MzMzODhZNTc5NjFEMDEqDQorWDQzMzE3Mlk1Nzc3N0QwMSoNCitYNDMyOTg4WTU3NTYxRDAxKg0KK1g0MzI4NDBZNTczMjBEMDEqDQorWDQzMjczMlk1NzA1OEQwMSoNCitYNDMyNjY2WTU2NzgyRDAxKg0KK1g0MzI2NDNZNTY1MDBEMDEqDQorWDQzMjY2Nlk1NjIxOEQwMSoNCitYNDMyNzMyWTU1OTQyRDAxKg0KK1g0MzI4NDBZNTU2ODBEMDEqDQorWDQzMjk4OFk1NTQzOUQwMSoNCitYNDMzMTcyWTU1MjIzRDAxKg0KK1g0MzMzODhZNTUwMzlEMDEqDQorWDQzMzYyOVk1NDg5MUQwMSoNCitYNDMzODkxWTU0NzgzRDAxKg0KK1g0MzQxNjdZNTQ3MTdEMDEqDQorWDQzNDQ0Nlk1NDY5NUQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzk1NDM4RDAyKlgzOTE0MzhEMDEqDQorWTUyNTA2RDAxKg0KK1gzOTE0ODBZNTI0MzhEMDEqDQorWDM5MTY2NFk1MjIyMkQwMSoNCitYMzkxODgwWTUyMDM4RDAxKg0KK1gzOTIxMjFZNTE4OTBEMDEqDQorWDM5MjM4M1k1MTc4MkQwMSoNCitYMzkyNjU5WTUxNzE2RDAxKg0KK1gzOTI5NDFZNTE2OTNEMDEqDQorWDM5MzIyM1k1MTcxNkQwMSoNCitYMzkzNDk5WTUxNzgyRDAxKg0KK1gzOTM3NjFZNTE4OTBEMDEqDQorWDM5NDAwMlk1MjAzOEQwMSoNCitYMzk0MjE4WTUyMjIyRDAxKg0KK1gzOTQ0MDJZNTI0MzhEMDEqDQorWDM5NDU1MFk1MjY3OUQwMSoNCitYMzk0NjU4WTUyOTQxRDAxKg0KK1gzOTQ3MjRZNTMyMTdEMDEqDQorWDM5NDc0MVk1MzQ5OUQwMSoNCitYMzk0NzI0WTUzNzgxRDAxKg0KK1gzOTQ2NThZNTQwNTdEMDEqDQorWDM5NDU1MFk1NDMxOUQwMSoNCitYMzk0NDAyWTU0NTYwRDAxKg0KK1gzOTQyMThZNTQ3NzZEMDEqDQorWDM5NDAwMlk1NDk2MEQwMSoNCitYMzkzNzYxWTU1MTA4RDAxKg0KK1gzOTM0OTlZNTUyMTZEMDEqDQorWDM5MzIyM1k1NTI4MkQwMSoNCitYMzkyOTQxWTU1MzA1RDAxKg0KK1gzOTI2NTlZNTUyODJEMDEqDQorWDM5MjM4M1k1NTIxNkQwMSoNCitYMzkyMTIxWTU1MTA4RDAxKg0KK1gzOTE4ODBZNTQ5NjBEMDEqDQorWDM5MTY2NFk1NDc3NkQwMSoNCitYMzkxNDgwWTU0NTYwRDAxKg0KK1gzOTE0MzhZNTQ0OTJEMDEqDQorWTcyNzY5RDAxKg0KK1gzOTE2NTlZNzI3MTZEMDEqDQorWDM5MTk0MVk3MjY5M0QwMSoNCitYMzkyMjIzWTcyNzE2RDAxKg0KK1gzOTI0OTlZNzI3ODJEMDEqDQorWDM5Mjc2MVk3Mjg5MEQwMSoNCitYMzkzMDAyWTczMDM4RDAxKg0KK1gzOTMyMThZNzMyMjJEMDEqDQorWDM5MzQwMlk3MzQzOEQwMSoNCitYMzkzNTUwWTczNjc5RDAxKg0KK1gzOTM2NThZNzM5NDFEMDEqDQorWDM5MzcyNFk3NDIxN0QwMSoNCitYMzkzNzQxWTc0NDk5RDAxKg0KK1gzOTM3MjRZNzQ3ODFEMDEqDQorWDM5MzY1OFk3NTA1N0QwMSoNCitYMzkzNTUwWTc1MzE5RDAxKg0KK1gzOTM0MDJZNzU1NjBEMDEqDQorWDM5MzIxOFk3NTc3NkQwMSoNCitYMzkzMDAyWTc1OTYwRDAxKg0KK1gzOTI3NjFZNzYxMDhEMDEqDQorWDM5MjQ5OVk3NjIxNkQwMSoNCitYMzkyMjIzWTc2MjgyRDAxKg0KK1gzOTE5NDFZNzYzMDVEMDEqDQorWDM5MTY1OVk3NjI4MkQwMSoNCitYMzkxNDM4WTc2MjI5RDAxKg0KK1k3ODE5NEQwMSoNCitYMzkxNDQxWTc4MTkzRDAxKg0KK1gzOTE3MjNZNzgyMTZEMDEqDQorWDM5MTk5OVk3ODI4MkQwMSoNCitYMzkyMjYxWTc4MzkwRDAxKg0KK1gzOTI1MDJZNzg1MzhEMDEqDQorWDM5MjcxOFk3ODcyMkQwMSoNCitYMzkyOTAyWTc4OTM4RDAxKg0KK1gzOTMwNTBZNzkxNzlEMDEqDQorWDM5MzE1OFk3OTQ0MUQwMSoNCitYMzkzMjI0WTc5NzE3RDAxKg0KK1gzOTMyNDFZNzk5OTlEMDEqDQorWDM5MzIyNFk4MDI4MUQwMSoNCitYMzkzMTU4WTgwNTU3RDAxKg0KK1gzOTMwNTBZODA4MTlEMDEqDQorWDM5MjkwMlk4MTA2MEQwMSoNCitYMzkyNzE4WTgxMjc2RDAxKg0KK1gzOTI1MDJZODE0NjBEMDEqDQorWDM5MjI2MVk4MTYwOEQwMSoNCitYMzkxOTk5WTgxNzE2RDAxKg0KK1gzOTE3MjNZODE3ODJEMDEqDQorWDM5MTQ0MVk4MTgwNUQwMSoNCitYMzkxNDM4WTgxODA0RDAxKg0KK1k4MjY5NEQwMSoNCitYMzkxNDQxWTgyNjkzRDAxKg0KK1gzOTE3MjNZODI3MTZEMDEqDQorWDM5MTk5OVk4Mjc4MkQwMSoNCitYMzkyMjYxWTgyODkwRDAxKg0KK1gzOTI1MDJZODMwMzhEMDEqDQorWDM5MjcxOFk4MzIyMkQwMSoNCitYMzkyOTAyWTgzNDM4RDAxKg0KK1gzOTMwNTBZODM2NzlEMDEqDQorWDM5MzE1OFk4Mzk0MUQwMSoNCitYMzkzMjI0WTg0MjE3RDAxKg0KK1gzOTMyNDFZODQ0OTlEMDEqDQorWDM5MzIyNFk4NDc4MUQwMSoNCitYMzkzMTU4WTg1MDU3RDAxKg0KK1gzOTMwNTBZODUzMTlEMDEqDQorWDM5MjkwMlk4NTU2MEQwMSoNCitYMzkyNzE4WTg1Nzc2RDAxKg0KK1gzOTI1MDJZODU5NjBEMDEqDQorWDM5MjI2MVk4NjEwOEQwMSoNCitYMzkxOTk5WTg2MjE2RDAxKg0KK1gzOTE3MjNZODYyODJEMDEqDQorWDM5MTQ0MVk4NjMwNUQwMSoNCitYMzkxNDM4WTg2MzA0RDAxKg0KK1kxMzIwMDBEMDEqDQorWDM5NTQzOEQwMSoNCitZNjg4MDREMDEqDQorWDM5NTE1OVk2ODc4MkQwMSoNCitYMzk0ODgzWTY4NzE2RDAxKg0KK1gzOTQ2MjFZNjg2MDhEMDEqDQorWDM5NDM4MFk2ODQ2MEQwMSoNCitYMzk0MTY0WTY4Mjc2RDAxKg0KK1gzOTM5ODBZNjgwNjBEMDEqDQorWDM5MzgzMlk2NzgxOUQwMSoNCitYMzkzNzI0WTY3NTU3RDAxKg0KK1gzOTM2NThZNjcyODFEMDEqDQorWDM5MzYzNVk2Njk5OUQwMSoNCitYMzkzNjU4WTY2NzE3RDAxKg0KK1gzOTM3MjRZNjY0NDFEMDEqDQorWDM5MzgzMlk2NjE3OUQwMSoNCitYMzkzOTgwWTY1OTM4RDAxKg0KK1gzOTQxNjRZNjU3MjJEMDEqDQorWDM5NDM4MFk2NTUzOEQwMSoNCitYMzk0NjIxWTY1MzkwRDAxKg0KK1gzOTQ4ODNZNjUyODJEMDEqDQorWDM5NTE1OVk2NTIxNkQwMSoNCitYMzk1NDM4WTY1MTk0RDAxKg0KK1k2MTQ5OUQwMSoNCitYMzk1MjYxWTYxNjA4RDAxKg0KK1gzOTQ5OTlZNjE3MTZEMDEqDQorWDM5NDcyM1k2MTc4MkQwMSoNCitYMzk0NDQxWTYxODA1RDAxKg0KK1gzOTQxNTlZNjE3ODJEMDEqDQorWDM5Mzg4M1k2MTcxNkQwMSoNCitYMzkzNjIxWTYxNjA4RDAxKg0KK1gzOTMzODBZNjE0NjBEMDEqDQorWDM5MzE2NFk2MTI3NkQwMSoNCitYMzkyOTgwWTYxMDYwRDAxKg0KK1gzOTI4MzJZNjA4MTlEMDEqDQorWDM5MjcyNFk2MDU1N0QwMSoNCitYMzkyNjU4WTYwMjgxRDAxKg0KK1gzOTI2MzVZNTk5OTlEMDEqDQorWDM5MjY1OFk1OTcxN0QwMSoNCitYMzkyNzI0WTU5NDQxRDAxKg0KK1gzOTI4MzJZNTkxNzlEMDEqDQorWDM5Mjk4MFk1ODkzOEQwMSoNCitYMzkzMTY0WTU4NzIyRDAxKg0KK1gzOTMzODBZNTg1MzhEMDEqDQorWDM5MzYyMVk1ODM5MEQwMSoNCitYMzkzODgzWTU4MjgyRDAxKg0KK1gzOTQxNTlZNTgyMTZEMDEqDQorWDM5NDQ0MVk1ODE5M0QwMSoNCitYMzk0NzIzWTU4MjE2RDAxKg0KK1gzOTQ5OTlZNTgyODJEMDEqDQorWDM5NTI2MVk1ODM5MEQwMSoNCitYMzk1NDM4WTU4NDk5RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzOTE0MzhEMDIqWDM4NzkzOEQwMSoNCitZOTE2OTREMDEqDQorWDM4Nzk0MVk5MTY5M0QwMSoNCitYMzg4MjIzWTkxNzE2RDAxKg0KK1gzODg0OTlZOTE3ODJEMDEqDQorWDM4ODc2MVk5MTg5MEQwMSoNCitYMzg5MDAyWTkyMDM4RDAxKg0KK1gzODkyMThZOTIyMjJEMDEqDQorWDM4OTQwMlk5MjQzOEQwMSoNCitYMzg5NTUwWTkyNjc5RDAxKg0KK1gzODk2NThZOTI5NDFEMDEqDQorWDM4OTcyNFk5MzIxN0QwMSoNCitYMzg5NzQxWTkzNDk5RDAxKg0KK1gzODk3MjRZOTM3ODFEMDEqDQorWDM4OTY1OFk5NDA1N0QwMSoNCitYMzg5NTUwWTk0MzE5RDAxKg0KK1gzODk0MDJZOTQ1NjBEMDEqDQorWDM4OTIxOFk5NDc3NkQwMSoNCitYMzg5MDAyWTk0OTYwRDAxKg0KK1gzODg3NjFZOTUxMDhEMDEqDQorWDM4ODQ5OVk5NTIxNkQwMSoNCitYMzg4MjIzWTk1MjgyRDAxKg0KK1gzODc5NDFZOTUzMDVEMDEqDQorWDM4NzkzOFk5NTMwNEQwMSoNCitZOTYxOTREMDEqDQorWDM4Nzk0MVk5NjE5M0QwMSoNCitYMzg4MjIzWTk2MjE2RDAxKg0KK1gzODg0OTlZOTYyODJEMDEqDQorWDM4ODc2MVk5NjM5MEQwMSoNCitYMzg5MDAyWTk2NTM4RDAxKg0KK1gzODkyMThZOTY3MjJEMDEqDQorWDM4OTQwMlk5NjkzOEQwMSoNCitYMzg5NTUwWTk3MTc5RDAxKg0KK1gzODk2NThZOTc0NDFEMDEqDQorWDM4OTcyNFk5NzcxN0QwMSoNCitYMzg5NzQxWTk3OTk5RDAxKg0KK1gzODk3MjRZOTgyODFEMDEqDQorWDM4OTY1OFk5ODU1N0QwMSoNCitYMzg5NTUwWTk4ODE5RDAxKg0KK1gzODk0MDJZOTkwNjBEMDEqDQorWDM4OTIxOFk5OTI3NkQwMSoNCitYMzg5MDAyWTk5NDYwRDAxKg0KK1gzODg3NjFZOTk2MDhEMDEqDQorWDM4ODQ5OVk5OTcxNkQwMSoNCitYMzg4MjIzWTk5NzgyRDAxKg0KK1gzODc5NDFZOTk4MDVEMDEqDQorWDM4NzkzOFk5OTgwNEQwMSoNCitZMTAyMTk0RDAxKg0KK1gzODc5NDFZMTAyMTkzRDAxKg0KK1gzODgyMjNZMTAyMjE2RDAxKg0KK1gzODg0OTlZMTAyMjgyRDAxKg0KK1gzODg3NjFZMTAyMzkwRDAxKg0KK1gzODkwMDJZMTAyNTM4RDAxKg0KK1gzODkyMThZMTAyNzIyRDAxKg0KK1gzODk0MDJZMTAyOTM4RDAxKg0KK1gzODk1NTBZMTAzMTc5RDAxKg0KK1gzODk2NThZMTAzNDQxRDAxKg0KK1gzODk3MjRZMTAzNzE3RDAxKg0KK1gzODk3NDFZMTAzOTk5RDAxKg0KK1gzODk3MjRZMTA0MjgxRDAxKg0KK1gzODk2NThZMTA0NTU3RDAxKg0KK1gzODk1NTBZMTA0ODE5RDAxKg0KK1gzODk0MDJZMTA1MDYwRDAxKg0KK1gzODkyMThZMTA1Mjc2RDAxKg0KK1gzODkwMDJZMTA1NDYwRDAxKg0KK1gzODg3NjFZMTA1NjA4RDAxKg0KK1gzODg0OTlZMTA1NzE2RDAxKg0KK1gzODgyMjNZMTA1NzgyRDAxKg0KK1gzODc5NDFZMTA1ODA1RDAxKg0KK1gzODc5MzhZMTA1ODA0RDAxKg0KK1kxMDgxOTREMDEqDQorWDM4Nzk0MVkxMDgxOTNEMDEqDQorWDM4ODIyM1kxMDgyMTZEMDEqDQorWDM4ODQ5OVkxMDgyODJEMDEqDQorWDM4ODc2MVkxMDgzOTBEMDEqDQorWDM4OTAwMlkxMDg1MzhEMDEqDQorWDM4OTIxOFkxMDg3MjJEMDEqDQorWDM4OTQwMlkxMDg5MzhEMDEqDQorWDM4OTU1MFkxMDkxNzlEMDEqDQorWDM4OTY1OFkxMDk0NDFEMDEqDQorWDM4OTcyNFkxMDk3MTdEMDEqDQorWDM4OTc0MVkxMDk5OTlEMDEqDQorWDM4OTcyNFkxMTAyODFEMDEqDQorWDM4OTY1OFkxMTA1NTdEMDEqDQorWDM4OTU1MFkxMTA4MTlEMDEqDQorWDM4OTQwMlkxMTEwNjBEMDEqDQorWDM4OTIxOFkxMTEyNzZEMDEqDQorWDM4OTAwMlkxMTE0NjBEMDEqDQorWDM4ODc2MVkxMTE2MDhEMDEqDQorWDM4ODQ5OVkxMTE3MTZEMDEqDQorWDM4ODIyM1kxMTE3ODJEMDEqDQorWDM4Nzk0MVkxMTE4MDVEMDEqDQorWDM4NzkzOFkxMTE4MDREMDEqDQorWTExNDE5NEQwMSoNCitYMzg3OTQxWTExNDE5M0QwMSoNCitYMzg4MjIzWTExNDIxNkQwMSoNCitYMzg4NDk5WTExNDI4MkQwMSoNCitYMzg4NzYxWTExNDM5MEQwMSoNCitYMzg5MDAyWTExNDUzOEQwMSoNCitYMzg5MjE4WTExNDcyMkQwMSoNCitYMzg5NDAyWTExNDkzOEQwMSoNCitYMzg5NTUwWTExNTE3OUQwMSoNCitYMzg5NjU4WTExNTQ0MUQwMSoNCitYMzg5NzI0WTExNTcxN0QwMSoNCitYMzg5NzQxWTExNTk5OUQwMSoNCitYMzg5NzI0WTExNjI4MUQwMSoNCitYMzg5NjU4WTExNjU1N0QwMSoNCitYMzg5NTUwWTExNjgxOUQwMSoNCitYMzg5NDAyWTExNzA2MEQwMSoNCitYMzg5MjE4WTExNzI3NkQwMSoNCitYMzg5MDAyWTExNzQ2MEQwMSoNCitYMzg4NzYxWTExNzYwOEQwMSoNCitYMzg4NDk5WTExNzcxNkQwMSoNCitYMzg4MjIzWTExNzc4MkQwMSoNCitYMzg3OTQxWTExNzgwNUQwMSoNCitYMzg3OTM4WTExNzgwNEQwMSoNCitZMTIwMTk0RDAxKg0KK1gzODc5NDFZMTIwMTkzRDAxKg0KK1gzODgyMjNZMTIwMjE2RDAxKg0KK1gzODg0OTlZMTIwMjgyRDAxKg0KK1gzODg3NjFZMTIwMzkwRDAxKg0KK1gzODkwMDJZMTIwNTM4RDAxKg0KK1gzODkyMThZMTIwNzIyRDAxKg0KK1gzODk0MDJZMTIwOTM4RDAxKg0KK1gzODk1NTBZMTIxMTc5RDAxKg0KK1gzODk2NThZMTIxNDQxRDAxKg0KK1gzODk3MjRZMTIxNzE3RDAxKg0KK1gzODk3NDFZMTIxOTk5RDAxKg0KK1gzODk3MjRZMTIyMjgxRDAxKg0KK1gzODk2NThZMTIyNTU3RDAxKg0KK1gzODk1NTBZMTIyODE5RDAxKg0KK1gzODk0MDJZMTIzMDYwRDAxKg0KK1gzODkyMThZMTIzMjc2RDAxKg0KK1gzODkwMDJZMTIzNDYwRDAxKg0KK1gzODg3NjFZMTIzNjA4RDAxKg0KK1gzODg0OTlZMTIzNzE2RDAxKg0KK1gzODgyMjNZMTIzNzgyRDAxKg0KK1gzODc5NDFZMTIzODA1RDAxKg0KK1gzODc5MzhZMTIzODA0RDAxKg0KK1kxMjYxOTREMDEqDQorWDM4Nzk0MVkxMjYxOTNEMDEqDQorWDM4ODIyM1kxMjYyMTZEMDEqDQorWDM4ODQ5OVkxMjYyODJEMDEqDQorWDM4ODc2MVkxMjYzOTBEMDEqDQorWDM4OTAwMlkxMjY1MzhEMDEqDQorWDM4OTIxOFkxMjY3MjJEMDEqDQorWDM4OTQwMlkxMjY5MzhEMDEqDQorWDM4OTU1MFkxMjcxNzlEMDEqDQorWDM4OTY1OFkxMjc0NDFEMDEqDQorWDM4OTcyNFkxMjc3MTdEMDEqDQorWDM4OTc0MVkxMjc5OTlEMDEqDQorWDM4OTcyNFkxMjgyODFEMDEqDQorWDM4OTY1OFkxMjg1NTdEMDEqDQorWDM4OTU1MFkxMjg4MTlEMDEqDQorWDM4OTQwMlkxMjkwNjBEMDEqDQorWDM4OTIxOFkxMjkyNzZEMDEqDQorWDM4OTAwMlkxMjk0NjBEMDEqDQorWDM4ODc2MVkxMjk2MDhEMDEqDQorWDM4ODQ5OVkxMjk3MTZEMDEqDQorWDM4ODIyM1kxMjk3ODJEMDEqDQorWDM4Nzk0MVkxMjk4MDVEMDEqDQorWDM4NzkzOFkxMjk4MDREMDEqDQorWTEzMjAwMEQwMSoNCitYMzkxNDM4RDAxKg0KK1k4NjMwNEQwMSoNCitYMzkxMTU5WTg2MjgyRDAxKg0KK1gzOTA4ODNZODYyMTZEMDEqDQorWDM5MDYyMVk4NjEwOEQwMSoNCitYMzkwMzgwWTg1OTYwRDAxKg0KK1gzOTAxNjRZODU3NzZEMDEqDQorWDM4OTk4MFk4NTU2MEQwMSoNCitYMzg5ODMyWTg1MzE5RDAxKg0KK1gzODk3MjRZODUwNTdEMDEqDQorWDM4OTY1OFk4NDc4MUQwMSoNCitYMzg5NjM1WTg0NDk5RDAxKg0KK1gzODk2NThZODQyMTdEMDEqDQorWDM4OTcyNFk4Mzk0MUQwMSoNCitYMzg5ODMyWTgzNjc5RDAxKg0KK1gzODk5ODBZODM0MzhEMDEqDQorWDM5MDE2NFk4MzIyMkQwMSoNCitYMzkwMzgwWTgzMDM4RDAxKg0KK1gzOTA2MjFZODI4OTBEMDEqDQorWDM5MDg4M1k4Mjc4MkQwMSoNCitYMzkxMTU5WTgyNzE2RDAxKg0KK1gzOTE0MzhZODI2OTREMDEqDQorWTgxODA0RDAxKg0KK1gzOTExNTlZODE3ODJEMDEqDQorWDM5MDg4M1k4MTcxNkQwMSoNCitYMzkwNjIxWTgxNjA4RDAxKg0KK1gzOTAzODBZODE0NjBEMDEqDQorWDM5MDE2NFk4MTI3NkQwMSoNCitYMzg5OTgwWTgxMDYwRDAxKg0KK1gzODk4MzJZODA4MTlEMDEqDQorWDM4OTcyNFk4MDU1N0QwMSoNCitYMzg5NjU4WTgwMjgxRDAxKg0KK1gzODk2MzVZNzk5OTlEMDEqDQorWDM4OTY1OFk3OTcxN0QwMSoNCitYMzg5NzI0WTc5NDQxRDAxKg0KK1gzODk4MzJZNzkxNzlEMDEqDQorWDM4OTk4MFk3ODkzOEQwMSoNCitYMzkwMTY0WTc4NzIyRDAxKg0KK1gzOTAzODBZNzg1MzhEMDEqDQorWDM5MDYyMVk3ODM5MEQwMSoNCitYMzkwODgzWTc4MjgyRDAxKg0KK1gzOTExNTlZNzgyMTZEMDEqDQorWDM5MTQzOFk3ODE5NEQwMSoNCitZNzYyMjlEMDEqDQorWDM5MTM4M1k3NjIxNkQwMSoNCitYMzkxMTIxWTc2MTA4RDAxKg0KK1gzOTA4ODBZNzU5NjBEMDEqDQorWDM5MDY2NFk3NTc3NkQwMSoNCitYMzkwNDgwWTc1NTYwRDAxKg0KK1gzOTAzMzJZNzUzMTlEMDEqDQorWDM5MDIyNFk3NTA1N0QwMSoNCitYMzkwMTU4WTc0NzgxRDAxKg0KK1gzOTAxMzVZNzQ0OTlEMDEqDQorWDM5MDE1OFk3NDIxN0QwMSoNCitYMzkwMjI0WTczOTQxRDAxKg0KK1gzOTAzMzJZNzM2NzlEMDEqDQorWDM5MDQ4MFk3MzQzOEQwMSoNCitYMzkwNjY0WTczMjIyRDAxKg0KK1gzOTA4ODBZNzMwMzhEMDEqDQorWDM5MTEyMVk3Mjg5MEQwMSoNCitYMzkxMzgzWTcyNzgyRDAxKg0KK1gzOTE0MzhZNzI3NjlEMDEqDQorWTU0NDkyRDAxKg0KK1gzOTEzMzJZNTQzMTlEMDEqDQorWDM5MTIyNFk1NDA1N0QwMSoNCitYMzkxMTU4WTUzNzgxRDAxKg0KK1gzOTExMzVZNTM0OTlEMDEqDQorWDM5MTE1OFk1MzIxN0QwMSoNCitYMzkxMjI0WTUyOTQxRDAxKg0KK1gzOTEzMzJZNTI2NzlEMDEqDQorWDM5MTQzOFk1MjUwNkQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg3OTM4RDAyKlgzNzQ5MzhEMDEqDQorWTQxNjk1RDAxKg0KK1gzNzQ5NDFZNDE2OTREMDEqDQorWDM3NTIyM1k0MTcxN0QwMSoNCitYMzc1NDk5WTQxNzgzRDAxKg0KK1gzNzU3NjFZNDE4OTFEMDEqDQorWDM3NjAwMlk0MjAzOUQwMSoNCitYMzc2MjE4WTQyMjIzRDAxKg0KK1gzNzY0MDJZNDI0MzlEMDEqDQorWDM3NjU1MFk0MjY4MEQwMSoNCitYMzc2NjU4WTQyOTQyRDAxKg0KK1gzNzY3MjRZNDMyMThEMDEqDQorWDM3Njc0MVk0MzUwMEQwMSoNCitYMzc2NzI0WTQzNzgyRDAxKg0KK1gzNzY2NThZNDQwNThEMDEqDQorWDM3NjU1MFk0NDMyMEQwMSoNCitYMzc2NDAyWTQ0NTYxRDAxKg0KK1gzNzYyMThZNDQ3NzdEMDEqDQorWDM3NjAwMlk0NDk2MUQwMSoNCitYMzc1NzYxWTQ1MTA5RDAxKg0KK1gzNzU0OTlZNDUyMTdEMDEqDQorWDM3NTM2Mlk0NTI1MEQwMSoNCitYMzc1NDk5WTQ1MjgzRDAxKg0KK1gzNzU3NjFZNDUzOTFEMDEqDQorWDM3NjAwMlk0NTUzOUQwMSoNCitYMzc2MjE4WTQ1NzIzRDAxKg0KK1gzNzY0MDJZNDU5MzlEMDEqDQorWDM3NjU1MFk0NjE4MEQwMSoNCitYMzc2NjU4WTQ2NDQyRDAxKg0KK1gzNzY3MjRZNDY3MThEMDEqDQorWDM3Njc0MVk0NzAwMEQwMSoNCitYMzc2NzI0WTQ3MjgyRDAxKg0KK1gzNzY2NThZNDc1NThEMDEqDQorWDM3NjU1MFk0NzgyMEQwMSoNCitYMzc2NDAyWTQ4MDYxRDAxKg0KK1gzNzYyMThZNDgyNzdEMDEqDQorWDM3NjAwMlk0ODQ2MUQwMSoNCitYMzc1NzYxWTQ4NjA5RDAxKg0KK1gzNzU0OTlZNDg3MTdEMDEqDQorWDM3NTIyM1k0ODc4M0QwMSoNCitYMzc0OTQxWTQ4ODA2RDAxKg0KK1gzNzQ5MzhZNDg4MDVEMDEqDQorWTEzMjAwMEQwMSoNCitYMzg3OTM4RDAxKg0KK1kxMjk4MDREMDEqDQorWDM4NzY1OVkxMjk3ODJEMDEqDQorWDM4NzM4M1kxMjk3MTZEMDEqDQorWDM4NzEyMVkxMjk2MDhEMDEqDQorWDM4Njg4MFkxMjk0NjBEMDEqDQorWDM4NjY2NFkxMjkyNzZEMDEqDQorWDM4NjQ4MFkxMjkwNjBEMDEqDQorWDM4NjMzMlkxMjg4MTlEMDEqDQorWDM4NjIyNFkxMjg1NTdEMDEqDQorWDM4NjE1OFkxMjgyODFEMDEqDQorWDM4NjEzNVkxMjc5OTlEMDEqDQorWDM4NjE1OFkxMjc3MTdEMDEqDQorWDM4NjIyNFkxMjc0NDFEMDEqDQorWDM4NjMzMlkxMjcxNzlEMDEqDQorWDM4NjQ4MFkxMjY5MzhEMDEqDQorWDM4NjY2NFkxMjY3MjJEMDEqDQorWDM4Njg4MFkxMjY1MzhEMDEqDQorWDM4NzEyMVkxMjYzOTBEMDEqDQorWDM4NzM4M1kxMjYyODJEMDEqDQorWDM4NzY1OVkxMjYyMTZEMDEqDQorWDM4NzkzOFkxMjYxOTREMDEqDQorWTEyMzgwNEQwMSoNCitYMzg3NjU5WTEyMzc4MkQwMSoNCitYMzg3MzgzWTEyMzcxNkQwMSoNCitYMzg3MTIxWTEyMzYwOEQwMSoNCitYMzg2ODgwWTEyMzQ2MEQwMSoNCitYMzg2NjY0WTEyMzI3NkQwMSoNCitYMzg2NDgwWTEyMzA2MEQwMSoNCitYMzg2MzMyWTEyMjgxOUQwMSoNCitYMzg2MjI0WTEyMjU1N0QwMSoNCitYMzg2MTU4WTEyMjI4MUQwMSoNCitYMzg2MTM1WTEyMTk5OUQwMSoNCitYMzg2MTU4WTEyMTcxN0QwMSoNCitYMzg2MjI0WTEyMTQ0MUQwMSoNCitYMzg2MzMyWTEyMTE3OUQwMSoNCitYMzg2NDgwWTEyMDkzOEQwMSoNCitYMzg2NjY0WTEyMDcyMkQwMSoNCitYMzg2ODgwWTEyMDUzOEQwMSoNCitYMzg3MTIxWTEyMDM5MEQwMSoNCitYMzg3MzgzWTEyMDI4MkQwMSoNCitYMzg3NjU5WTEyMDIxNkQwMSoNCitYMzg3OTM4WTEyMDE5NEQwMSoNCitZMTE3ODA0RDAxKg0KK1gzODc2NTlZMTE3NzgyRDAxKg0KK1gzODczODNZMTE3NzE2RDAxKg0KK1gzODcxMjFZMTE3NjA4RDAxKg0KK1gzODY4ODBZMTE3NDYwRDAxKg0KK1gzODY2NjRZMTE3Mjc2RDAxKg0KK1gzODY0ODBZMTE3MDYwRDAxKg0KK1gzODYzMzJZMTE2ODE5RDAxKg0KK1gzODYyMjRZMTE2NTU3RDAxKg0KK1gzODYxNThZMTE2MjgxRDAxKg0KK1gzODYxMzVZMTE1OTk5RDAxKg0KK1gzODYxNThZMTE1NzE3RDAxKg0KK1gzODYyMjRZMTE1NDQxRDAxKg0KK1gzODYzMzJZMTE1MTc5RDAxKg0KK1gzODY0ODBZMTE0OTM4RDAxKg0KK1gzODY2NjRZMTE0NzIyRDAxKg0KK1gzODY4ODBZMTE0NTM4RDAxKg0KK1gzODcxMjFZMTE0MzkwRDAxKg0KK1gzODczODNZMTE0MjgyRDAxKg0KK1gzODc2NTlZMTE0MjE2RDAxKg0KK1gzODc5MzhZMTE0MTk0RDAxKg0KK1kxMTE4MDREMDEqDQorWDM4NzY1OVkxMTE3ODJEMDEqDQorWDM4NzM4M1kxMTE3MTZEMDEqDQorWDM4NzEyMVkxMTE2MDhEMDEqDQorWDM4Njg4MFkxMTE0NjBEMDEqDQorWDM4NjY2NFkxMTEyNzZEMDEqDQorWDM4NjQ4MFkxMTEwNjBEMDEqDQorWDM4NjMzMlkxMTA4MTlEMDEqDQorWDM4NjIyNFkxMTA1NTdEMDEqDQorWDM4NjE1OFkxMTAyODFEMDEqDQorWDM4NjEzNVkxMDk5OTlEMDEqDQorWDM4NjE1OFkxMDk3MTdEMDEqDQorWDM4NjIyNFkxMDk0NDFEMDEqDQorWDM4NjMzMlkxMDkxNzlEMDEqDQorWDM4NjQ4MFkxMDg5MzhEMDEqDQorWDM4NjY2NFkxMDg3MjJEMDEqDQorWDM4Njg4MFkxMDg1MzhEMDEqDQorWDM4NzEyMVkxMDgzOTBEMDEqDQorWDM4NzM4M1kxMDgyODJEMDEqDQorWDM4NzY1OVkxMDgyMTZEMDEqDQorWDM4NzkzOFkxMDgxOTREMDEqDQorWTEwNTgwNEQwMSoNCitYMzg3NjU5WTEwNTc4MkQwMSoNCitYMzg3MzgzWTEwNTcxNkQwMSoNCitYMzg3MTIxWTEwNTYwOEQwMSoNCitYMzg2ODgwWTEwNTQ2MEQwMSoNCitYMzg2NjY0WTEwNTI3NkQwMSoNCitYMzg2NDgwWTEwNTA2MEQwMSoNCitYMzg2MzMyWTEwNDgxOUQwMSoNCitYMzg2MjI0WTEwNDU1N0QwMSoNCitYMzg2MTU4WTEwNDI4MUQwMSoNCitYMzg2MTM1WTEwMzk5OUQwMSoNCitYMzg2MTU4WTEwMzcxN0QwMSoNCitYMzg2MjI0WTEwMzQ0MUQwMSoNCitYMzg2MzMyWTEwMzE3OUQwMSoNCitYMzg2NDgwWTEwMjkzOEQwMSoNCitYMzg2NjY0WTEwMjcyMkQwMSoNCitYMzg2ODgwWTEwMjUzOEQwMSoNCitYMzg3MTIxWTEwMjM5MEQwMSoNCitYMzg3MzgzWTEwMjI4MkQwMSoNCitYMzg3NjU5WTEwMjIxNkQwMSoNCitYMzg3OTM4WTEwMjE5NEQwMSoNCitZOTk4MDREMDEqDQorWDM4NzY1OVk5OTc4MkQwMSoNCitYMzg3MzgzWTk5NzE2RDAxKg0KK1gzODcxMjFZOTk2MDhEMDEqDQorWDM4Njg4MFk5OTQ2MEQwMSoNCitYMzg2NjY0WTk5Mjc2RDAxKg0KK1gzODY0ODBZOTkwNjBEMDEqDQorWDM4NjMzMlk5ODgxOUQwMSoNCitYMzg2MjI0WTk4NTU3RDAxKg0KK1gzODYxNThZOTgyODFEMDEqDQorWDM4NjEzNVk5Nzk5OUQwMSoNCitYMzg2MTU4WTk3NzE3RDAxKg0KK1gzODYyMjRZOTc0NDFEMDEqDQorWDM4NjMzMlk5NzE3OUQwMSoNCitYMzg2NDgwWTk2OTM4RDAxKg0KK1gzODY2NjRZOTY3MjJEMDEqDQorWDM4Njg4MFk5NjUzOEQwMSoNCitYMzg3MTIxWTk2MzkwRDAxKg0KK1gzODczODNZOTYyODJEMDEqDQorWDM4NzY1OVk5NjIxNkQwMSoNCitYMzg3OTM4WTk2MTk0RDAxKg0KK1k5NTMwNEQwMSoNCitYMzg3NjU5WTk1MjgyRDAxKg0KK1gzODczODNZOTUyMTZEMDEqDQorWDM4NzEyMVk5NTEwOEQwMSoNCitYMzg2ODgwWTk0OTYwRDAxKg0KK1gzODY2NjRZOTQ3NzZEMDEqDQorWDM4NjQ4MFk5NDU2MEQwMSoNCitYMzg2MzMyWTk0MzE5RDAxKg0KK1gzODYyMjRZOTQwNTdEMDEqDQorWDM4NjE1OFk5Mzc4MUQwMSoNCitYMzg2MTM1WTkzNDk5RDAxKg0KK1gzODYxNThZOTMyMTdEMDEqDQorWDM4NjIyNFk5Mjk0MUQwMSoNCitYMzg2MzMyWTkyNjc5RDAxKg0KK1gzODY0ODBZOTI0MzhEMDEqDQorWDM4NjY2NFk5MjIyMkQwMSoNCitYMzg2ODgwWTkyMDM4RDAxKg0KK1gzODcxMjFZOTE4OTBEMDEqDQorWDM4NzM4M1k5MTc4MkQwMSoNCitYMzg3NjU5WTkxNzE2RDAxKg0KK1gzODc5MzhZOTE2OTREMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM3NDkzOEQwMipYMzY4OTM4RDAxKg0KK1k0MTY5NUQwMSoNCitYMzY4OTQxWTQxNjk0RDAxKg0KK1gzNjkyMjNZNDE3MTdEMDEqDQorWDM2OTQ5OVk0MTc4M0QwMSoNCitYMzY5NzYxWTQxODkxRDAxKg0KK1gzNzAwMDJZNDIwMzlEMDEqDQorWDM3MDIxOFk0MjIyM0QwMSoNCitYMzcwNDAyWTQyNDM5RDAxKg0KK1gzNzA1NTBZNDI2ODBEMDEqDQorWDM3MDY1OFk0Mjk0MkQwMSoNCitYMzcwNzI0WTQzMjE4RDAxKg0KK1gzNzA3NDFZNDM1MDBEMDEqDQorWDM3MDcyNFk0Mzc4MkQwMSoNCitYMzcwNjU4WTQ0MDU4RDAxKg0KK1gzNzA1NTBZNDQzMjBEMDEqDQorWDM3MDQwMlk0NDU2MUQwMSoNCitYMzcwMjE4WTQ0Nzc3RDAxKg0KK1gzNzAwMDJZNDQ5NjFEMDEqDQorWDM2OTc2MVk0NTEwOUQwMSoNCitYMzY5NDk5WTQ1MjE3RDAxKg0KK1gzNjkyMjNZNDUyODNEMDEqDQorWDM2ODk0MVk0NTMwNkQwMSoNCitYMzY4OTM4WTQ1MzA1RDAxKg0KK1k0NjY5NUQwMSoNCitYMzY4OTQxWTQ2Njk0RDAxKg0KK1gzNjkyMjNZNDY3MTdEMDEqDQorWDM2OTQ5OVk0Njc4M0QwMSoNCitYMzY5NzYxWTQ2ODkxRDAxKg0KK1gzNzAwMDJZNDcwMzlEMDEqDQorWDM3MDIxOFk0NzIyM0QwMSoNCitYMzcwNDAyWTQ3NDM5RDAxKg0KK1gzNzA1NTBZNDc2ODBEMDEqDQorWDM3MDY1OFk0Nzk0MkQwMSoNCitYMzcwNzI0WTQ4MjE4RDAxKg0KK1gzNzA3NDFZNDg1MDBEMDEqDQorWDM3MDcyNFk0ODc4MkQwMSoNCitYMzcwNjU4WTQ5MDU4RDAxKg0KK1gzNzA1NTBZNDkzMjBEMDEqDQorWDM3MDQwMlk0OTU2MUQwMSoNCitYMzcwMjE4WTQ5Nzc3RDAxKg0KK1gzNzAwMDJZNDk5NjFEMDEqDQorWDM2OTc2MVk1MDEwOUQwMSoNCitYMzY5NDk5WTUwMjE3RDAxKg0KK1gzNjkyMjNZNTAyODNEMDEqDQorWDM2ODk0MVk1MDMwNkQwMSoNCitYMzY4OTM4WTUwMzA1RDAxKg0KK1kxMzIwMDBEMDEqDQorWDM3NDkzOEQwMSoNCitZNDg4MDVEMDEqDQorWDM3NDY1OVk0ODc4M0QwMSoNCitYMzc0MzgzWTQ4NzE3RDAxKg0KK1gzNzQxMjFZNDg2MDlEMDEqDQorWDM3Mzg4MFk0ODQ2MUQwMSoNCitYMzczNjY0WTQ4Mjc3RDAxKg0KK1gzNzM0ODBZNDgwNjFEMDEqDQorWDM3MzMzMlk0NzgyMEQwMSoNCitYMzczMjI0WTQ3NTU4RDAxKg0KK1gzNzMxNThZNDcyODJEMDEqDQorWDM3MzEzNVk0NzAwMEQwMSoNCitYMzczMTU4WTQ2NzE4RDAxKg0KK1gzNzMyMjRZNDY0NDJEMDEqDQorWDM3MzMzMlk0NjE4MEQwMSoNCitYMzczNDgwWTQ1OTM5RDAxKg0KK1gzNzM2NjRZNDU3MjNEMDEqDQorWDM3Mzg4MFk0NTUzOUQwMSoNCitYMzc0MTIxWTQ1MzkxRDAxKg0KK1gzNzQzODNZNDUyODNEMDEqDQorWDM3NDUyMFk0NTI1MEQwMSoNCitYMzc0MzgzWTQ1MjE3RDAxKg0KK1gzNzQxMjFZNDUxMDlEMDEqDQorWDM3Mzg4MFk0NDk2MUQwMSoNCitYMzczNjY0WTQ0Nzc3RDAxKg0KK1gzNzM0ODBZNDQ1NjFEMDEqDQorWDM3MzMzMlk0NDMyMEQwMSoNCitYMzczMjI0WTQ0MDU4RDAxKg0KK1gzNzMxNThZNDM3ODJEMDEqDQorWDM3MzEzNVk0MzUwMEQwMSoNCitYMzczMTU4WTQzMjE4RDAxKg0KK1gzNzMyMjRZNDI5NDJEMDEqDQorWDM3MzMzMlk0MjY4MEQwMSoNCitYMzczNDgwWTQyNDM5RDAxKg0KK1gzNzM2NjRZNDIyMjNEMDEqDQorWDM3Mzg4MFk0MjAzOUQwMSoNCitYMzc0MTIxWTQxODkxRDAxKg0KK1gzNzQzODNZNDE3ODNEMDEqDQorWDM3NDY1OVk0MTcxN0QwMSoNCitYMzc0OTM4WTQxNjk1RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNjg5MzhEMDIqWDM1NDkzOEQwMSoNCitZOTE2OTREMDEqDQorWDM1NDk0MVk5MTY5M0QwMSoNCitYMzU1MjIzWTkxNzE2RDAxKg0KK1gzNTU0OTlZOTE3ODJEMDEqDQorWDM1NTc2MVk5MTg5MEQwMSoNCitYMzU2MDAyWTkyMDM4RDAxKg0KK1gzNTYyMThZOTIyMjJEMDEqDQorWDM1NjQwMlk5MjQzOEQwMSoNCitYMzU2NTUwWTkyNjc5RDAxKg0KK1gzNTY2NThZOTI5NDFEMDEqDQorWDM1NjcyNFk5MzIxN0QwMSoNCitYMzU2NzQxWTkzNDk5RDAxKg0KK1gzNTY3MjRZOTM3ODFEMDEqDQorWDM1NjY1OFk5NDA1N0QwMSoNCitYMzU2NTUwWTk0MzE5RDAxKg0KK1gzNTY0MDJZOTQ1NjBEMDEqDQorWDM1NjIxOFk5NDc3NkQwMSoNCitYMzU2MDAyWTk0OTYwRDAxKg0KK1gzNTU3NjFZOTUxMDhEMDEqDQorWDM1NTQ5OVk5NTIxNkQwMSoNCitYMzU1MjIzWTk1MjgyRDAxKg0KK1gzNTQ5NDFZOTUzMDVEMDEqDQorWDM1NDkzOFk5NTMwNEQwMSoNCitZOTYxOTREMDEqDQorWDM1NDk0MVk5NjE5M0QwMSoNCitYMzU1MjIzWTk2MjE2RDAxKg0KK1gzNTU0OTlZOTYyODJEMDEqDQorWDM1NTc2MVk5NjM5MEQwMSoNCitYMzU2MDAyWTk2NTM4RDAxKg0KK1gzNTYyMThZOTY3MjJEMDEqDQorWDM1NjQwMlk5NjkzOEQwMSoNCitYMzU2NTUwWTk3MTc5RDAxKg0KK1gzNTY2NThZOTc0NDFEMDEqDQorWDM1NjcyNFk5NzcxN0QwMSoNCitYMzU2NzQxWTk3OTk5RDAxKg0KK1gzNTY3MjRZOTgyODFEMDEqDQorWDM1NjY1OFk5ODU1N0QwMSoNCitYMzU2NTUwWTk4ODE5RDAxKg0KK1gzNTY0MDJZOTkwNjBEMDEqDQorWDM1NjIxOFk5OTI3NkQwMSoNCitYMzU2MDAyWTk5NDYwRDAxKg0KK1gzNTU3NjFZOTk2MDhEMDEqDQorWDM1NTQ5OVk5OTcxNkQwMSoNCitYMzU1MjIzWTk5NzgyRDAxKg0KK1gzNTQ5NDFZOTk4MDVEMDEqDQorWDM1NDkzOFk5OTgwNEQwMSoNCitZMTAyMTk0RDAxKg0KK1gzNTQ5NDFZMTAyMTkzRDAxKg0KK1gzNTUyMjNZMTAyMjE2RDAxKg0KK1gzNTU0OTlZMTAyMjgyRDAxKg0KK1gzNTU3NjFZMTAyMzkwRDAxKg0KK1gzNTYwMDJZMTAyNTM4RDAxKg0KK1gzNTYyMThZMTAyNzIyRDAxKg0KK1gzNTY0MDJZMTAyOTM4RDAxKg0KK1gzNTY1NTBZMTAzMTc5RDAxKg0KK1gzNTY2NThZMTAzNDQxRDAxKg0KK1gzNTY3MjRZMTAzNzE3RDAxKg0KK1gzNTY3NDFZMTAzOTk5RDAxKg0KK1gzNTY3MjRZMTA0MjgxRDAxKg0KK1gzNTY2NThZMTA0NTU3RDAxKg0KK1gzNTY1NTBZMTA0ODE5RDAxKg0KK1gzNTY0MDJZMTA1MDYwRDAxKg0KK1gzNTYyMThZMTA1Mjc2RDAxKg0KK1gzNTYwMDJZMTA1NDYwRDAxKg0KK1gzNTU3NjFZMTA1NjA4RDAxKg0KK1gzNTU0OTlZMTA1NzE2RDAxKg0KK1gzNTUyMjNZMTA1NzgyRDAxKg0KK1gzNTQ5NDFZMTA1ODA1RDAxKg0KK1gzNTQ5MzhZMTA1ODA0RDAxKg0KK1kxMDgxOTREMDEqDQorWDM1NDk0MVkxMDgxOTNEMDEqDQorWDM1NTIyM1kxMDgyMTZEMDEqDQorWDM1NTQ5OVkxMDgyODJEMDEqDQorWDM1NTc2MVkxMDgzOTBEMDEqDQorWDM1NjAwMlkxMDg1MzhEMDEqDQorWDM1NjIxOFkxMDg3MjJEMDEqDQorWDM1NjQwMlkxMDg5MzhEMDEqDQorWDM1NjU1MFkxMDkxNzlEMDEqDQorWDM1NjY1OFkxMDk0NDFEMDEqDQorWDM1NjcyNFkxMDk3MTdEMDEqDQorWDM1Njc0MVkxMDk5OTlEMDEqDQorWDM1NjcyNFkxMTAyODFEMDEqDQorWDM1NjY1OFkxMTA1NTdEMDEqDQorWDM1NjU1MFkxMTA4MTlEMDEqDQorWDM1NjQwMlkxMTEwNjBEMDEqDQorWDM1NjIxOFkxMTEyNzZEMDEqDQorWDM1NjAwMlkxMTE0NjBEMDEqDQorWDM1NTc2MVkxMTE2MDhEMDEqDQorWDM1NTQ5OVkxMTE3MTZEMDEqDQorWDM1NTIyM1kxMTE3ODJEMDEqDQorWDM1NDk0MVkxMTE4MDVEMDEqDQorWDM1NDkzOFkxMTE4MDREMDEqDQorWTExNDE5NEQwMSoNCitYMzU0OTQxWTExNDE5M0QwMSoNCitYMzU1MjIzWTExNDIxNkQwMSoNCitYMzU1NDk5WTExNDI4MkQwMSoNCitYMzU1NzYxWTExNDM5MEQwMSoNCitYMzU2MDAyWTExNDUzOEQwMSoNCitYMzU2MjE4WTExNDcyMkQwMSoNCitYMzU2NDAyWTExNDkzOEQwMSoNCitYMzU2NTUwWTExNTE3OUQwMSoNCitYMzU2NjU4WTExNTQ0MUQwMSoNCitYMzU2NzI0WTExNTcxN0QwMSoNCitYMzU2NzQxWTExNTk5OUQwMSoNCitYMzU2NzI0WTExNjI4MUQwMSoNCitYMzU2NjU4WTExNjU1N0QwMSoNCitYMzU2NTUwWTExNjgxOUQwMSoNCitYMzU2NDAyWTExNzA2MEQwMSoNCitYMzU2MjE4WTExNzI3NkQwMSoNCitYMzU2MDAyWTExNzQ2MEQwMSoNCitYMzU1NzYxWTExNzYwOEQwMSoNCitYMzU1NDk5WTExNzcxNkQwMSoNCitYMzU1MjIzWTExNzc4MkQwMSoNCitYMzU0OTQxWTExNzgwNUQwMSoNCitYMzU0OTM4WTExNzgwNEQwMSoNCitZMTIwMTk0RDAxKg0KK1gzNTQ5NDFZMTIwMTkzRDAxKg0KK1gzNTUyMjNZMTIwMjE2RDAxKg0KK1gzNTU0OTlZMTIwMjgyRDAxKg0KK1gzNTU3NjFZMTIwMzkwRDAxKg0KK1gzNTYwMDJZMTIwNTM4RDAxKg0KK1gzNTYyMThZMTIwNzIyRDAxKg0KK1gzNTY0MDJZMTIwOTM4RDAxKg0KK1gzNTY1NTBZMTIxMTc5RDAxKg0KK1gzNTY2NThZMTIxNDQxRDAxKg0KK1gzNTY3MjRZMTIxNzE3RDAxKg0KK1gzNTY3NDFZMTIxOTk5RDAxKg0KK1gzNTY3MjRZMTIyMjgxRDAxKg0KK1gzNTY2NThZMTIyNTU3RDAxKg0KK1gzNTY1NTBZMTIyODE5RDAxKg0KK1gzNTY0MDJZMTIzMDYwRDAxKg0KK1gzNTYyMThZMTIzMjc2RDAxKg0KK1gzNTYwMDJZMTIzNDYwRDAxKg0KK1gzNTU3NjFZMTIzNjA4RDAxKg0KK1gzNTU0OTlZMTIzNzE2RDAxKg0KK1gzNTUyMjNZMTIzNzgyRDAxKg0KK1gzNTQ5NDFZMTIzODA1RDAxKg0KK1gzNTQ5MzhZMTIzODA0RDAxKg0KK1kxMjYxOTREMDEqDQorWDM1NDk0MVkxMjYxOTNEMDEqDQorWDM1NTIyM1kxMjYyMTZEMDEqDQorWDM1NTQ5OVkxMjYyODJEMDEqDQorWDM1NTc2MVkxMjYzOTBEMDEqDQorWDM1NjAwMlkxMjY1MzhEMDEqDQorWDM1NjIxOFkxMjY3MjJEMDEqDQorWDM1NjQwMlkxMjY5MzhEMDEqDQorWDM1NjU1MFkxMjcxNzlEMDEqDQorWDM1NjY1OFkxMjc0NDFEMDEqDQorWDM1NjcyNFkxMjc3MTdEMDEqDQorWDM1Njc0MVkxMjc5OTlEMDEqDQorWDM1NjcyNFkxMjgyODFEMDEqDQorWDM1NjY1OFkxMjg1NTdEMDEqDQorWDM1NjU1MFkxMjg4MTlEMDEqDQorWDM1NjQwMlkxMjkwNjBEMDEqDQorWDM1NjIxOFkxMjkyNzZEMDEqDQorWDM1NjAwMlkxMjk0NjBEMDEqDQorWDM1NTc2MVkxMjk2MDhEMDEqDQorWDM1NTQ5OVkxMjk3MTZEMDEqDQorWDM1NTIyM1kxMjk3ODJEMDEqDQorWDM1NDk0MVkxMjk4MDVEMDEqDQorWDM1NDkzOFkxMjk4MDREMDEqDQorWTEzMjAwMEQwMSoNCitYMzY4OTM4RDAxKg0KK1k1MDMwNUQwMSoNCitYMzY4NjU5WTUwMjgzRDAxKg0KK1gzNjgzODNZNTAyMTdEMDEqDQorWDM2ODEyMVk1MDEwOUQwMSoNCitYMzY3ODgwWTQ5OTYxRDAxKg0KK1gzNjc2NjRZNDk3NzdEMDEqDQorWDM2NzQ4MFk0OTU2MUQwMSoNCitYMzY3MzMyWTQ5MzIwRDAxKg0KK1gzNjcyMjRZNDkwNThEMDEqDQorWDM2NzE1OFk0ODc4MkQwMSoNCitYMzY3MTM1WTQ4NTAwRDAxKg0KK1gzNjcxNThZNDgyMThEMDEqDQorWDM2NzIyNFk0Nzk0MkQwMSoNCitYMzY3MzMyWTQ3NjgwRDAxKg0KK1gzNjc0ODBZNDc0MzlEMDEqDQorWDM2NzY2NFk0NzIyM0QwMSoNCitYMzY3ODgwWTQ3MDM5RDAxKg0KK1gzNjgxMjFZNDY4OTFEMDEqDQorWDM2ODM4M1k0Njc4M0QwMSoNCitYMzY4NjU5WTQ2NzE3RDAxKg0KK1gzNjg5MzhZNDY2OTVEMDEqDQorWTQ1MzA1RDAxKg0KK1gzNjg2NTlZNDUyODNEMDEqDQorWDM2ODM4M1k0NTIxN0QwMSoNCitYMzY4MTIxWTQ1MTA5RDAxKg0KK1gzNjc4ODBZNDQ5NjFEMDEqDQorWDM2NzY2NFk0NDc3N0QwMSoNCitYMzY3NDgwWTQ0NTYxRDAxKg0KK1gzNjczMzJZNDQzMjBEMDEqDQorWDM2NzIyNFk0NDA1OEQwMSoNCitYMzY3MTU4WTQzNzgyRDAxKg0KK1gzNjcxMzVZNDM1MDBEMDEqDQorWDM2NzE1OFk0MzIxOEQwMSoNCitYMzY3MjI0WTQyOTQyRDAxKg0KK1gzNjczMzJZNDI2ODBEMDEqDQorWDM2NzQ4MFk0MjQzOUQwMSoNCitYMzY3NjY0WTQyMjIzRDAxKg0KK1gzNjc4ODBZNDIwMzlEMDEqDQorWDM2ODEyMVk0MTg5MUQwMSoNCitYMzY4MzgzWTQxNzgzRDAxKg0KK1gzNjg2NTlZNDE3MTdEMDEqDQorWDM2ODkzOFk0MTY5NUQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzU0OTM4RDAyKlgyOTk0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1gyOTk1NTlZNDUwMDdEMDEqDQorWDI5OTY3M1k0NTAzNUQwMSoNCitYMjk5NzgzWTQ1MDgwRDAxKg0KK1gyOTk4ODNZNDUxNDFEMDEqDQorWDI5OTk3M1k0NTIxOEQwMSoNCitYMzAwMDUwWTQ1MzA4RDAxKg0KK1gzMDAxMTFZNDU0MDhEMDEqDQorWDMwMDE1Nlk0NTUxOEQwMSoNCitYMzAwMTg0WTQ1NjMyRDAxKg0KK1gzMDAxOTFZNDU3NTBEMDEqDQorWTQ5MjUwRDAxKg0KK1gzMDAxODRZNDkzNjhEMDEqDQorWDMwMDE1Nlk0OTQ4MkQwMSoNCitYMzAwMTExWTQ5NTkyRDAxKg0KK1gzMDAwNTBZNDk2OTJEMDEqDQorWDI5OTk3M1k0OTc4MkQwMSoNCitYMjk5ODgzWTQ5ODU5RDAxKg0KK1gyOTk3ODNZNDk5MjBEMDEqDQorWDI5OTY3M1k0OTk2NUQwMSoNCitYMjk5NTU5WTQ5OTkzRDAxKg0KK1gyOTk0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1gyOTk2ODZZNTUzMzdEMDEqDQorWDI5OTk3Mlk1NjAyOEQwMSoNCitYMzAwMTQ3WTU2NzU1RDAxKg0KK1gzMDAxOTFZNTc1MDBEMDEqDQorWDMwMDE0N1k1ODI0NUQwMSoNCitYMjk5OTcyWTU4OTcyRDAxKg0KK1gyOTk2ODZZNTk2NjNEMDEqDQorWDI5OTQ0MVk2MDA2M0QwMSoNCitZNjQ5MzdEMDEqDQorWDI5OTY4Nlk2NTMzN0QwMSoNCitYMjk5OTcyWTY2MDI4RDAxKg0KK1gzMDAxNDdZNjY3NTVEMDEqDQorWDMwMDE5MVk2NzUwMEQwMSoNCitYMzAwMTQ3WTY4MjQ1RDAxKg0KK1gyOTk5NzJZNjg5NzJEMDEqDQorWDI5OTY4Nlk2OTY2M0QwMSoNCitYMjk5NDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitYMzEzOTQxRDAxKg0KK1kxMzIwMDBEMDEqDQorWDM1NDkzOEQwMSoNCitZMTI5ODA0RDAxKg0KK1gzNTQ2NTlZMTI5NzgyRDAxKg0KK1gzNTQzODNZMTI5NzE2RDAxKg0KK1gzNTQxMjFZMTI5NjA4RDAxKg0KK1gzNTM4ODBZMTI5NDYwRDAxKg0KK1gzNTM2NjRZMTI5Mjc2RDAxKg0KK1gzNTM0ODBZMTI5MDYwRDAxKg0KK1gzNTMzMzJZMTI4ODE5RDAxKg0KK1gzNTMyMjRZMTI4NTU3RDAxKg0KK1gzNTMxNThZMTI4MjgxRDAxKg0KK1gzNTMxMzVZMTI3OTk5RDAxKg0KK1gzNTMxNThZMTI3NzE3RDAxKg0KK1gzNTMyMjRZMTI3NDQxRDAxKg0KK1gzNTMzMzJZMTI3MTc5RDAxKg0KK1gzNTM0ODBZMTI2OTM4RDAxKg0KK1gzNTM2NjRZMTI2NzIyRDAxKg0KK1gzNTM4ODBZMTI2NTM4RDAxKg0KK1gzNTQxMjFZMTI2MzkwRDAxKg0KK1gzNTQzODNZMTI2MjgyRDAxKg0KK1gzNTQ2NTlZMTI2MjE2RDAxKg0KK1gzNTQ5MzhZMTI2MTk0RDAxKg0KK1kxMjM4MDREMDEqDQorWDM1NDY1OVkxMjM3ODJEMDEqDQorWDM1NDM4M1kxMjM3MTZEMDEqDQorWDM1NDEyMVkxMjM2MDhEMDEqDQorWDM1Mzg4MFkxMjM0NjBEMDEqDQorWDM1MzY2NFkxMjMyNzZEMDEqDQorWDM1MzQ4MFkxMjMwNjBEMDEqDQorWDM1MzMzMlkxMjI4MTlEMDEqDQorWDM1MzIyNFkxMjI1NTdEMDEqDQorWDM1MzE1OFkxMjIyODFEMDEqDQorWDM1MzEzNVkxMjE5OTlEMDEqDQorWDM1MzE1OFkxMjE3MTdEMDEqDQorWDM1MzIyNFkxMjE0NDFEMDEqDQorWDM1MzMzMlkxMjExNzlEMDEqDQorWDM1MzQ4MFkxMjA5MzhEMDEqDQorWDM1MzY2NFkxMjA3MjJEMDEqDQorWDM1Mzg4MFkxMjA1MzhEMDEqDQorWDM1NDEyMVkxMjAzOTBEMDEqDQorWDM1NDM4M1kxMjAyODJEMDEqDQorWDM1NDY1OVkxMjAyMTZEMDEqDQorWDM1NDkzOFkxMjAxOTREMDEqDQorWTExNzgwNEQwMSoNCitYMzU0NjU5WTExNzc4MkQwMSoNCitYMzU0MzgzWTExNzcxNkQwMSoNCitYMzU0MTIxWTExNzYwOEQwMSoNCitYMzUzODgwWTExNzQ2MEQwMSoNCitYMzUzNjY0WTExNzI3NkQwMSoNCitYMzUzNDgwWTExNzA2MEQwMSoNCitYMzUzMzMyWTExNjgxOUQwMSoNCitYMzUzMjI0WTExNjU1N0QwMSoNCitYMzUzMTU4WTExNjI4MUQwMSoNCitYMzUzMTM1WTExNTk5OUQwMSoNCitYMzUzMTU4WTExNTcxN0QwMSoNCitYMzUzMjI0WTExNTQ0MUQwMSoNCitYMzUzMzMyWTExNTE3OUQwMSoNCitYMzUzNDgwWTExNDkzOEQwMSoNCitYMzUzNjY0WTExNDcyMkQwMSoNCitYMzUzODgwWTExNDUzOEQwMSoNCitYMzU0MTIxWTExNDM5MEQwMSoNCitYMzU0MzgzWTExNDI4MkQwMSoNCitYMzU0NjU5WTExNDIxNkQwMSoNCitYMzU0OTM4WTExNDE5NEQwMSoNCitZMTExODA0RDAxKg0KK1gzNTQ2NTlZMTExNzgyRDAxKg0KK1gzNTQzODNZMTExNzE2RDAxKg0KK1gzNTQxMjFZMTExNjA4RDAxKg0KK1gzNTM4ODBZMTExNDYwRDAxKg0KK1gzNTM2NjRZMTExMjc2RDAxKg0KK1gzNTM0ODBZMTExMDYwRDAxKg0KK1gzNTMzMzJZMTEwODE5RDAxKg0KK1gzNTMyMjRZMTEwNTU3RDAxKg0KK1gzNTMxNThZMTEwMjgxRDAxKg0KK1gzNTMxMzVZMTA5OTk5RDAxKg0KK1gzNTMxNThZMTA5NzE3RDAxKg0KK1gzNTMyMjRZMTA5NDQxRDAxKg0KK1gzNTMzMzJZMTA5MTc5RDAxKg0KK1gzNTM0ODBZMTA4OTM4RDAxKg0KK1gzNTM2NjRZMTA4NzIyRDAxKg0KK1gzNTM4ODBZMTA4NTM4RDAxKg0KK1gzNTQxMjFZMTA4MzkwRDAxKg0KK1gzNTQzODNZMTA4MjgyRDAxKg0KK1gzNTQ2NTlZMTA4MjE2RDAxKg0KK1gzNTQ5MzhZMTA4MTk0RDAxKg0KK1kxMDU4MDREMDEqDQorWDM1NDY1OVkxMDU3ODJEMDEqDQorWDM1NDM4M1kxMDU3MTZEMDEqDQorWDM1NDEyMVkxMDU2MDhEMDEqDQorWDM1Mzg4MFkxMDU0NjBEMDEqDQorWDM1MzY2NFkxMDUyNzZEMDEqDQorWDM1MzQ4MFkxMDUwNjBEMDEqDQorWDM1MzMzMlkxMDQ4MTlEMDEqDQorWDM1MzIyNFkxMDQ1NTdEMDEqDQorWDM1MzE1OFkxMDQyODFEMDEqDQorWDM1MzEzNVkxMDM5OTlEMDEqDQorWDM1MzE1OFkxMDM3MTdEMDEqDQorWDM1MzIyNFkxMDM0NDFEMDEqDQorWDM1MzMzMlkxMDMxNzlEMDEqDQorWDM1MzQ4MFkxMDI5MzhEMDEqDQorWDM1MzY2NFkxMDI3MjJEMDEqDQorWDM1Mzg4MFkxMDI1MzhEMDEqDQorWDM1NDEyMVkxMDIzOTBEMDEqDQorWDM1NDM4M1kxMDIyODJEMDEqDQorWDM1NDY1OVkxMDIyMTZEMDEqDQorWDM1NDkzOFkxMDIxOTREMDEqDQorWTk5ODA0RDAxKg0KK1gzNTQ2NTlZOTk3ODJEMDEqDQorWDM1NDM4M1k5OTcxNkQwMSoNCitYMzU0MTIxWTk5NjA4RDAxKg0KK1gzNTM4ODBZOTk0NjBEMDEqDQorWDM1MzY2NFk5OTI3NkQwMSoNCitYMzUzNDgwWTk5MDYwRDAxKg0KK1gzNTMzMzJZOTg4MTlEMDEqDQorWDM1MzIyNFk5ODU1N0QwMSoNCitYMzUzMTU4WTk4MjgxRDAxKg0KK1gzNTMxMzVZOTc5OTlEMDEqDQorWDM1MzE1OFk5NzcxN0QwMSoNCitYMzUzMjI0WTk3NDQxRDAxKg0KK1gzNTMzMzJZOTcxNzlEMDEqDQorWDM1MzQ4MFk5NjkzOEQwMSoNCitYMzUzNjY0WTk2NzIyRDAxKg0KK1gzNTM4ODBZOTY1MzhEMDEqDQorWDM1NDEyMVk5NjM5MEQwMSoNCitYMzU0MzgzWTk2MjgyRDAxKg0KK1gzNTQ2NTlZOTYyMTZEMDEqDQorWDM1NDkzOFk5NjE5NEQwMSoNCitZOTUzMDREMDEqDQorWDM1NDY1OVk5NTI4MkQwMSoNCitYMzU0MzgzWTk1MjE2RDAxKg0KK1gzNTQxMjFZOTUxMDhEMDEqDQorWDM1Mzg4MFk5NDk2MEQwMSoNCitYMzUzNjY0WTk0Nzc2RDAxKg0KK1gzNTM0ODBZOTQ1NjBEMDEqDQorWDM1MzMzMlk5NDMxOUQwMSoNCitYMzUzMjI0WTk0MDU3RDAxKg0KK1gzNTMxNThZOTM3ODFEMDEqDQorWDM1MzEzNVk5MzQ5OUQwMSoNCitYMzUzMTU4WTkzMjE3RDAxKg0KK1gzNTMyMjRZOTI5NDFEMDEqDQorWDM1MzMzMlk5MjY3OUQwMSoNCitYMzUzNDgwWTkyNDM4RDAxKg0KK1gzNTM2NjRZOTIyMjJEMDEqDQorWDM1Mzg4MFk5MjAzOEQwMSoNCitYMzU0MTIxWTkxODkwRDAxKg0KK1gzNTQzODNZOTE3ODJEMDEqDQorWDM1NDY1OVk5MTcxNkQwMSoNCitYMzU0OTM4WTkxNjk0RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyOTk0NDFZNzAwNjNEMDIqWDI5OTI5Nlk3MDMwMUQwMSoNCitYMjk4ODEwWTcwODY5RDAxKg0KK1gyOTgyNDJZNzEzNTVEMDEqDQorWDI5NzYwNFk3MTc0NUQwMSoNCitYMjk2OTEzWTcyMDMxRDAxKg0KK1gyOTYxODZZNzIyMDZEMDEqDQorWDI5NTQ0MVk3MjI2NUQwMSoNCitZNzYwMDBEMDEqDQorWDI5OTQ0MUQwMSoNCitZNzAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZNjAwNjNEMDIqWDI5OTI5Nlk2MDMwMUQwMSoNCitYMjk4ODEwWTYwODY5RDAxKg0KK1gyOTgyNDJZNjEzNTVEMDEqDQorWDI5NzYwNFk2MTc0NUQwMSoNCitYMjk2OTEzWTYyMDMxRDAxKg0KK1gyOTYxODZZNjIyMDZEMDEqDQorWDI5NTQ0MVk2MjI2NUQwMSoNCitZNjI3MzVEMDEqDQorWDI5NjE4Nlk2Mjc5NEQwMSoNCitYMjk2OTEzWTYyOTY5RDAxKg0KK1gyOTc2MDRZNjMyNTVEMDEqDQorWDI5ODI0Mlk2MzY0NUQwMSoNCitYMjk4ODEwWTY0MTMxRDAxKg0KK1gyOTkyOTZZNjQ2OTlEMDEqDQorWDI5OTQ0MVk2NDkzN0QwMSoNCitZNjAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDI5NTQ0MUQwMSoNCitZNDI3NTBEMDEqDQorWDI5NzE5MUQwMSoNCitYMjk3MzA5WTQyNzU3RDAxKg0KK1gyOTc0MjNZNDI3ODVEMDEqDQorWDI5NzUzM1k0MjgzMEQwMSoNCitYMjk3NjMzWTQyODkxRDAxKg0KK1gyOTc3MjNZNDI5NjhEMDEqDQorWDI5NzgwMFk0MzA1OEQwMSoNCitYMjk3ODYxWTQzMTU4RDAxKg0KK1gyOTc5MDZZNDMyNjhEMDEqDQorWDI5NzkzNFk0MzM4MkQwMSoNCitYMjk3OTQzWTQzNTAwRDAxKg0KK1gyOTc5MzRZNDM2MThEMDEqDQorWDI5NzkwNlk0MzczMkQwMSoNCitYMjk3ODYxWTQzODQyRDAxKg0KK1gyOTc4MDBZNDM5NDJEMDEqDQorWDI5NzcyM1k0NDAzMkQwMSoNCitYMjk3NjMzWTQ0MTA5RDAxKg0KK1gyOTc1MzNZNDQxNzBEMDEqDQorWDI5NzQyM1k0NDIxNUQwMSoNCitYMjk3MzA5WTQ0MjQzRDAxKg0KK1gyOTcxOTFZNDQyNTBEMDEqDQorWDI5NTQ0MUQwMSoNCitZNTA3NTBEMDEqDQorWDI5NzE5MUQwMSoNCitYMjk3MzA5WTUwNzU3RDAxKg0KK1gyOTc0MjNZNTA3ODVEMDEqDQorWDI5NzUzM1k1MDgzMEQwMSoNCitYMjk3NjMzWTUwODkxRDAxKg0KK1gyOTc3MjNZNTA5NjhEMDEqDQorWDI5NzgwMFk1MTA1OEQwMSoNCitYMjk3ODYxWTUxMTU4RDAxKg0KK1gyOTc5MDZZNTEyNjhEMDEqDQorWDI5NzkzNFk1MTM4MkQwMSoNCitYMjk3OTQzWTUxNTAwRDAxKg0KK1gyOTc5MzRZNTE2MThEMDEqDQorWDI5NzkwNlk1MTczMkQwMSoNCitYMjk3ODYxWTUxODQyRDAxKg0KK1gyOTc4MDBZNTE5NDJEMDEqDQorWDI5NzcyM1k1MjAzMkQwMSoNCitYMjk3NjMzWTUyMTA5RDAxKg0KK1gyOTc1MzNZNTIxNzBEMDEqDQorWDI5NzQyM1k1MjIxNUQwMSoNCitYMjk3MzA5WTUyMjQzRDAxKg0KK1gyOTcxOTFZNTIyNTBEMDEqDQorWDI5NTQ0MUQwMSoNCitZNTI3MzVEMDEqDQorWDI5NjE4Nlk1Mjc5NEQwMSoNCitYMjk2OTEzWTUyOTY5RDAxKg0KK1gyOTc2MDRZNTMyNTVEMDEqDQorWDI5ODI0Mlk1MzY0NUQwMSoNCitYMjk4ODEwWTU0MTMxRDAxKg0KK1gyOTkyOTZZNTQ2OTlEMDEqDQorWDI5OTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDI5OTMyM1k0OTk5M0QwMSoNCitYMjk5MjA5WTQ5OTY1RDAxKg0KK1gyOTkwOTlZNDk5MjBEMDEqDQorWDI5ODk5OVk0OTg1OUQwMSoNCitYMjk4OTA5WTQ5NzgyRDAxKg0KK1gyOTg4MzJZNDk2OTJEMDEqDQorWDI5ODc3MVk0OTU5MkQwMSoNCitYMjk4NzI2WTQ5NDgyRDAxKg0KK1gyOTg2OThZNDkzNjhEMDEqDQorWDI5ODY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDI5ODY5OFk0NTYzMkQwMSoNCitYMjk4NzI2WTQ1NTE4RDAxKg0KK1gyOTg3NzFZNDU0MDhEMDEqDQorWDI5ODgzMlk0NTMwOEQwMSoNCitYMjk4OTA5WTQ1MjE4RDAxKg0KK1gyOTg5OTlZNDUxNDFEMDEqDQorWDI5OTA5OVk0NTA4MEQwMSoNCitYMjk5MjA5WTQ1MDM1RDAxKg0KK1gyOTkzMjNZNDUwMDdEMDEqDQorWDI5OTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjkxNDQxWTY0OTM3RDAyKlgyOTE1ODZZNjQ2OTlEMDEqDQorWDI5MjA3Mlk2NDEzMUQwMSoNCitYMjkyNjQwWTYzNjQ1RDAxKg0KK1gyOTMyNzhZNjMyNTVEMDEqDQorWDI5Mzk2OVk2Mjk2OUQwMSoNCitYMjk0Njk2WTYyNzk0RDAxKg0KK1gyOTU0NDFZNjI3MzVEMDEqDQorWDI5NTQ0MUQwMSoNCitZNjIyNjVEMDEqDQorWDI5NTQ0MUQwMSoNCitYMjk0Njk2WTYyMjA2RDAxKg0KK1gyOTM5NjlZNjIwMzFEMDEqDQorWDI5MzI3OFk2MTc0NUQwMSoNCitYMjkyNjQwWTYxMzU1RDAxKg0KK1gyOTIwNzJZNjA4NjlEMDEqDQorWDI5MTU4Nlk2MDMwMUQwMSoNCitYMjkxNDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjAwMEQwMipYMjk1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMjk1NDQxRDAxKg0KK1gyOTQ2OTZZNzIyMDZEMDEqDQorWDI5Mzk2OVk3MjAzMUQwMSoNCitYMjkzMjc4WTcxNzQ1RDAxKg0KK1gyOTI2NDBZNzEzNTVEMDEqDQorWDI5MjA3Mlk3MDg2OUQwMSoNCitYMjkxNTg2WTcwMzAxRDAxKg0KK1gyOTE0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI5NTQ0MVkzOTAwMEQwMipYMjkxNDQxRDAxKg0KK1k0NDk5OEQwMSoNCitYMjkxNTU5WTQ1MDA3RDAxKg0KK1gyOTE2NzNZNDUwMzVEMDEqDQorWDI5MTc4M1k0NTA4MEQwMSoNCitYMjkxODgzWTQ1MTQxRDAxKg0KK1gyOTE5NzNZNDUyMThEMDEqDQorWDI5MjA1MFk0NTMwOEQwMSoNCitYMjkyMTExWTQ1NDA4RDAxKg0KK1gyOTIxNTZZNDU1MThEMDEqDQorWDI5MjE4NFk0NTYzMkQwMSoNCitYMjkyMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYMjkyMTg0WTQ5MzY4RDAxKg0KK1gyOTIxNTZZNDk0ODJEMDEqDQorWDI5MjExMVk0OTU5MkQwMSoNCitYMjkyMDUwWTQ5NjkyRDAxKg0KK1gyOTE5NzNZNDk3ODJEMDEqDQorWDI5MTg4M1k0OTg1OUQwMSoNCitYMjkxNzgzWTQ5OTIwRDAxKg0KK1gyOTE2NzNZNDk5NjVEMDEqDQorWDI5MTU1OVk0OTk5M0QwMSoNCitYMjkxNDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYMjkxNTg2WTU0Njk5RDAxKg0KK1gyOTIwNzJZNTQxMzFEMDEqDQorWDI5MjY0MFk1MzY0NUQwMSoNCitYMjkzMjc4WTUzMjU1RDAxKg0KK1gyOTM5NjlZNTI5NjlEMDEqDQorWDI5NDY5Nlk1Mjc5NEQwMSoNCitYMjk1NDQxWTUyNzM1RDAxKg0KK1gyOTU0NDFEMDEqDQorWTUyMjUwRDAxKg0KK1gyOTM2OTFEMDEqDQorWDI5MzU3M1k1MjI0M0QwMSoNCitYMjkzNDU5WTUyMjE1RDAxKg0KK1gyOTMzNDlZNTIxNzBEMDEqDQorWDI5MzI0OVk1MjEwOUQwMSoNCitYMjkzMTU5WTUyMDMyRDAxKg0KK1gyOTMwODJZNTE5NDJEMDEqDQorWDI5MzAyMVk1MTg0MkQwMSoNCitYMjkyOTc2WTUxNzMyRDAxKg0KK1gyOTI5NDhZNTE2MThEMDEqDQorWDI5MjkzOVk1MTUwMEQwMSoNCitYMjkyOTQ4WTUxMzgyRDAxKg0KK1gyOTI5NzZZNTEyNjhEMDEqDQorWDI5MzAyMVk1MTE1OEQwMSoNCitYMjkzMDgyWTUxMDU4RDAxKg0KK1gyOTMxNTlZNTA5NjhEMDEqDQorWDI5MzI0OVk1MDg5MUQwMSoNCitYMjkzMzQ5WTUwODMwRDAxKg0KK1gyOTM0NTlZNTA3ODVEMDEqDQorWDI5MzU3M1k1MDc1N0QwMSoNCitYMjkzNjkxWTUwNzUwRDAxKg0KK1gyOTU0NDFEMDEqDQorWTQ0MjUwRDAxKg0KK1gyOTM2OTFEMDEqDQorWDI5MzU3M1k0NDI0M0QwMSoNCitYMjkzNDU5WTQ0MjE1RDAxKg0KK1gyOTMzNDlZNDQxNzBEMDEqDQorWDI5MzI0OVk0NDEwOUQwMSoNCitYMjkzMTU5WTQ0MDMyRDAxKg0KK1gyOTMwODJZNDM5NDJEMDEqDQorWDI5MzAyMVk0Mzg0MkQwMSoNCitYMjkyOTc2WTQzNzMyRDAxKg0KK1gyOTI5NDhZNDM2MThEMDEqDQorWDI5MjkzOVk0MzUwMEQwMSoNCitYMjkyOTQ4WTQzMzgyRDAxKg0KK1gyOTI5NzZZNDMyNjhEMDEqDQorWDI5MzAyMVk0MzE1OEQwMSoNCitYMjkzMDgyWTQzMDU4RDAxKg0KK1gyOTMxNTlZNDI5NjhEMDEqDQorWDI5MzI0OVk0Mjg5MUQwMSoNCitYMjkzMzQ5WTQyODMwRDAxKg0KK1gyOTM0NTlZNDI3ODVEMDEqDQorWDI5MzU3M1k0Mjc1N0QwMSoNCitYMjkzNjkxWTQyNzUwRDAxKg0KK1gyOTU0NDFEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI5MTQ0MUQwMipYMjY5NDQxRDAxKg0KK1k0NDk5OEQwMSoNCitYMjY5NTU5WTQ1MDA3RDAxKg0KK1gyNjk2NzNZNDUwMzVEMDEqDQorWDI2OTc4M1k0NTA4MEQwMSoNCitYMjY5ODgzWTQ1MTQxRDAxKg0KK1gyNjk5NzNZNDUyMThEMDEqDQorWDI3MDA1MFk0NTMwOEQwMSoNCitYMjcwMTExWTQ1NDA4RDAxKg0KK1gyNzAxNTZZNDU1MThEMDEqDQorWDI3MDE4NFk0NTYzMkQwMSoNCitYMjcwMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYMjcwMTg0WTQ5MzY4RDAxKg0KK1gyNzAxNTZZNDk0ODJEMDEqDQorWDI3MDExMVk0OTU5MkQwMSoNCitYMjcwMDUwWTQ5NjkyRDAxKg0KK1gyNjk5NzNZNDk3ODJEMDEqDQorWDI2OTg4M1k0OTg1OUQwMSoNCitYMjY5NzgzWTQ5OTIwRDAxKg0KK1gyNjk2NzNZNDk5NjVEMDEqDQorWDI2OTU1OVk0OTk5M0QwMSoNCitYMjY5NDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYMjY5Njg2WTU1MzM3RDAxKg0KK1gyNjk5NzJZNTYwMjhEMDEqDQorWDI3MDE0N1k1Njc1NUQwMSoNCitYMjcwMTkxWTU3NTAwRDAxKg0KK1gyNzAxNDdZNTgyNDVEMDEqDQorWDI2OTk3Mlk1ODk3MkQwMSoNCitYMjY5Njg2WTU5NjYzRDAxKg0KK1gyNjk0NDFZNjAwNjNEMDEqDQorWTY0OTM3RDAxKg0KK1gyNjk2ODZZNjUzMzdEMDEqDQorWDI2OTk3Mlk2NjAyOEQwMSoNCitYMjcwMTQ3WTY2NzU1RDAxKg0KK1gyNzAxOTFZNjc1MDBEMDEqDQorWDI3MDE0N1k2ODI0NUQwMSoNCitYMjY5OTcyWTY4OTcyRDAxKg0KK1gyNjk2ODZZNjk2NjNEMDEqDQorWDI2OTQ0MVk3MDA2M0QwMSoNCitZNzYwMDBEMDEqDQorWDI5MTQ0MUQwMSoNCitZNzAwNjNEMDEqDQorWDI5MTE5Nlk2OTY2M0QwMSoNCitYMjkwOTEwWTY4OTcyRDAxKg0KK1gyOTA3MzVZNjgyNDVEMDEqDQorWDI5MDY3Nlk2NzUwMEQwMSoNCitYMjkwNzM1WTY2NzU1RDAxKg0KK1gyOTA5MTBZNjYwMjhEMDEqDQorWDI5MTE5Nlk2NTMzN0QwMSoNCitYMjkxNDQxWTY0OTM3RDAxKg0KK1k2MDA2M0QwMSoNCitYMjkxMTk2WTU5NjYzRDAxKg0KK1gyOTA5MTBZNTg5NzJEMDEqDQorWDI5MDczNVk1ODI0NUQwMSoNCitYMjkwNjc2WTU3NTAwRDAxKg0KK1gyOTA3MzVZNTY3NTVEMDEqDQorWDI5MDkxMFk1NjAyOEQwMSoNCitYMjkxMTk2WTU1MzM3RDAxKg0KK1gyOTE0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1gyOTEzMjNZNDk5OTNEMDEqDQorWDI5MTIwOVk0OTk2NUQwMSoNCitYMjkxMDk5WTQ5OTIwRDAxKg0KK1gyOTA5OTlZNDk4NTlEMDEqDQorWDI5MDkwOVk0OTc4MkQwMSoNCitYMjkwODMyWTQ5NjkyRDAxKg0KK1gyOTA3NzFZNDk1OTJEMDEqDQorWDI5MDcyNlk0OTQ4MkQwMSoNCitYMjkwNjk4WTQ5MzY4RDAxKg0KK1gyOTA2OTFZNDkyNTBEMDEqDQorWTQ1NzUwRDAxKg0KK1gyOTA2OThZNDU2MzJEMDEqDQorWDI5MDcyNlk0NTUxOEQwMSoNCitYMjkwNzcxWTQ1NDA4RDAxKg0KK1gyOTA4MzJZNDUzMDhEMDEqDQorWDI5MDkwOVk0NTIxOEQwMSoNCitYMjkwOTk5WTQ1MTQxRDAxKg0KK1gyOTEwOTlZNDUwODBEMDEqDQorWDI5MTIwOVk0NTAzNUQwMSoNCitYMjkxMzIzWTQ1MDA3RDAxKg0KK1gyOTE0NDFZNDQ5OThEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2OTQ0MVk3MDA2M0QwMipYMjY5Mjk2WTcwMzAxRDAxKg0KK1gyNjg4MTBZNzA4NjlEMDEqDQorWDI2ODI0Mlk3MTM1NUQwMSoNCitYMjY3NjA0WTcxNzQ1RDAxKg0KK1gyNjY5MTNZNzIwMzFEMDEqDQorWDI2NjE4Nlk3MjIwNkQwMSoNCitYMjY1NDQxWTcyMjY1RDAxKg0KK1k3NjAwMEQwMSoNCitYMjY5NDQxRDAxKg0KK1k3MDA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k2MDA2M0QwMipYMjY5Mjk2WTYwMzAxRDAxKg0KK1gyNjg4MTBZNjA4NjlEMDEqDQorWDI2ODI0Mlk2MTM1NUQwMSoNCitYMjY3NjA0WTYxNzQ1RDAxKg0KK1gyNjY5MTNZNjIwMzFEMDEqDQorWDI2NjE4Nlk2MjIwNkQwMSoNCitYMjY1NDQxWTYyMjY1RDAxKg0KK1k2MjczNUQwMSoNCitYMjY2MTg2WTYyNzk0RDAxKg0KK1gyNjY5MTNZNjI5NjlEMDEqDQorWDI2NzYwNFk2MzI1NUQwMSoNCitYMjY4MjQyWTYzNjQ1RDAxKg0KK1gyNjg4MTBZNjQxMzFEMDEqDQorWDI2OTI5Nlk2NDY5OUQwMSoNCitYMjY5NDQxWTY0OTM3RDAxKg0KK1k2MDA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYMjY1NDQxRDAxKg0KK1k0Mjc1MEQwMSoNCitYMjY3MTkxRDAxKg0KK1gyNjczMDlZNDI3NTdEMDEqDQorWDI2NzQyM1k0Mjc4NUQwMSoNCitYMjY3NTMzWTQyODMwRDAxKg0KK1gyNjc2MzNZNDI4OTFEMDEqDQorWDI2NzcyM1k0Mjk2OEQwMSoNCitYMjY3ODAwWTQzMDU4RDAxKg0KK1gyNjc4NjFZNDMxNThEMDEqDQorWDI2NzkwNlk0MzI2OEQwMSoNCitYMjY3OTM0WTQzMzgyRDAxKg0KK1gyNjc5NDNZNDM1MDBEMDEqDQorWDI2NzkzNFk0MzYxOEQwMSoNCitYMjY3OTA2WTQzNzMyRDAxKg0KK1gyNjc4NjFZNDM4NDJEMDEqDQorWDI2NzgwMFk0Mzk0MkQwMSoNCitYMjY3NzIzWTQ0MDMyRDAxKg0KK1gyNjc2MzNZNDQxMDlEMDEqDQorWDI2NzUzM1k0NDE3MEQwMSoNCitYMjY3NDIzWTQ0MjE1RDAxKg0KK1gyNjczMDlZNDQyNDNEMDEqDQorWDI2NzE5MVk0NDI1MEQwMSoNCitYMjY1NDQxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjY3MTkxRDAxKg0KK1gyNjczMDlZNTA3NTdEMDEqDQorWDI2NzQyM1k1MDc4NUQwMSoNCitYMjY3NTMzWTUwODMwRDAxKg0KK1gyNjc2MzNZNTA4OTFEMDEqDQorWDI2NzcyM1k1MDk2OEQwMSoNCitYMjY3ODAwWTUxMDU4RDAxKg0KK1gyNjc4NjFZNTExNThEMDEqDQorWDI2NzkwNlk1MTI2OEQwMSoNCitYMjY3OTM0WTUxMzgyRDAxKg0KK1gyNjc5NDNZNTE1MDBEMDEqDQorWDI2NzkzNFk1MTYxOEQwMSoNCitYMjY3OTA2WTUxNzMyRDAxKg0KK1gyNjc4NjFZNTE4NDJEMDEqDQorWDI2NzgwMFk1MTk0MkQwMSoNCitYMjY3NzIzWTUyMDMyRDAxKg0KK1gyNjc2MzNZNTIxMDlEMDEqDQorWDI2NzUzM1k1MjE3MEQwMSoNCitYMjY3NDIzWTUyMjE1RDAxKg0KK1gyNjczMDlZNTIyNDNEMDEqDQorWDI2NzE5MVk1MjI1MEQwMSoNCitYMjY1NDQxRDAxKg0KK1k1MjczNUQwMSoNCitYMjY2MTg2WTUyNzk0RDAxKg0KK1gyNjY5MTNZNTI5NjlEMDEqDQorWDI2NzYwNFk1MzI1NUQwMSoNCitYMjY4MjQyWTUzNjQ1RDAxKg0KK1gyNjg4MTBZNTQxMzFEMDEqDQorWDI2OTI5Nlk1NDY5OUQwMSoNCitYMjY5NDQxWTU0OTM3RDAxKg0KK1k1MDAwMkQwMSoNCitYMjY5MzIzWTQ5OTkzRDAxKg0KK1gyNjkyMDlZNDk5NjVEMDEqDQorWDI2OTA5OVk0OTkyMEQwMSoNCitYMjY4OTk5WTQ5ODU5RDAxKg0KK1gyNjg5MDlZNDk3ODJEMDEqDQorWDI2ODgzMlk0OTY5MkQwMSoNCitYMjY4NzcxWTQ5NTkyRDAxKg0KK1gyNjg3MjZZNDk0ODJEMDEqDQorWDI2ODY5OFk0OTM2OEQwMSoNCitYMjY4NjkxWTQ5MjUwRDAxKg0KK1k0NTc1MEQwMSoNCitYMjY4Njk4WTQ1NjMyRDAxKg0KK1gyNjg3MjZZNDU1MThEMDEqDQorWDI2ODc3MVk0NTQwOEQwMSoNCitYMjY4ODMyWTQ1MzA4RDAxKg0KK1gyNjg5MDlZNDUyMThEMDEqDQorWDI2ODk5OVk0NTE0MUQwMSoNCitYMjY5MDk5WTQ1MDgwRDAxKg0KK1gyNjkyMDlZNDUwMzVEMDEqDQorWDI2OTMyM1k0NTAwN0QwMSoNCitYMjY5NDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjE0NDFZNjQ5MzdEMDIqWDI2MTU4Nlk2NDY5OUQwMSoNCitYMjYyMDcyWTY0MTMxRDAxKg0KK1gyNjI2NDBZNjM2NDVEMDEqDQorWDI2MzI3OFk2MzI1NUQwMSoNCitYMjYzOTY5WTYyOTY5RDAxKg0KK1gyNjQ2OTZZNjI3OTREMDEqDQorWDI2NTQ0MVk2MjczNUQwMSoNCitYMjY1NDQxRDAxKg0KK1k2MjI2NUQwMSoNCitYMjY1NDQxRDAxKg0KK1gyNjQ2OTZZNjIyMDZEMDEqDQorWDI2Mzk2OVk2MjAzMUQwMSoNCitYMjYzMjc4WTYxNzQ1RDAxKg0KK1gyNjI2NDBZNjEzNTVEMDEqDQorWDI2MjA3Mlk2MDg2OUQwMSoNCitYMjYxNTg2WTYwMzAxRDAxKg0KK1gyNjE0NDFZNjAwNjNEMDEqDQorWTY0OTM3RDAxKg0KK0czNyoNCitHMzYqDQorWTc2MDAwRDAyKlgyNjU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1gyNjU0NDFEMDEqDQorWDI2NDY5Nlk3MjIwNkQwMSoNCitYMjYzOTY5WTcyMDMxRDAxKg0KK1gyNjMyNzhZNzE3NDVEMDEqDQorWDI2MjY0MFk3MTM1NUQwMSoNCitYMjYyMDcyWTcwODY5RDAxKg0KK1gyNjE1ODZZNzAzMDFEMDEqDQorWDI2MTQ0MVk3MDA2M0QwMSoNCitZNzYwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjY1NDQxWTM5MDAwRDAyKlgyNjE0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1gyNjE1NTlZNDUwMDdEMDEqDQorWDI2MTY3M1k0NTAzNUQwMSoNCitYMjYxNzgzWTQ1MDgwRDAxKg0KK1gyNjE4ODNZNDUxNDFEMDEqDQorWDI2MTk3M1k0NTIxOEQwMSoNCitYMjYyMDUwWTQ1MzA4RDAxKg0KK1gyNjIxMTFZNDU0MDhEMDEqDQorWDI2MjE1Nlk0NTUxOEQwMSoNCitYMjYyMTg0WTQ1NjMyRDAxKg0KK1gyNjIxOTFZNDU3NTBEMDEqDQorWTQ5MjUwRDAxKg0KK1gyNjIxODRZNDkzNjhEMDEqDQorWDI2MjE1Nlk0OTQ4MkQwMSoNCitYMjYyMTExWTQ5NTkyRDAxKg0KK1gyNjIwNTBZNDk2OTJEMDEqDQorWDI2MTk3M1k0OTc4MkQwMSoNCitYMjYxODgzWTQ5ODU5RDAxKg0KK1gyNjE3ODNZNDk5MjBEMDEqDQorWDI2MTY3M1k0OTk2NUQwMSoNCitYMjYxNTU5WTQ5OTkzRDAxKg0KK1gyNjE0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1gyNjE1ODZZNTQ2OTlEMDEqDQorWDI2MjA3Mlk1NDEzMUQwMSoNCitYMjYyNjQwWTUzNjQ1RDAxKg0KK1gyNjMyNzhZNTMyNTVEMDEqDQorWDI2Mzk2OVk1Mjk2OUQwMSoNCitYMjY0Njk2WTUyNzk0RDAxKg0KK1gyNjU0NDFZNTI3MzVEMDEqDQorWDI2NTQ0MUQwMSoNCitZNTIyNTBEMDEqDQorWDI2MzY5MUQwMSoNCitYMjYzNTczWTUyMjQzRDAxKg0KK1gyNjM0NTlZNTIyMTVEMDEqDQorWDI2MzM0OVk1MjE3MEQwMSoNCitYMjYzMjQ5WTUyMTA5RDAxKg0KK1gyNjMxNTlZNTIwMzJEMDEqDQorWDI2MzA4Mlk1MTk0MkQwMSoNCitYMjYzMDIxWTUxODQyRDAxKg0KK1gyNjI5NzZZNTE3MzJEMDEqDQorWDI2Mjk0OFk1MTYxOEQwMSoNCitYMjYyOTM5WTUxNTAwRDAxKg0KK1gyNjI5NDhZNTEzODJEMDEqDQorWDI2Mjk3Nlk1MTI2OEQwMSoNCitYMjYzMDIxWTUxMTU4RDAxKg0KK1gyNjMwODJZNTEwNThEMDEqDQorWDI2MzE1OVk1MDk2OEQwMSoNCitYMjYzMjQ5WTUwODkxRDAxKg0KK1gyNjMzNDlZNTA4MzBEMDEqDQorWDI2MzQ1OVk1MDc4NUQwMSoNCitYMjYzNTczWTUwNzU3RDAxKg0KK1gyNjM2OTFZNTA3NTBEMDEqDQorWDI2NTQ0MUQwMSoNCitZNDQyNTBEMDEqDQorWDI2MzY5MUQwMSoNCitYMjYzNTczWTQ0MjQzRDAxKg0KK1gyNjM0NTlZNDQyMTVEMDEqDQorWDI2MzM0OVk0NDE3MEQwMSoNCitYMjYzMjQ5WTQ0MTA5RDAxKg0KK1gyNjMxNTlZNDQwMzJEMDEqDQorWDI2MzA4Mlk0Mzk0MkQwMSoNCitYMjYzMDIxWTQzODQyRDAxKg0KK1gyNjI5NzZZNDM3MzJEMDEqDQorWDI2Mjk0OFk0MzYxOEQwMSoNCitYMjYyOTM5WTQzNTAwRDAxKg0KK1gyNjI5NDhZNDMzODJEMDEqDQorWDI2Mjk3Nlk0MzI2OEQwMSoNCitYMjYzMDIxWTQzMTU4RDAxKg0KK1gyNjMwODJZNDMwNThEMDEqDQorWDI2MzE1OVk0Mjk2OEQwMSoNCitYMjYzMjQ5WTQyODkxRDAxKg0KK1gyNjMzNDlZNDI4MzBEMDEqDQorWDI2MzQ1OVk0Mjc4NUQwMSoNCitYMjYzNTczWTQyNzU3RDAxKg0KK1gyNjM2OTFZNDI3NTBEMDEqDQorWDI2NTQ0MUQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjYxNDQxRDAyKlgyMzk0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1gyMzk1NTlZNDUwMDdEMDEqDQorWDIzOTY3M1k0NTAzNUQwMSoNCitYMjM5NzgzWTQ1MDgwRDAxKg0KK1gyMzk4ODNZNDUxNDFEMDEqDQorWDIzOTk3M1k0NTIxOEQwMSoNCitYMjQwMDUwWTQ1MzA4RDAxKg0KK1gyNDAxMTFZNDU0MDhEMDEqDQorWDI0MDE1Nlk0NTUxOEQwMSoNCitYMjQwMTg0WTQ1NjMyRDAxKg0KK1gyNDAxOTFZNDU3NTBEMDEqDQorWTQ5MjUwRDAxKg0KK1gyNDAxODRZNDkzNjhEMDEqDQorWDI0MDE1Nlk0OTQ4MkQwMSoNCitYMjQwMTExWTQ5NTkyRDAxKg0KK1gyNDAwNTBZNDk2OTJEMDEqDQorWDIzOTk3M1k0OTc4MkQwMSoNCitYMjM5ODgzWTQ5ODU5RDAxKg0KK1gyMzk3ODNZNDk5MjBEMDEqDQorWDIzOTY3M1k0OTk2NUQwMSoNCitYMjM5NTU5WTQ5OTkzRDAxKg0KK1gyMzk0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1gyMzk2ODZZNTUzMzdEMDEqDQorWDIzOTk3Mlk1NjAyOEQwMSoNCitYMjQwMTQ3WTU2NzU1RDAxKg0KK1gyNDAxOTFZNTc1MDBEMDEqDQorWDI0MDE0N1k1ODI0NUQwMSoNCitYMjM5OTcyWTU4OTcyRDAxKg0KK1gyMzk2ODZZNTk2NjNEMDEqDQorWDIzOTQ0MVk2MDA2M0QwMSoNCitZNjQ5MzdEMDEqDQorWDIzOTY4Nlk2NTMzN0QwMSoNCitYMjM5OTcyWTY2MDI4RDAxKg0KK1gyNDAxNDdZNjY3NTVEMDEqDQorWDI0MDE5MVk2NzUwMEQwMSoNCitYMjQwMTQ3WTY4MjQ1RDAxKg0KK1gyMzk5NzJZNjg5NzJEMDEqDQorWDIzOTY4Nlk2OTY2M0QwMSoNCitYMjM5NDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitYMjYxNDQxRDAxKg0KK1k3MDA2M0QwMSoNCitYMjYxMTk2WTY5NjYzRDAxKg0KK1gyNjA5MTBZNjg5NzJEMDEqDQorWDI2MDczNVk2ODI0NUQwMSoNCitYMjYwNjc2WTY3NTAwRDAxKg0KK1gyNjA3MzVZNjY3NTVEMDEqDQorWDI2MDkxMFk2NjAyOEQwMSoNCitYMjYxMTk2WTY1MzM3RDAxKg0KK1gyNjE0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK1gyNjExOTZZNTk2NjNEMDEqDQorWDI2MDkxMFk1ODk3MkQwMSoNCitYMjYwNzM1WTU4MjQ1RDAxKg0KK1gyNjA2NzZZNTc1MDBEMDEqDQorWDI2MDczNVk1Njc1NUQwMSoNCitYMjYwOTEwWTU2MDI4RDAxKg0KK1gyNjExOTZZNTUzMzdEMDEqDQorWDI2MTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDI2MTMyM1k0OTk5M0QwMSoNCitYMjYxMjA5WTQ5OTY1RDAxKg0KK1gyNjEwOTlZNDk5MjBEMDEqDQorWDI2MDk5OVk0OTg1OUQwMSoNCitYMjYwOTA5WTQ5NzgyRDAxKg0KK1gyNjA4MzJZNDk2OTJEMDEqDQorWDI2MDc3MVk0OTU5MkQwMSoNCitYMjYwNzI2WTQ5NDgyRDAxKg0KK1gyNjA2OThZNDkzNjhEMDEqDQorWDI2MDY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDI2MDY5OFk0NTYzMkQwMSoNCitYMjYwNzI2WTQ1NTE4RDAxKg0KK1gyNjA3NzFZNDU0MDhEMDEqDQorWDI2MDgzMlk0NTMwOEQwMSoNCitYMjYwOTA5WTQ1MjE4RDAxKg0KK1gyNjA5OTlZNDUxNDFEMDEqDQorWDI2MTA5OVk0NTA4MEQwMSoNCitYMjYxMjA5WTQ1MDM1RDAxKg0KK1gyNjEzMjNZNDUwMDdEMDEqDQorWDI2MTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjM5NDQxWTcwMDYzRDAyKlgyMzkyOTZZNzAzMDFEMDEqDQorWDIzODgxMFk3MDg2OUQwMSoNCitYMjM4MjQyWTcxMzU1RDAxKg0KK1gyMzc2MDRZNzE3NDVEMDEqDQorWDIzNjkxM1k3MjAzMUQwMSoNCitYMjM2MTg2WTcyMjA2RDAxKg0KK1gyMzU0NDFZNzIyNjVEMDEqDQorWTc2MDAwRDAxKg0KK1gyMzk0NDFEMDEqDQorWTcwMDYzRDAxKg0KK0czNyoNCitHMzYqDQorWTYwMDYzRDAyKlgyMzkyOTZZNjAzMDFEMDEqDQorWDIzODgxMFk2MDg2OUQwMSoNCitYMjM4MjQyWTYxMzU1RDAxKg0KK1gyMzc2MDRZNjE3NDVEMDEqDQorWDIzNjkxM1k2MjAzMUQwMSoNCitYMjM2MTg2WTYyMjA2RDAxKg0KK1gyMzU0NDFZNjIyNjVEMDEqDQorWTYyNzM1RDAxKg0KK1gyMzYxODZZNjI3OTREMDEqDQorWDIzNjkxM1k2Mjk2OUQwMSoNCitYMjM3NjA0WTYzMjU1RDAxKg0KK1gyMzgyNDJZNjM2NDVEMDEqDQorWDIzODgxMFk2NDEzMUQwMSoNCitYMjM5Mjk2WTY0Njk5RDAxKg0KK1gyMzk0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5MDAwRDAyKlgyMzU0NDFEMDEqDQorWTQyNzUwRDAxKg0KK1gyMzcxOTFEMDEqDQorWDIzNzMwOVk0Mjc1N0QwMSoNCitYMjM3NDIzWTQyNzg1RDAxKg0KK1gyMzc1MzNZNDI4MzBEMDEqDQorWDIzNzYzM1k0Mjg5MUQwMSoNCitYMjM3NzIzWTQyOTY4RDAxKg0KK1gyMzc4MDBZNDMwNThEMDEqDQorWDIzNzg2MVk0MzE1OEQwMSoNCitYMjM3OTA2WTQzMjY4RDAxKg0KK1gyMzc5MzRZNDMzODJEMDEqDQorWDIzNzk0M1k0MzUwMEQwMSoNCitYMjM3OTM0WTQzNjE4RDAxKg0KK1gyMzc5MDZZNDM3MzJEMDEqDQorWDIzNzg2MVk0Mzg0MkQwMSoNCitYMjM3ODAwWTQzOTQyRDAxKg0KK1gyMzc3MjNZNDQwMzJEMDEqDQorWDIzNzYzM1k0NDEwOUQwMSoNCitYMjM3NTMzWTQ0MTcwRDAxKg0KK1gyMzc0MjNZNDQyMTVEMDEqDQorWDIzNzMwOVk0NDI0M0QwMSoNCitYMjM3MTkxWTQ0MjUwRDAxKg0KK1gyMzU0NDFEMDEqDQorWTUwNzUwRDAxKg0KK1gyMzcxOTFEMDEqDQorWDIzNzMwOVk1MDc1N0QwMSoNCitYMjM3NDIzWTUwNzg1RDAxKg0KK1gyMzc1MzNZNTA4MzBEMDEqDQorWDIzNzYzM1k1MDg5MUQwMSoNCitYMjM3NzIzWTUwOTY4RDAxKg0KK1gyMzc4MDBZNTEwNThEMDEqDQorWDIzNzg2MVk1MTE1OEQwMSoNCitYMjM3OTA2WTUxMjY4RDAxKg0KK1gyMzc5MzRZNTEzODJEMDEqDQorWDIzNzk0M1k1MTUwMEQwMSoNCitYMjM3OTM0WTUxNjE4RDAxKg0KK1gyMzc5MDZZNTE3MzJEMDEqDQorWDIzNzg2MVk1MTg0MkQwMSoNCitYMjM3ODAwWTUxOTQyRDAxKg0KK1gyMzc3MjNZNTIwMzJEMDEqDQorWDIzNzYzM1k1MjEwOUQwMSoNCitYMjM3NTMzWTUyMTcwRDAxKg0KK1gyMzc0MjNZNTIyMTVEMDEqDQorWDIzNzMwOVk1MjI0M0QwMSoNCitYMjM3MTkxWTUyMjUwRDAxKg0KK1gyMzU0NDFEMDEqDQorWTUyNzM1RDAxKg0KK1gyMzYxODZZNTI3OTREMDEqDQorWDIzNjkxM1k1Mjk2OUQwMSoNCitYMjM3NjA0WTUzMjU1RDAxKg0KK1gyMzgyNDJZNTM2NDVEMDEqDQorWDIzODgxMFk1NDEzMUQwMSoNCitYMjM5Mjk2WTU0Njk5RDAxKg0KK1gyMzk0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1gyMzkzMjNZNDk5OTNEMDEqDQorWDIzOTIwOVk0OTk2NUQwMSoNCitYMjM5MDk5WTQ5OTIwRDAxKg0KK1gyMzg5OTlZNDk4NTlEMDEqDQorWDIzODkwOVk0OTc4MkQwMSoNCitYMjM4ODMyWTQ5NjkyRDAxKg0KK1gyMzg3NzFZNDk1OTJEMDEqDQorWDIzODcyNlk0OTQ4MkQwMSoNCitYMjM4Njk4WTQ5MzY4RDAxKg0KK1gyMzg2OTFZNDkyNTBEMDEqDQorWTQ1NzUwRDAxKg0KK1gyMzg2OThZNDU2MzJEMDEqDQorWDIzODcyNlk0NTUxOEQwMSoNCitYMjM4NzcxWTQ1NDA4RDAxKg0KK1gyMzg4MzJZNDUzMDhEMDEqDQorWDIzODkwOVk0NTIxOEQwMSoNCitYMjM4OTk5WTQ1MTQxRDAxKg0KK1gyMzkwOTlZNDUwODBEMDEqDQorWDIzOTIwOVk0NTAzNUQwMSoNCitYMjM5MzIzWTQ1MDA3RDAxKg0KK1gyMzk0NDFZNDQ5OThEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzMTQ0MVk2NDkzN0QwMipYMjMxNTg2WTY0Njk5RDAxKg0KK1gyMzIwNzJZNjQxMzFEMDEqDQorWDIzMjY0MFk2MzY0NUQwMSoNCitYMjMzMjc4WTYzMjU1RDAxKg0KK1gyMzM5NjlZNjI5NjlEMDEqDQorWDIzNDY5Nlk2Mjc5NEQwMSoNCitYMjM1NDQxWTYyNzM1RDAxKg0KK1gyMzU0NDFEMDEqDQorWTYyMjY1RDAxKg0KK1gyMzU0NDFEMDEqDQorWDIzNDY5Nlk2MjIwNkQwMSoNCitYMjMzOTY5WTYyMDMxRDAxKg0KK1gyMzMyNzhZNjE3NDVEMDEqDQorWDIzMjY0MFk2MTM1NUQwMSoNCitYMjMyMDcyWTYwODY5RDAxKg0KK1gyMzE1ODZZNjAzMDFEMDEqDQorWDIzMTQ0MVk2MDA2M0QwMSoNCitZNjQ5MzdEMDEqDQorRzM3Kg0KK0czNioNCitZNzYwMDBEMDIqWDIzNTQ0MUQwMSoNCitZNzIyNjVEMDEqDQorWDIzNTQ0MUQwMSoNCitYMjM0Njk2WTcyMjA2RDAxKg0KK1gyMzM5NjlZNzIwMzFEMDEqDQorWDIzMzI3OFk3MTc0NUQwMSoNCitYMjMyNjQwWTcxMzU1RDAxKg0KK1gyMzIwNzJZNzA4NjlEMDEqDQorWDIzMTU4Nlk3MDMwMUQwMSoNCitYMjMxNDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzU0NDFZMzkwMDBEMDIqWDIzMTQ0MUQwMSoNCitZNDQ5OThEMDEqDQorWDIzMTU1OVk0NTAwN0QwMSoNCitYMjMxNjczWTQ1MDM1RDAxKg0KK1gyMzE3ODNZNDUwODBEMDEqDQorWDIzMTg4M1k0NTE0MUQwMSoNCitYMjMxOTczWTQ1MjE4RDAxKg0KK1gyMzIwNTBZNDUzMDhEMDEqDQorWDIzMjExMVk0NTQwOEQwMSoNCitYMjMyMTU2WTQ1NTE4RDAxKg0KK1gyMzIxODRZNDU2MzJEMDEqDQorWDIzMjE5MVk0NTc1MEQwMSoNCitZNDkyNTBEMDEqDQorWDIzMjE4NFk0OTM2OEQwMSoNCitYMjMyMTU2WTQ5NDgyRDAxKg0KK1gyMzIxMTFZNDk1OTJEMDEqDQorWDIzMjA1MFk0OTY5MkQwMSoNCitYMjMxOTczWTQ5NzgyRDAxKg0KK1gyMzE4ODNZNDk4NTlEMDEqDQorWDIzMTc4M1k0OTkyMEQwMSoNCitYMjMxNjczWTQ5OTY1RDAxKg0KK1gyMzE1NTlZNDk5OTNEMDEqDQorWDIzMTQ0MVk1MDAwMkQwMSoNCitZNTQ5MzdEMDEqDQorWDIzMTU4Nlk1NDY5OUQwMSoNCitYMjMyMDcyWTU0MTMxRDAxKg0KK1gyMzI2NDBZNTM2NDVEMDEqDQorWDIzMzI3OFk1MzI1NUQwMSoNCitYMjMzOTY5WTUyOTY5RDAxKg0KK1gyMzQ2OTZZNTI3OTREMDEqDQorWDIzNTQ0MVk1MjczNUQwMSoNCitYMjM1NDQxRDAxKg0KK1k1MjI1MEQwMSoNCitYMjMzNjkxRDAxKg0KK1gyMzM1NzNZNTIyNDNEMDEqDQorWDIzMzQ1OVk1MjIxNUQwMSoNCitYMjMzMzQ5WTUyMTcwRDAxKg0KK1gyMzMyNDlZNTIxMDlEMDEqDQorWDIzMzE1OVk1MjAzMkQwMSoNCitYMjMzMDgyWTUxOTQyRDAxKg0KK1gyMzMwMjFZNTE4NDJEMDEqDQorWDIzMjk3Nlk1MTczMkQwMSoNCitYMjMyOTQ4WTUxNjE4RDAxKg0KK1gyMzI5MzlZNTE1MDBEMDEqDQorWDIzMjk0OFk1MTM4MkQwMSoNCitYMjMyOTc2WTUxMjY4RDAxKg0KK1gyMzMwMjFZNTExNThEMDEqDQorWDIzMzA4Mlk1MTA1OEQwMSoNCitYMjMzMTU5WTUwOTY4RDAxKg0KK1gyMzMyNDlZNTA4OTFEMDEqDQorWDIzMzM0OVk1MDgzMEQwMSoNCitYMjMzNDU5WTUwNzg1RDAxKg0KK1gyMzM1NzNZNTA3NTdEMDEqDQorWDIzMzY5MVk1MDc1MEQwMSoNCitYMjM1NDQxRDAxKg0KK1k0NDI1MEQwMSoNCitYMjMzNjkxRDAxKg0KK1gyMzM1NzNZNDQyNDNEMDEqDQorWDIzMzQ1OVk0NDIxNUQwMSoNCitYMjMzMzQ5WTQ0MTcwRDAxKg0KK1gyMzMyNDlZNDQxMDlEMDEqDQorWDIzMzE1OVk0NDAzMkQwMSoNCitYMjMzMDgyWTQzOTQyRDAxKg0KK1gyMzMwMjFZNDM4NDJEMDEqDQorWDIzMjk3Nlk0MzczMkQwMSoNCitYMjMyOTQ4WTQzNjE4RDAxKg0KK1gyMzI5MzlZNDM1MDBEMDEqDQorWDIzMjk0OFk0MzM4MkQwMSoNCitYMjMyOTc2WTQzMjY4RDAxKg0KK1gyMzMwMjFZNDMxNThEMDEqDQorWDIzMzA4Mlk0MzA1OEQwMSoNCitYMjMzMTU5WTQyOTY4RDAxKg0KK1gyMzMyNDlZNDI4OTFEMDEqDQorWDIzMzM0OVk0MjgzMEQwMSoNCitYMjMzNDU5WTQyNzg1RDAxKg0KK1gyMzM1NzNZNDI3NTdEMDEqDQorWDIzMzY5MVk0Mjc1MEQwMSoNCitYMjM1NDQxRDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzE0NDFEMDIqWDIwOTQ0MUQwMSoNCitZNDQ5OThEMDEqDQorWDIwOTU1OVk0NTAwN0QwMSoNCitYMjA5NjczWTQ1MDM1RDAxKg0KK1gyMDk3ODNZNDUwODBEMDEqDQorWDIwOTg4M1k0NTE0MUQwMSoNCitYMjA5OTczWTQ1MjE4RDAxKg0KK1gyMTAwNTBZNDUzMDhEMDEqDQorWDIxMDExMVk0NTQwOEQwMSoNCitYMjEwMTU2WTQ1NTE4RDAxKg0KK1gyMTAxODRZNDU2MzJEMDEqDQorWDIxMDE5MVk0NTc1MEQwMSoNCitZNDkyNTBEMDEqDQorWDIxMDE4NFk0OTM2OEQwMSoNCitYMjEwMTU2WTQ5NDgyRDAxKg0KK1gyMTAxMTFZNDk1OTJEMDEqDQorWDIxMDA1MFk0OTY5MkQwMSoNCitYMjA5OTczWTQ5NzgyRDAxKg0KK1gyMDk4ODNZNDk4NTlEMDEqDQorWDIwOTc4M1k0OTkyMEQwMSoNCitYMjA5NjczWTQ5OTY1RDAxKg0KK1gyMDk1NTlZNDk5OTNEMDEqDQorWDIwOTQ0MVk1MDAwMkQwMSoNCitZNTQ5MzdEMDEqDQorWDIwOTY4Nlk1NTMzN0QwMSoNCitYMjA5OTcyWTU2MDI4RDAxKg0KK1gyMTAxNDdZNTY3NTVEMDEqDQorWDIxMDE5MVk1NzUwMEQwMSoNCitYMjEwMTQ3WTU4MjQ1RDAxKg0KK1gyMDk5NzJZNTg5NzJEMDEqDQorWDIwOTY4Nlk1OTY2M0QwMSoNCitYMjA5NDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitYMjA5Njg2WTY1MzM3RDAxKg0KK1gyMDk5NzJZNjYwMjhEMDEqDQorWDIxMDE0N1k2Njc1NUQwMSoNCitYMjEwMTkxWTY3NTAwRDAxKg0KK1gyMTAxNDdZNjgyNDVEMDEqDQorWDIwOTk3Mlk2ODk3MkQwMSoNCitYMjA5Njg2WTY5NjYzRDAxKg0KK1gyMDk0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK1gyMzE0NDFEMDEqDQorWTcwMDYzRDAxKg0KK1gyMzExOTZZNjk2NjNEMDEqDQorWDIzMDkxMFk2ODk3MkQwMSoNCitYMjMwNzM1WTY4MjQ1RDAxKg0KK1gyMzA2NzZZNjc1MDBEMDEqDQorWDIzMDczNVk2Njc1NUQwMSoNCitYMjMwOTEwWTY2MDI4RDAxKg0KK1gyMzExOTZZNjUzMzdEMDEqDQorWDIzMTQ0MVk2NDkzN0QwMSoNCitZNjAwNjNEMDEqDQorWDIzMTE5Nlk1OTY2M0QwMSoNCitYMjMwOTEwWTU4OTcyRDAxKg0KK1gyMzA3MzVZNTgyNDVEMDEqDQorWDIzMDY3Nlk1NzUwMEQwMSoNCitYMjMwNzM1WTU2NzU1RDAxKg0KK1gyMzA5MTBZNTYwMjhEMDEqDQorWDIzMTE5Nlk1NTMzN0QwMSoNCitYMjMxNDQxWTU0OTM3RDAxKg0KK1k1MDAwMkQwMSoNCitYMjMxMzIzWTQ5OTkzRDAxKg0KK1gyMzEyMDlZNDk5NjVEMDEqDQorWDIzMTA5OVk0OTkyMEQwMSoNCitYMjMwOTk5WTQ5ODU5RDAxKg0KK1gyMzA5MDlZNDk3ODJEMDEqDQorWDIzMDgzMlk0OTY5MkQwMSoNCitYMjMwNzcxWTQ5NTkyRDAxKg0KK1gyMzA3MjZZNDk0ODJEMDEqDQorWDIzMDY5OFk0OTM2OEQwMSoNCitYMjMwNjkxWTQ5MjUwRDAxKg0KK1k0NTc1MEQwMSoNCitYMjMwNjk4WTQ1NjMyRDAxKg0KK1gyMzA3MjZZNDU1MThEMDEqDQorWDIzMDc3MVk0NTQwOEQwMSoNCitYMjMwODMyWTQ1MzA4RDAxKg0KK1gyMzA5MDlZNDUyMThEMDEqDQorWDIzMDk5OVk0NTE0MUQwMSoNCitYMjMxMDk5WTQ1MDgwRDAxKg0KK1gyMzEyMDlZNDUwMzVEMDEqDQorWDIzMTMyM1k0NTAwN0QwMSoNCitYMjMxNDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDk0NDFZNzAwNjNEMDIqWDIwOTI5Nlk3MDMwMUQwMSoNCitYMjA4ODEwWTcwODY5RDAxKg0KK1gyMDgyNDJZNzEzNTVEMDEqDQorWDIwNzYwNFk3MTc0NUQwMSoNCitYMjA2OTEzWTcyMDMxRDAxKg0KK1gyMDYxODZZNzIyMDZEMDEqDQorWDIwNTQ0MVk3MjI2NUQwMSoNCitZNzYwMDBEMDEqDQorWDIwOTQ0MUQwMSoNCitZNzAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZNjAwNjNEMDIqWDIwOTI5Nlk2MDMwMUQwMSoNCitYMjA4ODEwWTYwODY5RDAxKg0KK1gyMDgyNDJZNjEzNTVEMDEqDQorWDIwNzYwNFk2MTc0NUQwMSoNCitYMjA2OTEzWTYyMDMxRDAxKg0KK1gyMDYxODZZNjIyMDZEMDEqDQorWDIwNTQ0MVk2MjI2NUQwMSoNCitZNjI3MzVEMDEqDQorWDIwNjE4Nlk2Mjc5NEQwMSoNCitYMjA2OTEzWTYyOTY5RDAxKg0KK1gyMDc2MDRZNjMyNTVEMDEqDQorWDIwODI0Mlk2MzY0NUQwMSoNCitYMjA4ODEwWTY0MTMxRDAxKg0KK1gyMDkyOTZZNjQ2OTlEMDEqDQorWDIwOTQ0MVk2NDkzN0QwMSoNCitZNjAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDIwNTQ0MUQwMSoNCitZNDI3NTBEMDEqDQorWDIwNzE5MUQwMSoNCitYMjA3MzA5WTQyNzU3RDAxKg0KK1gyMDc0MjNZNDI3ODVEMDEqDQorWDIwNzUzM1k0MjgzMEQwMSoNCitYMjA3NjMzWTQyODkxRDAxKg0KK1gyMDc3MjNZNDI5NjhEMDEqDQorWDIwNzgwMFk0MzA1OEQwMSoNCitYMjA3ODYxWTQzMTU4RDAxKg0KK1gyMDc5MDZZNDMyNjhEMDEqDQorWDIwNzkzNFk0MzM4MkQwMSoNCitYMjA3OTQzWTQzNTAwRDAxKg0KK1gyMDc5MzRZNDM2MThEMDEqDQorWDIwNzkwNlk0MzczMkQwMSoNCitYMjA3ODYxWTQzODQyRDAxKg0KK1gyMDc4MDBZNDM5NDJEMDEqDQorWDIwNzcyM1k0NDAzMkQwMSoNCitYMjA3NjMzWTQ0MTA5RDAxKg0KK1gyMDc1MzNZNDQxNzBEMDEqDQorWDIwNzQyM1k0NDIxNUQwMSoNCitYMjA3MzA5WTQ0MjQzRDAxKg0KK1gyMDcxOTFZNDQyNTBEMDEqDQorWDIwNTQ0MUQwMSoNCitZNTA3NTBEMDEqDQorWDIwNzE5MUQwMSoNCitYMjA3MzA5WTUwNzU3RDAxKg0KK1gyMDc0MjNZNTA3ODVEMDEqDQorWDIwNzUzM1k1MDgzMEQwMSoNCitYMjA3NjMzWTUwODkxRDAxKg0KK1gyMDc3MjNZNTA5NjhEMDEqDQorWDIwNzgwMFk1MTA1OEQwMSoNCitYMjA3ODYxWTUxMTU4RDAxKg0KK1gyMDc5MDZZNTEyNjhEMDEqDQorWDIwNzkzNFk1MTM4MkQwMSoNCitYMjA3OTQzWTUxNTAwRDAxKg0KK1gyMDc5MzRZNTE2MThEMDEqDQorWDIwNzkwNlk1MTczMkQwMSoNCitYMjA3ODYxWTUxODQyRDAxKg0KK1gyMDc4MDBZNTE5NDJEMDEqDQorWDIwNzcyM1k1MjAzMkQwMSoNCitYMjA3NjMzWTUyMTA5RDAxKg0KK1gyMDc1MzNZNTIxNzBEMDEqDQorWDIwNzQyM1k1MjIxNUQwMSoNCitYMjA3MzA5WTUyMjQzRDAxKg0KK1gyMDcxOTFZNTIyNTBEMDEqDQorWDIwNTQ0MUQwMSoNCitZNTI3MzVEMDEqDQorWDIwNjE4Nlk1Mjc5NEQwMSoNCitYMjA2OTEzWTUyOTY5RDAxKg0KK1gyMDc2MDRZNTMyNTVEMDEqDQorWDIwODI0Mlk1MzY0NUQwMSoNCitYMjA4ODEwWTU0MTMxRDAxKg0KK1gyMDkyOTZZNTQ2OTlEMDEqDQorWDIwOTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDIwOTMyM1k0OTk5M0QwMSoNCitYMjA5MjA5WTQ5OTY1RDAxKg0KK1gyMDkwOTlZNDk5MjBEMDEqDQorWDIwODk5OVk0OTg1OUQwMSoNCitYMjA4OTA5WTQ5NzgyRDAxKg0KK1gyMDg4MzJZNDk2OTJEMDEqDQorWDIwODc3MVk0OTU5MkQwMSoNCitYMjA4NzI2WTQ5NDgyRDAxKg0KK1gyMDg2OThZNDkzNjhEMDEqDQorWDIwODY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDIwODY5OFk0NTYzMkQwMSoNCitYMjA4NzI2WTQ1NTE4RDAxKg0KK1gyMDg3NzFZNDU0MDhEMDEqDQorWDIwODgzMlk0NTMwOEQwMSoNCitYMjA4OTA5WTQ1MjE4RDAxKg0KK1gyMDg5OTlZNDUxNDFEMDEqDQorWDIwOTA5OVk0NTA4MEQwMSoNCitYMjA5MjA5WTQ1MDM1RDAxKg0KK1gyMDkzMjNZNDUwMDdEMDEqDQorWDIwOTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjAxNDQxWTY0OTM3RDAyKlgyMDE1ODZZNjQ2OTlEMDEqDQorWDIwMjA3Mlk2NDEzMUQwMSoNCitYMjAyNjQwWTYzNjQ1RDAxKg0KK1gyMDMyNzhZNjMyNTVEMDEqDQorWDIwMzk2OVk2Mjk2OUQwMSoNCitYMjA0Njk2WTYyNzk0RDAxKg0KK1gyMDU0NDFZNjI3MzVEMDEqDQorWDIwNTQ0MUQwMSoNCitZNjIyNjVEMDEqDQorWDIwNTQ0MUQwMSoNCitYMjA0Njk2WTYyMjA2RDAxKg0KK1gyMDM5NjlZNjIwMzFEMDEqDQorWDIwMzI3OFk2MTc0NUQwMSoNCitYMjAyNjQwWTYxMzU1RDAxKg0KK1gyMDIwNzJZNjA4NjlEMDEqDQorWDIwMTU4Nlk2MDMwMUQwMSoNCitYMjAxNDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjAwMEQwMipYMjA1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMjA1NDQxRDAxKg0KK1gyMDQ2OTZZNzIyMDZEMDEqDQorWDIwMzk2OVk3MjAzMUQwMSoNCitYMjAzMjc4WTcxNzQ1RDAxKg0KK1gyMDI2NDBZNzEzNTVEMDEqDQorWDIwMjA3Mlk3MDg2OUQwMSoNCitYMjAxNTg2WTcwMzAxRDAxKg0KK1gyMDE0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwNTQ0MVkzOTAwMEQwMipYMjAxNDQxRDAxKg0KK1k0NDk5OEQwMSoNCitYMjAxNTU5WTQ1MDA3RDAxKg0KK1gyMDE2NzNZNDUwMzVEMDEqDQorWDIwMTc4M1k0NTA4MEQwMSoNCitYMjAxODgzWTQ1MTQxRDAxKg0KK1gyMDE5NzNZNDUyMThEMDEqDQorWDIwMjA1MFk0NTMwOEQwMSoNCitYMjAyMTExWTQ1NDA4RDAxKg0KK1gyMDIxNTZZNDU1MThEMDEqDQorWDIwMjE4NFk0NTYzMkQwMSoNCitYMjAyMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYMjAyMTg0WTQ5MzY4RDAxKg0KK1gyMDIxNTZZNDk0ODJEMDEqDQorWDIwMjExMVk0OTU5MkQwMSoNCitYMjAyMDUwWTQ5NjkyRDAxKg0KK1gyMDE5NzNZNDk3ODJEMDEqDQorWDIwMTg4M1k0OTg1OUQwMSoNCitYMjAxNzgzWTQ5OTIwRDAxKg0KK1gyMDE2NzNZNDk5NjVEMDEqDQorWDIwMTU1OVk0OTk5M0QwMSoNCitYMjAxNDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYMjAxNTg2WTU0Njk5RDAxKg0KK1gyMDIwNzJZNTQxMzFEMDEqDQorWDIwMjY0MFk1MzY0NUQwMSoNCitYMjAzMjc4WTUzMjU1RDAxKg0KK1gyMDM5NjlZNTI5NjlEMDEqDQorWDIwNDY5Nlk1Mjc5NEQwMSoNCitYMjA1NDQxWTUyNzM1RDAxKg0KK1gyMDU0NDFEMDEqDQorWTUyMjUwRDAxKg0KK1gyMDM2OTFEMDEqDQorWDIwMzU3M1k1MjI0M0QwMSoNCitYMjAzNDU5WTUyMjE1RDAxKg0KK1gyMDMzNDlZNTIxNzBEMDEqDQorWDIwMzI0OVk1MjEwOUQwMSoNCitYMjAzMTU5WTUyMDMyRDAxKg0KK1gyMDMwODJZNTE5NDJEMDEqDQorWDIwMzAyMVk1MTg0MkQwMSoNCitYMjAyOTc2WTUxNzMyRDAxKg0KK1gyMDI5NDhZNTE2MThEMDEqDQorWDIwMjkzOVk1MTUwMEQwMSoNCitYMjAyOTQ4WTUxMzgyRDAxKg0KK1gyMDI5NzZZNTEyNjhEMDEqDQorWDIwMzAyMVk1MTE1OEQwMSoNCitYMjAzMDgyWTUxMDU4RDAxKg0KK1gyMDMxNTlZNTA5NjhEMDEqDQorWDIwMzI0OVk1MDg5MUQwMSoNCitYMjAzMzQ5WTUwODMwRDAxKg0KK1gyMDM0NTlZNTA3ODVEMDEqDQorWDIwMzU3M1k1MDc1N0QwMSoNCitYMjAzNjkxWTUwNzUwRDAxKg0KK1gyMDU0NDFEMDEqDQorWTQ0MjUwRDAxKg0KK1gyMDM2OTFEMDEqDQorWDIwMzU3M1k0NDI0M0QwMSoNCitYMjAzNDU5WTQ0MjE1RDAxKg0KK1gyMDMzNDlZNDQxNzBEMDEqDQorWDIwMzI0OVk0NDEwOUQwMSoNCitYMjAzMTU5WTQ0MDMyRDAxKg0KK1gyMDMwODJZNDM5NDJEMDEqDQorWDIwMzAyMVk0Mzg0MkQwMSoNCitYMjAyOTc2WTQzNzMyRDAxKg0KK1gyMDI5NDhZNDM2MThEMDEqDQorWDIwMjkzOVk0MzUwMEQwMSoNCitYMjAyOTQ4WTQzMzgyRDAxKg0KK1gyMDI5NzZZNDMyNjhEMDEqDQorWDIwMzAyMVk0MzE1OEQwMSoNCitYMjAzMDgyWTQzMDU4RDAxKg0KK1gyMDMxNTlZNDI5NjhEMDEqDQorWDIwMzI0OVk0Mjg5MUQwMSoNCitYMjAzMzQ5WTQyODMwRDAxKg0KK1gyMDM0NTlZNDI3ODVEMDEqDQorWDIwMzU3M1k0Mjc1N0QwMSoNCitYMjAzNjkxWTQyNzUwRDAxKg0KK1gyMDU0NDFEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwMTQ0MUQwMipYMTc5NDQxRDAxKg0KK1k0NDk5OEQwMSoNCitYMTc5NTU5WTQ1MDA3RDAxKg0KK1gxNzk2NzNZNDUwMzVEMDEqDQorWDE3OTc4M1k0NTA4MEQwMSoNCitYMTc5ODgzWTQ1MTQxRDAxKg0KK1gxNzk5NzNZNDUyMThEMDEqDQorWDE4MDA1MFk0NTMwOEQwMSoNCitYMTgwMTExWTQ1NDA4RDAxKg0KK1gxODAxNTZZNDU1MThEMDEqDQorWDE4MDE4NFk0NTYzMkQwMSoNCitYMTgwMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYMTgwMTg0WTQ5MzY4RDAxKg0KK1gxODAxNTZZNDk0ODJEMDEqDQorWDE4MDExMVk0OTU5MkQwMSoNCitYMTgwMDUwWTQ5NjkyRDAxKg0KK1gxNzk5NzNZNDk3ODJEMDEqDQorWDE3OTg4M1k0OTg1OUQwMSoNCitYMTc5NzgzWTQ5OTIwRDAxKg0KK1gxNzk2NzNZNDk5NjVEMDEqDQorWDE3OTU1OVk0OTk5M0QwMSoNCitYMTc5NDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYMTc5Njg2WTU1MzM3RDAxKg0KK1gxNzk5NzJZNTYwMjhEMDEqDQorWDE4MDE0N1k1Njc1NUQwMSoNCitYMTgwMTkxWTU3NTAwRDAxKg0KK1gxODAxNDdZNTgyNDVEMDEqDQorWDE3OTk3Mlk1ODk3MkQwMSoNCitYMTc5Njg2WTU5NjYzRDAxKg0KK1gxNzk0NDFZNjAwNjNEMDEqDQorWTY0OTM3RDAxKg0KK1gxNzk2ODZZNjUzMzdEMDEqDQorWDE3OTk3Mlk2NjAyOEQwMSoNCitYMTgwMTQ3WTY2NzU1RDAxKg0KK1gxODAxOTFZNjc1MDBEMDEqDQorWDE4MDE0N1k2ODI0NUQwMSoNCitYMTc5OTcyWTY4OTcyRDAxKg0KK1gxNzk2ODZZNjk2NjNEMDEqDQorWDE3OTQ0MVk3MDA2M0QwMSoNCitZNzYwMDBEMDEqDQorWDIwMTQ0MUQwMSoNCitZNzAwNjNEMDEqDQorWDIwMTE5Nlk2OTY2M0QwMSoNCitYMjAwOTEwWTY4OTcyRDAxKg0KK1gyMDA3MzVZNjgyNDVEMDEqDQorWDIwMDY3Nlk2NzUwMEQwMSoNCitYMjAwNzM1WTY2NzU1RDAxKg0KK1gyMDA5MTBZNjYwMjhEMDEqDQorWDIwMTE5Nlk2NTMzN0QwMSoNCitYMjAxNDQxWTY0OTM3RDAxKg0KK1k2MDA2M0QwMSoNCitYMjAxMTk2WTU5NjYzRDAxKg0KK1gyMDA5MTBZNTg5NzJEMDEqDQorWDIwMDczNVk1ODI0NUQwMSoNCitYMjAwNjc2WTU3NTAwRDAxKg0KK1gyMDA3MzVZNTY3NTVEMDEqDQorWDIwMDkxMFk1NjAyOEQwMSoNCitYMjAxMTk2WTU1MzM3RDAxKg0KK1gyMDE0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1gyMDEzMjNZNDk5OTNEMDEqDQorWDIwMTIwOVk0OTk2NUQwMSoNCitYMjAxMDk5WTQ5OTIwRDAxKg0KK1gyMDA5OTlZNDk4NTlEMDEqDQorWDIwMDkwOVk0OTc4MkQwMSoNCitYMjAwODMyWTQ5NjkyRDAxKg0KK1gyMDA3NzFZNDk1OTJEMDEqDQorWDIwMDcyNlk0OTQ4MkQwMSoNCitYMjAwNjk4WTQ5MzY4RDAxKg0KK1gyMDA2OTFZNDkyNTBEMDEqDQorWTQ1NzUwRDAxKg0KK1gyMDA2OThZNDU2MzJEMDEqDQorWDIwMDcyNlk0NTUxOEQwMSoNCitYMjAwNzcxWTQ1NDA4RDAxKg0KK1gyMDA4MzJZNDUzMDhEMDEqDQorWDIwMDkwOVk0NTIxOEQwMSoNCitYMjAwOTk5WTQ1MTQxRDAxKg0KK1gyMDEwOTlZNDUwODBEMDEqDQorWDIwMTIwOVk0NTAzNUQwMSoNCitYMjAxMzIzWTQ1MDA3RDAxKg0KK1gyMDE0NDFZNDQ5OThEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE3OTQ0MVk3MDA2M0QwMipYMTc5Mjk2WTcwMzAxRDAxKg0KK1gxNzg4MTBZNzA4NjlEMDEqDQorWDE3ODI0Mlk3MTM1NUQwMSoNCitYMTc3NjA0WTcxNzQ1RDAxKg0KK1gxNzY5MTNZNzIwMzFEMDEqDQorWDE3NjE4Nlk3MjIwNkQwMSoNCitYMTc1NDQxWTcyMjY1RDAxKg0KK1k3NjAwMEQwMSoNCitYMTc5NDQxRDAxKg0KK1k3MDA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k2MDA2M0QwMipYMTc5Mjk2WTYwMzAxRDAxKg0KK1gxNzg4MTBZNjA4NjlEMDEqDQorWDE3ODI0Mlk2MTM1NUQwMSoNCitYMTc3NjA0WTYxNzQ1RDAxKg0KK1gxNzY5MTNZNjIwMzFEMDEqDQorWDE3NjE4Nlk2MjIwNkQwMSoNCitYMTc1NDQxWTYyMjY1RDAxKg0KK1k2MjczNUQwMSoNCitYMTc2MTg2WTYyNzk0RDAxKg0KK1gxNzY5MTNZNjI5NjlEMDEqDQorWDE3NzYwNFk2MzI1NUQwMSoNCitYMTc4MjQyWTYzNjQ1RDAxKg0KK1gxNzg4MTBZNjQxMzFEMDEqDQorWDE3OTI5Nlk2NDY5OUQwMSoNCitYMTc5NDQxWTY0OTM3RDAxKg0KK1k2MDA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYMTc1NDQxRDAxKg0KK1k0Mjc1MEQwMSoNCitYMTc3MTkxRDAxKg0KK1gxNzczMDlZNDI3NTdEMDEqDQorWDE3NzQyM1k0Mjc4NUQwMSoNCitYMTc3NTMzWTQyODMwRDAxKg0KK1gxNzc2MzNZNDI4OTFEMDEqDQorWDE3NzcyM1k0Mjk2OEQwMSoNCitYMTc3ODAwWTQzMDU4RDAxKg0KK1gxNzc4NjFZNDMxNThEMDEqDQorWDE3NzkwNlk0MzI2OEQwMSoNCitYMTc3OTM0WTQzMzgyRDAxKg0KK1gxNzc5NDNZNDM1MDBEMDEqDQorWDE3NzkzNFk0MzYxOEQwMSoNCitYMTc3OTA2WTQzNzMyRDAxKg0KK1gxNzc4NjFZNDM4NDJEMDEqDQorWDE3NzgwMFk0Mzk0MkQwMSoNCitYMTc3NzIzWTQ0MDMyRDAxKg0KK1gxNzc2MzNZNDQxMDlEMDEqDQorWDE3NzUzM1k0NDE3MEQwMSoNCitYMTc3NDIzWTQ0MjE1RDAxKg0KK1gxNzczMDlZNDQyNDNEMDEqDQorWDE3NzE5MVk0NDI1MEQwMSoNCitYMTc1NDQxRDAxKg0KK1k1MDc1MEQwMSoNCitYMTc3MTkxRDAxKg0KK1gxNzczMDlZNTA3NTdEMDEqDQorWDE3NzQyM1k1MDc4NUQwMSoNCitYMTc3NTMzWTUwODMwRDAxKg0KK1gxNzc2MzNZNTA4OTFEMDEqDQorWDE3NzcyM1k1MDk2OEQwMSoNCitYMTc3ODAwWTUxMDU4RDAxKg0KK1gxNzc4NjFZNTExNThEMDEqDQorWDE3NzkwNlk1MTI2OEQwMSoNCitYMTc3OTM0WTUxMzgyRDAxKg0KK1gxNzc5NDNZNTE1MDBEMDEqDQorWDE3NzkzNFk1MTYxOEQwMSoNCitYMTc3OTA2WTUxNzMyRDAxKg0KK1gxNzc4NjFZNTE4NDJEMDEqDQorWDE3NzgwMFk1MTk0MkQwMSoNCitYMTc3NzIzWTUyMDMyRDAxKg0KK1gxNzc2MzNZNTIxMDlEMDEqDQorWDE3NzUzM1k1MjE3MEQwMSoNCitYMTc3NDIzWTUyMjE1RDAxKg0KK1gxNzczMDlZNTIyNDNEMDEqDQorWDE3NzE5MVk1MjI1MEQwMSoNCitYMTc1NDQxRDAxKg0KK1k1MjczNUQwMSoNCitYMTc2MTg2WTUyNzk0RDAxKg0KK1gxNzY5MTNZNTI5NjlEMDEqDQorWDE3NzYwNFk1MzI1NUQwMSoNCitYMTc4MjQyWTUzNjQ1RDAxKg0KK1gxNzg4MTBZNTQxMzFEMDEqDQorWDE3OTI5Nlk1NDY5OUQwMSoNCitYMTc5NDQxWTU0OTM3RDAxKg0KK1k1MDAwMkQwMSoNCitYMTc5MzIzWTQ5OTkzRDAxKg0KK1gxNzkyMDlZNDk5NjVEMDEqDQorWDE3OTA5OVk0OTkyMEQwMSoNCitYMTc4OTk5WTQ5ODU5RDAxKg0KK1gxNzg5MDlZNDk3ODJEMDEqDQorWDE3ODgzMlk0OTY5MkQwMSoNCitYMTc4NzcxWTQ5NTkyRDAxKg0KK1gxNzg3MjZZNDk0ODJEMDEqDQorWDE3ODY5OFk0OTM2OEQwMSoNCitYMTc4NjkxWTQ5MjUwRDAxKg0KK1k0NTc1MEQwMSoNCitYMTc4Njk4WTQ1NjMyRDAxKg0KK1gxNzg3MjZZNDU1MThEMDEqDQorWDE3ODc3MVk0NTQwOEQwMSoNCitYMTc4ODMyWTQ1MzA4RDAxKg0KK1gxNzg5MDlZNDUyMThEMDEqDQorWDE3ODk5OVk0NTE0MUQwMSoNCitYMTc5MDk5WTQ1MDgwRDAxKg0KK1gxNzkyMDlZNDUwMzVEMDEqDQorWDE3OTMyM1k0NTAwN0QwMSoNCitYMTc5NDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzE0NDFZNjQ5MzdEMDIqWDE3MTU4Nlk2NDY5OUQwMSoNCitYMTcyMDcyWTY0MTMxRDAxKg0KK1gxNzI2NDBZNjM2NDVEMDEqDQorWDE3MzI3OFk2MzI1NUQwMSoNCitYMTczOTY5WTYyOTY5RDAxKg0KK1gxNzQ2OTZZNjI3OTREMDEqDQorWDE3NTQ0MVk2MjczNUQwMSoNCitYMTc1NDQxRDAxKg0KK1k2MjI2NUQwMSoNCitYMTc1NDQxRDAxKg0KK1gxNzQ2OTZZNjIyMDZEMDEqDQorWDE3Mzk2OVk2MjAzMUQwMSoNCitYMTczMjc4WTYxNzQ1RDAxKg0KK1gxNzI2NDBZNjEzNTVEMDEqDQorWDE3MjA3Mlk2MDg2OUQwMSoNCitYMTcxNTg2WTYwMzAxRDAxKg0KK1gxNzE0NDFZNjAwNjNEMDEqDQorWTY0OTM3RDAxKg0KK0czNyoNCitHMzYqDQorWTc2MDAwRDAyKlgxNzU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1gxNzU0NDFEMDEqDQorWDE3NDY5Nlk3MjIwNkQwMSoNCitYMTczOTY5WTcyMDMxRDAxKg0KK1gxNzMyNzhZNzE3NDVEMDEqDQorWDE3MjY0MFk3MTM1NUQwMSoNCitYMTcyMDcyWTcwODY5RDAxKg0KK1gxNzE1ODZZNzAzMDFEMDEqDQorWDE3MTQ0MVk3MDA2M0QwMSoNCitZNzYwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTc1NDQxWTM5MDAwRDAyKlgxNzE0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1gxNzE1NTlZNDUwMDdEMDEqDQorWDE3MTY3M1k0NTAzNUQwMSoNCitYMTcxNzgzWTQ1MDgwRDAxKg0KK1gxNzE4ODNZNDUxNDFEMDEqDQorWDE3MTk3M1k0NTIxOEQwMSoNCitYMTcyMDUwWTQ1MzA4RDAxKg0KK1gxNzIxMTFZNDU0MDhEMDEqDQorWDE3MjE1Nlk0NTUxOEQwMSoNCitYMTcyMTg0WTQ1NjMyRDAxKg0KK1gxNzIxOTFZNDU3NTBEMDEqDQorWTQ5MjUwRDAxKg0KK1gxNzIxODRZNDkzNjhEMDEqDQorWDE3MjE1Nlk0OTQ4MkQwMSoNCitYMTcyMTExWTQ5NTkyRDAxKg0KK1gxNzIwNTBZNDk2OTJEMDEqDQorWDE3MTk3M1k0OTc4MkQwMSoNCitYMTcxODgzWTQ5ODU5RDAxKg0KK1gxNzE3ODNZNDk5MjBEMDEqDQorWDE3MTY3M1k0OTk2NUQwMSoNCitYMTcxNTU5WTQ5OTkzRDAxKg0KK1gxNzE0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1gxNzE1ODZZNTQ2OTlEMDEqDQorWDE3MjA3Mlk1NDEzMUQwMSoNCitYMTcyNjQwWTUzNjQ1RDAxKg0KK1gxNzMyNzhZNTMyNTVEMDEqDQorWDE3Mzk2OVk1Mjk2OUQwMSoNCitYMTc0Njk2WTUyNzk0RDAxKg0KK1gxNzU0NDFZNTI3MzVEMDEqDQorWDE3NTQ0MUQwMSoNCitZNTIyNTBEMDEqDQorWDE3MzY5MUQwMSoNCitYMTczNTczWTUyMjQzRDAxKg0KK1gxNzM0NTlZNTIyMTVEMDEqDQorWDE3MzM0OVk1MjE3MEQwMSoNCitYMTczMjQ5WTUyMTA5RDAxKg0KK1gxNzMxNTlZNTIwMzJEMDEqDQorWDE3MzA4Mlk1MTk0MkQwMSoNCitYMTczMDIxWTUxODQyRDAxKg0KK1gxNzI5NzZZNTE3MzJEMDEqDQorWDE3Mjk0OFk1MTYxOEQwMSoNCitYMTcyOTM5WTUxNTAwRDAxKg0KK1gxNzI5NDhZNTEzODJEMDEqDQorWDE3Mjk3Nlk1MTI2OEQwMSoNCitYMTczMDIxWTUxMTU4RDAxKg0KK1gxNzMwODJZNTEwNThEMDEqDQorWDE3MzE1OVk1MDk2OEQwMSoNCitYMTczMjQ5WTUwODkxRDAxKg0KK1gxNzMzNDlZNTA4MzBEMDEqDQorWDE3MzQ1OVk1MDc4NUQwMSoNCitYMTczNTczWTUwNzU3RDAxKg0KK1gxNzM2OTFZNTA3NTBEMDEqDQorWDE3NTQ0MUQwMSoNCitZNDQyNTBEMDEqDQorWDE3MzY5MUQwMSoNCitYMTczNTczWTQ0MjQzRDAxKg0KK1gxNzM0NTlZNDQyMTVEMDEqDQorWDE3MzM0OVk0NDE3MEQwMSoNCitYMTczMjQ5WTQ0MTA5RDAxKg0KK1gxNzMxNTlZNDQwMzJEMDEqDQorWDE3MzA4Mlk0Mzk0MkQwMSoNCitYMTczMDIxWTQzODQyRDAxKg0KK1gxNzI5NzZZNDM3MzJEMDEqDQorWDE3Mjk0OFk0MzYxOEQwMSoNCitYMTcyOTM5WTQzNTAwRDAxKg0KK1gxNzI5NDhZNDMzODJEMDEqDQorWDE3Mjk3Nlk0MzI2OEQwMSoNCitYMTczMDIxWTQzMTU4RDAxKg0KK1gxNzMwODJZNDMwNThEMDEqDQorWDE3MzE1OVk0Mjk2OEQwMSoNCitYMTczMjQ5WTQyODkxRDAxKg0KK1gxNzMzNDlZNDI4MzBEMDEqDQorWDE3MzQ1OVk0Mjc4NUQwMSoNCitYMTczNTczWTQyNzU3RDAxKg0KK1gxNzM2OTFZNDI3NTBEMDEqDQorWDE3NTQ0MUQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTcxNDQxRDAyKlgxNDk0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1gxNDk1NTlZNDUwMDdEMDEqDQorWDE0OTY3M1k0NTAzNUQwMSoNCitYMTQ5NzgzWTQ1MDgwRDAxKg0KK1gxNDk4ODNZNDUxNDFEMDEqDQorWDE0OTk3M1k0NTIxOEQwMSoNCitYMTUwMDUwWTQ1MzA4RDAxKg0KK1gxNTAxMTFZNDU0MDhEMDEqDQorWDE1MDE1Nlk0NTUxOEQwMSoNCitYMTUwMTg0WTQ1NjMyRDAxKg0KK1gxNTAxOTFZNDU3NTBEMDEqDQorWTQ5MjUwRDAxKg0KK1gxNTAxODRZNDkzNjhEMDEqDQorWDE1MDE1Nlk0OTQ4MkQwMSoNCitYMTUwMTExWTQ5NTkyRDAxKg0KK1gxNTAwNTBZNDk2OTJEMDEqDQorWDE0OTk3M1k0OTc4MkQwMSoNCitYMTQ5ODgzWTQ5ODU5RDAxKg0KK1gxNDk3ODNZNDk5MjBEMDEqDQorWDE0OTY3M1k0OTk2NUQwMSoNCitYMTQ5NTU5WTQ5OTkzRDAxKg0KK1gxNDk0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1gxNDk2ODZZNTUzMzdEMDEqDQorWDE0OTk3Mlk1NjAyOEQwMSoNCitYMTUwMTQ3WTU2NzU1RDAxKg0KK1gxNTAxOTFZNTc1MDBEMDEqDQorWDE1MDE0N1k1ODI0NUQwMSoNCitYMTQ5OTcyWTU4OTcyRDAxKg0KK1gxNDk2ODZZNTk2NjNEMDEqDQorWDE0OTQ0MVk2MDA2M0QwMSoNCitZNjQ5MzdEMDEqDQorWDE0OTY4Nlk2NTMzN0QwMSoNCitYMTQ5OTcyWTY2MDI4RDAxKg0KK1gxNTAxNDdZNjY3NTVEMDEqDQorWDE1MDE5MVk2NzUwMEQwMSoNCitYMTUwMTQ3WTY4MjQ1RDAxKg0KK1gxNDk5NzJZNjg5NzJEMDEqDQorWDE0OTY4Nlk2OTY2M0QwMSoNCitYMTQ5NDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitYMTcxNDQxRDAxKg0KK1k3MDA2M0QwMSoNCitYMTcxMTk2WTY5NjYzRDAxKg0KK1gxNzA5MTBZNjg5NzJEMDEqDQorWDE3MDczNVk2ODI0NUQwMSoNCitYMTcwNjc2WTY3NTAwRDAxKg0KK1gxNzA3MzVZNjY3NTVEMDEqDQorWDE3MDkxMFk2NjAyOEQwMSoNCitYMTcxMTk2WTY1MzM3RDAxKg0KK1gxNzE0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK1gxNzExOTZZNTk2NjNEMDEqDQorWDE3MDkxMFk1ODk3MkQwMSoNCitYMTcwNzM1WTU4MjQ1RDAxKg0KK1gxNzA2NzZZNTc1MDBEMDEqDQorWDE3MDczNVk1Njc1NUQwMSoNCitYMTcwOTEwWTU2MDI4RDAxKg0KK1gxNzExOTZZNTUzMzdEMDEqDQorWDE3MTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDE3MTMyM1k0OTk5M0QwMSoNCitYMTcxMjA5WTQ5OTY1RDAxKg0KK1gxNzEwOTlZNDk5MjBEMDEqDQorWDE3MDk5OVk0OTg1OUQwMSoNCitYMTcwOTA5WTQ5NzgyRDAxKg0KK1gxNzA4MzJZNDk2OTJEMDEqDQorWDE3MDc3MVk0OTU5MkQwMSoNCitYMTcwNzI2WTQ5NDgyRDAxKg0KK1gxNzA2OThZNDkzNjhEMDEqDQorWDE3MDY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDE3MDY5OFk0NTYzMkQwMSoNCitYMTcwNzI2WTQ1NTE4RDAxKg0KK1gxNzA3NzFZNDU0MDhEMDEqDQorWDE3MDgzMlk0NTMwOEQwMSoNCitYMTcwOTA5WTQ1MjE4RDAxKg0KK1gxNzA5OTlZNDUxNDFEMDEqDQorWDE3MTA5OVk0NTA4MEQwMSoNCitYMTcxMjA5WTQ1MDM1RDAxKg0KK1gxNzEzMjNZNDUwMDdEMDEqDQorWDE3MTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTQ5NDQxWTcwMDYzRDAyKlgxNDkyOTZZNzAzMDFEMDEqDQorWDE0ODgxMFk3MDg2OUQwMSoNCitYMTQ4MjQyWTcxMzU1RDAxKg0KK1gxNDc2MDRZNzE3NDVEMDEqDQorWDE0NjkxM1k3MjAzMUQwMSoNCitYMTQ2MTg2WTcyMjA2RDAxKg0KK1gxNDU0NDFZNzIyNjVEMDEqDQorWTc2MDAwRDAxKg0KK1gxNDk0NDFEMDEqDQorWTcwMDYzRDAxKg0KK0czNyoNCitHMzYqDQorWTYwMDYzRDAyKlgxNDkyOTZZNjAzMDFEMDEqDQorWDE0ODgxMFk2MDg2OUQwMSoNCitYMTQ4MjQyWTYxMzU1RDAxKg0KK1gxNDc2MDRZNjE3NDVEMDEqDQorWDE0NjkxM1k2MjAzMUQwMSoNCitYMTQ2MTg2WTYyMjA2RDAxKg0KK1gxNDU0NDFZNjIyNjVEMDEqDQorWTYyNzM1RDAxKg0KK1gxNDYxODZZNjI3OTREMDEqDQorWDE0NjkxM1k2Mjk2OUQwMSoNCitYMTQ3NjA0WTYzMjU1RDAxKg0KK1gxNDgyNDJZNjM2NDVEMDEqDQorWDE0ODgxMFk2NDEzMUQwMSoNCitYMTQ5Mjk2WTY0Njk5RDAxKg0KK1gxNDk0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5MDAwRDAyKlgxNDU0NDFEMDEqDQorWTQyNzUwRDAxKg0KK1gxNDcxOTFEMDEqDQorWDE0NzMwOVk0Mjc1N0QwMSoNCitYMTQ3NDIzWTQyNzg1RDAxKg0KK1gxNDc1MzNZNDI4MzBEMDEqDQorWDE0NzYzM1k0Mjg5MUQwMSoNCitYMTQ3NzIzWTQyOTY4RDAxKg0KK1gxNDc4MDBZNDMwNThEMDEqDQorWDE0Nzg2MVk0MzE1OEQwMSoNCitYMTQ3OTA2WTQzMjY4RDAxKg0KK1gxNDc5MzRZNDMzODJEMDEqDQorWDE0Nzk0M1k0MzUwMEQwMSoNCitYMTQ3OTM0WTQzNjE4RDAxKg0KK1gxNDc5MDZZNDM3MzJEMDEqDQorWDE0Nzg2MVk0Mzg0MkQwMSoNCitYMTQ3ODAwWTQzOTQyRDAxKg0KK1gxNDc3MjNZNDQwMzJEMDEqDQorWDE0NzYzM1k0NDEwOUQwMSoNCitYMTQ3NTMzWTQ0MTcwRDAxKg0KK1gxNDc0MjNZNDQyMTVEMDEqDQorWDE0NzMwOVk0NDI0M0QwMSoNCitYMTQ3MTkxWTQ0MjUwRDAxKg0KK1gxNDU0NDFEMDEqDQorWTUwNzUwRDAxKg0KK1gxNDcxOTFEMDEqDQorWDE0NzMwOVk1MDc1N0QwMSoNCitYMTQ3NDIzWTUwNzg1RDAxKg0KK1gxNDc1MzNZNTA4MzBEMDEqDQorWDE0NzYzM1k1MDg5MUQwMSoNCitYMTQ3NzIzWTUwOTY4RDAxKg0KK1gxNDc4MDBZNTEwNThEMDEqDQorWDE0Nzg2MVk1MTE1OEQwMSoNCitYMTQ3OTA2WTUxMjY4RDAxKg0KK1gxNDc5MzRZNTEzODJEMDEqDQorWDE0Nzk0M1k1MTUwMEQwMSoNCitYMTQ3OTM0WTUxNjE4RDAxKg0KK1gxNDc5MDZZNTE3MzJEMDEqDQorWDE0Nzg2MVk1MTg0MkQwMSoNCitYMTQ3ODAwWTUxOTQyRDAxKg0KK1gxNDc3MjNZNTIwMzJEMDEqDQorWDE0NzYzM1k1MjEwOUQwMSoNCitYMTQ3NTMzWTUyMTcwRDAxKg0KK1gxNDc0MjNZNTIyMTVEMDEqDQorWDE0NzMwOVk1MjI0M0QwMSoNCitYMTQ3MTkxWTUyMjUwRDAxKg0KK1gxNDU0NDFEMDEqDQorWTUyNzM1RDAxKg0KK1gxNDYxODZZNTI3OTREMDEqDQorWDE0NjkxM1k1Mjk2OUQwMSoNCitYMTQ3NjA0WTUzMjU1RDAxKg0KK1gxNDgyNDJZNTM2NDVEMDEqDQorWDE0ODgxMFk1NDEzMUQwMSoNCitYMTQ5Mjk2WTU0Njk5RDAxKg0KK1gxNDk0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1gxNDkzMjNZNDk5OTNEMDEqDQorWDE0OTIwOVk0OTk2NUQwMSoNCitYMTQ5MDk5WTQ5OTIwRDAxKg0KK1gxNDg5OTlZNDk4NTlEMDEqDQorWDE0ODkwOVk0OTc4MkQwMSoNCitYMTQ4ODMyWTQ5NjkyRDAxKg0KK1gxNDg3NzFZNDk1OTJEMDEqDQorWDE0ODcyNlk0OTQ4MkQwMSoNCitYMTQ4Njk4WTQ5MzY4RDAxKg0KK1gxNDg2OTFZNDkyNTBEMDEqDQorWTQ1NzUwRDAxKg0KK1gxNDg2OThZNDU2MzJEMDEqDQorWDE0ODcyNlk0NTUxOEQwMSoNCitYMTQ4NzcxWTQ1NDA4RDAxKg0KK1gxNDg4MzJZNDUzMDhEMDEqDQorWDE0ODkwOVk0NTIxOEQwMSoNCitYMTQ4OTk5WTQ1MTQxRDAxKg0KK1gxNDkwOTlZNDUwODBEMDEqDQorWDE0OTIwOVk0NTAzNUQwMSoNCitYMTQ5MzIzWTQ1MDA3RDAxKg0KK1gxNDk0NDFZNDQ5OThEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0MTQ0MVk2NDkzN0QwMipYMTQxNTg2WTY0Njk5RDAxKg0KK1gxNDIwNzJZNjQxMzFEMDEqDQorWDE0MjY0MFk2MzY0NUQwMSoNCitYMTQzMjc4WTYzMjU1RDAxKg0KK1gxNDM5NjlZNjI5NjlEMDEqDQorWDE0NDY5Nlk2Mjc5NEQwMSoNCitYMTQ1NDQxWTYyNzM1RDAxKg0KK1gxNDU0NDFEMDEqDQorWTYyMjY1RDAxKg0KK1gxNDU0NDFEMDEqDQorWDE0NDY5Nlk2MjIwNkQwMSoNCitYMTQzOTY5WTYyMDMxRDAxKg0KK1gxNDMyNzhZNjE3NDVEMDEqDQorWDE0MjY0MFk2MTM1NUQwMSoNCitYMTQyMDcyWTYwODY5RDAxKg0KK1gxNDE1ODZZNjAzMDFEMDEqDQorWDE0MTQ0MVk2MDA2M0QwMSoNCitZNjQ5MzdEMDEqDQorRzM3Kg0KK0czNioNCitZNzYwMDBEMDIqWDE0NTQ0MUQwMSoNCitZNzIyNjVEMDEqDQorWDE0NTQ0MUQwMSoNCitYMTQ0Njk2WTcyMjA2RDAxKg0KK1gxNDM5NjlZNzIwMzFEMDEqDQorWDE0MzI3OFk3MTc0NUQwMSoNCitYMTQyNjQwWTcxMzU1RDAxKg0KK1gxNDIwNzJZNzA4NjlEMDEqDQorWDE0MTU4Nlk3MDMwMUQwMSoNCitYMTQxNDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDU0NDFZMzkwMDBEMDIqWDE0MTQ0MUQwMSoNCitZNDQ5OThEMDEqDQorWDE0MTU1OVk0NTAwN0QwMSoNCitYMTQxNjczWTQ1MDM1RDAxKg0KK1gxNDE3ODNZNDUwODBEMDEqDQorWDE0MTg4M1k0NTE0MUQwMSoNCitYMTQxOTczWTQ1MjE4RDAxKg0KK1gxNDIwNTBZNDUzMDhEMDEqDQorWDE0MjExMVk0NTQwOEQwMSoNCitYMTQyMTU2WTQ1NTE4RDAxKg0KK1gxNDIxODRZNDU2MzJEMDEqDQorWDE0MjE5MVk0NTc1MEQwMSoNCitZNDkyNTBEMDEqDQorWDE0MjE4NFk0OTM2OEQwMSoNCitYMTQyMTU2WTQ5NDgyRDAxKg0KK1gxNDIxMTFZNDk1OTJEMDEqDQorWDE0MjA1MFk0OTY5MkQwMSoNCitYMTQxOTczWTQ5NzgyRDAxKg0KK1gxNDE4ODNZNDk4NTlEMDEqDQorWDE0MTc4M1k0OTkyMEQwMSoNCitYMTQxNjczWTQ5OTY1RDAxKg0KK1gxNDE1NTlZNDk5OTNEMDEqDQorWDE0MTQ0MVk1MDAwMkQwMSoNCitZNTQ5MzdEMDEqDQorWDE0MTU4Nlk1NDY5OUQwMSoNCitYMTQyMDcyWTU0MTMxRDAxKg0KK1gxNDI2NDBZNTM2NDVEMDEqDQorWDE0MzI3OFk1MzI1NUQwMSoNCitYMTQzOTY5WTUyOTY5RDAxKg0KK1gxNDQ2OTZZNTI3OTREMDEqDQorWDE0NTQ0MVk1MjczNUQwMSoNCitYMTQ1NDQxRDAxKg0KK1k1MjI1MEQwMSoNCitYMTQzNjkxRDAxKg0KK1gxNDM1NzNZNTIyNDNEMDEqDQorWDE0MzQ1OVk1MjIxNUQwMSoNCitYMTQzMzQ5WTUyMTcwRDAxKg0KK1gxNDMyNDlZNTIxMDlEMDEqDQorWDE0MzE1OVk1MjAzMkQwMSoNCitYMTQzMDgyWTUxOTQyRDAxKg0KK1gxNDMwMjFZNTE4NDJEMDEqDQorWDE0Mjk3Nlk1MTczMkQwMSoNCitYMTQyOTQ4WTUxNjE4RDAxKg0KK1gxNDI5MzlZNTE1MDBEMDEqDQorWDE0Mjk0OFk1MTM4MkQwMSoNCitYMTQyOTc2WTUxMjY4RDAxKg0KK1gxNDMwMjFZNTExNThEMDEqDQorWDE0MzA4Mlk1MTA1OEQwMSoNCitYMTQzMTU5WTUwOTY4RDAxKg0KK1gxNDMyNDlZNTA4OTFEMDEqDQorWDE0MzM0OVk1MDgzMEQwMSoNCitYMTQzNDU5WTUwNzg1RDAxKg0KK1gxNDM1NzNZNTA3NTdEMDEqDQorWDE0MzY5MVk1MDc1MEQwMSoNCitYMTQ1NDQxRDAxKg0KK1k0NDI1MEQwMSoNCitYMTQzNjkxRDAxKg0KK1gxNDM1NzNZNDQyNDNEMDEqDQorWDE0MzQ1OVk0NDIxNUQwMSoNCitYMTQzMzQ5WTQ0MTcwRDAxKg0KK1gxNDMyNDlZNDQxMDlEMDEqDQorWDE0MzE1OVk0NDAzMkQwMSoNCitYMTQzMDgyWTQzOTQyRDAxKg0KK1gxNDMwMjFZNDM4NDJEMDEqDQorWDE0Mjk3Nlk0MzczMkQwMSoNCitYMTQyOTQ4WTQzNjE4RDAxKg0KK1gxNDI5MzlZNDM1MDBEMDEqDQorWDE0Mjk0OFk0MzM4MkQwMSoNCitYMTQyOTc2WTQzMjY4RDAxKg0KK1gxNDMwMjFZNDMxNThEMDEqDQorWDE0MzA4Mlk0MzA1OEQwMSoNCitYMTQzMTU5WTQyOTY4RDAxKg0KK1gxNDMyNDlZNDI4OTFEMDEqDQorWDE0MzM0OVk0MjgzMEQwMSoNCitYMTQzNDU5WTQyNzg1RDAxKg0KK1gxNDM1NzNZNDI3NTdEMDEqDQorWDE0MzY5MVk0Mjc1MEQwMSoNCitYMTQ1NDQxRDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDE0NDFEMDIqWDExOTQ0MUQwMSoNCitZNDQ5OThEMDEqDQorWDExOTU1OVk0NTAwN0QwMSoNCitYMTE5NjczWTQ1MDM1RDAxKg0KK1gxMTk3ODNZNDUwODBEMDEqDQorWDExOTg4M1k0NTE0MUQwMSoNCitYMTE5OTczWTQ1MjE4RDAxKg0KK1gxMjAwNTBZNDUzMDhEMDEqDQorWDEyMDExMVk0NTQwOEQwMSoNCitYMTIwMTU2WTQ1NTE4RDAxKg0KK1gxMjAxODRZNDU2MzJEMDEqDQorWDEyMDE5MVk0NTc1MEQwMSoNCitZNDkyNTBEMDEqDQorWDEyMDE4NFk0OTM2OEQwMSoNCitYMTIwMTU2WTQ5NDgyRDAxKg0KK1gxMjAxMTFZNDk1OTJEMDEqDQorWDEyMDA1MFk0OTY5MkQwMSoNCitYMTE5OTczWTQ5NzgyRDAxKg0KK1gxMTk4ODNZNDk4NTlEMDEqDQorWDExOTc4M1k0OTkyMEQwMSoNCitYMTE5NjczWTQ5OTY1RDAxKg0KK1gxMTk1NTlZNDk5OTNEMDEqDQorWDExOTQ0MVk1MDAwMkQwMSoNCitZNTQ5MzdEMDEqDQorWDExOTY4Nlk1NTMzN0QwMSoNCitYMTE5OTcyWTU2MDI4RDAxKg0KK1gxMjAxNDdZNTY3NTVEMDEqDQorWDEyMDE5MVk1NzUwMEQwMSoNCitYMTIwMTQ3WTU4MjQ1RDAxKg0KK1gxMTk5NzJZNTg5NzJEMDEqDQorWDExOTY4Nlk1OTY2M0QwMSoNCitYMTE5NDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitYMTE5Njg2WTY1MzM3RDAxKg0KK1gxMTk5NzJZNjYwMjhEMDEqDQorWDEyMDE0N1k2Njc1NUQwMSoNCitYMTIwMTkxWTY3NTAwRDAxKg0KK1gxMjAxNDdZNjgyNDVEMDEqDQorWDExOTk3Mlk2ODk3MkQwMSoNCitYMTE5Njg2WTY5NjYzRDAxKg0KK1gxMTk0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK1gxNDE0NDFEMDEqDQorWTcwMDYzRDAxKg0KK1gxNDExOTZZNjk2NjNEMDEqDQorWDE0MDkxMFk2ODk3MkQwMSoNCitYMTQwNzM1WTY4MjQ1RDAxKg0KK1gxNDA2NzZZNjc1MDBEMDEqDQorWDE0MDczNVk2Njc1NUQwMSoNCitYMTQwOTEwWTY2MDI4RDAxKg0KK1gxNDExOTZZNjUzMzdEMDEqDQorWDE0MTQ0MVk2NDkzN0QwMSoNCitZNjAwNjNEMDEqDQorWDE0MTE5Nlk1OTY2M0QwMSoNCitYMTQwOTEwWTU4OTcyRDAxKg0KK1gxNDA3MzVZNTgyNDVEMDEqDQorWDE0MDY3Nlk1NzUwMEQwMSoNCitYMTQwNzM1WTU2NzU1RDAxKg0KK1gxNDA5MTBZNTYwMjhEMDEqDQorWDE0MTE5Nlk1NTMzN0QwMSoNCitYMTQxNDQxWTU0OTM3RDAxKg0KK1k1MDAwMkQwMSoNCitYMTQxMzIzWTQ5OTkzRDAxKg0KK1gxNDEyMDlZNDk5NjVEMDEqDQorWDE0MTA5OVk0OTkyMEQwMSoNCitYMTQwOTk5WTQ5ODU5RDAxKg0KK1gxNDA5MDlZNDk3ODJEMDEqDQorWDE0MDgzMlk0OTY5MkQwMSoNCitYMTQwNzcxWTQ5NTkyRDAxKg0KK1gxNDA3MjZZNDk0ODJEMDEqDQorWDE0MDY5OFk0OTM2OEQwMSoNCitYMTQwNjkxWTQ5MjUwRDAxKg0KK1k0NTc1MEQwMSoNCitYMTQwNjk4WTQ1NjMyRDAxKg0KK1gxNDA3MjZZNDU1MThEMDEqDQorWDE0MDc3MVk0NTQwOEQwMSoNCitYMTQwODMyWTQ1MzA4RDAxKg0KK1gxNDA5MDlZNDUyMThEMDEqDQorWDE0MDk5OVk0NTE0MUQwMSoNCitYMTQxMDk5WTQ1MDgwRDAxKg0KK1gxNDEyMDlZNDUwMzVEMDEqDQorWDE0MTMyM1k0NTAwN0QwMSoNCitYMTQxNDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTk0NDFZNzAwNjNEMDIqWDExOTI5Nlk3MDMwMUQwMSoNCitYMTE4ODEwWTcwODY5RDAxKg0KK1gxMTgyNDJZNzEzNTVEMDEqDQorWDExNzYwNFk3MTc0NUQwMSoNCitYMTE2OTEzWTcyMDMxRDAxKg0KK1gxMTYxODZZNzIyMDZEMDEqDQorWDExNTQ0MVk3MjI2NUQwMSoNCitZNzYwMDBEMDEqDQorWDExOTQ0MUQwMSoNCitZNzAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZNjAwNjNEMDIqWDExOTI5Nlk2MDMwMUQwMSoNCitYMTE4ODEwWTYwODY5RDAxKg0KK1gxMTgyNDJZNjEzNTVEMDEqDQorWDExNzYwNFk2MTc0NUQwMSoNCitYMTE2OTEzWTYyMDMxRDAxKg0KK1gxMTYxODZZNjIyMDZEMDEqDQorWDExNTQ0MVk2MjI2NUQwMSoNCitZNjI3MzVEMDEqDQorWDExNjE4Nlk2Mjc5NEQwMSoNCitYMTE2OTEzWTYyOTY5RDAxKg0KK1gxMTc2MDRZNjMyNTVEMDEqDQorWDExODI0Mlk2MzY0NUQwMSoNCitYMTE4ODEwWTY0MTMxRDAxKg0KK1gxMTkyOTZZNjQ2OTlEMDEqDQorWDExOTQ0MVk2NDkzN0QwMSoNCitZNjAwNjNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDExNTQ0MUQwMSoNCitZNDI3NTBEMDEqDQorWDExNzE5MUQwMSoNCitYMTE3MzA5WTQyNzU3RDAxKg0KK1gxMTc0MjNZNDI3ODVEMDEqDQorWDExNzUzM1k0MjgzMEQwMSoNCitYMTE3NjMzWTQyODkxRDAxKg0KK1gxMTc3MjNZNDI5NjhEMDEqDQorWDExNzgwMFk0MzA1OEQwMSoNCitYMTE3ODYxWTQzMTU4RDAxKg0KK1gxMTc5MDZZNDMyNjhEMDEqDQorWDExNzkzNFk0MzM4MkQwMSoNCitYMTE3OTQzWTQzNTAwRDAxKg0KK1gxMTc5MzRZNDM2MThEMDEqDQorWDExNzkwNlk0MzczMkQwMSoNCitYMTE3ODYxWTQzODQyRDAxKg0KK1gxMTc4MDBZNDM5NDJEMDEqDQorWDExNzcyM1k0NDAzMkQwMSoNCitYMTE3NjMzWTQ0MTA5RDAxKg0KK1gxMTc1MzNZNDQxNzBEMDEqDQorWDExNzQyM1k0NDIxNUQwMSoNCitYMTE3MzA5WTQ0MjQzRDAxKg0KK1gxMTcxOTFZNDQyNTBEMDEqDQorWDExNTQ0MUQwMSoNCitZNTA3NTBEMDEqDQorWDExNzE5MUQwMSoNCitYMTE3MzA5WTUwNzU3RDAxKg0KK1gxMTc0MjNZNTA3ODVEMDEqDQorWDExNzUzM1k1MDgzMEQwMSoNCitYMTE3NjMzWTUwODkxRDAxKg0KK1gxMTc3MjNZNTA5NjhEMDEqDQorWDExNzgwMFk1MTA1OEQwMSoNCitYMTE3ODYxWTUxMTU4RDAxKg0KK1gxMTc5MDZZNTEyNjhEMDEqDQorWDExNzkzNFk1MTM4MkQwMSoNCitYMTE3OTQzWTUxNTAwRDAxKg0KK1gxMTc5MzRZNTE2MThEMDEqDQorWDExNzkwNlk1MTczMkQwMSoNCitYMTE3ODYxWTUxODQyRDAxKg0KK1gxMTc4MDBZNTE5NDJEMDEqDQorWDExNzcyM1k1MjAzMkQwMSoNCitYMTE3NjMzWTUyMTA5RDAxKg0KK1gxMTc1MzNZNTIxNzBEMDEqDQorWDExNzQyM1k1MjIxNUQwMSoNCitYMTE3MzA5WTUyMjQzRDAxKg0KK1gxMTcxOTFZNTIyNTBEMDEqDQorWDExNTQ0MUQwMSoNCitZNTI3MzVEMDEqDQorWDExNjE4Nlk1Mjc5NEQwMSoNCitYMTE2OTEzWTUyOTY5RDAxKg0KK1gxMTc2MDRZNTMyNTVEMDEqDQorWDExODI0Mlk1MzY0NUQwMSoNCitYMTE4ODEwWTU0MTMxRDAxKg0KK1gxMTkyOTZZNTQ2OTlEMDEqDQorWDExOTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDExOTMyM1k0OTk5M0QwMSoNCitYMTE5MjA5WTQ5OTY1RDAxKg0KK1gxMTkwOTlZNDk5MjBEMDEqDQorWDExODk5OVk0OTg1OUQwMSoNCitYMTE4OTA5WTQ5NzgyRDAxKg0KK1gxMTg4MzJZNDk2OTJEMDEqDQorWDExODc3MVk0OTU5MkQwMSoNCitYMTE4NzI2WTQ5NDgyRDAxKg0KK1gxMTg2OThZNDkzNjhEMDEqDQorWDExODY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDExODY5OFk0NTYzMkQwMSoNCitYMTE4NzI2WTQ1NTE4RDAxKg0KK1gxMTg3NzFZNDU0MDhEMDEqDQorWDExODgzMlk0NTMwOEQwMSoNCitYMTE4OTA5WTQ1MjE4RDAxKg0KK1gxMTg5OTlZNDUxNDFEMDEqDQorWDExOTA5OVk0NTA4MEQwMSoNCitYMTE5MjA5WTQ1MDM1RDAxKg0KK1gxMTkzMjNZNDUwMDdEMDEqDQorWDExOTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTExNDQxWTY0OTM3RDAyKlgxMTE1ODZZNjQ2OTlEMDEqDQorWDExMjA3Mlk2NDEzMUQwMSoNCitYMTEyNjQwWTYzNjQ1RDAxKg0KK1gxMTMyNzhZNjMyNTVEMDEqDQorWDExMzk2OVk2Mjk2OUQwMSoNCitYMTE0Njk2WTYyNzk0RDAxKg0KK1gxMTU0NDFZNjI3MzVEMDEqDQorWDExNTQ0MUQwMSoNCitZNjIyNjVEMDEqDQorWDExNTQ0MUQwMSoNCitYMTE0Njk2WTYyMjA2RDAxKg0KK1gxMTM5NjlZNjIwMzFEMDEqDQorWDExMzI3OFk2MTc0NUQwMSoNCitYMTEyNjQwWTYxMzU1RDAxKg0KK1gxMTIwNzJZNjA4NjlEMDEqDQorWDExMTU4Nlk2MDMwMUQwMSoNCitYMTExNDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjAwMEQwMipYMTE1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMTE1NDQxRDAxKg0KK1gxMTQ2OTZZNzIyMDZEMDEqDQorWDExMzk2OVk3MjAzMUQwMSoNCitYMTEzMjc4WTcxNzQ1RDAxKg0KK1gxMTI2NDBZNzEzNTVEMDEqDQorWDExMjA3Mlk3MDg2OUQwMSoNCitYMTExNTg2WTcwMzAxRDAxKg0KK1gxMTE0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDExNTQ0MVkzOTAwMEQwMipYMTExNDQxRDAxKg0KK1k0NDk5OEQwMSoNCitYMTExNTU5WTQ1MDA3RDAxKg0KK1gxMTE2NzNZNDUwMzVEMDEqDQorWDExMTc4M1k0NTA4MEQwMSoNCitYMTExODgzWTQ1MTQxRDAxKg0KK1gxMTE5NzNZNDUyMThEMDEqDQorWDExMjA1MFk0NTMwOEQwMSoNCitYMTEyMTExWTQ1NDA4RDAxKg0KK1gxMTIxNTZZNDU1MThEMDEqDQorWDExMjE4NFk0NTYzMkQwMSoNCitYMTEyMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYMTEyMTg0WTQ5MzY4RDAxKg0KK1gxMTIxNTZZNDk0ODJEMDEqDQorWDExMjExMVk0OTU5MkQwMSoNCitYMTEyMDUwWTQ5NjkyRDAxKg0KK1gxMTE5NzNZNDk3ODJEMDEqDQorWDExMTg4M1k0OTg1OUQwMSoNCitYMTExNzgzWTQ5OTIwRDAxKg0KK1gxMTE2NzNZNDk5NjVEMDEqDQorWDExMTU1OVk0OTk5M0QwMSoNCitYMTExNDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYMTExNTg2WTU0Njk5RDAxKg0KK1gxMTIwNzJZNTQxMzFEMDEqDQorWDExMjY0MFk1MzY0NUQwMSoNCitYMTEzMjc4WTUzMjU1RDAxKg0KK1gxMTM5NjlZNTI5NjlEMDEqDQorWDExNDY5Nlk1Mjc5NEQwMSoNCitYMTE1NDQxWTUyNzM1RDAxKg0KK1gxMTU0NDFEMDEqDQorWTUyMjUwRDAxKg0KK1gxMTM2OTFEMDEqDQorWDExMzU3M1k1MjI0M0QwMSoNCitYMTEzNDU5WTUyMjE1RDAxKg0KK1gxMTMzNDlZNTIxNzBEMDEqDQorWDExMzI0OVk1MjEwOUQwMSoNCitYMTEzMTU5WTUyMDMyRDAxKg0KK1gxMTMwODJZNTE5NDJEMDEqDQorWDExMzAyMVk1MTg0MkQwMSoNCitYMTEyOTc2WTUxNzMyRDAxKg0KK1gxMTI5NDhZNTE2MThEMDEqDQorWDExMjkzOVk1MTUwMEQwMSoNCitYMTEyOTQ4WTUxMzgyRDAxKg0KK1gxMTI5NzZZNTEyNjhEMDEqDQorWDExMzAyMVk1MTE1OEQwMSoNCitYMTEzMDgyWTUxMDU4RDAxKg0KK1gxMTMxNTlZNTA5NjhEMDEqDQorWDExMzI0OVk1MDg5MUQwMSoNCitYMTEzMzQ5WTUwODMwRDAxKg0KK1gxMTM0NTlZNTA3ODVEMDEqDQorWDExMzU3M1k1MDc1N0QwMSoNCitYMTEzNjkxWTUwNzUwRDAxKg0KK1gxMTU0NDFEMDEqDQorWTQ0MjUwRDAxKg0KK1gxMTM2OTFEMDEqDQorWDExMzU3M1k0NDI0M0QwMSoNCitYMTEzNDU5WTQ0MjE1RDAxKg0KK1gxMTMzNDlZNDQxNzBEMDEqDQorWDExMzI0OVk0NDEwOUQwMSoNCitYMTEzMTU5WTQ0MDMyRDAxKg0KK1gxMTMwODJZNDM5NDJEMDEqDQorWDExMzAyMVk0Mzg0MkQwMSoNCitYMTEyOTc2WTQzNzMyRDAxKg0KK1gxMTI5NDhZNDM2MThEMDEqDQorWDExMjkzOVk0MzUwMEQwMSoNCitYMTEyOTQ4WTQzMzgyRDAxKg0KK1gxMTI5NzZZNDMyNjhEMDEqDQorWDExMzAyMVk0MzE1OEQwMSoNCitYMTEzMDgyWTQzMDU4RDAxKg0KK1gxMTMxNTlZNDI5NjhEMDEqDQorWDExMzI0OVk0Mjg5MUQwMSoNCitYMTEzMzQ5WTQyODMwRDAxKg0KK1gxMTM0NTlZNDI3ODVEMDEqDQorWDExMzU3M1k0Mjc1N0QwMSoNCitYMTEzNjkxWTQyNzUwRDAxKg0KK1gxMTU0NDFEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDExMTQ0MUQwMipYODk0NDFEMDEqDQorWTQ0OTk4RDAxKg0KK1g4OTU1OVk0NTAwN0QwMSoNCitYODk2NzNZNDUwMzVEMDEqDQorWDg5NzgzWTQ1MDgwRDAxKg0KK1g4OTg4M1k0NTE0MUQwMSoNCitYODk5NzNZNDUyMThEMDEqDQorWDkwMDUwWTQ1MzA4RDAxKg0KK1g5MDExMVk0NTQwOEQwMSoNCitYOTAxNTZZNDU1MThEMDEqDQorWDkwMTg0WTQ1NjMyRDAxKg0KK1g5MDE5MVk0NTc1MEQwMSoNCitZNDkyNTBEMDEqDQorWDkwMTg0WTQ5MzY4RDAxKg0KK1g5MDE1Nlk0OTQ4MkQwMSoNCitYOTAxMTFZNDk1OTJEMDEqDQorWDkwMDUwWTQ5NjkyRDAxKg0KK1g4OTk3M1k0OTc4MkQwMSoNCitYODk4ODNZNDk4NTlEMDEqDQorWDg5NzgzWTQ5OTIwRDAxKg0KK1g4OTY3M1k0OTk2NUQwMSoNCitYODk1NTlZNDk5OTNEMDEqDQorWDg5NDQxWTUwMDAyRDAxKg0KK1k1NDkzN0QwMSoNCitYODk2ODZZNTUzMzdEMDEqDQorWDg5OTcyWTU2MDI4RDAxKg0KK1g5MDE0N1k1Njc1NUQwMSoNCitYOTAxOTFZNTc1MDBEMDEqDQorWDkwMTQ3WTU4MjQ1RDAxKg0KK1g4OTk3Mlk1ODk3MkQwMSoNCitYODk2ODZZNTk2NjNEMDEqDQorWDg5NDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitYODk2ODZZNjUzMzdEMDEqDQorWDg5OTcyWTY2MDI4RDAxKg0KK1g5MDE0N1k2Njc1NUQwMSoNCitYOTAxOTFZNjc1MDBEMDEqDQorWDkwMTQ3WTY4MjQ1RDAxKg0KK1g4OTk3Mlk2ODk3MkQwMSoNCitYODk2ODZZNjk2NjNEMDEqDQorWDg5NDQxWTcwMDYzRDAxKg0KK1k3NjAwMEQwMSoNCitYMTExNDQxRDAxKg0KK1k3MDA2M0QwMSoNCitYMTExMTk2WTY5NjYzRDAxKg0KK1gxMTA5MTBZNjg5NzJEMDEqDQorWDExMDczNVk2ODI0NUQwMSoNCitYMTEwNjc2WTY3NTAwRDAxKg0KK1gxMTA3MzVZNjY3NTVEMDEqDQorWDExMDkxMFk2NjAyOEQwMSoNCitYMTExMTk2WTY1MzM3RDAxKg0KK1gxMTE0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK1gxMTExOTZZNTk2NjNEMDEqDQorWDExMDkxMFk1ODk3MkQwMSoNCitYMTEwNzM1WTU4MjQ1RDAxKg0KK1gxMTA2NzZZNTc1MDBEMDEqDQorWDExMDczNVk1Njc1NUQwMSoNCitYMTEwOTEwWTU2MDI4RDAxKg0KK1gxMTExOTZZNTUzMzdEMDEqDQorWDExMTQ0MVk1NDkzN0QwMSoNCitZNTAwMDJEMDEqDQorWDExMTMyM1k0OTk5M0QwMSoNCitYMTExMjA5WTQ5OTY1RDAxKg0KK1gxMTEwOTlZNDk5MjBEMDEqDQorWDExMDk5OVk0OTg1OUQwMSoNCitYMTEwOTA5WTQ5NzgyRDAxKg0KK1gxMTA4MzJZNDk2OTJEMDEqDQorWDExMDc3MVk0OTU5MkQwMSoNCitYMTEwNzI2WTQ5NDgyRDAxKg0KK1gxMTA2OThZNDkzNjhEMDEqDQorWDExMDY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDExMDY5OFk0NTYzMkQwMSoNCitYMTEwNzI2WTQ1NTE4RDAxKg0KK1gxMTA3NzFZNDU0MDhEMDEqDQorWDExMDgzMlk0NTMwOEQwMSoNCitYMTEwOTA5WTQ1MjE4RDAxKg0KK1gxMTA5OTlZNDUxNDFEMDEqDQorWDExMTA5OVk0NTA4MEQwMSoNCitYMTExMjA5WTQ1MDM1RDAxKg0KK1gxMTEzMjNZNDUwMDdEMDEqDQorWDExMTQ0MVk0NDk5OEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODk0NDFZNzAwNjNEMDIqWDg5Mjk2WTcwMzAxRDAxKg0KK1g4ODgxMFk3MDg2OUQwMSoNCitYODgyNDJZNzEzNTVEMDEqDQorWDg3NjA0WTcxNzQ1RDAxKg0KK1g4NjkxM1k3MjAzMUQwMSoNCitYODYxODZZNzIyMDZEMDEqDQorWDg1NDQxWTcyMjY1RDAxKg0KK1k3NjAwMEQwMSoNCitYODk0NDFEMDEqDQorWTcwMDYzRDAxKg0KK0czNyoNCitHMzYqDQorWTYwMDYzRDAyKlg4OTI5Nlk2MDMwMUQwMSoNCitYODg4MTBZNjA4NjlEMDEqDQorWDg4MjQyWTYxMzU1RDAxKg0KK1g4NzYwNFk2MTc0NUQwMSoNCitYODY5MTNZNjIwMzFEMDEqDQorWDg2MTg2WTYyMjA2RDAxKg0KK1g4NTQ0MVk2MjI2NUQwMSoNCitZNjI3MzVEMDEqDQorWDg2MTg2WTYyNzk0RDAxKg0KK1g4NjkxM1k2Mjk2OUQwMSoNCitYODc2MDRZNjMyNTVEMDEqDQorWDg4MjQyWTYzNjQ1RDAxKg0KK1g4ODgxMFk2NDEzMUQwMSoNCitYODkyOTZZNjQ2OTlEMDEqDQorWDg5NDQxWTY0OTM3RDAxKg0KK1k2MDA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYODU0NDFEMDEqDQorWTQyNzUwRDAxKg0KK1g4NzE5MUQwMSoNCitYODczMDlZNDI3NTdEMDEqDQorWDg3NDIzWTQyNzg1RDAxKg0KK1g4NzUzM1k0MjgzMEQwMSoNCitYODc2MzNZNDI4OTFEMDEqDQorWDg3NzIzWTQyOTY4RDAxKg0KK1g4NzgwMFk0MzA1OEQwMSoNCitYODc4NjFZNDMxNThEMDEqDQorWDg3OTA2WTQzMjY4RDAxKg0KK1g4NzkzNFk0MzM4MkQwMSoNCitYODc5NDNZNDM1MDBEMDEqDQorWDg3OTM0WTQzNjE4RDAxKg0KK1g4NzkwNlk0MzczMkQwMSoNCitYODc4NjFZNDM4NDJEMDEqDQorWDg3ODAwWTQzOTQyRDAxKg0KK1g4NzcyM1k0NDAzMkQwMSoNCitYODc2MzNZNDQxMDlEMDEqDQorWDg3NTMzWTQ0MTcwRDAxKg0KK1g4NzQyM1k0NDIxNUQwMSoNCitYODczMDlZNDQyNDNEMDEqDQorWDg3MTkxWTQ0MjUwRDAxKg0KK1g4NTQ0MUQwMSoNCitZNTA3NTBEMDEqDQorWDg3MTkxRDAxKg0KK1g4NzMwOVk1MDc1N0QwMSoNCitYODc0MjNZNTA3ODVEMDEqDQorWDg3NTMzWTUwODMwRDAxKg0KK1g4NzYzM1k1MDg5MUQwMSoNCitYODc3MjNZNTA5NjhEMDEqDQorWDg3ODAwWTUxMDU4RDAxKg0KK1g4Nzg2MVk1MTE1OEQwMSoNCitYODc5MDZZNTEyNjhEMDEqDQorWDg3OTM0WTUxMzgyRDAxKg0KK1g4Nzk0M1k1MTUwMEQwMSoNCitYODc5MzRZNTE2MThEMDEqDQorWDg3OTA2WTUxNzMyRDAxKg0KK1g4Nzg2MVk1MTg0MkQwMSoNCitYODc4MDBZNTE5NDJEMDEqDQorWDg3NzIzWTUyMDMyRDAxKg0KK1g4NzYzM1k1MjEwOUQwMSoNCitYODc1MzNZNTIxNzBEMDEqDQorWDg3NDIzWTUyMjE1RDAxKg0KK1g4NzMwOVk1MjI0M0QwMSoNCitYODcxOTFZNTIyNTBEMDEqDQorWDg1NDQxRDAxKg0KK1k1MjczNUQwMSoNCitYODYxODZZNTI3OTREMDEqDQorWDg2OTEzWTUyOTY5RDAxKg0KK1g4NzYwNFk1MzI1NUQwMSoNCitYODgyNDJZNTM2NDVEMDEqDQorWDg4ODEwWTU0MTMxRDAxKg0KK1g4OTI5Nlk1NDY5OUQwMSoNCitYODk0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1g4OTMyM1k0OTk5M0QwMSoNCitYODkyMDlZNDk5NjVEMDEqDQorWDg5MDk5WTQ5OTIwRDAxKg0KK1g4ODk5OVk0OTg1OUQwMSoNCitYODg5MDlZNDk3ODJEMDEqDQorWDg4ODMyWTQ5NjkyRDAxKg0KK1g4ODc3MVk0OTU5MkQwMSoNCitYODg3MjZZNDk0ODJEMDEqDQorWDg4Njk4WTQ5MzY4RDAxKg0KK1g4ODY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDg4Njk4WTQ1NjMyRDAxKg0KK1g4ODcyNlk0NTUxOEQwMSoNCitYODg3NzFZNDU0MDhEMDEqDQorWDg4ODMyWTQ1MzA4RDAxKg0KK1g4ODkwOVk0NTIxOEQwMSoNCitYODg5OTlZNDUxNDFEMDEqDQorWDg5MDk5WTQ1MDgwRDAxKg0KK1g4OTIwOVk0NTAzNUQwMSoNCitYODkzMjNZNDUwMDdEMDEqDQorWDg5NDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g4MTQ0MVk2NDkzN0QwMipYODE1ODZZNjQ2OTlEMDEqDQorWDgyMDcyWTY0MTMxRDAxKg0KK1g4MjY0MFk2MzY0NUQwMSoNCitYODMyNzhZNjMyNTVEMDEqDQorWDgzOTY5WTYyOTY5RDAxKg0KK1g4NDY5Nlk2Mjc5NEQwMSoNCitYODU0NDFZNjI3MzVEMDEqDQorWDg1NDQxRDAxKg0KK1k2MjI2NUQwMSoNCitYODU0NDFEMDEqDQorWDg0Njk2WTYyMjA2RDAxKg0KK1g4Mzk2OVk2MjAzMUQwMSoNCitYODMyNzhZNjE3NDVEMDEqDQorWDgyNjQwWTYxMzU1RDAxKg0KK1g4MjA3Mlk2MDg2OUQwMSoNCitYODE1ODZZNjAzMDFEMDEqDQorWDgxNDQxWTYwMDYzRDAxKg0KK1k2NDkzN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjAwMEQwMipYODU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1g4NTQ0MUQwMSoNCitYODQ2OTZZNzIyMDZEMDEqDQorWDgzOTY5WTcyMDMxRDAxKg0KK1g4MzI3OFk3MTc0NUQwMSoNCitYODI2NDBZNzEzNTVEMDEqDQorWDgyMDcyWTcwODY5RDAxKg0KK1g4MTU4Nlk3MDMwMUQwMSoNCitYODE0NDFZNzAwNjNEMDEqDQorWTc2MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDg1NDQxWTM5MDAwRDAyKlg4MTQ0MUQwMSoNCitZNDQ5OThEMDEqDQorWDgxNTU5WTQ1MDA3RDAxKg0KK1g4MTY3M1k0NTAzNUQwMSoNCitYODE3ODNZNDUwODBEMDEqDQorWDgxODgzWTQ1MTQxRDAxKg0KK1g4MTk3M1k0NTIxOEQwMSoNCitYODIwNTBZNDUzMDhEMDEqDQorWDgyMTExWTQ1NDA4RDAxKg0KK1g4MjE1Nlk0NTUxOEQwMSoNCitYODIxODRZNDU2MzJEMDEqDQorWDgyMTkxWTQ1NzUwRDAxKg0KK1k0OTI1MEQwMSoNCitYODIxODRZNDkzNjhEMDEqDQorWDgyMTU2WTQ5NDgyRDAxKg0KK1g4MjExMVk0OTU5MkQwMSoNCitYODIwNTBZNDk2OTJEMDEqDQorWDgxOTczWTQ5NzgyRDAxKg0KK1g4MTg4M1k0OTg1OUQwMSoNCitYODE3ODNZNDk5MjBEMDEqDQorWDgxNjczWTQ5OTY1RDAxKg0KK1g4MTU1OVk0OTk5M0QwMSoNCitYODE0NDFZNTAwMDJEMDEqDQorWTU0OTM3RDAxKg0KK1g4MTU4Nlk1NDY5OUQwMSoNCitYODIwNzJZNTQxMzFEMDEqDQorWDgyNjQwWTUzNjQ1RDAxKg0KK1g4MzI3OFk1MzI1NUQwMSoNCitYODM5NjlZNTI5NjlEMDEqDQorWDg0Njk2WTUyNzk0RDAxKg0KK1g4NTQ0MVk1MjczNUQwMSoNCitYODU0NDFEMDEqDQorWTUyMjUwRDAxKg0KK1g4MzY5MUQwMSoNCitYODM1NzNZNTIyNDNEMDEqDQorWDgzNDU5WTUyMjE1RDAxKg0KK1g4MzM0OVk1MjE3MEQwMSoNCitYODMyNDlZNTIxMDlEMDEqDQorWDgzMTU5WTUyMDMyRDAxKg0KK1g4MzA4Mlk1MTk0MkQwMSoNCitYODMwMjFZNTE4NDJEMDEqDQorWDgyOTc2WTUxNzMyRDAxKg0KK1g4Mjk0OFk1MTYxOEQwMSoNCitYODI5MzlZNTE1MDBEMDEqDQorWDgyOTQ4WTUxMzgyRDAxKg0KK1g4Mjk3Nlk1MTI2OEQwMSoNCitYODMwMjFZNTExNThEMDEqDQorWDgzMDgyWTUxMDU4RDAxKg0KK1g4MzE1OVk1MDk2OEQwMSoNCitYODMyNDlZNTA4OTFEMDEqDQorWDgzMzQ5WTUwODMwRDAxKg0KK1g4MzQ1OVk1MDc4NUQwMSoNCitYODM1NzNZNTA3NTdEMDEqDQorWDgzNjkxWTUwNzUwRDAxKg0KK1g4NTQ0MUQwMSoNCitZNDQyNTBEMDEqDQorWDgzNjkxRDAxKg0KK1g4MzU3M1k0NDI0M0QwMSoNCitYODM0NTlZNDQyMTVEMDEqDQorWDgzMzQ5WTQ0MTcwRDAxKg0KK1g4MzI0OVk0NDEwOUQwMSoNCitYODMxNTlZNDQwMzJEMDEqDQorWDgzMDgyWTQzOTQyRDAxKg0KK1g4MzAyMVk0Mzg0MkQwMSoNCitYODI5NzZZNDM3MzJEMDEqDQorWDgyOTQ4WTQzNjE4RDAxKg0KK1g4MjkzOVk0MzUwMEQwMSoNCitYODI5NDhZNDMzODJEMDEqDQorWDgyOTc2WTQzMjY4RDAxKg0KK1g4MzAyMVk0MzE1OEQwMSoNCitYODMwODJZNDMwNThEMDEqDQorWDgzMTU5WTQyOTY4RDAxKg0KK1g4MzI0OVk0Mjg5MUQwMSoNCitYODMzNDlZNDI4MzBEMDEqDQorWDgzNDU5WTQyNzg1RDAxKg0KK1g4MzU3M1k0Mjc1N0QwMSoNCitYODM2OTFZNDI3NTBEMDEqDQorWDg1NDQxRDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g4MTQ0MUQwMipYNzU0NDFEMDEqDQorWDcyOTQxWTQxNTAwRDAxKg0KK1k3NjAwMEQwMSoNCitYODE0NDFEMDEqDQorWTcwMDYzRDAxKg0KK1g4MTE5Nlk2OTY2M0QwMSoNCitYODA5MTBZNjg5NzJEMDEqDQorWDgwNzM1WTY4MjQ1RDAxKg0KK1g4MDY3Nlk2NzUwMEQwMSoNCitYODA3MzVZNjY3NTVEMDEqDQorWDgwOTEwWTY2MDI4RDAxKg0KK1g4MTE5Nlk2NTMzN0QwMSoNCitYODE0NDFZNjQ5MzdEMDEqDQorWTYwMDYzRDAxKg0KK1g4MTE5Nlk1OTY2M0QwMSoNCitYODA5MTBZNTg5NzJEMDEqDQorWDgwNzM1WTU4MjQ1RDAxKg0KK1g4MDY3Nlk1NzUwMEQwMSoNCitYODA3MzVZNTY3NTVEMDEqDQorWDgwOTEwWTU2MDI4RDAxKg0KK1g4MTE5Nlk1NTMzN0QwMSoNCitYODE0NDFZNTQ5MzdEMDEqDQorWTUwMDAyRDAxKg0KK1g4MTMyM1k0OTk5M0QwMSoNCitYODEyMDlZNDk5NjVEMDEqDQorWDgxMDk5WTQ5OTIwRDAxKg0KK1g4MDk5OVk0OTg1OUQwMSoNCitYODA5MDlZNDk3ODJEMDEqDQorWDgwODMyWTQ5NjkyRDAxKg0KK1g4MDc3MVk0OTU5MkQwMSoNCitYODA3MjZZNDk0ODJEMDEqDQorWDgwNjk4WTQ5MzY4RDAxKg0KK1g4MDY5MVk0OTI1MEQwMSoNCitZNDU3NTBEMDEqDQorWDgwNjk4WTQ1NjMyRDAxKg0KK1g4MDcyNlk0NTUxOEQwMSoNCitYODA3NzFZNDU0MDhEMDEqDQorWDgwODMyWTQ1MzA4RDAxKg0KK1g4MDkwOVk0NTIxOEQwMSoNCitYODA5OTlZNDUxNDFEMDEqDQorWDgxMDk5WTQ1MDgwRDAxKg0KK1g4MTIwOVk0NTAzNUQwMSoNCitYODEzMjNZNDUwMDdEMDEqDQorWDgxNDQxWTQ0OTk4RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNjU2OTZZNTE1MDBEMDIqWDM3MjE5NkQwMSoNCitZNDU1MDBEMDEqDQorWDM2NTY5NkQwMSoNCitZNTE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZNDY1MDBEMDIqWDM3MjE5NkQwMSoNCitZNDA1MDBEMDEqDQorWDM2NTY5NkQwMSoNCitZNDY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzcxNjk2RDAyKlgzNzgxOTZEMDEqDQorWTQwNTAwRDAxKg0KK1gzNzE2OTZEMDEqDQorWTQ2NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWTUwMDAwRDAyKlgzNzgxOTZEMDEqDQorWTQ0MDAwRDAxKg0KK1gzNzE2OTZEMDEqDQorWTUwMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ0MDkzNVkxNTMwMDBEMDIqWDQ0NTQ0MUQwMSoNCitZMTA0NjE2RDAxKg0KK1g0NDUxNjZZMTA0NTAzRDAxKg0KK1g0NDQ3OTBZMTA0MjcyRDAxKg0KK1g0NDQ0NTVZMTAzOTg2RDAxKg0KK1g0NDQxNjlZMTAzNjUxRDAxKg0KK1g0NDM5MzhZMTAzMjc1RDAxKg0KK1g0NDM3NzBZMTAyODY4RDAxKg0KK1g0NDM2NjdZMTAyNDM5RDAxKg0KK1g0NDM2MzJZMTAyMDAwRDAxKg0KK1g0NDM2NjdZMTAxNTYxRDAxKg0KK1g0NDM3NzBZMTAxMTMyRDAxKg0KK1g0NDM5MzhZMTAwNzI1RDAxKg0KK1g0NDQxNjlZMTAwMzQ5RDAxKg0KK1g0NDQ0NTVZMTAwMDE0RDAxKg0KK1g0NDQ3OTBZOTk3MjhEMDEqDQorWDQ0NTE2Nlk5OTQ5N0QwMSoNCitYNDQ1NDQxWTk5Mzg0RDAxKg0KK1k2OTAwMEQwMSoNCitYNDQwOTM1RDAxKg0KK1kxMTg5ODhEMDEqDQorWDQ0MDk0MVkxMTg5ODhEMDEqDQorWDQ0MTU2OVkxMTkwMzdEMDEqDQorWDQ0MjE4MVkxMTkxODREMDEqDQorWDQ0Mjc2M1kxMTk0MjVEMDEqDQorWDQ0MzI5OVkxMTk3NTREMDEqDQorWDQ0Mzc3OFkxMjAxNjNEMDEqDQorWDQ0NDE4N1kxMjA2NDJEMDEqDQorWDQ0NDUxNlkxMjExNzhEMDEqDQorWDQ0NDc1N1kxMjE3NjBEMDEqDQorWDQ0NDkwNFkxMjIzNzJEMDEqDQorWDQ0NDk0MVkxMjMwMDBEMDEqDQorWDQ0NDkwNFkxMjM2MjhEMDEqDQorWDQ0NDc1N1kxMjQyNDBEMDEqDQorWDQ0NDUxNlkxMjQ4MjJEMDEqDQorWDQ0NDE4N1kxMjUzNThEMDEqDQorWDQ0Mzc3OFkxMjU4MzdEMDEqDQorWDQ0MzI5OVkxMjYyNDZEMDEqDQorWDQ0Mjc2M1kxMjY1NzVEMDEqDQorWDQ0MjE4MVkxMjY4MTZEMDEqDQorWDQ0MTU2OVkxMjY5NjNEMDEqDQorWDQ0MDk0MVkxMjcwMTJEMDEqDQorWDQ0MDkzNVkxMjcwMTJEMDEqDQorWTE1MzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MzIzMjBEMDIqWDQ0MDkzNUQwMSoNCitZMTI3MDEyRDAxKg0KK1g0NDAzMTNZMTI2OTYzRDAxKg0KK1g0Mzk3MDFZMTI2ODE2RDAxKg0KK1g0MzkxMTlZMTI2NTc1RDAxKg0KK1g0Mzg1ODNZMTI2MjQ2RDAxKg0KK1g0MzgxMDRZMTI1ODM3RDAxKg0KK1g0Mzc2OTVZMTI1MzU4RDAxKg0KK1g0MzczNjZZMTI0ODIyRDAxKg0KK1g0MzcxMjVZMTI0MjQwRDAxKg0KK1g0MzY5NzhZMTIzNjI4RDAxKg0KK1g0MzY5MjlZMTIzMDAwRDAxKg0KK1g0MzY5NzhZMTIyMzcyRDAxKg0KK1g0MzcxMjVZMTIxNzYwRDAxKg0KK1g0MzczNjZZMTIxMTc4RDAxKg0KK1g0Mzc2OTVZMTIwNjQyRDAxKg0KK1g0MzgxMDRZMTIwMTYzRDAxKg0KK1g0Mzg1ODNZMTE5NzU0RDAxKg0KK1g0MzkxMTlZMTE5NDI1RDAxKg0KK1g0Mzk3MDFZMTE5MTg0RDAxKg0KK1g0NDAzMTNZMTE5MDM3RDAxKg0KK1g0NDA5MzVZMTE4OTg4RDAxKg0KK1k2OTAwMEQwMSoNCitYNDMyMzIwRDAxKg0KK1k3Mzg2OUQwMSoNCitYNDMyMzc5WTczNzI1RDAxKg0KK1g0MzI2MTBZNzMzNDlEMDEqDQorWDQzMjg5Nlk3MzAxNEQwMSoNCitYNDMzMjMxWTcyNzI4RDAxKg0KK1g0MzM2MDdZNzI0OTdEMDEqDQorWDQzNDAxNFk3MjMyOUQwMSoNCitYNDM0NDQzWTcyMjI2RDAxKg0KK1g0MzQ4ODJZNzIxOTFEMDEqDQorWDQzNTMyMVk3MjIyNkQwMSoNCitYNDM1NzUwWTcyMzI5RDAxKg0KK1g0MzYxNTdZNzI0OTdEMDEqDQorWDQzNjUzM1k3MjcyOEQwMSoNCitYNDM2ODY4WTczMDE0RDAxKg0KK1g0MzcxNTRZNzMzNDlEMDEqDQorWDQzNzM4NVk3MzcyNUQwMSoNCitYNDM3NTUzWTc0MTMyRDAxKg0KK1g0Mzc2NTZZNzQ1NjFEMDEqDQorWDQzNzY4Mlk3NTAwMEQwMSoNCitYNDM3NjU2WTc1NDM5RDAxKg0KK1g0Mzc1NTNZNzU4NjhEMDEqDQorWDQzNzM4NVk3NjI3NUQwMSoNCitYNDM3MTU0WTc2NjUxRDAxKg0KK1g0MzY4NjhZNzY5ODZEMDEqDQorWDQzNjUzM1k3NzI3MkQwMSoNCitYNDM2MTU3WTc3NTAzRDAxKg0KK1g0MzU3NTBZNzc2NzFEMDEqDQorWDQzNTMyMVk3Nzc3NEQwMSoNCitYNDM0ODgyWTc3ODA5RDAxKg0KK1g0MzQ0NDNZNzc3NzREMDEqDQorWDQzNDAxNFk3NzY3MUQwMSoNCitYNDMzNjA3WTc3NTAzRDAxKg0KK1g0MzMyMzFZNzcyNzJEMDEqDQorWDQzMjg5Nlk3Njk4NkQwMSoNCitYNDMyNjEwWTc2NjUxRDAxKg0KK1g0MzIzNzlZNzYyNzVEMDEqDQorWDQzMjMyMFk3NjEzMUQwMSoNCitZMTA4MTkyRDAxKg0KK1g0MzIzMjRZMTA4MTkxRDAxKg0KK1g0MzI3NjNZMTA4MjI2RDAxKg0KK1g0MzMxOTJZMTA4MzI5RDAxKg0KK1g0MzM1OTlZMTA4NDk3RDAxKg0KK1g0MzM5NzVZMTA4NzI4RDAxKg0KK1g0MzQzMTBZMTA5MDE0RDAxKg0KK1g0MzQ1OTZZMTA5MzQ5RDAxKg0KK1g0MzQ4MjdZMTA5NzI1RDAxKg0KK1g0MzQ5OTVZMTEwMTMyRDAxKg0KK1g0MzUwOThZMTEwNTYxRDAxKg0KK1g0MzUxMjRZMTExMDAwRDAxKg0KK1g0MzUwOThZMTExNDM5RDAxKg0KK1g0MzQ5OTVZMTExODY4RDAxKg0KK1g0MzQ4MjdZMTEyMjc1RDAxKg0KK1g0MzQ1OTZZMTEyNjUxRDAxKg0KK1g0MzQzMTBZMTEyOTg2RDAxKg0KK1g0MzM5NzVZMTEzMjcyRDAxKg0KK1g0MzM1OTlZMTEzNTAzRDAxKg0KK1g0MzMxOTJZMTEzNjcxRDAxKg0KK1g0MzI3NjNZMTEzNzc0RDAxKg0KK1g0MzIzMjRZMTEzODA5RDAxKg0KK1g0MzIzMjBZMTEzODA4RDAxKg0KK1kxNTMwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDIzNDM3RDAyKlg0MzIzMjBEMDEqDQorWTExMzgwOEQwMSoNCitYNDMxODg1WTExMzc3NEQwMSoNCitYNDMxNDU2WTExMzY3MUQwMSoNCitYNDMxMDQ5WTExMzUwM0QwMSoNCitYNDMwNjczWTExMzI3MkQwMSoNCitYNDMwMzM4WTExMjk4NkQwMSoNCitYNDMwMDUyWTExMjY1MUQwMSoNCitYNDI5ODIxWTExMjI3NUQwMSoNCitYNDI5NjUzWTExMTg2OEQwMSoNCitYNDI5NTUwWTExMTQzOUQwMSoNCitYNDI5NTE1WTExMTAwMEQwMSoNCitYNDI5NTUwWTExMDU2MUQwMSoNCitYNDI5NjUzWTExMDEzMkQwMSoNCitYNDI5ODIxWTEwOTcyNUQwMSoNCitYNDMwMDUyWTEwOTM0OUQwMSoNCitYNDMwMzM4WTEwOTAxNEQwMSoNCitYNDMwNjczWTEwODcyOEQwMSoNCitYNDMxMDQ5WTEwODQ5N0QwMSoNCitYNDMxNDU2WTEwODMyOUQwMSoNCitYNDMxODg1WTEwODIyNkQwMSoNCitYNDMyMzIwWTEwODE5MkQwMSoNCitZNzYxMzFEMDEqDQorWDQzMjIxMVk3NTg2OEQwMSoNCitYNDMyMTA4WTc1NDM5RDAxKg0KK1g0MzIwNzNZNzUwMDBEMDEqDQorWDQzMjEwOFk3NDU2MUQwMSoNCitYNDMyMjExWTc0MTMyRDAxKg0KK1g0MzIzMjBZNzM4NjlEMDEqDQorWTY5MDAwRDAxKg0KK1g0MjM0MzdEMDEqDQorWTcyMTkyRDAxKg0KK1g0MjM0NDFZNzIxOTFEMDEqDQorWDQyMzg4MFk3MjIyNkQwMSoNCitYNDI0MzA5WTcyMzI5RDAxKg0KK1g0MjQ3MTZZNzI0OTdEMDEqDQorWDQyNTA5Mlk3MjcyOEQwMSoNCitYNDI1NDI3WTczMDE0RDAxKg0KK1g0MjU3MTNZNzMzNDlEMDEqDQorWDQyNTk0NFk3MzcyNUQwMSoNCitYNDI2MTEyWTc0MTMyRDAxKg0KK1g0MjYyMTVZNzQ1NjFEMDEqDQorWDQyNjI0MVk3NTAwMEQwMSoNCitYNDI2MjE1WTc1NDM5RDAxKg0KK1g0MjYxMTJZNzU4NjhEMDEqDQorWDQyNTk0NFk3NjI3NUQwMSoNCitYNDI1NzEzWTc2NjUxRDAxKg0KK1g0MjU0MjdZNzY5ODZEMDEqDQorWDQyNTA5Mlk3NzI3MkQwMSoNCitYNDI0NzE2WTc3NTAzRDAxKg0KK1g0MjQzMDlZNzc2NzFEMDEqDQorWDQyMzg4MFk3Nzc3NEQwMSoNCitYNDIzNDQxWTc3ODA5RDAxKg0KK1g0MjM0MzdZNzc4MDhEMDEqDQorWTE1MzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzOTY0NDFEMDIqWDQyMzQzN0QwMSoNCitZNzc4MDhEMDEqDQorWDQyMzAwMlk3Nzc3NEQwMSoNCitYNDIyNTczWTc3NjcxRDAxKg0KK1g0MjIxNjZZNzc1MDNEMDEqDQorWDQyMTc5MFk3NzI3MkQwMSoNCitYNDIxNDU1WTc2OTg2RDAxKg0KK1g0MjExNjlZNzY2NTFEMDEqDQorWDQyMDkzOFk3NjI3NUQwMSoNCitYNDIwNzcwWTc1ODY4RDAxKg0KK1g0MjA2NjdZNzU0MzlEMDEqDQorWDQyMDYzMlk3NTAwMEQwMSoNCitYNDIwNjY3WTc0NTYxRDAxKg0KK1g0MjA3NzBZNzQxMzJEMDEqDQorWDQyMDkzOFk3MzcyNUQwMSoNCitYNDIxMTY5WTczMzQ5RDAxKg0KK1g0MjE0NTVZNzMwMTREMDEqDQorWDQyMTc5MFk3MjcyOEQwMSoNCitYNDIyMTY2WTcyNDk3RDAxKg0KK1g0MjI1NzNZNzIzMjlEMDEqDQorWDQyMzAwMlk3MjIyNkQwMSoNCitYNDIzNDM3WTcyMTkyRDAxKg0KK1k2OTAwMEQwMSoNCitYNDExOTQxRDAxKg0KK1g0MTE0NDFZMTM1MDAwRDAxKg0KK1gzOTIxODVEMDEqDQorWTE4MzQzNkQwMSoNCitYMzkyMjE1WTE4MzU2MUQwMSoNCitYMzkyMjQxWTE4NDAwMEQwMSoNCitYMzkyMjE1WTE4NDQzOUQwMSoNCitYMzkyMTg1WTE4NDU2NEQwMSoNCitZMjA1NDg5RDAxKg0KK1gzOTI1NzNZMjA1MzI5RDAxKg0KK1gzOTMwMDJZMjA1MjI2RDAxKg0KK1gzOTM0NDFZMjA1MTkxRDAxKg0KK1gzOTM4ODBZMjA1MjI2RDAxKg0KK1gzOTQzMDlZMjA1MzI5RDAxKg0KK1gzOTQ3MTZZMjA1NDk3RDAxKg0KK1gzOTUwOTJZMjA1NzI4RDAxKg0KK1gzOTU0MjdZMjA2MDE0RDAxKg0KK1gzOTU3MTNZMjA2MzQ5RDAxKg0KK1gzOTU5NDRZMjA2NzI1RDAxKg0KK1gzOTYxMTJZMjA3MTMyRDAxKg0KK1gzOTYyMTVZMjA3NTYxRDAxKg0KK1gzOTYyNDFZMjA4MDAwRDAxKg0KK1gzOTYyMTVZMjA4NDM5RDAxKg0KK1gzOTYxMTJZMjA4ODY4RDAxKg0KK1gzOTU5NDRZMjA5Mjc1RDAxKg0KK1gzOTU3MTNZMjA5NjUxRDAxKg0KK1gzOTU0MjdZMjA5OTg2RDAxKg0KK1gzOTUwOTJZMjEwMjcyRDAxKg0KK1gzOTQ3MTZZMjEwNTAzRDAxKg0KK1gzOTQzMDlZMjEwNjcxRDAxKg0KK1gzOTM4ODBZMjEwNzc0RDAxKg0KK1gzOTM0NDFZMjEwODA5RDAxKg0KK1gzOTMwMDJZMjEwNzc0RDAxKg0KK1gzOTI1NzNZMjEwNjcxRDAxKg0KK1gzOTIxODVZMjEwNTExRDAxKg0KK1kyMzcxOTVEMDEqDQorWDM5MjE4OFkyMzcxOTREMDEqDQorWDM5MjQ3MFkyMzcyMTdEMDEqDQorWDM5Mjc0NlkyMzcyODNEMDEqDQorWDM5MzAwOFkyMzczOTFEMDEqDQorWDM5MzI0OVkyMzc1MzlEMDEqDQorWDM5MzQ2NVkyMzc3MjNEMDEqDQorWDM5MzY0OVkyMzc5MzlEMDEqDQorWDM5Mzc5N1kyMzgxODBEMDEqDQorWDM5MzkwNVkyMzg0NDJEMDEqDQorWDM5Mzk3MVkyMzg3MThEMDEqDQorWDM5Mzk4OFkyMzkwMDBEMDEqDQorWDM5Mzk3MVkyMzkyODJEMDEqDQorWDM5MzkwNVkyMzk1NThEMDEqDQorWDM5Mzc5N1kyMzk4MjBEMDEqDQorWDM5MzY0OVkyNDAwNjFEMDEqDQorWDM5MzQ2NVkyNDAyNzdEMDEqDQorWDM5MzI0OVkyNDA0NjFEMDEqDQorWDM5MzAwOFkyNDA2MDlEMDEqDQorWDM5Mjc0NlkyNDA3MTdEMDEqDQorWDM5MjQ3MFkyNDA3ODNEMDEqDQorWDM5MjE4OFkyNDA4MDZEMDEqDQorWDM5MjE4NVkyNDA4MDVEMDEqDQorWTMyNDQ4OUQwMSoNCitYMzkyNTczWTMyNDMyOUQwMSoNCitYMzkzMDAyWTMyNDIyNkQwMSoNCitYMzkzNDQxWTMyNDE5MUQwMSoNCitYMzkzODgwWTMyNDIyNkQwMSoNCitYMzk0MzA5WTMyNDMyOUQwMSoNCitYMzk0NzE2WTMyNDQ5N0QwMSoNCitYMzk1MDkyWTMyNDcyOEQwMSoNCitYMzk1NDI3WTMyNTAxNEQwMSoNCitYMzk1NzEzWTMyNTM0OUQwMSoNCitYMzk1OTQ0WTMyNTcyNUQwMSoNCitYMzk2MTEyWTMyNjEzMkQwMSoNCitYMzk2MjE1WTMyNjU2MUQwMSoNCitYMzk2MjQxWTMyNzAwMEQwMSoNCitYMzk2MjE1WTMyNzQzOUQwMSoNCitYMzk2MTEyWTMyNzg2OEQwMSoNCitYMzk1OTQ0WTMyODI3NUQwMSoNCitYMzk1NzEzWTMyODY1MUQwMSoNCitYMzk1NDI3WTMyODk4NkQwMSoNCitYMzk1MDkyWTMyOTI3MkQwMSoNCitYMzk0NzE2WTMyOTUwM0QwMSoNCitYMzk0MzA5WTMyOTY3MUQwMSoNCitYMzkzODgwWTMyOTc3NEQwMSoNCitYMzkzNDQxWTMyOTgwOUQwMSoNCitYMzkzMDAyWTMyOTc3NEQwMSoNCitYMzkyNTczWTMyOTY3MUQwMSoNCitYMzkyMTg1WTMyOTUxMUQwMSoNCitZMzUyNDg5RDAxKg0KK1gzOTI1NzNZMzUyMzI5RDAxKg0KK1gzOTMwMDJZMzUyMjI2RDAxKg0KK1gzOTM0NDFZMzUyMTkxRDAxKg0KK1gzOTM4ODBZMzUyMjI2RDAxKg0KK1gzOTQzMDlZMzUyMzI5RDAxKg0KK1gzOTQ3MTZZMzUyNDk3RDAxKg0KK1gzOTUwOTJZMzUyNzI4RDAxKg0KK1gzOTU0MjdZMzUzMDE0RDAxKg0KK1gzOTU3MTNZMzUzMzQ5RDAxKg0KK1gzOTU5NDRZMzUzNzI1RDAxKg0KK1gzOTYxMTJZMzU0MTMyRDAxKg0KK1gzOTYyMTVZMzU0NTYxRDAxKg0KK1gzOTYyNDFZMzU1MDAwRDAxKg0KK1gzOTYyMTVZMzU1NDM5RDAxKg0KK1gzOTYxMTJZMzU1ODY4RDAxKg0KK1gzOTU5NDRZMzU2Mjc1RDAxKg0KK1gzOTU3MTNZMzU2NjUxRDAxKg0KK1gzOTU0MjdZMzU2OTg2RDAxKg0KK1gzOTUwOTJZMzU3MjcyRDAxKg0KK1gzOTQ3MTZZMzU3NTAzRDAxKg0KK1gzOTQzMDlZMzU3NjcxRDAxKg0KK1gzOTM4ODBZMzU3Nzc0RDAxKg0KK1gzOTM0NDFZMzU3ODA5RDAxKg0KK1gzOTMwMDJZMzU3Nzc0RDAxKg0KK1gzOTI1NzNZMzU3NjcxRDAxKg0KK1gzOTIxODVZMzU3NTExRDAxKg0KK1kzOTcwMDBEMDEqDQorWDM5NjQ0MUQwMSoNCitZMzc1NjE2RDAxKg0KK1gzOTYxNjZZMzc1NTAzRDAxKg0KK1gzOTU3OTBZMzc1MjcyRDAxKg0KK1gzOTU0NTVZMzc0OTg2RDAxKg0KK1gzOTUxNjlZMzc0NjUxRDAxKg0KK1gzOTQ5MzhZMzc0Mjc1RDAxKg0KK1gzOTQ3NzBZMzczODY4RDAxKg0KK1gzOTQ2NjdZMzczNDM5RDAxKg0KK1gzOTQ2MzJZMzczMDAwRDAxKg0KK1gzOTQ2NjdZMzcyNTYxRDAxKg0KK1gzOTQ3NzBZMzcyMTMyRDAxKg0KK1gzOTQ5MzhZMzcxNzI1RDAxKg0KK1gzOTUxNjlZMzcxMzQ5RDAxKg0KK1gzOTU0NTVZMzcxMDE0RDAxKg0KK1gzOTU3OTBZMzcwNzI4RDAxKg0KK1gzOTYxNjZZMzcwNDk3RDAxKg0KK1gzOTY0NDFZMzcwMzg0RDAxKg0KK1kzNjk4MDZEMDEqDQorWDM5NjI5MFkzNjk3MTNEMDEqDQorWDM5NTk1NVkzNjk0MjdEMDEqDQorWDM5NTY2OVkzNjkwOTJEMDEqDQorWDM5NTQzOFkzNjg3MTZEMDEqDQorWDM5NTI3MFkzNjgzMDlEMDEqDQorWDM5NTE2N1kzNjc4ODBEMDEqDQorWDM5NTEzMlkzNjc0NDFEMDEqDQorWDM5NTE2N1kzNjcwMDJEMDEqDQorWDM5NTI3MFkzNjY1NzNEMDEqDQorWDM5NTQzOFkzNjYxNjZEMDEqDQorWDM5NTY2OVkzNjU3OTBEMDEqDQorWDM5NTk1NVkzNjU0NTVEMDEqDQorWDM5NjI5MFkzNjUxNjlEMDEqDQorWDM5NjQ0MVkzNjUwNzZEMDEqDQorWTMxNTk3MEQwMSoNCitYMzk2MTY5WTMxNTY1MUQwMSoNCitYMzk1OTM4WTMxNTI3NUQwMSoNCitYMzk1NzcwWTMxNDg2OEQwMSoNCitYMzk1NjY3WTMxNDQzOUQwMSoNCitYMzk1NjMyWTMxNDAwMEQwMSoNCitYMzk1NjY3WTMxMzU2MUQwMSoNCitYMzk1NzcwWTMxMzEzMkQwMSoNCitYMzk1OTM4WTMxMjcyNUQwMSoNCitYMzk2MTY5WTMxMjM0OUQwMSoNCitYMzk2NDQxWTMxMjAzMEQwMSoNCitZMzEwOTcwRDAxKg0KK1gzOTYxNjlZMzEwNjUxRDAxKg0KK1gzOTU5MzhZMzEwMjc1RDAxKg0KK1gzOTU3NzBZMzA5ODY4RDAxKg0KK1gzOTU2NjdZMzA5NDM5RDAxKg0KK1gzOTU2MzJZMzA5MDAwRDAxKg0KK1gzOTU2NjdZMzA4NTYxRDAxKg0KK1gzOTU3NzBZMzA4MTMyRDAxKg0KK1gzOTU5MzhZMzA3NzI1RDAxKg0KK1gzOTYxNjlZMzA3MzQ5RDAxKg0KK1gzOTY0NDFZMzA3MDMwRDAxKg0KK1kyNTQ5NzBEMDEqDQorWDM5NjE2OVkyNTQ2NTFEMDEqDQorWDM5NTkzOFkyNTQyNzVEMDEqDQorWDM5NTc3MFkyNTM4NjhEMDEqDQorWDM5NTY2N1kyNTM0MzlEMDEqDQorWDM5NTYzMlkyNTMwMDBEMDEqDQorWDM5NTY2N1kyNTI1NjFEMDEqDQorWDM5NTc3MFkyNTIxMzJEMDEqDQorWDM5NTkzOFkyNTE3MjVEMDEqDQorWDM5NjE2OVkyNTEzNDlEMDEqDQorWDM5NjQ0MVkyNTEwMzBEMDEqDQorWTI0OTk3MEQwMSoNCitYMzk2MTY5WTI0OTY1MUQwMSoNCitYMzk1OTM4WTI0OTI3NUQwMSoNCitYMzk1NzcwWTI0ODg2OEQwMSoNCitYMzk1NjY3WTI0ODQzOUQwMSoNCitYMzk1NjMyWTI0ODAwMEQwMSoNCitYMzk1NjY3WTI0NzU2MUQwMSoNCitYMzk1NzcwWTI0NzEzMkQwMSoNCitYMzk1OTM4WTI0NjcyNUQwMSoNCitYMzk2MTY5WTI0NjM0OUQwMSoNCitYMzk2NDQxWTI0NjAzMEQwMSoNCitZMjM2ODA2RDAxKg0KK1gzOTYxNTlZMjM2NzgzRDAxKg0KK1gzOTU4ODNZMjM2NzE3RDAxKg0KK1gzOTU2MjFZMjM2NjA5RDAxKg0KK1gzOTUzODBZMjM2NDYxRDAxKg0KK1gzOTUxNjRZMjM2Mjc3RDAxKg0KK1gzOTQ5ODBZMjM2MDYxRDAxKg0KK1gzOTQ4MzJZMjM1ODIwRDAxKg0KK1gzOTQ3MjRZMjM1NTU4RDAxKg0KK1gzOTQ2NThZMjM1MjgyRDAxKg0KK1gzOTQ2MzVZMjM1MDAwRDAxKg0KK1gzOTQ2NThZMjM0NzE4RDAxKg0KK1gzOTQ3MjRZMjM0NDQyRDAxKg0KK1gzOTQ4MzJZMjM0MTgwRDAxKg0KK1gzOTQ5ODBZMjMzOTM5RDAxKg0KK1gzOTUxNjRZMjMzNzIzRDAxKg0KK1gzOTUzODBZMjMzNTM5RDAxKg0KK1gzOTU2MjFZMjMzMzkxRDAxKg0KK1gzOTU4ODNZMjMzMjgzRDAxKg0KK1gzOTYxNTlZMjMzMjE3RDAxKg0KK1gzOTY0NDFZMjMzMTk0RDAxKg0KK1kxNTMwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg4MjA0WTM5NzAwMEQwMipYMzkyMTg1RDAxKg0KK1kzNTc1MTFEMDEqDQorWDM5MjE2NlkzNTc1MDNEMDEqDQorWDM5MTc5MFkzNTcyNzJEMDEqDQorWDM5MTQ1NVkzNTY5ODZEMDEqDQorWDM5MTE2OVkzNTY2NTFEMDEqDQorWDM5MDkzOFkzNTYyNzVEMDEqDQorWDM5MDc3MFkzNTU4NjhEMDEqDQorWDM5MDY2N1kzNTU0MzlEMDEqDQorWDM5MDYzMlkzNTUwMDBEMDEqDQorWDM5MDY2N1kzNTQ1NjFEMDEqDQorWDM5MDc3MFkzNTQxMzJEMDEqDQorWDM5MDkzOFkzNTM3MjVEMDEqDQorWDM5MTE2OVkzNTMzNDlEMDEqDQorWDM5MTQ1NVkzNTMwMTREMDEqDQorWDM5MTc5MFkzNTI3MjhEMDEqDQorWDM5MjE2NlkzNTI0OTdEMDEqDQorWDM5MjE4NVkzNTI0ODlEMDEqDQorWTMyOTUxMUQwMSoNCitYMzkyMTY2WTMyOTUwM0QwMSoNCitYMzkxNzkwWTMyOTI3MkQwMSoNCitYMzkxNDU1WTMyODk4NkQwMSoNCitYMzkxMTY5WTMyODY1MUQwMSoNCitYMzkwOTM4WTMyODI3NUQwMSoNCitYMzkwNzcwWTMyNzg2OEQwMSoNCitYMzkwNjY3WTMyNzQzOUQwMSoNCitYMzkwNjMyWTMyNzAwMEQwMSoNCitYMzkwNjY3WTMyNjU2MUQwMSoNCitYMzkwNzcwWTMyNjEzMkQwMSoNCitYMzkwOTM4WTMyNTcyNUQwMSoNCitYMzkxMTY5WTMyNTM0OUQwMSoNCitYMzkxNDU1WTMyNTAxNEQwMSoNCitYMzkxNzkwWTMyNDcyOEQwMSoNCitYMzkyMTY2WTMyNDQ5N0QwMSoNCitYMzkyMTg1WTMyNDQ4OUQwMSoNCitZMjQwODA1RDAxKg0KK1gzOTE5MDZZMjQwNzgzRDAxKg0KK1gzOTE2MzBZMjQwNzE3RDAxKg0KK1gzOTEzNjhZMjQwNjA5RDAxKg0KK1gzOTExMjdZMjQwNDYxRDAxKg0KK1gzOTA5MTFZMjQwMjc3RDAxKg0KK1gzOTA3MjdZMjQwMDYxRDAxKg0KK1gzOTA1NzlZMjM5ODIwRDAxKg0KK1gzOTA0NzFZMjM5NTU4RDAxKg0KK1gzOTA0MDVZMjM5MjgyRDAxKg0KK1gzOTAzODJZMjM5MDAwRDAxKg0KK1gzOTA0MDVZMjM4NzE4RDAxKg0KK1gzOTA0NzFZMjM4NDQyRDAxKg0KK1gzOTA1NzlZMjM4MTgwRDAxKg0KK1gzOTA3MjdZMjM3OTM5RDAxKg0KK1gzOTA5MTFZMjM3NzIzRDAxKg0KK1gzOTExMjdZMjM3NTM5RDAxKg0KK1gzOTEzNjhZMjM3MzkxRDAxKg0KK1gzOTE2MzBZMjM3MjgzRDAxKg0KK1gzOTE5MDZZMjM3MjE3RDAxKg0KK1gzOTIxODVZMjM3MTk1RDAxKg0KK1kyMTA1MTFEMDEqDQorWDM5MjE2NlkyMTA1MDNEMDEqDQorWDM5MTc5MFkyMTAyNzJEMDEqDQorWDM5MTQ1NVkyMDk5ODZEMDEqDQorWDM5MTE2OVkyMDk2NTFEMDEqDQorWDM5MDkzOFkyMDkyNzVEMDEqDQorWDM5MDc3MFkyMDg4NjhEMDEqDQorWDM5MDY2N1kyMDg0MzlEMDEqDQorWDM5MDYzMlkyMDgwMDBEMDEqDQorWDM5MDY2N1kyMDc1NjFEMDEqDQorWDM5MDc3MFkyMDcxMzJEMDEqDQorWDM5MDkzOFkyMDY3MjVEMDEqDQorWDM5MTE2OVkyMDYzNDlEMDEqDQorWDM5MTQ1NVkyMDYwMTREMDEqDQorWDM5MTc5MFkyMDU3MjhEMDEqDQorWDM5MjE2NlkyMDU0OTdEMDEqDQorWDM5MjE4NVkyMDU0ODlEMDEqDQorWTE4NDU2NEQwMSoNCitYMzkyMTEyWTE4NDg2OEQwMSoNCitYMzkxOTQ0WTE4NTI3NUQwMSoNCitYMzkxNzEzWTE4NTY1MUQwMSoNCitYMzkxNDI3WTE4NTk4NkQwMSoNCitYMzkxMDkyWTE4NjI3MkQwMSoNCitYMzkwNzE2WTE4NjUwM0QwMSoNCitYMzkwMzA5WTE4NjY3MUQwMSoNCitYMzg5ODgwWTE4Njc3NEQwMSoNCitYMzg5NDQxWTE4NjgwOUQwMSoNCitYMzg5MDAyWTE4Njc3NEQwMSoNCitYMzg4NTczWTE4NjY3MUQwMSoNCitYMzg4MjA0WTE4NjUxOEQwMSoNCitZMjMyNDM5RDAxKg0KK1gzODgzNDVZMjMyNDk3RDAxKg0KK1gzODg3MjFZMjMyNzI4RDAxKg0KK1gzODkwNTZZMjMzMDE0RDAxKg0KK1gzODkzNDJZMjMzMzQ5RDAxKg0KK1gzODk1NzNZMjMzNzI1RDAxKg0KK1gzODk3NDFZMjM0MTMyRDAxKg0KK1gzODk4NDRZMjM0NTYxRDAxKg0KK1gzODk4NzBZMjM1MDAwRDAxKg0KK1gzODk4NDRZMjM1NDM5RDAxKg0KK1gzODk3NDFZMjM1ODY4RDAxKg0KK1gzODk1NzNZMjM2Mjc1RDAxKg0KK1gzODkzNDJZMjM2NjUxRDAxKg0KK1gzODkwNTZZMjM2OTg2RDAxKg0KK1gzODg3MjFZMjM3MjcyRDAxKg0KK1gzODgzNDVZMjM3NTAzRDAxKg0KK1gzODgyMDRZMjM3NTYxRDAxKg0KK1kyNDU0NzVEMDEqDQorWDM4ODIwN1kyNDU0NzREMDEqDQorWDM4ODQ4OVkyNDU0OTdEMDEqDQorWDM4ODc2NVkyNDU1NjNEMDEqDQorWDM4OTAyN1kyNDU2NzFEMDEqDQorWDM4OTI2OFkyNDU4MTlEMDEqDQorWDM4OTQ4NFkyNDYwMDNEMDEqDQorWDM4OTY2OFkyNDYyMTlEMDEqDQorWDM4OTgxNlkyNDY0NjBEMDEqDQorWDM4OTkyNFkyNDY3MjJEMDEqDQorWDM4OTk5MFkyNDY5OThEMDEqDQorWDM5MDAwN1kyNDcyODBEMDEqDQorWDM4OTk5MFkyNDc1NjJEMDEqDQorWDM4OTkyNFkyNDc4MzhEMDEqDQorWDM4OTgxNlkyNDgxMDBEMDEqDQorWDM4OTY2OFkyNDgzNDFEMDEqDQorWDM4OTQ4NFkyNDg1NTdEMDEqDQorWDM4OTI2OFkyNDg3NDFEMDEqDQorWDM4OTAyN1kyNDg4ODlEMDEqDQorWDM4ODc2NVkyNDg5OTdEMDEqDQorWDM4ODQ4OVkyNDkwNjNEMDEqDQorWDM4ODIwN1kyNDkwODZEMDEqDQorWDM4ODIwNFkyNDkwODVEMDEqDQorWTI3OTYyNkQwMSoNCitYMzg4MzcxWTI3OTcyOEQwMSoNCitYMzg4NzA2WTI4MDAxNEQwMSoNCitYMzg4OTkyWTI4MDM0OUQwMSoNCitYMzg5MjIzWTI4MDcyNUQwMSoNCitYMzg5MzkxWTI4MTEzMkQwMSoNCitYMzg5NDk0WTI4MTU2MUQwMSoNCitYMzg5NTIwWTI4MjAwMEQwMSoNCitYMzg5NDk0WTI4MjQzOUQwMSoNCitYMzg5MzkxWTI4Mjg2OEQwMSoNCitYMzg5MjIzWTI4MzI3NUQwMSoNCitYMzg4OTkyWTI4MzY1MUQwMSoNCitYMzg4NzA2WTI4Mzk4NkQwMSoNCitYMzg4MzcxWTI4NDI3MkQwMSoNCitYMzg4MjA0WTI4NDM3NEQwMSoNCitZMzIzMzA0RDAxKg0KK1gzODgzMDlZMzIzMzI5RDAxKg0KK1gzODg3MTZZMzIzNDk3RDAxKg0KK1gzODkwOTJZMzIzNzI4RDAxKg0KK1gzODk0MjdZMzI0MDE0RDAxKg0KK1gzODk3MTNZMzI0MzQ5RDAxKg0KK1gzODk5NDRZMzI0NzI1RDAxKg0KK1gzOTAxMTJZMzI1MTMyRDAxKg0KK1gzOTAyMTVZMzI1NTYxRDAxKg0KK1gzOTAyNDFZMzI2MDAwRDAxKg0KK1gzOTAyMTVZMzI2NDM5RDAxKg0KK1gzOTAxMTJZMzI2ODY4RDAxKg0KK1gzODk5NDRZMzI3Mjc1RDAxKg0KK1gzODk3MTNZMzI3NjUxRDAxKg0KK1gzODk0MjdZMzI3OTg2RDAxKg0KK1gzODkwOTJZMzI4MjcyRDAxKg0KK1gzODg3MTZZMzI4NTAzRDAxKg0KK1gzODgzMDlZMzI4NjcxRDAxKg0KK1gzODgyMDRZMzI4Njk2RDAxKg0KK1kzNTI4MzlEMDEqDQorWDM4ODIxM1kzNTI4NDlEMDEqDQorWDM4ODQ0NFkzNTMyMjVEMDEqDQorWDM4ODYxMlkzNTM2MzJEMDEqDQorWDM4ODcxNVkzNTQwNjFEMDEqDQorWDM4ODc0MVkzNTQ1MDBEMDEqDQorWDM4ODcxNVkzNTQ5MzlEMDEqDQorWDM4ODYxMlkzNTUzNjhEMDEqDQorWDM4ODQ0NFkzNTU3NzVEMDEqDQorWDM4ODIxM1kzNTYxNTFEMDEqDQorWDM4ODIwNFkzNTYxNjFEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzOTIxODVZMTM1MDAwRDAyKlgzODgyMDREMDEqDQorWTE2MDgyNEQwMSoNCitYMzg4NDI3WTE2MTAxNEQwMSoNCitYMzg4NzEzWTE2MTM0OUQwMSoNCitYMzg4OTQ0WTE2MTcyNUQwMSoNCitYMzg5MTEyWTE2MjEzMkQwMSoNCitYMzg5MjE1WTE2MjU2MUQwMSoNCitYMzg5MjQxWTE2MzAwMEQwMSoNCitYMzg5MjE1WTE2MzQzOUQwMSoNCitYMzg5MTEyWTE2Mzg2OEQwMSoNCitYMzg4OTQ0WTE2NDI3NUQwMSoNCitYMzg4NzEzWTE2NDY1MUQwMSoNCitYMzg4NDI3WTE2NDk4NkQwMSoNCitYMzg4MjA0WTE2NTE3NkQwMSoNCitZMTgxNDgyRDAxKg0KK1gzODg1NzNZMTgxMzI5RDAxKg0KK1gzODkwMDJZMTgxMjI2RDAxKg0KK1gzODk0NDFZMTgxMTkxRDAxKg0KK1gzODk4ODBZMTgxMjI2RDAxKg0KK1gzOTAzMDlZMTgxMzI5RDAxKg0KK1gzOTA3MTZZMTgxNDk3RDAxKg0KK1gzOTEwOTJZMTgxNzI4RDAxKg0KK1gzOTE0MjdZMTgyMDE0RDAxKg0KK1gzOTE3MTNZMTgyMzQ5RDAxKg0KK1gzOTE5NDRZMTgyNzI1RDAxKg0KK1gzOTIxMTJZMTgzMTMyRDAxKg0KK1gzOTIxODVZMTgzNDM2RDAxKg0KK1kxMzUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg2MDIwWTIzMjQwNEQwMipYMzg2MjAyWTIzMjMyOUQwMSoNCitYMzg2NjMxWTIzMjIyNkQwMSoNCitYMzg3MDcwWTIzMjE5MUQwMSoNCitYMzg3NTA5WTIzMjIyNkQwMSoNCitYMzg3OTM4WTIzMjMyOUQwMSoNCitYMzg4MjA0WTIzMjQzOUQwMSoNCitZMTg2NTE4RDAxKg0KK1gzODgxNjZZMTg2NTAzRDAxKg0KK1gzODc3OTBZMTg2MjcyRDAxKg0KK1gzODc0NTVZMTg1OTg2RDAxKg0KK1gzODcxNjlZMTg1NjUxRDAxKg0KK1gzODY5MzhZMTg1Mjc1RDAxKg0KK1gzODY3NzBZMTg0ODY4RDAxKg0KK1gzODY2NjdZMTg0NDM5RDAxKg0KK1gzODY2MzJZMTg0MDAwRDAxKg0KK1gzODY2NjdZMTgzNTYxRDAxKg0KK1gzODY3NzBZMTgzMTMyRDAxKg0KK1gzODY5MzhZMTgyNzI1RDAxKg0KK1gzODcxNjlZMTgyMzQ5RDAxKg0KK1gzODc0NTVZMTgyMDE0RDAxKg0KK1gzODc3OTBZMTgxNzI4RDAxKg0KK1gzODgxNjZZMTgxNDk3RDAxKg0KK1gzODgyMDRZMTgxNDgyRDAxKg0KK1kxNjUxNzZEMDEqDQorWDM4ODA5MlkxNjUyNzJEMDEqDQorWDM4NzcxNlkxNjU1MDNEMDEqDQorWDM4NzMwOVkxNjU2NzFEMDEqDQorWDM4Njg4MFkxNjU3NzREMDEqDQorWDM4NjQ0MVkxNjU4MDlEMDEqDQorWDM4NjAyMFkxNjU3NzZEMDEqDQorWTE4NTkwNUQwMSoNCitYMzg2MTQ4WTE4NjAxNEQwMSoNCitYMzg2NDM0WTE4NjM0OUQwMSoNCitYMzg2NjY1WTE4NjcyNUQwMSoNCitYMzg2ODMzWTE4NzEzMkQwMSoNCitYMzg2OTM2WTE4NzU2MUQwMSoNCitYMzg2OTYyWTE4ODAwMEQwMSoNCitYMzg2OTM2WTE4ODQzOUQwMSoNCitYMzg2ODMzWTE4ODg2OEQwMSoNCitYMzg2NjY1WTE4OTI3NUQwMSoNCitYMzg2NDM0WTE4OTY1MUQwMSoNCitYMzg2MTQ4WTE4OTk4NkQwMSoNCitYMzg2MDIwWTE5MDA5NUQwMSoNCitZMjMyNDA0RDAxKg0KK0czNyoNCitHMzYqDQorWTI3OTI4OEQwMipYMzg2MjgxWTI3OTIyNkQwMSoNCitYMzg2NzIwWTI3OTE5MUQwMSoNCitYMzg3MTU5WTI3OTIyNkQwMSoNCitYMzg3NTg4WTI3OTMyOUQwMSoNCitYMzg3OTk1WTI3OTQ5N0QwMSoNCitYMzg4MjA0WTI3OTYyNkQwMSoNCitZMjQ5MDg1RDAxKg0KK1gzODc5MjVZMjQ5MDYzRDAxKg0KK1gzODc2NDlZMjQ4OTk3RDAxKg0KK1gzODczODdZMjQ4ODg5RDAxKg0KK1gzODcxNDZZMjQ4NzQxRDAxKg0KK1gzODY5MzBZMjQ4NTU3RDAxKg0KK1gzODY3NDZZMjQ4MzQxRDAxKg0KK1gzODY1OThZMjQ4MTAwRDAxKg0KK1gzODY0OTBZMjQ3ODM4RDAxKg0KK1gzODY0MjRZMjQ3NTYyRDAxKg0KK1gzODY0MDFZMjQ3MjgwRDAxKg0KK1gzODY0MjRZMjQ2OTk4RDAxKg0KK1gzODY0OTBZMjQ2NzIyRDAxKg0KK1gzODY1OThZMjQ2NDYwRDAxKg0KK1gzODY3NDZZMjQ2MjE5RDAxKg0KK1gzODY5MzBZMjQ2MDAzRDAxKg0KK1gzODcxNDZZMjQ1ODE5RDAxKg0KK1gzODczODdZMjQ1NjcxRDAxKg0KK1gzODc2NDlZMjQ1NTYzRDAxKg0KK1gzODc5MjVZMjQ1NDk3RDAxKg0KK1gzODgyMDRZMjQ1NDc1RDAxKg0KK1kyMzc1NjFEMDEqDQorWDM4NzkzOFkyMzc2NzFEMDEqDQorWDM4NzUwOVkyMzc3NzREMDEqDQorWDM4NzA3MFkyMzc4MDlEMDEqDQorWDM4NjYzMVkyMzc3NzREMDEqDQorWDM4NjIwMlkyMzc2NzFEMDEqDQorWDM4NjAyMFkyMzc1OTZEMDEqDQorWTI1NTY0MEQwMSoNCitYMzg2MTYzWTI1NTcyOEQwMSoNCitYMzg2NDk4WTI1NjAxNEQwMSoNCitYMzg2Nzg0WTI1NjM0OUQwMSoNCitYMzg3MDE1WTI1NjcyNUQwMSoNCitYMzg3MTgzWTI1NzEzMkQwMSoNCitYMzg3Mjg2WTI1NzU2MUQwMSoNCitYMzg3MzEyWTI1ODAwMEQwMSoNCitYMzg3Mjg2WTI1ODQzOUQwMSoNCitYMzg3MTgzWTI1ODg2OEQwMSoNCitYMzg3MDE1WTI1OTI3NUQwMSoNCitYMzg2Nzg0WTI1OTY1MUQwMSoNCitYMzg2NDk4WTI1OTk4NkQwMSoNCitYMzg2MTYzWTI2MDI3MkQwMSoNCitYMzg2MDIwWTI2MDM2MEQwMSoNCitZMjc5Mjg4RDAxKg0KK0czNyoNCitHMzYqDQorWTMyMzU4N0QwMipYMzg2MTY2WTMyMzQ5N0QwMSoNCitYMzg2NTczWTMyMzMyOUQwMSoNCitYMzg3MDAyWTMyMzIyNkQwMSoNCitYMzg3NDQxWTMyMzE5MUQwMSoNCitYMzg3ODgwWTMyMzIyNkQwMSoNCitYMzg4MjA0WTMyMzMwNEQwMSoNCitZMjg0Mzc0RDAxKg0KK1gzODc5OTVZMjg0NTAzRDAxKg0KK1gzODc1ODhZMjg0NjcxRDAxKg0KK1gzODcxNTlZMjg0Nzc0RDAxKg0KK1gzODY3MjBZMjg0ODA5RDAxKg0KK1gzODYyODFZMjg0Nzc0RDAxKg0KK1gzODYwMjBZMjg0NzEyRDAxKg0KK1kzMDM5MDVEMDEqDQorWDM4NjE0OFkzMDQwMTREMDEqDQorWDM4NjQzNFkzMDQzNDlEMDEqDQorWDM4NjY2NVkzMDQ3MjVEMDEqDQorWDM4NjgzM1kzMDUxMzJEMDEqDQorWDM4NjkzNlkzMDU1NjFEMDEqDQorWDM4Njk2MlkzMDYwMDBEMDEqDQorWDM4NjkzNlkzMDY0MzlEMDEqDQorWDM4NjgzM1kzMDY4NjhEMDEqDQorWDM4NjY2NVkzMDcyNzVEMDEqDQorWDM4NjQzNFkzMDc2NTFEMDEqDQorWDM4NjE0OFkzMDc5ODZEMDEqDQorWDM4NjAyMFkzMDgwOTVEMDEqDQorWTMyMzU4N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzNTE2OThEMDIqWDM4NjM4MFkzNTE3MjZEMDEqDQorWDM4NjgwOVkzNTE4MjlEMDEqDQorWDM4NzIxNlkzNTE5OTdEMDEqDQorWDM4NzU5MlkzNTIyMjhEMDEqDQorWDM4NzkyN1kzNTI1MTREMDEqDQorWDM4ODIwNFkzNTI4MzlEMDEqDQorWTMyODY5NkQwMSoNCitYMzg3ODgwWTMyODc3NEQwMSoNCitYMzg3NDQxWTMyODgwOUQwMSoNCitYMzg3MDAyWTMyODc3NEQwMSoNCitYMzg2NTczWTMyODY3MUQwMSoNCitYMzg2MTY2WTMyODUwM0QwMSoNCitYMzg2MDIwWTMyODQxM0QwMSoNCitZMzUxNjk4RDAxKg0KK0czNyoNCitHMzYqDQorWTM5NzAwMEQwMipYMzg4MjA0RDAxKg0KK1kzNTYxNjFEMDEqDQorWDM4NzkyN1kzNTY0ODZEMDEqDQorWDM4NzU5MlkzNTY3NzJEMDEqDQorWDM4NzIxNlkzNTcwMDNEMDEqDQorWDM4NjgwOVkzNTcxNzFEMDEqDQorWDM4NjM4MFkzNTcyNzREMDEqDQorWDM4NjAyMFkzNTczMDJEMDEqDQorWTM2NDIwMUQwMSoNCitYMzg2MjIzWTM2NDIxN0QwMSoNCitYMzg2NDk5WTM2NDI4M0QwMSoNCitYMzg2NzYxWTM2NDM5MUQwMSoNCitYMzg3MDAyWTM2NDUzOUQwMSoNCitYMzg3MjE4WTM2NDcyM0QwMSoNCitYMzg3NDAyWTM2NDkzOUQwMSoNCitYMzg3NTUwWTM2NTE4MEQwMSoNCitYMzg3NjU4WTM2NTQ0MkQwMSoNCitYMzg3NzI0WTM2NTcxOEQwMSoNCitYMzg3NzQxWTM2NjAwMEQwMSoNCitYMzg3NzI0WTM2NjI4MkQwMSoNCitYMzg3NjU4WTM2NjU1OEQwMSoNCitYMzg3NTUwWTM2NjgyMEQwMSoNCitYMzg3NDAyWTM2NzA2MUQwMSoNCitYMzg3MjE4WTM2NzI3N0QwMSoNCitYMzg3MDAyWTM2NzQ2MUQwMSoNCitYMzg2NzYxWTM2NzYwOUQwMSoNCitYMzg2NDk5WTM2NzcxN0QwMSoNCitYMzg2MjIzWTM2Nzc4M0QwMSoNCitYMzg2MDIwWTM2Nzc5OUQwMSoNCitZMzc2OTg5RDAxKg0KK1gzODYxNjVZMzc3MjI1RDAxKg0KK1gzODYzMzNZMzc3NjMyRDAxKg0KK1gzODY0MzZZMzc4MDYxRDAxKg0KK1gzODY0NjJZMzc4NTAwRDAxKg0KK1gzODY0MzZZMzc4OTM5RDAxKg0KK1gzODYzMzNZMzc5MzY4RDAxKg0KK1gzODYxNjVZMzc5Nzc1RDAxKg0KK1gzODYwMjBZMzgwMDExRDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzg4MjA0WTEzNTAwMEQwMipYMzg2MDIwRDAxKg0KK1kxNTYwMDhEMDEqDQorWDM4NjAyM1kxNTYwMDdEMDEqDQorWDM4NjMwNVkxNTYwMzBEMDEqDQorWDM4NjU4MVkxNTYwOTZEMDEqDQorWDM4Njg0M1kxNTYyMDREMDEqDQorWDM4NzA4NFkxNTYzNTJEMDEqDQorWDM4NzMwMFkxNTY1MzZEMDEqDQorWDM4NzQ4NFkxNTY3NTJEMDEqDQorWDM4NzYzMlkxNTY5OTNEMDEqDQorWDM4Nzc0MFkxNTcyNTVEMDEqDQorWDM4NzgwNlkxNTc1MzFEMDEqDQorWDM4NzgyM1kxNTc4MTNEMDEqDQorWDM4NzgwNlkxNTgwOTVEMDEqDQorWDM4Nzc0MFkxNTgzNzFEMDEqDQorWDM4NzYzMlkxNTg2MzNEMDEqDQorWDM4NzQ4NFkxNTg4NzREMDEqDQorWDM4NzMwMFkxNTkwOTBEMDEqDQorWDM4NzA4NFkxNTkyNzREMDEqDQorWDM4Njg0M1kxNTk0MjJEMDEqDQorWDM4NjU4MVkxNTk1MzBEMDEqDQorWDM4NjMwNVkxNTk1OTZEMDEqDQorWDM4NjAyM1kxNTk2MTlEMDEqDQorWDM4NjAyMFkxNTk2MThEMDEqDQorWTE2MDIyNEQwMSoNCitYMzg2NDQxWTE2MDE5MUQwMSoNCitYMzg2ODgwWTE2MDIyNkQwMSoNCitYMzg3MzA5WTE2MDMyOUQwMSoNCitYMzg3NzE2WTE2MDQ5N0QwMSoNCitYMzg4MDkyWTE2MDcyOEQwMSoNCitYMzg4MjA0WTE2MDgyNEQwMSoNCitZMTM1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM4NjAyMEQwMipYMzc3MzQ0RDAxKg0KK1kxNjAzNzNEMDEqDQorWDM3NzM0N1kxNjAzNzJEMDEqDQorWDM3NzYyOVkxNjAzOTVEMDEqDQorWDM3NzkwNVkxNjA0NjFEMDEqDQorWDM3ODE2N1kxNjA1NjlEMDEqDQorWDM3ODQwOFkxNjA3MTdEMDEqDQorWDM3ODYyNFkxNjA5MDFEMDEqDQorWDM3ODgwOFkxNjExMTdEMDEqDQorWDM3ODk1NlkxNjEzNThEMDEqDQorWDM3OTA2NFkxNjE2MjBEMDEqDQorWDM3OTEzMFkxNjE4OTZEMDEqDQorWDM3OTE0N1kxNjIxNzhEMDEqDQorWDM3OTEzMFkxNjI0NjBEMDEqDQorWDM3OTA2NFkxNjI3MzZEMDEqDQorWDM3ODk1NlkxNjI5OThEMDEqDQorWDM3ODgwOFkxNjMyMzlEMDEqDQorWDM3ODYyNFkxNjM0NTVEMDEqDQorWDM3ODQwOFkxNjM2MzlEMDEqDQorWDM3ODE2N1kxNjM3ODdEMDEqDQorWDM3NzkwNVkxNjM4OTVEMDEqDQorWDM3NzYyOVkxNjM5NjFEMDEqDQorWDM3NzM0N1kxNjM5ODREMDEqDQorWDM3NzM0NFkxNjM5ODNEMDEqDQorWTIzMjk0M0QwMSoNCitYMzc3NDI3WTIzMzAxNEQwMSoNCitYMzc3NzEzWTIzMzM0OUQwMSoNCitYMzc3OTQ0WTIzMzcyNUQwMSoNCitYMzc4MTEyWTIzNDEzMkQwMSoNCitYMzc4MjE1WTIzNDU2MUQwMSoNCitYMzc4MjQxWTIzNTAwMEQwMSoNCitYMzc4MjE1WTIzNTQzOUQwMSoNCitYMzc4MTEyWTIzNTg2OEQwMSoNCitYMzc3OTQ0WTIzNjI3NUQwMSoNCitYMzc3NzEzWTIzNjY1MUQwMSoNCitYMzc3NDI3WTIzNjk4NkQwMSoNCitYMzc3MzQ0WTIzNzA1N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gzODYwMjBEMDEqDQorWTM4MDAxMUQwMSoNCitYMzg1OTM0WTM4MDE1MUQwMSoNCitYMzg1NjQ4WTM4MDQ4NkQwMSoNCitYMzg1MzEzWTM4MDc3MkQwMSoNCitYMzg0OTM3WTM4MTAwM0QwMSoNCitYMzg0NTMwWTM4MTE3MUQwMSoNCitYMzg0MTAxWTM4MTI3NEQwMSoNCitYMzgzNjYyWTM4MTMwOUQwMSoNCitYMzgzMjIzWTM4MTI3NEQwMSoNCitYMzgyNzk0WTM4MTE3MUQwMSoNCitYMzgyMzg3WTM4MTAwM0QwMSoNCitYMzgyMDExWTM4MDc3MkQwMSoNCitYMzgxNjc2WTM4MDQ4NkQwMSoNCitYMzgxMzkwWTM4MDE1MUQwMSoNCitYMzgxMTU5WTM3OTc3NUQwMSoNCitYMzgwOTkxWTM3OTM2OEQwMSoNCitYMzgwODg4WTM3ODkzOUQwMSoNCitYMzgwODUzWTM3ODUwMEQwMSoNCitYMzgwODg4WTM3ODA2MUQwMSoNCitYMzgwOTkxWTM3NzYzMkQwMSoNCitYMzgxMTU5WTM3NzIyNUQwMSoNCitYMzgxMzkwWTM3Njg0OUQwMSoNCitYMzgxNjc2WTM3NjUxNEQwMSoNCitYMzgyMDExWTM3NjIyOEQwMSoNCitYMzgyMzg3WTM3NTk5N0QwMSoNCitYMzgyNzk0WTM3NTgyOUQwMSoNCitYMzgzMjIzWTM3NTcyNkQwMSoNCitYMzgzNjYyWTM3NTY5MUQwMSoNCitYMzg0MTAxWTM3NTcyNkQwMSoNCitYMzg0NTMwWTM3NTgyOUQwMSoNCitYMzg0OTM3WTM3NTk5N0QwMSoNCitYMzg1MzEzWTM3NjIyOEQwMSoNCitYMzg1NjQ4WTM3NjUxNEQwMSoNCitYMzg1OTM0WTM3Njg0OUQwMSoNCitYMzg2MDIwWTM3Njk4OUQwMSoNCitZMzY3Nzk5RDAxKg0KK1gzODU5NDFZMzY3ODA2RDAxKg0KK1gzODU2NTlZMzY3NzgzRDAxKg0KK1gzODUzODNZMzY3NzE3RDAxKg0KK1gzODUxMjFZMzY3NjA5RDAxKg0KK1gzODQ4ODBZMzY3NDYxRDAxKg0KK1gzODQ2NjRZMzY3Mjc3RDAxKg0KK1gzODQ0ODBZMzY3MDYxRDAxKg0KK1gzODQzMzJZMzY2ODIwRDAxKg0KK1gzODQyMjRZMzY2NTU4RDAxKg0KK1gzODQxNThZMzY2MjgyRDAxKg0KK1gzODQxMzVZMzY2MDAwRDAxKg0KK1gzODQxNThZMzY1NzE4RDAxKg0KK1gzODQyMjRZMzY1NDQyRDAxKg0KK1gzODQzMzJZMzY1MTgwRDAxKg0KK1gzODQ0ODBZMzY0OTM5RDAxKg0KK1gzODQ2NjRZMzY0NzIzRDAxKg0KK1gzODQ4ODBZMzY0NTM5RDAxKg0KK1gzODUxMjFZMzY0MzkxRDAxKg0KK1gzODUzODNZMzY0MjgzRDAxKg0KK1gzODU2NTlZMzY0MjE3RDAxKg0KK1gzODU5NDFZMzY0MTk0RDAxKg0KK1gzODYwMjBZMzY0MjAxRDAxKg0KK1kzNTczMDJEMDEqDQorWDM4NTk0MVkzNTczMDlEMDEqDQorWDM4NTUwMlkzNTcyNzREMDEqDQorWDM4NTA3M1kzNTcxNzFEMDEqDQorWDM4NDY2NlkzNTcwMDNEMDEqDQorWDM4NDI5MFkzNTY3NzJEMDEqDQorWDM4Mzk1NVkzNTY0ODZEMDEqDQorWDM4MzY2OVkzNTYxNTFEMDEqDQorWDM4MzQzOFkzNTU3NzVEMDEqDQorWDM4MzI3MFkzNTUzNjhEMDEqDQorWDM4MzE2N1kzNTQ5MzlEMDEqDQorWDM4MzEzMlkzNTQ1MDBEMDEqDQorWDM4MzE2N1kzNTQwNjFEMDEqDQorWDM4MzI3MFkzNTM2MzJEMDEqDQorWDM4MzQzOFkzNTMyMjVEMDEqDQorWDM4MzY2OVkzNTI4NDlEMDEqDQorWDM4Mzk1NVkzNTI1MTREMDEqDQorWDM4NDI5MFkzNTIyMjhEMDEqDQorWDM4NDY2NlkzNTE5OTdEMDEqDQorWDM4NTA3M1kzNTE4MjlEMDEqDQorWDM4NTUwMlkzNTE3MjZEMDEqDQorWDM4NTk0MVkzNTE2OTFEMDEqDQorWDM4NjAyMFkzNTE2OThEMDEqDQorWTMyODQxM0QwMSoNCitYMzg1NzkwWTMyODI3MkQwMSoNCitYMzg1NDU1WTMyNzk4NkQwMSoNCitYMzg1MTY5WTMyNzY1MUQwMSoNCitYMzg0OTM4WTMyNzI3NUQwMSoNCitYMzg0NzcwWTMyNjg2OEQwMSoNCitYMzg0NjY3WTMyNjQzOUQwMSoNCitYMzg0NjMyWTMyNjAwMEQwMSoNCitYMzg0NjY3WTMyNTU2MUQwMSoNCitYMzg0NzcwWTMyNTEzMkQwMSoNCitYMzg0OTM4WTMyNDcyNUQwMSoNCitYMzg1MTY5WTMyNDM0OUQwMSoNCitYMzg1NDU1WTMyNDAxNEQwMSoNCitYMzg1NzkwWTMyMzcyOEQwMSoNCitYMzg2MDIwWTMyMzU4N0QwMSoNCitZMzA4MDk1RDAxKg0KK1gzODU4MTNZMzA4MjcyRDAxKg0KK1gzODU0MzdZMzA4NTAzRDAxKg0KK1gzODUwMzBZMzA4NjcxRDAxKg0KK1gzODQ2MDFZMzA4Nzc0RDAxKg0KK1gzODQxNjJZMzA4ODA5RDAxKg0KK1gzODM3MjNZMzA4Nzc0RDAxKg0KK1gzODMyOTRZMzA4NjcxRDAxKg0KK1gzODI4ODdZMzA4NTAzRDAxKg0KK1gzODI1MTFZMzA4MjcyRDAxKg0KK1gzODIxNzZZMzA3OTg2RDAxKg0KK1gzODE4OTBZMzA3NjUxRDAxKg0KK1gzODE2NTlZMzA3Mjc1RDAxKg0KK1gzODE0OTFZMzA2ODY4RDAxKg0KK1gzODEzODhZMzA2NDM5RDAxKg0KK1gzODEzNTNZMzA2MDAwRDAxKg0KK1gzODEzODhZMzA1NTYxRDAxKg0KK1gzODE0OTFZMzA1MTMyRDAxKg0KK1gzODE2NTlZMzA0NzI1RDAxKg0KK1gzODE4OTBZMzA0MzQ5RDAxKg0KK1gzODIxNzZZMzA0MDE0RDAxKg0KK1gzODI1MTFZMzAzNzI4RDAxKg0KK1gzODI4ODdZMzAzNDk3RDAxKg0KK1gzODMyOTRZMzAzMzI5RDAxKg0KK1gzODM3MjNZMzAzMjI2RDAxKg0KK1gzODQxNjJZMzAzMTkxRDAxKg0KK1gzODQ2MDFZMzAzMjI2RDAxKg0KK1gzODUwMzBZMzAzMzI5RDAxKg0KK1gzODU0MzdZMzAzNDk3RDAxKg0KK1gzODU4MTNZMzAzNzI4RDAxKg0KK1gzODYwMjBZMzAzOTA1RDAxKg0KK1kyODQ3MTJEMDEqDQorWDM4NTg1MlkyODQ2NzFEMDEqDQorWDM4NTQ0NVkyODQ1MDNEMDEqDQorWDM4NTA2OVkyODQyNzJEMDEqDQorWDM4NDczNFkyODM5ODZEMDEqDQorWDM4NDQ0OFkyODM2NTFEMDEqDQorWDM4NDIxN1kyODMyNzVEMDEqDQorWDM4NDA0OVkyODI4NjhEMDEqDQorWDM4Mzk0NlkyODI0MzlEMDEqDQorWDM4MzkxMVkyODIwMDBEMDEqDQorWDM4Mzk0NlkyODE1NjFEMDEqDQorWDM4NDA0OVkyODExMzJEMDEqDQorWDM4NDIxN1kyODA3MjVEMDEqDQorWDM4NDQ0OFkyODAzNDlEMDEqDQorWDM4NDczNFkyODAwMTREMDEqDQorWDM4NTA2OVkyNzk3MjhEMDEqDQorWDM4NTQ0NVkyNzk0OTdEMDEqDQorWDM4NTg1MlkyNzkzMjlEMDEqDQorWDM4NjAyMFkyNzkyODhEMDEqDQorWTI2MDM2MEQwMSoNCitYMzg1Nzg3WTI2MDUwM0QwMSoNCitYMzg1MzgwWTI2MDY3MUQwMSoNCitYMzg0OTUxWTI2MDc3NEQwMSoNCitYMzg0NTEyWTI2MDgwOUQwMSoNCitYMzg0MDczWTI2MDc3NEQwMSoNCitYMzgzNjQ0WTI2MDY3MUQwMSoNCitYMzgzMjM3WTI2MDUwM0QwMSoNCitYMzgyODYxWTI2MDI3MkQwMSoNCitYMzgyNTI2WTI1OTk4NkQwMSoNCitYMzgyMjQwWTI1OTY1MUQwMSoNCitYMzgyMDA5WTI1OTI3NUQwMSoNCitYMzgxODQxWTI1ODg2OEQwMSoNCitYMzgxNzM4WTI1ODQzOUQwMSoNCitYMzgxNzAzWTI1ODAwMEQwMSoNCitYMzgxNzM4WTI1NzU2MUQwMSoNCitYMzgxODQxWTI1NzEzMkQwMSoNCitYMzgyMDA5WTI1NjcyNUQwMSoNCitYMzgyMjQwWTI1NjM0OUQwMSoNCitYMzgyNTI2WTI1NjAxNEQwMSoNCitYMzgyODYxWTI1NTcyOEQwMSoNCitYMzgzMjM3WTI1NTQ5N0QwMSoNCitYMzgzNjQ0WTI1NTMyOUQwMSoNCitYMzg0MDczWTI1NTIyNkQwMSoNCitYMzg0NTEyWTI1NTE5MUQwMSoNCitYMzg0OTUxWTI1NTIyNkQwMSoNCitYMzg1MzgwWTI1NTMyOUQwMSoNCitYMzg1Nzg3WTI1NTQ5N0QwMSoNCitYMzg2MDIwWTI1NTY0MEQwMSoNCitZMjM3NTk2RDAxKg0KK1gzODU3OTVZMjM3NTAzRDAxKg0KK1gzODU0MTlZMjM3MjcyRDAxKg0KK1gzODUwODRZMjM2OTg2RDAxKg0KK1gzODQ3OThZMjM2NjUxRDAxKg0KK1gzODQ1NjdZMjM2Mjc1RDAxKg0KK1gzODQzOTlZMjM1ODY4RDAxKg0KK1gzODQyOTZZMjM1NDM5RDAxKg0KK1gzODQyNjFZMjM1MDAwRDAxKg0KK1gzODQyOTZZMjM0NTYxRDAxKg0KK1gzODQzOTlZMjM0MTMyRDAxKg0KK1gzODQ1NjdZMjMzNzI1RDAxKg0KK1gzODQ3OThZMjMzMzQ5RDAxKg0KK1gzODUwODRZMjMzMDE0RDAxKg0KK1gzODU0MTlZMjMyNzI4RDAxKg0KK1gzODU3OTVZMjMyNDk3RDAxKg0KK1gzODYwMjBZMjMyNDA0RDAxKg0KK1kxOTAwOTVEMDEqDQorWDM4NTgxM1kxOTAyNzJEMDEqDQorWDM4NTQzN1kxOTA1MDNEMDEqDQorWDM4NTAzMFkxOTA2NzFEMDEqDQorWDM4NDYwMVkxOTA3NzREMDEqDQorWDM4NDE2MlkxOTA4MDlEMDEqDQorWDM4MzcyM1kxOTA3NzREMDEqDQorWDM4MzI5NFkxOTA2NzFEMDEqDQorWDM4Mjg4N1kxOTA1MDNEMDEqDQorWDM4MjUxMVkxOTAyNzJEMDEqDQorWDM4MjE3NlkxODk5ODZEMDEqDQorWDM4MTg5MFkxODk2NTFEMDEqDQorWDM4MTY1OVkxODkyNzVEMDEqDQorWDM4MTQ5MVkxODg4NjhEMDEqDQorWDM4MTM4OFkxODg0MzlEMDEqDQorWDM4MTM1M1kxODgwMDBEMDEqDQorWDM4MTM4OFkxODc1NjFEMDEqDQorWDM4MTQ5MVkxODcxMzJEMDEqDQorWDM4MTY1OVkxODY3MjVEMDEqDQorWDM4MTg5MFkxODYzNDlEMDEqDQorWDM4MjE3NlkxODYwMTREMDEqDQorWDM4MjUxMVkxODU3MjhEMDEqDQorWDM4Mjg4N1kxODU0OTdEMDEqDQorWDM4MzI5NFkxODUzMjlEMDEqDQorWDM4MzcyM1kxODUyMjZEMDEqDQorWDM4NDE2MlkxODUxOTFEMDEqDQorWDM4NDYwMVkxODUyMjZEMDEqDQorWDM4NTAzMFkxODUzMjlEMDEqDQorWDM4NTQzN1kxODU0OTdEMDEqDQorWDM4NTgxM1kxODU3MjhEMDEqDQorWDM4NjAyMFkxODU5MDVEMDEqDQorWTE2NTc3NkQwMSoNCitYMzg2MDAyWTE2NTc3NEQwMSoNCitYMzg1NTczWTE2NTY3MUQwMSoNCitYMzg1MTY2WTE2NTUwM0QwMSoNCitYMzg0NzkwWTE2NTI3MkQwMSoNCitYMzg0NDU1WTE2NDk4NkQwMSoNCitYMzg0MTY5WTE2NDY1MUQwMSoNCitYMzgzOTM4WTE2NDI3NUQwMSoNCitYMzgzNzcwWTE2Mzg2OEQwMSoNCitYMzgzNjY3WTE2MzQzOUQwMSoNCitYMzgzNjMyWTE2MzAwMEQwMSoNCitYMzgzNjY3WTE2MjU2MUQwMSoNCitYMzgzNzcwWTE2MjEzMkQwMSoNCitYMzgzOTM4WTE2MTcyNUQwMSoNCitYMzg0MTY5WTE2MTM0OUQwMSoNCitYMzg0NDU1WTE2MTAxNEQwMSoNCitYMzg0NzkwWTE2MDcyOEQwMSoNCitYMzg1MTY2WTE2MDQ5N0QwMSoNCitYMzg1NTczWTE2MDMyOUQwMSoNCitYMzg2MDAyWTE2MDIyNkQwMSoNCitYMzg2MDIwWTE2MDIyNEQwMSoNCitZMTU5NjE4RDAxKg0KK1gzODU3NDFZMTU5NTk2RDAxKg0KK1gzODU0NjVZMTU5NTMwRDAxKg0KK1gzODUyMDNZMTU5NDIyRDAxKg0KK1gzODQ5NjJZMTU5Mjc0RDAxKg0KK1gzODQ3NDZZMTU5MDkwRDAxKg0KK1gzODQ1NjJZMTU4ODc0RDAxKg0KK1gzODQ0MTRZMTU4NjMzRDAxKg0KK1gzODQzMDZZMTU4MzcxRDAxKg0KK1gzODQyNDBZMTU4MDk1RDAxKg0KK1gzODQyMTdZMTU3ODEzRDAxKg0KK1gzODQyNDBZMTU3NTMxRDAxKg0KK1gzODQzMDZZMTU3MjU1RDAxKg0KK1gzODQ0MTRZMTU2OTkzRDAxKg0KK1gzODQ1NjJZMTU2NzUyRDAxKg0KK1gzODQ3NDZZMTU2NTM2RDAxKg0KK1gzODQ5NjJZMTU2MzUyRDAxKg0KK1gzODUyMDNZMTU2MjA0RDAxKg0KK1gzODU0NjVZMTU2MDk2RDAxKg0KK1gzODU3NDFZMTU2MDMwRDAxKg0KK1gzODYwMjBZMTU2MDA4RDAxKg0KK1kxMzUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzc3MzQ0RDAyKlgzNzI0MzdEMDEqDQorWTE2NzU3OEQwMSoNCitYMzcyNDQxWTE2NzU3N0QwMSoNCitYMzcyODgwWTE2NzYxMkQwMSoNCitYMzczMzA5WTE2NzcxNUQwMSoNCitYMzczNzE2WTE2Nzg4M0QwMSoNCitYMzc0MDkyWTE2ODExNEQwMSoNCitYMzc0NDI3WTE2ODQwMEQwMSoNCitYMzc0NzEzWTE2ODczNUQwMSoNCitYMzc0OTQ0WTE2OTExMUQwMSoNCitYMzc1MTEyWTE2OTUxOEQwMSoNCitYMzc1MjE1WTE2OTk0N0QwMSoNCitYMzc1MjQxWTE3MDM4NkQwMSoNCitYMzc1MjE1WTE3MDgyNUQwMSoNCitYMzc1MTEyWTE3MTI1NEQwMSoNCitYMzc0OTQ0WTE3MTY2MUQwMSoNCitYMzc0NzEzWTE3MjAzN0QwMSoNCitYMzc0NDI3WTE3MjM3MkQwMSoNCitYMzc0MDkyWTE3MjY1OEQwMSoNCitYMzczNzE2WTE3Mjg4OUQwMSoNCitYMzczMzA5WTE3MzA1N0QwMSoNCitYMzcyODgwWTE3MzE2MEQwMSoNCitYMzcyNDQxWTE3MzE5NUQwMSoNCitYMzcyNDM3WTE3MzE5NEQwMSoNCitZMjU4NjI4RDAxKg0KK1gzNzI2NjNZMjU4NzY3RDAxKg0KK1gzNzI4NzlZMjU4OTUxRDAxKg0KK1gzNzMwNjNZMjU5MTY3RDAxKg0KK1gzNzMyMTFZMjU5NDA4RDAxKg0KK1gzNzMzMTlZMjU5NjcwRDAxKg0KK1gzNzMzODVZMjU5OTQ2RDAxKg0KK1gzNzM0MDJZMjYwMjI4RDAxKg0KK1gzNzMzODVZMjYwNTEwRDAxKg0KK1gzNzMzMTlZMjYwNzg2RDAxKg0KK1gzNzMyMTFZMjYxMDQ4RDAxKg0KK1gzNzMwNjNZMjYxMjg5RDAxKg0KK1gzNzI4NzlZMjYxNTA1RDAxKg0KK1gzNzI2NjNZMjYxNjg5RDAxKg0KK1gzNzI0MzdZMjYxODI4RDAxKg0KK1kyODc4ODFEMDEqDQorWDM3MjQ0MVkyODc4ODBEMDEqDQorWDM3Mjg4MFkyODc5MTVEMDEqDQorWDM3MzMwOVkyODgwMThEMDEqDQorWDM3MzcxNlkyODgxODZEMDEqDQorWDM3NDA5MlkyODg0MTdEMDEqDQorWDM3NDQyN1kyODg3MDNEMDEqDQorWDM3NDcxM1kyODkwMzhEMDEqDQorWDM3NDk0NFkyODk0MTREMDEqDQorWDM3NTExMlkyODk4MjFEMDEqDQorWDM3NTIxNVkyOTAyNTBEMDEqDQorWDM3NTI0MVkyOTA2ODlEMDEqDQorWDM3NTIxNVkyOTExMjhEMDEqDQorWDM3NTExMlkyOTE1NTdEMDEqDQorWDM3NDk0NFkyOTE5NjREMDEqDQorWDM3NDcxM1kyOTIzNDBEMDEqDQorWDM3NDQyN1kyOTI2NzVEMDEqDQorWDM3NDA5MlkyOTI5NjFEMDEqDQorWDM3MzcxNlkyOTMxOTJEMDEqDQorWDM3MzMwOVkyOTMzNjBEMDEqDQorWDM3Mjg4MFkyOTM0NjNEMDEqDQorWDM3MjQ0MVkyOTM0OThEMDEqDQorWDM3MjQzN1kyOTM0OTdEMDEqDQorWTM0ODM4MUQwMSoNCitYMzcyNDQxWTM0ODM4MEQwMSoNCitYMzcyODgwWTM0ODQxNUQwMSoNCitYMzczMzA5WTM0ODUxOEQwMSoNCitYMzczNzE2WTM0ODY4NkQwMSoNCitYMzc0MDkyWTM0ODkxN0QwMSoNCitYMzc0NDI3WTM0OTIwM0QwMSoNCitYMzc0NzEzWTM0OTUzOEQwMSoNCitYMzc0OTQ0WTM0OTkxNEQwMSoNCitYMzc1MTEyWTM1MDMyMUQwMSoNCitYMzc1MjE1WTM1MDc1MEQwMSoNCitYMzc1MjQxWTM1MTE4OUQwMSoNCitYMzc1MjE1WTM1MTYyOEQwMSoNCitYMzc1MTEyWTM1MjA1N0QwMSoNCitYMzc0OTQ0WTM1MjQ2NEQwMSoNCitYMzc0NzEzWTM1Mjg0MEQwMSoNCitYMzc0NDI3WTM1MzE3NUQwMSoNCitYMzc0MDkyWTM1MzQ2MUQwMSoNCitYMzczNzE2WTM1MzY5MkQwMSoNCitYMzczMzA5WTM1Mzg2MEQwMSoNCitYMzcyODgwWTM1Mzk2M0QwMSoNCitYMzcyNDQxWTM1Mzk5OEQwMSoNCitYMzcyNDM3WTM1Mzk5N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gzNzczNDREMDEqDQorWTIzNzA1N0QwMSoNCitYMzc3MDkyWTIzNzI3MkQwMSoNCitYMzc2NzE2WTIzNzUwM0QwMSoNCitYMzc2MzA5WTIzNzY3MUQwMSoNCitYMzc1ODgwWTIzNzc3NEQwMSoNCitYMzc1NDQxWTIzNzgwOUQwMSoNCitYMzc1MDAyWTIzNzc3NEQwMSoNCitYMzc0NTczWTIzNzY3MUQwMSoNCitYMzc0MTY2WTIzNzUwM0QwMSoNCitYMzczNzkwWTIzNzI3MkQwMSoNCitYMzczNDU1WTIzNjk4NkQwMSoNCitYMzczMTY5WTIzNjY1MUQwMSoNCitYMzcyOTM4WTIzNjI3NUQwMSoNCitYMzcyNzcwWTIzNTg2OEQwMSoNCitYMzcyNjY3WTIzNTQzOUQwMSoNCitYMzcyNjMyWTIzNTAwMEQwMSoNCitYMzcyNjY3WTIzNDU2MUQwMSoNCitYMzcyNzcwWTIzNDEzMkQwMSoNCitYMzcyOTM4WTIzMzcyNUQwMSoNCitYMzczMTY5WTIzMzM0OUQwMSoNCitYMzczNDU1WTIzMzAxNEQwMSoNCitYMzczNzkwWTIzMjcyOEQwMSoNCitYMzc0MTY2WTIzMjQ5N0QwMSoNCitYMzc0NTczWTIzMjMyOUQwMSoNCitYMzc1MDAyWTIzMjIyNkQwMSoNCitYMzc1NDQxWTIzMjE5MUQwMSoNCitYMzc1ODgwWTIzMjIyNkQwMSoNCitYMzc2MzA5WTIzMjMyOUQwMSoNCitYMzc2NzE2WTIzMjQ5N0QwMSoNCitYMzc3MDkyWTIzMjcyOEQwMSoNCitYMzc3MzQ0WTIzMjk0M0QwMSoNCitZMTYzOTgzRDAxKg0KK1gzNzcwNjVZMTYzOTYxRDAxKg0KK1gzNzY3ODlZMTYzODk1RDAxKg0KK1gzNzY1MjdZMTYzNzg3RDAxKg0KK1gzNzYyODZZMTYzNjM5RDAxKg0KK1gzNzYwNzBZMTYzNDU1RDAxKg0KK1gzNzU4ODZZMTYzMjM5RDAxKg0KK1gzNzU3MzhZMTYyOTk4RDAxKg0KK1gzNzU2MzBZMTYyNzM2RDAxKg0KK1gzNzU1NjRZMTYyNDYwRDAxKg0KK1gzNzU1NDFZMTYyMTc4RDAxKg0KK1gzNzU1NjRZMTYxODk2RDAxKg0KK1gzNzU2MzBZMTYxNjIwRDAxKg0KK1gzNzU3MzhZMTYxMzU4RDAxKg0KK1gzNzU4ODZZMTYxMTE3RDAxKg0KK1gzNzYwNzBZMTYwOTAxRDAxKg0KK1gzNzYyODZZMTYwNzE3RDAxKg0KK1gzNzY1MjdZMTYwNTY5RDAxKg0KK1gzNzY3ODlZMTYwNDYxRDAxKg0KK1gzNzcwNjVZMTYwMzk1RDAxKg0KK1gzNzczNDRZMTYwMzczRDAxKg0KK1kxMzUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzcyNDM3RDAyKlgzNTg5MzhEMDEqDQorWTIwNjY5NUQwMSoNCitYMzU4OTQxWTIwNjY5NEQwMSoNCitYMzU5MjIzWTIwNjcxN0QwMSoNCitYMzU5NDk5WTIwNjc4M0QwMSoNCitYMzU5NzYxWTIwNjg5MUQwMSoNCitYMzYwMDAyWTIwNzAzOUQwMSoNCitYMzYwMjE4WTIwNzIyM0QwMSoNCitYMzYwNDAyWTIwNzQzOUQwMSoNCitYMzYwNTUwWTIwNzY4MEQwMSoNCitYMzYwNjU4WTIwNzk0MkQwMSoNCitYMzYwNzI0WTIwODIxOEQwMSoNCitYMzYwNzQxWTIwODUwMEQwMSoNCitYMzYwNzI0WTIwODc4MkQwMSoNCitYMzYwNjU4WTIwOTA1OEQwMSoNCitYMzYwNTUwWTIwOTMyMEQwMSoNCitYMzYwNDAyWTIwOTU2MUQwMSoNCitYMzYwMjE4WTIwOTc3N0QwMSoNCitYMzYwMDAyWTIwOTk2MUQwMSoNCitYMzU5NzYxWTIxMDEwOUQwMSoNCitYMzU5NDk5WTIxMDIxN0QwMSoNCitYMzU5MjIzWTIxMDI4M0QwMSoNCitYMzU4OTQxWTIxMDMwNkQwMSoNCitYMzU4OTM4WTIxMDMwNUQwMSoNCitZMzk3MDAwRDAxKg0KK1gzNzI0MzdEMDEqDQorWTM1Mzk5N0QwMSoNCitYMzcyMDAyWTM1Mzk2M0QwMSoNCitYMzcxNTczWTM1Mzg2MEQwMSoNCitYMzcxMTY2WTM1MzY5MkQwMSoNCitYMzcwNzkwWTM1MzQ2MUQwMSoNCitYMzcwNDU1WTM1MzE3NUQwMSoNCitYMzcwMTY5WTM1Mjg0MEQwMSoNCitYMzY5OTM4WTM1MjQ2NEQwMSoNCitYMzY5NzcwWTM1MjA1N0QwMSoNCitYMzY5NjY3WTM1MTYyOEQwMSoNCitYMzY5NjMyWTM1MTE4OUQwMSoNCitYMzY5NjY3WTM1MDc1MEQwMSoNCitYMzY5NzcwWTM1MDMyMUQwMSoNCitYMzY5OTM4WTM0OTkxNEQwMSoNCitYMzcwMTY5WTM0OTUzOEQwMSoNCitYMzcwNDU1WTM0OTIwM0QwMSoNCitYMzcwNzkwWTM0ODkxN0QwMSoNCitYMzcxMTY2WTM0ODY4NkQwMSoNCitYMzcxNTczWTM0ODUxOEQwMSoNCitYMzcyMDAyWTM0ODQxNUQwMSoNCitYMzcyNDM3WTM0ODM4MUQwMSoNCitZMjkzNDk3RDAxKg0KK1gzNzIwMDJZMjkzNDYzRDAxKg0KK1gzNzE1NzNZMjkzMzYwRDAxKg0KK1gzNzExNjZZMjkzMTkyRDAxKg0KK1gzNzA3OTBZMjkyOTYxRDAxKg0KK1gzNzA0NTVZMjkyNjc1RDAxKg0KK1gzNzAxNjlZMjkyMzQwRDAxKg0KK1gzNjk5MzhZMjkxOTY0RDAxKg0KK1gzNjk3NzBZMjkxNTU3RDAxKg0KK1gzNjk2NjdZMjkxMTI4RDAxKg0KK1gzNjk2MzJZMjkwNjg5RDAxKg0KK1gzNjk2NjdZMjkwMjUwRDAxKg0KK1gzNjk3NzBZMjg5ODIxRDAxKg0KK1gzNjk5MzhZMjg5NDE0RDAxKg0KK1gzNzAxNjlZMjg5MDM4RDAxKg0KK1gzNzA0NTVZMjg4NzAzRDAxKg0KK1gzNzA3OTBZMjg4NDE3RDAxKg0KK1gzNzExNjZZMjg4MTg2RDAxKg0KK1gzNzE1NzNZMjg4MDE4RDAxKg0KK1gzNzIwMDJZMjg3OTE1RDAxKg0KK1gzNzI0MzdZMjg3ODgxRDAxKg0KK1kyNjE4MjhEMDEqDQorWDM3MjQyMlkyNjE4MzdEMDEqDQorWDM3MjE2MFkyNjE5NDVEMDEqDQorWDM3MTg4NFkyNjIwMTFEMDEqDQorWDM3MTYwMlkyNjIwMzREMDEqDQorWDM3MTMyMFkyNjIwMTFEMDEqDQorWDM3MTA0NFkyNjE5NDVEMDEqDQorWDM3MDc4MlkyNjE4MzdEMDEqDQorWDM3MDU0MVkyNjE2ODlEMDEqDQorWDM3MDMyNVkyNjE1MDVEMDEqDQorWDM3MDE0MVkyNjEyODlEMDEqDQorWDM2OTk5M1kyNjEwNDhEMDEqDQorWDM2OTg4NVkyNjA3ODZEMDEqDQorWDM2OTgxOVkyNjA1MTBEMDEqDQorWDM2OTc5NlkyNjAyMjhEMDEqDQorWDM2OTgxOVkyNTk5NDZEMDEqDQorWDM2OTg4NVkyNTk2NzBEMDEqDQorWDM2OTk5M1kyNTk0MDhEMDEqDQorWDM3MDE0MVkyNTkxNjdEMDEqDQorWDM3MDMyNVkyNTg5NTFEMDEqDQorWDM3MDU0MVkyNTg3NjdEMDEqDQorWDM3MDc4MlkyNTg2MTlEMDEqDQorWDM3MTA0NFkyNTg1MTFEMDEqDQorWDM3MTMyMFkyNTg0NDVEMDEqDQorWDM3MTYwMlkyNTg0MjJEMDEqDQorWDM3MTg4NFkyNTg0NDVEMDEqDQorWDM3MjE2MFkyNTg1MTFEMDEqDQorWDM3MjQyMlkyNTg2MTlEMDEqDQorWDM3MjQzN1kyNTg2MjhEMDEqDQorWTE3MzE5NEQwMSoNCitYMzcyMDAyWTE3MzE2MEQwMSoNCitYMzcxNTczWTE3MzA1N0QwMSoNCitYMzcxMTY2WTE3Mjg4OUQwMSoNCitYMzcwNzkwWTE3MjY1OEQwMSoNCitYMzcwNDU1WTE3MjM3MkQwMSoNCitYMzcwMTY5WTE3MjAzN0QwMSoNCitYMzY5OTM4WTE3MTY2MUQwMSoNCitYMzY5NzcwWTE3MTI1NEQwMSoNCitYMzY5NjY3WTE3MDgyNUQwMSoNCitYMzY5NjMyWTE3MDM4NkQwMSoNCitYMzY5NjY3WTE2OTk0N0QwMSoNCitYMzY5NzcwWTE2OTUxOEQwMSoNCitYMzY5OTM4WTE2OTExMUQwMSoNCitYMzcwMTY5WTE2ODczNUQwMSoNCitYMzcwNDU1WTE2ODQwMEQwMSoNCitYMzcwNzkwWTE2ODExNEQwMSoNCitYMzcxMTY2WTE2Nzg4M0QwMSoNCitYMzcxNTczWTE2NzcxNUQwMSoNCitYMzcyMDAyWTE2NzYxMkQwMSoNCitYMzcyNDM3WTE2NzU3OEQwMSoNCitZMTM1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM1ODkzOEQwMipYMzU2NDM4RDAxKg0KK1kyMzExOTVEMDEqDQorWDM1NjQ0MVkyMzExOTREMDEqDQorWDM1NjcyM1kyMzEyMTdEMDEqDQorWDM1Njk5OVkyMzEyODNEMDEqDQorWDM1NzI2MVkyMzEzOTFEMDEqDQorWDM1NzUwMlkyMzE1MzlEMDEqDQorWDM1NzcxOFkyMzE3MjNEMDEqDQorWDM1NzkwMlkyMzE5MzlEMDEqDQorWDM1ODA1MFkyMzIxODBEMDEqDQorWDM1ODE1OFkyMzI0NDJEMDEqDQorWDM1ODIyNFkyMzI3MThEMDEqDQorWDM1ODI0MVkyMzMwMDBEMDEqDQorWDM1ODIyNFkyMzMyODJEMDEqDQorWDM1ODE1OFkyMzM1NThEMDEqDQorWDM1ODA1MFkyMzM4MjBEMDEqDQorWDM1NzkwMlkyMzQwNjFEMDEqDQorWDM1NzcxOFkyMzQyNzdEMDEqDQorWDM1NzUwMlkyMzQ0NjFEMDEqDQorWDM1NzI2MVkyMzQ2MDlEMDEqDQorWDM1Njk5OVkyMzQ3MTdEMDEqDQorWDM1NjcyM1kyMzQ3ODNEMDEqDQorWDM1NjQ0MVkyMzQ4MDZEMDEqDQorWDM1NjQzOFkyMzQ4MDVEMDEqDQorWTM5NzAwMEQwMSoNCitYMzU4OTM4RDAxKg0KK1kyMTAzMDVEMDEqDQorWDM1ODY1OVkyMTAyODNEMDEqDQorWDM1ODM4M1kyMTAyMTdEMDEqDQorWDM1ODEyMVkyMTAxMDlEMDEqDQorWDM1Nzg4MFkyMDk5NjFEMDEqDQorWDM1NzY2NFkyMDk3NzdEMDEqDQorWDM1NzQ4MFkyMDk1NjFEMDEqDQorWDM1NzMzMlkyMDkzMjBEMDEqDQorWDM1NzIyNFkyMDkwNThEMDEqDQorWDM1NzE1OFkyMDg3ODJEMDEqDQorWDM1NzEzNVkyMDg1MDBEMDEqDQorWDM1NzE1OFkyMDgyMThEMDEqDQorWDM1NzIyNFkyMDc5NDJEMDEqDQorWDM1NzMzMlkyMDc2ODBEMDEqDQorWDM1NzQ4MFkyMDc0MzlEMDEqDQorWDM1NzY2NFkyMDcyMjNEMDEqDQorWDM1Nzg4MFkyMDcwMzlEMDEqDQorWDM1ODEyMVkyMDY4OTFEMDEqDQorWDM1ODM4M1kyMDY3ODNEMDEqDQorWDM1ODY1OVkyMDY3MTdEMDEqDQorWDM1ODkzOFkyMDY2OTVEMDEqDQorWTEzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNTY0MzhEMDIqWDM1MzM4N0QwMSoNCitZMTg1NzM5RDAxKg0KK1gzNTM5NTVZMTg2NDA0RDAxKg0KK1gzNTQ3ODFZMTg3NzUyRDAxKg0KK1gzNTUzODdZMTg5MjE0RDAxKg0KK1gzNTU3NTZZMTkwNzUyRDAxKg0KK1gzNTU4NDlZMTkyMzI5RDAxKg0KK1gzNTU3NTZZMTkzOTA2RDAxKg0KK1gzNTUzODdZMTk1NDQ0RDAxKg0KK1gzNTQ3ODFZMTk2OTA2RDAxKg0KK1gzNTM5NTVZMTk4MjU0RDAxKg0KK1gzNTMzODdZMTk4OTE5RDAxKg0KK1kzMzc3MTZEMDEqDQorWDM1MzM5MFkzMzc3MTVEMDEqDQorWDM1MzY3MlkzMzc3MzhEMDEqDQorWDM1Mzk0OFkzMzc4MDREMDEqDQorWDM1NDIxMFkzMzc5MTJEMDEqDQorWDM1NDQ1MVkzMzgwNjBEMDEqDQorWDM1NDY2N1kzMzgyNDREMDEqDQorWDM1NDg1MVkzMzg0NjBEMDEqDQorWDM1NDk5OVkzMzg3MDFEMDEqDQorWDM1NTEwN1kzMzg5NjNEMDEqDQorWDM1NTE3M1kzMzkyMzlEMDEqDQorWDM1NTE5MFkzMzk1MjFEMDEqDQorWDM1NTE3M1kzMzk4MDNEMDEqDQorWDM1NTEwN1kzNDAwNzlEMDEqDQorWDM1NDk5OVkzNDAzNDFEMDEqDQorWDM1NDg1MVkzNDA1ODJEMDEqDQorWDM1NDY2N1kzNDA3OThEMDEqDQorWDM1NDQ1MVkzNDA5ODJEMDEqDQorWDM1NDIxMFkzNDExMzBEMDEqDQorWDM1Mzk0OFkzNDEyMzhEMDEqDQorWDM1MzY3MlkzNDEzMDREMDEqDQorWDM1MzM5MFkzNDEzMjdEMDEqDQorWDM1MzM4N1kzNDEzMjZEMDEqDQorWTM1MDczOUQwMSoNCitYMzUzOTU1WTM1MTQwNEQwMSoNCitYMzU0NzgxWTM1Mjc1MkQwMSoNCitYMzU1Mzg3WTM1NDIxNEQwMSoNCitYMzU1NzU2WTM1NTc1MkQwMSoNCitYMzU1ODQ5WTM1NzMyOUQwMSoNCitYMzU1NzU2WTM1ODkwNkQwMSoNCitYMzU1Mzg3WTM2MDQ0NEQwMSoNCitYMzU0NzgxWTM2MTkwNkQwMSoNCitYMzUzOTU1WTM2MzI1NEQwMSoNCitYMzUzMzg3WTM2MzkxOUQwMSoNCitZMzk3MDAwRDAxKg0KK1gzNTY0MzhEMDEqDQorWTIzNDgwNUQwMSoNCitYMzU2MTU5WTIzNDc4M0QwMSoNCitYMzU1ODgzWTIzNDcxN0QwMSoNCitYMzU1NjIxWTIzNDYwOUQwMSoNCitYMzU1MzgwWTIzNDQ2MUQwMSoNCitYMzU1MTY0WTIzNDI3N0QwMSoNCitYMzU0OTgwWTIzNDA2MUQwMSoNCitYMzU0ODMyWTIzMzgyMEQwMSoNCitYMzU0NzI0WTIzMzU1OEQwMSoNCitYMzU0NjU4WTIzMzI4MkQwMSoNCitYMzU0NjM1WTIzMzAwMEQwMSoNCitYMzU0NjU4WTIzMjcxOEQwMSoNCitYMzU0NzI0WTIzMjQ0MkQwMSoNCitYMzU0ODMyWTIzMjE4MEQwMSoNCitYMzU0OTgwWTIzMTkzOUQwMSoNCitYMzU1MTY0WTIzMTcyM0QwMSoNCitYMzU1MzgwWTIzMTUzOUQwMSoNCitYMzU1NjIxWTIzMTM5MUQwMSoNCitYMzU1ODgzWTIzMTI4M0QwMSoNCitYMzU2MTU5WTIzMTIxN0QwMSoNCitYMzU2NDM4WTIzMTE5NUQwMSoNCitZMTM1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM1MzM4N1kzNjM5MTlEMDIqWDM1MjkyN1kzNjQ0NTdEMDEqDQorWDM1MTcyNFkzNjU0ODVEMDEqDQorWDM1MDM3NlkzNjYzMTFEMDEqDQorWDM0ODkxNFkzNjY5MTdEMDEqDQorWDM0NzM3NlkzNjcyODZEMDEqDQorWDM0NTc5OVkzNjc0MTBEMDEqDQorWDM0NDIyMlkzNjcyODZEMDEqDQorWDM0MjY4NFkzNjY5MTdEMDEqDQorWDM0MTIyMlkzNjYzMTFEMDEqDQorWDMzOTg3NFkzNjU0ODVEMDEqDQorWDMzOTgzNFkzNjU0NTFEMDEqDQorWTM5NzAwMEQwMSoNCitYMzUzMzg3RDAxKg0KK1kzNjM5MTlEMDEqDQorRzM3Kg0KK0czNioNCitZMTk4OTE5RDAyKlgzNTI5MjdZMTk5NDU3RDAxKg0KK1gzNTE3MjRZMjAwNDg1RDAxKg0KK1gzNTAzNzZZMjAxMzExRDAxKg0KK1gzNDg5MTRZMjAxOTE3RDAxKg0KK1gzNDczNzZZMjAyMjg2RDAxKg0KK1gzNDU3OTlZMjAyNDEwRDAxKg0KK1gzNDQyMjJZMjAyMjg2RDAxKg0KK1gzNDI2ODRZMjAxOTE3RDAxKg0KK1gzNDEyMjJZMjAxMzExRDAxKg0KK1gzMzk4NzRZMjAwNDg1RDAxKg0KK1gzMzk4MzRZMjAwNDUxRDAxKg0KK1kyMjMwNTJEMDEqDQorWDMzOTkwMlkyMjMxMzFEMDEqDQorWDM0MDA1MFkyMjMzNzJEMDEqDQorWDM0MDE1OFkyMjM2MzREMDEqDQorWDM0MDIyNFkyMjM5MTBEMDEqDQorWDM0MDI0MVkyMjQxOTJEMDEqDQorWDM0MDIyNFkyMjQ0NzREMDEqDQorWDM0MDE1OFkyMjQ3NTBEMDEqDQorWDM0MDA1MFkyMjUwMTJEMDEqDQorWDMzOTkwMlkyMjUyNTNEMDEqDQorWDMzOTgzNFkyMjUzMzJEMDEqDQorWTIyODk4NEQwMSoNCitYMzM5OTAyWTIyOTA2M0QwMSoNCitYMzQwMDUwWTIyOTMwNEQwMSoNCitYMzQwMTU4WTIyOTU2NkQwMSoNCitYMzQwMjI0WTIyOTg0MkQwMSoNCitYMzQwMjQxWTIzMDEyNEQwMSoNCitYMzQwMjI0WTIzMDQwNkQwMSoNCitYMzQwMTU4WTIzMDY4MkQwMSoNCitYMzQwMDUwWTIzMDk0NEQwMSoNCitYMzM5OTAyWTIzMTE4NUQwMSoNCitYMzM5ODM0WTIzMTI2NEQwMSoNCitZMjQ1MDI3RDAxKg0KK1gzNDAyNzhZMjQ0NzU1RDAxKg0KK1gzNDA5NjlZMjQ0NDY5RDAxKg0KK1gzNDE2OTZZMjQ0Mjk0RDAxKg0KK1gzNDI0NDFZMjQ0MjM1RDAxKg0KK1gzNDMxODZZMjQ0Mjk0RDAxKg0KK1gzNDM5MTNZMjQ0NDY5RDAxKg0KK1gzNDQ2MDRZMjQ0NzU1RDAxKg0KK1gzNDUyNDJZMjQ1MTQ1RDAxKg0KK1gzNDU4MTBZMjQ1NjMxRDAxKg0KK1gzNDYyOTZZMjQ2MTk5RDAxKg0KK1gzNDY2ODZZMjQ2ODM3RDAxKg0KK1gzNDY5NzJZMjQ3NTI4RDAxKg0KK1gzNDcxNDdZMjQ4MjU1RDAxKg0KK1gzNDcxOTFZMjQ5MDAwRDAxKg0KK1gzNDcxNDdZMjQ5NzQ1RDAxKg0KK1gzNDY5NzJZMjUwNDcyRDAxKg0KK1gzNDY2ODZZMjUxMTYzRDAxKg0KK1gzNDYyOTZZMjUxODAxRDAxKg0KK1gzNDU4MTBZMjUyMzY5RDAxKg0KK1gzNDUyNDJZMjUyODU1RDAxKg0KK1gzNDQ2MDRZMjUzMjQ1RDAxKg0KK1gzNDM5MTNZMjUzNTMxRDAxKg0KK1gzNDMxODZZMjUzNzA2RDAxKg0KK1gzNDI0NDFZMjUzNzY1RDAxKg0KK1gzNDE2OTZZMjUzNzA2RDAxKg0KK1gzNDA5NjlZMjUzNTMxRDAxKg0KK1gzNDAyNzhZMjUzMjQ1RDAxKg0KK1gzMzk4MzRZMjUyOTczRDAxKg0KK1kzNDAwMjJEMDEqDQorWDMzOTgzN1kzNDAwMjFEMDEqDQorWDM0MDExOVkzNDAwNDREMDEqDQorWDM0MDM5NVkzNDAxMTBEMDEqDQorWDM0MDY1N1kzNDAyMThEMDEqDQorWDM0MDg5OFkzNDAzNjZEMDEqDQorWDM0MTExNFkzNDA1NTBEMDEqDQorWDM0MTI5OFkzNDA3NjZEMDEqDQorWDM0MTQ0NlkzNDEwMDdEMDEqDQorWDM0MTU1NFkzNDEyNjlEMDEqDQorWDM0MTYyMFkzNDE1NDVEMDEqDQorWDM0MTYzN1kzNDE4MjdEMDEqDQorWDM0MTYyMFkzNDIxMDlEMDEqDQorWDM0MTU1NFkzNDIzODVEMDEqDQorWDM0MTQ0NlkzNDI2NDdEMDEqDQorWDM0MTI5OFkzNDI4ODhEMDEqDQorWDM0MTExNFkzNDMxMDREMDEqDQorWDM0MDg5OFkzNDMyODhEMDEqDQorWDM0MDY1N1kzNDM0MzZEMDEqDQorWDM0MDM5NVkzNDM1NDREMDEqDQorWDM0MDExOVkzNDM2MTBEMDEqDQorWDMzOTgzN1kzNDM2MzNEMDEqDQorWDMzOTgzNFkzNDM2MzJEMDEqDQorWTM0OTIwN0QwMSoNCitYMzM5ODc0WTM0OTE3M0QwMSoNCitYMzQxMjIyWTM0ODM0N0QwMSoNCitYMzQyNjg0WTM0Nzc0MUQwMSoNCitYMzQ0MjIyWTM0NzM3MkQwMSoNCitYMzQ1Nzk5WTM0NzI0OEQwMSoNCitYMzQ3Mzc2WTM0NzM3MkQwMSoNCitYMzQ4OTE0WTM0Nzc0MUQwMSoNCitYMzUwMzc2WTM0ODM0N0QwMSoNCitYMzUxNzI0WTM0OTE3M0QwMSoNCitYMzUyOTI3WTM1MDIwMUQwMSoNCitYMzUzMzg3WTM1MDczOUQwMSoNCitZMzQxMzI2RDAxKg0KK1gzNTMxMDhZMzQxMzA0RDAxKg0KK1gzNTI4MzJZMzQxMjM4RDAxKg0KK1gzNTI1NzBZMzQxMTMwRDAxKg0KK1gzNTIzMjlZMzQwOTgyRDAxKg0KK1gzNTIxMTNZMzQwNzk4RDAxKg0KK1gzNTE5MjlZMzQwNTgyRDAxKg0KK1gzNTE3ODFZMzQwMzQxRDAxKg0KK1gzNTE2NzNZMzQwMDc5RDAxKg0KK1gzNTE2MDdZMzM5ODAzRDAxKg0KK1gzNTE1ODRZMzM5NTIxRDAxKg0KK1gzNTE2MDdZMzM5MjM5RDAxKg0KK1gzNTE2NzNZMzM4OTYzRDAxKg0KK1gzNTE3ODFZMzM4NzAxRDAxKg0KK1gzNTE5MjlZMzM4NDYwRDAxKg0KK1gzNTIxMTNZMzM4MjQ0RDAxKg0KK1gzNTIzMjlZMzM4MDYwRDAxKg0KK1gzNTI1NzBZMzM3OTEyRDAxKg0KK1gzNTI4MzJZMzM3ODA0RDAxKg0KK1gzNTMxMDhZMzM3NzM4RDAxKg0KK1gzNTMzODdZMzM3NzE2RDAxKg0KK1kxOTg5MTlEMDEqDQorRzM3Kg0KK0czNioNCitZMTM1MDAwRDAyKlgzMzk4MzREMDEqDQorWTE4NDIwN0QwMSoNCitYMzM5ODc0WTE4NDE3M0QwMSoNCitYMzQxMjIyWTE4MzM0N0QwMSoNCitYMzQyNjg0WTE4Mjc0MUQwMSoNCitYMzQ0MjIyWTE4MjM3MkQwMSoNCitYMzQ1Nzk5WTE4MjI0OEQwMSoNCitYMzQ3Mzc2WTE4MjM3MkQwMSoNCitYMzQ4OTE0WTE4Mjc0MUQwMSoNCitYMzUwMzc2WTE4MzM0N0QwMSoNCitYMzUxNzI0WTE4NDE3M0QwMSoNCitYMzUyOTI3WTE4NTIwMUQwMSoNCitYMzUzMzg3WTE4NTczOUQwMSoNCitZMTM1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMzNzQzOFkyMjI2OTVEMDIqWDMzNzYyMVkyMjI1ODNEMDEqDQorWDMzNzg4M1kyMjI0NzVEMDEqDQorWDMzODE1OVkyMjI0MDlEMDEqDQorWDMzODQ0MVkyMjIzODZEMDEqDQorWDMzODcyM1kyMjI0MDlEMDEqDQorWDMzODk5OVkyMjI0NzVEMDEqDQorWDMzOTI2MVkyMjI1ODNEMDEqDQorWDMzOTUwMlkyMjI3MzFEMDEqDQorWDMzOTcxOFkyMjI5MTVEMDEqDQorWDMzOTgzNFkyMjMwNTJEMDEqDQorWTIwMDQ1MUQwMSoNCitYMzM4NjcxWTE5OTQ1N0QwMSoNCitYMzM3NjQzWTE5ODI1NEQwMSoNCitYMzM3NDM4WTE5NzkyMEQwMSoNCitZMjIyNjk1RDAxKg0KK0czNyoNCitHMzYqDQorWTIyODYyN0QwMipYMzM3NjIxWTIyODUxNUQwMSoNCitYMzM3ODgzWTIyODQwN0QwMSoNCitYMzM4MTU5WTIyODM0MUQwMSoNCitYMzM4NDQxWTIyODMxOEQwMSoNCitYMzM4NzIzWTIyODM0MUQwMSoNCitYMzM4OTk5WTIyODQwN0QwMSoNCitYMzM5MjYxWTIyODUxNUQwMSoNCitYMzM5NTAyWTIyODY2M0QwMSoNCitYMzM5NzE4WTIyODg0N0QwMSoNCitYMzM5ODM0WTIyODk4NEQwMSoNCitZMjI1MzMyRDAxKg0KK1gzMzk3MThZMjI1NDY5RDAxKg0KK1gzMzk1MDJZMjI1NjUzRDAxKg0KK1gzMzkyNjFZMjI1ODAxRDAxKg0KK1gzMzg5OTlZMjI1OTA5RDAxKg0KK1gzMzg3MjNZMjI1OTc1RDAxKg0KK1gzMzg0NDFZMjI1OTk4RDAxKg0KK1gzMzgxNTlZMjI1OTc1RDAxKg0KK1gzMzc4ODNZMjI1OTA5RDAxKg0KK1gzMzc2MjFZMjI1ODAxRDAxKg0KK1gzMzc0MzhZMjI1Njg5RDAxKg0KK1kyMjg2MjdEMDEqDQorRzM3Kg0KK0czNioNCitZMzUxNzM4RDAyKlgzMzc2NDNZMzUxNDA0RDAxKg0KK1gzMzg2NzFZMzUwMjAxRDAxKg0KK1gzMzk4MzRZMzQ5MjA3RDAxKg0KK1kzNDM2MzJEMDEqDQorWDMzOTU1NVkzNDM2MTBEMDEqDQorWDMzOTI3OVkzNDM1NDREMDEqDQorWDMzOTAxN1kzNDM0MzZEMDEqDQorWDMzODc3NlkzNDMyODhEMDEqDQorWDMzODU2MFkzNDMxMDREMDEqDQorWDMzODM3NlkzNDI4ODhEMDEqDQorWDMzODIyOFkzNDI2NDdEMDEqDQorWDMzODEyMFkzNDIzODVEMDEqDQorWDMzODA1NFkzNDIxMDlEMDEqDQorWDMzODAzMVkzNDE4MjdEMDEqDQorWDMzODA1NFkzNDE1NDVEMDEqDQorWDMzODEyMFkzNDEyNjlEMDEqDQorWDMzODIyOFkzNDEwMDdEMDEqDQorWDMzODM3NlkzNDA3NjZEMDEqDQorWDMzODU2MFkzNDA1NTBEMDEqDQorWDMzODc3NlkzNDAzNjZEMDEqDQorWDMzOTAxN1kzNDAyMThEMDEqDQorWDMzOTI3OVkzNDAxMTBEMDEqDQorWDMzOTU1NVkzNDAwNDREMDEqDQorWDMzOTgzNFkzNDAwMjJEMDEqDQorWTI1Mjk3M0QwMSoNCitYMzM5NjQwWTI1Mjg1NUQwMSoNCitYMzM5MDcyWTI1MjM2OUQwMSoNCitYMzM4NTg2WTI1MTgwMUQwMSoNCitYMzM4MTk2WTI1MTE2M0QwMSoNCitYMzM3OTEwWTI1MDQ3MkQwMSoNCitYMzM3NzM1WTI0OTc0NUQwMSoNCitYMzM3Njc2WTI0OTAwMEQwMSoNCitYMzM3NzM1WTI0ODI1NUQwMSoNCitYMzM3OTEwWTI0NzUyOEQwMSoNCitYMzM4MTk2WTI0NjgzN0QwMSoNCitYMzM4NTg2WTI0NjE5OUQwMSoNCitYMzM5MDcyWTI0NTYzMUQwMSoNCitYMzM5NjQwWTI0NTE0NUQwMSoNCitYMzM5ODM0WTI0NTAyN0QwMSoNCitZMjMxMjY0RDAxKg0KK1gzMzk3MThZMjMxNDAxRDAxKg0KK1gzMzk1MDJZMjMxNTg1RDAxKg0KK1gzMzkyNjFZMjMxNzMzRDAxKg0KK1gzMzg5OTlZMjMxODQxRDAxKg0KK1gzMzg3MjNZMjMxOTA3RDAxKg0KK1gzMzg0NDFZMjMxOTMwRDAxKg0KK1gzMzgxNTlZMjMxOTA3RDAxKg0KK1gzMzc4ODNZMjMxODQxRDAxKg0KK1gzMzc2MjFZMjMxNzMzRDAxKg0KK1gzMzc0MzhZMjMxNjIxRDAxKg0KK1kzNTE3MzhEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgzMzk4MzREMDEqDQorWTM2NTQ1MUQwMSoNCitYMzM4NjcxWTM2NDQ1N0QwMSoNCitYMzM3NjQzWTM2MzI1NEQwMSoNCitYMzM3NDM4WTM2MjkyMEQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMzOTgzNFkxMzUwMDBEMDIqWDMzNzQzOEQwMSoNCitZMTYxMTk1RDAxKg0KK1gzMzc0NDFZMTYxMTk0RDAxKg0KK1gzMzc3MjNZMTYxMjE3RDAxKg0KK1gzMzc5OTlZMTYxMjgzRDAxKg0KK1gzMzgyNjFZMTYxMzkxRDAxKg0KK1gzMzg1MDJZMTYxNTM5RDAxKg0KK1gzMzg3MThZMTYxNzIzRDAxKg0KK1gzMzg5MDJZMTYxOTM5RDAxKg0KK1gzMzkwNTBZMTYyMTgwRDAxKg0KK1gzMzkxNThZMTYyNDQyRDAxKg0KK1gzMzkyMjRZMTYyNzE4RDAxKg0KK1gzMzkyNDFZMTYzMDAwRDAxKg0KK1gzMzkyMjRZMTYzMjgyRDAxKg0KK1gzMzkxNThZMTYzNTU4RDAxKg0KK1gzMzkwNTBZMTYzODIwRDAxKg0KK1gzMzg5MDJZMTY0MDYxRDAxKg0KK1gzMzg3MThZMTY0Mjc3RDAxKg0KK1gzMzg1MDJZMTY0NDYxRDAxKg0KK1gzMzgyNjFZMTY0NjA5RDAxKg0KK1gzMzc5OTlZMTY0NzE3RDAxKg0KK1gzMzc3MjNZMTY0NzgzRDAxKg0KK1gzMzc0NDFZMTY0ODA2RDAxKg0KK1gzMzc0MzhZMTY0ODA1RDAxKg0KK1kxODY3MzhEMDEqDQorWDMzNzY0M1kxODY0MDREMDEqDQorWDMzODY3MVkxODUyMDFEMDEqDQorWDMzOTgzNFkxODQyMDdEMDEqDQorWTEzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMzc0MzhEMDIqWDMzMjQzNEQwMSoNCitZMjQ0MjM2RDAxKg0KK1gzMzI0NDFZMjQ0MjM1RDAxKg0KK1gzMzMxODZZMjQ0Mjk0RDAxKg0KK1gzMzM5MTNZMjQ0NDY5RDAxKg0KK1gzMzQ2MDRZMjQ0NzU1RDAxKg0KK1gzMzUyNDJZMjQ1MTQ1RDAxKg0KK1gzMzU4MTBZMjQ1NjMxRDAxKg0KK1gzMzYyOTZZMjQ2MTk5RDAxKg0KK1gzMzY2ODZZMjQ2ODM3RDAxKg0KK1gzMzY5NzJZMjQ3NTI4RDAxKg0KK1gzMzcxNDdZMjQ4MjU1RDAxKg0KK1gzMzcxOTFZMjQ5MDAwRDAxKg0KK1gzMzcxNDdZMjQ5NzQ1RDAxKg0KK1gzMzY5NzJZMjUwNDcyRDAxKg0KK1gzMzY2ODZZMjUxMTYzRDAxKg0KK1gzMzYyOTZZMjUxODAxRDAxKg0KK1gzMzU4MTBZMjUyMzY5RDAxKg0KK1gzMzUyNDJZMjUyODU1RDAxKg0KK1gzMzQ2MDRZMjUzMjQ1RDAxKg0KK1gzMzM5MTNZMjUzNTMxRDAxKg0KK1gzMzMxODZZMjUzNzA2RDAxKg0KK1gzMzI0NDFZMjUzNzY1RDAxKg0KK1gzMzI0MzRZMjUzNzY0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDMzNzQzOEQwMSoNCitZMzYyOTIwRDAxKg0KK1gzMzY4MTdZMzYxOTA2RDAxKg0KK1gzMzYyMTFZMzYwNDQ0RDAxKg0KK1gzMzU4NDJZMzU4OTA2RDAxKg0KK1gzMzU3MThZMzU3MzI5RDAxKg0KK1gzMzU4NDJZMzU1NzUyRDAxKg0KK1gzMzYyMTFZMzU0MjE0RDAxKg0KK1gzMzY4MTdZMzUyNzUyRDAxKg0KK1gzMzc0MzhZMzUxNzM4RDAxKg0KK1kyMzE2MjFEMDEqDQorWDMzNzM4MFkyMzE1ODVEMDEqDQorWDMzNzE2NFkyMzE0MDFEMDEqDQorWDMzNjk4MFkyMzExODVEMDEqDQorWDMzNjgzMlkyMzA5NDREMDEqDQorWDMzNjcyNFkyMzA2ODJEMDEqDQorWDMzNjY1OFkyMzA0MDZEMDEqDQorWDMzNjYzNVkyMzAxMjREMDEqDQorWDMzNjY1OFkyMjk4NDJEMDEqDQorWDMzNjcyNFkyMjk1NjZEMDEqDQorWDMzNjgzMlkyMjkzMDREMDEqDQorWDMzNjk4MFkyMjkwNjNEMDEqDQorWDMzNzE2NFkyMjg4NDdEMDEqDQorWDMzNzM4MFkyMjg2NjNEMDEqDQorWDMzNzQzOFkyMjg2MjdEMDEqDQorWTIyNTY4OUQwMSoNCitYMzM3MzgwWTIyNTY1M0QwMSoNCitYMzM3MTY0WTIyNTQ2OUQwMSoNCitYMzM2OTgwWTIyNTI1M0QwMSoNCitYMzM2ODMyWTIyNTAxMkQwMSoNCitYMzM2NzI0WTIyNDc1MEQwMSoNCitYMzM2NjU4WTIyNDQ3NEQwMSoNCitYMzM2NjM1WTIyNDE5MkQwMSoNCitYMzM2NjU4WTIyMzkxMEQwMSoNCitYMzM2NzI0WTIyMzYzNEQwMSoNCitYMzM2ODMyWTIyMzM3MkQwMSoNCitYMzM2OTgwWTIyMzEzMUQwMSoNCitYMzM3MTY0WTIyMjkxNUQwMSoNCitYMzM3MzgwWTIyMjczMUQwMSoNCitYMzM3NDM4WTIyMjY5NUQwMSoNCitZMTk3OTIwRDAxKg0KK1gzMzY4MTdZMTk2OTA2RDAxKg0KK1gzMzYyMTFZMTk1NDQ0RDAxKg0KK1gzMzU4NDJZMTkzOTA2RDAxKg0KK1gzMzU3MThZMTkyMzI5RDAxKg0KK1gzMzU4NDJZMTkwNzUyRDAxKg0KK1gzMzYyMTFZMTg5MjE0RDAxKg0KK1gzMzY4MTdZMTg3NzUyRDAxKg0KK1gzMzc0MzhZMTg2NzM4RDAxKg0KK1kxNjQ4MDVEMDEqDQorWDMzNzE1OVkxNjQ3ODNEMDEqDQorWDMzNjg4M1kxNjQ3MTdEMDEqDQorWDMzNjYyMVkxNjQ2MDlEMDEqDQorWDMzNjM4MFkxNjQ0NjFEMDEqDQorWDMzNjE2NFkxNjQyNzdEMDEqDQorWDMzNTk4MFkxNjQwNjFEMDEqDQorWDMzNTgzMlkxNjM4MjBEMDEqDQorWDMzNTcyNFkxNjM1NThEMDEqDQorWDMzNTY1OFkxNjMyODJEMDEqDQorWDMzNTYzNVkxNjMwMDBEMDEqDQorWDMzNTY1OFkxNjI3MThEMDEqDQorWDMzNTcyNFkxNjI0NDJEMDEqDQorWDMzNTgzMlkxNjIxODBEMDEqDQorWDMzNTk4MFkxNjE5MzlEMDEqDQorWDMzNjE2NFkxNjE3MjNEMDEqDQorWDMzNjM4MFkxNjE1MzlEMDEqDQorWDMzNjYyMVkxNjEzOTFEMDEqDQorWDMzNjg4M1kxNjEyODNEMDEqDQorWDMzNzE1OVkxNjEyMTdEMDEqDQorWDMzNzQzOFkxNjExOTVEMDEqDQorWTEzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMzI0MzREMDIqWDMyNTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gzMjU3OTlZMTcwNTE2RDAxKg0KK1gzMjY0NzRZMTcwNTY5RDAxKg0KK1gzMjcxMzJZMTcwNzI3RDAxKg0KK1gzMjc3NTdZMTcwOTg2RDAxKg0KK1gzMjgzMzRZMTcxMzM5RDAxKg0KK1gzMjg4NDlZMTcxNzc5RDAxKg0KK1gzMjkyODlZMTcyMjk0RDAxKg0KK1gzMjk2NDJZMTcyODcxRDAxKg0KK1gzMjk5MDFZMTczNDk2RDAxKg0KK1gzMzAwNTlZMTc0MTU0RDAxKg0KK1gzMzAwOTlZMTc0ODI5RDAxKg0KK1gzMzAwNTlZMTc1NTA0RDAxKg0KK1gzMjk5MDFZMTc2MTYyRDAxKg0KK1gzMjk2NDJZMTc2Nzg3RDAxKg0KK1gzMjkyODlZMTc3MzY0RDAxKg0KK1gzMjg4NDlZMTc3ODc5RDAxKg0KK1gzMjgzMzRZMTc4MzE5RDAxKg0KK1gzMjc3NTdZMTc4NjcyRDAxKg0KK1gzMjcxMzJZMTc4OTMxRDAxKg0KK1gzMjY0NzRZMTc5MDg5RDAxKg0KK1gzMjU3OTlZMTc5MTQyRDAxKg0KK1gzMjU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDMyNTc5OVkxODA1MTZEMDEqDQorWDMyNjQ3NFkxODA1NjlEMDEqDQorWDMyNzEzMlkxODA3MjdEMDEqDQorWDMyNzc1N1kxODA5ODZEMDEqDQorWDMyODMzNFkxODEzMzlEMDEqDQorWDMyODg0OVkxODE3NzlEMDEqDQorWDMyOTI4OVkxODIyOTREMDEqDQorWDMyOTY0MlkxODI4NzFEMDEqDQorWDMyOTkwMVkxODM0OTZEMDEqDQorWDMzMDA1OVkxODQxNTREMDEqDQorWDMzMDA5OVkxODQ4MjlEMDEqDQorWDMzMDA1OVkxODU1MDREMDEqDQorWDMyOTkwMVkxODYxNjJEMDEqDQorWDMyOTY0MlkxODY3ODdEMDEqDQorWDMyOTI4OVkxODczNjREMDEqDQorWDMyODg0OVkxODc4NzlEMDEqDQorWDMyODMzNFkxODgzMTlEMDEqDQorWDMyNzc1N1kxODg2NzJEMDEqDQorWDMyNzEzMlkxODg5MzFEMDEqDQorWDMyNjQ3NFkxODkwODlEMDEqDQorWDMyNTc5OVkxODkxNDJEMDEqDQorWDMyNTc5MlkxODkxNDJEMDEqDQorWTI0NTYxNkQwMSoNCitYMzI1ODEwWTI0NTYzMUQwMSoNCitYMzI2Mjk2WTI0NjE5OUQwMSoNCitYMzI2Njg2WTI0NjgzN0QwMSoNCitYMzI2OTcyWTI0NzUyOEQwMSoNCitYMzI3MTQ3WTI0ODI1NUQwMSoNCitYMzI3MTkxWTI0OTAwMEQwMSoNCitYMzI3MTQ3WTI0OTc0NUQwMSoNCitYMzI2OTcyWTI1MDQ3MkQwMSoNCitYMzI2Njg2WTI1MTE2M0QwMSoNCitYMzI2Mjk2WTI1MTgwMUQwMSoNCitYMzI1ODEwWTI1MjM2OUQwMSoNCitYMzI1NzkyWTI1MjM4NEQwMSoNCitZMzMwODYyRDAxKg0KK1gzMjY0MzVZMzMxOTEwRDAxKg0KK1gzMjcxNTFZMzMzNjQwRDAxKg0KK1gzMjc1ODlZMzM1NDYyRDAxKg0KK1gzMjc2OTlZMzM3MzI5RDAxKg0KK1gzMjc1ODlZMzM5MTk2RDAxKg0KK1gzMjcxNTFZMzQxMDE4RDAxKg0KK1gzMjY0MzVZMzQyNzQ4RDAxKg0KK1gzMjU3OTJZMzQzNzk2RDAxKg0KK1kzNjA1MTZEMDEqDQorWDMyNTc5OVkzNjA1MTZEMDEqDQorWDMyNjQ3NFkzNjA1NjlEMDEqDQorWDMyNzEzMlkzNjA3MjdEMDEqDQorWDMyNzc1N1kzNjA5ODZEMDEqDQorWDMyODMzNFkzNjEzMzlEMDEqDQorWDMyODg0OVkzNjE3NzlEMDEqDQorWDMyOTI4OVkzNjIyOTREMDEqDQorWDMyOTY0MlkzNjI4NzFEMDEqDQorWDMyOTkwMVkzNjM0OTZEMDEqDQorWDMzMDA1OVkzNjQxNTREMDEqDQorWDMzMDA5OVkzNjQ4MjlEMDEqDQorWDMzMDA1OVkzNjU1MDREMDEqDQorWDMyOTkwMVkzNjYxNjJEMDEqDQorWDMyOTY0MlkzNjY3ODdEMDEqDQorWDMyOTI4OVkzNjczNjREMDEqDQorWDMyODg0OVkzNjc4NzlEMDEqDQorWDMyODMzNFkzNjgzMTlEMDEqDQorWDMyNzc1N1kzNjg2NzJEMDEqDQorWDMyNzEzMlkzNjg5MzFEMDEqDQorWDMyNjQ3NFkzNjkwODlEMDEqDQorWDMyNTc5OVkzNjkxNDJEMDEqDQorWDMyNTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMzI1Nzk5WTM3MDUxNkQwMSoNCitYMzI2NDc0WTM3MDU2OUQwMSoNCitYMzI3MTMyWTM3MDcyN0QwMSoNCitYMzI3NzU3WTM3MDk4NkQwMSoNCitYMzI4MzM0WTM3MTMzOUQwMSoNCitYMzI4ODQ5WTM3MTc3OUQwMSoNCitYMzI5Mjg5WTM3MjI5NEQwMSoNCitYMzI5NjQyWTM3Mjg3MUQwMSoNCitYMzI5OTAxWTM3MzQ5NkQwMSoNCitYMzMwMDU5WTM3NDE1NEQwMSoNCitYMzMwMDk5WTM3NDgyOUQwMSoNCitYMzMwMDU5WTM3NTUwNEQwMSoNCitYMzI5OTAxWTM3NjE2MkQwMSoNCitYMzI5NjQyWTM3Njc4N0QwMSoNCitYMzI5Mjg5WTM3NzM2NEQwMSoNCitYMzI4ODQ5WTM3Nzg3OUQwMSoNCitYMzI4MzM0WTM3ODMxOUQwMSoNCitYMzI3NzU3WTM3ODY3MkQwMSoNCitYMzI3MTMyWTM3ODkzMUQwMSoNCitYMzI2NDc0WTM3OTA4OUQwMSoNCitYMzI1Nzk5WTM3OTE0MkQwMSoNCitYMzI1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gzMzI0MzREMDEqDQorWTI1Mzc2NEQwMSoNCitYMzMxNjk2WTI1MzcwNkQwMSoNCitYMzMwOTY5WTI1MzUzMUQwMSoNCitYMzMwMjc4WTI1MzI0NUQwMSoNCitYMzI5NjQwWTI1Mjg1NUQwMSoNCitYMzI5MDcyWTI1MjM2OUQwMSoNCitYMzI4NTg2WTI1MTgwMUQwMSoNCitYMzI4MTk2WTI1MTE2M0QwMSoNCitYMzI3OTEwWTI1MDQ3MkQwMSoNCitYMzI3NzM1WTI0OTc0NUQwMSoNCitYMzI3Njc2WTI0OTAwMEQwMSoNCitYMzI3NzM1WTI0ODI1NUQwMSoNCitYMzI3OTEwWTI0NzUyOEQwMSoNCitYMzI4MTk2WTI0NjgzN0QwMSoNCitYMzI4NTg2WTI0NjE5OUQwMSoNCitYMzI5MDcyWTI0NTYzMUQwMSoNCitYMzI5NjQwWTI0NTE0NUQwMSoNCitYMzMwMjc4WTI0NDc1NUQwMSoNCitYMzMwOTY5WTI0NDQ2OUQwMSoNCitYMzMxNjk2WTI0NDI5NEQwMSoNCitYMzMyNDM0WTI0NDIzNkQwMSoNCitZMTM1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMyNTc5MlkzNDM3OTZEMDIqWDMyNTQ1NlkzNDQzNDVEMDEqDQorWDMyNDI0MFkzNDU3NzBEMDEqDQorWDMyMjgxNVkzNDY5ODZEMDEqDQorWDMyMTIxOFkzNDc5NjVEMDEqDQorWDMxOTQ4OFkzNDg2ODFEMDEqDQorWDMxNzY2NlkzNDkxMTlEMDEqDQorWDMxNTc5OVkzNDkyNjZEMDEqDQorWDMxNTc5MlkzNDkyNjVEMDEqDQorWTM2MDUxNkQwMSoNCitYMzE1Nzk5WTM2MDUxNkQwMSoNCitYMzE2NDc0WTM2MDU2OUQwMSoNCitYMzE3MTMyWTM2MDcyN0QwMSoNCitYMzE3NzU3WTM2MDk4NkQwMSoNCitYMzE4MzM0WTM2MTMzOUQwMSoNCitYMzE4ODQ5WTM2MTc3OUQwMSoNCitYMzE5Mjg5WTM2MjI5NEQwMSoNCitYMzE5NjQyWTM2Mjg3MUQwMSoNCitYMzE5OTAxWTM2MzQ5NkQwMSoNCitYMzIwMDU5WTM2NDE1NEQwMSoNCitYMzIwMDk5WTM2NDgyOUQwMSoNCitYMzIwMDU5WTM2NTUwNEQwMSoNCitYMzE5OTAxWTM2NjE2MkQwMSoNCitYMzE5NjQyWTM2Njc4N0QwMSoNCitYMzE5Mjg5WTM2NzM2NEQwMSoNCitYMzE4ODQ5WTM2Nzg3OUQwMSoNCitYMzE4MzM0WTM2ODMxOUQwMSoNCitYMzE3NzU3WTM2ODY3MkQwMSoNCitYMzE3MTMyWTM2ODkzMUQwMSoNCitYMzE2NDc0WTM2OTA4OUQwMSoNCitYMzE1Nzk5WTM2OTE0MkQwMSoNCitYMzE1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gzMTU3OTlZMzcwNTE2RDAxKg0KK1gzMTY0NzRZMzcwNTY5RDAxKg0KK1gzMTcxMzJZMzcwNzI3RDAxKg0KK1gzMTc3NTdZMzcwOTg2RDAxKg0KK1gzMTgzMzRZMzcxMzM5RDAxKg0KK1gzMTg4NDlZMzcxNzc5RDAxKg0KK1gzMTkyODlZMzcyMjk0RDAxKg0KK1gzMTk2NDJZMzcyODcxRDAxKg0KK1gzMTk5MDFZMzczNDk2RDAxKg0KK1gzMjAwNTlZMzc0MTU0RDAxKg0KK1gzMjAwOTlZMzc0ODI5RDAxKg0KK1gzMjAwNTlZMzc1NTA0RDAxKg0KK1gzMTk5MDFZMzc2MTYyRDAxKg0KK1gzMTk2NDJZMzc2Nzg3RDAxKg0KK1gzMTkyODlZMzc3MzY0RDAxKg0KK1gzMTg4NDlZMzc3ODc5RDAxKg0KK1gzMTgzMzRZMzc4MzE5RDAxKg0KK1gzMTc3NTdZMzc4NjcyRDAxKg0KK1gzMTcxMzJZMzc4OTMxRDAxKg0KK1gzMTY0NzRZMzc5MDg5RDAxKg0KK1gzMTU3OTlZMzc5MTQyRDAxKg0KK1gzMTU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDMyNTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gzMjUxMjRZMzc5MDg5RDAxKg0KK1gzMjQ0NjZZMzc4OTMxRDAxKg0KK1gzMjM4NDFZMzc4NjcyRDAxKg0KK1gzMjMyNjRZMzc4MzE5RDAxKg0KK1gzMjI3NDlZMzc3ODc5RDAxKg0KK1gzMjIzMDlZMzc3MzY0RDAxKg0KK1gzMjE5NTZZMzc2Nzg3RDAxKg0KK1gzMjE2OTdZMzc2MTYyRDAxKg0KK1gzMjE1MzlZMzc1NTA0RDAxKg0KK1gzMjE0ODZZMzc0ODI5RDAxKg0KK1gzMjE1MzlZMzc0MTU0RDAxKg0KK1gzMjE2OTdZMzczNDk2RDAxKg0KK1gzMjE5NTZZMzcyODcxRDAxKg0KK1gzMjIzMDlZMzcyMjk0RDAxKg0KK1gzMjI3NDlZMzcxNzc5RDAxKg0KK1gzMjMyNjRZMzcxMzM5RDAxKg0KK1gzMjM4NDFZMzcwOTg2RDAxKg0KK1gzMjQ0NjZZMzcwNzI3RDAxKg0KK1gzMjUxMjRZMzcwNTY5RDAxKg0KK1gzMjU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDMyNTEyNFkzNjkwODlEMDEqDQorWDMyNDQ2NlkzNjg5MzFEMDEqDQorWDMyMzg0MVkzNjg2NzJEMDEqDQorWDMyMzI2NFkzNjgzMTlEMDEqDQorWDMyMjc0OVkzNjc4NzlEMDEqDQorWDMyMjMwOVkzNjczNjREMDEqDQorWDMyMTk1NlkzNjY3ODdEMDEqDQorWDMyMTY5N1kzNjYxNjJEMDEqDQorWDMyMTUzOVkzNjU1MDREMDEqDQorWDMyMTQ4NlkzNjQ4MjlEMDEqDQorWDMyMTUzOVkzNjQxNTREMDEqDQorWDMyMTY5N1kzNjM0OTZEMDEqDQorWDMyMTk1NlkzNjI4NzFEMDEqDQorWDMyMjMwOVkzNjIyOTREMDEqDQorWDMyMjc0OVkzNjE3NzlEMDEqDQorWDMyMzI2NFkzNjEzMzlEMDEqDQorWDMyMzg0MVkzNjA5ODZEMDEqDQorWDMyNDQ2NlkzNjA3MjdEMDEqDQorWDMyNTEyNFkzNjA1NjlEMDEqDQorWDMyNTc5MlkzNjA1MTZEMDEqDQorWTM0Mzc5NkQwMSoNCitHMzcqDQorRzM2Kg0KK1kxMzUwMDBEMDIqWDMxNTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gzMTU3OTlZMTcwNTE2RDAxKg0KK1gzMTY0NzRZMTcwNTY5RDAxKg0KK1gzMTcxMzJZMTcwNzI3RDAxKg0KK1gzMTc3NTdZMTcwOTg2RDAxKg0KK1gzMTgzMzRZMTcxMzM5RDAxKg0KK1gzMTg4NDlZMTcxNzc5RDAxKg0KK1gzMTkyODlZMTcyMjk0RDAxKg0KK1gzMTk2NDJZMTcyODcxRDAxKg0KK1gzMTk5MDFZMTczNDk2RDAxKg0KK1gzMjAwNTlZMTc0MTU0RDAxKg0KK1gzMjAwOTlZMTc0ODI5RDAxKg0KK1gzMjAwNTlZMTc1NTA0RDAxKg0KK1gzMTk5MDFZMTc2MTYyRDAxKg0KK1gzMTk2NDJZMTc2Nzg3RDAxKg0KK1gzMTkyODlZMTc3MzY0RDAxKg0KK1gzMTg4NDlZMTc3ODc5RDAxKg0KK1gzMTgzMzRZMTc4MzE5RDAxKg0KK1gzMTc3NTdZMTc4NjcyRDAxKg0KK1gzMTcxMzJZMTc4OTMxRDAxKg0KK1gzMTY0NzRZMTc5MDg5RDAxKg0KK1gzMTU3OTlZMTc5MTQyRDAxKg0KK1gzMTU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDMxNTc5OVkxODA1MTZEMDEqDQorWDMxNjQ3NFkxODA1NjlEMDEqDQorWDMxNzEzMlkxODA3MjdEMDEqDQorWDMxNzc1N1kxODA5ODZEMDEqDQorWDMxODMzNFkxODEzMzlEMDEqDQorWDMxODg0OVkxODE3NzlEMDEqDQorWDMxOTI4OVkxODIyOTREMDEqDQorWDMxOTY0MlkxODI4NzFEMDEqDQorWDMxOTkwMVkxODM0OTZEMDEqDQorWDMyMDA1OVkxODQxNTREMDEqDQorWDMyMDA5OVkxODQ4MjlEMDEqDQorWDMyMDA1OVkxODU1MDREMDEqDQorWDMxOTkwMVkxODYxNjJEMDEqDQorWDMxOTY0MlkxODY3ODdEMDEqDQorWDMxOTI4OVkxODczNjREMDEqDQorWDMxODg0OVkxODc4NzlEMDEqDQorWDMxODMzNFkxODgzMTlEMDEqDQorWDMxNzc1N1kxODg2NzJEMDEqDQorWDMxNzEzMlkxODg5MzFEMDEqDQorWDMxNjQ3NFkxODkwODlEMDEqDQorWDMxNTc5OVkxODkxNDJEMDEqDQorWDMxNTc5MlkxODkxNDJEMDEqDQorWTI0Njg3M0QwMSoNCitYMzE1ODMyWTI0NjgwOEQwMSoNCitYMzE1OTA5WTI0NjcxOEQwMSoNCitYMzE1OTk5WTI0NjY0MUQwMSoNCitYMzE2MDk5WTI0NjU4MEQwMSoNCitYMzE2MjA5WTI0NjUzNUQwMSoNCitYMzE2MzIzWTI0NjUwN0QwMSoNCitYMzE2NDQxWTI0NjQ5OEQwMSoNCitYMzE2NTU5WTI0NjUwN0QwMSoNCitYMzE2NjczWTI0NjUzNUQwMSoNCitYMzE2NzgzWTI0NjU4MEQwMSoNCitYMzE2ODgzWTI0NjY0MUQwMSoNCitYMzE2OTczWTI0NjcxOEQwMSoNCitYMzE3MDUwWTI0NjgwOEQwMSoNCitYMzE3MTExWTI0NjkwOEQwMSoNCitYMzE3MTU2WTI0NzAxOEQwMSoNCitYMzE3MTg0WTI0NzEzMkQwMSoNCitYMzE3MTkxWTI0NzI1MEQwMSoNCitZMjUwNzUwRDAxKg0KK1gzMTcxODRZMjUwODY4RDAxKg0KK1gzMTcxNTZZMjUwOTgyRDAxKg0KK1gzMTcxMTFZMjUxMDkyRDAxKg0KK1gzMTcwNTBZMjUxMTkyRDAxKg0KK1gzMTY5NzNZMjUxMjgyRDAxKg0KK1gzMTY4ODNZMjUxMzU5RDAxKg0KK1gzMTY3ODNZMjUxNDIwRDAxKg0KK1gzMTY2NzNZMjUxNDY1RDAxKg0KK1gzMTY1NTlZMjUxNDkzRDAxKg0KK1gzMTY0NDFZMjUxNTAyRDAxKg0KK1gzMTYzMjNZMjUxNDkzRDAxKg0KK1gzMTYyMDlZMjUxNDY1RDAxKg0KK1gzMTYwOTlZMjUxNDIwRDAxKg0KK1gzMTU5OTlZMjUxMzU5RDAxKg0KK1gzMTU5MDlZMjUxMjgyRDAxKg0KK1gzMTU4MzJZMjUxMTkyRDAxKg0KK1gzMTU3OTJZMjUxMTI3RDAxKg0KK1kzMjUzOTNEMDEqDQorWDMxNTc5OVkzMjUzOTJEMDEqDQorWDMxNzY2NlkzMjU1MzlEMDEqDQorWDMxOTQ4OFkzMjU5NzdEMDEqDQorWDMyMTIxOFkzMjY2OTNEMDEqDQorWDMyMjgxNVkzMjc2NzJEMDEqDQorWDMyNDI0MFkzMjg4ODhEMDEqDQorWDMyNTQ1NlkzMzAzMTNEMDEqDQorWDMyNTc5MlkzMzA4NjJEMDEqDQorWTI1MjM4NEQwMSoNCitYMzI1MjQyWTI1Mjg1NUQwMSoNCitYMzI0NjA0WTI1MzI0NUQwMSoNCitYMzIzOTEzWTI1MzUzMUQwMSoNCitYMzIzMTg2WTI1MzcwNkQwMSoNCitYMzIyNDQxWTI1Mzc2NUQwMSoNCitYMzIxNjk2WTI1MzcwNkQwMSoNCitYMzIwOTY5WTI1MzUzMUQwMSoNCitYMzIwMjc4WTI1MzI0NUQwMSoNCitYMzE5NjQwWTI1Mjg1NUQwMSoNCitYMzE5MDcyWTI1MjM2OUQwMSoNCitYMzE4NTg2WTI1MTgwMUQwMSoNCitYMzE4MTk2WTI1MTE2M0QwMSoNCitYMzE3OTEwWTI1MDQ3MkQwMSoNCitYMzE3NzM1WTI0OTc0NUQwMSoNCitYMzE3Njc2WTI0OTAwMEQwMSoNCitYMzE3NzM1WTI0ODI1NUQwMSoNCitYMzE3OTEwWTI0NzUyOEQwMSoNCitYMzE4MTk2WTI0NjgzN0QwMSoNCitYMzE4NTg2WTI0NjE5OUQwMSoNCitYMzE5MDcyWTI0NTYzMUQwMSoNCitYMzE5NjQwWTI0NTE0NUQwMSoNCitYMzIwMjc4WTI0NDc1NUQwMSoNCitYMzIwOTY5WTI0NDQ2OUQwMSoNCitYMzIxNjk2WTI0NDI5NEQwMSoNCitYMzIyNDQxWTI0NDIzNUQwMSoNCitYMzIzMTg2WTI0NDI5NEQwMSoNCitYMzIzOTEzWTI0NDQ2OUQwMSoNCitYMzI0NjA0WTI0NDc1NUQwMSoNCitYMzI1MjQyWTI0NTE0NUQwMSoNCitYMzI1NzkyWTI0NTYxNkQwMSoNCitZMTg5MTQyRDAxKg0KK1gzMjUxMjRZMTg5MDg5RDAxKg0KK1gzMjQ0NjZZMTg4OTMxRDAxKg0KK1gzMjM4NDFZMTg4NjcyRDAxKg0KK1gzMjMyNjRZMTg4MzE5RDAxKg0KK1gzMjI3NDlZMTg3ODc5RDAxKg0KK1gzMjIzMDlZMTg3MzY0RDAxKg0KK1gzMjE5NTZZMTg2Nzg3RDAxKg0KK1gzMjE2OTdZMTg2MTYyRDAxKg0KK1gzMjE1MzlZMTg1NTA0RDAxKg0KK1gzMjE0ODZZMTg0ODI5RDAxKg0KK1gzMjE1MzlZMTg0MTU0RDAxKg0KK1gzMjE2OTdZMTgzNDk2RDAxKg0KK1gzMjE5NTZZMTgyODcxRDAxKg0KK1gzMjIzMDlZMTgyMjk0RDAxKg0KK1gzMjI3NDlZMTgxNzc5RDAxKg0KK1gzMjMyNjRZMTgxMzM5RDAxKg0KK1gzMjM4NDFZMTgwOTg2RDAxKg0KK1gzMjQ0NjZZMTgwNzI3RDAxKg0KK1gzMjUxMjRZMTgwNTY5RDAxKg0KK1gzMjU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDMyNTEyNFkxNzkwODlEMDEqDQorWDMyNDQ2NlkxNzg5MzFEMDEqDQorWDMyMzg0MVkxNzg2NzJEMDEqDQorWDMyMzI2NFkxNzgzMTlEMDEqDQorWDMyMjc0OVkxNzc4NzlEMDEqDQorWDMyMjMwOVkxNzczNjREMDEqDQorWDMyMTk1NlkxNzY3ODdEMDEqDQorWDMyMTY5N1kxNzYxNjJEMDEqDQorWDMyMTUzOVkxNzU1MDREMDEqDQorWDMyMTQ4NlkxNzQ4MjlEMDEqDQorWDMyMTUzOVkxNzQxNTREMDEqDQorWDMyMTY5N1kxNzM0OTZEMDEqDQorWDMyMTk1NlkxNzI4NzFEMDEqDQorWDMyMjMwOVkxNzIyOTREMDEqDQorWDMyMjc0OVkxNzE3NzlEMDEqDQorWDMyMzI2NFkxNzEzMzlEMDEqDQorWDMyMzg0MVkxNzA5ODZEMDEqDQorWDMyNDQ2NlkxNzA3MjdEMDEqDQorWDMyNTEyNFkxNzA1NjlEMDEqDQorWDMyNTc5MlkxNzA1MTZEMDEqDQorWTEzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMTU3OTJZMzQ5MjY1RDAyKlgzMTM5MzJZMzQ5MTE5RDAxKg0KK1gzMTIxMTBZMzQ4NjgxRDAxKg0KK1gzMTAzODBZMzQ3OTY1RDAxKg0KK1gzMDg3ODNZMzQ2OTg2RDAxKg0KK1gzMDczNThZMzQ1NzcwRDAxKg0KK1gzMDYxNDJZMzQ0MzQ1RDAxKg0KK1gzMDU3OTJZMzQzNzc1RDAxKg0KK1kzNjA1MTZEMDEqDQorWDMwNTc5OVkzNjA1MTZEMDEqDQorWDMwNjQ3NFkzNjA1NjlEMDEqDQorWDMwNzEzMlkzNjA3MjdEMDEqDQorWDMwNzc1N1kzNjA5ODZEMDEqDQorWDMwODMzNFkzNjEzMzlEMDEqDQorWDMwODg0OVkzNjE3NzlEMDEqDQorWDMwOTI4OVkzNjIyOTREMDEqDQorWDMwOTY0MlkzNjI4NzFEMDEqDQorWDMwOTkwMVkzNjM0OTZEMDEqDQorWDMxMDA1OVkzNjQxNTREMDEqDQorWDMxMDA5OVkzNjQ4MjlEMDEqDQorWDMxMDA1OVkzNjU1MDREMDEqDQorWDMwOTkwMVkzNjYxNjJEMDEqDQorWDMwOTY0MlkzNjY3ODdEMDEqDQorWDMwOTI4OVkzNjczNjREMDEqDQorWDMwODg0OVkzNjc4NzlEMDEqDQorWDMwODMzNFkzNjgzMTlEMDEqDQorWDMwNzc1N1kzNjg2NzJEMDEqDQorWDMwNzEzMlkzNjg5MzFEMDEqDQorWDMwNjQ3NFkzNjkwODlEMDEqDQorWDMwNTc5OVkzNjkxNDJEMDEqDQorWDMwNTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMzA1Nzk5WTM3MDUxNkQwMSoNCitYMzA2NDc0WTM3MDU2OUQwMSoNCitYMzA3MTMyWTM3MDcyN0QwMSoNCitYMzA3NzU3WTM3MDk4NkQwMSoNCitYMzA4MzM0WTM3MTMzOUQwMSoNCitYMzA4ODQ5WTM3MTc3OUQwMSoNCitYMzA5Mjg5WTM3MjI5NEQwMSoNCitYMzA5NjQyWTM3Mjg3MUQwMSoNCitYMzA5OTAxWTM3MzQ5NkQwMSoNCitYMzEwMDU5WTM3NDE1NEQwMSoNCitYMzEwMDk5WTM3NDgyOUQwMSoNCitYMzEwMDU5WTM3NTUwNEQwMSoNCitYMzA5OTAxWTM3NjE2MkQwMSoNCitYMzA5NjQyWTM3Njc4N0QwMSoNCitYMzA5Mjg5WTM3NzM2NEQwMSoNCitYMzA4ODQ5WTM3Nzg3OUQwMSoNCitYMzA4MzM0WTM3ODMxOUQwMSoNCitYMzA3NzU3WTM3ODY3MkQwMSoNCitYMzA3MTMyWTM3ODkzMUQwMSoNCitYMzA2NDc0WTM3OTA4OUQwMSoNCitYMzA1Nzk5WTM3OTE0MkQwMSoNCitYMzA1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gzMTU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMzE1MTI0WTM3OTA4OUQwMSoNCitYMzE0NDY2WTM3ODkzMUQwMSoNCitYMzEzODQxWTM3ODY3MkQwMSoNCitYMzEzMjY0WTM3ODMxOUQwMSoNCitYMzEyNzQ5WTM3Nzg3OUQwMSoNCitYMzEyMzA5WTM3NzM2NEQwMSoNCitYMzExOTU2WTM3Njc4N0QwMSoNCitYMzExNjk3WTM3NjE2MkQwMSoNCitYMzExNTM5WTM3NTUwNEQwMSoNCitYMzExNDg2WTM3NDgyOUQwMSoNCitYMzExNTM5WTM3NDE1NEQwMSoNCitYMzExNjk3WTM3MzQ5NkQwMSoNCitYMzExOTU2WTM3Mjg3MUQwMSoNCitYMzEyMzA5WTM3MjI5NEQwMSoNCitYMzEyNzQ5WTM3MTc3OUQwMSoNCitYMzEzMjY0WTM3MTMzOUQwMSoNCitYMzEzODQxWTM3MDk4NkQwMSoNCitYMzE0NDY2WTM3MDcyN0QwMSoNCitYMzE1MTI0WTM3MDU2OUQwMSoNCitYMzE1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gzMTUxMjRZMzY5MDg5RDAxKg0KK1gzMTQ0NjZZMzY4OTMxRDAxKg0KK1gzMTM4NDFZMzY4NjcyRDAxKg0KK1gzMTMyNjRZMzY4MzE5RDAxKg0KK1gzMTI3NDlZMzY3ODc5RDAxKg0KK1gzMTIzMDlZMzY3MzY0RDAxKg0KK1gzMTE5NTZZMzY2Nzg3RDAxKg0KK1gzMTE2OTdZMzY2MTYyRDAxKg0KK1gzMTE1MzlZMzY1NTA0RDAxKg0KK1gzMTE0ODZZMzY0ODI5RDAxKg0KK1gzMTE1MzlZMzY0MTU0RDAxKg0KK1gzMTE2OTdZMzYzNDk2RDAxKg0KK1gzMTE5NTZZMzYyODcxRDAxKg0KK1gzMTIzMDlZMzYyMjk0RDAxKg0KK1gzMTI3NDlZMzYxNzc5RDAxKg0KK1gzMTMyNjRZMzYxMzM5RDAxKg0KK1gzMTM4NDFZMzYwOTg2RDAxKg0KK1gzMTQ0NjZZMzYwNzI3RDAxKg0KK1gzMTUxMjRZMzYwNTY5RDAxKg0KK1gzMTU3OTJZMzYwNTE2RDAxKg0KK1kzNDkyNjVEMDEqDQorRzM3Kg0KK0czNioNCitYMzA4ODY5WTEzNDczOUQwMipYMzA4ODgzWTEzNDczM0QwMSoNCitYMzA5MTU5WTEzNDY2N0QwMSoNCitYMzA5NDQxWTEzNDY0NEQwMSoNCitYMzA5NzIzWTEzNDY2N0QwMSoNCitYMzA5OTk5WTEzNDczM0QwMSoNCitYMzEwMjYxWTEzNDg0MUQwMSoNCitYMzEwNDQxWTEzNDk1MkQwMSoNCitZMTE3NjcxRDAxKg0KK1gzMTAzODNZMTE3NjU3RDAxKg0KK1gzMTAxMjFZMTE3NTQ5RDAxKg0KK1gzMDk4ODBZMTE3NDAxRDAxKg0KK1gzMDk2NjRZMTE3MjE3RDAxKg0KK1gzMDk0ODBZMTE3MDAxRDAxKg0KK1gzMDkzMzJZMTE2NzYwRDAxKg0KK1gzMDkyMjRZMTE2NDk4RDAxKg0KK1gzMDkxNThZMTE2MjIyRDAxKg0KK1gzMDkxMzVZMTE1OTQwRDAxKg0KK1gzMDkxNThZMTE1NjU4RDAxKg0KK1gzMDkyMjRZMTE1MzgyRDAxKg0KK1gzMDkzMzJZMTE1MTIwRDAxKg0KK1gzMDk0ODBZMTE0ODc5RDAxKg0KK1gzMDk2NjRZMTE0NjYzRDAxKg0KK1gzMDk4ODBZMTE0NDc5RDAxKg0KK1gzMTAxMjFZMTE0MzMxRDAxKg0KK1gzMTAzODNZMTE0MjIzRDAxKg0KK1gzMTA0NDFZMTE0MjA5RDAxKg0KK1k5NzAwMEQwMSoNCitYMzA4ODY5RDAxKg0KK1kxMzQ3MzlEMDEqDQorRzM3Kg0KK0czNioNCitYMzEyMTU0WTE4MjU0OEQwMipYMzEyMzA5WTE4MjI5NEQwMSoNCitYMzEyNzQ5WTE4MTc3OUQwMSoNCitYMzEzMjY0WTE4MTMzOUQwMSoNCitYMzEzODQxWTE4MDk4NkQwMSoNCitYMzE0NDY2WTE4MDcyN0QwMSoNCitYMzE1MTI0WTE4MDU2OUQwMSoNCitYMzE1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gzMTUxMjRZMTc5MDg5RDAxKg0KK1gzMTQ0NjZZMTc4OTMxRDAxKg0KK1gzMTM4NDFZMTc4NjcyRDAxKg0KK1gzMTMyNjRZMTc4MzE5RDAxKg0KK1gzMTI3NDlZMTc3ODc5RDAxKg0KK1gzMTIzMDlZMTc3MzY0RDAxKg0KK1gzMTIxNTRZMTc3MTEwRDAxKg0KK1kxODI1NDhEMDEqDQorRzM3Kg0KK0czNioNCitZMzI1OTY2RDAyKlgzMTM5MzJZMzI1NTM5RDAxKg0KK1gzMTU3OTJZMzI1MzkzRDAxKg0KK1kyNTExMjdEMDEqDQorWDMxNTc3MVkyNTEwOTJEMDEqDQorWDMxNTcyNlkyNTA5ODJEMDEqDQorWDMxNTY5OFkyNTA4NjhEMDEqDQorWDMxNTY5MVkyNTA3NTBEMDEqDQorWTI0NzI1MEQwMSoNCitYMzE1Njk4WTI0NzEzMkQwMSoNCitYMzE1NzI2WTI0NzAxOEQwMSoNCitYMzE1NzcxWTI0NjkwOEQwMSoNCitYMzE1NzkyWTI0Njg3M0QwMSoNCitZMTg5MTQyRDAxKg0KK1gzMTUxMjRZMTg5MDg5RDAxKg0KK1gzMTQ0NjZZMTg4OTMxRDAxKg0KK1gzMTM4NDFZMTg4NjcyRDAxKg0KK1gzMTMyNjRZMTg4MzE5RDAxKg0KK1gzMTI3NDlZMTg3ODc5RDAxKg0KK1gzMTIzMDlZMTg3MzY0RDAxKg0KK1gzMTIxNTRZMTg3MTEwRDAxKg0KK1kyNDQyNTBEMDEqDQorWDMxNDE5MUQwMSoNCitYMzE0MzA5WTI0NDI1N0QwMSoNCitYMzE0NDIzWTI0NDI4NUQwMSoNCitYMzE0NTMzWTI0NDMzMEQwMSoNCitYMzE0NjMzWTI0NDM5MUQwMSoNCitYMzE0NzIzWTI0NDQ2OEQwMSoNCitYMzE0ODAwWTI0NDU1OEQwMSoNCitYMzE0ODYxWTI0NDY1OEQwMSoNCitYMzE0OTA2WTI0NDc2OEQwMSoNCitYMzE0OTM0WTI0NDg4MkQwMSoNCitYMzE0OTQzWTI0NTAwMEQwMSoNCitYMzE0OTM0WTI0NTExOEQwMSoNCitYMzE0OTA2WTI0NTIzMkQwMSoNCitYMzE0ODYxWTI0NTM0MkQwMSoNCitYMzE0ODAwWTI0NTQ0MkQwMSoNCitYMzE0NzIzWTI0NTUzMkQwMSoNCitYMzE0NjMzWTI0NTYwOUQwMSoNCitYMzE0NTMzWTI0NTY3MEQwMSoNCitYMzE0NDIzWTI0NTcxNUQwMSoNCitYMzE0MzA5WTI0NTc0M0QwMSoNCitYMzE0MTkxWTI0NTc1MEQwMSoNCitYMzEyMTU0RDAxKg0KK1kyNTIyNTBEMDEqDQorWDMxNDE5MUQwMSoNCitYMzE0MzA5WTI1MjI1N0QwMSoNCitYMzE0NDIzWTI1MjI4NUQwMSoNCitYMzE0NTMzWTI1MjMzMEQwMSoNCitYMzE0NjMzWTI1MjM5MUQwMSoNCitYMzE0NzIzWTI1MjQ2OEQwMSoNCitYMzE0ODAwWTI1MjU1OEQwMSoNCitYMzE0ODYxWTI1MjY1OEQwMSoNCitYMzE0OTA2WTI1Mjc2OEQwMSoNCitYMzE0OTM0WTI1Mjg4MkQwMSoNCitYMzE0OTQzWTI1MzAwMEQwMSoNCitYMzE0OTM0WTI1MzExOEQwMSoNCitYMzE0OTA2WTI1MzIzMkQwMSoNCitYMzE0ODYxWTI1MzM0MkQwMSoNCitYMzE0ODAwWTI1MzQ0MkQwMSoNCitYMzE0NzIzWTI1MzUzMkQwMSoNCitYMzE0NjMzWTI1MzYwOUQwMSoNCitYMzE0NTMzWTI1MzY3MEQwMSoNCitYMzE0NDIzWTI1MzcxNUQwMSoNCitYMzE0MzA5WTI1Mzc0M0QwMSoNCitYMzE0MTkxWTI1Mzc1MEQwMSoNCitYMzEyMTU0RDAxKg0KK1kyOTI5ODREMDEqDQorWDMxMjQ0NFkyOTMwMDdEMDEqDQorWDMxMjc1N1kyOTMwODJEMDEqDQorWDMxMzA1NlkyOTMyMDZEMDEqDQorWDMxMzMzMVkyOTMzNzREMDEqDQorWDMxMzU3NlkyOTM1ODREMDEqDQorWDMxMzc4NlkyOTM4MjlEMDEqDQorWDMxMzk1NFkyOTQxMDREMDEqDQorWDMxNDA3OFkyOTQ0MDNEMDEqDQorWDMxNDE1M1kyOTQ3MTZEMDEqDQorWDMxNDE3MlkyOTUwMzhEMDEqDQorWDMxNDE1M1kyOTUzNjBEMDEqDQorWDMxNDA3OFkyOTU2NzNEMDEqDQorWDMxMzk1NFkyOTU5NzJEMDEqDQorWDMxMzc4NlkyOTYyNDdEMDEqDQorWDMxMzU3NlkyOTY0OTJEMDEqDQorWDMxMzMzMVkyOTY3MDJEMDEqDQorWDMxMzA1NlkyOTY4NzBEMDEqDQorWDMxMjc1N1kyOTY5OTREMDEqDQorWDMxMjQ0NFkyOTcwNjlEMDEqDQorWDMxMjE1NFkyOTcwOTJEMDEqDQorWTI5ODEwMEQwMSoNCitYMzEyMTU3WTI5ODEwMEQwMSoNCitYMzEyNDc5WTI5ODEyNUQwMSoNCitYMzEyNzkyWTI5ODIwMEQwMSoNCitYMzEzMDkxWTI5ODMyNEQwMSoNCitYMzEzMzY2WTI5ODQ5MkQwMSoNCitYMzEzNjExWTI5ODcwMkQwMSoNCitYMzEzODIxWTI5ODk0N0QwMSoNCitYMzEzOTg5WTI5OTIyMkQwMSoNCitYMzE0MTEzWTI5OTUyMUQwMSoNCitYMzE0MTg4WTI5OTgzNEQwMSoNCitYMzE0MjA3WTMwMDE1NkQwMSoNCitYMzE0MTg4WTMwMDQ3OEQwMSoNCitYMzE0MTEzWTMwMDc5MUQwMSoNCitYMzEzOTg5WTMwMTA5MEQwMSoNCitYMzEzODIxWTMwMTM2NUQwMSoNCitYMzEzNjExWTMwMTYxMEQwMSoNCitYMzEzMzY2WTMwMTgyMEQwMSoNCitYMzEzMDkxWTMwMTk4OEQwMSoNCitYMzEyNzkyWTMwMjExMkQwMSoNCitYMzEyNDc5WTMwMjE4N0QwMSoNCitYMzEyMTU3WTMwMjIxMkQwMSoNCitYMzEyMTU0WTMwMjIxMkQwMSoNCitZMzI1OTY2RDAxKg0KK0czNyoNCitHMzYqDQorWDMxNTc5MlkxMzUwMDBEMDIqWDMxMjE1NEQwMSoNCitZMTcyNTQ4RDAxKg0KK1gzMTIzMDlZMTcyMjk0RDAxKg0KK1gzMTI3NDlZMTcxNzc5RDAxKg0KK1gzMTMyNjRZMTcxMzM5RDAxKg0KK1gzMTM4NDFZMTcwOTg2RDAxKg0KK1gzMTQ0NjZZMTcwNzI3RDAxKg0KK1gzMTUxMjRZMTcwNTY5RDAxKg0KK1gzMTU3OTJZMTcwNTE2RDAxKg0KK1kxMzUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzEyMTU0RDAyKlgzMTA1MTVEMDEqDQorWDMxMDcxOFkxMzUxNzNEMDEqDQorWDMxMDkwMlkxMzUzODlEMDEqDQorWDMxMTA1MFkxMzU2MzBEMDEqDQorWDMxMTE1OFkxMzU4OTJEMDEqDQorWDMxMTIyNFkxMzYxNjhEMDEqDQorWDMxMTI0MVkxMzY0NTBEMDEqDQorWDMxMTIyNFkxMzY3MzJEMDEqDQorWDMxMTE1OFkxMzcwMDhEMDEqDQorWDMxMTA1MFkxMzcyNzBEMDEqDQorWDMxMDkwMlkxMzc1MTFEMDEqDQorWDMxMDcxOFkxMzc3MjdEMDEqDQorWDMxMDUwMlkxMzc5MTFEMDEqDQorWDMxMDI2MVkxMzgwNTlEMDEqDQorWDMwOTk5OVkxMzgxNjdEMDEqDQorWDMwOTcyM1kxMzgyMzNEMDEqDQorWDMwOTQ0MVkxMzgyNTZEMDEqDQorWDMwOTE1OVkxMzgyMzNEMDEqDQorWDMwODg4M1kxMzgxNjdEMDEqDQorWDMwODg2OVkxMzgxNjFEMDEqDQorWTEzOTg1N0QwMSoNCitYMzA4ODgzWTEzOTg1MUQwMSoNCitYMzA5MTU5WTEzOTc4NUQwMSoNCitYMzA5NDQxWTEzOTc2MkQwMSoNCitYMzA5NzIzWTEzOTc4NUQwMSoNCitYMzA5OTk5WTEzOTg1MUQwMSoNCitYMzEwMjYxWTEzOTk1OUQwMSoNCitYMzEwNTAyWTE0MDEwN0QwMSoNCitYMzEwNzE4WTE0MDI5MUQwMSoNCitYMzEwOTAyWTE0MDUwN0QwMSoNCitYMzExMDUwWTE0MDc0OEQwMSoNCitYMzExMTU4WTE0MTAxMEQwMSoNCitYMzExMjI0WTE0MTI4NkQwMSoNCitYMzExMjQxWTE0MTU2OEQwMSoNCitYMzExMjI0WTE0MTg1MEQwMSoNCitYMzExMTU4WTE0MjEyNkQwMSoNCitYMzExMDUwWTE0MjM4OEQwMSoNCitYMzEwOTAyWTE0MjYyOUQwMSoNCitYMzEwNzE4WTE0Mjg0NUQwMSoNCitYMzEwNTAyWTE0MzAyOUQwMSoNCitYMzEwMjYxWTE0MzE3N0QwMSoNCitYMzA5OTk5WTE0MzI4NUQwMSoNCitYMzA5NzIzWTE0MzM1MUQwMSoNCitYMzA5NDQxWTE0MzM3NEQwMSoNCitYMzA5MTU5WTE0MzM1MUQwMSoNCitYMzA4ODgzWTE0MzI4NUQwMSoNCitYMzA4ODY5WTE0MzI3OUQwMSoNCitZMTcxODAyRDAxKg0KK1gzMDkyODlZMTcyMjk0RDAxKg0KK1gzMDk2NDJZMTcyODcxRDAxKg0KK1gzMDk5MDFZMTczNDk2RDAxKg0KK1gzMTAwNTlZMTc0MTU0RDAxKg0KK1gzMTAwOTlZMTc0ODI5RDAxKg0KK1gzMTAwNTlZMTc1NTA0RDAxKg0KK1gzMDk5MDFZMTc2MTYyRDAxKg0KK1gzMDk2NDJZMTc2Nzg3RDAxKg0KK1gzMDkyODlZMTc3MzY0RDAxKg0KK1gzMDg4NjlZMTc3ODU2RDAxKg0KK1kxODE4MDJEMDEqDQorWDMwOTI4OVkxODIyOTREMDEqDQorWDMwOTY0MlkxODI4NzFEMDEqDQorWDMwOTkwMVkxODM0OTZEMDEqDQorWDMxMDA1OVkxODQxNTREMDEqDQorWDMxMDA5OVkxODQ4MjlEMDEqDQorWDMxMDA1OVkxODU1MDREMDEqDQorWDMwOTkwMVkxODYxNjJEMDEqDQorWDMwOTY0MlkxODY3ODdEMDEqDQorWDMwOTI4OVkxODczNjREMDEqDQorWDMwODg2OVkxODc4NTZEMDEqDQorWTI0NjYzM0QwMSoNCitYMzA4ODgzWTI0NjY0MUQwMSoNCitYMzA4OTczWTI0NjcxOEQwMSoNCitYMzA5MDUwWTI0NjgwOEQwMSoNCitYMzA5MTExWTI0NjkwOEQwMSoNCitYMzA5MTU2WTI0NzAxOEQwMSoNCitYMzA5MTg0WTI0NzEzMkQwMSoNCitYMzA5MTkxWTI0NzI1MEQwMSoNCitZMjUwNzUwRDAxKg0KK1gzMDkxODRZMjUwODY4RDAxKg0KK1gzMDkxNTZZMjUwOTgyRDAxKg0KK1gzMDkxMTFZMjUxMDkyRDAxKg0KK1gzMDkwNTBZMjUxMTkyRDAxKg0KK1gzMDg5NzNZMjUxMjgyRDAxKg0KK1gzMDg4ODNZMjUxMzU5RDAxKg0KK1gzMDg4NjlZMjUxMzY3RDAxKg0KK1kyNjQ0NjZEMDEqDQorWDMwODg3MlkyNjQ0NjZEMDEqDQorWDMwOTE5NFkyNjQ0OTFEMDEqDQorWDMwOTUwN1kyNjQ1NjZEMDEqDQorWDMwOTgwNlkyNjQ2OTBEMDEqDQorWDMxMDA4MVkyNjQ4NThEMDEqDQorWDMxMDMyNlkyNjUwNjhEMDEqDQorWDMxMDUzNlkyNjUzMTNEMDEqDQorWDMxMDcwNFkyNjU1ODhEMDEqDQorWDMxMDgyOFkyNjU4ODdEMDEqDQorWDMxMDkwM1kyNjYyMDBEMDEqDQorWDMxMDkyMlkyNjY1MjJEMDEqDQorWDMxMDkwM1kyNjY4NDREMDEqDQorWDMxMDgyOFkyNjcxNTdEMDEqDQorWDMxMDcwNFkyNjc0NTZEMDEqDQorWDMxMDUzNlkyNjc3MzFEMDEqDQorWDMxMDMyNlkyNjc5NzZEMDEqDQorWDMxMDA4MVkyNjgxODZEMDEqDQorWDMwOTgwNlkyNjgzNTREMDEqDQorWDMwOTUwN1kyNjg0NzhEMDEqDQorWDMwOTE5NFkyNjg1NTNEMDEqDQorWDMwODg3MlkyNjg1NzhEMDEqDQorWDMwODg2OVkyNjg1NzhEMDEqDQorWTI2OTkyNEQwMSoNCitYMzA4OTkyWTI2OTkxNUQwMSoNCitYMzA5MzE0WTI2OTk0MEQwMSoNCitYMzA5NjI3WTI3MDAxNUQwMSoNCitYMzA5OTI2WTI3MDEzOUQwMSoNCitYMzEwMjAxWTI3MDMwN0QwMSoNCitYMzEwNDQ2WTI3MDUxN0QwMSoNCitYMzEwNjU2WTI3MDc2MkQwMSoNCitYMzEwODI0WTI3MTAzN0QwMSoNCitYMzEwOTQ4WTI3MTMzNkQwMSoNCitYMzExMDIzWTI3MTY0OUQwMSoNCitYMzExMDQyWTI3MTk3MUQwMSoNCitYMzExMDIzWTI3MjI5M0QwMSoNCitYMzEwOTQ4WTI3MjYwNkQwMSoNCitYMzEwODI0WTI3MjkwNUQwMSoNCitYMzEwNjU2WTI3MzE4MEQwMSoNCitYMzEwNDQ2WTI3MzQyNUQwMSoNCitYMzEwMjAxWTI3MzYzNUQwMSoNCitYMzA5OTI2WTI3MzgwM0QwMSoNCitYMzA5NjI3WTI3MzkyN0QwMSoNCitYMzA5NDQ0WTI3Mzk3MUQwMSoNCitYMzA5NTQ4WTI3NDE0MUQwMSoNCitYMzA5NjcyWTI3NDQ0MEQwMSoNCitYMzA5NzQ3WTI3NDc1M0QwMSoNCitYMzA5NzY2WTI3NTA3NUQwMSoNCitYMzA5NzQ3WTI3NTM5N0QwMSoNCitYMzA5NjcyWTI3NTcxMEQwMSoNCitYMzA5NTQ4WTI3NjAwOUQwMSoNCitYMzA5MzgwWTI3NjI4NEQwMSoNCitYMzA5MTcwWTI3NjUyOUQwMSoNCitYMzA4OTI1WTI3NjczOUQwMSoNCitYMzA4ODY5WTI3Njc3M0QwMSoNCitZMzI3NjE5RDAxKg0KK1gzMTAzODBZMzI2NjkzRDAxKg0KK1gzMTIxMTBZMzI1OTc3RDAxKg0KK1gzMTIxNTRZMzI1OTY2RDAxKg0KK1kzMDIyMTJEMDEqDQorWDMxMTgzNVkzMDIxODdEMDEqDQorWDMxMTUyMlkzMDIxMTJEMDEqDQorWDMxMTIyM1kzMDE5ODhEMDEqDQorWDMxMDk0OFkzMDE4MjBEMDEqDQorWDMxMDcwM1kzMDE2MTBEMDEqDQorWDMxMDQ5M1kzMDEzNjVEMDEqDQorWDMxMDMyNVkzMDEwOTBEMDEqDQorWDMxMDIwMVkzMDA3OTFEMDEqDQorWDMxMDEyNlkzMDA0NzhEMDEqDQorWDMxMDEwMVkzMDAxNTZEMDEqDQorWDMxMDEyNlkyOTk4MzREMDEqDQorWDMxMDIwMVkyOTk1MjFEMDEqDQorWDMxMDMyNVkyOTkyMjJEMDEqDQorWDMxMDQ5M1kyOTg5NDdEMDEqDQorWDMxMDcwM1kyOTg3MDJEMDEqDQorWDMxMDk0OFkyOTg0OTJEMDEqDQorWDMxMTIyM1kyOTgzMjREMDEqDQorWDMxMTUyMlkyOTgyMDBEMDEqDQorWDMxMTgzNVkyOTgxMjVEMDEqDQorWDMxMjE1NFkyOTgxMDBEMDEqDQorWTI5NzA5MkQwMSoNCitYMzEyMTIyWTI5NzA5NEQwMSoNCitYMzExODAwWTI5NzA2OUQwMSoNCitYMzExNDg3WTI5Njk5NEQwMSoNCitYMzExMTg4WTI5Njg3MEQwMSoNCitYMzEwOTEzWTI5NjcwMkQwMSoNCitYMzEwNjY4WTI5NjQ5MkQwMSoNCitYMzEwNDU4WTI5NjI0N0QwMSoNCitYMzEwMjkwWTI5NTk3MkQwMSoNCitYMzEwMTY2WTI5NTY3M0QwMSoNCitYMzEwMDkxWTI5NTM2MEQwMSoNCitYMzEwMDY2WTI5NTAzOEQwMSoNCitYMzEwMDkxWTI5NDcxNkQwMSoNCitYMzEwMTY2WTI5NDQwM0QwMSoNCitYMzEwMjkwWTI5NDEwNEQwMSoNCitYMzEwNDU4WTI5MzgyOUQwMSoNCitYMzEwNjY4WTI5MzU4NEQwMSoNCitYMzEwOTEzWTI5MzM3NEQwMSoNCitYMzExMTg4WTI5MzIwNkQwMSoNCitYMzExNDg3WTI5MzA4MkQwMSoNCitYMzExODAwWTI5MzAwN0QwMSoNCitYMzEyMTIyWTI5Mjk4MkQwMSoNCitYMzEyMTU0WTI5Mjk4NEQwMSoNCitZMjUzNzUwRDAxKg0KK1gzMTA2OTFEMDEqDQorWDMxMDU3M1kyNTM3NDNEMDEqDQorWDMxMDQ1OVkyNTM3MTVEMDEqDQorWDMxMDM0OVkyNTM2NzBEMDEqDQorWDMxMDI0OVkyNTM2MDlEMDEqDQorWDMxMDE1OVkyNTM1MzJEMDEqDQorWDMxMDA4MlkyNTM0NDJEMDEqDQorWDMxMDAyMVkyNTMzNDJEMDEqDQorWDMwOTk3NlkyNTMyMzJEMDEqDQorWDMwOTk0OFkyNTMxMThEMDEqDQorWDMwOTkzOVkyNTMwMDBEMDEqDQorWDMwOTk0OFkyNTI4ODJEMDEqDQorWDMwOTk3NlkyNTI3NjhEMDEqDQorWDMxMDAyMVkyNTI2NThEMDEqDQorWDMxMDA4MlkyNTI1NThEMDEqDQorWDMxMDE1OVkyNTI0NjhEMDEqDQorWDMxMDI0OVkyNTIzOTFEMDEqDQorWDMxMDM0OVkyNTIzMzBEMDEqDQorWDMxMDQ1OVkyNTIyODVEMDEqDQorWDMxMDU3M1kyNTIyNTdEMDEqDQorWDMxMDY5MVkyNTIyNTBEMDEqDQorWDMxMjE1NEQwMSoNCitZMjQ1NzUwRDAxKg0KK1gzMTA2OTFEMDEqDQorWDMxMDU3M1kyNDU3NDNEMDEqDQorWDMxMDQ1OVkyNDU3MTVEMDEqDQorWDMxMDM0OVkyNDU2NzBEMDEqDQorWDMxMDI0OVkyNDU2MDlEMDEqDQorWDMxMDE1OVkyNDU1MzJEMDEqDQorWDMxMDA4MlkyNDU0NDJEMDEqDQorWDMxMDAyMVkyNDUzNDJEMDEqDQorWDMwOTk3NlkyNDUyMzJEMDEqDQorWDMwOTk0OFkyNDUxMThEMDEqDQorWDMwOTkzOVkyNDUwMDBEMDEqDQorWDMwOTk0OFkyNDQ4ODJEMDEqDQorWDMwOTk3NlkyNDQ3NjhEMDEqDQorWDMxMDAyMVkyNDQ2NThEMDEqDQorWDMxMDA4MlkyNDQ1NThEMDEqDQorWDMxMDE1OVkyNDQ0NjhEMDEqDQorWDMxMDI0OVkyNDQzOTFEMDEqDQorWDMxMDM0OVkyNDQzMzBEMDEqDQorWDMxMDQ1OVkyNDQyODVEMDEqDQorWDMxMDU3M1kyNDQyNTdEMDEqDQorWDMxMDY5MVkyNDQyNTBEMDEqDQorWDMxMjE1NEQwMSoNCitZMTg3MTEwRDAxKg0KK1gzMTE5NTZZMTg2Nzg3RDAxKg0KK1gzMTE2OTdZMTg2MTYyRDAxKg0KK1gzMTE1MzlZMTg1NTA0RDAxKg0KK1gzMTE0ODZZMTg0ODI5RDAxKg0KK1gzMTE1MzlZMTg0MTU0RDAxKg0KK1gzMTE2OTdZMTgzNDk2RDAxKg0KK1gzMTE5NTZZMTgyODcxRDAxKg0KK1gzMTIxNTRZMTgyNTQ4RDAxKg0KK1kxNzcxMTBEMDEqDQorWDMxMTk1NlkxNzY3ODdEMDEqDQorWDMxMTY5N1kxNzYxNjJEMDEqDQorWDMxMTUzOVkxNzU1MDREMDEqDQorWDMxMTQ4NlkxNzQ4MjlEMDEqDQorWDMxMTUzOVkxNzQxNTREMDEqDQorWDMxMTY5N1kxNzM0OTZEMDEqDQorWDMxMTk1NlkxNzI4NzFEMDEqDQorWDMxMjE1NFkxNzI1NDhEMDEqDQorWTEzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDg4NjlZMjc2NzczRDAyKlgzMDg2NTBZMjc2OTA3RDAxKg0KK1gzMDgzNTFZMjc3MDMxRDAxKg0KK1gzMDgwMzhZMjc3MTA2RDAxKg0KK1gzMDc3MTZZMjc3MTMxRDAxKg0KK1gzMDczOTRZMjc3MTA2RDAxKg0KK1gzMDcwODFZMjc3MDMxRDAxKg0KK1gzMDY3ODJZMjc2OTA3RDAxKg0KK1gzMDY1MDdZMjc2NzM5RDAxKg0KK1gzMDYyNjJZMjc2NTI5RDAxKg0KK1gzMDYwNTJZMjc2Mjg0RDAxKg0KK1gzMDU4ODRZMjc2MDA5RDAxKg0KK1gzMDU3OTJZMjc1Nzg4RDAxKg0KK1kzMzA4ODNEMDEqDQorWDMwNjE0MlkzMzAzMTNEMDEqDQorWDMwNzM1OFkzMjg4ODhEMDEqDQorWDMwODc4M1kzMjc2NzJEMDEqDQorWDMwODg2OVkzMjc2MTlEMDEqDQorWTI3Njc3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxODc4NTZEMDIqWDMwODg0OVkxODc4NzlEMDEqDQorWDMwODMzNFkxODgzMTlEMDEqDQorWDMwNzc1N1kxODg2NzJEMDEqDQorWDMwNzEzMlkxODg5MzFEMDEqDQorWDMwNjQ3NFkxODkwODlEMDEqDQorWDMwNTc5OVkxODkxNDJEMDEqDQorWDMwNTc5MlkxODkxNDJEMDEqDQorWTIwMjY1NUQwMSoNCitYMzA1ODM4WTIwMjY2NkQwMSoNCitYMzA2MTAwWTIwMjc3NEQwMSoNCitYMzA2MzQxWTIwMjkyMkQwMSoNCitYMzA2NTU3WTIwMzEwNkQwMSoNCitYMzA2NzQxWTIwMzMyMkQwMSoNCitYMzA2ODg5WTIwMzU2M0QwMSoNCitYMzA2OTk3WTIwMzgyNUQwMSoNCitYMzA3MDYzWTIwNDEwMUQwMSoNCitYMzA3MDgwWTIwNDM4M0QwMSoNCitYMzA3MDYzWTIwNDY2NUQwMSoNCitYMzA2OTk3WTIwNDk0MUQwMSoNCitYMzA2ODg5WTIwNTIwM0QwMSoNCitYMzA2NzQxWTIwNTQ0NEQwMSoNCitYMzA2NTU3WTIwNTY2MEQwMSoNCitYMzA2MzQxWTIwNTg0NEQwMSoNCitYMzA2MTAwWTIwNTk5MkQwMSoNCitYMzA1ODM4WTIwNjEwMEQwMSoNCitYMzA1NzkyWTIwNjExMUQwMSoNCitZMjA2MTQ4RDAxKg0KK1gzMDU4NjFZMjA2MjA2RDAxKg0KK1gzMDYwNDVZMjA2NDIyRDAxKg0KK1gzMDYxOTNZMjA2NjYzRDAxKg0KK1gzMDYzMDFZMjA2OTI1RDAxKg0KK1gzMDYzNjdZMjA3MjAxRDAxKg0KK1gzMDYzODRZMjA3NDgzRDAxKg0KK1gzMDYzNjdZMjA3NzY1RDAxKg0KK1gzMDYzMDFZMjA4MDQxRDAxKg0KK1gzMDYxOTNZMjA4MzAzRDAxKg0KK1gzMDYwNDVZMjA4NTQ0RDAxKg0KK1gzMDU4NjFZMjA4NzYwRDAxKg0KK1gzMDU3OTJZMjA4ODE4RDAxKg0KK1kyMDkxNDREMDEqDQorWDMwNTk4M1kyMDkzMDZEMDEqDQorWDMwNjE2N1kyMDk1MjJEMDEqDQorWDMwNjMxNVkyMDk3NjNEMDEqDQorWDMwNjQyM1kyMTAwMjVEMDEqDQorWDMwNjQ4OVkyMTAzMDFEMDEqDQorWDMwNjUwNlkyMTA1ODNEMDEqDQorWDMwNjQ4OVkyMTA4NjVEMDEqDQorWDMwNjQyM1kyMTExNDFEMDEqDQorWDMwNjMxNVkyMTE0MDNEMDEqDQorWDMwNjE2N1kyMTE2NDREMDEqDQorWDMwNTk4M1kyMTE4NjBEMDEqDQorWDMwNTc5MlkyMTIwMjJEMDEqDQorWTI3NDM2MkQwMSoNCitYMzA1ODg0WTI3NDE0MUQwMSoNCitYMzA2MDUyWTI3Mzg2NkQwMSoNCitYMzA2MjYyWTI3MzYyMUQwMSoNCitYMzA2NTA3WTI3MzQxMUQwMSoNCitYMzA2NzgyWTI3MzI0M0QwMSoNCitYMzA3MDgxWTI3MzExOUQwMSoNCitYMzA3MjY0WTI3MzA3NUQwMSoNCitYMzA3MTYwWTI3MjkwNUQwMSoNCitYMzA3MDM2WTI3MjYwNkQwMSoNCitYMzA2OTYxWTI3MjI5M0QwMSoNCitYMzA2OTM2WTI3MTk3MUQwMSoNCitYMzA2OTYxWTI3MTY0OUQwMSoNCitYMzA3MDM2WTI3MTMzNkQwMSoNCitYMzA3MTYwWTI3MTAzN0QwMSoNCitYMzA3MzI4WTI3MDc2MkQwMSoNCitYMzA3NTM4WTI3MDUxN0QwMSoNCitYMzA3NzgzWTI3MDMwN0QwMSoNCitYMzA4MDU4WTI3MDEzOUQwMSoNCitYMzA4MzU3WTI3MDAxNUQwMSoNCitYMzA4NjcwWTI2OTk0MEQwMSoNCitYMzA4ODY5WTI2OTkyNEQwMSoNCitZMjY4NTc4RDAxKg0KK1gzMDg1NTBZMjY4NTUzRDAxKg0KK1gzMDgyMzdZMjY4NDc4RDAxKg0KK1gzMDc5MzhZMjY4MzU0RDAxKg0KK1gzMDc2NjNZMjY4MTg2RDAxKg0KK1gzMDc0MThZMjY3OTc2RDAxKg0KK1gzMDcyMDhZMjY3NzMxRDAxKg0KK1gzMDcwNDBZMjY3NDU2RDAxKg0KK1gzMDY5MTZZMjY3MTU3RDAxKg0KK1gzMDY4NDFZMjY2ODQ0RDAxKg0KK1gzMDY4MTZZMjY2NTIyRDAxKg0KK1gzMDY4NDFZMjY2MjAwRDAxKg0KK1gzMDY5MTZZMjY1ODg3RDAxKg0KK1gzMDcwNDBZMjY1NTg4RDAxKg0KK1gzMDcyMDhZMjY1MzEzRDAxKg0KK1gzMDc0MThZMjY1MDY4RDAxKg0KK1gzMDc2NjNZMjY0ODU4RDAxKg0KK1gzMDc5MzhZMjY0NjkwRDAxKg0KK1gzMDgyMzdZMjY0NTY2RDAxKg0KK1gzMDg1NTBZMjY0NDkxRDAxKg0KK1gzMDg4NjlZMjY0NDY2RDAxKg0KK1kyNTEzNjdEMDEqDQorWDMwODc4M1kyNTE0MjBEMDEqDQorWDMwODY3M1kyNTE0NjVEMDEqDQorWDMwODU1OVkyNTE0OTNEMDEqDQorWDMwODQ0MVkyNTE1MDJEMDEqDQorWDMwODMyM1kyNTE0OTNEMDEqDQorWDMwODIwOVkyNTE0NjVEMDEqDQorWDMwODA5OVkyNTE0MjBEMDEqDQorWDMwNzk5OVkyNTEzNTlEMDEqDQorWDMwNzkwOVkyNTEyODJEMDEqDQorWDMwNzgzMlkyNTExOTJEMDEqDQorWDMwNzc3MVkyNTEwOTJEMDEqDQorWDMwNzcyNlkyNTA5ODJEMDEqDQorWDMwNzY5OFkyNTA4NjhEMDEqDQorWDMwNzY5MVkyNTA3NTBEMDEqDQorWTI0NzI1MEQwMSoNCitYMzA3Njk4WTI0NzEzMkQwMSoNCitYMzA3NzI2WTI0NzAxOEQwMSoNCitYMzA3NzcxWTI0NjkwOEQwMSoNCitYMzA3ODMyWTI0NjgwOEQwMSoNCitYMzA3OTA5WTI0NjcxOEQwMSoNCitYMzA3OTk5WTI0NjY0MUQwMSoNCitYMzA4MDk5WTI0NjU4MEQwMSoNCitYMzA4MjA5WTI0NjUzNUQwMSoNCitYMzA4MzIzWTI0NjUwN0QwMSoNCitYMzA4NDQxWTI0NjQ5OEQwMSoNCitYMzA4NTU5WTI0NjUwN0QwMSoNCitYMzA4NjczWTI0NjUzNUQwMSoNCitYMzA4NzgzWTI0NjU4MEQwMSoNCitYMzA4ODY5WTI0NjYzM0QwMSoNCitZMTg3ODU2RDAxKg0KK0czNyoNCitHMzYqDQorWTE3Nzg1NkQwMipYMzA4ODQ5WTE3Nzg3OUQwMSoNCitYMzA4MzM0WTE3ODMxOUQwMSoNCitYMzA3NzU3WTE3ODY3MkQwMSoNCitYMzA3MTMyWTE3ODkzMUQwMSoNCitYMzA2NDc0WTE3OTA4OUQwMSoNCitYMzA1Nzk5WTE3OTE0MkQwMSoNCitYMzA1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gzMDU3OTlZMTgwNTE2RDAxKg0KK1gzMDY0NzRZMTgwNTY5RDAxKg0KK1gzMDcxMzJZMTgwNzI3RDAxKg0KK1gzMDc3NTdZMTgwOTg2RDAxKg0KK1gzMDgzMzRZMTgxMzM5RDAxKg0KK1gzMDg4NDlZMTgxNzc5RDAxKg0KK1gzMDg4NjlZMTgxODAyRDAxKg0KK1kxNzc4NTZEMDEqDQorRzM3Kg0KK0czNioNCitZMTM4MTYxRDAyKlgzMDg2MjFZMTM4MDU5RDAxKg0KK1gzMDgzODBZMTM3OTExRDAxKg0KK1gzMDgxNjRZMTM3NzI3RDAxKg0KK1gzMDc5ODBZMTM3NTExRDAxKg0KK1gzMDc4MzJZMTM3MjcwRDAxKg0KK1gzMDc3MjRZMTM3MDA4RDAxKg0KK1gzMDc2NThZMTM2NzMyRDAxKg0KK1gzMDc2MzVZMTM2NDUwRDAxKg0KK1gzMDc2NThZMTM2MTY4RDAxKg0KK1gzMDc3MjRZMTM1ODkyRDAxKg0KK1gzMDc4MzJZMTM1NjMwRDAxKg0KK1gzMDc5ODBZMTM1Mzg5RDAxKg0KK1gzMDgxNjRZMTM1MTczRDAxKg0KK1gzMDgzODBZMTM0OTg5RDAxKg0KK1gzMDg2MjFZMTM0ODQxRDAxKg0KK1gzMDg4NjlZMTM0NzM5RDAxKg0KK1k5NzAwMEQwMSoNCitYMzA1NzkyRDAxKg0KK1kxMDU3MDJEMDEqDQorWDMwNTk3OFkxMDU3MTdEMDEqDQorWDMwNjI1NFkxMDU3ODNEMDEqDQorWDMwNjUxNlkxMDU4OTFEMDEqDQorWDMwNjc1N1kxMDYwMzlEMDEqDQorWDMwNjk3M1kxMDYyMjNEMDEqDQorWDMwNzE1N1kxMDY0MzlEMDEqDQorWDMwNzMwNVkxMDY2ODBEMDEqDQorWDMwNzQxM1kxMDY5NDJEMDEqDQorWDMwNzQ3OVkxMDcyMThEMDEqDQorWDMwNzQ5NlkxMDc1MDBEMDEqDQorWDMwNzQ3OVkxMDc3ODJEMDEqDQorWDMwNzQxM1kxMDgwNThEMDEqDQorWDMwNzMwNVkxMDgzMjBEMDEqDQorWDMwNzE1N1kxMDg1NjFEMDEqDQorWDMwNjk3M1kxMDg3NzdEMDEqDQorWDMwNjc1N1kxMDg5NjFEMDEqDQorWDMwNjUxNlkxMDkxMDlEMDEqDQorWDMwNjI1NFkxMDkyMTdEMDEqDQorWDMwNTk3OFkxMDkyODNEMDEqDQorWDMwNTc5MlkxMDkyOThEMDEqDQorWTE3MDUxNkQwMSoNCitYMzA1Nzk5WTE3MDUxNkQwMSoNCitYMzA2NDc0WTE3MDU2OUQwMSoNCitYMzA3MTMyWTE3MDcyN0QwMSoNCitYMzA3NzU3WTE3MDk4NkQwMSoNCitYMzA4MzM0WTE3MTMzOUQwMSoNCitYMzA4ODQ5WTE3MTc3OUQwMSoNCitYMzA4ODY5WTE3MTgwMkQwMSoNCitZMTQzMjc5RDAxKg0KK1gzMDg2MjFZMTQzMTc3RDAxKg0KK1gzMDgzODBZMTQzMDI5RDAxKg0KK1gzMDgxNjRZMTQyODQ1RDAxKg0KK1gzMDc5ODBZMTQyNjI5RDAxKg0KK1gzMDc4MzJZMTQyMzg4RDAxKg0KK1gzMDc3MjRZMTQyMTI2RDAxKg0KK1gzMDc2NThZMTQxODUwRDAxKg0KK1gzMDc2MzVZMTQxNTY4RDAxKg0KK1gzMDc2NThZMTQxMjg2RDAxKg0KK1gzMDc3MjRZMTQxMDEwRDAxKg0KK1gzMDc4MzJZMTQwNzQ4RDAxKg0KK1gzMDc5ODBZMTQwNTA3RDAxKg0KK1gzMDgxNjRZMTQwMjkxRDAxKg0KK1gzMDgzODBZMTQwMTA3RDAxKg0KK1gzMDg2MjFZMTM5OTU5RDAxKg0KK1gzMDg4NjlZMTM5ODU3RDAxKg0KK1kxMzgxNjFEMDEqDQorRzM3Kg0KK0czNioNCitYMzA1NzkyWTIwNjExMUQwMipYMzA1NzU5WTIwNjExOUQwMSoNCitYMzA1NzkyWTIwNjE0OEQwMSoNCitZMjA2MTExRDAxKg0KK0czNyoNCitHMzYqDQorWTIwODgxOEQwMipYMzA1NjQ1WTIwODk0NEQwMSoNCitYMzA1NTYxWTIwODk5NkQwMSoNCitYMzA1NzY3WTIwOTEyMkQwMSoNCitYMzA1NzkyWTIwOTE0NEQwMSoNCitZMjA4ODE4RDAxKg0KK0czNyoNCitHMzYqDQorWDMwMzM2MlkxODEyNzlEMDIqWDMwMzg0MVkxODA5ODZEMDEqDQorWDMwNDQ2NlkxODA3MjdEMDEqDQorWDMwNTEyNFkxODA1NjlEMDEqDQorWDMwNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMzA1MTI0WTE3OTA4OUQwMSoNCitYMzA0NDY2WTE3ODkzMUQwMSoNCitYMzAzODQxWTE3ODY3MkQwMSoNCitYMzAzMzYyWTE3ODM3OUQwMSoNCitZMTgxMjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTIwNjE2MEQwMipYMzAzNTIzWTIwNjAyMkQwMSoNCitYMzAzNzY0WTIwNTg3NEQwMSoNCitYMzA0MDI2WTIwNTc2NkQwMSoNCitYMzA0MTA1WTIwNTc0N0QwMSoNCitYMzA0MDAzWTIwNTY2MEQwMSoNCitYMzAzODE5WTIwNTQ0NEQwMSoNCitYMzAzNjcxWTIwNTIwM0QwMSoNCitYMzAzNTYzWTIwNDk0MUQwMSoNCitYMzAzNDk3WTIwNDY2NUQwMSoNCitYMzAzNDc0WTIwNDM4M0QwMSoNCitYMzAzNDk3WTIwNDEwMUQwMSoNCitYMzAzNTYzWTIwMzgyNUQwMSoNCitYMzAzNjcxWTIwMzU2M0QwMSoNCitYMzAzODE5WTIwMzMyMkQwMSoNCitYMzA0MDAzWTIwMzEwNkQwMSoNCitYMzA0MjE5WTIwMjkyMkQwMSoNCitYMzA0NDYwWTIwMjc3NEQwMSoNCitYMzA0NzIyWTIwMjY2NkQwMSoNCitYMzA0OTk4WTIwMjYwMEQwMSoNCitYMzA1MjgwWTIwMjU3N0QwMSoNCitYMzA1NTYyWTIwMjYwMEQwMSoNCitYMzA1NzkyWTIwMjY1NUQwMSoNCitZMTg5MTQyRDAxKg0KK1gzMDUxMjRZMTg5MDg5RDAxKg0KK1gzMDQ0NjZZMTg4OTMxRDAxKg0KK1gzMDM4NDFZMTg4NjcyRDAxKg0KK1gzMDMzNjJZMTg4Mzc5RDAxKg0KK1kyMDYxNjBEMDEqDQorRzM3Kg0KK0czNioNCitZMjA5Mzg1RDAyKlgzMDM0MjlZMjA5MzA2RDAxKg0KK1gzMDM2NDVZMjA5MTIyRDAxKg0KK1gzMDM3MjlZMjA5MDcwRDAxKg0KK1gzMDM1MjNZMjA4OTQ0RDAxKg0KK1gzMDMzNjJZMjA4ODA2RDAxKg0KK1kyMDkzODVEMDEqDQorRzM3Kg0KK0czNioNCitZMzM4MDAwRDAyKlgzMDM1NzZZMzM4MDUxRDAxKg0KK1gzMDM4NzVZMzM4MTc1RDAxKg0KK1gzMDM5MzJZMzM4MjEwRDAxKg0KK1gzMDM4NjJZMzM3MzI5RDAxKg0KK1gzMDQwMDlZMzM1NDYyRDAxKg0KK1gzMDQ0NDdZMzMzNjQwRDAxKg0KK1gzMDUxNjNZMzMxOTEwRDAxKg0KK1gzMDU3OTJZMzMwODgzRDAxKg0KK1kyNzU3ODhEMDEqDQorWDMwNTc2MFkyNzU3MTBEMDEqDQorWDMwNTY4NVkyNzUzOTdEMDEqDQorWDMwNTY2MFkyNzUwNzVEMDEqDQorWDMwNTY4NVkyNzQ3NTNEMDEqDQorWDMwNTc2MFkyNzQ0NDBEMDEqDQorWDMwNTc5MlkyNzQzNjJEMDEqDQorWTIxMjAyMkQwMSoNCitYMzA1NzY3WTIxMjA0NEQwMSoNCitYMzA1NTI2WTIxMjE5MkQwMSoNCitYMzA1MjY0WTIxMjMwMEQwMSoNCitYMzA0OTg4WTIxMjM2NkQwMSoNCitYMzA0NzA2WTIxMjM4OUQwMSoNCitYMzA0NDI0WTIxMjM2NkQwMSoNCitYMzA0MTQ4WTIxMjMwMEQwMSoNCitYMzAzODg2WTIxMjE5MkQwMSoNCitYMzAzNjQ1WTIxMjA0NEQwMSoNCitYMzAzNDI5WTIxMTg2MEQwMSoNCitYMzAzMzYyWTIxMTc4MUQwMSoNCitZMzI3OTQ0RDAxKg0KK1gzMDMzNjVZMzI3OTQ0RDAxKg0KK1gzMDM2ODdZMzI3OTY5RDAxKg0KK1gzMDQwMDBZMzI4MDQ0RDAxKg0KK1gzMDQyOTlZMzI4MTY4RDAxKg0KK1gzMDQ1NzRZMzI4MzM2RDAxKg0KK1gzMDQ4MTlZMzI4NTQ2RDAxKg0KK1gzMDUwMjlZMzI4NzkxRDAxKg0KK1gzMDUxOTdZMzI5MDY2RDAxKg0KK1gzMDUzMjFZMzI5MzY1RDAxKg0KK1gzMDUzOTZZMzI5Njc4RDAxKg0KK1gzMDU0MTVZMzMwMDAwRDAxKg0KK1gzMDUzOTZZMzMwMzIyRDAxKg0KK1gzMDUzMjFZMzMwNjM1RDAxKg0KK1gzMDUxOTdZMzMwOTM0RDAxKg0KK1gzMDUwMjlZMzMxMjA5RDAxKg0KK1gzMDQ4MTlZMzMxNDU0RDAxKg0KK1gzMDQ1NzRZMzMxNjY0RDAxKg0KK1gzMDQyOTlZMzMxODMyRDAxKg0KK1gzMDQwMDBZMzMxOTU2RDAxKg0KK1gzMDM2ODdZMzMyMDMxRDAxKg0KK1gzMDMzNjVZMzMyMDU2RDAxKg0KK1gzMDMzNjJZMzMyMDU2RDAxKg0KK1kzMzgwMDBEMDEqDQorRzM3Kg0KK0czNioNCitZMzYxMjc5RDAyKlgzMDM4NDFZMzYwOTg2RDAxKg0KK1gzMDQ0NjZZMzYwNzI3RDAxKg0KK1gzMDUxMjRZMzYwNTY5RDAxKg0KK1gzMDU3OTJZMzYwNTE2RDAxKg0KK1kzNDM3NzVEMDEqDQorWDMwNTE2M1kzNDI3NDhEMDEqDQorWDMwNDU1M1kzNDEyNzZEMDEqDQorWDMwNDM5NVkzNDE0NjFEMDEqDQorWDMwNDE1MFkzNDE2NzFEMDEqDQorWDMwMzg3NVkzNDE4MzlEMDEqDQorWDMwMzU3NlkzNDE5NjNEMDEqDQorWDMwMzM2MlkzNDIwMTREMDEqDQorWTM2MTI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzEyNzlEMDIqWDMwMzg0MVkzNzA5ODZEMDEqDQorWDMwNDQ2NlkzNzA3MjdEMDEqDQorWDMwNTEyNFkzNzA1NjlEMDEqDQorWDMwNTc5MlkzNzA1MTZEMDEqDQorWTM2OTE0MkQwMSoNCitYMzA1MTI0WTM2OTA4OUQwMSoNCitYMzA0NDY2WTM2ODkzMUQwMSoNCitYMzAzODQxWTM2ODY3MkQwMSoNCitYMzAzMzYyWTM2ODM3OUQwMSoNCitZMzcxMjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTM5NzAwMEQwMipYMzA1NzkyRDAxKg0KK1kzNzkxNDJEMDEqDQorWDMwNTEyNFkzNzkwODlEMDEqDQorWDMwNDQ2NlkzNzg5MzFEMDEqDQorWDMwMzg0MVkzNzg2NzJEMDEqDQorWDMwMzM2MlkzNzgzNzlEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDU3OTJZOTcwMDBEMDIqWDMwMzM2MkQwMSoNCitZMTcxMjc5RDAxKg0KK1gzMDM4NDFZMTcwOTg2RDAxKg0KK1gzMDQ0NjZZMTcwNzI3RDAxKg0KK1gzMDUxMjRZMTcwNTY5RDAxKg0KK1gzMDU3OTJZMTcwNTE2RDAxKg0KK1kxMDkyOThEMDEqDQorWDMwNTY5NlkxMDkzMDZEMDEqDQorWDMwNTQxNFkxMDkyODNEMDEqDQorWDMwNTEzOFkxMDkyMTdEMDEqDQorWDMwNDg3NlkxMDkxMDlEMDEqDQorWDMwNDYzNVkxMDg5NjFEMDEqDQorWDMwNDQxOVkxMDg3NzdEMDEqDQorWDMwNDIzNVkxMDg1NjFEMDEqDQorWDMwNDA4N1kxMDgzMjBEMDEqDQorWDMwMzk3OVkxMDgwNThEMDEqDQorWDMwMzkxM1kxMDc3ODJEMDEqDQorWDMwMzg5MFkxMDc1MDBEMDEqDQorWDMwMzkxM1kxMDcyMThEMDEqDQorWDMwMzk3OVkxMDY5NDJEMDEqDQorWDMwNDA4N1kxMDY2ODBEMDEqDQorWDMwNDIzNVkxMDY0MzlEMDEqDQorWDMwNDQxOVkxMDYyMjNEMDEqDQorWDMwNDYzNVkxMDYwMzlEMDEqDQorWDMwNDg3NlkxMDU4OTFEMDEqDQorWDMwNTEzOFkxMDU3ODNEMDEqDQorWDMwNTQxNFkxMDU3MTdEMDEqDQorWDMwNTY5NlkxMDU2OTREMDEqDQorWDMwNTc5MlkxMDU3MDJEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMwMzM2MkQwMipYMjk1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDI5NTc5OVkxNzA1MTZEMDEqDQorWDI5NjQ3NFkxNzA1NjlEMDEqDQorWDI5NzEzMlkxNzA3MjdEMDEqDQorWDI5Nzc1N1kxNzA5ODZEMDEqDQorWDI5ODMzNFkxNzEzMzlEMDEqDQorWDI5ODg0OVkxNzE3NzlEMDEqDQorWDI5OTI4OVkxNzIyOTREMDEqDQorWDI5OTY0MlkxNzI4NzFEMDEqDQorWDI5OTkwMVkxNzM0OTZEMDEqDQorWDMwMDA1OVkxNzQxNTREMDEqDQorWDMwMDA5OVkxNzQ4MjlEMDEqDQorWDMwMDA1OVkxNzU1MDREMDEqDQorWDI5OTkwMVkxNzYxNjJEMDEqDQorWDI5OTY0MlkxNzY3ODdEMDEqDQorWDI5OTI4OVkxNzczNjREMDEqDQorWDI5ODg0OVkxNzc4NzlEMDEqDQorWDI5ODMzNFkxNzgzMTlEMDEqDQorWDI5Nzc1N1kxNzg2NzJEMDEqDQorWDI5NzEzMlkxNzg5MzFEMDEqDQorWDI5NjQ3NFkxNzkwODlEMDEqDQorWDI5NTc5OVkxNzkxNDJEMDEqDQorWDI5NTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMjk1Nzk5WTE4MDUxNkQwMSoNCitYMjk2NDc0WTE4MDU2OUQwMSoNCitYMjk3MTMyWTE4MDcyN0QwMSoNCitYMjk3NzU3WTE4MDk4NkQwMSoNCitYMjk4MzM0WTE4MTMzOUQwMSoNCitYMjk4ODQ5WTE4MTc3OUQwMSoNCitYMjk5Mjg5WTE4MjI5NEQwMSoNCitYMjk5NjQyWTE4Mjg3MUQwMSoNCitYMjk5OTAxWTE4MzQ5NkQwMSoNCitYMzAwMDU5WTE4NDE1NEQwMSoNCitYMzAwMDk5WTE4NDgyOUQwMSoNCitYMzAwMDU5WTE4NTUwNEQwMSoNCitYMjk5OTAxWTE4NjE2MkQwMSoNCitYMjk5NjQyWTE4Njc4N0QwMSoNCitYMjk5Mjg5WTE4NzM2NEQwMSoNCitYMjk4ODQ5WTE4Nzg3OUQwMSoNCitYMjk4MzM0WTE4ODMxOUQwMSoNCitYMjk3NzU3WTE4ODY3MkQwMSoNCitYMjk3MTMyWTE4ODkzMUQwMSoNCitYMjk2NDc0WTE4OTA4OUQwMSoNCitYMjk1Nzk5WTE4OTE0MkQwMSoNCitYMjk1NzkyWTE4OTE0MkQwMSoNCitZMjQxNTgzRDAxKg0KK1gyOTU5MzdZMjQxNTcyRDAxKg0KK1gyOTYyNTlZMjQxNTk3RDAxKg0KK1gyOTY1NzJZMjQxNjcyRDAxKg0KK1gyOTY4NzFZMjQxNzk2RDAxKg0KK1gyOTcxNDZZMjQxOTY0RDAxKg0KK1gyOTczOTFZMjQyMTc0RDAxKg0KK1gyOTc2MDFZMjQyNDE5RDAxKg0KK1gyOTc3NjlZMjQyNjk0RDAxKg0KK1gyOTc4OTNZMjQyOTkzRDAxKg0KK1gyOTc5NjhZMjQzMzA2RDAxKg0KK1gyOTc5ODdZMjQzNjI4RDAxKg0KK1gyOTc5NjhZMjQzOTUwRDAxKg0KK1gyOTc4OTNZMjQ0MjYzRDAxKg0KK1gyOTc3NjlZMjQ0NTYyRDAxKg0KK1gyOTc2MDFZMjQ0ODM3RDAxKg0KK1gyOTczOTFZMjQ1MDgyRDAxKg0KK1gyOTcxNDZZMjQ1MjkyRDAxKg0KK1gyOTY4NzFZMjQ1NDYwRDAxKg0KK1gyOTY1NzJZMjQ1NTg0RDAxKg0KK1gyOTYyNTlZMjQ1NjU5RDAxKg0KK1gyOTU5MzdZMjQ1Njg0RDAxKg0KK1gyOTU3OTJZMjQ1NjczRDAxKg0KK1kyNTQzOTVEMDEqDQorWDI5NTc5M1kyNTQzOTVEMDEqDQorWDI5NjA5MlkyNTQyNzFEMDEqDQorWDI5NjQwNVkyNTQxOTZEMDEqDQorWDI5NjcyN1kyNTQxNzFEMDEqDQorWDI5NzA0OVkyNTQxOTZEMDEqDQorWDI5NzM2MlkyNTQyNzFEMDEqDQorWDI5NzY2MVkyNTQzOTVEMDEqDQorWDI5NzkzNlkyNTQ1NjNEMDEqDQorWDI5ODE4MVkyNTQ3NzNEMDEqDQorWDI5ODM5MVkyNTUwMThEMDEqDQorWDI5ODU1OVkyNTUyOTNEMDEqDQorWDI5ODY4M1kyNTU1OTJEMDEqDQorWDI5ODc1OFkyNTU5MDVEMDEqDQorWDI5ODc3N1kyNTYyMjdEMDEqDQorWDI5ODc1OFkyNTY1NDlEMDEqDQorWDI5ODY4M1kyNTY4NjJEMDEqDQorWDI5ODU1OVkyNTcxNjFEMDEqDQorWDI5ODM5MVkyNTc0MzZEMDEqDQorWDI5ODE4MVkyNTc2ODFEMDEqDQorWDI5NzkzNlkyNTc4OTFEMDEqDQorWDI5NzY2MVkyNTgwNTlEMDEqDQorWDI5NzM2MlkyNTgxODNEMDEqDQorWDI5NzA0OVkyNTgyNThEMDEqDQorWDI5NjcyN1kyNTgyODNEMDEqDQorWDI5NjQwNVkyNTgyNThEMDEqDQorWDI5NjA5MlkyNTgxODNEMDEqDQorWDI5NTc5M1kyNTgwNTlEMDEqDQorWDI5NTc5MlkyNTgwNTlEMDEqDQorWTI4MTQ3MEQwMSoNCitYMjk1ODU4WTI4MTYyOEQwMSoNCitYMjk1OTMzWTI4MTk0MUQwMSoNCitYMjk1OTUyWTI4MjI2M0QwMSoNCitYMjk1OTMzWTI4MjU4NUQwMSoNCitYMjk1ODU4WTI4Mjg5OEQwMSoNCitYMjk1NzkyWTI4MzA1NkQwMSoNCitZMzAzMTYzRDAxKg0KK1gyOTU4NDVZMzAzMTMxRDAxKg0KK1gyOTYxNDRZMzAzMDA3RDAxKg0KK1gyOTY0NTdZMzAyOTMyRDAxKg0KK1gyOTY3NzlZMzAyOTA3RDAxKg0KK1gyOTcxMDFZMzAyOTMyRDAxKg0KK1gyOTc0MTRZMzAzMDA3RDAxKg0KK1gyOTc3MTNZMzAzMTMxRDAxKg0KK1gyOTc5ODhZMzAzMjk5RDAxKg0KK1gyOTgyMzNZMzAzNTA5RDAxKg0KK1gyOTg0NDNZMzAzNzU0RDAxKg0KK1gyOTg2MTFZMzA0MDI5RDAxKg0KK1gyOTg3MzVZMzA0MzI4RDAxKg0KK1gyOTg4MTBZMzA0NjQxRDAxKg0KK1gyOTg4MjlZMzA0OTYzRDAxKg0KK1gyOTg4MTBZMzA1Mjg1RDAxKg0KK1gyOTg3MzVZMzA1NTk4RDAxKg0KK1gyOTg2MTFZMzA1ODk3RDAxKg0KK1gyOTg0NDNZMzA2MTcyRDAxKg0KK1gyOTgyMzNZMzA2NDE3RDAxKg0KK1gyOTc5ODhZMzA2NjI3RDAxKg0KK1gyOTc3MTNZMzA2Nzk1RDAxKg0KK1gyOTc0MTRZMzA2OTE5RDAxKg0KK1gyOTcxMDFZMzA2OTk0RDAxKg0KK1gyOTY3NzlZMzA3MDE5RDAxKg0KK1gyOTY0NTdZMzA2OTk0RDAxKg0KK1gyOTYxNDRZMzA2OTE5RDAxKg0KK1gyOTU4NDVZMzA2Nzk1RDAxKg0KK1gyOTU3OTJZMzA2NzYzRDAxKg0KK1kzNjA1MTZEMDEqDQorWDI5NTc5OVkzNjA1MTZEMDEqDQorWDI5NjQ3NFkzNjA1NjlEMDEqDQorWDI5NzEzMlkzNjA3MjdEMDEqDQorWDI5Nzc1N1kzNjA5ODZEMDEqDQorWDI5ODMzNFkzNjEzMzlEMDEqDQorWDI5ODg0OVkzNjE3NzlEMDEqDQorWDI5OTI4OVkzNjIyOTREMDEqDQorWDI5OTY0MlkzNjI4NzFEMDEqDQorWDI5OTkwMVkzNjM0OTZEMDEqDQorWDMwMDA1OVkzNjQxNTREMDEqDQorWDMwMDA5OVkzNjQ4MjlEMDEqDQorWDMwMDA1OVkzNjU1MDREMDEqDQorWDI5OTkwMVkzNjYxNjJEMDEqDQorWDI5OTY0MlkzNjY3ODdEMDEqDQorWDI5OTI4OVkzNjczNjREMDEqDQorWDI5ODg0OVkzNjc4NzlEMDEqDQorWDI5ODMzNFkzNjgzMTlEMDEqDQorWDI5Nzc1N1kzNjg2NzJEMDEqDQorWDI5NzEzMlkzNjg5MzFEMDEqDQorWDI5NjQ3NFkzNjkwODlEMDEqDQorWDI5NTc5OVkzNjkxNDJEMDEqDQorWDI5NTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMjk1Nzk5WTM3MDUxNkQwMSoNCitYMjk2NDc0WTM3MDU2OUQwMSoNCitYMjk3MTMyWTM3MDcyN0QwMSoNCitYMjk3NzU3WTM3MDk4NkQwMSoNCitYMjk4MzM0WTM3MTMzOUQwMSoNCitYMjk4ODQ5WTM3MTc3OUQwMSoNCitYMjk5Mjg5WTM3MjI5NEQwMSoNCitYMjk5NjQyWTM3Mjg3MUQwMSoNCitYMjk5OTAxWTM3MzQ5NkQwMSoNCitYMzAwMDU5WTM3NDE1NEQwMSoNCitYMzAwMDk5WTM3NDgyOUQwMSoNCitYMzAwMDU5WTM3NTUwNEQwMSoNCitYMjk5OTAxWTM3NjE2MkQwMSoNCitYMjk5NjQyWTM3Njc4N0QwMSoNCitYMjk5Mjg5WTM3NzM2NEQwMSoNCitYMjk4ODQ5WTM3Nzg3OUQwMSoNCitYMjk4MzM0WTM3ODMxOUQwMSoNCitYMjk3NzU3WTM3ODY3MkQwMSoNCitYMjk3MTMyWTM3ODkzMUQwMSoNCitYMjk2NDc0WTM3OTA4OUQwMSoNCitYMjk1Nzk5WTM3OTE0MkQwMSoNCitYMjk1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gzMDMzNjJEMDEqDQorWTM3ODM3OUQwMSoNCitYMzAzMjY0WTM3ODMxOUQwMSoNCitYMzAyNzQ5WTM3Nzg3OUQwMSoNCitYMzAyMzA5WTM3NzM2NEQwMSoNCitYMzAxOTU2WTM3Njc4N0QwMSoNCitYMzAxNjk3WTM3NjE2MkQwMSoNCitYMzAxNTM5WTM3NTUwNEQwMSoNCitYMzAxNDg2WTM3NDgyOUQwMSoNCitYMzAxNTM5WTM3NDE1NEQwMSoNCitYMzAxNjk3WTM3MzQ5NkQwMSoNCitYMzAxOTU2WTM3Mjg3MUQwMSoNCitYMzAyMzA5WTM3MjI5NEQwMSoNCitYMzAyNzQ5WTM3MTc3OUQwMSoNCitYMzAzMjY0WTM3MTMzOUQwMSoNCitYMzAzMzYyWTM3MTI3OUQwMSoNCitZMzY4Mzc5RDAxKg0KK1gzMDMyNjRZMzY4MzE5RDAxKg0KK1gzMDI3NDlZMzY3ODc5RDAxKg0KK1gzMDIzMDlZMzY3MzY0RDAxKg0KK1gzMDE5NTZZMzY2Nzg3RDAxKg0KK1gzMDE2OTdZMzY2MTYyRDAxKg0KK1gzMDE1MzlZMzY1NTA0RDAxKg0KK1gzMDE0ODZZMzY0ODI5RDAxKg0KK1gzMDE1MzlZMzY0MTU0RDAxKg0KK1gzMDE2OTdZMzYzNDk2RDAxKg0KK1gzMDE5NTZZMzYyODcxRDAxKg0KK1gzMDIzMDlZMzYyMjk0RDAxKg0KK1gzMDI3NDlZMzYxNzc5RDAxKg0KK1gzMDMyNjRZMzYxMzM5RDAxKg0KK1gzMDMzNjJZMzYxMjc5RDAxKg0KK1kzNDIwMTREMDEqDQorWDMwMzI2M1kzNDIwMzhEMDEqDQorWDMwMjk0MVkzNDIwNjNEMDEqDQorWDMwMjYxOVkzNDIwMzhEMDEqDQorWDMwMjMwNlkzNDE5NjNEMDEqDQorWDMwMjAwN1kzNDE4MzlEMDEqDQorWDMwMTczMlkzNDE2NzFEMDEqDQorWDMwMTQ4N1kzNDE0NjFEMDEqDQorWDMwMTI3N1kzNDEyMTZEMDEqDQorWDMwMTEwOVkzNDA5NDFEMDEqDQorWDMwMDk4NVkzNDA2NDJEMDEqDQorWDMwMDkxMFkzNDAzMjlEMDEqDQorWDMwMDg4NVkzNDAwMDdEMDEqDQorWDMwMDkxMFkzMzk2ODVEMDEqDQorWDMwMDk4NVkzMzkzNzJEMDEqDQorWDMwMTEwOVkzMzkwNzNEMDEqDQorWDMwMTI3N1kzMzg3OThEMDEqDQorWDMwMTQ4N1kzMzg1NTNEMDEqDQorWDMwMTczMlkzMzgzNDNEMDEqDQorWDMwMjAwN1kzMzgxNzVEMDEqDQorWDMwMjMwNlkzMzgwNTFEMDEqDQorWDMwMjYxOVkzMzc5NzZEMDEqDQorWDMwMjk0MVkzMzc5NTFEMDEqDQorWDMwMzI2M1kzMzc5NzZEMDEqDQorWDMwMzM2MlkzMzgwMDBEMDEqDQorWTMzMjA1NkQwMSoNCitYMzAzMDQzWTMzMjAzMUQwMSoNCitYMzAyNzMwWTMzMTk1NkQwMSoNCitYMzAyNDMxWTMzMTgzMkQwMSoNCitYMzAyMTU2WTMzMTY2NEQwMSoNCitYMzAxOTExWTMzMTQ1NEQwMSoNCitYMzAxNzAxWTMzMTIwOUQwMSoNCitYMzAxNTMzWTMzMDkzNEQwMSoNCitYMzAxNDA5WTMzMDYzNUQwMSoNCitYMzAxMzM0WTMzMDMyMkQwMSoNCitYMzAxMzA5WTMzMDAwMEQwMSoNCitYMzAxMzM0WTMyOTY3OEQwMSoNCitYMzAxNDA5WTMyOTM2NUQwMSoNCitYMzAxNTMzWTMyOTA2NkQwMSoNCitYMzAxNzAxWTMyODc5MUQwMSoNCitYMzAxOTExWTMyODU0NkQwMSoNCitYMzAyMTU2WTMyODMzNkQwMSoNCitYMzAyNDMxWTMyODE2OEQwMSoNCitYMzAyNzMwWTMyODA0NEQwMSoNCitYMzAzMDQzWTMyNzk2OUQwMSoNCitYMzAzMzYyWTMyNzk0NEQwMSoNCitZMjExNzgxRDAxKg0KK1gzMDMyNDVZMjExNjQ0RDAxKg0KK1gzMDMwOTdZMjExNDAzRDAxKg0KK1gzMDI5ODlZMjExMTQxRDAxKg0KK1gzMDI5MjNZMjEwODY1RDAxKg0KK1gzMDI5MDBZMjEwNTgzRDAxKg0KK1gzMDI5MjNZMjEwMzAxRDAxKg0KK1gzMDI5ODlZMjEwMDI1RDAxKg0KK1gzMDMwOTdZMjA5NzYzRDAxKg0KK1gzMDMyNDVZMjA5NTIyRDAxKg0KK1gzMDMzNjJZMjA5Mzg1RDAxKg0KK1kyMDg4MDZEMDEqDQorWDMwMzMwN1kyMDg3NjBEMDEqDQorWDMwMzEyM1kyMDg1NDREMDEqDQorWDMwMjk3NVkyMDgzMDNEMDEqDQorWDMwMjg2N1kyMDgwNDFEMDEqDQorWDMwMjgwMVkyMDc3NjVEMDEqDQorWDMwMjc3OFkyMDc0ODNEMDEqDQorWDMwMjgwMVkyMDcyMDFEMDEqDQorWDMwMjg2N1kyMDY5MjVEMDEqDQorWDMwMjk3NVkyMDY2NjNEMDEqDQorWDMwMzEyM1kyMDY0MjJEMDEqDQorWDMwMzMwN1kyMDYyMDZEMDEqDQorWDMwMzM2MlkyMDYxNjBEMDEqDQorWTE4ODM3OUQwMSoNCitYMzAzMjY0WTE4ODMxOUQwMSoNCitYMzAyNzQ5WTE4Nzg3OUQwMSoNCitYMzAyMzA5WTE4NzM2NEQwMSoNCitYMzAxOTU2WTE4Njc4N0QwMSoNCitYMzAxNjk3WTE4NjE2MkQwMSoNCitYMzAxNTM5WTE4NTUwNEQwMSoNCitYMzAxNDg2WTE4NDgyOUQwMSoNCitYMzAxNTM5WTE4NDE1NEQwMSoNCitYMzAxNjk3WTE4MzQ5NkQwMSoNCitYMzAxOTU2WTE4Mjg3MUQwMSoNCitYMzAyMzA5WTE4MjI5NEQwMSoNCitYMzAyNzQ5WTE4MTc3OUQwMSoNCitYMzAzMjY0WTE4MTMzOUQwMSoNCitYMzAzMzYyWTE4MTI3OUQwMSoNCitZMTc4Mzc5RDAxKg0KK1gzMDMyNjRZMTc4MzE5RDAxKg0KK1gzMDI3NDlZMTc3ODc5RDAxKg0KK1gzMDIzMDlZMTc3MzY0RDAxKg0KK1gzMDE5NTZZMTc2Nzg3RDAxKg0KK1gzMDE2OTdZMTc2MTYyRDAxKg0KK1gzMDE1MzlZMTc1NTA0RDAxKg0KK1gzMDE0ODZZMTc0ODI5RDAxKg0KK1gzMDE1MzlZMTc0MTU0RDAxKg0KK1gzMDE2OTdZMTczNDk2RDAxKg0KK1gzMDE5NTZZMTcyODcxRDAxKg0KK1gzMDIzMDlZMTcyMjk0RDAxKg0KK1gzMDI3NDlZMTcxNzc5RDAxKg0KK1gzMDMyNjRZMTcxMzM5RDAxKg0KK1gzMDMzNjJZMTcxMjc5RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyOTU3OTJEMDIqWDI4NzkxNEQwMSoNCitZMTcxMDgyRDAxKg0KK1gyODgzMzRZMTcxMzM5RDAxKg0KK1gyODg4NDlZMTcxNzc5RDAxKg0KK1gyODkyODlZMTcyMjk0RDAxKg0KK1gyODk2NDJZMTcyODcxRDAxKg0KK1gyODk5MDFZMTczNDk2RDAxKg0KK1gyOTAwNTlZMTc0MTU0RDAxKg0KK1gyOTAwOTlZMTc0ODI5RDAxKg0KK1gyOTAwNTlZMTc1NTA0RDAxKg0KK1gyODk5MDFZMTc2MTYyRDAxKg0KK1gyODk2NDJZMTc2Nzg3RDAxKg0KK1gyODkyODlZMTc3MzY0RDAxKg0KK1gyODg4NDlZMTc3ODc5RDAxKg0KK1gyODgzMzRZMTc4MzE5RDAxKg0KK1gyODc5MTRZMTc4NTc2RDAxKg0KK1kxODEwODJEMDEqDQorWDI4ODMzNFkxODEzMzlEMDEqDQorWDI4ODg0OVkxODE3NzlEMDEqDQorWDI4OTI4OVkxODIyOTREMDEqDQorWDI4OTY0MlkxODI4NzFEMDEqDQorWDI4OTkwMVkxODM0OTZEMDEqDQorWDI5MDA1OVkxODQxNTREMDEqDQorWDI5MDA5OVkxODQ4MjlEMDEqDQorWDI5MDA1OVkxODU1MDREMDEqDQorWDI4OTkwMVkxODYxNjJEMDEqDQorWDI4OTY0MlkxODY3ODdEMDEqDQorWDI4OTI4OVkxODczNjREMDEqDQorWDI4ODg0OVkxODc4NzlEMDEqDQorWDI4ODMzNFkxODgzMTlEMDEqDQorWDI4NzkxNFkxODg1NzZEMDEqDQorWTMwNTc3M0QwMSoNCitYMjg3OTE3WTMwNTc3M0QwMSoNCitYMjg4MjM5WTMwNTc5OEQwMSoNCitYMjg4NTUyWTMwNTg3M0QwMSoNCitYMjg4ODUxWTMwNTk5N0QwMSoNCitYMjg5MTI2WTMwNjE2NUQwMSoNCitYMjg5MzcxWTMwNjM3NUQwMSoNCitYMjg5NTgxWTMwNjYyMEQwMSoNCitYMjg5NzQ5WTMwNjg5NUQwMSoNCitYMjg5ODczWTMwNzE5NEQwMSoNCitYMjg5OTQ4WTMwNzUwN0QwMSoNCitYMjg5OTY3WTMwNzgyOUQwMSoNCitYMjg5OTQ4WTMwODE1MUQwMSoNCitYMjg5ODczWTMwODQ2NEQwMSoNCitYMjg5NzQ5WTMwODc2M0QwMSoNCitYMjg5NTgxWTMwOTAzOEQwMSoNCitYMjg5MzcxWTMwOTI4M0QwMSoNCitYMjg5MTI2WTMwOTQ5M0QwMSoNCitYMjg4ODUxWTMwOTY2MUQwMSoNCitYMjg4NTUyWTMwOTc4NUQwMSoNCitYMjg4MjM5WTMwOTg2MEQwMSoNCitYMjg3OTE3WTMwOTg4NUQwMSoNCitYMjg3OTE0WTMwOTg4NUQwMSoNCitZMzYxMDgyRDAxKg0KK1gyODgzMzRZMzYxMzM5RDAxKg0KK1gyODg4NDlZMzYxNzc5RDAxKg0KK1gyODkyODlZMzYyMjk0RDAxKg0KK1gyODk2NDJZMzYyODcxRDAxKg0KK1gyODk5MDFZMzYzNDk2RDAxKg0KK1gyOTAwNTlZMzY0MTU0RDAxKg0KK1gyOTAwOTlZMzY0ODI5RDAxKg0KK1gyOTAwNTlZMzY1NTA0RDAxKg0KK1gyODk5MDFZMzY2MTYyRDAxKg0KK1gyODk2NDJZMzY2Nzg3RDAxKg0KK1gyODkyODlZMzY3MzY0RDAxKg0KK1gyODg4NDlZMzY3ODc5RDAxKg0KK1gyODgzMzRZMzY4MzE5RDAxKg0KK1gyODc5MTRZMzY4NTc2RDAxKg0KK1kzNzEwODJEMDEqDQorWDI4ODMzNFkzNzEzMzlEMDEqDQorWDI4ODg0OVkzNzE3NzlEMDEqDQorWDI4OTI4OVkzNzIyOTREMDEqDQorWDI4OTY0MlkzNzI4NzFEMDEqDQorWDI4OTkwMVkzNzM0OTZEMDEqDQorWDI5MDA1OVkzNzQxNTREMDEqDQorWDI5MDA5OVkzNzQ4MjlEMDEqDQorWDI5MDA1OVkzNzU1MDREMDEqDQorWDI4OTkwMVkzNzYxNjJEMDEqDQorWDI4OTY0MlkzNzY3ODdEMDEqDQorWDI4OTI4OVkzNzczNjREMDEqDQorWDI4ODg0OVkzNzc4NzlEMDEqDQorWDI4ODMzNFkzNzgzMTlEMDEqDQorWDI4NzkxNFkzNzg1NzZEMDEqDQorWTM5NzAwMEQwMSoNCitYMjk1NzkyRDAxKg0KK1kzNzkxNDJEMDEqDQorWDI5NTEyNFkzNzkwODlEMDEqDQorWDI5NDQ2NlkzNzg5MzFEMDEqDQorWDI5Mzg0MVkzNzg2NzJEMDEqDQorWDI5MzI2NFkzNzgzMTlEMDEqDQorWDI5Mjc0OVkzNzc4NzlEMDEqDQorWDI5MjMwOVkzNzczNjREMDEqDQorWDI5MTk1NlkzNzY3ODdEMDEqDQorWDI5MTY5N1kzNzYxNjJEMDEqDQorWDI5MTUzOVkzNzU1MDREMDEqDQorWDI5MTQ4NlkzNzQ4MjlEMDEqDQorWDI5MTUzOVkzNzQxNTREMDEqDQorWDI5MTY5N1kzNzM0OTZEMDEqDQorWDI5MTk1NlkzNzI4NzFEMDEqDQorWDI5MjMwOVkzNzIyOTREMDEqDQorWDI5Mjc0OVkzNzE3NzlEMDEqDQorWDI5MzI2NFkzNzEzMzlEMDEqDQorWDI5Mzg0MVkzNzA5ODZEMDEqDQorWDI5NDQ2NlkzNzA3MjdEMDEqDQorWDI5NTEyNFkzNzA1NjlEMDEqDQorWDI5NTc5MlkzNzA1MTZEMDEqDQorWTM2OTE0MkQwMSoNCitYMjk1MTI0WTM2OTA4OUQwMSoNCitYMjk0NDY2WTM2ODkzMUQwMSoNCitYMjkzODQxWTM2ODY3MkQwMSoNCitYMjkzMjY0WTM2ODMxOUQwMSoNCitYMjkyNzQ5WTM2Nzg3OUQwMSoNCitYMjkyMzA5WTM2NzM2NEQwMSoNCitYMjkxOTU2WTM2Njc4N0QwMSoNCitYMjkxNjk3WTM2NjE2MkQwMSoNCitYMjkxNTM5WTM2NTUwNEQwMSoNCitYMjkxNDg2WTM2NDgyOUQwMSoNCitYMjkxNTM5WTM2NDE1NEQwMSoNCitYMjkxNjk3WTM2MzQ5NkQwMSoNCitYMjkxOTU2WTM2Mjg3MUQwMSoNCitYMjkyMzA5WTM2MjI5NEQwMSoNCitYMjkyNzQ5WTM2MTc3OUQwMSoNCitYMjkzMjY0WTM2MTMzOUQwMSoNCitYMjkzODQxWTM2MDk4NkQwMSoNCitYMjk0NDY2WTM2MDcyN0QwMSoNCitYMjk1MTI0WTM2MDU2OUQwMSoNCitYMjk1NzkyWTM2MDUxNkQwMSoNCitZMzA2NzYzRDAxKg0KK1gyOTU1NzBZMzA2NjI3RDAxKg0KK1gyOTUzMjVZMzA2NDE3RDAxKg0KK1gyOTUxMTVZMzA2MTcyRDAxKg0KK1gyOTQ5NDdZMzA1ODk3RDAxKg0KK1gyOTQ4MjNZMzA1NTk4RDAxKg0KK1gyOTQ3NDhZMzA1Mjg1RDAxKg0KK1gyOTQ3MjNZMzA0OTYzRDAxKg0KK1gyOTQ3NDhZMzA0NjQxRDAxKg0KK1gyOTQ4MjNZMzA0MzI4RDAxKg0KK1gyOTQ5NDdZMzA0MDI5RDAxKg0KK1gyOTUxMTVZMzAzNzU0RDAxKg0KK1gyOTUzMjVZMzAzNTA5RDAxKg0KK1gyOTU1NzBZMzAzMjk5RDAxKg0KK1gyOTU3OTJZMzAzMTYzRDAxKg0KK1kyODMwNTZEMDEqDQorWDI5NTczNFkyODMxOTdEMDEqDQorWDI5NTU2NlkyODM0NzJEMDEqDQorWDI5NTM1NlkyODM3MTdEMDEqDQorWDI5NTExMVkyODM5MjdEMDEqDQorWDI5NDgzNlkyODQwOTVEMDEqDQorWDI5NDUzN1kyODQyMTlEMDEqDQorWDI5NDIyNFkyODQyOTREMDEqDQorWDI5MzkwMlkyODQzMTlEMDEqDQorWDI5MzU4MFkyODQyOTREMDEqDQorWDI5MzI2N1kyODQyMTlEMDEqDQorWDI5Mjk2OFkyODQwOTVEMDEqDQorWDI5MjY5M1kyODM5MjdEMDEqDQorWDI5MjQ0OFkyODM3MTdEMDEqDQorWDI5MjIzOFkyODM0NzJEMDEqDQorWDI5MjA3MFkyODMxOTdEMDEqDQorWDI5MTk0NlkyODI4OThEMDEqDQorWDI5MTg3MVkyODI1ODVEMDEqDQorWDI5MTg0NlkyODIyNjNEMDEqDQorWDI5MTg3MVkyODE5NDFEMDEqDQorWDI5MTk0NlkyODE2MjhEMDEqDQorWDI5MjA3MFkyODEzMjlEMDEqDQorWDI5MjIzOFkyODEwNTREMDEqDQorWDI5MjQ0OFkyODA4MDlEMDEqDQorWDI5MjY5M1kyODA1OTlEMDEqDQorWDI5Mjk2OFkyODA0MzFEMDEqDQorWDI5MzI2N1kyODAzMDdEMDEqDQorWDI5MzU4MFkyODAyMzJEMDEqDQorWDI5MzkwMlkyODAyMDdEMDEqDQorWDI5NDIyNFkyODAyMzJEMDEqDQorWDI5NDUzN1kyODAzMDdEMDEqDQorWDI5NDgzNlkyODA0MzFEMDEqDQorWDI5NTExMVkyODA1OTlEMDEqDQorWDI5NTM1NlkyODA4MDlEMDEqDQorWDI5NTU2NlkyODEwNTREMDEqDQorWDI5NTczNFkyODEzMjlEMDEqDQorWDI5NTc5MlkyODE0NzBEMDEqDQorWTI1ODA1OUQwMSoNCitYMjk1NTE4WTI1Nzg5MUQwMSoNCitYMjk1MjczWTI1NzY4MUQwMSoNCitYMjk1MDYzWTI1NzQzNkQwMSoNCitYMjk0ODk1WTI1NzE2MUQwMSoNCitYMjk0NzcxWTI1Njg2MkQwMSoNCitYMjk0Njk2WTI1NjU0OUQwMSoNCitYMjk0NjcxWTI1NjIyN0QwMSoNCitYMjk0Njk2WTI1NTkwNUQwMSoNCitYMjk0NzcxWTI1NTU5MkQwMSoNCitYMjk0ODk1WTI1NTI5M0QwMSoNCitYMjk1MDYzWTI1NTAxOEQwMSoNCitYMjk1MjczWTI1NDc3M0QwMSoNCitYMjk1NTE4WTI1NDU2M0QwMSoNCitYMjk1NzkyWTI1NDM5NUQwMSoNCitZMjQ1NjczRDAxKg0KK1gyOTU2MTVZMjQ1NjU5RDAxKg0KK1gyOTUzMDJZMjQ1NTg0RDAxKg0KK1gyOTUwMDNZMjQ1NDYwRDAxKg0KK1gyOTQ3MjhZMjQ1MjkyRDAxKg0KK1gyOTQ0ODNZMjQ1MDgyRDAxKg0KK1gyOTQyNzNZMjQ0ODM3RDAxKg0KK1gyOTQxMDVZMjQ0NTYyRDAxKg0KK1gyOTM5ODFZMjQ0MjYzRDAxKg0KK1gyOTM5MDZZMjQzOTUwRDAxKg0KK1gyOTM4ODFZMjQzNjI4RDAxKg0KK1gyOTM5MDZZMjQzMzA2RDAxKg0KK1gyOTM5ODFZMjQyOTkzRDAxKg0KK1gyOTQxMDVZMjQyNjk0RDAxKg0KK1gyOTQyNzNZMjQyNDE5RDAxKg0KK1gyOTQ0ODNZMjQyMTc0RDAxKg0KK1gyOTQ3MjhZMjQxOTY0RDAxKg0KK1gyOTUwMDNZMjQxNzk2RDAxKg0KK1gyOTUzMDJZMjQxNjcyRDAxKg0KK1gyOTU2MTVZMjQxNTk3RDAxKg0KK1gyOTU3OTJZMjQxNTgzRDAxKg0KK1kxODkxNDJEMDEqDQorWDI5NTEyNFkxODkwODlEMDEqDQorWDI5NDQ2NlkxODg5MzFEMDEqDQorWDI5Mzg0MVkxODg2NzJEMDEqDQorWDI5MzI2NFkxODgzMTlEMDEqDQorWDI5Mjc0OVkxODc4NzlEMDEqDQorWDI5MjMwOVkxODczNjREMDEqDQorWDI5MTk1NlkxODY3ODdEMDEqDQorWDI5MTY5N1kxODYxNjJEMDEqDQorWDI5MTUzOVkxODU1MDREMDEqDQorWDI5MTQ4NlkxODQ4MjlEMDEqDQorWDI5MTUzOVkxODQxNTREMDEqDQorWDI5MTY5N1kxODM0OTZEMDEqDQorWDI5MTk1NlkxODI4NzFEMDEqDQorWDI5MjMwOVkxODIyOTREMDEqDQorWDI5Mjc0OVkxODE3NzlEMDEqDQorWDI5MzI2NFkxODEzMzlEMDEqDQorWDI5Mzg0MVkxODA5ODZEMDEqDQorWDI5NDQ2NlkxODA3MjdEMDEqDQorWDI5NTEyNFkxODA1NjlEMDEqDQorWDI5NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjk1MTI0WTE3OTA4OUQwMSoNCitYMjk0NDY2WTE3ODkzMUQwMSoNCitYMjkzODQxWTE3ODY3MkQwMSoNCitYMjkzMjY0WTE3ODMxOUQwMSoNCitYMjkyNzQ5WTE3Nzg3OUQwMSoNCitYMjkyMzA5WTE3NzM2NEQwMSoNCitYMjkxOTU2WTE3Njc4N0QwMSoNCitYMjkxNjk3WTE3NjE2MkQwMSoNCitYMjkxNTM5WTE3NTUwNEQwMSoNCitYMjkxNDg2WTE3NDgyOUQwMSoNCitYMjkxNTM5WTE3NDE1NEQwMSoNCitYMjkxNjk3WTE3MzQ5NkQwMSoNCitYMjkxOTU2WTE3Mjg3MUQwMSoNCitYMjkyMzA5WTE3MjI5NEQwMSoNCitYMjkyNzQ5WTE3MTc3OUQwMSoNCitYMjkzMjY0WTE3MTMzOUQwMSoNCitYMjkzODQxWTE3MDk4NkQwMSoNCitYMjk0NDY2WTE3MDcyN0QwMSoNCitYMjk1MTI0WTE3MDU2OUQwMSoNCitYMjk1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjg3OTE0WTM3ODU3NkQwMipYMjg3NzU3WTM3ODY3MkQwMSoNCitYMjg3MTMyWTM3ODkzMUQwMSoNCitYMjg2NDc0WTM3OTA4OUQwMSoNCitYMjg1Nzk5WTM3OTE0MkQwMSoNCitYMjg1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gyODc5MTREMDEqDQorWTM3ODU3NkQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjg1NzZEMDIqWDI4Nzc1N1kzNjg2NzJEMDEqDQorWDI4NzEzMlkzNjg5MzFEMDEqDQorWDI4NjQ3NFkzNjkwODlEMDEqDQorWDI4NTc5OVkzNjkxNDJEMDEqDQorWDI4NTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMjg1Nzk5WTM3MDUxNkQwMSoNCitYMjg2NDc0WTM3MDU2OUQwMSoNCitYMjg3MTMyWTM3MDcyN0QwMSoNCitYMjg3NzU3WTM3MDk4NkQwMSoNCitYMjg3OTE0WTM3MTA4MkQwMSoNCitZMzY4NTc2RDAxKg0KK0czNyoNCitHMzYqDQorWTE4ODU3NkQwMipYMjg3NzU3WTE4ODY3MkQwMSoNCitYMjg3MTMyWTE4ODkzMUQwMSoNCitYMjg2NDc0WTE4OTA4OUQwMSoNCitYMjg1Nzk5WTE4OTE0MkQwMSoNCitYMjg1NzkyWTE4OTE0MkQwMSoNCitZMzIyOTc5RDAxKg0KK1gyODYwNjVZMzIzMDQ0RDAxKg0KK1gyODYzNjRZMzIzMTY4RDAxKg0KK1gyODY2MzlZMzIzMzM2RDAxKg0KK1gyODY4ODRZMzIzNTQ2RDAxKg0KK1gyODcwOTRZMzIzNzkxRDAxKg0KK1gyODcyNjJZMzI0MDY2RDAxKg0KK1gyODczODZZMzI0MzY1RDAxKg0KK1gyODc0NjFZMzI0Njc4RDAxKg0KK1gyODc0ODBZMzI1MDAwRDAxKg0KK1gyODc0NjFZMzI1MzIyRDAxKg0KK1gyODczODZZMzI1NjM1RDAxKg0KK1gyODcyNjJZMzI1OTM0RDAxKg0KK1gyODcwOTRZMzI2MjA5RDAxKg0KK1gyODY4ODRZMzI2NDU0RDAxKg0KK1gyODY2MzlZMzI2NjY0RDAxKg0KK1gyODYzNjRZMzI2ODMyRDAxKg0KK1gyODYwNjVZMzI2OTU2RDAxKg0KK1gyODU3OTJZMzI3MDIxRDAxKg0KK1kzNjA1MTZEMDEqDQorWDI4NTc5OVkzNjA1MTZEMDEqDQorWDI4NjQ3NFkzNjA1NjlEMDEqDQorWDI4NzEzMlkzNjA3MjdEMDEqDQorWDI4Nzc1N1kzNjA5ODZEMDEqDQorWDI4NzkxNFkzNjEwODJEMDEqDQorWTMwOTg4NUQwMSoNCitYMjg3NTk1WTMwOTg2MEQwMSoNCitYMjg3MjgyWTMwOTc4NUQwMSoNCitYMjg2OTgzWTMwOTY2MUQwMSoNCitYMjg2NzA4WTMwOTQ5M0QwMSoNCitYMjg2NDYzWTMwOTI4M0QwMSoNCitYMjg2MjUzWTMwOTAzOEQwMSoNCitYMjg2MDg1WTMwODc2M0QwMSoNCitYMjg1OTYxWTMwODQ2NEQwMSoNCitYMjg1ODg2WTMwODE1MUQwMSoNCitYMjg1ODYxWTMwNzgyOUQwMSoNCitYMjg1ODg2WTMwNzUwN0QwMSoNCitYMjg1OTYxWTMwNzE5NEQwMSoNCitYMjg2MDg1WTMwNjg5NUQwMSoNCitYMjg2MjUzWTMwNjYyMEQwMSoNCitYMjg2NDYzWTMwNjM3NUQwMSoNCitYMjg2NzA4WTMwNjE2NUQwMSoNCitYMjg2OTgzWTMwNTk5N0QwMSoNCitYMjg3MjgyWTMwNTg3M0QwMSoNCitYMjg3NTk1WTMwNTc5OEQwMSoNCitYMjg3OTE0WTMwNTc3M0QwMSoNCitZMTg4NTc2RDAxKg0KK0czNyoNCitHMzYqDQorWTE3ODU3NkQwMipYMjg3NzU3WTE3ODY3MkQwMSoNCitYMjg3MTMyWTE3ODkzMUQwMSoNCitYMjg2NDc0WTE3OTA4OUQwMSoNCitYMjg1Nzk5WTE3OTE0MkQwMSoNCitYMjg1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gyODU3OTlZMTgwNTE2RDAxKg0KK1gyODY0NzRZMTgwNTY5RDAxKg0KK1gyODcxMzJZMTgwNzI3RDAxKg0KK1gyODc3NTdZMTgwOTg2RDAxKg0KK1gyODc5MTRZMTgxMDgyRDAxKg0KK1kxNzg1NzZEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDI4NTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gyODU3OTlZMTcwNTE2RDAxKg0KK1gyODY0NzRZMTcwNTY5RDAxKg0KK1gyODcxMzJZMTcwNzI3RDAxKg0KK1gyODc3NTdZMTcwOTg2RDAxKg0KK1gyODc5MTRZMTcxMDgyRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyODU3OTJEMDIqWDI3ODIyMkQwMSoNCitZMTcxMjcxRDAxKg0KK1gyNzgzMzRZMTcxMzM5RDAxKg0KK1gyNzg4NDlZMTcxNzc5RDAxKg0KK1gyNzkyODlZMTcyMjk0RDAxKg0KK1gyNzk2NDJZMTcyODcxRDAxKg0KK1gyNzk5MDFZMTczNDk2RDAxKg0KK1gyODAwNTlZMTc0MTU0RDAxKg0KK1gyODAwOTlZMTc0ODI5RDAxKg0KK1gyODAwNTlZMTc1NTA0RDAxKg0KK1gyNzk5MDFZMTc2MTYyRDAxKg0KK1gyNzk2NDJZMTc2Nzg3RDAxKg0KK1gyNzkyODlZMTc3MzY0RDAxKg0KK1gyNzg4NDlZMTc3ODc5RDAxKg0KK1gyNzgzMzRZMTc4MzE5RDAxKg0KK1gyNzgyMjJZMTc4Mzg3RDAxKg0KK1kxODEyNzFEMDEqDQorWDI3ODMzNFkxODEzMzlEMDEqDQorWDI3ODg0OVkxODE3NzlEMDEqDQorWDI3OTI4OVkxODIyOTREMDEqDQorWDI3OTY0MlkxODI4NzFEMDEqDQorWDI3OTkwMVkxODM0OTZEMDEqDQorWDI4MDA1OVkxODQxNTREMDEqDQorWDI4MDA5OVkxODQ4MjlEMDEqDQorWDI4MDA1OVkxODU1MDREMDEqDQorWDI3OTkwMVkxODYxNjJEMDEqDQorWDI3OTY0MlkxODY3ODdEMDEqDQorWDI3OTI4OVkxODczNjREMDEqDQorWDI3ODg0OVkxODc4NzlEMDEqDQorWDI3ODMzNFkxODgzMTlEMDEqDQorWDI3ODIyMlkxODgzODdEMDEqDQorWTI3NzU0NkQwMSoNCitYMjc4MjI1WTI3NzU0NkQwMSoNCitYMjc4NTQ3WTI3NzU3MUQwMSoNCitYMjc4ODYwWTI3NzY0NkQwMSoNCitYMjc5MTU5WTI3Nzc3MEQwMSoNCitYMjc5NDM0WTI3NzkzOEQwMSoNCitYMjc5Njc5WTI3ODE0OEQwMSoNCitYMjc5ODg5WTI3ODM5M0QwMSoNCitYMjgwMDU3WTI3ODY2OEQwMSoNCitYMjgwMTgxWTI3ODk2N0QwMSoNCitYMjgwMjU2WTI3OTI4MEQwMSoNCitYMjgwMjc1WTI3OTYwMkQwMSoNCitYMjgwMjU2WTI3OTkyNEQwMSoNCitYMjgwMTgxWTI4MDIzN0QwMSoNCitYMjgwMDU3WTI4MDUzNkQwMSoNCitYMjc5ODg5WTI4MDgxMUQwMSoNCitYMjc5Njc5WTI4MTA1NkQwMSoNCitYMjc5NDM0WTI4MTI2NkQwMSoNCitYMjc5MTU5WTI4MTQzNEQwMSoNCitYMjc4ODYwWTI4MTU1OEQwMSoNCitYMjc4NTQ3WTI4MTYzM0QwMSoNCitYMjc4MjI1WTI4MTY1OEQwMSoNCitYMjc4MjIyWTI4MTY1OEQwMSoNCitZMjgzNjc0RDAxKg0KK1gyNzgzODBZMjgzNTM5RDAxKg0KK1gyNzg2MjFZMjgzMzkxRDAxKg0KK1gyNzg4ODNZMjgzMjgzRDAxKg0KK1gyNzkxNTlZMjgzMjE3RDAxKg0KK1gyNzk0NDFZMjgzMTk0RDAxKg0KK1gyNzk3MjNZMjgzMjE3RDAxKg0KK1gyNzk5OTlZMjgzMjgzRDAxKg0KK1gyODAyNjFZMjgzMzkxRDAxKg0KK1gyODA1MDJZMjgzNTM5RDAxKg0KK1gyODA3MThZMjgzNzIzRDAxKg0KK1gyODA5MDJZMjgzOTM5RDAxKg0KK1gyODEwNTBZMjg0MTgwRDAxKg0KK1gyODExNThZMjg0NDQyRDAxKg0KK1gyODEyMjRZMjg0NzE4RDAxKg0KK1gyODEyNDFZMjg1MDAwRDAxKg0KK1gyODEyMjRZMjg1MjgyRDAxKg0KK1gyODExNThZMjg1NTU4RDAxKg0KK1gyODEwNTBZMjg1ODIwRDAxKg0KK1gyODA5MDJZMjg2MDYxRDAxKg0KK1gyODA3MThZMjg2Mjc3RDAxKg0KK1gyODA1MDJZMjg2NDYxRDAxKg0KK1gyODAyNjFZMjg2NjA5RDAxKg0KK1gyNzk5OTlZMjg2NzE3RDAxKg0KK1gyNzk3MjNZMjg2NzgzRDAxKg0KK1gyNzk0NDFZMjg2ODA2RDAxKg0KK1gyNzkxNTlZMjg2NzgzRDAxKg0KK1gyNzg4ODNZMjg2NzE3RDAxKg0KK1gyNzg2MjFZMjg2NjA5RDAxKg0KK1gyNzgzODBZMjg2NDYxRDAxKg0KK1gyNzgyMjJZMjg2MzI2RDAxKg0KK1kyOTY1NTdEMDEqDQorWDI3ODUyOVkyOTY1ODFEMDEqDQorWDI3ODg0MlkyOTY2NTZEMDEqDQorWDI3OTE0MVkyOTY3ODBEMDEqDQorWDI3OTQxNlkyOTY5NDhEMDEqDQorWDI3OTY2MVkyOTcxNThEMDEqDQorWDI3OTg3MVkyOTc0MDNEMDEqDQorWDI4MDAzOVkyOTc2NzhEMDEqDQorWDI4MDE2M1kyOTc5NzdEMDEqDQorWDI4MDIzOFkyOTgyOTBEMDEqDQorWDI4MDI1N1kyOTg2MTJEMDEqDQorWDI4MDIzOFkyOTg5MzREMDEqDQorWDI4MDE2M1kyOTkyNDdEMDEqDQorWDI4MDAzOVkyOTk1NDZEMDEqDQorWDI3OTg3MVkyOTk4MjFEMDEqDQorWDI3OTY2MVkzMDAwNjZEMDEqDQorWDI3OTQxNlkzMDAyNzZEMDEqDQorWDI3OTE0MVkzMDA0NDREMDEqDQorWDI3ODg0MlkzMDA1NjhEMDEqDQorWDI3ODUyOVkzMDA2NDNEMDEqDQorWDI3ODIyMlkzMDA2NjdEMDEqDQorWTMwNjQ1N0QwMSoNCitYMjc4MzgzWTMwNjU1NUQwMSoNCitYMjc4NjI4WTMwNjc2NUQwMSoNCitYMjc4ODM4WTMwNzAxMEQwMSoNCitYMjc5MDA2WTMwNzI4NUQwMSoNCitYMjc5MTMwWTMwNzU4NEQwMSoNCitYMjc5MjA1WTMwNzg5N0QwMSoNCitYMjc5MjI0WTMwODIxOUQwMSoNCitYMjc5MjA1WTMwODU0MUQwMSoNCitYMjc5MTMwWTMwODg1NEQwMSoNCitYMjc5MDA2WTMwOTE1M0QwMSoNCitYMjc4ODM4WTMwOTQyOEQwMSoNCitYMjc4NjI4WTMwOTY3M0QwMSoNCitYMjc4MzgzWTMwOTg4M0QwMSoNCitYMjc4MjIyWTMwOTk4MUQwMSoNCitZMzQ1NjAxRDAxKg0KK1gyNzgzODNZMzQ1NjY4RDAxKg0KK1gyNzg2NThZMzQ1ODM2RDAxKg0KK1gyNzg5MDNZMzQ2MDQ2RDAxKg0KK1gyNzkxMTNZMzQ2MjkxRDAxKg0KK1gyNzkyODFZMzQ2NTY2RDAxKg0KK1gyNzk0MDVZMzQ2ODY1RDAxKg0KK1gyNzk0ODBZMzQ3MTc4RDAxKg0KK1gyNzk0OTlZMzQ3NTAwRDAxKg0KK1gyNzk0ODBZMzQ3ODIyRDAxKg0KK1gyNzk0MDVZMzQ4MTM1RDAxKg0KK1gyNzkyODFZMzQ4NDM0RDAxKg0KK1gyNzkxMTNZMzQ4NzA5RDAxKg0KK1gyNzg5MDNZMzQ4OTU0RDAxKg0KK1gyNzg2NThZMzQ5MTY0RDAxKg0KK1gyNzgzODNZMzQ5MzMyRDAxKg0KK1gyNzgyMjJZMzQ5Mzk5RDAxKg0KK1kzNjEyNzFEMDEqDQorWDI3ODMzNFkzNjEzMzlEMDEqDQorWDI3ODg0OVkzNjE3NzlEMDEqDQorWDI3OTI4OVkzNjIyOTREMDEqDQorWDI3OTY0MlkzNjI4NzFEMDEqDQorWDI3OTkwMVkzNjM0OTZEMDEqDQorWDI4MDA1OVkzNjQxNTREMDEqDQorWDI4MDA5OVkzNjQ4MjlEMDEqDQorWDI4MDA1OVkzNjU1MDREMDEqDQorWDI3OTkwMVkzNjYxNjJEMDEqDQorWDI3OTY0MlkzNjY3ODdEMDEqDQorWDI3OTI4OVkzNjczNjREMDEqDQorWDI3ODg0OVkzNjc4NzlEMDEqDQorWDI3ODMzNFkzNjgzMTlEMDEqDQorWDI3ODIyMlkzNjgzODdEMDEqDQorWTM3MTI3MUQwMSoNCitYMjc4MzM0WTM3MTMzOUQwMSoNCitYMjc4ODQ5WTM3MTc3OUQwMSoNCitYMjc5Mjg5WTM3MjI5NEQwMSoNCitYMjc5NjQyWTM3Mjg3MUQwMSoNCitYMjc5OTAxWTM3MzQ5NkQwMSoNCitYMjgwMDU5WTM3NDE1NEQwMSoNCitYMjgwMDk5WTM3NDgyOUQwMSoNCitYMjgwMDU5WTM3NTUwNEQwMSoNCitYMjc5OTAxWTM3NjE2MkQwMSoNCitYMjc5NjQyWTM3Njc4N0QwMSoNCitYMjc5Mjg5WTM3NzM2NEQwMSoNCitYMjc4ODQ5WTM3Nzg3OUQwMSoNCitYMjc4MzM0WTM3ODMxOUQwMSoNCitYMjc4MjIyWTM3ODM4N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gyODU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMjg1MTI0WTM3OTA4OUQwMSoNCitYMjg0NDY2WTM3ODkzMUQwMSoNCitYMjgzODQxWTM3ODY3MkQwMSoNCitYMjgzMjY0WTM3ODMxOUQwMSoNCitYMjgyNzQ5WTM3Nzg3OUQwMSoNCitYMjgyMzA5WTM3NzM2NEQwMSoNCitYMjgxOTU2WTM3Njc4N0QwMSoNCitYMjgxNjk3WTM3NjE2MkQwMSoNCitYMjgxNTM5WTM3NTUwNEQwMSoNCitYMjgxNDg2WTM3NDgyOUQwMSoNCitYMjgxNTM5WTM3NDE1NEQwMSoNCitYMjgxNjk3WTM3MzQ5NkQwMSoNCitYMjgxOTU2WTM3Mjg3MUQwMSoNCitYMjgyMzA5WTM3MjI5NEQwMSoNCitYMjgyNzQ5WTM3MTc3OUQwMSoNCitYMjgzMjY0WTM3MTMzOUQwMSoNCitYMjgzODQxWTM3MDk4NkQwMSoNCitYMjg0NDY2WTM3MDcyN0QwMSoNCitYMjg1MTI0WTM3MDU2OUQwMSoNCitYMjg1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gyODUxMjRZMzY5MDg5RDAxKg0KK1gyODQ0NjZZMzY4OTMxRDAxKg0KK1gyODM4NDFZMzY4NjcyRDAxKg0KK1gyODMyNjRZMzY4MzE5RDAxKg0KK1gyODI3NDlZMzY3ODc5RDAxKg0KK1gyODIzMDlZMzY3MzY0RDAxKg0KK1gyODE5NTZZMzY2Nzg3RDAxKg0KK1gyODE2OTdZMzY2MTYyRDAxKg0KK1gyODE1MzlZMzY1NTA0RDAxKg0KK1gyODE0ODZZMzY0ODI5RDAxKg0KK1gyODE1MzlZMzY0MTU0RDAxKg0KK1gyODE2OTdZMzYzNDk2RDAxKg0KK1gyODE5NTZZMzYyODcxRDAxKg0KK1gyODIzMDlZMzYyMjk0RDAxKg0KK1gyODI3NDlZMzYxNzc5RDAxKg0KK1gyODMyNjRZMzYxMzM5RDAxKg0KK1gyODM4NDFZMzYwOTg2RDAxKg0KK1gyODQ0NjZZMzYwNzI3RDAxKg0KK1gyODUxMjRZMzYwNTY5RDAxKg0KK1gyODU3OTJZMzYwNTE2RDAxKg0KK1kzMjcwMjFEMDEqDQorWDI4NTc1MlkzMjcwMzFEMDEqDQorWDI4NTQzMFkzMjcwNTZEMDEqDQorWDI4NTEwOFkzMjcwMzFEMDEqDQorWDI4NDc5NVkzMjY5NTZEMDEqDQorWDI4NDQ5NlkzMjY4MzJEMDEqDQorWDI4NDIyMVkzMjY2NjREMDEqDQorWDI4Mzk3NlkzMjY0NTREMDEqDQorWDI4Mzc2NlkzMjYyMDlEMDEqDQorWDI4MzU5OFkzMjU5MzREMDEqDQorWDI4MzQ3NFkzMjU2MzVEMDEqDQorWDI4MzM5OVkzMjUzMjJEMDEqDQorWDI4MzM3NFkzMjUwMDBEMDEqDQorWDI4MzM5OVkzMjQ2NzhEMDEqDQorWDI4MzQ3NFkzMjQzNjVEMDEqDQorWDI4MzU5OFkzMjQwNjZEMDEqDQorWDI4Mzc2NlkzMjM3OTFEMDEqDQorWDI4Mzk3NlkzMjM1NDZEMDEqDQorWDI4NDIyMVkzMjMzMzZEMDEqDQorWDI4NDQ5NlkzMjMxNjhEMDEqDQorWDI4NDc5NVkzMjMwNDREMDEqDQorWDI4NTEwOFkzMjI5NjlEMDEqDQorWDI4NTQzMFkzMjI5NDREMDEqDQorWDI4NTc1MlkzMjI5NjlEMDEqDQorWDI4NTc5MlkzMjI5NzlEMDEqDQorWTE4OTE0MkQwMSoNCitYMjg1MTI0WTE4OTA4OUQwMSoNCitYMjg0NDY2WTE4ODkzMUQwMSoNCitYMjgzODQxWTE4ODY3MkQwMSoNCitYMjgzMjY0WTE4ODMxOUQwMSoNCitYMjgyNzQ5WTE4Nzg3OUQwMSoNCitYMjgyMzA5WTE4NzM2NEQwMSoNCitYMjgxOTU2WTE4Njc4N0QwMSoNCitYMjgxNjk3WTE4NjE2MkQwMSoNCitYMjgxNTM5WTE4NTUwNEQwMSoNCitYMjgxNDg2WTE4NDgyOUQwMSoNCitYMjgxNTM5WTE4NDE1NEQwMSoNCitYMjgxNjk3WTE4MzQ5NkQwMSoNCitYMjgxOTU2WTE4Mjg3MUQwMSoNCitYMjgyMzA5WTE4MjI5NEQwMSoNCitYMjgyNzQ5WTE4MTc3OUQwMSoNCitYMjgzMjY0WTE4MTMzOUQwMSoNCitYMjgzODQxWTE4MDk4NkQwMSoNCitYMjg0NDY2WTE4MDcyN0QwMSoNCitYMjg1MTI0WTE4MDU2OUQwMSoNCitYMjg1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gyODUxMjRZMTc5MDg5RDAxKg0KK1gyODQ0NjZZMTc4OTMxRDAxKg0KK1gyODM4NDFZMTc4NjcyRDAxKg0KK1gyODMyNjRZMTc4MzE5RDAxKg0KK1gyODI3NDlZMTc3ODc5RDAxKg0KK1gyODIzMDlZMTc3MzY0RDAxKg0KK1gyODE5NTZZMTc2Nzg3RDAxKg0KK1gyODE2OTdZMTc2MTYyRDAxKg0KK1gyODE1MzlZMTc1NTA0RDAxKg0KK1gyODE0ODZZMTc0ODI5RDAxKg0KK1gyODE1MzlZMTc0MTU0RDAxKg0KK1gyODE2OTdZMTczNDk2RDAxKg0KK1gyODE5NTZZMTcyODcxRDAxKg0KK1gyODIzMDlZMTcyMjk0RDAxKg0KK1gyODI3NDlZMTcxNzc5RDAxKg0KK1gyODMyNjRZMTcxMzM5RDAxKg0KK1gyODM4NDFZMTcwOTg2RDAxKg0KK1gyODQ0NjZZMTcwNzI3RDAxKg0KK1gyODUxMjRZMTcwNTY5RDAxKg0KK1gyODU3OTJZMTcwNTE2RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNzgyMjJZMzc4Mzg3RDAyKlgyNzc3NTdZMzc4NjcyRDAxKg0KK1gyNzcxMzJZMzc4OTMxRDAxKg0KK1gyNzY0NzRZMzc5MDg5RDAxKg0KK1gyNzU3OTlZMzc5MTQyRDAxKg0KK1gyNzU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDI3ODIyMkQwMSoNCitZMzc4Mzg3RDAxKg0KK0czNyoNCitHMzYqDQorWTM2ODM4N0QwMipYMjc3NzU3WTM2ODY3MkQwMSoNCitYMjc3MTMyWTM2ODkzMUQwMSoNCitYMjc2NDc0WTM2OTA4OUQwMSoNCitYMjc1Nzk5WTM2OTE0MkQwMSoNCitYMjc1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gyNzU3OTlZMzcwNTE2RDAxKg0KK1gyNzY0NzRZMzcwNTY5RDAxKg0KK1gyNzcxMzJZMzcwNzI3RDAxKg0KK1gyNzc3NTdZMzcwOTg2RDAxKg0KK1gyNzgyMjJZMzcxMjcxRDAxKg0KK1kzNjgzODdEMDEqDQorRzM3Kg0KK0czNioNCitZMzQ5Mzk5RDAyKlgyNzgwODRZMzQ5NDU2RDAxKg0KK1gyNzc3NzFZMzQ5NTMxRDAxKg0KK1gyNzc0NDlZMzQ5NTU2RDAxKg0KK1gyNzcxMjdZMzQ5NTMxRDAxKg0KK1gyNzY4MTRZMzQ5NDU2RDAxKg0KK1gyNzY1MTVZMzQ5MzMyRDAxKg0KK1gyNzYyNDBZMzQ5MTY0RDAxKg0KK1gyNzU5OTVZMzQ4OTU0RDAxKg0KK1gyNzU3OTJZMzQ4NzE3RDAxKg0KK1kzNjA1MTZEMDEqDQorWDI3NTc5OVkzNjA1MTZEMDEqDQorWDI3NjQ3NFkzNjA1NjlEMDEqDQorWDI3NzEzMlkzNjA3MjdEMDEqDQorWDI3Nzc1N1kzNjA5ODZEMDEqDQorWDI3ODIyMlkzNjEyNzFEMDEqDQorWTM0OTM5OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMDk5ODFEMDIqWDI3ODEwOFkzMTAwNTFEMDEqDQorWDI3NzgwOVkzMTAxNzVEMDEqDQorWDI3NzQ5NlkzMTAyNTBEMDEqDQorWDI3NzE3NFkzMTAyNzVEMDEqDQorWDI3Njg1MlkzMTAyNTBEMDEqDQorWDI3NjUzOVkzMTAxNzVEMDEqDQorWDI3NjI0MFkzMTAwNTFEMDEqDQorWDI3NTk2NVkzMDk4ODNEMDEqDQorWDI3NTc5MlkzMDk3MzVEMDEqDQorWTM0NjI4M0QwMSoNCitYMjc1OTk1WTM0NjA0NkQwMSoNCitYMjc2MjQwWTM0NTgzNkQwMSoNCitYMjc2NTE1WTM0NTY2OEQwMSoNCitYMjc2ODE0WTM0NTU0NEQwMSoNCitYMjc3MTI3WTM0NTQ2OUQwMSoNCitYMjc3NDQ5WTM0NTQ0NEQwMSoNCitYMjc3NzcxWTM0NTQ2OUQwMSoNCitYMjc4MDg0WTM0NTU0NEQwMSoNCitYMjc4MjIyWTM0NTYwMUQwMSoNCitZMzA5OTgxRDAxKg0KK0czNyoNCitHMzYqDQorWTE4ODM4N0QwMipYMjc3NzU3WTE4ODY3MkQwMSoNCitYMjc3MTMyWTE4ODkzMUQwMSoNCitYMjc2NDc0WTE4OTA4OUQwMSoNCitYMjc1Nzk5WTE4OTE0MkQwMSoNCitYMjc1NzkyWTE4OTE0MkQwMSoNCitZMzA2NzAzRDAxKg0KK1gyNzU5NjVZMzA2NTU1RDAxKg0KK1gyNzYyNDBZMzA2Mzg3RDAxKg0KK1gyNzY1MzlZMzA2MjYzRDAxKg0KK1gyNzY4NTJZMzA2MTg4RDAxKg0KK1gyNzcxNzRZMzA2MTYzRDAxKg0KK1gyNzc0OTZZMzA2MTg4RDAxKg0KK1gyNzc4MDlZMzA2MjYzRDAxKg0KK1gyNzgxMDhZMzA2Mzg3RDAxKg0KK1gyNzgyMjJZMzA2NDU3RDAxKg0KK1kzMDA2NjdEMDEqDQorWDI3ODIwN1kzMDA2NjhEMDEqDQorWDI3Nzg4NVkzMDA2NDNEMDEqDQorWDI3NzU3MlkzMDA1NjhEMDEqDQorWDI3NzI3M1kzMDA0NDREMDEqDQorWDI3Njk5OFkzMDAyNzZEMDEqDQorWDI3Njc1M1kzMDAwNjZEMDEqDQorWDI3NjU0M1kyOTk4MjFEMDEqDQorWDI3NjM3NVkyOTk1NDZEMDEqDQorWDI3NjI1MVkyOTkyNDdEMDEqDQorWDI3NjE3NlkyOTg5MzREMDEqDQorWDI3NjE1MVkyOTg2MTJEMDEqDQorWDI3NjE3NlkyOTgyOTBEMDEqDQorWDI3NjI1MVkyOTc5NzdEMDEqDQorWDI3NjM3NVkyOTc2NzhEMDEqDQorWDI3NjU0M1kyOTc0MDNEMDEqDQorWDI3Njc1M1kyOTcxNThEMDEqDQorWDI3Njk5OFkyOTY5NDhEMDEqDQorWDI3NzI3M1kyOTY3ODBEMDEqDQorWDI3NzU3MlkyOTY2NTZEMDEqDQorWDI3Nzg4NVkyOTY1ODFEMDEqDQorWDI3ODIwN1kyOTY1NTZEMDEqDQorWDI3ODIyMlkyOTY1NTdEMDEqDQorWTI4NjMyNkQwMSoNCitYMjc4MTY0WTI4NjI3N0QwMSoNCitYMjc3OTgwWTI4NjA2MUQwMSoNCitYMjc3ODMyWTI4NTgyMEQwMSoNCitYMjc3NzI0WTI4NTU1OEQwMSoNCitYMjc3NjU4WTI4NTI4MkQwMSoNCitYMjc3NjM1WTI4NTAwMEQwMSoNCitYMjc3NjU4WTI4NDcxOEQwMSoNCitYMjc3NzI0WTI4NDQ0MkQwMSoNCitYMjc3ODMyWTI4NDE4MEQwMSoNCitYMjc3OTgwWTI4MzkzOUQwMSoNCitYMjc4MTY0WTI4MzcyM0QwMSoNCitYMjc4MjIyWTI4MzY3NEQwMSoNCitZMjgxNjU4RDAxKg0KK1gyNzc5MDNZMjgxNjMzRDAxKg0KK1gyNzc1OTBZMjgxNTU4RDAxKg0KK1gyNzcyOTFZMjgxNDM0RDAxKg0KK1gyNzcwMTZZMjgxMjY2RDAxKg0KK1gyNzY3NzFZMjgxMDU2RDAxKg0KK1gyNzY1NjFZMjgwODExRDAxKg0KK1gyNzYzOTNZMjgwNTM2RDAxKg0KK1gyNzYyNjlZMjgwMjM3RDAxKg0KK1gyNzYxOTRZMjc5OTI0RDAxKg0KK1gyNzYxNjlZMjc5NjAyRDAxKg0KK1gyNzYxOTRZMjc5MjgwRDAxKg0KK1gyNzYyNjlZMjc4OTY3RDAxKg0KK1gyNzYzOTNZMjc4NjY4RDAxKg0KK1gyNzY1NjFZMjc4MzkzRDAxKg0KK1gyNzY3NzFZMjc4MTQ4RDAxKg0KK1gyNzcwMTZZMjc3OTM4RDAxKg0KK1gyNzcyOTFZMjc3NzcwRDAxKg0KK1gyNzc1OTBZMjc3NjQ2RDAxKg0KK1gyNzc5MDNZMjc3NTcxRDAxKg0KK1gyNzgyMjJZMjc3NTQ2RDAxKg0KK1kxODgzODdEMDEqDQorRzM3Kg0KK0czNioNCitZMTc4Mzg3RDAyKlgyNzc3NTdZMTc4NjcyRDAxKg0KK1gyNzcxMzJZMTc4OTMxRDAxKg0KK1gyNzY0NzRZMTc5MDg5RDAxKg0KK1gyNzU3OTlZMTc5MTQyRDAxKg0KK1gyNzU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDI3NTc5OVkxODA1MTZEMDEqDQorWDI3NjQ3NFkxODA1NjlEMDEqDQorWDI3NzEzMlkxODA3MjdEMDEqDQorWDI3Nzc1N1kxODA5ODZEMDEqDQorWDI3ODIyMlkxODEyNzFEMDEqDQorWTE3ODM4N0QwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYMjc1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDI3NTc5OVkxNzA1MTZEMDEqDQorWDI3NjQ3NFkxNzA1NjlEMDEqDQorWDI3NzEzMlkxNzA3MjdEMDEqDQorWDI3Nzc1N1kxNzA5ODZEMDEqDQorWDI3ODIyMlkxNzEyNzFEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI3NTc5MkQwMipYMjY5NDM4RDAxKg0KK1kxNzI1MzhEMDEqDQorWDI2OTY0MlkxNzI4NzFEMDEqDQorWDI2OTkwMVkxNzM0OTZEMDEqDQorWDI3MDA1OVkxNzQxNTREMDEqDQorWDI3MDA5OVkxNzQ4MjlEMDEqDQorWDI3MDA1OVkxNzU1MDREMDEqDQorWDI2OTkwMVkxNzYxNjJEMDEqDQorWDI2OTY0MlkxNzY3ODdEMDEqDQorWDI2OTQzOFkxNzcxMjBEMDEqDQorWTE4MjUzOEQwMSoNCitYMjY5NjQyWTE4Mjg3MUQwMSoNCitYMjY5OTAxWTE4MzQ5NkQwMSoNCitYMjcwMDU5WTE4NDE1NEQwMSoNCitYMjcwMDk5WTE4NDgyOUQwMSoNCitYMjcwMDU5WTE4NTUwNEQwMSoNCitYMjY5OTAxWTE4NjE2MkQwMSoNCitYMjY5NjQyWTE4Njc4N0QwMSoNCitYMjY5NDM4WTE4NzEyMEQwMSoNCitZMTk2Njk1RDAxKg0KK1gyNjk0NDFZMTk2Njk0RDAxKg0KK1gyNjk3MjNZMTk2NzE3RDAxKg0KK1gyNjk5OTlZMTk2NzgzRDAxKg0KK1gyNzAyNjFZMTk2ODkxRDAxKg0KK1gyNzA1MDJZMTk3MDM5RDAxKg0KK1gyNzA3MThZMTk3MjIzRDAxKg0KK1gyNzA5MDJZMTk3NDM5RDAxKg0KK1gyNzEwNTBZMTk3NjgwRDAxKg0KK1gyNzExNThZMTk3OTQyRDAxKg0KK1gyNzEyMjRZMTk4MjE4RDAxKg0KK1gyNzEyNDFZMTk4NTAwRDAxKg0KK1gyNzEyMjRZMTk4NzgyRDAxKg0KK1gyNzExNThZMTk5MDU4RDAxKg0KK1gyNzEwNTBZMTk5MzIwRDAxKg0KK1gyNzA5MDJZMTk5NTYxRDAxKg0KK1gyNzA3MThZMTk5Nzc3RDAxKg0KK1gyNzA1MDJZMTk5OTYxRDAxKg0KK1gyNzAyNjFZMjAwMTA5RDAxKg0KK1gyNjk5OTlZMjAwMjE3RDAxKg0KK1gyNjk3MjNZMjAwMjgzRDAxKg0KK1gyNjk0NDFZMjAwMzA2RDAxKg0KK1gyNjk0MzhZMjAwMzA1RDAxKg0KK1kyMjk3NzBEMDEqDQorWDI2OTY1OVkyMjk3MTdEMDEqDQorWDI2OTk0MVkyMjk2OTREMDEqDQorWDI3MDIyM1kyMjk3MTdEMDEqDQorWDI3MDQ5OVkyMjk3ODNEMDEqDQorWDI3MDc2MVkyMjk4OTFEMDEqDQorWDI3MTAwMlkyMzAwMzlEMDEqDQorWDI3MTIxOFkyMzAyMjNEMDEqDQorWDI3MTQwMlkyMzA0MzlEMDEqDQorWDI3MTU1MFkyMzA2ODBEMDEqDQorWDI3MTY1OFkyMzA5NDJEMDEqDQorWDI3MTcyNFkyMzEyMThEMDEqDQorWDI3MTc0MVkyMzE1MDBEMDEqDQorWDI3MTcyNFkyMzE3ODJEMDEqDQorWDI3MTY1OFkyMzIwNThEMDEqDQorWDI3MTU1MFkyMzIzMjBEMDEqDQorWDI3MTQwMlkyMzI1NjFEMDEqDQorWDI3MTIxOFkyMzI3NzdEMDEqDQorWDI3MTAwMlkyMzI5NjFEMDEqDQorWDI3MDc2MVkyMzMxMDlEMDEqDQorWDI3MDQ5OVkyMzMyMTdEMDEqDQorWDI3MDIyM1kyMzMyODNEMDEqDQorWDI2OTk0MVkyMzMzMDZEMDEqDQorWDI2OTY1OVkyMzMyODNEMDEqDQorWDI2OTQzOFkyMzMyMzBEMDEqDQorWTI5NjU5MkQwMSoNCitYMjY5NjUzWTI5NjU3NUQwMSoNCitYMjY5OTc1WTI5NjYwMEQwMSoNCitYMjcwMjg4WTI5NjY3NUQwMSoNCitYMjcwNTg3WTI5Njc5OUQwMSoNCitYMjcwODYyWTI5Njk2N0QwMSoNCitYMjcxMTA3WTI5NzE3N0QwMSoNCitYMjcxMzE3WTI5NzQyMkQwMSoNCitYMjcxNDI2WTI5NzYwMUQwMSoNCitYMjcxNTY1WTI5NzM3M0QwMSoNCitYMjcxNzc1WTI5NzEyOEQwMSoNCitYMjcyMDIwWTI5NjkxOEQwMSoNCitYMjcyMjk1WTI5Njc1MEQwMSoNCitYMjcyNTk0WTI5NjYyNkQwMSoNCitYMjcyOTA3WTI5NjU1MUQwMSoNCitYMjczMjI5WTI5NjUyNkQwMSoNCitYMjczNTUxWTI5NjU1MUQwMSoNCitYMjczODY0WTI5NjYyNkQwMSoNCitYMjc0MTYzWTI5Njc1MEQwMSoNCitYMjc0NDM4WTI5NjkxOEQwMSoNCitYMjc0NjgzWTI5NzEyOEQwMSoNCitYMjc0ODkzWTI5NzM3M0QwMSoNCitYMjc1MDYxWTI5NzY0OEQwMSoNCitYMjc1MTg1WTI5Nzk0N0QwMSoNCitYMjc1MjYwWTI5ODI2MEQwMSoNCitYMjc1Mjc5WTI5ODU4MkQwMSoNCitYMjc1MjYwWTI5ODkwNEQwMSoNCitYMjc1MTg1WTI5OTIxN0QwMSoNCitYMjc1MDYxWTI5OTUxNkQwMSoNCitYMjc0ODkzWTI5OTc5MUQwMSoNCitYMjc0NjgzWTMwMDAzNkQwMSoNCitYMjc0NDM4WTMwMDI0NkQwMSoNCitYMjc0MTYzWTMwMDQxNEQwMSoNCitYMjczODY0WTMwMDUzOEQwMSoNCitYMjczNTUxWTMwMDYxM0QwMSoNCitYMjczMjI5WTMwMDYzOEQwMSoNCitYMjcyOTA3WTMwMDYxM0QwMSoNCitYMjcyNTk0WTMwMDUzOEQwMSoNCitYMjcyMjk1WTMwMDQxNEQwMSoNCitYMjcyMDIwWTMwMDI0NkQwMSoNCitYMjcxNzc1WTMwMDAzNkQwMSoNCitYMjcxNTY1WTI5OTc5MUQwMSoNCitYMjcxNDU2WTI5OTYxMkQwMSoNCitYMjcxMzE3WTI5OTg0MEQwMSoNCitYMjcxMTA3WTMwMDA4NUQwMSoNCitYMjcwODYyWTMwMDI5NUQwMSoNCitYMjcwNTg3WTMwMDQ2M0QwMSoNCitYMjcwMjg4WTMwMDU4N0QwMSoNCitYMjY5OTc1WTMwMDY2MkQwMSoNCitYMjY5NjUzWTMwMDY4N0QwMSoNCitYMjY5NDM4WTMwMDY3MEQwMSoNCitZMzEyMDExRDAxKg0KK1gyNjk1NzZZMzEyMDQ0RDAxKg0KK1gyNjk4NzVZMzEyMTY4RDAxKg0KK1gyNzAxNTBZMzEyMzM2RDAxKg0KK1gyNzAzOTVZMzEyNTQ2RDAxKg0KK1gyNzA2MDVZMzEyNzkxRDAxKg0KK1gyNzA3NzNZMzEzMDY2RDAxKg0KK1gyNzA4OTdZMzEzMzY1RDAxKg0KK1gyNzA5NzJZMzEzNjc4RDAxKg0KK1gyNzA5OTFZMzE0MDAwRDAxKg0KK1gyNzA5NzJZMzE0MzIyRDAxKg0KK1gyNzA4OTdZMzE0NjM1RDAxKg0KK1gyNzA3NzNZMzE0OTM0RDAxKg0KK1gyNzA2MDVZMzE1MjA5RDAxKg0KK1gyNzAzOTVZMzE1NDU0RDAxKg0KK1gyNzAxNTBZMzE1NjY0RDAxKg0KK1gyNjk4NzVZMzE1ODMyRDAxKg0KK1gyNjk1NzZZMzE1OTU2RDAxKg0KK1gyNjk0MzhZMzE1OTg5RDAxKg0KK1kzMzQ1MDNEMDEqDQorWDI2OTYyMVkzMzQzOTFEMDEqDQorWDI2OTg4M1kzMzQyODNEMDEqDQorWDI3MDE1OVkzMzQyMTdEMDEqDQorWDI3MDQ0MVkzMzQxOTREMDEqDQorWDI3MDcyM1kzMzQyMTdEMDEqDQorWDI3MDk5OVkzMzQyODNEMDEqDQorWDI3MTI2MVkzMzQzOTFEMDEqDQorWDI3MTUwMlkzMzQ1MzlEMDEqDQorWDI3MTcxOFkzMzQ3MjNEMDEqDQorWDI3MTkwMlkzMzQ5MzlEMDEqDQorWDI3MjA1MFkzMzUxODBEMDEqDQorWDI3MjE1OFkzMzU0NDJEMDEqDQorWDI3MjIyNFkzMzU3MThEMDEqDQorWDI3MjI0MVkzMzYwMDBEMDEqDQorWDI3MjIyNFkzMzYyODJEMDEqDQorWDI3MjE1OFkzMzY1NThEMDEqDQorWDI3MjA1MFkzMzY4MjBEMDEqDQorWDI3MTkwMlkzMzcwNjFEMDEqDQorWDI3MTcxOFkzMzcyNzdEMDEqDQorWDI3MTUwMlkzMzc0NjFEMDEqDQorWDI3MTI2MVkzMzc2MDlEMDEqDQorWDI3MDk5OVkzMzc3MTdEMDEqDQorWDI3MDcyM1kzMzc3ODNEMDEqDQorWDI3MDQ0MVkzMzc4MDZEMDEqDQorWDI3MDE1OVkzMzc3ODNEMDEqDQorWDI2OTg4M1kzMzc3MTdEMDEqDQorWDI2OTYyMVkzMzc2MDlEMDEqDQorWDI2OTQzOFkzMzc0OTdEMDEqDQorWTM0MTAwM0QwMSoNCitYMjY5NjIxWTM0MDg5MUQwMSoNCitYMjY5ODgzWTM0MDc4M0QwMSoNCitYMjcwMTU5WTM0MDcxN0QwMSoNCitYMjcwNDQxWTM0MDY5NEQwMSoNCitYMjcwNzIzWTM0MDcxN0QwMSoNCitYMjcwOTk5WTM0MDc4M0QwMSoNCitYMjcxMjYxWTM0MDg5MUQwMSoNCitYMjcxNTAyWTM0MTAzOUQwMSoNCitYMjcxNzE4WTM0MTIyM0QwMSoNCitYMjcxOTAyWTM0MTQzOUQwMSoNCitYMjcyMDUwWTM0MTY4MEQwMSoNCitYMjcyMTU4WTM0MTk0MkQwMSoNCitYMjcyMjI0WTM0MjIxOEQwMSoNCitYMjcyMjQxWTM0MjUwMEQwMSoNCitYMjcyMjI0WTM0Mjc4MkQwMSoNCitYMjcyMTU4WTM0MzA1OEQwMSoNCitYMjcyMDUwWTM0MzMyMEQwMSoNCitYMjcxOTAyWTM0MzU2MUQwMSoNCitYMjcxNzE4WTM0Mzc3N0QwMSoNCitYMjcxNTAyWTM0Mzk2MUQwMSoNCitYMjcxMjYxWTM0NDEwOUQwMSoNCitYMjcwOTk5WTM0NDIxN0QwMSoNCitYMjcwNzIzWTM0NDI4M0QwMSoNCitYMjcwNDQxWTM0NDMwNkQwMSoNCitYMjcwMTU5WTM0NDI4M0QwMSoNCitYMjY5ODgzWTM0NDIxN0QwMSoNCitYMjY5NjIxWTM0NDEwOUQwMSoNCitYMjY5NDM4WTM0Mzk5N0QwMSoNCitZMzQ4MDAzRDAxKg0KK1gyNjk2MjFZMzQ3ODkxRDAxKg0KK1gyNjk4ODNZMzQ3NzgzRDAxKg0KK1gyNzAxNTlZMzQ3NzE3RDAxKg0KK1gyNzA0NDFZMzQ3Njk0RDAxKg0KK1gyNzA3MjNZMzQ3NzE3RDAxKg0KK1gyNzA5OTlZMzQ3NzgzRDAxKg0KK1gyNzEyNjFZMzQ3ODkxRDAxKg0KK1gyNzE1MDJZMzQ4MDM5RDAxKg0KK1gyNzE3MThZMzQ4MjIzRDAxKg0KK1gyNzE5MDJZMzQ4NDM5RDAxKg0KK1gyNzIwNTBZMzQ4NjgwRDAxKg0KK1gyNzIxNThZMzQ4OTQyRDAxKg0KK1gyNzIyMjRZMzQ5MjE4RDAxKg0KK1gyNzIyNDFZMzQ5NTAwRDAxKg0KK1gyNzIyMjRZMzQ5NzgyRDAxKg0KK1gyNzIxNThZMzUwMDU4RDAxKg0KK1gyNzIwNTBZMzUwMzIwRDAxKg0KK1gyNzE5MDJZMzUwNTYxRDAxKg0KK1gyNzE3MThZMzUwNzc3RDAxKg0KK1gyNzE1MDJZMzUwOTYxRDAxKg0KK1gyNzEyNjFZMzUxMTA5RDAxKg0KK1gyNzA5OTlZMzUxMjE3RDAxKg0KK1gyNzA3MjNZMzUxMjgzRDAxKg0KK1gyNzA0NDFZMzUxMzA2RDAxKg0KK1gyNzAxNTlZMzUxMjgzRDAxKg0KK1gyNjk4ODNZMzUxMjE3RDAxKg0KK1gyNjk2MjFZMzUxMTA5RDAxKg0KK1gyNjk0MzhZMzUwOTk3RDAxKg0KK1kzNTU1MDNEMDEqDQorWDI2OTYyMVkzNTUzOTFEMDEqDQorWDI2OTg4M1kzNTUyODNEMDEqDQorWDI3MDE1OVkzNTUyMTdEMDEqDQorWDI3MDQ0MVkzNTUxOTREMDEqDQorWDI3MDcyM1kzNTUyMTdEMDEqDQorWDI3MDk5OVkzNTUyODNEMDEqDQorWDI3MTI2MVkzNTUzOTFEMDEqDQorWDI3MTUwMlkzNTU1MzlEMDEqDQorWDI3MTcxOFkzNTU3MjNEMDEqDQorWDI3MTkwMlkzNTU5MzlEMDEqDQorWDI3MjA1MFkzNTYxODBEMDEqDQorWDI3MjE1OFkzNTY0NDJEMDEqDQorWDI3MjIyNFkzNTY3MThEMDEqDQorWDI3MjI0MVkzNTcwMDBEMDEqDQorWDI3MjIyNFkzNTcyODJEMDEqDQorWDI3MjE1OFkzNTc1NThEMDEqDQorWDI3MjA1MFkzNTc4MjBEMDEqDQorWDI3MTkwMlkzNTgwNjFEMDEqDQorWDI3MTcxOFkzNTgyNzdEMDEqDQorWDI3MTUwMlkzNTg0NjFEMDEqDQorWDI3MTI2MVkzNTg2MDlEMDEqDQorWDI3MDk5OVkzNTg3MTdEMDEqDQorWDI3MDcyM1kzNTg3ODNEMDEqDQorWDI3MDQ0MVkzNTg4MDZEMDEqDQorWDI3MDE1OVkzNTg3ODNEMDEqDQorWDI2OTg4M1kzNTg3MTdEMDEqDQorWDI2OTYyMVkzNTg2MDlEMDEqDQorWDI2OTQzOFkzNTg0OTdEMDEqDQorWTM2MjUzOEQwMSoNCitYMjY5NjQyWTM2Mjg3MUQwMSoNCitYMjY5OTAxWTM2MzQ5NkQwMSoNCitYMjcwMDU5WTM2NDE1NEQwMSoNCitYMjcwMDk5WTM2NDgyOUQwMSoNCitYMjcwMDU5WTM2NTUwNEQwMSoNCitYMjY5OTAxWTM2NjE2MkQwMSoNCitYMjY5NjQyWTM2Njc4N0QwMSoNCitYMjY5NDM4WTM2NzEyMEQwMSoNCitZMzcyNTM4RDAxKg0KK1gyNjk2NDJZMzcyODcxRDAxKg0KK1gyNjk5MDFZMzczNDk2RDAxKg0KK1gyNzAwNTlZMzc0MTU0RDAxKg0KK1gyNzAwOTlZMzc0ODI5RDAxKg0KK1gyNzAwNTlZMzc1NTA0RDAxKg0KK1gyNjk5MDFZMzc2MTYyRDAxKg0KK1gyNjk2NDJZMzc2Nzg3RDAxKg0KK1gyNjk0MzhZMzc3MTIwRDAxKg0KK1kzOTcwMDBEMDEqDQorWDI3NTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gyNzUxMjRZMzc5MDg5RDAxKg0KK1gyNzQ0NjZZMzc4OTMxRDAxKg0KK1gyNzM4NDFZMzc4NjcyRDAxKg0KK1gyNzMyNjRZMzc4MzE5RDAxKg0KK1gyNzI3NDlZMzc3ODc5RDAxKg0KK1gyNzIzMDlZMzc3MzY0RDAxKg0KK1gyNzE5NTZZMzc2Nzg3RDAxKg0KK1gyNzE2OTdZMzc2MTYyRDAxKg0KK1gyNzE1MzlZMzc1NTA0RDAxKg0KK1gyNzE0ODZZMzc0ODI5RDAxKg0KK1gyNzE1MzlZMzc0MTU0RDAxKg0KK1gyNzE2OTdZMzczNDk2RDAxKg0KK1gyNzE5NTZZMzcyODcxRDAxKg0KK1gyNzIzMDlZMzcyMjk0RDAxKg0KK1gyNzI3NDlZMzcxNzc5RDAxKg0KK1gyNzMyNjRZMzcxMzM5RDAxKg0KK1gyNzM4NDFZMzcwOTg2RDAxKg0KK1gyNzQ0NjZZMzcwNzI3RDAxKg0KK1gyNzUxMjRZMzcwNTY5RDAxKg0KK1gyNzU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDI3NTEyNFkzNjkwODlEMDEqDQorWDI3NDQ2NlkzNjg5MzFEMDEqDQorWDI3Mzg0MVkzNjg2NzJEMDEqDQorWDI3MzI2NFkzNjgzMTlEMDEqDQorWDI3Mjc0OVkzNjc4NzlEMDEqDQorWDI3MjMwOVkzNjczNjREMDEqDQorWDI3MTk1NlkzNjY3ODdEMDEqDQorWDI3MTY5N1kzNjYxNjJEMDEqDQorWDI3MTUzOVkzNjU1MDREMDEqDQorWDI3MTQ4NlkzNjQ4MjlEMDEqDQorWDI3MTUzOVkzNjQxNTREMDEqDQorWDI3MTY5N1kzNjM0OTZEMDEqDQorWDI3MTk1NlkzNjI4NzFEMDEqDQorWDI3MjMwOVkzNjIyOTREMDEqDQorWDI3Mjc0OVkzNjE3NzlEMDEqDQorWDI3MzI2NFkzNjEzMzlEMDEqDQorWDI3Mzg0MVkzNjA5ODZEMDEqDQorWDI3NDQ2NlkzNjA3MjdEMDEqDQorWDI3NTEyNFkzNjA1NjlEMDEqDQorWDI3NTc5MlkzNjA1MTZEMDEqDQorWTM0ODcxN0QwMSoNCitYMjc1Nzg1WTM0ODcwOUQwMSoNCitYMjc1NjE3WTM0ODQzNEQwMSoNCitYMjc1NDkzWTM0ODEzNUQwMSoNCitYMjc1NDE4WTM0NzgyMkQwMSoNCitYMjc1MzkzWTM0NzUwMEQwMSoNCitYMjc1NDE4WTM0NzE3OEQwMSoNCitYMjc1NDkzWTM0Njg2NUQwMSoNCitYMjc1NjE3WTM0NjU2NkQwMSoNCitYMjc1Nzg1WTM0NjI5MUQwMSoNCitYMjc1NzkyWTM0NjI4M0QwMSoNCitZMzA5NzM1RDAxKg0KK1gyNzU3MjBZMzA5NjczRDAxKg0KK1gyNzU1MTBZMzA5NDI4RDAxKg0KK1gyNzUzNDJZMzA5MTUzRDAxKg0KK1gyNzUyMThZMzA4ODU0RDAxKg0KK1gyNzUxNDNZMzA4NTQxRDAxKg0KK1gyNzUxMThZMzA4MjE5RDAxKg0KK1gyNzUxNDNZMzA3ODk3RDAxKg0KK1gyNzUyMThZMzA3NTg0RDAxKg0KK1gyNzUzNDJZMzA3Mjg1RDAxKg0KK1gyNzU1MTBZMzA3MDEwRDAxKg0KK1gyNzU3MjBZMzA2NzY1RDAxKg0KK1gyNzU3OTJZMzA2NzAzRDAxKg0KK1kxODkxNDJEMDEqDQorWDI3NTEyNFkxODkwODlEMDEqDQorWDI3NDQ2NlkxODg5MzFEMDEqDQorWDI3Mzg0MVkxODg2NzJEMDEqDQorWDI3MzI2NFkxODgzMTlEMDEqDQorWDI3Mjc0OVkxODc4NzlEMDEqDQorWDI3MjMwOVkxODczNjREMDEqDQorWDI3MTk1NlkxODY3ODdEMDEqDQorWDI3MTY5N1kxODYxNjJEMDEqDQorWDI3MTUzOVkxODU1MDREMDEqDQorWDI3MTQ4NlkxODQ4MjlEMDEqDQorWDI3MTUzOVkxODQxNTREMDEqDQorWDI3MTY5N1kxODM0OTZEMDEqDQorWDI3MTk1NlkxODI4NzFEMDEqDQorWDI3MjMwOVkxODIyOTREMDEqDQorWDI3Mjc0OVkxODE3NzlEMDEqDQorWDI3MzI2NFkxODEzMzlEMDEqDQorWDI3Mzg0MVkxODA5ODZEMDEqDQorWDI3NDQ2NlkxODA3MjdEMDEqDQorWDI3NTEyNFkxODA1NjlEMDEqDQorWDI3NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjc1MTI0WTE3OTA4OUQwMSoNCitYMjc0NDY2WTE3ODkzMUQwMSoNCitYMjczODQxWTE3ODY3MkQwMSoNCitYMjczMjY0WTE3ODMxOUQwMSoNCitYMjcyNzQ5WTE3Nzg3OUQwMSoNCitYMjcyMzA5WTE3NzM2NEQwMSoNCitYMjcxOTU2WTE3Njc4N0QwMSoNCitYMjcxNjk3WTE3NjE2MkQwMSoNCitYMjcxNTM5WTE3NTUwNEQwMSoNCitYMjcxNDg2WTE3NDgyOUQwMSoNCitYMjcxNTM5WTE3NDE1NEQwMSoNCitYMjcxNjk3WTE3MzQ5NkQwMSoNCitYMjcxOTU2WTE3Mjg3MUQwMSoNCitYMjcyMzA5WTE3MjI5NEQwMSoNCitYMjcyNzQ5WTE3MTc3OUQwMSoNCitYMjczMjY0WTE3MTMzOUQwMSoNCitYMjczODQxWTE3MDk4NkQwMSoNCitYMjc0NDY2WTE3MDcyN0QwMSoNCitYMjc1MTI0WTE3MDU2OUQwMSoNCitYMjc1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjY5NDM4WTM3NzEyMEQwMipYMjY5Mjg5WTM3NzM2NEQwMSoNCitYMjY4ODQ5WTM3Nzg3OUQwMSoNCitYMjY4MzM0WTM3ODMxOUQwMSoNCitYMjY3NzU3WTM3ODY3MkQwMSoNCitYMjY3MTMyWTM3ODkzMUQwMSoNCitYMjY2NDc0WTM3OTA4OUQwMSoNCitYMjY1Nzk5WTM3OTE0MkQwMSoNCitYMjY1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gyNjk0MzhEMDEqDQorWTM3NzEyMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjcxMjBEMDIqWDI2OTI4OVkzNjczNjREMDEqDQorWDI2ODg0OVkzNjc4NzlEMDEqDQorWDI2ODMzNFkzNjgzMTlEMDEqDQorWDI2Nzc1N1kzNjg2NzJEMDEqDQorWDI2NzEzMlkzNjg5MzFEMDEqDQorWDI2NjQ3NFkzNjkwODlEMDEqDQorWDI2NTc5OVkzNjkxNDJEMDEqDQorWDI2NTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMjY1Nzk5WTM3MDUxNkQwMSoNCitYMjY2NDc0WTM3MDU2OUQwMSoNCitYMjY3MTMyWTM3MDcyN0QwMSoNCitYMjY3NzU3WTM3MDk4NkQwMSoNCitYMjY4MzM0WTM3MTMzOUQwMSoNCitYMjY4ODQ5WTM3MTc3OUQwMSoNCitYMjY5Mjg5WTM3MjI5NEQwMSoNCitYMjY5NDM4WTM3MjUzOEQwMSoNCitZMzY3MTIwRDAxKg0KK0czNyoNCitHMzYqDQorWTMwMDY3MEQwMipYMjY5MzMxWTMwMDY2MkQwMSoNCitYMjY5MDE4WTMwMDU4N0QwMSoNCitYMjY4NzE5WTMwMDQ2M0QwMSoNCitYMjY4NDQ0WTMwMDI5NUQwMSoNCitYMjY4MTk5WTMwMDA4NUQwMSoNCitYMjY3OTg5WTI5OTg0MEQwMSoNCitYMjY3ODIxWTI5OTU2NUQwMSoNCitYMjY3Njk3WTI5OTI2NkQwMSoNCitYMjY3NjIyWTI5ODk1M0QwMSoNCitYMjY3NTk3WTI5ODYzMUQwMSoNCitYMjY3NjIyWTI5ODMwOUQwMSoNCitYMjY3NjM4WTI5ODI0NEQwMSoNCitYMjY3NjIyWTI5ODI1OEQwMSoNCitYMjY3MzQ3WTI5ODQyNkQwMSoNCitYMjY3MDQ4WTI5ODU1MEQwMSoNCitYMjY2NzM1WTI5ODYyNUQwMSoNCitYMjY2NDEzWTI5ODY1MEQwMSoNCitYMjY2MDkxWTI5ODYyNUQwMSoNCitYMjY1NzkyWTI5ODU1M0QwMSoNCitZMzYwNTE2RDAxKg0KK1gyNjU3OTlZMzYwNTE2RDAxKg0KK1gyNjY0NzRZMzYwNTY5RDAxKg0KK1gyNjcxMzJZMzYwNzI3RDAxKg0KK1gyNjc3NTdZMzYwOTg2RDAxKg0KK1gyNjgzMzRZMzYxMzM5RDAxKg0KK1gyNjg4NDlZMzYxNzc5RDAxKg0KK1gyNjkyODlZMzYyMjk0RDAxKg0KK1gyNjk0MzhZMzYyNTM4RDAxKg0KK1kzNTg0OTdEMDEqDQorWDI2OTM4MFkzNTg0NjFEMDEqDQorWDI2OTE2NFkzNTgyNzdEMDEqDQorWDI2ODk4MFkzNTgwNjFEMDEqDQorWDI2ODgzMlkzNTc4MjBEMDEqDQorWDI2ODcyNFkzNTc1NThEMDEqDQorWDI2ODY1OFkzNTcyODJEMDEqDQorWDI2ODYzNVkzNTcwMDBEMDEqDQorWDI2ODY1OFkzNTY3MThEMDEqDQorWDI2ODcyNFkzNTY0NDJEMDEqDQorWDI2ODgzMlkzNTYxODBEMDEqDQorWDI2ODk4MFkzNTU5MzlEMDEqDQorWDI2OTE2NFkzNTU3MjNEMDEqDQorWDI2OTM4MFkzNTU1MzlEMDEqDQorWDI2OTQzOFkzNTU1MDNEMDEqDQorWTM1MDk5N0QwMSoNCitYMjY5MzgwWTM1MDk2MUQwMSoNCitYMjY5MTY0WTM1MDc3N0QwMSoNCitYMjY4OTgwWTM1MDU2MUQwMSoNCitYMjY4ODMyWTM1MDMyMEQwMSoNCitYMjY4NzI0WTM1MDA1OEQwMSoNCitYMjY4NjU4WTM0OTc4MkQwMSoNCitYMjY4NjM1WTM0OTUwMEQwMSoNCitYMjY4NjU4WTM0OTIxOEQwMSoNCitYMjY4NzI0WTM0ODk0MkQwMSoNCitYMjY4ODMyWTM0ODY4MEQwMSoNCitYMjY4OTgwWTM0ODQzOUQwMSoNCitYMjY5MTY0WTM0ODIyM0QwMSoNCitYMjY5MzgwWTM0ODAzOUQwMSoNCitYMjY5NDM4WTM0ODAwM0QwMSoNCitZMzQzOTk3RDAxKg0KK1gyNjkzODBZMzQzOTYxRDAxKg0KK1gyNjkxNjRZMzQzNzc3RDAxKg0KK1gyNjg5ODBZMzQzNTYxRDAxKg0KK1gyNjg4MzJZMzQzMzIwRDAxKg0KK1gyNjg3MjRZMzQzMDU4RDAxKg0KK1gyNjg2NThZMzQyNzgyRDAxKg0KK1gyNjg2MzVZMzQyNTAwRDAxKg0KK1gyNjg2NThZMzQyMjE4RDAxKg0KK1gyNjg3MjRZMzQxOTQyRDAxKg0KK1gyNjg4MzJZMzQxNjgwRDAxKg0KK1gyNjg5ODBZMzQxNDM5RDAxKg0KK1gyNjkxNjRZMzQxMjIzRDAxKg0KK1gyNjkzODBZMzQxMDM5RDAxKg0KK1gyNjk0MzhZMzQxMDAzRDAxKg0KK1kzMzc0OTdEMDEqDQorWDI2OTM4MFkzMzc0NjFEMDEqDQorWDI2OTE2NFkzMzcyNzdEMDEqDQorWDI2ODk4MFkzMzcwNjFEMDEqDQorWDI2ODgzMlkzMzY4MjBEMDEqDQorWDI2ODcyNFkzMzY1NThEMDEqDQorWDI2ODY1OFkzMzYyODJEMDEqDQorWDI2ODYzNVkzMzYwMDBEMDEqDQorWDI2ODY1OFkzMzU3MThEMDEqDQorWDI2ODcyNFkzMzU0NDJEMDEqDQorWDI2ODgzMlkzMzUxODBEMDEqDQorWDI2ODk4MFkzMzQ5MzlEMDEqDQorWDI2OTE2NFkzMzQ3MjNEMDEqDQorWDI2OTM4MFkzMzQ1MzlEMDEqDQorWDI2OTQzOFkzMzQ1MDNEMDEqDQorWTMxNTk4OUQwMSoNCitYMjY5MjYzWTMxNjAzMUQwMSoNCitYMjY4OTQxWTMxNjA1NkQwMSoNCitYMjY4NjE5WTMxNjAzMUQwMSoNCitYMjY4MzA2WTMxNTk1NkQwMSoNCitYMjY4MDA3WTMxNTgzMkQwMSoNCitYMjY3NzMyWTMxNTY2NEQwMSoNCitYMjY3NDg3WTMxNTQ1NEQwMSoNCitYMjY3Mjc3WTMxNTIwOUQwMSoNCitYMjY3MTA5WTMxNDkzNEQwMSoNCitYMjY2OTg1WTMxNDYzNUQwMSoNCitYMjY2OTEwWTMxNDMyMkQwMSoNCitYMjY2ODg1WTMxNDAwMEQwMSoNCitYMjY2OTEwWTMxMzY3OEQwMSoNCitYMjY2OTg1WTMxMzM2NUQwMSoNCitYMjY3MTA5WTMxMzA2NkQwMSoNCitYMjY3Mjc3WTMxMjc5MUQwMSoNCitYMjY3NDg3WTMxMjU0NkQwMSoNCitYMjY3NzMyWTMxMjMzNkQwMSoNCitYMjY4MDA3WTMxMjE2OEQwMSoNCitYMjY4MzA2WTMxMjA0NEQwMSoNCitYMjY4NjE5WTMxMTk2OUQwMSoNCitYMjY4OTQxWTMxMTk0NEQwMSoNCitYMjY5MjYzWTMxMTk2OUQwMSoNCitYMjY5NDM4WTMxMjAxMUQwMSoNCitZMzAwNjcwRDAxKg0KK0czNyoNCitHMzYqDQorWTE4NzEyMEQwMipYMjY5Mjg5WTE4NzM2NEQwMSoNCitYMjY4ODQ5WTE4Nzg3OUQwMSoNCitYMjY4MzM0WTE4ODMxOUQwMSoNCitYMjY3NzU3WTE4ODY3MkQwMSoNCitYMjY3MTMyWTE4ODkzMUQwMSoNCitYMjY2NDc0WTE4OTA4OUQwMSoNCitYMjY1Nzk5WTE4OTE0MkQwMSoNCitYMjY1NzkyWTE4OTE0MkQwMSoNCitZMjgxODc3RDAxKg0KK1gyNjU4NjZZMjgxOTk3RDAxKg0KK1gyNjU5OTBZMjgyMjk2RDAxKg0KK1gyNjYwNjVZMjgyNjA5RDAxKg0KK1gyNjYwODRZMjgyOTMxRDAxKg0KK1gyNjYwNjVZMjgzMjUzRDAxKg0KK1gyNjU5OTBZMjgzNTY2RDAxKg0KK1gyNjU4NjZZMjgzODY1RDAxKg0KK1gyNjU3OTJZMjgzOTg1RDAxKg0KK1kyOTQ2MzVEMDEqDQorWDI2NjA5MVkyOTQ1NjNEMDEqDQorWDI2NjQxM1kyOTQ1MzhEMDEqDQorWDI2NjczNVkyOTQ1NjNEMDEqDQorWDI2NzA0OFkyOTQ2MzhEMDEqDQorWDI2NzM0N1kyOTQ3NjJEMDEqDQorWDI2NzYyMlkyOTQ5MzBEMDEqDQorWDI2Nzg2N1kyOTUxNDBEMDEqDQorWDI2ODA3N1kyOTUzODVEMDEqDQorWDI2ODI0NVkyOTU2NjBEMDEqDQorWDI2ODM2OVkyOTU5NTlEMDEqDQorWDI2ODQ0NFkyOTYyNzJEMDEqDQorWDI2ODQ2M1kyOTY1OTREMDEqDQorWDI2ODQ0NFkyOTY5MTZEMDEqDQorWDI2ODQyOFkyOTY5ODFEMDEqDQorWDI2ODQ0NFkyOTY5NjdEMDEqDQorWDI2ODcxOVkyOTY3OTlEMDEqDQorWDI2OTAxOFkyOTY2NzVEMDEqDQorWDI2OTMzMVkyOTY2MDBEMDEqDQorWDI2OTQzOFkyOTY1OTJEMDEqDQorWTIzMzIzMEQwMSoNCitYMjY5MzgzWTIzMzIxN0QwMSoNCitYMjY5MTIxWTIzMzEwOUQwMSoNCitYMjY4ODgwWTIzMjk2MUQwMSoNCitYMjY4NjY0WTIzMjc3N0QwMSoNCitYMjY4NDgwWTIzMjU2MUQwMSoNCitYMjY4MzMyWTIzMjMyMEQwMSoNCitYMjY4MjI0WTIzMjA1OEQwMSoNCitYMjY4MTU4WTIzMTc4MkQwMSoNCitYMjY4MTM1WTIzMTUwMEQwMSoNCitYMjY4MTU4WTIzMTIxOEQwMSoNCitYMjY4MjI0WTIzMDk0MkQwMSoNCitYMjY4MzMyWTIzMDY4MEQwMSoNCitYMjY4NDgwWTIzMDQzOUQwMSoNCitYMjY4NjY0WTIzMDIyM0QwMSoNCitYMjY4ODgwWTIzMDAzOUQwMSoNCitYMjY5MTIxWTIyOTg5MUQwMSoNCitYMjY5MzgzWTIyOTc4M0QwMSoNCitYMjY5NDM4WTIyOTc3MEQwMSoNCitZMjAwMzA1RDAxKg0KK1gyNjkxNTlZMjAwMjgzRDAxKg0KK1gyNjg4ODNZMjAwMjE3RDAxKg0KK1gyNjg2MjFZMjAwMTA5RDAxKg0KK1gyNjgzODBZMTk5OTYxRDAxKg0KK1gyNjgxNjRZMTk5Nzc3RDAxKg0KK1gyNjc5ODBZMTk5NTYxRDAxKg0KK1gyNjc4MzJZMTk5MzIwRDAxKg0KK1gyNjc3MjRZMTk5MDU4RDAxKg0KK1gyNjc2NThZMTk4NzgyRDAxKg0KK1gyNjc2MzVZMTk4NTAwRDAxKg0KK1gyNjc2NThZMTk4MjE4RDAxKg0KK1gyNjc3MjRZMTk3OTQyRDAxKg0KK1gyNjc4MzJZMTk3NjgwRDAxKg0KK1gyNjc5ODBZMTk3NDM5RDAxKg0KK1gyNjgxNjRZMTk3MjIzRDAxKg0KK1gyNjgzODBZMTk3MDM5RDAxKg0KK1gyNjg2MjFZMTk2ODkxRDAxKg0KK1gyNjg4ODNZMTk2NzgzRDAxKg0KK1gyNjkxNTlZMTk2NzE3RDAxKg0KK1gyNjk0MzhZMTk2Njk1RDAxKg0KK1kxODcxMjBEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3MTIwRDAyKlgyNjkyODlZMTc3MzY0RDAxKg0KK1gyNjg4NDlZMTc3ODc5RDAxKg0KK1gyNjgzMzRZMTc4MzE5RDAxKg0KK1gyNjc3NTdZMTc4NjcyRDAxKg0KK1gyNjcxMzJZMTc4OTMxRDAxKg0KK1gyNjY0NzRZMTc5MDg5RDAxKg0KK1gyNjU3OTlZMTc5MTQyRDAxKg0KK1gyNjU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDI2NTc5OVkxODA1MTZEMDEqDQorWDI2NjQ3NFkxODA1NjlEMDEqDQorWDI2NzEzMlkxODA3MjdEMDEqDQorWDI2Nzc1N1kxODA5ODZEMDEqDQorWDI2ODMzNFkxODEzMzlEMDEqDQorWDI2ODg0OVkxODE3NzlEMDEqDQorWDI2OTI4OVkxODIyOTREMDEqDQorWDI2OTQzOFkxODI1MzhEMDEqDQorWTE3NzEyMEQwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYMjY1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDI2NTc5OVkxNzA1MTZEMDEqDQorWDI2NjQ3NFkxNzA1NjlEMDEqDQorWDI2NzEzMlkxNzA3MjdEMDEqDQorWDI2Nzc1N1kxNzA5ODZEMDEqDQorWDI2ODMzNFkxNzEzMzlEMDEqDQorWDI2ODg0OVkxNzE3NzlEMDEqDQorWDI2OTI4OVkxNzIyOTREMDEqDQorWDI2OTQzOFkxNzI1MzhEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2Mjc0N1kxODE3ODJEMDIqWDI2Mjc0OVkxODE3NzlEMDEqDQorWDI2MzI2NFkxODEzMzlEMDEqDQorWDI2Mzg0MVkxODA5ODZEMDEqDQorWDI2NDQ2NlkxODA3MjdEMDEqDQorWDI2NTEyNFkxODA1NjlEMDEqDQorWDI2NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjY1MTI0WTE3OTA4OUQwMSoNCitYMjY0NDY2WTE3ODkzMUQwMSoNCitYMjYzODQxWTE3ODY3MkQwMSoNCitYMjYzMjY0WTE3ODMxOUQwMSoNCitYMjYyNzQ5WTE3Nzg3OUQwMSoNCitYMjYyNzQ3WTE3Nzg3NkQwMSoNCitZMTgxNzgyRDAxKg0KK0czNyoNCitHMzYqDQorWTI4MTMzNEQwMipYMjYyODI1WTI4MTI2N0QwMSoNCitYMjYzMTAwWTI4MTA5OUQwMSoNCitYMjYzMzk5WTI4MDk3NUQwMSoNCitYMjYzNzEyWTI4MDkwMEQwMSoNCitYMjY0MDM0WTI4MDg3NUQwMSoNCitYMjY0MzU2WTI4MDkwMEQwMSoNCitYMjY0NjY5WTI4MDk3NUQwMSoNCitYMjY0OTY4WTI4MTA5OUQwMSoNCitYMjY1MjQzWTI4MTI2N0QwMSoNCitYMjY1NDg4WTI4MTQ3N0QwMSoNCitYMjY1Njk4WTI4MTcyMkQwMSoNCitYMjY1NzkyWTI4MTg3N0QwMSoNCitZMTg5MTQyRDAxKg0KK1gyNjUxMjRZMTg5MDg5RDAxKg0KK1gyNjQ0NjZZMTg4OTMxRDAxKg0KK1gyNjM4NDFZMTg4NjcyRDAxKg0KK1gyNjMyNjRZMTg4MzE5RDAxKg0KK1gyNjI3NDlZMTg3ODc5RDAxKg0KK1gyNjI3NDdZMTg3ODc2RDAxKg0KK1kyNjY3MTZEMDEqDQorWDI2Mjc1MFkyNjY3MTZEMDEqDQorWDI2MzA3MlkyNjY3NDFEMDEqDQorWDI2MzM4NVkyNjY4MTZEMDEqDQorWDI2MzY4NFkyNjY5NDBEMDEqDQorWDI2Mzk1OVkyNjcxMDhEMDEqDQorWDI2NDIwNFkyNjczMThEMDEqDQorWDI2NDQxNFkyNjc1NjNEMDEqDQorWDI2NDU4MlkyNjc4MzhEMDEqDQorWDI2NDcwNlkyNjgxMzdEMDEqDQorWDI2NDc4MVkyNjg0NTBEMDEqDQorWDI2NDgwMFkyNjg3NzJEMDEqDQorWDI2NDc4MVkyNjkwOTREMDEqDQorWDI2NDcwNlkyNjk0MDdEMDEqDQorWDI2NDU4MlkyNjk3MDZEMDEqDQorWDI2NDQxNFkyNjk5ODFEMDEqDQorWDI2NDIwNFkyNzAyMjZEMDEqDQorWDI2Mzk1OVkyNzA0MzZEMDEqDQorWDI2MzY4NFkyNzA2MDREMDEqDQorWDI2MzM4NVkyNzA3MjhEMDEqDQorWDI2MzA3MlkyNzA4MDNEMDEqDQorWDI2Mjc1MFkyNzA4MjhEMDEqDQorWDI2Mjc0N1kyNzA4MjhEMDEqDQorWTI4MTMzNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyODk3NzNEMDIqWDI2MzA2MlkyODk3OThEMDEqDQorWDI2MzM3NVkyODk4NzNEMDEqDQorWDI2MzY3NFkyODk5OTdEMDEqDQorWDI2Mzk0OVkyOTAxNjVEMDEqDQorWDI2NDE5NFkyOTAzNzVEMDEqDQorWDI2NDQwNFkyOTA2MjBEMDEqDQorWDI2NDU3MlkyOTA4OTVEMDEqDQorWDI2NDY5NlkyOTExOTREMDEqDQorWDI2NDc3MVkyOTE1MDdEMDEqDQorWDI2NDc5MFkyOTE4MjlEMDEqDQorWDI2NDc3MVkyOTIxNTFEMDEqDQorWDI2NDY5NlkyOTI0NjREMDEqDQorWDI2NDU3MlkyOTI3NjNEMDEqDQorWDI2NDQwNFkyOTMwMzhEMDEqDQorWDI2NDE5NFkyOTMyODNEMDEqDQorWDI2NDAxOVkyOTM0MzNEMDEqDQorWDI2NDE3NFkyOTM0OTdEMDEqDQorWDI2NDQ0OVkyOTM2NjVEMDEqDQorWDI2NDY5NFkyOTM4NzVEMDEqDQorWDI2NDkwNFkyOTQxMjBEMDEqDQorWDI2NTA3MlkyOTQzOTVEMDEqDQorWDI2NTE5NlkyOTQ2OTREMDEqDQorWDI2NTI0NlkyOTQ5MDVEMDEqDQorWDI2NTQ3OVkyOTQ3NjJEMDEqDQorWDI2NTc3OFkyOTQ2MzhEMDEqDQorWDI2NTc5MlkyOTQ2MzVEMDEqDQorWTI4Mzk4NUQwMSoNCitYMjY1Njk4WTI4NDE0MEQwMSoNCitYMjY1NDg4WTI4NDM4NUQwMSoNCitYMjY1MjQzWTI4NDU5NUQwMSoNCitYMjY0OTY4WTI4NDc2M0QwMSoNCitYMjY0NjY5WTI4NDg4N0QwMSoNCitYMjY0MzU2WTI4NDk2MkQwMSoNCitYMjY0MDM0WTI4NDk4N0QwMSoNCitYMjYzNzEyWTI4NDk2MkQwMSoNCitYMjYzMzk5WTI4NDg4N0QwMSoNCitYMjYzMTAwWTI4NDc2M0QwMSoNCitYMjYyODI1WTI4NDU5NUQwMSoNCitYMjYyNzQ3WTI4NDUyOEQwMSoNCitZMjg5NzczRDAxKg0KK0czNyoNCitHMzYqDQorWTM2MTc4MkQwMipYMjYyNzQ5WTM2MTc3OUQwMSoNCitYMjYzMjY0WTM2MTMzOUQwMSoNCitYMjYzODQxWTM2MDk4NkQwMSoNCitYMjY0NDY2WTM2MDcyN0QwMSoNCitYMjY1MTI0WTM2MDU2OUQwMSoNCitYMjY1NzkyWTM2MDUxNkQwMSoNCitZMjk4NTUzRDAxKg0KK1gyNjU3NzhZMjk4NTUwRDAxKg0KK1gyNjU0NzlZMjk4NDI2RDAxKg0KK1gyNjUyMDRZMjk4MjU4RDAxKg0KK1gyNjQ5NTlZMjk4MDQ4RDAxKg0KK1gyNjQ3NDlZMjk3ODAzRDAxKg0KK1gyNjQ1ODFZMjk3NTI4RDAxKg0KK1gyNjQ0NTdZMjk3MjI5RDAxKg0KK1gyNjQ0MDdZMjk3MDE4RDAxKg0KK1gyNjQxNzRZMjk3MTYxRDAxKg0KK1gyNjM4NzVZMjk3Mjg1RDAxKg0KK1gyNjM1NjJZMjk3MzYwRDAxKg0KK1gyNjMyNDBZMjk3Mzg1RDAxKg0KK1gyNjI5MThZMjk3MzYwRDAxKg0KK1gyNjI3NDdZMjk3MzE5RDAxKg0KK1kzMDYwNjNEMDEqDQorWDI2Mjc3OVkzMDYwOTBEMDEqDQorWDI2Mjk2M1kzMDYzMDZEMDEqDQorWDI2MzExMVkzMDY1NDdEMDEqDQorWDI2MzIxOVkzMDY4MDlEMDEqDQorWDI2MzI4NVkzMDcwODVEMDEqDQorWDI2MzMwMlkzMDczNjdEMDEqDQorWDI2MzI4NVkzMDc2NDlEMDEqDQorWDI2MzIxOVkzMDc5MjVEMDEqDQorWDI2MzExMVkzMDgxODdEMDEqDQorWDI2Mjk2M1kzMDg0MjhEMDEqDQorWDI2Mjc3OVkzMDg2NDREMDEqDQorWDI2Mjc0N1kzMDg2NzFEMDEqDQorWTMxODMzOUQwMSoNCitYMjYyODgzWTMxODI4M0QwMSoNCitYMjYzMTU5WTMxODIxN0QwMSoNCitYMjYzNDQxWTMxODE5NEQwMSoNCitYMjYzNzIzWTMxODIxN0QwMSoNCitYMjYzOTk5WTMxODI4M0QwMSoNCitYMjY0MjYxWTMxODM5MUQwMSoNCitYMjY0NTAyWTMxODUzOUQwMSoNCitYMjY0NzE4WTMxODcyM0QwMSoNCitYMjY0OTAyWTMxODkzOUQwMSoNCitYMjY1MDUwWTMxOTE4MEQwMSoNCitYMjY1MTU4WTMxOTQ0MkQwMSoNCitYMjY1MjI0WTMxOTcxOEQwMSoNCitYMjY1MjQxWTMyMDAwMEQwMSoNCitYMjY1MjI0WTMyMDI4MkQwMSoNCitYMjY1MTU4WTMyMDU1OEQwMSoNCitYMjY1MDUwWTMyMDgyMEQwMSoNCitYMjY0OTAyWTMyMTA2MUQwMSoNCitYMjY0NzE4WTMyMTI3N0QwMSoNCitYMjY0NTAyWTMyMTQ2MUQwMSoNCitYMjY0MjYxWTMyMTYwOUQwMSoNCitYMjYzOTk5WTMyMTcxN0QwMSoNCitYMjYzNzIzWTMyMTc4M0QwMSoNCitYMjYzNDQxWTMyMTgwNkQwMSoNCitYMjYzMTU5WTMyMTc4M0QwMSoNCitYMjYyODgzWTMyMTcxN0QwMSoNCitYMjYyNzQ3WTMyMTY2MUQwMSoNCitZMzYxNzgyRDAxKg0KK0czNyoNCitHMzYqDQorWTM3MTc4MkQwMipYMjYyNzQ5WTM3MTc3OUQwMSoNCitYMjYzMjY0WTM3MTMzOUQwMSoNCitYMjYzODQxWTM3MDk4NkQwMSoNCitYMjY0NDY2WTM3MDcyN0QwMSoNCitYMjY1MTI0WTM3MDU2OUQwMSoNCitYMjY1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gyNjUxMjRZMzY5MDg5RDAxKg0KK1gyNjQ0NjZZMzY4OTMxRDAxKg0KK1gyNjM4NDFZMzY4NjcyRDAxKg0KK1gyNjMyNjRZMzY4MzE5RDAxKg0KK1gyNjI3NDlZMzY3ODc5RDAxKg0KK1gyNjI3NDdZMzY3ODc2RDAxKg0KK1kzNzE3ODJEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyNjU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMjY1MTI0WTM3OTA4OUQwMSoNCitYMjY0NDY2WTM3ODkzMUQwMSoNCitYMjYzODQxWTM3ODY3MkQwMSoNCitYMjYzMjY0WTM3ODMxOUQwMSoNCitYMjYyNzQ5WTM3Nzg3OUQwMSoNCitYMjYyNzQ3WTM3Nzg3NkQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2NTc5Mlk5NzAwMEQwMipYMjYyNzQ3RDAxKg0KK1kxNzE3ODJEMDEqDQorWDI2Mjc0OVkxNzE3NzlEMDEqDQorWDI2MzI2NFkxNzEzMzlEMDEqDQorWDI2Mzg0MVkxNzA5ODZEMDEqDQorWDI2NDQ2NlkxNzA3MjdEMDEqDQorWDI2NTEyNFkxNzA1NjlEMDEqDQorWDI2NTc5MlkxNzA1MTZEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2MDkzOFkyODIyODREMDIqWDI2MDk3NlkyODIyOTNEMDEqDQorWDI2MTI3NVkyODI0MTdEMDEqDQorWDI2MTU1MFkyODI1ODVEMDEqDQorWDI2MTc5NVkyODI3OTVEMDEqDQorWDI2MTk4NFkyODMwMTdEMDEqDQorWDI2MTk3OFkyODI5MzFEMDEqDQorWDI2MjAwM1kyODI2MDlEMDEqDQorWDI2MjA3OFkyODIyOTZEMDEqDQorWDI2MjIwMlkyODE5OTdEMDEqDQorWDI2MjM3MFkyODE3MjJEMDEqDQorWDI2MjU4MFkyODE0NzdEMDEqDQorWDI2Mjc0N1kyODEzMzREMDEqDQorWTI3MDgyOEQwMSoNCitYMjYyNDI4WTI3MDgwM0QwMSoNCitYMjYyMTE1WTI3MDcyOEQwMSoNCitYMjYxODE2WTI3MDYwNEQwMSoNCitYMjYxNTQxWTI3MDQzNkQwMSoNCitYMjYxMjk2WTI3MDIyNkQwMSoNCitYMjYxMDg2WTI2OTk4MUQwMSoNCitYMjYwOTM4WTI2OTczOUQwMSoNCitZMjgyMjg0RDAxKg0KK0czNyoNCitHMzYqDQorWTI5MDg0NkQwMipYMjYxMDc2WTI5MDYyMEQwMSoNCitYMjYxMjg2WTI5MDM3NUQwMSoNCitYMjYxNTMxWTI5MDE2NUQwMSoNCitYMjYxODA2WTI4OTk5N0QwMSoNCitYMjYyMTA1WTI4OTg3M0QwMSoNCitYMjYyNDE4WTI4OTc5OEQwMSoNCitYMjYyNzQwWTI4OTc3M0QwMSoNCitYMjYyNzQ3WTI4OTc3M0QwMSoNCitZMjg0NTI4RDAxKg0KK1gyNjI1ODBZMjg0Mzg1RDAxKg0KK1gyNjIzODZZMjg0MTU3RDAxKg0KK1gyNjIzOTFZMjg0MjQ5RDAxKg0KK1gyNjIzNzJZMjg0NTcxRDAxKg0KK1gyNjIyOTdZMjg0ODg0RDAxKg0KK1gyNjIxNzNZMjg1MTgzRDAxKg0KK1gyNjIwMDVZMjg1NDU4RDAxKg0KK1gyNjE3OTVZMjg1NzAzRDAxKg0KK1gyNjE1NTBZMjg1OTEzRDAxKg0KK1gyNjEyNzVZMjg2MDgxRDAxKg0KK1gyNjA5NzZZMjg2MjA1RDAxKg0KK1gyNjA5MzhZMjg2MjE0RDAxKg0KK1kyOTA4NDZEMDEqDQorRzM3Kg0KK0czNioNCitZMzA1NjUyRDAyKlgyNjA5NDRZMzA1NjUwRDAxKg0KK1gyNjEyMjBZMzA1NTg0RDAxKg0KK1gyNjE1MDJZMzA1NTYxRDAxKg0KK1gyNjE3ODRZMzA1NTg0RDAxKg0KK1gyNjIwNjBZMzA1NjUwRDAxKg0KK1gyNjIzMjJZMzA1NzU4RDAxKg0KK1gyNjI1NjNZMzA1OTA2RDAxKg0KK1gyNjI3NDdZMzA2MDYzRDAxKg0KK1kyOTczMTlEMDEqDQorWDI2MjYwNVkyOTcyODVEMDEqDQorWDI2MjMwNlkyOTcxNjFEMDEqDQorWDI2MjAzMVkyOTY5OTNEMDEqDQorWDI2MTc4NlkyOTY3ODNEMDEqDQorWDI2MTU3NlkyOTY1MzhEMDEqDQorWDI2MTQwOFkyOTYyNjNEMDEqDQorWDI2MTI4NFkyOTU5NjREMDEqDQorWDI2MTIwOVkyOTU2NTFEMDEqDQorWDI2MTE4NFkyOTUzMjlEMDEqDQorWDI2MTIwOVkyOTUwMDdEMDEqDQorWDI2MTI4NFkyOTQ2OTREMDEqDQorWDI2MTQwOFkyOTQzOTVEMDEqDQorWDI2MTU3NlkyOTQxMjBEMDEqDQorWDI2MTc4NlkyOTM4NzVEMDEqDQorWDI2MTk2MVkyOTM3MjVEMDEqDQorWDI2MTgwNlkyOTM2NjFEMDEqDQorWDI2MTUzMVkyOTM0OTNEMDEqDQorWDI2MTI4NlkyOTMyODNEMDEqDQorWDI2MTA3NlkyOTMwMzhEMDEqDQorWDI2MDkzOFkyOTI4MTJEMDEqDQorWTMwNTY1MkQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDI2Mjc0N0QwMSoNCitZMzc3ODc2RDAxKg0KK1gyNjIzMDlZMzc3MzY0RDAxKg0KK1gyNjE5NTZZMzc2Nzg3RDAxKg0KK1gyNjE2OTdZMzc2MTYyRDAxKg0KK1gyNjE1MzlZMzc1NTA0RDAxKg0KK1gyNjE0ODZZMzc0ODI5RDAxKg0KK1gyNjE1MzlZMzc0MTU0RDAxKg0KK1gyNjE2OTdZMzczNDk2RDAxKg0KK1gyNjE5NTZZMzcyODcxRDAxKg0KK1gyNjIzMDlZMzcyMjk0RDAxKg0KK1gyNjI3NDdZMzcxNzgyRDAxKg0KK1kzNjc4NzZEMDEqDQorWDI2MjMwOVkzNjczNjREMDEqDQorWDI2MTk1NlkzNjY3ODdEMDEqDQorWDI2MTY5N1kzNjYxNjJEMDEqDQorWDI2MTUzOVkzNjU1MDREMDEqDQorWDI2MTQ4NlkzNjQ4MjlEMDEqDQorWDI2MTUzOVkzNjQxNTREMDEqDQorWDI2MTY5N1kzNjM0OTZEMDEqDQorWDI2MTk1NlkzNjI4NzFEMDEqDQorWDI2MjMwOVkzNjIyOTREMDEqDQorWDI2Mjc0N1kzNjE3ODJEMDEqDQorWTMyMTY2MUQwMSoNCitYMjYyNjIxWTMyMTYwOUQwMSoNCitYMjYyMzgwWTMyMTQ2MUQwMSoNCitYMjYyMTY0WTMyMTI3N0QwMSoNCitYMjYxOTgwWTMyMTA2MUQwMSoNCitYMjYxODMyWTMyMDgyMEQwMSoNCitYMjYxNzI0WTMyMDU1OEQwMSoNCitYMjYxNjU4WTMyMDI4MkQwMSoNCitYMjYxNjM1WTMyMDAwMEQwMSoNCitYMjYxNjU4WTMxOTcxOEQwMSoNCitYMjYxNzI0WTMxOTQ0MkQwMSoNCitYMjYxODMyWTMxOTE4MEQwMSoNCitYMjYxOTgwWTMxODkzOUQwMSoNCitYMjYyMTY0WTMxODcyM0QwMSoNCitYMjYyMzgwWTMxODUzOUQwMSoNCitYMjYyNjIxWTMxODM5MUQwMSoNCitYMjYyNzQ3WTMxODMzOUQwMSoNCitZMzA4NjcxRDAxKg0KK1gyNjI1NjNZMzA4ODI4RDAxKg0KK1gyNjIzMjJZMzA4OTc2RDAxKg0KK1gyNjIwNjBZMzA5MDg0RDAxKg0KK1gyNjE3ODRZMzA5MTUwRDAxKg0KK1gyNjE1MDJZMzA5MTczRDAxKg0KK1gyNjEyMjBZMzA5MTUwRDAxKg0KK1gyNjA5NDRZMzA5MDg0RDAxKg0KK1gyNjA5MzhZMzA5MDgyRDAxKg0KK1kzMTUyMzVEMDEqDQorWDI2MTEyNlkzMTUyODBEMDEqDQorWDI2MTM4OFkzMTUzODhEMDEqDQorWDI2MTYyOVkzMTU1MzZEMDEqDQorWDI2MTg0NVkzMTU3MjBEMDEqDQorWDI2MjAyOVkzMTU5MzZEMDEqDQorWDI2MjE3N1kzMTYxNzdEMDEqDQorWDI2MjI4NVkzMTY0MzlEMDEqDQorWDI2MjM1MVkzMTY3MTVEMDEqDQorWDI2MjM2OFkzMTY5OTdEMDEqDQorWDI2MjM1MVkzMTcyNzlEMDEqDQorWDI2MjI4NVkzMTc1NTVEMDEqDQorWDI2MjE3N1kzMTc4MTdEMDEqDQorWDI2MjAyOVkzMTgwNThEMDEqDQorWDI2MTg0NVkzMTgyNzREMDEqDQorWDI2MTYyOVkzMTg0NThEMDEqDQorWDI2MTM4OFkzMTg2MDZEMDEqDQorWDI2MTEyNlkzMTg3MTREMDEqDQorWDI2MDkzOFkzMTg3NTlEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjI3NDdZOTcwMDBEMDIqWDI2MDkzOEQwMSoNCitZMTg5Njk1RDAxKg0KK1gyNjA5NDFZMTg5Njk0RDAxKg0KK1gyNjEyMjNZMTg5NzE3RDAxKg0KK1gyNjE0OTlZMTg5NzgzRDAxKg0KK1gyNjE3NjFZMTg5ODkxRDAxKg0KK1gyNjIwMDJZMTkwMDM5RDAxKg0KK1gyNjIyMThZMTkwMjIzRDAxKg0KK1gyNjI0MDJZMTkwNDM5RDAxKg0KK1gyNjI1NTBZMTkwNjgwRDAxKg0KK1gyNjI2NThZMTkwOTQyRDAxKg0KK1gyNjI3MjRZMTkxMjE4RDAxKg0KK1gyNjI3NDFZMTkxNTAwRDAxKg0KK1gyNjI3MjRZMTkxNzgyRDAxKg0KK1gyNjI2NThZMTkyMDU4RDAxKg0KK1gyNjI1NTBZMTkyMzIwRDAxKg0KK1gyNjI0MDJZMTkyNTYxRDAxKg0KK1gyNjIyMThZMTkyNzc3RDAxKg0KK1gyNjIwMDJZMTkyOTYxRDAxKg0KK1gyNjE3NjFZMTkzMTA5RDAxKg0KK1gyNjE0OTlZMTkzMjE3RDAxKg0KK1gyNjEyMjNZMTkzMjgzRDAxKg0KK1gyNjA5NDFZMTkzMzA2RDAxKg0KK1gyNjA5MzhZMTkzMzA1RDAxKg0KK1kyNjc4MDVEMDEqDQorWDI2MTA4NlkyNjc1NjNEMDEqDQorWDI2MTI5NlkyNjczMThEMDEqDQorWDI2MTU0MVkyNjcxMDhEMDEqDQorWDI2MTgxNlkyNjY5NDBEMDEqDQorWDI2MjExNVkyNjY4MTZEMDEqDQorWDI2MjQyOFkyNjY3NDFEMDEqDQorWDI2Mjc0N1kyNjY3MTZEMDEqDQorWTE4Nzg3NkQwMSoNCitYMjYyMzA5WTE4NzM2NEQwMSoNCitYMjYxOTU2WTE4Njc4N0QwMSoNCitYMjYxNjk3WTE4NjE2MkQwMSoNCitYMjYxNTM5WTE4NTUwNEQwMSoNCitYMjYxNDg2WTE4NDgyOUQwMSoNCitYMjYxNTM5WTE4NDE1NEQwMSoNCitYMjYxNjk3WTE4MzQ5NkQwMSoNCitYMjYxOTU2WTE4Mjg3MUQwMSoNCitYMjYyMzA5WTE4MjI5NEQwMSoNCitYMjYyNzQ3WTE4MTc4MkQwMSoNCitZMTc3ODc2RDAxKg0KK1gyNjIzMDlZMTc3MzY0RDAxKg0KK1gyNjE5NTZZMTc2Nzg3RDAxKg0KK1gyNjE2OTdZMTc2MTYyRDAxKg0KK1gyNjE1MzlZMTc1NTA0RDAxKg0KK1gyNjE0ODZZMTc0ODI5RDAxKg0KK1gyNjE1MzlZMTc0MTU0RDAxKg0KK1gyNjE2OTdZMTczNDk2RDAxKg0KK1gyNjE5NTZZMTcyODcxRDAxKg0KK1gyNjIzMDlZMTcyMjk0RDAxKg0KK1gyNjI3NDdZMTcxNzgyRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjA5MzhEMDIqWDI1NTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gyNTU3OTlZMTcwNTE2RDAxKg0KK1gyNTY0NzRZMTcwNTY5RDAxKg0KK1gyNTcxMzJZMTcwNzI3RDAxKg0KK1gyNTc3NTdZMTcwOTg2RDAxKg0KK1gyNTgzMzRZMTcxMzM5RDAxKg0KK1gyNTg4NDlZMTcxNzc5RDAxKg0KK1gyNTkyODlZMTcyMjk0RDAxKg0KK1gyNTk2NDJZMTcyODcxRDAxKg0KK1gyNTk5MDFZMTczNDk2RDAxKg0KK1gyNjAwNTlZMTc0MTU0RDAxKg0KK1gyNjAwOTlZMTc0ODI5RDAxKg0KK1gyNjAwNTlZMTc1NTA0RDAxKg0KK1gyNTk5MDFZMTc2MTYyRDAxKg0KK1gyNTk2NDJZMTc2Nzg3RDAxKg0KK1gyNTkyODlZMTc3MzY0RDAxKg0KK1gyNTg4NDlZMTc3ODc5RDAxKg0KK1gyNTgzMzRZMTc4MzE5RDAxKg0KK1gyNTc3NTdZMTc4NjcyRDAxKg0KK1gyNTcxMzJZMTc4OTMxRDAxKg0KK1gyNTY0NzRZMTc5MDg5RDAxKg0KK1gyNTU3OTlZMTc5MTQyRDAxKg0KK1gyNTU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDI1NTc5OVkxODA1MTZEMDEqDQorWDI1NjQ3NFkxODA1NjlEMDEqDQorWDI1NzEzMlkxODA3MjdEMDEqDQorWDI1Nzc1N1kxODA5ODZEMDEqDQorWDI1ODMzNFkxODEzMzlEMDEqDQorWDI1ODg0OVkxODE3NzlEMDEqDQorWDI1OTI4OVkxODIyOTREMDEqDQorWDI1OTY0MlkxODI4NzFEMDEqDQorWDI1OTkwMVkxODM0OTZEMDEqDQorWDI2MDA1OVkxODQxNTREMDEqDQorWDI2MDA5OVkxODQ4MjlEMDEqDQorWDI2MDA1OVkxODU1MDREMDEqDQorWDI1OTkwMVkxODYxNjJEMDEqDQorWDI1OTY0MlkxODY3ODdEMDEqDQorWDI1OTI4OVkxODczNjREMDEqDQorWDI1ODg0OVkxODc4NzlEMDEqDQorWDI1ODMzNFkxODgzMTlEMDEqDQorWDI1Nzc1N1kxODg2NzJEMDEqDQorWDI1NzEzMlkxODg5MzFEMDEqDQorWDI1NjQ3NFkxODkwODlEMDEqDQorWDI1NTc5OVkxODkxNDJEMDEqDQorWDI1NTc5MlkxODkxNDJEMDEqDQorWTI5NjU3MEQwMSoNCitYMjU1OTQ5WTI5NjY2NUQwMSoNCitYMjU2MTk0WTI5Njg3NUQwMSoNCitYMjU2NDA0WTI5NzEyMEQwMSoNCitYMjU2NTcyWTI5NzM5NUQwMSoNCitYMjU2Njk2WTI5NzY5NEQwMSoNCitYMjU2NzcxWTI5ODAwN0QwMSoNCitYMjU2NzkwWTI5ODMyOUQwMSoNCitYMjU2NzcxWTI5ODY1MUQwMSoNCitYMjU2Njk2WTI5ODk2NEQwMSoNCitYMjU2NTcyWTI5OTI2M0QwMSoNCitYMjU2NDA0WTI5OTUzOEQwMSoNCitYMjU2MTk0WTI5OTc4M0QwMSoNCitYMjU1OTQ5WTI5OTk5M0QwMSoNCitYMjU1NzkyWTMwMDA4OEQwMSoNCitZMzYwNTE2RDAxKg0KK1gyNTU3OTlZMzYwNTE2RDAxKg0KK1gyNTY0NzRZMzYwNTY5RDAxKg0KK1gyNTcxMzJZMzYwNzI3RDAxKg0KK1gyNTc3NTdZMzYwOTg2RDAxKg0KK1gyNTgzMzRZMzYxMzM5RDAxKg0KK1gyNTg4NDlZMzYxNzc5RDAxKg0KK1gyNTkyODlZMzYyMjk0RDAxKg0KK1gyNTk2NDJZMzYyODcxRDAxKg0KK1gyNTk5MDFZMzYzNDk2RDAxKg0KK1gyNjAwNTlZMzY0MTU0RDAxKg0KK1gyNjAwOTlZMzY0ODI5RDAxKg0KK1gyNjAwNTlZMzY1NTA0RDAxKg0KK1gyNTk5MDFZMzY2MTYyRDAxKg0KK1gyNTk2NDJZMzY2Nzg3RDAxKg0KK1gyNTkyODlZMzY3MzY0RDAxKg0KK1gyNTg4NDlZMzY3ODc5RDAxKg0KK1gyNTgzMzRZMzY4MzE5RDAxKg0KK1gyNTc3NTdZMzY4NjcyRDAxKg0KK1gyNTcxMzJZMzY4OTMxRDAxKg0KK1gyNTY0NzRZMzY5MDg5RDAxKg0KK1gyNTU3OTlZMzY5MTQyRDAxKg0KK1gyNTU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDI1NTc5OVkzNzA1MTZEMDEqDQorWDI1NjQ3NFkzNzA1NjlEMDEqDQorWDI1NzEzMlkzNzA3MjdEMDEqDQorWDI1Nzc1N1kzNzA5ODZEMDEqDQorWDI1ODMzNFkzNzEzMzlEMDEqDQorWDI1ODg0OVkzNzE3NzlEMDEqDQorWDI1OTI4OVkzNzIyOTREMDEqDQorWDI1OTY0MlkzNzI4NzFEMDEqDQorWDI1OTkwMVkzNzM0OTZEMDEqDQorWDI2MDA1OVkzNzQxNTREMDEqDQorWDI2MDA5OVkzNzQ4MjlEMDEqDQorWDI2MDA1OVkzNzU1MDREMDEqDQorWDI1OTkwMVkzNzYxNjJEMDEqDQorWDI1OTY0MlkzNzY3ODdEMDEqDQorWDI1OTI4OVkzNzczNjREMDEqDQorWDI1ODg0OVkzNzc4NzlEMDEqDQorWDI1ODMzNFkzNzgzMTlEMDEqDQorWDI1Nzc1N1kzNzg2NzJEMDEqDQorWDI1NzEzMlkzNzg5MzFEMDEqDQorWDI1NjQ3NFkzNzkwODlEMDEqDQorWDI1NTc5OVkzNzkxNDJEMDEqDQorWDI1NTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMjYwOTM4RDAxKg0KK1kzMTg3NTlEMDEqDQorWDI2MDg1MFkzMTg3ODBEMDEqDQorWDI2MDU2OFkzMTg4MDNEMDEqDQorWDI2MDI4NlkzMTg3ODBEMDEqDQorWDI2MDAxMFkzMTg3MTREMDEqDQorWDI1OTc0OFkzMTg2MDZEMDEqDQorWDI1OTUwN1kzMTg0NThEMDEqDQorWDI1OTI5MVkzMTgyNzREMDEqDQorWDI1OTEwN1kzMTgwNThEMDEqDQorWDI1ODk1OVkzMTc4MTdEMDEqDQorWDI1ODg1MVkzMTc1NTVEMDEqDQorWDI1ODc4NVkzMTcyNzlEMDEqDQorWDI1ODc2MlkzMTY5OTdEMDEqDQorWDI1ODc4NVkzMTY3MTVEMDEqDQorWDI1ODg1MVkzMTY0MzlEMDEqDQorWDI1ODk1OVkzMTYxNzdEMDEqDQorWDI1OTEwN1kzMTU5MzZEMDEqDQorWDI1OTI5MVkzMTU3MjBEMDEqDQorWDI1OTUwN1kzMTU1MzZEMDEqDQorWDI1OTc0OFkzMTUzODhEMDEqDQorWDI2MDAxMFkzMTUyODBEMDEqDQorWDI2MDI4NlkzMTUyMTREMDEqDQorWDI2MDU2OFkzMTUxOTFEMDEqDQorWDI2MDg1MFkzMTUyMTREMDEqDQorWDI2MDkzOFkzMTUyMzVEMDEqDQorWTMwOTA4MkQwMSoNCitYMjYwNjgyWTMwODk3NkQwMSoNCitYMjYwNDQxWTMwODgyOEQwMSoNCitYMjYwMjI1WTMwODY0NEQwMSoNCitYMjYwMDQxWTMwODQyOEQwMSoNCitYMjU5ODkzWTMwODE4N0QwMSoNCitYMjU5Nzg1WTMwNzkyNUQwMSoNCitYMjU5NzE5WTMwNzY0OUQwMSoNCitYMjU5Njk2WTMwNzM2N0QwMSoNCitYMjU5NzE5WTMwNzA4NUQwMSoNCitYMjU5Nzg1WTMwNjgwOUQwMSoNCitYMjU5ODkzWTMwNjU0N0QwMSoNCitYMjYwMDQxWTMwNjMwNkQwMSoNCitYMjYwMjI1WTMwNjA5MEQwMSoNCitYMjYwNDQxWTMwNTkwNkQwMSoNCitYMjYwNjgyWTMwNTc1OEQwMSoNCitYMjYwOTM4WTMwNTY1MkQwMSoNCitZMjkyODEyRDAxKg0KK1gyNjA5MDhZMjkyNzYzRDAxKg0KK1gyNjA3ODRZMjkyNDY0RDAxKg0KK1gyNjA3MDlZMjkyMTUxRDAxKg0KK1gyNjA2ODRZMjkxODI5RDAxKg0KK1gyNjA3MDlZMjkxNTA3RDAxKg0KK1gyNjA3ODRZMjkxMTk0RDAxKg0KK1gyNjA5MDhZMjkwODk1RDAxKg0KK1gyNjA5MzhZMjkwODQ2RDAxKg0KK1kyODYyMTREMDEqDQorWDI2MDY2M1kyODYyODBEMDEqDQorWDI2MDM0MVkyODYzMDVEMDEqDQorWDI2MDAxOVkyODYyODBEMDEqDQorWDI1OTcwNlkyODYyMDVEMDEqDQorWDI1OTQwN1kyODYwODFEMDEqDQorWDI1OTEzMlkyODU5MTNEMDEqDQorWDI1ODg4N1kyODU3MDNEMDEqDQorWDI1ODY3N1kyODU0NThEMDEqDQorWDI1ODUwOVkyODUxODNEMDEqDQorWDI1ODM4NVkyODQ4ODREMDEqDQorWDI1ODMxMFkyODQ1NzFEMDEqDQorWDI1ODI4NVkyODQyNDlEMDEqDQorWDI1ODMxMFkyODM5MjdEMDEqDQorWDI1ODM4NVkyODM2MTREMDEqDQorWDI1ODUwOVkyODMzMTVEMDEqDQorWDI1ODY3N1kyODMwNDBEMDEqDQorWDI1ODg4N1kyODI3OTVEMDEqDQorWDI1OTEzMlkyODI1ODVEMDEqDQorWDI1OTQwN1kyODI0MTdEMDEqDQorWDI1OTcwNlkyODIyOTNEMDEqDQorWDI2MDAxOVkyODIyMThEMDEqDQorWDI2MDM0MVkyODIxOTNEMDEqDQorWDI2MDY2M1kyODIyMThEMDEqDQorWDI2MDkzOFkyODIyODREMDEqDQorWTI2OTczOUQwMSoNCitYMjYwOTE4WTI2OTcwNkQwMSoNCitYMjYwNzk0WTI2OTQwN0QwMSoNCitYMjYwNzE5WTI2OTA5NEQwMSoNCitYMjYwNjk0WTI2ODc3MkQwMSoNCitYMjYwNzE5WTI2ODQ1MEQwMSoNCitYMjYwNzk0WTI2ODEzN0QwMSoNCitYMjYwOTE4WTI2NzgzOEQwMSoNCitYMjYwOTM4WTI2NzgwNUQwMSoNCitZMTkzMzA1RDAxKg0KK1gyNjA2NTlZMTkzMjgzRDAxKg0KK1gyNjAzODNZMTkzMjE3RDAxKg0KK1gyNjAxMjFZMTkzMTA5RDAxKg0KK1gyNTk4ODBZMTkyOTYxRDAxKg0KK1gyNTk2NjRZMTkyNzc3RDAxKg0KK1gyNTk0ODBZMTkyNTYxRDAxKg0KK1gyNTkzMzJZMTkyMzIwRDAxKg0KK1gyNTkyMjRZMTkyMDU4RDAxKg0KK1gyNTkxNThZMTkxNzgyRDAxKg0KK1gyNTkxMzVZMTkxNTAwRDAxKg0KK1gyNTkxNThZMTkxMjE4RDAxKg0KK1gyNTkyMjRZMTkwOTQyRDAxKg0KK1gyNTkzMzJZMTkwNjgwRDAxKg0KK1gyNTk0ODBZMTkwNDM5RDAxKg0KK1gyNTk2NjRZMTkwMjIzRDAxKg0KK1gyNTk4ODBZMTkwMDM5RDAxKg0KK1gyNjAxMjFZMTg5ODkxRDAxKg0KK1gyNjAzODNZMTg5NzgzRDAxKg0KK1gyNjA2NTlZMTg5NzE3RDAxKg0KK1gyNjA5MzhZMTg5Njk1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNTMwOThZMTgxNDgxRDAyKlgyNTMyNjRZMTgxMzM5RDAxKg0KK1gyNTM4NDFZMTgwOTg2RDAxKg0KK1gyNTQ0NjZZMTgwNzI3RDAxKg0KK1gyNTUxMjRZMTgwNTY5RDAxKg0KK1gyNTU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDI1NTEyNFkxNzkwODlEMDEqDQorWDI1NDQ2NlkxNzg5MzFEMDEqDQorWDI1Mzg0MVkxNzg2NzJEMDEqDQorWDI1MzI2NFkxNzgzMTlEMDEqDQorWDI1MzA5OFkxNzgxNzdEMDEqDQorWTE4MTQ4MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyOTcwOTVEMDIqWDI1MzI4NlkyOTY4NzVEMDEqDQorWDI1MzUzMVkyOTY2NjVEMDEqDQorWDI1MzgwNlkyOTY0OTdEMDEqDQorWDI1NDEwNVkyOTYzNzNEMDEqDQorWDI1NDQxOFkyOTYyOThEMDEqDQorWDI1NDc0MFkyOTYyNzNEMDEqDQorWDI1NTA2MlkyOTYyOThEMDEqDQorWDI1NTM3NVkyOTYzNzNEMDEqDQorWDI1NTY3NFkyOTY0OTdEMDEqDQorWDI1NTc5MlkyOTY1NzBEMDEqDQorWTE4OTE0MkQwMSoNCitYMjU1MTI0WTE4OTA4OUQwMSoNCitYMjU0NDY2WTE4ODkzMUQwMSoNCitYMjUzODQxWTE4ODY3MkQwMSoNCitYMjUzMjY0WTE4ODMxOUQwMSoNCitYMjUzMDk4WTE4ODE3N0QwMSoNCitZMjA5MTIxRDAxKg0KK1gyNTMyMThZMjA5MjIzRDAxKg0KK1gyNTM0MDJZMjA5NDM5RDAxKg0KK1gyNTM1NTBZMjA5NjgwRDAxKg0KK1gyNTM2NThZMjA5OTQyRDAxKg0KK1gyNTM3MjRZMjEwMjE4RDAxKg0KK1gyNTM3NDFZMjEwNTAwRDAxKg0KK1gyNTM3MjRZMjEwNzgyRDAxKg0KK1gyNTM2NThZMjExMDU4RDAxKg0KK1gyNTM1NTBZMjExMzIwRDAxKg0KK1gyNTM0MDJZMjExNTYxRDAxKg0KK1gyNTMyMThZMjExNzc3RDAxKg0KK1gyNTMwOThZMjExODc5RDAxKg0KK1kyNTk3ODBEMDEqDQorWDI1MzEwMVkyNTk3ODBEMDEqDQorWDI1MzQyM1kyNTk4MDVEMDEqDQorWDI1MzczNlkyNTk4ODBEMDEqDQorWDI1NDAzNVkyNjAwMDREMDEqDQorWDI1NDMxMFkyNjAxNzJEMDEqDQorWDI1NDU1NVkyNjAzODJEMDEqDQorWDI1NDc2NVkyNjA2MjdEMDEqDQorWDI1NDkzM1kyNjA5MDJEMDEqDQorWDI1NTA1N1kyNjEyMDFEMDEqDQorWDI1NTEzMlkyNjE1MTREMDEqDQorWDI1NTE1MVkyNjE4MzZEMDEqDQorWDI1NTEzMlkyNjIxNThEMDEqDQorWDI1NTA1N1kyNjI0NzFEMDEqDQorWDI1NDkzM1kyNjI3NzBEMDEqDQorWDI1NDc2NVkyNjMwNDVEMDEqDQorWDI1NDU1NVkyNjMyOTBEMDEqDQorWDI1NDMxMFkyNjM1MDBEMDEqDQorWDI1NDAzNVkyNjM2NjhEMDEqDQorWDI1MzczNlkyNjM3OTJEMDEqDQorWDI1MzQyM1kyNjM4NjdEMDEqDQorWDI1MzEwMVkyNjM4OTJEMDEqDQorWDI1MzA5OFkyNjM4OTJEMDEqDQorWTI5NzA5NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjE0ODFEMDIqWDI1MzI2NFkzNjEzMzlEMDEqDQorWDI1Mzg0MVkzNjA5ODZEMDEqDQorWDI1NDQ2NlkzNjA3MjdEMDEqDQorWDI1NTEyNFkzNjA1NjlEMDEqDQorWDI1NTc5MlkzNjA1MTZEMDEqDQorWTMwMDA4OEQwMSoNCitYMjU1Njc0WTMwMDE2MUQwMSoNCitYMjU1Mzc1WTMwMDI4NUQwMSoNCitYMjU1MDYyWTMwMDM2MEQwMSoNCitYMjU0NzQwWTMwMDM4NUQwMSoNCitYMjU0NDE4WTMwMDM2MEQwMSoNCitYMjU0MTA1WTMwMDI4NUQwMSoNCitYMjUzODA2WTMwMDE2MUQwMSoNCitYMjUzNTMxWTI5OTk5M0QwMSoNCitYMjUzMjg2WTI5OTc4M0QwMSoNCitYMjUzMDk4WTI5OTU2M0QwMSoNCitZMzYxNDgxRDAxKg0KK0czNyoNCitHMzYqDQorWTM3MTQ4MUQwMipYMjUzMjY0WTM3MTMzOUQwMSoNCitYMjUzODQxWTM3MDk4NkQwMSoNCitYMjU0NDY2WTM3MDcyN0QwMSoNCitYMjU1MTI0WTM3MDU2OUQwMSoNCitYMjU1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gyNTUxMjRZMzY5MDg5RDAxKg0KK1gyNTQ0NjZZMzY4OTMxRDAxKg0KK1gyNTM4NDFZMzY4NjcyRDAxKg0KK1gyNTMyNjRZMzY4MzE5RDAxKg0KK1gyNTMwOThZMzY4MTc3RDAxKg0KK1kzNzE0ODFEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyNTU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMjU1MTI0WTM3OTA4OUQwMSoNCitYMjU0NDY2WTM3ODkzMUQwMSoNCitYMjUzODQxWTM3ODY3MkQwMSoNCitYMjUzMjY0WTM3ODMxOUQwMSoNCitYMjUzMDk4WTM3ODE3N0QwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI1NTc5Mlk5NzAwMEQwMipYMjUzMDk4RDAxKg0KK1kxMDA3MzFEMDEqDQorWDI1MzE1OVkxMDA3MTdEMDEqDQorWDI1MzQ0MVkxMDA2OTREMDEqDQorWDI1MzcyM1kxMDA3MTdEMDEqDQorWDI1Mzk5OVkxMDA3ODNEMDEqDQorWDI1NDI2MVkxMDA4OTFEMDEqDQorWDI1NDUwMlkxMDEwMzlEMDEqDQorWDI1NDcxOFkxMDEyMjNEMDEqDQorWDI1NDkwMlkxMDE0MzlEMDEqDQorWDI1NTA1MFkxMDE2ODBEMDEqDQorWDI1NTE1OFkxMDE5NDJEMDEqDQorWDI1NTIyNFkxMDIyMThEMDEqDQorWDI1NTI0MVkxMDI1MDBEMDEqDQorWDI1NTIyNFkxMDI3ODJEMDEqDQorWDI1NTE1OFkxMDMwNThEMDEqDQorWDI1NTA1MFkxMDMzMjBEMDEqDQorWDI1NDkwMlkxMDM1NjFEMDEqDQorWDI1NDcxOFkxMDM3NzdEMDEqDQorWDI1NDUwMlkxMDM5NjFEMDEqDQorWDI1NDI2MVkxMDQxMDlEMDEqDQorWDI1Mzk5OVkxMDQyMTdEMDEqDQorWDI1MzcyM1kxMDQyODNEMDEqDQorWDI1MzQ0MVkxMDQzMDZEMDEqDQorWDI1MzE1OVkxMDQyODNEMDEqDQorWDI1MzA5OFkxMDQyNjlEMDEqDQorWTE3MTQ4MUQwMSoNCitYMjUzMjY0WTE3MTMzOUQwMSoNCitYMjUzODQxWTE3MDk4NkQwMSoNCitYMjU0NDY2WTE3MDcyN0QwMSoNCitYMjU1MTI0WTE3MDU2OUQwMSoNCitYMjU1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUwOTM4WTM5NzAwMEQwMipYMjUzMDk4RDAxKg0KK1kzNzgxNzdEMDEqDQorWDI1Mjc0OVkzNzc4NzlEMDEqDQorWDI1MjMwOVkzNzczNjREMDEqDQorWDI1MTk1NlkzNzY3ODdEMDEqDQorWDI1MTY5N1kzNzYxNjJEMDEqDQorWDI1MTUzOVkzNzU1MDREMDEqDQorWDI1MTQ4NlkzNzQ4MjlEMDEqDQorWDI1MTUzOVkzNzQxNTREMDEqDQorWDI1MTY5N1kzNzM0OTZEMDEqDQorWDI1MTk1NlkzNzI4NzFEMDEqDQorWDI1MjMwOVkzNzIyOTREMDEqDQorWDI1Mjc0OVkzNzE3NzlEMDEqDQorWDI1MzA5OFkzNzE0ODFEMDEqDQorWTM2ODE3N0QwMSoNCitYMjUyNzQ5WTM2Nzg3OUQwMSoNCitYMjUyMzA5WTM2NzM2NEQwMSoNCitYMjUxOTU2WTM2Njc4N0QwMSoNCitYMjUxNjk3WTM2NjE2MkQwMSoNCitYMjUxNTM5WTM2NTUwNEQwMSoNCitYMjUxNDg2WTM2NDgyOUQwMSoNCitYMjUxNTM5WTM2NDE1NEQwMSoNCitYMjUxNjk3WTM2MzQ5NkQwMSoNCitYMjUxOTU2WTM2Mjg3MUQwMSoNCitYMjUyMzA5WTM2MjI5NEQwMSoNCitYMjUyNzQ5WTM2MTc3OUQwMSoNCitYMjUzMDk4WTM2MTQ4MUQwMSoNCitZMjk5NTYzRDAxKg0KK1gyNTMwNzZZMjk5NTM4RDAxKg0KK1gyNTI5MDhZMjk5MjYzRDAxKg0KK1gyNTI3ODRZMjk4OTY0RDAxKg0KK1gyNTI3MDlZMjk4NjUxRDAxKg0KK1gyNTI2ODRZMjk4MzI5RDAxKg0KK1gyNTI3MDlZMjk4MDA3RDAxKg0KK1gyNTI3ODRZMjk3Njk0RDAxKg0KK1gyNTI5MDhZMjk3Mzk1RDAxKg0KK1gyNTMwNzZZMjk3MTIwRDAxKg0KK1gyNTMwOThZMjk3MDk1RDAxKg0KK1kyNjM4OTJEMDEqDQorWDI1Mjc3OVkyNjM4NjdEMDEqDQorWDI1MjQ2NlkyNjM3OTJEMDEqDQorWDI1MjE2N1kyNjM2NjhEMDEqDQorWDI1MTg5MlkyNjM1MDBEMDEqDQorWDI1MTY0N1kyNjMyOTBEMDEqDQorWDI1MTQzN1kyNjMwNDVEMDEqDQorWDI1MTI2OVkyNjI3NzBEMDEqDQorWDI1MTE0NVkyNjI0NzFEMDEqDQorWDI1MTA3MFkyNjIxNThEMDEqDQorWDI1MTA0NVkyNjE4MzZEMDEqDQorWDI1MTA3MFkyNjE1MTREMDEqDQorWDI1MTE0NVkyNjEyMDFEMDEqDQorWDI1MTI2OVkyNjA5MDJEMDEqDQorWDI1MTQzN1kyNjA2MjdEMDEqDQorWDI1MTY0N1kyNjAzODJEMDEqDQorWDI1MTg5MlkyNjAxNzJEMDEqDQorWDI1MjE2N1kyNjAwMDREMDEqDQorWDI1MjQ2NlkyNTk4ODBEMDEqDQorWDI1Mjc3OVkyNTk4MDVEMDEqDQorWDI1MzA5OFkyNTk3ODBEMDEqDQorWTIxMTg3OUQwMSoNCitYMjUzMDAyWTIxMTk2MUQwMSoNCitYMjUyNzYxWTIxMjEwOUQwMSoNCitYMjUyNDk5WTIxMjIxN0QwMSoNCitYMjUyMjIzWTIxMjI4M0QwMSoNCitYMjUxOTQxWTIxMjMwNkQwMSoNCitYMjUxNjU5WTIxMjI4M0QwMSoNCitYMjUxMzgzWTIxMjIxN0QwMSoNCitYMjUxMTIxWTIxMjEwOUQwMSoNCitYMjUwOTM4WTIxMTk5N0QwMSoNCitZMjI3Njk1RDAxKg0KK1gyNTA5NDFZMjI3Njk0RDAxKg0KK1gyNTEyMjNZMjI3NzE3RDAxKg0KK1gyNTE0OTlZMjI3NzgzRDAxKg0KK1gyNTE3NjFZMjI3ODkxRDAxKg0KK1gyNTIwMDJZMjI4MDM5RDAxKg0KK1gyNTIyMThZMjI4MjIzRDAxKg0KK1gyNTI0MDJZMjI4NDM5RDAxKg0KK1gyNTI1NTBZMjI4NjgwRDAxKg0KK1gyNTI2NThZMjI4OTQyRDAxKg0KK1gyNTI3MjRZMjI5MjE4RDAxKg0KK1gyNTI3NDFZMjI5NTAwRDAxKg0KK1gyNTI3MjRZMjI5NzgyRDAxKg0KK1gyNTI2NThZMjMwMDU4RDAxKg0KK1gyNTI1NTBZMjMwMzIwRDAxKg0KK1gyNTI0MDJZMjMwNTYxRDAxKg0KK1gyNTIyMThZMjMwNzc3RDAxKg0KK1gyNTIwMDJZMjMwOTYxRDAxKg0KK1gyNTE3NjFZMjMxMTA5RDAxKg0KK1gyNTE0OTlZMjMxMjE3RDAxKg0KK1gyNTEyMjNZMjMxMjgzRDAxKg0KK1gyNTA5NDFZMjMxMzA2RDAxKg0KK1gyNTA5MzhZMjMxMzA1RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUzMDk4WTk3MDAwRDAyKlgyNTA5MzhEMDEqDQorWTIwOTAwM0QwMSoNCitYMjUxMTIxWTIwODg5MUQwMSoNCitYMjUxMzgzWTIwODc4M0QwMSoNCitYMjUxNjU5WTIwODcxN0QwMSoNCitYMjUxOTQxWTIwODY5NEQwMSoNCitYMjUyMjIzWTIwODcxN0QwMSoNCitYMjUyNDk5WTIwODc4M0QwMSoNCitYMjUyNzYxWTIwODg5MUQwMSoNCitYMjUzMDAyWTIwOTAzOUQwMSoNCitYMjUzMDk4WTIwOTEyMUQwMSoNCitZMTg4MTc3RDAxKg0KK1gyNTI3NDlZMTg3ODc5RDAxKg0KK1gyNTIzMDlZMTg3MzY0RDAxKg0KK1gyNTE5NTZZMTg2Nzg3RDAxKg0KK1gyNTE2OTdZMTg2MTYyRDAxKg0KK1gyNTE1MzlZMTg1NTA0RDAxKg0KK1gyNTE0ODZZMTg0ODI5RDAxKg0KK1gyNTE1MzlZMTg0MTU0RDAxKg0KK1gyNTE2OTdZMTgzNDk2RDAxKg0KK1gyNTE5NTZZMTgyODcxRDAxKg0KK1gyNTIzMDlZMTgyMjk0RDAxKg0KK1gyNTI3NDlZMTgxNzc5RDAxKg0KK1gyNTMwOThZMTgxNDgxRDAxKg0KK1kxNzgxNzdEMDEqDQorWDI1Mjc0OVkxNzc4NzlEMDEqDQorWDI1MjMwOVkxNzczNjREMDEqDQorWDI1MTk1NlkxNzY3ODdEMDEqDQorWDI1MTY5N1kxNzYxNjJEMDEqDQorWDI1MTUzOVkxNzU1MDREMDEqDQorWDI1MTQ4NlkxNzQ4MjlEMDEqDQorWDI1MTUzOVkxNzQxNTREMDEqDQorWDI1MTY5N1kxNzM0OTZEMDEqDQorWDI1MTk1NlkxNzI4NzFEMDEqDQorWDI1MjMwOVkxNzIyOTREMDEqDQorWDI1Mjc0OVkxNzE3NzlEMDEqDQorWDI1MzA5OFkxNzE0ODFEMDEqDQorWTEwNDI2OUQwMSoNCitYMjUyODgzWTEwNDIxN0QwMSoNCitYMjUyNjIxWTEwNDEwOUQwMSoNCitYMjUyMzgwWTEwMzk2MUQwMSoNCitYMjUyMTY0WTEwMzc3N0QwMSoNCitYMjUxOTgwWTEwMzU2MUQwMSoNCitYMjUxODMyWTEwMzMyMEQwMSoNCitYMjUxNzI0WTEwMzA1OEQwMSoNCitYMjUxNjU4WTEwMjc4MkQwMSoNCitYMjUxNjM1WTEwMjUwMEQwMSoNCitYMjUxNjU4WTEwMjIxOEQwMSoNCitYMjUxNzI0WTEwMTk0MkQwMSoNCitYMjUxODMyWTEwMTY4MEQwMSoNCitYMjUxOTgwWTEwMTQzOUQwMSoNCitYMjUyMTY0WTEwMTIyM0QwMSoNCitYMjUyMzgwWTEwMTAzOUQwMSoNCitYMjUyNjIxWTEwMDg5MUQwMSoNCitYMjUyODgzWTEwMDc4M0QwMSoNCitYMjUzMDk4WTEwMDczMUQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUwOTM4RDAyKlgyNDkwOThEMDEqDQorWTE3MjA3MUQwMSoNCitYMjQ5Mjg5WTE3MjI5NEQwMSoNCitYMjQ5NjQyWTE3Mjg3MUQwMSoNCitYMjQ5OTAxWTE3MzQ5NkQwMSoNCitYMjUwMDU5WTE3NDE1NEQwMSoNCitYMjUwMDk5WTE3NDgyOUQwMSoNCitYMjUwMDU5WTE3NTUwNEQwMSoNCitYMjQ5OTAxWTE3NjE2MkQwMSoNCitYMjQ5NjQyWTE3Njc4N0QwMSoNCitYMjQ5Mjg5WTE3NzM2NEQwMSoNCitYMjQ5MDk4WTE3NzU4N0QwMSoNCitZMTgyMDcxRDAxKg0KK1gyNDkyODlZMTgyMjk0RDAxKg0KK1gyNDk2NDJZMTgyODcxRDAxKg0KK1gyNDk5MDFZMTgzNDk2RDAxKg0KK1gyNTAwNTlZMTg0MTU0RDAxKg0KK1gyNTAwOTlZMTg0ODI5RDAxKg0KK1gyNTAwNTlZMTg1NTA0RDAxKg0KK1gyNDk5MDFZMTg2MTYyRDAxKg0KK1gyNDk2NDJZMTg2Nzg3RDAxKg0KK1gyNDkyODlZMTg3MzY0RDAxKg0KK1gyNDkwOThZMTg3NTg3RDAxKg0KK1kzMjY5ODhEMDEqDQorWDI0OTEwMVkzMjY5ODdEMDEqDQorWDI0OTM4M1kzMjcwMTBEMDEqDQorWDI0OTY1OVkzMjcwNzZEMDEqDQorWDI0OTkyMVkzMjcxODREMDEqDQorWDI1MDE2MlkzMjczMzJEMDEqDQorWDI1MDM3OFkzMjc1MTZEMDEqDQorWDI1MDU2MlkzMjc3MzJEMDEqDQorWDI1MDcxMFkzMjc5NzNEMDEqDQorWDI1MDgxOFkzMjgyMzVEMDEqDQorWDI1MDg4NFkzMjg1MTFEMDEqDQorWDI1MDkwMVkzMjg3OTNEMDEqDQorWDI1MDg4NFkzMjkwNzVEMDEqDQorWDI1MDgxOFkzMjkzNTFEMDEqDQorWDI1MDcxMFkzMjk2MTNEMDEqDQorWDI1MDU2MlkzMjk4NTREMDEqDQorWDI1MDM3OFkzMzAwNzBEMDEqDQorWDI1MDE2MlkzMzAyNTREMDEqDQorWDI0OTkyMVkzMzA0MDJEMDEqDQorWDI0OTY1OVkzMzA1MTBEMDEqDQorWDI0OTM4M1kzMzA1NzZEMDEqDQorWDI0OTEwMVkzMzA1OTlEMDEqDQorWDI0OTA5OFkzMzA1OThEMDEqDQorWTM2MjA3MUQwMSoNCitYMjQ5Mjg5WTM2MjI5NEQwMSoNCitYMjQ5NjQyWTM2Mjg3MUQwMSoNCitYMjQ5OTAxWTM2MzQ5NkQwMSoNCitYMjUwMDU5WTM2NDE1NEQwMSoNCitYMjUwMDk5WTM2NDgyOUQwMSoNCitYMjUwMDU5WTM2NTUwNEQwMSoNCitYMjQ5OTAxWTM2NjE2MkQwMSoNCitYMjQ5NjQyWTM2Njc4N0QwMSoNCitYMjQ5Mjg5WTM2NzM2NEQwMSoNCitYMjQ5MDk4WTM2NzU4N0QwMSoNCitZMzcyMDcxRDAxKg0KK1gyNDkyODlZMzcyMjk0RDAxKg0KK1gyNDk2NDJZMzcyODcxRDAxKg0KK1gyNDk5MDFZMzczNDk2RDAxKg0KK1gyNTAwNTlZMzc0MTU0RDAxKg0KK1gyNTAwOTlZMzc0ODI5RDAxKg0KK1gyNTAwNTlZMzc1NTA0RDAxKg0KK1gyNDk5MDFZMzc2MTYyRDAxKg0KK1gyNDk2NDJZMzc2Nzg3RDAxKg0KK1gyNDkyODlZMzc3MzY0RDAxKg0KK1gyNDkwOThZMzc3NTg3RDAxKg0KK1kzOTcwMDBEMDEqDQorWDI1MDkzOEQwMSoNCitZMjMxMzA1RDAxKg0KK1gyNTA2NTlZMjMxMjgzRDAxKg0KK1gyNTAzODNZMjMxMjE3RDAxKg0KK1gyNTAxMjFZMjMxMTA5RDAxKg0KK1gyNDk4ODBZMjMwOTYxRDAxKg0KK1gyNDk2NjRZMjMwNzc3RDAxKg0KK1gyNDk0ODBZMjMwNTYxRDAxKg0KK1gyNDkzMzJZMjMwMzIwRDAxKg0KK1gyNDkyMjRZMjMwMDU4RDAxKg0KK1gyNDkxNThZMjI5NzgyRDAxKg0KK1gyNDkxMzVZMjI5NTAwRDAxKg0KK1gyNDkxNThZMjI5MjE4RDAxKg0KK1gyNDkyMjRZMjI4OTQyRDAxKg0KK1gyNDkzMzJZMjI4NjgwRDAxKg0KK1gyNDk0ODBZMjI4NDM5RDAxKg0KK1gyNDk2NjRZMjI4MjIzRDAxKg0KK1gyNDk4ODBZMjI4MDM5RDAxKg0KK1gyNTAxMjFZMjI3ODkxRDAxKg0KK1gyNTAzODNZMjI3NzgzRDAxKg0KK1gyNTA2NTlZMjI3NzE3RDAxKg0KK1gyNTA5MzhZMjI3Njk1RDAxKg0KK1kyMTE5OTdEMDEqDQorWDI1MDg4MFkyMTE5NjFEMDEqDQorWDI1MDY2NFkyMTE3NzdEMDEqDQorWDI1MDQ4MFkyMTE1NjFEMDEqDQorWDI1MDMzMlkyMTEzMjBEMDEqDQorWDI1MDIyNFkyMTEwNThEMDEqDQorWDI1MDE1OFkyMTA3ODJEMDEqDQorWDI1MDEzNVkyMTA1MDBEMDEqDQorWDI1MDE1OFkyMTAyMThEMDEqDQorWDI1MDIyNFkyMDk5NDJEMDEqDQorWDI1MDMzMlkyMDk2ODBEMDEqDQorWDI1MDQ4MFkyMDk0MzlEMDEqDQorWDI1MDY2NFkyMDkyMjNEMDEqDQorWDI1MDg4MFkyMDkwMzlEMDEqDQorWDI1MDkzOFkyMDkwMDNEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI0OTA5OFkzNzc1ODdEMDIqWDI0ODg0OVkzNzc4NzlEMDEqDQorWDI0ODMzNFkzNzgzMTlEMDEqDQorWDI0Nzc1N1kzNzg2NzJEMDEqDQorWDI0NzEzMlkzNzg5MzFEMDEqDQorWDI0NjQ3NFkzNzkwODlEMDEqDQorWDI0NTc5OVkzNzkxNDJEMDEqDQorWDI0NTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMjQ5MDk4RDAxKg0KK1kzNzc1ODdEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3NTg3RDAyKlgyNDg4NDlZMzY3ODc5RDAxKg0KK1gyNDgzMzRZMzY4MzE5RDAxKg0KK1gyNDc3NTdZMzY4NjcyRDAxKg0KK1gyNDcxMzJZMzY4OTMxRDAxKg0KK1gyNDY0NzRZMzY5MDg5RDAxKg0KK1gyNDU3OTlZMzY5MTQyRDAxKg0KK1gyNDU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDI0NTc5OVkzNzA1MTZEMDEqDQorWDI0NjQ3NFkzNzA1NjlEMDEqDQorWDI0NzEzMlkzNzA3MjdEMDEqDQorWDI0Nzc1N1kzNzA5ODZEMDEqDQorWDI0ODMzNFkzNzEzMzlEMDEqDQorWDI0ODg0OVkzNzE3NzlEMDEqDQorWDI0OTA5OFkzNzIwNzFEMDEqDQorWTM2NzU4N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxODc1ODdEMDIqWDI0ODg0OVkxODc4NzlEMDEqDQorWDI0ODMzNFkxODgzMTlEMDEqDQorWDI0Nzc1N1kxODg2NzJEMDEqDQorWDI0NzEzMlkxODg5MzFEMDEqDQorWDI0NjQ3NFkxODkwODlEMDEqDQorWDI0NTc5OVkxODkxNDJEMDEqDQorWDI0NTc5MlkxODkxNDJEMDEqDQorWTE4OTcyNEQwMSoNCitYMjQ1ODYzWTE4OTcxOEQwMSoNCitYMjQ2MTQ1WTE4OTc0MUQwMSoNCitYMjQ2NDIxWTE4OTgwN0QwMSoNCitYMjQ2NjgzWTE4OTkxNUQwMSoNCitYMjQ2OTI0WTE5MDA2M0QwMSoNCitYMjQ3MTQwWTE5MDI0N0QwMSoNCitYMjQ3MzI0WTE5MDQ2M0QwMSoNCitYMjQ3NDcyWTE5MDcwNEQwMSoNCitYMjQ3NTgwWTE5MDk2NkQwMSoNCitYMjQ3NjQ2WTE5MTI0MkQwMSoNCitYMjQ3NjYzWTE5MTUyNEQwMSoNCitYMjQ3NjQ2WTE5MTgwNkQwMSoNCitYMjQ3NTgwWTE5MjA4MkQwMSoNCitYMjQ3NDcyWTE5MjM0NEQwMSoNCitYMjQ3MzI0WTE5MjU4NUQwMSoNCitYMjQ3MTQwWTE5MjgwMUQwMSoNCitYMjQ2OTI0WTE5Mjk4NUQwMSoNCitYMjQ2NjgzWTE5MzEzM0QwMSoNCitYMjQ2NDIxWTE5MzI0MUQwMSoNCitYMjQ2MTQ1WTE5MzMwN0QwMSoNCitYMjQ1ODYzWTE5MzMzMEQwMSoNCitYMjQ1NzkyWTE5MzMyNEQwMSoNCitZMjI3ODIwRDAxKg0KK1gyNDU4ODNZMjI3NzgzRDAxKg0KK1gyNDYxNTlZMjI3NzE3RDAxKg0KK1gyNDY0NDFZMjI3Njk0RDAxKg0KK1gyNDY3MjNZMjI3NzE3RDAxKg0KK1gyNDY5OTlZMjI3NzgzRDAxKg0KK1gyNDcyNjFZMjI3ODkxRDAxKg0KK1gyNDc1MDJZMjI4MDM5RDAxKg0KK1gyNDc3MThZMjI4MjIzRDAxKg0KK1gyNDc5MDJZMjI4NDM5RDAxKg0KK1gyNDgwNTBZMjI4NjgwRDAxKg0KK1gyNDgxNThZMjI4OTQyRDAxKg0KK1gyNDgyMjRZMjI5MjE4RDAxKg0KK1gyNDgyNDFZMjI5NTAwRDAxKg0KK1gyNDgyMjRZMjI5NzgyRDAxKg0KK1gyNDgxNThZMjMwMDU4RDAxKg0KK1gyNDgwNTBZMjMwMzIwRDAxKg0KK1gyNDc5MDJZMjMwNTYxRDAxKg0KK1gyNDc3MThZMjMwNzc3RDAxKg0KK1gyNDc1MDJZMjMwOTYxRDAxKg0KK1gyNDcyNjFZMjMxMTA5RDAxKg0KK1gyNDY5OTlZMjMxMjE3RDAxKg0KK1gyNDY3MjNZMjMxMjgzRDAxKg0KK1gyNDY0NDFZMjMxMzA2RDAxKg0KK1gyNDYxNTlZMjMxMjgzRDAxKg0KK1gyNDU4ODNZMjMxMjE3RDAxKg0KK1gyNDU3OTJZMjMxMTgwRDAxKg0KK1kyMzY2MTREMDEqDQorWDI0NTg4MFkyMzY1MzlEMDEqDQorWDI0NjEyMVkyMzYzOTFEMDEqDQorWDI0NjM4M1kyMzYyODNEMDEqDQorWDI0NjY1OVkyMzYyMTdEMDEqDQorWDI0Njk0MVkyMzYxOTREMDEqDQorWDI0NzIyM1kyMzYyMTdEMDEqDQorWDI0NzQ5OVkyMzYyODNEMDEqDQorWDI0Nzc2MVkyMzYzOTFEMDEqDQorWDI0ODAwMlkyMzY1MzlEMDEqDQorWDI0ODIxOFkyMzY3MjNEMDEqDQorWDI0ODQwMlkyMzY5MzlEMDEqDQorWDI0ODU1MFkyMzcxODBEMDEqDQorWDI0ODY1OFkyMzc0NDJEMDEqDQorWDI0ODcyNFkyMzc3MThEMDEqDQorWDI0ODc0MVkyMzgwMDBEMDEqDQorWDI0ODcyNFkyMzgyODJEMDEqDQorWDI0ODY1OFkyMzg1NThEMDEqDQorWDI0ODU1MFkyMzg4MjBEMDEqDQorWDI0ODQwMlkyMzkwNjFEMDEqDQorWDI0ODIxOFkyMzkyNzdEMDEqDQorWDI0ODAwMlkyMzk0NjFEMDEqDQorWDI0Nzc2MVkyMzk2MDlEMDEqDQorWDI0NzQ5OVkyMzk3MTdEMDEqDQorWDI0NzIyM1kyMzk3ODNEMDEqDQorWDI0Njk0MVkyMzk4MDZEMDEqDQorWDI0NjY1OVkyMzk3ODNEMDEqDQorWDI0NjM4M1kyMzk3MTdEMDEqDQorWDI0NjEyMVkyMzk2MDlEMDEqDQorWDI0NTg4MFkyMzk0NjFEMDEqDQorWDI0NTc5MlkyMzkzODZEMDEqDQorWTI3NzQ3MEQwMSoNCitYMjQ1ODc5WTI3NzQ3N0QwMSoNCitYMjQ2MTkyWTI3NzU1MkQwMSoNCitYMjQ2NDkxWTI3NzY3NkQwMSoNCitYMjQ2NzY2WTI3Nzg0NEQwMSoNCitYMjQ3MDExWTI3ODA1NEQwMSoNCitYMjQ3MjIxWTI3ODI5OUQwMSoNCitYMjQ3Mzg5WTI3ODU3NEQwMSoNCitYMjQ3NTEzWTI3ODg3M0QwMSoNCitYMjQ3NTg4WTI3OTE4NkQwMSoNCitYMjQ3NjA3WTI3OTUwOEQwMSoNCitYMjQ3NTg4WTI3OTgzMEQwMSoNCitYMjQ3NTEzWTI4MDE0M0QwMSoNCitYMjQ3Mzg5WTI4MDQ0MkQwMSoNCitYMjQ3MjIxWTI4MDcxN0QwMSoNCitYMjQ3MDExWTI4MDk2MkQwMSoNCitYMjQ2NzY2WTI4MTE3MkQwMSoNCitYMjQ2NDkxWTI4MTM0MEQwMSoNCitYMjQ2MTkyWTI4MTQ2NEQwMSoNCitYMjQ1ODc5WTI4MTUzOUQwMSoNCitYMjQ1NzkyWTI4MTU0NkQwMSoNCitZMzAxNDk1RDAxKg0KK1gyNDU5MTFZMzAxNDIyRDAxKg0KK1gyNDYxNzNZMzAxMzE0RDAxKg0KK1gyNDY0NDlZMzAxMjQ4RDAxKg0KK1gyNDY3MzFZMzAxMjI1RDAxKg0KK1gyNDcwMTNZMzAxMjQ4RDAxKg0KK1gyNDcyODlZMzAxMzE0RDAxKg0KK1gyNDc1NTFZMzAxNDIyRDAxKg0KK1gyNDc3OTJZMzAxNTcwRDAxKg0KK1gyNDgwMDhZMzAxNzU0RDAxKg0KK1gyNDgxOTJZMzAxOTcwRDAxKg0KK1gyNDgzNDBZMzAyMjExRDAxKg0KK1gyNDg0NDhZMzAyNDczRDAxKg0KK1gyNDg1MTRZMzAyNzQ5RDAxKg0KK1gyNDg1MzFZMzAzMDMxRDAxKg0KK1gyNDg1MTRZMzAzMzEzRDAxKg0KK1gyNDg0NDhZMzAzNTg5RDAxKg0KK1gyNDgzNDBZMzAzODUxRDAxKg0KK1gyNDgxOTJZMzA0MDkyRDAxKg0KK1gyNDgwMDhZMzA0MzA4RDAxKg0KK1gyNDc3OTJZMzA0NDkyRDAxKg0KK1gyNDc1NTFZMzA0NjQwRDAxKg0KK1gyNDcyODlZMzA0NzQ4RDAxKg0KK1gyNDcwMTNZMzA0ODE0RDAxKg0KK1gyNDY3MzFZMzA0ODM3RDAxKg0KK1gyNDY0NDlZMzA0ODE0RDAxKg0KK1gyNDYxNzNZMzA0NzQ4RDAxKg0KK1gyNDU5MTFZMzA0NjQwRDAxKg0KK1gyNDU3OTJZMzA0NTY3RDAxKg0KK1kzNjA1MTZEMDEqDQorWDI0NTc5OVkzNjA1MTZEMDEqDQorWDI0NjQ3NFkzNjA1NjlEMDEqDQorWDI0NzEzMlkzNjA3MjdEMDEqDQorWDI0Nzc1N1kzNjA5ODZEMDEqDQorWDI0ODMzNFkzNjEzMzlEMDEqDQorWDI0ODg0OVkzNjE3NzlEMDEqDQorWDI0OTA5OFkzNjIwNzFEMDEqDQorWTMzMDU5OEQwMSoNCitYMjQ4ODE5WTMzMDU3NkQwMSoNCitYMjQ4NTQzWTMzMDUxMEQwMSoNCitYMjQ4MjgxWTMzMDQwMkQwMSoNCitYMjQ4MDQwWTMzMDI1NEQwMSoNCitYMjQ3ODI0WTMzMDA3MEQwMSoNCitYMjQ3NjQwWTMyOTg1NEQwMSoNCitYMjQ3NDkyWTMyOTYxM0QwMSoNCitYMjQ3Mzg0WTMyOTM1MUQwMSoNCitYMjQ3MzE4WTMyOTA3NUQwMSoNCitYMjQ3Mjk1WTMyODc5M0QwMSoNCitYMjQ3MzE4WTMyODUxMUQwMSoNCitYMjQ3Mzg0WTMyODIzNUQwMSoNCitYMjQ3NDkyWTMyNzk3M0QwMSoNCitYMjQ3NjQwWTMyNzczMkQwMSoNCitYMjQ3ODI0WTMyNzUxNkQwMSoNCitYMjQ4MDQwWTMyNzMzMkQwMSoNCitYMjQ4MjgxWTMyNzE4NEQwMSoNCitYMjQ4NTQzWTMyNzA3NkQwMSoNCitYMjQ4ODE5WTMyNzAxMEQwMSoNCitYMjQ5MDk4WTMyNjk4OEQwMSoNCitZMTg3NTg3RDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzU4N0QwMipYMjQ4ODQ5WTE3Nzg3OUQwMSoNCitYMjQ4MzM0WTE3ODMxOUQwMSoNCitYMjQ3NzU3WTE3ODY3MkQwMSoNCitYMjQ3MTMyWTE3ODkzMUQwMSoNCitYMjQ2NDc0WTE3OTA4OUQwMSoNCitYMjQ1Nzk5WTE3OTE0MkQwMSoNCitYMjQ1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gyNDU3OTlZMTgwNTE2RDAxKg0KK1gyNDY0NzRZMTgwNTY5RDAxKg0KK1gyNDcxMzJZMTgwNzI3RDAxKg0KK1gyNDc3NTdZMTgwOTg2RDAxKg0KK1gyNDgzMzRZMTgxMzM5RDAxKg0KK1gyNDg4NDlZMTgxNzc5RDAxKg0KK1gyNDkwOThZMTgyMDcxRDAxKg0KK1kxNzc1ODdEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDI0NTc5MkQwMSoNCitZMTI1NzMzRDAxKg0KK1gyNDU5OTlZMTI1NzgzRDAxKg0KK1gyNDYyNjFZMTI1ODkxRDAxKg0KK1gyNDY1MDJZMTI2MDM5RDAxKg0KK1gyNDY3MThZMTI2MjIzRDAxKg0KK1gyNDY5MDJZMTI2NDM5RDAxKg0KK1gyNDcwNTBZMTI2NjgwRDAxKg0KK1gyNDcxNThZMTI2OTQyRDAxKg0KK1gyNDcyMjRZMTI3MjE4RDAxKg0KK1gyNDcyNDFZMTI3NTAwRDAxKg0KK1gyNDcyMjRZMTI3NzgyRDAxKg0KK1gyNDcxNThZMTI4MDU4RDAxKg0KK1gyNDcwNTBZMTI4MzIwRDAxKg0KK1gyNDY5MDJZMTI4NTYxRDAxKg0KK1gyNDY3MThZMTI4Nzc3RDAxKg0KK1gyNDY1MDJZMTI4OTYxRDAxKg0KK1gyNDYyNjFZMTI5MTA5RDAxKg0KK1gyNDU5OTlZMTI5MjE3RDAxKg0KK1gyNDU3OTJZMTI5MjY3RDAxKg0KK1kxNzA1MTZEMDEqDQorWDI0NTc5OVkxNzA1MTZEMDEqDQorWDI0NjQ3NFkxNzA1NjlEMDEqDQorWDI0NzEzMlkxNzA3MjdEMDEqDQorWDI0Nzc1N1kxNzA5ODZEMDEqDQorWDI0ODMzNFkxNzEzMzlEMDEqDQorWDI0ODg0OVkxNzE3NzlEMDEqDQorWDI0OTA5OFkxNzIwNzFEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI0MjQ1M1kxODIxMjZEMDIqWDI0Mjc0OVkxODE3NzlEMDEqDQorWDI0MzI2NFkxODEzMzlEMDEqDQorWDI0Mzg0MVkxODA5ODZEMDEqDQorWDI0NDQ2NlkxODA3MjdEMDEqDQorWDI0NTEyNFkxODA1NjlEMDEqDQorWDI0NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjQ1MTI0WTE3OTA4OUQwMSoNCitYMjQ0NDY2WTE3ODkzMUQwMSoNCitYMjQzODQxWTE3ODY3MkQwMSoNCitYMjQzMjY0WTE3ODMxOUQwMSoNCitYMjQyNzQ5WTE3Nzg3OUQwMSoNCitYMjQyNDUzWTE3NzUzMkQwMSoNCitZMTgyMTI2RDAxKg0KK0czNyoNCitHMzYqDQorWTM2MjEyNkQwMipYMjQyNzQ5WTM2MTc3OUQwMSoNCitYMjQzMjY0WTM2MTMzOUQwMSoNCitYMjQzODQxWTM2MDk4NkQwMSoNCitYMjQ0NDY2WTM2MDcyN0QwMSoNCitYMjQ1MTI0WTM2MDU2OUQwMSoNCitYMjQ1NzkyWTM2MDUxNkQwMSoNCitZMzA0NTY3RDAxKg0KK1gyNDU2NzBZMzA0NDkyRDAxKg0KK1gyNDU0NTRZMzA0MzA4RDAxKg0KK1gyNDUyNzBZMzA0MDkyRDAxKg0KK1gyNDUxMjJZMzAzODUxRDAxKg0KK1gyNDUwMTRZMzAzNTg5RDAxKg0KK1gyNDQ5NDhZMzAzMzEzRDAxKg0KK1gyNDQ5MjVZMzAzMDMxRDAxKg0KK1gyNDQ5NDhZMzAyNzQ5RDAxKg0KK1gyNDUwMTRZMzAyNDczRDAxKg0KK1gyNDUxMjJZMzAyMjExRDAxKg0KK1gyNDUyNzBZMzAxOTcwRDAxKg0KK1gyNDU0NTRZMzAxNzU0RDAxKg0KK1gyNDU2NzBZMzAxNTcwRDAxKg0KK1gyNDU3OTJZMzAxNDk1RDAxKg0KK1kyODE1NDZEMDEqDQorWDI0NTU1N1kyODE1NjREMDEqDQorWDI0NTIzNVkyODE1MzlEMDEqDQorWDI0NDkyMlkyODE0NjREMDEqDQorWDI0NDYyM1kyODEzNDBEMDEqDQorWDI0NDM0OFkyODExNzJEMDEqDQorWDI0NDEwM1kyODA5NjJEMDEqDQorWDI0Mzg5M1kyODA3MTdEMDEqDQorWDI0MzcyNVkyODA0NDJEMDEqDQorWDI0MzYwMVkyODAxNDNEMDEqDQorWDI0MzUyNlkyNzk4MzBEMDEqDQorWDI0MzUwMVkyNzk1MDhEMDEqDQorWDI0MzUyNlkyNzkxODZEMDEqDQorWDI0MzYwMVkyNzg4NzNEMDEqDQorWDI0MzcyNVkyNzg1NzREMDEqDQorWDI0Mzg5M1kyNzgyOTlEMDEqDQorWDI0NDEwM1kyNzgwNTREMDEqDQorWDI0NDM0OFkyNzc4NDREMDEqDQorWDI0NDYyM1kyNzc2NzZEMDEqDQorWDI0NDkyMlkyNzc1NTJEMDEqDQorWDI0NTIzNVkyNzc0NzdEMDEqDQorWDI0NTU1N1kyNzc0NTJEMDEqDQorWDI0NTc5MlkyNzc0NzBEMDEqDQorWTIzOTM4NkQwMSoNCitYMjQ1NjY0WTIzOTI3N0QwMSoNCitYMjQ1NDgwWTIzOTA2MUQwMSoNCitYMjQ1MzMyWTIzODgyMEQwMSoNCitYMjQ1MjI0WTIzODU1OEQwMSoNCitYMjQ1MTU4WTIzODI4MkQwMSoNCitYMjQ1MTM1WTIzODAwMEQwMSoNCitYMjQ1MTU4WTIzNzcxOEQwMSoNCitYMjQ1MjI0WTIzNzQ0MkQwMSoNCitYMjQ1MzMyWTIzNzE4MEQwMSoNCitYMjQ1NDgwWTIzNjkzOUQwMSoNCitYMjQ1NjY0WTIzNjcyM0QwMSoNCitYMjQ1NzkyWTIzNjYxNEQwMSoNCitZMjMxMTgwRDAxKg0KK1gyNDU2MjFZMjMxMTA5RDAxKg0KK1gyNDUzODBZMjMwOTYxRDAxKg0KK1gyNDUxNjRZMjMwNzc3RDAxKg0KK1gyNDQ5ODBZMjMwNTYxRDAxKg0KK1gyNDQ4MzJZMjMwMzIwRDAxKg0KK1gyNDQ3MjRZMjMwMDU4RDAxKg0KK1gyNDQ2NThZMjI5NzgyRDAxKg0KK1gyNDQ2MzVZMjI5NTAwRDAxKg0KK1gyNDQ2NThZMjI5MjE4RDAxKg0KK1gyNDQ3MjRZMjI4OTQyRDAxKg0KK1gyNDQ4MzJZMjI4NjgwRDAxKg0KK1gyNDQ5ODBZMjI4NDM5RDAxKg0KK1gyNDUxNjRZMjI4MjIzRDAxKg0KK1gyNDUzODBZMjI4MDM5RDAxKg0KK1gyNDU2MjFZMjI3ODkxRDAxKg0KK1gyNDU3OTJZMjI3ODIwRDAxKg0KK1kxOTMzMjREMDEqDQorWDI0NTU4MVkxOTMzMDdEMDEqDQorWDI0NTMwNVkxOTMyNDFEMDEqDQorWDI0NTA0M1kxOTMxMzNEMDEqDQorWDI0NDgwMlkxOTI5ODVEMDEqDQorWDI0NDU4NlkxOTI4MDFEMDEqDQorWDI0NDQwMlkxOTI1ODVEMDEqDQorWDI0NDI1NFkxOTIzNDREMDEqDQorWDI0NDE0NlkxOTIwODJEMDEqDQorWDI0NDA4MFkxOTE4MDZEMDEqDQorWDI0NDA1N1kxOTE1MjREMDEqDQorWDI0NDA4MFkxOTEyNDJEMDEqDQorWDI0NDE0NlkxOTA5NjZEMDEqDQorWDI0NDI1NFkxOTA3MDREMDEqDQorWDI0NDQwMlkxOTA0NjNEMDEqDQorWDI0NDU4NlkxOTAyNDdEMDEqDQorWDI0NDgwMlkxOTAwNjNEMDEqDQorWDI0NTA0M1kxODk5MTVEMDEqDQorWDI0NTMwNVkxODk4MDdEMDEqDQorWDI0NTU4MVkxODk3NDFEMDEqDQorWDI0NTc5MlkxODk3MjREMDEqDQorWTE4OTE0MkQwMSoNCitYMjQ1MTI0WTE4OTA4OUQwMSoNCitYMjQ0NDY2WTE4ODkzMUQwMSoNCitYMjQzODQxWTE4ODY3MkQwMSoNCitYMjQzMjY0WTE4ODMxOUQwMSoNCitYMjQyNzQ5WTE4Nzg3OUQwMSoNCitYMjQyNDUzWTE4NzUzMkQwMSoNCitZMjAwOTg0RDAxKg0KK1gyNDI0ODBZMjAwOTM5RDAxKg0KK1gyNDI2NjRZMjAwNzIzRDAxKg0KK1gyNDI4ODBZMjAwNTM5RDAxKg0KK1gyNDMxMjFZMjAwMzkxRDAxKg0KK1gyNDMzODNZMjAwMjgzRDAxKg0KK1gyNDM2NTlZMjAwMjE3RDAxKg0KK1gyNDM5NDFZMjAwMTk0RDAxKg0KK1gyNDQyMjNZMjAwMjE3RDAxKg0KK1gyNDQ0OTlZMjAwMjgzRDAxKg0KK1gyNDQ3NjFZMjAwMzkxRDAxKg0KK1gyNDUwMDJZMjAwNTM5RDAxKg0KK1gyNDUyMThZMjAwNzIzRDAxKg0KK1gyNDU0MDJZMjAwOTM5RDAxKg0KK1gyNDU1NTBZMjAxMTgwRDAxKg0KK1gyNDU2NThZMjAxNDQyRDAxKg0KK1gyNDU3MjRZMjAxNzE4RDAxKg0KK1gyNDU3NDFZMjAyMDAwRDAxKg0KK1gyNDU3MjRZMjAyMjgyRDAxKg0KK1gyNDU2NThZMjAyNTU4RDAxKg0KK1gyNDU1NTBZMjAyODIwRDAxKg0KK1gyNDU0MDJZMjAzMDYxRDAxKg0KK1gyNDUyMThZMjAzMjc3RDAxKg0KK1gyNDUwMDJZMjAzNDYxRDAxKg0KK1gyNDQ3NjFZMjAzNjA5RDAxKg0KK1gyNDQ0OTlZMjAzNzE3RDAxKg0KK1gyNDQyMjNZMjAzNzgzRDAxKg0KK1gyNDM5NDFZMjAzODA2RDAxKg0KK1gyNDM2NTlZMjAzNzgzRDAxKg0KK1gyNDMzODNZMjAzNzE3RDAxKg0KK1gyNDMxMjFZMjAzNjA5RDAxKg0KK1gyNDI4ODBZMjAzNDYxRDAxKg0KK1gyNDI2NjRZMjAzMjc3RDAxKg0KK1gyNDI0ODBZMjAzMDYxRDAxKg0KK1gyNDI0NTNZMjAzMDE2RDAxKg0KK1kyMjc2OTVEMDEqDQorWDI0MjcyM1kyMjc3MTdEMDEqDQorWDI0Mjk5OVkyMjc3ODNEMDEqDQorWDI0MzI2MVkyMjc4OTFEMDEqDQorWDI0MzUwMlkyMjgwMzlEMDEqDQorWDI0MzcxOFkyMjgyMjNEMDEqDQorWDI0MzkwMlkyMjg0MzlEMDEqDQorWDI0NDA1MFkyMjg2ODBEMDEqDQorWDI0NDE1OFkyMjg5NDJEMDEqDQorWDI0NDIyNFkyMjkyMThEMDEqDQorWDI0NDI0MVkyMjk1MDBEMDEqDQorWDI0NDIyNFkyMjk3ODJEMDEqDQorWDI0NDE1OFkyMzAwNThEMDEqDQorWDI0NDA1MFkyMzAzMjBEMDEqDQorWDI0MzkwMlkyMzA1NjFEMDEqDQorWDI0MzcxOFkyMzA3NzdEMDEqDQorWDI0MzUwMlkyMzA5NjFEMDEqDQorWDI0MzI2MVkyMzExMDlEMDEqDQorWDI0Mjk5OVkyMzEyMTdEMDEqDQorWDI0MjcyM1kyMzEyODNEMDEqDQorWDI0MjQ1M1kyMzEzMDVEMDEqDQorWTI5MTQ4N0QwMSoNCitYMjQyNDU2WTI5MTQ4N0QwMSoNCitYMjQyNzc4WTI5MTUxMkQwMSoNCitYMjQzMDkxWTI5MTU4N0QwMSoNCitYMjQzMzkwWTI5MTcxMUQwMSoNCitYMjQzNjY1WTI5MTg3OUQwMSoNCitYMjQzOTEwWTI5MjA4OUQwMSoNCitYMjQ0MTIwWTI5MjMzNEQwMSoNCitYMjQ0Mjg4WTI5MjYwOUQwMSoNCitYMjQ0NDEyWTI5MjkwOEQwMSoNCitYMjQ0NDg3WTI5MzIyMUQwMSoNCitYMjQ0NTA2WTI5MzU0M0QwMSoNCitYMjQ0NDg3WTI5Mzg2NUQwMSoNCitYMjQ0NDEyWTI5NDE3OEQwMSoNCitYMjQ0Mjg4WTI5NDQ3N0QwMSoNCitYMjQ0MTIwWTI5NDc1MkQwMSoNCitYMjQzOTEwWTI5NDk5N0QwMSoNCitYMjQzNjY1WTI5NTIwN0QwMSoNCitYMjQzMzkwWTI5NTM3NUQwMSoNCitYMjQzMDkxWTI5NTQ5OUQwMSoNCitYMjQyNzc4WTI5NTU3NEQwMSoNCitYMjQyNDU2WTI5NTU5OUQwMSoNCitYMjQyNDUzWTI5NTU5OUQwMSoNCitZMjk2NzY2RDAxKg0KK1gyNDI0OTBZMjk2NzY5RDAxKg0KK1gyNDI4MDNZMjk2ODQ0RDAxKg0KK1gyNDMxMDJZMjk2OTY4RDAxKg0KK1gyNDMzNzdZMjk3MTM2RDAxKg0KK1gyNDM2MjJZMjk3MzQ2RDAxKg0KK1gyNDM4MzJZMjk3NTkxRDAxKg0KK1gyNDQwMDBZMjk3ODY2RDAxKg0KK1gyNDQxMjRZMjk4MTY1RDAxKg0KK1gyNDQxOTlZMjk4NDc4RDAxKg0KK1gyNDQyMThZMjk4ODAwRDAxKg0KK1gyNDQxOTlZMjk5MTIyRDAxKg0KK1gyNDQxMjRZMjk5NDM1RDAxKg0KK1gyNDQwMDBZMjk5NzM0RDAxKg0KK1gyNDM4MzJZMzAwMDA5RDAxKg0KK1gyNDM2MjJZMzAwMjU0RDAxKg0KK1gyNDMzNzdZMzAwNDY0RDAxKg0KK1gyNDMxMDJZMzAwNjMyRDAxKg0KK1gyNDI4MDNZMzAwNzU2RDAxKg0KK1gyNDI0OTBZMzAwODMxRDAxKg0KK1gyNDI0NTNZMzAwODM0RDAxKg0KK1kzNjIxMjZEMDEqDQorRzM3Kg0KK0czNioNCitZMzcyMTI2RDAyKlgyNDI3NDlZMzcxNzc5RDAxKg0KK1gyNDMyNjRZMzcxMzM5RDAxKg0KK1gyNDM4NDFZMzcwOTg2RDAxKg0KK1gyNDQ0NjZZMzcwNzI3RDAxKg0KK1gyNDUxMjRZMzcwNTY5RDAxKg0KK1gyNDU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDI0NTEyNFkzNjkwODlEMDEqDQorWDI0NDQ2NlkzNjg5MzFEMDEqDQorWDI0Mzg0MVkzNjg2NzJEMDEqDQorWDI0MzI2NFkzNjgzMTlEMDEqDQorWDI0Mjc0OVkzNjc4NzlEMDEqDQorWDI0MjQ1M1kzNjc1MzJEMDEqDQorWTM3MjEyNkQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDI0NTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gyNDUxMjRZMzc5MDg5RDAxKg0KK1gyNDQ0NjZZMzc4OTMxRDAxKg0KK1gyNDM4NDFZMzc4NjcyRDAxKg0KK1gyNDMyNjRZMzc4MzE5RDAxKg0KK1gyNDI3NDlZMzc3ODc5RDAxKg0KK1gyNDI0NTNZMzc3NTMyRDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjQ1NzkyWTk3MDAwRDAyKlgyNDI0NTNEMDEqDQorWTE3MjEyNkQwMSoNCitYMjQyNzQ5WTE3MTc3OUQwMSoNCitYMjQzMjY0WTE3MTMzOUQwMSoNCitYMjQzODQxWTE3MDk4NkQwMSoNCitYMjQ0NDY2WTE3MDcyN0QwMSoNCitYMjQ1MTI0WTE3MDU2OUQwMSoNCitYMjQ1NzkyWTE3MDUxNkQwMSoNCitZMTI5MjY3RDAxKg0KK1gyNDU3MjNZMTI5MjgzRDAxKg0KK1gyNDU0NDFZMTI5MzA2RDAxKg0KK1gyNDUxNTlZMTI5MjgzRDAxKg0KK1gyNDQ4ODNZMTI5MjE3RDAxKg0KK1gyNDQ2MjFZMTI5MTA5RDAxKg0KK1gyNDQzODBZMTI4OTYxRDAxKg0KK1gyNDQxNjRZMTI4Nzc3RDAxKg0KK1gyNDM5ODBZMTI4NTYxRDAxKg0KK1gyNDM4MzJZMTI4MzIwRDAxKg0KK1gyNDM3MjRZMTI4MDU4RDAxKg0KK1gyNDM2NThZMTI3NzgyRDAxKg0KK1gyNDM2MzVZMTI3NTAwRDAxKg0KK1gyNDM2NThZMTI3MjE4RDAxKg0KK1gyNDM3MjRZMTI2OTQyRDAxKg0KK1gyNDM4MzJZMTI2NjgwRDAxKg0KK1gyNDM5ODBZMTI2NDM5RDAxKg0KK1gyNDQxNjRZMTI2MjIzRDAxKg0KK1gyNDQzODBZMTI2MDM5RDAxKg0KK1gyNDQ2MjFZMTI1ODkxRDAxKg0KK1gyNDQ4ODNZMTI1NzgzRDAxKg0KK1gyNDUxNTlZMTI1NzE3RDAxKg0KK1gyNDU0NDFZMTI1Njk0RDAxKg0KK1gyNDU3MjNZMTI1NzE3RDAxKg0KK1gyNDU3OTJZMTI1NzMzRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNDI0NTNEMDIqWDIzOTI5OUQwMSoNCitZMTcyMzExRDAxKg0KK1gyMzk2NDJZMTcyODcxRDAxKg0KK1gyMzk5MDFZMTczNDk2RDAxKg0KK1gyNDAwNTlZMTc0MTU0RDAxKg0KK1gyNDAwOTlZMTc0ODI5RDAxKg0KK1gyNDAwNTlZMTc1NTA0RDAxKg0KK1gyMzk5MDFZMTc2MTYyRDAxKg0KK1gyMzk2NDJZMTc2Nzg3RDAxKg0KK1gyMzkyOTlZMTc3MzQ3RDAxKg0KK1kxODIzMTFEMDEqDQorWDIzOTY0MlkxODI4NzFEMDEqDQorWDIzOTkwMVkxODM0OTZEMDEqDQorWDI0MDA1OVkxODQxNTREMDEqDQorWDI0MDA5OVkxODQ4MjlEMDEqDQorWDI0MDA1OVkxODU1MDREMDEqDQorWDIzOTkwMVkxODYxNjJEMDEqDQorWDIzOTY0MlkxODY3ODdEMDEqDQorWDIzOTI5OVkxODczNDdEMDEqDQorWTE5NDgxMUQwMSoNCitYMjM5NjQyWTE5NTM3MUQwMSoNCitYMjM5OTAxWTE5NTk5NkQwMSoNCitYMjQwMDU5WTE5NjY1NEQwMSoNCitYMjQwMDk5WTE5NzMyOUQwMSoNCitYMjQwMDU5WTE5ODAwNEQwMSoNCitYMjM5OTAxWTE5ODY2MkQwMSoNCitYMjM5NjQyWTE5OTI4N0QwMSoNCitYMjM5Mjk5WTE5OTg0N0QwMSoNCitZMjYwMTc5RDAxKg0KK1gyMzkzMDJZMjYwMTc5RDAxKg0KK1gyMzk2MjRZMjYwMjA0RDAxKg0KK1gyMzk5MzdZMjYwMjc5RDAxKg0KK1gyNDAyMzZZMjYwNDAzRDAxKg0KK1gyNDA1MTFZMjYwNTcxRDAxKg0KK1gyNDA3NTZZMjYwNzgxRDAxKg0KK1gyNDA5NjZZMjYxMDI2RDAxKg0KK1gyNDExMzRZMjYxMzAxRDAxKg0KK1gyNDEyNThZMjYxNjAwRDAxKg0KK1gyNDEzMzNZMjYxOTEzRDAxKg0KK1gyNDEzNTJZMjYyMjM1RDAxKg0KK1gyNDEzMzNZMjYyNTU3RDAxKg0KK1gyNDEyNThZMjYyODcwRDAxKg0KK1gyNDExMzRZMjYzMTY5RDAxKg0KK1gyNDA5NjZZMjYzNDQ0RDAxKg0KK1gyNDA3NTZZMjYzNjg5RDAxKg0KK1gyNDA1MTFZMjYzODk5RDAxKg0KK1gyNDAyMzZZMjY0MDY3RDAxKg0KK1gyMzk5MzdZMjY0MTkxRDAxKg0KK1gyMzk2MjRZMjY0MjY2RDAxKg0KK1gyMzkzMDJZMjY0MjkxRDAxKg0KK1gyMzkyOTlZMjY0MjkxRDAxKg0KK1kyNzcxMzBEMDEqDQorWDIzOTMzMFkyNzcxMDNEMDEqDQorWDIzOTU3MVkyNzY5NTVEMDEqDQorWDIzOTgzM1kyNzY4NDdEMDEqDQorWDI0MDEwOVkyNzY3ODFEMDEqDQorWDI0MDM5MVkyNzY3NThEMDEqDQorWDI0MDY3M1kyNzY3ODFEMDEqDQorWDI0MDk0OVkyNzY4NDdEMDEqDQorWDI0MTIxMVkyNzY5NTVEMDEqDQorWDI0MTQ1MlkyNzcxMDNEMDEqDQorWDI0MTY2OFkyNzcyODdEMDEqDQorWDI0MTg1MlkyNzc1MDNEMDEqDQorWDI0MjAwMFkyNzc3NDREMDEqDQorWDI0MjEwOFkyNzgwMDZEMDEqDQorWDI0MjE3NFkyNzgyODJEMDEqDQorWDI0MjE5MVkyNzg1NjREMDEqDQorWDI0MjE3NFkyNzg4NDZEMDEqDQorWDI0MjEwOFkyNzkxMjJEMDEqDQorWDI0MjAwMFkyNzkzODREMDEqDQorWDI0MTg1MlkyNzk2MjVEMDEqDQorWDI0MTY2OFkyNzk4NDFEMDEqDQorWDI0MTQ1MlkyODAwMjVEMDEqDQorWDI0MTIxMVkyODAxNzNEMDEqDQorWDI0MDk0OVkyODAyODFEMDEqDQorWDI0MDY3M1kyODAzNDdEMDEqDQorWDI0MDM5MVkyODAzNzBEMDEqDQorWDI0MDEwOVkyODAzNDdEMDEqDQorWDIzOTgzM1kyODAyODFEMDEqDQorWDIzOTU3MVkyODAxNzNEMDEqDQorWDIzOTMzMFkyODAwMjVEMDEqDQorWDIzOTI5OVkyNzk5OThEMDEqDQorWTM2MjMxMUQwMSoNCitYMjM5NjQyWTM2Mjg3MUQwMSoNCitYMjM5OTAxWTM2MzQ5NkQwMSoNCitYMjQwMDU5WTM2NDE1NEQwMSoNCitYMjQwMDk5WTM2NDgyOUQwMSoNCitYMjQwMDU5WTM2NTUwNEQwMSoNCitYMjM5OTAxWTM2NjE2MkQwMSoNCitYMjM5NjQyWTM2Njc4N0QwMSoNCitYMjM5Mjk5WTM2NzM0N0QwMSoNCitZMzcyMzExRDAxKg0KK1gyMzk2NDJZMzcyODcxRDAxKg0KK1gyMzk5MDFZMzczNDk2RDAxKg0KK1gyNDAwNTlZMzc0MTU0RDAxKg0KK1gyNDAwOTlZMzc0ODI5RDAxKg0KK1gyNDAwNTlZMzc1NTA0RDAxKg0KK1gyMzk5MDFZMzc2MTYyRDAxKg0KK1gyMzk2NDJZMzc2Nzg3RDAxKg0KK1gyMzkyOTlZMzc3MzQ3RDAxKg0KK1kzOTcwMDBEMDEqDQorWDI0MjQ1M0QwMSoNCitZMzc3NTMyRDAxKg0KK1gyNDIzMDlZMzc3MzY0RDAxKg0KK1gyNDE5NTZZMzc2Nzg3RDAxKg0KK1gyNDE2OTdZMzc2MTYyRDAxKg0KK1gyNDE1MzlZMzc1NTA0RDAxKg0KK1gyNDE0ODZZMzc0ODI5RDAxKg0KK1gyNDE1MzlZMzc0MTU0RDAxKg0KK1gyNDE2OTdZMzczNDk2RDAxKg0KK1gyNDE5NTZZMzcyODcxRDAxKg0KK1gyNDIzMDlZMzcyMjk0RDAxKg0KK1gyNDI0NTNZMzcyMTI2RDAxKg0KK1kzNjc1MzJEMDEqDQorWDI0MjMwOVkzNjczNjREMDEqDQorWDI0MTk1NlkzNjY3ODdEMDEqDQorWDI0MTY5N1kzNjYxNjJEMDEqDQorWDI0MTUzOVkzNjU1MDREMDEqDQorWDI0MTQ4NlkzNjQ4MjlEMDEqDQorWDI0MTUzOVkzNjQxNTREMDEqDQorWDI0MTY5N1kzNjM0OTZEMDEqDQorWDI0MTk1NlkzNjI4NzFEMDEqDQorWDI0MjMwOVkzNjIyOTREMDEqDQorWDI0MjQ1M1kzNjIxMjZEMDEqDQorWTMwMDgzNEQwMSoNCitYMjQyMTY4WTMwMDg1NkQwMSoNCitYMjQxODQ2WTMwMDgzMUQwMSoNCitYMjQxNTMzWTMwMDc1NkQwMSoNCitYMjQxMjM0WTMwMDYzMkQwMSoNCitYMjQwOTU5WTMwMDQ2NEQwMSoNCitYMjQwNzE0WTMwMDI1NEQwMSoNCitYMjQwNTA0WTMwMDAwOUQwMSoNCitYMjQwMzM2WTI5OTczNEQwMSoNCitYMjQwMjEyWTI5OTQzNUQwMSoNCitYMjQwMTM3WTI5OTEyMkQwMSoNCitYMjQwMTEyWTI5ODgwMEQwMSoNCitYMjQwMTM3WTI5ODQ3OEQwMSoNCitYMjQwMjEyWTI5ODE2NUQwMSoNCitYMjQwMzM2WTI5Nzg2NkQwMSoNCitYMjQwNTA0WTI5NzU5MUQwMSoNCitYMjQwNzE0WTI5NzM0NkQwMSoNCitYMjQwOTU5WTI5NzEzNkQwMSoNCitYMjQxMjM0WTI5Njk2OEQwMSoNCitYMjQxNTMzWTI5Njg0NEQwMSoNCitYMjQxODQ2WTI5Njc2OUQwMSoNCitYMjQyMTY4WTI5Njc0NEQwMSoNCitYMjQyNDUzWTI5Njc2NkQwMSoNCitZMjk1NTk5RDAxKg0KK1gyNDIxMzRZMjk1NTc0RDAxKg0KK1gyNDE4MjFZMjk1NDk5RDAxKg0KK1gyNDE1MjJZMjk1Mzc1RDAxKg0KK1gyNDEyNDdZMjk1MjA3RDAxKg0KK1gyNDEwMDJZMjk0OTk3RDAxKg0KK1gyNDA3OTJZMjk0NzUyRDAxKg0KK1gyNDA2MjRZMjk0NDc3RDAxKg0KK1gyNDA1MDBZMjk0MTc4RDAxKg0KK1gyNDA0MjVZMjkzODY1RDAxKg0KK1gyNDA0MDBZMjkzNTQzRDAxKg0KK1gyNDA0MjVZMjkzMjIxRDAxKg0KK1gyNDA1MDBZMjkyOTA4RDAxKg0KK1gyNDA2MjRZMjkyNjA5RDAxKg0KK1gyNDA3OTJZMjkyMzM0RDAxKg0KK1gyNDEwMDJZMjkyMDg5RDAxKg0KK1gyNDEyNDdZMjkxODc5RDAxKg0KK1gyNDE1MjJZMjkxNzExRDAxKg0KK1gyNDE4MjFZMjkxNTg3RDAxKg0KK1gyNDIxMzRZMjkxNTEyRDAxKg0KK1gyNDI0NTNZMjkxNDg3RDAxKg0KK1kyMzEzMDVEMDEqDQorWDI0MjQ0MVkyMzEzMDZEMDEqDQorWDI0MjE1OVkyMzEyODNEMDEqDQorWDI0MTg4M1kyMzEyMTdEMDEqDQorWDI0MTYyMVkyMzExMDlEMDEqDQorWDI0MTM4MFkyMzA5NjFEMDEqDQorWDI0MTE2NFkyMzA3NzdEMDEqDQorWDI0MDk4MFkyMzA1NjFEMDEqDQorWDI0MDgzMlkyMzAzMjBEMDEqDQorWDI0MDcyNFkyMzAwNThEMDEqDQorWDI0MDY1OFkyMjk3ODJEMDEqDQorWDI0MDYzNVkyMjk1MDBEMDEqDQorWDI0MDY1OFkyMjkyMThEMDEqDQorWDI0MDcyNFkyMjg5NDJEMDEqDQorWDI0MDgzMlkyMjg2ODBEMDEqDQorWDI0MDk4MFkyMjg0MzlEMDEqDQorWDI0MTE2NFkyMjgyMjNEMDEqDQorWDI0MTM4MFkyMjgwMzlEMDEqDQorWDI0MTYyMVkyMjc4OTFEMDEqDQorWDI0MTg4M1kyMjc3ODNEMDEqDQorWDI0MjE1OVkyMjc3MTdEMDEqDQorWDI0MjQ0MVkyMjc2OTREMDEqDQorWDI0MjQ1M1kyMjc2OTVEMDEqDQorWTIwMzAxNkQwMSoNCitYMjQyMzMyWTIwMjgyMEQwMSoNCitYMjQyMjI0WTIwMjU1OEQwMSoNCitYMjQyMTU4WTIwMjI4MkQwMSoNCitYMjQyMTM1WTIwMjAwMEQwMSoNCitYMjQyMTU4WTIwMTcxOEQwMSoNCitYMjQyMjI0WTIwMTQ0MkQwMSoNCitYMjQyMzMyWTIwMTE4MEQwMSoNCitYMjQyNDUzWTIwMDk4NEQwMSoNCitZMTg3NTMyRDAxKg0KK1gyNDIzMDlZMTg3MzY0RDAxKg0KK1gyNDE5NTZZMTg2Nzg3RDAxKg0KK1gyNDE2OTdZMTg2MTYyRDAxKg0KK1gyNDE1MzlZMTg1NTA0RDAxKg0KK1gyNDE0ODZZMTg0ODI5RDAxKg0KK1gyNDE1MzlZMTg0MTU0RDAxKg0KK1gyNDE2OTdZMTgzNDk2RDAxKg0KK1gyNDE5NTZZMTgyODcxRDAxKg0KK1gyNDIzMDlZMTgyMjk0RDAxKg0KK1gyNDI0NTNZMTgyMTI2RDAxKg0KK1kxNzc1MzJEMDEqDQorWDI0MjMwOVkxNzczNjREMDEqDQorWDI0MTk1NlkxNzY3ODdEMDEqDQorWDI0MTY5N1kxNzYxNjJEMDEqDQorWDI0MTUzOVkxNzU1MDREMDEqDQorWDI0MTQ4NlkxNzQ4MjlEMDEqDQorWDI0MTUzOVkxNzQxNTREMDEqDQorWDI0MTY5N1kxNzM0OTZEMDEqDQorWDI0MTk1NlkxNzI4NzFEMDEqDQorWDI0MjMwOVkxNzIyOTREMDEqDQorWDI0MjQ1M1kxNzIxMjZEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzOTI5OVkzNzczNDdEMDIqWDIzOTI4OVkzNzczNjREMDEqDQorWDIzODg0OVkzNzc4NzlEMDEqDQorWDIzODMzNFkzNzgzMTlEMDEqDQorWDIzNzc1N1kzNzg2NzJEMDEqDQorWDIzNzEzMlkzNzg5MzFEMDEqDQorWDIzNjQ3NFkzNzkwODlEMDEqDQorWDIzNTc5OVkzNzkxNDJEMDEqDQorWDIzNTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMjM5Mjk5RDAxKg0KK1kzNzczNDdEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3MzQ3RDAyKlgyMzkyODlZMzY3MzY0RDAxKg0KK1gyMzg4NDlZMzY3ODc5RDAxKg0KK1gyMzgzMzRZMzY4MzE5RDAxKg0KK1gyMzc3NTdZMzY4NjcyRDAxKg0KK1gyMzcxMzJZMzY4OTMxRDAxKg0KK1gyMzY0NzRZMzY5MDg5RDAxKg0KK1gyMzU3OTlZMzY5MTQyRDAxKg0KK1gyMzU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDIzNTc5OVkzNzA1MTZEMDEqDQorWDIzNjQ3NFkzNzA1NjlEMDEqDQorWDIzNzEzMlkzNzA3MjdEMDEqDQorWDIzNzc1N1kzNzA5ODZEMDEqDQorWDIzODMzNFkzNzEzMzlEMDEqDQorWDIzODg0OVkzNzE3NzlEMDEqDQorWDIzOTI4OVkzNzIyOTREMDEqDQorWDIzOTI5OVkzNzIzMTFEMDEqDQorWTM2NzM0N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxOTk4NDdEMDIqWDIzOTI4OVkxOTk4NjREMDEqDQorWDIzODg0OVkyMDAzNzlEMDEqDQorWDIzODMzNFkyMDA4MTlEMDEqDQorWDIzNzc1N1kyMDExNzJEMDEqDQorWDIzNzEzMlkyMDE0MzFEMDEqDQorWDIzNjQ3NFkyMDE1ODlEMDEqDQorWDIzNTc5OVkyMDE2NDJEMDEqDQorWDIzNTc5MlkyMDE2NDJEMDEqDQorWTIzMzgyMEQwMSoNCitYMjM1ODgzWTIzMzc4M0QwMSoNCitYMjM2MTU5WTIzMzcxN0QwMSoNCitYMjM2NDQxWTIzMzY5NEQwMSoNCitYMjM2NzIzWTIzMzcxN0QwMSoNCitYMjM2OTk5WTIzMzc4M0QwMSoNCitYMjM3MjYxWTIzMzg5MUQwMSoNCitYMjM3NTAyWTIzNDAzOUQwMSoNCitYMjM3NzE4WTIzNDIyM0QwMSoNCitYMjM3OTAyWTIzNDQzOUQwMSoNCitYMjM4MDUwWTIzNDY4MEQwMSoNCitYMjM4MTU4WTIzNDk0MkQwMSoNCitYMjM4MjI0WTIzNTIxOEQwMSoNCitYMjM4MjQxWTIzNTUwMEQwMSoNCitYMjM4MjI0WTIzNTc4MkQwMSoNCitYMjM4MTU4WTIzNjA1OEQwMSoNCitYMjM4MDUwWTIzNjMyMEQwMSoNCitYMjM3OTAyWTIzNjU2MUQwMSoNCitYMjM3NzE4WTIzNjc3N0QwMSoNCitYMjM3NTAyWTIzNjk2MUQwMSoNCitYMjM3MjYxWTIzNzEwOUQwMSoNCitYMjM2OTk5WTIzNzIxN0QwMSoNCitYMjM2NzIzWTIzNzI4M0QwMSoNCitYMjM2NDQxWTIzNzMwNkQwMSoNCitYMjM2MTU5WTIzNzI4M0QwMSoNCitYMjM1ODgzWTIzNzIxN0QwMSoNCitYMjM1NzkyWTIzNzE4MEQwMSoNCitZMzYwNTE2RDAxKg0KK1gyMzU3OTlZMzYwNTE2RDAxKg0KK1gyMzY0NzRZMzYwNTY5RDAxKg0KK1gyMzcxMzJZMzYwNzI3RDAxKg0KK1gyMzc3NTdZMzYwOTg2RDAxKg0KK1gyMzgzMzRZMzYxMzM5RDAxKg0KK1gyMzg4NDlZMzYxNzc5RDAxKg0KK1gyMzkyODlZMzYyMjk0RDAxKg0KK1gyMzkyOTlZMzYyMzExRDAxKg0KK1kyNzk5OThEMDEqDQorWDIzOTExNFkyNzk4NDFEMDEqDQorWDIzODkzMFkyNzk2MjVEMDEqDQorWDIzODc4MlkyNzkzODREMDEqDQorWDIzODY3NFkyNzkxMjJEMDEqDQorWDIzODYwOFkyNzg4NDZEMDEqDQorWDIzODU4NVkyNzg1NjREMDEqDQorWDIzODYwOFkyNzgyODJEMDEqDQorWDIzODY3NFkyNzgwMDZEMDEqDQorWDIzODc4MlkyNzc3NDREMDEqDQorWDIzODkzMFkyNzc1MDNEMDEqDQorWDIzOTExNFkyNzcyODdEMDEqDQorWDIzOTI5OVkyNzcxMzBEMDEqDQorWTI2NDI5MUQwMSoNCitYMjM4OTgwWTI2NDI2NkQwMSoNCitYMjM4NjY3WTI2NDE5MUQwMSoNCitYMjM4MzY4WTI2NDA2N0QwMSoNCitYMjM4MDkzWTI2Mzg5OUQwMSoNCitYMjM3ODQ4WTI2MzY4OUQwMSoNCitYMjM3NjM4WTI2MzQ0NEQwMSoNCitYMjM3NDcwWTI2MzE2OUQwMSoNCitYMjM3MzQ2WTI2Mjg3MEQwMSoNCitYMjM3MjcxWTI2MjU1N0QwMSoNCitYMjM3MjQ2WTI2MjIzNUQwMSoNCitYMjM3MjcxWTI2MTkxM0QwMSoNCitYMjM3MzQ2WTI2MTYwMEQwMSoNCitYMjM3NDcwWTI2MTMwMUQwMSoNCitYMjM3NjM4WTI2MTAyNkQwMSoNCitYMjM3ODQ4WTI2MDc4MUQwMSoNCitYMjM4MDkzWTI2MDU3MUQwMSoNCitYMjM4MzY4WTI2MDQwM0QwMSoNCitYMjM4NjY3WTI2MDI3OUQwMSoNCitYMjM4OTgwWTI2MDIwNEQwMSoNCitYMjM5Mjk5WTI2MDE3OUQwMSoNCitZMTk5ODQ3RDAxKg0KK0czNyoNCitHMzYqDQorWTE4NzM0N0QwMipYMjM5Mjg5WTE4NzM2NEQwMSoNCitYMjM4ODQ5WTE4Nzg3OUQwMSoNCitYMjM4MzM0WTE4ODMxOUQwMSoNCitYMjM3NzU3WTE4ODY3MkQwMSoNCitYMjM3MTMyWTE4ODkzMUQwMSoNCitYMjM2NDc0WTE4OTA4OUQwMSoNCitYMjM1Nzk5WTE4OTE0MkQwMSoNCitYMjM1NzkyWTE4OTE0MkQwMSoNCitZMTkzMDE2RDAxKg0KK1gyMzU3OTlZMTkzMDE2RDAxKg0KK1gyMzY0NzRZMTkzMDY5RDAxKg0KK1gyMzcxMzJZMTkzMjI3RDAxKg0KK1gyMzc3NTdZMTkzNDg2RDAxKg0KK1gyMzgzMzRZMTkzODM5RDAxKg0KK1gyMzg4NDlZMTk0Mjc5RDAxKg0KK1gyMzkyODlZMTk0Nzk0RDAxKg0KK1gyMzkyOTlZMTk0ODExRDAxKg0KK1kxODczNDdEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3MzQ3RDAyKlgyMzkyODlZMTc3MzY0RDAxKg0KK1gyMzg4NDlZMTc3ODc5RDAxKg0KK1gyMzgzMzRZMTc4MzE5RDAxKg0KK1gyMzc3NTdZMTc4NjcyRDAxKg0KK1gyMzcxMzJZMTc4OTMxRDAxKg0KK1gyMzY0NzRZMTc5MDg5RDAxKg0KK1gyMzU3OTlZMTc5MTQyRDAxKg0KK1gyMzU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDIzNTc5OVkxODA1MTZEMDEqDQorWDIzNjQ3NFkxODA1NjlEMDEqDQorWDIzNzEzMlkxODA3MjdEMDEqDQorWDIzNzc1N1kxODA5ODZEMDEqDQorWDIzODMzNFkxODEzMzlEMDEqDQorWDIzODg0OVkxODE3NzlEMDEqDQorWDIzOTI4OVkxODIyOTREMDEqDQorWDIzOTI5OVkxODIzMTFEMDEqDQorWTE3NzM0N0QwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYMjM1NzkyRDAxKg0KK1kxMjEzMTFEMDEqDQorWDIzNTkwMlkxMjE0MzlEMDEqDQorWDIzNjA1MFkxMjE2ODBEMDEqDQorWDIzNjE1OFkxMjE5NDJEMDEqDQorWDIzNjIyNFkxMjIyMThEMDEqDQorWDIzNjI0MVkxMjI1MDBEMDEqDQorWDIzNjIyNFkxMjI3ODJEMDEqDQorWDIzNjE1OFkxMjMwNThEMDEqDQorWDIzNjA1MFkxMjMzMjBEMDEqDQorWDIzNTkwMlkxMjM1NjFEMDEqDQorWDIzNTc5MlkxMjM2ODlEMDEqDQorWTEzMTIwNkQwMSoNCitYMjM1OTQxWTEzMTE5NEQwMSoNCitYMjM2MjIzWTEzMTIxN0QwMSoNCitYMjM2NDk5WTEzMTI4M0QwMSoNCitYMjM2NzYxWTEzMTM5MUQwMSoNCitYMjM3MDAyWTEzMTUzOUQwMSoNCitYMjM3MjE4WTEzMTcyM0QwMSoNCitYMjM3NDAyWTEzMTkzOUQwMSoNCitYMjM3NTUwWTEzMjE4MEQwMSoNCitYMjM3NjU4WTEzMjQ0MkQwMSoNCitYMjM3NzI0WTEzMjcxOEQwMSoNCitYMjM3NzQxWTEzMzAwMEQwMSoNCitYMjM3NzI0WTEzMzI4MkQwMSoNCitYMjM3NjU4WTEzMzU1OEQwMSoNCitYMjM3NTUwWTEzMzgyMEQwMSoNCitYMjM3NDAyWTEzNDA2MUQwMSoNCitYMjM3MjE4WTEzNDI3N0QwMSoNCitYMjM3MDAyWTEzNDQ2MUQwMSoNCitYMjM2NzYxWTEzNDYwOUQwMSoNCitYMjM2NDk5WTEzNDcxN0QwMSoNCitYMjM2MjIzWTEzNDc4M0QwMSoNCitYMjM1OTQxWTEzNDgwNkQwMSoNCitYMjM1NzkyWTEzNDc5NEQwMSoNCitZMTcwNTE2RDAxKg0KK1gyMzU3OTlZMTcwNTE2RDAxKg0KK1gyMzY0NzRZMTcwNTY5RDAxKg0KK1gyMzcxMzJZMTcwNzI3RDAxKg0KK1gyMzc3NTdZMTcwOTg2RDAxKg0KK1gyMzgzMzRZMTcxMzM5RDAxKg0KK1gyMzg4NDlZMTcxNzc5RDAxKg0KK1gyMzkyODlZMTcyMjk0RDAxKg0KK1gyMzkyOTlZMTcyMzExRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzU3OTJEMDIqWDIzMDQzOEQwMSoNCitZMTQ2NTAzRDAxKg0KK1gyMzA2MjFZMTQ2MzkxRDAxKg0KK1gyMzA4ODNZMTQ2MjgzRDAxKg0KK1gyMzExNTlZMTQ2MjE3RDAxKg0KK1gyMzE0NDFZMTQ2MTk0RDAxKg0KK1gyMzE3MjNZMTQ2MjE3RDAxKg0KK1gyMzE5OTlZMTQ2MjgzRDAxKg0KK1gyMzIyNjFZMTQ2MzkxRDAxKg0KK1gyMzI1MDJZMTQ2NTM5RDAxKg0KK1gyMzI3MThZMTQ2NzIzRDAxKg0KK1gyMzI5MDJZMTQ2OTM5RDAxKg0KK1gyMzMwNTBZMTQ3MTgwRDAxKg0KK1gyMzMxNThZMTQ3NDQyRDAxKg0KK1gyMzMyMjRZMTQ3NzE4RDAxKg0KK1gyMzMyNDFZMTQ4MDAwRDAxKg0KK1gyMzMyMjRZMTQ4MjgyRDAxKg0KK1gyMzMxNThZMTQ4NTU4RDAxKg0KK1gyMzMwNTBZMTQ4ODIwRDAxKg0KK1gyMzI5MDJZMTQ5MDYxRDAxKg0KK1gyMzI3MThZMTQ5Mjc3RDAxKg0KK1gyMzI1MDJZMTQ5NDYxRDAxKg0KK1gyMzIyNjFZMTQ5NjA5RDAxKg0KK1gyMzE5OTlZMTQ5NzE3RDAxKg0KK1gyMzE3MjNZMTQ5NzgzRDAxKg0KK1gyMzE0NDFZMTQ5ODA2RDAxKg0KK1gyMzExNTlZMTQ5NzgzRDAxKg0KK1gyMzA4ODNZMTQ5NzE3RDAxKg0KK1gyMzA2MjFZMTQ5NjA5RDAxKg0KK1gyMzA0MzhZMTQ5NDk3RDAxKg0KK1kyNDUxOTVEMDEqDQorWDIzMDQ0MVkyNDUxOTREMDEqDQorWDIzMDcyM1kyNDUyMTdEMDEqDQorWDIzMDk5OVkyNDUyODNEMDEqDQorWDIzMTI2MVkyNDUzOTFEMDEqDQorWDIzMTUwMlkyNDU1MzlEMDEqDQorWDIzMTcxOFkyNDU3MjNEMDEqDQorWDIzMTkwMlkyNDU5MzlEMDEqDQorWDIzMjA1MFkyNDYxODBEMDEqDQorWDIzMjE1OFkyNDY0NDJEMDEqDQorWDIzMjIyNFkyNDY3MThEMDEqDQorWDIzMjI0MVkyNDcwMDBEMDEqDQorWDIzMjIyNFkyNDcyODJEMDEqDQorWDIzMjE1OFkyNDc1NThEMDEqDQorWDIzMjA1MFkyNDc4MjBEMDEqDQorWDIzMTkwMlkyNDgwNjFEMDEqDQorWDIzMTcxOFkyNDgyNzdEMDEqDQorWDIzMTUwMlkyNDg0NjFEMDEqDQorWDIzMTI2MVkyNDg2MDlEMDEqDQorWDIzMDk5OVkyNDg3MTdEMDEqDQorWDIzMDcyM1kyNDg3ODNEMDEqDQorWDIzMDQ0MVkyNDg4MDZEMDEqDQorWDIzMDQzOFkyNDg4MDVEMDEqDQorWTI5MTE5NUQwMSoNCitYMjMwNDQxWTI5MTE5NEQwMSoNCitYMjMwNzIzWTI5MTIxN0QwMSoNCitYMjMwOTk5WTI5MTI4M0QwMSoNCitYMjMxMjYxWTI5MTM5MUQwMSoNCitYMjMxNTAyWTI5MTUzOUQwMSoNCitYMjMxNzE4WTI5MTcyM0QwMSoNCitYMjMxOTAyWTI5MTkzOUQwMSoNCitYMjMyMDUwWTI5MjE4MEQwMSoNCitYMjMyMTU4WTI5MjQ0MkQwMSoNCitYMjMyMjI0WTI5MjcxOEQwMSoNCitYMjMyMjQxWTI5MzAwMEQwMSoNCitYMjMyMjI0WTI5MzI4MkQwMSoNCitYMjMyMTU4WTI5MzU1OEQwMSoNCitYMjMyMDUwWTI5MzgyMEQwMSoNCitYMjMxOTAyWTI5NDA2MUQwMSoNCitYMjMxNzE4WTI5NDI3N0QwMSoNCitYMjMxNTAyWTI5NDQ2MUQwMSoNCitYMjMxMjYxWTI5NDYwOUQwMSoNCitYMjMwOTk5WTI5NDcxN0QwMSoNCitYMjMwNzIzWTI5NDc4M0QwMSoNCitYMjMwNDQxWTI5NDgwNkQwMSoNCitYMjMwNDM4WTI5NDgwNUQwMSoNCitZMzUzMjk3RDAxKg0KK1gyMzA2MzhZMzUzMzc5RDAxKg0KK1gyMzA4NzlZMzUzNTI3RDAxKg0KK1gyMzEwOTVZMzUzNzExRDAxKg0KK1gyMzEyNzlZMzUzOTI3RDAxKg0KK1gyMzE0MjdZMzU0MTY4RDAxKg0KK1gyMzE1MzVZMzU0NDMwRDAxKg0KK1gyMzE2MDFZMzU0NzA2RDAxKg0KK1gyMzE2MThZMzU0OTg4RDAxKg0KK1gyMzE2MDFZMzU1MjcwRDAxKg0KK1gyMzE1MzVZMzU1NTQ2RDAxKg0KK1gyMzE0MjdZMzU1ODA4RDAxKg0KK1gyMzEyNzlZMzU2MDQ5RDAxKg0KK1gyMzEwOTVZMzU2MjY1RDAxKg0KK1gyMzA4NzlZMzU2NDQ5RDAxKg0KK1gyMzA2MzhZMzU2NTk3RDAxKg0KK1gyMzA0MzhZMzU2Njc5RDAxKg0KK1kzOTcwMDBEMDEqDQorWDIzNTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gyMzUxMjRZMzc5MDg5RDAxKg0KK1gyMzQ0NjZZMzc4OTMxRDAxKg0KK1gyMzM4NDFZMzc4NjcyRDAxKg0KK1gyMzMyNjRZMzc4MzE5RDAxKg0KK1gyMzI3NDlZMzc3ODc5RDAxKg0KK1gyMzIzMDlZMzc3MzY0RDAxKg0KK1gyMzE5NTZZMzc2Nzg3RDAxKg0KK1gyMzE2OTdZMzc2MTYyRDAxKg0KK1gyMzE1MzlZMzc1NTA0RDAxKg0KK1gyMzE0ODZZMzc0ODI5RDAxKg0KK1gyMzE1MzlZMzc0MTU0RDAxKg0KK1gyMzE2OTdZMzczNDk2RDAxKg0KK1gyMzE5NTZZMzcyODcxRDAxKg0KK1gyMzIzMDlZMzcyMjk0RDAxKg0KK1gyMzI3NDlZMzcxNzc5RDAxKg0KK1gyMzMyNjRZMzcxMzM5RDAxKg0KK1gyMzM4NDFZMzcwOTg2RDAxKg0KK1gyMzQ0NjZZMzcwNzI3RDAxKg0KK1gyMzUxMjRZMzcwNTY5RDAxKg0KK1gyMzU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDIzNTEyNFkzNjkwODlEMDEqDQorWDIzNDQ2NlkzNjg5MzFEMDEqDQorWDIzMzg0MVkzNjg2NzJEMDEqDQorWDIzMzI2NFkzNjgzMTlEMDEqDQorWDIzMjc0OVkzNjc4NzlEMDEqDQorWDIzMjMwOVkzNjczNjREMDEqDQorWDIzMTk1NlkzNjY3ODdEMDEqDQorWDIzMTY5N1kzNjYxNjJEMDEqDQorWDIzMTUzOVkzNjU1MDREMDEqDQorWDIzMTQ4NlkzNjQ4MjlEMDEqDQorWDIzMTUzOVkzNjQxNTREMDEqDQorWDIzMTY5N1kzNjM0OTZEMDEqDQorWDIzMTk1NlkzNjI4NzFEMDEqDQorWDIzMjMwOVkzNjIyOTREMDEqDQorWDIzMjc0OVkzNjE3NzlEMDEqDQorWDIzMzI2NFkzNjEzMzlEMDEqDQorWDIzMzg0MVkzNjA5ODZEMDEqDQorWDIzNDQ2NlkzNjA3MjdEMDEqDQorWDIzNTEyNFkzNjA1NjlEMDEqDQorWDIzNTc5MlkzNjA1MTZEMDEqDQorWTIzNzE4MEQwMSoNCitYMjM1NjIxWTIzNzEwOUQwMSoNCitYMjM1MzgwWTIzNjk2MUQwMSoNCitYMjM1MTY0WTIzNjc3N0QwMSoNCitYMjM0OTgwWTIzNjU2MUQwMSoNCitYMjM0ODMyWTIzNjMyMEQwMSoNCitYMjM0NzI0WTIzNjA1OEQwMSoNCitYMjM0NjU4WTIzNTc4MkQwMSoNCitYMjM0NjM1WTIzNTUwMEQwMSoNCitYMjM0NjU4WTIzNTIxOEQwMSoNCitYMjM0NzI0WTIzNDk0MkQwMSoNCitYMjM0ODMyWTIzNDY4MEQwMSoNCitYMjM0OTgwWTIzNDQzOUQwMSoNCitYMjM1MTY0WTIzNDIyM0QwMSoNCitYMjM1MzgwWTIzNDAzOUQwMSoNCitYMjM1NjIxWTIzMzg5MUQwMSoNCitYMjM1NzkyWTIzMzgyMEQwMSoNCitZMjAxNjQyRDAxKg0KK1gyMzUxMjRZMjAxNTg5RDAxKg0KK1gyMzQ0NjZZMjAxNDMxRDAxKg0KK1gyMzM4NDFZMjAxMTcyRDAxKg0KK1gyMzMyNjRZMjAwODE5RDAxKg0KK1gyMzI3NDlZMjAwMzc5RDAxKg0KK1gyMzIzMDlZMTk5ODY0RDAxKg0KK1gyMzE5NTZZMTk5Mjg3RDAxKg0KK1gyMzE2OTdZMTk4NjYyRDAxKg0KK1gyMzE1MzlZMTk4MDA0RDAxKg0KK1gyMzE0ODZZMTk3MzI5RDAxKg0KK1gyMzE1MzlZMTk2NjU0RDAxKg0KK1gyMzE2OTdZMTk1OTk2RDAxKg0KK1gyMzE5NTZZMTk1MzcxRDAxKg0KK1gyMzIzMDlZMTk0Nzk0RDAxKg0KK1gyMzI3NDlZMTk0Mjc5RDAxKg0KK1gyMzMyNjRZMTkzODM5RDAxKg0KK1gyMzM4NDFZMTkzNDg2RDAxKg0KK1gyMzQ0NjZZMTkzMjI3RDAxKg0KK1gyMzUxMjRZMTkzMDY5RDAxKg0KK1gyMzU3OTJZMTkzMDE2RDAxKg0KK1kxODkxNDJEMDEqDQorWDIzNTEyNFkxODkwODlEMDEqDQorWDIzNDQ2NlkxODg5MzFEMDEqDQorWDIzMzg0MVkxODg2NzJEMDEqDQorWDIzMzI2NFkxODgzMTlEMDEqDQorWDIzMjc0OVkxODc4NzlEMDEqDQorWDIzMjMwOVkxODczNjREMDEqDQorWDIzMTk1NlkxODY3ODdEMDEqDQorWDIzMTY5N1kxODYxNjJEMDEqDQorWDIzMTUzOVkxODU1MDREMDEqDQorWDIzMTQ4NlkxODQ4MjlEMDEqDQorWDIzMTUzOVkxODQxNTREMDEqDQorWDIzMTY5N1kxODM0OTZEMDEqDQorWDIzMTk1NlkxODI4NzFEMDEqDQorWDIzMjMwOVkxODIyOTREMDEqDQorWDIzMjc0OVkxODE3NzlEMDEqDQorWDIzMzI2NFkxODEzMzlEMDEqDQorWDIzMzg0MVkxODA5ODZEMDEqDQorWDIzNDQ2NlkxODA3MjdEMDEqDQorWDIzNTEyNFkxODA1NjlEMDEqDQorWDIzNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjM1MTI0WTE3OTA4OUQwMSoNCitYMjM0NDY2WTE3ODkzMUQwMSoNCitYMjMzODQxWTE3ODY3MkQwMSoNCitYMjMzMjY0WTE3ODMxOUQwMSoNCitYMjMyNzQ5WTE3Nzg3OUQwMSoNCitYMjMyMzA5WTE3NzM2NEQwMSoNCitYMjMxOTU2WTE3Njc4N0QwMSoNCitYMjMxNjk3WTE3NjE2MkQwMSoNCitYMjMxNTM5WTE3NTUwNEQwMSoNCitYMjMxNDg2WTE3NDgyOUQwMSoNCitYMjMxNTM5WTE3NDE1NEQwMSoNCitYMjMxNjk3WTE3MzQ5NkQwMSoNCitYMjMxOTU2WTE3Mjg3MUQwMSoNCitYMjMyMzA5WTE3MjI5NEQwMSoNCitYMjMyNzQ5WTE3MTc3OUQwMSoNCitYMjMzMjY0WTE3MTMzOUQwMSoNCitYMjMzODQxWTE3MDk4NkQwMSoNCitYMjM0NDY2WTE3MDcyN0QwMSoNCitYMjM1MTI0WTE3MDU2OUQwMSoNCitYMjM1NzkyWTE3MDUxNkQwMSoNCitZMTM0Nzk0RDAxKg0KK1gyMzU2NTlZMTM0NzgzRDAxKg0KK1gyMzUzODNZMTM0NzE3RDAxKg0KK1gyMzUxMjFZMTM0NjA5RDAxKg0KK1gyMzQ4ODBZMTM0NDYxRDAxKg0KK1gyMzQ2NjRZMTM0Mjc3RDAxKg0KK1gyMzQ0ODBZMTM0MDYxRDAxKg0KK1gyMzQzMzJZMTMzODIwRDAxKg0KK1gyMzQyMjRZMTMzNTU4RDAxKg0KK1gyMzQxNThZMTMzMjgyRDAxKg0KK1gyMzQxMzVZMTMzMDAwRDAxKg0KK1gyMzQxNThZMTMyNzE4RDAxKg0KK1gyMzQyMjRZMTMyNDQyRDAxKg0KK1gyMzQzMzJZMTMyMTgwRDAxKg0KK1gyMzQ0ODBZMTMxOTM5RDAxKg0KK1gyMzQ2NjRZMTMxNzIzRDAxKg0KK1gyMzQ4ODBZMTMxNTM5RDAxKg0KK1gyMzUxMjFZMTMxMzkxRDAxKg0KK1gyMzUzODNZMTMxMjgzRDAxKg0KK1gyMzU2NTlZMTMxMjE3RDAxKg0KK1gyMzU3OTJZMTMxMjA2RDAxKg0KK1kxMjM2ODlEMDEqDQorWDIzNTcxOFkxMjM3NzdEMDEqDQorWDIzNTUwMlkxMjM5NjFEMDEqDQorWDIzNTI2MVkxMjQxMDlEMDEqDQorWDIzNDk5OVkxMjQyMTdEMDEqDQorWDIzNDcyM1kxMjQyODNEMDEqDQorWDIzNDQ0MVkxMjQzMDZEMDEqDQorWDIzNDE1OVkxMjQyODNEMDEqDQorWDIzMzg4M1kxMjQyMTdEMDEqDQorWDIzMzYyMVkxMjQxMDlEMDEqDQorWDIzMzM4MFkxMjM5NjFEMDEqDQorWDIzMzE2NFkxMjM3NzdEMDEqDQorWDIzMjk4MFkxMjM1NjFEMDEqDQorWDIzMjgzMlkxMjMzMjBEMDEqDQorWDIzMjcyNFkxMjMwNThEMDEqDQorWDIzMjY1OFkxMjI3ODJEMDEqDQorWDIzMjYzNVkxMjI1MDBEMDEqDQorWDIzMjY1OFkxMjIyMThEMDEqDQorWDIzMjcyNFkxMjE5NDJEMDEqDQorWDIzMjgzMlkxMjE2ODBEMDEqDQorWDIzMjk4MFkxMjE0MzlEMDEqDQorWDIzMzE2NFkxMjEyMjNEMDEqDQorWDIzMzM4MFkxMjEwMzlEMDEqDQorWDIzMzYyMVkxMjA4OTFEMDEqDQorWDIzMzg4M1kxMjA3ODNEMDEqDQorWDIzNDE1OVkxMjA3MTdEMDEqDQorWDIzNDQ0MVkxMjA2OTREMDEqDQorWDIzNDcyM1kxMjA3MTdEMDEqDQorWDIzNDk5OVkxMjA3ODNEMDEqDQorWDIzNTI2MVkxMjA4OTFEMDEqDQorWDIzNTUwMlkxMjEwMzlEMDEqDQorWDIzNTcxOFkxMjEyMjNEMDEqDQorWDIzNTc5MlkxMjEzMTFEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzMDQzOEQwMipYMjI1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDIyNTc5OVkxNzA1MTZEMDEqDQorWDIyNjQ3NFkxNzA1NjlEMDEqDQorWDIyNzEzMlkxNzA3MjdEMDEqDQorWDIyNzc1N1kxNzA5ODZEMDEqDQorWDIyODMzNFkxNzEzMzlEMDEqDQorWDIyODg0OVkxNzE3NzlEMDEqDQorWDIyOTI4OVkxNzIyOTREMDEqDQorWDIyOTY0MlkxNzI4NzFEMDEqDQorWDIyOTkwMVkxNzM0OTZEMDEqDQorWDIzMDA1OVkxNzQxNTREMDEqDQorWDIzMDA5OVkxNzQ4MjlEMDEqDQorWDIzMDA1OVkxNzU1MDREMDEqDQorWDIyOTkwMVkxNzYxNjJEMDEqDQorWDIyOTY0MlkxNzY3ODdEMDEqDQorWDIyOTI4OVkxNzczNjREMDEqDQorWDIyODg0OVkxNzc4NzlEMDEqDQorWDIyODMzNFkxNzgzMTlEMDEqDQorWDIyNzc1N1kxNzg2NzJEMDEqDQorWDIyNzEzMlkxNzg5MzFEMDEqDQorWDIyNjQ3NFkxNzkwODlEMDEqDQorWDIyNTc5OVkxNzkxNDJEMDEqDQorWDIyNTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMjI1Nzk5WTE4MDUxNkQwMSoNCitYMjI2NDc0WTE4MDU2OUQwMSoNCitYMjI3MTMyWTE4MDcyN0QwMSoNCitYMjI3NzU3WTE4MDk4NkQwMSoNCitYMjI4MzM0WTE4MTMzOUQwMSoNCitYMjI4ODQ5WTE4MTc3OUQwMSoNCitYMjI5Mjg5WTE4MjI5NEQwMSoNCitYMjI5NjQyWTE4Mjg3MUQwMSoNCitYMjI5OTAxWTE4MzQ5NkQwMSoNCitYMjMwMDU5WTE4NDE1NEQwMSoNCitYMjMwMDk5WTE4NDgyOUQwMSoNCitYMjMwMDU5WTE4NTUwNEQwMSoNCitYMjI5OTAxWTE4NjE2MkQwMSoNCitYMjI5NjQyWTE4Njc4N0QwMSoNCitYMjI5Mjg5WTE4NzM2NEQwMSoNCitYMjI4ODQ5WTE4Nzg3OUQwMSoNCitYMjI4MzM0WTE4ODMxOUQwMSoNCitYMjI3NzU3WTE4ODY3MkQwMSoNCitYMjI3MTMyWTE4ODkzMUQwMSoNCitYMjI2NDc0WTE4OTA4OUQwMSoNCitYMjI1Nzk5WTE4OTE0MkQwMSoNCitYMjI1NzkyWTE4OTE0MkQwMSoNCitZMTkzMDE2RDAxKg0KK1gyMjU3OTlZMTkzMDE2RDAxKg0KK1gyMjY0NzRZMTkzMDY5RDAxKg0KK1gyMjcxMzJZMTkzMjI3RDAxKg0KK1gyMjc3NTdZMTkzNDg2RDAxKg0KK1gyMjgzMzRZMTkzODM5RDAxKg0KK1gyMjg4NDlZMTk0Mjc5RDAxKg0KK1gyMjkyODlZMTk0Nzk0RDAxKg0KK1gyMjk2NDJZMTk1MzcxRDAxKg0KK1gyMjk5MDFZMTk1OTk2RDAxKg0KK1gyMzAwNTlZMTk2NjU0RDAxKg0KK1gyMzAwOTlZMTk3MzI5RDAxKg0KK1gyMzAwNTlZMTk4MDA0RDAxKg0KK1gyMjk5MDFZMTk4NjYyRDAxKg0KK1gyMjk2NDJZMTk5Mjg3RDAxKg0KK1gyMjkyODlZMTk5ODY0RDAxKg0KK1gyMjg4NDlZMjAwMzc5RDAxKg0KK1gyMjgzMzRZMjAwODE5RDAxKg0KK1gyMjc3NTdZMjAxMTcyRDAxKg0KK1gyMjcxMzJZMjAxNDMxRDAxKg0KK1gyMjY0NzRZMjAxNTg5RDAxKg0KK1gyMjU3OTlZMjAxNjQyRDAxKg0KK1gyMjU3OTJZMjAxNjQyRDAxKg0KK1kyMTg5MTFEMDEqDQorWDIyNjAwMlkyMTkwMzlEMDEqDQorWDIyNjIxOFkyMTkyMjNEMDEqDQorWDIyNjQwMlkyMTk0MzlEMDEqDQorWDIyNjU1MFkyMTk2ODBEMDEqDQorWDIyNjY1OFkyMTk5NDJEMDEqDQorWDIyNjcyNFkyMjAyMThEMDEqDQorWDIyNjc0MVkyMjA1MDBEMDEqDQorWDIyNjcyNFkyMjA3ODJEMDEqDQorWDIyNjY1OFkyMjEwNThEMDEqDQorWDIyNjU1MFkyMjEzMjBEMDEqDQorWDIyNjQwMlkyMjE1NjFEMDEqDQorWDIyNjIxOFkyMjE3NzdEMDEqDQorWDIyNjAwMlkyMjE5NjFEMDEqDQorWDIyNTc5MlkyMjIwODlEMDEqDQorWTIyNDczM0QwMSoNCitYMjI1OTk5WTIyNDc4M0QwMSoNCitYMjI2MjYxWTIyNDg5MUQwMSoNCitYMjI2NTAyWTIyNTAzOUQwMSoNCitYMjI2NzE4WTIyNTIyM0QwMSoNCitYMjI2OTAyWTIyNTQzOUQwMSoNCitYMjI3MDUwWTIyNTY4MEQwMSoNCitYMjI3MTU4WTIyNTk0MkQwMSoNCitYMjI3MjI0WTIyNjIxOEQwMSoNCitYMjI3MjQxWTIyNjUwMEQwMSoNCitYMjI3MjI0WTIyNjc4MkQwMSoNCitYMjI3MTU4WTIyNzA1OEQwMSoNCitYMjI3MDUwWTIyNzMyMEQwMSoNCitYMjI2OTAyWTIyNzU2MUQwMSoNCitYMjI2NzE4WTIyNzc3N0QwMSoNCitYMjI2NTAyWTIyNzk2MUQwMSoNCitYMjI2MjYxWTIyODEwOUQwMSoNCitYMjI1OTk5WTIyODIxN0QwMSoNCitYMjI1NzkyWTIyODI2N0QwMSoNCitZMjMzOTExRDAxKg0KK1gyMjYwMDJZMjM0MDM5RDAxKg0KK1gyMjYyMThZMjM0MjIzRDAxKg0KK1gyMjY0MDJZMjM0NDM5RDAxKg0KK1gyMjY1NTBZMjM0NjgwRDAxKg0KK1gyMjY2NThZMjM0OTQyRDAxKg0KK1gyMjY3MjRZMjM1MjE4RDAxKg0KK1gyMjY3NDFZMjM1NTAwRDAxKg0KK1gyMjY3MjRZMjM1NzgyRDAxKg0KK1gyMjY2NThZMjM2MDU4RDAxKg0KK1gyMjY1NTBZMjM2MzIwRDAxKg0KK1gyMjY0MDJZMjM2NTYxRDAxKg0KK1gyMjYyMThZMjM2Nzc3RDAxKg0KK1gyMjYwMDJZMjM2OTYxRDAxKg0KK1gyMjU3OTJZMjM3MDg5RDAxKg0KK1kyNDI4MTFEMDEqDQorWDIyNTkwMlkyNDI5MzlEMDEqDQorWDIyNjA1MFkyNDMxODBEMDEqDQorWDIyNjE1OFkyNDM0NDJEMDEqDQorWDIyNjIyNFkyNDM3MThEMDEqDQorWDIyNjI0MVkyNDQwMDBEMDEqDQorWDIyNjIyNFkyNDQyODJEMDEqDQorWDIyNjE1OFkyNDQ1NThEMDEqDQorWDIyNjA1MFkyNDQ4MjBEMDEqDQorWDIyNTkwMlkyNDUwNjFEMDEqDQorWDIyNTc5MlkyNDUxODlEMDEqDQorWTI0NzIzM0QwMSoNCitYMjI1OTk5WTI0NzI4M0QwMSoNCitYMjI2MjYxWTI0NzM5MUQwMSoNCitYMjI2NTAyWTI0NzUzOUQwMSoNCitYMjI2NzE4WTI0NzcyM0QwMSoNCitYMjI2OTAyWTI0NzkzOUQwMSoNCitYMjI3MDUwWTI0ODE4MEQwMSoNCitYMjI3MTU4WTI0ODQ0MkQwMSoNCitYMjI3MjI0WTI0ODcxOEQwMSoNCitYMjI3MjQxWTI0OTAwMEQwMSoNCitYMjI3MjI0WTI0OTI4MkQwMSoNCitYMjI3MTU4WTI0OTU1OEQwMSoNCitYMjI3MDUwWTI0OTgyMEQwMSoNCitYMjI2OTAyWTI1MDA2MUQwMSoNCitYMjI2NzE4WTI1MDI3N0QwMSoNCitYMjI2NTAyWTI1MDQ2MUQwMSoNCitYMjI2MjYxWTI1MDYwOUQwMSoNCitYMjI1OTk5WTI1MDcxN0QwMSoNCitYMjI1NzkyWTI1MDc2N0QwMSoNCitZMjUwODExRDAxKg0KK1gyMjU5MDJZMjUwOTM5RDAxKg0KK1gyMjYwNTBZMjUxMTgwRDAxKg0KK1gyMjYxNThZMjUxNDQyRDAxKg0KK1gyMjYyMjRZMjUxNzE4RDAxKg0KK1gyMjYyNDFZMjUyMDAwRDAxKg0KK1gyMjYyMjRZMjUyMjgyRDAxKg0KK1gyMjYxNThZMjUyNTU4RDAxKg0KK1gyMjYwNTBZMjUyODIwRDAxKg0KK1gyMjU5MDJZMjUzMDYxRDAxKg0KK1gyMjU3OTJZMjUzMTg5RDAxKg0KK1kzNjA1MTZEMDEqDQorWDIyNTc5OVkzNjA1MTZEMDEqDQorWDIyNjQ3NFkzNjA1NjlEMDEqDQorWDIyNzEzMlkzNjA3MjdEMDEqDQorWDIyNzc1N1kzNjA5ODZEMDEqDQorWDIyODMzNFkzNjEzMzlEMDEqDQorWDIyODg0OVkzNjE3NzlEMDEqDQorWDIyOTI4OVkzNjIyOTREMDEqDQorWDIyOTY0MlkzNjI4NzFEMDEqDQorWDIyOTkwMVkzNjM0OTZEMDEqDQorWDIzMDA1OVkzNjQxNTREMDEqDQorWDIzMDA5OVkzNjQ4MjlEMDEqDQorWDIzMDA1OVkzNjU1MDREMDEqDQorWDIyOTkwMVkzNjYxNjJEMDEqDQorWDIyOTY0MlkzNjY3ODdEMDEqDQorWDIyOTI4OVkzNjczNjREMDEqDQorWDIyODg0OVkzNjc4NzlEMDEqDQorWDIyODMzNFkzNjgzMTlEMDEqDQorWDIyNzc1N1kzNjg2NzJEMDEqDQorWDIyNzEzMlkzNjg5MzFEMDEqDQorWDIyNjQ3NFkzNjkwODlEMDEqDQorWDIyNTc5OVkzNjkxNDJEMDEqDQorWDIyNTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMjI1Nzk5WTM3MDUxNkQwMSoNCitYMjI2NDc0WTM3MDU2OUQwMSoNCitYMjI3MTMyWTM3MDcyN0QwMSoNCitYMjI3NzU3WTM3MDk4NkQwMSoNCitYMjI4MzM0WTM3MTMzOUQwMSoNCitYMjI4ODQ5WTM3MTc3OUQwMSoNCitYMjI5Mjg5WTM3MjI5NEQwMSoNCitYMjI5NjQyWTM3Mjg3MUQwMSoNCitYMjI5OTAxWTM3MzQ5NkQwMSoNCitYMjMwMDU5WTM3NDE1NEQwMSoNCitYMjMwMDk5WTM3NDgyOUQwMSoNCitYMjMwMDU5WTM3NTUwNEQwMSoNCitYMjI5OTAxWTM3NjE2MkQwMSoNCitYMjI5NjQyWTM3Njc4N0QwMSoNCitYMjI5Mjg5WTM3NzM2NEQwMSoNCitYMjI4ODQ5WTM3Nzg3OUQwMSoNCitYMjI4MzM0WTM3ODMxOUQwMSoNCitYMjI3NzU3WTM3ODY3MkQwMSoNCitYMjI3MTMyWTM3ODkzMUQwMSoNCitYMjI2NDc0WTM3OTA4OUQwMSoNCitYMjI1Nzk5WTM3OTE0MkQwMSoNCitYMjI1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gyMzA0MzhEMDEqDQorWTM1NjY3OUQwMSoNCitYMjMwMzc2WTM1NjcwNUQwMSoNCitYMjMwMTAwWTM1Njc3MUQwMSoNCitYMjI5ODE4WTM1Njc5NEQwMSoNCitYMjI5NTM2WTM1Njc3MUQwMSoNCitYMjI5MjYwWTM1NjcwNUQwMSoNCitYMjI4OTk4WTM1NjU5N0QwMSoNCitYMjI4NzU3WTM1NjQ0OUQwMSoNCitYMjI4NTQxWTM1NjI2NUQwMSoNCitYMjI4MzU3WTM1NjA0OUQwMSoNCitYMjI4MjA5WTM1NTgwOEQwMSoNCitYMjI4MTAxWTM1NTU0NkQwMSoNCitYMjI4MDM1WTM1NTI3MEQwMSoNCitYMjI4MDEyWTM1NDk4OEQwMSoNCitYMjI4MDM1WTM1NDcwNkQwMSoNCitYMjI4MTAxWTM1NDQzMEQwMSoNCitYMjI4MjA5WTM1NDE2OEQwMSoNCitYMjI4MzU3WTM1MzkyN0QwMSoNCitYMjI4NTQxWTM1MzcxMUQwMSoNCitYMjI4NzU3WTM1MzUyN0QwMSoNCitYMjI4OTk4WTM1MzM3OUQwMSoNCitYMjI5MjYwWTM1MzI3MUQwMSoNCitYMjI5NTM2WTM1MzIwNUQwMSoNCitYMjI5ODE4WTM1MzE4MkQwMSoNCitYMjMwMTAwWTM1MzIwNUQwMSoNCitYMjMwMzc2WTM1MzI3MUQwMSoNCitYMjMwNDM4WTM1MzI5N0QwMSoNCitZMjk0ODA1RDAxKg0KK1gyMzAxNTlZMjk0NzgzRDAxKg0KK1gyMjk4ODNZMjk0NzE3RDAxKg0KK1gyMjk2MjFZMjk0NjA5RDAxKg0KK1gyMjkzODBZMjk0NDYxRDAxKg0KK1gyMjkxNjRZMjk0Mjc3RDAxKg0KK1gyMjg5ODBZMjk0MDYxRDAxKg0KK1gyMjg4MzJZMjkzODIwRDAxKg0KK1gyMjg3MjRZMjkzNTU4RDAxKg0KK1gyMjg2NThZMjkzMjgyRDAxKg0KK1gyMjg2MzVZMjkzMDAwRDAxKg0KK1gyMjg2NThZMjkyNzE4RDAxKg0KK1gyMjg3MjRZMjkyNDQyRDAxKg0KK1gyMjg4MzJZMjkyMTgwRDAxKg0KK1gyMjg5ODBZMjkxOTM5RDAxKg0KK1gyMjkxNjRZMjkxNzIzRDAxKg0KK1gyMjkzODBZMjkxNTM5RDAxKg0KK1gyMjk2MjFZMjkxMzkxRDAxKg0KK1gyMjk4ODNZMjkxMjgzRDAxKg0KK1gyMzAxNTlZMjkxMjE3RDAxKg0KK1gyMzA0MzhZMjkxMTk1RDAxKg0KK1kyNDg4MDVEMDEqDQorWDIzMDE1OVkyNDg3ODNEMDEqDQorWDIyOTg4M1kyNDg3MTdEMDEqDQorWDIyOTYyMVkyNDg2MDlEMDEqDQorWDIyOTM4MFkyNDg0NjFEMDEqDQorWDIyOTE2NFkyNDgyNzdEMDEqDQorWDIyODk4MFkyNDgwNjFEMDEqDQorWDIyODgzMlkyNDc4MjBEMDEqDQorWDIyODcyNFkyNDc1NThEMDEqDQorWDIyODY1OFkyNDcyODJEMDEqDQorWDIyODYzNVkyNDcwMDBEMDEqDQorWDIyODY1OFkyNDY3MThEMDEqDQorWDIyODcyNFkyNDY0NDJEMDEqDQorWDIyODgzMlkyNDYxODBEMDEqDQorWDIyODk4MFkyNDU5MzlEMDEqDQorWDIyOTE2NFkyNDU3MjNEMDEqDQorWDIyOTM4MFkyNDU1MzlEMDEqDQorWDIyOTYyMVkyNDUzOTFEMDEqDQorWDIyOTg4M1kyNDUyODNEMDEqDQorWDIzMDE1OVkyNDUyMTdEMDEqDQorWDIzMDQzOFkyNDUxOTVEMDEqDQorWTE0OTQ5N0QwMSoNCitYMjMwMzgwWTE0OTQ2MUQwMSoNCitYMjMwMTY0WTE0OTI3N0QwMSoNCitYMjI5OTgwWTE0OTA2MUQwMSoNCitYMjI5ODMyWTE0ODgyMEQwMSoNCitYMjI5NzI0WTE0ODU1OEQwMSoNCitYMjI5NjU4WTE0ODI4MkQwMSoNCitYMjI5NjM1WTE0ODAwMEQwMSoNCitYMjI5NjU4WTE0NzcxOEQwMSoNCitYMjI5NzI0WTE0NzQ0MkQwMSoNCitYMjI5ODMyWTE0NzE4MEQwMSoNCitYMjI5OTgwWTE0NjkzOUQwMSoNCitYMjMwMTY0WTE0NjcyM0QwMSoNCitYMjMwMzgwWTE0NjUzOUQwMSoNCitYMjMwNDM4WTE0NjUwM0QwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjI1NzkyWTI1MDc2N0QwMipYMjI1NzYxWTI1MDc3NEQwMSoNCitYMjI1NzkyWTI1MDgxMUQwMSoNCitZMjUwNzY3RDAxKg0KK0czNyoNCitHMzYqDQorWDIyMDQzOFkzOTcwMDBEMDIqWDIyNTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gyMjUxMjRZMzc5MDg5RDAxKg0KK1gyMjQ0NjZZMzc4OTMxRDAxKg0KK1gyMjM4NDFZMzc4NjcyRDAxKg0KK1gyMjMyNjRZMzc4MzE5RDAxKg0KK1gyMjI3NDlZMzc3ODc5RDAxKg0KK1gyMjIzMDlZMzc3MzY0RDAxKg0KK1gyMjE5NTZZMzc2Nzg3RDAxKg0KK1gyMjE2OTdZMzc2MTYyRDAxKg0KK1gyMjE1MzlZMzc1NTA0RDAxKg0KK1gyMjE0ODZZMzc0ODI5RDAxKg0KK1gyMjE1MzlZMzc0MTU0RDAxKg0KK1gyMjE2OTdZMzczNDk2RDAxKg0KK1gyMjE5NTZZMzcyODcxRDAxKg0KK1gyMjIzMDlZMzcyMjk0RDAxKg0KK1gyMjI3NDlZMzcxNzc5RDAxKg0KK1gyMjMyNjRZMzcxMzM5RDAxKg0KK1gyMjM4NDFZMzcwOTg2RDAxKg0KK1gyMjQ0NjZZMzcwNzI3RDAxKg0KK1gyMjUxMjRZMzcwNTY5RDAxKg0KK1gyMjU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDIyNTEyNFkzNjkwODlEMDEqDQorWDIyNDQ2NlkzNjg5MzFEMDEqDQorWDIyMzg0MVkzNjg2NzJEMDEqDQorWDIyMzI2NFkzNjgzMTlEMDEqDQorWDIyMjc0OVkzNjc4NzlEMDEqDQorWDIyMjMwOVkzNjczNjREMDEqDQorWDIyMTk1NlkzNjY3ODdEMDEqDQorWDIyMTY5N1kzNjYxNjJEMDEqDQorWDIyMTUzOVkzNjU1MDREMDEqDQorWDIyMTQ4NlkzNjQ4MjlEMDEqDQorWDIyMTUzOVkzNjQxNTREMDEqDQorWDIyMTY5N1kzNjM0OTZEMDEqDQorWDIyMTk1NlkzNjI4NzFEMDEqDQorWDIyMjMwOVkzNjIyOTREMDEqDQorWDIyMjc0OVkzNjE3NzlEMDEqDQorWDIyMzI2NFkzNjEzMzlEMDEqDQorWDIyMzg0MVkzNjA5ODZEMDEqDQorWDIyNDQ2NlkzNjA3MjdEMDEqDQorWDIyNTEyNFkzNjA1NjlEMDEqDQorWDIyNTc5MlkzNjA1MTZEMDEqDQorWTI1MzE4OUQwMSoNCitYMjI1NzE4WTI1MzI3N0QwMSoNCitYMjI1NTAyWTI1MzQ2MUQwMSoNCitYMjI1MjYxWTI1MzYwOUQwMSoNCitYMjI0OTk5WTI1MzcxN0QwMSoNCitYMjI0NzIzWTI1Mzc4M0QwMSoNCitYMjI0NDQxWTI1MzgwNkQwMSoNCitYMjI0MTU5WTI1Mzc4M0QwMSoNCitYMjIzODgzWTI1MzcxN0QwMSoNCitYMjIzNjQzWTI1MzYxOEQwMSoNCitYMjIzNjY3WTI1MzcxOEQwMSoNCitYMjIzNjg0WTI1NDAwMEQwMSoNCitYMjIzNjY3WTI1NDI4MkQwMSoNCitYMjIzNjAxWTI1NDU1OEQwMSoNCitYMjIzNDkzWTI1NDgyMEQwMSoNCitYMjIzMzQ1WTI1NTA2MUQwMSoNCitYMjIzMTYxWTI1NTI3N0QwMSoNCitYMjIyOTQ1WTI1NTQ2MUQwMSoNCitYMjIyNzA0WTI1NTYwOUQwMSoNCitYMjIyNDQyWTI1NTcxN0QwMSoNCitYMjIyMTY2WTI1NTc4M0QwMSoNCitYMjIxODg0WTI1NTgwNkQwMSoNCitYMjIxNjAyWTI1NTc4M0QwMSoNCitYMjIxMzI2WTI1NTcxN0QwMSoNCitYMjIxMDY0WTI1NTYwOUQwMSoNCitYMjIwODIzWTI1NTQ2MUQwMSoNCitYMjIwNjA3WTI1NTI3N0QwMSoNCitYMjIwNDM4WTI1NTA3OUQwMSoNCitZMjU3Njk1RDAxKg0KK1gyMjA0NDFZMjU3Njk0RDAxKg0KK1gyMjA3MjNZMjU3NzE3RDAxKg0KK1gyMjA5OTlZMjU3NzgzRDAxKg0KK1gyMjEyNjFZMjU3ODkxRDAxKg0KK1gyMjE1MDJZMjU4MDM5RDAxKg0KK1gyMjE3MThZMjU4MjIzRDAxKg0KK1gyMjE5MDJZMjU4NDM5RDAxKg0KK1gyMjIwNTBZMjU4NjgwRDAxKg0KK1gyMjIxNThZMjU4OTQyRDAxKg0KK1gyMjIyMjRZMjU5MjE4RDAxKg0KK1gyMjIyNDFZMjU5NTAwRDAxKg0KK1gyMjIyMjRZMjU5NzgyRDAxKg0KK1gyMjIxNThZMjYwMDU4RDAxKg0KK1gyMjIwNTBZMjYwMzIwRDAxKg0KK1gyMjE5MDJZMjYwNTYxRDAxKg0KK1gyMjE3MThZMjYwNzc3RDAxKg0KK1gyMjE1MDJZMjYwOTYxRDAxKg0KK1gyMjEyNjFZMjYxMTA5RDAxKg0KK1gyMjA5OTlZMjYxMjE3RDAxKg0KK1gyMjA3MjNZMjYxMjgzRDAxKg0KK1gyMjA0NDFZMjYxMzA2RDAxKg0KK1gyMjA0MzhZMjYxMzA1RDAxKg0KK1kyNjM3OTlEMDEqDQorWDIyMDQ0N1kyNjM3OTdEMDEqDQorWDIyMDcyOVkyNjM3NzREMDEqDQorWDIyMTAxMVkyNjM3OTdEMDEqDQorWDIyMTI4N1kyNjM4NjNEMDEqDQorWDIyMTU0OVkyNjM5NzFEMDEqDQorWDIyMTc5MFkyNjQxMTlEMDEqDQorWDIyMjAwNlkyNjQzMDNEMDEqDQorWDIyMjE5MFkyNjQ1MTlEMDEqDQorWDIyMjMzOFkyNjQ3NjBEMDEqDQorWDIyMjQ0NlkyNjUwMjJEMDEqDQorWDIyMjUxMlkyNjUyOThEMDEqDQorWDIyMjUyOVkyNjU1ODBEMDEqDQorWDIyMjUxMlkyNjU4NjJEMDEqDQorWDIyMjQ0NlkyNjYxMzhEMDEqDQorWDIyMjMzOFkyNjY0MDBEMDEqDQorWDIyMjE5MFkyNjY2NDFEMDEqDQorWDIyMjAwNlkyNjY4NTdEMDEqDQorWDIyMTc5MFkyNjcwNDFEMDEqDQorWDIyMTU0OVkyNjcxODlEMDEqDQorWDIyMTI4N1kyNjcyOTdEMDEqDQorWDIyMTAxMVkyNjczNjNEMDEqDQorWDIyMDcyOVkyNjczODZEMDEqDQorWDIyMDQ0N1kyNjczNjNEMDEqDQorWDIyMDQzOFkyNjczNjFEMDEqDQorWTI3MTAwMEQwMSoNCitYMjIwNTAyWTI3MTAzOUQwMSoNCitYMjIwNzE4WTI3MTIyM0QwMSoNCitYMjIwOTAyWTI3MTQzOUQwMSoNCitYMjIxMDUwWTI3MTY4MEQwMSoNCitYMjIxMTU4WTI3MTk0MkQwMSoNCitYMjIxMjI0WTI3MjIxOEQwMSoNCitYMjIxMjQxWTI3MjUwMEQwMSoNCitYMjIxMjI0WTI3Mjc4MkQwMSoNCitYMjIxMTU4WTI3MzA1OEQwMSoNCitYMjIxMDUwWTI3MzMyMEQwMSoNCitYMjIwOTAyWTI3MzU2MUQwMSoNCitYMjIwNzE4WTI3Mzc3N0QwMSoNCitYMjIwNTAyWTI3Mzk2MUQwMSoNCitYMjIwNDM4WTI3NDAwMEQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMzkzOFkxODA5NDZEMDIqWDIyNDQ2NlkxODA3MjdEMDEqDQorWDIyNTEyNFkxODA1NjlEMDEqDQorWDIyNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjI1MTI0WTE3OTA4OUQwMSoNCitYMjI0NDY2WTE3ODkzMUQwMSoNCitYMjIzOTM4WTE3ODcxMkQwMSoNCitZMTgwOTQ2RDAxKg0KK0czNyoNCitHMzYqDQorWTE5MzQ0NkQwMipYMjI0NDY2WTE5MzIyN0QwMSoNCitYMjI1MTI0WTE5MzA2OUQwMSoNCitYMjI1NzkyWTE5MzAxNkQwMSoNCitZMTg5MTQyRDAxKg0KK1gyMjUxMjRZMTg5MDg5RDAxKg0KK1gyMjQ0NjZZMTg4OTMxRDAxKg0KK1gyMjM5MzhZMTg4NzEyRDAxKg0KK1kxOTM0NDZEMDEqDQorRzM3Kg0KK0czNioNCitZMjE5MDAzRDAyKlgyMjQxMjFZMjE4ODkxRDAxKg0KK1gyMjQzODNZMjE4NzgzRDAxKg0KK1gyMjQ2NTlZMjE4NzE3RDAxKg0KK1gyMjQ5NDFZMjE4Njk0RDAxKg0KK1gyMjUyMjNZMjE4NzE3RDAxKg0KK1gyMjU0OTlZMjE4NzgzRDAxKg0KK1gyMjU3NjFZMjE4ODkxRDAxKg0KK1gyMjU3OTJZMjE4OTExRDAxKg0KK1kyMDE2NDJEMDEqDQorWDIyNTEyNFkyMDE1ODlEMDEqDQorWDIyNDQ2NlkyMDE0MzFEMDEqDQorWDIyMzkzOFkyMDEyMTJEMDEqDQorWTIxOTAwM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjU1MDdEMDIqWDIyMzk4MFkyMjU0MzlEMDEqDQorWDIyNDE2NFkyMjUyMjNEMDEqDQorWDIyNDM4MFkyMjUwMzlEMDEqDQorWDIyNDYyMVkyMjQ4OTFEMDEqDQorWDIyNDg4M1kyMjQ3ODNEMDEqDQorWDIyNTE1OVkyMjQ3MTdEMDEqDQorWDIyNTQ0MVkyMjQ2OTREMDEqDQorWDIyNTcyM1kyMjQ3MTdEMDEqDQorWDIyNTc5MlkyMjQ3MzNEMDEqDQorWTIyMjA4OUQwMSoNCitYMjI1NzYxWTIyMjEwOUQwMSoNCitYMjI1NDk5WTIyMjIxN0QwMSoNCitYMjI1MjIzWTIyMjI4M0QwMSoNCitYMjI0OTQxWTIyMjMwNkQwMSoNCitYMjI0NjU5WTIyMjI4M0QwMSoNCitYMjI0MzgzWTIyMjIxN0QwMSoNCitYMjI0MTIxWTIyMjEwOUQwMSoNCitYMjIzOTM4WTIyMTk5N0QwMSoNCitZMjI1NTA3RDAxKg0KK0czNyoNCitHMzYqDQorWTIzNDAwM0QwMipYMjI0MTIxWTIzMzg5MUQwMSoNCitYMjI0MzgzWTIzMzc4M0QwMSoNCitYMjI0NjU5WTIzMzcxN0QwMSoNCitYMjI0OTQxWTIzMzY5NEQwMSoNCitYMjI1MjIzWTIzMzcxN0QwMSoNCitYMjI1NDk5WTIzMzc4M0QwMSoNCitYMjI1NzYxWTIzMzg5MUQwMSoNCitYMjI1NzkyWTIzMzkxMUQwMSoNCitZMjI4MjY3RDAxKg0KK1gyMjU3MjNZMjI4MjgzRDAxKg0KK1gyMjU0NDFZMjI4MzA2RDAxKg0KK1gyMjUxNTlZMjI4MjgzRDAxKg0KK1gyMjQ4ODNZMjI4MjE3RDAxKg0KK1gyMjQ2MjFZMjI4MTA5RDAxKg0KK1gyMjQzODBZMjI3OTYxRDAxKg0KK1gyMjQxNjRZMjI3Nzc3RDAxKg0KK1gyMjM5ODBZMjI3NTYxRDAxKg0KK1gyMjM5MzhZMjI3NDkzRDAxKg0KK1kyMzQwMDNEMDEqDQorRzM3Kg0KK0czNioNCitZMjQyMjcwRDAyKlgyMjQxNTlZMjQyMjE3RDAxKg0KK1gyMjQ0NDFZMjQyMTk0RDAxKg0KK1gyMjQ3MjNZMjQyMjE3RDAxKg0KK1gyMjQ5OTlZMjQyMjgzRDAxKg0KK1gyMjUyNjFZMjQyMzkxRDAxKg0KK1gyMjU1MDJZMjQyNTM5RDAxKg0KK1gyMjU3MThZMjQyNzIzRDAxKg0KK1gyMjU3OTJZMjQyODExRDAxKg0KK1kyMzcwODlEMDEqDQorWDIyNTc2MVkyMzcxMDlEMDEqDQorWDIyNTQ5OVkyMzcyMTdEMDEqDQorWDIyNTIyM1kyMzcyODNEMDEqDQorWDIyNDk0MVkyMzczMDZEMDEqDQorWDIyNDY1OVkyMzcyODNEMDEqDQorWDIyNDM4M1kyMzcyMTdEMDEqDQorWDIyNDEyMVkyMzcxMDlEMDEqDQorWDIyMzkzOFkyMzY5OTdEMDEqDQorWTI0MjI3MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNDgwMDdEMDIqWDIyMzk4MFkyNDc5MzlEMDEqDQorWDIyNDE2NFkyNDc3MjNEMDEqDQorWDIyNDM4MFkyNDc1MzlEMDEqDQorWDIyNDYyMVkyNDczOTFEMDEqDQorWDIyNDg4M1kyNDcyODNEMDEqDQorWDIyNTE1OVkyNDcyMTdEMDEqDQorWDIyNTQ0MVkyNDcxOTREMDEqDQorWDIyNTcyM1kyNDcyMTdEMDEqDQorWDIyNTc5MlkyNDcyMzNEMDEqDQorWTI0NTE4OUQwMSoNCitYMjI1NzE4WTI0NTI3N0QwMSoNCitYMjI1NTAyWTI0NTQ2MUQwMSoNCitYMjI1MjYxWTI0NTYwOUQwMSoNCitYMjI0OTk5WTI0NTcxN0QwMSoNCitYMjI0NzIzWTI0NTc4M0QwMSoNCitYMjI0NDQxWTI0NTgwNkQwMSoNCitYMjI0MTU5WTI0NTc4M0QwMSoNCitYMjIzOTM4WTI0NTczMEQwMSoNCitZMjQ4MDA3RDAxKg0KK0czNyoNCitHMzYqDQorWTI1MDI3MEQwMipYMjI0MTIxWTI1MDIyNkQwMSoNCitYMjIzOTgwWTI1MDA2MUQwMSoNCitYMjIzOTM4WTI0OTk5M0QwMSoNCitZMjUwMjcwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyNTc5Mlk5NzAwMEQwMipYMjIzOTM4RDAxKg0KK1kxNDYxOTVEMDEqDQorWDIyMzk0MVkxNDYxOTREMDEqDQorWDIyNDIyM1kxNDYyMTdEMDEqDQorWDIyNDQ5OVkxNDYyODNEMDEqDQorWDIyNDc2MVkxNDYzOTFEMDEqDQorWDIyNTAwMlkxNDY1MzlEMDEqDQorWDIyNTIxOFkxNDY3MjNEMDEqDQorWDIyNTQwMlkxNDY5MzlEMDEqDQorWDIyNTU1MFkxNDcxODBEMDEqDQorWDIyNTY1OFkxNDc0NDJEMDEqDQorWDIyNTcyNFkxNDc3MThEMDEqDQorWDIyNTc0MVkxNDgwMDBEMDEqDQorWDIyNTcyNFkxNDgyODJEMDEqDQorWDIyNTY1OFkxNDg1NThEMDEqDQorWDIyNTU1MFkxNDg4MjBEMDEqDQorWDIyNTQwMlkxNDkwNjFEMDEqDQorWDIyNTIxOFkxNDkyNzdEMDEqDQorWDIyNTAwMlkxNDk0NjFEMDEqDQorWDIyNDc2MVkxNDk2MDlEMDEqDQorWDIyNDQ5OVkxNDk3MTdEMDEqDQorWDIyNDIyM1kxNDk3ODNEMDEqDQorWDIyMzk0MVkxNDk4MDZEMDEqDQorWDIyMzkzOFkxNDk4MDVEMDEqDQorWTE3MDk0NkQwMSoNCitYMjI0NDY2WTE3MDcyN0QwMSoNCitYMjI1MTI0WTE3MDU2OUQwMSoNCitYMjI1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjIzOTM4RDAyKlgyMjA0MzhEMDEqDQorWTIxMzE5NUQwMSoNCitYMjIwNDQxWTIxMzE5NEQwMSoNCitYMjIwNzIzWTIxMzIxN0QwMSoNCitYMjIwOTk5WTIxMzI4M0QwMSoNCitYMjIxMjYxWTIxMzM5MUQwMSoNCitYMjIxNTAyWTIxMzUzOUQwMSoNCitYMjIxNzE4WTIxMzcyM0QwMSoNCitYMjIxOTAyWTIxMzkzOUQwMSoNCitYMjIyMDUwWTIxNDE4MEQwMSoNCitYMjIyMTU4WTIxNDQ0MkQwMSoNCitYMjIyMjI0WTIxNDcxOEQwMSoNCitYMjIyMjQxWTIxNTAwMEQwMSoNCitYMjIyMjI0WTIxNTI4MkQwMSoNCitYMjIyMTU4WTIxNTU1OEQwMSoNCitYMjIyMDUwWTIxNTgyMEQwMSoNCitYMjIxOTAyWTIxNjA2MUQwMSoNCitYMjIxNzE4WTIxNjI3N0QwMSoNCitYMjIxNTAyWTIxNjQ2MUQwMSoNCitYMjIxMjYxWTIxNjYwOUQwMSoNCitYMjIwOTk5WTIxNjcxN0QwMSoNCitYMjIwNzIzWTIxNjc4M0QwMSoNCitYMjIwNDQxWTIxNjgwNkQwMSoNCitYMjIwNDM4WTIxNjgwNUQwMSoNCitZMjUyOTIxRDAxKg0KK1gyMjA2MDdZMjUyNzIzRDAxKg0KK1gyMjA4MjNZMjUyNTM5RDAxKg0KK1gyMjEwNjRZMjUyMzkxRDAxKg0KK1gyMjEzMjZZMjUyMjgzRDAxKg0KK1gyMjE2MDJZMjUyMjE3RDAxKg0KK1gyMjE4ODRZMjUyMTk0RDAxKg0KK1gyMjIxNjZZMjUyMjE3RDAxKg0KK1gyMjI0NDJZMjUyMjgzRDAxKg0KK1gyMjI2ODJZMjUyMzgyRDAxKg0KK1gyMjI2NThZMjUyMjgyRDAxKg0KK1gyMjI2MzVZMjUyMDAwRDAxKg0KK1gyMjI2NThZMjUxNzE4RDAxKg0KK1gyMjI3MjRZMjUxNDQyRDAxKg0KK1gyMjI4MzJZMjUxMTgwRDAxKg0KK1gyMjI5ODBZMjUwOTM5RDAxKg0KK1gyMjMxNjRZMjUwNzIzRDAxKg0KK1gyMjMzODBZMjUwNTM5RDAxKg0KK1gyMjM2MjFZMjUwMzkxRDAxKg0KK1gyMjM4ODNZMjUwMjgzRDAxKg0KK1gyMjM5MzhZMjUwMjcwRDAxKg0KK1kyNDk5OTNEMDEqDQorWDIyMzgzMlkyNDk4MjBEMDEqDQorWDIyMzcyNFkyNDk1NThEMDEqDQorWDIyMzY1OFkyNDkyODJEMDEqDQorWDIyMzYzNVkyNDkwMDBEMDEqDQorWDIyMzY1OFkyNDg3MThEMDEqDQorWDIyMzcyNFkyNDg0NDJEMDEqDQorWDIyMzgzMlkyNDgxODBEMDEqDQorWDIyMzkzOFkyNDgwMDdEMDEqDQorWTI0NTczMEQwMSoNCitYMjIzODgzWTI0NTcxN0QwMSoNCitYMjIzNjIxWTI0NTYwOUQwMSoNCitYMjIzMzgwWTI0NTQ2MUQwMSoNCitYMjIzMTY0WTI0NTI3N0QwMSoNCitYMjIyOTgwWTI0NTA2MUQwMSoNCitYMjIyODMyWTI0NDgyMEQwMSoNCitYMjIyNzI0WTI0NDU1OEQwMSoNCitYMjIyNjU4WTI0NDI4MkQwMSoNCitYMjIyNjM1WTI0NDAwMEQwMSoNCitYMjIyNjU4WTI0MzcxOEQwMSoNCitYMjIyNzI0WTI0MzQ0MkQwMSoNCitYMjIyODMyWTI0MzE4MEQwMSoNCitYMjIyOTgwWTI0MjkzOUQwMSoNCitYMjIzMTY0WTI0MjcyM0QwMSoNCitYMjIzMzgwWTI0MjUzOUQwMSoNCitYMjIzNjIxWTI0MjM5MUQwMSoNCitYMjIzODgzWTI0MjI4M0QwMSoNCitYMjIzOTM4WTI0MjI3MEQwMSoNCitZMjM2OTk3RDAxKg0KK1gyMjM4ODBZMjM2OTYxRDAxKg0KK1gyMjM2NjRZMjM2Nzc3RDAxKg0KK1gyMjM0ODBZMjM2NTYxRDAxKg0KK1gyMjMzMzJZMjM2MzIwRDAxKg0KK1gyMjMyMjRZMjM2MDU4RDAxKg0KK1gyMjMxNThZMjM1NzgyRDAxKg0KK1gyMjMxMzVZMjM1NTAwRDAxKg0KK1gyMjMxNThZMjM1MjE4RDAxKg0KK1gyMjMyMjRZMjM0OTQyRDAxKg0KK1gyMjMzMzJZMjM0NjgwRDAxKg0KK1gyMjM0ODBZMjM0NDM5RDAxKg0KK1gyMjM2NjRZMjM0MjIzRDAxKg0KK1gyMjM4ODBZMjM0MDM5RDAxKg0KK1gyMjM5MzhZMjM0MDAzRDAxKg0KK1kyMjc0OTNEMDEqDQorWDIyMzgzMlkyMjczMjBEMDEqDQorWDIyMzcyNFkyMjcwNThEMDEqDQorWDIyMzY1OFkyMjY3ODJEMDEqDQorWDIyMzYzNVkyMjY1MDBEMDEqDQorWDIyMzY1OFkyMjYyMThEMDEqDQorWDIyMzcyNFkyMjU5NDJEMDEqDQorWDIyMzgzMlkyMjU2ODBEMDEqDQorWDIyMzkzOFkyMjU1MDdEMDEqDQorWTIyMTk5N0QwMSoNCitYMjIzODgwWTIyMTk2MUQwMSoNCitYMjIzNjY0WTIyMTc3N0QwMSoNCitYMjIzNDgwWTIyMTU2MUQwMSoNCitYMjIzMzMyWTIyMTMyMEQwMSoNCitYMjIzMjI0WTIyMTA1OEQwMSoNCitYMjIzMTU4WTIyMDc4MkQwMSoNCitYMjIzMTM1WTIyMDUwMEQwMSoNCitYMjIzMTU4WTIyMDIxOEQwMSoNCitYMjIzMjI0WTIxOTk0MkQwMSoNCitYMjIzMzMyWTIxOTY4MEQwMSoNCitYMjIzNDgwWTIxOTQzOUQwMSoNCitYMjIzNjY0WTIxOTIyM0QwMSoNCitYMjIzODgwWTIxOTAzOUQwMSoNCitYMjIzOTM4WTIxOTAwM0QwMSoNCitZMjAxMjEyRDAxKg0KK1gyMjM4NDFZMjAxMTcyRDAxKg0KK1gyMjMyNjRZMjAwODE5RDAxKg0KK1gyMjI3NDlZMjAwMzc5RDAxKg0KK1gyMjIzMDlZMTk5ODY0RDAxKg0KK1gyMjE5NTZZMTk5Mjg3RDAxKg0KK1gyMjE2OTdZMTk4NjYyRDAxKg0KK1gyMjE1MzlZMTk4MDA0RDAxKg0KK1gyMjE0ODZZMTk3MzI5RDAxKg0KK1gyMjE1MzlZMTk2NjU0RDAxKg0KK1gyMjE2OTdZMTk1OTk2RDAxKg0KK1gyMjE5NTZZMTk1MzcxRDAxKg0KK1gyMjIzMDlZMTk0Nzk0RDAxKg0KK1gyMjI3NDlZMTk0Mjc5RDAxKg0KK1gyMjMyNjRZMTkzODM5RDAxKg0KK1gyMjM4NDFZMTkzNDg2RDAxKg0KK1gyMjM5MzhZMTkzNDQ2RDAxKg0KK1kxODg3MTJEMDEqDQorWDIyMzg0MVkxODg2NzJEMDEqDQorWDIyMzI2NFkxODgzMTlEMDEqDQorWDIyMjc0OVkxODc4NzlEMDEqDQorWDIyMjMwOVkxODczNjREMDEqDQorWDIyMTk1NlkxODY3ODdEMDEqDQorWDIyMTY5N1kxODYxNjJEMDEqDQorWDIyMTUzOVkxODU1MDREMDEqDQorWDIyMTQ4NlkxODQ4MjlEMDEqDQorWDIyMTUzOVkxODQxNTREMDEqDQorWDIyMTY5N1kxODM0OTZEMDEqDQorWDIyMTk1NlkxODI4NzFEMDEqDQorWDIyMjMwOVkxODIyOTREMDEqDQorWDIyMjc0OVkxODE3NzlEMDEqDQorWDIyMzI2NFkxODEzMzlEMDEqDQorWDIyMzg0MVkxODA5ODZEMDEqDQorWDIyMzkzOFkxODA5NDZEMDEqDQorWTE3ODcxMkQwMSoNCitYMjIzODQxWTE3ODY3MkQwMSoNCitYMjIzMjY0WTE3ODMxOUQwMSoNCitYMjIyNzQ5WTE3Nzg3OUQwMSoNCitYMjIyMzA5WTE3NzM2NEQwMSoNCitYMjIxOTU2WTE3Njc4N0QwMSoNCitYMjIxNjk3WTE3NjE2MkQwMSoNCitYMjIxNTM5WTE3NTUwNEQwMSoNCitYMjIxNDg2WTE3NDgyOUQwMSoNCitYMjIxNTM5WTE3NDE1NEQwMSoNCitYMjIxNjk3WTE3MzQ5NkQwMSoNCitYMjIxOTU2WTE3Mjg3MUQwMSoNCitYMjIyMzA5WTE3MjI5NEQwMSoNCitYMjIyNzQ5WTE3MTc3OUQwMSoNCitYMjIzMjY0WTE3MTMzOUQwMSoNCitYMjIzODQxWTE3MDk4NkQwMSoNCitYMjIzOTM4WTE3MDk0NkQwMSoNCitZMTQ5ODA1RDAxKg0KK1gyMjM2NTlZMTQ5NzgzRDAxKg0KK1gyMjMzODNZMTQ5NzE3RDAxKg0KK1gyMjMxMjFZMTQ5NjA5RDAxKg0KK1gyMjI4ODBZMTQ5NDYxRDAxKg0KK1gyMjI2NjRZMTQ5Mjc3RDAxKg0KK1gyMjI0ODBZMTQ5MDYxRDAxKg0KK1gyMjIzMzJZMTQ4ODIwRDAxKg0KK1gyMjIyMjRZMTQ4NTU4RDAxKg0KK1gyMjIxNThZMTQ4MjgyRDAxKg0KK1gyMjIxMzVZMTQ4MDAwRDAxKg0KK1gyMjIxNThZMTQ3NzE4RDAxKg0KK1gyMjIyMjRZMTQ3NDQyRDAxKg0KK1gyMjIzMzJZMTQ3MTgwRDAxKg0KK1gyMjI0ODBZMTQ2OTM5RDAxKg0KK1gyMjI2NjRZMTQ2NzIzRDAxKg0KK1gyMjI4ODBZMTQ2NTM5RDAxKg0KK1gyMjMxMjFZMTQ2MzkxRDAxKg0KK1gyMjMzODNZMTQ2MjgzRDAxKg0KK1gyMjM2NTlZMTQ2MjE3RDAxKg0KK1gyMjM5MzhZMTQ2MTk1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMjA0MzhEMDIqWDIxNTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gyMTU3OTlZMTcwNTE2RDAxKg0KK1gyMTY0NzRZMTcwNTY5RDAxKg0KK1gyMTcxMzJZMTcwNzI3RDAxKg0KK1gyMTc3NTdZMTcwOTg2RDAxKg0KK1gyMTgzMzRZMTcxMzM5RDAxKg0KK1gyMTg4NDlZMTcxNzc5RDAxKg0KK1gyMTkyODlZMTcyMjk0RDAxKg0KK1gyMTk2NDJZMTcyODcxRDAxKg0KK1gyMTk5MDFZMTczNDk2RDAxKg0KK1gyMjAwNTlZMTc0MTU0RDAxKg0KK1gyMjAwOTlZMTc0ODI5RDAxKg0KK1gyMjAwNTlZMTc1NTA0RDAxKg0KK1gyMTk5MDFZMTc2MTYyRDAxKg0KK1gyMTk2NDJZMTc2Nzg3RDAxKg0KK1gyMTkyODlZMTc3MzY0RDAxKg0KK1gyMTg4NDlZMTc3ODc5RDAxKg0KK1gyMTgzMzRZMTc4MzE5RDAxKg0KK1gyMTc3NTdZMTc4NjcyRDAxKg0KK1gyMTcxMzJZMTc4OTMxRDAxKg0KK1gyMTY0NzRZMTc5MDg5RDAxKg0KK1gyMTU3OTlZMTc5MTQyRDAxKg0KK1gyMTU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDIxNTc5OVkxODA1MTZEMDEqDQorWDIxNjQ3NFkxODA1NjlEMDEqDQorWDIxNzEzMlkxODA3MjdEMDEqDQorWDIxNzc1N1kxODA5ODZEMDEqDQorWDIxODMzNFkxODEzMzlEMDEqDQorWDIxODg0OVkxODE3NzlEMDEqDQorWDIxOTI4OVkxODIyOTREMDEqDQorWDIxOTY0MlkxODI4NzFEMDEqDQorWDIxOTkwMVkxODM0OTZEMDEqDQorWDIyMDA1OVkxODQxNTREMDEqDQorWDIyMDA5OVkxODQ4MjlEMDEqDQorWDIyMDA1OVkxODU1MDREMDEqDQorWDIxOTkwMVkxODYxNjJEMDEqDQorWDIxOTY0MlkxODY3ODdEMDEqDQorWDIxOTI4OVkxODczNjREMDEqDQorWDIxODg0OVkxODc4NzlEMDEqDQorWDIxODMzNFkxODgzMTlEMDEqDQorWDIxNzc1N1kxODg2NzJEMDEqDQorWDIxNzEzMlkxODg5MzFEMDEqDQorWDIxNjQ3NFkxODkwODlEMDEqDQorWDIxNTc5OVkxODkxNDJEMDEqDQorWDIxNTc5MlkxODkxNDJEMDEqDQorWTE5MzAxNkQwMSoNCitYMjE1Nzk5WTE5MzAxNkQwMSoNCitYMjE2NDc0WTE5MzA2OUQwMSoNCitYMjE3MTMyWTE5MzIyN0QwMSoNCitYMjE3NzU3WTE5MzQ4NkQwMSoNCitYMjE4MzM0WTE5MzgzOUQwMSoNCitYMjE4ODQ5WTE5NDI3OUQwMSoNCitYMjE5Mjg5WTE5NDc5NEQwMSoNCitYMjE5NjQyWTE5NTM3MUQwMSoNCitYMjE5OTAxWTE5NTk5NkQwMSoNCitYMjIwMDU5WTE5NjY1NEQwMSoNCitYMjIwMDk5WTE5NzMyOUQwMSoNCitYMjIwMDU5WTE5ODAwNEQwMSoNCitYMjE5OTAxWTE5ODY2MkQwMSoNCitYMjE5NjQyWTE5OTI4N0QwMSoNCitYMjE5Mjg5WTE5OTg2NEQwMSoNCitYMjE4ODQ5WTIwMDM3OUQwMSoNCitYMjE4MzM0WTIwMDgxOUQwMSoNCitYMjE3NzU3WTIwMTE3MkQwMSoNCitYMjE3MTMyWTIwMTQzMUQwMSoNCitYMjE2NDc0WTIwMTU4OUQwMSoNCitYMjE1Nzk5WTIwMTY0MkQwMSoNCitYMjE1NzkyWTIwMTY0MkQwMSoNCitZMjc4Mjc3RDAxKg0KK1gyMTU4MzJZMjc4MTgwRDAxKg0KK1gyMTU5ODBZMjc3OTM5RDAxKg0KK1gyMTYxNjRZMjc3NzIzRDAxKg0KK1gyMTYzODBZMjc3NTM5RDAxKg0KK1gyMTY2MjFZMjc3MzkxRDAxKg0KK1gyMTY4ODNZMjc3MjgzRDAxKg0KK1gyMTcxNTlZMjc3MjE3RDAxKg0KK1gyMTc0NDFZMjc3MTk0RDAxKg0KK1gyMTc3MjNZMjc3MjE3RDAxKg0KK1gyMTc5OTlZMjc3MjgzRDAxKg0KK1gyMTgyNjFZMjc3MzkxRDAxKg0KK1gyMTg1MDJZMjc3NTM5RDAxKg0KK1gyMTg3MThZMjc3NzIzRDAxKg0KK1gyMTg5MDJZMjc3OTM5RDAxKg0KK1gyMTkwNTBZMjc4MTgwRDAxKg0KK1gyMTkxNThZMjc4NDQyRDAxKg0KK1gyMTkyMjRZMjc4NzE4RDAxKg0KK1gyMTkyNDFZMjc5MDAwRDAxKg0KK1gyMTkyMjRZMjc5MjgyRDAxKg0KK1gyMTkxNThZMjc5NTU4RDAxKg0KK1gyMTkwNTBZMjc5ODIwRDAxKg0KK1gyMTg5MDJZMjgwMDYxRDAxKg0KK1gyMTg3MThZMjgwMjc3RDAxKg0KK1gyMTg1MDJZMjgwNDYxRDAxKg0KK1gyMTgyNjFZMjgwNjA5RDAxKg0KK1gyMTc5OTlZMjgwNzE3RDAxKg0KK1gyMTc3MjNZMjgwNzgzRDAxKg0KK1gyMTc0NDFZMjgwODA2RDAxKg0KK1gyMTcxNTlZMjgwNzgzRDAxKg0KK1gyMTY4ODNZMjgwNzE3RDAxKg0KK1gyMTY2MjFZMjgwNjA5RDAxKg0KK1gyMTYzODBZMjgwNDYxRDAxKg0KK1gyMTYxNjRZMjgwMjc3RDAxKg0KK1gyMTU5ODBZMjgwMDYxRDAxKg0KK1gyMTU4MzJZMjc5ODIwRDAxKg0KK1gyMTU3OTJZMjc5NzIzRDAxKg0KK1kzNjA1MTZEMDEqDQorWDIxNTc5OVkzNjA1MTZEMDEqDQorWDIxNjQ3NFkzNjA1NjlEMDEqDQorWDIxNzEzMlkzNjA3MjdEMDEqDQorWDIxNzc1N1kzNjA5ODZEMDEqDQorWDIxODMzNFkzNjEzMzlEMDEqDQorWDIxODg0OVkzNjE3NzlEMDEqDQorWDIxOTI4OVkzNjIyOTREMDEqDQorWDIxOTY0MlkzNjI4NzFEMDEqDQorWDIxOTkwMVkzNjM0OTZEMDEqDQorWDIyMDA1OVkzNjQxNTREMDEqDQorWDIyMDA5OVkzNjQ4MjlEMDEqDQorWDIyMDA1OVkzNjU1MDREMDEqDQorWDIxOTkwMVkzNjYxNjJEMDEqDQorWDIxOTY0MlkzNjY3ODdEMDEqDQorWDIxOTI4OVkzNjczNjREMDEqDQorWDIxODg0OVkzNjc4NzlEMDEqDQorWDIxODMzNFkzNjgzMTlEMDEqDQorWDIxNzc1N1kzNjg2NzJEMDEqDQorWDIxNzEzMlkzNjg5MzFEMDEqDQorWDIxNjQ3NFkzNjkwODlEMDEqDQorWDIxNTc5OVkzNjkxNDJEMDEqDQorWDIxNTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMjE1Nzk5WTM3MDUxNkQwMSoNCitYMjE2NDc0WTM3MDU2OUQwMSoNCitYMjE3MTMyWTM3MDcyN0QwMSoNCitYMjE3NzU3WTM3MDk4NkQwMSoNCitYMjE4MzM0WTM3MTMzOUQwMSoNCitYMjE4ODQ5WTM3MTc3OUQwMSoNCitYMjE5Mjg5WTM3MjI5NEQwMSoNCitYMjE5NjQyWTM3Mjg3MUQwMSoNCitYMjE5OTAxWTM3MzQ5NkQwMSoNCitYMjIwMDU5WTM3NDE1NEQwMSoNCitYMjIwMDk5WTM3NDgyOUQwMSoNCitYMjIwMDU5WTM3NTUwNEQwMSoNCitYMjE5OTAxWTM3NjE2MkQwMSoNCitYMjE5NjQyWTM3Njc4N0QwMSoNCitYMjE5Mjg5WTM3NzM2NEQwMSoNCitYMjE4ODQ5WTM3Nzg3OUQwMSoNCitYMjE4MzM0WTM3ODMxOUQwMSoNCitYMjE3NzU3WTM3ODY3MkQwMSoNCitYMjE3MTMyWTM3ODkzMUQwMSoNCitYMjE2NDc0WTM3OTA4OUQwMSoNCitYMjE1Nzk5WTM3OTE0MkQwMSoNCitYMjE1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gyMjA0MzhEMDEqDQorWTI3NDAwMEQwMSoNCitYMjIwMjYxWTI3NDEwOUQwMSoNCitYMjE5OTk5WTI3NDIxN0QwMSoNCitYMjE5NzIzWTI3NDI4M0QwMSoNCitYMjE5NDQxWTI3NDMwNkQwMSoNCitYMjE5MTU5WTI3NDI4M0QwMSoNCitYMjE4ODgzWTI3NDIxN0QwMSoNCitYMjE4NjIxWTI3NDEwOUQwMSoNCitYMjE4MzgwWTI3Mzk2MUQwMSoNCitYMjE4MTY0WTI3Mzc3N0QwMSoNCitYMjE3OTgwWTI3MzU2MUQwMSoNCitYMjE3ODMyWTI3MzMyMEQwMSoNCitYMjE3NzI0WTI3MzA1OEQwMSoNCitYMjE3NjU4WTI3Mjc4MkQwMSoNCitYMjE3NjM1WTI3MjUwMEQwMSoNCitYMjE3NjU4WTI3MjIxOEQwMSoNCitYMjE3NzI0WTI3MTk0MkQwMSoNCitYMjE3ODMyWTI3MTY4MEQwMSoNCitYMjE3OTgwWTI3MTQzOUQwMSoNCitYMjE4MTY0WTI3MTIyM0QwMSoNCitYMjE4MzgwWTI3MTAzOUQwMSoNCitYMjE4NjIxWTI3MDg5MUQwMSoNCitYMjE4ODgzWTI3MDc4M0QwMSoNCitYMjE5MTU5WTI3MDcxN0QwMSoNCitYMjE5NDQxWTI3MDY5NEQwMSoNCitYMjE5NzIzWTI3MDcxN0QwMSoNCitYMjE5OTk5WTI3MDc4M0QwMSoNCitYMjIwMjYxWTI3MDg5MUQwMSoNCitYMjIwNDM4WTI3MTAwMEQwMSoNCitZMjY3MzYxRDAxKg0KK1gyMjAxNzFZMjY3Mjk3RDAxKg0KK1gyMTk5MDlZMjY3MTg5RDAxKg0KK1gyMTk2NjhZMjY3MDQxRDAxKg0KK1gyMTk0NTJZMjY2ODU3RDAxKg0KK1gyMTkyNjhZMjY2NjQxRDAxKg0KK1gyMTkxMjBZMjY2NDAwRDAxKg0KK1gyMTkwMTJZMjY2MTM4RDAxKg0KK1gyMTg5NDZZMjY1ODYyRDAxKg0KK1gyMTg5MjNZMjY1NTgwRDAxKg0KK1gyMTg5NDZZMjY1Mjk4RDAxKg0KK1gyMTkwMTJZMjY1MDIyRDAxKg0KK1gyMTkxMjBZMjY0NzYwRDAxKg0KK1gyMTkyNjhZMjY0NTE5RDAxKg0KK1gyMTk0NTJZMjY0MzAzRDAxKg0KK1gyMTk2NjhZMjY0MTE5RDAxKg0KK1gyMTk5MDlZMjYzOTcxRDAxKg0KK1gyMjAxNzFZMjYzODYzRDAxKg0KK1gyMjA0MzhZMjYzNzk5RDAxKg0KK1kyNjEzMDVEMDEqDQorWDIyMDIyOVkyNjEyODlEMDEqDQorWDIyMDI0MVkyNjE1MDBEMDEqDQorWDIyMDIyNFkyNjE3ODJEMDEqDQorWDIyMDE1OFkyNjIwNThEMDEqDQorWDIyMDA1MFkyNjIzMjBEMDEqDQorWDIxOTkwMlkyNjI1NjFEMDEqDQorWDIxOTcxOFkyNjI3NzdEMDEqDQorWDIxOTUwMlkyNjI5NjFEMDEqDQorWDIxOTI2MVkyNjMxMDlEMDEqDQorWDIxODk5OVkyNjMyMTdEMDEqDQorWDIxODcyM1kyNjMyODNEMDEqDQorWDIxODQ0MVkyNjMzMDZEMDEqDQorWDIxODE1OVkyNjMyODNEMDEqDQorWDIxNzg4M1kyNjMyMTdEMDEqDQorWDIxNzYyMVkyNjMxMDlEMDEqDQorWDIxNzM4MFkyNjI5NjFEMDEqDQorWDIxNzE2NFkyNjI3NzdEMDEqDQorWDIxNjk4MFkyNjI1NjFEMDEqDQorWDIxNjgzMlkyNjIzMjBEMDEqDQorWDIxNjcyNFkyNjIwNThEMDEqDQorWDIxNjY1OFkyNjE3ODJEMDEqDQorWDIxNjYzNVkyNjE1MDBEMDEqDQorWDIxNjY1OFkyNjEyMThEMDEqDQorWDIxNjcyNFkyNjA5NDJEMDEqDQorWDIxNjgzMlkyNjA2ODBEMDEqDQorWDIxNjk4MFkyNjA0MzlEMDEqDQorWDIxNzE2NFkyNjAyMjNEMDEqDQorWDIxNzM4MFkyNjAwMzlEMDEqDQorWDIxNzYyMVkyNTk4OTFEMDEqDQorWDIxNzg4M1kyNTk3ODNEMDEqDQorWDIxODE1OVkyNTk3MTdEMDEqDQorWDIxODQ0MVkyNTk2OTREMDEqDQorWDIxODY1MlkyNTk3MTFEMDEqDQorWDIxODYzNVkyNTk1MDBEMDEqDQorWDIxODY1OFkyNTkyMThEMDEqDQorWDIxODcyNFkyNTg5NDJEMDEqDQorWDIxODgzMlkyNTg2ODBEMDEqDQorWDIxODk4MFkyNTg0MzlEMDEqDQorWDIxOTE2NFkyNTgyMjNEMDEqDQorWDIxOTM4MFkyNTgwMzlEMDEqDQorWDIxOTYyMVkyNTc4OTFEMDEqDQorWDIxOTg4M1kyNTc3ODNEMDEqDQorWDIyMDE1OVkyNTc3MTdEMDEqDQorWDIyMDQzOFkyNTc2OTVEMDEqDQorWTI1NTA3OUQwMSoNCitYMjIwNDIzWTI1NTA2MUQwMSoNCitYMjIwMjc1WTI1NDgyMEQwMSoNCitYMjIwMTY3WTI1NDU1OEQwMSoNCitYMjIwMTAxWTI1NDI4MkQwMSoNCitYMjIwMDc4WTI1NDAwMEQwMSoNCitYMjIwMTAxWTI1MzcxOEQwMSoNCitYMjIwMTY3WTI1MzQ0MkQwMSoNCitYMjIwMjc1WTI1MzE4MEQwMSoNCitYMjIwNDIzWTI1MjkzOUQwMSoNCitYMjIwNDM4WTI1MjkyMUQwMSoNCitZMjE2ODA1RDAxKg0KK1gyMjAxNTlZMjE2NzgzRDAxKg0KK1gyMTk4ODNZMjE2NzE3RDAxKg0KK1gyMTk2MjFZMjE2NjA5RDAxKg0KK1gyMTkzODBZMjE2NDYxRDAxKg0KK1gyMTkxNjRZMjE2Mjc3RDAxKg0KK1gyMTg5ODBZMjE2MDYxRDAxKg0KK1gyMTg4MzJZMjE1ODIwRDAxKg0KK1gyMTg3MjRZMjE1NTU4RDAxKg0KK1gyMTg2NThZMjE1MjgyRDAxKg0KK1gyMTg2MzVZMjE1MDAwRDAxKg0KK1gyMTg2NThZMjE0NzE4RDAxKg0KK1gyMTg3MjRZMjE0NDQyRDAxKg0KK1gyMTg4MzJZMjE0MTgwRDAxKg0KK1gyMTg5ODBZMjEzOTM5RDAxKg0KK1gyMTkxNjRZMjEzNzIzRDAxKg0KK1gyMTkzODBZMjEzNTM5RDAxKg0KK1gyMTk2MjFZMjEzMzkxRDAxKg0KK1gyMTk4ODNZMjEzMjgzRDAxKg0KK1gyMjAxNTlZMjEzMjE3RDAxKg0KK1gyMjA0MzhZMjEzMTk1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTI5MzhZMTgxNjE4RDAyKlgyMTMyNjRZMTgxMzM5RDAxKg0KK1gyMTM4NDFZMTgwOTg2RDAxKg0KK1gyMTQ0NjZZMTgwNzI3RDAxKg0KK1gyMTUxMjRZMTgwNTY5RDAxKg0KK1gyMTU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDIxNTEyNFkxNzkwODlEMDEqDQorWDIxNDQ2NlkxNzg5MzFEMDEqDQorWDIxMzg0MVkxNzg2NzJEMDEqDQorWDIxMzI2NFkxNzgzMTlEMDEqDQorWDIxMjkzOFkxNzgwNDBEMDEqDQorWTE4MTYxOEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxOTQxMThEMDIqWDIxMzI2NFkxOTM4MzlEMDEqDQorWDIxMzg0MVkxOTM0ODZEMDEqDQorWDIxNDQ2NlkxOTMyMjdEMDEqDQorWDIxNTEyNFkxOTMwNjlEMDEqDQorWDIxNTc5MlkxOTMwMTZEMDEqDQorWTE4OTE0MkQwMSoNCitYMjE1MTI0WTE4OTA4OUQwMSoNCitYMjE0NDY2WTE4ODkzMUQwMSoNCitYMjEzODQxWTE4ODY3MkQwMSoNCitYMjEzMjY0WTE4ODMxOUQwMSoNCitYMjEyOTM4WTE4ODA0MEQwMSoNCitZMTk0MTE4RDAxKg0KK0czNyoNCitHMzYqDQorWTM2MTYxOEQwMipYMjEzMjY0WTM2MTMzOUQwMSoNCitYMjEzODQxWTM2MDk4NkQwMSoNCitYMjE0NDY2WTM2MDcyN0QwMSoNCitYMjE1MTI0WTM2MDU2OUQwMSoNCitYMjE1NzkyWTM2MDUxNkQwMSoNCitZMjc5NzIzRDAxKg0KK1gyMTU3MjRZMjc5NTU4RDAxKg0KK1gyMTU2NThZMjc5MjgyRDAxKg0KK1gyMTU2MzVZMjc5MDAwRDAxKg0KK1gyMTU2NThZMjc4NzE4RDAxKg0KK1gyMTU3MjRZMjc4NDQyRDAxKg0KK1gyMTU3OTJZMjc4Mjc3RDAxKg0KK1kyMDE2NDJEMDEqDQorWDIxNTEyNFkyMDE1ODlEMDEqDQorWDIxNDQ2NlkyMDE0MzFEMDEqDQorWDIxMzg0MVkyMDExNzJEMDEqDQorWDIxMzI2NFkyMDA4MTlEMDEqDQorWDIxMjkzOFkyMDA1NDBEMDEqDQorWTIzNjE5NUQwMSoNCitYMjEyOTQxWTIzNjE5NEQwMSoNCitYMjEzMjIzWTIzNjIxN0QwMSoNCitYMjEzNDk5WTIzNjI4M0QwMSoNCitYMjEzNzYxWTIzNjM5MUQwMSoNCitYMjE0MDAyWTIzNjUzOUQwMSoNCitYMjE0MjE4WTIzNjcyM0QwMSoNCitYMjE0NDAyWTIzNjkzOUQwMSoNCitYMjE0NTUwWTIzNzE4MEQwMSoNCitYMjE0NjU4WTIzNzQ0MkQwMSoNCitYMjE0NzI0WTIzNzcxOEQwMSoNCitYMjE0NzQxWTIzODAwMEQwMSoNCitYMjE0NzI0WTIzODI4MkQwMSoNCitYMjE0NjU4WTIzODU1OEQwMSoNCitYMjE0NTUwWTIzODgyMEQwMSoNCitYMjE0NDAyWTIzOTA2MUQwMSoNCitYMjE0MjE4WTIzOTI3N0QwMSoNCitYMjE0MDAyWTIzOTQ2MUQwMSoNCitYMjEzNzYxWTIzOTYwOUQwMSoNCitYMjEzNDk5WTIzOTcxN0QwMSoNCitYMjEzMjIzWTIzOTc4M0QwMSoNCitYMjEyOTQxWTIzOTgwNkQwMSoNCitYMjEyOTM4WTIzOTgwNUQwMSoNCitZMzYxNjE4RDAxKg0KK0czNyoNCitHMzYqDQorWTM3MTYxOEQwMipYMjEzMjY0WTM3MTMzOUQwMSoNCitYMjEzODQxWTM3MDk4NkQwMSoNCitYMjE0NDY2WTM3MDcyN0QwMSoNCitYMjE1MTI0WTM3MDU2OUQwMSoNCitYMjE1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gyMTUxMjRZMzY5MDg5RDAxKg0KK1gyMTQ0NjZZMzY4OTMxRDAxKg0KK1gyMTM4NDFZMzY4NjcyRDAxKg0KK1gyMTMyNjRZMzY4MzE5RDAxKg0KK1gyMTI5MzhZMzY4MDQwRDAxKg0KK1kzNzE2MThEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyMTU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMjE1MTI0WTM3OTA4OUQwMSoNCitYMjE0NDY2WTM3ODkzMUQwMSoNCitYMjEzODQxWTM3ODY3MkQwMSoNCitYMjEzMjY0WTM3ODMxOUQwMSoNCitYMjEyOTM4WTM3ODA0MEQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIxNTc5Mlk5NzAwMEQwMipYMjEyOTM4RDAxKg0KK1kxNzE2MThEMDEqDQorWDIxMzI2NFkxNzEzMzlEMDEqDQorWDIxMzg0MVkxNzA5ODZEMDEqDQorWDIxNDQ2NlkxNzA3MjdEMDEqDQorWDIxNTEyNFkxNzA1NjlEMDEqDQorWDIxNTc5MlkxNzA1MTZEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIxMjkzOEQwMipYMjEwNDM4RDAxKg0KK1kxNDY5OThEMDEqDQorWDIxMDU1MFkxNDcxODBEMDEqDQorWDIxMDY1OFkxNDc0NDJEMDEqDQorWDIxMDcyNFkxNDc3MThEMDEqDQorWDIxMDc0MVkxNDgwMDBEMDEqDQorWDIxMDcyNFkxNDgyODJEMDEqDQorWDIxMDY1OFkxNDg1NThEMDEqDQorWDIxMDU1MFkxNDg4MjBEMDEqDQorWDIxMDQzOFkxNDkwMDJEMDEqDQorWTIxMDY5NUQwMSoNCitYMjEwNDQxWTIxMDY5NEQwMSoNCitYMjEwNzIzWTIxMDcxN0QwMSoNCitYMjEwOTk5WTIxMDc4M0QwMSoNCitYMjExMjYxWTIxMDg5MUQwMSoNCitYMjExNTAyWTIxMTAzOUQwMSoNCitYMjExNzE4WTIxMTIyM0QwMSoNCitYMjExOTAyWTIxMTQzOUQwMSoNCitYMjEyMDUwWTIxMTY4MEQwMSoNCitYMjEyMTU4WTIxMTk0MkQwMSoNCitYMjEyMjI0WTIxMjIxOEQwMSoNCitYMjEyMjQxWTIxMjUwMEQwMSoNCitYMjEyMjI0WTIxMjc4MkQwMSoNCitYMjEyMTU4WTIxMzA1OEQwMSoNCitYMjEyMDUwWTIxMzMyMEQwMSoNCitYMjExOTAyWTIxMzU2MUQwMSoNCitYMjExNzE4WTIxMzc3N0QwMSoNCitYMjExNTAyWTIxMzk2MUQwMSoNCitYMjExMjYxWTIxNDEwOUQwMSoNCitYMjEwOTk5WTIxNDIxN0QwMSoNCitYMjEwNzIzWTIxNDI4M0QwMSoNCitYMjEwNDQxWTIxNDMwNkQwMSoNCitYMjEwNDM4WTIxNDMwNUQwMSoNCitZMzk3MDAwRDAxKg0KK1gyMTI5MzhEMDEqDQorWTM3ODA0MEQwMSoNCitYMjEyNzQ5WTM3Nzg3OUQwMSoNCitYMjEyMzA5WTM3NzM2NEQwMSoNCitYMjExOTU2WTM3Njc4N0QwMSoNCitYMjExNjk3WTM3NjE2MkQwMSoNCitYMjExNTM5WTM3NTUwNEQwMSoNCitYMjExNDg2WTM3NDgyOUQwMSoNCitYMjExNTM5WTM3NDE1NEQwMSoNCitYMjExNjk3WTM3MzQ5NkQwMSoNCitYMjExOTU2WTM3Mjg3MUQwMSoNCitYMjEyMzA5WTM3MjI5NEQwMSoNCitYMjEyNzQ5WTM3MTc3OUQwMSoNCitYMjEyOTM4WTM3MTYxOEQwMSoNCitZMzY4MDQwRDAxKg0KK1gyMTI3NDlZMzY3ODc5RDAxKg0KK1gyMTIzMDlZMzY3MzY0RDAxKg0KK1gyMTE5NTZZMzY2Nzg3RDAxKg0KK1gyMTE2OTdZMzY2MTYyRDAxKg0KK1gyMTE1MzlZMzY1NTA0RDAxKg0KK1gyMTE0ODZZMzY0ODI5RDAxKg0KK1gyMTE1MzlZMzY0MTU0RDAxKg0KK1gyMTE2OTdZMzYzNDk2RDAxKg0KK1gyMTE5NTZZMzYyODcxRDAxKg0KK1gyMTIzMDlZMzYyMjk0RDAxKg0KK1gyMTI3NDlZMzYxNzc5RDAxKg0KK1gyMTI5MzhZMzYxNjE4RDAxKg0KK1kyMzk4MDVEMDEqDQorWDIxMjY1OVkyMzk3ODNEMDEqDQorWDIxMjM4M1kyMzk3MTdEMDEqDQorWDIxMjEyMVkyMzk2MDlEMDEqDQorWDIxMTg4MFkyMzk0NjFEMDEqDQorWDIxMTY2NFkyMzkyNzdEMDEqDQorWDIxMTQ4MFkyMzkwNjFEMDEqDQorWDIxMTMzMlkyMzg4MjBEMDEqDQorWDIxMTIyNFkyMzg1NThEMDEqDQorWDIxMTE1OFkyMzgyODJEMDEqDQorWDIxMTEzNVkyMzgwMDBEMDEqDQorWDIxMTE1OFkyMzc3MThEMDEqDQorWDIxMTIyNFkyMzc0NDJEMDEqDQorWDIxMTMzMlkyMzcxODBEMDEqDQorWDIxMTQ4MFkyMzY5MzlEMDEqDQorWDIxMTY2NFkyMzY3MjNEMDEqDQorWDIxMTg4MFkyMzY1MzlEMDEqDQorWDIxMjEyMVkyMzYzOTFEMDEqDQorWDIxMjM4M1kyMzYyODNEMDEqDQorWDIxMjY1OVkyMzYyMTdEMDEqDQorWDIxMjkzOFkyMzYxOTVEMDEqDQorWTIwMDU0MEQwMSoNCitYMjEyNzQ5WTIwMDM3OUQwMSoNCitYMjEyMzA5WTE5OTg2NEQwMSoNCitYMjExOTU2WTE5OTI4N0QwMSoNCitYMjExNjk3WTE5ODY2MkQwMSoNCitYMjExNTM5WTE5ODAwNEQwMSoNCitYMjExNDg2WTE5NzMyOUQwMSoNCitYMjExNTM5WTE5NjY1NEQwMSoNCitYMjExNjk3WTE5NTk5NkQwMSoNCitYMjExOTU2WTE5NTM3MUQwMSoNCitYMjEyMzA5WTE5NDc5NEQwMSoNCitYMjEyNzQ5WTE5NDI3OUQwMSoNCitYMjEyOTM4WTE5NDExOEQwMSoNCitZMTg4MDQwRDAxKg0KK1gyMTI3NDlZMTg3ODc5RDAxKg0KK1gyMTIzMDlZMTg3MzY0RDAxKg0KK1gyMTE5NTZZMTg2Nzg3RDAxKg0KK1gyMTE2OTdZMTg2MTYyRDAxKg0KK1gyMTE1MzlZMTg1NTA0RDAxKg0KK1gyMTE0ODZZMTg0ODI5RDAxKg0KK1gyMTE1MzlZMTg0MTU0RDAxKg0KK1gyMTE2OTdZMTgzNDk2RDAxKg0KK1gyMTE5NTZZMTgyODcxRDAxKg0KK1gyMTIzMDlZMTgyMjk0RDAxKg0KK1gyMTI3NDlZMTgxNzc5RDAxKg0KK1gyMTI5MzhZMTgxNjE4RDAxKg0KK1kxNzgwNDBEMDEqDQorWDIxMjc0OVkxNzc4NzlEMDEqDQorWDIxMjMwOVkxNzczNjREMDEqDQorWDIxMTk1NlkxNzY3ODdEMDEqDQorWDIxMTY5N1kxNzYxNjJEMDEqDQorWDIxMTUzOVkxNzU1MDREMDEqDQorWDIxMTQ4NlkxNzQ4MjlEMDEqDQorWDIxMTUzOVkxNzQxNTREMDEqDQorWDIxMTY5N1kxNzM0OTZEMDEqDQorWDIxMTk1NlkxNzI4NzFEMDEqDQorWDIxMjMwOVkxNzIyOTREMDEqDQorWDIxMjc0OVkxNzE3NzlEMDEqDQorWDIxMjkzOFkxNzE2MThEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIxMDQzOEQwMipYMjA1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDIwNTc5OVkxNzA1MTZEMDEqDQorWDIwNjQ3NFkxNzA1NjlEMDEqDQorWDIwNzEzMlkxNzA3MjdEMDEqDQorWDIwNzc1N1kxNzA5ODZEMDEqDQorWDIwODMzNFkxNzEzMzlEMDEqDQorWDIwODg0OVkxNzE3NzlEMDEqDQorWDIwOTI4OVkxNzIyOTREMDEqDQorWDIwOTY0MlkxNzI4NzFEMDEqDQorWDIwOTkwMVkxNzM0OTZEMDEqDQorWDIxMDA1OVkxNzQxNTREMDEqDQorWDIxMDA5OVkxNzQ4MjlEMDEqDQorWDIxMDA1OVkxNzU1MDREMDEqDQorWDIwOTkwMVkxNzYxNjJEMDEqDQorWDIwOTY0MlkxNzY3ODdEMDEqDQorWDIwOTI4OVkxNzczNjREMDEqDQorWDIwODg0OVkxNzc4NzlEMDEqDQorWDIwODMzNFkxNzgzMTlEMDEqDQorWDIwNzc1N1kxNzg2NzJEMDEqDQorWDIwNzEzMlkxNzg5MzFEMDEqDQorWDIwNjQ3NFkxNzkwODlEMDEqDQorWDIwNTc5OVkxNzkxNDJEMDEqDQorWDIwNTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMjA1Nzk5WTE4MDUxNkQwMSoNCitYMjA2NDc0WTE4MDU2OUQwMSoNCitYMjA3MTMyWTE4MDcyN0QwMSoNCitYMjA3NzU3WTE4MDk4NkQwMSoNCitYMjA4MzM0WTE4MTMzOUQwMSoNCitYMjA4ODQ5WTE4MTc3OUQwMSoNCitYMjA5Mjg5WTE4MjI5NEQwMSoNCitYMjA5NjQyWTE4Mjg3MUQwMSoNCitYMjA5OTAxWTE4MzQ5NkQwMSoNCitYMjEwMDU5WTE4NDE1NEQwMSoNCitYMjEwMDk5WTE4NDgyOUQwMSoNCitYMjEwMDU5WTE4NTUwNEQwMSoNCitYMjA5OTAxWTE4NjE2MkQwMSoNCitYMjA5NjQyWTE4Njc4N0QwMSoNCitYMjA5Mjg5WTE4NzM2NEQwMSoNCitYMjA4ODQ5WTE4Nzg3OUQwMSoNCitYMjA4MzM0WTE4ODMxOUQwMSoNCitYMjA3NzU3WTE4ODY3MkQwMSoNCitYMjA3MTMyWTE4ODkzMUQwMSoNCitYMjA2NDc0WTE4OTA4OUQwMSoNCitYMjA1Nzk5WTE4OTE0MkQwMSoNCitYMjA1NzkyWTE4OTE0MkQwMSoNCitZMTkzMDE2RDAxKg0KK1gyMDU3OTlZMTkzMDE2RDAxKg0KK1gyMDY0NzRZMTkzMDY5RDAxKg0KK1gyMDcxMzJZMTkzMjI3RDAxKg0KK1gyMDc3NTdZMTkzNDg2RDAxKg0KK1gyMDgzMzRZMTkzODM5RDAxKg0KK1gyMDg4NDlZMTk0Mjc5RDAxKg0KK1gyMDkyODlZMTk0Nzk0RDAxKg0KK1gyMDk2NDJZMTk1MzcxRDAxKg0KK1gyMDk5MDFZMTk1OTk2RDAxKg0KK1gyMTAwNTlZMTk2NjU0RDAxKg0KK1gyMTAwOTlZMTk3MzI5RDAxKg0KK1gyMTAwNTlZMTk4MDA0RDAxKg0KK1gyMDk5MDFZMTk4NjYyRDAxKg0KK1gyMDk2NDJZMTk5Mjg3RDAxKg0KK1gyMDkyODlZMTk5ODY0RDAxKg0KK1gyMDg4NDlZMjAwMzc5RDAxKg0KK1gyMDgzMzRZMjAwODE5RDAxKg0KK1gyMDc3NTdZMjAxMTcyRDAxKg0KK1gyMDcxMzJZMjAxNDMxRDAxKg0KK1gyMDY0NzRZMjAxNTg5RDAxKg0KK1gyMDU3OTlZMjAxNjQyRDAxKg0KK1gyMDU3OTJZMjAxNjQyRDAxKg0KK1kyNzUyMzNEMDEqDQorWDIwNTk5OVkyNzUyODNEMDEqDQorWDIwNjI2MVkyNzUzOTFEMDEqDQorWDIwNjUwMlkyNzU1MzlEMDEqDQorWDIwNjcxOFkyNzU3MjNEMDEqDQorWDIwNjkwMlkyNzU5MzlEMDEqDQorWDIwNzA1MFkyNzYxODBEMDEqDQorWDIwNzE1OFkyNzY0NDJEMDEqDQorWDIwNzIyNFkyNzY3MThEMDEqDQorWDIwNzI0MVkyNzcwMDBEMDEqDQorWDIwNzIyNFkyNzcyODJEMDEqDQorWDIwNzE1OFkyNzc1NThEMDEqDQorWDIwNzA1MFkyNzc4MjBEMDEqDQorWDIwNjkwMlkyNzgwNjFEMDEqDQorWDIwNjcxOFkyNzgyNzdEMDEqDQorWDIwNjUwMlkyNzg0NjFEMDEqDQorWDIwNjI2MVkyNzg2MDlEMDEqDQorWDIwNTk5OVkyNzg3MTdEMDEqDQorWDIwNTc5MlkyNzg3NjdEMDEqDQorWTM2MDUxNkQwMSoNCitYMjA1Nzk5WTM2MDUxNkQwMSoNCitYMjA2NDc0WTM2MDU2OUQwMSoNCitYMjA3MTMyWTM2MDcyN0QwMSoNCitYMjA3NzU3WTM2MDk4NkQwMSoNCitYMjA4MzM0WTM2MTMzOUQwMSoNCitYMjA4ODQ5WTM2MTc3OUQwMSoNCitYMjA5Mjg5WTM2MjI5NEQwMSoNCitYMjA5NjQyWTM2Mjg3MUQwMSoNCitYMjA5OTAxWTM2MzQ5NkQwMSoNCitYMjEwMDU5WTM2NDE1NEQwMSoNCitYMjEwMDk5WTM2NDgyOUQwMSoNCitYMjEwMDU5WTM2NTUwNEQwMSoNCitYMjA5OTAxWTM2NjE2MkQwMSoNCitYMjA5NjQyWTM2Njc4N0QwMSoNCitYMjA5Mjg5WTM2NzM2NEQwMSoNCitYMjA4ODQ5WTM2Nzg3OUQwMSoNCitYMjA4MzM0WTM2ODMxOUQwMSoNCitYMjA3NzU3WTM2ODY3MkQwMSoNCitYMjA3MTMyWTM2ODkzMUQwMSoNCitYMjA2NDc0WTM2OTA4OUQwMSoNCitYMjA1Nzk5WTM2OTE0MkQwMSoNCitYMjA1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gyMDU3OTlZMzcwNTE2RDAxKg0KK1gyMDY0NzRZMzcwNTY5RDAxKg0KK1gyMDcxMzJZMzcwNzI3RDAxKg0KK1gyMDc3NTdZMzcwOTg2RDAxKg0KK1gyMDgzMzRZMzcxMzM5RDAxKg0KK1gyMDg4NDlZMzcxNzc5RDAxKg0KK1gyMDkyODlZMzcyMjk0RDAxKg0KK1gyMDk2NDJZMzcyODcxRDAxKg0KK1gyMDk5MDFZMzczNDk2RDAxKg0KK1gyMTAwNTlZMzc0MTU0RDAxKg0KK1gyMTAwOTlZMzc0ODI5RDAxKg0KK1gyMTAwNTlZMzc1NTA0RDAxKg0KK1gyMDk5MDFZMzc2MTYyRDAxKg0KK1gyMDk2NDJZMzc2Nzg3RDAxKg0KK1gyMDkyODlZMzc3MzY0RDAxKg0KK1gyMDg4NDlZMzc3ODc5RDAxKg0KK1gyMDgzMzRZMzc4MzE5RDAxKg0KK1gyMDc3NTdZMzc4NjcyRDAxKg0KK1gyMDcxMzJZMzc4OTMxRDAxKg0KK1gyMDY0NzRZMzc5MDg5RDAxKg0KK1gyMDU3OTlZMzc5MTQyRDAxKg0KK1gyMDU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDIxMDQzOEQwMSoNCitZMjE0MzA1RDAxKg0KK1gyMTAxNTlZMjE0MjgzRDAxKg0KK1gyMDk4ODNZMjE0MjE3RDAxKg0KK1gyMDk2MjFZMjE0MTA5RDAxKg0KK1gyMDkzODBZMjEzOTYxRDAxKg0KK1gyMDkxNjRZMjEzNzc3RDAxKg0KK1gyMDg5ODBZMjEzNTYxRDAxKg0KK1gyMDg4MzJZMjEzMzIwRDAxKg0KK1gyMDg3MjRZMjEzMDU4RDAxKg0KK1gyMDg2NThZMjEyNzgyRDAxKg0KK1gyMDg2MzVZMjEyNTAwRDAxKg0KK1gyMDg2NThZMjEyMjE4RDAxKg0KK1gyMDg3MjRZMjExOTQyRDAxKg0KK1gyMDg4MzJZMjExNjgwRDAxKg0KK1gyMDg5ODBZMjExNDM5RDAxKg0KK1gyMDkxNjRZMjExMjIzRDAxKg0KK1gyMDkzODBZMjExMDM5RDAxKg0KK1gyMDk2MjFZMjEwODkxRDAxKg0KK1gyMDk4ODNZMjEwNzgzRDAxKg0KK1gyMTAxNTlZMjEwNzE3RDAxKg0KK1gyMTA0MzhZMjEwNjk1RDAxKg0KK1kxNDkwMDJEMDEqDQorWDIxMDQwMlkxNDkwNjFEMDEqDQorWDIxMDIxOFkxNDkyNzdEMDEqDQorWDIxMDAwMlkxNDk0NjFEMDEqDQorWDIwOTc2MVkxNDk2MDlEMDEqDQorWDIwOTQ5OVkxNDk3MTdEMDEqDQorWDIwOTIyM1kxNDk3ODNEMDEqDQorWDIwODk0MVkxNDk4MDZEMDEqDQorWDIwODY1OVkxNDk3ODNEMDEqDQorWDIwODM4M1kxNDk3MTdEMDEqDQorWDIwODEyMVkxNDk2MDlEMDEqDQorWDIwNzg4MFkxNDk0NjFEMDEqDQorWDIwNzY2NFkxNDkyNzdEMDEqDQorWDIwNzQ4MFkxNDkwNjFEMDEqDQorWDIwNzMzMlkxNDg4MjBEMDEqDQorWDIwNzIyNFkxNDg1NThEMDEqDQorWDIwNzE1OFkxNDgyODJEMDEqDQorWDIwNzEzNVkxNDgwMDBEMDEqDQorWDIwNzE1OFkxNDc3MThEMDEqDQorWDIwNzIyNFkxNDc0NDJEMDEqDQorWDIwNzMzMlkxNDcxODBEMDEqDQorWDIwNzQ4MFkxNDY5MzlEMDEqDQorWDIwNzY2NFkxNDY3MjNEMDEqDQorWDIwNzg4MFkxNDY1MzlEMDEqDQorWDIwODEyMVkxNDYzOTFEMDEqDQorWDIwODM4M1kxNDYyODNEMDEqDQorWDIwODY1OVkxNDYyMTdEMDEqDQorWDIwODk0MVkxNDYxOTREMDEqDQorWDIwOTIyM1kxNDYyMTdEMDEqDQorWDIwOTQ5OVkxNDYyODNEMDEqDQorWDIwOTc2MVkxNDYzOTFEMDEqDQorWDIxMDAwMlkxNDY1MzlEMDEqDQorWDIxMDIxOFkxNDY3MjNEMDEqDQorWDIxMDQwMlkxNDY5MzlEMDEqDQorWDIxMDQzOFkxNDY5OThEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwMjQzOFkxODIxNDNEMDIqWDIwMjc0OVkxODE3NzlEMDEqDQorWDIwMzI2NFkxODEzMzlEMDEqDQorWDIwMzg0MVkxODA5ODZEMDEqDQorWDIwNDQ2NlkxODA3MjdEMDEqDQorWDIwNTEyNFkxODA1NjlEMDEqDQorWDIwNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMjA1MTI0WTE3OTA4OUQwMSoNCitYMjA0NDY2WTE3ODkzMUQwMSoNCitYMjAzODQxWTE3ODY3MkQwMSoNCitYMjAzMjY0WTE3ODMxOUQwMSoNCitYMjAyNzQ5WTE3Nzg3OUQwMSoNCitYMjAyNDM4WTE3NzUxNUQwMSoNCitZMTgyMTQzRDAxKg0KK0czNyoNCitHMzYqDQorWTE5NDY0M0QwMipYMjAyNzQ5WTE5NDI3OUQwMSoNCitYMjAzMjY0WTE5MzgzOUQwMSoNCitYMjAzODQxWTE5MzQ4NkQwMSoNCitYMjA0NDY2WTE5MzIyN0QwMSoNCitYMjA1MTI0WTE5MzA2OUQwMSoNCitYMjA1NzkyWTE5MzAxNkQwMSoNCitZMTg5MTQyRDAxKg0KK1gyMDUxMjRZMTg5MDg5RDAxKg0KK1gyMDQ0NjZZMTg4OTMxRDAxKg0KK1gyMDM4NDFZMTg4NjcyRDAxKg0KK1gyMDMyNjRZMTg4MzE5RDAxKg0KK1gyMDI3NDlZMTg3ODc5RDAxKg0KK1gyMDI0MzhZMTg3NTE1RDAxKg0KK1kxOTQ2NDNEMDEqDQorRzM3Kg0KK0czNioNCitZMzYyMTQzRDAyKlgyMDI3NDlZMzYxNzc5RDAxKg0KK1gyMDMyNjRZMzYxMzM5RDAxKg0KK1gyMDM4NDFZMzYwOTg2RDAxKg0KK1gyMDQ0NjZZMzYwNzI3RDAxKg0KK1gyMDUxMjRZMzYwNTY5RDAxKg0KK1gyMDU3OTJZMzYwNTE2RDAxKg0KK1kyNzg3NjdEMDEqDQorWDIwNTcyM1kyNzg3ODNEMDEqDQorWDIwNTQ0MVkyNzg4MDZEMDEqDQorWDIwNTE1OVkyNzg3ODNEMDEqDQorWDIwNDg4M1kyNzg3MTdEMDEqDQorWDIwNDYyMVkyNzg2MDlEMDEqDQorWDIwNDM4MFkyNzg0NjFEMDEqDQorWDIwNDE2NFkyNzgyNzdEMDEqDQorWDIwMzk4MFkyNzgwNjFEMDEqDQorWDIwMzgzMlkyNzc4MjBEMDEqDQorWDIwMzcyNFkyNzc1NThEMDEqDQorWDIwMzY1OFkyNzcyODJEMDEqDQorWDIwMzYzNVkyNzcwMDBEMDEqDQorWDIwMzY1OFkyNzY3MThEMDEqDQorWDIwMzcyNFkyNzY0NDJEMDEqDQorWDIwMzgzMlkyNzYxODBEMDEqDQorWDIwMzk4MFkyNzU5MzlEMDEqDQorWDIwNDE2NFkyNzU3MjNEMDEqDQorWDIwNDM4MFkyNzU1MzlEMDEqDQorWDIwNDYyMVkyNzUzOTFEMDEqDQorWDIwNDg4M1kyNzUyODNEMDEqDQorWDIwNTE1OVkyNzUyMTdEMDEqDQorWDIwNTQ0MVkyNzUxOTREMDEqDQorWDIwNTcyM1kyNzUyMTdEMDEqDQorWDIwNTc5MlkyNzUyMzNEMDEqDQorWTIwMTY0MkQwMSoNCitYMjA1MTI0WTIwMTU4OUQwMSoNCitYMjA0NDY2WTIwMTQzMUQwMSoNCitYMjAzODQxWTIwMTE3MkQwMSoNCitYMjAzMjY0WTIwMDgxOUQwMSoNCitYMjAyNzQ5WTIwMDM3OUQwMSoNCitYMjAyNDM4WTIwMDAxNUQwMSoNCitZMjEwNjk1RDAxKg0KK1gyMDI0NDFZMjEwNjk0RDAxKg0KK1gyMDI3MjNZMjEwNzE3RDAxKg0KK1gyMDI5OTlZMjEwNzgzRDAxKg0KK1gyMDMyNjFZMjEwODkxRDAxKg0KK1gyMDM1MDJZMjExMDM5RDAxKg0KK1gyMDM3MThZMjExMjIzRDAxKg0KK1gyMDM5MDJZMjExNDM5RDAxKg0KK1gyMDQwNTBZMjExNjgwRDAxKg0KK1gyMDQxNThZMjExOTQyRDAxKg0KK1gyMDQyMjRZMjEyMjE4RDAxKg0KK1gyMDQyNDFZMjEyNTAwRDAxKg0KK1gyMDQyMjRZMjEyNzgyRDAxKg0KK1gyMDQxNThZMjEzMDU4RDAxKg0KK1gyMDQwNTBZMjEzMzIwRDAxKg0KK1gyMDM5MDJZMjEzNTYxRDAxKg0KK1gyMDM3MThZMjEzNzc3RDAxKg0KK1gyMDM1MDJZMjEzOTYxRDAxKg0KK1gyMDMyNjFZMjE0MTA5RDAxKg0KK1gyMDI5OTlZMjE0MjE3RDAxKg0KK1gyMDI3MjNZMjE0MjgzRDAxKg0KK1gyMDI0NDFZMjE0MzA2RDAxKg0KK1gyMDI0MzhZMjE0MzA1RDAxKg0KK1kyMzY1MDdEMDEqDQorWDIwMjQ4MFkyMzY0MzlEMDEqDQorWDIwMjY2NFkyMzYyMjNEMDEqDQorWDIwMjg4MFkyMzYwMzlEMDEqDQorWDIwMzEyMVkyMzU4OTFEMDEqDQorWDIwMzM4M1kyMzU3ODNEMDEqDQorWDIwMzY1OVkyMzU3MTdEMDEqDQorWDIwMzk0MVkyMzU2OTREMDEqDQorWDIwNDIyM1kyMzU3MTdEMDEqDQorWDIwNDQ5OVkyMzU3ODNEMDEqDQorWDIwNDc2MVkyMzU4OTFEMDEqDQorWDIwNTAwMlkyMzYwMzlEMDEqDQorWDIwNTIxOFkyMzYyMjNEMDEqDQorWDIwNTQwMlkyMzY0MzlEMDEqDQorWDIwNTU1MFkyMzY2ODBEMDEqDQorWDIwNTY1OFkyMzY5NDJEMDEqDQorWDIwNTcyNFkyMzcyMThEMDEqDQorWDIwNTc0MVkyMzc1MDBEMDEqDQorWDIwNTcyNFkyMzc3ODJEMDEqDQorWDIwNTY1OFkyMzgwNThEMDEqDQorWDIwNTU1MFkyMzgzMjBEMDEqDQorWDIwNTQwMlkyMzg1NjFEMDEqDQorWDIwNTIxOFkyMzg3NzdEMDEqDQorWDIwNTAwMlkyMzg5NjFEMDEqDQorWDIwNDc2MVkyMzkxMDlEMDEqDQorWDIwNDQ5OVkyMzkyMTdEMDEqDQorWDIwNDIyM1kyMzkyODNEMDEqDQorWDIwMzk0MVkyMzkzMDZEMDEqDQorWDIwMzY1OVkyMzkyODNEMDEqDQorWDIwMzM4M1kyMzkyMTdEMDEqDQorWDIwMzEyMVkyMzkxMDlEMDEqDQorWDIwMjg4MFkyMzg5NjFEMDEqDQorWDIwMjY2NFkyMzg3NzdEMDEqDQorWDIwMjQ4MFkyMzg1NjFEMDEqDQorWDIwMjQzOFkyMzg0OTNEMDEqDQorWTM2MjE0M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzIxNDNEMDIqWDIwMjc0OVkzNzE3NzlEMDEqDQorWDIwMzI2NFkzNzEzMzlEMDEqDQorWDIwMzg0MVkzNzA5ODZEMDEqDQorWDIwNDQ2NlkzNzA3MjdEMDEqDQorWDIwNTEyNFkzNzA1NjlEMDEqDQorWDIwNTc5MlkzNzA1MTZEMDEqDQorWTM2OTE0MkQwMSoNCitYMjA1MTI0WTM2OTA4OUQwMSoNCitYMjA0NDY2WTM2ODkzMUQwMSoNCitYMjAzODQxWTM2ODY3MkQwMSoNCitYMjAzMjY0WTM2ODMxOUQwMSoNCitYMjAyNzQ5WTM2Nzg3OUQwMSoNCitYMjAyNDM4WTM2NzUxNUQwMSoNCitZMzcyMTQzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5NzAwMEQwMipYMjA1NzkyRDAxKg0KK1kzNzkxNDJEMDEqDQorWDIwNTEyNFkzNzkwODlEMDEqDQorWDIwNDQ2NlkzNzg5MzFEMDEqDQorWDIwMzg0MVkzNzg2NzJEMDEqDQorWDIwMzI2NFkzNzgzMTlEMDEqDQorWDIwMjc0OVkzNzc4NzlEMDEqDQorWDIwMjQzOFkzNzc1MTVEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDU3OTJZOTcwMDBEMDIqWDIwMjQzOEQwMSoNCitZMTcyMTQzRDAxKg0KK1gyMDI3NDlZMTcxNzc5RDAxKg0KK1gyMDMyNjRZMTcxMzM5RDAxKg0KK1gyMDM4NDFZMTcwOTg2RDAxKg0KK1gyMDQ0NjZZMTcwNzI3RDAxKg0KK1gyMDUxMjRZMTcwNTY5RDAxKg0KK1gyMDU3OTJZMTcwNTE2RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDI0MzhEMDIqWDE5ODQzOEQwMSoNCitZMTIwNjk1RDAxKg0KK1gxOTg0NDFZMTIwNjk0RDAxKg0KK1gxOTg3MjNZMTIwNzE3RDAxKg0KK1gxOTg5OTlZMTIwNzgzRDAxKg0KK1gxOTkyNjFZMTIwODkxRDAxKg0KK1gxOTk1MDJZMTIxMDM5RDAxKg0KK1gxOTk3MThZMTIxMjIzRDAxKg0KK1gxOTk5MDJZMTIxNDM5RDAxKg0KK1gyMDAwNTBZMTIxNjgwRDAxKg0KK1gyMDAxNThZMTIxOTQyRDAxKg0KK1gyMDAyMjRZMTIyMjE4RDAxKg0KK1gyMDAyNDFZMTIyNTAwRDAxKg0KK1gyMDAyMjRZMTIyNzgyRDAxKg0KK1gyMDAxNThZMTIzMDU4RDAxKg0KK1gyMDAwNTBZMTIzMzIwRDAxKg0KK1gxOTk5MDJZMTIzNTYxRDAxKg0KK1gxOTk3MThZMTIzNzc3RDAxKg0KK1gxOTk1MDJZMTIzOTYxRDAxKg0KK1gxOTkyNjFZMTI0MTA5RDAxKg0KK1gxOTg5OTlZMTI0MjE3RDAxKg0KK1gxOTg3MjNZMTI0MjgzRDAxKg0KK1gxOTg0NDFZMTI0MzA2RDAxKg0KK1gxOTg0MzhZMTI0MzA1RDAxKg0KK1kxNzE0MjhEMDEqDQorWDE5ODg0OVkxNzE3NzlEMDEqDQorWDE5OTI4OVkxNzIyOTREMDEqDQorWDE5OTY0MlkxNzI4NzFEMDEqDQorWDE5OTkwMVkxNzM0OTZEMDEqDQorWDIwMDA1OVkxNzQxNTREMDEqDQorWDIwMDA5OVkxNzQ4MjlEMDEqDQorWDIwMDA1OVkxNzU1MDREMDEqDQorWDE5OTkwMVkxNzYxNjJEMDEqDQorWDE5OTY0MlkxNzY3ODdEMDEqDQorWDE5OTI4OVkxNzczNjREMDEqDQorWDE5ODg0OVkxNzc4NzlEMDEqDQorWDE5ODQzOFkxNzgyMzBEMDEqDQorWTE4MTQyOEQwMSoNCitYMTk4ODQ5WTE4MTc3OUQwMSoNCitYMTk5Mjg5WTE4MjI5NEQwMSoNCitYMTk5NjQyWTE4Mjg3MUQwMSoNCitYMTk5OTAxWTE4MzQ5NkQwMSoNCitYMjAwMDU5WTE4NDE1NEQwMSoNCitYMjAwMDk5WTE4NDgyOUQwMSoNCitYMjAwMDU5WTE4NTUwNEQwMSoNCitYMTk5OTAxWTE4NjE2MkQwMSoNCitYMTk5NjQyWTE4Njc4N0QwMSoNCitYMTk5Mjg5WTE4NzM2NEQwMSoNCitYMTk4ODQ5WTE4Nzg3OUQwMSoNCitYMTk4NDM4WTE4ODIzMEQwMSoNCitZMTkzMDM3RDAxKg0KK1gxOTkyNTZZMTkzMDM4RDAxKg0KK1gxOTk0MDlZMTkzMDc1RDAxKg0KK1gxOTk1NTRZMTkzMTM1RDAxKg0KK1gxOTk2ODlZMTkzMjE3RDAxKg0KK1gxOTk4MDhZMTkzMzIwRDAxKg0KK1gxOTk5MTFZMTkzNDM5RDAxKg0KK1gxOTk5OTNZMTkzNTc0RDAxKg0KK1gyMDAwNTNZMTkzNzE5RDAxKg0KK1gyMDAwOTBZMTkzODcyRDAxKg0KK1gyMDAwOTlZMTk0MDI5RDAxKg0KK1gyMDAwOTBZMjAwNzg2RDAxKg0KK1gyMDAwNTNZMjAwOTM5RDAxKg0KK1gxOTk5OTNZMjAxMDg0RDAxKg0KK1gxOTk5MTFZMjAxMjE5RDAxKg0KK1gxOTk4MDhZMjAxMzM4RDAxKg0KK1gxOTk2ODlZMjAxNDQxRDAxKg0KK1gxOTk1NTRZMjAxNTIzRDAxKg0KK1gxOTk0MDlZMjAxNTgzRDAxKg0KK1gxOTkyNTZZMjAxNjIwRDAxKg0KK1gxOTkwOTlZMjAxNjI5RDAxKg0KK1gxOTg0MzhZMjAxNjI4RDAxKg0KK1kyNjA2OTVEMDEqDQorWDE5ODQ0MVkyNjA2OTREMDEqDQorWDE5ODcyM1kyNjA3MTdEMDEqDQorWDE5ODk5OVkyNjA3ODNEMDEqDQorWDE5OTI2MVkyNjA4OTFEMDEqDQorWDE5OTUwMlkyNjEwMzlEMDEqDQorWDE5OTcxOFkyNjEyMjNEMDEqDQorWDE5OTkwMlkyNjE0MzlEMDEqDQorWDIwMDA1MFkyNjE2ODBEMDEqDQorWDIwMDE1OFkyNjE5NDJEMDEqDQorWDIwMDIyNFkyNjIyMThEMDEqDQorWDIwMDI0MVkyNjI1MDBEMDEqDQorWDIwMDIyNFkyNjI3ODJEMDEqDQorWDIwMDE1OFkyNjMwNThEMDEqDQorWDIwMDA1MFkyNjMzMjBEMDEqDQorWDE5OTkwMlkyNjM1NjFEMDEqDQorWDE5OTcxOFkyNjM3NzdEMDEqDQorWDE5OTUwMlkyNjM5NjFEMDEqDQorWDE5OTI2MVkyNjQxMDlEMDEqDQorWDE5ODk5OVkyNjQyMTdEMDEqDQorWDE5ODcyM1kyNjQyODNEMDEqDQorWDE5ODQ0MVkyNjQzMDZEMDEqDQorWDE5ODQzOFkyNjQzMDVEMDEqDQorWTI2NzY5NUQwMSoNCitYMTk4NDQxWTI2NzY5NEQwMSoNCitYMTk4NzIzWTI2NzcxN0QwMSoNCitYMTk4OTk5WTI2Nzc4M0QwMSoNCitYMTk5MjYxWTI2Nzg5MUQwMSoNCitYMTk5NTAyWTI2ODAzOUQwMSoNCitYMTk5NzE4WTI2ODIyM0QwMSoNCitYMTk5OTAyWTI2ODQzOUQwMSoNCitYMjAwMDUwWTI2ODY4MEQwMSoNCitYMjAwMTU4WTI2ODk0MkQwMSoNCitYMjAwMjI0WTI2OTIxOEQwMSoNCitYMjAwMjQxWTI2OTUwMEQwMSoNCitYMjAwMjI0WTI2OTc4MkQwMSoNCitYMjAwMTU4WTI3MDA1OEQwMSoNCitYMjAwMDUwWTI3MDMyMEQwMSoNCitYMTk5OTAyWTI3MDU2MUQwMSoNCitYMTk5NzE4WTI3MDc3N0QwMSoNCitYMTk5NTAyWTI3MDk2MUQwMSoNCitYMTk5MjYxWTI3MTEwOUQwMSoNCitYMTk4OTk5WTI3MTIxN0QwMSoNCitYMTk4NzIzWTI3MTI4M0QwMSoNCitYMTk4NDQxWTI3MTMwNkQwMSoNCitYMTk4NDM4WTI3MTMwNUQwMSoNCitZMzA3MDAwRDAxKg0KK1gxOTg1MDJZMzA3MDM5RDAxKg0KK1gxOTg3MThZMzA3MjIzRDAxKg0KK1gxOTg5MDJZMzA3NDM5RDAxKg0KK1gxOTkwNTBZMzA3NjgwRDAxKg0KK1gxOTkxNThZMzA3OTQyRDAxKg0KK1gxOTkyMjRZMzA4MjE4RDAxKg0KK1gxOTkyNDFZMzA4NTAwRDAxKg0KK1gxOTkyMjRZMzA4NzgyRDAxKg0KK1gxOTkxNThZMzA5MDU4RDAxKg0KK1gxOTkwNTBZMzA5MzIwRDAxKg0KK1gxOTg5MDJZMzA5NTYxRDAxKg0KK1gxOTg3MThZMzA5Nzc3RDAxKg0KK1gxOTg1MDJZMzA5OTYxRDAxKg0KK1gxOTg0MzhZMzEwMDAwRDAxKg0KK1kzMTMwMDBEMDEqDQorWDE5ODUwMlkzMTMwMzlEMDEqDQorWDE5ODcxOFkzMTMyMjNEMDEqDQorWDE5ODkwMlkzMTM0MzlEMDEqDQorWDE5OTA1MFkzMTM2ODBEMDEqDQorWDE5OTE1OFkzMTM5NDJEMDEqDQorWDE5OTIyNFkzMTQyMThEMDEqDQorWDE5OTI0MVkzMTQ1MDBEMDEqDQorWDE5OTIyNFkzMTQ3ODJEMDEqDQorWDE5OTE1OFkzMTUwNThEMDEqDQorWDE5OTA1MFkzMTUzMjBEMDEqDQorWDE5ODkwMlkzMTU1NjFEMDEqDQorWDE5ODcxOFkzMTU3NzdEMDEqDQorWDE5ODUwMlkzMTU5NjFEMDEqDQorWDE5ODQzOFkzMTYwMDBEMDEqDQorWTM2MTQyOEQwMSoNCitYMTk4ODQ5WTM2MTc3OUQwMSoNCitYMTk5Mjg5WTM2MjI5NEQwMSoNCitYMTk5NjQyWTM2Mjg3MUQwMSoNCitYMTk5OTAxWTM2MzQ5NkQwMSoNCitYMjAwMDU5WTM2NDE1NEQwMSoNCitYMjAwMDk5WTM2NDgyOUQwMSoNCitYMjAwMDU5WTM2NTUwNEQwMSoNCitYMTk5OTAxWTM2NjE2MkQwMSoNCitYMTk5NjQyWTM2Njc4N0QwMSoNCitYMTk5Mjg5WTM2NzM2NEQwMSoNCitYMTk4ODQ5WTM2Nzg3OUQwMSoNCitYMTk4NDM4WTM2ODIzMEQwMSoNCitZMzcxNDI4RDAxKg0KK1gxOTg4NDlZMzcxNzc5RDAxKg0KK1gxOTkyODlZMzcyMjk0RDAxKg0KK1gxOTk2NDJZMzcyODcxRDAxKg0KK1gxOTk5MDFZMzczNDk2RDAxKg0KK1gyMDAwNTlZMzc0MTU0RDAxKg0KK1gyMDAwOTlZMzc0ODI5RDAxKg0KK1gyMDAwNTlZMzc1NTA0RDAxKg0KK1gxOTk5MDFZMzc2MTYyRDAxKg0KK1gxOTk2NDJZMzc2Nzg3RDAxKg0KK1gxOTkyODlZMzc3MzY0RDAxKg0KK1gxOTg4NDlZMzc3ODc5RDAxKg0KK1gxOTg0MzhZMzc4MjMwRDAxKg0KK1kzOTcwMDBEMDEqDQorWDIwMjQzOEQwMSoNCitZMzc3NTE1RDAxKg0KK1gyMDIzMDlZMzc3MzY0RDAxKg0KK1gyMDE5NTZZMzc2Nzg3RDAxKg0KK1gyMDE2OTdZMzc2MTYyRDAxKg0KK1gyMDE1MzlZMzc1NTA0RDAxKg0KK1gyMDE0ODZZMzc0ODI5RDAxKg0KK1gyMDE1MzlZMzc0MTU0RDAxKg0KK1gyMDE2OTdZMzczNDk2RDAxKg0KK1gyMDE5NTZZMzcyODcxRDAxKg0KK1gyMDIzMDlZMzcyMjk0RDAxKg0KK1gyMDI0MzhZMzcyMTQzRDAxKg0KK1kzNjc1MTVEMDEqDQorWDIwMjMwOVkzNjczNjREMDEqDQorWDIwMTk1NlkzNjY3ODdEMDEqDQorWDIwMTY5N1kzNjYxNjJEMDEqDQorWDIwMTUzOVkzNjU1MDREMDEqDQorWDIwMTQ4NlkzNjQ4MjlEMDEqDQorWDIwMTUzOVkzNjQxNTREMDEqDQorWDIwMTY5N1kzNjM0OTZEMDEqDQorWDIwMTk1NlkzNjI4NzFEMDEqDQorWDIwMjMwOVkzNjIyOTREMDEqDQorWDIwMjQzOFkzNjIxNDNEMDEqDQorWTIzODQ5M0QwMSoNCitYMjAyMzMyWTIzODMyMEQwMSoNCitYMjAyMjI0WTIzODA1OEQwMSoNCitYMjAyMTU4WTIzNzc4MkQwMSoNCitYMjAyMTM1WTIzNzUwMEQwMSoNCitYMjAyMTU4WTIzNzIxOEQwMSoNCitYMjAyMjI0WTIzNjk0MkQwMSoNCitYMjAyMzMyWTIzNjY4MEQwMSoNCitYMjAyNDM4WTIzNjUwN0QwMSoNCitZMjE0MzA1RDAxKg0KK1gyMDIxNTlZMjE0MjgzRDAxKg0KK1gyMDE4ODNZMjE0MjE3RDAxKg0KK1gyMDE2MjFZMjE0MTA5RDAxKg0KK1gyMDEzODBZMjEzOTYxRDAxKg0KK1gyMDExNjRZMjEzNzc3RDAxKg0KK1gyMDA5ODBZMjEzNTYxRDAxKg0KK1gyMDA4MzJZMjEzMzIwRDAxKg0KK1gyMDA3MjRZMjEzMDU4RDAxKg0KK1gyMDA2NThZMjEyNzgyRDAxKg0KK1gyMDA2MzVZMjEyNTAwRDAxKg0KK1gyMDA2NThZMjEyMjE4RDAxKg0KK1gyMDA3MjRZMjExOTQyRDAxKg0KK1gyMDA4MzJZMjExNjgwRDAxKg0KK1gyMDA5ODBZMjExNDM5RDAxKg0KK1gyMDExNjRZMjExMjIzRDAxKg0KK1gyMDEzODBZMjExMDM5RDAxKg0KK1gyMDE2MjFZMjEwODkxRDAxKg0KK1gyMDE4ODNZMjEwNzgzRDAxKg0KK1gyMDIxNTlZMjEwNzE3RDAxKg0KK1gyMDI0MzhZMjEwNjk1RDAxKg0KK1kyMDAwMTVEMDEqDQorWDIwMjMwOVkxOTk4NjREMDEqDQorWDIwMTk1NlkxOTkyODdEMDEqDQorWDIwMTY5N1kxOTg2NjJEMDEqDQorWDIwMTUzOVkxOTgwMDREMDEqDQorWDIwMTQ4NlkxOTczMjlEMDEqDQorWDIwMTUzOVkxOTY2NTREMDEqDQorWDIwMTY5N1kxOTU5OTZEMDEqDQorWDIwMTk1NlkxOTUzNzFEMDEqDQorWDIwMjMwOVkxOTQ3OTREMDEqDQorWDIwMjQzOFkxOTQ2NDNEMDEqDQorWTE4NzUxNUQwMSoNCitYMjAyMzA5WTE4NzM2NEQwMSoNCitYMjAxOTU2WTE4Njc4N0QwMSoNCitYMjAxNjk3WTE4NjE2MkQwMSoNCitYMjAxNTM5WTE4NTUwNEQwMSoNCitYMjAxNDg2WTE4NDgyOUQwMSoNCitYMjAxNTM5WTE4NDE1NEQwMSoNCitYMjAxNjk3WTE4MzQ5NkQwMSoNCitYMjAxOTU2WTE4Mjg3MUQwMSoNCitYMjAyMzA5WTE4MjI5NEQwMSoNCitYMjAyNDM4WTE4MjE0M0QwMSoNCitZMTc3NTE1RDAxKg0KK1gyMDIzMDlZMTc3MzY0RDAxKg0KK1gyMDE5NTZZMTc2Nzg3RDAxKg0KK1gyMDE2OTdZMTc2MTYyRDAxKg0KK1gyMDE1MzlZMTc1NTA0RDAxKg0KK1gyMDE0ODZZMTc0ODI5RDAxKg0KK1gyMDE1MzlZMTc0MTU0RDAxKg0KK1gyMDE2OTdZMTczNDk2RDAxKg0KK1gyMDE5NTZZMTcyODcxRDAxKg0KK1gyMDIzMDlZMTcyMjk0RDAxKg0KK1gyMDI0MzhZMTcyMTQzRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTg0MzhZMzc4MjMwRDAyKlgxOTgzMzRZMzc4MzE5RDAxKg0KK1gxOTc3NTdZMzc4NjcyRDAxKg0KK1gxOTcxMzJZMzc4OTMxRDAxKg0KK1gxOTY0NzRZMzc5MDg5RDAxKg0KK1gxOTU3OTlZMzc5MTQyRDAxKg0KK1gxOTU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDE5ODQzOEQwMSoNCitZMzc4MjMwRDAxKg0KK0czNyoNCitHMzYqDQorWTM2ODIzMEQwMipYMTk4MzM0WTM2ODMxOUQwMSoNCitYMTk3NzU3WTM2ODY3MkQwMSoNCitYMTk3MTMyWTM2ODkzMUQwMSoNCitYMTk2NDc0WTM2OTA4OUQwMSoNCitYMTk1Nzk5WTM2OTE0MkQwMSoNCitYMTk1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gxOTU3OTlZMzcwNTE2RDAxKg0KK1gxOTY0NzRZMzcwNTY5RDAxKg0KK1gxOTcxMzJZMzcwNzI3RDAxKg0KK1gxOTc3NTdZMzcwOTg2RDAxKg0KK1gxOTgzMzRZMzcxMzM5RDAxKg0KK1gxOTg0MzhZMzcxNDI4RDAxKg0KK1kzNjgyMzBEMDEqDQorRzM3Kg0KK0czNioNCitZMzE2MDAwRDAyKlgxOTgyNjFZMzE2MTA5RDAxKg0KK1gxOTc5OTlZMzE2MjE3RDAxKg0KK1gxOTc3MjNZMzE2MjgzRDAxKg0KK1gxOTc0NDFZMzE2MzA2RDAxKg0KK1gxOTcxNTlZMzE2MjgzRDAxKg0KK1gxOTY4ODNZMzE2MjE3RDAxKg0KK1gxOTY2MjFZMzE2MTA5RDAxKg0KK1gxOTYzODBZMzE1OTYxRDAxKg0KK1gxOTYxNjRZMzE1Nzc3RDAxKg0KK1gxOTU5ODBZMzE1NTYxRDAxKg0KK1gxOTU4MzJZMzE1MzIwRDAxKg0KK1gxOTU3OTJZMzE1MjIzRDAxKg0KK1kzNjA1MTZEMDEqDQorWDE5NTc5OVkzNjA1MTZEMDEqDQorWDE5NjQ3NFkzNjA1NjlEMDEqDQorWDE5NzEzMlkzNjA3MjdEMDEqDQorWDE5Nzc1N1kzNjA5ODZEMDEqDQorWDE5ODMzNFkzNjEzMzlEMDEqDQorWDE5ODQzOFkzNjE0MjhEMDEqDQorWTMxNjAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMTAwMDBEMDIqWDE5ODI2MVkzMTAxMDlEMDEqDQorWDE5Nzk5OVkzMTAyMTdEMDEqDQorWDE5NzcyM1kzMTAyODNEMDEqDQorWDE5NzQ0MVkzMTAzMDZEMDEqDQorWDE5NzE1OVkzMTAyODNEMDEqDQorWDE5Njg4M1kzMTAyMTdEMDEqDQorWDE5NjYyMVkzMTAxMDlEMDEqDQorWDE5NjM4MFkzMDk5NjFEMDEqDQorWDE5NjE2NFkzMDk3NzdEMDEqDQorWDE5NTk4MFkzMDk1NjFEMDEqDQorWDE5NTgzMlkzMDkzMjBEMDEqDQorWDE5NTc5MlkzMDkyMjNEMDEqDQorWTMwOTczM0QwMSoNCitYMTk1OTk5WTMwOTc4M0QwMSoNCitYMTk2MjYxWTMwOTg5MUQwMSoNCitYMTk2NTAyWTMxMDAzOUQwMSoNCitYMTk2NzE4WTMxMDIyM0QwMSoNCitYMTk2OTAyWTMxMDQzOUQwMSoNCitYMTk3MDUwWTMxMDY4MEQwMSoNCitYMTk3MTU4WTMxMDk0MkQwMSoNCitYMTk3MjI0WTMxMTIxOEQwMSoNCitYMTk3MjQxWTMxMTUwMEQwMSoNCitYMTk3MjI0WTMxMTc4MkQwMSoNCitYMTk3MTU4WTMxMjA1OEQwMSoNCitYMTk3MDUwWTMxMjMyMEQwMSoNCitYMTk2OTAyWTMxMjU2MUQwMSoNCitYMTk2NzE4WTMxMjc3N0QwMSoNCitYMTk2NTAyWTMxMjk2MUQwMSoNCitYMTk2MjYxWTMxMzEwOUQwMSoNCitYMTk1OTk5WTMxMzIxN0QwMSoNCitYMTk1NzkyWTMxMzI2N0QwMSoNCitZMzEzNzc3RDAxKg0KK1gxOTU4MzJZMzEzNjgwRDAxKg0KK1gxOTU5ODBZMzEzNDM5RDAxKg0KK1gxOTYxNjRZMzEzMjIzRDAxKg0KK1gxOTYzODBZMzEzMDM5RDAxKg0KK1gxOTY2MjFZMzEyODkxRDAxKg0KK1gxOTY4ODNZMzEyNzgzRDAxKg0KK1gxOTcxNTlZMzEyNzE3RDAxKg0KK1gxOTc0NDFZMzEyNjk0RDAxKg0KK1gxOTc3MjNZMzEyNzE3RDAxKg0KK1gxOTc5OTlZMzEyNzgzRDAxKg0KK1gxOTgyNjFZMzEyODkxRDAxKg0KK1gxOTg0MzhZMzEzMDAwRDAxKg0KK1kzMTAwMDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjAxNjI4RDAyKlgxOTU3OTJZMjAxNjI0RDAxKg0KK1kzMDc3NzdEMDEqDQorWDE5NTgzMlkzMDc2ODBEMDEqDQorWDE5NTk4MFkzMDc0MzlEMDEqDQorWDE5NjE2NFkzMDcyMjNEMDEqDQorWDE5NjM4MFkzMDcwMzlEMDEqDQorWDE5NjYyMVkzMDY4OTFEMDEqDQorWDE5Njg4M1kzMDY3ODNEMDEqDQorWDE5NzE1OVkzMDY3MTdEMDEqDQorWDE5NzQ0MVkzMDY2OTREMDEqDQorWDE5NzcyM1kzMDY3MTdEMDEqDQorWDE5Nzk5OVkzMDY3ODNEMDEqDQorWDE5ODI2MVkzMDY4OTFEMDEqDQorWDE5ODQzOFkzMDcwMDBEMDEqDQorWTI3MTMwNUQwMSoNCitYMTk4MTU5WTI3MTI4M0QwMSoNCitYMTk3ODgzWTI3MTIxN0QwMSoNCitYMTk3NjIxWTI3MTEwOUQwMSoNCitYMTk3MzgwWTI3MDk2MUQwMSoNCitYMTk3MTY0WTI3MDc3N0QwMSoNCitYMTk2OTgwWTI3MDU2MUQwMSoNCitYMTk2ODMyWTI3MDMyMEQwMSoNCitYMTk2NzI0WTI3MDA1OEQwMSoNCitYMTk2NjU4WTI2OTc4MkQwMSoNCitYMTk2NjM1WTI2OTUwMEQwMSoNCitYMTk2NjU4WTI2OTIxOEQwMSoNCitYMTk2NzI0WTI2ODk0MkQwMSoNCitYMTk2ODMyWTI2ODY4MEQwMSoNCitYMTk2OTgwWTI2ODQzOUQwMSoNCitYMTk3MTY0WTI2ODIyM0QwMSoNCitYMTk3MzgwWTI2ODAzOUQwMSoNCitYMTk3NjIxWTI2Nzg5MUQwMSoNCitYMTk3ODgzWTI2Nzc4M0QwMSoNCitYMTk4MTU5WTI2NzcxN0QwMSoNCitYMTk4NDM4WTI2NzY5NUQwMSoNCitZMjY0MzA1RDAxKg0KK1gxOTgxNTlZMjY0MjgzRDAxKg0KK1gxOTc4ODNZMjY0MjE3RDAxKg0KK1gxOTc2MjFZMjY0MTA5RDAxKg0KK1gxOTczODBZMjYzOTYxRDAxKg0KK1gxOTcxNjRZMjYzNzc3RDAxKg0KK1gxOTY5ODBZMjYzNTYxRDAxKg0KK1gxOTY4MzJZMjYzMzIwRDAxKg0KK1gxOTY3MjRZMjYzMDU4RDAxKg0KK1gxOTY2NThZMjYyNzgyRDAxKg0KK1gxOTY2MzVZMjYyNTAwRDAxKg0KK1gxOTY2NThZMjYyMjE4RDAxKg0KK1gxOTY3MjRZMjYxOTQyRDAxKg0KK1gxOTY4MzJZMjYxNjgwRDAxKg0KK1gxOTY5ODBZMjYxNDM5RDAxKg0KK1gxOTcxNjRZMjYxMjIzRDAxKg0KK1gxOTczODBZMjYxMDM5RDAxKg0KK1gxOTc2MjFZMjYwODkxRDAxKg0KK1gxOTc4ODNZMjYwNzgzRDAxKg0KK1gxOTgxNTlZMjYwNzE3RDAxKg0KK1gxOTg0MzhZMjYwNjk1RDAxKg0KK1kyMDE2MjhEMDEqDQorRzM3Kg0KK0czNioNCitZMTg4MjMwRDAyKlgxOTgzMzRZMTg4MzE5RDAxKg0KK1gxOTc3NTdZMTg4NjcyRDAxKg0KK1gxOTcxMzJZMTg4OTMxRDAxKg0KK1gxOTY0NzRZMTg5MDg5RDAxKg0KK1gxOTU3OTlZMTg5MTQyRDAxKg0KK1gxOTU3OTJZMTg5MTQyRDAxKg0KK1kxOTMwMzREMDEqDQorWDE5ODQzOFkxOTMwMzdEMDEqDQorWTE4ODIzMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzgyMzBEMDIqWDE5ODMzNFkxNzgzMTlEMDEqDQorWDE5Nzc1N1kxNzg2NzJEMDEqDQorWDE5NzEzMlkxNzg5MzFEMDEqDQorWDE5NjQ3NFkxNzkwODlEMDEqDQorWDE5NTc5OVkxNzkxNDJEMDEqDQorWDE5NTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMTk1Nzk5WTE4MDUxNkQwMSoNCitYMTk2NDc0WTE4MDU2OUQwMSoNCitYMTk3MTMyWTE4MDcyN0QwMSoNCitYMTk3NzU3WTE4MDk4NkQwMSoNCitYMTk4MzM0WTE4MTMzOUQwMSoNCitYMTk4NDM4WTE4MTQyOEQwMSoNCitZMTc4MjMwRDAxKg0KK0czNyoNCitHMzYqDQorWTk3MDAwRDAyKlgxOTU3OTJEMDEqDQorWTEzMTIzM0QwMSoNCitYMTk1OTk5WTEzMTI4M0QwMSoNCitYMTk2MjYxWTEzMTM5MUQwMSoNCitYMTk2NTAyWTEzMTUzOUQwMSoNCitYMTk2NzE4WTEzMTcyM0QwMSoNCitYMTk2OTAyWTEzMTkzOUQwMSoNCitYMTk3MDUwWTEzMjE4MEQwMSoNCitYMTk3MTU4WTEzMjQ0MkQwMSoNCitYMTk3MjI0WTEzMjcxOEQwMSoNCitYMTk3MjQxWTEzMzAwMEQwMSoNCitYMTk3MjI0WTEzMzI4MkQwMSoNCitYMTk3MTU4WTEzMzU1OEQwMSoNCitYMTk3MDUwWTEzMzgyMEQwMSoNCitYMTk2OTAyWTEzNDA2MUQwMSoNCitYMTk2NzE4WTEzNDI3N0QwMSoNCitYMTk2NTAyWTEzNDQ2MUQwMSoNCitYMTk2MjYxWTEzNDYwOUQwMSoNCitYMTk1OTk5WTEzNDcxN0QwMSoNCitYMTk1NzkyWTEzNDc2N0QwMSoNCitZMTcwNTE2RDAxKg0KK1gxOTU3OTlZMTcwNTE2RDAxKg0KK1gxOTY0NzRZMTcwNTY5RDAxKg0KK1gxOTcxMzJZMTcwNzI3RDAxKg0KK1gxOTc3NTdZMTcwOTg2RDAxKg0KK1gxOTgzMzRZMTcxMzM5RDAxKg0KK1gxOTg0MzhZMTcxNDI4RDAxKg0KK1kxMjQzMDVEMDEqDQorWDE5ODE1OVkxMjQyODNEMDEqDQorWDE5Nzg4M1kxMjQyMTdEMDEqDQorWDE5NzYyMVkxMjQxMDlEMDEqDQorWDE5NzM4MFkxMjM5NjFEMDEqDQorWDE5NzE2NFkxMjM3NzdEMDEqDQorWDE5Njk4MFkxMjM1NjFEMDEqDQorWDE5NjgzMlkxMjMzMjBEMDEqDQorWDE5NjcyNFkxMjMwNThEMDEqDQorWDE5NjY1OFkxMjI3ODJEMDEqDQorWDE5NjYzNVkxMjI1MDBEMDEqDQorWDE5NjY1OFkxMjIyMThEMDEqDQorWDE5NjcyNFkxMjE5NDJEMDEqDQorWDE5NjgzMlkxMjE2ODBEMDEqDQorWDE5Njk4MFkxMjE0MzlEMDEqDQorWDE5NzE2NFkxMjEyMjNEMDEqDQorWDE5NzM4MFkxMjEwMzlEMDEqDQorWDE5NzYyMVkxMjA4OTFEMDEqDQorWDE5Nzg4M1kxMjA3ODNEMDEqDQorWDE5ODE1OVkxMjA3MTdEMDEqDQorWDE5ODQzOFkxMjA2OTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MzkzOFkxNzA5NDZEMDIqWDE5NDQ2NlkxNzA3MjdEMDEqDQorWDE5NTEyNFkxNzA1NjlEMDEqDQorWDE5NTc5MlkxNzA1MTZEMDEqDQorWTEzNDc2N0QwMSoNCitYMTk1NzIzWTEzNDc4M0QwMSoNCitYMTk1NDQxWTEzNDgwNkQwMSoNCitYMTk1MTU5WTEzNDc4M0QwMSoNCitYMTk0ODgzWTEzNDcxN0QwMSoNCitYMTk0NjIxWTEzNDYwOUQwMSoNCitYMTk0MzgwWTEzNDQ2MUQwMSoNCitYMTk0MTY0WTEzNDI3N0QwMSoNCitYMTkzOTgwWTEzNDA2MUQwMSoNCitYMTkzOTM4WTEzMzk5M0QwMSoNCitZMTcwOTQ2RDAxKg0KK0czNyoNCitHMzYqDQorWTE4MDk0NkQwMipYMTk0NDY2WTE4MDcyN0QwMSoNCitYMTk1MTI0WTE4MDU2OUQwMSoNCitYMTk1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gxOTUxMjRZMTc5MDg5RDAxKg0KK1gxOTQ0NjZZMTc4OTMxRDAxKg0KK1gxOTM5MzhZMTc4NzEyRDAxKg0KK1kxODA5NDZEMDEqDQorRzM3Kg0KK0czNioNCitZMTkzMDMxRDAyKlgxOTU3OTJZMTkzMDM0RDAxKg0KK1kxODkxNDJEMDEqDQorWDE5NTEyNFkxODkwODlEMDEqDQorWDE5NDQ2NlkxODg5MzFEMDEqDQorWDE5MzkzOFkxODg3MTJEMDEqDQorWTE5MzAzMUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMTA1MDdEMDIqWDE5Mzk4MFkzMTA0MzlEMDEqDQorWDE5NDE2NFkzMTAyMjNEMDEqDQorWDE5NDM4MFkzMTAwMzlEMDEqDQorWDE5NDYyMVkzMDk4OTFEMDEqDQorWDE5NDg4M1kzMDk3ODNEMDEqDQorWDE5NTE1OVkzMDk3MTdEMDEqDQorWDE5NTQ0MVkzMDk2OTREMDEqDQorWDE5NTcyM1kzMDk3MTdEMDEqDQorWDE5NTc5MlkzMDk3MzNEMDEqDQorWTMwOTIyM0QwMSoNCitYMTk1NzI0WTMwOTA1OEQwMSoNCitYMTk1NjU4WTMwODc4MkQwMSoNCitYMTk1NjM1WTMwODUwMEQwMSoNCitYMTk1NjU4WTMwODIxOEQwMSoNCitYMTk1NzI0WTMwNzk0MkQwMSoNCitYMTk1NzkyWTMwNzc3N0QwMSoNCitZMjAxNjI0RDAxKg0KK1gxOTM5MzhZMjAxNjIyRDAxKg0KK1kyMTA2OTVEMDEqDQorWDE5Mzk0MVkyMTA2OTREMDEqDQorWDE5NDIyM1kyMTA3MTdEMDEqDQorWDE5NDQ5OVkyMTA3ODNEMDEqDQorWDE5NDc2MVkyMTA4OTFEMDEqDQorWDE5NTAwMlkyMTEwMzlEMDEqDQorWDE5NTIxOFkyMTEyMjNEMDEqDQorWDE5NTQwMlkyMTE0MzlEMDEqDQorWDE5NTU1MFkyMTE2ODBEMDEqDQorWDE5NTY1OFkyMTE5NDJEMDEqDQorWDE5NTcyNFkyMTIyMThEMDEqDQorWDE5NTc0MVkyMTI1MDBEMDEqDQorWDE5NTcyNFkyMTI3ODJEMDEqDQorWDE5NTY1OFkyMTMwNThEMDEqDQorWDE5NTU1MFkyMTMzMjBEMDEqDQorWDE5NTQwMlkyMTM1NjFEMDEqDQorWDE5NTIxOFkyMTM3NzdEMDEqDQorWDE5NTAwMlkyMTM5NjFEMDEqDQorWDE5NDc2MVkyMTQxMDlEMDEqDQorWDE5NDQ5OVkyMTQyMTdEMDEqDQorWDE5NDIyM1kyMTQyODNEMDEqDQorWDE5Mzk0MVkyMTQzMDZEMDEqDQorWDE5MzkzOFkyMTQzMDVEMDEqDQorWTIzNTE5NUQwMSoNCitYMTkzOTQxWTIzNTE5NEQwMSoNCitYMTk0MjIzWTIzNTIxN0QwMSoNCitYMTk0NDk5WTIzNTI4M0QwMSoNCitYMTk0NzYxWTIzNTM5MUQwMSoNCitYMTk1MDAyWTIzNTUzOUQwMSoNCitYMTk1MjE4WTIzNTcyM0QwMSoNCitYMTk1NDAyWTIzNTkzOUQwMSoNCitYMTk1NTUwWTIzNjE4MEQwMSoNCitYMTk1NjU4WTIzNjQ0MkQwMSoNCitYMTk1NzI0WTIzNjcxOEQwMSoNCitYMTk1NzQxWTIzNzAwMEQwMSoNCitYMTk1NzI0WTIzNzI4MkQwMSoNCitYMTk1NjU4WTIzNzU1OEQwMSoNCitYMTk1NTUwWTIzNzgyMEQwMSoNCitYMTk1NDAyWTIzODA2MUQwMSoNCitYMTk1MjE4WTIzODI3N0QwMSoNCitYMTk1MDAyWTIzODQ2MUQwMSoNCitYMTk0NzYxWTIzODYwOUQwMSoNCitYMTk0NDk5WTIzODcxN0QwMSoNCitYMTk0MjIzWTIzODc4M0QwMSoNCitYMTkzOTQxWTIzODgwNkQwMSoNCitYMTkzOTM4WTIzODgwNUQwMSoNCitZMzEwNTA3RDAxKg0KK0czNyoNCitHMzYqDQorWTM2MDk0NkQwMipYMTk0NDY2WTM2MDcyN0QwMSoNCitYMTk1MTI0WTM2MDU2OUQwMSoNCitYMTk1NzkyWTM2MDUxNkQwMSoNCitZMzE1MjIzRDAxKg0KK1gxOTU3MjRZMzE1MDU4RDAxKg0KK1gxOTU2NThZMzE0NzgyRDAxKg0KK1gxOTU2MzVZMzE0NTAwRDAxKg0KK1gxOTU2NThZMzE0MjE4RDAxKg0KK1gxOTU3MjRZMzEzOTQyRDAxKg0KK1gxOTU3OTJZMzEzNzc3RDAxKg0KK1kzMTMyNjdEMDEqDQorWDE5NTcyM1kzMTMyODNEMDEqDQorWDE5NTQ0MVkzMTMzMDZEMDEqDQorWDE5NTE1OVkzMTMyODNEMDEqDQorWDE5NDg4M1kzMTMyMTdEMDEqDQorWDE5NDYyMVkzMTMxMDlEMDEqDQorWDE5NDM4MFkzMTI5NjFEMDEqDQorWDE5NDE2NFkzMTI3NzdEMDEqDQorWDE5Mzk4MFkzMTI1NjFEMDEqDQorWDE5MzkzOFkzMTI0OTNEMDEqDQorWTM2MDk0NkQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzA5NDZEMDIqWDE5NDQ2NlkzNzA3MjdEMDEqDQorWDE5NTEyNFkzNzA1NjlEMDEqDQorWDE5NTc5MlkzNzA1MTZEMDEqDQorWTM2OTE0MkQwMSoNCitYMTk1MTI0WTM2OTA4OUQwMSoNCitYMTk0NDY2WTM2ODkzMUQwMSoNCitYMTkzOTM4WTM2ODcxMkQwMSoNCitZMzcwOTQ2RDAxKg0KK0czNyoNCitHMzYqDQorWTM5NzAwMEQwMipYMTk1NzkyRDAxKg0KK1kzNzkxNDJEMDEqDQorWDE5NTEyNFkzNzkwODlEMDEqDQorWDE5NDQ2NlkzNzg5MzFEMDEqDQorWDE5MzkzOFkzNzg3MTJEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTU3OTJZOTcwMDBEMDIqWDE5MzkzOEQwMSoNCitZMTI1NzgwRDAxKg0KK1gxOTM5NDhZMTI1NzgzRDAxKg0KK1gxOTQyMTBZMTI1ODkxRDAxKg0KK1gxOTQ0NTFZMTI2MDM5RDAxKg0KK1gxOTQ2NjdZMTI2MjIzRDAxKg0KK1gxOTQ4NTFZMTI2NDM5RDAxKg0KK1gxOTQ5OTlZMTI2NjgwRDAxKg0KK1gxOTUxMDdZMTI2OTQyRDAxKg0KK1gxOTUxNzNZMTI3MjE4RDAxKg0KK1gxOTUxOTBZMTI3NTAwRDAxKg0KK1gxOTUxNzNZMTI3NzgyRDAxKg0KK1gxOTUxMDdZMTI4MDU4RDAxKg0KK1gxOTQ5OTlZMTI4MzIwRDAxKg0KK1gxOTQ4NTFZMTI4NTYxRDAxKg0KK1gxOTQ2NjdZMTI4Nzc3RDAxKg0KK1gxOTQ0NTFZMTI4OTYxRDAxKg0KK1gxOTQyMTBZMTI5MTA5RDAxKg0KK1gxOTM5NDhZMTI5MjE3RDAxKg0KK1gxOTM5MzhZMTI5MjIwRDAxKg0KK1kxMzIwMDdEMDEqDQorWDE5Mzk4MFkxMzE5MzlEMDEqDQorWDE5NDE2NFkxMzE3MjNEMDEqDQorWDE5NDM4MFkxMzE1MzlEMDEqDQorWDE5NDYyMVkxMzEzOTFEMDEqDQorWDE5NDg4M1kxMzEyODNEMDEqDQorWDE5NTE1OVkxMzEyMTdEMDEqDQorWDE5NTQ0MVkxMzExOTREMDEqDQorWDE5NTcyM1kxMzEyMTdEMDEqDQorWDE5NTc5MlkxMzEyMzNEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MzkzOEQwMipYMTkxMzYwRDAxKg0KK1kzNDI2NDREMDEqDQorWDE5MTM2M1kzNDI2NDNEMDEqDQorWDE5MTY0NVkzNDI2NjZEMDEqDQorWDE5MTkyMVkzNDI3MzJEMDEqDQorWDE5MjE4M1kzNDI4NDBEMDEqDQorWDE5MjQyNFkzNDI5ODhEMDEqDQorWDE5MjY0MFkzNDMxNzJEMDEqDQorWDE5MjgyNFkzNDMzODhEMDEqDQorWDE5Mjk3MlkzNDM2MjlEMDEqDQorWDE5MzA4MFkzNDM4OTFEMDEqDQorWDE5MzE0NlkzNDQxNjdEMDEqDQorWDE5MzE2M1kzNDQ0NDlEMDEqDQorWDE5MzE0NlkzNDQ3MzFEMDEqDQorWDE5MzA4MFkzNDUwMDdEMDEqDQorWDE5Mjk3MlkzNDUyNjlEMDEqDQorWDE5MjgyNFkzNDU1MTBEMDEqDQorWDE5MjY0MFkzNDU3MjZEMDEqDQorWDE5MjQyNFkzNDU5MTBEMDEqDQorWDE5MjE4M1kzNDYwNThEMDEqDQorWDE5MTkyMVkzNDYxNjZEMDEqDQorWDE5MTY0NVkzNDYyMzJEMDEqDQorWDE5MTM2M1kzNDYyNTVEMDEqDQorWDE5MTM2MFkzNDYyNTREMDEqDQorWTM5NzAwMEQwMSoNCitYMTkzOTM4RDAxKg0KK1kzNzg3MTJEMDEqDQorWDE5Mzg0MVkzNzg2NzJEMDEqDQorWDE5MzI2NFkzNzgzMTlEMDEqDQorWDE5Mjc0OVkzNzc4NzlEMDEqDQorWDE5MjMwOVkzNzczNjREMDEqDQorWDE5MTk1NlkzNzY3ODdEMDEqDQorWDE5MTY5N1kzNzYxNjJEMDEqDQorWDE5MTUzOVkzNzU1MDREMDEqDQorWDE5MTQ4NlkzNzQ4MjlEMDEqDQorWDE5MTUzOVkzNzQxNTREMDEqDQorWDE5MTY5N1kzNzM0OTZEMDEqDQorWDE5MTk1NlkzNzI4NzFEMDEqDQorWDE5MjMwOVkzNzIyOTREMDEqDQorWDE5Mjc0OVkzNzE3NzlEMDEqDQorWDE5MzI2NFkzNzEzMzlEMDEqDQorWDE5Mzg0MVkzNzA5ODZEMDEqDQorWDE5MzkzOFkzNzA5NDZEMDEqDQorWTM2ODcxMkQwMSoNCitYMTkzODQxWTM2ODY3MkQwMSoNCitYMTkzMjY0WTM2ODMxOUQwMSoNCitYMTkyNzQ5WTM2Nzg3OUQwMSoNCitYMTkyMzA5WTM2NzM2NEQwMSoNCitYMTkxOTU2WTM2Njc4N0QwMSoNCitYMTkxNjk3WTM2NjE2MkQwMSoNCitYMTkxNTM5WTM2NTUwNEQwMSoNCitYMTkxNDg2WTM2NDgyOUQwMSoNCitYMTkxNTM5WTM2NDE1NEQwMSoNCitYMTkxNjk3WTM2MzQ5NkQwMSoNCitYMTkxOTU2WTM2Mjg3MUQwMSoNCitYMTkyMzA5WTM2MjI5NEQwMSoNCitYMTkyNzQ5WTM2MTc3OUQwMSoNCitYMTkzMjY0WTM2MTMzOUQwMSoNCitYMTkzODQxWTM2MDk4NkQwMSoNCitYMTkzOTM4WTM2MDk0NkQwMSoNCitZMzEyNDkzRDAxKg0KK1gxOTM4MzJZMzEyMzIwRDAxKg0KK1gxOTM3MjRZMzEyMDU4RDAxKg0KK1gxOTM2NThZMzExNzgyRDAxKg0KK1gxOTM2MzVZMzExNTAwRDAxKg0KK1gxOTM2NThZMzExMjE4RDAxKg0KK1gxOTM3MjRZMzEwOTQyRDAxKg0KK1gxOTM4MzJZMzEwNjgwRDAxKg0KK1gxOTM5MzhZMzEwNTA3RDAxKg0KK1kyMzg4MDVEMDEqDQorWDE5MzY1OVkyMzg3ODNEMDEqDQorWDE5MzM4M1kyMzg3MTdEMDEqDQorWDE5MzEyMVkyMzg2MDlEMDEqDQorWDE5Mjg4MFkyMzg0NjFEMDEqDQorWDE5MjY2NFkyMzgyNzdEMDEqDQorWDE5MjQ4MFkyMzgwNjFEMDEqDQorWDE5MjMzMlkyMzc4MjBEMDEqDQorWDE5MjIyNFkyMzc1NThEMDEqDQorWDE5MjE1OFkyMzcyODJEMDEqDQorWDE5MjEzNVkyMzcwMDBEMDEqDQorWDE5MjE1OFkyMzY3MThEMDEqDQorWDE5MjIyNFkyMzY0NDJEMDEqDQorWDE5MjMzMlkyMzYxODBEMDEqDQorWDE5MjQ4MFkyMzU5MzlEMDEqDQorWDE5MjY2NFkyMzU3MjNEMDEqDQorWDE5Mjg4MFkyMzU1MzlEMDEqDQorWDE5MzEyMVkyMzUzOTFEMDEqDQorWDE5MzM4M1kyMzUyODNEMDEqDQorWDE5MzY1OVkyMzUyMTdEMDEqDQorWDE5MzkzOFkyMzUxOTVEMDEqDQorWTIxNDMwNUQwMSoNCitYMTkzNjU5WTIxNDI4M0QwMSoNCitYMTkzMzgzWTIxNDIxN0QwMSoNCitYMTkzMTIxWTIxNDEwOUQwMSoNCitYMTkyODgwWTIxMzk2MUQwMSoNCitYMTkyNjY0WTIxMzc3N0QwMSoNCitYMTkyNDgwWTIxMzU2MUQwMSoNCitYMTkyMzMyWTIxMzMyMEQwMSoNCitYMTkyMjI0WTIxMzA1OEQwMSoNCitYMTkyMTU4WTIxMjc4MkQwMSoNCitYMTkyMTM1WTIxMjUwMEQwMSoNCitYMTkyMTU4WTIxMjIxOEQwMSoNCitYMTkyMjI0WTIxMTk0MkQwMSoNCitYMTkyMzMyWTIxMTY4MEQwMSoNCitYMTkyNDgwWTIxMTQzOUQwMSoNCitYMTkyNjY0WTIxMTIyM0QwMSoNCitYMTkyODgwWTIxMTAzOUQwMSoNCitYMTkzMTIxWTIxMDg5MUQwMSoNCitYMTkzMzgzWTIxMDc4M0QwMSoNCitYMTkzNjU5WTIxMDcxN0QwMSoNCitYMTkzOTM4WTIxMDY5NUQwMSoNCitZMjAxNjIyRDAxKg0KK1gxOTIzNDJZMjAxNjIwRDAxKg0KK1gxOTIxODlZMjAxNTgzRDAxKg0KK1gxOTIwNDRZMjAxNTIzRDAxKg0KK1gxOTE5MDlZMjAxNDQxRDAxKg0KK1gxOTE3OTBZMjAxMzM4RDAxKg0KK1gxOTE2ODdZMjAxMjE5RDAxKg0KK1gxOTE2MDVZMjAxMDg0RDAxKg0KK1gxOTE1NDVZMjAwOTM5RDAxKg0KK1gxOTE1MDhZMjAwNzg2RDAxKg0KK1gxOTE0OTlZMjAwNjI5RDAxKg0KK1gxOTE1MDhZMTkzODcyRDAxKg0KK1gxOTE1NDVZMTkzNzE5RDAxKg0KK1gxOTE2MDVZMTkzNTc0RDAxKg0KK1gxOTE2ODdZMTkzNDM5RDAxKg0KK1gxOTE3OTBZMTkzMzIwRDAxKg0KK1gxOTE5MDlZMTkzMjE3RDAxKg0KK1gxOTIwNDRZMTkzMTM1RDAxKg0KK1gxOTIxODlZMTkzMDc1RDAxKg0KK1gxOTIzNDJZMTkzMDM4RDAxKg0KK1gxOTI0OTlZMTkzMDI5RDAxKg0KK1gxOTM5MzhZMTkzMDMxRDAxKg0KK1kxODg3MTJEMDEqDQorWDE5Mzg0MVkxODg2NzJEMDEqDQorWDE5MzI2NFkxODgzMTlEMDEqDQorWDE5Mjc0OVkxODc4NzlEMDEqDQorWDE5MjMwOVkxODczNjREMDEqDQorWDE5MTk1NlkxODY3ODdEMDEqDQorWDE5MTY5N1kxODYxNjJEMDEqDQorWDE5MTUzOVkxODU1MDREMDEqDQorWDE5MTQ4NlkxODQ4MjlEMDEqDQorWDE5MTUzOVkxODQxNTREMDEqDQorWDE5MTY5N1kxODM0OTZEMDEqDQorWDE5MTk1NlkxODI4NzFEMDEqDQorWDE5MjMwOVkxODIyOTREMDEqDQorWDE5Mjc0OVkxODE3NzlEMDEqDQorWDE5MzI2NFkxODEzMzlEMDEqDQorWDE5Mzg0MVkxODA5ODZEMDEqDQorWDE5MzkzOFkxODA5NDZEMDEqDQorWTE3ODcxMkQwMSoNCitYMTkzODQxWTE3ODY3MkQwMSoNCitYMTkzMjY0WTE3ODMxOUQwMSoNCitYMTkyNzQ5WTE3Nzg3OUQwMSoNCitYMTkyMzA5WTE3NzM2NEQwMSoNCitYMTkxOTU2WTE3Njc4N0QwMSoNCitYMTkxNjk3WTE3NjE2MkQwMSoNCitYMTkxNTM5WTE3NTUwNEQwMSoNCitYMTkxNDg2WTE3NDgyOUQwMSoNCitYMTkxNTM5WTE3NDE1NEQwMSoNCitYMTkxNjk3WTE3MzQ5NkQwMSoNCitYMTkxOTU2WTE3Mjg3MUQwMSoNCitYMTkyMzA5WTE3MjI5NEQwMSoNCitYMTkyNzQ5WTE3MTc3OUQwMSoNCitYMTkzMjY0WTE3MTMzOUQwMSoNCitYMTkzODQxWTE3MDk4NkQwMSoNCitYMTkzOTM4WTE3MDk0NkQwMSoNCitZMTMzOTkzRDAxKg0KK1gxOTM4MzJZMTMzODIwRDAxKg0KK1gxOTM3MjRZMTMzNTU4RDAxKg0KK1gxOTM2NThZMTMzMjgyRDAxKg0KK1gxOTM2MzVZMTMzMDAwRDAxKg0KK1gxOTM2NThZMTMyNzE4RDAxKg0KK1gxOTM3MjRZMTMyNDQyRDAxKg0KK1gxOTM4MzJZMTMyMTgwRDAxKg0KK1gxOTM5MzhZMTMyMDA3RDAxKg0KK1kxMjkyMjBEMDEqDQorWDE5MzY3MlkxMjkyODNEMDEqDQorWDE5MzM5MFkxMjkzMDZEMDEqDQorWDE5MzEwOFkxMjkyODNEMDEqDQorWDE5MjgzMlkxMjkyMTdEMDEqDQorWDE5MjU3MFkxMjkxMDlEMDEqDQorWDE5MjMyOVkxMjg5NjFEMDEqDQorWDE5MjExM1kxMjg3NzdEMDEqDQorWDE5MTkyOVkxMjg1NjFEMDEqDQorWDE5MTc4MVkxMjgzMjBEMDEqDQorWDE5MTY3M1kxMjgwNThEMDEqDQorWDE5MTYwN1kxMjc3ODJEMDEqDQorWDE5MTU4NFkxMjc1MDBEMDEqDQorWDE5MTYwN1kxMjcyMThEMDEqDQorWDE5MTY3M1kxMjY5NDJEMDEqDQorWDE5MTc4MVkxMjY2ODBEMDEqDQorWDE5MTkyOVkxMjY0MzlEMDEqDQorWDE5MjExM1kxMjYyMjNEMDEqDQorWDE5MjMyOVkxMjYwMzlEMDEqDQorWDE5MjU3MFkxMjU4OTFEMDEqDQorWDE5MjgzMlkxMjU3ODNEMDEqDQorWDE5MzEwOFkxMjU3MTdEMDEqDQorWDE5MzM5MFkxMjU2OTREMDEqDQorWDE5MzY3MlkxMjU3MTdEMDEqDQorWDE5MzkzOFkxMjU3ODBEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MTM2MEQwMipYMTg1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDE4NTc5OVkxNzA1MTZEMDEqDQorWDE4NjQ3NFkxNzA1NjlEMDEqDQorWDE4NzEzMlkxNzA3MjdEMDEqDQorWDE4Nzc1N1kxNzA5ODZEMDEqDQorWDE4ODMzNFkxNzEzMzlEMDEqDQorWDE4ODg0OVkxNzE3NzlEMDEqDQorWDE4OTI4OVkxNzIyOTREMDEqDQorWDE4OTY0MlkxNzI4NzFEMDEqDQorWDE4OTkwMVkxNzM0OTZEMDEqDQorWDE5MDA1OVkxNzQxNTREMDEqDQorWDE5MDA5OVkxNzQ4MjlEMDEqDQorWDE5MDA1OVkxNzU1MDREMDEqDQorWDE4OTkwMVkxNzYxNjJEMDEqDQorWDE4OTY0MlkxNzY3ODdEMDEqDQorWDE4OTI4OVkxNzczNjREMDEqDQorWDE4ODg0OVkxNzc4NzlEMDEqDQorWDE4ODMzNFkxNzgzMTlEMDEqDQorWDE4Nzc1N1kxNzg2NzJEMDEqDQorWDE4NzEzMlkxNzg5MzFEMDEqDQorWDE4NjQ3NFkxNzkwODlEMDEqDQorWDE4NTc5OVkxNzkxNDJEMDEqDQorWDE4NTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMTg1Nzk5WTE4MDUxNkQwMSoNCitYMTg2NDc0WTE4MDU2OUQwMSoNCitYMTg3MTMyWTE4MDcyN0QwMSoNCitYMTg3NzU3WTE4MDk4NkQwMSoNCitYMTg4MzM0WTE4MTMzOUQwMSoNCitYMTg4ODQ5WTE4MTc3OUQwMSoNCitYMTg5Mjg5WTE4MjI5NEQwMSoNCitYMTg5NjQyWTE4Mjg3MUQwMSoNCitYMTg5OTAxWTE4MzQ5NkQwMSoNCitYMTkwMDU5WTE4NDE1NEQwMSoNCitYMTkwMDk5WTE4NDgyOUQwMSoNCitYMTkwMDU5WTE4NTUwNEQwMSoNCitYMTg5OTAxWTE4NjE2MkQwMSoNCitYMTg5NjQyWTE4Njc4N0QwMSoNCitYMTg5Mjg5WTE4NzM2NEQwMSoNCitYMTg4ODQ5WTE4Nzg3OUQwMSoNCitYMTg4MzM0WTE4ODMxOUQwMSoNCitYMTg3NzU3WTE4ODY3MkQwMSoNCitYMTg3MTMyWTE4ODkzMUQwMSoNCitYMTg2NDc0WTE4OTA4OUQwMSoNCitYMTg1Nzk5WTE4OTE0MkQwMSoNCitYMTg1NzkyWTE4OTE0MkQwMSoNCitZMjE1NzMzRDAxKg0KK1gxODU5OTlZMjE1NzgzRDAxKg0KK1gxODYyNjFZMjE1ODkxRDAxKg0KK1gxODY1MDJZMjE2MDM5RDAxKg0KK1gxODY3MThZMjE2MjIzRDAxKg0KK1gxODY5MDJZMjE2NDM5RDAxKg0KK1gxODcwNTBZMjE2NjgwRDAxKg0KK1gxODcxNThZMjE2OTQyRDAxKg0KK1gxODcyMjRZMjE3MjE4RDAxKg0KK1gxODcyNDFZMjE3NTAwRDAxKg0KK1gxODcyMjRZMjE3NzgyRDAxKg0KK1gxODcxNThZMjE4MDU4RDAxKg0KK1gxODcwNTBZMjE4MzIwRDAxKg0KK1gxODY5MDJZMjE4NTYxRDAxKg0KK1gxODY3MThZMjE4Nzc3RDAxKg0KK1gxODY1MDJZMjE4OTYxRDAxKg0KK1gxODYyNjFZMjE5MTA5RDAxKg0KK1gxODU5OTlZMjE5MjE3RDAxKg0KK1gxODU3OTJZMjE5MjY3RDAxKg0KK1kyMjYyMzNEMDEqDQorWDE4NTk5OVkyMjYyODNEMDEqDQorWDE4NjI2MVkyMjYzOTFEMDEqDQorWDE4NjUwMlkyMjY1MzlEMDEqDQorWDE4NjcxOFkyMjY3MjNEMDEqDQorWDE4NjkwMlkyMjY5MzlEMDEqDQorWDE4NzA1MFkyMjcxODBEMDEqDQorWDE4NzE1OFkyMjc0NDJEMDEqDQorWDE4NzIyNFkyMjc3MThEMDEqDQorWDE4NzI0MVkyMjgwMDBEMDEqDQorWDE4NzIyNFkyMjgyODJEMDEqDQorWDE4NzE1OFkyMjg1NThEMDEqDQorWDE4NzA1MFkyMjg4MjBEMDEqDQorWDE4NjkwMlkyMjkwNjFEMDEqDQorWDE4NjcxOFkyMjkyNzdEMDEqDQorWDE4NjUwMlkyMjk0NjFEMDEqDQorWDE4NjI2MVkyMjk2MDlEMDEqDQorWDE4NTk5OVkyMjk3MTdEMDEqDQorWDE4NTc5MlkyMjk3NjdEMDEqDQorWTM2MDUxNkQwMSoNCitYMTg1Nzk5WTM2MDUxNkQwMSoNCitYMTg2NDc0WTM2MDU2OUQwMSoNCitYMTg3MTMyWTM2MDcyN0QwMSoNCitYMTg3NzU3WTM2MDk4NkQwMSoNCitYMTg4MzM0WTM2MTMzOUQwMSoNCitYMTg4ODQ5WTM2MTc3OUQwMSoNCitYMTg5Mjg5WTM2MjI5NEQwMSoNCitYMTg5NjQyWTM2Mjg3MUQwMSoNCitYMTg5OTAxWTM2MzQ5NkQwMSoNCitYMTkwMDU5WTM2NDE1NEQwMSoNCitYMTkwMDk5WTM2NDgyOUQwMSoNCitYMTkwMDU5WTM2NTUwNEQwMSoNCitYMTg5OTAxWTM2NjE2MkQwMSoNCitYMTg5NjQyWTM2Njc4N0QwMSoNCitYMTg5Mjg5WTM2NzM2NEQwMSoNCitYMTg4ODQ5WTM2Nzg3OUQwMSoNCitYMTg4MzM0WTM2ODMxOUQwMSoNCitYMTg3NzU3WTM2ODY3MkQwMSoNCitYMTg3MTMyWTM2ODkzMUQwMSoNCitYMTg2NDc0WTM2OTA4OUQwMSoNCitYMTg1Nzk5WTM2OTE0MkQwMSoNCitYMTg1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gxODU3OTlZMzcwNTE2RDAxKg0KK1gxODY0NzRZMzcwNTY5RDAxKg0KK1gxODcxMzJZMzcwNzI3RDAxKg0KK1gxODc3NTdZMzcwOTg2RDAxKg0KK1gxODgzMzRZMzcxMzM5RDAxKg0KK1gxODg4NDlZMzcxNzc5RDAxKg0KK1gxODkyODlZMzcyMjk0RDAxKg0KK1gxODk2NDJZMzcyODcxRDAxKg0KK1gxODk5MDFZMzczNDk2RDAxKg0KK1gxOTAwNTlZMzc0MTU0RDAxKg0KK1gxOTAwOTlZMzc0ODI5RDAxKg0KK1gxOTAwNTlZMzc1NTA0RDAxKg0KK1gxODk5MDFZMzc2MTYyRDAxKg0KK1gxODk2NDJZMzc2Nzg3RDAxKg0KK1gxODkyODlZMzc3MzY0RDAxKg0KK1gxODg4NDlZMzc3ODc5RDAxKg0KK1gxODgzMzRZMzc4MzE5RDAxKg0KK1gxODc3NTdZMzc4NjcyRDAxKg0KK1gxODcxMzJZMzc4OTMxRDAxKg0KK1gxODY0NzRZMzc5MDg5RDAxKg0KK1gxODU3OTlZMzc5MTQyRDAxKg0KK1gxODU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDE5MTM2MEQwMSoNCitZMzQ2MjU0RDAxKg0KK1gxOTEwODFZMzQ2MjMyRDAxKg0KK1gxOTA4MDVZMzQ2MTY2RDAxKg0KK1gxOTA1NDNZMzQ2MDU4RDAxKg0KK1gxOTAzMDJZMzQ1OTEwRDAxKg0KK1gxOTAwODZZMzQ1NzI2RDAxKg0KK1gxODk5MDJZMzQ1NTEwRDAxKg0KK1gxODk3NTRZMzQ1MjY5RDAxKg0KK1gxODk2NDZZMzQ1MDA3RDAxKg0KK1gxODk1ODBZMzQ0NzMxRDAxKg0KK1gxODk1NTdZMzQ0NDQ5RDAxKg0KK1gxODk1ODBZMzQ0MTY3RDAxKg0KK1gxODk2NDZZMzQzODkxRDAxKg0KK1gxODk3NTRZMzQzNjI5RDAxKg0KK1gxODk5MDJZMzQzMzg4RDAxKg0KK1gxOTAwODZZMzQzMTcyRDAxKg0KK1gxOTAzMDJZMzQyOTg4RDAxKg0KK1gxOTA1NDNZMzQyODQwRDAxKg0KK1gxOTA4MDVZMzQyNzMyRDAxKg0KK1gxOTEwODFZMzQyNjY2RDAxKg0KK1gxOTEzNjBZMzQyNjQ0RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxODE5MzhZMTgyOTEzRDAyKlgxODE5NTZZMTgyODcxRDAxKg0KK1gxODIzMDlZMTgyMjk0RDAxKg0KK1gxODI3NDlZMTgxNzc5RDAxKg0KK1gxODMyNjRZMTgxMzM5RDAxKg0KK1gxODM4NDFZMTgwOTg2RDAxKg0KK1gxODQ0NjZZMTgwNzI3RDAxKg0KK1gxODUxMjRZMTgwNTY5RDAxKg0KK1gxODU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDE4NTEyNFkxNzkwODlEMDEqDQorWDE4NDQ2NlkxNzg5MzFEMDEqDQorWDE4Mzg0MVkxNzg2NzJEMDEqDQorWDE4MzI2NFkxNzgzMTlEMDEqDQorWDE4Mjc0OVkxNzc4NzlEMDEqDQorWDE4MjMwOVkxNzczNjREMDEqDQorWDE4MTk1NlkxNzY3ODdEMDEqDQorWDE4MTkzOFkxNzY3NDVEMDEqDQorWTE4MjkxM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjI5MTNEMDIqWDE4MTk1NlkzNjI4NzFEMDEqDQorWDE4MjMwOVkzNjIyOTREMDEqDQorWDE4Mjc0OVkzNjE3NzlEMDEqDQorWDE4MzI2NFkzNjEzMzlEMDEqDQorWDE4Mzg0MVkzNjA5ODZEMDEqDQorWDE4NDQ2NlkzNjA3MjdEMDEqDQorWDE4NTEyNFkzNjA1NjlEMDEqDQorWDE4NTc5MlkzNjA1MTZEMDEqDQorWTIyOTc2N0QwMSoNCitYMTg1NzIzWTIyOTc4M0QwMSoNCitYMTg1NDQxWTIyOTgwNkQwMSoNCitYMTg1MTU5WTIyOTc4M0QwMSoNCitYMTg0ODgzWTIyOTcxN0QwMSoNCitYMTg0NjIxWTIyOTYwOUQwMSoNCitYMTg0MzgwWTIyOTQ2MUQwMSoNCitYMTg0MTY0WTIyOTI3N0QwMSoNCitYMTgzOTgwWTIyOTA2MUQwMSoNCitYMTgzODMyWTIyODgyMEQwMSoNCitYMTgzNzI0WTIyODU1OEQwMSoNCitYMTgzNjU4WTIyODI4MkQwMSoNCitYMTgzNjM1WTIyODAwMEQwMSoNCitYMTgzNjU4WTIyNzcxOEQwMSoNCitYMTgzNzI0WTIyNzQ0MkQwMSoNCitYMTgzODMyWTIyNzE4MEQwMSoNCitYMTgzOTgwWTIyNjkzOUQwMSoNCitYMTg0MTY0WTIyNjcyM0QwMSoNCitYMTg0MzgwWTIyNjUzOUQwMSoNCitYMTg0NjIxWTIyNjM5MUQwMSoNCitYMTg0ODgzWTIyNjI4M0QwMSoNCitYMTg1MTU5WTIyNjIxN0QwMSoNCitYMTg1NDQxWTIyNjE5NEQwMSoNCitYMTg1NzIzWTIyNjIxN0QwMSoNCitYMTg1NzkyWTIyNjIzM0QwMSoNCitZMjE5MjY3RDAxKg0KK1gxODU3MjNZMjE5MjgzRDAxKg0KK1gxODU0NDFZMjE5MzA2RDAxKg0KK1gxODUxNTlZMjE5MjgzRDAxKg0KK1gxODQ4ODNZMjE5MjE3RDAxKg0KK1gxODQ2MjFZMjE5MTA5RDAxKg0KK1gxODQzODBZMjE4OTYxRDAxKg0KK1gxODQxNjRZMjE4Nzc3RDAxKg0KK1gxODM5ODBZMjE4NTYxRDAxKg0KK1gxODM4MzJZMjE4MzIwRDAxKg0KK1gxODM3MjRZMjE4MDU4RDAxKg0KK1gxODM2NThZMjE3NzgyRDAxKg0KK1gxODM2MzVZMjE3NTAwRDAxKg0KK1gxODM2NThZMjE3MjE4RDAxKg0KK1gxODM3MjRZMjE2OTQyRDAxKg0KK1gxODM4MzJZMjE2NjgwRDAxKg0KK1gxODM5ODBZMjE2NDM5RDAxKg0KK1gxODQxNjRZMjE2MjIzRDAxKg0KK1gxODQzODBZMjE2MDM5RDAxKg0KK1gxODQ2MjFZMjE1ODkxRDAxKg0KK1gxODQ4ODNZMjE1NzgzRDAxKg0KK1gxODUxNTlZMjE1NzE3RDAxKg0KK1gxODU0NDFZMjE1Njk0RDAxKg0KK1gxODU3MjNZMjE1NzE3RDAxKg0KK1gxODU3OTJZMjE1NzMzRDAxKg0KK1kxODkxNDJEMDEqDQorWDE4NTEyNFkxODkwODlEMDEqDQorWDE4NDQ2NlkxODg5MzFEMDEqDQorWDE4Mzg0MVkxODg2NzJEMDEqDQorWDE4MzI2NFkxODgzMTlEMDEqDQorWDE4Mjc0OVkxODc4NzlEMDEqDQorWDE4MjMwOVkxODczNjREMDEqDQorWDE4MTk1NlkxODY3ODdEMDEqDQorWDE4MTkzOFkxODY3NDVEMDEqDQorWTI1NjY5NUQwMSoNCitYMTgxOTQxWTI1NjY5NEQwMSoNCitYMTgyMjIzWTI1NjcxN0QwMSoNCitYMTgyNDk5WTI1Njc4M0QwMSoNCitYMTgyNzYxWTI1Njg5MUQwMSoNCitYMTgzMDAyWTI1NzAzOUQwMSoNCitYMTgzMjE4WTI1NzIyM0QwMSoNCitYMTgzNDAyWTI1NzQzOUQwMSoNCitYMTgzNTUwWTI1NzY4MEQwMSoNCitYMTgzNjU4WTI1Nzk0MkQwMSoNCitYMTgzNzI0WTI1ODIxOEQwMSoNCitYMTgzNzQxWTI1ODUwMEQwMSoNCitYMTgzNzI0WTI1ODc4MkQwMSoNCitYMTgzNjU4WTI1OTA1OEQwMSoNCitYMTgzNTUwWTI1OTMyMEQwMSoNCitYMTgzNDAyWTI1OTU2MUQwMSoNCitYMTgzMjE4WTI1OTc3N0QwMSoNCitYMTgzMDAyWTI1OTk2MUQwMSoNCitYMTgyNzYxWTI2MDEwOUQwMSoNCitYMTgyNDk5WTI2MDIxN0QwMSoNCitYMTgyMjIzWTI2MDI4M0QwMSoNCitYMTgxOTQxWTI2MDMwNkQwMSoNCitYMTgxOTM4WTI2MDMwNUQwMSoNCitZMzYyOTEzRDAxKg0KK0czNyoNCitHMzYqDQorWTM3MjkxM0QwMipYMTgxOTU2WTM3Mjg3MUQwMSoNCitYMTgyMzA5WTM3MjI5NEQwMSoNCitYMTgyNzQ5WTM3MTc3OUQwMSoNCitYMTgzMjY0WTM3MTMzOUQwMSoNCitYMTgzODQxWTM3MDk4NkQwMSoNCitYMTg0NDY2WTM3MDcyN0QwMSoNCitYMTg1MTI0WTM3MDU2OUQwMSoNCitYMTg1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gxODUxMjRZMzY5MDg5RDAxKg0KK1gxODQ0NjZZMzY4OTMxRDAxKg0KK1gxODM4NDFZMzY4NjcyRDAxKg0KK1gxODMyNjRZMzY4MzE5RDAxKg0KK1gxODI3NDlZMzY3ODc5RDAxKg0KK1gxODIzMDlZMzY3MzY0RDAxKg0KK1gxODE5NTZZMzY2Nzg3RDAxKg0KK1gxODE5MzhZMzY2NzQ1RDAxKg0KK1kzNzI5MTNEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgxODU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMTg1MTI0WTM3OTA4OUQwMSoNCitYMTg0NDY2WTM3ODkzMUQwMSoNCitYMTgzODQxWTM3ODY3MkQwMSoNCitYMTgzMjY0WTM3ODMxOUQwMSoNCitYMTgyNzQ5WTM3Nzg3OUQwMSoNCitYMTgyMzA5WTM3NzM2NEQwMSoNCitYMTgxOTU2WTM3Njc4N0QwMSoNCitYMTgxOTM4WTM3Njc0NUQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE4NTc5Mlk5NzAwMEQwMipYMTgzOTM4RDAxKg0KK1kxMDIxOTVEMDEqDQorWDE4Mzk0MVkxMDIxOTREMDEqDQorWDE4NDIyM1kxMDIyMTdEMDEqDQorWDE4NDQ5OVkxMDIyODNEMDEqDQorWDE4NDc2MVkxMDIzOTFEMDEqDQorWDE4NTAwMlkxMDI1MzlEMDEqDQorWDE4NTIxOFkxMDI3MjNEMDEqDQorWDE4NTQwMlkxMDI5MzlEMDEqDQorWDE4NTU1MFkxMDMxODBEMDEqDQorWDE4NTY1OFkxMDM0NDJEMDEqDQorWDE4NTcyNFkxMDM3MThEMDEqDQorWDE4NTc0MVkxMDQwMDBEMDEqDQorWDE4NTcyNFkxMDQyODJEMDEqDQorWDE4NTY1OFkxMDQ1NThEMDEqDQorWDE4NTU1MFkxMDQ4MjBEMDEqDQorWDE4NTQwMlkxMDUwNjFEMDEqDQorWDE4NTIxOFkxMDUyNzdEMDEqDQorWDE4NTAwMlkxMDU0NjFEMDEqDQorWDE4NDc2MVkxMDU2MDlEMDEqDQorWDE4NDQ5OVkxMDU3MTdEMDEqDQorWDE4NDIyM1kxMDU3ODNEMDEqDQorWDE4Mzk0MVkxMDU4MDZEMDEqDQorWDE4MzkzOFkxMDU4MDVEMDEqDQorWTE3MDk0NkQwMSoNCitYMTg0NDY2WTE3MDcyN0QwMSoNCitYMTg1MTI0WTE3MDU2OUQwMSoNCitYMTg1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTgzOTM4RDAyKlgxODE5MzhEMDEqDQorWTE3MjkxM0QwMSoNCitYMTgxOTU2WTE3Mjg3MUQwMSoNCitYMTgyMzA5WTE3MjI5NEQwMSoNCitYMTgyNzQ5WTE3MTc3OUQwMSoNCitYMTgzMjY0WTE3MTMzOUQwMSoNCitYMTgzODQxWTE3MDk4NkQwMSoNCitYMTgzOTM4WTE3MDk0NkQwMSoNCitZMTA1ODA1RDAxKg0KK1gxODM2NTlZMTA1NzgzRDAxKg0KK1gxODMzODNZMTA1NzE3RDAxKg0KK1gxODMxMjFZMTA1NjA5RDAxKg0KK1gxODI4ODBZMTA1NDYxRDAxKg0KK1gxODI2NjRZMTA1Mjc3RDAxKg0KK1gxODI0ODBZMTA1MDYxRDAxKg0KK1gxODIzMzJZMTA0ODIwRDAxKg0KK1gxODIyMjRZMTA0NTU4RDAxKg0KK1gxODIxNThZMTA0MjgyRDAxKg0KK1gxODIxMzVZMTA0MDAwRDAxKg0KK1gxODIxNThZMTAzNzE4RDAxKg0KK1gxODIyMjRZMTAzNDQyRDAxKg0KK1gxODIzMzJZMTAzMTgwRDAxKg0KK1gxODI0ODBZMTAyOTM5RDAxKg0KK1gxODI2NjRZMTAyNzIzRDAxKg0KK1gxODI4ODBZMTAyNTM5RDAxKg0KK1gxODMxMjFZMTAyMzkxRDAxKg0KK1gxODMzODNZMTAyMjgzRDAxKg0KK1gxODM2NTlZMTAyMjE3RDAxKg0KK1gxODM5MzhZMTAyMTk1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxODE5MzhEMDIqWDE3ODg4NEQwMSoNCitZMTcxODIwRDAxKg0KK1gxNzkyODlZMTcyMjk0RDAxKg0KK1gxNzk2NDJZMTcyODcxRDAxKg0KK1gxNzk5MDFZMTczNDk2RDAxKg0KK1gxODAwNTlZMTc0MTU0RDAxKg0KK1gxODAwOTlZMTc0ODI5RDAxKg0KK1gxODAwNTlZMTc1NTA0RDAxKg0KK1gxNzk5MDFZMTc2MTYyRDAxKg0KK1gxNzk2NDJZMTc2Nzg3RDAxKg0KK1gxNzkyODlZMTc3MzY0RDAxKg0KK1gxNzg4ODRZMTc3ODM4RDAxKg0KK1kxODE4MjBEMDEqDQorWDE3OTI4OVkxODIyOTREMDEqDQorWDE3OTY0MlkxODI4NzFEMDEqDQorWDE3OTkwMVkxODM0OTZEMDEqDQorWDE4MDA1OVkxODQxNTREMDEqDQorWDE4MDA5OVkxODQ4MjlEMDEqDQorWDE4MDA1OVkxODU1MDREMDEqDQorWDE3OTkwMVkxODYxNjJEMDEqDQorWDE3OTY0MlkxODY3ODdEMDEqDQorWDE3OTI4OVkxODczNjREMDEqDQorWDE3ODg4NFkxODc4MzhEMDEqDQorWTIxNjQxOEQwMSoNCitYMTc4OTAyWTIxNjQzOUQwMSoNCitYMTc5MDUwWTIxNjY4MEQwMSoNCitYMTc5MTU4WTIxNjk0MkQwMSoNCitYMTc5MjI0WTIxNzIxOEQwMSoNCitYMTc5MjQxWTIxNzUwMEQwMSoNCitYMTc5MjI0WTIxNzc4MkQwMSoNCitYMTc5MTU4WTIxODA1OEQwMSoNCitYMTc5MDUwWTIxODMyMEQwMSoNCitYMTc4OTAyWTIxODU2MUQwMSoNCitYMTc4ODg0WTIxODU4MkQwMSoNCitZMjI2OTE4RDAxKg0KK1gxNzg5MDJZMjI2OTM5RDAxKg0KK1gxNzkwNTBZMjI3MTgwRDAxKg0KK1gxNzkxNThZMjI3NDQyRDAxKg0KK1gxNzkyMjRZMjI3NzE4RDAxKg0KK1gxNzkyNDFZMjI4MDAwRDAxKg0KK1gxNzkyMjRZMjI4MjgyRDAxKg0KK1gxNzkxNThZMjI4NTU4RDAxKg0KK1gxNzkwNTBZMjI4ODIwRDAxKg0KK1gxNzg5MDJZMjI5MDYxRDAxKg0KK1gxNzg4ODRZMjI5MDgyRDAxKg0KK1kzNDEwMTNEMDEqDQorWDE3ODg4N1kzNDEwMTJEMDEqDQorWDE3OTE2OVkzNDEwMzVEMDEqDQorWDE3OTQ0NVkzNDExMDFEMDEqDQorWDE3OTcwN1kzNDEyMDlEMDEqDQorWDE3OTk0OFkzNDEzNTdEMDEqDQorWDE4MDE2NFkzNDE1NDFEMDEqDQorWDE4MDM0OFkzNDE3NTdEMDEqDQorWDE4MDQ5NlkzNDE5OThEMDEqDQorWDE4MDYwNFkzNDIyNjBEMDEqDQorWDE4MDY3MFkzNDI1MzZEMDEqDQorWDE4MDY4N1kzNDI4MThEMDEqDQorWDE4MDY3MFkzNDMxMDBEMDEqDQorWDE4MDYwNFkzNDMzNzZEMDEqDQorWDE4MDQ5NlkzNDM2MzhEMDEqDQorWDE4MDM0OFkzNDM4NzlEMDEqDQorWDE4MDE2NFkzNDQwOTVEMDEqDQorWDE3OTk0OFkzNDQyNzlEMDEqDQorWDE3OTcwN1kzNDQ0MjdEMDEqDQorWDE3OTQ0NVkzNDQ1MzVEMDEqDQorWDE3OTE2OVkzNDQ2MDFEMDEqDQorWDE3ODg4N1kzNDQ2MjREMDEqDQorWDE3ODg4NFkzNDQ2MjNEMDEqDQorWTM2MTgyMEQwMSoNCitYMTc5Mjg5WTM2MjI5NEQwMSoNCitYMTc5NjQyWTM2Mjg3MUQwMSoNCitYMTc5OTAxWTM2MzQ5NkQwMSoNCitYMTgwMDU5WTM2NDE1NEQwMSoNCitYMTgwMDk5WTM2NDgyOUQwMSoNCitYMTgwMDU5WTM2NTUwNEQwMSoNCitYMTc5OTAxWTM2NjE2MkQwMSoNCitYMTc5NjQyWTM2Njc4N0QwMSoNCitYMTc5Mjg5WTM2NzM2NEQwMSoNCitYMTc4ODg0WTM2NzgzOEQwMSoNCitZMzcxODIwRDAxKg0KK1gxNzkyODlZMzcyMjk0RDAxKg0KK1gxNzk2NDJZMzcyODcxRDAxKg0KK1gxNzk5MDFZMzczNDk2RDAxKg0KK1gxODAwNTlZMzc0MTU0RDAxKg0KK1gxODAwOTlZMzc0ODI5RDAxKg0KK1gxODAwNTlZMzc1NTA0RDAxKg0KK1gxNzk5MDFZMzc2MTYyRDAxKg0KK1gxNzk2NDJZMzc2Nzg3RDAxKg0KK1gxNzkyODlZMzc3MzY0RDAxKg0KK1gxNzg4ODRZMzc3ODM4RDAxKg0KK1kzOTcwMDBEMDEqDQorWDE4MTkzOEQwMSoNCitZMzc2NzQ1RDAxKg0KK1gxODE2OTdZMzc2MTYyRDAxKg0KK1gxODE1MzlZMzc1NTA0RDAxKg0KK1gxODE0ODZZMzc0ODI5RDAxKg0KK1gxODE1MzlZMzc0MTU0RDAxKg0KK1gxODE2OTdZMzczNDk2RDAxKg0KK1gxODE5MzhZMzcyOTEzRDAxKg0KK1kzNjY3NDVEMDEqDQorWDE4MTY5N1kzNjYxNjJEMDEqDQorWDE4MTUzOVkzNjU1MDREMDEqDQorWDE4MTQ4NlkzNjQ4MjlEMDEqDQorWDE4MTUzOVkzNjQxNTREMDEqDQorWDE4MTY5N1kzNjM0OTZEMDEqDQorWDE4MTkzOFkzNjI5MTNEMDEqDQorWTI2MDMwNUQwMSoNCitYMTgxNjU5WTI2MDI4M0QwMSoNCitYMTgxMzgzWTI2MDIxN0QwMSoNCitYMTgxMTIxWTI2MDEwOUQwMSoNCitYMTgwODgwWTI1OTk2MUQwMSoNCitYMTgwNjY0WTI1OTc3N0QwMSoNCitYMTgwNDgwWTI1OTU2MUQwMSoNCitYMTgwMzMyWTI1OTMyMEQwMSoNCitYMTgwMjI0WTI1OTA1OEQwMSoNCitYMTgwMTU4WTI1ODc4MkQwMSoNCitYMTgwMTM1WTI1ODUwMEQwMSoNCitYMTgwMTU4WTI1ODIxOEQwMSoNCitYMTgwMjI0WTI1Nzk0MkQwMSoNCitYMTgwMzMyWTI1NzY4MEQwMSoNCitYMTgwNDgwWTI1NzQzOUQwMSoNCitYMTgwNjY0WTI1NzIyM0QwMSoNCitYMTgwODgwWTI1NzAzOUQwMSoNCitYMTgxMTIxWTI1Njg5MUQwMSoNCitYMTgxMzgzWTI1Njc4M0QwMSoNCitYMTgxNjU5WTI1NjcxN0QwMSoNCitYMTgxOTM4WTI1NjY5NUQwMSoNCitZMTg2NzQ1RDAxKg0KK1gxODE2OTdZMTg2MTYyRDAxKg0KK1gxODE1MzlZMTg1NTA0RDAxKg0KK1gxODE0ODZZMTg0ODI5RDAxKg0KK1gxODE1MzlZMTg0MTU0RDAxKg0KK1gxODE2OTdZMTgzNDk2RDAxKg0KK1gxODE5MzhZMTgyOTEzRDAxKg0KK1kxNzY3NDVEMDEqDQorWDE4MTY5N1kxNzYxNjJEMDEqDQorWDE4MTUzOVkxNzU1MDREMDEqDQorWDE4MTQ4NlkxNzQ4MjlEMDEqDQorWDE4MTUzOVkxNzQxNTREMDEqDQorWDE4MTY5N1kxNzM0OTZEMDEqDQorWDE4MTkzOFkxNzI5MTNEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE3ODg4NFkzNzc4MzhEMDIqWDE3ODg0OVkzNzc4NzlEMDEqDQorWDE3ODMzNFkzNzgzMTlEMDEqDQorWDE3Nzc1N1kzNzg2NzJEMDEqDQorWDE3NzEzMlkzNzg5MzFEMDEqDQorWDE3NjQ3NFkzNzkwODlEMDEqDQorWDE3NTc5OVkzNzkxNDJEMDEqDQorWDE3NTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMTc4ODg0RDAxKg0KK1kzNzc4MzhEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3ODM4RDAyKlgxNzg4NDlZMzY3ODc5RDAxKg0KK1gxNzgzMzRZMzY4MzE5RDAxKg0KK1gxNzc3NTdZMzY4NjcyRDAxKg0KK1gxNzcxMzJZMzY4OTMxRDAxKg0KK1gxNzY0NzRZMzY5MDg5RDAxKg0KK1gxNzU3OTlZMzY5MTQyRDAxKg0KK1gxNzU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDE3NTc5OVkzNzA1MTZEMDEqDQorWDE3NjQ3NFkzNzA1NjlEMDEqDQorWDE3NzEzMlkzNzA3MjdEMDEqDQorWDE3Nzc1N1kzNzA5ODZEMDEqDQorWDE3ODMzNFkzNzEzMzlEMDEqDQorWDE3ODg0OVkzNzE3NzlEMDEqDQorWDE3ODg4NFkzNzE4MjBEMDEqDQorWTM2NzgzOEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjkwODJEMDIqWDE3ODcxOFkyMjkyNzdEMDEqDQorWDE3ODUwMlkyMjk0NjFEMDEqDQorWDE3ODI2MVkyMjk2MDlEMDEqDQorWDE3Nzk5OVkyMjk3MTdEMDEqDQorWDE3NzcyM1kyMjk3ODNEMDEqDQorWDE3NzQ0MVkyMjk4MDZEMDEqDQorWDE3NzE1OVkyMjk3ODNEMDEqDQorWDE3Njg4M1kyMjk3MTdEMDEqDQorWDE3NjYyMVkyMjk2MDlEMDEqDQorWDE3NjM4MFkyMjk0NjFEMDEqDQorWDE3NjE2NFkyMjkyNzdEMDEqDQorWDE3NTk4MFkyMjkwNjFEMDEqDQorWDE3NTgzMlkyMjg4MjBEMDEqDQorWDE3NTc5MlkyMjg3MjNEMDEqDQorWTM2MDUxNkQwMSoNCitYMTc1Nzk5WTM2MDUxNkQwMSoNCitYMTc2NDc0WTM2MDU2OUQwMSoNCitYMTc3MTMyWTM2MDcyN0QwMSoNCitYMTc3NzU3WTM2MDk4NkQwMSoNCitYMTc4MzM0WTM2MTMzOUQwMSoNCitYMTc4ODQ5WTM2MTc3OUQwMSoNCitYMTc4ODg0WTM2MTgyMEQwMSoNCitZMzQ0NjIzRDAxKg0KK1gxNzg2MDVZMzQ0NjAxRDAxKg0KK1gxNzgzMjlZMzQ0NTM1RDAxKg0KK1gxNzgwNjdZMzQ0NDI3RDAxKg0KK1gxNzc4MjZZMzQ0Mjc5RDAxKg0KK1gxNzc2MTBZMzQ0MDk1RDAxKg0KK1gxNzc0MjZZMzQzODc5RDAxKg0KK1gxNzcyNzhZMzQzNjM4RDAxKg0KK1gxNzcxNzBZMzQzMzc2RDAxKg0KK1gxNzcxMDRZMzQzMTAwRDAxKg0KK1gxNzcwODFZMzQyODE4RDAxKg0KK1gxNzcxMDRZMzQyNTM2RDAxKg0KK1gxNzcxNzBZMzQyMjYwRDAxKg0KK1gxNzcyNzhZMzQxOTk4RDAxKg0KK1gxNzc0MjZZMzQxNzU3RDAxKg0KK1gxNzc2MTBZMzQxNTQxRDAxKg0KK1gxNzc4MjZZMzQxMzU3RDAxKg0KK1gxNzgwNjdZMzQxMjA5RDAxKg0KK1gxNzgzMjlZMzQxMTAxRDAxKg0KK1gxNzg2MDVZMzQxMDM1RDAxKg0KK1gxNzg4ODRZMzQxMDEzRDAxKg0KK1kyMjkwODJEMDEqDQorRzM3Kg0KK0czNioNCitZMjE4NTgyRDAyKlgxNzg3MThZMjE4Nzc3RDAxKg0KK1gxNzg1MDJZMjE4OTYxRDAxKg0KK1gxNzgyNjFZMjE5MTA5RDAxKg0KK1gxNzc5OTlZMjE5MjE3RDAxKg0KK1gxNzc3MjNZMjE5MjgzRDAxKg0KK1gxNzc0NDFZMjE5MzA2RDAxKg0KK1gxNzcxNTlZMjE5MjgzRDAxKg0KK1gxNzY4ODNZMjE5MjE3RDAxKg0KK1gxNzY2MjFZMjE5MTA5RDAxKg0KK1gxNzYzODBZMjE4OTYxRDAxKg0KK1gxNzYxNjRZMjE4Nzc3RDAxKg0KK1gxNzU5ODBZMjE4NTYxRDAxKg0KK1gxNzU4MzJZMjE4MzIwRDAxKg0KK1gxNzU3OTJZMjE4MjIzRDAxKg0KK1kyMjcyNzdEMDEqDQorWDE3NTgzMlkyMjcxODBEMDEqDQorWDE3NTk4MFkyMjY5MzlEMDEqDQorWDE3NjE2NFkyMjY3MjNEMDEqDQorWDE3NjM4MFkyMjY1MzlEMDEqDQorWDE3NjYyMVkyMjYzOTFEMDEqDQorWDE3Njg4M1kyMjYyODNEMDEqDQorWDE3NzE1OVkyMjYyMTdEMDEqDQorWDE3NzQ0MVkyMjYxOTREMDEqDQorWDE3NzcyM1kyMjYyMTdEMDEqDQorWDE3Nzk5OVkyMjYyODNEMDEqDQorWDE3ODI2MVkyMjYzOTFEMDEqDQorWDE3ODUwMlkyMjY1MzlEMDEqDQorWDE3ODcxOFkyMjY3MjNEMDEqDQorWDE3ODg4NFkyMjY5MThEMDEqDQorWTIxODU4MkQwMSoNCitHMzcqDQorRzM2Kg0KK1kxODc4MzhEMDIqWDE3ODg0OVkxODc4NzlEMDEqDQorWDE3ODMzNFkxODgzMTlEMDEqDQorWDE3Nzc1N1kxODg2NzJEMDEqDQorWDE3NzEzMlkxODg5MzFEMDEqDQorWDE3NjQ3NFkxODkwODlEMDEqDQorWDE3NTc5OVkxODkxNDJEMDEqDQorWDE3NTc5MlkxODkxNDJEMDEqDQorWTIxNjc3N0QwMSoNCitYMTc1ODMyWTIxNjY4MEQwMSoNCitYMTc1OTgwWTIxNjQzOUQwMSoNCitYMTc2MTY0WTIxNjIyM0QwMSoNCitYMTc2MzgwWTIxNjAzOUQwMSoNCitYMTc2NjIxWTIxNTg5MUQwMSoNCitYMTc2ODgzWTIxNTc4M0QwMSoNCitYMTc3MTU5WTIxNTcxN0QwMSoNCitYMTc3NDQxWTIxNTY5NEQwMSoNCitYMTc3NzIzWTIxNTcxN0QwMSoNCitYMTc3OTk5WTIxNTc4M0QwMSoNCitYMTc4MjYxWTIxNTg5MUQwMSoNCitYMTc4NTAyWTIxNjAzOUQwMSoNCitYMTc4NzE4WTIxNjIyM0QwMSoNCitYMTc4ODg0WTIxNjQxOEQwMSoNCitZMTg3ODM4RDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzgzOEQwMipYMTc4ODQ5WTE3Nzg3OUQwMSoNCitYMTc4MzM0WTE3ODMxOUQwMSoNCitYMTc3NzU3WTE3ODY3MkQwMSoNCitYMTc3MTMyWTE3ODkzMUQwMSoNCitYMTc2NDc0WTE3OTA4OUQwMSoNCitYMTc1Nzk5WTE3OTE0MkQwMSoNCitYMTc1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gxNzU3OTlZMTgwNTE2RDAxKg0KK1gxNzY0NzRZMTgwNTY5RDAxKg0KK1gxNzcxMzJZMTgwNzI3RDAxKg0KK1gxNzc3NTdZMTgwOTg2RDAxKg0KK1gxNzgzMzRZMTgxMzM5RDAxKg0KK1gxNzg4NDlZMTgxNzc5RDAxKg0KK1gxNzg4ODRZMTgxODIwRDAxKg0KK1kxNzc4MzhEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDE3NTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gxNzU3OTlZMTcwNTE2RDAxKg0KK1gxNzY0NzRZMTcwNTY5RDAxKg0KK1gxNzcxMzJZMTcwNzI3RDAxKg0KK1gxNzc3NTdZMTcwOTg2RDAxKg0KK1gxNzgzMzRZMTcxMzM5RDAxKg0KK1gxNzg4NDlZMTcxNzc5RDAxKg0KK1gxNzg4ODRZMTcxODIwRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzU3OTJEMDIqWDE2ODcyOUQwMSoNCitZMTcxNjc3RDAxKg0KK1gxNjg4NDlZMTcxNzc5RDAxKg0KK1gxNjkyODlZMTcyMjk0RDAxKg0KK1gxNjk2NDJZMTcyODcxRDAxKg0KK1gxNjk5MDFZMTczNDk2RDAxKg0KK1gxNzAwNTlZMTc0MTU0RDAxKg0KK1gxNzAwOTlZMTc0ODI5RDAxKg0KK1gxNzAwNTlZMTc1NTA0RDAxKg0KK1gxNjk5MDFZMTc2MTYyRDAxKg0KK1gxNjk2NDJZMTc2Nzg3RDAxKg0KK1gxNjkyODlZMTc3MzY0RDAxKg0KK1gxNjg4NDlZMTc3ODc5RDAxKg0KK1gxNjg3MjlZMTc3OTgxRDAxKg0KK1kxODE2NzdEMDEqDQorWDE2ODg0OVkxODE3NzlEMDEqDQorWDE2OTI4OVkxODIyOTREMDEqDQorWDE2OTY0MlkxODI4NzFEMDEqDQorWDE2OTkwMVkxODM0OTZEMDEqDQorWDE3MDA1OVkxODQxNTREMDEqDQorWDE3MDA5OVkxODQ4MjlEMDEqDQorWDE3MDA1OVkxODU1MDREMDEqDQorWDE2OTkwMVkxODYxNjJEMDEqDQorWDE2OTY0MlkxODY3ODdEMDEqDQorWDE2OTI4OVkxODczNjREMDEqDQorWDE2ODg0OVkxODc4NzlEMDEqDQorWDE2ODcyOVkxODc5ODFEMDEqDQorWTE5MjgwMUQwMSoNCitYMTY4NzQxWTE5MzAwMEQwMSoNCitYMTY4NzI5WTE5MzE5OUQwMSoNCitZMTk3MzAxRDAxKg0KK1gxNjg3NDFZMTk3NTAwRDAxKg0KK1gxNjg3MjlZMTk3Njk5RDAxKg0KK1kxOTk4NDdEMDEqDQorWDE2ODg4M1kxOTk3ODNEMDEqDQorWDE2OTE1OVkxOTk3MTdEMDEqDQorWDE2OTQ0MVkxOTk2OTREMDEqDQorWDE2OTcyM1kxOTk3MTdEMDEqDQorWDE2OTk5OVkxOTk3ODNEMDEqDQorWDE3MDI2MVkxOTk4OTFEMDEqDQorWDE3MDUwMlkyMDAwMzlEMDEqDQorWDE3MDcxOFkyMDAyMjNEMDEqDQorWDE3MDkwMlkyMDA0MzlEMDEqDQorWDE3MTA1MFkyMDA2ODBEMDEqDQorWDE3MTE1OFkyMDA5NDJEMDEqDQorWDE3MTIyNFkyMDEyMThEMDEqDQorWDE3MTI0MVkyMDE1MDBEMDEqDQorWDE3MTIyNFkyMDE3ODJEMDEqDQorWDE3MTE1OFkyMDIwNThEMDEqDQorWDE3MTA1MFkyMDIzMjBEMDEqDQorWDE3MDkwMlkyMDI1NjFEMDEqDQorWDE3MDcxOFkyMDI3NzdEMDEqDQorWDE3MDUwMlkyMDI5NjFEMDEqDQorWDE3MDI2MVkyMDMxMDlEMDEqDQorWDE2OTk5OVkyMDMyMTdEMDEqDQorWDE2OTcyM1kyMDMyODNEMDEqDQorWDE2OTQ0MVkyMDMzMDZEMDEqDQorWDE2OTE1OVkyMDMyODNEMDEqDQorWDE2ODg4M1kyMDMyMTdEMDEqDQorWDE2ODcyOVkyMDMxNTNEMDEqDQorWTIwNjg0N0QwMSoNCitYMTY4ODgzWTIwNjc4M0QwMSoNCitYMTY5MTU5WTIwNjcxN0QwMSoNCitYMTY5NDQxWTIwNjY5NEQwMSoNCitYMTY5NzIzWTIwNjcxN0QwMSoNCitYMTY5OTk5WTIwNjc4M0QwMSoNCitYMTcwMjYxWTIwNjg5MUQwMSoNCitYMTcwNTAyWTIwNzAzOUQwMSoNCitYMTcwNzE4WTIwNzIyM0QwMSoNCitYMTcwOTAyWTIwNzQzOUQwMSoNCitYMTcxMDUwWTIwNzY4MEQwMSoNCitYMTcxMTU4WTIwNzk0MkQwMSoNCitYMTcxMjI0WTIwODIxOEQwMSoNCitYMTcxMjQxWTIwODUwMEQwMSoNCitYMTcxMjI0WTIwODc4MkQwMSoNCitYMTcxMTU4WTIwOTA1OEQwMSoNCitYMTcxMDUwWTIwOTMyMEQwMSoNCitYMTcwOTAyWTIwOTU2MUQwMSoNCitYMTcwNzE4WTIwOTc3N0QwMSoNCitYMTcwNTAyWTIwOTk2MUQwMSoNCitYMTcwMjYxWTIxMDEwOUQwMSoNCitYMTY5OTk5WTIxMDIxN0QwMSoNCitYMTY5NzIzWTIxMDI4M0QwMSoNCitYMTY5NDQxWTIxMDMwNkQwMSoNCitYMTY5MTU5WTIxMDI4M0QwMSoNCitYMTY4ODgzWTIxMDIxN0QwMSoNCitYMTY4NzI5WTIxMDE1M0QwMSoNCitZMjEyMzQ3RDAxKg0KK1gxNjg4ODNZMjEyMjgzRDAxKg0KK1gxNjkxNTlZMjEyMjE3RDAxKg0KK1gxNjk0NDFZMjEyMTk0RDAxKg0KK1gxNjk3MjNZMjEyMjE3RDAxKg0KK1gxNjk5OTlZMjEyMjgzRDAxKg0KK1gxNzAyNjFZMjEyMzkxRDAxKg0KK1gxNzA1MDJZMjEyNTM5RDAxKg0KK1gxNzA3MThZMjEyNzIzRDAxKg0KK1gxNzA5MDJZMjEyOTM5RDAxKg0KK1gxNzEwNTBZMjEzMTgwRDAxKg0KK1gxNzExNThZMjEzNDQyRDAxKg0KK1gxNzEyMjRZMjEzNzE4RDAxKg0KK1gxNzEyNDFZMjE0MDAwRDAxKg0KK1gxNzEyMjRZMjE0MjgyRDAxKg0KK1gxNzExNThZMjE0NTU4RDAxKg0KK1gxNzEwNTBZMjE0ODIwRDAxKg0KK1gxNzA5MDJZMjE1MDYxRDAxKg0KK1gxNzA3MThZMjE1Mjc3RDAxKg0KK1gxNzA1MDJZMjE1NDYxRDAxKg0KK1gxNzAyNjFZMjE1NjA5RDAxKg0KK1gxNjk5OTlZMjE1NzE3RDAxKg0KK1gxNjk3MjNZMjE1NzgzRDAxKg0KK1gxNjk0NDFZMjE1ODA2RDAxKg0KK1gxNjkxNTlZMjE1NzgzRDAxKg0KK1gxNjg4ODNZMjE1NzE3RDAxKg0KK1gxNjg3MjlZMjE1NjUzRDAxKg0KK1kzNDkwMjhEMDEqDQorWDE2ODczMlkzNDkwMjdEMDEqDQorWDE2OTAxNFkzNDkwNTBEMDEqDQorWDE2OTI5MFkzNDkxMTZEMDEqDQorWDE2OTU1MlkzNDkyMjREMDEqDQorWDE2OTc5M1kzNDkzNzJEMDEqDQorWDE3MDAwOVkzNDk1NTZEMDEqDQorWDE3MDE5M1kzNDk3NzJEMDEqDQorWDE3MDM0MVkzNTAwMTNEMDEqDQorWDE3MDQ0OVkzNTAyNzVEMDEqDQorWDE3MDUxNVkzNTA1NTFEMDEqDQorWDE3MDUzMlkzNTA4MzNEMDEqDQorWDE3MDUxNVkzNTExMTVEMDEqDQorWDE3MDQ0OVkzNTEzOTFEMDEqDQorWDE3MDM0MVkzNTE2NTNEMDEqDQorWDE3MDE5M1kzNTE4OTREMDEqDQorWDE3MDAwOVkzNTIxMTBEMDEqDQorWDE2OTc5M1kzNTIyOTREMDEqDQorWDE2OTU1MlkzNTI0NDJEMDEqDQorWDE2OTI5MFkzNTI1NTBEMDEqDQorWDE2OTAxNFkzNTI2MTZEMDEqDQorWDE2ODczMlkzNTI2MzlEMDEqDQorWDE2ODcyOVkzNTI2MzhEMDEqDQorWTM2MTY3N0QwMSoNCitYMTY4ODQ5WTM2MTc3OUQwMSoNCitYMTY5Mjg5WTM2MjI5NEQwMSoNCitYMTY5NjQyWTM2Mjg3MUQwMSoNCitYMTY5OTAxWTM2MzQ5NkQwMSoNCitYMTcwMDU5WTM2NDE1NEQwMSoNCitYMTcwMDk5WTM2NDgyOUQwMSoNCitYMTcwMDU5WTM2NTUwNEQwMSoNCitYMTY5OTAxWTM2NjE2MkQwMSoNCitYMTY5NjQyWTM2Njc4N0QwMSoNCitYMTY5Mjg5WTM2NzM2NEQwMSoNCitYMTY4ODQ5WTM2Nzg3OUQwMSoNCitYMTY4NzI5WTM2Nzk4MUQwMSoNCitZMzcxNjc3RDAxKg0KK1gxNjg4NDlZMzcxNzc5RDAxKg0KK1gxNjkyODlZMzcyMjk0RDAxKg0KK1gxNjk2NDJZMzcyODcxRDAxKg0KK1gxNjk5MDFZMzczNDk2RDAxKg0KK1gxNzAwNTlZMzc0MTU0RDAxKg0KK1gxNzAwOTlZMzc0ODI5RDAxKg0KK1gxNzAwNTlZMzc1NTA0RDAxKg0KK1gxNjk5MDFZMzc2MTYyRDAxKg0KK1gxNjk2NDJZMzc2Nzg3RDAxKg0KK1gxNjkyODlZMzc3MzY0RDAxKg0KK1gxNjg4NDlZMzc3ODc5RDAxKg0KK1gxNjg3MjlZMzc3OTgxRDAxKg0KK1kzOTcwMDBEMDEqDQorWDE3NTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gxNzUxMjRZMzc5MDg5RDAxKg0KK1gxNzQ0NjZZMzc4OTMxRDAxKg0KK1gxNzM4NDFZMzc4NjcyRDAxKg0KK1gxNzMyNjRZMzc4MzE5RDAxKg0KK1gxNzI3NDlZMzc3ODc5RDAxKg0KK1gxNzIzMDlZMzc3MzY0RDAxKg0KK1gxNzE5NTZZMzc2Nzg3RDAxKg0KK1gxNzE2OTdZMzc2MTYyRDAxKg0KK1gxNzE1MzlZMzc1NTA0RDAxKg0KK1gxNzE0ODZZMzc0ODI5RDAxKg0KK1gxNzE1MzlZMzc0MTU0RDAxKg0KK1gxNzE2OTdZMzczNDk2RDAxKg0KK1gxNzE5NTZZMzcyODcxRDAxKg0KK1gxNzIzMDlZMzcyMjk0RDAxKg0KK1gxNzI3NDlZMzcxNzc5RDAxKg0KK1gxNzMyNjRZMzcxMzM5RDAxKg0KK1gxNzM4NDFZMzcwOTg2RDAxKg0KK1gxNzQ0NjZZMzcwNzI3RDAxKg0KK1gxNzUxMjRZMzcwNTY5RDAxKg0KK1gxNzU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDE3NTEyNFkzNjkwODlEMDEqDQorWDE3NDQ2NlkzNjg5MzFEMDEqDQorWDE3Mzg0MVkzNjg2NzJEMDEqDQorWDE3MzI2NFkzNjgzMTlEMDEqDQorWDE3Mjc0OVkzNjc4NzlEMDEqDQorWDE3MjMwOVkzNjczNjREMDEqDQorWDE3MTk1NlkzNjY3ODdEMDEqDQorWDE3MTY5N1kzNjYxNjJEMDEqDQorWDE3MTUzOVkzNjU1MDREMDEqDQorWDE3MTQ4NlkzNjQ4MjlEMDEqDQorWDE3MTUzOVkzNjQxNTREMDEqDQorWDE3MTY5N1kzNjM0OTZEMDEqDQorWDE3MTk1NlkzNjI4NzFEMDEqDQorWDE3MjMwOVkzNjIyOTREMDEqDQorWDE3Mjc0OVkzNjE3NzlEMDEqDQorWDE3MzI2NFkzNjEzMzlEMDEqDQorWDE3Mzg0MVkzNjA5ODZEMDEqDQorWDE3NDQ2NlkzNjA3MjdEMDEqDQorWDE3NTEyNFkzNjA1NjlEMDEqDQorWDE3NTc5MlkzNjA1MTZEMDEqDQorWTIyODcyM0QwMSoNCitYMTc1NzI0WTIyODU1OEQwMSoNCitYMTc1NjU4WTIyODI4MkQwMSoNCitYMTc1NjM1WTIyODAwMEQwMSoNCitYMTc1NjU4WTIyNzcxOEQwMSoNCitYMTc1NzI0WTIyNzQ0MkQwMSoNCitYMTc1NzkyWTIyNzI3N0QwMSoNCitZMjE4MjIzRDAxKg0KK1gxNzU3MjRZMjE4MDU4RDAxKg0KK1gxNzU2NThZMjE3NzgyRDAxKg0KK1gxNzU2MzVZMjE3NTAwRDAxKg0KK1gxNzU2NThZMjE3MjE4RDAxKg0KK1gxNzU3MjRZMjE2OTQyRDAxKg0KK1gxNzU3OTJZMjE2Nzc3RDAxKg0KK1kxODkxNDJEMDEqDQorWDE3NTEyNFkxODkwODlEMDEqDQorWDE3NDQ2NlkxODg5MzFEMDEqDQorWDE3Mzg0MVkxODg2NzJEMDEqDQorWDE3MzI2NFkxODgzMTlEMDEqDQorWDE3Mjc0OVkxODc4NzlEMDEqDQorWDE3MjMwOVkxODczNjREMDEqDQorWDE3MTk1NlkxODY3ODdEMDEqDQorWDE3MTY5N1kxODYxNjJEMDEqDQorWDE3MTUzOVkxODU1MDREMDEqDQorWDE3MTQ4NlkxODQ4MjlEMDEqDQorWDE3MTUzOVkxODQxNTREMDEqDQorWDE3MTY5N1kxODM0OTZEMDEqDQorWDE3MTk1NlkxODI4NzFEMDEqDQorWDE3MjMwOVkxODIyOTREMDEqDQorWDE3Mjc0OVkxODE3NzlEMDEqDQorWDE3MzI2NFkxODEzMzlEMDEqDQorWDE3Mzg0MVkxODA5ODZEMDEqDQorWDE3NDQ2NlkxODA3MjdEMDEqDQorWDE3NTEyNFkxODA1NjlEMDEqDQorWDE3NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMTc1MTI0WTE3OTA4OUQwMSoNCitYMTc0NDY2WTE3ODkzMUQwMSoNCitYMTczODQxWTE3ODY3MkQwMSoNCitYMTczMjY0WTE3ODMxOUQwMSoNCitYMTcyNzQ5WTE3Nzg3OUQwMSoNCitYMTcyMzA5WTE3NzM2NEQwMSoNCitYMTcxOTU2WTE3Njc4N0QwMSoNCitYMTcxNjk3WTE3NjE2MkQwMSoNCitYMTcxNTM5WTE3NTUwNEQwMSoNCitYMTcxNDg2WTE3NDgyOUQwMSoNCitYMTcxNTM5WTE3NDE1NEQwMSoNCitYMTcxNjk3WTE3MzQ5NkQwMSoNCitYMTcxOTU2WTE3Mjg3MUQwMSoNCitYMTcyMzA5WTE3MjI5NEQwMSoNCitYMTcyNzQ5WTE3MTc3OUQwMSoNCitYMTczMjY0WTE3MTMzOUQwMSoNCitYMTczODQxWTE3MDk4NkQwMSoNCitYMTc0NDY2WTE3MDcyN0QwMSoNCitYMTc1MTI0WTE3MDU2OUQwMSoNCitYMTc1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTY4NzI5WTM3Nzk4MUQwMipYMTY4MzM0WTM3ODMxOUQwMSoNCitYMTY3NzU3WTM3ODY3MkQwMSoNCitYMTY3MTMyWTM3ODkzMUQwMSoNCitYMTY2NDc0WTM3OTA4OUQwMSoNCitYMTY1Nzk5WTM3OTE0MkQwMSoNCitYMTY1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gxNjg3MjlEMDEqDQorWTM3Nzk4MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjc5ODFEMDIqWDE2ODMzNFkzNjgzMTlEMDEqDQorWDE2Nzc1N1kzNjg2NzJEMDEqDQorWDE2NzEzMlkzNjg5MzFEMDEqDQorWDE2NjQ3NFkzNjkwODlEMDEqDQorWDE2NTc5OVkzNjkxNDJEMDEqDQorWDE2NTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMTY1Nzk5WTM3MDUxNkQwMSoNCitYMTY2NDc0WTM3MDU2OUQwMSoNCitYMTY3MTMyWTM3MDcyN0QwMSoNCitYMTY3NzU3WTM3MDk4NkQwMSoNCitYMTY4MzM0WTM3MTMzOUQwMSoNCitYMTY4NzI5WTM3MTY3N0QwMSoNCitZMzY3OTgxRDAxKg0KK0czNyoNCitHMzYqDQorWTE5NzY5OUQwMipYMTY4NzI0WTE5Nzc4MkQwMSoNCitYMTY4NjU4WTE5ODA1OEQwMSoNCitYMTY4NTUwWTE5ODMyMEQwMSoNCitYMTY4NDAyWTE5ODU2MUQwMSoNCitYMTY4MjE4WTE5ODc3N0QwMSoNCitYMTY4MDAyWTE5ODk2MUQwMSoNCitYMTY3NzYxWTE5OTEwOUQwMSoNCitYMTY3NDk5WTE5OTIxN0QwMSoNCitYMTY3MjIzWTE5OTI4M0QwMSoNCitYMTY2OTQxWTE5OTMwNkQwMSoNCitYMTY2NjU5WTE5OTI4M0QwMSoNCitYMTY2MzgzWTE5OTIxN0QwMSoNCitYMTY2MTIxWTE5OTEwOUQwMSoNCitYMTY1ODgwWTE5ODk2MUQwMSoNCitYMTY1NzkyWTE5ODg4NkQwMSoNCitZMjE4NzA2RDAxKg0KK1gxNjU5NDFZMjE4Njk0RDAxKg0KK1gxNjYyMjNZMjE4NzE3RDAxKg0KK1gxNjY0OTlZMjE4NzgzRDAxKg0KK1gxNjY3NjFZMjE4ODkxRDAxKg0KK1gxNjcwMDJZMjE5MDM5RDAxKg0KK1gxNjcyMThZMjE5MjIzRDAxKg0KK1gxNjc0MDJZMjE5NDM5RDAxKg0KK1gxNjc1NTBZMjE5NjgwRDAxKg0KK1gxNjc2NThZMjE5OTQyRDAxKg0KK1gxNjc3MjRZMjIwMjE4RDAxKg0KK1gxNjc3NDFZMjIwNTAwRDAxKg0KK1gxNjc3MjRZMjIwNzgyRDAxKg0KK1gxNjc2NThZMjIxMDU4RDAxKg0KK1gxNjc1NTBZMjIxMzIwRDAxKg0KK1gxNjc0MDJZMjIxNTYxRDAxKg0KK1gxNjcyMThZMjIxNzc3RDAxKg0KK1gxNjcwMDJZMjIxOTYxRDAxKg0KK1gxNjY3NjFZMjIyMTA5RDAxKg0KK1gxNjY0OTlZMjIyMjE3RDAxKg0KK1gxNjYyMjNZMjIyMjgzRDAxKg0KK1gxNjU5NDFZMjIyMzA2RDAxKg0KK1gxNjU3OTJZMjIyMjk0RDAxKg0KK1kyMjQ3MDZEMDEqDQorWDE2NTk0MVkyMjQ2OTREMDEqDQorWDE2NjIyM1kyMjQ3MTdEMDEqDQorWDE2NjQ5OVkyMjQ3ODNEMDEqDQorWDE2Njc2MVkyMjQ4OTFEMDEqDQorWDE2NzAwMlkyMjUwMzlEMDEqDQorWDE2NzIxOFkyMjUyMjNEMDEqDQorWDE2NzQwMlkyMjU0MzlEMDEqDQorWDE2NzU1MFkyMjU2ODBEMDEqDQorWDE2NzY1OFkyMjU5NDJEMDEqDQorWDE2NzcyNFkyMjYyMThEMDEqDQorWDE2Nzc0MVkyMjY1MDBEMDEqDQorWDE2NzcyNFkyMjY3ODJEMDEqDQorWDE2NzY1OFkyMjcwNThEMDEqDQorWDE2NzU1MFkyMjczMjBEMDEqDQorWDE2NzQwMlkyMjc1NjFEMDEqDQorWDE2NzIxOFkyMjc3NzdEMDEqDQorWDE2NzAwMlkyMjc5NjFEMDEqDQorWDE2Njc2MVkyMjgxMDlEMDEqDQorWDE2NjQ5OVkyMjgyMTdEMDEqDQorWDE2NjIyM1kyMjgyODNEMDEqDQorWDE2NTk0MVkyMjgzMDZEMDEqDQorWDE2NTc5MlkyMjgyOTREMDEqDQorWTIyOTIwNkQwMSoNCitYMTY1OTQxWTIyOTE5NEQwMSoNCitYMTY2MjIzWTIyOTIxN0QwMSoNCitYMTY2NDk5WTIyOTI4M0QwMSoNCitYMTY2NzYxWTIyOTM5MUQwMSoNCitYMTY3MDAyWTIyOTUzOUQwMSoNCitYMTY3MjE4WTIyOTcyM0QwMSoNCitYMTY3NDAyWTIyOTkzOUQwMSoNCitYMTY3NTUwWTIzMDE4MEQwMSoNCitYMTY3NjU4WTIzMDQ0MkQwMSoNCitYMTY3NzI0WTIzMDcxOEQwMSoNCitYMTY3NzQxWTIzMTAwMEQwMSoNCitYMTY3NzI0WTIzMTI4MkQwMSoNCitYMTY3NjU4WTIzMTU1OEQwMSoNCitYMTY3NTUwWTIzMTgyMEQwMSoNCitYMTY3NDAyWTIzMjA2MUQwMSoNCitYMTY3MjE4WTIzMjI3N0QwMSoNCitYMTY3MDAyWTIzMjQ2MUQwMSoNCitYMTY2NzYxWTIzMjYwOUQwMSoNCitYMTY2NDk5WTIzMjcxN0QwMSoNCitYMTY2MjIzWTIzMjc4M0QwMSoNCitYMTY1OTQxWTIzMjgwNkQwMSoNCitYMTY1NzkyWTIzMjc5NEQwMSoNCitZMzYwNTE2RDAxKg0KK1gxNjU3OTlZMzYwNTE2RDAxKg0KK1gxNjY0NzRZMzYwNTY5RDAxKg0KK1gxNjcxMzJZMzYwNzI3RDAxKg0KK1gxNjc3NTdZMzYwOTg2RDAxKg0KK1gxNjgzMzRZMzYxMzM5RDAxKg0KK1gxNjg3MjlZMzYxNjc3RDAxKg0KK1kzNTI2MzhEMDEqDQorWDE2ODQ1MFkzNTI2MTZEMDEqDQorWDE2ODE3NFkzNTI1NTBEMDEqDQorWDE2NzkxMlkzNTI0NDJEMDEqDQorWDE2NzY3MVkzNTIyOTREMDEqDQorWDE2NzQ1NVkzNTIxMTBEMDEqDQorWDE2NzI3MVkzNTE4OTREMDEqDQorWDE2NzEyM1kzNTE2NTNEMDEqDQorWDE2NzAxNVkzNTEzOTFEMDEqDQorWDE2Njk0OVkzNTExMTVEMDEqDQorWDE2NjkyNlkzNTA4MzNEMDEqDQorWDE2Njk0OVkzNTA1NTFEMDEqDQorWDE2NzAxNVkzNTAyNzVEMDEqDQorWDE2NzEyM1kzNTAwMTNEMDEqDQorWDE2NzI3MVkzNDk3NzJEMDEqDQorWDE2NzQ1NVkzNDk1NTZEMDEqDQorWDE2NzY3MVkzNDkzNzJEMDEqDQorWDE2NzkxMlkzNDkyMjREMDEqDQorWDE2ODE3NFkzNDkxMTZEMDEqDQorWDE2ODQ1MFkzNDkwNTBEMDEqDQorWDE2ODcyOVkzNDkwMjhEMDEqDQorWTIxNTY1M0QwMSoNCitYMTY4NjIxWTIxNTYwOUQwMSoNCitYMTY4MzgwWTIxNTQ2MUQwMSoNCitYMTY4MTY0WTIxNTI3N0QwMSoNCitYMTY3OTgwWTIxNTA2MUQwMSoNCitYMTY3ODMyWTIxNDgyMEQwMSoNCitYMTY3NzI0WTIxNDU1OEQwMSoNCitYMTY3NjU4WTIxNDI4MkQwMSoNCitYMTY3NjM1WTIxNDAwMEQwMSoNCitYMTY3NjU4WTIxMzcxOEQwMSoNCitYMTY3NzI0WTIxMzQ0MkQwMSoNCitYMTY3ODMyWTIxMzE4MEQwMSoNCitYMTY3OTgwWTIxMjkzOUQwMSoNCitYMTY4MTY0WTIxMjcyM0QwMSoNCitYMTY4MzgwWTIxMjUzOUQwMSoNCitYMTY4NjIxWTIxMjM5MUQwMSoNCitYMTY4NzI5WTIxMjM0N0QwMSoNCitZMjEwMTUzRDAxKg0KK1gxNjg2MjFZMjEwMTA5RDAxKg0KK1gxNjgzODBZMjA5OTYxRDAxKg0KK1gxNjgxNjRZMjA5Nzc3RDAxKg0KK1gxNjc5ODBZMjA5NTYxRDAxKg0KK1gxNjc4MzJZMjA5MzIwRDAxKg0KK1gxNjc3MjRZMjA5MDU4RDAxKg0KK1gxNjc2NThZMjA4NzgyRDAxKg0KK1gxNjc2MzVZMjA4NTAwRDAxKg0KK1gxNjc2NThZMjA4MjE4RDAxKg0KK1gxNjc3MjRZMjA3OTQyRDAxKg0KK1gxNjc4MzJZMjA3NjgwRDAxKg0KK1gxNjc5ODBZMjA3NDM5RDAxKg0KK1gxNjgxNjRZMjA3MjIzRDAxKg0KK1gxNjgzODBZMjA3MDM5RDAxKg0KK1gxNjg2MjFZMjA2ODkxRDAxKg0KK1gxNjg3MjlZMjA2ODQ3RDAxKg0KK1kyMDMxNTNEMDEqDQorWDE2ODYyMVkyMDMxMDlEMDEqDQorWDE2ODM4MFkyMDI5NjFEMDEqDQorWDE2ODE2NFkyMDI3NzdEMDEqDQorWDE2Nzk4MFkyMDI1NjFEMDEqDQorWDE2NzgzMlkyMDIzMjBEMDEqDQorWDE2NzcyNFkyMDIwNThEMDEqDQorWDE2NzY1OFkyMDE3ODJEMDEqDQorWDE2NzYzNVkyMDE1MDBEMDEqDQorWDE2NzY1OFkyMDEyMThEMDEqDQorWDE2NzcyNFkyMDA5NDJEMDEqDQorWDE2NzgzMlkyMDA2ODBEMDEqDQorWDE2Nzk4MFkyMDA0MzlEMDEqDQorWDE2ODE2NFkyMDAyMjNEMDEqDQorWDE2ODM4MFkyMDAwMzlEMDEqDQorWDE2ODYyMVkxOTk4OTFEMDEqDQorWDE2ODcyOVkxOTk4NDdEMDEqDQorWTE5NzY5OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxOTMxOTlEMDIqWDE2ODcyNFkxOTMyODJEMDEqDQorWDE2ODY1OFkxOTM1NThEMDEqDQorWDE2ODU1MFkxOTM4MjBEMDEqDQorWDE2ODQwMlkxOTQwNjFEMDEqDQorWDE2ODIxOFkxOTQyNzdEMDEqDQorWDE2ODAwMlkxOTQ0NjFEMDEqDQorWDE2Nzc2MVkxOTQ2MDlEMDEqDQorWDE2NzQ5OVkxOTQ3MTdEMDEqDQorWDE2NzIyM1kxOTQ3ODNEMDEqDQorWDE2Njk0MVkxOTQ4MDZEMDEqDQorWDE2NjY1OVkxOTQ3ODNEMDEqDQorWDE2NjM4M1kxOTQ3MTdEMDEqDQorWDE2NjEyMVkxOTQ2MDlEMDEqDQorWDE2NTg4MFkxOTQ0NjFEMDEqDQorWDE2NTc5MlkxOTQzODZEMDEqDQorWTE5NjExNEQwMSoNCitYMTY1ODgwWTE5NjAzOUQwMSoNCitYMTY2MTIxWTE5NTg5MUQwMSoNCitYMTY2MzgzWTE5NTc4M0QwMSoNCitYMTY2NjU5WTE5NTcxN0QwMSoNCitYMTY2OTQxWTE5NTY5NEQwMSoNCitYMTY3MjIzWTE5NTcxN0QwMSoNCitYMTY3NDk5WTE5NTc4M0QwMSoNCitYMTY3NzYxWTE5NTg5MUQwMSoNCitYMTY4MDAyWTE5NjAzOUQwMSoNCitYMTY4MjE4WTE5NjIyM0QwMSoNCitYMTY4NDAyWTE5NjQzOUQwMSoNCitYMTY4NTUwWTE5NjY4MEQwMSoNCitYMTY4NjU4WTE5Njk0MkQwMSoNCitYMTY4NzI0WTE5NzIxOEQwMSoNCitYMTY4NzI5WTE5NzMwMUQwMSoNCitZMTkzMTk5RDAxKg0KK0czNyoNCitHMzYqDQorWTE4Nzk4MUQwMipYMTY4MzM0WTE4ODMxOUQwMSoNCitYMTY3NzU3WTE4ODY3MkQwMSoNCitYMTY3MTMyWTE4ODkzMUQwMSoNCitYMTY2NDc0WTE4OTA4OUQwMSoNCitYMTY1Nzk5WTE4OTE0MkQwMSoNCitYMTY1NzkyWTE4OTE0MkQwMSoNCitZMTkxNjE0RDAxKg0KK1gxNjU4ODBZMTkxNTM5RDAxKg0KK1gxNjYxMjFZMTkxMzkxRDAxKg0KK1gxNjYzODNZMTkxMjgzRDAxKg0KK1gxNjY2NTlZMTkxMjE3RDAxKg0KK1gxNjY5NDFZMTkxMTk0RDAxKg0KK1gxNjcyMjNZMTkxMjE3RDAxKg0KK1gxNjc0OTlZMTkxMjgzRDAxKg0KK1gxNjc3NjFZMTkxMzkxRDAxKg0KK1gxNjgwMDJZMTkxNTM5RDAxKg0KK1gxNjgyMThZMTkxNzIzRDAxKg0KK1gxNjg0MDJZMTkxOTM5RDAxKg0KK1gxNjg1NTBZMTkyMTgwRDAxKg0KK1gxNjg2NThZMTkyNDQyRDAxKg0KK1gxNjg3MjRZMTkyNzE4RDAxKg0KK1gxNjg3MjlZMTkyODAxRDAxKg0KK1kxODc5ODFEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3OTgxRDAyKlgxNjgzMzRZMTc4MzE5RDAxKg0KK1gxNjc3NTdZMTc4NjcyRDAxKg0KK1gxNjcxMzJZMTc4OTMxRDAxKg0KK1gxNjY0NzRZMTc5MDg5RDAxKg0KK1gxNjU3OTlZMTc5MTQyRDAxKg0KK1gxNjU3OTJZMTc5MTQyRDAxKg0KK1kxODA1MTZEMDEqDQorWDE2NTc5OVkxODA1MTZEMDEqDQorWDE2NjQ3NFkxODA1NjlEMDEqDQorWDE2NzEzMlkxODA3MjdEMDEqDQorWDE2Nzc1N1kxODA5ODZEMDEqDQorWDE2ODMzNFkxODEzMzlEMDEqDQorWDE2ODcyOVkxODE2NzdEMDEqDQorWTE3Nzk4MUQwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYMTY1NzkyRDAxKg0KK1kxMDIzMjBEMDEqDQorWDE2NTg4M1kxMDIyODNEMDEqDQorWDE2NjE1OVkxMDIyMTdEMDEqDQorWDE2NjQ0MVkxMDIxOTREMDEqDQorWDE2NjcyM1kxMDIyMTdEMDEqDQorWDE2Njk5OVkxMDIyODNEMDEqDQorWDE2NzI2MVkxMDIzOTFEMDEqDQorWDE2NzUwMlkxMDI1MzlEMDEqDQorWDE2NzcxOFkxMDI3MjNEMDEqDQorWDE2NzkwMlkxMDI5MzlEMDEqDQorWDE2ODA1MFkxMDMxODBEMDEqDQorWDE2ODE1OFkxMDM0NDJEMDEqDQorWDE2ODIyNFkxMDM3MThEMDEqDQorWDE2ODI0MVkxMDQwMDBEMDEqDQorWDE2ODIyNFkxMDQyODJEMDEqDQorWDE2ODE1OFkxMDQ1NThEMDEqDQorWDE2ODA1MFkxMDQ4MjBEMDEqDQorWDE2NzkwMlkxMDUwNjFEMDEqDQorWDE2NzcxOFkxMDUyNzdEMDEqDQorWDE2NzUwMlkxMDU0NjFEMDEqDQorWDE2NzI2MVkxMDU2MDlEMDEqDQorWDE2Njk5OVkxMDU3MTdEMDEqDQorWDE2NjcyM1kxMDU3ODNEMDEqDQorWDE2NjQ0MVkxMDU4MDZEMDEqDQorWDE2NjE1OVkxMDU3ODNEMDEqDQorWDE2NTg4M1kxMDU3MTdEMDEqDQorWDE2NTc5MlkxMDU2ODBEMDEqDQorWTE3MDUxNkQwMSoNCitYMTY1Nzk5WTE3MDUxNkQwMSoNCitYMTY2NDc0WTE3MDU2OUQwMSoNCitYMTY3MTMyWTE3MDcyN0QwMSoNCitYMTY3NzU3WTE3MDk4NkQwMSoNCitYMTY4MzM0WTE3MTMzOUQwMSoNCitYMTY4NzI5WTE3MTY3N0QwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTYxOTM4WTE4MjkxM0QwMipYMTYxOTU2WTE4Mjg3MUQwMSoNCitYMTYyMzA5WTE4MjI5NEQwMSoNCitYMTYyNzQ5WTE4MTc3OUQwMSoNCitYMTYzMjY0WTE4MTMzOUQwMSoNCitYMTYzODQxWTE4MDk4NkQwMSoNCitYMTY0NDY2WTE4MDcyN0QwMSoNCitYMTY1MTI0WTE4MDU2OUQwMSoNCitYMTY1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gxNjUxMjRZMTc5MDg5RDAxKg0KK1gxNjQ0NjZZMTc4OTMxRDAxKg0KK1gxNjM4NDFZMTc4NjcyRDAxKg0KK1gxNjMyNjRZMTc4MzE5RDAxKg0KK1gxNjI3NDlZMTc3ODc5RDAxKg0KK1gxNjIzMDlZMTc3MzY0RDAxKg0KK1gxNjE5NTZZMTc2Nzg3RDAxKg0KK1gxNjE5MzhZMTc2NzQ1RDAxKg0KK1kxODI5MTNEMDEqDQorRzM3Kg0KK0czNioNCitZMzYyOTEzRDAyKlgxNjE5NTZZMzYyODcxRDAxKg0KK1gxNjIzMDlZMzYyMjk0RDAxKg0KK1gxNjI3NDlZMzYxNzc5RDAxKg0KK1gxNjMyNjRZMzYxMzM5RDAxKg0KK1gxNjM4NDFZMzYwOTg2RDAxKg0KK1gxNjQ0NjZZMzYwNzI3RDAxKg0KK1gxNjUxMjRZMzYwNTY5RDAxKg0KK1gxNjU3OTJZMzYwNTE2RDAxKg0KK1kyMzI3OTREMDEqDQorWDE2NTY1OVkyMzI3ODNEMDEqDQorWDE2NTM4M1kyMzI3MTdEMDEqDQorWDE2NTEyMVkyMzI2MDlEMDEqDQorWDE2NDg4MFkyMzI0NjFEMDEqDQorWDE2NDY2NFkyMzIyNzdEMDEqDQorWDE2NDQ4MFkyMzIwNjFEMDEqDQorWDE2NDMzMlkyMzE4MjBEMDEqDQorWDE2NDIyNFkyMzE1NThEMDEqDQorWDE2NDE1OFkyMzEyODJEMDEqDQorWDE2NDEzNVkyMzEwMDBEMDEqDQorWDE2NDE1OFkyMzA3MThEMDEqDQorWDE2NDIyNFkyMzA0NDJEMDEqDQorWDE2NDMzMlkyMzAxODBEMDEqDQorWDE2NDQ4MFkyMjk5MzlEMDEqDQorWDE2NDY2NFkyMjk3MjNEMDEqDQorWDE2NDg4MFkyMjk1MzlEMDEqDQorWDE2NTEyMVkyMjkzOTFEMDEqDQorWDE2NTM4M1kyMjkyODNEMDEqDQorWDE2NTY1OVkyMjkyMTdEMDEqDQorWDE2NTc5MlkyMjkyMDZEMDEqDQorWTIyODI5NEQwMSoNCitYMTY1NjU5WTIyODI4M0QwMSoNCitYMTY1MzgzWTIyODIxN0QwMSoNCitYMTY1MTIxWTIyODEwOUQwMSoNCitYMTY0ODgwWTIyNzk2MUQwMSoNCitYMTY0NjY0WTIyNzc3N0QwMSoNCitYMTY0NDgwWTIyNzU2MUQwMSoNCitYMTY0MzMyWTIyNzMyMEQwMSoNCitYMTY0MjI0WTIyNzA1OEQwMSoNCitYMTY0MTU4WTIyNjc4MkQwMSoNCitYMTY0MTM1WTIyNjUwMEQwMSoNCitYMTY0MTU4WTIyNjIxOEQwMSoNCitYMTY0MjI0WTIyNTk0MkQwMSoNCitYMTY0MzMyWTIyNTY4MEQwMSoNCitYMTY0NDgwWTIyNTQzOUQwMSoNCitYMTY0NjY0WTIyNTIyM0QwMSoNCitYMTY0ODgwWTIyNTAzOUQwMSoNCitYMTY1MTIxWTIyNDg5MUQwMSoNCitYMTY1MzgzWTIyNDc4M0QwMSoNCitYMTY1NjU5WTIyNDcxN0QwMSoNCitYMTY1NzkyWTIyNDcwNkQwMSoNCitZMjIyMjk0RDAxKg0KK1gxNjU2NTlZMjIyMjgzRDAxKg0KK1gxNjUzODNZMjIyMjE3RDAxKg0KK1gxNjUxMjFZMjIyMTA5RDAxKg0KK1gxNjQ4ODBZMjIxOTYxRDAxKg0KK1gxNjQ2NjRZMjIxNzc3RDAxKg0KK1gxNjQ0ODBZMjIxNTYxRDAxKg0KK1gxNjQzMzJZMjIxMzIwRDAxKg0KK1gxNjQyMjRZMjIxMDU4RDAxKg0KK1gxNjQxNThZMjIwNzgyRDAxKg0KK1gxNjQxMzVZMjIwNTAwRDAxKg0KK1gxNjQxNThZMjIwMjE4RDAxKg0KK1gxNjQyMjRZMjE5OTQyRDAxKg0KK1gxNjQzMzJZMjE5NjgwRDAxKg0KK1gxNjQ0ODBZMjE5NDM5RDAxKg0KK1gxNjQ2NjRZMjE5MjIzRDAxKg0KK1gxNjQ4ODBZMjE5MDM5RDAxKg0KK1gxNjUxMjFZMjE4ODkxRDAxKg0KK1gxNjUzODNZMjE4NzgzRDAxKg0KK1gxNjU2NTlZMjE4NzE3RDAxKg0KK1gxNjU3OTJZMjE4NzA2RDAxKg0KK1kxOTg4ODZEMDEqDQorWDE2NTY2NFkxOTg3NzdEMDEqDQorWDE2NTQ4MFkxOTg1NjFEMDEqDQorWDE2NTMzMlkxOTgzMjBEMDEqDQorWDE2NTIyNFkxOTgwNThEMDEqDQorWDE2NTE1OFkxOTc3ODJEMDEqDQorWDE2NTEzNVkxOTc1MDBEMDEqDQorWDE2NTE1OFkxOTcyMThEMDEqDQorWDE2NTIyNFkxOTY5NDJEMDEqDQorWDE2NTMzMlkxOTY2ODBEMDEqDQorWDE2NTQ4MFkxOTY0MzlEMDEqDQorWDE2NTY2NFkxOTYyMjNEMDEqDQorWDE2NTc5MlkxOTYxMTREMDEqDQorWTE5NDM4NkQwMSoNCitYMTY1NjY0WTE5NDI3N0QwMSoNCitYMTY1NDgwWTE5NDA2MUQwMSoNCitYMTY1MzMyWTE5MzgyMEQwMSoNCitYMTY1MjI0WTE5MzU1OEQwMSoNCitYMTY1MTU4WTE5MzI4MkQwMSoNCitYMTY1MTM1WTE5MzAwMEQwMSoNCitYMTY1MTU4WTE5MjcxOEQwMSoNCitYMTY1MjI0WTE5MjQ0MkQwMSoNCitYMTY1MzMyWTE5MjE4MEQwMSoNCitYMTY1NDgwWTE5MTkzOUQwMSoNCitYMTY1NjY0WTE5MTcyM0QwMSoNCitYMTY1NzkyWTE5MTYxNEQwMSoNCitZMTg5MTQyRDAxKg0KK1gxNjUxMjRZMTg5MDg5RDAxKg0KK1gxNjQ0NjZZMTg4OTMxRDAxKg0KK1gxNjM4NDFZMTg4NjcyRDAxKg0KK1gxNjMyNjRZMTg4MzE5RDAxKg0KK1gxNjI3NDlZMTg3ODc5RDAxKg0KK1gxNjIzMDlZMTg3MzY0RDAxKg0KK1gxNjE5NTZZMTg2Nzg3RDAxKg0KK1gxNjE5MzhZMTg2NzQ1RDAxKg0KK1kxOTExOTVEMDEqDQorWDE2MTk0MVkxOTExOTREMDEqDQorWDE2MjIyM1kxOTEyMTdEMDEqDQorWDE2MjQ5OVkxOTEyODNEMDEqDQorWDE2Mjc2MVkxOTEzOTFEMDEqDQorWDE2MzAwMlkxOTE1MzlEMDEqDQorWDE2MzIxOFkxOTE3MjNEMDEqDQorWDE2MzQwMlkxOTE5MzlEMDEqDQorWDE2MzU1MFkxOTIxODBEMDEqDQorWDE2MzY1OFkxOTI0NDJEMDEqDQorWDE2MzcyNFkxOTI3MThEMDEqDQorWDE2Mzc0MVkxOTMwMDBEMDEqDQorWDE2MzcyNFkxOTMyODJEMDEqDQorWDE2MzY1OFkxOTM1NThEMDEqDQorWDE2MzU1MFkxOTM4MjBEMDEqDQorWDE2MzQwMlkxOTQwNjFEMDEqDQorWDE2MzIxOFkxOTQyNzdEMDEqDQorWDE2MzAwMlkxOTQ0NjFEMDEqDQorWDE2Mjc2MVkxOTQ2MDlEMDEqDQorWDE2MjQ5OVkxOTQ3MTdEMDEqDQorWDE2MjIyM1kxOTQ3ODNEMDEqDQorWDE2MTk0MVkxOTQ4MDZEMDEqDQorWDE2MTkzOFkxOTQ4MDVEMDEqDQorWTE5NzE5NUQwMSoNCitYMTYxOTQxWTE5NzE5NEQwMSoNCitYMTYyMjIzWTE5NzIxN0QwMSoNCitYMTYyNDk5WTE5NzI4M0QwMSoNCitYMTYyNzYxWTE5NzM5MUQwMSoNCitYMTYzMDAyWTE5NzUzOUQwMSoNCitYMTYzMjE4WTE5NzcyM0QwMSoNCitYMTYzNDAyWTE5NzkzOUQwMSoNCitYMTYzNTUwWTE5ODE4MEQwMSoNCitYMTYzNjU4WTE5ODQ0MkQwMSoNCitYMTYzNzI0WTE5ODcxOEQwMSoNCitYMTYzNzQxWTE5OTAwMEQwMSoNCitYMTYzNzI0WTE5OTI4MkQwMSoNCitYMTYzNjU4WTE5OTU1OEQwMSoNCitYMTYzNTUwWTE5OTgyMEQwMSoNCitYMTYzNDAyWTIwMDA2MUQwMSoNCitYMTYzMjE4WTIwMDI3N0QwMSoNCitYMTYzMDAyWTIwMDQ2MUQwMSoNCitYMTYyNzYxWTIwMDYwOUQwMSoNCitYMTYyNDk5WTIwMDcxN0QwMSoNCitYMTYyMjIzWTIwMDc4M0QwMSoNCitYMTYxOTQxWTIwMDgwNkQwMSoNCitYMTYxOTM4WTIwMDgwNUQwMSoNCitZMjQwNzcwRDAxKg0KK1gxNjIxNTlZMjQwNzE3RDAxKg0KK1gxNjI0NDFZMjQwNjk0RDAxKg0KK1gxNjI3MjNZMjQwNzE3RDAxKg0KK1gxNjI5OTlZMjQwNzgzRDAxKg0KK1gxNjMyNjFZMjQwODkxRDAxKg0KK1gxNjM1MDJZMjQxMDM5RDAxKg0KK1gxNjM3MThZMjQxMjIzRDAxKg0KK1gxNjM5MDJZMjQxNDM5RDAxKg0KK1gxNjQwNTBZMjQxNjgwRDAxKg0KK1gxNjQxNThZMjQxOTQyRDAxKg0KK1gxNjQyMjRZMjQyMjE4RDAxKg0KK1gxNjQyNDFZMjQyNTAwRDAxKg0KK1gxNjQyMjRZMjQyNzgyRDAxKg0KK1gxNjQxNThZMjQzMDU4RDAxKg0KK1gxNjQwNTBZMjQzMzIwRDAxKg0KK1gxNjM5MDJZMjQzNTYxRDAxKg0KK1gxNjM3MThZMjQzNzc3RDAxKg0KK1gxNjM1MDJZMjQzOTYxRDAxKg0KK1gxNjMyNjFZMjQ0MTA5RDAxKg0KK1gxNjI5OTlZMjQ0MjE3RDAxKg0KK1gxNjI3MjNZMjQ0MjgzRDAxKg0KK1gxNjI0NDFZMjQ0MzA2RDAxKg0KK1gxNjIxNTlZMjQ0MjgzRDAxKg0KK1gxNjE5MzhZMjQ0MjMwRDAxKg0KK1kyNDY3NzBEMDEqDQorWDE2MjE1OVkyNDY3MTdEMDEqDQorWDE2MjQ0MVkyNDY2OTREMDEqDQorWDE2MjcyM1kyNDY3MTdEMDEqDQorWDE2Mjk5OVkyNDY3ODNEMDEqDQorWDE2MzI2MVkyNDY4OTFEMDEqDQorWDE2MzUwMlkyNDcwMzlEMDEqDQorWDE2MzcxOFkyNDcyMjNEMDEqDQorWDE2MzkwMlkyNDc0MzlEMDEqDQorWDE2NDA1MFkyNDc2ODBEMDEqDQorWDE2NDE1OFkyNDc5NDJEMDEqDQorWDE2NDIyNFkyNDgyMThEMDEqDQorWDE2NDI0MVkyNDg1MDBEMDEqDQorWDE2NDIyNFkyNDg3ODJEMDEqDQorWDE2NDE1OFkyNDkwNThEMDEqDQorWDE2NDA1MFkyNDkzMjBEMDEqDQorWDE2MzkwMlkyNDk1NjFEMDEqDQorWDE2MzcxOFkyNDk3NzdEMDEqDQorWDE2MzUwMlkyNDk5NjFEMDEqDQorWDE2MzI2MVkyNTAxMDlEMDEqDQorWDE2Mjk5OVkyNTAyMTdEMDEqDQorWDE2MjcyM1kyNTAyODNEMDEqDQorWDE2MjQ0MVkyNTAzMDZEMDEqDQorWDE2MjE1OVkyNTAyODNEMDEqDQorWDE2MTkzOFkyNTAyMzBEMDEqDQorWTI1MzE5NUQwMSoNCitYMTYxOTQxWTI1MzE5NEQwMSoNCitYMTYyMjIzWTI1MzIxN0QwMSoNCitYMTYyNDk5WTI1MzI4M0QwMSoNCitYMTYyNzYxWTI1MzM5MUQwMSoNCitYMTYzMDAyWTI1MzUzOUQwMSoNCitYMTYzMjE4WTI1MzcyM0QwMSoNCitYMTYzNDAyWTI1MzkzOUQwMSoNCitYMTYzNTUwWTI1NDE4MEQwMSoNCitYMTYzNjU4WTI1NDQ0MkQwMSoNCitYMTYzNzI0WTI1NDcxOEQwMSoNCitYMTYzNzQxWTI1NTAwMEQwMSoNCitYMTYzNzI0WTI1NTI4MkQwMSoNCitYMTYzNjU4WTI1NTU1OEQwMSoNCitYMTYzNTUwWTI1NTgyMEQwMSoNCitYMTYzNDAyWTI1NjA2MUQwMSoNCitYMTYzMjE4WTI1NjI3N0QwMSoNCitYMTYzMDAyWTI1NjQ2MUQwMSoNCitYMTYyNzYxWTI1NjYwOUQwMSoNCitYMTYyNDk5WTI1NjcxN0QwMSoNCitYMTYyMjIzWTI1Njc4M0QwMSoNCitYMTYxOTQxWTI1NjgwNkQwMSoNCitYMTYxOTM4WTI1NjgwNUQwMSoNCitZMjYwNzcwRDAxKg0KK1gxNjIxNTlZMjYwNzE3RDAxKg0KK1gxNjI0NDFZMjYwNjk0RDAxKg0KK1gxNjI3MjNZMjYwNzE3RDAxKg0KK1gxNjI5OTlZMjYwNzgzRDAxKg0KK1gxNjMyNjFZMjYwODkxRDAxKg0KK1gxNjM1MDJZMjYxMDM5RDAxKg0KK1gxNjM3MThZMjYxMjIzRDAxKg0KK1gxNjM5MDJZMjYxNDM5RDAxKg0KK1gxNjQwNTBZMjYxNjgwRDAxKg0KK1gxNjQxNThZMjYxOTQyRDAxKg0KK1gxNjQyMjRZMjYyMjE4RDAxKg0KK1gxNjQyNDFZMjYyNTAwRDAxKg0KK1gxNjQyMjRZMjYyNzgyRDAxKg0KK1gxNjQxNThZMjYzMDU4RDAxKg0KK1gxNjQwNTBZMjYzMzIwRDAxKg0KK1gxNjM5MDJZMjYzNTYxRDAxKg0KK1gxNjM3MThZMjYzNzc3RDAxKg0KK1gxNjM1MDJZMjYzOTYxRDAxKg0KK1gxNjMyNjFZMjY0MTA5RDAxKg0KK1gxNjI5OTlZMjY0MjE3RDAxKg0KK1gxNjI3MjNZMjY0MjgzRDAxKg0KK1gxNjI0NDFZMjY0MzA2RDAxKg0KK1gxNjIxNTlZMjY0MjgzRDAxKg0KK1gxNjE5MzhZMjY0MjMwRDAxKg0KK1kyNjcwMDNEMDEqDQorWDE2MjEyMVkyNjY4OTFEMDEqDQorWDE2MjM4M1kyNjY3ODNEMDEqDQorWDE2MjY1OVkyNjY3MTdEMDEqDQorWDE2Mjk0MVkyNjY2OTREMDEqDQorWDE2MzIyM1kyNjY3MTdEMDEqDQorWDE2MzQ5OVkyNjY3ODNEMDEqDQorWDE2Mzc2MVkyNjY4OTFEMDEqDQorWDE2NDAwMlkyNjcwMzlEMDEqDQorWDE2NDIxOFkyNjcyMjNEMDEqDQorWDE2NDQwMlkyNjc0MzlEMDEqDQorWDE2NDU1MFkyNjc2ODBEMDEqDQorWDE2NDY1OFkyNjc5NDJEMDEqDQorWDE2NDcyNFkyNjgyMThEMDEqDQorWDE2NDc0MVkyNjg1MDBEMDEqDQorWDE2NDcyNFkyNjg3ODJEMDEqDQorWDE2NDY1OFkyNjkwNThEMDEqDQorWDE2NDU1MFkyNjkzMjBEMDEqDQorWDE2NDQwMlkyNjk1NjFEMDEqDQorWDE2NDIxOFkyNjk3NzdEMDEqDQorWDE2NDAwMlkyNjk5NjFEMDEqDQorWDE2Mzc2MVkyNzAxMDlEMDEqDQorWDE2MzQ5OVkyNzAyMTdEMDEqDQorWDE2MzIyM1kyNzAyODNEMDEqDQorWDE2Mjk0MVkyNzAzMDZEMDEqDQorWDE2MjY1OVkyNzAyODNEMDEqDQorWDE2MjM4M1kyNzAyMTdEMDEqDQorWDE2MjEyMVkyNzAxMDlEMDEqDQorWDE2MTkzOFkyNjk5OTdEMDEqDQorWTI3MzAwM0QwMSoNCitYMTYyMTIxWTI3Mjg5MUQwMSoNCitYMTYyMzgzWTI3Mjc4M0QwMSoNCitYMTYyNjU5WTI3MjcxN0QwMSoNCitYMTYyOTQxWTI3MjY5NEQwMSoNCitYMTYzMjIzWTI3MjcxN0QwMSoNCitYMTYzNDk5WTI3Mjc4M0QwMSoNCitYMTYzNzYxWTI3Mjg5MUQwMSoNCitYMTY0MDAyWTI3MzAzOUQwMSoNCitYMTY0MjE4WTI3MzIyM0QwMSoNCitYMTY0NDAyWTI3MzQzOUQwMSoNCitYMTY0NTUwWTI3MzY4MEQwMSoNCitYMTY0NjU4WTI3Mzk0MkQwMSoNCitYMTY0NzI0WTI3NDIxOEQwMSoNCitYMTY0NzQxWTI3NDUwMEQwMSoNCitYMTY0NzI0WTI3NDc4MkQwMSoNCitYMTY0NjU4WTI3NTA1OEQwMSoNCitYMTY0NTUwWTI3NTMyMEQwMSoNCitYMTY0NDAyWTI3NTU2MUQwMSoNCitYMTY0MjE4WTI3NTc3N0QwMSoNCitYMTY0MDAyWTI3NTk2MUQwMSoNCitYMTYzNzYxWTI3NjEwOUQwMSoNCitYMTYzNDk5WTI3NjIxN0QwMSoNCitYMTYzMjIzWTI3NjI4M0QwMSoNCitYMTYyOTQxWTI3NjMwNkQwMSoNCitYMTYyNjU5WTI3NjI4M0QwMSoNCitYMTYyMzgzWTI3NjIxN0QwMSoNCitYMTYyMTIxWTI3NjEwOUQwMSoNCitYMTYxOTM4WTI3NTk5N0QwMSoNCitZMzYyOTEzRDAxKg0KK0czNyoNCitHMzYqDQorWTM3MjkxM0QwMipYMTYxOTU2WTM3Mjg3MUQwMSoNCitYMTYyMzA5WTM3MjI5NEQwMSoNCitYMTYyNzQ5WTM3MTc3OUQwMSoNCitYMTYzMjY0WTM3MTMzOUQwMSoNCitYMTYzODQxWTM3MDk4NkQwMSoNCitYMTY0NDY2WTM3MDcyN0QwMSoNCitYMTY1MTI0WTM3MDU2OUQwMSoNCitYMTY1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gxNjUxMjRZMzY5MDg5RDAxKg0KK1gxNjQ0NjZZMzY4OTMxRDAxKg0KK1gxNjM4NDFZMzY4NjcyRDAxKg0KK1gxNjMyNjRZMzY4MzE5RDAxKg0KK1gxNjI3NDlZMzY3ODc5RDAxKg0KK1gxNjIzMDlZMzY3MzY0RDAxKg0KK1gxNjE5NTZZMzY2Nzg3RDAxKg0KK1gxNjE5MzhZMzY2NzQ1RDAxKg0KK1kzNzI5MTNEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgxNjU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMTY1MTI0WTM3OTA4OUQwMSoNCitYMTY0NDY2WTM3ODkzMUQwMSoNCitYMTYzODQxWTM3ODY3MkQwMSoNCitYMTYzMjY0WTM3ODMxOUQwMSoNCitYMTYyNzQ5WTM3Nzg3OUQwMSoNCitYMTYyMzA5WTM3NzM2NEQwMSoNCitYMTYxOTU2WTM3Njc4N0QwMSoNCitYMTYxOTM4WTM3Njc0NUQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE2NTc5Mlk5NzAwMEQwMipYMTYzOTM4RDAxKg0KK1kxMjU2OTVEMDEqDQorWDE2Mzk0MVkxMjU2OTREMDEqDQorWDE2NDIyM1kxMjU3MTdEMDEqDQorWDE2NDQ5OVkxMjU3ODNEMDEqDQorWDE2NDc2MVkxMjU4OTFEMDEqDQorWDE2NTAwMlkxMjYwMzlEMDEqDQorWDE2NTIxOFkxMjYyMjNEMDEqDQorWDE2NTQwMlkxMjY0MzlEMDEqDQorWDE2NTU1MFkxMjY2ODBEMDEqDQorWDE2NTY1OFkxMjY5NDJEMDEqDQorWDE2NTcyNFkxMjcyMThEMDEqDQorWDE2NTc0MVkxMjc1MDBEMDEqDQorWDE2NTcyNFkxMjc3ODJEMDEqDQorWDE2NTY1OFkxMjgwNThEMDEqDQorWDE2NTU1MFkxMjgzMjBEMDEqDQorWDE2NTQwMlkxMjg1NjFEMDEqDQorWDE2NTIxOFkxMjg3NzdEMDEqDQorWDE2NTAwMlkxMjg5NjFEMDEqDQorWDE2NDc2MVkxMjkxMDlEMDEqDQorWDE2NDQ5OVkxMjkyMTdEMDEqDQorWDE2NDIyM1kxMjkyODNEMDEqDQorWDE2Mzk0MVkxMjkzMDZEMDEqDQorWDE2MzkzOFkxMjkzMDVEMDEqDQorWTE3MDk0NkQwMSoNCitYMTY0NDY2WTE3MDcyN0QwMSoNCitYMTY1MTI0WTE3MDU2OUQwMSoNCitYMTY1NzkyWTE3MDUxNkQwMSoNCitZMTA1NjgwRDAxKg0KK1gxNjU2MjFZMTA1NjA5RDAxKg0KK1gxNjUzODBZMTA1NDYxRDAxKg0KK1gxNjUxNjRZMTA1Mjc3RDAxKg0KK1gxNjQ5ODBZMTA1MDYxRDAxKg0KK1gxNjQ4MzJZMTA0ODIwRDAxKg0KK1gxNjQ3MjRZMTA0NTU4RDAxKg0KK1gxNjQ2NThZMTA0MjgyRDAxKg0KK1gxNjQ2MzVZMTA0MDAwRDAxKg0KK1gxNjQ2NThZMTAzNzE4RDAxKg0KK1gxNjQ3MjRZMTAzNDQyRDAxKg0KK1gxNjQ4MzJZMTAzMTgwRDAxKg0KK1gxNjQ5ODBZMTAyOTM5RDAxKg0KK1gxNjUxNjRZMTAyNzIzRDAxKg0KK1gxNjUzODBZMTAyNTM5RDAxKg0KK1gxNjU2MjFZMTAyMzkxRDAxKg0KK1gxNjU3OTJZMTAyMzIwRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNjM5MzhEMDIqWDE2MTkzOEQwMSoNCitZMTcyOTEzRDAxKg0KK1gxNjE5NTZZMTcyODcxRDAxKg0KK1gxNjIzMDlZMTcyMjk0RDAxKg0KK1gxNjI3NDlZMTcxNzc5RDAxKg0KK1gxNjMyNjRZMTcxMzM5RDAxKg0KK1gxNjM4NDFZMTcwOTg2RDAxKg0KK1gxNjM5MzhZMTcwOTQ2RDAxKg0KK1kxMjkzMDVEMDEqDQorWDE2MzY1OVkxMjkyODNEMDEqDQorWDE2MzM4M1kxMjkyMTdEMDEqDQorWDE2MzEyMVkxMjkxMDlEMDEqDQorWDE2Mjg4MFkxMjg5NjFEMDEqDQorWDE2MjY2NFkxMjg3NzdEMDEqDQorWDE2MjQ4MFkxMjg1NjFEMDEqDQorWDE2MjMzMlkxMjgzMjBEMDEqDQorWDE2MjIyNFkxMjgwNThEMDEqDQorWDE2MjE1OFkxMjc3ODJEMDEqDQorWDE2MjEzNVkxMjc1MDBEMDEqDQorWDE2MjE1OFkxMjcyMThEMDEqDQorWDE2MjIyNFkxMjY5NDJEMDEqDQorWDE2MjMzMlkxMjY2ODBEMDEqDQorWDE2MjQ4MFkxMjY0MzlEMDEqDQorWDE2MjY2NFkxMjYyMjNEMDEqDQorWDE2Mjg4MFkxMjYwMzlEMDEqDQorWDE2MzEyMVkxMjU4OTFEMDEqDQorWDE2MzM4M1kxMjU3ODNEMDEqDQorWDE2MzY1OVkxMjU3MTdEMDEqDQorWDE2MzkzOFkxMjU2OTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE2MTkzOEQwMipYMTU4NDM4RDAxKg0KK1kxNzE0MjhEMDEqDQorWDE1ODg0OVkxNzE3NzlEMDEqDQorWDE1OTI4OVkxNzIyOTREMDEqDQorWDE1OTY0MlkxNzI4NzFEMDEqDQorWDE1OTkwMVkxNzM0OTZEMDEqDQorWDE2MDA1OVkxNzQxNTREMDEqDQorWDE2MDA5OVkxNzQ4MjlEMDEqDQorWDE2MDA1OVkxNzU1MDREMDEqDQorWDE1OTkwMVkxNzYxNjJEMDEqDQorWDE1OTY0MlkxNzY3ODdEMDEqDQorWDE1OTI4OVkxNzczNjREMDEqDQorWDE1ODg0OVkxNzc4NzlEMDEqDQorWDE1ODQzOFkxNzgyMzBEMDEqDQorWTE4MTQyOEQwMSoNCitYMTU4ODQ5WTE4MTc3OUQwMSoNCitYMTU5Mjg5WTE4MjI5NEQwMSoNCitYMTU5NjQyWTE4Mjg3MUQwMSoNCitYMTU5OTAxWTE4MzQ5NkQwMSoNCitYMTYwMDU5WTE4NDE1NEQwMSoNCitYMTYwMDk5WTE4NDgyOUQwMSoNCitYMTYwMDU5WTE4NTUwNEQwMSoNCitYMTU5OTAxWTE4NjE2MkQwMSoNCitYMTU5NjQyWTE4Njc4N0QwMSoNCitYMTU5Mjg5WTE4NzM2NEQwMSoNCitYMTU4ODQ5WTE4Nzg3OUQwMSoNCitYMTU4NDM4WTE4ODIzMEQwMSoNCitZMzIyMDI0RDAxKg0KK1gxNTg0NDFZMzIyMDIzRDAxKg0KK1gxNTg3MjNZMzIyMDQ2RDAxKg0KK1gxNTg5OTlZMzIyMTEyRDAxKg0KK1gxNTkyNjFZMzIyMjIwRDAxKg0KK1gxNTk1MDJZMzIyMzY4RDAxKg0KK1gxNTk3MThZMzIyNTUyRDAxKg0KK1gxNTk5MDJZMzIyNzY4RDAxKg0KK1gxNjAwNTBZMzIzMDA5RDAxKg0KK1gxNjAxNThZMzIzMjcxRDAxKg0KK1gxNjAyMjRZMzIzNTQ3RDAxKg0KK1gxNjAyNDFZMzIzODI5RDAxKg0KK1gxNjAyMjRZMzI0MTExRDAxKg0KK1gxNjAxNThZMzI0Mzg3RDAxKg0KK1gxNjAwNTBZMzI0NjQ5RDAxKg0KK1gxNTk5MDJZMzI0ODkwRDAxKg0KK1gxNTk3MThZMzI1MTA2RDAxKg0KK1gxNTk2NDlZMzI1MTY0RDAxKg0KK1gxNTk3MThZMzI1MjIzRDAxKg0KK1gxNTk5MDJZMzI1NDM5RDAxKg0KK1gxNjAwNTBZMzI1NjgwRDAxKg0KK1gxNjAxNThZMzI1OTQyRDAxKg0KK1gxNjAyMjRZMzI2MjE4RDAxKg0KK1gxNjAyNDFZMzI2NTAwRDAxKg0KK1gxNjAyMjRZMzI2NzgyRDAxKg0KK1gxNjAxNThZMzI3MDU4RDAxKg0KK1gxNjAwNTBZMzI3MzIwRDAxKg0KK1gxNTk5MDJZMzI3NTYxRDAxKg0KK1gxNTk4MTRZMzI3NjY0RDAxKg0KK1gxNTk5MDJZMzI3NzY4RDAxKg0KK1gxNjAwNTBZMzI4MDA5RDAxKg0KK1gxNjAxNThZMzI4MjcxRDAxKg0KK1gxNjAyMjRZMzI4NTQ3RDAxKg0KK1gxNjAyNDFZMzI4ODI5RDAxKg0KK1gxNjAyMjRZMzI5MTExRDAxKg0KK1gxNjAxNThZMzI5Mzg3RDAxKg0KK1gxNjAwNTBZMzI5NjQ5RDAxKg0KK1gxNTk5MDJZMzI5ODkwRDAxKg0KK1gxNTk3MThZMzMwMTA2RDAxKg0KK1gxNTk1MDJZMzMwMjkwRDAxKg0KK1gxNTkyNjFZMzMwNDM4RDAxKg0KK1gxNTg5OTlZMzMwNTQ2RDAxKg0KK1gxNTg3MjNZMzMwNjEyRDAxKg0KK1gxNTg0NDFZMzMwNjM1RDAxKg0KK1gxNTg0MzhZMzMwNjM0RDAxKg0KK1kzNjE0MjhEMDEqDQorWDE1ODg0OVkzNjE3NzlEMDEqDQorWDE1OTI4OVkzNjIyOTREMDEqDQorWDE1OTY0MlkzNjI4NzFEMDEqDQorWDE1OTkwMVkzNjM0OTZEMDEqDQorWDE2MDA1OVkzNjQxNTREMDEqDQorWDE2MDA5OVkzNjQ4MjlEMDEqDQorWDE2MDA1OVkzNjU1MDREMDEqDQorWDE1OTkwMVkzNjYxNjJEMDEqDQorWDE1OTY0MlkzNjY3ODdEMDEqDQorWDE1OTI4OVkzNjczNjREMDEqDQorWDE1ODg0OVkzNjc4NzlEMDEqDQorWDE1ODQzOFkzNjgyMzBEMDEqDQorWTM3MTQyOEQwMSoNCitYMTU4ODQ5WTM3MTc3OUQwMSoNCitYMTU5Mjg5WTM3MjI5NEQwMSoNCitYMTU5NjQyWTM3Mjg3MUQwMSoNCitYMTU5OTAxWTM3MzQ5NkQwMSoNCitYMTYwMDU5WTM3NDE1NEQwMSoNCitYMTYwMDk5WTM3NDgyOUQwMSoNCitYMTYwMDU5WTM3NTUwNEQwMSoNCitYMTU5OTAxWTM3NjE2MkQwMSoNCitYMTU5NjQyWTM3Njc4N0QwMSoNCitYMTU5Mjg5WTM3NzM2NEQwMSoNCitYMTU4ODQ5WTM3Nzg3OUQwMSoNCitYMTU4NDM4WTM3ODIzMEQwMSoNCitZMzk3MDAwRDAxKg0KK1gxNjE5MzhEMDEqDQorWTM3Njc0NUQwMSoNCitYMTYxNjk3WTM3NjE2MkQwMSoNCitYMTYxNTM5WTM3NTUwNEQwMSoNCitYMTYxNDg2WTM3NDgyOUQwMSoNCitYMTYxNTM5WTM3NDE1NEQwMSoNCitYMTYxNjk3WTM3MzQ5NkQwMSoNCitYMTYxOTM4WTM3MjkxM0QwMSoNCitZMzY2NzQ1RDAxKg0KK1gxNjE2OTdZMzY2MTYyRDAxKg0KK1gxNjE1MzlZMzY1NTA0RDAxKg0KK1gxNjE0ODZZMzY0ODI5RDAxKg0KK1gxNjE1MzlZMzY0MTU0RDAxKg0KK1gxNjE2OTdZMzYzNDk2RDAxKg0KK1gxNjE5MzhZMzYyOTEzRDAxKg0KK1kyNzU5OTdEMDEqDQorWDE2MTg4MFkyNzU5NjFEMDEqDQorWDE2MTY2NFkyNzU3NzdEMDEqDQorWDE2MTQ4MFkyNzU1NjFEMDEqDQorWDE2MTMzMlkyNzUzMjBEMDEqDQorWDE2MTIyNFkyNzUwNThEMDEqDQorWDE2MTE1OFkyNzQ3ODJEMDEqDQorWDE2MTEzNVkyNzQ1MDBEMDEqDQorWDE2MTE1OFkyNzQyMThEMDEqDQorWDE2MTIyNFkyNzM5NDJEMDEqDQorWDE2MTMzMlkyNzM2ODBEMDEqDQorWDE2MTQ4MFkyNzM0MzlEMDEqDQorWDE2MTY2NFkyNzMyMjNEMDEqDQorWDE2MTg4MFkyNzMwMzlEMDEqDQorWDE2MTkzOFkyNzMwMDNEMDEqDQorWTI2OTk5N0QwMSoNCitYMTYxODgwWTI2OTk2MUQwMSoNCitYMTYxNjY0WTI2OTc3N0QwMSoNCitYMTYxNDgwWTI2OTU2MUQwMSoNCitYMTYxMzMyWTI2OTMyMEQwMSoNCitYMTYxMjI0WTI2OTA1OEQwMSoNCitYMTYxMTU4WTI2ODc4MkQwMSoNCitYMTYxMTM1WTI2ODUwMEQwMSoNCitYMTYxMTU4WTI2ODIxOEQwMSoNCitYMTYxMjI0WTI2Nzk0MkQwMSoNCitYMTYxMzMyWTI2NzY4MEQwMSoNCitYMTYxNDgwWTI2NzQzOUQwMSoNCitYMTYxNjY0WTI2NzIyM0QwMSoNCitYMTYxODgwWTI2NzAzOUQwMSoNCitYMTYxOTM4WTI2NzAwM0QwMSoNCitZMjY0MjMwRDAxKg0KK1gxNjE4ODNZMjY0MjE3RDAxKg0KK1gxNjE2MjFZMjY0MTA5RDAxKg0KK1gxNjEzODBZMjYzOTYxRDAxKg0KK1gxNjExNjRZMjYzNzc3RDAxKg0KK1gxNjA5ODBZMjYzNTYxRDAxKg0KK1gxNjA4MzJZMjYzMzIwRDAxKg0KK1gxNjA3MjRZMjYzMDU4RDAxKg0KK1gxNjA2NThZMjYyNzgyRDAxKg0KK1gxNjA2MzVZMjYyNTAwRDAxKg0KK1gxNjA2NThZMjYyMjE4RDAxKg0KK1gxNjA3MjRZMjYxOTQyRDAxKg0KK1gxNjA4MzJZMjYxNjgwRDAxKg0KK1gxNjA5ODBZMjYxNDM5RDAxKg0KK1gxNjExNjRZMjYxMjIzRDAxKg0KK1gxNjEzODBZMjYxMDM5RDAxKg0KK1gxNjE2MjFZMjYwODkxRDAxKg0KK1gxNjE4ODNZMjYwNzgzRDAxKg0KK1gxNjE5MzhZMjYwNzcwRDAxKg0KK1kyNTY4MDVEMDEqDQorWDE2MTY1OVkyNTY3ODNEMDEqDQorWDE2MTM4M1kyNTY3MTdEMDEqDQorWDE2MTEyMVkyNTY2MDlEMDEqDQorWDE2MDg4MFkyNTY0NjFEMDEqDQorWDE2MDY2NFkyNTYyNzdEMDEqDQorWDE2MDQ4MFkyNTYwNjFEMDEqDQorWDE2MDMzMlkyNTU4MjBEMDEqDQorWDE2MDIyNFkyNTU1NThEMDEqDQorWDE2MDE1OFkyNTUyODJEMDEqDQorWDE2MDEzNVkyNTUwMDBEMDEqDQorWDE2MDE1OFkyNTQ3MThEMDEqDQorWDE2MDIyNFkyNTQ0NDJEMDEqDQorWDE2MDMzMlkyNTQxODBEMDEqDQorWDE2MDQ4MFkyNTM5MzlEMDEqDQorWDE2MDY2NFkyNTM3MjNEMDEqDQorWDE2MDg4MFkyNTM1MzlEMDEqDQorWDE2MTEyMVkyNTMzOTFEMDEqDQorWDE2MTM4M1kyNTMyODNEMDEqDQorWDE2MTY1OVkyNTMyMTdEMDEqDQorWDE2MTkzOFkyNTMxOTVEMDEqDQorWTI1MDIzMEQwMSoNCitYMTYxODgzWTI1MDIxN0QwMSoNCitYMTYxNjIxWTI1MDEwOUQwMSoNCitYMTYxMzgwWTI0OTk2MUQwMSoNCitYMTYxMTY0WTI0OTc3N0QwMSoNCitYMTYwOTgwWTI0OTU2MUQwMSoNCitYMTYwODMyWTI0OTMyMEQwMSoNCitYMTYwNzI0WTI0OTA1OEQwMSoNCitYMTYwNjU4WTI0ODc4MkQwMSoNCitYMTYwNjM1WTI0ODUwMEQwMSoNCitYMTYwNjU4WTI0ODIxOEQwMSoNCitYMTYwNzI0WTI0Nzk0MkQwMSoNCitYMTYwODMyWTI0NzY4MEQwMSoNCitYMTYwOTgwWTI0NzQzOUQwMSoNCitYMTYxMTY0WTI0NzIyM0QwMSoNCitYMTYxMzgwWTI0NzAzOUQwMSoNCitYMTYxNjIxWTI0Njg5MUQwMSoNCitYMTYxODgzWTI0Njc4M0QwMSoNCitYMTYxOTM4WTI0Njc3MEQwMSoNCitZMjQ0MjMwRDAxKg0KK1gxNjE4ODNZMjQ0MjE3RDAxKg0KK1gxNjE2MjFZMjQ0MTA5RDAxKg0KK1gxNjEzODBZMjQzOTYxRDAxKg0KK1gxNjExNjRZMjQzNzc3RDAxKg0KK1gxNjA5ODBZMjQzNTYxRDAxKg0KK1gxNjA4MzJZMjQzMzIwRDAxKg0KK1gxNjA3MjRZMjQzMDU4RDAxKg0KK1gxNjA2NThZMjQyNzgyRDAxKg0KK1gxNjA2MzVZMjQyNTAwRDAxKg0KK1gxNjA2NThZMjQyMjE4RDAxKg0KK1gxNjA3MjRZMjQxOTQyRDAxKg0KK1gxNjA4MzJZMjQxNjgwRDAxKg0KK1gxNjA5ODBZMjQxNDM5RDAxKg0KK1gxNjExNjRZMjQxMjIzRDAxKg0KK1gxNjEzODBZMjQxMDM5RDAxKg0KK1gxNjE2MjFZMjQwODkxRDAxKg0KK1gxNjE4ODNZMjQwNzgzRDAxKg0KK1gxNjE5MzhZMjQwNzcwRDAxKg0KK1kyMDA4MDVEMDEqDQorWDE2MTY1OVkyMDA3ODNEMDEqDQorWDE2MTM4M1kyMDA3MTdEMDEqDQorWDE2MTEyMVkyMDA2MDlEMDEqDQorWDE2MDg4MFkyMDA0NjFEMDEqDQorWDE2MDY2NFkyMDAyNzdEMDEqDQorWDE2MDQ4MFkyMDAwNjFEMDEqDQorWDE2MDMzMlkxOTk4MjBEMDEqDQorWDE2MDIyNFkxOTk1NThEMDEqDQorWDE2MDE1OFkxOTkyODJEMDEqDQorWDE2MDEzNVkxOTkwMDBEMDEqDQorWDE2MDE1OFkxOTg3MThEMDEqDQorWDE2MDIyNFkxOTg0NDJEMDEqDQorWDE2MDMzMlkxOTgxODBEMDEqDQorWDE2MDQ4MFkxOTc5MzlEMDEqDQorWDE2MDY2NFkxOTc3MjNEMDEqDQorWDE2MDg4MFkxOTc1MzlEMDEqDQorWDE2MTEyMVkxOTczOTFEMDEqDQorWDE2MTM4M1kxOTcyODNEMDEqDQorWDE2MTY1OVkxOTcyMTdEMDEqDQorWDE2MTkzOFkxOTcxOTVEMDEqDQorWTE5NDgwNUQwMSoNCitYMTYxNjU5WTE5NDc4M0QwMSoNCitYMTYxMzgzWTE5NDcxN0QwMSoNCitYMTYxMTIxWTE5NDYwOUQwMSoNCitYMTYwODgwWTE5NDQ2MUQwMSoNCitYMTYwNjY0WTE5NDI3N0QwMSoNCitYMTYwNDgwWTE5NDA2MUQwMSoNCitYMTYwMzMyWTE5MzgyMEQwMSoNCitYMTYwMjI0WTE5MzU1OEQwMSoNCitYMTYwMTU4WTE5MzI4MkQwMSoNCitYMTYwMTM1WTE5MzAwMEQwMSoNCitYMTYwMTU4WTE5MjcxOEQwMSoNCitYMTYwMjI0WTE5MjQ0MkQwMSoNCitYMTYwMzMyWTE5MjE4MEQwMSoNCitYMTYwNDgwWTE5MTkzOUQwMSoNCitYMTYwNjY0WTE5MTcyM0QwMSoNCitYMTYwODgwWTE5MTUzOUQwMSoNCitYMTYxMTIxWTE5MTM5MUQwMSoNCitYMTYxMzgzWTE5MTI4M0QwMSoNCitYMTYxNjU5WTE5MTIxN0QwMSoNCitYMTYxOTM4WTE5MTE5NUQwMSoNCitZMTg2NzQ1RDAxKg0KK1gxNjE2OTdZMTg2MTYyRDAxKg0KK1gxNjE1MzlZMTg1NTA0RDAxKg0KK1gxNjE0ODZZMTg0ODI5RDAxKg0KK1gxNjE1MzlZMTg0MTU0RDAxKg0KK1gxNjE2OTdZMTgzNDk2RDAxKg0KK1gxNjE5MzhZMTgyOTEzRDAxKg0KK1kxNzY3NDVEMDEqDQorWDE2MTY5N1kxNzYxNjJEMDEqDQorWDE2MTUzOVkxNzU1MDREMDEqDQorWDE2MTQ4NlkxNzQ4MjlEMDEqDQorWDE2MTUzOVkxNzQxNTREMDEqDQorWDE2MTY5N1kxNzM0OTZEMDEqDQorWDE2MTkzOFkxNzI5MTNEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE1ODQzOFkzNzgyMzBEMDIqWDE1ODMzNFkzNzgzMTlEMDEqDQorWDE1Nzc1N1kzNzg2NzJEMDEqDQorWDE1NzEzMlkzNzg5MzFEMDEqDQorWDE1NjQ3NFkzNzkwODlEMDEqDQorWDE1NTc5OVkzNzkxNDJEMDEqDQorWDE1NTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMTU4NDM4RDAxKg0KK1kzNzgyMzBEMDEqDQorRzM3Kg0KK0czNioNCitZMzY4MjMwRDAyKlgxNTgzMzRZMzY4MzE5RDAxKg0KK1gxNTc3NTdZMzY4NjcyRDAxKg0KK1gxNTcxMzJZMzY4OTMxRDAxKg0KK1gxNTY0NzRZMzY5MDg5RDAxKg0KK1gxNTU3OTlZMzY5MTQyRDAxKg0KK1gxNTU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDE1NTc5OVkzNzA1MTZEMDEqDQorWDE1NjQ3NFkzNzA1NjlEMDEqDQorWDE1NzEzMlkzNzA3MjdEMDEqDQorWDE1Nzc1N1kzNzA5ODZEMDEqDQorWDE1ODMzNFkzNzEzMzlEMDEqDQorWDE1ODQzOFkzNzE0MjhEMDEqDQorWTM2ODIzMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxODgyMzBEMDIqWDE1ODMzNFkxODgzMTlEMDEqDQorWDE1Nzc1N1kxODg2NzJEMDEqDQorWDE1NzEzMlkxODg5MzFEMDEqDQorWDE1NjQ3NFkxODkwODlEMDEqDQorWDE1NTc5OVkxODkxNDJEMDEqDQorWDE1NTc5MlkxODkxNDJEMDEqDQorWTM0MzkxMUQwMSoNCitYMTU2MDAyWTM0NDAzOUQwMSoNCitYMTU2MjE4WTM0NDIyM0QwMSoNCitYMTU2NDAyWTM0NDQzOUQwMSoNCitYMTU2NTUwWTM0NDY4MEQwMSoNCitYMTU2NjU4WTM0NDk0MkQwMSoNCitYMTU2NzI0WTM0NTIxOEQwMSoNCitYMTU2NzQxWTM0NTUwMEQwMSoNCitYMTU2NzI0WTM0NTc4MkQwMSoNCitYMTU2NjU4WTM0NjA1OEQwMSoNCitYMTU2NTUwWTM0NjMyMEQwMSoNCitYMTU2NDAyWTM0NjU2MUQwMSoNCitYMTU2MjE4WTM0Njc3N0QwMSoNCitYMTU2MDAyWTM0Njk2MUQwMSoNCitYMTU1NzkyWTM0NzA4OUQwMSoNCitZMzYwNTE2RDAxKg0KK1gxNTU3OTlZMzYwNTE2RDAxKg0KK1gxNTY0NzRZMzYwNTY5RDAxKg0KK1gxNTcxMzJZMzYwNzI3RDAxKg0KK1gxNTc3NTdZMzYwOTg2RDAxKg0KK1gxNTgzMzRZMzYxMzM5RDAxKg0KK1gxNTg0MzhZMzYxNDI4RDAxKg0KK1kzMzA2MzREMDEqDQorWDE1ODE1OVkzMzA2MTJEMDEqDQorWDE1Nzg4M1kzMzA1NDZEMDEqDQorWDE1NzYyMVkzMzA0MzhEMDEqDQorWDE1NzM4MFkzMzAyOTBEMDEqDQorWDE1NzE2NFkzMzAxMDZEMDEqDQorWDE1Njk4MFkzMjk4OTBEMDEqDQorWDE1NjgzMlkzMjk2NDlEMDEqDQorWDE1NjcyNFkzMjkzODdEMDEqDQorWDE1NjY1OFkzMjkxMTFEMDEqDQorWDE1NjYzNVkzMjg4MjlEMDEqDQorWDE1NjY1OFkzMjg1NDdEMDEqDQorWDE1NjcyNFkzMjgyNzFEMDEqDQorWDE1NjgzMlkzMjgwMDlEMDEqDQorWDE1Njk4MFkzMjc3NjhEMDEqDQorWDE1NzA2OFkzMjc2NjREMDEqDQorWDE1Njk4MFkzMjc1NjFEMDEqDQorWDE1NjgzMlkzMjczMjBEMDEqDQorWDE1NjcyNFkzMjcwNThEMDEqDQorWDE1NjY1OFkzMjY3ODJEMDEqDQorWDE1NjYzNVkzMjY1MDBEMDEqDQorWDE1NjY1OFkzMjYyMThEMDEqDQorWDE1NjcyNFkzMjU5NDJEMDEqDQorWDE1NjgzMlkzMjU2ODBEMDEqDQorWDE1Njk4MFkzMjU0MzlEMDEqDQorWDE1NzE2NFkzMjUyMjNEMDEqDQorWDE1NzIzM1kzMjUxNjREMDEqDQorWDE1NzE2NFkzMjUxMDZEMDEqDQorWDE1Njk4MFkzMjQ4OTBEMDEqDQorWDE1NjgzMlkzMjQ2NDlEMDEqDQorWDE1NjcyNFkzMjQzODdEMDEqDQorWDE1NjY1OFkzMjQxMTFEMDEqDQorWDE1NjYzNVkzMjM4MjlEMDEqDQorWDE1NjY1OFkzMjM1NDdEMDEqDQorWDE1NjcyNFkzMjMyNzFEMDEqDQorWDE1NjgzMlkzMjMwMDlEMDEqDQorWDE1Njk4MFkzMjI3NjhEMDEqDQorWDE1NzE2NFkzMjI1NTJEMDEqDQorWDE1NzM4MFkzMjIzNjhEMDEqDQorWDE1NzYyMVkzMjIyMjBEMDEqDQorWDE1Nzg4M1kzMjIxMTJEMDEqDQorWDE1ODE1OVkzMjIwNDZEMDEqDQorWDE1ODQzOFkzMjIwMjREMDEqDQorWTE4ODIzMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzgyMzBEMDIqWDE1ODMzNFkxNzgzMTlEMDEqDQorWDE1Nzc1N1kxNzg2NzJEMDEqDQorWDE1NzEzMlkxNzg5MzFEMDEqDQorWDE1NjQ3NFkxNzkwODlEMDEqDQorWDE1NTc5OVkxNzkxNDJEMDEqDQorWDE1NTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMTU1Nzk5WTE4MDUxNkQwMSoNCitYMTU2NDc0WTE4MDU2OUQwMSoNCitYMTU3MTMyWTE4MDcyN0QwMSoNCitYMTU3NzU3WTE4MDk4NkQwMSoNCitYMTU4MzM0WTE4MTMzOUQwMSoNCitYMTU4NDM4WTE4MTQyOEQwMSoNCitZMTc4MjMwRDAxKg0KK0czNyoNCitHMzYqDQorWTk3MDAwRDAyKlgxNTU3OTJEMDEqDQorWTE3MDUxNkQwMSoNCitYMTU1Nzk5WTE3MDUxNkQwMSoNCitYMTU2NDc0WTE3MDU2OUQwMSoNCitYMTU3MTMyWTE3MDcyN0QwMSoNCitYMTU3NzU3WTE3MDk4NkQwMSoNCitYMTU4MzM0WTE3MTMzOUQwMSoNCitYMTU4NDM4WTE3MTQyOEQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTUyNDM4WTE4MjE0M0QwMipYMTUyNzQ5WTE4MTc3OUQwMSoNCitYMTUzMjY0WTE4MTMzOUQwMSoNCitYMTUzODQxWTE4MDk4NkQwMSoNCitYMTU0NDY2WTE4MDcyN0QwMSoNCitYMTU1MTI0WTE4MDU2OUQwMSoNCitYMTU1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gxNTUxMjRZMTc5MDg5RDAxKg0KK1gxNTQ0NjZZMTc4OTMxRDAxKg0KK1gxNTM4NDFZMTc4NjcyRDAxKg0KK1gxNTMyNjRZMTc4MzE5RDAxKg0KK1gxNTI3NDlZMTc3ODc5RDAxKg0KK1gxNTI0MzhZMTc3NTE1RDAxKg0KK1kxODIxNDNEMDEqDQorRzM3Kg0KK0czNioNCitZMzYyMTQzRDAyKlgxNTI3NDlZMzYxNzc5RDAxKg0KK1gxNTMyNjRZMzYxMzM5RDAxKg0KK1gxNTM4NDFZMzYwOTg2RDAxKg0KK1gxNTQ0NjZZMzYwNzI3RDAxKg0KK1gxNTUxMjRZMzYwNTY5RDAxKg0KK1gxNTU3OTJZMzYwNTE2RDAxKg0KK1kzNDcwODlEMDEqDQorWDE1NTc2MVkzNDcxMDlEMDEqDQorWDE1NTQ5OVkzNDcyMTdEMDEqDQorWDE1NTIyM1kzNDcyODNEMDEqDQorWDE1NDk0MVkzNDczMDZEMDEqDQorWDE1NDY1OVkzNDcyODNEMDEqDQorWDE1NDM4M1kzNDcyMTdEMDEqDQorWDE1NDEyMVkzNDcxMDlEMDEqDQorWDE1Mzg4MFkzNDY5NjFEMDEqDQorWDE1MzY2NFkzNDY3NzdEMDEqDQorWDE1MzQ4MFkzNDY1NjFEMDEqDQorWDE1MzMzMlkzNDYzMjBEMDEqDQorWDE1MzIyNFkzNDYwNThEMDEqDQorWDE1MzE1OFkzNDU3ODJEMDEqDQorWDE1MzEzNVkzNDU1MDBEMDEqDQorWDE1MzE1OFkzNDUyMThEMDEqDQorWDE1MzIyNFkzNDQ5NDJEMDEqDQorWDE1MzMzMlkzNDQ2ODBEMDEqDQorWDE1MzQ4MFkzNDQ0MzlEMDEqDQorWDE1MzY2NFkzNDQyMjNEMDEqDQorWDE1Mzg4MFkzNDQwMzlEMDEqDQorWDE1NDEyMVkzNDM4OTFEMDEqDQorWDE1NDM4M1kzNDM3ODNEMDEqDQorWDE1NDY1OVkzNDM3MTdEMDEqDQorWDE1NDk0MVkzNDM2OTREMDEqDQorWDE1NTIyM1kzNDM3MTdEMDEqDQorWDE1NTQ5OVkzNDM3ODNEMDEqDQorWDE1NTc2MVkzNDM4OTFEMDEqDQorWDE1NTc5MlkzNDM5MTFEMDEqDQorWTE4OTE0MkQwMSoNCitYMTU1MTI0WTE4OTA4OUQwMSoNCitYMTU0NDY2WTE4ODkzMUQwMSoNCitYMTUzODQxWTE4ODY3MkQwMSoNCitYMTUzMjY0WTE4ODMxOUQwMSoNCitYMTUyNzQ5WTE4Nzg3OUQwMSoNCitYMTUyNDM4WTE4NzUxNUQwMSoNCitZMzM3MDA3RDAxKg0KK1gxNTI0ODBZMzM2OTM5RDAxKg0KK1gxNTI2NjRZMzM2NzIzRDAxKg0KK1gxNTI4ODBZMzM2NTM5RDAxKg0KK1gxNTMxMjFZMzM2MzkxRDAxKg0KK1gxNTMzODNZMzM2MjgzRDAxKg0KK1gxNTM2NTlZMzM2MjE3RDAxKg0KK1gxNTM5NDFZMzM2MTk0RDAxKg0KK1gxNTQyMjNZMzM2MjE3RDAxKg0KK1gxNTQ0OTlZMzM2MjgzRDAxKg0KK1gxNTQ3NjFZMzM2MzkxRDAxKg0KK1gxNTUwMDJZMzM2NTM5RDAxKg0KK1gxNTUyMThZMzM2NzIzRDAxKg0KK1gxNTU0MDJZMzM2OTM5RDAxKg0KK1gxNTU1NTBZMzM3MTgwRDAxKg0KK1gxNTU2NThZMzM3NDQyRDAxKg0KK1gxNTU3MjRZMzM3NzE4RDAxKg0KK1gxNTU3NDFZMzM4MDAwRDAxKg0KK1gxNTU3MjRZMzM4MjgyRDAxKg0KK1gxNTU2NThZMzM4NTU4RDAxKg0KK1gxNTU1NTBZMzM4ODIwRDAxKg0KK1gxNTU0MDJZMzM5MDYxRDAxKg0KK1gxNTUyMThZMzM5Mjc3RDAxKg0KK1gxNTUwMDJZMzM5NDYxRDAxKg0KK1gxNTQ3NjFZMzM5NjA5RDAxKg0KK1gxNTQ0OTlZMzM5NzE3RDAxKg0KK1gxNTQyMjNZMzM5NzgzRDAxKg0KK1gxNTM5NDFZMzM5ODA2RDAxKg0KK1gxNTM2NTlZMzM5NzgzRDAxKg0KK1gxNTMzODNZMzM5NzE3RDAxKg0KK1gxNTMxMjFZMzM5NjA5RDAxKg0KK1gxNTI4ODBZMzM5NDYxRDAxKg0KK1gxNTI2NjRZMzM5Mjc3RDAxKg0KK1gxNTI0ODBZMzM5MDYxRDAxKg0KK1gxNTI0MzhZMzM4OTkzRDAxKg0KK1kzNjIxNDNEMDEqDQorRzM3Kg0KK0czNioNCitZMzcyMTQzRDAyKlgxNTI3NDlZMzcxNzc5RDAxKg0KK1gxNTMyNjRZMzcxMzM5RDAxKg0KK1gxNTM4NDFZMzcwOTg2RDAxKg0KK1gxNTQ0NjZZMzcwNzI3RDAxKg0KK1gxNTUxMjRZMzcwNTY5RDAxKg0KK1gxNTU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDE1NTEyNFkzNjkwODlEMDEqDQorWDE1NDQ2NlkzNjg5MzFEMDEqDQorWDE1Mzg0MVkzNjg2NzJEMDEqDQorWDE1MzI2NFkzNjgzMTlEMDEqDQorWDE1Mjc0OVkzNjc4NzlEMDEqDQorWDE1MjQzOFkzNjc1MTVEMDEqDQorWTM3MjE0M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDE1NTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gxNTUxMjRZMzc5MDg5RDAxKg0KK1gxNTQ0NjZZMzc4OTMxRDAxKg0KK1gxNTM4NDFZMzc4NjcyRDAxKg0KK1gxNTMyNjRZMzc4MzE5RDAxKg0KK1gxNTI3NDlZMzc3ODc5RDAxKg0KK1gxNTI0MzhZMzc3NTE1RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTU1NzkyWTk3MDAwRDAyKlgxNTI0MzhEMDEqDQorWTExOTY5NUQwMSoNCitYMTUyNDQxWTExOTY5NEQwMSoNCitYMTUyNzIzWTExOTcxN0QwMSoNCitYMTUyOTk5WTExOTc4M0QwMSoNCitYMTUzMjYxWTExOTg5MUQwMSoNCitYMTUzNTAyWTEyMDAzOUQwMSoNCitYMTUzNzE4WTEyMDIyM0QwMSoNCitYMTUzOTAyWTEyMDQzOUQwMSoNCitYMTU0MDUwWTEyMDY4MEQwMSoNCitYMTU0MTU4WTEyMDk0MkQwMSoNCitYMTU0MjI0WTEyMTIxOEQwMSoNCitYMTU0MjQxWTEyMTUwMEQwMSoNCitYMTU0MjI0WTEyMTc4MkQwMSoNCitYMTU0MTU4WTEyMjA1OEQwMSoNCitYMTU0MDUwWTEyMjMyMEQwMSoNCitYMTUzOTAyWTEyMjU2MUQwMSoNCitYMTUzNzE4WTEyMjc3N0QwMSoNCitYMTUzNTAyWTEyMjk2MUQwMSoNCitYMTUzMjYxWTEyMzEwOUQwMSoNCitYMTUyOTk5WTEyMzIxN0QwMSoNCitYMTUyNzIzWTEyMzI4M0QwMSoNCitYMTUyNDQxWTEyMzMwNkQwMSoNCitYMTUyNDM4WTEyMzMwNUQwMSoNCitZMTMwMjY4RDAxKg0KK1gxNTI0OTlZMTMwMjgzRDAxKg0KK1gxNTI3NjFZMTMwMzkxRDAxKg0KK1gxNTMwMDJZMTMwNTM5RDAxKg0KK1gxNTMyMThZMTMwNzIzRDAxKg0KK1gxNTM0MDJZMTMwOTM5RDAxKg0KK1gxNTM1NTBZMTMxMTgwRDAxKg0KK1gxNTM2NThZMTMxNDQyRDAxKg0KK1gxNTM3MjRZMTMxNzE4RDAxKg0KK1gxNTM3NDFZMTMyMDAwRDAxKg0KK1gxNTM3MjRZMTMyMjgyRDAxKg0KK1gxNTM2NThZMTMyNTU4RDAxKg0KK1gxNTM1NTBZMTMyODIwRDAxKg0KK1gxNTM0MDJZMTMzMDYxRDAxKg0KK1gxNTMyMThZMTMzMjc3RDAxKg0KK1gxNTMwMDJZMTMzNDYxRDAxKg0KK1gxNTI3NjFZMTMzNjA5RDAxKg0KK1gxNTI0OTlZMTMzNzE3RDAxKg0KK1gxNTI0MzhZMTMzNzMyRDAxKg0KK1kxNzIxNDNEMDEqDQorWDE1Mjc0OVkxNzE3NzlEMDEqDQorWDE1MzI2NFkxNzEzMzlEMDEqDQorWDE1Mzg0MVkxNzA5ODZEMDEqDQorWDE1NDQ2NlkxNzA3MjdEMDEqDQorWDE1NTEyNFkxNzA1NjlEMDEqDQorWDE1NTc5MlkxNzA1MTZEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE1MjQzOEQwMipYMTQ5OTM4RDAxKg0KK1kxNDcxOTVEMDEqDQorWDE0OTk0MVkxNDcxOTREMDEqDQorWDE1MDIyM1kxNDcyMTdEMDEqDQorWDE1MDQ5OVkxNDcyODNEMDEqDQorWDE1MDc2MVkxNDczOTFEMDEqDQorWDE1MTAwMlkxNDc1MzlEMDEqDQorWDE1MTIxOFkxNDc3MjNEMDEqDQorWDE1MTQwMlkxNDc5MzlEMDEqDQorWDE1MTU1MFkxNDgxODBEMDEqDQorWDE1MTY1OFkxNDg0NDJEMDEqDQorWDE1MTcyNFkxNDg3MThEMDEqDQorWDE1MTc0MVkxNDkwMDBEMDEqDQorWDE1MTcyNFkxNDkyODJEMDEqDQorWDE1MTY1OFkxNDk1NThEMDEqDQorWDE1MTU1MFkxNDk4MjBEMDEqDQorWDE1MTQwMlkxNTAwNjFEMDEqDQorWDE1MTIxOFkxNTAyNzdEMDEqDQorWDE1MTAwMlkxNTA0NjFEMDEqDQorWDE1MDc2MVkxNTA2MDlEMDEqDQorWDE1MDQ5OVkxNTA3MTdEMDEqDQorWDE1MDIyM1kxNTA3ODNEMDEqDQorWDE0OTk0MVkxNTA4MDZEMDEqDQorWDE0OTkzOFkxNTA4MDVEMDEqDQorWTE3MzY1MUQwMSoNCitYMTUwMDU5WTE3NDE1NEQwMSoNCitYMTUwMDk5WTE3NDgyOUQwMSoNCitYMTUwMDU5WTE3NTUwNEQwMSoNCitYMTQ5OTM4WTE3NjAwN0QwMSoNCitZMTgzNjUxRDAxKg0KK1gxNTAwNTlZMTg0MTU0RDAxKg0KK1gxNTAwOTlZMTg0ODI5RDAxKg0KK1gxNTAwNTlZMTg1NTA0RDAxKg0KK1gxNDk5MzhZMTg2MDA3RDAxKg0KK1kzNDc3NjhEMDEqDQorWDE0OTk5OVkzNDc3ODNEMDEqDQorWDE1MDI2MVkzNDc4OTFEMDEqDQorWDE1MDUwMlkzNDgwMzlEMDEqDQorWDE1MDcxOFkzNDgyMjNEMDEqDQorWDE1MDkwMlkzNDg0MzlEMDEqDQorWDE1MTA1MFkzNDg2ODBEMDEqDQorWDE1MTE1OFkzNDg5NDJEMDEqDQorWDE1MTIyNFkzNDkyMThEMDEqDQorWDE1MTI0MVkzNDk1MDBEMDEqDQorWDE1MTIyNFkzNDk3ODJEMDEqDQorWDE1MTE1OFkzNTAwNThEMDEqDQorWDE1MTA1MFkzNTAzMjBEMDEqDQorWDE1MDkwMlkzNTA1NjFEMDEqDQorWDE1MDcxOFkzNTA3NzdEMDEqDQorWDE1MDUwMlkzNTA5NjFEMDEqDQorWDE1MDI2MVkzNTExMDlEMDEqDQorWDE0OTk5OVkzNTEyMTdEMDEqDQorWDE0OTkzOFkzNTEyMzJEMDEqDQorWTM2MzY1MUQwMSoNCitYMTUwMDU5WTM2NDE1NEQwMSoNCitYMTUwMDk5WTM2NDgyOUQwMSoNCitYMTUwMDU5WTM2NTUwNEQwMSoNCitYMTQ5OTM4WTM2NjAwN0QwMSoNCitZMzczNjUxRDAxKg0KK1gxNTAwNTlZMzc0MTU0RDAxKg0KK1gxNTAwOTlZMzc0ODI5RDAxKg0KK1gxNTAwNTlZMzc1NTA0RDAxKg0KK1gxNDk5MzhZMzc2MDA3RDAxKg0KK1kzOTcwMDBEMDEqDQorWDE1MjQzOEQwMSoNCitZMzc3NTE1RDAxKg0KK1gxNTIzMDlZMzc3MzY0RDAxKg0KK1gxNTE5NTZZMzc2Nzg3RDAxKg0KK1gxNTE2OTdZMzc2MTYyRDAxKg0KK1gxNTE1MzlZMzc1NTA0RDAxKg0KK1gxNTE0ODZZMzc0ODI5RDAxKg0KK1gxNTE1MzlZMzc0MTU0RDAxKg0KK1gxNTE2OTdZMzczNDk2RDAxKg0KK1gxNTE5NTZZMzcyODcxRDAxKg0KK1gxNTIzMDlZMzcyMjk0RDAxKg0KK1gxNTI0MzhZMzcyMTQzRDAxKg0KK1kzNjc1MTVEMDEqDQorWDE1MjMwOVkzNjczNjREMDEqDQorWDE1MTk1NlkzNjY3ODdEMDEqDQorWDE1MTY5N1kzNjYxNjJEMDEqDQorWDE1MTUzOVkzNjU1MDREMDEqDQorWDE1MTQ4NlkzNjQ4MjlEMDEqDQorWDE1MTUzOVkzNjQxNTREMDEqDQorWDE1MTY5N1kzNjM0OTZEMDEqDQorWDE1MTk1NlkzNjI4NzFEMDEqDQorWDE1MjMwOVkzNjIyOTREMDEqDQorWDE1MjQzOFkzNjIxNDNEMDEqDQorWTMzODk5M0QwMSoNCitYMTUyMzMyWTMzODgyMEQwMSoNCitYMTUyMjI0WTMzODU1OEQwMSoNCitYMTUyMTU4WTMzODI4MkQwMSoNCitYMTUyMTM1WTMzODAwMEQwMSoNCitYMTUyMTU4WTMzNzcxOEQwMSoNCitYMTUyMjI0WTMzNzQ0MkQwMSoNCitYMTUyMzMyWTMzNzE4MEQwMSoNCitYMTUyNDM4WTMzNzAwN0QwMSoNCitZMTg3NTE1RDAxKg0KK1gxNTIzMDlZMTg3MzY0RDAxKg0KK1gxNTE5NTZZMTg2Nzg3RDAxKg0KK1gxNTE2OTdZMTg2MTYyRDAxKg0KK1gxNTE1MzlZMTg1NTA0RDAxKg0KK1gxNTE0ODZZMTg0ODI5RDAxKg0KK1gxNTE1MzlZMTg0MTU0RDAxKg0KK1gxNTE2OTdZMTgzNDk2RDAxKg0KK1gxNTE5NTZZMTgyODcxRDAxKg0KK1gxNTIzMDlZMTgyMjk0RDAxKg0KK1gxNTI0MzhZMTgyMTQzRDAxKg0KK1kxNzc1MTVEMDEqDQorWDE1MjMwOVkxNzczNjREMDEqDQorWDE1MTk1NlkxNzY3ODdEMDEqDQorWDE1MTY5N1kxNzYxNjJEMDEqDQorWDE1MTUzOVkxNzU1MDREMDEqDQorWDE1MTQ4NlkxNzQ4MjlEMDEqDQorWDE1MTUzOVkxNzQxNTREMDEqDQorWDE1MTY5N1kxNzM0OTZEMDEqDQorWDE1MTk1NlkxNzI4NzFEMDEqDQorWDE1MjMwOVkxNzIyOTREMDEqDQorWDE1MjQzOFkxNzIxNDNEMDEqDQorWTEzMzczMkQwMSoNCitYMTUyMjIzWTEzMzc4M0QwMSoNCitYMTUxOTQxWTEzMzgwNkQwMSoNCitYMTUxNjU5WTEzMzc4M0QwMSoNCitYMTUxMzgzWTEzMzcxN0QwMSoNCitYMTUxMTIxWTEzMzYwOUQwMSoNCitYMTUwODgwWTEzMzQ2MUQwMSoNCitYMTUwNjY0WTEzMzI3N0QwMSoNCitYMTUwNDgwWTEzMzA2MUQwMSoNCitYMTUwMzMyWTEzMjgyMEQwMSoNCitYMTUwMjI0WTEzMjU1OEQwMSoNCitYMTUwMTU4WTEzMjI4MkQwMSoNCitYMTUwMTM1WTEzMjAwMEQwMSoNCitYMTUwMTU4WTEzMTcxOEQwMSoNCitYMTUwMjI0WTEzMTQ0MkQwMSoNCitYMTUwMzMyWTEzMTE4MEQwMSoNCitYMTUwNDgwWTEzMDkzOUQwMSoNCitYMTUwNjY0WTEzMDcyM0QwMSoNCitYMTUwODgwWTEzMDUzOUQwMSoNCitYMTUxMTIxWTEzMDM5MUQwMSoNCitYMTUxMzgzWTEzMDI4M0QwMSoNCitYMTUxNjU5WTEzMDIxN0QwMSoNCitYMTUxOTQxWTEzMDE5NEQwMSoNCitYMTUyMjIzWTEzMDIxN0QwMSoNCitYMTUyNDM4WTEzMDI2OEQwMSoNCitZMTIzMzA1RDAxKg0KK1gxNTIxNTlZMTIzMjgzRDAxKg0KK1gxNTE4ODNZMTIzMjE3RDAxKg0KK1gxNTE2MjFZMTIzMTA5RDAxKg0KK1gxNTEzODBZMTIyOTYxRDAxKg0KK1gxNTExNjRZMTIyNzc3RDAxKg0KK1gxNTA5ODBZMTIyNTYxRDAxKg0KK1gxNTA4MzJZMTIyMzIwRDAxKg0KK1gxNTA3MjRZMTIyMDU4RDAxKg0KK1gxNTA2NThZMTIxNzgyRDAxKg0KK1gxNTA2MzVZMTIxNTAwRDAxKg0KK1gxNTA2NThZMTIxMjE4RDAxKg0KK1gxNTA3MjRZMTIwOTQyRDAxKg0KK1gxNTA4MzJZMTIwNjgwRDAxKg0KK1gxNTA5ODBZMTIwNDM5RDAxKg0KK1gxNTExNjRZMTIwMjIzRDAxKg0KK1gxNTEzODBZMTIwMDM5RDAxKg0KK1gxNTE2MjFZMTE5ODkxRDAxKg0KK1gxNTE4ODNZMTE5NzgzRDAxKg0KK1gxNTIxNTlZMTE5NzE3RDAxKg0KK1gxNTI0MzhZMTE5Njk1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDk5MzhZMzc2MDA3RDAyKlgxNDk5MDFZMzc2MTYyRDAxKg0KK1gxNDk2NDJZMzc2Nzg3RDAxKg0KK1gxNDkyODlZMzc3MzY0RDAxKg0KK1gxNDg4NDlZMzc3ODc5RDAxKg0KK1gxNDgzMzRZMzc4MzE5RDAxKg0KK1gxNDc3NTdZMzc4NjcyRDAxKg0KK1gxNDcxMzJZMzc4OTMxRDAxKg0KK1gxNDY0NzRZMzc5MDg5RDAxKg0KK1gxNDU3OTlZMzc5MTQyRDAxKg0KK1gxNDU3OTJZMzc5MTQyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDE0OTkzOEQwMSoNCitZMzc2MDA3RDAxKg0KK0czNyoNCitHMzYqDQorWTM2NjAwN0QwMipYMTQ5OTAxWTM2NjE2MkQwMSoNCitYMTQ5NjQyWTM2Njc4N0QwMSoNCitYMTQ5Mjg5WTM2NzM2NEQwMSoNCitYMTQ4ODQ5WTM2Nzg3OUQwMSoNCitYMTQ4MzM0WTM2ODMxOUQwMSoNCitYMTQ3NzU3WTM2ODY3MkQwMSoNCitYMTQ3MTMyWTM2ODkzMUQwMSoNCitYMTQ2NDc0WTM2OTA4OUQwMSoNCitYMTQ1Nzk5WTM2OTE0MkQwMSoNCitYMTQ1NzkyWTM2OTE0MkQwMSoNCitZMzcwNTE2RDAxKg0KK1gxNDU3OTlZMzcwNTE2RDAxKg0KK1gxNDY0NzRZMzcwNTY5RDAxKg0KK1gxNDcxMzJZMzcwNzI3RDAxKg0KK1gxNDc3NTdZMzcwOTg2RDAxKg0KK1gxNDgzMzRZMzcxMzM5RDAxKg0KK1gxNDg4NDlZMzcxNzc5RDAxKg0KK1gxNDkyODlZMzcyMjk0RDAxKg0KK1gxNDk2NDJZMzcyODcxRDAxKg0KK1gxNDk5MDFZMzczNDk2RDAxKg0KK1gxNDk5MzhZMzczNjUxRDAxKg0KK1kzNjYwMDdEMDEqDQorRzM3Kg0KK0czNioNCitZMTg2MDA3RDAyKlgxNDk5MDFZMTg2MTYyRDAxKg0KK1gxNDk2NDJZMTg2Nzg3RDAxKg0KK1gxNDkyODlZMTg3MzY0RDAxKg0KK1gxNDg4NDlZMTg3ODc5RDAxKg0KK1gxNDgzMzRZMTg4MzE5RDAxKg0KK1gxNDc3NTdZMTg4NjcyRDAxKg0KK1gxNDcxMzJZMTg4OTMxRDAxKg0KK1gxNDY0NzRZMTg5MDg5RDAxKg0KK1gxNDU3OTlZMTg5MTQyRDAxKg0KK1gxNDU3OTJZMTg5MTQyRDAxKg0KK1kzNjA1MTZEMDEqDQorWDE0NTc5OVkzNjA1MTZEMDEqDQorWDE0NjQ3NFkzNjA1NjlEMDEqDQorWDE0NzEzMlkzNjA3MjdEMDEqDQorWDE0Nzc1N1kzNjA5ODZEMDEqDQorWDE0ODMzNFkzNjEzMzlEMDEqDQorWDE0ODg0OVkzNjE3NzlEMDEqDQorWDE0OTI4OVkzNjIyOTREMDEqDQorWDE0OTY0MlkzNjI4NzFEMDEqDQorWDE0OTkwMVkzNjM0OTZEMDEqDQorWDE0OTkzOFkzNjM2NTFEMDEqDQorWTM1MTIzMkQwMSoNCitYMTQ5NzIzWTM1MTI4M0QwMSoNCitYMTQ5NDQxWTM1MTMwNkQwMSoNCitYMTQ5MTU5WTM1MTI4M0QwMSoNCitYMTQ4ODgzWTM1MTIxN0QwMSoNCitYMTQ4NjIxWTM1MTEwOUQwMSoNCitYMTQ4MzgwWTM1MDk2MUQwMSoNCitYMTQ4MTY0WTM1MDc3N0QwMSoNCitYMTQ3OTgwWTM1MDU2MUQwMSoNCitYMTQ3ODMyWTM1MDMyMEQwMSoNCitYMTQ3NzI0WTM1MDA1OEQwMSoNCitYMTQ3NjU4WTM0OTc4MkQwMSoNCitYMTQ3NjM1WTM0OTUwMEQwMSoNCitYMTQ3NjU4WTM0OTIxOEQwMSoNCitYMTQ3NzI0WTM0ODk0MkQwMSoNCitYMTQ3ODMyWTM0ODY4MEQwMSoNCitYMTQ3OTgwWTM0ODQzOUQwMSoNCitYMTQ4MTY0WTM0ODIyM0QwMSoNCitYMTQ4MzgwWTM0ODAzOUQwMSoNCitYMTQ4NjIxWTM0Nzg5MUQwMSoNCitYMTQ4ODgzWTM0Nzc4M0QwMSoNCitYMTQ5MTU5WTM0NzcxN0QwMSoNCitYMTQ5NDQxWTM0NzY5NEQwMSoNCitYMTQ5NzIzWTM0NzcxN0QwMSoNCitYMTQ5OTM4WTM0Nzc2OEQwMSoNCitZMTg2MDA3RDAxKg0KK0czNyoNCitHMzYqDQorWTE3NjAwN0QwMipYMTQ5OTAxWTE3NjE2MkQwMSoNCitYMTQ5NjQyWTE3Njc4N0QwMSoNCitYMTQ5Mjg5WTE3NzM2NEQwMSoNCitYMTQ4ODQ5WTE3Nzg3OUQwMSoNCitYMTQ4MzM0WTE3ODMxOUQwMSoNCitYMTQ3NzU3WTE3ODY3MkQwMSoNCitYMTQ3MTMyWTE3ODkzMUQwMSoNCitYMTQ2NDc0WTE3OTA4OUQwMSoNCitYMTQ1Nzk5WTE3OTE0MkQwMSoNCitYMTQ1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gxNDU3OTlZMTgwNTE2RDAxKg0KK1gxNDY0NzRZMTgwNTY5RDAxKg0KK1gxNDcxMzJZMTgwNzI3RDAxKg0KK1gxNDc3NTdZMTgwOTg2RDAxKg0KK1gxNDgzMzRZMTgxMzM5RDAxKg0KK1gxNDg4NDlZMTgxNzc5RDAxKg0KK1gxNDkyODlZMTgyMjk0RDAxKg0KK1gxNDk2NDJZMTgyODcxRDAxKg0KK1gxNDk5MDFZMTgzNDk2RDAxKg0KK1gxNDk5MzhZMTgzNjUxRDAxKg0KK1kxNzYwMDdEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDE0NTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gxNDU3OTlZMTcwNTE2RDAxKg0KK1gxNDY0NzRZMTcwNTY5RDAxKg0KK1gxNDcxMzJZMTcwNzI3RDAxKg0KK1gxNDc3NTdZMTcwOTg2RDAxKg0KK1gxNDgzMzRZMTcxMzM5RDAxKg0KK1gxNDg4NDlZMTcxNzc5RDAxKg0KK1gxNDkyODlZMTcyMjk0RDAxKg0KK1gxNDk2NDJZMTcyODcxRDAxKg0KK1gxNDk5MDFZMTczNDk2RDAxKg0KK1gxNDk5MzhZMTczNjUxRDAxKg0KK1kxNTA4MDVEMDEqDQorWDE0OTY1OVkxNTA3ODNEMDEqDQorWDE0OTM4M1kxNTA3MTdEMDEqDQorWDE0OTEyMVkxNTA2MDlEMDEqDQorWDE0ODg4MFkxNTA0NjFEMDEqDQorWDE0ODY2NFkxNTAyNzdEMDEqDQorWDE0ODQ4MFkxNTAwNjFEMDEqDQorWDE0ODMzMlkxNDk4MjBEMDEqDQorWDE0ODIyNFkxNDk1NThEMDEqDQorWDE0ODE1OFkxNDkyODJEMDEqDQorWDE0ODEzNVkxNDkwMDBEMDEqDQorWDE0ODE1OFkxNDg3MThEMDEqDQorWDE0ODIyNFkxNDg0NDJEMDEqDQorWDE0ODMzMlkxNDgxODBEMDEqDQorWDE0ODQ4MFkxNDc5MzlEMDEqDQorWDE0ODY2NFkxNDc3MjNEMDEqDQorWDE0ODg4MFkxNDc1MzlEMDEqDQorWDE0OTEyMVkxNDczOTFEMDEqDQorWDE0OTM4M1kxNDcyODNEMDEqDQorWDE0OTY1OVkxNDcyMTdEMDEqDQorWDE0OTkzOFkxNDcxOTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0NTc5MkQwMipYMTQxNDM4RDAxKg0KK1kxNDYxOTVEMDEqDQorWDE0MTQ0MVkxNDYxOTREMDEqDQorWDE0MTcyM1kxNDYyMTdEMDEqDQorWDE0MTk5OVkxNDYyODNEMDEqDQorWDE0MjI2MVkxNDYzOTFEMDEqDQorWDE0MjUwMlkxNDY1MzlEMDEqDQorWDE0MjcxOFkxNDY3MjNEMDEqDQorWDE0MjkwMlkxNDY5MzlEMDEqDQorWDE0MzA1MFkxNDcxODBEMDEqDQorWDE0MzE1OFkxNDc0NDJEMDEqDQorWDE0MzIyNFkxNDc3MThEMDEqDQorWDE0MzI0MVkxNDgwMDBEMDEqDQorWDE0MzIyNFkxNDgyODJEMDEqDQorWDE0MzE1OFkxNDg1NThEMDEqDQorWDE0MzA1MFkxNDg4MjBEMDEqDQorWDE0MjkwMlkxNDkwNjFEMDEqDQorWDE0MjcxOFkxNDkyNzdEMDEqDQorWDE0MjUwMlkxNDk0NjFEMDEqDQorWDE0MjI2MVkxNDk2MDlEMDEqDQorWDE0MTk5OVkxNDk3MTdEMDEqDQorWDE0MTcyM1kxNDk3ODNEMDEqDQorWDE0MTQ0MVkxNDk4MDZEMDEqDQorWDE0MTQzOFkxNDk4MDVEMDEqDQorWTI5OTA4OEQwMSoNCitYMTQxNTg5WTI5OTEwMEQwMSoNCitYMTQxODY1WTI5OTE2NkQwMSoNCitYMTQyMTI3WTI5OTI3NEQwMSoNCitYMTQyMzY4WTI5OTQyMkQwMSoNCitYMTQyNTg0WTI5OTYwNkQwMSoNCitYMTQyNzY4WTI5OTgyMkQwMSoNCitYMTQyOTE2WTMwMDA2M0QwMSoNCitYMTQzMDI0WTMwMDMyNUQwMSoNCitYMTQzMDkwWTMwMDYwMUQwMSoNCitYMTQzMTA3WTMwMDg4M0QwMSoNCitYMTQzMDkwWTMwMTE2NUQwMSoNCitYMTQzMDI0WTMwMTQ0MUQwMSoNCitYMTQyOTE2WTMwMTcwM0QwMSoNCitYMTQyNzY4WTMwMTk0NEQwMSoNCitYMTQyNTg0WTMwMjE2MEQwMSoNCitYMTQyMzY4WTMwMjM0NEQwMSoNCitYMTQyMTI3WTMwMjQ5MkQwMSoNCitYMTQxODY1WTMwMjYwMEQwMSoNCitYMTQxNTg5WTMwMjY2NkQwMSoNCitYMTQxNDM4WTMwMjY3OEQwMSoNCitZMzM2OTk4RDAxKg0KK1gxNDE1NTBZMzM3MTgwRDAxKg0KK1gxNDE2NThZMzM3NDQyRDAxKg0KK1gxNDE3MjRZMzM3NzE4RDAxKg0KK1gxNDE3NDFZMzM4MDAwRDAxKg0KK1gxNDE3MjRZMzM4MjgyRDAxKg0KK1gxNDE2NThZMzM4NTU4RDAxKg0KK1gxNDE1NTBZMzM4ODIwRDAxKg0KK1gxNDE0MzhZMzM5MDAyRDAxKg0KK1kzNDgwMDNEMDEqDQorWDE0MTYyMVkzNDc4OTFEMDEqDQorWDE0MTg4M1kzNDc3ODNEMDEqDQorWDE0MjE1OVkzNDc3MTdEMDEqDQorWDE0MjQ0MVkzNDc2OTREMDEqDQorWDE0MjcyM1kzNDc3MTdEMDEqDQorWDE0Mjk5OVkzNDc3ODNEMDEqDQorWDE0MzI2MVkzNDc4OTFEMDEqDQorWDE0MzUwMlkzNDgwMzlEMDEqDQorWDE0MzcxOFkzNDgyMjNEMDEqDQorWDE0MzkwMlkzNDg0MzlEMDEqDQorWDE0NDA1MFkzNDg2ODBEMDEqDQorWDE0NDE1OFkzNDg5NDJEMDEqDQorWDE0NDIyNFkzNDkyMThEMDEqDQorWDE0NDI0MVkzNDk1MDBEMDEqDQorWDE0NDIyNFkzNDk3ODJEMDEqDQorWDE0NDE1OFkzNTAwNThEMDEqDQorWDE0NDA1MFkzNTAzMjBEMDEqDQorWDE0MzkwMlkzNTA1NjFEMDEqDQorWDE0MzcxOFkzNTA3NzdEMDEqDQorWDE0MzUwMlkzNTA5NjFEMDEqDQorWDE0MzI2MVkzNTExMDlEMDEqDQorWDE0Mjk5OVkzNTEyMTdEMDEqDQorWDE0MjcyM1kzNTEyODNEMDEqDQorWDE0MjQ0MVkzNTEzMDZEMDEqDQorWDE0MjE1OVkzNTEyODNEMDEqDQorWDE0MTg4M1kzNTEyMTdEMDEqDQorWDE0MTYyMVkzNTExMDlEMDEqDQorWDE0MTQzOFkzNTA5OTdEMDEqDQorWTM1NjAwM0QwMSoNCitYMTQxNjIxWTM1NTg5MUQwMSoNCitYMTQxODgzWTM1NTc4M0QwMSoNCitYMTQyMTU5WTM1NTcxN0QwMSoNCitYMTQyNDQxWTM1NTY5NEQwMSoNCitYMTQyNzIzWTM1NTcxN0QwMSoNCitYMTQyOTk5WTM1NTc4M0QwMSoNCitYMTQzMjYxWTM1NTg5MUQwMSoNCitYMTQzNTAyWTM1NjAzOUQwMSoNCitYMTQzNzE4WTM1NjIyM0QwMSoNCitYMTQzOTAyWTM1NjQzOUQwMSoNCitYMTQ0MDUwWTM1NjY4MEQwMSoNCitYMTQ0MTU4WTM1Njk0MkQwMSoNCitYMTQ0MjI0WTM1NzIxOEQwMSoNCitYMTQ0MjQxWTM1NzUwMEQwMSoNCitYMTQ0MjI0WTM1Nzc4MkQwMSoNCitYMTQ0MTU4WTM1ODA1OEQwMSoNCitYMTQ0MDUwWTM1ODMyMEQwMSoNCitYMTQzOTAyWTM1ODU2MUQwMSoNCitYMTQzNzE4WTM1ODc3N0QwMSoNCitYMTQzNTAyWTM1ODk2MUQwMSoNCitYMTQzMjYxWTM1OTEwOUQwMSoNCitYMTQyOTk5WTM1OTIxN0QwMSoNCitYMTQyNzIzWTM1OTI4M0QwMSoNCitYMTQyNDQxWTM1OTMwNkQwMSoNCitYMTQyMTU5WTM1OTI4M0QwMSoNCitYMTQxODgzWTM1OTIxN0QwMSoNCitYMTQxNjIxWTM1OTEwOUQwMSoNCitYMTQxNDM4WTM1ODk5N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gxNDU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMTQ1MTI0WTM3OTA4OUQwMSoNCitYMTQ0NDY2WTM3ODkzMUQwMSoNCitYMTQzODQxWTM3ODY3MkQwMSoNCitYMTQzMjY0WTM3ODMxOUQwMSoNCitYMTQyNzQ5WTM3Nzg3OUQwMSoNCitYMTQyMzA5WTM3NzM2NEQwMSoNCitYMTQxOTU2WTM3Njc4N0QwMSoNCitYMTQxNjk3WTM3NjE2MkQwMSoNCitYMTQxNTM5WTM3NTUwNEQwMSoNCitYMTQxNDg2WTM3NDgyOUQwMSoNCitYMTQxNTM5WTM3NDE1NEQwMSoNCitYMTQxNjk3WTM3MzQ5NkQwMSoNCitYMTQxOTU2WTM3Mjg3MUQwMSoNCitYMTQyMzA5WTM3MjI5NEQwMSoNCitYMTQyNzQ5WTM3MTc3OUQwMSoNCitYMTQzMjY0WTM3MTMzOUQwMSoNCitYMTQzODQxWTM3MDk4NkQwMSoNCitYMTQ0NDY2WTM3MDcyN0QwMSoNCitYMTQ1MTI0WTM3MDU2OUQwMSoNCitYMTQ1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gxNDUxMjRZMzY5MDg5RDAxKg0KK1gxNDQ0NjZZMzY4OTMxRDAxKg0KK1gxNDM4NDFZMzY4NjcyRDAxKg0KK1gxNDMyNjRZMzY4MzE5RDAxKg0KK1gxNDI3NDlZMzY3ODc5RDAxKg0KK1gxNDIzMDlZMzY3MzY0RDAxKg0KK1gxNDE5NTZZMzY2Nzg3RDAxKg0KK1gxNDE2OTdZMzY2MTYyRDAxKg0KK1gxNDE1MzlZMzY1NTA0RDAxKg0KK1gxNDE0ODZZMzY0ODI5RDAxKg0KK1gxNDE1MzlZMzY0MTU0RDAxKg0KK1gxNDE2OTdZMzYzNDk2RDAxKg0KK1gxNDE5NTZZMzYyODcxRDAxKg0KK1gxNDIzMDlZMzYyMjk0RDAxKg0KK1gxNDI3NDlZMzYxNzc5RDAxKg0KK1gxNDMyNjRZMzYxMzM5RDAxKg0KK1gxNDM4NDFZMzYwOTg2RDAxKg0KK1gxNDQ0NjZZMzYwNzI3RDAxKg0KK1gxNDUxMjRZMzYwNTY5RDAxKg0KK1gxNDU3OTJZMzYwNTE2RDAxKg0KK1kxODkxNDJEMDEqDQorWDE0NTEyNFkxODkwODlEMDEqDQorWDE0NDQ2NlkxODg5MzFEMDEqDQorWDE0Mzg0MVkxODg2NzJEMDEqDQorWDE0MzI2NFkxODgzMTlEMDEqDQorWDE0Mjc0OVkxODc4NzlEMDEqDQorWDE0MjMwOVkxODczNjREMDEqDQorWDE0MTk1NlkxODY3ODdEMDEqDQorWDE0MTY5N1kxODYxNjJEMDEqDQorWDE0MTUzOVkxODU1MDREMDEqDQorWDE0MTQ4NlkxODQ4MjlEMDEqDQorWDE0MTUzOVkxODQxNTREMDEqDQorWDE0MTY5N1kxODM0OTZEMDEqDQorWDE0MTk1NlkxODI4NzFEMDEqDQorWDE0MjMwOVkxODIyOTREMDEqDQorWDE0Mjc0OVkxODE3NzlEMDEqDQorWDE0MzI2NFkxODEzMzlEMDEqDQorWDE0Mzg0MVkxODA5ODZEMDEqDQorWDE0NDQ2NlkxODA3MjdEMDEqDQorWDE0NTEyNFkxODA1NjlEMDEqDQorWDE0NTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMTQ1MTI0WTE3OTA4OUQwMSoNCitYMTQ0NDY2WTE3ODkzMUQwMSoNCitYMTQzODQxWTE3ODY3MkQwMSoNCitYMTQzMjY0WTE3ODMxOUQwMSoNCitYMTQyNzQ5WTE3Nzg3OUQwMSoNCitYMTQyMzA5WTE3NzM2NEQwMSoNCitYMTQxOTU2WTE3Njc4N0QwMSoNCitYMTQxNjk3WTE3NjE2MkQwMSoNCitYMTQxNTM5WTE3NTUwNEQwMSoNCitYMTQxNDg2WTE3NDgyOUQwMSoNCitYMTQxNTM5WTE3NDE1NEQwMSoNCitYMTQxNjk3WTE3MzQ5NkQwMSoNCitYMTQxOTU2WTE3Mjg3MUQwMSoNCitYMTQyMzA5WTE3MjI5NEQwMSoNCitYMTQyNzQ5WTE3MTc3OUQwMSoNCitYMTQzMjY0WTE3MTMzOUQwMSoNCitYMTQzODQxWTE3MDk4NkQwMSoNCitYMTQ0NDY2WTE3MDcyN0QwMSoNCitYMTQ1MTI0WTE3MDU2OUQwMSoNCitYMTQ1NzkyWTE3MDUxNkQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTQxNDM4WTMzOTAwMkQwMipYMTQxNDAyWTMzOTA2MUQwMSoNCitYMTQxMjE4WTMzOTI3N0QwMSoNCitYMTQxMDAyWTMzOTQ2MUQwMSoNCitYMTQwNzYxWTMzOTYwOUQwMSoNCitYMTQwNDk5WTMzOTcxN0QwMSoNCitYMTQwMjIzWTMzOTc4M0QwMSoNCitYMTM5OTQxWTMzOTgwNkQwMSoNCitYMTM5NjU5WTMzOTc4M0QwMSoNCitYMTM5MzgzWTMzOTcxN0QwMSoNCitYMTM5MTIxWTMzOTYwOUQwMSoNCitYMTM4OTIyWTMzOTQ4N0QwMSoNCitZMzYxODY1RDAxKg0KK1gxMzkyODlZMzYyMjk0RDAxKg0KK1gxMzk2NDJZMzYyODcxRDAxKg0KK1gxMzk5MDFZMzYzNDk2RDAxKg0KK1gxNDAwNTlZMzY0MTU0RDAxKg0KK1gxNDAwOTlZMzY0ODI5RDAxKg0KK1gxNDAwNTlZMzY1NTA0RDAxKg0KK1gxMzk5MDFZMzY2MTYyRDAxKg0KK1gxMzk2NDJZMzY2Nzg3RDAxKg0KK1gxMzkyODlZMzY3MzY0RDAxKg0KK1gxMzg5MjJZMzY3NzkzRDAxKg0KK1kzNzE4NjVEMDEqDQorWDEzOTI4OVkzNzIyOTREMDEqDQorWDEzOTY0MlkzNzI4NzFEMDEqDQorWDEzOTkwMVkzNzM0OTZEMDEqDQorWDE0MDA1OVkzNzQxNTREMDEqDQorWDE0MDA5OVkzNzQ4MjlEMDEqDQorWDE0MDA1OVkzNzU1MDREMDEqDQorWDEzOTkwMVkzNzYxNjJEMDEqDQorWDEzOTY0MlkzNzY3ODdEMDEqDQorWDEzOTI4OVkzNzczNjREMDEqDQorWDEzODkyMlkzNzc3OTNEMDEqDQorWTM5NzAwMEQwMSoNCitYMTQxNDM4RDAxKg0KK1kzNTg5OTdEMDEqDQorWDE0MTM4MFkzNTg5NjFEMDEqDQorWDE0MTE2NFkzNTg3NzdEMDEqDQorWDE0MDk4MFkzNTg1NjFEMDEqDQorWDE0MDgzMlkzNTgzMjBEMDEqDQorWDE0MDcyNFkzNTgwNThEMDEqDQorWDE0MDY1OFkzNTc3ODJEMDEqDQorWDE0MDYzNVkzNTc1MDBEMDEqDQorWDE0MDY1OFkzNTcyMThEMDEqDQorWDE0MDcyNFkzNTY5NDJEMDEqDQorWDE0MDgzMlkzNTY2ODBEMDEqDQorWDE0MDk4MFkzNTY0MzlEMDEqDQorWDE0MTE2NFkzNTYyMjNEMDEqDQorWDE0MTM4MFkzNTYwMzlEMDEqDQorWDE0MTQzOFkzNTYwMDNEMDEqDQorWTM1MDk5N0QwMSoNCitYMTQxMzgwWTM1MDk2MUQwMSoNCitYMTQxMTY0WTM1MDc3N0QwMSoNCitYMTQwOTgwWTM1MDU2MUQwMSoNCitYMTQwODMyWTM1MDMyMEQwMSoNCitYMTQwNzI0WTM1MDA1OEQwMSoNCitYMTQwNjU4WTM0OTc4MkQwMSoNCitYMTQwNjM1WTM0OTUwMEQwMSoNCitYMTQwNjU4WTM0OTIxOEQwMSoNCitYMTQwNzI0WTM0ODk0MkQwMSoNCitYMTQwODMyWTM0ODY4MEQwMSoNCitYMTQwOTgwWTM0ODQzOUQwMSoNCitYMTQxMTY0WTM0ODIyM0QwMSoNCitYMTQxMzgwWTM0ODAzOUQwMSoNCitYMTQxNDM4WTM0ODAwM0QwMSoNCitZMzM5MDAyRDAxKg0KK0czNyoNCitHMzYqDQorWTk3MDAwRDAyKlgxMzg5MjJEMDEqDQorWTE3MTg2NUQwMSoNCitYMTM5Mjg5WTE3MjI5NEQwMSoNCitYMTM5NjQyWTE3Mjg3MUQwMSoNCitYMTM5OTAxWTE3MzQ5NkQwMSoNCitYMTQwMDU5WTE3NDE1NEQwMSoNCitYMTQwMDk5WTE3NDgyOUQwMSoNCitYMTQwMDU5WTE3NTUwNEQwMSoNCitYMTM5OTAxWTE3NjE2MkQwMSoNCitYMTM5NjQyWTE3Njc4N0QwMSoNCitYMTM5Mjg5WTE3NzM2NEQwMSoNCitYMTM4OTIyWTE3Nzc5M0QwMSoNCitZMTgxODY1RDAxKg0KK1gxMzkyODlZMTgyMjk0RDAxKg0KK1gxMzk2NDJZMTgyODcxRDAxKg0KK1gxMzk5MDFZMTgzNDk2RDAxKg0KK1gxNDAwNTlZMTg0MTU0RDAxKg0KK1gxNDAwOTlZMTg0ODI5RDAxKg0KK1gxNDAwNTlZMTg1NTA0RDAxKg0KK1gxMzk5MDFZMTg2MTYyRDAxKg0KK1gxMzk2NDJZMTg2Nzg3RDAxKg0KK1gxMzkyODlZMTg3MzY0RDAxKg0KK1gxMzg5MjJZMTg3NzkzRDAxKg0KK1kxOTA4OTNEMDEqDQorWDEzODkyNVkxOTA4OTJEMDEqDQorWDEzOTIwN1kxOTA5MTVEMDEqDQorWDEzOTQ4M1kxOTA5ODFEMDEqDQorWDEzOTc0NVkxOTEwODlEMDEqDQorWDEzOTk4NlkxOTEyMzdEMDEqDQorWDE0MDIwMlkxOTE0MjFEMDEqDQorWDE0MDM4NlkxOTE2MzdEMDEqDQorWDE0MDUzNFkxOTE4NzhEMDEqDQorWDE0MDY0MlkxOTIxNDBEMDEqDQorWDE0MDcwOFkxOTI0MTZEMDEqDQorWDE0MDcyNVkxOTI2OThEMDEqDQorWDE0MDcwOFkxOTI5ODBEMDEqDQorWDE0MDY0MlkxOTMyNTZEMDEqDQorWDE0MDUzNFkxOTM1MThEMDEqDQorWDE0MDM4NlkxOTM3NTlEMDEqDQorWDE0MDIwMlkxOTM5NzVEMDEqDQorWDEzOTk4NlkxOTQxNTlEMDEqDQorWDEzOTc0NVkxOTQzMDdEMDEqDQorWDEzOTQ4M1kxOTQ0MTVEMDEqDQorWDEzOTIwN1kxOTQ0ODFEMDEqDQorWDEzODkyNVkxOTQ1MDREMDEqDQorWDEzODkyMlkxOTQ1MDNEMDEqDQorWTE5NjAzNkQwMSoNCitYMTM4OTI1WTE5NjAzNUQwMSoNCitYMTM5MjA3WTE5NjA1OEQwMSoNCitYMTM5NDgzWTE5NjEyNEQwMSoNCitYMTM5NzQ1WTE5NjIzMkQwMSoNCitYMTM5OTg2WTE5NjM4MEQwMSoNCitYMTQwMjAyWTE5NjU2NEQwMSoNCitYMTQwMzg2WTE5Njc4MEQwMSoNCitYMTQwNTM0WTE5NzAyMUQwMSoNCitYMTQwNjQyWTE5NzI4M0QwMSoNCitYMTQwNzA4WTE5NzU1OUQwMSoNCitYMTQwNzI1WTE5Nzg0MUQwMSoNCitYMTQwNzA4WTE5ODEyM0QwMSoNCitYMTQwNjQyWTE5ODM5OUQwMSoNCitYMTQwNTM0WTE5ODY2MUQwMSoNCitYMTQwMzg2WTE5ODkwMkQwMSoNCitYMTQwMjAyWTE5OTExOEQwMSoNCitYMTM5OTg2WTE5OTMwMkQwMSoNCitYMTM5NzQ1WTE5OTQ1MEQwMSoNCitYMTM5NDgzWTE5OTU1OEQwMSoNCitYMTM5MjA3WTE5OTYyNEQwMSoNCitYMTM4OTI1WTE5OTY0N0QwMSoNCitYMTM4OTIyWTE5OTY0NkQwMSoNCitZMjAwMjI4RDAxKg0KK1gxMzkxNTRZMjAwMjQ3RDAxKg0KK1gxMzk0MzBZMjAwMzEzRDAxKg0KK1gxMzk2OTJZMjAwNDIxRDAxKg0KK1gxMzk5MzNZMjAwNTY5RDAxKg0KK1gxNDAxNDlZMjAwNzUzRDAxKg0KK1gxNDAzMzNZMjAwOTY5RDAxKg0KK1gxNDA0ODFZMjAxMjEwRDAxKg0KK1gxNDA1ODlZMjAxNDcyRDAxKg0KK1gxNDA2NTVZMjAxNzQ4RDAxKg0KK1gxNDA2NzJZMjAyMDMwRDAxKg0KK1gxNDA2NTVZMjAyMzEyRDAxKg0KK1gxNDA1ODlZMjAyNTg4RDAxKg0KK1gxNDA0ODFZMjAyODUwRDAxKg0KK1gxNDAzMzNZMjAzMDkxRDAxKg0KK1gxNDAxNDlZMjAzMzA3RDAxKg0KK1gxMzk5MzNZMjAzNDkxRDAxKg0KK1gxMzk2OTJZMjAzNjM5RDAxKg0KK1gxMzk0MzBZMjAzNzQ3RDAxKg0KK1gxMzkxNTRZMjAzODEzRDAxKg0KK1gxMzg5MjJZMjAzODMyRDAxKg0KK1kyMDQzMDhEMDEqDQorWDEzODkyNVkyMDQzMDdEMDEqDQorWDEzOTIwN1kyMDQzMzBEMDEqDQorWDEzOTQ4M1kyMDQzOTZEMDEqDQorWDEzOTc0NVkyMDQ1MDREMDEqDQorWDEzOTk4NlkyMDQ2NTJEMDEqDQorWDE0MDIwMlkyMDQ4MzZEMDEqDQorWDE0MDM4NlkyMDUwNTJEMDEqDQorWDE0MDUzNFkyMDUyOTNEMDEqDQorWDE0MDY0MlkyMDU1NTVEMDEqDQorWDE0MDcwOFkyMDU4MzFEMDEqDQorWDE0MDcyNVkyMDYxMTNEMDEqDQorWDE0MDcwOFkyMDYzOTVEMDEqDQorWDE0MDY0MlkyMDY2NzFEMDEqDQorWDE0MDUzNFkyMDY5MzNEMDEqDQorWDE0MDM4NlkyMDcxNzREMDEqDQorWDE0MDIwMlkyMDczOTBEMDEqDQorWDEzOTk4NlkyMDc1NzREMDEqDQorWDEzOTc0NVkyMDc3MjJEMDEqDQorWDEzOTQ4M1kyMDc4MzBEMDEqDQorWDEzOTIwN1kyMDc4OTZEMDEqDQorWDEzODkyNVkyMDc5MTlEMDEqDQorWDEzODkyMlkyMDc5MThEMDEqDQorWTMzNjUxM0QwMSoNCitYMTM5MTIxWTMzNjM5MUQwMSoNCitYMTM5MzgzWTMzNjI4M0QwMSoNCitYMTM5NjU5WTMzNjIxN0QwMSoNCitYMTM5OTQxWTMzNjE5NEQwMSoNCitYMTQwMjIzWTMzNjIxN0QwMSoNCitYMTQwNDk5WTMzNjI4M0QwMSoNCitYMTQwNzYxWTMzNjM5MUQwMSoNCitYMTQxMDAyWTMzNjUzOUQwMSoNCitYMTQxMjE4WTMzNjcyM0QwMSoNCitYMTQxNDAyWTMzNjkzOUQwMSoNCitYMTQxNDM4WTMzNjk5OEQwMSoNCitZMzAyNjc4RDAxKg0KK1gxNDEzMDdZMzAyNjg5RDAxKg0KK1gxNDEwMjVZMzAyNjY2RDAxKg0KK1gxNDA3NDlZMzAyNjAwRDAxKg0KK1gxNDA0ODdZMzAyNDkyRDAxKg0KK1gxNDAyNDZZMzAyMzQ0RDAxKg0KK1gxNDAwMzBZMzAyMTYwRDAxKg0KK1gxMzk4NDZZMzAxOTQ0RDAxKg0KK1gxMzk2OThZMzAxNzAzRDAxKg0KK1gxMzk1OTBZMzAxNDQxRDAxKg0KK1gxMzk1MjRZMzAxMTY1RDAxKg0KK1gxMzk1MDFZMzAwODgzRDAxKg0KK1gxMzk1MjRZMzAwNjAxRDAxKg0KK1gxMzk1OTBZMzAwMzI1RDAxKg0KK1gxMzk2OThZMzAwMDYzRDAxKg0KK1gxMzk4NDZZMjk5ODIyRDAxKg0KK1gxNDAwMzBZMjk5NjA2RDAxKg0KK1gxNDAyNDZZMjk5NDIyRDAxKg0KK1gxNDA0ODdZMjk5Mjc0RDAxKg0KK1gxNDA3NDlZMjk5MTY2RDAxKg0KK1gxNDEwMjVZMjk5MTAwRDAxKg0KK1gxNDEzMDdZMjk5MDc3RDAxKg0KK1gxNDE0MzhZMjk5MDg4RDAxKg0KK1kxNDk4MDVEMDEqDQorWDE0MTE1OVkxNDk3ODNEMDEqDQorWDE0MDg4M1kxNDk3MTdEMDEqDQorWDE0MDYyMVkxNDk2MDlEMDEqDQorWDE0MDM4MFkxNDk0NjFEMDEqDQorWDE0MDE2NFkxNDkyNzdEMDEqDQorWDEzOTk4MFkxNDkwNjFEMDEqDQorWDEzOTgzMlkxNDg4MjBEMDEqDQorWDEzOTcyNFkxNDg1NThEMDEqDQorWDEzOTY1OFkxNDgyODJEMDEqDQorWDEzOTYzNVkxNDgwMDBEMDEqDQorWDEzOTY1OFkxNDc3MThEMDEqDQorWDEzOTcyNFkxNDc0NDJEMDEqDQorWDEzOTgzMlkxNDcxODBEMDEqDQorWDEzOTk4MFkxNDY5MzlEMDEqDQorWDE0MDE2NFkxNDY3MjNEMDEqDQorWDE0MDM4MFkxNDY1MzlEMDEqDQorWDE0MDYyMVkxNDYzOTFEMDEqDQorWDE0MDg4M1kxNDYyODNEMDEqDQorWDE0MTE1OVkxNDYyMTdEMDEqDQorWDE0MTQzOFkxNDYxOTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEzODkyMlkzNzc3OTNEMDIqWDEzODg0OVkzNzc4NzlEMDEqDQorWDEzODMzNFkzNzgzMTlEMDEqDQorWDEzNzc1N1kzNzg2NzJEMDEqDQorWDEzNzEzMlkzNzg5MzFEMDEqDQorWDEzNjQ3NFkzNzkwODlEMDEqDQorWDEzNTc5OVkzNzkxNDJEMDEqDQorWDEzNTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMTM4OTIyRDAxKg0KK1kzNzc3OTNEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3NzkzRDAyKlgxMzg4NDlZMzY3ODc5RDAxKg0KK1gxMzgzMzRZMzY4MzE5RDAxKg0KK1gxMzc3NTdZMzY4NjcyRDAxKg0KK1gxMzcxMzJZMzY4OTMxRDAxKg0KK1gxMzY0NzRZMzY5MDg5RDAxKg0KK1gxMzU3OTlZMzY5MTQyRDAxKg0KK1gxMzU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDEzNTc5OVkzNzA1MTZEMDEqDQorWDEzNjQ3NFkzNzA1NjlEMDEqDQorWDEzNzEzMlkzNzA3MjdEMDEqDQorWDEzNzc1N1kzNzA5ODZEMDEqDQorWDEzODMzNFkzNzEzMzlEMDEqDQorWDEzODg0OVkzNzE3NzlEMDEqDQorWDEzODkyMlkzNzE4NjVEMDEqDQorWTM2Nzc5M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxODc3OTNEMDIqWDEzODg0OVkxODc4NzlEMDEqDQorWDEzODMzNFkxODgzMTlEMDEqDQorWDEzNzc1N1kxODg2NzJEMDEqDQorWDEzNzEzMlkxODg5MzFEMDEqDQorWDEzNjQ3NFkxODkwODlEMDEqDQorWDEzNTc5OVkxODkxNDJEMDEqDQorWDEzNTc5MlkxODkxNDJEMDEqDQorWTMzMzIzM0QwMSoNCitYMTM1OTk5WTMzMzI4M0QwMSoNCitYMTM2MjYxWTMzMzM5MUQwMSoNCitYMTM2NTAyWTMzMzUzOUQwMSoNCitYMTM2NzE4WTMzMzcyM0QwMSoNCitYMTM2OTAyWTMzMzkzOUQwMSoNCitYMTM3MDUwWTMzNDE4MEQwMSoNCitYMTM3MTU4WTMzNDQ0MkQwMSoNCitYMTM3MjI0WTMzNDcxOEQwMSoNCitYMTM3MjQxWTMzNTAwMEQwMSoNCitYMTM3MjI0WTMzNTI4MkQwMSoNCitYMTM3MTU4WTMzNTU1OEQwMSoNCitYMTM3MDUwWTMzNTgyMEQwMSoNCitYMTM2OTAyWTMzNjA2MUQwMSoNCitYMTM2NzE4WTMzNjI3N0QwMSoNCitYMTM2NTAyWTMzNjQ2MUQwMSoNCitYMTM2MjYxWTMzNjYwOUQwMSoNCitYMTM1OTk5WTMzNjcxN0QwMSoNCitYMTM1ODYyWTMzNjc1MEQwMSoNCitYMTM1OTk5WTMzNjc4M0QwMSoNCitYMTM2MjYxWTMzNjg5MUQwMSoNCitYMTM2NTAyWTMzNzAzOUQwMSoNCitYMTM2NzE4WTMzNzIyM0QwMSoNCitYMTM2OTAyWTMzNzQzOUQwMSoNCitYMTM3MDUwWTMzNzY4MEQwMSoNCitYMTM3MTU4WTMzNzk0MkQwMSoNCitYMTM3MjI0WTMzODIxOEQwMSoNCitYMTM3MjQxWTMzODUwMEQwMSoNCitYMTM3MjI0WTMzODc4MkQwMSoNCitYMTM3MTU4WTMzOTA1OEQwMSoNCitYMTM3MDUwWTMzOTMyMEQwMSoNCitYMTM2OTAyWTMzOTU2MUQwMSoNCitYMTM2NzE4WTMzOTc3N0QwMSoNCitYMTM2NTAyWTMzOTk2MUQwMSoNCitYMTM2MjYxWTM0MDEwOUQwMSoNCitYMTM1OTk5WTM0MDIxN0QwMSoNCitYMTM1NzkyWTM0MDI2N0QwMSoNCitZMzYwNTE2RDAxKg0KK1gxMzU3OTlZMzYwNTE2RDAxKg0KK1gxMzY0NzRZMzYwNTY5RDAxKg0KK1gxMzcxMzJZMzYwNzI3RDAxKg0KK1gxMzc3NTdZMzYwOTg2RDAxKg0KK1gxMzgzMzRZMzYxMzM5RDAxKg0KK1gxMzg4NDlZMzYxNzc5RDAxKg0KK1gxMzg5MjJZMzYxODY1RDAxKg0KK1kzMzk0ODdEMDEqDQorWDEzODg4MFkzMzk0NjFEMDEqDQorWDEzODY2NFkzMzkyNzdEMDEqDQorWDEzODQ4MFkzMzkwNjFEMDEqDQorWDEzODMzMlkzMzg4MjBEMDEqDQorWDEzODIyNFkzMzg1NThEMDEqDQorWDEzODE1OFkzMzgyODJEMDEqDQorWDEzODEzNVkzMzgwMDBEMDEqDQorWDEzODE1OFkzMzc3MThEMDEqDQorWDEzODIyNFkzMzc0NDJEMDEqDQorWDEzODMzMlkzMzcxODBEMDEqDQorWDEzODQ4MFkzMzY5MzlEMDEqDQorWDEzODY2NFkzMzY3MjNEMDEqDQorWDEzODg4MFkzMzY1MzlEMDEqDQorWDEzODkyMlkzMzY1MTNEMDEqDQorWTIwNzkxOEQwMSoNCitYMTM4NjQzWTIwNzg5NkQwMSoNCitYMTM4MzY3WTIwNzgzMEQwMSoNCitYMTM4MTA1WTIwNzcyMkQwMSoNCitYMTM3ODY0WTIwNzU3NEQwMSoNCitYMTM3NjQ4WTIwNzM5MEQwMSoNCitYMTM3NDY0WTIwNzE3NEQwMSoNCitYMTM3MzE2WTIwNjkzM0QwMSoNCitYMTM3MjA4WTIwNjY3MUQwMSoNCitYMTM3MTQyWTIwNjM5NUQwMSoNCitYMTM3MTE5WTIwNjExM0QwMSoNCitYMTM3MTQyWTIwNTgzMUQwMSoNCitYMTM3MjA4WTIwNTU1NUQwMSoNCitYMTM3MzE2WTIwNTI5M0QwMSoNCitYMTM3NDY0WTIwNTA1MkQwMSoNCitYMTM3NjQ4WTIwNDgzNkQwMSoNCitYMTM3ODY0WTIwNDY1MkQwMSoNCitYMTM4MTA1WTIwNDUwNEQwMSoNCitYMTM4MzY3WTIwNDM5NkQwMSoNCitYMTM4NjQzWTIwNDMzMEQwMSoNCitYMTM4OTIyWTIwNDMwOEQwMSoNCitZMjAzODMyRDAxKg0KK1gxMzg4NzJZMjAzODM2RDAxKg0KK1gxMzg1OTBZMjAzODEzRDAxKg0KK1gxMzgzMTRZMjAzNzQ3RDAxKg0KK1gxMzgwNTJZMjAzNjM5RDAxKg0KK1gxMzc4MTFZMjAzNDkxRDAxKg0KK1gxMzc1OTVZMjAzMzA3RDAxKg0KK1gxMzc0MTFZMjAzMDkxRDAxKg0KK1gxMzcyNjNZMjAyODUwRDAxKg0KK1gxMzcxNTVZMjAyNTg4RDAxKg0KK1gxMzcwODlZMjAyMzEyRDAxKg0KK1gxMzcwNjZZMjAyMDMwRDAxKg0KK1gxMzcwODlZMjAxNzQ4RDAxKg0KK1gxMzcxNTVZMjAxNDcyRDAxKg0KK1gxMzcyNjNZMjAxMjEwRDAxKg0KK1gxMzc0MTFZMjAwOTY5RDAxKg0KK1gxMzc1OTVZMjAwNzUzRDAxKg0KK1gxMzc4MTFZMjAwNTY5RDAxKg0KK1gxMzgwNTJZMjAwNDIxRDAxKg0KK1gxMzgzMTRZMjAwMzEzRDAxKg0KK1gxMzg1OTBZMjAwMjQ3RDAxKg0KK1gxMzg4NzJZMjAwMjI0RDAxKg0KK1gxMzg5MjJZMjAwMjI4RDAxKg0KK1kxOTk2NDZEMDEqDQorWDEzODY0M1kxOTk2MjREMDEqDQorWDEzODM2N1kxOTk1NThEMDEqDQorWDEzODEwNVkxOTk0NTBEMDEqDQorWDEzNzg2NFkxOTkzMDJEMDEqDQorWDEzNzY0OFkxOTkxMThEMDEqDQorWDEzNzQ2NFkxOTg5MDJEMDEqDQorWDEzNzMxNlkxOTg2NjFEMDEqDQorWDEzNzIwOFkxOTgzOTlEMDEqDQorWDEzNzE0MlkxOTgxMjNEMDEqDQorWDEzNzExOVkxOTc4NDFEMDEqDQorWDEzNzE0MlkxOTc1NTlEMDEqDQorWDEzNzIwOFkxOTcyODNEMDEqDQorWDEzNzMxNlkxOTcwMjFEMDEqDQorWDEzNzQ2NFkxOTY3ODBEMDEqDQorWDEzNzY0OFkxOTY1NjREMDEqDQorWDEzNzg2NFkxOTYzODBEMDEqDQorWDEzODEwNVkxOTYyMzJEMDEqDQorWDEzODM2N1kxOTYxMjREMDEqDQorWDEzODY0M1kxOTYwNThEMDEqDQorWDEzODkyMlkxOTYwMzZEMDEqDQorWTE5NDUwM0QwMSoNCitYMTM4NjQzWTE5NDQ4MUQwMSoNCitYMTM4MzY3WTE5NDQxNUQwMSoNCitYMTM4MTA1WTE5NDMwN0QwMSoNCitYMTM3ODY0WTE5NDE1OUQwMSoNCitYMTM3NjQ4WTE5Mzk3NUQwMSoNCitYMTM3NDY0WTE5Mzc1OUQwMSoNCitYMTM3MzE2WTE5MzUxOEQwMSoNCitYMTM3MjA4WTE5MzI1NkQwMSoNCitYMTM3MTQyWTE5Mjk4MEQwMSoNCitYMTM3MTE5WTE5MjY5OEQwMSoNCitYMTM3MTQyWTE5MjQxNkQwMSoNCitYMTM3MjA4WTE5MjE0MEQwMSoNCitYMTM3MzE2WTE5MTg3OEQwMSoNCitYMTM3NDY0WTE5MTYzN0QwMSoNCitYMTM3NjQ4WTE5MTQyMUQwMSoNCitYMTM3ODY0WTE5MTIzN0QwMSoNCitYMTM4MTA1WTE5MTA4OUQwMSoNCitYMTM4MzY3WTE5MDk4MUQwMSoNCitYMTM4NjQzWTE5MDkxNUQwMSoNCitYMTM4OTIyWTE5MDg5M0QwMSoNCitZMTg3NzkzRDAxKg0KK0czNyoNCitHMzYqDQorWTE3Nzc5M0QwMipYMTM4ODQ5WTE3Nzg3OUQwMSoNCitYMTM4MzM0WTE3ODMxOUQwMSoNCitYMTM3NzU3WTE3ODY3MkQwMSoNCitYMTM3MTMyWTE3ODkzMUQwMSoNCitYMTM2NDc0WTE3OTA4OUQwMSoNCitYMTM1Nzk5WTE3OTE0MkQwMSoNCitYMTM1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gxMzU3OTlZMTgwNTE2RDAxKg0KK1gxMzY0NzRZMTgwNTY5RDAxKg0KK1gxMzcxMzJZMTgwNzI3RDAxKg0KK1gxMzc3NTdZMTgwOTg2RDAxKg0KK1gxMzgzMzRZMTgxMzM5RDAxKg0KK1gxMzg4NDlZMTgxNzc5RDAxKg0KK1gxMzg5MjJZMTgxODY1RDAxKg0KK1kxNzc3OTNEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDEzNTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gxMzU3OTlZMTcwNTE2RDAxKg0KK1gxMzY0NzRZMTcwNTY5RDAxKg0KK1gxMzcxMzJZMTcwNzI3RDAxKg0KK1gxMzc3NTdZMTcwOTg2RDAxKg0KK1gxMzgzMzRZMTcxMzM5RDAxKg0KK1gxMzg4NDlZMTcxNzc5RDAxKg0KK1gxMzg5MjJZMTcxODY1RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzU3OTJEMDIqWDEzMDkzOEQwMSoNCitZMzU1Njk1RDAxKg0KK1gxMzA5NDFZMzU1Njk0RDAxKg0KK1gxMzEyMjNZMzU1NzE3RDAxKg0KK1gxMzE0OTlZMzU1NzgzRDAxKg0KK1gxMzE3NjFZMzU1ODkxRDAxKg0KK1gxMzIwMDJZMzU2MDM5RDAxKg0KK1gxMzIyMThZMzU2MjIzRDAxKg0KK1gxMzI0MDJZMzU2NDM5RDAxKg0KK1gxMzI1NTBZMzU2NjgwRDAxKg0KK1gxMzI2NThZMzU2OTQyRDAxKg0KK1gxMzI3MjRZMzU3MjE4RDAxKg0KK1gxMzI3NDFZMzU3NTAwRDAxKg0KK1gxMzI3MjRZMzU3NzgyRDAxKg0KK1gxMzI2NThZMzU4MDU4RDAxKg0KK1gxMzI1NTBZMzU4MzIwRDAxKg0KK1gxMzI0MDJZMzU4NTYxRDAxKg0KK1gxMzIyMThZMzU4Nzc3RDAxKg0KK1gxMzIwMDJZMzU4OTYxRDAxKg0KK1gxMzE3NjFZMzU5MTA5RDAxKg0KK1gxMzE0OTlZMzU5MjE3RDAxKg0KK1gxMzEyMjNZMzU5MjgzRDAxKg0KK1gxMzA5NDFZMzU5MzA2RDAxKg0KK1gxMzA5MzhZMzU5MzA1RDAxKg0KK1kzOTcwMDBEMDEqDQorWDEzNTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gxMzUxMjRZMzc5MDg5RDAxKg0KK1gxMzQ0NjZZMzc4OTMxRDAxKg0KK1gxMzM4NDFZMzc4NjcyRDAxKg0KK1gxMzMyNjRZMzc4MzE5RDAxKg0KK1gxMzI3NDlZMzc3ODc5RDAxKg0KK1gxMzIzMDlZMzc3MzY0RDAxKg0KK1gxMzE5NTZZMzc2Nzg3RDAxKg0KK1gxMzE2OTdZMzc2MTYyRDAxKg0KK1gxMzE1MzlZMzc1NTA0RDAxKg0KK1gxMzE0ODZZMzc0ODI5RDAxKg0KK1gxMzE1MzlZMzc0MTU0RDAxKg0KK1gxMzE2OTdZMzczNDk2RDAxKg0KK1gxMzE5NTZZMzcyODcxRDAxKg0KK1gxMzIzMDlZMzcyMjk0RDAxKg0KK1gxMzI3NDlZMzcxNzc5RDAxKg0KK1gxMzMyNjRZMzcxMzM5RDAxKg0KK1gxMzM4NDFZMzcwOTg2RDAxKg0KK1gxMzQ0NjZZMzcwNzI3RDAxKg0KK1gxMzUxMjRZMzcwNTY5RDAxKg0KK1gxMzU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDEzNTEyNFkzNjkwODlEMDEqDQorWDEzNDQ2NlkzNjg5MzFEMDEqDQorWDEzMzg0MVkzNjg2NzJEMDEqDQorWDEzMzI2NFkzNjgzMTlEMDEqDQorWDEzMjc0OVkzNjc4NzlEMDEqDQorWDEzMjMwOVkzNjczNjREMDEqDQorWDEzMTk1NlkzNjY3ODdEMDEqDQorWDEzMTY5N1kzNjYxNjJEMDEqDQorWDEzMTUzOVkzNjU1MDREMDEqDQorWDEzMTQ4NlkzNjQ4MjlEMDEqDQorWDEzMTUzOVkzNjQxNTREMDEqDQorWDEzMTY5N1kzNjM0OTZEMDEqDQorWDEzMTk1NlkzNjI4NzFEMDEqDQorWDEzMjMwOVkzNjIyOTREMDEqDQorWDEzMjc0OVkzNjE3NzlEMDEqDQorWDEzMzI2NFkzNjEzMzlEMDEqDQorWDEzMzg0MVkzNjA5ODZEMDEqDQorWDEzNDQ2NlkzNjA3MjdEMDEqDQorWDEzNTEyNFkzNjA1NjlEMDEqDQorWDEzNTc5MlkzNjA1MTZEMDEqDQorWTM0MDI2N0QwMSoNCitYMTM1NzIzWTM0MDI4M0QwMSoNCitYMTM1NDQxWTM0MDMwNkQwMSoNCitYMTM1MTU5WTM0MDI4M0QwMSoNCitYMTM0ODgzWTM0MDIxN0QwMSoNCitYMTM0NjIxWTM0MDEwOUQwMSoNCitYMTM0MzgwWTMzOTk2MUQwMSoNCitYMTM0MTY0WTMzOTc3N0QwMSoNCitYMTMzOTgwWTMzOTU2MUQwMSoNCitYMTMzODMyWTMzOTMyMEQwMSoNCitYMTMzNzI0WTMzOTA1OEQwMSoNCitYMTMzNjU4WTMzODc4MkQwMSoNCitYMTMzNjM1WTMzODUwMEQwMSoNCitYMTMzNjU4WTMzODIxOEQwMSoNCitYMTMzNzI0WTMzNzk0MkQwMSoNCitYMTMzODMyWTMzNzY4MEQwMSoNCitYMTMzOTgwWTMzNzQzOUQwMSoNCitYMTM0MTY0WTMzNzIyM0QwMSoNCitYMTM0MzgwWTMzNzAzOUQwMSoNCitYMTM0NjIxWTMzNjg5MUQwMSoNCitYMTM0ODgzWTMzNjc4M0QwMSoNCitYMTM1MDIwWTMzNjc1MEQwMSoNCitYMTM0ODgzWTMzNjcxN0QwMSoNCitYMTM0NjIxWTMzNjYwOUQwMSoNCitYMTM0MzgwWTMzNjQ2MUQwMSoNCitYMTM0MTY0WTMzNjI3N0QwMSoNCitYMTMzOTgwWTMzNjA2MUQwMSoNCitYMTMzODMyWTMzNTgyMEQwMSoNCitYMTMzNzI0WTMzNTU1OEQwMSoNCitYMTMzNjU4WTMzNTI4MkQwMSoNCitYMTMzNjM1WTMzNTAwMEQwMSoNCitYMTMzNjU4WTMzNDcxOEQwMSoNCitYMTMzNzI0WTMzNDQ0MkQwMSoNCitYMTMzODMyWTMzNDE4MEQwMSoNCitYMTMzOTgwWTMzMzkzOUQwMSoNCitYMTM0MTY0WTMzMzcyM0QwMSoNCitYMTM0MzgwWTMzMzUzOUQwMSoNCitYMTM0NjIxWTMzMzM5MUQwMSoNCitYMTM0ODgzWTMzMzI4M0QwMSoNCitYMTM1MTU5WTMzMzIxN0QwMSoNCitYMTM1NDQxWTMzMzE5NEQwMSoNCitYMTM1NzIzWTMzMzIxN0QwMSoNCitYMTM1NzkyWTMzMzIzM0QwMSoNCitZMTg5MTQyRDAxKg0KK1gxMzUxMjRZMTg5MDg5RDAxKg0KK1gxMzQ0NjZZMTg4OTMxRDAxKg0KK1gxMzM4NDFZMTg4NjcyRDAxKg0KK1gxMzMyNjRZMTg4MzE5RDAxKg0KK1gxMzI3NDlZMTg3ODc5RDAxKg0KK1gxMzIzMDlZMTg3MzY0RDAxKg0KK1gxMzE5NTZZMTg2Nzg3RDAxKg0KK1gxMzE2OTdZMTg2MTYyRDAxKg0KK1gxMzE1MzlZMTg1NTA0RDAxKg0KK1gxMzE0ODZZMTg0ODI5RDAxKg0KK1gxMzE1MzlZMTg0MTU0RDAxKg0KK1gxMzE2OTdZMTgzNDk2RDAxKg0KK1gxMzE5NTZZMTgyODcxRDAxKg0KK1gxMzIzMDlZMTgyMjk0RDAxKg0KK1gxMzI3NDlZMTgxNzc5RDAxKg0KK1gxMzMyNjRZMTgxMzM5RDAxKg0KK1gxMzM4NDFZMTgwOTg2RDAxKg0KK1gxMzQ0NjZZMTgwNzI3RDAxKg0KK1gxMzUxMjRZMTgwNTY5RDAxKg0KK1gxMzU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDEzNTEyNFkxNzkwODlEMDEqDQorWDEzNDQ2NlkxNzg5MzFEMDEqDQorWDEzMzg0MVkxNzg2NzJEMDEqDQorWDEzMzI2NFkxNzgzMTlEMDEqDQorWDEzMjc0OVkxNzc4NzlEMDEqDQorWDEzMjMwOVkxNzczNjREMDEqDQorWDEzMTk1NlkxNzY3ODdEMDEqDQorWDEzMTY5N1kxNzYxNjJEMDEqDQorWDEzMTUzOVkxNzU1MDREMDEqDQorWDEzMTQ4NlkxNzQ4MjlEMDEqDQorWDEzMTUzOVkxNzQxNTREMDEqDQorWDEzMTY5N1kxNzM0OTZEMDEqDQorWDEzMTk1NlkxNzI4NzFEMDEqDQorWDEzMjMwOVkxNzIyOTREMDEqDQorWDEzMjc0OVkxNzE3NzlEMDEqDQorWDEzMzI2NFkxNzEzMzlEMDEqDQorWDEzMzg0MVkxNzA5ODZEMDEqDQorWDEzNDQ2NlkxNzA3MjdEMDEqDQorWDEzNTEyNFkxNzA1NjlEMDEqDQorWDEzNTc5MlkxNzA1MTZEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEzMDkzOEQwMipYMTI3OTM4RDAxKg0KK1kxNDYxOTVEMDEqDQorWDEyNzk0MVkxNDYxOTREMDEqDQorWDEyODIyM1kxNDYyMTdEMDEqDQorWDEyODQ5OVkxNDYyODNEMDEqDQorWDEyODc2MVkxNDYzOTFEMDEqDQorWDEyOTAwMlkxNDY1MzlEMDEqDQorWDEyOTIxOFkxNDY3MjNEMDEqDQorWDEyOTQwMlkxNDY5MzlEMDEqDQorWDEyOTU1MFkxNDcxODBEMDEqDQorWDEyOTY1OFkxNDc0NDJEMDEqDQorWDEyOTcyNFkxNDc3MThEMDEqDQorWDEyOTc0MVkxNDgwMDBEMDEqDQorWDEyOTcyNFkxNDgyODJEMDEqDQorWDEyOTY1OFkxNDg1NThEMDEqDQorWDEyOTU1MFkxNDg4MjBEMDEqDQorWDEyOTQwMlkxNDkwNjFEMDEqDQorWDEyOTIxOFkxNDkyNzdEMDEqDQorWDEyOTAwMlkxNDk0NjFEMDEqDQorWDEyODc2MVkxNDk2MDlEMDEqDQorWDEyODQ5OVkxNDk3MTdEMDEqDQorWDEyODIyM1kxNDk3ODNEMDEqDQorWDEyNzk0MVkxNDk4MDZEMDEqDQorWDEyNzkzOFkxNDk4MDVEMDEqDQorWTE3MTA5N0QwMSoNCitYMTI4MzM0WTE3MTMzOUQwMSoNCitYMTI4ODQ5WTE3MTc3OUQwMSoNCitYMTI5Mjg5WTE3MjI5NEQwMSoNCitYMTI5NjQyWTE3Mjg3MUQwMSoNCitYMTI5OTAxWTE3MzQ5NkQwMSoNCitYMTMwMDU5WTE3NDE1NEQwMSoNCitYMTMwMDk5WTE3NDgyOUQwMSoNCitYMTMwMDU5WTE3NTUwNEQwMSoNCitYMTI5OTAxWTE3NjE2MkQwMSoNCitYMTI5NjQyWTE3Njc4N0QwMSoNCitYMTI5Mjg5WTE3NzM2NEQwMSoNCitYMTI4ODQ5WTE3Nzg3OUQwMSoNCitYMTI4MzM0WTE3ODMxOUQwMSoNCitYMTI3OTM4WTE3ODU2MUQwMSoNCitZMTgxMDk3RDAxKg0KK1gxMjgzMzRZMTgxMzM5RDAxKg0KK1gxMjg4NDlZMTgxNzc5RDAxKg0KK1gxMjkyODlZMTgyMjk0RDAxKg0KK1gxMjk2NDJZMTgyODcxRDAxKg0KK1gxMjk5MDFZMTgzNDk2RDAxKg0KK1gxMzAwNTlZMTg0MTU0RDAxKg0KK1gxMzAwOTlZMTg0ODI5RDAxKg0KK1gxMzAwNTlZMTg1NTA0RDAxKg0KK1gxMjk5MDFZMTg2MTYyRDAxKg0KK1gxMjk2NDJZMTg2Nzg3RDAxKg0KK1gxMjkyODlZMTg3MzY0RDAxKg0KK1gxMjg4NDlZMTg3ODc5RDAxKg0KK1gxMjgzMzRZMTg4MzE5RDAxKg0KK1gxMjc5MzhZMTg4NTYxRDAxKg0KK1kyNDEwMDNEMDEqDQorWDEyODEyMVkyNDA4OTFEMDEqDQorWDEyODM4M1kyNDA3ODNEMDEqDQorWDEyODY1OVkyNDA3MTdEMDEqDQorWDEyODk0MVkyNDA2OTREMDEqDQorWDEyOTIyM1kyNDA3MTdEMDEqDQorWDEyOTQ5OVkyNDA3ODNEMDEqDQorWDEyOTc2MVkyNDA4OTFEMDEqDQorWDEzMDAwMlkyNDEwMzlEMDEqDQorWDEzMDIxOFkyNDEyMjNEMDEqDQorWDEzMDQwMlkyNDE0MzlEMDEqDQorWDEzMDU1MFkyNDE2ODBEMDEqDQorWDEzMDY1OFkyNDE5NDJEMDEqDQorWDEzMDcyNFkyNDIyMThEMDEqDQorWDEzMDc0MVkyNDI1MDBEMDEqDQorWDEzMDcyNFkyNDI3ODJEMDEqDQorWDEzMDY1OFkyNDMwNThEMDEqDQorWDEzMDU1MFkyNDMzMjBEMDEqDQorWDEzMDQwMlkyNDM1NjFEMDEqDQorWDEzMDIxOFkyNDM3NzdEMDEqDQorWDEzMDAwMlkyNDM5NjFEMDEqDQorWDEyOTc2MVkyNDQxMDlEMDEqDQorWDEyOTQ5OVkyNDQyMTdEMDEqDQorWDEyOTIyM1kyNDQyODNEMDEqDQorWDEyODk0MVkyNDQzMDZEMDEqDQorWDEyODY1OVkyNDQyODNEMDEqDQorWDEyODM4M1kyNDQyMTdEMDEqDQorWDEyODEyMVkyNDQxMDlEMDEqDQorWDEyNzkzOFkyNDM5OTdEMDEqDQorWTI0NzAwM0QwMSoNCitYMTI4MTIxWTI0Njg5MUQwMSoNCitYMTI4MzgzWTI0Njc4M0QwMSoNCitYMTI4NjU5WTI0NjcxN0QwMSoNCitYMTI4OTQxWTI0NjY5NEQwMSoNCitYMTI5MjIzWTI0NjcxN0QwMSoNCitYMTI5NDk5WTI0Njc4M0QwMSoNCitYMTI5NzYxWTI0Njg5MUQwMSoNCitYMTMwMDAyWTI0NzAzOUQwMSoNCitYMTMwMjE4WTI0NzIyM0QwMSoNCitYMTMwNDAyWTI0NzQzOUQwMSoNCitYMTMwNTUwWTI0NzY4MEQwMSoNCitYMTMwNjU4WTI0Nzk0MkQwMSoNCitYMTMwNzI0WTI0ODIxOEQwMSoNCitYMTMwNzQxWTI0ODUwMEQwMSoNCitYMTMwNzI0WTI0ODc4MkQwMSoNCitYMTMwNjU4WTI0OTA1OEQwMSoNCitYMTMwNTUwWTI0OTMyMEQwMSoNCitYMTMwNDAyWTI0OTU2MUQwMSoNCitYMTMwMjE4WTI0OTc3N0QwMSoNCitYMTMwMDAyWTI0OTk2MUQwMSoNCitYMTI5NzYxWTI1MDEwOUQwMSoNCitYMTI5NDk5WTI1MDIxN0QwMSoNCitYMTI5MjIzWTI1MDI4M0QwMSoNCitYMTI4OTQxWTI1MDMwNkQwMSoNCitYMTI4NjU5WTI1MDI4M0QwMSoNCitYMTI4MzgzWTI1MDIxN0QwMSoNCitYMTI4MTIxWTI1MDEwOUQwMSoNCitYMTI3OTM4WTI0OTk5N0QwMSoNCitZMjUzNTAzRDAxKg0KK1gxMjgxMjFZMjUzMzkxRDAxKg0KK1gxMjgzODNZMjUzMjgzRDAxKg0KK1gxMjg2NTlZMjUzMjE3RDAxKg0KK1gxMjg5NDFZMjUzMTk0RDAxKg0KK1gxMjkyMjNZMjUzMjE3RDAxKg0KK1gxMjk0OTlZMjUzMjgzRDAxKg0KK1gxMjk3NjFZMjUzMzkxRDAxKg0KK1gxMzAwMDJZMjUzNTM5RDAxKg0KK1gxMzAyMThZMjUzNzIzRDAxKg0KK1gxMzA0MDJZMjUzOTM5RDAxKg0KK1gxMzA1NTBZMjU0MTgwRDAxKg0KK1gxMzA2NThZMjU0NDQyRDAxKg0KK1gxMzA3MjRZMjU0NzE4RDAxKg0KK1gxMzA3NDFZMjU1MDAwRDAxKg0KK1gxMzA3MjRZMjU1MjgyRDAxKg0KK1gxMzA2NThZMjU1NTU4RDAxKg0KK1gxMzA1NTBZMjU1ODIwRDAxKg0KK1gxMzA0MDJZMjU2MDYxRDAxKg0KK1gxMzAyMThZMjU2Mjc3RDAxKg0KK1gxMzAwMDJZMjU2NDYxRDAxKg0KK1gxMjk3NjFZMjU2NjA5RDAxKg0KK1gxMjk0OTlZMjU2NzE3RDAxKg0KK1gxMjkyMjNZMjU2NzgzRDAxKg0KK1gxMjg5NDFZMjU2ODA2RDAxKg0KK1gxMjg2NTlZMjU2NzgzRDAxKg0KK1gxMjgzODNZMjU2NzE3RDAxKg0KK1gxMjgxMjFZMjU2NjA5RDAxKg0KK1gxMjc5MzhZMjU2NDk3RDAxKg0KK1kyNjEwMDNEMDEqDQorWDEyODEyMVkyNjA4OTFEMDEqDQorWDEyODM4M1kyNjA3ODNEMDEqDQorWDEyODY1OVkyNjA3MTdEMDEqDQorWDEyODk0MVkyNjA2OTREMDEqDQorWDEyOTIyM1kyNjA3MTdEMDEqDQorWDEyOTQ5OVkyNjA3ODNEMDEqDQorWDEyOTc2MVkyNjA4OTFEMDEqDQorWDEzMDAwMlkyNjEwMzlEMDEqDQorWDEzMDIxOFkyNjEyMjNEMDEqDQorWDEzMDQwMlkyNjE0MzlEMDEqDQorWDEzMDU1MFkyNjE2ODBEMDEqDQorWDEzMDY1OFkyNjE5NDJEMDEqDQorWDEzMDcyNFkyNjIyMThEMDEqDQorWDEzMDc0MVkyNjI1MDBEMDEqDQorWDEzMDcyNFkyNjI3ODJEMDEqDQorWDEzMDY1OFkyNjMwNThEMDEqDQorWDEzMDU1MFkyNjMzMjBEMDEqDQorWDEzMDQwMlkyNjM1NjFEMDEqDQorWDEzMDIxOFkyNjM3NzdEMDEqDQorWDEzMDAwMlkyNjM5NjFEMDEqDQorWDEyOTc2MVkyNjQxMDlEMDEqDQorWDEyOTQ5OVkyNjQyMTdEMDEqDQorWDEyOTIyM1kyNjQyODNEMDEqDQorWDEyODk0MVkyNjQzMDZEMDEqDQorWDEyODY1OVkyNjQyODNEMDEqDQorWDEyODM4M1kyNjQyMTdEMDEqDQorWDEyODEyMVkyNjQxMDlEMDEqDQorWDEyNzkzOFkyNjM5OTdEMDEqDQorWTI2NzAwM0QwMSoNCitYMTI4MTIxWTI2Njg5MUQwMSoNCitYMTI4MzgzWTI2Njc4M0QwMSoNCitYMTI4NjU5WTI2NjcxN0QwMSoNCitYMTI4OTQxWTI2NjY5NEQwMSoNCitYMTI5MjIzWTI2NjcxN0QwMSoNCitYMTI5NDk5WTI2Njc4M0QwMSoNCitYMTI5NzYxWTI2Njg5MUQwMSoNCitYMTMwMDAyWTI2NzAzOUQwMSoNCitYMTMwMjE4WTI2NzIyM0QwMSoNCitYMTMwNDAyWTI2NzQzOUQwMSoNCitYMTMwNTUwWTI2NzY4MEQwMSoNCitYMTMwNjU4WTI2Nzk0MkQwMSoNCitYMTMwNzI0WTI2ODIxOEQwMSoNCitYMTMwNzQxWTI2ODUwMEQwMSoNCitYMTMwNzI0WTI2ODc4MkQwMSoNCitYMTMwNjU4WTI2OTA1OEQwMSoNCitYMTMwNTUwWTI2OTMyMEQwMSoNCitYMTMwNDAyWTI2OTU2MUQwMSoNCitYMTMwMjE4WTI2OTc3N0QwMSoNCitYMTMwMDAyWTI2OTk2MUQwMSoNCitYMTI5NzYxWTI3MDEwOUQwMSoNCitYMTI5NDk5WTI3MDIxN0QwMSoNCitYMTI5MjIzWTI3MDI4M0QwMSoNCitYMTI4OTQxWTI3MDMwNkQwMSoNCitYMTI4NjU5WTI3MDI4M0QwMSoNCitYMTI4MzgzWTI3MDIxN0QwMSoNCitYMTI4MTIxWTI3MDEwOUQwMSoNCitYMTI3OTM4WTI2OTk5N0QwMSoNCitZMjczMDAzRDAxKg0KK1gxMjgxMjFZMjcyODkxRDAxKg0KK1gxMjgzODNZMjcyNzgzRDAxKg0KK1gxMjg2NTlZMjcyNzE3RDAxKg0KK1gxMjg5NDFZMjcyNjk0RDAxKg0KK1gxMjkyMjNZMjcyNzE3RDAxKg0KK1gxMjk0OTlZMjcyNzgzRDAxKg0KK1gxMjk3NjFZMjcyODkxRDAxKg0KK1gxMzAwMDJZMjczMDM5RDAxKg0KK1gxMzAyMThZMjczMjIzRDAxKg0KK1gxMzA0MDJZMjczNDM5RDAxKg0KK1gxMzA1NTBZMjczNjgwRDAxKg0KK1gxMzA2NThZMjczOTQyRDAxKg0KK1gxMzA3MjRZMjc0MjE4RDAxKg0KK1gxMzA3NDFZMjc0NTAwRDAxKg0KK1gxMzA3MjRZMjc0NzgyRDAxKg0KK1gxMzA2NThZMjc1MDU4RDAxKg0KK1gxMzA1NTBZMjc1MzIwRDAxKg0KK1gxMzA0MDJZMjc1NTYxRDAxKg0KK1gxMzAyMThZMjc1Nzc3RDAxKg0KK1gxMzAwMDJZMjc1OTYxRDAxKg0KK1gxMjk3NjFZMjc2MTA5RDAxKg0KK1gxMjk0OTlZMjc2MjE3RDAxKg0KK1gxMjkyMjNZMjc2MjgzRDAxKg0KK1gxMjg5NDFZMjc2MzA2RDAxKg0KK1gxMjg2NTlZMjc2MjgzRDAxKg0KK1gxMjgzODNZMjc2MjE3RDAxKg0KK1gxMjgxMjFZMjc2MTA5RDAxKg0KK1gxMjc5MzhZMjc1OTk3RDAxKg0KK1kzMzI5OThEMDEqDQorWDEyODA1MFkzMzMxODBEMDEqDQorWDEyODE1OFkzMzM0NDJEMDEqDQorWDEyODIyNFkzMzM3MThEMDEqDQorWDEyODI0MVkzMzQwMDBEMDEqDQorWDEyODIyNFkzMzQyODJEMDEqDQorWDEyODE1OFkzMzQ1NThEMDEqDQorWDEyODA1MFkzMzQ4MjBEMDEqDQorWDEyNzkzOFkzMzUwMDJEMDEqDQorWTMzOTQ5OEQwMSoNCitYMTI4MDUwWTMzOTY4MEQwMSoNCitYMTI4MTU4WTMzOTk0MkQwMSoNCitYMTI4MjI0WTM0MDIxOEQwMSoNCitYMTI4MjQxWTM0MDUwMEQwMSoNCitYMTI4MjI0WTM0MDc4MkQwMSoNCitYMTI4MTU4WTM0MTA1OEQwMSoNCitYMTI4MDUwWTM0MTMyMEQwMSoNCitYMTI3OTM4WTM0MTUwMkQwMSoNCitZMzYxMDk3RDAxKg0KK1gxMjgzMzRZMzYxMzM5RDAxKg0KK1gxMjg4NDlZMzYxNzc5RDAxKg0KK1gxMjkyODlZMzYyMjk0RDAxKg0KK1gxMjk2NDJZMzYyODcxRDAxKg0KK1gxMjk5MDFZMzYzNDk2RDAxKg0KK1gxMzAwNTlZMzY0MTU0RDAxKg0KK1gxMzAwOTlZMzY0ODI5RDAxKg0KK1gxMzAwNTlZMzY1NTA0RDAxKg0KK1gxMjk5MDFZMzY2MTYyRDAxKg0KK1gxMjk2NDJZMzY2Nzg3RDAxKg0KK1gxMjkyODlZMzY3MzY0RDAxKg0KK1gxMjg4NDlZMzY3ODc5RDAxKg0KK1gxMjgzMzRZMzY4MzE5RDAxKg0KK1gxMjc5MzhZMzY4NTYxRDAxKg0KK1kzNzEwOTdEMDEqDQorWDEyODMzNFkzNzEzMzlEMDEqDQorWDEyODg0OVkzNzE3NzlEMDEqDQorWDEyOTI4OVkzNzIyOTREMDEqDQorWDEyOTY0MlkzNzI4NzFEMDEqDQorWDEyOTkwMVkzNzM0OTZEMDEqDQorWDEzMDA1OVkzNzQxNTREMDEqDQorWDEzMDA5OVkzNzQ4MjlEMDEqDQorWDEzMDA1OVkzNzU1MDREMDEqDQorWDEyOTkwMVkzNzYxNjJEMDEqDQorWDEyOTY0MlkzNzY3ODdEMDEqDQorWDEyOTI4OVkzNzczNjREMDEqDQorWDEyODg0OVkzNzc4NzlEMDEqDQorWDEyODMzNFkzNzgzMTlEMDEqDQorWDEyNzkzOFkzNzg1NjFEMDEqDQorWTM5NzAwMEQwMSoNCitYMTMwOTM4RDAxKg0KK1kzNTkzMDVEMDEqDQorWDEzMDY1OVkzNTkyODNEMDEqDQorWDEzMDM4M1kzNTkyMTdEMDEqDQorWDEzMDEyMVkzNTkxMDlEMDEqDQorWDEyOTg4MFkzNTg5NjFEMDEqDQorWDEyOTY2NFkzNTg3NzdEMDEqDQorWDEyOTQ4MFkzNTg1NjFEMDEqDQorWDEyOTMzMlkzNTgzMjBEMDEqDQorWDEyOTIyNFkzNTgwNThEMDEqDQorWDEyOTE1OFkzNTc3ODJEMDEqDQorWDEyOTEzNVkzNTc1MDBEMDEqDQorWDEyOTE1OFkzNTcyMThEMDEqDQorWDEyOTIyNFkzNTY5NDJEMDEqDQorWDEyOTMzMlkzNTY2ODBEMDEqDQorWDEyOTQ4MFkzNTY0MzlEMDEqDQorWDEyOTY2NFkzNTYyMjNEMDEqDQorWDEyOTg4MFkzNTYwMzlEMDEqDQorWDEzMDEyMVkzNTU4OTFEMDEqDQorWDEzMDM4M1kzNTU3ODNEMDEqDQorWDEzMDY1OVkzNTU3MTdEMDEqDQorWDEzMDkzOFkzNTU2OTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEyNzkzOFkzNzg1NjFEMDIqWDEyNzc1N1kzNzg2NzJEMDEqDQorWDEyNzEzMlkzNzg5MzFEMDEqDQorWDEyNjQ3NFkzNzkwODlEMDEqDQorWDEyNTc5OVkzNzkxNDJEMDEqDQorWDEyNTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMTI3OTM4RDAxKg0KK1kzNzg1NjFEMDEqDQorRzM3Kg0KK0czNioNCitZMzY4NTYxRDAyKlgxMjc3NTdZMzY4NjcyRDAxKg0KK1gxMjcxMzJZMzY4OTMxRDAxKg0KK1gxMjY0NzRZMzY5MDg5RDAxKg0KK1gxMjU3OTlZMzY5MTQyRDAxKg0KK1gxMjU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDEyNTc5OVkzNzA1MTZEMDEqDQorWDEyNjQ3NFkzNzA1NjlEMDEqDQorWDEyNzEzMlkzNzA3MjdEMDEqDQorWDEyNzc1N1kzNzA5ODZEMDEqDQorWDEyNzkzOFkzNzEwOTdEMDEqDQorWTM2ODU2MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNDE1MDJEMDIqWDEyNzkwMlkzNDE1NjFEMDEqDQorWDEyNzcxOFkzNDE3NzdEMDEqDQorWDEyNzUwMlkzNDE5NjFEMDEqDQorWDEyNzI2MVkzNDIxMDlEMDEqDQorWDEyNjk5OVkzNDIyMTdEMDEqDQorWDEyNjcyM1kzNDIyODNEMDEqDQorWDEyNjQ0MVkzNDIzMDZEMDEqDQorWDEyNjE1OVkzNDIyODNEMDEqDQorWDEyNTg4M1kzNDIyMTdEMDEqDQorWDEyNTc5MlkzNDIxODBEMDEqDQorWTM2MDUxNkQwMSoNCitYMTI1Nzk5WTM2MDUxNkQwMSoNCitYMTI2NDc0WTM2MDU2OUQwMSoNCitYMTI3MTMyWTM2MDcyN0QwMSoNCitYMTI3NzU3WTM2MDk4NkQwMSoNCitYMTI3OTM4WTM2MTA5N0QwMSoNCitZMzQxNTAyRDAxKg0KK0czNyoNCitHMzYqDQorWTMzNTAwMkQwMipYMTI3OTAyWTMzNTA2MUQwMSoNCitYMTI3NzE4WTMzNTI3N0QwMSoNCitYMTI3NTAyWTMzNTQ2MUQwMSoNCitYMTI3MjYxWTMzNTYwOUQwMSoNCitYMTI2OTk5WTMzNTcxN0QwMSoNCitYMTI2NzIzWTMzNTc4M0QwMSoNCitYMTI2NDQxWTMzNTgwNkQwMSoNCitYMTI2MTU5WTMzNTc4M0QwMSoNCitYMTI1ODgzWTMzNTcxN0QwMSoNCitYMTI1NzkyWTMzNTY4MEQwMSoNCitZMzM4ODIwRDAxKg0KK1gxMjU4ODNZMzM4NzgzRDAxKg0KK1gxMjYxNTlZMzM4NzE3RDAxKg0KK1gxMjY0NDFZMzM4Njk0RDAxKg0KK1gxMjY3MjNZMzM4NzE3RDAxKg0KK1gxMjY5OTlZMzM4NzgzRDAxKg0KK1gxMjcyNjFZMzM4ODkxRDAxKg0KK1gxMjc1MDJZMzM5MDM5RDAxKg0KK1gxMjc3MThZMzM5MjIzRDAxKg0KK1gxMjc5MDJZMzM5NDM5RDAxKg0KK1gxMjc5MzhZMzM5NDk4RDAxKg0KK1kzMzUwMDJEMDEqDQorRzM3Kg0KK0czNioNCitZMTg4NTYxRDAyKlgxMjc3NTdZMTg4NjcyRDAxKg0KK1gxMjcxMzJZMTg4OTMxRDAxKg0KK1gxMjY0NzRZMTg5MDg5RDAxKg0KK1gxMjU3OTlZMTg5MTQyRDAxKg0KK1gxMjU3OTJZMTg5MTQyRDAxKg0KK1kzMDA4NjNEMDEqDQorWDEyNTg5MlkzMDA5MjREMDEqDQorWDEyNjEwOFkzMDExMDhEMDEqDQorWDEyNjI5MlkzMDEzMjREMDEqDQorWDEyNjQ0MFkzMDE1NjVEMDEqDQorWDEyNjU0OFkzMDE4MjdEMDEqDQorWDEyNjYxNFkzMDIxMDNEMDEqDQorWDEyNjYzMVkzMDIzODVEMDEqDQorWDEyNjYxNFkzMDI2NjdEMDEqDQorWDEyNjU0OFkzMDI5NDNEMDEqDQorWDEyNjQ0MFkzMDMyMDVEMDEqDQorWDEyNjI5MlkzMDM0NDZEMDEqDQorWDEyNjEwOFkzMDM2NjJEMDEqDQorWDEyNTg5MlkzMDM4NDZEMDEqDQorWDEyNTc5MlkzMDM5MDdEMDEqDQorWTMzMjMyMEQwMSoNCitYMTI1ODgzWTMzMjI4M0QwMSoNCitYMTI2MTU5WTMzMjIxN0QwMSoNCitYMTI2NDQxWTMzMjE5NEQwMSoNCitYMTI2NzIzWTMzMjIxN0QwMSoNCitYMTI2OTk5WTMzMjI4M0QwMSoNCitYMTI3MjYxWTMzMjM5MUQwMSoNCitYMTI3NTAyWTMzMjUzOUQwMSoNCitYMTI3NzE4WTMzMjcyM0QwMSoNCitYMTI3OTAyWTMzMjkzOUQwMSoNCitYMTI3OTM4WTMzMjk5OEQwMSoNCitZMjc1OTk3RDAxKg0KK1gxMjc4ODBZMjc1OTYxRDAxKg0KK1gxMjc2NjRZMjc1Nzc3RDAxKg0KK1gxMjc0ODBZMjc1NTYxRDAxKg0KK1gxMjczMzJZMjc1MzIwRDAxKg0KK1gxMjcyMjRZMjc1MDU4RDAxKg0KK1gxMjcxNThZMjc0NzgyRDAxKg0KK1gxMjcxMzVZMjc0NTAwRDAxKg0KK1gxMjcxNThZMjc0MjE4RDAxKg0KK1gxMjcyMjRZMjczOTQyRDAxKg0KK1gxMjczMzJZMjczNjgwRDAxKg0KK1gxMjc0ODBZMjczNDM5RDAxKg0KK1gxMjc2NjRZMjczMjIzRDAxKg0KK1gxMjc4ODBZMjczMDM5RDAxKg0KK1gxMjc5MzhZMjczMDAzRDAxKg0KK1kyNjk5OTdEMDEqDQorWDEyNzg4MFkyNjk5NjFEMDEqDQorWDEyNzY2NFkyNjk3NzdEMDEqDQorWDEyNzQ4MFkyNjk1NjFEMDEqDQorWDEyNzMzMlkyNjkzMjBEMDEqDQorWDEyNzIyNFkyNjkwNThEMDEqDQorWDEyNzE1OFkyNjg3ODJEMDEqDQorWDEyNzEzNVkyNjg1MDBEMDEqDQorWDEyNzE1OFkyNjgyMThEMDEqDQorWDEyNzIyNFkyNjc5NDJEMDEqDQorWDEyNzMzMlkyNjc2ODBEMDEqDQorWDEyNzQ4MFkyNjc0MzlEMDEqDQorWDEyNzY2NFkyNjcyMjNEMDEqDQorWDEyNzg4MFkyNjcwMzlEMDEqDQorWDEyNzkzOFkyNjcwMDNEMDEqDQorWTI2Mzk5N0QwMSoNCitYMTI3ODgwWTI2Mzk2MUQwMSoNCitYMTI3NjY0WTI2Mzc3N0QwMSoNCitYMTI3NDgwWTI2MzU2MUQwMSoNCitYMTI3MzMyWTI2MzMyMEQwMSoNCitYMTI3MjI0WTI2MzA1OEQwMSoNCitYMTI3MTU4WTI2Mjc4MkQwMSoNCitYMTI3MTM1WTI2MjUwMEQwMSoNCitYMTI3MTU4WTI2MjIxOEQwMSoNCitYMTI3MjI0WTI2MTk0MkQwMSoNCitYMTI3MzMyWTI2MTY4MEQwMSoNCitYMTI3NDgwWTI2MTQzOUQwMSoNCitYMTI3NjY0WTI2MTIyM0QwMSoNCitYMTI3ODgwWTI2MTAzOUQwMSoNCitYMTI3OTM4WTI2MTAwM0QwMSoNCitZMjU2NDk3RDAxKg0KK1gxMjc4ODBZMjU2NDYxRDAxKg0KK1gxMjc2NjRZMjU2Mjc3RDAxKg0KK1gxMjc0ODBZMjU2MDYxRDAxKg0KK1gxMjczMzJZMjU1ODIwRDAxKg0KK1gxMjcyMjRZMjU1NTU4RDAxKg0KK1gxMjcxNThZMjU1MjgyRDAxKg0KK1gxMjcxMzVZMjU1MDAwRDAxKg0KK1gxMjcxNThZMjU0NzE4RDAxKg0KK1gxMjcyMjRZMjU0NDQyRDAxKg0KK1gxMjczMzJZMjU0MTgwRDAxKg0KK1gxMjc0ODBZMjUzOTM5RDAxKg0KK1gxMjc2NjRZMjUzNzIzRDAxKg0KK1gxMjc4ODBZMjUzNTM5RDAxKg0KK1gxMjc5MzhZMjUzNTAzRDAxKg0KK1kyNDk5OTdEMDEqDQorWDEyNzg4MFkyNDk5NjFEMDEqDQorWDEyNzY2NFkyNDk3NzdEMDEqDQorWDEyNzQ4MFkyNDk1NjFEMDEqDQorWDEyNzMzMlkyNDkzMjBEMDEqDQorWDEyNzIyNFkyNDkwNThEMDEqDQorWDEyNzE1OFkyNDg3ODJEMDEqDQorWDEyNzEzNVkyNDg1MDBEMDEqDQorWDEyNzE1OFkyNDgyMThEMDEqDQorWDEyNzIyNFkyNDc5NDJEMDEqDQorWDEyNzMzMlkyNDc2ODBEMDEqDQorWDEyNzQ4MFkyNDc0MzlEMDEqDQorWDEyNzY2NFkyNDcyMjNEMDEqDQorWDEyNzg4MFkyNDcwMzlEMDEqDQorWDEyNzkzOFkyNDcwMDNEMDEqDQorWTI0Mzk5N0QwMSoNCitYMTI3ODgwWTI0Mzk2MUQwMSoNCitYMTI3NjY0WTI0Mzc3N0QwMSoNCitYMTI3NDgwWTI0MzU2MUQwMSoNCitYMTI3MzMyWTI0MzMyMEQwMSoNCitYMTI3MjI0WTI0MzA1OEQwMSoNCitYMTI3MTU4WTI0Mjc4MkQwMSoNCitYMTI3MTM1WTI0MjUwMEQwMSoNCitYMTI3MTU4WTI0MjIxOEQwMSoNCitYMTI3MjI0WTI0MTk0MkQwMSoNCitYMTI3MzMyWTI0MTY4MEQwMSoNCitYMTI3NDgwWTI0MTQzOUQwMSoNCitYMTI3NjY0WTI0MTIyM0QwMSoNCitYMTI3ODgwWTI0MTAzOUQwMSoNCitYMTI3OTM4WTI0MTAwM0QwMSoNCitZMTg4NTYxRDAxKg0KK0czNyoNCitHMzYqDQorWTE3ODU2MUQwMipYMTI3NzU3WTE3ODY3MkQwMSoNCitYMTI3MTMyWTE3ODkzMUQwMSoNCitYMTI2NDc0WTE3OTA4OUQwMSoNCitYMTI1Nzk5WTE3OTE0MkQwMSoNCitYMTI1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gxMjU3OTlZMTgwNTE2RDAxKg0KK1gxMjY0NzRZMTgwNTY5RDAxKg0KK1gxMjcxMzJZMTgwNzI3RDAxKg0KK1gxMjc3NTdZMTgwOTg2RDAxKg0KK1gxMjc5MzhZMTgxMDk3RDAxKg0KK1kxNzg1NjFEMDEqDQorRzM3Kg0KK0czNioNCitZOTcwMDBEMDIqWDEyNTc5MkQwMSoNCitZMTcwNTE2RDAxKg0KK1gxMjU3OTlZMTcwNTE2RDAxKg0KK1gxMjY0NzRZMTcwNTY5RDAxKg0KK1gxMjcxMzJZMTcwNzI3RDAxKg0KK1gxMjc3NTdZMTcwOTg2RDAxKg0KK1gxMjc5MzhZMTcxMDk3RDAxKg0KK1kxNDk4MDVEMDEqDQorWDEyNzY1OVkxNDk3ODNEMDEqDQorWDEyNzM4M1kxNDk3MTdEMDEqDQorWDEyNzEyMVkxNDk2MDlEMDEqDQorWDEyNjg4MFkxNDk0NjFEMDEqDQorWDEyNjY2NFkxNDkyNzdEMDEqDQorWDEyNjQ4MFkxNDkwNjFEMDEqDQorWDEyNjMzMlkxNDg4MjBEMDEqDQorWDEyNjIyNFkxNDg1NThEMDEqDQorWDEyNjE1OFkxNDgyODJEMDEqDQorWDEyNjEzNVkxNDgwMDBEMDEqDQorWDEyNjE1OFkxNDc3MThEMDEqDQorWDEyNjIyNFkxNDc0NDJEMDEqDQorWDEyNjMzMlkxNDcxODBEMDEqDQorWDEyNjQ4MFkxNDY5MzlEMDEqDQorWDEyNjY2NFkxNDY3MjNEMDEqDQorWDEyNjg4MFkxNDY1MzlEMDEqDQorWDEyNzEyMVkxNDYzOTFEMDEqDQorWDEyNzM4M1kxNDYyODNEMDEqDQorWDEyNzY1OVkxNDYyMTdEMDEqDQorWDEyNzkzOFkxNDYxOTVEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEyMTkzOFkxODI5MTNEMDIqWDEyMTk1NlkxODI4NzFEMDEqDQorWDEyMjMwOVkxODIyOTREMDEqDQorWDEyMjc0OVkxODE3NzlEMDEqDQorWDEyMzI2NFkxODEzMzlEMDEqDQorWDEyMzg0MVkxODA5ODZEMDEqDQorWDEyNDQ2NlkxODA3MjdEMDEqDQorWDEyNTEyNFkxODA1NjlEMDEqDQorWDEyNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMTI1MTI0WTE3OTA4OUQwMSoNCitYMTI0NDY2WTE3ODkzMUQwMSoNCitYMTIzODQxWTE3ODY3MkQwMSoNCitYMTIzMjY0WTE3ODMxOUQwMSoNCitYMTIyNzQ5WTE3Nzg3OUQwMSoNCitYMTIyMzA5WTE3NzM2NEQwMSoNCitYMTIxOTU2WTE3Njc4N0QwMSoNCitYMTIxOTM4WTE3Njc0NUQwMSoNCitZMTgyOTEzRDAxKg0KK0czNyoNCitHMzYqDQorWTM2MjkxM0QwMipYMTIxOTU2WTM2Mjg3MUQwMSoNCitYMTIyMzA5WTM2MjI5NEQwMSoNCitYMTIyNzQ5WTM2MTc3OUQwMSoNCitYMTIzMjY0WTM2MTMzOUQwMSoNCitYMTIzODQxWTM2MDk4NkQwMSoNCitYMTI0NDY2WTM2MDcyN0QwMSoNCitYMTI1MTI0WTM2MDU2OUQwMSoNCitYMTI1NzkyWTM2MDUxNkQwMSoNCitZMzQyMTgwRDAxKg0KK1gxMjU2MjFZMzQyMTA5RDAxKg0KK1gxMjUzODBZMzQxOTYxRDAxKg0KK1gxMjUxNjRZMzQxNzc3RDAxKg0KK1gxMjQ5ODBZMzQxNTYxRDAxKg0KK1gxMjQ4MzJZMzQxMzIwRDAxKg0KK1gxMjQ3MjRZMzQxMDU4RDAxKg0KK1gxMjQ2NThZMzQwNzgyRDAxKg0KK1gxMjQ2MzVZMzQwNTAwRDAxKg0KK1gxMjQ2NThZMzQwMjE4RDAxKg0KK1gxMjQ3MjRZMzM5OTQyRDAxKg0KK1gxMjQ4MzJZMzM5NjgwRDAxKg0KK1gxMjQ5ODBZMzM5NDM5RDAxKg0KK1gxMjUxNjRZMzM5MjIzRDAxKg0KK1gxMjUzODBZMzM5MDM5RDAxKg0KK1gxMjU2MjFZMzM4ODkxRDAxKg0KK1gxMjU3OTJZMzM4ODIwRDAxKg0KK1kzMzU2ODBEMDEqDQorWDEyNTYyMVkzMzU2MDlEMDEqDQorWDEyNTM4MFkzMzU0NjFEMDEqDQorWDEyNTE2NFkzMzUyNzdEMDEqDQorWDEyNDk4MFkzMzUwNjFEMDEqDQorWDEyNDgzMlkzMzQ4MjBEMDEqDQorWDEyNDcyNFkzMzQ1NThEMDEqDQorWDEyNDY1OFkzMzQyODJEMDEqDQorWDEyNDYzNVkzMzQwMDBEMDEqDQorWDEyNDY1OFkzMzM3MThEMDEqDQorWDEyNDcyNFkzMzM0NDJEMDEqDQorWDEyNDgzMlkzMzMxODBEMDEqDQorWDEyNDk4MFkzMzI5MzlEMDEqDQorWDEyNTE2NFkzMzI3MjNEMDEqDQorWDEyNTM4MFkzMzI1MzlEMDEqDQorWDEyNTYyMVkzMzIzOTFEMDEqDQorWDEyNTc5MlkzMzIzMjBEMDEqDQorWTMwMzkwN0QwMSoNCitYMTI1NjUxWTMwMzk5NEQwMSoNCitYMTI1Mzg5WTMwNDEwMkQwMSoNCitYMTI1MTEzWTMwNDE2OEQwMSoNCitYMTI0ODMxWTMwNDE5MUQwMSoNCitYMTI0NTQ5WTMwNDE2OEQwMSoNCitYMTI0MjczWTMwNDEwMkQwMSoNCitYMTI0MDExWTMwMzk5NEQwMSoNCitYMTIzNzcwWTMwMzg0NkQwMSoNCitYMTIzNTU0WTMwMzY2MkQwMSoNCitYMTIzMzcwWTMwMzQ0NkQwMSoNCitYMTIzMjIyWTMwMzIwNUQwMSoNCitYMTIzMTE0WTMwMjk0M0QwMSoNCitYMTIzMDQ4WTMwMjY2N0QwMSoNCitYMTIzMDI1WTMwMjM4NUQwMSoNCitYMTIzMDQ4WTMwMjEwM0QwMSoNCitYMTIzMTE0WTMwMTgyN0QwMSoNCitYMTIzMjIyWTMwMTU2NUQwMSoNCitYMTIzMzcwWTMwMTMyNEQwMSoNCitYMTIzNTU0WTMwMTEwOEQwMSoNCitYMTIzNzcwWTMwMDkyNEQwMSoNCitYMTI0MDExWTMwMDc3NkQwMSoNCitYMTI0MjczWTMwMDY2OEQwMSoNCitYMTI0NTQ5WTMwMDYwMkQwMSoNCitYMTI0ODMxWTMwMDU3OUQwMSoNCitYMTI1MTEzWTMwMDYwMkQwMSoNCitYMTI1Mzg5WTMwMDY2OEQwMSoNCitYMTI1NjUxWTMwMDc3NkQwMSoNCitYMTI1NzkyWTMwMDg2M0QwMSoNCitZMTg5MTQyRDAxKg0KK1gxMjUxMjRZMTg5MDg5RDAxKg0KK1gxMjQ0NjZZMTg4OTMxRDAxKg0KK1gxMjM4NDFZMTg4NjcyRDAxKg0KK1gxMjMyNjRZMTg4MzE5RDAxKg0KK1gxMjI3NDlZMTg3ODc5RDAxKg0KK1gxMjIzMDlZMTg3MzY0RDAxKg0KK1gxMjE5NTZZMTg2Nzg3RDAxKg0KK1gxMjE5MzhZMTg2NzQ1RDAxKg0KK1kzNTU2OTVEMDEqDQorWDEyMTk0MVkzNTU2OTREMDEqDQorWDEyMjIyM1kzNTU3MTdEMDEqDQorWDEyMjQ5OVkzNTU3ODNEMDEqDQorWDEyMjc2MVkzNTU4OTFEMDEqDQorWDEyMzAwMlkzNTYwMzlEMDEqDQorWDEyMzIxOFkzNTYyMjNEMDEqDQorWDEyMzQwMlkzNTY0MzlEMDEqDQorWDEyMzU1MFkzNTY2ODBEMDEqDQorWDEyMzY1OFkzNTY5NDJEMDEqDQorWDEyMzcyNFkzNTcyMThEMDEqDQorWDEyMzc0MVkzNTc1MDBEMDEqDQorWDEyMzcyNFkzNTc3ODJEMDEqDQorWDEyMzY1OFkzNTgwNThEMDEqDQorWDEyMzU1MFkzNTgzMjBEMDEqDQorWDEyMzQwMlkzNTg1NjFEMDEqDQorWDEyMzIxOFkzNTg3NzdEMDEqDQorWDEyMzAwMlkzNTg5NjFEMDEqDQorWDEyMjc2MVkzNTkxMDlEMDEqDQorWDEyMjQ5OVkzNTkyMTdEMDEqDQorWDEyMjIyM1kzNTkyODNEMDEqDQorWDEyMTk0MVkzNTkzMDZEMDEqDQorWDEyMTkzOFkzNTkzMDVEMDEqDQorWTM2MjkxM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzI5MTNEMDIqWDEyMTk1NlkzNzI4NzFEMDEqDQorWDEyMjMwOVkzNzIyOTREMDEqDQorWDEyMjc0OVkzNzE3NzlEMDEqDQorWDEyMzI2NFkzNzEzMzlEMDEqDQorWDEyMzg0MVkzNzA5ODZEMDEqDQorWDEyNDQ2NlkzNzA3MjdEMDEqDQorWDEyNTEyNFkzNzA1NjlEMDEqDQorWDEyNTc5MlkzNzA1MTZEMDEqDQorWTM2OTE0MkQwMSoNCitYMTI1MTI0WTM2OTA4OUQwMSoNCitYMTI0NDY2WTM2ODkzMUQwMSoNCitYMTIzODQxWTM2ODY3MkQwMSoNCitYMTIzMjY0WTM2ODMxOUQwMSoNCitYMTIyNzQ5WTM2Nzg3OUQwMSoNCitYMTIyMzA5WTM2NzM2NEQwMSoNCitYMTIxOTU2WTM2Njc4N0QwMSoNCitYMTIxOTM4WTM2Njc0NUQwMSoNCitZMzcyOTEzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5NzAwMEQwMipYMTI1NzkyRDAxKg0KK1kzNzkxNDJEMDEqDQorWDEyNTEyNFkzNzkwODlEMDEqDQorWDEyNDQ2NlkzNzg5MzFEMDEqDQorWDEyMzg0MVkzNzg2NzJEMDEqDQorWDEyMzI2NFkzNzgzMTlEMDEqDQorWDEyMjc0OVkzNzc4NzlEMDEqDQorWDEyMjMwOVkzNzczNjREMDEqDQorWDEyMTk1NlkzNzY3ODdEMDEqDQorWDEyMTkzOFkzNzY3NDVEMDEqDQorWTM5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMjU3OTJZOTcwMDBEMDIqWDEyMTkzOEQwMSoNCitZMTcyOTEzRDAxKg0KK1gxMjE5NTZZMTcyODcxRDAxKg0KK1gxMjIzMDlZMTcyMjk0RDAxKg0KK1gxMjI3NDlZMTcxNzc5RDAxKg0KK1gxMjMyNjRZMTcxMzM5RDAxKg0KK1gxMjM4NDFZMTcwOTg2RDAxKg0KK1gxMjQ0NjZZMTcwNzI3RDAxKg0KK1gxMjUxMjRZMTcwNTY5RDAxKg0KK1gxMjU3OTJZMTcwNTE2RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMjE5MzhEMDIqWDExNzkzOEQwMSoNCitZMTcxMDk3RDAxKg0KK1gxMTgzMzRZMTcxMzM5RDAxKg0KK1gxMTg4NDlZMTcxNzc5RDAxKg0KK1gxMTkyODlZMTcyMjk0RDAxKg0KK1gxMTk2NDJZMTcyODcxRDAxKg0KK1gxMTk5MDFZMTczNDk2RDAxKg0KK1gxMjAwNTlZMTc0MTU0RDAxKg0KK1gxMjAwOTlZMTc0ODI5RDAxKg0KK1gxMjAwNTlZMTc1NTA0RDAxKg0KK1gxMTk5MDFZMTc2MTYyRDAxKg0KK1gxMTk2NDJZMTc2Nzg3RDAxKg0KK1gxMTkyODlZMTc3MzY0RDAxKg0KK1gxMTg4NDlZMTc3ODc5RDAxKg0KK1gxMTgzMzRZMTc4MzE5RDAxKg0KK1gxMTc5MzhZMTc4NTYxRDAxKg0KK1kxODEwOTdEMDEqDQorWDExODMzNFkxODEzMzlEMDEqDQorWDExODg0OVkxODE3NzlEMDEqDQorWDExOTI4OVkxODIyOTREMDEqDQorWDExOTY0MlkxODI4NzFEMDEqDQorWDExOTkwMVkxODM0OTZEMDEqDQorWDEyMDA1OVkxODQxNTREMDEqDQorWDEyMDA5OVkxODQ4MjlEMDEqDQorWDEyMDA1OVkxODU1MDREMDEqDQorWDExOTkwMVkxODYxNjJEMDEqDQorWDExOTY0MlkxODY3ODdEMDEqDQorWDExOTI4OVkxODczNjREMDEqDQorWDExODg0OVkxODc4NzlEMDEqDQorWDExODMzNFkxODgzMTlEMDEqDQorWDExNzkzOFkxODg1NjFEMDEqDQorWTMzMjE5NUQwMSoNCitYMTE3OTQxWTMzMjE5NEQwMSoNCitYMTE4MjIzWTMzMjIxN0QwMSoNCitYMTE4NDk5WTMzMjI4M0QwMSoNCitYMTE4NzYxWTMzMjM5MUQwMSoNCitYMTE5MDAyWTMzMjUzOUQwMSoNCitYMTE5MjE4WTMzMjcyM0QwMSoNCitYMTE5NDAyWTMzMjkzOUQwMSoNCitYMTE5NTUwWTMzMzE4MEQwMSoNCitYMTE5NjU4WTMzMzQ0MkQwMSoNCitYMTE5NzI0WTMzMzcxOEQwMSoNCitYMTE5NzQxWTMzNDAwMEQwMSoNCitYMTE5NzI0WTMzNDI4MkQwMSoNCitYMTE5NjU4WTMzNDU1OEQwMSoNCitYMTE5NTUwWTMzNDgyMEQwMSoNCitYMTE5NDAyWTMzNTA2MUQwMSoNCitYMTE5MjE4WTMzNTI3N0QwMSoNCitYMTE5MDAyWTMzNTQ2MUQwMSoNCitYMTE4NzYxWTMzNTYwOUQwMSoNCitYMTE4NDk5WTMzNTcxN0QwMSoNCitYMTE4MjIzWTMzNTc4M0QwMSoNCitYMTE3OTQxWTMzNTgwNkQwMSoNCitYMTE3OTM4WTMzNTgwNUQwMSoNCitZMzYxMDk3RDAxKg0KK1gxMTgzMzRZMzYxMzM5RDAxKg0KK1gxMTg4NDlZMzYxNzc5RDAxKg0KK1gxMTkyODlZMzYyMjk0RDAxKg0KK1gxMTk2NDJZMzYyODcxRDAxKg0KK1gxMTk5MDFZMzYzNDk2RDAxKg0KK1gxMjAwNTlZMzY0MTU0RDAxKg0KK1gxMjAwOTlZMzY0ODI5RDAxKg0KK1gxMjAwNTlZMzY1NTA0RDAxKg0KK1gxMTk5MDFZMzY2MTYyRDAxKg0KK1gxMTk2NDJZMzY2Nzg3RDAxKg0KK1gxMTkyODlZMzY3MzY0RDAxKg0KK1gxMTg4NDlZMzY3ODc5RDAxKg0KK1gxMTgzMzRZMzY4MzE5RDAxKg0KK1gxMTc5MzhZMzY4NTYxRDAxKg0KK1kzNzEwOTdEMDEqDQorWDExODMzNFkzNzEzMzlEMDEqDQorWDExODg0OVkzNzE3NzlEMDEqDQorWDExOTI4OVkzNzIyOTREMDEqDQorWDExOTY0MlkzNzI4NzFEMDEqDQorWDExOTkwMVkzNzM0OTZEMDEqDQorWDEyMDA1OVkzNzQxNTREMDEqDQorWDEyMDA5OVkzNzQ4MjlEMDEqDQorWDEyMDA1OVkzNzU1MDREMDEqDQorWDExOTkwMVkzNzYxNjJEMDEqDQorWDExOTY0MlkzNzY3ODdEMDEqDQorWDExOTI4OVkzNzczNjREMDEqDQorWDExODg0OVkzNzc4NzlEMDEqDQorWDExODMzNFkzNzgzMTlEMDEqDQorWDExNzkzOFkzNzg1NjFEMDEqDQorWTM5NzAwMEQwMSoNCitYMTIxOTM4RDAxKg0KK1kzNzY3NDVEMDEqDQorWDEyMTY5N1kzNzYxNjJEMDEqDQorWDEyMTUzOVkzNzU1MDREMDEqDQorWDEyMTQ4NlkzNzQ4MjlEMDEqDQorWDEyMTUzOVkzNzQxNTREMDEqDQorWDEyMTY5N1kzNzM0OTZEMDEqDQorWDEyMTkzOFkzNzI5MTNEMDEqDQorWTM2Njc0NUQwMSoNCitYMTIxNjk3WTM2NjE2MkQwMSoNCitYMTIxNTM5WTM2NTUwNEQwMSoNCitYMTIxNDg2WTM2NDgyOUQwMSoNCitYMTIxNTM5WTM2NDE1NEQwMSoNCitYMTIxNjk3WTM2MzQ5NkQwMSoNCitYMTIxOTM4WTM2MjkxM0QwMSoNCitZMzU5MzA1RDAxKg0KK1gxMjE2NTlZMzU5MjgzRDAxKg0KK1gxMjEzODNZMzU5MjE3RDAxKg0KK1gxMjExMjFZMzU5MTA5RDAxKg0KK1gxMjA4ODBZMzU4OTYxRDAxKg0KK1gxMjA2NjRZMzU4Nzc3RDAxKg0KK1gxMjA0ODBZMzU4NTYxRDAxKg0KK1gxMjAzMzJZMzU4MzIwRDAxKg0KK1gxMjAyMjRZMzU4MDU4RDAxKg0KK1gxMjAxNThZMzU3NzgyRDAxKg0KK1gxMjAxMzVZMzU3NTAwRDAxKg0KK1gxMjAxNThZMzU3MjE4RDAxKg0KK1gxMjAyMjRZMzU2OTQyRDAxKg0KK1gxMjAzMzJZMzU2NjgwRDAxKg0KK1gxMjA0ODBZMzU2NDM5RDAxKg0KK1gxMjA2NjRZMzU2MjIzRDAxKg0KK1gxMjA4ODBZMzU2MDM5RDAxKg0KK1gxMjExMjFZMzU1ODkxRDAxKg0KK1gxMjEzODNZMzU1NzgzRDAxKg0KK1gxMjE2NTlZMzU1NzE3RDAxKg0KK1gxMjE5MzhZMzU1Njk1RDAxKg0KK1kxODY3NDVEMDEqDQorWDEyMTY5N1kxODYxNjJEMDEqDQorWDEyMTUzOVkxODU1MDREMDEqDQorWDEyMTQ4NlkxODQ4MjlEMDEqDQorWDEyMTUzOVkxODQxNTREMDEqDQorWDEyMTY5N1kxODM0OTZEMDEqDQorWDEyMTkzOFkxODI5MTNEMDEqDQorWTE3Njc0NUQwMSoNCitYMTIxNjk3WTE3NjE2MkQwMSoNCitYMTIxNTM5WTE3NTUwNEQwMSoNCitYMTIxNDg2WTE3NDgyOUQwMSoNCitYMTIxNTM5WTE3NDE1NEQwMSoNCitYMTIxNjk3WTE3MzQ5NkQwMSoNCitYMTIxOTM4WTE3MjkxM0QwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE3OTM4WTM3ODU2MUQwMipYMTE3NzU3WTM3ODY3MkQwMSoNCitYMTE3MTMyWTM3ODkzMUQwMSoNCitYMTE2NDc0WTM3OTA4OUQwMSoNCitYMTE1Nzk5WTM3OTE0MkQwMSoNCitYMTE1NzkyWTM3OTE0MkQwMSoNCitZMzk3MDAwRDAxKg0KK1gxMTc5MzhEMDEqDQorWTM3ODU2MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjg1NjFEMDIqWDExNzc1N1kzNjg2NzJEMDEqDQorWDExNzEzMlkzNjg5MzFEMDEqDQorWDExNjQ3NFkzNjkwODlEMDEqDQorWDExNTc5OVkzNjkxNDJEMDEqDQorWDExNTc5MlkzNjkxNDJEMDEqDQorWTM3MDUxNkQwMSoNCitYMTE1Nzk5WTM3MDUxNkQwMSoNCitYMTE2NDc0WTM3MDU2OUQwMSoNCitYMTE3MTMyWTM3MDcyN0QwMSoNCitYMTE3NzU3WTM3MDk4NkQwMSoNCitYMTE3OTM4WTM3MTA5N0QwMSoNCitZMzY4NTYxRDAxKg0KK0czNyoNCitHMzYqDQorWTE4ODU2MUQwMipYMTE3NzU3WTE4ODY3MkQwMSoNCitYMTE3MTMyWTE4ODkzMUQwMSoNCitYMTE2NDc0WTE4OTA4OUQwMSoNCitYMTE1Nzk5WTE4OTE0MkQwMSoNCitYMTE1NzkyWTE4OTE0MkQwMSoNCitZMzYwNTE2RDAxKg0KK1gxMTU3OTlZMzYwNTE2RDAxKg0KK1gxMTY0NzRZMzYwNTY5RDAxKg0KK1gxMTcxMzJZMzYwNzI3RDAxKg0KK1gxMTc3NTdZMzYwOTg2RDAxKg0KK1gxMTc5MzhZMzYxMDk3RDAxKg0KK1kzMzU4MDVEMDEqDQorWDExNzY1OVkzMzU3ODNEMDEqDQorWDExNzM4M1kzMzU3MTdEMDEqDQorWDExNzEyMVkzMzU2MDlEMDEqDQorWDExNjg4MFkzMzU0NjFEMDEqDQorWDExNjY2NFkzMzUyNzdEMDEqDQorWDExNjQ4MFkzMzUwNjFEMDEqDQorWDExNjMzMlkzMzQ4MjBEMDEqDQorWDExNjIyNFkzMzQ1NThEMDEqDQorWDExNjE1OFkzMzQyODJEMDEqDQorWDExNjEzNVkzMzQwMDBEMDEqDQorWDExNjE1OFkzMzM3MThEMDEqDQorWDExNjIyNFkzMzM0NDJEMDEqDQorWDExNjMzMlkzMzMxODBEMDEqDQorWDExNjQ4MFkzMzI5MzlEMDEqDQorWDExNjY2NFkzMzI3MjNEMDEqDQorWDExNjg4MFkzMzI1MzlEMDEqDQorWDExNzEyMVkzMzIzOTFEMDEqDQorWDExNzM4M1kzMzIyODNEMDEqDQorWDExNzY1OVkzMzIyMTdEMDEqDQorWDExNzkzOFkzMzIxOTVEMDEqDQorWTE4ODU2MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzg1NjFEMDIqWDExNzc1N1kxNzg2NzJEMDEqDQorWDExNzEzMlkxNzg5MzFEMDEqDQorWDExNjQ3NFkxNzkwODlEMDEqDQorWDExNTc5OVkxNzkxNDJEMDEqDQorWDExNTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitYMTE1Nzk5WTE4MDUxNkQwMSoNCitYMTE2NDc0WTE4MDU2OUQwMSoNCitYMTE3MTMyWTE4MDcyN0QwMSoNCitYMTE3NzU3WTE4MDk4NkQwMSoNCitYMTE3OTM4WTE4MTA5N0QwMSoNCitZMTc4NTYxRDAxKg0KK0czNyoNCitHMzYqDQorWTk3MDAwRDAyKlgxMTU3OTJEMDEqDQorWTEyMDMxMUQwMSoNCitYMTE1OTAyWTEyMDQzOUQwMSoNCitYMTE2MDUwWTEyMDY4MEQwMSoNCitYMTE2MTU4WTEyMDk0MkQwMSoNCitYMTE2MjI0WTEyMTIxOEQwMSoNCitYMTE2MjQxWTEyMTUwMEQwMSoNCitYMTE2MjI0WTEyMTc4MkQwMSoNCitYMTE2MTU4WTEyMjA1OEQwMSoNCitYMTE2MDUwWTEyMjMyMEQwMSoNCitYMTE1OTAyWTEyMjU2MUQwMSoNCitYMTE1NzkyWTEyMjY4OUQwMSoNCitZMTMwNzMzRDAxKg0KK1gxMTU5OTlZMTMwNzgzRDAxKg0KK1gxMTYyNjFZMTMwODkxRDAxKg0KK1gxMTY1MDJZMTMxMDM5RDAxKg0KK1gxMTY3MThZMTMxMjIzRDAxKg0KK1gxMTY5MDJZMTMxNDM5RDAxKg0KK1gxMTcwNTBZMTMxNjgwRDAxKg0KK1gxMTcxNThZMTMxOTQyRDAxKg0KK1gxMTcyMjRZMTMyMjE4RDAxKg0KK1gxMTcyNDFZMTMyNTAwRDAxKg0KK1gxMTcyMjRZMTMyNzgyRDAxKg0KK1gxMTcxNThZMTMzMDU4RDAxKg0KK1gxMTcwNTBZMTMzMzIwRDAxKg0KK1gxMTY5MDJZMTMzNTYxRDAxKg0KK1gxMTY3MThZMTMzNzc3RDAxKg0KK1gxMTY1MDJZMTMzOTYxRDAxKg0KK1gxMTYyNjFZMTM0MTA5RDAxKg0KK1gxMTU5OTlZMTM0MjE3RDAxKg0KK1gxMTU3OTJZMTM0MjY3RDAxKg0KK1kxNzA1MTZEMDEqDQorWDExNTc5OVkxNzA1MTZEMDEqDQorWDExNjQ3NFkxNzA1NjlEMDEqDQorWDExNzEzMlkxNzA3MjdEMDEqDQorWDExNzc1N1kxNzA5ODZEMDEqDQorWDExNzkzOFkxNzEwOTdEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDExMjIxOVkxODI0NDFEMDIqWDExMjMwOVkxODIyOTREMDEqDQorWDExMjc0OVkxODE3NzlEMDEqDQorWDExMzI2NFkxODEzMzlEMDEqDQorWDExMzg0MVkxODA5ODZEMDEqDQorWDExNDQ2NlkxODA3MjdEMDEqDQorWDExNTEyNFkxODA1NjlEMDEqDQorWDExNTc5MlkxODA1MTZEMDEqDQorWTE3OTE0MkQwMSoNCitYMTE1MTI0WTE3OTA4OUQwMSoNCitYMTE0NDY2WTE3ODkzMUQwMSoNCitYMTEzODQxWTE3ODY3MkQwMSoNCitYMTEzMjY0WTE3ODMxOUQwMSoNCitYMTEyNzQ5WTE3Nzg3OUQwMSoNCitYMTEyMzA5WTE3NzM2NEQwMSoNCitYMTEyMjE5WTE3NzIxN0QwMSoNCitZMTgyNDQxRDAxKg0KK0czNyoNCitHMzYqDQorWTM2MjQ0MUQwMipYMTEyMzA5WTM2MjI5NEQwMSoNCitYMTEyNzQ5WTM2MTc3OUQwMSoNCitYMTEzMjY0WTM2MTMzOUQwMSoNCitYMTEzODQxWTM2MDk4NkQwMSoNCitYMTE0NDY2WTM2MDcyN0QwMSoNCitYMTE1MTI0WTM2MDU2OUQwMSoNCitYMTE1NzkyWTM2MDUxNkQwMSoNCitZMTg5MTQyRDAxKg0KK1gxMTUxMjRZMTg5MDg5RDAxKg0KK1gxMTQ0NjZZMTg4OTMxRDAxKg0KK1gxMTM4NDFZMTg4NjcyRDAxKg0KK1gxMTMyNjRZMTg4MzE5RDAxKg0KK1gxMTI3NDlZMTg3ODc5RDAxKg0KK1gxMTIzMDlZMTg3MzY0RDAxKg0KK1gxMTIyMTlZMTg3MjE3RDAxKg0KK1kzMzIyMTZEMDEqDQorWDExMjIyM1kzMzIyMTdEMDEqDQorWDExMjQ5OVkzMzIyODNEMDEqDQorWDExMjc2MVkzMzIzOTFEMDEqDQorWDExMzAwMlkzMzI1MzlEMDEqDQorWDExMzIxOFkzMzI3MjNEMDEqDQorWDExMzQwMlkzMzI5MzlEMDEqDQorWDExMzU1MFkzMzMxODBEMDEqDQorWDExMzY1OFkzMzM0NDJEMDEqDQorWDExMzcyNFkzMzM3MThEMDEqDQorWDExMzc0MVkzMzQwMDBEMDEqDQorWDExMzcyNFkzMzQyODJEMDEqDQorWDExMzY1OFkzMzQ1NThEMDEqDQorWDExMzU1MFkzMzQ4MjBEMDEqDQorWDExMzQwMlkzMzUwNjFEMDEqDQorWDExMzIxOFkzMzUyNzdEMDEqDQorWDExMzAwMlkzMzU0NjFEMDEqDQorWDExMjc2MVkzMzU2MDlEMDEqDQorWDExMjQ5OVkzMzU3MTdEMDEqDQorWDExMjIyM1kzMzU3ODNEMDEqDQorWDExMjIxOVkzMzU3ODREMDEqDQorWTMzOTIxNkQwMSoNCitYMTEyMjIzWTMzOTIxN0QwMSoNCitYMTEyNDk5WTMzOTI4M0QwMSoNCitYMTEyNzYxWTMzOTM5MUQwMSoNCitYMTEzMDAyWTMzOTUzOUQwMSoNCitYMTEzMjE4WTMzOTcyM0QwMSoNCitYMTEzNDAyWTMzOTkzOUQwMSoNCitYMTEzNTUwWTM0MDE4MEQwMSoNCitYMTEzNjU4WTM0MDQ0MkQwMSoNCitYMTEzNzI0WTM0MDcxOEQwMSoNCitYMTEzNzQxWTM0MTAwMEQwMSoNCitYMTEzNzI0WTM0MTI4MkQwMSoNCitYMTEzNjU4WTM0MTU1OEQwMSoNCitYMTEzNTUwWTM0MTgyMEQwMSoNCitYMTEzNDAyWTM0MjA2MUQwMSoNCitYMTEzMjE4WTM0MjI3N0QwMSoNCitYMTEzMDAyWTM0MjQ2MUQwMSoNCitYMTEyNzYxWTM0MjYwOUQwMSoNCitYMTEyNDk5WTM0MjcxN0QwMSoNCitYMTEyMjIzWTM0Mjc4M0QwMSoNCitYMTEyMjE5WTM0Mjc4NEQwMSoNCitZMzU1NzE2RDAxKg0KK1gxMTIyMjNZMzU1NzE3RDAxKg0KK1gxMTI0OTlZMzU1NzgzRDAxKg0KK1gxMTI3NjFZMzU1ODkxRDAxKg0KK1gxMTMwMDJZMzU2MDM5RDAxKg0KK1gxMTMyMThZMzU2MjIzRDAxKg0KK1gxMTM0MDJZMzU2NDM5RDAxKg0KK1gxMTM1NTBZMzU2NjgwRDAxKg0KK1gxMTM2NThZMzU2OTQyRDAxKg0KK1gxMTM3MjRZMzU3MjE4RDAxKg0KK1gxMTM3NDFZMzU3NTAwRDAxKg0KK1gxMTM3MjRZMzU3NzgyRDAxKg0KK1gxMTM2NThZMzU4MDU4RDAxKg0KK1gxMTM1NTBZMzU4MzIwRDAxKg0KK1gxMTM0MDJZMzU4NTYxRDAxKg0KK1gxMTMyMThZMzU4Nzc3RDAxKg0KK1gxMTMwMDJZMzU4OTYxRDAxKg0KK1gxMTI3NjFZMzU5MTA5RDAxKg0KK1gxMTI0OTlZMzU5MjE3RDAxKg0KK1gxMTIyMjNZMzU5MjgzRDAxKg0KK1gxMTIyMTlZMzU5Mjg0RDAxKg0KK1kzNjI0NDFEMDEqDQorRzM3Kg0KK0czNioNCitZMzcyNDQxRDAyKlgxMTIzMDlZMzcyMjk0RDAxKg0KK1gxMTI3NDlZMzcxNzc5RDAxKg0KK1gxMTMyNjRZMzcxMzM5RDAxKg0KK1gxMTM4NDFZMzcwOTg2RDAxKg0KK1gxMTQ0NjZZMzcwNzI3RDAxKg0KK1gxMTUxMjRZMzcwNTY5RDAxKg0KK1gxMTU3OTJZMzcwNTE2RDAxKg0KK1kzNjkxNDJEMDEqDQorWDExNTEyNFkzNjkwODlEMDEqDQorWDExNDQ2NlkzNjg5MzFEMDEqDQorWDExMzg0MVkzNjg2NzJEMDEqDQorWDExMzI2NFkzNjgzMTlEMDEqDQorWDExMjc0OVkzNjc4NzlEMDEqDQorWDExMjMwOVkzNjczNjREMDEqDQorWDExMjIxOVkzNjcyMTdEMDEqDQorWTM3MjQ0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDExNTc5MkQwMSoNCitZMzc5MTQyRDAxKg0KK1gxMTUxMjRZMzc5MDg5RDAxKg0KK1gxMTQ0NjZZMzc4OTMxRDAxKg0KK1gxMTM4NDFZMzc4NjcyRDAxKg0KK1gxMTMyNjRZMzc4MzE5RDAxKg0KK1gxMTI3NDlZMzc3ODc5RDAxKg0KK1gxMTIzMDlZMzc3MzY0RDAxKg0KK1gxMTIyMTlZMzc3MjE3RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE1NzkyWTk3MDAwRDAyKlgxMTIyMTlEMDEqDQorWTEyNTUzNUQwMSoNCitYMTEyMjIyWTEyNTUzNEQwMSoNCitYMTEyNTA0WTEyNTU1N0QwMSoNCitYMTEyNzgwWTEyNTYyM0QwMSoNCitYMTEzMDQyWTEyNTczMUQwMSoNCitYMTEzMjgzWTEyNTg3OUQwMSoNCitYMTEzNDk5WTEyNjA2M0QwMSoNCitYMTEzNjgzWTEyNjI3OUQwMSoNCitYMTEzODMxWTEyNjUyMEQwMSoNCitYMTEzOTM5WTEyNjc4MkQwMSoNCitYMTE0MDA1WTEyNzA1OEQwMSoNCitYMTE0MDIyWTEyNzM0MEQwMSoNCitYMTE0MDA1WTEyNzYyMkQwMSoNCitYMTEzOTM5WTEyNzg5OEQwMSoNCitYMTEzODMxWTEyODE2MEQwMSoNCitYMTEzNjgzWTEyODQwMUQwMSoNCitYMTEzNDk5WTEyODYxN0QwMSoNCitYMTEzMjgzWTEyODgwMUQwMSoNCitYMTEzMDQyWTEyODk0OUQwMSoNCitYMTEyNzgwWTEyOTA1N0QwMSoNCitYMTEyNTA0WTEyOTEyM0QwMSoNCitYMTEyMjIyWTEyOTE0NkQwMSoNCitYMTEyMjE5WTEyOTE0NUQwMSoNCitZMTcyNDQxRDAxKg0KK1gxMTIzMDlZMTcyMjk0RDAxKg0KK1gxMTI3NDlZMTcxNzc5RDAxKg0KK1gxMTMyNjRZMTcxMzM5RDAxKg0KK1gxMTM4NDFZMTcwOTg2RDAxKg0KK1gxMTQ0NjZZMTcwNzI3RDAxKg0KK1gxMTUxMjRZMTcwNTY5RDAxKg0KK1gxMTU3OTJZMTcwNTE2RDAxKg0KK1kxMzQyNjdEMDEqDQorWDExNTcyM1kxMzQyODNEMDEqDQorWDExNTQ0MVkxMzQzMDZEMDEqDQorWDExNTE1OVkxMzQyODNEMDEqDQorWDExNDg4M1kxMzQyMTdEMDEqDQorWDExNDYyMVkxMzQxMDlEMDEqDQorWDExNDM4MFkxMzM5NjFEMDEqDQorWDExNDE2NFkxMzM3NzdEMDEqDQorWDExMzk4MFkxMzM1NjFEMDEqDQorWDExMzgzMlkxMzMzMjBEMDEqDQorWDExMzcyNFkxMzMwNThEMDEqDQorWDExMzY1OFkxMzI3ODJEMDEqDQorWDExMzYzNVkxMzI1MDBEMDEqDQorWDExMzY1OFkxMzIyMThEMDEqDQorWDExMzcyNFkxMzE5NDJEMDEqDQorWDExMzgzMlkxMzE2ODBEMDEqDQorWDExMzk4MFkxMzE0MzlEMDEqDQorWDExNDE2NFkxMzEyMjNEMDEqDQorWDExNDM4MFkxMzEwMzlEMDEqDQorWDExNDYyMVkxMzA4OTFEMDEqDQorWDExNDg4M1kxMzA3ODNEMDEqDQorWDExNTE1OVkxMzA3MTdEMDEqDQorWDExNTQ0MVkxMzA2OTREMDEqDQorWDExNTcyM1kxMzA3MTdEMDEqDQorWDExNTc5MlkxMzA3MzNEMDEqDQorWTEyMjY4OUQwMSoNCitYMTE1NzE4WTEyMjc3N0QwMSoNCitYMTE1NTAyWTEyMjk2MUQwMSoNCitYMTE1MjYxWTEyMzEwOUQwMSoNCitYMTE0OTk5WTEyMzIxN0QwMSoNCitYMTE0NzIzWTEyMzI4M0QwMSoNCitYMTE0NDQxWTEyMzMwNkQwMSoNCitYMTE0MTU5WTEyMzI4M0QwMSoNCitYMTEzODgzWTEyMzIxN0QwMSoNCitYMTEzNjIxWTEyMzEwOUQwMSoNCitYMTEzMzgwWTEyMjk2MUQwMSoNCitYMTEzMTY0WTEyMjc3N0QwMSoNCitYMTEyOTgwWTEyMjU2MUQwMSoNCitYMTEyODMyWTEyMjMyMEQwMSoNCitYMTEyNzI0WTEyMjA1OEQwMSoNCitYMTEyNjU4WTEyMTc4MkQwMSoNCitYMTEyNjM1WTEyMTUwMEQwMSoNCitYMTEyNjU4WTEyMTIxOEQwMSoNCitYMTEyNzI0WTEyMDk0MkQwMSoNCitYMTEyODMyWTEyMDY4MEQwMSoNCitYMTEyOTgwWTEyMDQzOUQwMSoNCitYMTEzMTY0WTEyMDIyM0QwMSoNCitYMTEzMzgwWTEyMDAzOUQwMSoNCitYMTEzNjIxWTExOTg5MUQwMSoNCitYMTEzODgzWTExOTc4M0QwMSoNCitYMTE0MTU5WTExOTcxN0QwMSoNCitYMTE0NDQxWTExOTY5NEQwMSoNCitYMTE0NzIzWTExOTcxN0QwMSoNCitYMTE0OTk5WTExOTc4M0QwMSoNCitYMTE1MjYxWTExOTg5MUQwMSoNCitYMTE1NTAyWTEyMDAzOUQwMSoNCitYMTE1NzE4WTEyMDIyM0QwMSoNCitYMTE1NzkyWTEyMDMxMUQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTEyMjE5RDAyKlgxMDkzNDNEMDEqDQorWTE3MjA5OUQwMSoNCitYMTA5MzcxWTE3MjA4MkQwMSoNCitYMTA5NDQ0WTE3MjA1MkQwMSoNCitYMTA5NTIxWTE3MjAzNEQwMSoNCitYMTA5NTk5WTE3MjAyN0QwMSoNCitYMTA5Njc3WTE3MjAzNEQwMSoNCitYMTA5NzU0WTE3MjA1MkQwMSoNCitYMTA5ODI3WTE3MjA4MkQwMSoNCitYMTA5ODk0WTE3MjEyM0QwMSoNCitYMTA5OTU0WTE3MjE3NEQwMSoNCitYMTEwMDA1WTE3MjIzNEQwMSoNCitYMTEwMDQ2WTE3MjMwMUQwMSoNCitYMTEwMDc2WTE3MjM3NEQwMSoNCitYMTEwMDk0WTE3MjQ1MUQwMSoNCitYMTEwMDk5WTE3MjUyOUQwMSoNCitZMTc3MTI5RDAxKg0KK1gxMTAwOTRZMTc3MjA3RDAxKg0KK1gxMTAwNzZZMTc3Mjg0RDAxKg0KK1gxMTAwNDZZMTc3MzU3RDAxKg0KK1gxMTAwMDVZMTc3NDI0RDAxKg0KK1gxMDk5NTRZMTc3NDg0RDAxKg0KK1gxMDk4OTRZMTc3NTM1RDAxKg0KK1gxMDk4MjdZMTc3NTc2RDAxKg0KK1gxMDk3NTRZMTc3NjA2RDAxKg0KK1gxMDk2NzdZMTc3NjI0RDAxKg0KK1gxMDk1OTlZMTc3NjMxRDAxKg0KK1gxMDk1MjFZMTc3NjI0RDAxKg0KK1gxMDk0NDRZMTc3NjA2RDAxKg0KK1gxMDkzNzFZMTc3NTc2RDAxKg0KK1gxMDkzNDNZMTc3NTU5RDAxKg0KK1kxODI1MDFEMDEqDQorWDEwOTM2NlkxODI1MTNEMDEqDQorWDEwOTQyOVkxODI1NjFEMDEqDQorWDEwOTQ4M1kxODI2MThEMDEqDQorWDEwOTUyNlkxODI2ODREMDEqDQorWDEwOTcxN1kxODMwNDVEMDEqDQorWDEwOTg2OFkxODM0MjVEMDEqDQorWDEwOTk4M1kxODM4MTdEMDEqDQorWDExMDA2MFkxODQyMThEMDEqDQorWDExMDA5OVkxODQ2MjVEMDEqDQorWTE4NTAzM0QwMSoNCitYMTEwMDYwWTE4NTQ0MEQwMSoNCitYMTA5OTgzWTE4NTg0MUQwMSoNCitYMTA5ODY4WTE4NjIzM0QwMSoNCitYMTA5NzE3WTE4NjYxM0QwMSoNCitYMTA5NTMwWTE4Njk3NkQwMSoNCitYMTA5NDg2WTE4NzA0MkQwMSoNCitYMTA5NDMxWTE4NzEwMEQwMSoNCitYMTA5MzY4WTE4NzE0OEQwMSoNCitYMTA5MzQzWTE4NzE2MUQwMSoNCitZMjQ3MDAwRDAxKg0KK1gxMDk5NDFEMDEqDQorWTMyMjAwMEQwMSoNCitYMTA5MzQzRDAxKg0KK1kzNjIwOTlEMDEqDQorWDEwOTM3MVkzNjIwODJEMDEqDQorWDEwOTQ0NFkzNjIwNTJEMDEqDQorWDEwOTUyMVkzNjIwMzREMDEqDQorWDEwOTU5OVkzNjIwMjdEMDEqDQorWDEwOTY3N1kzNjIwMzREMDEqDQorWDEwOTc1NFkzNjIwNTJEMDEqDQorWDEwOTgyN1kzNjIwODJEMDEqDQorWDEwOTg5NFkzNjIxMjNEMDEqDQorWDEwOTk1NFkzNjIxNzREMDEqDQorWDExMDAwNVkzNjIyMzREMDEqDQorWDExMDA0NlkzNjIzMDFEMDEqDQorWDExMDA3NlkzNjIzNzREMDEqDQorWDExMDA5NFkzNjI0NTFEMDEqDQorWDExMDA5OVkzNjI1MjlEMDEqDQorWTM2NzEyOUQwMSoNCitYMTEwMDk0WTM2NzIwN0QwMSoNCitYMTEwMDc2WTM2NzI4NEQwMSoNCitYMTEwMDQ2WTM2NzM1N0QwMSoNCitYMTEwMDA1WTM2NzQyNEQwMSoNCitYMTA5OTU0WTM2NzQ4NEQwMSoNCitYMTA5ODk0WTM2NzUzNUQwMSoNCitYMTA5ODI3WTM2NzU3NkQwMSoNCitYMTA5NzU0WTM2NzYwNkQwMSoNCitYMTA5Njc3WTM2NzYyNEQwMSoNCitYMTA5NTk5WTM2NzYzMUQwMSoNCitYMTA5NTIxWTM2NzYyNEQwMSoNCitYMTA5NDQ0WTM2NzYwNkQwMSoNCitYMTA5MzcxWTM2NzU3NkQwMSoNCitYMTA5MzQzWTM2NzU1OUQwMSoNCitZMzcyNTAxRDAxKg0KK1gxMDkzNjZZMzcyNTEzRDAxKg0KK1gxMDk0MjlZMzcyNTYxRDAxKg0KK1gxMDk0ODNZMzcyNjE4RDAxKg0KK1gxMDk1MjZZMzcyNjg0RDAxKg0KK1gxMDk3MTdZMzczMDQ1RDAxKg0KK1gxMDk4NjhZMzczNDI1RDAxKg0KK1gxMDk5ODNZMzczODE3RDAxKg0KK1gxMTAwNjBZMzc0MjE4RDAxKg0KK1gxMTAwOTlZMzc0NjI1RDAxKg0KK1kzNzUwMzNEMDEqDQorWDExMDA2MFkzNzU0NDBEMDEqDQorWDEwOTk4M1kzNzU4NDFEMDEqDQorWDEwOTg2OFkzNzYyMzNEMDEqDQorWDEwOTcxN1kzNzY2MTNEMDEqDQorWDEwOTUzMFkzNzY5NzZEMDEqDQorWDEwOTQ4NlkzNzcwNDJEMDEqDQorWDEwOTQzMVkzNzcxMDBEMDEqDQorWDEwOTM2OFkzNzcxNDhEMDEqDQorWDEwOTM0M1kzNzcxNjFEMDEqDQorWTM5NzAwMEQwMSoNCitYMTEyMjE5RDAxKg0KK1kzNzcyMTdEMDEqDQorWDExMTk1NlkzNzY3ODdEMDEqDQorWDExMTY5N1kzNzYxNjJEMDEqDQorWDExMTUzOVkzNzU1MDREMDEqDQorWDExMTQ4NlkzNzQ4MjlEMDEqDQorWDExMTUzOVkzNzQxNTREMDEqDQorWDExMTY5N1kzNzM0OTZEMDEqDQorWDExMTk1NlkzNzI4NzFEMDEqDQorWDExMjIxOVkzNzI0NDFEMDEqDQorWTM2NzIxN0QwMSoNCitYMTExOTU2WTM2Njc4N0QwMSoNCitYMTExNjk3WTM2NjE2MkQwMSoNCitYMTExNTM5WTM2NTUwNEQwMSoNCitYMTExNDg2WTM2NDgyOUQwMSoNCitYMTExNTM5WTM2NDE1NEQwMSoNCitYMTExNjk3WTM2MzQ5NkQwMSoNCitYMTExOTU2WTM2Mjg3MUQwMSoNCitYMTEyMjE5WTM2MjQ0MUQwMSoNCitZMzU5Mjg0RDAxKg0KK1gxMTE5NDFZMzU5MzA2RDAxKg0KK1gxMTE2NTlZMzU5MjgzRDAxKg0KK1gxMTEzODNZMzU5MjE3RDAxKg0KK1gxMTExMjFZMzU5MTA5RDAxKg0KK1gxMTA4ODBZMzU4OTYxRDAxKg0KK1gxMTA2NjRZMzU4Nzc3RDAxKg0KK1gxMTA0ODBZMzU4NTYxRDAxKg0KK1gxMTAzMzJZMzU4MzIwRDAxKg0KK1gxMTAyMjRZMzU4MDU4RDAxKg0KK1gxMTAxNThZMzU3NzgyRDAxKg0KK1gxMTAxMzVZMzU3NTAwRDAxKg0KK1gxMTAxNThZMzU3MjE4RDAxKg0KK1gxMTAyMjRZMzU2OTQyRDAxKg0KK1gxMTAzMzJZMzU2NjgwRDAxKg0KK1gxMTA0ODBZMzU2NDM5RDAxKg0KK1gxMTA2NjRZMzU2MjIzRDAxKg0KK1gxMTA4ODBZMzU2MDM5RDAxKg0KK1gxMTExMjFZMzU1ODkxRDAxKg0KK1gxMTEzODNZMzU1NzgzRDAxKg0KK1gxMTE2NTlZMzU1NzE3RDAxKg0KK1gxMTE5NDFZMzU1Njk0RDAxKg0KK1gxMTIyMTlZMzU1NzE2RDAxKg0KK1kzNDI3ODREMDEqDQorWDExMTk0MVkzNDI4MDZEMDEqDQorWDExMTY1OVkzNDI3ODNEMDEqDQorWDExMTM4M1kzNDI3MTdEMDEqDQorWDExMTEyMVkzNDI2MDlEMDEqDQorWDExMDg4MFkzNDI0NjFEMDEqDQorWDExMDY2NFkzNDIyNzdEMDEqDQorWDExMDQ4MFkzNDIwNjFEMDEqDQorWDExMDMzMlkzNDE4MjBEMDEqDQorWDExMDIyNFkzNDE1NThEMDEqDQorWDExMDE1OFkzNDEyODJEMDEqDQorWDExMDEzNVkzNDEwMDBEMDEqDQorWDExMDE1OFkzNDA3MThEMDEqDQorWDExMDIyNFkzNDA0NDJEMDEqDQorWDExMDMzMlkzNDAxODBEMDEqDQorWDExMDQ4MFkzMzk5MzlEMDEqDQorWDExMDY2NFkzMzk3MjNEMDEqDQorWDExMDg4MFkzMzk1MzlEMDEqDQorWDExMTEyMVkzMzkzOTFEMDEqDQorWDExMTM4M1kzMzkyODNEMDEqDQorWDExMTY1OVkzMzkyMTdEMDEqDQorWDExMTk0MVkzMzkxOTREMDEqDQorWDExMjIxOVkzMzkyMTZEMDEqDQorWTMzNTc4NEQwMSoNCitYMTExOTQxWTMzNTgwNkQwMSoNCitYMTExNjU5WTMzNTc4M0QwMSoNCitYMTExMzgzWTMzNTcxN0QwMSoNCitYMTExMTIxWTMzNTYwOUQwMSoNCitYMTEwODgwWTMzNTQ2MUQwMSoNCitYMTEwNjY0WTMzNTI3N0QwMSoNCitYMTEwNDgwWTMzNTA2MUQwMSoNCitYMTEwMzMyWTMzNDgyMEQwMSoNCitYMTEwMjI0WTMzNDU1OEQwMSoNCitYMTEwMTU4WTMzNDI4MkQwMSoNCitYMTEwMTM1WTMzNDAwMEQwMSoNCitYMTEwMTU4WTMzMzcxOEQwMSoNCitYMTEwMjI0WTMzMzQ0MkQwMSoNCitYMTEwMzMyWTMzMzE4MEQwMSoNCitYMTEwNDgwWTMzMjkzOUQwMSoNCitYMTEwNjY0WTMzMjcyM0QwMSoNCitYMTEwODgwWTMzMjUzOUQwMSoNCitYMTExMTIxWTMzMjM5MUQwMSoNCitYMTExMzgzWTMzMjI4M0QwMSoNCitYMTExNjU5WTMzMjIxN0QwMSoNCitYMTExOTQxWTMzMjE5NEQwMSoNCitYMTEyMjE5WTMzMjIxNkQwMSoNCitZMTg3MjE3RDAxKg0KK1gxMTE5NTZZMTg2Nzg3RDAxKg0KK1gxMTE2OTdZMTg2MTYyRDAxKg0KK1gxMTE1MzlZMTg1NTA0RDAxKg0KK1gxMTE0ODZZMTg0ODI5RDAxKg0KK1gxMTE1MzlZMTg0MTU0RDAxKg0KK1gxMTE2OTdZMTgzNDk2RDAxKg0KK1gxMTE5NTZZMTgyODcxRDAxKg0KK1gxMTIyMTlZMTgyNDQxRDAxKg0KK1kxNzcyMTdEMDEqDQorWDExMTk1NlkxNzY3ODdEMDEqDQorWDExMTY5N1kxNzYxNjJEMDEqDQorWDExMTUzOVkxNzU1MDREMDEqDQorWDExMTQ4NlkxNzQ4MjlEMDEqDQorWDExMTUzOVkxNzQxNTREMDEqDQorWDExMTY5N1kxNzM0OTZEMDEqDQorWDExMTk1NlkxNzI4NzFEMDEqDQorWDExMjIxOVkxNzI0NDFEMDEqDQorWTEyOTE0NUQwMSoNCitYMTExOTQwWTEyOTEyM0QwMSoNCitYMTExNjY0WTEyOTA1N0QwMSoNCitYMTExNDAyWTEyODk0OUQwMSoNCitYMTExMTYxWTEyODgwMUQwMSoNCitYMTEwOTQ1WTEyODYxN0QwMSoNCitYMTEwNzYxWTEyODQwMUQwMSoNCitYMTEwNjEzWTEyODE2MEQwMSoNCitYMTEwNTA1WTEyNzg5OEQwMSoNCitYMTEwNDM5WTEyNzYyMkQwMSoNCitYMTEwNDE2WTEyNzM0MEQwMSoNCitYMTEwNDM5WTEyNzA1OEQwMSoNCitYMTEwNTA1WTEyNjc4MkQwMSoNCitYMTEwNjEzWTEyNjUyMEQwMSoNCitYMTEwNzYxWTEyNjI3OUQwMSoNCitYMTEwOTQ1WTEyNjA2M0QwMSoNCitYMTExMTYxWTEyNTg3OUQwMSoNCitYMTExNDAyWTEyNTczMUQwMSoNCitYMTExNjY0WTEyNTYyM0QwMSoNCitYMTExOTQwWTEyNTU1N0QwMSoNCitYMTEyMjE5WTEyNTUzNUQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTA5MzQzWTMyMjAwMEQwMipYMTA1ODAxRDAxKg0KK1kzMzUzNjJEMDEqDQorWDEwNjA4MFkzMzU4MTdEMDEqDQorWDEwNjk0MVkzMzc4OTZEMDEqDQorWDEwNzQ2N1kzNDAwODVEMDEqDQorWDEwNzU5OVkzNDIzMjlEMDEqDQorWDEwNzQ2N1kzNDQ1NzNEMDEqDQorWDEwNjk0MVkzNDY3NjJEMDEqDQorWDEwNjA4MFkzNDg4NDFEMDEqDQorWDEwNTgwMVkzNDkyOTZEMDEqDQorWTM2MDUyOUQwMSoNCitYMTA4MDk5RDAxKg0KK1gxMDgxNzdZMzYwNTM0RDAxKg0KK1gxMDgyNTRZMzYwNTUyRDAxKg0KK1gxMDgzMjdZMzYwNTgyRDAxKg0KK1gxMDgzOTRZMzYwNjIzRDAxKg0KK1gxMDg0NTRZMzYwNjc0RDAxKg0KK1gxMDg1MDVZMzYwNzM0RDAxKg0KK1gxMDg1NDZZMzYwODAxRDAxKg0KK1gxMDg1NzZZMzYwODc0RDAxKg0KK1gxMDg1OTRZMzYwOTUxRDAxKg0KK1gxMDg2MDFZMzYxMDI5RDAxKg0KK1gxMDg1OTRZMzYxMTA3RDAxKg0KK1gxMDg1NzZZMzYxMTg0RDAxKg0KK1gxMDg1NDZZMzYxMjU3RDAxKg0KK1gxMDg1MDVZMzYxMzI0RDAxKg0KK1gxMDg0NTRZMzYxMzg0RDAxKg0KK1gxMDgzOTRZMzYxNDM1RDAxKg0KK1gxMDgzMjdZMzYxNDc2RDAxKg0KK1gxMDgyNTRZMzYxNTA2RDAxKg0KK1gxMDgxNzdZMzYxNTI0RDAxKg0KK1gxMDgwOTlZMzYxNTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTM2ODEyOUQwMSoNCitYMTA4MDk5RDAxKg0KK1gxMDgxNzdZMzY4MTM0RDAxKg0KK1gxMDgyNTRZMzY4MTUyRDAxKg0KK1gxMDgzMjdZMzY4MTgyRDAxKg0KK1gxMDgzOTRZMzY4MjIzRDAxKg0KK1gxMDg0NTRZMzY4Mjc0RDAxKg0KK1gxMDg1MDVZMzY4MzM0RDAxKg0KK1gxMDg1NDZZMzY4NDAxRDAxKg0KK1gxMDg1NzZZMzY4NDc0RDAxKg0KK1gxMDg1OTRZMzY4NTUxRDAxKg0KK1gxMDg2MDFZMzY4NjI5RDAxKg0KK1gxMDg1OTRZMzY4NzA3RDAxKg0KK1gxMDg1NzZZMzY4Nzg0RDAxKg0KK1gxMDg1NDZZMzY4ODU3RDAxKg0KK1gxMDg1MDVZMzY4OTI0RDAxKg0KK1gxMDg0NTRZMzY4OTg0RDAxKg0KK1gxMDgzOTRZMzY5MDM1RDAxKg0KK1gxMDgzMjdZMzY5MDc2RDAxKg0KK1gxMDgyNTRZMzY5MTA2RDAxKg0KK1gxMDgxNzdZMzY5MTI0RDAxKg0KK1gxMDgwOTlZMzY5MTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTM3MDUyOUQwMSoNCitYMTA2MDAzRDAxKg0KK1gxMDY0MTBZMzcwNTY4RDAxKg0KK1gxMDY4MTFZMzcwNjQ1RDAxKg0KK1gxMDcyMDNZMzcwNzYwRDAxKg0KK1gxMDc1ODNZMzcwOTExRDAxKg0KK1gxMDc5NDZZMzcxMDk4RDAxKg0KK1gxMDgwMTJZMzcxMTQyRDAxKg0KK1gxMDgwNzBZMzcxMTk3RDAxKg0KK1gxMDgxMThZMzcxMjYwRDAxKg0KK1gxMDgxNTZZMzcxMzI5RDAxKg0KK1gxMDgxODJZMzcxNDA0RDAxKg0KK1gxMDgxOTdZMzcxNDgyRDAxKg0KK1gxMDgxOTlZMzcxNTYxRDAxKg0KK1gxMDgxODlZMzcxNjQwRDAxKg0KK1gxMDgxNjZZMzcxNzE2RDAxKg0KK1gxMDgxMzJZMzcxNzg4RDAxKg0KK1gxMDgwODhZMzcxODUzRDAxKg0KK1gxMDgwMzNZMzcxOTExRDAxKg0KK1gxMDc5NzBZMzcxOTU5RDAxKg0KK1gxMDc5MDFZMzcxOTk3RDAxKg0KK1gxMDc4MjZZMzcyMDIzRDAxKg0KK1gxMDc3NDhZMzcyMDM4RDAxKg0KK1gxMDc2NjlZMzcyMDQwRDAxKg0KK1gxMDc1OTBZMzcyMDMwRDAxKg0KK1gxMDc1MTRZMzcyMDA3RDAxKg0KK1gxMDc0NDNZMzcxOTcyRDAxKg0KK1gxMDcxNjdZMzcxODI2RDAxKg0KK1gxMDY4NzZZMzcxNzEwRDAxKg0KK1gxMDY1NzVZMzcxNjIyRDAxKg0KK1gxMDYyNjdZMzcxNTYyRDAxKg0KK1gxMDU5NTZZMzcxNTMzRDAxKg0KK1gxMDU4MDFEMDEqDQorWTM3ODEyNUQwMSoNCitYMTA1OTU2RDAxKg0KK1gxMDYyNjdZMzc4MDk2RDAxKg0KK1gxMDY1NzVZMzc4MDM2RDAxKg0KK1gxMDY4NzZZMzc3OTQ4RDAxKg0KK1gxMDcxNjdZMzc3ODMyRDAxKg0KK1gxMDc0NDVZMzc3Njg5RDAxKg0KK1gxMDc1MTVZMzc3NjU0RDAxKg0KK1gxMDc1OTFZMzc3NjMyRDAxKg0KK1gxMDc2NjlZMzc3NjIyRDAxKg0KK1gxMDc3NDhZMzc3NjI0RDAxKg0KK1gxMDc4MjVZMzc3NjM4RDAxKg0KK1gxMDc4OTlZMzc3NjY1RDAxKg0KK1gxMDc5NjhZMzc3NzAyRDAxKg0KK1gxMDgwMzFZMzc3NzUwRDAxKg0KK1gxMDgwODVZMzc3ODA3RDAxKg0KK1gxMDgxMjlZMzc3ODcyRDAxKg0KK1gxMDgxNjNZMzc3OTQzRDAxKg0KK1gxMDgxODVZMzc4MDE5RDAxKg0KK1gxMDgxOTVZMzc4MDk3RDAxKg0KK1gxMDgxOTNZMzc4MTc2RDAxKg0KK1gxMDgxNzlZMzc4MjUzRDAxKg0KK1gxMDgxNTJZMzc4MzI3RDAxKg0KK1gxMDgxMTVZMzc4Mzk2RDAxKg0KK1gxMDgwNjdZMzc4NDU5RDAxKg0KK1gxMDgwMTBZMzc4NTEzRDAxKg0KK1gxMDc5NDRZMzc4NTU2RDAxKg0KK1gxMDc1ODNZMzc4NzQ3RDAxKg0KK1gxMDcyMDNZMzc4ODk4RDAxKg0KK1gxMDY4MTFZMzc5MDEzRDAxKg0KK1gxMDY0MTBZMzc5MDkwRDAxKg0KK1gxMDYwMDNZMzc5MTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTM5NzAwMEQwMSoNCitYMTA5MzQzRDAxKg0KK1kzNzcxNjFEMDEqDQorWDEwOTI5OVkzNzcxODZEMDEqDQorWDEwOTIyNFkzNzcyMTJEMDEqDQorWDEwOTE0NlkzNzcyMjdEMDEqDQorWDEwOTA2N1kzNzcyMjlEMDEqDQorWDEwODk4OFkzNzcyMTlEMDEqDQorWDEwODkxMlkzNzcxOTZEMDEqDQorWDEwODg0MFkzNzcxNjJEMDEqDQorWDEwODc3NVkzNzcxMThEMDEqDQorWDEwODcxN1kzNzcwNjNEMDEqDQorWDEwODY2OVkzNzcwMDBEMDEqDQorWDEwODYzMVkzNzY5MzFEMDEqDQorWDEwODYwNVkzNzY4NTZEMDEqDQorWDEwODU5MFkzNzY3NzhEMDEqDQorWDEwODU4OFkzNzY2OTlEMDEqDQorWDEwODU5OFkzNzY2MjBEMDEqDQorWDEwODYyMVkzNzY1NDREMDEqDQorWDEwODY1NlkzNzY0NzNEMDEqDQorWDEwODgwMlkzNzYxOTdEMDEqDQorWDEwODkxOFkzNzU5MDZEMDEqDQorWDEwOTAwNlkzNzU2MDVEMDEqDQorWDEwOTA2NlkzNzUyOTdEMDEqDQorWDEwOTA5NVkzNzQ5ODZEMDEqDQorWTM3NDY3MkQwMSoNCitYMTA5MDY2WTM3NDM2MUQwMSoNCitYMTA5MDA2WTM3NDA1M0QwMSoNCitYMTA4OTE4WTM3Mzc1MkQwMSoNCitYMTA4ODAyWTM3MzQ2MUQwMSoNCitYMTA4NjU5WTM3MzE4M0QwMSoNCitYMTA4NjI0WTM3MzExM0QwMSoNCitYMTA4NjAyWTM3MzAzN0QwMSoNCitYMTA4NTkyWTM3Mjk1OUQwMSoNCitYMTA4NTk0WTM3Mjg4MEQwMSoNCitYMTA4NjA4WTM3MjgwM0QwMSoNCitYMTA4NjM1WTM3MjcyOUQwMSoNCitYMTA4NjcyWTM3MjY2MEQwMSoNCitYMTA4NzIwWTM3MjU5N0QwMSoNCitYMTA4Nzc3WTM3MjU0M0QwMSoNCitYMTA4ODQyWTM3MjQ5OUQwMSoNCitYMTA4OTEzWTM3MjQ2NUQwMSoNCitYMTA4OTg5WTM3MjQ0M0QwMSoNCitYMTA5MDY3WTM3MjQzM0QwMSoNCitYMTA5MTQ2WTM3MjQzNUQwMSoNCitYMTA5MjIzWTM3MjQ0OUQwMSoNCitYMTA5Mjk3WTM3MjQ3NkQwMSoNCitYMTA5MzQzWTM3MjUwMUQwMSoNCitZMzY3NTU5RDAxKg0KK1gxMDkzMDRZMzY3NTM1RDAxKg0KK1gxMDkyNDRZMzY3NDg0RDAxKg0KK1gxMDkxOTNZMzY3NDI0RDAxKg0KK1gxMDkxNTJZMzY3MzU3RDAxKg0KK1gxMDkxMjJZMzY3Mjg0RDAxKg0KK1gxMDkxMDRZMzY3MjA3RDAxKg0KK1gxMDkwOTlZMzY3MTI5RDAxKg0KK1kzNjI1MjlEMDEqDQorWDEwOTEwNFkzNjI0NTFEMDEqDQorWDEwOTEyMlkzNjIzNzREMDEqDQorWDEwOTE1MlkzNjIzMDFEMDEqDQorWDEwOTE5M1kzNjIyMzREMDEqDQorWDEwOTI0NFkzNjIxNzREMDEqDQorWDEwOTMwNFkzNjIxMjNEMDEqDQorWDEwOTM0M1kzNjIwOTlEMDEqDQorWTMyMjAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYMTA1ODAxRDAxKg0KK1kxNDY4MTdEMDEqDQorWDEwNTg4M1kxNDY3ODNEMDEqDQorWDEwNjE1OVkxNDY3MTdEMDEqDQorWDEwNjQ0MVkxNDY2OTREMDEqDQorWDEwNjcyM1kxNDY3MTdEMDEqDQorWDEwNjk5OVkxNDY3ODNEMDEqDQorWDEwNzI2MVkxNDY4OTFEMDEqDQorWDEwNzUwMlkxNDcwMzlEMDEqDQorWDEwNzcxOFkxNDcyMjNEMDEqDQorWDEwNzkwMlkxNDc0MzlEMDEqDQorWDEwODA1MFkxNDc2ODBEMDEqDQorWDEwODE1OFkxNDc5NDJEMDEqDQorWDEwODIyNFkxNDgyMThEMDEqDQorWDEwODI0MVkxNDg1MDBEMDEqDQorWDEwODIyNFkxNDg3ODJEMDEqDQorWDEwODE1OFkxNDkwNThEMDEqDQorWDEwODA1MFkxNDkzMjBEMDEqDQorWDEwNzkwMlkxNDk1NjFEMDEqDQorWDEwNzcxOFkxNDk3NzdEMDEqDQorWDEwNzUwMlkxNDk5NjFEMDEqDQorWDEwNzI2MVkxNTAxMDlEMDEqDQorWDEwNjk5OVkxNTAyMTdEMDEqDQorWDEwNjcyM1kxNTAyODNEMDEqDQorWDEwNjQ0MVkxNTAzMDZEMDEqDQorWDEwNjE1OVkxNTAyODNEMDEqDQorWDEwNTg4M1kxNTAyMTdEMDEqDQorWDEwNTgwMVkxNTAxODNEMDEqDQorWTE3MDUyOUQwMSoNCitYMTA4MDk5RDAxKg0KK1gxMDgxNzdZMTcwNTM0RDAxKg0KK1gxMDgyNTRZMTcwNTUyRDAxKg0KK1gxMDgzMjdZMTcwNTgyRDAxKg0KK1gxMDgzOTRZMTcwNjIzRDAxKg0KK1gxMDg0NTRZMTcwNjc0RDAxKg0KK1gxMDg1MDVZMTcwNzM0RDAxKg0KK1gxMDg1NDZZMTcwODAxRDAxKg0KK1gxMDg1NzZZMTcwODc0RDAxKg0KK1gxMDg1OTRZMTcwOTUxRDAxKg0KK1gxMDg2MDFZMTcxMDI5RDAxKg0KK1gxMDg1OTRZMTcxMTA3RDAxKg0KK1gxMDg1NzZZMTcxMTg0RDAxKg0KK1gxMDg1NDZZMTcxMjU3RDAxKg0KK1gxMDg1MDVZMTcxMzI0RDAxKg0KK1gxMDg0NTRZMTcxMzg0RDAxKg0KK1gxMDgzOTRZMTcxNDM1RDAxKg0KK1gxMDgzMjdZMTcxNDc2RDAxKg0KK1gxMDgyNTRZMTcxNTA2RDAxKg0KK1gxMDgxNzdZMTcxNTI0RDAxKg0KK1gxMDgwOTlZMTcxNTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE3ODEyOUQwMSoNCitYMTA4MDk5RDAxKg0KK1gxMDgxNzdZMTc4MTM0RDAxKg0KK1gxMDgyNTRZMTc4MTUyRDAxKg0KK1gxMDgzMjdZMTc4MTgyRDAxKg0KK1gxMDgzOTRZMTc4MjIzRDAxKg0KK1gxMDg0NTRZMTc4Mjc0RDAxKg0KK1gxMDg1MDVZMTc4MzM0RDAxKg0KK1gxMDg1NDZZMTc4NDAxRDAxKg0KK1gxMDg1NzZZMTc4NDc0RDAxKg0KK1gxMDg1OTRZMTc4NTUxRDAxKg0KK1gxMDg2MDFZMTc4NjI5RDAxKg0KK1gxMDg1OTRZMTc4NzA3RDAxKg0KK1gxMDg1NzZZMTc4Nzg0RDAxKg0KK1gxMDg1NDZZMTc4ODU3RDAxKg0KK1gxMDg1MDVZMTc4OTI0RDAxKg0KK1gxMDg0NTRZMTc4OTg0RDAxKg0KK1gxMDgzOTRZMTc5MDM1RDAxKg0KK1gxMDgzMjdZMTc5MDc2RDAxKg0KK1gxMDgyNTRZMTc5MTA2RDAxKg0KK1gxMDgxNzdZMTc5MTI0RDAxKg0KK1gxMDgwOTlZMTc5MTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE4MDUyOUQwMSoNCitYMTA2MDAzRDAxKg0KK1gxMDY0MTBZMTgwNTY4RDAxKg0KK1gxMDY4MTFZMTgwNjQ1RDAxKg0KK1gxMDcyMDNZMTgwNzYwRDAxKg0KK1gxMDc1ODNZMTgwOTExRDAxKg0KK1gxMDc5NDZZMTgxMDk4RDAxKg0KK1gxMDgwMTJZMTgxMTQyRDAxKg0KK1gxMDgwNzBZMTgxMTk3RDAxKg0KK1gxMDgxMThZMTgxMjYwRDAxKg0KK1gxMDgxNTZZMTgxMzI5RDAxKg0KK1gxMDgxODJZMTgxNDA0RDAxKg0KK1gxMDgxOTdZMTgxNDgyRDAxKg0KK1gxMDgxOTlZMTgxNTYxRDAxKg0KK1gxMDgxODlZMTgxNjQwRDAxKg0KK1gxMDgxNjZZMTgxNzE2RDAxKg0KK1gxMDgxMzJZMTgxNzg4RDAxKg0KK1gxMDgwODhZMTgxODUzRDAxKg0KK1gxMDgwMzNZMTgxOTExRDAxKg0KK1gxMDc5NzBZMTgxOTU5RDAxKg0KK1gxMDc5MDFZMTgxOTk3RDAxKg0KK1gxMDc4MjZZMTgyMDIzRDAxKg0KK1gxMDc3NDhZMTgyMDM4RDAxKg0KK1gxMDc2NjlZMTgyMDQwRDAxKg0KK1gxMDc1OTBZMTgyMDMwRDAxKg0KK1gxMDc1MTRZMTgyMDA3RDAxKg0KK1gxMDc0NDNZMTgxOTcyRDAxKg0KK1gxMDcxNjdZMTgxODI2RDAxKg0KK1gxMDY4NzZZMTgxNzEwRDAxKg0KK1gxMDY1NzVZMTgxNjIyRDAxKg0KK1gxMDYyNjdZMTgxNTYyRDAxKg0KK1gxMDU5NTZZMTgxNTMzRDAxKg0KK1gxMDU4MDFEMDEqDQorWTE4ODEyNUQwMSoNCitYMTA1OTU2RDAxKg0KK1gxMDYyNjdZMTg4MDk2RDAxKg0KK1gxMDY1NzVZMTg4MDM2RDAxKg0KK1gxMDY4NzZZMTg3OTQ4RDAxKg0KK1gxMDcxNjdZMTg3ODMyRDAxKg0KK1gxMDc0NDVZMTg3Njg5RDAxKg0KK1gxMDc1MTVZMTg3NjU0RDAxKg0KK1gxMDc1OTFZMTg3NjMyRDAxKg0KK1gxMDc2NjlZMTg3NjIyRDAxKg0KK1gxMDc3NDhZMTg3NjI0RDAxKg0KK1gxMDc4MjVZMTg3NjM4RDAxKg0KK1gxMDc4OTlZMTg3NjY1RDAxKg0KK1gxMDc5NjhZMTg3NzAyRDAxKg0KK1gxMDgwMzFZMTg3NzUwRDAxKg0KK1gxMDgwODVZMTg3ODA3RDAxKg0KK1gxMDgxMjlZMTg3ODcyRDAxKg0KK1gxMDgxNjNZMTg3OTQzRDAxKg0KK1gxMDgxODVZMTg4MDE5RDAxKg0KK1gxMDgxOTVZMTg4MDk3RDAxKg0KK1gxMDgxOTNZMTg4MTc2RDAxKg0KK1gxMDgxNzlZMTg4MjUzRDAxKg0KK1gxMDgxNTJZMTg4MzI3RDAxKg0KK1gxMDgxMTVZMTg4Mzk2RDAxKg0KK1gxMDgwNjdZMTg4NDU5RDAxKg0KK1gxMDgwMTBZMTg4NTEzRDAxKg0KK1gxMDc5NDRZMTg4NTU2RDAxKg0KK1gxMDc1ODNZMTg4NzQ3RDAxKg0KK1gxMDcyMDNZMTg4ODk4RDAxKg0KK1gxMDY4MTFZMTg5MDEzRDAxKg0KK1gxMDY0MTBZMTg5MDkwRDAxKg0KK1gxMDYwMDNZMTg5MTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTIwMzMyMUQwMSoNCitYMTA1OTAyWTIwMzQzOUQwMSoNCitYMTA2MDUwWTIwMzY4MEQwMSoNCitYMTA2MTU4WTIwMzk0MkQwMSoNCitYMTA2MjI0WTIwNDIxOEQwMSoNCitYMTA2MjQxWTIwNDUwMEQwMSoNCitYMTA2MjI0WTIwNDc4MkQwMSoNCitYMTA2MTU4WTIwNTA1OEQwMSoNCitYMTA2MDUwWTIwNTMyMEQwMSoNCitYMTA1OTAyWTIwNTU2MUQwMSoNCitYMTA1ODAxWTIwNTY3OUQwMSoNCitZMjQ3MDAwRDAxKg0KK1gxMDkzNDNEMDEqDQorWTE4NzE2MUQwMSoNCitYMTA5Mjk5WTE4NzE4NkQwMSoNCitYMTA5MjI0WTE4NzIxMkQwMSoNCitYMTA5MTQ2WTE4NzIyN0QwMSoNCitYMTA5MDY3WTE4NzIyOUQwMSoNCitYMTA4OTg4WTE4NzIxOUQwMSoNCitYMTA4OTEyWTE4NzE5NkQwMSoNCitYMTA4ODQwWTE4NzE2MkQwMSoNCitYMTA4Nzc1WTE4NzExOEQwMSoNCitYMTA4NzE3WTE4NzA2M0QwMSoNCitYMTA4NjY5WTE4NzAwMEQwMSoNCitYMTA4NjMxWTE4NjkzMUQwMSoNCitYMTA4NjA1WTE4Njg1NkQwMSoNCitYMTA4NTkwWTE4Njc3OEQwMSoNCitYMTA4NTg4WTE4NjY5OUQwMSoNCitYMTA4NTk4WTE4NjYyMEQwMSoNCitYMTA4NjIxWTE4NjU0NEQwMSoNCitYMTA4NjU2WTE4NjQ3M0QwMSoNCitYMTA4ODAyWTE4NjE5N0QwMSoNCitYMTA4OTE4WTE4NTkwNkQwMSoNCitYMTA5MDA2WTE4NTYwNUQwMSoNCitYMTA5MDY2WTE4NTI5N0QwMSoNCitYMTA5MDk1WTE4NDk4NkQwMSoNCitZMTg0NjcyRDAxKg0KK1gxMDkwNjZZMTg0MzYxRDAxKg0KK1gxMDkwMDZZMTg0MDUzRDAxKg0KK1gxMDg5MThZMTgzNzUyRDAxKg0KK1gxMDg4MDJZMTgzNDYxRDAxKg0KK1gxMDg2NTlZMTgzMTgzRDAxKg0KK1gxMDg2MjRZMTgzMTEzRDAxKg0KK1gxMDg2MDJZMTgzMDM3RDAxKg0KK1gxMDg1OTJZMTgyOTU5RDAxKg0KK1gxMDg1OTRZMTgyODgwRDAxKg0KK1gxMDg2MDhZMTgyODAzRDAxKg0KK1gxMDg2MzVZMTgyNzI5RDAxKg0KK1gxMDg2NzJZMTgyNjYwRDAxKg0KK1gxMDg3MjBZMTgyNTk3RDAxKg0KK1gxMDg3NzdZMTgyNTQzRDAxKg0KK1gxMDg4NDJZMTgyNDk5RDAxKg0KK1gxMDg5MTNZMTgyNDY1RDAxKg0KK1gxMDg5ODlZMTgyNDQzRDAxKg0KK1gxMDkwNjdZMTgyNDMzRDAxKg0KK1gxMDkxNDZZMTgyNDM1RDAxKg0KK1gxMDkyMjNZMTgyNDQ5RDAxKg0KK1gxMDkyOTdZMTgyNDc2RDAxKg0KK1gxMDkzNDNZMTgyNTAxRDAxKg0KK1kxNzc1NTlEMDEqDQorWDEwOTMwNFkxNzc1MzVEMDEqDQorWDEwOTI0NFkxNzc0ODREMDEqDQorWDEwOTE5M1kxNzc0MjREMDEqDQorWDEwOTE1MlkxNzczNTdEMDEqDQorWDEwOTEyMlkxNzcyODREMDEqDQorWDEwOTEwNFkxNzcyMDdEMDEqDQorWDEwOTA5OVkxNzcxMjlEMDEqDQorWTE3MjUyOUQwMSoNCitYMTA5MTA0WTE3MjQ1MUQwMSoNCitYMTA5MTIyWTE3MjM3NEQwMSoNCitYMTA5MTUyWTE3MjMwMUQwMSoNCitYMTA5MTkzWTE3MjIzNEQwMSoNCitYMTA5MjQ0WTE3MjE3NEQwMSoNCitYMTA5MzA0WTE3MjEyM0QwMSoNCitYMTA5MzQzWTE3MjA5OUQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTA1ODAxWTM0OTI5NkQwMipYMTA0OTA0WTM1MDc2MEQwMSoNCitYMTAzNDQyWTM1MjQ3MkQwMSoNCitYMTAyMjU1WTM1MzQ4NkQwMSoNCitZMzYyMDk5RDAxKg0KK1gxMDIyOTRZMzYyMTIzRDAxKg0KK1gxMDIzNTRZMzYyMTc0RDAxKg0KK1gxMDI0MDVZMzYyMjM0RDAxKg0KK1gxMDI0NDZZMzYyMzAxRDAxKg0KK1gxMDI0NzZZMzYyMzc0RDAxKg0KK1gxMDI0OTRZMzYyNDUxRDAxKg0KK1gxMDI0OTlZMzYyNTI5RDAxKg0KK1kzNjcxMjlEMDEqDQorWDEwMjQ5NFkzNjcyMDdEMDEqDQorWDEwMjQ3NlkzNjcyODREMDEqDQorWDEwMjQ0NlkzNjczNTdEMDEqDQorWDEwMjQwNVkzNjc0MjREMDEqDQorWDEwMjM1NFkzNjc0ODREMDEqDQorWDEwMjI5NFkzNjc1MzVEMDEqDQorWDEwMjI1NVkzNjc1NTlEMDEqDQorWTM3MjQ5N0QwMSoNCitYMTAyMjk5WTM3MjQ3MkQwMSoNCitYMTAyMzc0WTM3MjQ0NkQwMSoNCitYMTAyNDUyWTM3MjQzMUQwMSoNCitYMTAyNTMxWTM3MjQyOUQwMSoNCitYMTAyNjEwWTM3MjQzOUQwMSoNCitYMTAyNjg2WTM3MjQ2MkQwMSoNCitYMTAyNzU4WTM3MjQ5NkQwMSoNCitYMTAyODIzWTM3MjU0MEQwMSoNCitYMTAyODgxWTM3MjU5NUQwMSoNCitYMTAyOTI5WTM3MjY1OEQwMSoNCitYMTAyOTY3WTM3MjcyN0QwMSoNCitYMTAyOTkzWTM3MjgwMkQwMSoNCitYMTAzMDA4WTM3Mjg4MEQwMSoNCitYMTAzMDEwWTM3Mjk1OUQwMSoNCitYMTAzMDAwWTM3MzAzOEQwMSoNCitYMTAyOTc3WTM3MzExNEQwMSoNCitYMTAyOTQyWTM3MzE4NUQwMSoNCitYMTAyNzk2WTM3MzQ2MUQwMSoNCitYMTAyNjgwWTM3Mzc1MkQwMSoNCitYMTAyNTkyWTM3NDA1M0QwMSoNCitYMTAyNTMyWTM3NDM2MUQwMSoNCitYMTAyNTAzWTM3NDY3MkQwMSoNCitZMzc0OTg2RDAxKg0KK1gxMDI1MzJZMzc1Mjk3RDAxKg0KK1gxMDI1OTJZMzc1NjA1RDAxKg0KK1gxMDI2ODBZMzc1OTA2RDAxKg0KK1gxMDI3OTZZMzc2MTk3RDAxKg0KK1gxMDI5MzlZMzc2NDc1RDAxKg0KK1gxMDI5NzRZMzc2NTQ1RDAxKg0KK1gxMDI5OTZZMzc2NjIxRDAxKg0KK1gxMDMwMDZZMzc2Njk5RDAxKg0KK1gxMDMwMDRZMzc2Nzc4RDAxKg0KK1gxMDI5OTBZMzc2ODU1RDAxKg0KK1gxMDI5NjNZMzc2OTI5RDAxKg0KK1gxMDI5MjZZMzc2OTk4RDAxKg0KK1gxMDI4NzhZMzc3MDYxRDAxKg0KK1gxMDI4MjFZMzc3MTE1RDAxKg0KK1gxMDI3NTZZMzc3MTU5RDAxKg0KK1gxMDI2ODVZMzc3MTkzRDAxKg0KK1gxMDI2MDlZMzc3MjE1RDAxKg0KK1gxMDI1MzFZMzc3MjI1RDAxKg0KK1gxMDI0NTJZMzc3MjIzRDAxKg0KK1gxMDIzNzVZMzc3MjA5RDAxKg0KK1gxMDIzMDFZMzc3MTgyRDAxKg0KK1gxMDIyNTVZMzc3MTU3RDAxKg0KK1kzOTcwMDBEMDEqDQorWDEwNTgwMUQwMSoNCitZMzc5MTI5RDAxKg0KK1gxMDU1OTVEMDEqDQorWDEwNTE4OFkzNzkwOTBEMDEqDQorWDEwNDc4N1kzNzkwMTNEMDEqDQorWDEwNDM5NVkzNzg4OThEMDEqDQorWDEwNDAxNVkzNzg3NDdEMDEqDQorWDEwMzY1MlkzNzg1NjBEMDEqDQorWDEwMzU4NlkzNzg1MTZEMDEqDQorWDEwMzUyOFkzNzg0NjFEMDEqDQorWDEwMzQ4MFkzNzgzOThEMDEqDQorWDEwMzQ0MlkzNzgzMjlEMDEqDQorWDEwMzQxNlkzNzgyNTREMDEqDQorWDEwMzQwMVkzNzgxNzZEMDEqDQorWDEwMzM5OVkzNzgwOTdEMDEqDQorWDEwMzQwOVkzNzgwMThEMDEqDQorWDEwMzQzMlkzNzc5NDJEMDEqDQorWDEwMzQ2NlkzNzc4NzBEMDEqDQorWDEwMzUxMFkzNzc4MDVEMDEqDQorWDEwMzU2NVkzNzc3NDdEMDEqDQorWDEwMzYyOFkzNzc2OTlEMDEqDQorWDEwMzY5N1kzNzc2NjFEMDEqDQorWDEwMzc3MlkzNzc2MzVEMDEqDQorWDEwMzg1MFkzNzc2MjBEMDEqDQorWDEwMzkyOVkzNzc2MThEMDEqDQorWDEwNDAwOFkzNzc2MjhEMDEqDQorWDEwNDA4NFkzNzc2NTFEMDEqDQorWDEwNDE1NVkzNzc2ODZEMDEqDQorWDEwNDQzMVkzNzc4MzJEMDEqDQorWDEwNDcyMlkzNzc5NDhEMDEqDQorWDEwNTAyM1kzNzgwMzZEMDEqDQorWDEwNTMzMVkzNzgwOTZEMDEqDQorWDEwNTY0MlkzNzgxMjVEMDEqDQorWDEwNTgwMUQwMSoNCitZMzcxNTMzRDAxKg0KK1gxMDU2NDJEMDEqDQorWDEwNTMzMVkzNzE1NjJEMDEqDQorWDEwNTAyM1kzNzE2MjJEMDEqDQorWDEwNDcyMlkzNzE3MTBEMDEqDQorWDEwNDQzMVkzNzE4MjZEMDEqDQorWDEwNDE1M1kzNzE5NjlEMDEqDQorWDEwNDA4M1kzNzIwMDREMDEqDQorWDEwNDAwN1kzNzIwMjZEMDEqDQorWDEwMzkyOVkzNzIwMzZEMDEqDQorWDEwMzg1MFkzNzIwMzREMDEqDQorWDEwMzc3M1kzNzIwMjBEMDEqDQorWDEwMzY5OVkzNzE5OTNEMDEqDQorWDEwMzYzMFkzNzE5NTZEMDEqDQorWDEwMzU2N1kzNzE5MDhEMDEqDQorWDEwMzUxM1kzNzE4NTFEMDEqDQorWDEwMzQ2OVkzNzE3ODZEMDEqDQorWDEwMzQzNVkzNzE3MTVEMDEqDQorWDEwMzQxM1kzNzE2MzlEMDEqDQorWDEwMzQwM1kzNzE1NjFEMDEqDQorWDEwMzQwNVkzNzE0ODJEMDEqDQorWDEwMzQxOVkzNzE0MDVEMDEqDQorWDEwMzQ0NlkzNzEzMzFEMDEqDQorWDEwMzQ4M1kzNzEyNjJEMDEqDQorWDEwMzUzMVkzNzExOTlEMDEqDQorWDEwMzU4OFkzNzExNDVEMDEqDQorWDEwMzY1NFkzNzExMDJEMDEqDQorWDEwNDAxNVkzNzA5MTFEMDEqDQorWDEwNDM5NVkzNzA3NjBEMDEqDQorWDEwNDc4N1kzNzA2NDVEMDEqDQorWDEwNTE4OFkzNzA1NjhEMDEqDQorWDEwNTU5NVkzNzA1MjlEMDEqDQorWDEwNTgwMUQwMSoNCitZMzY5MTI5RDAxKg0KK1gxMDM0OTlEMDEqDQorWDEwMzQyMVkzNjkxMjREMDEqDQorWDEwMzM0NFkzNjkxMDZEMDEqDQorWDEwMzI3MVkzNjkwNzZEMDEqDQorWDEwMzIwNFkzNjkwMzVEMDEqDQorWDEwMzE0NFkzNjg5ODREMDEqDQorWDEwMzA5M1kzNjg5MjREMDEqDQorWDEwMzA1MlkzNjg4NTdEMDEqDQorWDEwMzAyMlkzNjg3ODREMDEqDQorWDEwMzAwNFkzNjg3MDdEMDEqDQorWDEwMjk5N1kzNjg2MjlEMDEqDQorWDEwMzAwNFkzNjg1NTFEMDEqDQorWDEwMzAyMlkzNjg0NzREMDEqDQorWDEwMzA1MlkzNjg0MDFEMDEqDQorWDEwMzA5M1kzNjgzMzREMDEqDQorWDEwMzE0NFkzNjgyNzREMDEqDQorWDEwMzIwNFkzNjgyMjNEMDEqDQorWDEwMzI3MVkzNjgxODJEMDEqDQorWDEwMzM0NFkzNjgxNTJEMDEqDQorWDEwMzQyMVkzNjgxMzREMDEqDQorWDEwMzQ5OVkzNjgxMjlEMDEqDQorWDEwNTgwMUQwMSoNCitZMzYxNTI5RDAxKg0KK1gxMDM0OTlEMDEqDQorWDEwMzQyMVkzNjE1MjREMDEqDQorWDEwMzM0NFkzNjE1MDZEMDEqDQorWDEwMzI3MVkzNjE0NzZEMDEqDQorWDEwMzIwNFkzNjE0MzVEMDEqDQorWDEwMzE0NFkzNjEzODREMDEqDQorWDEwMzA5M1kzNjEzMjREMDEqDQorWDEwMzA1MlkzNjEyNTdEMDEqDQorWDEwMzAyMlkzNjExODREMDEqDQorWDEwMzAwNFkzNjExMDdEMDEqDQorWDEwMjk5N1kzNjEwMjlEMDEqDQorWDEwMzAwNFkzNjA5NTFEMDEqDQorWDEwMzAyMlkzNjA4NzREMDEqDQorWDEwMzA1MlkzNjA4MDFEMDEqDQorWDEwMzA5M1kzNjA3MzREMDEqDQorWDEwMzE0NFkzNjA2NzREMDEqDQorWDEwMzIwNFkzNjA2MjNEMDEqDQorWDEwMzI3MVkzNjA1ODJEMDEqDQorWDEwMzM0NFkzNjA1NTJEMDEqDQorWDEwMzQyMVkzNjA1MzREMDEqDQorWDEwMzQ5OVkzNjA1MjlEMDEqDQorWDEwNTgwMUQwMSoNCitZMzQ5Mjk2RDAxKg0KK0czNyoNCitHMzYqDQorWDEwMjI1NVkzNTM0ODZEMDIqWDEwMTczMFkzNTM5MzREMDEqDQorWDk5ODExWTM1NTExMEQwMSoNCitYOTc3MzJZMzU1OTcxRDAxKg0KK1g5NTU0M1kzNTY0OTdEMDEqDQorWDkzMjk5WTM1NjY3M0QwMSoNCitYOTEwNTVZMzU2NDk3RDAxKg0KK1g4ODg2NlkzNTU5NzFEMDEqDQorWDg2Nzg3WTM1NTExMEQwMSoNCitYODU3ODRZMzU0NDk1RDAxKg0KK1kzNTk3NDlEMDEqDQorWDg1Nzk5WTM1OTc0OEQwMSoNCitYODczNzZZMzU5ODcyRDAxKg0KK1g4ODkxNFkzNjAyNDFEMDEqDQorWDkwMzc2WTM2MDg0N0QwMSoNCitYOTE3MjRZMzYxNjczRDAxKg0KK1g5MjkyN1kzNjI3MDFEMDEqDQorWDkzOTU1WTM2MzkwNEQwMSoNCitYOTQ3ODFZMzY1MjUyRDAxKg0KK1g5NTM4N1kzNjY3MTREMDEqDQorWDk1NzU2WTM2ODI1MkQwMSoNCitYOTU4NDlZMzY5ODI5RDAxKg0KK1g5NTc1NlkzNzE0MDZEMDEqDQorWDk1Mzg3WTM3Mjk0NEQwMSoNCitYOTQ3ODFZMzc0NDA2RDAxKg0KK1g5Mzk1NVkzNzU3NTREMDEqDQorWDkyOTI3WTM3Njk1N0QwMSoNCitYOTE3MjRZMzc3OTg1RDAxKg0KK1g5MDM3NlkzNzg4MTFEMDEqDQorWDg4OTE0WTM3OTQxN0QwMSoNCitYODczNzZZMzc5Nzg2RDAxKg0KK1g4NTc5OVkzNzk5MTBEMDEqDQorWDg1Nzg0WTM3OTkwOUQwMSoNCitZMzk3MDAwRDAxKg0KK1gxMDIyNTVEMDEqDQorWTM3NzE1N0QwMSoNCitYMTAyMjMyWTM3NzE0NUQwMSoNCitYMTAyMTY5WTM3NzA5N0QwMSoNCitYMTAyMTE1WTM3NzA0MEQwMSoNCitYMTAyMDcyWTM3Njk3NEQwMSoNCitYMTAxODgxWTM3NjYxM0QwMSoNCitYMTAxNzMwWTM3NjIzM0QwMSoNCitYMTAxNjE1WTM3NTg0MUQwMSoNCitYMTAxNTM4WTM3NTQ0MEQwMSoNCitYMTAxNDk5WTM3NTAzM0QwMSoNCitZMzc0NjI1RDAxKg0KK1gxMDE1MzhZMzc0MjE4RDAxKg0KK1gxMDE2MTVZMzczODE3RDAxKg0KK1gxMDE3MzBZMzczNDI1RDAxKg0KK1gxMDE4ODFZMzczMDQ1RDAxKg0KK1gxMDIwNjhZMzcyNjgyRDAxKg0KK1gxMDIxMTJZMzcyNjE2RDAxKg0KK1gxMDIxNjdZMzcyNTU4RDAxKg0KK1gxMDIyMzBZMzcyNTEwRDAxKg0KK1gxMDIyNTVZMzcyNDk3RDAxKg0KK1kzNjc1NTlEMDEqDQorWDEwMjIyN1kzNjc1NzZEMDEqDQorWDEwMjE1NFkzNjc2MDZEMDEqDQorWDEwMjA3N1kzNjc2MjREMDEqDQorWDEwMTk5OVkzNjc2MzFEMDEqDQorWDEwMTkyMVkzNjc2MjREMDEqDQorWDEwMTg0NFkzNjc2MDZEMDEqDQorWDEwMTc3MVkzNjc1NzZEMDEqDQorWDEwMTcwNFkzNjc1MzVEMDEqDQorWDEwMTY0NFkzNjc0ODREMDEqDQorWDEwMTU5M1kzNjc0MjREMDEqDQorWDEwMTU1MlkzNjczNTdEMDEqDQorWDEwMTUyMlkzNjcyODREMDEqDQorWDEwMTUwNFkzNjcyMDdEMDEqDQorWDEwMTQ5OVkzNjcxMjlEMDEqDQorWTM2MjUyOUQwMSoNCitYMTAxNTA0WTM2MjQ1MUQwMSoNCitYMTAxNTIyWTM2MjM3NEQwMSoNCitYMTAxNTUyWTM2MjMwMUQwMSoNCitYMTAxNTkzWTM2MjIzNEQwMSoNCitYMTAxNjQ0WTM2MjE3NEQwMSoNCitYMTAxNzA0WTM2MjEyM0QwMSoNCitYMTAxNzcxWTM2MjA4MkQwMSoNCitYMTAxODQ0WTM2MjA1MkQwMSoNCitYMTAxOTIxWTM2MjAzNEQwMSoNCitYMTAxOTk5WTM2MjAyN0QwMSoNCitYMTAyMDc3WTM2MjAzNEQwMSoNCitYMTAyMTU0WTM2MjA1MkQwMSoNCitYMTAyMjI3WTM2MjA4MkQwMSoNCitYMTAyMjU1WTM2MjA5OUQwMSoNCitZMzUzNDg2RDAxKg0KK0czNyoNCitHMzYqDQorWDEwNTgwMVkzMjIwMDBEMDIqWDg1Nzg0RDAxKg0KK1kzMzAxNjNEMDEqDQorWDg2Nzg3WTMyOTU0OEQwMSoNCitYODg4NjZZMzI4Njg3RDAxKg0KK1g5MTA1NVkzMjgxNjFEMDEqDQorWDkzMjk5WTMyNzk4NUQwMSoNCitYOTU1NDNZMzI4MTYxRDAxKg0KK1g5NzczMlkzMjg2ODdEMDEqDQorWDk5ODExWTMyOTU0OEQwMSoNCitYMTAxNzMwWTMzMDcyNEQwMSoNCitYMTAzNDQyWTMzMjE4NkQwMSoNCitYMTA0OTA0WTMzMzg5OEQwMSoNCitYMTA1ODAxWTMzNTM2MkQwMSoNCitZMzIyMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEwMjI1NVkyNDcwMDBEMDIqWDEwNTgwMUQwMSoNCitZMjA1Njc5RDAxKg0KK1gxMDU3MThZMjA1Nzc3RDAxKg0KK1gxMDU1MDJZMjA1OTYxRDAxKg0KK1gxMDUyNjFZMjA2MTA5RDAxKg0KK1gxMDQ5OTlZMjA2MjE3RDAxKg0KK1gxMDQ3MjNZMjA2MjgzRDAxKg0KK1gxMDQ0NDFZMjA2MzA2RDAxKg0KK1gxMDQxNTlZMjA2MjgzRDAxKg0KK1gxMDM4ODNZMjA2MjE3RDAxKg0KK1gxMDM2MjFZMjA2MTA5RDAxKg0KK1gxMDMzODBZMjA1OTYxRDAxKg0KK1gxMDMxNjRZMjA1Nzc3RDAxKg0KK1gxMDI5ODBZMjA1NTYxRDAxKg0KK1gxMDI4MzJZMjA1MzIwRDAxKg0KK1gxMDI3MjRZMjA1MDU4RDAxKg0KK1gxMDI2OTFZMjA0OTIxRDAxKg0KK1gxMDI2NThZMjA1MDU4RDAxKg0KK1gxMDI1NTBZMjA1MzIwRDAxKg0KK1gxMDI0MDJZMjA1NTYxRDAxKg0KK1gxMDIyNTVZMjA1NzM0RDAxKg0KK1kyNDcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTA1ODAxWTk3MDAwRDAyKlgxMDIyNTVEMDEqDQorWTEwMjcyNEQwMSoNCitYMTAyNDk5WTEwMjc4M0QwMSoNCitYMTAyNzYxWTEwMjg5MUQwMSoNCitYMTAzMDAyWTEwMzAzOUQwMSoNCitYMTAzMjE4WTEwMzIyM0QwMSoNCitYMTAzNDAyWTEwMzQzOUQwMSoNCitYMTAzNTUwWTEwMzY4MEQwMSoNCitYMTAzNjU4WTEwMzk0MkQwMSoNCitYMTAzNzI0WTEwNDIxOEQwMSoNCitYMTAzNzQxWTEwNDUwMEQwMSoNCitYMTAzNzI0WTEwNDc4MkQwMSoNCitYMTAzNjU4WTEwNTA1OEQwMSoNCitYMTAzNTUwWTEwNTMyMEQwMSoNCitYMTAzNDAyWTEwNTU2MUQwMSoNCitYMTAzMjE4WTEwNTc3N0QwMSoNCitYMTAzMDAyWTEwNTk2MUQwMSoNCitYMTAyNzYxWTEwNjEwOUQwMSoNCitYMTAyNDk5WTEwNjIxN0QwMSoNCitYMTAyMjU1WTEwNjI3NkQwMSoNCitZMTcyMDk5RDAxKg0KK1gxMDIyOTRZMTcyMTIzRDAxKg0KK1gxMDIzNTRZMTcyMTc0RDAxKg0KK1gxMDI0MDVZMTcyMjM0RDAxKg0KK1gxMDI0NDZZMTcyMzAxRDAxKg0KK1gxMDI0NzZZMTcyMzc0RDAxKg0KK1gxMDI0OTRZMTcyNDUxRDAxKg0KK1gxMDI0OTlZMTcyNTI5RDAxKg0KK1kxNzcxMjlEMDEqDQorWDEwMjQ5NFkxNzcyMDdEMDEqDQorWDEwMjQ3NlkxNzcyODREMDEqDQorWDEwMjQ0NlkxNzczNTdEMDEqDQorWDEwMjQwNVkxNzc0MjREMDEqDQorWDEwMjM1NFkxNzc0ODREMDEqDQorWDEwMjI5NFkxNzc1MzVEMDEqDQorWDEwMjI1NVkxNzc1NTlEMDEqDQorWTE4MjQ5N0QwMSoNCitYMTAyMjk5WTE4MjQ3MkQwMSoNCitYMTAyMzc0WTE4MjQ0NkQwMSoNCitYMTAyNDUyWTE4MjQzMUQwMSoNCitYMTAyNTMxWTE4MjQyOUQwMSoNCitYMTAyNjEwWTE4MjQzOUQwMSoNCitYMTAyNjg2WTE4MjQ2MkQwMSoNCitYMTAyNzU4WTE4MjQ5NkQwMSoNCitYMTAyODIzWTE4MjU0MEQwMSoNCitYMTAyODgxWTE4MjU5NUQwMSoNCitYMTAyOTI5WTE4MjY1OEQwMSoNCitYMTAyOTY3WTE4MjcyN0QwMSoNCitYMTAyOTkzWTE4MjgwMkQwMSoNCitYMTAzMDA4WTE4Mjg4MEQwMSoNCitYMTAzMDEwWTE4Mjk1OUQwMSoNCitYMTAzMDAwWTE4MzAzOEQwMSoNCitYMTAyOTc3WTE4MzExNEQwMSoNCitYMTAyOTQyWTE4MzE4NUQwMSoNCitYMTAyNzk2WTE4MzQ2MUQwMSoNCitYMTAyNjgwWTE4Mzc1MkQwMSoNCitYMTAyNTkyWTE4NDA1M0QwMSoNCitYMTAyNTMyWTE4NDM2MUQwMSoNCitYMTAyNTAzWTE4NDY3MkQwMSoNCitZMTg0OTg2RDAxKg0KK1gxMDI1MzJZMTg1Mjk3RDAxKg0KK1gxMDI1OTJZMTg1NjA1RDAxKg0KK1gxMDI2ODBZMTg1OTA2RDAxKg0KK1gxMDI3OTZZMTg2MTk3RDAxKg0KK1gxMDI5MzlZMTg2NDc1RDAxKg0KK1gxMDI5NzRZMTg2NTQ1RDAxKg0KK1gxMDI5OTZZMTg2NjIxRDAxKg0KK1gxMDMwMDZZMTg2Njk5RDAxKg0KK1gxMDMwMDRZMTg2Nzc4RDAxKg0KK1gxMDI5OTBZMTg2ODU1RDAxKg0KK1gxMDI5NjNZMTg2OTI5RDAxKg0KK1gxMDI5MjZZMTg2OTk4RDAxKg0KK1gxMDI4NzhZMTg3MDYxRDAxKg0KK1gxMDI4MjFZMTg3MTE1RDAxKg0KK1gxMDI3NTZZMTg3MTU5RDAxKg0KK1gxMDI2ODVZMTg3MTkzRDAxKg0KK1gxMDI2MDlZMTg3MjE1RDAxKg0KK1gxMDI1MzFZMTg3MjI1RDAxKg0KK1gxMDI0NTJZMTg3MjIzRDAxKg0KK1gxMDIzNzVZMTg3MjA5RDAxKg0KK1gxMDIzMDFZMTg3MTgyRDAxKg0KK1gxMDIyNTVZMTg3MTU3RDAxKg0KK1kyMDMyNjZEMDEqDQorWDEwMjQwMlkyMDM0MzlEMDEqDQorWDEwMjU1MFkyMDM2ODBEMDEqDQorWDEwMjY1OFkyMDM5NDJEMDEqDQorWDEwMjY5MVkyMDQwNzlEMDEqDQorWDEwMjcyNFkyMDM5NDJEMDEqDQorWDEwMjgzMlkyMDM2ODBEMDEqDQorWDEwMjk4MFkyMDM0MzlEMDEqDQorWDEwMzE2NFkyMDMyMjNEMDEqDQorWDEwMzM4MFkyMDMwMzlEMDEqDQorWDEwMzYyMVkyMDI4OTFEMDEqDQorWDEwMzg4M1kyMDI3ODNEMDEqDQorWDEwNDE1OVkyMDI3MTdEMDEqDQorWDEwNDQ0MVkyMDI2OTREMDEqDQorWDEwNDcyM1kyMDI3MTdEMDEqDQorWDEwNDk5OVkyMDI3ODNEMDEqDQorWDEwNTI2MVkyMDI4OTFEMDEqDQorWDEwNTUwMlkyMDMwMzlEMDEqDQorWDEwNTcxOFkyMDMyMjNEMDEqDQorWDEwNTgwMVkyMDMzMjFEMDEqDQorWTE4OTEyOUQwMSoNCitYMTA1NTk1RDAxKg0KK1gxMDUxODhZMTg5MDkwRDAxKg0KK1gxMDQ3ODdZMTg5MDEzRDAxKg0KK1gxMDQzOTVZMTg4ODk4RDAxKg0KK1gxMDQwMTVZMTg4NzQ3RDAxKg0KK1gxMDM2NTJZMTg4NTYwRDAxKg0KK1gxMDM1ODZZMTg4NTE2RDAxKg0KK1gxMDM1MjhZMTg4NDYxRDAxKg0KK1gxMDM0ODBZMTg4Mzk4RDAxKg0KK1gxMDM0NDJZMTg4MzI5RDAxKg0KK1gxMDM0MTZZMTg4MjU0RDAxKg0KK1gxMDM0MDFZMTg4MTc2RDAxKg0KK1gxMDMzOTlZMTg4MDk3RDAxKg0KK1gxMDM0MDlZMTg4MDE4RDAxKg0KK1gxMDM0MzJZMTg3OTQyRDAxKg0KK1gxMDM0NjZZMTg3ODcwRDAxKg0KK1gxMDM1MTBZMTg3ODA1RDAxKg0KK1gxMDM1NjVZMTg3NzQ3RDAxKg0KK1gxMDM2MjhZMTg3Njk5RDAxKg0KK1gxMDM2OTdZMTg3NjYxRDAxKg0KK1gxMDM3NzJZMTg3NjM1RDAxKg0KK1gxMDM4NTBZMTg3NjIwRDAxKg0KK1gxMDM5MjlZMTg3NjE4RDAxKg0KK1gxMDQwMDhZMTg3NjI4RDAxKg0KK1gxMDQwODRZMTg3NjUxRDAxKg0KK1gxMDQxNTVZMTg3Njg2RDAxKg0KK1gxMDQ0MzFZMTg3ODMyRDAxKg0KK1gxMDQ3MjJZMTg3OTQ4RDAxKg0KK1gxMDUwMjNZMTg4MDM2RDAxKg0KK1gxMDUzMzFZMTg4MDk2RDAxKg0KK1gxMDU2NDJZMTg4MTI1RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE4MTUzM0QwMSoNCitYMTA1NjQyRDAxKg0KK1gxMDUzMzFZMTgxNTYyRDAxKg0KK1gxMDUwMjNZMTgxNjIyRDAxKg0KK1gxMDQ3MjJZMTgxNzEwRDAxKg0KK1gxMDQ0MzFZMTgxODI2RDAxKg0KK1gxMDQxNTNZMTgxOTY5RDAxKg0KK1gxMDQwODNZMTgyMDA0RDAxKg0KK1gxMDQwMDdZMTgyMDI2RDAxKg0KK1gxMDM5MjlZMTgyMDM2RDAxKg0KK1gxMDM4NTBZMTgyMDM0RDAxKg0KK1gxMDM3NzNZMTgyMDIwRDAxKg0KK1gxMDM2OTlZMTgxOTkzRDAxKg0KK1gxMDM2MzBZMTgxOTU2RDAxKg0KK1gxMDM1NjdZMTgxOTA4RDAxKg0KK1gxMDM1MTNZMTgxODUxRDAxKg0KK1gxMDM0NjlZMTgxNzg2RDAxKg0KK1gxMDM0MzVZMTgxNzE1RDAxKg0KK1gxMDM0MTNZMTgxNjM5RDAxKg0KK1gxMDM0MDNZMTgxNTYxRDAxKg0KK1gxMDM0MDVZMTgxNDgyRDAxKg0KK1gxMDM0MTlZMTgxNDA1RDAxKg0KK1gxMDM0NDZZMTgxMzMxRDAxKg0KK1gxMDM0ODNZMTgxMjYyRDAxKg0KK1gxMDM1MzFZMTgxMTk5RDAxKg0KK1gxMDM1ODhZMTgxMTQ1RDAxKg0KK1gxMDM2NTRZMTgxMTAyRDAxKg0KK1gxMDQwMTVZMTgwOTExRDAxKg0KK1gxMDQzOTVZMTgwNzYwRDAxKg0KK1gxMDQ3ODdZMTgwNjQ1RDAxKg0KK1gxMDUxODhZMTgwNTY4RDAxKg0KK1gxMDU1OTVZMTgwNTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE3OTEyOUQwMSoNCitYMTAzNDk5RDAxKg0KK1gxMDM0MjFZMTc5MTI0RDAxKg0KK1gxMDMzNDRZMTc5MTA2RDAxKg0KK1gxMDMyNzFZMTc5MDc2RDAxKg0KK1gxMDMyMDRZMTc5MDM1RDAxKg0KK1gxMDMxNDRZMTc4OTg0RDAxKg0KK1gxMDMwOTNZMTc4OTI0RDAxKg0KK1gxMDMwNTJZMTc4ODU3RDAxKg0KK1gxMDMwMjJZMTc4Nzg0RDAxKg0KK1gxMDMwMDRZMTc4NzA3RDAxKg0KK1gxMDI5OTdZMTc4NjI5RDAxKg0KK1gxMDMwMDRZMTc4NTUxRDAxKg0KK1gxMDMwMjJZMTc4NDc0RDAxKg0KK1gxMDMwNTJZMTc4NDAxRDAxKg0KK1gxMDMwOTNZMTc4MzM0RDAxKg0KK1gxMDMxNDRZMTc4Mjc0RDAxKg0KK1gxMDMyMDRZMTc4MjIzRDAxKg0KK1gxMDMyNzFZMTc4MTgyRDAxKg0KK1gxMDMzNDRZMTc4MTUyRDAxKg0KK1gxMDM0MjFZMTc4MTM0RDAxKg0KK1gxMDM0OTlZMTc4MTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE3MTUyOUQwMSoNCitYMTAzNDk5RDAxKg0KK1gxMDM0MjFZMTcxNTI0RDAxKg0KK1gxMDMzNDRZMTcxNTA2RDAxKg0KK1gxMDMyNzFZMTcxNDc2RDAxKg0KK1gxMDMyMDRZMTcxNDM1RDAxKg0KK1gxMDMxNDRZMTcxMzg0RDAxKg0KK1gxMDMwOTNZMTcxMzI0RDAxKg0KK1gxMDMwNTJZMTcxMjU3RDAxKg0KK1gxMDMwMjJZMTcxMTg0RDAxKg0KK1gxMDMwMDRZMTcxMTA3RDAxKg0KK1gxMDI5OTdZMTcxMDI5RDAxKg0KK1gxMDMwMDRZMTcwOTUxRDAxKg0KK1gxMDMwMjJZMTcwODc0RDAxKg0KK1gxMDMwNTJZMTcwODAxRDAxKg0KK1gxMDMwOTNZMTcwNzM0RDAxKg0KK1gxMDMxNDRZMTcwNjc0RDAxKg0KK1gxMDMyMDRZMTcwNjIzRDAxKg0KK1gxMDMyNzFZMTcwNTgyRDAxKg0KK1gxMDMzNDRZMTcwNTUyRDAxKg0KK1gxMDM0MjFZMTcwNTM0RDAxKg0KK1gxMDM0OTlZMTcwNTI5RDAxKg0KK1gxMDU4MDFEMDEqDQorWTE1MDE4M0QwMSoNCitYMTA1NjIxWTE1MDEwOUQwMSoNCitYMTA1MzgwWTE0OTk2MUQwMSoNCitYMTA1MTY0WTE0OTc3N0QwMSoNCitYMTA0OTgwWTE0OTU2MUQwMSoNCitYMTA0ODMyWTE0OTMyMEQwMSoNCitYMTA0NzI0WTE0OTA1OEQwMSoNCitYMTA0NjU4WTE0ODc4MkQwMSoNCitYMTA0NjM1WTE0ODUwMEQwMSoNCitYMTA0NjU4WTE0ODIxOEQwMSoNCitYMTA0NzI0WTE0Nzk0MkQwMSoNCitYMTA0ODMyWTE0NzY4MEQwMSoNCitYMTA0OTgwWTE0NzQzOUQwMSoNCitYMTA1MTY0WTE0NzIyM0QwMSoNCitYMTA1MzgwWTE0NzAzOUQwMSoNCitYMTA1NjIxWTE0Njg5MUQwMSoNCitYMTA1ODAxWTE0NjgxN0QwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTAyMjU1RDAyKlg4OTQ0MUQwMSoNCitZMTcwNDYwRDAxKg0KK1g5MDM3NlkxNzA4NDdEMDEqDQorWDkxNzI0WTE3MTY3M0QwMSoNCitYOTI5MjdZMTcyNzAxRDAxKg0KK1g5Mzk1NVkxNzM5MDREMDEqDQorWDk0NzgxWTE3NTI1MkQwMSoNCitYOTUzODdZMTc2NzE0RDAxKg0KK1g5NTc1NlkxNzgyNTJEMDEqDQorWDk1ODQ5WTE3OTgyOUQwMSoNCitYOTU3NTZZMTgxNDA2RDAxKg0KK1g5NTM4N1kxODI5NDREMDEqDQorWDk0NzgxWTE4NDQwNkQwMSoNCitYOTM5NTVZMTg1NzU0RDAxKg0KK1g5MjkyN1kxODY5NTdEMDEqDQorWDkxNzI0WTE4Nzk4NUQwMSoNCitYOTAzNzZZMTg4ODExRDAxKg0KK1g4OTQ0MVkxODkxOThEMDEqDQorWTIxNzQzN0QwMSoNCitYODk2ODZZMjE3ODM3RDAxKg0KK1g4OTk3MlkyMTg1MjhEMDEqDQorWDkwMTQ3WTIxOTI1NUQwMSoNCitYOTAxOTFZMjIwMDAwRDAxKg0KK1g5MDE0N1kyMjA3NDVEMDEqDQorWDg5OTcyWTIyMTQ3MkQwMSoNCitYODk2ODZZMjIyMTYzRDAxKg0KK1g4OTQ0MVkyMjI1NjNEMDEqDQorWTIyNzQzN0QwMSoNCitYODk2ODZZMjI3ODM3RDAxKg0KK1g4OTk3MlkyMjg1MjhEMDEqDQorWDkwMTQ3WTIyOTI1NUQwMSoNCitYOTAxOTFZMjMwMDAwRDAxKg0KK1g5MDE0N1kyMzA3NDVEMDEqDQorWDg5OTcyWTIzMTQ3MkQwMSoNCitYODk2ODZZMjMyMTYzRDAxKg0KK1g4OTQ0MVkyMzI1NjNEMDEqDQorWTIzNzQ5OEQwMSoNCitYODk1NTlZMjM3NTA3RDAxKg0KK1g4OTY3M1kyMzc1MzVEMDEqDQorWDg5NzgzWTIzNzU4MEQwMSoNCitYODk4ODNZMjM3NjQxRDAxKg0KK1g4OTk3M1kyMzc3MThEMDEqDQorWDkwMDUwWTIzNzgwOEQwMSoNCitYOTAxMTFZMjM3OTA4RDAxKg0KK1g5MDE1NlkyMzgwMThEMDEqDQorWDkwMTg0WTIzODEzMkQwMSoNCitYOTAxOTFZMjM4MjUwRDAxKg0KK1kyNDE3NTBEMDEqDQorWDkwMTg0WTI0MTg2OEQwMSoNCitYOTAxNTZZMjQxOTgyRDAxKg0KK1g5MDExMVkyNDIwOTJEMDEqDQorWDkwMDUwWTI0MjE5MkQwMSoNCitYODk5NzNZMjQyMjgyRDAxKg0KK1g4OTg4M1kyNDIzNTlEMDEqDQorWDg5NzgzWTI0MjQyMEQwMSoNCitYODk2NzNZMjQyNDY1RDAxKg0KK1g4OTU1OVkyNDI0OTNEMDEqDQorWDg5NDQxWTI0MjUwMkQwMSoNCitZMjQ3MDAwRDAxKg0KK1gxMDIyNTVEMDEqDQorWTIwNTczNEQwMSoNCitYMTAyMjE4WTIwNTc3N0QwMSoNCitYMTAyMDAyWTIwNTk2MUQwMSoNCitYMTAxNzYxWTIwNjEwOUQwMSoNCitYMTAxNDk5WTIwNjIxN0QwMSoNCitYMTAxMjIzWTIwNjI4M0QwMSoNCitYMTAwOTQxWTIwNjMwNkQwMSoNCitYMTAwNjU5WTIwNjI4M0QwMSoNCitYMTAwMzgzWTIwNjIxN0QwMSoNCitYMTAwMTIxWTIwNjEwOUQwMSoNCitYOTk4ODBZMjA1OTYxRDAxKg0KK1g5OTY2NFkyMDU3NzdEMDEqDQorWDk5NDgwWTIwNTU2MUQwMSoNCitYOTkzMzJZMjA1MzIwRDAxKg0KK1g5OTIyNFkyMDUwNThEMDEqDQorWDk5MTU4WTIwNDc4MkQwMSoNCitYOTkxMzVZMjA0NTAwRDAxKg0KK1g5OTE1OFkyMDQyMThEMDEqDQorWDk5MjI0WTIwMzk0MkQwMSoNCitYOTkzMzJZMjAzNjgwRDAxKg0KK1g5OTQ4MFkyMDM0MzlEMDEqDQorWDk5NjY0WTIwMzIyM0QwMSoNCitYOTk4ODBZMjAzMDM5RDAxKg0KK1gxMDAxMjFZMjAyODkxRDAxKg0KK1gxMDAzODNZMjAyNzgzRDAxKg0KK1gxMDA2NTlZMjAyNzE3RDAxKg0KK1gxMDA5NDFZMjAyNjk0RDAxKg0KK1gxMDEyMjNZMjAyNzE3RDAxKg0KK1gxMDE0OTlZMjAyNzgzRDAxKg0KK1gxMDE3NjFZMjAyODkxRDAxKg0KK1gxMDIwMDJZMjAzMDM5RDAxKg0KK1gxMDIyMThZMjAzMjIzRDAxKg0KK1gxMDIyNTVZMjAzMjY2RDAxKg0KK1kxODcxNTdEMDEqDQorWDEwMjIzMlkxODcxNDVEMDEqDQorWDEwMjE2OVkxODcwOTdEMDEqDQorWDEwMjExNVkxODcwNDBEMDEqDQorWDEwMjA3MlkxODY5NzREMDEqDQorWDEwMTg4MVkxODY2MTNEMDEqDQorWDEwMTczMFkxODYyMzNEMDEqDQorWDEwMTYxNVkxODU4NDFEMDEqDQorWDEwMTUzOFkxODU0NDBEMDEqDQorWDEwMTQ5OVkxODUwMzNEMDEqDQorWTE4NDYyNUQwMSoNCitYMTAxNTM4WTE4NDIxOEQwMSoNCitYMTAxNjE1WTE4MzgxN0QwMSoNCitYMTAxNzMwWTE4MzQyNUQwMSoNCitYMTAxODgxWTE4MzA0NUQwMSoNCitYMTAyMDY4WTE4MjY4MkQwMSoNCitYMTAyMTEyWTE4MjYxNkQwMSoNCitYMTAyMTY3WTE4MjU1OEQwMSoNCitYMTAyMjMwWTE4MjUxMEQwMSoNCitYMTAyMjU1WTE4MjQ5N0QwMSoNCitZMTc3NTU5RDAxKg0KK1gxMDIyMjdZMTc3NTc2RDAxKg0KK1gxMDIxNTRZMTc3NjA2RDAxKg0KK1gxMDIwNzdZMTc3NjI0RDAxKg0KK1gxMDE5OTlZMTc3NjMxRDAxKg0KK1gxMDE5MjFZMTc3NjI0RDAxKg0KK1gxMDE4NDRZMTc3NjA2RDAxKg0KK1gxMDE3NzFZMTc3NTc2RDAxKg0KK1gxMDE3MDRZMTc3NTM1RDAxKg0KK1gxMDE2NDRZMTc3NDg0RDAxKg0KK1gxMDE1OTNZMTc3NDI0RDAxKg0KK1gxMDE1NTJZMTc3MzU3RDAxKg0KK1gxMDE1MjJZMTc3Mjg0RDAxKg0KK1gxMDE1MDRZMTc3MjA3RDAxKg0KK1gxMDE0OTlZMTc3MTI5RDAxKg0KK1kxNzI1MjlEMDEqDQorWDEwMTUwNFkxNzI0NTFEMDEqDQorWDEwMTUyMlkxNzIzNzREMDEqDQorWDEwMTU1MlkxNzIzMDFEMDEqDQorWDEwMTU5M1kxNzIyMzREMDEqDQorWDEwMTY0NFkxNzIxNzREMDEqDQorWDEwMTcwNFkxNzIxMjNEMDEqDQorWDEwMTc3MVkxNzIwODJEMDEqDQorWDEwMTg0NFkxNzIwNTJEMDEqDQorWDEwMTkyMVkxNzIwMzREMDEqDQorWDEwMTk5OVkxNzIwMjdEMDEqDQorWDEwMjA3N1kxNzIwMzREMDEqDQorWDEwMjE1NFkxNzIwNTJEMDEqDQorWDEwMjIyN1kxNzIwODJEMDEqDQorWDEwMjI1NVkxNzIwOTlEMDEqDQorWTEwNjI3NkQwMSoNCitYMTAyMjIzWTEwNjI4M0QwMSoNCitYMTAxOTQxWTEwNjMwNkQwMSoNCitYMTAxNjU5WTEwNjI4M0QwMSoNCitYMTAxMzgzWTEwNjIxN0QwMSoNCitYMTAxMTIxWTEwNjEwOUQwMSoNCitYMTAwODgwWTEwNTk2MUQwMSoNCitYMTAwNjY0WTEwNTc3N0QwMSoNCitYMTAwNDgwWTEwNTU2MUQwMSoNCitYMTAwMzMyWTEwNTMyMEQwMSoNCitYMTAwMjI0WTEwNTA1OEQwMSoNCitYMTAwMTU4WTEwNDc4MkQwMSoNCitYMTAwMTM1WTEwNDUwMEQwMSoNCitYMTAwMTU4WTEwNDIxOEQwMSoNCitYMTAwMjI0WTEwMzk0MkQwMSoNCitYMTAwMzMyWTEwMzY4MEQwMSoNCitYMTAwNDgwWTEwMzQzOUQwMSoNCitYMTAwNjY0WTEwMzIyM0QwMSoNCitYMTAwODgwWTEwMzAzOUQwMSoNCitYMTAxMTIxWTEwMjg5MUQwMSoNCitYMTAxMzgzWTEwMjc4M0QwMSoNCitYMTAxNjU5WTEwMjcxN0QwMSoNCitYMTAxOTQxWTEwMjY5NEQwMSoNCitYMTAyMjIzWTEwMjcxN0QwMSoNCitYMTAyMjU1WTEwMjcyNEQwMSoNCitZOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODk0NDFZMjMyNTYzRDAyKlg4OTI5NlkyMzI4MDFEMDEqDQorWDg4ODEwWTIzMzM2OUQwMSoNCitYODgyNDJZMjMzODU1RDAxKg0KK1g4NzYwNFkyMzQyNDVEMDEqDQorWDg2OTEzWTIzNDUzMUQwMSoNCitYODYxODZZMjM0NzA2RDAxKg0KK1g4NTc4NFkyMzQ3MzhEMDEqDQorWTIzNTI1MEQwMSoNCitYODcxOTFEMDEqDQorWDg3MzA5WTIzNTI1N0QwMSoNCitYODc0MjNZMjM1Mjg1RDAxKg0KK1g4NzUzM1kyMzUzMzBEMDEqDQorWDg3NjMzWTIzNTM5MUQwMSoNCitYODc3MjNZMjM1NDY4RDAxKg0KK1g4NzgwMFkyMzU1NThEMDEqDQorWDg3ODYxWTIzNTY1OEQwMSoNCitYODc5MDZZMjM1NzY4RDAxKg0KK1g4NzkzNFkyMzU4ODJEMDEqDQorWDg3OTQzWTIzNjAwMEQwMSoNCitYODc5MzRZMjM2MTE4RDAxKg0KK1g4NzkwNlkyMzYyMzJEMDEqDQorWDg3ODYxWTIzNjM0MkQwMSoNCitYODc4MDBZMjM2NDQyRDAxKg0KK1g4NzcyM1kyMzY1MzJEMDEqDQorWDg3NjMzWTIzNjYwOUQwMSoNCitYODc1MzNZMjM2NjcwRDAxKg0KK1g4NzQyM1kyMzY3MTVEMDEqDQorWDg3MzA5WTIzNjc0M0QwMSoNCitYODcxOTFZMjM2NzUwRDAxKg0KK1g4NTc4NEQwMSoNCitZMjQzMjUwRDAxKg0KK1g4NzE5MUQwMSoNCitYODczMDlZMjQzMjU3RDAxKg0KK1g4NzQyM1kyNDMyODVEMDEqDQorWDg3NTMzWTI0MzMzMEQwMSoNCitYODc2MzNZMjQzMzkxRDAxKg0KK1g4NzcyM1kyNDM0NjhEMDEqDQorWDg3ODAwWTI0MzU1OEQwMSoNCitYODc4NjFZMjQzNjU4RDAxKg0KK1g4NzkwNlkyNDM3NjhEMDEqDQorWDg3OTM0WTI0Mzg4MkQwMSoNCitYODc5NDNZMjQ0MDAwRDAxKg0KK1g4NzkzNFkyNDQxMThEMDEqDQorWDg3OTA2WTI0NDIzMkQwMSoNCitYODc4NjFZMjQ0MzQyRDAxKg0KK1g4NzgwMFkyNDQ0NDJEMDEqDQorWDg3NzIzWTI0NDUzMkQwMSoNCitYODc2MzNZMjQ0NjA5RDAxKg0KK1g4NzUzM1kyNDQ2NzBEMDEqDQorWDg3NDIzWTI0NDcxNUQwMSoNCitYODczMDlZMjQ0NzQzRDAxKg0KK1g4NzE5MVkyNDQ3NTBEMDEqDQorWDg1Nzg0RDAxKg0KK1kyNDcwMDBEMDEqDQorWDg5NDQxRDAxKg0KK1kyNDI1MDJEMDEqDQorWDg5MzIzWTI0MjQ5M0QwMSoNCitYODkyMDlZMjQyNDY1RDAxKg0KK1g4OTA5OVkyNDI0MjBEMDEqDQorWDg4OTk5WTI0MjM1OUQwMSoNCitYODg5MDlZMjQyMjgyRDAxKg0KK1g4ODgzMlkyNDIxOTJEMDEqDQorWDg4NzcxWTI0MjA5MkQwMSoNCitYODg3MjZZMjQxOTgyRDAxKg0KK1g4ODY5OFkyNDE4NjhEMDEqDQorWDg4NjkxWTI0MTc1MEQwMSoNCitZMjM4MjUwRDAxKg0KK1g4ODY5OFkyMzgxMzJEMDEqDQorWDg4NzI2WTIzODAxOEQwMSoNCitYODg3NzFZMjM3OTA4RDAxKg0KK1g4ODgzMlkyMzc4MDhEMDEqDQorWDg4OTA5WTIzNzcxOEQwMSoNCitYODg5OTlZMjM3NjQxRDAxKg0KK1g4OTA5OVkyMzc1ODBEMDEqDQorWDg5MjA5WTIzNzUzNUQwMSoNCitYODkzMjNZMjM3NTA3RDAxKg0KK1g4OTQ0MVkyMzc0OThEMDEqDQorWTIzMjU2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjI1NjNEMDIqWDg5Mjk2WTIyMjgwMUQwMSoNCitYODg4MTBZMjIzMzY5RDAxKg0KK1g4ODI0MlkyMjM4NTVEMDEqDQorWDg3NjA0WTIyNDI0NUQwMSoNCitYODY5MTNZMjI0NTMxRDAxKg0KK1g4NjE4NlkyMjQ3MDZEMDEqDQorWDg1Nzg0WTIyNDczOEQwMSoNCitZMjI1MjYyRDAxKg0KK1g4NjE4NlkyMjUyOTREMDEqDQorWDg2OTEzWTIyNTQ2OUQwMSoNCitYODc2MDRZMjI1NzU1RDAxKg0KK1g4ODI0MlkyMjYxNDVEMDEqDQorWDg4ODEwWTIyNjYzMUQwMSoNCitYODkyOTZZMjI3MTk5RDAxKg0KK1g4OTQ0MVkyMjc0MzdEMDEqDQorWTIyMjU2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxODkxOThEMDIqWDg4OTE0WTE4OTQxN0QwMSoNCitYODczNzZZMTg5Nzg2RDAxKg0KK1g4NTc5OVkxODk5MTBEMDEqDQorWDg1Nzg0WTE4OTkwOUQwMSoNCitZMjE1MjYyRDAxKg0KK1g4NjE4NlkyMTUyOTREMDEqDQorWDg2OTEzWTIxNTQ2OUQwMSoNCitYODc2MDRZMjE1NzU1RDAxKg0KK1g4ODI0MlkyMTYxNDVEMDEqDQorWDg4ODEwWTIxNjYzMUQwMSoNCitYODkyOTZZMjE3MTk5RDAxKg0KK1g4OTQ0MVkyMTc0MzdEMDEqDQorWTE4OTE5OEQwMSoNCitHMzcqDQorRzM2Kg0KK1k5NzAwMEQwMipYODU3ODREMDEqDQorWTE2OTc0OUQwMSoNCitYODU3OTlZMTY5NzQ4RDAxKg0KK1g4NzM3NlkxNjk4NzJEMDEqDQorWDg4OTE0WTE3MDI0MUQwMSoNCitYODk0NDFZMTcwNDYwRDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g4NTc4NFkzMjIwMDBEMDIqWDczOTQxRDAxKg0KK1g3MTQ0MVkzMjQ1MDBEMDEqDQorWTM5NDUwMEQwMSoNCitYNzM5NDFZMzk3MDAwRDAxKg0KK1g4NTc4NEQwMSoNCitZMzc5OTA5RDAxKg0KK1g4NDIyMlkzNzk3ODZEMDEqDQorWDgyNjg0WTM3OTQxN0QwMSoNCitYODEyMjJZMzc4ODExRDAxKg0KK1g3OTg3NFkzNzc5ODVEMDEqDQorWDc4NjcxWTM3Njk1N0QwMSoNCitYNzc2NDNZMzc1NzU0RDAxKg0KK1g3NjgxN1kzNzQ0MDZEMDEqDQorWDc2MjExWTM3Mjk0NEQwMSoNCitYNzU4NDJZMzcxNDA2RDAxKg0KK1g3NTcxOFkzNjk4MjlEMDEqDQorWDc1ODQyWTM2ODI1MkQwMSoNCitYNzYyMTFZMzY2NzE0RDAxKg0KK1g3NjgxN1kzNjUyNTJEMDEqDQorWDc3NjQzWTM2MzkwNEQwMSoNCitYNzg2NzFZMzYyNzAxRDAxKg0KK1g3OTg3NFkzNjE2NzNEMDEqDQorWDgxMjIyWTM2MDg0N0QwMSoNCitYODI2ODRZMzYwMjQxRDAxKg0KK1g4NDIyMlkzNTk4NzJEMDEqDQorWDg1Nzg0WTM1OTc0OUQwMSoNCitZMzU0NDk1RDAxKg0KK1g4NDg2OFkzNTM5MzREMDEqDQorWDgzMTU2WTM1MjQ3MkQwMSoNCitYODE2OTRZMzUwNzYwRDAxKg0KK1g4MDUxOFkzNDg4NDFEMDEqDQorWDc5NjU3WTM0Njc2MkQwMSoNCitYNzkxMzFZMzQ0NTczRDAxKg0KK1g3ODk1NVkzNDIzMjlEMDEqDQorWDc5MTMxWTM0MDA4NUQwMSoNCitYNzk2NTdZMzM3ODk2RDAxKg0KK1g4MDUxOFkzMzU4MTdEMDEqDQorWDgxNjk0WTMzMzg5OEQwMSoNCitYODMxNTZZMzMyMTg2RDAxKg0KK1g4NDg2OFkzMzA3MjREMDEqDQorWDg1Nzg0WTMzMDE2M0QwMSoNCitZMzIyMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDgxNDQxWTIxNzQzN0QwMipYODE1ODZZMjE3MTk5RDAxKg0KK1g4MjA3MlkyMTY2MzFEMDEqDQorWDgyNjQwWTIxNjE0NUQwMSoNCitYODMyNzhZMjE1NzU1RDAxKg0KK1g4Mzk2OVkyMTU0NjlEMDEqDQorWDg0Njk2WTIxNTI5NEQwMSoNCitYODU0NDFZMjE1MjM1RDAxKg0KK1g4NTc4NFkyMTUyNjJEMDEqDQorWTE4OTkwOUQwMSoNCitYODQyMjJZMTg5Nzg2RDAxKg0KK1g4MjY4NFkxODk0MTdEMDEqDQorWDgxNDQxWTE4ODkwMkQwMSoNCitZMjE3NDM3RDAxKg0KK0czNyoNCitHMzYqDQorWTIyNzQzN0QwMipYODE1ODZZMjI3MTk5RDAxKg0KK1g4MjA3MlkyMjY2MzFEMDEqDQorWDgyNjQwWTIyNjE0NUQwMSoNCitYODMyNzhZMjI1NzU1RDAxKg0KK1g4Mzk2OVkyMjU0NjlEMDEqDQorWDg0Njk2WTIyNTI5NEQwMSoNCitYODU0NDFZMjI1MjM1RDAxKg0KK1g4NTc4NFkyMjUyNjJEMDEqDQorWTIyNDczOEQwMSoNCitYODU0NDFZMjI0NzY1RDAxKg0KK1g4NDY5NlkyMjQ3MDZEMDEqDQorWDgzOTY5WTIyNDUzMUQwMSoNCitYODMyNzhZMjI0MjQ1RDAxKg0KK1g4MjY0MFkyMjM4NTVEMDEqDQorWDgyMDcyWTIyMzM2OUQwMSoNCitYODE1ODZZMjIyODAxRDAxKg0KK1g4MTQ0MVkyMjI1NjNEMDEqDQorWTIyNzQzN0QwMSoNCitHMzcqDQorRzM2Kg0KK1kyNDcwMDBEMDIqWDg1Nzg0RDAxKg0KK1kyNDQ3NTBEMDEqDQorWDgzNjkxRDAxKg0KK1g4MzU3M1kyNDQ3NDNEMDEqDQorWDgzNDU5WTI0NDcxNUQwMSoNCitYODMzNDlZMjQ0NjcwRDAxKg0KK1g4MzI0OVkyNDQ2MDlEMDEqDQorWDgzMTU5WTI0NDUzMkQwMSoNCitYODMwODJZMjQ0NDQyRDAxKg0KK1g4MzAyMVkyNDQzNDJEMDEqDQorWDgyOTc2WTI0NDIzMkQwMSoNCitYODI5NDhZMjQ0MTE4RDAxKg0KK1g4MjkzOVkyNDQwMDBEMDEqDQorWDgyOTQ4WTI0Mzg4MkQwMSoNCitYODI5NzZZMjQzNzY4RDAxKg0KK1g4MzAyMVkyNDM2NThEMDEqDQorWDgzMDgyWTI0MzU1OEQwMSoNCitYODMxNTlZMjQzNDY4RDAxKg0KK1g4MzI0OVkyNDMzOTFEMDEqDQorWDgzMzQ5WTI0MzMzMEQwMSoNCitYODM0NTlZMjQzMjg1RDAxKg0KK1g4MzU3M1kyNDMyNTdEMDEqDQorWDgzNjkxWTI0MzI1MEQwMSoNCitYODU3ODREMDEqDQorWTIzNjc1MEQwMSoNCitYODM2OTFEMDEqDQorWDgzNTczWTIzNjc0M0QwMSoNCitYODM0NTlZMjM2NzE1RDAxKg0KK1g4MzM0OVkyMzY2NzBEMDEqDQorWDgzMjQ5WTIzNjYwOUQwMSoNCitYODMxNTlZMjM2NTMyRDAxKg0KK1g4MzA4MlkyMzY0NDJEMDEqDQorWDgzMDIxWTIzNjM0MkQwMSoNCitYODI5NzZZMjM2MjMyRDAxKg0KK1g4Mjk0OFkyMzYxMThEMDEqDQorWDgyOTM5WTIzNjAwMEQwMSoNCitYODI5NDhZMjM1ODgyRDAxKg0KK1g4Mjk3NlkyMzU3NjhEMDEqDQorWDgzMDIxWTIzNTY1OEQwMSoNCitYODMwODJZMjM1NTU4RDAxKg0KK1g4MzE1OVkyMzU0NjhEMDEqDQorWDgzMjQ5WTIzNTM5MUQwMSoNCitYODMzNDlZMjM1MzMwRDAxKg0KK1g4MzQ1OVkyMzUyODVEMDEqDQorWDgzNTczWTIzNTI1N0QwMSoNCitYODM2OTFZMjM1MjUwRDAxKg0KK1g4NTc4NEQwMSoNCitZMjM0NzM4RDAxKg0KK1g4NTQ0MVkyMzQ3NjVEMDEqDQorWDg0Njk2WTIzNDcwNkQwMSoNCitYODM5NjlZMjM0NTMxRDAxKg0KK1g4MzI3OFkyMzQyNDVEMDEqDQorWDgyNjQwWTIzMzg1NUQwMSoNCitYODIwNzJZMjMzMzY5RDAxKg0KK1g4MTU4NlkyMzI4MDFEMDEqDQorWDgxNDQxWTIzMjU2M0QwMSoNCitZMjM3NDk4RDAxKg0KK1g4MTU1OVkyMzc1MDdEMDEqDQorWDgxNjczWTIzNzUzNUQwMSoNCitYODE3ODNZMjM3NTgwRDAxKg0KK1g4MTg4M1kyMzc2NDFEMDEqDQorWDgxOTczWTIzNzcxOEQwMSoNCitYODIwNTBZMjM3ODA4RDAxKg0KK1g4MjExMVkyMzc5MDhEMDEqDQorWDgyMTU2WTIzODAxOEQwMSoNCitYODIxODRZMjM4MTMyRDAxKg0KK1g4MjE5MVkyMzgyNTBEMDEqDQorWTI0MTc1MEQwMSoNCitYODIxODRZMjQxODY4RDAxKg0KK1g4MjE1NlkyNDE5ODJEMDEqDQorWDgyMTExWTI0MjA5MkQwMSoNCitYODIwNTBZMjQyMTkyRDAxKg0KK1g4MTk3M1kyNDIyODJEMDEqDQorWDgxODgzWTI0MjM1OUQwMSoNCitYODE3ODNZMjQyNDIwRDAxKg0KK1g4MTY3M1kyNDI0NjVEMDEqDQorWDgxNTU5WTI0MjQ5M0QwMSoNCitYODE0NDFZMjQyNTAyRDAxKg0KK1kyNDcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODU3ODRZOTcwMDBEMDIqWDgxNDQxRDAxKg0KK1kxNzA3NTZEMDEqDQorWDgyNjg0WTE3MDI0MUQwMSoNCitYODQyMjJZMTY5ODcyRDAxKg0KK1g4NTc4NFkxNjk3NDlEMDEqDQorWTk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDgxNDQxRDAyKlg3MTQ0MUQwMSoNCitZMjQ0NTAwRDAxKg0KK1g3Mzk0MVkyNDcwMDBEMDEqDQorWDgxNDQxRDAxKg0KK1kyNDI1MDJEMDEqDQorWDgxMzIzWTI0MjQ5M0QwMSoNCitYODEyMDlZMjQyNDY1RDAxKg0KK1g4MTA5OVkyNDI0MjBEMDEqDQorWDgwOTk5WTI0MjM1OUQwMSoNCitYODA5MDlZMjQyMjgyRDAxKg0KK1g4MDgzMlkyNDIxOTJEMDEqDQorWDgwNzcxWTI0MjA5MkQwMSoNCitYODA3MjZZMjQxOTgyRDAxKg0KK1g4MDY5OFkyNDE4NjhEMDEqDQorWDgwNjkxWTI0MTc1MEQwMSoNCitZMjM4MjUwRDAxKg0KK1g4MDY5OFkyMzgxMzJEMDEqDQorWDgwNzI2WTIzODAxOEQwMSoNCitYODA3NzFZMjM3OTA4RDAxKg0KK1g4MDgzMlkyMzc4MDhEMDEqDQorWDgwOTA5WTIzNzcxOEQwMSoNCitYODA5OTlZMjM3NjQxRDAxKg0KK1g4MTA5OVkyMzc1ODBEMDEqDQorWDgxMjA5WTIzNzUzNUQwMSoNCitYODEzMjNZMjM3NTA3RDAxKg0KK1g4MTQ0MVkyMzc0OThEMDEqDQorWTIzMjU2M0QwMSoNCitYODExOTZZMjMyMTYzRDAxKg0KK1g4MDkxMFkyMzE0NzJEMDEqDQorWDgwNzM1WTIzMDc0NUQwMSoNCitYODA2NzZZMjMwMDAwRDAxKg0KK1g4MDczNVkyMjkyNTVEMDEqDQorWDgwOTEwWTIyODUyOEQwMSoNCitYODExOTZZMjI3ODM3RDAxKg0KK1g4MTQ0MVkyMjc0MzdEMDEqDQorWTIyMjU2M0QwMSoNCitYODExOTZZMjIyMTYzRDAxKg0KK1g4MDkxMFkyMjE0NzJEMDEqDQorWDgwNzM1WTIyMDc0NUQwMSoNCitYODA2NzZZMjIwMDAwRDAxKg0KK1g4MDczNVkyMTkyNTVEMDEqDQorWDgwOTEwWTIxODUyOEQwMSoNCitYODExOTZZMjE3ODM3RDAxKg0KK1g4MTQ0MVkyMTc0MzdEMDEqDQorWTE4ODkwMkQwMSoNCitYODEyMjJZMTg4ODExRDAxKg0KK1g3OTg3NFkxODc5ODVEMDEqDQorWDc4NjcxWTE4Njk1N0QwMSoNCitYNzc2NDNZMTg1NzU0RDAxKg0KK1g3NjgxN1kxODQ0MDZEMDEqDQorWDc2MjExWTE4Mjk0NEQwMSoNCitYNzU4NDJZMTgxNDA2RDAxKg0KK1g3NTcxOFkxNzk4MjlEMDEqDQorWDc1ODQyWTE3ODI1MkQwMSoNCitYNzYyMTFZMTc2NzE0RDAxKg0KK1g3NjgxN1kxNzUyNTJEMDEqDQorWDc3NjQzWTE3MzkwNEQwMSoNCitYNzg2NzFZMTcyNzAxRDAxKg0KK1g3OTg3NFkxNzE2NzNEMDEqDQorWDgxMjIyWTE3MDg0N0QwMSoNCitYODE0NDFZMTcwNzU2RDAxKg0KK1k5NzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDk0NDFZMjQxMDAwRDAyKlgyMTU5NDFEMDEqDQorWTIzNTAwMEQwMSoNCitYMjA5NDQxRDAxKg0KK1kyNDEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjAwNDQxWTI0MDUwMEQwMipYMjA2OTQxRDAxKg0KK1kyMzQ1MDBEMDEqDQorWDIwMDQ0MUQwMSoNCitZMjQwNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MDQ0MVkyNDAwMDBEMDIqWDE5Njk0MUQwMSoNCitZMjM0MDAwRDAxKg0KK1gxOTA0NDFEMDEqDQorWTI0MDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMjA5NDFZMjQ3MDAwRDAyKlgyMjc0NDFEMDEqDQorWTI0MTAwMEQwMSoNCitYMjIwOTQxRDAxKg0KK1kyNDcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjIxNDQxWTIzODUwMEQwMipYMjI3OTQxRDAxKg0KK1kyMzI1MDBEMDEqDQorWDIyMTQ0MUQwMSoNCitZMjM4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzMjk0MUQwMipYMjM5NDQxRDAxKg0KK1kyMzI1MDBEMDEqDQorWDIzMjk0MUQwMSoNCitZMjM4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMTk0MVkyMjk1MDBEMDIqWDIyODQ0MUQwMSoNCitZMjIzNTAwRDAxKg0KK1gyMjE5NDFEMDEqDQorWTIyOTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMjE0NDFZMjIzNTAwRDAyKlgyMjc5NDFEMDEqDQorWTIxNzUwMEQwMSoNCitYMjIxNDQxRDAxKg0KK1kyMjM1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjE2OTQxWTIxODAwMEQwMipYMjIzNDQxRDAxKg0KK1kyMTIwMDBEMDEqDQorWDIxNjk0MUQwMSoNCitZMjE4MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwNjk0MVkyMTU1MDBEMDIqWDIxMzQ0MUQwMSoNCitZMjA5NTAwRDAxKg0KK1gyMDY5NDFEMDEqDQorWTIxNTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTg5NDFEMDIqWDIwNTQ0MUQwMSoNCitZMjA5NTAwRDAxKg0KK1gxOTg5NDFEMDEqDQorWTIxNTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxOTA0NDFEMDIqWDE5Njk0MUQwMSoNCitZMjA5NTAwRDAxKg0KK1gxOTA0NDFEMDEqDQorWTIxNTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxODE5NDFZMjIwNTAwRDAyKlgxODg0NDFEMDEqDQorWTIxNDUwMEQwMSoNCitYMTgxOTQxRDAxKg0KK1kyMjA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTczOTQxRDAyKlgxODA0NDFEMDEqDQorWTIxNDUwMEQwMSoNCitYMTczOTQxRDAxKg0KK1kyMjA1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjMxMDAwRDAyKlgxODA0NDFEMDEqDQorWTIyNTAwMEQwMSoNCitYMTczOTQxRDAxKg0KK1kyMzEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTgxOTQxRDAyKlgxODg0NDFEMDEqDQorWTIyNTAwMEQwMSoNCitYMTgxOTQxRDAxKg0KK1kyMzEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjY2NDQxWTIwMjAwMEQwMipYMjcyOTQxRDAxKg0KK1kxOTUwMDBEMDEqDQorWDI2NjQ0MUQwMSoNCitZMjAyMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI2Njk0MVkyMzUwMDBEMDIqWDI3MzQ0MUQwMSoNCitZMjI4MDAwRDAxKg0KK1gyNjY5NDFEMDEqDQorWTIzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNTc5NDFZMTk2NTAwRDAyKlgyNjQ0NDFEMDEqDQorWTE4OTUwMEQwMSoNCitYMjU3OTQxRDAxKg0KK1kxOTY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjQyOTQxRDAyKlgyNDk0NDFEMDEqDQorWTE4OTUwMEQwMSoNCitYMjQyOTQxRDAxKg0KK1kxOTY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjQwOTQxWTIwNTUwMEQwMipYMjQ3NDQxRDAxKg0KK1kxOTg1MDBEMDEqDQorWDI0MDk0MUQwMSoNCitZMjA1NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI0ODk0MVkyMTQwMDBEMDIqWDI1NTQ0MUQwMSoNCitZMjA3MDAwRDAxKg0KK1gyNDg5NDFEMDEqDQorWTIxNDAwMEQwMSoNCitHMzcqDQorRzU0RDIxMCpYNDQ2NDQxWTEwMjAwMEQwMipYNDQyNDQxRDAxKg0KK0c1NEQyMTEqWDMxOTk0MVk4NzAwMEQwMipYOTg0NDFEMDEqDQorRzU0RDIxMCpYMzk3OTQxWTM2NzQ0MUQwMipYMzk0NDQxRDAxKg0KK1gzOTg0NDFZMzA5MDAwRDAyKlgzOTU0NDFEMDEqDQorWDM5ODQ0MVkyNDgwMDBEMDIqWDM5NTQ0MUQwMSoNCitYNDAwNDQxWTE4OTAwMEQwMipYMzk1NDQxRDAxKg0KK1gzMDI5NDFZMzQwMDA3RDAyKlgzMDA0NTNEMDEqDQorRzU0RDIxMSpYOTg0NDFZODcwMDBEMDIqWDg2OTQxWTk4NTAwRDAxKg0KK1kxMTE1MDBEMDEqDQorRzU0RDIxMipYNDE3MDAwWTM4NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK1kzNTQwMDBEMDMqDQorWDQyNzAwMFkzODQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitZMzU0MDAwRDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g0MDM3NTBZMzU3MjUwRDAyKlkzNTA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMzU3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0c1NEQyMTMqWDM0NTc5OVkzNTczMjlEMDMqDQorRzU0RDIxNCpYMzE1Nzk5WTMzNzMyOUQwMyoNCitHNTREMjEzKlg4NTc5OVkzNjk4MjlEMDMqDQorRzU0RDIxNSpYMTA1Nzk5WTM3NDgyOUQwMyoNCitHNTREMjA5KkczNioNCitYMTAyNDk5WTM2ODEyOUQwMipZMzYxNTI5RDAxKg0KK1gxMDkwOTlEMDEqDQorWTM2ODEyOUQwMSoNCitYMTAyNDk5RDAxKg0KK0czNyoNCitHNTREMjE1KlgxMTU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDEyNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTM1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK0c1NEQyMTYqWDkzMjk5WTM0MjMyOUQwMyoNCitHNTREMjE1KlgxNDU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTY1Nzk5RDAzKg0KK1gxNTU3OTlZMzc0ODI5RDAzKg0KK1gxNjU3OTlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDIwNTc5OUQwMyoNCitYMTc1Nzk5WTM2NDgyOUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDIwNTc5OUQwMyoNCitYMjE1Nzk5WTM3NDgyOUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDIxNTc5OVkzNjQ4MjlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1gyNDU3OTlZMzc0ODI5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitYMjc1Nzk5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDI4NTc5OVkzNzQ4MjlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitYMjg1Nzk5WTM2NDgyOUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g0NTAyNTBZMjY3MjUwRDAyKlkyNjA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMjY3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjA3MjUwRDAyKlkyMDA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMjA3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3MjUwRDAyKlkxNzA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMTc3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDQ2MzUwMFkyNjQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kxNDQwMDBEMDMqDQorWTExNDAwMEQwMyoNCitZODQwMDBEMDMqDQorWDQ3MzUwMFkyNjQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kxNDQwMDBEMDMqDQorWTExNDAwMEQwMyoNCitZODQwMDBEMDMqDQorRzU0RDIwOSpHMzYqDQorWDQ1MDI1MFkyMzcyNTBEMDIqWTIzMDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kyMzcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDIxMipYNDYzNTAwWTIzNDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g0NTAyNTBZMTQ3MjUwRDAyKlkxNDA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMTQ3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0czNioNCitZMTE3MjUwRDAyKlkxMTA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMTE3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0czNioNCitZODcyNTBEMDIqWTgwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTg3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0czNioNCitZNTcyNTBEMDIqWTUwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTU3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDQ2MzUwMFk1NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g0NTAyNTBZMzI3MjUwRDAyKlkzMjA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMzI3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDQ2MzUwMFkzMjQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjA5KkczNioNCitYNDUwMjUwWTI5NzI1MEQwMipZMjkwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTI5NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjEyKlg0NjM1MDBZMjk0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorWDQzNzAwMFkzMjQwMDBEMDMqDQorRzU0RDIwOSpHMzYqDQorWDMwOTE5MVkyNTIyNTBEMDIqWTI0NTc1MEQwMSoNCitYMzE1NjkxRDAxKg0KK1kyNTIyNTBEMDEqDQorWDMwOTE5MUQwMSoNCitHMzcqDQorRzU0RDIxMipYMzIyNDQxWTI0OTAwMEQwMyoNCitYMzMyNDQxRDAzKg0KK1gzNDI0NDFEMDMqDQorRzU0RDIxMypYMzQ1Nzk5WTE5MjMyOUQwMyoNCitHNTREMjA5KkczNioNCitYNDUwMjUwWTM4NzI1MEQwMipZMzgwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTM4NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjEyKlg0NjM1MDBZMzg0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDIwOSpHMzYqDQorWDQwMzc1MFkzODcyNTBEMDIqWTM4MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kzODcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyOTcyNTBEMDIqWTI5MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyOTcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMjcyNTBEMDIqWTMyMDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kzMjcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzU0RDIxMipYNDE3MDAwWTMyNDAwMEQwMyoNCitYNDI3MDAwRDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g0NTAyNTBZMzU3MjUwRDAyKlkzNTA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMzU3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDQzNzAwMFkzNTQwMDBEMDMqDQorWDQ2MzUwMEQwMyoNCitYNDczNTAwRDAzKg0KK1g0MzcwMDBZMzg0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitHNTREMjA5KkczNioNCitYNDAzNzUwWTE3NzI1MEQwMipZMTcwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTE3NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIwNzI1MEQwMipZMjAwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTIwNzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIzNzI1MEQwMipZMjMwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTIzNzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHMzYqDQorWTI2NzI1MEQwMipZMjYwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTI2NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHNTREMjEyKlg0MTcwMDBZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK1g0MjcwMDBZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1gyMDIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyMDg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyMDIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDIwNTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorRzU0RDIwOSpHMzYqDQorWDIzMjE5MVk1MDc1MEQwMipZNDQyNTBEMDEqDQorWDIzODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDIzMjE5MUQwMSoNCitHMzcqDQorRzU0RDIxMipYMjM1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitHNTREMjA5KkczNioNCitYMjYyMTkxWTUwNzUwRDAyKlk0NDI1MEQwMSoNCitYMjY4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjYyMTkxRDAxKg0KK0czNyoNCitHMzYqDQorWDE3MjE5MUQwMipZNDQyNTBEMDEqDQorWDE3ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDE3MjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDIxOTFEMDIqWTQ0MjUwRDAxKg0KK1gxNDg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gxNDIxOTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTEyMTkxRDAyKlk0NDI1MEQwMSoNCitYMTE4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMTEyMTkxRDAxKg0KK0czNyoNCitHMzYqDQorWDgyMTkxRDAyKlk0NDI1MEQwMSoNCitYODg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1g4MjE5MUQwMSoNCitHMzcqDQorRzU0RDIxMipYMjY1NDQxWTU3NTAwRDAzKg0KK1gxNzU0NDFEMDMqDQorWDE0NTQ0MUQwMyoNCitYMTE1NDQxRDAzKg0KK1g4NTQ0MUQwMyoNCitYMjY1NDQxWTY3NTAwRDAzKg0KK1gxNzU0NDFEMDMqDQorRzU0RDIwOSpHMzYqDQorWDI5MjE5MVk1MDc1MEQwMipZNDQyNTBEMDEqDQorWDI5ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDI5MjE5MUQwMSoNCitHMzcqDQorRzU0RDIxMipYMjk1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitYMTQ1NDQxRDAzKg0KK1gxMTU0NDFEMDMqDQorWDg1NDQxRDAzKg0KK0c1NEQyMTMqWDg1Nzk5WTE3OTgyOUQwMyoNCitHNTREMjE1KlgxMDU3OTlZMTg0ODI5RDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1gxMDI0OTlZMTc4MTI5RDAyKlkxNzE1MjlEMDEqDQorWDEwOTA5OUQwMSoNCitZMTc4MTI5RDAxKg0KK1gxMDI0OTlEMDEqDQorRzM3Kg0KK0c1NEQyMTUqWDExNTc5OVkxODQ4MjlEMDMqDQorWTE3NDgyOUQwMyoNCitYMTI1Nzk5WTE4NDgyOUQwMyoNCitZMTc0ODI5RDAzKg0KK0c1NEQyMDkqRzM2Kg0KK1g4MjE5MVkyNDMyNTBEMDIqWTIzNjc1MEQwMSoNCitYODg2OTFEMDEqDQorWTI0MzI1MEQwMSoNCitYODIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMTIqWDg1NDQxWTIzMDAwMEQwMyoNCitZMjIwMDAwRDAzKg0KK0c1NEQyMTUqWDEzNTc5OVkxODQ4MjlEMDMqDQorWDE0NTc5OUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxMzU3OTlZMTc0ODI5RDAzKg0KK1gxNDU3OTlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTY1Nzk5WTE4NDgyOUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMTY1Nzk5WTE3NDgyOUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitHNTREMjA5KkczNioNCitYMTkyNDk5WTIwMDYyOUQwMipZMTk0MDI5RDAxKg0KK1gxOTkwOTlEMDEqDQorWTIwMDYyOUQwMSoNCitYMTkyNDk5RDAxKg0KK0czNyoNCitHNTREMjE1KlgyMDU3OTlZMTk3MzI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyMDU3OTlZMTg0ODI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjA1Nzk5WTE3NDgyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDIzNTc5OVkxODQ4MjlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWTE3NDgyOUQwMyoNCitYMjc1Nzk5WTE4NDgyOUQwMyoNCitYMjg1Nzk5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorWDI3NTc5OVkxNzQ4MjlEMDMqDQorWDI4NTc5OUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK0c1NEQyMTAqWDMwNzcxNlkyNzUwNzVEMDMqDQorWDMwODk5MlkyNzE5NzFEMDMqDQorWDMwODg3MlkyNjY1MjJEMDMqDQorWDI4NzkxN1kzMDc4MjlEMDMqDQorWDI5MzkwMlkyODIyNjNEMDMqDQorWDI5Njc3OVkzMDQ5NjNEMDMqDQorWDI5NTkzN1kyNDM2MjhEMDMqDQorWDI5NjcyN1kyNTYyMjdEMDMqDQorWDMxMjE1N1kzMDAxNTZEMDMqDQorWDMxMjEyMlkyOTUwMzhEMDMqDQorWDMwMzM2NVkzMzAwMDBEMDMqDQorWDI4NTQzMFkzMjUwMDBEMDMqDQorWDMwMjk0MVkzNDAwMDdEMDMqDQorWDI0NTU1N1kyNzk1MDhEMDMqDQorWDI0MjQ1NlkyOTM1NDNEMDMqDQorWDI2Mjc1MFkyNjg3NzJEMDMqDQorWDI1MzEwMVkyNjE4MzZEMDMqDQorRzU0RDIxNypYMjQ2OTQxWTIzODAwMEQwMyoNCitYMjQyNDQxWTIyOTUwMEQwMyoNCitYMjQ2NDQxRDAzKg0KK1gyNTA5NDFEMDMqDQorWDI2MDk0MVkxOTE1MDBEMDMqDQorWDI0NTg2M1kxOTE1MjREMDMqDQorWDI2OTQ0MVkxOTg1MDBEMDMqDQorWDI2OTk0MVkyMzE1MDBEMDMqDQorWDI1MTk0MVkyMTA1MDBEMDMqDQorWDI0Mzk0MVkyMDIwMDBEMDMqDQorWDI1MzQ0MVkxMDI1MDBEMDMqDQorWDIzMTQ0MVkxNDgwMDBEMDMqDQorWDMwOTQ0MVkxNDE1NjhEMDMqDQorWTEzNjQ1MEQwMyoNCitYMzEwOTQxWTExNTk0MEQwMyoNCitYMzA1Njk2WTEwNzUwMEQwMyoNCitYMzA0NTg0WTIwNzQ4M0QwMyoNCitYMzA0NzA2WTIxMDU4M0QwMyoNCitYMzA1MjgwWTIwNDM4M0QwMyoNCitHNTREMjEwKlgyNTQ3NDBZMjk4MzI5RDAzKg0KK1gyNDIxNjhZMjk4ODAwRDAzKg0KK0c1NEQyMTcqWDI0NjczMVkzMDMwMzFEMDMqDQorRzU0RDIxMCpYMjY5NjUzWTI5ODYzMUQwMyoNCitHNTREMjE3KlgyNzA0NDFZMzM2MDAwRDAzKg0KK1kzNDI1MDBEMDMqDQorWTM0OTUwMEQwMyoNCitHNTREMjEwKlgyNjg5NDFZMzE0MDAwRDAzKg0KK0c1NEQyMTcqWDI3MDQ0MVkzNTcwMDBEMDMqDQorRzU0RDIxMCpYMjczMjI5WTI5ODU4MkQwMyoNCitYMjc4MjI1WTI3OTYwMkQwMyoNCitYMjc4MjA3WTI5ODYxMkQwMyoNCitYMjc3MTc0WTMwODIxOUQwMyoNCitYMjc3NDQ5WTM0NzUwMEQwMyoNCitHNTREMjE3KlgyNjM0NDFZMzIwMDAwRDAzKg0KK1gyNjA1NjhZMzE2OTk3RDAzKg0KK1gyNjE1MDJZMzA3MzY3RDAzKg0KK1gyNDkxMDFZMzI4NzkzRDAzKg0KK1gyMjk4MThZMzU0OTg4RDAzKg0KK0c1NEQyMTAqWDI2NjQxM1kyOTY1OTREMDMqDQorWDI2MzI0MFkyOTUzMjlEMDMqDQorWDI2Mjc0MFkyOTE4MjlEMDMqDQorWDI2MDM0MVkyODQyNDlEMDMqDQorWDI2NDAzNFkyODI5MzFEMDMqDQorRzU0RDIxNypYMjc5NDQxWTI4NTAwMEQwMyoNCitHNTREMjE4KlgzODY0NDFZMTYzMDAwRDAzKg0KK1g0MDA0NDFZMTk0MDAwRDAzKg0KK1gzODk0NDFZMTg0MDAwRDAzKg0KK1g0MDA0NDFZMTg5MDAwRDAzKg0KK0c1NEQyMTcqWDM4NjAyM1kxNTc4MTNEMDMqDQorWDM5ODQ0MVkxNzMwMDBEMDMqDQorRzU0RDIxOCpYMzkzNDQxWTIwODAwMEQwMyoNCitYMzg0MTYyWTE4ODAwMEQwMyoNCitYNDU4NDQxWTE5NTAwMEQwMyoNCitZMTY0MDAwRDAzKg0KK1gzNzI0NDFZMTcwMzg2RDAzKg0KK0c1NEQyMTcqWDM3NzM0N1kxNjIxNzhEMDMqDQorRzU0RDIxOCpYMzg3NDQxWTMyNjAwMEQwMyoNCitYMzkzNDQxWTM1NTAwMEQwMyoNCitYMzg2NzIwWTI4MjAwMEQwMyoNCitYMzkzNDQxWTMyNzAwMEQwMyoNCitYMzg0MTYyWTMwNjAwMEQwMyoNCitYMzg1OTQxWTM1NDUwMEQwMyoNCitYNDU4NDQxWTM3NTAwMEQwMyoNCitYMzgzNjYyWTM3ODUwMEQwMyoNCitYMzk3NDQxWTM3MzAwMEQwMyoNCitYMzk3OTQxWTM2NzQ0MUQwMyoNCitHNTREMjE3KlgzODU5NDFZMzY2MDAwRDAzKg0KK0c1NEQyMTgqWDQ1ODQ0MVkzNDUwMDBEMDMqDQorWTMxNTAwMEQwMyoNCitZMjg1MDAwRDAzKg0KK1gzOTg0NDFZMzE0MDAwRDAzKg0KK1kzMDkwMDBEMDMqDQorRzU0RDIxNypZMjkxMDAwRDAzKg0KK0c1NEQyMTgqWDM3MjQ0MVkyOTA2ODlEMDMqDQorWTM1MTE4OUQwMyoNCitHNTREMjE3KlgzMzk4MzdZMzQxODI3RDAzKg0KK1gzNTMzOTBZMzM5NTIxRDAzKg0KK0c1NEQyMTgqWDM3NTQ0MVkyMzUwMDBEMDMqDQorRzU0RDIxNypYMzU2NDQxWTIzMzAwMEQwMyoNCitYMzM4NDQxWTIyNDE5MkQwMyoNCitZMjMwMTI0RDAzKg0KK1gzMzc0NDFZMTYzMDAwRDAzKg0KK1gzNTg5NDFZMjA4NTAwRDAzKg0KK0c1NEQyMTgqWDM4NDUxMlkyNTgwMDBEMDMqDQorRzU0RDIxNypYMzcxNjAyWTI2MDIyOEQwMyoNCitHNTREMjE4Klg0NTg0NDFZMjU0MDAwRDAzKg0KK1kyMjUwMDBEMDMqDQorWDM4NzA3MFkyMzUwMDBEMDMqDQorWDM5ODQ0MVkyNDgwMDBEMDMqDQorWTI1MzAwMEQwMyoNCitHNTREMjE3KlgzOTY0NDFZMjM1MDAwRDAzKg0KK1gzOTIxODhZMjM5MDAwRDAzKg0KK1gzODgyMDdZMjQ3MjgwRDAzKg0KK0c1NEQyMTAqWDIzOTMwMlkyNjIyMzVEMDMqDQorRzU0RDIxNypYMjQ1NDQxWTEyNzUwMEQwMyoNCitYMjM1OTQxWTEzMzAwMEQwMyoNCitYMjM2NDQxWTIzNTUwMEQwMyoNCitYMjAyNDQxWTIxMjUwMEQwMyoNCitYMjEwNDQxRDAzKg0KK1gyMjA0NDFZMjE1MDAwRDAzKg0KK1gyMjQ5NDFZMjIwNTAwRDAzKg0KK1gyMjU0NDFZMjI2NTAwRDAzKg0KK1gyMjQ5NDFZMjM1NTAwRDAzKg0KK1gyMjQ0NDFZMjQ0MDAwRDAzKg0KK1gyMTI5NDFZMjM4MDAwRDAzKg0KK1gyMDM5NDFZMjM3NTAwRDAzKg0KK1gxOTM5NDFZMjM3MDAwRDAzKg0KK1gxODE5NDFZMjU4NTAwRDAzKg0KK1gxODM5NDFZMTA0MDAwRDAzKg0KK1gxMTIyMjJZMTI3MzQwRDAzKg0KK1gxMTQ0NDFZMTIxNTAwRDAzKg0KK1gxMTU0NDFZMTMyNTAwRDAzKg0KK1gxMDE5NDFZMTA0NTAwRDAzKg0KK1gxNjY0NDFZMTA0MDAwRDAzKg0KK1gxMjc5NDFZMTQ4MDAwRDAzKg0KK1gxMDY0NDFZMTQ4NTAwRDAzKg0KK1gxNDk5NDFZMTQ5MDAwRDAzKg0KK1gxMzg5MjVZMjA2MTEzRDAzKg0KK1gxMzg4NzJZMjAyMDMwRDAzKg0KK1gxMzg5MjVZMTk3ODQxRDAzKg0KK1gxNjE5NDFZMTk5MDAwRDAzKg0KK1gxNjY5NDFZMTk3NTAwRDAzKg0KK1gxMzg5MjVZMTkyNjk4RDAzKg0KK1gxNjE5NDFZMTkzMDAwRDAzKg0KK1gxNjY5NDFEMDMqDQorWDE2Mzk0MVkxMjc1MDBEMDMqDQorWDE5MzM5MEQwMyoNCitYMTUyNDQxWTEyMTUwMEQwMyoNCitYMTUxOTQxWTEzMjAwMEQwMyoNCitYMTk1NDQxWTEzMzAwMEQwMyoNCitYMTQxNDQxWTE0ODAwMEQwMyoNCitYMjA4OTQxRDAzKg0KK1gyMjM5NDFEMDMqDQorWDE5ODQ0MVkxMjI1MDBEMDMqDQorWDIzNDQ0MUQwMyoNCitYMjIxODg0WTI1NDAwMEQwMyoNCitYMjI0NDQxWTI1MjAwMEQwMyoNCitYMjI1NDQxWTI0OTAwMEQwMyoNCitYMjMwNDQxWTI0NzAwMEQwMyoNCitYMjE5NDQxWTI3MjUwMEQwMyoNCitYMjMwNDQxWTI5MzAwMEQwMyoNCitYMjIwNzI5WTI2NTU4MEQwMyoNCitYMjIwNDQxWTI1OTUwMEQwMyoNCitYMjE4NDQxWTI2MTUwMEQwMyoNCitYMjE3NDQxWTI3OTAwMEQwMyoNCitYMjQwMzkxWTI3ODU2NEQwMyoNCitYMTI4OTQxWTI3NDUwMEQwMyoNCitZMjY4NTAwRDAzKg0KK1kyNjI1MDBEMDMqDQorWTI1NTAwMEQwMyoNCitZMjQ4NTAwRDAzKg0KK1kyNDI1MDBEMDMqDQorWDEwNDQ0MVkyMDQ1MDBEMDMqDQorWDEwMDk0MUQwMyoNCitYMTQxMzA3WTMwMDg4M0QwMyoNCitYMTI0ODMxWTMwMjM4NUQwMyoNCitYMTU4NDQxWTMyMzgyOUQwMyoNCitZMzI4ODI5RDAzKg0KK1kzMjY1MDBEMDMqDQorWDE1Mzk0MVkzMzgwMDBEMDMqDQorWDE1NDk0MVkzNDU1MDBEMDMqDQorWDEzNTQ0MVkzMzg1MDBEMDMqDQorWTMzNTAwMEQwMyoNCitYMTM5OTQxWTMzODAwMEQwMyoNCitYMTExOTQxWTMzNDAwMEQwMyoNCitYMTE3OTQxRDAzKg0KK1gxMjY0NDFEMDMqDQorWDE0MjQ0MVkzNTc1MDBEMDMqDQorWTM0OTUwMEQwMyoNCitYMTQ5NDQxRDAzKg0KK1gxMjY0NDFZMzQwNTAwRDAzKg0KK1gxMTE5NDFZMzQxMDAwRDAzKg0KK1kzNTc1MDBEMDMqDQorWDEyMTk0MUQwMyoNCitYMTMwOTQxRDAzKg0KK1gxOTc0NDFZMzE0NTAwRDAzKg0KK1kzMDg1MDBEMDMqDQorWDE5ODQ0MVkyNjI1MDBEMDMqDQorWTI2OTUwMEQwMyoNCitYMjA1NDQxWTI3NzAwMEQwMyoNCitYMTk1NDQxWTMxMTUwMEQwMyoNCitYMTkxMzYzWTM0NDQ0OUQwMyoNCitYMTc4ODg3WTM0MjgxOEQwMyoNCitYMTY4NzMyWTM1MDgzM0QwMyoNCitYMTYyNDQxWTI0MjUwMEQwMyoNCitYMTY1OTQxWTIzMTAwMEQwMyoNCitZMjI2NTAwRDAzKg0KK1gxODU0NDFZMjI4MDAwRDAzKg0KK1gxNzc0NDFEMDMqDQorWDE2MjQ0MVkyNDg1MDBEMDMqDQorWDE2MTk0MVkyNTUwMDBEMDMqDQorWDE2MjQ0MVkyNjI1MDBEMDMqDQorWDE2Mjk0MVkyNjg1MDBEMDMqDQorWTI3NDUwMEQwMyoNCitYMTY1OTQxWTIyMDUwMEQwMyoNCitYMTY5NDQxWTIxNDAwMEQwMyoNCitZMjA4NTAwRDAzKg0KK1kyMDE1MDBEMDMqDQorWDE3NzQ0MVkyMTc1MDBEMDMqDQorWDE4NTQ0MUQwMyoNCitYMTkzOTQxWTIxMjUwMEQwMyoNCitHNTREMjE4Klg0MzIzMjRZMTExMDAwRDAzKg0KK1g0NDY0NDFZMTAyMDAwRDAzKg0KK1g0MzQ4ODJZNzUwMDBEMDMqDQorRzU0RDIxOSpYNDQwOTQxWTEyMzAwMEQwMyoNCitHNTREMjE4Klg0MjM0NDFZNzUwMDBEMDMqDQorRzU0RDIxNypYNDM0NDQ5WTU2NTAwRDAzKg0KK1g0NDA0NDlEMDMqDQorWDM1NDk0MVk5MzQ5OUQwMyoNCitZOTc5OTlEMDMqDQorWTEwMzk5OUQwMyoNCitZMTA5OTk5RDAzKg0KK1kxMTU5OTlEMDMqDQorWTEyMTk5OUQwMyoNCitZMTI3OTk5RDAzKg0KK1gzODc5NDFEMDMqDQorWTEyMTk5OUQwMyoNCitZMTE1OTk5RDAzKg0KK1kxMDk5OTlEMDMqDQorWTk3OTk5RDAzKg0KK1k5MzQ5OUQwMyoNCitZMTAzOTk5RDAzKg0KK1gzOTE0NDFZODQ0OTlEMDMqDQorWTc5OTk5RDAzKg0KK1gzOTE5NDFZNzQ0OTlEMDMqDQorWDM5NTQ0MVk2Njk5OUQwMyoNCitYMzk0NDQxWTU5OTk5RDAzKg0KK1gzOTI5NDFZNTM0OTlEMDMqDQorWDM2ODk0MVk0ODUwMEQwMyoNCitZNDM1MDBEMDMqDQorWDM3NDk0MUQwMyoNCitZNDcwMDBEMDMqDQorRzU0RDIyMCpHNTREMjE3Kkc1NEQyMjAqRzU0RDIxNypHNTREMjIwKkc1NEQyMTcqRzU0RDIyMCpHNTREMjE3Kkc1NEQyMjAqRzU0RDIxNypHNTREMjIwKkc1NEQyMTcqRzU0RDIyMCpHNTREMjE3Kkc1NEQyMjAqRzU0RDIxNypHNTREMjIwKkc1NEQyMTcqRzU0RDIyMSpHNTREMjE3Kkc1NEQyMjAqRzU0RDIyMipHNTREMjIzKkc1NEQyMjQqRzU0RDIyMypHNTREMjI1Kkc1NEQyMjYqRzU0RDIyNSpHNTREMjIyKkc1NEQyMjMqRzU0RDIyMipHNTREMjIzKkc1NEQyMjUqRzU0RDIyMipHNTREMjI1Kk0wMioNCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLmdyb3VwMi5nYnIgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLmdyb3VwMi5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdlMGY1MwotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuZ3JvdXAyLmdicgpAQCAtMCwwICsxLDI1OTk0IEBACitHMDQgc3RhcnQgb2YgcGFnZSA0IGZvciBncm91cCAyIGlkeCAxICoNCitHMDQgVGl0bGU6IDk3MSBCQkIgQ2FwZSwgcG93ZXIgKg0KK0cwNCBDcmVhdG9yOiBwY2IgMjAxMTA5MTggKg0KK0cwNCBDcmVhdGlvbkRhdGU6IE1vbiBKYW4gMjAgMjE6MDQ6NDIgMjAxNCBVVEMgKg0KK0cwNCBGb3I6IGJyaWFucyAqDQorRzA0IEZvcm1hdDogR2VyYmVyL1JTLTI3NFggKg0KK0cwNCBQQ0ItRGltZW5zaW9uczogNTAwMDAwIDQwMDAwMCAqDQorRzA0IFBDQi1Db29yZGluYXRlLU9yaWdpbjogbG93ZXIgbGVmdCAqDQorJU1PSU4qJQ0KKyVGU0xBWDI1WTI1KiUNCislTE5HUk9VUDIqJQ0KKyVBREQyNDNDLDAuMjQ2MColDQorJUFERDI0MkMsMC4wNDYwKiUNCislQUREMjQxQywwLjIwMDAqJQ0KKyVBREQyNDBDLDAuMTI4NSolDQorJUFERDIzOUMsMC4wNDAwKiUNCislQUREMjM4QywwLjAzNTAqJQ0KKyVBREQyMzdDLDAuMDEwMColDQorJUFERDIzNkMsMC4wNjAwKiUNCislQUREMjM1QywwLjAzNjAqJQ0KKyVBREQyMzRDLDAuMDIwMColDQorJUFERDIzM0MsMC4yNjYwKiUNCislQUREMjMyQywwLjA2NjAqJQ0KKyVBREQyMzFDLDAuMjIwMColDQorJUFERDIzMEMsMC4xODMwKiUNCislQUREMjI5QywwLjA2NTAqJQ0KKyVBREQyMjhDLDAuMDI1MColDQorJUFERDIyN0MsMC4wMDAxKiUNCitHNTREMjI3KkczNioNCitYMzgyOTQxWTM1MDUwMEQwMipZMzU4NTAwRDAxKg0KK1gzODk0NDFEMDEqDQorWTM1MDUwMEQwMSoNCitYMzgyOTQxRDAxKg0KK0czNyoNCitHMzYqDQorWDM4Mzk0MVkyNzc1MDBEMDIqWTI4NTUwMEQwMSoNCitYMzkwNDQxRDAxKg0KK1kyNzc1MDBEMDEqDQorWDM4Mzk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODM0NDFZMjMxMDAwRDAyKlkyMzkwMDBEMDEqDQorWDM4OTk0MUQwMSoNCitZMjMxMDAwRDAxKg0KK1gzODM0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMjkyOTIyWTMwMTA0MkQwMipZMzA5MDQyRDAxKg0KK1gyOTk0MjJEMDEqDQorWTMwMTA0MkQwMSoNCitYMjkyOTIyRDAxKg0KK0czNyoNCitHMzYqDQorWDI5Mjk0MVkyNTMwMDBEMDIqWTI2MTAwMEQwMSoNCitYMjk5NDQxRDAxKg0KK1kyNTMwMDBEMDEqDQorWDI5Mjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDk0NDFZMjk4MDAwRDAyKlkzMDMwMDBEMDEqDQorWDMxNDk0MUQwMSoNCitZMjk4MDAwRDAxKg0KK1gzMDk0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMjU4OTAyWTMwMzEwOUQwMipZMzExMTA5RDAxKg0KK1gyNjU0MDJEMDEqDQorWTMwMzEwOUQwMSoNCitYMjU4OTAyRDAxKg0KK0czNyoNCitHMzYqDQorWDI2Nzk0MVkzNDcwMDBEMDIqWTM1MjAwMEQwMSoNCitYMjczNDQxRDAxKg0KK1kzNDcwMDBEMDEqDQorWDI2Nzk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNDAwMDBEMDIqWTM0NTAwMEQwMSoNCitYMjczNDQxRDAxKg0KK1kzNDAwMDBEMDEqDQorWDI2Nzk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMzM1MDBEMDIqWTMzODUwMEQwMSoNCitYMjczNDQxRDAxKg0KK1kzMzM1MDBEMDEqDQorWDI2Nzk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODM0NDFZMTYwMDAwRDAyKlkxNjgwMDBEMDEqDQorWDM4OTk0MUQwMSoNCitZMTYwMDAwRDAxKg0KK1gzODM0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYNDI4OTQxWTEwNjUwMEQwMipZMTE0NTAwRDAxKg0KK1g0MzU0NDFEMDEqDQorWTEwNjUwMEQwMSoNCitYNDI4OTQxRDAxKg0KK0czNyoNCitHMzYqDQorWDQxOTQ0MVk3MjAwMEQwMipZNzgwMDBEMDEqDQorWDQyNjQ0MUQwMSoNCitZNzIwMDBEMDEqDQorWDQxOTQ0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODg3MjNZODIxMjNEMDIqWTg3MTIzRDAxKg0KK1gzOTQyMjNEMDEqDQorWTgyMTIzRDAxKg0KK1gzODg3MjNEMDEqDQorRzM3Kg0KK0czNioNCitYMjQ5ODc3WTI1NzA1NUQwMipZMjY1MDU1RDAxKg0KK1gyNTYzNzdEMDEqDQorWTI1NzA1NUQwMSoNCitYMjQ5ODc3RDAxKg0KK0czNyoNCitHMzYqDQorWDIzODcwMVkyODgyMDdEMDIqWTI5NjIwN0QwMSoNCitYMjQ1MjAxRDAxKg0KK1kyODgyMDdEMDEqDQorWDIzODcwMUQwMSoNCitHMzcqDQorRzM2Kg0KK1g0ODE0NDFZMzk0MDAwRDAyKlk0MTUwMEQwMSoNCitYNDc4OTQxWTM5MDAwRDAxKg0KK1g0NzM0OTNEMDEqDQorWTQ5MjM2RDAxKg0KK1g0NzM1MDBZNDkyMzVEMDEqDQorWDQ3NDI0NVk0OTI5NEQwMSoNCitYNDc0OTcyWTQ5NDY5RDAxKg0KK1g0NzU2NjNZNDk3NTVEMDEqDQorWDQ3NjMwMVk1MDE0NUQwMSoNCitYNDc2ODY5WTUwNjMxRDAxKg0KK1g0NzczNTVZNTExOTlEMDEqDQorWDQ3Nzc0NVk1MTgzN0QwMSoNCitYNDc4MDMxWTUyNTI4RDAxKg0KK1g0NzgyMDZZNTMyNTVEMDEqDQorWDQ3ODI1MFk1NDAwMEQwMSoNCitYNDc4MjA2WTU0NzQ1RDAxKg0KK1g0NzgwMzFZNTU0NzJEMDEqDQorWDQ3Nzc0NVk1NjE2M0QwMSoNCitYNDc3MzU1WTU2ODAxRDAxKg0KK1g0NzY4NjlZNTczNjlEMDEqDQorWDQ3NjMwMVk1Nzg1NUQwMSoNCitYNDc1NjYzWTU4MjQ1RDAxKg0KK1g0NzQ5NzJZNTg1MzFEMDEqDQorWDQ3NDI0NVk1ODcwNkQwMSoNCitYNDczNTAwWTU4NzY1RDAxKg0KK1g0NzM0OTNZNTg3NjREMDEqDQorWTc5MjM2RDAxKg0KK1g0NzM1MDBZNzkyMzVEMDEqDQorWDQ3NDI0NVk3OTI5NEQwMSoNCitYNDc0OTcyWTc5NDY5RDAxKg0KK1g0NzU2NjNZNzk3NTVEMDEqDQorWDQ3NjMwMVk4MDE0NUQwMSoNCitYNDc2ODY5WTgwNjMxRDAxKg0KK1g0NzczNTVZODExOTlEMDEqDQorWDQ3Nzc0NVk4MTgzN0QwMSoNCitYNDc4MDMxWTgyNTI4RDAxKg0KK1g0NzgyMDZZODMyNTVEMDEqDQorWDQ3ODI1MFk4NDAwMEQwMSoNCitYNDc4MjA2WTg0NzQ1RDAxKg0KK1g0NzgwMzFZODU0NzJEMDEqDQorWDQ3Nzc0NVk4NjE2M0QwMSoNCitYNDc3MzU1WTg2ODAxRDAxKg0KK1g0NzY4NjlZODczNjlEMDEqDQorWDQ3NjMwMVk4Nzg1NUQwMSoNCitYNDc1NjYzWTg4MjQ1RDAxKg0KK1g0NzQ5NzJZODg1MzFEMDEqDQorWDQ3NDI0NVk4ODcwNkQwMSoNCitYNDczNTAwWTg4NzY1RDAxKg0KK1g0NzM0OTNZODg3NjREMDEqDQorWTEwOTIzNkQwMSoNCitYNDczNTAwWTEwOTIzNUQwMSoNCitYNDc0MjQ1WTEwOTI5NEQwMSoNCitYNDc0OTcyWTEwOTQ2OUQwMSoNCitYNDc1NjYzWTEwOTc1NUQwMSoNCitYNDc2MzAxWTExMDE0NUQwMSoNCitYNDc2ODY5WTExMDYzMUQwMSoNCitYNDc3MzU1WTExMTE5OUQwMSoNCitYNDc3NzQ1WTExMTgzN0QwMSoNCitYNDc4MDMxWTExMjUyOEQwMSoNCitYNDc4MjA2WTExMzI1NUQwMSoNCitYNDc4MjUwWTExNDAwMEQwMSoNCitYNDc4MjA2WTExNDc0NUQwMSoNCitYNDc4MDMxWTExNTQ3MkQwMSoNCitYNDc3NzQ1WTExNjE2M0QwMSoNCitYNDc3MzU1WTExNjgwMUQwMSoNCitYNDc2ODY5WTExNzM2OUQwMSoNCitYNDc2MzAxWTExNzg1NUQwMSoNCitYNDc1NjYzWTExODI0NUQwMSoNCitYNDc0OTcyWTExODUzMUQwMSoNCitYNDc0MjQ1WTExODcwNkQwMSoNCitYNDczNTAwWTExODc2NUQwMSoNCitYNDczNDkzWTExODc2NEQwMSoNCitZMTM5MjM2RDAxKg0KK1g0NzM1MDBZMTM5MjM1RDAxKg0KK1g0NzQyNDVZMTM5Mjk0RDAxKg0KK1g0NzQ5NzJZMTM5NDY5RDAxKg0KK1g0NzU2NjNZMTM5NzU1RDAxKg0KK1g0NzYzMDFZMTQwMTQ1RDAxKg0KK1g0NzY4NjlZMTQwNjMxRDAxKg0KK1g0NzczNTVZMTQxMTk5RDAxKg0KK1g0Nzc3NDVZMTQxODM3RDAxKg0KK1g0NzgwMzFZMTQyNTI4RDAxKg0KK1g0NzgyMDZZMTQzMjU1RDAxKg0KK1g0NzgyNTBZMTQ0MDAwRDAxKg0KK1g0NzgyMDZZMTQ0NzQ1RDAxKg0KK1g0NzgwMzFZMTQ1NDcyRDAxKg0KK1g0Nzc3NDVZMTQ2MTYzRDAxKg0KK1g0NzczNTVZMTQ2ODAxRDAxKg0KK1g0NzY4NjlZMTQ3MzY5RDAxKg0KK1g0NzYzMDFZMTQ3ODU1RDAxKg0KK1g0NzU2NjNZMTQ4MjQ1RDAxKg0KK1g0NzQ5NzJZMTQ4NTMxRDAxKg0KK1g0NzQyNDVZMTQ4NzA2RDAxKg0KK1g0NzM1MDBZMTQ4NzY1RDAxKg0KK1g0NzM0OTNZMTQ4NzY0RDAxKg0KK1kxNjkyMzZEMDEqDQorWDQ3MzUwMFkxNjkyMzVEMDEqDQorWDQ3NDI0NVkxNjkyOTREMDEqDQorWDQ3NDk3MlkxNjk0NjlEMDEqDQorWDQ3NTY2M1kxNjk3NTVEMDEqDQorWDQ3NjMwMVkxNzAxNDVEMDEqDQorWDQ3Njg2OVkxNzA2MzFEMDEqDQorWDQ3NzM1NVkxNzExOTlEMDEqDQorWDQ3Nzc0NVkxNzE4MzdEMDEqDQorWDQ3ODAzMVkxNzI1MjhEMDEqDQorWDQ3ODIwNlkxNzMyNTVEMDEqDQorWDQ3ODI1MFkxNzQwMDBEMDEqDQorWDQ3ODIwNlkxNzQ3NDVEMDEqDQorWDQ3ODAzMVkxNzU0NzJEMDEqDQorWDQ3Nzc0NVkxNzYxNjNEMDEqDQorWDQ3NzM1NVkxNzY4MDFEMDEqDQorWDQ3Njg2OVkxNzczNjlEMDEqDQorWDQ3NjMwMVkxNzc4NTVEMDEqDQorWDQ3NTY2M1kxNzgyNDVEMDEqDQorWDQ3NDk3MlkxNzg1MzFEMDEqDQorWDQ3NDI0NVkxNzg3MDZEMDEqDQorWDQ3MzUwMFkxNzg3NjVEMDEqDQorWDQ3MzQ5M1kxNzg3NjREMDEqDQorWTE5OTIzNkQwMSoNCitYNDczNTAwWTE5OTIzNUQwMSoNCitYNDc0MjQ1WTE5OTI5NEQwMSoNCitYNDc0OTcyWTE5OTQ2OUQwMSoNCitYNDc1NjYzWTE5OTc1NUQwMSoNCitYNDc2MzAxWTIwMDE0NUQwMSoNCitYNDc2ODY5WTIwMDYzMUQwMSoNCitYNDc3MzU1WTIwMTE5OUQwMSoNCitYNDc3NzQ1WTIwMTgzN0QwMSoNCitYNDc4MDMxWTIwMjUyOEQwMSoNCitYNDc4MjA2WTIwMzI1NUQwMSoNCitYNDc4MjUwWTIwNDAwMEQwMSoNCitYNDc4MjA2WTIwNDc0NUQwMSoNCitYNDc4MDMxWTIwNTQ3MkQwMSoNCitYNDc3NzQ1WTIwNjE2M0QwMSoNCitYNDc3MzU1WTIwNjgwMUQwMSoNCitYNDc2ODY5WTIwNzM2OUQwMSoNCitYNDc2MzAxWTIwNzg1NUQwMSoNCitYNDc1NjYzWTIwODI0NUQwMSoNCitYNDc0OTcyWTIwODUzMUQwMSoNCitYNDc0MjQ1WTIwODcwNkQwMSoNCitYNDczNTAwWTIwODc2NUQwMSoNCitYNDczNDkzWTIwODc2NEQwMSoNCitZMjI5MjM2RDAxKg0KK1g0NzM1MDBZMjI5MjM1RDAxKg0KK1g0NzQyNDVZMjI5Mjk0RDAxKg0KK1g0NzQ5NzJZMjI5NDY5RDAxKg0KK1g0NzU2NjNZMjI5NzU1RDAxKg0KK1g0NzYzMDFZMjMwMTQ1RDAxKg0KK1g0NzY4NjlZMjMwNjMxRDAxKg0KK1g0NzczNTVZMjMxMTk5RDAxKg0KK1g0Nzc3NDVZMjMxODM3RDAxKg0KK1g0NzgwMzFZMjMyNTI4RDAxKg0KK1g0NzgyMDZZMjMzMjU1RDAxKg0KK1g0NzgyNTBZMjM0MDAwRDAxKg0KK1g0NzgyMDZZMjM0NzQ1RDAxKg0KK1g0NzgwMzFZMjM1NDcyRDAxKg0KK1g0Nzc3NDVZMjM2MTYzRDAxKg0KK1g0NzczNTVZMjM2ODAxRDAxKg0KK1g0NzY4NjlZMjM3MzY5RDAxKg0KK1g0NzYzMDFZMjM3ODU1RDAxKg0KK1g0NzU2NjNZMjM4MjQ1RDAxKg0KK1g0NzQ5NzJZMjM4NTMxRDAxKg0KK1g0NzQyNDVZMjM4NzA2RDAxKg0KK1g0NzM1MDBZMjM4NzY1RDAxKg0KK1g0NzM0OTNZMjM4NzY0RDAxKg0KK1kyNTkyMzZEMDEqDQorWDQ3MzUwMFkyNTkyMzVEMDEqDQorWDQ3NDI0NVkyNTkyOTREMDEqDQorWDQ3NDk3MlkyNTk0NjlEMDEqDQorWDQ3NTY2M1kyNTk3NTVEMDEqDQorWDQ3NjMwMVkyNjAxNDVEMDEqDQorWDQ3Njg2OVkyNjA2MzFEMDEqDQorWDQ3NzM1NVkyNjExOTlEMDEqDQorWDQ3Nzc0NVkyNjE4MzdEMDEqDQorWDQ3ODAzMVkyNjI1MjhEMDEqDQorWDQ3ODIwNlkyNjMyNTVEMDEqDQorWDQ3ODI1MFkyNjQwMDBEMDEqDQorWDQ3ODIwNlkyNjQ3NDVEMDEqDQorWDQ3ODAzMVkyNjU0NzJEMDEqDQorWDQ3Nzc0NVkyNjYxNjNEMDEqDQorWDQ3NzM1NVkyNjY4MDFEMDEqDQorWDQ3Njg2OVkyNjczNjlEMDEqDQorWDQ3NjMwMVkyNjc4NTVEMDEqDQorWDQ3NTY2M1kyNjgyNDVEMDEqDQorWDQ3NDk3MlkyNjg1MzFEMDEqDQorWDQ3NDI0NVkyNjg3MDZEMDEqDQorWDQ3MzUwMFkyNjg3NjVEMDEqDQorWDQ3MzQ5M1kyNjg3NjREMDEqDQorWTI4OTIzNkQwMSoNCitYNDczNTAwWTI4OTIzNUQwMSoNCitYNDc0MjQ1WTI4OTI5NEQwMSoNCitYNDc0OTcyWTI4OTQ2OUQwMSoNCitYNDc1NjYzWTI4OTc1NUQwMSoNCitYNDc2MzAxWTI5MDE0NUQwMSoNCitYNDc2ODY5WTI5MDYzMUQwMSoNCitYNDc3MzU1WTI5MTE5OUQwMSoNCitYNDc3NzQ1WTI5MTgzN0QwMSoNCitYNDc4MDMxWTI5MjUyOEQwMSoNCitYNDc4MjA2WTI5MzI1NUQwMSoNCitYNDc4MjUwWTI5NDAwMEQwMSoNCitYNDc4MjA2WTI5NDc0NUQwMSoNCitYNDc4MDMxWTI5NTQ3MkQwMSoNCitYNDc3NzQ1WTI5NjE2M0QwMSoNCitYNDc3MzU1WTI5NjgwMUQwMSoNCitYNDc2ODY5WTI5NzM2OUQwMSoNCitYNDc2MzAxWTI5Nzg1NUQwMSoNCitYNDc1NjYzWTI5ODI0NUQwMSoNCitYNDc0OTcyWTI5ODUzMUQwMSoNCitYNDc0MjQ1WTI5ODcwNkQwMSoNCitYNDczNTAwWTI5ODc2NUQwMSoNCitYNDczNDkzWTI5ODc2NEQwMSoNCitZMzE5MjM2RDAxKg0KK1g0NzM1MDBZMzE5MjM1RDAxKg0KK1g0NzQyNDVZMzE5Mjk0RDAxKg0KK1g0NzQ5NzJZMzE5NDY5RDAxKg0KK1g0NzU2NjNZMzE5NzU1RDAxKg0KK1g0NzYzMDFZMzIwMTQ1RDAxKg0KK1g0NzY4NjlZMzIwNjMxRDAxKg0KK1g0NzczNTVZMzIxMTk5RDAxKg0KK1g0Nzc3NDVZMzIxODM3RDAxKg0KK1g0NzgwMzFZMzIyNTI4RDAxKg0KK1g0NzgyMDZZMzIzMjU1RDAxKg0KK1g0NzgyNTBZMzI0MDAwRDAxKg0KK1g0NzgyMDZZMzI0NzQ1RDAxKg0KK1g0NzgwMzFZMzI1NDcyRDAxKg0KK1g0Nzc3NDVZMzI2MTYzRDAxKg0KK1g0NzczNTVZMzI2ODAxRDAxKg0KK1g0NzY4NjlZMzI3MzY5RDAxKg0KK1g0NzYzMDFZMzI3ODU1RDAxKg0KK1g0NzU2NjNZMzI4MjQ1RDAxKg0KK1g0NzQ5NzJZMzI4NTMxRDAxKg0KK1g0NzQyNDVZMzI4NzA2RDAxKg0KK1g0NzM1MDBZMzI4NzY1RDAxKg0KK1g0NzM0OTNZMzI4NzY0RDAxKg0KK1kzNDkyMzZEMDEqDQorWDQ3MzUwMFkzNDkyMzVEMDEqDQorWDQ3NDI0NVkzNDkyOTREMDEqDQorWDQ3NDk3MlkzNDk0NjlEMDEqDQorWDQ3NTY2M1kzNDk3NTVEMDEqDQorWDQ3NjMwMVkzNTAxNDVEMDEqDQorWDQ3Njg2OVkzNTA2MzFEMDEqDQorWDQ3NzM1NVkzNTExOTlEMDEqDQorWDQ3Nzc0NVkzNTE4MzdEMDEqDQorWDQ3ODAzMVkzNTI1MjhEMDEqDQorWDQ3ODIwNlkzNTMyNTVEMDEqDQorWDQ3ODI1MFkzNTQwMDBEMDEqDQorWDQ3ODIwNlkzNTQ3NDVEMDEqDQorWDQ3ODAzMVkzNTU0NzJEMDEqDQorWDQ3Nzc0NVkzNTYxNjNEMDEqDQorWDQ3NzM1NVkzNTY4MDFEMDEqDQorWDQ3Njg2OVkzNTczNjlEMDEqDQorWDQ3NjMwMVkzNTc4NTVEMDEqDQorWDQ3NTY2M1kzNTgyNDVEMDEqDQorWDQ3NDk3MlkzNTg1MzFEMDEqDQorWDQ3NDI0NVkzNTg3MDZEMDEqDQorWDQ3MzUwMFkzNTg3NjVEMDEqDQorWDQ3MzQ5M1kzNTg3NjREMDEqDQorWTM3OTIzNkQwMSoNCitYNDczNTAwWTM3OTIzNUQwMSoNCitYNDc0MjQ1WTM3OTI5NEQwMSoNCitYNDc0OTcyWTM3OTQ2OUQwMSoNCitYNDc1NjYzWTM3OTc1NUQwMSoNCitYNDc2MzAxWTM4MDE0NUQwMSoNCitYNDc2ODY5WTM4MDYzMUQwMSoNCitYNDc3MzU1WTM4MTE5OUQwMSoNCitYNDc3NzQ1WTM4MTgzN0QwMSoNCitYNDc4MDMxWTM4MjUyOEQwMSoNCitYNDc4MjA2WTM4MzI1NUQwMSoNCitYNDc4MjUwWTM4NDAwMEQwMSoNCitYNDc4MjA2WTM4NDc0NUQwMSoNCitYNDc4MDMxWTM4NTQ3MkQwMSoNCitYNDc3NzQ1WTM4NjE2M0QwMSoNCitYNDc3MzU1WTM4NjgwMUQwMSoNCitYNDc2ODY5WTM4NzM2OUQwMSoNCitYNDc2MzAxWTM4Nzg1NUQwMSoNCitYNDc1NjYzWTM4ODI0NUQwMSoNCitYNDc0OTcyWTM4ODUzMUQwMSoNCitYNDc0MjQ1WTM4ODcwNkQwMSoNCitYNDczNTAwWTM4ODc2NUQwMSoNCitYNDczNDkzWTM4ODc2NEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0Nzg5NDFEMDEqDQorWDQ4MTQ0MVkzOTQwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDczNDkzWTM5MDAwRDAyKlg0NjczMzJEMDEqDQorWTUxNjcwRDAxKg0KK1g0Njc0NDNZNTE3MDREMDEqDQorWDQ2NzU1MFk1MTc1NkQwMSoNCitYNDY3NjQ2WTUxODIzRDAxKg0KK1g0Njc3MzFZNTE5MDVEMDEqDQorWDQ2NzgwMlk1MjAwMEQwMSoNCitYNDY3ODU2WTUyMTA1RDAxKg0KK1g0NjgwMTVZNTI1MDhEMDEqDQorWDQ2ODEzMlk1MjkyNUQwMSoNCitYNDY4MjExWTUzMzUyRDAxKg0KK1g0NjgyNTBZNTM3ODNEMDEqDQorWTU0MjE3RDAxKg0KK1g0NjgyMTFZNTQ2NDhEMDEqDQorWDQ2ODEzMlk1NTA3NUQwMSoNCitYNDY4MDE1WTU1NDkyRDAxKg0KK1g0Njc4NjBZNTU4OTdEMDEqDQorWDQ2NzgwNVk1NjAwMkQwMSoNCitYNDY3NzM0WTU2MDk3RDAxKg0KK1g0Njc2NDhZNTYxNzlEMDEqDQorWDQ2NzU1MVk1NjI0N0QwMSoNCitYNDY3NDQ1WTU2Mjk5RDAxKg0KK1g0NjczMzJZNTYzMzREMDEqDQorWTgxNjcwRDAxKg0KK1g0Njc0NDNZODE3MDREMDEqDQorWDQ2NzU1MFk4MTc1NkQwMSoNCitYNDY3NjQ2WTgxODIzRDAxKg0KK1g0Njc3MzFZODE5MDVEMDEqDQorWDQ2NzgwMlk4MjAwMEQwMSoNCitYNDY3ODU2WTgyMTA1RDAxKg0KK1g0NjgwMTVZODI1MDhEMDEqDQorWDQ2ODEzMlk4MjkyNUQwMSoNCitYNDY4MjExWTgzMzUyRDAxKg0KK1g0NjgyNTBZODM3ODNEMDEqDQorWTg0MjE3RDAxKg0KK1g0NjgyMTFZODQ2NDhEMDEqDQorWDQ2ODEzMlk4NTA3NUQwMSoNCitYNDY4MDE1WTg1NDkyRDAxKg0KK1g0Njc4NjBZODU4OTdEMDEqDQorWDQ2NzgwNVk4NjAwMkQwMSoNCitYNDY3NzM0WTg2MDk3RDAxKg0KK1g0Njc2NDhZODYxNzlEMDEqDQorWDQ2NzU1MVk4NjI0N0QwMSoNCitYNDY3NDQ1WTg2Mjk5RDAxKg0KK1g0NjczMzJZODYzMzREMDEqDQorWTExMTY3MEQwMSoNCitYNDY3NDQzWTExMTcwNEQwMSoNCitYNDY3NTUwWTExMTc1NkQwMSoNCitYNDY3NjQ2WTExMTgyM0QwMSoNCitYNDY3NzMxWTExMTkwNUQwMSoNCitYNDY3ODAyWTExMjAwMEQwMSoNCitYNDY3ODU2WTExMjEwNUQwMSoNCitYNDY4MDE1WTExMjUwOEQwMSoNCitYNDY4MTMyWTExMjkyNUQwMSoNCitYNDY4MjExWTExMzM1MkQwMSoNCitYNDY4MjUwWTExMzc4M0QwMSoNCitZMTE0MjE3RDAxKg0KK1g0NjgyMTFZMTE0NjQ4RDAxKg0KK1g0NjgxMzJZMTE1MDc1RDAxKg0KK1g0NjgwMTVZMTE1NDkyRDAxKg0KK1g0Njc4NjBZMTE1ODk3RDAxKg0KK1g0Njc4MDVZMTE2MDAyRDAxKg0KK1g0Njc3MzRZMTE2MDk3RDAxKg0KK1g0Njc2NDhZMTE2MTc5RDAxKg0KK1g0Njc1NTFZMTE2MjQ3RDAxKg0KK1g0Njc0NDVZMTE2Mjk5RDAxKg0KK1g0NjczMzJZMTE2MzM0RDAxKg0KK1kxNDE2NzBEMDEqDQorWDQ2NzQ0M1kxNDE3MDREMDEqDQorWDQ2NzU1MFkxNDE3NTZEMDEqDQorWDQ2NzY0NlkxNDE4MjNEMDEqDQorWDQ2NzczMVkxNDE5MDVEMDEqDQorWDQ2NzgwMlkxNDIwMDBEMDEqDQorWDQ2Nzg1NlkxNDIxMDVEMDEqDQorWDQ2ODAxNVkxNDI1MDhEMDEqDQorWDQ2ODEzMlkxNDI5MjVEMDEqDQorWDQ2ODIxMVkxNDMzNTJEMDEqDQorWDQ2ODI1MFkxNDM3ODNEMDEqDQorWTE0NDIxN0QwMSoNCitYNDY4MjExWTE0NDY0OEQwMSoNCitYNDY4MTMyWTE0NTA3NUQwMSoNCitYNDY4MDE1WTE0NTQ5MkQwMSoNCitYNDY3ODYwWTE0NTg5N0QwMSoNCitYNDY3ODA1WTE0NjAwMkQwMSoNCitYNDY3NzM0WTE0NjA5N0QwMSoNCitYNDY3NjQ4WTE0NjE3OUQwMSoNCitYNDY3NTUxWTE0NjI0N0QwMSoNCitYNDY3NDQ1WTE0NjI5OUQwMSoNCitYNDY3MzMyWTE0NjMzNEQwMSoNCitZMTcxNjcwRDAxKg0KK1g0Njc0NDNZMTcxNzA0RDAxKg0KK1g0Njc1NTBZMTcxNzU2RDAxKg0KK1g0Njc2NDZZMTcxODIzRDAxKg0KK1g0Njc3MzFZMTcxOTA1RDAxKg0KK1g0Njc4MDJZMTcyMDAwRDAxKg0KK1g0Njc4NTZZMTcyMTA1RDAxKg0KK1g0NjgwMTVZMTcyNTA4RDAxKg0KK1g0NjgxMzJZMTcyOTI1RDAxKg0KK1g0NjgyMTFZMTczMzUyRDAxKg0KK1g0NjgyNTBZMTczNzgzRDAxKg0KK1kxNzQyMTdEMDEqDQorWDQ2ODIxMVkxNzQ2NDhEMDEqDQorWDQ2ODEzMlkxNzUwNzVEMDEqDQorWDQ2ODAxNVkxNzU0OTJEMDEqDQorWDQ2Nzg2MFkxNzU4OTdEMDEqDQorWDQ2NzgwNVkxNzYwMDJEMDEqDQorWDQ2NzczNFkxNzYwOTdEMDEqDQorWDQ2NzY0OFkxNzYxNzlEMDEqDQorWDQ2NzU1MVkxNzYyNDdEMDEqDQorWDQ2NzQ0NVkxNzYyOTlEMDEqDQorWDQ2NzMzMlkxNzYzMzREMDEqDQorWTIwMTY3MEQwMSoNCitYNDY3NDQzWTIwMTcwNEQwMSoNCitYNDY3NTUwWTIwMTc1NkQwMSoNCitYNDY3NjQ2WTIwMTgyM0QwMSoNCitYNDY3NzMxWTIwMTkwNUQwMSoNCitYNDY3ODAyWTIwMjAwMEQwMSoNCitYNDY3ODU2WTIwMjEwNUQwMSoNCitYNDY4MDE1WTIwMjUwOEQwMSoNCitYNDY4MTMyWTIwMjkyNUQwMSoNCitYNDY4MjExWTIwMzM1MkQwMSoNCitYNDY4MjUwWTIwMzc4M0QwMSoNCitZMjA0MjE3RDAxKg0KK1g0NjgyMTFZMjA0NjQ4RDAxKg0KK1g0NjgxMzJZMjA1MDc1RDAxKg0KK1g0NjgwMTVZMjA1NDkyRDAxKg0KK1g0Njc4NjBZMjA1ODk3RDAxKg0KK1g0Njc4MDVZMjA2MDAyRDAxKg0KK1g0Njc3MzRZMjA2MDk3RDAxKg0KK1g0Njc2NDhZMjA2MTc5RDAxKg0KK1g0Njc1NTFZMjA2MjQ3RDAxKg0KK1g0Njc0NDVZMjA2Mjk5RDAxKg0KK1g0NjczMzJZMjA2MzM0RDAxKg0KK1kyMzE2NzBEMDEqDQorWDQ2NzQ0M1kyMzE3MDREMDEqDQorWDQ2NzU1MFkyMzE3NTZEMDEqDQorWDQ2NzY0NlkyMzE4MjNEMDEqDQorWDQ2NzczMVkyMzE5MDVEMDEqDQorWDQ2NzgwMlkyMzIwMDBEMDEqDQorWDQ2Nzg1NlkyMzIxMDVEMDEqDQorWDQ2ODAxNVkyMzI1MDhEMDEqDQorWDQ2ODEzMlkyMzI5MjVEMDEqDQorWDQ2ODIxMVkyMzMzNTJEMDEqDQorWDQ2ODI1MFkyMzM3ODNEMDEqDQorWTIzNDIxN0QwMSoNCitYNDY4MjExWTIzNDY0OEQwMSoNCitYNDY4MTMyWTIzNTA3NUQwMSoNCitYNDY4MDE1WTIzNTQ5MkQwMSoNCitYNDY3ODYwWTIzNTg5N0QwMSoNCitYNDY3ODA1WTIzNjAwMkQwMSoNCitYNDY3NzM0WTIzNjA5N0QwMSoNCitYNDY3NjQ4WTIzNjE3OUQwMSoNCitYNDY3NTUxWTIzNjI0N0QwMSoNCitYNDY3NDQ1WTIzNjI5OUQwMSoNCitYNDY3MzMyWTIzNjMzNEQwMSoNCitZMjYxNjcwRDAxKg0KK1g0Njc0NDNZMjYxNzA0RDAxKg0KK1g0Njc1NTBZMjYxNzU2RDAxKg0KK1g0Njc2NDZZMjYxODIzRDAxKg0KK1g0Njc3MzFZMjYxOTA1RDAxKg0KK1g0Njc4MDJZMjYyMDAwRDAxKg0KK1g0Njc4NTZZMjYyMTA1RDAxKg0KK1g0NjgwMTVZMjYyNTA4RDAxKg0KK1g0NjgxMzJZMjYyOTI1RDAxKg0KK1g0NjgyMTFZMjYzMzUyRDAxKg0KK1g0NjgyNTBZMjYzNzgzRDAxKg0KK1kyNjQyMTdEMDEqDQorWDQ2ODIxMVkyNjQ2NDhEMDEqDQorWDQ2ODEzMlkyNjUwNzVEMDEqDQorWDQ2ODAxNVkyNjU0OTJEMDEqDQorWDQ2Nzg2MFkyNjU4OTdEMDEqDQorWDQ2NzgwNVkyNjYwMDJEMDEqDQorWDQ2NzczNFkyNjYwOTdEMDEqDQorWDQ2NzY0OFkyNjYxNzlEMDEqDQorWDQ2NzU1MVkyNjYyNDdEMDEqDQorWDQ2NzQ0NVkyNjYyOTlEMDEqDQorWDQ2NzMzMlkyNjYzMzREMDEqDQorWTI5MTY3MEQwMSoNCitYNDY3NDQzWTI5MTcwNEQwMSoNCitYNDY3NTUwWTI5MTc1NkQwMSoNCitYNDY3NjQ2WTI5MTgyM0QwMSoNCitYNDY3NzMxWTI5MTkwNUQwMSoNCitYNDY3ODAyWTI5MjAwMEQwMSoNCitYNDY3ODU2WTI5MjEwNUQwMSoNCitYNDY4MDE1WTI5MjUwOEQwMSoNCitYNDY4MTMyWTI5MjkyNUQwMSoNCitYNDY4MjExWTI5MzM1MkQwMSoNCitYNDY4MjUwWTI5Mzc4M0QwMSoNCitZMjk0MjE3RDAxKg0KK1g0NjgyMTFZMjk0NjQ4RDAxKg0KK1g0NjgxMzJZMjk1MDc1RDAxKg0KK1g0NjgwMTVZMjk1NDkyRDAxKg0KK1g0Njc4NjBZMjk1ODk3RDAxKg0KK1g0Njc4MDVZMjk2MDAyRDAxKg0KK1g0Njc3MzRZMjk2MDk3RDAxKg0KK1g0Njc2NDhZMjk2MTc5RDAxKg0KK1g0Njc1NTFZMjk2MjQ3RDAxKg0KK1g0Njc0NDVZMjk2Mjk5RDAxKg0KK1g0NjczMzJZMjk2MzM0RDAxKg0KK1kzMjE2NzBEMDEqDQorWDQ2NzQ0M1kzMjE3MDREMDEqDQorWDQ2NzU1MFkzMjE3NTZEMDEqDQorWDQ2NzY0NlkzMjE4MjNEMDEqDQorWDQ2NzczMVkzMjE5MDVEMDEqDQorWDQ2NzgwMlkzMjIwMDBEMDEqDQorWDQ2Nzg1NlkzMjIxMDVEMDEqDQorWDQ2ODAxNVkzMjI1MDhEMDEqDQorWDQ2ODEzMlkzMjI5MjVEMDEqDQorWDQ2ODIxMVkzMjMzNTJEMDEqDQorWDQ2ODI1MFkzMjM3ODNEMDEqDQorWTMyNDIxN0QwMSoNCitYNDY4MjExWTMyNDY0OEQwMSoNCitYNDY4MTMyWTMyNTA3NUQwMSoNCitYNDY4MDE1WTMyNTQ5MkQwMSoNCitYNDY3ODYwWTMyNTg5N0QwMSoNCitYNDY3ODA1WTMyNjAwMkQwMSoNCitYNDY3NzM0WTMyNjA5N0QwMSoNCitYNDY3NjQ4WTMyNjE3OUQwMSoNCitYNDY3NTUxWTMyNjI0N0QwMSoNCitYNDY3NDQ1WTMyNjI5OUQwMSoNCitYNDY3MzMyWTMyNjMzNEQwMSoNCitZMzUxNjcwRDAxKg0KK1g0Njc0NDNZMzUxNzA0RDAxKg0KK1g0Njc1NTBZMzUxNzU2RDAxKg0KK1g0Njc2NDZZMzUxODIzRDAxKg0KK1g0Njc3MzFZMzUxOTA1RDAxKg0KK1g0Njc4MDJZMzUyMDAwRDAxKg0KK1g0Njc4NTZZMzUyMTA1RDAxKg0KK1g0NjgwMTVZMzUyNTA4RDAxKg0KK1g0NjgxMzJZMzUyOTI1RDAxKg0KK1g0NjgyMTFZMzUzMzUyRDAxKg0KK1g0NjgyNTBZMzUzNzgzRDAxKg0KK1kzNTQyMTdEMDEqDQorWDQ2ODIxMVkzNTQ2NDhEMDEqDQorWDQ2ODEzMlkzNTUwNzVEMDEqDQorWDQ2ODAxNVkzNTU0OTJEMDEqDQorWDQ2Nzg2MFkzNTU4OTdEMDEqDQorWDQ2NzgwNVkzNTYwMDJEMDEqDQorWDQ2NzczNFkzNTYwOTdEMDEqDQorWDQ2NzY0OFkzNTYxNzlEMDEqDQorWDQ2NzU1MVkzNTYyNDdEMDEqDQorWDQ2NzQ0NVkzNTYyOTlEMDEqDQorWDQ2NzMzMlkzNTYzMzREMDEqDQorWTM4MTY3MEQwMSoNCitYNDY3NDQzWTM4MTcwNEQwMSoNCitYNDY3NTUwWTM4MTc1NkQwMSoNCitYNDY3NjQ2WTM4MTgyM0QwMSoNCitYNDY3NzMxWTM4MTkwNUQwMSoNCitYNDY3ODAyWTM4MjAwMEQwMSoNCitYNDY3ODU2WTM4MjEwNUQwMSoNCitYNDY4MDE1WTM4MjUwOEQwMSoNCitYNDY4MTMyWTM4MjkyNUQwMSoNCitYNDY4MjExWTM4MzM1MkQwMSoNCitYNDY4MjUwWTM4Mzc4M0QwMSoNCitZMzg0MjE3RDAxKg0KK1g0NjgyMTFZMzg0NjQ4RDAxKg0KK1g0NjgxMzJZMzg1MDc1RDAxKg0KK1g0NjgwMTVZMzg1NDkyRDAxKg0KK1g0Njc4NjBZMzg1ODk3RDAxKg0KK1g0Njc4MDVZMzg2MDAyRDAxKg0KK1g0Njc3MzRZMzg2MDk3RDAxKg0KK1g0Njc2NDhZMzg2MTc5RDAxKg0KK1g0Njc1NTFZMzg2MjQ3RDAxKg0KK1g0Njc0NDVZMzg2Mjk5RDAxKg0KK1g0NjczMzJZMzg2MzM0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDQ3MzQ5M0QwMSoNCitZMzg4NzY0RDAxKg0KK1g0NzI3NTVZMzg4NzA2RDAxKg0KK1g0NzIwMjhZMzg4NTMxRDAxKg0KK1g0NzEzMzdZMzg4MjQ1RDAxKg0KK1g0NzA2OTlZMzg3ODU1RDAxKg0KK1g0NzAxMzFZMzg3MzY5RDAxKg0KK1g0Njk2NDVZMzg2ODAxRDAxKg0KK1g0NjkyNTVZMzg2MTYzRDAxKg0KK1g0Njg5NjlZMzg1NDcyRDAxKg0KK1g0Njg3OTRZMzg0NzQ1RDAxKg0KK1g0Njg3MzVZMzg0MDAwRDAxKg0KK1g0Njg3OTRZMzgzMjU1RDAxKg0KK1g0Njg5NjlZMzgyNTI4RDAxKg0KK1g0NjkyNTVZMzgxODM3RDAxKg0KK1g0Njk2NDVZMzgxMTk5RDAxKg0KK1g0NzAxMzFZMzgwNjMxRDAxKg0KK1g0NzA2OTlZMzgwMTQ1RDAxKg0KK1g0NzEzMzdZMzc5NzU1RDAxKg0KK1g0NzIwMjhZMzc5NDY5RDAxKg0KK1g0NzI3NTVZMzc5Mjk0RDAxKg0KK1g0NzM0OTNZMzc5MjM2RDAxKg0KK1kzNTg3NjREMDEqDQorWDQ3Mjc1NVkzNTg3MDZEMDEqDQorWDQ3MjAyOFkzNTg1MzFEMDEqDQorWDQ3MTMzN1kzNTgyNDVEMDEqDQorWDQ3MDY5OVkzNTc4NTVEMDEqDQorWDQ3MDEzMVkzNTczNjlEMDEqDQorWDQ2OTY0NVkzNTY4MDFEMDEqDQorWDQ2OTI1NVkzNTYxNjNEMDEqDQorWDQ2ODk2OVkzNTU0NzJEMDEqDQorWDQ2ODc5NFkzNTQ3NDVEMDEqDQorWDQ2ODczNVkzNTQwMDBEMDEqDQorWDQ2ODc5NFkzNTMyNTVEMDEqDQorWDQ2ODk2OVkzNTI1MjhEMDEqDQorWDQ2OTI1NVkzNTE4MzdEMDEqDQorWDQ2OTY0NVkzNTExOTlEMDEqDQorWDQ3MDEzMVkzNTA2MzFEMDEqDQorWDQ3MDY5OVkzNTAxNDVEMDEqDQorWDQ3MTMzN1kzNDk3NTVEMDEqDQorWDQ3MjAyOFkzNDk0NjlEMDEqDQorWDQ3Mjc1NVkzNDkyOTREMDEqDQorWDQ3MzQ5M1kzNDkyMzZEMDEqDQorWTMyODc2NEQwMSoNCitYNDcyNzU1WTMyODcwNkQwMSoNCitYNDcyMDI4WTMyODUzMUQwMSoNCitYNDcxMzM3WTMyODI0NUQwMSoNCitYNDcwNjk5WTMyNzg1NUQwMSoNCitYNDcwMTMxWTMyNzM2OUQwMSoNCitYNDY5NjQ1WTMyNjgwMUQwMSoNCitYNDY5MjU1WTMyNjE2M0QwMSoNCitYNDY4OTY5WTMyNTQ3MkQwMSoNCitYNDY4Nzk0WTMyNDc0NUQwMSoNCitYNDY4NzM1WTMyNDAwMEQwMSoNCitYNDY4Nzk0WTMyMzI1NUQwMSoNCitYNDY4OTY5WTMyMjUyOEQwMSoNCitYNDY5MjU1WTMyMTgzN0QwMSoNCitYNDY5NjQ1WTMyMTE5OUQwMSoNCitYNDcwMTMxWTMyMDYzMUQwMSoNCitYNDcwNjk5WTMyMDE0NUQwMSoNCitYNDcxMzM3WTMxOTc1NUQwMSoNCitYNDcyMDI4WTMxOTQ2OUQwMSoNCitYNDcyNzU1WTMxOTI5NEQwMSoNCitYNDczNDkzWTMxOTIzNkQwMSoNCitZMjk4NzY0RDAxKg0KK1g0NzI3NTVZMjk4NzA2RDAxKg0KK1g0NzIwMjhZMjk4NTMxRDAxKg0KK1g0NzEzMzdZMjk4MjQ1RDAxKg0KK1g0NzA2OTlZMjk3ODU1RDAxKg0KK1g0NzAxMzFZMjk3MzY5RDAxKg0KK1g0Njk2NDVZMjk2ODAxRDAxKg0KK1g0NjkyNTVZMjk2MTYzRDAxKg0KK1g0Njg5NjlZMjk1NDcyRDAxKg0KK1g0Njg3OTRZMjk0NzQ1RDAxKg0KK1g0Njg3MzVZMjk0MDAwRDAxKg0KK1g0Njg3OTRZMjkzMjU1RDAxKg0KK1g0Njg5NjlZMjkyNTI4RDAxKg0KK1g0NjkyNTVZMjkxODM3RDAxKg0KK1g0Njk2NDVZMjkxMTk5RDAxKg0KK1g0NzAxMzFZMjkwNjMxRDAxKg0KK1g0NzA2OTlZMjkwMTQ1RDAxKg0KK1g0NzEzMzdZMjg5NzU1RDAxKg0KK1g0NzIwMjhZMjg5NDY5RDAxKg0KK1g0NzI3NTVZMjg5Mjk0RDAxKg0KK1g0NzM0OTNZMjg5MjM2RDAxKg0KK1kyNjg3NjREMDEqDQorWDQ3Mjc1NVkyNjg3MDZEMDEqDQorWDQ3MjAyOFkyNjg1MzFEMDEqDQorWDQ3MTMzN1kyNjgyNDVEMDEqDQorWDQ3MDY5OVkyNjc4NTVEMDEqDQorWDQ3MDEzMVkyNjczNjlEMDEqDQorWDQ2OTY0NVkyNjY4MDFEMDEqDQorWDQ2OTI1NVkyNjYxNjNEMDEqDQorWDQ2ODk2OVkyNjU0NzJEMDEqDQorWDQ2ODc5NFkyNjQ3NDVEMDEqDQorWDQ2ODczNVkyNjQwMDBEMDEqDQorWDQ2ODc5NFkyNjMyNTVEMDEqDQorWDQ2ODk2OVkyNjI1MjhEMDEqDQorWDQ2OTI1NVkyNjE4MzdEMDEqDQorWDQ2OTY0NVkyNjExOTlEMDEqDQorWDQ3MDEzMVkyNjA2MzFEMDEqDQorWDQ3MDY5OVkyNjAxNDVEMDEqDQorWDQ3MTMzN1kyNTk3NTVEMDEqDQorWDQ3MjAyOFkyNTk0NjlEMDEqDQorWDQ3Mjc1NVkyNTkyOTREMDEqDQorWDQ3MzQ5M1kyNTkyMzZEMDEqDQorWTIzODc2NEQwMSoNCitYNDcyNzU1WTIzODcwNkQwMSoNCitYNDcyMDI4WTIzODUzMUQwMSoNCitYNDcxMzM3WTIzODI0NUQwMSoNCitYNDcwNjk5WTIzNzg1NUQwMSoNCitYNDcwMTMxWTIzNzM2OUQwMSoNCitYNDY5NjQ1WTIzNjgwMUQwMSoNCitYNDY5MjU1WTIzNjE2M0QwMSoNCitYNDY4OTY5WTIzNTQ3MkQwMSoNCitYNDY4Nzk0WTIzNDc0NUQwMSoNCitYNDY4NzM1WTIzNDAwMEQwMSoNCitYNDY4Nzk0WTIzMzI1NUQwMSoNCitYNDY4OTY5WTIzMjUyOEQwMSoNCitYNDY5MjU1WTIzMTgzN0QwMSoNCitYNDY5NjQ1WTIzMTE5OUQwMSoNCitYNDcwMTMxWTIzMDYzMUQwMSoNCitYNDcwNjk5WTIzMDE0NUQwMSoNCitYNDcxMzM3WTIyOTc1NUQwMSoNCitYNDcyMDI4WTIyOTQ2OUQwMSoNCitYNDcyNzU1WTIyOTI5NEQwMSoNCitYNDczNDkzWTIyOTIzNkQwMSoNCitZMjA4NzY0RDAxKg0KK1g0NzI3NTVZMjA4NzA2RDAxKg0KK1g0NzIwMjhZMjA4NTMxRDAxKg0KK1g0NzEzMzdZMjA4MjQ1RDAxKg0KK1g0NzA2OTlZMjA3ODU1RDAxKg0KK1g0NzAxMzFZMjA3MzY5RDAxKg0KK1g0Njk2NDVZMjA2ODAxRDAxKg0KK1g0NjkyNTVZMjA2MTYzRDAxKg0KK1g0Njg5NjlZMjA1NDcyRDAxKg0KK1g0Njg3OTRZMjA0NzQ1RDAxKg0KK1g0Njg3MzVZMjA0MDAwRDAxKg0KK1g0Njg3OTRZMjAzMjU1RDAxKg0KK1g0Njg5NjlZMjAyNTI4RDAxKg0KK1g0NjkyNTVZMjAxODM3RDAxKg0KK1g0Njk2NDVZMjAxMTk5RDAxKg0KK1g0NzAxMzFZMjAwNjMxRDAxKg0KK1g0NzA2OTlZMjAwMTQ1RDAxKg0KK1g0NzEzMzdZMTk5NzU1RDAxKg0KK1g0NzIwMjhZMTk5NDY5RDAxKg0KK1g0NzI3NTVZMTk5Mjk0RDAxKg0KK1g0NzM0OTNZMTk5MjM2RDAxKg0KK1kxNzg3NjREMDEqDQorWDQ3Mjc1NVkxNzg3MDZEMDEqDQorWDQ3MjAyOFkxNzg1MzFEMDEqDQorWDQ3MTMzN1kxNzgyNDVEMDEqDQorWDQ3MDY5OVkxNzc4NTVEMDEqDQorWDQ3MDEzMVkxNzczNjlEMDEqDQorWDQ2OTY0NVkxNzY4MDFEMDEqDQorWDQ2OTI1NVkxNzYxNjNEMDEqDQorWDQ2ODk2OVkxNzU0NzJEMDEqDQorWDQ2ODc5NFkxNzQ3NDVEMDEqDQorWDQ2ODczNVkxNzQwMDBEMDEqDQorWDQ2ODc5NFkxNzMyNTVEMDEqDQorWDQ2ODk2OVkxNzI1MjhEMDEqDQorWDQ2OTI1NVkxNzE4MzdEMDEqDQorWDQ2OTY0NVkxNzExOTlEMDEqDQorWDQ3MDEzMVkxNzA2MzFEMDEqDQorWDQ3MDY5OVkxNzAxNDVEMDEqDQorWDQ3MTMzN1kxNjk3NTVEMDEqDQorWDQ3MjAyOFkxNjk0NjlEMDEqDQorWDQ3Mjc1NVkxNjkyOTREMDEqDQorWDQ3MzQ5M1kxNjkyMzZEMDEqDQorWTE0ODc2NEQwMSoNCitYNDcyNzU1WTE0ODcwNkQwMSoNCitYNDcyMDI4WTE0ODUzMUQwMSoNCitYNDcxMzM3WTE0ODI0NUQwMSoNCitYNDcwNjk5WTE0Nzg1NUQwMSoNCitYNDcwMTMxWTE0NzM2OUQwMSoNCitYNDY5NjQ1WTE0NjgwMUQwMSoNCitYNDY5MjU1WTE0NjE2M0QwMSoNCitYNDY4OTY5WTE0NTQ3MkQwMSoNCitYNDY4Nzk0WTE0NDc0NUQwMSoNCitYNDY4NzM1WTE0NDAwMEQwMSoNCitYNDY4Nzk0WTE0MzI1NUQwMSoNCitYNDY4OTY5WTE0MjUyOEQwMSoNCitYNDY5MjU1WTE0MTgzN0QwMSoNCitYNDY5NjQ1WTE0MTE5OUQwMSoNCitYNDcwMTMxWTE0MDYzMUQwMSoNCitYNDcwNjk5WTE0MDE0NUQwMSoNCitYNDcxMzM3WTEzOTc1NUQwMSoNCitYNDcyMDI4WTEzOTQ2OUQwMSoNCitYNDcyNzU1WTEzOTI5NEQwMSoNCitYNDczNDkzWTEzOTIzNkQwMSoNCitZMTE4NzY0RDAxKg0KK1g0NzI3NTVZMTE4NzA2RDAxKg0KK1g0NzIwMjhZMTE4NTMxRDAxKg0KK1g0NzEzMzdZMTE4MjQ1RDAxKg0KK1g0NzA2OTlZMTE3ODU1RDAxKg0KK1g0NzAxMzFZMTE3MzY5RDAxKg0KK1g0Njk2NDVZMTE2ODAxRDAxKg0KK1g0NjkyNTVZMTE2MTYzRDAxKg0KK1g0Njg5NjlZMTE1NDcyRDAxKg0KK1g0Njg3OTRZMTE0NzQ1RDAxKg0KK1g0Njg3MzVZMTE0MDAwRDAxKg0KK1g0Njg3OTRZMTEzMjU1RDAxKg0KK1g0Njg5NjlZMTEyNTI4RDAxKg0KK1g0NjkyNTVZMTExODM3RDAxKg0KK1g0Njk2NDVZMTExMTk5RDAxKg0KK1g0NzAxMzFZMTEwNjMxRDAxKg0KK1g0NzA2OTlZMTEwMTQ1RDAxKg0KK1g0NzEzMzdZMTA5NzU1RDAxKg0KK1g0NzIwMjhZMTA5NDY5RDAxKg0KK1g0NzI3NTVZMTA5Mjk0RDAxKg0KK1g0NzM0OTNZMTA5MjM2RDAxKg0KK1k4ODc2NEQwMSoNCitYNDcyNzU1WTg4NzA2RDAxKg0KK1g0NzIwMjhZODg1MzFEMDEqDQorWDQ3MTMzN1k4ODI0NUQwMSoNCitYNDcwNjk5WTg3ODU1RDAxKg0KK1g0NzAxMzFZODczNjlEMDEqDQorWDQ2OTY0NVk4NjgwMUQwMSoNCitYNDY5MjU1WTg2MTYzRDAxKg0KK1g0Njg5NjlZODU0NzJEMDEqDQorWDQ2ODc5NFk4NDc0NUQwMSoNCitYNDY4NzM1WTg0MDAwRDAxKg0KK1g0Njg3OTRZODMyNTVEMDEqDQorWDQ2ODk2OVk4MjUyOEQwMSoNCitYNDY5MjU1WTgxODM3RDAxKg0KK1g0Njk2NDVZODExOTlEMDEqDQorWDQ3MDEzMVk4MDYzMUQwMSoNCitYNDcwNjk5WTgwMTQ1RDAxKg0KK1g0NzEzMzdZNzk3NTVEMDEqDQorWDQ3MjAyOFk3OTQ2OUQwMSoNCitYNDcyNzU1WTc5Mjk0RDAxKg0KK1g0NzM0OTNZNzkyMzZEMDEqDQorWTU4NzY0RDAxKg0KK1g0NzI3NTVZNTg3MDZEMDEqDQorWDQ3MjAyOFk1ODUzMUQwMSoNCitYNDcxMzM3WTU4MjQ1RDAxKg0KK1g0NzA2OTlZNTc4NTVEMDEqDQorWDQ3MDEzMVk1NzM2OUQwMSoNCitYNDY5NjQ1WTU2ODAxRDAxKg0KK1g0NjkyNTVZNTYxNjNEMDEqDQorWDQ2ODk2OVk1NTQ3MkQwMSoNCitYNDY4Nzk0WTU0NzQ1RDAxKg0KK1g0Njg3MzVZNTQwMDBEMDEqDQorWDQ2ODc5NFk1MzI1NUQwMSoNCitYNDY4OTY5WTUyNTI4RDAxKg0KK1g0NjkyNTVZNTE4MzdEMDEqDQorWDQ2OTY0NVk1MTE5OUQwMSoNCitYNDcwMTMxWTUwNjMxRDAxKg0KK1g0NzA2OTlZNTAxNDVEMDEqDQorWDQ3MTMzN1k0OTc1NUQwMSoNCitYNDcyMDI4WTQ5NDY5RDAxKg0KK1g0NzI3NTVZNDkyOTREMDEqDQorWDQ3MzQ5M1k0OTIzNkQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDY3MzMyRDAyKlg0NjM1MDJEMDEqDQorWTQ5MjUwRDAxKg0KK1g0NjM3MTdEMDEqDQorWDQ2NDE0OFk0OTI4OUQwMSoNCitYNDY0NTc1WTQ5MzY4RDAxKg0KK1g0NjQ5OTJZNDk0ODVEMDEqDQorWDQ2NTM5N1k0OTY0MEQwMSoNCitYNDY1NTAyWTQ5Njk1RDAxKg0KK1g0NjU1OTdZNDk3NjZEMDEqDQorWDQ2NTY3OVk0OTg1MkQwMSoNCitYNDY1NzQ3WTQ5OTQ5RDAxKg0KK1g0NjU3OTlZNTAwNTVEMDEqDQorWDQ2NTgzNFk1MDE2OUQwMSoNCitYNDY1ODUwWTUwMjg2RDAxKg0KK1g0NjU4NDhZNTA0MDVEMDEqDQorWDQ2NTgyN1k1MDUyMkQwMSoNCitYNDY1Nzg5WTUwNjM0RDAxKg0KK1g0NjU3MzNZNTA3MzhEMDEqDQorWDQ2NTY2Mlk1MDgzM0QwMSoNCitYNDY1NTc2WTUwOTE1RDAxKg0KK1g0NjU0NzlZNTA5ODNEMDEqDQorWDQ2NTM3M1k1MTAzNUQwMSoNCitYNDY1MjU5WTUxMDcwRDAxKg0KK1g0NjUxNDJZNTEwODZEMDEqDQorWDQ2NTAyM1k1MTA4NEQwMSoNCitYNDY0OTA2WTUxMDY0RDAxKg0KK1g0NjQ3OTVZNTEwMjNEMDEqDQorWDQ2NDUyMFk1MDkxNEQwMSoNCitYNDY0MjM1WTUwODM0RDAxKg0KK1g0NjM5NDNZNTA3ODBEMDEqDQorWDQ2MzY0OFk1MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1k1NzI0N0QwMSoNCitYNDYzNjQ4RDAxKg0KK1g0NjM5NDNZNTcyMjBEMDEqDQorWDQ2NDIzNVk1NzE2NkQwMSoNCitYNDY0NTIwWTU3MDg2RDAxKg0KK1g0NjQ3OTdZNTY5ODBEMDEqDQorWDQ2NDkwN1k1Njk0MEQwMSoNCitYNDY1MDI0WTU2OTE5RDAxKg0KK1g0NjUxNDJZNTY5MTdEMDEqDQorWDQ2NTI1OVk1NjkzM0QwMSoNCitYNDY1MzcxWTU2OTY4RDAxKg0KK1g0NjU0NzhZNTcwMjBEMDEqDQorWDQ2NTU3NFk1NzA4N0QwMSoNCitYNDY1NjU5WTU3MTY5RDAxKg0KK1g0NjU3MzBZNTcyNjNEMDEqDQorWDQ2NTc4Nlk1NzM2OEQwMSoNCitYNDY1ODI0WTU3NDc5RDAxKg0KK1g0NjU4NDVZNTc1OTZEMDEqDQorWDQ2NTg0N1k1NzcxNEQwMSoNCitYNDY1ODMwWTU3ODMwRDAxKg0KK1g0NjU3OTZZNTc5NDNEMDEqDQorWDQ2NTc0NFk1ODA1MEQwMSoNCitYNDY1Njc3WTU4MTQ2RDAxKg0KK1g0NjU1OTVZNTgyMzFEMDEqDQorWDQ2NTUwMFk1ODMwMkQwMSoNCitYNDY1Mzk1WTU4MzU2RDAxKg0KK1g0NjQ5OTJZNTg1MTVEMDEqDQorWDQ2NDU3NVk1ODYzMkQwMSoNCitYNDY0MTQ4WTU4NzExRDAxKg0KK1g0NjM3MTdZNTg3NTBEMDEqDQorWDQ2MzUwMkQwMSoNCitZNzkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTc5Mjg5RDAxKg0KK1g0NjQ1NzVZNzkzNjhEMDEqDQorWDQ2NDk5Mlk3OTQ4NUQwMSoNCitYNDY1Mzk3WTc5NjQwRDAxKg0KK1g0NjU1MDJZNzk2OTVEMDEqDQorWDQ2NTU5N1k3OTc2NkQwMSoNCitYNDY1Njc5WTc5ODUyRDAxKg0KK1g0NjU3NDdZNzk5NDlEMDEqDQorWDQ2NTc5OVk4MDA1NUQwMSoNCitYNDY1ODM0WTgwMTY5RDAxKg0KK1g0NjU4NTBZODAyODZEMDEqDQorWDQ2NTg0OFk4MDQwNUQwMSoNCitYNDY1ODI3WTgwNTIyRDAxKg0KK1g0NjU3ODlZODA2MzREMDEqDQorWDQ2NTczM1k4MDczOEQwMSoNCitYNDY1NjYyWTgwODMzRDAxKg0KK1g0NjU1NzZZODA5MTVEMDEqDQorWDQ2NTQ3OVk4MDk4M0QwMSoNCitYNDY1MzczWTgxMDM1RDAxKg0KK1g0NjUyNTlZODEwNzBEMDEqDQorWDQ2NTE0Mlk4MTA4NkQwMSoNCitYNDY1MDIzWTgxMDg0RDAxKg0KK1g0NjQ5MDZZODEwNjREMDEqDQorWDQ2NDc5NVk4MTAyM0QwMSoNCitYNDY0NTIwWTgwOTE0RDAxKg0KK1g0NjQyMzVZODA4MzREMDEqDQorWDQ2Mzk0M1k4MDc4MEQwMSoNCitYNDYzNjQ4WTgwNzUzRDAxKg0KK1g0NjM1MDJEMDEqDQorWTg3MjQ3RDAxKg0KK1g0NjM2NDhEMDEqDQorWDQ2Mzk0M1k4NzIyMEQwMSoNCitYNDY0MjM1WTg3MTY2RDAxKg0KK1g0NjQ1MjBZODcwODZEMDEqDQorWDQ2NDc5N1k4Njk4MEQwMSoNCitYNDY0OTA3WTg2OTQwRDAxKg0KK1g0NjUwMjRZODY5MTlEMDEqDQorWDQ2NTE0Mlk4NjkxN0QwMSoNCitYNDY1MjU5WTg2OTMzRDAxKg0KK1g0NjUzNzFZODY5NjhEMDEqDQorWDQ2NTQ3OFk4NzAyMEQwMSoNCitYNDY1NTc0WTg3MDg3RDAxKg0KK1g0NjU2NTlZODcxNjlEMDEqDQorWDQ2NTczMFk4NzI2M0QwMSoNCitYNDY1Nzg2WTg3MzY4RDAxKg0KK1g0NjU4MjRZODc0NzlEMDEqDQorWDQ2NTg0NVk4NzU5NkQwMSoNCitYNDY1ODQ3WTg3NzE0RDAxKg0KK1g0NjU4MzBZODc4MzBEMDEqDQorWDQ2NTc5Nlk4Nzk0M0QwMSoNCitYNDY1NzQ0WTg4MDUwRDAxKg0KK1g0NjU2NzdZODgxNDZEMDEqDQorWDQ2NTU5NVk4ODIzMUQwMSoNCitYNDY1NTAwWTg4MzAyRDAxKg0KK1g0NjUzOTVZODgzNTZEMDEqDQorWDQ2NDk5Mlk4ODUxNUQwMSoNCitYNDY0NTc1WTg4NjMyRDAxKg0KK1g0NjQxNDhZODg3MTFEMDEqDQorWDQ2MzcxN1k4ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxMDkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTEwOTI4OUQwMSoNCitYNDY0NTc1WTEwOTM2OEQwMSoNCitYNDY0OTkyWTEwOTQ4NUQwMSoNCitYNDY1Mzk3WTEwOTY0MEQwMSoNCitYNDY1NTAyWTEwOTY5NUQwMSoNCitYNDY1NTk3WTEwOTc2NkQwMSoNCitYNDY1Njc5WTEwOTg1MkQwMSoNCitYNDY1NzQ3WTEwOTk0OUQwMSoNCitYNDY1Nzk5WTExMDA1NUQwMSoNCitYNDY1ODM0WTExMDE2OUQwMSoNCitYNDY1ODUwWTExMDI4NkQwMSoNCitYNDY1ODQ4WTExMDQwNUQwMSoNCitYNDY1ODI3WTExMDUyMkQwMSoNCitYNDY1Nzg5WTExMDYzNEQwMSoNCitYNDY1NzMzWTExMDczOEQwMSoNCitYNDY1NjYyWTExMDgzM0QwMSoNCitYNDY1NTc2WTExMDkxNUQwMSoNCitYNDY1NDc5WTExMDk4M0QwMSoNCitYNDY1MzczWTExMTAzNUQwMSoNCitYNDY1MjU5WTExMTA3MEQwMSoNCitYNDY1MTQyWTExMTA4NkQwMSoNCitYNDY1MDIzWTExMTA4NEQwMSoNCitYNDY0OTA2WTExMTA2NEQwMSoNCitYNDY0Nzk1WTExMTAyM0QwMSoNCitYNDY0NTIwWTExMDkxNEQwMSoNCitYNDY0MjM1WTExMDgzNEQwMSoNCitYNDYzOTQzWTExMDc4MEQwMSoNCitYNDYzNjQ4WTExMDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxMTcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTExNzIyMEQwMSoNCitYNDY0MjM1WTExNzE2NkQwMSoNCitYNDY0NTIwWTExNzA4NkQwMSoNCitYNDY0Nzk3WTExNjk4MEQwMSoNCitYNDY0OTA3WTExNjk0MEQwMSoNCitYNDY1MDI0WTExNjkxOUQwMSoNCitYNDY1MTQyWTExNjkxN0QwMSoNCitYNDY1MjU5WTExNjkzM0QwMSoNCitYNDY1MzcxWTExNjk2OEQwMSoNCitYNDY1NDc4WTExNzAyMEQwMSoNCitYNDY1NTc0WTExNzA4N0QwMSoNCitYNDY1NjU5WTExNzE2OUQwMSoNCitYNDY1NzMwWTExNzI2M0QwMSoNCitYNDY1Nzg2WTExNzM2OEQwMSoNCitYNDY1ODI0WTExNzQ3OUQwMSoNCitYNDY1ODQ1WTExNzU5NkQwMSoNCitYNDY1ODQ3WTExNzcxNEQwMSoNCitYNDY1ODMwWTExNzgzMEQwMSoNCitYNDY1Nzk2WTExNzk0M0QwMSoNCitYNDY1NzQ0WTExODA1MEQwMSoNCitYNDY1Njc3WTExODE0NkQwMSoNCitYNDY1NTk1WTExODIzMUQwMSoNCitYNDY1NTAwWTExODMwMkQwMSoNCitYNDY1Mzk1WTExODM1NkQwMSoNCitYNDY0OTkyWTExODUxNUQwMSoNCitYNDY0NTc1WTExODYzMkQwMSoNCitYNDY0MTQ4WTExODcxMUQwMSoNCitYNDYzNzE3WTExODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxMzkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTEzOTI4OUQwMSoNCitYNDY0NTc1WTEzOTM2OEQwMSoNCitYNDY0OTkyWTEzOTQ4NUQwMSoNCitYNDY1Mzk3WTEzOTY0MEQwMSoNCitYNDY1NTAyWTEzOTY5NUQwMSoNCitYNDY1NTk3WTEzOTc2NkQwMSoNCitYNDY1Njc5WTEzOTg1MkQwMSoNCitYNDY1NzQ3WTEzOTk0OUQwMSoNCitYNDY1Nzk5WTE0MDA1NUQwMSoNCitYNDY1ODM0WTE0MDE2OUQwMSoNCitYNDY1ODUwWTE0MDI4NkQwMSoNCitYNDY1ODQ4WTE0MDQwNUQwMSoNCitYNDY1ODI3WTE0MDUyMkQwMSoNCitYNDY1Nzg5WTE0MDYzNEQwMSoNCitYNDY1NzMzWTE0MDczOEQwMSoNCitYNDY1NjYyWTE0MDgzM0QwMSoNCitYNDY1NTc2WTE0MDkxNUQwMSoNCitYNDY1NDc5WTE0MDk4M0QwMSoNCitYNDY1MzczWTE0MTAzNUQwMSoNCitYNDY1MjU5WTE0MTA3MEQwMSoNCitYNDY1MTQyWTE0MTA4NkQwMSoNCitYNDY1MDIzWTE0MTA4NEQwMSoNCitYNDY0OTA2WTE0MTA2NEQwMSoNCitYNDY0Nzk1WTE0MTAyM0QwMSoNCitYNDY0NTIwWTE0MDkxNEQwMSoNCitYNDY0MjM1WTE0MDgzNEQwMSoNCitYNDYzOTQzWTE0MDc4MEQwMSoNCitYNDYzNjQ4WTE0MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxNDcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTE0NzIyMEQwMSoNCitYNDY0MjM1WTE0NzE2NkQwMSoNCitYNDY0NTIwWTE0NzA4NkQwMSoNCitYNDY0Nzk3WTE0Njk4MEQwMSoNCitYNDY0OTA3WTE0Njk0MEQwMSoNCitYNDY1MDI0WTE0NjkxOUQwMSoNCitYNDY1MTQyWTE0NjkxN0QwMSoNCitYNDY1MjU5WTE0NjkzM0QwMSoNCitYNDY1MzcxWTE0Njk2OEQwMSoNCitYNDY1NDc4WTE0NzAyMEQwMSoNCitYNDY1NTc0WTE0NzA4N0QwMSoNCitYNDY1NjU5WTE0NzE2OUQwMSoNCitYNDY1NzMwWTE0NzI2M0QwMSoNCitYNDY1Nzg2WTE0NzM2OEQwMSoNCitYNDY1ODI0WTE0NzQ3OUQwMSoNCitYNDY1ODQ1WTE0NzU5NkQwMSoNCitYNDY1ODQ3WTE0NzcxNEQwMSoNCitYNDY1ODMwWTE0NzgzMEQwMSoNCitYNDY1Nzk2WTE0Nzk0M0QwMSoNCitYNDY1NzQ0WTE0ODA1MEQwMSoNCitYNDY1Njc3WTE0ODE0NkQwMSoNCitYNDY1NTk1WTE0ODIzMUQwMSoNCitYNDY1NTAwWTE0ODMwMkQwMSoNCitYNDY1Mzk1WTE0ODM1NkQwMSoNCitYNDY0OTkyWTE0ODUxNUQwMSoNCitYNDY0NTc1WTE0ODYzMkQwMSoNCitYNDY0MTQ4WTE0ODcxMUQwMSoNCitYNDYzNzE3WTE0ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxNjkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTE2OTI4OUQwMSoNCitYNDY0NTc1WTE2OTM2OEQwMSoNCitYNDY0OTkyWTE2OTQ4NUQwMSoNCitYNDY1Mzk3WTE2OTY0MEQwMSoNCitYNDY1NTAyWTE2OTY5NUQwMSoNCitYNDY1NTk3WTE2OTc2NkQwMSoNCitYNDY1Njc5WTE2OTg1MkQwMSoNCitYNDY1NzQ3WTE2OTk0OUQwMSoNCitYNDY1Nzk5WTE3MDA1NUQwMSoNCitYNDY1ODM0WTE3MDE2OUQwMSoNCitYNDY1ODUwWTE3MDI4NkQwMSoNCitYNDY1ODQ4WTE3MDQwNUQwMSoNCitYNDY1ODI3WTE3MDUyMkQwMSoNCitYNDY1Nzg5WTE3MDYzNEQwMSoNCitYNDY1NzMzWTE3MDczOEQwMSoNCitYNDY1NjYyWTE3MDgzM0QwMSoNCitYNDY1NTc2WTE3MDkxNUQwMSoNCitYNDY1NDc5WTE3MDk4M0QwMSoNCitYNDY1MzczWTE3MTAzNUQwMSoNCitYNDY1MjU5WTE3MTA3MEQwMSoNCitYNDY1MTQyWTE3MTA4NkQwMSoNCitYNDY1MDIzWTE3MTA4NEQwMSoNCitYNDY0OTA2WTE3MTA2NEQwMSoNCitYNDY0Nzk1WTE3MTAyM0QwMSoNCitYNDY0NTIwWTE3MDkxNEQwMSoNCitYNDY0MjM1WTE3MDgzNEQwMSoNCitYNDYzOTQzWTE3MDc4MEQwMSoNCitYNDYzNjQ4WTE3MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxNzcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTE3NzIyMEQwMSoNCitYNDY0MjM1WTE3NzE2NkQwMSoNCitYNDY0NTIwWTE3NzA4NkQwMSoNCitYNDY0Nzk3WTE3Njk4MEQwMSoNCitYNDY0OTA3WTE3Njk0MEQwMSoNCitYNDY1MDI0WTE3NjkxOUQwMSoNCitYNDY1MTQyWTE3NjkxN0QwMSoNCitYNDY1MjU5WTE3NjkzM0QwMSoNCitYNDY1MzcxWTE3Njk2OEQwMSoNCitYNDY1NDc4WTE3NzAyMEQwMSoNCitYNDY1NTc0WTE3NzA4N0QwMSoNCitYNDY1NjU5WTE3NzE2OUQwMSoNCitYNDY1NzMwWTE3NzI2M0QwMSoNCitYNDY1Nzg2WTE3NzM2OEQwMSoNCitYNDY1ODI0WTE3NzQ3OUQwMSoNCitYNDY1ODQ1WTE3NzU5NkQwMSoNCitYNDY1ODQ3WTE3NzcxNEQwMSoNCitYNDY1ODMwWTE3NzgzMEQwMSoNCitYNDY1Nzk2WTE3Nzk0M0QwMSoNCitYNDY1NzQ0WTE3ODA1MEQwMSoNCitYNDY1Njc3WTE3ODE0NkQwMSoNCitYNDY1NTk1WTE3ODIzMUQwMSoNCitYNDY1NTAwWTE3ODMwMkQwMSoNCitYNDY1Mzk1WTE3ODM1NkQwMSoNCitYNDY0OTkyWTE3ODUxNUQwMSoNCitYNDY0NTc1WTE3ODYzMkQwMSoNCitYNDY0MTQ4WTE3ODcxMUQwMSoNCitYNDYzNzE3WTE3ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxOTkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTE5OTI4OUQwMSoNCitYNDY0NTc1WTE5OTM2OEQwMSoNCitYNDY0OTkyWTE5OTQ4NUQwMSoNCitYNDY1Mzk3WTE5OTY0MEQwMSoNCitYNDY1NTAyWTE5OTY5NUQwMSoNCitYNDY1NTk3WTE5OTc2NkQwMSoNCitYNDY1Njc5WTE5OTg1MkQwMSoNCitYNDY1NzQ3WTE5OTk0OUQwMSoNCitYNDY1Nzk5WTIwMDA1NUQwMSoNCitYNDY1ODM0WTIwMDE2OUQwMSoNCitYNDY1ODUwWTIwMDI4NkQwMSoNCitYNDY1ODQ4WTIwMDQwNUQwMSoNCitYNDY1ODI3WTIwMDUyMkQwMSoNCitYNDY1Nzg5WTIwMDYzNEQwMSoNCitYNDY1NzMzWTIwMDczOEQwMSoNCitYNDY1NjYyWTIwMDgzM0QwMSoNCitYNDY1NTc2WTIwMDkxNUQwMSoNCitYNDY1NDc5WTIwMDk4M0QwMSoNCitYNDY1MzczWTIwMTAzNUQwMSoNCitYNDY1MjU5WTIwMTA3MEQwMSoNCitYNDY1MTQyWTIwMTA4NkQwMSoNCitYNDY1MDIzWTIwMTA4NEQwMSoNCitYNDY0OTA2WTIwMTA2NEQwMSoNCitYNDY0Nzk1WTIwMTAyM0QwMSoNCitYNDY0NTIwWTIwMDkxNEQwMSoNCitYNDY0MjM1WTIwMDgzNEQwMSoNCitYNDYzOTQzWTIwMDc4MEQwMSoNCitYNDYzNjQ4WTIwMDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyMDcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTIwNzIyMEQwMSoNCitYNDY0MjM1WTIwNzE2NkQwMSoNCitYNDY0NTIwWTIwNzA4NkQwMSoNCitYNDY0Nzk3WTIwNjk4MEQwMSoNCitYNDY0OTA3WTIwNjk0MEQwMSoNCitYNDY1MDI0WTIwNjkxOUQwMSoNCitYNDY1MTQyWTIwNjkxN0QwMSoNCitYNDY1MjU5WTIwNjkzM0QwMSoNCitYNDY1MzcxWTIwNjk2OEQwMSoNCitYNDY1NDc4WTIwNzAyMEQwMSoNCitYNDY1NTc0WTIwNzA4N0QwMSoNCitYNDY1NjU5WTIwNzE2OUQwMSoNCitYNDY1NzMwWTIwNzI2M0QwMSoNCitYNDY1Nzg2WTIwNzM2OEQwMSoNCitYNDY1ODI0WTIwNzQ3OUQwMSoNCitYNDY1ODQ1WTIwNzU5NkQwMSoNCitYNDY1ODQ3WTIwNzcxNEQwMSoNCitYNDY1ODMwWTIwNzgzMEQwMSoNCitYNDY1Nzk2WTIwNzk0M0QwMSoNCitYNDY1NzQ0WTIwODA1MEQwMSoNCitYNDY1Njc3WTIwODE0NkQwMSoNCitYNDY1NTk1WTIwODIzMUQwMSoNCitYNDY1NTAwWTIwODMwMkQwMSoNCitYNDY1Mzk1WTIwODM1NkQwMSoNCitYNDY0OTkyWTIwODUxNUQwMSoNCitYNDY0NTc1WTIwODYzMkQwMSoNCitYNDY0MTQ4WTIwODcxMUQwMSoNCitYNDYzNzE3WTIwODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyMjkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTIyOTI4OUQwMSoNCitYNDY0NTc1WTIyOTM2OEQwMSoNCitYNDY0OTkyWTIyOTQ4NUQwMSoNCitYNDY1Mzk3WTIyOTY0MEQwMSoNCitYNDY1NTAyWTIyOTY5NUQwMSoNCitYNDY1NTk3WTIyOTc2NkQwMSoNCitYNDY1Njc5WTIyOTg1MkQwMSoNCitYNDY1NzQ3WTIyOTk0OUQwMSoNCitYNDY1Nzk5WTIzMDA1NUQwMSoNCitYNDY1ODM0WTIzMDE2OUQwMSoNCitYNDY1ODUwWTIzMDI4NkQwMSoNCitYNDY1ODQ4WTIzMDQwNUQwMSoNCitYNDY1ODI3WTIzMDUyMkQwMSoNCitYNDY1Nzg5WTIzMDYzNEQwMSoNCitYNDY1NzMzWTIzMDczOEQwMSoNCitYNDY1NjYyWTIzMDgzM0QwMSoNCitYNDY1NTc2WTIzMDkxNUQwMSoNCitYNDY1NDc5WTIzMDk4M0QwMSoNCitYNDY1MzczWTIzMTAzNUQwMSoNCitYNDY1MjU5WTIzMTA3MEQwMSoNCitYNDY1MTQyWTIzMTA4NkQwMSoNCitYNDY1MDIzWTIzMTA4NEQwMSoNCitYNDY0OTA2WTIzMTA2NEQwMSoNCitYNDY0Nzk1WTIzMTAyM0QwMSoNCitYNDY0NTIwWTIzMDkxNEQwMSoNCitYNDY0MjM1WTIzMDgzNEQwMSoNCitYNDYzOTQzWTIzMDc4MEQwMSoNCitYNDYzNjQ4WTIzMDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyMzcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTIzNzIyMEQwMSoNCitYNDY0MjM1WTIzNzE2NkQwMSoNCitYNDY0NTIwWTIzNzA4NkQwMSoNCitYNDY0Nzk3WTIzNjk4MEQwMSoNCitYNDY0OTA3WTIzNjk0MEQwMSoNCitYNDY1MDI0WTIzNjkxOUQwMSoNCitYNDY1MTQyWTIzNjkxN0QwMSoNCitYNDY1MjU5WTIzNjkzM0QwMSoNCitYNDY1MzcxWTIzNjk2OEQwMSoNCitYNDY1NDc4WTIzNzAyMEQwMSoNCitYNDY1NTc0WTIzNzA4N0QwMSoNCitYNDY1NjU5WTIzNzE2OUQwMSoNCitYNDY1NzMwWTIzNzI2M0QwMSoNCitYNDY1Nzg2WTIzNzM2OEQwMSoNCitYNDY1ODI0WTIzNzQ3OUQwMSoNCitYNDY1ODQ1WTIzNzU5NkQwMSoNCitYNDY1ODQ3WTIzNzcxNEQwMSoNCitYNDY1ODMwWTIzNzgzMEQwMSoNCitYNDY1Nzk2WTIzNzk0M0QwMSoNCitYNDY1NzQ0WTIzODA1MEQwMSoNCitYNDY1Njc3WTIzODE0NkQwMSoNCitYNDY1NTk1WTIzODIzMUQwMSoNCitYNDY1NTAwWTIzODMwMkQwMSoNCitYNDY1Mzk1WTIzODM1NkQwMSoNCitYNDY0OTkyWTIzODUxNUQwMSoNCitYNDY0NTc1WTIzODYzMkQwMSoNCitYNDY0MTQ4WTIzODcxMUQwMSoNCitYNDYzNzE3WTIzODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyNTkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTI1OTI4OUQwMSoNCitYNDY0NTc1WTI1OTM2OEQwMSoNCitYNDY0OTkyWTI1OTQ4NUQwMSoNCitYNDY1Mzk3WTI1OTY0MEQwMSoNCitYNDY1NTAyWTI1OTY5NUQwMSoNCitYNDY1NTk3WTI1OTc2NkQwMSoNCitYNDY1Njc5WTI1OTg1MkQwMSoNCitYNDY1NzQ3WTI1OTk0OUQwMSoNCitYNDY1Nzk5WTI2MDA1NUQwMSoNCitYNDY1ODM0WTI2MDE2OUQwMSoNCitYNDY1ODUwWTI2MDI4NkQwMSoNCitYNDY1ODQ4WTI2MDQwNUQwMSoNCitYNDY1ODI3WTI2MDUyMkQwMSoNCitYNDY1Nzg5WTI2MDYzNEQwMSoNCitYNDY1NzMzWTI2MDczOEQwMSoNCitYNDY1NjYyWTI2MDgzM0QwMSoNCitYNDY1NTc2WTI2MDkxNUQwMSoNCitYNDY1NDc5WTI2MDk4M0QwMSoNCitYNDY1MzczWTI2MTAzNUQwMSoNCitYNDY1MjU5WTI2MTA3MEQwMSoNCitYNDY1MTQyWTI2MTA4NkQwMSoNCitYNDY1MDIzWTI2MTA4NEQwMSoNCitYNDY0OTA2WTI2MTA2NEQwMSoNCitYNDY0Nzk1WTI2MTAyM0QwMSoNCitYNDY0NTIwWTI2MDkxNEQwMSoNCitYNDY0MjM1WTI2MDgzNEQwMSoNCitYNDYzOTQzWTI2MDc4MEQwMSoNCitYNDYzNjQ4WTI2MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyNjcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTI2NzIyMEQwMSoNCitYNDY0MjM1WTI2NzE2NkQwMSoNCitYNDY0NTIwWTI2NzA4NkQwMSoNCitYNDY0Nzk3WTI2Njk4MEQwMSoNCitYNDY0OTA3WTI2Njk0MEQwMSoNCitYNDY1MDI0WTI2NjkxOUQwMSoNCitYNDY1MTQyWTI2NjkxN0QwMSoNCitYNDY1MjU5WTI2NjkzM0QwMSoNCitYNDY1MzcxWTI2Njk2OEQwMSoNCitYNDY1NDc4WTI2NzAyMEQwMSoNCitYNDY1NTc0WTI2NzA4N0QwMSoNCitYNDY1NjU5WTI2NzE2OUQwMSoNCitYNDY1NzMwWTI2NzI2M0QwMSoNCitYNDY1Nzg2WTI2NzM2OEQwMSoNCitYNDY1ODI0WTI2NzQ3OUQwMSoNCitYNDY1ODQ1WTI2NzU5NkQwMSoNCitYNDY1ODQ3WTI2NzcxNEQwMSoNCitYNDY1ODMwWTI2NzgzMEQwMSoNCitYNDY1Nzk2WTI2Nzk0M0QwMSoNCitYNDY1NzQ0WTI2ODA1MEQwMSoNCitYNDY1Njc3WTI2ODE0NkQwMSoNCitYNDY1NTk1WTI2ODIzMUQwMSoNCitYNDY1NTAwWTI2ODMwMkQwMSoNCitYNDY1Mzk1WTI2ODM1NkQwMSoNCitYNDY0OTkyWTI2ODUxNUQwMSoNCitYNDY0NTc1WTI2ODYzMkQwMSoNCitYNDY0MTQ4WTI2ODcxMUQwMSoNCitYNDYzNzE3WTI2ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyODkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTI4OTI4OUQwMSoNCitYNDY0NTc1WTI4OTM2OEQwMSoNCitYNDY0OTkyWTI4OTQ4NUQwMSoNCitYNDY1Mzk3WTI4OTY0MEQwMSoNCitYNDY1NTAyWTI4OTY5NUQwMSoNCitYNDY1NTk3WTI4OTc2NkQwMSoNCitYNDY1Njc5WTI4OTg1MkQwMSoNCitYNDY1NzQ3WTI4OTk0OUQwMSoNCitYNDY1Nzk5WTI5MDA1NUQwMSoNCitYNDY1ODM0WTI5MDE2OUQwMSoNCitYNDY1ODUwWTI5MDI4NkQwMSoNCitYNDY1ODQ4WTI5MDQwNUQwMSoNCitYNDY1ODI3WTI5MDUyMkQwMSoNCitYNDY1Nzg5WTI5MDYzNEQwMSoNCitYNDY1NzMzWTI5MDczOEQwMSoNCitYNDY1NjYyWTI5MDgzM0QwMSoNCitYNDY1NTc2WTI5MDkxNUQwMSoNCitYNDY1NDc5WTI5MDk4M0QwMSoNCitYNDY1MzczWTI5MTAzNUQwMSoNCitYNDY1MjU5WTI5MTA3MEQwMSoNCitYNDY1MTQyWTI5MTA4NkQwMSoNCitYNDY1MDIzWTI5MTA4NEQwMSoNCitYNDY0OTA2WTI5MTA2NEQwMSoNCitYNDY0Nzk1WTI5MTAyM0QwMSoNCitYNDY0NTIwWTI5MDkxNEQwMSoNCitYNDY0MjM1WTI5MDgzNEQwMSoNCitYNDYzOTQzWTI5MDc4MEQwMSoNCitYNDYzNjQ4WTI5MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyOTcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTI5NzIyMEQwMSoNCitYNDY0MjM1WTI5NzE2NkQwMSoNCitYNDY0NTIwWTI5NzA4NkQwMSoNCitYNDY0Nzk3WTI5Njk4MEQwMSoNCitYNDY0OTA3WTI5Njk0MEQwMSoNCitYNDY1MDI0WTI5NjkxOUQwMSoNCitYNDY1MTQyWTI5NjkxN0QwMSoNCitYNDY1MjU5WTI5NjkzM0QwMSoNCitYNDY1MzcxWTI5Njk2OEQwMSoNCitYNDY1NDc4WTI5NzAyMEQwMSoNCitYNDY1NTc0WTI5NzA4N0QwMSoNCitYNDY1NjU5WTI5NzE2OUQwMSoNCitYNDY1NzMwWTI5NzI2M0QwMSoNCitYNDY1Nzg2WTI5NzM2OEQwMSoNCitYNDY1ODI0WTI5NzQ3OUQwMSoNCitYNDY1ODQ1WTI5NzU5NkQwMSoNCitYNDY1ODQ3WTI5NzcxNEQwMSoNCitYNDY1ODMwWTI5NzgzMEQwMSoNCitYNDY1Nzk2WTI5Nzk0M0QwMSoNCitYNDY1NzQ0WTI5ODA1MEQwMSoNCitYNDY1Njc3WTI5ODE0NkQwMSoNCitYNDY1NTk1WTI5ODIzMUQwMSoNCitYNDY1NTAwWTI5ODMwMkQwMSoNCitYNDY1Mzk1WTI5ODM1NkQwMSoNCitYNDY0OTkyWTI5ODUxNUQwMSoNCitYNDY0NTc1WTI5ODYzMkQwMSoNCitYNDY0MTQ4WTI5ODcxMUQwMSoNCitYNDYzNzE3WTI5ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzMTkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTMxOTI4OUQwMSoNCitYNDY0NTc1WTMxOTM2OEQwMSoNCitYNDY0OTkyWTMxOTQ4NUQwMSoNCitYNDY1Mzk3WTMxOTY0MEQwMSoNCitYNDY1NTAyWTMxOTY5NUQwMSoNCitYNDY1NTk3WTMxOTc2NkQwMSoNCitYNDY1Njc5WTMxOTg1MkQwMSoNCitYNDY1NzQ3WTMxOTk0OUQwMSoNCitYNDY1Nzk5WTMyMDA1NUQwMSoNCitYNDY1ODM0WTMyMDE2OUQwMSoNCitYNDY1ODUwWTMyMDI4NkQwMSoNCitYNDY1ODQ4WTMyMDQwNUQwMSoNCitYNDY1ODI3WTMyMDUyMkQwMSoNCitYNDY1Nzg5WTMyMDYzNEQwMSoNCitYNDY1NzMzWTMyMDczOEQwMSoNCitYNDY1NjYyWTMyMDgzM0QwMSoNCitYNDY1NTc2WTMyMDkxNUQwMSoNCitYNDY1NDc5WTMyMDk4M0QwMSoNCitYNDY1MzczWTMyMTAzNUQwMSoNCitYNDY1MjU5WTMyMTA3MEQwMSoNCitYNDY1MTQyWTMyMTA4NkQwMSoNCitYNDY1MDIzWTMyMTA4NEQwMSoNCitYNDY0OTA2WTMyMTA2NEQwMSoNCitYNDY0Nzk1WTMyMTAyM0QwMSoNCitYNDY0NTIwWTMyMDkxNEQwMSoNCitYNDY0MjM1WTMyMDgzNEQwMSoNCitYNDYzOTQzWTMyMDc4MEQwMSoNCitYNDYzNjQ4WTMyMDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzMjcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTMyNzIyMEQwMSoNCitYNDY0MjM1WTMyNzE2NkQwMSoNCitYNDY0NTIwWTMyNzA4NkQwMSoNCitYNDY0Nzk3WTMyNjk4MEQwMSoNCitYNDY0OTA3WTMyNjk0MEQwMSoNCitYNDY1MDI0WTMyNjkxOUQwMSoNCitYNDY1MTQyWTMyNjkxN0QwMSoNCitYNDY1MjU5WTMyNjkzM0QwMSoNCitYNDY1MzcxWTMyNjk2OEQwMSoNCitYNDY1NDc4WTMyNzAyMEQwMSoNCitYNDY1NTc0WTMyNzA4N0QwMSoNCitYNDY1NjU5WTMyNzE2OUQwMSoNCitYNDY1NzMwWTMyNzI2M0QwMSoNCitYNDY1Nzg2WTMyNzM2OEQwMSoNCitYNDY1ODI0WTMyNzQ3OUQwMSoNCitYNDY1ODQ1WTMyNzU5NkQwMSoNCitYNDY1ODQ3WTMyNzcxNEQwMSoNCitYNDY1ODMwWTMyNzgzMEQwMSoNCitYNDY1Nzk2WTMyNzk0M0QwMSoNCitYNDY1NzQ0WTMyODA1MEQwMSoNCitYNDY1Njc3WTMyODE0NkQwMSoNCitYNDY1NTk1WTMyODIzMUQwMSoNCitYNDY1NTAwWTMyODMwMkQwMSoNCitYNDY1Mzk1WTMyODM1NkQwMSoNCitYNDY0OTkyWTMyODUxNUQwMSoNCitYNDY0NTc1WTMyODYzMkQwMSoNCitYNDY0MTQ4WTMyODcxMUQwMSoNCitYNDYzNzE3WTMyODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzNDkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTM0OTI4OUQwMSoNCitYNDY0NTc1WTM0OTM2OEQwMSoNCitYNDY0OTkyWTM0OTQ4NUQwMSoNCitYNDY1Mzk3WTM0OTY0MEQwMSoNCitYNDY1NTAyWTM0OTY5NUQwMSoNCitYNDY1NTk3WTM0OTc2NkQwMSoNCitYNDY1Njc5WTM0OTg1MkQwMSoNCitYNDY1NzQ3WTM0OTk0OUQwMSoNCitYNDY1Nzk5WTM1MDA1NUQwMSoNCitYNDY1ODM0WTM1MDE2OUQwMSoNCitYNDY1ODUwWTM1MDI4NkQwMSoNCitYNDY1ODQ4WTM1MDQwNUQwMSoNCitYNDY1ODI3WTM1MDUyMkQwMSoNCitYNDY1Nzg5WTM1MDYzNEQwMSoNCitYNDY1NzMzWTM1MDczOEQwMSoNCitYNDY1NjYyWTM1MDgzM0QwMSoNCitYNDY1NTc2WTM1MDkxNUQwMSoNCitYNDY1NDc5WTM1MDk4M0QwMSoNCitYNDY1MzczWTM1MTAzNUQwMSoNCitYNDY1MjU5WTM1MTA3MEQwMSoNCitYNDY1MTQyWTM1MTA4NkQwMSoNCitYNDY1MDIzWTM1MTA4NEQwMSoNCitYNDY0OTA2WTM1MTA2NEQwMSoNCitYNDY0Nzk1WTM1MTAyM0QwMSoNCitYNDY0NTIwWTM1MDkxNEQwMSoNCitYNDY0MjM1WTM1MDgzNEQwMSoNCitYNDYzOTQzWTM1MDc4MEQwMSoNCitYNDYzNjQ4WTM1MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzNTcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTM1NzIyMEQwMSoNCitYNDY0MjM1WTM1NzE2NkQwMSoNCitYNDY0NTIwWTM1NzA4NkQwMSoNCitYNDY0Nzk3WTM1Njk4MEQwMSoNCitYNDY0OTA3WTM1Njk0MEQwMSoNCitYNDY1MDI0WTM1NjkxOUQwMSoNCitYNDY1MTQyWTM1NjkxN0QwMSoNCitYNDY1MjU5WTM1NjkzM0QwMSoNCitYNDY1MzcxWTM1Njk2OEQwMSoNCitYNDY1NDc4WTM1NzAyMEQwMSoNCitYNDY1NTc0WTM1NzA4N0QwMSoNCitYNDY1NjU5WTM1NzE2OUQwMSoNCitYNDY1NzMwWTM1NzI2M0QwMSoNCitYNDY1Nzg2WTM1NzM2OEQwMSoNCitYNDY1ODI0WTM1NzQ3OUQwMSoNCitYNDY1ODQ1WTM1NzU5NkQwMSoNCitYNDY1ODQ3WTM1NzcxNEQwMSoNCitYNDY1ODMwWTM1NzgzMEQwMSoNCitYNDY1Nzk2WTM1Nzk0M0QwMSoNCitYNDY1NzQ0WTM1ODA1MEQwMSoNCitYNDY1Njc3WTM1ODE0NkQwMSoNCitYNDY1NTk1WTM1ODIzMUQwMSoNCitYNDY1NTAwWTM1ODMwMkQwMSoNCitYNDY1Mzk1WTM1ODM1NkQwMSoNCitYNDY0OTkyWTM1ODUxNUQwMSoNCitYNDY0NTc1WTM1ODYzMkQwMSoNCitYNDY0MTQ4WTM1ODcxMUQwMSoNCitYNDYzNzE3WTM1ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzNzkyNTBEMDEqDQorWDQ2MzcxN0QwMSoNCitYNDY0MTQ4WTM3OTI4OUQwMSoNCitYNDY0NTc1WTM3OTM2OEQwMSoNCitYNDY0OTkyWTM3OTQ4NUQwMSoNCitYNDY1Mzk3WTM3OTY0MEQwMSoNCitYNDY1NTAyWTM3OTY5NUQwMSoNCitYNDY1NTk3WTM3OTc2NkQwMSoNCitYNDY1Njc5WTM3OTg1MkQwMSoNCitYNDY1NzQ3WTM3OTk0OUQwMSoNCitYNDY1Nzk5WTM4MDA1NUQwMSoNCitYNDY1ODM0WTM4MDE2OUQwMSoNCitYNDY1ODUwWTM4MDI4NkQwMSoNCitYNDY1ODQ4WTM4MDQwNUQwMSoNCitYNDY1ODI3WTM4MDUyMkQwMSoNCitYNDY1Nzg5WTM4MDYzNEQwMSoNCitYNDY1NzMzWTM4MDczOEQwMSoNCitYNDY1NjYyWTM4MDgzM0QwMSoNCitYNDY1NTc2WTM4MDkxNUQwMSoNCitYNDY1NDc5WTM4MDk4M0QwMSoNCitYNDY1MzczWTM4MTAzNUQwMSoNCitYNDY1MjU5WTM4MTA3MEQwMSoNCitYNDY1MTQyWTM4MTA4NkQwMSoNCitYNDY1MDIzWTM4MTA4NEQwMSoNCitYNDY0OTA2WTM4MTA2NEQwMSoNCitYNDY0Nzk1WTM4MTAyM0QwMSoNCitYNDY0NTIwWTM4MDkxNEQwMSoNCitYNDY0MjM1WTM4MDgzNEQwMSoNCitYNDYzOTQzWTM4MDc4MEQwMSoNCitYNDYzNjQ4WTM4MDc1M0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzODcyNDdEMDEqDQorWDQ2MzY0OEQwMSoNCitYNDYzOTQzWTM4NzIyMEQwMSoNCitYNDY0MjM1WTM4NzE2NkQwMSoNCitYNDY0NTIwWTM4NzA4NkQwMSoNCitYNDY0Nzk3WTM4Njk4MEQwMSoNCitYNDY0OTA3WTM4Njk0MEQwMSoNCitYNDY1MDI0WTM4NjkxOUQwMSoNCitYNDY1MTQyWTM4NjkxN0QwMSoNCitYNDY1MjU5WTM4NjkzM0QwMSoNCitYNDY1MzcxWTM4Njk2OEQwMSoNCitYNDY1NDc4WTM4NzAyMEQwMSoNCitYNDY1NTc0WTM4NzA4N0QwMSoNCitYNDY1NjU5WTM4NzE2OUQwMSoNCitYNDY1NzMwWTM4NzI2M0QwMSoNCitYNDY1Nzg2WTM4NzM2OEQwMSoNCitYNDY1ODI0WTM4NzQ3OUQwMSoNCitYNDY1ODQ1WTM4NzU5NkQwMSoNCitYNDY1ODQ3WTM4NzcxNEQwMSoNCitYNDY1ODMwWTM4NzgzMEQwMSoNCitYNDY1Nzk2WTM4Nzk0M0QwMSoNCitYNDY1NzQ0WTM4ODA1MEQwMSoNCitYNDY1Njc3WTM4ODE0NkQwMSoNCitYNDY1NTk1WTM4ODIzMUQwMSoNCitYNDY1NTAwWTM4ODMwMkQwMSoNCitYNDY1Mzk1WTM4ODM1NkQwMSoNCitYNDY0OTkyWTM4ODUxNUQwMSoNCitYNDY0NTc1WTM4ODYzMkQwMSoNCitYNDY0MTQ4WTM4ODcxMUQwMSoNCitYNDYzNzE3WTM4ODc1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDQ2NzMzMkQwMSoNCitZMzg2MzM0RDAxKg0KK1g0NjczMzFZMzg2MzM0RDAxKg0KK1g0NjcyMTRZMzg2MzUwRDAxKg0KK1g0NjcwOTVZMzg2MzQ4RDAxKg0KK1g0NjY5NzhZMzg2MzI3RDAxKg0KK1g0NjY4NjZZMzg2Mjg5RDAxKg0KK1g0NjY3NjJZMzg2MjMzRDAxKg0KK1g0NjY2NjdZMzg2MTYyRDAxKg0KK1g0NjY1ODVZMzg2MDc2RDAxKg0KK1g0NjY1MTdZMzg1OTc5RDAxKg0KK1g0NjY0NjVZMzg1ODczRDAxKg0KK1g0NjY0MzBZMzg1NzU5RDAxKg0KK1g0NjY0MTRZMzg1NjQyRDAxKg0KK1g0NjY0MTZZMzg1NTIzRDAxKg0KK1g0NjY0MzZZMzg1NDA3RDAxKg0KK1g0NjY0NzdZMzg1Mjk1RDAxKg0KK1g0NjY1ODZZMzg1MDIwRDAxKg0KK1g0NjY2NjZZMzg0NzM1RDAxKg0KK1g0NjY3MjBZMzg0NDQzRDAxKg0KK1g0NjY3NDdZMzg0MTQ4RDAxKg0KK1kzODM4NTJEMDEqDQorWDQ2NjcyMFkzODM1NTdEMDEqDQorWDQ2NjY2NlkzODMyNjVEMDEqDQorWDQ2NjU4NlkzODI5ODBEMDEqDQorWDQ2NjQ4MFkzODI3MDNEMDEqDQorWDQ2NjQ0MFkzODI1OTNEMDEqDQorWDQ2NjQxOVkzODI0NzZEMDEqDQorWDQ2NjQxN1kzODIzNThEMDEqDQorWDQ2NjQzM1kzODIyNDFEMDEqDQorWDQ2NjQ2OFkzODIxMjlEMDEqDQorWDQ2NjUyMFkzODIwMjJEMDEqDQorWDQ2NjU4N1kzODE5MjZEMDEqDQorWDQ2NjY2OVkzODE4NDFEMDEqDQorWDQ2Njc2M1kzODE3NzBEMDEqDQorWDQ2Njg2OFkzODE3MTREMDEqDQorWDQ2Njk3OVkzODE2NzZEMDEqDQorWDQ2NzA5NlkzODE2NTVEMDEqDQorWDQ2NzIxNFkzODE2NTNEMDEqDQorWDQ2NzMzMFkzODE2NzBEMDEqDQorWDQ2NzMzMlkzODE2NzBEMDEqDQorWTM1NjMzNEQwMSoNCitYNDY3MzMxWTM1NjMzNEQwMSoNCitYNDY3MjE0WTM1NjM1MEQwMSoNCitYNDY3MDk1WTM1NjM0OEQwMSoNCitYNDY2OTc4WTM1NjMyN0QwMSoNCitYNDY2ODY2WTM1NjI4OUQwMSoNCitYNDY2NzYyWTM1NjIzM0QwMSoNCitYNDY2NjY3WTM1NjE2MkQwMSoNCitYNDY2NTg1WTM1NjA3NkQwMSoNCitYNDY2NTE3WTM1NTk3OUQwMSoNCitYNDY2NDY1WTM1NTg3M0QwMSoNCitYNDY2NDMwWTM1NTc1OUQwMSoNCitYNDY2NDE0WTM1NTY0MkQwMSoNCitYNDY2NDE2WTM1NTUyM0QwMSoNCitYNDY2NDM2WTM1NTQwN0QwMSoNCitYNDY2NDc3WTM1NTI5NUQwMSoNCitYNDY2NTg2WTM1NTAyMEQwMSoNCitYNDY2NjY2WTM1NDczNUQwMSoNCitYNDY2NzIwWTM1NDQ0M0QwMSoNCitYNDY2NzQ3WTM1NDE0OEQwMSoNCitZMzUzODUyRDAxKg0KK1g0NjY3MjBZMzUzNTU3RDAxKg0KK1g0NjY2NjZZMzUzMjY1RDAxKg0KK1g0NjY1ODZZMzUyOTgwRDAxKg0KK1g0NjY0ODBZMzUyNzAzRDAxKg0KK1g0NjY0NDBZMzUyNTkzRDAxKg0KK1g0NjY0MTlZMzUyNDc2RDAxKg0KK1g0NjY0MTdZMzUyMzU4RDAxKg0KK1g0NjY0MzNZMzUyMjQxRDAxKg0KK1g0NjY0NjhZMzUyMTI5RDAxKg0KK1g0NjY1MjBZMzUyMDIyRDAxKg0KK1g0NjY1ODdZMzUxOTI2RDAxKg0KK1g0NjY2NjlZMzUxODQxRDAxKg0KK1g0NjY3NjNZMzUxNzcwRDAxKg0KK1g0NjY4NjhZMzUxNzE0RDAxKg0KK1g0NjY5NzlZMzUxNjc2RDAxKg0KK1g0NjcwOTZZMzUxNjU1RDAxKg0KK1g0NjcyMTRZMzUxNjUzRDAxKg0KK1g0NjczMzBZMzUxNjcwRDAxKg0KK1g0NjczMzJZMzUxNjcwRDAxKg0KK1kzMjYzMzREMDEqDQorWDQ2NzMzMVkzMjYzMzREMDEqDQorWDQ2NzIxNFkzMjYzNTBEMDEqDQorWDQ2NzA5NVkzMjYzNDhEMDEqDQorWDQ2Njk3OFkzMjYzMjdEMDEqDQorWDQ2Njg2NlkzMjYyODlEMDEqDQorWDQ2Njc2MlkzMjYyMzNEMDEqDQorWDQ2NjY2N1kzMjYxNjJEMDEqDQorWDQ2NjU4NVkzMjYwNzZEMDEqDQorWDQ2NjUxN1kzMjU5NzlEMDEqDQorWDQ2NjQ2NVkzMjU4NzNEMDEqDQorWDQ2NjQzMFkzMjU3NTlEMDEqDQorWDQ2NjQxNFkzMjU2NDJEMDEqDQorWDQ2NjQxNlkzMjU1MjNEMDEqDQorWDQ2NjQzNlkzMjU0MDdEMDEqDQorWDQ2NjQ3N1kzMjUyOTVEMDEqDQorWDQ2NjU4NlkzMjUwMjBEMDEqDQorWDQ2NjY2NlkzMjQ3MzVEMDEqDQorWDQ2NjcyMFkzMjQ0NDNEMDEqDQorWDQ2Njc0N1kzMjQxNDhEMDEqDQorWTMyMzg1MkQwMSoNCitYNDY2NzIwWTMyMzU1N0QwMSoNCitYNDY2NjY2WTMyMzI2NUQwMSoNCitYNDY2NTg2WTMyMjk4MEQwMSoNCitYNDY2NDgwWTMyMjcwM0QwMSoNCitYNDY2NDQwWTMyMjU5M0QwMSoNCitYNDY2NDE5WTMyMjQ3NkQwMSoNCitYNDY2NDE3WTMyMjM1OEQwMSoNCitYNDY2NDMzWTMyMjI0MUQwMSoNCitYNDY2NDY4WTMyMjEyOUQwMSoNCitYNDY2NTIwWTMyMjAyMkQwMSoNCitYNDY2NTg3WTMyMTkyNkQwMSoNCitYNDY2NjY5WTMyMTg0MUQwMSoNCitYNDY2NzYzWTMyMTc3MEQwMSoNCitYNDY2ODY4WTMyMTcxNEQwMSoNCitYNDY2OTc5WTMyMTY3NkQwMSoNCitYNDY3MDk2WTMyMTY1NUQwMSoNCitYNDY3MjE0WTMyMTY1M0QwMSoNCitYNDY3MzMwWTMyMTY3MEQwMSoNCitYNDY3MzMyWTMyMTY3MEQwMSoNCitZMjk2MzM0RDAxKg0KK1g0NjczMzFZMjk2MzM0RDAxKg0KK1g0NjcyMTRZMjk2MzUwRDAxKg0KK1g0NjcwOTVZMjk2MzQ4RDAxKg0KK1g0NjY5NzhZMjk2MzI3RDAxKg0KK1g0NjY4NjZZMjk2Mjg5RDAxKg0KK1g0NjY3NjJZMjk2MjMzRDAxKg0KK1g0NjY2NjdZMjk2MTYyRDAxKg0KK1g0NjY1ODVZMjk2MDc2RDAxKg0KK1g0NjY1MTdZMjk1OTc5RDAxKg0KK1g0NjY0NjVZMjk1ODczRDAxKg0KK1g0NjY0MzBZMjk1NzU5RDAxKg0KK1g0NjY0MTRZMjk1NjQyRDAxKg0KK1g0NjY0MTZZMjk1NTIzRDAxKg0KK1g0NjY0MzZZMjk1NDA3RDAxKg0KK1g0NjY0NzdZMjk1Mjk1RDAxKg0KK1g0NjY1ODZZMjk1MDIwRDAxKg0KK1g0NjY2NjZZMjk0NzM1RDAxKg0KK1g0NjY3MjBZMjk0NDQzRDAxKg0KK1g0NjY3NDdZMjk0MTQ4RDAxKg0KK1kyOTM4NTJEMDEqDQorWDQ2NjcyMFkyOTM1NTdEMDEqDQorWDQ2NjY2NlkyOTMyNjVEMDEqDQorWDQ2NjU4NlkyOTI5ODBEMDEqDQorWDQ2NjQ4MFkyOTI3MDNEMDEqDQorWDQ2NjQ0MFkyOTI1OTNEMDEqDQorWDQ2NjQxOVkyOTI0NzZEMDEqDQorWDQ2NjQxN1kyOTIzNThEMDEqDQorWDQ2NjQzM1kyOTIyNDFEMDEqDQorWDQ2NjQ2OFkyOTIxMjlEMDEqDQorWDQ2NjUyMFkyOTIwMjJEMDEqDQorWDQ2NjU4N1kyOTE5MjZEMDEqDQorWDQ2NjY2OVkyOTE4NDFEMDEqDQorWDQ2Njc2M1kyOTE3NzBEMDEqDQorWDQ2Njg2OFkyOTE3MTREMDEqDQorWDQ2Njk3OVkyOTE2NzZEMDEqDQorWDQ2NzA5NlkyOTE2NTVEMDEqDQorWDQ2NzIxNFkyOTE2NTNEMDEqDQorWDQ2NzMzMFkyOTE2NzBEMDEqDQorWDQ2NzMzMlkyOTE2NzBEMDEqDQorWTI2NjMzNEQwMSoNCitYNDY3MzMxWTI2NjMzNEQwMSoNCitYNDY3MjE0WTI2NjM1MEQwMSoNCitYNDY3MDk1WTI2NjM0OEQwMSoNCitYNDY2OTc4WTI2NjMyN0QwMSoNCitYNDY2ODY2WTI2NjI4OUQwMSoNCitYNDY2NzYyWTI2NjIzM0QwMSoNCitYNDY2NjY3WTI2NjE2MkQwMSoNCitYNDY2NTg1WTI2NjA3NkQwMSoNCitYNDY2NTE3WTI2NTk3OUQwMSoNCitYNDY2NDY1WTI2NTg3M0QwMSoNCitYNDY2NDMwWTI2NTc1OUQwMSoNCitYNDY2NDE0WTI2NTY0MkQwMSoNCitYNDY2NDE2WTI2NTUyM0QwMSoNCitYNDY2NDM2WTI2NTQwN0QwMSoNCitYNDY2NDc3WTI2NTI5NUQwMSoNCitYNDY2NTg2WTI2NTAyMEQwMSoNCitYNDY2NjY2WTI2NDczNUQwMSoNCitYNDY2NzIwWTI2NDQ0M0QwMSoNCitYNDY2NzQ3WTI2NDE0OEQwMSoNCitZMjYzODUyRDAxKg0KK1g0NjY3MjBZMjYzNTU3RDAxKg0KK1g0NjY2NjZZMjYzMjY1RDAxKg0KK1g0NjY1ODZZMjYyOTgwRDAxKg0KK1g0NjY0ODBZMjYyNzAzRDAxKg0KK1g0NjY0NDBZMjYyNTkzRDAxKg0KK1g0NjY0MTlZMjYyNDc2RDAxKg0KK1g0NjY0MTdZMjYyMzU4RDAxKg0KK1g0NjY0MzNZMjYyMjQxRDAxKg0KK1g0NjY0NjhZMjYyMTI5RDAxKg0KK1g0NjY1MjBZMjYyMDIyRDAxKg0KK1g0NjY1ODdZMjYxOTI2RDAxKg0KK1g0NjY2NjlZMjYxODQxRDAxKg0KK1g0NjY3NjNZMjYxNzcwRDAxKg0KK1g0NjY4NjhZMjYxNzE0RDAxKg0KK1g0NjY5NzlZMjYxNjc2RDAxKg0KK1g0NjcwOTZZMjYxNjU1RDAxKg0KK1g0NjcyMTRZMjYxNjUzRDAxKg0KK1g0NjczMzBZMjYxNjcwRDAxKg0KK1g0NjczMzJZMjYxNjcwRDAxKg0KK1kyMzYzMzREMDEqDQorWDQ2NzMzMVkyMzYzMzREMDEqDQorWDQ2NzIxNFkyMzYzNTBEMDEqDQorWDQ2NzA5NVkyMzYzNDhEMDEqDQorWDQ2Njk3OFkyMzYzMjdEMDEqDQorWDQ2Njg2NlkyMzYyODlEMDEqDQorWDQ2Njc2MlkyMzYyMzNEMDEqDQorWDQ2NjY2N1kyMzYxNjJEMDEqDQorWDQ2NjU4NVkyMzYwNzZEMDEqDQorWDQ2NjUxN1kyMzU5NzlEMDEqDQorWDQ2NjQ2NVkyMzU4NzNEMDEqDQorWDQ2NjQzMFkyMzU3NTlEMDEqDQorWDQ2NjQxNFkyMzU2NDJEMDEqDQorWDQ2NjQxNlkyMzU1MjNEMDEqDQorWDQ2NjQzNlkyMzU0MDdEMDEqDQorWDQ2NjQ3N1kyMzUyOTVEMDEqDQorWDQ2NjU4NlkyMzUwMjBEMDEqDQorWDQ2NjY2NlkyMzQ3MzVEMDEqDQorWDQ2NjcyMFkyMzQ0NDNEMDEqDQorWDQ2Njc0N1kyMzQxNDhEMDEqDQorWTIzMzg1MkQwMSoNCitYNDY2NzIwWTIzMzU1N0QwMSoNCitYNDY2NjY2WTIzMzI2NUQwMSoNCitYNDY2NTg2WTIzMjk4MEQwMSoNCitYNDY2NDgwWTIzMjcwM0QwMSoNCitYNDY2NDQwWTIzMjU5M0QwMSoNCitYNDY2NDE5WTIzMjQ3NkQwMSoNCitYNDY2NDE3WTIzMjM1OEQwMSoNCitYNDY2NDMzWTIzMjI0MUQwMSoNCitYNDY2NDY4WTIzMjEyOUQwMSoNCitYNDY2NTIwWTIzMjAyMkQwMSoNCitYNDY2NTg3WTIzMTkyNkQwMSoNCitYNDY2NjY5WTIzMTg0MUQwMSoNCitYNDY2NzYzWTIzMTc3MEQwMSoNCitYNDY2ODY4WTIzMTcxNEQwMSoNCitYNDY2OTc5WTIzMTY3NkQwMSoNCitYNDY3MDk2WTIzMTY1NUQwMSoNCitYNDY3MjE0WTIzMTY1M0QwMSoNCitYNDY3MzMwWTIzMTY3MEQwMSoNCitYNDY3MzMyWTIzMTY3MEQwMSoNCitZMjA2MzM0RDAxKg0KK1g0NjczMzFZMjA2MzM0RDAxKg0KK1g0NjcyMTRZMjA2MzUwRDAxKg0KK1g0NjcwOTVZMjA2MzQ4RDAxKg0KK1g0NjY5NzhZMjA2MzI3RDAxKg0KK1g0NjY4NjZZMjA2Mjg5RDAxKg0KK1g0NjY3NjJZMjA2MjMzRDAxKg0KK1g0NjY2NjdZMjA2MTYyRDAxKg0KK1g0NjY1ODVZMjA2MDc2RDAxKg0KK1g0NjY1MTdZMjA1OTc5RDAxKg0KK1g0NjY0NjVZMjA1ODczRDAxKg0KK1g0NjY0MzBZMjA1NzU5RDAxKg0KK1g0NjY0MTRZMjA1NjQyRDAxKg0KK1g0NjY0MTZZMjA1NTIzRDAxKg0KK1g0NjY0MzZZMjA1NDA3RDAxKg0KK1g0NjY0NzdZMjA1Mjk1RDAxKg0KK1g0NjY1ODZZMjA1MDIwRDAxKg0KK1g0NjY2NjZZMjA0NzM1RDAxKg0KK1g0NjY3MjBZMjA0NDQzRDAxKg0KK1g0NjY3NDdZMjA0MTQ4RDAxKg0KK1kyMDM4NTJEMDEqDQorWDQ2NjcyMFkyMDM1NTdEMDEqDQorWDQ2NjY2NlkyMDMyNjVEMDEqDQorWDQ2NjU4NlkyMDI5ODBEMDEqDQorWDQ2NjQ4MFkyMDI3MDNEMDEqDQorWDQ2NjQ0MFkyMDI1OTNEMDEqDQorWDQ2NjQxOVkyMDI0NzZEMDEqDQorWDQ2NjQxN1kyMDIzNThEMDEqDQorWDQ2NjQzM1kyMDIyNDFEMDEqDQorWDQ2NjQ2OFkyMDIxMjlEMDEqDQorWDQ2NjUyMFkyMDIwMjJEMDEqDQorWDQ2NjU4N1kyMDE5MjZEMDEqDQorWDQ2NjY2OVkyMDE4NDFEMDEqDQorWDQ2Njc2M1kyMDE3NzBEMDEqDQorWDQ2Njg2OFkyMDE3MTREMDEqDQorWDQ2Njk3OVkyMDE2NzZEMDEqDQorWDQ2NzA5NlkyMDE2NTVEMDEqDQorWDQ2NzIxNFkyMDE2NTNEMDEqDQorWDQ2NzMzMFkyMDE2NzBEMDEqDQorWDQ2NzMzMlkyMDE2NzBEMDEqDQorWTE3NjMzNEQwMSoNCitYNDY3MzMxWTE3NjMzNEQwMSoNCitYNDY3MjE0WTE3NjM1MEQwMSoNCitYNDY3MDk1WTE3NjM0OEQwMSoNCitYNDY2OTc4WTE3NjMyN0QwMSoNCitYNDY2ODY2WTE3NjI4OUQwMSoNCitYNDY2NzYyWTE3NjIzM0QwMSoNCitYNDY2NjY3WTE3NjE2MkQwMSoNCitYNDY2NTg1WTE3NjA3NkQwMSoNCitYNDY2NTE3WTE3NTk3OUQwMSoNCitYNDY2NDY1WTE3NTg3M0QwMSoNCitYNDY2NDMwWTE3NTc1OUQwMSoNCitYNDY2NDE0WTE3NTY0MkQwMSoNCitYNDY2NDE2WTE3NTUyM0QwMSoNCitYNDY2NDM2WTE3NTQwN0QwMSoNCitYNDY2NDc3WTE3NTI5NUQwMSoNCitYNDY2NTg2WTE3NTAyMEQwMSoNCitYNDY2NjY2WTE3NDczNUQwMSoNCitYNDY2NzIwWTE3NDQ0M0QwMSoNCitYNDY2NzQ3WTE3NDE0OEQwMSoNCitZMTczODUyRDAxKg0KK1g0NjY3MjBZMTczNTU3RDAxKg0KK1g0NjY2NjZZMTczMjY1RDAxKg0KK1g0NjY1ODZZMTcyOTgwRDAxKg0KK1g0NjY0ODBZMTcyNzAzRDAxKg0KK1g0NjY0NDBZMTcyNTkzRDAxKg0KK1g0NjY0MTlZMTcyNDc2RDAxKg0KK1g0NjY0MTdZMTcyMzU4RDAxKg0KK1g0NjY0MzNZMTcyMjQxRDAxKg0KK1g0NjY0NjhZMTcyMTI5RDAxKg0KK1g0NjY1MjBZMTcyMDIyRDAxKg0KK1g0NjY1ODdZMTcxOTI2RDAxKg0KK1g0NjY2NjlZMTcxODQxRDAxKg0KK1g0NjY3NjNZMTcxNzcwRDAxKg0KK1g0NjY4NjhZMTcxNzE0RDAxKg0KK1g0NjY5NzlZMTcxNjc2RDAxKg0KK1g0NjcwOTZZMTcxNjU1RDAxKg0KK1g0NjcyMTRZMTcxNjUzRDAxKg0KK1g0NjczMzBZMTcxNjcwRDAxKg0KK1g0NjczMzJZMTcxNjcwRDAxKg0KK1kxNDYzMzREMDEqDQorWDQ2NzMzMVkxNDYzMzREMDEqDQorWDQ2NzIxNFkxNDYzNTBEMDEqDQorWDQ2NzA5NVkxNDYzNDhEMDEqDQorWDQ2Njk3OFkxNDYzMjdEMDEqDQorWDQ2Njg2NlkxNDYyODlEMDEqDQorWDQ2Njc2MlkxNDYyMzNEMDEqDQorWDQ2NjY2N1kxNDYxNjJEMDEqDQorWDQ2NjU4NVkxNDYwNzZEMDEqDQorWDQ2NjUxN1kxNDU5NzlEMDEqDQorWDQ2NjQ2NVkxNDU4NzNEMDEqDQorWDQ2NjQzMFkxNDU3NTlEMDEqDQorWDQ2NjQxNFkxNDU2NDJEMDEqDQorWDQ2NjQxNlkxNDU1MjNEMDEqDQorWDQ2NjQzNlkxNDU0MDdEMDEqDQorWDQ2NjQ3N1kxNDUyOTVEMDEqDQorWDQ2NjU4NlkxNDUwMjBEMDEqDQorWDQ2NjY2NlkxNDQ3MzVEMDEqDQorWDQ2NjcyMFkxNDQ0NDNEMDEqDQorWDQ2Njc0N1kxNDQxNDhEMDEqDQorWTE0Mzg1MkQwMSoNCitYNDY2NzIwWTE0MzU1N0QwMSoNCitYNDY2NjY2WTE0MzI2NUQwMSoNCitYNDY2NTg2WTE0Mjk4MEQwMSoNCitYNDY2NDgwWTE0MjcwM0QwMSoNCitYNDY2NDQwWTE0MjU5M0QwMSoNCitYNDY2NDE5WTE0MjQ3NkQwMSoNCitYNDY2NDE3WTE0MjM1OEQwMSoNCitYNDY2NDMzWTE0MjI0MUQwMSoNCitYNDY2NDY4WTE0MjEyOUQwMSoNCitYNDY2NTIwWTE0MjAyMkQwMSoNCitYNDY2NTg3WTE0MTkyNkQwMSoNCitYNDY2NjY5WTE0MTg0MUQwMSoNCitYNDY2NzYzWTE0MTc3MEQwMSoNCitYNDY2ODY4WTE0MTcxNEQwMSoNCitYNDY2OTc5WTE0MTY3NkQwMSoNCitYNDY3MDk2WTE0MTY1NUQwMSoNCitYNDY3MjE0WTE0MTY1M0QwMSoNCitYNDY3MzMwWTE0MTY3MEQwMSoNCitYNDY3MzMyWTE0MTY3MEQwMSoNCitZMTE2MzM0RDAxKg0KK1g0NjczMzFZMTE2MzM0RDAxKg0KK1g0NjcyMTRZMTE2MzUwRDAxKg0KK1g0NjcwOTVZMTE2MzQ4RDAxKg0KK1g0NjY5NzhZMTE2MzI3RDAxKg0KK1g0NjY4NjZZMTE2Mjg5RDAxKg0KK1g0NjY3NjJZMTE2MjMzRDAxKg0KK1g0NjY2NjdZMTE2MTYyRDAxKg0KK1g0NjY1ODVZMTE2MDc2RDAxKg0KK1g0NjY1MTdZMTE1OTc5RDAxKg0KK1g0NjY0NjVZMTE1ODczRDAxKg0KK1g0NjY0MzBZMTE1NzU5RDAxKg0KK1g0NjY0MTRZMTE1NjQyRDAxKg0KK1g0NjY0MTZZMTE1NTIzRDAxKg0KK1g0NjY0MzZZMTE1NDA3RDAxKg0KK1g0NjY0NzdZMTE1Mjk1RDAxKg0KK1g0NjY1ODZZMTE1MDIwRDAxKg0KK1g0NjY2NjZZMTE0NzM1RDAxKg0KK1g0NjY3MjBZMTE0NDQzRDAxKg0KK1g0NjY3NDdZMTE0MTQ4RDAxKg0KK1kxMTM4NTJEMDEqDQorWDQ2NjcyMFkxMTM1NTdEMDEqDQorWDQ2NjY2NlkxMTMyNjVEMDEqDQorWDQ2NjU4NlkxMTI5ODBEMDEqDQorWDQ2NjQ4MFkxMTI3MDNEMDEqDQorWDQ2NjQ0MFkxMTI1OTNEMDEqDQorWDQ2NjQxOVkxMTI0NzZEMDEqDQorWDQ2NjQxN1kxMTIzNThEMDEqDQorWDQ2NjQzM1kxMTIyNDFEMDEqDQorWDQ2NjQ2OFkxMTIxMjlEMDEqDQorWDQ2NjUyMFkxMTIwMjJEMDEqDQorWDQ2NjU4N1kxMTE5MjZEMDEqDQorWDQ2NjY2OVkxMTE4NDFEMDEqDQorWDQ2Njc2M1kxMTE3NzBEMDEqDQorWDQ2Njg2OFkxMTE3MTREMDEqDQorWDQ2Njk3OVkxMTE2NzZEMDEqDQorWDQ2NzA5NlkxMTE2NTVEMDEqDQorWDQ2NzIxNFkxMTE2NTNEMDEqDQorWDQ2NzMzMFkxMTE2NzBEMDEqDQorWDQ2NzMzMlkxMTE2NzBEMDEqDQorWTg2MzM0RDAxKg0KK1g0NjczMzFZODYzMzREMDEqDQorWDQ2NzIxNFk4NjM1MEQwMSoNCitYNDY3MDk1WTg2MzQ4RDAxKg0KK1g0NjY5NzhZODYzMjdEMDEqDQorWDQ2Njg2Nlk4NjI4OUQwMSoNCitYNDY2NzYyWTg2MjMzRDAxKg0KK1g0NjY2NjdZODYxNjJEMDEqDQorWDQ2NjU4NVk4NjA3NkQwMSoNCitYNDY2NTE3WTg1OTc5RDAxKg0KK1g0NjY0NjVZODU4NzNEMDEqDQorWDQ2NjQzMFk4NTc1OUQwMSoNCitYNDY2NDE0WTg1NjQyRDAxKg0KK1g0NjY0MTZZODU1MjNEMDEqDQorWDQ2NjQzNlk4NTQwN0QwMSoNCitYNDY2NDc3WTg1Mjk1RDAxKg0KK1g0NjY1ODZZODUwMjBEMDEqDQorWDQ2NjY2Nlk4NDczNUQwMSoNCitYNDY2NzIwWTg0NDQzRDAxKg0KK1g0NjY3NDdZODQxNDhEMDEqDQorWTgzODUyRDAxKg0KK1g0NjY3MjBZODM1NTdEMDEqDQorWDQ2NjY2Nlk4MzI2NUQwMSoNCitYNDY2NTg2WTgyOTgwRDAxKg0KK1g0NjY0ODBZODI3MDNEMDEqDQorWDQ2NjQ0MFk4MjU5M0QwMSoNCitYNDY2NDE5WTgyNDc2RDAxKg0KK1g0NjY0MTdZODIzNThEMDEqDQorWDQ2NjQzM1k4MjI0MUQwMSoNCitYNDY2NDY4WTgyMTI5RDAxKg0KK1g0NjY1MjBZODIwMjJEMDEqDQorWDQ2NjU4N1k4MTkyNkQwMSoNCitYNDY2NjY5WTgxODQxRDAxKg0KK1g0NjY3NjNZODE3NzBEMDEqDQorWDQ2Njg2OFk4MTcxNEQwMSoNCitYNDY2OTc5WTgxNjc2RDAxKg0KK1g0NjcwOTZZODE2NTVEMDEqDQorWDQ2NzIxNFk4MTY1M0QwMSoNCitYNDY3MzMwWTgxNjcwRDAxKg0KK1g0NjczMzJZODE2NzBEMDEqDQorWTU2MzM0RDAxKg0KK1g0NjczMzFZNTYzMzREMDEqDQorWDQ2NzIxNFk1NjM1MEQwMSoNCitYNDY3MDk1WTU2MzQ4RDAxKg0KK1g0NjY5NzhZNTYzMjdEMDEqDQorWDQ2Njg2Nlk1NjI4OUQwMSoNCitYNDY2NzYyWTU2MjMzRDAxKg0KK1g0NjY2NjdZNTYxNjJEMDEqDQorWDQ2NjU4NVk1NjA3NkQwMSoNCitYNDY2NTE3WTU1OTc5RDAxKg0KK1g0NjY0NjVZNTU4NzNEMDEqDQorWDQ2NjQzMFk1NTc1OUQwMSoNCitYNDY2NDE0WTU1NjQyRDAxKg0KK1g0NjY0MTZZNTU1MjNEMDEqDQorWDQ2NjQzNlk1NTQwN0QwMSoNCitYNDY2NDc3WTU1Mjk1RDAxKg0KK1g0NjY1ODZZNTUwMjBEMDEqDQorWDQ2NjY2Nlk1NDczNUQwMSoNCitYNDY2NzIwWTU0NDQzRDAxKg0KK1g0NjY3NDdZNTQxNDhEMDEqDQorWTUzODUyRDAxKg0KK1g0NjY3MjBZNTM1NTdEMDEqDQorWDQ2NjY2Nlk1MzI2NUQwMSoNCitYNDY2NTg2WTUyOTgwRDAxKg0KK1g0NjY0ODBZNTI3MDNEMDEqDQorWDQ2NjQ0MFk1MjU5M0QwMSoNCitYNDY2NDE5WTUyNDc2RDAxKg0KK1g0NjY0MTdZNTIzNThEMDEqDQorWDQ2NjQzM1k1MjI0MUQwMSoNCitYNDY2NDY4WTUyMTI5RDAxKg0KK1g0NjY1MjBZNTIwMjJEMDEqDQorWDQ2NjU4N1k1MTkyNkQwMSoNCitYNDY2NjY5WTUxODQxRDAxKg0KK1g0NjY3NjNZNTE3NzBEMDEqDQorWDQ2Njg2OFk1MTcxNEQwMSoNCitYNDY2OTc5WTUxNjc2RDAxKg0KK1g0NjcwOTZZNTE2NTVEMDEqDQorWDQ2NzIxNFk1MTY1M0QwMSoNCitYNDY3MzMwWTUxNjcwRDAxKg0KK1g0NjczMzJZNTE2NzBEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ2MzUwMkQwMipYNDU5NjY4RDAxKg0KK1k1MTY2NkQwMSoNCitYNDU5NjY5WTUxNjY2RDAxKg0KK1g0NTk3ODZZNTE2NTBEMDEqDQorWDQ1OTkwNVk1MTY1MkQwMSoNCitYNDYwMDIyWTUxNjczRDAxKg0KK1g0NjAxMzRZNTE3MTFEMDEqDQorWDQ2MDIzOFk1MTc2N0QwMSoNCitYNDYwMzMzWTUxODM4RDAxKg0KK1g0NjA0MTVZNTE5MjREMDEqDQorWDQ2MDQ4M1k1MjAyMUQwMSoNCitYNDYwNTM1WTUyMTI3RDAxKg0KK1g0NjA1NzBZNTIyNDFEMDEqDQorWDQ2MDU4Nlk1MjM1OEQwMSoNCitYNDYwNTg0WTUyNDc3RDAxKg0KK1g0NjA1NjRZNTI1OTNEMDEqDQorWDQ2MDUyM1k1MjcwNUQwMSoNCitYNDYwNDE0WTUyOTgwRDAxKg0KK1g0NjAzMzRZNTMyNjVEMDEqDQorWDQ2MDI4MFk1MzU1N0QwMSoNCitYNDYwMjUzWTUzODUyRDAxKg0KK1k1NDE0OEQwMSoNCitYNDYwMjgwWTU0NDQzRDAxKg0KK1g0NjAzMzRZNTQ3MzVEMDEqDQorWDQ2MDQxNFk1NTAyMEQwMSoNCitYNDYwNTIwWTU1Mjk3RDAxKg0KK1g0NjA1NjBZNTU0MDdEMDEqDQorWDQ2MDU4MVk1NTUyNEQwMSoNCitYNDYwNTgzWTU1NjQyRDAxKg0KK1g0NjA1NjdZNTU3NTlEMDEqDQorWDQ2MDUzMlk1NTg3MUQwMSoNCitYNDYwNDgwWTU1OTc4RDAxKg0KK1g0NjA0MTNZNTYwNzREMDEqDQorWDQ2MDMzMVk1NjE1OUQwMSoNCitYNDYwMjM3WTU2MjMwRDAxKg0KK1g0NjAxMzJZNTYyODZEMDEqDQorWDQ2MDAyMVk1NjMyNEQwMSoNCitYNDU5OTA0WTU2MzQ1RDAxKg0KK1g0NTk3ODZZNTYzNDdEMDEqDQorWDQ1OTY3MFk1NjMzMEQwMSoNCitYNDU5NjY4WTU2MzMwRDAxKg0KK1k4MTY2NkQwMSoNCitYNDU5NjY5WTgxNjY2RDAxKg0KK1g0NTk3ODZZODE2NTBEMDEqDQorWDQ1OTkwNVk4MTY1MkQwMSoNCitYNDYwMDIyWTgxNjczRDAxKg0KK1g0NjAxMzRZODE3MTFEMDEqDQorWDQ2MDIzOFk4MTc2N0QwMSoNCitYNDYwMzMzWTgxODM4RDAxKg0KK1g0NjA0MTVZODE5MjREMDEqDQorWDQ2MDQ4M1k4MjAyMUQwMSoNCitYNDYwNTM1WTgyMTI3RDAxKg0KK1g0NjA1NzBZODIyNDFEMDEqDQorWDQ2MDU4Nlk4MjM1OEQwMSoNCitYNDYwNTg0WTgyNDc3RDAxKg0KK1g0NjA1NjRZODI1OTREMDEqDQorWDQ2MDUyM1k4MjcwNUQwMSoNCitYNDYwNDE0WTgyOTgwRDAxKg0KK1g0NjAzMzRZODMyNjVEMDEqDQorWDQ2MDI4MFk4MzU1N0QwMSoNCitYNDYwMjUzWTgzODUyRDAxKg0KK1k4NDE0OEQwMSoNCitYNDYwMjgwWTg0NDQzRDAxKg0KK1g0NjAzMzRZODQ3MzVEMDEqDQorWDQ2MDQxNFk4NTAyMEQwMSoNCitYNDYwNTIwWTg1Mjk3RDAxKg0KK1g0NjA1NjBZODU0MDdEMDEqDQorWDQ2MDU4MVk4NTUyNEQwMSoNCitYNDYwNTgzWTg1NjQyRDAxKg0KK1g0NjA1NjdZODU3NTlEMDEqDQorWDQ2MDUzMlk4NTg3MUQwMSoNCitYNDYwNDgwWTg1OTc4RDAxKg0KK1g0NjA0MTNZODYwNzREMDEqDQorWDQ2MDMzMVk4NjE1OUQwMSoNCitYNDYwMjM3WTg2MjMwRDAxKg0KK1g0NjAxMzJZODYyODZEMDEqDQorWDQ2MDAyMVk4NjMyNEQwMSoNCitYNDU5OTA0WTg2MzQ1RDAxKg0KK1g0NTk3ODZZODYzNDdEMDEqDQorWDQ1OTY3MFk4NjMzMEQwMSoNCitYNDU5NjY4WTg2MzMwRDAxKg0KK1kxMTE2NjZEMDEqDQorWDQ1OTY2OVkxMTE2NjZEMDEqDQorWDQ1OTc4NlkxMTE2NTBEMDEqDQorWDQ1OTkwNVkxMTE2NTJEMDEqDQorWDQ2MDAyMlkxMTE2NzNEMDEqDQorWDQ2MDEzNFkxMTE3MTFEMDEqDQorWDQ2MDIzOFkxMTE3NjdEMDEqDQorWDQ2MDMzM1kxMTE4MzhEMDEqDQorWDQ2MDQxNVkxMTE5MjREMDEqDQorWDQ2MDQ4M1kxMTIwMjFEMDEqDQorWDQ2MDUzNVkxMTIxMjdEMDEqDQorWDQ2MDU3MFkxMTIyNDFEMDEqDQorWDQ2MDU4NlkxMTIzNThEMDEqDQorWDQ2MDU4NFkxMTI0NzdEMDEqDQorWDQ2MDU2NFkxMTI1OTREMDEqDQorWDQ2MDUyM1kxMTI3MDVEMDEqDQorWDQ2MDQxNFkxMTI5ODBEMDEqDQorWDQ2MDMzNFkxMTMyNjVEMDEqDQorWDQ2MDI4MFkxMTM1NTdEMDEqDQorWDQ2MDI1M1kxMTM4NTJEMDEqDQorWTExNDE0OEQwMSoNCitYNDYwMjgwWTExNDQ0M0QwMSoNCitYNDYwMzM0WTExNDczNUQwMSoNCitYNDYwNDE0WTExNTAyMEQwMSoNCitYNDYwNTIwWTExNTI5N0QwMSoNCitYNDYwNTYwWTExNTQwN0QwMSoNCitYNDYwNTgxWTExNTUyNEQwMSoNCitYNDYwNTgzWTExNTY0MkQwMSoNCitYNDYwNTY3WTExNTc1OUQwMSoNCitYNDYwNTMyWTExNTg3MUQwMSoNCitYNDYwNDgwWTExNTk3OEQwMSoNCitYNDYwNDEzWTExNjA3NEQwMSoNCitYNDYwMzMxWTExNjE1OUQwMSoNCitYNDYwMjM3WTExNjIzMEQwMSoNCitYNDYwMTMyWTExNjI4NkQwMSoNCitYNDYwMDIxWTExNjMyNEQwMSoNCitYNDU5OTA0WTExNjM0NUQwMSoNCitYNDU5Nzg2WTExNjM0N0QwMSoNCitYNDU5NjcwWTExNjMzMEQwMSoNCitYNDU5NjY4WTExNjMzMEQwMSoNCitZMTQxNjY2RDAxKg0KK1g0NTk2NjlZMTQxNjY2RDAxKg0KK1g0NTk3ODZZMTQxNjUwRDAxKg0KK1g0NTk5MDVZMTQxNjUyRDAxKg0KK1g0NjAwMjJZMTQxNjczRDAxKg0KK1g0NjAxMzRZMTQxNzExRDAxKg0KK1g0NjAyMzhZMTQxNzY3RDAxKg0KK1g0NjAzMzNZMTQxODM4RDAxKg0KK1g0NjA0MTVZMTQxOTI0RDAxKg0KK1g0NjA0ODNZMTQyMDIxRDAxKg0KK1g0NjA1MzVZMTQyMTI3RDAxKg0KK1g0NjA1NzBZMTQyMjQxRDAxKg0KK1g0NjA1ODZZMTQyMzU4RDAxKg0KK1g0NjA1ODRZMTQyNDc3RDAxKg0KK1g0NjA1NjRZMTQyNTk0RDAxKg0KK1g0NjA1MjNZMTQyNzA1RDAxKg0KK1g0NjA0MTRZMTQyOTgwRDAxKg0KK1g0NjAzMzRZMTQzMjY1RDAxKg0KK1g0NjAyODBZMTQzNTU3RDAxKg0KK1g0NjAyNTNZMTQzODUyRDAxKg0KK1kxNDQxNDhEMDEqDQorWDQ2MDI4MFkxNDQ0NDNEMDEqDQorWDQ2MDMzNFkxNDQ3MzVEMDEqDQorWDQ2MDQxNFkxNDUwMjBEMDEqDQorWDQ2MDUyMFkxNDUyOTdEMDEqDQorWDQ2MDU2MFkxNDU0MDdEMDEqDQorWDQ2MDU4MVkxNDU1MjREMDEqDQorWDQ2MDU4M1kxNDU2NDJEMDEqDQorWDQ2MDU2N1kxNDU3NTlEMDEqDQorWDQ2MDUzMlkxNDU4NzFEMDEqDQorWDQ2MDQ4MFkxNDU5NzhEMDEqDQorWDQ2MDQxM1kxNDYwNzREMDEqDQorWDQ2MDMzMVkxNDYxNTlEMDEqDQorWDQ2MDIzN1kxNDYyMzBEMDEqDQorWDQ2MDEzMlkxNDYyODZEMDEqDQorWDQ2MDAyMVkxNDYzMjREMDEqDQorWDQ1OTkwNFkxNDYzNDVEMDEqDQorWDQ1OTc4NlkxNDYzNDdEMDEqDQorWDQ1OTY3MFkxNDYzMzBEMDEqDQorWDQ1OTY2OFkxNDYzMzBEMDEqDQorWTE2MTQ3OEQwMSoNCitYNDU5NzE2WTE2MTQ5N0QwMSoNCitYNDYwMDkyWTE2MTcyOEQwMSoNCitYNDYwNDI3WTE2MjAxNEQwMSoNCitYNDYwNzEzWTE2MjM0OUQwMSoNCitYNDYwOTQ0WTE2MjcyNUQwMSoNCitYNDYxMTEyWTE2MzEzMkQwMSoNCitYNDYxMjE1WTE2MzU2MUQwMSoNCitYNDYxMjQxWTE2NDAwMEQwMSoNCitYNDYxMjE1WTE2NDQzOUQwMSoNCitYNDYxMTEyWTE2NDg2OEQwMSoNCitYNDYwOTQ0WTE2NTI3NUQwMSoNCitYNDYwNzEzWTE2NTY1MUQwMSoNCitYNDYwNDI3WTE2NTk4NkQwMSoNCitYNDYwMDkyWTE2NjI3MkQwMSoNCitYNDU5NzE2WTE2NjUwM0QwMSoNCitYNDU5NjY4WTE2NjUyMkQwMSoNCitZMTcxNjY2RDAxKg0KK1g0NTk2NjlZMTcxNjY2RDAxKg0KK1g0NTk3ODZZMTcxNjUwRDAxKg0KK1g0NTk5MDVZMTcxNjUyRDAxKg0KK1g0NjAwMjJZMTcxNjczRDAxKg0KK1g0NjAxMzRZMTcxNzExRDAxKg0KK1g0NjAyMzhZMTcxNzY3RDAxKg0KK1g0NjAzMzNZMTcxODM4RDAxKg0KK1g0NjA0MTVZMTcxOTI0RDAxKg0KK1g0NjA0ODNZMTcyMDIxRDAxKg0KK1g0NjA1MzVZMTcyMTI3RDAxKg0KK1g0NjA1NzBZMTcyMjQxRDAxKg0KK1g0NjA1ODZZMTcyMzU4RDAxKg0KK1g0NjA1ODRZMTcyNDc3RDAxKg0KK1g0NjA1NjRZMTcyNTk0RDAxKg0KK1g0NjA1MjNZMTcyNzA1RDAxKg0KK1g0NjA0MTRZMTcyOTgwRDAxKg0KK1g0NjAzMzRZMTczMjY1RDAxKg0KK1g0NjAyODBZMTczNTU3RDAxKg0KK1g0NjAyNTNZMTczODUyRDAxKg0KK1kxNzQxNDhEMDEqDQorWDQ2MDI4MFkxNzQ0NDNEMDEqDQorWDQ2MDMzNFkxNzQ3MzVEMDEqDQorWDQ2MDQxNFkxNzUwMjBEMDEqDQorWDQ2MDUyMFkxNzUyOTdEMDEqDQorWDQ2MDU2MFkxNzU0MDdEMDEqDQorWDQ2MDU4MVkxNzU1MjREMDEqDQorWDQ2MDU4M1kxNzU2NDJEMDEqDQorWDQ2MDU2N1kxNzU3NTlEMDEqDQorWDQ2MDUzMlkxNzU4NzFEMDEqDQorWDQ2MDQ4MFkxNzU5NzhEMDEqDQorWDQ2MDQxM1kxNzYwNzREMDEqDQorWDQ2MDMzMVkxNzYxNTlEMDEqDQorWDQ2MDIzN1kxNzYyMzBEMDEqDQorWDQ2MDEzMlkxNzYyODZEMDEqDQorWDQ2MDAyMVkxNzYzMjREMDEqDQorWDQ1OTkwNFkxNzYzNDVEMDEqDQorWDQ1OTc4NlkxNzYzNDdEMDEqDQorWDQ1OTY3MFkxNzYzMzBEMDEqDQorWDQ1OTY2OFkxNzYzMzBEMDEqDQorWTE5MjQ3OEQwMSoNCitYNDU5NzE2WTE5MjQ5N0QwMSoNCitYNDYwMDkyWTE5MjcyOEQwMSoNCitYNDYwNDI3WTE5MzAxNEQwMSoNCitYNDYwNzEzWTE5MzM0OUQwMSoNCitYNDYwOTQ0WTE5MzcyNUQwMSoNCitYNDYxMTEyWTE5NDEzMkQwMSoNCitYNDYxMjE1WTE5NDU2MUQwMSoNCitYNDYxMjQxWTE5NTAwMEQwMSoNCitYNDYxMjE1WTE5NTQzOUQwMSoNCitYNDYxMTEyWTE5NTg2OEQwMSoNCitYNDYwOTQ0WTE5NjI3NUQwMSoNCitYNDYwNzEzWTE5NjY1MUQwMSoNCitYNDYwNDI3WTE5Njk4NkQwMSoNCitYNDYwMDkyWTE5NzI3MkQwMSoNCitYNDU5NzE2WTE5NzUwM0QwMSoNCitYNDU5NjY4WTE5NzUyMkQwMSoNCitZMjAxNjY2RDAxKg0KK1g0NTk2NjlZMjAxNjY2RDAxKg0KK1g0NTk3ODZZMjAxNjUwRDAxKg0KK1g0NTk5MDVZMjAxNjUyRDAxKg0KK1g0NjAwMjJZMjAxNjczRDAxKg0KK1g0NjAxMzRZMjAxNzExRDAxKg0KK1g0NjAyMzhZMjAxNzY3RDAxKg0KK1g0NjAzMzNZMjAxODM4RDAxKg0KK1g0NjA0MTVZMjAxOTI0RDAxKg0KK1g0NjA0ODNZMjAyMDIxRDAxKg0KK1g0NjA1MzVZMjAyMTI3RDAxKg0KK1g0NjA1NzBZMjAyMjQxRDAxKg0KK1g0NjA1ODZZMjAyMzU4RDAxKg0KK1g0NjA1ODRZMjAyNDc3RDAxKg0KK1g0NjA1NjRZMjAyNTk0RDAxKg0KK1g0NjA1MjNZMjAyNzA1RDAxKg0KK1g0NjA0MTRZMjAyOTgwRDAxKg0KK1g0NjAzMzRZMjAzMjY1RDAxKg0KK1g0NjAyODBZMjAzNTU3RDAxKg0KK1g0NjAyNTNZMjAzODUyRDAxKg0KK1kyMDQxNDhEMDEqDQorWDQ2MDI4MFkyMDQ0NDNEMDEqDQorWDQ2MDMzNFkyMDQ3MzVEMDEqDQorWDQ2MDQxNFkyMDUwMjBEMDEqDQorWDQ2MDUyMFkyMDUyOTdEMDEqDQorWDQ2MDU2MFkyMDU0MDdEMDEqDQorWDQ2MDU4MVkyMDU1MjREMDEqDQorWDQ2MDU4M1kyMDU2NDJEMDEqDQorWDQ2MDU2N1kyMDU3NTlEMDEqDQorWDQ2MDUzMlkyMDU4NzFEMDEqDQorWDQ2MDQ4MFkyMDU5NzhEMDEqDQorWDQ2MDQxM1kyMDYwNzREMDEqDQorWDQ2MDMzMVkyMDYxNTlEMDEqDQorWDQ2MDIzN1kyMDYyMzBEMDEqDQorWDQ2MDEzMlkyMDYyODZEMDEqDQorWDQ2MDAyMVkyMDYzMjREMDEqDQorWDQ1OTkwNFkyMDYzNDVEMDEqDQorWDQ1OTc4NlkyMDYzNDdEMDEqDQorWDQ1OTY3MFkyMDYzMzBEMDEqDQorWDQ1OTY2OFkyMDYzMzBEMDEqDQorWTIyMjQ3OEQwMSoNCitYNDU5NzE2WTIyMjQ5N0QwMSoNCitYNDYwMDkyWTIyMjcyOEQwMSoNCitYNDYwNDI3WTIyMzAxNEQwMSoNCitYNDYwNzEzWTIyMzM0OUQwMSoNCitYNDYwOTQ0WTIyMzcyNUQwMSoNCitYNDYxMTEyWTIyNDEzMkQwMSoNCitYNDYxMjE1WTIyNDU2MUQwMSoNCitYNDYxMjQxWTIyNTAwMEQwMSoNCitYNDYxMjE1WTIyNTQzOUQwMSoNCitYNDYxMTEyWTIyNTg2OEQwMSoNCitYNDYwOTQ0WTIyNjI3NUQwMSoNCitYNDYwNzEzWTIyNjY1MUQwMSoNCitYNDYwNDI3WTIyNjk4NkQwMSoNCitYNDYwMDkyWTIyNzI3MkQwMSoNCitYNDU5NzE2WTIyNzUwM0QwMSoNCitYNDU5NjY4WTIyNzUyMkQwMSoNCitZMjMxNjY2RDAxKg0KK1g0NTk2NjlZMjMxNjY2RDAxKg0KK1g0NTk3ODZZMjMxNjUwRDAxKg0KK1g0NTk5MDVZMjMxNjUyRDAxKg0KK1g0NjAwMjJZMjMxNjczRDAxKg0KK1g0NjAxMzRZMjMxNzExRDAxKg0KK1g0NjAyMzhZMjMxNzY3RDAxKg0KK1g0NjAzMzNZMjMxODM4RDAxKg0KK1g0NjA0MTVZMjMxOTI0RDAxKg0KK1g0NjA0ODNZMjMyMDIxRDAxKg0KK1g0NjA1MzVZMjMyMTI3RDAxKg0KK1g0NjA1NzBZMjMyMjQxRDAxKg0KK1g0NjA1ODZZMjMyMzU4RDAxKg0KK1g0NjA1ODRZMjMyNDc3RDAxKg0KK1g0NjA1NjRZMjMyNTk0RDAxKg0KK1g0NjA1MjNZMjMyNzA1RDAxKg0KK1g0NjA0MTRZMjMyOTgwRDAxKg0KK1g0NjAzMzRZMjMzMjY1RDAxKg0KK1g0NjAyODBZMjMzNTU3RDAxKg0KK1g0NjAyNTNZMjMzODUyRDAxKg0KK1kyMzQxNDhEMDEqDQorWDQ2MDI4MFkyMzQ0NDNEMDEqDQorWDQ2MDMzNFkyMzQ3MzVEMDEqDQorWDQ2MDQxNFkyMzUwMjBEMDEqDQorWDQ2MDUyMFkyMzUyOTdEMDEqDQorWDQ2MDU2MFkyMzU0MDdEMDEqDQorWDQ2MDU4MVkyMzU1MjREMDEqDQorWDQ2MDU4M1kyMzU2NDJEMDEqDQorWDQ2MDU2N1kyMzU3NTlEMDEqDQorWDQ2MDUzMlkyMzU4NzFEMDEqDQorWDQ2MDQ4MFkyMzU5NzhEMDEqDQorWDQ2MDQxM1kyMzYwNzREMDEqDQorWDQ2MDMzMVkyMzYxNTlEMDEqDQorWDQ2MDIzN1kyMzYyMzBEMDEqDQorWDQ2MDEzMlkyMzYyODZEMDEqDQorWDQ2MDAyMVkyMzYzMjREMDEqDQorWDQ1OTkwNFkyMzYzNDVEMDEqDQorWDQ1OTc4NlkyMzYzNDdEMDEqDQorWDQ1OTY3MFkyMzYzMzBEMDEqDQorWDQ1OTY2OFkyMzYzMzBEMDEqDQorWTI1MTQ3OEQwMSoNCitYNDU5NzE2WTI1MTQ5N0QwMSoNCitYNDYwMDkyWTI1MTcyOEQwMSoNCitYNDYwNDI3WTI1MjAxNEQwMSoNCitYNDYwNzEzWTI1MjM0OUQwMSoNCitYNDYwOTQ0WTI1MjcyNUQwMSoNCitYNDYxMTEyWTI1MzEzMkQwMSoNCitYNDYxMjE1WTI1MzU2MUQwMSoNCitYNDYxMjQxWTI1NDAwMEQwMSoNCitYNDYxMjE1WTI1NDQzOUQwMSoNCitYNDYxMTEyWTI1NDg2OEQwMSoNCitYNDYwOTQ0WTI1NTI3NUQwMSoNCitYNDYwNzEzWTI1NTY1MUQwMSoNCitYNDYwNDI3WTI1NTk4NkQwMSoNCitYNDYwMDkyWTI1NjI3MkQwMSoNCitYNDU5NzE2WTI1NjUwM0QwMSoNCitYNDU5NjY4WTI1NjUyMkQwMSoNCitZMjYxNjY2RDAxKg0KK1g0NTk2NjlZMjYxNjY2RDAxKg0KK1g0NTk3ODZZMjYxNjUwRDAxKg0KK1g0NTk5MDVZMjYxNjUyRDAxKg0KK1g0NjAwMjJZMjYxNjczRDAxKg0KK1g0NjAxMzRZMjYxNzExRDAxKg0KK1g0NjAyMzhZMjYxNzY3RDAxKg0KK1g0NjAzMzNZMjYxODM4RDAxKg0KK1g0NjA0MTVZMjYxOTI0RDAxKg0KK1g0NjA0ODNZMjYyMDIxRDAxKg0KK1g0NjA1MzVZMjYyMTI3RDAxKg0KK1g0NjA1NzBZMjYyMjQxRDAxKg0KK1g0NjA1ODZZMjYyMzU4RDAxKg0KK1g0NjA1ODRZMjYyNDc3RDAxKg0KK1g0NjA1NjRZMjYyNTk0RDAxKg0KK1g0NjA1MjNZMjYyNzA1RDAxKg0KK1g0NjA0MTRZMjYyOTgwRDAxKg0KK1g0NjAzMzRZMjYzMjY1RDAxKg0KK1g0NjAyODBZMjYzNTU3RDAxKg0KK1g0NjAyNTNZMjYzODUyRDAxKg0KK1kyNjQxNDhEMDEqDQorWDQ2MDI4MFkyNjQ0NDNEMDEqDQorWDQ2MDMzNFkyNjQ3MzVEMDEqDQorWDQ2MDQxNFkyNjUwMjBEMDEqDQorWDQ2MDUyMFkyNjUyOTdEMDEqDQorWDQ2MDU2MFkyNjU0MDdEMDEqDQorWDQ2MDU4MVkyNjU1MjREMDEqDQorWDQ2MDU4M1kyNjU2NDJEMDEqDQorWDQ2MDU2N1kyNjU3NTlEMDEqDQorWDQ2MDUzMlkyNjU4NzFEMDEqDQorWDQ2MDQ4MFkyNjU5NzhEMDEqDQorWDQ2MDQxM1kyNjYwNzREMDEqDQorWDQ2MDMzMVkyNjYxNTlEMDEqDQorWDQ2MDIzN1kyNjYyMzBEMDEqDQorWDQ2MDEzMlkyNjYyODZEMDEqDQorWDQ2MDAyMVkyNjYzMjREMDEqDQorWDQ1OTkwNFkyNjYzNDVEMDEqDQorWDQ1OTc4NlkyNjYzNDdEMDEqDQorWDQ1OTY3MFkyNjYzMzBEMDEqDQorWDQ1OTY2OFkyNjYzMzBEMDEqDQorWTI4MjQ3OEQwMSoNCitYNDU5NzE2WTI4MjQ5N0QwMSoNCitYNDYwMDkyWTI4MjcyOEQwMSoNCitYNDYwNDI3WTI4MzAxNEQwMSoNCitYNDYwNzEzWTI4MzM0OUQwMSoNCitYNDYwOTQ0WTI4MzcyNUQwMSoNCitYNDYxMTEyWTI4NDEzMkQwMSoNCitYNDYxMjE1WTI4NDU2MUQwMSoNCitYNDYxMjQxWTI4NTAwMEQwMSoNCitYNDYxMjE1WTI4NTQzOUQwMSoNCitYNDYxMTEyWTI4NTg2OEQwMSoNCitYNDYwOTQ0WTI4NjI3NUQwMSoNCitYNDYwNzEzWTI4NjY1MUQwMSoNCitYNDYwNDI3WTI4Njk4NkQwMSoNCitYNDYwMDkyWTI4NzI3MkQwMSoNCitYNDU5NzE2WTI4NzUwM0QwMSoNCitYNDU5NjY4WTI4NzUyMkQwMSoNCitZMjkxNjY2RDAxKg0KK1g0NTk2NjlZMjkxNjY2RDAxKg0KK1g0NTk3ODZZMjkxNjUwRDAxKg0KK1g0NTk5MDVZMjkxNjUyRDAxKg0KK1g0NjAwMjJZMjkxNjczRDAxKg0KK1g0NjAxMzRZMjkxNzExRDAxKg0KK1g0NjAyMzhZMjkxNzY3RDAxKg0KK1g0NjAzMzNZMjkxODM4RDAxKg0KK1g0NjA0MTVZMjkxOTI0RDAxKg0KK1g0NjA0ODNZMjkyMDIxRDAxKg0KK1g0NjA1MzVZMjkyMTI3RDAxKg0KK1g0NjA1NzBZMjkyMjQxRDAxKg0KK1g0NjA1ODZZMjkyMzU4RDAxKg0KK1g0NjA1ODRZMjkyNDc3RDAxKg0KK1g0NjA1NjRZMjkyNTk0RDAxKg0KK1g0NjA1MjNZMjkyNzA1RDAxKg0KK1g0NjA0MTRZMjkyOTgwRDAxKg0KK1g0NjAzMzRZMjkzMjY1RDAxKg0KK1g0NjAyODBZMjkzNTU3RDAxKg0KK1g0NjAyNTNZMjkzODUyRDAxKg0KK1kyOTQxNDhEMDEqDQorWDQ2MDI4MFkyOTQ0NDNEMDEqDQorWDQ2MDMzNFkyOTQ3MzVEMDEqDQorWDQ2MDQxNFkyOTUwMjBEMDEqDQorWDQ2MDUyMFkyOTUyOTdEMDEqDQorWDQ2MDU2MFkyOTU0MDdEMDEqDQorWDQ2MDU4MVkyOTU1MjREMDEqDQorWDQ2MDU4M1kyOTU2NDJEMDEqDQorWDQ2MDU2N1kyOTU3NTlEMDEqDQorWDQ2MDUzMlkyOTU4NzFEMDEqDQorWDQ2MDQ4MFkyOTU5NzhEMDEqDQorWDQ2MDQxM1kyOTYwNzREMDEqDQorWDQ2MDMzMVkyOTYxNTlEMDEqDQorWDQ2MDIzN1kyOTYyMzBEMDEqDQorWDQ2MDEzMlkyOTYyODZEMDEqDQorWDQ2MDAyMVkyOTYzMjREMDEqDQorWDQ1OTkwNFkyOTYzNDVEMDEqDQorWDQ1OTc4NlkyOTYzNDdEMDEqDQorWDQ1OTY3MFkyOTYzMzBEMDEqDQorWDQ1OTY2OFkyOTYzMzBEMDEqDQorWTMxMjQ3OEQwMSoNCitYNDU5NzE2WTMxMjQ5N0QwMSoNCitYNDYwMDkyWTMxMjcyOEQwMSoNCitYNDYwNDI3WTMxMzAxNEQwMSoNCitYNDYwNzEzWTMxMzM0OUQwMSoNCitYNDYwOTQ0WTMxMzcyNUQwMSoNCitYNDYxMTEyWTMxNDEzMkQwMSoNCitYNDYxMjE1WTMxNDU2MUQwMSoNCitYNDYxMjQxWTMxNTAwMEQwMSoNCitYNDYxMjE1WTMxNTQzOUQwMSoNCitYNDYxMTEyWTMxNTg2OEQwMSoNCitYNDYwOTQ0WTMxNjI3NUQwMSoNCitYNDYwNzEzWTMxNjY1MUQwMSoNCitYNDYwNDI3WTMxNjk4NkQwMSoNCitYNDYwMDkyWTMxNzI3MkQwMSoNCitYNDU5NzE2WTMxNzUwM0QwMSoNCitYNDU5NjY4WTMxNzUyMkQwMSoNCitZMzIxNjY2RDAxKg0KK1g0NTk2NjlZMzIxNjY2RDAxKg0KK1g0NTk3ODZZMzIxNjUwRDAxKg0KK1g0NTk5MDVZMzIxNjUyRDAxKg0KK1g0NjAwMjJZMzIxNjczRDAxKg0KK1g0NjAxMzRZMzIxNzExRDAxKg0KK1g0NjAyMzhZMzIxNzY3RDAxKg0KK1g0NjAzMzNZMzIxODM4RDAxKg0KK1g0NjA0MTVZMzIxOTI0RDAxKg0KK1g0NjA0ODNZMzIyMDIxRDAxKg0KK1g0NjA1MzVZMzIyMTI3RDAxKg0KK1g0NjA1NzBZMzIyMjQxRDAxKg0KK1g0NjA1ODZZMzIyMzU4RDAxKg0KK1g0NjA1ODRZMzIyNDc3RDAxKg0KK1g0NjA1NjRZMzIyNTk0RDAxKg0KK1g0NjA1MjNZMzIyNzA1RDAxKg0KK1g0NjA0MTRZMzIyOTgwRDAxKg0KK1g0NjAzMzRZMzIzMjY1RDAxKg0KK1g0NjAyODBZMzIzNTU3RDAxKg0KK1g0NjAyNTNZMzIzODUyRDAxKg0KK1kzMjQxNDhEMDEqDQorWDQ2MDI4MFkzMjQ0NDNEMDEqDQorWDQ2MDMzNFkzMjQ3MzVEMDEqDQorWDQ2MDQxNFkzMjUwMjBEMDEqDQorWDQ2MDUyMFkzMjUyOTdEMDEqDQorWDQ2MDU2MFkzMjU0MDdEMDEqDQorWDQ2MDU4MVkzMjU1MjREMDEqDQorWDQ2MDU4M1kzMjU2NDJEMDEqDQorWDQ2MDU2N1kzMjU3NTlEMDEqDQorWDQ2MDUzMlkzMjU4NzFEMDEqDQorWDQ2MDQ4MFkzMjU5NzhEMDEqDQorWDQ2MDQxM1kzMjYwNzREMDEqDQorWDQ2MDMzMVkzMjYxNTlEMDEqDQorWDQ2MDIzN1kzMjYyMzBEMDEqDQorWDQ2MDEzMlkzMjYyODZEMDEqDQorWDQ2MDAyMVkzMjYzMjREMDEqDQorWDQ1OTkwNFkzMjYzNDVEMDEqDQorWDQ1OTc4NlkzMjYzNDdEMDEqDQorWDQ1OTY3MFkzMjYzMzBEMDEqDQorWDQ1OTY2OFkzMjYzMzBEMDEqDQorWTM0MjQ3OEQwMSoNCitYNDU5NzE2WTM0MjQ5N0QwMSoNCitYNDYwMDkyWTM0MjcyOEQwMSoNCitYNDYwNDI3WTM0MzAxNEQwMSoNCitYNDYwNzEzWTM0MzM0OUQwMSoNCitYNDYwOTQ0WTM0MzcyNUQwMSoNCitYNDYxMTEyWTM0NDEzMkQwMSoNCitYNDYxMjE1WTM0NDU2MUQwMSoNCitYNDYxMjQxWTM0NTAwMEQwMSoNCitYNDYxMjE1WTM0NTQzOUQwMSoNCitYNDYxMTEyWTM0NTg2OEQwMSoNCitYNDYwOTQ0WTM0NjI3NUQwMSoNCitYNDYwNzEzWTM0NjY1MUQwMSoNCitYNDYwNDI3WTM0Njk4NkQwMSoNCitYNDYwMDkyWTM0NzI3MkQwMSoNCitYNDU5NzE2WTM0NzUwM0QwMSoNCitYNDU5NjY4WTM0NzUyMkQwMSoNCitZMzUxNjY2RDAxKg0KK1g0NTk2NjlZMzUxNjY2RDAxKg0KK1g0NTk3ODZZMzUxNjUwRDAxKg0KK1g0NTk5MDVZMzUxNjUyRDAxKg0KK1g0NjAwMjJZMzUxNjczRDAxKg0KK1g0NjAxMzRZMzUxNzExRDAxKg0KK1g0NjAyMzhZMzUxNzY3RDAxKg0KK1g0NjAzMzNZMzUxODM4RDAxKg0KK1g0NjA0MTVZMzUxOTI0RDAxKg0KK1g0NjA0ODNZMzUyMDIxRDAxKg0KK1g0NjA1MzVZMzUyMTI3RDAxKg0KK1g0NjA1NzBZMzUyMjQxRDAxKg0KK1g0NjA1ODZZMzUyMzU4RDAxKg0KK1g0NjA1ODRZMzUyNDc3RDAxKg0KK1g0NjA1NjRZMzUyNTk0RDAxKg0KK1g0NjA1MjNZMzUyNzA1RDAxKg0KK1g0NjA0MTRZMzUyOTgwRDAxKg0KK1g0NjAzMzRZMzUzMjY1RDAxKg0KK1g0NjAyODBZMzUzNTU3RDAxKg0KK1g0NjAyNTNZMzUzODUyRDAxKg0KK1kzNTQxNDhEMDEqDQorWDQ2MDI4MFkzNTQ0NDNEMDEqDQorWDQ2MDMzNFkzNTQ3MzVEMDEqDQorWDQ2MDQxNFkzNTUwMjBEMDEqDQorWDQ2MDUyMFkzNTUyOTdEMDEqDQorWDQ2MDU2MFkzNTU0MDdEMDEqDQorWDQ2MDU4MVkzNTU1MjREMDEqDQorWDQ2MDU4M1kzNTU2NDJEMDEqDQorWDQ2MDU2N1kzNTU3NTlEMDEqDQorWDQ2MDUzMlkzNTU4NzFEMDEqDQorWDQ2MDQ4MFkzNTU5NzhEMDEqDQorWDQ2MDQxM1kzNTYwNzREMDEqDQorWDQ2MDMzMVkzNTYxNTlEMDEqDQorWDQ2MDIzN1kzNTYyMzBEMDEqDQorWDQ2MDEzMlkzNTYyODZEMDEqDQorWDQ2MDAyMVkzNTYzMjREMDEqDQorWDQ1OTkwNFkzNTYzNDVEMDEqDQorWDQ1OTc4NlkzNTYzNDdEMDEqDQorWDQ1OTY3MFkzNTYzMzBEMDEqDQorWDQ1OTY2OFkzNTYzMzBEMDEqDQorWTM3MjQ3OEQwMSoNCitYNDU5NzE2WTM3MjQ5N0QwMSoNCitYNDYwMDkyWTM3MjcyOEQwMSoNCitYNDYwNDI3WTM3MzAxNEQwMSoNCitYNDYwNzEzWTM3MzM0OUQwMSoNCitYNDYwOTQ0WTM3MzcyNUQwMSoNCitYNDYxMTEyWTM3NDEzMkQwMSoNCitYNDYxMjE1WTM3NDU2MUQwMSoNCitYNDYxMjQxWTM3NTAwMEQwMSoNCitYNDYxMjE1WTM3NTQzOUQwMSoNCitYNDYxMTEyWTM3NTg2OEQwMSoNCitYNDYwOTQ0WTM3NjI3NUQwMSoNCitYNDYwNzEzWTM3NjY1MUQwMSoNCitYNDYwNDI3WTM3Njk4NkQwMSoNCitYNDYwMDkyWTM3NzI3MkQwMSoNCitYNDU5NzE2WTM3NzUwM0QwMSoNCitYNDU5NjY4WTM3NzUyMkQwMSoNCitZMzgxNjY2RDAxKg0KK1g0NTk2NjlZMzgxNjY2RDAxKg0KK1g0NTk3ODZZMzgxNjUwRDAxKg0KK1g0NTk5MDVZMzgxNjUyRDAxKg0KK1g0NjAwMjJZMzgxNjczRDAxKg0KK1g0NjAxMzRZMzgxNzExRDAxKg0KK1g0NjAyMzhZMzgxNzY3RDAxKg0KK1g0NjAzMzNZMzgxODM4RDAxKg0KK1g0NjA0MTVZMzgxOTI0RDAxKg0KK1g0NjA0ODNZMzgyMDIxRDAxKg0KK1g0NjA1MzVZMzgyMTI3RDAxKg0KK1g0NjA1NzBZMzgyMjQxRDAxKg0KK1g0NjA1ODZZMzgyMzU4RDAxKg0KK1g0NjA1ODRZMzgyNDc3RDAxKg0KK1g0NjA1NjRZMzgyNTk0RDAxKg0KK1g0NjA1MjNZMzgyNzA1RDAxKg0KK1g0NjA0MTRZMzgyOTgwRDAxKg0KK1g0NjAzMzRZMzgzMjY1RDAxKg0KK1g0NjAyODBZMzgzNTU3RDAxKg0KK1g0NjAyNTNZMzgzODUyRDAxKg0KK1kzODQxNDhEMDEqDQorWDQ2MDI4MFkzODQ0NDNEMDEqDQorWDQ2MDMzNFkzODQ3MzVEMDEqDQorWDQ2MDQxNFkzODUwMjBEMDEqDQorWDQ2MDUyMFkzODUyOTdEMDEqDQorWDQ2MDU2MFkzODU0MDdEMDEqDQorWDQ2MDU4MVkzODU1MjREMDEqDQorWDQ2MDU4M1kzODU2NDJEMDEqDQorWDQ2MDU2N1kzODU3NTlEMDEqDQorWDQ2MDUzMlkzODU4NzFEMDEqDQorWDQ2MDQ4MFkzODU5NzhEMDEqDQorWDQ2MDQxM1kzODYwNzREMDEqDQorWDQ2MDMzMVkzODYxNTlEMDEqDQorWDQ2MDIzN1kzODYyMzBEMDEqDQorWDQ2MDEzMlkzODYyODZEMDEqDQorWDQ2MDAyMVkzODYzMjREMDEqDQorWDQ1OTkwNFkzODYzNDVEMDEqDQorWDQ1OTc4NlkzODYzNDdEMDEqDQorWDQ1OTY3MFkzODYzMzBEMDEqDQorWDQ1OTY2OFkzODYzMzBEMDEqDQorWTM5NzAwMEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzODg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTM4ODcxMUQwMSoNCitYNDYyNDI1WTM4ODYzMkQwMSoNCitYNDYyMDA4WTM4ODUxNUQwMSoNCitYNDYxNjAzWTM4ODM2MEQwMSoNCitYNDYxNDk4WTM4ODMwNUQwMSoNCitYNDYxNDAzWTM4ODIzNEQwMSoNCitYNDYxMzIxWTM4ODE0OEQwMSoNCitYNDYxMjUzWTM4ODA1MUQwMSoNCitYNDYxMjAxWTM4Nzk0NUQwMSoNCitYNDYxMTY2WTM4NzgzMUQwMSoNCitYNDYxMTUwWTM4NzcxNEQwMSoNCitYNDYxMTUyWTM4NzU5NUQwMSoNCitYNDYxMTczWTM4NzQ3OEQwMSoNCitYNDYxMjExWTM4NzM2NkQwMSoNCitYNDYxMjY3WTM4NzI2MkQwMSoNCitYNDYxMzM4WTM4NzE2N0QwMSoNCitYNDYxNDI0WTM4NzA4NUQwMSoNCitYNDYxNTIxWTM4NzAxN0QwMSoNCitYNDYxNjI3WTM4Njk2NUQwMSoNCitYNDYxNzQxWTM4NjkzMEQwMSoNCitYNDYxODU4WTM4NjkxNEQwMSoNCitYNDYxOTc3WTM4NjkxNkQwMSoNCitYNDYyMDkzWTM4NjkzNkQwMSoNCitYNDYyMjA1WTM4Njk3N0QwMSoNCitYNDYyNDgwWTM4NzA4NkQwMSoNCitYNDYyNzY1WTM4NzE2NkQwMSoNCitYNDYzMDU3WTM4NzIyMEQwMSoNCitYNDYzMzUyWTM4NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzODA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTM4MDc4MEQwMSoNCitYNDYyNzY1WTM4MDgzNEQwMSoNCitYNDYyNDgwWTM4MDkxNEQwMSoNCitYNDYyMjAzWTM4MTAyMEQwMSoNCitYNDYyMDkzWTM4MTA2MEQwMSoNCitYNDYxOTc2WTM4MTA4MUQwMSoNCitYNDYxODU4WTM4MTA4M0QwMSoNCitYNDYxNzQxWTM4MTA2N0QwMSoNCitYNDYxNjI5WTM4MTAzMkQwMSoNCitYNDYxNTIyWTM4MDk4MEQwMSoNCitYNDYxNDI2WTM4MDkxM0QwMSoNCitYNDYxMzQxWTM4MDgzMUQwMSoNCitYNDYxMjcwWTM4MDczN0QwMSoNCitYNDYxMjE0WTM4MDYzMkQwMSoNCitYNDYxMTc2WTM4MDUyMUQwMSoNCitYNDYxMTU1WTM4MDQwNEQwMSoNCitYNDYxMTUzWTM4MDI4NkQwMSoNCitYNDYxMTcwWTM4MDE3MEQwMSoNCitYNDYxMjA0WTM4MDA1N0QwMSoNCitYNDYxMjU2WTM3OTk1MEQwMSoNCitYNDYxMzIzWTM3OTg1NEQwMSoNCitYNDYxNDA1WTM3OTc2OUQwMSoNCitYNDYxNTAwWTM3OTY5OEQwMSoNCitYNDYxNjA1WTM3OTY0NEQwMSoNCitYNDYyMDA4WTM3OTQ4NUQwMSoNCitYNDYyNDI1WTM3OTM2OEQwMSoNCitYNDYyODUyWTM3OTI4OUQwMSoNCitYNDYzMjgzWTM3OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzNTg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTM1ODcxMUQwMSoNCitYNDYyNDI1WTM1ODYzMkQwMSoNCitYNDYyMDA4WTM1ODUxNUQwMSoNCitYNDYxNjAzWTM1ODM2MEQwMSoNCitYNDYxNDk4WTM1ODMwNUQwMSoNCitYNDYxNDAzWTM1ODIzNEQwMSoNCitYNDYxMzIxWTM1ODE0OEQwMSoNCitYNDYxMjUzWTM1ODA1MUQwMSoNCitYNDYxMjAxWTM1Nzk0NUQwMSoNCitYNDYxMTY2WTM1NzgzMUQwMSoNCitYNDYxMTUwWTM1NzcxNEQwMSoNCitYNDYxMTUyWTM1NzU5NUQwMSoNCitYNDYxMTczWTM1NzQ3OEQwMSoNCitYNDYxMjExWTM1NzM2NkQwMSoNCitYNDYxMjY3WTM1NzI2MkQwMSoNCitYNDYxMzM4WTM1NzE2N0QwMSoNCitYNDYxNDI0WTM1NzA4NUQwMSoNCitYNDYxNTIxWTM1NzAxN0QwMSoNCitYNDYxNjI3WTM1Njk2NUQwMSoNCitYNDYxNzQxWTM1NjkzMEQwMSoNCitYNDYxODU4WTM1NjkxNEQwMSoNCitYNDYxOTc3WTM1NjkxNkQwMSoNCitYNDYyMDkzWTM1NjkzNkQwMSoNCitYNDYyMjA1WTM1Njk3N0QwMSoNCitYNDYyNDgwWTM1NzA4NkQwMSoNCitYNDYyNzY1WTM1NzE2NkQwMSoNCitYNDYzMDU3WTM1NzIyMEQwMSoNCitYNDYzMzUyWTM1NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzNTA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTM1MDc4MEQwMSoNCitYNDYyNzY1WTM1MDgzNEQwMSoNCitYNDYyNDgwWTM1MDkxNEQwMSoNCitYNDYyMjAzWTM1MTAyMEQwMSoNCitYNDYyMDkzWTM1MTA2MEQwMSoNCitYNDYxOTc2WTM1MTA4MUQwMSoNCitYNDYxODU4WTM1MTA4M0QwMSoNCitYNDYxNzQxWTM1MTA2N0QwMSoNCitYNDYxNjI5WTM1MTAzMkQwMSoNCitYNDYxNTIyWTM1MDk4MEQwMSoNCitYNDYxNDI2WTM1MDkxM0QwMSoNCitYNDYxMzQxWTM1MDgzMUQwMSoNCitYNDYxMjcwWTM1MDczN0QwMSoNCitYNDYxMjE0WTM1MDYzMkQwMSoNCitYNDYxMTc2WTM1MDUyMUQwMSoNCitYNDYxMTU1WTM1MDQwNEQwMSoNCitYNDYxMTUzWTM1MDI4NkQwMSoNCitYNDYxMTcwWTM1MDE3MEQwMSoNCitYNDYxMjA0WTM1MDA1N0QwMSoNCitYNDYxMjU2WTM0OTk1MEQwMSoNCitYNDYxMzIzWTM0OTg1NEQwMSoNCitYNDYxNDA1WTM0OTc2OUQwMSoNCitYNDYxNTAwWTM0OTY5OEQwMSoNCitYNDYxNjA1WTM0OTY0NEQwMSoNCitYNDYyMDA4WTM0OTQ4NUQwMSoNCitYNDYyNDI1WTM0OTM2OEQwMSoNCitYNDYyODUyWTM0OTI4OUQwMSoNCitYNDYzMjgzWTM0OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kzMjg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTMyODcxMUQwMSoNCitYNDYyNDI1WTMyODYzMkQwMSoNCitYNDYyMDA4WTMyODUxNUQwMSoNCitYNDYxNjAzWTMyODM2MEQwMSoNCitYNDYxNDk4WTMyODMwNUQwMSoNCitYNDYxNDAzWTMyODIzNEQwMSoNCitYNDYxMzIxWTMyODE0OEQwMSoNCitYNDYxMjUzWTMyODA1MUQwMSoNCitYNDYxMjAxWTMyNzk0NUQwMSoNCitYNDYxMTY2WTMyNzgzMUQwMSoNCitYNDYxMTUwWTMyNzcxNEQwMSoNCitYNDYxMTUyWTMyNzU5NUQwMSoNCitYNDYxMTczWTMyNzQ3OEQwMSoNCitYNDYxMjExWTMyNzM2NkQwMSoNCitYNDYxMjY3WTMyNzI2MkQwMSoNCitYNDYxMzM4WTMyNzE2N0QwMSoNCitYNDYxNDI0WTMyNzA4NUQwMSoNCitYNDYxNTIxWTMyNzAxN0QwMSoNCitYNDYxNjI3WTMyNjk2NUQwMSoNCitYNDYxNzQxWTMyNjkzMEQwMSoNCitYNDYxODU4WTMyNjkxNEQwMSoNCitYNDYxOTc3WTMyNjkxNkQwMSoNCitYNDYyMDkzWTMyNjkzNkQwMSoNCitYNDYyMjA1WTMyNjk3N0QwMSoNCitYNDYyNDgwWTMyNzA4NkQwMSoNCitYNDYyNzY1WTMyNzE2NkQwMSoNCitYNDYzMDU3WTMyNzIyMEQwMSoNCitYNDYzMzUyWTMyNzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kzMjA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTMyMDc4MEQwMSoNCitYNDYyNzY1WTMyMDgzNEQwMSoNCitYNDYyNDgwWTMyMDkxNEQwMSoNCitYNDYyMjAzWTMyMTAyMEQwMSoNCitYNDYyMDkzWTMyMTA2MEQwMSoNCitYNDYxOTc2WTMyMTA4MUQwMSoNCitYNDYxODU4WTMyMTA4M0QwMSoNCitYNDYxNzQxWTMyMTA2N0QwMSoNCitYNDYxNjI5WTMyMTAzMkQwMSoNCitYNDYxNTIyWTMyMDk4MEQwMSoNCitYNDYxNDI2WTMyMDkxM0QwMSoNCitYNDYxMzQxWTMyMDgzMUQwMSoNCitYNDYxMjcwWTMyMDczN0QwMSoNCitYNDYxMjE0WTMyMDYzMkQwMSoNCitYNDYxMTc2WTMyMDUyMUQwMSoNCitYNDYxMTU1WTMyMDQwNEQwMSoNCitYNDYxMTUzWTMyMDI4NkQwMSoNCitYNDYxMTcwWTMyMDE3MEQwMSoNCitYNDYxMjA0WTMyMDA1N0QwMSoNCitYNDYxMjU2WTMxOTk1MEQwMSoNCitYNDYxMzIzWTMxOTg1NEQwMSoNCitYNDYxNDA1WTMxOTc2OUQwMSoNCitYNDYxNTAwWTMxOTY5OEQwMSoNCitYNDYxNjA1WTMxOTY0NEQwMSoNCitYNDYyMDA4WTMxOTQ4NUQwMSoNCitYNDYyNDI1WTMxOTM2OEQwMSoNCitYNDYyODUyWTMxOTI4OUQwMSoNCitYNDYzMjgzWTMxOTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyOTg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTI5ODcxMUQwMSoNCitYNDYyNDI1WTI5ODYzMkQwMSoNCitYNDYyMDA4WTI5ODUxNUQwMSoNCitYNDYxNjAzWTI5ODM2MEQwMSoNCitYNDYxNDk4WTI5ODMwNUQwMSoNCitYNDYxNDAzWTI5ODIzNEQwMSoNCitYNDYxMzIxWTI5ODE0OEQwMSoNCitYNDYxMjUzWTI5ODA1MUQwMSoNCitYNDYxMjAxWTI5Nzk0NUQwMSoNCitYNDYxMTY2WTI5NzgzMUQwMSoNCitYNDYxMTUwWTI5NzcxNEQwMSoNCitYNDYxMTUyWTI5NzU5NUQwMSoNCitYNDYxMTczWTI5NzQ3OEQwMSoNCitYNDYxMjExWTI5NzM2NkQwMSoNCitYNDYxMjY3WTI5NzI2MkQwMSoNCitYNDYxMzM4WTI5NzE2N0QwMSoNCitYNDYxNDI0WTI5NzA4NUQwMSoNCitYNDYxNTIxWTI5NzAxN0QwMSoNCitYNDYxNjI3WTI5Njk2NUQwMSoNCitYNDYxNzQxWTI5NjkzMEQwMSoNCitYNDYxODU4WTI5NjkxNEQwMSoNCitYNDYxOTc3WTI5NjkxNkQwMSoNCitYNDYyMDkzWTI5NjkzNkQwMSoNCitYNDYyMjA1WTI5Njk3N0QwMSoNCitYNDYyNDgwWTI5NzA4NkQwMSoNCitYNDYyNzY1WTI5NzE2NkQwMSoNCitYNDYzMDU3WTI5NzIyMEQwMSoNCitYNDYzMzUyWTI5NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyOTA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTI5MDc4MEQwMSoNCitYNDYyNzY1WTI5MDgzNEQwMSoNCitYNDYyNDgwWTI5MDkxNEQwMSoNCitYNDYyMjAzWTI5MTAyMEQwMSoNCitYNDYyMDkzWTI5MTA2MEQwMSoNCitYNDYxOTc2WTI5MTA4MUQwMSoNCitYNDYxODU4WTI5MTA4M0QwMSoNCitYNDYxNzQxWTI5MTA2N0QwMSoNCitYNDYxNjI5WTI5MTAzMkQwMSoNCitYNDYxNTIyWTI5MDk4MEQwMSoNCitYNDYxNDI2WTI5MDkxM0QwMSoNCitYNDYxMzQxWTI5MDgzMUQwMSoNCitYNDYxMjcwWTI5MDczN0QwMSoNCitYNDYxMjE0WTI5MDYzMkQwMSoNCitYNDYxMTc2WTI5MDUyMUQwMSoNCitYNDYxMTU1WTI5MDQwNEQwMSoNCitYNDYxMTUzWTI5MDI4NkQwMSoNCitYNDYxMTcwWTI5MDE3MEQwMSoNCitYNDYxMjA0WTI5MDA1N0QwMSoNCitYNDYxMjU2WTI4OTk1MEQwMSoNCitYNDYxMzIzWTI4OTg1NEQwMSoNCitYNDYxNDA1WTI4OTc2OUQwMSoNCitYNDYxNTAwWTI4OTY5OEQwMSoNCitYNDYxNjA1WTI4OTY0NEQwMSoNCitYNDYyMDA4WTI4OTQ4NUQwMSoNCitYNDYyNDI1WTI4OTM2OEQwMSoNCitYNDYyODUyWTI4OTI4OUQwMSoNCitYNDYzMjgzWTI4OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyNjg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTI2ODcxMUQwMSoNCitYNDYyNDI1WTI2ODYzMkQwMSoNCitYNDYyMDA4WTI2ODUxNUQwMSoNCitYNDYxNjAzWTI2ODM2MEQwMSoNCitYNDYxNDk4WTI2ODMwNUQwMSoNCitYNDYxNDAzWTI2ODIzNEQwMSoNCitYNDYxMzIxWTI2ODE0OEQwMSoNCitYNDYxMjUzWTI2ODA1MUQwMSoNCitYNDYxMjAxWTI2Nzk0NUQwMSoNCitYNDYxMTY2WTI2NzgzMUQwMSoNCitYNDYxMTUwWTI2NzcxNEQwMSoNCitYNDYxMTUyWTI2NzU5NUQwMSoNCitYNDYxMTczWTI2NzQ3OEQwMSoNCitYNDYxMjExWTI2NzM2NkQwMSoNCitYNDYxMjY3WTI2NzI2MkQwMSoNCitYNDYxMzM4WTI2NzE2N0QwMSoNCitYNDYxNDI0WTI2NzA4NUQwMSoNCitYNDYxNTIxWTI2NzAxN0QwMSoNCitYNDYxNjI3WTI2Njk2NUQwMSoNCitYNDYxNzQxWTI2NjkzMEQwMSoNCitYNDYxODU4WTI2NjkxNEQwMSoNCitYNDYxOTc3WTI2NjkxNkQwMSoNCitYNDYyMDkzWTI2NjkzNkQwMSoNCitYNDYyMjA1WTI2Njk3N0QwMSoNCitYNDYyNDgwWTI2NzA4NkQwMSoNCitYNDYyNzY1WTI2NzE2NkQwMSoNCitYNDYzMDU3WTI2NzIyMEQwMSoNCitYNDYzMzUyWTI2NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyNjA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTI2MDc4MEQwMSoNCitYNDYyNzY1WTI2MDgzNEQwMSoNCitYNDYyNDgwWTI2MDkxNEQwMSoNCitYNDYyMjAzWTI2MTAyMEQwMSoNCitYNDYyMDkzWTI2MTA2MEQwMSoNCitYNDYxOTc2WTI2MTA4MUQwMSoNCitYNDYxODU4WTI2MTA4M0QwMSoNCitYNDYxNzQxWTI2MTA2N0QwMSoNCitYNDYxNjI5WTI2MTAzMkQwMSoNCitYNDYxNTIyWTI2MDk4MEQwMSoNCitYNDYxNDI2WTI2MDkxM0QwMSoNCitYNDYxMzQxWTI2MDgzMUQwMSoNCitYNDYxMjcwWTI2MDczN0QwMSoNCitYNDYxMjE0WTI2MDYzMkQwMSoNCitYNDYxMTc2WTI2MDUyMUQwMSoNCitYNDYxMTU1WTI2MDQwNEQwMSoNCitYNDYxMTUzWTI2MDI4NkQwMSoNCitYNDYxMTcwWTI2MDE3MEQwMSoNCitYNDYxMjA0WTI2MDA1N0QwMSoNCitYNDYxMjU2WTI1OTk1MEQwMSoNCitYNDYxMzIzWTI1OTg1NEQwMSoNCitYNDYxNDA1WTI1OTc2OUQwMSoNCitYNDYxNTAwWTI1OTY5OEQwMSoNCitYNDYxNjA1WTI1OTY0NEQwMSoNCitYNDYyMDA4WTI1OTQ4NUQwMSoNCitYNDYyNDI1WTI1OTM2OEQwMSoNCitYNDYyODUyWTI1OTI4OUQwMSoNCitYNDYzMjgzWTI1OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyMzg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTIzODcxMUQwMSoNCitYNDYyNDI1WTIzODYzMkQwMSoNCitYNDYyMDA4WTIzODUxNUQwMSoNCitYNDYxNjAzWTIzODM2MEQwMSoNCitYNDYxNDk4WTIzODMwNUQwMSoNCitYNDYxNDAzWTIzODIzNEQwMSoNCitYNDYxMzIxWTIzODE0OEQwMSoNCitYNDYxMjUzWTIzODA1MUQwMSoNCitYNDYxMjAxWTIzNzk0NUQwMSoNCitYNDYxMTY2WTIzNzgzMUQwMSoNCitYNDYxMTUwWTIzNzcxNEQwMSoNCitYNDYxMTUyWTIzNzU5NUQwMSoNCitYNDYxMTczWTIzNzQ3OEQwMSoNCitYNDYxMjExWTIzNzM2NkQwMSoNCitYNDYxMjY3WTIzNzI2MkQwMSoNCitYNDYxMzM4WTIzNzE2N0QwMSoNCitYNDYxNDI0WTIzNzA4NUQwMSoNCitYNDYxNTIxWTIzNzAxN0QwMSoNCitYNDYxNjI3WTIzNjk2NUQwMSoNCitYNDYxNzQxWTIzNjkzMEQwMSoNCitYNDYxODU4WTIzNjkxNEQwMSoNCitYNDYxOTc3WTIzNjkxNkQwMSoNCitYNDYyMDkzWTIzNjkzNkQwMSoNCitYNDYyMjA1WTIzNjk3N0QwMSoNCitYNDYyNDgwWTIzNzA4NkQwMSoNCitYNDYyNzY1WTIzNzE2NkQwMSoNCitYNDYzMDU3WTIzNzIyMEQwMSoNCitYNDYzMzUyWTIzNzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyMzA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTIzMDc4MEQwMSoNCitYNDYyNzY1WTIzMDgzNEQwMSoNCitYNDYyNDgwWTIzMDkxNEQwMSoNCitYNDYyMjAzWTIzMTAyMEQwMSoNCitYNDYyMDkzWTIzMTA2MEQwMSoNCitYNDYxOTc2WTIzMTA4MUQwMSoNCitYNDYxODU4WTIzMTA4M0QwMSoNCitYNDYxNzQxWTIzMTA2N0QwMSoNCitYNDYxNjI5WTIzMTAzMkQwMSoNCitYNDYxNTIyWTIzMDk4MEQwMSoNCitYNDYxNDI2WTIzMDkxM0QwMSoNCitYNDYxMzQxWTIzMDgzMUQwMSoNCitYNDYxMjcwWTIzMDczN0QwMSoNCitYNDYxMjE0WTIzMDYzMkQwMSoNCitYNDYxMTc2WTIzMDUyMUQwMSoNCitYNDYxMTU1WTIzMDQwNEQwMSoNCitYNDYxMTUzWTIzMDI4NkQwMSoNCitYNDYxMTcwWTIzMDE3MEQwMSoNCitYNDYxMjA0WTIzMDA1N0QwMSoNCitYNDYxMjU2WTIyOTk1MEQwMSoNCitYNDYxMzIzWTIyOTg1NEQwMSoNCitYNDYxNDA1WTIyOTc2OUQwMSoNCitYNDYxNTAwWTIyOTY5OEQwMSoNCitYNDYxNjA1WTIyOTY0NEQwMSoNCitYNDYyMDA4WTIyOTQ4NUQwMSoNCitYNDYyNDI1WTIyOTM2OEQwMSoNCitYNDYyODUyWTIyOTI4OUQwMSoNCitYNDYzMjgzWTIyOTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kyMDg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTIwODcxMUQwMSoNCitYNDYyNDI1WTIwODYzMkQwMSoNCitYNDYyMDA4WTIwODUxNUQwMSoNCitYNDYxNjAzWTIwODM2MEQwMSoNCitYNDYxNDk4WTIwODMwNUQwMSoNCitYNDYxNDAzWTIwODIzNEQwMSoNCitYNDYxMzIxWTIwODE0OEQwMSoNCitYNDYxMjUzWTIwODA1MUQwMSoNCitYNDYxMjAxWTIwNzk0NUQwMSoNCitYNDYxMTY2WTIwNzgzMUQwMSoNCitYNDYxMTUwWTIwNzcxNEQwMSoNCitYNDYxMTUyWTIwNzU5NUQwMSoNCitYNDYxMTczWTIwNzQ3OEQwMSoNCitYNDYxMjExWTIwNzM2NkQwMSoNCitYNDYxMjY3WTIwNzI2MkQwMSoNCitYNDYxMzM4WTIwNzE2N0QwMSoNCitYNDYxNDI0WTIwNzA4NUQwMSoNCitYNDYxNTIxWTIwNzAxN0QwMSoNCitYNDYxNjI3WTIwNjk2NUQwMSoNCitYNDYxNzQxWTIwNjkzMEQwMSoNCitYNDYxODU4WTIwNjkxNEQwMSoNCitYNDYxOTc3WTIwNjkxNkQwMSoNCitYNDYyMDkzWTIwNjkzNkQwMSoNCitYNDYyMjA1WTIwNjk3N0QwMSoNCitYNDYyNDgwWTIwNzA4NkQwMSoNCitYNDYyNzY1WTIwNzE2NkQwMSoNCitYNDYzMDU3WTIwNzIyMEQwMSoNCitYNDYzMzUyWTIwNzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kyMDA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTIwMDc4MEQwMSoNCitYNDYyNzY1WTIwMDgzNEQwMSoNCitYNDYyNDgwWTIwMDkxNEQwMSoNCitYNDYyMjAzWTIwMTAyMEQwMSoNCitYNDYyMDkzWTIwMTA2MEQwMSoNCitYNDYxOTc2WTIwMTA4MUQwMSoNCitYNDYxODU4WTIwMTA4M0QwMSoNCitYNDYxNzQxWTIwMTA2N0QwMSoNCitYNDYxNjI5WTIwMTAzMkQwMSoNCitYNDYxNTIyWTIwMDk4MEQwMSoNCitYNDYxNDI2WTIwMDkxM0QwMSoNCitYNDYxMzQxWTIwMDgzMUQwMSoNCitYNDYxMjcwWTIwMDczN0QwMSoNCitYNDYxMjE0WTIwMDYzMkQwMSoNCitYNDYxMTc2WTIwMDUyMUQwMSoNCitYNDYxMTU1WTIwMDQwNEQwMSoNCitYNDYxMTUzWTIwMDI4NkQwMSoNCitYNDYxMTcwWTIwMDE3MEQwMSoNCitYNDYxMjA0WTIwMDA1N0QwMSoNCitYNDYxMjU2WTE5OTk1MEQwMSoNCitYNDYxMzIzWTE5OTg1NEQwMSoNCitYNDYxNDA1WTE5OTc2OUQwMSoNCitYNDYxNTAwWTE5OTY5OEQwMSoNCitYNDYxNjA1WTE5OTY0NEQwMSoNCitYNDYyMDA4WTE5OTQ4NUQwMSoNCitYNDYyNDI1WTE5OTM2OEQwMSoNCitYNDYyODUyWTE5OTI4OUQwMSoNCitYNDYzMjgzWTE5OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxNzg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTE3ODcxMUQwMSoNCitYNDYyNDI1WTE3ODYzMkQwMSoNCitYNDYyMDA4WTE3ODUxNUQwMSoNCitYNDYxNjAzWTE3ODM2MEQwMSoNCitYNDYxNDk4WTE3ODMwNUQwMSoNCitYNDYxNDAzWTE3ODIzNEQwMSoNCitYNDYxMzIxWTE3ODE0OEQwMSoNCitYNDYxMjUzWTE3ODA1MUQwMSoNCitYNDYxMjAxWTE3Nzk0NUQwMSoNCitYNDYxMTY2WTE3NzgzMUQwMSoNCitYNDYxMTUwWTE3NzcxNEQwMSoNCitYNDYxMTUyWTE3NzU5NUQwMSoNCitYNDYxMTczWTE3NzQ3OEQwMSoNCitYNDYxMjExWTE3NzM2NkQwMSoNCitYNDYxMjY3WTE3NzI2MkQwMSoNCitYNDYxMzM4WTE3NzE2N0QwMSoNCitYNDYxNDI0WTE3NzA4NUQwMSoNCitYNDYxNTIxWTE3NzAxN0QwMSoNCitYNDYxNjI3WTE3Njk2NUQwMSoNCitYNDYxNzQxWTE3NjkzMEQwMSoNCitYNDYxODU4WTE3NjkxNEQwMSoNCitYNDYxOTc3WTE3NjkxNkQwMSoNCitYNDYyMDkzWTE3NjkzNkQwMSoNCitYNDYyMjA1WTE3Njk3N0QwMSoNCitYNDYyNDgwWTE3NzA4NkQwMSoNCitYNDYyNzY1WTE3NzE2NkQwMSoNCitYNDYzMDU3WTE3NzIyMEQwMSoNCitYNDYzMzUyWTE3NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxNzA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTE3MDc4MEQwMSoNCitYNDYyNzY1WTE3MDgzNEQwMSoNCitYNDYyNDgwWTE3MDkxNEQwMSoNCitYNDYyMjAzWTE3MTAyMEQwMSoNCitYNDYyMDkzWTE3MTA2MEQwMSoNCitYNDYxOTc2WTE3MTA4MUQwMSoNCitYNDYxODU4WTE3MTA4M0QwMSoNCitYNDYxNzQxWTE3MTA2N0QwMSoNCitYNDYxNjI5WTE3MTAzMkQwMSoNCitYNDYxNTIyWTE3MDk4MEQwMSoNCitYNDYxNDI2WTE3MDkxM0QwMSoNCitYNDYxMzQxWTE3MDgzMUQwMSoNCitYNDYxMjcwWTE3MDczN0QwMSoNCitYNDYxMjE0WTE3MDYzMkQwMSoNCitYNDYxMTc2WTE3MDUyMUQwMSoNCitYNDYxMTU1WTE3MDQwNEQwMSoNCitYNDYxMTUzWTE3MDI4NkQwMSoNCitYNDYxMTcwWTE3MDE3MEQwMSoNCitYNDYxMjA0WTE3MDA1N0QwMSoNCitYNDYxMjU2WTE2OTk1MEQwMSoNCitYNDYxMzIzWTE2OTg1NEQwMSoNCitYNDYxNDA1WTE2OTc2OUQwMSoNCitYNDYxNTAwWTE2OTY5OEQwMSoNCitYNDYxNjA1WTE2OTY0NEQwMSoNCitYNDYyMDA4WTE2OTQ4NUQwMSoNCitYNDYyNDI1WTE2OTM2OEQwMSoNCitYNDYyODUyWTE2OTI4OUQwMSoNCitYNDYzMjgzWTE2OTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxNDg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTE0ODcxMUQwMSoNCitYNDYyNDI1WTE0ODYzMkQwMSoNCitYNDYyMDA4WTE0ODUxNUQwMSoNCitYNDYxNjAzWTE0ODM2MEQwMSoNCitYNDYxNDk4WTE0ODMwNUQwMSoNCitYNDYxNDAzWTE0ODIzNEQwMSoNCitYNDYxMzIxWTE0ODE0OEQwMSoNCitYNDYxMjUzWTE0ODA1MUQwMSoNCitYNDYxMjAxWTE0Nzk0NUQwMSoNCitYNDYxMTY2WTE0NzgzMUQwMSoNCitYNDYxMTUwWTE0NzcxNEQwMSoNCitYNDYxMTUyWTE0NzU5NUQwMSoNCitYNDYxMTczWTE0NzQ3OEQwMSoNCitYNDYxMjExWTE0NzM2NkQwMSoNCitYNDYxMjY3WTE0NzI2MkQwMSoNCitYNDYxMzM4WTE0NzE2N0QwMSoNCitYNDYxNDI0WTE0NzA4NUQwMSoNCitYNDYxNTIxWTE0NzAxN0QwMSoNCitYNDYxNjI3WTE0Njk2NUQwMSoNCitYNDYxNzQxWTE0NjkzMEQwMSoNCitYNDYxODU4WTE0NjkxNEQwMSoNCitYNDYxOTc3WTE0NjkxNkQwMSoNCitYNDYyMDkzWTE0NjkzNkQwMSoNCitYNDYyMjA1WTE0Njk3N0QwMSoNCitYNDYyNDgwWTE0NzA4NkQwMSoNCitYNDYyNzY1WTE0NzE2NkQwMSoNCitYNDYzMDU3WTE0NzIyMEQwMSoNCitYNDYzMzUyWTE0NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxNDA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTE0MDc4MEQwMSoNCitYNDYyNzY1WTE0MDgzNEQwMSoNCitYNDYyNDgwWTE0MDkxNEQwMSoNCitYNDYyMjAzWTE0MTAyMEQwMSoNCitYNDYyMDkzWTE0MTA2MEQwMSoNCitYNDYxOTc2WTE0MTA4MUQwMSoNCitYNDYxODU4WTE0MTA4M0QwMSoNCitYNDYxNzQxWTE0MTA2N0QwMSoNCitYNDYxNjI5WTE0MTAzMkQwMSoNCitYNDYxNTIyWTE0MDk4MEQwMSoNCitYNDYxNDI2WTE0MDkxM0QwMSoNCitYNDYxMzQxWTE0MDgzMUQwMSoNCitYNDYxMjcwWTE0MDczN0QwMSoNCitYNDYxMjE0WTE0MDYzMkQwMSoNCitYNDYxMTc2WTE0MDUyMUQwMSoNCitYNDYxMTU1WTE0MDQwNEQwMSoNCitYNDYxMTUzWTE0MDI4NkQwMSoNCitYNDYxMTcwWTE0MDE3MEQwMSoNCitYNDYxMjA0WTE0MDA1N0QwMSoNCitYNDYxMjU2WTEzOTk1MEQwMSoNCitYNDYxMzIzWTEzOTg1NEQwMSoNCitYNDYxNDA1WTEzOTc2OUQwMSoNCitYNDYxNTAwWTEzOTY5OEQwMSoNCitYNDYxNjA1WTEzOTY0NEQwMSoNCitYNDYyMDA4WTEzOTQ4NUQwMSoNCitYNDYyNDI1WTEzOTM2OEQwMSoNCitYNDYyODUyWTEzOTI4OUQwMSoNCitYNDYzMjgzWTEzOTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1kxMTg3NTBEMDEqDQorWDQ2MzI4M0QwMSoNCitYNDYyODUyWTExODcxMUQwMSoNCitYNDYyNDI1WTExODYzMkQwMSoNCitYNDYyMDA4WTExODUxNUQwMSoNCitYNDYxNjAzWTExODM2MEQwMSoNCitYNDYxNDk4WTExODMwNUQwMSoNCitYNDYxNDAzWTExODIzNEQwMSoNCitYNDYxMzIxWTExODE0OEQwMSoNCitYNDYxMjUzWTExODA1MUQwMSoNCitYNDYxMjAxWTExNzk0NUQwMSoNCitYNDYxMTY2WTExNzgzMUQwMSoNCitYNDYxMTUwWTExNzcxNEQwMSoNCitYNDYxMTUyWTExNzU5NUQwMSoNCitYNDYxMTczWTExNzQ3OEQwMSoNCitYNDYxMjExWTExNzM2NkQwMSoNCitYNDYxMjY3WTExNzI2MkQwMSoNCitYNDYxMzM4WTExNzE2N0QwMSoNCitYNDYxNDI0WTExNzA4NUQwMSoNCitYNDYxNTIxWTExNzAxN0QwMSoNCitYNDYxNjI3WTExNjk2NUQwMSoNCitYNDYxNzQxWTExNjkzMEQwMSoNCitYNDYxODU4WTExNjkxNEQwMSoNCitYNDYxOTc3WTExNjkxNkQwMSoNCitYNDYyMDkzWTExNjkzNkQwMSoNCitYNDYyMjA1WTExNjk3N0QwMSoNCitYNDYyNDgwWTExNzA4NkQwMSoNCitYNDYyNzY1WTExNzE2NkQwMSoNCitYNDYzMDU3WTExNzIyMEQwMSoNCitYNDYzMzUyWTExNzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1kxMTA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTExMDc4MEQwMSoNCitYNDYyNzY1WTExMDgzNEQwMSoNCitYNDYyNDgwWTExMDkxNEQwMSoNCitYNDYyMjAzWTExMTAyMEQwMSoNCitYNDYyMDkzWTExMTA2MEQwMSoNCitYNDYxOTc2WTExMTA4MUQwMSoNCitYNDYxODU4WTExMTA4M0QwMSoNCitYNDYxNzQxWTExMTA2N0QwMSoNCitYNDYxNjI5WTExMTAzMkQwMSoNCitYNDYxNTIyWTExMDk4MEQwMSoNCitYNDYxNDI2WTExMDkxM0QwMSoNCitYNDYxMzQxWTExMDgzMUQwMSoNCitYNDYxMjcwWTExMDczN0QwMSoNCitYNDYxMjE0WTExMDYzMkQwMSoNCitYNDYxMTc2WTExMDUyMUQwMSoNCitYNDYxMTU1WTExMDQwNEQwMSoNCitYNDYxMTUzWTExMDI4NkQwMSoNCitYNDYxMTcwWTExMDE3MEQwMSoNCitYNDYxMjA0WTExMDA1N0QwMSoNCitYNDYxMjU2WTEwOTk1MEQwMSoNCitYNDYxMzIzWTEwOTg1NEQwMSoNCitYNDYxNDA1WTEwOTc2OUQwMSoNCitYNDYxNTAwWTEwOTY5OEQwMSoNCitYNDYxNjA1WTEwOTY0NEQwMSoNCitYNDYyMDA4WTEwOTQ4NUQwMSoNCitYNDYyNDI1WTEwOTM2OEQwMSoNCitYNDYyODUyWTEwOTI4OUQwMSoNCitYNDYzMjgzWTEwOTI1MEQwMSoNCitYNDYzNTAyRDAxKg0KK1k4ODc1MEQwMSoNCitYNDYzMjgzRDAxKg0KK1g0NjI4NTJZODg3MTFEMDEqDQorWDQ2MjQyNVk4ODYzMkQwMSoNCitYNDYyMDA4WTg4NTE1RDAxKg0KK1g0NjE2MDNZODgzNjBEMDEqDQorWDQ2MTQ5OFk4ODMwNUQwMSoNCitYNDYxNDAzWTg4MjM0RDAxKg0KK1g0NjEzMjFZODgxNDhEMDEqDQorWDQ2MTI1M1k4ODA1MUQwMSoNCitYNDYxMjAxWTg3OTQ1RDAxKg0KK1g0NjExNjZZODc4MzFEMDEqDQorWDQ2MTE1MFk4NzcxNEQwMSoNCitYNDYxMTUyWTg3NTk1RDAxKg0KK1g0NjExNzNZODc0NzhEMDEqDQorWDQ2MTIxMVk4NzM2NkQwMSoNCitYNDYxMjY3WTg3MjYyRDAxKg0KK1g0NjEzMzhZODcxNjdEMDEqDQorWDQ2MTQyNFk4NzA4NUQwMSoNCitYNDYxNTIxWTg3MDE3RDAxKg0KK1g0NjE2MjdZODY5NjVEMDEqDQorWDQ2MTc0MVk4NjkzMEQwMSoNCitYNDYxODU4WTg2OTE0RDAxKg0KK1g0NjE5NzdZODY5MTZEMDEqDQorWDQ2MjA5M1k4NjkzNkQwMSoNCitYNDYyMjA1WTg2OTc3RDAxKg0KK1g0NjI0ODBZODcwODZEMDEqDQorWDQ2Mjc2NVk4NzE2NkQwMSoNCitYNDYzMDU3WTg3MjIwRDAxKg0KK1g0NjMzNTJZODcyNDdEMDEqDQorWDQ2MzUwMkQwMSoNCitZODA3NTNEMDEqDQorWDQ2MzM1MkQwMSoNCitYNDYzMDU3WTgwNzgwRDAxKg0KK1g0NjI3NjVZODA4MzREMDEqDQorWDQ2MjQ4MFk4MDkxNEQwMSoNCitYNDYyMjAzWTgxMDIwRDAxKg0KK1g0NjIwOTNZODEwNjBEMDEqDQorWDQ2MTk3Nlk4MTA4MUQwMSoNCitYNDYxODU4WTgxMDgzRDAxKg0KK1g0NjE3NDFZODEwNjdEMDEqDQorWDQ2MTYyOVk4MTAzMkQwMSoNCitYNDYxNTIyWTgwOTgwRDAxKg0KK1g0NjE0MjZZODA5MTNEMDEqDQorWDQ2MTM0MVk4MDgzMUQwMSoNCitYNDYxMjcwWTgwNzM3RDAxKg0KK1g0NjEyMTRZODA2MzJEMDEqDQorWDQ2MTE3Nlk4MDUyMUQwMSoNCitYNDYxMTU1WTgwNDA0RDAxKg0KK1g0NjExNTNZODAyODZEMDEqDQorWDQ2MTE3MFk4MDE3MEQwMSoNCitYNDYxMjA0WTgwMDU3RDAxKg0KK1g0NjEyNTZZNzk5NTBEMDEqDQorWDQ2MTMyM1k3OTg1NEQwMSoNCitYNDYxNDA1WTc5NzY5RDAxKg0KK1g0NjE1MDBZNzk2OThEMDEqDQorWDQ2MTYwNVk3OTY0NEQwMSoNCitYNDYyMDA4WTc5NDg1RDAxKg0KK1g0NjI0MjVZNzkzNjhEMDEqDQorWDQ2Mjg1Mlk3OTI4OUQwMSoNCitYNDYzMjgzWTc5MjUwRDAxKg0KK1g0NjM1MDJEMDEqDQorWTU4NzUwRDAxKg0KK1g0NjMyODNEMDEqDQorWDQ2Mjg1Mlk1ODcxMUQwMSoNCitYNDYyNDI1WTU4NjMyRDAxKg0KK1g0NjIwMDhZNTg1MTVEMDEqDQorWDQ2MTYwM1k1ODM2MEQwMSoNCitYNDYxNDk4WTU4MzA1RDAxKg0KK1g0NjE0MDNZNTgyMzREMDEqDQorWDQ2MTMyMVk1ODE0OEQwMSoNCitYNDYxMjUzWTU4MDUxRDAxKg0KK1g0NjEyMDFZNTc5NDVEMDEqDQorWDQ2MTE2Nlk1NzgzMUQwMSoNCitYNDYxMTUwWTU3NzE0RDAxKg0KK1g0NjExNTJZNTc1OTVEMDEqDQorWDQ2MTE3M1k1NzQ3OEQwMSoNCitYNDYxMjExWTU3MzY2RDAxKg0KK1g0NjEyNjdZNTcyNjJEMDEqDQorWDQ2MTMzOFk1NzE2N0QwMSoNCitYNDYxNDI0WTU3MDg1RDAxKg0KK1g0NjE1MjFZNTcwMTdEMDEqDQorWDQ2MTYyN1k1Njk2NUQwMSoNCitYNDYxNzQxWTU2OTMwRDAxKg0KK1g0NjE4NThZNTY5MTREMDEqDQorWDQ2MTk3N1k1NjkxNkQwMSoNCitYNDYyMDkzWTU2OTM2RDAxKg0KK1g0NjIyMDVZNTY5NzdEMDEqDQorWDQ2MjQ4MFk1NzA4NkQwMSoNCitYNDYyNzY1WTU3MTY2RDAxKg0KK1g0NjMwNTdZNTcyMjBEMDEqDQorWDQ2MzM1Mlk1NzI0N0QwMSoNCitYNDYzNTAyRDAxKg0KK1k1MDc1M0QwMSoNCitYNDYzMzUyRDAxKg0KK1g0NjMwNTdZNTA3ODBEMDEqDQorWDQ2Mjc2NVk1MDgzNEQwMSoNCitYNDYyNDgwWTUwOTE0RDAxKg0KK1g0NjIyMDNZNTEwMjBEMDEqDQorWDQ2MjA5M1k1MTA2MEQwMSoNCitYNDYxOTc2WTUxMDgxRDAxKg0KK1g0NjE4NThZNTEwODNEMDEqDQorWDQ2MTc0MVk1MTA2N0QwMSoNCitYNDYxNjI5WTUxMDMyRDAxKg0KK1g0NjE1MjJZNTA5ODBEMDEqDQorWDQ2MTQyNlk1MDkxM0QwMSoNCitYNDYxMzQxWTUwODMxRDAxKg0KK1g0NjEyNzBZNTA3MzdEMDEqDQorWDQ2MTIxNFk1MDYzMkQwMSoNCitYNDYxMTc2WTUwNTIxRDAxKg0KK1g0NjExNTVZNTA0MDREMDEqDQorWDQ2MTE1M1k1MDI4NkQwMSoNCitYNDYxMTcwWTUwMTcwRDAxKg0KK1g0NjEyMDRZNTAwNTdEMDEqDQorWDQ2MTI1Nlk0OTk1MEQwMSoNCitYNDYxMzIzWTQ5ODU0RDAxKg0KK1g0NjE0MDVZNDk3NjlEMDEqDQorWDQ2MTUwMFk0OTY5OEQwMSoNCitYNDYxNjA1WTQ5NjQ0RDAxKg0KK1g0NjIwMDhZNDk0ODVEMDEqDQorWDQ2MjQyNVk0OTM2OEQwMSoNCitYNDYyODUyWTQ5Mjg5RDAxKg0KK1g0NjMyODNZNDkyNTBEMDEqDQorWDQ2MzUwMkQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDU5NjY4WTM3NzUyMkQwMipYNDU5MzA5WTM3NzY3MUQwMSoNCitYNDU4ODgwWTM3Nzc3NEQwMSoNCitYNDU4NDQxWTM3NzgwOUQwMSoNCitYNDU4NDM3WTM3NzgwOEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NTk2NjhEMDEqDQorWTM4NjMzMEQwMSoNCitYNDU5NTU3WTM4NjI5NkQwMSoNCitYNDU5NDUwWTM4NjI0NEQwMSoNCitYNDU5MzU0WTM4NjE3N0QwMSoNCitYNDU5MjY5WTM4NjA5NUQwMSoNCitYNDU5MTk4WTM4NjAwMEQwMSoNCitYNDU5MTQ0WTM4NTg5NUQwMSoNCitYNDU4OTg1WTM4NTQ5MkQwMSoNCitYNDU4ODY4WTM4NTA3NUQwMSoNCitYNDU4Nzg5WTM4NDY0OEQwMSoNCitYNDU4NzUwWTM4NDIxN0QwMSoNCitZMzgzNzgzRDAxKg0KK1g0NTg3ODlZMzgzMzUyRDAxKg0KK1g0NTg4NjhZMzgyOTI1RDAxKg0KK1g0NTg5ODVZMzgyNTA4RDAxKg0KK1g0NTkxNDBZMzgyMTAzRDAxKg0KK1g0NTkxOTVZMzgxOTk4RDAxKg0KK1g0NTkyNjZZMzgxOTAzRDAxKg0KK1g0NTkzNTJZMzgxODIxRDAxKg0KK1g0NTk0NDlZMzgxNzUzRDAxKg0KK1g0NTk1NTVZMzgxNzAxRDAxKg0KK1g0NTk2NjhZMzgxNjY2RDAxKg0KK1kzNzc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMzQ3NTIyRDAyKlg0NTkzMDlZMzQ3NjcxRDAxKg0KK1g0NTg4ODBZMzQ3Nzc0RDAxKg0KK1g0NTg0NDFZMzQ3ODA5RDAxKg0KK1g0NTg0MzdZMzQ3ODA4RDAxKg0KK1kzNzIxOTJEMDEqDQorWDQ1ODQ0MVkzNzIxOTFEMDEqDQorWDQ1ODg4MFkzNzIyMjZEMDEqDQorWDQ1OTMwOVkzNzIzMjlEMDEqDQorWDQ1OTY2OFkzNzI0NzhEMDEqDQorWTM1NjMzMEQwMSoNCitYNDU5NTU3WTM1NjI5NkQwMSoNCitYNDU5NDUwWTM1NjI0NEQwMSoNCitYNDU5MzU0WTM1NjE3N0QwMSoNCitYNDU5MjY5WTM1NjA5NUQwMSoNCitYNDU5MTk4WTM1NjAwMEQwMSoNCitYNDU5MTQ0WTM1NTg5NUQwMSoNCitYNDU4OTg1WTM1NTQ5MkQwMSoNCitYNDU4ODY4WTM1NTA3NUQwMSoNCitYNDU4Nzg5WTM1NDY0OEQwMSoNCitYNDU4NzUwWTM1NDIxN0QwMSoNCitZMzUzNzgzRDAxKg0KK1g0NTg3ODlZMzUzMzUyRDAxKg0KK1g0NTg4NjhZMzUyOTI1RDAxKg0KK1g0NTg5ODVZMzUyNTA4RDAxKg0KK1g0NTkxNDBZMzUyMTAzRDAxKg0KK1g0NTkxOTVZMzUxOTk4RDAxKg0KK1g0NTkyNjZZMzUxOTAzRDAxKg0KK1g0NTkzNTJZMzUxODIxRDAxKg0KK1g0NTk0NDlZMzUxNzUzRDAxKg0KK1g0NTk1NTVZMzUxNzAxRDAxKg0KK1g0NTk2NjhZMzUxNjY2RDAxKg0KK1kzNDc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMzE3NTIyRDAyKlg0NTkzMDlZMzE3NjcxRDAxKg0KK1g0NTg4ODBZMzE3Nzc0RDAxKg0KK1g0NTg0NDFZMzE3ODA5RDAxKg0KK1g0NTg0MzdZMzE3ODA4RDAxKg0KK1kzNDIxOTJEMDEqDQorWDQ1ODQ0MVkzNDIxOTFEMDEqDQorWDQ1ODg4MFkzNDIyMjZEMDEqDQorWDQ1OTMwOVkzNDIzMjlEMDEqDQorWDQ1OTY2OFkzNDI0NzhEMDEqDQorWTMyNjMzMEQwMSoNCitYNDU5NTU3WTMyNjI5NkQwMSoNCitYNDU5NDUwWTMyNjI0NEQwMSoNCitYNDU5MzU0WTMyNjE3N0QwMSoNCitYNDU5MjY5WTMyNjA5NUQwMSoNCitYNDU5MTk4WTMyNjAwMEQwMSoNCitYNDU5MTQ0WTMyNTg5NUQwMSoNCitYNDU4OTg1WTMyNTQ5MkQwMSoNCitYNDU4ODY4WTMyNTA3NUQwMSoNCitYNDU4Nzg5WTMyNDY0OEQwMSoNCitYNDU4NzUwWTMyNDIxN0QwMSoNCitZMzIzNzgzRDAxKg0KK1g0NTg3ODlZMzIzMzUyRDAxKg0KK1g0NTg4NjhZMzIyOTI1RDAxKg0KK1g0NTg5ODVZMzIyNTA4RDAxKg0KK1g0NTkxNDBZMzIyMTAzRDAxKg0KK1g0NTkxOTVZMzIxOTk4RDAxKg0KK1g0NTkyNjZZMzIxOTAzRDAxKg0KK1g0NTkzNTJZMzIxODIxRDAxKg0KK1g0NTk0NDlZMzIxNzUzRDAxKg0KK1g0NTk1NTVZMzIxNzAxRDAxKg0KK1g0NTk2NjhZMzIxNjY2RDAxKg0KK1kzMTc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMjg3NTIyRDAyKlg0NTkzMDlZMjg3NjcxRDAxKg0KK1g0NTg4ODBZMjg3Nzc0RDAxKg0KK1g0NTg0NDFZMjg3ODA5RDAxKg0KK1g0NTg0MzdZMjg3ODA4RDAxKg0KK1kzMTIxOTJEMDEqDQorWDQ1ODQ0MVkzMTIxOTFEMDEqDQorWDQ1ODg4MFkzMTIyMjZEMDEqDQorWDQ1OTMwOVkzMTIzMjlEMDEqDQorWDQ1OTY2OFkzMTI0NzhEMDEqDQorWTI5NjMzMEQwMSoNCitYNDU5NTU3WTI5NjI5NkQwMSoNCitYNDU5NDUwWTI5NjI0NEQwMSoNCitYNDU5MzU0WTI5NjE3N0QwMSoNCitYNDU5MjY5WTI5NjA5NUQwMSoNCitYNDU5MTk4WTI5NjAwMEQwMSoNCitYNDU5MTQ0WTI5NTg5NUQwMSoNCitYNDU4OTg1WTI5NTQ5MkQwMSoNCitYNDU4ODY4WTI5NTA3NUQwMSoNCitYNDU4Nzg5WTI5NDY0OEQwMSoNCitYNDU4NzUwWTI5NDIxN0QwMSoNCitZMjkzNzgzRDAxKg0KK1g0NTg3ODlZMjkzMzUyRDAxKg0KK1g0NTg4NjhZMjkyOTI1RDAxKg0KK1g0NTg5ODVZMjkyNTA4RDAxKg0KK1g0NTkxNDBZMjkyMTAzRDAxKg0KK1g0NTkxOTVZMjkxOTk4RDAxKg0KK1g0NTkyNjZZMjkxOTAzRDAxKg0KK1g0NTkzNTJZMjkxODIxRDAxKg0KK1g0NTk0NDlZMjkxNzUzRDAxKg0KK1g0NTk1NTVZMjkxNzAxRDAxKg0KK1g0NTk2NjhZMjkxNjY2RDAxKg0KK1kyODc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMjU2NTIyRDAyKlg0NTkzMDlZMjU2NjcxRDAxKg0KK1g0NTg4ODBZMjU2Nzc0RDAxKg0KK1g0NTg0NDFZMjU2ODA5RDAxKg0KK1g0NTg0MzdZMjU2ODA4RDAxKg0KK1kyODIxOTJEMDEqDQorWDQ1ODQ0MVkyODIxOTFEMDEqDQorWDQ1ODg4MFkyODIyMjZEMDEqDQorWDQ1OTMwOVkyODIzMjlEMDEqDQorWDQ1OTY2OFkyODI0NzhEMDEqDQorWTI2NjMzMEQwMSoNCitYNDU5NTU3WTI2NjI5NkQwMSoNCitYNDU5NDUwWTI2NjI0NEQwMSoNCitYNDU5MzU0WTI2NjE3N0QwMSoNCitYNDU5MjY5WTI2NjA5NUQwMSoNCitYNDU5MTk4WTI2NjAwMEQwMSoNCitYNDU5MTQ0WTI2NTg5NUQwMSoNCitYNDU4OTg1WTI2NTQ5MkQwMSoNCitYNDU4ODY4WTI2NTA3NUQwMSoNCitYNDU4Nzg5WTI2NDY0OEQwMSoNCitYNDU4NzUwWTI2NDIxN0QwMSoNCitZMjYzNzgzRDAxKg0KK1g0NTg3ODlZMjYzMzUyRDAxKg0KK1g0NTg4NjhZMjYyOTI1RDAxKg0KK1g0NTg5ODVZMjYyNTA4RDAxKg0KK1g0NTkxNDBZMjYyMTAzRDAxKg0KK1g0NTkxOTVZMjYxOTk4RDAxKg0KK1g0NTkyNjZZMjYxOTAzRDAxKg0KK1g0NTkzNTJZMjYxODIxRDAxKg0KK1g0NTk0NDlZMjYxNzUzRDAxKg0KK1g0NTk1NTVZMjYxNzAxRDAxKg0KK1g0NTk2NjhZMjYxNjY2RDAxKg0KK1kyNTY1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMjI3NTIyRDAyKlg0NTkzMDlZMjI3NjcxRDAxKg0KK1g0NTg4ODBZMjI3Nzc0RDAxKg0KK1g0NTg0NDFZMjI3ODA5RDAxKg0KK1g0NTg0MzdZMjI3ODA4RDAxKg0KK1kyNTExOTJEMDEqDQorWDQ1ODQ0MVkyNTExOTFEMDEqDQorWDQ1ODg4MFkyNTEyMjZEMDEqDQorWDQ1OTMwOVkyNTEzMjlEMDEqDQorWDQ1OTY2OFkyNTE0NzhEMDEqDQorWTIzNjMzMEQwMSoNCitYNDU5NTU3WTIzNjI5NkQwMSoNCitYNDU5NDUwWTIzNjI0NEQwMSoNCitYNDU5MzU0WTIzNjE3N0QwMSoNCitYNDU5MjY5WTIzNjA5NUQwMSoNCitYNDU5MTk4WTIzNjAwMEQwMSoNCitYNDU5MTQ0WTIzNTg5NUQwMSoNCitYNDU4OTg1WTIzNTQ5MkQwMSoNCitYNDU4ODY4WTIzNTA3NUQwMSoNCitYNDU4Nzg5WTIzNDY0OEQwMSoNCitYNDU4NzUwWTIzNDIxN0QwMSoNCitZMjMzNzgzRDAxKg0KK1g0NTg3ODlZMjMzMzUyRDAxKg0KK1g0NTg4NjhZMjMyOTI1RDAxKg0KK1g0NTg5ODVZMjMyNTA4RDAxKg0KK1g0NTkxNDBZMjMyMTAzRDAxKg0KK1g0NTkxOTVZMjMxOTk4RDAxKg0KK1g0NTkyNjZZMjMxOTAzRDAxKg0KK1g0NTkzNTJZMjMxODIxRDAxKg0KK1g0NTk0NDlZMjMxNzUzRDAxKg0KK1g0NTk1NTVZMjMxNzAxRDAxKg0KK1g0NTk2NjhZMjMxNjY2RDAxKg0KK1kyMjc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMTk3NTIyRDAyKlg0NTkzMDlZMTk3NjcxRDAxKg0KK1g0NTg4ODBZMTk3Nzc0RDAxKg0KK1g0NTg0NDFZMTk3ODA5RDAxKg0KK1g0NTg0MzdZMTk3ODA4RDAxKg0KK1kyMjIxOTJEMDEqDQorWDQ1ODQ0MVkyMjIxOTFEMDEqDQorWDQ1ODg4MFkyMjIyMjZEMDEqDQorWDQ1OTMwOVkyMjIzMjlEMDEqDQorWDQ1OTY2OFkyMjI0NzhEMDEqDQorWTIwNjMzMEQwMSoNCitYNDU5NTU3WTIwNjI5NkQwMSoNCitYNDU5NDUwWTIwNjI0NEQwMSoNCitYNDU5MzU0WTIwNjE3N0QwMSoNCitYNDU5MjY5WTIwNjA5NUQwMSoNCitYNDU5MTk4WTIwNjAwMEQwMSoNCitYNDU5MTQ0WTIwNTg5NUQwMSoNCitYNDU4OTg1WTIwNTQ5MkQwMSoNCitYNDU4ODY4WTIwNTA3NUQwMSoNCitYNDU4Nzg5WTIwNDY0OEQwMSoNCitYNDU4NzUwWTIwNDIxN0QwMSoNCitZMjAzNzgzRDAxKg0KK1g0NTg3ODlZMjAzMzUyRDAxKg0KK1g0NTg4NjhZMjAyOTI1RDAxKg0KK1g0NTg5ODVZMjAyNTA4RDAxKg0KK1g0NTkxNDBZMjAyMTAzRDAxKg0KK1g0NTkxOTVZMjAxOTk4RDAxKg0KK1g0NTkyNjZZMjAxOTAzRDAxKg0KK1g0NTkzNTJZMjAxODIxRDAxKg0KK1g0NTk0NDlZMjAxNzUzRDAxKg0KK1g0NTk1NTVZMjAxNzAxRDAxKg0KK1g0NTk2NjhZMjAxNjY2RDAxKg0KK1kxOTc1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMTY2NTIyRDAyKlg0NTkzMDlZMTY2NjcxRDAxKg0KK1g0NTg4ODBZMTY2Nzc0RDAxKg0KK1g0NTg0NDFZMTY2ODA5RDAxKg0KK1g0NTg0MzdZMTY2ODA4RDAxKg0KK1kxOTIxOTJEMDEqDQorWDQ1ODQ0MVkxOTIxOTFEMDEqDQorWDQ1ODg4MFkxOTIyMjZEMDEqDQorWDQ1OTMwOVkxOTIzMjlEMDEqDQorWDQ1OTY2OFkxOTI0NzhEMDEqDQorWTE3NjMzMEQwMSoNCitYNDU5NTU3WTE3NjI5NkQwMSoNCitYNDU5NDUwWTE3NjI0NEQwMSoNCitYNDU5MzU0WTE3NjE3N0QwMSoNCitYNDU5MjY5WTE3NjA5NUQwMSoNCitYNDU5MTk4WTE3NjAwMEQwMSoNCitYNDU5MTQ0WTE3NTg5NUQwMSoNCitYNDU4OTg1WTE3NTQ5MkQwMSoNCitYNDU4ODY4WTE3NTA3NUQwMSoNCitYNDU4Nzg5WTE3NDY0OEQwMSoNCitYNDU4NzUwWTE3NDIxN0QwMSoNCitZMTczNzgzRDAxKg0KK1g0NTg3ODlZMTczMzUyRDAxKg0KK1g0NTg4NjhZMTcyOTI1RDAxKg0KK1g0NTg5ODVZMTcyNTA4RDAxKg0KK1g0NTkxNDBZMTcyMTAzRDAxKg0KK1g0NTkxOTVZMTcxOTk4RDAxKg0KK1g0NTkyNjZZMTcxOTAzRDAxKg0KK1g0NTkzNTJZMTcxODIxRDAxKg0KK1g0NTk0NDlZMTcxNzUzRDAxKg0KK1g0NTk1NTVZMTcxNzAxRDAxKg0KK1g0NTk2NjhZMTcxNjY2RDAxKg0KK1kxNjY1MjJEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDQ1ODQzN0QwMSoNCitZMTYxMTkyRDAxKg0KK1g0NTg0NDFZMTYxMTkxRDAxKg0KK1g0NTg4ODBZMTYxMjI2RDAxKg0KK1g0NTkzMDlZMTYxMzI5RDAxKg0KK1g0NTk2NjhZMTYxNDc4RDAxKg0KK1kxNDYzMzBEMDEqDQorWDQ1OTU1N1kxNDYyOTZEMDEqDQorWDQ1OTQ1MFkxNDYyNDREMDEqDQorWDQ1OTM1NFkxNDYxNzdEMDEqDQorWDQ1OTI2OVkxNDYwOTVEMDEqDQorWDQ1OTE5OFkxNDYwMDBEMDEqDQorWDQ1OTE0NFkxNDU4OTVEMDEqDQorWDQ1ODk4NVkxNDU0OTJEMDEqDQorWDQ1ODg2OFkxNDUwNzVEMDEqDQorWDQ1ODc4OVkxNDQ2NDhEMDEqDQorWDQ1ODc1MFkxNDQyMTdEMDEqDQorWTE0Mzc4M0QwMSoNCitYNDU4Nzg5WTE0MzM1MkQwMSoNCitYNDU4ODY4WTE0MjkyNUQwMSoNCitYNDU4OTg1WTE0MjUwOEQwMSoNCitYNDU5MTQwWTE0MjEwM0QwMSoNCitYNDU5MTk1WTE0MTk5OEQwMSoNCitYNDU5MjY2WTE0MTkwM0QwMSoNCitYNDU5MzUyWTE0MTgyMUQwMSoNCitYNDU5NDQ5WTE0MTc1M0QwMSoNCitYNDU5NTU1WTE0MTcwMUQwMSoNCitYNDU5NjY4WTE0MTY2NkQwMSoNCitZMTE2MzMwRDAxKg0KK1g0NTk1NTdZMTE2Mjk2RDAxKg0KK1g0NTk0NTBZMTE2MjQ0RDAxKg0KK1g0NTkzNTRZMTE2MTc3RDAxKg0KK1g0NTkyNjlZMTE2MDk1RDAxKg0KK1g0NTkxOThZMTE2MDAwRDAxKg0KK1g0NTkxNDRZMTE1ODk1RDAxKg0KK1g0NTg5ODVZMTE1NDkyRDAxKg0KK1g0NTg4NjhZMTE1MDc1RDAxKg0KK1g0NTg3ODlZMTE0NjQ4RDAxKg0KK1g0NTg3NTBZMTE0MjE3RDAxKg0KK1kxMTM3ODNEMDEqDQorWDQ1ODc4OVkxMTMzNTJEMDEqDQorWDQ1ODg2OFkxMTI5MjVEMDEqDQorWDQ1ODk4NVkxMTI1MDhEMDEqDQorWDQ1OTE0MFkxMTIxMDNEMDEqDQorWDQ1OTE5NVkxMTE5OThEMDEqDQorWDQ1OTI2NlkxMTE5MDNEMDEqDQorWDQ1OTM1MlkxMTE4MjFEMDEqDQorWDQ1OTQ0OVkxMTE3NTNEMDEqDQorWDQ1OTU1NVkxMTE3MDFEMDEqDQorWDQ1OTY2OFkxMTE2NjZEMDEqDQorWTg2MzMwRDAxKg0KK1g0NTk1NTdZODYyOTZEMDEqDQorWDQ1OTQ1MFk4NjI0NEQwMSoNCitYNDU5MzU0WTg2MTc3RDAxKg0KK1g0NTkyNjlZODYwOTVEMDEqDQorWDQ1OTE5OFk4NjAwMEQwMSoNCitYNDU5MTQ0WTg1ODk1RDAxKg0KK1g0NTg5ODVZODU0OTJEMDEqDQorWDQ1ODg2OFk4NTA3NUQwMSoNCitYNDU4Nzg5WTg0NjQ4RDAxKg0KK1g0NTg3NTBZODQyMTdEMDEqDQorWTgzNzgzRDAxKg0KK1g0NTg3ODlZODMzNTJEMDEqDQorWDQ1ODg2OFk4MjkyNUQwMSoNCitYNDU4OTg1WTgyNTA4RDAxKg0KK1g0NTkxNDBZODIxMDNEMDEqDQorWDQ1OTE5NVk4MTk5OEQwMSoNCitYNDU5MjY2WTgxOTAzRDAxKg0KK1g0NTkzNTJZODE4MjFEMDEqDQorWDQ1OTQ0OVk4MTc1M0QwMSoNCitYNDU5NTU1WTgxNzAxRDAxKg0KK1g0NTk2NjhZODE2NjZEMDEqDQorWTU2MzMwRDAxKg0KK1g0NTk1NTdZNTYyOTZEMDEqDQorWDQ1OTQ1MFk1NjI0NEQwMSoNCitYNDU5MzU0WTU2MTc3RDAxKg0KK1g0NTkyNjlZNTYwOTVEMDEqDQorWDQ1OTE5OFk1NjAwMEQwMSoNCitYNDU5MTQ0WTU1ODk1RDAxKg0KK1g0NTg5ODVZNTU0OTJEMDEqDQorWDQ1ODg2OFk1NTA3NUQwMSoNCitYNDU4Nzg5WTU0NjQ4RDAxKg0KK1g0NTg3NTBZNTQyMTdEMDEqDQorWTUzNzgzRDAxKg0KK1g0NTg3ODlZNTMzNTJEMDEqDQorWDQ1ODg2OFk1MjkyNUQwMSoNCitYNDU4OTg1WTUyNTA4RDAxKg0KK1g0NTkxNDBZNTIxMDNEMDEqDQorWDQ1OTE5NVk1MTk5OEQwMSoNCitYNDU5MjY2WTUxOTAzRDAxKg0KK1g0NTkzNTJZNTE4MjFEMDEqDQorWDQ1OTQ0OVk1MTc1M0QwMSoNCitYNDU5NTU1WTUxNzAxRDAxKg0KK1g0NTk2NjhZNTE2NjZEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ1ODQzN0QwMipYNDUzNTAwRDAxKg0KK1k0OTI1N0QwMSoNCitYNDU2OTg1WTQ5MjY0RDAxKg0KK1g0NTcyMTVZNDkzMTlEMDEqDQorWDQ1NzQzM1k0OTQwOUQwMSoNCitYNDU3NjM0WTQ5NTMzRDAxKg0KK1g0NTc4MTRZNDk2ODZEMDEqDQorWDQ1Nzk2N1k0OTg2NkQwMSoNCitYNDU4MDkxWTUwMDY3RDAxKg0KK1g0NTgxODFZNTAyODVEMDEqDQorWDQ1ODIzNlk1MDUxNUQwMSoNCitYNDU4MjUwWTUwNzUwRDAxKg0KK1g0NTgyMzZZNTc0ODVEMDEqDQorWDQ1ODE4MVk1NzcxNUQwMSoNCitYNDU4MDkxWTU3OTMzRDAxKg0KK1g0NTc5NjdZNTgxMzREMDEqDQorWDQ1NzgxNFk1ODMxNEQwMSoNCitYNDU3NjM0WTU4NDY3RDAxKg0KK1g0NTc0MzNZNTg1OTFEMDEqDQorWDQ1NzIxNVk1ODY4MUQwMSoNCitYNDU2OTg1WTU4NzM2RDAxKg0KK1g0NTY3NTBZNTg3NTBEMDEqDQorWDQ1MzUwMFk1ODc0M0QwMSoNCitZNzkyNTdEMDEqDQorWDQ1Njk4NVk3OTI2NEQwMSoNCitYNDU3MjE1WTc5MzE5RDAxKg0KK1g0NTc0MzNZNzk0MDlEMDEqDQorWDQ1NzYzNFk3OTUzM0QwMSoNCitYNDU3ODE0WTc5Njg2RDAxKg0KK1g0NTc5NjdZNzk4NjZEMDEqDQorWDQ1ODA5MVk4MDA2N0QwMSoNCitYNDU4MTgxWTgwMjg1RDAxKg0KK1g0NTgyMzZZODA1MTVEMDEqDQorWDQ1ODI1MFk4MDc1MEQwMSoNCitYNDU4MjM2WTg3NDg1RDAxKg0KK1g0NTgxODFZODc3MTVEMDEqDQorWDQ1ODA5MVk4NzkzM0QwMSoNCitYNDU3OTY3WTg4MTM0RDAxKg0KK1g0NTc4MTRZODgzMTREMDEqDQorWDQ1NzYzNFk4ODQ2N0QwMSoNCitYNDU3NDMzWTg4NTkxRDAxKg0KK1g0NTcyMTVZODg2ODFEMDEqDQorWDQ1Njk4NVk4ODczNkQwMSoNCitYNDU2NzUwWTg4NzUwRDAxKg0KK1g0NTM1MDBZODg3NDNEMDEqDQorWTEwOTI1N0QwMSoNCitYNDU2OTg1WTEwOTI2NEQwMSoNCitYNDU3MjE1WTEwOTMxOUQwMSoNCitYNDU3NDMzWTEwOTQwOUQwMSoNCitYNDU3NjM0WTEwOTUzM0QwMSoNCitYNDU3ODE0WTEwOTY4NkQwMSoNCitYNDU3OTY3WTEwOTg2NkQwMSoNCitYNDU4MDkxWTExMDA2N0QwMSoNCitYNDU4MTgxWTExMDI4NUQwMSoNCitYNDU4MjM2WTExMDUxNUQwMSoNCitYNDU4MjUwWTExMDc1MEQwMSoNCitYNDU4MjM2WTExNzQ4NUQwMSoNCitYNDU4MTgxWTExNzcxNUQwMSoNCitYNDU4MDkxWTExNzkzM0QwMSoNCitYNDU3OTY3WTExODEzNEQwMSoNCitYNDU3ODE0WTExODMxNEQwMSoNCitYNDU3NjM0WTExODQ2N0QwMSoNCitYNDU3NDMzWTExODU5MUQwMSoNCitYNDU3MjE1WTExODY4MUQwMSoNCitYNDU2OTg1WTExODczNkQwMSoNCitYNDU2NzUwWTExODc1MEQwMSoNCitYNDUzNTAwWTExODc0M0QwMSoNCitZMTM5MjU3RDAxKg0KK1g0NTY5ODVZMTM5MjY0RDAxKg0KK1g0NTcyMTVZMTM5MzE5RDAxKg0KK1g0NTc0MzNZMTM5NDA5RDAxKg0KK1g0NTc2MzRZMTM5NTMzRDAxKg0KK1g0NTc4MTRZMTM5Njg2RDAxKg0KK1g0NTc5NjdZMTM5ODY2RDAxKg0KK1g0NTgwOTFZMTQwMDY3RDAxKg0KK1g0NTgxODFZMTQwMjg1RDAxKg0KK1g0NTgyMzZZMTQwNTE1RDAxKg0KK1g0NTgyNTBZMTQwNzUwRDAxKg0KK1g0NTgyMzZZMTQ3NDg1RDAxKg0KK1g0NTgxODFZMTQ3NzE1RDAxKg0KK1g0NTgwOTFZMTQ3OTMzRDAxKg0KK1g0NTc5NjdZMTQ4MTM0RDAxKg0KK1g0NTc4MTRZMTQ4MzE0RDAxKg0KK1g0NTc2MzRZMTQ4NDY3RDAxKg0KK1g0NTc0MzNZMTQ4NTkxRDAxKg0KK1g0NTcyMTVZMTQ4NjgxRDAxKg0KK1g0NTY5ODVZMTQ4NzM2RDAxKg0KK1g0NTY3NTBZMTQ4NzUwRDAxKg0KK1g0NTM1MDBZMTQ4NzQzRDAxKg0KK1kxNjkyNTdEMDEqDQorWDQ1Njk4NVkxNjkyNjREMDEqDQorWDQ1NzIxNVkxNjkzMTlEMDEqDQorWDQ1NzQzM1kxNjk0MDlEMDEqDQorWDQ1NzYzNFkxNjk1MzNEMDEqDQorWDQ1NzgxNFkxNjk2ODZEMDEqDQorWDQ1Nzk2N1kxNjk4NjZEMDEqDQorWDQ1ODA5MVkxNzAwNjdEMDEqDQorWDQ1ODE4MVkxNzAyODVEMDEqDQorWDQ1ODIzNlkxNzA1MTVEMDEqDQorWDQ1ODI1MFkxNzA3NTBEMDEqDQorWDQ1ODIzNlkxNzc0ODVEMDEqDQorWDQ1ODE4MVkxNzc3MTVEMDEqDQorWDQ1ODA5MVkxNzc5MzNEMDEqDQorWDQ1Nzk2N1kxNzgxMzREMDEqDQorWDQ1NzgxNFkxNzgzMTREMDEqDQorWDQ1NzYzNFkxNzg0NjdEMDEqDQorWDQ1NzQzM1kxNzg1OTFEMDEqDQorWDQ1NzIxNVkxNzg2ODFEMDEqDQorWDQ1Njk4NVkxNzg3MzZEMDEqDQorWDQ1Njc1MFkxNzg3NTBEMDEqDQorWDQ1MzUwMFkxNzg3NDNEMDEqDQorWTE5OTI1N0QwMSoNCitYNDU2OTg1WTE5OTI2NEQwMSoNCitYNDU3MjE1WTE5OTMxOUQwMSoNCitYNDU3NDMzWTE5OTQwOUQwMSoNCitYNDU3NjM0WTE5OTUzM0QwMSoNCitYNDU3ODE0WTE5OTY4NkQwMSoNCitYNDU3OTY3WTE5OTg2NkQwMSoNCitYNDU4MDkxWTIwMDA2N0QwMSoNCitYNDU4MTgxWTIwMDI4NUQwMSoNCitYNDU4MjM2WTIwMDUxNUQwMSoNCitYNDU4MjUwWTIwMDc1MEQwMSoNCitYNDU4MjM2WTIwNzQ4NUQwMSoNCitYNDU4MTgxWTIwNzcxNUQwMSoNCitYNDU4MDkxWTIwNzkzM0QwMSoNCitYNDU3OTY3WTIwODEzNEQwMSoNCitYNDU3ODE0WTIwODMxNEQwMSoNCitYNDU3NjM0WTIwODQ2N0QwMSoNCitYNDU3NDMzWTIwODU5MUQwMSoNCitYNDU3MjE1WTIwODY4MUQwMSoNCitYNDU2OTg1WTIwODczNkQwMSoNCitYNDU2NzUwWTIwODc1MEQwMSoNCitYNDUzNTAwWTIwODc0M0QwMSoNCitZMjI5MjU3RDAxKg0KK1g0NTY5ODVZMjI5MjY0RDAxKg0KK1g0NTcyMTVZMjI5MzE5RDAxKg0KK1g0NTc0MzNZMjI5NDA5RDAxKg0KK1g0NTc2MzRZMjI5NTMzRDAxKg0KK1g0NTc4MTRZMjI5Njg2RDAxKg0KK1g0NTc5NjdZMjI5ODY2RDAxKg0KK1g0NTgwOTFZMjMwMDY3RDAxKg0KK1g0NTgxODFZMjMwMjg1RDAxKg0KK1g0NTgyMzZZMjMwNTE1RDAxKg0KK1g0NTgyNTBZMjMwNzUwRDAxKg0KK1g0NTgyMzZZMjM3NDg1RDAxKg0KK1g0NTgxODFZMjM3NzE1RDAxKg0KK1g0NTgwOTFZMjM3OTMzRDAxKg0KK1g0NTc5NjdZMjM4MTM0RDAxKg0KK1g0NTc4MTRZMjM4MzE0RDAxKg0KK1g0NTc2MzRZMjM4NDY3RDAxKg0KK1g0NTc0MzNZMjM4NTkxRDAxKg0KK1g0NTcyMTVZMjM4NjgxRDAxKg0KK1g0NTY5ODVZMjM4NzM2RDAxKg0KK1g0NTY3NTBZMjM4NzUwRDAxKg0KK1g0NTM1MDBZMjM4NzQzRDAxKg0KK1kyNTkyNTdEMDEqDQorWDQ1Njk4NVkyNTkyNjREMDEqDQorWDQ1NzIxNVkyNTkzMTlEMDEqDQorWDQ1NzQzM1kyNTk0MDlEMDEqDQorWDQ1NzYzNFkyNTk1MzNEMDEqDQorWDQ1NzgxNFkyNTk2ODZEMDEqDQorWDQ1Nzk2N1kyNTk4NjZEMDEqDQorWDQ1ODA5MVkyNjAwNjdEMDEqDQorWDQ1ODE4MVkyNjAyODVEMDEqDQorWDQ1ODIzNlkyNjA1MTVEMDEqDQorWDQ1ODI1MFkyNjA3NTBEMDEqDQorWDQ1ODIzNlkyNjc0ODVEMDEqDQorWDQ1ODE4MVkyNjc3MTVEMDEqDQorWDQ1ODA5MVkyNjc5MzNEMDEqDQorWDQ1Nzk2N1kyNjgxMzREMDEqDQorWDQ1NzgxNFkyNjgzMTREMDEqDQorWDQ1NzYzNFkyNjg0NjdEMDEqDQorWDQ1NzQzM1kyNjg1OTFEMDEqDQorWDQ1NzIxNVkyNjg2ODFEMDEqDQorWDQ1Njk4NVkyNjg3MzZEMDEqDQorWDQ1Njc1MFkyNjg3NTBEMDEqDQorWDQ1MzUwMFkyNjg3NDNEMDEqDQorWTI4OTI1N0QwMSoNCitYNDU2OTg1WTI4OTI2NEQwMSoNCitYNDU3MjE1WTI4OTMxOUQwMSoNCitYNDU3NDMzWTI4OTQwOUQwMSoNCitYNDU3NjM0WTI4OTUzM0QwMSoNCitYNDU3ODE0WTI4OTY4NkQwMSoNCitYNDU3OTY3WTI4OTg2NkQwMSoNCitYNDU4MDkxWTI5MDA2N0QwMSoNCitYNDU4MTgxWTI5MDI4NUQwMSoNCitYNDU4MjM2WTI5MDUxNUQwMSoNCitYNDU4MjUwWTI5MDc1MEQwMSoNCitYNDU4MjM2WTI5NzQ4NUQwMSoNCitYNDU4MTgxWTI5NzcxNUQwMSoNCitYNDU4MDkxWTI5NzkzM0QwMSoNCitYNDU3OTY3WTI5ODEzNEQwMSoNCitYNDU3ODE0WTI5ODMxNEQwMSoNCitYNDU3NjM0WTI5ODQ2N0QwMSoNCitYNDU3NDMzWTI5ODU5MUQwMSoNCitYNDU3MjE1WTI5ODY4MUQwMSoNCitYNDU2OTg1WTI5ODczNkQwMSoNCitYNDU2NzUwWTI5ODc1MEQwMSoNCitYNDUzNTAwWTI5ODc0M0QwMSoNCitZMzE5MjU3RDAxKg0KK1g0NTY5ODVZMzE5MjY0RDAxKg0KK1g0NTcyMTVZMzE5MzE5RDAxKg0KK1g0NTc0MzNZMzE5NDA5RDAxKg0KK1g0NTc2MzRZMzE5NTMzRDAxKg0KK1g0NTc4MTRZMzE5Njg2RDAxKg0KK1g0NTc5NjdZMzE5ODY2RDAxKg0KK1g0NTgwOTFZMzIwMDY3RDAxKg0KK1g0NTgxODFZMzIwMjg1RDAxKg0KK1g0NTgyMzZZMzIwNTE1RDAxKg0KK1g0NTgyNTBZMzIwNzUwRDAxKg0KK1g0NTgyMzZZMzI3NDg1RDAxKg0KK1g0NTgxODFZMzI3NzE1RDAxKg0KK1g0NTgwOTFZMzI3OTMzRDAxKg0KK1g0NTc5NjdZMzI4MTM0RDAxKg0KK1g0NTc4MTRZMzI4MzE0RDAxKg0KK1g0NTc2MzRZMzI4NDY3RDAxKg0KK1g0NTc0MzNZMzI4NTkxRDAxKg0KK1g0NTcyMTVZMzI4NjgxRDAxKg0KK1g0NTY5ODVZMzI4NzM2RDAxKg0KK1g0NTY3NTBZMzI4NzUwRDAxKg0KK1g0NTM1MDBZMzI4NzQzRDAxKg0KK1kzNDkyNTdEMDEqDQorWDQ1Njk4NVkzNDkyNjREMDEqDQorWDQ1NzIxNVkzNDkzMTlEMDEqDQorWDQ1NzQzM1kzNDk0MDlEMDEqDQorWDQ1NzYzNFkzNDk1MzNEMDEqDQorWDQ1NzgxNFkzNDk2ODZEMDEqDQorWDQ1Nzk2N1kzNDk4NjZEMDEqDQorWDQ1ODA5MVkzNTAwNjdEMDEqDQorWDQ1ODE4MVkzNTAyODVEMDEqDQorWDQ1ODIzNlkzNTA1MTVEMDEqDQorWDQ1ODI1MFkzNTA3NTBEMDEqDQorWDQ1ODIzNlkzNTc0ODVEMDEqDQorWDQ1ODE4MVkzNTc3MTVEMDEqDQorWDQ1ODA5MVkzNTc5MzNEMDEqDQorWDQ1Nzk2N1kzNTgxMzREMDEqDQorWDQ1NzgxNFkzNTgzMTREMDEqDQorWDQ1NzYzNFkzNTg0NjdEMDEqDQorWDQ1NzQzM1kzNTg1OTFEMDEqDQorWDQ1NzIxNVkzNTg2ODFEMDEqDQorWDQ1Njk4NVkzNTg3MzZEMDEqDQorWDQ1Njc1MFkzNTg3NTBEMDEqDQorWDQ1MzUwMFkzNTg3NDNEMDEqDQorWTM3OTI1N0QwMSoNCitYNDU2OTg1WTM3OTI2NEQwMSoNCitYNDU3MjE1WTM3OTMxOUQwMSoNCitYNDU3NDMzWTM3OTQwOUQwMSoNCitYNDU3NjM0WTM3OTUzM0QwMSoNCitYNDU3ODE0WTM3OTY4NkQwMSoNCitYNDU3OTY3WTM3OTg2NkQwMSoNCitYNDU4MDkxWTM4MDA2N0QwMSoNCitYNDU4MTgxWTM4MDI4NUQwMSoNCitYNDU4MjM2WTM4MDUxNUQwMSoNCitYNDU4MjUwWTM4MDc1MEQwMSoNCitYNDU4MjM2WTM4NzQ4NUQwMSoNCitYNDU4MTgxWTM4NzcxNUQwMSoNCitYNDU4MDkxWTM4NzkzM0QwMSoNCitYNDU3OTY3WTM4ODEzNEQwMSoNCitYNDU3ODE0WTM4ODMxNEQwMSoNCitYNDU3NjM0WTM4ODQ2N0QwMSoNCitYNDU3NDMzWTM4ODU5MUQwMSoNCitYNDU3MjE1WTM4ODY4MUQwMSoNCitYNDU2OTg1WTM4ODczNkQwMSoNCitYNDU2NzUwWTM4ODc1MEQwMSoNCitYNDUzNTAwWTM4ODc0M0QwMSoNCitZMzk3MDAwRDAxKg0KK1g0NTg0MzdEMDEqDQorWTM3NzgwOEQwMSoNCitYNDU4MDAyWTM3Nzc3NEQwMSoNCitYNDU3NTczWTM3NzY3MUQwMSoNCitYNDU3MTY2WTM3NzUwM0QwMSoNCitYNDU2NzkwWTM3NzI3MkQwMSoNCitYNDU2NDU1WTM3Njk4NkQwMSoNCitYNDU2MTY5WTM3NjY1MUQwMSoNCitYNDU1OTM4WTM3NjI3NUQwMSoNCitYNDU1NzcwWTM3NTg2OEQwMSoNCitYNDU1NjY3WTM3NTQzOUQwMSoNCitYNDU1NjMyWTM3NTAwMEQwMSoNCitYNDU1NjY3WTM3NDU2MUQwMSoNCitYNDU1NzcwWTM3NDEzMkQwMSoNCitYNDU1OTM4WTM3MzcyNUQwMSoNCitYNDU2MTY5WTM3MzM0OUQwMSoNCitYNDU2NDU1WTM3MzAxNEQwMSoNCitYNDU2NzkwWTM3MjcyOEQwMSoNCitYNDU3MTY2WTM3MjQ5N0QwMSoNCitYNDU3NTczWTM3MjMyOUQwMSoNCitYNDU4MDAyWTM3MjIyNkQwMSoNCitYNDU4NDM3WTM3MjE5MkQwMSoNCitZMzQ3ODA4RDAxKg0KK1g0NTgwMDJZMzQ3Nzc0RDAxKg0KK1g0NTc1NzNZMzQ3NjcxRDAxKg0KK1g0NTcxNjZZMzQ3NTAzRDAxKg0KK1g0NTY3OTBZMzQ3MjcyRDAxKg0KK1g0NTY0NTVZMzQ2OTg2RDAxKg0KK1g0NTYxNjlZMzQ2NjUxRDAxKg0KK1g0NTU5MzhZMzQ2Mjc1RDAxKg0KK1g0NTU3NzBZMzQ1ODY4RDAxKg0KK1g0NTU2NjdZMzQ1NDM5RDAxKg0KK1g0NTU2MzJZMzQ1MDAwRDAxKg0KK1g0NTU2NjdZMzQ0NTYxRDAxKg0KK1g0NTU3NzBZMzQ0MTMyRDAxKg0KK1g0NTU5MzhZMzQzNzI1RDAxKg0KK1g0NTYxNjlZMzQzMzQ5RDAxKg0KK1g0NTY0NTVZMzQzMDE0RDAxKg0KK1g0NTY3OTBZMzQyNzI4RDAxKg0KK1g0NTcxNjZZMzQyNDk3RDAxKg0KK1g0NTc1NzNZMzQyMzI5RDAxKg0KK1g0NTgwMDJZMzQyMjI2RDAxKg0KK1g0NTg0MzdZMzQyMTkyRDAxKg0KK1kzMTc4MDhEMDEqDQorWDQ1ODAwMlkzMTc3NzREMDEqDQorWDQ1NzU3M1kzMTc2NzFEMDEqDQorWDQ1NzE2NlkzMTc1MDNEMDEqDQorWDQ1Njc5MFkzMTcyNzJEMDEqDQorWDQ1NjQ1NVkzMTY5ODZEMDEqDQorWDQ1NjE2OVkzMTY2NTFEMDEqDQorWDQ1NTkzOFkzMTYyNzVEMDEqDQorWDQ1NTc3MFkzMTU4NjhEMDEqDQorWDQ1NTY2N1kzMTU0MzlEMDEqDQorWDQ1NTYzMlkzMTUwMDBEMDEqDQorWDQ1NTY2N1kzMTQ1NjFEMDEqDQorWDQ1NTc3MFkzMTQxMzJEMDEqDQorWDQ1NTkzOFkzMTM3MjVEMDEqDQorWDQ1NjE2OVkzMTMzNDlEMDEqDQorWDQ1NjQ1NVkzMTMwMTREMDEqDQorWDQ1Njc5MFkzMTI3MjhEMDEqDQorWDQ1NzE2NlkzMTI0OTdEMDEqDQorWDQ1NzU3M1kzMTIzMjlEMDEqDQorWDQ1ODAwMlkzMTIyMjZEMDEqDQorWDQ1ODQzN1kzMTIxOTJEMDEqDQorWTI4NzgwOEQwMSoNCitYNDU4MDAyWTI4Nzc3NEQwMSoNCitYNDU3NTczWTI4NzY3MUQwMSoNCitYNDU3MTY2WTI4NzUwM0QwMSoNCitYNDU2NzkwWTI4NzI3MkQwMSoNCitYNDU2NDU1WTI4Njk4NkQwMSoNCitYNDU2MTY5WTI4NjY1MUQwMSoNCitYNDU1OTM4WTI4NjI3NUQwMSoNCitYNDU1NzcwWTI4NTg2OEQwMSoNCitYNDU1NjY3WTI4NTQzOUQwMSoNCitYNDU1NjMyWTI4NTAwMEQwMSoNCitYNDU1NjY3WTI4NDU2MUQwMSoNCitYNDU1NzcwWTI4NDEzMkQwMSoNCitYNDU1OTM4WTI4MzcyNUQwMSoNCitYNDU2MTY5WTI4MzM0OUQwMSoNCitYNDU2NDU1WTI4MzAxNEQwMSoNCitYNDU2NzkwWTI4MjcyOEQwMSoNCitYNDU3MTY2WTI4MjQ5N0QwMSoNCitYNDU3NTczWTI4MjMyOUQwMSoNCitYNDU4MDAyWTI4MjIyNkQwMSoNCitYNDU4NDM3WTI4MjE5MkQwMSoNCitZMjU2ODA4RDAxKg0KK1g0NTgwMDJZMjU2Nzc0RDAxKg0KK1g0NTc1NzNZMjU2NjcxRDAxKg0KK1g0NTcxNjZZMjU2NTAzRDAxKg0KK1g0NTY3OTBZMjU2MjcyRDAxKg0KK1g0NTY0NTVZMjU1OTg2RDAxKg0KK1g0NTYxNjlZMjU1NjUxRDAxKg0KK1g0NTU5MzhZMjU1Mjc1RDAxKg0KK1g0NTU3NzBZMjU0ODY4RDAxKg0KK1g0NTU2NjdZMjU0NDM5RDAxKg0KK1g0NTU2MzJZMjU0MDAwRDAxKg0KK1g0NTU2NjdZMjUzNTYxRDAxKg0KK1g0NTU3NzBZMjUzMTMyRDAxKg0KK1g0NTU5MzhZMjUyNzI1RDAxKg0KK1g0NTYxNjlZMjUyMzQ5RDAxKg0KK1g0NTY0NTVZMjUyMDE0RDAxKg0KK1g0NTY3OTBZMjUxNzI4RDAxKg0KK1g0NTcxNjZZMjUxNDk3RDAxKg0KK1g0NTc1NzNZMjUxMzI5RDAxKg0KK1g0NTgwMDJZMjUxMjI2RDAxKg0KK1g0NTg0MzdZMjUxMTkyRDAxKg0KK1kyMjc4MDhEMDEqDQorWDQ1ODAwMlkyMjc3NzREMDEqDQorWDQ1NzU3M1kyMjc2NzFEMDEqDQorWDQ1NzE2NlkyMjc1MDNEMDEqDQorWDQ1Njc5MFkyMjcyNzJEMDEqDQorWDQ1NjQ1NVkyMjY5ODZEMDEqDQorWDQ1NjE2OVkyMjY2NTFEMDEqDQorWDQ1NTkzOFkyMjYyNzVEMDEqDQorWDQ1NTc3MFkyMjU4NjhEMDEqDQorWDQ1NTY2N1kyMjU0MzlEMDEqDQorWDQ1NTYzMlkyMjUwMDBEMDEqDQorWDQ1NTY2N1kyMjQ1NjFEMDEqDQorWDQ1NTc3MFkyMjQxMzJEMDEqDQorWDQ1NTkzOFkyMjM3MjVEMDEqDQorWDQ1NjE2OVkyMjMzNDlEMDEqDQorWDQ1NjQ1NVkyMjMwMTREMDEqDQorWDQ1Njc5MFkyMjI3MjhEMDEqDQorWDQ1NzE2NlkyMjI0OTdEMDEqDQorWDQ1NzU3M1kyMjIzMjlEMDEqDQorWDQ1ODAwMlkyMjIyMjZEMDEqDQorWDQ1ODQzN1kyMjIxOTJEMDEqDQorWTE5NzgwOEQwMSoNCitYNDU4MDAyWTE5Nzc3NEQwMSoNCitYNDU3NTczWTE5NzY3MUQwMSoNCitYNDU3MTY2WTE5NzUwM0QwMSoNCitYNDU2NzkwWTE5NzI3MkQwMSoNCitYNDU2NDU1WTE5Njk4NkQwMSoNCitYNDU2MTY5WTE5NjY1MUQwMSoNCitYNDU1OTM4WTE5NjI3NUQwMSoNCitYNDU1NzcwWTE5NTg2OEQwMSoNCitYNDU1NjY3WTE5NTQzOUQwMSoNCitYNDU1NjMyWTE5NTAwMEQwMSoNCitYNDU1NjY3WTE5NDU2MUQwMSoNCitYNDU1NzcwWTE5NDEzMkQwMSoNCitYNDU1OTM4WTE5MzcyNUQwMSoNCitYNDU2MTY5WTE5MzM0OUQwMSoNCitYNDU2NDU1WTE5MzAxNEQwMSoNCitYNDU2NzkwWTE5MjcyOEQwMSoNCitYNDU3MTY2WTE5MjQ5N0QwMSoNCitYNDU3NTczWTE5MjMyOUQwMSoNCitYNDU4MDAyWTE5MjIyNkQwMSoNCitYNDU4NDM3WTE5MjE5MkQwMSoNCitZMTY2ODA4RDAxKg0KK1g0NTgwMDJZMTY2Nzc0RDAxKg0KK1g0NTc1NzNZMTY2NjcxRDAxKg0KK1g0NTcxNjZZMTY2NTAzRDAxKg0KK1g0NTY3OTBZMTY2MjcyRDAxKg0KK1g0NTY0NTVZMTY1OTg2RDAxKg0KK1g0NTYxNjlZMTY1NjUxRDAxKg0KK1g0NTU5MzhZMTY1Mjc1RDAxKg0KK1g0NTU3NzBZMTY0ODY4RDAxKg0KK1g0NTU2NjdZMTY0NDM5RDAxKg0KK1g0NTU2MzJZMTY0MDAwRDAxKg0KK1g0NTU2NjdZMTYzNTYxRDAxKg0KK1g0NTU3NzBZMTYzMTMyRDAxKg0KK1g0NTU5MzhZMTYyNzI1RDAxKg0KK1g0NTYxNjlZMTYyMzQ5RDAxKg0KK1g0NTY0NTVZMTYyMDE0RDAxKg0KK1g0NTY3OTBZMTYxNzI4RDAxKg0KK1g0NTcxNjZZMTYxNDk3RDAxKg0KK1g0NTc1NzNZMTYxMzI5RDAxKg0KK1g0NTgwMDJZMTYxMjI2RDAxKg0KK1g0NTg0MzdZMTYxMTkyRDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0NTM1MDBZMTQ4NzQzRDAyKlg0NTM0NDFZMTQ4NzQzRDAxKg0KK1kxNTQwMDBEMDEqDQorWDQ0MDQ0NkQwMSoNCitZMTcwNzIxRDAxKg0KK1g0NDA4NTVZMTcxMTk5RDAxKg0KK1g0NDEyNDVZMTcxODM3RDAxKg0KK1g0NDE1MzFZMTcyNTI4RDAxKg0KK1g0NDE3MDZZMTczMjU1RDAxKg0KK1g0NDE3NTBZMTc0MDAwRDAxKg0KK1g0NDE3MDZZMTc0NzQ1RDAxKg0KK1g0NDE1MzFZMTc1NDcyRDAxKg0KK1g0NDEyNDVZMTc2MTYzRDAxKg0KK1g0NDA4NTVZMTc2ODAxRDAxKg0KK1g0NDA0NDZZMTc3Mjc5RDAxKg0KK1kyMDA3MjFEMDEqDQorWDQ0MDg1NVkyMDExOTlEMDEqDQorWDQ0MTI0NVkyMDE4MzdEMDEqDQorWDQ0MTUzMVkyMDI1MjhEMDEqDQorWDQ0MTcwNlkyMDMyNTVEMDEqDQorWDQ0MTc1MFkyMDQwMDBEMDEqDQorWDQ0MTcwNlkyMDQ3NDVEMDEqDQorWDQ0MTUzMVkyMDU0NzJEMDEqDQorWDQ0MTI0NVkyMDYxNjNEMDEqDQorWDQ0MDg1NVkyMDY4MDFEMDEqDQorWDQ0MDQ0NlkyMDcyNzlEMDEqDQorWTIzMDcyMUQwMSoNCitYNDQwODU1WTIzMTE5OUQwMSoNCitYNDQxMjQ1WTIzMTgzN0QwMSoNCitYNDQxNTMxWTIzMjUyOEQwMSoNCitYNDQxNzA2WTIzMzI1NUQwMSoNCitYNDQxNzUwWTIzNDAwMEQwMSoNCitYNDQxNzA2WTIzNDc0NUQwMSoNCitYNDQxNTMxWTIzNTQ3MkQwMSoNCitYNDQxMjQ1WTIzNjE2M0QwMSoNCitYNDQwODU1WTIzNjgwMUQwMSoNCitYNDQwNDQ2WTIzNzI3OUQwMSoNCitZMjYwNzIxRDAxKg0KK1g0NDA4NTVZMjYxMTk5RDAxKg0KK1g0NDEyNDVZMjYxODM3RDAxKg0KK1g0NDE1MzFZMjYyNTI4RDAxKg0KK1g0NDE3MDZZMjYzMjU1RDAxKg0KK1g0NDE3NTBZMjY0MDAwRDAxKg0KK1g0NDE3MDZZMjY0NzQ1RDAxKg0KK1g0NDE1MzFZMjY1NDcyRDAxKg0KK1g0NDEyNDVZMjY2MTYzRDAxKg0KK1g0NDA4NTVZMjY2ODAxRDAxKg0KK1g0NDA0NDZZMjY3Mjc5RDAxKg0KK1kyOTA3MjFEMDEqDQorWDQ0MDg1NVkyOTExOTlEMDEqDQorWDQ0MTI0NVkyOTE4MzdEMDEqDQorWDQ0MTUzMVkyOTI1MjhEMDEqDQorWDQ0MTcwNlkyOTMyNTVEMDEqDQorWDQ0MTc1MFkyOTQwMDBEMDEqDQorWDQ0MTcwNlkyOTQ3NDVEMDEqDQorWDQ0MTUzMVkyOTU0NzJEMDEqDQorWDQ0MTI0NVkyOTYxNjNEMDEqDQorWDQ0MDg1NVkyOTY4MDFEMDEqDQorWDQ0MDQ0NlkyOTcyNzlEMDEqDQorWTMyMDcyMUQwMSoNCitYNDQwODU1WTMyMTE5OUQwMSoNCitYNDQxMjQ1WTMyMTgzN0QwMSoNCitYNDQxNTMxWTMyMjUyOEQwMSoNCitYNDQxNzA2WTMyMzI1NUQwMSoNCitYNDQxNzUwWTMyNDAwMEQwMSoNCitYNDQxNzA2WTMyNDc0NUQwMSoNCitYNDQxNTMxWTMyNTQ3MkQwMSoNCitYNDQxMjQ1WTMyNjE2M0QwMSoNCitYNDQwODU1WTMyNjgwMUQwMSoNCitYNDQwNDQ2WTMyNzI3OUQwMSoNCitZMzUwNzIxRDAxKg0KK1g0NDA4NTVZMzUxMTk5RDAxKg0KK1g0NDEyNDVZMzUxODM3RDAxKg0KK1g0NDE1MzFZMzUyNTI4RDAxKg0KK1g0NDE3MDZZMzUzMjU1RDAxKg0KK1g0NDE3NTBZMzU0MDAwRDAxKg0KK1g0NDE3MDZZMzU0NzQ1RDAxKg0KK1g0NDE1MzFZMzU1NDcyRDAxKg0KK1g0NDEyNDVZMzU2MTYzRDAxKg0KK1g0NDA4NTVZMzU2ODAxRDAxKg0KK1g0NDA0NDZZMzU3Mjc5RDAxKg0KK1kzODA3MjFEMDEqDQorWDQ0MDg1NVkzODExOTlEMDEqDQorWDQ0MTI0NVkzODE4MzdEMDEqDQorWDQ0MTUzMVkzODI1MjhEMDEqDQorWDQ0MTcwNlkzODMyNTVEMDEqDQorWDQ0MTc1MFkzODQwMDBEMDEqDQorWDQ0MTcwNlkzODQ3NDVEMDEqDQorWDQ0MTUzMVkzODU0NzJEMDEqDQorWDQ0MTI0NVkzODYxNjNEMDEqDQorWDQ0MDg1NVkzODY4MDFEMDEqDQorWDQ0MDQ0NlkzODcyNzlEMDEqDQorWTM5NzAwMEQwMSoNCitYNDUzNTAwRDAxKg0KK1kzODg3NDNEMDEqDQorWDQ1MDAxNVkzODg3MzZEMDEqDQorWDQ0OTc4NVkzODg2ODFEMDEqDQorWDQ0OTU2N1kzODg1OTFEMDEqDQorWDQ0OTM2NlkzODg0NjdEMDEqDQorWDQ0OTE4NlkzODgzMTREMDEqDQorWDQ0OTAzM1kzODgxMzREMDEqDQorWDQ0ODkwOVkzODc5MzNEMDEqDQorWDQ0ODgxOVkzODc3MTVEMDEqDQorWDQ0ODc2NFkzODc0ODVEMDEqDQorWDQ0ODc1MFkzODcyNTBEMDEqDQorWDQ0ODc2NFkzODA1MTVEMDEqDQorWDQ0ODgxOVkzODAyODVEMDEqDQorWDQ0ODkwOVkzODAwNjdEMDEqDQorWDQ0OTAzM1kzNzk4NjZEMDEqDQorWDQ0OTE4NlkzNzk2ODZEMDEqDQorWDQ0OTM2NlkzNzk1MzNEMDEqDQorWDQ0OTU2N1kzNzk0MDlEMDEqDQorWDQ0OTc4NVkzNzkzMTlEMDEqDQorWDQ1MDAxNVkzNzkyNjREMDEqDQorWDQ1MDI1MFkzNzkyNTBEMDEqDQorWDQ1MzUwMFkzNzkyNTdEMDEqDQorWTM1ODc0M0QwMSoNCitYNDUwMDE1WTM1ODczNkQwMSoNCitYNDQ5Nzg1WTM1ODY4MUQwMSoNCitYNDQ5NTY3WTM1ODU5MUQwMSoNCitYNDQ5MzY2WTM1ODQ2N0QwMSoNCitYNDQ5MTg2WTM1ODMxNEQwMSoNCitYNDQ5MDMzWTM1ODEzNEQwMSoNCitYNDQ4OTA5WTM1NzkzM0QwMSoNCitYNDQ4ODE5WTM1NzcxNUQwMSoNCitYNDQ4NzY0WTM1NzQ4NUQwMSoNCitYNDQ4NzUwWTM1NzI1MEQwMSoNCitYNDQ4NzY0WTM1MDUxNUQwMSoNCitYNDQ4ODE5WTM1MDI4NUQwMSoNCitYNDQ4OTA5WTM1MDA2N0QwMSoNCitYNDQ5MDMzWTM0OTg2NkQwMSoNCitYNDQ5MTg2WTM0OTY4NkQwMSoNCitYNDQ5MzY2WTM0OTUzM0QwMSoNCitYNDQ5NTY3WTM0OTQwOUQwMSoNCitYNDQ5Nzg1WTM0OTMxOUQwMSoNCitYNDUwMDE1WTM0OTI2NEQwMSoNCitYNDUwMjUwWTM0OTI1MEQwMSoNCitYNDUzNTAwWTM0OTI1N0QwMSoNCitZMzI4NzQzRDAxKg0KK1g0NTAwMTVZMzI4NzM2RDAxKg0KK1g0NDk3ODVZMzI4NjgxRDAxKg0KK1g0NDk1NjdZMzI4NTkxRDAxKg0KK1g0NDkzNjZZMzI4NDY3RDAxKg0KK1g0NDkxODZZMzI4MzE0RDAxKg0KK1g0NDkwMzNZMzI4MTM0RDAxKg0KK1g0NDg5MDlZMzI3OTMzRDAxKg0KK1g0NDg4MTlZMzI3NzE1RDAxKg0KK1g0NDg3NjRZMzI3NDg1RDAxKg0KK1g0NDg3NTBZMzI3MjUwRDAxKg0KK1g0NDg3NjRZMzIwNTE1RDAxKg0KK1g0NDg4MTlZMzIwMjg1RDAxKg0KK1g0NDg5MDlZMzIwMDY3RDAxKg0KK1g0NDkwMzNZMzE5ODY2RDAxKg0KK1g0NDkxODZZMzE5Njg2RDAxKg0KK1g0NDkzNjZZMzE5NTMzRDAxKg0KK1g0NDk1NjdZMzE5NDA5RDAxKg0KK1g0NDk3ODVZMzE5MzE5RDAxKg0KK1g0NTAwMTVZMzE5MjY0RDAxKg0KK1g0NTAyNTBZMzE5MjUwRDAxKg0KK1g0NTM1MDBZMzE5MjU3RDAxKg0KK1kyOTg3NDNEMDEqDQorWDQ1MDAxNVkyOTg3MzZEMDEqDQorWDQ0OTc4NVkyOTg2ODFEMDEqDQorWDQ0OTU2N1kyOTg1OTFEMDEqDQorWDQ0OTM2NlkyOTg0NjdEMDEqDQorWDQ0OTE4NlkyOTgzMTREMDEqDQorWDQ0OTAzM1kyOTgxMzREMDEqDQorWDQ0ODkwOVkyOTc5MzNEMDEqDQorWDQ0ODgxOVkyOTc3MTVEMDEqDQorWDQ0ODc2NFkyOTc0ODVEMDEqDQorWDQ0ODc1MFkyOTcyNTBEMDEqDQorWDQ0ODc2NFkyOTA1MTVEMDEqDQorWDQ0ODgxOVkyOTAyODVEMDEqDQorWDQ0ODkwOVkyOTAwNjdEMDEqDQorWDQ0OTAzM1kyODk4NjZEMDEqDQorWDQ0OTE4NlkyODk2ODZEMDEqDQorWDQ0OTM2NlkyODk1MzNEMDEqDQorWDQ0OTU2N1kyODk0MDlEMDEqDQorWDQ0OTc4NVkyODkzMTlEMDEqDQorWDQ1MDAxNVkyODkyNjREMDEqDQorWDQ1MDI1MFkyODkyNTBEMDEqDQorWDQ1MzUwMFkyODkyNTdEMDEqDQorWTI2ODc0M0QwMSoNCitYNDUwMDE1WTI2ODczNkQwMSoNCitYNDQ5Nzg1WTI2ODY4MUQwMSoNCitYNDQ5NTY3WTI2ODU5MUQwMSoNCitYNDQ5MzY2WTI2ODQ2N0QwMSoNCitYNDQ5MTg2WTI2ODMxNEQwMSoNCitYNDQ5MDMzWTI2ODEzNEQwMSoNCitYNDQ4OTA5WTI2NzkzM0QwMSoNCitYNDQ4ODE5WTI2NzcxNUQwMSoNCitYNDQ4NzY0WTI2NzQ4NUQwMSoNCitYNDQ4NzUwWTI2NzI1MEQwMSoNCitYNDQ4NzY0WTI2MDUxNUQwMSoNCitYNDQ4ODE5WTI2MDI4NUQwMSoNCitYNDQ4OTA5WTI2MDA2N0QwMSoNCitYNDQ5MDMzWTI1OTg2NkQwMSoNCitYNDQ5MTg2WTI1OTY4NkQwMSoNCitYNDQ5MzY2WTI1OTUzM0QwMSoNCitYNDQ5NTY3WTI1OTQwOUQwMSoNCitYNDQ5Nzg1WTI1OTMxOUQwMSoNCitYNDUwMDE1WTI1OTI2NEQwMSoNCitYNDUwMjUwWTI1OTI1MEQwMSoNCitYNDUzNTAwWTI1OTI1N0QwMSoNCitZMjM4NzQzRDAxKg0KK1g0NTAwMTVZMjM4NzM2RDAxKg0KK1g0NDk3ODVZMjM4NjgxRDAxKg0KK1g0NDk1NjdZMjM4NTkxRDAxKg0KK1g0NDkzNjZZMjM4NDY3RDAxKg0KK1g0NDkxODZZMjM4MzE0RDAxKg0KK1g0NDkwMzNZMjM4MTM0RDAxKg0KK1g0NDg5MDlZMjM3OTMzRDAxKg0KK1g0NDg4MTlZMjM3NzE1RDAxKg0KK1g0NDg3NjRZMjM3NDg1RDAxKg0KK1g0NDg3NTBZMjM3MjUwRDAxKg0KK1g0NDg3NjRZMjMwNTE1RDAxKg0KK1g0NDg4MTlZMjMwMjg1RDAxKg0KK1g0NDg5MDlZMjMwMDY3RDAxKg0KK1g0NDkwMzNZMjI5ODY2RDAxKg0KK1g0NDkxODZZMjI5Njg2RDAxKg0KK1g0NDkzNjZZMjI5NTMzRDAxKg0KK1g0NDk1NjdZMjI5NDA5RDAxKg0KK1g0NDk3ODVZMjI5MzE5RDAxKg0KK1g0NTAwMTVZMjI5MjY0RDAxKg0KK1g0NTAyNTBZMjI5MjUwRDAxKg0KK1g0NTM1MDBZMjI5MjU3RDAxKg0KK1kyMDg3NDNEMDEqDQorWDQ1MDAxNVkyMDg3MzZEMDEqDQorWDQ0OTc4NVkyMDg2ODFEMDEqDQorWDQ0OTU2N1kyMDg1OTFEMDEqDQorWDQ0OTM2NlkyMDg0NjdEMDEqDQorWDQ0OTE4NlkyMDgzMTREMDEqDQorWDQ0OTAzM1kyMDgxMzREMDEqDQorWDQ0ODkwOVkyMDc5MzNEMDEqDQorWDQ0ODgxOVkyMDc3MTVEMDEqDQorWDQ0ODc2NFkyMDc0ODVEMDEqDQorWDQ0ODc1MFkyMDcyNTBEMDEqDQorWDQ0ODc2NFkyMDA1MTVEMDEqDQorWDQ0ODgxOVkyMDAyODVEMDEqDQorWDQ0ODkwOVkyMDAwNjdEMDEqDQorWDQ0OTAzM1kxOTk4NjZEMDEqDQorWDQ0OTE4NlkxOTk2ODZEMDEqDQorWDQ0OTM2NlkxOTk1MzNEMDEqDQorWDQ0OTU2N1kxOTk0MDlEMDEqDQorWDQ0OTc4NVkxOTkzMTlEMDEqDQorWDQ1MDAxNVkxOTkyNjREMDEqDQorWDQ1MDI1MFkxOTkyNTBEMDEqDQorWDQ1MzUwMFkxOTkyNTdEMDEqDQorWTE3ODc0M0QwMSoNCitYNDUwMDE1WTE3ODczNkQwMSoNCitYNDQ5Nzg1WTE3ODY4MUQwMSoNCitYNDQ5NTY3WTE3ODU5MUQwMSoNCitYNDQ5MzY2WTE3ODQ2N0QwMSoNCitYNDQ5MTg2WTE3ODMxNEQwMSoNCitYNDQ5MDMzWTE3ODEzNEQwMSoNCitYNDQ4OTA5WTE3NzkzM0QwMSoNCitYNDQ4ODE5WTE3NzcxNUQwMSoNCitYNDQ4NzY0WTE3NzQ4NUQwMSoNCitYNDQ4NzUwWTE3NzI1MEQwMSoNCitYNDQ4NzY0WTE3MDUxNUQwMSoNCitYNDQ4ODE5WTE3MDI4NUQwMSoNCitYNDQ4OTA5WTE3MDA2N0QwMSoNCitYNDQ5MDMzWTE2OTg2NkQwMSoNCitYNDQ5MTg2WTE2OTY4NkQwMSoNCitYNDQ5MzY2WTE2OTUzM0QwMSoNCitYNDQ5NTY3WTE2OTQwOUQwMSoNCitYNDQ5Nzg1WTE2OTMxOUQwMSoNCitYNDUwMDE1WTE2OTI2NEQwMSoNCitYNDUwMjUwWTE2OTI1MEQwMSoNCitYNDUzNTAwWTE2OTI1N0QwMSoNCitZMTQ4NzQzRDAxKg0KK0czNyoNCitHMzYqDQorWTExODc0M0QwMipYNDUzNDQxWTExODc0M0QwMSoNCitZMTM5MjU3RDAxKg0KK1g0NTM1MDBZMTM5MjU3RDAxKg0KK1kxMTg3NDNEMDEqDQorRzM3Kg0KK0czNioNCitZODg3NDNEMDIqWDQ1MzQ0MVk4ODc0M0QwMSoNCitZMTA5MjU3RDAxKg0KK1g0NTM1MDBZMTA5MjU3RDAxKg0KK1k4ODc0M0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYNDQwNDQ2RDAxKg0KK1k1NDY5NUQwMSoNCitYNDQwNDQ5WTU0Njk0RDAxKg0KK1g0NDA3MzFZNTQ3MTdEMDEqDQorWDQ0MTAwN1k1NDc4M0QwMSoNCitYNDQxMjY5WTU0ODkxRDAxKg0KK1g0NDE1MTBZNTUwMzlEMDEqDQorWDQ0MTcyNlk1NTIyM0QwMSoNCitYNDQxOTEwWTU1NDM5RDAxKg0KK1g0NDIwNThZNTU2ODBEMDEqDQorWDQ0MjE2Nlk1NTk0MkQwMSoNCitYNDQyMjMyWTU2MjE4RDAxKg0KK1g0NDIyNDlZNTY1MDBEMDEqDQorWDQ0MjIzMlk1Njc4MkQwMSoNCitYNDQyMTY2WTU3MDU4RDAxKg0KK1g0NDIwNThZNTczMjBEMDEqDQorWDQ0MTkxMFk1NzU2MUQwMSoNCitYNDQxNzI2WTU3Nzc3RDAxKg0KK1g0NDE1MTBZNTc5NjFEMDEqDQorWDQ0MTI2OVk1ODEwOUQwMSoNCitYNDQxMDA3WTU4MjE3RDAxKg0KK1g0NDA3MzFZNTgyODNEMDEqDQorWDQ0MDQ0OVk1ODMwNkQwMSoNCitYNDQwNDQ2WTU4MzA1RDAxKg0KK1k2NzAwMEQwMSoNCitYNDUzNDQxRDAxKg0KK1k3OTI1N0QwMSoNCitYNDUzNTAwWTc5MjU3RDAxKg0KK1k1ODc0M0QwMSoNCitYNDUwMDE1WTU4NzM2RDAxKg0KK1g0NDk3ODVZNTg2ODFEMDEqDQorWDQ0OTU2N1k1ODU5MUQwMSoNCitYNDQ5MzY2WTU4NDY3RDAxKg0KK1g0NDkxODZZNTgzMTREMDEqDQorWDQ0OTAzM1k1ODEzNEQwMSoNCitYNDQ4OTA5WTU3OTMzRDAxKg0KK1g0NDg4MTlZNTc3MTVEMDEqDQorWDQ0ODc2NFk1NzQ4NUQwMSoNCitYNDQ4NzUwWTU3MjUwRDAxKg0KK1g0NDg3NjRZNTA1MTVEMDEqDQorWDQ0ODgxOVk1MDI4NUQwMSoNCitYNDQ4OTA5WTUwMDY3RDAxKg0KK1g0NDkwMzNZNDk4NjZEMDEqDQorWDQ0OTE4Nlk0OTY4NkQwMSoNCitYNDQ5MzY2WTQ5NTMzRDAxKg0KK1g0NDk1NjdZNDk0MDlEMDEqDQorWDQ0OTc4NVk0OTMxOUQwMSoNCitYNDUwMDE1WTQ5MjY0RDAxKg0KK1g0NTAyNTBZNDkyNTBEMDEqDQorWDQ1MzUwMFk0OTI1N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDQwNDQ2WTM4NzI3OUQwMipYNDQwMzY5WTM4NzM2OUQwMSoNCitYNDM5ODAxWTM4Nzg1NUQwMSoNCitYNDM5MTYzWTM4ODI0NUQwMSoNCitYNDM4NDcyWTM4ODUzMUQwMSoNCitYNDM3NzQ1WTM4ODcwNkQwMSoNCitYNDM3MDAwWTM4ODc2NUQwMSoNCitYNDM2MjU1WTM4ODcwNkQwMSoNCitYNDM1NTI4WTM4ODUzMUQwMSoNCitYNDM0ODM3WTM4ODI0NUQwMSoNCitYNDM0NDQ2WTM4ODAwNkQwMSoNCitZMzk3MDAwRDAxKg0KK1g0NDA0NDZEMDEqDQorWTM4NzI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNTcyNzlEMDIqWDQ0MDM2OVkzNTczNjlEMDEqDQorWDQzOTgwMVkzNTc4NTVEMDEqDQorWDQzOTE2M1kzNTgyNDVEMDEqDQorWDQzODQ3MlkzNTg1MzFEMDEqDQorWDQzNzc0NVkzNTg3MDZEMDEqDQorWDQzNzAwMFkzNTg3NjVEMDEqDQorWDQzNjI1NVkzNTg3MDZEMDEqDQorWDQzNTUyOFkzNTg1MzFEMDEqDQorWDQzNDgzN1kzNTgyNDVEMDEqDQorWDQzNDQ0NlkzNTgwMDZEMDEqDQorWTM3OTk5NEQwMSoNCitYNDM0ODM3WTM3OTc1NUQwMSoNCitYNDM1NTI4WTM3OTQ2OUQwMSoNCitYNDM2MjU1WTM3OTI5NEQwMSoNCitYNDM3MDAwWTM3OTIzNUQwMSoNCitYNDM3NzQ1WTM3OTI5NEQwMSoNCitYNDM4NDcyWTM3OTQ2OUQwMSoNCitYNDM5MTYzWTM3OTc1NUQwMSoNCitYNDM5ODAxWTM4MDE0NUQwMSoNCitYNDQwMzY5WTM4MDYzMUQwMSoNCitYNDQwNDQ2WTM4MDcyMUQwMSoNCitZMzU3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTMyNzI3OUQwMipYNDQwMzY5WTMyNzM2OUQwMSoNCitYNDM5ODAxWTMyNzg1NUQwMSoNCitYNDM5MTYzWTMyODI0NUQwMSoNCitYNDM4NDcyWTMyODUzMUQwMSoNCitYNDM3NzQ1WTMyODcwNkQwMSoNCitYNDM3MDAwWTMyODc2NUQwMSoNCitYNDM2MjU1WTMyODcwNkQwMSoNCitYNDM1NTI4WTMyODUzMUQwMSoNCitYNDM0ODM3WTMyODI0NUQwMSoNCitYNDM0NDQ2WTMyODAwNkQwMSoNCitZMzQ5OTk0RDAxKg0KK1g0MzQ4MzdZMzQ5NzU1RDAxKg0KK1g0MzU1MjhZMzQ5NDY5RDAxKg0KK1g0MzYyNTVZMzQ5Mjk0RDAxKg0KK1g0MzcwMDBZMzQ5MjM1RDAxKg0KK1g0Mzc3NDVZMzQ5Mjk0RDAxKg0KK1g0Mzg0NzJZMzQ5NDY5RDAxKg0KK1g0MzkxNjNZMzQ5NzU1RDAxKg0KK1g0Mzk4MDFZMzUwMTQ1RDAxKg0KK1g0NDAzNjlZMzUwNjMxRDAxKg0KK1g0NDA0NDZZMzUwNzIxRDAxKg0KK1kzMjcyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMjk3Mjc5RDAyKlg0NDAzNjlZMjk3MzY5RDAxKg0KK1g0Mzk4MDFZMjk3ODU1RDAxKg0KK1g0MzkxNjNZMjk4MjQ1RDAxKg0KK1g0Mzg0NzJZMjk4NTMxRDAxKg0KK1g0Mzc3NDVZMjk4NzA2RDAxKg0KK1g0MzcwMDBZMjk4NzY1RDAxKg0KK1g0MzYyNTVZMjk4NzA2RDAxKg0KK1g0MzU1MjhZMjk4NTMxRDAxKg0KK1g0MzQ4MzdZMjk4MjQ1RDAxKg0KK1g0MzQ0NDZZMjk4MDA2RDAxKg0KK1kzMTk5OTREMDEqDQorWDQzNDgzN1kzMTk3NTVEMDEqDQorWDQzNTUyOFkzMTk0NjlEMDEqDQorWDQzNjI1NVkzMTkyOTREMDEqDQorWDQzNzAwMFkzMTkyMzVEMDEqDQorWDQzNzc0NVkzMTkyOTREMDEqDQorWDQzODQ3MlkzMTk0NjlEMDEqDQorWDQzOTE2M1kzMTk3NTVEMDEqDQorWDQzOTgwMVkzMjAxNDVEMDEqDQorWDQ0MDM2OVkzMjA2MzFEMDEqDQorWDQ0MDQ0NlkzMjA3MjFEMDEqDQorWTI5NzI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNjcyNzlEMDIqWDQ0MDM2OVkyNjczNjlEMDEqDQorWDQzOTgwMVkyNjc4NTVEMDEqDQorWDQzOTE2M1kyNjgyNDVEMDEqDQorWDQzODQ3MlkyNjg1MzFEMDEqDQorWDQzNzc0NVkyNjg3MDZEMDEqDQorWDQzNzAwMFkyNjg3NjVEMDEqDQorWDQzNjI1NVkyNjg3MDZEMDEqDQorWDQzNTUyOFkyNjg1MzFEMDEqDQorWDQzNDgzN1kyNjgyNDVEMDEqDQorWDQzNDQ0NlkyNjgwMDZEMDEqDQorWTI4OTk5NEQwMSoNCitYNDM0ODM3WTI4OTc1NUQwMSoNCitYNDM1NTI4WTI4OTQ2OUQwMSoNCitYNDM2MjU1WTI4OTI5NEQwMSoNCitYNDM3MDAwWTI4OTIzNUQwMSoNCitYNDM3NzQ1WTI4OTI5NEQwMSoNCitYNDM4NDcyWTI4OTQ2OUQwMSoNCitYNDM5MTYzWTI4OTc1NUQwMSoNCitYNDM5ODAxWTI5MDE0NUQwMSoNCitYNDQwMzY5WTI5MDYzMUQwMSoNCitYNDQwNDQ2WTI5MDcyMUQwMSoNCitZMjY3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTIzNzI3OUQwMipYNDQwMzY5WTIzNzM2OUQwMSoNCitYNDM5ODAxWTIzNzg1NUQwMSoNCitYNDM5MTYzWTIzODI0NUQwMSoNCitYNDM4NDcyWTIzODUzMUQwMSoNCitYNDM3NzQ1WTIzODcwNkQwMSoNCitYNDM3MDAwWTIzODc2NUQwMSoNCitYNDM2MjU1WTIzODcwNkQwMSoNCitYNDM1NTI4WTIzODUzMUQwMSoNCitYNDM0ODM3WTIzODI0NUQwMSoNCitYNDM0NDQ2WTIzODAwNkQwMSoNCitZMjU5OTk0RDAxKg0KK1g0MzQ4MzdZMjU5NzU1RDAxKg0KK1g0MzU1MjhZMjU5NDY5RDAxKg0KK1g0MzYyNTVZMjU5Mjk0RDAxKg0KK1g0MzcwMDBZMjU5MjM1RDAxKg0KK1g0Mzc3NDVZMjU5Mjk0RDAxKg0KK1g0Mzg0NzJZMjU5NDY5RDAxKg0KK1g0MzkxNjNZMjU5NzU1RDAxKg0KK1g0Mzk4MDFZMjYwMTQ1RDAxKg0KK1g0NDAzNjlZMjYwNjMxRDAxKg0KK1g0NDA0NDZZMjYwNzIxRDAxKg0KK1kyMzcyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMjA3Mjc5RDAyKlg0NDAzNjlZMjA3MzY5RDAxKg0KK1g0Mzk4MDFZMjA3ODU1RDAxKg0KK1g0MzkxNjNZMjA4MjQ1RDAxKg0KK1g0Mzg0NzJZMjA4NTMxRDAxKg0KK1g0Mzc3NDVZMjA4NzA2RDAxKg0KK1g0MzcwMDBZMjA4NzY1RDAxKg0KK1g0MzYyNTVZMjA4NzA2RDAxKg0KK1g0MzU1MjhZMjA4NTMxRDAxKg0KK1g0MzQ4MzdZMjA4MjQ1RDAxKg0KK1g0MzQ0NDZZMjA4MDA2RDAxKg0KK1kyMjk5OTREMDEqDQorWDQzNDgzN1kyMjk3NTVEMDEqDQorWDQzNTUyOFkyMjk0NjlEMDEqDQorWDQzNjI1NVkyMjkyOTREMDEqDQorWDQzNzAwMFkyMjkyMzVEMDEqDQorWDQzNzc0NVkyMjkyOTREMDEqDQorWDQzODQ3MlkyMjk0NjlEMDEqDQorWDQzOTE2M1kyMjk3NTVEMDEqDQorWDQzOTgwMVkyMzAxNDVEMDEqDQorWDQ0MDM2OVkyMzA2MzFEMDEqDQorWDQ0MDQ0NlkyMzA3MjFEMDEqDQorWTIwNzI3OUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzcyNzlEMDIqWDQ0MDM2OVkxNzczNjlEMDEqDQorWDQzOTgwMVkxNzc4NTVEMDEqDQorWDQzOTE2M1kxNzgyNDVEMDEqDQorWDQzODQ3MlkxNzg1MzFEMDEqDQorWDQzNzc0NVkxNzg3MDZEMDEqDQorWDQzNzAwMFkxNzg3NjVEMDEqDQorWDQzNjI1NVkxNzg3MDZEMDEqDQorWDQzNTUyOFkxNzg1MzFEMDEqDQorWDQzNDgzN1kxNzgyNDVEMDEqDQorWDQzNDQ0NlkxNzgwMDZEMDEqDQorWTE5OTk5NEQwMSoNCitYNDM0ODM3WTE5OTc1NUQwMSoNCitYNDM1NTI4WTE5OTQ2OUQwMSoNCitYNDM2MjU1WTE5OTI5NEQwMSoNCitYNDM3MDAwWTE5OTIzNUQwMSoNCitYNDM3NzQ1WTE5OTI5NEQwMSoNCitYNDM4NDcyWTE5OTQ2OUQwMSoNCitYNDM5MTYzWTE5OTc1NUQwMSoNCitYNDM5ODAxWTIwMDE0NUQwMSoNCitYNDQwMzY5WTIwMDYzMUQwMSoNCitYNDQwNDQ2WTIwMDcyMUQwMSoNCitZMTc3Mjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTE1NDAwMEQwMipYNDM0NDQ2RDAxKg0KK1kxNjk5OTREMDEqDQorWDQzNDgzN1kxNjk3NTVEMDEqDQorWDQzNTUyOFkxNjk0NjlEMDEqDQorWDQzNjI1NVkxNjkyOTREMDEqDQorWDQzNzAwMFkxNjkyMzVEMDEqDQorWDQzNzc0NVkxNjkyOTREMDEqDQorWDQzODQ3MlkxNjk0NjlEMDEqDQorWDQzOTE2M1kxNjk3NTVEMDEqDQorWDQzOTgwMVkxNzAxNDVEMDEqDQorWDQ0MDM2OVkxNzA2MzFEMDEqDQorWDQ0MDQ0NlkxNzA3MjFEMDEqDQorWTE1NDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYNDM0NDQ2RDAxKg0KK1k1NDY5NUQwMSoNCitYNDM0NDQ5WTU0Njk0RDAxKg0KK1g0MzQ3MzFZNTQ3MTdEMDEqDQorWDQzNTAwN1k1NDc4M0QwMSoNCitYNDM1MjY5WTU0ODkxRDAxKg0KK1g0MzU1MTBZNTUwMzlEMDEqDQorWDQzNTcyNlk1NTIyM0QwMSoNCitYNDM1OTEwWTU1NDM5RDAxKg0KK1g0MzYwNThZNTU2ODBEMDEqDQorWDQzNjE2Nlk1NTk0MkQwMSoNCitYNDM2MjMyWTU2MjE4RDAxKg0KK1g0MzYyNDlZNTY1MDBEMDEqDQorWDQzNjIzMlk1Njc4MkQwMSoNCitYNDM2MTY2WTU3MDU4RDAxKg0KK1g0MzYwNThZNTczMjBEMDEqDQorWDQzNTkxMFk1NzU2MUQwMSoNCitYNDM1NzI2WTU3Nzc3RDAxKg0KK1g0MzU1MTBZNTc5NjFEMDEqDQorWDQzNTI2OVk1ODEwOUQwMSoNCitYNDM1MDA3WTU4MjE3RDAxKg0KK1g0MzQ3MzFZNTgyODNEMDEqDQorWDQzNDQ0OVk1ODMwNkQwMSoNCitYNDM0NDQ2WTU4MzA1RDAxKg0KK1k2NzAwMEQwMSoNCitYNDQwNDQ2RDAxKg0KK1k1ODMwNUQwMSoNCitYNDQwMTY3WTU4MjgzRDAxKg0KK1g0Mzk4OTFZNTgyMTdEMDEqDQorWDQzOTYyOVk1ODEwOUQwMSoNCitYNDM5Mzg4WTU3OTYxRDAxKg0KK1g0MzkxNzJZNTc3NzdEMDEqDQorWDQzODk4OFk1NzU2MUQwMSoNCitYNDM4ODQwWTU3MzIwRDAxKg0KK1g0Mzg3MzJZNTcwNThEMDEqDQorWDQzODY2Nlk1Njc4MkQwMSoNCitYNDM4NjQzWTU2NTAwRDAxKg0KK1g0Mzg2NjZZNTYyMThEMDEqDQorWDQzODczMlk1NTk0MkQwMSoNCitYNDM4ODQwWTU1NjgwRDAxKg0KK1g0Mzg5ODhZNTU0MzlEMDEqDQorWDQzOTE3Mlk1NTIyM0QwMSoNCitYNDM5Mzg4WTU1MDM5RDAxKg0KK1g0Mzk2MjlZNTQ4OTFEMDEqDQorWDQzOTg5MVk1NDc4M0QwMSoNCitYNDQwMTY3WTU0NzE3RDAxKg0KK1g0NDA0NDZZNTQ2OTVEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQzNDQ0NlkxNTQwMDBEMDIqWDQyNjk5M0QwMSoNCitZMTY5MjM2RDAxKg0KK1g0MjcwMDBZMTY5MjM1RDAxKg0KK1g0Mjc3NDVZMTY5Mjk0RDAxKg0KK1g0Mjg0NzJZMTY5NDY5RDAxKg0KK1g0MjkxNjNZMTY5NzU1RDAxKg0KK1g0Mjk4MDFZMTcwMTQ1RDAxKg0KK1g0MzAzNjlZMTcwNjMxRDAxKg0KK1g0MzA4NTVZMTcxMTk5RDAxKg0KK1g0MzEyNDVZMTcxODM3RDAxKg0KK1g0MzE1MzFZMTcyNTI4RDAxKg0KK1g0MzE3MDZZMTczMjU1RDAxKg0KK1g0MzE3NTBZMTc0MDAwRDAxKg0KK1g0MzE3MDZZMTc0NzQ1RDAxKg0KK1g0MzE1MzFZMTc1NDcyRDAxKg0KK1g0MzEyNDVZMTc2MTYzRDAxKg0KK1g0MzA4NTVZMTc2ODAxRDAxKg0KK1g0MzAzNjlZMTc3MzY5RDAxKg0KK1g0Mjk4MDFZMTc3ODU1RDAxKg0KK1g0MjkxNjNZMTc4MjQ1RDAxKg0KK1g0Mjg0NzJZMTc4NTMxRDAxKg0KK1g0Mjc3NDVZMTc4NzA2RDAxKg0KK1g0MjcwMDBZMTc4NzY1RDAxKg0KK1g0MjY5OTNZMTc4NzY0RDAxKg0KK1kxOTkyMzZEMDEqDQorWDQyNzAwMFkxOTkyMzVEMDEqDQorWDQyNzc0NVkxOTkyOTREMDEqDQorWDQyODQ3MlkxOTk0NjlEMDEqDQorWDQyOTE2M1kxOTk3NTVEMDEqDQorWDQyOTgwMVkyMDAxNDVEMDEqDQorWDQzMDM2OVkyMDA2MzFEMDEqDQorWDQzMDg1NVkyMDExOTlEMDEqDQorWDQzMTI0NVkyMDE4MzdEMDEqDQorWDQzMTUzMVkyMDI1MjhEMDEqDQorWDQzMTcwNlkyMDMyNTVEMDEqDQorWDQzMTc1MFkyMDQwMDBEMDEqDQorWDQzMTcwNlkyMDQ3NDVEMDEqDQorWDQzMTUzMVkyMDU0NzJEMDEqDQorWDQzMTI0NVkyMDYxNjNEMDEqDQorWDQzMDg1NVkyMDY4MDFEMDEqDQorWDQzMDM2OVkyMDczNjlEMDEqDQorWDQyOTgwMVkyMDc4NTVEMDEqDQorWDQyOTE2M1kyMDgyNDVEMDEqDQorWDQyODQ3MlkyMDg1MzFEMDEqDQorWDQyNzc0NVkyMDg3MDZEMDEqDQorWDQyNzAwMFkyMDg3NjVEMDEqDQorWDQyNjk5M1kyMDg3NjREMDEqDQorWTIyOTIzNkQwMSoNCitYNDI3MDAwWTIyOTIzNUQwMSoNCitYNDI3NzQ1WTIyOTI5NEQwMSoNCitYNDI4NDcyWTIyOTQ2OUQwMSoNCitYNDI5MTYzWTIyOTc1NUQwMSoNCitYNDI5ODAxWTIzMDE0NUQwMSoNCitYNDMwMzY5WTIzMDYzMUQwMSoNCitYNDMwODU1WTIzMTE5OUQwMSoNCitYNDMxMjQ1WTIzMTgzN0QwMSoNCitYNDMxNTMxWTIzMjUyOEQwMSoNCitYNDMxNzA2WTIzMzI1NUQwMSoNCitYNDMxNzUwWTIzNDAwMEQwMSoNCitYNDMxNzA2WTIzNDc0NUQwMSoNCitYNDMxNTMxWTIzNTQ3MkQwMSoNCitYNDMxMjQ1WTIzNjE2M0QwMSoNCitYNDMwODU1WTIzNjgwMUQwMSoNCitYNDMwMzY5WTIzNzM2OUQwMSoNCitYNDI5ODAxWTIzNzg1NUQwMSoNCitYNDI5MTYzWTIzODI0NUQwMSoNCitYNDI4NDcyWTIzODUzMUQwMSoNCitYNDI3NzQ1WTIzODcwNkQwMSoNCitYNDI3MDAwWTIzODc2NUQwMSoNCitYNDI2OTkzWTIzODc2NEQwMSoNCitZMjU5MjM2RDAxKg0KK1g0MjcwMDBZMjU5MjM1RDAxKg0KK1g0Mjc3NDVZMjU5Mjk0RDAxKg0KK1g0Mjg0NzJZMjU5NDY5RDAxKg0KK1g0MjkxNjNZMjU5NzU1RDAxKg0KK1g0Mjk4MDFZMjYwMTQ1RDAxKg0KK1g0MzAzNjlZMjYwNjMxRDAxKg0KK1g0MzA4NTVZMjYxMTk5RDAxKg0KK1g0MzEyNDVZMjYxODM3RDAxKg0KK1g0MzE1MzFZMjYyNTI4RDAxKg0KK1g0MzE3MDZZMjYzMjU1RDAxKg0KK1g0MzE3NTBZMjY0MDAwRDAxKg0KK1g0MzE3MDZZMjY0NzQ1RDAxKg0KK1g0MzE1MzFZMjY1NDcyRDAxKg0KK1g0MzEyNDVZMjY2MTYzRDAxKg0KK1g0MzA4NTVZMjY2ODAxRDAxKg0KK1g0MzAzNjlZMjY3MzY5RDAxKg0KK1g0Mjk4MDFZMjY3ODU1RDAxKg0KK1g0MjkxNjNZMjY4MjQ1RDAxKg0KK1g0Mjg0NzJZMjY4NTMxRDAxKg0KK1g0Mjc3NDVZMjY4NzA2RDAxKg0KK1g0MjcwMDBZMjY4NzY1RDAxKg0KK1g0MjY5OTNZMjY4NzY0RDAxKg0KK1kyODkyMzZEMDEqDQorWDQyNzAwMFkyODkyMzVEMDEqDQorWDQyNzc0NVkyODkyOTREMDEqDQorWDQyODQ3MlkyODk0NjlEMDEqDQorWDQyOTE2M1kyODk3NTVEMDEqDQorWDQyOTgwMVkyOTAxNDVEMDEqDQorWDQzMDM2OVkyOTA2MzFEMDEqDQorWDQzMDg1NVkyOTExOTlEMDEqDQorWDQzMTI0NVkyOTE4MzdEMDEqDQorWDQzMTUzMVkyOTI1MjhEMDEqDQorWDQzMTcwNlkyOTMyNTVEMDEqDQorWDQzMTc1MFkyOTQwMDBEMDEqDQorWDQzMTcwNlkyOTQ3NDVEMDEqDQorWDQzMTUzMVkyOTU0NzJEMDEqDQorWDQzMTI0NVkyOTYxNjNEMDEqDQorWDQzMDg1NVkyOTY4MDFEMDEqDQorWDQzMDM2OVkyOTczNjlEMDEqDQorWDQyOTgwMVkyOTc4NTVEMDEqDQorWDQyOTE2M1kyOTgyNDVEMDEqDQorWDQyODQ3MlkyOTg1MzFEMDEqDQorWDQyNzc0NVkyOTg3MDZEMDEqDQorWDQyNzAwMFkyOTg3NjVEMDEqDQorWDQyNjk5M1kyOTg3NjREMDEqDQorWTMxOTIzNkQwMSoNCitYNDI3MDAwWTMxOTIzNUQwMSoNCitYNDI3NzQ1WTMxOTI5NEQwMSoNCitYNDI4NDcyWTMxOTQ2OUQwMSoNCitYNDI5MTYzWTMxOTc1NUQwMSoNCitYNDI5ODAxWTMyMDE0NUQwMSoNCitYNDMwMzY5WTMyMDYzMUQwMSoNCitYNDMwODU1WTMyMTE5OUQwMSoNCitYNDMxMjQ1WTMyMTgzN0QwMSoNCitYNDMxNTMxWTMyMjUyOEQwMSoNCitYNDMxNzA2WTMyMzI1NUQwMSoNCitYNDMxNzUwWTMyNDAwMEQwMSoNCitYNDMxNzA2WTMyNDc0NUQwMSoNCitYNDMxNTMxWTMyNTQ3MkQwMSoNCitYNDMxMjQ1WTMyNjE2M0QwMSoNCitYNDMwODU1WTMyNjgwMUQwMSoNCitYNDMwMzY5WTMyNzM2OUQwMSoNCitYNDI5ODAxWTMyNzg1NUQwMSoNCitYNDI5MTYzWTMyODI0NUQwMSoNCitYNDI4NDcyWTMyODUzMUQwMSoNCitYNDI3NzQ1WTMyODcwNkQwMSoNCitYNDI3MDAwWTMyODc2NUQwMSoNCitYNDI2OTkzWTMyODc2NEQwMSoNCitZMzQ5MjM2RDAxKg0KK1g0MjcwMDBZMzQ5MjM1RDAxKg0KK1g0Mjc3NDVZMzQ5Mjk0RDAxKg0KK1g0Mjg0NzJZMzQ5NDY5RDAxKg0KK1g0MjkxNjNZMzQ5NzU1RDAxKg0KK1g0Mjk4MDFZMzUwMTQ1RDAxKg0KK1g0MzAzNjlZMzUwNjMxRDAxKg0KK1g0MzA4NTVZMzUxMTk5RDAxKg0KK1g0MzEyNDVZMzUxODM3RDAxKg0KK1g0MzE1MzFZMzUyNTI4RDAxKg0KK1g0MzE3MDZZMzUzMjU1RDAxKg0KK1g0MzE3NTBZMzU0MDAwRDAxKg0KK1g0MzE3MDZZMzU0NzQ1RDAxKg0KK1g0MzE1MzFZMzU1NDcyRDAxKg0KK1g0MzEyNDVZMzU2MTYzRDAxKg0KK1g0MzA4NTVZMzU2ODAxRDAxKg0KK1g0MzAzNjlZMzU3MzY5RDAxKg0KK1g0Mjk4MDFZMzU3ODU1RDAxKg0KK1g0MjkxNjNZMzU4MjQ1RDAxKg0KK1g0Mjg0NzJZMzU4NTMxRDAxKg0KK1g0Mjc3NDVZMzU4NzA2RDAxKg0KK1g0MjcwMDBZMzU4NzY1RDAxKg0KK1g0MjY5OTNZMzU4NzY0RDAxKg0KK1kzNzkyMzZEMDEqDQorWDQyNzAwMFkzNzkyMzVEMDEqDQorWDQyNzc0NVkzNzkyOTREMDEqDQorWDQyODQ3MlkzNzk0NjlEMDEqDQorWDQyOTE2M1kzNzk3NTVEMDEqDQorWDQyOTgwMVkzODAxNDVEMDEqDQorWDQzMDM2OVkzODA2MzFEMDEqDQorWDQzMDg1NVkzODExOTlEMDEqDQorWDQzMTI0NVkzODE4MzdEMDEqDQorWDQzMTUzMVkzODI1MjhEMDEqDQorWDQzMTcwNlkzODMyNTVEMDEqDQorWDQzMTc1MFkzODQwMDBEMDEqDQorWDQzMTcwNlkzODQ3NDVEMDEqDQorWDQzMTUzMVkzODU0NzJEMDEqDQorWDQzMTI0NVkzODYxNjNEMDEqDQorWDQzMDg1NVkzODY4MDFEMDEqDQorWDQzMDM2OVkzODczNjlEMDEqDQorWDQyOTgwMVkzODc4NTVEMDEqDQorWDQyOTE2M1kzODgyNDVEMDEqDQorWDQyODQ3MlkzODg1MzFEMDEqDQorWDQyNzc0NVkzODg3MDZEMDEqDQorWDQyNzAwMFkzODg3NjVEMDEqDQorWDQyNjk5M1kzODg3NjREMDEqDQorWTM5NzAwMEQwMSoNCitYNDM0NDQ2RDAxKg0KK1kzODgwMDZEMDEqDQorWDQzNDE5OVkzODc4NTVEMDEqDQorWDQzMzYzMVkzODczNjlEMDEqDQorWDQzMzE0NVkzODY4MDFEMDEqDQorWDQzMjc1NVkzODYxNjNEMDEqDQorWDQzMjQ2OVkzODU0NzJEMDEqDQorWDQzMjI5NFkzODQ3NDVEMDEqDQorWDQzMjIzNVkzODQwMDBEMDEqDQorWDQzMjI5NFkzODMyNTVEMDEqDQorWDQzMjQ2OVkzODI1MjhEMDEqDQorWDQzMjc1NVkzODE4MzdEMDEqDQorWDQzMzE0NVkzODExOTlEMDEqDQorWDQzMzYzMVkzODA2MzFEMDEqDQorWDQzNDE5OVkzODAxNDVEMDEqDQorWDQzNDQ0NlkzNzk5OTREMDEqDQorWTM1ODAwNkQwMSoNCitYNDM0MTk5WTM1Nzg1NUQwMSoNCitYNDMzNjMxWTM1NzM2OUQwMSoNCitYNDMzMTQ1WTM1NjgwMUQwMSoNCitYNDMyNzU1WTM1NjE2M0QwMSoNCitYNDMyNDY5WTM1NTQ3MkQwMSoNCitYNDMyMjk0WTM1NDc0NUQwMSoNCitYNDMyMjM1WTM1NDAwMEQwMSoNCitYNDMyMjk0WTM1MzI1NUQwMSoNCitYNDMyNDY5WTM1MjUyOEQwMSoNCitYNDMyNzU1WTM1MTgzN0QwMSoNCitYNDMzMTQ1WTM1MTE5OUQwMSoNCitYNDMzNjMxWTM1MDYzMUQwMSoNCitYNDM0MTk5WTM1MDE0NUQwMSoNCitYNDM0NDQ2WTM0OTk5NEQwMSoNCitZMzI4MDA2RDAxKg0KK1g0MzQxOTlZMzI3ODU1RDAxKg0KK1g0MzM2MzFZMzI3MzY5RDAxKg0KK1g0MzMxNDVZMzI2ODAxRDAxKg0KK1g0MzI3NTVZMzI2MTYzRDAxKg0KK1g0MzI0NjlZMzI1NDcyRDAxKg0KK1g0MzIyOTRZMzI0NzQ1RDAxKg0KK1g0MzIyMzVZMzI0MDAwRDAxKg0KK1g0MzIyOTRZMzIzMjU1RDAxKg0KK1g0MzI0NjlZMzIyNTI4RDAxKg0KK1g0MzI3NTVZMzIxODM3RDAxKg0KK1g0MzMxNDVZMzIxMTk5RDAxKg0KK1g0MzM2MzFZMzIwNjMxRDAxKg0KK1g0MzQxOTlZMzIwMTQ1RDAxKg0KK1g0MzQ0NDZZMzE5OTk0RDAxKg0KK1kyOTgwMDZEMDEqDQorWDQzNDE5OVkyOTc4NTVEMDEqDQorWDQzMzYzMVkyOTczNjlEMDEqDQorWDQzMzE0NVkyOTY4MDFEMDEqDQorWDQzMjc1NVkyOTYxNjNEMDEqDQorWDQzMjQ2OVkyOTU0NzJEMDEqDQorWDQzMjI5NFkyOTQ3NDVEMDEqDQorWDQzMjIzNVkyOTQwMDBEMDEqDQorWDQzMjI5NFkyOTMyNTVEMDEqDQorWDQzMjQ2OVkyOTI1MjhEMDEqDQorWDQzMjc1NVkyOTE4MzdEMDEqDQorWDQzMzE0NVkyOTExOTlEMDEqDQorWDQzMzYzMVkyOTA2MzFEMDEqDQorWDQzNDE5OVkyOTAxNDVEMDEqDQorWDQzNDQ0NlkyODk5OTREMDEqDQorWTI2ODAwNkQwMSoNCitYNDM0MTk5WTI2Nzg1NUQwMSoNCitYNDMzNjMxWTI2NzM2OUQwMSoNCitYNDMzMTQ1WTI2NjgwMUQwMSoNCitYNDMyNzU1WTI2NjE2M0QwMSoNCitYNDMyNDY5WTI2NTQ3MkQwMSoNCitYNDMyMjk0WTI2NDc0NUQwMSoNCitYNDMyMjM1WTI2NDAwMEQwMSoNCitYNDMyMjk0WTI2MzI1NUQwMSoNCitYNDMyNDY5WTI2MjUyOEQwMSoNCitYNDMyNzU1WTI2MTgzN0QwMSoNCitYNDMzMTQ1WTI2MTE5OUQwMSoNCitYNDMzNjMxWTI2MDYzMUQwMSoNCitYNDM0MTk5WTI2MDE0NUQwMSoNCitYNDM0NDQ2WTI1OTk5NEQwMSoNCitZMjM4MDA2RDAxKg0KK1g0MzQxOTlZMjM3ODU1RDAxKg0KK1g0MzM2MzFZMjM3MzY5RDAxKg0KK1g0MzMxNDVZMjM2ODAxRDAxKg0KK1g0MzI3NTVZMjM2MTYzRDAxKg0KK1g0MzI0NjlZMjM1NDcyRDAxKg0KK1g0MzIyOTRZMjM0NzQ1RDAxKg0KK1g0MzIyMzVZMjM0MDAwRDAxKg0KK1g0MzIyOTRZMjMzMjU1RDAxKg0KK1g0MzI0NjlZMjMyNTI4RDAxKg0KK1g0MzI3NTVZMjMxODM3RDAxKg0KK1g0MzMxNDVZMjMxMTk5RDAxKg0KK1g0MzM2MzFZMjMwNjMxRDAxKg0KK1g0MzQxOTlZMjMwMTQ1RDAxKg0KK1g0MzQ0NDZZMjI5OTk0RDAxKg0KK1kyMDgwMDZEMDEqDQorWDQzNDE5OVkyMDc4NTVEMDEqDQorWDQzMzYzMVkyMDczNjlEMDEqDQorWDQzMzE0NVkyMDY4MDFEMDEqDQorWDQzMjc1NVkyMDYxNjNEMDEqDQorWDQzMjQ2OVkyMDU0NzJEMDEqDQorWDQzMjI5NFkyMDQ3NDVEMDEqDQorWDQzMjIzNVkyMDQwMDBEMDEqDQorWDQzMjI5NFkyMDMyNTVEMDEqDQorWDQzMjQ2OVkyMDI1MjhEMDEqDQorWDQzMjc1NVkyMDE4MzdEMDEqDQorWDQzMzE0NVkyMDExOTlEMDEqDQorWDQzMzYzMVkyMDA2MzFEMDEqDQorWDQzNDE5OVkyMDAxNDVEMDEqDQorWDQzNDQ0NlkxOTk5OTREMDEqDQorWTE3ODAwNkQwMSoNCitYNDM0MTk5WTE3Nzg1NUQwMSoNCitYNDMzNjMxWTE3NzM2OUQwMSoNCitYNDMzMTQ1WTE3NjgwMUQwMSoNCitYNDMyNzU1WTE3NjE2M0QwMSoNCitYNDMyNDY5WTE3NTQ3MkQwMSoNCitYNDMyMjk0WTE3NDc0NUQwMSoNCitYNDMyMjM1WTE3NDAwMEQwMSoNCitYNDMyMjk0WTE3MzI1NUQwMSoNCitYNDMyNDY5WTE3MjUyOEQwMSoNCitYNDMyNzU1WTE3MTgzN0QwMSoNCitYNDMzMTQ1WTE3MTE5OUQwMSoNCitYNDMzNjMxWTE3MDYzMUQwMSoNCitYNDM0MTk5WTE3MDE0NUQwMSoNCitYNDM0NDQ2WTE2OTk5NEQwMSoNCitZMTU0MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQyNjk5M0QwMipYNDIwODMyRDAxKg0KK1kxNzE2NzBEMDEqDQorWDQyMDk0M1kxNzE3MDREMDEqDQorWDQyMTA1MFkxNzE3NTZEMDEqDQorWDQyMTE0NlkxNzE4MjNEMDEqDQorWDQyMTIzMVkxNzE5MDVEMDEqDQorWDQyMTMwMlkxNzIwMDBEMDEqDQorWDQyMTM1NlkxNzIxMDVEMDEqDQorWDQyMTUxNVkxNzI1MDhEMDEqDQorWDQyMTYzMlkxNzI5MjVEMDEqDQorWDQyMTcxMVkxNzMzNTJEMDEqDQorWDQyMTc1MFkxNzM3ODNEMDEqDQorWTE3NDIxN0QwMSoNCitYNDIxNzExWTE3NDY0OEQwMSoNCitYNDIxNjMyWTE3NTA3NUQwMSoNCitYNDIxNTE1WTE3NTQ5MkQwMSoNCitYNDIxMzYwWTE3NTg5N0QwMSoNCitYNDIxMzA1WTE3NjAwMkQwMSoNCitYNDIxMjM0WTE3NjA5N0QwMSoNCitYNDIxMTQ4WTE3NjE3OUQwMSoNCitYNDIxMDUxWTE3NjI0N0QwMSoNCitYNDIwOTQ1WTE3NjI5OUQwMSoNCitYNDIwODMyWTE3NjMzNEQwMSoNCitZMjAxNjcwRDAxKg0KK1g0MjA5NDNZMjAxNzA0RDAxKg0KK1g0MjEwNTBZMjAxNzU2RDAxKg0KK1g0MjExNDZZMjAxODIzRDAxKg0KK1g0MjEyMzFZMjAxOTA1RDAxKg0KK1g0MjEzMDJZMjAyMDAwRDAxKg0KK1g0MjEzNTZZMjAyMTA1RDAxKg0KK1g0MjE1MTVZMjAyNTA4RDAxKg0KK1g0MjE2MzJZMjAyOTI1RDAxKg0KK1g0MjE3MTFZMjAzMzUyRDAxKg0KK1g0MjE3NTBZMjAzNzgzRDAxKg0KK1kyMDQyMTdEMDEqDQorWDQyMTcxMVkyMDQ2NDhEMDEqDQorWDQyMTYzMlkyMDUwNzVEMDEqDQorWDQyMTUxNVkyMDU0OTJEMDEqDQorWDQyMTM2MFkyMDU4OTdEMDEqDQorWDQyMTMwNVkyMDYwMDJEMDEqDQorWDQyMTIzNFkyMDYwOTdEMDEqDQorWDQyMTE0OFkyMDYxNzlEMDEqDQorWDQyMTA1MVkyMDYyNDdEMDEqDQorWDQyMDk0NVkyMDYyOTlEMDEqDQorWDQyMDgzMlkyMDYzMzREMDEqDQorWTIzMTY3MEQwMSoNCitYNDIwOTQzWTIzMTcwNEQwMSoNCitYNDIxMDUwWTIzMTc1NkQwMSoNCitYNDIxMTQ2WTIzMTgyM0QwMSoNCitYNDIxMjMxWTIzMTkwNUQwMSoNCitYNDIxMzAyWTIzMjAwMEQwMSoNCitYNDIxMzU2WTIzMjEwNUQwMSoNCitYNDIxNTE1WTIzMjUwOEQwMSoNCitYNDIxNjMyWTIzMjkyNUQwMSoNCitYNDIxNzExWTIzMzM1MkQwMSoNCitYNDIxNzUwWTIzMzc4M0QwMSoNCitZMjM0MjE3RDAxKg0KK1g0MjE3MTFZMjM0NjQ4RDAxKg0KK1g0MjE2MzJZMjM1MDc1RDAxKg0KK1g0MjE1MTVZMjM1NDkyRDAxKg0KK1g0MjEzNjBZMjM1ODk3RDAxKg0KK1g0MjEzMDVZMjM2MDAyRDAxKg0KK1g0MjEyMzRZMjM2MDk3RDAxKg0KK1g0MjExNDhZMjM2MTc5RDAxKg0KK1g0MjEwNTFZMjM2MjQ3RDAxKg0KK1g0MjA5NDVZMjM2Mjk5RDAxKg0KK1g0MjA4MzJZMjM2MzM0RDAxKg0KK1kyNjE2NzBEMDEqDQorWDQyMDk0M1kyNjE3MDREMDEqDQorWDQyMTA1MFkyNjE3NTZEMDEqDQorWDQyMTE0NlkyNjE4MjNEMDEqDQorWDQyMTIzMVkyNjE5MDVEMDEqDQorWDQyMTMwMlkyNjIwMDBEMDEqDQorWDQyMTM1NlkyNjIxMDVEMDEqDQorWDQyMTUxNVkyNjI1MDhEMDEqDQorWDQyMTYzMlkyNjI5MjVEMDEqDQorWDQyMTcxMVkyNjMzNTJEMDEqDQorWDQyMTc1MFkyNjM3ODNEMDEqDQorWTI2NDIxN0QwMSoNCitYNDIxNzExWTI2NDY0OEQwMSoNCitYNDIxNjMyWTI2NTA3NUQwMSoNCitYNDIxNTE1WTI2NTQ5MkQwMSoNCitYNDIxMzYwWTI2NTg5N0QwMSoNCitYNDIxMzA1WTI2NjAwMkQwMSoNCitYNDIxMjM0WTI2NjA5N0QwMSoNCitYNDIxMTQ4WTI2NjE3OUQwMSoNCitYNDIxMDUxWTI2NjI0N0QwMSoNCitYNDIwOTQ1WTI2NjI5OUQwMSoNCitYNDIwODMyWTI2NjMzNEQwMSoNCitZMjkxNjcwRDAxKg0KK1g0MjA5NDNZMjkxNzA0RDAxKg0KK1g0MjEwNTBZMjkxNzU2RDAxKg0KK1g0MjExNDZZMjkxODIzRDAxKg0KK1g0MjEyMzFZMjkxOTA1RDAxKg0KK1g0MjEzMDJZMjkyMDAwRDAxKg0KK1g0MjEzNTZZMjkyMTA1RDAxKg0KK1g0MjE1MTVZMjkyNTA4RDAxKg0KK1g0MjE2MzJZMjkyOTI1RDAxKg0KK1g0MjE3MTFZMjkzMzUyRDAxKg0KK1g0MjE3NTBZMjkzNzgzRDAxKg0KK1kyOTQyMTdEMDEqDQorWDQyMTcxMVkyOTQ2NDhEMDEqDQorWDQyMTYzMlkyOTUwNzVEMDEqDQorWDQyMTUxNVkyOTU0OTJEMDEqDQorWDQyMTM2MFkyOTU4OTdEMDEqDQorWDQyMTMwNVkyOTYwMDJEMDEqDQorWDQyMTIzNFkyOTYwOTdEMDEqDQorWDQyMTE0OFkyOTYxNzlEMDEqDQorWDQyMTA1MVkyOTYyNDdEMDEqDQorWDQyMDk0NVkyOTYyOTlEMDEqDQorWDQyMDgzMlkyOTYzMzREMDEqDQorWTMyMTY3MEQwMSoNCitYNDIwOTQzWTMyMTcwNEQwMSoNCitYNDIxMDUwWTMyMTc1NkQwMSoNCitYNDIxMTQ2WTMyMTgyM0QwMSoNCitYNDIxMjMxWTMyMTkwNUQwMSoNCitYNDIxMzAyWTMyMjAwMEQwMSoNCitYNDIxMzU2WTMyMjEwNUQwMSoNCitYNDIxNTE1WTMyMjUwOEQwMSoNCitYNDIxNjMyWTMyMjkyNUQwMSoNCitYNDIxNzExWTMyMzM1MkQwMSoNCitYNDIxNzUwWTMyMzc4M0QwMSoNCitZMzI0MjE3RDAxKg0KK1g0MjE3MTFZMzI0NjQ4RDAxKg0KK1g0MjE2MzJZMzI1MDc1RDAxKg0KK1g0MjE1MTVZMzI1NDkyRDAxKg0KK1g0MjEzNjBZMzI1ODk3RDAxKg0KK1g0MjEzMDVZMzI2MDAyRDAxKg0KK1g0MjEyMzRZMzI2MDk3RDAxKg0KK1g0MjExNDhZMzI2MTc5RDAxKg0KK1g0MjEwNTFZMzI2MjQ3RDAxKg0KK1g0MjA5NDVZMzI2Mjk5RDAxKg0KK1g0MjA4MzJZMzI2MzM0RDAxKg0KK1kzNTE2NzBEMDEqDQorWDQyMDk0M1kzNTE3MDREMDEqDQorWDQyMTA1MFkzNTE3NTZEMDEqDQorWDQyMTE0NlkzNTE4MjNEMDEqDQorWDQyMTIzMVkzNTE5MDVEMDEqDQorWDQyMTMwMlkzNTIwMDBEMDEqDQorWDQyMTM1NlkzNTIxMDVEMDEqDQorWDQyMTUxNVkzNTI1MDhEMDEqDQorWDQyMTYzMlkzNTI5MjVEMDEqDQorWDQyMTcxMVkzNTMzNTJEMDEqDQorWDQyMTc1MFkzNTM3ODNEMDEqDQorWTM1NDIxN0QwMSoNCitYNDIxNzExWTM1NDY0OEQwMSoNCitYNDIxNjMyWTM1NTA3NUQwMSoNCitYNDIxNTE1WTM1NTQ5MkQwMSoNCitYNDIxMzYwWTM1NTg5N0QwMSoNCitYNDIxMzA1WTM1NjAwMkQwMSoNCitYNDIxMjM0WTM1NjA5N0QwMSoNCitYNDIxMTQ4WTM1NjE3OUQwMSoNCitYNDIxMDUxWTM1NjI0N0QwMSoNCitYNDIwOTQ1WTM1NjI5OUQwMSoNCitYNDIwODMyWTM1NjMzNEQwMSoNCitZMzgxNjcwRDAxKg0KK1g0MjA5NDNZMzgxNzA0RDAxKg0KK1g0MjEwNTBZMzgxNzU2RDAxKg0KK1g0MjExNDZZMzgxODIzRDAxKg0KK1g0MjEyMzFZMzgxOTA1RDAxKg0KK1g0MjEzMDJZMzgyMDAwRDAxKg0KK1g0MjEzNTZZMzgyMTA1RDAxKg0KK1g0MjE1MTVZMzgyNTA4RDAxKg0KK1g0MjE2MzJZMzgyOTI1RDAxKg0KK1g0MjE3MTFZMzgzMzUyRDAxKg0KK1g0MjE3NTBZMzgzNzgzRDAxKg0KK1kzODQyMTdEMDEqDQorWDQyMTcxMVkzODQ2NDhEMDEqDQorWDQyMTYzMlkzODUwNzVEMDEqDQorWDQyMTUxNVkzODU0OTJEMDEqDQorWDQyMTM2MFkzODU4OTdEMDEqDQorWDQyMTMwNVkzODYwMDJEMDEqDQorWDQyMTIzNFkzODYwOTdEMDEqDQorWDQyMTE0OFkzODYxNzlEMDEqDQorWDQyMTA1MVkzODYyNDdEMDEqDQorWDQyMDk0NVkzODYyOTlEMDEqDQorWDQyMDgzMlkzODYzMzREMDEqDQorWTM5NzAwMEQwMSoNCitYNDI2OTkzRDAxKg0KK1kzODg3NjREMDEqDQorWDQyNjI1NVkzODg3MDZEMDEqDQorWDQyNTUyOFkzODg1MzFEMDEqDQorWDQyNDgzN1kzODgyNDVEMDEqDQorWDQyNDE5OVkzODc4NTVEMDEqDQorWDQyMzYzMVkzODczNjlEMDEqDQorWDQyMzE0NVkzODY4MDFEMDEqDQorWDQyMjc1NVkzODYxNjNEMDEqDQorWDQyMjQ2OVkzODU0NzJEMDEqDQorWDQyMjI5NFkzODQ3NDVEMDEqDQorWDQyMjIzNVkzODQwMDBEMDEqDQorWDQyMjI5NFkzODMyNTVEMDEqDQorWDQyMjQ2OVkzODI1MjhEMDEqDQorWDQyMjc1NVkzODE4MzdEMDEqDQorWDQyMzE0NVkzODExOTlEMDEqDQorWDQyMzYzMVkzODA2MzFEMDEqDQorWDQyNDE5OVkzODAxNDVEMDEqDQorWDQyNDgzN1kzNzk3NTVEMDEqDQorWDQyNTUyOFkzNzk0NjlEMDEqDQorWDQyNjI1NVkzNzkyOTREMDEqDQorWDQyNjk5M1kzNzkyMzZEMDEqDQorWTM1ODc2NEQwMSoNCitYNDI2MjU1WTM1ODcwNkQwMSoNCitYNDI1NTI4WTM1ODUzMUQwMSoNCitYNDI0ODM3WTM1ODI0NUQwMSoNCitYNDI0MTk5WTM1Nzg1NUQwMSoNCitYNDIzNjMxWTM1NzM2OUQwMSoNCitYNDIzMTQ1WTM1NjgwMUQwMSoNCitYNDIyNzU1WTM1NjE2M0QwMSoNCitYNDIyNDY5WTM1NTQ3MkQwMSoNCitYNDIyMjk0WTM1NDc0NUQwMSoNCitYNDIyMjM1WTM1NDAwMEQwMSoNCitYNDIyMjk0WTM1MzI1NUQwMSoNCitYNDIyNDY5WTM1MjUyOEQwMSoNCitYNDIyNzU1WTM1MTgzN0QwMSoNCitYNDIzMTQ1WTM1MTE5OUQwMSoNCitYNDIzNjMxWTM1MDYzMUQwMSoNCitYNDI0MTk5WTM1MDE0NUQwMSoNCitYNDI0ODM3WTM0OTc1NUQwMSoNCitYNDI1NTI4WTM0OTQ2OUQwMSoNCitYNDI2MjU1WTM0OTI5NEQwMSoNCitYNDI2OTkzWTM0OTIzNkQwMSoNCitZMzI4NzY0RDAxKg0KK1g0MjYyNTVZMzI4NzA2RDAxKg0KK1g0MjU1MjhZMzI4NTMxRDAxKg0KK1g0MjQ4MzdZMzI4MjQ1RDAxKg0KK1g0MjQxOTlZMzI3ODU1RDAxKg0KK1g0MjM2MzFZMzI3MzY5RDAxKg0KK1g0MjMxNDVZMzI2ODAxRDAxKg0KK1g0MjI3NTVZMzI2MTYzRDAxKg0KK1g0MjI0NjlZMzI1NDcyRDAxKg0KK1g0MjIyOTRZMzI0NzQ1RDAxKg0KK1g0MjIyMzVZMzI0MDAwRDAxKg0KK1g0MjIyOTRZMzIzMjU1RDAxKg0KK1g0MjI0NjlZMzIyNTI4RDAxKg0KK1g0MjI3NTVZMzIxODM3RDAxKg0KK1g0MjMxNDVZMzIxMTk5RDAxKg0KK1g0MjM2MzFZMzIwNjMxRDAxKg0KK1g0MjQxOTlZMzIwMTQ1RDAxKg0KK1g0MjQ4MzdZMzE5NzU1RDAxKg0KK1g0MjU1MjhZMzE5NDY5RDAxKg0KK1g0MjYyNTVZMzE5Mjk0RDAxKg0KK1g0MjY5OTNZMzE5MjM2RDAxKg0KK1kyOTg3NjREMDEqDQorWDQyNjI1NVkyOTg3MDZEMDEqDQorWDQyNTUyOFkyOTg1MzFEMDEqDQorWDQyNDgzN1kyOTgyNDVEMDEqDQorWDQyNDE5OVkyOTc4NTVEMDEqDQorWDQyMzYzMVkyOTczNjlEMDEqDQorWDQyMzE0NVkyOTY4MDFEMDEqDQorWDQyMjc1NVkyOTYxNjNEMDEqDQorWDQyMjQ2OVkyOTU0NzJEMDEqDQorWDQyMjI5NFkyOTQ3NDVEMDEqDQorWDQyMjIzNVkyOTQwMDBEMDEqDQorWDQyMjI5NFkyOTMyNTVEMDEqDQorWDQyMjQ2OVkyOTI1MjhEMDEqDQorWDQyMjc1NVkyOTE4MzdEMDEqDQorWDQyMzE0NVkyOTExOTlEMDEqDQorWDQyMzYzMVkyOTA2MzFEMDEqDQorWDQyNDE5OVkyOTAxNDVEMDEqDQorWDQyNDgzN1kyODk3NTVEMDEqDQorWDQyNTUyOFkyODk0NjlEMDEqDQorWDQyNjI1NVkyODkyOTREMDEqDQorWDQyNjk5M1kyODkyMzZEMDEqDQorWTI2ODc2NEQwMSoNCitYNDI2MjU1WTI2ODcwNkQwMSoNCitYNDI1NTI4WTI2ODUzMUQwMSoNCitYNDI0ODM3WTI2ODI0NUQwMSoNCitYNDI0MTk5WTI2Nzg1NUQwMSoNCitYNDIzNjMxWTI2NzM2OUQwMSoNCitYNDIzMTQ1WTI2NjgwMUQwMSoNCitYNDIyNzU1WTI2NjE2M0QwMSoNCitYNDIyNDY5WTI2NTQ3MkQwMSoNCitYNDIyMjk0WTI2NDc0NUQwMSoNCitYNDIyMjM1WTI2NDAwMEQwMSoNCitYNDIyMjk0WTI2MzI1NUQwMSoNCitYNDIyNDY5WTI2MjUyOEQwMSoNCitYNDIyNzU1WTI2MTgzN0QwMSoNCitYNDIzMTQ1WTI2MTE5OUQwMSoNCitYNDIzNjMxWTI2MDYzMUQwMSoNCitYNDI0MTk5WTI2MDE0NUQwMSoNCitYNDI0ODM3WTI1OTc1NUQwMSoNCitYNDI1NTI4WTI1OTQ2OUQwMSoNCitYNDI2MjU1WTI1OTI5NEQwMSoNCitYNDI2OTkzWTI1OTIzNkQwMSoNCitZMjM4NzY0RDAxKg0KK1g0MjYyNTVZMjM4NzA2RDAxKg0KK1g0MjU1MjhZMjM4NTMxRDAxKg0KK1g0MjQ4MzdZMjM4MjQ1RDAxKg0KK1g0MjQxOTlZMjM3ODU1RDAxKg0KK1g0MjM2MzFZMjM3MzY5RDAxKg0KK1g0MjMxNDVZMjM2ODAxRDAxKg0KK1g0MjI3NTVZMjM2MTYzRDAxKg0KK1g0MjI0NjlZMjM1NDcyRDAxKg0KK1g0MjIyOTRZMjM0NzQ1RDAxKg0KK1g0MjIyMzVZMjM0MDAwRDAxKg0KK1g0MjIyOTRZMjMzMjU1RDAxKg0KK1g0MjI0NjlZMjMyNTI4RDAxKg0KK1g0MjI3NTVZMjMxODM3RDAxKg0KK1g0MjMxNDVZMjMxMTk5RDAxKg0KK1g0MjM2MzFZMjMwNjMxRDAxKg0KK1g0MjQxOTlZMjMwMTQ1RDAxKg0KK1g0MjQ4MzdZMjI5NzU1RDAxKg0KK1g0MjU1MjhZMjI5NDY5RDAxKg0KK1g0MjYyNTVZMjI5Mjk0RDAxKg0KK1g0MjY5OTNZMjI5MjM2RDAxKg0KK1kyMDg3NjREMDEqDQorWDQyNjI1NVkyMDg3MDZEMDEqDQorWDQyNTUyOFkyMDg1MzFEMDEqDQorWDQyNDgzN1kyMDgyNDVEMDEqDQorWDQyNDE5OVkyMDc4NTVEMDEqDQorWDQyMzYzMVkyMDczNjlEMDEqDQorWDQyMzE0NVkyMDY4MDFEMDEqDQorWDQyMjc1NVkyMDYxNjNEMDEqDQorWDQyMjQ2OVkyMDU0NzJEMDEqDQorWDQyMjI5NFkyMDQ3NDVEMDEqDQorWDQyMjIzNVkyMDQwMDBEMDEqDQorWDQyMjI5NFkyMDMyNTVEMDEqDQorWDQyMjQ2OVkyMDI1MjhEMDEqDQorWDQyMjc1NVkyMDE4MzdEMDEqDQorWDQyMzE0NVkyMDExOTlEMDEqDQorWDQyMzYzMVkyMDA2MzFEMDEqDQorWDQyNDE5OVkyMDAxNDVEMDEqDQorWDQyNDgzN1kxOTk3NTVEMDEqDQorWDQyNTUyOFkxOTk0NjlEMDEqDQorWDQyNjI1NVkxOTkyOTREMDEqDQorWDQyNjk5M1kxOTkyMzZEMDEqDQorWTE3ODc2NEQwMSoNCitYNDI2MjU1WTE3ODcwNkQwMSoNCitYNDI1NTI4WTE3ODUzMUQwMSoNCitYNDI0ODM3WTE3ODI0NUQwMSoNCitYNDI0MTk5WTE3Nzg1NUQwMSoNCitYNDIzNjMxWTE3NzM2OUQwMSoNCitYNDIzMTQ1WTE3NjgwMUQwMSoNCitYNDIyNzU1WTE3NjE2M0QwMSoNCitYNDIyNDY5WTE3NTQ3MkQwMSoNCitYNDIyMjk0WTE3NDc0NUQwMSoNCitYNDIyMjM1WTE3NDAwMEQwMSoNCitYNDIyMjk0WTE3MzI1NUQwMSoNCitYNDIyNDY5WTE3MjUyOEQwMSoNCitYNDIyNzU1WTE3MTgzN0QwMSoNCitYNDIzMTQ1WTE3MTE5OUQwMSoNCitYNDIzNjMxWTE3MDYzMUQwMSoNCitYNDI0MTk5WTE3MDE0NUQwMSoNCitYNDI0ODM3WTE2OTc1NUQwMSoNCitYNDI1NTI4WTE2OTQ2OUQwMSoNCitYNDI2MjU1WTE2OTI5NEQwMSoNCitYNDI2OTkzWTE2OTIzNkQwMSoNCitZMTU0MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQyMDgzMkQwMipYNDE3MDAyRDAxKg0KK1kxNjkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTE2OTI4OUQwMSoNCitYNDE4MDc1WTE2OTM2OEQwMSoNCitYNDE4NDkyWTE2OTQ4NUQwMSoNCitYNDE4ODk3WTE2OTY0MEQwMSoNCitYNDE5MDAyWTE2OTY5NUQwMSoNCitYNDE5MDk3WTE2OTc2NkQwMSoNCitYNDE5MTc5WTE2OTg1MkQwMSoNCitYNDE5MjQ3WTE2OTk0OUQwMSoNCitYNDE5Mjk5WTE3MDA1NUQwMSoNCitYNDE5MzM0WTE3MDE2OUQwMSoNCitYNDE5MzUwWTE3MDI4NkQwMSoNCitYNDE5MzQ4WTE3MDQwNUQwMSoNCitYNDE5MzI3WTE3MDUyMkQwMSoNCitYNDE5Mjg5WTE3MDYzNEQwMSoNCitYNDE5MjMzWTE3MDczOEQwMSoNCitYNDE5MTYyWTE3MDgzM0QwMSoNCitYNDE5MDc2WTE3MDkxNUQwMSoNCitYNDE4OTc5WTE3MDk4M0QwMSoNCitYNDE4ODczWTE3MTAzNUQwMSoNCitYNDE4NzU5WTE3MTA3MEQwMSoNCitYNDE4NjQyWTE3MTA4NkQwMSoNCitYNDE4NTIzWTE3MTA4NEQwMSoNCitYNDE4NDA2WTE3MTA2NEQwMSoNCitYNDE4Mjk1WTE3MTAyM0QwMSoNCitYNDE4MDIwWTE3MDkxNEQwMSoNCitYNDE3NzM1WTE3MDgzNEQwMSoNCitYNDE3NDQzWTE3MDc4MEQwMSoNCitYNDE3MTQ4WTE3MDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kxNzcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTE3NzIyMEQwMSoNCitYNDE3NzM1WTE3NzE2NkQwMSoNCitYNDE4MDIwWTE3NzA4NkQwMSoNCitYNDE4Mjk3WTE3Njk4MEQwMSoNCitYNDE4NDA3WTE3Njk0MEQwMSoNCitYNDE4NTI0WTE3NjkxOUQwMSoNCitYNDE4NjQyWTE3NjkxN0QwMSoNCitYNDE4NzU5WTE3NjkzM0QwMSoNCitYNDE4ODcxWTE3Njk2OEQwMSoNCitYNDE4OTc4WTE3NzAyMEQwMSoNCitYNDE5MDc0WTE3NzA4N0QwMSoNCitYNDE5MTU5WTE3NzE2OUQwMSoNCitYNDE5MjMwWTE3NzI2M0QwMSoNCitYNDE5Mjg2WTE3NzM2OEQwMSoNCitYNDE5MzI0WTE3NzQ3OUQwMSoNCitYNDE5MzQ1WTE3NzU5NkQwMSoNCitYNDE5MzQ3WTE3NzcxNEQwMSoNCitYNDE5MzMwWTE3NzgzMEQwMSoNCitYNDE5Mjk2WTE3Nzk0M0QwMSoNCitYNDE5MjQ0WTE3ODA1MEQwMSoNCitYNDE5MTc3WTE3ODE0NkQwMSoNCitYNDE5MDk1WTE3ODIzMUQwMSoNCitYNDE5MDAwWTE3ODMwMkQwMSoNCitYNDE4ODk1WTE3ODM1NkQwMSoNCitYNDE4NDkyWTE3ODUxNUQwMSoNCitYNDE4MDc1WTE3ODYzMkQwMSoNCitYNDE3NjQ4WTE3ODcxMUQwMSoNCitYNDE3MjE3WTE3ODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kxOTkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTE5OTI4OUQwMSoNCitYNDE4MDc1WTE5OTM2OEQwMSoNCitYNDE4NDkyWTE5OTQ4NUQwMSoNCitYNDE4ODk3WTE5OTY0MEQwMSoNCitYNDE5MDAyWTE5OTY5NUQwMSoNCitYNDE5MDk3WTE5OTc2NkQwMSoNCitYNDE5MTc5WTE5OTg1MkQwMSoNCitYNDE5MjQ3WTE5OTk0OUQwMSoNCitYNDE5Mjk5WTIwMDA1NUQwMSoNCitYNDE5MzM0WTIwMDE2OUQwMSoNCitYNDE5MzUwWTIwMDI4NkQwMSoNCitYNDE5MzQ4WTIwMDQwNUQwMSoNCitYNDE5MzI3WTIwMDUyMkQwMSoNCitYNDE5Mjg5WTIwMDYzNEQwMSoNCitYNDE5MjMzWTIwMDczOEQwMSoNCitYNDE5MTYyWTIwMDgzM0QwMSoNCitYNDE5MDc2WTIwMDkxNUQwMSoNCitYNDE4OTc5WTIwMDk4M0QwMSoNCitYNDE4ODczWTIwMTAzNUQwMSoNCitYNDE4NzU5WTIwMTA3MEQwMSoNCitYNDE4NjQyWTIwMTA4NkQwMSoNCitYNDE4NTIzWTIwMTA4NEQwMSoNCitYNDE4NDA2WTIwMTA2NEQwMSoNCitYNDE4Mjk1WTIwMTAyM0QwMSoNCitYNDE4MDIwWTIwMDkxNEQwMSoNCitYNDE3NzM1WTIwMDgzNEQwMSoNCitYNDE3NDQzWTIwMDc4MEQwMSoNCitYNDE3MTQ4WTIwMDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kyMDcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTIwNzIyMEQwMSoNCitYNDE3NzM1WTIwNzE2NkQwMSoNCitYNDE4MDIwWTIwNzA4NkQwMSoNCitYNDE4Mjk3WTIwNjk4MEQwMSoNCitYNDE4NDA3WTIwNjk0MEQwMSoNCitYNDE4NTI0WTIwNjkxOUQwMSoNCitYNDE4NjQyWTIwNjkxN0QwMSoNCitYNDE4NzU5WTIwNjkzM0QwMSoNCitYNDE4ODcxWTIwNjk2OEQwMSoNCitYNDE4OTc4WTIwNzAyMEQwMSoNCitYNDE5MDc0WTIwNzA4N0QwMSoNCitYNDE5MTU5WTIwNzE2OUQwMSoNCitYNDE5MjMwWTIwNzI2M0QwMSoNCitYNDE5Mjg2WTIwNzM2OEQwMSoNCitYNDE5MzI0WTIwNzQ3OUQwMSoNCitYNDE5MzQ1WTIwNzU5NkQwMSoNCitYNDE5MzQ3WTIwNzcxNEQwMSoNCitYNDE5MzMwWTIwNzgzMEQwMSoNCitYNDE5Mjk2WTIwNzk0M0QwMSoNCitYNDE5MjQ0WTIwODA1MEQwMSoNCitYNDE5MTc3WTIwODE0NkQwMSoNCitYNDE5MDk1WTIwODIzMUQwMSoNCitYNDE5MDAwWTIwODMwMkQwMSoNCitYNDE4ODk1WTIwODM1NkQwMSoNCitYNDE4NDkyWTIwODUxNUQwMSoNCitYNDE4MDc1WTIwODYzMkQwMSoNCitYNDE3NjQ4WTIwODcxMUQwMSoNCitYNDE3MjE3WTIwODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kyMjkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTIyOTI4OUQwMSoNCitYNDE4MDc1WTIyOTM2OEQwMSoNCitYNDE4NDkyWTIyOTQ4NUQwMSoNCitYNDE4ODk3WTIyOTY0MEQwMSoNCitYNDE5MDAyWTIyOTY5NUQwMSoNCitYNDE5MDk3WTIyOTc2NkQwMSoNCitYNDE5MTc5WTIyOTg1MkQwMSoNCitYNDE5MjQ3WTIyOTk0OUQwMSoNCitYNDE5Mjk5WTIzMDA1NUQwMSoNCitYNDE5MzM0WTIzMDE2OUQwMSoNCitYNDE5MzUwWTIzMDI4NkQwMSoNCitYNDE5MzQ4WTIzMDQwNUQwMSoNCitYNDE5MzI3WTIzMDUyMkQwMSoNCitYNDE5Mjg5WTIzMDYzNEQwMSoNCitYNDE5MjMzWTIzMDczOEQwMSoNCitYNDE5MTYyWTIzMDgzM0QwMSoNCitYNDE5MDc2WTIzMDkxNUQwMSoNCitYNDE4OTc5WTIzMDk4M0QwMSoNCitYNDE4ODczWTIzMTAzNUQwMSoNCitYNDE4NzU5WTIzMTA3MEQwMSoNCitYNDE4NjQyWTIzMTA4NkQwMSoNCitYNDE4NTIzWTIzMTA4NEQwMSoNCitYNDE4NDA2WTIzMTA2NEQwMSoNCitYNDE4Mjk1WTIzMTAyM0QwMSoNCitYNDE4MDIwWTIzMDkxNEQwMSoNCitYNDE3NzM1WTIzMDgzNEQwMSoNCitYNDE3NDQzWTIzMDc4MEQwMSoNCitYNDE3MTQ4WTIzMDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kyMzcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTIzNzIyMEQwMSoNCitYNDE3NzM1WTIzNzE2NkQwMSoNCitYNDE4MDIwWTIzNzA4NkQwMSoNCitYNDE4Mjk3WTIzNjk4MEQwMSoNCitYNDE4NDA3WTIzNjk0MEQwMSoNCitYNDE4NTI0WTIzNjkxOUQwMSoNCitYNDE4NjQyWTIzNjkxN0QwMSoNCitYNDE4NzU5WTIzNjkzM0QwMSoNCitYNDE4ODcxWTIzNjk2OEQwMSoNCitYNDE4OTc4WTIzNzAyMEQwMSoNCitYNDE5MDc0WTIzNzA4N0QwMSoNCitYNDE5MTU5WTIzNzE2OUQwMSoNCitYNDE5MjMwWTIzNzI2M0QwMSoNCitYNDE5Mjg2WTIzNzM2OEQwMSoNCitYNDE5MzI0WTIzNzQ3OUQwMSoNCitYNDE5MzQ1WTIzNzU5NkQwMSoNCitYNDE5MzQ3WTIzNzcxNEQwMSoNCitYNDE5MzMwWTIzNzgzMEQwMSoNCitYNDE5Mjk2WTIzNzk0M0QwMSoNCitYNDE5MjQ0WTIzODA1MEQwMSoNCitYNDE5MTc3WTIzODE0NkQwMSoNCitYNDE5MDk1WTIzODIzMUQwMSoNCitYNDE5MDAwWTIzODMwMkQwMSoNCitYNDE4ODk1WTIzODM1NkQwMSoNCitYNDE4NDkyWTIzODUxNUQwMSoNCitYNDE4MDc1WTIzODYzMkQwMSoNCitYNDE3NjQ4WTIzODcxMUQwMSoNCitYNDE3MjE3WTIzODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kyNTkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTI1OTI4OUQwMSoNCitYNDE4MDc1WTI1OTM2OEQwMSoNCitYNDE4NDkyWTI1OTQ4NUQwMSoNCitYNDE4ODk3WTI1OTY0MEQwMSoNCitYNDE5MDAyWTI1OTY5NUQwMSoNCitYNDE5MDk3WTI1OTc2NkQwMSoNCitYNDE5MTc5WTI1OTg1MkQwMSoNCitYNDE5MjQ3WTI1OTk0OUQwMSoNCitYNDE5Mjk5WTI2MDA1NUQwMSoNCitYNDE5MzM0WTI2MDE2OUQwMSoNCitYNDE5MzUwWTI2MDI4NkQwMSoNCitYNDE5MzQ4WTI2MDQwNUQwMSoNCitYNDE5MzI3WTI2MDUyMkQwMSoNCitYNDE5Mjg5WTI2MDYzNEQwMSoNCitYNDE5MjMzWTI2MDczOEQwMSoNCitYNDE5MTYyWTI2MDgzM0QwMSoNCitYNDE5MDc2WTI2MDkxNUQwMSoNCitYNDE4OTc5WTI2MDk4M0QwMSoNCitYNDE4ODczWTI2MTAzNUQwMSoNCitYNDE4NzU5WTI2MTA3MEQwMSoNCitYNDE4NjQyWTI2MTA4NkQwMSoNCitYNDE4NTIzWTI2MTA4NEQwMSoNCitYNDE4NDA2WTI2MTA2NEQwMSoNCitYNDE4Mjk1WTI2MTAyM0QwMSoNCitYNDE4MDIwWTI2MDkxNEQwMSoNCitYNDE3NzM1WTI2MDgzNEQwMSoNCitYNDE3NDQzWTI2MDc4MEQwMSoNCitYNDE3MTQ4WTI2MDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kyNjcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTI2NzIyMEQwMSoNCitYNDE3NzM1WTI2NzE2NkQwMSoNCitYNDE4MDIwWTI2NzA4NkQwMSoNCitYNDE4Mjk3WTI2Njk4MEQwMSoNCitYNDE4NDA3WTI2Njk0MEQwMSoNCitYNDE4NTI0WTI2NjkxOUQwMSoNCitYNDE4NjQyWTI2NjkxN0QwMSoNCitYNDE4NzU5WTI2NjkzM0QwMSoNCitYNDE4ODcxWTI2Njk2OEQwMSoNCitYNDE4OTc4WTI2NzAyMEQwMSoNCitYNDE5MDc0WTI2NzA4N0QwMSoNCitYNDE5MTU5WTI2NzE2OUQwMSoNCitYNDE5MjMwWTI2NzI2M0QwMSoNCitYNDE5Mjg2WTI2NzM2OEQwMSoNCitYNDE5MzI0WTI2NzQ3OUQwMSoNCitYNDE5MzQ1WTI2NzU5NkQwMSoNCitYNDE5MzQ3WTI2NzcxNEQwMSoNCitYNDE5MzMwWTI2NzgzMEQwMSoNCitYNDE5Mjk2WTI2Nzk0M0QwMSoNCitYNDE5MjQ0WTI2ODA1MEQwMSoNCitYNDE5MTc3WTI2ODE0NkQwMSoNCitYNDE5MDk1WTI2ODIzMUQwMSoNCitYNDE5MDAwWTI2ODMwMkQwMSoNCitYNDE4ODk1WTI2ODM1NkQwMSoNCitYNDE4NDkyWTI2ODUxNUQwMSoNCitYNDE4MDc1WTI2ODYzMkQwMSoNCitYNDE3NjQ4WTI2ODcxMUQwMSoNCitYNDE3MjE3WTI2ODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kyODkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTI4OTI4OUQwMSoNCitYNDE4MDc1WTI4OTM2OEQwMSoNCitYNDE4NDkyWTI4OTQ4NUQwMSoNCitYNDE4ODk3WTI4OTY0MEQwMSoNCitYNDE5MDAyWTI4OTY5NUQwMSoNCitYNDE5MDk3WTI4OTc2NkQwMSoNCitYNDE5MTc5WTI4OTg1MkQwMSoNCitYNDE5MjQ3WTI4OTk0OUQwMSoNCitYNDE5Mjk5WTI5MDA1NUQwMSoNCitYNDE5MzM0WTI5MDE2OUQwMSoNCitYNDE5MzUwWTI5MDI4NkQwMSoNCitYNDE5MzQ4WTI5MDQwNUQwMSoNCitYNDE5MzI3WTI5MDUyMkQwMSoNCitYNDE5Mjg5WTI5MDYzNEQwMSoNCitYNDE5MjMzWTI5MDczOEQwMSoNCitYNDE5MTYyWTI5MDgzM0QwMSoNCitYNDE5MDc2WTI5MDkxNUQwMSoNCitYNDE4OTc5WTI5MDk4M0QwMSoNCitYNDE4ODczWTI5MTAzNUQwMSoNCitYNDE4NzU5WTI5MTA3MEQwMSoNCitYNDE4NjQyWTI5MTA4NkQwMSoNCitYNDE4NTIzWTI5MTA4NEQwMSoNCitYNDE4NDA2WTI5MTA2NEQwMSoNCitYNDE4Mjk1WTI5MTAyM0QwMSoNCitYNDE4MDIwWTI5MDkxNEQwMSoNCitYNDE3NzM1WTI5MDgzNEQwMSoNCitYNDE3NDQzWTI5MDc4MEQwMSoNCitYNDE3MTQ4WTI5MDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kyOTcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTI5NzIyMEQwMSoNCitYNDE3NzM1WTI5NzE2NkQwMSoNCitYNDE4MDIwWTI5NzA4NkQwMSoNCitYNDE4Mjk3WTI5Njk4MEQwMSoNCitYNDE4NDA3WTI5Njk0MEQwMSoNCitYNDE4NTI0WTI5NjkxOUQwMSoNCitYNDE4NjQyWTI5NjkxN0QwMSoNCitYNDE4NzU5WTI5NjkzM0QwMSoNCitYNDE4ODcxWTI5Njk2OEQwMSoNCitYNDE4OTc4WTI5NzAyMEQwMSoNCitYNDE5MDc0WTI5NzA4N0QwMSoNCitYNDE5MTU5WTI5NzE2OUQwMSoNCitYNDE5MjMwWTI5NzI2M0QwMSoNCitYNDE5Mjg2WTI5NzM2OEQwMSoNCitYNDE5MzI0WTI5NzQ3OUQwMSoNCitYNDE5MzQ1WTI5NzU5NkQwMSoNCitYNDE5MzQ3WTI5NzcxNEQwMSoNCitYNDE5MzMwWTI5NzgzMEQwMSoNCitYNDE5Mjk2WTI5Nzk0M0QwMSoNCitYNDE5MjQ0WTI5ODA1MEQwMSoNCitYNDE5MTc3WTI5ODE0NkQwMSoNCitYNDE5MDk1WTI5ODIzMUQwMSoNCitYNDE5MDAwWTI5ODMwMkQwMSoNCitYNDE4ODk1WTI5ODM1NkQwMSoNCitYNDE4NDkyWTI5ODUxNUQwMSoNCitYNDE4MDc1WTI5ODYzMkQwMSoNCitYNDE3NjQ4WTI5ODcxMUQwMSoNCitYNDE3MjE3WTI5ODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kzMTkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTMxOTI4OUQwMSoNCitYNDE4MDc1WTMxOTM2OEQwMSoNCitYNDE4NDkyWTMxOTQ4NUQwMSoNCitYNDE4ODk3WTMxOTY0MEQwMSoNCitYNDE5MDAyWTMxOTY5NUQwMSoNCitYNDE5MDk3WTMxOTc2NkQwMSoNCitYNDE5MTc5WTMxOTg1MkQwMSoNCitYNDE5MjQ3WTMxOTk0OUQwMSoNCitYNDE5Mjk5WTMyMDA1NUQwMSoNCitYNDE5MzM0WTMyMDE2OUQwMSoNCitYNDE5MzUwWTMyMDI4NkQwMSoNCitYNDE5MzQ4WTMyMDQwNUQwMSoNCitYNDE5MzI3WTMyMDUyMkQwMSoNCitYNDE5Mjg5WTMyMDYzNEQwMSoNCitYNDE5MjMzWTMyMDczOEQwMSoNCitYNDE5MTYyWTMyMDgzM0QwMSoNCitYNDE5MDc2WTMyMDkxNUQwMSoNCitYNDE4OTc5WTMyMDk4M0QwMSoNCitYNDE4ODczWTMyMTAzNUQwMSoNCitYNDE4NzU5WTMyMTA3MEQwMSoNCitYNDE4NjQyWTMyMTA4NkQwMSoNCitYNDE4NTIzWTMyMTA4NEQwMSoNCitYNDE4NDA2WTMyMTA2NEQwMSoNCitYNDE4Mjk1WTMyMTAyM0QwMSoNCitYNDE4MDIwWTMyMDkxNEQwMSoNCitYNDE3NzM1WTMyMDgzNEQwMSoNCitYNDE3NDQzWTMyMDc4MEQwMSoNCitYNDE3MTQ4WTMyMDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kzMjcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTMyNzIyMEQwMSoNCitYNDE3NzM1WTMyNzE2NkQwMSoNCitYNDE4MDIwWTMyNzA4NkQwMSoNCitYNDE4Mjk3WTMyNjk4MEQwMSoNCitYNDE4NDA3WTMyNjk0MEQwMSoNCitYNDE4NTI0WTMyNjkxOUQwMSoNCitYNDE4NjQyWTMyNjkxN0QwMSoNCitYNDE4NzU5WTMyNjkzM0QwMSoNCitYNDE4ODcxWTMyNjk2OEQwMSoNCitYNDE4OTc4WTMyNzAyMEQwMSoNCitYNDE5MDc0WTMyNzA4N0QwMSoNCitYNDE5MTU5WTMyNzE2OUQwMSoNCitYNDE5MjMwWTMyNzI2M0QwMSoNCitYNDE5Mjg2WTMyNzM2OEQwMSoNCitYNDE5MzI0WTMyNzQ3OUQwMSoNCitYNDE5MzQ1WTMyNzU5NkQwMSoNCitYNDE5MzQ3WTMyNzcxNEQwMSoNCitYNDE5MzMwWTMyNzgzMEQwMSoNCitYNDE5Mjk2WTMyNzk0M0QwMSoNCitYNDE5MjQ0WTMyODA1MEQwMSoNCitYNDE5MTc3WTMyODE0NkQwMSoNCitYNDE5MDk1WTMyODIzMUQwMSoNCitYNDE5MDAwWTMyODMwMkQwMSoNCitYNDE4ODk1WTMyODM1NkQwMSoNCitYNDE4NDkyWTMyODUxNUQwMSoNCitYNDE4MDc1WTMyODYzMkQwMSoNCitYNDE3NjQ4WTMyODcxMUQwMSoNCitYNDE3MjE3WTMyODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kzNDkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTM0OTI4OUQwMSoNCitYNDE4MDc1WTM0OTM2OEQwMSoNCitYNDE4NDkyWTM0OTQ4NUQwMSoNCitYNDE4ODk3WTM0OTY0MEQwMSoNCitYNDE5MDAyWTM0OTY5NUQwMSoNCitYNDE5MDk3WTM0OTc2NkQwMSoNCitYNDE5MTc5WTM0OTg1MkQwMSoNCitYNDE5MjQ3WTM0OTk0OUQwMSoNCitYNDE5Mjk5WTM1MDA1NUQwMSoNCitYNDE5MzM0WTM1MDE2OUQwMSoNCitYNDE5MzUwWTM1MDI4NkQwMSoNCitYNDE5MzQ4WTM1MDQwNUQwMSoNCitYNDE5MzI3WTM1MDUyMkQwMSoNCitYNDE5Mjg5WTM1MDYzNEQwMSoNCitYNDE5MjMzWTM1MDczOEQwMSoNCitYNDE5MTYyWTM1MDgzM0QwMSoNCitYNDE5MDc2WTM1MDkxNUQwMSoNCitYNDE4OTc5WTM1MDk4M0QwMSoNCitYNDE4ODczWTM1MTAzNUQwMSoNCitYNDE4NzU5WTM1MTA3MEQwMSoNCitYNDE4NjQyWTM1MTA4NkQwMSoNCitYNDE4NTIzWTM1MTA4NEQwMSoNCitYNDE4NDA2WTM1MTA2NEQwMSoNCitYNDE4Mjk1WTM1MTAyM0QwMSoNCitYNDE4MDIwWTM1MDkxNEQwMSoNCitYNDE3NzM1WTM1MDgzNEQwMSoNCitYNDE3NDQzWTM1MDc4MEQwMSoNCitYNDE3MTQ4WTM1MDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kzNTcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTM1NzIyMEQwMSoNCitYNDE3NzM1WTM1NzE2NkQwMSoNCitYNDE4MDIwWTM1NzA4NkQwMSoNCitYNDE4Mjk3WTM1Njk4MEQwMSoNCitYNDE4NDA3WTM1Njk0MEQwMSoNCitYNDE4NTI0WTM1NjkxOUQwMSoNCitYNDE4NjQyWTM1NjkxN0QwMSoNCitYNDE4NzU5WTM1NjkzM0QwMSoNCitYNDE4ODcxWTM1Njk2OEQwMSoNCitYNDE4OTc4WTM1NzAyMEQwMSoNCitYNDE5MDc0WTM1NzA4N0QwMSoNCitYNDE5MTU5WTM1NzE2OUQwMSoNCitYNDE5MjMwWTM1NzI2M0QwMSoNCitYNDE5Mjg2WTM1NzM2OEQwMSoNCitYNDE5MzI0WTM1NzQ3OUQwMSoNCitYNDE5MzQ1WTM1NzU5NkQwMSoNCitYNDE5MzQ3WTM1NzcxNEQwMSoNCitYNDE5MzMwWTM1NzgzMEQwMSoNCitYNDE5Mjk2WTM1Nzk0M0QwMSoNCitYNDE5MjQ0WTM1ODA1MEQwMSoNCitYNDE5MTc3WTM1ODE0NkQwMSoNCitYNDE5MDk1WTM1ODIzMUQwMSoNCitYNDE5MDAwWTM1ODMwMkQwMSoNCitYNDE4ODk1WTM1ODM1NkQwMSoNCitYNDE4NDkyWTM1ODUxNUQwMSoNCitYNDE4MDc1WTM1ODYzMkQwMSoNCitYNDE3NjQ4WTM1ODcxMUQwMSoNCitYNDE3MjE3WTM1ODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kzNzkyNTBEMDEqDQorWDQxNzIxN0QwMSoNCitYNDE3NjQ4WTM3OTI4OUQwMSoNCitYNDE4MDc1WTM3OTM2OEQwMSoNCitYNDE4NDkyWTM3OTQ4NUQwMSoNCitYNDE4ODk3WTM3OTY0MEQwMSoNCitYNDE5MDAyWTM3OTY5NUQwMSoNCitYNDE5MDk3WTM3OTc2NkQwMSoNCitYNDE5MTc5WTM3OTg1MkQwMSoNCitYNDE5MjQ3WTM3OTk0OUQwMSoNCitYNDE5Mjk5WTM4MDA1NUQwMSoNCitYNDE5MzM0WTM4MDE2OUQwMSoNCitYNDE5MzUwWTM4MDI4NkQwMSoNCitYNDE5MzQ4WTM4MDQwNUQwMSoNCitYNDE5MzI3WTM4MDUyMkQwMSoNCitYNDE5Mjg5WTM4MDYzNEQwMSoNCitYNDE5MjMzWTM4MDczOEQwMSoNCitYNDE5MTYyWTM4MDgzM0QwMSoNCitYNDE5MDc2WTM4MDkxNUQwMSoNCitYNDE4OTc5WTM4MDk4M0QwMSoNCitYNDE4ODczWTM4MTAzNUQwMSoNCitYNDE4NzU5WTM4MTA3MEQwMSoNCitYNDE4NjQyWTM4MTA4NkQwMSoNCitYNDE4NTIzWTM4MTA4NEQwMSoNCitYNDE4NDA2WTM4MTA2NEQwMSoNCitYNDE4Mjk1WTM4MTAyM0QwMSoNCitYNDE4MDIwWTM4MDkxNEQwMSoNCitYNDE3NzM1WTM4MDgzNEQwMSoNCitYNDE3NDQzWTM4MDc4MEQwMSoNCitYNDE3MTQ4WTM4MDc1M0QwMSoNCitYNDE3MDAyRDAxKg0KK1kzODcyNDdEMDEqDQorWDQxNzE0OEQwMSoNCitYNDE3NDQzWTM4NzIyMEQwMSoNCitYNDE3NzM1WTM4NzE2NkQwMSoNCitYNDE4MDIwWTM4NzA4NkQwMSoNCitYNDE4Mjk3WTM4Njk4MEQwMSoNCitYNDE4NDA3WTM4Njk0MEQwMSoNCitYNDE4NTI0WTM4NjkxOUQwMSoNCitYNDE4NjQyWTM4NjkxN0QwMSoNCitYNDE4NzU5WTM4NjkzM0QwMSoNCitYNDE4ODcxWTM4Njk2OEQwMSoNCitYNDE4OTc4WTM4NzAyMEQwMSoNCitYNDE5MDc0WTM4NzA4N0QwMSoNCitYNDE5MTU5WTM4NzE2OUQwMSoNCitYNDE5MjMwWTM4NzI2M0QwMSoNCitYNDE5Mjg2WTM4NzM2OEQwMSoNCitYNDE5MzI0WTM4NzQ3OUQwMSoNCitYNDE5MzQ1WTM4NzU5NkQwMSoNCitYNDE5MzQ3WTM4NzcxNEQwMSoNCitYNDE5MzMwWTM4NzgzMEQwMSoNCitYNDE5Mjk2WTM4Nzk0M0QwMSoNCitYNDE5MjQ0WTM4ODA1MEQwMSoNCitYNDE5MTc3WTM4ODE0NkQwMSoNCitYNDE5MDk1WTM4ODIzMUQwMSoNCitYNDE5MDAwWTM4ODMwMkQwMSoNCitYNDE4ODk1WTM4ODM1NkQwMSoNCitYNDE4NDkyWTM4ODUxNUQwMSoNCitYNDE4MDc1WTM4ODYzMkQwMSoNCitYNDE3NjQ4WTM4ODcxMUQwMSoNCitYNDE3MjE3WTM4ODc1MEQwMSoNCitYNDE3MDAyRDAxKg0KK1kzOTcwMDBEMDEqDQorWDQyMDgzMkQwMSoNCitZMzg2MzM0RDAxKg0KK1g0MjA4MzFZMzg2MzM0RDAxKg0KK1g0MjA3MTRZMzg2MzUwRDAxKg0KK1g0MjA1OTVZMzg2MzQ4RDAxKg0KK1g0MjA0NzhZMzg2MzI3RDAxKg0KK1g0MjAzNjZZMzg2Mjg5RDAxKg0KK1g0MjAyNjJZMzg2MjMzRDAxKg0KK1g0MjAxNjdZMzg2MTYyRDAxKg0KK1g0MjAwODVZMzg2MDc2RDAxKg0KK1g0MjAwMTdZMzg1OTc5RDAxKg0KK1g0MTk5NjVZMzg1ODczRDAxKg0KK1g0MTk5MzBZMzg1NzU5RDAxKg0KK1g0MTk5MTRZMzg1NjQyRDAxKg0KK1g0MTk5MTZZMzg1NTIzRDAxKg0KK1g0MTk5MzZZMzg1NDA3RDAxKg0KK1g0MTk5NzdZMzg1Mjk1RDAxKg0KK1g0MjAwODZZMzg1MDIwRDAxKg0KK1g0MjAxNjZZMzg0NzM1RDAxKg0KK1g0MjAyMjBZMzg0NDQzRDAxKg0KK1g0MjAyNDdZMzg0MTQ4RDAxKg0KK1kzODM4NTJEMDEqDQorWDQyMDIyMFkzODM1NTdEMDEqDQorWDQyMDE2NlkzODMyNjVEMDEqDQorWDQyMDA4NlkzODI5ODBEMDEqDQorWDQxOTk4MFkzODI3MDNEMDEqDQorWDQxOTk0MFkzODI1OTNEMDEqDQorWDQxOTkxOVkzODI0NzZEMDEqDQorWDQxOTkxN1kzODIzNThEMDEqDQorWDQxOTkzM1kzODIyNDFEMDEqDQorWDQxOTk2OFkzODIxMjlEMDEqDQorWDQyMDAyMFkzODIwMjJEMDEqDQorWDQyMDA4N1kzODE5MjZEMDEqDQorWDQyMDE2OVkzODE4NDFEMDEqDQorWDQyMDI2M1kzODE3NzBEMDEqDQorWDQyMDM2OFkzODE3MTREMDEqDQorWDQyMDQ3OVkzODE2NzZEMDEqDQorWDQyMDU5NlkzODE2NTVEMDEqDQorWDQyMDcxNFkzODE2NTNEMDEqDQorWDQyMDgzMFkzODE2NzBEMDEqDQorWDQyMDgzMlkzODE2NzBEMDEqDQorWTM1NjMzNEQwMSoNCitYNDIwODMxWTM1NjMzNEQwMSoNCitYNDIwNzE0WTM1NjM1MEQwMSoNCitYNDIwNTk1WTM1NjM0OEQwMSoNCitYNDIwNDc4WTM1NjMyN0QwMSoNCitYNDIwMzY2WTM1NjI4OUQwMSoNCitYNDIwMjYyWTM1NjIzM0QwMSoNCitYNDIwMTY3WTM1NjE2MkQwMSoNCitYNDIwMDg1WTM1NjA3NkQwMSoNCitYNDIwMDE3WTM1NTk3OUQwMSoNCitYNDE5OTY1WTM1NTg3M0QwMSoNCitYNDE5OTMwWTM1NTc1OUQwMSoNCitYNDE5OTE0WTM1NTY0MkQwMSoNCitYNDE5OTE2WTM1NTUyM0QwMSoNCitYNDE5OTM2WTM1NTQwN0QwMSoNCitYNDE5OTc3WTM1NTI5NUQwMSoNCitYNDIwMDg2WTM1NTAyMEQwMSoNCitYNDIwMTY2WTM1NDczNUQwMSoNCitYNDIwMjIwWTM1NDQ0M0QwMSoNCitYNDIwMjQ3WTM1NDE0OEQwMSoNCitZMzUzODUyRDAxKg0KK1g0MjAyMjBZMzUzNTU3RDAxKg0KK1g0MjAxNjZZMzUzMjY1RDAxKg0KK1g0MjAwODZZMzUyOTgwRDAxKg0KK1g0MTk5ODBZMzUyNzAzRDAxKg0KK1g0MTk5NDBZMzUyNTkzRDAxKg0KK1g0MTk5MTlZMzUyNDc2RDAxKg0KK1g0MTk5MTdZMzUyMzU4RDAxKg0KK1g0MTk5MzNZMzUyMjQxRDAxKg0KK1g0MTk5NjhZMzUyMTI5RDAxKg0KK1g0MjAwMjBZMzUyMDIyRDAxKg0KK1g0MjAwODdZMzUxOTI2RDAxKg0KK1g0MjAxNjlZMzUxODQxRDAxKg0KK1g0MjAyNjNZMzUxNzcwRDAxKg0KK1g0MjAzNjhZMzUxNzE0RDAxKg0KK1g0MjA0NzlZMzUxNjc2RDAxKg0KK1g0MjA1OTZZMzUxNjU1RDAxKg0KK1g0MjA3MTRZMzUxNjUzRDAxKg0KK1g0MjA4MzBZMzUxNjcwRDAxKg0KK1g0MjA4MzJZMzUxNjcwRDAxKg0KK1kzMjYzMzREMDEqDQorWDQyMDgzMVkzMjYzMzREMDEqDQorWDQyMDcxNFkzMjYzNTBEMDEqDQorWDQyMDU5NVkzMjYzNDhEMDEqDQorWDQyMDQ3OFkzMjYzMjdEMDEqDQorWDQyMDM2NlkzMjYyODlEMDEqDQorWDQyMDI2MlkzMjYyMzNEMDEqDQorWDQyMDE2N1kzMjYxNjJEMDEqDQorWDQyMDA4NVkzMjYwNzZEMDEqDQorWDQyMDAxN1kzMjU5NzlEMDEqDQorWDQxOTk2NVkzMjU4NzNEMDEqDQorWDQxOTkzMFkzMjU3NTlEMDEqDQorWDQxOTkxNFkzMjU2NDJEMDEqDQorWDQxOTkxNlkzMjU1MjNEMDEqDQorWDQxOTkzNlkzMjU0MDdEMDEqDQorWDQxOTk3N1kzMjUyOTVEMDEqDQorWDQyMDA4NlkzMjUwMjBEMDEqDQorWDQyMDE2NlkzMjQ3MzVEMDEqDQorWDQyMDIyMFkzMjQ0NDNEMDEqDQorWDQyMDI0N1kzMjQxNDhEMDEqDQorWTMyMzg1MkQwMSoNCitYNDIwMjIwWTMyMzU1N0QwMSoNCitYNDIwMTY2WTMyMzI2NUQwMSoNCitYNDIwMDg2WTMyMjk4MEQwMSoNCitYNDE5OTgwWTMyMjcwM0QwMSoNCitYNDE5OTQwWTMyMjU5M0QwMSoNCitYNDE5OTE5WTMyMjQ3NkQwMSoNCitYNDE5OTE3WTMyMjM1OEQwMSoNCitYNDE5OTMzWTMyMjI0MUQwMSoNCitYNDE5OTY4WTMyMjEyOUQwMSoNCitYNDIwMDIwWTMyMjAyMkQwMSoNCitYNDIwMDg3WTMyMTkyNkQwMSoNCitYNDIwMTY5WTMyMTg0MUQwMSoNCitYNDIwMjYzWTMyMTc3MEQwMSoNCitYNDIwMzY4WTMyMTcxNEQwMSoNCitYNDIwNDc5WTMyMTY3NkQwMSoNCitYNDIwNTk2WTMyMTY1NUQwMSoNCitYNDIwNzE0WTMyMTY1M0QwMSoNCitYNDIwODMwWTMyMTY3MEQwMSoNCitYNDIwODMyWTMyMTY3MEQwMSoNCitZMjk2MzM0RDAxKg0KK1g0MjA4MzFZMjk2MzM0RDAxKg0KK1g0MjA3MTRZMjk2MzUwRDAxKg0KK1g0MjA1OTVZMjk2MzQ4RDAxKg0KK1g0MjA0NzhZMjk2MzI3RDAxKg0KK1g0MjAzNjZZMjk2Mjg5RDAxKg0KK1g0MjAyNjJZMjk2MjMzRDAxKg0KK1g0MjAxNjdZMjk2MTYyRDAxKg0KK1g0MjAwODVZMjk2MDc2RDAxKg0KK1g0MjAwMTdZMjk1OTc5RDAxKg0KK1g0MTk5NjVZMjk1ODczRDAxKg0KK1g0MTk5MzBZMjk1NzU5RDAxKg0KK1g0MTk5MTRZMjk1NjQyRDAxKg0KK1g0MTk5MTZZMjk1NTIzRDAxKg0KK1g0MTk5MzZZMjk1NDA3RDAxKg0KK1g0MTk5NzdZMjk1Mjk1RDAxKg0KK1g0MjAwODZZMjk1MDIwRDAxKg0KK1g0MjAxNjZZMjk0NzM1RDAxKg0KK1g0MjAyMjBZMjk0NDQzRDAxKg0KK1g0MjAyNDdZMjk0MTQ4RDAxKg0KK1kyOTM4NTJEMDEqDQorWDQyMDIyMFkyOTM1NTdEMDEqDQorWDQyMDE2NlkyOTMyNjVEMDEqDQorWDQyMDA4NlkyOTI5ODBEMDEqDQorWDQxOTk4MFkyOTI3MDNEMDEqDQorWDQxOTk0MFkyOTI1OTNEMDEqDQorWDQxOTkxOVkyOTI0NzZEMDEqDQorWDQxOTkxN1kyOTIzNThEMDEqDQorWDQxOTkzM1kyOTIyNDFEMDEqDQorWDQxOTk2OFkyOTIxMjlEMDEqDQorWDQyMDAyMFkyOTIwMjJEMDEqDQorWDQyMDA4N1kyOTE5MjZEMDEqDQorWDQyMDE2OVkyOTE4NDFEMDEqDQorWDQyMDI2M1kyOTE3NzBEMDEqDQorWDQyMDM2OFkyOTE3MTREMDEqDQorWDQyMDQ3OVkyOTE2NzZEMDEqDQorWDQyMDU5NlkyOTE2NTVEMDEqDQorWDQyMDcxNFkyOTE2NTNEMDEqDQorWDQyMDgzMFkyOTE2NzBEMDEqDQorWDQyMDgzMlkyOTE2NzBEMDEqDQorWTI2NjMzNEQwMSoNCitYNDIwODMxWTI2NjMzNEQwMSoNCitYNDIwNzE0WTI2NjM1MEQwMSoNCitYNDIwNTk1WTI2NjM0OEQwMSoNCitYNDIwNDc4WTI2NjMyN0QwMSoNCitYNDIwMzY2WTI2NjI4OUQwMSoNCitYNDIwMjYyWTI2NjIzM0QwMSoNCitYNDIwMTY3WTI2NjE2MkQwMSoNCitYNDIwMDg1WTI2NjA3NkQwMSoNCitYNDIwMDE3WTI2NTk3OUQwMSoNCitYNDE5OTY1WTI2NTg3M0QwMSoNCitYNDE5OTMwWTI2NTc1OUQwMSoNCitYNDE5OTE0WTI2NTY0MkQwMSoNCitYNDE5OTE2WTI2NTUyM0QwMSoNCitYNDE5OTM2WTI2NTQwN0QwMSoNCitYNDE5OTc3WTI2NTI5NUQwMSoNCitYNDIwMDg2WTI2NTAyMEQwMSoNCitYNDIwMTY2WTI2NDczNUQwMSoNCitYNDIwMjIwWTI2NDQ0M0QwMSoNCitYNDIwMjQ3WTI2NDE0OEQwMSoNCitZMjYzODUyRDAxKg0KK1g0MjAyMjBZMjYzNTU3RDAxKg0KK1g0MjAxNjZZMjYzMjY1RDAxKg0KK1g0MjAwODZZMjYyOTgwRDAxKg0KK1g0MTk5ODBZMjYyNzAzRDAxKg0KK1g0MTk5NDBZMjYyNTkzRDAxKg0KK1g0MTk5MTlZMjYyNDc2RDAxKg0KK1g0MTk5MTdZMjYyMzU4RDAxKg0KK1g0MTk5MzNZMjYyMjQxRDAxKg0KK1g0MTk5NjhZMjYyMTI5RDAxKg0KK1g0MjAwMjBZMjYyMDIyRDAxKg0KK1g0MjAwODdZMjYxOTI2RDAxKg0KK1g0MjAxNjlZMjYxODQxRDAxKg0KK1g0MjAyNjNZMjYxNzcwRDAxKg0KK1g0MjAzNjhZMjYxNzE0RDAxKg0KK1g0MjA0NzlZMjYxNjc2RDAxKg0KK1g0MjA1OTZZMjYxNjU1RDAxKg0KK1g0MjA3MTRZMjYxNjUzRDAxKg0KK1g0MjA4MzBZMjYxNjcwRDAxKg0KK1g0MjA4MzJZMjYxNjcwRDAxKg0KK1kyMzYzMzREMDEqDQorWDQyMDgzMVkyMzYzMzREMDEqDQorWDQyMDcxNFkyMzYzNTBEMDEqDQorWDQyMDU5NVkyMzYzNDhEMDEqDQorWDQyMDQ3OFkyMzYzMjdEMDEqDQorWDQyMDM2NlkyMzYyODlEMDEqDQorWDQyMDI2MlkyMzYyMzNEMDEqDQorWDQyMDE2N1kyMzYxNjJEMDEqDQorWDQyMDA4NVkyMzYwNzZEMDEqDQorWDQyMDAxN1kyMzU5NzlEMDEqDQorWDQxOTk2NVkyMzU4NzNEMDEqDQorWDQxOTkzMFkyMzU3NTlEMDEqDQorWDQxOTkxNFkyMzU2NDJEMDEqDQorWDQxOTkxNlkyMzU1MjNEMDEqDQorWDQxOTkzNlkyMzU0MDdEMDEqDQorWDQxOTk3N1kyMzUyOTVEMDEqDQorWDQyMDA4NlkyMzUwMjBEMDEqDQorWDQyMDE2NlkyMzQ3MzVEMDEqDQorWDQyMDIyMFkyMzQ0NDNEMDEqDQorWDQyMDI0N1kyMzQxNDhEMDEqDQorWTIzMzg1MkQwMSoNCitYNDIwMjIwWTIzMzU1N0QwMSoNCitYNDIwMTY2WTIzMzI2NUQwMSoNCitYNDIwMDg2WTIzMjk4MEQwMSoNCitYNDE5OTgwWTIzMjcwM0QwMSoNCitYNDE5OTQwWTIzMjU5M0QwMSoNCitYNDE5OTE5WTIzMjQ3NkQwMSoNCitYNDE5OTE3WTIzMjM1OEQwMSoNCitYNDE5OTMzWTIzMjI0MUQwMSoNCitYNDE5OTY4WTIzMjEyOUQwMSoNCitYNDIwMDIwWTIzMjAyMkQwMSoNCitYNDIwMDg3WTIzMTkyNkQwMSoNCitYNDIwMTY5WTIzMTg0MUQwMSoNCitYNDIwMjYzWTIzMTc3MEQwMSoNCitYNDIwMzY4WTIzMTcxNEQwMSoNCitYNDIwNDc5WTIzMTY3NkQwMSoNCitYNDIwNTk2WTIzMTY1NUQwMSoNCitYNDIwNzE0WTIzMTY1M0QwMSoNCitYNDIwODMwWTIzMTY3MEQwMSoNCitYNDIwODMyWTIzMTY3MEQwMSoNCitZMjA2MzM0RDAxKg0KK1g0MjA4MzFZMjA2MzM0RDAxKg0KK1g0MjA3MTRZMjA2MzUwRDAxKg0KK1g0MjA1OTVZMjA2MzQ4RDAxKg0KK1g0MjA0NzhZMjA2MzI3RDAxKg0KK1g0MjAzNjZZMjA2Mjg5RDAxKg0KK1g0MjAyNjJZMjA2MjMzRDAxKg0KK1g0MjAxNjdZMjA2MTYyRDAxKg0KK1g0MjAwODVZMjA2MDc2RDAxKg0KK1g0MjAwMTdZMjA1OTc5RDAxKg0KK1g0MTk5NjVZMjA1ODczRDAxKg0KK1g0MTk5MzBZMjA1NzU5RDAxKg0KK1g0MTk5MTRZMjA1NjQyRDAxKg0KK1g0MTk5MTZZMjA1NTIzRDAxKg0KK1g0MTk5MzZZMjA1NDA3RDAxKg0KK1g0MTk5NzdZMjA1Mjk1RDAxKg0KK1g0MjAwODZZMjA1MDIwRDAxKg0KK1g0MjAxNjZZMjA0NzM1RDAxKg0KK1g0MjAyMjBZMjA0NDQzRDAxKg0KK1g0MjAyNDdZMjA0MTQ4RDAxKg0KK1kyMDM4NTJEMDEqDQorWDQyMDIyMFkyMDM1NTdEMDEqDQorWDQyMDE2NlkyMDMyNjVEMDEqDQorWDQyMDA4NlkyMDI5ODBEMDEqDQorWDQxOTk4MFkyMDI3MDNEMDEqDQorWDQxOTk0MFkyMDI1OTNEMDEqDQorWDQxOTkxOVkyMDI0NzZEMDEqDQorWDQxOTkxN1kyMDIzNThEMDEqDQorWDQxOTkzM1kyMDIyNDFEMDEqDQorWDQxOTk2OFkyMDIxMjlEMDEqDQorWDQyMDAyMFkyMDIwMjJEMDEqDQorWDQyMDA4N1kyMDE5MjZEMDEqDQorWDQyMDE2OVkyMDE4NDFEMDEqDQorWDQyMDI2M1kyMDE3NzBEMDEqDQorWDQyMDM2OFkyMDE3MTREMDEqDQorWDQyMDQ3OVkyMDE2NzZEMDEqDQorWDQyMDU5NlkyMDE2NTVEMDEqDQorWDQyMDcxNFkyMDE2NTNEMDEqDQorWDQyMDgzMFkyMDE2NzBEMDEqDQorWDQyMDgzMlkyMDE2NzBEMDEqDQorWTE3NjMzNEQwMSoNCitYNDIwODMxWTE3NjMzNEQwMSoNCitYNDIwNzE0WTE3NjM1MEQwMSoNCitYNDIwNTk1WTE3NjM0OEQwMSoNCitYNDIwNDc4WTE3NjMyN0QwMSoNCitYNDIwMzY2WTE3NjI4OUQwMSoNCitYNDIwMjYyWTE3NjIzM0QwMSoNCitYNDIwMTY3WTE3NjE2MkQwMSoNCitYNDIwMDg1WTE3NjA3NkQwMSoNCitYNDIwMDE3WTE3NTk3OUQwMSoNCitYNDE5OTY1WTE3NTg3M0QwMSoNCitYNDE5OTMwWTE3NTc1OUQwMSoNCitYNDE5OTE0WTE3NTY0MkQwMSoNCitYNDE5OTE2WTE3NTUyM0QwMSoNCitYNDE5OTM2WTE3NTQwN0QwMSoNCitYNDE5OTc3WTE3NTI5NUQwMSoNCitYNDIwMDg2WTE3NTAyMEQwMSoNCitYNDIwMTY2WTE3NDczNUQwMSoNCitYNDIwMjIwWTE3NDQ0M0QwMSoNCitYNDIwMjQ3WTE3NDE0OEQwMSoNCitZMTczODUyRDAxKg0KK1g0MjAyMjBZMTczNTU3RDAxKg0KK1g0MjAxNjZZMTczMjY1RDAxKg0KK1g0MjAwODZZMTcyOTgwRDAxKg0KK1g0MTk5ODBZMTcyNzAzRDAxKg0KK1g0MTk5NDBZMTcyNTkzRDAxKg0KK1g0MTk5MTlZMTcyNDc2RDAxKg0KK1g0MTk5MTdZMTcyMzU4RDAxKg0KK1g0MTk5MzNZMTcyMjQxRDAxKg0KK1g0MTk5NjhZMTcyMTI5RDAxKg0KK1g0MjAwMjBZMTcyMDIyRDAxKg0KK1g0MjAwODdZMTcxOTI2RDAxKg0KK1g0MjAxNjlZMTcxODQxRDAxKg0KK1g0MjAyNjNZMTcxNzcwRDAxKg0KK1g0MjAzNjhZMTcxNzE0RDAxKg0KK1g0MjA0NzlZMTcxNjc2RDAxKg0KK1g0MjA1OTZZMTcxNjU1RDAxKg0KK1g0MjA3MTRZMTcxNjUzRDAxKg0KK1g0MjA4MzBZMTcxNjcwRDAxKg0KK1g0MjA4MzJZMTcxNjcwRDAxKg0KK1kxNTQwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYNDE3MDAyRDAyKlg0MTMxNjhEMDEqDQorWTE3MTY2NkQwMSoNCitYNDEzMTY5WTE3MTY2NkQwMSoNCitYNDEzMjg2WTE3MTY1MEQwMSoNCitYNDEzNDA1WTE3MTY1MkQwMSoNCitYNDEzNTIyWTE3MTY3M0QwMSoNCitYNDEzNjM0WTE3MTcxMUQwMSoNCitYNDEzNzM4WTE3MTc2N0QwMSoNCitYNDEzODMzWTE3MTgzOEQwMSoNCitYNDEzOTE1WTE3MTkyNEQwMSoNCitYNDEzOTgzWTE3MjAyMUQwMSoNCitYNDE0MDM1WTE3MjEyN0QwMSoNCitYNDE0MDcwWTE3MjI0MUQwMSoNCitYNDE0MDg2WTE3MjM1OEQwMSoNCitYNDE0MDg0WTE3MjQ3N0QwMSoNCitYNDE0MDY0WTE3MjU5NEQwMSoNCitYNDE0MDIzWTE3MjcwNUQwMSoNCitYNDEzOTE0WTE3Mjk4MEQwMSoNCitYNDEzODM0WTE3MzI2NUQwMSoNCitYNDEzNzgwWTE3MzU1N0QwMSoNCitYNDEzNzUzWTE3Mzg1MkQwMSoNCitZMTc0MTQ4RDAxKg0KK1g0MTM3ODBZMTc0NDQzRDAxKg0KK1g0MTM4MzRZMTc0NzM1RDAxKg0KK1g0MTM5MTRZMTc1MDIwRDAxKg0KK1g0MTQwMjBZMTc1Mjk3RDAxKg0KK1g0MTQwNjBZMTc1NDA3RDAxKg0KK1g0MTQwODFZMTc1NTI0RDAxKg0KK1g0MTQwODNZMTc1NjQyRDAxKg0KK1g0MTQwNjdZMTc1NzU5RDAxKg0KK1g0MTQwMzJZMTc1ODcxRDAxKg0KK1g0MTM5ODBZMTc1OTc4RDAxKg0KK1g0MTM5MTNZMTc2MDc0RDAxKg0KK1g0MTM4MzFZMTc2MTU5RDAxKg0KK1g0MTM3MzdZMTc2MjMwRDAxKg0KK1g0MTM2MzJZMTc2Mjg2RDAxKg0KK1g0MTM1MjFZMTc2MzI0RDAxKg0KK1g0MTM0MDRZMTc2MzQ1RDAxKg0KK1g0MTMyODZZMTc2MzQ3RDAxKg0KK1g0MTMxNzBZMTc2MzMwRDAxKg0KK1g0MTMxNjhZMTc2MzMwRDAxKg0KK1kyMDE2NjZEMDEqDQorWDQxMzE2OVkyMDE2NjZEMDEqDQorWDQxMzI4NlkyMDE2NTBEMDEqDQorWDQxMzQwNVkyMDE2NTJEMDEqDQorWDQxMzUyMlkyMDE2NzNEMDEqDQorWDQxMzYzNFkyMDE3MTFEMDEqDQorWDQxMzczOFkyMDE3NjdEMDEqDQorWDQxMzgzM1kyMDE4MzhEMDEqDQorWDQxMzkxNVkyMDE5MjREMDEqDQorWDQxMzk4M1kyMDIwMjFEMDEqDQorWDQxNDAzNVkyMDIxMjdEMDEqDQorWDQxNDA3MFkyMDIyNDFEMDEqDQorWDQxNDA4NlkyMDIzNThEMDEqDQorWDQxNDA4NFkyMDI0NzdEMDEqDQorWDQxNDA2NFkyMDI1OTREMDEqDQorWDQxNDAyM1kyMDI3MDVEMDEqDQorWDQxMzkxNFkyMDI5ODBEMDEqDQorWDQxMzgzNFkyMDMyNjVEMDEqDQorWDQxMzc4MFkyMDM1NTdEMDEqDQorWDQxMzc1M1kyMDM4NTJEMDEqDQorWTIwNDE0OEQwMSoNCitYNDEzNzgwWTIwNDQ0M0QwMSoNCitYNDEzODM0WTIwNDczNUQwMSoNCitYNDEzOTE0WTIwNTAyMEQwMSoNCitYNDE0MDIwWTIwNTI5N0QwMSoNCitYNDE0MDYwWTIwNTQwN0QwMSoNCitYNDE0MDgxWTIwNTUyNEQwMSoNCitYNDE0MDgzWTIwNTY0MkQwMSoNCitYNDE0MDY3WTIwNTc1OUQwMSoNCitYNDE0MDMyWTIwNTg3MUQwMSoNCitYNDEzOTgwWTIwNTk3OEQwMSoNCitYNDEzOTEzWTIwNjA3NEQwMSoNCitYNDEzODMxWTIwNjE1OUQwMSoNCitYNDEzNzM3WTIwNjIzMEQwMSoNCitYNDEzNjMyWTIwNjI4NkQwMSoNCitYNDEzNTIxWTIwNjMyNEQwMSoNCitYNDEzNDA0WTIwNjM0NUQwMSoNCitYNDEzMjg2WTIwNjM0N0QwMSoNCitYNDEzMTcwWTIwNjMzMEQwMSoNCitYNDEzMTY4WTIwNjMzMEQwMSoNCitZMjMxNjY2RDAxKg0KK1g0MTMxNjlZMjMxNjY2RDAxKg0KK1g0MTMyODZZMjMxNjUwRDAxKg0KK1g0MTM0MDVZMjMxNjUyRDAxKg0KK1g0MTM1MjJZMjMxNjczRDAxKg0KK1g0MTM2MzRZMjMxNzExRDAxKg0KK1g0MTM3MzhZMjMxNzY3RDAxKg0KK1g0MTM4MzNZMjMxODM4RDAxKg0KK1g0MTM5MTVZMjMxOTI0RDAxKg0KK1g0MTM5ODNZMjMyMDIxRDAxKg0KK1g0MTQwMzVZMjMyMTI3RDAxKg0KK1g0MTQwNzBZMjMyMjQxRDAxKg0KK1g0MTQwODZZMjMyMzU4RDAxKg0KK1g0MTQwODRZMjMyNDc3RDAxKg0KK1g0MTQwNjRZMjMyNTk0RDAxKg0KK1g0MTQwMjNZMjMyNzA1RDAxKg0KK1g0MTM5MTRZMjMyOTgwRDAxKg0KK1g0MTM4MzRZMjMzMjY1RDAxKg0KK1g0MTM3ODBZMjMzNTU3RDAxKg0KK1g0MTM3NTNZMjMzODUyRDAxKg0KK1kyMzQxNDhEMDEqDQorWDQxMzc4MFkyMzQ0NDNEMDEqDQorWDQxMzgzNFkyMzQ3MzVEMDEqDQorWDQxMzkxNFkyMzUwMjBEMDEqDQorWDQxNDAyMFkyMzUyOTdEMDEqDQorWDQxNDA2MFkyMzU0MDdEMDEqDQorWDQxNDA4MVkyMzU1MjREMDEqDQorWDQxNDA4M1kyMzU2NDJEMDEqDQorWDQxNDA2N1kyMzU3NTlEMDEqDQorWDQxNDAzMlkyMzU4NzFEMDEqDQorWDQxMzk4MFkyMzU5NzhEMDEqDQorWDQxMzkxM1kyMzYwNzREMDEqDQorWDQxMzgzMVkyMzYxNTlEMDEqDQorWDQxMzczN1kyMzYyMzBEMDEqDQorWDQxMzYzMlkyMzYyODZEMDEqDQorWDQxMzUyMVkyMzYzMjREMDEqDQorWDQxMzQwNFkyMzYzNDVEMDEqDQorWDQxMzI4NlkyMzYzNDdEMDEqDQorWDQxMzE3MFkyMzYzMzBEMDEqDQorWDQxMzE2OFkyMzYzMzBEMDEqDQorWTI2MTY2NkQwMSoNCitYNDEzMTY5WTI2MTY2NkQwMSoNCitYNDEzMjg2WTI2MTY1MEQwMSoNCitYNDEzNDA1WTI2MTY1MkQwMSoNCitYNDEzNTIyWTI2MTY3M0QwMSoNCitYNDEzNjM0WTI2MTcxMUQwMSoNCitYNDEzNzM4WTI2MTc2N0QwMSoNCitYNDEzODMzWTI2MTgzOEQwMSoNCitYNDEzOTE1WTI2MTkyNEQwMSoNCitYNDEzOTgzWTI2MjAyMUQwMSoNCitYNDE0MDM1WTI2MjEyN0QwMSoNCitYNDE0MDcwWTI2MjI0MUQwMSoNCitYNDE0MDg2WTI2MjM1OEQwMSoNCitYNDE0MDg0WTI2MjQ3N0QwMSoNCitYNDE0MDY0WTI2MjU5NEQwMSoNCitYNDE0MDIzWTI2MjcwNUQwMSoNCitYNDEzOTE0WTI2Mjk4MEQwMSoNCitYNDEzODM0WTI2MzI2NUQwMSoNCitYNDEzNzgwWTI2MzU1N0QwMSoNCitYNDEzNzUzWTI2Mzg1MkQwMSoNCitZMjY0MTQ4RDAxKg0KK1g0MTM3ODBZMjY0NDQzRDAxKg0KK1g0MTM4MzRZMjY0NzM1RDAxKg0KK1g0MTM5MTRZMjY1MDIwRDAxKg0KK1g0MTQwMjBZMjY1Mjk3RDAxKg0KK1g0MTQwNjBZMjY1NDA3RDAxKg0KK1g0MTQwODFZMjY1NTI0RDAxKg0KK1g0MTQwODNZMjY1NjQyRDAxKg0KK1g0MTQwNjdZMjY1NzU5RDAxKg0KK1g0MTQwMzJZMjY1ODcxRDAxKg0KK1g0MTM5ODBZMjY1OTc4RDAxKg0KK1g0MTM5MTNZMjY2MDc0RDAxKg0KK1g0MTM4MzFZMjY2MTU5RDAxKg0KK1g0MTM3MzdZMjY2MjMwRDAxKg0KK1g0MTM2MzJZMjY2Mjg2RDAxKg0KK1g0MTM1MjFZMjY2MzI0RDAxKg0KK1g0MTM0MDRZMjY2MzQ1RDAxKg0KK1g0MTMyODZZMjY2MzQ3RDAxKg0KK1g0MTMxNzBZMjY2MzMwRDAxKg0KK1g0MTMxNjhZMjY2MzMwRDAxKg0KK1kyOTE2NjZEMDEqDQorWDQxMzE2OVkyOTE2NjZEMDEqDQorWDQxMzI4NlkyOTE2NTBEMDEqDQorWDQxMzQwNVkyOTE2NTJEMDEqDQorWDQxMzUyMlkyOTE2NzNEMDEqDQorWDQxMzYzNFkyOTE3MTFEMDEqDQorWDQxMzczOFkyOTE3NjdEMDEqDQorWDQxMzgzM1kyOTE4MzhEMDEqDQorWDQxMzkxNVkyOTE5MjREMDEqDQorWDQxMzk4M1kyOTIwMjFEMDEqDQorWDQxNDAzNVkyOTIxMjdEMDEqDQorWDQxNDA3MFkyOTIyNDFEMDEqDQorWDQxNDA4NlkyOTIzNThEMDEqDQorWDQxNDA4NFkyOTI0NzdEMDEqDQorWDQxNDA2NFkyOTI1OTREMDEqDQorWDQxNDAyM1kyOTI3MDVEMDEqDQorWDQxMzkxNFkyOTI5ODBEMDEqDQorWDQxMzgzNFkyOTMyNjVEMDEqDQorWDQxMzc4MFkyOTM1NTdEMDEqDQorWDQxMzc1M1kyOTM4NTJEMDEqDQorWTI5NDE0OEQwMSoNCitYNDEzNzgwWTI5NDQ0M0QwMSoNCitYNDEzODM0WTI5NDczNUQwMSoNCitYNDEzOTE0WTI5NTAyMEQwMSoNCitYNDE0MDIwWTI5NTI5N0QwMSoNCitYNDE0MDYwWTI5NTQwN0QwMSoNCitYNDE0MDgxWTI5NTUyNEQwMSoNCitYNDE0MDgzWTI5NTY0MkQwMSoNCitYNDE0MDY3WTI5NTc1OUQwMSoNCitYNDE0MDMyWTI5NTg3MUQwMSoNCitYNDEzOTgwWTI5NTk3OEQwMSoNCitYNDEzOTEzWTI5NjA3NEQwMSoNCitYNDEzODMxWTI5NjE1OUQwMSoNCitYNDEzNzM3WTI5NjIzMEQwMSoNCitYNDEzNjMyWTI5NjI4NkQwMSoNCitYNDEzNTIxWTI5NjMyNEQwMSoNCitYNDEzNDA0WTI5NjM0NUQwMSoNCitYNDEzMjg2WTI5NjM0N0QwMSoNCitYNDEzMTcwWTI5NjMzMEQwMSoNCitYNDEzMTY4WTI5NjMzMEQwMSoNCitZMzIxNjY2RDAxKg0KK1g0MTMxNjlZMzIxNjY2RDAxKg0KK1g0MTMyODZZMzIxNjUwRDAxKg0KK1g0MTM0MDVZMzIxNjUyRDAxKg0KK1g0MTM1MjJZMzIxNjczRDAxKg0KK1g0MTM2MzRZMzIxNzExRDAxKg0KK1g0MTM3MzhZMzIxNzY3RDAxKg0KK1g0MTM4MzNZMzIxODM4RDAxKg0KK1g0MTM5MTVZMzIxOTI0RDAxKg0KK1g0MTM5ODNZMzIyMDIxRDAxKg0KK1g0MTQwMzVZMzIyMTI3RDAxKg0KK1g0MTQwNzBZMzIyMjQxRDAxKg0KK1g0MTQwODZZMzIyMzU4RDAxKg0KK1g0MTQwODRZMzIyNDc3RDAxKg0KK1g0MTQwNjRZMzIyNTk0RDAxKg0KK1g0MTQwMjNZMzIyNzA1RDAxKg0KK1g0MTM5MTRZMzIyOTgwRDAxKg0KK1g0MTM4MzRZMzIzMjY1RDAxKg0KK1g0MTM3ODBZMzIzNTU3RDAxKg0KK1g0MTM3NTNZMzIzODUyRDAxKg0KK1kzMjQxNDhEMDEqDQorWDQxMzc4MFkzMjQ0NDNEMDEqDQorWDQxMzgzNFkzMjQ3MzVEMDEqDQorWDQxMzkxNFkzMjUwMjBEMDEqDQorWDQxNDAyMFkzMjUyOTdEMDEqDQorWDQxNDA2MFkzMjU0MDdEMDEqDQorWDQxNDA4MVkzMjU1MjREMDEqDQorWDQxNDA4M1kzMjU2NDJEMDEqDQorWDQxNDA2N1kzMjU3NTlEMDEqDQorWDQxNDAzMlkzMjU4NzFEMDEqDQorWDQxMzk4MFkzMjU5NzhEMDEqDQorWDQxMzkxM1kzMjYwNzREMDEqDQorWDQxMzgzMVkzMjYxNTlEMDEqDQorWDQxMzczN1kzMjYyMzBEMDEqDQorWDQxMzYzMlkzMjYyODZEMDEqDQorWDQxMzUyMVkzMjYzMjREMDEqDQorWDQxMzQwNFkzMjYzNDVEMDEqDQorWDQxMzI4NlkzMjYzNDdEMDEqDQorWDQxMzE3MFkzMjYzMzBEMDEqDQorWDQxMzE2OFkzMjYzMzBEMDEqDQorWTM1MTY2NkQwMSoNCitYNDEzMTY5WTM1MTY2NkQwMSoNCitYNDEzMjg2WTM1MTY1MEQwMSoNCitYNDEzNDA1WTM1MTY1MkQwMSoNCitYNDEzNTIyWTM1MTY3M0QwMSoNCitYNDEzNjM0WTM1MTcxMUQwMSoNCitYNDEzNzM4WTM1MTc2N0QwMSoNCitYNDEzODMzWTM1MTgzOEQwMSoNCitYNDEzOTE1WTM1MTkyNEQwMSoNCitYNDEzOTgzWTM1MjAyMUQwMSoNCitYNDE0MDM1WTM1MjEyN0QwMSoNCitYNDE0MDcwWTM1MjI0MUQwMSoNCitYNDE0MDg2WTM1MjM1OEQwMSoNCitYNDE0MDg0WTM1MjQ3N0QwMSoNCitYNDE0MDY0WTM1MjU5NEQwMSoNCitYNDE0MDIzWTM1MjcwNUQwMSoNCitYNDEzOTE0WTM1Mjk4MEQwMSoNCitYNDEzODM0WTM1MzI2NUQwMSoNCitYNDEzNzgwWTM1MzU1N0QwMSoNCitYNDEzNzUzWTM1Mzg1MkQwMSoNCitZMzU0MTQ4RDAxKg0KK1g0MTM3ODBZMzU0NDQzRDAxKg0KK1g0MTM4MzRZMzU0NzM1RDAxKg0KK1g0MTM5MTRZMzU1MDIwRDAxKg0KK1g0MTQwMjBZMzU1Mjk3RDAxKg0KK1g0MTQwNjBZMzU1NDA3RDAxKg0KK1g0MTQwODFZMzU1NTI0RDAxKg0KK1g0MTQwODNZMzU1NjQyRDAxKg0KK1g0MTQwNjdZMzU1NzU5RDAxKg0KK1g0MTQwMzJZMzU1ODcxRDAxKg0KK1g0MTM5ODBZMzU1OTc4RDAxKg0KK1g0MTM5MTNZMzU2MDc0RDAxKg0KK1g0MTM4MzFZMzU2MTU5RDAxKg0KK1g0MTM3MzdZMzU2MjMwRDAxKg0KK1g0MTM2MzJZMzU2Mjg2RDAxKg0KK1g0MTM1MjFZMzU2MzI0RDAxKg0KK1g0MTM0MDRZMzU2MzQ1RDAxKg0KK1g0MTMyODZZMzU2MzQ3RDAxKg0KK1g0MTMxNzBZMzU2MzMwRDAxKg0KK1g0MTMxNjhZMzU2MzMwRDAxKg0KK1kzODE2NjZEMDEqDQorWDQxMzE2OVkzODE2NjZEMDEqDQorWDQxMzI4NlkzODE2NTBEMDEqDQorWDQxMzQwNVkzODE2NTJEMDEqDQorWDQxMzUyMlkzODE2NzNEMDEqDQorWDQxMzYzNFkzODE3MTFEMDEqDQorWDQxMzczOFkzODE3NjdEMDEqDQorWDQxMzgzM1kzODE4MzhEMDEqDQorWDQxMzkxNVkzODE5MjREMDEqDQorWDQxMzk4M1kzODIwMjFEMDEqDQorWDQxNDAzNVkzODIxMjdEMDEqDQorWDQxNDA3MFkzODIyNDFEMDEqDQorWDQxNDA4NlkzODIzNThEMDEqDQorWDQxNDA4NFkzODI0NzdEMDEqDQorWDQxNDA2NFkzODI1OTREMDEqDQorWDQxNDAyM1kzODI3MDVEMDEqDQorWDQxMzkxNFkzODI5ODBEMDEqDQorWDQxMzgzNFkzODMyNjVEMDEqDQorWDQxMzc4MFkzODM1NTdEMDEqDQorWDQxMzc1M1kzODM4NTJEMDEqDQorWTM4NDE0OEQwMSoNCitYNDEzNzgwWTM4NDQ0M0QwMSoNCitYNDEzODM0WTM4NDczNUQwMSoNCitYNDEzOTE0WTM4NTAyMEQwMSoNCitYNDE0MDIwWTM4NTI5N0QwMSoNCitYNDE0MDYwWTM4NTQwN0QwMSoNCitYNDE0MDgxWTM4NTUyNEQwMSoNCitYNDE0MDgzWTM4NTY0MkQwMSoNCitYNDE0MDY3WTM4NTc1OUQwMSoNCitYNDE0MDMyWTM4NTg3MUQwMSoNCitYNDEzOTgwWTM4NTk3OEQwMSoNCitYNDEzOTEzWTM4NjA3NEQwMSoNCitYNDEzODMxWTM4NjE1OUQwMSoNCitYNDEzNzM3WTM4NjIzMEQwMSoNCitYNDEzNjMyWTM4NjI4NkQwMSoNCitYNDEzNTIxWTM4NjMyNEQwMSoNCitYNDEzNDA0WTM4NjM0NUQwMSoNCitYNDEzMjg2WTM4NjM0N0QwMSoNCitYNDEzMTcwWTM4NjMzMEQwMSoNCitYNDEzMTY4WTM4NjMzMEQwMSoNCitZMzk3MDAwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTM4ODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMzg4NzExRDAxKg0KK1g0MTU5MjVZMzg4NjMyRDAxKg0KK1g0MTU1MDhZMzg4NTE1RDAxKg0KK1g0MTUxMDNZMzg4MzYwRDAxKg0KK1g0MTQ5OThZMzg4MzA1RDAxKg0KK1g0MTQ5MDNZMzg4MjM0RDAxKg0KK1g0MTQ4MjFZMzg4MTQ4RDAxKg0KK1g0MTQ3NTNZMzg4MDUxRDAxKg0KK1g0MTQ3MDFZMzg3OTQ1RDAxKg0KK1g0MTQ2NjZZMzg3ODMxRDAxKg0KK1g0MTQ2NTBZMzg3NzE0RDAxKg0KK1g0MTQ2NTJZMzg3NTk1RDAxKg0KK1g0MTQ2NzNZMzg3NDc4RDAxKg0KK1g0MTQ3MTFZMzg3MzY2RDAxKg0KK1g0MTQ3NjdZMzg3MjYyRDAxKg0KK1g0MTQ4MzhZMzg3MTY3RDAxKg0KK1g0MTQ5MjRZMzg3MDg1RDAxKg0KK1g0MTUwMjFZMzg3MDE3RDAxKg0KK1g0MTUxMjdZMzg2OTY1RDAxKg0KK1g0MTUyNDFZMzg2OTMwRDAxKg0KK1g0MTUzNThZMzg2OTE0RDAxKg0KK1g0MTU0NzdZMzg2OTE2RDAxKg0KK1g0MTU1OTNZMzg2OTM2RDAxKg0KK1g0MTU3MDVZMzg2OTc3RDAxKg0KK1g0MTU5ODBZMzg3MDg2RDAxKg0KK1g0MTYyNjVZMzg3MTY2RDAxKg0KK1g0MTY1NTdZMzg3MjIwRDAxKg0KK1g0MTY4NTJZMzg3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTM4MDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMzgwNzgwRDAxKg0KK1g0MTYyNjVZMzgwODM0RDAxKg0KK1g0MTU5ODBZMzgwOTE0RDAxKg0KK1g0MTU3MDNZMzgxMDIwRDAxKg0KK1g0MTU1OTNZMzgxMDYwRDAxKg0KK1g0MTU0NzZZMzgxMDgxRDAxKg0KK1g0MTUzNThZMzgxMDgzRDAxKg0KK1g0MTUyNDFZMzgxMDY3RDAxKg0KK1g0MTUxMjlZMzgxMDMyRDAxKg0KK1g0MTUwMjJZMzgwOTgwRDAxKg0KK1g0MTQ5MjZZMzgwOTEzRDAxKg0KK1g0MTQ4NDFZMzgwODMxRDAxKg0KK1g0MTQ3NzBZMzgwNzM3RDAxKg0KK1g0MTQ3MTRZMzgwNjMyRDAxKg0KK1g0MTQ2NzZZMzgwNTIxRDAxKg0KK1g0MTQ2NTVZMzgwNDA0RDAxKg0KK1g0MTQ2NTNZMzgwMjg2RDAxKg0KK1g0MTQ2NzBZMzgwMTcwRDAxKg0KK1g0MTQ3MDRZMzgwMDU3RDAxKg0KK1g0MTQ3NTZZMzc5OTUwRDAxKg0KK1g0MTQ4MjNZMzc5ODU0RDAxKg0KK1g0MTQ5MDVZMzc5NzY5RDAxKg0KK1g0MTUwMDBZMzc5Njk4RDAxKg0KK1g0MTUxMDVZMzc5NjQ0RDAxKg0KK1g0MTU1MDhZMzc5NDg1RDAxKg0KK1g0MTU5MjVZMzc5MzY4RDAxKg0KK1g0MTYzNTJZMzc5Mjg5RDAxKg0KK1g0MTY3ODNZMzc5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTM1ODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMzU4NzExRDAxKg0KK1g0MTU5MjVZMzU4NjMyRDAxKg0KK1g0MTU1MDhZMzU4NTE1RDAxKg0KK1g0MTUxMDNZMzU4MzYwRDAxKg0KK1g0MTQ5OThZMzU4MzA1RDAxKg0KK1g0MTQ5MDNZMzU4MjM0RDAxKg0KK1g0MTQ4MjFZMzU4MTQ4RDAxKg0KK1g0MTQ3NTNZMzU4MDUxRDAxKg0KK1g0MTQ3MDFZMzU3OTQ1RDAxKg0KK1g0MTQ2NjZZMzU3ODMxRDAxKg0KK1g0MTQ2NTBZMzU3NzE0RDAxKg0KK1g0MTQ2NTJZMzU3NTk1RDAxKg0KK1g0MTQ2NzNZMzU3NDc4RDAxKg0KK1g0MTQ3MTFZMzU3MzY2RDAxKg0KK1g0MTQ3NjdZMzU3MjYyRDAxKg0KK1g0MTQ4MzhZMzU3MTY3RDAxKg0KK1g0MTQ5MjRZMzU3MDg1RDAxKg0KK1g0MTUwMjFZMzU3MDE3RDAxKg0KK1g0MTUxMjdZMzU2OTY1RDAxKg0KK1g0MTUyNDFZMzU2OTMwRDAxKg0KK1g0MTUzNThZMzU2OTE0RDAxKg0KK1g0MTU0NzdZMzU2OTE2RDAxKg0KK1g0MTU1OTNZMzU2OTM2RDAxKg0KK1g0MTU3MDVZMzU2OTc3RDAxKg0KK1g0MTU5ODBZMzU3MDg2RDAxKg0KK1g0MTYyNjVZMzU3MTY2RDAxKg0KK1g0MTY1NTdZMzU3MjIwRDAxKg0KK1g0MTY4NTJZMzU3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTM1MDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMzUwNzgwRDAxKg0KK1g0MTYyNjVZMzUwODM0RDAxKg0KK1g0MTU5ODBZMzUwOTE0RDAxKg0KK1g0MTU3MDNZMzUxMDIwRDAxKg0KK1g0MTU1OTNZMzUxMDYwRDAxKg0KK1g0MTU0NzZZMzUxMDgxRDAxKg0KK1g0MTUzNThZMzUxMDgzRDAxKg0KK1g0MTUyNDFZMzUxMDY3RDAxKg0KK1g0MTUxMjlZMzUxMDMyRDAxKg0KK1g0MTUwMjJZMzUwOTgwRDAxKg0KK1g0MTQ5MjZZMzUwOTEzRDAxKg0KK1g0MTQ4NDFZMzUwODMxRDAxKg0KK1g0MTQ3NzBZMzUwNzM3RDAxKg0KK1g0MTQ3MTRZMzUwNjMyRDAxKg0KK1g0MTQ2NzZZMzUwNTIxRDAxKg0KK1g0MTQ2NTVZMzUwNDA0RDAxKg0KK1g0MTQ2NTNZMzUwMjg2RDAxKg0KK1g0MTQ2NzBZMzUwMTcwRDAxKg0KK1g0MTQ3MDRZMzUwMDU3RDAxKg0KK1g0MTQ3NTZZMzQ5OTUwRDAxKg0KK1g0MTQ4MjNZMzQ5ODU0RDAxKg0KK1g0MTQ5MDVZMzQ5NzY5RDAxKg0KK1g0MTUwMDBZMzQ5Njk4RDAxKg0KK1g0MTUxMDVZMzQ5NjQ0RDAxKg0KK1g0MTU1MDhZMzQ5NDg1RDAxKg0KK1g0MTU5MjVZMzQ5MzY4RDAxKg0KK1g0MTYzNTJZMzQ5Mjg5RDAxKg0KK1g0MTY3ODNZMzQ5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTMyODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMzI4NzExRDAxKg0KK1g0MTU5MjVZMzI4NjMyRDAxKg0KK1g0MTU1MDhZMzI4NTE1RDAxKg0KK1g0MTUxMDNZMzI4MzYwRDAxKg0KK1g0MTQ5OThZMzI4MzA1RDAxKg0KK1g0MTQ5MDNZMzI4MjM0RDAxKg0KK1g0MTQ4MjFZMzI4MTQ4RDAxKg0KK1g0MTQ3NTNZMzI4MDUxRDAxKg0KK1g0MTQ3MDFZMzI3OTQ1RDAxKg0KK1g0MTQ2NjZZMzI3ODMxRDAxKg0KK1g0MTQ2NTBZMzI3NzE0RDAxKg0KK1g0MTQ2NTJZMzI3NTk1RDAxKg0KK1g0MTQ2NzNZMzI3NDc4RDAxKg0KK1g0MTQ3MTFZMzI3MzY2RDAxKg0KK1g0MTQ3NjdZMzI3MjYyRDAxKg0KK1g0MTQ4MzhZMzI3MTY3RDAxKg0KK1g0MTQ5MjRZMzI3MDg1RDAxKg0KK1g0MTUwMjFZMzI3MDE3RDAxKg0KK1g0MTUxMjdZMzI2OTY1RDAxKg0KK1g0MTUyNDFZMzI2OTMwRDAxKg0KK1g0MTUzNThZMzI2OTE0RDAxKg0KK1g0MTU0NzdZMzI2OTE2RDAxKg0KK1g0MTU1OTNZMzI2OTM2RDAxKg0KK1g0MTU3MDVZMzI2OTc3RDAxKg0KK1g0MTU5ODBZMzI3MDg2RDAxKg0KK1g0MTYyNjVZMzI3MTY2RDAxKg0KK1g0MTY1NTdZMzI3MjIwRDAxKg0KK1g0MTY4NTJZMzI3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTMyMDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMzIwNzgwRDAxKg0KK1g0MTYyNjVZMzIwODM0RDAxKg0KK1g0MTU5ODBZMzIwOTE0RDAxKg0KK1g0MTU3MDNZMzIxMDIwRDAxKg0KK1g0MTU1OTNZMzIxMDYwRDAxKg0KK1g0MTU0NzZZMzIxMDgxRDAxKg0KK1g0MTUzNThZMzIxMDgzRDAxKg0KK1g0MTUyNDFZMzIxMDY3RDAxKg0KK1g0MTUxMjlZMzIxMDMyRDAxKg0KK1g0MTUwMjJZMzIwOTgwRDAxKg0KK1g0MTQ5MjZZMzIwOTEzRDAxKg0KK1g0MTQ4NDFZMzIwODMxRDAxKg0KK1g0MTQ3NzBZMzIwNzM3RDAxKg0KK1g0MTQ3MTRZMzIwNjMyRDAxKg0KK1g0MTQ2NzZZMzIwNTIxRDAxKg0KK1g0MTQ2NTVZMzIwNDA0RDAxKg0KK1g0MTQ2NTNZMzIwMjg2RDAxKg0KK1g0MTQ2NzBZMzIwMTcwRDAxKg0KK1g0MTQ3MDRZMzIwMDU3RDAxKg0KK1g0MTQ3NTZZMzE5OTUwRDAxKg0KK1g0MTQ4MjNZMzE5ODU0RDAxKg0KK1g0MTQ5MDVZMzE5NzY5RDAxKg0KK1g0MTUwMDBZMzE5Njk4RDAxKg0KK1g0MTUxMDVZMzE5NjQ0RDAxKg0KK1g0MTU1MDhZMzE5NDg1RDAxKg0KK1g0MTU5MjVZMzE5MzY4RDAxKg0KK1g0MTYzNTJZMzE5Mjg5RDAxKg0KK1g0MTY3ODNZMzE5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTI5ODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMjk4NzExRDAxKg0KK1g0MTU5MjVZMjk4NjMyRDAxKg0KK1g0MTU1MDhZMjk4NTE1RDAxKg0KK1g0MTUxMDNZMjk4MzYwRDAxKg0KK1g0MTQ5OThZMjk4MzA1RDAxKg0KK1g0MTQ5MDNZMjk4MjM0RDAxKg0KK1g0MTQ4MjFZMjk4MTQ4RDAxKg0KK1g0MTQ3NTNZMjk4MDUxRDAxKg0KK1g0MTQ3MDFZMjk3OTQ1RDAxKg0KK1g0MTQ2NjZZMjk3ODMxRDAxKg0KK1g0MTQ2NTBZMjk3NzE0RDAxKg0KK1g0MTQ2NTJZMjk3NTk1RDAxKg0KK1g0MTQ2NzNZMjk3NDc4RDAxKg0KK1g0MTQ3MTFZMjk3MzY2RDAxKg0KK1g0MTQ3NjdZMjk3MjYyRDAxKg0KK1g0MTQ4MzhZMjk3MTY3RDAxKg0KK1g0MTQ5MjRZMjk3MDg1RDAxKg0KK1g0MTUwMjFZMjk3MDE3RDAxKg0KK1g0MTUxMjdZMjk2OTY1RDAxKg0KK1g0MTUyNDFZMjk2OTMwRDAxKg0KK1g0MTUzNThZMjk2OTE0RDAxKg0KK1g0MTU0NzdZMjk2OTE2RDAxKg0KK1g0MTU1OTNZMjk2OTM2RDAxKg0KK1g0MTU3MDVZMjk2OTc3RDAxKg0KK1g0MTU5ODBZMjk3MDg2RDAxKg0KK1g0MTYyNjVZMjk3MTY2RDAxKg0KK1g0MTY1NTdZMjk3MjIwRDAxKg0KK1g0MTY4NTJZMjk3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTI5MDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMjkwNzgwRDAxKg0KK1g0MTYyNjVZMjkwODM0RDAxKg0KK1g0MTU5ODBZMjkwOTE0RDAxKg0KK1g0MTU3MDNZMjkxMDIwRDAxKg0KK1g0MTU1OTNZMjkxMDYwRDAxKg0KK1g0MTU0NzZZMjkxMDgxRDAxKg0KK1g0MTUzNThZMjkxMDgzRDAxKg0KK1g0MTUyNDFZMjkxMDY3RDAxKg0KK1g0MTUxMjlZMjkxMDMyRDAxKg0KK1g0MTUwMjJZMjkwOTgwRDAxKg0KK1g0MTQ5MjZZMjkwOTEzRDAxKg0KK1g0MTQ4NDFZMjkwODMxRDAxKg0KK1g0MTQ3NzBZMjkwNzM3RDAxKg0KK1g0MTQ3MTRZMjkwNjMyRDAxKg0KK1g0MTQ2NzZZMjkwNTIxRDAxKg0KK1g0MTQ2NTVZMjkwNDA0RDAxKg0KK1g0MTQ2NTNZMjkwMjg2RDAxKg0KK1g0MTQ2NzBZMjkwMTcwRDAxKg0KK1g0MTQ3MDRZMjkwMDU3RDAxKg0KK1g0MTQ3NTZZMjg5OTUwRDAxKg0KK1g0MTQ4MjNZMjg5ODU0RDAxKg0KK1g0MTQ5MDVZMjg5NzY5RDAxKg0KK1g0MTUwMDBZMjg5Njk4RDAxKg0KK1g0MTUxMDVZMjg5NjQ0RDAxKg0KK1g0MTU1MDhZMjg5NDg1RDAxKg0KK1g0MTU5MjVZMjg5MzY4RDAxKg0KK1g0MTYzNTJZMjg5Mjg5RDAxKg0KK1g0MTY3ODNZMjg5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTI2ODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMjY4NzExRDAxKg0KK1g0MTU5MjVZMjY4NjMyRDAxKg0KK1g0MTU1MDhZMjY4NTE1RDAxKg0KK1g0MTUxMDNZMjY4MzYwRDAxKg0KK1g0MTQ5OThZMjY4MzA1RDAxKg0KK1g0MTQ5MDNZMjY4MjM0RDAxKg0KK1g0MTQ4MjFZMjY4MTQ4RDAxKg0KK1g0MTQ3NTNZMjY4MDUxRDAxKg0KK1g0MTQ3MDFZMjY3OTQ1RDAxKg0KK1g0MTQ2NjZZMjY3ODMxRDAxKg0KK1g0MTQ2NTBZMjY3NzE0RDAxKg0KK1g0MTQ2NTJZMjY3NTk1RDAxKg0KK1g0MTQ2NzNZMjY3NDc4RDAxKg0KK1g0MTQ3MTFZMjY3MzY2RDAxKg0KK1g0MTQ3NjdZMjY3MjYyRDAxKg0KK1g0MTQ4MzhZMjY3MTY3RDAxKg0KK1g0MTQ5MjRZMjY3MDg1RDAxKg0KK1g0MTUwMjFZMjY3MDE3RDAxKg0KK1g0MTUxMjdZMjY2OTY1RDAxKg0KK1g0MTUyNDFZMjY2OTMwRDAxKg0KK1g0MTUzNThZMjY2OTE0RDAxKg0KK1g0MTU0NzdZMjY2OTE2RDAxKg0KK1g0MTU1OTNZMjY2OTM2RDAxKg0KK1g0MTU3MDVZMjY2OTc3RDAxKg0KK1g0MTU5ODBZMjY3MDg2RDAxKg0KK1g0MTYyNjVZMjY3MTY2RDAxKg0KK1g0MTY1NTdZMjY3MjIwRDAxKg0KK1g0MTY4NTJZMjY3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTI2MDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMjYwNzgwRDAxKg0KK1g0MTYyNjVZMjYwODM0RDAxKg0KK1g0MTU5ODBZMjYwOTE0RDAxKg0KK1g0MTU3MDNZMjYxMDIwRDAxKg0KK1g0MTU1OTNZMjYxMDYwRDAxKg0KK1g0MTU0NzZZMjYxMDgxRDAxKg0KK1g0MTUzNThZMjYxMDgzRDAxKg0KK1g0MTUyNDFZMjYxMDY3RDAxKg0KK1g0MTUxMjlZMjYxMDMyRDAxKg0KK1g0MTUwMjJZMjYwOTgwRDAxKg0KK1g0MTQ5MjZZMjYwOTEzRDAxKg0KK1g0MTQ4NDFZMjYwODMxRDAxKg0KK1g0MTQ3NzBZMjYwNzM3RDAxKg0KK1g0MTQ3MTRZMjYwNjMyRDAxKg0KK1g0MTQ2NzZZMjYwNTIxRDAxKg0KK1g0MTQ2NTVZMjYwNDA0RDAxKg0KK1g0MTQ2NTNZMjYwMjg2RDAxKg0KK1g0MTQ2NzBZMjYwMTcwRDAxKg0KK1g0MTQ3MDRZMjYwMDU3RDAxKg0KK1g0MTQ3NTZZMjU5OTUwRDAxKg0KK1g0MTQ4MjNZMjU5ODU0RDAxKg0KK1g0MTQ5MDVZMjU5NzY5RDAxKg0KK1g0MTUwMDBZMjU5Njk4RDAxKg0KK1g0MTUxMDVZMjU5NjQ0RDAxKg0KK1g0MTU1MDhZMjU5NDg1RDAxKg0KK1g0MTU5MjVZMjU5MzY4RDAxKg0KK1g0MTYzNTJZMjU5Mjg5RDAxKg0KK1g0MTY3ODNZMjU5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTIzODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMjM4NzExRDAxKg0KK1g0MTU5MjVZMjM4NjMyRDAxKg0KK1g0MTU1MDhZMjM4NTE1RDAxKg0KK1g0MTUxMDNZMjM4MzYwRDAxKg0KK1g0MTQ5OThZMjM4MzA1RDAxKg0KK1g0MTQ5MDNZMjM4MjM0RDAxKg0KK1g0MTQ4MjFZMjM4MTQ4RDAxKg0KK1g0MTQ3NTNZMjM4MDUxRDAxKg0KK1g0MTQ3MDFZMjM3OTQ1RDAxKg0KK1g0MTQ2NjZZMjM3ODMxRDAxKg0KK1g0MTQ2NTBZMjM3NzE0RDAxKg0KK1g0MTQ2NTJZMjM3NTk1RDAxKg0KK1g0MTQ2NzNZMjM3NDc4RDAxKg0KK1g0MTQ3MTFZMjM3MzY2RDAxKg0KK1g0MTQ3NjdZMjM3MjYyRDAxKg0KK1g0MTQ4MzhZMjM3MTY3RDAxKg0KK1g0MTQ5MjRZMjM3MDg1RDAxKg0KK1g0MTUwMjFZMjM3MDE3RDAxKg0KK1g0MTUxMjdZMjM2OTY1RDAxKg0KK1g0MTUyNDFZMjM2OTMwRDAxKg0KK1g0MTUzNThZMjM2OTE0RDAxKg0KK1g0MTU0NzdZMjM2OTE2RDAxKg0KK1g0MTU1OTNZMjM2OTM2RDAxKg0KK1g0MTU3MDVZMjM2OTc3RDAxKg0KK1g0MTU5ODBZMjM3MDg2RDAxKg0KK1g0MTYyNjVZMjM3MTY2RDAxKg0KK1g0MTY1NTdZMjM3MjIwRDAxKg0KK1g0MTY4NTJZMjM3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTIzMDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMjMwNzgwRDAxKg0KK1g0MTYyNjVZMjMwODM0RDAxKg0KK1g0MTU5ODBZMjMwOTE0RDAxKg0KK1g0MTU3MDNZMjMxMDIwRDAxKg0KK1g0MTU1OTNZMjMxMDYwRDAxKg0KK1g0MTU0NzZZMjMxMDgxRDAxKg0KK1g0MTUzNThZMjMxMDgzRDAxKg0KK1g0MTUyNDFZMjMxMDY3RDAxKg0KK1g0MTUxMjlZMjMxMDMyRDAxKg0KK1g0MTUwMjJZMjMwOTgwRDAxKg0KK1g0MTQ5MjZZMjMwOTEzRDAxKg0KK1g0MTQ4NDFZMjMwODMxRDAxKg0KK1g0MTQ3NzBZMjMwNzM3RDAxKg0KK1g0MTQ3MTRZMjMwNjMyRDAxKg0KK1g0MTQ2NzZZMjMwNTIxRDAxKg0KK1g0MTQ2NTVZMjMwNDA0RDAxKg0KK1g0MTQ2NTNZMjMwMjg2RDAxKg0KK1g0MTQ2NzBZMjMwMTcwRDAxKg0KK1g0MTQ3MDRZMjMwMDU3RDAxKg0KK1g0MTQ3NTZZMjI5OTUwRDAxKg0KK1g0MTQ4MjNZMjI5ODU0RDAxKg0KK1g0MTQ5MDVZMjI5NzY5RDAxKg0KK1g0MTUwMDBZMjI5Njk4RDAxKg0KK1g0MTUxMDVZMjI5NjQ0RDAxKg0KK1g0MTU1MDhZMjI5NDg1RDAxKg0KK1g0MTU5MjVZMjI5MzY4RDAxKg0KK1g0MTYzNTJZMjI5Mjg5RDAxKg0KK1g0MTY3ODNZMjI5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTIwODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMjA4NzExRDAxKg0KK1g0MTU5MjVZMjA4NjMyRDAxKg0KK1g0MTU1MDhZMjA4NTE1RDAxKg0KK1g0MTUxMDNZMjA4MzYwRDAxKg0KK1g0MTQ5OThZMjA4MzA1RDAxKg0KK1g0MTQ5MDNZMjA4MjM0RDAxKg0KK1g0MTQ4MjFZMjA4MTQ4RDAxKg0KK1g0MTQ3NTNZMjA4MDUxRDAxKg0KK1g0MTQ3MDFZMjA3OTQ1RDAxKg0KK1g0MTQ2NjZZMjA3ODMxRDAxKg0KK1g0MTQ2NTBZMjA3NzE0RDAxKg0KK1g0MTQ2NTJZMjA3NTk1RDAxKg0KK1g0MTQ2NzNZMjA3NDc4RDAxKg0KK1g0MTQ3MTFZMjA3MzY2RDAxKg0KK1g0MTQ3NjdZMjA3MjYyRDAxKg0KK1g0MTQ4MzhZMjA3MTY3RDAxKg0KK1g0MTQ5MjRZMjA3MDg1RDAxKg0KK1g0MTUwMjFZMjA3MDE3RDAxKg0KK1g0MTUxMjdZMjA2OTY1RDAxKg0KK1g0MTUyNDFZMjA2OTMwRDAxKg0KK1g0MTUzNThZMjA2OTE0RDAxKg0KK1g0MTU0NzdZMjA2OTE2RDAxKg0KK1g0MTU1OTNZMjA2OTM2RDAxKg0KK1g0MTU3MDVZMjA2OTc3RDAxKg0KK1g0MTU5ODBZMjA3MDg2RDAxKg0KK1g0MTYyNjVZMjA3MTY2RDAxKg0KK1g0MTY1NTdZMjA3MjIwRDAxKg0KK1g0MTY4NTJZMjA3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTIwMDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMjAwNzgwRDAxKg0KK1g0MTYyNjVZMjAwODM0RDAxKg0KK1g0MTU5ODBZMjAwOTE0RDAxKg0KK1g0MTU3MDNZMjAxMDIwRDAxKg0KK1g0MTU1OTNZMjAxMDYwRDAxKg0KK1g0MTU0NzZZMjAxMDgxRDAxKg0KK1g0MTUzNThZMjAxMDgzRDAxKg0KK1g0MTUyNDFZMjAxMDY3RDAxKg0KK1g0MTUxMjlZMjAxMDMyRDAxKg0KK1g0MTUwMjJZMjAwOTgwRDAxKg0KK1g0MTQ5MjZZMjAwOTEzRDAxKg0KK1g0MTQ4NDFZMjAwODMxRDAxKg0KK1g0MTQ3NzBZMjAwNzM3RDAxKg0KK1g0MTQ3MTRZMjAwNjMyRDAxKg0KK1g0MTQ2NzZZMjAwNTIxRDAxKg0KK1g0MTQ2NTVZMjAwNDA0RDAxKg0KK1g0MTQ2NTNZMjAwMjg2RDAxKg0KK1g0MTQ2NzBZMjAwMTcwRDAxKg0KK1g0MTQ3MDRZMjAwMDU3RDAxKg0KK1g0MTQ3NTZZMTk5OTUwRDAxKg0KK1g0MTQ4MjNZMTk5ODU0RDAxKg0KK1g0MTQ5MDVZMTk5NzY5RDAxKg0KK1g0MTUwMDBZMTk5Njk4RDAxKg0KK1g0MTUxMDVZMTk5NjQ0RDAxKg0KK1g0MTU1MDhZMTk5NDg1RDAxKg0KK1g0MTU5MjVZMTk5MzY4RDAxKg0KK1g0MTYzNTJZMTk5Mjg5RDAxKg0KK1g0MTY3ODNZMTk5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTE3ODc1MEQwMSoNCitYNDE2NzgzRDAxKg0KK1g0MTYzNTJZMTc4NzExRDAxKg0KK1g0MTU5MjVZMTc4NjMyRDAxKg0KK1g0MTU1MDhZMTc4NTE1RDAxKg0KK1g0MTUxMDNZMTc4MzYwRDAxKg0KK1g0MTQ5OThZMTc4MzA1RDAxKg0KK1g0MTQ5MDNZMTc4MjM0RDAxKg0KK1g0MTQ4MjFZMTc4MTQ4RDAxKg0KK1g0MTQ3NTNZMTc4MDUxRDAxKg0KK1g0MTQ3MDFZMTc3OTQ1RDAxKg0KK1g0MTQ2NjZZMTc3ODMxRDAxKg0KK1g0MTQ2NTBZMTc3NzE0RDAxKg0KK1g0MTQ2NTJZMTc3NTk1RDAxKg0KK1g0MTQ2NzNZMTc3NDc4RDAxKg0KK1g0MTQ3MTFZMTc3MzY2RDAxKg0KK1g0MTQ3NjdZMTc3MjYyRDAxKg0KK1g0MTQ4MzhZMTc3MTY3RDAxKg0KK1g0MTQ5MjRZMTc3MDg1RDAxKg0KK1g0MTUwMjFZMTc3MDE3RDAxKg0KK1g0MTUxMjdZMTc2OTY1RDAxKg0KK1g0MTUyNDFZMTc2OTMwRDAxKg0KK1g0MTUzNThZMTc2OTE0RDAxKg0KK1g0MTU0NzdZMTc2OTE2RDAxKg0KK1g0MTU1OTNZMTc2OTM2RDAxKg0KK1g0MTU3MDVZMTc2OTc3RDAxKg0KK1g0MTU5ODBZMTc3MDg2RDAxKg0KK1g0MTYyNjVZMTc3MTY2RDAxKg0KK1g0MTY1NTdZMTc3MjIwRDAxKg0KK1g0MTY4NTJZMTc3MjQ3RDAxKg0KK1g0MTcwMDJEMDEqDQorWTE3MDc1M0QwMSoNCitYNDE2ODUyRDAxKg0KK1g0MTY1NTdZMTcwNzgwRDAxKg0KK1g0MTYyNjVZMTcwODM0RDAxKg0KK1g0MTU5ODBZMTcwOTE0RDAxKg0KK1g0MTU3MDNZMTcxMDIwRDAxKg0KK1g0MTU1OTNZMTcxMDYwRDAxKg0KK1g0MTU0NzZZMTcxMDgxRDAxKg0KK1g0MTUzNThZMTcxMDgzRDAxKg0KK1g0MTUyNDFZMTcxMDY3RDAxKg0KK1g0MTUxMjlZMTcxMDMyRDAxKg0KK1g0MTUwMjJZMTcwOTgwRDAxKg0KK1g0MTQ5MjZZMTcwOTEzRDAxKg0KK1g0MTQ4NDFZMTcwODMxRDAxKg0KK1g0MTQ3NzBZMTcwNzM3RDAxKg0KK1g0MTQ3MTRZMTcwNjMyRDAxKg0KK1g0MTQ2NzZZMTcwNTIxRDAxKg0KK1g0MTQ2NTVZMTcwNDA0RDAxKg0KK1g0MTQ2NTNZMTcwMjg2RDAxKg0KK1g0MTQ2NzBZMTcwMTcwRDAxKg0KK1g0MTQ3MDRZMTcwMDU3RDAxKg0KK1g0MTQ3NTZZMTY5OTUwRDAxKg0KK1g0MTQ4MjNZMTY5ODU0RDAxKg0KK1g0MTQ5MDVZMTY5NzY5RDAxKg0KK1g0MTUwMDBZMTY5Njk4RDAxKg0KK1g0MTUxMDVZMTY5NjQ0RDAxKg0KK1g0MTU1MDhZMTY5NDg1RDAxKg0KK1g0MTU5MjVZMTY5MzY4RDAxKg0KK1g0MTYzNTJZMTY5Mjg5RDAxKg0KK1g0MTY3ODNZMTY5MjUwRDAxKg0KK1g0MTcwMDJEMDEqDQorWTE1NDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MTMxNjhEMDIqWDQwNjQ0MUQwMSoNCitYNDA2NTA0WTE2OTI1NkQwMSoNCitYNDEwNDg1WTE2OTI2NEQwMSoNCitYNDEwNzE1WTE2OTMxOUQwMSoNCitYNDEwOTMzWTE2OTQwOUQwMSoNCitYNDExMTM0WTE2OTUzM0QwMSoNCitYNDExMzE0WTE2OTY4NkQwMSoNCitYNDExNDY3WTE2OTg2NkQwMSoNCitYNDExNTkxWTE3MDA2N0QwMSoNCitYNDExNjgxWTE3MDI4NUQwMSoNCitYNDExNzM2WTE3MDUxNUQwMSoNCitYNDExNzUwWTE3MDc1MEQwMSoNCitYNDExNzM2WTE3NzQ4NUQwMSoNCitYNDExNjgxWTE3NzcxNUQwMSoNCitYNDExNTkxWTE3NzkzM0QwMSoNCitYNDExNDY3WTE3ODEzNEQwMSoNCitYNDExMzE0WTE3ODMxNEQwMSoNCitYNDExMTM0WTE3ODQ2N0QwMSoNCitYNDEwOTMzWTE3ODU5MUQwMSoNCitYNDEwNzE1WTE3ODY4MUQwMSoNCitYNDEwNDg1WTE3ODczNkQwMSoNCitYNDEwMjUwWTE3ODc1MEQwMSoNCitYNDA2NTQzWTE3ODc0MkQwMSoNCitYNDA2NjI3WTE5OTI1NkQwMSoNCitYNDEwNDg1WTE5OTI2NEQwMSoNCitYNDEwNzE1WTE5OTMxOUQwMSoNCitYNDEwOTMzWTE5OTQwOUQwMSoNCitYNDExMTM0WTE5OTUzM0QwMSoNCitYNDExMzE0WTE5OTY4NkQwMSoNCitYNDExNDY3WTE5OTg2NkQwMSoNCitYNDExNTkxWTIwMDA2N0QwMSoNCitYNDExNjgxWTIwMDI4NUQwMSoNCitYNDExNzM2WTIwMDUxNUQwMSoNCitYNDExNzUwWTIwMDc1MEQwMSoNCitYNDExNzM2WTIwNzQ4NUQwMSoNCitYNDExNjgxWTIwNzcxNUQwMSoNCitYNDExNTkxWTIwNzkzM0QwMSoNCitYNDExNDY3WTIwODEzNEQwMSoNCitYNDExMzE0WTIwODMxNEQwMSoNCitYNDExMTM0WTIwODQ2N0QwMSoNCitYNDEwOTMzWTIwODU5MUQwMSoNCitYNDEwNzE1WTIwODY4MUQwMSoNCitYNDEwNDg1WTIwODczNkQwMSoNCitYNDEwMjUwWTIwODc1MEQwMSoNCitYNDA2NjY2WTIwODc0M0QwMSoNCitYNDA2NzUxWTIyOTI1NkQwMSoNCitYNDEwNDg1WTIyOTI2NEQwMSoNCitYNDEwNzE1WTIyOTMxOUQwMSoNCitYNDEwOTMzWTIyOTQwOUQwMSoNCitYNDExMTM0WTIyOTUzM0QwMSoNCitYNDExMzE0WTIyOTY4NkQwMSoNCitYNDExNDY3WTIyOTg2NkQwMSoNCitYNDExNTkxWTIzMDA2N0QwMSoNCitYNDExNjgxWTIzMDI4NUQwMSoNCitYNDExNzM2WTIzMDUxNUQwMSoNCitYNDExNzUwWTIzMDc1MEQwMSoNCitYNDExNzM2WTIzNzQ4NUQwMSoNCitYNDExNjgxWTIzNzcxNUQwMSoNCitYNDExNTkxWTIzNzkzM0QwMSoNCitYNDExNDY3WTIzODEzNEQwMSoNCitYNDExMzE0WTIzODMxNEQwMSoNCitYNDExMTM0WTIzODQ2N0QwMSoNCitYNDEwOTMzWTIzODU5MUQwMSoNCitYNDEwNzE1WTIzODY4MUQwMSoNCitYNDEwNDg1WTIzODczNkQwMSoNCitYNDEwMjUwWTIzODc1MEQwMSoNCitYNDA2NzkwWTIzODc0M0QwMSoNCitYNDA2ODc0WTI1OTI1NkQwMSoNCitYNDEwNDg1WTI1OTI2NEQwMSoNCitYNDEwNzE1WTI1OTMxOUQwMSoNCitYNDEwOTMzWTI1OTQwOUQwMSoNCitYNDExMTM0WTI1OTUzM0QwMSoNCitYNDExMzE0WTI1OTY4NkQwMSoNCitYNDExNDY3WTI1OTg2NkQwMSoNCitYNDExNTkxWTI2MDA2N0QwMSoNCitYNDExNjgxWTI2MDI4NUQwMSoNCitYNDExNzM2WTI2MDUxNUQwMSoNCitYNDExNzUwWTI2MDc1MEQwMSoNCitYNDExNzM2WTI2NzQ4NUQwMSoNCitYNDExNjgxWTI2NzcxNUQwMSoNCitYNDExNTkxWTI2NzkzM0QwMSoNCitYNDExNDY3WTI2ODEzNEQwMSoNCitYNDExMzE0WTI2ODMxNEQwMSoNCitYNDExMTM0WTI2ODQ2N0QwMSoNCitYNDEwOTMzWTI2ODU5MUQwMSoNCitYNDEwNzE1WTI2ODY4MUQwMSoNCitYNDEwNDg1WTI2ODczNkQwMSoNCitYNDEwMjUwWTI2ODc1MEQwMSoNCitYNDA2OTEzWTI2ODc0M0QwMSoNCitYNDA2OTk4WTI4OTI1N0QwMSoNCitYNDEwNDg1WTI4OTI2NEQwMSoNCitYNDEwNzE1WTI4OTMxOUQwMSoNCitYNDEwOTMzWTI4OTQwOUQwMSoNCitYNDExMTM0WTI4OTUzM0QwMSoNCitYNDExMzE0WTI4OTY4NkQwMSoNCitYNDExNDY3WTI4OTg2NkQwMSoNCitYNDExNTkxWTI5MDA2N0QwMSoNCitYNDExNjgxWTI5MDI4NUQwMSoNCitYNDExNzM2WTI5MDUxNUQwMSoNCitYNDExNzUwWTI5MDc1MEQwMSoNCitYNDExNzM2WTI5NzQ4NUQwMSoNCitYNDExNjgxWTI5NzcxNUQwMSoNCitYNDExNTkxWTI5NzkzM0QwMSoNCitYNDExNDY3WTI5ODEzNEQwMSoNCitYNDExMzE0WTI5ODMxNEQwMSoNCitYNDExMTM0WTI5ODQ2N0QwMSoNCitYNDEwOTMzWTI5ODU5MUQwMSoNCitYNDEwNzE1WTI5ODY4MUQwMSoNCitYNDEwNDg1WTI5ODczNkQwMSoNCitYNDEwMjUwWTI5ODc1MEQwMSoNCitYNDA3MDM3WTI5ODc0M0QwMSoNCitYNDA3MTIxWTMxOTI1N0QwMSoNCitYNDEwNDg1WTMxOTI2NEQwMSoNCitYNDEwNzE1WTMxOTMxOUQwMSoNCitYNDEwOTMzWTMxOTQwOUQwMSoNCitYNDExMTM0WTMxOTUzM0QwMSoNCitYNDExMzE0WTMxOTY4NkQwMSoNCitYNDExNDY3WTMxOTg2NkQwMSoNCitYNDExNTkxWTMyMDA2N0QwMSoNCitYNDExNjgxWTMyMDI4NUQwMSoNCitYNDExNzM2WTMyMDUxNUQwMSoNCitYNDExNzUwWTMyMDc1MEQwMSoNCitYNDExNzM2WTMyNzQ4NUQwMSoNCitYNDExNjgxWTMyNzcxNUQwMSoNCitYNDExNTkxWTMyNzkzM0QwMSoNCitYNDExNDY3WTMyODEzNEQwMSoNCitYNDExMzE0WTMyODMxNEQwMSoNCitYNDExMTM0WTMyODQ2N0QwMSoNCitYNDEwOTMzWTMyODU5MUQwMSoNCitYNDEwNzE1WTMyODY4MUQwMSoNCitYNDEwNDg1WTMyODczNkQwMSoNCitYNDEwMjUwWTMyODc1MEQwMSoNCitYNDA3MTYwWTMyODc0NEQwMSoNCitYNDA3MjQ1WTM0OTI1N0QwMSoNCitYNDEwNDg1WTM0OTI2NEQwMSoNCitYNDEwNzE1WTM0OTMxOUQwMSoNCitYNDEwOTMzWTM0OTQwOUQwMSoNCitYNDExMTM0WTM0OTUzM0QwMSoNCitYNDExMzE0WTM0OTY4NkQwMSoNCitYNDExNDY3WTM0OTg2NkQwMSoNCitYNDExNTkxWTM1MDA2N0QwMSoNCitYNDExNjgxWTM1MDI4NUQwMSoNCitYNDExNzM2WTM1MDUxNUQwMSoNCitYNDExNzUwWTM1MDc1MEQwMSoNCitYNDExNzM2WTM1NzQ4NUQwMSoNCitYNDExNjgxWTM1NzcxNUQwMSoNCitYNDExNTkxWTM1NzkzM0QwMSoNCitYNDExNDY3WTM1ODEzNEQwMSoNCitYNDExMzE0WTM1ODMxNEQwMSoNCitYNDExMTM0WTM1ODQ2N0QwMSoNCitYNDEwOTMzWTM1ODU5MUQwMSoNCitYNDEwNzE1WTM1ODY4MUQwMSoNCitYNDEwNDg1WTM1ODczNkQwMSoNCitYNDEwMjUwWTM1ODc1MEQwMSoNCitYNDA3Mjg0WTM1ODc0NEQwMSoNCitYNDA3MzY4WTM3OTI1N0QwMSoNCitYNDEwNDg1WTM3OTI2NEQwMSoNCitYNDEwNzE1WTM3OTMxOUQwMSoNCitYNDEwOTMzWTM3OTQwOUQwMSoNCitYNDExMTM0WTM3OTUzM0QwMSoNCitYNDExMzE0WTM3OTY4NkQwMSoNCitYNDExNDY3WTM3OTg2NkQwMSoNCitYNDExNTkxWTM4MDA2N0QwMSoNCitYNDExNjgxWTM4MDI4NUQwMSoNCitYNDExNzM2WTM4MDUxNUQwMSoNCitYNDExNzUwWTM4MDc1MEQwMSoNCitYNDExNzM2WTM4NzQ4NUQwMSoNCitYNDExNjgxWTM4NzcxNUQwMSoNCitYNDExNTkxWTM4NzkzM0QwMSoNCitYNDExNDY3WTM4ODEzNEQwMSoNCitYNDExMzE0WTM4ODMxNEQwMSoNCitYNDExMTM0WTM4ODQ2N0QwMSoNCitYNDEwOTMzWTM4ODU5MUQwMSoNCitYNDEwNzE1WTM4ODY4MUQwMSoNCitYNDEwNDg1WTM4ODczNkQwMSoNCitYNDEwMjUwWTM4ODc1MEQwMSoNCitYNDA3NDA3WTM4ODc0NEQwMSoNCitYNDA3NDQxWTM5NzAwMEQwMSoNCitYNDEzMTY4RDAxKg0KK1kzODYzMzBEMDEqDQorWDQxMzA1N1kzODYyOTZEMDEqDQorWDQxMjk1MFkzODYyNDREMDEqDQorWDQxMjg1NFkzODYxNzdEMDEqDQorWDQxMjc2OVkzODYwOTVEMDEqDQorWDQxMjY5OFkzODYwMDBEMDEqDQorWDQxMjY0NFkzODU4OTVEMDEqDQorWDQxMjQ4NVkzODU0OTJEMDEqDQorWDQxMjM2OFkzODUwNzVEMDEqDQorWDQxMjI4OVkzODQ2NDhEMDEqDQorWDQxMjI1MFkzODQyMTdEMDEqDQorWTM4Mzc4M0QwMSoNCitYNDEyMjg5WTM4MzM1MkQwMSoNCitYNDEyMzY4WTM4MjkyNUQwMSoNCitYNDEyNDg1WTM4MjUwOEQwMSoNCitYNDEyNjQwWTM4MjEwM0QwMSoNCitYNDEyNjk1WTM4MTk5OEQwMSoNCitYNDEyNzY2WTM4MTkwM0QwMSoNCitYNDEyODUyWTM4MTgyMUQwMSoNCitYNDEyOTQ5WTM4MTc1M0QwMSoNCitYNDEzMDU1WTM4MTcwMUQwMSoNCitYNDEzMTY4WTM4MTY2NkQwMSoNCitZMzU2MzMwRDAxKg0KK1g0MTMwNTdZMzU2Mjk2RDAxKg0KK1g0MTI5NTBZMzU2MjQ0RDAxKg0KK1g0MTI4NTRZMzU2MTc3RDAxKg0KK1g0MTI3NjlZMzU2MDk1RDAxKg0KK1g0MTI2OThZMzU2MDAwRDAxKg0KK1g0MTI2NDRZMzU1ODk1RDAxKg0KK1g0MTI0ODVZMzU1NDkyRDAxKg0KK1g0MTIzNjhZMzU1MDc1RDAxKg0KK1g0MTIyODlZMzU0NjQ4RDAxKg0KK1g0MTIyNTBZMzU0MjE3RDAxKg0KK1kzNTM3ODNEMDEqDQorWDQxMjI4OVkzNTMzNTJEMDEqDQorWDQxMjM2OFkzNTI5MjVEMDEqDQorWDQxMjQ4NVkzNTI1MDhEMDEqDQorWDQxMjY0MFkzNTIxMDNEMDEqDQorWDQxMjY5NVkzNTE5OThEMDEqDQorWDQxMjc2NlkzNTE5MDNEMDEqDQorWDQxMjg1MlkzNTE4MjFEMDEqDQorWDQxMjk0OVkzNTE3NTNEMDEqDQorWDQxMzA1NVkzNTE3MDFEMDEqDQorWDQxMzE2OFkzNTE2NjZEMDEqDQorWTMyNjMzMEQwMSoNCitYNDEzMDU3WTMyNjI5NkQwMSoNCitYNDEyOTUwWTMyNjI0NEQwMSoNCitYNDEyODU0WTMyNjE3N0QwMSoNCitYNDEyNzY5WTMyNjA5NUQwMSoNCitYNDEyNjk4WTMyNjAwMEQwMSoNCitYNDEyNjQ0WTMyNTg5NUQwMSoNCitYNDEyNDg1WTMyNTQ5MkQwMSoNCitYNDEyMzY4WTMyNTA3NUQwMSoNCitYNDEyMjg5WTMyNDY0OEQwMSoNCitYNDEyMjUwWTMyNDIxN0QwMSoNCitZMzIzNzgzRDAxKg0KK1g0MTIyODlZMzIzMzUyRDAxKg0KK1g0MTIzNjhZMzIyOTI1RDAxKg0KK1g0MTI0ODVZMzIyNTA4RDAxKg0KK1g0MTI2NDBZMzIyMTAzRDAxKg0KK1g0MTI2OTVZMzIxOTk4RDAxKg0KK1g0MTI3NjZZMzIxOTAzRDAxKg0KK1g0MTI4NTJZMzIxODIxRDAxKg0KK1g0MTI5NDlZMzIxNzUzRDAxKg0KK1g0MTMwNTVZMzIxNzAxRDAxKg0KK1g0MTMxNjhZMzIxNjY2RDAxKg0KK1kyOTYzMzBEMDEqDQorWDQxMzA1N1kyOTYyOTZEMDEqDQorWDQxMjk1MFkyOTYyNDREMDEqDQorWDQxMjg1NFkyOTYxNzdEMDEqDQorWDQxMjc2OVkyOTYwOTVEMDEqDQorWDQxMjY5OFkyOTYwMDBEMDEqDQorWDQxMjY0NFkyOTU4OTVEMDEqDQorWDQxMjQ4NVkyOTU0OTJEMDEqDQorWDQxMjM2OFkyOTUwNzVEMDEqDQorWDQxMjI4OVkyOTQ2NDhEMDEqDQorWDQxMjI1MFkyOTQyMTdEMDEqDQorWTI5Mzc4M0QwMSoNCitYNDEyMjg5WTI5MzM1MkQwMSoNCitYNDEyMzY4WTI5MjkyNUQwMSoNCitYNDEyNDg1WTI5MjUwOEQwMSoNCitYNDEyNjQwWTI5MjEwM0QwMSoNCitYNDEyNjk1WTI5MTk5OEQwMSoNCitYNDEyNzY2WTI5MTkwM0QwMSoNCitYNDEyODUyWTI5MTgyMUQwMSoNCitYNDEyOTQ5WTI5MTc1M0QwMSoNCitYNDEzMDU1WTI5MTcwMUQwMSoNCitYNDEzMTY4WTI5MTY2NkQwMSoNCitZMjY2MzMwRDAxKg0KK1g0MTMwNTdZMjY2Mjk2RDAxKg0KK1g0MTI5NTBZMjY2MjQ0RDAxKg0KK1g0MTI4NTRZMjY2MTc3RDAxKg0KK1g0MTI3NjlZMjY2MDk1RDAxKg0KK1g0MTI2OThZMjY2MDAwRDAxKg0KK1g0MTI2NDRZMjY1ODk1RDAxKg0KK1g0MTI0ODVZMjY1NDkyRDAxKg0KK1g0MTIzNjhZMjY1MDc1RDAxKg0KK1g0MTIyODlZMjY0NjQ4RDAxKg0KK1g0MTIyNTBZMjY0MjE3RDAxKg0KK1kyNjM3ODNEMDEqDQorWDQxMjI4OVkyNjMzNTJEMDEqDQorWDQxMjM2OFkyNjI5MjVEMDEqDQorWDQxMjQ4NVkyNjI1MDhEMDEqDQorWDQxMjY0MFkyNjIxMDNEMDEqDQorWDQxMjY5NVkyNjE5OThEMDEqDQorWDQxMjc2NlkyNjE5MDNEMDEqDQorWDQxMjg1MlkyNjE4MjFEMDEqDQorWDQxMjk0OVkyNjE3NTNEMDEqDQorWDQxMzA1NVkyNjE3MDFEMDEqDQorWDQxMzE2OFkyNjE2NjZEMDEqDQorWTIzNjMzMEQwMSoNCitYNDEzMDU3WTIzNjI5NkQwMSoNCitYNDEyOTUwWTIzNjI0NEQwMSoNCitYNDEyODU0WTIzNjE3N0QwMSoNCitYNDEyNzY5WTIzNjA5NUQwMSoNCitYNDEyNjk4WTIzNjAwMEQwMSoNCitYNDEyNjQ0WTIzNTg5NUQwMSoNCitYNDEyNDg1WTIzNTQ5MkQwMSoNCitYNDEyMzY4WTIzNTA3NUQwMSoNCitYNDEyMjg5WTIzNDY0OEQwMSoNCitYNDEyMjUwWTIzNDIxN0QwMSoNCitZMjMzNzgzRDAxKg0KK1g0MTIyODlZMjMzMzUyRDAxKg0KK1g0MTIzNjhZMjMyOTI1RDAxKg0KK1g0MTI0ODVZMjMyNTA4RDAxKg0KK1g0MTI2NDBZMjMyMTAzRDAxKg0KK1g0MTI2OTVZMjMxOTk4RDAxKg0KK1g0MTI3NjZZMjMxOTAzRDAxKg0KK1g0MTI4NTJZMjMxODIxRDAxKg0KK1g0MTI5NDlZMjMxNzUzRDAxKg0KK1g0MTMwNTVZMjMxNzAxRDAxKg0KK1g0MTMxNjhZMjMxNjY2RDAxKg0KK1kyMDYzMzBEMDEqDQorWDQxMzA1N1kyMDYyOTZEMDEqDQorWDQxMjk1MFkyMDYyNDREMDEqDQorWDQxMjg1NFkyMDYxNzdEMDEqDQorWDQxMjc2OVkyMDYwOTVEMDEqDQorWDQxMjY5OFkyMDYwMDBEMDEqDQorWDQxMjY0NFkyMDU4OTVEMDEqDQorWDQxMjQ4NVkyMDU0OTJEMDEqDQorWDQxMjM2OFkyMDUwNzVEMDEqDQorWDQxMjI4OVkyMDQ2NDhEMDEqDQorWDQxMjI1MFkyMDQyMTdEMDEqDQorWTIwMzc4M0QwMSoNCitYNDEyMjg5WTIwMzM1MkQwMSoNCitYNDEyMzY4WTIwMjkyNUQwMSoNCitYNDEyNDg1WTIwMjUwOEQwMSoNCitYNDEyNjQwWTIwMjEwM0QwMSoNCitYNDEyNjk1WTIwMTk5OEQwMSoNCitYNDEyNzY2WTIwMTkwM0QwMSoNCitYNDEyODUyWTIwMTgyMUQwMSoNCitYNDEyOTQ5WTIwMTc1M0QwMSoNCitYNDEzMDU1WTIwMTcwMUQwMSoNCitYNDEzMTY4WTIwMTY2NkQwMSoNCitZMTc2MzMwRDAxKg0KK1g0MTMwNTdZMTc2Mjk2RDAxKg0KK1g0MTI5NTBZMTc2MjQ0RDAxKg0KK1g0MTI4NTRZMTc2MTc3RDAxKg0KK1g0MTI3NjlZMTc2MDk1RDAxKg0KK1g0MTI2OThZMTc2MDAwRDAxKg0KK1g0MTI2NDRZMTc1ODk1RDAxKg0KK1g0MTI0ODVZMTc1NDkyRDAxKg0KK1g0MTIzNjhZMTc1MDc1RDAxKg0KK1g0MTIyODlZMTc0NjQ4RDAxKg0KK1g0MTIyNTBZMTc0MjE3RDAxKg0KK1kxNzM3ODNEMDEqDQorWDQxMjI4OVkxNzMzNTJEMDEqDQorWDQxMjM2OFkxNzI5MjVEMDEqDQorWDQxMjQ4NVkxNzI1MDhEMDEqDQorWDQxMjY0MFkxNzIxMDNEMDEqDQorWDQxMjY5NVkxNzE5OThEMDEqDQorWDQxMjc2NlkxNzE5MDNEMDEqDQorWDQxMjg1MlkxNzE4MjFEMDEqDQorWDQxMjk0OVkxNzE3NTNEMDEqDQorWDQxMzA1NVkxNzE3MDFEMDEqDQorWDQxMzE2OFkxNzE2NjZEMDEqDQorWTE1NDAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MzQ0NDZZMzkwMDBEMDIqWDM5NTQzOEQwMSoNCitZNTg0OTlEMDEqDQorWDM5NTUwMlk1ODUzOEQwMSoNCitYMzk1NzE4WTU4NzIyRDAxKg0KK1gzOTU5MDJZNTg5MzhEMDEqDQorWDM5NjA1MFk1OTE3OUQwMSoNCitYMzk2MTU4WTU5NDQxRDAxKg0KK1gzOTYyMjRZNTk3MTdEMDEqDQorWDM5NjI0MVk1OTk5OUQwMSoNCitYMzk2MjI0WTYwMjgxRDAxKg0KK1gzOTYxNThZNjA1NTdEMDEqDQorWDM5NjA1MFk2MDgxOUQwMSoNCitYMzk1OTAyWTYxMDYwRDAxKg0KK1gzOTU3MThZNjEyNzZEMDEqDQorWDM5NTUwMlk2MTQ2MEQwMSoNCitYMzk1NDM4WTYxNDk5RDAxKg0KK1k2NTE5NEQwMSoNCitYMzk1NDQxWTY1MTkzRDAxKg0KK1gzOTU3MjNZNjUyMTZEMDEqDQorWDM5NTk5OVk2NTI4MkQwMSoNCitYMzk2MjYxWTY1MzkwRDAxKg0KK1gzOTY1MDJZNjU1MzhEMDEqDQorWDM5NjcxOFk2NTcyMkQwMSoNCitYMzk2OTAyWTY1OTM4RDAxKg0KK1gzOTcwNTBZNjYxNzlEMDEqDQorWDM5NzE1OFk2NjQ0MUQwMSoNCitYMzk3MjI0WTY2NzE3RDAxKg0KK1gzOTcyNDFZNjY5OTlEMDEqDQorWDM5NzIyNFk2NzI4MUQwMSoNCitYMzk3MTU4WTY3NTU3RDAxKg0KK1gzOTcwNTBZNjc4MTlEMDEqDQorWDM5NjkwMlk2ODA2MEQwMSoNCitYMzk2NzE4WTY4Mjc2RDAxKg0KK1gzOTY1MDJZNjg0NjBEMDEqDQorWDM5NjI2MVk2ODYwOEQwMSoNCitYMzk1OTk5WTY4NzE2RDAxKg0KK1gzOTU3MjNZNjg3ODJEMDEqDQorWDM5NTQ0MVk2ODgwNUQwMSoNCitYMzk1NDM4WTY4ODA0RDAxKg0KK1kxMzIwMDBEMDEqDQorWDQwODk0MUQwMSoNCitZNjcwMDBEMDEqDQorWDQzNDQ0NkQwMSoNCitZNTgzMDVEMDEqDQorWDQzNDE2N1k1ODI4M0QwMSoNCitYNDMzODkxWTU4MjE3RDAxKg0KK1g0MzM2MjlZNTgxMDlEMDEqDQorWDQzMzM4OFk1Nzk2MUQwMSoNCitYNDMzMTcyWTU3Nzc3RDAxKg0KK1g0MzI5ODhZNTc1NjFEMDEqDQorWDQzMjg0MFk1NzMyMEQwMSoNCitYNDMyNzMyWTU3MDU4RDAxKg0KK1g0MzI2NjZZNTY3ODJEMDEqDQorWDQzMjY0M1k1NjUwMEQwMSoNCitYNDMyNjY2WTU2MjE4RDAxKg0KK1g0MzI3MzJZNTU5NDJEMDEqDQorWDQzMjg0MFk1NTY4MEQwMSoNCitYNDMyOTg4WTU1NDM5RDAxKg0KK1g0MzMxNzJZNTUyMjNEMDEqDQorWDQzMzM4OFk1NTAzOUQwMSoNCitYNDMzNjI5WTU0ODkxRDAxKg0KK1g0MzM4OTFZNTQ3ODNEMDEqDQorWDQzNDE2N1k1NDcxN0QwMSoNCitYNDM0NDQ2WTU0Njk1RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzOTU0MzhEMDIqWDM5MTQzOEQwMSoNCitZNTI1MDZEMDEqDQorWDM5MTQ4MFk1MjQzOEQwMSoNCitYMzkxNjY0WTUyMjIyRDAxKg0KK1gzOTE4ODBZNTIwMzhEMDEqDQorWDM5MjEyMVk1MTg5MEQwMSoNCitYMzkyMzgzWTUxNzgyRDAxKg0KK1gzOTI2NTlZNTE3MTZEMDEqDQorWDM5Mjk0MVk1MTY5M0QwMSoNCitYMzkzMjIzWTUxNzE2RDAxKg0KK1gzOTM0OTlZNTE3ODJEMDEqDQorWDM5Mzc2MVk1MTg5MEQwMSoNCitYMzk0MDAyWTUyMDM4RDAxKg0KK1gzOTQyMThZNTIyMjJEMDEqDQorWDM5NDQwMlk1MjQzOEQwMSoNCitYMzk0NTUwWTUyNjc5RDAxKg0KK1gzOTQ2NThZNTI5NDFEMDEqDQorWDM5NDcyNFk1MzIxN0QwMSoNCitYMzk0NzQxWTUzNDk5RDAxKg0KK1gzOTQ3MjRZNTM3ODFEMDEqDQorWDM5NDY1OFk1NDA1N0QwMSoNCitYMzk0NTUwWTU0MzE5RDAxKg0KK1gzOTQ0MDJZNTQ1NjBEMDEqDQorWDM5NDIxOFk1NDc3NkQwMSoNCitYMzk0MDAyWTU0OTYwRDAxKg0KK1gzOTM3NjFZNTUxMDhEMDEqDQorWDM5MzQ5OVk1NTIxNkQwMSoNCitYMzkzMjIzWTU1MjgyRDAxKg0KK1gzOTI5NDFZNTUzMDVEMDEqDQorWDM5MjY1OVk1NTI4MkQwMSoNCitYMzkyMzgzWTU1MjE2RDAxKg0KK1gzOTIxMjFZNTUxMDhEMDEqDQorWDM5MTg4MFk1NDk2MEQwMSoNCitYMzkxNjY0WTU0Nzc2RDAxKg0KK1gzOTE0ODBZNTQ1NjBEMDEqDQorWDM5MTQzOFk1NDQ5MkQwMSoNCitZNzI3NjlEMDEqDQorWDM5MTY1OVk3MjcxNkQwMSoNCitYMzkxOTQxWTcyNjkzRDAxKg0KK1gzOTIyMjNZNzI3MTZEMDEqDQorWDM5MjQ5OVk3Mjc4MkQwMSoNCitYMzkyNzYxWTcyODkwRDAxKg0KK1gzOTMwMDJZNzMwMzhEMDEqDQorWDM5MzIxOFk3MzIyMkQwMSoNCitYMzkzNDAyWTczNDM4RDAxKg0KK1gzOTM1NTBZNzM2NzlEMDEqDQorWDM5MzY1OFk3Mzk0MUQwMSoNCitYMzkzNzI0WTc0MjE3RDAxKg0KK1gzOTM3NDFZNzQ0OTlEMDEqDQorWDM5MzcyNFk3NDc4MUQwMSoNCitYMzkzNjU4WTc1MDU3RDAxKg0KK1gzOTM1NTBZNzUzMTlEMDEqDQorWDM5MzQwMlk3NTU2MEQwMSoNCitYMzkzMjE4WTc1Nzc2RDAxKg0KK1gzOTMwMDJZNzU5NjBEMDEqDQorWDM5Mjc2MVk3NjEwOEQwMSoNCitYMzkyNDk5WTc2MjE2RDAxKg0KK1gzOTIyMjNZNzYyODJEMDEqDQorWDM5MTk0MVk3NjMwNUQwMSoNCitYMzkxNjU5WTc2MjgyRDAxKg0KK1gzOTE0MzhZNzYyMjlEMDEqDQorWTc4MTk0RDAxKg0KK1gzOTE0NDFZNzgxOTNEMDEqDQorWDM5MTcyM1k3ODIxNkQwMSoNCitYMzkxOTk5WTc4MjgyRDAxKg0KK1gzOTIyNjFZNzgzOTBEMDEqDQorWDM5MjUwMlk3ODUzOEQwMSoNCitYMzkyNzE4WTc4NzIyRDAxKg0KK1gzOTI5MDJZNzg5MzhEMDEqDQorWDM5MzA1MFk3OTE3OUQwMSoNCitYMzkzMTU4WTc5NDQxRDAxKg0KK1gzOTMyMjRZNzk3MTdEMDEqDQorWDM5MzI0MVk3OTk5OUQwMSoNCitYMzkzMjI0WTgwMjgxRDAxKg0KK1gzOTMxNThZODA1NTdEMDEqDQorWDM5MzA1MFk4MDgxOUQwMSoNCitYMzkyOTAyWTgxMDYwRDAxKg0KK1gzOTI3MThZODEyNzZEMDEqDQorWDM5MjUwMlk4MTQ2MEQwMSoNCitYMzkyMjYxWTgxNjA4RDAxKg0KK1gzOTE5OTlZODE3MTZEMDEqDQorWDM5MTcyM1k4MTc4MkQwMSoNCitYMzkxNDQxWTgxODA1RDAxKg0KK1gzOTE0MzhZODE4MDREMDEqDQorWTgyNjk0RDAxKg0KK1gzOTE0NDFZODI2OTNEMDEqDQorWDM5MTcyM1k4MjcxNkQwMSoNCitYMzkxOTk5WTgyNzgyRDAxKg0KK1gzOTIyNjFZODI4OTBEMDEqDQorWDM5MjUwMlk4MzAzOEQwMSoNCitYMzkyNzE4WTgzMjIyRDAxKg0KK1gzOTI5MDJZODM0MzhEMDEqDQorWDM5MzA1MFk4MzY3OUQwMSoNCitYMzkzMTU4WTgzOTQxRDAxKg0KK1gzOTMyMjRZODQyMTdEMDEqDQorWDM5MzI0MVk4NDQ5OUQwMSoNCitYMzkzMjI0WTg0NzgxRDAxKg0KK1gzOTMxNThZODUwNTdEMDEqDQorWDM5MzA1MFk4NTMxOUQwMSoNCitYMzkyOTAyWTg1NTYwRDAxKg0KK1gzOTI3MThZODU3NzZEMDEqDQorWDM5MjUwMlk4NTk2MEQwMSoNCitYMzkyMjYxWTg2MTA4RDAxKg0KK1gzOTE5OTlZODYyMTZEMDEqDQorWDM5MTcyM1k4NjI4MkQwMSoNCitYMzkxNDQxWTg2MzA1RDAxKg0KK1gzOTE0MzhZODYzMDREMDEqDQorWTEzMjAwMEQwMSoNCitYMzk1NDM4RDAxKg0KK1k2ODgwNEQwMSoNCitYMzk1MTU5WTY4NzgyRDAxKg0KK1gzOTQ4ODNZNjg3MTZEMDEqDQorWDM5NDYyMVk2ODYwOEQwMSoNCitYMzk0MzgwWTY4NDYwRDAxKg0KK1gzOTQxNjRZNjgyNzZEMDEqDQorWDM5Mzk4MFk2ODA2MEQwMSoNCitYMzkzODMyWTY3ODE5RDAxKg0KK1gzOTM3MjRZNjc1NTdEMDEqDQorWDM5MzY1OFk2NzI4MUQwMSoNCitYMzkzNjM1WTY2OTk5RDAxKg0KK1gzOTM2NThZNjY3MTdEMDEqDQorWDM5MzcyNFk2NjQ0MUQwMSoNCitYMzkzODMyWTY2MTc5RDAxKg0KK1gzOTM5ODBZNjU5MzhEMDEqDQorWDM5NDE2NFk2NTcyMkQwMSoNCitYMzk0MzgwWTY1NTM4RDAxKg0KK1gzOTQ2MjFZNjUzOTBEMDEqDQorWDM5NDg4M1k2NTI4MkQwMSoNCitYMzk1MTU5WTY1MjE2RDAxKg0KK1gzOTU0MzhZNjUxOTREMDEqDQorWTYxNDk5RDAxKg0KK1gzOTUyNjFZNjE2MDhEMDEqDQorWDM5NDk5OVk2MTcxNkQwMSoNCitYMzk0NzIzWTYxNzgyRDAxKg0KK1gzOTQ0NDFZNjE4MDVEMDEqDQorWDM5NDE1OVk2MTc4MkQwMSoNCitYMzkzODgzWTYxNzE2RDAxKg0KK1gzOTM2MjFZNjE2MDhEMDEqDQorWDM5MzM4MFk2MTQ2MEQwMSoNCitYMzkzMTY0WTYxMjc2RDAxKg0KK1gzOTI5ODBZNjEwNjBEMDEqDQorWDM5MjgzMlk2MDgxOUQwMSoNCitYMzkyNzI0WTYwNTU3RDAxKg0KK1gzOTI2NThZNjAyODFEMDEqDQorWDM5MjYzNVk1OTk5OUQwMSoNCitYMzkyNjU4WTU5NzE3RDAxKg0KK1gzOTI3MjRZNTk0NDFEMDEqDQorWDM5MjgzMlk1OTE3OUQwMSoNCitYMzkyOTgwWTU4OTM4RDAxKg0KK1gzOTMxNjRZNTg3MjJEMDEqDQorWDM5MzM4MFk1ODUzOEQwMSoNCitYMzkzNjIxWTU4MzkwRDAxKg0KK1gzOTM4ODNZNTgyODJEMDEqDQorWDM5NDE1OVk1ODIxNkQwMSoNCitYMzk0NDQxWTU4MTkzRDAxKg0KK1gzOTQ3MjNZNTgyMTZEMDEqDQorWDM5NDk5OVk1ODI4MkQwMSoNCitYMzk1MjYxWTU4MzkwRDAxKg0KK1gzOTU0MzhZNTg0OTlEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM5MTQzOEQwMipYMzg3OTM4RDAxKg0KK1k5MTY5NEQwMSoNCitYMzg3OTQxWTkxNjkzRDAxKg0KK1gzODgyMjNZOTE3MTZEMDEqDQorWDM4ODQ5OVk5MTc4MkQwMSoNCitYMzg4NzYxWTkxODkwRDAxKg0KK1gzODkwMDJZOTIwMzhEMDEqDQorWDM4OTIxOFk5MjIyMkQwMSoNCitYMzg5NDAyWTkyNDM4RDAxKg0KK1gzODk1NTBZOTI2NzlEMDEqDQorWDM4OTY1OFk5Mjk0MUQwMSoNCitYMzg5NzI0WTkzMjE3RDAxKg0KK1gzODk3NDFZOTM0OTlEMDEqDQorWDM4OTcyNFk5Mzc4MUQwMSoNCitYMzg5NjU4WTk0MDU3RDAxKg0KK1gzODk1NTBZOTQzMTlEMDEqDQorWDM4OTQwMlk5NDU2MEQwMSoNCitYMzg5MjE4WTk0Nzc2RDAxKg0KK1gzODkwMDJZOTQ5NjBEMDEqDQorWDM4ODc2MVk5NTEwOEQwMSoNCitYMzg4NDk5WTk1MjE2RDAxKg0KK1gzODgyMjNZOTUyODJEMDEqDQorWDM4Nzk0MVk5NTMwNUQwMSoNCitYMzg3OTM4WTk1MzA0RDAxKg0KK1k5NjE5NEQwMSoNCitYMzg3OTQxWTk2MTkzRDAxKg0KK1gzODgyMjNZOTYyMTZEMDEqDQorWDM4ODQ5OVk5NjI4MkQwMSoNCitYMzg4NzYxWTk2MzkwRDAxKg0KK1gzODkwMDJZOTY1MzhEMDEqDQorWDM4OTIxOFk5NjcyMkQwMSoNCitYMzg5NDAyWTk2OTM4RDAxKg0KK1gzODk1NTBZOTcxNzlEMDEqDQorWDM4OTY1OFk5NzQ0MUQwMSoNCitYMzg5NzI0WTk3NzE3RDAxKg0KK1gzODk3NDFZOTc5OTlEMDEqDQorWDM4OTcyNFk5ODI4MUQwMSoNCitYMzg5NjU4WTk4NTU3RDAxKg0KK1gzODk1NTBZOTg4MTlEMDEqDQorWDM4OTQwMlk5OTA2MEQwMSoNCitYMzg5MjE4WTk5Mjc2RDAxKg0KK1gzODkwMDJZOTk0NjBEMDEqDQorWDM4ODc2MVk5OTYwOEQwMSoNCitYMzg4NDk5WTk5NzE2RDAxKg0KK1gzODgyMjNZOTk3ODJEMDEqDQorWDM4Nzk0MVk5OTgwNUQwMSoNCitYMzg3OTM4WTk5ODA0RDAxKg0KK1kxMDIxOTREMDEqDQorWDM4Nzk0MVkxMDIxOTNEMDEqDQorWDM4ODIyM1kxMDIyMTZEMDEqDQorWDM4ODQ5OVkxMDIyODJEMDEqDQorWDM4ODc2MVkxMDIzOTBEMDEqDQorWDM4OTAwMlkxMDI1MzhEMDEqDQorWDM4OTIxOFkxMDI3MjJEMDEqDQorWDM4OTQwMlkxMDI5MzhEMDEqDQorWDM4OTU1MFkxMDMxNzlEMDEqDQorWDM4OTY1OFkxMDM0NDFEMDEqDQorWDM4OTcyNFkxMDM3MTdEMDEqDQorWDM4OTc0MVkxMDM5OTlEMDEqDQorWDM4OTcyNFkxMDQyODFEMDEqDQorWDM4OTY1OFkxMDQ1NTdEMDEqDQorWDM4OTU1MFkxMDQ4MTlEMDEqDQorWDM4OTQwMlkxMDUwNjBEMDEqDQorWDM4OTIxOFkxMDUyNzZEMDEqDQorWDM4OTAwMlkxMDU0NjBEMDEqDQorWDM4ODc2MVkxMDU2MDhEMDEqDQorWDM4ODQ5OVkxMDU3MTZEMDEqDQorWDM4ODIyM1kxMDU3ODJEMDEqDQorWDM4Nzk0MVkxMDU4MDVEMDEqDQorWDM4NzkzOFkxMDU4MDREMDEqDQorWTEwODE5NEQwMSoNCitYMzg3OTQxWTEwODE5M0QwMSoNCitYMzg4MjIzWTEwODIxNkQwMSoNCitYMzg4NDk5WTEwODI4MkQwMSoNCitYMzg4NzYxWTEwODM5MEQwMSoNCitYMzg5MDAyWTEwODUzOEQwMSoNCitYMzg5MjE4WTEwODcyMkQwMSoNCitYMzg5NDAyWTEwODkzOEQwMSoNCitYMzg5NTUwWTEwOTE3OUQwMSoNCitYMzg5NjU4WTEwOTQ0MUQwMSoNCitYMzg5NzI0WTEwOTcxN0QwMSoNCitYMzg5NzQxWTEwOTk5OUQwMSoNCitYMzg5NzI0WTExMDI4MUQwMSoNCitYMzg5NjU4WTExMDU1N0QwMSoNCitYMzg5NTUwWTExMDgxOUQwMSoNCitYMzg5NDAyWTExMTA2MEQwMSoNCitYMzg5MjE4WTExMTI3NkQwMSoNCitYMzg5MDAyWTExMTQ2MEQwMSoNCitYMzg4NzYxWTExMTYwOEQwMSoNCitYMzg4NDk5WTExMTcxNkQwMSoNCitYMzg4MjIzWTExMTc4MkQwMSoNCitYMzg3OTQxWTExMTgwNUQwMSoNCitYMzg3OTM4WTExMTgwNEQwMSoNCitZMTE0MTk0RDAxKg0KK1gzODc5NDFZMTE0MTkzRDAxKg0KK1gzODgyMjNZMTE0MjE2RDAxKg0KK1gzODg0OTlZMTE0MjgyRDAxKg0KK1gzODg3NjFZMTE0MzkwRDAxKg0KK1gzODkwMDJZMTE0NTM4RDAxKg0KK1gzODkyMThZMTE0NzIyRDAxKg0KK1gzODk0MDJZMTE0OTM4RDAxKg0KK1gzODk1NTBZMTE1MTc5RDAxKg0KK1gzODk2NThZMTE1NDQxRDAxKg0KK1gzODk3MjRZMTE1NzE3RDAxKg0KK1gzODk3NDFZMTE1OTk5RDAxKg0KK1gzODk3MjRZMTE2MjgxRDAxKg0KK1gzODk2NThZMTE2NTU3RDAxKg0KK1gzODk1NTBZMTE2ODE5RDAxKg0KK1gzODk0MDJZMTE3MDYwRDAxKg0KK1gzODkyMThZMTE3Mjc2RDAxKg0KK1gzODkwMDJZMTE3NDYwRDAxKg0KK1gzODg3NjFZMTE3NjA4RDAxKg0KK1gzODg0OTlZMTE3NzE2RDAxKg0KK1gzODgyMjNZMTE3NzgyRDAxKg0KK1gzODc5NDFZMTE3ODA1RDAxKg0KK1gzODc5MzhZMTE3ODA0RDAxKg0KK1kxMjAxOTREMDEqDQorWDM4Nzk0MVkxMjAxOTNEMDEqDQorWDM4ODIyM1kxMjAyMTZEMDEqDQorWDM4ODQ5OVkxMjAyODJEMDEqDQorWDM4ODc2MVkxMjAzOTBEMDEqDQorWDM4OTAwMlkxMjA1MzhEMDEqDQorWDM4OTIxOFkxMjA3MjJEMDEqDQorWDM4OTQwMlkxMjA5MzhEMDEqDQorWDM4OTU1MFkxMjExNzlEMDEqDQorWDM4OTY1OFkxMjE0NDFEMDEqDQorWDM4OTcyNFkxMjE3MTdEMDEqDQorWDM4OTc0MVkxMjE5OTlEMDEqDQorWDM4OTcyNFkxMjIyODFEMDEqDQorWDM4OTY1OFkxMjI1NTdEMDEqDQorWDM4OTU1MFkxMjI4MTlEMDEqDQorWDM4OTQwMlkxMjMwNjBEMDEqDQorWDM4OTIxOFkxMjMyNzZEMDEqDQorWDM4OTAwMlkxMjM0NjBEMDEqDQorWDM4ODc2MVkxMjM2MDhEMDEqDQorWDM4ODQ5OVkxMjM3MTZEMDEqDQorWDM4ODIyM1kxMjM3ODJEMDEqDQorWDM4Nzk0MVkxMjM4MDVEMDEqDQorWDM4NzkzOFkxMjM4MDREMDEqDQorWTEyNjE5NEQwMSoNCitYMzg3OTQxWTEyNjE5M0QwMSoNCitYMzg4MjIzWTEyNjIxNkQwMSoNCitYMzg4NDk5WTEyNjI4MkQwMSoNCitYMzg4NzYxWTEyNjM5MEQwMSoNCitYMzg5MDAyWTEyNjUzOEQwMSoNCitYMzg5MjE4WTEyNjcyMkQwMSoNCitYMzg5NDAyWTEyNjkzOEQwMSoNCitYMzg5NTUwWTEyNzE3OUQwMSoNCitYMzg5NjU4WTEyNzQ0MUQwMSoNCitYMzg5NzI0WTEyNzcxN0QwMSoNCitYMzg5NzQxWTEyNzk5OUQwMSoNCitYMzg5NzI0WTEyODI4MUQwMSoNCitYMzg5NjU4WTEyODU1N0QwMSoNCitYMzg5NTUwWTEyODgxOUQwMSoNCitYMzg5NDAyWTEyOTA2MEQwMSoNCitYMzg5MjE4WTEyOTI3NkQwMSoNCitYMzg5MDAyWTEyOTQ2MEQwMSoNCitYMzg4NzYxWTEyOTYwOEQwMSoNCitYMzg4NDk5WTEyOTcxNkQwMSoNCitYMzg4MjIzWTEyOTc4MkQwMSoNCitYMzg3OTQxWTEyOTgwNUQwMSoNCitYMzg3OTM4WTEyOTgwNEQwMSoNCitZMTMyMDAwRDAxKg0KK1gzOTE0MzhEMDEqDQorWTg2MzA0RDAxKg0KK1gzOTExNTlZODYyODJEMDEqDQorWDM5MDg4M1k4NjIxNkQwMSoNCitYMzkwNjIxWTg2MTA4RDAxKg0KK1gzOTAzODBZODU5NjBEMDEqDQorWDM5MDE2NFk4NTc3NkQwMSoNCitYMzg5OTgwWTg1NTYwRDAxKg0KK1gzODk4MzJZODUzMTlEMDEqDQorWDM4OTcyNFk4NTA1N0QwMSoNCitYMzg5NjU4WTg0NzgxRDAxKg0KK1gzODk2MzVZODQ0OTlEMDEqDQorWDM4OTY1OFk4NDIxN0QwMSoNCitYMzg5NzI0WTgzOTQxRDAxKg0KK1gzODk4MzJZODM2NzlEMDEqDQorWDM4OTk4MFk4MzQzOEQwMSoNCitYMzkwMTY0WTgzMjIyRDAxKg0KK1gzOTAzODBZODMwMzhEMDEqDQorWDM5MDYyMVk4Mjg5MEQwMSoNCitYMzkwODgzWTgyNzgyRDAxKg0KK1gzOTExNTlZODI3MTZEMDEqDQorWDM5MTQzOFk4MjY5NEQwMSoNCitZODE4MDREMDEqDQorWDM5MTE1OVk4MTc4MkQwMSoNCitYMzkwODgzWTgxNzE2RDAxKg0KK1gzOTA2MjFZODE2MDhEMDEqDQorWDM5MDM4MFk4MTQ2MEQwMSoNCitYMzkwMTY0WTgxMjc2RDAxKg0KK1gzODk5ODBZODEwNjBEMDEqDQorWDM4OTgzMlk4MDgxOUQwMSoNCitYMzg5NzI0WTgwNTU3RDAxKg0KK1gzODk2NThZODAyODFEMDEqDQorWDM4OTYzNVk3OTk5OUQwMSoNCitYMzg5NjU4WTc5NzE3RDAxKg0KK1gzODk3MjRZNzk0NDFEMDEqDQorWDM4OTgzMlk3OTE3OUQwMSoNCitYMzg5OTgwWTc4OTM4RDAxKg0KK1gzOTAxNjRZNzg3MjJEMDEqDQorWDM5MDM4MFk3ODUzOEQwMSoNCitYMzkwNjIxWTc4MzkwRDAxKg0KK1gzOTA4ODNZNzgyODJEMDEqDQorWDM5MTE1OVk3ODIxNkQwMSoNCitYMzkxNDM4WTc4MTk0RDAxKg0KK1k3NjIyOUQwMSoNCitYMzkxMzgzWTc2MjE2RDAxKg0KK1gzOTExMjFZNzYxMDhEMDEqDQorWDM5MDg4MFk3NTk2MEQwMSoNCitYMzkwNjY0WTc1Nzc2RDAxKg0KK1gzOTA0ODBZNzU1NjBEMDEqDQorWDM5MDMzMlk3NTMxOUQwMSoNCitYMzkwMjI0WTc1MDU3RDAxKg0KK1gzOTAxNThZNzQ3ODFEMDEqDQorWDM5MDEzNVk3NDQ5OUQwMSoNCitYMzkwMTU4WTc0MjE3RDAxKg0KK1gzOTAyMjRZNzM5NDFEMDEqDQorWDM5MDMzMlk3MzY3OUQwMSoNCitYMzkwNDgwWTczNDM4RDAxKg0KK1gzOTA2NjRZNzMyMjJEMDEqDQorWDM5MDg4MFk3MzAzOEQwMSoNCitYMzkxMTIxWTcyODkwRDAxKg0KK1gzOTEzODNZNzI3ODJEMDEqDQorWDM5MTQzOFk3Mjc2OUQwMSoNCitZNTQ0OTJEMDEqDQorWDM5MTMzMlk1NDMxOUQwMSoNCitYMzkxMjI0WTU0MDU3RDAxKg0KK1gzOTExNThZNTM3ODFEMDEqDQorWDM5MTEzNVk1MzQ5OUQwMSoNCitYMzkxMTU4WTUzMjE3RDAxKg0KK1gzOTEyMjRZNTI5NDFEMDEqDQorWDM5MTMzMlk1MjY3OUQwMSoNCitYMzkxNDM4WTUyNTA2RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODc5MzhEMDIqWDM3NDkzOEQwMSoNCitZNDE2OTVEMDEqDQorWDM3NDk0MVk0MTY5NEQwMSoNCitYMzc1MjIzWTQxNzE3RDAxKg0KK1gzNzU0OTlZNDE3ODNEMDEqDQorWDM3NTc2MVk0MTg5MUQwMSoNCitYMzc2MDAyWTQyMDM5RDAxKg0KK1gzNzYyMThZNDIyMjNEMDEqDQorWDM3NjQwMlk0MjQzOUQwMSoNCitYMzc2NTUwWTQyNjgwRDAxKg0KK1gzNzY2NThZNDI5NDJEMDEqDQorWDM3NjcyNFk0MzIxOEQwMSoNCitYMzc2NzQxWTQzNTAwRDAxKg0KK1gzNzY3MjRZNDM3ODJEMDEqDQorWDM3NjY1OFk0NDA1OEQwMSoNCitYMzc2NTUwWTQ0MzIwRDAxKg0KK1gzNzY0MDJZNDQ1NjFEMDEqDQorWDM3NjIxOFk0NDc3N0QwMSoNCitYMzc2MDAyWTQ0OTYxRDAxKg0KK1gzNzU3NjFZNDUxMDlEMDEqDQorWDM3NTQ5OVk0NTIxN0QwMSoNCitYMzc1MzYyWTQ1MjUwRDAxKg0KK1gzNzU0OTlZNDUyODNEMDEqDQorWDM3NTc2MVk0NTM5MUQwMSoNCitYMzc2MDAyWTQ1NTM5RDAxKg0KK1gzNzYyMThZNDU3MjNEMDEqDQorWDM3NjQwMlk0NTkzOUQwMSoNCitYMzc2NTUwWTQ2MTgwRDAxKg0KK1gzNzY2NThZNDY0NDJEMDEqDQorWDM3NjcyNFk0NjcxOEQwMSoNCitYMzc2NzQxWTQ3MDAwRDAxKg0KK1gzNzY3MjRZNDcyODJEMDEqDQorWDM3NjY1OFk0NzU1OEQwMSoNCitYMzc2NTUwWTQ3ODIwRDAxKg0KK1gzNzY0MDJZNDgwNjFEMDEqDQorWDM3NjIxOFk0ODI3N0QwMSoNCitYMzc2MDAyWTQ4NDYxRDAxKg0KK1gzNzU3NjFZNDg2MDlEMDEqDQorWDM3NTQ5OVk0ODcxN0QwMSoNCitYMzc1MjIzWTQ4NzgzRDAxKg0KK1gzNzQ5NDFZNDg4MDZEMDEqDQorWDM3NDkzOFk0ODgwNUQwMSoNCitZMTMyMDAwRDAxKg0KK1gzODc5MzhEMDEqDQorWTEyOTgwNEQwMSoNCitYMzg3NjU5WTEyOTc4MkQwMSoNCitYMzg3MzgzWTEyOTcxNkQwMSoNCitYMzg3MTIxWTEyOTYwOEQwMSoNCitYMzg2ODgwWTEyOTQ2MEQwMSoNCitYMzg2NjY0WTEyOTI3NkQwMSoNCitYMzg2NDgwWTEyOTA2MEQwMSoNCitYMzg2MzMyWTEyODgxOUQwMSoNCitYMzg2MjI0WTEyODU1N0QwMSoNCitYMzg2MTU4WTEyODI4MUQwMSoNCitYMzg2MTM1WTEyNzk5OUQwMSoNCitYMzg2MTU4WTEyNzcxN0QwMSoNCitYMzg2MjI0WTEyNzQ0MUQwMSoNCitYMzg2MzMyWTEyNzE3OUQwMSoNCitYMzg2NDgwWTEyNjkzOEQwMSoNCitYMzg2NjY0WTEyNjcyMkQwMSoNCitYMzg2ODgwWTEyNjUzOEQwMSoNCitYMzg3MTIxWTEyNjM5MEQwMSoNCitYMzg3MzgzWTEyNjI4MkQwMSoNCitYMzg3NjU5WTEyNjIxNkQwMSoNCitYMzg3OTM4WTEyNjE5NEQwMSoNCitZMTIzODA0RDAxKg0KK1gzODc2NTlZMTIzNzgyRDAxKg0KK1gzODczODNZMTIzNzE2RDAxKg0KK1gzODcxMjFZMTIzNjA4RDAxKg0KK1gzODY4ODBZMTIzNDYwRDAxKg0KK1gzODY2NjRZMTIzMjc2RDAxKg0KK1gzODY0ODBZMTIzMDYwRDAxKg0KK1gzODYzMzJZMTIyODE5RDAxKg0KK1gzODYyMjRZMTIyNTU3RDAxKg0KK1gzODYxNThZMTIyMjgxRDAxKg0KK1gzODYxMzVZMTIxOTk5RDAxKg0KK1gzODYxNThZMTIxNzE3RDAxKg0KK1gzODYyMjRZMTIxNDQxRDAxKg0KK1gzODYzMzJZMTIxMTc5RDAxKg0KK1gzODY0ODBZMTIwOTM4RDAxKg0KK1gzODY2NjRZMTIwNzIyRDAxKg0KK1gzODY4ODBZMTIwNTM4RDAxKg0KK1gzODcxMjFZMTIwMzkwRDAxKg0KK1gzODczODNZMTIwMjgyRDAxKg0KK1gzODc2NTlZMTIwMjE2RDAxKg0KK1gzODc5MzhZMTIwMTk0RDAxKg0KK1kxMTc4MDREMDEqDQorWDM4NzY1OVkxMTc3ODJEMDEqDQorWDM4NzM4M1kxMTc3MTZEMDEqDQorWDM4NzEyMVkxMTc2MDhEMDEqDQorWDM4Njg4MFkxMTc0NjBEMDEqDQorWDM4NjY2NFkxMTcyNzZEMDEqDQorWDM4NjQ4MFkxMTcwNjBEMDEqDQorWDM4NjMzMlkxMTY4MTlEMDEqDQorWDM4NjIyNFkxMTY1NTdEMDEqDQorWDM4NjE1OFkxMTYyODFEMDEqDQorWDM4NjEzNVkxMTU5OTlEMDEqDQorWDM4NjE1OFkxMTU3MTdEMDEqDQorWDM4NjIyNFkxMTU0NDFEMDEqDQorWDM4NjMzMlkxMTUxNzlEMDEqDQorWDM4NjQ4MFkxMTQ5MzhEMDEqDQorWDM4NjY2NFkxMTQ3MjJEMDEqDQorWDM4Njg4MFkxMTQ1MzhEMDEqDQorWDM4NzEyMVkxMTQzOTBEMDEqDQorWDM4NzM4M1kxMTQyODJEMDEqDQorWDM4NzY1OVkxMTQyMTZEMDEqDQorWDM4NzkzOFkxMTQxOTREMDEqDQorWTExMTgwNEQwMSoNCitYMzg3NjU5WTExMTc4MkQwMSoNCitYMzg3MzgzWTExMTcxNkQwMSoNCitYMzg3MTIxWTExMTYwOEQwMSoNCitYMzg2ODgwWTExMTQ2MEQwMSoNCitYMzg2NjY0WTExMTI3NkQwMSoNCitYMzg2NDgwWTExMTA2MEQwMSoNCitYMzg2MzMyWTExMDgxOUQwMSoNCitYMzg2MjI0WTExMDU1N0QwMSoNCitYMzg2MTU4WTExMDI4MUQwMSoNCitYMzg2MTM1WTEwOTk5OUQwMSoNCitYMzg2MTU4WTEwOTcxN0QwMSoNCitYMzg2MjI0WTEwOTQ0MUQwMSoNCitYMzg2MzMyWTEwOTE3OUQwMSoNCitYMzg2NDgwWTEwODkzOEQwMSoNCitYMzg2NjY0WTEwODcyMkQwMSoNCitYMzg2ODgwWTEwODUzOEQwMSoNCitYMzg3MTIxWTEwODM5MEQwMSoNCitYMzg3MzgzWTEwODI4MkQwMSoNCitYMzg3NjU5WTEwODIxNkQwMSoNCitYMzg3OTM4WTEwODE5NEQwMSoNCitZMTA1ODA0RDAxKg0KK1gzODc2NTlZMTA1NzgyRDAxKg0KK1gzODczODNZMTA1NzE2RDAxKg0KK1gzODcxMjFZMTA1NjA4RDAxKg0KK1gzODY4ODBZMTA1NDYwRDAxKg0KK1gzODY2NjRZMTA1Mjc2RDAxKg0KK1gzODY0ODBZMTA1MDYwRDAxKg0KK1gzODYzMzJZMTA0ODE5RDAxKg0KK1gzODYyMjRZMTA0NTU3RDAxKg0KK1gzODYxNThZMTA0MjgxRDAxKg0KK1gzODYxMzVZMTAzOTk5RDAxKg0KK1gzODYxNThZMTAzNzE3RDAxKg0KK1gzODYyMjRZMTAzNDQxRDAxKg0KK1gzODYzMzJZMTAzMTc5RDAxKg0KK1gzODY0ODBZMTAyOTM4RDAxKg0KK1gzODY2NjRZMTAyNzIyRDAxKg0KK1gzODY4ODBZMTAyNTM4RDAxKg0KK1gzODcxMjFZMTAyMzkwRDAxKg0KK1gzODczODNZMTAyMjgyRDAxKg0KK1gzODc2NTlZMTAyMjE2RDAxKg0KK1gzODc5MzhZMTAyMTk0RDAxKg0KK1k5OTgwNEQwMSoNCitYMzg3NjU5WTk5NzgyRDAxKg0KK1gzODczODNZOTk3MTZEMDEqDQorWDM4NzEyMVk5OTYwOEQwMSoNCitYMzg2ODgwWTk5NDYwRDAxKg0KK1gzODY2NjRZOTkyNzZEMDEqDQorWDM4NjQ4MFk5OTA2MEQwMSoNCitYMzg2MzMyWTk4ODE5RDAxKg0KK1gzODYyMjRZOTg1NTdEMDEqDQorWDM4NjE1OFk5ODI4MUQwMSoNCitYMzg2MTM1WTk3OTk5RDAxKg0KK1gzODYxNThZOTc3MTdEMDEqDQorWDM4NjIyNFk5NzQ0MUQwMSoNCitYMzg2MzMyWTk3MTc5RDAxKg0KK1gzODY0ODBZOTY5MzhEMDEqDQorWDM4NjY2NFk5NjcyMkQwMSoNCitYMzg2ODgwWTk2NTM4RDAxKg0KK1gzODcxMjFZOTYzOTBEMDEqDQorWDM4NzM4M1k5NjI4MkQwMSoNCitYMzg3NjU5WTk2MjE2RDAxKg0KK1gzODc5MzhZOTYxOTREMDEqDQorWTk1MzA0RDAxKg0KK1gzODc2NTlZOTUyODJEMDEqDQorWDM4NzM4M1k5NTIxNkQwMSoNCitYMzg3MTIxWTk1MTA4RDAxKg0KK1gzODY4ODBZOTQ5NjBEMDEqDQorWDM4NjY2NFk5NDc3NkQwMSoNCitYMzg2NDgwWTk0NTYwRDAxKg0KK1gzODYzMzJZOTQzMTlEMDEqDQorWDM4NjIyNFk5NDA1N0QwMSoNCitYMzg2MTU4WTkzNzgxRDAxKg0KK1gzODYxMzVZOTM0OTlEMDEqDQorWDM4NjE1OFk5MzIxN0QwMSoNCitYMzg2MjI0WTkyOTQxRDAxKg0KK1gzODYzMzJZOTI2NzlEMDEqDQorWDM4NjQ4MFk5MjQzOEQwMSoNCitYMzg2NjY0WTkyMjIyRDAxKg0KK1gzODY4ODBZOTIwMzhEMDEqDQorWDM4NzEyMVk5MTg5MEQwMSoNCitYMzg3MzgzWTkxNzgyRDAxKg0KK1gzODc2NTlZOTE3MTZEMDEqDQorWDM4NzkzOFk5MTY5NEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzc0OTM4RDAyKlgzNjg5MzhEMDEqDQorWTQxNjk1RDAxKg0KK1gzNjg5NDFZNDE2OTREMDEqDQorWDM2OTIyM1k0MTcxN0QwMSoNCitYMzY5NDk5WTQxNzgzRDAxKg0KK1gzNjk3NjFZNDE4OTFEMDEqDQorWDM3MDAwMlk0MjAzOUQwMSoNCitYMzcwMjE4WTQyMjIzRDAxKg0KK1gzNzA0MDJZNDI0MzlEMDEqDQorWDM3MDU1MFk0MjY4MEQwMSoNCitYMzcwNjU4WTQyOTQyRDAxKg0KK1gzNzA3MjRZNDMyMThEMDEqDQorWDM3MDc0MVk0MzUwMEQwMSoNCitYMzcwNzI0WTQzNzgyRDAxKg0KK1gzNzA2NThZNDQwNThEMDEqDQorWDM3MDU1MFk0NDMyMEQwMSoNCitYMzcwNDAyWTQ0NTYxRDAxKg0KK1gzNzAyMThZNDQ3NzdEMDEqDQorWDM3MDAwMlk0NDk2MUQwMSoNCitYMzY5NzYxWTQ1MTA5RDAxKg0KK1gzNjk0OTlZNDUyMTdEMDEqDQorWDM2OTIyM1k0NTI4M0QwMSoNCitYMzY4OTQxWTQ1MzA2RDAxKg0KK1gzNjg5MzhZNDUzMDVEMDEqDQorWTQ2Njk1RDAxKg0KK1gzNjg5NDFZNDY2OTREMDEqDQorWDM2OTIyM1k0NjcxN0QwMSoNCitYMzY5NDk5WTQ2NzgzRDAxKg0KK1gzNjk3NjFZNDY4OTFEMDEqDQorWDM3MDAwMlk0NzAzOUQwMSoNCitYMzcwMjE4WTQ3MjIzRDAxKg0KK1gzNzA0MDJZNDc0MzlEMDEqDQorWDM3MDU1MFk0NzY4MEQwMSoNCitYMzcwNjU4WTQ3OTQyRDAxKg0KK1gzNzA3MjRZNDgyMThEMDEqDQorWDM3MDc0MVk0ODUwMEQwMSoNCitYMzcwNzI0WTQ4NzgyRDAxKg0KK1gzNzA2NThZNDkwNThEMDEqDQorWDM3MDU1MFk0OTMyMEQwMSoNCitYMzcwNDAyWTQ5NTYxRDAxKg0KK1gzNzAyMThZNDk3NzdEMDEqDQorWDM3MDAwMlk0OTk2MUQwMSoNCitYMzY5NzYxWTUwMTA5RDAxKg0KK1gzNjk0OTlZNTAyMTdEMDEqDQorWDM2OTIyM1k1MDI4M0QwMSoNCitYMzY4OTQxWTUwMzA2RDAxKg0KK1gzNjg5MzhZNTAzMDVEMDEqDQorWTEzMjAwMEQwMSoNCitYMzc0OTM4RDAxKg0KK1k0ODgwNUQwMSoNCitYMzc0NjU5WTQ4NzgzRDAxKg0KK1gzNzQzODNZNDg3MTdEMDEqDQorWDM3NDEyMVk0ODYwOUQwMSoNCitYMzczODgwWTQ4NDYxRDAxKg0KK1gzNzM2NjRZNDgyNzdEMDEqDQorWDM3MzQ4MFk0ODA2MUQwMSoNCitYMzczMzMyWTQ3ODIwRDAxKg0KK1gzNzMyMjRZNDc1NThEMDEqDQorWDM3MzE1OFk0NzI4MkQwMSoNCitYMzczMTM1WTQ3MDAwRDAxKg0KK1gzNzMxNThZNDY3MThEMDEqDQorWDM3MzIyNFk0NjQ0MkQwMSoNCitYMzczMzMyWTQ2MTgwRDAxKg0KK1gzNzM0ODBZNDU5MzlEMDEqDQorWDM3MzY2NFk0NTcyM0QwMSoNCitYMzczODgwWTQ1NTM5RDAxKg0KK1gzNzQxMjFZNDUzOTFEMDEqDQorWDM3NDM4M1k0NTI4M0QwMSoNCitYMzc0NTIwWTQ1MjUwRDAxKg0KK1gzNzQzODNZNDUyMTdEMDEqDQorWDM3NDEyMVk0NTEwOUQwMSoNCitYMzczODgwWTQ0OTYxRDAxKg0KK1gzNzM2NjRZNDQ3NzdEMDEqDQorWDM3MzQ4MFk0NDU2MUQwMSoNCitYMzczMzMyWTQ0MzIwRDAxKg0KK1gzNzMyMjRZNDQwNThEMDEqDQorWDM3MzE1OFk0Mzc4MkQwMSoNCitYMzczMTM1WTQzNTAwRDAxKg0KK1gzNzMxNThZNDMyMThEMDEqDQorWDM3MzIyNFk0Mjk0MkQwMSoNCitYMzczMzMyWTQyNjgwRDAxKg0KK1gzNzM0ODBZNDI0MzlEMDEqDQorWDM3MzY2NFk0MjIyM0QwMSoNCitYMzczODgwWTQyMDM5RDAxKg0KK1gzNzQxMjFZNDE4OTFEMDEqDQorWDM3NDM4M1k0MTc4M0QwMSoNCitYMzc0NjU5WTQxNzE3RDAxKg0KK1gzNzQ5MzhZNDE2OTVEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM2ODkzOEQwMipYMzU0OTM4RDAxKg0KK1k5MTY5NEQwMSoNCitYMzU0OTQxWTkxNjkzRDAxKg0KK1gzNTUyMjNZOTE3MTZEMDEqDQorWDM1NTQ5OVk5MTc4MkQwMSoNCitYMzU1NzYxWTkxODkwRDAxKg0KK1gzNTYwMDJZOTIwMzhEMDEqDQorWDM1NjIxOFk5MjIyMkQwMSoNCitYMzU2NDAyWTkyNDM4RDAxKg0KK1gzNTY1NTBZOTI2NzlEMDEqDQorWDM1NjY1OFk5Mjk0MUQwMSoNCitYMzU2NzI0WTkzMjE3RDAxKg0KK1gzNTY3NDFZOTM0OTlEMDEqDQorWDM1NjcyNFk5Mzc4MUQwMSoNCitYMzU2NjU4WTk0MDU3RDAxKg0KK1gzNTY1NTBZOTQzMTlEMDEqDQorWDM1NjQwMlk5NDU2MEQwMSoNCitYMzU2MjE4WTk0Nzc2RDAxKg0KK1gzNTYwMDJZOTQ5NjBEMDEqDQorWDM1NTc2MVk5NTEwOEQwMSoNCitYMzU1NDk5WTk1MjE2RDAxKg0KK1gzNTUyMjNZOTUyODJEMDEqDQorWDM1NDk0MVk5NTMwNUQwMSoNCitYMzU0OTM4WTk1MzA0RDAxKg0KK1k5NjE5NEQwMSoNCitYMzU0OTQxWTk2MTkzRDAxKg0KK1gzNTUyMjNZOTYyMTZEMDEqDQorWDM1NTQ5OVk5NjI4MkQwMSoNCitYMzU1NzYxWTk2MzkwRDAxKg0KK1gzNTYwMDJZOTY1MzhEMDEqDQorWDM1NjIxOFk5NjcyMkQwMSoNCitYMzU2NDAyWTk2OTM4RDAxKg0KK1gzNTY1NTBZOTcxNzlEMDEqDQorWDM1NjY1OFk5NzQ0MUQwMSoNCitYMzU2NzI0WTk3NzE3RDAxKg0KK1gzNTY3NDFZOTc5OTlEMDEqDQorWDM1NjcyNFk5ODI4MUQwMSoNCitYMzU2NjU4WTk4NTU3RDAxKg0KK1gzNTY1NTBZOTg4MTlEMDEqDQorWDM1NjQwMlk5OTA2MEQwMSoNCitYMzU2MjE4WTk5Mjc2RDAxKg0KK1gzNTYwMDJZOTk0NjBEMDEqDQorWDM1NTc2MVk5OTYwOEQwMSoNCitYMzU1NDk5WTk5NzE2RDAxKg0KK1gzNTUyMjNZOTk3ODJEMDEqDQorWDM1NDk0MVk5OTgwNUQwMSoNCitYMzU0OTM4WTk5ODA0RDAxKg0KK1kxMDIxOTREMDEqDQorWDM1NDk0MVkxMDIxOTNEMDEqDQorWDM1NTIyM1kxMDIyMTZEMDEqDQorWDM1NTQ5OVkxMDIyODJEMDEqDQorWDM1NTc2MVkxMDIzOTBEMDEqDQorWDM1NjAwMlkxMDI1MzhEMDEqDQorWDM1NjIxOFkxMDI3MjJEMDEqDQorWDM1NjQwMlkxMDI5MzhEMDEqDQorWDM1NjU1MFkxMDMxNzlEMDEqDQorWDM1NjY1OFkxMDM0NDFEMDEqDQorWDM1NjcyNFkxMDM3MTdEMDEqDQorWDM1Njc0MVkxMDM5OTlEMDEqDQorWDM1NjcyNFkxMDQyODFEMDEqDQorWDM1NjY1OFkxMDQ1NTdEMDEqDQorWDM1NjU1MFkxMDQ4MTlEMDEqDQorWDM1NjQwMlkxMDUwNjBEMDEqDQorWDM1NjIxOFkxMDUyNzZEMDEqDQorWDM1NjAwMlkxMDU0NjBEMDEqDQorWDM1NTc2MVkxMDU2MDhEMDEqDQorWDM1NTQ5OVkxMDU3MTZEMDEqDQorWDM1NTIyM1kxMDU3ODJEMDEqDQorWDM1NDk0MVkxMDU4MDVEMDEqDQorWDM1NDkzOFkxMDU4MDREMDEqDQorWTEwODE5NEQwMSoNCitYMzU0OTQxWTEwODE5M0QwMSoNCitYMzU1MjIzWTEwODIxNkQwMSoNCitYMzU1NDk5WTEwODI4MkQwMSoNCitYMzU1NzYxWTEwODM5MEQwMSoNCitYMzU2MDAyWTEwODUzOEQwMSoNCitYMzU2MjE4WTEwODcyMkQwMSoNCitYMzU2NDAyWTEwODkzOEQwMSoNCitYMzU2NTUwWTEwOTE3OUQwMSoNCitYMzU2NjU4WTEwOTQ0MUQwMSoNCitYMzU2NzI0WTEwOTcxN0QwMSoNCitYMzU2NzQxWTEwOTk5OUQwMSoNCitYMzU2NzI0WTExMDI4MUQwMSoNCitYMzU2NjU4WTExMDU1N0QwMSoNCitYMzU2NTUwWTExMDgxOUQwMSoNCitYMzU2NDAyWTExMTA2MEQwMSoNCitYMzU2MjE4WTExMTI3NkQwMSoNCitYMzU2MDAyWTExMTQ2MEQwMSoNCitYMzU1NzYxWTExMTYwOEQwMSoNCitYMzU1NDk5WTExMTcxNkQwMSoNCitYMzU1MjIzWTExMTc4MkQwMSoNCitYMzU0OTQxWTExMTgwNUQwMSoNCitYMzU0OTM4WTExMTgwNEQwMSoNCitZMTE0MTk0RDAxKg0KK1gzNTQ5NDFZMTE0MTkzRDAxKg0KK1gzNTUyMjNZMTE0MjE2RDAxKg0KK1gzNTU0OTlZMTE0MjgyRDAxKg0KK1gzNTU3NjFZMTE0MzkwRDAxKg0KK1gzNTYwMDJZMTE0NTM4RDAxKg0KK1gzNTYyMThZMTE0NzIyRDAxKg0KK1gzNTY0MDJZMTE0OTM4RDAxKg0KK1gzNTY1NTBZMTE1MTc5RDAxKg0KK1gzNTY2NThZMTE1NDQxRDAxKg0KK1gzNTY3MjRZMTE1NzE3RDAxKg0KK1gzNTY3NDFZMTE1OTk5RDAxKg0KK1gzNTY3MjRZMTE2MjgxRDAxKg0KK1gzNTY2NThZMTE2NTU3RDAxKg0KK1gzNTY1NTBZMTE2ODE5RDAxKg0KK1gzNTY0MDJZMTE3MDYwRDAxKg0KK1gzNTYyMThZMTE3Mjc2RDAxKg0KK1gzNTYwMDJZMTE3NDYwRDAxKg0KK1gzNTU3NjFZMTE3NjA4RDAxKg0KK1gzNTU0OTlZMTE3NzE2RDAxKg0KK1gzNTUyMjNZMTE3NzgyRDAxKg0KK1gzNTQ5NDFZMTE3ODA1RDAxKg0KK1gzNTQ5MzhZMTE3ODA0RDAxKg0KK1kxMjAxOTREMDEqDQorWDM1NDk0MVkxMjAxOTNEMDEqDQorWDM1NTIyM1kxMjAyMTZEMDEqDQorWDM1NTQ5OVkxMjAyODJEMDEqDQorWDM1NTc2MVkxMjAzOTBEMDEqDQorWDM1NjAwMlkxMjA1MzhEMDEqDQorWDM1NjIxOFkxMjA3MjJEMDEqDQorWDM1NjQwMlkxMjA5MzhEMDEqDQorWDM1NjU1MFkxMjExNzlEMDEqDQorWDM1NjY1OFkxMjE0NDFEMDEqDQorWDM1NjcyNFkxMjE3MTdEMDEqDQorWDM1Njc0MVkxMjE5OTlEMDEqDQorWDM1NjcyNFkxMjIyODFEMDEqDQorWDM1NjY1OFkxMjI1NTdEMDEqDQorWDM1NjU1MFkxMjI4MTlEMDEqDQorWDM1NjQwMlkxMjMwNjBEMDEqDQorWDM1NjIxOFkxMjMyNzZEMDEqDQorWDM1NjAwMlkxMjM0NjBEMDEqDQorWDM1NTc2MVkxMjM2MDhEMDEqDQorWDM1NTQ5OVkxMjM3MTZEMDEqDQorWDM1NTIyM1kxMjM3ODJEMDEqDQorWDM1NDk0MVkxMjM4MDVEMDEqDQorWDM1NDkzOFkxMjM4MDREMDEqDQorWTEyNjE5NEQwMSoNCitYMzU0OTQxWTEyNjE5M0QwMSoNCitYMzU1MjIzWTEyNjIxNkQwMSoNCitYMzU1NDk5WTEyNjI4MkQwMSoNCitYMzU1NzYxWTEyNjM5MEQwMSoNCitYMzU2MDAyWTEyNjUzOEQwMSoNCitYMzU2MjE4WTEyNjcyMkQwMSoNCitYMzU2NDAyWTEyNjkzOEQwMSoNCitYMzU2NTUwWTEyNzE3OUQwMSoNCitYMzU2NjU4WTEyNzQ0MUQwMSoNCitYMzU2NzI0WTEyNzcxN0QwMSoNCitYMzU2NzQxWTEyNzk5OUQwMSoNCitYMzU2NzI0WTEyODI4MUQwMSoNCitYMzU2NjU4WTEyODU1N0QwMSoNCitYMzU2NTUwWTEyODgxOUQwMSoNCitYMzU2NDAyWTEyOTA2MEQwMSoNCitYMzU2MjE4WTEyOTI3NkQwMSoNCitYMzU2MDAyWTEyOTQ2MEQwMSoNCitYMzU1NzYxWTEyOTYwOEQwMSoNCitYMzU1NDk5WTEyOTcxNkQwMSoNCitYMzU1MjIzWTEyOTc4MkQwMSoNCitYMzU0OTQxWTEyOTgwNUQwMSoNCitYMzU0OTM4WTEyOTgwNEQwMSoNCitZMTMyMDAwRDAxKg0KK1gzNjg5MzhEMDEqDQorWTUwMzA1RDAxKg0KK1gzNjg2NTlZNTAyODNEMDEqDQorWDM2ODM4M1k1MDIxN0QwMSoNCitYMzY4MTIxWTUwMTA5RDAxKg0KK1gzNjc4ODBZNDk5NjFEMDEqDQorWDM2NzY2NFk0OTc3N0QwMSoNCitYMzY3NDgwWTQ5NTYxRDAxKg0KK1gzNjczMzJZNDkzMjBEMDEqDQorWDM2NzIyNFk0OTA1OEQwMSoNCitYMzY3MTU4WTQ4NzgyRDAxKg0KK1gzNjcxMzVZNDg1MDBEMDEqDQorWDM2NzE1OFk0ODIxOEQwMSoNCitYMzY3MjI0WTQ3OTQyRDAxKg0KK1gzNjczMzJZNDc2ODBEMDEqDQorWDM2NzQ4MFk0NzQzOUQwMSoNCitYMzY3NjY0WTQ3MjIzRDAxKg0KK1gzNjc4ODBZNDcwMzlEMDEqDQorWDM2ODEyMVk0Njg5MUQwMSoNCitYMzY4MzgzWTQ2NzgzRDAxKg0KK1gzNjg2NTlZNDY3MTdEMDEqDQorWDM2ODkzOFk0NjY5NUQwMSoNCitZNDUzMDVEMDEqDQorWDM2ODY1OVk0NTI4M0QwMSoNCitYMzY4MzgzWTQ1MjE3RDAxKg0KK1gzNjgxMjFZNDUxMDlEMDEqDQorWDM2Nzg4MFk0NDk2MUQwMSoNCitYMzY3NjY0WTQ0Nzc3RDAxKg0KK1gzNjc0ODBZNDQ1NjFEMDEqDQorWDM2NzMzMlk0NDMyMEQwMSoNCitYMzY3MjI0WTQ0MDU4RDAxKg0KK1gzNjcxNThZNDM3ODJEMDEqDQorWDM2NzEzNVk0MzUwMEQwMSoNCitYMzY3MTU4WTQzMjE4RDAxKg0KK1gzNjcyMjRZNDI5NDJEMDEqDQorWDM2NzMzMlk0MjY4MEQwMSoNCitYMzY3NDgwWTQyNDM5RDAxKg0KK1gzNjc2NjRZNDIyMjNEMDEqDQorWDM2Nzg4MFk0MjAzOUQwMSoNCitYMzY4MTIxWTQxODkxRDAxKg0KK1gzNjgzODNZNDE3ODNEMDEqDQorWDM2ODY1OVk0MTcxN0QwMSoNCitYMzY4OTM4WTQxNjk1RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNTQ5MzhEMDIqWDI5OTI3M0QwMSoNCitZNDI4NjdEMDEqDQorWDI5OTM3NFk0MjkwOUQwMSoNCitYMjk5NTc1WTQzMDMzRDAxKg0KK1gyOTk3NTVZNDMxODZEMDEqDQorWDI5OTkwOFk0MzM2NkQwMSoNCitYMzAwMDMyWTQzNTY3RDAxKg0KK1gzMDAxMjJZNDM3ODVEMDEqDQorWDMwMDE3N1k0NDAxNUQwMSoNCitYMzAwMTkxWTQ0MjUwRDAxKg0KK1gzMDAxNzdZNTA5ODVEMDEqDQorWDMwMDEyMlk1MTIxNUQwMSoNCitYMzAwMDMyWTUxNDMzRDAxKg0KK1gyOTk5MDhZNTE2MzREMDEqDQorWDI5OTc1NVk1MTgxNEQwMSoNCitYMjk5NTc1WTUxOTY3RDAxKg0KK1gyOTkzNzRZNTIwOTFEMDEqDQorWDI5OTI3M1k1MjEzM0QwMSoNCitZNTUxNzBEMDEqDQorWDI5OTM4NFk1NTIwNEQwMSoNCitYMjk5NDkxWTU1MjU2RDAxKg0KK1gyOTk1ODdZNTUzMjNEMDEqDQorWDI5OTY3Mlk1NTQwNUQwMSoNCitYMjk5NzQzWTU1NTAwRDAxKg0KK1gyOTk3OTdZNTU2MDVEMDEqDQorWDI5OTk1Nlk1NjAwOEQwMSoNCitYMzAwMDczWTU2NDI1RDAxKg0KK1gzMDAxNTJZNTY4NTJEMDEqDQorWDMwMDE5MVk1NzI4M0QwMSoNCitZNTc3MTdEMDEqDQorWDMwMDE1Mlk1ODE0OEQwMSoNCitYMzAwMDczWTU4NTc1RDAxKg0KK1gyOTk5NTZZNTg5OTJEMDEqDQorWDI5OTgwMVk1OTM5N0QwMSoNCitYMjk5NzQ2WTU5NTAyRDAxKg0KK1gyOTk2NzVZNTk1OTdEMDEqDQorWDI5OTU4OVk1OTY3OUQwMSoNCitYMjk5NDkyWTU5NzQ3RDAxKg0KK1gyOTkzODZZNTk3OTlEMDEqDQorWDI5OTI3M1k1OTgzNEQwMSoNCitZNjQ2NzNEMDEqDQorWDI5OTI5Nlk2NDY5OUQwMSoNCitYMjk5Njg2WTY1MzM3RDAxKg0KK1gyOTk5NzJZNjYwMjhEMDEqDQorWDMwMDE0N1k2Njc1NUQwMSoNCitYMzAwMTkxWTY3NTAwRDAxKg0KK1gzMDAxNDdZNjgyNDVEMDEqDQorWDI5OTk3Mlk2ODk3MkQwMSoNCitYMjk5Njg2WTY5NjYzRDAxKg0KK1gyOTkyOTZZNzAzMDFEMDEqDQorWDI5OTI3M1k3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorWDMyODQ0MUQwMSoNCitZMTMyMDAwRDAxKg0KK1gzNTQ5MzhEMDEqDQorWTEyOTgwNEQwMSoNCitYMzU0NjU5WTEyOTc4MkQwMSoNCitYMzU0MzgzWTEyOTcxNkQwMSoNCitYMzU0MTIxWTEyOTYwOEQwMSoNCitYMzUzODgwWTEyOTQ2MEQwMSoNCitYMzUzNjY0WTEyOTI3NkQwMSoNCitYMzUzNDgwWTEyOTA2MEQwMSoNCitYMzUzMzMyWTEyODgxOUQwMSoNCitYMzUzMjI0WTEyODU1N0QwMSoNCitYMzUzMTU4WTEyODI4MUQwMSoNCitYMzUzMTM1WTEyNzk5OUQwMSoNCitYMzUzMTU4WTEyNzcxN0QwMSoNCitYMzUzMjI0WTEyNzQ0MUQwMSoNCitYMzUzMzMyWTEyNzE3OUQwMSoNCitYMzUzNDgwWTEyNjkzOEQwMSoNCitYMzUzNjY0WTEyNjcyMkQwMSoNCitYMzUzODgwWTEyNjUzOEQwMSoNCitYMzU0MTIxWTEyNjM5MEQwMSoNCitYMzU0MzgzWTEyNjI4MkQwMSoNCitYMzU0NjU5WTEyNjIxNkQwMSoNCitYMzU0OTM4WTEyNjE5NEQwMSoNCitZMTIzODA0RDAxKg0KK1gzNTQ2NTlZMTIzNzgyRDAxKg0KK1gzNTQzODNZMTIzNzE2RDAxKg0KK1gzNTQxMjFZMTIzNjA4RDAxKg0KK1gzNTM4ODBZMTIzNDYwRDAxKg0KK1gzNTM2NjRZMTIzMjc2RDAxKg0KK1gzNTM0ODBZMTIzMDYwRDAxKg0KK1gzNTMzMzJZMTIyODE5RDAxKg0KK1gzNTMyMjRZMTIyNTU3RDAxKg0KK1gzNTMxNThZMTIyMjgxRDAxKg0KK1gzNTMxMzVZMTIxOTk5RDAxKg0KK1gzNTMxNThZMTIxNzE3RDAxKg0KK1gzNTMyMjRZMTIxNDQxRDAxKg0KK1gzNTMzMzJZMTIxMTc5RDAxKg0KK1gzNTM0ODBZMTIwOTM4RDAxKg0KK1gzNTM2NjRZMTIwNzIyRDAxKg0KK1gzNTM4ODBZMTIwNTM4RDAxKg0KK1gzNTQxMjFZMTIwMzkwRDAxKg0KK1gzNTQzODNZMTIwMjgyRDAxKg0KK1gzNTQ2NTlZMTIwMjE2RDAxKg0KK1gzNTQ5MzhZMTIwMTk0RDAxKg0KK1kxMTc4MDREMDEqDQorWDM1NDY1OVkxMTc3ODJEMDEqDQorWDM1NDM4M1kxMTc3MTZEMDEqDQorWDM1NDEyMVkxMTc2MDhEMDEqDQorWDM1Mzg4MFkxMTc0NjBEMDEqDQorWDM1MzY2NFkxMTcyNzZEMDEqDQorWDM1MzQ4MFkxMTcwNjBEMDEqDQorWDM1MzMzMlkxMTY4MTlEMDEqDQorWDM1MzIyNFkxMTY1NTdEMDEqDQorWDM1MzE1OFkxMTYyODFEMDEqDQorWDM1MzEzNVkxMTU5OTlEMDEqDQorWDM1MzE1OFkxMTU3MTdEMDEqDQorWDM1MzIyNFkxMTU0NDFEMDEqDQorWDM1MzMzMlkxMTUxNzlEMDEqDQorWDM1MzQ4MFkxMTQ5MzhEMDEqDQorWDM1MzY2NFkxMTQ3MjJEMDEqDQorWDM1Mzg4MFkxMTQ1MzhEMDEqDQorWDM1NDEyMVkxMTQzOTBEMDEqDQorWDM1NDM4M1kxMTQyODJEMDEqDQorWDM1NDY1OVkxMTQyMTZEMDEqDQorWDM1NDkzOFkxMTQxOTREMDEqDQorWTExMTgwNEQwMSoNCitYMzU0NjU5WTExMTc4MkQwMSoNCitYMzU0MzgzWTExMTcxNkQwMSoNCitYMzU0MTIxWTExMTYwOEQwMSoNCitYMzUzODgwWTExMTQ2MEQwMSoNCitYMzUzNjY0WTExMTI3NkQwMSoNCitYMzUzNDgwWTExMTA2MEQwMSoNCitYMzUzMzMyWTExMDgxOUQwMSoNCitYMzUzMjI0WTExMDU1N0QwMSoNCitYMzUzMTU4WTExMDI4MUQwMSoNCitYMzUzMTM1WTEwOTk5OUQwMSoNCitYMzUzMTU4WTEwOTcxN0QwMSoNCitYMzUzMjI0WTEwOTQ0MUQwMSoNCitYMzUzMzMyWTEwOTE3OUQwMSoNCitYMzUzNDgwWTEwODkzOEQwMSoNCitYMzUzNjY0WTEwODcyMkQwMSoNCitYMzUzODgwWTEwODUzOEQwMSoNCitYMzU0MTIxWTEwODM5MEQwMSoNCitYMzU0MzgzWTEwODI4MkQwMSoNCitYMzU0NjU5WTEwODIxNkQwMSoNCitYMzU0OTM4WTEwODE5NEQwMSoNCitZMTA1ODA0RDAxKg0KK1gzNTQ2NTlZMTA1NzgyRDAxKg0KK1gzNTQzODNZMTA1NzE2RDAxKg0KK1gzNTQxMjFZMTA1NjA4RDAxKg0KK1gzNTM4ODBZMTA1NDYwRDAxKg0KK1gzNTM2NjRZMTA1Mjc2RDAxKg0KK1gzNTM0ODBZMTA1MDYwRDAxKg0KK1gzNTMzMzJZMTA0ODE5RDAxKg0KK1gzNTMyMjRZMTA0NTU3RDAxKg0KK1gzNTMxNThZMTA0MjgxRDAxKg0KK1gzNTMxMzVZMTAzOTk5RDAxKg0KK1gzNTMxNThZMTAzNzE3RDAxKg0KK1gzNTMyMjRZMTAzNDQxRDAxKg0KK1gzNTMzMzJZMTAzMTc5RDAxKg0KK1gzNTM0ODBZMTAyOTM4RDAxKg0KK1gzNTM2NjRZMTAyNzIyRDAxKg0KK1gzNTM4ODBZMTAyNTM4RDAxKg0KK1gzNTQxMjFZMTAyMzkwRDAxKg0KK1gzNTQzODNZMTAyMjgyRDAxKg0KK1gzNTQ2NTlZMTAyMjE2RDAxKg0KK1gzNTQ5MzhZMTAyMTk0RDAxKg0KK1k5OTgwNEQwMSoNCitYMzU0NjU5WTk5NzgyRDAxKg0KK1gzNTQzODNZOTk3MTZEMDEqDQorWDM1NDEyMVk5OTYwOEQwMSoNCitYMzUzODgwWTk5NDYwRDAxKg0KK1gzNTM2NjRZOTkyNzZEMDEqDQorWDM1MzQ4MFk5OTA2MEQwMSoNCitYMzUzMzMyWTk4ODE5RDAxKg0KK1gzNTMyMjRZOTg1NTdEMDEqDQorWDM1MzE1OFk5ODI4MUQwMSoNCitYMzUzMTM1WTk3OTk5RDAxKg0KK1gzNTMxNThZOTc3MTdEMDEqDQorWDM1MzIyNFk5NzQ0MUQwMSoNCitYMzUzMzMyWTk3MTc5RDAxKg0KK1gzNTM0ODBZOTY5MzhEMDEqDQorWDM1MzY2NFk5NjcyMkQwMSoNCitYMzUzODgwWTk2NTM4RDAxKg0KK1gzNTQxMjFZOTYzOTBEMDEqDQorWDM1NDM4M1k5NjI4MkQwMSoNCitYMzU0NjU5WTk2MjE2RDAxKg0KK1gzNTQ5MzhZOTYxOTREMDEqDQorWTk1MzA0RDAxKg0KK1gzNTQ2NTlZOTUyODJEMDEqDQorWDM1NDM4M1k5NTIxNkQwMSoNCitYMzU0MTIxWTk1MTA4RDAxKg0KK1gzNTM4ODBZOTQ5NjBEMDEqDQorWDM1MzY2NFk5NDc3NkQwMSoNCitYMzUzNDgwWTk0NTYwRDAxKg0KK1gzNTMzMzJZOTQzMTlEMDEqDQorWDM1MzIyNFk5NDA1N0QwMSoNCitYMzUzMTU4WTkzNzgxRDAxKg0KK1gzNTMxMzVZOTM0OTlEMDEqDQorWDM1MzE1OFk5MzIxN0QwMSoNCitYMzUzMjI0WTkyOTQxRDAxKg0KK1gzNTMzMzJZOTI2NzlEMDEqDQorWDM1MzQ4MFk5MjQzOEQwMSoNCitYMzUzNjY0WTkyMjIyRDAxKg0KK1gzNTM4ODBZOTIwMzhEMDEqDQorWDM1NDEyMVk5MTg5MEQwMSoNCitYMzU0MzgzWTkxNzgyRDAxKg0KK1gzNTQ2NTlZOTE3MTZEMDEqDQorWDM1NDkzOFk5MTY5NEQwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjk5MjczWTcwMzI3RDAyKlgyOTg4MTBZNzA4NjlEMDEqDQorWDI5ODI0Mlk3MTM1NUQwMSoNCitYMjk3NjA0WTcxNzQ1RDAxKg0KK1gyOTY5MTNZNzIwMzFEMDEqDQorWDI5NjE4Nlk3MjIwNkQwMSoNCitYMjk1NDQxWTcyMjY1RDAxKg0KK1k3MjUwMEQwMSoNCitYMjk5MjczRDAxKg0KK1k3MDMyN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k1MjEzM0QwMipYMjk5MTU2WTUyMTgxRDAxKg0KK1gyOTg5MjZZNTIyMzZEMDEqDQorWDI5ODY5MVk1MjI1MEQwMSoNCitYMjk1NDQxWTUyMjQzRDAxKg0KK1k1Mjc1MEQwMSoNCitYMjk1NjU4RDAxKg0KK1gyOTYwODlZNTI3ODlEMDEqDQorWDI5NjUxNlk1Mjg2OEQwMSoNCitYMjk2OTMzWTUyOTg1RDAxKg0KK1gyOTczMzhZNTMxNDBEMDEqDQorWDI5NzQ0M1k1MzE5NUQwMSoNCitYMjk3NTM4WTUzMjY2RDAxKg0KK1gyOTc2MjBZNTMzNTJEMDEqDQorWDI5NzY4OFk1MzQ0OUQwMSoNCitYMjk3NzQwWTUzNTU1RDAxKg0KK1gyOTc3NzVZNTM2NjlEMDEqDQorWDI5Nzc5MVk1Mzc4NkQwMSoNCitYMjk3Nzg5WTUzOTA1RDAxKg0KK1gyOTc3NjhZNTQwMjJEMDEqDQorWDI5NzczMFk1NDEzNEQwMSoNCitYMjk3Njc0WTU0MjM4RDAxKg0KK1gyOTc2MDNZNTQzMzNEMDEqDQorWDI5NzUxN1k1NDQxNUQwMSoNCitYMjk3NDIwWTU0NDgzRDAxKg0KK1gyOTczMTRZNTQ1MzVEMDEqDQorWDI5NzIwMFk1NDU3MEQwMSoNCitYMjk3MDgzWTU0NTg2RDAxKg0KK1gyOTY5NjRZNTQ1ODREMDEqDQorWDI5Njg0OFk1NDU2NEQwMSoNCitYMjk2NzM2WTU0NTIzRDAxKg0KK1gyOTY0NjFZNTQ0MTREMDEqDQorWDI5NjE3Nlk1NDMzNEQwMSoNCitYMjk1ODg0WTU0MjgwRDAxKg0KK1gyOTU1ODlZNTQyNTNEMDEqDQorWDI5NTQ0MUQwMSoNCitZNjA3NDdEMDEqDQorWDI5NTU4OUQwMSoNCitYMjk1ODg0WTYwNzIwRDAxKg0KK1gyOTYxNzZZNjA2NjZEMDEqDQorWDI5NjQ2MVk2MDU4NkQwMSoNCitYMjk2NzM4WTYwNDgwRDAxKg0KK1gyOTY4NDhZNjA0NDBEMDEqDQorWDI5Njk2NVk2MDQxOUQwMSoNCitYMjk3MDgzWTYwNDE3RDAxKg0KK1gyOTcyMDBZNjA0MzNEMDEqDQorWDI5NzMxMlk2MDQ2OEQwMSoNCitYMjk3NDE5WTYwNTIwRDAxKg0KK1gyOTc1MTVZNjA1ODdEMDEqDQorWDI5NzYwMFk2MDY2OUQwMSoNCitYMjk3NjcxWTYwNzYzRDAxKg0KK1gyOTc3MjdZNjA4NjhEMDEqDQorWDI5Nzc2NVk2MDk3OUQwMSoNCitYMjk3Nzg2WTYxMDk2RDAxKg0KK1gyOTc3ODhZNjEyMTREMDEqDQorWDI5Nzc3MVk2MTMzMEQwMSoNCitYMjk3NzM3WTYxNDQzRDAxKg0KK1gyOTc2ODVZNjE1NTBEMDEqDQorWDI5NzYxOFk2MTY0NkQwMSoNCitYMjk3NTM2WTYxNzMxRDAxKg0KK1gyOTc0NDFZNjE4MDJEMDEqDQorWDI5NzMzNlk2MTg1NkQwMSoNCitYMjk2OTMzWTYyMDE1RDAxKg0KK1gyOTY1MTZZNjIxMzJEMDEqDQorWDI5NjA4OVk2MjIxMUQwMSoNCitYMjk1NjU4WTYyMjUwRDAxKg0KK1gyOTU0NDFEMDEqDQorWTYyNzM1RDAxKg0KK1gyOTYxODZZNjI3OTREMDEqDQorWDI5NjkxM1k2Mjk2OUQwMSoNCitYMjk3NjA0WTYzMjU1RDAxKg0KK1gyOTgyNDJZNjM2NDVEMDEqDQorWDI5ODgxMFk2NDEzMUQwMSoNCitYMjk5MjczWTY0NjczRDAxKg0KK1k1OTgzNEQwMSoNCitYMjk5MjcyWTU5ODM0RDAxKg0KK1gyOTkxNTVZNTk4NTBEMDEqDQorWDI5OTAzNlk1OTg0OEQwMSoNCitYMjk4OTE5WTU5ODI3RDAxKg0KK1gyOTg4MDdZNTk3ODlEMDEqDQorWDI5ODcwM1k1OTczM0QwMSoNCitYMjk4NjA4WTU5NjYyRDAxKg0KK1gyOTg1MjZZNTk1NzZEMDEqDQorWDI5ODQ1OFk1OTQ3OUQwMSoNCitYMjk4NDA2WTU5MzczRDAxKg0KK1gyOTgzNzFZNTkyNTlEMDEqDQorWDI5ODM1NVk1OTE0MkQwMSoNCitYMjk4MzU3WTU5MDIzRDAxKg0KK1gyOTgzNzdZNTg5MDdEMDEqDQorWDI5ODQxOFk1ODc5NUQwMSoNCitYMjk4NTI3WTU4NTIwRDAxKg0KK1gyOTg2MDdZNTgyMzVEMDEqDQorWDI5ODY2MVk1Nzk0M0QwMSoNCitYMjk4Njg4WTU3NjQ4RDAxKg0KK1k1NzM1MkQwMSoNCitYMjk4NjYxWTU3MDU3RDAxKg0KK1gyOTg2MDdZNTY3NjVEMDEqDQorWDI5ODUyN1k1NjQ4MEQwMSoNCitYMjk4NDIxWTU2MjAzRDAxKg0KK1gyOTgzODFZNTYwOTNEMDEqDQorWDI5ODM2MFk1NTk3NkQwMSoNCitYMjk4MzU4WTU1ODU4RDAxKg0KK1gyOTgzNzRZNTU3NDFEMDEqDQorWDI5ODQwOVk1NTYyOUQwMSoNCitYMjk4NDYxWTU1NTIyRDAxKg0KK1gyOTg1MjhZNTU0MjZEMDEqDQorWDI5ODYxMFk1NTM0MUQwMSoNCitYMjk4NzA0WTU1MjcwRDAxKg0KK1gyOTg4MDlZNTUyMTREMDEqDQorWDI5ODkyMFk1NTE3NkQwMSoNCitYMjk5MDM3WTU1MTU1RDAxKg0KK1gyOTkxNTVZNTUxNTNEMDEqDQorWDI5OTI3MVk1NTE3MEQwMSoNCitYMjk5MjczWTU1MTcwRDAxKg0KK1k1MjEzM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYMjk1NDQxRDAxKg0KK1k0Mjc1N0QwMSoNCitYMjk4OTI2WTQyNzY0RDAxKg0KK1gyOTkxNTZZNDI4MTlEMDEqDQorWDI5OTI3M1k0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjkxNjA5WTY0NjczRDAyKlgyOTIwNzJZNjQxMzFEMDEqDQorWDI5MjY0MFk2MzY0NUQwMSoNCitYMjkzMjc4WTYzMjU1RDAxKg0KK1gyOTM5NjlZNjI5NjlEMDEqDQorWDI5NDY5Nlk2Mjc5NEQwMSoNCitYMjk1NDQxWTYyNzM1RDAxKg0KK1k2MjI1MEQwMSoNCitYMjk1MjI0RDAxKg0KK1gyOTQ3OTNZNjIyMTFEMDEqDQorWDI5NDM2Nlk2MjEzMkQwMSoNCitYMjkzOTQ5WTYyMDE1RDAxKg0KK1gyOTM1NDRZNjE4NjBEMDEqDQorWDI5MzQzOVk2MTgwNUQwMSoNCitYMjkzMzQ0WTYxNzM0RDAxKg0KK1gyOTMyNjJZNjE2NDhEMDEqDQorWDI5MzE5NFk2MTU1MUQwMSoNCitYMjkzMTQyWTYxNDQ1RDAxKg0KK1gyOTMxMDdZNjEzMzFEMDEqDQorWDI5MzA5MVk2MTIxNEQwMSoNCitYMjkzMDkzWTYxMDk1RDAxKg0KK1gyOTMxMTRZNjA5NzhEMDEqDQorWDI5MzE1Mlk2MDg2NkQwMSoNCitYMjkzMjA4WTYwNzYyRDAxKg0KK1gyOTMyNzlZNjA2NjdEMDEqDQorWDI5MzM2NVk2MDU4NUQwMSoNCitYMjkzNDYyWTYwNTE3RDAxKg0KK1gyOTM1NjhZNjA0NjVEMDEqDQorWDI5MzY4Mlk2MDQzMEQwMSoNCitYMjkzNzk5WTYwNDE0RDAxKg0KK1gyOTM5MThZNjA0MTZEMDEqDQorWDI5NDAzNFk2MDQzNkQwMSoNCitYMjk0MTQ2WTYwNDc3RDAxKg0KK1gyOTQ0MjFZNjA1ODZEMDEqDQorWDI5NDcwNlk2MDY2NkQwMSoNCitYMjk0OTk4WTYwNzIwRDAxKg0KK1gyOTUyOTNZNjA3NDdEMDEqDQorWDI5NTQ0MUQwMSoNCitZNTQyNTNEMDEqDQorWDI5NTI5M0QwMSoNCitYMjk0OTk4WTU0MjgwRDAxKg0KK1gyOTQ3MDZZNTQzMzREMDEqDQorWDI5NDQyMVk1NDQxNEQwMSoNCitYMjk0MTQ0WTU0NTIwRDAxKg0KK1gyOTQwMzRZNTQ1NjBEMDEqDQorWDI5MzkxN1k1NDU4MUQwMSoNCitYMjkzNzk5WTU0NTgzRDAxKg0KK1gyOTM2ODJZNTQ1NjdEMDEqDQorWDI5MzU3MFk1NDUzMkQwMSoNCitYMjkzNDYzWTU0NDgwRDAxKg0KK1gyOTMzNjdZNTQ0MTNEMDEqDQorWDI5MzI4Mlk1NDMzMUQwMSoNCitYMjkzMjExWTU0MjM3RDAxKg0KK1gyOTMxNTVZNTQxMzJEMDEqDQorWDI5MzExN1k1NDAyMUQwMSoNCitYMjkzMDk2WTUzOTA0RDAxKg0KK1gyOTMwOTRZNTM3ODZEMDEqDQorWDI5MzExMVk1MzY3MEQwMSoNCitYMjkzMTQ1WTUzNTU3RDAxKg0KK1gyOTMxOTdZNTM0NTBEMDEqDQorWDI5MzI2NFk1MzM1NEQwMSoNCitYMjkzMzQ2WTUzMjY5RDAxKg0KK1gyOTM0NDFZNTMxOThEMDEqDQorWDI5MzU0Nlk1MzE0NEQwMSoNCitYMjkzOTQ5WTUyOTg1RDAxKg0KK1gyOTQzNjZZNTI4NjhEMDEqDQorWDI5NDc5M1k1Mjc4OUQwMSoNCitYMjk1MjI0WTUyNzUwRDAxKg0KK1gyOTU0NDFEMDEqDQorWTUyMjQzRDAxKg0KK1gyOTE5NTZZNTIyMzZEMDEqDQorWDI5MTcyNlk1MjE4MUQwMSoNCitYMjkxNjA5WTUyMTMzRDAxKg0KK1k1NTE2NkQwMSoNCitYMjkxNjEwWTU1MTY2RDAxKg0KK1gyOTE3MjdZNTUxNTBEMDEqDQorWDI5MTg0Nlk1NTE1MkQwMSoNCitYMjkxOTYzWTU1MTczRDAxKg0KK1gyOTIwNzVZNTUyMTFEMDEqDQorWDI5MjE3OVk1NTI2N0QwMSoNCitYMjkyMjc0WTU1MzM4RDAxKg0KK1gyOTIzNTZZNTU0MjREMDEqDQorWDI5MjQyNFk1NTUyMUQwMSoNCitYMjkyNDc2WTU1NjI3RDAxKg0KK1gyOTI1MTFZNTU3NDFEMDEqDQorWDI5MjUyN1k1NTg1OEQwMSoNCitYMjkyNTI1WTU1OTc3RDAxKg0KK1gyOTI1MDVZNTYwOTNEMDEqDQorWDI5MjQ2NFk1NjIwNUQwMSoNCitYMjkyMzU1WTU2NDgwRDAxKg0KK1gyOTIyNzVZNTY3NjVEMDEqDQorWDI5MjIyMVk1NzA1N0QwMSoNCitYMjkyMTk0WTU3MzUyRDAxKg0KK1k1NzY0OEQwMSoNCitYMjkyMjIxWTU3OTQzRDAxKg0KK1gyOTIyNzVZNTgyMzVEMDEqDQorWDI5MjM1NVk1ODUyMEQwMSoNCitYMjkyNDYxWTU4Nzk3RDAxKg0KK1gyOTI1MDFZNTg5MDdEMDEqDQorWDI5MjUyMlk1OTAyNEQwMSoNCitYMjkyNTI0WTU5MTQyRDAxKg0KK1gyOTI1MDhZNTkyNTlEMDEqDQorWDI5MjQ3M1k1OTM3MUQwMSoNCitYMjkyNDIxWTU5NDc4RDAxKg0KK1gyOTIzNTRZNTk1NzREMDEqDQorWDI5MjI3Mlk1OTY1OUQwMSoNCitYMjkyMTc4WTU5NzMwRDAxKg0KK1gyOTIwNzNZNTk3ODZEMDEqDQorWDI5MTk2Mlk1OTgyNEQwMSoNCitYMjkxODQ1WTU5ODQ1RDAxKg0KK1gyOTE3MjdZNTk4NDdEMDEqDQorWDI5MTYxMFk1OTgzMEQwMSoNCitYMjkxNjA5WTU5ODMwRDAxKg0KK1k2NDY3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3MjUwMEQwMipYMjk1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMjk0Njk2WTcyMjA2RDAxKg0KK1gyOTM5NjlZNzIwMzFEMDEqDQorWDI5MzI3OFk3MTc0NUQwMSoNCitYMjkyNjQwWTcxMzU1RDAxKg0KK1gyOTIwNzJZNzA4NjlEMDEqDQorWDI5MTYwOVk3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjk1NDQxWTM5MDAwRDAyKlgyOTE2MDlEMDEqDQorWTQyODY3RDAxKg0KK1gyOTE3MjZZNDI4MTlEMDEqDQorWDI5MTk1Nlk0Mjc2NEQwMSoNCitYMjkyMTkxWTQyNzUwRDAxKg0KK1gyOTU0NDFZNDI3NTdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI5MTYwOUQwMipYMjY5MjczRDAxKg0KK1k0Mjg2N0QwMSoNCitYMjY5Mzc0WTQyOTA5RDAxKg0KK1gyNjk1NzVZNDMwMzNEMDEqDQorWDI2OTc1NVk0MzE4NkQwMSoNCitYMjY5OTA4WTQzMzY2RDAxKg0KK1gyNzAwMzJZNDM1NjdEMDEqDQorWDI3MDEyMlk0Mzc4NUQwMSoNCitYMjcwMTc3WTQ0MDE1RDAxKg0KK1gyNzAxOTFZNDQyNTBEMDEqDQorWDI3MDE3N1k1MDk4NUQwMSoNCitYMjcwMTIyWTUxMjE1RDAxKg0KK1gyNzAwMzJZNTE0MzNEMDEqDQorWDI2OTkwOFk1MTYzNEQwMSoNCitYMjY5NzU1WTUxODE0RDAxKg0KK1gyNjk1NzVZNTE5NjdEMDEqDQorWDI2OTM3NFk1MjA5MUQwMSoNCitYMjY5MjczWTUyMTMzRDAxKg0KK1k1NTE3MEQwMSoNCitYMjY5Mzg0WTU1MjA0RDAxKg0KK1gyNjk0OTFZNTUyNTZEMDEqDQorWDI2OTU4N1k1NTMyM0QwMSoNCitYMjY5NjcyWTU1NDA1RDAxKg0KK1gyNjk3NDNZNTU1MDBEMDEqDQorWDI2OTc5N1k1NTYwNUQwMSoNCitYMjY5OTU2WTU2MDA4RDAxKg0KK1gyNzAwNzNZNTY0MjVEMDEqDQorWDI3MDE1Mlk1Njg1MkQwMSoNCitYMjcwMTkxWTU3MjgzRDAxKg0KK1k1NzcxN0QwMSoNCitYMjcwMTUyWTU4MTQ4RDAxKg0KK1gyNzAwNzNZNTg1NzVEMDEqDQorWDI2OTk1Nlk1ODk5MkQwMSoNCitYMjY5ODAxWTU5Mzk3RDAxKg0KK1gyNjk3NDZZNTk1MDJEMDEqDQorWDI2OTY3NVk1OTU5N0QwMSoNCitYMjY5NTg5WTU5Njc5RDAxKg0KK1gyNjk0OTJZNTk3NDdEMDEqDQorWDI2OTM4Nlk1OTc5OUQwMSoNCitYMjY5MjczWTU5ODM0RDAxKg0KK1k2NDY3M0QwMSoNCitYMjY5Mjk2WTY0Njk5RDAxKg0KK1gyNjk2ODZZNjUzMzdEMDEqDQorWDI2OTk3Mlk2NjAyOEQwMSoNCitYMjcwMTQ3WTY2NzU1RDAxKg0KK1gyNzAxOTFZNjc1MDBEMDEqDQorWDI3MDE0N1k2ODI0NUQwMSoNCitYMjY5OTcyWTY4OTcyRDAxKg0KK1gyNjk2ODZZNjk2NjNEMDEqDQorWDI2OTI5Nlk3MDMwMUQwMSoNCitYMjY5MjczWTcwMzI3RDAxKg0KK1k3MjUwMEQwMSoNCitYMjkxNjA5RDAxKg0KK1k3MDMyN0QwMSoNCitYMjkxNTg2WTcwMzAxRDAxKg0KK1gyOTExOTZZNjk2NjNEMDEqDQorWDI5MDkxMFk2ODk3MkQwMSoNCitYMjkwNzM1WTY4MjQ1RDAxKg0KK1gyOTA2NzZZNjc1MDBEMDEqDQorWDI5MDczNVk2Njc1NUQwMSoNCitYMjkwOTEwWTY2MDI4RDAxKg0KK1gyOTExOTZZNjUzMzdEMDEqDQorWDI5MTU4Nlk2NDY5OUQwMSoNCitYMjkxNjA5WTY0NjczRDAxKg0KK1k1OTgzMEQwMSoNCitYMjkxNDk4WTU5Nzk2RDAxKg0KK1gyOTEzOTFZNTk3NDREMDEqDQorWDI5MTI5NVk1OTY3N0QwMSoNCitYMjkxMjEwWTU5NTk1RDAxKg0KK1gyOTExMzlZNTk1MDBEMDEqDQorWDI5MTA4NVk1OTM5NUQwMSoNCitYMjkwOTI2WTU4OTkyRDAxKg0KK1gyOTA4MDlZNTg1NzVEMDEqDQorWDI5MDczMFk1ODE0OEQwMSoNCitYMjkwNjkxWTU3NzE3RDAxKg0KK1k1NzI4M0QwMSoNCitYMjkwNzMwWTU2ODUyRDAxKg0KK1gyOTA4MDlZNTY0MjVEMDEqDQorWDI5MDkyNlk1NjAwOEQwMSoNCitYMjkxMDgxWTU1NjAzRDAxKg0KK1gyOTExMzZZNTU0OThEMDEqDQorWDI5MTIwN1k1NTQwM0QwMSoNCitYMjkxMjkzWTU1MzIxRDAxKg0KK1gyOTEzOTBZNTUyNTNEMDEqDQorWDI5MTQ5Nlk1NTIwMUQwMSoNCitYMjkxNjA5WTU1MTY2RDAxKg0KK1k1MjEzM0QwMSoNCitYMjkxNTA4WTUyMDkxRDAxKg0KK1gyOTEzMDdZNTE5NjdEMDEqDQorWDI5MTEyN1k1MTgxNEQwMSoNCitYMjkwOTc0WTUxNjM0RDAxKg0KK1gyOTA4NTBZNTE0MzNEMDEqDQorWDI5MDc2MFk1MTIxNUQwMSoNCitYMjkwNzA1WTUwOTg1RDAxKg0KK1gyOTA2OTFZNTA3NTBEMDEqDQorWDI5MDcwNVk0NDAxNUQwMSoNCitYMjkwNzYwWTQzNzg1RDAxKg0KK1gyOTA4NTBZNDM1NjdEMDEqDQorWDI5MDk3NFk0MzM2NkQwMSoNCitYMjkxMTI3WTQzMTg2RDAxKg0KK1gyOTEzMDdZNDMwMzNEMDEqDQorWDI5MTUwOFk0MjkwOUQwMSoNCitYMjkxNjA5WTQyODY3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjkyNzNZNzAzMjdEMDIqWDI2ODgxMFk3MDg2OUQwMSoNCitYMjY4MjQyWTcxMzU1RDAxKg0KK1gyNjc2MDRZNzE3NDVEMDEqDQorWDI2NjkxM1k3MjAzMUQwMSoNCitYMjY2MTg2WTcyMjA2RDAxKg0KK1gyNjU0NDFZNzIyNjVEMDEqDQorWTcyNTAwRDAxKg0KK1gyNjkyNzNEMDEqDQorWTcwMzI3RDAxKg0KK0czNyoNCitHMzYqDQorWTUyMTMzRDAyKlgyNjkxNTZZNTIxODFEMDEqDQorWDI2ODkyNlk1MjIzNkQwMSoNCitYMjY4NjkxWTUyMjUwRDAxKg0KK1gyNjU0NDFZNTIyNDNEMDEqDQorWTUyNzUwRDAxKg0KK1gyNjU2NThEMDEqDQorWDI2NjA4OVk1Mjc4OUQwMSoNCitYMjY2NTE2WTUyODY4RDAxKg0KK1gyNjY5MzNZNTI5ODVEMDEqDQorWDI2NzMzOFk1MzE0MEQwMSoNCitYMjY3NDQzWTUzMTk1RDAxKg0KK1gyNjc1MzhZNTMyNjZEMDEqDQorWDI2NzYyMFk1MzM1MkQwMSoNCitYMjY3Njg4WTUzNDQ5RDAxKg0KK1gyNjc3NDBZNTM1NTVEMDEqDQorWDI2Nzc3NVk1MzY2OUQwMSoNCitYMjY3NzkxWTUzNzg2RDAxKg0KK1gyNjc3ODlZNTM5MDVEMDEqDQorWDI2Nzc2OFk1NDAyMkQwMSoNCitYMjY3NzMwWTU0MTM0RDAxKg0KK1gyNjc2NzRZNTQyMzhEMDEqDQorWDI2NzYwM1k1NDMzM0QwMSoNCitYMjY3NTE3WTU0NDE1RDAxKg0KK1gyNjc0MjBZNTQ0ODNEMDEqDQorWDI2NzMxNFk1NDUzNUQwMSoNCitYMjY3MjAwWTU0NTcwRDAxKg0KK1gyNjcwODNZNTQ1ODZEMDEqDQorWDI2Njk2NFk1NDU4NEQwMSoNCitYMjY2ODQ4WTU0NTY0RDAxKg0KK1gyNjY3MzZZNTQ1MjNEMDEqDQorWDI2NjQ2MVk1NDQxNEQwMSoNCitYMjY2MTc2WTU0MzM0RDAxKg0KK1gyNjU4ODRZNTQyODBEMDEqDQorWDI2NTU4OVk1NDI1M0QwMSoNCitYMjY1NDQxRDAxKg0KK1k2MDc0N0QwMSoNCitYMjY1NTg5RDAxKg0KK1gyNjU4ODRZNjA3MjBEMDEqDQorWDI2NjE3Nlk2MDY2NkQwMSoNCitYMjY2NDYxWTYwNTg2RDAxKg0KK1gyNjY3MzhZNjA0ODBEMDEqDQorWDI2Njg0OFk2MDQ0MEQwMSoNCitYMjY2OTY1WTYwNDE5RDAxKg0KK1gyNjcwODNZNjA0MTdEMDEqDQorWDI2NzIwMFk2MDQzM0QwMSoNCitYMjY3MzEyWTYwNDY4RDAxKg0KK1gyNjc0MTlZNjA1MjBEMDEqDQorWDI2NzUxNVk2MDU4N0QwMSoNCitYMjY3NjAwWTYwNjY5RDAxKg0KK1gyNjc2NzFZNjA3NjNEMDEqDQorWDI2NzcyN1k2MDg2OEQwMSoNCitYMjY3NzY1WTYwOTc5RDAxKg0KK1gyNjc3ODZZNjEwOTZEMDEqDQorWDI2Nzc4OFk2MTIxNEQwMSoNCitYMjY3NzcxWTYxMzMwRDAxKg0KK1gyNjc3MzdZNjE0NDNEMDEqDQorWDI2NzY4NVk2MTU1MEQwMSoNCitYMjY3NjE4WTYxNjQ2RDAxKg0KK1gyNjc1MzZZNjE3MzFEMDEqDQorWDI2NzQ0MVk2MTgwMkQwMSoNCitYMjY3MzM2WTYxODU2RDAxKg0KK1gyNjY5MzNZNjIwMTVEMDEqDQorWDI2NjUxNlk2MjEzMkQwMSoNCitYMjY2MDg5WTYyMjExRDAxKg0KK1gyNjU2NThZNjIyNTBEMDEqDQorWDI2NTQ0MUQwMSoNCitZNjI3MzVEMDEqDQorWDI2NjE4Nlk2Mjc5NEQwMSoNCitYMjY2OTEzWTYyOTY5RDAxKg0KK1gyNjc2MDRZNjMyNTVEMDEqDQorWDI2ODI0Mlk2MzY0NUQwMSoNCitYMjY4ODEwWTY0MTMxRDAxKg0KK1gyNjkyNzNZNjQ2NzNEMDEqDQorWTU5ODM0RDAxKg0KK1gyNjkyNzJZNTk4MzREMDEqDQorWDI2OTE1NVk1OTg1MEQwMSoNCitYMjY5MDM2WTU5ODQ4RDAxKg0KK1gyNjg5MTlZNTk4MjdEMDEqDQorWDI2ODgwN1k1OTc4OUQwMSoNCitYMjY4NzAzWTU5NzMzRDAxKg0KK1gyNjg2MDhZNTk2NjJEMDEqDQorWDI2ODUyNlk1OTU3NkQwMSoNCitYMjY4NDU4WTU5NDc5RDAxKg0KK1gyNjg0MDZZNTkzNzNEMDEqDQorWDI2ODM3MVk1OTI1OUQwMSoNCitYMjY4MzU1WTU5MTQyRDAxKg0KK1gyNjgzNTdZNTkwMjNEMDEqDQorWDI2ODM3N1k1ODkwN0QwMSoNCitYMjY4NDE4WTU4Nzk1RDAxKg0KK1gyNjg1MjdZNTg1MjBEMDEqDQorWDI2ODYwN1k1ODIzNUQwMSoNCitYMjY4NjYxWTU3OTQzRDAxKg0KK1gyNjg2ODhZNTc2NDhEMDEqDQorWTU3MzUyRDAxKg0KK1gyNjg2NjFZNTcwNTdEMDEqDQorWDI2ODYwN1k1Njc2NUQwMSoNCitYMjY4NTI3WTU2NDgwRDAxKg0KK1gyNjg0MjFZNTYyMDNEMDEqDQorWDI2ODM4MVk1NjA5M0QwMSoNCitYMjY4MzYwWTU1OTc2RDAxKg0KK1gyNjgzNThZNTU4NThEMDEqDQorWDI2ODM3NFk1NTc0MUQwMSoNCitYMjY4NDA5WTU1NjI5RDAxKg0KK1gyNjg0NjFZNTU1MjJEMDEqDQorWDI2ODUyOFk1NTQyNkQwMSoNCitYMjY4NjEwWTU1MzQxRDAxKg0KK1gyNjg3MDRZNTUyNzBEMDEqDQorWDI2ODgwOVk1NTIxNEQwMSoNCitYMjY4OTIwWTU1MTc2RDAxKg0KK1gyNjkwMzdZNTUxNTVEMDEqDQorWDI2OTE1NVk1NTE1M0QwMSoNCitYMjY5MjcxWTU1MTcwRDAxKg0KK1gyNjkyNzNZNTUxNzBEMDEqDQorWTUyMTMzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5MDAwRDAyKlgyNjU0NDFEMDEqDQorWTQyNzU3RDAxKg0KK1gyNjg5MjZZNDI3NjREMDEqDQorWDI2OTE1Nlk0MjgxOUQwMSoNCitYMjY5MjczWTQyODY3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjE2MDlZNjQ2NzNEMDIqWDI2MjA3Mlk2NDEzMUQwMSoNCitYMjYyNjQwWTYzNjQ1RDAxKg0KK1gyNjMyNzhZNjMyNTVEMDEqDQorWDI2Mzk2OVk2Mjk2OUQwMSoNCitYMjY0Njk2WTYyNzk0RDAxKg0KK1gyNjU0NDFZNjI3MzVEMDEqDQorWTYyMjUwRDAxKg0KK1gyNjUyMjREMDEqDQorWDI2NDc5M1k2MjIxMUQwMSoNCitYMjY0MzY2WTYyMTMyRDAxKg0KK1gyNjM5NDlZNjIwMTVEMDEqDQorWDI2MzU0NFk2MTg2MEQwMSoNCitYMjYzNDM5WTYxODA1RDAxKg0KK1gyNjMzNDRZNjE3MzREMDEqDQorWDI2MzI2Mlk2MTY0OEQwMSoNCitYMjYzMTk0WTYxNTUxRDAxKg0KK1gyNjMxNDJZNjE0NDVEMDEqDQorWDI2MzEwN1k2MTMzMUQwMSoNCitYMjYzMDkxWTYxMjE0RDAxKg0KK1gyNjMwOTNZNjEwOTVEMDEqDQorWDI2MzExNFk2MDk3OEQwMSoNCitYMjYzMTUyWTYwODY2RDAxKg0KK1gyNjMyMDhZNjA3NjJEMDEqDQorWDI2MzI3OVk2MDY2N0QwMSoNCitYMjYzMzY1WTYwNTg1RDAxKg0KK1gyNjM0NjJZNjA1MTdEMDEqDQorWDI2MzU2OFk2MDQ2NUQwMSoNCitYMjYzNjgyWTYwNDMwRDAxKg0KK1gyNjM3OTlZNjA0MTREMDEqDQorWDI2MzkxOFk2MDQxNkQwMSoNCitYMjY0MDM0WTYwNDM2RDAxKg0KK1gyNjQxNDZZNjA0NzdEMDEqDQorWDI2NDQyMVk2MDU4NkQwMSoNCitYMjY0NzA2WTYwNjY2RDAxKg0KK1gyNjQ5OThZNjA3MjBEMDEqDQorWDI2NTI5M1k2MDc0N0QwMSoNCitYMjY1NDQxRDAxKg0KK1k1NDI1M0QwMSoNCitYMjY1MjkzRDAxKg0KK1gyNjQ5OThZNTQyODBEMDEqDQorWDI2NDcwNlk1NDMzNEQwMSoNCitYMjY0NDIxWTU0NDE0RDAxKg0KK1gyNjQxNDRZNTQ1MjBEMDEqDQorWDI2NDAzNFk1NDU2MEQwMSoNCitYMjYzOTE3WTU0NTgxRDAxKg0KK1gyNjM3OTlZNTQ1ODNEMDEqDQorWDI2MzY4Mlk1NDU2N0QwMSoNCitYMjYzNTcwWTU0NTMyRDAxKg0KK1gyNjM0NjNZNTQ0ODBEMDEqDQorWDI2MzM2N1k1NDQxM0QwMSoNCitYMjYzMjgyWTU0MzMxRDAxKg0KK1gyNjMyMTFZNTQyMzdEMDEqDQorWDI2MzE1NVk1NDEzMkQwMSoNCitYMjYzMTE3WTU0MDIxRDAxKg0KK1gyNjMwOTZZNTM5MDREMDEqDQorWDI2MzA5NFk1Mzc4NkQwMSoNCitYMjYzMTExWTUzNjcwRDAxKg0KK1gyNjMxNDVZNTM1NTdEMDEqDQorWDI2MzE5N1k1MzQ1MEQwMSoNCitYMjYzMjY0WTUzMzU0RDAxKg0KK1gyNjMzNDZZNTMyNjlEMDEqDQorWDI2MzQ0MVk1MzE5OEQwMSoNCitYMjYzNTQ2WTUzMTQ0RDAxKg0KK1gyNjM5NDlZNTI5ODVEMDEqDQorWDI2NDM2Nlk1Mjg2OEQwMSoNCitYMjY0NzkzWTUyNzg5RDAxKg0KK1gyNjUyMjRZNTI3NTBEMDEqDQorWDI2NTQ0MUQwMSoNCitZNTIyNDNEMDEqDQorWDI2MTk1Nlk1MjIzNkQwMSoNCitYMjYxNzI2WTUyMTgxRDAxKg0KK1gyNjE2MDlZNTIxMzNEMDEqDQorWTU1MTY2RDAxKg0KK1gyNjE2MTBZNTUxNjZEMDEqDQorWDI2MTcyN1k1NTE1MEQwMSoNCitYMjYxODQ2WTU1MTUyRDAxKg0KK1gyNjE5NjNZNTUxNzNEMDEqDQorWDI2MjA3NVk1NTIxMUQwMSoNCitYMjYyMTc5WTU1MjY3RDAxKg0KK1gyNjIyNzRZNTUzMzhEMDEqDQorWDI2MjM1Nlk1NTQyNEQwMSoNCitYMjYyNDI0WTU1NTIxRDAxKg0KK1gyNjI0NzZZNTU2MjdEMDEqDQorWDI2MjUxMVk1NTc0MUQwMSoNCitYMjYyNTI3WTU1ODU4RDAxKg0KK1gyNjI1MjVZNTU5NzdEMDEqDQorWDI2MjUwNVk1NjA5M0QwMSoNCitYMjYyNDY0WTU2MjA1RDAxKg0KK1gyNjIzNTVZNTY0ODBEMDEqDQorWDI2MjI3NVk1Njc2NUQwMSoNCitYMjYyMjIxWTU3MDU3RDAxKg0KK1gyNjIxOTRZNTczNTJEMDEqDQorWTU3NjQ4RDAxKg0KK1gyNjIyMjFZNTc5NDNEMDEqDQorWDI2MjI3NVk1ODIzNUQwMSoNCitYMjYyMzU1WTU4NTIwRDAxKg0KK1gyNjI0NjFZNTg3OTdEMDEqDQorWDI2MjUwMVk1ODkwN0QwMSoNCitYMjYyNTIyWTU5MDI0RDAxKg0KK1gyNjI1MjRZNTkxNDJEMDEqDQorWDI2MjUwOFk1OTI1OUQwMSoNCitYMjYyNDczWTU5MzcxRDAxKg0KK1gyNjI0MjFZNTk0NzhEMDEqDQorWDI2MjM1NFk1OTU3NEQwMSoNCitYMjYyMjcyWTU5NjU5RDAxKg0KK1gyNjIxNzhZNTk3MzBEMDEqDQorWDI2MjA3M1k1OTc4NkQwMSoNCitYMjYxOTYyWTU5ODI0RDAxKg0KK1gyNjE4NDVZNTk4NDVEMDEqDQorWDI2MTcyN1k1OTg0N0QwMSoNCitYMjYxNjEwWTU5ODMwRDAxKg0KK1gyNjE2MDlZNTk4MzBEMDEqDQorWTY0NjczRDAxKg0KK0czNyoNCitHMzYqDQorWTcyNTAwRDAyKlgyNjU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1gyNjQ2OTZZNzIyMDZEMDEqDQorWDI2Mzk2OVk3MjAzMUQwMSoNCitYMjYzMjc4WTcxNzQ1RDAxKg0KK1gyNjI2NDBZNzEzNTVEMDEqDQorWDI2MjA3Mlk3MDg2OUQwMSoNCitYMjYxNjA5WTcwMzI3RDAxKg0KK1k3MjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjU0NDFZMzkwMDBEMDIqWDI2MTYwOUQwMSoNCitZNDI4NjdEMDEqDQorWDI2MTcyNlk0MjgxOUQwMSoNCitYMjYxOTU2WTQyNzY0RDAxKg0KK1gyNjIxOTFZNDI3NTBEMDEqDQorWDI2NTQ0MVk0Mjc1N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjYxNjA5RDAyKlgyMzkyNzNEMDEqDQorWTQyODY3RDAxKg0KK1gyMzkzNzRZNDI5MDlEMDEqDQorWDIzOTU3NVk0MzAzM0QwMSoNCitYMjM5NzU1WTQzMTg2RDAxKg0KK1gyMzk5MDhZNDMzNjZEMDEqDQorWDI0MDAzMlk0MzU2N0QwMSoNCitYMjQwMTIyWTQzNzg1RDAxKg0KK1gyNDAxNzdZNDQwMTVEMDEqDQorWDI0MDE5MVk0NDI1MEQwMSoNCitYMjQwMTc3WTUwOTg1RDAxKg0KK1gyNDAxMjJZNTEyMTVEMDEqDQorWDI0MDAzMlk1MTQzM0QwMSoNCitYMjM5OTA4WTUxNjM0RDAxKg0KK1gyMzk3NTVZNTE4MTREMDEqDQorWDIzOTU3NVk1MTk2N0QwMSoNCitYMjM5Mzc0WTUyMDkxRDAxKg0KK1gyMzkyNzNZNTIxMzNEMDEqDQorWTU1MTcwRDAxKg0KK1gyMzkzODRZNTUyMDREMDEqDQorWDIzOTQ5MVk1NTI1NkQwMSoNCitYMjM5NTg3WTU1MzIzRDAxKg0KK1gyMzk2NzJZNTU0MDVEMDEqDQorWDIzOTc0M1k1NTUwMEQwMSoNCitYMjM5Nzk3WTU1NjA1RDAxKg0KK1gyMzk5NTZZNTYwMDhEMDEqDQorWDI0MDA3M1k1NjQyNUQwMSoNCitYMjQwMTUyWTU2ODUyRDAxKg0KK1gyNDAxOTFZNTcyODNEMDEqDQorWTU3NzE3RDAxKg0KK1gyNDAxNTJZNTgxNDhEMDEqDQorWDI0MDA3M1k1ODU3NUQwMSoNCitYMjM5OTU2WTU4OTkyRDAxKg0KK1gyMzk4MDFZNTkzOTdEMDEqDQorWDIzOTc0Nlk1OTUwMkQwMSoNCitYMjM5Njc1WTU5NTk3RDAxKg0KK1gyMzk1ODlZNTk2NzlEMDEqDQorWDIzOTQ5Mlk1OTc0N0QwMSoNCitYMjM5Mzg2WTU5Nzk5RDAxKg0KK1gyMzkyNzNZNTk4MzREMDEqDQorWTY0NjczRDAxKg0KK1gyMzkyOTZZNjQ2OTlEMDEqDQorWDIzOTY4Nlk2NTMzN0QwMSoNCitYMjM5OTcyWTY2MDI4RDAxKg0KK1gyNDAxNDdZNjY3NTVEMDEqDQorWDI0MDE5MVk2NzUwMEQwMSoNCitYMjQwMTQ3WTY4MjQ1RDAxKg0KK1gyMzk5NzJZNjg5NzJEMDEqDQorWDIzOTY4Nlk2OTY2M0QwMSoNCitYMjM5Mjk2WTcwMzAxRDAxKg0KK1gyMzkyNzNZNzAzMjdEMDEqDQorWTcyNTAwRDAxKg0KK1gyNjE2MDlEMDEqDQorWTcwMzI3RDAxKg0KK1gyNjE1ODZZNzAzMDFEMDEqDQorWDI2MTE5Nlk2OTY2M0QwMSoNCitYMjYwOTEwWTY4OTcyRDAxKg0KK1gyNjA3MzVZNjgyNDVEMDEqDQorWDI2MDY3Nlk2NzUwMEQwMSoNCitYMjYwNzM1WTY2NzU1RDAxKg0KK1gyNjA5MTBZNjYwMjhEMDEqDQorWDI2MTE5Nlk2NTMzN0QwMSoNCitYMjYxNTg2WTY0Njk5RDAxKg0KK1gyNjE2MDlZNjQ2NzNEMDEqDQorWTU5ODMwRDAxKg0KK1gyNjE0OThZNTk3OTZEMDEqDQorWDI2MTM5MVk1OTc0NEQwMSoNCitYMjYxMjk1WTU5Njc3RDAxKg0KK1gyNjEyMTBZNTk1OTVEMDEqDQorWDI2MTEzOVk1OTUwMEQwMSoNCitYMjYxMDg1WTU5Mzk1RDAxKg0KK1gyNjA5MjZZNTg5OTJEMDEqDQorWDI2MDgwOVk1ODU3NUQwMSoNCitYMjYwNzMwWTU4MTQ4RDAxKg0KK1gyNjA2OTFZNTc3MTdEMDEqDQorWTU3MjgzRDAxKg0KK1gyNjA3MzBZNTY4NTJEMDEqDQorWDI2MDgwOVk1NjQyNUQwMSoNCitYMjYwOTI2WTU2MDA4RDAxKg0KK1gyNjEwODFZNTU2MDNEMDEqDQorWDI2MTEzNlk1NTQ5OEQwMSoNCitYMjYxMjA3WTU1NDAzRDAxKg0KK1gyNjEyOTNZNTUzMjFEMDEqDQorWDI2MTM5MFk1NTI1M0QwMSoNCitYMjYxNDk2WTU1MjAxRDAxKg0KK1gyNjE2MDlZNTUxNjZEMDEqDQorWTUyMTMzRDAxKg0KK1gyNjE1MDhZNTIwOTFEMDEqDQorWDI2MTMwN1k1MTk2N0QwMSoNCitYMjYxMTI3WTUxODE0RDAxKg0KK1gyNjA5NzRZNTE2MzREMDEqDQorWDI2MDg1MFk1MTQzM0QwMSoNCitYMjYwNzYwWTUxMjE1RDAxKg0KK1gyNjA3MDVZNTA5ODVEMDEqDQorWDI2MDY5MVk1MDc1MEQwMSoNCitYMjYwNzA1WTQ0MDE1RDAxKg0KK1gyNjA3NjBZNDM3ODVEMDEqDQorWDI2MDg1MFk0MzU2N0QwMSoNCitYMjYwOTc0WTQzMzY2RDAxKg0KK1gyNjExMjdZNDMxODZEMDEqDQorWDI2MTMwN1k0MzAzM0QwMSoNCitYMjYxNTA4WTQyOTA5RDAxKg0KK1gyNjE2MDlZNDI4NjdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzOTI3M1k3MDMyN0QwMipYMjM4ODEwWTcwODY5RDAxKg0KK1gyMzgyNDJZNzEzNTVEMDEqDQorWDIzNzYwNFk3MTc0NUQwMSoNCitYMjM2OTEzWTcyMDMxRDAxKg0KK1gyMzYxODZZNzIyMDZEMDEqDQorWDIzNTQ0MVk3MjI2NUQwMSoNCitZNzI1MDBEMDEqDQorWDIzOTI3M0QwMSoNCitZNzAzMjdEMDEqDQorRzM3Kg0KK0czNioNCitZNTIxMzNEMDIqWDIzOTE1Nlk1MjE4MUQwMSoNCitYMjM4OTI2WTUyMjM2RDAxKg0KK1gyMzg2OTFZNTIyNTBEMDEqDQorWDIzNTQ0MVk1MjI0M0QwMSoNCitZNTI3NTBEMDEqDQorWDIzNTY1OEQwMSoNCitYMjM2MDg5WTUyNzg5RDAxKg0KK1gyMzY1MTZZNTI4NjhEMDEqDQorWDIzNjkzM1k1Mjk4NUQwMSoNCitYMjM3MzM4WTUzMTQwRDAxKg0KK1gyMzc0NDNZNTMxOTVEMDEqDQorWDIzNzUzOFk1MzI2NkQwMSoNCitYMjM3NjIwWTUzMzUyRDAxKg0KK1gyMzc2ODhZNTM0NDlEMDEqDQorWDIzNzc0MFk1MzU1NUQwMSoNCitYMjM3Nzc1WTUzNjY5RDAxKg0KK1gyMzc3OTFZNTM3ODZEMDEqDQorWDIzNzc4OVk1MzkwNUQwMSoNCitYMjM3NzY4WTU0MDIyRDAxKg0KK1gyMzc3MzBZNTQxMzREMDEqDQorWDIzNzY3NFk1NDIzOEQwMSoNCitYMjM3NjAzWTU0MzMzRDAxKg0KK1gyMzc1MTdZNTQ0MTVEMDEqDQorWDIzNzQyMFk1NDQ4M0QwMSoNCitYMjM3MzE0WTU0NTM1RDAxKg0KK1gyMzcyMDBZNTQ1NzBEMDEqDQorWDIzNzA4M1k1NDU4NkQwMSoNCitYMjM2OTY0WTU0NTg0RDAxKg0KK1gyMzY4NDhZNTQ1NjREMDEqDQorWDIzNjczNlk1NDUyM0QwMSoNCitYMjM2NDYxWTU0NDE0RDAxKg0KK1gyMzYxNzZZNTQzMzREMDEqDQorWDIzNTg4NFk1NDI4MEQwMSoNCitYMjM1NTg5WTU0MjUzRDAxKg0KK1gyMzU0NDFEMDEqDQorWTYwNzQ3RDAxKg0KK1gyMzU1ODlEMDEqDQorWDIzNTg4NFk2MDcyMEQwMSoNCitYMjM2MTc2WTYwNjY2RDAxKg0KK1gyMzY0NjFZNjA1ODZEMDEqDQorWDIzNjczOFk2MDQ4MEQwMSoNCitYMjM2ODQ4WTYwNDQwRDAxKg0KK1gyMzY5NjVZNjA0MTlEMDEqDQorWDIzNzA4M1k2MDQxN0QwMSoNCitYMjM3MjAwWTYwNDMzRDAxKg0KK1gyMzczMTJZNjA0NjhEMDEqDQorWDIzNzQxOVk2MDUyMEQwMSoNCitYMjM3NTE1WTYwNTg3RDAxKg0KK1gyMzc2MDBZNjA2NjlEMDEqDQorWDIzNzY3MVk2MDc2M0QwMSoNCitYMjM3NzI3WTYwODY4RDAxKg0KK1gyMzc3NjVZNjA5NzlEMDEqDQorWDIzNzc4Nlk2MTA5NkQwMSoNCitYMjM3Nzg4WTYxMjE0RDAxKg0KK1gyMzc3NzFZNjEzMzBEMDEqDQorWDIzNzczN1k2MTQ0M0QwMSoNCitYMjM3Njg1WTYxNTUwRDAxKg0KK1gyMzc2MThZNjE2NDZEMDEqDQorWDIzNzUzNlk2MTczMUQwMSoNCitYMjM3NDQxWTYxODAyRDAxKg0KK1gyMzczMzZZNjE4NTZEMDEqDQorWDIzNjkzM1k2MjAxNUQwMSoNCitYMjM2NTE2WTYyMTMyRDAxKg0KK1gyMzYwODlZNjIyMTFEMDEqDQorWDIzNTY1OFk2MjI1MEQwMSoNCitYMjM1NDQxRDAxKg0KK1k2MjczNUQwMSoNCitYMjM2MTg2WTYyNzk0RDAxKg0KK1gyMzY5MTNZNjI5NjlEMDEqDQorWDIzNzYwNFk2MzI1NUQwMSoNCitYMjM4MjQyWTYzNjQ1RDAxKg0KK1gyMzg4MTBZNjQxMzFEMDEqDQorWDIzOTI3M1k2NDY3M0QwMSoNCitZNTk4MzREMDEqDQorWDIzOTI3Mlk1OTgzNEQwMSoNCitYMjM5MTU1WTU5ODUwRDAxKg0KK1gyMzkwMzZZNTk4NDhEMDEqDQorWDIzODkxOVk1OTgyN0QwMSoNCitYMjM4ODA3WTU5Nzg5RDAxKg0KK1gyMzg3MDNZNTk3MzNEMDEqDQorWDIzODYwOFk1OTY2MkQwMSoNCitYMjM4NTI2WTU5NTc2RDAxKg0KK1gyMzg0NThZNTk0NzlEMDEqDQorWDIzODQwNlk1OTM3M0QwMSoNCitYMjM4MzcxWTU5MjU5RDAxKg0KK1gyMzgzNTVZNTkxNDJEMDEqDQorWDIzODM1N1k1OTAyM0QwMSoNCitYMjM4Mzc3WTU4OTA3RDAxKg0KK1gyMzg0MThZNTg3OTVEMDEqDQorWDIzODUyN1k1ODUyMEQwMSoNCitYMjM4NjA3WTU4MjM1RDAxKg0KK1gyMzg2NjFZNTc5NDNEMDEqDQorWDIzODY4OFk1NzY0OEQwMSoNCitZNTczNTJEMDEqDQorWDIzODY2MVk1NzA1N0QwMSoNCitYMjM4NjA3WTU2NzY1RDAxKg0KK1gyMzg1MjdZNTY0ODBEMDEqDQorWDIzODQyMVk1NjIwM0QwMSoNCitYMjM4MzgxWTU2MDkzRDAxKg0KK1gyMzgzNjBZNTU5NzZEMDEqDQorWDIzODM1OFk1NTg1OEQwMSoNCitYMjM4Mzc0WTU1NzQxRDAxKg0KK1gyMzg0MDlZNTU2MjlEMDEqDQorWDIzODQ2MVk1NTUyMkQwMSoNCitYMjM4NTI4WTU1NDI2RDAxKg0KK1gyMzg2MTBZNTUzNDFEMDEqDQorWDIzODcwNFk1NTI3MEQwMSoNCitYMjM4ODA5WTU1MjE0RDAxKg0KK1gyMzg5MjBZNTUxNzZEMDEqDQorWDIzOTAzN1k1NTE1NUQwMSoNCitYMjM5MTU1WTU1MTUzRDAxKg0KK1gyMzkyNzFZNTUxNzBEMDEqDQorWDIzOTI3M1k1NTE3MEQwMSoNCitZNTIxMzNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDIzNTQ0MUQwMSoNCitZNDI3NTdEMDEqDQorWDIzODkyNlk0Mjc2NEQwMSoNCitYMjM5MTU2WTQyODE5RDAxKg0KK1gyMzkyNzNZNDI4NjdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzMTYwOVk2NDY3M0QwMipYMjMyMDcyWTY0MTMxRDAxKg0KK1gyMzI2NDBZNjM2NDVEMDEqDQorWDIzMzI3OFk2MzI1NUQwMSoNCitYMjMzOTY5WTYyOTY5RDAxKg0KK1gyMzQ2OTZZNjI3OTREMDEqDQorWDIzNTQ0MVk2MjczNUQwMSoNCitZNjIyNTBEMDEqDQorWDIzNTIyNEQwMSoNCitYMjM0NzkzWTYyMjExRDAxKg0KK1gyMzQzNjZZNjIxMzJEMDEqDQorWDIzMzk0OVk2MjAxNUQwMSoNCitYMjMzNTQ0WTYxODYwRDAxKg0KK1gyMzM0MzlZNjE4MDVEMDEqDQorWDIzMzM0NFk2MTczNEQwMSoNCitYMjMzMjYyWTYxNjQ4RDAxKg0KK1gyMzMxOTRZNjE1NTFEMDEqDQorWDIzMzE0Mlk2MTQ0NUQwMSoNCitYMjMzMTA3WTYxMzMxRDAxKg0KK1gyMzMwOTFZNjEyMTREMDEqDQorWDIzMzA5M1k2MTA5NUQwMSoNCitYMjMzMTE0WTYwOTc4RDAxKg0KK1gyMzMxNTJZNjA4NjZEMDEqDQorWDIzMzIwOFk2MDc2MkQwMSoNCitYMjMzMjc5WTYwNjY3RDAxKg0KK1gyMzMzNjVZNjA1ODVEMDEqDQorWDIzMzQ2Mlk2MDUxN0QwMSoNCitYMjMzNTY4WTYwNDY1RDAxKg0KK1gyMzM2ODJZNjA0MzBEMDEqDQorWDIzMzc5OVk2MDQxNEQwMSoNCitYMjMzOTE4WTYwNDE2RDAxKg0KK1gyMzQwMzRZNjA0MzZEMDEqDQorWDIzNDE0Nlk2MDQ3N0QwMSoNCitYMjM0NDIxWTYwNTg2RDAxKg0KK1gyMzQ3MDZZNjA2NjZEMDEqDQorWDIzNDk5OFk2MDcyMEQwMSoNCitYMjM1MjkzWTYwNzQ3RDAxKg0KK1gyMzU0NDFEMDEqDQorWTU0MjUzRDAxKg0KK1gyMzUyOTNEMDEqDQorWDIzNDk5OFk1NDI4MEQwMSoNCitYMjM0NzA2WTU0MzM0RDAxKg0KK1gyMzQ0MjFZNTQ0MTREMDEqDQorWDIzNDE0NFk1NDUyMEQwMSoNCitYMjM0MDM0WTU0NTYwRDAxKg0KK1gyMzM5MTdZNTQ1ODFEMDEqDQorWDIzMzc5OVk1NDU4M0QwMSoNCitYMjMzNjgyWTU0NTY3RDAxKg0KK1gyMzM1NzBZNTQ1MzJEMDEqDQorWDIzMzQ2M1k1NDQ4MEQwMSoNCitYMjMzMzY3WTU0NDEzRDAxKg0KK1gyMzMyODJZNTQzMzFEMDEqDQorWDIzMzIxMVk1NDIzN0QwMSoNCitYMjMzMTU1WTU0MTMyRDAxKg0KK1gyMzMxMTdZNTQwMjFEMDEqDQorWDIzMzA5Nlk1MzkwNEQwMSoNCitYMjMzMDk0WTUzNzg2RDAxKg0KK1gyMzMxMTFZNTM2NzBEMDEqDQorWDIzMzE0NVk1MzU1N0QwMSoNCitYMjMzMTk3WTUzNDUwRDAxKg0KK1gyMzMyNjRZNTMzNTREMDEqDQorWDIzMzM0Nlk1MzI2OUQwMSoNCitYMjMzNDQxWTUzMTk4RDAxKg0KK1gyMzM1NDZZNTMxNDREMDEqDQorWDIzMzk0OVk1Mjk4NUQwMSoNCitYMjM0MzY2WTUyODY4RDAxKg0KK1gyMzQ3OTNZNTI3ODlEMDEqDQorWDIzNTIyNFk1Mjc1MEQwMSoNCitYMjM1NDQxRDAxKg0KK1k1MjI0M0QwMSoNCitYMjMxOTU2WTUyMjM2RDAxKg0KK1gyMzE3MjZZNTIxODFEMDEqDQorWDIzMTYwOVk1MjEzM0QwMSoNCitZNTUxNjZEMDEqDQorWDIzMTYxMFk1NTE2NkQwMSoNCitYMjMxNzI3WTU1MTUwRDAxKg0KK1gyMzE4NDZZNTUxNTJEMDEqDQorWDIzMTk2M1k1NTE3M0QwMSoNCitYMjMyMDc1WTU1MjExRDAxKg0KK1gyMzIxNzlZNTUyNjdEMDEqDQorWDIzMjI3NFk1NTMzOEQwMSoNCitYMjMyMzU2WTU1NDI0RDAxKg0KK1gyMzI0MjRZNTU1MjFEMDEqDQorWDIzMjQ3Nlk1NTYyN0QwMSoNCitYMjMyNTExWTU1NzQxRDAxKg0KK1gyMzI1MjdZNTU4NThEMDEqDQorWDIzMjUyNVk1NTk3N0QwMSoNCitYMjMyNTA1WTU2MDkzRDAxKg0KK1gyMzI0NjRZNTYyMDVEMDEqDQorWDIzMjM1NVk1NjQ4MEQwMSoNCitYMjMyMjc1WTU2NzY1RDAxKg0KK1gyMzIyMjFZNTcwNTdEMDEqDQorWDIzMjE5NFk1NzM1MkQwMSoNCitZNTc2NDhEMDEqDQorWDIzMjIyMVk1Nzk0M0QwMSoNCitYMjMyMjc1WTU4MjM1RDAxKg0KK1gyMzIzNTVZNTg1MjBEMDEqDQorWDIzMjQ2MVk1ODc5N0QwMSoNCitYMjMyNTAxWTU4OTA3RDAxKg0KK1gyMzI1MjJZNTkwMjREMDEqDQorWDIzMjUyNFk1OTE0MkQwMSoNCitYMjMyNTA4WTU5MjU5RDAxKg0KK1gyMzI0NzNZNTkzNzFEMDEqDQorWDIzMjQyMVk1OTQ3OEQwMSoNCitYMjMyMzU0WTU5NTc0RDAxKg0KK1gyMzIyNzJZNTk2NTlEMDEqDQorWDIzMjE3OFk1OTczMEQwMSoNCitYMjMyMDczWTU5Nzg2RDAxKg0KK1gyMzE5NjJZNTk4MjREMDEqDQorWDIzMTg0NVk1OTg0NUQwMSoNCitYMjMxNzI3WTU5ODQ3RDAxKg0KK1gyMzE2MTBZNTk4MzBEMDEqDQorWDIzMTYwOVk1OTgzMEQwMSoNCitZNjQ2NzNEMDEqDQorRzM3Kg0KK0czNioNCitZNzI1MDBEMDIqWDIzNTQ0MUQwMSoNCitZNzIyNjVEMDEqDQorWDIzNDY5Nlk3MjIwNkQwMSoNCitYMjMzOTY5WTcyMDMxRDAxKg0KK1gyMzMyNzhZNzE3NDVEMDEqDQorWDIzMjY0MFk3MTM1NUQwMSoNCitYMjMyMDcyWTcwODY5RDAxKg0KK1gyMzE2MDlZNzAzMjdEMDEqDQorWTcyNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIzNTQ0MVkzOTAwMEQwMipYMjMxNjA5RDAxKg0KK1k0Mjg2N0QwMSoNCitYMjMxNzI2WTQyODE5RDAxKg0KK1gyMzE5NTZZNDI3NjREMDEqDQorWDIzMjE5MVk0Mjc1MEQwMSoNCitYMjM1NDQxWTQyNzU3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzE2MDlEMDIqWDIwOTI3M0QwMSoNCitZNDI4NjdEMDEqDQorWDIwOTM3NFk0MjkwOUQwMSoNCitYMjA5NTc1WTQzMDMzRDAxKg0KK1gyMDk3NTVZNDMxODZEMDEqDQorWDIwOTkwOFk0MzM2NkQwMSoNCitYMjEwMDMyWTQzNTY3RDAxKg0KK1gyMTAxMjJZNDM3ODVEMDEqDQorWDIxMDE3N1k0NDAxNUQwMSoNCitYMjEwMTkxWTQ0MjUwRDAxKg0KK1gyMTAxNzdZNTA5ODVEMDEqDQorWDIxMDEyMlk1MTIxNUQwMSoNCitYMjEwMDMyWTUxNDMzRDAxKg0KK1gyMDk5MDhZNTE2MzREMDEqDQorWDIwOTc1NVk1MTgxNEQwMSoNCitYMjA5NTc1WTUxOTY3RDAxKg0KK1gyMDkzNzRZNTIwOTFEMDEqDQorWDIwOTI3M1k1MjEzM0QwMSoNCitZNTUxNzBEMDEqDQorWDIwOTM4NFk1NTIwNEQwMSoNCitYMjA5NDkxWTU1MjU2RDAxKg0KK1gyMDk1ODdZNTUzMjNEMDEqDQorWDIwOTY3Mlk1NTQwNUQwMSoNCitYMjA5NzQzWTU1NTAwRDAxKg0KK1gyMDk3OTdZNTU2MDVEMDEqDQorWDIwOTk1Nlk1NjAwOEQwMSoNCitYMjEwMDczWTU2NDI1RDAxKg0KK1gyMTAxNTJZNTY4NTJEMDEqDQorWDIxMDE5MVk1NzI4M0QwMSoNCitZNTc3MTdEMDEqDQorWDIxMDE1Mlk1ODE0OEQwMSoNCitYMjEwMDczWTU4NTc1RDAxKg0KK1gyMDk5NTZZNTg5OTJEMDEqDQorWDIwOTgwMVk1OTM5N0QwMSoNCitYMjA5NzQ2WTU5NTAyRDAxKg0KK1gyMDk2NzVZNTk1OTdEMDEqDQorWDIwOTU4OVk1OTY3OUQwMSoNCitYMjA5NDkyWTU5NzQ3RDAxKg0KK1gyMDkzODZZNTk3OTlEMDEqDQorWDIwOTI3M1k1OTgzNEQwMSoNCitZNjQ2NzNEMDEqDQorWDIwOTI5Nlk2NDY5OUQwMSoNCitYMjA5Njg2WTY1MzM3RDAxKg0KK1gyMDk5NzJZNjYwMjhEMDEqDQorWDIxMDE0N1k2Njc1NUQwMSoNCitYMjEwMTkxWTY3NTAwRDAxKg0KK1gyMTAxNDdZNjgyNDVEMDEqDQorWDIwOTk3Mlk2ODk3MkQwMSoNCitYMjA5Njg2WTY5NjYzRDAxKg0KK1gyMDkyOTZZNzAzMDFEMDEqDQorWDIwOTI3M1k3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorWDIzMTYwOUQwMSoNCitZNzAzMjdEMDEqDQorWDIzMTU4Nlk3MDMwMUQwMSoNCitYMjMxMTk2WTY5NjYzRDAxKg0KK1gyMzA5MTBZNjg5NzJEMDEqDQorWDIzMDczNVk2ODI0NUQwMSoNCitYMjMwNjc2WTY3NTAwRDAxKg0KK1gyMzA3MzVZNjY3NTVEMDEqDQorWDIzMDkxMFk2NjAyOEQwMSoNCitYMjMxMTk2WTY1MzM3RDAxKg0KK1gyMzE1ODZZNjQ2OTlEMDEqDQorWDIzMTYwOVk2NDY3M0QwMSoNCitZNTk4MzBEMDEqDQorWDIzMTQ5OFk1OTc5NkQwMSoNCitYMjMxMzkxWTU5NzQ0RDAxKg0KK1gyMzEyOTVZNTk2NzdEMDEqDQorWDIzMTIxMFk1OTU5NUQwMSoNCitYMjMxMTM5WTU5NTAwRDAxKg0KK1gyMzEwODVZNTkzOTVEMDEqDQorWDIzMDkyNlk1ODk5MkQwMSoNCitYMjMwODA5WTU4NTc1RDAxKg0KK1gyMzA3MzBZNTgxNDhEMDEqDQorWDIzMDY5MVk1NzcxN0QwMSoNCitZNTcyODNEMDEqDQorWDIzMDczMFk1Njg1MkQwMSoNCitYMjMwODA5WTU2NDI1RDAxKg0KK1gyMzA5MjZZNTYwMDhEMDEqDQorWDIzMTA4MVk1NTYwM0QwMSoNCitYMjMxMTM2WTU1NDk4RDAxKg0KK1gyMzEyMDdZNTU0MDNEMDEqDQorWDIzMTI5M1k1NTMyMUQwMSoNCitYMjMxMzkwWTU1MjUzRDAxKg0KK1gyMzE0OTZZNTUyMDFEMDEqDQorWDIzMTYwOVk1NTE2NkQwMSoNCitZNTIxMzNEMDEqDQorWDIzMTUwOFk1MjA5MUQwMSoNCitYMjMxMzA3WTUxOTY3RDAxKg0KK1gyMzExMjdZNTE4MTREMDEqDQorWDIzMDk3NFk1MTYzNEQwMSoNCitYMjMwODUwWTUxNDMzRDAxKg0KK1gyMzA3NjBZNTEyMTVEMDEqDQorWDIzMDcwNVk1MDk4NUQwMSoNCitYMjMwNjkxWTUwNzUwRDAxKg0KK1gyMzA3MDVZNDQwMTVEMDEqDQorWDIzMDc2MFk0Mzc4NUQwMSoNCitYMjMwODUwWTQzNTY3RDAxKg0KK1gyMzA5NzRZNDMzNjZEMDEqDQorWDIzMTEyN1k0MzE4NkQwMSoNCitYMjMxMzA3WTQzMDMzRDAxKg0KK1gyMzE1MDhZNDI5MDlEMDEqDQorWDIzMTYwOVk0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjA5MjczWTcwMzI3RDAyKlgyMDg4MTBZNzA4NjlEMDEqDQorWDIwODI0Mlk3MTM1NUQwMSoNCitYMjA3NjA0WTcxNzQ1RDAxKg0KK1gyMDY5MTNZNzIwMzFEMDEqDQorWDIwNjE4Nlk3MjIwNkQwMSoNCitYMjA1NDQxWTcyMjY1RDAxKg0KK1k3MjUwMEQwMSoNCitYMjA5MjczRDAxKg0KK1k3MDMyN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k1MjEzM0QwMipYMjA5MTU2WTUyMTgxRDAxKg0KK1gyMDg5MjZZNTIyMzZEMDEqDQorWDIwODY5MVk1MjI1MEQwMSoNCitYMjA1NDQxWTUyMjQzRDAxKg0KK1k1Mjc1MEQwMSoNCitYMjA1NjU4RDAxKg0KK1gyMDYwODlZNTI3ODlEMDEqDQorWDIwNjUxNlk1Mjg2OEQwMSoNCitYMjA2OTMzWTUyOTg1RDAxKg0KK1gyMDczMzhZNTMxNDBEMDEqDQorWDIwNzQ0M1k1MzE5NUQwMSoNCitYMjA3NTM4WTUzMjY2RDAxKg0KK1gyMDc2MjBZNTMzNTJEMDEqDQorWDIwNzY4OFk1MzQ0OUQwMSoNCitYMjA3NzQwWTUzNTU1RDAxKg0KK1gyMDc3NzVZNTM2NjlEMDEqDQorWDIwNzc5MVk1Mzc4NkQwMSoNCitYMjA3Nzg5WTUzOTA1RDAxKg0KK1gyMDc3NjhZNTQwMjJEMDEqDQorWDIwNzczMFk1NDEzNEQwMSoNCitYMjA3Njc0WTU0MjM4RDAxKg0KK1gyMDc2MDNZNTQzMzNEMDEqDQorWDIwNzUxN1k1NDQxNUQwMSoNCitYMjA3NDIwWTU0NDgzRDAxKg0KK1gyMDczMTRZNTQ1MzVEMDEqDQorWDIwNzIwMFk1NDU3MEQwMSoNCitYMjA3MDgzWTU0NTg2RDAxKg0KK1gyMDY5NjRZNTQ1ODREMDEqDQorWDIwNjg0OFk1NDU2NEQwMSoNCitYMjA2NzM2WTU0NTIzRDAxKg0KK1gyMDY0NjFZNTQ0MTREMDEqDQorWDIwNjE3Nlk1NDMzNEQwMSoNCitYMjA1ODg0WTU0MjgwRDAxKg0KK1gyMDU1ODlZNTQyNTNEMDEqDQorWDIwNTQ0MUQwMSoNCitZNjA3NDdEMDEqDQorWDIwNTU4OUQwMSoNCitYMjA1ODg0WTYwNzIwRDAxKg0KK1gyMDYxNzZZNjA2NjZEMDEqDQorWDIwNjQ2MVk2MDU4NkQwMSoNCitYMjA2NzM4WTYwNDgwRDAxKg0KK1gyMDY4NDhZNjA0NDBEMDEqDQorWDIwNjk2NVk2MDQxOUQwMSoNCitYMjA3MDgzWTYwNDE3RDAxKg0KK1gyMDcyMDBZNjA0MzNEMDEqDQorWDIwNzMxMlk2MDQ2OEQwMSoNCitYMjA3NDE5WTYwNTIwRDAxKg0KK1gyMDc1MTVZNjA1ODdEMDEqDQorWDIwNzYwMFk2MDY2OUQwMSoNCitYMjA3NjcxWTYwNzYzRDAxKg0KK1gyMDc3MjdZNjA4NjhEMDEqDQorWDIwNzc2NVk2MDk3OUQwMSoNCitYMjA3Nzg2WTYxMDk2RDAxKg0KK1gyMDc3ODhZNjEyMTREMDEqDQorWDIwNzc3MVk2MTMzMEQwMSoNCitYMjA3NzM3WTYxNDQzRDAxKg0KK1gyMDc2ODVZNjE1NTBEMDEqDQorWDIwNzYxOFk2MTY0NkQwMSoNCitYMjA3NTM2WTYxNzMxRDAxKg0KK1gyMDc0NDFZNjE4MDJEMDEqDQorWDIwNzMzNlk2MTg1NkQwMSoNCitYMjA2OTMzWTYyMDE1RDAxKg0KK1gyMDY1MTZZNjIxMzJEMDEqDQorWDIwNjA4OVk2MjIxMUQwMSoNCitYMjA1NjU4WTYyMjUwRDAxKg0KK1gyMDU0NDFEMDEqDQorWTYyNzM1RDAxKg0KK1gyMDYxODZZNjI3OTREMDEqDQorWDIwNjkxM1k2Mjk2OUQwMSoNCitYMjA3NjA0WTYzMjU1RDAxKg0KK1gyMDgyNDJZNjM2NDVEMDEqDQorWDIwODgxMFk2NDEzMUQwMSoNCitYMjA5MjczWTY0NjczRDAxKg0KK1k1OTgzNEQwMSoNCitYMjA5MjcyWTU5ODM0RDAxKg0KK1gyMDkxNTVZNTk4NTBEMDEqDQorWDIwOTAzNlk1OTg0OEQwMSoNCitYMjA4OTE5WTU5ODI3RDAxKg0KK1gyMDg4MDdZNTk3ODlEMDEqDQorWDIwODcwM1k1OTczM0QwMSoNCitYMjA4NjA4WTU5NjYyRDAxKg0KK1gyMDg1MjZZNTk1NzZEMDEqDQorWDIwODQ1OFk1OTQ3OUQwMSoNCitYMjA4NDA2WTU5MzczRDAxKg0KK1gyMDgzNzFZNTkyNTlEMDEqDQorWDIwODM1NVk1OTE0MkQwMSoNCitYMjA4MzU3WTU5MDIzRDAxKg0KK1gyMDgzNzdZNTg5MDdEMDEqDQorWDIwODQxOFk1ODc5NUQwMSoNCitYMjA4NTI3WTU4NTIwRDAxKg0KK1gyMDg2MDdZNTgyMzVEMDEqDQorWDIwODY2MVk1Nzk0M0QwMSoNCitYMjA4Njg4WTU3NjQ4RDAxKg0KK1k1NzM1MkQwMSoNCitYMjA4NjYxWTU3MDU3RDAxKg0KK1gyMDg2MDdZNTY3NjVEMDEqDQorWDIwODUyN1k1NjQ4MEQwMSoNCitYMjA4NDIxWTU2MjAzRDAxKg0KK1gyMDgzODFZNTYwOTNEMDEqDQorWDIwODM2MFk1NTk3NkQwMSoNCitYMjA4MzU4WTU1ODU4RDAxKg0KK1gyMDgzNzRZNTU3NDFEMDEqDQorWDIwODQwOVk1NTYyOUQwMSoNCitYMjA4NDYxWTU1NTIyRDAxKg0KK1gyMDg1MjhZNTU0MjZEMDEqDQorWDIwODYxMFk1NTM0MUQwMSoNCitYMjA4NzA0WTU1MjcwRDAxKg0KK1gyMDg4MDlZNTUyMTREMDEqDQorWDIwODkyMFk1NTE3NkQwMSoNCitYMjA5MDM3WTU1MTU1RDAxKg0KK1gyMDkxNTVZNTUxNTNEMDEqDQorWDIwOTI3MVk1NTE3MEQwMSoNCitYMjA5MjczWTU1MTcwRDAxKg0KK1k1MjEzM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYMjA1NDQxRDAxKg0KK1k0Mjc1N0QwMSoNCitYMjA4OTI2WTQyNzY0RDAxKg0KK1gyMDkxNTZZNDI4MTlEMDEqDQorWDIwOTI3M1k0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjAxNjA5WTY0NjczRDAyKlgyMDIwNzJZNjQxMzFEMDEqDQorWDIwMjY0MFk2MzY0NUQwMSoNCitYMjAzMjc4WTYzMjU1RDAxKg0KK1gyMDM5NjlZNjI5NjlEMDEqDQorWDIwNDY5Nlk2Mjc5NEQwMSoNCitYMjA1NDQxWTYyNzM1RDAxKg0KK1k2MjI1MEQwMSoNCitYMjA1MjI0RDAxKg0KK1gyMDQ3OTNZNjIyMTFEMDEqDQorWDIwNDM2Nlk2MjEzMkQwMSoNCitYMjAzOTQ5WTYyMDE1RDAxKg0KK1gyMDM1NDRZNjE4NjBEMDEqDQorWDIwMzQzOVk2MTgwNUQwMSoNCitYMjAzMzQ0WTYxNzM0RDAxKg0KK1gyMDMyNjJZNjE2NDhEMDEqDQorWDIwMzE5NFk2MTU1MUQwMSoNCitYMjAzMTQyWTYxNDQ1RDAxKg0KK1gyMDMxMDdZNjEzMzFEMDEqDQorWDIwMzA5MVk2MTIxNEQwMSoNCitYMjAzMDkzWTYxMDk1RDAxKg0KK1gyMDMxMTRZNjA5NzhEMDEqDQorWDIwMzE1Mlk2MDg2NkQwMSoNCitYMjAzMjA4WTYwNzYyRDAxKg0KK1gyMDMyNzlZNjA2NjdEMDEqDQorWDIwMzM2NVk2MDU4NUQwMSoNCitYMjAzNDYyWTYwNTE3RDAxKg0KK1gyMDM1NjhZNjA0NjVEMDEqDQorWDIwMzY4Mlk2MDQzMEQwMSoNCitYMjAzNzk5WTYwNDE0RDAxKg0KK1gyMDM5MThZNjA0MTZEMDEqDQorWDIwNDAzNFk2MDQzNkQwMSoNCitYMjA0MTQ2WTYwNDc3RDAxKg0KK1gyMDQ0MjFZNjA1ODZEMDEqDQorWDIwNDcwNlk2MDY2NkQwMSoNCitYMjA0OTk4WTYwNzIwRDAxKg0KK1gyMDUyOTNZNjA3NDdEMDEqDQorWDIwNTQ0MUQwMSoNCitZNTQyNTNEMDEqDQorWDIwNTI5M0QwMSoNCitYMjA0OTk4WTU0MjgwRDAxKg0KK1gyMDQ3MDZZNTQzMzREMDEqDQorWDIwNDQyMVk1NDQxNEQwMSoNCitYMjA0MTQ0WTU0NTIwRDAxKg0KK1gyMDQwMzRZNTQ1NjBEMDEqDQorWDIwMzkxN1k1NDU4MUQwMSoNCitYMjAzNzk5WTU0NTgzRDAxKg0KK1gyMDM2ODJZNTQ1NjdEMDEqDQorWDIwMzU3MFk1NDUzMkQwMSoNCitYMjAzNDYzWTU0NDgwRDAxKg0KK1gyMDMzNjdZNTQ0MTNEMDEqDQorWDIwMzI4Mlk1NDMzMUQwMSoNCitYMjAzMjExWTU0MjM3RDAxKg0KK1gyMDMxNTVZNTQxMzJEMDEqDQorWDIwMzExN1k1NDAyMUQwMSoNCitYMjAzMDk2WTUzOTA0RDAxKg0KK1gyMDMwOTRZNTM3ODZEMDEqDQorWDIwMzExMVk1MzY3MEQwMSoNCitYMjAzMTQ1WTUzNTU3RDAxKg0KK1gyMDMxOTdZNTM0NTBEMDEqDQorWDIwMzI2NFk1MzM1NEQwMSoNCitYMjAzMzQ2WTUzMjY5RDAxKg0KK1gyMDM0NDFZNTMxOThEMDEqDQorWDIwMzU0Nlk1MzE0NEQwMSoNCitYMjAzOTQ5WTUyOTg1RDAxKg0KK1gyMDQzNjZZNTI4NjhEMDEqDQorWDIwNDc5M1k1Mjc4OUQwMSoNCitYMjA1MjI0WTUyNzUwRDAxKg0KK1gyMDU0NDFEMDEqDQorWTUyMjQzRDAxKg0KK1gyMDE5NTZZNTIyMzZEMDEqDQorWDIwMTcyNlk1MjE4MUQwMSoNCitYMjAxNjA5WTUyMTMzRDAxKg0KK1k1NTE2NkQwMSoNCitYMjAxNjEwWTU1MTY2RDAxKg0KK1gyMDE3MjdZNTUxNTBEMDEqDQorWDIwMTg0Nlk1NTE1MkQwMSoNCitYMjAxOTYzWTU1MTczRDAxKg0KK1gyMDIwNzVZNTUyMTFEMDEqDQorWDIwMjE3OVk1NTI2N0QwMSoNCitYMjAyMjc0WTU1MzM4RDAxKg0KK1gyMDIzNTZZNTU0MjREMDEqDQorWDIwMjQyNFk1NTUyMUQwMSoNCitYMjAyNDc2WTU1NjI3RDAxKg0KK1gyMDI1MTFZNTU3NDFEMDEqDQorWDIwMjUyN1k1NTg1OEQwMSoNCitYMjAyNTI1WTU1OTc3RDAxKg0KK1gyMDI1MDVZNTYwOTNEMDEqDQorWDIwMjQ2NFk1NjIwNUQwMSoNCitYMjAyMzU1WTU2NDgwRDAxKg0KK1gyMDIyNzVZNTY3NjVEMDEqDQorWDIwMjIyMVk1NzA1N0QwMSoNCitYMjAyMTk0WTU3MzUyRDAxKg0KK1k1NzY0OEQwMSoNCitYMjAyMjIxWTU3OTQzRDAxKg0KK1gyMDIyNzVZNTgyMzVEMDEqDQorWDIwMjM1NVk1ODUyMEQwMSoNCitYMjAyNDYxWTU4Nzk3RDAxKg0KK1gyMDI1MDFZNTg5MDdEMDEqDQorWDIwMjUyMlk1OTAyNEQwMSoNCitYMjAyNTI0WTU5MTQyRDAxKg0KK1gyMDI1MDhZNTkyNTlEMDEqDQorWDIwMjQ3M1k1OTM3MUQwMSoNCitYMjAyNDIxWTU5NDc4RDAxKg0KK1gyMDIzNTRZNTk1NzREMDEqDQorWDIwMjI3Mlk1OTY1OUQwMSoNCitYMjAyMTc4WTU5NzMwRDAxKg0KK1gyMDIwNzNZNTk3ODZEMDEqDQorWDIwMTk2Mlk1OTgyNEQwMSoNCitYMjAxODQ1WTU5ODQ1RDAxKg0KK1gyMDE3MjdZNTk4NDdEMDEqDQorWDIwMTYxMFk1OTgzMEQwMSoNCitYMjAxNjA5WTU5ODMwRDAxKg0KK1k2NDY3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3MjUwMEQwMipYMjA1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMjA0Njk2WTcyMjA2RDAxKg0KK1gyMDM5NjlZNzIwMzFEMDEqDQorWDIwMzI3OFk3MTc0NUQwMSoNCitYMjAyNjQwWTcxMzU1RDAxKg0KK1gyMDIwNzJZNzA4NjlEMDEqDQorWDIwMTYwOVk3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjA1NDQxWTM5MDAwRDAyKlgyMDE2MDlEMDEqDQorWTQyODY3RDAxKg0KK1gyMDE3MjZZNDI4MTlEMDEqDQorWDIwMTk1Nlk0Mjc2NEQwMSoNCitYMjAyMTkxWTQyNzUwRDAxKg0KK1gyMDU0NDFZNDI3NTdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwMTYwOUQwMipYMTc5MjczRDAxKg0KK1k0Mjg2N0QwMSoNCitYMTc5Mzc0WTQyOTA5RDAxKg0KK1gxNzk1NzVZNDMwMzNEMDEqDQorWDE3OTc1NVk0MzE4NkQwMSoNCitYMTc5OTA4WTQzMzY2RDAxKg0KK1gxODAwMzJZNDM1NjdEMDEqDQorWDE4MDEyMlk0Mzc4NUQwMSoNCitYMTgwMTc3WTQ0MDE1RDAxKg0KK1gxODAxOTFZNDQyNTBEMDEqDQorWDE4MDE3N1k1MDk4NUQwMSoNCitYMTgwMTIyWTUxMjE1RDAxKg0KK1gxODAwMzJZNTE0MzNEMDEqDQorWDE3OTkwOFk1MTYzNEQwMSoNCitYMTc5NzU1WTUxODE0RDAxKg0KK1gxNzk1NzVZNTE5NjdEMDEqDQorWDE3OTM3NFk1MjA5MUQwMSoNCitYMTc5MjczWTUyMTMzRDAxKg0KK1k1NTE3MEQwMSoNCitYMTc5Mzg0WTU1MjA0RDAxKg0KK1gxNzk0OTFZNTUyNTZEMDEqDQorWDE3OTU4N1k1NTMyM0QwMSoNCitYMTc5NjcyWTU1NDA1RDAxKg0KK1gxNzk3NDNZNTU1MDBEMDEqDQorWDE3OTc5N1k1NTYwNUQwMSoNCitYMTc5OTU2WTU2MDA4RDAxKg0KK1gxODAwNzNZNTY0MjVEMDEqDQorWDE4MDE1Mlk1Njg1MkQwMSoNCitYMTgwMTkxWTU3MjgzRDAxKg0KK1k1NzcxN0QwMSoNCitYMTgwMTUyWTU4MTQ4RDAxKg0KK1gxODAwNzNZNTg1NzVEMDEqDQorWDE3OTk1Nlk1ODk5MkQwMSoNCitYMTc5ODAxWTU5Mzk3RDAxKg0KK1gxNzk3NDZZNTk1MDJEMDEqDQorWDE3OTY3NVk1OTU5N0QwMSoNCitYMTc5NTg5WTU5Njc5RDAxKg0KK1gxNzk0OTJZNTk3NDdEMDEqDQorWDE3OTM4Nlk1OTc5OUQwMSoNCitYMTc5MjczWTU5ODM0RDAxKg0KK1k2NDY3M0QwMSoNCitYMTc5Mjk2WTY0Njk5RDAxKg0KK1gxNzk2ODZZNjUzMzdEMDEqDQorWDE3OTk3Mlk2NjAyOEQwMSoNCitYMTgwMTQ3WTY2NzU1RDAxKg0KK1gxODAxOTFZNjc1MDBEMDEqDQorWDE4MDE0N1k2ODI0NUQwMSoNCitYMTc5OTcyWTY4OTcyRDAxKg0KK1gxNzk2ODZZNjk2NjNEMDEqDQorWDE3OTI5Nlk3MDMwMUQwMSoNCitYMTc5MjczWTcwMzI3RDAxKg0KK1k3MjUwMEQwMSoNCitYMjAxNjA5RDAxKg0KK1k3MDMyN0QwMSoNCitYMjAxNTg2WTcwMzAxRDAxKg0KK1gyMDExOTZZNjk2NjNEMDEqDQorWDIwMDkxMFk2ODk3MkQwMSoNCitYMjAwNzM1WTY4MjQ1RDAxKg0KK1gyMDA2NzZZNjc1MDBEMDEqDQorWDIwMDczNVk2Njc1NUQwMSoNCitYMjAwOTEwWTY2MDI4RDAxKg0KK1gyMDExOTZZNjUzMzdEMDEqDQorWDIwMTU4Nlk2NDY5OUQwMSoNCitYMjAxNjA5WTY0NjczRDAxKg0KK1k1OTgzMEQwMSoNCitYMjAxNDk4WTU5Nzk2RDAxKg0KK1gyMDEzOTFZNTk3NDREMDEqDQorWDIwMTI5NVk1OTY3N0QwMSoNCitYMjAxMjEwWTU5NTk1RDAxKg0KK1gyMDExMzlZNTk1MDBEMDEqDQorWDIwMTA4NVk1OTM5NUQwMSoNCitYMjAwOTI2WTU4OTkyRDAxKg0KK1gyMDA4MDlZNTg1NzVEMDEqDQorWDIwMDczMFk1ODE0OEQwMSoNCitYMjAwNjkxWTU3NzE3RDAxKg0KK1k1NzI4M0QwMSoNCitYMjAwNzMwWTU2ODUyRDAxKg0KK1gyMDA4MDlZNTY0MjVEMDEqDQorWDIwMDkyNlk1NjAwOEQwMSoNCitYMjAxMDgxWTU1NjAzRDAxKg0KK1gyMDExMzZZNTU0OThEMDEqDQorWDIwMTIwN1k1NTQwM0QwMSoNCitYMjAxMjkzWTU1MzIxRDAxKg0KK1gyMDEzOTBZNTUyNTNEMDEqDQorWDIwMTQ5Nlk1NTIwMUQwMSoNCitYMjAxNjA5WTU1MTY2RDAxKg0KK1k1MjEzM0QwMSoNCitYMjAxNTA4WTUyMDkxRDAxKg0KK1gyMDEzMDdZNTE5NjdEMDEqDQorWDIwMTEyN1k1MTgxNEQwMSoNCitYMjAwOTc0WTUxNjM0RDAxKg0KK1gyMDA4NTBZNTE0MzNEMDEqDQorWDIwMDc2MFk1MTIxNUQwMSoNCitYMjAwNzA1WTUwOTg1RDAxKg0KK1gyMDA2OTFZNTA3NTBEMDEqDQorWDIwMDcwNVk0NDAxNUQwMSoNCitYMjAwNzYwWTQzNzg1RDAxKg0KK1gyMDA4NTBZNDM1NjdEMDEqDQorWDIwMDk3NFk0MzM2NkQwMSoNCitYMjAxMTI3WTQzMTg2RDAxKg0KK1gyMDEzMDdZNDMwMzNEMDEqDQorWDIwMTUwOFk0MjkwOUQwMSoNCitYMjAxNjA5WTQyODY3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzkyNzNZNzAzMjdEMDIqWDE3ODgxMFk3MDg2OUQwMSoNCitYMTc4MjQyWTcxMzU1RDAxKg0KK1gxNzc2MDRZNzE3NDVEMDEqDQorWDE3NjkxM1k3MjAzMUQwMSoNCitYMTc2MTg2WTcyMjA2RDAxKg0KK1gxNzU0NDFZNzIyNjVEMDEqDQorWTcyNTAwRDAxKg0KK1gxNzkyNzNEMDEqDQorWTcwMzI3RDAxKg0KK0czNyoNCitHMzYqDQorWTUyMTMzRDAyKlgxNzkxNTZZNTIxODFEMDEqDQorWDE3ODkyNlk1MjIzNkQwMSoNCitYMTc4NjkxWTUyMjUwRDAxKg0KK1gxNzU0NDFZNTIyNDNEMDEqDQorWTUyNzUwRDAxKg0KK1gxNzU2NThEMDEqDQorWDE3NjA4OVk1Mjc4OUQwMSoNCitYMTc2NTE2WTUyODY4RDAxKg0KK1gxNzY5MzNZNTI5ODVEMDEqDQorWDE3NzMzOFk1MzE0MEQwMSoNCitYMTc3NDQzWTUzMTk1RDAxKg0KK1gxNzc1MzhZNTMyNjZEMDEqDQorWDE3NzYyMFk1MzM1MkQwMSoNCitYMTc3Njg4WTUzNDQ5RDAxKg0KK1gxNzc3NDBZNTM1NTVEMDEqDQorWDE3Nzc3NVk1MzY2OUQwMSoNCitYMTc3NzkxWTUzNzg2RDAxKg0KK1gxNzc3ODlZNTM5MDVEMDEqDQorWDE3Nzc2OFk1NDAyMkQwMSoNCitYMTc3NzMwWTU0MTM0RDAxKg0KK1gxNzc2NzRZNTQyMzhEMDEqDQorWDE3NzYwM1k1NDMzM0QwMSoNCitYMTc3NTE3WTU0NDE1RDAxKg0KK1gxNzc0MjBZNTQ0ODNEMDEqDQorWDE3NzMxNFk1NDUzNUQwMSoNCitYMTc3MjAwWTU0NTcwRDAxKg0KK1gxNzcwODNZNTQ1ODZEMDEqDQorWDE3Njk2NFk1NDU4NEQwMSoNCitYMTc2ODQ4WTU0NTY0RDAxKg0KK1gxNzY3MzZZNTQ1MjNEMDEqDQorWDE3NjQ2MVk1NDQxNEQwMSoNCitYMTc2MTc2WTU0MzM0RDAxKg0KK1gxNzU4ODRZNTQyODBEMDEqDQorWDE3NTU4OVk1NDI1M0QwMSoNCitYMTc1NDQxRDAxKg0KK1k2MDc0N0QwMSoNCitYMTc1NTg5RDAxKg0KK1gxNzU4ODRZNjA3MjBEMDEqDQorWDE3NjE3Nlk2MDY2NkQwMSoNCitYMTc2NDYxWTYwNTg2RDAxKg0KK1gxNzY3MzhZNjA0ODBEMDEqDQorWDE3Njg0OFk2MDQ0MEQwMSoNCitYMTc2OTY1WTYwNDE5RDAxKg0KK1gxNzcwODNZNjA0MTdEMDEqDQorWDE3NzIwMFk2MDQzM0QwMSoNCitYMTc3MzEyWTYwNDY4RDAxKg0KK1gxNzc0MTlZNjA1MjBEMDEqDQorWDE3NzUxNVk2MDU4N0QwMSoNCitYMTc3NjAwWTYwNjY5RDAxKg0KK1gxNzc2NzFZNjA3NjNEMDEqDQorWDE3NzcyN1k2MDg2OEQwMSoNCitYMTc3NzY1WTYwOTc5RDAxKg0KK1gxNzc3ODZZNjEwOTZEMDEqDQorWDE3Nzc4OFk2MTIxNEQwMSoNCitYMTc3NzcxWTYxMzMwRDAxKg0KK1gxNzc3MzdZNjE0NDNEMDEqDQorWDE3NzY4NVk2MTU1MEQwMSoNCitYMTc3NjE4WTYxNjQ2RDAxKg0KK1gxNzc1MzZZNjE3MzFEMDEqDQorWDE3NzQ0MVk2MTgwMkQwMSoNCitYMTc3MzM2WTYxODU2RDAxKg0KK1gxNzY5MzNZNjIwMTVEMDEqDQorWDE3NjUxNlk2MjEzMkQwMSoNCitYMTc2MDg5WTYyMjExRDAxKg0KK1gxNzU2NThZNjIyNTBEMDEqDQorWDE3NTQ0MUQwMSoNCitZNjI3MzVEMDEqDQorWDE3NjE4Nlk2Mjc5NEQwMSoNCitYMTc2OTEzWTYyOTY5RDAxKg0KK1gxNzc2MDRZNjMyNTVEMDEqDQorWDE3ODI0Mlk2MzY0NUQwMSoNCitYMTc4ODEwWTY0MTMxRDAxKg0KK1gxNzkyNzNZNjQ2NzNEMDEqDQorWTU5ODM0RDAxKg0KK1gxNzkyNzJZNTk4MzREMDEqDQorWDE3OTE1NVk1OTg1MEQwMSoNCitYMTc5MDM2WTU5ODQ4RDAxKg0KK1gxNzg5MTlZNTk4MjdEMDEqDQorWDE3ODgwN1k1OTc4OUQwMSoNCitYMTc4NzAzWTU5NzMzRDAxKg0KK1gxNzg2MDhZNTk2NjJEMDEqDQorWDE3ODUyNlk1OTU3NkQwMSoNCitYMTc4NDU4WTU5NDc5RDAxKg0KK1gxNzg0MDZZNTkzNzNEMDEqDQorWDE3ODM3MVk1OTI1OUQwMSoNCitYMTc4MzU1WTU5MTQyRDAxKg0KK1gxNzgzNTdZNTkwMjNEMDEqDQorWDE3ODM3N1k1ODkwN0QwMSoNCitYMTc4NDE4WTU4Nzk1RDAxKg0KK1gxNzg1MjdZNTg1MjBEMDEqDQorWDE3ODYwN1k1ODIzNUQwMSoNCitYMTc4NjYxWTU3OTQzRDAxKg0KK1gxNzg2ODhZNTc2NDhEMDEqDQorWTU3MzUyRDAxKg0KK1gxNzg2NjFZNTcwNTdEMDEqDQorWDE3ODYwN1k1Njc2NUQwMSoNCitYMTc4NTI3WTU2NDgwRDAxKg0KK1gxNzg0MjFZNTYyMDNEMDEqDQorWDE3ODM4MVk1NjA5M0QwMSoNCitYMTc4MzYwWTU1OTc2RDAxKg0KK1gxNzgzNThZNTU4NThEMDEqDQorWDE3ODM3NFk1NTc0MUQwMSoNCitYMTc4NDA5WTU1NjI5RDAxKg0KK1gxNzg0NjFZNTU1MjJEMDEqDQorWDE3ODUyOFk1NTQyNkQwMSoNCitYMTc4NjEwWTU1MzQxRDAxKg0KK1gxNzg3MDRZNTUyNzBEMDEqDQorWDE3ODgwOVk1NTIxNEQwMSoNCitYMTc4OTIwWTU1MTc2RDAxKg0KK1gxNzkwMzdZNTUxNTVEMDEqDQorWDE3OTE1NVk1NTE1M0QwMSoNCitYMTc5MjcxWTU1MTcwRDAxKg0KK1gxNzkyNzNZNTUxNzBEMDEqDQorWTUyMTMzRDAxKg0KK0czNyoNCitHMzYqDQorWTM5MDAwRDAyKlgxNzU0NDFEMDEqDQorWTQyNzU3RDAxKg0KK1gxNzg5MjZZNDI3NjREMDEqDQorWDE3OTE1Nlk0MjgxOUQwMSoNCitYMTc5MjczWTQyODY3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzE2MDlZNjQ2NzNEMDIqWDE3MjA3Mlk2NDEzMUQwMSoNCitYMTcyNjQwWTYzNjQ1RDAxKg0KK1gxNzMyNzhZNjMyNTVEMDEqDQorWDE3Mzk2OVk2Mjk2OUQwMSoNCitYMTc0Njk2WTYyNzk0RDAxKg0KK1gxNzU0NDFZNjI3MzVEMDEqDQorWTYyMjUwRDAxKg0KK1gxNzUyMjREMDEqDQorWDE3NDc5M1k2MjIxMUQwMSoNCitYMTc0MzY2WTYyMTMyRDAxKg0KK1gxNzM5NDlZNjIwMTVEMDEqDQorWDE3MzU0NFk2MTg2MEQwMSoNCitYMTczNDM5WTYxODA1RDAxKg0KK1gxNzMzNDRZNjE3MzREMDEqDQorWDE3MzI2Mlk2MTY0OEQwMSoNCitYMTczMTk0WTYxNTUxRDAxKg0KK1gxNzMxNDJZNjE0NDVEMDEqDQorWDE3MzEwN1k2MTMzMUQwMSoNCitYMTczMDkxWTYxMjE0RDAxKg0KK1gxNzMwOTNZNjEwOTVEMDEqDQorWDE3MzExNFk2MDk3OEQwMSoNCitYMTczMTUyWTYwODY2RDAxKg0KK1gxNzMyMDhZNjA3NjJEMDEqDQorWDE3MzI3OVk2MDY2N0QwMSoNCitYMTczMzY1WTYwNTg1RDAxKg0KK1gxNzM0NjJZNjA1MTdEMDEqDQorWDE3MzU2OFk2MDQ2NUQwMSoNCitYMTczNjgyWTYwNDMwRDAxKg0KK1gxNzM3OTlZNjA0MTREMDEqDQorWDE3MzkxOFk2MDQxNkQwMSoNCitYMTc0MDM0WTYwNDM2RDAxKg0KK1gxNzQxNDZZNjA0NzdEMDEqDQorWDE3NDQyMVk2MDU4NkQwMSoNCitYMTc0NzA2WTYwNjY2RDAxKg0KK1gxNzQ5OThZNjA3MjBEMDEqDQorWDE3NTI5M1k2MDc0N0QwMSoNCitYMTc1NDQxRDAxKg0KK1k1NDI1M0QwMSoNCitYMTc1MjkzRDAxKg0KK1gxNzQ5OThZNTQyODBEMDEqDQorWDE3NDcwNlk1NDMzNEQwMSoNCitYMTc0NDIxWTU0NDE0RDAxKg0KK1gxNzQxNDRZNTQ1MjBEMDEqDQorWDE3NDAzNFk1NDU2MEQwMSoNCitYMTczOTE3WTU0NTgxRDAxKg0KK1gxNzM3OTlZNTQ1ODNEMDEqDQorWDE3MzY4Mlk1NDU2N0QwMSoNCitYMTczNTcwWTU0NTMyRDAxKg0KK1gxNzM0NjNZNTQ0ODBEMDEqDQorWDE3MzM2N1k1NDQxM0QwMSoNCitYMTczMjgyWTU0MzMxRDAxKg0KK1gxNzMyMTFZNTQyMzdEMDEqDQorWDE3MzE1NVk1NDEzMkQwMSoNCitYMTczMTE3WTU0MDIxRDAxKg0KK1gxNzMwOTZZNTM5MDREMDEqDQorWDE3MzA5NFk1Mzc4NkQwMSoNCitYMTczMTExWTUzNjcwRDAxKg0KK1gxNzMxNDVZNTM1NTdEMDEqDQorWDE3MzE5N1k1MzQ1MEQwMSoNCitYMTczMjY0WTUzMzU0RDAxKg0KK1gxNzMzNDZZNTMyNjlEMDEqDQorWDE3MzQ0MVk1MzE5OEQwMSoNCitYMTczNTQ2WTUzMTQ0RDAxKg0KK1gxNzM5NDlZNTI5ODVEMDEqDQorWDE3NDM2Nlk1Mjg2OEQwMSoNCitYMTc0NzkzWTUyNzg5RDAxKg0KK1gxNzUyMjRZNTI3NTBEMDEqDQorWDE3NTQ0MUQwMSoNCitZNTIyNDNEMDEqDQorWDE3MTk1Nlk1MjIzNkQwMSoNCitYMTcxNzI2WTUyMTgxRDAxKg0KK1gxNzE2MDlZNTIxMzNEMDEqDQorWTU1MTY2RDAxKg0KK1gxNzE2MTBZNTUxNjZEMDEqDQorWDE3MTcyN1k1NTE1MEQwMSoNCitYMTcxODQ2WTU1MTUyRDAxKg0KK1gxNzE5NjNZNTUxNzNEMDEqDQorWDE3MjA3NVk1NTIxMUQwMSoNCitYMTcyMTc5WTU1MjY3RDAxKg0KK1gxNzIyNzRZNTUzMzhEMDEqDQorWDE3MjM1Nlk1NTQyNEQwMSoNCitYMTcyNDI0WTU1NTIxRDAxKg0KK1gxNzI0NzZZNTU2MjdEMDEqDQorWDE3MjUxMVk1NTc0MUQwMSoNCitYMTcyNTI3WTU1ODU4RDAxKg0KK1gxNzI1MjVZNTU5NzdEMDEqDQorWDE3MjUwNVk1NjA5M0QwMSoNCitYMTcyNDY0WTU2MjA1RDAxKg0KK1gxNzIzNTVZNTY0ODBEMDEqDQorWDE3MjI3NVk1Njc2NUQwMSoNCitYMTcyMjIxWTU3MDU3RDAxKg0KK1gxNzIxOTRZNTczNTJEMDEqDQorWTU3NjQ4RDAxKg0KK1gxNzIyMjFZNTc5NDNEMDEqDQorWDE3MjI3NVk1ODIzNUQwMSoNCitYMTcyMzU1WTU4NTIwRDAxKg0KK1gxNzI0NjFZNTg3OTdEMDEqDQorWDE3MjUwMVk1ODkwN0QwMSoNCitYMTcyNTIyWTU5MDI0RDAxKg0KK1gxNzI1MjRZNTkxNDJEMDEqDQorWDE3MjUwOFk1OTI1OUQwMSoNCitYMTcyNDczWTU5MzcxRDAxKg0KK1gxNzI0MjFZNTk0NzhEMDEqDQorWDE3MjM1NFk1OTU3NEQwMSoNCitYMTcyMjcyWTU5NjU5RDAxKg0KK1gxNzIxNzhZNTk3MzBEMDEqDQorWDE3MjA3M1k1OTc4NkQwMSoNCitYMTcxOTYyWTU5ODI0RDAxKg0KK1gxNzE4NDVZNTk4NDVEMDEqDQorWDE3MTcyN1k1OTg0N0QwMSoNCitYMTcxNjEwWTU5ODMwRDAxKg0KK1gxNzE2MDlZNTk4MzBEMDEqDQorWTY0NjczRDAxKg0KK0czNyoNCitHMzYqDQorWTcyNTAwRDAyKlgxNzU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1gxNzQ2OTZZNzIyMDZEMDEqDQorWDE3Mzk2OVk3MjAzMUQwMSoNCitYMTczMjc4WTcxNzQ1RDAxKg0KK1gxNzI2NDBZNzEzNTVEMDEqDQorWDE3MjA3Mlk3MDg2OUQwMSoNCitYMTcxNjA5WTcwMzI3RDAxKg0KK1k3MjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzU0NDFZMzkwMDBEMDIqWDE3MTYwOUQwMSoNCitZNDI4NjdEMDEqDQorWDE3MTcyNlk0MjgxOUQwMSoNCitYMTcxOTU2WTQyNzY0RDAxKg0KK1gxNzIxOTFZNDI3NTBEMDEqDQorWDE3NTQ0MVk0Mjc1N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTcxNjA5RDAyKlgxNDkyNzNEMDEqDQorWTQyODY3RDAxKg0KK1gxNDkzNzRZNDI5MDlEMDEqDQorWDE0OTU3NVk0MzAzM0QwMSoNCitYMTQ5NzU1WTQzMTg2RDAxKg0KK1gxNDk5MDhZNDMzNjZEMDEqDQorWDE1MDAzMlk0MzU2N0QwMSoNCitYMTUwMTIyWTQzNzg1RDAxKg0KK1gxNTAxNzdZNDQwMTVEMDEqDQorWDE1MDE5MVk0NDI1MEQwMSoNCitYMTUwMTc3WTUwOTg1RDAxKg0KK1gxNTAxMjJZNTEyMTVEMDEqDQorWDE1MDAzMlk1MTQzM0QwMSoNCitYMTQ5OTA4WTUxNjM0RDAxKg0KK1gxNDk3NTVZNTE4MTREMDEqDQorWDE0OTU3NVk1MTk2N0QwMSoNCitYMTQ5Mzc0WTUyMDkxRDAxKg0KK1gxNDkyNzNZNTIxMzNEMDEqDQorWTU1MTcwRDAxKg0KK1gxNDkzODRZNTUyMDREMDEqDQorWDE0OTQ5MVk1NTI1NkQwMSoNCitYMTQ5NTg3WTU1MzIzRDAxKg0KK1gxNDk2NzJZNTU0MDVEMDEqDQorWDE0OTc0M1k1NTUwMEQwMSoNCitYMTQ5Nzk3WTU1NjA1RDAxKg0KK1gxNDk5NTZZNTYwMDhEMDEqDQorWDE1MDA3M1k1NjQyNUQwMSoNCitYMTUwMTUyWTU2ODUyRDAxKg0KK1gxNTAxOTFZNTcyODNEMDEqDQorWTU3NzE3RDAxKg0KK1gxNTAxNTJZNTgxNDhEMDEqDQorWDE1MDA3M1k1ODU3NUQwMSoNCitYMTQ5OTU2WTU4OTkyRDAxKg0KK1gxNDk4MDFZNTkzOTdEMDEqDQorWDE0OTc0Nlk1OTUwMkQwMSoNCitYMTQ5Njc1WTU5NTk3RDAxKg0KK1gxNDk1ODlZNTk2NzlEMDEqDQorWDE0OTQ5Mlk1OTc0N0QwMSoNCitYMTQ5Mzg2WTU5Nzk5RDAxKg0KK1gxNDkyNzNZNTk4MzREMDEqDQorWTY0NjczRDAxKg0KK1gxNDkyOTZZNjQ2OTlEMDEqDQorWDE0OTY4Nlk2NTMzN0QwMSoNCitYMTQ5OTcyWTY2MDI4RDAxKg0KK1gxNTAxNDdZNjY3NTVEMDEqDQorWDE1MDE5MVk2NzUwMEQwMSoNCitYMTUwMTQ3WTY4MjQ1RDAxKg0KK1gxNDk5NzJZNjg5NzJEMDEqDQorWDE0OTY4Nlk2OTY2M0QwMSoNCitYMTQ5Mjk2WTcwMzAxRDAxKg0KK1gxNDkyNzNZNzAzMjdEMDEqDQorWTcyNTAwRDAxKg0KK1gxNzE2MDlEMDEqDQorWTcwMzI3RDAxKg0KK1gxNzE1ODZZNzAzMDFEMDEqDQorWDE3MTE5Nlk2OTY2M0QwMSoNCitYMTcwOTEwWTY4OTcyRDAxKg0KK1gxNzA3MzVZNjgyNDVEMDEqDQorWDE3MDY3Nlk2NzUwMEQwMSoNCitYMTcwNzM1WTY2NzU1RDAxKg0KK1gxNzA5MTBZNjYwMjhEMDEqDQorWDE3MTE5Nlk2NTMzN0QwMSoNCitYMTcxNTg2WTY0Njk5RDAxKg0KK1gxNzE2MDlZNjQ2NzNEMDEqDQorWTU5ODMwRDAxKg0KK1gxNzE0OThZNTk3OTZEMDEqDQorWDE3MTM5MVk1OTc0NEQwMSoNCitYMTcxMjk1WTU5Njc3RDAxKg0KK1gxNzEyMTBZNTk1OTVEMDEqDQorWDE3MTEzOVk1OTUwMEQwMSoNCitYMTcxMDg1WTU5Mzk1RDAxKg0KK1gxNzA5MjZZNTg5OTJEMDEqDQorWDE3MDgwOVk1ODU3NUQwMSoNCitYMTcwNzMwWTU4MTQ4RDAxKg0KK1gxNzA2OTFZNTc3MTdEMDEqDQorWTU3MjgzRDAxKg0KK1gxNzA3MzBZNTY4NTJEMDEqDQorWDE3MDgwOVk1NjQyNUQwMSoNCitYMTcwOTI2WTU2MDA4RDAxKg0KK1gxNzEwODFZNTU2MDNEMDEqDQorWDE3MTEzNlk1NTQ5OEQwMSoNCitYMTcxMjA3WTU1NDAzRDAxKg0KK1gxNzEyOTNZNTUzMjFEMDEqDQorWDE3MTM5MFk1NTI1M0QwMSoNCitYMTcxNDk2WTU1MjAxRDAxKg0KK1gxNzE2MDlZNTUxNjZEMDEqDQorWTUyMTMzRDAxKg0KK1gxNzE1MDhZNTIwOTFEMDEqDQorWDE3MTMwN1k1MTk2N0QwMSoNCitYMTcxMTI3WTUxODE0RDAxKg0KK1gxNzA5NzRZNTE2MzREMDEqDQorWDE3MDg1MFk1MTQzM0QwMSoNCitYMTcwNzYwWTUxMjE1RDAxKg0KK1gxNzA3MDVZNTA5ODVEMDEqDQorWDE3MDY5MVk1MDc1MEQwMSoNCitYMTcwNzA1WTQ0MDE1RDAxKg0KK1gxNzA3NjBZNDM3ODVEMDEqDQorWDE3MDg1MFk0MzU2N0QwMSoNCitYMTcwOTc0WTQzMzY2RDAxKg0KK1gxNzExMjdZNDMxODZEMDEqDQorWDE3MTMwN1k0MzAzM0QwMSoNCitYMTcxNTA4WTQyOTA5RDAxKg0KK1gxNzE2MDlZNDI4NjdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0OTI3M1k3MDMyN0QwMipYMTQ4ODEwWTcwODY5RDAxKg0KK1gxNDgyNDJZNzEzNTVEMDEqDQorWDE0NzYwNFk3MTc0NUQwMSoNCitYMTQ2OTEzWTcyMDMxRDAxKg0KK1gxNDYxODZZNzIyMDZEMDEqDQorWDE0NTQ0MVk3MjI2NUQwMSoNCitZNzI1MDBEMDEqDQorWDE0OTI3M0QwMSoNCitZNzAzMjdEMDEqDQorRzM3Kg0KK0czNioNCitZNTIxMzNEMDIqWDE0OTE1Nlk1MjE4MUQwMSoNCitYMTQ4OTI2WTUyMjM2RDAxKg0KK1gxNDg2OTFZNTIyNTBEMDEqDQorWDE0NTQ0MVk1MjI0M0QwMSoNCitZNTI3NTBEMDEqDQorWDE0NTY1OEQwMSoNCitYMTQ2MDg5WTUyNzg5RDAxKg0KK1gxNDY1MTZZNTI4NjhEMDEqDQorWDE0NjkzM1k1Mjk4NUQwMSoNCitYMTQ3MzM4WTUzMTQwRDAxKg0KK1gxNDc0NDNZNTMxOTVEMDEqDQorWDE0NzUzOFk1MzI2NkQwMSoNCitYMTQ3NjIwWTUzMzUyRDAxKg0KK1gxNDc2ODhZNTM0NDlEMDEqDQorWDE0Nzc0MFk1MzU1NUQwMSoNCitYMTQ3Nzc1WTUzNjY5RDAxKg0KK1gxNDc3OTFZNTM3ODZEMDEqDQorWDE0Nzc4OVk1MzkwNUQwMSoNCitYMTQ3NzY4WTU0MDIyRDAxKg0KK1gxNDc3MzBZNTQxMzREMDEqDQorWDE0NzY3NFk1NDIzOEQwMSoNCitYMTQ3NjAzWTU0MzMzRDAxKg0KK1gxNDc1MTdZNTQ0MTVEMDEqDQorWDE0NzQyMFk1NDQ4M0QwMSoNCitYMTQ3MzE0WTU0NTM1RDAxKg0KK1gxNDcyMDBZNTQ1NzBEMDEqDQorWDE0NzA4M1k1NDU4NkQwMSoNCitYMTQ2OTY0WTU0NTg0RDAxKg0KK1gxNDY4NDhZNTQ1NjREMDEqDQorWDE0NjczNlk1NDUyM0QwMSoNCitYMTQ2NDYxWTU0NDE0RDAxKg0KK1gxNDYxNzZZNTQzMzREMDEqDQorWDE0NTg4NFk1NDI4MEQwMSoNCitYMTQ1NTg5WTU0MjUzRDAxKg0KK1gxNDU0NDFEMDEqDQorWTYwNzQ3RDAxKg0KK1gxNDU1ODlEMDEqDQorWDE0NTg4NFk2MDcyMEQwMSoNCitYMTQ2MTc2WTYwNjY2RDAxKg0KK1gxNDY0NjFZNjA1ODZEMDEqDQorWDE0NjczOFk2MDQ4MEQwMSoNCitYMTQ2ODQ4WTYwNDQwRDAxKg0KK1gxNDY5NjVZNjA0MTlEMDEqDQorWDE0NzA4M1k2MDQxN0QwMSoNCitYMTQ3MjAwWTYwNDMzRDAxKg0KK1gxNDczMTJZNjA0NjhEMDEqDQorWDE0NzQxOVk2MDUyMEQwMSoNCitYMTQ3NTE1WTYwNTg3RDAxKg0KK1gxNDc2MDBZNjA2NjlEMDEqDQorWDE0NzY3MVk2MDc2M0QwMSoNCitYMTQ3NzI3WTYwODY4RDAxKg0KK1gxNDc3NjVZNjA5NzlEMDEqDQorWDE0Nzc4Nlk2MTA5NkQwMSoNCitYMTQ3Nzg4WTYxMjE0RDAxKg0KK1gxNDc3NzFZNjEzMzBEMDEqDQorWDE0NzczN1k2MTQ0M0QwMSoNCitYMTQ3Njg1WTYxNTUwRDAxKg0KK1gxNDc2MThZNjE2NDZEMDEqDQorWDE0NzUzNlk2MTczMUQwMSoNCitYMTQ3NDQxWTYxODAyRDAxKg0KK1gxNDczMzZZNjE4NTZEMDEqDQorWDE0NjkzM1k2MjAxNUQwMSoNCitYMTQ2NTE2WTYyMTMyRDAxKg0KK1gxNDYwODlZNjIyMTFEMDEqDQorWDE0NTY1OFk2MjI1MEQwMSoNCitYMTQ1NDQxRDAxKg0KK1k2MjczNUQwMSoNCitYMTQ2MTg2WTYyNzk0RDAxKg0KK1gxNDY5MTNZNjI5NjlEMDEqDQorWDE0NzYwNFk2MzI1NUQwMSoNCitYMTQ4MjQyWTYzNjQ1RDAxKg0KK1gxNDg4MTBZNjQxMzFEMDEqDQorWDE0OTI3M1k2NDY3M0QwMSoNCitZNTk4MzREMDEqDQorWDE0OTI3Mlk1OTgzNEQwMSoNCitYMTQ5MTU1WTU5ODUwRDAxKg0KK1gxNDkwMzZZNTk4NDhEMDEqDQorWDE0ODkxOVk1OTgyN0QwMSoNCitYMTQ4ODA3WTU5Nzg5RDAxKg0KK1gxNDg3MDNZNTk3MzNEMDEqDQorWDE0ODYwOFk1OTY2MkQwMSoNCitYMTQ4NTI2WTU5NTc2RDAxKg0KK1gxNDg0NThZNTk0NzlEMDEqDQorWDE0ODQwNlk1OTM3M0QwMSoNCitYMTQ4MzcxWTU5MjU5RDAxKg0KK1gxNDgzNTVZNTkxNDJEMDEqDQorWDE0ODM1N1k1OTAyM0QwMSoNCitYMTQ4Mzc3WTU4OTA3RDAxKg0KK1gxNDg0MThZNTg3OTVEMDEqDQorWDE0ODUyN1k1ODUyMEQwMSoNCitYMTQ4NjA3WTU4MjM1RDAxKg0KK1gxNDg2NjFZNTc5NDNEMDEqDQorWDE0ODY4OFk1NzY0OEQwMSoNCitZNTczNTJEMDEqDQorWDE0ODY2MVk1NzA1N0QwMSoNCitYMTQ4NjA3WTU2NzY1RDAxKg0KK1gxNDg1MjdZNTY0ODBEMDEqDQorWDE0ODQyMVk1NjIwM0QwMSoNCitYMTQ4MzgxWTU2MDkzRDAxKg0KK1gxNDgzNjBZNTU5NzZEMDEqDQorWDE0ODM1OFk1NTg1OEQwMSoNCitYMTQ4Mzc0WTU1NzQxRDAxKg0KK1gxNDg0MDlZNTU2MjlEMDEqDQorWDE0ODQ2MVk1NTUyMkQwMSoNCitYMTQ4NTI4WTU1NDI2RDAxKg0KK1gxNDg2MTBZNTUzNDFEMDEqDQorWDE0ODcwNFk1NTI3MEQwMSoNCitYMTQ4ODA5WTU1MjE0RDAxKg0KK1gxNDg5MjBZNTUxNzZEMDEqDQorWDE0OTAzN1k1NTE1NUQwMSoNCitYMTQ5MTU1WTU1MTUzRDAxKg0KK1gxNDkyNzFZNTUxNzBEMDEqDQorWDE0OTI3M1k1NTE3MEQwMSoNCitZNTIxMzNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDE0NTQ0MUQwMSoNCitZNDI3NTdEMDEqDQorWDE0ODkyNlk0Mjc2NEQwMSoNCitYMTQ5MTU2WTQyODE5RDAxKg0KK1gxNDkyNzNZNDI4NjdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0MTYwOVk2NDY3M0QwMipYMTQyMDcyWTY0MTMxRDAxKg0KK1gxNDI2NDBZNjM2NDVEMDEqDQorWDE0MzI3OFk2MzI1NUQwMSoNCitYMTQzOTY5WTYyOTY5RDAxKg0KK1gxNDQ2OTZZNjI3OTREMDEqDQorWDE0NTQ0MVk2MjczNUQwMSoNCitZNjIyNTBEMDEqDQorWDE0NTIyNEQwMSoNCitYMTQ0NzkzWTYyMjExRDAxKg0KK1gxNDQzNjZZNjIxMzJEMDEqDQorWDE0Mzk0OVk2MjAxNUQwMSoNCitYMTQzNTQ0WTYxODYwRDAxKg0KK1gxNDM0MzlZNjE4MDVEMDEqDQorWDE0MzM0NFk2MTczNEQwMSoNCitYMTQzMjYyWTYxNjQ4RDAxKg0KK1gxNDMxOTRZNjE1NTFEMDEqDQorWDE0MzE0Mlk2MTQ0NUQwMSoNCitYMTQzMTA3WTYxMzMxRDAxKg0KK1gxNDMwOTFZNjEyMTREMDEqDQorWDE0MzA5M1k2MTA5NUQwMSoNCitYMTQzMTE0WTYwOTc4RDAxKg0KK1gxNDMxNTJZNjA4NjZEMDEqDQorWDE0MzIwOFk2MDc2MkQwMSoNCitYMTQzMjc5WTYwNjY3RDAxKg0KK1gxNDMzNjVZNjA1ODVEMDEqDQorWDE0MzQ2Mlk2MDUxN0QwMSoNCitYMTQzNTY4WTYwNDY1RDAxKg0KK1gxNDM2ODJZNjA0MzBEMDEqDQorWDE0Mzc5OVk2MDQxNEQwMSoNCitYMTQzOTE4WTYwNDE2RDAxKg0KK1gxNDQwMzRZNjA0MzZEMDEqDQorWDE0NDE0Nlk2MDQ3N0QwMSoNCitYMTQ0NDIxWTYwNTg2RDAxKg0KK1gxNDQ3MDZZNjA2NjZEMDEqDQorWDE0NDk5OFk2MDcyMEQwMSoNCitYMTQ1MjkzWTYwNzQ3RDAxKg0KK1gxNDU0NDFEMDEqDQorWTU0MjUzRDAxKg0KK1gxNDUyOTNEMDEqDQorWDE0NDk5OFk1NDI4MEQwMSoNCitYMTQ0NzA2WTU0MzM0RDAxKg0KK1gxNDQ0MjFZNTQ0MTREMDEqDQorWDE0NDE0NFk1NDUyMEQwMSoNCitYMTQ0MDM0WTU0NTYwRDAxKg0KK1gxNDM5MTdZNTQ1ODFEMDEqDQorWDE0Mzc5OVk1NDU4M0QwMSoNCitYMTQzNjgyWTU0NTY3RDAxKg0KK1gxNDM1NzBZNTQ1MzJEMDEqDQorWDE0MzQ2M1k1NDQ4MEQwMSoNCitYMTQzMzY3WTU0NDEzRDAxKg0KK1gxNDMyODJZNTQzMzFEMDEqDQorWDE0MzIxMVk1NDIzN0QwMSoNCitYMTQzMTU1WTU0MTMyRDAxKg0KK1gxNDMxMTdZNTQwMjFEMDEqDQorWDE0MzA5Nlk1MzkwNEQwMSoNCitYMTQzMDk0WTUzNzg2RDAxKg0KK1gxNDMxMTFZNTM2NzBEMDEqDQorWDE0MzE0NVk1MzU1N0QwMSoNCitYMTQzMTk3WTUzNDUwRDAxKg0KK1gxNDMyNjRZNTMzNTREMDEqDQorWDE0MzM0Nlk1MzI2OUQwMSoNCitYMTQzNDQxWTUzMTk4RDAxKg0KK1gxNDM1NDZZNTMxNDREMDEqDQorWDE0Mzk0OVk1Mjk4NUQwMSoNCitYMTQ0MzY2WTUyODY4RDAxKg0KK1gxNDQ3OTNZNTI3ODlEMDEqDQorWDE0NTIyNFk1Mjc1MEQwMSoNCitYMTQ1NDQxRDAxKg0KK1k1MjI0M0QwMSoNCitYMTQxOTU2WTUyMjM2RDAxKg0KK1gxNDE3MjZZNTIxODFEMDEqDQorWDE0MTYwOVk1MjEzM0QwMSoNCitZNTUxNjZEMDEqDQorWDE0MTYxMFk1NTE2NkQwMSoNCitYMTQxNzI3WTU1MTUwRDAxKg0KK1gxNDE4NDZZNTUxNTJEMDEqDQorWDE0MTk2M1k1NTE3M0QwMSoNCitYMTQyMDc1WTU1MjExRDAxKg0KK1gxNDIxNzlZNTUyNjdEMDEqDQorWDE0MjI3NFk1NTMzOEQwMSoNCitYMTQyMzU2WTU1NDI0RDAxKg0KK1gxNDI0MjRZNTU1MjFEMDEqDQorWDE0MjQ3Nlk1NTYyN0QwMSoNCitYMTQyNTExWTU1NzQxRDAxKg0KK1gxNDI1MjdZNTU4NThEMDEqDQorWDE0MjUyNVk1NTk3N0QwMSoNCitYMTQyNTA1WTU2MDkzRDAxKg0KK1gxNDI0NjRZNTYyMDVEMDEqDQorWDE0MjM1NVk1NjQ4MEQwMSoNCitYMTQyMjc1WTU2NzY1RDAxKg0KK1gxNDIyMjFZNTcwNTdEMDEqDQorWDE0MjE5NFk1NzM1MkQwMSoNCitZNTc2NDhEMDEqDQorWDE0MjIyMVk1Nzk0M0QwMSoNCitYMTQyMjc1WTU4MjM1RDAxKg0KK1gxNDIzNTVZNTg1MjBEMDEqDQorWDE0MjQ2MVk1ODc5N0QwMSoNCitYMTQyNTAxWTU4OTA3RDAxKg0KK1gxNDI1MjJZNTkwMjREMDEqDQorWDE0MjUyNFk1OTE0MkQwMSoNCitYMTQyNTA4WTU5MjU5RDAxKg0KK1gxNDI0NzNZNTkzNzFEMDEqDQorWDE0MjQyMVk1OTQ3OEQwMSoNCitYMTQyMzU0WTU5NTc0RDAxKg0KK1gxNDIyNzJZNTk2NTlEMDEqDQorWDE0MjE3OFk1OTczMEQwMSoNCitYMTQyMDczWTU5Nzg2RDAxKg0KK1gxNDE5NjJZNTk4MjREMDEqDQorWDE0MTg0NVk1OTg0NUQwMSoNCitYMTQxNzI3WTU5ODQ3RDAxKg0KK1gxNDE2MTBZNTk4MzBEMDEqDQorWDE0MTYwOVk1OTgzMEQwMSoNCitZNjQ2NzNEMDEqDQorRzM3Kg0KK0czNioNCitZNzI1MDBEMDIqWDE0NTQ0MUQwMSoNCitZNzIyNjVEMDEqDQorWDE0NDY5Nlk3MjIwNkQwMSoNCitYMTQzOTY5WTcyMDMxRDAxKg0KK1gxNDMyNzhZNzE3NDVEMDEqDQorWDE0MjY0MFk3MTM1NUQwMSoNCitYMTQyMDcyWTcwODY5RDAxKg0KK1gxNDE2MDlZNzAzMjdEMDEqDQorWTcyNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0NTQ0MVkzOTAwMEQwMipYMTQxNjA5RDAxKg0KK1k0Mjg2N0QwMSoNCitYMTQxNzI2WTQyODE5RDAxKg0KK1gxNDE5NTZZNDI3NjREMDEqDQorWDE0MjE5MVk0Mjc1MEQwMSoNCitYMTQ1NDQxWTQyNzU3RDAxKg0KK1kzOTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDE2MDlEMDIqWDExOTI3M0QwMSoNCitZNDI4NjdEMDEqDQorWDExOTM3NFk0MjkwOUQwMSoNCitYMTE5NTc1WTQzMDMzRDAxKg0KK1gxMTk3NTVZNDMxODZEMDEqDQorWDExOTkwOFk0MzM2NkQwMSoNCitYMTIwMDMyWTQzNTY3RDAxKg0KK1gxMjAxMjJZNDM3ODVEMDEqDQorWDEyMDE3N1k0NDAxNUQwMSoNCitYMTIwMTkxWTQ0MjUwRDAxKg0KK1gxMjAxNzdZNTA5ODVEMDEqDQorWDEyMDEyMlk1MTIxNUQwMSoNCitYMTIwMDMyWTUxNDMzRDAxKg0KK1gxMTk5MDhZNTE2MzREMDEqDQorWDExOTc1NVk1MTgxNEQwMSoNCitYMTE5NTc1WTUxOTY3RDAxKg0KK1gxMTkzNzRZNTIwOTFEMDEqDQorWDExOTI3M1k1MjEzM0QwMSoNCitZNTUxNzBEMDEqDQorWDExOTM4NFk1NTIwNEQwMSoNCitYMTE5NDkxWTU1MjU2RDAxKg0KK1gxMTk1ODdZNTUzMjNEMDEqDQorWDExOTY3Mlk1NTQwNUQwMSoNCitYMTE5NzQzWTU1NTAwRDAxKg0KK1gxMTk3OTdZNTU2MDVEMDEqDQorWDExOTk1Nlk1NjAwOEQwMSoNCitYMTIwMDczWTU2NDI1RDAxKg0KK1gxMjAxNTJZNTY4NTJEMDEqDQorWDEyMDE5MVk1NzI4M0QwMSoNCitZNTc3MTdEMDEqDQorWDEyMDE1Mlk1ODE0OEQwMSoNCitYMTIwMDczWTU4NTc1RDAxKg0KK1gxMTk5NTZZNTg5OTJEMDEqDQorWDExOTgwMVk1OTM5N0QwMSoNCitYMTE5NzQ2WTU5NTAyRDAxKg0KK1gxMTk2NzVZNTk1OTdEMDEqDQorWDExOTU4OVk1OTY3OUQwMSoNCitYMTE5NDkyWTU5NzQ3RDAxKg0KK1gxMTkzODZZNTk3OTlEMDEqDQorWDExOTI3M1k1OTgzNEQwMSoNCitZNjQ2NzNEMDEqDQorWDExOTI5Nlk2NDY5OUQwMSoNCitYMTE5Njg2WTY1MzM3RDAxKg0KK1gxMTk5NzJZNjYwMjhEMDEqDQorWDEyMDE0N1k2Njc1NUQwMSoNCitYMTIwMTkxWTY3NTAwRDAxKg0KK1gxMjAxNDdZNjgyNDVEMDEqDQorWDExOTk3Mlk2ODk3MkQwMSoNCitYMTE5Njg2WTY5NjYzRDAxKg0KK1gxMTkyOTZZNzAzMDFEMDEqDQorWDExOTI3M1k3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorWDE0MTYwOUQwMSoNCitZNzAzMjdEMDEqDQorWDE0MTU4Nlk3MDMwMUQwMSoNCitYMTQxMTk2WTY5NjYzRDAxKg0KK1gxNDA5MTBZNjg5NzJEMDEqDQorWDE0MDczNVk2ODI0NUQwMSoNCitYMTQwNjc2WTY3NTAwRDAxKg0KK1gxNDA3MzVZNjY3NTVEMDEqDQorWDE0MDkxMFk2NjAyOEQwMSoNCitYMTQxMTk2WTY1MzM3RDAxKg0KK1gxNDE1ODZZNjQ2OTlEMDEqDQorWDE0MTYwOVk2NDY3M0QwMSoNCitZNTk4MzBEMDEqDQorWDE0MTQ5OFk1OTc5NkQwMSoNCitYMTQxMzkxWTU5NzQ0RDAxKg0KK1gxNDEyOTVZNTk2NzdEMDEqDQorWDE0MTIxMFk1OTU5NUQwMSoNCitYMTQxMTM5WTU5NTAwRDAxKg0KK1gxNDEwODVZNTkzOTVEMDEqDQorWDE0MDkyNlk1ODk5MkQwMSoNCitYMTQwODA5WTU4NTc1RDAxKg0KK1gxNDA3MzBZNTgxNDhEMDEqDQorWDE0MDY5MVk1NzcxN0QwMSoNCitZNTcyODNEMDEqDQorWDE0MDczMFk1Njg1MkQwMSoNCitYMTQwODA5WTU2NDI1RDAxKg0KK1gxNDA5MjZZNTYwMDhEMDEqDQorWDE0MTA4MVk1NTYwM0QwMSoNCitYMTQxMTM2WTU1NDk4RDAxKg0KK1gxNDEyMDdZNTU0MDNEMDEqDQorWDE0MTI5M1k1NTMyMUQwMSoNCitYMTQxMzkwWTU1MjUzRDAxKg0KK1gxNDE0OTZZNTUyMDFEMDEqDQorWDE0MTYwOVk1NTE2NkQwMSoNCitZNTIxMzNEMDEqDQorWDE0MTUwOFk1MjA5MUQwMSoNCitYMTQxMzA3WTUxOTY3RDAxKg0KK1gxNDExMjdZNTE4MTREMDEqDQorWDE0MDk3NFk1MTYzNEQwMSoNCitYMTQwODUwWTUxNDMzRDAxKg0KK1gxNDA3NjBZNTEyMTVEMDEqDQorWDE0MDcwNVk1MDk4NUQwMSoNCitYMTQwNjkxWTUwNzUwRDAxKg0KK1gxNDA3MDVZNDQwMTVEMDEqDQorWDE0MDc2MFk0Mzc4NUQwMSoNCitYMTQwODUwWTQzNTY3RDAxKg0KK1gxNDA5NzRZNDMzNjZEMDEqDQorWDE0MTEyN1k0MzE4NkQwMSoNCitYMTQxMzA3WTQzMDMzRDAxKg0KK1gxNDE1MDhZNDI5MDlEMDEqDQorWDE0MTYwOVk0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE5MjczWTcwMzI3RDAyKlgxMTg4MTBZNzA4NjlEMDEqDQorWDExODI0Mlk3MTM1NUQwMSoNCitYMTE3NjA0WTcxNzQ1RDAxKg0KK1gxMTY5MTNZNzIwMzFEMDEqDQorWDExNjE4Nlk3MjIwNkQwMSoNCitYMTE1NDQxWTcyMjY1RDAxKg0KK1k3MjUwMEQwMSoNCitYMTE5MjczRDAxKg0KK1k3MDMyN0QwMSoNCitHMzcqDQorRzM2Kg0KK1k1MjEzM0QwMipYMTE5MTU2WTUyMTgxRDAxKg0KK1gxMTg5MjZZNTIyMzZEMDEqDQorWDExODY5MVk1MjI1MEQwMSoNCitYMTE1NDQxWTUyMjQzRDAxKg0KK1k1Mjc1MEQwMSoNCitYMTE1NjU4RDAxKg0KK1gxMTYwODlZNTI3ODlEMDEqDQorWDExNjUxNlk1Mjg2OEQwMSoNCitYMTE2OTMzWTUyOTg1RDAxKg0KK1gxMTczMzhZNTMxNDBEMDEqDQorWDExNzQ0M1k1MzE5NUQwMSoNCitYMTE3NTM4WTUzMjY2RDAxKg0KK1gxMTc2MjBZNTMzNTJEMDEqDQorWDExNzY4OFk1MzQ0OUQwMSoNCitYMTE3NzQwWTUzNTU1RDAxKg0KK1gxMTc3NzVZNTM2NjlEMDEqDQorWDExNzc5MVk1Mzc4NkQwMSoNCitYMTE3Nzg5WTUzOTA1RDAxKg0KK1gxMTc3NjhZNTQwMjJEMDEqDQorWDExNzczMFk1NDEzNEQwMSoNCitYMTE3Njc0WTU0MjM4RDAxKg0KK1gxMTc2MDNZNTQzMzNEMDEqDQorWDExNzUxN1k1NDQxNUQwMSoNCitYMTE3NDIwWTU0NDgzRDAxKg0KK1gxMTczMTRZNTQ1MzVEMDEqDQorWDExNzIwMFk1NDU3MEQwMSoNCitYMTE3MDgzWTU0NTg2RDAxKg0KK1gxMTY5NjRZNTQ1ODREMDEqDQorWDExNjg0N1k1NDU2NEQwMSoNCitYMTE2NzM2WTU0NTIzRDAxKg0KK1gxMTY0NjFZNTQ0MTREMDEqDQorWDExNjE3Nlk1NDMzNEQwMSoNCitYMTE1ODg0WTU0MjgwRDAxKg0KK1gxMTU1ODlZNTQyNTNEMDEqDQorWDExNTQ0MUQwMSoNCitZNjA3NDdEMDEqDQorWDExNTU4OUQwMSoNCitYMTE1ODg0WTYwNzIwRDAxKg0KK1gxMTYxNzZZNjA2NjZEMDEqDQorWDExNjQ2MVk2MDU4NkQwMSoNCitYMTE2NzM4WTYwNDgwRDAxKg0KK1gxMTY4NDhZNjA0NDBEMDEqDQorWDExNjk2NVk2MDQxOUQwMSoNCitYMTE3MDgzWTYwNDE3RDAxKg0KK1gxMTcyMDBZNjA0MzNEMDEqDQorWDExNzMxMlk2MDQ2OEQwMSoNCitYMTE3NDE5WTYwNTIwRDAxKg0KK1gxMTc1MTVZNjA1ODdEMDEqDQorWDExNzYwMFk2MDY2OUQwMSoNCitYMTE3NjcxWTYwNzYzRDAxKg0KK1gxMTc3MjdZNjA4NjhEMDEqDQorWDExNzc2NVk2MDk3OUQwMSoNCitYMTE3Nzg2WTYxMDk2RDAxKg0KK1gxMTc3ODhZNjEyMTREMDEqDQorWDExNzc3MVk2MTMzMEQwMSoNCitYMTE3NzM3WTYxNDQzRDAxKg0KK1gxMTc2ODVZNjE1NTBEMDEqDQorWDExNzYxOFk2MTY0NkQwMSoNCitYMTE3NTM2WTYxNzMxRDAxKg0KK1gxMTc0NDFZNjE4MDJEMDEqDQorWDExNzMzNlk2MTg1NkQwMSoNCitYMTE2OTMzWTYyMDE1RDAxKg0KK1gxMTY1MTZZNjIxMzJEMDEqDQorWDExNjA4OVk2MjIxMUQwMSoNCitYMTE1NjU4WTYyMjUwRDAxKg0KK1gxMTU0NDFEMDEqDQorWTYyNzM1RDAxKg0KK1gxMTYxODZZNjI3OTREMDEqDQorWDExNjkxM1k2Mjk2OUQwMSoNCitYMTE3NjA0WTYzMjU1RDAxKg0KK1gxMTgyNDJZNjM2NDVEMDEqDQorWDExODgxMFk2NDEzMUQwMSoNCitYMTE5MjczWTY0NjczRDAxKg0KK1k1OTgzNEQwMSoNCitYMTE5MjcyWTU5ODM0RDAxKg0KK1gxMTkxNTVZNTk4NTBEMDEqDQorWDExOTAzNlk1OTg0OEQwMSoNCitYMTE4OTE5WTU5ODI3RDAxKg0KK1gxMTg4MDdZNTk3ODlEMDEqDQorWDExODcwM1k1OTczM0QwMSoNCitYMTE4NjA4WTU5NjYyRDAxKg0KK1gxMTg1MjZZNTk1NzZEMDEqDQorWDExODQ1OFk1OTQ3OUQwMSoNCitYMTE4NDA2WTU5MzczRDAxKg0KK1gxMTgzNzFZNTkyNTlEMDEqDQorWDExODM1NVk1OTE0MkQwMSoNCitYMTE4MzU3WTU5MDIzRDAxKg0KK1gxMTgzNzdZNTg5MDdEMDEqDQorWDExODQxOFk1ODc5NUQwMSoNCitYMTE4NTI3WTU4NTIwRDAxKg0KK1gxMTg2MDdZNTgyMzVEMDEqDQorWDExODY2MVk1Nzk0M0QwMSoNCitYMTE4Njg4WTU3NjQ4RDAxKg0KK1k1NzM1MkQwMSoNCitYMTE4NjYxWTU3MDU3RDAxKg0KK1gxMTg2MDdZNTY3NjVEMDEqDQorWDExODUyN1k1NjQ4MEQwMSoNCitYMTE4NDIxWTU2MjAzRDAxKg0KK1gxMTgzODFZNTYwOTNEMDEqDQorWDExODM2MFk1NTk3NkQwMSoNCitYMTE4MzU4WTU1ODU4RDAxKg0KK1gxMTgzNzRZNTU3NDFEMDEqDQorWDExODQwOVk1NTYyOUQwMSoNCitYMTE4NDYxWTU1NTIyRDAxKg0KK1gxMTg1MjhZNTU0MjZEMDEqDQorWDExODYxMFk1NTM0MUQwMSoNCitYMTE4NzA0WTU1MjcwRDAxKg0KK1gxMTg4MDlZNTUyMTREMDEqDQorWDExODkyMFk1NTE3NkQwMSoNCitYMTE5MDM3WTU1MTU1RDAxKg0KK1gxMTkxNTVZNTUxNTNEMDEqDQorWDExOTI3MVk1NTE3MEQwMSoNCitYMTE5MjczWTU1MTcwRDAxKg0KK1k1MjEzM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTAwMEQwMipYMTE1NDQxRDAxKg0KK1k0Mjc1N0QwMSoNCitYMTE4OTI2WTQyNzY0RDAxKg0KK1gxMTkxNTZZNDI4MTlEMDEqDQorWDExOTI3M1k0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTExNjA5WTY0NjczRDAyKlgxMTIwNzJZNjQxMzFEMDEqDQorWDExMjY0MFk2MzY0NUQwMSoNCitYMTEzMjc4WTYzMjU1RDAxKg0KK1gxMTM5NjlZNjI5NjlEMDEqDQorWDExNDY5Nlk2Mjc5NEQwMSoNCitYMTE1NDQxWTYyNzM1RDAxKg0KK1k2MjI1MEQwMSoNCitYMTE1MjI0RDAxKg0KK1gxMTQ3OTNZNjIyMTFEMDEqDQorWDExNDM2Nlk2MjEzMkQwMSoNCitYMTEzOTQ5WTYyMDE1RDAxKg0KK1gxMTM1NDRZNjE4NjBEMDEqDQorWDExMzQzOVk2MTgwNUQwMSoNCitYMTEzMzQ0WTYxNzM0RDAxKg0KK1gxMTMyNjJZNjE2NDhEMDEqDQorWDExMzE5NFk2MTU1MUQwMSoNCitYMTEzMTQyWTYxNDQ1RDAxKg0KK1gxMTMxMDdZNjEzMzFEMDEqDQorWDExMzA5MVk2MTIxNEQwMSoNCitYMTEzMDkzWTYxMDk1RDAxKg0KK1gxMTMxMTRZNjA5NzhEMDEqDQorWDExMzE1Mlk2MDg2NkQwMSoNCitYMTEzMjA4WTYwNzYyRDAxKg0KK1gxMTMyNzlZNjA2NjdEMDEqDQorWDExMzM2NVk2MDU4NUQwMSoNCitYMTEzNDYyWTYwNTE3RDAxKg0KK1gxMTM1NjhZNjA0NjVEMDEqDQorWDExMzY4Mlk2MDQzMEQwMSoNCitYMTEzNzk5WTYwNDE0RDAxKg0KK1gxMTM5MThZNjA0MTZEMDEqDQorWDExNDAzNFk2MDQzNkQwMSoNCitYMTE0MTQ2WTYwNDc3RDAxKg0KK1gxMTQ0MjFZNjA1ODZEMDEqDQorWDExNDcwNlk2MDY2NkQwMSoNCitYMTE0OTk4WTYwNzIwRDAxKg0KK1gxMTUyOTNZNjA3NDdEMDEqDQorWDExNTQ0MUQwMSoNCitZNTQyNTNEMDEqDQorWDExNTI5M0QwMSoNCitYMTE0OTk4WTU0MjgwRDAxKg0KK1gxMTQ3MDZZNTQzMzREMDEqDQorWDExNDQyMVk1NDQxNEQwMSoNCitYMTE0MTQ0WTU0NTIwRDAxKg0KK1gxMTQwMzRZNTQ1NjBEMDEqDQorWDExMzkxN1k1NDU4MUQwMSoNCitYMTEzNzk5WTU0NTgzRDAxKg0KK1gxMTM2ODJZNTQ1NjdEMDEqDQorWDExMzU3MFk1NDUzMkQwMSoNCitYMTEzNDYzWTU0NDgwRDAxKg0KK1gxMTMzNjdZNTQ0MTNEMDEqDQorWDExMzI4Mlk1NDMzMUQwMSoNCitYMTEzMjExWTU0MjM3RDAxKg0KK1gxMTMxNTVZNTQxMzJEMDEqDQorWDExMzExN1k1NDAyMUQwMSoNCitYMTEzMDk2WTUzOTA0RDAxKg0KK1gxMTMwOTRZNTM3ODZEMDEqDQorWDExMzExMVk1MzY3MEQwMSoNCitYMTEzMTQ1WTUzNTU3RDAxKg0KK1gxMTMxOTdZNTM0NTBEMDEqDQorWDExMzI2NFk1MzM1NEQwMSoNCitYMTEzMzQ2WTUzMjY5RDAxKg0KK1gxMTM0NDFZNTMxOThEMDEqDQorWDExMzU0Nlk1MzE0NEQwMSoNCitYMTEzOTQ5WTUyOTg1RDAxKg0KK1gxMTQzNjZZNTI4NjhEMDEqDQorWDExNDc5M1k1Mjc4OUQwMSoNCitYMTE1MjI0WTUyNzUwRDAxKg0KK1gxMTU0NDFEMDEqDQorWTUyMjQzRDAxKg0KK1gxMTE5NTZZNTIyMzZEMDEqDQorWDExMTcyNlk1MjE4MUQwMSoNCitYMTExNjA5WTUyMTMzRDAxKg0KK1k1NTE2NkQwMSoNCitYMTExNjEwWTU1MTY2RDAxKg0KK1gxMTE3MjdZNTUxNTBEMDEqDQorWDExMTg0Nlk1NTE1MkQwMSoNCitYMTExOTYzWTU1MTczRDAxKg0KK1gxMTIwNzVZNTUyMTFEMDEqDQorWDExMjE3OVk1NTI2N0QwMSoNCitYMTEyMjc0WTU1MzM4RDAxKg0KK1gxMTIzNTZZNTU0MjREMDEqDQorWDExMjQyNFk1NTUyMUQwMSoNCitYMTEyNDc2WTU1NjI3RDAxKg0KK1gxMTI1MTFZNTU3NDFEMDEqDQorWDExMjUyN1k1NTg1OEQwMSoNCitYMTEyNTI1WTU1OTc3RDAxKg0KK1gxMTI1MDVZNTYwOTNEMDEqDQorWDExMjQ2NFk1NjIwNUQwMSoNCitYMTEyMzU1WTU2NDgwRDAxKg0KK1gxMTIyNzVZNTY3NjVEMDEqDQorWDExMjIyMVk1NzA1N0QwMSoNCitYMTEyMTk0WTU3MzUyRDAxKg0KK1k1NzY0OEQwMSoNCitYMTEyMjIxWTU3OTQzRDAxKg0KK1gxMTIyNzVZNTgyMzVEMDEqDQorWDExMjM1NVk1ODUyMEQwMSoNCitYMTEyNDYxWTU4Nzk3RDAxKg0KK1gxMTI1MDFZNTg5MDdEMDEqDQorWDExMjUyMlk1OTAyNEQwMSoNCitYMTEyNTI0WTU5MTQyRDAxKg0KK1gxMTI1MDhZNTkyNTlEMDEqDQorWDExMjQ3M1k1OTM3MUQwMSoNCitYMTEyNDIxWTU5NDc4RDAxKg0KK1gxMTIzNTRZNTk1NzREMDEqDQorWDExMjI3Mlk1OTY1OUQwMSoNCitYMTEyMTc4WTU5NzMwRDAxKg0KK1gxMTIwNzNZNTk3ODZEMDEqDQorWDExMTk2Mlk1OTgyNEQwMSoNCitYMTExODQ1WTU5ODQ1RDAxKg0KK1gxMTE3MjdZNTk4NDdEMDEqDQorWDExMTYxMFk1OTgzMEQwMSoNCitYMTExNjA5WTU5ODMwRDAxKg0KK1k2NDY3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3MjUwMEQwMipYMTE1NDQxRDAxKg0KK1k3MjI2NUQwMSoNCitYMTE0Njk2WTcyMjA2RDAxKg0KK1gxMTM5NjlZNzIwMzFEMDEqDQorWDExMzI3OFk3MTc0NUQwMSoNCitYMTEyNjQwWTcxMzU1RDAxKg0KK1gxMTIwNzJZNzA4NjlEMDEqDQorWDExMTYwOVk3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE1NDQxWTM5MDAwRDAyKlgxMTE2MDlEMDEqDQorWTQyODY3RDAxKg0KK1gxMTE3MjZZNDI4MTlEMDEqDQorWDExMTk1Nlk0Mjc2NEQwMSoNCitYMTEyMTkxWTQyNzUwRDAxKg0KK1gxMTU0NDFZNDI3NTdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDExMTYwOUQwMipYODkyNzNEMDEqDQorWTQyODY3RDAxKg0KK1g4OTM3NFk0MjkwOUQwMSoNCitYODk1NzVZNDMwMzNEMDEqDQorWDg5NzU1WTQzMTg2RDAxKg0KK1g4OTkwOFk0MzM2NkQwMSoNCitYOTAwMzJZNDM1NjdEMDEqDQorWDkwMTIyWTQzNzg1RDAxKg0KK1g5MDE3N1k0NDAxNUQwMSoNCitYOTAxOTFZNDQyNTBEMDEqDQorWDkwMTc3WTUwOTg1RDAxKg0KK1g5MDEyMlk1MTIxNUQwMSoNCitYOTAwMzJZNTE0MzNEMDEqDQorWDg5OTA4WTUxNjM0RDAxKg0KK1g4OTc1NVk1MTgxNEQwMSoNCitYODk1NzVZNTE5NjdEMDEqDQorWDg5Mzc0WTUyMDkxRDAxKg0KK1g4OTI3M1k1MjEzM0QwMSoNCitZNTUxNzBEMDEqDQorWDg5Mzg0WTU1MjA0RDAxKg0KK1g4OTQ5MVk1NTI1NkQwMSoNCitYODk1ODdZNTUzMjNEMDEqDQorWDg5NjcyWTU1NDA1RDAxKg0KK1g4OTc0M1k1NTUwMEQwMSoNCitYODk3OTdZNTU2MDVEMDEqDQorWDg5OTU2WTU2MDA4RDAxKg0KK1g5MDA3M1k1NjQyNUQwMSoNCitYOTAxNTJZNTY4NTJEMDEqDQorWDkwMTkxWTU3MjgzRDAxKg0KK1k1NzcxN0QwMSoNCitYOTAxNTJZNTgxNDhEMDEqDQorWDkwMDczWTU4NTc1RDAxKg0KK1g4OTk1Nlk1ODk5MkQwMSoNCitYODk4MDFZNTkzOTdEMDEqDQorWDg5NzQ2WTU5NTAyRDAxKg0KK1g4OTY3NVk1OTU5N0QwMSoNCitYODk1ODlZNTk2NzlEMDEqDQorWDg5NDkyWTU5NzQ3RDAxKg0KK1g4OTM4Nlk1OTc5OUQwMSoNCitYODkyNzNZNTk4MzREMDEqDQorWTY0NjczRDAxKg0KK1g4OTI5Nlk2NDY5OUQwMSoNCitYODk2ODZZNjUzMzdEMDEqDQorWDg5OTcyWTY2MDI4RDAxKg0KK1g5MDE0N1k2Njc1NUQwMSoNCitYOTAxOTFZNjc1MDBEMDEqDQorWDkwMTQ3WTY4MjQ1RDAxKg0KK1g4OTk3Mlk2ODk3MkQwMSoNCitYODk2ODZZNjk2NjNEMDEqDQorWDg5Mjk2WTcwMzAxRDAxKg0KK1g4OTI3M1k3MDMyN0QwMSoNCitZNzI1MDBEMDEqDQorWDExMTYwOUQwMSoNCitZNzAzMjdEMDEqDQorWDExMTU4Nlk3MDMwMUQwMSoNCitYMTExMTk2WTY5NjYzRDAxKg0KK1gxMTA5MTBZNjg5NzJEMDEqDQorWDExMDczNVk2ODI0NUQwMSoNCitYMTEwNjc2WTY3NTAwRDAxKg0KK1gxMTA3MzVZNjY3NTVEMDEqDQorWDExMDkxMFk2NjAyOEQwMSoNCitYMTExMTk2WTY1MzM3RDAxKg0KK1gxMTE1ODZZNjQ2OTlEMDEqDQorWDExMTYwOVk2NDY3M0QwMSoNCitZNTk4MzBEMDEqDQorWDExMTQ5OFk1OTc5NkQwMSoNCitYMTExMzkxWTU5NzQ0RDAxKg0KK1gxMTEyOTVZNTk2NzdEMDEqDQorWDExMTIxMFk1OTU5NUQwMSoNCitYMTExMTM5WTU5NTAwRDAxKg0KK1gxMTEwODVZNTkzOTVEMDEqDQorWDExMDkyNlk1ODk5MkQwMSoNCitYMTEwODA5WTU4NTc1RDAxKg0KK1gxMTA3MzBZNTgxNDhEMDEqDQorWDExMDY5MVk1NzcxN0QwMSoNCitZNTcyODNEMDEqDQorWDExMDczMFk1Njg1MkQwMSoNCitYMTEwODA5WTU2NDI1RDAxKg0KK1gxMTA5MjZZNTYwMDhEMDEqDQorWDExMTA4MVk1NTYwM0QwMSoNCitYMTExMTM2WTU1NDk4RDAxKg0KK1gxMTEyMDdZNTU0MDNEMDEqDQorWDExMTI5M1k1NTMyMUQwMSoNCitYMTExMzkwWTU1MjUzRDAxKg0KK1gxMTE0OTZZNTUyMDFEMDEqDQorWDExMTYwOVk1NTE2NkQwMSoNCitZNTIxMzNEMDEqDQorWDExMTUwOFk1MjA5MUQwMSoNCitYMTExMzA3WTUxOTY3RDAxKg0KK1gxMTExMjdZNTE4MTREMDEqDQorWDExMDk3NFk1MTYzNEQwMSoNCitYMTEwODUwWTUxNDMzRDAxKg0KK1gxMTA3NjBZNTEyMTVEMDEqDQorWDExMDcwNVk1MDk4NUQwMSoNCitYMTEwNjkxWTUwNzUwRDAxKg0KK1gxMTA3MDVZNDQwMTVEMDEqDQorWDExMDc2MFk0Mzc4NUQwMSoNCitYMTEwODUwWTQzNTY3RDAxKg0KK1gxMTA5NzRZNDMzNjZEMDEqDQorWDExMTEyN1k0MzE4NkQwMSoNCitYMTExMzA3WTQzMDMzRDAxKg0KK1gxMTE1MDhZNDI5MDlEMDEqDQorWDExMTYwOVk0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODkyNzNZNzAzMjdEMDIqWDg4ODEwWTcwODY5RDAxKg0KK1g4ODI0Mlk3MTM1NUQwMSoNCitYODc2MDRZNzE3NDVEMDEqDQorWDg2OTEzWTcyMDMxRDAxKg0KK1g4NjE4Nlk3MjIwNkQwMSoNCitYODU0NDFZNzIyNjVEMDEqDQorWTcyNTAwRDAxKg0KK1g4OTI3M0QwMSoNCitZNzAzMjdEMDEqDQorRzM3Kg0KK0czNioNCitZNTIxMzNEMDIqWDg5MTU2WTUyMTgxRDAxKg0KK1g4ODkyNlk1MjIzNkQwMSoNCitYODg2OTFZNTIyNTBEMDEqDQorWDg1NDQxWTUyMjQzRDAxKg0KK1k1Mjc1MEQwMSoNCitYODU2NThEMDEqDQorWDg2MDg5WTUyNzg5RDAxKg0KK1g4NjUxNlk1Mjg2OEQwMSoNCitYODY5MzNZNTI5ODVEMDEqDQorWDg3MzM4WTUzMTQwRDAxKg0KK1g4NzQ0M1k1MzE5NUQwMSoNCitYODc1MzhZNTMyNjZEMDEqDQorWDg3NjIwWTUzMzUyRDAxKg0KK1g4NzY4OFk1MzQ0OUQwMSoNCitYODc3NDBZNTM1NTVEMDEqDQorWDg3Nzc1WTUzNjY5RDAxKg0KK1g4Nzc5MVk1Mzc4NkQwMSoNCitYODc3ODlZNTM5MDVEMDEqDQorWDg3NzY4WTU0MDIyRDAxKg0KK1g4NzczMFk1NDEzNEQwMSoNCitYODc2NzRZNTQyMzhEMDEqDQorWDg3NjAzWTU0MzMzRDAxKg0KK1g4NzUxN1k1NDQxNUQwMSoNCitYODc0MjBZNTQ0ODNEMDEqDQorWDg3MzE0WTU0NTM1RDAxKg0KK1g4NzIwMFk1NDU3MEQwMSoNCitYODcwODNZNTQ1ODZEMDEqDQorWDg2OTY0WTU0NTg0RDAxKg0KK1g4Njg0OFk1NDU2NEQwMSoNCitYODY3MzZZNTQ1MjNEMDEqDQorWDg2NDYxWTU0NDE0RDAxKg0KK1g4NjE3Nlk1NDMzNEQwMSoNCitYODU4ODRZNTQyODBEMDEqDQorWDg1NTg5WTU0MjUzRDAxKg0KK1g4NTQ0MUQwMSoNCitZNjA3NDdEMDEqDQorWDg1NTg5RDAxKg0KK1g4NTg4NFk2MDcyMEQwMSoNCitYODYxNzZZNjA2NjZEMDEqDQorWDg2NDYxWTYwNTg2RDAxKg0KK1g4NjczOFk2MDQ4MEQwMSoNCitYODY4NDhZNjA0NDBEMDEqDQorWDg2OTY1WTYwNDE5RDAxKg0KK1g4NzA4M1k2MDQxN0QwMSoNCitYODcyMDBZNjA0MzNEMDEqDQorWDg3MzEyWTYwNDY4RDAxKg0KK1g4NzQxOVk2MDUyMEQwMSoNCitYODc1MTVZNjA1ODdEMDEqDQorWDg3NjAwWTYwNjY5RDAxKg0KK1g4NzY3MVk2MDc2M0QwMSoNCitYODc3MjdZNjA4NjhEMDEqDQorWDg3NzY1WTYwOTc5RDAxKg0KK1g4Nzc4Nlk2MTA5NkQwMSoNCitYODc3ODhZNjEyMTREMDEqDQorWDg3NzcxWTYxMzMwRDAxKg0KK1g4NzczN1k2MTQ0M0QwMSoNCitYODc2ODVZNjE1NTBEMDEqDQorWDg3NjE4WTYxNjQ2RDAxKg0KK1g4NzUzNlk2MTczMUQwMSoNCitYODc0NDFZNjE4MDJEMDEqDQorWDg3MzM2WTYxODU2RDAxKg0KK1g4NjkzM1k2MjAxNUQwMSoNCitYODY1MTZZNjIxMzJEMDEqDQorWDg2MDg5WTYyMjExRDAxKg0KK1g4NTY1OFk2MjI1MEQwMSoNCitYODU0NDFEMDEqDQorWTYyNzM1RDAxKg0KK1g4NjE4Nlk2Mjc5NEQwMSoNCitYODY5MTNZNjI5NjlEMDEqDQorWDg3NjA0WTYzMjU1RDAxKg0KK1g4ODI0Mlk2MzY0NUQwMSoNCitYODg4MTBZNjQxMzFEMDEqDQorWDg5MjczWTY0NjczRDAxKg0KK1k1OTgzNEQwMSoNCitYODkyNzJZNTk4MzREMDEqDQorWDg5MTU1WTU5ODUwRDAxKg0KK1g4OTAzNlk1OTg0OEQwMSoNCitYODg5MTlZNTk4MjdEMDEqDQorWDg4ODA3WTU5Nzg5RDAxKg0KK1g4ODcwM1k1OTczM0QwMSoNCitYODg2MDhZNTk2NjJEMDEqDQorWDg4NTI2WTU5NTc2RDAxKg0KK1g4ODQ1OFk1OTQ3OUQwMSoNCitYODg0MDZZNTkzNzNEMDEqDQorWDg4MzcxWTU5MjU5RDAxKg0KK1g4ODM1NVk1OTE0MkQwMSoNCitYODgzNTdZNTkwMjNEMDEqDQorWDg4Mzc3WTU4OTA3RDAxKg0KK1g4ODQxOFk1ODc5NUQwMSoNCitYODg1MjdZNTg1MjBEMDEqDQorWDg4NjA3WTU4MjM1RDAxKg0KK1g4ODY2MVk1Nzk0M0QwMSoNCitYODg2ODhZNTc2NDhEMDEqDQorWTU3MzUyRDAxKg0KK1g4ODY2MVk1NzA1N0QwMSoNCitYODg2MDdZNTY3NjVEMDEqDQorWDg4NTI3WTU2NDgwRDAxKg0KK1g4ODQyMVk1NjIwM0QwMSoNCitYODgzODFZNTYwOTNEMDEqDQorWDg4MzYwWTU1OTc2RDAxKg0KK1g4ODM1OFk1NTg1OEQwMSoNCitYODgzNzRZNTU3NDFEMDEqDQorWDg4NDA5WTU1NjI5RDAxKg0KK1g4ODQ2MVk1NTUyMkQwMSoNCitYODg1MjhZNTU0MjZEMDEqDQorWDg4NjEwWTU1MzQxRDAxKg0KK1g4ODcwNFk1NTI3MEQwMSoNCitYODg4MDlZNTUyMTREMDEqDQorWDg4OTIwWTU1MTc2RDAxKg0KK1g4OTAzN1k1NTE1NUQwMSoNCitYODkxNTVZNTUxNTNEMDEqDQorWDg5MjcxWTU1MTcwRDAxKg0KK1g4OTI3M1k1NTE3MEQwMSoNCitZNTIxMzNEMDEqDQorRzM3Kg0KK0czNioNCitZMzkwMDBEMDIqWDg1NDQxRDAxKg0KK1k0Mjc1N0QwMSoNCitYODg5MjZZNDI3NjREMDEqDQorWDg5MTU2WTQyODE5RDAxKg0KK1g4OTI3M1k0Mjg2N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODE2MDlZNjQ2NzNEMDIqWDgyMDcyWTY0MTMxRDAxKg0KK1g4MjY0MFk2MzY0NUQwMSoNCitYODMyNzhZNjMyNTVEMDEqDQorWDgzOTY5WTYyOTY5RDAxKg0KK1g4NDY5Nlk2Mjc5NEQwMSoNCitYODU0NDFZNjI3MzVEMDEqDQorWTYyMjUwRDAxKg0KK1g4NTIyNEQwMSoNCitYODQ3OTNZNjIyMTFEMDEqDQorWDg0MzY2WTYyMTMyRDAxKg0KK1g4Mzk0OVk2MjAxNUQwMSoNCitYODM1NDRZNjE4NjBEMDEqDQorWDgzNDM5WTYxODA1RDAxKg0KK1g4MzM0NFk2MTczNEQwMSoNCitYODMyNjJZNjE2NDhEMDEqDQorWDgzMTk0WTYxNTUxRDAxKg0KK1g4MzE0Mlk2MTQ0NUQwMSoNCitYODMxMDdZNjEzMzFEMDEqDQorWDgzMDkxWTYxMjE0RDAxKg0KK1g4MzA5M1k2MTA5NUQwMSoNCitYODMxMTRZNjA5NzhEMDEqDQorWDgzMTUyWTYwODY2RDAxKg0KK1g4MzIwOFk2MDc2MkQwMSoNCitYODMyNzlZNjA2NjdEMDEqDQorWDgzMzY1WTYwNTg1RDAxKg0KK1g4MzQ2Mlk2MDUxN0QwMSoNCitYODM1NjhZNjA0NjVEMDEqDQorWDgzNjgyWTYwNDMwRDAxKg0KK1g4Mzc5OVk2MDQxNEQwMSoNCitYODM5MThZNjA0MTZEMDEqDQorWDg0MDM0WTYwNDM2RDAxKg0KK1g4NDE0Nlk2MDQ3N0QwMSoNCitYODQ0MjFZNjA1ODZEMDEqDQorWDg0NzA2WTYwNjY2RDAxKg0KK1g4NDk5OFk2MDcyMEQwMSoNCitYODUyOTNZNjA3NDdEMDEqDQorWDg1NDQxRDAxKg0KK1k1NDI1M0QwMSoNCitYODUyOTNEMDEqDQorWDg0OTk4WTU0MjgwRDAxKg0KK1g4NDcwNlk1NDMzNEQwMSoNCitYODQ0MjFZNTQ0MTREMDEqDQorWDg0MTQ0WTU0NTIwRDAxKg0KK1g4NDAzNFk1NDU2MEQwMSoNCitYODM5MTdZNTQ1ODFEMDEqDQorWDgzNzk5WTU0NTgzRDAxKg0KK1g4MzY4Mlk1NDU2N0QwMSoNCitYODM1NzBZNTQ1MzJEMDEqDQorWDgzNDYzWTU0NDgwRDAxKg0KK1g4MzM2N1k1NDQxM0QwMSoNCitYODMyODJZNTQzMzFEMDEqDQorWDgzMjExWTU0MjM3RDAxKg0KK1g4MzE1NVk1NDEzMkQwMSoNCitYODMxMTdZNTQwMjFEMDEqDQorWDgzMDk2WTUzOTA0RDAxKg0KK1g4MzA5NFk1Mzc4NkQwMSoNCitYODMxMTFZNTM2NzBEMDEqDQorWDgzMTQ1WTUzNTU3RDAxKg0KK1g4MzE5N1k1MzQ1MEQwMSoNCitYODMyNjRZNTMzNTREMDEqDQorWDgzMzQ2WTUzMjY5RDAxKg0KK1g4MzQ0MVk1MzE5OEQwMSoNCitYODM1NDZZNTMxNDREMDEqDQorWDgzOTQ5WTUyOTg1RDAxKg0KK1g4NDM2Nlk1Mjg2OEQwMSoNCitYODQ3OTNZNTI3ODlEMDEqDQorWDg1MjI0WTUyNzUwRDAxKg0KK1g4NTQ0MUQwMSoNCitZNTIyNDNEMDEqDQorWDgxOTU2WTUyMjM2RDAxKg0KK1g4MTcyNlk1MjE4MUQwMSoNCitYODE2MDlZNTIxMzNEMDEqDQorWTU1MTY2RDAxKg0KK1g4MTYxMFk1NTE2NkQwMSoNCitYODE3MjdZNTUxNTBEMDEqDQorWDgxODQ2WTU1MTUyRDAxKg0KK1g4MTk2M1k1NTE3M0QwMSoNCitYODIwNzVZNTUyMTFEMDEqDQorWDgyMTc5WTU1MjY3RDAxKg0KK1g4MjI3NFk1NTMzOEQwMSoNCitYODIzNTZZNTU0MjREMDEqDQorWDgyNDI0WTU1NTIxRDAxKg0KK1g4MjQ3Nlk1NTYyN0QwMSoNCitYODI1MTFZNTU3NDFEMDEqDQorWDgyNTI3WTU1ODU4RDAxKg0KK1g4MjUyNVk1NTk3N0QwMSoNCitYODI1MDVZNTYwOTNEMDEqDQorWDgyNDY0WTU2MjA1RDAxKg0KK1g4MjM1NVk1NjQ4MEQwMSoNCitYODIyNzVZNTY3NjVEMDEqDQorWDgyMjIxWTU3MDU3RDAxKg0KK1g4MjE5NFk1NzM1MkQwMSoNCitZNTc2NDhEMDEqDQorWDgyMjIxWTU3OTQzRDAxKg0KK1g4MjI3NVk1ODIzNUQwMSoNCitYODIzNTVZNTg1MjBEMDEqDQorWDgyNDYxWTU4Nzk3RDAxKg0KK1g4MjUwMVk1ODkwN0QwMSoNCitYODI1MjJZNTkwMjREMDEqDQorWDgyNTI0WTU5MTQyRDAxKg0KK1g4MjUwOFk1OTI1OUQwMSoNCitYODI0NzNZNTkzNzFEMDEqDQorWDgyNDIxWTU5NDc4RDAxKg0KK1g4MjM1NFk1OTU3NEQwMSoNCitYODIyNzJZNTk2NTlEMDEqDQorWDgyMTc4WTU5NzMwRDAxKg0KK1g4MjA3M1k1OTc4NkQwMSoNCitYODE5NjJZNTk4MjREMDEqDQorWDgxODQ1WTU5ODQ1RDAxKg0KK1g4MTcyN1k1OTg0N0QwMSoNCitYODE2MTBZNTk4MzBEMDEqDQorWDgxNjA5WTU5ODMwRDAxKg0KK1k2NDY3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1k3MjUwMEQwMipYODU0NDFEMDEqDQorWTcyMjY1RDAxKg0KK1g4NDY5Nlk3MjIwNkQwMSoNCitYODM5NjlZNzIwMzFEMDEqDQorWDgzMjc4WTcxNzQ1RDAxKg0KK1g4MjY0MFk3MTM1NUQwMSoNCitYODIwNzJZNzA4NjlEMDEqDQorWDgxNjA5WTcwMzI3RDAxKg0KK1k3MjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g4NTQ0MVkzOTAwMEQwMipYODE2MDlEMDEqDQorWTQyODY3RDAxKg0KK1g4MTcyNlk0MjgxOUQwMSoNCitYODE5NTZZNDI3NjREMDEqDQorWDgyMTkxWTQyNzUwRDAxKg0KK1g4NTQ0MVk0Mjc1N0QwMSoNCitZMzkwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYODE2MDlEMDIqWDc1NDQxRDAxKg0KK1g3Mjk0MVk0MTUwMEQwMSoNCitZNzI1MDBEMDEqDQorWDgxNjA5RDAxKg0KK1k3MDMyN0QwMSoNCitYODE1ODZZNzAzMDFEMDEqDQorWDgxMTk2WTY5NjYzRDAxKg0KK1g4MDkxMFk2ODk3MkQwMSoNCitYODA3MzVZNjgyNDVEMDEqDQorWDgwNjc2WTY3NTAwRDAxKg0KK1g4MDczNVk2Njc1NUQwMSoNCitYODA5MTBZNjYwMjhEMDEqDQorWDgxMTk2WTY1MzM3RDAxKg0KK1g4MTU4Nlk2NDY5OUQwMSoNCitYODE2MDlZNjQ2NzNEMDEqDQorWTU5ODMwRDAxKg0KK1g4MTQ5OFk1OTc5NkQwMSoNCitYODEzOTFZNTk3NDREMDEqDQorWDgxMjk1WTU5Njc3RDAxKg0KK1g4MTIxMFk1OTU5NUQwMSoNCitYODExMzlZNTk1MDBEMDEqDQorWDgxMDg1WTU5Mzk1RDAxKg0KK1g4MDkyNlk1ODk5MkQwMSoNCitYODA4MDlZNTg1NzVEMDEqDQorWDgwNzMwWTU4MTQ4RDAxKg0KK1g4MDY5MVk1NzcxN0QwMSoNCitZNTcyODNEMDEqDQorWDgwNzMwWTU2ODUyRDAxKg0KK1g4MDgwOVk1NjQyNUQwMSoNCitYODA5MjZZNTYwMDhEMDEqDQorWDgxMDgxWTU1NjAzRDAxKg0KK1g4MTEzNlk1NTQ5OEQwMSoNCitYODEyMDdZNTU0MDNEMDEqDQorWDgxMjkzWTU1MzIxRDAxKg0KK1g4MTM5MFk1NTI1M0QwMSoNCitYODE0OTZZNTUyMDFEMDEqDQorWDgxNjA5WTU1MTY2RDAxKg0KK1k1MjEzM0QwMSoNCitYODE1MDhZNTIwOTFEMDEqDQorWDgxMzA3WTUxOTY3RDAxKg0KK1g4MTEyN1k1MTgxNEQwMSoNCitYODA5NzRZNTE2MzREMDEqDQorWDgwODUwWTUxNDMzRDAxKg0KK1g4MDc2MFk1MTIxNUQwMSoNCitYODA3MDVZNTA5ODVEMDEqDQorWDgwNjkxWTUwNzUwRDAxKg0KK1g4MDcwNVk0NDAxNUQwMSoNCitYODA3NjBZNDM3ODVEMDEqDQorWDgwODUwWTQzNTY3RDAxKg0KK1g4MDk3NFk0MzM2NkQwMSoNCitYODExMjdZNDMxODZEMDEqDQorWDgxMzA3WTQzMDMzRDAxKg0KK1g4MTUwOFk0MjkwOUQwMSoNCitYODE2MDlZNDI4NjdEMDEqDQorWTM5MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIxNDk0MVkyNTg1MDBEMDIqWTI2MzUwMEQwMSoNCitYMjIwNDQxRDAxKg0KK1kyNTg1MDBEMDEqDQorWDIxNDk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTg0NDFZMjU3MDAwRDAyKlkyNjIwMDBEMDEqDQorWDIyMzk0MUQwMSoNCitZMjU3MDAwRDAxKg0KK1gyMTg0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMzEyMTU0WTE3MjU0OEQwMipYMzEyMzA5WTE3MjI5NEQwMSoNCitYMzEyNzQ5WTE3MTc3OUQwMSoNCitYMzEzMDc2WTE3MTUwMEQwMSoNCitYMzEyMTU0RDAxKg0KK1kxNzI1NDhEMDEqDQorRzM3Kg0KK0czNioNCitYNDMyMzIwWTczODY5RDAyKlg0MzIzNzlZNzM3MjVEMDEqDQorWDQzMjYxMFk3MzM0OUQwMSoNCitYNDMyODk2WTczMDE0RDAxKg0KK1g0MzMyMzFZNzI3MjhEMDEqDQorWDQzMzYwM1k3MjUwMEQwMSoNCitYNDMyMzIwRDAxKg0KK1k3Mzg2OUQwMSoNCitHMzcqDQorRzM2Kg0KK1g0NDY0MzdZMTUzMDAwRDAyKlg0NDk0NDFEMDEqDQorWTE0ODUxM0QwMSoNCitYNDQ5MzY2WTE0ODQ2N0QwMSoNCitYNDQ5MTg2WTE0ODMxNEQwMSoNCitYNDQ5MDMzWTE0ODEzNEQwMSoNCitYNDQ4OTA5WTE0NzkzM0QwMSoNCitYNDQ4ODE5WTE0NzcxNUQwMSoNCitYNDQ4NzY0WTE0NzQ4NUQwMSoNCitYNDQ4NzUwWTE0NzI1MEQwMSoNCitYNDQ4NzY0WTE0MDUxNUQwMSoNCitYNDQ4ODE5WTE0MDI4NUQwMSoNCitYNDQ4OTA5WTE0MDA2N0QwMSoNCitYNDQ5MDMzWTEzOTg2NkQwMSoNCitYNDQ5MTg2WTEzOTY4NkQwMSoNCitYNDQ5MzY2WTEzOTUzM0QwMSoNCitYNDQ5NDQxWTEzOTQ4N0QwMSoNCitZMTE4NTEzRDAxKg0KK1g0NDkzNjZZMTE4NDY3RDAxKg0KK1g0NDkxODZZMTE4MzE0RDAxKg0KK1g0NDkwMzNZMTE4MTM0RDAxKg0KK1g0NDg5MDlZMTE3OTMzRDAxKg0KK1g0NDg4MTlZMTE3NzE1RDAxKg0KK1g0NDg3NjRZMTE3NDg1RDAxKg0KK1g0NDg3NTBZMTE3MjUwRDAxKg0KK1g0NDg3NjRZMTEwNTE1RDAxKg0KK1g0NDg4MTlZMTEwMjg1RDAxKg0KK1g0NDg5MDlZMTEwMDY3RDAxKg0KK1g0NDkwMzNZMTA5ODY2RDAxKg0KK1g0NDkxODZZMTA5Njg2RDAxKg0KK1g0NDkzNjZZMTA5NTMzRDAxKg0KK1g0NDk0NDFZMTA5NDg3RDAxKg0KK1k4ODUxM0QwMSoNCitYNDQ5MzY2WTg4NDY3RDAxKg0KK1g0NDkxODZZODgzMTREMDEqDQorWDQ0OTAzM1k4ODEzNEQwMSoNCitYNDQ4OTA5WTg3OTMzRDAxKg0KK1g0NDg4MTlZODc3MTVEMDEqDQorWDQ0ODc2NFk4NzQ4NUQwMSoNCitYNDQ4NzUwWTg3MjUwRDAxKg0KK1g0NDg3NjRZODA1MTVEMDEqDQorWDQ0ODgxOVk4MDI4NUQwMSoNCitYNDQ4OTA5WTgwMDY3RDAxKg0KK1g0NDkwMzNZNzk4NjZEMDEqDQorWDQ0OTE4Nlk3OTY4NkQwMSoNCitYNDQ5MzY2WTc5NTMzRDAxKg0KK1g0NDk0NDFZNzk0ODdEMDEqDQorWTcyNTAwRDAxKg0KK1g0NDY0MzdEMDEqDQorWTk5MTkyRDAxKg0KK1g0NDY0NDFZOTkxOTFEMDEqDQorWDQ0Njg4MFk5OTIyNkQwMSoNCitYNDQ3MzA5WTk5MzI5RDAxKg0KK1g0NDc3MTZZOTk0OTdEMDEqDQorWDQ0ODA5Mlk5OTcyOEQwMSoNCitYNDQ4NDI3WTEwMDAxNEQwMSoNCitYNDQ4NzEzWTEwMDM0OUQwMSoNCitYNDQ4OTQ0WTEwMDcyNUQwMSoNCitYNDQ5MTEyWTEwMTEzMkQwMSoNCitYNDQ5MjE1WTEwMTU2MUQwMSoNCitYNDQ5MjQxWTEwMjAwMEQwMSoNCitYNDQ5MjE1WTEwMjQzOUQwMSoNCitYNDQ5MTEyWTEwMjg2OEQwMSoNCitYNDQ4OTQ0WTEwMzI3NUQwMSoNCitYNDQ4NzEzWTEwMzY1MUQwMSoNCitYNDQ4NDI3WTEwMzk4NkQwMSoNCitYNDQ4MDkyWTEwNDI3MkQwMSoNCitYNDQ3NzE2WTEwNDUwM0QwMSoNCitYNDQ3MzA5WTEwNDY3MUQwMSoNCitYNDQ2ODgwWTEwNDc3NEQwMSoNCitYNDQ2NDQxWTEwNDgwOUQwMSoNCitYNDQ2NDM3WTEwNDgwOEQwMSoNCitZMTUzMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDQ0MDkzNUQwMipYNDQ2NDM3RDAxKg0KK1kxMDQ4MDhEMDEqDQorWDQ0NjAwMlkxMDQ3NzREMDEqDQorWDQ0NTU3M1kxMDQ2NzFEMDEqDQorWDQ0NTE2NlkxMDQ1MDNEMDEqDQorWDQ0NDc5MFkxMDQyNzJEMDEqDQorWDQ0NDQ1NVkxMDM5ODZEMDEqDQorWDQ0NDE2OVkxMDM2NTFEMDEqDQorWDQ0MzkzOFkxMDMyNzVEMDEqDQorWDQ0Mzc3MFkxMDI4NjhEMDEqDQorWDQ0MzY2N1kxMDI0MzlEMDEqDQorWDQ0MzYzMlkxMDIwMDBEMDEqDQorWDQ0MzY2N1kxMDE1NjFEMDEqDQorWDQ0Mzc3MFkxMDExMzJEMDEqDQorWDQ0MzkzOFkxMDA3MjVEMDEqDQorWDQ0NDE2OVkxMDAzNDlEMDEqDQorWDQ0NDQ1NVkxMDAwMTREMDEqDQorWDQ0NDc5MFk5OTcyOEQwMSoNCitYNDQ1MTY2WTk5NDk3RDAxKg0KK1g0NDU1NzNZOTkzMjlEMDEqDQorWDQ0NjAwMlk5OTIyNkQwMSoNCitYNDQ2NDM3WTk5MTkyRDAxKg0KK1k3MjUwMEQwMSoNCitYNDQwOTM1RDAxKg0KK1kxMTg5ODhEMDEqDQorWDQ0MDk0MVkxMTg5ODhEMDEqDQorWDQ0MTU2OVkxMTkwMzdEMDEqDQorWDQ0MjE4MVkxMTkxODREMDEqDQorWDQ0Mjc2M1kxMTk0MjVEMDEqDQorWDQ0MzI5OVkxMTk3NTREMDEqDQorWDQ0Mzc3OFkxMjAxNjNEMDEqDQorWDQ0NDE4N1kxMjA2NDJEMDEqDQorWDQ0NDUxNlkxMjExNzhEMDEqDQorWDQ0NDc1N1kxMjE3NjBEMDEqDQorWDQ0NDkwNFkxMjIzNzJEMDEqDQorWDQ0NDk0MVkxMjMwMDBEMDEqDQorWDQ0NDkwNFkxMjM2MjhEMDEqDQorWDQ0NDc1N1kxMjQyNDBEMDEqDQorWDQ0NDUxNlkxMjQ4MjJEMDEqDQorWDQ0NDE4N1kxMjUzNThEMDEqDQorWDQ0Mzc3OFkxMjU4MzdEMDEqDQorWDQ0MzI5OVkxMjYyNDZEMDEqDQorWDQ0Mjc2M1kxMjY1NzVEMDEqDQorWDQ0MjE4MVkxMjY4MTZEMDEqDQorWDQ0MTU2OVkxMjY5NjNEMDEqDQorWDQ0MDk0MVkxMjcwMTJEMDEqDQorWDQ0MDkzNVkxMjcwMTJEMDEqDQorWTE1MzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1g0MzIzMjBEMDIqWDQ0MDkzNUQwMSoNCitZMTI3MDEyRDAxKg0KK1g0NDAzMTNZMTI2OTYzRDAxKg0KK1g0Mzk3MDFZMTI2ODE2RDAxKg0KK1g0MzkxMTlZMTI2NTc1RDAxKg0KK1g0Mzg1ODNZMTI2MjQ2RDAxKg0KK1g0MzgxMDRZMTI1ODM3RDAxKg0KK1g0Mzc2OTVZMTI1MzU4RDAxKg0KK1g0MzczNjZZMTI0ODIyRDAxKg0KK1g0MzcxMjVZMTI0MjQwRDAxKg0KK1g0MzY5NzhZMTIzNjI4RDAxKg0KK1g0MzY5MjlZMTIzMDAwRDAxKg0KK1g0MzY5NzhZMTIyMzcyRDAxKg0KK1g0MzcxMjVZMTIxNzYwRDAxKg0KK1g0MzczNjZZMTIxMTc4RDAxKg0KK1g0Mzc2OTVZMTIwNjQyRDAxKg0KK1g0MzgxMDRZMTIwMTYzRDAxKg0KK1g0Mzg1ODNZMTE5NzU0RDAxKg0KK1g0MzkxMTlZMTE5NDI1RDAxKg0KK1g0Mzk3MDFZMTE5MTg0RDAxKg0KK1g0NDAzMTNZMTE5MDM3RDAxKg0KK1g0NDA5MzVZMTE4OTg4RDAxKg0KK1k3MjUwMEQwMSoNCitYNDM2MTYxRDAxKg0KK1g0MzY1MzNZNzI3MjhEMDEqDQorWDQzNjg2OFk3MzAxNEQwMSoNCitYNDM3MTU0WTczMzQ5RDAxKg0KK1g0MzczODVZNzM3MjVEMDEqDQorWDQzNzU1M1k3NDEzMkQwMSoNCitYNDM3NjU2WTc0NTYxRDAxKg0KK1g0Mzc2ODJZNzUwMDBEMDEqDQorWDQzNzY1Nlk3NTQzOUQwMSoNCitYNDM3NTUzWTc1ODY4RDAxKg0KK1g0MzczODVZNzYyNzVEMDEqDQorWDQzNzE1NFk3NjY1MUQwMSoNCitYNDM2ODY4WTc2OTg2RDAxKg0KK1g0MzY1MzNZNzcyNzJEMDEqDQorWDQzNjE1N1k3NzUwM0QwMSoNCitYNDM1NzUwWTc3NjcxRDAxKg0KK1g0MzUzMjFZNzc3NzREMDEqDQorWDQzNDg4Mlk3NzgwOUQwMSoNCitYNDM0NDQzWTc3Nzc0RDAxKg0KK1g0MzQwMTRZNzc2NzFEMDEqDQorWDQzMzYwN1k3NzUwM0QwMSoNCitYNDMzMjMxWTc3MjcyRDAxKg0KK1g0MzI4OTZZNzY5ODZEMDEqDQorWDQzMjYxMFk3NjY1MUQwMSoNCitYNDMyMzc5WTc2Mjc1RDAxKg0KK1g0MzIzMjBZNzYxMzFEMDEqDQorWTEwODE5MkQwMSoNCitYNDMyMzI0WTEwODE5MUQwMSoNCitYNDMyNzYzWTEwODIyNkQwMSoNCitYNDMzMTkyWTEwODMyOUQwMSoNCitYNDMzNTk5WTEwODQ5N0QwMSoNCitYNDMzOTc1WTEwODcyOEQwMSoNCitYNDM0MzEwWTEwOTAxNEQwMSoNCitYNDM0NTk2WTEwOTM0OUQwMSoNCitYNDM0ODI3WTEwOTcyNUQwMSoNCitYNDM0OTk1WTExMDEzMkQwMSoNCitYNDM1MDk4WTExMDU2MUQwMSoNCitYNDM1MTI0WTExMTAwMEQwMSoNCitYNDM1MDk4WTExMTQzOUQwMSoNCitYNDM0OTk1WTExMTg2OEQwMSoNCitYNDM0ODI3WTExMjI3NUQwMSoNCitYNDM0NTk2WTExMjY1MUQwMSoNCitYNDM0MzEwWTExMjk4NkQwMSoNCitYNDMzOTc1WTExMzI3MkQwMSoNCitYNDMzNTk5WTExMzUwM0QwMSoNCitYNDMzMTkyWTExMzY3MUQwMSoNCitYNDMyNzYzWTExMzc3NEQwMSoNCitYNDMyMzI0WTExMzgwOUQwMSoNCitYNDMyMzIwWTExMzgwOEQwMSoNCitZMTUzMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM5ODQzOFkxODcwMzREMDIqWDM5ODQ1NVkxODcwMTREMDEqDQorWDM5ODc5MFkxODY3MjhEMDEqDQorWDM5OTE2NlkxODY0OTdEMDEqDQorWDM5OTU3M1kxODYzMjlEMDEqDQorWDQwMDAwMlkxODYyMjZEMDEqDQorWDQwMDQ0MVkxODYxOTFEMDEqDQorWTE1MzAwMEQwMSoNCitYNDMyMzIwRDAxKg0KK1kxMTM4MDhEMDEqDQorWDQzMTg4NVkxMTM3NzREMDEqDQorWDQzMTQ1NlkxMTM2NzFEMDEqDQorWDQzMTA0OVkxMTM1MDNEMDEqDQorWDQzMDY3M1kxMTMyNzJEMDEqDQorWDQzMDMzOFkxMTI5ODZEMDEqDQorWDQzMDA1MlkxMTI2NTFEMDEqDQorWDQyOTgyMVkxMTIyNzVEMDEqDQorWDQyOTY1M1kxMTE4NjhEMDEqDQorWDQyOTU1MFkxMTE0MzlEMDEqDQorWDQyOTUxNVkxMTEwMDBEMDEqDQorWDQyOTU1MFkxMTA1NjFEMDEqDQorWDQyOTY1M1kxMTAxMzJEMDEqDQorWDQyOTgyMVkxMDk3MjVEMDEqDQorWDQzMDA1MlkxMDkzNDlEMDEqDQorWDQzMDMzOFkxMDkwMTREMDEqDQorWDQzMDY3M1kxMDg3MjhEMDEqDQorWDQzMTA0OVkxMDg0OTdEMDEqDQorWDQzMTQ1NlkxMDgzMjlEMDEqDQorWDQzMTg4NVkxMDgyMjZEMDEqDQorWDQzMjMyMFkxMDgxOTJEMDEqDQorWTc2MTMxRDAxKg0KK1g0MzIyMTFZNzU4NjhEMDEqDQorWDQzMjEwOFk3NTQzOUQwMSoNCitYNDMyMDczWTc1MDAwRDAxKg0KK1g0MzIxMDhZNzQ1NjFEMDEqDQorWDQzMjIxMVk3NDEzMkQwMSoNCitYNDMyMzIwWTczODY5RDAxKg0KK1k3MjUwMEQwMSoNCitYNDI0NzIwRDAxKg0KK1g0MjUwOTJZNzI3MjhEMDEqDQorWDQyNTQyN1k3MzAxNEQwMSoNCitYNDI1NzEzWTczMzQ5RDAxKg0KK1g0MjU5NDRZNzM3MjVEMDEqDQorWDQyNjExMlk3NDEzMkQwMSoNCitYNDI2MjE1WTc0NTYxRDAxKg0KK1g0MjYyNDFZNzUwMDBEMDEqDQorWDQyNjIxNVk3NTQzOUQwMSoNCitYNDI2MTEyWTc1ODY4RDAxKg0KK1g0MjU5NDRZNzYyNzVEMDEqDQorWDQyNTcxM1k3NjY1MUQwMSoNCitYNDI1NDI3WTc2OTg2RDAxKg0KK1g0MjUwOTJZNzcyNzJEMDEqDQorWDQyNDcxNlk3NzUwM0QwMSoNCitYNDI0MzA5WTc3NjcxRDAxKg0KK1g0MjM4ODBZNzc3NzREMDEqDQorWDQyMzQ0MVk3NzgwOUQwMSoNCitYNDIzMDAyWTc3Nzc0RDAxKg0KK1g0MjI1NzNZNzc2NzFEMDEqDQorWDQyMjE2Nlk3NzUwM0QwMSoNCitYNDIxNzkwWTc3MjcyRDAxKg0KK1g0MjE0NTVZNzY5ODZEMDEqDQorWDQyMTE2OVk3NjY1MUQwMSoNCitYNDIwOTM4WTc2Mjc1RDAxKg0KK1g0MjA3NzBZNzU4NjhEMDEqDQorWDQyMDY2N1k3NTQzOUQwMSoNCitYNDIwNjMyWTc1MDAwRDAxKg0KK1g0MjA2NjdZNzQ1NjFEMDEqDQorWDQyMDc3MFk3NDEzMkQwMSoNCitYNDIwOTM4WTczNzI1RDAxKg0KK1g0MjExNjlZNzMzNDlEMDEqDQorWDQyMTQ1NVk3MzAxNEQwMSoNCitYNDIxNzkwWTcyNzI4RDAxKg0KK1g0MjIxNjJZNzI1MDBEMDEqDQorWDQxMjQ0MUQwMSoNCitZMTM2NTAwRDAxKg0KK1gzOTg0MzhEMDEqDQorWTE3MTE5NUQwMSoNCitYMzk4NDQxWTE3MTE5NEQwMSoNCitYMzk4NzIzWTE3MTIxN0QwMSoNCitYMzk4OTk5WTE3MTI4M0QwMSoNCitYMzk5MjYxWTE3MTM5MUQwMSoNCitYMzk5NTAyWTE3MTUzOUQwMSoNCitYMzk5NzE4WTE3MTcyM0QwMSoNCitYMzk5OTAyWTE3MTkzOUQwMSoNCitYNDAwMDUwWTE3MjE4MEQwMSoNCitYNDAwMTU4WTE3MjQ0MkQwMSoNCitYNDAwMjI0WTE3MjcxOEQwMSoNCitYNDAwMjQxWTE3MzAwMEQwMSoNCitYNDAwMjI0WTE3MzI4MkQwMSoNCitYNDAwMTU4WTE3MzU1OEQwMSoNCitYNDAwMDUwWTE3MzgyMEQwMSoNCitYMzk5OTAyWTE3NDA2MUQwMSoNCitYMzk5NzE4WTE3NDI3N0QwMSoNCitYMzk5NTAyWTE3NDQ2MUQwMSoNCitYMzk5MjYxWTE3NDYwOUQwMSoNCitYMzk4OTk5WTE3NDcxN0QwMSoNCitYMzk4NzIzWTE3NDc4M0QwMSoNCitYMzk4NDQxWTE3NDgwNkQwMSoNCitYMzk4NDM4WTE3NDgwNUQwMSoNCitZMTg3MDM0RDAxKg0KK0czNyoNCitHMzYqDQorWTE5MjAzNEQwMipYMzk4NDU1WTE5MjAxNEQwMSoNCitYMzk4NzkwWTE5MTcyOEQwMSoNCitYMzk5MTYyWTE5MTUwMEQwMSoNCitYMzk4NzkwWTE5MTI3MkQwMSoNCitYMzk4NDU1WTE5MDk4NkQwMSoNCitYMzk4NDM4WTE5MDk2NkQwMSoNCitZMTkyMDM0RDAxKg0KK0czNyoNCitHMzYqDQorWTI0NTE5MkQwMipYMzk4NDQxWTI0NTE5MUQwMSoNCitYMzk4ODgwWTI0NTIyNkQwMSoNCitYMzk5MzA5WTI0NTMyOUQwMSoNCitYMzk5NzE2WTI0NTQ5N0QwMSoNCitYNDAwMDkyWTI0NTcyOEQwMSoNCitYNDAwNDI3WTI0NjAxNEQwMSoNCitYNDAwNDQxWTI0NjAzMEQwMSoNCitZMTk2ODA5RDAxKg0KK1g0MDAwMDJZMTk2Nzc0RDAxKg0KK1gzOTk1NzNZMTk2NjcxRDAxKg0KK1gzOTkxNjZZMTk2NTAzRDAxKg0KK1gzOTg3OTBZMTk2MjcyRDAxKg0KK1gzOTg0NTVZMTk1OTg2RDAxKg0KK1gzOTg0MzhZMTk1OTY2RDAxKg0KK1kyNDUxOTJEMDEqDQorRzM3Kg0KK0czNioNCitZMzA2MTkyRDAyKlgzOTg0NDFZMzA2MTkxRDAxKg0KK1gzOTg4ODBZMzA2MjI2RDAxKg0KK1gzOTkzMDlZMzA2MzI5RDAxKg0KK1gzOTk3MTZZMzA2NDk3RDAxKg0KK1g0MDAwOTJZMzA2NzI4RDAxKg0KK1g0MDA0MjdZMzA3MDE0RDAxKg0KK1g0MDA0NDFZMzA3MDMwRDAxKg0KK1kyNTQ5NzBEMDEqDQorWDQwMDQyN1kyNTQ5ODZEMDEqDQorWDQwMDA5MlkyNTUyNzJEMDEqDQorWDM5OTcxNlkyNTU1MDNEMDEqDQorWDM5OTMwOVkyNTU2NzFEMDEqDQorWDM5ODg4MFkyNTU3NzREMDEqDQorWDM5ODQ0MVkyNTU4MDlEMDEqDQorWDM5ODQzOFkyNTU4MDhEMDEqDQorWTI4OTE5NUQwMSoNCitYMzk4NDQxWTI4OTE5NEQwMSoNCitYMzk4NzIzWTI4OTIxN0QwMSoNCitYMzk4OTk5WTI4OTI4M0QwMSoNCitYMzk5MjYxWTI4OTM5MUQwMSoNCitYMzk5NTAyWTI4OTUzOUQwMSoNCitYMzk5NzE4WTI4OTcyM0QwMSoNCitYMzk5OTAyWTI4OTkzOUQwMSoNCitYNDAwMDUwWTI5MDE4MEQwMSoNCitYNDAwMTU4WTI5MDQ0MkQwMSoNCitYNDAwMjI0WTI5MDcxOEQwMSoNCitYNDAwMjQxWTI5MTAwMEQwMSoNCitYNDAwMjI0WTI5MTI4MkQwMSoNCitYNDAwMTU4WTI5MTU1OEQwMSoNCitYNDAwMDUwWTI5MTgyMEQwMSoNCitYMzk5OTAyWTI5MjA2MUQwMSoNCitYMzk5NzE4WTI5MjI3N0QwMSoNCitYMzk5NTAyWTI5MjQ2MUQwMSoNCitYMzk5MjYxWTI5MjYwOUQwMSoNCitYMzk4OTk5WTI5MjcxN0QwMSoNCitYMzk4NzIzWTI5Mjc4M0QwMSoNCitYMzk4NDQxWTI5MjgwNkQwMSoNCitYMzk4NDM4WTI5MjgwNUQwMSoNCitZMzA2MTkyRDAxKg0KK0czNyoNCitHMzYqDQorWTM2NDY4MUQwMipYMzk4ODA5WTM2NDc3MEQwMSoNCitYMzk5MjE2WTM2NDkzOEQwMSoNCitYMzk5NTkyWTM2NTE2OUQwMSoNCitYMzk5OTI3WTM2NTQ1NUQwMSoNCitYNDAwMjEzWTM2NTc5MEQwMSoNCitYNDAwNDQxWTM2NjE2MkQwMSoNCitZMzE1OTcwRDAxKg0KK1g0MDA0MjdZMzE1OTg2RDAxKg0KK1g0MDAwOTJZMzE2MjcyRDAxKg0KK1gzOTk3MTZZMzE2NTAzRDAxKg0KK1gzOTkzMDlZMzE2NjcxRDAxKg0KK1gzOTg4ODBZMzE2Nzc0RDAxKg0KK1gzOTg0NDFZMzE2ODA5RDAxKg0KK1gzOTg0MzhZMzE2ODA4RDAxKg0KK1kzNjQ2ODFEMDEqDQorRzM3Kg0KK0czNioNCitYNDAwNDQxWTM5NzAwMEQwMipZMzY4NzIwRDAxKg0KK1g0MDAyMTNZMzY5MDkyRDAxKg0KK1gzOTk5MjdZMzY5NDI3RDAxKg0KK1gzOTk1OTJZMzY5NzEzRDAxKg0KK1gzOTkyMTZZMzY5OTQ0RDAxKg0KK1gzOTg4MDlZMzcwMTEyRDAxKg0KK1gzOTg0MzhZMzcwMjAxRDAxKg0KK1kzNzAzODJEMDEqDQorWDM5ODcxNlkzNzA0OTdEMDEqDQorWDM5OTA5MlkzNzA3MjhEMDEqDQorWDM5OTQyN1kzNzEwMTREMDEqDQorWDM5OTcxM1kzNzEzNDlEMDEqDQorWDM5OTk0NFkzNzE3MjVEMDEqDQorWDQwMDExMlkzNzIxMzJEMDEqDQorWDQwMDIxNVkzNzI1NjFEMDEqDQorWDQwMDI0MVkzNzMwMDBEMDEqDQorWDQwMDIxNVkzNzM0MzlEMDEqDQorWDQwMDExMlkzNzM4NjhEMDEqDQorWDM5OTk0NFkzNzQyNzVEMDEqDQorWDM5OTcxM1kzNzQ2NTFEMDEqDQorWDM5OTQyN1kzNzQ5ODZEMDEqDQorWDM5OTA5MlkzNzUyNzJEMDEqDQorWDM5ODcxNlkzNzU1MDNEMDEqDQorWDM5ODQzOFkzNzU2MThEMDEqDQorWTM5NzAwMEQwMSoNCitYNDAwNDQxRDAxKg0KK0czNyoNCitHMzYqDQorWDM5NjQzOFkyNDYwMzREMDIqWDM5NjQ1NVkyNDYwMTREMDEqDQorWDM5Njc5MFkyNDU3MjhEMDEqDQorWDM5NzE2NlkyNDU0OTdEMDEqDQorWDM5NzU3M1kyNDUzMjlEMDEqDQorWDM5ODAwMlkyNDUyMjZEMDEqDQorWDM5ODQzOFkyNDUxOTJEMDEqDQorWTE5NTk2NkQwMSoNCitYMzk4MTY5WTE5NTY1MUQwMSoNCitYMzk3OTM4WTE5NTI3NUQwMSoNCitYMzk3NzcwWTE5NDg2OEQwMSoNCitYMzk3NjY3WTE5NDQzOUQwMSoNCitYMzk3NjMyWTE5NDAwMEQwMSoNCitYMzk3NjY3WTE5MzU2MUQwMSoNCitYMzk3NzcwWTE5MzEzMkQwMSoNCitYMzk3OTM4WTE5MjcyNUQwMSoNCitYMzk4MTY5WTE5MjM0OUQwMSoNCitYMzk4NDM4WTE5MjAzNEQwMSoNCitZMTkwOTY2RDAxKg0KK1gzOTgxNjlZMTkwNjUxRDAxKg0KK1gzOTc5MzhZMTkwMjc1RDAxKg0KK1gzOTc3NzBZMTg5ODY4RDAxKg0KK1gzOTc2NjdZMTg5NDM5RDAxKg0KK1gzOTc2MzJZMTg5MDAwRDAxKg0KK1gzOTc2NjdZMTg4NTYxRDAxKg0KK1gzOTc3NzBZMTg4MTMyRDAxKg0KK1gzOTc5MzhZMTg3NzI1RDAxKg0KK1gzOTgxNjlZMTg3MzQ5RDAxKg0KK1gzOTg0MzhZMTg3MDM0RDAxKg0KK1kxNzQ4MDVEMDEqDQorWDM5ODE1OVkxNzQ3ODNEMDEqDQorWDM5Nzg4M1kxNzQ3MTdEMDEqDQorWDM5NzYyMVkxNzQ2MDlEMDEqDQorWDM5NzM4MFkxNzQ0NjFEMDEqDQorWDM5NzE2NFkxNzQyNzdEMDEqDQorWDM5Njk4MFkxNzQwNjFEMDEqDQorWDM5NjgzMlkxNzM4MjBEMDEqDQorWDM5NjcyNFkxNzM1NThEMDEqDQorWDM5NjY1OFkxNzMyODJEMDEqDQorWDM5NjYzNVkxNzMwMDBEMDEqDQorWDM5NjY1OFkxNzI3MThEMDEqDQorWDM5NjcyNFkxNzI0NDJEMDEqDQorWDM5NjgzMlkxNzIxODBEMDEqDQorWDM5Njk4MFkxNzE5MzlEMDEqDQorWDM5NzE2NFkxNzE3MjNEMDEqDQorWDM5NzM4MFkxNzE1MzlEMDEqDQorWDM5NzYyMVkxNzEzOTFEMDEqDQorWDM5Nzg4M1kxNzEyODNEMDEqDQorWDM5ODE1OVkxNzEyMTdEMDEqDQorWDM5ODQzOFkxNzExOTVEMDEqDQorWTEzNjUwMEQwMSoNCitYMzk2NDM4RDAxKg0KK1kyMzMxOTVEMDEqDQorWDM5NjQ0MVkyMzMxOTREMDEqDQorWDM5NjcyM1kyMzMyMTdEMDEqDQorWDM5Njk5OVkyMzMyODNEMDEqDQorWDM5NzI2MVkyMzMzOTFEMDEqDQorWDM5NzUwMlkyMzM1MzlEMDEqDQorWDM5NzcxOFkyMzM3MjNEMDEqDQorWDM5NzkwMlkyMzM5MzlEMDEqDQorWDM5ODA1MFkyMzQxODBEMDEqDQorWDM5ODE1OFkyMzQ0NDJEMDEqDQorWDM5ODIyNFkyMzQ3MThEMDEqDQorWDM5ODI0MVkyMzUwMDBEMDEqDQorWDM5ODIyNFkyMzUyODJEMDEqDQorWDM5ODE1OFkyMzU1NThEMDEqDQorWDM5ODA1MFkyMzU4MjBEMDEqDQorWDM5NzkwMlkyMzYwNjFEMDEqDQorWDM5NzcxOFkyMzYyNzdEMDEqDQorWDM5NzUwMlkyMzY0NjFEMDEqDQorWDM5NzI2MVkyMzY2MDlEMDEqDQorWDM5Njk5OVkyMzY3MTdEMDEqDQorWDM5NjcyM1kyMzY3ODNEMDEqDQorWDM5NjQ0MVkyMzY4MDZEMDEqDQorWDM5NjQzOFkyMzY4MDVEMDEqDQorWTI0NjAzNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNTEwMzREMDIqWDM5NjQ1NVkyNTEwMTREMDEqDQorWDM5Njc5MFkyNTA3MjhEMDEqDQorWDM5NzE2MlkyNTA1MDBEMDEqDQorWDM5Njc5MFkyNTAyNzJEMDEqDQorWDM5NjQ1NVkyNDk5ODZEMDEqDQorWDM5NjQzOFkyNDk5NjZEMDEqDQorWTI1MTAzNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMDcwMzREMDIqWDM5NjQ1NVkzMDcwMTREMDEqDQorWDM5Njc5MFkzMDY3MjhEMDEqDQorWDM5NzE2NlkzMDY0OTdEMDEqDQorWDM5NzU3M1kzMDYzMjlEMDEqDQorWDM5ODAwMlkzMDYyMjZEMDEqDQorWDM5ODQzOFkzMDYxOTJEMDEqDQorWTI5MjgwNUQwMSoNCitYMzk4MTU5WTI5Mjc4M0QwMSoNCitYMzk3ODgzWTI5MjcxN0QwMSoNCitYMzk3NjIxWTI5MjYwOUQwMSoNCitYMzk3MzgwWTI5MjQ2MUQwMSoNCitYMzk3MTY0WTI5MjI3N0QwMSoNCitYMzk2OTgwWTI5MjA2MUQwMSoNCitYMzk2ODMyWTI5MTgyMEQwMSoNCitYMzk2NzI0WTI5MTU1OEQwMSoNCitYMzk2NjU4WTI5MTI4MkQwMSoNCitYMzk2NjM1WTI5MTAwMEQwMSoNCitYMzk2NjU4WTI5MDcxOEQwMSoNCitYMzk2NzI0WTI5MDQ0MkQwMSoNCitYMzk2ODMyWTI5MDE4MEQwMSoNCitYMzk2OTgwWTI4OTkzOUQwMSoNCitYMzk3MTY0WTI4OTcyM0QwMSoNCitYMzk3MzgwWTI4OTUzOUQwMSoNCitYMzk3NjIxWTI4OTM5MUQwMSoNCitYMzk3ODgzWTI4OTI4M0QwMSoNCitYMzk4MTU5WTI4OTIxN0QwMSoNCitYMzk4NDM4WTI4OTE5NUQwMSoNCitZMjU1ODA4RDAxKg0KK1gzOTgwMDJZMjU1Nzc0RDAxKg0KK1gzOTc1NzNZMjU1NjcxRDAxKg0KK1gzOTcxNjZZMjU1NTAzRDAxKg0KK1gzOTY3OTBZMjU1MjcyRDAxKg0KK1gzOTY0NTVZMjU0OTg2RDAxKg0KK1gzOTY0MzhZMjU0OTY2RDAxKg0KK1kzMDcwMzREMDEqDQorRzM3Kg0KK0czNioNCitZMzEyMDM0RDAyKlgzOTY0NTVZMzEyMDE0RDAxKg0KK1gzOTY3OTBZMzExNzI4RDAxKg0KK1gzOTcxNjJZMzExNTAwRDAxKg0KK1gzOTY3OTBZMzExMjcyRDAxKg0KK1gzOTY0NTVZMzEwOTg2RDAxKg0KK1gzOTY0MzhZMzEwOTY2RDAxKg0KK1kzMTIwMzREMDEqDQorRzM3Kg0KK0czNioNCitZMzY1MDc4RDAyKlgzOTY2NjZZMzY0OTM4RDAxKg0KK1gzOTcwNzNZMzY0NzcwRDAxKg0KK1gzOTc1MDJZMzY0NjY3RDAxKg0KK1gzOTc5NDFZMzY0NjMyRDAxKg0KK1gzOTgzODBZMzY0NjY3RDAxKg0KK1gzOTg0MzhZMzY0NjgxRDAxKg0KK1kzMTY4MDhEMDEqDQorWDM5ODAwMlkzMTY3NzREMDEqDQorWDM5NzU3M1kzMTY2NzFEMDEqDQorWDM5NzE2NlkzMTY1MDNEMDEqDQorWDM5Njc5MFkzMTYyNzJEMDEqDQorWDM5NjQ1NVkzMTU5ODZEMDEqDQorWDM5NjQzOFkzMTU5NjZEMDEqDQorWTM2NTA3OEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNzAzODVEMDIqWDM5NjU3M1kzNzAzMjlEMDEqDQorWDM5NzAwMlkzNzAyMjZEMDEqDQorWDM5NzQxMlkzNzAxOTREMDEqDQorWDM5NzA3M1kzNzAxMTJEMDEqDQorWDM5NjY2NlkzNjk5NDREMDEqDQorWDM5NjQzOFkzNjk4MDREMDEqDQorWTM3MDM4NUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzOTg0MzhZMzc1NjE4RDAyKlgzOTgzMDlZMzc1NjcxRDAxKg0KK1gzOTc4ODBZMzc1Nzc0RDAxKg0KK1gzOTc0NDFZMzc1ODA5RDAxKg0KK1gzOTcwMDJZMzc1Nzc0RDAxKg0KK1gzOTY1NzNZMzc1NjcxRDAxKg0KK1gzOTY0MzhZMzc1NjE1RDAxKg0KK1kzOTcwMDBEMDEqDQorWDM5ODQzOEQwMSoNCitZMzc1NjE4RDAxKg0KK0czNyoNCitHMzYqDQorWDM5NjQzOFkzNzU2MTVEMDIqWDM5NjE2NlkzNzU1MDNEMDEqDQorWDM5NTc5MFkzNzUyNzJEMDEqDQorWDM5NTQ1NVkzNzQ5ODZEMDEqDQorWDM5NTE2OVkzNzQ2NTFEMDEqDQorWDM5NDkzOFkzNzQyNzVEMDEqDQorWDM5NDc3MFkzNzM4NjhEMDEqDQorWDM5NDY2N1kzNzM0MzlEMDEqDQorWDM5NDYzMlkzNzMwMDBEMDEqDQorWDM5NDY2N1kzNzI1NjFEMDEqDQorWDM5NDc3MFkzNzIxMzJEMDEqDQorWDM5NDkzOFkzNzE3MjVEMDEqDQorWDM5NTE2OVkzNzEzNDlEMDEqDQorWDM5NTQ1NVkzNzEwMTREMDEqDQorWDM5NTc5MFkzNzA3MjhEMDEqDQorWDM5NjE2NlkzNzA0OTdEMDEqDQorWDM5NjQzOFkzNzAzODVEMDEqDQorWTM2OTgwNEQwMSoNCitYMzk2MjkwWTM2OTcxM0QwMSoNCitYMzk1OTU1WTM2OTQyN0QwMSoNCitYMzk1NjY5WTM2OTA5MkQwMSoNCitYMzk1NDM4WTM2ODcxNkQwMSoNCitYMzk1MjcwWTM2ODMwOUQwMSoNCitYMzk1MTY3WTM2Nzg4MEQwMSoNCitYMzk1MTMyWTM2NzQ0MUQwMSoNCitYMzk1MTY3WTM2NzAwMkQwMSoNCitYMzk1MjcwWTM2NjU3M0QwMSoNCitYMzk1NDM4WTM2NjE2NkQwMSoNCitYMzk1NjY5WTM2NTc5MEQwMSoNCitYMzk1OTU1WTM2NTQ1NUQwMSoNCitYMzk2MjkwWTM2NTE2OUQwMSoNCitYMzk2NDM4WTM2NTA3OEQwMSoNCitZMzE1OTY2RDAxKg0KK1gzOTYxNjlZMzE1NjUxRDAxKg0KK1gzOTU5MzhZMzE1Mjc1RDAxKg0KK1gzOTU3NzBZMzE0ODY4RDAxKg0KK1gzOTU2NjdZMzE0NDM5RDAxKg0KK1gzOTU2MzJZMzE0MDAwRDAxKg0KK1gzOTU2NjdZMzEzNTYxRDAxKg0KK1gzOTU3NzBZMzEzMTMyRDAxKg0KK1gzOTU5MzhZMzEyNzI1RDAxKg0KK1gzOTYxNjlZMzEyMzQ5RDAxKg0KK1gzOTY0MzhZMzEyMDM0RDAxKg0KK1kzMTA5NjZEMDEqDQorWDM5NjE2OVkzMTA2NTFEMDEqDQorWDM5NTkzOFkzMTAyNzVEMDEqDQorWDM5NTc3MFkzMDk4NjhEMDEqDQorWDM5NTY2N1kzMDk0MzlEMDEqDQorWDM5NTYzMlkzMDkwMDBEMDEqDQorWDM5NTY2N1kzMDg1NjFEMDEqDQorWDM5NTc3MFkzMDgxMzJEMDEqDQorWDM5NTkzOFkzMDc3MjVEMDEqDQorWDM5NjE2OVkzMDczNDlEMDEqDQorWDM5NjQzOFkzMDcwMzREMDEqDQorWTI1NDk2NkQwMSoNCitYMzk2MTY5WTI1NDY1MUQwMSoNCitYMzk1OTM4WTI1NDI3NUQwMSoNCitYMzk1NzcwWTI1Mzg2OEQwMSoNCitYMzk1NjY3WTI1MzQzOUQwMSoNCitYMzk1NjMyWTI1MzAwMEQwMSoNCitYMzk1NjY3WTI1MjU2MUQwMSoNCitYMzk1NzcwWTI1MjEzMkQwMSoNCitYMzk1OTM4WTI1MTcyNUQwMSoNCitYMzk2MTY5WTI1MTM0OUQwMSoNCitYMzk2NDM4WTI1MTAzNEQwMSoNCitZMjQ5OTY2RDAxKg0KK1gzOTYxNjlZMjQ5NjUxRDAxKg0KK1gzOTU5MzhZMjQ5Mjc1RDAxKg0KK1gzOTU3NzBZMjQ4ODY4RDAxKg0KK1gzOTU2NjdZMjQ4NDM5RDAxKg0KK1gzOTU2MzJZMjQ4MDAwRDAxKg0KK1gzOTU2NjdZMjQ3NTYxRDAxKg0KK1gzOTU3NzBZMjQ3MTMyRDAxKg0KK1gzOTU5MzhZMjQ2NzI1RDAxKg0KK1gzOTYxNjlZMjQ2MzQ5RDAxKg0KK1gzOTY0MzhZMjQ2MDM0RDAxKg0KK1kyMzY4MDVEMDEqDQorWDM5NjE1OVkyMzY3ODNEMDEqDQorWDM5NTg4M1kyMzY3MTdEMDEqDQorWDM5NTYyMVkyMzY2MDlEMDEqDQorWDM5NTM4MFkyMzY0NjFEMDEqDQorWDM5NTE2NFkyMzYyNzdEMDEqDQorWDM5NDk4MFkyMzYwNjFEMDEqDQorWDM5NDgzMlkyMzU4MjBEMDEqDQorWDM5NDcyNFkyMzU1NThEMDEqDQorWDM5NDY1OFkyMzUyODJEMDEqDQorWDM5NDYzNVkyMzUwMDBEMDEqDQorWDM5NDY1OFkyMzQ3MThEMDEqDQorWDM5NDcyNFkyMzQ0NDJEMDEqDQorWDM5NDgzMlkyMzQxODBEMDEqDQorWDM5NDk4MFkyMzM5MzlEMDEqDQorWDM5NTE2NFkyMzM3MjNEMDEqDQorWDM5NTM4MFkyMzM1MzlEMDEqDQorWDM5NTYyMVkyMzMzOTFEMDEqDQorWDM5NTg4M1kyMzMyODNEMDEqDQorWDM5NjE1OVkyMzMyMTdEMDEqDQorWDM5NjQzOFkyMzMxOTVEMDEqDQorWTEzNjUwMEQwMSoNCitYMzkzNDM3RDAxKg0KK1kyMDUxOTJEMDEqDQorWDM5MzQ0MVkyMDUxOTFEMDEqDQorWDM5Mzg4MFkyMDUyMjZEMDEqDQorWDM5NDMwOVkyMDUzMjlEMDEqDQorWDM5NDcxNlkyMDU0OTdEMDEqDQorWDM5NTA5MlkyMDU3MjhEMDEqDQorWDM5NTQyN1kyMDYwMTREMDEqDQorWDM5NTcxM1kyMDYzNDlEMDEqDQorWDM5NTk0NFkyMDY3MjVEMDEqDQorWDM5NjExMlkyMDcxMzJEMDEqDQorWDM5NjIxNVkyMDc1NjFEMDEqDQorWDM5NjI0MVkyMDgwMDBEMDEqDQorWDM5NjIxNVkyMDg0MzlEMDEqDQorWDM5NjExMlkyMDg4NjhEMDEqDQorWDM5NTk0NFkyMDkyNzVEMDEqDQorWDM5NTcxM1kyMDk2NTFEMDEqDQorWDM5NTQyN1kyMDk5ODZEMDEqDQorWDM5NTA5MlkyMTAyNzJEMDEqDQorWDM5NDcxNlkyMTA1MDNEMDEqDQorWDM5NDMwOVkyMTA2NzFEMDEqDQorWDM5Mzg4MFkyMTA3NzREMDEqDQorWDM5MzQ0MVkyMTA4MDlEMDEqDQorWDM5MzQzN1kyMTA4MDhEMDEqDQorWTIzNzY5OUQwMSoNCitYMzkzNDY1WTIzNzcyM0QwMSoNCitYMzkzNjQ5WTIzNzkzOUQwMSoNCitYMzkzNzk3WTIzODE4MEQwMSoNCitYMzkzOTA1WTIzODQ0MkQwMSoNCitYMzkzOTcxWTIzODcxOEQwMSoNCitYMzkzOTg4WTIzOTAwMEQwMSoNCitYMzkzOTcxWTIzOTI4MkQwMSoNCitYMzkzOTA1WTIzOTU1OEQwMSoNCitYMzkzNzk3WTIzOTgyMEQwMSoNCitYMzkzNjQ5WTI0MDA2MUQwMSoNCitYMzkzNDY1WTI0MDI3N0QwMSoNCitYMzkzNDM3WTI0MDMwMUQwMSoNCitZMzI0MTkyRDAxKg0KK1gzOTM0NDFZMzI0MTkxRDAxKg0KK1gzOTM4ODBZMzI0MjI2RDAxKg0KK1gzOTQzMDlZMzI0MzI5RDAxKg0KK1gzOTQ3MTZZMzI0NDk3RDAxKg0KK1gzOTUwOTJZMzI0NzI4RDAxKg0KK1gzOTU0MjdZMzI1MDE0RDAxKg0KK1gzOTU3MTNZMzI1MzQ5RDAxKg0KK1gzOTU5NDRZMzI1NzI1RDAxKg0KK1gzOTYxMTJZMzI2MTMyRDAxKg0KK1gzOTYyMTVZMzI2NTYxRDAxKg0KK1gzOTYyNDFZMzI3MDAwRDAxKg0KK1gzOTYyMTVZMzI3NDM5RDAxKg0KK1gzOTYxMTJZMzI3ODY4RDAxKg0KK1gzOTU5NDRZMzI4Mjc1RDAxKg0KK1gzOTU3MTNZMzI4NjUxRDAxKg0KK1gzOTU0MjdZMzI4OTg2RDAxKg0KK1gzOTUwOTJZMzI5MjcyRDAxKg0KK1gzOTQ3MTZZMzI5NTAzRDAxKg0KK1gzOTQzMDlZMzI5NjcxRDAxKg0KK1gzOTM4ODBZMzI5Nzc0RDAxKg0KK1gzOTM0NDFZMzI5ODA5RDAxKg0KK1gzOTM0MzdZMzI5ODA4RDAxKg0KK1kzNTIxOTJEMDEqDQorWDM5MzQ0MVkzNTIxOTFEMDEqDQorWDM5Mzg4MFkzNTIyMjZEMDEqDQorWDM5NDMwOVkzNTIzMjlEMDEqDQorWDM5NDcxNlkzNTI0OTdEMDEqDQorWDM5NTA5MlkzNTI3MjhEMDEqDQorWDM5NTQyN1kzNTMwMTREMDEqDQorWDM5NTcxM1kzNTMzNDlEMDEqDQorWDM5NTk0NFkzNTM3MjVEMDEqDQorWDM5NjExMlkzNTQxMzJEMDEqDQorWDM5NjIxNVkzNTQ1NjFEMDEqDQorWDM5NjI0MVkzNTUwMDBEMDEqDQorWDM5NjIxNVkzNTU0MzlEMDEqDQorWDM5NjExMlkzNTU4NjhEMDEqDQorWDM5NTk0NFkzNTYyNzVEMDEqDQorWDM5NTcxM1kzNTY2NTFEMDEqDQorWDM5NTQyN1kzNTY5ODZEMDEqDQorWDM5NTA5MlkzNTcyNzJEMDEqDQorWDM5NDcxNlkzNTc1MDNEMDEqDQorWDM5NDMwOVkzNTc2NzFEMDEqDQorWDM5Mzg4MFkzNTc3NzREMDEqDQorWDM5MzQ0MVkzNTc4MDlEMDEqDQorWDM5MzQzN1kzNTc4MDhEMDEqDQorWTM5NzAwMEQwMSoNCitYMzk2NDM4RDAxKg0KK1kzNzU2MTVEMDEqDQorRzM3Kg0KK0czNioNCitYMzkzNDM3WTEzNjUwMEQwMipYMzg5NDM3RDAxKg0KK1kxODExOTJEMDEqDQorWDM4OTQ0MVkxODExOTFEMDEqDQorWDM4OTg4MFkxODEyMjZEMDEqDQorWDM5MDMwOVkxODEzMjlEMDEqDQorWDM5MDcxNlkxODE0OTdEMDEqDQorWDM5MTA5MlkxODE3MjhEMDEqDQorWDM5MTQyN1kxODIwMTREMDEqDQorWDM5MTcxM1kxODIzNDlEMDEqDQorWDM5MTk0NFkxODI3MjVEMDEqDQorWDM5MjExMlkxODMxMzJEMDEqDQorWDM5MjIxNVkxODM1NjFEMDEqDQorWDM5MjI0MVkxODQwMDBEMDEqDQorWDM5MjIxNVkxODQ0MzlEMDEqDQorWDM5MjExMlkxODQ4NjhEMDEqDQorWDM5MTk0NFkxODUyNzVEMDEqDQorWDM5MTcxM1kxODU2NTFEMDEqDQorWDM5MTQyN1kxODU5ODZEMDEqDQorWDM5MTA5MlkxODYyNzJEMDEqDQorWDM5MDcxNlkxODY1MDNEMDEqDQorWDM5MDMwOVkxODY2NzFEMDEqDQorWDM4OTg4MFkxODY3NzREMDEqDQorWDM4OTQ0MVkxODY4MDlEMDEqDQorWDM4OTQzN1kxODY4MDhEMDEqDQorWTIzMzUwM0QwMSoNCitYMzg5NTczWTIzMzcyNUQwMSoNCitYMzg5NzQxWTIzNDEzMkQwMSoNCitYMzg5ODQ0WTIzNDU2MUQwMSoNCitYMzg5ODcwWTIzNTAwMEQwMSoNCitYMzg5ODQ0WTIzNTQzOUQwMSoNCitYMzg5NzQxWTIzNTg2OEQwMSoNCitYMzg5NTczWTIzNjI3NUQwMSoNCitYMzg5NDM3WTIzNjQ5N0QwMSoNCitZMjQ1OTYzRDAxKg0KK1gzODk0ODRZMjQ2MDAzRDAxKg0KK1gzODk2NjhZMjQ2MjE5RDAxKg0KK1gzODk4MTZZMjQ2NDYwRDAxKg0KK1gzODk5MjRZMjQ2NzIyRDAxKg0KK1gzODk5OTBZMjQ2OTk4RDAxKg0KK1gzOTAwMDdZMjQ3MjgwRDAxKg0KK1gzODk5OTBZMjQ3NTYyRDAxKg0KK1gzODk5MjRZMjQ3ODM4RDAxKg0KK1gzODk4MTZZMjQ4MTAwRDAxKg0KK1gzODk2NjhZMjQ4MzQxRDAxKg0KK1gzODk0ODRZMjQ4NTU3RDAxKg0KK1gzODk0MzdZMjQ4NTk3RDAxKg0KK1kyODEzMjJEMDEqDQorWDM4OTQ5NFkyODE1NjFEMDEqDQorWDM4OTUyMFkyODIwMDBEMDEqDQorWDM4OTQ5NFkyODI0MzlEMDEqDQorWDM4OTQzN1kyODI2NzhEMDEqDQorWTMyNDAyNUQwMSoNCitYMzg5NzEzWTMyNDM0OUQwMSoNCitYMzg5OTQ0WTMyNDcyNUQwMSoNCitYMzkwMTEyWTMyNTEzMkQwMSoNCitYMzkwMjE1WTMyNTU2MUQwMSoNCitYMzkwMjQxWTMyNjAwMEQwMSoNCitYMzkwMjE1WTMyNjQzOUQwMSoNCitYMzkwMTEyWTMyNjg2OEQwMSoNCitYMzg5OTQ0WTMyNzI3NUQwMSoNCitYMzg5NzEzWTMyNzY1MUQwMSoNCitYMzg5NDM3WTMyNzk3NUQwMSoNCitZMzk3MDAwRDAxKg0KK1gzOTM0MzdEMDEqDQorWTM1NzgwOEQwMSoNCitYMzkzMDAyWTM1Nzc3NEQwMSoNCitYMzkyNTczWTM1NzY3MUQwMSoNCitYMzkyMTY2WTM1NzUwM0QwMSoNCitYMzkxNzkwWTM1NzI3MkQwMSoNCitYMzkxNDU1WTM1Njk4NkQwMSoNCitYMzkxMTY5WTM1NjY1MUQwMSoNCitYMzkwOTM4WTM1NjI3NUQwMSoNCitYMzkwNzcwWTM1NTg2OEQwMSoNCitYMzkwNjY3WTM1NTQzOUQwMSoNCitYMzkwNjMyWTM1NTAwMEQwMSoNCitYMzkwNjY3WTM1NDU2MUQwMSoNCitYMzkwNzcwWTM1NDEzMkQwMSoNCitYMzkwOTM4WTM1MzcyNUQwMSoNCitYMzkxMTY5WTM1MzM0OUQwMSoNCitYMzkxNDU1WTM1MzAxNEQwMSoNCitYMzkxNzkwWTM1MjcyOEQwMSoNCitYMzkyMTY2WTM1MjQ5N0QwMSoNCitYMzkyNTczWTM1MjMyOUQwMSoNCitYMzkzMDAyWTM1MjIyNkQwMSoNCitYMzkzNDM3WTM1MjE5MkQwMSoNCitZMzI5ODA4RDAxKg0KK1gzOTMwMDJZMzI5Nzc0RDAxKg0KK1gzOTI1NzNZMzI5NjcxRDAxKg0KK1gzOTIxNjZZMzI5NTAzRDAxKg0KK1gzOTE3OTBZMzI5MjcyRDAxKg0KK1gzOTE0NTVZMzI4OTg2RDAxKg0KK1gzOTExNjlZMzI4NjUxRDAxKg0KK1gzOTA5MzhZMzI4Mjc1RDAxKg0KK1gzOTA3NzBZMzI3ODY4RDAxKg0KK1gzOTA2NjdZMzI3NDM5RDAxKg0KK1gzOTA2MzJZMzI3MDAwRDAxKg0KK1gzOTA2NjdZMzI2NTYxRDAxKg0KK1gzOTA3NzBZMzI2MTMyRDAxKg0KK1gzOTA5MzhZMzI1NzI1RDAxKg0KK1gzOTExNjlZMzI1MzQ5RDAxKg0KK1gzOTE0NTVZMzI1MDE0RDAxKg0KK1gzOTE3OTBZMzI0NzI4RDAxKg0KK1gzOTIxNjZZMzI0NDk3RDAxKg0KK1gzOTI1NzNZMzI0MzI5RDAxKg0KK1gzOTMwMDJZMzI0MjI2RDAxKg0KK1gzOTM0MzdZMzI0MTkyRDAxKg0KK1kyNDAzMDFEMDEqDQorWDM5MzI0OVkyNDA0NjFEMDEqDQorWDM5MzAwOFkyNDA2MDlEMDEqDQorWDM5Mjc0NlkyNDA3MTdEMDEqDQorWDM5MjQ3MFkyNDA3ODNEMDEqDQorWDM5MjE4OFkyNDA4MDZEMDEqDQorWDM5MTkwNlkyNDA3ODNEMDEqDQorWDM5MTYzMFkyNDA3MTdEMDEqDQorWDM5MTM2OFkyNDA2MDlEMDEqDQorWDM5MTEyN1kyNDA0NjFEMDEqDQorWDM5MDkxMVkyNDAyNzdEMDEqDQorWDM5MDcyN1kyNDAwNjFEMDEqDQorWDM5MDU3OVkyMzk4MjBEMDEqDQorWDM5MDQ3MVkyMzk1NThEMDEqDQorWDM5MDQwNVkyMzkyODJEMDEqDQorWDM5MDM4MlkyMzkwMDBEMDEqDQorWDM5MDQwNVkyMzg3MThEMDEqDQorWDM5MDQ3MVkyMzg0NDJEMDEqDQorWDM5MDU3OVkyMzgxODBEMDEqDQorWDM5MDcyN1kyMzc5MzlEMDEqDQorWDM5MDkxMVkyMzc3MjNEMDEqDQorWDM5MTEyN1kyMzc1MzlEMDEqDQorWDM5MTM2OFkyMzczOTFEMDEqDQorWDM5MTYzMFkyMzcyODNEMDEqDQorWDM5MTkwNlkyMzcyMTdEMDEqDQorWDM5MjE4OFkyMzcxOTREMDEqDQorWDM5MjQ3MFkyMzcyMTdEMDEqDQorWDM5Mjc0NlkyMzcyODNEMDEqDQorWDM5MzAwOFkyMzczOTFEMDEqDQorWDM5MzI0OVkyMzc1MzlEMDEqDQorWDM5MzQzN1kyMzc2OTlEMDEqDQorWTIxMDgwOEQwMSoNCitYMzkzMDAyWTIxMDc3NEQwMSoNCitYMzkyNTczWTIxMDY3MUQwMSoNCitYMzkyMTY2WTIxMDUwM0QwMSoNCitYMzkxNzkwWTIxMDI3MkQwMSoNCitYMzkxNDU1WTIwOTk4NkQwMSoNCitYMzkxMTY5WTIwOTY1MUQwMSoNCitYMzkwOTM4WTIwOTI3NUQwMSoNCitYMzkwNzcwWTIwODg2OEQwMSoNCitYMzkwNjY3WTIwODQzOUQwMSoNCitYMzkwNjMyWTIwODAwMEQwMSoNCitYMzkwNjY3WTIwNzU2MUQwMSoNCitYMzkwNzcwWTIwNzEzMkQwMSoNCitYMzkwOTM4WTIwNjcyNUQwMSoNCitYMzkxMTY5WTIwNjM0OUQwMSoNCitYMzkxNDU1WTIwNjAxNEQwMSoNCitYMzkxNzkwWTIwNTcyOEQwMSoNCitYMzkyMTY2WTIwNTQ5N0QwMSoNCitYMzkyNTczWTIwNTMyOUQwMSoNCitYMzkzMDAyWTIwNTIyNkQwMSoNCitYMzkzNDM3WTIwNTE5MkQwMSoNCitZMTM2NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM5ODQzOFkzNzAyMDFEMDIqWDM5ODM4MFkzNzAyMTVEMDEqDQorWDM5Nzk3MFkzNzAyNDdEMDEqDQorWDM5ODMwOVkzNzAzMjlEMDEqDQorWDM5ODQzOFkzNzAzODJEMDEqDQorWTM3MDIwMUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODk0MzdZMzI3OTc1RDAyKlgzODk0MjdZMzI3OTg2RDAxKg0KK1gzODkwOTJZMzI4MjcyRDAxKg0KK1gzODg3MTZZMzI4NTAzRDAxKg0KK1gzODgzMDlZMzI4NjcxRDAxKg0KK1gzODc4ODBZMzI4Nzc0RDAxKg0KK1gzODc0NDFZMzI4ODA5RDAxKg0KK1gzODcwMDJZMzI4Nzc0RDAxKg0KK1gzODY1NzNZMzI4NjcxRDAxKg0KK1gzODY0MzdZMzI4NjE1RDAxKg0KK1kzNTE3MzlEMDEqDQorWDM4NjgwOVkzNTE4MjlEMDEqDQorWDM4NzIxNlkzNTE5OTdEMDEqDQorWDM4NzU5MlkzNTIyMjhEMDEqDQorWDM4NzkyN1kzNTI1MTREMDEqDQorWDM4ODIxM1kzNTI4NDlEMDEqDQorWDM4ODQ0NFkzNTMyMjVEMDEqDQorWDM4ODYxMlkzNTM2MzJEMDEqDQorWDM4ODcxNVkzNTQwNjFEMDEqDQorWDM4ODc0MVkzNTQ1MDBEMDEqDQorWDM4ODcxNVkzNTQ5MzlEMDEqDQorWDM4ODYxMlkzNTUzNjhEMDEqDQorWDM4ODQ0NFkzNTU3NzVEMDEqDQorWDM4ODIxM1kzNTYxNTFEMDEqDQorWDM4NzkyN1kzNTY0ODZEMDEqDQorWDM4NzU5MlkzNTY3NzJEMDEqDQorWDM4NzIxNlkzNTcwMDNEMDEqDQorWDM4NjgwOVkzNTcxNzFEMDEqDQorWDM4NjQzN1kzNTcyNjFEMDEqDQorWTM2NDI2OEQwMSoNCitYMzg2NDk5WTM2NDI4M0QwMSoNCitYMzg2NzYxWTM2NDM5MUQwMSoNCitYMzg3MDAyWTM2NDUzOUQwMSoNCitYMzg3MjE4WTM2NDcyM0QwMSoNCitYMzg3NDAyWTM2NDkzOUQwMSoNCitYMzg3NTUwWTM2NTE4MEQwMSoNCitYMzg3NjU4WTM2NTQ0MkQwMSoNCitYMzg3NzI0WTM2NTcxOEQwMSoNCitYMzg3NzQxWTM2NjAwMEQwMSoNCitYMzg3NzI0WTM2NjI4MkQwMSoNCitYMzg3NjU4WTM2NjU1OEQwMSoNCitYMzg3NTUwWTM2NjgyMEQwMSoNCitYMzg3NDAyWTM2NzA2MUQwMSoNCitYMzg3MjE4WTM2NzI3N0QwMSoNCitYMzg3MDAyWTM2NzQ2MUQwMSoNCitYMzg2NzYxWTM2NzYwOUQwMSoNCitYMzg2NDk5WTM2NzcxN0QwMSoNCitYMzg2NDM3WTM2NzczMkQwMSoNCitZMzc4MDcxRDAxKg0KK1gzODY0NjJZMzc4NTAwRDAxKg0KK1gzODY0MzdZMzc4OTI5RDAxKg0KK1kzOTcwMDBEMDEqDQorWDM4OTQzN0QwMSoNCitZMzI3OTc1RDAxKg0KK0czNyoNCitHMzYqDQorWTI4MjY3OEQwMipYMzg5MzkxWTI4Mjg2OEQwMSoNCitYMzg5MjIzWTI4MzI3NUQwMSoNCitYMzg4OTkyWTI4MzY1MUQwMSoNCitYMzg4NzA2WTI4Mzk4NkQwMSoNCitYMzg4MzcxWTI4NDI3MkQwMSoNCitYMzg3OTk1WTI4NDUwM0QwMSoNCitYMzg3NTg4WTI4NDY3MUQwMSoNCitYMzg3MTU5WTI4NDc3NEQwMSoNCitYMzg2NzIwWTI4NDgwOUQwMSoNCitYMzg2NDM3WTI4NDc4NkQwMSoNCitZMzA0MzUzRDAxKg0KK1gzODY2NjVZMzA0NzI1RDAxKg0KK1gzODY4MzNZMzA1MTMyRDAxKg0KK1gzODY5MzZZMzA1NTYxRDAxKg0KK1gzODY5NjJZMzA2MDAwRDAxKg0KK1gzODY5MzZZMzA2NDM5RDAxKg0KK1gzODY4MzNZMzA2ODY4RDAxKg0KK1gzODY2NjVZMzA3Mjc1RDAxKg0KK1gzODY0MzdZMzA3NjQ3RDAxKg0KK1kzMjMzODVEMDEqDQorWDM4NjU3M1kzMjMzMjlEMDEqDQorWDM4NzAwMlkzMjMyMjZEMDEqDQorWDM4NzQ0MVkzMjMxOTFEMDEqDQorWDM4Nzg4MFkzMjMyMjZEMDEqDQorWDM4ODMwOVkzMjMzMjlEMDEqDQorWDM4ODcxNlkzMjM0OTdEMDEqDQorWDM4OTA5MlkzMjM3MjhEMDEqDQorWDM4OTQyN1kzMjQwMTREMDEqDQorWDM4OTQzN1kzMjQwMjVEMDEqDQorWTI4MjY3OEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNDg1OTdEMDIqWDM4OTI2OFkyNDg3NDFEMDEqDQorWDM4OTAyN1kyNDg4ODlEMDEqDQorWDM4ODc2NVkyNDg5OTdEMDEqDQorWDM4ODQ4OVkyNDkwNjNEMDEqDQorWDM4ODIwN1kyNDkwODZEMDEqDQorWDM4NzkyNVkyNDkwNjNEMDEqDQorWDM4NzY0OVkyNDg5OTdEMDEqDQorWDM4NzM4N1kyNDg4ODlEMDEqDQorWDM4NzE0NlkyNDg3NDFEMDEqDQorWDM4NjkzMFkyNDg1NTdEMDEqDQorWDM4Njc0NlkyNDgzNDFEMDEqDQorWDM4NjU5OFkyNDgxMDBEMDEqDQorWDM4NjQ5MFkyNDc4MzhEMDEqDQorWDM4NjQzN1kyNDc2MTdEMDEqDQorWTI1NTk2MkQwMSoNCitYMzg2NDk4WTI1NjAxNEQwMSoNCitYMzg2Nzg0WTI1NjM0OUQwMSoNCitYMzg3MDE1WTI1NjcyNUQwMSoNCitYMzg3MTgzWTI1NzEzMkQwMSoNCitYMzg3Mjg2WTI1NzU2MUQwMSoNCitYMzg3MzEyWTI1ODAwMEQwMSoNCitYMzg3Mjg2WTI1ODQzOUQwMSoNCitYMzg3MTgzWTI1ODg2OEQwMSoNCitYMzg3MDE1WTI1OTI3NUQwMSoNCitYMzg2Nzg0WTI1OTY1MUQwMSoNCitYMzg2NDk4WTI1OTk4NkQwMSoNCitYMzg2NDM3WTI2MDAzOEQwMSoNCitZMjc5MjE0RDAxKg0KK1gzODY3MjBZMjc5MTkxRDAxKg0KK1gzODcxNTlZMjc5MjI2RDAxKg0KK1gzODc1ODhZMjc5MzI5RDAxKg0KK1gzODc5OTVZMjc5NDk3RDAxKg0KK1gzODgzNzFZMjc5NzI4RDAxKg0KK1gzODg3MDZZMjgwMDE0RDAxKg0KK1gzODg5OTJZMjgwMzQ5RDAxKg0KK1gzODkyMjNZMjgwNzI1RDAxKg0KK1gzODkzOTFZMjgxMTMyRDAxKg0KK1gzODk0MzdZMjgxMzIyRDAxKg0KK1kyNDg1OTdEMDEqDQorRzM3Kg0KK0czNioNCitZMjM2NDk3RDAyKlgzODkzNDJZMjM2NjUxRDAxKg0KK1gzODkwNTZZMjM2OTg2RDAxKg0KK1gzODg3MjFZMjM3MjcyRDAxKg0KK1gzODgzNDVZMjM3NTAzRDAxKg0KK1gzODc5MzhZMjM3NjcxRDAxKg0KK1gzODc1MDlZMjM3Nzc0RDAxKg0KK1gzODcwNzBZMjM3ODA5RDAxKg0KK1gzODY2MzFZMjM3Nzc0RDAxKg0KK1gzODY0MzdZMjM3NzI3RDAxKg0KK1kyNDY5NDNEMDEqDQorWDM4NjQ5MFkyNDY3MjJEMDEqDQorWDM4NjU5OFkyNDY0NjBEMDEqDQorWDM4Njc0NlkyNDYyMTlEMDEqDQorWDM4NjkzMFkyNDYwMDNEMDEqDQorWDM4NzE0NlkyNDU4MTlEMDEqDQorWDM4NzM4N1kyNDU2NzFEMDEqDQorWDM4NzY0OVkyNDU1NjNEMDEqDQorWDM4NzkyNVkyNDU0OTdEMDEqDQorWDM4ODIwN1kyNDU0NzREMDEqDQorWDM4ODQ4OVkyNDU0OTdEMDEqDQorWDM4ODc2NVkyNDU1NjNEMDEqDQorWDM4OTAyN1kyNDU2NzFEMDEqDQorWDM4OTI2OFkyNDU4MTlEMDEqDQorWDM4OTQzN1kyNDU5NjNEMDEqDQorWTIzNjQ5N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxMzY1MDBEMDIqWDM4NjQzN0QwMSoNCitZMTU2MDYxRDAxKg0KK1gzODY1ODFZMTU2MDk2RDAxKg0KK1gzODY4NDNZMTU2MjA0RDAxKg0KK1gzODcwODRZMTU2MzUyRDAxKg0KK1gzODczMDBZMTU2NTM2RDAxKg0KK1gzODc0ODRZMTU2NzUyRDAxKg0KK1gzODc2MzJZMTU2OTkzRDAxKg0KK1gzODc3NDBZMTU3MjU1RDAxKg0KK1gzODc4MDZZMTU3NTMxRDAxKg0KK1gzODc4MjNZMTU3ODEzRDAxKg0KK1gzODc4MDZZMTU4MDk1RDAxKg0KK1gzODc3NDBZMTU4MzcxRDAxKg0KK1gzODc2MzJZMTU4NjMzRDAxKg0KK1gzODc0ODRZMTU4ODc0RDAxKg0KK1gzODczMDBZMTU5MDkwRDAxKg0KK1gzODcwODRZMTU5Mjc0RDAxKg0KK1gzODY4NDNZMTU5NDIyRDAxKg0KK1gzODY1ODFZMTU5NTMwRDAxKg0KK1gzODY0MzdZMTU5NTY1RDAxKg0KK1kxNjAxOTJEMDEqDQorWDM4NjQ0MVkxNjAxOTFEMDEqDQorWDM4Njg4MFkxNjAyMjZEMDEqDQorWDM4NzMwOVkxNjAzMjlEMDEqDQorWDM4NzcxNlkxNjA0OTdEMDEqDQorWDM4ODA5MlkxNjA3MjhEMDEqDQorWDM4ODQyN1kxNjEwMTREMDEqDQorWDM4ODcxM1kxNjEzNDlEMDEqDQorWDM4ODk0NFkxNjE3MjVEMDEqDQorWDM4OTExMlkxNjIxMzJEMDEqDQorWDM4OTIxNVkxNjI1NjFEMDEqDQorWDM4OTI0MVkxNjMwMDBEMDEqDQorWDM4OTIxNVkxNjM0MzlEMDEqDQorWDM4OTExMlkxNjM4NjhEMDEqDQorWDM4ODk0NFkxNjQyNzVEMDEqDQorWDM4ODcxM1kxNjQ2NTFEMDEqDQorWDM4ODQyN1kxNjQ5ODZEMDEqDQorWDM4ODA5MlkxNjUyNzJEMDEqDQorWDM4NzcxNlkxNjU1MDNEMDEqDQorWDM4NzMwOVkxNjU2NzFEMDEqDQorWDM4Njg4MFkxNjU3NzREMDEqDQorWDM4NjQ0MVkxNjU4MDlEMDEqDQorWDM4NjQzN1kxNjU4MDhEMDEqDQorWTE4NjM1M0QwMSoNCitYMzg2NjY1WTE4NjcyNUQwMSoNCitYMzg2ODMzWTE4NzEzMkQwMSoNCitYMzg2OTM2WTE4NzU2MUQwMSoNCitYMzg2OTYyWTE4ODAwMEQwMSoNCitYMzg2OTM2WTE4ODQzOUQwMSoNCitYMzg2ODMzWTE4ODg2OEQwMSoNCitYMzg2NjY1WTE4OTI3NUQwMSoNCitYMzg2NDM3WTE4OTY0N0QwMSoNCitZMjMyMjczRDAxKg0KK1gzODY2MzFZMjMyMjI2RDAxKg0KK1gzODcwNzBZMjMyMTkxRDAxKg0KK1gzODc1MDlZMjMyMjI2RDAxKg0KK1gzODc5MzhZMjMyMzI5RDAxKg0KK1gzODgzNDVZMjMyNDk3RDAxKg0KK1gzODg3MjFZMjMyNzI4RDAxKg0KK1gzODkwNTZZMjMzMDE0RDAxKg0KK1gzODkzNDJZMjMzMzQ5RDAxKg0KK1gzODk0MzdZMjMzNTAzRDAxKg0KK1kxODY4MDhEMDEqDQorWDM4OTAwMlkxODY3NzREMDEqDQorWDM4ODU3M1kxODY2NzFEMDEqDQorWDM4ODE2NlkxODY1MDNEMDEqDQorWDM4Nzc5MFkxODYyNzJEMDEqDQorWDM4NzQ1NVkxODU5ODZEMDEqDQorWDM4NzE2OVkxODU2NTFEMDEqDQorWDM4NjkzOFkxODUyNzVEMDEqDQorWDM4Njc3MFkxODQ4NjhEMDEqDQorWDM4NjY2N1kxODQ0MzlEMDEqDQorWDM4NjYzMlkxODQwMDBEMDEqDQorWDM4NjY2N1kxODM1NjFEMDEqDQorWDM4Njc3MFkxODMxMzJEMDEqDQorWDM4NjkzOFkxODI3MjVEMDEqDQorWDM4NzE2OVkxODIzNDlEMDEqDQorWDM4NzQ1NVkxODIwMTREMDEqDQorWDM4Nzc5MFkxODE3MjhEMDEqDQorWDM4ODE2NlkxODE0OTdEMDEqDQorWDM4ODU3M1kxODEzMjlEMDEqDQorWDM4OTAwMlkxODEyMjZEMDEqDQorWDM4OTQzN1kxODExOTJEMDEqDQorWTEzNjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODY0MzdEMDIqWDM3NzM0NEQwMSoNCitZMTYwMzczRDAxKg0KK1gzNzczNDdZMTYwMzcyRDAxKg0KK1gzNzc2MjlZMTYwMzk1RDAxKg0KK1gzNzc5MDVZMTYwNDYxRDAxKg0KK1gzNzgxNjdZMTYwNTY5RDAxKg0KK1gzNzg0MDhZMTYwNzE3RDAxKg0KK1gzNzg2MjRZMTYwOTAxRDAxKg0KK1gzNzg4MDhZMTYxMTE3RDAxKg0KK1gzNzg5NTZZMTYxMzU4RDAxKg0KK1gzNzkwNjRZMTYxNjIwRDAxKg0KK1gzNzkxMzBZMTYxODk2RDAxKg0KK1gzNzkxNDdZMTYyMTc4RDAxKg0KK1gzNzkxMzBZMTYyNDYwRDAxKg0KK1gzNzkwNjRZMTYyNzM2RDAxKg0KK1gzNzg5NTZZMTYyOTk4RDAxKg0KK1gzNzg4MDhZMTYzMjM5RDAxKg0KK1gzNzg2MjRZMTYzNDU1RDAxKg0KK1gzNzg0MDhZMTYzNjM5RDAxKg0KK1gzNzgxNjdZMTYzNzg3RDAxKg0KK1gzNzc5MDVZMTYzODk1RDAxKg0KK1gzNzc2MjlZMTYzOTYxRDAxKg0KK1gzNzczNDdZMTYzOTg0RDAxKg0KK1gzNzczNDRZMTYzOTgzRDAxKg0KK1kyMzI5NDNEMDEqDQorWDM3NzQyN1kyMzMwMTREMDEqDQorWDM3NzcxM1kyMzMzNDlEMDEqDQorWDM3Nzk0NFkyMzM3MjVEMDEqDQorWDM3ODExMlkyMzQxMzJEMDEqDQorWDM3ODIxNVkyMzQ1NjFEMDEqDQorWDM3ODI0MVkyMzUwMDBEMDEqDQorWDM3ODIxNVkyMzU0MzlEMDEqDQorWDM3ODExMlkyMzU4NjhEMDEqDQorWDM3Nzk0NFkyMzYyNzVEMDEqDQorWDM3NzcxM1kyMzY2NTFEMDEqDQorWDM3NzQyN1kyMzY5ODZEMDEqDQorWDM3NzM0NFkyMzcwNTdEMDEqDQorWTM5NzAwMEQwMSoNCitYMzg2NDM3RDAxKg0KK1kzNzg5MjlEMDEqDQorWDM4NjQzNlkzNzg5MzlEMDEqDQorWDM4NjMzM1kzNzkzNjhEMDEqDQorWDM4NjE2NVkzNzk3NzVEMDEqDQorWDM4NTkzNFkzODAxNTFEMDEqDQorWDM4NTY0OFkzODA0ODZEMDEqDQorWDM4NTMxM1kzODA3NzJEMDEqDQorWDM4NDkzN1kzODEwMDNEMDEqDQorWDM4NDUzMFkzODExNzFEMDEqDQorWDM4NDEwMVkzODEyNzREMDEqDQorWDM4MzY2MlkzODEzMDlEMDEqDQorWDM4MzIyM1kzODEyNzREMDEqDQorWDM4Mjc5NFkzODExNzFEMDEqDQorWDM4MjM4N1kzODEwMDNEMDEqDQorWDM4MjAxMVkzODA3NzJEMDEqDQorWDM4MTY3NlkzODA0ODZEMDEqDQorWDM4MTM5MFkzODAxNTFEMDEqDQorWDM4MTE1OVkzNzk3NzVEMDEqDQorWDM4MDk5MVkzNzkzNjhEMDEqDQorWDM4MDg4OFkzNzg5MzlEMDEqDQorWDM4MDg1M1kzNzg1MDBEMDEqDQorWDM4MDg4OFkzNzgwNjFEMDEqDQorWDM4MDk5MVkzNzc2MzJEMDEqDQorWDM4MTE1OVkzNzcyMjVEMDEqDQorWDM4MTM5MFkzNzY4NDlEMDEqDQorWDM4MTY3NlkzNzY1MTREMDEqDQorWDM4MjAxMVkzNzYyMjhEMDEqDQorWDM4MjM4N1kzNzU5OTdEMDEqDQorWDM4Mjc5NFkzNzU4MjlEMDEqDQorWDM4MzIyM1kzNzU3MjZEMDEqDQorWDM4MzY2MlkzNzU2OTFEMDEqDQorWDM4NDEwMVkzNzU3MjZEMDEqDQorWDM4NDUzMFkzNzU4MjlEMDEqDQorWDM4NDkzN1kzNzU5OTdEMDEqDQorWDM4NTMxM1kzNzYyMjhEMDEqDQorWDM4NTY0OFkzNzY1MTREMDEqDQorWDM4NTkzNFkzNzY4NDlEMDEqDQorWDM4NjE2NVkzNzcyMjVEMDEqDQorWDM4NjMzM1kzNzc2MzJEMDEqDQorWDM4NjQzNlkzNzgwNjFEMDEqDQorWDM4NjQzN1kzNzgwNzFEMDEqDQorWTM2NzczMkQwMSoNCitYMzg2MjIzWTM2Nzc4M0QwMSoNCitYMzg1OTQxWTM2NzgwNkQwMSoNCitYMzg1NjU5WTM2Nzc4M0QwMSoNCitYMzg1MzgzWTM2NzcxN0QwMSoNCitYMzg1MTIxWTM2NzYwOUQwMSoNCitYMzg0ODgwWTM2NzQ2MUQwMSoNCitYMzg0NjY0WTM2NzI3N0QwMSoNCitYMzg0NDgwWTM2NzA2MUQwMSoNCitYMzg0MzMyWTM2NjgyMEQwMSoNCitYMzg0MjI0WTM2NjU1OEQwMSoNCitYMzg0MTU4WTM2NjI4MkQwMSoNCitYMzg0MTM1WTM2NjAwMEQwMSoNCitYMzg0MTU4WTM2NTcxOEQwMSoNCitYMzg0MjI0WTM2NTQ0MkQwMSoNCitYMzg0MzMyWTM2NTE4MEQwMSoNCitYMzg0NDgwWTM2NDkzOUQwMSoNCitYMzg0NjY0WTM2NDcyM0QwMSoNCitYMzg0ODgwWTM2NDUzOUQwMSoNCitYMzg1MTIxWTM2NDM5MUQwMSoNCitYMzg1MzgzWTM2NDI4M0QwMSoNCitYMzg1NjU5WTM2NDIxN0QwMSoNCitYMzg1OTQxWTM2NDE5NEQwMSoNCitYMzg2MjIzWTM2NDIxN0QwMSoNCitYMzg2NDM3WTM2NDI2OEQwMSoNCitZMzU3MjYxRDAxKg0KK1gzODYzODBZMzU3Mjc0RDAxKg0KK1gzODU5NDFZMzU3MzA5RDAxKg0KK1gzODU1MDJZMzU3Mjc0RDAxKg0KK1gzODUwNzNZMzU3MTcxRDAxKg0KK1gzODQ2NjZZMzU3MDAzRDAxKg0KK1gzODQyOTBZMzU2NzcyRDAxKg0KK1gzODM5NTVZMzU2NDg2RDAxKg0KK1gzODM2NjlZMzU2MTUxRDAxKg0KK1gzODM0MzhZMzU1Nzc1RDAxKg0KK1gzODMyNzBZMzU1MzY4RDAxKg0KK1gzODMxNjdZMzU0OTM5RDAxKg0KK1gzODMxMzJZMzU0NTAwRDAxKg0KK1gzODMxNjdZMzU0MDYxRDAxKg0KK1gzODMyNzBZMzUzNjMyRDAxKg0KK1gzODM0MzhZMzUzMjI1RDAxKg0KK1gzODM2NjlZMzUyODQ5RDAxKg0KK1gzODM5NTVZMzUyNTE0RDAxKg0KK1gzODQyOTBZMzUyMjI4RDAxKg0KK1gzODQ2NjZZMzUxOTk3RDAxKg0KK1gzODUwNzNZMzUxODI5RDAxKg0KK1gzODU1MDJZMzUxNzI2RDAxKg0KK1gzODU5NDFZMzUxNjkxRDAxKg0KK1gzODYzODBZMzUxNzI2RDAxKg0KK1gzODY0MzdZMzUxNzM5RDAxKg0KK1kzMjg2MTVEMDEqDQorWDM4NjE2NlkzMjg1MDNEMDEqDQorWDM4NTc5MFkzMjgyNzJEMDEqDQorWDM4NTQ1NVkzMjc5ODZEMDEqDQorWDM4NTE2OVkzMjc2NTFEMDEqDQorWDM4NDkzOFkzMjcyNzVEMDEqDQorWDM4NDc3MFkzMjY4NjhEMDEqDQorWDM4NDY2N1kzMjY0MzlEMDEqDQorWDM4NDYzMlkzMjYwMDBEMDEqDQorWDM4NDY2N1kzMjU1NjFEMDEqDQorWDM4NDc3MFkzMjUxMzJEMDEqDQorWDM4NDkzOFkzMjQ3MjVEMDEqDQorWDM4NTE2OVkzMjQzNDlEMDEqDQorWDM4NTQ1NVkzMjQwMTREMDEqDQorWDM4NTc5MFkzMjM3MjhEMDEqDQorWDM4NjE2NlkzMjM0OTdEMDEqDQorWDM4NjQzN1kzMjMzODVEMDEqDQorWTMwNzY0N0QwMSoNCitYMzg2NDM0WTMwNzY1MUQwMSoNCitYMzg2MTQ4WTMwNzk4NkQwMSoNCitYMzg1ODEzWTMwODI3MkQwMSoNCitYMzg1NDM3WTMwODUwM0QwMSoNCitYMzg1MDMwWTMwODY3MUQwMSoNCitYMzg0NjAxWTMwODc3NEQwMSoNCitYMzg0MTYyWTMwODgwOUQwMSoNCitYMzgzNzIzWTMwODc3NEQwMSoNCitYMzgzMjk0WTMwODY3MUQwMSoNCitYMzgyODg3WTMwODUwM0QwMSoNCitYMzgyNTExWTMwODI3MkQwMSoNCitYMzgyMTc2WTMwNzk4NkQwMSoNCitYMzgxODkwWTMwNzY1MUQwMSoNCitYMzgxNjU5WTMwNzI3NUQwMSoNCitYMzgxNDkxWTMwNjg2OEQwMSoNCitYMzgxMzg4WTMwNjQzOUQwMSoNCitYMzgxMzUzWTMwNjAwMEQwMSoNCitYMzgxMzg4WTMwNTU2MUQwMSoNCitYMzgxNDkxWTMwNTEzMkQwMSoNCitYMzgxNjU5WTMwNDcyNUQwMSoNCitYMzgxODkwWTMwNDM0OUQwMSoNCitYMzgyMTc2WTMwNDAxNEQwMSoNCitYMzgyNTExWTMwMzcyOEQwMSoNCitYMzgyODg3WTMwMzQ5N0QwMSoNCitYMzgzMjk0WTMwMzMyOUQwMSoNCitYMzgzNzIzWTMwMzIyNkQwMSoNCitYMzg0MTYyWTMwMzE5MUQwMSoNCitYMzg0NjAxWTMwMzIyNkQwMSoNCitYMzg1MDMwWTMwMzMyOUQwMSoNCitYMzg1NDM3WTMwMzQ5N0QwMSoNCitYMzg1ODEzWTMwMzcyOEQwMSoNCitYMzg2MTQ4WTMwNDAxNEQwMSoNCitYMzg2NDM0WTMwNDM0OUQwMSoNCitYMzg2NDM3WTMwNDM1M0QwMSoNCitZMjg0Nzg2RDAxKg0KK1gzODYyODFZMjg0Nzc0RDAxKg0KK1gzODU4NTJZMjg0NjcxRDAxKg0KK1gzODU0NDVZMjg0NTAzRDAxKg0KK1gzODUwNjlZMjg0MjcyRDAxKg0KK1gzODQ3MzRZMjgzOTg2RDAxKg0KK1gzODQ0NDhZMjgzNjUxRDAxKg0KK1gzODQyMTdZMjgzMjc1RDAxKg0KK1gzODQwNDlZMjgyODY4RDAxKg0KK1gzODM5NDZZMjgyNDM5RDAxKg0KK1gzODM5MTFZMjgyMDAwRDAxKg0KK1gzODM5NDZZMjgxNTYxRDAxKg0KK1gzODQwNDlZMjgxMTMyRDAxKg0KK1gzODQyMTdZMjgwNzI1RDAxKg0KK1gzODQ0NDhZMjgwMzQ5RDAxKg0KK1gzODQ3MzRZMjgwMDE0RDAxKg0KK1gzODUwNjlZMjc5NzI4RDAxKg0KK1gzODU0NDVZMjc5NDk3RDAxKg0KK1gzODU4NTJZMjc5MzI5RDAxKg0KK1gzODYyODFZMjc5MjI2RDAxKg0KK1gzODY0MzdZMjc5MjE0RDAxKg0KK1kyNjAwMzhEMDEqDQorWDM4NjE2M1kyNjAyNzJEMDEqDQorWDM4NTc4N1kyNjA1MDNEMDEqDQorWDM4NTM4MFkyNjA2NzFEMDEqDQorWDM4NDk1MVkyNjA3NzREMDEqDQorWDM4NDUxMlkyNjA4MDlEMDEqDQorWDM4NDA3M1kyNjA3NzREMDEqDQorWDM4MzY0NFkyNjA2NzFEMDEqDQorWDM4MzIzN1kyNjA1MDNEMDEqDQorWDM4Mjg2MVkyNjAyNzJEMDEqDQorWDM4MjUyNlkyNTk5ODZEMDEqDQorWDM4MjI0MFkyNTk2NTFEMDEqDQorWDM4MjAwOVkyNTkyNzVEMDEqDQorWDM4MTg0MVkyNTg4NjhEMDEqDQorWDM4MTczOFkyNTg0MzlEMDEqDQorWDM4MTcwM1kyNTgwMDBEMDEqDQorWDM4MTczOFkyNTc1NjFEMDEqDQorWDM4MTg0MVkyNTcxMzJEMDEqDQorWDM4MjAwOVkyNTY3MjVEMDEqDQorWDM4MjI0MFkyNTYzNDlEMDEqDQorWDM4MjUyNlkyNTYwMTREMDEqDQorWDM4Mjg2MVkyNTU3MjhEMDEqDQorWDM4MzIzN1kyNTU0OTdEMDEqDQorWDM4MzY0NFkyNTUzMjlEMDEqDQorWDM4NDA3M1kyNTUyMjZEMDEqDQorWDM4NDUxMlkyNTUxOTFEMDEqDQorWDM4NDk1MVkyNTUyMjZEMDEqDQorWDM4NTM4MFkyNTUzMjlEMDEqDQorWDM4NTc4N1kyNTU0OTdEMDEqDQorWDM4NjE2M1kyNTU3MjhEMDEqDQorWDM4NjQzN1kyNTU5NjJEMDEqDQorWTI0NzYxN0QwMSoNCitYMzg2NDI0WTI0NzU2MkQwMSoNCitYMzg2NDAxWTI0NzI4MEQwMSoNCitYMzg2NDI0WTI0Njk5OEQwMSoNCitYMzg2NDM3WTI0Njk0M0QwMSoNCitZMjM3NzI3RDAxKg0KK1gzODYyMDJZMjM3NjcxRDAxKg0KK1gzODU3OTVZMjM3NTAzRDAxKg0KK1gzODU0MTlZMjM3MjcyRDAxKg0KK1gzODUwODRZMjM2OTg2RDAxKg0KK1gzODQ3OThZMjM2NjUxRDAxKg0KK1gzODQ1NjdZMjM2Mjc1RDAxKg0KK1gzODQzOTlZMjM1ODY4RDAxKg0KK1gzODQyOTZZMjM1NDM5RDAxKg0KK1gzODQyNjFZMjM1MDAwRDAxKg0KK1gzODQyOTZZMjM0NTYxRDAxKg0KK1gzODQzOTlZMjM0MTMyRDAxKg0KK1gzODQ1NjdZMjMzNzI1RDAxKg0KK1gzODQ3OThZMjMzMzQ5RDAxKg0KK1gzODUwODRZMjMzMDE0RDAxKg0KK1gzODU0MTlZMjMyNzI4RDAxKg0KK1gzODU3OTVZMjMyNDk3RDAxKg0KK1gzODYyMDJZMjMyMzI5RDAxKg0KK1gzODY0MzdZMjMyMjczRDAxKg0KK1kxODk2NDdEMDEqDQorWDM4NjQzNFkxODk2NTFEMDEqDQorWDM4NjE0OFkxODk5ODZEMDEqDQorWDM4NTgxM1kxOTAyNzJEMDEqDQorWDM4NTQzN1kxOTA1MDNEMDEqDQorWDM4NTAzMFkxOTA2NzFEMDEqDQorWDM4NDYwMVkxOTA3NzREMDEqDQorWDM4NDE2MlkxOTA4MDlEMDEqDQorWDM4MzcyM1kxOTA3NzREMDEqDQorWDM4MzI5NFkxOTA2NzFEMDEqDQorWDM4Mjg4N1kxOTA1MDNEMDEqDQorWDM4MjUxMVkxOTAyNzJEMDEqDQorWDM4MjE3NlkxODk5ODZEMDEqDQorWDM4MTg5MFkxODk2NTFEMDEqDQorWDM4MTY1OVkxODkyNzVEMDEqDQorWDM4MTQ5MVkxODg4NjhEMDEqDQorWDM4MTM4OFkxODg0MzlEMDEqDQorWDM4MTM1M1kxODgwMDBEMDEqDQorWDM4MTM4OFkxODc1NjFEMDEqDQorWDM4MTQ5MVkxODcxMzJEMDEqDQorWDM4MTY1OVkxODY3MjVEMDEqDQorWDM4MTg5MFkxODYzNDlEMDEqDQorWDM4MjE3NlkxODYwMTREMDEqDQorWDM4MjUxMVkxODU3MjhEMDEqDQorWDM4Mjg4N1kxODU0OTdEMDEqDQorWDM4MzI5NFkxODUzMjlEMDEqDQorWDM4MzcyM1kxODUyMjZEMDEqDQorWDM4NDE2MlkxODUxOTFEMDEqDQorWDM4NDYwMVkxODUyMjZEMDEqDQorWDM4NTAzMFkxODUzMjlEMDEqDQorWDM4NTQzN1kxODU0OTdEMDEqDQorWDM4NTgxM1kxODU3MjhEMDEqDQorWDM4NjE0OFkxODYwMTREMDEqDQorWDM4NjQzNFkxODYzNDlEMDEqDQorWDM4NjQzN1kxODYzNTNEMDEqDQorWTE2NTgwOEQwMSoNCitYMzg2MDAyWTE2NTc3NEQwMSoNCitYMzg1NTczWTE2NTY3MUQwMSoNCitYMzg1MTY2WTE2NTUwM0QwMSoNCitYMzg0NzkwWTE2NTI3MkQwMSoNCitYMzg0NDU1WTE2NDk4NkQwMSoNCitYMzg0MTY5WTE2NDY1MUQwMSoNCitYMzgzOTM4WTE2NDI3NUQwMSoNCitYMzgzNzcwWTE2Mzg2OEQwMSoNCitYMzgzNjY3WTE2MzQzOUQwMSoNCitYMzgzNjMyWTE2MzAwMEQwMSoNCitYMzgzNjY3WTE2MjU2MUQwMSoNCitYMzgzNzcwWTE2MjEzMkQwMSoNCitYMzgzOTM4WTE2MTcyNUQwMSoNCitYMzg0MTY5WTE2MTM0OUQwMSoNCitYMzg0NDU1WTE2MTAxNEQwMSoNCitYMzg0NzkwWTE2MDcyOEQwMSoNCitYMzg1MTY2WTE2MDQ5N0QwMSoNCitYMzg1NTczWTE2MDMyOUQwMSoNCitYMzg2MDAyWTE2MDIyNkQwMSoNCitYMzg2NDM3WTE2MDE5MkQwMSoNCitZMTU5NTY1RDAxKg0KK1gzODYzMDVZMTU5NTk2RDAxKg0KK1gzODYwMjNZMTU5NjE5RDAxKg0KK1gzODU3NDFZMTU5NTk2RDAxKg0KK1gzODU0NjVZMTU5NTMwRDAxKg0KK1gzODUyMDNZMTU5NDIyRDAxKg0KK1gzODQ5NjJZMTU5Mjc0RDAxKg0KK1gzODQ3NDZZMTU5MDkwRDAxKg0KK1gzODQ1NjJZMTU4ODc0RDAxKg0KK1gzODQ0MTRZMTU4NjMzRDAxKg0KK1gzODQzMDZZMTU4MzcxRDAxKg0KK1gzODQyNDBZMTU4MDk1RDAxKg0KK1gzODQyMTdZMTU3ODEzRDAxKg0KK1gzODQyNDBZMTU3NTMxRDAxKg0KK1gzODQzMDZZMTU3MjU1RDAxKg0KK1gzODQ0MTRZMTU2OTkzRDAxKg0KK1gzODQ1NjJZMTU2NzUyRDAxKg0KK1gzODQ3NDZZMTU2NTM2RDAxKg0KK1gzODQ5NjJZMTU2MzUyRDAxKg0KK1gzODUyMDNZMTU2MjA0RDAxKg0KK1gzODU0NjVZMTU2MDk2RDAxKg0KK1gzODU3NDFZMTU2MDMwRDAxKg0KK1gzODYwMjNZMTU2MDA3RDAxKg0KK1gzODYzMDVZMTU2MDMwRDAxKg0KK1gzODY0MzdZMTU2MDYxRDAxKg0KK1kxMzY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzc3MzQ0RDAyKlgzNzI0MzdEMDEqDQorWTE2NzU3OEQwMSoNCitYMzcyNDQxWTE2NzU3N0QwMSoNCitYMzcyODgwWTE2NzYxMkQwMSoNCitYMzczMzA5WTE2NzcxNUQwMSoNCitYMzczNzE2WTE2Nzg4M0QwMSoNCitYMzc0MDkyWTE2ODExNEQwMSoNCitYMzc0NDI3WTE2ODQwMEQwMSoNCitYMzc0NzEzWTE2ODczNUQwMSoNCitYMzc0OTQ0WTE2OTExMUQwMSoNCitYMzc1MTEyWTE2OTUxOEQwMSoNCitYMzc1MjE1WTE2OTk0N0QwMSoNCitYMzc1MjQxWTE3MDM4NkQwMSoNCitYMzc1MjE1WTE3MDgyNUQwMSoNCitYMzc1MTEyWTE3MTI1NEQwMSoNCitYMzc0OTQ0WTE3MTY2MUQwMSoNCitYMzc0NzEzWTE3MjAzN0QwMSoNCitYMzc0NDI3WTE3MjM3MkQwMSoNCitYMzc0MDkyWTE3MjY1OEQwMSoNCitYMzczNzE2WTE3Mjg4OUQwMSoNCitYMzczMzA5WTE3MzA1N0QwMSoNCitYMzcyODgwWTE3MzE2MEQwMSoNCitYMzcyNDQxWTE3MzE5NUQwMSoNCitYMzcyNDM3WTE3MzE5NEQwMSoNCitZMjU4NjI4RDAxKg0KK1gzNzI2NjNZMjU4NzY3RDAxKg0KK1gzNzI4NzlZMjU4OTUxRDAxKg0KK1gzNzMwNjNZMjU5MTY3RDAxKg0KK1gzNzMyMTFZMjU5NDA4RDAxKg0KK1gzNzMzMTlZMjU5NjcwRDAxKg0KK1gzNzMzODVZMjU5OTQ2RDAxKg0KK1gzNzM0MDJZMjYwMjI4RDAxKg0KK1gzNzMzODVZMjYwNTEwRDAxKg0KK1gzNzMzMTlZMjYwNzg2RDAxKg0KK1gzNzMyMTFZMjYxMDQ4RDAxKg0KK1gzNzMwNjNZMjYxMjg5RDAxKg0KK1gzNzI4NzlZMjYxNTA1RDAxKg0KK1gzNzI2NjNZMjYxNjg5RDAxKg0KK1gzNzI0MzdZMjYxODI4RDAxKg0KK1kyODc4ODFEMDEqDQorWDM3MjQ0MVkyODc4ODBEMDEqDQorWDM3Mjg4MFkyODc5MTVEMDEqDQorWDM3MzMwOVkyODgwMThEMDEqDQorWDM3MzcxNlkyODgxODZEMDEqDQorWDM3NDA5MlkyODg0MTdEMDEqDQorWDM3NDQyN1kyODg3MDNEMDEqDQorWDM3NDcxM1kyODkwMzhEMDEqDQorWDM3NDk0NFkyODk0MTREMDEqDQorWDM3NTExMlkyODk4MjFEMDEqDQorWDM3NTIxNVkyOTAyNTBEMDEqDQorWDM3NTI0MVkyOTA2ODlEMDEqDQorWDM3NTIxNVkyOTExMjhEMDEqDQorWDM3NTExMlkyOTE1NTdEMDEqDQorWDM3NDk0NFkyOTE5NjREMDEqDQorWDM3NDcxM1kyOTIzNDBEMDEqDQorWDM3NDQyN1kyOTI2NzVEMDEqDQorWDM3NDA5MlkyOTI5NjFEMDEqDQorWDM3MzcxNlkyOTMxOTJEMDEqDQorWDM3MzMwOVkyOTMzNjBEMDEqDQorWDM3Mjg4MFkyOTM0NjNEMDEqDQorWDM3MjQ0MVkyOTM0OThEMDEqDQorWDM3MjQzN1kyOTM0OTdEMDEqDQorWTM0ODM4MUQwMSoNCitYMzcyNDQxWTM0ODM4MEQwMSoNCitYMzcyODgwWTM0ODQxNUQwMSoNCitYMzczMzA5WTM0ODUxOEQwMSoNCitYMzczNzE2WTM0ODY4NkQwMSoNCitYMzc0MDkyWTM0ODkxN0QwMSoNCitYMzc0NDI3WTM0OTIwM0QwMSoNCitYMzc0NzEzWTM0OTUzOEQwMSoNCitYMzc0OTQ0WTM0OTkxNEQwMSoNCitYMzc1MTEyWTM1MDMyMUQwMSoNCitYMzc1MjE1WTM1MDc1MEQwMSoNCitYMzc1MjQxWTM1MTE4OUQwMSoNCitYMzc1MjE1WTM1MTYyOEQwMSoNCitYMzc1MTEyWTM1MjA1N0QwMSoNCitYMzc0OTQ0WTM1MjQ2NEQwMSoNCitYMzc0NzEzWTM1Mjg0MEQwMSoNCitYMzc0NDI3WTM1MzE3NUQwMSoNCitYMzc0MDkyWTM1MzQ2MUQwMSoNCitYMzczNzE2WTM1MzY5MkQwMSoNCitYMzczMzA5WTM1Mzg2MEQwMSoNCitYMzcyODgwWTM1Mzk2M0QwMSoNCitYMzcyNDQxWTM1Mzk5OEQwMSoNCitYMzcyNDM3WTM1Mzk5N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gzNzczNDREMDEqDQorWTIzNzA1N0QwMSoNCitYMzc3MDkyWTIzNzI3MkQwMSoNCitYMzc2NzE2WTIzNzUwM0QwMSoNCitYMzc2MzA5WTIzNzY3MUQwMSoNCitYMzc1ODgwWTIzNzc3NEQwMSoNCitYMzc1NDQxWTIzNzgwOUQwMSoNCitYMzc1MDAyWTIzNzc3NEQwMSoNCitYMzc0NTczWTIzNzY3MUQwMSoNCitYMzc0MTY2WTIzNzUwM0QwMSoNCitYMzczNzkwWTIzNzI3MkQwMSoNCitYMzczNDU1WTIzNjk4NkQwMSoNCitYMzczMTY5WTIzNjY1MUQwMSoNCitYMzcyOTM4WTIzNjI3NUQwMSoNCitYMzcyNzcwWTIzNTg2OEQwMSoNCitYMzcyNjY3WTIzNTQzOUQwMSoNCitYMzcyNjMyWTIzNTAwMEQwMSoNCitYMzcyNjY3WTIzNDU2MUQwMSoNCitYMzcyNzcwWTIzNDEzMkQwMSoNCitYMzcyOTM4WTIzMzcyNUQwMSoNCitYMzczMTY5WTIzMzM0OUQwMSoNCitYMzczNDU1WTIzMzAxNEQwMSoNCitYMzczNzkwWTIzMjcyOEQwMSoNCitYMzc0MTY2WTIzMjQ5N0QwMSoNCitYMzc0NTczWTIzMjMyOUQwMSoNCitYMzc1MDAyWTIzMjIyNkQwMSoNCitYMzc1NDQxWTIzMjE5MUQwMSoNCitYMzc1ODgwWTIzMjIyNkQwMSoNCitYMzc2MzA5WTIzMjMyOUQwMSoNCitYMzc2NzE2WTIzMjQ5N0QwMSoNCitYMzc3MDkyWTIzMjcyOEQwMSoNCitYMzc3MzQ0WTIzMjk0M0QwMSoNCitZMTYzOTgzRDAxKg0KK1gzNzcwNjVZMTYzOTYxRDAxKg0KK1gzNzY3ODlZMTYzODk1RDAxKg0KK1gzNzY1MjdZMTYzNzg3RDAxKg0KK1gzNzYyODZZMTYzNjM5RDAxKg0KK1gzNzYwNzBZMTYzNDU1RDAxKg0KK1gzNzU4ODZZMTYzMjM5RDAxKg0KK1gzNzU3MzhZMTYyOTk4RDAxKg0KK1gzNzU2MzBZMTYyNzM2RDAxKg0KK1gzNzU1NjRZMTYyNDYwRDAxKg0KK1gzNzU1NDFZMTYyMTc4RDAxKg0KK1gzNzU1NjRZMTYxODk2RDAxKg0KK1gzNzU2MzBZMTYxNjIwRDAxKg0KK1gzNzU3MzhZMTYxMzU4RDAxKg0KK1gzNzU4ODZZMTYxMTE3RDAxKg0KK1gzNzYwNzBZMTYwOTAxRDAxKg0KK1gzNzYyODZZMTYwNzE3RDAxKg0KK1gzNzY1MjdZMTYwNTY5RDAxKg0KK1gzNzY3ODlZMTYwNDYxRDAxKg0KK1gzNzcwNjVZMTYwMzk1RDAxKg0KK1gzNzczNDRZMTYwMzczRDAxKg0KK1kxMzY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzcyNDM3RDAyKlgzNjg0NDFEMDEqDQorWTE3MTUwMEQwMSoNCitYMzU4OTM4RDAxKg0KK1kyMDY2OTVEMDEqDQorWDM1ODk0MVkyMDY2OTREMDEqDQorWDM1OTIyM1kyMDY3MTdEMDEqDQorWDM1OTQ5OVkyMDY3ODNEMDEqDQorWDM1OTc2MVkyMDY4OTFEMDEqDQorWDM2MDAwMlkyMDcwMzlEMDEqDQorWDM2MDIxOFkyMDcyMjNEMDEqDQorWDM2MDQwMlkyMDc0MzlEMDEqDQorWDM2MDU1MFkyMDc2ODBEMDEqDQorWDM2MDY1OFkyMDc5NDJEMDEqDQorWDM2MDcyNFkyMDgyMThEMDEqDQorWDM2MDc0MVkyMDg1MDBEMDEqDQorWDM2MDcyNFkyMDg3ODJEMDEqDQorWDM2MDY1OFkyMDkwNThEMDEqDQorWDM2MDU1MFkyMDkzMjBEMDEqDQorWDM2MDQwMlkyMDk1NjFEMDEqDQorWDM2MDIxOFkyMDk3NzdEMDEqDQorWDM2MDAwMlkyMDk5NjFEMDEqDQorWDM1OTc2MVkyMTAxMDlEMDEqDQorWDM1OTQ5OVkyMTAyMTdEMDEqDQorWDM1OTIyM1kyMTAyODNEMDEqDQorWDM1ODk0MVkyMTAzMDZEMDEqDQorWDM1ODkzOFkyMTAzMDVEMDEqDQorWTM5NzAwMEQwMSoNCitYMzcyNDM3RDAxKg0KK1kzNTM5OTdEMDEqDQorWDM3MjAwMlkzNTM5NjNEMDEqDQorWDM3MTU3M1kzNTM4NjBEMDEqDQorWDM3MTE2NlkzNTM2OTJEMDEqDQorWDM3MDc5MFkzNTM0NjFEMDEqDQorWDM3MDQ1NVkzNTMxNzVEMDEqDQorWDM3MDE2OVkzNTI4NDBEMDEqDQorWDM2OTkzOFkzNTI0NjREMDEqDQorWDM2OTc3MFkzNTIwNTdEMDEqDQorWDM2OTY2N1kzNTE2MjhEMDEqDQorWDM2OTYzMlkzNTExODlEMDEqDQorWDM2OTY2N1kzNTA3NTBEMDEqDQorWDM2OTc3MFkzNTAzMjFEMDEqDQorWDM2OTkzOFkzNDk5MTREMDEqDQorWDM3MDE2OVkzNDk1MzhEMDEqDQorWDM3MDQ1NVkzNDkyMDNEMDEqDQorWDM3MDc5MFkzNDg5MTdEMDEqDQorWDM3MTE2NlkzNDg2ODZEMDEqDQorWDM3MTU3M1kzNDg1MThEMDEqDQorWDM3MjAwMlkzNDg0MTVEMDEqDQorWDM3MjQzN1kzNDgzODFEMDEqDQorWTI5MzQ5N0QwMSoNCitYMzcyMDAyWTI5MzQ2M0QwMSoNCitYMzcxNTczWTI5MzM2MEQwMSoNCitYMzcxMTY2WTI5MzE5MkQwMSoNCitYMzcwNzkwWTI5Mjk2MUQwMSoNCitYMzcwNDU1WTI5MjY3NUQwMSoNCitYMzcwMTY5WTI5MjM0MEQwMSoNCitYMzY5OTM4WTI5MTk2NEQwMSoNCitYMzY5NzcwWTI5MTU1N0QwMSoNCitYMzY5NjY3WTI5MTEyOEQwMSoNCitYMzY5NjMyWTI5MDY4OUQwMSoNCitYMzY5NjY3WTI5MDI1MEQwMSoNCitYMzY5NzcwWTI4OTgyMUQwMSoNCitYMzY5OTM4WTI4OTQxNEQwMSoNCitYMzcwMTY5WTI4OTAzOEQwMSoNCitYMzcwNDU1WTI4ODcwM0QwMSoNCitYMzcwNzkwWTI4ODQxN0QwMSoNCitYMzcxMTY2WTI4ODE4NkQwMSoNCitYMzcxNTczWTI4ODAxOEQwMSoNCitYMzcyMDAyWTI4NzkxNUQwMSoNCitYMzcyNDM3WTI4Nzg4MUQwMSoNCitZMjYxODI4RDAxKg0KK1gzNzI0MjJZMjYxODM3RDAxKg0KK1gzNzIxNjBZMjYxOTQ1RDAxKg0KK1gzNzE4ODRZMjYyMDExRDAxKg0KK1gzNzE2MDJZMjYyMDM0RDAxKg0KK1gzNzEzMjBZMjYyMDExRDAxKg0KK1gzNzEwNDRZMjYxOTQ1RDAxKg0KK1gzNzA3ODJZMjYxODM3RDAxKg0KK1gzNzA1NDFZMjYxNjg5RDAxKg0KK1gzNzAzMjVZMjYxNTA1RDAxKg0KK1gzNzAxNDFZMjYxMjg5RDAxKg0KK1gzNjk5OTNZMjYxMDQ4RDAxKg0KK1gzNjk4ODVZMjYwNzg2RDAxKg0KK1gzNjk4MTlZMjYwNTEwRDAxKg0KK1gzNjk3OTZZMjYwMjI4RDAxKg0KK1gzNjk4MTlZMjU5OTQ2RDAxKg0KK1gzNjk4ODVZMjU5NjcwRDAxKg0KK1gzNjk5OTNZMjU5NDA4RDAxKg0KK1gzNzAxNDFZMjU5MTY3RDAxKg0KK1gzNzAzMjVZMjU4OTUxRDAxKg0KK1gzNzA1NDFZMjU4NzY3RDAxKg0KK1gzNzA3ODJZMjU4NjE5RDAxKg0KK1gzNzEwNDRZMjU4NTExRDAxKg0KK1gzNzEzMjBZMjU4NDQ1RDAxKg0KK1gzNzE2MDJZMjU4NDIyRDAxKg0KK1gzNzE4ODRZMjU4NDQ1RDAxKg0KK1gzNzIxNjBZMjU4NTExRDAxKg0KK1gzNzI0MjJZMjU4NjE5RDAxKg0KK1gzNzI0MzdZMjU4NjI4RDAxKg0KK1kxNzMxOTREMDEqDQorWDM3MjAwMlkxNzMxNjBEMDEqDQorWDM3MTU3M1kxNzMwNTdEMDEqDQorWDM3MTE2NlkxNzI4ODlEMDEqDQorWDM3MDc5MFkxNzI2NThEMDEqDQorWDM3MDQ1NVkxNzIzNzJEMDEqDQorWDM3MDE2OVkxNzIwMzdEMDEqDQorWDM2OTkzOFkxNzE2NjFEMDEqDQorWDM2OTc3MFkxNzEyNTREMDEqDQorWDM2OTY2N1kxNzA4MjVEMDEqDQorWDM2OTYzMlkxNzAzODZEMDEqDQorWDM2OTY2N1kxNjk5NDdEMDEqDQorWDM2OTc3MFkxNjk1MThEMDEqDQorWDM2OTkzOFkxNjkxMTFEMDEqDQorWDM3MDE2OVkxNjg3MzVEMDEqDQorWDM3MDQ1NVkxNjg0MDBEMDEqDQorWDM3MDc5MFkxNjgxMTREMDEqDQorWDM3MTE2NlkxNjc4ODNEMDEqDQorWDM3MTU3M1kxNjc3MTVEMDEqDQorWDM3MjAwMlkxNjc2MTJEMDEqDQorWDM3MjQzN1kxNjc1NzhEMDEqDQorWTEzNjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzNTg5MzhZMTcxNTAwRDAyKlgzNTY0MzhEMDEqDQorWTIzMTE5NUQwMSoNCitYMzU2NDQxWTIzMTE5NEQwMSoNCitYMzU2NzIzWTIzMTIxN0QwMSoNCitYMzU2OTk5WTIzMTI4M0QwMSoNCitYMzU3MjYxWTIzMTM5MUQwMSoNCitYMzU3NTAyWTIzMTUzOUQwMSoNCitYMzU3NzE4WTIzMTcyM0QwMSoNCitYMzU3OTAyWTIzMTkzOUQwMSoNCitYMzU4MDUwWTIzMjE4MEQwMSoNCitYMzU4MTU4WTIzMjQ0MkQwMSoNCitYMzU4MjI0WTIzMjcxOEQwMSoNCitYMzU4MjQxWTIzMzAwMEQwMSoNCitYMzU4MjI0WTIzMzI4MkQwMSoNCitYMzU4MTU4WTIzMzU1OEQwMSoNCitYMzU4MDUwWTIzMzgyMEQwMSoNCitYMzU3OTAyWTIzNDA2MUQwMSoNCitYMzU3NzE4WTIzNDI3N0QwMSoNCitYMzU3NTAyWTIzNDQ2MUQwMSoNCitYMzU3MjYxWTIzNDYwOUQwMSoNCitYMzU2OTk5WTIzNDcxN0QwMSoNCitYMzU2NzIzWTIzNDc4M0QwMSoNCitYMzU2NDQxWTIzNDgwNkQwMSoNCitYMzU2NDM4WTIzNDgwNUQwMSoNCitZMzk3MDAwRDAxKg0KK1gzNTg5MzhEMDEqDQorWTIxMDMwNUQwMSoNCitYMzU4NjU5WTIxMDI4M0QwMSoNCitYMzU4MzgzWTIxMDIxN0QwMSoNCitYMzU4MTIxWTIxMDEwOUQwMSoNCitYMzU3ODgwWTIwOTk2MUQwMSoNCitYMzU3NjY0WTIwOTc3N0QwMSoNCitYMzU3NDgwWTIwOTU2MUQwMSoNCitYMzU3MzMyWTIwOTMyMEQwMSoNCitYMzU3MjI0WTIwOTA1OEQwMSoNCitYMzU3MTU4WTIwODc4MkQwMSoNCitYMzU3MTM1WTIwODUwMEQwMSoNCitYMzU3MTU4WTIwODIxOEQwMSoNCitYMzU3MjI0WTIwNzk0MkQwMSoNCitYMzU3MzMyWTIwNzY4MEQwMSoNCitYMzU3NDgwWTIwNzQzOUQwMSoNCitYMzU3NjY0WTIwNzIyM0QwMSoNCitYMzU3ODgwWTIwNzAzOUQwMSoNCitYMzU4MTIxWTIwNjg5MUQwMSoNCitYMzU4MzgzWTIwNjc4M0QwMSoNCitYMzU4NjU5WTIwNjcxN0QwMSoNCitYMzU4OTM4WTIwNjY5NUQwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDM1NjQzOEQwMipYMzUzMzg3RDAxKg0KK1kxODU3MzlEMDEqDQorWDM1Mzk1NVkxODY0MDREMDEqDQorWDM1NDc4MVkxODc3NTJEMDEqDQorWDM1NTM4N1kxODkyMTREMDEqDQorWDM1NTc1NlkxOTA3NTJEMDEqDQorWDM1NTg0OVkxOTIzMjlEMDEqDQorWDM1NTc1NlkxOTM5MDZEMDEqDQorWDM1NTM4N1kxOTU0NDREMDEqDQorWDM1NDc4MVkxOTY5MDZEMDEqDQorWDM1Mzk1NVkxOTgyNTREMDEqDQorWDM1MzM4N1kxOTg5MTlEMDEqDQorWTMzNzcxNkQwMSoNCitYMzUzMzkwWTMzNzcxNUQwMSoNCitYMzUzNjcyWTMzNzczOEQwMSoNCitYMzUzOTQ4WTMzNzgwNEQwMSoNCitYMzU0MjEwWTMzNzkxMkQwMSoNCitYMzU0NDUxWTMzODA2MEQwMSoNCitYMzU0NjY3WTMzODI0NEQwMSoNCitYMzU0ODUxWTMzODQ2MEQwMSoNCitYMzU0OTk5WTMzODcwMUQwMSoNCitYMzU1MTA3WTMzODk2M0QwMSoNCitYMzU1MTczWTMzOTIzOUQwMSoNCitYMzU1MTkwWTMzOTUyMUQwMSoNCitYMzU1MTczWTMzOTgwM0QwMSoNCitYMzU1MTA3WTM0MDA3OUQwMSoNCitYMzU0OTk5WTM0MDM0MUQwMSoNCitYMzU0ODUxWTM0MDU4MkQwMSoNCitYMzU0NjY3WTM0MDc5OEQwMSoNCitYMzU0NDUxWTM0MDk4MkQwMSoNCitYMzU0MjEwWTM0MTEzMEQwMSoNCitYMzUzOTQ4WTM0MTIzOEQwMSoNCitYMzUzNjcyWTM0MTMwNEQwMSoNCitYMzUzMzkwWTM0MTMyN0QwMSoNCitYMzUzMzg3WTM0MTMyNkQwMSoNCitZMzUwNzM5RDAxKg0KK1gzNTM5NTVZMzUxNDA0RDAxKg0KK1gzNTQ3ODFZMzUyNzUyRDAxKg0KK1gzNTUzODdZMzU0MjE0RDAxKg0KK1gzNTU3NTZZMzU1NzUyRDAxKg0KK1gzNTU4NDlZMzU3MzI5RDAxKg0KK1gzNTU3NTZZMzU4OTA2RDAxKg0KK1gzNTUzODdZMzYwNDQ0RDAxKg0KK1gzNTQ3ODFZMzYxOTA2RDAxKg0KK1gzNTM5NTVZMzYzMjU0RDAxKg0KK1gzNTMzODdZMzYzOTE5RDAxKg0KK1kzOTcwMDBEMDEqDQorWDM1NjQzOEQwMSoNCitZMjM0ODA1RDAxKg0KK1gzNTYxNTlZMjM0NzgzRDAxKg0KK1gzNTU4ODNZMjM0NzE3RDAxKg0KK1gzNTU2MjFZMjM0NjA5RDAxKg0KK1gzNTUzODBZMjM0NDYxRDAxKg0KK1gzNTUxNjRZMjM0Mjc3RDAxKg0KK1gzNTQ5ODBZMjM0MDYxRDAxKg0KK1gzNTQ4MzJZMjMzODIwRDAxKg0KK1gzNTQ3MjRZMjMzNTU4RDAxKg0KK1gzNTQ2NThZMjMzMjgyRDAxKg0KK1gzNTQ2MzVZMjMzMDAwRDAxKg0KK1gzNTQ2NThZMjMyNzE4RDAxKg0KK1gzNTQ3MjRZMjMyNDQyRDAxKg0KK1gzNTQ4MzJZMjMyMTgwRDAxKg0KK1gzNTQ5ODBZMjMxOTM5RDAxKg0KK1gzNTUxNjRZMjMxNzIzRDAxKg0KK1gzNTUzODBZMjMxNTM5RDAxKg0KK1gzNTU2MjFZMjMxMzkxRDAxKg0KK1gzNTU4ODNZMjMxMjgzRDAxKg0KK1gzNTYxNTlZMjMxMjE3RDAxKg0KK1gzNTY0MzhZMjMxMTk1RDAxKg0KK1kxNzE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzUzMzg3WTM2MzkxOUQwMipYMzUyOTI3WTM2NDQ1N0QwMSoNCitYMzUxNzI0WTM2NTQ4NUQwMSoNCitYMzUwMzc2WTM2NjMxMUQwMSoNCitYMzQ4OTE0WTM2NjkxN0QwMSoNCitYMzQ3Mzc2WTM2NzI4NkQwMSoNCitYMzQ1Nzk5WTM2NzQxMEQwMSoNCitYMzQ0MjIyWTM2NzI4NkQwMSoNCitYMzQyNjg0WTM2NjkxN0QwMSoNCitYMzQxMjIyWTM2NjMxMUQwMSoNCitYMzM5ODc0WTM2NTQ4NUQwMSoNCitYMzM5ODM0WTM2NTQ1MUQwMSoNCitZMzk3MDAwRDAxKg0KK1gzNTMzODdEMDEqDQorWTM2MzkxOUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxOTg5MTlEMDIqWDM1MjkyN1kxOTk0NTdEMDEqDQorWDM1MTcyNFkyMDA0ODVEMDEqDQorWDM1MDM3NlkyMDEzMTFEMDEqDQorWDM0ODkxNFkyMDE5MTdEMDEqDQorWDM0NzM3NlkyMDIyODZEMDEqDQorWDM0NTc5OVkyMDI0MTBEMDEqDQorWDM0NDIyMlkyMDIyODZEMDEqDQorWDM0MjY4NFkyMDE5MTdEMDEqDQorWDM0MTIyMlkyMDEzMTFEMDEqDQorWDMzOTg3NFkyMDA0ODVEMDEqDQorWDMzOTgzNFkyMDA0NTFEMDEqDQorWTIyMzA1MkQwMSoNCitYMzM5OTAyWTIyMzEzMUQwMSoNCitYMzQwMDUwWTIyMzM3MkQwMSoNCitYMzQwMTU4WTIyMzYzNEQwMSoNCitYMzQwMjI0WTIyMzkxMEQwMSoNCitYMzQwMjQxWTIyNDE5MkQwMSoNCitYMzQwMjI0WTIyNDQ3NEQwMSoNCitYMzQwMTU4WTIyNDc1MEQwMSoNCitYMzQwMDUwWTIyNTAxMkQwMSoNCitYMzM5OTAyWTIyNTI1M0QwMSoNCitYMzM5ODM0WTIyNTMzMkQwMSoNCitZMjI4OTg0RDAxKg0KK1gzMzk5MDJZMjI5MDYzRDAxKg0KK1gzNDAwNTBZMjI5MzA0RDAxKg0KK1gzNDAxNThZMjI5NTY2RDAxKg0KK1gzNDAyMjRZMjI5ODQyRDAxKg0KK1gzNDAyNDFZMjMwMTI0RDAxKg0KK1gzNDAyMjRZMjMwNDA2RDAxKg0KK1gzNDAxNThZMjMwNjgyRDAxKg0KK1gzNDAwNTBZMjMwOTQ0RDAxKg0KK1gzMzk5MDJZMjMxMTg1RDAxKg0KK1gzMzk4MzRZMjMxMjY0RDAxKg0KK1kyNDUwMjdEMDEqDQorWDM0MDI3OFkyNDQ3NTVEMDEqDQorWDM0MDk2OVkyNDQ0NjlEMDEqDQorWDM0MTY5NlkyNDQyOTREMDEqDQorWDM0MjQ0MVkyNDQyMzVEMDEqDQorWDM0MzE4NlkyNDQyOTREMDEqDQorWDM0MzkxM1kyNDQ0NjlEMDEqDQorWDM0NDYwNFkyNDQ3NTVEMDEqDQorWDM0NTI0MlkyNDUxNDVEMDEqDQorWDM0NTgxMFkyNDU2MzFEMDEqDQorWDM0NjI5NlkyNDYxOTlEMDEqDQorWDM0NjY4NlkyNDY4MzdEMDEqDQorWDM0Njk3MlkyNDc1MjhEMDEqDQorWDM0NzE0N1kyNDgyNTVEMDEqDQorWDM0NzE5MVkyNDkwMDBEMDEqDQorWDM0NzE0N1kyNDk3NDVEMDEqDQorWDM0Njk3MlkyNTA0NzJEMDEqDQorWDM0NjY4NlkyNTExNjNEMDEqDQorWDM0NjI5NlkyNTE4MDFEMDEqDQorWDM0NTgxMFkyNTIzNjlEMDEqDQorWDM0NTI0MlkyNTI4NTVEMDEqDQorWDM0NDYwNFkyNTMyNDVEMDEqDQorWDM0MzkxM1kyNTM1MzFEMDEqDQorWDM0MzE4NlkyNTM3MDZEMDEqDQorWDM0MjQ0MVkyNTM3NjVEMDEqDQorWDM0MTY5NlkyNTM3MDZEMDEqDQorWDM0MDk2OVkyNTM1MzFEMDEqDQorWDM0MDI3OFkyNTMyNDVEMDEqDQorWDMzOTgzNFkyNTI5NzNEMDEqDQorWTM0MDAyMkQwMSoNCitYMzM5ODM3WTM0MDAyMUQwMSoNCitYMzQwMTE5WTM0MDA0NEQwMSoNCitYMzQwMzk1WTM0MDExMEQwMSoNCitYMzQwNjU3WTM0MDIxOEQwMSoNCitYMzQwODk4WTM0MDM2NkQwMSoNCitYMzQxMTE0WTM0MDU1MEQwMSoNCitYMzQxMjk4WTM0MDc2NkQwMSoNCitYMzQxNDQ2WTM0MTAwN0QwMSoNCitYMzQxNTU0WTM0MTI2OUQwMSoNCitYMzQxNjIwWTM0MTU0NUQwMSoNCitYMzQxNjM3WTM0MTgyN0QwMSoNCitYMzQxNjIwWTM0MjEwOUQwMSoNCitYMzQxNTU0WTM0MjM4NUQwMSoNCitYMzQxNDQ2WTM0MjY0N0QwMSoNCitYMzQxMjk4WTM0Mjg4OEQwMSoNCitYMzQxMTE0WTM0MzEwNEQwMSoNCitYMzQwODk4WTM0MzI4OEQwMSoNCitYMzQwNjU3WTM0MzQzNkQwMSoNCitYMzQwMzk1WTM0MzU0NEQwMSoNCitYMzQwMTE5WTM0MzYxMEQwMSoNCitYMzM5ODM3WTM0MzYzM0QwMSoNCitYMzM5ODM0WTM0MzYzMkQwMSoNCitZMzQ5MjA3RDAxKg0KK1gzMzk4NzRZMzQ5MTczRDAxKg0KK1gzNDEyMjJZMzQ4MzQ3RDAxKg0KK1gzNDI2ODRZMzQ3NzQxRDAxKg0KK1gzNDQyMjJZMzQ3MzcyRDAxKg0KK1gzNDU3OTlZMzQ3MjQ4RDAxKg0KK1gzNDczNzZZMzQ3MzcyRDAxKg0KK1gzNDg5MTRZMzQ3NzQxRDAxKg0KK1gzNTAzNzZZMzQ4MzQ3RDAxKg0KK1gzNTE3MjRZMzQ5MTczRDAxKg0KK1gzNTI5MjdZMzUwMjAxRDAxKg0KK1gzNTMzODdZMzUwNzM5RDAxKg0KK1kzNDEzMjZEMDEqDQorWDM1MzEwOFkzNDEzMDREMDEqDQorWDM1MjgzMlkzNDEyMzhEMDEqDQorWDM1MjU3MFkzNDExMzBEMDEqDQorWDM1MjMyOVkzNDA5ODJEMDEqDQorWDM1MjExM1kzNDA3OThEMDEqDQorWDM1MTkyOVkzNDA1ODJEMDEqDQorWDM1MTc4MVkzNDAzNDFEMDEqDQorWDM1MTY3M1kzNDAwNzlEMDEqDQorWDM1MTYwN1kzMzk4MDNEMDEqDQorWDM1MTU4NFkzMzk1MjFEMDEqDQorWDM1MTYwN1kzMzkyMzlEMDEqDQorWDM1MTY3M1kzMzg5NjNEMDEqDQorWDM1MTc4MVkzMzg3MDFEMDEqDQorWDM1MTkyOVkzMzg0NjBEMDEqDQorWDM1MjExM1kzMzgyNDREMDEqDQorWDM1MjMyOVkzMzgwNjBEMDEqDQorWDM1MjU3MFkzMzc5MTJEMDEqDQorWDM1MjgzMlkzMzc4MDREMDEqDQorWDM1MzEwOFkzMzc3MzhEMDEqDQorWDM1MzM4N1kzMzc3MTZEMDEqDQorWTE5ODkxOUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzE1MDBEMDIqWDMzOTgzNEQwMSoNCitZMTg0MjA3RDAxKg0KK1gzMzk4NzRZMTg0MTczRDAxKg0KK1gzNDEyMjJZMTgzMzQ3RDAxKg0KK1gzNDI2ODRZMTgyNzQxRDAxKg0KK1gzNDQyMjJZMTgyMzcyRDAxKg0KK1gzNDU3OTlZMTgyMjQ4RDAxKg0KK1gzNDczNzZZMTgyMzcyRDAxKg0KK1gzNDg5MTRZMTgyNzQxRDAxKg0KK1gzNTAzNzZZMTgzMzQ3RDAxKg0KK1gzNTE3MjRZMTg0MTczRDAxKg0KK1gzNTI5MjdZMTg1MjAxRDAxKg0KK1gzNTMzODdZMTg1NzM5RDAxKg0KK1kxNzE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMzM5ODM0RDAyKlgzMzI0MzREMDEqDQorWTI0NDIzNkQwMSoNCitYMzMyNDQxWTI0NDIzNUQwMSoNCitYMzMzMTg2WTI0NDI5NEQwMSoNCitYMzMzOTEzWTI0NDQ2OUQwMSoNCitYMzM0NjA0WTI0NDc1NUQwMSoNCitYMzM1MjQyWTI0NTE0NUQwMSoNCitYMzM1ODEwWTI0NTYzMUQwMSoNCitYMzM2Mjk2WTI0NjE5OUQwMSoNCitYMzM2Njg2WTI0NjgzN0QwMSoNCitYMzM2OTcyWTI0NzUyOEQwMSoNCitYMzM3MTQ3WTI0ODI1NUQwMSoNCitYMzM3MTkxWTI0OTAwMEQwMSoNCitYMzM3MTQ3WTI0OTc0NUQwMSoNCitYMzM2OTcyWTI1MDQ3MkQwMSoNCitYMzM2Njg2WTI1MTE2M0QwMSoNCitYMzM2Mjk2WTI1MTgwMUQwMSoNCitYMzM1ODEwWTI1MjM2OUQwMSoNCitYMzM1MjQyWTI1Mjg1NUQwMSoNCitYMzM0NjA0WTI1MzI0NUQwMSoNCitYMzMzOTEzWTI1MzUzMUQwMSoNCitYMzMzMTg2WTI1MzcwNkQwMSoNCitYMzMyNDQxWTI1Mzc2NUQwMSoNCitYMzMyNDM0WTI1Mzc2NEQwMSoNCitZMzk3MDAwRDAxKg0KK1gzMzk4MzREMDEqDQorWTM2NTQ1MUQwMSoNCitYMzM4NjcxWTM2NDQ1N0QwMSoNCitYMzM3NjQzWTM2MzI1NEQwMSoNCitYMzM2ODE3WTM2MTkwNkQwMSoNCitYMzM2MjExWTM2MDQ0NEQwMSoNCitYMzM1ODQyWTM1ODkwNkQwMSoNCitYMzM1NzE4WTM1NzMyOUQwMSoNCitYMzM1ODQyWTM1NTc1MkQwMSoNCitYMzM2MjExWTM1NDIxNEQwMSoNCitYMzM2ODE3WTM1Mjc1MkQwMSoNCitYMzM3NjQzWTM1MTQwNEQwMSoNCitYMzM4NjcxWTM1MDIwMUQwMSoNCitYMzM5ODM0WTM0OTIwN0QwMSoNCitZMzQzNjMyRDAxKg0KK1gzMzk1NTVZMzQzNjEwRDAxKg0KK1gzMzkyNzlZMzQzNTQ0RDAxKg0KK1gzMzkwMTdZMzQzNDM2RDAxKg0KK1gzMzg3NzZZMzQzMjg4RDAxKg0KK1gzMzg1NjBZMzQzMTA0RDAxKg0KK1gzMzgzNzZZMzQyODg4RDAxKg0KK1gzMzgyMjhZMzQyNjQ3RDAxKg0KK1gzMzgxMjBZMzQyMzg1RDAxKg0KK1gzMzgwNTRZMzQyMTA5RDAxKg0KK1gzMzgwMzFZMzQxODI3RDAxKg0KK1gzMzgwNTRZMzQxNTQ1RDAxKg0KK1gzMzgxMjBZMzQxMjY5RDAxKg0KK1gzMzgyMjhZMzQxMDA3RDAxKg0KK1gzMzgzNzZZMzQwNzY2RDAxKg0KK1gzMzg1NjBZMzQwNTUwRDAxKg0KK1gzMzg3NzZZMzQwMzY2RDAxKg0KK1gzMzkwMTdZMzQwMjE4RDAxKg0KK1gzMzkyNzlZMzQwMTEwRDAxKg0KK1gzMzk1NTVZMzQwMDQ0RDAxKg0KK1gzMzk4MzRZMzQwMDIyRDAxKg0KK1kyNTI5NzNEMDEqDQorWDMzOTY0MFkyNTI4NTVEMDEqDQorWDMzOTA3MlkyNTIzNjlEMDEqDQorWDMzODU4NlkyNTE4MDFEMDEqDQorWDMzODE5NlkyNTExNjNEMDEqDQorWDMzNzkxMFkyNTA0NzJEMDEqDQorWDMzNzczNVkyNDk3NDVEMDEqDQorWDMzNzY3NlkyNDkwMDBEMDEqDQorWDMzNzczNVkyNDgyNTVEMDEqDQorWDMzNzkxMFkyNDc1MjhEMDEqDQorWDMzODE5NlkyNDY4MzdEMDEqDQorWDMzODU4NlkyNDYxOTlEMDEqDQorWDMzOTA3MlkyNDU2MzFEMDEqDQorWDMzOTY0MFkyNDUxNDVEMDEqDQorWDMzOTgzNFkyNDUwMjdEMDEqDQorWTIzMTI2NEQwMSoNCitYMzM5NzE4WTIzMTQwMUQwMSoNCitYMzM5NTAyWTIzMTU4NUQwMSoNCitYMzM5MjYxWTIzMTczM0QwMSoNCitYMzM4OTk5WTIzMTg0MUQwMSoNCitYMzM4NzIzWTIzMTkwN0QwMSoNCitYMzM4NDQxWTIzMTkzMEQwMSoNCitYMzM4MTU5WTIzMTkwN0QwMSoNCitYMzM3ODgzWTIzMTg0MUQwMSoNCitYMzM3NjIxWTIzMTczM0QwMSoNCitYMzM3MzgwWTIzMTU4NUQwMSoNCitYMzM3MTY0WTIzMTQwMUQwMSoNCitYMzM2OTgwWTIzMTE4NUQwMSoNCitYMzM2ODMyWTIzMDk0NEQwMSoNCitYMzM2NzI0WTIzMDY4MkQwMSoNCitYMzM2NjU4WTIzMDQwNkQwMSoNCitYMzM2NjM1WTIzMDEyNEQwMSoNCitYMzM2NjU4WTIyOTg0MkQwMSoNCitYMzM2NzI0WTIyOTU2NkQwMSoNCitYMzM2ODMyWTIyOTMwNEQwMSoNCitYMzM2OTgwWTIyOTA2M0QwMSoNCitYMzM3MTY0WTIyODg0N0QwMSoNCitYMzM3MzgwWTIyODY2M0QwMSoNCitYMzM3NjIxWTIyODUxNUQwMSoNCitYMzM3ODgzWTIyODQwN0QwMSoNCitYMzM4MTU5WTIyODM0MUQwMSoNCitYMzM4NDQxWTIyODMxOEQwMSoNCitYMzM4NzIzWTIyODM0MUQwMSoNCitYMzM4OTk5WTIyODQwN0QwMSoNCitYMzM5MjYxWTIyODUxNUQwMSoNCitYMzM5NTAyWTIyODY2M0QwMSoNCitYMzM5NzE4WTIyODg0N0QwMSoNCitYMzM5ODM0WTIyODk4NEQwMSoNCitZMjI1MzMyRDAxKg0KK1gzMzk3MThZMjI1NDY5RDAxKg0KK1gzMzk1MDJZMjI1NjUzRDAxKg0KK1gzMzkyNjFZMjI1ODAxRDAxKg0KK1gzMzg5OTlZMjI1OTA5RDAxKg0KK1gzMzg3MjNZMjI1OTc1RDAxKg0KK1gzMzg0NDFZMjI1OTk4RDAxKg0KK1gzMzgxNTlZMjI1OTc1RDAxKg0KK1gzMzc4ODNZMjI1OTA5RDAxKg0KK1gzMzc2MjFZMjI1ODAxRDAxKg0KK1gzMzczODBZMjI1NjUzRDAxKg0KK1gzMzcxNjRZMjI1NDY5RDAxKg0KK1gzMzY5ODBZMjI1MjUzRDAxKg0KK1gzMzY4MzJZMjI1MDEyRDAxKg0KK1gzMzY3MjRZMjI0NzUwRDAxKg0KK1gzMzY2NThZMjI0NDc0RDAxKg0KK1gzMzY2MzVZMjI0MTkyRDAxKg0KK1gzMzY2NThZMjIzOTEwRDAxKg0KK1gzMzY3MjRZMjIzNjM0RDAxKg0KK1gzMzY4MzJZMjIzMzcyRDAxKg0KK1gzMzY5ODBZMjIzMTMxRDAxKg0KK1gzMzcxNjRZMjIyOTE1RDAxKg0KK1gzMzczODBZMjIyNzMxRDAxKg0KK1gzMzc2MjFZMjIyNTgzRDAxKg0KK1gzMzc4ODNZMjIyNDc1RDAxKg0KK1gzMzgxNTlZMjIyNDA5RDAxKg0KK1gzMzg0NDFZMjIyMzg2RDAxKg0KK1gzMzg3MjNZMjIyNDA5RDAxKg0KK1gzMzg5OTlZMjIyNDc1RDAxKg0KK1gzMzkyNjFZMjIyNTgzRDAxKg0KK1gzMzk1MDJZMjIyNzMxRDAxKg0KK1gzMzk3MThZMjIyOTE1RDAxKg0KK1gzMzk4MzRZMjIzMDUyRDAxKg0KK1kyMDA0NTFEMDEqDQorWDMzODY3MVkxOTk0NTdEMDEqDQorWDMzNzY0M1kxOTgyNTREMDEqDQorWDMzNjgxN1kxOTY5MDZEMDEqDQorWDMzNjIxMVkxOTU0NDREMDEqDQorWDMzNTg0MlkxOTM5MDZEMDEqDQorWDMzNTcxOFkxOTIzMjlEMDEqDQorWDMzNTg0MlkxOTA3NTJEMDEqDQorWDMzNjIxMVkxODkyMTREMDEqDQorWDMzNjgxN1kxODc3NTJEMDEqDQorWDMzNzY0M1kxODY0MDREMDEqDQorWDMzODY3MVkxODUyMDFEMDEqDQorWDMzOTgzNFkxODQyMDdEMDEqDQorWTE3MTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMzI0MzREMDIqWDMyODUyMkQwMSoNCitYMzI4ODQ5WTE3MTc3OUQwMSoNCitYMzI5Mjg5WTE3MjI5NEQwMSoNCitYMzI5NjQyWTE3Mjg3MUQwMSoNCitYMzI5OTAxWTE3MzQ5NkQwMSoNCitYMzMwMDU5WTE3NDE1NEQwMSoNCitYMzMwMDk5WTE3NDgyOUQwMSoNCitYMzMwMDU5WTE3NTUwNEQwMSoNCitYMzI5OTAxWTE3NjE2MkQwMSoNCitYMzI5NjQyWTE3Njc4N0QwMSoNCitYMzI5Mjg5WTE3NzM2NEQwMSoNCitYMzI4ODQ5WTE3Nzg3OUQwMSoNCitYMzI4MzM0WTE3ODMxOUQwMSoNCitYMzI3NzU3WTE3ODY3MkQwMSoNCitYMzI3MTMyWTE3ODkzMUQwMSoNCitYMzI2NDc0WTE3OTA4OUQwMSoNCitYMzI1Nzk5WTE3OTE0MkQwMSoNCitYMzI1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gzMjU3OTlZMTgwNTE2RDAxKg0KK1gzMjY0NzRZMTgwNTY5RDAxKg0KK1gzMjcxMzJZMTgwNzI3RDAxKg0KK1gzMjc3NTdZMTgwOTg2RDAxKg0KK1gzMjgzMzRZMTgxMzM5RDAxKg0KK1gzMjg4NDlZMTgxNzc5RDAxKg0KK1gzMjkyODlZMTgyMjk0RDAxKg0KK1gzMjk2NDJZMTgyODcxRDAxKg0KK1gzMjk5MDFZMTgzNDk2RDAxKg0KK1gzMzAwNTlZMTg0MTU0RDAxKg0KK1gzMzAwOTlZMTg0ODI5RDAxKg0KK1gzMzAwNTlZMTg1NTA0RDAxKg0KK1gzMjk5MDFZMTg2MTYyRDAxKg0KK1gzMjk2NDJZMTg2Nzg3RDAxKg0KK1gzMjkyODlZMTg3MzY0RDAxKg0KK1gzMjg4NDlZMTg3ODc5RDAxKg0KK1gzMjgzMzRZMTg4MzE5RDAxKg0KK1gzMjc3NTdZMTg4NjcyRDAxKg0KK1gzMjcxMzJZMTg4OTMxRDAxKg0KK1gzMjY0NzRZMTg5MDg5RDAxKg0KK1gzMjU3OTlZMTg5MTQyRDAxKg0KK1gzMjU3OTJZMTg5MTQyRDAxKg0KK1kyNDU2MTZEMDEqDQorWDMyNTgxMFkyNDU2MzFEMDEqDQorWDMyNjI5NlkyNDYxOTlEMDEqDQorWDMyNjY4NlkyNDY4MzdEMDEqDQorWDMyNjk3MlkyNDc1MjhEMDEqDQorWDMyNzE0N1kyNDgyNTVEMDEqDQorWDMyNzE5MVkyNDkwMDBEMDEqDQorWDMyNzE0N1kyNDk3NDVEMDEqDQorWDMyNjk3MlkyNTA0NzJEMDEqDQorWDMyNjY4NlkyNTExNjNEMDEqDQorWDMyNjI5NlkyNTE4MDFEMDEqDQorWDMyNTgxMFkyNTIzNjlEMDEqDQorWDMyNTc5MlkyNTIzODREMDEqDQorWTMzMDg2MkQwMSoNCitYMzI2NDM1WTMzMTkxMEQwMSoNCitYMzI3MTUxWTMzMzY0MEQwMSoNCitYMzI3NTg5WTMzNTQ2MkQwMSoNCitYMzI3Njk5WTMzNzMyOUQwMSoNCitYMzI3NTg5WTMzOTE5NkQwMSoNCitYMzI3MTUxWTM0MTAxOEQwMSoNCitYMzI2NDM1WTM0Mjc0OEQwMSoNCitYMzI1NzkyWTM0Mzc5NkQwMSoNCitZMzYwNTE2RDAxKg0KK1gzMjU3OTlZMzYwNTE2RDAxKg0KK1gzMjY0NzRZMzYwNTY5RDAxKg0KK1gzMjcxMzJZMzYwNzI3RDAxKg0KK1gzMjc3NTdZMzYwOTg2RDAxKg0KK1gzMjgzMzRZMzYxMzM5RDAxKg0KK1gzMjg4NDlZMzYxNzc5RDAxKg0KK1gzMjkyODlZMzYyMjk0RDAxKg0KK1gzMjk2NDJZMzYyODcxRDAxKg0KK1gzMjk5MDFZMzYzNDk2RDAxKg0KK1gzMzAwNTlZMzY0MTU0RDAxKg0KK1gzMzAwOTlZMzY0ODI5RDAxKg0KK1gzMzAwNTlZMzY1NTA0RDAxKg0KK1gzMjk5MDFZMzY2MTYyRDAxKg0KK1gzMjk2NDJZMzY2Nzg3RDAxKg0KK1gzMjkyODlZMzY3MzY0RDAxKg0KK1gzMjg4NDlZMzY3ODc5RDAxKg0KK1gzMjgzMzRZMzY4MzE5RDAxKg0KK1gzMjc3NTdZMzY4NjcyRDAxKg0KK1gzMjcxMzJZMzY4OTMxRDAxKg0KK1gzMjY0NzRZMzY5MDg5RDAxKg0KK1gzMjU3OTlZMzY5MTQyRDAxKg0KK1gzMjU3OTJZMzY5MTQyRDAxKg0KK1kzNzA1MTZEMDEqDQorWDMyNTc5OVkzNzA1MTZEMDEqDQorWDMyNjQ3NFkzNzA1NjlEMDEqDQorWDMyNzEzMlkzNzA3MjdEMDEqDQorWDMyNzc1N1kzNzA5ODZEMDEqDQorWDMyODMzNFkzNzEzMzlEMDEqDQorWDMyODg0OVkzNzE3NzlEMDEqDQorWDMyOTI4OVkzNzIyOTREMDEqDQorWDMyOTY0MlkzNzI4NzFEMDEqDQorWDMyOTkwMVkzNzM0OTZEMDEqDQorWDMzMDA1OVkzNzQxNTREMDEqDQorWDMzMDA5OVkzNzQ4MjlEMDEqDQorWDMzMDA1OVkzNzU1MDREMDEqDQorWDMyOTkwMVkzNzYxNjJEMDEqDQorWDMyOTY0MlkzNzY3ODdEMDEqDQorWDMyOTI4OVkzNzczNjREMDEqDQorWDMyODg0OVkzNzc4NzlEMDEqDQorWDMyODMzNFkzNzgzMTlEMDEqDQorWDMyNzc1N1kzNzg2NzJEMDEqDQorWDMyNzEzMlkzNzg5MzFEMDEqDQorWDMyNjQ3NFkzNzkwODlEMDEqDQorWDMyNTc5OVkzNzkxNDJEMDEqDQorWDMyNTc5MlkzNzkxNDJEMDEqDQorWTM5NzAwMEQwMSoNCitYMzMyNDM0RDAxKg0KK1kyNTM3NjREMDEqDQorWDMzMTY5NlkyNTM3MDZEMDEqDQorWDMzMDk2OVkyNTM1MzFEMDEqDQorWDMzMDI3OFkyNTMyNDVEMDEqDQorWDMyOTY0MFkyNTI4NTVEMDEqDQorWDMyOTA3MlkyNTIzNjlEMDEqDQorWDMyODU4NlkyNTE4MDFEMDEqDQorWDMyODE5NlkyNTExNjNEMDEqDQorWDMyNzkxMFkyNTA0NzJEMDEqDQorWDMyNzczNVkyNDk3NDVEMDEqDQorWDMyNzY3NlkyNDkwMDBEMDEqDQorWDMyNzczNVkyNDgyNTVEMDEqDQorWDMyNzkxMFkyNDc1MjhEMDEqDQorWDMyODE5NlkyNDY4MzdEMDEqDQorWDMyODU4NlkyNDYxOTlEMDEqDQorWDMyOTA3MlkyNDU2MzFEMDEqDQorWDMyOTY0MFkyNDUxNDVEMDEqDQorWDMzMDI3OFkyNDQ3NTVEMDEqDQorWDMzMDk2OVkyNDQ0NjlEMDEqDQorWDMzMTY5NlkyNDQyOTREMDEqDQorWDMzMjQzNFkyNDQyMzZEMDEqDQorWTE3MTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMjU3OTJZMzQzNzk2RDAyKlgzMjU0NTZZMzQ0MzQ1RDAxKg0KK1gzMjQyNDBZMzQ1NzcwRDAxKg0KK1gzMjI4MTVZMzQ2OTg2RDAxKg0KK1gzMjEyMThZMzQ3OTY1RDAxKg0KK1gzMTk0ODhZMzQ4NjgxRDAxKg0KK1gzMTc2NjZZMzQ5MTE5RDAxKg0KK1gzMTU3OTlZMzQ5MjY2RDAxKg0KK1gzMTM5MzJZMzQ5MTE5RDAxKg0KK1gzMTIxNTRZMzQ4NjkyRDAxKg0KK1kzNjI1NDhEMDEqDQorWDMxMjMwOVkzNjIyOTREMDEqDQorWDMxMjc0OVkzNjE3NzlEMDEqDQorWDMxMzI2NFkzNjEzMzlEMDEqDQorWDMxMzg0MVkzNjA5ODZEMDEqDQorWDMxNDQ2NlkzNjA3MjdEMDEqDQorWDMxNTEyNFkzNjA1NjlEMDEqDQorWDMxNTc5OVkzNjA1MTZEMDEqDQorWDMxNjQ3NFkzNjA1NjlEMDEqDQorWDMxNzEzMlkzNjA3MjdEMDEqDQorWDMxNzc1N1kzNjA5ODZEMDEqDQorWDMxODMzNFkzNjEzMzlEMDEqDQorWDMxODg0OVkzNjE3NzlEMDEqDQorWDMxOTI4OVkzNjIyOTREMDEqDQorWDMxOTY0MlkzNjI4NzFEMDEqDQorWDMxOTkwMVkzNjM0OTZEMDEqDQorWDMyMDA1OVkzNjQxNTREMDEqDQorWDMyMDA5OVkzNjQ4MjlEMDEqDQorWDMyMDA1OVkzNjU1MDREMDEqDQorWDMxOTkwMVkzNjYxNjJEMDEqDQorWDMxOTY0MlkzNjY3ODdEMDEqDQorWDMxOTI4OVkzNjczNjREMDEqDQorWDMxODg0OVkzNjc4NzlEMDEqDQorWDMxODMzNFkzNjgzMTlEMDEqDQorWDMxNzc1N1kzNjg2NzJEMDEqDQorWDMxNzEzMlkzNjg5MzFEMDEqDQorWDMxNjQ3NFkzNjkwODlEMDEqDQorWDMxNTc5OVkzNjkxNDJEMDEqDQorWDMxNTEyNFkzNjkwODlEMDEqDQorWDMxNDQ2NlkzNjg5MzFEMDEqDQorWDMxMzg0MVkzNjg2NzJEMDEqDQorWDMxMzI2NFkzNjgzMTlEMDEqDQorWDMxMjc0OVkzNjc4NzlEMDEqDQorWDMxMjMwOVkzNjczNjREMDEqDQorWDMxMjE1NFkzNjcxMTBEMDEqDQorWTM3MjU0OEQwMSoNCitYMzEyMzA5WTM3MjI5NEQwMSoNCitYMzEyNzQ5WTM3MTc3OUQwMSoNCitYMzEzMjY0WTM3MTMzOUQwMSoNCitYMzEzODQxWTM3MDk4NkQwMSoNCitYMzE0NDY2WTM3MDcyN0QwMSoNCitYMzE1MTI0WTM3MDU2OUQwMSoNCitYMzE1Nzk5WTM3MDUxNkQwMSoNCitYMzE2NDc0WTM3MDU2OUQwMSoNCitYMzE3MTMyWTM3MDcyN0QwMSoNCitYMzE3NzU3WTM3MDk4NkQwMSoNCitYMzE4MzM0WTM3MTMzOUQwMSoNCitYMzE4ODQ5WTM3MTc3OUQwMSoNCitYMzE5Mjg5WTM3MjI5NEQwMSoNCitYMzE5NjQyWTM3Mjg3MUQwMSoNCitYMzE5OTAxWTM3MzQ5NkQwMSoNCitYMzIwMDU5WTM3NDE1NEQwMSoNCitYMzIwMDk5WTM3NDgyOUQwMSoNCitYMzIwMDU5WTM3NTUwNEQwMSoNCitYMzE5OTAxWTM3NjE2MkQwMSoNCitYMzE5NjQyWTM3Njc4N0QwMSoNCitYMzE5Mjg5WTM3NzM2NEQwMSoNCitYMzE4ODQ5WTM3Nzg3OUQwMSoNCitYMzE4MzM0WTM3ODMxOUQwMSoNCitYMzE3NzU3WTM3ODY3MkQwMSoNCitYMzE3MTMyWTM3ODkzMUQwMSoNCitYMzE2NDc0WTM3OTA4OUQwMSoNCitYMzE1Nzk5WTM3OTE0MkQwMSoNCitYMzE1MTI0WTM3OTA4OUQwMSoNCitYMzE0NDY2WTM3ODkzMUQwMSoNCitYMzEzODQxWTM3ODY3MkQwMSoNCitYMzEzMjY0WTM3ODMxOUQwMSoNCitYMzEyNzQ5WTM3Nzg3OUQwMSoNCitYMzEyMzA5WTM3NzM2NEQwMSoNCitYMzEyMTU0WTM3NzExMEQwMSoNCitZMzk3MDAwRDAxKg0KK1gzMjU3OTJEMDEqDQorWTM3OTE0MkQwMSoNCitYMzI1MTI0WTM3OTA4OUQwMSoNCitYMzI0NDY2WTM3ODkzMUQwMSoNCitYMzIzODQxWTM3ODY3MkQwMSoNCitYMzIzMjY0WTM3ODMxOUQwMSoNCitYMzIyNzQ5WTM3Nzg3OUQwMSoNCitYMzIyMzA5WTM3NzM2NEQwMSoNCitYMzIxOTU2WTM3Njc4N0QwMSoNCitYMzIxNjk3WTM3NjE2MkQwMSoNCitYMzIxNTM5WTM3NTUwNEQwMSoNCitYMzIxNDg2WTM3NDgyOUQwMSoNCitYMzIxNTM5WTM3NDE1NEQwMSoNCitYMzIxNjk3WTM3MzQ5NkQwMSoNCitYMzIxOTU2WTM3Mjg3MUQwMSoNCitYMzIyMzA5WTM3MjI5NEQwMSoNCitYMzIyNzQ5WTM3MTc3OUQwMSoNCitYMzIzMjY0WTM3MTMzOUQwMSoNCitYMzIzODQxWTM3MDk4NkQwMSoNCitYMzI0NDY2WTM3MDcyN0QwMSoNCitYMzI1MTI0WTM3MDU2OUQwMSoNCitYMzI1NzkyWTM3MDUxNkQwMSoNCitZMzY5MTQyRDAxKg0KK1gzMjUxMjRZMzY5MDg5RDAxKg0KK1gzMjQ0NjZZMzY4OTMxRDAxKg0KK1gzMjM4NDFZMzY4NjcyRDAxKg0KK1gzMjMyNjRZMzY4MzE5RDAxKg0KK1gzMjI3NDlZMzY3ODc5RDAxKg0KK1gzMjIzMDlZMzY3MzY0RDAxKg0KK1gzMjE5NTZZMzY2Nzg3RDAxKg0KK1gzMjE2OTdZMzY2MTYyRDAxKg0KK1gzMjE1MzlZMzY1NTA0RDAxKg0KK1gzMjE0ODZZMzY0ODI5RDAxKg0KK1gzMjE1MzlZMzY0MTU0RDAxKg0KK1gzMjE2OTdZMzYzNDk2RDAxKg0KK1gzMjE5NTZZMzYyODcxRDAxKg0KK1gzMjIzMDlZMzYyMjk0RDAxKg0KK1gzMjI3NDlZMzYxNzc5RDAxKg0KK1gzMjMyNjRZMzYxMzM5RDAxKg0KK1gzMjM4NDFZMzYwOTg2RDAxKg0KK1gzMjQ0NjZZMzYwNzI3RDAxKg0KK1gzMjUxMjRZMzYwNTY5RDAxKg0KK1gzMjU3OTJZMzYwNTE2RDAxKg0KK1kzNDM3OTZEMDEqDQorRzM3Kg0KK0czNioNCitZMTc5MTQyRDAyKlgzMjUxMjRZMTc5MDg5RDAxKg0KK1gzMjQ0NjZZMTc4OTMxRDAxKg0KK1gzMjM4NDFZMTc4NjcyRDAxKg0KK1gzMjMyNjRZMTc4MzE5RDAxKg0KK1gzMjI3NDlZMTc3ODc5RDAxKg0KK1gzMjIzMDlZMTc3MzY0RDAxKg0KK1gzMjE5NTZZMTc2Nzg3RDAxKg0KK1gzMjE2OTdZMTc2MTYyRDAxKg0KK1gzMjE1MzlZMTc1NTA0RDAxKg0KK1gzMjE0ODZZMTc0ODI5RDAxKg0KK1gzMjE1MzlZMTc0MTU0RDAxKg0KK1gzMjE2OTdZMTczNDk2RDAxKg0KK1gzMjE5NTZZMTcyODcxRDAxKg0KK1gzMjIzMDlZMTcyMjk0RDAxKg0KK1gzMjI3NDlZMTcxNzc5RDAxKg0KK1gzMjMwNzZZMTcxNTAwRDAxKg0KK1gzMTg1MjJEMDEqDQorWDMxODg0OVkxNzE3NzlEMDEqDQorWDMxOTI4OVkxNzIyOTREMDEqDQorWDMxOTY0MlkxNzI4NzFEMDEqDQorWDMxOTkwMVkxNzM0OTZEMDEqDQorWDMyMDA1OVkxNzQxNTREMDEqDQorWDMyMDA5OVkxNzQ4MjlEMDEqDQorWDMyMDA1OVkxNzU1MDREMDEqDQorWDMxOTkwMVkxNzYxNjJEMDEqDQorWDMxOTY0MlkxNzY3ODdEMDEqDQorWDMxOTI4OVkxNzczNjREMDEqDQorWDMxODg0OVkxNzc4NzlEMDEqDQorWDMxODMzNFkxNzgzMTlEMDEqDQorWDMxNzc1N1kxNzg2NzJEMDEqDQorWDMxNzEzMlkxNzg5MzFEMDEqDQorWDMxNjQ3NFkxNzkwODlEMDEqDQorWDMxNTc5OVkxNzkxNDJEMDEqDQorWDMxNTEyNFkxNzkwODlEMDEqDQorWDMxNDQ2NlkxNzg5MzFEMDEqDQorWDMxMzg0MVkxNzg2NzJEMDEqDQorWDMxMzI2NFkxNzgzMTlEMDEqDQorWDMxMjc0OVkxNzc4NzlEMDEqDQorWDMxMjMwOVkxNzczNjREMDEqDQorWDMxMjE1NFkxNzcxMTBEMDEqDQorWTE4MjU0OEQwMSoNCitYMzEyMzA5WTE4MjI5NEQwMSoNCitYMzEyNzQ5WTE4MTc3OUQwMSoNCitYMzEzMjY0WTE4MTMzOUQwMSoNCitYMzEzODQxWTE4MDk4NkQwMSoNCitYMzE0NDY2WTE4MDcyN0QwMSoNCitYMzE1MTI0WTE4MDU2OUQwMSoNCitYMzE1Nzk5WTE4MDUxNkQwMSoNCitYMzE2NDc0WTE4MDU2OUQwMSoNCitYMzE3MTMyWTE4MDcyN0QwMSoNCitYMzE3NzU3WTE4MDk4NkQwMSoNCitYMzE4MzM0WTE4MTMzOUQwMSoNCitYMzE4ODQ5WTE4MTc3OUQwMSoNCitYMzE5Mjg5WTE4MjI5NEQwMSoNCitYMzE5NjQyWTE4Mjg3MUQwMSoNCitYMzE5OTAxWTE4MzQ5NkQwMSoNCitYMzIwMDU5WTE4NDE1NEQwMSoNCitYMzIwMDk5WTE4NDgyOUQwMSoNCitYMzIwMDU5WTE4NTUwNEQwMSoNCitYMzE5OTAxWTE4NjE2MkQwMSoNCitYMzE5NjQyWTE4Njc4N0QwMSoNCitYMzE5Mjg5WTE4NzM2NEQwMSoNCitYMzE4ODQ5WTE4Nzg3OUQwMSoNCitYMzE4MzM0WTE4ODMxOUQwMSoNCitYMzE3NzU3WTE4ODY3MkQwMSoNCitYMzE3MTMyWTE4ODkzMUQwMSoNCitYMzE2NDc0WTE4OTA4OUQwMSoNCitYMzE1Nzk5WTE4OTE0MkQwMSoNCitYMzE1MTI0WTE4OTA4OUQwMSoNCitYMzE0NDY2WTE4ODkzMUQwMSoNCitYMzEzODQxWTE4ODY3MkQwMSoNCitYMzEzMjY0WTE4ODMxOUQwMSoNCitYMzEyNzQ5WTE4Nzg3OUQwMSoNCitYMzEyMzA5WTE4NzM2NEQwMSoNCitYMzEyMTU0WTE4NzExMEQwMSoNCitZMjQ0MjU2RDAxKg0KK1gzMTU5MjZZMjQ0MjY0RDAxKg0KK1gzMTYxNTZZMjQ0MzE5RDAxKg0KK1gzMTYzNzRZMjQ0NDA5RDAxKg0KK1gzMTY1NzVZMjQ0NTMzRDAxKg0KK1gzMTY3NTVZMjQ0Njg2RDAxKg0KK1gzMTY5MDhZMjQ0ODY2RDAxKg0KK1gzMTcwMzJZMjQ1MDY3RDAxKg0KK1gzMTcxMjJZMjQ1Mjg1RDAxKg0KK1gzMTcxNzdZMjQ1NTE1RDAxKg0KK1gzMTcxOTFZMjQ1NzUwRDAxKg0KK1gzMTcxNzdZMjUyNDg1RDAxKg0KK1gzMTcxMjJZMjUyNzE1RDAxKg0KK1gzMTcwMzJZMjUyOTMzRDAxKg0KK1gzMTY5MDhZMjUzMTM0RDAxKg0KK1gzMTY3NTVZMjUzMzE0RDAxKg0KK1gzMTY1NzVZMjUzNDY3RDAxKg0KK1gzMTYzNzRZMjUzNTkxRDAxKg0KK1gzMTYxNTZZMjUzNjgxRDAxKg0KK1gzMTU5MjZZMjUzNzM2RDAxKg0KK1gzMTU2OTFZMjUzNzUwRDAxKg0KK1gzMTIxNTRZMjUzNzQzRDAxKg0KK1kyOTI5ODREMDEqDQorWDMxMjQ0NFkyOTMwMDdEMDEqDQorWDMxMjc1N1kyOTMwODJEMDEqDQorWDMxMzA1NlkyOTMyMDZEMDEqDQorWDMxMzMzMVkyOTMzNzREMDEqDQorWDMxMzU3NlkyOTM1ODREMDEqDQorWDMxMzc4NlkyOTM4MjlEMDEqDQorWDMxMzk1NFkyOTQxMDREMDEqDQorWDMxNDA3OFkyOTQ0MDNEMDEqDQorWDMxNDE1M1kyOTQ3MTZEMDEqDQorWDMxNDE3MlkyOTUwMzhEMDEqDQorWDMxNDE1M1kyOTUzNjBEMDEqDQorWDMxNDA3OFkyOTU2NzNEMDEqDQorWDMxMzk1NFkyOTU5NzJEMDEqDQorWDMxMzc4NlkyOTYyNDdEMDEqDQorWDMxMzU3NlkyOTY0OTJEMDEqDQorWDMxMzMzMVkyOTY3MDJEMDEqDQorWDMxMzA1NlkyOTY4NzBEMDEqDQorWDMxMjc1N1kyOTY5OTREMDEqDQorWDMxMjQ0NFkyOTcwNjlEMDEqDQorWDMxMjE1NFkyOTcwOTJEMDEqDQorWTI5ODEwMEQwMSoNCitYMzEyMTU3WTI5ODEwMEQwMSoNCitYMzEyNDc5WTI5ODEyNUQwMSoNCitYMzEyNzkyWTI5ODIwMEQwMSoNCitYMzEzMDkxWTI5ODMyNEQwMSoNCitYMzEzMzY2WTI5ODQ5MkQwMSoNCitYMzEzNjExWTI5ODcwMkQwMSoNCitYMzEzODIxWTI5ODk0N0QwMSoNCitYMzEzOTg5WTI5OTIyMkQwMSoNCitYMzE0MTEzWTI5OTUyMUQwMSoNCitYMzE0MTg4WTI5OTgzNEQwMSoNCitYMzE0MjA3WTMwMDE1NkQwMSoNCitYMzE0MTg4WTMwMDQ3OEQwMSoNCitYMzE0MTEzWTMwMDc5MUQwMSoNCitYMzEzOTg5WTMwMTA5MEQwMSoNCitYMzEzODIxWTMwMTM2NUQwMSoNCitYMzEzNjExWTMwMTYxMEQwMSoNCitYMzEzMzY2WTMwMTgyMEQwMSoNCitYMzEzMDkxWTMwMTk4OEQwMSoNCitYMzEyNzkyWTMwMjExMkQwMSoNCitYMzEyNDc5WTMwMjE4N0QwMSoNCitYMzEyMTU3WTMwMjIxMkQwMSoNCitYMzEyMTU0WTMwMjIxMkQwMSoNCitZMzI1OTY2RDAxKg0KK1gzMTM5MzJZMzI1NTM5RDAxKg0KK1gzMTU3OTlZMzI1MzkyRDAxKg0KK1gzMTc2NjZZMzI1NTM5RDAxKg0KK1gzMTk0ODhZMzI1OTc3RDAxKg0KK1gzMjEyMThZMzI2NjkzRDAxKg0KK1gzMjI4MTVZMzI3NjcyRDAxKg0KK1gzMjQyNDBZMzI4ODg4RDAxKg0KK1gzMjU0NTZZMzMwMzEzRDAxKg0KK1gzMjU3OTJZMzMwODYyRDAxKg0KK1kyNTIzODREMDEqDQorWDMyNTI0MlkyNTI4NTVEMDEqDQorWDMyNDYwNFkyNTMyNDVEMDEqDQorWDMyMzkxM1kyNTM1MzFEMDEqDQorWDMyMzE4NlkyNTM3MDZEMDEqDQorWDMyMjQ0MVkyNTM3NjVEMDEqDQorWDMyMTY5NlkyNTM3MDZEMDEqDQorWDMyMDk2OVkyNTM1MzFEMDEqDQorWDMyMDI3OFkyNTMyNDVEMDEqDQorWDMxOTY0MFkyNTI4NTVEMDEqDQorWDMxOTA3MlkyNTIzNjlEMDEqDQorWDMxODU4NlkyNTE4MDFEMDEqDQorWDMxODE5NlkyNTExNjNEMDEqDQorWDMxNzkxMFkyNTA0NzJEMDEqDQorWDMxNzczNVkyNDk3NDVEMDEqDQorWDMxNzY3NlkyNDkwMDBEMDEqDQorWDMxNzczNVkyNDgyNTVEMDEqDQorWDMxNzkxMFkyNDc1MjhEMDEqDQorWDMxODE5NlkyNDY4MzdEMDEqDQorWDMxODU4NlkyNDYxOTlEMDEqDQorWDMxOTA3MlkyNDU2MzFEMDEqDQorWDMxOTY0MFkyNDUxNDVEMDEqDQorWDMyMDI3OFkyNDQ3NTVEMDEqDQorWDMyMDk2OVkyNDQ0NjlEMDEqDQorWDMyMTY5NlkyNDQyOTREMDEqDQorWDMyMjQ0MVkyNDQyMzVEMDEqDQorWDMyMzE4NlkyNDQyOTREMDEqDQorWDMyMzkxM1kyNDQ0NjlEMDEqDQorWDMyNDYwNFkyNDQ3NTVEMDEqDQorWDMyNTI0MlkyNDUxNDVEMDEqDQorWDMyNTc5MlkyNDU2MTZEMDEqDQorWTE4OTE0MkQwMSoNCitYMzI1MTI0WTE4OTA4OUQwMSoNCitYMzI0NDY2WTE4ODkzMUQwMSoNCitYMzIzODQxWTE4ODY3MkQwMSoNCitYMzIzMjY0WTE4ODMxOUQwMSoNCitYMzIyNzQ5WTE4Nzg3OUQwMSoNCitYMzIyMzA5WTE4NzM2NEQwMSoNCitYMzIxOTU2WTE4Njc4N0QwMSoNCitYMzIxNjk3WTE4NjE2MkQwMSoNCitYMzIxNTM5WTE4NTUwNEQwMSoNCitYMzIxNDg2WTE4NDgyOUQwMSoNCitYMzIxNTM5WTE4NDE1NEQwMSoNCitYMzIxNjk3WTE4MzQ5NkQwMSoNCitYMzIxOTU2WTE4Mjg3MUQwMSoNCitYMzIyMzA5WTE4MjI5NEQwMSoNCitYMzIyNzQ5WTE4MTc3OUQwMSoNCitYMzIzMjY0WTE4MTMzOUQwMSoNCitYMzIzODQxWTE4MDk4NkQwMSoNCitYMzI0NDY2WTE4MDcyN0QwMSoNCitYMzI1MTI0WTE4MDU2OUQwMSoNCitYMzI1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK0czNyoNCitHMzYqDQorWDMxMjE1NFkzNDg2OTJEMDIqWDMxMjExMFkzNDg2ODFEMDEqDQorWDMxMDM4MFkzNDc5NjVEMDEqDQorWDMwODc4M1kzNDY5ODZEMDEqDQorWDMwODM1MVkzNDY2MTdEMDEqDQorWTM2MTM1NEQwMSoNCitYMzA4ODQ5WTM2MTc3OUQwMSoNCitYMzA5Mjg5WTM2MjI5NEQwMSoNCitYMzA5NjQyWTM2Mjg3MUQwMSoNCitYMzA5OTAxWTM2MzQ5NkQwMSoNCitYMzEwMDU5WTM2NDE1NEQwMSoNCitYMzEwMDk5WTM2NDgyOUQwMSoNCitYMzEwMDU5WTM2NTUwNEQwMSoNCitYMzA5OTAxWTM2NjE2MkQwMSoNCitYMzA5NjQyWTM2Njc4N0QwMSoNCitYMzA5Mjg5WTM2NzM2NEQwMSoNCitYMzA4ODQ5WTM2Nzg3OUQwMSoNCitYMzA4MzUxWTM2ODMwNEQwMSoNCitZMzcxMzU0RDAxKg0KK1gzMDg4NDlZMzcxNzc5RDAxKg0KK1gzMDkyODlZMzcyMjk0RDAxKg0KK1gzMDk2NDJZMzcyODcxRDAxKg0KK1gzMDk5MDFZMzczNDk2RDAxKg0KK1gzMTAwNTlZMzc0MTU0RDAxKg0KK1gzMTAwOTlZMzc0ODI5RDAxKg0KK1gzMTAwNTlZMzc1NTA0RDAxKg0KK1gzMDk5MDFZMzc2MTYyRDAxKg0KK1gzMDk2NDJZMzc2Nzg3RDAxKg0KK1gzMDkyODlZMzc3MzY0RDAxKg0KK1gzMDg4NDlZMzc3ODc5RDAxKg0KK1gzMDgzNTFZMzc4MzA0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDMxMjE1NEQwMSoNCitZMzc3MTEwRDAxKg0KK1gzMTE5NTZZMzc2Nzg3RDAxKg0KK1gzMTE2OTdZMzc2MTYyRDAxKg0KK1gzMTE1MzlZMzc1NTA0RDAxKg0KK1gzMTE0ODZZMzc0ODI5RDAxKg0KK1gzMTE1MzlZMzc0MTU0RDAxKg0KK1gzMTE2OTdZMzczNDk2RDAxKg0KK1gzMTE5NTZZMzcyODcxRDAxKg0KK1gzMTIxNTRZMzcyNTQ4RDAxKg0KK1kzNjcxMTBEMDEqDQorWDMxMTk1NlkzNjY3ODdEMDEqDQorWDMxMTY5N1kzNjYxNjJEMDEqDQorWDMxMTUzOVkzNjU1MDREMDEqDQorWDMxMTQ4NlkzNjQ4MjlEMDEqDQorWDMxMTUzOVkzNjQxNTREMDEqDQorWDMxMTY5N1kzNjM0OTZEMDEqDQorWDMxMTk1NlkzNjI4NzFEMDEqDQorWDMxMjE1NFkzNjI1NDhEMDEqDQorWTM0ODY5MkQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNTM3NDNEMDIqWDMwODk1NlkyNTM3MzZEMDEqDQorWDMwODcyNlkyNTM2ODFEMDEqDQorWDMwODUwOFkyNTM1OTFEMDEqDQorWDMwODM1MVkyNTM0OTREMDEqDQorWTI2NDUzOUQwMSoNCitYMzA4NTUwWTI2NDQ5MUQwMSoNCitYMzA4ODcyWTI2NDQ2NkQwMSoNCitYMzA5MTk0WTI2NDQ5MUQwMSoNCitYMzA5NTA3WTI2NDU2NkQwMSoNCitYMzA5ODA2WTI2NDY5MEQwMSoNCitYMzEwMDgxWTI2NDg1OEQwMSoNCitYMzEwMzI2WTI2NTA2OEQwMSoNCitYMzEwNTM2WTI2NTMxM0QwMSoNCitYMzEwNzA0WTI2NTU4OEQwMSoNCitYMzEwODI4WTI2NTg4N0QwMSoNCitYMzEwOTAzWTI2NjIwMEQwMSoNCitYMzEwOTIyWTI2NjUyMkQwMSoNCitYMzEwOTAzWTI2Njg0NEQwMSoNCitYMzEwODI4WTI2NzE1N0QwMSoNCitYMzEwNzA0WTI2NzQ1NkQwMSoNCitYMzEwNTM2WTI2NzczMUQwMSoNCitYMzEwMzI2WTI2Nzk3NkQwMSoNCitYMzEwMDgxWTI2ODE4NkQwMSoNCitYMzA5ODA2WTI2ODM1NEQwMSoNCitYMzA5NTA3WTI2ODQ3OEQwMSoNCitYMzA5MTk0WTI2ODU1M0QwMSoNCitYMzA4ODcyWTI2ODU3OEQwMSoNCitYMzA4NTUwWTI2ODU1M0QwMSoNCitYMzA4MzUxWTI2ODUwNUQwMSoNCitZMjcwMDE4RDAxKg0KK1gzMDgzNTdZMjcwMDE1RDAxKg0KK1gzMDg2NzBZMjY5OTQwRDAxKg0KK1gzMDg5OTJZMjY5OTE1RDAxKg0KK1gzMDkzMTRZMjY5OTQwRDAxKg0KK1gzMDk2MjdZMjcwMDE1RDAxKg0KK1gzMDk5MjZZMjcwMTM5RDAxKg0KK1gzMTAyMDFZMjcwMzA3RDAxKg0KK1gzMTA0NDZZMjcwNTE3RDAxKg0KK1gzMTA2NTZZMjcwNzYyRDAxKg0KK1gzMTA4MjRZMjcxMDM3RDAxKg0KK1gzMTA5NDhZMjcxMzM2RDAxKg0KK1gzMTEwMjNZMjcxNjQ5RDAxKg0KK1gzMTEwNDJZMjcxOTcxRDAxKg0KK1gzMTEwMjNZMjcyMjkzRDAxKg0KK1gzMTA5NDhZMjcyNjA2RDAxKg0KK1gzMTA4MjRZMjcyOTA1RDAxKg0KK1gzMTA2NTZZMjczMTgwRDAxKg0KK1gzMTA0NDZZMjczNDI1RDAxKg0KK1gzMTAyMDFZMjczNjM1RDAxKg0KK1gzMDk5MjZZMjczODAzRDAxKg0KK1gzMDk2MjdZMjczOTI3RDAxKg0KK1gzMDk0NDRZMjczOTcxRDAxKg0KK1gzMDk1NDhZMjc0MTQxRDAxKg0KK1gzMDk2NzJZMjc0NDQwRDAxKg0KK1gzMDk3NDdZMjc0NzUzRDAxKg0KK1gzMDk3NjZZMjc1MDc1RDAxKg0KK1gzMDk3NDdZMjc1Mzk3RDAxKg0KK1gzMDk2NzJZMjc1NzEwRDAxKg0KK1gzMDk1NDhZMjc2MDA5RDAxKg0KK1gzMDkzODBZMjc2Mjg0RDAxKg0KK1gzMDkxNzBZMjc2NTI5RDAxKg0KK1gzMDg5MjVZMjc2NzM5RDAxKg0KK1gzMDg2NTBZMjc2OTA3RDAxKg0KK1gzMDgzNTFZMjc3MDMxRDAxKg0KK1gzMDgzNTFZMjc3MDMxRDAxKg0KK1kzMjgwNDFEMDEqDQorWDMwODc4M1kzMjc2NzJEMDEqDQorWDMxMDM4MFkzMjY2OTNEMDEqDQorWDMxMjExMFkzMjU5NzdEMDEqDQorWDMxMjE1NFkzMjU5NjZEMDEqDQorWTMwMjIxMkQwMSoNCitYMzExODM1WTMwMjE4N0QwMSoNCitYMzExNTIyWTMwMjExMkQwMSoNCitYMzExMjIzWTMwMTk4OEQwMSoNCitYMzEwOTQ4WTMwMTgyMEQwMSoNCitYMzEwNzAzWTMwMTYxMEQwMSoNCitYMzEwNDkzWTMwMTM2NUQwMSoNCitYMzEwMzI1WTMwMTA5MEQwMSoNCitYMzEwMjAxWTMwMDc5MUQwMSoNCitYMzEwMTI2WTMwMDQ3OEQwMSoNCitYMzEwMTAxWTMwMDE1NkQwMSoNCitYMzEwMTI2WTI5OTgzNEQwMSoNCitYMzEwMjAxWTI5OTUyMUQwMSoNCitYMzEwMzI1WTI5OTIyMkQwMSoNCitYMzEwNDkzWTI5ODk0N0QwMSoNCitYMzEwNzAzWTI5ODcwMkQwMSoNCitYMzEwOTQ4WTI5ODQ5MkQwMSoNCitYMzExMjIzWTI5ODMyNEQwMSoNCitYMzExNTIyWTI5ODIwMEQwMSoNCitYMzExODM1WTI5ODEyNUQwMSoNCitYMzEyMTU0WTI5ODEwMEQwMSoNCitZMjk3MDkyRDAxKg0KK1gzMTIxMjJZMjk3MDk0RDAxKg0KK1gzMTE4MDBZMjk3MDY5RDAxKg0KK1gzMTE0ODdZMjk2OTk0RDAxKg0KK1gzMTExODhZMjk2ODcwRDAxKg0KK1gzMTA5MTNZMjk2NzAyRDAxKg0KK1gzMTA2NjhZMjk2NDkyRDAxKg0KK1gzMTA0NThZMjk2MjQ3RDAxKg0KK1gzMTAyOTBZMjk1OTcyRDAxKg0KK1gzMTAxNjZZMjk1NjczRDAxKg0KK1gzMTAwOTFZMjk1MzYwRDAxKg0KK1gzMTAwNjZZMjk1MDM4RDAxKg0KK1gzMTAwOTFZMjk0NzE2RDAxKg0KK1gzMTAxNjZZMjk0NDAzRDAxKg0KK1gzMTAyOTBZMjk0MTA0RDAxKg0KK1gzMTA0NThZMjkzODI5RDAxKg0KK1gzMTA2NjhZMjkzNTg0RDAxKg0KK1gzMTA5MTNZMjkzMzc0RDAxKg0KK1gzMTExODhZMjkzMjA2RDAxKg0KK1gzMTE0ODdZMjkzMDgyRDAxKg0KK1gzMTE4MDBZMjkzMDA3RDAxKg0KK1gzMTIxMjJZMjkyOTgyRDAxKg0KK1gzMTIxNTRZMjkyOTg0RDAxKg0KK1kyNTM3NDNEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3MTEwRDAyKlgzMTE5NTZZMTc2Nzg3RDAxKg0KK1gzMTE2OTdZMTc2MTYyRDAxKg0KK1gzMTE1MzlZMTc1NTA0RDAxKg0KK1gzMTE0ODZZMTc0ODI5RDAxKg0KK1gzMTE1MzlZMTc0MTU0RDAxKg0KK1gzMTE2OTdZMTczNDk2RDAxKg0KK1gzMTE5NTZZMTcyODcxRDAxKg0KK1gzMTIxNTRZMTcyNTQ4RDAxKg0KK1kxNzE1MDBEMDEqDQorWDMwODUyMkQwMSoNCitYMzA4ODQ5WTE3MTc3OUQwMSoNCitYMzA5Mjg5WTE3MjI5NEQwMSoNCitYMzA5NjQyWTE3Mjg3MUQwMSoNCitYMzA5OTAxWTE3MzQ5NkQwMSoNCitYMzEwMDU5WTE3NDE1NEQwMSoNCitYMzEwMDk5WTE3NDgyOUQwMSoNCitYMzEwMDU5WTE3NTUwNEQwMSoNCitYMzA5OTAxWTE3NjE2MkQwMSoNCitYMzA5NjQyWTE3Njc4N0QwMSoNCitYMzA5Mjg5WTE3NzM2NEQwMSoNCitYMzA4ODQ5WTE3Nzg3OUQwMSoNCitYMzA4MzUxWTE3ODMwNEQwMSoNCitZMTgxMzU0RDAxKg0KK1gzMDg4NDlZMTgxNzc5RDAxKg0KK1gzMDkyODlZMTgyMjk0RDAxKg0KK1gzMDk2NDJZMTgyODcxRDAxKg0KK1gzMDk5MDFZMTgzNDk2RDAxKg0KK1gzMTAwNTlZMTg0MTU0RDAxKg0KK1gzMTAwOTlZMTg0ODI5RDAxKg0KK1gzMTAwNTlZMTg1NTA0RDAxKg0KK1gzMDk5MDFZMTg2MTYyRDAxKg0KK1gzMDk2NDJZMTg2Nzg3RDAxKg0KK1gzMDkyODlZMTg3MzY0RDAxKg0KK1gzMDg4NDlZMTg3ODc5RDAxKg0KK1gzMDgzNTFZMTg4MzA0RDAxKg0KK1kyNDQ1MDZEMDEqDQorWDMwODUwOFkyNDQ0MDlEMDEqDQorWDMwODcyNlkyNDQzMTlEMDEqDQorWDMwODk1NlkyNDQyNjREMDEqDQorWDMwOTE5MVkyNDQyNTBEMDEqDQorWDMxMjE1NFkyNDQyNTZEMDEqDQorWTE4NzExMEQwMSoNCitYMzExOTU2WTE4Njc4N0QwMSoNCitYMzExNjk3WTE4NjE2MkQwMSoNCitYMzExNTM5WTE4NTUwNEQwMSoNCitYMzExNDg2WTE4NDgyOUQwMSoNCitYMzExNTM5WTE4NDE1NEQwMSoNCitYMzExNjk3WTE4MzQ5NkQwMSoNCitYMzExOTU2WTE4Mjg3MUQwMSoNCitYMzEyMTU0WTE4MjU0OEQwMSoNCitZMTc3MTEwRDAxKg0KK0czNyoNCitHMzYqDQorWDMwMzM2MlkyMDkzODVEMDIqWDMwMzQyOVkyMDkzMDZEMDEqDQorWDMwMzY0NVkyMDkxMjJEMDEqDQorWDMwMzcyOVkyMDkwNzBEMDEqDQorWDMwMzUyM1kyMDg5NDREMDEqDQorWDMwMzM2MlkyMDg4MDZEMDEqDQorWTIwOTM4NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMzgwMDBEMDIqWDMwMzU3NlkzMzgwNTFEMDEqDQorWDMwMzg3NVkzMzgxNzVEMDEqDQorWDMwMzkzMlkzMzgyMTBEMDEqDQorWDMwMzg2MlkzMzczMjlEMDEqDQorWDMwNDAwOVkzMzU0NjJEMDEqDQorWDMwNDQ0N1kzMzM2NDBEMDEqDQorWDMwNTE2M1kzMzE5MTBEMDEqDQorWDMwNjE0MlkzMzAzMTNEMDEqDQorWDMwNzM1OFkzMjg4ODhEMDEqDQorWDMwODM1MVkzMjgwNDFEMDEqDQorWTI3NzAzMUQwMSoNCitYMzA4MDM4WTI3NzEwNkQwMSoNCitYMzA3NzE2WTI3NzEzMUQwMSoNCitYMzA3Mzk0WTI3NzEwNkQwMSoNCitYMzA3MDgxWTI3NzAzMUQwMSoNCitYMzA2NzgyWTI3NjkwN0QwMSoNCitYMzA2NTA3WTI3NjczOUQwMSoNCitYMzA2MjYyWTI3NjUyOUQwMSoNCitYMzA2MDUyWTI3NjI4NEQwMSoNCitYMzA1ODg0WTI3NjAwOUQwMSoNCitYMzA1NzYwWTI3NTcxMEQwMSoNCitYMzA1Njg1WTI3NTM5N0QwMSoNCitYMzA1NjYwWTI3NTA3NUQwMSoNCitYMzA1Njg1WTI3NDc1M0QwMSoNCitYMzA1NzYwWTI3NDQ0MEQwMSoNCitYMzA1ODg0WTI3NDE0MUQwMSoNCitYMzA2MDUyWTI3Mzg2NkQwMSoNCitYMzA2MjYyWTI3MzYyMUQwMSoNCitYMzA2NTA3WTI3MzQxMUQwMSoNCitYMzA2NzgyWTI3MzI0M0QwMSoNCitYMzA3MDgxWTI3MzExOUQwMSoNCitYMzA3MjY0WTI3MzA3NUQwMSoNCitYMzA3MTYwWTI3MjkwNUQwMSoNCitYMzA3MDM2WTI3MjYwNkQwMSoNCitYMzA2OTYxWTI3MjI5M0QwMSoNCitYMzA2OTM2WTI3MTk3MUQwMSoNCitYMzA2OTYxWTI3MTY0OUQwMSoNCitYMzA3MDM2WTI3MTMzNkQwMSoNCitYMzA3MTYwWTI3MTAzN0QwMSoNCitYMzA3MzI4WTI3MDc2MkQwMSoNCitYMzA3NTM4WTI3MDUxN0QwMSoNCitYMzA3NzgzWTI3MDMwN0QwMSoNCitYMzA4MDU4WTI3MDEzOUQwMSoNCitYMzA4MzUxWTI3MDAxOEQwMSoNCitZMjY4NTA1RDAxKg0KK1gzMDgyMzdZMjY4NDc4RDAxKg0KK1gzMDc5MzhZMjY4MzU0RDAxKg0KK1gzMDc2NjNZMjY4MTg2RDAxKg0KK1gzMDc0MThZMjY3OTc2RDAxKg0KK1gzMDcyMDhZMjY3NzMxRDAxKg0KK1gzMDcwNDBZMjY3NDU2RDAxKg0KK1gzMDY5MTZZMjY3MTU3RDAxKg0KK1gzMDY4NDFZMjY2ODQ0RDAxKg0KK1gzMDY4MTZZMjY2NTIyRDAxKg0KK1gzMDY4NDFZMjY2MjAwRDAxKg0KK1gzMDY5MTZZMjY1ODg3RDAxKg0KK1gzMDcwNDBZMjY1NTg4RDAxKg0KK1gzMDcyMDhZMjY1MzEzRDAxKg0KK1gzMDc0MThZMjY1MDY4RDAxKg0KK1gzMDc2NjNZMjY0ODU4RDAxKg0KK1gzMDc5MzhZMjY0NjkwRDAxKg0KK1gzMDgyMzdZMjY0NTY2RDAxKg0KK1gzMDgzNTFZMjY0NTM5RDAxKg0KK1kyNTM0OTREMDEqDQorWDMwODMwN1kyNTM0NjdEMDEqDQorWDMwODEyN1kyNTMzMTREMDEqDQorWDMwNzk3NFkyNTMxMzREMDEqDQorWDMwNzg1MFkyNTI5MzNEMDEqDQorWDMwNzc2MFkyNTI3MTVEMDEqDQorWDMwNzcwNVkyNTI0ODVEMDEqDQorWDMwNzY5MVkyNTIyNTBEMDEqDQorWDMwNzcwNVkyNDU1MTVEMDEqDQorWDMwNzc2MFkyNDUyODVEMDEqDQorWDMwNzg1MFkyNDUwNjdEMDEqDQorWDMwNzk3NFkyNDQ4NjZEMDEqDQorWDMwODEyN1kyNDQ2ODZEMDEqDQorWDMwODMwN1kyNDQ1MzNEMDEqDQorWDMwODM1MVkyNDQ1MDZEMDEqDQorWTE4ODMwNEQwMSoNCitYMzA4MzM0WTE4ODMxOUQwMSoNCitYMzA3NzU3WTE4ODY3MkQwMSoNCitYMzA3MTMyWTE4ODkzMUQwMSoNCitYMzA2NDc0WTE4OTA4OUQwMSoNCitYMzA1Nzk5WTE4OTE0MkQwMSoNCitYMzA1MTI0WTE4OTA4OUQwMSoNCitYMzA0NDY2WTE4ODkzMUQwMSoNCitYMzAzODQxWTE4ODY3MkQwMSoNCitYMzAzMzYyWTE4ODM3OUQwMSoNCitZMjA2MTYwRDAxKg0KK1gzMDM1MjNZMjA2MDIyRDAxKg0KK1gzMDM3NjRZMjA1ODc0RDAxKg0KK1gzMDQwMjZZMjA1NzY2RDAxKg0KK1gzMDQxMDVZMjA1NzQ3RDAxKg0KK1gzMDQwMDNZMjA1NjYwRDAxKg0KK1gzMDM4MTlZMjA1NDQ0RDAxKg0KK1gzMDM2NzFZMjA1MjAzRDAxKg0KK1gzMDM1NjNZMjA0OTQxRDAxKg0KK1gzMDM0OTdZMjA0NjY1RDAxKg0KK1gzMDM0NzRZMjA0MzgzRDAxKg0KK1gzMDM0OTdZMjA0MTAxRDAxKg0KK1gzMDM1NjNZMjAzODI1RDAxKg0KK1gzMDM2NzFZMjAzNTYzRDAxKg0KK1gzMDM4MTlZMjAzMzIyRDAxKg0KK1gzMDQwMDNZMjAzMTA2RDAxKg0KK1gzMDQyMTlZMjAyOTIyRDAxKg0KK1gzMDQ0NjBZMjAyNzc0RDAxKg0KK1gzMDQ3MjJZMjAyNjY2RDAxKg0KK1gzMDQ5OThZMjAyNjAwRDAxKg0KK1gzMDUyODBZMjAyNTc3RDAxKg0KK1gzMDU1NjJZMjAyNjAwRDAxKg0KK1gzMDU4MzhZMjAyNjY2RDAxKg0KK1gzMDYxMDBZMjAyNzc0RDAxKg0KK1gzMDYzNDFZMjAyOTIyRDAxKg0KK1gzMDY1NTdZMjAzMTA2RDAxKg0KK1gzMDY3NDFZMjAzMzIyRDAxKg0KK1gzMDY4ODlZMjAzNTYzRDAxKg0KK1gzMDY5OTdZMjAzODI1RDAxKg0KK1gzMDcwNjNZMjA0MTAxRDAxKg0KK1gzMDcwODBZMjA0MzgzRDAxKg0KK1gzMDcwNjNZMjA0NjY1RDAxKg0KK1gzMDY5OTdZMjA0OTQxRDAxKg0KK1gzMDY4ODlZMjA1MjAzRDAxKg0KK1gzMDY3NDFZMjA1NDQ0RDAxKg0KK1gzMDY1NTdZMjA1NjYwRDAxKg0KK1gzMDYzNDFZMjA1ODQ0RDAxKg0KK1gzMDYxMDBZMjA1OTkyRDAxKg0KK1gzMDU4MzhZMjA2MTAwRDAxKg0KK1gzMDU3NTlZMjA2MTE5RDAxKg0KK1gzMDU4NjFZMjA2MjA2RDAxKg0KK1gzMDYwNDVZMjA2NDIyRDAxKg0KK1gzMDYxOTNZMjA2NjYzRDAxKg0KK1gzMDYzMDFZMjA2OTI1RDAxKg0KK1gzMDYzNjdZMjA3MjAxRDAxKg0KK1gzMDYzODRZMjA3NDgzRDAxKg0KK1gzMDYzNjdZMjA3NzY1RDAxKg0KK1gzMDYzMDFZMjA4MDQxRDAxKg0KK1gzMDYxOTNZMjA4MzAzRDAxKg0KK1gzMDYwNDVZMjA4NTQ0RDAxKg0KK1gzMDU4NjFZMjA4NzYwRDAxKg0KK1gzMDU2NDVZMjA4OTQ0RDAxKg0KK1gzMDU1NjFZMjA4OTk2RDAxKg0KK1gzMDU3NjdZMjA5MTIyRDAxKg0KK1gzMDU5ODNZMjA5MzA2RDAxKg0KK1gzMDYxNjdZMjA5NTIyRDAxKg0KK1gzMDYzMTVZMjA5NzYzRDAxKg0KK1gzMDY0MjNZMjEwMDI1RDAxKg0KK1gzMDY0ODlZMjEwMzAxRDAxKg0KK1gzMDY1MDZZMjEwNTgzRDAxKg0KK1gzMDY0ODlZMjEwODY1RDAxKg0KK1gzMDY0MjNZMjExMTQxRDAxKg0KK1gzMDYzMTVZMjExNDAzRDAxKg0KK1gzMDYxNjdZMjExNjQ0RDAxKg0KK1gzMDU5ODNZMjExODYwRDAxKg0KK1gzMDU3NjdZMjEyMDQ0RDAxKg0KK1gzMDU1MjZZMjEyMTkyRDAxKg0KK1gzMDUyNjRZMjEyMzAwRDAxKg0KK1gzMDQ5ODhZMjEyMzY2RDAxKg0KK1gzMDQ3MDZZMjEyMzg5RDAxKg0KK1gzMDQ0MjRZMjEyMzY2RDAxKg0KK1gzMDQxNDhZMjEyMzAwRDAxKg0KK1gzMDM4ODZZMjEyMTkyRDAxKg0KK1gzMDM2NDVZMjEyMDQ0RDAxKg0KK1gzMDM0MjlZMjExODYwRDAxKg0KK1gzMDMzNjJZMjExNzgxRDAxKg0KK1kzMjc5NDREMDEqDQorWDMwMzM2NVkzMjc5NDREMDEqDQorWDMwMzY4N1kzMjc5NjlEMDEqDQorWDMwNDAwMFkzMjgwNDREMDEqDQorWDMwNDI5OVkzMjgxNjhEMDEqDQorWDMwNDU3NFkzMjgzMzZEMDEqDQorWDMwNDgxOVkzMjg1NDZEMDEqDQorWDMwNTAyOVkzMjg3OTFEMDEqDQorWDMwNTE5N1kzMjkwNjZEMDEqDQorWDMwNTMyMVkzMjkzNjVEMDEqDQorWDMwNTM5NlkzMjk2NzhEMDEqDQorWDMwNTQxNVkzMzAwMDBEMDEqDQorWDMwNTM5NlkzMzAzMjJEMDEqDQorWDMwNTMyMVkzMzA2MzVEMDEqDQorWDMwNTE5N1kzMzA5MzREMDEqDQorWDMwNTAyOVkzMzEyMDlEMDEqDQorWDMwNDgxOVkzMzE0NTREMDEqDQorWDMwNDU3NFkzMzE2NjREMDEqDQorWDMwNDI5OVkzMzE4MzJEMDEqDQorWDMwNDAwMFkzMzE5NTZEMDEqDQorWDMwMzY4N1kzMzIwMzFEMDEqDQorWDMwMzM2NVkzMzIwNTZEMDEqDQorWDMwMzM2MlkzMzIwNTZEMDEqDQorWTMzODAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzNjEyNzlEMDIqWDMwMzg0MVkzNjA5ODZEMDEqDQorWDMwNDQ2NlkzNjA3MjdEMDEqDQorWDMwNTEyNFkzNjA1NjlEMDEqDQorWDMwNTc5OVkzNjA1MTZEMDEqDQorWDMwNjQ3NFkzNjA1NjlEMDEqDQorWDMwNzEzMlkzNjA3MjdEMDEqDQorWDMwNzc1N1kzNjA5ODZEMDEqDQorWDMwODMzNFkzNjEzMzlEMDEqDQorWDMwODM1MVkzNjEzNTREMDEqDQorWTM0NjYxN0QwMSoNCitYMzA3MzU4WTM0NTc3MEQwMSoNCitYMzA2MTQyWTM0NDM0NUQwMSoNCitYMzA1MTYzWTM0Mjc0OEQwMSoNCitYMzA0NTUzWTM0MTI3NkQwMSoNCitYMzA0Mzk1WTM0MTQ2MUQwMSoNCitYMzA0MTUwWTM0MTY3MUQwMSoNCitYMzAzODc1WTM0MTgzOUQwMSoNCitYMzAzNTc2WTM0MTk2M0QwMSoNCitYMzAzMzYyWTM0MjAxNEQwMSoNCitZMzYxMjc5RDAxKg0KK0czNyoNCitHMzYqDQorWTM3MTI3OUQwMipYMzAzODQxWTM3MDk4NkQwMSoNCitYMzA0NDY2WTM3MDcyN0QwMSoNCitYMzA1MTI0WTM3MDU2OUQwMSoNCitYMzA1Nzk5WTM3MDUxNkQwMSoNCitYMzA2NDc0WTM3MDU2OUQwMSoNCitYMzA3MTMyWTM3MDcyN0QwMSoNCitYMzA3NzU3WTM3MDk4NkQwMSoNCitYMzA4MzM0WTM3MTMzOUQwMSoNCitYMzA4MzUxWTM3MTM1NEQwMSoNCitZMzY4MzA0RDAxKg0KK1gzMDgzMzRZMzY4MzE5RDAxKg0KK1gzMDc3NTdZMzY4NjcyRDAxKg0KK1gzMDcxMzJZMzY4OTMxRDAxKg0KK1gzMDY0NzRZMzY5MDg5RDAxKg0KK1gzMDU3OTlZMzY5MTQyRDAxKg0KK1gzMDUxMjRZMzY5MDg5RDAxKg0KK1gzMDQ0NjZZMzY4OTMxRDAxKg0KK1gzMDM4NDFZMzY4NjcyRDAxKg0KK1gzMDMzNjJZMzY4Mzc5RDAxKg0KK1kzNzEyNzlEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgzMDgzNTFEMDEqDQorWTM3ODMwNEQwMSoNCitYMzA4MzM0WTM3ODMxOUQwMSoNCitYMzA3NzU3WTM3ODY3MkQwMSoNCitYMzA3MTMyWTM3ODkzMUQwMSoNCitYMzA2NDc0WTM3OTA4OUQwMSoNCitYMzA1Nzk5WTM3OTE0MkQwMSoNCitYMzA1MTI0WTM3OTA4OUQwMSoNCitYMzA0NDY2WTM3ODkzMUQwMSoNCitYMzAzODQxWTM3ODY3MkQwMSoNCitYMzAzMzYyWTM3ODM3OUQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDMwODM1MVkxNzgzMDREMDIqWDMwODMzNFkxNzgzMTlEMDEqDQorWDMwNzc1N1kxNzg2NzJEMDEqDQorWDMwNzEzMlkxNzg5MzFEMDEqDQorWDMwNjQ3NFkxNzkwODlEMDEqDQorWDMwNTc5OVkxNzkxNDJEMDEqDQorWDMwNTEyNFkxNzkwODlEMDEqDQorWDMwNDQ2NlkxNzg5MzFEMDEqDQorWDMwMzg0MVkxNzg2NzJEMDEqDQorWDMwMzM2MlkxNzgzNzlEMDEqDQorWTE4MTI3OUQwMSoNCitYMzAzODQxWTE4MDk4NkQwMSoNCitYMzA0NDY2WTE4MDcyN0QwMSoNCitYMzA1MTI0WTE4MDU2OUQwMSoNCitYMzA1Nzk5WTE4MDUxNkQwMSoNCitYMzA2NDc0WTE4MDU2OUQwMSoNCitYMzA3MTMyWTE4MDcyN0QwMSoNCitYMzA3NzU3WTE4MDk4NkQwMSoNCitYMzA4MzM0WTE4MTMzOUQwMSoNCitYMzA4MzUxWTE4MTM1NEQwMSoNCitZMTc4MzA0RDAxKg0KK0czNyoNCitHMzYqDQorWDMwMzM2MlkxNzgzNzlEMDIqWDMwMzI2NFkxNzgzMTlEMDEqDQorWDMwMjc0OVkxNzc4NzlEMDEqDQorWDMwMjMwOVkxNzczNjREMDEqDQorWDMwMTk1NlkxNzY3ODdEMDEqDQorWDMwMTY5N1kxNzYxNjJEMDEqDQorWDMwMTUzOVkxNzU1MDREMDEqDQorWDMwMTQ4NlkxNzQ4MjlEMDEqDQorWDMwMTUzOVkxNzQxNTREMDEqDQorWDMwMTY5N1kxNzM0OTZEMDEqDQorWDMwMTk1NlkxNzI4NzFEMDEqDQorWDMwMjMwOVkxNzIyOTREMDEqDQorWDMwMjc0OVkxNzE3NzlEMDEqDQorWDMwMzA3NlkxNzE1MDBEMDEqDQorWDI5ODUyMkQwMSoNCitYMjk4ODQ5WTE3MTc3OUQwMSoNCitYMjk5Mjg5WTE3MjI5NEQwMSoNCitYMjk5NjQyWTE3Mjg3MUQwMSoNCitYMjk5OTAxWTE3MzQ5NkQwMSoNCitYMzAwMDU5WTE3NDE1NEQwMSoNCitYMzAwMDk5WTE3NDgyOUQwMSoNCitYMzAwMDU5WTE3NTUwNEQwMSoNCitYMjk5OTAxWTE3NjE2MkQwMSoNCitYMjk5NjQyWTE3Njc4N0QwMSoNCitYMjk5Mjg5WTE3NzM2NEQwMSoNCitYMjk4ODQ5WTE3Nzg3OUQwMSoNCitYMjk4MzM0WTE3ODMxOUQwMSoNCitYMjk3NzU3WTE3ODY3MkQwMSoNCitYMjk3MTMyWTE3ODkzMUQwMSoNCitYMjk2Nzc2WTE3OTAxN0QwMSoNCitZMTgwNjQxRDAxKg0KK1gyOTcxMzJZMTgwNzI3RDAxKg0KK1gyOTc3NTdZMTgwOTg2RDAxKg0KK1gyOTgzMzRZMTgxMzM5RDAxKg0KK1gyOTg4NDlZMTgxNzc5RDAxKg0KK1gyOTkyODlZMTgyMjk0RDAxKg0KK1gyOTk2NDJZMTgyODcxRDAxKg0KK1gyOTk5MDFZMTgzNDk2RDAxKg0KK1gzMDAwNTlZMTg0MTU0RDAxKg0KK1gzMDAwOTlZMTg0ODI5RDAxKg0KK1gzMDAwNTlZMTg1NTA0RDAxKg0KK1gyOTk5MDFZMTg2MTYyRDAxKg0KK1gyOTk2NDJZMTg2Nzg3RDAxKg0KK1gyOTkyODlZMTg3MzY0RDAxKg0KK1gyOTg4NDlZMTg3ODc5RDAxKg0KK1gyOTgzMzRZMTg4MzE5RDAxKg0KK1gyOTc3NTdZMTg4NjcyRDAxKg0KK1gyOTcxMzJZMTg4OTMxRDAxKg0KK1gyOTY3NzZZMTg5MDE3RDAxKg0KK1kyNDE3NTdEMDEqDQorWDI5Njg3MVkyNDE3OTZEMDEqDQorWDI5NzE0NlkyNDE5NjREMDEqDQorWDI5NzM5MVkyNDIxNzREMDEqDQorWDI5NzYwMVkyNDI0MTlEMDEqDQorWDI5Nzc2OVkyNDI2OTREMDEqDQorWDI5Nzg5M1kyNDI5OTNEMDEqDQorWDI5Nzk2OFkyNDMzMDZEMDEqDQorWDI5Nzk4N1kyNDM2MjhEMDEqDQorWDI5Nzk2OFkyNDM5NTBEMDEqDQorWDI5Nzg5M1kyNDQyNjNEMDEqDQorWDI5Nzc2OVkyNDQ1NjJEMDEqDQorWDI5NzYwMVkyNDQ4MzdEMDEqDQorWDI5NzM5MVkyNDUwODJEMDEqDQorWDI5NzE0NlkyNDUyOTJEMDEqDQorWDI5Njg3MVkyNDU0NjBEMDEqDQorWDI5Njc3NlkyNDU0OTlEMDEqDQorWTI1NDE3NUQwMSoNCitYMjk3MDQ5WTI1NDE5NkQwMSoNCitYMjk3MzYyWTI1NDI3MUQwMSoNCitYMjk3NjYxWTI1NDM5NUQwMSoNCitYMjk3OTM2WTI1NDU2M0QwMSoNCitYMjk4MTgxWTI1NDc3M0QwMSoNCitYMjk4MzkxWTI1NTAxOEQwMSoNCitYMjk4NTU5WTI1NTI5M0QwMSoNCitYMjk4NjgzWTI1NTU5MkQwMSoNCitYMjk4NzU4WTI1NTkwNUQwMSoNCitYMjk4Nzc3WTI1NjIyN0QwMSoNCitYMjk4NzU4WTI1NjU0OUQwMSoNCitYMjk4NjgzWTI1Njg2MkQwMSoNCitYMjk4NTU5WTI1NzE2MUQwMSoNCitYMjk4MzkxWTI1NzQzNkQwMSoNCitYMjk4MTgxWTI1NzY4MUQwMSoNCitYMjk3OTM2WTI1Nzg5MUQwMSoNCitYMjk3NjYxWTI1ODA1OUQwMSoNCitYMjk3MzYyWTI1ODE4M0QwMSoNCitYMjk3MDQ5WTI1ODI1OEQwMSoNCitYMjk2Nzc2WTI1ODI3OUQwMSoNCitZMzAyOTA3RDAxKg0KK1gyOTY3NzlZMzAyOTA3RDAxKg0KK1gyOTcxMDFZMzAyOTMyRDAxKg0KK1gyOTc0MTRZMzAzMDA3RDAxKg0KK1gyOTc3MTNZMzAzMTMxRDAxKg0KK1gyOTc5ODhZMzAzMjk5RDAxKg0KK1gyOTgyMzNZMzAzNTA5RDAxKg0KK1gyOTg0NDNZMzAzNzU0RDAxKg0KK1gyOTg2MTFZMzA0MDI5RDAxKg0KK1gyOTg3MzVZMzA0MzI4RDAxKg0KK1gyOTg4MTBZMzA0NjQxRDAxKg0KK1gyOTg4MjlZMzA0OTYzRDAxKg0KK1gyOTg4MTBZMzA1Mjg1RDAxKg0KK1gyOTg3MzVZMzA1NTk4RDAxKg0KK1gyOTg2MTFZMzA1ODk3RDAxKg0KK1gyOTg0NDNZMzA2MTcyRDAxKg0KK1gyOTgyMzNZMzA2NDE3RDAxKg0KK1gyOTc5ODhZMzA2NjI3RDAxKg0KK1gyOTc3MTNZMzA2Nzk1RDAxKg0KK1gyOTc0MTRZMzA2OTE5RDAxKg0KK1gyOTcxMDFZMzA2OTk0RDAxKg0KK1gyOTY3NzlZMzA3MDE5RDAxKg0KK1gyOTY3NzZZMzA3MDE5RDAxKg0KK1kzNjA2NDFEMDEqDQorWDI5NzEzMlkzNjA3MjdEMDEqDQorWDI5Nzc1N1kzNjA5ODZEMDEqDQorWDI5ODMzNFkzNjEzMzlEMDEqDQorWDI5ODg0OVkzNjE3NzlEMDEqDQorWDI5OTI4OVkzNjIyOTREMDEqDQorWDI5OTY0MlkzNjI4NzFEMDEqDQorWDI5OTkwMVkzNjM0OTZEMDEqDQorWDMwMDA1OVkzNjQxNTREMDEqDQorWDMwMDA5OVkzNjQ4MjlEMDEqDQorWDMwMDA1OVkzNjU1MDREMDEqDQorWDI5OTkwMVkzNjYxNjJEMDEqDQorWDI5OTY0MlkzNjY3ODdEMDEqDQorWDI5OTI4OVkzNjczNjREMDEqDQorWDI5ODg0OVkzNjc4NzlEMDEqDQorWDI5ODMzNFkzNjgzMTlEMDEqDQorWDI5Nzc1N1kzNjg2NzJEMDEqDQorWDI5NzEzMlkzNjg5MzFEMDEqDQorWDI5Njc3NlkzNjkwMTdEMDEqDQorWTM3MDY0MUQwMSoNCitYMjk3MTMyWTM3MDcyN0QwMSoNCitYMjk3NzU3WTM3MDk4NkQwMSoNCitYMjk4MzM0WTM3MTMzOUQwMSoNCitYMjk4ODQ5WTM3MTc3OUQwMSoNCitYMjk5Mjg5WTM3MjI5NEQwMSoNCitYMjk5NjQyWTM3Mjg3MUQwMSoNCitYMjk5OTAxWTM3MzQ5NkQwMSoNCitYMzAwMDU5WTM3NDE1NEQwMSoNCitYMzAwMDk5WTM3NDgyOUQwMSoNCitYMzAwMDU5WTM3NTUwNEQwMSoNCitYMjk5OTAxWTM3NjE2MkQwMSoNCitYMjk5NjQyWTM3Njc4N0QwMSoNCitYMjk5Mjg5WTM3NzM2NEQwMSoNCitYMjk4ODQ5WTM3Nzg3OUQwMSoNCitYMjk4MzM0WTM3ODMxOUQwMSoNCitYMjk3NzU3WTM3ODY3MkQwMSoNCitYMjk3MTMyWTM3ODkzMUQwMSoNCitYMjk2Nzc2WTM3OTAxN0QwMSoNCitZMzk3MDAwRDAxKg0KK1gzMDMzNjJEMDEqDQorWTM3ODM3OUQwMSoNCitYMzAzMjY0WTM3ODMxOUQwMSoNCitYMzAyNzQ5WTM3Nzg3OUQwMSoNCitYMzAyMzA5WTM3NzM2NEQwMSoNCitYMzAxOTU2WTM3Njc4N0QwMSoNCitYMzAxNjk3WTM3NjE2MkQwMSoNCitYMzAxNTM5WTM3NTUwNEQwMSoNCitYMzAxNDg2WTM3NDgyOUQwMSoNCitYMzAxNTM5WTM3NDE1NEQwMSoNCitYMzAxNjk3WTM3MzQ5NkQwMSoNCitYMzAxOTU2WTM3Mjg3MUQwMSoNCitYMzAyMzA5WTM3MjI5NEQwMSoNCitYMzAyNzQ5WTM3MTc3OUQwMSoNCitYMzAzMjY0WTM3MTMzOUQwMSoNCitYMzAzMzYyWTM3MTI3OUQwMSoNCitZMzY4Mzc5RDAxKg0KK1gzMDMyNjRZMzY4MzE5RDAxKg0KK1gzMDI3NDlZMzY3ODc5RDAxKg0KK1gzMDIzMDlZMzY3MzY0RDAxKg0KK1gzMDE5NTZZMzY2Nzg3RDAxKg0KK1gzMDE2OTdZMzY2MTYyRDAxKg0KK1gzMDE1MzlZMzY1NTA0RDAxKg0KK1gzMDE0ODZZMzY0ODI5RDAxKg0KK1gzMDE1MzlZMzY0MTU0RDAxKg0KK1gzMDE2OTdZMzYzNDk2RDAxKg0KK1gzMDE5NTZZMzYyODcxRDAxKg0KK1gzMDIzMDlZMzYyMjk0RDAxKg0KK1gzMDI3NDlZMzYxNzc5RDAxKg0KK1gzMDMyNjRZMzYxMzM5RDAxKg0KK1gzMDMzNjJZMzYxMjc5RDAxKg0KK1kzNDIwMTREMDEqDQorWDMwMzI2M1kzNDIwMzhEMDEqDQorWDMwMjk0MVkzNDIwNjNEMDEqDQorWDMwMjYxOVkzNDIwMzhEMDEqDQorWDMwMjMwNlkzNDE5NjNEMDEqDQorWDMwMjAwN1kzNDE4MzlEMDEqDQorWDMwMTczMlkzNDE2NzFEMDEqDQorWDMwMTQ4N1kzNDE0NjFEMDEqDQorWDMwMTI3N1kzNDEyMTZEMDEqDQorWDMwMTEwOVkzNDA5NDFEMDEqDQorWDMwMDk4NVkzNDA2NDJEMDEqDQorWDMwMDkxMFkzNDAzMjlEMDEqDQorWDMwMDg4NVkzNDAwMDdEMDEqDQorWDMwMDkxMFkzMzk2ODVEMDEqDQorWDMwMDk4NVkzMzkzNzJEMDEqDQorWDMwMTEwOVkzMzkwNzNEMDEqDQorWDMwMTI3N1kzMzg3OThEMDEqDQorWDMwMTQ4N1kzMzg1NTNEMDEqDQorWDMwMTczMlkzMzgzNDNEMDEqDQorWDMwMjAwN1kzMzgxNzVEMDEqDQorWDMwMjMwNlkzMzgwNTFEMDEqDQorWDMwMjYxOVkzMzc5NzZEMDEqDQorWDMwMjk0MVkzMzc5NTFEMDEqDQorWDMwMzI2M1kzMzc5NzZEMDEqDQorWDMwMzM2MlkzMzgwMDBEMDEqDQorWTMzMjA1NkQwMSoNCitYMzAzMDQzWTMzMjAzMUQwMSoNCitYMzAyNzMwWTMzMTk1NkQwMSoNCitYMzAyNDMxWTMzMTgzMkQwMSoNCitYMzAyMTU2WTMzMTY2NEQwMSoNCitYMzAxOTExWTMzMTQ1NEQwMSoNCitYMzAxNzAxWTMzMTIwOUQwMSoNCitYMzAxNTMzWTMzMDkzNEQwMSoNCitYMzAxNDA5WTMzMDYzNUQwMSoNCitYMzAxMzM0WTMzMDMyMkQwMSoNCitYMzAxMzA5WTMzMDAwMEQwMSoNCitYMzAxMzM0WTMyOTY3OEQwMSoNCitYMzAxNDA5WTMyOTM2NUQwMSoNCitYMzAxNTMzWTMyOTA2NkQwMSoNCitYMzAxNzAxWTMyODc5MUQwMSoNCitYMzAxOTExWTMyODU0NkQwMSoNCitYMzAyMTU2WTMyODMzNkQwMSoNCitYMzAyNDMxWTMyODE2OEQwMSoNCitYMzAyNzMwWTMyODA0NEQwMSoNCitYMzAzMDQzWTMyNzk2OUQwMSoNCitYMzAzMzYyWTMyNzk0NEQwMSoNCitZMjExNzgxRDAxKg0KK1gzMDMyNDVZMjExNjQ0RDAxKg0KK1gzMDMwOTdZMjExNDAzRDAxKg0KK1gzMDI5ODlZMjExMTQxRDAxKg0KK1gzMDI5MjNZMjEwODY1RDAxKg0KK1gzMDI5MDBZMjEwNTgzRDAxKg0KK1gzMDI5MjNZMjEwMzAxRDAxKg0KK1gzMDI5ODlZMjEwMDI1RDAxKg0KK1gzMDMwOTdZMjA5NzYzRDAxKg0KK1gzMDMyNDVZMjA5NTIyRDAxKg0KK1gzMDMzNjJZMjA5Mzg1RDAxKg0KK1kyMDg4MDZEMDEqDQorWDMwMzMwN1kyMDg3NjBEMDEqDQorWDMwMzEyM1kyMDg1NDREMDEqDQorWDMwMjk3NVkyMDgzMDNEMDEqDQorWDMwMjg2N1kyMDgwNDFEMDEqDQorWDMwMjgwMVkyMDc3NjVEMDEqDQorWDMwMjc3OFkyMDc0ODNEMDEqDQorWDMwMjgwMVkyMDcyMDFEMDEqDQorWDMwMjg2N1kyMDY5MjVEMDEqDQorWDMwMjk3NVkyMDY2NjNEMDEqDQorWDMwMzEyM1kyMDY0MjJEMDEqDQorWDMwMzMwN1kyMDYyMDZEMDEqDQorWDMwMzM2MlkyMDYxNjBEMDEqDQorWTE4ODM3OUQwMSoNCitYMzAzMjY0WTE4ODMxOUQwMSoNCitYMzAyNzQ5WTE4Nzg3OUQwMSoNCitYMzAyMzA5WTE4NzM2NEQwMSoNCitYMzAxOTU2WTE4Njc4N0QwMSoNCitYMzAxNjk3WTE4NjE2MkQwMSoNCitYMzAxNTM5WTE4NTUwNEQwMSoNCitYMzAxNDg2WTE4NDgyOUQwMSoNCitYMzAxNTM5WTE4NDE1NEQwMSoNCitYMzAxNjk3WTE4MzQ5NkQwMSoNCitYMzAxOTU2WTE4Mjg3MUQwMSoNCitYMzAyMzA5WTE4MjI5NEQwMSoNCitYMzAyNzQ5WTE4MTc3OUQwMSoNCitYMzAzMjY0WTE4MTMzOUQwMSoNCitYMzAzMzYyWTE4MTI3OUQwMSoNCitZMTc4Mzc5RDAxKg0KK0czNyoNCitHMzYqDQorWDI5Njc3NlkzNzkwMTdEMDIqWDI5NjQ3NFkzNzkwODlEMDEqDQorWDI5NTc5OVkzNzkxNDJEMDEqDQorWDI5NTEyNFkzNzkwODlEMDEqDQorWDI5NDQ2NlkzNzg5MzFEMDEqDQorWDI5Mzg5OVkzNzg2OTZEMDEqDQorWTM5NzAwMEQwMSoNCitYMjk2Nzc2RDAxKg0KK1kzNzkwMTdEMDEqDQorRzM3Kg0KK0czNioNCitZMzY5MDE3RDAyKlgyOTY0NzRZMzY5MDg5RDAxKg0KK1gyOTU3OTlZMzY5MTQyRDAxKg0KK1gyOTUxMjRZMzY5MDg5RDAxKg0KK1gyOTQ0NjZZMzY4OTMxRDAxKg0KK1gyOTM4OTlZMzY4Njk2RDAxKg0KK1kzNzA5NjJEMDEqDQorWDI5NDQ2NlkzNzA3MjdEMDEqDQorWDI5NTEyNFkzNzA1NjlEMDEqDQorWDI5NTc5OVkzNzA1MTZEMDEqDQorWDI5NjQ3NFkzNzA1NjlEMDEqDQorWDI5Njc3NlkzNzA2NDFEMDEqDQorWTM2OTAxN0QwMSoNCitHMzcqDQorRzM2Kg0KK1kyNDU0OTlEMDIqWDI5NjU3MlkyNDU1ODREMDEqDQorWDI5NjI1OVkyNDU2NTlEMDEqDQorWDI5NTkzN1kyNDU2ODREMDEqDQorWDI5NTYxNVkyNDU2NTlEMDEqDQorWDI5NTMwMlkyNDU1ODREMDEqDQorWDI5NTAwM1kyNDU0NjBEMDEqDQorWDI5NDcyOFkyNDUyOTJEMDEqDQorWDI5NDQ4M1kyNDUwODJEMDEqDQorWDI5NDI3M1kyNDQ4MzdEMDEqDQorWDI5NDEwNVkyNDQ1NjJEMDEqDQorWDI5Mzk4MVkyNDQyNjNEMDEqDQorWDI5MzkwNlkyNDM5NTBEMDEqDQorWDI5Mzg5OVkyNDM4NTlEMDEqDQorWTI4MDIwN0QwMSoNCitYMjkzOTAyWTI4MDIwN0QwMSoNCitYMjk0MjI0WTI4MDIzMkQwMSoNCitYMjk0NTM3WTI4MDMwN0QwMSoNCitYMjk0ODM2WTI4MDQzMUQwMSoNCitYMjk1MTExWTI4MDU5OUQwMSoNCitYMjk1MzU2WTI4MDgwOUQwMSoNCitYMjk1NTY2WTI4MTA1NEQwMSoNCitYMjk1NzM0WTI4MTMyOUQwMSoNCitYMjk1ODU4WTI4MTYyOEQwMSoNCitYMjk1OTMzWTI4MTk0MUQwMSoNCitYMjk1OTUyWTI4MjI2M0QwMSoNCitYMjk1OTMzWTI4MjU4NUQwMSoNCitYMjk1ODU4WTI4Mjg5OEQwMSoNCitYMjk1NzM0WTI4MzE5N0QwMSoNCitYMjk1NTY2WTI4MzQ3MkQwMSoNCitYMjk1MzU2WTI4MzcxN0QwMSoNCitYMjk1MTExWTI4MzkyN0QwMSoNCitYMjk0ODM2WTI4NDA5NUQwMSoNCitYMjk0NTM3WTI4NDIxOUQwMSoNCitYMjk0MjI0WTI4NDI5NEQwMSoNCitYMjkzOTAyWTI4NDMxOUQwMSoNCitYMjkzODk5WTI4NDMxOUQwMSoNCitZMzYwOTYyRDAxKg0KK1gyOTQ0NjZZMzYwNzI3RDAxKg0KK1gyOTUxMjRZMzYwNTY5RDAxKg0KK1gyOTU3OTlZMzYwNTE2RDAxKg0KK1gyOTY0NzRZMzYwNTY5RDAxKg0KK1gyOTY3NzZZMzYwNjQxRDAxKg0KK1kzMDcwMTlEMDEqDQorWDI5NjQ1N1kzMDY5OTREMDEqDQorWDI5NjE0NFkzMDY5MTlEMDEqDQorWDI5NTg0NVkzMDY3OTVEMDEqDQorWDI5NTU3MFkzMDY2MjdEMDEqDQorWDI5NTMyNVkzMDY0MTdEMDEqDQorWDI5NTExNVkzMDYxNzJEMDEqDQorWDI5NDk0N1kzMDU4OTdEMDEqDQorWDI5NDgyM1kzMDU1OThEMDEqDQorWDI5NDc0OFkzMDUyODVEMDEqDQorWDI5NDcyM1kzMDQ5NjNEMDEqDQorWDI5NDc0OFkzMDQ2NDFEMDEqDQorWDI5NDgyM1kzMDQzMjhEMDEqDQorWDI5NDk0N1kzMDQwMjlEMDEqDQorWDI5NTExNVkzMDM3NTREMDEqDQorWDI5NTMyNVkzMDM1MDlEMDEqDQorWDI5NTU3MFkzMDMyOTlEMDEqDQorWDI5NTg0NVkzMDMxMzFEMDEqDQorWDI5NjE0NFkzMDMwMDdEMDEqDQorWDI5NjQ1N1kzMDI5MzJEMDEqDQorWDI5Njc3NlkzMDI5MDdEMDEqDQorWTI1ODI3OUQwMSoNCitYMjk2NzI3WTI1ODI4M0QwMSoNCitYMjk2NDA1WTI1ODI1OEQwMSoNCitYMjk2MDkyWTI1ODE4M0QwMSoNCitYMjk1NzkzWTI1ODA1OUQwMSoNCitYMjk1NTE4WTI1Nzg5MUQwMSoNCitYMjk1MjczWTI1NzY4MUQwMSoNCitYMjk1MDYzWTI1NzQzNkQwMSoNCitYMjk0ODk1WTI1NzE2MUQwMSoNCitYMjk0NzcxWTI1Njg2MkQwMSoNCitYMjk0Njk2WTI1NjU0OUQwMSoNCitYMjk0NjcxWTI1NjIyN0QwMSoNCitYMjk0Njk2WTI1NTkwNUQwMSoNCitYMjk0NzcxWTI1NTU5MkQwMSoNCitYMjk0ODk1WTI1NTI5M0QwMSoNCitYMjk1MDYzWTI1NTAxOEQwMSoNCitYMjk1MjczWTI1NDc3M0QwMSoNCitYMjk1NTE4WTI1NDU2M0QwMSoNCitYMjk1NzkzWTI1NDM5NUQwMSoNCitYMjk2MDkyWTI1NDI3MUQwMSoNCitYMjk2NDA1WTI1NDE5NkQwMSoNCitYMjk2NzI3WTI1NDE3MUQwMSoNCitYMjk2Nzc2WTI1NDE3NUQwMSoNCitZMjQ1NDk5RDAxKg0KK0czNyoNCitHMzYqDQorWTE4OTAxN0QwMipYMjk2NDc0WTE4OTA4OUQwMSoNCitYMjk1Nzk5WTE4OTE0MkQwMSoNCitYMjk1MTI0WTE4OTA4OUQwMSoNCitYMjk0NDY2WTE4ODkzMUQwMSoNCitYMjkzODk5WTE4ODY5NkQwMSoNCitZMjQzMzk3RDAxKg0KK1gyOTM5MDZZMjQzMzA2RDAxKg0KK1gyOTM5ODFZMjQyOTkzRDAxKg0KK1gyOTQxMDVZMjQyNjk0RDAxKg0KK1gyOTQyNzNZMjQyNDE5RDAxKg0KK1gyOTQ0ODNZMjQyMTc0RDAxKg0KK1gyOTQ3MjhZMjQxOTY0RDAxKg0KK1gyOTUwMDNZMjQxNzk2RDAxKg0KK1gyOTUzMDJZMjQxNjcyRDAxKg0KK1gyOTU2MTVZMjQxNTk3RDAxKg0KK1gyOTU5MzdZMjQxNTcyRDAxKg0KK1gyOTYyNTlZMjQxNTk3RDAxKg0KK1gyOTY1NzJZMjQxNjcyRDAxKg0KK1gyOTY3NzZZMjQxNzU3RDAxKg0KK1kxODkwMTdEMDEqDQorRzM3Kg0KK0czNioNCitZMTc5MDE3RDAyKlgyOTY0NzRZMTc5MDg5RDAxKg0KK1gyOTU3OTlZMTc5MTQyRDAxKg0KK1gyOTUxMjRZMTc5MDg5RDAxKg0KK1gyOTQ0NjZZMTc4OTMxRDAxKg0KK1gyOTM4OTlZMTc4Njk2RDAxKg0KK1kxODA5NjJEMDEqDQorWDI5NDQ2NlkxODA3MjdEMDEqDQorWDI5NTEyNFkxODA1NjlEMDEqDQorWDI5NTc5OVkxODA1MTZEMDEqDQorWDI5NjQ3NFkxODA1NjlEMDEqDQorWDI5Njc3NlkxODA2NDFEMDEqDQorWTE3OTAxN0QwMSoNCitHMzcqDQorRzM2Kg0KK1gyOTM4OTlZMTc4Njk2RDAyKlgyOTM4NDFZMTc4NjcyRDAxKg0KK1gyOTMyNjRZMTc4MzE5RDAxKg0KK1gyOTI3NDlZMTc3ODc5RDAxKg0KK1gyOTIzMDlZMTc3MzY0RDAxKg0KK1gyOTE5NTZZMTc2Nzg3RDAxKg0KK1gyOTE2OTdZMTc2MTYyRDAxKg0KK1gyOTE1MzlZMTc1NTA0RDAxKg0KK1gyOTE0ODZZMTc0ODI5RDAxKg0KK1gyOTE1MzlZMTc0MTU0RDAxKg0KK1gyOTE2OTdZMTczNDk2RDAxKg0KK1gyOTE5NTZZMTcyODcxRDAxKg0KK1gyOTIzMDlZMTcyMjk0RDAxKg0KK1gyOTI3NDlZMTcxNzc5RDAxKg0KK1gyOTMwNzZZMTcxNTAwRDAxKg0KK1gyODg1MjJEMDEqDQorWDI4ODg0OVkxNzE3NzlEMDEqDQorWDI4OTI4OVkxNzIyOTREMDEqDQorWDI4OTY0MlkxNzI4NzFEMDEqDQorWDI4OTkwMVkxNzM0OTZEMDEqDQorWDI5MDA1OVkxNzQxNTREMDEqDQorWDI5MDA5OVkxNzQ4MjlEMDEqDQorWDI5MDA1OVkxNzU1MDREMDEqDQorWDI4OTkwMVkxNzYxNjJEMDEqDQorWDI4OTY0MlkxNzY3ODdEMDEqDQorWDI4OTI4OVkxNzczNjREMDEqDQorWDI4ODg0OVkxNzc4NzlEMDEqDQorWDI4ODMzNFkxNzgzMTlEMDEqDQorWDI4NzkxNFkxNzg1NzZEMDEqDQorWTE4MTA4MkQwMSoNCitYMjg4MzM0WTE4MTMzOUQwMSoNCitYMjg4ODQ5WTE4MTc3OUQwMSoNCitYMjg5Mjg5WTE4MjI5NEQwMSoNCitYMjg5NjQyWTE4Mjg3MUQwMSoNCitYMjg5OTAxWTE4MzQ5NkQwMSoNCitYMjkwMDU5WTE4NDE1NEQwMSoNCitYMjkwMDk5WTE4NDgyOUQwMSoNCitYMjkwMDU5WTE4NTUwNEQwMSoNCitYMjg5OTAxWTE4NjE2MkQwMSoNCitYMjg5NjQyWTE4Njc4N0QwMSoNCitYMjg5Mjg5WTE4NzM2NEQwMSoNCitYMjg4ODQ5WTE4Nzg3OUQwMSoNCitYMjg4MzM0WTE4ODMxOUQwMSoNCitYMjg3OTE0WTE4ODU3NkQwMSoNCitZMzA1NzczRDAxKg0KK1gyODc5MTdZMzA1NzczRDAxKg0KK1gyODgyMzlZMzA1Nzk4RDAxKg0KK1gyODg1NTJZMzA1ODczRDAxKg0KK1gyODg4NTFZMzA1OTk3RDAxKg0KK1gyODkxMjZZMzA2MTY1RDAxKg0KK1gyODkzNzFZMzA2Mzc1RDAxKg0KK1gyODk1ODFZMzA2NjIwRDAxKg0KK1gyODk3NDlZMzA2ODk1RDAxKg0KK1gyODk4NzNZMzA3MTk0RDAxKg0KK1gyODk5NDhZMzA3NTA3RDAxKg0KK1gyODk5NjdZMzA3ODI5RDAxKg0KK1gyODk5NDhZMzA4MTUxRDAxKg0KK1gyODk4NzNZMzA4NDY0RDAxKg0KK1gyODk3NDlZMzA4NzYzRDAxKg0KK1gyODk1ODFZMzA5MDM4RDAxKg0KK1gyODkzNzFZMzA5MjgzRDAxKg0KK1gyODkxMjZZMzA5NDkzRDAxKg0KK1gyODg4NTFZMzA5NjYxRDAxKg0KK1gyODg1NTJZMzA5Nzg1RDAxKg0KK1gyODgyMzlZMzA5ODYwRDAxKg0KK1gyODc5MTdZMzA5ODg1RDAxKg0KK1gyODc5MTRZMzA5ODg1RDAxKg0KK1kzNjEwODJEMDEqDQorWDI4ODMzNFkzNjEzMzlEMDEqDQorWDI4ODg0OVkzNjE3NzlEMDEqDQorWDI4OTI4OVkzNjIyOTREMDEqDQorWDI4OTY0MlkzNjI4NzFEMDEqDQorWDI4OTkwMVkzNjM0OTZEMDEqDQorWDI5MDA1OVkzNjQxNTREMDEqDQorWDI5MDA5OVkzNjQ4MjlEMDEqDQorWDI5MDA1OVkzNjU1MDREMDEqDQorWDI4OTkwMVkzNjYxNjJEMDEqDQorWDI4OTY0MlkzNjY3ODdEMDEqDQorWDI4OTI4OVkzNjczNjREMDEqDQorWDI4ODg0OVkzNjc4NzlEMDEqDQorWDI4ODMzNFkzNjgzMTlEMDEqDQorWDI4NzkxNFkzNjg1NzZEMDEqDQorWTM3MTA4MkQwMSoNCitYMjg4MzM0WTM3MTMzOUQwMSoNCitYMjg4ODQ5WTM3MTc3OUQwMSoNCitYMjg5Mjg5WTM3MjI5NEQwMSoNCitYMjg5NjQyWTM3Mjg3MUQwMSoNCitYMjg5OTAxWTM3MzQ5NkQwMSoNCitYMjkwMDU5WTM3NDE1NEQwMSoNCitYMjkwMDk5WTM3NDgyOUQwMSoNCitYMjkwMDU5WTM3NTUwNEQwMSoNCitYMjg5OTAxWTM3NjE2MkQwMSoNCitYMjg5NjQyWTM3Njc4N0QwMSoNCitYMjg5Mjg5WTM3NzM2NEQwMSoNCitYMjg4ODQ5WTM3Nzg3OUQwMSoNCitYMjg4MzM0WTM3ODMxOUQwMSoNCitYMjg3OTE0WTM3ODU3NkQwMSoNCitZMzk3MDAwRDAxKg0KK1gyOTM4OTlEMDEqDQorWTM3ODY5NkQwMSoNCitYMjkzODQxWTM3ODY3MkQwMSoNCitYMjkzMjY0WTM3ODMxOUQwMSoNCitYMjkyNzQ5WTM3Nzg3OUQwMSoNCitYMjkyMzA5WTM3NzM2NEQwMSoNCitYMjkxOTU2WTM3Njc4N0QwMSoNCitYMjkxNjk3WTM3NjE2MkQwMSoNCitYMjkxNTM5WTM3NTUwNEQwMSoNCitYMjkxNDg2WTM3NDgyOUQwMSoNCitYMjkxNTM5WTM3NDE1NEQwMSoNCitYMjkxNjk3WTM3MzQ5NkQwMSoNCitYMjkxOTU2WTM3Mjg3MUQwMSoNCitYMjkyMzA5WTM3MjI5NEQwMSoNCitYMjkyNzQ5WTM3MTc3OUQwMSoNCitYMjkzMjY0WTM3MTMzOUQwMSoNCitYMjkzODQxWTM3MDk4NkQwMSoNCitYMjkzODk5WTM3MDk2MkQwMSoNCitZMzY4Njk2RDAxKg0KK1gyOTM4NDFZMzY4NjcyRDAxKg0KK1gyOTMyNjRZMzY4MzE5RDAxKg0KK1gyOTI3NDlZMzY3ODc5RDAxKg0KK1gyOTIzMDlZMzY3MzY0RDAxKg0KK1gyOTE5NTZZMzY2Nzg3RDAxKg0KK1gyOTE2OTdZMzY2MTYyRDAxKg0KK1gyOTE1MzlZMzY1NTA0RDAxKg0KK1gyOTE0ODZZMzY0ODI5RDAxKg0KK1gyOTE1MzlZMzY0MTU0RDAxKg0KK1gyOTE2OTdZMzYzNDk2RDAxKg0KK1gyOTE5NTZZMzYyODcxRDAxKg0KK1gyOTIzMDlZMzYyMjk0RDAxKg0KK1gyOTI3NDlZMzYxNzc5RDAxKg0KK1gyOTMyNjRZMzYxMzM5RDAxKg0KK1gyOTM4NDFZMzYwOTg2RDAxKg0KK1gyOTM4OTlZMzYwOTYyRDAxKg0KK1kyODQzMTlEMDEqDQorWDI5MzU4MFkyODQyOTREMDEqDQorWDI5MzI2N1kyODQyMTlEMDEqDQorWDI5Mjk2OFkyODQwOTVEMDEqDQorWDI5MjY5M1kyODM5MjdEMDEqDQorWDI5MjQ0OFkyODM3MTdEMDEqDQorWDI5MjIzOFkyODM0NzJEMDEqDQorWDI5MjA3MFkyODMxOTdEMDEqDQorWDI5MTk0NlkyODI4OThEMDEqDQorWDI5MTg3MVkyODI1ODVEMDEqDQorWDI5MTg0NlkyODIyNjNEMDEqDQorWDI5MTg3MVkyODE5NDFEMDEqDQorWDI5MTk0NlkyODE2MjhEMDEqDQorWDI5MjA3MFkyODEzMjlEMDEqDQorWDI5MjIzOFkyODEwNTREMDEqDQorWDI5MjQ0OFkyODA4MDlEMDEqDQorWDI5MjY5M1kyODA1OTlEMDEqDQorWDI5Mjk2OFkyODA0MzFEMDEqDQorWDI5MzI2N1kyODAzMDdEMDEqDQorWDI5MzU4MFkyODAyMzJEMDEqDQorWDI5Mzg5OVkyODAyMDdEMDEqDQorWTI0Mzg1OUQwMSoNCitYMjkzODgxWTI0MzYyOEQwMSoNCitYMjkzODk5WTI0MzM5N0QwMSoNCitZMTg4Njk2RDAxKg0KK1gyOTM4NDFZMTg4NjcyRDAxKg0KK1gyOTMyNjRZMTg4MzE5RDAxKg0KK1gyOTI3NDlZMTg3ODc5RDAxKg0KK1gyOTIzMDlZMTg3MzY0RDAxKg0KK1gyOTE5NTZZMTg2Nzg3RDAxKg0KK1gyOTE2OTdZMTg2MTYyRDAxKg0KK1gyOTE1MzlZMTg1NTA0RDAxKg0KK1gyOTE0ODZZMTg0ODI5RDAxKg0KK1gyOTE1MzlZMTg0MTU0RDAxKg0KK1gyOTE2OTdZMTgzNDk2RDAxKg0KK1gyOTE5NTZZMTgyODcxRDAxKg0KK1gyOTIzMDlZMTgyMjk0RDAxKg0KK1gyOTI3NDlZMTgxNzc5RDAxKg0KK1gyOTMyNjRZMTgxMzM5RDAxKg0KK1gyOTM4NDFZMTgwOTg2RDAxKg0KK1gyOTM4OTlZMTgwOTYyRDAxKg0KK1kxNzg2OTZEMDEqDQorRzM3Kg0KK0czNioNCitYMjg1NDI3WTM2MDU0NUQwMipYMjg1Nzk5WTM2MDUxNkQwMSoNCitYMjg2NDc0WTM2MDU2OUQwMSoNCitYMjg3MTMyWTM2MDcyN0QwMSoNCitYMjg3NzU3WTM2MDk4NkQwMSoNCitYMjg3OTE0WTM2MTA4MkQwMSoNCitZMzA5ODg1RDAxKg0KK1gyODc1OTVZMzA5ODYwRDAxKg0KK1gyODcyODJZMzA5Nzg1RDAxKg0KK1gyODY5ODNZMzA5NjYxRDAxKg0KK1gyODY3MDhZMzA5NDkzRDAxKg0KK1gyODY0NjNZMzA5MjgzRDAxKg0KK1gyODYyNTNZMzA5MDM4RDAxKg0KK1gyODYwODVZMzA4NzYzRDAxKg0KK1gyODU5NjFZMzA4NDY0RDAxKg0KK1gyODU4ODZZMzA4MTUxRDAxKg0KK1gyODU4NjFZMzA3ODI5RDAxKg0KK1gyODU4ODZZMzA3NTA3RDAxKg0KK1gyODU5NjFZMzA3MTk0RDAxKg0KK1gyODYwODVZMzA2ODk1RDAxKg0KK1gyODYyNTNZMzA2NjIwRDAxKg0KK1gyODY0NjNZMzA2Mzc1RDAxKg0KK1gyODY3MDhZMzA2MTY1RDAxKg0KK1gyODY5ODNZMzA1OTk3RDAxKg0KK1gyODcyODJZMzA1ODczRDAxKg0KK1gyODc1OTVZMzA1Nzk4RDAxKg0KK1gyODc5MTRZMzA1NzczRDAxKg0KK1kxODg1NzZEMDEqDQorWDI4Nzc1N1kxODg2NzJEMDEqDQorWDI4NzEzMlkxODg5MzFEMDEqDQorWDI4NjQ3NFkxODkwODlEMDEqDQorWDI4NTc5OVkxODkxNDJEMDEqDQorWDI4NTQyN1kxODkxMTNEMDEqDQorWTMyMjk0NEQwMSoNCitYMjg1NDMwWTMyMjk0NEQwMSoNCitYMjg1NzUyWTMyMjk2OUQwMSoNCitYMjg2MDY1WTMyMzA0NEQwMSoNCitYMjg2MzY0WTMyMzE2OEQwMSoNCitYMjg2NjM5WTMyMzMzNkQwMSoNCitYMjg2ODg0WTMyMzU0NkQwMSoNCitYMjg3MDk0WTMyMzc5MUQwMSoNCitYMjg3MjYyWTMyNDA2NkQwMSoNCitYMjg3Mzg2WTMyNDM2NUQwMSoNCitYMjg3NDYxWTMyNDY3OEQwMSoNCitYMjg3NDgwWTMyNTAwMEQwMSoNCitYMjg3NDYxWTMyNTMyMkQwMSoNCitYMjg3Mzg2WTMyNTYzNUQwMSoNCitYMjg3MjYyWTMyNTkzNEQwMSoNCitYMjg3MDk0WTMyNjIwOUQwMSoNCitYMjg2ODg0WTMyNjQ1NEQwMSoNCitYMjg2NjM5WTMyNjY2NEQwMSoNCitYMjg2MzY0WTMyNjgzMkQwMSoNCitYMjg2MDY1WTMyNjk1NkQwMSoNCitYMjg1NzUyWTMyNzAzMUQwMSoNCitYMjg1NDMwWTMyNzA1NkQwMSoNCitYMjg1NDI3WTMyNzA1NkQwMSoNCitZMzYwNTQ1RDAxKg0KK0czNyoNCitHMzYqDQorWTM3MDU0NUQwMipYMjg1Nzk5WTM3MDUxNkQwMSoNCitYMjg2NDc0WTM3MDU2OUQwMSoNCitYMjg3MTMyWTM3MDcyN0QwMSoNCitYMjg3NzU3WTM3MDk4NkQwMSoNCitYMjg3OTE0WTM3MTA4MkQwMSoNCitZMzY4NTc2RDAxKg0KK1gyODc3NTdZMzY4NjcyRDAxKg0KK1gyODcxMzJZMzY4OTMxRDAxKg0KK1gyODY0NzRZMzY5MDg5RDAxKg0KK1gyODU3OTlZMzY5MTQyRDAxKg0KK1gyODU0MjdZMzY5MTEzRDAxKg0KK1kzNzA1NDVEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyODc5MTREMDEqDQorWTM3ODU3NkQwMSoNCitYMjg3NzU3WTM3ODY3MkQwMSoNCitYMjg3MTMyWTM3ODkzMUQwMSoNCitYMjg2NDc0WTM3OTA4OUQwMSoNCitYMjg1Nzk5WTM3OTE0MkQwMSoNCitYMjg1NDI3WTM3OTExM0QwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI4NzkxNFkxNzg1NzZEMDIqWDI4Nzc1N1kxNzg2NzJEMDEqDQorWDI4NzEzMlkxNzg5MzFEMDEqDQorWDI4NjQ3NFkxNzkwODlEMDEqDQorWDI4NTc5OVkxNzkxNDJEMDEqDQorWDI4NTQyN1kxNzkxMTNEMDEqDQorWTE4MDU0NUQwMSoNCitYMjg1Nzk5WTE4MDUxNkQwMSoNCitYMjg2NDc0WTE4MDU2OUQwMSoNCitYMjg3MTMyWTE4MDcyN0QwMSoNCitYMjg3NzU3WTE4MDk4NkQwMSoNCitYMjg3OTE0WTE4MTA4MkQwMSoNCitZMTc4NTc2RDAxKg0KK0czNyoNCitHMzYqDQorWDI2Mjc0N1kxNzE3ODJEMDIqWDI2Mjc0OVkxNzE3NzlEMDEqDQorWDI2MzA3NlkxNzE1MDBEMDEqDQorWDI2Mjc0N0QwMSoNCitZMTcxNzgyRDAxKg0KK0czNyoNCitHMzYqDQorWDI4NTQyN1kxNzkxMTNEMDIqWDI4NTEyNFkxNzkwODlEMDEqDQorWDI4NDQ2NlkxNzg5MzFEMDEqDQorWDI4Mzg0MVkxNzg2NzJEMDEqDQorWDI4MzI2NFkxNzgzMTlEMDEqDQorWDI4Mjc0OVkxNzc4NzlEMDEqDQorWDI4MjMwOVkxNzczNjREMDEqDQorWDI4MTk1NlkxNzY3ODdEMDEqDQorWDI4MTY5N1kxNzYxNjJEMDEqDQorWDI4MTUzOVkxNzU1MDREMDEqDQorWDI4MTQ4NlkxNzQ4MjlEMDEqDQorWDI4MTUzOVkxNzQxNTREMDEqDQorWDI4MTY5N1kxNzM0OTZEMDEqDQorWDI4MTk1NlkxNzI4NzFEMDEqDQorWDI4MjMwOVkxNzIyOTREMDEqDQorWDI4Mjc0OVkxNzE3NzlEMDEqDQorWDI4MzA3NlkxNzE1MDBEMDEqDQorWDI3ODUyMkQwMSoNCitYMjc4ODQ5WTE3MTc3OUQwMSoNCitYMjc5Mjg5WTE3MjI5NEQwMSoNCitYMjc5NjQyWTE3Mjg3MUQwMSoNCitYMjc5OTAxWTE3MzQ5NkQwMSoNCitYMjgwMDU5WTE3NDE1NEQwMSoNCitYMjgwMDk5WTE3NDgyOUQwMSoNCitYMjgwMDU5WTE3NTUwNEQwMSoNCitYMjc5OTAxWTE3NjE2MkQwMSoNCitYMjc5NjQyWTE3Njc4N0QwMSoNCitYMjc5Mjg5WTE3NzM2NEQwMSoNCitYMjc4ODQ5WTE3Nzg3OUQwMSoNCitYMjc4MzM0WTE3ODMxOUQwMSoNCitYMjc4MjIyWTE3ODM4N0QwMSoNCitZMTgxMjcxRDAxKg0KK1gyNzgzMzRZMTgxMzM5RDAxKg0KK1gyNzg4NDlZMTgxNzc5RDAxKg0KK1gyNzkyODlZMTgyMjk0RDAxKg0KK1gyNzk2NDJZMTgyODcxRDAxKg0KK1gyNzk5MDFZMTgzNDk2RDAxKg0KK1gyODAwNTlZMTg0MTU0RDAxKg0KK1gyODAwOTlZMTg0ODI5RDAxKg0KK1gyODAwNTlZMTg1NTA0RDAxKg0KK1gyNzk5MDFZMTg2MTYyRDAxKg0KK1gyNzk2NDJZMTg2Nzg3RDAxKg0KK1gyNzkyODlZMTg3MzY0RDAxKg0KK1gyNzg4NDlZMTg3ODc5RDAxKg0KK1gyNzgzMzRZMTg4MzE5RDAxKg0KK1gyNzgyMjJZMTg4Mzg3RDAxKg0KK1kyNzc1NDZEMDEqDQorWDI3ODIyNVkyNzc1NDZEMDEqDQorWDI3ODU0N1kyNzc1NzFEMDEqDQorWDI3ODg2MFkyNzc2NDZEMDEqDQorWDI3OTE1OVkyNzc3NzBEMDEqDQorWDI3OTQzNFkyNzc5MzhEMDEqDQorWDI3OTY3OVkyNzgxNDhEMDEqDQorWDI3OTg4OVkyNzgzOTNEMDEqDQorWDI4MDA1N1kyNzg2NjhEMDEqDQorWDI4MDE4MVkyNzg5NjdEMDEqDQorWDI4MDI1NlkyNzkyODBEMDEqDQorWDI4MDI3NVkyNzk2MDJEMDEqDQorWDI4MDI1NlkyNzk5MjREMDEqDQorWDI4MDE4MVkyODAyMzdEMDEqDQorWDI4MDA1N1kyODA1MzZEMDEqDQorWDI3OTg4OVkyODA4MTFEMDEqDQorWDI3OTY3OVkyODEwNTZEMDEqDQorWDI3OTQzNFkyODEyNjZEMDEqDQorWDI3OTE1OVkyODE0MzREMDEqDQorWDI3ODg2MFkyODE1NThEMDEqDQorWDI3ODU0N1kyODE2MzNEMDEqDQorWDI3ODIyNVkyODE2NThEMDEqDQorWDI3ODIyMlkyODE2NThEMDEqDQorWTI4MzY3NEQwMSoNCitYMjc4MzgwWTI4MzUzOUQwMSoNCitYMjc4NjIxWTI4MzM5MUQwMSoNCitYMjc4ODgzWTI4MzI4M0QwMSoNCitYMjc5MTU5WTI4MzIxN0QwMSoNCitYMjc5NDQxWTI4MzE5NEQwMSoNCitYMjc5NzIzWTI4MzIxN0QwMSoNCitYMjc5OTk5WTI4MzI4M0QwMSoNCitYMjgwMjYxWTI4MzM5MUQwMSoNCitYMjgwNTAyWTI4MzUzOUQwMSoNCitYMjgwNzE4WTI4MzcyM0QwMSoNCitYMjgwOTAyWTI4MzkzOUQwMSoNCitYMjgxMDUwWTI4NDE4MEQwMSoNCitYMjgxMTU4WTI4NDQ0MkQwMSoNCitYMjgxMjI0WTI4NDcxOEQwMSoNCitYMjgxMjQxWTI4NTAwMEQwMSoNCitYMjgxMjI0WTI4NTI4MkQwMSoNCitYMjgxMTU4WTI4NTU1OEQwMSoNCitYMjgxMDUwWTI4NTgyMEQwMSoNCitYMjgwOTAyWTI4NjA2MUQwMSoNCitYMjgwNzE4WTI4NjI3N0QwMSoNCitYMjgwNTAyWTI4NjQ2MUQwMSoNCitYMjgwMjYxWTI4NjYwOUQwMSoNCitYMjc5OTk5WTI4NjcxN0QwMSoNCitYMjc5NzIzWTI4Njc4M0QwMSoNCitYMjc5NDQxWTI4NjgwNkQwMSoNCitYMjc5MTU5WTI4Njc4M0QwMSoNCitYMjc4ODgzWTI4NjcxN0QwMSoNCitYMjc4NjIxWTI4NjYwOUQwMSoNCitYMjc4MzgwWTI4NjQ2MUQwMSoNCitYMjc4MjIyWTI4NjMyNkQwMSoNCitZMjk2NTU3RDAxKg0KK1gyNzg1MjlZMjk2NTgxRDAxKg0KK1gyNzg4NDJZMjk2NjU2RDAxKg0KK1gyNzkxNDFZMjk2NzgwRDAxKg0KK1gyNzk0MTZZMjk2OTQ4RDAxKg0KK1gyNzk2NjFZMjk3MTU4RDAxKg0KK1gyNzk4NzFZMjk3NDAzRDAxKg0KK1gyODAwMzlZMjk3Njc4RDAxKg0KK1gyODAxNjNZMjk3OTc3RDAxKg0KK1gyODAyMzhZMjk4MjkwRDAxKg0KK1gyODAyNTdZMjk4NjEyRDAxKg0KK1gyODAyMzhZMjk4OTM0RDAxKg0KK1gyODAxNjNZMjk5MjQ3RDAxKg0KK1gyODAwMzlZMjk5NTQ2RDAxKg0KK1gyNzk4NzFZMjk5ODIxRDAxKg0KK1gyNzk2NjFZMzAwMDY2RDAxKg0KK1gyNzk0MTZZMzAwMjc2RDAxKg0KK1gyNzkxNDFZMzAwNDQ0RDAxKg0KK1gyNzg4NDJZMzAwNTY4RDAxKg0KK1gyNzg1MjlZMzAwNjQzRDAxKg0KK1gyNzgyMjJZMzAwNjY3RDAxKg0KK1kzMDY0NTdEMDEqDQorWDI3ODM4M1kzMDY1NTVEMDEqDQorWDI3ODYyOFkzMDY3NjVEMDEqDQorWDI3ODgzOFkzMDcwMTBEMDEqDQorWDI3OTAwNlkzMDcyODVEMDEqDQorWDI3OTEzMFkzMDc1ODREMDEqDQorWDI3OTIwNVkzMDc4OTdEMDEqDQorWDI3OTIyNFkzMDgyMTlEMDEqDQorWDI3OTIwNVkzMDg1NDFEMDEqDQorWDI3OTEzMFkzMDg4NTREMDEqDQorWDI3OTAwNlkzMDkxNTNEMDEqDQorWDI3ODgzOFkzMDk0MjhEMDEqDQorWDI3ODYyOFkzMDk2NzNEMDEqDQorWDI3ODM4M1kzMDk4ODNEMDEqDQorWDI3ODIyMlkzMDk5ODFEMDEqDQorWTM0NTYwMUQwMSoNCitYMjc4MzgzWTM0NTY2OEQwMSoNCitYMjc4NjU4WTM0NTgzNkQwMSoNCitYMjc4OTAzWTM0NjA0NkQwMSoNCitYMjc5MTEzWTM0NjI5MUQwMSoNCitYMjc5MjgxWTM0NjU2NkQwMSoNCitYMjc5NDA1WTM0Njg2NUQwMSoNCitYMjc5NDgwWTM0NzE3OEQwMSoNCitYMjc5NDk5WTM0NzUwMEQwMSoNCitYMjc5NDgwWTM0NzgyMkQwMSoNCitYMjc5NDA1WTM0ODEzNUQwMSoNCitYMjc5MjgxWTM0ODQzNEQwMSoNCitYMjc5MTEzWTM0ODcwOUQwMSoNCitYMjc4OTAzWTM0ODk1NEQwMSoNCitYMjc4NjU4WTM0OTE2NEQwMSoNCitYMjc4MzgzWTM0OTMzMkQwMSoNCitYMjc4MjIyWTM0OTM5OUQwMSoNCitZMzYxMjcxRDAxKg0KK1gyNzgzMzRZMzYxMzM5RDAxKg0KK1gyNzg4NDlZMzYxNzc5RDAxKg0KK1gyNzkyODlZMzYyMjk0RDAxKg0KK1gyNzk2NDJZMzYyODcxRDAxKg0KK1gyNzk5MDFZMzYzNDk2RDAxKg0KK1gyODAwNTlZMzY0MTU0RDAxKg0KK1gyODAwOTlZMzY0ODI5RDAxKg0KK1gyODAwNTlZMzY1NTA0RDAxKg0KK1gyNzk5MDFZMzY2MTYyRDAxKg0KK1gyNzk2NDJZMzY2Nzg3RDAxKg0KK1gyNzkyODlZMzY3MzY0RDAxKg0KK1gyNzg4NDlZMzY3ODc5RDAxKg0KK1gyNzgzMzRZMzY4MzE5RDAxKg0KK1gyNzgyMjJZMzY4Mzg3RDAxKg0KK1kzNzEyNzFEMDEqDQorWDI3ODMzNFkzNzEzMzlEMDEqDQorWDI3ODg0OVkzNzE3NzlEMDEqDQorWDI3OTI4OVkzNzIyOTREMDEqDQorWDI3OTY0MlkzNzI4NzFEMDEqDQorWDI3OTkwMVkzNzM0OTZEMDEqDQorWDI4MDA1OVkzNzQxNTREMDEqDQorWDI4MDA5OVkzNzQ4MjlEMDEqDQorWDI4MDA1OVkzNzU1MDREMDEqDQorWDI3OTkwMVkzNzYxNjJEMDEqDQorWDI3OTY0MlkzNzY3ODdEMDEqDQorWDI3OTI4OVkzNzczNjREMDEqDQorWDI3ODg0OVkzNzc4NzlEMDEqDQorWDI3ODMzNFkzNzgzMTlEMDEqDQorWDI3ODIyMlkzNzgzODdEMDEqDQorWTM5NzAwMEQwMSoNCitYMjg1NDI3RDAxKg0KK1kzNzkxMTNEMDEqDQorWDI4NTEyNFkzNzkwODlEMDEqDQorWDI4NDQ2NlkzNzg5MzFEMDEqDQorWDI4Mzg0MVkzNzg2NzJEMDEqDQorWDI4MzI2NFkzNzgzMTlEMDEqDQorWDI4Mjc0OVkzNzc4NzlEMDEqDQorWDI4MjMwOVkzNzczNjREMDEqDQorWDI4MTk1NlkzNzY3ODdEMDEqDQorWDI4MTY5N1kzNzYxNjJEMDEqDQorWDI4MTUzOVkzNzU1MDREMDEqDQorWDI4MTQ4NlkzNzQ4MjlEMDEqDQorWDI4MTUzOVkzNzQxNTREMDEqDQorWDI4MTY5N1kzNzM0OTZEMDEqDQorWDI4MTk1NlkzNzI4NzFEMDEqDQorWDI4MjMwOVkzNzIyOTREMDEqDQorWDI4Mjc0OVkzNzE3NzlEMDEqDQorWDI4MzI2NFkzNzEzMzlEMDEqDQorWDI4Mzg0MVkzNzA5ODZEMDEqDQorWDI4NDQ2NlkzNzA3MjdEMDEqDQorWDI4NTEyNFkzNzA1NjlEMDEqDQorWDI4NTQyN1kzNzA1NDVEMDEqDQorWTM2OTExM0QwMSoNCitYMjg1MTI0WTM2OTA4OUQwMSoNCitYMjg0NDY2WTM2ODkzMUQwMSoNCitYMjgzODQxWTM2ODY3MkQwMSoNCitYMjgzMjY0WTM2ODMxOUQwMSoNCitYMjgyNzQ5WTM2Nzg3OUQwMSoNCitYMjgyMzA5WTM2NzM2NEQwMSoNCitYMjgxOTU2WTM2Njc4N0QwMSoNCitYMjgxNjk3WTM2NjE2MkQwMSoNCitYMjgxNTM5WTM2NTUwNEQwMSoNCitYMjgxNDg2WTM2NDgyOUQwMSoNCitYMjgxNTM5WTM2NDE1NEQwMSoNCitYMjgxNjk3WTM2MzQ5NkQwMSoNCitYMjgxOTU2WTM2Mjg3MUQwMSoNCitYMjgyMzA5WTM2MjI5NEQwMSoNCitYMjgyNzQ5WTM2MTc3OUQwMSoNCitYMjgzMjY0WTM2MTMzOUQwMSoNCitYMjgzODQxWTM2MDk4NkQwMSoNCitYMjg0NDY2WTM2MDcyN0QwMSoNCitYMjg1MTI0WTM2MDU2OUQwMSoNCitYMjg1NDI3WTM2MDU0NUQwMSoNCitZMzI3MDU2RDAxKg0KK1gyODUxMDhZMzI3MDMxRDAxKg0KK1gyODQ3OTVZMzI2OTU2RDAxKg0KK1gyODQ0OTZZMzI2ODMyRDAxKg0KK1gyODQyMjFZMzI2NjY0RDAxKg0KK1gyODM5NzZZMzI2NDU0RDAxKg0KK1gyODM3NjZZMzI2MjA5RDAxKg0KK1gyODM1OThZMzI1OTM0RDAxKg0KK1gyODM0NzRZMzI1NjM1RDAxKg0KK1gyODMzOTlZMzI1MzIyRDAxKg0KK1gyODMzNzRZMzI1MDAwRDAxKg0KK1gyODMzOTlZMzI0Njc4RDAxKg0KK1gyODM0NzRZMzI0MzY1RDAxKg0KK1gyODM1OThZMzI0MDY2RDAxKg0KK1gyODM3NjZZMzIzNzkxRDAxKg0KK1gyODM5NzZZMzIzNTQ2RDAxKg0KK1gyODQyMjFZMzIzMzM2RDAxKg0KK1gyODQ0OTZZMzIzMTY4RDAxKg0KK1gyODQ3OTVZMzIzMDQ0RDAxKg0KK1gyODUxMDhZMzIyOTY5RDAxKg0KK1gyODU0MjdZMzIyOTQ0RDAxKg0KK1kxODkxMTNEMDEqDQorWDI4NTEyNFkxODkwODlEMDEqDQorWDI4NDQ2NlkxODg5MzFEMDEqDQorWDI4Mzg0MVkxODg2NzJEMDEqDQorWDI4MzI2NFkxODgzMTlEMDEqDQorWDI4Mjc0OVkxODc4NzlEMDEqDQorWDI4MjMwOVkxODczNjREMDEqDQorWDI4MTk1NlkxODY3ODdEMDEqDQorWDI4MTY5N1kxODYxNjJEMDEqDQorWDI4MTUzOVkxODU1MDREMDEqDQorWDI4MTQ4NlkxODQ4MjlEMDEqDQorWDI4MTUzOVkxODQxNTREMDEqDQorWDI4MTY5N1kxODM0OTZEMDEqDQorWDI4MTk1NlkxODI4NzFEMDEqDQorWDI4MjMwOVkxODIyOTREMDEqDQorWDI4Mjc0OVkxODE3NzlEMDEqDQorWDI4MzI2NFkxODEzMzlEMDEqDQorWDI4Mzg0MVkxODA5ODZEMDEqDQorWDI4NDQ2NlkxODA3MjdEMDEqDQorWDI4NTEyNFkxODA1NjlEMDEqDQorWDI4NTQyN1kxODA1NDVEMDEqDQorWTE3OTExM0QwMSoNCitHMzcqDQorRzM2Kg0KK1gyNzgyMjJZMTc4Mzg3RDAyKlgyNzc3NTdZMTc4NjcyRDAxKg0KK1gyNzcxMzJZMTc4OTMxRDAxKg0KK1gyNzY0NzRZMTc5MDg5RDAxKg0KK1gyNzU3OTlZMTc5MTQyRDAxKg0KK1gyNzUxMjRZMTc5MDg5RDAxKg0KK1gyNzQ0NjZZMTc4OTMxRDAxKg0KK1gyNzM4NDFZMTc4NjcyRDAxKg0KK1gyNzMyNjRZMTc4MzE5RDAxKg0KK1gyNzI3NDlZMTc3ODc5RDAxKg0KK1gyNzIzMDlZMTc3MzY0RDAxKg0KK1gyNzE5NTZZMTc2Nzg3RDAxKg0KK1gyNzE2OTdZMTc2MTYyRDAxKg0KK1gyNzE1MzlZMTc1NTA0RDAxKg0KK1gyNzE0ODZZMTc0ODI5RDAxKg0KK1gyNzE1MzlZMTc0MTU0RDAxKg0KK1gyNzE2OTdZMTczNDk2RDAxKg0KK1gyNzE5NTZZMTcyODcxRDAxKg0KK1gyNzIzMDlZMTcyMjk0RDAxKg0KK1gyNzI3NDlZMTcxNzc5RDAxKg0KK1gyNzMwNzZZMTcxNTAwRDAxKg0KK1gyNjk0MzhEMDEqDQorWTE3MjUzOEQwMSoNCitYMjY5NjQyWTE3Mjg3MUQwMSoNCitYMjY5OTAxWTE3MzQ5NkQwMSoNCitYMjcwMDU5WTE3NDE1NEQwMSoNCitYMjcwMDk5WTE3NDgyOUQwMSoNCitYMjcwMDU5WTE3NTUwNEQwMSoNCitYMjY5OTAxWTE3NjE2MkQwMSoNCitYMjY5NjQyWTE3Njc4N0QwMSoNCitYMjY5NDM4WTE3NzEyMEQwMSoNCitZMTgyNTM4RDAxKg0KK1gyNjk2NDJZMTgyODcxRDAxKg0KK1gyNjk5MDFZMTgzNDk2RDAxKg0KK1gyNzAwNTlZMTg0MTU0RDAxKg0KK1gyNzAwOTlZMTg0ODI5RDAxKg0KK1gyNzAwNTlZMTg1NTA0RDAxKg0KK1gyNjk5MDFZMTg2MTYyRDAxKg0KK1gyNjk2NDJZMTg2Nzg3RDAxKg0KK1gyNjk0MzhZMTg3MTIwRDAxKg0KK1kxOTY2OTVEMDEqDQorWDI2OTQ0MVkxOTY2OTREMDEqDQorWDI2OTcyM1kxOTY3MTdEMDEqDQorWDI2OTk5OVkxOTY3ODNEMDEqDQorWDI3MDI2MVkxOTY4OTFEMDEqDQorWDI3MDUwMlkxOTcwMzlEMDEqDQorWDI3MDcxOFkxOTcyMjNEMDEqDQorWDI3MDkwMlkxOTc0MzlEMDEqDQorWDI3MTA1MFkxOTc2ODBEMDEqDQorWDI3MTE1OFkxOTc5NDJEMDEqDQorWDI3MTIyNFkxOTgyMThEMDEqDQorWDI3MTI0MVkxOTg1MDBEMDEqDQorWDI3MTIyNFkxOTg3ODJEMDEqDQorWDI3MTE1OFkxOTkwNThEMDEqDQorWDI3MTA1MFkxOTkzMjBEMDEqDQorWDI3MDkwMlkxOTk1NjFEMDEqDQorWDI3MDcxOFkxOTk3NzdEMDEqDQorWDI3MDUwMlkxOTk5NjFEMDEqDQorWDI3MDI2MVkyMDAxMDlEMDEqDQorWDI2OTk5OVkyMDAyMTdEMDEqDQorWDI2OTcyM1kyMDAyODNEMDEqDQorWDI2OTQ0MVkyMDAzMDZEMDEqDQorWDI2OTQzOFkyMDAzMDVEMDEqDQorWTIyOTc3MEQwMSoNCitYMjY5NjU5WTIyOTcxN0QwMSoNCitYMjY5OTQxWTIyOTY5NEQwMSoNCitYMjcwMjIzWTIyOTcxN0QwMSoNCitYMjcwNDk5WTIyOTc4M0QwMSoNCitYMjcwNzYxWTIyOTg5MUQwMSoNCitYMjcxMDAyWTIzMDAzOUQwMSoNCitYMjcxMjE4WTIzMDIyM0QwMSoNCitYMjcxNDAyWTIzMDQzOUQwMSoNCitYMjcxNTUwWTIzMDY4MEQwMSoNCitYMjcxNjU4WTIzMDk0MkQwMSoNCitYMjcxNzI0WTIzMTIxOEQwMSoNCitYMjcxNzQxWTIzMTUwMEQwMSoNCitYMjcxNzI0WTIzMTc4MkQwMSoNCitYMjcxNjU4WTIzMjA1OEQwMSoNCitYMjcxNTUwWTIzMjMyMEQwMSoNCitYMjcxNDAyWTIzMjU2MUQwMSoNCitYMjcxMjE4WTIzMjc3N0QwMSoNCitYMjcxMDAyWTIzMjk2MUQwMSoNCitYMjcwNzYxWTIzMzEwOUQwMSoNCitYMjcwNDk5WTIzMzIxN0QwMSoNCitYMjcwMjIzWTIzMzI4M0QwMSoNCitYMjY5OTQxWTIzMzMwNkQwMSoNCitYMjY5NjU5WTIzMzI4M0QwMSoNCitYMjY5NDM4WTIzMzIzMEQwMSoNCitZMjk2NTkyRDAxKg0KK1gyNjk2NTNZMjk2NTc1RDAxKg0KK1gyNjk5NzVZMjk2NjAwRDAxKg0KK1gyNzAyODhZMjk2Njc1RDAxKg0KK1gyNzA1ODdZMjk2Nzk5RDAxKg0KK1gyNzA4NjJZMjk2OTY3RDAxKg0KK1gyNzExMDdZMjk3MTc3RDAxKg0KK1gyNzEzMTdZMjk3NDIyRDAxKg0KK1gyNzE0MjZZMjk3NjAxRDAxKg0KK1gyNzE1NjVZMjk3MzczRDAxKg0KK1gyNzE3NzVZMjk3MTI4RDAxKg0KK1gyNzIwMjBZMjk2OTE4RDAxKg0KK1gyNzIyOTVZMjk2NzUwRDAxKg0KK1gyNzI1OTRZMjk2NjI2RDAxKg0KK1gyNzI5MDdZMjk2NTUxRDAxKg0KK1gyNzMyMjlZMjk2NTI2RDAxKg0KK1gyNzM1NTFZMjk2NTUxRDAxKg0KK1gyNzM4NjRZMjk2NjI2RDAxKg0KK1gyNzQxNjNZMjk2NzUwRDAxKg0KK1gyNzQ0MzhZMjk2OTE4RDAxKg0KK1gyNzQ2ODNZMjk3MTI4RDAxKg0KK1gyNzQ4OTNZMjk3MzczRDAxKg0KK1gyNzUwNjFZMjk3NjQ4RDAxKg0KK1gyNzUxODVZMjk3OTQ3RDAxKg0KK1gyNzUyNjBZMjk4MjYwRDAxKg0KK1gyNzUyNzlZMjk4NTgyRDAxKg0KK1gyNzUyNjBZMjk4OTA0RDAxKg0KK1gyNzUxODVZMjk5MjE3RDAxKg0KK1gyNzUwNjFZMjk5NTE2RDAxKg0KK1gyNzQ4OTNZMjk5NzkxRDAxKg0KK1gyNzQ2ODNZMzAwMDM2RDAxKg0KK1gyNzQ0MzhZMzAwMjQ2RDAxKg0KK1gyNzQxNjNZMzAwNDE0RDAxKg0KK1gyNzM4NjRZMzAwNTM4RDAxKg0KK1gyNzM1NTFZMzAwNjEzRDAxKg0KK1gyNzMyMjlZMzAwNjM4RDAxKg0KK1gyNzI5MDdZMzAwNjEzRDAxKg0KK1gyNzI1OTRZMzAwNTM4RDAxKg0KK1gyNzIyOTVZMzAwNDE0RDAxKg0KK1gyNzIwMjBZMzAwMjQ2RDAxKg0KK1gyNzE3NzVZMzAwMDM2RDAxKg0KK1gyNzE1NjVZMjk5NzkxRDAxKg0KK1gyNzE0NTZZMjk5NjEyRDAxKg0KK1gyNzEzMTdZMjk5ODQwRDAxKg0KK1gyNzExMDdZMzAwMDg1RDAxKg0KK1gyNzA4NjJZMzAwMjk1RDAxKg0KK1gyNzA1ODdZMzAwNDYzRDAxKg0KK1gyNzAyODhZMzAwNTg3RDAxKg0KK1gyNjk5NzVZMzAwNjYyRDAxKg0KK1gyNjk2NTNZMzAwNjg3RDAxKg0KK1gyNjk0MzhZMzAwNjcwRDAxKg0KK1kzMTIwMTFEMDEqDQorWDI2OTU3NlkzMTIwNDREMDEqDQorWDI2OTg3NVkzMTIxNjhEMDEqDQorWDI3MDE1MFkzMTIzMzZEMDEqDQorWDI3MDM5NVkzMTI1NDZEMDEqDQorWDI3MDYwNVkzMTI3OTFEMDEqDQorWDI3MDc3M1kzMTMwNjZEMDEqDQorWDI3MDg5N1kzMTMzNjVEMDEqDQorWDI3MDk3MlkzMTM2NzhEMDEqDQorWDI3MDk5MVkzMTQwMDBEMDEqDQorWDI3MDk3MlkzMTQzMjJEMDEqDQorWDI3MDg5N1kzMTQ2MzVEMDEqDQorWDI3MDc3M1kzMTQ5MzREMDEqDQorWDI3MDYwNVkzMTUyMDlEMDEqDQorWDI3MDM5NVkzMTU0NTREMDEqDQorWDI3MDE1MFkzMTU2NjREMDEqDQorWDI2OTg3NVkzMTU4MzJEMDEqDQorWDI2OTU3NlkzMTU5NTZEMDEqDQorWDI2OTQzOFkzMTU5ODlEMDEqDQorWTMzNDUwM0QwMSoNCitYMjY5NjIxWTMzNDM5MUQwMSoNCitYMjY5ODgzWTMzNDI4M0QwMSoNCitYMjcwMTU5WTMzNDIxN0QwMSoNCitYMjcwNDQxWTMzNDE5NEQwMSoNCitYMjcwNzIzWTMzNDIxN0QwMSoNCitYMjcwOTk5WTMzNDI4M0QwMSoNCitYMjcxMjYxWTMzNDM5MUQwMSoNCitYMjcxNTAyWTMzNDUzOUQwMSoNCitYMjcxNzE4WTMzNDcyM0QwMSoNCitYMjcxOTAyWTMzNDkzOUQwMSoNCitYMjcyMDUwWTMzNTE4MEQwMSoNCitYMjcyMTU4WTMzNTQ0MkQwMSoNCitYMjcyMjI0WTMzNTcxOEQwMSoNCitYMjcyMjQxWTMzNjAwMEQwMSoNCitYMjcyMjI0WTMzNjI4MkQwMSoNCitYMjcyMTU4WTMzNjU1OEQwMSoNCitYMjcyMDUwWTMzNjgyMEQwMSoNCitYMjcxOTAyWTMzNzA2MUQwMSoNCitYMjcxNzE4WTMzNzI3N0QwMSoNCitYMjcxNTAyWTMzNzQ2MUQwMSoNCitYMjcxMjYxWTMzNzYwOUQwMSoNCitYMjcwOTk5WTMzNzcxN0QwMSoNCitYMjcwNzIzWTMzNzc4M0QwMSoNCitYMjcwNDQxWTMzNzgwNkQwMSoNCitYMjcwMTU5WTMzNzc4M0QwMSoNCitYMjY5ODgzWTMzNzcxN0QwMSoNCitYMjY5NjIxWTMzNzYwOUQwMSoNCitYMjY5NDM4WTMzNzQ5N0QwMSoNCitZMzQxMDAzRDAxKg0KK1gyNjk2MjFZMzQwODkxRDAxKg0KK1gyNjk4ODNZMzQwNzgzRDAxKg0KK1gyNzAxNTlZMzQwNzE3RDAxKg0KK1gyNzA0NDFZMzQwNjk0RDAxKg0KK1gyNzA3MjNZMzQwNzE3RDAxKg0KK1gyNzA5OTlZMzQwNzgzRDAxKg0KK1gyNzEyNjFZMzQwODkxRDAxKg0KK1gyNzE1MDJZMzQxMDM5RDAxKg0KK1gyNzE3MThZMzQxMjIzRDAxKg0KK1gyNzE5MDJZMzQxNDM5RDAxKg0KK1gyNzIwNTBZMzQxNjgwRDAxKg0KK1gyNzIxNThZMzQxOTQyRDAxKg0KK1gyNzIyMjRZMzQyMjE4RDAxKg0KK1gyNzIyNDFZMzQyNTAwRDAxKg0KK1gyNzIyMjRZMzQyNzgyRDAxKg0KK1gyNzIxNThZMzQzMDU4RDAxKg0KK1gyNzIwNTBZMzQzMzIwRDAxKg0KK1gyNzE5MDJZMzQzNTYxRDAxKg0KK1gyNzE3MThZMzQzNzc3RDAxKg0KK1gyNzE1MDJZMzQzOTYxRDAxKg0KK1gyNzEyNjFZMzQ0MTA5RDAxKg0KK1gyNzA5OTlZMzQ0MjE3RDAxKg0KK1gyNzA3MjNZMzQ0MjgzRDAxKg0KK1gyNzA0NDFZMzQ0MzA2RDAxKg0KK1gyNzAxNTlZMzQ0MjgzRDAxKg0KK1gyNjk4ODNZMzQ0MjE3RDAxKg0KK1gyNjk2MjFZMzQ0MTA5RDAxKg0KK1gyNjk0MzhZMzQzOTk3RDAxKg0KK1kzNDgwMDNEMDEqDQorWDI2OTYyMVkzNDc4OTFEMDEqDQorWDI2OTg4M1kzNDc3ODNEMDEqDQorWDI3MDE1OVkzNDc3MTdEMDEqDQorWDI3MDQ0MVkzNDc2OTREMDEqDQorWDI3MDcyM1kzNDc3MTdEMDEqDQorWDI3MDk5OVkzNDc3ODNEMDEqDQorWDI3MTI2MVkzNDc4OTFEMDEqDQorWDI3MTUwMlkzNDgwMzlEMDEqDQorWDI3MTcxOFkzNDgyMjNEMDEqDQorWDI3MTkwMlkzNDg0MzlEMDEqDQorWDI3MjA1MFkzNDg2ODBEMDEqDQorWDI3MjE1OFkzNDg5NDJEMDEqDQorWDI3MjIyNFkzNDkyMThEMDEqDQorWDI3MjI0MVkzNDk1MDBEMDEqDQorWDI3MjIyNFkzNDk3ODJEMDEqDQorWDI3MjE1OFkzNTAwNThEMDEqDQorWDI3MjA1MFkzNTAzMjBEMDEqDQorWDI3MTkwMlkzNTA1NjFEMDEqDQorWDI3MTcxOFkzNTA3NzdEMDEqDQorWDI3MTUwMlkzNTA5NjFEMDEqDQorWDI3MTI2MVkzNTExMDlEMDEqDQorWDI3MDk5OVkzNTEyMTdEMDEqDQorWDI3MDcyM1kzNTEyODNEMDEqDQorWDI3MDQ0MVkzNTEzMDZEMDEqDQorWDI3MDE1OVkzNTEyODNEMDEqDQorWDI2OTg4M1kzNTEyMTdEMDEqDQorWDI2OTYyMVkzNTExMDlEMDEqDQorWDI2OTQzOFkzNTA5OTdEMDEqDQorWTM1NTUwM0QwMSoNCitYMjY5NjIxWTM1NTM5MUQwMSoNCitYMjY5ODgzWTM1NTI4M0QwMSoNCitYMjcwMTU5WTM1NTIxN0QwMSoNCitYMjcwNDQxWTM1NTE5NEQwMSoNCitYMjcwNzIzWTM1NTIxN0QwMSoNCitYMjcwOTk5WTM1NTI4M0QwMSoNCitYMjcxMjYxWTM1NTM5MUQwMSoNCitYMjcxNTAyWTM1NTUzOUQwMSoNCitYMjcxNzE4WTM1NTcyM0QwMSoNCitYMjcxOTAyWTM1NTkzOUQwMSoNCitYMjcyMDUwWTM1NjE4MEQwMSoNCitYMjcyMTU4WTM1NjQ0MkQwMSoNCitYMjcyMjI0WTM1NjcxOEQwMSoNCitYMjcyMjQxWTM1NzAwMEQwMSoNCitYMjcyMjI0WTM1NzI4MkQwMSoNCitYMjcyMTU4WTM1NzU1OEQwMSoNCitYMjcyMDUwWTM1NzgyMEQwMSoNCitYMjcxOTAyWTM1ODA2MUQwMSoNCitYMjcxNzE4WTM1ODI3N0QwMSoNCitYMjcxNTAyWTM1ODQ2MUQwMSoNCitYMjcxMjYxWTM1ODYwOUQwMSoNCitYMjcwOTk5WTM1ODcxN0QwMSoNCitYMjcwNzIzWTM1ODc4M0QwMSoNCitYMjcwNDQxWTM1ODgwNkQwMSoNCitYMjcwMTU5WTM1ODc4M0QwMSoNCitYMjY5ODgzWTM1ODcxN0QwMSoNCitYMjY5NjIxWTM1ODYwOUQwMSoNCitYMjY5NDM4WTM1ODQ5N0QwMSoNCitZMzYyNTM4RDAxKg0KK1gyNjk2NDJZMzYyODcxRDAxKg0KK1gyNjk5MDFZMzYzNDk2RDAxKg0KK1gyNzAwNTlZMzY0MTU0RDAxKg0KK1gyNzAwOTlZMzY0ODI5RDAxKg0KK1gyNzAwNTlZMzY1NTA0RDAxKg0KK1gyNjk5MDFZMzY2MTYyRDAxKg0KK1gyNjk2NDJZMzY2Nzg3RDAxKg0KK1gyNjk0MzhZMzY3MTIwRDAxKg0KK1kzNzI1MzhEMDEqDQorWDI2OTY0MlkzNzI4NzFEMDEqDQorWDI2OTkwMVkzNzM0OTZEMDEqDQorWDI3MDA1OVkzNzQxNTREMDEqDQorWDI3MDA5OVkzNzQ4MjlEMDEqDQorWDI3MDA1OVkzNzU1MDREMDEqDQorWDI2OTkwMVkzNzYxNjJEMDEqDQorWDI2OTY0MlkzNzY3ODdEMDEqDQorWDI2OTQzOFkzNzcxMjBEMDEqDQorWTM5NzAwMEQwMSoNCitYMjc4MjIyRDAxKg0KK1kzNzgzODdEMDEqDQorWDI3Nzc1N1kzNzg2NzJEMDEqDQorWDI3NzEzMlkzNzg5MzFEMDEqDQorWDI3NjQ3NFkzNzkwODlEMDEqDQorWDI3NTc5OVkzNzkxNDJEMDEqDQorWDI3NTEyNFkzNzkwODlEMDEqDQorWDI3NDQ2NlkzNzg5MzFEMDEqDQorWDI3Mzg0MVkzNzg2NzJEMDEqDQorWDI3MzI2NFkzNzgzMTlEMDEqDQorWDI3Mjc0OVkzNzc4NzlEMDEqDQorWDI3MjMwOVkzNzczNjREMDEqDQorWDI3MTk1NlkzNzY3ODdEMDEqDQorWDI3MTY5N1kzNzYxNjJEMDEqDQorWDI3MTUzOVkzNzU1MDREMDEqDQorWDI3MTQ4NlkzNzQ4MjlEMDEqDQorWDI3MTUzOVkzNzQxNTREMDEqDQorWDI3MTY5N1kzNzM0OTZEMDEqDQorWDI3MTk1NlkzNzI4NzFEMDEqDQorWDI3MjMwOVkzNzIyOTREMDEqDQorWDI3Mjc0OVkzNzE3NzlEMDEqDQorWDI3MzI2NFkzNzEzMzlEMDEqDQorWDI3Mzg0MVkzNzA5ODZEMDEqDQorWDI3NDQ2NlkzNzA3MjdEMDEqDQorWDI3NTEyNFkzNzA1NjlEMDEqDQorWDI3NTc5OVkzNzA1MTZEMDEqDQorWDI3NjQ3NFkzNzA1NjlEMDEqDQorWDI3NzEzMlkzNzA3MjdEMDEqDQorWDI3Nzc1N1kzNzA5ODZEMDEqDQorWDI3ODIyMlkzNzEyNzFEMDEqDQorWTM2ODM4N0QwMSoNCitYMjc3NzU3WTM2ODY3MkQwMSoNCitYMjc3MTMyWTM2ODkzMUQwMSoNCitYMjc2NDc0WTM2OTA4OUQwMSoNCitYMjc1Nzk5WTM2OTE0MkQwMSoNCitYMjc1MTI0WTM2OTA4OUQwMSoNCitYMjc0NDY2WTM2ODkzMUQwMSoNCitYMjczODQxWTM2ODY3MkQwMSoNCitYMjczMjY0WTM2ODMxOUQwMSoNCitYMjcyNzQ5WTM2Nzg3OUQwMSoNCitYMjcyMzA5WTM2NzM2NEQwMSoNCitYMjcxOTU2WTM2Njc4N0QwMSoNCitYMjcxNjk3WTM2NjE2MkQwMSoNCitYMjcxNTM5WTM2NTUwNEQwMSoNCitYMjcxNDg2WTM2NDgyOUQwMSoNCitYMjcxNTM5WTM2NDE1NEQwMSoNCitYMjcxNjk3WTM2MzQ5NkQwMSoNCitYMjcxOTU2WTM2Mjg3MUQwMSoNCitYMjcyMzA5WTM2MjI5NEQwMSoNCitYMjcyNzQ5WTM2MTc3OUQwMSoNCitYMjczMjY0WTM2MTMzOUQwMSoNCitYMjczODQxWTM2MDk4NkQwMSoNCitYMjc0NDY2WTM2MDcyN0QwMSoNCitYMjc1MTI0WTM2MDU2OUQwMSoNCitYMjc1Nzk5WTM2MDUxNkQwMSoNCitYMjc2NDc0WTM2MDU2OUQwMSoNCitYMjc3MTMyWTM2MDcyN0QwMSoNCitYMjc3NzU3WTM2MDk4NkQwMSoNCitYMjc4MjIyWTM2MTI3MUQwMSoNCitZMzQ5Mzk5RDAxKg0KK1gyNzgwODRZMzQ5NDU2RDAxKg0KK1gyNzc3NzFZMzQ5NTMxRDAxKg0KK1gyNzc0NDlZMzQ5NTU2RDAxKg0KK1gyNzcxMjdZMzQ5NTMxRDAxKg0KK1gyNzY4MTRZMzQ5NDU2RDAxKg0KK1gyNzY1MTVZMzQ5MzMyRDAxKg0KK1gyNzYyNDBZMzQ5MTY0RDAxKg0KK1gyNzU5OTVZMzQ4OTU0RDAxKg0KK1gyNzU3ODVZMzQ4NzA5RDAxKg0KK1gyNzU2MTdZMzQ4NDM0RDAxKg0KK1gyNzU0OTNZMzQ4MTM1RDAxKg0KK1gyNzU0MThZMzQ3ODIyRDAxKg0KK1gyNzUzOTNZMzQ3NTAwRDAxKg0KK1gyNzU0MThZMzQ3MTc4RDAxKg0KK1gyNzU0OTNZMzQ2ODY1RDAxKg0KK1gyNzU2MTdZMzQ2NTY2RDAxKg0KK1gyNzU3ODVZMzQ2MjkxRDAxKg0KK1gyNzU5OTVZMzQ2MDQ2RDAxKg0KK1gyNzYyNDBZMzQ1ODM2RDAxKg0KK1gyNzY1MTVZMzQ1NjY4RDAxKg0KK1gyNzY4MTRZMzQ1NTQ0RDAxKg0KK1gyNzcxMjdZMzQ1NDY5RDAxKg0KK1gyNzc0NDlZMzQ1NDQ0RDAxKg0KK1gyNzc3NzFZMzQ1NDY5RDAxKg0KK1gyNzgwODRZMzQ1NTQ0RDAxKg0KK1gyNzgyMjJZMzQ1NjAxRDAxKg0KK1kzMDk5ODFEMDEqDQorWDI3ODEwOFkzMTAwNTFEMDEqDQorWDI3NzgwOVkzMTAxNzVEMDEqDQorWDI3NzQ5NlkzMTAyNTBEMDEqDQorWDI3NzE3NFkzMTAyNzVEMDEqDQorWDI3Njg1MlkzMTAyNTBEMDEqDQorWDI3NjUzOVkzMTAxNzVEMDEqDQorWDI3NjI0MFkzMTAwNTFEMDEqDQorWDI3NTk2NVkzMDk4ODNEMDEqDQorWDI3NTcyMFkzMDk2NzNEMDEqDQorWDI3NTUxMFkzMDk0MjhEMDEqDQorWDI3NTM0MlkzMDkxNTNEMDEqDQorWDI3NTIxOFkzMDg4NTREMDEqDQorWDI3NTE0M1kzMDg1NDFEMDEqDQorWDI3NTExOFkzMDgyMTlEMDEqDQorWDI3NTE0M1kzMDc4OTdEMDEqDQorWDI3NTIxOFkzMDc1ODREMDEqDQorWDI3NTM0MlkzMDcyODVEMDEqDQorWDI3NTUxMFkzMDcwMTBEMDEqDQorWDI3NTcyMFkzMDY3NjVEMDEqDQorWDI3NTk2NVkzMDY1NTVEMDEqDQorWDI3NjI0MFkzMDYzODdEMDEqDQorWDI3NjUzOVkzMDYyNjNEMDEqDQorWDI3Njg1MlkzMDYxODhEMDEqDQorWDI3NzE3NFkzMDYxNjNEMDEqDQorWDI3NzQ5NlkzMDYxODhEMDEqDQorWDI3NzgwOVkzMDYyNjNEMDEqDQorWDI3ODEwOFkzMDYzODdEMDEqDQorWDI3ODIyMlkzMDY0NTdEMDEqDQorWTMwMDY2N0QwMSoNCitYMjc4MjA3WTMwMDY2OEQwMSoNCitYMjc3ODg1WTMwMDY0M0QwMSoNCitYMjc3NTcyWTMwMDU2OEQwMSoNCitYMjc3MjczWTMwMDQ0NEQwMSoNCitYMjc2OTk4WTMwMDI3NkQwMSoNCitYMjc2NzUzWTMwMDA2NkQwMSoNCitYMjc2NTQzWTI5OTgyMUQwMSoNCitYMjc2Mzc1WTI5OTU0NkQwMSoNCitYMjc2MjUxWTI5OTI0N0QwMSoNCitYMjc2MTc2WTI5ODkzNEQwMSoNCitYMjc2MTUxWTI5ODYxMkQwMSoNCitYMjc2MTc2WTI5ODI5MEQwMSoNCitYMjc2MjUxWTI5Nzk3N0QwMSoNCitYMjc2Mzc1WTI5NzY3OEQwMSoNCitYMjc2NTQzWTI5NzQwM0QwMSoNCitYMjc2NzUzWTI5NzE1OEQwMSoNCitYMjc2OTk4WTI5Njk0OEQwMSoNCitYMjc3MjczWTI5Njc4MEQwMSoNCitYMjc3NTcyWTI5NjY1NkQwMSoNCitYMjc3ODg1WTI5NjU4MUQwMSoNCitYMjc4MjA3WTI5NjU1NkQwMSoNCitYMjc4MjIyWTI5NjU1N0QwMSoNCitZMjg2MzI2RDAxKg0KK1gyNzgxNjRZMjg2Mjc3RDAxKg0KK1gyNzc5ODBZMjg2MDYxRDAxKg0KK1gyNzc4MzJZMjg1ODIwRDAxKg0KK1gyNzc3MjRZMjg1NTU4RDAxKg0KK1gyNzc2NThZMjg1MjgyRDAxKg0KK1gyNzc2MzVZMjg1MDAwRDAxKg0KK1gyNzc2NThZMjg0NzE4RDAxKg0KK1gyNzc3MjRZMjg0NDQyRDAxKg0KK1gyNzc4MzJZMjg0MTgwRDAxKg0KK1gyNzc5ODBZMjgzOTM5RDAxKg0KK1gyNzgxNjRZMjgzNzIzRDAxKg0KK1gyNzgyMjJZMjgzNjc0RDAxKg0KK1kyODE2NThEMDEqDQorWDI3NzkwM1kyODE2MzNEMDEqDQorWDI3NzU5MFkyODE1NThEMDEqDQorWDI3NzI5MVkyODE0MzREMDEqDQorWDI3NzAxNlkyODEyNjZEMDEqDQorWDI3Njc3MVkyODEwNTZEMDEqDQorWDI3NjU2MVkyODA4MTFEMDEqDQorWDI3NjM5M1kyODA1MzZEMDEqDQorWDI3NjI2OVkyODAyMzdEMDEqDQorWDI3NjE5NFkyNzk5MjREMDEqDQorWDI3NjE2OVkyNzk2MDJEMDEqDQorWDI3NjE5NFkyNzkyODBEMDEqDQorWDI3NjI2OVkyNzg5NjdEMDEqDQorWDI3NjM5M1kyNzg2NjhEMDEqDQorWDI3NjU2MVkyNzgzOTNEMDEqDQorWDI3Njc3MVkyNzgxNDhEMDEqDQorWDI3NzAxNlkyNzc5MzhEMDEqDQorWDI3NzI5MVkyNzc3NzBEMDEqDQorWDI3NzU5MFkyNzc2NDZEMDEqDQorWDI3NzkwM1kyNzc1NzFEMDEqDQorWDI3ODIyMlkyNzc1NDZEMDEqDQorWTE4ODM4N0QwMSoNCitYMjc3NzU3WTE4ODY3MkQwMSoNCitYMjc3MTMyWTE4ODkzMUQwMSoNCitYMjc2NDc0WTE4OTA4OUQwMSoNCitYMjc1Nzk5WTE4OTE0MkQwMSoNCitYMjc1MTI0WTE4OTA4OUQwMSoNCitYMjc0NDY2WTE4ODkzMUQwMSoNCitYMjczODQxWTE4ODY3MkQwMSoNCitYMjczMjY0WTE4ODMxOUQwMSoNCitYMjcyNzQ5WTE4Nzg3OUQwMSoNCitYMjcyMzA5WTE4NzM2NEQwMSoNCitYMjcxOTU2WTE4Njc4N0QwMSoNCitYMjcxNjk3WTE4NjE2MkQwMSoNCitYMjcxNTM5WTE4NTUwNEQwMSoNCitYMjcxNDg2WTE4NDgyOUQwMSoNCitYMjcxNTM5WTE4NDE1NEQwMSoNCitYMjcxNjk3WTE4MzQ5NkQwMSoNCitYMjcxOTU2WTE4Mjg3MUQwMSoNCitYMjcyMzA5WTE4MjI5NEQwMSoNCitYMjcyNzQ5WTE4MTc3OUQwMSoNCitYMjczMjY0WTE4MTMzOUQwMSoNCitYMjczODQxWTE4MDk4NkQwMSoNCitYMjc0NDY2WTE4MDcyN0QwMSoNCitYMjc1MTI0WTE4MDU2OUQwMSoNCitYMjc1Nzk5WTE4MDUxNkQwMSoNCitYMjc2NDc0WTE4MDU2OUQwMSoNCitYMjc3MTMyWTE4MDcyN0QwMSoNCitYMjc3NzU3WTE4MDk4NkQwMSoNCitYMjc4MjIyWTE4MTI3MUQwMSoNCitZMTc4Mzg3RDAxKg0KK0czNyoNCitHMzYqDQorWDI2OTQzOFkzNzcxMjBEMDIqWDI2OTI4OVkzNzczNjREMDEqDQorWDI2ODg0OVkzNzc4NzlEMDEqDQorWDI2ODMzNFkzNzgzMTlEMDEqDQorWDI2Nzc1N1kzNzg2NzJEMDEqDQorWDI2NzEzMlkzNzg5MzFEMDEqDQorWDI2NjQ3NFkzNzkwODlEMDEqDQorWDI2NTc5OVkzNzkxNDJEMDEqDQorWDI2NTEyNFkzNzkwODlEMDEqDQorWDI2NDQ2NlkzNzg5MzFEMDEqDQorWDI2Mzg0MVkzNzg2NzJEMDEqDQorWDI2MzI2NFkzNzgzMTlEMDEqDQorWDI2Mjc0OVkzNzc4NzlEMDEqDQorWDI2Mjc0N1kzNzc4NzZEMDEqDQorWTM5NzAwMEQwMSoNCitYMjY5NDM4RDAxKg0KK1kzNzcxMjBEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3MTIwRDAyKlgyNjkyODlZMzY3MzY0RDAxKg0KK1gyNjg4NDlZMzY3ODc5RDAxKg0KK1gyNjgzMzRZMzY4MzE5RDAxKg0KK1gyNjc3NTdZMzY4NjcyRDAxKg0KK1gyNjcxMzJZMzY4OTMxRDAxKg0KK1gyNjY0NzRZMzY5MDg5RDAxKg0KK1gyNjU3OTlZMzY5MTQyRDAxKg0KK1gyNjUxMjRZMzY5MDg5RDAxKg0KK1gyNjQ0NjZZMzY4OTMxRDAxKg0KK1gyNjM4NDFZMzY4NjcyRDAxKg0KK1gyNjMyNjRZMzY4MzE5RDAxKg0KK1gyNjI3NDlZMzY3ODc5RDAxKg0KK1gyNjI3NDdZMzY3ODc2RDAxKg0KK1kzNzE3ODJEMDEqDQorWDI2Mjc0OVkzNzE3NzlEMDEqDQorWDI2MzI2NFkzNzEzMzlEMDEqDQorWDI2Mzg0MVkzNzA5ODZEMDEqDQorWDI2NDQ2NlkzNzA3MjdEMDEqDQorWDI2NTEyNFkzNzA1NjlEMDEqDQorWDI2NTc5OVkzNzA1MTZEMDEqDQorWDI2NjQ3NFkzNzA1NjlEMDEqDQorWDI2NzEzMlkzNzA3MjdEMDEqDQorWDI2Nzc1N1kzNzA5ODZEMDEqDQorWDI2ODMzNFkzNzEzMzlEMDEqDQorWDI2ODg0OVkzNzE3NzlEMDEqDQorWDI2OTI4OVkzNzIyOTREMDEqDQorWDI2OTQzOFkzNzI1MzhEMDEqDQorWTM2NzEyMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMDA2NzBEMDIqWDI2OTMzMVkzMDA2NjJEMDEqDQorWDI2OTAxOFkzMDA1ODdEMDEqDQorWDI2ODcxOVkzMDA0NjNEMDEqDQorWDI2ODQ0NFkzMDAyOTVEMDEqDQorWDI2ODE5OVkzMDAwODVEMDEqDQorWDI2Nzk4OVkyOTk4NDBEMDEqDQorWDI2NzgyMVkyOTk1NjVEMDEqDQorWDI2NzY5N1kyOTkyNjZEMDEqDQorWDI2NzYyMlkyOTg5NTNEMDEqDQorWDI2NzU5N1kyOTg2MzFEMDEqDQorWDI2NzYyMlkyOTgzMDlEMDEqDQorWDI2NzYzOFkyOTgyNDREMDEqDQorWDI2NzYyMlkyOTgyNThEMDEqDQorWDI2NzM0N1kyOTg0MjZEMDEqDQorWDI2NzA0OFkyOTg1NTBEMDEqDQorWDI2NjczNVkyOTg2MjVEMDEqDQorWDI2NjQxM1kyOTg2NTBEMDEqDQorWDI2NjA5MVkyOTg2MjVEMDEqDQorWDI2NTc3OFkyOTg1NTBEMDEqDQorWDI2NTQ3OVkyOTg0MjZEMDEqDQorWDI2NTIwNFkyOTgyNThEMDEqDQorWDI2NDk1OVkyOTgwNDhEMDEqDQorWDI2NDc0OVkyOTc4MDNEMDEqDQorWDI2NDU4MVkyOTc1MjhEMDEqDQorWDI2NDQ1N1kyOTcyMjlEMDEqDQorWDI2NDQwN1kyOTcwMThEMDEqDQorWDI2NDE3NFkyOTcxNjFEMDEqDQorWDI2Mzg3NVkyOTcyODVEMDEqDQorWDI2MzU2MlkyOTczNjBEMDEqDQorWDI2MzI0MFkyOTczODVEMDEqDQorWDI2MjkxOFkyOTczNjBEMDEqDQorWDI2Mjc0N1kyOTczMTlEMDEqDQorWTMwNjA2M0QwMSoNCitYMjYyNzc5WTMwNjA5MEQwMSoNCitYMjYyOTYzWTMwNjMwNkQwMSoNCitYMjYzMTExWTMwNjU0N0QwMSoNCitYMjYzMjE5WTMwNjgwOUQwMSoNCitYMjYzMjg1WTMwNzA4NUQwMSoNCitYMjYzMzAyWTMwNzM2N0QwMSoNCitYMjYzMjg1WTMwNzY0OUQwMSoNCitYMjYzMjE5WTMwNzkyNUQwMSoNCitYMjYzMTExWTMwODE4N0QwMSoNCitYMjYyOTYzWTMwODQyOEQwMSoNCitYMjYyNzc5WTMwODY0NEQwMSoNCitYMjYyNzQ3WTMwODY3MUQwMSoNCitZMzE4MzM5RDAxKg0KK1gyNjI4ODNZMzE4MjgzRDAxKg0KK1gyNjMxNTlZMzE4MjE3RDAxKg0KK1gyNjM0NDFZMzE4MTk0RDAxKg0KK1gyNjM3MjNZMzE4MjE3RDAxKg0KK1gyNjM5OTlZMzE4MjgzRDAxKg0KK1gyNjQyNjFZMzE4MzkxRDAxKg0KK1gyNjQ1MDJZMzE4NTM5RDAxKg0KK1gyNjQ3MThZMzE4NzIzRDAxKg0KK1gyNjQ5MDJZMzE4OTM5RDAxKg0KK1gyNjUwNTBZMzE5MTgwRDAxKg0KK1gyNjUxNThZMzE5NDQyRDAxKg0KK1gyNjUyMjRZMzE5NzE4RDAxKg0KK1gyNjUyNDFZMzIwMDAwRDAxKg0KK1gyNjUyMjRZMzIwMjgyRDAxKg0KK1gyNjUxNThZMzIwNTU4RDAxKg0KK1gyNjUwNTBZMzIwODIwRDAxKg0KK1gyNjQ5MDJZMzIxMDYxRDAxKg0KK1gyNjQ3MThZMzIxMjc3RDAxKg0KK1gyNjQ1MDJZMzIxNDYxRDAxKg0KK1gyNjQyNjFZMzIxNjA5RDAxKg0KK1gyNjM5OTlZMzIxNzE3RDAxKg0KK1gyNjM3MjNZMzIxNzgzRDAxKg0KK1gyNjM0NDFZMzIxODA2RDAxKg0KK1gyNjMxNTlZMzIxNzgzRDAxKg0KK1gyNjI4ODNZMzIxNzE3RDAxKg0KK1gyNjI3NDdZMzIxNjYxRDAxKg0KK1kzNjE3ODJEMDEqDQorWDI2Mjc0OVkzNjE3NzlEMDEqDQorWDI2MzI2NFkzNjEzMzlEMDEqDQorWDI2Mzg0MVkzNjA5ODZEMDEqDQorWDI2NDQ2NlkzNjA3MjdEMDEqDQorWDI2NTEyNFkzNjA1NjlEMDEqDQorWDI2NTc5OVkzNjA1MTZEMDEqDQorWDI2NjQ3NFkzNjA1NjlEMDEqDQorWDI2NzEzMlkzNjA3MjdEMDEqDQorWDI2Nzc1N1kzNjA5ODZEMDEqDQorWDI2ODMzNFkzNjEzMzlEMDEqDQorWDI2ODg0OVkzNjE3NzlEMDEqDQorWDI2OTI4OVkzNjIyOTREMDEqDQorWDI2OTQzOFkzNjI1MzhEMDEqDQorWTM1ODQ5N0QwMSoNCitYMjY5MzgwWTM1ODQ2MUQwMSoNCitYMjY5MTY0WTM1ODI3N0QwMSoNCitYMjY4OTgwWTM1ODA2MUQwMSoNCitYMjY4ODMyWTM1NzgyMEQwMSoNCitYMjY4NzI0WTM1NzU1OEQwMSoNCitYMjY4NjU4WTM1NzI4MkQwMSoNCitYMjY4NjM1WTM1NzAwMEQwMSoNCitYMjY4NjU4WTM1NjcxOEQwMSoNCitYMjY4NzI0WTM1NjQ0MkQwMSoNCitYMjY4ODMyWTM1NjE4MEQwMSoNCitYMjY4OTgwWTM1NTkzOUQwMSoNCitYMjY5MTY0WTM1NTcyM0QwMSoNCitYMjY5MzgwWTM1NTUzOUQwMSoNCitYMjY5NDM4WTM1NTUwM0QwMSoNCitZMzUwOTk3RDAxKg0KK1gyNjkzODBZMzUwOTYxRDAxKg0KK1gyNjkxNjRZMzUwNzc3RDAxKg0KK1gyNjg5ODBZMzUwNTYxRDAxKg0KK1gyNjg4MzJZMzUwMzIwRDAxKg0KK1gyNjg3MjRZMzUwMDU4RDAxKg0KK1gyNjg2NThZMzQ5NzgyRDAxKg0KK1gyNjg2MzVZMzQ5NTAwRDAxKg0KK1gyNjg2NThZMzQ5MjE4RDAxKg0KK1gyNjg3MjRZMzQ4OTQyRDAxKg0KK1gyNjg4MzJZMzQ4NjgwRDAxKg0KK1gyNjg5ODBZMzQ4NDM5RDAxKg0KK1gyNjkxNjRZMzQ4MjIzRDAxKg0KK1gyNjkzODBZMzQ4MDM5RDAxKg0KK1gyNjk0MzhZMzQ4MDAzRDAxKg0KK1kzNDM5OTdEMDEqDQorWDI2OTM4MFkzNDM5NjFEMDEqDQorWDI2OTE2NFkzNDM3NzdEMDEqDQorWDI2ODk4MFkzNDM1NjFEMDEqDQorWDI2ODgzMlkzNDMzMjBEMDEqDQorWDI2ODcyNFkzNDMwNThEMDEqDQorWDI2ODY1OFkzNDI3ODJEMDEqDQorWDI2ODYzNVkzNDI1MDBEMDEqDQorWDI2ODY1OFkzNDIyMThEMDEqDQorWDI2ODcyNFkzNDE5NDJEMDEqDQorWDI2ODgzMlkzNDE2ODBEMDEqDQorWDI2ODk4MFkzNDE0MzlEMDEqDQorWDI2OTE2NFkzNDEyMjNEMDEqDQorWDI2OTM4MFkzNDEwMzlEMDEqDQorWDI2OTQzOFkzNDEwMDNEMDEqDQorWTMzNzQ5N0QwMSoNCitYMjY5MzgwWTMzNzQ2MUQwMSoNCitYMjY5MTY0WTMzNzI3N0QwMSoNCitYMjY4OTgwWTMzNzA2MUQwMSoNCitYMjY4ODMyWTMzNjgyMEQwMSoNCitYMjY4NzI0WTMzNjU1OEQwMSoNCitYMjY4NjU4WTMzNjI4MkQwMSoNCitYMjY4NjM1WTMzNjAwMEQwMSoNCitYMjY4NjU4WTMzNTcxOEQwMSoNCitYMjY4NzI0WTMzNTQ0MkQwMSoNCitYMjY4ODMyWTMzNTE4MEQwMSoNCitYMjY4OTgwWTMzNDkzOUQwMSoNCitYMjY5MTY0WTMzNDcyM0QwMSoNCitYMjY5MzgwWTMzNDUzOUQwMSoNCitYMjY5NDM4WTMzNDUwM0QwMSoNCitZMzE1OTg5RDAxKg0KK1gyNjkyNjNZMzE2MDMxRDAxKg0KK1gyNjg5NDFZMzE2MDU2RDAxKg0KK1gyNjg2MTlZMzE2MDMxRDAxKg0KK1gyNjgzMDZZMzE1OTU2RDAxKg0KK1gyNjgwMDdZMzE1ODMyRDAxKg0KK1gyNjc3MzJZMzE1NjY0RDAxKg0KK1gyNjc0ODdZMzE1NDU0RDAxKg0KK1gyNjcyNzdZMzE1MjA5RDAxKg0KK1gyNjcxMDlZMzE0OTM0RDAxKg0KK1gyNjY5ODVZMzE0NjM1RDAxKg0KK1gyNjY5MTBZMzE0MzIyRDAxKg0KK1gyNjY4ODVZMzE0MDAwRDAxKg0KK1gyNjY5MTBZMzEzNjc4RDAxKg0KK1gyNjY5ODVZMzEzMzY1RDAxKg0KK1gyNjcxMDlZMzEzMDY2RDAxKg0KK1gyNjcyNzdZMzEyNzkxRDAxKg0KK1gyNjc0ODdZMzEyNTQ2RDAxKg0KK1gyNjc3MzJZMzEyMzM2RDAxKg0KK1gyNjgwMDdZMzEyMTY4RDAxKg0KK1gyNjgzMDZZMzEyMDQ0RDAxKg0KK1gyNjg2MTlZMzExOTY5RDAxKg0KK1gyNjg5NDFZMzExOTQ0RDAxKg0KK1gyNjkyNjNZMzExOTY5RDAxKg0KK1gyNjk0MzhZMzEyMDExRDAxKg0KK1kzMDA2NzBEMDEqDQorRzM3Kg0KK0czNioNCitZMTg3MTIwRDAyKlgyNjkyODlZMTg3MzY0RDAxKg0KK1gyNjg4NDlZMTg3ODc5RDAxKg0KK1gyNjgzMzRZMTg4MzE5RDAxKg0KK1gyNjc3NTdZMTg4NjcyRDAxKg0KK1gyNjcxMzJZMTg4OTMxRDAxKg0KK1gyNjY0NzRZMTg5MDg5RDAxKg0KK1gyNjU3OTlZMTg5MTQyRDAxKg0KK1gyNjUxMjRZMTg5MDg5RDAxKg0KK1gyNjQ0NjZZMTg4OTMxRDAxKg0KK1gyNjM4NDFZMTg4NjcyRDAxKg0KK1gyNjMyNjRZMTg4MzE5RDAxKg0KK1gyNjI3NDlZMTg3ODc5RDAxKg0KK1gyNjI3NDdZMTg3ODc2RDAxKg0KK1kyNjY3MTZEMDEqDQorWDI2Mjc1MFkyNjY3MTZEMDEqDQorWDI2MzA3MlkyNjY3NDFEMDEqDQorWDI2MzM4NVkyNjY4MTZEMDEqDQorWDI2MzY4NFkyNjY5NDBEMDEqDQorWDI2Mzk1OVkyNjcxMDhEMDEqDQorWDI2NDIwNFkyNjczMThEMDEqDQorWDI2NDQxNFkyNjc1NjNEMDEqDQorWDI2NDU4MlkyNjc4MzhEMDEqDQorWDI2NDcwNlkyNjgxMzdEMDEqDQorWDI2NDc4MVkyNjg0NTBEMDEqDQorWDI2NDgwMFkyNjg3NzJEMDEqDQorWDI2NDc4MVkyNjkwOTREMDEqDQorWDI2NDcwNlkyNjk0MDdEMDEqDQorWDI2NDU4MlkyNjk3MDZEMDEqDQorWDI2NDQxNFkyNjk5ODFEMDEqDQorWDI2NDIwNFkyNzAyMjZEMDEqDQorWDI2Mzk1OVkyNzA0MzZEMDEqDQorWDI2MzY4NFkyNzA2MDREMDEqDQorWDI2MzM4NVkyNzA3MjhEMDEqDQorWDI2MzA3MlkyNzA4MDNEMDEqDQorWDI2Mjc1MFkyNzA4MjhEMDEqDQorWDI2Mjc0N1kyNzA4MjhEMDEqDQorWTI4MTMzNEQwMSoNCitYMjYyODI1WTI4MTI2N0QwMSoNCitYMjYzMTAwWTI4MTA5OUQwMSoNCitYMjYzMzk5WTI4MDk3NUQwMSoNCitYMjYzNzEyWTI4MDkwMEQwMSoNCitYMjY0MDM0WTI4MDg3NUQwMSoNCitYMjY0MzU2WTI4MDkwMEQwMSoNCitYMjY0NjY5WTI4MDk3NUQwMSoNCitYMjY0OTY4WTI4MTA5OUQwMSoNCitYMjY1MjQzWTI4MTI2N0QwMSoNCitYMjY1NDg4WTI4MTQ3N0QwMSoNCitYMjY1Njk4WTI4MTcyMkQwMSoNCitYMjY1ODY2WTI4MTk5N0QwMSoNCitYMjY1OTkwWTI4MjI5NkQwMSoNCitYMjY2MDY1WTI4MjYwOUQwMSoNCitYMjY2MDg0WTI4MjkzMUQwMSoNCitYMjY2MDY1WTI4MzI1M0QwMSoNCitYMjY1OTkwWTI4MzU2NkQwMSoNCitYMjY1ODY2WTI4Mzg2NUQwMSoNCitYMjY1Njk4WTI4NDE0MEQwMSoNCitYMjY1NDg4WTI4NDM4NUQwMSoNCitYMjY1MjQzWTI4NDU5NUQwMSoNCitYMjY0OTY4WTI4NDc2M0QwMSoNCitYMjY0NjY5WTI4NDg4N0QwMSoNCitYMjY0MzU2WTI4NDk2MkQwMSoNCitYMjY0MDM0WTI4NDk4N0QwMSoNCitYMjYzNzEyWTI4NDk2MkQwMSoNCitYMjYzMzk5WTI4NDg4N0QwMSoNCitYMjYzMTAwWTI4NDc2M0QwMSoNCitYMjYyODI1WTI4NDU5NUQwMSoNCitYMjYyNzQ3WTI4NDUyOEQwMSoNCitZMjg5NzczRDAxKg0KK1gyNjMwNjJZMjg5Nzk4RDAxKg0KK1gyNjMzNzVZMjg5ODczRDAxKg0KK1gyNjM2NzRZMjg5OTk3RDAxKg0KK1gyNjM5NDlZMjkwMTY1RDAxKg0KK1gyNjQxOTRZMjkwMzc1RDAxKg0KK1gyNjQ0MDRZMjkwNjIwRDAxKg0KK1gyNjQ1NzJZMjkwODk1RDAxKg0KK1gyNjQ2OTZZMjkxMTk0RDAxKg0KK1gyNjQ3NzFZMjkxNTA3RDAxKg0KK1gyNjQ3OTBZMjkxODI5RDAxKg0KK1gyNjQ3NzFZMjkyMTUxRDAxKg0KK1gyNjQ2OTZZMjkyNDY0RDAxKg0KK1gyNjQ1NzJZMjkyNzYzRDAxKg0KK1gyNjQ0MDRZMjkzMDM4RDAxKg0KK1gyNjQxOTRZMjkzMjgzRDAxKg0KK1gyNjQwMTlZMjkzNDMzRDAxKg0KK1gyNjQxNzRZMjkzNDk3RDAxKg0KK1gyNjQ0NDlZMjkzNjY1RDAxKg0KK1gyNjQ2OTRZMjkzODc1RDAxKg0KK1gyNjQ5MDRZMjk0MTIwRDAxKg0KK1gyNjUwNzJZMjk0Mzk1RDAxKg0KK1gyNjUxOTZZMjk0Njk0RDAxKg0KK1gyNjUyNDZZMjk0OTA1RDAxKg0KK1gyNjU0NzlZMjk0NzYyRDAxKg0KK1gyNjU3NzhZMjk0NjM4RDAxKg0KK1gyNjYwOTFZMjk0NTYzRDAxKg0KK1gyNjY0MTNZMjk0NTM4RDAxKg0KK1gyNjY3MzVZMjk0NTYzRDAxKg0KK1gyNjcwNDhZMjk0NjM4RDAxKg0KK1gyNjczNDdZMjk0NzYyRDAxKg0KK1gyNjc2MjJZMjk0OTMwRDAxKg0KK1gyNjc4NjdZMjk1MTQwRDAxKg0KK1gyNjgwNzdZMjk1Mzg1RDAxKg0KK1gyNjgyNDVZMjk1NjYwRDAxKg0KK1gyNjgzNjlZMjk1OTU5RDAxKg0KK1gyNjg0NDRZMjk2MjcyRDAxKg0KK1gyNjg0NjNZMjk2NTk0RDAxKg0KK1gyNjg0NDRZMjk2OTE2RDAxKg0KK1gyNjg0MjhZMjk2OTgxRDAxKg0KK1gyNjg0NDRZMjk2OTY3RDAxKg0KK1gyNjg3MTlZMjk2Nzk5RDAxKg0KK1gyNjkwMThZMjk2Njc1RDAxKg0KK1gyNjkzMzFZMjk2NjAwRDAxKg0KK1gyNjk0MzhZMjk2NTkyRDAxKg0KK1kyMzMyMzBEMDEqDQorWDI2OTM4M1kyMzMyMTdEMDEqDQorWDI2OTEyMVkyMzMxMDlEMDEqDQorWDI2ODg4MFkyMzI5NjFEMDEqDQorWDI2ODY2NFkyMzI3NzdEMDEqDQorWDI2ODQ4MFkyMzI1NjFEMDEqDQorWDI2ODMzMlkyMzIzMjBEMDEqDQorWDI2ODIyNFkyMzIwNThEMDEqDQorWDI2ODE1OFkyMzE3ODJEMDEqDQorWDI2ODEzNVkyMzE1MDBEMDEqDQorWDI2ODE1OFkyMzEyMThEMDEqDQorWDI2ODIyNFkyMzA5NDJEMDEqDQorWDI2ODMzMlkyMzA2ODBEMDEqDQorWDI2ODQ4MFkyMzA0MzlEMDEqDQorWDI2ODY2NFkyMzAyMjNEMDEqDQorWDI2ODg4MFkyMzAwMzlEMDEqDQorWDI2OTEyMVkyMjk4OTFEMDEqDQorWDI2OTM4M1kyMjk3ODNEMDEqDQorWDI2OTQzOFkyMjk3NzBEMDEqDQorWTIwMDMwNUQwMSoNCitYMjY5MTU5WTIwMDI4M0QwMSoNCitYMjY4ODgzWTIwMDIxN0QwMSoNCitYMjY4NjIxWTIwMDEwOUQwMSoNCitYMjY4MzgwWTE5OTk2MUQwMSoNCitYMjY4MTY0WTE5OTc3N0QwMSoNCitYMjY3OTgwWTE5OTU2MUQwMSoNCitYMjY3ODMyWTE5OTMyMEQwMSoNCitYMjY3NzI0WTE5OTA1OEQwMSoNCitYMjY3NjU4WTE5ODc4MkQwMSoNCitYMjY3NjM1WTE5ODUwMEQwMSoNCitYMjY3NjU4WTE5ODIxOEQwMSoNCitYMjY3NzI0WTE5Nzk0MkQwMSoNCitYMjY3ODMyWTE5NzY4MEQwMSoNCitYMjY3OTgwWTE5NzQzOUQwMSoNCitYMjY4MTY0WTE5NzIyM0QwMSoNCitYMjY4MzgwWTE5NzAzOUQwMSoNCitYMjY4NjIxWTE5Njg5MUQwMSoNCitYMjY4ODgzWTE5Njc4M0QwMSoNCitYMjY5MTU5WTE5NjcxN0QwMSoNCitYMjY5NDM4WTE5NjY5NUQwMSoNCitZMTg3MTIwRDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzEyMEQwMipYMjY5Mjg5WTE3NzM2NEQwMSoNCitYMjY4ODQ5WTE3Nzg3OUQwMSoNCitYMjY4MzM0WTE3ODMxOUQwMSoNCitYMjY3NzU3WTE3ODY3MkQwMSoNCitYMjY3MTMyWTE3ODkzMUQwMSoNCitYMjY2NDc0WTE3OTA4OUQwMSoNCitYMjY1Nzk5WTE3OTE0MkQwMSoNCitYMjY1MTI0WTE3OTA4OUQwMSoNCitYMjY0NDY2WTE3ODkzMUQwMSoNCitYMjYzODQxWTE3ODY3MkQwMSoNCitYMjYzMjY0WTE3ODMxOUQwMSoNCitYMjYyNzQ5WTE3Nzg3OUQwMSoNCitYMjYyNzQ3WTE3Nzg3NkQwMSoNCitZMTgxNzgyRDAxKg0KK1gyNjI3NDlZMTgxNzc5RDAxKg0KK1gyNjMyNjRZMTgxMzM5RDAxKg0KK1gyNjM4NDFZMTgwOTg2RDAxKg0KK1gyNjQ0NjZZMTgwNzI3RDAxKg0KK1gyNjUxMjRZMTgwNTY5RDAxKg0KK1gyNjU3OTlZMTgwNTE2RDAxKg0KK1gyNjY0NzRZMTgwNTY5RDAxKg0KK1gyNjcxMzJZMTgwNzI3RDAxKg0KK1gyNjc3NTdZMTgwOTg2RDAxKg0KK1gyNjgzMzRZMTgxMzM5RDAxKg0KK1gyNjg4NDlZMTgxNzc5RDAxKg0KK1gyNjkyODlZMTgyMjk0RDAxKg0KK1gyNjk0MzhZMTgyNTM4RDAxKg0KK1kxNzcxMjBEMDEqDQorRzM3Kg0KK0czNioNCitZMTcxNTAwRDAyKlgyNjg1MjJEMDEqDQorWDI2ODg0OVkxNzE3NzlEMDEqDQorWDI2OTI4OVkxNzIyOTREMDEqDQorWDI2OTQzOFkxNzI1MzhEMDEqDQorWTE3MTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjA5MzhZMjgyMjg0RDAyKlgyNjA5NzZZMjgyMjkzRDAxKg0KK1gyNjEyNzVZMjgyNDE3RDAxKg0KK1gyNjE1NTBZMjgyNTg1RDAxKg0KK1gyNjE3OTVZMjgyNzk1RDAxKg0KK1gyNjE5ODRZMjgzMDE3RDAxKg0KK1gyNjE5NzhZMjgyOTMxRDAxKg0KK1gyNjIwMDNZMjgyNjA5RDAxKg0KK1gyNjIwNzhZMjgyMjk2RDAxKg0KK1gyNjIyMDJZMjgxOTk3RDAxKg0KK1gyNjIzNzBZMjgxNzIyRDAxKg0KK1gyNjI1ODBZMjgxNDc3RDAxKg0KK1gyNjI3NDdZMjgxMzM0RDAxKg0KK1kyNzA4MjhEMDEqDQorWDI2MjQyOFkyNzA4MDNEMDEqDQorWDI2MjExNVkyNzA3MjhEMDEqDQorWDI2MTgxNlkyNzA2MDREMDEqDQorWDI2MTU0MVkyNzA0MzZEMDEqDQorWDI2MTI5NlkyNzAyMjZEMDEqDQorWDI2MTA4NlkyNjk5ODFEMDEqDQorWDI2MDkzOFkyNjk3MzlEMDEqDQorWTI4MjI4NEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyOTA4NDZEMDIqWDI2MTA3NlkyOTA2MjBEMDEqDQorWDI2MTI4NlkyOTAzNzVEMDEqDQorWDI2MTUzMVkyOTAxNjVEMDEqDQorWDI2MTgwNlkyODk5OTdEMDEqDQorWDI2MjEwNVkyODk4NzNEMDEqDQorWDI2MjQxOFkyODk3OThEMDEqDQorWDI2Mjc0MFkyODk3NzNEMDEqDQorWDI2Mjc0N1kyODk3NzNEMDEqDQorWTI4NDUyOEQwMSoNCitYMjYyNTgwWTI4NDM4NUQwMSoNCitYMjYyMzg2WTI4NDE1N0QwMSoNCitYMjYyMzkxWTI4NDI0OUQwMSoNCitYMjYyMzcyWTI4NDU3MUQwMSoNCitYMjYyMjk3WTI4NDg4NEQwMSoNCitYMjYyMTczWTI4NTE4M0QwMSoNCitYMjYyMDA1WTI4NTQ1OEQwMSoNCitYMjYxNzk1WTI4NTcwM0QwMSoNCitYMjYxNTUwWTI4NTkxM0QwMSoNCitYMjYxMjc1WTI4NjA4MUQwMSoNCitYMjYwOTc2WTI4NjIwNUQwMSoNCitYMjYwOTM4WTI4NjIxNEQwMSoNCitZMjkwODQ2RDAxKg0KK0czNyoNCitHMzYqDQorWTMwNTY1MkQwMipYMjYwOTQ0WTMwNTY1MEQwMSoNCitYMjYxMjIwWTMwNTU4NEQwMSoNCitYMjYxNTAyWTMwNTU2MUQwMSoNCitYMjYxNzg0WTMwNTU4NEQwMSoNCitYMjYyMDYwWTMwNTY1MEQwMSoNCitYMjYyMzIyWTMwNTc1OEQwMSoNCitYMjYyNTYzWTMwNTkwNkQwMSoNCitYMjYyNzQ3WTMwNjA2M0QwMSoNCitZMjk3MzE5RDAxKg0KK1gyNjI2MDVZMjk3Mjg1RDAxKg0KK1gyNjIzMDZZMjk3MTYxRDAxKg0KK1gyNjIwMzFZMjk2OTkzRDAxKg0KK1gyNjE3ODZZMjk2NzgzRDAxKg0KK1gyNjE1NzZZMjk2NTM4RDAxKg0KK1gyNjE0MDhZMjk2MjYzRDAxKg0KK1gyNjEyODRZMjk1OTY0RDAxKg0KK1gyNjEyMDlZMjk1NjUxRDAxKg0KK1gyNjExODRZMjk1MzI5RDAxKg0KK1gyNjEyMDlZMjk1MDA3RDAxKg0KK1gyNjEyODRZMjk0Njk0RDAxKg0KK1gyNjE0MDhZMjk0Mzk1RDAxKg0KK1gyNjE1NzZZMjk0MTIwRDAxKg0KK1gyNjE3ODZZMjkzODc1RDAxKg0KK1gyNjE5NjFZMjkzNzI1RDAxKg0KK1gyNjE4MDZZMjkzNjYxRDAxKg0KK1gyNjE1MzFZMjkzNDkzRDAxKg0KK1gyNjEyODZZMjkzMjgzRDAxKg0KK1gyNjEwNzZZMjkzMDM4RDAxKg0KK1gyNjA5MzhZMjkyODEyRDAxKg0KK1kzMDU2NTJEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyNjI3NDdEMDEqDQorWTM3Nzg3NkQwMSoNCitYMjYyMzA5WTM3NzM2NEQwMSoNCitYMjYxOTU2WTM3Njc4N0QwMSoNCitYMjYxNjk3WTM3NjE2MkQwMSoNCitYMjYxNTM5WTM3NTUwNEQwMSoNCitYMjYxNDg2WTM3NDgyOUQwMSoNCitYMjYxNTM5WTM3NDE1NEQwMSoNCitYMjYxNjk3WTM3MzQ5NkQwMSoNCitYMjYxOTU2WTM3Mjg3MUQwMSoNCitYMjYyMzA5WTM3MjI5NEQwMSoNCitYMjYyNzQ3WTM3MTc4MkQwMSoNCitZMzY3ODc2RDAxKg0KK1gyNjIzMDlZMzY3MzY0RDAxKg0KK1gyNjE5NTZZMzY2Nzg3RDAxKg0KK1gyNjE2OTdZMzY2MTYyRDAxKg0KK1gyNjE1MzlZMzY1NTA0RDAxKg0KK1gyNjE0ODZZMzY0ODI5RDAxKg0KK1gyNjE1MzlZMzY0MTU0RDAxKg0KK1gyNjE2OTdZMzYzNDk2RDAxKg0KK1gyNjE5NTZZMzYyODcxRDAxKg0KK1gyNjIzMDlZMzYyMjk0RDAxKg0KK1gyNjI3NDdZMzYxNzgyRDAxKg0KK1kzMjE2NjFEMDEqDQorWDI2MjYyMVkzMjE2MDlEMDEqDQorWDI2MjM4MFkzMjE0NjFEMDEqDQorWDI2MjE2NFkzMjEyNzdEMDEqDQorWDI2MTk4MFkzMjEwNjFEMDEqDQorWDI2MTgzMlkzMjA4MjBEMDEqDQorWDI2MTcyNFkzMjA1NThEMDEqDQorWDI2MTY1OFkzMjAyODJEMDEqDQorWDI2MTYzNVkzMjAwMDBEMDEqDQorWDI2MTY1OFkzMTk3MThEMDEqDQorWDI2MTcyNFkzMTk0NDJEMDEqDQorWDI2MTgzMlkzMTkxODBEMDEqDQorWDI2MTk4MFkzMTg5MzlEMDEqDQorWDI2MjE2NFkzMTg3MjNEMDEqDQorWDI2MjM4MFkzMTg1MzlEMDEqDQorWDI2MjYyMVkzMTgzOTFEMDEqDQorWDI2Mjc0N1kzMTgzMzlEMDEqDQorWTMwODY3MUQwMSoNCitYMjYyNTYzWTMwODgyOEQwMSoNCitYMjYyMzIyWTMwODk3NkQwMSoNCitYMjYyMDYwWTMwOTA4NEQwMSoNCitYMjYxNzg0WTMwOTE1MEQwMSoNCitYMjYxNTAyWTMwOTE3M0QwMSoNCitYMjYxMjIwWTMwOTE1MEQwMSoNCitYMjYwOTQ0WTMwOTA4NEQwMSoNCitYMjYwOTM4WTMwOTA4MkQwMSoNCitZMzE1MjM1RDAxKg0KK1gyNjExMjZZMzE1MjgwRDAxKg0KK1gyNjEzODhZMzE1Mzg4RDAxKg0KK1gyNjE2MjlZMzE1NTM2RDAxKg0KK1gyNjE4NDVZMzE1NzIwRDAxKg0KK1gyNjIwMjlZMzE1OTM2RDAxKg0KK1gyNjIxNzdZMzE2MTc3RDAxKg0KK1gyNjIyODVZMzE2NDM5RDAxKg0KK1gyNjIzNTFZMzE2NzE1RDAxKg0KK1gyNjIzNjhZMzE2OTk3RDAxKg0KK1gyNjIzNTFZMzE3Mjc5RDAxKg0KK1gyNjIyODVZMzE3NTU1RDAxKg0KK1gyNjIxNzdZMzE3ODE3RDAxKg0KK1gyNjIwMjlZMzE4MDU4RDAxKg0KK1gyNjE4NDVZMzE4Mjc0RDAxKg0KK1gyNjE2MjlZMzE4NDU4RDAxKg0KK1gyNjEzODhZMzE4NjA2RDAxKg0KK1gyNjExMjZZMzE4NzE0RDAxKg0KK1gyNjA5MzhZMzE4NzU5RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjYyNzQ3WTE3Nzg3NkQwMipYMjYyMzA5WTE3NzM2NEQwMSoNCitYMjYxOTU2WTE3Njc4N0QwMSoNCitYMjYxNjk3WTE3NjE2MkQwMSoNCitYMjYxNTM5WTE3NTUwNEQwMSoNCitYMjYxNDg2WTE3NDgyOUQwMSoNCitYMjYxNTM5WTE3NDE1NEQwMSoNCitYMjYxNjk3WTE3MzQ5NkQwMSoNCitYMjYxOTU2WTE3Mjg3MUQwMSoNCitYMjYyMzA5WTE3MjI5NEQwMSoNCitYMjYyNzQ3WTE3MTc4MkQwMSoNCitZMTcxNTAwRDAxKg0KK1gyNjA5MzhEMDEqDQorWTE4OTY5NUQwMSoNCitYMjYwOTQxWTE4OTY5NEQwMSoNCitYMjYxMjIzWTE4OTcxN0QwMSoNCitYMjYxNDk5WTE4OTc4M0QwMSoNCitYMjYxNzYxWTE4OTg5MUQwMSoNCitYMjYyMDAyWTE5MDAzOUQwMSoNCitYMjYyMjE4WTE5MDIyM0QwMSoNCitYMjYyNDAyWTE5MDQzOUQwMSoNCitYMjYyNTUwWTE5MDY4MEQwMSoNCitYMjYyNjU4WTE5MDk0MkQwMSoNCitYMjYyNzI0WTE5MTIxOEQwMSoNCitYMjYyNzQxWTE5MTUwMEQwMSoNCitYMjYyNzI0WTE5MTc4MkQwMSoNCitYMjYyNjU4WTE5MjA1OEQwMSoNCitYMjYyNTUwWTE5MjMyMEQwMSoNCitYMjYyNDAyWTE5MjU2MUQwMSoNCitYMjYyMjE4WTE5Mjc3N0QwMSoNCitYMjYyMDAyWTE5Mjk2MUQwMSoNCitYMjYxNzYxWTE5MzEwOUQwMSoNCitYMjYxNDk5WTE5MzIxN0QwMSoNCitYMjYxMjIzWTE5MzI4M0QwMSoNCitYMjYwOTQxWTE5MzMwNkQwMSoNCitYMjYwOTM4WTE5MzMwNUQwMSoNCitZMjY3ODA1RDAxKg0KK1gyNjEwODZZMjY3NTYzRDAxKg0KK1gyNjEyOTZZMjY3MzE4RDAxKg0KK1gyNjE1NDFZMjY3MTA4RDAxKg0KK1gyNjE4MTZZMjY2OTQwRDAxKg0KK1gyNjIxMTVZMjY2ODE2RDAxKg0KK1gyNjI0MjhZMjY2NzQxRDAxKg0KK1gyNjI3NDdZMjY2NzE2RDAxKg0KK1kxODc4NzZEMDEqDQorWDI2MjMwOVkxODczNjREMDEqDQorWDI2MTk1NlkxODY3ODdEMDEqDQorWDI2MTY5N1kxODYxNjJEMDEqDQorWDI2MTUzOVkxODU1MDREMDEqDQorWDI2MTQ4NlkxODQ4MjlEMDEqDQorWDI2MTUzOVkxODQxNTREMDEqDQorWDI2MTY5N1kxODM0OTZEMDEqDQorWDI2MTk1NlkxODI4NzFEMDEqDQorWDI2MjMwOVkxODIyOTREMDEqDQorWDI2Mjc0N1kxODE3ODJEMDEqDQorWTE3Nzg3NkQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjA5MzhZMTcxNTAwRDAyKlgyNTg1MjJEMDEqDQorWDI1ODg0OVkxNzE3NzlEMDEqDQorWDI1OTI4OVkxNzIyOTREMDEqDQorWDI1OTY0MlkxNzI4NzFEMDEqDQorWDI1OTkwMVkxNzM0OTZEMDEqDQorWDI2MDA1OVkxNzQxNTREMDEqDQorWDI2MDA5OVkxNzQ4MjlEMDEqDQorWDI2MDA1OVkxNzU1MDREMDEqDQorWDI1OTkwMVkxNzYxNjJEMDEqDQorWDI1OTY0MlkxNzY3ODdEMDEqDQorWDI1OTI4OVkxNzczNjREMDEqDQorWDI1ODg0OVkxNzc4NzlEMDEqDQorWDI1ODMzNFkxNzgzMTlEMDEqDQorWDI1Nzc1N1kxNzg2NzJEMDEqDQorWDI1NzEzMlkxNzg5MzFEMDEqDQorWDI1NjQ3NFkxNzkwODlEMDEqDQorWDI1NTc5OVkxNzkxNDJEMDEqDQorWDI1NTEyNFkxNzkwODlEMDEqDQorWDI1NDQ2NlkxNzg5MzFEMDEqDQorWDI1Mzg0MVkxNzg2NzJEMDEqDQorWDI1MzI2NFkxNzgzMTlEMDEqDQorWDI1MzA5OFkxNzgxNzdEMDEqDQorWTE4MTQ4MUQwMSoNCitYMjUzMjY0WTE4MTMzOUQwMSoNCitYMjUzODQxWTE4MDk4NkQwMSoNCitYMjU0NDY2WTE4MDcyN0QwMSoNCitYMjU1MTI0WTE4MDU2OUQwMSoNCitYMjU1Nzk5WTE4MDUxNkQwMSoNCitYMjU2NDc0WTE4MDU2OUQwMSoNCitYMjU3MTMyWTE4MDcyN0QwMSoNCitYMjU3NzU3WTE4MDk4NkQwMSoNCitYMjU4MzM0WTE4MTMzOUQwMSoNCitYMjU4ODQ5WTE4MTc3OUQwMSoNCitYMjU5Mjg5WTE4MjI5NEQwMSoNCitYMjU5NjQyWTE4Mjg3MUQwMSoNCitYMjU5OTAxWTE4MzQ5NkQwMSoNCitYMjYwMDU5WTE4NDE1NEQwMSoNCitYMjYwMDk5WTE4NDgyOUQwMSoNCitYMjYwMDU5WTE4NTUwNEQwMSoNCitYMjU5OTAxWTE4NjE2MkQwMSoNCitYMjU5NjQyWTE4Njc4N0QwMSoNCitYMjU5Mjg5WTE4NzM2NEQwMSoNCitYMjU4ODQ5WTE4Nzg3OUQwMSoNCitYMjU4MzM0WTE4ODMxOUQwMSoNCitYMjU3NzU3WTE4ODY3MkQwMSoNCitYMjU3MTMyWTE4ODkzMUQwMSoNCitYMjU2NDc0WTE4OTA4OUQwMSoNCitYMjU1Nzk5WTE4OTE0MkQwMSoNCitYMjU1MTI0WTE4OTA4OUQwMSoNCitYMjU0NDY2WTE4ODkzMUQwMSoNCitYMjUzODQxWTE4ODY3MkQwMSoNCitYMjUzMjY0WTE4ODMxOUQwMSoNCitYMjUzMDk4WTE4ODE3N0QwMSoNCitZMjA5MTIxRDAxKg0KK1gyNTMyMThZMjA5MjIzRDAxKg0KK1gyNTM0MDJZMjA5NDM5RDAxKg0KK1gyNTM1NTBZMjA5NjgwRDAxKg0KK1gyNTM2NThZMjA5OTQyRDAxKg0KK1gyNTM3MjRZMjEwMjE4RDAxKg0KK1gyNTM3NDFZMjEwNTAwRDAxKg0KK1gyNTM3MjRZMjEwNzgyRDAxKg0KK1gyNTM2NThZMjExMDU4RDAxKg0KK1gyNTM1NTBZMjExMzIwRDAxKg0KK1gyNTM0MDJZMjExNTYxRDAxKg0KK1gyNTMyMThZMjExNzc3RDAxKg0KK1gyNTMwOThZMjExODc5RDAxKg0KK1kyNTk3ODBEMDEqDQorWDI1MzEwMVkyNTk3ODBEMDEqDQorWDI1MzQyM1kyNTk4MDVEMDEqDQorWDI1MzczNlkyNTk4ODBEMDEqDQorWDI1NDAzNVkyNjAwMDREMDEqDQorWDI1NDMxMFkyNjAxNzJEMDEqDQorWDI1NDU1NVkyNjAzODJEMDEqDQorWDI1NDc2NVkyNjA2MjdEMDEqDQorWDI1NDkzM1kyNjA5MDJEMDEqDQorWDI1NTA1N1kyNjEyMDFEMDEqDQorWDI1NTEzMlkyNjE1MTREMDEqDQorWDI1NTE1MVkyNjE4MzZEMDEqDQorWDI1NTEzMlkyNjIxNThEMDEqDQorWDI1NTA1N1kyNjI0NzFEMDEqDQorWDI1NDkzM1kyNjI3NzBEMDEqDQorWDI1NDc2NVkyNjMwNDVEMDEqDQorWDI1NDU1NVkyNjMyOTBEMDEqDQorWDI1NDMxMFkyNjM1MDBEMDEqDQorWDI1NDAzNVkyNjM2NjhEMDEqDQorWDI1MzczNlkyNjM3OTJEMDEqDQorWDI1MzQyM1kyNjM4NjdEMDEqDQorWDI1MzEwMVkyNjM4OTJEMDEqDQorWDI1MzA5OFkyNjM4OTJEMDEqDQorWTI5NzA5NUQwMSoNCitYMjUzMjg2WTI5Njg3NUQwMSoNCitYMjUzNTMxWTI5NjY2NUQwMSoNCitYMjUzODA2WTI5NjQ5N0QwMSoNCitYMjU0MTA1WTI5NjM3M0QwMSoNCitYMjU0NDE4WTI5NjI5OEQwMSoNCitYMjU0NzQwWTI5NjI3M0QwMSoNCitYMjU1MDYyWTI5NjI5OEQwMSoNCitYMjU1Mzc1WTI5NjM3M0QwMSoNCitYMjU1Njc0WTI5NjQ5N0QwMSoNCitYMjU1OTQ5WTI5NjY2NUQwMSoNCitYMjU2MTk0WTI5Njg3NUQwMSoNCitYMjU2NDA0WTI5NzEyMEQwMSoNCitYMjU2NTcyWTI5NzM5NUQwMSoNCitYMjU2Njk2WTI5NzY5NEQwMSoNCitYMjU2NzcxWTI5ODAwN0QwMSoNCitYMjU2NzkwWTI5ODMyOUQwMSoNCitYMjU2NzcxWTI5ODY1MUQwMSoNCitYMjU2Njk2WTI5ODk2NEQwMSoNCitYMjU2NTcyWTI5OTI2M0QwMSoNCitYMjU2NDA0WTI5OTUzOEQwMSoNCitYMjU2MTk0WTI5OTc4M0QwMSoNCitYMjU1OTQ5WTI5OTk5M0QwMSoNCitYMjU1Njc0WTMwMDE2MUQwMSoNCitYMjU1Mzc1WTMwMDI4NUQwMSoNCitYMjU1MDYyWTMwMDM2MEQwMSoNCitYMjU0NzQwWTMwMDM4NUQwMSoNCitYMjU0NDE4WTMwMDM2MEQwMSoNCitYMjU0MTA1WTMwMDI4NUQwMSoNCitYMjUzODA2WTMwMDE2MUQwMSoNCitYMjUzNTMxWTI5OTk5M0QwMSoNCitYMjUzMjg2WTI5OTc4M0QwMSoNCitYMjUzMDk4WTI5OTU2M0QwMSoNCitZMzYxNDgxRDAxKg0KK1gyNTMyNjRZMzYxMzM5RDAxKg0KK1gyNTM4NDFZMzYwOTg2RDAxKg0KK1gyNTQ0NjZZMzYwNzI3RDAxKg0KK1gyNTUxMjRZMzYwNTY5RDAxKg0KK1gyNTU3OTlZMzYwNTE2RDAxKg0KK1gyNTY0NzRZMzYwNTY5RDAxKg0KK1gyNTcxMzJZMzYwNzI3RDAxKg0KK1gyNTc3NTdZMzYwOTg2RDAxKg0KK1gyNTgzMzRZMzYxMzM5RDAxKg0KK1gyNTg4NDlZMzYxNzc5RDAxKg0KK1gyNTkyODlZMzYyMjk0RDAxKg0KK1gyNTk2NDJZMzYyODcxRDAxKg0KK1gyNTk5MDFZMzYzNDk2RDAxKg0KK1gyNjAwNTlZMzY0MTU0RDAxKg0KK1gyNjAwOTlZMzY0ODI5RDAxKg0KK1gyNjAwNTlZMzY1NTA0RDAxKg0KK1gyNTk5MDFZMzY2MTYyRDAxKg0KK1gyNTk2NDJZMzY2Nzg3RDAxKg0KK1gyNTkyODlZMzY3MzY0RDAxKg0KK1gyNTg4NDlZMzY3ODc5RDAxKg0KK1gyNTgzMzRZMzY4MzE5RDAxKg0KK1gyNTc3NTdZMzY4NjcyRDAxKg0KK1gyNTcxMzJZMzY4OTMxRDAxKg0KK1gyNTY0NzRZMzY5MDg5RDAxKg0KK1gyNTU3OTlZMzY5MTQyRDAxKg0KK1gyNTUxMjRZMzY5MDg5RDAxKg0KK1gyNTQ0NjZZMzY4OTMxRDAxKg0KK1gyNTM4NDFZMzY4NjcyRDAxKg0KK1gyNTMyNjRZMzY4MzE5RDAxKg0KK1gyNTMwOThZMzY4MTc3RDAxKg0KK1kzNzE0ODFEMDEqDQorWDI1MzI2NFkzNzEzMzlEMDEqDQorWDI1Mzg0MVkzNzA5ODZEMDEqDQorWDI1NDQ2NlkzNzA3MjdEMDEqDQorWDI1NTEyNFkzNzA1NjlEMDEqDQorWDI1NTc5OVkzNzA1MTZEMDEqDQorWDI1NjQ3NFkzNzA1NjlEMDEqDQorWDI1NzEzMlkzNzA3MjdEMDEqDQorWDI1Nzc1N1kzNzA5ODZEMDEqDQorWDI1ODMzNFkzNzEzMzlEMDEqDQorWDI1ODg0OVkzNzE3NzlEMDEqDQorWDI1OTI4OVkzNzIyOTREMDEqDQorWDI1OTY0MlkzNzI4NzFEMDEqDQorWDI1OTkwMVkzNzM0OTZEMDEqDQorWDI2MDA1OVkzNzQxNTREMDEqDQorWDI2MDA5OVkzNzQ4MjlEMDEqDQorWDI2MDA1OVkzNzU1MDREMDEqDQorWDI1OTkwMVkzNzYxNjJEMDEqDQorWDI1OTY0MlkzNzY3ODdEMDEqDQorWDI1OTI4OVkzNzczNjREMDEqDQorWDI1ODg0OVkzNzc4NzlEMDEqDQorWDI1ODMzNFkzNzgzMTlEMDEqDQorWDI1Nzc1N1kzNzg2NzJEMDEqDQorWDI1NzEzMlkzNzg5MzFEMDEqDQorWDI1NjQ3NFkzNzkwODlEMDEqDQorWDI1NTc5OVkzNzkxNDJEMDEqDQorWDI1NTEyNFkzNzkwODlEMDEqDQorWDI1NDQ2NlkzNzg5MzFEMDEqDQorWDI1Mzg0MVkzNzg2NzJEMDEqDQorWDI1MzI2NFkzNzgzMTlEMDEqDQorWDI1MzA5OFkzNzgxNzdEMDEqDQorWTM5NzAwMEQwMSoNCitYMjYwOTM4RDAxKg0KK1kzMTg3NTlEMDEqDQorWDI2MDg1MFkzMTg3ODBEMDEqDQorWDI2MDU2OFkzMTg4MDNEMDEqDQorWDI2MDI4NlkzMTg3ODBEMDEqDQorWDI2MDAxMFkzMTg3MTREMDEqDQorWDI1OTc0OFkzMTg2MDZEMDEqDQorWDI1OTUwN1kzMTg0NThEMDEqDQorWDI1OTI5MVkzMTgyNzREMDEqDQorWDI1OTEwN1kzMTgwNThEMDEqDQorWDI1ODk1OVkzMTc4MTdEMDEqDQorWDI1ODg1MVkzMTc1NTVEMDEqDQorWDI1ODc4NVkzMTcyNzlEMDEqDQorWDI1ODc2MlkzMTY5OTdEMDEqDQorWDI1ODc4NVkzMTY3MTVEMDEqDQorWDI1ODg1MVkzMTY0MzlEMDEqDQorWDI1ODk1OVkzMTYxNzdEMDEqDQorWDI1OTEwN1kzMTU5MzZEMDEqDQorWDI1OTI5MVkzMTU3MjBEMDEqDQorWDI1OTUwN1kzMTU1MzZEMDEqDQorWDI1OTc0OFkzMTUzODhEMDEqDQorWDI2MDAxMFkzMTUyODBEMDEqDQorWDI2MDI4NlkzMTUyMTREMDEqDQorWDI2MDU2OFkzMTUxOTFEMDEqDQorWDI2MDg1MFkzMTUyMTREMDEqDQorWDI2MDkzOFkzMTUyMzVEMDEqDQorWTMwOTA4MkQwMSoNCitYMjYwNjgyWTMwODk3NkQwMSoNCitYMjYwNDQxWTMwODgyOEQwMSoNCitYMjYwMjI1WTMwODY0NEQwMSoNCitYMjYwMDQxWTMwODQyOEQwMSoNCitYMjU5ODkzWTMwODE4N0QwMSoNCitYMjU5Nzg1WTMwNzkyNUQwMSoNCitYMjU5NzE5WTMwNzY0OUQwMSoNCitYMjU5Njk2WTMwNzM2N0QwMSoNCitYMjU5NzE5WTMwNzA4NUQwMSoNCitYMjU5Nzg1WTMwNjgwOUQwMSoNCitYMjU5ODkzWTMwNjU0N0QwMSoNCitYMjYwMDQxWTMwNjMwNkQwMSoNCitYMjYwMjI1WTMwNjA5MEQwMSoNCitYMjYwNDQxWTMwNTkwNkQwMSoNCitYMjYwNjgyWTMwNTc1OEQwMSoNCitYMjYwOTM4WTMwNTY1MkQwMSoNCitZMjkyODEyRDAxKg0KK1gyNjA5MDhZMjkyNzYzRDAxKg0KK1gyNjA3ODRZMjkyNDY0RDAxKg0KK1gyNjA3MDlZMjkyMTUxRDAxKg0KK1gyNjA2ODRZMjkxODI5RDAxKg0KK1gyNjA3MDlZMjkxNTA3RDAxKg0KK1gyNjA3ODRZMjkxMTk0RDAxKg0KK1gyNjA5MDhZMjkwODk1RDAxKg0KK1gyNjA5MzhZMjkwODQ2RDAxKg0KK1kyODYyMTREMDEqDQorWDI2MDY2M1kyODYyODBEMDEqDQorWDI2MDM0MVkyODYzMDVEMDEqDQorWDI2MDAxOVkyODYyODBEMDEqDQorWDI1OTcwNlkyODYyMDVEMDEqDQorWDI1OTQwN1kyODYwODFEMDEqDQorWDI1OTEzMlkyODU5MTNEMDEqDQorWDI1ODg4N1kyODU3MDNEMDEqDQorWDI1ODY3N1kyODU0NThEMDEqDQorWDI1ODUwOVkyODUxODNEMDEqDQorWDI1ODM4NVkyODQ4ODREMDEqDQorWDI1ODMxMFkyODQ1NzFEMDEqDQorWDI1ODI4NVkyODQyNDlEMDEqDQorWDI1ODMxMFkyODM5MjdEMDEqDQorWDI1ODM4NVkyODM2MTREMDEqDQorWDI1ODUwOVkyODMzMTVEMDEqDQorWDI1ODY3N1kyODMwNDBEMDEqDQorWDI1ODg4N1kyODI3OTVEMDEqDQorWDI1OTEzMlkyODI1ODVEMDEqDQorWDI1OTQwN1kyODI0MTdEMDEqDQorWDI1OTcwNlkyODIyOTNEMDEqDQorWDI2MDAxOVkyODIyMThEMDEqDQorWDI2MDM0MVkyODIxOTNEMDEqDQorWDI2MDY2M1kyODIyMThEMDEqDQorWDI2MDkzOFkyODIyODREMDEqDQorWTI2OTczOUQwMSoNCitYMjYwOTE4WTI2OTcwNkQwMSoNCitYMjYwNzk0WTI2OTQwN0QwMSoNCitYMjYwNzE5WTI2OTA5NEQwMSoNCitYMjYwNjk0WTI2ODc3MkQwMSoNCitYMjYwNzE5WTI2ODQ1MEQwMSoNCitYMjYwNzk0WTI2ODEzN0QwMSoNCitYMjYwOTE4WTI2NzgzOEQwMSoNCitYMjYwOTM4WTI2NzgwNUQwMSoNCitZMTkzMzA1RDAxKg0KK1gyNjA2NTlZMTkzMjgzRDAxKg0KK1gyNjAzODNZMTkzMjE3RDAxKg0KK1gyNjAxMjFZMTkzMTA5RDAxKg0KK1gyNTk4ODBZMTkyOTYxRDAxKg0KK1gyNTk2NjRZMTkyNzc3RDAxKg0KK1gyNTk0ODBZMTkyNTYxRDAxKg0KK1gyNTkzMzJZMTkyMzIwRDAxKg0KK1gyNTkyMjRZMTkyMDU4RDAxKg0KK1gyNTkxNThZMTkxNzgyRDAxKg0KK1gyNTkxMzVZMTkxNTAwRDAxKg0KK1gyNTkxNThZMTkxMjE4RDAxKg0KK1gyNTkyMjRZMTkwOTQyRDAxKg0KK1gyNTkzMzJZMTkwNjgwRDAxKg0KK1gyNTk0ODBZMTkwNDM5RDAxKg0KK1gyNTk2NjRZMTkwMjIzRDAxKg0KK1gyNTk4ODBZMTkwMDM5RDAxKg0KK1gyNjAxMjFZMTg5ODkxRDAxKg0KK1gyNjAzODNZMTg5NzgzRDAxKg0KK1gyNjA2NTlZMTg5NzE3RDAxKg0KK1gyNjA5MzhZMTg5Njk1RDAxKg0KK1kxNzE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUwOTM4WTM5NzAwMEQwMipYMjUzMDk4RDAxKg0KK1kzNzgxNzdEMDEqDQorWDI1Mjc0OVkzNzc4NzlEMDEqDQorWDI1MjMwOVkzNzczNjREMDEqDQorWDI1MTk1NlkzNzY3ODdEMDEqDQorWDI1MTY5N1kzNzYxNjJEMDEqDQorWDI1MTUzOVkzNzU1MDREMDEqDQorWDI1MTQ4NlkzNzQ4MjlEMDEqDQorWDI1MTUzOVkzNzQxNTREMDEqDQorWDI1MTY5N1kzNzM0OTZEMDEqDQorWDI1MTk1NlkzNzI4NzFEMDEqDQorWDI1MjMwOVkzNzIyOTREMDEqDQorWDI1Mjc0OVkzNzE3NzlEMDEqDQorWDI1MzA5OFkzNzE0ODFEMDEqDQorWTM2ODE3N0QwMSoNCitYMjUyNzQ5WTM2Nzg3OUQwMSoNCitYMjUyMzA5WTM2NzM2NEQwMSoNCitYMjUxOTU2WTM2Njc4N0QwMSoNCitYMjUxNjk3WTM2NjE2MkQwMSoNCitYMjUxNTM5WTM2NTUwNEQwMSoNCitYMjUxNDg2WTM2NDgyOUQwMSoNCitYMjUxNTM5WTM2NDE1NEQwMSoNCitYMjUxNjk3WTM2MzQ5NkQwMSoNCitYMjUxOTU2WTM2Mjg3MUQwMSoNCitYMjUyMzA5WTM2MjI5NEQwMSoNCitYMjUyNzQ5WTM2MTc3OUQwMSoNCitYMjUzMDk4WTM2MTQ4MUQwMSoNCitZMjk5NTYzRDAxKg0KK1gyNTMwNzZZMjk5NTM4RDAxKg0KK1gyNTI5MDhZMjk5MjYzRDAxKg0KK1gyNTI3ODRZMjk4OTY0RDAxKg0KK1gyNTI3MDlZMjk4NjUxRDAxKg0KK1gyNTI2ODRZMjk4MzI5RDAxKg0KK1gyNTI3MDlZMjk4MDA3RDAxKg0KK1gyNTI3ODRZMjk3Njk0RDAxKg0KK1gyNTI5MDhZMjk3Mzk1RDAxKg0KK1gyNTMwNzZZMjk3MTIwRDAxKg0KK1gyNTMwOThZMjk3MDk1RDAxKg0KK1kyNjM4OTJEMDEqDQorWDI1Mjc3OVkyNjM4NjdEMDEqDQorWDI1MjQ2NlkyNjM3OTJEMDEqDQorWDI1MjE2N1kyNjM2NjhEMDEqDQorWDI1MTg5MlkyNjM1MDBEMDEqDQorWDI1MTY0N1kyNjMyOTBEMDEqDQorWDI1MTQzN1kyNjMwNDVEMDEqDQorWDI1MTI2OVkyNjI3NzBEMDEqDQorWDI1MTE0NVkyNjI0NzFEMDEqDQorWDI1MTA3MFkyNjIxNThEMDEqDQorWDI1MTA0NVkyNjE4MzZEMDEqDQorWDI1MTA3MFkyNjE1MTREMDEqDQorWDI1MTE0NVkyNjEyMDFEMDEqDQorWDI1MTI2OVkyNjA5MDJEMDEqDQorWDI1MTQzN1kyNjA2MjdEMDEqDQorWDI1MTY0N1kyNjAzODJEMDEqDQorWDI1MTg5MlkyNjAxNzJEMDEqDQorWDI1MjE2N1kyNjAwMDREMDEqDQorWDI1MjQ2NlkyNTk4ODBEMDEqDQorWDI1Mjc3OVkyNTk4MDVEMDEqDQorWDI1MzA5OFkyNTk3ODBEMDEqDQorWTIxMTg3OUQwMSoNCitYMjUzMDAyWTIxMTk2MUQwMSoNCitYMjUyNzYxWTIxMjEwOUQwMSoNCitYMjUyNDk5WTIxMjIxN0QwMSoNCitYMjUyMjIzWTIxMjI4M0QwMSoNCitYMjUxOTQxWTIxMjMwNkQwMSoNCitYMjUxNjU5WTIxMjI4M0QwMSoNCitYMjUxMzgzWTIxMjIxN0QwMSoNCitYMjUxMTIxWTIxMjEwOUQwMSoNCitYMjUwOTM4WTIxMTk5N0QwMSoNCitZMjI3Njk1RDAxKg0KK1gyNTA5NDFZMjI3Njk0RDAxKg0KK1gyNTEyMjNZMjI3NzE3RDAxKg0KK1gyNTE0OTlZMjI3NzgzRDAxKg0KK1gyNTE3NjFZMjI3ODkxRDAxKg0KK1gyNTIwMDJZMjI4MDM5RDAxKg0KK1gyNTIyMThZMjI4MjIzRDAxKg0KK1gyNTI0MDJZMjI4NDM5RDAxKg0KK1gyNTI1NTBZMjI4NjgwRDAxKg0KK1gyNTI2NThZMjI4OTQyRDAxKg0KK1gyNTI3MjRZMjI5MjE4RDAxKg0KK1gyNTI3NDFZMjI5NTAwRDAxKg0KK1gyNTI3MjRZMjI5NzgyRDAxKg0KK1gyNTI2NThZMjMwMDU4RDAxKg0KK1gyNTI1NTBZMjMwMzIwRDAxKg0KK1gyNTI0MDJZMjMwNTYxRDAxKg0KK1gyNTIyMThZMjMwNzc3RDAxKg0KK1gyNTIwMDJZMjMwOTYxRDAxKg0KK1gyNTE3NjFZMjMxMTA5RDAxKg0KK1gyNTE0OTlZMjMxMjE3RDAxKg0KK1gyNTEyMjNZMjMxMjgzRDAxKg0KK1gyNTA5NDFZMjMxMzA2RDAxKg0KK1gyNTA5MzhZMjMxMzA1RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUzMDk4WTE3ODE3N0QwMipYMjUyNzQ5WTE3Nzg3OUQwMSoNCitYMjUyMzA5WTE3NzM2NEQwMSoNCitYMjUxOTU2WTE3Njc4N0QwMSoNCitYMjUxNjk3WTE3NjE2MkQwMSoNCitYMjUxNTM5WTE3NTUwNEQwMSoNCitYMjUxNDg2WTE3NDgyOUQwMSoNCitYMjUxNTM5WTE3NDE1NEQwMSoNCitYMjUxNjk3WTE3MzQ5NkQwMSoNCitYMjUxOTU2WTE3Mjg3MUQwMSoNCitYMjUyMzA5WTE3MjI5NEQwMSoNCitYMjUyNzQ5WTE3MTc3OUQwMSoNCitYMjUzMDc2WTE3MTUwMEQwMSoNCitYMjUwOTM4RDAxKg0KK1kyMDkwMDNEMDEqDQorWDI1MTEyMVkyMDg4OTFEMDEqDQorWDI1MTM4M1kyMDg3ODNEMDEqDQorWDI1MTY1OVkyMDg3MTdEMDEqDQorWDI1MTk0MVkyMDg2OTREMDEqDQorWDI1MjIyM1kyMDg3MTdEMDEqDQorWDI1MjQ5OVkyMDg3ODNEMDEqDQorWDI1Mjc2MVkyMDg4OTFEMDEqDQorWDI1MzAwMlkyMDkwMzlEMDEqDQorWDI1MzA5OFkyMDkxMjFEMDEqDQorWTE4ODE3N0QwMSoNCitYMjUyNzQ5WTE4Nzg3OUQwMSoNCitYMjUyMzA5WTE4NzM2NEQwMSoNCitYMjUxOTU2WTE4Njc4N0QwMSoNCitYMjUxNjk3WTE4NjE2MkQwMSoNCitYMjUxNTM5WTE4NTUwNEQwMSoNCitYMjUxNDg2WTE4NDgyOUQwMSoNCitYMjUxNTM5WTE4NDE1NEQwMSoNCitYMjUxNjk3WTE4MzQ5NkQwMSoNCitYMjUxOTU2WTE4Mjg3MUQwMSoNCitYMjUyMzA5WTE4MjI5NEQwMSoNCitYMjUyNzQ5WTE4MTc3OUQwMSoNCitYMjUzMDk4WTE4MTQ4MUQwMSoNCitZMTc4MTc3RDAxKg0KK0czNyoNCitHMzYqDQorWDI1MDkzOFkxNzE1MDBEMDIqWDI0OTA5OEQwMSoNCitZMTcyMDcxRDAxKg0KK1gyNDkyODlZMTcyMjk0RDAxKg0KK1gyNDk2NDJZMTcyODcxRDAxKg0KK1gyNDk5MDFZMTczNDk2RDAxKg0KK1gyNTAwNTlZMTc0MTU0RDAxKg0KK1gyNTAwOTlZMTc0ODI5RDAxKg0KK1gyNTAwNTlZMTc1NTA0RDAxKg0KK1gyNDk5MDFZMTc2MTYyRDAxKg0KK1gyNDk2NDJZMTc2Nzg3RDAxKg0KK1gyNDkyODlZMTc3MzY0RDAxKg0KK1gyNDkwOThZMTc3NTg3RDAxKg0KK1kxODIwNzFEMDEqDQorWDI0OTI4OVkxODIyOTREMDEqDQorWDI0OTY0MlkxODI4NzFEMDEqDQorWDI0OTkwMVkxODM0OTZEMDEqDQorWDI1MDA1OVkxODQxNTREMDEqDQorWDI1MDA5OVkxODQ4MjlEMDEqDQorWDI1MDA1OVkxODU1MDREMDEqDQorWDI0OTkwMVkxODYxNjJEMDEqDQorWDI0OTY0MlkxODY3ODdEMDEqDQorWDI0OTI4OVkxODczNjREMDEqDQorWDI0OTA5OFkxODc1ODdEMDEqDQorWTMyNjk4OEQwMSoNCitYMjQ5MTAxWTMyNjk4N0QwMSoNCitYMjQ5MzgzWTMyNzAxMEQwMSoNCitYMjQ5NjU5WTMyNzA3NkQwMSoNCitYMjQ5OTIxWTMyNzE4NEQwMSoNCitYMjUwMTYyWTMyNzMzMkQwMSoNCitYMjUwMzc4WTMyNzUxNkQwMSoNCitYMjUwNTYyWTMyNzczMkQwMSoNCitYMjUwNzEwWTMyNzk3M0QwMSoNCitYMjUwODE4WTMyODIzNUQwMSoNCitYMjUwODg0WTMyODUxMUQwMSoNCitYMjUwOTAxWTMyODc5M0QwMSoNCitYMjUwODg0WTMyOTA3NUQwMSoNCitYMjUwODE4WTMyOTM1MUQwMSoNCitYMjUwNzEwWTMyOTYxM0QwMSoNCitYMjUwNTYyWTMyOTg1NEQwMSoNCitYMjUwMzc4WTMzMDA3MEQwMSoNCitYMjUwMTYyWTMzMDI1NEQwMSoNCitYMjQ5OTIxWTMzMDQwMkQwMSoNCitYMjQ5NjU5WTMzMDUxMEQwMSoNCitYMjQ5MzgzWTMzMDU3NkQwMSoNCitYMjQ5MTAxWTMzMDU5OUQwMSoNCitYMjQ5MDk4WTMzMDU5OEQwMSoNCitZMzYyMDcxRDAxKg0KK1gyNDkyODlZMzYyMjk0RDAxKg0KK1gyNDk2NDJZMzYyODcxRDAxKg0KK1gyNDk5MDFZMzYzNDk2RDAxKg0KK1gyNTAwNTlZMzY0MTU0RDAxKg0KK1gyNTAwOTlZMzY0ODI5RDAxKg0KK1gyNTAwNTlZMzY1NTA0RDAxKg0KK1gyNDk5MDFZMzY2MTYyRDAxKg0KK1gyNDk2NDJZMzY2Nzg3RDAxKg0KK1gyNDkyODlZMzY3MzY0RDAxKg0KK1gyNDkwOThZMzY3NTg3RDAxKg0KK1kzNzIwNzFEMDEqDQorWDI0OTI4OVkzNzIyOTREMDEqDQorWDI0OTY0MlkzNzI4NzFEMDEqDQorWDI0OTkwMVkzNzM0OTZEMDEqDQorWDI1MDA1OVkzNzQxNTREMDEqDQorWDI1MDA5OVkzNzQ4MjlEMDEqDQorWDI1MDA1OVkzNzU1MDREMDEqDQorWDI0OTkwMVkzNzYxNjJEMDEqDQorWDI0OTY0MlkzNzY3ODdEMDEqDQorWDI0OTI4OVkzNzczNjREMDEqDQorWDI0OTA5OFkzNzc1ODdEMDEqDQorWTM5NzAwMEQwMSoNCitYMjUwOTM4RDAxKg0KK1kyMzEzMDVEMDEqDQorWDI1MDY1OVkyMzEyODNEMDEqDQorWDI1MDM4M1kyMzEyMTdEMDEqDQorWDI1MDEyMVkyMzExMDlEMDEqDQorWDI0OTg4MFkyMzA5NjFEMDEqDQorWDI0OTY2NFkyMzA3NzdEMDEqDQorWDI0OTQ4MFkyMzA1NjFEMDEqDQorWDI0OTMzMlkyMzAzMjBEMDEqDQorWDI0OTIyNFkyMzAwNThEMDEqDQorWDI0OTE1OFkyMjk3ODJEMDEqDQorWDI0OTEzNVkyMjk1MDBEMDEqDQorWDI0OTE1OFkyMjkyMThEMDEqDQorWDI0OTIyNFkyMjg5NDJEMDEqDQorWDI0OTMzMlkyMjg2ODBEMDEqDQorWDI0OTQ4MFkyMjg0MzlEMDEqDQorWDI0OTY2NFkyMjgyMjNEMDEqDQorWDI0OTg4MFkyMjgwMzlEMDEqDQorWDI1MDEyMVkyMjc4OTFEMDEqDQorWDI1MDM4M1kyMjc3ODNEMDEqDQorWDI1MDY1OVkyMjc3MTdEMDEqDQorWDI1MDkzOFkyMjc2OTVEMDEqDQorWTIxMTk5N0QwMSoNCitYMjUwODgwWTIxMTk2MUQwMSoNCitYMjUwNjY0WTIxMTc3N0QwMSoNCitYMjUwNDgwWTIxMTU2MUQwMSoNCitYMjUwMzMyWTIxMTMyMEQwMSoNCitYMjUwMjI0WTIxMTA1OEQwMSoNCitYMjUwMTU4WTIxMDc4MkQwMSoNCitYMjUwMTM1WTIxMDUwMEQwMSoNCitYMjUwMTU4WTIxMDIxOEQwMSoNCitYMjUwMjI0WTIwOTk0MkQwMSoNCitYMjUwMzMyWTIwOTY4MEQwMSoNCitYMjUwNDgwWTIwOTQzOUQwMSoNCitYMjUwNjY0WTIwOTIyM0QwMSoNCitYMjUwODgwWTIwOTAzOUQwMSoNCitYMjUwOTM4WTIwOTAwM0QwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI0OTA5OFkzNzc1ODdEMDIqWDI0ODg0OVkzNzc4NzlEMDEqDQorWDI0ODMzNFkzNzgzMTlEMDEqDQorWDI0Nzc1N1kzNzg2NzJEMDEqDQorWDI0NzEzMlkzNzg5MzFEMDEqDQorWDI0NjQ3NFkzNzkwODlEMDEqDQorWDI0NTc5OVkzNzkxNDJEMDEqDQorWDI0NTU1NFkzNzkxMjNEMDEqDQorWTM5NzAwMEQwMSoNCitYMjQ5MDk4RDAxKg0KK1kzNzc1ODdEMDEqDQorRzM3Kg0KK0czNioNCitZMzY3NTg3RDAyKlgyNDg4NDlZMzY3ODc5RDAxKg0KK1gyNDgzMzRZMzY4MzE5RDAxKg0KK1gyNDc3NTdZMzY4NjcyRDAxKg0KK1gyNDcxMzJZMzY4OTMxRDAxKg0KK1gyNDY0NzRZMzY5MDg5RDAxKg0KK1gyNDU3OTlZMzY5MTQyRDAxKg0KK1gyNDU1NTRZMzY5MTIzRDAxKg0KK1kzNzA1MzVEMDEqDQorWDI0NTc5OVkzNzA1MTZEMDEqDQorWDI0NjQ3NFkzNzA1NjlEMDEqDQorWDI0NzEzMlkzNzA3MjdEMDEqDQorWDI0Nzc1N1kzNzA5ODZEMDEqDQorWDI0ODMzNFkzNzEzMzlEMDEqDQorWDI0ODg0OVkzNzE3NzlEMDEqDQorWDI0OTA5OFkzNzIwNzFEMDEqDQorWTM2NzU4N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxODc1ODdEMDIqWDI0ODg0OVkxODc4NzlEMDEqDQorWDI0ODMzNFkxODgzMTlEMDEqDQorWDI0Nzc1N1kxODg2NzJEMDEqDQorWDI0NzEzMlkxODg5MzFEMDEqDQorWDI0NjQ3NFkxODkwODlEMDEqDQorWDI0NTc5OVkxODkxNDJEMDEqDQorWDI0NTU1NFkxODkxMjNEMDEqDQorWTE4OTc0N0QwMSoNCitYMjQ1NTgxWTE4OTc0MUQwMSoNCitYMjQ1ODYzWTE4OTcxOEQwMSoNCitYMjQ2MTQ1WTE4OTc0MUQwMSoNCitYMjQ2NDIxWTE4OTgwN0QwMSoNCitYMjQ2NjgzWTE4OTkxNUQwMSoNCitYMjQ2OTI0WTE5MDA2M0QwMSoNCitYMjQ3MTQwWTE5MDI0N0QwMSoNCitYMjQ3MzI0WTE5MDQ2M0QwMSoNCitYMjQ3NDcyWTE5MDcwNEQwMSoNCitYMjQ3NTgwWTE5MDk2NkQwMSoNCitYMjQ3NjQ2WTE5MTI0MkQwMSoNCitYMjQ3NjYzWTE5MTUyNEQwMSoNCitYMjQ3NjQ2WTE5MTgwNkQwMSoNCitYMjQ3NTgwWTE5MjA4MkQwMSoNCitYMjQ3NDcyWTE5MjM0NEQwMSoNCitYMjQ3MzI0WTE5MjU4NUQwMSoNCitYMjQ3MTQwWTE5MjgwMUQwMSoNCitYMjQ2OTI0WTE5Mjk4NUQwMSoNCitYMjQ2NjgzWTE5MzEzM0QwMSoNCitYMjQ2NDIxWTE5MzI0MUQwMSoNCitYMjQ2MTQ1WTE5MzMwN0QwMSoNCitYMjQ1ODYzWTE5MzMzMEQwMSoNCitYMjQ1NTgxWTE5MzMwN0QwMSoNCitYMjQ1NTU0WTE5MzMwMUQwMSoNCitZMjAxMTkwRDAxKg0KK1gyNDU2NThZMjAxNDQyRDAxKg0KK1gyNDU3MjRZMjAxNzE4RDAxKg0KK1gyNDU3NDFZMjAyMDAwRDAxKg0KK1gyNDU3MjRZMjAyMjgyRDAxKg0KK1gyNDU2NThZMjAyNTU4RDAxKg0KK1gyNDU1NTRZMjAyODEwRDAxKg0KK1kyMjc5MzNEMDEqDQorWDI0NTYyMVkyMjc4OTFEMDEqDQorWDI0NTg4M1kyMjc3ODNEMDEqDQorWDI0NjE1OVkyMjc3MTdEMDEqDQorWDI0NjQ0MVkyMjc2OTREMDEqDQorWDI0NjcyM1kyMjc3MTdEMDEqDQorWDI0Njk5OVkyMjc3ODNEMDEqDQorWDI0NzI2MVkyMjc4OTFEMDEqDQorWDI0NzUwMlkyMjgwMzlEMDEqDQorWDI0NzcxOFkyMjgyMjNEMDEqDQorWDI0NzkwMlkyMjg0MzlEMDEqDQorWDI0ODA1MFkyMjg2ODBEMDEqDQorWDI0ODE1OFkyMjg5NDJEMDEqDQorWDI0ODIyNFkyMjkyMThEMDEqDQorWDI0ODI0MVkyMjk1MDBEMDEqDQorWDI0ODIyNFkyMjk3ODJEMDEqDQorWDI0ODE1OFkyMzAwNThEMDEqDQorWDI0ODA1MFkyMzAzMjBEMDEqDQorWDI0NzkwMlkyMzA1NjFEMDEqDQorWDI0NzcxOFkyMzA3NzdEMDEqDQorWDI0NzUwMlkyMzA5NjFEMDEqDQorWDI0NzI2MVkyMzExMDlEMDEqDQorWDI0Njk5OVkyMzEyMTdEMDEqDQorWDI0NjcyM1kyMzEyODNEMDEqDQorWDI0NjQ0MVkyMzEzMDZEMDEqDQorWDI0NjE1OVkyMzEyODNEMDEqDQorWDI0NTg4M1kyMzEyMTdEMDEqDQorWDI0NTYyMVkyMzExMDlEMDEqDQorWDI0NTU1NFkyMzEwNjdEMDEqDQorWTIzNjg1M0QwMSoNCitYMjQ1NjY0WTIzNjcyM0QwMSoNCitYMjQ1ODgwWTIzNjUzOUQwMSoNCitYMjQ2MTIxWTIzNjM5MUQwMSoNCitYMjQ2MzgzWTIzNjI4M0QwMSoNCitYMjQ2NjU5WTIzNjIxN0QwMSoNCitYMjQ2OTQxWTIzNjE5NEQwMSoNCitYMjQ3MjIzWTIzNjIxN0QwMSoNCitYMjQ3NDk5WTIzNjI4M0QwMSoNCitYMjQ3NzYxWTIzNjM5MUQwMSoNCitYMjQ4MDAyWTIzNjUzOUQwMSoNCitYMjQ4MjE4WTIzNjcyM0QwMSoNCitYMjQ4NDAyWTIzNjkzOUQwMSoNCitYMjQ4NTUwWTIzNzE4MEQwMSoNCitYMjQ4NjU4WTIzNzQ0MkQwMSoNCitYMjQ4NzI0WTIzNzcxOEQwMSoNCitYMjQ4NzQxWTIzODAwMEQwMSoNCitYMjQ4NzI0WTIzODI4MkQwMSoNCitYMjQ4NjU4WTIzODU1OEQwMSoNCitYMjQ4NTUwWTIzODgyMEQwMSoNCitYMjQ4NDAyWTIzOTA2MUQwMSoNCitYMjQ4MjE4WTIzOTI3N0QwMSoNCitYMjQ4MDAyWTIzOTQ2MUQwMSoNCitYMjQ3NzYxWTIzOTYwOUQwMSoNCitYMjQ3NDk5WTIzOTcxN0QwMSoNCitYMjQ3MjIzWTIzOTc4M0QwMSoNCitYMjQ2OTQxWTIzOTgwNkQwMSoNCitYMjQ2NjU5WTIzOTc4M0QwMSoNCitYMjQ2MzgzWTIzOTcxN0QwMSoNCitYMjQ2MTIxWTIzOTYwOUQwMSoNCitYMjQ1ODgwWTIzOTQ2MUQwMSoNCitYMjQ1NjY0WTIzOTI3N0QwMSoNCitYMjQ1NTU0WTIzOTE0N0QwMSoNCitZMjc3NDUyRDAxKg0KK1gyNDU1NTdZMjc3NDUyRDAxKg0KK1gyNDU4NzlZMjc3NDc3RDAxKg0KK1gyNDYxOTJZMjc3NTUyRDAxKg0KK1gyNDY0OTFZMjc3Njc2RDAxKg0KK1gyNDY3NjZZMjc3ODQ0RDAxKg0KK1gyNDcwMTFZMjc4MDU0RDAxKg0KK1gyNDcyMjFZMjc4Mjk5RDAxKg0KK1gyNDczODlZMjc4NTc0RDAxKg0KK1gyNDc1MTNZMjc4ODczRDAxKg0KK1gyNDc1ODhZMjc5MTg2RDAxKg0KK1gyNDc2MDdZMjc5NTA4RDAxKg0KK1gyNDc1ODhZMjc5ODMwRDAxKg0KK1gyNDc1MTNZMjgwMTQzRDAxKg0KK1gyNDczODlZMjgwNDQyRDAxKg0KK1gyNDcyMjFZMjgwNzE3RDAxKg0KK1gyNDcwMTFZMjgwOTYyRDAxKg0KK1gyNDY3NjZZMjgxMTcyRDAxKg0KK1gyNDY0OTFZMjgxMzQwRDAxKg0KK1gyNDYxOTJZMjgxNDY0RDAxKg0KK1gyNDU4NzlZMjgxNTM5RDAxKg0KK1gyNDU1NTdZMjgxNTY0RDAxKg0KK1gyNDU1NTRZMjgxNTY0RDAxKg0KK1kzMDE2NjlEMDEqDQorWDI0NTY3MFkzMDE1NzBEMDEqDQorWDI0NTkxMVkzMDE0MjJEMDEqDQorWDI0NjE3M1kzMDEzMTREMDEqDQorWDI0NjQ0OVkzMDEyNDhEMDEqDQorWDI0NjczMVkzMDEyMjVEMDEqDQorWDI0NzAxM1kzMDEyNDhEMDEqDQorWDI0NzI4OVkzMDEzMTREMDEqDQorWDI0NzU1MVkzMDE0MjJEMDEqDQorWDI0Nzc5MlkzMDE1NzBEMDEqDQorWDI0ODAwOFkzMDE3NTREMDEqDQorWDI0ODE5MlkzMDE5NzBEMDEqDQorWDI0ODM0MFkzMDIyMTFEMDEqDQorWDI0ODQ0OFkzMDI0NzNEMDEqDQorWDI0ODUxNFkzMDI3NDlEMDEqDQorWDI0ODUzMVkzMDMwMzFEMDEqDQorWDI0ODUxNFkzMDMzMTNEMDEqDQorWDI0ODQ0OFkzMDM1ODlEMDEqDQorWDI0ODM0MFkzMDM4NTFEMDEqDQorWDI0ODE5MlkzMDQwOTJEMDEqDQorWDI0ODAwOFkzMDQzMDhEMDEqDQorWDI0Nzc5MlkzMDQ0OTJEMDEqDQorWDI0NzU1MVkzMDQ2NDBEMDEqDQorWDI0NzI4OVkzMDQ3NDhEMDEqDQorWDI0NzAxM1kzMDQ4MTREMDEqDQorWDI0NjczMVkzMDQ4MzdEMDEqDQorWDI0NjQ0OVkzMDQ4MTREMDEqDQorWDI0NjE3M1kzMDQ3NDhEMDEqDQorWDI0NTkxMVkzMDQ2NDBEMDEqDQorWDI0NTY3MFkzMDQ0OTJEMDEqDQorWDI0NTU1NFkzMDQzOTNEMDEqDQorWTM2MDUzNUQwMSoNCitYMjQ1Nzk5WTM2MDUxNkQwMSoNCitYMjQ2NDc0WTM2MDU2OUQwMSoNCitYMjQ3MTMyWTM2MDcyN0QwMSoNCitYMjQ3NzU3WTM2MDk4NkQwMSoNCitYMjQ4MzM0WTM2MTMzOUQwMSoNCitYMjQ4ODQ5WTM2MTc3OUQwMSoNCitYMjQ5MDk4WTM2MjA3MUQwMSoNCitZMzMwNTk4RDAxKg0KK1gyNDg4MTlZMzMwNTc2RDAxKg0KK1gyNDg1NDNZMzMwNTEwRDAxKg0KK1gyNDgyODFZMzMwNDAyRDAxKg0KK1gyNDgwNDBZMzMwMjU0RDAxKg0KK1gyNDc4MjRZMzMwMDcwRDAxKg0KK1gyNDc2NDBZMzI5ODU0RDAxKg0KK1gyNDc0OTJZMzI5NjEzRDAxKg0KK1gyNDczODRZMzI5MzUxRDAxKg0KK1gyNDczMThZMzI5MDc1RDAxKg0KK1gyNDcyOTVZMzI4NzkzRDAxKg0KK1gyNDczMThZMzI4NTExRDAxKg0KK1gyNDczODRZMzI4MjM1RDAxKg0KK1gyNDc0OTJZMzI3OTczRDAxKg0KK1gyNDc2NDBZMzI3NzMyRDAxKg0KK1gyNDc4MjRZMzI3NTE2RDAxKg0KK1gyNDgwNDBZMzI3MzMyRDAxKg0KK1gyNDgyODFZMzI3MTg0RDAxKg0KK1gyNDg1NDNZMzI3MDc2RDAxKg0KK1gyNDg4MTlZMzI3MDEwRDAxKg0KK1gyNDkwOThZMzI2OTg4RDAxKg0KK1kxODc1ODdEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3NTg3RDAyKlgyNDg4NDlZMTc3ODc5RDAxKg0KK1gyNDgzMzRZMTc4MzE5RDAxKg0KK1gyNDc3NTdZMTc4NjcyRDAxKg0KK1gyNDcxMzJZMTc4OTMxRDAxKg0KK1gyNDY0NzRZMTc5MDg5RDAxKg0KK1gyNDU3OTlZMTc5MTQyRDAxKg0KK1gyNDU1NTRZMTc5MTIzRDAxKg0KK1kxODA1MzVEMDEqDQorWDI0NTc5OVkxODA1MTZEMDEqDQorWDI0NjQ3NFkxODA1NjlEMDEqDQorWDI0NzEzMlkxODA3MjdEMDEqDQorWDI0Nzc1N1kxODA5ODZEMDEqDQorWDI0ODMzNFkxODEzMzlEMDEqDQorWDI0ODg0OVkxODE3NzlEMDEqDQorWDI0OTA5OFkxODIwNzFEMDEqDQorWTE3NzU4N0QwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzE1MDBEMDIqWDI0ODUyMkQwMSoNCitYMjQ4ODQ5WTE3MTc3OUQwMSoNCitYMjQ5MDk4WTE3MjA3MUQwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI0MjQ1M1kyMDA5ODREMDIqWDI0MjQ4MFkyMDA5MzlEMDEqDQorWDI0MjY2NFkyMDA3MjNEMDEqDQorWDI0Mjg4MFkyMDA1MzlEMDEqDQorWDI0MzEyMVkyMDAzOTFEMDEqDQorWDI0MzM4M1kyMDAyODNEMDEqDQorWDI0MzY1OVkyMDAyMTdEMDEqDQorWDI0Mzk0MVkyMDAxOTREMDEqDQorWDI0NDIyM1kyMDAyMTdEMDEqDQorWDI0NDQ5OVkyMDAyODNEMDEqDQorWDI0NDc2MVkyMDAzOTFEMDEqDQorWDI0NTAwMlkyMDA1MzlEMDEqDQorWDI0NTIxOFkyMDA3MjNEMDEqDQorWDI0NTQwMlkyMDA5MzlEMDEqDQorWDI0NTU1MFkyMDExODBEMDEqDQorWDI0NTU1NFkyMDExOTBEMDEqDQorWTE5MzMwMUQwMSoNCitYMjQ1MzA1WTE5MzI0MUQwMSoNCitYMjQ1MDQzWTE5MzEzM0QwMSoNCitYMjQ0ODAyWTE5Mjk4NUQwMSoNCitYMjQ0NTg2WTE5MjgwMUQwMSoNCitYMjQ0NDAyWTE5MjU4NUQwMSoNCitYMjQ0MjU0WTE5MjM0NEQwMSoNCitYMjQ0MTQ2WTE5MjA4MkQwMSoNCitYMjQ0MDgwWTE5MTgwNkQwMSoNCitYMjQ0MDU3WTE5MTUyNEQwMSoNCitYMjQ0MDgwWTE5MTI0MkQwMSoNCitYMjQ0MTQ2WTE5MDk2NkQwMSoNCitYMjQ0MjU0WTE5MDcwNEQwMSoNCitYMjQ0NDAyWTE5MDQ2M0QwMSoNCitYMjQ0NTg2WTE5MDI0N0QwMSoNCitYMjQ0ODAyWTE5MDA2M0QwMSoNCitYMjQ1MDQzWTE4OTkxNUQwMSoNCitYMjQ1MzA1WTE4OTgwN0QwMSoNCitYMjQ1NTU0WTE4OTc0N0QwMSoNCitZMTg5MTIzRDAxKg0KK1gyNDUxMjRZMTg5MDg5RDAxKg0KK1gyNDQ0NjZZMTg4OTMxRDAxKg0KK1gyNDM4NDFZMTg4NjcyRDAxKg0KK1gyNDMyNjRZMTg4MzE5RDAxKg0KK1gyNDI3NDlZMTg3ODc5RDAxKg0KK1gyNDI0NTNZMTg3NTMyRDAxKg0KK1kyMDA5ODREMDEqDQorRzM3Kg0KK0czNioNCitZMzYyMTI2RDAyKlgyNDI3NDlZMzYxNzc5RDAxKg0KK1gyNDMyNjRZMzYxMzM5RDAxKg0KK1gyNDM4NDFZMzYwOTg2RDAxKg0KK1gyNDQ0NjZZMzYwNzI3RDAxKg0KK1gyNDUxMjRZMzYwNTY5RDAxKg0KK1gyNDU1NTRZMzYwNTM1RDAxKg0KK1kzMDQzOTNEMDEqDQorWDI0NTQ1NFkzMDQzMDhEMDEqDQorWDI0NTI3MFkzMDQwOTJEMDEqDQorWDI0NTEyMlkzMDM4NTFEMDEqDQorWDI0NTAxNFkzMDM1ODlEMDEqDQorWDI0NDk0OFkzMDMzMTNEMDEqDQorWDI0NDkyNVkzMDMwMzFEMDEqDQorWDI0NDk0OFkzMDI3NDlEMDEqDQorWDI0NTAxNFkzMDI0NzNEMDEqDQorWDI0NTEyMlkzMDIyMTFEMDEqDQorWDI0NTI3MFkzMDE5NzBEMDEqDQorWDI0NTQ1NFkzMDE3NTREMDEqDQorWDI0NTU1NFkzMDE2NjlEMDEqDQorWTI4MTU2NEQwMSoNCitYMjQ1MjM1WTI4MTUzOUQwMSoNCitYMjQ0OTIyWTI4MTQ2NEQwMSoNCitYMjQ0NjIzWTI4MTM0MEQwMSoNCitYMjQ0MzQ4WTI4MTE3MkQwMSoNCitYMjQ0MTAzWTI4MDk2MkQwMSoNCitYMjQzODkzWTI4MDcxN0QwMSoNCitYMjQzNzI1WTI4MDQ0MkQwMSoNCitYMjQzNjAxWTI4MDE0M0QwMSoNCitYMjQzNTI2WTI3OTgzMEQwMSoNCitYMjQzNTAxWTI3OTUwOEQwMSoNCitYMjQzNTI2WTI3OTE4NkQwMSoNCitYMjQzNjAxWTI3ODg3M0QwMSoNCitYMjQzNzI1WTI3ODU3NEQwMSoNCitYMjQzODkzWTI3ODI5OUQwMSoNCitYMjQ0MTAzWTI3ODA1NEQwMSoNCitYMjQ0MzQ4WTI3Nzg0NEQwMSoNCitYMjQ0NjIzWTI3NzY3NkQwMSoNCitYMjQ0OTIyWTI3NzU1MkQwMSoNCitYMjQ1MjM1WTI3NzQ3N0QwMSoNCitYMjQ1NTU0WTI3NzQ1MkQwMSoNCitZMjM5MTQ3RDAxKg0KK1gyNDU0ODBZMjM5MDYxRDAxKg0KK1gyNDUzMzJZMjM4ODIwRDAxKg0KK1gyNDUyMjRZMjM4NTU4RDAxKg0KK1gyNDUxNThZMjM4MjgyRDAxKg0KK1gyNDUxMzVZMjM4MDAwRDAxKg0KK1gyNDUxNThZMjM3NzE4RDAxKg0KK1gyNDUyMjRZMjM3NDQyRDAxKg0KK1gyNDUzMzJZMjM3MTgwRDAxKg0KK1gyNDU0ODBZMjM2OTM5RDAxKg0KK1gyNDU1NTRZMjM2ODUzRDAxKg0KK1kyMzEwNjdEMDEqDQorWDI0NTM4MFkyMzA5NjFEMDEqDQorWDI0NTE2NFkyMzA3NzdEMDEqDQorWDI0NDk4MFkyMzA1NjFEMDEqDQorWDI0NDgzMlkyMzAzMjBEMDEqDQorWDI0NDcyNFkyMzAwNThEMDEqDQorWDI0NDY1OFkyMjk3ODJEMDEqDQorWDI0NDYzNVkyMjk1MDBEMDEqDQorWDI0NDY1OFkyMjkyMThEMDEqDQorWDI0NDcyNFkyMjg5NDJEMDEqDQorWDI0NDgzMlkyMjg2ODBEMDEqDQorWDI0NDk4MFkyMjg0MzlEMDEqDQorWDI0NTE2NFkyMjgyMjNEMDEqDQorWDI0NTM4MFkyMjgwMzlEMDEqDQorWDI0NTU1NFkyMjc5MzNEMDEqDQorWTIwMjgxMEQwMSoNCitYMjQ1NTUwWTIwMjgyMEQwMSoNCitYMjQ1NDAyWTIwMzA2MUQwMSoNCitYMjQ1MjE4WTIwMzI3N0QwMSoNCitYMjQ1MDAyWTIwMzQ2MUQwMSoNCitYMjQ0NzYxWTIwMzYwOUQwMSoNCitYMjQ0NDk5WTIwMzcxN0QwMSoNCitYMjQ0MjIzWTIwMzc4M0QwMSoNCitYMjQzOTQxWTIwMzgwNkQwMSoNCitYMjQzNjU5WTIwMzc4M0QwMSoNCitYMjQzMzgzWTIwMzcxN0QwMSoNCitYMjQzMTIxWTIwMzYwOUQwMSoNCitYMjQyODgwWTIwMzQ2MUQwMSoNCitYMjQyNjY0WTIwMzI3N0QwMSoNCitYMjQyNDgwWTIwMzA2MUQwMSoNCitYMjQyNDUzWTIwMzAxNkQwMSoNCitZMjI3Njk1RDAxKg0KK1gyNDI3MjNZMjI3NzE3RDAxKg0KK1gyNDI5OTlZMjI3NzgzRDAxKg0KK1gyNDMyNjFZMjI3ODkxRDAxKg0KK1gyNDM1MDJZMjI4MDM5RDAxKg0KK1gyNDM3MThZMjI4MjIzRDAxKg0KK1gyNDM5MDJZMjI4NDM5RDAxKg0KK1gyNDQwNTBZMjI4NjgwRDAxKg0KK1gyNDQxNThZMjI4OTQyRDAxKg0KK1gyNDQyMjRZMjI5MjE4RDAxKg0KK1gyNDQyNDFZMjI5NTAwRDAxKg0KK1gyNDQyMjRZMjI5NzgyRDAxKg0KK1gyNDQxNThZMjMwMDU4RDAxKg0KK1gyNDQwNTBZMjMwMzIwRDAxKg0KK1gyNDM5MDJZMjMwNTYxRDAxKg0KK1gyNDM3MThZMjMwNzc3RDAxKg0KK1gyNDM1MDJZMjMwOTYxRDAxKg0KK1gyNDMyNjFZMjMxMTA5RDAxKg0KK1gyNDI5OTlZMjMxMjE3RDAxKg0KK1gyNDI3MjNZMjMxMjgzRDAxKg0KK1gyNDI0NTNZMjMxMzA1RDAxKg0KK1kyOTE0ODdEMDEqDQorWDI0MjQ1NlkyOTE0ODdEMDEqDQorWDI0Mjc3OFkyOTE1MTJEMDEqDQorWDI0MzA5MVkyOTE1ODdEMDEqDQorWDI0MzM5MFkyOTE3MTFEMDEqDQorWDI0MzY2NVkyOTE4NzlEMDEqDQorWDI0MzkxMFkyOTIwODlEMDEqDQorWDI0NDEyMFkyOTIzMzREMDEqDQorWDI0NDI4OFkyOTI2MDlEMDEqDQorWDI0NDQxMlkyOTI5MDhEMDEqDQorWDI0NDQ4N1kyOTMyMjFEMDEqDQorWDI0NDUwNlkyOTM1NDNEMDEqDQorWDI0NDQ4N1kyOTM4NjVEMDEqDQorWDI0NDQxMlkyOTQxNzhEMDEqDQorWDI0NDI4OFkyOTQ0NzdEMDEqDQorWDI0NDEyMFkyOTQ3NTJEMDEqDQorWDI0MzkxMFkyOTQ5OTdEMDEqDQorWDI0MzY2NVkyOTUyMDdEMDEqDQorWDI0MzM5MFkyOTUzNzVEMDEqDQorWDI0MzA5MVkyOTU0OTlEMDEqDQorWDI0Mjc3OFkyOTU1NzREMDEqDQorWDI0MjQ1NlkyOTU1OTlEMDEqDQorWDI0MjQ1M1kyOTU1OTlEMDEqDQorWTI5Njc2NkQwMSoNCitYMjQyNDkwWTI5Njc2OUQwMSoNCitYMjQyODAzWTI5Njg0NEQwMSoNCitYMjQzMTAyWTI5Njk2OEQwMSoNCitYMjQzMzc3WTI5NzEzNkQwMSoNCitYMjQzNjIyWTI5NzM0NkQwMSoNCitYMjQzODMyWTI5NzU5MUQwMSoNCitYMjQ0MDAwWTI5Nzg2NkQwMSoNCitYMjQ0MTI0WTI5ODE2NUQwMSoNCitYMjQ0MTk5WTI5ODQ3OEQwMSoNCitYMjQ0MjE4WTI5ODgwMEQwMSoNCitYMjQ0MTk5WTI5OTEyMkQwMSoNCitYMjQ0MTI0WTI5OTQzNUQwMSoNCitYMjQ0MDAwWTI5OTczNEQwMSoNCitYMjQzODMyWTMwMDAwOUQwMSoNCitYMjQzNjIyWTMwMDI1NEQwMSoNCitYMjQzMzc3WTMwMDQ2NEQwMSoNCitYMjQzMTAyWTMwMDYzMkQwMSoNCitYMjQyODAzWTMwMDc1NkQwMSoNCitYMjQyNDkwWTMwMDgzMUQwMSoNCitYMjQyNDUzWTMwMDgzNEQwMSoNCitZMzYyMTI2RDAxKg0KK0czNyoNCitHMzYqDQorWTM3MjEyNkQwMipYMjQyNzQ5WTM3MTc3OUQwMSoNCitYMjQzMjY0WTM3MTMzOUQwMSoNCitYMjQzODQxWTM3MDk4NkQwMSoNCitYMjQ0NDY2WTM3MDcyN0QwMSoNCitYMjQ1MTI0WTM3MDU2OUQwMSoNCitYMjQ1NTU0WTM3MDUzNUQwMSoNCitZMzY5MTIzRDAxKg0KK1gyNDUxMjRZMzY5MDg5RDAxKg0KK1gyNDQ0NjZZMzY4OTMxRDAxKg0KK1gyNDM4NDFZMzY4NjcyRDAxKg0KK1gyNDMyNjRZMzY4MzE5RDAxKg0KK1gyNDI3NDlZMzY3ODc5RDAxKg0KK1gyNDI0NTNZMzY3NTMyRDAxKg0KK1kzNzIxMjZEMDEqDQorRzM3Kg0KK0czNioNCitZMzk3MDAwRDAyKlgyNDU1NTREMDEqDQorWTM3OTEyM0QwMSoNCitYMjQ1MTI0WTM3OTA4OUQwMSoNCitYMjQ0NDY2WTM3ODkzMUQwMSoNCitYMjQzODQxWTM3ODY3MkQwMSoNCitYMjQzMjY0WTM3ODMxOUQwMSoNCitYMjQyNzQ5WTM3Nzg3OUQwMSoNCitYMjQyNDUzWTM3NzUzMkQwMSoNCitZMzk3MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWTE3MjEyNkQwMipYMjQyNzQ5WTE3MTc3OUQwMSoNCitYMjQzMDc2WTE3MTUwMEQwMSoNCitYMjQyNDUzRDAxKg0KK1kxNzIxMjZEMDEqDQorRzM3Kg0KK0czNioNCitYMjQ1NTU0WTE3OTEyM0QwMipYMjQ1MTI0WTE3OTA4OUQwMSoNCitYMjQ0NDY2WTE3ODkzMUQwMSoNCitYMjQzODQxWTE3ODY3MkQwMSoNCitYMjQzMjY0WTE3ODMxOUQwMSoNCitYMjQyNzQ5WTE3Nzg3OUQwMSoNCitYMjQyNDUzWTE3NzUzMkQwMSoNCitZMTgyMTI2RDAxKg0KK1gyNDI3NDlZMTgxNzc5RDAxKg0KK1gyNDMyNjRZMTgxMzM5RDAxKg0KK1gyNDM4NDFZMTgwOTg2RDAxKg0KK1gyNDQ0NjZZMTgwNzI3RDAxKg0KK1gyNDUxMjRZMTgwNTY5RDAxKg0KK1gyNDU1NTRZMTgwNTM1RDAxKg0KK1kxNzkxMjNEMDEqDQorRzM3Kg0KK0czNioNCitYMjQyNDUzWTE3NzUzMkQwMipYMjQyMzA5WTE3NzM2NEQwMSoNCitYMjQxOTU2WTE3Njc4N0QwMSoNCitYMjQxNjk3WTE3NjE2MkQwMSoNCitYMjQxNTM5WTE3NTUwNEQwMSoNCitYMjQxNDg2WTE3NDgyOUQwMSoNCitYMjQxNTM5WTE3NDE1NEQwMSoNCitYMjQxNjk3WTE3MzQ5NkQwMSoNCitYMjQxOTU2WTE3Mjg3MUQwMSoNCitYMjQyMzA5WTE3MjI5NEQwMSoNCitYMjQyNDUzWTE3MjEyNkQwMSoNCitZMTcxNTAwRDAxKg0KK1gyMzkyOTlEMDEqDQorWTE3MjMxMUQwMSoNCitYMjM5NjQyWTE3Mjg3MUQwMSoNCitYMjM5OTAxWTE3MzQ5NkQwMSoNCitYMjQwMDU5WTE3NDE1NEQwMSoNCitYMjQwMDk5WTE3NDgyOUQwMSoNCitYMjQwMDU5WTE3NTUwNEQwMSoNCitYMjM5OTAxWTE3NjE2MkQwMSoNCitYMjM5NjQyWTE3Njc4N0QwMSoNCitYMjM5Mjk5WTE3NzM0N0QwMSoNCitZMTgyMzExRDAxKg0KK1gyMzk2NDJZMTgyODcxRDAxKg0KK1gyMzk5MDFZMTgzNDk2RDAxKg0KK1gyNDAwNTlZMTg0MTU0RDAxKg0KK1gyNDAwOTlZMTg0ODI5RDAxKg0KK1gyNDAwNTlZMTg1NTA0RDAxKg0KK1gyMzk5MDFZMTg2MTYyRDAxKg0KK1gyMzk2NDJZMTg2Nzg3RDAxKg0KK1gyMzkyOTlZMTg3MzQ3RDAxKg0KK1kxOTQ4MTFEMDEqDQorWDIzOTY0MlkxOTUzNzFEMDEqDQorWDIzOTkwMVkxOTU5OTZEMDEqDQorWDI0MDA1OVkxOTY2NTREMDEqDQorWDI0MDA5OVkxOTczMjlEMDEqDQorWDI0MDA1OVkxOTgwMDREMDEqDQorWDIzOTkwMVkxOTg2NjJEMDEqDQorWDIzOTY0MlkxOTkyODdEMDEqDQorWDIzOTI5OVkxOTk4NDdEMDEqDQorWTI2MDE3OUQwMSoNCitYMjM5MzAyWTI2MDE3OUQwMSoNCitYMjM5NjI0WTI2MDIwNEQwMSoNCitYMjM5OTM3WTI2MDI3OUQwMSoNCitYMjQwMjM2WTI2MDQwM0QwMSoNCitYMjQwNTExWTI2MDU3MUQwMSoNCitYMjQwNzU2WTI2MDc4MUQwMSoNCitYMjQwOTY2WTI2MTAyNkQwMSoNCitYMjQxMTM0WTI2MTMwMUQwMSoNCitYMjQxMjU4WTI2MTYwMEQwMSoNCitYMjQxMzMzWTI2MTkxM0QwMSoNCitYMjQxMzUyWTI2MjIzNUQwMSoNCitYMjQxMzMzWTI2MjU1N0QwMSoNCitYMjQxMjU4WTI2Mjg3MEQwMSoNCitYMjQxMTM0WTI2MzE2OUQwMSoNCitYMjQwOTY2WTI2MzQ0NEQwMSoNCitYMjQwNzU2WTI2MzY4OUQwMSoNCitYMjQwNTExWTI2Mzg5OUQwMSoNCitYMjQwMjM2WTI2NDA2N0QwMSoNCitYMjM5OTM3WTI2NDE5MUQwMSoNCitYMjM5NjI0WTI2NDI2NkQwMSoNCitYMjM5MzAyWTI2NDI5MUQwMSoNCitYMjM5Mjk5WTI2NDI5MUQwMSoNCitZMjc3MTMwRDAxKg0KK1gyMzkzMzBZMjc3MTAzRDAxKg0KK1gyMzk1NzFZMjc2OTU1RDAxKg0KK1gyMzk4MzNZMjc2ODQ3RDAxKg0KK1gyNDAxMDlZMjc2NzgxRDAxKg0KK1gyNDAzOTFZMjc2NzU4RDAxKg0KK1gyNDA2NzNZMjc2NzgxRDAxKg0KK1gyNDA5NDlZMjc2ODQ3RDAxKg0KK1gyNDEyMTFZMjc2OTU1RDAxKg0KK1gyNDE0NTJZMjc3MTAzRDAxKg0KK1gyNDE2NjhZMjc3Mjg3RDAxKg0KK1gyNDE4NTJZMjc3NTAzRDAxKg0KK1gyNDIwMDBZMjc3NzQ0RDAxKg0KK1gyNDIxMDhZMjc4MDA2RDAxKg0KK1gyNDIxNzRZMjc4MjgyRDAxKg0KK1gyNDIxOTFZMjc4NTY0RDAxKg0KK1gyNDIxNzRZMjc4ODQ2RDAxKg0KK1gyNDIxMDhZMjc5MTIyRDAxKg0KK1gyNDIwMDBZMjc5Mzg0RDAxKg0KK1gyNDE4NTJZMjc5NjI1RDAxKg0KK1gyNDE2NjhZMjc5ODQxRDAxKg0KK1gyNDE0NTJZMjgwMDI1RDAxKg0KK1gyNDEyMTFZMjgwMTczRDAxKg0KK1gyNDA5NDlZMjgwMjgxRDAxKg0KK1gyNDA2NzNZMjgwMzQ3RDAxKg0KK1gyNDAzOTFZMjgwMzcwRDAxKg0KK1gyNDAxMDlZMjgwMzQ3RDAxKg0KK1gyMzk4MzNZMjgwMjgxRDAxKg0KK1gyMzk1NzFZMjgwMTczRDAxKg0KK1gyMzkzMzBZMjgwMDI1RDAxKg0KK1gyMzkyOTlZMjc5OTk4RDAxKg0KK1kzNjIzMTFEMDEqDQorWDIzOTY0MlkzNjI4NzFEMDEqDQorWDIzOTkwMVkzNjM0OTZEMDEqDQorWDI0MDA1OVkzNjQxNTREMDEqDQorWDI0MDA5OVkzNjQ4MjlEMDEqDQorWDI0MDA1OVkzNjU1MDREMDEqDQorWDIzOTkwMVkzNjYxNjJEMDEqDQorWDIzOTY0MlkzNjY3ODdEMDEqDQorWDIzOTI5OVkzNjczNDdEMDEqDQorWTM3MjMxMUQwMSoNCitYMjM5NjQyWTM3Mjg3MUQwMSoNCitYMjM5OTAxWTM3MzQ5NkQwMSoNCitYMjQwMDU5WTM3NDE1NEQwMSoNCitYMjQwMDk5WTM3NDgyOUQwMSoNCitYMjQwMDU5WTM3NTUwNEQwMSoNCitYMjM5OTAxWTM3NjE2MkQwMSoNCitYMjM5NjQyWTM3Njc4N0QwMSoNCitYMjM5Mjk5WTM3NzM0N0QwMSoNCitZMzk3MDAwRDAxKg0KK1gyNDI0NTNEMDEqDQorWTM3NzUzMkQwMSoNCitYMjQyMzA5WTM3NzM2NEQwMSoNCitYMjQxOTU2WTM3Njc4N0QwMSoNCitYMjQxNjk3WTM3NjE2MkQwMSoNCitYMjQxNTM5WTM3NTUwNEQwMSoNCitYMjQxNDg2WTM3NDgyOUQwMSoNCitYMjQxNTM5WTM3NDE1NEQwMSoNCitYMjQxNjk3WTM3MzQ5NkQwMSoNCitYMjQxOTU2WTM3Mjg3MUQwMSoNCitYMjQyMzA5WTM3MjI5NEQwMSoNCitYMjQyNDUzWTM3MjEyNkQwMSoNCitZMzY3NTMyRDAxKg0KK1gyNDIzMDlZMzY3MzY0RDAxKg0KK1gyNDE5NTZZMzY2Nzg3RDAxKg0KK1gyNDE2OTdZMzY2MTYyRDAxKg0KK1gyNDE1MzlZMzY1NTA0RDAxKg0KK1gyNDE0ODZZMzY0ODI5RDAxKg0KK1gyNDE1MzlZMzY0MTU0RDAxKg0KK1gyNDE2OTdZMzYzNDk2RDAxKg0KK1gyNDE5NTZZMzYyODcxRDAxKg0KK1gyNDIzMDlZMzYyMjk0RDAxKg0KK1gyNDI0NTNZMzYyMTI2RDAxKg0KK1kzMDA4MzREMDEqDQorWDI0MjE2OFkzMDA4NTZEMDEqDQorWDI0MTg0NlkzMDA4MzFEMDEqDQorWDI0MTUzM1kzMDA3NTZEMDEqDQorWDI0MTIzNFkzMDA2MzJEMDEqDQorWDI0MDk1OVkzMDA0NjREMDEqDQorWDI0MDcxNFkzMDAyNTREMDEqDQorWDI0MDUwNFkzMDAwMDlEMDEqDQorWDI0MDMzNlkyOTk3MzREMDEqDQorWDI0MDIxMlkyOTk0MzVEMDEqDQorWDI0MDEzN1kyOTkxMjJEMDEqDQorWDI0MDExMlkyOTg4MDBEMDEqDQorWDI0MDEzN1kyOTg0NzhEMDEqDQorWDI0MDIxMlkyOTgxNjVEMDEqDQorWDI0MDMzNlkyOTc4NjZEMDEqDQorWDI0MDUwNFkyOTc1OTFEMDEqDQorWDI0MDcxNFkyOTczNDZEMDEqDQorWDI0MDk1OVkyOTcxMzZEMDEqDQorWDI0MTIzNFkyOTY5NjhEMDEqDQorWDI0MTUzM1kyOTY4NDREMDEqDQorWDI0MTg0NlkyOTY3NjlEMDEqDQorWDI0MjE2OFkyOTY3NDREMDEqDQorWDI0MjQ1M1kyOTY3NjZEMDEqDQorWTI5NTU5OUQwMSoNCitYMjQyMTM0WTI5NTU3NEQwMSoNCitYMjQxODIxWTI5NTQ5OUQwMSoNCitYMjQxNTIyWTI5NTM3NUQwMSoNCitYMjQxMjQ3WTI5NTIwN0QwMSoNCitYMjQxMDAyWTI5NDk5N0QwMSoNCitYMjQwNzkyWTI5NDc1MkQwMSoNCitYMjQwNjI0WTI5NDQ3N0QwMSoNCitYMjQwNTAwWTI5NDE3OEQwMSoNCitYMjQwNDI1WTI5Mzg2NUQwMSoNCitYMjQwNDAwWTI5MzU0M0QwMSoNCitYMjQwNDI1WTI5MzIyMUQwMSoNCitYMjQwNTAwWTI5MjkwOEQwMSoNCitYMjQwNjI0WTI5MjYwOUQwMSoNCitYMjQwNzkyWTI5MjMzNEQwMSoNCitYMjQxMDAyWTI5MjA4OUQwMSoNCitYMjQxMjQ3WTI5MTg3OUQwMSoNCitYMjQxNTIyWTI5MTcxMUQwMSoNCitYMjQxODIxWTI5MTU4N0QwMSoNCitYMjQyMTM0WTI5MTUxMkQwMSoNCitYMjQyNDUzWTI5MTQ4N0QwMSoNCitZMjMxMzA1RDAxKg0KK1gyNDI0NDFZMjMxMzA2RDAxKg0KK1gyNDIxNTlZMjMxMjgzRDAxKg0KK1gyNDE4ODNZMjMxMjE3RDAxKg0KK1gyNDE2MjFZMjMxMTA5RDAxKg0KK1gyNDEzODBZMjMwOTYxRDAxKg0KK1gyNDExNjRZMjMwNzc3RDAxKg0KK1gyNDA5ODBZMjMwNTYxRDAxKg0KK1gyNDA4MzJZMjMwMzIwRDAxKg0KK1gyNDA3MjRZMjMwMDU4RDAxKg0KK1gyNDA2NThZMjI5NzgyRDAxKg0KK1gyNDA2MzVZMjI5NTAwRDAxKg0KK1gyNDA2NThZMjI5MjE4RDAxKg0KK1gyNDA3MjRZMjI4OTQyRDAxKg0KK1gyNDA4MzJZMjI4NjgwRDAxKg0KK1gyNDA5ODBZMjI4NDM5RDAxKg0KK1gyNDExNjRZMjI4MjIzRDAxKg0KK1gyNDEzODBZMjI4MDM5RDAxKg0KK1gyNDE2MjFZMjI3ODkxRDAxKg0KK1gyNDE4ODNZMjI3NzgzRDAxKg0KK1gyNDIxNTlZMjI3NzE3RDAxKg0KK1gyNDI0NDFZMjI3Njk0RDAxKg0KK1gyNDI0NTNZMjI3Njk1RDAxKg0KK1kyMDMwMTZEMDEqDQorWDI0MjMzMlkyMDI4MjBEMDEqDQorWDI0MjIyNFkyMDI1NThEMDEqDQorWDI0MjE1OFkyMDIyODJEMDEqDQorWDI0MjEzNVkyMDIwMDBEMDEqDQorWDI0MjE1OFkyMDE3MThEMDEqDQorWDI0MjIyNFkyMDE0NDJEMDEqDQorWDI0MjMzMlkyMDExODBEMDEqDQorWDI0MjQ1M1kyMDA5ODREMDEqDQorWTE4NzUzMkQwMSoNCitYMjQyMzA5WTE4NzM2NEQwMSoNCitYMjQxOTU2WTE4Njc4N0QwMSoNCitYMjQxNjk3WTE4NjE2MkQwMSoNCitYMjQxNTM5WTE4NTUwNEQwMSoNCitYMjQxNDg2WTE4NDgyOUQwMSoNCitYMjQxNTM5WTE4NDE1NEQwMSoNCitYMjQxNjk3WTE4MzQ5NkQwMSoNCitYMjQxOTU2WTE4Mjg3MUQwMSoNCitYMjQyMzA5WTE4MjI5NEQwMSoNCitYMjQyNDUzWTE4MjEyNkQwMSoNCitZMTc3NTMyRDAxKg0KK0czNyoNCitHMzYqDQorWDIzNjQzOFkxOTMwNjZEMDIqWDIzNjQ3NFkxOTMwNjlEMDEqDQorWDIzNzEzMlkxOTMyMjdEMDEqDQorWDIzNzc1N1kxOTM0ODZEMDEqDQorWDIzODMzNFkxOTM4MzlEMDEqDQorWDIzODg0OVkxOTQyNzlEMDEqDQorWDIzOTI4OVkxOTQ3OTREMDEqDQorWDIzOTI5OVkxOTQ4MTFEMDEqDQorWTE4NzM0N0QwMSoNCitYMjM5Mjg5WTE4NzM2NEQwMSoNCitYMjM4ODQ5WTE4Nzg3OUQwMSoNCitYMjM4MzM0WTE4ODMxOUQwMSoNCitYMjM3NzU3WTE4ODY3MkQwMSoNCitYMjM3MTMyWTE4ODkzMUQwMSoNCitYMjM2NDc0WTE4OTA4OUQwMSoNCitYMjM2NDM4WTE4OTA5MkQwMSoNCitZMTkzMDY2RDAxKg0KK0czNyoNCitHMzYqDQorWTM2MDU2NkQwMipYMjM2NDc0WTM2MDU2OUQwMSoNCitYMjM3MTMyWTM2MDcyN0QwMSoNCitYMjM3NzU3WTM2MDk4NkQwMSoNCitYMjM4MzM0WTM2MTMzOUQwMSoNCitYMjM4ODQ5WTM2MTc3OUQwMSoNCitYMjM5Mjg5WTM2MjI5NEQwMSoNCitYMjM5Mjk5WTM2MjMxMUQwMSoNCitZMjc5OTk4RDAxKg0KK1gyMzkxMTRZMjc5ODQxRDAxKg0KK1gyMzg5MzBZMjc5NjI1RDAxKg0KK1gyMzg3ODJZMjc5Mzg0RDAxKg0KK1gyMzg2NzRZMjc5MTIyRDAxKg0KK1gyMzg2MDhZMjc4ODQ2RDAxKg0KK1gyMzg1ODVZMjc4NTY0RDAxKg0KK1gyMzg2MDhZMjc4MjgyRDAxKg0KK1gyMzg2NzRZMjc4MDA2RDAxKg0KK1gyMzg3ODJZMjc3NzQ0RDAxKg0KK1gyMzg5MzBZMjc3NTAzRDAxKg0KK1gyMzkxMTRZMjc3Mjg3RDAxKg0KK1gyMzkyOTlZMjc3MTMwRDAxKg0KK1kyNjQyOTFEMDEqDQorWDIzODk4MFkyNjQyNjZEMDEqDQorWDIzODY2N1kyNjQxOTFEMDEqDQorWDIzODM2OFkyNjQwNjdEMDEqDQorWDIzODA5M1kyNjM4OTlEMDEqDQorWDIzNzg0OFkyNjM2ODlEMDEqDQorWDIzNzYzOFkyNjM0NDREMDEqDQorWDIzNzQ3MFkyNjMxNjlEMDEqDQorWDIzNzM0NlkyNjI4NzBEMDEqDQorWDIzNzI3MVkyNjI1NTdEMDEqDQorWDIzNzI0NlkyNjIyMzVEMDEqDQorWDIzNzI3MVkyNjE5MTNEMDEqDQorWDIzNzM0NlkyNjE2MDBEMDEqDQorWDIzNzQ3MFkyNjEzMDFEMDEqDQorWDIzNzYzOFkyNjEwMjZEMDEqDQorWDIzNzg0OFkyNjA3ODFEMDEqDQorWDIzODA5M1kyNjA1NzFEMDEqDQorWDIzODM2OFkyNjA0MDNEMDEqDQorWDIzODY2N1kyNjAyNzlEMDEqDQorWDIzODk4MFkyNjAyMDREMDEqDQorWDIzOTI5OVkyNjAxNzlEMDEqDQorWTE5OTg0N0QwMSoNCitYMjM5Mjg5WTE5OTg2NEQwMSoNCitYMjM4ODQ5WTIwMDM3OUQwMSoNCitYMjM4MzM0WTIwMDgxOUQwMSoNCitYMjM3NzU3WTIwMTE3MkQwMSoNCitYMjM3MTMyWTIwMTQzMUQwMSoNCitYMjM2NDc0WTIwMTU4OUQwMSoNCitYMjM2NDM4WTIwMTU5MkQwMSoNCitZMjMzNjk1RDAxKg0KK1gyMzY0NDFZMjMzNjk0RDAxKg0KK1gyMzY3MjNZMjMzNzE3RDAxKg0KK1gyMzY5OTlZMjMzNzgzRDAxKg0KK1gyMzcyNjFZMjMzODkxRDAxKg0KK1gyMzc1MDJZMjM0MDM5RDAxKg0KK1gyMzc3MThZMjM0MjIzRDAxKg0KK1gyMzc5MDJZMjM0NDM5RDAxKg0KK1gyMzgwNTBZMjM0NjgwRDAxKg0KK1gyMzgxNThZMjM0OTQyRDAxKg0KK1gyMzgyMjRZMjM1MjE4RDAxKg0KK1gyMzgyNDFZMjM1NTAwRDAxKg0KK1gyMzgyMjRZMjM1NzgyRDAxKg0KK1gyMzgxNThZMjM2MDU4RDAxKg0KK1gyMzgwNTBZMjM2MzIwRDAxKg0KK1gyMzc5MDJZMjM2NTYxRDAxKg0KK1gyMzc3MThZMjM2Nzc3RDAxKg0KK1gyMzc1MDJZMjM2OTYxRDAxKg0KK1gyMzcyNjFZMjM3MTA5RDAxKg0KK1gyMzY5OTlZMjM3MjE3RDAxKg0KK1gyMzY3MjNZMjM3MjgzRDAxKg0KK1gyMzY0NDFZMjM3MzA2RDAxKg0KK1gyMzY0MzhZMjM3MzA1RDAxKg0KK1kzNjA1NjZEMDEqDQorRzM3Kg0KK0czNioNCitZMzcwNTY2RDAyKlgyMzY0NzRZMzcwNTY5RDAxKg0KK1gyMzcxMzJZMzcwNzI3RDAxKg0KK1gyMzc3NTdZMzcwOTg2RDAxKg0KK1gyMzgzMzRZMzcxMzM5RDAxKg0KK1gyMzg4NDlZMzcxNzc5RDAxKg0KK1gyMzkyODlZMzcyMjk0RDAxKg0KK1gyMzkyOTlZMzcyMzExRDAxKg0KK1kzNjczNDdEMDEqDQorWDIzOTI4OVkzNjczNjREMDEqDQorWDIzODg0OVkzNjc4NzlEMDEqDQorWDIzODMzNFkzNjgzMTlEMDEqDQorWDIzNzc1N1kzNjg2NzJEMDEqDQorWDIzNzEzMlkzNjg5MzFEMDEqDQorWDIzNjQ3NFkzNjkwODlEMDEqDQorWDIzNjQzOFkzNjkwOTJEMDEqDQorWTM3MDU2NkQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDIzOTI5OUQwMSoNCitZMzc3MzQ3RDAxKg0KK1gyMzkyODlZMzc3MzY0RDAxKg0KK1gyMzg4NDlZMzc3ODc5RDAxKg0KK1gyMzgzMzRZMzc4MzE5RDAxKg0KK1gyMzc3NTdZMzc4NjcyRDAxKg0KK1gyMzcxMzJZMzc4OTMxRDAxKg0KK1gyMzY0NzRZMzc5MDg5RDAxKg0KK1gyMzY0MzhZMzc5MDkyRDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjM5Mjk5WTE3NzM0N0QwMipYMjM5Mjg5WTE3NzM2NEQwMSoNCitYMjM4ODQ5WTE3Nzg3OUQwMSoNCitYMjM4MzM0WTE3ODMxOUQwMSoNCitYMjM3NzU3WTE3ODY3MkQwMSoNCitYMjM3MTMyWTE3ODkzMUQwMSoNCitYMjM2NDc0WTE3OTA4OUQwMSoNCitYMjM2NDM4WTE3OTA5MkQwMSoNCitZMTgwNTY2RDAxKg0KK1gyMzY0NzRZMTgwNTY5RDAxKg0KK1gyMzcxMzJZMTgwNzI3RDAxKg0KK1gyMzc3NTdZMTgwOTg2RDAxKg0KK1gyMzgzMzRZMTgxMzM5RDAxKg0KK1gyMzg4NDlZMTgxNzc5RDAxKg0KK1gyMzkyODlZMTgyMjk0RDAxKg0KK1gyMzkyOTlZMTgyMzExRDAxKg0KK1kxNzczNDdEMDEqDQorRzM3Kg0KK0czNioNCitYMjM2NDM4WTE3OTA5MkQwMipYMjM1Nzk5WTE3OTE0MkQwMSoNCitYMjM1MTI0WTE3OTA4OUQwMSoNCitYMjM0NDY2WTE3ODkzMUQwMSoNCitYMjMzODQxWTE3ODY3MkQwMSoNCitYMjMzMjY0WTE3ODMxOUQwMSoNCitYMjMyNzQ5WTE3Nzg3OUQwMSoNCitYMjMyMzA5WTE3NzM2NEQwMSoNCitYMjMxOTU2WTE3Njc4N0QwMSoNCitYMjMxNjk3WTE3NjE2MkQwMSoNCitYMjMxNTM5WTE3NTUwNEQwMSoNCitYMjMxNDg2WTE3NDgyOUQwMSoNCitYMjMxNTM5WTE3NDE1NEQwMSoNCitYMjMxNjk3WTE3MzQ5NkQwMSoNCitYMjMxOTU2WTE3Mjg3MUQwMSoNCitYMjMyMzA5WTE3MjI5NEQwMSoNCitYMjMyNzQ5WTE3MTc3OUQwMSoNCitYMjMzMDc2WTE3MTUwMEQwMSoNCitYMjI5ODE1RDAxKg0KK1kxNzMyODlEMDEqDQorWDIyOTkwMVkxNzM0OTZEMDEqDQorWDIzMDA1OVkxNzQxNTREMDEqDQorWDIzMDA5OVkxNzQ4MjlEMDEqDQorWDIzMDA1OVkxNzU1MDREMDEqDQorWDIyOTkwMVkxNzYxNjJEMDEqDQorWDIyOTgxNVkxNzYzNjlEMDEqDQorWTE4MzI4OUQwMSoNCitYMjI5OTAxWTE4MzQ5NkQwMSoNCitYMjMwMDU5WTE4NDE1NEQwMSoNCitYMjMwMDk5WTE4NDgyOUQwMSoNCitYMjMwMDU5WTE4NTUwNEQwMSoNCitYMjI5OTAxWTE4NjE2MkQwMSoNCitYMjI5ODE1WTE4NjM2OUQwMSoNCitZMTk1Nzg5RDAxKg0KK1gyMjk5MDFZMTk1OTk2RDAxKg0KK1gyMzAwNTlZMTk2NjU0RDAxKg0KK1gyMzAwOTlZMTk3MzI5RDAxKg0KK1gyMzAwNTlZMTk4MDA0RDAxKg0KK1gyMjk5MDFZMTk4NjYyRDAxKg0KK1gyMjk4MTVZMTk4ODY5RDAxKg0KK1kyNDUzMTFEMDEqDQorWDIyOTg4M1kyNDUyODNEMDEqDQorWDIzMDE1OVkyNDUyMTdEMDEqDQorWDIzMDQ0MVkyNDUxOTREMDEqDQorWDIzMDcyM1kyNDUyMTdEMDEqDQorWDIzMDk5OVkyNDUyODNEMDEqDQorWDIzMTI2MVkyNDUzOTFEMDEqDQorWDIzMTUwMlkyNDU1MzlEMDEqDQorWDIzMTcxOFkyNDU3MjNEMDEqDQorWDIzMTkwMlkyNDU5MzlEMDEqDQorWDIzMjA1MFkyNDYxODBEMDEqDQorWDIzMjE1OFkyNDY0NDJEMDEqDQorWDIzMjIyNFkyNDY3MThEMDEqDQorWDIzMjI0MVkyNDcwMDBEMDEqDQorWDIzMjIyNFkyNDcyODJEMDEqDQorWDIzMjE1OFkyNDc1NThEMDEqDQorWDIzMjA1MFkyNDc4MjBEMDEqDQorWDIzMTkwMlkyNDgwNjFEMDEqDQorWDIzMTcxOFkyNDgyNzdEMDEqDQorWDIzMTUwMlkyNDg0NjFEMDEqDQorWDIzMTI2MVkyNDg2MDlEMDEqDQorWDIzMDk5OVkyNDg3MTdEMDEqDQorWDIzMDcyM1kyNDg3ODNEMDEqDQorWDIzMDQ0MVkyNDg4MDZEMDEqDQorWDIzMDE1OVkyNDg3ODNEMDEqDQorWDIyOTg4M1kyNDg3MTdEMDEqDQorWDIyOTgxNVkyNDg2ODlEMDEqDQorWTI5MTMxMUQwMSoNCitYMjI5ODgzWTI5MTI4M0QwMSoNCitYMjMwMTU5WTI5MTIxN0QwMSoNCitYMjMwNDQxWTI5MTE5NEQwMSoNCitYMjMwNzIzWTI5MTIxN0QwMSoNCitYMjMwOTk5WTI5MTI4M0QwMSoNCitYMjMxMjYxWTI5MTM5MUQwMSoNCitYMjMxNTAyWTI5MTUzOUQwMSoNCitYMjMxNzE4WTI5MTcyM0QwMSoNCitYMjMxOTAyWTI5MTkzOUQwMSoNCitYMjMyMDUwWTI5MjE4MEQwMSoNCitYMjMyMTU4WTI5MjQ0MkQwMSoNCitYMjMyMjI0WTI5MjcxOEQwMSoNCitYMjMyMjQxWTI5MzAwMEQwMSoNCitYMjMyMjI0WTI5MzI4MkQwMSoNCitYMjMyMTU4WTI5MzU1OEQwMSoNCitYMjMyMDUwWTI5MzgyMEQwMSoNCitYMjMxOTAyWTI5NDA2MUQwMSoNCitYMjMxNzE4WTI5NDI3N0QwMSoNCitYMjMxNTAyWTI5NDQ2MUQwMSoNCitYMjMxMjYxWTI5NDYwOUQwMSoNCitYMjMwOTk5WTI5NDcxN0QwMSoNCitYMjMwNzIzWTI5NDc4M0QwMSoNCitYMjMwNDQxWTI5NDgwNkQwMSoNCitYMjMwMTU5WTI5NDc4M0QwMSoNCitYMjI5ODgzWTI5NDcxN0QwMSoNCitYMjI5ODE1WTI5NDY4OUQwMSoNCitZMzUzMTgzRDAxKg0KK1gyMjk4MThZMzUzMTgyRDAxKg0KK1gyMzAxMDBZMzUzMjA1RDAxKg0KK1gyMzAzNzZZMzUzMjcxRDAxKg0KK1gyMzA2MzhZMzUzMzc5RDAxKg0KK1gyMzA4NzlZMzUzNTI3RDAxKg0KK1gyMzEwOTVZMzUzNzExRDAxKg0KK1gyMzEyNzlZMzUzOTI3RDAxKg0KK1gyMzE0MjdZMzU0MTY4RDAxKg0KK1gyMzE1MzVZMzU0NDMwRDAxKg0KK1gyMzE2MDFZMzU0NzA2RDAxKg0KK1gyMzE2MThZMzU0OTg4RDAxKg0KK1gyMzE2MDFZMzU1MjcwRDAxKg0KK1gyMzE1MzVZMzU1NTQ2RDAxKg0KK1gyMzE0MjdZMzU1ODA4RDAxKg0KK1gyMzEyNzlZMzU2MDQ5RDAxKg0KK1gyMzEwOTVZMzU2MjY1RDAxKg0KK1gyMzA4NzlZMzU2NDQ5RDAxKg0KK1gyMzA2MzhZMzU2NTk3RDAxKg0KK1gyMzAzNzZZMzU2NzA1RDAxKg0KK1gyMzAxMDBZMzU2NzcxRDAxKg0KK1gyMjk4MThZMzU2Nzk0RDAxKg0KK1gyMjk4MTVZMzU2NzkzRDAxKg0KK1kzNjMyODlEMDEqDQorWDIyOTkwMVkzNjM0OTZEMDEqDQorWDIzMDA1OVkzNjQxNTREMDEqDQorWDIzMDA5OVkzNjQ4MjlEMDEqDQorWDIzMDA1OVkzNjU1MDREMDEqDQorWDIyOTkwMVkzNjYxNjJEMDEqDQorWDIyOTgxNVkzNjYzNjlEMDEqDQorWTM3MzI4OUQwMSoNCitYMjI5OTAxWTM3MzQ5NkQwMSoNCitYMjMwMDU5WTM3NDE1NEQwMSoNCitYMjMwMDk5WTM3NDgyOUQwMSoNCitYMjMwMDU5WTM3NTUwNEQwMSoNCitYMjI5OTAxWTM3NjE2MkQwMSoNCitYMjI5ODE1WTM3NjM2OUQwMSoNCitZMzk3MDAwRDAxKg0KK1gyMzY0MzhEMDEqDQorWTM3OTA5MkQwMSoNCitYMjM1Nzk5WTM3OTE0MkQwMSoNCitYMjM1MTI0WTM3OTA4OUQwMSoNCitYMjM0NDY2WTM3ODkzMUQwMSoNCitYMjMzODQxWTM3ODY3MkQwMSoNCitYMjMzMjY0WTM3ODMxOUQwMSoNCitYMjMyNzQ5WTM3Nzg3OUQwMSoNCitYMjMyMzA5WTM3NzM2NEQwMSoNCitYMjMxOTU2WTM3Njc4N0QwMSoNCitYMjMxNjk3WTM3NjE2MkQwMSoNCitYMjMxNTM5WTM3NTUwNEQwMSoNCitYMjMxNDg2WTM3NDgyOUQwMSoNCitYMjMxNTM5WTM3NDE1NEQwMSoNCitYMjMxNjk3WTM3MzQ5NkQwMSoNCitYMjMxOTU2WTM3Mjg3MUQwMSoNCitYMjMyMzA5WTM3MjI5NEQwMSoNCitYMjMyNzQ5WTM3MTc3OUQwMSoNCitYMjMzMjY0WTM3MTMzOUQwMSoNCitYMjMzODQxWTM3MDk4NkQwMSoNCitYMjM0NDY2WTM3MDcyN0QwMSoNCitYMjM1MTI0WTM3MDU2OUQwMSoNCitYMjM1Nzk5WTM3MDUxNkQwMSoNCitYMjM2NDM4WTM3MDU2NkQwMSoNCitZMzY5MDkyRDAxKg0KK1gyMzU3OTlZMzY5MTQyRDAxKg0KK1gyMzUxMjRZMzY5MDg5RDAxKg0KK1gyMzQ0NjZZMzY4OTMxRDAxKg0KK1gyMzM4NDFZMzY4NjcyRDAxKg0KK1gyMzMyNjRZMzY4MzE5RDAxKg0KK1gyMzI3NDlZMzY3ODc5RDAxKg0KK1gyMzIzMDlZMzY3MzY0RDAxKg0KK1gyMzE5NTZZMzY2Nzg3RDAxKg0KK1gyMzE2OTdZMzY2MTYyRDAxKg0KK1gyMzE1MzlZMzY1NTA0RDAxKg0KK1gyMzE0ODZZMzY0ODI5RDAxKg0KK1gyMzE1MzlZMzY0MTU0RDAxKg0KK1gyMzE2OTdZMzYzNDk2RDAxKg0KK1gyMzE5NTZZMzYyODcxRDAxKg0KK1gyMzIzMDlZMzYyMjk0RDAxKg0KK1gyMzI3NDlZMzYxNzc5RDAxKg0KK1gyMzMyNjRZMzYxMzM5RDAxKg0KK1gyMzM4NDFZMzYwOTg2RDAxKg0KK1gyMzQ0NjZZMzYwNzI3RDAxKg0KK1gyMzUxMjRZMzYwNTY5RDAxKg0KK1gyMzU3OTlZMzYwNTE2RDAxKg0KK1gyMzY0MzhZMzYwNTY2RDAxKg0KK1kyMzczMDVEMDEqDQorWDIzNjE1OVkyMzcyODNEMDEqDQorWDIzNTg4M1kyMzcyMTdEMDEqDQorWDIzNTYyMVkyMzcxMDlEMDEqDQorWDIzNTM4MFkyMzY5NjFEMDEqDQorWDIzNTE2NFkyMzY3NzdEMDEqDQorWDIzNDk4MFkyMzY1NjFEMDEqDQorWDIzNDgzMlkyMzYzMjBEMDEqDQorWDIzNDcyNFkyMzYwNThEMDEqDQorWDIzNDY1OFkyMzU3ODJEMDEqDQorWDIzNDYzNVkyMzU1MDBEMDEqDQorWDIzNDY1OFkyMzUyMThEMDEqDQorWDIzNDcyNFkyMzQ5NDJEMDEqDQorWDIzNDgzMlkyMzQ2ODBEMDEqDQorWDIzNDk4MFkyMzQ0MzlEMDEqDQorWDIzNTE2NFkyMzQyMjNEMDEqDQorWDIzNTM4MFkyMzQwMzlEMDEqDQorWDIzNTYyMVkyMzM4OTFEMDEqDQorWDIzNTg4M1kyMzM3ODNEMDEqDQorWDIzNjE1OVkyMzM3MTdEMDEqDQorWDIzNjQzOFkyMzM2OTVEMDEqDQorWTIwMTU5MkQwMSoNCitYMjM1Nzk5WTIwMTY0MkQwMSoNCitYMjM1MTI0WTIwMTU4OUQwMSoNCitYMjM0NDY2WTIwMTQzMUQwMSoNCitYMjMzODQxWTIwMTE3MkQwMSoNCitYMjMzMjY0WTIwMDgxOUQwMSoNCitYMjMyNzQ5WTIwMDM3OUQwMSoNCitYMjMyMzA5WTE5OTg2NEQwMSoNCitYMjMxOTU2WTE5OTI4N0QwMSoNCitYMjMxNjk3WTE5ODY2MkQwMSoNCitYMjMxNTM5WTE5ODAwNEQwMSoNCitYMjMxNDg2WTE5NzMyOUQwMSoNCitYMjMxNTM5WTE5NjY1NEQwMSoNCitYMjMxNjk3WTE5NTk5NkQwMSoNCitYMjMxOTU2WTE5NTM3MUQwMSoNCitYMjMyMzA5WTE5NDc5NEQwMSoNCitYMjMyNzQ5WTE5NDI3OUQwMSoNCitYMjMzMjY0WTE5MzgzOUQwMSoNCitYMjMzODQxWTE5MzQ4NkQwMSoNCitYMjM0NDY2WTE5MzIyN0QwMSoNCitYMjM1MTI0WTE5MzA2OUQwMSoNCitYMjM1Nzk5WTE5MzAxNkQwMSoNCitYMjM2NDM4WTE5MzA2NkQwMSoNCitZMTg5MDkyRDAxKg0KK1gyMzU3OTlZMTg5MTQyRDAxKg0KK1gyMzUxMjRZMTg5MDg5RDAxKg0KK1gyMzQ0NjZZMTg4OTMxRDAxKg0KK1gyMzM4NDFZMTg4NjcyRDAxKg0KK1gyMzMyNjRZMTg4MzE5RDAxKg0KK1gyMzI3NDlZMTg3ODc5RDAxKg0KK1gyMzIzMDlZMTg3MzY0RDAxKg0KK1gyMzE5NTZZMTg2Nzg3RDAxKg0KK1gyMzE2OTdZMTg2MTYyRDAxKg0KK1gyMzE1MzlZMTg1NTA0RDAxKg0KK1gyMzE0ODZZMTg0ODI5RDAxKg0KK1gyMzE1MzlZMTg0MTU0RDAxKg0KK1gyMzE2OTdZMTgzNDk2RDAxKg0KK1gyMzE5NTZZMTgyODcxRDAxKg0KK1gyMzIzMDlZMTgyMjk0RDAxKg0KK1gyMzI3NDlZMTgxNzc5RDAxKg0KK1gyMzMyNjRZMTgxMzM5RDAxKg0KK1gyMzM4NDFZMTgwOTg2RDAxKg0KK1gyMzQ0NjZZMTgwNzI3RDAxKg0KK1gyMzUxMjRZMTgwNTY5RDAxKg0KK1gyMzU3OTlZMTgwNTE2RDAxKg0KK1gyMzY0MzhZMTgwNTY2RDAxKg0KK1kxNzkwOTJEMDEqDQorRzM3Kg0KK0czNioNCitYMjM5Mjk5WTE3MTUwMEQwMipYMjM4NTIyRDAxKg0KK1gyMzg4NDlZMTcxNzc5RDAxKg0KK1gyMzkyODlZMTcyMjk0RDAxKg0KK1gyMzkyOTlZMTcyMzExRDAxKg0KK1kxNzE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjAyNDM4WTE3MjE0M0QwMipYMjAyNzQ5WTE3MTc3OUQwMSoNCitYMjAzMDc2WTE3MTUwMEQwMSoNCitYMjAyNDM4RDAxKg0KK1kxNzIxNDNEMDEqDQorRzM3Kg0KK0czNioNCitYMjI0OTM4WTE5MzExNEQwMipYMjI1MTI0WTE5MzA2OUQwMSoNCitYMjI1Nzk5WTE5MzAxNkQwMSoNCitYMjI2NDc0WTE5MzA2OUQwMSoNCitYMjI3MTMyWTE5MzIyN0QwMSoNCitYMjI3NzU3WTE5MzQ4NkQwMSoNCitYMjI4MzM0WTE5MzgzOUQwMSoNCitYMjI4ODQ5WTE5NDI3OUQwMSoNCitYMjI5Mjg5WTE5NDc5NEQwMSoNCitYMjI5NjQyWTE5NTM3MUQwMSoNCitYMjI5ODE1WTE5NTc4OUQwMSoNCitZMTg2MzY5RDAxKg0KK1gyMjk2NDJZMTg2Nzg3RDAxKg0KK1gyMjkyODlZMTg3MzY0RDAxKg0KK1gyMjg4NDlZMTg3ODc5RDAxKg0KK1gyMjgzMzRZMTg4MzE5RDAxKg0KK1gyMjc3NTdZMTg4NjcyRDAxKg0KK1gyMjcxMzJZMTg4OTMxRDAxKg0KK1gyMjY0NzRZMTg5MDg5RDAxKg0KK1gyMjU3OTlZMTg5MTQyRDAxKg0KK1gyMjUxMjRZMTg5MDg5RDAxKg0KK1gyMjQ5MzhZMTg5MDQ0RDAxKg0KK1kxOTMxMTREMDEqDQorRzM3Kg0KK0czNioNCitZMzcwNjE0RDAyKlgyMjUxMjRZMzcwNTY5RDAxKg0KK1gyMjU3OTlZMzcwNTE2RDAxKg0KK1gyMjY0NzRZMzcwNTY5RDAxKg0KK1gyMjcxMzJZMzcwNzI3RDAxKg0KK1gyMjc3NTdZMzcwOTg2RDAxKg0KK1gyMjgzMzRZMzcxMzM5RDAxKg0KK1gyMjg4NDlZMzcxNzc5RDAxKg0KK1gyMjkyODlZMzcyMjk0RDAxKg0KK1gyMjk2NDJZMzcyODcxRDAxKg0KK1gyMjk4MTVZMzczMjg5RDAxKg0KK1kzNjYzNjlEMDEqDQorWDIyOTY0MlkzNjY3ODdEMDEqDQorWDIyOTI4OVkzNjczNjREMDEqDQorWDIyODg0OVkzNjc4NzlEMDEqDQorWDIyODMzNFkzNjgzMTlEMDEqDQorWDIyNzc1N1kzNjg2NzJEMDEqDQorWDIyNzEzMlkzNjg5MzFEMDEqDQorWDIyNjQ3NFkzNjkwODlEMDEqDQorWDIyNTc5OVkzNjkxNDJEMDEqDQorWDIyNTEyNFkzNjkwODlEMDEqDQorWDIyNDkzOFkzNjkwNDREMDEqDQorWTM3MDYxNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzOTcwMDBEMDIqWDIyOTgxNUQwMSoNCitZMzc2MzY5RDAxKg0KK1gyMjk2NDJZMzc2Nzg3RDAxKg0KK1gyMjkyODlZMzc3MzY0RDAxKg0KK1gyMjg4NDlZMzc3ODc5RDAxKg0KK1gyMjgzMzRZMzc4MzE5RDAxKg0KK1gyMjc3NTdZMzc4NjcyRDAxKg0KK1gyMjcxMzJZMzc4OTMxRDAxKg0KK1gyMjY0NzRZMzc5MDg5RDAxKg0KK1gyMjU3OTlZMzc5MTQyRDAxKg0KK1gyMjUxMjRZMzc5MDg5RDAxKg0KK1gyMjQ5MzhZMzc5MDQ0RDAxKg0KK1kzOTcwMDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjQ3MjcwRDAyKlgyMjUxNTlZMjQ3MjE3RDAxKg0KK1gyMjU0NDFZMjQ3MTk0RDAxKg0KK1gyMjU3MjNZMjQ3MjE3RDAxKg0KK1gyMjU5OTlZMjQ3MjgzRDAxKg0KK1gyMjYyNjFZMjQ3MzkxRDAxKg0KK1gyMjY1MDJZMjQ3NTM5RDAxKg0KK1gyMjY3MThZMjQ3NzIzRDAxKg0KK1gyMjY5MDJZMjQ3OTM5RDAxKg0KK1gyMjcwNTBZMjQ4MTgwRDAxKg0KK1gyMjcxNThZMjQ4NDQyRDAxKg0KK1gyMjcyMjRZMjQ4NzE4RDAxKg0KK1gyMjcyNDFZMjQ5MDAwRDAxKg0KK1gyMjcyMjRZMjQ5MjgyRDAxKg0KK1gyMjcxNThZMjQ5NTU4RDAxKg0KK1gyMjcwNTBZMjQ5ODIwRDAxKg0KK1gyMjY5MDJZMjUwMDYxRDAxKg0KK1gyMjY3MThZMjUwMjc3RDAxKg0KK1gyMjY1MDJZMjUwNDYxRDAxKg0KK1gyMjYyNjFZMjUwNjA5RDAxKg0KK1gyMjU5OTlZMjUwNzE3RDAxKg0KK1gyMjU3NjFZMjUwNzc0RDAxKg0KK1gyMjU5MDJZMjUwOTM5RDAxKg0KK1gyMjYwNTBZMjUxMTgwRDAxKg0KK1gyMjYxNThZMjUxNDQyRDAxKg0KK1gyMjYyMjRZMjUxNzE4RDAxKg0KK1gyMjYyNDFZMjUyMDAwRDAxKg0KK1gyMjYyMjRZMjUyMjgyRDAxKg0KK1gyMjYxNThZMjUyNTU4RDAxKg0KK1gyMjYwNTBZMjUyODIwRDAxKg0KK1gyMjU5MDJZMjUzMDYxRDAxKg0KK1gyMjU3MThZMjUzMjc3RDAxKg0KK1gyMjU1MDJZMjUzNDYxRDAxKg0KK1gyMjUyNjFZMjUzNjA5RDAxKg0KK1gyMjQ5OTlZMjUzNzE3RDAxKg0KK1gyMjQ5MzhZMjUzNzMyRDAxKg0KK1kzNjA2MTREMDEqDQorWDIyNTEyNFkzNjA1NjlEMDEqDQorWDIyNTc5OVkzNjA1MTZEMDEqDQorWDIyNjQ3NFkzNjA1NjlEMDEqDQorWDIyNzEzMlkzNjA3MjdEMDEqDQorWDIyNzc1N1kzNjA5ODZEMDEqDQorWDIyODMzNFkzNjEzMzlEMDEqDQorWDIyODg0OVkzNjE3NzlEMDEqDQorWDIyOTI4OVkzNjIyOTREMDEqDQorWDIyOTY0MlkzNjI4NzFEMDEqDQorWDIyOTgxNVkzNjMyODlEMDEqDQorWTM1Njc5M0QwMSoNCitYMjI5NTM2WTM1Njc3MUQwMSoNCitYMjI5MjYwWTM1NjcwNUQwMSoNCitYMjI4OTk4WTM1NjU5N0QwMSoNCitYMjI4NzU3WTM1NjQ0OUQwMSoNCitYMjI4NTQxWTM1NjI2NUQwMSoNCitYMjI4MzU3WTM1NjA0OUQwMSoNCitYMjI4MjA5WTM1NTgwOEQwMSoNCitYMjI4MTAxWTM1NTU0NkQwMSoNCitYMjI4MDM1WTM1NTI3MEQwMSoNCitYMjI4MDEyWTM1NDk4OEQwMSoNCitYMjI4MDM1WTM1NDcwNkQwMSoNCitYMjI4MTAxWTM1NDQzMEQwMSoNCitYMjI4MjA5WTM1NDE2OEQwMSoNCitYMjI4MzU3WTM1MzkyN0QwMSoNCitYMjI4NTQxWTM1MzcxMUQwMSoNCitYMjI4NzU3WTM1MzUyN0QwMSoNCitYMjI4OTk4WTM1MzM3OUQwMSoNCitYMjI5MjYwWTM1MzI3MUQwMSoNCitYMjI5NTM2WTM1MzIwNUQwMSoNCitYMjI5ODE1WTM1MzE4M0QwMSoNCitZMjk0Njg5RDAxKg0KK1gyMjk2MjFZMjk0NjA5RDAxKg0KK1gyMjkzODBZMjk0NDYxRDAxKg0KK1gyMjkxNjRZMjk0Mjc3RDAxKg0KK1gyMjg5ODBZMjk0MDYxRDAxKg0KK1gyMjg4MzJZMjkzODIwRDAxKg0KK1gyMjg3MjRZMjkzNTU4RDAxKg0KK1gyMjg2NThZMjkzMjgyRDAxKg0KK1gyMjg2MzVZMjkzMDAwRDAxKg0KK1gyMjg2NThZMjkyNzE4RDAxKg0KK1gyMjg3MjRZMjkyNDQyRDAxKg0KK1gyMjg4MzJZMjkyMTgwRDAxKg0KK1gyMjg5ODBZMjkxOTM5RDAxKg0KK1gyMjkxNjRZMjkxNzIzRDAxKg0KK1gyMjkzODBZMjkxNTM5RDAxKg0KK1gyMjk2MjFZMjkxMzkxRDAxKg0KK1gyMjk4MTVZMjkxMzExRDAxKg0KK1kyNDg2ODlEMDEqDQorWDIyOTYyMVkyNDg2MDlEMDEqDQorWDIyOTM4MFkyNDg0NjFEMDEqDQorWDIyOTE2NFkyNDgyNzdEMDEqDQorWDIyODk4MFkyNDgwNjFEMDEqDQorWDIyODgzMlkyNDc4MjBEMDEqDQorWDIyODcyNFkyNDc1NThEMDEqDQorWDIyODY1OFkyNDcyODJEMDEqDQorWDIyODYzNVkyNDcwMDBEMDEqDQorWDIyODY1OFkyNDY3MThEMDEqDQorWDIyODcyNFkyNDY0NDJEMDEqDQorWDIyODgzMlkyNDYxODBEMDEqDQorWDIyODk4MFkyNDU5MzlEMDEqDQorWDIyOTE2NFkyNDU3MjNEMDEqDQorWDIyOTM4MFkyNDU1MzlEMDEqDQorWDIyOTYyMVkyNDUzOTFEMDEqDQorWDIyOTgxNVkyNDUzMTFEMDEqDQorWTE5ODg2OUQwMSoNCitYMjI5NjQyWTE5OTI4N0QwMSoNCitYMjI5Mjg5WTE5OTg2NEQwMSoNCitYMjI4ODQ5WTIwMDM3OUQwMSoNCitYMjI4MzM0WTIwMDgxOUQwMSoNCitYMjI3NzU3WTIwMTE3MkQwMSoNCitYMjI3MTMyWTIwMTQzMUQwMSoNCitYMjI2NDc0WTIwMTU4OUQwMSoNCitYMjI1Nzk5WTIwMTY0MkQwMSoNCitYMjI1MTI0WTIwMTU4OUQwMSoNCitYMjI0OTM4WTIwMTU0NEQwMSoNCitZMjE4Njk1RDAxKg0KK1gyMjQ5NDFZMjE4Njk0RDAxKg0KK1gyMjUyMjNZMjE4NzE3RDAxKg0KK1gyMjU0OTlZMjE4NzgzRDAxKg0KK1gyMjU3NjFZMjE4ODkxRDAxKg0KK1gyMjYwMDJZMjE5MDM5RDAxKg0KK1gyMjYyMThZMjE5MjIzRDAxKg0KK1gyMjY0MDJZMjE5NDM5RDAxKg0KK1gyMjY1NTBZMjE5NjgwRDAxKg0KK1gyMjY2NThZMjE5OTQyRDAxKg0KK1gyMjY3MjRZMjIwMjE4RDAxKg0KK1gyMjY3NDFZMjIwNTAwRDAxKg0KK1gyMjY3MjRZMjIwNzgyRDAxKg0KK1gyMjY2NThZMjIxMDU4RDAxKg0KK1gyMjY1NTBZMjIxMzIwRDAxKg0KK1gyMjY0MDJZMjIxNTYxRDAxKg0KK1gyMjYyMThZMjIxNzc3RDAxKg0KK1gyMjYwMDJZMjIxOTYxRDAxKg0KK1gyMjU3NjFZMjIyMTA5RDAxKg0KK1gyMjU0OTlZMjIyMjE3RDAxKg0KK1gyMjUyMjNZMjIyMjgzRDAxKg0KK1gyMjQ5NDFZMjIyMzA2RDAxKg0KK1gyMjQ5MzhZMjIyMzA1RDAxKg0KK1kyMjQ3NzBEMDEqDQorWDIyNTE1OVkyMjQ3MTdEMDEqDQorWDIyNTQ0MVkyMjQ2OTREMDEqDQorWDIyNTcyM1kyMjQ3MTdEMDEqDQorWDIyNTk5OVkyMjQ3ODNEMDEqDQorWDIyNjI2MVkyMjQ4OTFEMDEqDQorWDIyNjUwMlkyMjUwMzlEMDEqDQorWDIyNjcxOFkyMjUyMjNEMDEqDQorWDIyNjkwMlkyMjU0MzlEMDEqDQorWDIyNzA1MFkyMjU2ODBEMDEqDQorWDIyNzE1OFkyMjU5NDJEMDEqDQorWDIyNzIyNFkyMjYyMThEMDEqDQorWDIyNzI0MVkyMjY1MDBEMDEqDQorWDIyNzIyNFkyMjY3ODJEMDEqDQorWDIyNzE1OFkyMjcwNThEMDEqDQorWDIyNzA1MFkyMjczMjBEMDEqDQorWDIyNjkwMlkyMjc1NjFEMDEqDQorWDIyNjcxOFkyMjc3NzdEMDEqDQorWDIyNjUwMlkyMjc5NjFEMDEqDQorWDIyNjI2MVkyMjgxMDlEMDEqDQorWDIyNTk5OVkyMjgyMTdEMDEqDQorWDIyNTcyM1kyMjgyODNEMDEqDQorWDIyNTQ0MVkyMjgzMDZEMDEqDQorWDIyNTE1OVkyMjgyODNEMDEqDQorWDIyNDkzOFkyMjgyMzBEMDEqDQorWTIzMzY5NUQwMSoNCitYMjI0OTQxWTIzMzY5NEQwMSoNCitYMjI1MjIzWTIzMzcxN0QwMSoNCitYMjI1NDk5WTIzMzc4M0QwMSoNCitYMjI1NzYxWTIzMzg5MUQwMSoNCitYMjI2MDAyWTIzNDAzOUQwMSoNCitYMjI2MjE4WTIzNDIyM0QwMSoNCitYMjI2NDAyWTIzNDQzOUQwMSoNCitYMjI2NTUwWTIzNDY4MEQwMSoNCitYMjI2NjU4WTIzNDk0MkQwMSoNCitYMjI2NzI0WTIzNTIxOEQwMSoNCitYMjI2NzQxWTIzNTUwMEQwMSoNCitYMjI2NzI0WTIzNTc4MkQwMSoNCitYMjI2NjU4WTIzNjA1OEQwMSoNCitYMjI2NTUwWTIzNjMyMEQwMSoNCitYMjI2NDAyWTIzNjU2MUQwMSoNCitYMjI2MjE4WTIzNjc3N0QwMSoNCitYMjI2MDAyWTIzNjk2MUQwMSoNCitYMjI1NzYxWTIzNzEwOUQwMSoNCitYMjI1NDk5WTIzNzIxN0QwMSoNCitYMjI1MjIzWTIzNzI4M0QwMSoNCitYMjI0OTQxWTIzNzMwNkQwMSoNCitYMjI0OTM4WTIzNzMwNUQwMSoNCitZMjQyMjY4RDAxKg0KK1gyMjQ5OTlZMjQyMjgzRDAxKg0KK1gyMjUyNjFZMjQyMzkxRDAxKg0KK1gyMjU1MDJZMjQyNTM5RDAxKg0KK1gyMjU3MThZMjQyNzIzRDAxKg0KK1gyMjU5MDJZMjQyOTM5RDAxKg0KK1gyMjYwNTBZMjQzMTgwRDAxKg0KK1gyMjYxNThZMjQzNDQyRDAxKg0KK1gyMjYyMjRZMjQzNzE4RDAxKg0KK1gyMjYyNDFZMjQ0MDAwRDAxKg0KK1gyMjYyMjRZMjQ0MjgyRDAxKg0KK1gyMjYxNThZMjQ0NTU4RDAxKg0KK1gyMjYwNTBZMjQ0ODIwRDAxKg0KK1gyMjU5MDJZMjQ1MDYxRDAxKg0KK1gyMjU3MThZMjQ1Mjc3RDAxKg0KK1gyMjU1MDJZMjQ1NDYxRDAxKg0KK1gyMjUyNjFZMjQ1NjA5RDAxKg0KK1gyMjQ5OTlZMjQ1NzE3RDAxKg0KK1gyMjQ5MzhZMjQ1NzMyRDAxKg0KK1kyNDcyNzBEMDEqDQorRzM3Kg0KK0czNioNCitYMjI5ODE1WTE3NjM2OUQwMipYMjI5NjQyWTE3Njc4N0QwMSoNCitYMjI5Mjg5WTE3NzM2NEQwMSoNCitYMjI4ODQ5WTE3Nzg3OUQwMSoNCitYMjI4MzM0WTE3ODMxOUQwMSoNCitYMjI3NzU3WTE3ODY3MkQwMSoNCitYMjI3MTMyWTE3ODkzMUQwMSoNCitYMjI2NDc0WTE3OTA4OUQwMSoNCitYMjI1Nzk5WTE3OTE0MkQwMSoNCitYMjI1MTI0WTE3OTA4OUQwMSoNCitYMjI0OTM4WTE3OTA0NEQwMSoNCitZMTgwNjE0RDAxKg0KK1gyMjUxMjRZMTgwNTY5RDAxKg0KK1gyMjU3OTlZMTgwNTE2RDAxKg0KK1gyMjY0NzRZMTgwNTY5RDAxKg0KK1gyMjcxMzJZMTgwNzI3RDAxKg0KK1gyMjc3NTdZMTgwOTg2RDAxKg0KK1gyMjgzMzRZMTgxMzM5RDAxKg0KK1gyMjg4NDlZMTgxNzc5RDAxKg0KK1gyMjkyODlZMTgyMjk0RDAxKg0KK1gyMjk2NDJZMTgyODcxRDAxKg0KK1gyMjk4MTVZMTgzMjg5RDAxKg0KK1kxNzYzNjlEMDEqDQorRzM3Kg0KK0czNioNCitYMjI0OTM4WTI1MzczMkQwMipYMjI0NzIzWTI1Mzc4M0QwMSoNCitYMjI0NDQxWTI1MzgwNkQwMSoNCitYMjI0MTU5WTI1Mzc4M0QwMSoNCitYMjIzODgzWTI1MzcxN0QwMSoNCitYMjIzNjQzWTI1MzYxOEQwMSoNCitYMjIzNjY3WTI1MzcxOEQwMSoNCitYMjIzNjg0WTI1NDAwMEQwMSoNCitYMjIzNjY3WTI1NDI4MkQwMSoNCitYMjIzNjAxWTI1NDU1OEQwMSoNCitYMjIzNDkzWTI1NDgyMEQwMSoNCitYMjIzMzQ1WTI1NTA2MUQwMSoNCitYMjIzMTYxWTI1NTI3N0QwMSoNCitYMjIyOTQ1WTI1NTQ2MUQwMSoNCitYMjIyNzA0WTI1NTYwOUQwMSoNCitYMjIyNDQyWTI1NTcxN0QwMSoNCitYMjIyMTY2WTI1NTc4M0QwMSoNCitYMjIxODg0WTI1NTgwNkQwMSoNCitYMjIxNjAyWTI1NTc4M0QwMSoNCitYMjIxMzI2WTI1NTcxN0QwMSoNCitYMjIxMDY0WTI1NTYwOUQwMSoNCitYMjIwODIzWTI1NTQ2MUQwMSoNCitYMjIwNjA3WTI1NTI3N0QwMSoNCitYMjIwNDM4WTI1NTA3OUQwMSoNCitZMjU3Njk1RDAxKg0KK1gyMjA0NDFZMjU3Njk0RDAxKg0KK1gyMjA3MjNZMjU3NzE3RDAxKg0KK1gyMjA5OTlZMjU3NzgzRDAxKg0KK1gyMjEyNjFZMjU3ODkxRDAxKg0KK1gyMjE1MDJZMjU4MDM5RDAxKg0KK1gyMjE3MThZMjU4MjIzRDAxKg0KK1gyMjE5MDJZMjU4NDM5RDAxKg0KK1gyMjIwNTBZMjU4NjgwRDAxKg0KK1gyMjIxNThZMjU4OTQyRDAxKg0KK1gyMjIyMjRZMjU5MjE4RDAxKg0KK1gyMjIyNDFZMjU5NTAwRDAxKg0KK1gyMjIyMjRZMjU5NzgyRDAxKg0KK1gyMjIxNThZMjYwMDU4RDAxKg0KK1gyMjIwNTBZMjYwMzIwRDAxKg0KK1gyMjE5MDJZMjYwNTYxRDAxKg0KK1gyMjE3MThZMjYwNzc3RDAxKg0KK1gyMjE1MDJZMjYwOTYxRDAxKg0KK1gyMjEyNjFZMjYxMTA5RDAxKg0KK1gyMjA5OTlZMjYxMjE3RDAxKg0KK1gyMjA3MjNZMjYxMjgzRDAxKg0KK1gyMjA0NDFZMjYxMzA2RDAxKg0KK1gyMjA0MzhZMjYxMzA1RDAxKg0KK1kyNjM3OTlEMDEqDQorWDIyMDQ0N1kyNjM3OTdEMDEqDQorWDIyMDcyOVkyNjM3NzREMDEqDQorWDIyMTAxMVkyNjM3OTdEMDEqDQorWDIyMTI4N1kyNjM4NjNEMDEqDQorWDIyMTU0OVkyNjM5NzFEMDEqDQorWDIyMTc5MFkyNjQxMTlEMDEqDQorWDIyMjAwNlkyNjQzMDNEMDEqDQorWDIyMjE5MFkyNjQ1MTlEMDEqDQorWDIyMjMzOFkyNjQ3NjBEMDEqDQorWDIyMjQ0NlkyNjUwMjJEMDEqDQorWDIyMjUxMlkyNjUyOThEMDEqDQorWDIyMjUyOVkyNjU1ODBEMDEqDQorWDIyMjUxMlkyNjU4NjJEMDEqDQorWDIyMjQ0NlkyNjYxMzhEMDEqDQorWDIyMjMzOFkyNjY0MDBEMDEqDQorWDIyMjE5MFkyNjY2NDFEMDEqDQorWDIyMjAwNlkyNjY4NTdEMDEqDQorWDIyMTc5MFkyNjcwNDFEMDEqDQorWDIyMTU0OVkyNjcxODlEMDEqDQorWDIyMTI4N1kyNjcyOTdEMDEqDQorWDIyMTAxMVkyNjczNjNEMDEqDQorWDIyMDcyOVkyNjczODZEMDEqDQorWDIyMDQ0N1kyNjczNjNEMDEqDQorWDIyMDQzOFkyNjczNjFEMDEqDQorWTI3MTAwMEQwMSoNCitYMjIwNTAyWTI3MTAzOUQwMSoNCitYMjIwNzE4WTI3MTIyM0QwMSoNCitYMjIwOTAyWTI3MTQzOUQwMSoNCitYMjIxMDUwWTI3MTY4MEQwMSoNCitYMjIxMTU4WTI3MTk0MkQwMSoNCitYMjIxMjI0WTI3MjIxOEQwMSoNCitYMjIxMjQxWTI3MjUwMEQwMSoNCitYMjIxMjI0WTI3Mjc4MkQwMSoNCitYMjIxMTU4WTI3MzA1OEQwMSoNCitYMjIxMDUwWTI3MzMyMEQwMSoNCitYMjIwOTAyWTI3MzU2MUQwMSoNCitYMjIwNzE4WTI3Mzc3N0QwMSoNCitYMjIwNTAyWTI3Mzk2MUQwMSoNCitYMjIwNDM4WTI3NDAwMEQwMSoNCitZMzk3MDAwRDAxKg0KK1gyMjQ5MzhEMDEqDQorWTM3OTA0NEQwMSoNCitYMjI0NDY2WTM3ODkzMUQwMSoNCitYMjIzODQxWTM3ODY3MkQwMSoNCitYMjIzMjY0WTM3ODMxOUQwMSoNCitYMjIyNzQ5WTM3Nzg3OUQwMSoNCitYMjIyMzA5WTM3NzM2NEQwMSoNCitYMjIxOTU2WTM3Njc4N0QwMSoNCitYMjIxNjk3WTM3NjE2MkQwMSoNCitYMjIxNTM5WTM3NTUwNEQwMSoNCitYMjIxNDg2WTM3NDgyOUQwMSoNCitYMjIxNTM5WTM3NDE1NEQwMSoNCitYMjIxNjk3WTM3MzQ5NkQwMSoNCitYMjIxOTU2WTM3Mjg3MUQwMSoNCitYMjIyMzA5WTM3MjI5NEQwMSoNCitYMjIyNzQ5WTM3MTc3OUQwMSoNCitYMjIzMjY0WTM3MTMzOUQwMSoNCitYMjIzODQxWTM3MDk4NkQwMSoNCitYMjI0NDY2WTM3MDcyN0QwMSoNCitYMjI0OTM4WTM3MDYxNEQwMSoNCitZMzY5MDQ0RDAxKg0KK1gyMjQ0NjZZMzY4OTMxRDAxKg0KK1gyMjM4NDFZMzY4NjcyRDAxKg0KK1gyMjMyNjRZMzY4MzE5RDAxKg0KK1gyMjI3NDlZMzY3ODc5RDAxKg0KK1gyMjIzMDlZMzY3MzY0RDAxKg0KK1gyMjE5NTZZMzY2Nzg3RDAxKg0KK1gyMjE2OTdZMzY2MTYyRDAxKg0KK1gyMjE1MzlZMzY1NTA0RDAxKg0KK1gyMjE0ODZZMzY0ODI5RDAxKg0KK1gyMjE1MzlZMzY0MTU0RDAxKg0KK1gyMjE2OTdZMzYzNDk2RDAxKg0KK1gyMjE5NTZZMzYyODcxRDAxKg0KK1gyMjIzMDlZMzYyMjk0RDAxKg0KK1gyMjI3NDlZMzYxNzc5RDAxKg0KK1gyMjMyNjRZMzYxMzM5RDAxKg0KK1gyMjM4NDFZMzYwOTg2RDAxKg0KK1gyMjQ0NjZZMzYwNzI3RDAxKg0KK1gyMjQ5MzhZMzYwNjE0RDAxKg0KK1kyNTM3MzJEMDEqDQorRzM3Kg0KK0czNioNCitZMTc5MDQ0RDAyKlgyMjQ0NjZZMTc4OTMxRDAxKg0KK1gyMjM4NDFZMTc4NjcyRDAxKg0KK1gyMjMyNjRZMTc4MzE5RDAxKg0KK1gyMjI3NDlZMTc3ODc5RDAxKg0KK1gyMjIzMDlZMTc3MzY0RDAxKg0KK1gyMjE5NTZZMTc2Nzg3RDAxKg0KK1gyMjE2OTdZMTc2MTYyRDAxKg0KK1gyMjE1MzlZMTc1NTA0RDAxKg0KK1gyMjE0ODZZMTc0ODI5RDAxKg0KK1gyMjE1MzlZMTc0MTU0RDAxKg0KK1gyMjE2OTdZMTczNDk2RDAxKg0KK1gyMjE5NTZZMTcyODcxRDAxKg0KK1gyMjIzMDlZMTcyMjk0RDAxKg0KK1gyMjI3NDlZMTcxNzc5RDAxKg0KK1gyMjMwNzZZMTcxNTAwRDAxKg0KK1gyMjA0MzhEMDEqDQorWTIxMzE5NUQwMSoNCitYMjIwNDQxWTIxMzE5NEQwMSoNCitYMjIwNzIzWTIxMzIxN0QwMSoNCitYMjIwOTk5WTIxMzI4M0QwMSoNCitYMjIxMjYxWTIxMzM5MUQwMSoNCitYMjIxNTAyWTIxMzUzOUQwMSoNCitYMjIxNzE4WTIxMzcyM0QwMSoNCitYMjIxOTAyWTIxMzkzOUQwMSoNCitYMjIyMDUwWTIxNDE4MEQwMSoNCitYMjIyMTU4WTIxNDQ0MkQwMSoNCitYMjIyMjI0WTIxNDcxOEQwMSoNCitYMjIyMjQxWTIxNTAwMEQwMSoNCitYMjIyMjI0WTIxNTI4MkQwMSoNCitYMjIyMTU4WTIxNTU1OEQwMSoNCitYMjIyMDUwWTIxNTgyMEQwMSoNCitYMjIxOTAyWTIxNjA2MUQwMSoNCitYMjIxNzE4WTIxNjI3N0QwMSoNCitYMjIxNTAyWTIxNjQ2MUQwMSoNCitYMjIxMjYxWTIxNjYwOUQwMSoNCitYMjIwOTk5WTIxNjcxN0QwMSoNCitYMjIwNzIzWTIxNjc4M0QwMSoNCitYMjIwNDQxWTIxNjgwNkQwMSoNCitYMjIwNDM4WTIxNjgwNUQwMSoNCitZMjUyOTIxRDAxKg0KK1gyMjA2MDdZMjUyNzIzRDAxKg0KK1gyMjA4MjNZMjUyNTM5RDAxKg0KK1gyMjEwNjRZMjUyMzkxRDAxKg0KK1gyMjEzMjZZMjUyMjgzRDAxKg0KK1gyMjE2MDJZMjUyMjE3RDAxKg0KK1gyMjE4ODRZMjUyMTk0RDAxKg0KK1gyMjIxNjZZMjUyMjE3RDAxKg0KK1gyMjI0NDJZMjUyMjgzRDAxKg0KK1gyMjI2ODJZMjUyMzgyRDAxKg0KK1gyMjI2NThZMjUyMjgyRDAxKg0KK1gyMjI2MzVZMjUyMDAwRDAxKg0KK1gyMjI2NThZMjUxNzE4RDAxKg0KK1gyMjI3MjRZMjUxNDQyRDAxKg0KK1gyMjI4MzJZMjUxMTgwRDAxKg0KK1gyMjI5ODBZMjUwOTM5RDAxKg0KK1gyMjMxNjRZMjUwNzIzRDAxKg0KK1gyMjMzODBZMjUwNTM5RDAxKg0KK1gyMjM2MjFZMjUwMzkxRDAxKg0KK1gyMjM4ODNZMjUwMjgzRDAxKg0KK1gyMjQxMjFZMjUwMjI2RDAxKg0KK1gyMjM5ODBZMjUwMDYxRDAxKg0KK1gyMjM4MzJZMjQ5ODIwRDAxKg0KK1gyMjM3MjRZMjQ5NTU4RDAxKg0KK1gyMjM2NThZMjQ5MjgyRDAxKg0KK1gyMjM2MzVZMjQ5MDAwRDAxKg0KK1gyMjM2NThZMjQ4NzE4RDAxKg0KK1gyMjM3MjRZMjQ4NDQyRDAxKg0KK1gyMjM4MzJZMjQ4MTgwRDAxKg0KK1gyMjM5ODBZMjQ3OTM5RDAxKg0KK1gyMjQxNjRZMjQ3NzIzRDAxKg0KK1gyMjQzODBZMjQ3NTM5RDAxKg0KK1gyMjQ2MjFZMjQ3MzkxRDAxKg0KK1gyMjQ4ODNZMjQ3MjgzRDAxKg0KK1gyMjQ5MzhZMjQ3MjcwRDAxKg0KK1kyNDU3MzJEMDEqDQorWDIyNDcyM1kyNDU3ODNEMDEqDQorWDIyNDQ0MVkyNDU4MDZEMDEqDQorWDIyNDE1OVkyNDU3ODNEMDEqDQorWDIyMzg4M1kyNDU3MTdEMDEqDQorWDIyMzYyMVkyNDU2MDlEMDEqDQorWDIyMzM4MFkyNDU0NjFEMDEqDQorWDIyMzE2NFkyNDUyNzdEMDEqDQorWDIyMjk4MFkyNDUwNjFEMDEqDQorWDIyMjgzMlkyNDQ4MjBEMDEqDQorWDIyMjcyNFkyNDQ1NThEMDEqDQorWDIyMjY1OFkyNDQyODJEMDEqDQorWDIyMjYzNVkyNDQwMDBEMDEqDQorWDIyMjY1OFkyNDM3MThEMDEqDQorWDIyMjcyNFkyNDM0NDJEMDEqDQorWDIyMjgzMlkyNDMxODBEMDEqDQorWDIyMjk4MFkyNDI5MzlEMDEqDQorWDIyMzE2NFkyNDI3MjNEMDEqDQorWDIyMzM4MFkyNDI1MzlEMDEqDQorWDIyMzYyMVkyNDIzOTFEMDEqDQorWDIyMzg4M1kyNDIyODNEMDEqDQorWDIyNDE1OVkyNDIyMTdEMDEqDQorWDIyNDQ0MVkyNDIxOTREMDEqDQorWDIyNDcyM1kyNDIyMTdEMDEqDQorWDIyNDkzOFkyNDIyNjhEMDEqDQorWTIzNzMwNUQwMSoNCitYMjI0NjU5WTIzNzI4M0QwMSoNCitYMjI0MzgzWTIzNzIxN0QwMSoNCitYMjI0MTIxWTIzNzEwOUQwMSoNCitYMjIzODgwWTIzNjk2MUQwMSoNCitYMjIzNjY0WTIzNjc3N0QwMSoNCitYMjIzNDgwWTIzNjU2MUQwMSoNCitYMjIzMzMyWTIzNjMyMEQwMSoNCitYMjIzMjI0WTIzNjA1OEQwMSoNCitYMjIzMTU4WTIzNTc4MkQwMSoNCitYMjIzMTM1WTIzNTUwMEQwMSoNCitYMjIzMTU4WTIzNTIxOEQwMSoNCitYMjIzMjI0WTIzNDk0MkQwMSoNCitYMjIzMzMyWTIzNDY4MEQwMSoNCitYMjIzNDgwWTIzNDQzOUQwMSoNCitYMjIzNjY0WTIzNDIyM0QwMSoNCitYMjIzODgwWTIzNDAzOUQwMSoNCitYMjI0MTIxWTIzMzg5MUQwMSoNCitYMjI0MzgzWTIzMzc4M0QwMSoNCitYMjI0NjU5WTIzMzcxN0QwMSoNCitYMjI0OTM4WTIzMzY5NUQwMSoNCitZMjI4MjMwRDAxKg0KK1gyMjQ4ODNZMjI4MjE3RDAxKg0KK1gyMjQ2MjFZMjI4MTA5RDAxKg0KK1gyMjQzODBZMjI3OTYxRDAxKg0KK1gyMjQxNjRZMjI3Nzc3RDAxKg0KK1gyMjM5ODBZMjI3NTYxRDAxKg0KK1gyMjM4MzJZMjI3MzIwRDAxKg0KK1gyMjM3MjRZMjI3MDU4RDAxKg0KK1gyMjM2NThZMjI2NzgyRDAxKg0KK1gyMjM2MzVZMjI2NTAwRDAxKg0KK1gyMjM2NThZMjI2MjE4RDAxKg0KK1gyMjM3MjRZMjI1OTQyRDAxKg0KK1gyMjM4MzJZMjI1NjgwRDAxKg0KK1gyMjM5ODBZMjI1NDM5RDAxKg0KK1gyMjQxNjRZMjI1MjIzRDAxKg0KK1gyMjQzODBZMjI1MDM5RDAxKg0KK1gyMjQ2MjFZMjI0ODkxRDAxKg0KK1gyMjQ4ODNZMjI0NzgzRDAxKg0KK1gyMjQ5MzhZMjI0NzcwRDAxKg0KK1kyMjIzMDVEMDEqDQorWDIyNDY1OVkyMjIyODNEMDEqDQorWDIyNDM4M1kyMjIyMTdEMDEqDQorWDIyNDEyMVkyMjIxMDlEMDEqDQorWDIyMzg4MFkyMjE5NjFEMDEqDQorWDIyMzY2NFkyMjE3NzdEMDEqDQorWDIyMzQ4MFkyMjE1NjFEMDEqDQorWDIyMzMzMlkyMjEzMjBEMDEqDQorWDIyMzIyNFkyMjEwNThEMDEqDQorWDIyMzE1OFkyMjA3ODJEMDEqDQorWDIyMzEzNVkyMjA1MDBEMDEqDQorWDIyMzE1OFkyMjAyMThEMDEqDQorWDIyMzIyNFkyMTk5NDJEMDEqDQorWDIyMzMzMlkyMTk2ODBEMDEqDQorWDIyMzQ4MFkyMTk0MzlEMDEqDQorWDIyMzY2NFkyMTkyMjNEMDEqDQorWDIyMzg4MFkyMTkwMzlEMDEqDQorWDIyNDEyMVkyMTg4OTFEMDEqDQorWDIyNDM4M1kyMTg3ODNEMDEqDQorWDIyNDY1OVkyMTg3MTdEMDEqDQorWDIyNDkzOFkyMTg2OTVEMDEqDQorWTIwMTU0NEQwMSoNCitYMjI0NDY2WTIwMTQzMUQwMSoNCitYMjIzODQxWTIwMTE3MkQwMSoNCitYMjIzMjY0WTIwMDgxOUQwMSoNCitYMjIyNzQ5WTIwMDM3OUQwMSoNCitYMjIyMzA5WTE5OTg2NEQwMSoNCitYMjIxOTU2WTE5OTI4N0QwMSoNCitYMjIxNjk3WTE5ODY2MkQwMSoNCitYMjIxNTM5WTE5ODAwNEQwMSoNCitYMjIxNDg2WTE5NzMyOUQwMSoNCitYMjIxNTM5WTE5NjY1NEQwMSoNCitYMjIxNjk3WTE5NTk5NkQwMSoNCitYMjIxOTU2WTE5NTM3MUQwMSoNCitYMjIyMzA5WTE5NDc5NEQwMSoNCitYMjIyNzQ5WTE5NDI3OUQwMSoNCitYMjIzMjY0WTE5MzgzOUQwMSoNCitYMjIzODQxWTE5MzQ4NkQwMSoNCitYMjI0NDY2WTE5MzIyN0QwMSoNCitYMjI0OTM4WTE5MzExNEQwMSoNCitZMTg5MDQ0RDAxKg0KK1gyMjQ0NjZZMTg4OTMxRDAxKg0KK1gyMjM4NDFZMTg4NjcyRDAxKg0KK1gyMjMyNjRZMTg4MzE5RDAxKg0KK1gyMjI3NDlZMTg3ODc5RDAxKg0KK1gyMjIzMDlZMTg3MzY0RDAxKg0KK1gyMjE5NTZZMTg2Nzg3RDAxKg0KK1gyMjE2OTdZMTg2MTYyRDAxKg0KK1gyMjE1MzlZMTg1NTA0RDAxKg0KK1gyMjE0ODZZMTg0ODI5RDAxKg0KK1gyMjE1MzlZMTg0MTU0RDAxKg0KK1gyMjE2OTdZMTgzNDk2RDAxKg0KK1gyMjE5NTZZMTgyODcxRDAxKg0KK1gyMjIzMDlZMTgyMjk0RDAxKg0KK1gyMjI3NDlZMTgxNzc5RDAxKg0KK1gyMjMyNjRZMTgxMzM5RDAxKg0KK1gyMjM4NDFZMTgwOTg2RDAxKg0KK1gyMjQ0NjZZMTgwNzI3RDAxKg0KK1gyMjQ5MzhZMTgwNjE0RDAxKg0KK1kxNzkwNDREMDEqDQorRzM3Kg0KK0czNioNCitYMjEyOTM4WTE3MTYxOEQwMipYMjEzMDc2WTE3MTUwMEQwMSoNCitYMjEyOTM4RDAxKg0KK1kxNzE2MThEMDEqDQorRzM3Kg0KK0czNioNCitYMjE3NDM4WTM2MDg1NEQwMipYMjE3NzU3WTM2MDk4NkQwMSoNCitYMjE4MzM0WTM2MTMzOUQwMSoNCitYMjE4ODQ5WTM2MTc3OUQwMSoNCitYMjE5Mjg5WTM2MjI5NEQwMSoNCitYMjE5NjQyWTM2Mjg3MUQwMSoNCitYMjE5OTAxWTM2MzQ5NkQwMSoNCitYMjIwMDU5WTM2NDE1NEQwMSoNCitYMjIwMDk5WTM2NDgyOUQwMSoNCitYMjIwMDU5WTM2NTUwNEQwMSoNCitYMjE5OTAxWTM2NjE2MkQwMSoNCitYMjE5NjQyWTM2Njc4N0QwMSoNCitYMjE5Mjg5WTM2NzM2NEQwMSoNCitYMjE4ODQ5WTM2Nzg3OUQwMSoNCitYMjE4MzM0WTM2ODMxOUQwMSoNCitYMjE3NzU3WTM2ODY3MkQwMSoNCitYMjE3NDM4WTM2ODgwNEQwMSoNCitZMzcwODU0RDAxKg0KK1gyMTc3NTdZMzcwOTg2RDAxKg0KK1gyMTgzMzRZMzcxMzM5RDAxKg0KK1gyMTg4NDlZMzcxNzc5RDAxKg0KK1gyMTkyODlZMzcyMjk0RDAxKg0KK1gyMTk2NDJZMzcyODcxRDAxKg0KK1gyMTk5MDFZMzczNDk2RDAxKg0KK1gyMjAwNTlZMzc0MTU0RDAxKg0KK1gyMjAwOTlZMzc0ODI5RDAxKg0KK1gyMjAwNTlZMzc1NTA0RDAxKg0KK1gyMTk5MDFZMzc2MTYyRDAxKg0KK1gyMTk2NDJZMzc2Nzg3RDAxKg0KK1gyMTkyODlZMzc3MzY0RDAxKg0KK1gyMTg4NDlZMzc3ODc5RDAxKg0KK1gyMTgzMzRZMzc4MzE5RDAxKg0KK1gyMTc3NTdZMzc4NjcyRDAxKg0KK1gyMTc0MzhZMzc4ODA0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDIyMDQzOEQwMSoNCitZMjc0MDAwRDAxKg0KK1gyMjAyNjFZMjc0MTA5RDAxKg0KK1gyMTk5OTlZMjc0MjE3RDAxKg0KK1gyMTk3MjNZMjc0MjgzRDAxKg0KK1gyMTk0NDFZMjc0MzA2RDAxKg0KK1gyMTkxNTlZMjc0MjgzRDAxKg0KK1gyMTg4ODNZMjc0MjE3RDAxKg0KK1gyMTg2MjFZMjc0MTA5RDAxKg0KK1gyMTgzODBZMjczOTYxRDAxKg0KK1gyMTgxNjRZMjczNzc3RDAxKg0KK1gyMTc5ODBZMjczNTYxRDAxKg0KK1gyMTc4MzJZMjczMzIwRDAxKg0KK1gyMTc3MjRZMjczMDU4RDAxKg0KK1gyMTc2NThZMjcyNzgyRDAxKg0KK1gyMTc2MzVZMjcyNTAwRDAxKg0KK1gyMTc2NThZMjcyMjE4RDAxKg0KK1gyMTc3MjRZMjcxOTQyRDAxKg0KK1gyMTc4MzJZMjcxNjgwRDAxKg0KK1gyMTc5ODBZMjcxNDM5RDAxKg0KK1gyMTgxNjRZMjcxMjIzRDAxKg0KK1gyMTgzODBZMjcxMDM5RDAxKg0KK1gyMTg2MjFZMjcwODkxRDAxKg0KK1gyMTg4ODNZMjcwNzgzRDAxKg0KK1gyMTkxNTlZMjcwNzE3RDAxKg0KK1gyMTk0NDFZMjcwNjk0RDAxKg0KK1gyMTk3MjNZMjcwNzE3RDAxKg0KK1gyMTk5OTlZMjcwNzgzRDAxKg0KK1gyMjAyNjFZMjcwODkxRDAxKg0KK1gyMjA0MzhZMjcxMDAwRDAxKg0KK1kyNjczNjFEMDEqDQorWDIyMDE3MVkyNjcyOTdEMDEqDQorWDIxOTkwOVkyNjcxODlEMDEqDQorWDIxOTY2OFkyNjcwNDFEMDEqDQorWDIxOTQ1MlkyNjY4NTdEMDEqDQorWDIxOTI2OFkyNjY2NDFEMDEqDQorWDIxOTEyMFkyNjY0MDBEMDEqDQorWDIxOTAxMlkyNjYxMzhEMDEqDQorWDIxODk0NlkyNjU4NjJEMDEqDQorWDIxODkyM1kyNjU1ODBEMDEqDQorWDIxODk0NlkyNjUyOThEMDEqDQorWDIxOTAxMlkyNjUwMjJEMDEqDQorWDIxOTEyMFkyNjQ3NjBEMDEqDQorWDIxOTI2OFkyNjQ1MTlEMDEqDQorWDIxOTQ1MlkyNjQzMDNEMDEqDQorWDIxOTY2OFkyNjQxMTlEMDEqDQorWDIxOTkwOVkyNjM5NzFEMDEqDQorWDIyMDE3MVkyNjM4NjNEMDEqDQorWDIyMDQzOFkyNjM3OTlEMDEqDQorWTI2MTMwNUQwMSoNCitYMjIwMjI5WTI2MTI4OUQwMSoNCitYMjIwMjQxWTI2MTUwMEQwMSoNCitYMjIwMjI0WTI2MTc4MkQwMSoNCitYMjIwMTU4WTI2MjA1OEQwMSoNCitYMjIwMDUwWTI2MjMyMEQwMSoNCitYMjE5OTAyWTI2MjU2MUQwMSoNCitYMjE5NzE4WTI2Mjc3N0QwMSoNCitYMjE5NTAyWTI2Mjk2MUQwMSoNCitYMjE5MjYxWTI2MzEwOUQwMSoNCitYMjE4OTk5WTI2MzIxN0QwMSoNCitYMjE4NzIzWTI2MzI4M0QwMSoNCitYMjE4NDQxWTI2MzMwNkQwMSoNCitYMjE4MTU5WTI2MzI4M0QwMSoNCitYMjE3ODgzWTI2MzIxN0QwMSoNCitYMjE3NjIxWTI2MzEwOUQwMSoNCitYMjE3NDM4WTI2Mjk5N0QwMSoNCitZMjc3MTk1RDAxKg0KK1gyMTc0NDFZMjc3MTk0RDAxKg0KK1gyMTc3MjNZMjc3MjE3RDAxKg0KK1gyMTc5OTlZMjc3MjgzRDAxKg0KK1gyMTgyNjFZMjc3MzkxRDAxKg0KK1gyMTg1MDJZMjc3NTM5RDAxKg0KK1gyMTg3MThZMjc3NzIzRDAxKg0KK1gyMTg5MDJZMjc3OTM5RDAxKg0KK1gyMTkwNTBZMjc4MTgwRDAxKg0KK1gyMTkxNThZMjc4NDQyRDAxKg0KK1gyMTkyMjRZMjc4NzE4RDAxKg0KK1gyMTkyNDFZMjc5MDAwRDAxKg0KK1gyMTkyMjRZMjc5MjgyRDAxKg0KK1gyMTkxNThZMjc5NTU4RDAxKg0KK1gyMTkwNTBZMjc5ODIwRDAxKg0KK1gyMTg5MDJZMjgwMDYxRDAxKg0KK1gyMTg3MThZMjgwMjc3RDAxKg0KK1gyMTg1MDJZMjgwNDYxRDAxKg0KK1gyMTgyNjFZMjgwNjA5RDAxKg0KK1gyMTc5OTlZMjgwNzE3RDAxKg0KK1gyMTc3MjNZMjgwNzgzRDAxKg0KK1gyMTc0NDFZMjgwODA2RDAxKg0KK1gyMTc0MzhZMjgwODA1RDAxKg0KK1kzNjA4NTREMDEqDQorRzM3Kg0KK0czNioNCitYMjIwNDM4WTE3MTUwMEQwMipYMjE4NTIyRDAxKg0KK1gyMTg4NDlZMTcxNzc5RDAxKg0KK1gyMTkyODlZMTcyMjk0RDAxKg0KK1gyMTk2NDJZMTcyODcxRDAxKg0KK1gyMTk5MDFZMTczNDk2RDAxKg0KK1gyMjAwNTlZMTc0MTU0RDAxKg0KK1gyMjAwOTlZMTc0ODI5RDAxKg0KK1gyMjAwNTlZMTc1NTA0RDAxKg0KK1gyMTk5MDFZMTc2MTYyRDAxKg0KK1gyMTk2NDJZMTc2Nzg3RDAxKg0KK1gyMTkyODlZMTc3MzY0RDAxKg0KK1gyMTg4NDlZMTc3ODc5RDAxKg0KK1gyMTgzMzRZMTc4MzE5RDAxKg0KK1gyMTc3NTdZMTc4NjcyRDAxKg0KK1gyMTc0MzhZMTc4ODA0RDAxKg0KK1kxODA4NTREMDEqDQorWDIxNzc1N1kxODA5ODZEMDEqDQorWDIxODMzNFkxODEzMzlEMDEqDQorWDIxODg0OVkxODE3NzlEMDEqDQorWDIxOTI4OVkxODIyOTREMDEqDQorWDIxOTY0MlkxODI4NzFEMDEqDQorWDIxOTkwMVkxODM0OTZEMDEqDQorWDIyMDA1OVkxODQxNTREMDEqDQorWDIyMDA5OVkxODQ4MjlEMDEqDQorWDIyMDA1OVkxODU1MDREMDEqDQorWDIxOTkwMVkxODYxNjJEMDEqDQorWDIxOTY0MlkxODY3ODdEMDEqDQorWDIxOTI4OVkxODczNjREMDEqDQorWDIxODg0OVkxODc4NzlEMDEqDQorWDIxODMzNFkxODgzMTlEMDEqDQorWDIxNzc1N1kxODg2NzJEMDEqDQorWDIxNzQzOFkxODg4MDREMDEqDQorWTE5MzM1NEQwMSoNCitYMjE3NzU3WTE5MzQ4NkQwMSoNCitYMjE4MzM0WTE5MzgzOUQwMSoNCitYMjE4ODQ5WTE5NDI3OUQwMSoNCitYMjE5Mjg5WTE5NDc5NEQwMSoNCitYMjE5NjQyWTE5NTM3MUQwMSoNCitYMjE5OTAxWTE5NTk5NkQwMSoNCitYMjIwMDU5WTE5NjY1NEQwMSoNCitYMjIwMDk5WTE5NzMyOUQwMSoNCitYMjIwMDU5WTE5ODAwNEQwMSoNCitYMjE5OTAxWTE5ODY2MkQwMSoNCitYMjE5NjQyWTE5OTI4N0QwMSoNCitYMjE5Mjg5WTE5OTg2NEQwMSoNCitYMjE4ODQ5WTIwMDM3OUQwMSoNCitYMjE4MzM0WTIwMDgxOUQwMSoNCitYMjE3NzU3WTIwMTE3MkQwMSoNCitYMjE3NDM4WTIwMTMwNEQwMSoNCitZMjYwMDAzRDAxKg0KK1gyMTc2MjFZMjU5ODkxRDAxKg0KK1gyMTc4ODNZMjU5NzgzRDAxKg0KK1gyMTgxNTlZMjU5NzE3RDAxKg0KK1gyMTg0NDFZMjU5Njk0RDAxKg0KK1gyMTg2NTJZMjU5NzExRDAxKg0KK1gyMTg2MzVZMjU5NTAwRDAxKg0KK1gyMTg2NThZMjU5MjE4RDAxKg0KK1gyMTg3MjRZMjU4OTQyRDAxKg0KK1gyMTg4MzJZMjU4NjgwRDAxKg0KK1gyMTg5ODBZMjU4NDM5RDAxKg0KK1gyMTkxNjRZMjU4MjIzRDAxKg0KK1gyMTkzODBZMjU4MDM5RDAxKg0KK1gyMTk2MjFZMjU3ODkxRDAxKg0KK1gyMTk4ODNZMjU3NzgzRDAxKg0KK1gyMjAxNTlZMjU3NzE3RDAxKg0KK1gyMjA0MzhZMjU3Njk1RDAxKg0KK1kyNTUwNzlEMDEqDQorWDIyMDQyM1kyNTUwNjFEMDEqDQorWDIyMDI3NVkyNTQ4MjBEMDEqDQorWDIyMDE2N1kyNTQ1NThEMDEqDQorWDIyMDEwMVkyNTQyODJEMDEqDQorWDIyMDA3OFkyNTQwMDBEMDEqDQorWDIyMDEwMVkyNTM3MThEMDEqDQorWDIyMDE2N1kyNTM0NDJEMDEqDQorWDIyMDI3NVkyNTMxODBEMDEqDQorWDIyMDQyM1kyNTI5MzlEMDEqDQorWDIyMDQzOFkyNTI5MjFEMDEqDQorWTIxNjgwNUQwMSoNCitYMjIwMTU5WTIxNjc4M0QwMSoNCitYMjE5ODgzWTIxNjcxN0QwMSoNCitYMjE5NjIxWTIxNjYwOUQwMSoNCitYMjE5MzgwWTIxNjQ2MUQwMSoNCitYMjE5MTY0WTIxNjI3N0QwMSoNCitYMjE4OTgwWTIxNjA2MUQwMSoNCitYMjE4ODMyWTIxNTgyMEQwMSoNCitYMjE4NzI0WTIxNTU1OEQwMSoNCitYMjE4NjU4WTIxNTI4MkQwMSoNCitYMjE4NjM1WTIxNTAwMEQwMSoNCitYMjE4NjU4WTIxNDcxOEQwMSoNCitYMjE4NzI0WTIxNDQ0MkQwMSoNCitYMjE4ODMyWTIxNDE4MEQwMSoNCitYMjE4OTgwWTIxMzkzOUQwMSoNCitYMjE5MTY0WTIxMzcyM0QwMSoNCitYMjE5MzgwWTIxMzUzOUQwMSoNCitYMjE5NjIxWTIxMzM5MUQwMSoNCitYMjE5ODgzWTIxMzI4M0QwMSoNCitYMjIwMTU5WTIxMzIxN0QwMSoNCitYMjIwNDM4WTIxMzE5NUQwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIxNzQzOFkzNzg4MDREMDIqWDIxNzEzMlkzNzg5MzFEMDEqDQorWDIxNjQ3NFkzNzkwODlEMDEqDQorWDIxNTc5OVkzNzkxNDJEMDEqDQorWDIxNTEyNFkzNzkwODlEMDEqDQorWDIxNDQ2NlkzNzg5MzFEMDEqDQorWDIxMzg0MVkzNzg2NzJEMDEqDQorWDIxMzI2NFkzNzgzMTlEMDEqDQorWDIxMjkzOFkzNzgwNDBEMDEqDQorWTM5NzAwMEQwMSoNCitYMjE3NDM4RDAxKg0KK1kzNzg4MDREMDEqDQorRzM3Kg0KK0czNioNCitZMzY4ODA0RDAyKlgyMTcxMzJZMzY4OTMxRDAxKg0KK1gyMTY0NzRZMzY5MDg5RDAxKg0KK1gyMTU3OTlZMzY5MTQyRDAxKg0KK1gyMTUxMjRZMzY5MDg5RDAxKg0KK1gyMTQ0NjZZMzY4OTMxRDAxKg0KK1gyMTM4NDFZMzY4NjcyRDAxKg0KK1gyMTMyNjRZMzY4MzE5RDAxKg0KK1gyMTI5MzhZMzY4MDQwRDAxKg0KK1kzNzE2MThEMDEqDQorWDIxMzI2NFkzNzEzMzlEMDEqDQorWDIxMzg0MVkzNzA5ODZEMDEqDQorWDIxNDQ2NlkzNzA3MjdEMDEqDQorWDIxNTEyNFkzNzA1NjlEMDEqDQorWDIxNTc5OVkzNzA1MTZEMDEqDQorWDIxNjQ3NFkzNzA1NjlEMDEqDQorWDIxNzEzMlkzNzA3MjdEMDEqDQorWDIxNzQzOFkzNzA4NTREMDEqDQorWTM2ODgwNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDEzMDREMDIqWDIxNzEzMlkyMDE0MzFEMDEqDQorWDIxNjQ3NFkyMDE1ODlEMDEqDQorWDIxNTc5OVkyMDE2NDJEMDEqDQorWDIxNTEyNFkyMDE1ODlEMDEqDQorWDIxNDQ2NlkyMDE0MzFEMDEqDQorWDIxMzg0MVkyMDExNzJEMDEqDQorWDIxMzI2NFkyMDA4MTlEMDEqDQorWDIxMjkzOFkyMDA1NDBEMDEqDQorWTIzNjE5NUQwMSoNCitYMjEyOTQxWTIzNjE5NEQwMSoNCitYMjEzMjIzWTIzNjIxN0QwMSoNCitYMjEzNDk5WTIzNjI4M0QwMSoNCitYMjEzNzYxWTIzNjM5MUQwMSoNCitYMjE0MDAyWTIzNjUzOUQwMSoNCitYMjE0MjE4WTIzNjcyM0QwMSoNCitYMjE0NDAyWTIzNjkzOUQwMSoNCitYMjE0NTUwWTIzNzE4MEQwMSoNCitYMjE0NjU4WTIzNzQ0MkQwMSoNCitYMjE0NzI0WTIzNzcxOEQwMSoNCitYMjE0NzQxWTIzODAwMEQwMSoNCitYMjE0NzI0WTIzODI4MkQwMSoNCitYMjE0NjU4WTIzODU1OEQwMSoNCitYMjE0NTUwWTIzODgyMEQwMSoNCitYMjE0NDAyWTIzOTA2MUQwMSoNCitYMjE0MjE4WTIzOTI3N0QwMSoNCitYMjE0MDAyWTIzOTQ2MUQwMSoNCitYMjEzNzYxWTIzOTYwOUQwMSoNCitYMjEzNDk5WTIzOTcxN0QwMSoNCitYMjEzMjIzWTIzOTc4M0QwMSoNCitYMjEyOTQxWTIzOTgwNkQwMSoNCitYMjEyOTM4WTIzOTgwNUQwMSoNCitZMzYxNjE4RDAxKg0KK1gyMTMyNjRZMzYxMzM5RDAxKg0KK1gyMTM4NDFZMzYwOTg2RDAxKg0KK1gyMTQ0NjZZMzYwNzI3RDAxKg0KK1gyMTUxMjRZMzYwNTY5RDAxKg0KK1gyMTU3OTlZMzYwNTE2RDAxKg0KK1gyMTY0NzRZMzYwNTY5RDAxKg0KK1gyMTcxMzJZMzYwNzI3RDAxKg0KK1gyMTc0MzhZMzYwODU0RDAxKg0KK1kyODA4MDVEMDEqDQorWDIxNzE1OVkyODA3ODNEMDEqDQorWDIxNjg4M1kyODA3MTdEMDEqDQorWDIxNjYyMVkyODA2MDlEMDEqDQorWDIxNjM4MFkyODA0NjFEMDEqDQorWDIxNjE2NFkyODAyNzdEMDEqDQorWDIxNTk4MFkyODAwNjFEMDEqDQorWDIxNTgzMlkyNzk4MjBEMDEqDQorWDIxNTcyNFkyNzk1NThEMDEqDQorWDIxNTY1OFkyNzkyODJEMDEqDQorWDIxNTYzNVkyNzkwMDBEMDEqDQorWDIxNTY1OFkyNzg3MThEMDEqDQorWDIxNTcyNFkyNzg0NDJEMDEqDQorWDIxNTgzMlkyNzgxODBEMDEqDQorWDIxNTk4MFkyNzc5MzlEMDEqDQorWDIxNjE2NFkyNzc3MjNEMDEqDQorWDIxNjM4MFkyNzc1MzlEMDEqDQorWDIxNjYyMVkyNzczOTFEMDEqDQorWDIxNjg4M1kyNzcyODNEMDEqDQorWDIxNzE1OVkyNzcyMTdEMDEqDQorWDIxNzQzOFkyNzcxOTVEMDEqDQorWTI2Mjk5N0QwMSoNCitYMjE3MzgwWTI2Mjk2MUQwMSoNCitYMjE3MTY0WTI2Mjc3N0QwMSoNCitYMjE2OTgwWTI2MjU2MUQwMSoNCitYMjE2ODMyWTI2MjMyMEQwMSoNCitYMjE2NzI0WTI2MjA1OEQwMSoNCitYMjE2NjU4WTI2MTc4MkQwMSoNCitYMjE2NjM1WTI2MTUwMEQwMSoNCitYMjE2NjU4WTI2MTIxOEQwMSoNCitYMjE2NzI0WTI2MDk0MkQwMSoNCitYMjE2ODMyWTI2MDY4MEQwMSoNCitYMjE2OTgwWTI2MDQzOUQwMSoNCitYMjE3MTY0WTI2MDIyM0QwMSoNCitYMjE3MzgwWTI2MDAzOUQwMSoNCitYMjE3NDM4WTI2MDAwM0QwMSoNCitZMjAxMzA0RDAxKg0KK0czNyoNCitHMzYqDQorWTE4ODgwNEQwMipYMjE3MTMyWTE4ODkzMUQwMSoNCitYMjE2NDc0WTE4OTA4OUQwMSoNCitYMjE1Nzk5WTE4OTE0MkQwMSoNCitYMjE1MTI0WTE4OTA4OUQwMSoNCitYMjE0NDY2WTE4ODkzMUQwMSoNCitYMjEzODQxWTE4ODY3MkQwMSoNCitYMjEzMjY0WTE4ODMxOUQwMSoNCitYMjEyOTM4WTE4ODA0MEQwMSoNCitZMTk0MTE4RDAxKg0KK1gyMTMyNjRZMTkzODM5RDAxKg0KK1gyMTM4NDFZMTkzNDg2RDAxKg0KK1gyMTQ0NjZZMTkzMjI3RDAxKg0KK1gyMTUxMjRZMTkzMDY5RDAxKg0KK1gyMTU3OTlZMTkzMDE2RDAxKg0KK1gyMTY0NzRZMTkzMDY5RDAxKg0KK1gyMTcxMzJZMTkzMjI3RDAxKg0KK1gyMTc0MzhZMTkzMzU0RDAxKg0KK1kxODg4MDREMDEqDQorRzM3Kg0KK0czNioNCitZMTc4ODA0RDAyKlgyMTcxMzJZMTc4OTMxRDAxKg0KK1gyMTY0NzRZMTc5MDg5RDAxKg0KK1gyMTU3OTlZMTc5MTQyRDAxKg0KK1gyMTUxMjRZMTc5MDg5RDAxKg0KK1gyMTQ0NjZZMTc4OTMxRDAxKg0KK1gyMTM4NDFZMTc4NjcyRDAxKg0KK1gyMTMyNjRZMTc4MzE5RDAxKg0KK1gyMTI5MzhZMTc4MDQwRDAxKg0KK1kxODE2MThEMDEqDQorWDIxMzI2NFkxODEzMzlEMDEqDQorWDIxMzg0MVkxODA5ODZEMDEqDQorWDIxNDQ2NlkxODA3MjdEMDEqDQorWDIxNTEyNFkxODA1NjlEMDEqDQorWDIxNTc5OVkxODA1MTZEMDEqDQorWDIxNjQ3NFkxODA1NjlEMDEqDQorWDIxNzEzMlkxODA3MjdEMDEqDQorWDIxNzQzOFkxODA4NTREMDEqDQorWTE3ODgwNEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTI5MzhZMTc4MDQwRDAyKlgyMTI3NDlZMTc3ODc5RDAxKg0KK1gyMTIzMDlZMTc3MzY0RDAxKg0KK1gyMTE5NTZZMTc2Nzg3RDAxKg0KK1gyMTE2OTdZMTc2MTYyRDAxKg0KK1gyMTE1MzlZMTc1NTA0RDAxKg0KK1gyMTE0ODZZMTc0ODI5RDAxKg0KK1gyMTE1MzlZMTc0MTU0RDAxKg0KK1gyMTE2OTdZMTczNDk2RDAxKg0KK1gyMTE5NTZZMTcyODcxRDAxKg0KK1gyMTIzMDlZMTcyMjk0RDAxKg0KK1gyMTI3NDlZMTcxNzc5RDAxKg0KK1gyMTI5MzhZMTcxNjE4RDAxKg0KK1kxNzE1MDBEMDEqDQorWDIxMDQzOEQwMSoNCitZMjEwNjk1RDAxKg0KK1gyMTA0NDFZMjEwNjk0RDAxKg0KK1gyMTA3MjNZMjEwNzE3RDAxKg0KK1gyMTA5OTlZMjEwNzgzRDAxKg0KK1gyMTEyNjFZMjEwODkxRDAxKg0KK1gyMTE1MDJZMjExMDM5RDAxKg0KK1gyMTE3MThZMjExMjIzRDAxKg0KK1gyMTE5MDJZMjExNDM5RDAxKg0KK1gyMTIwNTBZMjExNjgwRDAxKg0KK1gyMTIxNThZMjExOTQyRDAxKg0KK1gyMTIyMjRZMjEyMjE4RDAxKg0KK1gyMTIyNDFZMjEyNTAwRDAxKg0KK1gyMTIyMjRZMjEyNzgyRDAxKg0KK1gyMTIxNThZMjEzMDU4RDAxKg0KK1gyMTIwNTBZMjEzMzIwRDAxKg0KK1gyMTE5MDJZMjEzNTYxRDAxKg0KK1gyMTE3MThZMjEzNzc3RDAxKg0KK1gyMTE1MDJZMjEzOTYxRDAxKg0KK1gyMTEyNjFZMjE0MTA5RDAxKg0KK1gyMTA5OTlZMjE0MjE3RDAxKg0KK1gyMTA3MjNZMjE0MjgzRDAxKg0KK1gyMTA0NDFZMjE0MzA2RDAxKg0KK1gyMTA0MzhZMjE0MzA1RDAxKg0KK1kzOTcwMDBEMDEqDQorWDIxMjkzOEQwMSoNCitZMzc4MDQwRDAxKg0KK1gyMTI3NDlZMzc3ODc5RDAxKg0KK1gyMTIzMDlZMzc3MzY0RDAxKg0KK1gyMTE5NTZZMzc2Nzg3RDAxKg0KK1gyMTE2OTdZMzc2MTYyRDAxKg0KK1gyMTE1MzlZMzc1NTA0RDAxKg0KK1gyMTE0ODZZMzc0ODI5RDAxKg0KK1gyMTE1MzlZMzc0MTU0RDAxKg0KK1gyMTE2OTdZMzczNDk2RDAxKg0KK1gyMTE5NTZZMzcyODcxRDAxKg0KK1gyMTIzMDlZMzcyMjk0RDAxKg0KK1gyMTI3NDlZMzcxNzc5RDAxKg0KK1gyMTI5MzhZMzcxNjE4RDAxKg0KK1kzNjgwNDBEMDEqDQorWDIxMjc0OVkzNjc4NzlEMDEqDQorWDIxMjMwOVkzNjczNjREMDEqDQorWDIxMTk1NlkzNjY3ODdEMDEqDQorWDIxMTY5N1kzNjYxNjJEMDEqDQorWDIxMTUzOVkzNjU1MDREMDEqDQorWDIxMTQ4NlkzNjQ4MjlEMDEqDQorWDIxMTUzOVkzNjQxNTREMDEqDQorWDIxMTY5N1kzNjM0OTZEMDEqDQorWDIxMTk1NlkzNjI4NzFEMDEqDQorWDIxMjMwOVkzNjIyOTREMDEqDQorWDIxMjc0OVkzNjE3NzlEMDEqDQorWDIxMjkzOFkzNjE2MThEMDEqDQorWTIzOTgwNUQwMSoNCitYMjEyNjU5WTIzOTc4M0QwMSoNCitYMjEyMzgzWTIzOTcxN0QwMSoNCitYMjEyMTIxWTIzOTYwOUQwMSoNCitYMjExODgwWTIzOTQ2MUQwMSoNCitYMjExNjY0WTIzOTI3N0QwMSoNCitYMjExNDgwWTIzOTA2MUQwMSoNCitYMjExMzMyWTIzODgyMEQwMSoNCitYMjExMjI0WTIzODU1OEQwMSoNCitYMjExMTU4WTIzODI4MkQwMSoNCitYMjExMTM1WTIzODAwMEQwMSoNCitYMjExMTU4WTIzNzcxOEQwMSoNCitYMjExMjI0WTIzNzQ0MkQwMSoNCitYMjExMzMyWTIzNzE4MEQwMSoNCitYMjExNDgwWTIzNjkzOUQwMSoNCitYMjExNjY0WTIzNjcyM0QwMSoNCitYMjExODgwWTIzNjUzOUQwMSoNCitYMjEyMTIxWTIzNjM5MUQwMSoNCitYMjEyMzgzWTIzNjI4M0QwMSoNCitYMjEyNjU5WTIzNjIxN0QwMSoNCitYMjEyOTM4WTIzNjE5NUQwMSoNCitZMjAwNTQwRDAxKg0KK1gyMTI3NDlZMjAwMzc5RDAxKg0KK1gyMTIzMDlZMTk5ODY0RDAxKg0KK1gyMTE5NTZZMTk5Mjg3RDAxKg0KK1gyMTE2OTdZMTk4NjYyRDAxKg0KK1gyMTE1MzlZMTk4MDA0RDAxKg0KK1gyMTE0ODZZMTk3MzI5RDAxKg0KK1gyMTE1MzlZMTk2NjU0RDAxKg0KK1gyMTE2OTdZMTk1OTk2RDAxKg0KK1gyMTE5NTZZMTk1MzcxRDAxKg0KK1gyMTIzMDlZMTk0Nzk0RDAxKg0KK1gyMTI3NDlZMTk0Mjc5RDAxKg0KK1gyMTI5MzhZMTk0MTE4RDAxKg0KK1kxODgwNDBEMDEqDQorWDIxMjc0OVkxODc4NzlEMDEqDQorWDIxMjMwOVkxODczNjREMDEqDQorWDIxMTk1NlkxODY3ODdEMDEqDQorWDIxMTY5N1kxODYxNjJEMDEqDQorWDIxMTUzOVkxODU1MDREMDEqDQorWDIxMTQ4NlkxODQ4MjlEMDEqDQorWDIxMTUzOVkxODQxNTREMDEqDQorWDIxMTY5N1kxODM0OTZEMDEqDQorWDIxMTk1NlkxODI4NzFEMDEqDQorWDIxMjMwOVkxODIyOTREMDEqDQorWDIxMjc0OVkxODE3NzlEMDEqDQorWDIxMjkzOFkxODE2MThEMDEqDQorWTE3ODA0MEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMTA0MzhZMTcxNTAwRDAyKlgyMDg1MjJEMDEqDQorWDIwODg0OVkxNzE3NzlEMDEqDQorWDIwOTI4OVkxNzIyOTREMDEqDQorWDIwOTY0MlkxNzI4NzFEMDEqDQorWDIwOTkwMVkxNzM0OTZEMDEqDQorWDIxMDA1OVkxNzQxNTREMDEqDQorWDIxMDA5OVkxNzQ4MjlEMDEqDQorWDIxMDA1OVkxNzU1MDREMDEqDQorWDIwOTkwMVkxNzYxNjJEMDEqDQorWDIwOTY0MlkxNzY3ODdEMDEqDQorWDIwOTI4OVkxNzczNjREMDEqDQorWDIwODg0OVkxNzc4NzlEMDEqDQorWDIwODMzNFkxNzgzMTlEMDEqDQorWDIwNzc1N1kxNzg2NzJEMDEqDQorWDIwNzEzMlkxNzg5MzFEMDEqDQorWDIwNjQ3NFkxNzkwODlEMDEqDQorWDIwNTc5OVkxNzkxNDJEMDEqDQorWDIwNTQzOFkxNzkxMTREMDEqDQorWTE4MDU0NEQwMSoNCitYMjA1Nzk5WTE4MDUxNkQwMSoNCitYMjA2NDc0WTE4MDU2OUQwMSoNCitYMjA3MTMyWTE4MDcyN0QwMSoNCitYMjA3NzU3WTE4MDk4NkQwMSoNCitYMjA4MzM0WTE4MTMzOUQwMSoNCitYMjA4ODQ5WTE4MTc3OUQwMSoNCitYMjA5Mjg5WTE4MjI5NEQwMSoNCitYMjA5NjQyWTE4Mjg3MUQwMSoNCitYMjA5OTAxWTE4MzQ5NkQwMSoNCitYMjEwMDU5WTE4NDE1NEQwMSoNCitYMjEwMDk5WTE4NDgyOUQwMSoNCitYMjEwMDU5WTE4NTUwNEQwMSoNCitYMjA5OTAxWTE4NjE2MkQwMSoNCitYMjA5NjQyWTE4Njc4N0QwMSoNCitYMjA5Mjg5WTE4NzM2NEQwMSoNCitYMjA4ODQ5WTE4Nzg3OUQwMSoNCitYMjA4MzM0WTE4ODMxOUQwMSoNCitYMjA3NzU3WTE4ODY3MkQwMSoNCitYMjA3MTMyWTE4ODkzMUQwMSoNCitYMjA2NDc0WTE4OTA4OUQwMSoNCitYMjA1Nzk5WTE4OTE0MkQwMSoNCitYMjA1NDM4WTE4OTExNEQwMSoNCitZMTkzMDQ0RDAxKg0KK1gyMDU3OTlZMTkzMDE2RDAxKg0KK1gyMDY0NzRZMTkzMDY5RDAxKg0KK1gyMDcxMzJZMTkzMjI3RDAxKg0KK1gyMDc3NTdZMTkzNDg2RDAxKg0KK1gyMDgzMzRZMTkzODM5RDAxKg0KK1gyMDg4NDlZMTk0Mjc5RDAxKg0KK1gyMDkyODlZMTk0Nzk0RDAxKg0KK1gyMDk2NDJZMTk1MzcxRDAxKg0KK1gyMDk5MDFZMTk1OTk2RDAxKg0KK1gyMTAwNTlZMTk2NjU0RDAxKg0KK1gyMTAwOTlZMTk3MzI5RDAxKg0KK1gyMTAwNTlZMTk4MDA0RDAxKg0KK1gyMDk5MDFZMTk4NjYyRDAxKg0KK1gyMDk2NDJZMTk5Mjg3RDAxKg0KK1gyMDkyODlZMTk5ODY0RDAxKg0KK1gyMDg4NDlZMjAwMzc5RDAxKg0KK1gyMDgzMzRZMjAwODE5RDAxKg0KK1gyMDc3NTdZMjAxMTcyRDAxKg0KK1gyMDcxMzJZMjAxNDMxRDAxKg0KK1gyMDY0NzRZMjAxNTg5RDAxKg0KK1gyMDU3OTlZMjAxNjQyRDAxKg0KK1gyMDU0MzhZMjAxNjE0RDAxKg0KK1kyMzY0OThEMDEqDQorWDIwNTU1MFkyMzY2ODBEMDEqDQorWDIwNTY1OFkyMzY5NDJEMDEqDQorWDIwNTcyNFkyMzcyMThEMDEqDQorWDIwNTc0MVkyMzc1MDBEMDEqDQorWDIwNTcyNFkyMzc3ODJEMDEqDQorWDIwNTY1OFkyMzgwNThEMDEqDQorWDIwNTU1MFkyMzgzMjBEMDEqDQorWDIwNTQzOFkyMzg1MDJEMDEqDQorWTI3NTE5NUQwMSoNCitYMjA1NDQxWTI3NTE5NEQwMSoNCitYMjA1NzIzWTI3NTIxN0QwMSoNCitYMjA1OTk5WTI3NTI4M0QwMSoNCitYMjA2MjYxWTI3NTM5MUQwMSoNCitYMjA2NTAyWTI3NTUzOUQwMSoNCitYMjA2NzE4WTI3NTcyM0QwMSoNCitYMjA2OTAyWTI3NTkzOUQwMSoNCitYMjA3MDUwWTI3NjE4MEQwMSoNCitYMjA3MTU4WTI3NjQ0MkQwMSoNCitYMjA3MjI0WTI3NjcxOEQwMSoNCitYMjA3MjQxWTI3NzAwMEQwMSoNCitYMjA3MjI0WTI3NzI4MkQwMSoNCitYMjA3MTU4WTI3NzU1OEQwMSoNCitYMjA3MDUwWTI3NzgyMEQwMSoNCitYMjA2OTAyWTI3ODA2MUQwMSoNCitYMjA2NzE4WTI3ODI3N0QwMSoNCitYMjA2NTAyWTI3ODQ2MUQwMSoNCitYMjA2MjYxWTI3ODYwOUQwMSoNCitYMjA1OTk5WTI3ODcxN0QwMSoNCitYMjA1NzIzWTI3ODc4M0QwMSoNCitYMjA1NDQxWTI3ODgwNkQwMSoNCitYMjA1NDM4WTI3ODgwNUQwMSoNCitZMzYwNTQ0RDAxKg0KK1gyMDU3OTlZMzYwNTE2RDAxKg0KK1gyMDY0NzRZMzYwNTY5RDAxKg0KK1gyMDcxMzJZMzYwNzI3RDAxKg0KK1gyMDc3NTdZMzYwOTg2RDAxKg0KK1gyMDgzMzRZMzYxMzM5RDAxKg0KK1gyMDg4NDlZMzYxNzc5RDAxKg0KK1gyMDkyODlZMzYyMjk0RDAxKg0KK1gyMDk2NDJZMzYyODcxRDAxKg0KK1gyMDk5MDFZMzYzNDk2RDAxKg0KK1gyMTAwNTlZMzY0MTU0RDAxKg0KK1gyMTAwOTlZMzY0ODI5RDAxKg0KK1gyMTAwNTlZMzY1NTA0RDAxKg0KK1gyMDk5MDFZMzY2MTYyRDAxKg0KK1gyMDk2NDJZMzY2Nzg3RDAxKg0KK1gyMDkyODlZMzY3MzY0RDAxKg0KK1gyMDg4NDlZMzY3ODc5RDAxKg0KK1gyMDgzMzRZMzY4MzE5RDAxKg0KK1gyMDc3NTdZMzY4NjcyRDAxKg0KK1gyMDcxMzJZMzY4OTMxRDAxKg0KK1gyMDY0NzRZMzY5MDg5RDAxKg0KK1gyMDU3OTlZMzY5MTQyRDAxKg0KK1gyMDU0MzhZMzY5MTE0RDAxKg0KK1kzNzA1NDREMDEqDQorWDIwNTc5OVkzNzA1MTZEMDEqDQorWDIwNjQ3NFkzNzA1NjlEMDEqDQorWDIwNzEzMlkzNzA3MjdEMDEqDQorWDIwNzc1N1kzNzA5ODZEMDEqDQorWDIwODMzNFkzNzEzMzlEMDEqDQorWDIwODg0OVkzNzE3NzlEMDEqDQorWDIwOTI4OVkzNzIyOTREMDEqDQorWDIwOTY0MlkzNzI4NzFEMDEqDQorWDIwOTkwMVkzNzM0OTZEMDEqDQorWDIxMDA1OVkzNzQxNTREMDEqDQorWDIxMDA5OVkzNzQ4MjlEMDEqDQorWDIxMDA1OVkzNzU1MDREMDEqDQorWDIwOTkwMVkzNzYxNjJEMDEqDQorWDIwOTY0MlkzNzY3ODdEMDEqDQorWDIwOTI4OVkzNzczNjREMDEqDQorWDIwODg0OVkzNzc4NzlEMDEqDQorWDIwODMzNFkzNzgzMTlEMDEqDQorWDIwNzc1N1kzNzg2NzJEMDEqDQorWDIwNzEzMlkzNzg5MzFEMDEqDQorWDIwNjQ3NFkzNzkwODlEMDEqDQorWDIwNTc5OVkzNzkxNDJEMDEqDQorWDIwNTQzOFkzNzkxMTREMDEqDQorWTM5NzAwMEQwMSoNCitYMjEwNDM4RDAxKg0KK1kyMTQzMDVEMDEqDQorWDIxMDE1OVkyMTQyODNEMDEqDQorWDIwOTg4M1kyMTQyMTdEMDEqDQorWDIwOTYyMVkyMTQxMDlEMDEqDQorWDIwOTM4MFkyMTM5NjFEMDEqDQorWDIwOTE2NFkyMTM3NzdEMDEqDQorWDIwODk4MFkyMTM1NjFEMDEqDQorWDIwODgzMlkyMTMzMjBEMDEqDQorWDIwODcyNFkyMTMwNThEMDEqDQorWDIwODY1OFkyMTI3ODJEMDEqDQorWDIwODYzNVkyMTI1MDBEMDEqDQorWDIwODY1OFkyMTIyMThEMDEqDQorWDIwODcyNFkyMTE5NDJEMDEqDQorWDIwODgzMlkyMTE2ODBEMDEqDQorWDIwODk4MFkyMTE0MzlEMDEqDQorWDIwOTE2NFkyMTEyMjNEMDEqDQorWDIwOTM4MFkyMTEwMzlEMDEqDQorWDIwOTYyMVkyMTA4OTFEMDEqDQorWDIwOTg4M1kyMTA3ODNEMDEqDQorWDIxMDE1OVkyMTA3MTdEMDEqDQorWDIxMDQzOFkyMTA2OTVEMDEqDQorWTE3MTUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMDU0MzhZMzc5MTE0RDAyKlgyMDUxMjRZMzc5MDg5RDAxKg0KK1gyMDQ0NjZZMzc4OTMxRDAxKg0KK1gyMDM4NDFZMzc4NjcyRDAxKg0KK1gyMDMyNjRZMzc4MzE5RDAxKg0KK1gyMDI3NDlZMzc3ODc5RDAxKg0KK1gyMDI0MzhZMzc3NTE1RDAxKg0KK1kzOTcwMDBEMDEqDQorWDIwNTQzOEQwMSoNCitZMzc5MTE0RDAxKg0KK0czNyoNCitHMzYqDQorWTM2OTExNEQwMipYMjA1MTI0WTM2OTA4OUQwMSoNCitYMjA0NDY2WTM2ODkzMUQwMSoNCitYMjAzODQxWTM2ODY3MkQwMSoNCitYMjAzMjY0WTM2ODMxOUQwMSoNCitYMjAyNzQ5WTM2Nzg3OUQwMSoNCitYMjAyNDM4WTM2NzUxNUQwMSoNCitZMzcyMTQzRDAxKg0KK1gyMDI3NDlZMzcxNzc5RDAxKg0KK1gyMDMyNjRZMzcxMzM5RDAxKg0KK1gyMDM4NDFZMzcwOTg2RDAxKg0KK1gyMDQ0NjZZMzcwNzI3RDAxKg0KK1gyMDUxMjRZMzcwNTY5RDAxKg0KK1gyMDU0MzhZMzcwNTQ0RDAxKg0KK1kzNjkxMTREMDEqDQorRzM3Kg0KK0czNioNCitZMjM4NTAyRDAyKlgyMDU0MDJZMjM4NTYxRDAxKg0KK1gyMDUyMThZMjM4Nzc3RDAxKg0KK1gyMDUwMDJZMjM4OTYxRDAxKg0KK1gyMDQ3NjFZMjM5MTA5RDAxKg0KK1gyMDQ0OTlZMjM5MjE3RDAxKg0KK1gyMDQyMjNZMjM5MjgzRDAxKg0KK1gyMDM5NDFZMjM5MzA2RDAxKg0KK1gyMDM2NTlZMjM5MjgzRDAxKg0KK1gyMDMzODNZMjM5MjE3RDAxKg0KK1gyMDMxMjFZMjM5MTA5RDAxKg0KK1gyMDI4ODBZMjM4OTYxRDAxKg0KK1gyMDI2NjRZMjM4Nzc3RDAxKg0KK1gyMDI0ODBZMjM4NTYxRDAxKg0KK1gyMDI0MzhZMjM4NDkzRDAxKg0KK1kzNjIxNDNEMDEqDQorWDIwMjc0OVkzNjE3NzlEMDEqDQorWDIwMzI2NFkzNjEzMzlEMDEqDQorWDIwMzg0MVkzNjA5ODZEMDEqDQorWDIwNDQ2NlkzNjA3MjdEMDEqDQorWDIwNTEyNFkzNjA1NjlEMDEqDQorWDIwNTQzOFkzNjA1NDREMDEqDQorWTI3ODgwNUQwMSoNCitYMjA1MTU5WTI3ODc4M0QwMSoNCitYMjA0ODgzWTI3ODcxN0QwMSoNCitYMjA0NjIxWTI3ODYwOUQwMSoNCitYMjA0MzgwWTI3ODQ2MUQwMSoNCitYMjA0MTY0WTI3ODI3N0QwMSoNCitYMjAzOTgwWTI3ODA2MUQwMSoNCitYMjAzODMyWTI3NzgyMEQwMSoNCitYMjAzNzI0WTI3NzU1OEQwMSoNCitYMjAzNjU4WTI3NzI4MkQwMSoNCitYMjAzNjM1WTI3NzAwMEQwMSoNCitYMjAzNjU4WTI3NjcxOEQwMSoNCitYMjAzNzI0WTI3NjQ0MkQwMSoNCitYMjAzODMyWTI3NjE4MEQwMSoNCitYMjAzOTgwWTI3NTkzOUQwMSoNCitYMjA0MTY0WTI3NTcyM0QwMSoNCitYMjA0MzgwWTI3NTUzOUQwMSoNCitYMjA0NjIxWTI3NTM5MUQwMSoNCitYMjA0ODgzWTI3NTI4M0QwMSoNCitYMjA1MTU5WTI3NTIxN0QwMSoNCitYMjA1NDM4WTI3NTE5NUQwMSoNCitZMjM4NTAyRDAxKg0KK0czNyoNCitHMzYqDQorWTIwMTYxNEQwMipYMjA1MTI0WTIwMTU4OUQwMSoNCitYMjA0NDY2WTIwMTQzMUQwMSoNCitYMjAzODQxWTIwMTE3MkQwMSoNCitYMjAzMjY0WTIwMDgxOUQwMSoNCitYMjAyNzQ5WTIwMDM3OUQwMSoNCitYMjAyNDM4WTIwMDAxNUQwMSoNCitZMjEwNjk1RDAxKg0KK1gyMDI0NDFZMjEwNjk0RDAxKg0KK1gyMDI3MjNZMjEwNzE3RDAxKg0KK1gyMDI5OTlZMjEwNzgzRDAxKg0KK1gyMDMyNjFZMjEwODkxRDAxKg0KK1gyMDM1MDJZMjExMDM5RDAxKg0KK1gyMDM3MThZMjExMjIzRDAxKg0KK1gyMDM5MDJZMjExNDM5RDAxKg0KK1gyMDQwNTBZMjExNjgwRDAxKg0KK1gyMDQxNThZMjExOTQyRDAxKg0KK1gyMDQyMjRZMjEyMjE4RDAxKg0KK1gyMDQyNDFZMjEyNTAwRDAxKg0KK1gyMDQyMjRZMjEyNzgyRDAxKg0KK1gyMDQxNThZMjEzMDU4RDAxKg0KK1gyMDQwNTBZMjEzMzIwRDAxKg0KK1gyMDM5MDJZMjEzNTYxRDAxKg0KK1gyMDM3MThZMjEzNzc3RDAxKg0KK1gyMDM1MDJZMjEzOTYxRDAxKg0KK1gyMDMyNjFZMjE0MTA5RDAxKg0KK1gyMDI5OTlZMjE0MjE3RDAxKg0KK1gyMDI3MjNZMjE0MjgzRDAxKg0KK1gyMDI0NDFZMjE0MzA2RDAxKg0KK1gyMDI0MzhZMjE0MzA1RDAxKg0KK1kyMzY1MDdEMDEqDQorWDIwMjQ4MFkyMzY0MzlEMDEqDQorWDIwMjY2NFkyMzYyMjNEMDEqDQorWDIwMjg4MFkyMzYwMzlEMDEqDQorWDIwMzEyMVkyMzU4OTFEMDEqDQorWDIwMzM4M1kyMzU3ODNEMDEqDQorWDIwMzY1OVkyMzU3MTdEMDEqDQorWDIwMzk0MVkyMzU2OTREMDEqDQorWDIwNDIyM1kyMzU3MTdEMDEqDQorWDIwNDQ5OVkyMzU3ODNEMDEqDQorWDIwNDc2MVkyMzU4OTFEMDEqDQorWDIwNTAwMlkyMzYwMzlEMDEqDQorWDIwNTIxOFkyMzYyMjNEMDEqDQorWDIwNTQwMlkyMzY0MzlEMDEqDQorWDIwNTQzOFkyMzY0OThEMDEqDQorWTIwMTYxNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxODkxMTREMDIqWDIwNTEyNFkxODkwODlEMDEqDQorWDIwNDQ2NlkxODg5MzFEMDEqDQorWDIwMzg0MVkxODg2NzJEMDEqDQorWDIwMzI2NFkxODgzMTlEMDEqDQorWDIwMjc0OVkxODc4NzlEMDEqDQorWDIwMjQzOFkxODc1MTVEMDEqDQorWTE5NDY0M0QwMSoNCitYMjAyNzQ5WTE5NDI3OUQwMSoNCitYMjAzMjY0WTE5MzgzOUQwMSoNCitYMjAzODQxWTE5MzQ4NkQwMSoNCitYMjA0NDY2WTE5MzIyN0QwMSoNCitYMjA1MTI0WTE5MzA2OUQwMSoNCitYMjA1NDM4WTE5MzA0NEQwMSoNCitZMTg5MTE0RDAxKg0KK0czNyoNCitHMzYqDQorWTE3OTExNEQwMipYMjA1MTI0WTE3OTA4OUQwMSoNCitYMjA0NDY2WTE3ODkzMUQwMSoNCitYMjAzODQxWTE3ODY3MkQwMSoNCitYMjAzMjY0WTE3ODMxOUQwMSoNCitYMjAyNzQ5WTE3Nzg3OUQwMSoNCitYMjAyNDM4WTE3NzUxNUQwMSoNCitZMTgyMTQzRDAxKg0KK1gyMDI3NDlZMTgxNzc5RDAxKg0KK1gyMDMyNjRZMTgxMzM5RDAxKg0KK1gyMDM4NDFZMTgwOTg2RDAxKg0KK1gyMDQ0NjZZMTgwNzI3RDAxKg0KK1gyMDUxMjRZMTgwNTY5RDAxKg0KK1gyMDU0MzhZMTgwNTQ0RDAxKg0KK1kxNzkxMTREMDEqDQorRzM3Kg0KK0czNioNCitYMjAyNDM4WTE3NzUxNUQwMipYMjAyMzA5WTE3NzM2NEQwMSoNCitYMjAxOTU2WTE3Njc4N0QwMSoNCitYMjAxNjk3WTE3NjE2MkQwMSoNCitYMjAxNTM5WTE3NTUwNEQwMSoNCitYMjAxNDg2WTE3NDgyOUQwMSoNCitYMjAxNTM5WTE3NDE1NEQwMSoNCitYMjAxNjk3WTE3MzQ5NkQwMSoNCitYMjAxOTU2WTE3Mjg3MUQwMSoNCitYMjAyMzA5WTE3MjI5NEQwMSoNCitYMjAyNDM4WTE3MjE0M0QwMSoNCitZMTcxNTAwRDAxKg0KK1gxOTg1MjJEMDEqDQorWDE5ODg0OVkxNzE3NzlEMDEqDQorWDE5OTI4OVkxNzIyOTREMDEqDQorWDE5OTY0MlkxNzI4NzFEMDEqDQorWDE5OTkwMVkxNzM0OTZEMDEqDQorWDIwMDA1OVkxNzQxNTREMDEqDQorWDIwMDA5OVkxNzQ4MjlEMDEqDQorWDIwMDA1OVkxNzU1MDREMDEqDQorWDE5OTkwMVkxNzYxNjJEMDEqDQorWDE5OTY0MlkxNzY3ODdEMDEqDQorWDE5OTI4OVkxNzczNjREMDEqDQorWDE5ODg0OVkxNzc4NzlEMDEqDQorWDE5ODMzNFkxNzgzMTlEMDEqDQorWDE5Nzc1N1kxNzg2NzJEMDEqDQorWDE5NzQzOFkxNzg4MDREMDEqDQorWTE4MDg1NEQwMSoNCitYMTk3NzU3WTE4MDk4NkQwMSoNCitYMTk4MzM0WTE4MTMzOUQwMSoNCitYMTk4ODQ5WTE4MTc3OUQwMSoNCitYMTk5Mjg5WTE4MjI5NEQwMSoNCitYMTk5NjQyWTE4Mjg3MUQwMSoNCitYMTk5OTAxWTE4MzQ5NkQwMSoNCitYMjAwMDU5WTE4NDE1NEQwMSoNCitYMjAwMDk5WTE4NDgyOUQwMSoNCitYMjAwMDU5WTE4NTUwNEQwMSoNCitYMTk5OTAxWTE4NjE2MkQwMSoNCitYMTk5NjQyWTE4Njc4N0QwMSoNCitYMTk5Mjg5WTE4NzM2NEQwMSoNCitYMTk4ODQ5WTE4Nzg3OUQwMSoNCitYMTk4MzM0WTE4ODMxOUQwMSoNCitYMTk3NzU3WTE4ODY3MkQwMSoNCitYMTk3NDM4WTE4ODgwNEQwMSoNCitZMTkzMDM2RDAxKg0KK1gxOTkyNTZZMTkzMDM4RDAxKg0KK1gxOTk0MDlZMTkzMDc1RDAxKg0KK1gxOTk1NTRZMTkzMTM1RDAxKg0KK1gxOTk2ODlZMTkzMjE3RDAxKg0KK1gxOTk4MDhZMTkzMzIwRDAxKg0KK1gxOTk5MTFZMTkzNDM5RDAxKg0KK1gxOTk5OTNZMTkzNTc0RDAxKg0KK1gyMDAwNTNZMTkzNzE5RDAxKg0KK1gyMDAwOTBZMTkzODcyRDAxKg0KK1gyMDAwOTlZMTk0MDI5RDAxKg0KK1gyMDAwOTBZMjAwNzg2RDAxKg0KK1gyMDAwNTNZMjAwOTM5RDAxKg0KK1gxOTk5OTNZMjAxMDg0RDAxKg0KK1gxOTk5MTFZMjAxMjE5RDAxKg0KK1gxOTk4MDhZMjAxMzM4RDAxKg0KK1gxOTk2ODlZMjAxNDQxRDAxKg0KK1gxOTk1NTRZMjAxNTIzRDAxKg0KK1gxOTk0MDlZMjAxNTgzRDAxKg0KK1gxOTkyNTZZMjAxNjIwRDAxKg0KK1gxOTkwOTlZMjAxNjI5RDAxKg0KK1gxOTc0MzhZMjAxNjI3RDAxKg0KK1kyNjEwMDNEMDEqDQorWDE5NzYyMVkyNjA4OTFEMDEqDQorWDE5Nzg4M1kyNjA3ODNEMDEqDQorWDE5ODE1OVkyNjA3MTdEMDEqDQorWDE5ODQ0MVkyNjA2OTREMDEqDQorWDE5ODcyM1kyNjA3MTdEMDEqDQorWDE5ODk5OVkyNjA3ODNEMDEqDQorWDE5OTI2MVkyNjA4OTFEMDEqDQorWDE5OTUwMlkyNjEwMzlEMDEqDQorWDE5OTcxOFkyNjEyMjNEMDEqDQorWDE5OTkwMlkyNjE0MzlEMDEqDQorWDIwMDA1MFkyNjE2ODBEMDEqDQorWDIwMDE1OFkyNjE5NDJEMDEqDQorWDIwMDIyNFkyNjIyMThEMDEqDQorWDIwMDI0MVkyNjI1MDBEMDEqDQorWDIwMDIyNFkyNjI3ODJEMDEqDQorWDIwMDE1OFkyNjMwNThEMDEqDQorWDIwMDA1MFkyNjMzMjBEMDEqDQorWDE5OTkwMlkyNjM1NjFEMDEqDQorWDE5OTcxOFkyNjM3NzdEMDEqDQorWDE5OTUwMlkyNjM5NjFEMDEqDQorWDE5OTI2MVkyNjQxMDlEMDEqDQorWDE5ODk5OVkyNjQyMTdEMDEqDQorWDE5ODcyM1kyNjQyODNEMDEqDQorWDE5ODQ0MVkyNjQzMDZEMDEqDQorWDE5ODE1OVkyNjQyODNEMDEqDQorWDE5Nzg4M1kyNjQyMTdEMDEqDQorWDE5NzYyMVkyNjQxMDlEMDEqDQorWDE5NzQzOFkyNjM5OTdEMDEqDQorWTI2ODAwM0QwMSoNCitYMTk3NjIxWTI2Nzg5MUQwMSoNCitYMTk3ODgzWTI2Nzc4M0QwMSoNCitYMTk4MTU5WTI2NzcxN0QwMSoNCitYMTk4NDQxWTI2NzY5NEQwMSoNCitYMTk4NzIzWTI2NzcxN0QwMSoNCitYMTk4OTk5WTI2Nzc4M0QwMSoNCitYMTk5MjYxWTI2Nzg5MUQwMSoNCitYMTk5NTAyWTI2ODAzOUQwMSoNCitYMTk5NzE4WTI2ODIyM0QwMSoNCitYMTk5OTAyWTI2ODQzOUQwMSoNCitYMjAwMDUwWTI2ODY4MEQwMSoNCitYMjAwMTU4WTI2ODk0MkQwMSoNCitYMjAwMjI0WTI2OTIxOEQwMSoNCitYMjAwMjQxWTI2OTUwMEQwMSoNCitYMjAwMjI0WTI2OTc4MkQwMSoNCitYMjAwMTU4WTI3MDA1OEQwMSoNCitYMjAwMDUwWTI3MDMyMEQwMSoNCitYMTk5OTAyWTI3MDU2MUQwMSoNCitYMTk5NzE4WTI3MDc3N0QwMSoNCitYMTk5NTAyWTI3MDk2MUQwMSoNCitYMTk5MjYxWTI3MTEwOUQwMSoNCitYMTk4OTk5WTI3MTIxN0QwMSoNCitYMTk4NzIzWTI3MTI4M0QwMSoNCitYMTk4NDQxWTI3MTMwNkQwMSoNCitYMTk4MTU5WTI3MTI4M0QwMSoNCitYMTk3ODgzWTI3MTIxN0QwMSoNCitYMTk3NjIxWTI3MTEwOUQwMSoNCitYMTk3NDM4WTI3MDk5N0QwMSoNCitZMzA2Njk1RDAxKg0KK1gxOTc0NDFZMzA2Njk0RDAxKg0KK1gxOTc3MjNZMzA2NzE3RDAxKg0KK1gxOTc5OTlZMzA2NzgzRDAxKg0KK1gxOTgyNjFZMzA2ODkxRDAxKg0KK1gxOTg1MDJZMzA3MDM5RDAxKg0KK1gxOTg3MThZMzA3MjIzRDAxKg0KK1gxOTg5MDJZMzA3NDM5RDAxKg0KK1gxOTkwNTBZMzA3NjgwRDAxKg0KK1gxOTkxNThZMzA3OTQyRDAxKg0KK1gxOTkyMjRZMzA4MjE4RDAxKg0KK1gxOTkyNDFZMzA4NTAwRDAxKg0KK1gxOTkyMjRZMzA4NzgyRDAxKg0KK1gxOTkxNThZMzA5MDU4RDAxKg0KK1gxOTkwNTBZMzA5MzIwRDAxKg0KK1gxOTg5MDJZMzA5NTYxRDAxKg0KK1gxOTg3MThZMzA5Nzc3RDAxKg0KK1gxOTg1MDJZMzA5OTYxRDAxKg0KK1gxOTgyNjFZMzEwMTA5RDAxKg0KK1gxOTc5OTlZMzEwMjE3RDAxKg0KK1gxOTc3MjNZMzEwMjgzRDAxKg0KK1gxOTc0NDFZMzEwMzA2RDAxKg0KK1gxOTc0MzhZMzEwMzA1RDAxKg0KK1kzMTI2OTVEMDEqDQorWDE5NzQ0MVkzMTI2OTREMDEqDQorWDE5NzcyM1kzMTI3MTdEMDEqDQorWDE5Nzk5OVkzMTI3ODNEMDEqDQorWDE5ODI2MVkzMTI4OTFEMDEqDQorWDE5ODUwMlkzMTMwMzlEMDEqDQorWDE5ODcxOFkzMTMyMjNEMDEqDQorWDE5ODkwMlkzMTM0MzlEMDEqDQorWDE5OTA1MFkzMTM2ODBEMDEqDQorWDE5OTE1OFkzMTM5NDJEMDEqDQorWDE5OTIyNFkzMTQyMThEMDEqDQorWDE5OTI0MVkzMTQ1MDBEMDEqDQorWDE5OTIyNFkzMTQ3ODJEMDEqDQorWDE5OTE1OFkzMTUwNThEMDEqDQorWDE5OTA1MFkzMTUzMjBEMDEqDQorWDE5ODkwMlkzMTU1NjFEMDEqDQorWDE5ODcxOFkzMTU3NzdEMDEqDQorWDE5ODUwMlkzMTU5NjFEMDEqDQorWDE5ODI2MVkzMTYxMDlEMDEqDQorWDE5Nzk5OVkzMTYyMTdEMDEqDQorWDE5NzcyM1kzMTYyODNEMDEqDQorWDE5NzQ0MVkzMTYzMDZEMDEqDQorWDE5NzQzOFkzMTYzMDVEMDEqDQorWTM2MDg1NEQwMSoNCitYMTk3NzU3WTM2MDk4NkQwMSoNCitYMTk4MzM0WTM2MTMzOUQwMSoNCitYMTk4ODQ5WTM2MTc3OUQwMSoNCitYMTk5Mjg5WTM2MjI5NEQwMSoNCitYMTk5NjQyWTM2Mjg3MUQwMSoNCitYMTk5OTAxWTM2MzQ5NkQwMSoNCitYMjAwMDU5WTM2NDE1NEQwMSoNCitYMjAwMDk5WTM2NDgyOUQwMSoNCitYMjAwMDU5WTM2NTUwNEQwMSoNCitYMTk5OTAxWTM2NjE2MkQwMSoNCitYMTk5NjQyWTM2Njc4N0QwMSoNCitYMTk5Mjg5WTM2NzM2NEQwMSoNCitYMTk4ODQ5WTM2Nzg3OUQwMSoNCitYMTk4MzM0WTM2ODMxOUQwMSoNCitYMTk3NzU3WTM2ODY3MkQwMSoNCitYMTk3NDM4WTM2ODgwNEQwMSoNCitZMzcwODU0RDAxKg0KK1gxOTc3NTdZMzcwOTg2RDAxKg0KK1gxOTgzMzRZMzcxMzM5RDAxKg0KK1gxOTg4NDlZMzcxNzc5RDAxKg0KK1gxOTkyODlZMzcyMjk0RDAxKg0KK1gxOTk2NDJZMzcyODcxRDAxKg0KK1gxOTk5MDFZMzczNDk2RDAxKg0KK1gyMDAwNTlZMzc0MTU0RDAxKg0KK1gyMDAwOTlZMzc0ODI5RDAxKg0KK1gyMDAwNTlZMzc1NTA0RDAxKg0KK1gxOTk5MDFZMzc2MTYyRDAxKg0KK1gxOTk2NDJZMzc2Nzg3RDAxKg0KK1gxOTkyODlZMzc3MzY0RDAxKg0KK1gxOTg4NDlZMzc3ODc5RDAxKg0KK1gxOTgzMzRZMzc4MzE5RDAxKg0KK1gxOTc3NTdZMzc4NjcyRDAxKg0KK1gxOTc0MzhZMzc4ODA0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDIwMjQzOEQwMSoNCitZMzc3NTE1RDAxKg0KK1gyMDIzMDlZMzc3MzY0RDAxKg0KK1gyMDE5NTZZMzc2Nzg3RDAxKg0KK1gyMDE2OTdZMzc2MTYyRDAxKg0KK1gyMDE1MzlZMzc1NTA0RDAxKg0KK1gyMDE0ODZZMzc0ODI5RDAxKg0KK1gyMDE1MzlZMzc0MTU0RDAxKg0KK1gyMDE2OTdZMzczNDk2RDAxKg0KK1gyMDE5NTZZMzcyODcxRDAxKg0KK1gyMDIzMDlZMzcyMjk0RDAxKg0KK1gyMDI0MzhZMzcyMTQzRDAxKg0KK1kzNjc1MTVEMDEqDQorWDIwMjMwOVkzNjczNjREMDEqDQorWDIwMTk1NlkzNjY3ODdEMDEqDQorWDIwMTY5N1kzNjYxNjJEMDEqDQorWDIwMTUzOVkzNjU1MDREMDEqDQorWDIwMTQ4NlkzNjQ4MjlEMDEqDQorWDIwMTUzOVkzNjQxNTREMDEqDQorWDIwMTY5N1kzNjM0OTZEMDEqDQorWDIwMTk1NlkzNjI4NzFEMDEqDQorWDIwMjMwOVkzNjIyOTREMDEqDQorWDIwMjQzOFkzNjIxNDNEMDEqDQorWTIzODQ5M0QwMSoNCitYMjAyMzMyWTIzODMyMEQwMSoNCitYMjAyMjI0WTIzODA1OEQwMSoNCitYMjAyMTU4WTIzNzc4MkQwMSoNCitYMjAyMTM1WTIzNzUwMEQwMSoNCitYMjAyMTU4WTIzNzIxOEQwMSoNCitYMjAyMjI0WTIzNjk0MkQwMSoNCitYMjAyMzMyWTIzNjY4MEQwMSoNCitYMjAyNDM4WTIzNjUwN0QwMSoNCitZMjE0MzA1RDAxKg0KK1gyMDIxNTlZMjE0MjgzRDAxKg0KK1gyMDE4ODNZMjE0MjE3RDAxKg0KK1gyMDE2MjFZMjE0MTA5RDAxKg0KK1gyMDEzODBZMjEzOTYxRDAxKg0KK1gyMDExNjRZMjEzNzc3RDAxKg0KK1gyMDA5ODBZMjEzNTYxRDAxKg0KK1gyMDA4MzJZMjEzMzIwRDAxKg0KK1gyMDA3MjRZMjEzMDU4RDAxKg0KK1gyMDA2NThZMjEyNzgyRDAxKg0KK1gyMDA2MzVZMjEyNTAwRDAxKg0KK1gyMDA2NThZMjEyMjE4RDAxKg0KK1gyMDA3MjRZMjExOTQyRDAxKg0KK1gyMDA4MzJZMjExNjgwRDAxKg0KK1gyMDA5ODBZMjExNDM5RDAxKg0KK1gyMDExNjRZMjExMjIzRDAxKg0KK1gyMDEzODBZMjExMDM5RDAxKg0KK1gyMDE2MjFZMjEwODkxRDAxKg0KK1gyMDE4ODNZMjEwNzgzRDAxKg0KK1gyMDIxNTlZMjEwNzE3RDAxKg0KK1gyMDI0MzhZMjEwNjk1RDAxKg0KK1kyMDAwMTVEMDEqDQorWDIwMjMwOVkxOTk4NjREMDEqDQorWDIwMTk1NlkxOTkyODdEMDEqDQorWDIwMTY5N1kxOTg2NjJEMDEqDQorWDIwMTUzOVkxOTgwMDREMDEqDQorWDIwMTQ4NlkxOTczMjlEMDEqDQorWDIwMTUzOVkxOTY2NTREMDEqDQorWDIwMTY5N1kxOTU5OTZEMDEqDQorWDIwMTk1NlkxOTUzNzFEMDEqDQorWDIwMjMwOVkxOTQ3OTREMDEqDQorWDIwMjQzOFkxOTQ2NDNEMDEqDQorWTE4NzUxNUQwMSoNCitYMjAyMzA5WTE4NzM2NEQwMSoNCitYMjAxOTU2WTE4Njc4N0QwMSoNCitYMjAxNjk3WTE4NjE2MkQwMSoNCitYMjAxNTM5WTE4NTUwNEQwMSoNCitYMjAxNDg2WTE4NDgyOUQwMSoNCitYMjAxNTM5WTE4NDE1NEQwMSoNCitYMjAxNjk3WTE4MzQ5NkQwMSoNCitYMjAxOTU2WTE4Mjg3MUQwMSoNCitYMjAyMzA5WTE4MjI5NEQwMSoNCitYMjAyNDM4WTE4MjE0M0QwMSoNCitZMTc3NTE1RDAxKg0KK0czNyoNCitHMzYqDQorWDE5NzQzOFkzNzg4MDREMDIqWDE5NzEzMlkzNzg5MzFEMDEqDQorWDE5NjQ3NFkzNzkwODlEMDEqDQorWDE5NTc5OVkzNzkxNDJEMDEqDQorWDE5NTEyNFkzNzkwODlEMDEqDQorWDE5NDQ2NlkzNzg5MzFEMDEqDQorWDE5MzkzOFkzNzg3MTJEMDEqDQorWTM5NzAwMEQwMSoNCitYMTk3NDM4RDAxKg0KK1kzNzg4MDREMDEqDQorRzM3Kg0KK0czNioNCitZMzY4ODA0RDAyKlgxOTcxMzJZMzY4OTMxRDAxKg0KK1gxOTY0NzRZMzY5MDg5RDAxKg0KK1gxOTU3OTlZMzY5MTQyRDAxKg0KK1gxOTUxMjRZMzY5MDg5RDAxKg0KK1gxOTQ0NjZZMzY4OTMxRDAxKg0KK1gxOTM5MzhZMzY4NzEyRDAxKg0KK1kzNzA5NDZEMDEqDQorWDE5NDQ2NlkzNzA3MjdEMDEqDQorWDE5NTEyNFkzNzA1NjlEMDEqDQorWDE5NTc5OVkzNzA1MTZEMDEqDQorWDE5NjQ3NFkzNzA1NjlEMDEqDQorWDE5NzEzMlkzNzA3MjdEMDEqDQorWDE5NzQzOFkzNzA4NTREMDEqDQorWTM2ODgwNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDE2MjdEMDIqWDE5MzkzOFkyMDE2MjJEMDEqDQorWTIxMDY5NUQwMSoNCitYMTkzOTQxWTIxMDY5NEQwMSoNCitYMTk0MjIzWTIxMDcxN0QwMSoNCitYMTk0NDk5WTIxMDc4M0QwMSoNCitYMTk0NzYxWTIxMDg5MUQwMSoNCitYMTk1MDAyWTIxMTAzOUQwMSoNCitYMTk1MjE4WTIxMTIyM0QwMSoNCitYMTk1NDAyWTIxMTQzOUQwMSoNCitYMTk1NTUwWTIxMTY4MEQwMSoNCitYMTk1NjU4WTIxMTk0MkQwMSoNCitYMTk1NzI0WTIxMjIxOEQwMSoNCitYMTk1NzQxWTIxMjUwMEQwMSoNCitYMTk1NzI0WTIxMjc4MkQwMSoNCitYMTk1NjU4WTIxMzA1OEQwMSoNCitYMTk1NTUwWTIxMzMyMEQwMSoNCitYMTk1NDAyWTIxMzU2MUQwMSoNCitYMTk1MjE4WTIxMzc3N0QwMSoNCitYMTk1MDAyWTIxMzk2MUQwMSoNCitYMTk0NzYxWTIxNDEwOUQwMSoNCitYMTk0NDk5WTIxNDIxN0QwMSoNCitYMTk0MjIzWTIxNDI4M0QwMSoNCitYMTkzOTQxWTIxNDMwNkQwMSoNCitYMTkzOTM4WTIxNDMwNUQwMSoNCitZMjM1MTk1RDAxKg0KK1gxOTM5NDFZMjM1MTk0RDAxKg0KK1gxOTQyMjNZMjM1MjE3RDAxKg0KK1gxOTQ0OTlZMjM1MjgzRDAxKg0KK1gxOTQ3NjFZMjM1MzkxRDAxKg0KK1gxOTUwMDJZMjM1NTM5RDAxKg0KK1gxOTUyMThZMjM1NzIzRDAxKg0KK1gxOTU0MDJZMjM1OTM5RDAxKg0KK1gxOTU1NTBZMjM2MTgwRDAxKg0KK1gxOTU2NThZMjM2NDQyRDAxKg0KK1gxOTU3MjRZMjM2NzE4RDAxKg0KK1gxOTU3NDFZMjM3MDAwRDAxKg0KK1gxOTU3MjRZMjM3MjgyRDAxKg0KK1gxOTU2NThZMjM3NTU4RDAxKg0KK1gxOTU1NTBZMjM3ODIwRDAxKg0KK1gxOTU0MDJZMjM4MDYxRDAxKg0KK1gxOTUyMThZMjM4Mjc3RDAxKg0KK1gxOTUwMDJZMjM4NDYxRDAxKg0KK1gxOTQ3NjFZMjM4NjA5RDAxKg0KK1gxOTQ0OTlZMjM4NzE3RDAxKg0KK1gxOTQyMjNZMjM4NzgzRDAxKg0KK1gxOTM5NDFZMjM4ODA2RDAxKg0KK1gxOTM5MzhZMjM4ODA1RDAxKg0KK1kzMTA1MDdEMDEqDQorWDE5Mzk4MFkzMTA0MzlEMDEqDQorWDE5NDE2NFkzMTAyMjNEMDEqDQorWDE5NDM4MFkzMTAwMzlEMDEqDQorWDE5NDYyMVkzMDk4OTFEMDEqDQorWDE5NDg4M1kzMDk3ODNEMDEqDQorWDE5NTE1OVkzMDk3MTdEMDEqDQorWDE5NTQ0MVkzMDk2OTREMDEqDQorWDE5NTcyM1kzMDk3MTdEMDEqDQorWDE5NTk5OVkzMDk3ODNEMDEqDQorWDE5NjI2MVkzMDk4OTFEMDEqDQorWDE5NjUwMlkzMTAwMzlEMDEqDQorWDE5NjcxOFkzMTAyMjNEMDEqDQorWDE5NjkwMlkzMTA0MzlEMDEqDQorWDE5NzA1MFkzMTA2ODBEMDEqDQorWDE5NzE1OFkzMTA5NDJEMDEqDQorWDE5NzIyNFkzMTEyMThEMDEqDQorWDE5NzI0MVkzMTE1MDBEMDEqDQorWDE5NzIyNFkzMTE3ODJEMDEqDQorWDE5NzE1OFkzMTIwNThEMDEqDQorWDE5NzA1MFkzMTIzMjBEMDEqDQorWDE5NjkwMlkzMTI1NjFEMDEqDQorWDE5NjcxOFkzMTI3NzdEMDEqDQorWDE5NjUwMlkzMTI5NjFEMDEqDQorWDE5NjI2MVkzMTMxMDlEMDEqDQorWDE5NTk5OVkzMTMyMTdEMDEqDQorWDE5NTcyM1kzMTMyODNEMDEqDQorWDE5NTQ0MVkzMTMzMDZEMDEqDQorWDE5NTE1OVkzMTMyODNEMDEqDQorWDE5NDg4M1kzMTMyMTdEMDEqDQorWDE5NDYyMVkzMTMxMDlEMDEqDQorWDE5NDM4MFkzMTI5NjFEMDEqDQorWDE5NDE2NFkzMTI3NzdEMDEqDQorWDE5Mzk4MFkzMTI1NjFEMDEqDQorWDE5MzkzOFkzMTI0OTNEMDEqDQorWTM2MDk0NkQwMSoNCitYMTk0NDY2WTM2MDcyN0QwMSoNCitYMTk1MTI0WTM2MDU2OUQwMSoNCitYMTk1Nzk5WTM2MDUxNkQwMSoNCitYMTk2NDc0WTM2MDU2OUQwMSoNCitYMTk3MTMyWTM2MDcyN0QwMSoNCitYMTk3NDM4WTM2MDg1NEQwMSoNCitZMzE2MzA1RDAxKg0KK1gxOTcxNTlZMzE2MjgzRDAxKg0KK1gxOTY4ODNZMzE2MjE3RDAxKg0KK1gxOTY2MjFZMzE2MTA5RDAxKg0KK1gxOTYzODBZMzE1OTYxRDAxKg0KK1gxOTYxNjRZMzE1Nzc3RDAxKg0KK1gxOTU5ODBZMzE1NTYxRDAxKg0KK1gxOTU4MzJZMzE1MzIwRDAxKg0KK1gxOTU3MjRZMzE1MDU4RDAxKg0KK1gxOTU2NThZMzE0NzgyRDAxKg0KK1gxOTU2MzVZMzE0NTAwRDAxKg0KK1gxOTU2NThZMzE0MjE4RDAxKg0KK1gxOTU3MjRZMzEzOTQyRDAxKg0KK1gxOTU4MzJZMzEzNjgwRDAxKg0KK1gxOTU5ODBZMzEzNDM5RDAxKg0KK1gxOTYxNjRZMzEzMjIzRDAxKg0KK1gxOTYzODBZMzEzMDM5RDAxKg0KK1gxOTY2MjFZMzEyODkxRDAxKg0KK1gxOTY4ODNZMzEyNzgzRDAxKg0KK1gxOTcxNTlZMzEyNzE3RDAxKg0KK1gxOTc0MzhZMzEyNjk1RDAxKg0KK1kzMTAzMDVEMDEqDQorWDE5NzE1OVkzMTAyODNEMDEqDQorWDE5Njg4M1kzMTAyMTdEMDEqDQorWDE5NjYyMVkzMTAxMDlEMDEqDQorWDE5NjM4MFkzMDk5NjFEMDEqDQorWDE5NjE2NFkzMDk3NzdEMDEqDQorWDE5NTk4MFkzMDk1NjFEMDEqDQorWDE5NTgzMlkzMDkzMjBEMDEqDQorWDE5NTcyNFkzMDkwNThEMDEqDQorWDE5NTY1OFkzMDg3ODJEMDEqDQorWDE5NTYzNVkzMDg1MDBEMDEqDQorWDE5NTY1OFkzMDgyMThEMDEqDQorWDE5NTcyNFkzMDc5NDJEMDEqDQorWDE5NTgzMlkzMDc2ODBEMDEqDQorWDE5NTk4MFkzMDc0MzlEMDEqDQorWDE5NjE2NFkzMDcyMjNEMDEqDQorWDE5NjM4MFkzMDcwMzlEMDEqDQorWDE5NjYyMVkzMDY4OTFEMDEqDQorWDE5Njg4M1kzMDY3ODNEMDEqDQorWDE5NzE1OVkzMDY3MTdEMDEqDQorWDE5NzQzOFkzMDY2OTVEMDEqDQorWTI3MDk5N0QwMSoNCitYMTk3MzgwWTI3MDk2MUQwMSoNCitYMTk3MTY0WTI3MDc3N0QwMSoNCitYMTk2OTgwWTI3MDU2MUQwMSoNCitYMTk2ODMyWTI3MDMyMEQwMSoNCitYMTk2NzI0WTI3MDA1OEQwMSoNCitYMTk2NjU4WTI2OTc4MkQwMSoNCitYMTk2NjM1WTI2OTUwMEQwMSoNCitYMTk2NjU4WTI2OTIxOEQwMSoNCitYMTk2NzI0WTI2ODk0MkQwMSoNCitYMTk2ODMyWTI2ODY4MEQwMSoNCitYMTk2OTgwWTI2ODQzOUQwMSoNCitYMTk3MTY0WTI2ODIyM0QwMSoNCitYMTk3MzgwWTI2ODAzOUQwMSoNCitYMTk3NDM4WTI2ODAwM0QwMSoNCitZMjYzOTk3RDAxKg0KK1gxOTczODBZMjYzOTYxRDAxKg0KK1gxOTcxNjRZMjYzNzc3RDAxKg0KK1gxOTY5ODBZMjYzNTYxRDAxKg0KK1gxOTY4MzJZMjYzMzIwRDAxKg0KK1gxOTY3MjRZMjYzMDU4RDAxKg0KK1gxOTY2NThZMjYyNzgyRDAxKg0KK1gxOTY2MzVZMjYyNTAwRDAxKg0KK1gxOTY2NThZMjYyMjE4RDAxKg0KK1gxOTY3MjRZMjYxOTQyRDAxKg0KK1gxOTY4MzJZMjYxNjgwRDAxKg0KK1gxOTY5ODBZMjYxNDM5RDAxKg0KK1gxOTcxNjRZMjYxMjIzRDAxKg0KK1gxOTczODBZMjYxMDM5RDAxKg0KK1gxOTc0MzhZMjYxMDAzRDAxKg0KK1kyMDE2MjdEMDEqDQorRzM3Kg0KK0czNioNCitZMTg4ODA0RDAyKlgxOTcxMzJZMTg4OTMxRDAxKg0KK1gxOTY0NzRZMTg5MDg5RDAxKg0KK1gxOTU3OTlZMTg5MTQyRDAxKg0KK1gxOTUxMjRZMTg5MDg5RDAxKg0KK1gxOTQ0NjZZMTg4OTMxRDAxKg0KK1gxOTM5MzhZMTg4NzEyRDAxKg0KK1kxOTMwMzFEMDEqDQorWDE5NzQzOFkxOTMwMzZEMDEqDQorWTE4ODgwNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzg4MDREMDIqWDE5NzEzMlkxNzg5MzFEMDEqDQorWDE5NjQ3NFkxNzkwODlEMDEqDQorWDE5NTc5OVkxNzkxNDJEMDEqDQorWDE5NTEyNFkxNzkwODlEMDEqDQorWDE5NDQ2NlkxNzg5MzFEMDEqDQorWDE5MzkzOFkxNzg3MTJEMDEqDQorWTE4MDk0NkQwMSoNCitYMTk0NDY2WTE4MDcyN0QwMSoNCitYMTk1MTI0WTE4MDU2OUQwMSoNCitYMTk1Nzk5WTE4MDUxNkQwMSoNCitYMTk2NDc0WTE4MDU2OUQwMSoNCitYMTk3MTMyWTE4MDcyN0QwMSoNCitYMTk3NDM4WTE4MDg1NEQwMSoNCitZMTc4ODA0RDAxKg0KK0czNyoNCitHMzYqDQorWDE4MTkzOFkxNzI5MTNEMDIqWDE4MTk1NlkxNzI4NzFEMDEqDQorWDE4MjMwOVkxNzIyOTREMDEqDQorWDE4Mjc0OVkxNzE3NzlEMDEqDQorWDE4MzA3NlkxNzE1MDBEMDEqDQorWDE4MTkzOEQwMSoNCitZMTcyOTEzRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MzkzOFkxNzg3MTJEMDIqWDE5Mzg0MVkxNzg2NzJEMDEqDQorWDE5MzI2NFkxNzgzMTlEMDEqDQorWDE5Mjc0OVkxNzc4NzlEMDEqDQorWDE5MjMwOVkxNzczNjREMDEqDQorWDE5MTk1NlkxNzY3ODdEMDEqDQorWDE5MTY5N1kxNzYxNjJEMDEqDQorWDE5MTUzOVkxNzU1MDREMDEqDQorWDE5MTQ4NlkxNzQ4MjlEMDEqDQorWDE5MTUzOVkxNzQxNTREMDEqDQorWDE5MTY5N1kxNzM0OTZEMDEqDQorWDE5MTk1NlkxNzI4NzFEMDEqDQorWDE5MjMwOVkxNzIyOTREMDEqDQorWDE5Mjc0OVkxNzE3NzlEMDEqDQorWDE5MzA3NlkxNzE1MDBEMDEqDQorWDE5MTM2MEQwMSoNCitZMzQyNjQ0RDAxKg0KK1gxOTEzNjNZMzQyNjQzRDAxKg0KK1gxOTE2NDVZMzQyNjY2RDAxKg0KK1gxOTE5MjFZMzQyNzMyRDAxKg0KK1gxOTIxODNZMzQyODQwRDAxKg0KK1gxOTI0MjRZMzQyOTg4RDAxKg0KK1gxOTI2NDBZMzQzMTcyRDAxKg0KK1gxOTI4MjRZMzQzMzg4RDAxKg0KK1gxOTI5NzJZMzQzNjI5RDAxKg0KK1gxOTMwODBZMzQzODkxRDAxKg0KK1gxOTMxNDZZMzQ0MTY3RDAxKg0KK1gxOTMxNjNZMzQ0NDQ5RDAxKg0KK1gxOTMxNDZZMzQ0NzMxRDAxKg0KK1gxOTMwODBZMzQ1MDA3RDAxKg0KK1gxOTI5NzJZMzQ1MjY5RDAxKg0KK1gxOTI4MjRZMzQ1NTEwRDAxKg0KK1gxOTI2NDBZMzQ1NzI2RDAxKg0KK1gxOTI0MjRZMzQ1OTEwRDAxKg0KK1gxOTIxODNZMzQ2MDU4RDAxKg0KK1gxOTE5MjFZMzQ2MTY2RDAxKg0KK1gxOTE2NDVZMzQ2MjMyRDAxKg0KK1gxOTEzNjNZMzQ2MjU1RDAxKg0KK1gxOTEzNjBZMzQ2MjU0RDAxKg0KK1kzOTcwMDBEMDEqDQorWDE5MzkzOEQwMSoNCitZMzc4NzEyRDAxKg0KK1gxOTM4NDFZMzc4NjcyRDAxKg0KK1gxOTMyNjRZMzc4MzE5RDAxKg0KK1gxOTI3NDlZMzc3ODc5RDAxKg0KK1gxOTIzMDlZMzc3MzY0RDAxKg0KK1gxOTE5NTZZMzc2Nzg3RDAxKg0KK1gxOTE2OTdZMzc2MTYyRDAxKg0KK1gxOTE1MzlZMzc1NTA0RDAxKg0KK1gxOTE0ODZZMzc0ODI5RDAxKg0KK1gxOTE1MzlZMzc0MTU0RDAxKg0KK1gxOTE2OTdZMzczNDk2RDAxKg0KK1gxOTE5NTZZMzcyODcxRDAxKg0KK1gxOTIzMDlZMzcyMjk0RDAxKg0KK1gxOTI3NDlZMzcxNzc5RDAxKg0KK1gxOTMyNjRZMzcxMzM5RDAxKg0KK1gxOTM4NDFZMzcwOTg2RDAxKg0KK1gxOTM5MzhZMzcwOTQ2RDAxKg0KK1kzNjg3MTJEMDEqDQorWDE5Mzg0MVkzNjg2NzJEMDEqDQorWDE5MzI2NFkzNjgzMTlEMDEqDQorWDE5Mjc0OVkzNjc4NzlEMDEqDQorWDE5MjMwOVkzNjczNjREMDEqDQorWDE5MTk1NlkzNjY3ODdEMDEqDQorWDE5MTY5N1kzNjYxNjJEMDEqDQorWDE5MTUzOVkzNjU1MDREMDEqDQorWDE5MTQ4NlkzNjQ4MjlEMDEqDQorWDE5MTUzOVkzNjQxNTREMDEqDQorWDE5MTY5N1kzNjM0OTZEMDEqDQorWDE5MTk1NlkzNjI4NzFEMDEqDQorWDE5MjMwOVkzNjIyOTREMDEqDQorWDE5Mjc0OVkzNjE3NzlEMDEqDQorWDE5MzI2NFkzNjEzMzlEMDEqDQorWDE5Mzg0MVkzNjA5ODZEMDEqDQorWDE5MzkzOFkzNjA5NDZEMDEqDQorWTMxMjQ5M0QwMSoNCitYMTkzODMyWTMxMjMyMEQwMSoNCitYMTkzNzI0WTMxMjA1OEQwMSoNCitYMTkzNjU4WTMxMTc4MkQwMSoNCitYMTkzNjM1WTMxMTUwMEQwMSoNCitYMTkzNjU4WTMxMTIxOEQwMSoNCitYMTkzNzI0WTMxMDk0MkQwMSoNCitYMTkzODMyWTMxMDY4MEQwMSoNCitYMTkzOTM4WTMxMDUwN0QwMSoNCitZMjM4ODA1RDAxKg0KK1gxOTM2NTlZMjM4NzgzRDAxKg0KK1gxOTMzODNZMjM4NzE3RDAxKg0KK1gxOTMxMjFZMjM4NjA5RDAxKg0KK1gxOTI4ODBZMjM4NDYxRDAxKg0KK1gxOTI2NjRZMjM4Mjc3RDAxKg0KK1gxOTI0ODBZMjM4MDYxRDAxKg0KK1gxOTIzMzJZMjM3ODIwRDAxKg0KK1gxOTIyMjRZMjM3NTU4RDAxKg0KK1gxOTIxNThZMjM3MjgyRDAxKg0KK1gxOTIxMzVZMjM3MDAwRDAxKg0KK1gxOTIxNThZMjM2NzE4RDAxKg0KK1gxOTIyMjRZMjM2NDQyRDAxKg0KK1gxOTIzMzJZMjM2MTgwRDAxKg0KK1gxOTI0ODBZMjM1OTM5RDAxKg0KK1gxOTI2NjRZMjM1NzIzRDAxKg0KK1gxOTI4ODBZMjM1NTM5RDAxKg0KK1gxOTMxMjFZMjM1MzkxRDAxKg0KK1gxOTMzODNZMjM1MjgzRDAxKg0KK1gxOTM2NTlZMjM1MjE3RDAxKg0KK1gxOTM5MzhZMjM1MTk1RDAxKg0KK1kyMTQzMDVEMDEqDQorWDE5MzY1OVkyMTQyODNEMDEqDQorWDE5MzM4M1kyMTQyMTdEMDEqDQorWDE5MzEyMVkyMTQxMDlEMDEqDQorWDE5Mjg4MFkyMTM5NjFEMDEqDQorWDE5MjY2NFkyMTM3NzdEMDEqDQorWDE5MjQ4MFkyMTM1NjFEMDEqDQorWDE5MjMzMlkyMTMzMjBEMDEqDQorWDE5MjIyNFkyMTMwNThEMDEqDQorWDE5MjE1OFkyMTI3ODJEMDEqDQorWDE5MjEzNVkyMTI1MDBEMDEqDQorWDE5MjE1OFkyMTIyMThEMDEqDQorWDE5MjIyNFkyMTE5NDJEMDEqDQorWDE5MjMzMlkyMTE2ODBEMDEqDQorWDE5MjQ4MFkyMTE0MzlEMDEqDQorWDE5MjY2NFkyMTEyMjNEMDEqDQorWDE5Mjg4MFkyMTEwMzlEMDEqDQorWDE5MzEyMVkyMTA4OTFEMDEqDQorWDE5MzM4M1kyMTA3ODNEMDEqDQorWDE5MzY1OVkyMTA3MTdEMDEqDQorWDE5MzkzOFkyMTA2OTVEMDEqDQorWTIwMTYyMkQwMSoNCitYMTkyMzQyWTIwMTYyMEQwMSoNCitYMTkyMTg5WTIwMTU4M0QwMSoNCitYMTkyMDQ0WTIwMTUyM0QwMSoNCitYMTkxOTA5WTIwMTQ0MUQwMSoNCitYMTkxNzkwWTIwMTMzOEQwMSoNCitYMTkxNjg3WTIwMTIxOUQwMSoNCitYMTkxNjA1WTIwMTA4NEQwMSoNCitYMTkxNTQ1WTIwMDkzOUQwMSoNCitYMTkxNTA4WTIwMDc4NkQwMSoNCitYMTkxNDk5WTIwMDYyOUQwMSoNCitYMTkxNTA4WTE5Mzg3MkQwMSoNCitYMTkxNTQ1WTE5MzcxOUQwMSoNCitYMTkxNjA1WTE5MzU3NEQwMSoNCitYMTkxNjg3WTE5MzQzOUQwMSoNCitYMTkxNzkwWTE5MzMyMEQwMSoNCitYMTkxOTA5WTE5MzIxN0QwMSoNCitYMTkyMDQ0WTE5MzEzNUQwMSoNCitYMTkyMTg5WTE5MzA3NUQwMSoNCitYMTkyMzQyWTE5MzAzOEQwMSoNCitYMTkyNDk5WTE5MzAyOUQwMSoNCitYMTkzOTM4WTE5MzAzMUQwMSoNCitZMTg4NzEyRDAxKg0KK1gxOTM4NDFZMTg4NjcyRDAxKg0KK1gxOTMyNjRZMTg4MzE5RDAxKg0KK1gxOTI3NDlZMTg3ODc5RDAxKg0KK1gxOTIzMDlZMTg3MzY0RDAxKg0KK1gxOTE5NTZZMTg2Nzg3RDAxKg0KK1gxOTE2OTdZMTg2MTYyRDAxKg0KK1gxOTE1MzlZMTg1NTA0RDAxKg0KK1gxOTE0ODZZMTg0ODI5RDAxKg0KK1gxOTE1MzlZMTg0MTU0RDAxKg0KK1gxOTE2OTdZMTgzNDk2RDAxKg0KK1gxOTE5NTZZMTgyODcxRDAxKg0KK1gxOTIzMDlZMTgyMjk0RDAxKg0KK1gxOTI3NDlZMTgxNzc5RDAxKg0KK1gxOTMyNjRZMTgxMzM5RDAxKg0KK1gxOTM4NDFZMTgwOTg2RDAxKg0KK1gxOTM5MzhZMTgwOTQ2RDAxKg0KK1kxNzg3MTJEMDEqDQorRzM3Kg0KK0czNioNCitYMTkxMzYwWTE3MTUwMEQwMipYMTg4NTIyRDAxKg0KK1gxODg4NDlZMTcxNzc5RDAxKg0KK1gxODkyODlZMTcyMjk0RDAxKg0KK1gxODk2NDJZMTcyODcxRDAxKg0KK1gxODk5MDFZMTczNDk2RDAxKg0KK1gxOTAwNTlZMTc0MTU0RDAxKg0KK1gxOTAwOTlZMTc0ODI5RDAxKg0KK1gxOTAwNTlZMTc1NTA0RDAxKg0KK1gxODk5MDFZMTc2MTYyRDAxKg0KK1gxODk2NDJZMTc2Nzg3RDAxKg0KK1gxODkyODlZMTc3MzY0RDAxKg0KK1gxODg4NDlZMTc3ODc5RDAxKg0KK1gxODgzMzRZMTc4MzE5RDAxKg0KK1gxODc3NTdZMTc4NjcyRDAxKg0KK1gxODcxMzJZMTc4OTMxRDAxKg0KK1gxODY0NzRZMTc5MDg5RDAxKg0KK1gxODU3OTlZMTc5MTQyRDAxKg0KK1gxODU0MzhZMTc5MTE0RDAxKg0KK1kxODA1NDREMDEqDQorWDE4NTc5OVkxODA1MTZEMDEqDQorWDE4NjQ3NFkxODA1NjlEMDEqDQorWDE4NzEzMlkxODA3MjdEMDEqDQorWDE4Nzc1N1kxODA5ODZEMDEqDQorWDE4ODMzNFkxODEzMzlEMDEqDQorWDE4ODg0OVkxODE3NzlEMDEqDQorWDE4OTI4OVkxODIyOTREMDEqDQorWDE4OTY0MlkxODI4NzFEMDEqDQorWDE4OTkwMVkxODM0OTZEMDEqDQorWDE5MDA1OVkxODQxNTREMDEqDQorWDE5MDA5OVkxODQ4MjlEMDEqDQorWDE5MDA1OVkxODU1MDREMDEqDQorWDE4OTkwMVkxODYxNjJEMDEqDQorWDE4OTY0MlkxODY3ODdEMDEqDQorWDE4OTI4OVkxODczNjREMDEqDQorWDE4ODg0OVkxODc4NzlEMDEqDQorWDE4ODMzNFkxODgzMTlEMDEqDQorWDE4Nzc1N1kxODg2NzJEMDEqDQorWDE4NzEzMlkxODg5MzFEMDEqDQorWDE4NjQ3NFkxODkwODlEMDEqDQorWDE4NTc5OVkxODkxNDJEMDEqDQorWDE4NTQzOFkxODkxMTREMDEqDQorWTIxNTY5NUQwMSoNCitYMTg1NDQxWTIxNTY5NEQwMSoNCitYMTg1NzIzWTIxNTcxN0QwMSoNCitYMTg1OTk5WTIxNTc4M0QwMSoNCitYMTg2MjYxWTIxNTg5MUQwMSoNCitYMTg2NTAyWTIxNjAzOUQwMSoNCitYMTg2NzE4WTIxNjIyM0QwMSoNCitYMTg2OTAyWTIxNjQzOUQwMSoNCitYMTg3MDUwWTIxNjY4MEQwMSoNCitYMTg3MTU4WTIxNjk0MkQwMSoNCitYMTg3MjI0WTIxNzIxOEQwMSoNCitYMTg3MjQxWTIxNzUwMEQwMSoNCitYMTg3MjI0WTIxNzc4MkQwMSoNCitYMTg3MTU4WTIxODA1OEQwMSoNCitYMTg3MDUwWTIxODMyMEQwMSoNCitYMTg2OTAyWTIxODU2MUQwMSoNCitYMTg2NzE4WTIxODc3N0QwMSoNCitYMTg2NTAyWTIxODk2MUQwMSoNCitYMTg2MjYxWTIxOTEwOUQwMSoNCitYMTg1OTk5WTIxOTIxN0QwMSoNCitYMTg1NzIzWTIxOTI4M0QwMSoNCitYMTg1NDQxWTIxOTMwNkQwMSoNCitYMTg1NDM4WTIxOTMwNUQwMSoNCitZMjI2MTk1RDAxKg0KK1gxODU0NDFZMjI2MTk0RDAxKg0KK1gxODU3MjNZMjI2MjE3RDAxKg0KK1gxODU5OTlZMjI2MjgzRDAxKg0KK1gxODYyNjFZMjI2MzkxRDAxKg0KK1gxODY1MDJZMjI2NTM5RDAxKg0KK1gxODY3MThZMjI2NzIzRDAxKg0KK1gxODY5MDJZMjI2OTM5RDAxKg0KK1gxODcwNTBZMjI3MTgwRDAxKg0KK1gxODcxNThZMjI3NDQyRDAxKg0KK1gxODcyMjRZMjI3NzE4RDAxKg0KK1gxODcyNDFZMjI4MDAwRDAxKg0KK1gxODcyMjRZMjI4MjgyRDAxKg0KK1gxODcxNThZMjI4NTU4RDAxKg0KK1gxODcwNTBZMjI4ODIwRDAxKg0KK1gxODY5MDJZMjI5MDYxRDAxKg0KK1gxODY3MThZMjI5Mjc3RDAxKg0KK1gxODY1MDJZMjI5NDYxRDAxKg0KK1gxODYyNjFZMjI5NjA5RDAxKg0KK1gxODU5OTlZMjI5NzE3RDAxKg0KK1gxODU3MjNZMjI5NzgzRDAxKg0KK1gxODU0NDFZMjI5ODA2RDAxKg0KK1gxODU0MzhZMjI5ODA1RDAxKg0KK1kzNjA1NDREMDEqDQorWDE4NTc5OVkzNjA1MTZEMDEqDQorWDE4NjQ3NFkzNjA1NjlEMDEqDQorWDE4NzEzMlkzNjA3MjdEMDEqDQorWDE4Nzc1N1kzNjA5ODZEMDEqDQorWDE4ODMzNFkzNjEzMzlEMDEqDQorWDE4ODg0OVkzNjE3NzlEMDEqDQorWDE4OTI4OVkzNjIyOTREMDEqDQorWDE4OTY0MlkzNjI4NzFEMDEqDQorWDE4OTkwMVkzNjM0OTZEMDEqDQorWDE5MDA1OVkzNjQxNTREMDEqDQorWDE5MDA5OVkzNjQ4MjlEMDEqDQorWDE5MDA1OVkzNjU1MDREMDEqDQorWDE4OTkwMVkzNjYxNjJEMDEqDQorWDE4OTY0MlkzNjY3ODdEMDEqDQorWDE4OTI4OVkzNjczNjREMDEqDQorWDE4ODg0OVkzNjc4NzlEMDEqDQorWDE4ODMzNFkzNjgzMTlEMDEqDQorWDE4Nzc1N1kzNjg2NzJEMDEqDQorWDE4NzEzMlkzNjg5MzFEMDEqDQorWDE4NjQ3NFkzNjkwODlEMDEqDQorWDE4NTc5OVkzNjkxNDJEMDEqDQorWDE4NTQzOFkzNjkxMTREMDEqDQorWTM3MDU0NEQwMSoNCitYMTg1Nzk5WTM3MDUxNkQwMSoNCitYMTg2NDc0WTM3MDU2OUQwMSoNCitYMTg3MTMyWTM3MDcyN0QwMSoNCitYMTg3NzU3WTM3MDk4NkQwMSoNCitYMTg4MzM0WTM3MTMzOUQwMSoNCitYMTg4ODQ5WTM3MTc3OUQwMSoNCitYMTg5Mjg5WTM3MjI5NEQwMSoNCitYMTg5NjQyWTM3Mjg3MUQwMSoNCitYMTg5OTAxWTM3MzQ5NkQwMSoNCitYMTkwMDU5WTM3NDE1NEQwMSoNCitYMTkwMDk5WTM3NDgyOUQwMSoNCitYMTkwMDU5WTM3NTUwNEQwMSoNCitYMTg5OTAxWTM3NjE2MkQwMSoNCitYMTg5NjQyWTM3Njc4N0QwMSoNCitYMTg5Mjg5WTM3NzM2NEQwMSoNCitYMTg4ODQ5WTM3Nzg3OUQwMSoNCitYMTg4MzM0WTM3ODMxOUQwMSoNCitYMTg3NzU3WTM3ODY3MkQwMSoNCitYMTg3MTMyWTM3ODkzMUQwMSoNCitYMTg2NDc0WTM3OTA4OUQwMSoNCitYMTg1Nzk5WTM3OTE0MkQwMSoNCitYMTg1NDM4WTM3OTExNEQwMSoNCitZMzk3MDAwRDAxKg0KK1gxOTEzNjBEMDEqDQorWTM0NjI1NEQwMSoNCitYMTkxMDgxWTM0NjIzMkQwMSoNCitYMTkwODA1WTM0NjE2NkQwMSoNCitYMTkwNTQzWTM0NjA1OEQwMSoNCitYMTkwMzAyWTM0NTkxMEQwMSoNCitYMTkwMDg2WTM0NTcyNkQwMSoNCitYMTg5OTAyWTM0NTUxMEQwMSoNCitYMTg5NzU0WTM0NTI2OUQwMSoNCitYMTg5NjQ2WTM0NTAwN0QwMSoNCitYMTg5NTgwWTM0NDczMUQwMSoNCitYMTg5NTU3WTM0NDQ0OUQwMSoNCitYMTg5NTgwWTM0NDE2N0QwMSoNCitYMTg5NjQ2WTM0Mzg5MUQwMSoNCitYMTg5NzU0WTM0MzYyOUQwMSoNCitYMTg5OTAyWTM0MzM4OEQwMSoNCitYMTkwMDg2WTM0MzE3MkQwMSoNCitYMTkwMzAyWTM0Mjk4OEQwMSoNCitYMTkwNTQzWTM0Mjg0MEQwMSoNCitYMTkwODA1WTM0MjczMkQwMSoNCitYMTkxMDgxWTM0MjY2NkQwMSoNCitYMTkxMzYwWTM0MjY0NEQwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE4NTQzOFkzNzkxMTREMDIqWDE4NTEyNFkzNzkwODlEMDEqDQorWDE4NDQ2NlkzNzg5MzFEMDEqDQorWDE4Mzg0MVkzNzg2NzJEMDEqDQorWDE4MzI2NFkzNzgzMTlEMDEqDQorWDE4Mjc0OVkzNzc4NzlEMDEqDQorWDE4MjMwOVkzNzczNjREMDEqDQorWDE4MTk1NlkzNzY3ODdEMDEqDQorWDE4MTkzOFkzNzY3NDVEMDEqDQorWTM5NzAwMEQwMSoNCitYMTg1NDM4RDAxKg0KK1kzNzkxMTREMDEqDQorRzM3Kg0KK0czNioNCitZMzY5MTE0RDAyKlgxODUxMjRZMzY5MDg5RDAxKg0KK1gxODQ0NjZZMzY4OTMxRDAxKg0KK1gxODM4NDFZMzY4NjcyRDAxKg0KK1gxODMyNjRZMzY4MzE5RDAxKg0KK1gxODI3NDlZMzY3ODc5RDAxKg0KK1gxODIzMDlZMzY3MzY0RDAxKg0KK1gxODE5NTZZMzY2Nzg3RDAxKg0KK1gxODE5MzhZMzY2NzQ1RDAxKg0KK1kzNzI5MTNEMDEqDQorWDE4MTk1NlkzNzI4NzFEMDEqDQorWDE4MjMwOVkzNzIyOTREMDEqDQorWDE4Mjc0OVkzNzE3NzlEMDEqDQorWDE4MzI2NFkzNzEzMzlEMDEqDQorWDE4Mzg0MVkzNzA5ODZEMDEqDQorWDE4NDQ2NlkzNzA3MjdEMDEqDQorWDE4NTEyNFkzNzA1NjlEMDEqDQorWDE4NTQzOFkzNzA1NDREMDEqDQorWTM2OTExNEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxODkxMTREMDIqWDE4NTEyNFkxODkwODlEMDEqDQorWDE4NDQ2NlkxODg5MzFEMDEqDQorWDE4Mzg0MVkxODg2NzJEMDEqDQorWDE4MzI2NFkxODgzMTlEMDEqDQorWDE4Mjc0OVkxODc4NzlEMDEqDQorWDE4MjMwOVkxODczNjREMDEqDQorWDE4MTk1NlkxODY3ODdEMDEqDQorWDE4MTkzOFkxODY3NDVEMDEqDQorWTI1NjY5NUQwMSoNCitYMTgxOTQxWTI1NjY5NEQwMSoNCitYMTgyMjIzWTI1NjcxN0QwMSoNCitYMTgyNDk5WTI1Njc4M0QwMSoNCitYMTgyNzYxWTI1Njg5MUQwMSoNCitYMTgzMDAyWTI1NzAzOUQwMSoNCitYMTgzMjE4WTI1NzIyM0QwMSoNCitYMTgzNDAyWTI1NzQzOUQwMSoNCitYMTgzNTUwWTI1NzY4MEQwMSoNCitYMTgzNjU4WTI1Nzk0MkQwMSoNCitYMTgzNzI0WTI1ODIxOEQwMSoNCitYMTgzNzQxWTI1ODUwMEQwMSoNCitYMTgzNzI0WTI1ODc4MkQwMSoNCitYMTgzNjU4WTI1OTA1OEQwMSoNCitYMTgzNTUwWTI1OTMyMEQwMSoNCitYMTgzNDAyWTI1OTU2MUQwMSoNCitYMTgzMjE4WTI1OTc3N0QwMSoNCitYMTgzMDAyWTI1OTk2MUQwMSoNCitYMTgyNzYxWTI2MDEwOUQwMSoNCitYMTgyNDk5WTI2MDIxN0QwMSoNCitYMTgyMjIzWTI2MDI4M0QwMSoNCitYMTgxOTQxWTI2MDMwNkQwMSoNCitYMTgxOTM4WTI2MDMwNUQwMSoNCitZMzYyOTEzRDAxKg0KK1gxODE5NTZZMzYyODcxRDAxKg0KK1gxODIzMDlZMzYyMjk0RDAxKg0KK1gxODI3NDlZMzYxNzc5RDAxKg0KK1gxODMyNjRZMzYxMzM5RDAxKg0KK1gxODM4NDFZMzYwOTg2RDAxKg0KK1gxODQ0NjZZMzYwNzI3RDAxKg0KK1gxODUxMjRZMzYwNTY5RDAxKg0KK1gxODU0MzhZMzYwNTQ0RDAxKg0KK1kyMjk4MDVEMDEqDQorWDE4NTE1OVkyMjk3ODNEMDEqDQorWDE4NDg4M1kyMjk3MTdEMDEqDQorWDE4NDYyMVkyMjk2MDlEMDEqDQorWDE4NDM4MFkyMjk0NjFEMDEqDQorWDE4NDE2NFkyMjkyNzdEMDEqDQorWDE4Mzk4MFkyMjkwNjFEMDEqDQorWDE4MzgzMlkyMjg4MjBEMDEqDQorWDE4MzcyNFkyMjg1NThEMDEqDQorWDE4MzY1OFkyMjgyODJEMDEqDQorWDE4MzYzNVkyMjgwMDBEMDEqDQorWDE4MzY1OFkyMjc3MThEMDEqDQorWDE4MzcyNFkyMjc0NDJEMDEqDQorWDE4MzgzMlkyMjcxODBEMDEqDQorWDE4Mzk4MFkyMjY5MzlEMDEqDQorWDE4NDE2NFkyMjY3MjNEMDEqDQorWDE4NDM4MFkyMjY1MzlEMDEqDQorWDE4NDYyMVkyMjYzOTFEMDEqDQorWDE4NDg4M1kyMjYyODNEMDEqDQorWDE4NTE1OVkyMjYyMTdEMDEqDQorWDE4NTQzOFkyMjYxOTVEMDEqDQorWTIxOTMwNUQwMSoNCitYMTg1MTU5WTIxOTI4M0QwMSoNCitYMTg0ODgzWTIxOTIxN0QwMSoNCitYMTg0NjIxWTIxOTEwOUQwMSoNCitYMTg0MzgwWTIxODk2MUQwMSoNCitYMTg0MTY0WTIxODc3N0QwMSoNCitYMTgzOTgwWTIxODU2MUQwMSoNCitYMTgzODMyWTIxODMyMEQwMSoNCitYMTgzNzI0WTIxODA1OEQwMSoNCitYMTgzNjU4WTIxNzc4MkQwMSoNCitYMTgzNjM1WTIxNzUwMEQwMSoNCitYMTgzNjU4WTIxNzIxOEQwMSoNCitYMTgzNzI0WTIxNjk0MkQwMSoNCitYMTgzODMyWTIxNjY4MEQwMSoNCitYMTgzOTgwWTIxNjQzOUQwMSoNCitYMTg0MTY0WTIxNjIyM0QwMSoNCitYMTg0MzgwWTIxNjAzOUQwMSoNCitYMTg0NjIxWTIxNTg5MUQwMSoNCitYMTg0ODgzWTIxNTc4M0QwMSoNCitYMTg1MTU5WTIxNTcxN0QwMSoNCitYMTg1NDM4WTIxNTY5NUQwMSoNCitZMTg5MTE0RDAxKg0KK0czNyoNCitHMzYqDQorWTE3OTExNEQwMipYMTg1MTI0WTE3OTA4OUQwMSoNCitYMTg0NDY2WTE3ODkzMUQwMSoNCitYMTgzODQxWTE3ODY3MkQwMSoNCitYMTgzMjY0WTE3ODMxOUQwMSoNCitYMTgyNzQ5WTE3Nzg3OUQwMSoNCitYMTgyMzA5WTE3NzM2NEQwMSoNCitYMTgxOTU2WTE3Njc4N0QwMSoNCitYMTgxOTM4WTE3Njc0NUQwMSoNCitZMTgyOTEzRDAxKg0KK1gxODE5NTZZMTgyODcxRDAxKg0KK1gxODIzMDlZMTgyMjk0RDAxKg0KK1gxODI3NDlZMTgxNzc5RDAxKg0KK1gxODMyNjRZMTgxMzM5RDAxKg0KK1gxODM4NDFZMTgwOTg2RDAxKg0KK1gxODQ0NjZZMTgwNzI3RDAxKg0KK1gxODUxMjRZMTgwNTY5RDAxKg0KK1gxODU0MzhZMTgwNTQ0RDAxKg0KK1kxNzkxMTREMDEqDQorRzM3Kg0KK0czNioNCitYMTgxOTM4WTE3Njc0NUQwMipYMTgxNjk3WTE3NjE2MkQwMSoNCitYMTgxNTM5WTE3NTUwNEQwMSoNCitYMTgxNDg2WTE3NDgyOUQwMSoNCitYMTgxNTM5WTE3NDE1NEQwMSoNCitYMTgxNjk3WTE3MzQ5NkQwMSoNCitYMTgxOTM4WTE3MjkxM0QwMSoNCitZMTcxNTAwRDAxKg0KK1gxNzg4ODREMDEqDQorWTE3MTgyMEQwMSoNCitYMTc5Mjg5WTE3MjI5NEQwMSoNCitYMTc5NjQyWTE3Mjg3MUQwMSoNCitYMTc5OTAxWTE3MzQ5NkQwMSoNCitYMTgwMDU5WTE3NDE1NEQwMSoNCitYMTgwMDk5WTE3NDgyOUQwMSoNCitYMTgwMDU5WTE3NTUwNEQwMSoNCitYMTc5OTAxWTE3NjE2MkQwMSoNCitYMTc5NjQyWTE3Njc4N0QwMSoNCitYMTc5Mjg5WTE3NzM2NEQwMSoNCitYMTc4ODg0WTE3NzgzOEQwMSoNCitZMTgxODIwRDAxKg0KK1gxNzkyODlZMTgyMjk0RDAxKg0KK1gxNzk2NDJZMTgyODcxRDAxKg0KK1gxNzk5MDFZMTgzNDk2RDAxKg0KK1gxODAwNTlZMTg0MTU0RDAxKg0KK1gxODAwOTlZMTg0ODI5RDAxKg0KK1gxODAwNTlZMTg1NTA0RDAxKg0KK1gxNzk5MDFZMTg2MTYyRDAxKg0KK1gxNzk2NDJZMTg2Nzg3RDAxKg0KK1gxNzkyODlZMTg3MzY0RDAxKg0KK1gxNzg4ODRZMTg3ODM4RDAxKg0KK1kyMTY0MThEMDEqDQorWDE3ODkwMlkyMTY0MzlEMDEqDQorWDE3OTA1MFkyMTY2ODBEMDEqDQorWDE3OTE1OFkyMTY5NDJEMDEqDQorWDE3OTIyNFkyMTcyMThEMDEqDQorWDE3OTI0MVkyMTc1MDBEMDEqDQorWDE3OTIyNFkyMTc3ODJEMDEqDQorWDE3OTE1OFkyMTgwNThEMDEqDQorWDE3OTA1MFkyMTgzMjBEMDEqDQorWDE3ODkwMlkyMTg1NjFEMDEqDQorWDE3ODg4NFkyMTg1ODJEMDEqDQorWTIyNjkxOEQwMSoNCitYMTc4OTAyWTIyNjkzOUQwMSoNCitYMTc5MDUwWTIyNzE4MEQwMSoNCitYMTc5MTU4WTIyNzQ0MkQwMSoNCitYMTc5MjI0WTIyNzcxOEQwMSoNCitYMTc5MjQxWTIyODAwMEQwMSoNCitYMTc5MjI0WTIyODI4MkQwMSoNCitYMTc5MTU4WTIyODU1OEQwMSoNCitYMTc5MDUwWTIyODgyMEQwMSoNCitYMTc4OTAyWTIyOTA2MUQwMSoNCitYMTc4ODg0WTIyOTA4MkQwMSoNCitZMzQxMDEzRDAxKg0KK1gxNzg4ODdZMzQxMDEyRDAxKg0KK1gxNzkxNjlZMzQxMDM1RDAxKg0KK1gxNzk0NDVZMzQxMTAxRDAxKg0KK1gxNzk3MDdZMzQxMjA5RDAxKg0KK1gxNzk5NDhZMzQxMzU3RDAxKg0KK1gxODAxNjRZMzQxNTQxRDAxKg0KK1gxODAzNDhZMzQxNzU3RDAxKg0KK1gxODA0OTZZMzQxOTk4RDAxKg0KK1gxODA2MDRZMzQyMjYwRDAxKg0KK1gxODA2NzBZMzQyNTM2RDAxKg0KK1gxODA2ODdZMzQyODE4RDAxKg0KK1gxODA2NzBZMzQzMTAwRDAxKg0KK1gxODA2MDRZMzQzMzc2RDAxKg0KK1gxODA0OTZZMzQzNjM4RDAxKg0KK1gxODAzNDhZMzQzODc5RDAxKg0KK1gxODAxNjRZMzQ0MDk1RDAxKg0KK1gxNzk5NDhZMzQ0Mjc5RDAxKg0KK1gxNzk3MDdZMzQ0NDI3RDAxKg0KK1gxNzk0NDVZMzQ0NTM1RDAxKg0KK1gxNzkxNjlZMzQ0NjAxRDAxKg0KK1gxNzg4ODdZMzQ0NjI0RDAxKg0KK1gxNzg4ODRZMzQ0NjIzRDAxKg0KK1kzNjE4MjBEMDEqDQorWDE3OTI4OVkzNjIyOTREMDEqDQorWDE3OTY0MlkzNjI4NzFEMDEqDQorWDE3OTkwMVkzNjM0OTZEMDEqDQorWDE4MDA1OVkzNjQxNTREMDEqDQorWDE4MDA5OVkzNjQ4MjlEMDEqDQorWDE4MDA1OVkzNjU1MDREMDEqDQorWDE3OTkwMVkzNjYxNjJEMDEqDQorWDE3OTY0MlkzNjY3ODdEMDEqDQorWDE3OTI4OVkzNjczNjREMDEqDQorWDE3ODg4NFkzNjc4MzhEMDEqDQorWTM3MTgyMEQwMSoNCitYMTc5Mjg5WTM3MjI5NEQwMSoNCitYMTc5NjQyWTM3Mjg3MUQwMSoNCitYMTc5OTAxWTM3MzQ5NkQwMSoNCitYMTgwMDU5WTM3NDE1NEQwMSoNCitYMTgwMDk5WTM3NDgyOUQwMSoNCitYMTgwMDU5WTM3NTUwNEQwMSoNCitYMTc5OTAxWTM3NjE2MkQwMSoNCitYMTc5NjQyWTM3Njc4N0QwMSoNCitYMTc5Mjg5WTM3NzM2NEQwMSoNCitYMTc4ODg0WTM3NzgzOEQwMSoNCitZMzk3MDAwRDAxKg0KK1gxODE5MzhEMDEqDQorWTM3Njc0NUQwMSoNCitYMTgxNjk3WTM3NjE2MkQwMSoNCitYMTgxNTM5WTM3NTUwNEQwMSoNCitYMTgxNDg2WTM3NDgyOUQwMSoNCitYMTgxNTM5WTM3NDE1NEQwMSoNCitYMTgxNjk3WTM3MzQ5NkQwMSoNCitYMTgxOTM4WTM3MjkxM0QwMSoNCitZMzY2NzQ1RDAxKg0KK1gxODE2OTdZMzY2MTYyRDAxKg0KK1gxODE1MzlZMzY1NTA0RDAxKg0KK1gxODE0ODZZMzY0ODI5RDAxKg0KK1gxODE1MzlZMzY0MTU0RDAxKg0KK1gxODE2OTdZMzYzNDk2RDAxKg0KK1gxODE5MzhZMzYyOTEzRDAxKg0KK1kyNjAzMDVEMDEqDQorWDE4MTY1OVkyNjAyODNEMDEqDQorWDE4MTM4M1kyNjAyMTdEMDEqDQorWDE4MTEyMVkyNjAxMDlEMDEqDQorWDE4MDg4MFkyNTk5NjFEMDEqDQorWDE4MDY2NFkyNTk3NzdEMDEqDQorWDE4MDQ4MFkyNTk1NjFEMDEqDQorWDE4MDMzMlkyNTkzMjBEMDEqDQorWDE4MDIyNFkyNTkwNThEMDEqDQorWDE4MDE1OFkyNTg3ODJEMDEqDQorWDE4MDEzNVkyNTg1MDBEMDEqDQorWDE4MDE1OFkyNTgyMThEMDEqDQorWDE4MDIyNFkyNTc5NDJEMDEqDQorWDE4MDMzMlkyNTc2ODBEMDEqDQorWDE4MDQ4MFkyNTc0MzlEMDEqDQorWDE4MDY2NFkyNTcyMjNEMDEqDQorWDE4MDg4MFkyNTcwMzlEMDEqDQorWDE4MTEyMVkyNTY4OTFEMDEqDQorWDE4MTM4M1kyNTY3ODNEMDEqDQorWDE4MTY1OVkyNTY3MTdEMDEqDQorWDE4MTkzOFkyNTY2OTVEMDEqDQorWTE4Njc0NUQwMSoNCitYMTgxNjk3WTE4NjE2MkQwMSoNCitYMTgxNTM5WTE4NTUwNEQwMSoNCitYMTgxNDg2WTE4NDgyOUQwMSoNCitYMTgxNTM5WTE4NDE1NEQwMSoNCitYMTgxNjk3WTE4MzQ5NkQwMSoNCitYMTgxOTM4WTE4MjkxM0QwMSoNCitZMTc2NzQ1RDAxKg0KK0czNyoNCitHMzYqDQorWDE3ODg4NFkxODc4MzhEMDIqWDE3ODg0OVkxODc4NzlEMDEqDQorWDE3ODMzNFkxODgzMTlEMDEqDQorWDE3Nzc1N1kxODg2NzJEMDEqDQorWDE3NzEzMlkxODg5MzFEMDEqDQorWDE3NjQ3NFkxODkwODlEMDEqDQorWDE3NTc5OVkxODkxNDJEMDEqDQorWDE3NTEyNFkxODkwODlEMDEqDQorWDE3NDk0MVkxODkwNDVEMDEqDQorWTIyMTUwMEQwMSoNCitYMTY5OTQxRDAxKg0KK1gxNzAzMDdZMzQ5OTU4RDAxKg0KK1gxNzAzNDFZMzUwMDEzRDAxKg0KK1gxNzA0NDlZMzUwMjc1RDAxKg0KK1gxNzA1MTVZMzUwNTUxRDAxKg0KK1gxNzA1MzJZMzUwODMzRDAxKg0KK1gxNzA1MTVZMzUxMTE1RDAxKg0KK1gxNzA0NDlZMzUxMzkxRDAxKg0KK1gxNzAzNDFZMzUxNjUzRDAxKg0KK1gxNzAzMTJZMzUxNzAwRDAxKg0KK1gxNzA0NDFZMzk3MDAwRDAxKg0KK1gxNzg4ODREMDEqDQorWTM3NzgzOEQwMSoNCitYMTc4ODQ5WTM3Nzg3OUQwMSoNCitYMTc4MzM0WTM3ODMxOUQwMSoNCitYMTc3NzU3WTM3ODY3MkQwMSoNCitYMTc3MTMyWTM3ODkzMUQwMSoNCitYMTc2NDc0WTM3OTA4OUQwMSoNCitYMTc1Nzk5WTM3OTE0MkQwMSoNCitYMTc1MTI0WTM3OTA4OUQwMSoNCitYMTc0NDY2WTM3ODkzMUQwMSoNCitYMTczODQxWTM3ODY3MkQwMSoNCitYMTczMjY0WTM3ODMxOUQwMSoNCitYMTcyNzQ5WTM3Nzg3OUQwMSoNCitYMTcyMzA5WTM3NzM2NEQwMSoNCitYMTcxOTU2WTM3Njc4N0QwMSoNCitYMTcxNjk3WTM3NjE2MkQwMSoNCitYMTcxNTM5WTM3NTUwNEQwMSoNCitYMTcxNDg2WTM3NDgyOUQwMSoNCitYMTcxNTM5WTM3NDE1NEQwMSoNCitYMTcxNjk3WTM3MzQ5NkQwMSoNCitYMTcxOTU2WTM3Mjg3MUQwMSoNCitYMTcyMzA5WTM3MjI5NEQwMSoNCitYMTcyNzQ5WTM3MTc3OUQwMSoNCitYMTczMjY0WTM3MTMzOUQwMSoNCitYMTczODQxWTM3MDk4NkQwMSoNCitYMTc0NDY2WTM3MDcyN0QwMSoNCitYMTc1MTI0WTM3MDU2OUQwMSoNCitYMTc1Nzk5WTM3MDUxNkQwMSoNCitYMTc2NDc0WTM3MDU2OUQwMSoNCitYMTc3MTMyWTM3MDcyN0QwMSoNCitYMTc3NzU3WTM3MDk4NkQwMSoNCitYMTc4MzM0WTM3MTMzOUQwMSoNCitYMTc4ODQ5WTM3MTc3OUQwMSoNCitYMTc4ODg0WTM3MTgyMEQwMSoNCitZMzY3ODM4RDAxKg0KK1gxNzg4NDlZMzY3ODc5RDAxKg0KK1gxNzgzMzRZMzY4MzE5RDAxKg0KK1gxNzc3NTdZMzY4NjcyRDAxKg0KK1gxNzcxMzJZMzY4OTMxRDAxKg0KK1gxNzY0NzRZMzY5MDg5RDAxKg0KK1gxNzU3OTlZMzY5MTQyRDAxKg0KK1gxNzUxMjRZMzY5MDg5RDAxKg0KK1gxNzQ0NjZZMzY4OTMxRDAxKg0KK1gxNzM4NDFZMzY4NjcyRDAxKg0KK1gxNzMyNjRZMzY4MzE5RDAxKg0KK1gxNzI3NDlZMzY3ODc5RDAxKg0KK1gxNzIzMDlZMzY3MzY0RDAxKg0KK1gxNzE5NTZZMzY2Nzg3RDAxKg0KK1gxNzE2OTdZMzY2MTYyRDAxKg0KK1gxNzE1MzlZMzY1NTA0RDAxKg0KK1gxNzE0ODZZMzY0ODI5RDAxKg0KK1gxNzE1MzlZMzY0MTU0RDAxKg0KK1gxNzE2OTdZMzYzNDk2RDAxKg0KK1gxNzE5NTZZMzYyODcxRDAxKg0KK1gxNzIzMDlZMzYyMjk0RDAxKg0KK1gxNzI3NDlZMzYxNzc5RDAxKg0KK1gxNzMyNjRZMzYxMzM5RDAxKg0KK1gxNzM4NDFZMzYwOTg2RDAxKg0KK1gxNzQ0NjZZMzYwNzI3RDAxKg0KK1gxNzUxMjRZMzYwNTY5RDAxKg0KK1gxNzU3OTlZMzYwNTE2RDAxKg0KK1gxNzY0NzRZMzYwNTY5RDAxKg0KK1gxNzcxMzJZMzYwNzI3RDAxKg0KK1gxNzc3NTdZMzYwOTg2RDAxKg0KK1gxNzgzMzRZMzYxMzM5RDAxKg0KK1gxNzg4NDlZMzYxNzc5RDAxKg0KK1gxNzg4ODRZMzYxODIwRDAxKg0KK1kzNDQ2MjNEMDEqDQorWDE3ODYwNVkzNDQ2MDFEMDEqDQorWDE3ODMyOVkzNDQ1MzVEMDEqDQorWDE3ODA2N1kzNDQ0MjdEMDEqDQorWDE3NzgyNlkzNDQyNzlEMDEqDQorWDE3NzYxMFkzNDQwOTVEMDEqDQorWDE3NzQyNlkzNDM4NzlEMDEqDQorWDE3NzI3OFkzNDM2MzhEMDEqDQorWDE3NzE3MFkzNDMzNzZEMDEqDQorWDE3NzEwNFkzNDMxMDBEMDEqDQorWDE3NzA4MVkzNDI4MThEMDEqDQorWDE3NzEwNFkzNDI1MzZEMDEqDQorWDE3NzE3MFkzNDIyNjBEMDEqDQorWDE3NzI3OFkzNDE5OThEMDEqDQorWDE3NzQyNlkzNDE3NTdEMDEqDQorWDE3NzYxMFkzNDE1NDFEMDEqDQorWDE3NzgyNlkzNDEzNTdEMDEqDQorWDE3ODA2N1kzNDEyMDlEMDEqDQorWDE3ODMyOVkzNDExMDFEMDEqDQorWDE3ODYwNVkzNDEwMzVEMDEqDQorWDE3ODg4NFkzNDEwMTNEMDEqDQorWTIyOTA4MkQwMSoNCitYMTc4NzE4WTIyOTI3N0QwMSoNCitYMTc4NTAyWTIyOTQ2MUQwMSoNCitYMTc4MjYxWTIyOTYwOUQwMSoNCitYMTc3OTk5WTIyOTcxN0QwMSoNCitYMTc3NzIzWTIyOTc4M0QwMSoNCitYMTc3NDQxWTIyOTgwNkQwMSoNCitYMTc3MTU5WTIyOTc4M0QwMSoNCitYMTc2ODgzWTIyOTcxN0QwMSoNCitYMTc2NjIxWTIyOTYwOUQwMSoNCitYMTc2MzgwWTIyOTQ2MUQwMSoNCitYMTc2MTY0WTIyOTI3N0QwMSoNCitYMTc1OTgwWTIyOTA2MUQwMSoNCitYMTc1ODMyWTIyODgyMEQwMSoNCitYMTc1NzI0WTIyODU1OEQwMSoNCitYMTc1NjU4WTIyODI4MkQwMSoNCitYMTc1NjM1WTIyODAwMEQwMSoNCitYMTc1NjU4WTIyNzcxOEQwMSoNCitYMTc1NzI0WTIyNzQ0MkQwMSoNCitYMTc1ODMyWTIyNzE4MEQwMSoNCitYMTc1OTgwWTIyNjkzOUQwMSoNCitYMTc2MTY0WTIyNjcyM0QwMSoNCitYMTc2MzgwWTIyNjUzOUQwMSoNCitYMTc2NjIxWTIyNjM5MUQwMSoNCitYMTc2ODgzWTIyNjI4M0QwMSoNCitYMTc3MTU5WTIyNjIxN0QwMSoNCitYMTc3NDQxWTIyNjE5NEQwMSoNCitYMTc3NzIzWTIyNjIxN0QwMSoNCitYMTc3OTk5WTIyNjI4M0QwMSoNCitYMTc4MjYxWTIyNjM5MUQwMSoNCitYMTc4NTAyWTIyNjUzOUQwMSoNCitYMTc4NzE4WTIyNjcyM0QwMSoNCitYMTc4ODg0WTIyNjkxOEQwMSoNCitZMjE4NTgyRDAxKg0KK1gxNzg3MThZMjE4Nzc3RDAxKg0KK1gxNzg1MDJZMjE4OTYxRDAxKg0KK1gxNzgyNjFZMjE5MTA5RDAxKg0KK1gxNzc5OTlZMjE5MjE3RDAxKg0KK1gxNzc3MjNZMjE5MjgzRDAxKg0KK1gxNzc0NDFZMjE5MzA2RDAxKg0KK1gxNzcxNTlZMjE5MjgzRDAxKg0KK1gxNzY4ODNZMjE5MjE3RDAxKg0KK1gxNzY2MjFZMjE5MTA5RDAxKg0KK1gxNzYzODBZMjE4OTYxRDAxKg0KK1gxNzYxNjRZMjE4Nzc3RDAxKg0KK1gxNzU5ODBZMjE4NTYxRDAxKg0KK1gxNzU4MzJZMjE4MzIwRDAxKg0KK1gxNzU3MjRZMjE4MDU4RDAxKg0KK1gxNzU2NThZMjE3NzgyRDAxKg0KK1gxNzU2MzVZMjE3NTAwRDAxKg0KK1gxNzU2NThZMjE3MjE4RDAxKg0KK1gxNzU3MjRZMjE2OTQyRDAxKg0KK1gxNzU4MzJZMjE2NjgwRDAxKg0KK1gxNzU5ODBZMjE2NDM5RDAxKg0KK1gxNzYxNjRZMjE2MjIzRDAxKg0KK1gxNzYzODBZMjE2MDM5RDAxKg0KK1gxNzY2MjFZMjE1ODkxRDAxKg0KK1gxNzY4ODNZMjE1NzgzRDAxKg0KK1gxNzcxNTlZMjE1NzE3RDAxKg0KK1gxNzc0NDFZMjE1Njk0RDAxKg0KK1gxNzc3MjNZMjE1NzE3RDAxKg0KK1gxNzc5OTlZMjE1NzgzRDAxKg0KK1gxNzgyNjFZMjE1ODkxRDAxKg0KK1gxNzg1MDJZMjE2MDM5RDAxKg0KK1gxNzg3MThZMjE2MjIzRDAxKg0KK1gxNzg4ODRZMjE2NDE4RDAxKg0KK1kxODc4MzhEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3ODM4RDAyKlgxNzg4NDlZMTc3ODc5RDAxKg0KK1gxNzgzMzRZMTc4MzE5RDAxKg0KK1gxNzc3NTdZMTc4NjcyRDAxKg0KK1gxNzcxMzJZMTc4OTMxRDAxKg0KK1gxNzY0NzRZMTc5MDg5RDAxKg0KK1gxNzU3OTlZMTc5MTQyRDAxKg0KK1gxNzUxMjRZMTc5MDg5RDAxKg0KK1gxNzQ5NDFZMTc5MDQ1RDAxKg0KK1kxODA2MTNEMDEqDQorWDE3NTEyNFkxODA1NjlEMDEqDQorWDE3NTc5OVkxODA1MTZEMDEqDQorWDE3NjQ3NFkxODA1NjlEMDEqDQorWDE3NzEzMlkxODA3MjdEMDEqDQorWDE3Nzc1N1kxODA5ODZEMDEqDQorWDE3ODMzNFkxODEzMzlEMDEqDQorWDE3ODg0OVkxODE3NzlEMDEqDQorWDE3ODg4NFkxODE4MjBEMDEqDQorWTE3NzgzOEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzE1MDBEMDIqWDE3ODUyMkQwMSoNCitYMTc4ODQ5WTE3MTc3OUQwMSoNCitYMTc4ODg0WTE3MTgyMEQwMSoNCitZMTcxNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyOTgxNUQwMipYMjI4NTIyRDAxKg0KK1gyMjg4NDlZMTcxNzc5RDAxKg0KK1gyMjkyODlZMTcyMjk0RDAxKg0KK1gyMjk2NDJZMTcyODcxRDAxKg0KK1gyMjk4MTVZMTczMjg5RDAxKg0KK1kxNzE1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUwOTQxWTEwMDAwMEQwMipZMTA1MDAwRDAxKg0KK1gyNTY0NDFEMDEqDQorWTEwMDAwMEQwMSoNCitYMjUwOTQxRDAxKg0KK0czNyoNCitHMzYqDQorWDQzNzQxMlk1Mzg3NUQwMipZNTg4NzVEMDEqDQorWDQ0MjkxMkQwMSoNCitZNTM4NzVEMDEqDQorWDQzNzQxMkQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDk0MzhZMTY3NTAwRDAyKlgzMjA5NDFEMDEqDQorWTc2NTAwRDAxKg0KK1gzMDk0MzhEMDEqDQorWTExNDk0N0QwMSoNCitYMzA5NDgwWTExNDg3OUQwMSoNCitYMzA5NjY0WTExNDY2M0QwMSoNCitYMzA5ODgwWTExNDQ3OUQwMSoNCitYMzEwMTIxWTExNDMzMUQwMSoNCitYMzEwMzgzWTExNDIyM0QwMSoNCitYMzEwNjU5WTExNDE1N0QwMSoNCitYMzEwOTQxWTExNDEzNEQwMSoNCitYMzExMjIzWTExNDE1N0QwMSoNCitYMzExNDk5WTExNDIyM0QwMSoNCitYMzExNzYxWTExNDMzMUQwMSoNCitYMzEyMDAyWTExNDQ3OUQwMSoNCitYMzEyMjE4WTExNDY2M0QwMSoNCitYMzEyNDAyWTExNDg3OUQwMSoNCitYMzEyNTUwWTExNTEyMEQwMSoNCitYMzEyNjU4WTExNTM4MkQwMSoNCitYMzEyNzI0WTExNTY1OEQwMSoNCitYMzEyNzQxWTExNTk0MEQwMSoNCitYMzEyNzI0WTExNjIyMkQwMSoNCitYMzEyNjU4WTExNjQ5OEQwMSoNCitYMzEyNTUwWTExNjc2MEQwMSoNCitYMzEyNDAyWTExNzAwMUQwMSoNCitYMzEyMjE4WTExNzIxN0QwMSoNCitYMzEyMDAyWTExNzQwMUQwMSoNCitYMzExNzYxWTExNzU0OUQwMSoNCitYMzExNDk5WTExNzY1N0QwMSoNCitYMzExMjIzWTExNzcyM0QwMSoNCitYMzEwOTQxWTExNzc0NkQwMSoNCitYMzEwNjU5WTExNzcyM0QwMSoNCitYMzEwMzgzWTExNzY1N0QwMSoNCitYMzEwMTIxWTExNzU0OUQwMSoNCitYMzA5ODgwWTExNzQwMUQwMSoNCitYMzA5NjY0WTExNzIxN0QwMSoNCitYMzA5NDgwWTExNzAwMUQwMSoNCitYMzA5NDM4WTExNjkzM0QwMSoNCitZMTM0NjQ1RDAxKg0KK1gzMDk0NDFZMTM0NjQ0RDAxKg0KK1gzMDk3MjNZMTM0NjY3RDAxKg0KK1gzMDk5OTlZMTM0NzMzRDAxKg0KK1gzMTAyNjFZMTM0ODQxRDAxKg0KK1gzMTA1MDJZMTM0OTg5RDAxKg0KK1gzMTA3MThZMTM1MTczRDAxKg0KK1gzMTA5MDJZMTM1Mzg5RDAxKg0KK1gzMTEwNTBZMTM1NjMwRDAxKg0KK1gzMTExNThZMTM1ODkyRDAxKg0KK1gzMTEyMjRZMTM2MTY4RDAxKg0KK1gzMTEyNDFZMTM2NDUwRDAxKg0KK1gzMTEyMjRZMTM2NzMyRDAxKg0KK1gzMTExNThZMTM3MDA4RDAxKg0KK1gzMTEwNTBZMTM3MjcwRDAxKg0KK1gzMTA5MDJZMTM3NTExRDAxKg0KK1gzMTA3MThZMTM3NzI3RDAxKg0KK1gzMTA1MDJZMTM3OTExRDAxKg0KK1gzMTAyNjFZMTM4MDU5RDAxKg0KK1gzMDk5OTlZMTM4MTY3RDAxKg0KK1gzMDk3MjNZMTM4MjMzRDAxKg0KK1gzMDk0NDFZMTM4MjU2RDAxKg0KK1gzMDk0MzhZMTM4MjU1RDAxKg0KK1kxMzk3NjNEMDEqDQorWDMwOTQ0MVkxMzk3NjJEMDEqDQorWDMwOTcyM1kxMzk3ODVEMDEqDQorWDMwOTk5OVkxMzk4NTFEMDEqDQorWDMxMDI2MVkxMzk5NTlEMDEqDQorWDMxMDUwMlkxNDAxMDdEMDEqDQorWDMxMDcxOFkxNDAyOTFEMDEqDQorWDMxMDkwMlkxNDA1MDdEMDEqDQorWDMxMTA1MFkxNDA3NDhEMDEqDQorWDMxMTE1OFkxNDEwMTBEMDEqDQorWDMxMTIyNFkxNDEyODZEMDEqDQorWDMxMTI0MVkxNDE1NjhEMDEqDQorWDMxMTIyNFkxNDE4NTBEMDEqDQorWDMxMTE1OFkxNDIxMjZEMDEqDQorWDMxMTA1MFkxNDIzODhEMDEqDQorWDMxMDkwMlkxNDI2MjlEMDEqDQorWDMxMDcxOFkxNDI4NDVEMDEqDQorWDMxMDUwMlkxNDMwMjlEMDEqDQorWDMxMDI2MVkxNDMxNzdEMDEqDQorWDMwOTk5OVkxNDMyODVEMDEqDQorWDMwOTcyM1kxNDMzNTFEMDEqDQorWDMwOTQ0MVkxNDMzNzREMDEqDQorWDMwOTQzOFkxNDMzNzNEMDEqDQorWTE2NzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDU2OTNEMDIqWDMwOTQzOEQwMSoNCitZMTQzMzczRDAxKg0KK1gzMDkxNTlZMTQzMzUxRDAxKg0KK1gzMDg4ODNZMTQzMjg1RDAxKg0KK1gzMDg2MjFZMTQzMTc3RDAxKg0KK1gzMDgzODBZMTQzMDI5RDAxKg0KK1gzMDgxNjRZMTQyODQ1RDAxKg0KK1gzMDc5ODBZMTQyNjI5RDAxKg0KK1gzMDc4MzJZMTQyMzg4RDAxKg0KK1gzMDc3MjRZMTQyMTI2RDAxKg0KK1gzMDc2NThZMTQxODUwRDAxKg0KK1gzMDc2MzVZMTQxNTY4RDAxKg0KK1gzMDc2NThZMTQxMjg2RDAxKg0KK1gzMDc3MjRZMTQxMDEwRDAxKg0KK1gzMDc4MzJZMTQwNzQ4RDAxKg0KK1gzMDc5ODBZMTQwNTA3RDAxKg0KK1gzMDgxNjRZMTQwMjkxRDAxKg0KK1gzMDgzODBZMTQwMTA3RDAxKg0KK1gzMDg2MjFZMTM5OTU5RDAxKg0KK1gzMDg4ODNZMTM5ODUxRDAxKg0KK1gzMDkxNTlZMTM5Nzg1RDAxKg0KK1gzMDk0MzhZMTM5NzYzRDAxKg0KK1kxMzgyNTVEMDEqDQorWDMwOTE1OVkxMzgyMzNEMDEqDQorWDMwODg4M1kxMzgxNjdEMDEqDQorWDMwODYyMVkxMzgwNTlEMDEqDQorWDMwODM4MFkxMzc5MTFEMDEqDQorWDMwODE2NFkxMzc3MjdEMDEqDQorWDMwNzk4MFkxMzc1MTFEMDEqDQorWDMwNzgzMlkxMzcyNzBEMDEqDQorWDMwNzcyNFkxMzcwMDhEMDEqDQorWDMwNzY1OFkxMzY3MzJEMDEqDQorWDMwNzYzNVkxMzY0NTBEMDEqDQorWDMwNzY1OFkxMzYxNjhEMDEqDQorWDMwNzcyNFkxMzU4OTJEMDEqDQorWDMwNzgzMlkxMzU2MzBEMDEqDQorWDMwNzk4MFkxMzUzODlEMDEqDQorWDMwODE2NFkxMzUxNzNEMDEqDQorWDMwODM4MFkxMzQ5ODlEMDEqDQorWDMwODYyMVkxMzQ4NDFEMDEqDQorWDMwODg4M1kxMzQ3MzNEMDEqDQorWDMwOTE1OVkxMzQ2NjdEMDEqDQorWDMwOTQzOFkxMzQ2NDVEMDEqDQorWTExNjkzM0QwMSoNCitYMzA5MzMyWTExNjc2MEQwMSoNCitYMzA5MjI0WTExNjQ5OEQwMSoNCitYMzA5MTU4WTExNjIyMkQwMSoNCitYMzA5MTM1WTExNTk0MEQwMSoNCitYMzA5MTU4WTExNTY1OEQwMSoNCitYMzA5MjI0WTExNTM4MkQwMSoNCitYMzA5MzMyWTExNTEyMEQwMSoNCitYMzA5NDM4WTExNDk0N0QwMSoNCitZNzY1MDBEMDEqDQorWDMwNTY5M0QwMSoNCitZMTA1Njk1RDAxKg0KK1gzMDU2OTZZMTA1Njk0RDAxKg0KK1gzMDU5NzhZMTA1NzE3RDAxKg0KK1gzMDYyNTRZMTA1NzgzRDAxKg0KK1gzMDY1MTZZMTA1ODkxRDAxKg0KK1gzMDY3NTdZMTA2MDM5RDAxKg0KK1gzMDY5NzNZMTA2MjIzRDAxKg0KK1gzMDcxNTdZMTA2NDM5RDAxKg0KK1gzMDczMDVZMTA2NjgwRDAxKg0KK1gzMDc0MTNZMTA2OTQyRDAxKg0KK1gzMDc0NzlZMTA3MjE4RDAxKg0KK1gzMDc0OTZZMTA3NTAwRDAxKg0KK1gzMDc0NzlZMTA3NzgyRDAxKg0KK1gzMDc0MTNZMTA4MDU4RDAxKg0KK1gzMDczMDVZMTA4MzIwRDAxKg0KK1gzMDcxNTdZMTA4NTYxRDAxKg0KK1gzMDY5NzNZMTA4Nzc3RDAxKg0KK1gzMDY3NTdZMTA4OTYxRDAxKg0KK1gzMDY1MTZZMTA5MTA5RDAxKg0KK1gzMDYyNTRZMTA5MjE3RDAxKg0KK1gzMDU5NzhZMTA5MjgzRDAxKg0KK1gzMDU2OTZZMTA5MzA2RDAxKg0KK1gzMDU2OTNZMTA5MzA1RDAxKg0KK1kxNjc1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjUzNDM4RDAyKlgzMDU2OTNEMDEqDQorWTEwOTMwNUQwMSoNCitYMzA1NDE0WTEwOTI4M0QwMSoNCitYMzA1MTM4WTEwOTIxN0QwMSoNCitYMzA0ODc2WTEwOTEwOUQwMSoNCitYMzA0NjM1WTEwODk2MUQwMSoNCitYMzA0NDE5WTEwODc3N0QwMSoNCitYMzA0MjM1WTEwODU2MUQwMSoNCitYMzA0MDg3WTEwODMyMEQwMSoNCitYMzAzOTc5WTEwODA1OEQwMSoNCitYMzAzOTEzWTEwNzc4MkQwMSoNCitYMzAzODkwWTEwNzUwMEQwMSoNCitYMzAzOTEzWTEwNzIxOEQwMSoNCitYMzAzOTc5WTEwNjk0MkQwMSoNCitYMzA0MDg3WTEwNjY4MEQwMSoNCitYMzA0MjM1WTEwNjQzOUQwMSoNCitYMzA0NDE5WTEwNjIyM0QwMSoNCitYMzA0NjM1WTEwNjAzOUQwMSoNCitYMzA0ODc2WTEwNTg5MUQwMSoNCitYMzA1MTM4WTEwNTc4M0QwMSoNCitYMzA1NDE0WTEwNTcxN0QwMSoNCitYMzA1NjkzWTEwNTY5NUQwMSoNCitZNzY1MDBEMDEqDQorWDI1MzQzOEQwMSoNCitZMTAwNjk1RDAxKg0KK1gyNTM0NDFZMTAwNjk0RDAxKg0KK1gyNTM3MjNZMTAwNzE3RDAxKg0KK1gyNTM5OTlZMTAwNzgzRDAxKg0KK1gyNTQyNjFZMTAwODkxRDAxKg0KK1gyNTQ1MDJZMTAxMDM5RDAxKg0KK1gyNTQ3MThZMTAxMjIzRDAxKg0KK1gyNTQ5MDJZMTAxNDM5RDAxKg0KK1gyNTUwNTBZMTAxNjgwRDAxKg0KK1gyNTUxNThZMTAxOTQyRDAxKg0KK1gyNTUyMjRZMTAyMjE4RDAxKg0KK1gyNTUyNDFZMTAyNTAwRDAxKg0KK1gyNTUyMjRZMTAyNzgyRDAxKg0KK1gyNTUxNThZMTAzMDU4RDAxKg0KK1gyNTUwNTBZMTAzMzIwRDAxKg0KK1gyNTQ5MDJZMTAzNTYxRDAxKg0KK1gyNTQ3MThZMTAzNzc3RDAxKg0KK1gyNTQ1MDJZMTAzOTYxRDAxKg0KK1gyNTQyNjFZMTA0MTA5RDAxKg0KK1gyNTM5OTlZMTA0MjE3RDAxKg0KK1gyNTM3MjNZMTA0MjgzRDAxKg0KK1gyNTM0NDFZMTA0MzA2RDAxKg0KK1gyNTM0MzhZMTA0MzA1RDAxKg0KK1kxNjc1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjQ1NDM4RDAyKlgyNTM0MzhEMDEqDQorWTEwNDMwNUQwMSoNCitYMjUzMTU5WTEwNDI4M0QwMSoNCitYMjUyODgzWTEwNDIxN0QwMSoNCitYMjUyNjIxWTEwNDEwOUQwMSoNCitYMjUyMzgwWTEwMzk2MUQwMSoNCitYMjUyMTY0WTEwMzc3N0QwMSoNCitYMjUxOTgwWTEwMzU2MUQwMSoNCitYMjUxODMyWTEwMzMyMEQwMSoNCitYMjUxNzI0WTEwMzA1OEQwMSoNCitYMjUxNjU4WTEwMjc4MkQwMSoNCitYMjUxNjM1WTEwMjUwMEQwMSoNCitYMjUxNjU4WTEwMjIxOEQwMSoNCitYMjUxNzI0WTEwMTk0MkQwMSoNCitYMjUxODMyWTEwMTY4MEQwMSoNCitYMjUxOTgwWTEwMTQzOUQwMSoNCitYMjUyMTY0WTEwMTIyM0QwMSoNCitYMjUyMzgwWTEwMTAzOUQwMSoNCitYMjUyNjIxWTEwMDg5MUQwMSoNCitYMjUyODgzWTEwMDc4M0QwMSoNCitYMjUzMTU5WTEwMDcxN0QwMSoNCitYMjUzNDM4WTEwMDY5NUQwMSoNCitZNzY1MDBEMDEqDQorWDI0NTQzOEQwMSoNCitZMTI1Njk1RDAxKg0KK1gyNDU0NDFZMTI1Njk0RDAxKg0KK1gyNDU3MjNZMTI1NzE3RDAxKg0KK1gyNDU5OTlZMTI1NzgzRDAxKg0KK1gyNDYyNjFZMTI1ODkxRDAxKg0KK1gyNDY1MDJZMTI2MDM5RDAxKg0KK1gyNDY3MThZMTI2MjIzRDAxKg0KK1gyNDY5MDJZMTI2NDM5RDAxKg0KK1gyNDcwNTBZMTI2NjgwRDAxKg0KK1gyNDcxNThZMTI2OTQyRDAxKg0KK1gyNDcyMjRZMTI3MjE4RDAxKg0KK1gyNDcyNDFZMTI3NTAwRDAxKg0KK1gyNDcyMjRZMTI3NzgyRDAxKg0KK1gyNDcxNThZMTI4MDU4RDAxKg0KK1gyNDcwNTBZMTI4MzIwRDAxKg0KK1gyNDY5MDJZMTI4NTYxRDAxKg0KK1gyNDY3MThZMTI4Nzc3RDAxKg0KK1gyNDY1MDJZMTI4OTYxRDAxKg0KK1gyNDYyNjFZMTI5MTA5RDAxKg0KK1gyNDU5OTlZMTI5MjE3RDAxKg0KK1gyNDU3MjNZMTI5MjgzRDAxKg0KK1gyNDU0NDFZMTI5MzA2RDAxKg0KK1gyNDU0MzhZMTI5MzA1RDAxKg0KK1kxNjc1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjM1OTM4RDAyKlgyNDU0MzhEMDEqDQorWTEyOTMwNUQwMSoNCitYMjQ1MTU5WTEyOTI4M0QwMSoNCitYMjQ0ODgzWTEyOTIxN0QwMSoNCitYMjQ0NjIxWTEyOTEwOUQwMSoNCitYMjQ0MzgwWTEyODk2MUQwMSoNCitYMjQ0MTY0WTEyODc3N0QwMSoNCitYMjQzOTgwWTEyODU2MUQwMSoNCitYMjQzODMyWTEyODMyMEQwMSoNCitYMjQzNzI0WTEyODA1OEQwMSoNCitYMjQzNjU4WTEyNzc4MkQwMSoNCitYMjQzNjM1WTEyNzUwMEQwMSoNCitYMjQzNjU4WTEyNzIxOEQwMSoNCitYMjQzNzI0WTEyNjk0MkQwMSoNCitYMjQzODMyWTEyNjY4MEQwMSoNCitYMjQzOTgwWTEyNjQzOUQwMSoNCitYMjQ0MTY0WTEyNjIyM0QwMSoNCitYMjQ0MzgwWTEyNjAzOUQwMSoNCitYMjQ0NjIxWTEyNTg5MUQwMSoNCitYMjQ0ODgzWTEyNTc4M0QwMSoNCitYMjQ1MTU5WTEyNTcxN0QwMSoNCitYMjQ1NDM4WTEyNTY5NUQwMSoNCitZNzY1MDBEMDEqDQorWDIzNTkzOEQwMSoNCitZMTIxNDk4RDAxKg0KK1gyMzYwNTBZMTIxNjgwRDAxKg0KK1gyMzYxNThZMTIxOTQyRDAxKg0KK1gyMzYyMjRZMTIyMjE4RDAxKg0KK1gyMzYyNDFZMTIyNTAwRDAxKg0KK1gyMzYyMjRZMTIyNzgyRDAxKg0KK1gyMzYxNThZMTIzMDU4RDAxKg0KK1gyMzYwNTBZMTIzMzIwRDAxKg0KK1gyMzU5MzhZMTIzNTAyRDAxKg0KK1kxMzExOTVEMDEqDQorWDIzNTk0MVkxMzExOTREMDEqDQorWDIzNjIyM1kxMzEyMTdEMDEqDQorWDIzNjQ5OVkxMzEyODNEMDEqDQorWDIzNjc2MVkxMzEzOTFEMDEqDQorWDIzNzAwMlkxMzE1MzlEMDEqDQorWDIzNzIxOFkxMzE3MjNEMDEqDQorWDIzNzQwMlkxMzE5MzlEMDEqDQorWDIzNzU1MFkxMzIxODBEMDEqDQorWDIzNzY1OFkxMzI0NDJEMDEqDQorWDIzNzcyNFkxMzI3MThEMDEqDQorWDIzNzc0MVkxMzMwMDBEMDEqDQorWDIzNzcyNFkxMzMyODJEMDEqDQorWDIzNzY1OFkxMzM1NThEMDEqDQorWDIzNzU1MFkxMzM4MjBEMDEqDQorWDIzNzQwMlkxMzQwNjFEMDEqDQorWDIzNzIxOFkxMzQyNzdEMDEqDQorWDIzNzAwMlkxMzQ0NjFEMDEqDQorWDIzNjc2MVkxMzQ2MDlEMDEqDQorWDIzNjQ5OVkxMzQ3MTdEMDEqDQorWDIzNjIyM1kxMzQ3ODNEMDEqDQorWDIzNTk0MVkxMzQ4MDZEMDEqDQorWDIzNTkzOFkxMzQ4MDVEMDEqDQorWTE2NzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzE0MzhEMDIqWDIzNTkzOEQwMSoNCitZMTM0ODA1RDAxKg0KK1gyMzU2NTlZMTM0NzgzRDAxKg0KK1gyMzUzODNZMTM0NzE3RDAxKg0KK1gyMzUxMjFZMTM0NjA5RDAxKg0KK1gyMzQ4ODBZMTM0NDYxRDAxKg0KK1gyMzQ2NjRZMTM0Mjc3RDAxKg0KK1gyMzQ0ODBZMTM0MDYxRDAxKg0KK1gyMzQzMzJZMTMzODIwRDAxKg0KK1gyMzQyMjRZMTMzNTU4RDAxKg0KK1gyMzQxNThZMTMzMjgyRDAxKg0KK1gyMzQxMzVZMTMzMDAwRDAxKg0KK1gyMzQxNThZMTMyNzE4RDAxKg0KK1gyMzQyMjRZMTMyNDQyRDAxKg0KK1gyMzQzMzJZMTMyMTgwRDAxKg0KK1gyMzQ0ODBZMTMxOTM5RDAxKg0KK1gyMzQ2NjRZMTMxNzIzRDAxKg0KK1gyMzQ4ODBZMTMxNTM5RDAxKg0KK1gyMzUxMjFZMTMxMzkxRDAxKg0KK1gyMzUzODNZMTMxMjgzRDAxKg0KK1gyMzU2NTlZMTMxMjE3RDAxKg0KK1gyMzU5MzhZMTMxMTk1RDAxKg0KK1kxMjM1MDJEMDEqDQorWDIzNTkwMlkxMjM1NjFEMDEqDQorWDIzNTcxOFkxMjM3NzdEMDEqDQorWDIzNTUwMlkxMjM5NjFEMDEqDQorWDIzNTI2MVkxMjQxMDlEMDEqDQorWDIzNDk5OVkxMjQyMTdEMDEqDQorWDIzNDcyM1kxMjQyODNEMDEqDQorWDIzNDQ0MVkxMjQzMDZEMDEqDQorWDIzNDE1OVkxMjQyODNEMDEqDQorWDIzMzg4M1kxMjQyMTdEMDEqDQorWDIzMzYyMVkxMjQxMDlEMDEqDQorWDIzMzM4MFkxMjM5NjFEMDEqDQorWDIzMzE2NFkxMjM3NzdEMDEqDQorWDIzMjk4MFkxMjM1NjFEMDEqDQorWDIzMjgzMlkxMjMzMjBEMDEqDQorWDIzMjcyNFkxMjMwNThEMDEqDQorWDIzMjY1OFkxMjI3ODJEMDEqDQorWDIzMjYzNVkxMjI1MDBEMDEqDQorWDIzMjY1OFkxMjIyMThEMDEqDQorWDIzMjcyNFkxMjE5NDJEMDEqDQorWDIzMjgzMlkxMjE2ODBEMDEqDQorWDIzMjk4MFkxMjE0MzlEMDEqDQorWDIzMzE2NFkxMjEyMjNEMDEqDQorWDIzMzM4MFkxMjEwMzlEMDEqDQorWDIzMzYyMVkxMjA4OTFEMDEqDQorWDIzMzg4M1kxMjA3ODNEMDEqDQorWDIzNDE1OVkxMjA3MTdEMDEqDQorWDIzNDQ0MVkxMjA2OTREMDEqDQorWDIzNDcyM1kxMjA3MTdEMDEqDQorWDIzNDk5OVkxMjA3ODNEMDEqDQorWDIzNTI2MVkxMjA4OTFEMDEqDQorWDIzNTUwMlkxMjEwMzlEMDEqDQorWDIzNTcxOFkxMjEyMjNEMDEqDQorWDIzNTkwMlkxMjE0MzlEMDEqDQorWDIzNTkzOFkxMjE0OThEMDEqDQorWTc2NTAwRDAxKg0KK1gyMzE0MzhEMDEqDQorWTE0NjE5NUQwMSoNCitYMjMxNDQxWTE0NjE5NEQwMSoNCitYMjMxNzIzWTE0NjIxN0QwMSoNCitYMjMxOTk5WTE0NjI4M0QwMSoNCitYMjMyMjYxWTE0NjM5MUQwMSoNCitYMjMyNTAyWTE0NjUzOUQwMSoNCitYMjMyNzE4WTE0NjcyM0QwMSoNCitYMjMyOTAyWTE0NjkzOUQwMSoNCitYMjMzMDUwWTE0NzE4MEQwMSoNCitYMjMzMTU4WTE0NzQ0MkQwMSoNCitYMjMzMjI0WTE0NzcxOEQwMSoNCitYMjMzMjQxWTE0ODAwMEQwMSoNCitYMjMzMjI0WTE0ODI4MkQwMSoNCitYMjMzMTU4WTE0ODU1OEQwMSoNCitYMjMzMDUwWTE0ODgyMEQwMSoNCitYMjMyOTAyWTE0OTA2MUQwMSoNCitYMjMyNzE4WTE0OTI3N0QwMSoNCitYMjMyNTAyWTE0OTQ2MUQwMSoNCitYMjMyMjYxWTE0OTYwOUQwMSoNCitYMjMxOTk5WTE0OTcxN0QwMSoNCitYMjMxNzIzWTE0OTc4M0QwMSoNCitYMjMxNDQxWTE0OTgwNkQwMSoNCitYMjMxNDM4WTE0OTgwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIyMzkzOEQwMipYMjMxNDM4RDAxKg0KK1kxNDk4MDVEMDEqDQorWDIzMTE1OVkxNDk3ODNEMDEqDQorWDIzMDg4M1kxNDk3MTdEMDEqDQorWDIzMDYyMVkxNDk2MDlEMDEqDQorWDIzMDM4MFkxNDk0NjFEMDEqDQorWDIzMDE2NFkxNDkyNzdEMDEqDQorWDIyOTk4MFkxNDkwNjFEMDEqDQorWDIyOTgzMlkxNDg4MjBEMDEqDQorWDIyOTcyNFkxNDg1NThEMDEqDQorWDIyOTY1OFkxNDgyODJEMDEqDQorWDIyOTYzNVkxNDgwMDBEMDEqDQorWDIyOTY1OFkxNDc3MThEMDEqDQorWDIyOTcyNFkxNDc0NDJEMDEqDQorWDIyOTgzMlkxNDcxODBEMDEqDQorWDIyOTk4MFkxNDY5MzlEMDEqDQorWDIzMDE2NFkxNDY3MjNEMDEqDQorWDIzMDM4MFkxNDY1MzlEMDEqDQorWDIzMDYyMVkxNDYzOTFEMDEqDQorWDIzMDg4M1kxNDYyODNEMDEqDQorWDIzMTE1OVkxNDYyMTdEMDEqDQorWDIzMTQzOFkxNDYxOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gyMjM5MzhEMDEqDQorWTE0NjE5NUQwMSoNCitYMjIzOTQxWTE0NjE5NEQwMSoNCitYMjI0MjIzWTE0NjIxN0QwMSoNCitYMjI0NDk5WTE0NjI4M0QwMSoNCitYMjI0NzYxWTE0NjM5MUQwMSoNCitYMjI1MDAyWTE0NjUzOUQwMSoNCitYMjI1MjE4WTE0NjcyM0QwMSoNCitYMjI1NDAyWTE0NjkzOUQwMSoNCitYMjI1NTUwWTE0NzE4MEQwMSoNCitYMjI1NjU4WTE0NzQ0MkQwMSoNCitYMjI1NzI0WTE0NzcxOEQwMSoNCitYMjI1NzQxWTE0ODAwMEQwMSoNCitYMjI1NzI0WTE0ODI4MkQwMSoNCitYMjI1NjU4WTE0ODU1OEQwMSoNCitYMjI1NTUwWTE0ODgyMEQwMSoNCitYMjI1NDAyWTE0OTA2MUQwMSoNCitYMjI1MjE4WTE0OTI3N0QwMSoNCitYMjI1MDAyWTE0OTQ2MUQwMSoNCitYMjI0NzYxWTE0OTYwOUQwMSoNCitYMjI0NDk5WTE0OTcxN0QwMSoNCitYMjI0MjIzWTE0OTc4M0QwMSoNCitYMjIzOTQxWTE0OTgwNkQwMSoNCitYMjIzOTM4WTE0OTgwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDIwODkzOEQwMipYMjIzOTM4RDAxKg0KK1kxNDk4MDVEMDEqDQorWDIyMzY1OVkxNDk3ODNEMDEqDQorWDIyMzM4M1kxNDk3MTdEMDEqDQorWDIyMzEyMVkxNDk2MDlEMDEqDQorWDIyMjg4MFkxNDk0NjFEMDEqDQorWDIyMjY2NFkxNDkyNzdEMDEqDQorWDIyMjQ4MFkxNDkwNjFEMDEqDQorWDIyMjMzMlkxNDg4MjBEMDEqDQorWDIyMjIyNFkxNDg1NThEMDEqDQorWDIyMjE1OFkxNDgyODJEMDEqDQorWDIyMjEzNVkxNDgwMDBEMDEqDQorWDIyMjE1OFkxNDc3MThEMDEqDQorWDIyMjIyNFkxNDc0NDJEMDEqDQorWDIyMjMzMlkxNDcxODBEMDEqDQorWDIyMjQ4MFkxNDY5MzlEMDEqDQorWDIyMjY2NFkxNDY3MjNEMDEqDQorWDIyMjg4MFkxNDY1MzlEMDEqDQorWDIyMzEyMVkxNDYzOTFEMDEqDQorWDIyMzM4M1kxNDYyODNEMDEqDQorWDIyMzY1OVkxNDYyMTdEMDEqDQorWDIyMzkzOFkxNDYxOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gyMDg5MzhEMDEqDQorWTE0NjE5NUQwMSoNCitYMjA4OTQxWTE0NjE5NEQwMSoNCitYMjA5MjIzWTE0NjIxN0QwMSoNCitYMjA5NDk5WTE0NjI4M0QwMSoNCitYMjA5NzYxWTE0NjM5MUQwMSoNCitYMjEwMDAyWTE0NjUzOUQwMSoNCitYMjEwMjE4WTE0NjcyM0QwMSoNCitYMjEwNDAyWTE0NjkzOUQwMSoNCitYMjEwNTUwWTE0NzE4MEQwMSoNCitYMjEwNjU4WTE0NzQ0MkQwMSoNCitYMjEwNzI0WTE0NzcxOEQwMSoNCitYMjEwNzQxWTE0ODAwMEQwMSoNCitYMjEwNzI0WTE0ODI4MkQwMSoNCitYMjEwNjU4WTE0ODU1OEQwMSoNCitYMjEwNTUwWTE0ODgyMEQwMSoNCitYMjEwNDAyWTE0OTA2MUQwMSoNCitYMjEwMjE4WTE0OTI3N0QwMSoNCitYMjEwMDAyWTE0OTQ2MUQwMSoNCitYMjA5NzYxWTE0OTYwOUQwMSoNCitYMjA5NDk5WTE0OTcxN0QwMSoNCitYMjA5MjIzWTE0OTc4M0QwMSoNCitYMjA4OTQxWTE0OTgwNkQwMSoNCitYMjA4OTM4WTE0OTgwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5ODQzOEQwMipYMjA4OTM4RDAxKg0KK1kxNDk4MDVEMDEqDQorWDIwODY1OVkxNDk3ODNEMDEqDQorWDIwODM4M1kxNDk3MTdEMDEqDQorWDIwODEyMVkxNDk2MDlEMDEqDQorWDIwNzg4MFkxNDk0NjFEMDEqDQorWDIwNzY2NFkxNDkyNzdEMDEqDQorWDIwNzQ4MFkxNDkwNjFEMDEqDQorWDIwNzMzMlkxNDg4MjBEMDEqDQorWDIwNzIyNFkxNDg1NThEMDEqDQorWDIwNzE1OFkxNDgyODJEMDEqDQorWDIwNzEzNVkxNDgwMDBEMDEqDQorWDIwNzE1OFkxNDc3MThEMDEqDQorWDIwNzIyNFkxNDc0NDJEMDEqDQorWDIwNzMzMlkxNDcxODBEMDEqDQorWDIwNzQ4MFkxNDY5MzlEMDEqDQorWDIwNzY2NFkxNDY3MjNEMDEqDQorWDIwNzg4MFkxNDY1MzlEMDEqDQorWDIwODEyMVkxNDYzOTFEMDEqDQorWDIwODM4M1kxNDYyODNEMDEqDQorWDIwODY1OVkxNDYyMTdEMDEqDQorWDIwODkzOFkxNDYxOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxOTg0MzhEMDEqDQorWTEyMDY5NUQwMSoNCitYMTk4NDQxWTEyMDY5NEQwMSoNCitYMTk4NzIzWTEyMDcxN0QwMSoNCitYMTk4OTk5WTEyMDc4M0QwMSoNCitYMTk5MjYxWTEyMDg5MUQwMSoNCitYMTk5NTAyWTEyMTAzOUQwMSoNCitYMTk5NzE4WTEyMTIyM0QwMSoNCitYMTk5OTAyWTEyMTQzOUQwMSoNCitYMjAwMDUwWTEyMTY4MEQwMSoNCitYMjAwMTU4WTEyMTk0MkQwMSoNCitYMjAwMjI0WTEyMjIxOEQwMSoNCitYMjAwMjQxWTEyMjUwMEQwMSoNCitYMjAwMjI0WTEyMjc4MkQwMSoNCitYMjAwMTU4WTEyMzA1OEQwMSoNCitYMjAwMDUwWTEyMzMyMEQwMSoNCitYMTk5OTAyWTEyMzU2MUQwMSoNCitYMTk5NzE4WTEyMzc3N0QwMSoNCitYMTk5NTAyWTEyMzk2MUQwMSoNCitYMTk5MjYxWTEyNDEwOUQwMSoNCitYMTk4OTk5WTEyNDIxN0QwMSoNCitYMTk4NzIzWTEyNDI4M0QwMSoNCitYMTk4NDQxWTEyNDMwNkQwMSoNCitYMTk4NDM4WTEyNDMwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5NTQzOEQwMipYMTk4NDM4RDAxKg0KK1kxMjQzMDVEMDEqDQorWDE5ODE1OVkxMjQyODNEMDEqDQorWDE5Nzg4M1kxMjQyMTdEMDEqDQorWDE5NzYyMVkxMjQxMDlEMDEqDQorWDE5NzM4MFkxMjM5NjFEMDEqDQorWDE5NzE2NFkxMjM3NzdEMDEqDQorWDE5Njk4MFkxMjM1NjFEMDEqDQorWDE5NjgzMlkxMjMzMjBEMDEqDQorWDE5NjcyNFkxMjMwNThEMDEqDQorWDE5NjY1OFkxMjI3ODJEMDEqDQorWDE5NjYzNVkxMjI1MDBEMDEqDQorWDE5NjY1OFkxMjIyMThEMDEqDQorWDE5NjcyNFkxMjE5NDJEMDEqDQorWDE5NjgzMlkxMjE2ODBEMDEqDQorWDE5Njk4MFkxMjE0MzlEMDEqDQorWDE5NzE2NFkxMjEyMjNEMDEqDQorWDE5NzM4MFkxMjEwMzlEMDEqDQorWDE5NzYyMVkxMjA4OTFEMDEqDQorWDE5Nzg4M1kxMjA3ODNEMDEqDQorWDE5ODE1OVkxMjA3MTdEMDEqDQorWDE5ODQzOFkxMjA2OTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxOTU0MzhEMDEqDQorWTEzMTE5NUQwMSoNCitYMTk1NDQxWTEzMTE5NEQwMSoNCitYMTk1NzIzWTEzMTIxN0QwMSoNCitYMTk1OTk5WTEzMTI4M0QwMSoNCitYMTk2MjYxWTEzMTM5MUQwMSoNCitYMTk2NTAyWTEzMTUzOUQwMSoNCitYMTk2NzE4WTEzMTcyM0QwMSoNCitYMTk2OTAyWTEzMTkzOUQwMSoNCitYMTk3MDUwWTEzMjE4MEQwMSoNCitYMTk3MTU4WTEzMjQ0MkQwMSoNCitYMTk3MjI0WTEzMjcxOEQwMSoNCitYMTk3MjQxWTEzMzAwMEQwMSoNCitYMTk3MjI0WTEzMzI4MkQwMSoNCitYMTk3MTU4WTEzMzU1OEQwMSoNCitYMTk3MDUwWTEzMzgyMEQwMSoNCitYMTk2OTAyWTEzNDA2MUQwMSoNCitYMTk2NzE4WTEzNDI3N0QwMSoNCitYMTk2NTAyWTEzNDQ2MUQwMSoNCitYMTk2MjYxWTEzNDYwOUQwMSoNCitYMTk1OTk5WTEzNDcxN0QwMSoNCitYMTk1NzIzWTEzNDc4M0QwMSoNCitYMTk1NDQxWTEzNDgwNkQwMSoNCitYMTk1NDM4WTEzNDgwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE5MzM4N0QwMipYMTk1NDM4RDAxKg0KK1kxMzQ4MDVEMDEqDQorWDE5NTE1OVkxMzQ3ODNEMDEqDQorWDE5NDg4M1kxMzQ3MTdEMDEqDQorWDE5NDYyMVkxMzQ2MDlEMDEqDQorWDE5NDM4MFkxMzQ0NjFEMDEqDQorWDE5NDE2NFkxMzQyNzdEMDEqDQorWDE5Mzk4MFkxMzQwNjFEMDEqDQorWDE5MzgzMlkxMzM4MjBEMDEqDQorWDE5MzcyNFkxMzM1NThEMDEqDQorWDE5MzY1OFkxMzMyODJEMDEqDQorWDE5MzYzNVkxMzMwMDBEMDEqDQorWDE5MzY1OFkxMzI3MThEMDEqDQorWDE5MzcyNFkxMzI0NDJEMDEqDQorWDE5MzgzMlkxMzIxODBEMDEqDQorWDE5Mzk4MFkxMzE5MzlEMDEqDQorWDE5NDE2NFkxMzE3MjNEMDEqDQorWDE5NDM4MFkxMzE1MzlEMDEqDQorWDE5NDYyMVkxMzEzOTFEMDEqDQorWDE5NDg4M1kxMzEyODNEMDEqDQorWDE5NTE1OVkxMzEyMTdEMDEqDQorWDE5NTQzOFkxMzExOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxOTMzODdEMDEqDQorWTEyNTY5NUQwMSoNCitYMTkzMzkwWTEyNTY5NEQwMSoNCitYMTkzNjcyWTEyNTcxN0QwMSoNCitYMTkzOTQ4WTEyNTc4M0QwMSoNCitYMTk0MjEwWTEyNTg5MUQwMSoNCitYMTk0NDUxWTEyNjAzOUQwMSoNCitYMTk0NjY3WTEyNjIyM0QwMSoNCitYMTk0ODUxWTEyNjQzOUQwMSoNCitYMTk0OTk5WTEyNjY4MEQwMSoNCitYMTk1MTA3WTEyNjk0MkQwMSoNCitYMTk1MTczWTEyNzIxOEQwMSoNCitYMTk1MTkwWTEyNzUwMEQwMSoNCitYMTk1MTczWTEyNzc4MkQwMSoNCitYMTk1MTA3WTEyODA1OEQwMSoNCitYMTk0OTk5WTEyODMyMEQwMSoNCitYMTk0ODUxWTEyODU2MUQwMSoNCitYMTk0NjY3WTEyODc3N0QwMSoNCitYMTk0NDUxWTEyODk2MUQwMSoNCitYMTk0MjEwWTEyOTEwOUQwMSoNCitYMTkzOTQ4WTEyOTIxN0QwMSoNCitYMTkzNjcyWTEyOTI4M0QwMSoNCitYMTkzMzkwWTEyOTMwNkQwMSoNCitYMTkzMzg3WTEyOTMwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE4MzkzOEQwMipYMTkzMzg3RDAxKg0KK1kxMjkzMDVEMDEqDQorWDE5MzEwOFkxMjkyODNEMDEqDQorWDE5MjgzMlkxMjkyMTdEMDEqDQorWDE5MjU3MFkxMjkxMDlEMDEqDQorWDE5MjMyOVkxMjg5NjFEMDEqDQorWDE5MjExM1kxMjg3NzdEMDEqDQorWDE5MTkyOVkxMjg1NjFEMDEqDQorWDE5MTc4MVkxMjgzMjBEMDEqDQorWDE5MTY3M1kxMjgwNThEMDEqDQorWDE5MTYwN1kxMjc3ODJEMDEqDQorWDE5MTU4NFkxMjc1MDBEMDEqDQorWDE5MTYwN1kxMjcyMThEMDEqDQorWDE5MTY3M1kxMjY5NDJEMDEqDQorWDE5MTc4MVkxMjY2ODBEMDEqDQorWDE5MTkyOVkxMjY0MzlEMDEqDQorWDE5MjExM1kxMjYyMjNEMDEqDQorWDE5MjMyOVkxMjYwMzlEMDEqDQorWDE5MjU3MFkxMjU4OTFEMDEqDQorWDE5MjgzMlkxMjU3ODNEMDEqDQorWDE5MzEwOFkxMjU3MTdEMDEqDQorWDE5MzM4N1kxMjU2OTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxODM5MzhEMDEqDQorWTEwMjE5NUQwMSoNCitYMTgzOTQxWTEwMjE5NEQwMSoNCitYMTg0MjIzWTEwMjIxN0QwMSoNCitYMTg0NDk5WTEwMjI4M0QwMSoNCitYMTg0NzYxWTEwMjM5MUQwMSoNCitYMTg1MDAyWTEwMjUzOUQwMSoNCitYMTg1MjE4WTEwMjcyM0QwMSoNCitYMTg1NDAyWTEwMjkzOUQwMSoNCitYMTg1NTUwWTEwMzE4MEQwMSoNCitYMTg1NjU4WTEwMzQ0MkQwMSoNCitYMTg1NzI0WTEwMzcxOEQwMSoNCitYMTg1NzQxWTEwNDAwMEQwMSoNCitYMTg1NzI0WTEwNDI4MkQwMSoNCitYMTg1NjU4WTEwNDU1OEQwMSoNCitYMTg1NTUwWTEwNDgyMEQwMSoNCitYMTg1NDAyWTEwNTA2MUQwMSoNCitYMTg1MjE4WTEwNTI3N0QwMSoNCitYMTg1MDAyWTEwNTQ2MUQwMSoNCitYMTg0NzYxWTEwNTYwOUQwMSoNCitYMTg0NDk5WTEwNTcxN0QwMSoNCitYMTg0MjIzWTEwNTc4M0QwMSoNCitYMTgzOTQxWTEwNTgwNkQwMSoNCitYMTgzOTM4WTEwNTgwNUQwMSoNCitZMTY3NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE2OTQzOFkyMTY1MDBEMDIqWDE3MzQ0MUQwMSoNCitZMTg4NDI3RDAxKg0KK1gxNzMyNjRZMTg4MzE5RDAxKg0KK1gxNzI3NDlZMTg3ODc5RDAxKg0KK1gxNzIzMDlZMTg3MzY0RDAxKg0KK1gxNzE5NTZZMTg2Nzg3RDAxKg0KK1gxNzE2OTdZMTg2MTYyRDAxKg0KK1gxNzE1MzlZMTg1NTA0RDAxKg0KK1gxNzE0ODZZMTg0ODI5RDAxKg0KK1gxNzE1MzlZMTg0MTU0RDAxKg0KK1gxNzE2OTdZMTgzNDk2RDAxKg0KK1gxNzE5NTZZMTgyODcxRDAxKg0KK1gxNzIzMDlZMTgyMjk0RDAxKg0KK1gxNzI3NDlZMTgxNzc5RDAxKg0KK1gxNzMyNjRZMTgxMzM5RDAxKg0KK1gxNzM0NDFZMTgxMjMxRDAxKg0KK1kxNzg0MjdEMDEqDQorWDE3MzI2NFkxNzgzMTlEMDEqDQorWDE3Mjc0OVkxNzc4NzlEMDEqDQorWDE3MjMwOVkxNzczNjREMDEqDQorWDE3MTk1NlkxNzY3ODdEMDEqDQorWDE3MTY5N1kxNzYxNjJEMDEqDQorWDE3MTUzOVkxNzU1MDREMDEqDQorWDE3MTQ4NlkxNzQ4MjlEMDEqDQorWDE3MTUzOVkxNzQxNTREMDEqDQorWDE3MTY5N1kxNzM0OTZEMDEqDQorWDE3MTk1NlkxNzI4NzFEMDEqDQorWDE3MjMwOVkxNzIyOTREMDEqDQorWDE3Mjc0OVkxNzE3NzlEMDEqDQorWDE3MzI2NFkxNzEzMzlEMDEqDQorWDE3MzQ0MVkxNzEyMzFEMDEqDQorWTE2NzUwMEQwMSoNCitYMTgzOTM4RDAxKg0KK1kxMDU4MDVEMDEqDQorWDE4MzY1OVkxMDU3ODNEMDEqDQorWDE4MzM4M1kxMDU3MTdEMDEqDQorWDE4MzEyMVkxMDU2MDlEMDEqDQorWDE4Mjg4MFkxMDU0NjFEMDEqDQorWDE4MjY2NFkxMDUyNzdEMDEqDQorWDE4MjQ4MFkxMDUwNjFEMDEqDQorWDE4MjMzMlkxMDQ4MjBEMDEqDQorWDE4MjIyNFkxMDQ1NThEMDEqDQorWDE4MjE1OFkxMDQyODJEMDEqDQorWDE4MjEzNVkxMDQwMDBEMDEqDQorWDE4MjE1OFkxMDM3MThEMDEqDQorWDE4MjIyNFkxMDM0NDJEMDEqDQorWDE4MjMzMlkxMDMxODBEMDEqDQorWDE4MjQ4MFkxMDI5MzlEMDEqDQorWDE4MjY2NFkxMDI3MjNEMDEqDQorWDE4Mjg4MFkxMDI1MzlEMDEqDQorWDE4MzEyMVkxMDIzOTFEMDEqDQorWDE4MzM4M1kxMDIyODNEMDEqDQorWDE4MzY1OVkxMDIyMTdEMDEqDQorWDE4MzkzOFkxMDIxOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxNjk0MzhEMDEqDQorWTE3MjUzOEQwMSoNCitYMTY5NjQyWTE3Mjg3MUQwMSoNCitYMTY5OTAxWTE3MzQ5NkQwMSoNCitYMTcwMDU5WTE3NDE1NEQwMSoNCitYMTcwMDk5WTE3NDgyOUQwMSoNCitYMTcwMDU5WTE3NTUwNEQwMSoNCitYMTY5OTAxWTE3NjE2MkQwMSoNCitYMTY5NjQyWTE3Njc4N0QwMSoNCitYMTY5NDM4WTE3NzEyMEQwMSoNCitZMTgyNTM4RDAxKg0KK1gxNjk2NDJZMTgyODcxRDAxKg0KK1gxNjk5MDFZMTgzNDk2RDAxKg0KK1gxNzAwNTlZMTg0MTU0RDAxKg0KK1gxNzAwOTlZMTg0ODI5RDAxKg0KK1gxNzAwNTlZMTg1NTA0RDAxKg0KK1gxNjk5MDFZMTg2MTYyRDAxKg0KK1gxNjk2NDJZMTg2Nzg3RDAxKg0KK1gxNjk0MzhZMTg3MTIwRDAxKg0KK1kxOTk2OTVEMDEqDQorWDE2OTQ0MVkxOTk2OTREMDEqDQorWDE2OTcyM1kxOTk3MTdEMDEqDQorWDE2OTk5OVkxOTk3ODNEMDEqDQorWDE3MDI2MVkxOTk4OTFEMDEqDQorWDE3MDUwMlkyMDAwMzlEMDEqDQorWDE3MDcxOFkyMDAyMjNEMDEqDQorWDE3MDkwMlkyMDA0MzlEMDEqDQorWDE3MTA1MFkyMDA2ODBEMDEqDQorWDE3MTE1OFkyMDA5NDJEMDEqDQorWDE3MTIyNFkyMDEyMThEMDEqDQorWDE3MTI0MVkyMDE1MDBEMDEqDQorWDE3MTIyNFkyMDE3ODJEMDEqDQorWDE3MTE1OFkyMDIwNThEMDEqDQorWDE3MTA1MFkyMDIzMjBEMDEqDQorWDE3MDkwMlkyMDI1NjFEMDEqDQorWDE3MDcxOFkyMDI3NzdEMDEqDQorWDE3MDUwMlkyMDI5NjFEMDEqDQorWDE3MDI2MVkyMDMxMDlEMDEqDQorWDE2OTk5OVkyMDMyMTdEMDEqDQorWDE2OTcyM1kyMDMyODNEMDEqDQorWDE2OTQ0MVkyMDMzMDZEMDEqDQorWDE2OTQzOFkyMDMzMDVEMDEqDQorWTIwNjY5NUQwMSoNCitYMTY5NDQxWTIwNjY5NEQwMSoNCitYMTY5NzIzWTIwNjcxN0QwMSoNCitYMTY5OTk5WTIwNjc4M0QwMSoNCitYMTcwMjYxWTIwNjg5MUQwMSoNCitYMTcwNTAyWTIwNzAzOUQwMSoNCitYMTcwNzE4WTIwNzIyM0QwMSoNCitYMTcwOTAyWTIwNzQzOUQwMSoNCitYMTcxMDUwWTIwNzY4MEQwMSoNCitYMTcxMTU4WTIwNzk0MkQwMSoNCitYMTcxMjI0WTIwODIxOEQwMSoNCitYMTcxMjQxWTIwODUwMEQwMSoNCitYMTcxMjI0WTIwODc4MkQwMSoNCitYMTcxMTU4WTIwOTA1OEQwMSoNCitYMTcxMDUwWTIwOTMyMEQwMSoNCitYMTcwOTAyWTIwOTU2MUQwMSoNCitYMTcwNzE4WTIwOTc3N0QwMSoNCitYMTcwNTAyWTIwOTk2MUQwMSoNCitYMTcwMjYxWTIxMDEwOUQwMSoNCitYMTY5OTk5WTIxMDIxN0QwMSoNCitYMTY5NzIzWTIxMDI4M0QwMSoNCitYMTY5NDQxWTIxMDMwNkQwMSoNCitYMTY5NDM4WTIxMDMwNUQwMSoNCitZMjEyMTk1RDAxKg0KK1gxNjk0NDFZMjEyMTk0RDAxKg0KK1gxNjk3MjNZMjEyMjE3RDAxKg0KK1gxNjk5OTlZMjEyMjgzRDAxKg0KK1gxNzAyNjFZMjEyMzkxRDAxKg0KK1gxNzA1MDJZMjEyNTM5RDAxKg0KK1gxNzA3MThZMjEyNzIzRDAxKg0KK1gxNzA5MDJZMjEyOTM5RDAxKg0KK1gxNzEwNTBZMjEzMTgwRDAxKg0KK1gxNzExNThZMjEzNDQyRDAxKg0KK1gxNzEyMjRZMjEzNzE4RDAxKg0KK1gxNzEyNDFZMjE0MDAwRDAxKg0KK1gxNzEyMjRZMjE0MjgyRDAxKg0KK1gxNzExNThZMjE0NTU4RDAxKg0KK1gxNzEwNTBZMjE0ODIwRDAxKg0KK1gxNzA5MDJZMjE1MDYxRDAxKg0KK1gxNzA3MThZMjE1Mjc3RDAxKg0KK1gxNzA1MDJZMjE1NDYxRDAxKg0KK1gxNzAyNjFZMjE1NjA5RDAxKg0KK1gxNjk5OTlZMjE1NzE3RDAxKg0KK1gxNjk3MjNZMjE1NzgzRDAxKg0KK1gxNjk0NDFZMjE1ODA2RDAxKg0KK1gxNjk0MzhZMjE1ODA1RDAxKg0KK1kyMTY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3MTIwRDAyKlgxNjkyODlZMTc3MzY0RDAxKg0KK1gxNjg4NDlZMTc3ODc5RDAxKg0KK1gxNjgzMzRZMTc4MzE5RDAxKg0KK1gxNjc3NTdZMTc4NjcyRDAxKg0KK1gxNjcxMzJZMTc4OTMxRDAxKg0KK1gxNjY0NzRZMTc5MDg5RDAxKg0KK1gxNjY0MzhZMTc5MDkyRDAxKg0KK1kxODA1NjZEMDEqDQorWDE2NjQ3NFkxODA1NjlEMDEqDQorWDE2NzEzMlkxODA3MjdEMDEqDQorWDE2Nzc1N1kxODA5ODZEMDEqDQorWDE2ODMzNFkxODEzMzlEMDEqDQorWDE2ODg0OVkxODE3NzlEMDEqDQorWDE2OTI4OVkxODIyOTREMDEqDQorWDE2OTQzOFkxODI1MzhEMDEqDQorWTE3NzEyMEQwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjUwMEQwMipYMTY2NDM4RDAxKg0KK1kxMDIxOTVEMDEqDQorWDE2NjQ0MVkxMDIxOTREMDEqDQorWDE2NjcyM1kxMDIyMTdEMDEqDQorWDE2Njk5OVkxMDIyODNEMDEqDQorWDE2NzI2MVkxMDIzOTFEMDEqDQorWDE2NzUwMlkxMDI1MzlEMDEqDQorWDE2NzcxOFkxMDI3MjNEMDEqDQorWDE2NzkwMlkxMDI5MzlEMDEqDQorWDE2ODA1MFkxMDMxODBEMDEqDQorWDE2ODE1OFkxMDM0NDJEMDEqDQorWDE2ODIyNFkxMDM3MThEMDEqDQorWDE2ODI0MVkxMDQwMDBEMDEqDQorWDE2ODIyNFkxMDQyODJEMDEqDQorWDE2ODE1OFkxMDQ1NThEMDEqDQorWDE2ODA1MFkxMDQ4MjBEMDEqDQorWDE2NzkwMlkxMDUwNjFEMDEqDQorWDE2NzcxOFkxMDUyNzdEMDEqDQorWDE2NzUwMlkxMDU0NjFEMDEqDQorWDE2NzI2MVkxMDU2MDlEMDEqDQorWDE2Njk5OVkxMDU3MTdEMDEqDQorWDE2NjcyM1kxMDU3ODNEMDEqDQorWDE2NjQ0MVkxMDU4MDZEMDEqDQorWDE2NjQzOFkxMDU4MDVEMDEqDQorWTE3MDU2NkQwMSoNCitYMTY2NDc0WTE3MDU2OUQwMSoNCitYMTY3MTMyWTE3MDcyN0QwMSoNCitYMTY3NzU3WTE3MDk4NkQwMSoNCitYMTY4MzM0WTE3MTMzOUQwMSoNCitYMTY4ODQ5WTE3MTc3OUQwMSoNCitYMTY5Mjg5WTE3MjI5NEQwMSoNCitYMTY5NDM4WTE3MjUzOEQwMSoNCitZNzY1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTY2NDM4WTI3ODUwMEQwMipYMTY4NDQxRDAxKg0KK1kyMTY1MDBEMDEqDQorWDE2OTQzOEQwMSoNCitZMjE1ODA1RDAxKg0KK1gxNjkxNTlZMjE1NzgzRDAxKg0KK1gxNjg4ODNZMjE1NzE3RDAxKg0KK1gxNjg2MjFZMjE1NjA5RDAxKg0KK1gxNjgzODBZMjE1NDYxRDAxKg0KK1gxNjgxNjRZMjE1Mjc3RDAxKg0KK1gxNjc5ODBZMjE1MDYxRDAxKg0KK1gxNjc4MzJZMjE0ODIwRDAxKg0KK1gxNjc3MjRZMjE0NTU4RDAxKg0KK1gxNjc2NThZMjE0MjgyRDAxKg0KK1gxNjc2MzVZMjE0MDAwRDAxKg0KK1gxNjc2NThZMjEzNzE4RDAxKg0KK1gxNjc3MjRZMjEzNDQyRDAxKg0KK1gxNjc4MzJZMjEzMTgwRDAxKg0KK1gxNjc5ODBZMjEyOTM5RDAxKg0KK1gxNjgxNjRZMjEyNzIzRDAxKg0KK1gxNjgzODBZMjEyNTM5RDAxKg0KK1gxNjg2MjFZMjEyMzkxRDAxKg0KK1gxNjg4ODNZMjEyMjgzRDAxKg0KK1gxNjkxNTlZMjEyMjE3RDAxKg0KK1gxNjk0MzhZMjEyMTk1RDAxKg0KK1kyMTAzMDVEMDEqDQorWDE2OTE1OVkyMTAyODNEMDEqDQorWDE2ODg4M1kyMTAyMTdEMDEqDQorWDE2ODYyMVkyMTAxMDlEMDEqDQorWDE2ODM4MFkyMDk5NjFEMDEqDQorWDE2ODE2NFkyMDk3NzdEMDEqDQorWDE2Nzk4MFkyMDk1NjFEMDEqDQorWDE2NzgzMlkyMDkzMjBEMDEqDQorWDE2NzcyNFkyMDkwNThEMDEqDQorWDE2NzY1OFkyMDg3ODJEMDEqDQorWDE2NzYzNVkyMDg1MDBEMDEqDQorWDE2NzY1OFkyMDgyMThEMDEqDQorWDE2NzcyNFkyMDc5NDJEMDEqDQorWDE2NzgzMlkyMDc2ODBEMDEqDQorWDE2Nzk4MFkyMDc0MzlEMDEqDQorWDE2ODE2NFkyMDcyMjNEMDEqDQorWDE2ODM4MFkyMDcwMzlEMDEqDQorWDE2ODYyMVkyMDY4OTFEMDEqDQorWDE2ODg4M1kyMDY3ODNEMDEqDQorWDE2OTE1OVkyMDY3MTdEMDEqDQorWDE2OTQzOFkyMDY2OTVEMDEqDQorWTIwMzMwNUQwMSoNCitYMTY5MTU5WTIwMzI4M0QwMSoNCitYMTY4ODgzWTIwMzIxN0QwMSoNCitYMTY4NjIxWTIwMzEwOUQwMSoNCitYMTY4MzgwWTIwMjk2MUQwMSoNCitYMTY4MTY0WTIwMjc3N0QwMSoNCitYMTY3OTgwWTIwMjU2MUQwMSoNCitYMTY3ODMyWTIwMjMyMEQwMSoNCitYMTY3NzI0WTIwMjA1OEQwMSoNCitYMTY3NjU4WTIwMTc4MkQwMSoNCitYMTY3NjM1WTIwMTUwMEQwMSoNCitYMTY3NjU4WTIwMTIxOEQwMSoNCitYMTY3NzI0WTIwMDk0MkQwMSoNCitYMTY3ODMyWTIwMDY4MEQwMSoNCitYMTY3OTgwWTIwMDQzOUQwMSoNCitYMTY4MTY0WTIwMDIyM0QwMSoNCitYMTY4MzgwWTIwMDAzOUQwMSoNCitYMTY4NjIxWTE5OTg5MUQwMSoNCitYMTY4ODgzWTE5OTc4M0QwMSoNCitYMTY5MTU5WTE5OTcxN0QwMSoNCitYMTY5NDM4WTE5OTY5NUQwMSoNCitZMTg3MTIwRDAxKg0KK1gxNjkyODlZMTg3MzY0RDAxKg0KK1gxNjg4NDlZMTg3ODc5RDAxKg0KK1gxNjgzMzRZMTg4MzE5RDAxKg0KK1gxNjc3NTdZMTg4NjcyRDAxKg0KK1gxNjcxMzJZMTg4OTMxRDAxKg0KK1gxNjY0NzRZMTg5MDg5RDAxKg0KK1gxNjY0MzhZMTg5MDkyRDAxKg0KK1kxOTEyNzBEMDEqDQorWDE2NjY1OVkxOTEyMTdEMDEqDQorWDE2Njk0MVkxOTExOTREMDEqDQorWDE2NzIyM1kxOTEyMTdEMDEqDQorWDE2NzQ5OVkxOTEyODNEMDEqDQorWDE2Nzc2MVkxOTEzOTFEMDEqDQorWDE2ODAwMlkxOTE1MzlEMDEqDQorWDE2ODIxOFkxOTE3MjNEMDEqDQorWDE2ODQwMlkxOTE5MzlEMDEqDQorWDE2ODU1MFkxOTIxODBEMDEqDQorWDE2ODY1OFkxOTI0NDJEMDEqDQorWDE2ODcyNFkxOTI3MThEMDEqDQorWDE2ODc0MVkxOTMwMDBEMDEqDQorWDE2ODcyNFkxOTMyODJEMDEqDQorWDE2ODY1OFkxOTM1NThEMDEqDQorWDE2ODU1MFkxOTM4MjBEMDEqDQorWDE2ODQwMlkxOTQwNjFEMDEqDQorWDE2ODIxOFkxOTQyNzdEMDEqDQorWDE2ODAwMlkxOTQ0NjFEMDEqDQorWDE2Nzc2MVkxOTQ2MDlEMDEqDQorWDE2NzQ5OVkxOTQ3MTdEMDEqDQorWDE2NzIyM1kxOTQ3ODNEMDEqDQorWDE2Njk0MVkxOTQ4MDZEMDEqDQorWDE2NjY1OVkxOTQ3ODNEMDEqDQorWDE2NjQzOFkxOTQ3MzBEMDEqDQorWTE5NTc3MEQwMSoNCitYMTY2NjU5WTE5NTcxN0QwMSoNCitYMTY2OTQxWTE5NTY5NEQwMSoNCitYMTY3MjIzWTE5NTcxN0QwMSoNCitYMTY3NDk5WTE5NTc4M0QwMSoNCitYMTY3NzYxWTE5NTg5MUQwMSoNCitYMTY4MDAyWTE5NjAzOUQwMSoNCitYMTY4MjE4WTE5NjIyM0QwMSoNCitYMTY4NDAyWTE5NjQzOUQwMSoNCitYMTY4NTUwWTE5NjY4MEQwMSoNCitYMTY4NjU4WTE5Njk0MkQwMSoNCitYMTY4NzI0WTE5NzIxOEQwMSoNCitYMTY4NzQxWTE5NzUwMEQwMSoNCitYMTY4NzI0WTE5Nzc4MkQwMSoNCitYMTY4NjU4WTE5ODA1OEQwMSoNCitYMTY4NTUwWTE5ODMyMEQwMSoNCitYMTY4NDAyWTE5ODU2MUQwMSoNCitYMTY4MjE4WTE5ODc3N0QwMSoNCitYMTY4MDAyWTE5ODk2MUQwMSoNCitYMTY3NzYxWTE5OTEwOUQwMSoNCitYMTY3NDk5WTE5OTIxN0QwMSoNCitYMTY3MjIzWTE5OTI4M0QwMSoNCitYMTY2OTQxWTE5OTMwNkQwMSoNCitYMTY2NjU5WTE5OTI4M0QwMSoNCitYMTY2NDM4WTE5OTIzMEQwMSoNCitZMjE4NzY4RDAxKg0KK1gxNjY0OTlZMjE4NzgzRDAxKg0KK1gxNjY3NjFZMjE4ODkxRDAxKg0KK1gxNjcwMDJZMjE5MDM5RDAxKg0KK1gxNjcyMThZMjE5MjIzRDAxKg0KK1gxNjc0MDJZMjE5NDM5RDAxKg0KK1gxNjc1NTBZMjE5NjgwRDAxKg0KK1gxNjc2NThZMjE5OTQyRDAxKg0KK1gxNjc3MjRZMjIwMjE4RDAxKg0KK1gxNjc3NDFZMjIwNTAwRDAxKg0KK1gxNjc3MjRZMjIwNzgyRDAxKg0KK1gxNjc2NThZMjIxMDU4RDAxKg0KK1gxNjc1NTBZMjIxMzIwRDAxKg0KK1gxNjc0MDJZMjIxNTYxRDAxKg0KK1gxNjcyMThZMjIxNzc3RDAxKg0KK1gxNjcwMDJZMjIxOTYxRDAxKg0KK1gxNjY3NjFZMjIyMTA5RDAxKg0KK1gxNjY0OTlZMjIyMjE3RDAxKg0KK1gxNjY0MzhZMjIyMjMyRDAxKg0KK1kyMjQ3NjhEMDEqDQorWDE2NjQ5OVkyMjQ3ODNEMDEqDQorWDE2Njc2MVkyMjQ4OTFEMDEqDQorWDE2NzAwMlkyMjUwMzlEMDEqDQorWDE2NzIxOFkyMjUyMjNEMDEqDQorWDE2NzQwMlkyMjU0MzlEMDEqDQorWDE2NzU1MFkyMjU2ODBEMDEqDQorWDE2NzY1OFkyMjU5NDJEMDEqDQorWDE2NzcyNFkyMjYyMThEMDEqDQorWDE2Nzc0MVkyMjY1MDBEMDEqDQorWDE2NzcyNFkyMjY3ODJEMDEqDQorWDE2NzY1OFkyMjcwNThEMDEqDQorWDE2NzU1MFkyMjczMjBEMDEqDQorWDE2NzQwMlkyMjc1NjFEMDEqDQorWDE2NzIxOFkyMjc3NzdEMDEqDQorWDE2NzAwMlkyMjc5NjFEMDEqDQorWDE2Njc2MVkyMjgxMDlEMDEqDQorWDE2NjQ5OVkyMjgyMTdEMDEqDQorWDE2NjQzOFkyMjgyMzJEMDEqDQorWTIyOTI2OEQwMSoNCitYMTY2NDk5WTIyOTI4M0QwMSoNCitYMTY2NzYxWTIyOTM5MUQwMSoNCitYMTY3MDAyWTIyOTUzOUQwMSoNCitYMTY3MjE4WTIyOTcyM0QwMSoNCitYMTY3NDAyWTIyOTkzOUQwMSoNCitYMTY3NTUwWTIzMDE4MEQwMSoNCitYMTY3NjU4WTIzMDQ0MkQwMSoNCitYMTY3NzI0WTIzMDcxOEQwMSoNCitYMTY3NzQxWTIzMTAwMEQwMSoNCitYMTY3NzI0WTIzMTI4MkQwMSoNCitYMTY3NjU4WTIzMTU1OEQwMSoNCitYMTY3NTUwWTIzMTgyMEQwMSoNCitYMTY3NDAyWTIzMjA2MUQwMSoNCitYMTY3MjE4WTIzMjI3N0QwMSoNCitYMTY3MDAyWTIzMjQ2MUQwMSoNCitYMTY2NzYxWTIzMjYwOUQwMSoNCitYMTY2NDk5WTIzMjcxN0QwMSoNCitYMTY2NDM4WTIzMjczMkQwMSoNCitZMjc4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE2MzkzOFkxNzA5NDZEMDIqWDE2NDQ2NlkxNzA3MjdEMDEqDQorWDE2NTEyNFkxNzA1NjlEMDEqDQorWDE2NTc5OVkxNzA1MTZEMDEqDQorWDE2NjQzOFkxNzA1NjZEMDEqDQorWTEwNTgwNUQwMSoNCitYMTY2MTU5WTEwNTc4M0QwMSoNCitYMTY1ODgzWTEwNTcxN0QwMSoNCitYMTY1NjIxWTEwNTYwOUQwMSoNCitYMTY1MzgwWTEwNTQ2MUQwMSoNCitYMTY1MTY0WTEwNTI3N0QwMSoNCitYMTY0OTgwWTEwNTA2MUQwMSoNCitYMTY0ODMyWTEwNDgyMEQwMSoNCitYMTY0NzI0WTEwNDU1OEQwMSoNCitYMTY0NjU4WTEwNDI4MkQwMSoNCitYMTY0NjM1WTEwNDAwMEQwMSoNCitYMTY0NjU4WTEwMzcxOEQwMSoNCitYMTY0NzI0WTEwMzQ0MkQwMSoNCitYMTY0ODMyWTEwMzE4MEQwMSoNCitYMTY0OTgwWTEwMjkzOUQwMSoNCitYMTY1MTY0WTEwMjcyM0QwMSoNCitYMTY1MzgwWTEwMjUzOUQwMSoNCitYMTY1NjIxWTEwMjM5MUQwMSoNCitYMTY1ODgzWTEwMjI4M0QwMSoNCitYMTY2MTU5WTEwMjIxN0QwMSoNCitYMTY2NDM4WTEwMjE5NUQwMSoNCitZNzY1MDBEMDEqDQorWDE2MzkzOEQwMSoNCitZMTI1Njk1RDAxKg0KK1gxNjM5NDFZMTI1Njk0RDAxKg0KK1gxNjQyMjNZMTI1NzE3RDAxKg0KK1gxNjQ0OTlZMTI1NzgzRDAxKg0KK1gxNjQ3NjFZMTI1ODkxRDAxKg0KK1gxNjUwMDJZMTI2MDM5RDAxKg0KK1gxNjUyMThZMTI2MjIzRDAxKg0KK1gxNjU0MDJZMTI2NDM5RDAxKg0KK1gxNjU1NTBZMTI2NjgwRDAxKg0KK1gxNjU2NThZMTI2OTQyRDAxKg0KK1gxNjU3MjRZMTI3MjE4RDAxKg0KK1gxNjU3NDFZMTI3NTAwRDAxKg0KK1gxNjU3MjRZMTI3NzgyRDAxKg0KK1gxNjU2NThZMTI4MDU4RDAxKg0KK1gxNjU1NTBZMTI4MzIwRDAxKg0KK1gxNjU0MDJZMTI4NTYxRDAxKg0KK1gxNjUyMThZMTI4Nzc3RDAxKg0KK1gxNjUwMDJZMTI4OTYxRDAxKg0KK1gxNjQ3NjFZMTI5MTA5RDAxKg0KK1gxNjQ0OTlZMTI5MjE3RDAxKg0KK1gxNjQyMjNZMTI5MjgzRDAxKg0KK1gxNjM5NDFZMTI5MzA2RDAxKg0KK1gxNjM5MzhZMTI5MzA1RDAxKg0KK1kxNzA5NDZEMDEqDQorRzM3Kg0KK0czNioNCitYMTYxOTM4WTE3MjkxM0QwMipYMTYxOTU2WTE3Mjg3MUQwMSoNCitYMTYyMzA5WTE3MjI5NEQwMSoNCitYMTYyNzQ5WTE3MTc3OUQwMSoNCitYMTYzMjY0WTE3MTMzOUQwMSoNCitYMTYzODQxWTE3MDk4NkQwMSoNCitYMTYzOTM4WTE3MDk0NkQwMSoNCitZMTI5MzA1RDAxKg0KK1gxNjM2NTlZMTI5MjgzRDAxKg0KK1gxNjMzODNZMTI5MjE3RDAxKg0KK1gxNjMxMjFZMTI5MTA5RDAxKg0KK1gxNjI4ODBZMTI4OTYxRDAxKg0KK1gxNjI2NjRZMTI4Nzc3RDAxKg0KK1gxNjI0ODBZMTI4NTYxRDAxKg0KK1gxNjIzMzJZMTI4MzIwRDAxKg0KK1gxNjIyMjRZMTI4MDU4RDAxKg0KK1gxNjIxNThZMTI3NzgyRDAxKg0KK1gxNjIxMzVZMTI3NTAwRDAxKg0KK1gxNjIxNThZMTI3MjE4RDAxKg0KK1gxNjIyMjRZMTI2OTQyRDAxKg0KK1gxNjIzMzJZMTI2NjgwRDAxKg0KK1gxNjI0ODBZMTI2NDM5RDAxKg0KK1gxNjI2NjRZMTI2MjIzRDAxKg0KK1gxNjI4ODBZMTI2MDM5RDAxKg0KK1gxNjMxMjFZMTI1ODkxRDAxKg0KK1gxNjMzODNZMTI1NzgzRDAxKg0KK1gxNjM2NTlZMTI1NzE3RDAxKg0KK1gxNjM5MzhZMTI1Njk1RDAxKg0KK1k3NjUwMEQwMSoNCitYMTYxOTM4RDAxKg0KK1kxNzI5MTNEMDEqDQorRzM3Kg0KK0czNioNCitZMTgyOTEzRDAyKlgxNjE5NTZZMTgyODcxRDAxKg0KK1gxNjIzMDlZMTgyMjk0RDAxKg0KK1gxNjI3NDlZMTgxNzc5RDAxKg0KK1gxNjMyNjRZMTgxMzM5RDAxKg0KK1gxNjM4NDFZMTgwOTg2RDAxKg0KK1gxNjQ0NjZZMTgwNzI3RDAxKg0KK1gxNjUxMjRZMTgwNTY5RDAxKg0KK1gxNjU3OTlZMTgwNTE2RDAxKg0KK1gxNjY0MzhZMTgwNTY2RDAxKg0KK1kxNzkwOTJEMDEqDQorWDE2NTc5OVkxNzkxNDJEMDEqDQorWDE2NTEyNFkxNzkwODlEMDEqDQorWDE2NDQ2NlkxNzg5MzFEMDEqDQorWDE2Mzg0MVkxNzg2NzJEMDEqDQorWDE2MzI2NFkxNzgzMTlEMDEqDQorWDE2Mjc0OVkxNzc4NzlEMDEqDQorWDE2MjMwOVkxNzczNjREMDEqDQorWDE2MTk1NlkxNzY3ODdEMDEqDQorWDE2MTkzOFkxNzY3NDVEMDEqDQorWTE4MjkxM0QwMSoNCitHMzcqDQorRzM2Kg0KK1kyNzg1MDBEMDIqWDE2NjQzOEQwMSoNCitZMjMyNzMyRDAxKg0KK1gxNjYyMjNZMjMyNzgzRDAxKg0KK1gxNjU5NDFZMjMyODA2RDAxKg0KK1gxNjU2NTlZMjMyNzgzRDAxKg0KK1gxNjUzODNZMjMyNzE3RDAxKg0KK1gxNjUxMjFZMjMyNjA5RDAxKg0KK1gxNjQ4ODBZMjMyNDYxRDAxKg0KK1gxNjQ2NjRZMjMyMjc3RDAxKg0KK1gxNjQ0ODBZMjMyMDYxRDAxKg0KK1gxNjQzMzJZMjMxODIwRDAxKg0KK1gxNjQyMjRZMjMxNTU4RDAxKg0KK1gxNjQxNThZMjMxMjgyRDAxKg0KK1gxNjQxMzVZMjMxMDAwRDAxKg0KK1gxNjQxNThZMjMwNzE4RDAxKg0KK1gxNjQyMjRZMjMwNDQyRDAxKg0KK1gxNjQzMzJZMjMwMTgwRDAxKg0KK1gxNjQ0ODBZMjI5OTM5RDAxKg0KK1gxNjQ2NjRZMjI5NzIzRDAxKg0KK1gxNjQ4ODBZMjI5NTM5RDAxKg0KK1gxNjUxMjFZMjI5MzkxRDAxKg0KK1gxNjUzODNZMjI5MjgzRDAxKg0KK1gxNjU2NTlZMjI5MjE3RDAxKg0KK1gxNjU5NDFZMjI5MTk0RDAxKg0KK1gxNjYyMjNZMjI5MjE3RDAxKg0KK1gxNjY0MzhZMjI5MjY4RDAxKg0KK1kyMjgyMzJEMDEqDQorWDE2NjIyM1kyMjgyODNEMDEqDQorWDE2NTk0MVkyMjgzMDZEMDEqDQorWDE2NTY1OVkyMjgyODNEMDEqDQorWDE2NTM4M1kyMjgyMTdEMDEqDQorWDE2NTEyMVkyMjgxMDlEMDEqDQorWDE2NDg4MFkyMjc5NjFEMDEqDQorWDE2NDY2NFkyMjc3NzdEMDEqDQorWDE2NDQ4MFkyMjc1NjFEMDEqDQorWDE2NDMzMlkyMjczMjBEMDEqDQorWDE2NDIyNFkyMjcwNThEMDEqDQorWDE2NDE1OFkyMjY3ODJEMDEqDQorWDE2NDEzNVkyMjY1MDBEMDEqDQorWDE2NDE1OFkyMjYyMThEMDEqDQorWDE2NDIyNFkyMjU5NDJEMDEqDQorWDE2NDMzMlkyMjU2ODBEMDEqDQorWDE2NDQ4MFkyMjU0MzlEMDEqDQorWDE2NDY2NFkyMjUyMjNEMDEqDQorWDE2NDg4MFkyMjUwMzlEMDEqDQorWDE2NTEyMVkyMjQ4OTFEMDEqDQorWDE2NTM4M1kyMjQ3ODNEMDEqDQorWDE2NTY1OVkyMjQ3MTdEMDEqDQorWDE2NTk0MVkyMjQ2OTREMDEqDQorWDE2NjIyM1kyMjQ3MTdEMDEqDQorWDE2NjQzOFkyMjQ3NjhEMDEqDQorWTIyMjIzMkQwMSoNCitYMTY2MjIzWTIyMjI4M0QwMSoNCitYMTY1OTQxWTIyMjMwNkQwMSoNCitYMTY1NjU5WTIyMjI4M0QwMSoNCitYMTY1MzgzWTIyMjIxN0QwMSoNCitYMTY1MTIxWTIyMjEwOUQwMSoNCitYMTY0ODgwWTIyMTk2MUQwMSoNCitYMTY0NjY0WTIyMTc3N0QwMSoNCitYMTY0NDgwWTIyMTU2MUQwMSoNCitYMTY0MzMyWTIyMTMyMEQwMSoNCitYMTY0MjI0WTIyMTA1OEQwMSoNCitYMTY0MTU4WTIyMDc4MkQwMSoNCitYMTY0MTM1WTIyMDUwMEQwMSoNCitYMTY0MTU4WTIyMDIxOEQwMSoNCitYMTY0MjI0WTIxOTk0MkQwMSoNCitYMTY0MzMyWTIxOTY4MEQwMSoNCitYMTY0NDgwWTIxOTQzOUQwMSoNCitYMTY0NjY0WTIxOTIyM0QwMSoNCitYMTY0ODgwWTIxOTAzOUQwMSoNCitYMTY1MTIxWTIxODg5MUQwMSoNCitYMTY1MzgzWTIxODc4M0QwMSoNCitYMTY1NjU5WTIxODcxN0QwMSoNCitYMTY1OTQxWTIxODY5NEQwMSoNCitYMTY2MjIzWTIxODcxN0QwMSoNCitYMTY2NDM4WTIxODc2OEQwMSoNCitZMTk5MjMwRDAxKg0KK1gxNjYzODNZMTk5MjE3RDAxKg0KK1gxNjYxMjFZMTk5MTA5RDAxKg0KK1gxNjU4ODBZMTk4OTYxRDAxKg0KK1gxNjU2NjRZMTk4Nzc3RDAxKg0KK1gxNjU0ODBZMTk4NTYxRDAxKg0KK1gxNjUzMzJZMTk4MzIwRDAxKg0KK1gxNjUyMjRZMTk4MDU4RDAxKg0KK1gxNjUxNThZMTk3NzgyRDAxKg0KK1gxNjUxMzVZMTk3NTAwRDAxKg0KK1gxNjUxNThZMTk3MjE4RDAxKg0KK1gxNjUyMjRZMTk2OTQyRDAxKg0KK1gxNjUzMzJZMTk2NjgwRDAxKg0KK1gxNjU0ODBZMTk2NDM5RDAxKg0KK1gxNjU2NjRZMTk2MjIzRDAxKg0KK1gxNjU4ODBZMTk2MDM5RDAxKg0KK1gxNjYxMjFZMTk1ODkxRDAxKg0KK1gxNjYzODNZMTk1NzgzRDAxKg0KK1gxNjY0MzhZMTk1NzcwRDAxKg0KK1kxOTQ3MzBEMDEqDQorWDE2NjM4M1kxOTQ3MTdEMDEqDQorWDE2NjEyMVkxOTQ2MDlEMDEqDQorWDE2NTg4MFkxOTQ0NjFEMDEqDQorWDE2NTY2NFkxOTQyNzdEMDEqDQorWDE2NTQ4MFkxOTQwNjFEMDEqDQorWDE2NTMzMlkxOTM4MjBEMDEqDQorWDE2NTIyNFkxOTM1NThEMDEqDQorWDE2NTE1OFkxOTMyODJEMDEqDQorWDE2NTEzNVkxOTMwMDBEMDEqDQorWDE2NTE1OFkxOTI3MThEMDEqDQorWDE2NTIyNFkxOTI0NDJEMDEqDQorWDE2NTMzMlkxOTIxODBEMDEqDQorWDE2NTQ4MFkxOTE5MzlEMDEqDQorWDE2NTY2NFkxOTE3MjNEMDEqDQorWDE2NTg4MFkxOTE1MzlEMDEqDQorWDE2NjEyMVkxOTEzOTFEMDEqDQorWDE2NjM4M1kxOTEyODNEMDEqDQorWDE2NjQzOFkxOTEyNzBEMDEqDQorWTE4OTA5MkQwMSoNCitYMTY1Nzk5WTE4OTE0MkQwMSoNCitYMTY1MTI0WTE4OTA4OUQwMSoNCitYMTY0NDY2WTE4ODkzMUQwMSoNCitYMTYzODQxWTE4ODY3MkQwMSoNCitYMTYzMjY0WTE4ODMxOUQwMSoNCitYMTYyNzQ5WTE4Nzg3OUQwMSoNCitYMTYyMzA5WTE4NzM2NEQwMSoNCitYMTYxOTU2WTE4Njc4N0QwMSoNCitYMTYxOTM4WTE4Njc0NUQwMSoNCitZMTkxMTk1RDAxKg0KK1gxNjE5NDFZMTkxMTk0RDAxKg0KK1gxNjIyMjNZMTkxMjE3RDAxKg0KK1gxNjI0OTlZMTkxMjgzRDAxKg0KK1gxNjI3NjFZMTkxMzkxRDAxKg0KK1gxNjMwMDJZMTkxNTM5RDAxKg0KK1gxNjMyMThZMTkxNzIzRDAxKg0KK1gxNjM0MDJZMTkxOTM5RDAxKg0KK1gxNjM1NTBZMTkyMTgwRDAxKg0KK1gxNjM2NThZMTkyNDQyRDAxKg0KK1gxNjM3MjRZMTkyNzE4RDAxKg0KK1gxNjM3NDFZMTkzMDAwRDAxKg0KK1gxNjM3MjRZMTkzMjgyRDAxKg0KK1gxNjM2NThZMTkzNTU4RDAxKg0KK1gxNjM1NTBZMTkzODIwRDAxKg0KK1gxNjM0MDJZMTk0MDYxRDAxKg0KK1gxNjMyMThZMTk0Mjc3RDAxKg0KK1gxNjMwMDJZMTk0NDYxRDAxKg0KK1gxNjI3NjFZMTk0NjA5RDAxKg0KK1gxNjI0OTlZMTk0NzE3RDAxKg0KK1gxNjIyMjNZMTk0NzgzRDAxKg0KK1gxNjE5NDFZMTk0ODA2RDAxKg0KK1gxNjE5MzhZMTk0ODA1RDAxKg0KK1kxOTcxOTVEMDEqDQorWDE2MTk0MVkxOTcxOTREMDEqDQorWDE2MjIyM1kxOTcyMTdEMDEqDQorWDE2MjQ5OVkxOTcyODNEMDEqDQorWDE2Mjc2MVkxOTczOTFEMDEqDQorWDE2MzAwMlkxOTc1MzlEMDEqDQorWDE2MzIxOFkxOTc3MjNEMDEqDQorWDE2MzQwMlkxOTc5MzlEMDEqDQorWDE2MzU1MFkxOTgxODBEMDEqDQorWDE2MzY1OFkxOTg0NDJEMDEqDQorWDE2MzcyNFkxOTg3MThEMDEqDQorWDE2Mzc0MVkxOTkwMDBEMDEqDQorWDE2MzcyNFkxOTkyODJEMDEqDQorWDE2MzY1OFkxOTk1NThEMDEqDQorWDE2MzU1MFkxOTk4MjBEMDEqDQorWDE2MzQwMlkyMDAwNjFEMDEqDQorWDE2MzIxOFkyMDAyNzdEMDEqDQorWDE2MzAwMlkyMDA0NjFEMDEqDQorWDE2Mjc2MVkyMDA2MDlEMDEqDQorWDE2MjQ5OVkyMDA3MTdEMDEqDQorWDE2MjIyM1kyMDA3ODNEMDEqDQorWDE2MTk0MVkyMDA4MDZEMDEqDQorWDE2MTkzOFkyMDA4MDVEMDEqDQorWTI0MDc3MEQwMSoNCitYMTYyMTU5WTI0MDcxN0QwMSoNCitYMTYyNDQxWTI0MDY5NEQwMSoNCitYMTYyNzIzWTI0MDcxN0QwMSoNCitYMTYyOTk5WTI0MDc4M0QwMSoNCitYMTYzMjYxWTI0MDg5MUQwMSoNCitYMTYzNTAyWTI0MTAzOUQwMSoNCitYMTYzNzE4WTI0MTIyM0QwMSoNCitYMTYzOTAyWTI0MTQzOUQwMSoNCitYMTY0MDUwWTI0MTY4MEQwMSoNCitYMTY0MTU4WTI0MTk0MkQwMSoNCitYMTY0MjI0WTI0MjIxOEQwMSoNCitYMTY0MjQxWTI0MjUwMEQwMSoNCitYMTY0MjI0WTI0Mjc4MkQwMSoNCitYMTY0MTU4WTI0MzA1OEQwMSoNCitYMTY0MDUwWTI0MzMyMEQwMSoNCitYMTYzOTAyWTI0MzU2MUQwMSoNCitYMTYzNzE4WTI0Mzc3N0QwMSoNCitYMTYzNTAyWTI0Mzk2MUQwMSoNCitYMTYzMjYxWTI0NDEwOUQwMSoNCitYMTYyOTk5WTI0NDIxN0QwMSoNCitYMTYyNzIzWTI0NDI4M0QwMSoNCitYMTYyNDQxWTI0NDMwNkQwMSoNCitYMTYyMTU5WTI0NDI4M0QwMSoNCitYMTYxOTM4WTI0NDIzMEQwMSoNCitZMjQ2NzcwRDAxKg0KK1gxNjIxNTlZMjQ2NzE3RDAxKg0KK1gxNjI0NDFZMjQ2Njk0RDAxKg0KK1gxNjI3MjNZMjQ2NzE3RDAxKg0KK1gxNjI5OTlZMjQ2NzgzRDAxKg0KK1gxNjMyNjFZMjQ2ODkxRDAxKg0KK1gxNjM1MDJZMjQ3MDM5RDAxKg0KK1gxNjM3MThZMjQ3MjIzRDAxKg0KK1gxNjM5MDJZMjQ3NDM5RDAxKg0KK1gxNjQwNTBZMjQ3NjgwRDAxKg0KK1gxNjQxNThZMjQ3OTQyRDAxKg0KK1gxNjQyMjRZMjQ4MjE4RDAxKg0KK1gxNjQyNDFZMjQ4NTAwRDAxKg0KK1gxNjQyMjRZMjQ4NzgyRDAxKg0KK1gxNjQxNThZMjQ5MDU4RDAxKg0KK1gxNjQwNTBZMjQ5MzIwRDAxKg0KK1gxNjM5MDJZMjQ5NTYxRDAxKg0KK1gxNjM3MThZMjQ5Nzc3RDAxKg0KK1gxNjM1MDJZMjQ5OTYxRDAxKg0KK1gxNjMyNjFZMjUwMTA5RDAxKg0KK1gxNjI5OTlZMjUwMjE3RDAxKg0KK1gxNjI3MjNZMjUwMjgzRDAxKg0KK1gxNjI0NDFZMjUwMzA2RDAxKg0KK1gxNjIxNTlZMjUwMjgzRDAxKg0KK1gxNjE5MzhZMjUwMjMwRDAxKg0KK1kyNTMxOTVEMDEqDQorWDE2MTk0MVkyNTMxOTREMDEqDQorWDE2MjIyM1kyNTMyMTdEMDEqDQorWDE2MjQ5OVkyNTMyODNEMDEqDQorWDE2Mjc2MVkyNTMzOTFEMDEqDQorWDE2MzAwMlkyNTM1MzlEMDEqDQorWDE2MzIxOFkyNTM3MjNEMDEqDQorWDE2MzQwMlkyNTM5MzlEMDEqDQorWDE2MzU1MFkyNTQxODBEMDEqDQorWDE2MzY1OFkyNTQ0NDJEMDEqDQorWDE2MzcyNFkyNTQ3MThEMDEqDQorWDE2Mzc0MVkyNTUwMDBEMDEqDQorWDE2MzcyNFkyNTUyODJEMDEqDQorWDE2MzY1OFkyNTU1NThEMDEqDQorWDE2MzU1MFkyNTU4MjBEMDEqDQorWDE2MzQwMlkyNTYwNjFEMDEqDQorWDE2MzIxOFkyNTYyNzdEMDEqDQorWDE2MzAwMlkyNTY0NjFEMDEqDQorWDE2Mjc2MVkyNTY2MDlEMDEqDQorWDE2MjQ5OVkyNTY3MTdEMDEqDQorWDE2MjIyM1kyNTY3ODNEMDEqDQorWDE2MTk0MVkyNTY4MDZEMDEqDQorWDE2MTkzOFkyNTY4MDVEMDEqDQorWTI2MDc3MEQwMSoNCitYMTYyMTU5WTI2MDcxN0QwMSoNCitYMTYyNDQxWTI2MDY5NEQwMSoNCitYMTYyNzIzWTI2MDcxN0QwMSoNCitYMTYyOTk5WTI2MDc4M0QwMSoNCitYMTYzMjYxWTI2MDg5MUQwMSoNCitYMTYzNTAyWTI2MTAzOUQwMSoNCitYMTYzNzE4WTI2MTIyM0QwMSoNCitYMTYzOTAyWTI2MTQzOUQwMSoNCitYMTY0MDUwWTI2MTY4MEQwMSoNCitYMTY0MTU4WTI2MTk0MkQwMSoNCitYMTY0MjI0WTI2MjIxOEQwMSoNCitYMTY0MjQxWTI2MjUwMEQwMSoNCitYMTY0MjI0WTI2Mjc4MkQwMSoNCitYMTY0MTU4WTI2MzA1OEQwMSoNCitYMTY0MDUwWTI2MzMyMEQwMSoNCitYMTYzOTAyWTI2MzU2MUQwMSoNCitYMTYzNzE4WTI2Mzc3N0QwMSoNCitYMTYzNTAyWTI2Mzk2MUQwMSoNCitYMTYzMjYxWTI2NDEwOUQwMSoNCitYMTYyOTk5WTI2NDIxN0QwMSoNCitYMTYyNzIzWTI2NDI4M0QwMSoNCitYMTYyNDQxWTI2NDMwNkQwMSoNCitYMTYyMTU5WTI2NDI4M0QwMSoNCitYMTYxOTM4WTI2NDIzMEQwMSoNCitZMjY3MDAzRDAxKg0KK1gxNjIxMjFZMjY2ODkxRDAxKg0KK1gxNjIzODNZMjY2NzgzRDAxKg0KK1gxNjI2NTlZMjY2NzE3RDAxKg0KK1gxNjI5NDFZMjY2Njk0RDAxKg0KK1gxNjMyMjNZMjY2NzE3RDAxKg0KK1gxNjM0OTlZMjY2NzgzRDAxKg0KK1gxNjM3NjFZMjY2ODkxRDAxKg0KK1gxNjQwMDJZMjY3MDM5RDAxKg0KK1gxNjQyMThZMjY3MjIzRDAxKg0KK1gxNjQ0MDJZMjY3NDM5RDAxKg0KK1gxNjQ1NTBZMjY3NjgwRDAxKg0KK1gxNjQ2NThZMjY3OTQyRDAxKg0KK1gxNjQ3MjRZMjY4MjE4RDAxKg0KK1gxNjQ3NDFZMjY4NTAwRDAxKg0KK1gxNjQ3MjRZMjY4NzgyRDAxKg0KK1gxNjQ2NThZMjY5MDU4RDAxKg0KK1gxNjQ1NTBZMjY5MzIwRDAxKg0KK1gxNjQ0MDJZMjY5NTYxRDAxKg0KK1gxNjQyMThZMjY5Nzc3RDAxKg0KK1gxNjQwMDJZMjY5OTYxRDAxKg0KK1gxNjM3NjFZMjcwMTA5RDAxKg0KK1gxNjM0OTlZMjcwMjE3RDAxKg0KK1gxNjMyMjNZMjcwMjgzRDAxKg0KK1gxNjI5NDFZMjcwMzA2RDAxKg0KK1gxNjI2NTlZMjcwMjgzRDAxKg0KK1gxNjIzODNZMjcwMjE3RDAxKg0KK1gxNjIxMjFZMjcwMTA5RDAxKg0KK1gxNjE5MzhZMjY5OTk3RDAxKg0KK1kyNzMwMDNEMDEqDQorWDE2MjEyMVkyNzI4OTFEMDEqDQorWDE2MjM4M1kyNzI3ODNEMDEqDQorWDE2MjY1OVkyNzI3MTdEMDEqDQorWDE2Mjk0MVkyNzI2OTREMDEqDQorWDE2MzIyM1kyNzI3MTdEMDEqDQorWDE2MzQ5OVkyNzI3ODNEMDEqDQorWDE2Mzc2MVkyNzI4OTFEMDEqDQorWDE2NDAwMlkyNzMwMzlEMDEqDQorWDE2NDIxOFkyNzMyMjNEMDEqDQorWDE2NDQwMlkyNzM0MzlEMDEqDQorWDE2NDU1MFkyNzM2ODBEMDEqDQorWDE2NDY1OFkyNzM5NDJEMDEqDQorWDE2NDcyNFkyNzQyMThEMDEqDQorWDE2NDc0MVkyNzQ1MDBEMDEqDQorWDE2NDcyNFkyNzQ3ODJEMDEqDQorWDE2NDY1OFkyNzUwNThEMDEqDQorWDE2NDU1MFkyNzUzMjBEMDEqDQorWDE2NDQwMlkyNzU1NjFEMDEqDQorWDE2NDIxOFkyNzU3NzdEMDEqDQorWDE2NDAwMlkyNzU5NjFEMDEqDQorWDE2Mzc2MVkyNzYxMDlEMDEqDQorWDE2MzQ5OVkyNzYyMTdEMDEqDQorWDE2MzIyM1kyNzYyODNEMDEqDQorWDE2Mjk0MVkyNzYzMDZEMDEqDQorWDE2MjY1OVkyNzYyODNEMDEqDQorWDE2MjM4M1kyNzYyMTdEMDEqDQorWDE2MjEyMVkyNzYxMDlEMDEqDQorWDE2MTkzOFkyNzU5OTdEMDEqDQorWTI3ODUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNTI0MzhZMzQyNTAwRDAyKlgxNTY5NDFEMDEqDQorWTMyOTgyNkQwMSoNCitYMTU2ODMyWTMyOTY0OUQwMSoNCitYMTU2NzI0WTMyOTM4N0QwMSoNCitYMTU2NjU4WTMyOTExMUQwMSoNCitYMTU2NjM1WTMyODgyOUQwMSoNCitYMTU2NjU4WTMyODU0N0QwMSoNCitYMTU2NzI0WTMyODI3MUQwMSoNCitYMTU2ODMyWTMyODAwOUQwMSoNCitYMTU2OTQxWTMyNzgzMkQwMSoNCitZMzI3NDk3RDAxKg0KK1gxNTY4MzJZMzI3MzIwRDAxKg0KK1gxNTY3MjRZMzI3MDU4RDAxKg0KK1gxNTY2NThZMzI2NzgyRDAxKg0KK1gxNTY2MzVZMzI2NTAwRDAxKg0KK1gxNTY2NThZMzI2MjE4RDAxKg0KK1gxNTY3MjRZMzI1OTQyRDAxKg0KK1gxNTY4MzJZMzI1NjgwRDAxKg0KK1gxNTY5NDFZMzI1NTAzRDAxKg0KK1kzMjQ4MjZEMDEqDQorWDE1NjgzMlkzMjQ2NDlEMDEqDQorWDE1NjcyNFkzMjQzODdEMDEqDQorWDE1NjY1OFkzMjQxMTFEMDEqDQorWDE1NjYzNVkzMjM4MjlEMDEqDQorWDE1NjY1OFkzMjM1NDdEMDEqDQorWDE1NjcyNFkzMjMyNzFEMDEqDQorWDE1NjgzMlkzMjMwMDlEMDEqDQorWDE1Njk0MVkzMjI4MzJEMDEqDQorWTI3ODUwMEQwMSoNCitYMTYxOTM4RDAxKg0KK1kyNzU5OTdEMDEqDQorWDE2MTg4MFkyNzU5NjFEMDEqDQorWDE2MTY2NFkyNzU3NzdEMDEqDQorWDE2MTQ4MFkyNzU1NjFEMDEqDQorWDE2MTMzMlkyNzUzMjBEMDEqDQorWDE2MTIyNFkyNzUwNThEMDEqDQorWDE2MTE1OFkyNzQ3ODJEMDEqDQorWDE2MTEzNVkyNzQ1MDBEMDEqDQorWDE2MTE1OFkyNzQyMThEMDEqDQorWDE2MTIyNFkyNzM5NDJEMDEqDQorWDE2MTMzMlkyNzM2ODBEMDEqDQorWDE2MTQ4MFkyNzM0MzlEMDEqDQorWDE2MTY2NFkyNzMyMjNEMDEqDQorWDE2MTg4MFkyNzMwMzlEMDEqDQorWDE2MTkzOFkyNzMwMDNEMDEqDQorWTI2OTk5N0QwMSoNCitYMTYxODgwWTI2OTk2MUQwMSoNCitYMTYxNjY0WTI2OTc3N0QwMSoNCitYMTYxNDgwWTI2OTU2MUQwMSoNCitYMTYxMzMyWTI2OTMyMEQwMSoNCitYMTYxMjI0WTI2OTA1OEQwMSoNCitYMTYxMTU4WTI2ODc4MkQwMSoNCitYMTYxMTM1WTI2ODUwMEQwMSoNCitYMTYxMTU4WTI2ODIxOEQwMSoNCitYMTYxMjI0WTI2Nzk0MkQwMSoNCitYMTYxMzMyWTI2NzY4MEQwMSoNCitYMTYxNDgwWTI2NzQzOUQwMSoNCitYMTYxNjY0WTI2NzIyM0QwMSoNCitYMTYxODgwWTI2NzAzOUQwMSoNCitYMTYxOTM4WTI2NzAwM0QwMSoNCitZMjY0MjMwRDAxKg0KK1gxNjE4ODNZMjY0MjE3RDAxKg0KK1gxNjE2MjFZMjY0MTA5RDAxKg0KK1gxNjEzODBZMjYzOTYxRDAxKg0KK1gxNjExNjRZMjYzNzc3RDAxKg0KK1gxNjA5ODBZMjYzNTYxRDAxKg0KK1gxNjA4MzJZMjYzMzIwRDAxKg0KK1gxNjA3MjRZMjYzMDU4RDAxKg0KK1gxNjA2NThZMjYyNzgyRDAxKg0KK1gxNjA2MzVZMjYyNTAwRDAxKg0KK1gxNjA2NThZMjYyMjE4RDAxKg0KK1gxNjA3MjRZMjYxOTQyRDAxKg0KK1gxNjA4MzJZMjYxNjgwRDAxKg0KK1gxNjA5ODBZMjYxNDM5RDAxKg0KK1gxNjExNjRZMjYxMjIzRDAxKg0KK1gxNjEzODBZMjYxMDM5RDAxKg0KK1gxNjE2MjFZMjYwODkxRDAxKg0KK1gxNjE4ODNZMjYwNzgzRDAxKg0KK1gxNjE5MzhZMjYwNzcwRDAxKg0KK1kyNTY4MDVEMDEqDQorWDE2MTY1OVkyNTY3ODNEMDEqDQorWDE2MTM4M1kyNTY3MTdEMDEqDQorWDE2MTEyMVkyNTY2MDlEMDEqDQorWDE2MDg4MFkyNTY0NjFEMDEqDQorWDE2MDY2NFkyNTYyNzdEMDEqDQorWDE2MDQ4MFkyNTYwNjFEMDEqDQorWDE2MDMzMlkyNTU4MjBEMDEqDQorWDE2MDIyNFkyNTU1NThEMDEqDQorWDE2MDE1OFkyNTUyODJEMDEqDQorWDE2MDEzNVkyNTUwMDBEMDEqDQorWDE2MDE1OFkyNTQ3MThEMDEqDQorWDE2MDIyNFkyNTQ0NDJEMDEqDQorWDE2MDMzMlkyNTQxODBEMDEqDQorWDE2MDQ4MFkyNTM5MzlEMDEqDQorWDE2MDY2NFkyNTM3MjNEMDEqDQorWDE2MDg4MFkyNTM1MzlEMDEqDQorWDE2MTEyMVkyNTMzOTFEMDEqDQorWDE2MTM4M1kyNTMyODNEMDEqDQorWDE2MTY1OVkyNTMyMTdEMDEqDQorWDE2MTkzOFkyNTMxOTVEMDEqDQorWTI1MDIzMEQwMSoNCitYMTYxODgzWTI1MDIxN0QwMSoNCitYMTYxNjIxWTI1MDEwOUQwMSoNCitYMTYxMzgwWTI0OTk2MUQwMSoNCitYMTYxMTY0WTI0OTc3N0QwMSoNCitYMTYwOTgwWTI0OTU2MUQwMSoNCitYMTYwODMyWTI0OTMyMEQwMSoNCitYMTYwNzI0WTI0OTA1OEQwMSoNCitYMTYwNjU4WTI0ODc4MkQwMSoNCitYMTYwNjM1WTI0ODUwMEQwMSoNCitYMTYwNjU4WTI0ODIxOEQwMSoNCitYMTYwNzI0WTI0Nzk0MkQwMSoNCitYMTYwODMyWTI0NzY4MEQwMSoNCitYMTYwOTgwWTI0NzQzOUQwMSoNCitYMTYxMTY0WTI0NzIyM0QwMSoNCitYMTYxMzgwWTI0NzAzOUQwMSoNCitYMTYxNjIxWTI0Njg5MUQwMSoNCitYMTYxODgzWTI0Njc4M0QwMSoNCitYMTYxOTM4WTI0Njc3MEQwMSoNCitZMjQ0MjMwRDAxKg0KK1gxNjE4ODNZMjQ0MjE3RDAxKg0KK1gxNjE2MjFZMjQ0MTA5RDAxKg0KK1gxNjEzODBZMjQzOTYxRDAxKg0KK1gxNjExNjRZMjQzNzc3RDAxKg0KK1gxNjA5ODBZMjQzNTYxRDAxKg0KK1gxNjA4MzJZMjQzMzIwRDAxKg0KK1gxNjA3MjRZMjQzMDU4RDAxKg0KK1gxNjA2NThZMjQyNzgyRDAxKg0KK1gxNjA2MzVZMjQyNTAwRDAxKg0KK1gxNjA2NThZMjQyMjE4RDAxKg0KK1gxNjA3MjRZMjQxOTQyRDAxKg0KK1gxNjA4MzJZMjQxNjgwRDAxKg0KK1gxNjA5ODBZMjQxNDM5RDAxKg0KK1gxNjExNjRZMjQxMjIzRDAxKg0KK1gxNjEzODBZMjQxMDM5RDAxKg0KK1gxNjE2MjFZMjQwODkxRDAxKg0KK1gxNjE4ODNZMjQwNzgzRDAxKg0KK1gxNjE5MzhZMjQwNzcwRDAxKg0KK1kyMDA4MDVEMDEqDQorWDE2MTY1OVkyMDA3ODNEMDEqDQorWDE2MTM4M1kyMDA3MTdEMDEqDQorWDE2MTEyMVkyMDA2MDlEMDEqDQorWDE2MDg4MFkyMDA0NjFEMDEqDQorWDE2MDY2NFkyMDAyNzdEMDEqDQorWDE2MDQ4MFkyMDAwNjFEMDEqDQorWDE2MDMzMlkxOTk4MjBEMDEqDQorWDE2MDIyNFkxOTk1NThEMDEqDQorWDE2MDE1OFkxOTkyODJEMDEqDQorWDE2MDEzNVkxOTkwMDBEMDEqDQorWDE2MDE1OFkxOTg3MThEMDEqDQorWDE2MDIyNFkxOTg0NDJEMDEqDQorWDE2MDMzMlkxOTgxODBEMDEqDQorWDE2MDQ4MFkxOTc5MzlEMDEqDQorWDE2MDY2NFkxOTc3MjNEMDEqDQorWDE2MDg4MFkxOTc1MzlEMDEqDQorWDE2MTEyMVkxOTczOTFEMDEqDQorWDE2MTM4M1kxOTcyODNEMDEqDQorWDE2MTY1OVkxOTcyMTdEMDEqDQorWDE2MTkzOFkxOTcxOTVEMDEqDQorWTE5NDgwNUQwMSoNCitYMTYxNjU5WTE5NDc4M0QwMSoNCitYMTYxMzgzWTE5NDcxN0QwMSoNCitYMTYxMTIxWTE5NDYwOUQwMSoNCitYMTYwODgwWTE5NDQ2MUQwMSoNCitYMTYwNjY0WTE5NDI3N0QwMSoNCitYMTYwNDgwWTE5NDA2MUQwMSoNCitYMTYwMzMyWTE5MzgyMEQwMSoNCitYMTYwMjI0WTE5MzU1OEQwMSoNCitYMTYwMTU4WTE5MzI4MkQwMSoNCitYMTYwMTM1WTE5MzAwMEQwMSoNCitYMTYwMTU4WTE5MjcxOEQwMSoNCitYMTYwMjI0WTE5MjQ0MkQwMSoNCitYMTYwMzMyWTE5MjE4MEQwMSoNCitYMTYwNDgwWTE5MTkzOUQwMSoNCitYMTYwNjY0WTE5MTcyM0QwMSoNCitYMTYwODgwWTE5MTUzOUQwMSoNCitYMTYxMTIxWTE5MTM5MUQwMSoNCitYMTYxMzgzWTE5MTI4M0QwMSoNCitYMTYxNjU5WTE5MTIxN0QwMSoNCitYMTYxOTM4WTE5MTE5NUQwMSoNCitZMTg2NzQ1RDAxKg0KK1gxNjE2OTdZMTg2MTYyRDAxKg0KK1gxNjE1MzlZMTg1NTA0RDAxKg0KK1gxNjE0ODZZMTg0ODI5RDAxKg0KK1gxNjE1MzlZMTg0MTU0RDAxKg0KK1gxNjE2OTdZMTgzNDk2RDAxKg0KK1gxNjE5MzhZMTgyOTEzRDAxKg0KK1kxNzY3NDVEMDEqDQorWDE2MTY5N1kxNzYxNjJEMDEqDQorWDE2MTUzOVkxNzU1MDREMDEqDQorWDE2MTQ4NlkxNzQ4MjlEMDEqDQorWDE2MTUzOVkxNzQxNTREMDEqDQorWDE2MTY5N1kxNzM0OTZEMDEqDQorWDE2MTkzOFkxNzI5MTNEMDEqDQorWTc2NTAwRDAxKg0KK1gxNTI0MzhEMDEqDQorWTExOTY5NUQwMSoNCitYMTUyNDQxWTExOTY5NEQwMSoNCitYMTUyNzIzWTExOTcxN0QwMSoNCitYMTUyOTk5WTExOTc4M0QwMSoNCitYMTUzMjYxWTExOTg5MUQwMSoNCitYMTUzNTAyWTEyMDAzOUQwMSoNCitYMTUzNzE4WTEyMDIyM0QwMSoNCitYMTUzOTAyWTEyMDQzOUQwMSoNCitYMTU0MDUwWTEyMDY4MEQwMSoNCitYMTU0MTU4WTEyMDk0MkQwMSoNCitYMTU0MjI0WTEyMTIxOEQwMSoNCitYMTU0MjQxWTEyMTUwMEQwMSoNCitYMTU0MjI0WTEyMTc4MkQwMSoNCitYMTU0MTU4WTEyMjA1OEQwMSoNCitYMTU0MDUwWTEyMjMyMEQwMSoNCitYMTUzOTAyWTEyMjU2MUQwMSoNCitYMTUzNzE4WTEyMjc3N0QwMSoNCitYMTUzNTAyWTEyMjk2MUQwMSoNCitYMTUzMjYxWTEyMzEwOUQwMSoNCitYMTUyOTk5WTEyMzIxN0QwMSoNCitYMTUyNzIzWTEyMzI4M0QwMSoNCitYMTUyNDQxWTEyMzMwNkQwMSoNCitYMTUyNDM4WTEyMzMwNUQwMSoNCitZMTMwMjY4RDAxKg0KK1gxNTI0OTlZMTMwMjgzRDAxKg0KK1gxNTI3NjFZMTMwMzkxRDAxKg0KK1gxNTMwMDJZMTMwNTM5RDAxKg0KK1gxNTMyMThZMTMwNzIzRDAxKg0KK1gxNTM0MDJZMTMwOTM5RDAxKg0KK1gxNTM1NTBZMTMxMTgwRDAxKg0KK1gxNTM2NThZMTMxNDQyRDAxKg0KK1gxNTM3MjRZMTMxNzE4RDAxKg0KK1gxNTM3NDFZMTMyMDAwRDAxKg0KK1gxNTM3MjRZMTMyMjgyRDAxKg0KK1gxNTM2NThZMTMyNTU4RDAxKg0KK1gxNTM1NTBZMTMyODIwRDAxKg0KK1gxNTM0MDJZMTMzMDYxRDAxKg0KK1gxNTMyMThZMTMzMjc3RDAxKg0KK1gxNTMwMDJZMTMzNDYxRDAxKg0KK1gxNTI3NjFZMTMzNjA5RDAxKg0KK1gxNTI0OTlZMTMzNzE3RDAxKg0KK1gxNTI0MzhZMTMzNzMyRDAxKg0KK1kxNzIxNDNEMDEqDQorWDE1Mjc0OVkxNzE3NzlEMDEqDQorWDE1MzI2NFkxNzEzMzlEMDEqDQorWDE1Mzg0MVkxNzA5ODZEMDEqDQorWDE1NDQ2NlkxNzA3MjdEMDEqDQorWDE1NTEyNFkxNzA1NjlEMDEqDQorWDE1NTc5OVkxNzA1MTZEMDEqDQorWDE1NjQ3NFkxNzA1NjlEMDEqDQorWDE1NzEzMlkxNzA3MjdEMDEqDQorWDE1Nzc1N1kxNzA5ODZEMDEqDQorWDE1ODMzNFkxNzEzMzlEMDEqDQorWDE1ODg0OVkxNzE3NzlEMDEqDQorWDE1OTI4OVkxNzIyOTREMDEqDQorWDE1OTY0MlkxNzI4NzFEMDEqDQorWDE1OTkwMVkxNzM0OTZEMDEqDQorWDE2MDA1OVkxNzQxNTREMDEqDQorWDE2MDA5OVkxNzQ4MjlEMDEqDQorWDE2MDA1OVkxNzU1MDREMDEqDQorWDE1OTkwMVkxNzYxNjJEMDEqDQorWDE1OTY0MlkxNzY3ODdEMDEqDQorWDE1OTI4OVkxNzczNjREMDEqDQorWDE1ODg0OVkxNzc4NzlEMDEqDQorWDE1ODMzNFkxNzgzMTlEMDEqDQorWDE1Nzc1N1kxNzg2NzJEMDEqDQorWDE1NzEzMlkxNzg5MzFEMDEqDQorWDE1NjQ3NFkxNzkwODlEMDEqDQorWDE1NTc5OVkxNzkxNDJEMDEqDQorWDE1NTEyNFkxNzkwODlEMDEqDQorWDE1NDQ2NlkxNzg5MzFEMDEqDQorWDE1Mzg0MVkxNzg2NzJEMDEqDQorWDE1MzI2NFkxNzgzMTlEMDEqDQorWDE1Mjc0OVkxNzc4NzlEMDEqDQorWDE1MjQzOFkxNzc1MTVEMDEqDQorWTE4MjE0M0QwMSoNCitYMTUyNzQ5WTE4MTc3OUQwMSoNCitYMTUzMjY0WTE4MTMzOUQwMSoNCitYMTUzODQxWTE4MDk4NkQwMSoNCitYMTU0NDY2WTE4MDcyN0QwMSoNCitYMTU1MTI0WTE4MDU2OUQwMSoNCitYMTU1Nzk5WTE4MDUxNkQwMSoNCitYMTU2NDc0WTE4MDU2OUQwMSoNCitYMTU3MTMyWTE4MDcyN0QwMSoNCitYMTU3NzU3WTE4MDk4NkQwMSoNCitYMTU4MzM0WTE4MTMzOUQwMSoNCitYMTU4ODQ5WTE4MTc3OUQwMSoNCitYMTU5Mjg5WTE4MjI5NEQwMSoNCitYMTU5NjQyWTE4Mjg3MUQwMSoNCitYMTU5OTAxWTE4MzQ5NkQwMSoNCitYMTYwMDU5WTE4NDE1NEQwMSoNCitYMTYwMDk5WTE4NDgyOUQwMSoNCitYMTYwMDU5WTE4NTUwNEQwMSoNCitYMTU5OTAxWTE4NjE2MkQwMSoNCitYMTU5NjQyWTE4Njc4N0QwMSoNCitYMTU5Mjg5WTE4NzM2NEQwMSoNCitYMTU4ODQ5WTE4Nzg3OUQwMSoNCitYMTU4MzM0WTE4ODMxOUQwMSoNCitYMTU3NzU3WTE4ODY3MkQwMSoNCitYMTU3MTMyWTE4ODkzMUQwMSoNCitYMTU2NDc0WTE4OTA4OUQwMSoNCitYMTU1Nzk5WTE4OTE0MkQwMSoNCitYMTU1MTI0WTE4OTA4OUQwMSoNCitYMTU0NDY2WTE4ODkzMUQwMSoNCitYMTUzODQxWTE4ODY3MkQwMSoNCitYMTUzMjY0WTE4ODMxOUQwMSoNCitYMTUyNzQ5WTE4Nzg3OUQwMSoNCitYMTUyNDM4WTE4NzUxNUQwMSoNCitZMzM3MDA3RDAxKg0KK1gxNTI0ODBZMzM2OTM5RDAxKg0KK1gxNTI2NjRZMzM2NzIzRDAxKg0KK1gxNTI4ODBZMzM2NTM5RDAxKg0KK1gxNTMxMjFZMzM2MzkxRDAxKg0KK1gxNTMzODNZMzM2MjgzRDAxKg0KK1gxNTM2NTlZMzM2MjE3RDAxKg0KK1gxNTM5NDFZMzM2MTk0RDAxKg0KK1gxNTQyMjNZMzM2MjE3RDAxKg0KK1gxNTQ0OTlZMzM2MjgzRDAxKg0KK1gxNTQ3NjFZMzM2MzkxRDAxKg0KK1gxNTUwMDJZMzM2NTM5RDAxKg0KK1gxNTUyMThZMzM2NzIzRDAxKg0KK1gxNTU0MDJZMzM2OTM5RDAxKg0KK1gxNTU1NTBZMzM3MTgwRDAxKg0KK1gxNTU2NThZMzM3NDQyRDAxKg0KK1gxNTU3MjRZMzM3NzE4RDAxKg0KK1gxNTU3NDFZMzM4MDAwRDAxKg0KK1gxNTU3MjRZMzM4MjgyRDAxKg0KK1gxNTU2NThZMzM4NTU4RDAxKg0KK1gxNTU1NTBZMzM4ODIwRDAxKg0KK1gxNTU0MDJZMzM5MDYxRDAxKg0KK1gxNTUyMThZMzM5Mjc3RDAxKg0KK1gxNTUwMDJZMzM5NDYxRDAxKg0KK1gxNTQ3NjFZMzM5NjA5RDAxKg0KK1gxNTQ0OTlZMzM5NzE3RDAxKg0KK1gxNTQyMjNZMzM5NzgzRDAxKg0KK1gxNTM5NDFZMzM5ODA2RDAxKg0KK1gxNTM2NTlZMzM5NzgzRDAxKg0KK1gxNTMzODNZMzM5NzE3RDAxKg0KK1gxNTMxMjFZMzM5NjA5RDAxKg0KK1gxNTI4ODBZMzM5NDYxRDAxKg0KK1gxNTI2NjRZMzM5Mjc3RDAxKg0KK1gxNTI0ODBZMzM5MDYxRDAxKg0KK1gxNTI0MzhZMzM4OTkzRDAxKg0KK1kzNDI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTQ5OTM4RDAyKlgxNTI0MzhEMDEqDQorWTMzODk5M0QwMSoNCitYMTUyMzMyWTMzODgyMEQwMSoNCitYMTUyMjI0WTMzODU1OEQwMSoNCitYMTUyMTU4WTMzODI4MkQwMSoNCitYMTUyMTM1WTMzODAwMEQwMSoNCitYMTUyMTU4WTMzNzcxOEQwMSoNCitYMTUyMjI0WTMzNzQ0MkQwMSoNCitYMTUyMzMyWTMzNzE4MEQwMSoNCitYMTUyNDM4WTMzNzAwN0QwMSoNCitZMTg3NTE1RDAxKg0KK1gxNTIzMDlZMTg3MzY0RDAxKg0KK1gxNTE5NTZZMTg2Nzg3RDAxKg0KK1gxNTE2OTdZMTg2MTYyRDAxKg0KK1gxNTE1MzlZMTg1NTA0RDAxKg0KK1gxNTE0ODZZMTg0ODI5RDAxKg0KK1gxNTE1MzlZMTg0MTU0RDAxKg0KK1gxNTE2OTdZMTgzNDk2RDAxKg0KK1gxNTE5NTZZMTgyODcxRDAxKg0KK1gxNTIzMDlZMTgyMjk0RDAxKg0KK1gxNTI0MzhZMTgyMTQzRDAxKg0KK1kxNzc1MTVEMDEqDQorWDE1MjMwOVkxNzczNjREMDEqDQorWDE1MTk1NlkxNzY3ODdEMDEqDQorWDE1MTY5N1kxNzYxNjJEMDEqDQorWDE1MTUzOVkxNzU1MDREMDEqDQorWDE1MTQ4NlkxNzQ4MjlEMDEqDQorWDE1MTUzOVkxNzQxNTREMDEqDQorWDE1MTY5N1kxNzM0OTZEMDEqDQorWDE1MTk1NlkxNzI4NzFEMDEqDQorWDE1MjMwOVkxNzIyOTREMDEqDQorWDE1MjQzOFkxNzIxNDNEMDEqDQorWTEzMzczMkQwMSoNCitYMTUyMjIzWTEzMzc4M0QwMSoNCitYMTUxOTQxWTEzMzgwNkQwMSoNCitYMTUxNjU5WTEzMzc4M0QwMSoNCitYMTUxMzgzWTEzMzcxN0QwMSoNCitYMTUxMTIxWTEzMzYwOUQwMSoNCitYMTUwODgwWTEzMzQ2MUQwMSoNCitYMTUwNjY0WTEzMzI3N0QwMSoNCitYMTUwNDgwWTEzMzA2MUQwMSoNCitYMTUwMzMyWTEzMjgyMEQwMSoNCitYMTUwMjI0WTEzMjU1OEQwMSoNCitYMTUwMTU4WTEzMjI4MkQwMSoNCitYMTUwMTM1WTEzMjAwMEQwMSoNCitYMTUwMTU4WTEzMTcxOEQwMSoNCitYMTUwMjI0WTEzMTQ0MkQwMSoNCitYMTUwMzMyWTEzMTE4MEQwMSoNCitYMTUwNDgwWTEzMDkzOUQwMSoNCitYMTUwNjY0WTEzMDcyM0QwMSoNCitYMTUwODgwWTEzMDUzOUQwMSoNCitYMTUxMTIxWTEzMDM5MUQwMSoNCitYMTUxMzgzWTEzMDI4M0QwMSoNCitYMTUxNjU5WTEzMDIxN0QwMSoNCitYMTUxOTQxWTEzMDE5NEQwMSoNCitYMTUyMjIzWTEzMDIxN0QwMSoNCitYMTUyNDM4WTEzMDI2OEQwMSoNCitZMTIzMzA1RDAxKg0KK1gxNTIxNTlZMTIzMjgzRDAxKg0KK1gxNTE4ODNZMTIzMjE3RDAxKg0KK1gxNTE2MjFZMTIzMTA5RDAxKg0KK1gxNTEzODBZMTIyOTYxRDAxKg0KK1gxNTExNjRZMTIyNzc3RDAxKg0KK1gxNTA5ODBZMTIyNTYxRDAxKg0KK1gxNTA4MzJZMTIyMzIwRDAxKg0KK1gxNTA3MjRZMTIyMDU4RDAxKg0KK1gxNTA2NThZMTIxNzgyRDAxKg0KK1gxNTA2MzVZMTIxNTAwRDAxKg0KK1gxNTA2NThZMTIxMjE4RDAxKg0KK1gxNTA3MjRZMTIwOTQyRDAxKg0KK1gxNTA4MzJZMTIwNjgwRDAxKg0KK1gxNTA5ODBZMTIwNDM5RDAxKg0KK1gxNTExNjRZMTIwMjIzRDAxKg0KK1gxNTEzODBZMTIwMDM5RDAxKg0KK1gxNTE2MjFZMTE5ODkxRDAxKg0KK1gxNTE4ODNZMTE5NzgzRDAxKg0KK1gxNTIxNTlZMTE5NzE3RDAxKg0KK1gxNTI0MzhZMTE5Njk1RDAxKg0KK1k3NjUwMEQwMSoNCitYMTQ5OTM4RDAxKg0KK1kxNDcxOTVEMDEqDQorWDE0OTk0MVkxNDcxOTREMDEqDQorWDE1MDIyM1kxNDcyMTdEMDEqDQorWDE1MDQ5OVkxNDcyODNEMDEqDQorWDE1MDc2MVkxNDczOTFEMDEqDQorWDE1MTAwMlkxNDc1MzlEMDEqDQorWDE1MTIxOFkxNDc3MjNEMDEqDQorWDE1MTQwMlkxNDc5MzlEMDEqDQorWDE1MTU1MFkxNDgxODBEMDEqDQorWDE1MTY1OFkxNDg0NDJEMDEqDQorWDE1MTcyNFkxNDg3MThEMDEqDQorWDE1MTc0MVkxNDkwMDBEMDEqDQorWDE1MTcyNFkxNDkyODJEMDEqDQorWDE1MTY1OFkxNDk1NThEMDEqDQorWDE1MTU1MFkxNDk4MjBEMDEqDQorWDE1MTQwMlkxNTAwNjFEMDEqDQorWDE1MTIxOFkxNTAyNzdEMDEqDQorWDE1MTAwMlkxNTA0NjFEMDEqDQorWDE1MDc2MVkxNTA2MDlEMDEqDQorWDE1MDQ5OVkxNTA3MTdEMDEqDQorWDE1MDIyM1kxNTA3ODNEMDEqDQorWDE0OTk0MVkxNTA4MDZEMDEqDQorWDE0OTkzOFkxNTA4MDVEMDEqDQorWTE3MzY1MUQwMSoNCitYMTUwMDU5WTE3NDE1NEQwMSoNCitYMTUwMDk5WTE3NDgyOUQwMSoNCitYMTUwMDU5WTE3NTUwNEQwMSoNCitYMTQ5OTM4WTE3NjAwN0QwMSoNCitZMTgzNjUxRDAxKg0KK1gxNTAwNTlZMTg0MTU0RDAxKg0KK1gxNTAwOTlZMTg0ODI5RDAxKg0KK1gxNTAwNTlZMTg1NTA0RDAxKg0KK1gxNDk5MzhZMTg2MDA3RDAxKg0KK1kzNDI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTQxNDM4RDAyKlgxNDk5MzhEMDEqDQorWTE4NjAwN0QwMSoNCitYMTQ5OTAxWTE4NjE2MkQwMSoNCitYMTQ5NjQyWTE4Njc4N0QwMSoNCitYMTQ5Mjg5WTE4NzM2NEQwMSoNCitYMTQ4ODQ5WTE4Nzg3OUQwMSoNCitYMTQ4MzM0WTE4ODMxOUQwMSoNCitYMTQ3NzU3WTE4ODY3MkQwMSoNCitYMTQ3MTMyWTE4ODkzMUQwMSoNCitYMTQ2NDc0WTE4OTA4OUQwMSoNCitYMTQ1Nzk5WTE4OTE0MkQwMSoNCitYMTQ1MTI0WTE4OTA4OUQwMSoNCitYMTQ0NDY2WTE4ODkzMUQwMSoNCitYMTQzODQxWTE4ODY3MkQwMSoNCitYMTQzMjY0WTE4ODMxOUQwMSoNCitYMTQyNzQ5WTE4Nzg3OUQwMSoNCitYMTQyMzA5WTE4NzM2NEQwMSoNCitYMTQxOTU2WTE4Njc4N0QwMSoNCitYMTQxNjk3WTE4NjE2MkQwMSoNCitYMTQxNTM5WTE4NTUwNEQwMSoNCitYMTQxNDg2WTE4NDgyOUQwMSoNCitYMTQxNTM5WTE4NDE1NEQwMSoNCitYMTQxNjk3WTE4MzQ5NkQwMSoNCitYMTQxOTU2WTE4Mjg3MUQwMSoNCitYMTQyMzA5WTE4MjI5NEQwMSoNCitYMTQyNzQ5WTE4MTc3OUQwMSoNCitYMTQzMjY0WTE4MTMzOUQwMSoNCitYMTQzODQxWTE4MDk4NkQwMSoNCitYMTQ0NDY2WTE4MDcyN0QwMSoNCitYMTQ1MTI0WTE4MDU2OUQwMSoNCitYMTQ1Nzk5WTE4MDUxNkQwMSoNCitYMTQ2NDc0WTE4MDU2OUQwMSoNCitYMTQ3MTMyWTE4MDcyN0QwMSoNCitYMTQ3NzU3WTE4MDk4NkQwMSoNCitYMTQ4MzM0WTE4MTMzOUQwMSoNCitYMTQ4ODQ5WTE4MTc3OUQwMSoNCitYMTQ5Mjg5WTE4MjI5NEQwMSoNCitYMTQ5NjQyWTE4Mjg3MUQwMSoNCitYMTQ5OTAxWTE4MzQ5NkQwMSoNCitYMTQ5OTM4WTE4MzY1MUQwMSoNCitZMTc2MDA3RDAxKg0KK1gxNDk5MDFZMTc2MTYyRDAxKg0KK1gxNDk2NDJZMTc2Nzg3RDAxKg0KK1gxNDkyODlZMTc3MzY0RDAxKg0KK1gxNDg4NDlZMTc3ODc5RDAxKg0KK1gxNDgzMzRZMTc4MzE5RDAxKg0KK1gxNDc3NTdZMTc4NjcyRDAxKg0KK1gxNDcxMzJZMTc4OTMxRDAxKg0KK1gxNDY0NzRZMTc5MDg5RDAxKg0KK1gxNDU3OTlZMTc5MTQyRDAxKg0KK1gxNDUxMjRZMTc5MDg5RDAxKg0KK1gxNDQ0NjZZMTc4OTMxRDAxKg0KK1gxNDM4NDFZMTc4NjcyRDAxKg0KK1gxNDMyNjRZMTc4MzE5RDAxKg0KK1gxNDI3NDlZMTc3ODc5RDAxKg0KK1gxNDIzMDlZMTc3MzY0RDAxKg0KK1gxNDE5NTZZMTc2Nzg3RDAxKg0KK1gxNDE2OTdZMTc2MTYyRDAxKg0KK1gxNDE1MzlZMTc1NTA0RDAxKg0KK1gxNDE0ODZZMTc0ODI5RDAxKg0KK1gxNDE1MzlZMTc0MTU0RDAxKg0KK1gxNDE2OTdZMTczNDk2RDAxKg0KK1gxNDE5NTZZMTcyODcxRDAxKg0KK1gxNDIzMDlZMTcyMjk0RDAxKg0KK1gxNDI3NDlZMTcxNzc5RDAxKg0KK1gxNDMyNjRZMTcxMzM5RDAxKg0KK1gxNDM4NDFZMTcwOTg2RDAxKg0KK1gxNDQ0NjZZMTcwNzI3RDAxKg0KK1gxNDUxMjRZMTcwNTY5RDAxKg0KK1gxNDU3OTlZMTcwNTE2RDAxKg0KK1gxNDY0NzRZMTcwNTY5RDAxKg0KK1gxNDcxMzJZMTcwNzI3RDAxKg0KK1gxNDc3NTdZMTcwOTg2RDAxKg0KK1gxNDgzMzRZMTcxMzM5RDAxKg0KK1gxNDg4NDlZMTcxNzc5RDAxKg0KK1gxNDkyODlZMTcyMjk0RDAxKg0KK1gxNDk2NDJZMTcyODcxRDAxKg0KK1gxNDk5MDFZMTczNDk2RDAxKg0KK1gxNDk5MzhZMTczNjUxRDAxKg0KK1kxNTA4MDVEMDEqDQorWDE0OTY1OVkxNTA3ODNEMDEqDQorWDE0OTM4M1kxNTA3MTdEMDEqDQorWDE0OTEyMVkxNTA2MDlEMDEqDQorWDE0ODg4MFkxNTA0NjFEMDEqDQorWDE0ODY2NFkxNTAyNzdEMDEqDQorWDE0ODQ4MFkxNTAwNjFEMDEqDQorWDE0ODMzMlkxNDk4MjBEMDEqDQorWDE0ODIyNFkxNDk1NThEMDEqDQorWDE0ODE1OFkxNDkyODJEMDEqDQorWDE0ODEzNVkxNDkwMDBEMDEqDQorWDE0ODE1OFkxNDg3MThEMDEqDQorWDE0ODIyNFkxNDg0NDJEMDEqDQorWDE0ODMzMlkxNDgxODBEMDEqDQorWDE0ODQ4MFkxNDc5MzlEMDEqDQorWDE0ODY2NFkxNDc3MjNEMDEqDQorWDE0ODg4MFkxNDc1MzlEMDEqDQorWDE0OTEyMVkxNDczOTFEMDEqDQorWDE0OTM4M1kxNDcyODNEMDEqDQorWDE0OTY1OVkxNDcyMTdEMDEqDQorWDE0OTkzOFkxNDcxOTVEMDEqDQorWTc2NTAwRDAxKg0KK1gxNDE0MzhEMDEqDQorWTE0NjE5NUQwMSoNCitYMTQxNDQxWTE0NjE5NEQwMSoNCitYMTQxNzIzWTE0NjIxN0QwMSoNCitYMTQxOTk5WTE0NjI4M0QwMSoNCitYMTQyMjYxWTE0NjM5MUQwMSoNCitYMTQyNTAyWTE0NjUzOUQwMSoNCitYMTQyNzE4WTE0NjcyM0QwMSoNCitYMTQyOTAyWTE0NjkzOUQwMSoNCitYMTQzMDUwWTE0NzE4MEQwMSoNCitYMTQzMTU4WTE0NzQ0MkQwMSoNCitYMTQzMjI0WTE0NzcxOEQwMSoNCitYMTQzMjQxWTE0ODAwMEQwMSoNCitYMTQzMjI0WTE0ODI4MkQwMSoNCitYMTQzMTU4WTE0ODU1OEQwMSoNCitYMTQzMDUwWTE0ODgyMEQwMSoNCitYMTQyOTAyWTE0OTA2MUQwMSoNCitYMTQyNzE4WTE0OTI3N0QwMSoNCitYMTQyNTAyWTE0OTQ2MUQwMSoNCitYMTQyMjYxWTE0OTYwOUQwMSoNCitYMTQxOTk5WTE0OTcxN0QwMSoNCitYMTQxNzIzWTE0OTc4M0QwMSoNCitYMTQxNDQxWTE0OTgwNkQwMSoNCitYMTQxNDM4WTE0OTgwNUQwMSoNCitZMjk5MDg4RDAxKg0KK1gxNDE1ODlZMjk5MTAwRDAxKg0KK1gxNDE4NjVZMjk5MTY2RDAxKg0KK1gxNDIxMjdZMjk5Mjc0RDAxKg0KK1gxNDIzNjhZMjk5NDIyRDAxKg0KK1gxNDI1ODRZMjk5NjA2RDAxKg0KK1gxNDI3NjhZMjk5ODIyRDAxKg0KK1gxNDI5MTZZMzAwMDYzRDAxKg0KK1gxNDMwMjRZMzAwMzI1RDAxKg0KK1gxNDMwOTBZMzAwNjAxRDAxKg0KK1gxNDMxMDdZMzAwODgzRDAxKg0KK1gxNDMwOTBZMzAxMTY1RDAxKg0KK1gxNDMwMjRZMzAxNDQxRDAxKg0KK1gxNDI5MTZZMzAxNzAzRDAxKg0KK1gxNDI3NjhZMzAxOTQ0RDAxKg0KK1gxNDI1ODRZMzAyMTYwRDAxKg0KK1gxNDIzNjhZMzAyMzQ0RDAxKg0KK1gxNDIxMjdZMzAyNDkyRDAxKg0KK1gxNDE4NjVZMzAyNjAwRDAxKg0KK1gxNDE1ODlZMzAyNjY2RDAxKg0KK1gxNDE0MzhZMzAyNjc4RDAxKg0KK1kzMzY5OThEMDEqDQorWDE0MTU1MFkzMzcxODBEMDEqDQorWDE0MTY1OFkzMzc0NDJEMDEqDQorWDE0MTcyNFkzMzc3MThEMDEqDQorWDE0MTc0MVkzMzgwMDBEMDEqDQorWDE0MTcyNFkzMzgyODJEMDEqDQorWDE0MTY1OFkzMzg1NThEMDEqDQorWDE0MTU1MFkzMzg4MjBEMDEqDQorWDE0MTQzOFkzMzkwMDJEMDEqDQorWTM0MjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjUwMEQwMipYMTM4OTIyRDAxKg0KK1kxNzE4NjVEMDEqDQorWDEzOTI4OVkxNzIyOTREMDEqDQorWDEzOTY0MlkxNzI4NzFEMDEqDQorWDEzOTkwMVkxNzM0OTZEMDEqDQorWDE0MDA1OVkxNzQxNTREMDEqDQorWDE0MDA5OVkxNzQ4MjlEMDEqDQorWDE0MDA1OVkxNzU1MDREMDEqDQorWDEzOTkwMVkxNzYxNjJEMDEqDQorWDEzOTY0MlkxNzY3ODdEMDEqDQorWDEzOTI4OVkxNzczNjREMDEqDQorWDEzODkyMlkxNzc3OTNEMDEqDQorWTE4MTg2NUQwMSoNCitYMTM5Mjg5WTE4MjI5NEQwMSoNCitYMTM5NjQyWTE4Mjg3MUQwMSoNCitYMTM5OTAxWTE4MzQ5NkQwMSoNCitYMTQwMDU5WTE4NDE1NEQwMSoNCitYMTQwMDk5WTE4NDgyOUQwMSoNCitYMTQwMDU5WTE4NTUwNEQwMSoNCitYMTM5OTAxWTE4NjE2MkQwMSoNCitYMTM5NjQyWTE4Njc4N0QwMSoNCitYMTM5Mjg5WTE4NzM2NEQwMSoNCitYMTM4OTIyWTE4Nzc5M0QwMSoNCitZMTkwODkzRDAxKg0KK1gxMzg5MjVZMTkwODkyRDAxKg0KK1gxMzkyMDdZMTkwOTE1RDAxKg0KK1gxMzk0ODNZMTkwOTgxRDAxKg0KK1gxMzk3NDVZMTkxMDg5RDAxKg0KK1gxMzk5ODZZMTkxMjM3RDAxKg0KK1gxNDAyMDJZMTkxNDIxRDAxKg0KK1gxNDAzODZZMTkxNjM3RDAxKg0KK1gxNDA1MzRZMTkxODc4RDAxKg0KK1gxNDA2NDJZMTkyMTQwRDAxKg0KK1gxNDA3MDhZMTkyNDE2RDAxKg0KK1gxNDA3MjVZMTkyNjk4RDAxKg0KK1gxNDA3MDhZMTkyOTgwRDAxKg0KK1gxNDA2NDJZMTkzMjU2RDAxKg0KK1gxNDA1MzRZMTkzNTE4RDAxKg0KK1gxNDAzODZZMTkzNzU5RDAxKg0KK1gxNDAyMDJZMTkzOTc1RDAxKg0KK1gxMzk5ODZZMTk0MTU5RDAxKg0KK1gxMzk3NDVZMTk0MzA3RDAxKg0KK1gxMzk0ODNZMTk0NDE1RDAxKg0KK1gxMzkyMDdZMTk0NDgxRDAxKg0KK1gxMzg5MjVZMTk0NTA0RDAxKg0KK1gxMzg5MjJZMTk0NTAzRDAxKg0KK1kxOTYwMzZEMDEqDQorWDEzODkyNVkxOTYwMzVEMDEqDQorWDEzOTIwN1kxOTYwNThEMDEqDQorWDEzOTQ4M1kxOTYxMjREMDEqDQorWDEzOTc0NVkxOTYyMzJEMDEqDQorWDEzOTk4NlkxOTYzODBEMDEqDQorWDE0MDIwMlkxOTY1NjREMDEqDQorWDE0MDM4NlkxOTY3ODBEMDEqDQorWDE0MDUzNFkxOTcwMjFEMDEqDQorWDE0MDY0MlkxOTcyODNEMDEqDQorWDE0MDcwOFkxOTc1NTlEMDEqDQorWDE0MDcyNVkxOTc4NDFEMDEqDQorWDE0MDcwOFkxOTgxMjNEMDEqDQorWDE0MDY0MlkxOTgzOTlEMDEqDQorWDE0MDUzNFkxOTg2NjFEMDEqDQorWDE0MDM4NlkxOTg5MDJEMDEqDQorWDE0MDIwMlkxOTkxMThEMDEqDQorWDEzOTk4NlkxOTkzMDJEMDEqDQorWDEzOTc0NVkxOTk0NTBEMDEqDQorWDEzOTQ4M1kxOTk1NThEMDEqDQorWDEzOTIwN1kxOTk2MjREMDEqDQorWDEzODkyNVkxOTk2NDdEMDEqDQorWDEzODkyMlkxOTk2NDZEMDEqDQorWTIwMDIyOEQwMSoNCitYMTM5MTU0WTIwMDI0N0QwMSoNCitYMTM5NDMwWTIwMDMxM0QwMSoNCitYMTM5NjkyWTIwMDQyMUQwMSoNCitYMTM5OTMzWTIwMDU2OUQwMSoNCitYMTQwMTQ5WTIwMDc1M0QwMSoNCitYMTQwMzMzWTIwMDk2OUQwMSoNCitYMTQwNDgxWTIwMTIxMEQwMSoNCitYMTQwNTg5WTIwMTQ3MkQwMSoNCitYMTQwNjU1WTIwMTc0OEQwMSoNCitYMTQwNjcyWTIwMjAzMEQwMSoNCitYMTQwNjU1WTIwMjMxMkQwMSoNCitYMTQwNTg5WTIwMjU4OEQwMSoNCitYMTQwNDgxWTIwMjg1MEQwMSoNCitYMTQwMzMzWTIwMzA5MUQwMSoNCitYMTQwMTQ5WTIwMzMwN0QwMSoNCitYMTM5OTMzWTIwMzQ5MUQwMSoNCitYMTM5NjkyWTIwMzYzOUQwMSoNCitYMTM5NDMwWTIwMzc0N0QwMSoNCitYMTM5MTU0WTIwMzgxM0QwMSoNCitYMTM4OTIyWTIwMzgzMkQwMSoNCitZMjA0MzA4RDAxKg0KK1gxMzg5MjVZMjA0MzA3RDAxKg0KK1gxMzkyMDdZMjA0MzMwRDAxKg0KK1gxMzk0ODNZMjA0Mzk2RDAxKg0KK1gxMzk3NDVZMjA0NTA0RDAxKg0KK1gxMzk5ODZZMjA0NjUyRDAxKg0KK1gxNDAyMDJZMjA0ODM2RDAxKg0KK1gxNDAzODZZMjA1MDUyRDAxKg0KK1gxNDA1MzRZMjA1MjkzRDAxKg0KK1gxNDA2NDJZMjA1NTU1RDAxKg0KK1gxNDA3MDhZMjA1ODMxRDAxKg0KK1gxNDA3MjVZMjA2MTEzRDAxKg0KK1gxNDA3MDhZMjA2Mzk1RDAxKg0KK1gxNDA2NDJZMjA2NjcxRDAxKg0KK1gxNDA1MzRZMjA2OTMzRDAxKg0KK1gxNDAzODZZMjA3MTc0RDAxKg0KK1gxNDAyMDJZMjA3MzkwRDAxKg0KK1gxMzk5ODZZMjA3NTc0RDAxKg0KK1gxMzk3NDVZMjA3NzIyRDAxKg0KK1gxMzk0ODNZMjA3ODMwRDAxKg0KK1gxMzkyMDdZMjA3ODk2RDAxKg0KK1gxMzg5MjVZMjA3OTE5RDAxKg0KK1gxMzg5MjJZMjA3OTE4RDAxKg0KK1kzMzY1MTNEMDEqDQorWDEzOTEyMVkzMzYzOTFEMDEqDQorWDEzOTM4M1kzMzYyODNEMDEqDQorWDEzOTY1OVkzMzYyMTdEMDEqDQorWDEzOTk0MVkzMzYxOTREMDEqDQorWDE0MDIyM1kzMzYyMTdEMDEqDQorWDE0MDQ5OVkzMzYyODNEMDEqDQorWDE0MDc2MVkzMzYzOTFEMDEqDQorWDE0MTAwMlkzMzY1MzlEMDEqDQorWDE0MTIxOFkzMzY3MjNEMDEqDQorWDE0MTQwMlkzMzY5MzlEMDEqDQorWDE0MTQzOFkzMzY5OThEMDEqDQorWTMwMjY3OEQwMSoNCitYMTQxMzA3WTMwMjY4OUQwMSoNCitYMTQxMDI1WTMwMjY2NkQwMSoNCitYMTQwNzQ5WTMwMjYwMEQwMSoNCitYMTQwNDg3WTMwMjQ5MkQwMSoNCitYMTQwMjQ2WTMwMjM0NEQwMSoNCitYMTQwMDMwWTMwMjE2MEQwMSoNCitYMTM5ODQ2WTMwMTk0NEQwMSoNCitYMTM5Njk4WTMwMTcwM0QwMSoNCitYMTM5NTkwWTMwMTQ0MUQwMSoNCitYMTM5NTI0WTMwMTE2NUQwMSoNCitYMTM5NTAxWTMwMDg4M0QwMSoNCitYMTM5NTI0WTMwMDYwMUQwMSoNCitYMTM5NTkwWTMwMDMyNUQwMSoNCitYMTM5Njk4WTMwMDA2M0QwMSoNCitYMTM5ODQ2WTI5OTgyMkQwMSoNCitYMTQwMDMwWTI5OTYwNkQwMSoNCitYMTQwMjQ2WTI5OTQyMkQwMSoNCitYMTQwNDg3WTI5OTI3NEQwMSoNCitYMTQwNzQ5WTI5OTE2NkQwMSoNCitYMTQxMDI1WTI5OTEwMEQwMSoNCitYMTQxMzA3WTI5OTA3N0QwMSoNCitYMTQxNDM4WTI5OTA4OEQwMSoNCitZMTQ5ODA1RDAxKg0KK1gxNDExNTlZMTQ5NzgzRDAxKg0KK1gxNDA4ODNZMTQ5NzE3RDAxKg0KK1gxNDA2MjFZMTQ5NjA5RDAxKg0KK1gxNDAzODBZMTQ5NDYxRDAxKg0KK1gxNDAxNjRZMTQ5Mjc3RDAxKg0KK1gxMzk5ODBZMTQ5MDYxRDAxKg0KK1gxMzk4MzJZMTQ4ODIwRDAxKg0KK1gxMzk3MjRZMTQ4NTU4RDAxKg0KK1gxMzk2NThZMTQ4MjgyRDAxKg0KK1gxMzk2MzVZMTQ4MDAwRDAxKg0KK1gxMzk2NThZMTQ3NzE4RDAxKg0KK1gxMzk3MjRZMTQ3NDQyRDAxKg0KK1gxMzk4MzJZMTQ3MTgwRDAxKg0KK1gxMzk5ODBZMTQ2OTM5RDAxKg0KK1gxNDAxNjRZMTQ2NzIzRDAxKg0KK1gxNDAzODBZMTQ2NTM5RDAxKg0KK1gxNDA2MjFZMTQ2MzkxRDAxKg0KK1gxNDA4ODNZMTQ2MjgzRDAxKg0KK1gxNDExNTlZMTQ2MjE3RDAxKg0KK1gxNDE0MzhZMTQ2MTk1RDAxKg0KK1k3NjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzg5MjJZMzQyNTAwRDAyKlgxNDE0MzhEMDEqDQorWTMzOTAwMkQwMSoNCitYMTQxNDAyWTMzOTA2MUQwMSoNCitYMTQxMjE4WTMzOTI3N0QwMSoNCitYMTQxMDAyWTMzOTQ2MUQwMSoNCitYMTQwNzYxWTMzOTYwOUQwMSoNCitYMTQwNDk5WTMzOTcxN0QwMSoNCitYMTQwMjIzWTMzOTc4M0QwMSoNCitYMTM5OTQxWTMzOTgwNkQwMSoNCitYMTM5NjU5WTMzOTc4M0QwMSoNCitYMTM5MzgzWTMzOTcxN0QwMSoNCitYMTM5MTIxWTMzOTYwOUQwMSoNCitYMTM4OTIyWTMzOTQ4N0QwMSoNCitZMzQyNTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEzNTQzOFkxNzA1NDREMDIqWDEzNTc5OVkxNzA1MTZEMDEqDQorWDEzNjQ3NFkxNzA1NjlEMDEqDQorWDEzNzEzMlkxNzA3MjdEMDEqDQorWDEzNzc1N1kxNzA5ODZEMDEqDQorWDEzODMzNFkxNzEzMzlEMDEqDQorWDEzODg0OVkxNzE3NzlEMDEqDQorWDEzODkyMlkxNzE4NjVEMDEqDQorWTc2NTAwRDAxKg0KK1gxMzU0MzhEMDEqDQorWTE3MDU0NEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxODA1NDREMDIqWDEzNTc5OVkxODA1MTZEMDEqDQorWDEzNjQ3NFkxODA1NjlEMDEqDQorWDEzNzEzMlkxODA3MjdEMDEqDQorWDEzNzc1N1kxODA5ODZEMDEqDQorWDEzODMzNFkxODEzMzlEMDEqDQorWDEzODg0OVkxODE3NzlEMDEqDQorWDEzODkyMlkxODE4NjVEMDEqDQorWTE3Nzc5M0QwMSoNCitYMTM4ODQ5WTE3Nzg3OUQwMSoNCitYMTM4MzM0WTE3ODMxOUQwMSoNCitYMTM3NzU3WTE3ODY3MkQwMSoNCitYMTM3MTMyWTE3ODkzMUQwMSoNCitYMTM2NDc0WTE3OTA4OUQwMSoNCitYMTM1Nzk5WTE3OTE0MkQwMSoNCitYMTM1NDM4WTE3OTExNEQwMSoNCitZMTgwNTQ0RDAxKg0KK0czNyoNCitHMzYqDQorWTM0MjUwMEQwMipYMTM4OTIyRDAxKg0KK1kzMzk0ODdEMDEqDQorWDEzODg4MFkzMzk0NjFEMDEqDQorWDEzODY2NFkzMzkyNzdEMDEqDQorWDEzODQ4MFkzMzkwNjFEMDEqDQorWDEzODMzMlkzMzg4MjBEMDEqDQorWDEzODIyNFkzMzg1NThEMDEqDQorWDEzODE1OFkzMzgyODJEMDEqDQorWDEzODEzNVkzMzgwMDBEMDEqDQorWDEzODE1OFkzMzc3MThEMDEqDQorWDEzODIyNFkzMzc0NDJEMDEqDQorWDEzODMzMlkzMzcxODBEMDEqDQorWDEzODQ4MFkzMzY5MzlEMDEqDQorWDEzODY2NFkzMzY3MjNEMDEqDQorWDEzODg4MFkzMzY1MzlEMDEqDQorWDEzODkyMlkzMzY1MTNEMDEqDQorWTIwNzkxOEQwMSoNCitYMTM4NjQzWTIwNzg5NkQwMSoNCitYMTM4MzY3WTIwNzgzMEQwMSoNCitYMTM4MTA1WTIwNzcyMkQwMSoNCitYMTM3ODY0WTIwNzU3NEQwMSoNCitYMTM3NjQ4WTIwNzM5MEQwMSoNCitYMTM3NDY0WTIwNzE3NEQwMSoNCitYMTM3MzE2WTIwNjkzM0QwMSoNCitYMTM3MjA4WTIwNjY3MUQwMSoNCitYMTM3MTQyWTIwNjM5NUQwMSoNCitYMTM3MTE5WTIwNjExM0QwMSoNCitYMTM3MTQyWTIwNTgzMUQwMSoNCitYMTM3MjA4WTIwNTU1NUQwMSoNCitYMTM3MzE2WTIwNTI5M0QwMSoNCitYMTM3NDY0WTIwNTA1MkQwMSoNCitYMTM3NjQ4WTIwNDgzNkQwMSoNCitYMTM3ODY0WTIwNDY1MkQwMSoNCitYMTM4MTA1WTIwNDUwNEQwMSoNCitYMTM4MzY3WTIwNDM5NkQwMSoNCitYMTM4NjQzWTIwNDMzMEQwMSoNCitYMTM4OTIyWTIwNDMwOEQwMSoNCitZMjAzODMyRDAxKg0KK1gxMzg4NzJZMjAzODM2RDAxKg0KK1gxMzg1OTBZMjAzODEzRDAxKg0KK1gxMzgzMTRZMjAzNzQ3RDAxKg0KK1gxMzgwNTJZMjAzNjM5RDAxKg0KK1gxMzc4MTFZMjAzNDkxRDAxKg0KK1gxMzc1OTVZMjAzMzA3RDAxKg0KK1gxMzc0MTFZMjAzMDkxRDAxKg0KK1gxMzcyNjNZMjAyODUwRDAxKg0KK1gxMzcxNTVZMjAyNTg4RDAxKg0KK1gxMzcwODlZMjAyMzEyRDAxKg0KK1gxMzcwNjZZMjAyMDMwRDAxKg0KK1gxMzcwODlZMjAxNzQ4RDAxKg0KK1gxMzcxNTVZMjAxNDcyRDAxKg0KK1gxMzcyNjNZMjAxMjEwRDAxKg0KK1gxMzc0MTFZMjAwOTY5RDAxKg0KK1gxMzc1OTVZMjAwNzUzRDAxKg0KK1gxMzc4MTFZMjAwNTY5RDAxKg0KK1gxMzgwNTJZMjAwNDIxRDAxKg0KK1gxMzgzMTRZMjAwMzEzRDAxKg0KK1gxMzg1OTBZMjAwMjQ3RDAxKg0KK1gxMzg4NzJZMjAwMjI0RDAxKg0KK1gxMzg5MjJZMjAwMjI4RDAxKg0KK1kxOTk2NDZEMDEqDQorWDEzODY0M1kxOTk2MjREMDEqDQorWDEzODM2N1kxOTk1NThEMDEqDQorWDEzODEwNVkxOTk0NTBEMDEqDQorWDEzNzg2NFkxOTkzMDJEMDEqDQorWDEzNzY0OFkxOTkxMThEMDEqDQorWDEzNzQ2NFkxOTg5MDJEMDEqDQorWDEzNzMxNlkxOTg2NjFEMDEqDQorWDEzNzIwOFkxOTgzOTlEMDEqDQorWDEzNzE0MlkxOTgxMjNEMDEqDQorWDEzNzExOVkxOTc4NDFEMDEqDQorWDEzNzE0MlkxOTc1NTlEMDEqDQorWDEzNzIwOFkxOTcyODNEMDEqDQorWDEzNzMxNlkxOTcwMjFEMDEqDQorWDEzNzQ2NFkxOTY3ODBEMDEqDQorWDEzNzY0OFkxOTY1NjREMDEqDQorWDEzNzg2NFkxOTYzODBEMDEqDQorWDEzODEwNVkxOTYyMzJEMDEqDQorWDEzODM2N1kxOTYxMjREMDEqDQorWDEzODY0M1kxOTYwNThEMDEqDQorWDEzODkyMlkxOTYwMzZEMDEqDQorWTE5NDUwM0QwMSoNCitYMTM4NjQzWTE5NDQ4MUQwMSoNCitYMTM4MzY3WTE5NDQxNUQwMSoNCitYMTM4MTA1WTE5NDMwN0QwMSoNCitYMTM3ODY0WTE5NDE1OUQwMSoNCitYMTM3NjQ4WTE5Mzk3NUQwMSoNCitYMTM3NDY0WTE5Mzc1OUQwMSoNCitYMTM3MzE2WTE5MzUxOEQwMSoNCitYMTM3MjA4WTE5MzI1NkQwMSoNCitYMTM3MTQyWTE5Mjk4MEQwMSoNCitYMTM3MTE5WTE5MjY5OEQwMSoNCitYMTM3MTQyWTE5MjQxNkQwMSoNCitYMTM3MjA4WTE5MjE0MEQwMSoNCitYMTM3MzE2WTE5MTg3OEQwMSoNCitYMTM3NDY0WTE5MTYzN0QwMSoNCitYMTM3NjQ4WTE5MTQyMUQwMSoNCitYMTM3ODY0WTE5MTIzN0QwMSoNCitYMTM4MTA1WTE5MTA4OUQwMSoNCitYMTM4MzY3WTE5MDk4MUQwMSoNCitYMTM4NjQzWTE5MDkxNUQwMSoNCitYMTM4OTIyWTE5MDg5M0QwMSoNCitZMTg3NzkzRDAxKg0KK1gxMzg4NDlZMTg3ODc5RDAxKg0KK1gxMzgzMzRZMTg4MzE5RDAxKg0KK1gxMzc3NTdZMTg4NjcyRDAxKg0KK1gxMzcxMzJZMTg4OTMxRDAxKg0KK1gxMzY0NzRZMTg5MDg5RDAxKg0KK1gxMzU3OTlZMTg5MTQyRDAxKg0KK1gxMzU0MzhZMTg5MTE0RDAxKg0KK1kzMzMxOTVEMDEqDQorWDEzNTQ0MVkzMzMxOTREMDEqDQorWDEzNTcyM1kzMzMyMTdEMDEqDQorWDEzNTk5OVkzMzMyODNEMDEqDQorWDEzNjI2MVkzMzMzOTFEMDEqDQorWDEzNjUwMlkzMzM1MzlEMDEqDQorWDEzNjcxOFkzMzM3MjNEMDEqDQorWDEzNjkwMlkzMzM5MzlEMDEqDQorWDEzNzA1MFkzMzQxODBEMDEqDQorWDEzNzE1OFkzMzQ0NDJEMDEqDQorWDEzNzIyNFkzMzQ3MThEMDEqDQorWDEzNzI0MVkzMzUwMDBEMDEqDQorWDEzNzIyNFkzMzUyODJEMDEqDQorWDEzNzE1OFkzMzU1NThEMDEqDQorWDEzNzA1MFkzMzU4MjBEMDEqDQorWDEzNjkwMlkzMzYwNjFEMDEqDQorWDEzNjcxOFkzMzYyNzdEMDEqDQorWDEzNjUwMlkzMzY0NjFEMDEqDQorWDEzNjI2MVkzMzY2MDlEMDEqDQorWDEzNTk5OVkzMzY3MTdEMDEqDQorWDEzNTg2MlkzMzY3NTBEMDEqDQorWDEzNTk5OVkzMzY3ODNEMDEqDQorWDEzNjI2MVkzMzY4OTFEMDEqDQorWDEzNjUwMlkzMzcwMzlEMDEqDQorWDEzNjcxOFkzMzcyMjNEMDEqDQorWDEzNjkwMlkzMzc0MzlEMDEqDQorWDEzNzA1MFkzMzc2ODBEMDEqDQorWDEzNzE1OFkzMzc5NDJEMDEqDQorWDEzNzIyNFkzMzgyMThEMDEqDQorWDEzNzI0MVkzMzg1MDBEMDEqDQorWDEzNzIyNFkzMzg3ODJEMDEqDQorWDEzNzE1OFkzMzkwNThEMDEqDQorWDEzNzA1MFkzMzkzMjBEMDEqDQorWDEzNjkwMlkzMzk1NjFEMDEqDQorWDEzNjcxOFkzMzk3NzdEMDEqDQorWDEzNjUwMlkzMzk5NjFEMDEqDQorWDEzNjI2MVkzNDAxMDlEMDEqDQorWDEzNTk5OVkzNDAyMTdEMDEqDQorWDEzNTcyM1kzNDAyODNEMDEqDQorWDEzNTQ0MVkzNDAzMDZEMDEqDQorWDEzNTQzOFkzNDAzMDVEMDEqDQorWTM0MjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMjkzNDNZMjc4NTAwRDAyKlgxMzA5NDFEMDEqDQorWTM0MjUwMEQwMSoNCitYMTM1NDM4RDAxKg0KK1kzNDAzMDVEMDEqDQorWDEzNTE1OVkzNDAyODNEMDEqDQorWDEzNDg4M1kzNDAyMTdEMDEqDQorWDEzNDYyMVkzNDAxMDlEMDEqDQorWDEzNDM4MFkzMzk5NjFEMDEqDQorWDEzNDE2NFkzMzk3NzdEMDEqDQorWDEzMzk4MFkzMzk1NjFEMDEqDQorWDEzMzgzMlkzMzkzMjBEMDEqDQorWDEzMzcyNFkzMzkwNThEMDEqDQorWDEzMzY1OFkzMzg3ODJEMDEqDQorWDEzMzYzNVkzMzg1MDBEMDEqDQorWDEzMzY1OFkzMzgyMThEMDEqDQorWDEzMzcyNFkzMzc5NDJEMDEqDQorWDEzMzgzMlkzMzc2ODBEMDEqDQorWDEzMzk4MFkzMzc0MzlEMDEqDQorWDEzNDE2NFkzMzcyMjNEMDEqDQorWDEzNDM4MFkzMzcwMzlEMDEqDQorWDEzNDYyMVkzMzY4OTFEMDEqDQorWDEzNDg4M1kzMzY3ODNEMDEqDQorWDEzNTAyMFkzMzY3NTBEMDEqDQorWDEzNDg4M1kzMzY3MTdEMDEqDQorWDEzNDYyMVkzMzY2MDlEMDEqDQorWDEzNDM4MFkzMzY0NjFEMDEqDQorWDEzNDE2NFkzMzYyNzdEMDEqDQorWDEzMzk4MFkzMzYwNjFEMDEqDQorWDEzMzgzMlkzMzU4MjBEMDEqDQorWDEzMzcyNFkzMzU1NThEMDEqDQorWDEzMzY1OFkzMzUyODJEMDEqDQorWDEzMzYzNVkzMzUwMDBEMDEqDQorWDEzMzY1OFkzMzQ3MThEMDEqDQorWDEzMzcyNFkzMzQ0NDJEMDEqDQorWDEzMzgzMlkzMzQxODBEMDEqDQorWDEzMzk4MFkzMzM5MzlEMDEqDQorWDEzNDE2NFkzMzM3MjNEMDEqDQorWDEzNDM4MFkzMzM1MzlEMDEqDQorWDEzNDYyMVkzMzMzOTFEMDEqDQorWDEzNDg4M1kzMzMyODNEMDEqDQorWDEzNTE1OVkzMzMyMTdEMDEqDQorWDEzNTQzOFkzMzMxOTVEMDEqDQorWTE4OTExNEQwMSoNCitYMTM1MTI0WTE4OTA4OUQwMSoNCitYMTM0NDY2WTE4ODkzMUQwMSoNCitYMTMzODQxWTE4ODY3MkQwMSoNCitYMTMzMjY0WTE4ODMxOUQwMSoNCitYMTMyNzQ5WTE4Nzg3OUQwMSoNCitYMTMyMzA5WTE4NzM2NEQwMSoNCitYMTMxOTU2WTE4Njc4N0QwMSoNCitYMTMxNjk3WTE4NjE2MkQwMSoNCitYMTMxNTM5WTE4NTUwNEQwMSoNCitYMTMxNDg2WTE4NDgyOUQwMSoNCitYMTMxNTM5WTE4NDE1NEQwMSoNCitYMTMxNjk3WTE4MzQ5NkQwMSoNCitYMTMxOTU2WTE4Mjg3MUQwMSoNCitYMTMyMzA5WTE4MjI5NEQwMSoNCitYMTMyNzQ5WTE4MTc3OUQwMSoNCitYMTMzMjY0WTE4MTMzOUQwMSoNCitYMTMzODQxWTE4MDk4NkQwMSoNCitYMTM0NDY2WTE4MDcyN0QwMSoNCitYMTM1MTI0WTE4MDU2OUQwMSoNCitYMTM1NDM4WTE4MDU0NEQwMSoNCitZMTc5MTE0RDAxKg0KK1gxMzUxMjRZMTc5MDg5RDAxKg0KK1gxMzQ0NjZZMTc4OTMxRDAxKg0KK1gxMzM4NDFZMTc4NjcyRDAxKg0KK1gxMzMyNjRZMTc4MzE5RDAxKg0KK1gxMzI3NDlZMTc3ODc5RDAxKg0KK1gxMzIzMDlZMTc3MzY0RDAxKg0KK1gxMzE5NTZZMTc2Nzg3RDAxKg0KK1gxMzE2OTdZMTc2MTYyRDAxKg0KK1gxMzE1MzlZMTc1NTA0RDAxKg0KK1gxMzE0ODZZMTc0ODI5RDAxKg0KK1gxMzE1MzlZMTc0MTU0RDAxKg0KK1gxMzE2OTdZMTczNDk2RDAxKg0KK1gxMzE5NTZZMTcyODcxRDAxKg0KK1gxMzIzMDlZMTcyMjk0RDAxKg0KK1gxMzI3NDlZMTcxNzc5RDAxKg0KK1gxMzMyNjRZMTcxMzM5RDAxKg0KK1gxMzM4NDFZMTcwOTg2RDAxKg0KK1gxMzQ0NjZZMTcwNzI3RDAxKg0KK1gxMzUxMjRZMTcwNTY5RDAxKg0KK1gxMzU0MzhZMTcwNTQ0RDAxKg0KK1k3NjUwMEQwMSoNCitYMTI5MzQzRDAxKg0KK1kxNDY4NzBEMDEqDQorWDEyOTQwMlkxNDY5MzlEMDEqDQorWDEyOTU1MFkxNDcxODBEMDEqDQorWDEyOTY1OFkxNDc0NDJEMDEqDQorWDEyOTcyNFkxNDc3MThEMDEqDQorWDEyOTc0MVkxNDgwMDBEMDEqDQorWDEyOTcyNFkxNDgyODJEMDEqDQorWDEyOTY1OFkxNDg1NThEMDEqDQorWDEyOTU1MFkxNDg4MjBEMDEqDQorWDEyOTQwMlkxNDkwNjFEMDEqDQorWDEyOTM0M1kxNDkxMzBEMDEqDQorWTE3MjUwMUQwMSoNCitYMTI5MzY2WTE3MjUxM0QwMSoNCitYMTI5NDI5WTE3MjU2MUQwMSoNCitYMTI5NDgzWTE3MjYxOEQwMSoNCitYMTI5NTI2WTE3MjY4NEQwMSoNCitYMTI5NzE3WTE3MzA0NUQwMSoNCitYMTI5ODY4WTE3MzQyNUQwMSoNCitYMTI5OTgzWTE3MzgxN0QwMSoNCitYMTMwMDYwWTE3NDIxOEQwMSoNCitYMTMwMDk5WTE3NDYyNUQwMSoNCitZMTc1MDMzRDAxKg0KK1gxMzAwNjBZMTc1NDQwRDAxKg0KK1gxMjk5ODNZMTc1ODQxRDAxKg0KK1gxMjk4NjhZMTc2MjMzRDAxKg0KK1gxMjk3MTdZMTc2NjEzRDAxKg0KK1gxMjk1MzBZMTc2OTc2RDAxKg0KK1gxMjk0ODZZMTc3MDQyRDAxKg0KK1gxMjk0MzFZMTc3MTAwRDAxKg0KK1gxMjkzNjhZMTc3MTQ4RDAxKg0KK1gxMjkzNDNZMTc3MTYxRDAxKg0KK1kxODI1MDFEMDEqDQorWDEyOTM2NlkxODI1MTNEMDEqDQorWDEyOTQyOVkxODI1NjFEMDEqDQorWDEyOTQ4M1kxODI2MThEMDEqDQorWDEyOTUyNlkxODI2ODREMDEqDQorWDEyOTcxN1kxODMwNDVEMDEqDQorWDEyOTg2OFkxODM0MjVEMDEqDQorWDEyOTk4M1kxODM4MTdEMDEqDQorWDEzMDA2MFkxODQyMThEMDEqDQorWDEzMDA5OVkxODQ2MjVEMDEqDQorWTE4NTAzM0QwMSoNCitYMTMwMDYwWTE4NTQ0MEQwMSoNCitYMTI5OTgzWTE4NTg0MUQwMSoNCitYMTI5ODY4WTE4NjIzM0QwMSoNCitYMTI5NzE3WTE4NjYxM0QwMSoNCitYMTI5NTMwWTE4Njk3NkQwMSoNCitYMTI5NDg2WTE4NzA0MkQwMSoNCitYMTI5NDMxWTE4NzEwMEQwMSoNCitYMTI5MzY4WTE4NzE0OEQwMSoNCitYMTI5MzQzWTE4NzE2MUQwMSoNCitZMjQwNzQ1RDAxKg0KK1gxMjk0OTlZMjQwNzgzRDAxKg0KK1gxMjk3NjFZMjQwODkxRDAxKg0KK1gxMzAwMDJZMjQxMDM5RDAxKg0KK1gxMzAyMThZMjQxMjIzRDAxKg0KK1gxMzA0MDJZMjQxNDM5RDAxKg0KK1gxMzA1NTBZMjQxNjgwRDAxKg0KK1gxMzA2NThZMjQxOTQyRDAxKg0KK1gxMzA3MjRZMjQyMjE4RDAxKg0KK1gxMzA3NDFZMjQyNTAwRDAxKg0KK1gxMzA3MjRZMjQyNzgyRDAxKg0KK1gxMzA2NThZMjQzMDU4RDAxKg0KK1gxMzA1NTBZMjQzMzIwRDAxKg0KK1gxMzA0MDJZMjQzNTYxRDAxKg0KK1gxMzAyMThZMjQzNzc3RDAxKg0KK1gxMzAwMDJZMjQzOTYxRDAxKg0KK1gxMjk3NjFZMjQ0MTA5RDAxKg0KK1gxMjk0OTlZMjQ0MjE3RDAxKg0KK1gxMjkzNDNZMjQ0MjU1RDAxKg0KK1kyNDY3NDVEMDEqDQorWDEyOTQ5OVkyNDY3ODNEMDEqDQorWDEyOTc2MVkyNDY4OTFEMDEqDQorWDEzMDAwMlkyNDcwMzlEMDEqDQorWDEzMDIxOFkyNDcyMjNEMDEqDQorWDEzMDQwMlkyNDc0MzlEMDEqDQorWDEzMDU1MFkyNDc2ODBEMDEqDQorWDEzMDY1OFkyNDc5NDJEMDEqDQorWDEzMDcyNFkyNDgyMThEMDEqDQorWDEzMDc0MVkyNDg1MDBEMDEqDQorWDEzMDcyNFkyNDg3ODJEMDEqDQorWDEzMDY1OFkyNDkwNThEMDEqDQorWDEzMDU1MFkyNDkzMjBEMDEqDQorWDEzMDQwMlkyNDk1NjFEMDEqDQorWDEzMDIxOFkyNDk3NzdEMDEqDQorWDEzMDAwMlkyNDk5NjFEMDEqDQorWDEyOTc2MVkyNTAxMDlEMDEqDQorWDEyOTQ5OVkyNTAyMTdEMDEqDQorWDEyOTM0M1kyNTAyNTVEMDEqDQorWTI1MzI0NUQwMSoNCitYMTI5NDk5WTI1MzI4M0QwMSoNCitYMTI5NzYxWTI1MzM5MUQwMSoNCitYMTMwMDAyWTI1MzUzOUQwMSoNCitYMTMwMjE4WTI1MzcyM0QwMSoNCitYMTMwNDAyWTI1MzkzOUQwMSoNCitYMTMwNTUwWTI1NDE4MEQwMSoNCitYMTMwNjU4WTI1NDQ0MkQwMSoNCitYMTMwNzI0WTI1NDcxOEQwMSoNCitYMTMwNzQxWTI1NTAwMEQwMSoNCitYMTMwNzI0WTI1NTI4MkQwMSoNCitYMTMwNjU4WTI1NTU1OEQwMSoNCitYMTMwNTUwWTI1NTgyMEQwMSoNCitYMTMwNDAyWTI1NjA2MUQwMSoNCitYMTMwMjE4WTI1NjI3N0QwMSoNCitYMTMwMDAyWTI1NjQ2MUQwMSoNCitYMTI5NzYxWTI1NjYwOUQwMSoNCitYMTI5NDk5WTI1NjcxN0QwMSoNCitYMTI5MzQzWTI1Njc1NUQwMSoNCitZMjYwNzQ1RDAxKg0KK1gxMjk0OTlZMjYwNzgzRDAxKg0KK1gxMjk3NjFZMjYwODkxRDAxKg0KK1gxMzAwMDJZMjYxMDM5RDAxKg0KK1gxMzAyMThZMjYxMjIzRDAxKg0KK1gxMzA0MDJZMjYxNDM5RDAxKg0KK1gxMzA1NTBZMjYxNjgwRDAxKg0KK1gxMzA2NThZMjYxOTQyRDAxKg0KK1gxMzA3MjRZMjYyMjE4RDAxKg0KK1gxMzA3NDFZMjYyNTAwRDAxKg0KK1gxMzA3MjRZMjYyNzgyRDAxKg0KK1gxMzA2NThZMjYzMDU4RDAxKg0KK1gxMzA1NTBZMjYzMzIwRDAxKg0KK1gxMzA0MDJZMjYzNTYxRDAxKg0KK1gxMzAyMThZMjYzNzc3RDAxKg0KK1gxMzAwMDJZMjYzOTYxRDAxKg0KK1gxMjk3NjFZMjY0MTA5RDAxKg0KK1gxMjk0OTlZMjY0MjE3RDAxKg0KK1gxMjkzNDNZMjY0MjU1RDAxKg0KK1kyNjY3NDVEMDEqDQorWDEyOTQ5OVkyNjY3ODNEMDEqDQorWDEyOTc2MVkyNjY4OTFEMDEqDQorWDEzMDAwMlkyNjcwMzlEMDEqDQorWDEzMDIxOFkyNjcyMjNEMDEqDQorWDEzMDQwMlkyNjc0MzlEMDEqDQorWDEzMDU1MFkyNjc2ODBEMDEqDQorWDEzMDY1OFkyNjc5NDJEMDEqDQorWDEzMDcyNFkyNjgyMThEMDEqDQorWDEzMDc0MVkyNjg1MDBEMDEqDQorWDEzMDcyNFkyNjg3ODJEMDEqDQorWDEzMDY1OFkyNjkwNThEMDEqDQorWDEzMDU1MFkyNjkzMjBEMDEqDQorWDEzMDQwMlkyNjk1NjFEMDEqDQorWDEzMDIxOFkyNjk3NzdEMDEqDQorWDEzMDAwMlkyNjk5NjFEMDEqDQorWDEyOTc2MVkyNzAxMDlEMDEqDQorWDEyOTQ5OVkyNzAyMTdEMDEqDQorWDEyOTM0M1kyNzAyNTVEMDEqDQorWTI3Mjc0NUQwMSoNCitYMTI5NDk5WTI3Mjc4M0QwMSoNCitYMTI5NzYxWTI3Mjg5MUQwMSoNCitYMTMwMDAyWTI3MzAzOUQwMSoNCitYMTMwMjE4WTI3MzIyM0QwMSoNCitYMTMwNDAyWTI3MzQzOUQwMSoNCitYMTMwNTUwWTI3MzY4MEQwMSoNCitYMTMwNjU4WTI3Mzk0MkQwMSoNCitYMTMwNzI0WTI3NDIxOEQwMSoNCitYMTMwNzQxWTI3NDUwMEQwMSoNCitYMTMwNzI0WTI3NDc4MkQwMSoNCitYMTMwNjU4WTI3NTA1OEQwMSoNCitYMTMwNTUwWTI3NTMyMEQwMSoNCitYMTMwNDAyWTI3NTU2MUQwMSoNCitYMTMwMjE4WTI3NTc3N0QwMSoNCitYMTMwMDAyWTI3NTk2MUQwMSoNCitYMTI5NzYxWTI3NjEwOUQwMSoNCitYMTI5NDk5WTI3NjIxN0QwMSoNCitYMTI5MzQzWTI3NjI1NUQwMSoNCitZMjc4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWTI3MDI1NUQwMipYMTI5MjIzWTI3MDI4M0QwMSoNCitYMTI4OTQxWTI3MDMwNkQwMSoNCitYMTI4NjU5WTI3MDI4M0QwMSoNCitYMTI4MzgzWTI3MDIxN0QwMSoNCitYMTI4MTIxWTI3MDEwOUQwMSoNCitYMTI3OTM4WTI2OTk5N0QwMSoNCitZMjczMDAzRDAxKg0KK1gxMjgxMjFZMjcyODkxRDAxKg0KK1gxMjgzODNZMjcyNzgzRDAxKg0KK1gxMjg2NTlZMjcyNzE3RDAxKg0KK1gxMjg5NDFZMjcyNjk0RDAxKg0KK1gxMjkyMjNZMjcyNzE3RDAxKg0KK1gxMjkzNDNZMjcyNzQ1RDAxKg0KK1kyNzAyNTVEMDEqDQorRzM3Kg0KK0czNioNCitZMjY0MjU1RDAyKlgxMjkyMjNZMjY0MjgzRDAxKg0KK1gxMjg5NDFZMjY0MzA2RDAxKg0KK1gxMjg2NTlZMjY0MjgzRDAxKg0KK1gxMjgzODNZMjY0MjE3RDAxKg0KK1gxMjgxMjFZMjY0MTA5RDAxKg0KK1gxMjc5MzhZMjYzOTk3RDAxKg0KK1kyNjcwMDNEMDEqDQorWDEyODEyMVkyNjY4OTFEMDEqDQorWDEyODM4M1kyNjY3ODNEMDEqDQorWDEyODY1OVkyNjY3MTdEMDEqDQorWDEyODk0MVkyNjY2OTREMDEqDQorWDEyOTIyM1kyNjY3MTdEMDEqDQorWDEyOTM0M1kyNjY3NDVEMDEqDQorWTI2NDI1NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNTY3NTVEMDIqWDEyOTIyM1kyNTY3ODNEMDEqDQorWDEyODk0MVkyNTY4MDZEMDEqDQorWDEyODY1OVkyNTY3ODNEMDEqDQorWDEyODM4M1kyNTY3MTdEMDEqDQorWDEyODEyMVkyNTY2MDlEMDEqDQorWDEyNzkzOFkyNTY0OTdEMDEqDQorWTI2MTAwM0QwMSoNCitYMTI4MTIxWTI2MDg5MUQwMSoNCitYMTI4MzgzWTI2MDc4M0QwMSoNCitYMTI4NjU5WTI2MDcxN0QwMSoNCitYMTI4OTQxWTI2MDY5NEQwMSoNCitYMTI5MjIzWTI2MDcxN0QwMSoNCitYMTI5MzQzWTI2MDc0NUQwMSoNCitZMjU2NzU1RDAxKg0KK0czNyoNCitHMzYqDQorWTI1MDI1NUQwMipYMTI5MjIzWTI1MDI4M0QwMSoNCitYMTI4OTQxWTI1MDMwNkQwMSoNCitYMTI4NjU5WTI1MDI4M0QwMSoNCitYMTI4MzgzWTI1MDIxN0QwMSoNCitYMTI4MTIxWTI1MDEwOUQwMSoNCitYMTI3OTM4WTI0OTk5N0QwMSoNCitZMjUzNTAzRDAxKg0KK1gxMjgxMjFZMjUzMzkxRDAxKg0KK1gxMjgzODNZMjUzMjgzRDAxKg0KK1gxMjg2NTlZMjUzMjE3RDAxKg0KK1gxMjg5NDFZMjUzMTk0RDAxKg0KK1gxMjkyMjNZMjUzMjE3RDAxKg0KK1gxMjkzNDNZMjUzMjQ1RDAxKg0KK1kyNTAyNTVEMDEqDQorRzM3Kg0KK0czNioNCitZMjQ0MjU1RDAyKlgxMjkyMjNZMjQ0MjgzRDAxKg0KK1gxMjg5NDFZMjQ0MzA2RDAxKg0KK1gxMjg2NTlZMjQ0MjgzRDAxKg0KK1gxMjgzODNZMjQ0MjE3RDAxKg0KK1gxMjgxMjFZMjQ0MTA5RDAxKg0KK1gxMjc5MzhZMjQzOTk3RDAxKg0KK1kyNDcwMDNEMDEqDQorWDEyODEyMVkyNDY4OTFEMDEqDQorWDEyODM4M1kyNDY3ODNEMDEqDQorWDEyODY1OVkyNDY3MTdEMDEqDQorWDEyODk0MVkyNDY2OTREMDEqDQorWDEyOTIyM1kyNDY3MTdEMDEqDQorWDEyOTM0M1kyNDY3NDVEMDEqDQorWTI0NDI1NUQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNDkxMzBEMDIqWDEyOTIxOFkxNDkyNzdEMDEqDQorWDEyOTAwMlkxNDk0NjFEMDEqDQorWDEyODc2MVkxNDk2MDlEMDEqDQorWDEyODQ5OVkxNDk3MTdEMDEqDQorWDEyODIyM1kxNDk3ODNEMDEqDQorWDEyNzk0MVkxNDk4MDZEMDEqDQorWDEyNzkzOFkxNDk4MDVEMDEqDQorWTE3MTA5NEQwMSoNCitYMTI3OTQ2WTE3MTA5OEQwMSoNCitYMTI4MDEyWTE3MTE0MkQwMSoNCitYMTI4MDcwWTE3MTE5N0QwMSoNCitYMTI4MTE4WTE3MTI2MEQwMSoNCitYMTI4MTU2WTE3MTMyOUQwMSoNCitYMTI4MTgyWTE3MTQwNEQwMSoNCitYMTI4MTk3WTE3MTQ4MkQwMSoNCitYMTI4MTk5WTE3MTU2MUQwMSoNCitYMTI4MTg5WTE3MTY0MEQwMSoNCitYMTI4MTY2WTE3MTcxNkQwMSoNCitYMTI4MTMyWTE3MTc4OEQwMSoNCitYMTI4MDg4WTE3MTg1M0QwMSoNCitYMTI4MDMzWTE3MTkxMUQwMSoNCitYMTI3OTcwWTE3MTk1OUQwMSoNCitYMTI3OTM4WTE3MTk3NkQwMSoNCitZMTc3Njg2RDAxKg0KK1gxMjc5NjhZMTc3NzAyRDAxKg0KK1gxMjgwMzFZMTc3NzUwRDAxKg0KK1gxMjgwODVZMTc3ODA3RDAxKg0KK1gxMjgxMjlZMTc3ODcyRDAxKg0KK1gxMjgxNjNZMTc3OTQzRDAxKg0KK1gxMjgxODVZMTc4MDE5RDAxKg0KK1gxMjgxOTVZMTc4MDk3RDAxKg0KK1gxMjgxOTNZMTc4MTc2RDAxKg0KK1gxMjgxNzlZMTc4MjUzRDAxKg0KK1gxMjgxNTJZMTc4MzI3RDAxKg0KK1gxMjgxMTVZMTc4Mzk2RDAxKg0KK1gxMjgwNjdZMTc4NDU5RDAxKg0KK1gxMjgwMTBZMTc4NTEzRDAxKg0KK1gxMjc5NDRZMTc4NTU2RDAxKg0KK1gxMjc5MzhZMTc4NTU5RDAxKg0KK1kxODEwOTREMDEqDQorWDEyNzk0NlkxODEwOThEMDEqDQorWDEyODAxMlkxODExNDJEMDEqDQorWDEyODA3MFkxODExOTdEMDEqDQorWDEyODExOFkxODEyNjBEMDEqDQorWDEyODE1NlkxODEzMjlEMDEqDQorWDEyODE4MlkxODE0MDREMDEqDQorWDEyODE5N1kxODE0ODJEMDEqDQorWDEyODE5OVkxODE1NjFEMDEqDQorWDEyODE4OVkxODE2NDBEMDEqDQorWDEyODE2NlkxODE3MTZEMDEqDQorWDEyODEzMlkxODE3ODhEMDEqDQorWDEyODA4OFkxODE4NTNEMDEqDQorWDEyODAzM1kxODE5MTFEMDEqDQorWDEyNzk3MFkxODE5NTlEMDEqDQorWDEyNzkzOFkxODE5NzZEMDEqDQorWTE4NzY4NkQwMSoNCitYMTI3OTY4WTE4NzcwMkQwMSoNCitYMTI4MDMxWTE4Nzc1MEQwMSoNCitYMTI4MDg1WTE4NzgwN0QwMSoNCitYMTI4MTI5WTE4Nzg3MkQwMSoNCitYMTI4MTYzWTE4Nzk0M0QwMSoNCitYMTI4MTg1WTE4ODAxOUQwMSoNCitYMTI4MTk1WTE4ODA5N0QwMSoNCitYMTI4MTkzWTE4ODE3NkQwMSoNCitYMTI4MTc5WTE4ODI1M0QwMSoNCitYMTI4MTUyWTE4ODMyN0QwMSoNCitYMTI4MTE1WTE4ODM5NkQwMSoNCitYMTI4MDY3WTE4ODQ1OUQwMSoNCitYMTI4MDEwWTE4ODUxM0QwMSoNCitYMTI3OTQ0WTE4ODU1NkQwMSoNCitYMTI3OTM4WTE4ODU1OUQwMSoNCitZMjQxMDAzRDAxKg0KK1gxMjgxMjFZMjQwODkxRDAxKg0KK1gxMjgzODNZMjQwNzgzRDAxKg0KK1gxMjg2NTlZMjQwNzE3RDAxKg0KK1gxMjg5NDFZMjQwNjk0RDAxKg0KK1gxMjkyMjNZMjQwNzE3RDAxKg0KK1gxMjkzNDNZMjQwNzQ1RDAxKg0KK1kxODcxNjFEMDEqDQorWDEyOTI5OVkxODcxODZEMDEqDQorWDEyOTIyNFkxODcyMTJEMDEqDQorWDEyOTE0NlkxODcyMjdEMDEqDQorWDEyOTA2N1kxODcyMjlEMDEqDQorWDEyODk4OFkxODcyMTlEMDEqDQorWDEyODkxMlkxODcxOTZEMDEqDQorWDEyODg0MFkxODcxNjJEMDEqDQorWDEyODc3NVkxODcxMThEMDEqDQorWDEyODcxN1kxODcwNjNEMDEqDQorWDEyODY2OVkxODcwMDBEMDEqDQorWDEyODYzMVkxODY5MzFEMDEqDQorWDEyODYwNVkxODY4NTZEMDEqDQorWDEyODU5MFkxODY3NzhEMDEqDQorWDEyODU4OFkxODY2OTlEMDEqDQorWDEyODU5OFkxODY2MjBEMDEqDQorWDEyODYyMVkxODY1NDREMDEqDQorWDEyODY1NlkxODY0NzNEMDEqDQorWDEyODgwMlkxODYxOTdEMDEqDQorWDEyODkxOFkxODU5MDZEMDEqDQorWDEyOTAwNlkxODU2MDVEMDEqDQorWDEyOTA2NlkxODUyOTdEMDEqDQorWDEyOTA5NVkxODQ5ODZEMDEqDQorWTE4NDY3MkQwMSoNCitYMTI5MDY2WTE4NDM2MUQwMSoNCitYMTI5MDA2WTE4NDA1M0QwMSoNCitYMTI4OTE4WTE4Mzc1MkQwMSoNCitYMTI4ODAyWTE4MzQ2MUQwMSoNCitYMTI4NjU5WTE4MzE4M0QwMSoNCitYMTI4NjI0WTE4MzExM0QwMSoNCitYMTI4NjAyWTE4MzAzN0QwMSoNCitYMTI4NTkyWTE4Mjk1OUQwMSoNCitYMTI4NTk0WTE4Mjg4MEQwMSoNCitYMTI4NjA4WTE4MjgwM0QwMSoNCitYMTI4NjM1WTE4MjcyOUQwMSoNCitYMTI4NjcyWTE4MjY2MEQwMSoNCitYMTI4NzIwWTE4MjU5N0QwMSoNCitYMTI4Nzc3WTE4MjU0M0QwMSoNCitYMTI4ODQyWTE4MjQ5OUQwMSoNCitYMTI4OTEzWTE4MjQ2NUQwMSoNCitYMTI4OTg5WTE4MjQ0M0QwMSoNCitYMTI5MDY3WTE4MjQzM0QwMSoNCitYMTI5MTQ2WTE4MjQzNUQwMSoNCitYMTI5MjIzWTE4MjQ0OUQwMSoNCitYMTI5Mjk3WTE4MjQ3NkQwMSoNCitYMTI5MzQzWTE4MjUwMUQwMSoNCitZMTc3MTYxRDAxKg0KK1gxMjkyOTlZMTc3MTg2RDAxKg0KK1gxMjkyMjRZMTc3MjEyRDAxKg0KK1gxMjkxNDZZMTc3MjI3RDAxKg0KK1gxMjkwNjdZMTc3MjI5RDAxKg0KK1gxMjg5ODhZMTc3MjE5RDAxKg0KK1gxMjg5MTJZMTc3MTk2RDAxKg0KK1gxMjg4NDBZMTc3MTYyRDAxKg0KK1gxMjg3NzVZMTc3MTE4RDAxKg0KK1gxMjg3MTdZMTc3MDYzRDAxKg0KK1gxMjg2NjlZMTc3MDAwRDAxKg0KK1gxMjg2MzFZMTc2OTMxRDAxKg0KK1gxMjg2MDVZMTc2ODU2RDAxKg0KK1gxMjg1OTBZMTc2Nzc4RDAxKg0KK1gxMjg1ODhZMTc2Njk5RDAxKg0KK1gxMjg1OThZMTc2NjIwRDAxKg0KK1gxMjg2MjFZMTc2NTQ0RDAxKg0KK1gxMjg2NTZZMTc2NDczRDAxKg0KK1gxMjg4MDJZMTc2MTk3RDAxKg0KK1gxMjg5MThZMTc1OTA2RDAxKg0KK1gxMjkwMDZZMTc1NjA1RDAxKg0KK1gxMjkwNjZZMTc1Mjk3RDAxKg0KK1gxMjkwOTVZMTc0OTg2RDAxKg0KK1kxNzQ2NzJEMDEqDQorWDEyOTA2NlkxNzQzNjFEMDEqDQorWDEyOTAwNlkxNzQwNTNEMDEqDQorWDEyODkxOFkxNzM3NTJEMDEqDQorWDEyODgwMlkxNzM0NjFEMDEqDQorWDEyODY1OVkxNzMxODNEMDEqDQorWDEyODYyNFkxNzMxMTNEMDEqDQorWDEyODYwMlkxNzMwMzdEMDEqDQorWDEyODU5MlkxNzI5NTlEMDEqDQorWDEyODU5NFkxNzI4ODBEMDEqDQorWDEyODYwOFkxNzI4MDNEMDEqDQorWDEyODYzNVkxNzI3MjlEMDEqDQorWDEyODY3MlkxNzI2NjBEMDEqDQorWDEyODcyMFkxNzI1OTdEMDEqDQorWDEyODc3N1kxNzI1NDNEMDEqDQorWDEyODg0MlkxNzI0OTlEMDEqDQorWDEyODkxM1kxNzI0NjVEMDEqDQorWDEyODk4OVkxNzI0NDNEMDEqDQorWDEyOTA2N1kxNzI0MzNEMDEqDQorWDEyOTE0NlkxNzI0MzVEMDEqDQorWDEyOTIyM1kxNzI0NDlEMDEqDQorWDEyOTI5N1kxNzI0NzZEMDEqDQorWDEyOTM0M1kxNzI1MDFEMDEqDQorWTE0OTEzMEQwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjUwMEQwMipYMTI3OTM4RDAxKg0KK1kxNDYxOTVEMDEqDQorWDEyNzk0MVkxNDYxOTREMDEqDQorWDEyODIyM1kxNDYyMTdEMDEqDQorWDEyODQ5OVkxNDYyODNEMDEqDQorWDEyODc2MVkxNDYzOTFEMDEqDQorWDEyOTAwMlkxNDY1MzlEMDEqDQorWDEyOTIxOFkxNDY3MjNEMDEqDQorWDEyOTM0M1kxNDY4NzBEMDEqDQorWTc2NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEyNzkzOFkyNzg1MDBEMDIqWDEyOTM0M0QwMSoNCitZMjc2MjU1RDAxKg0KK1gxMjkyMjNZMjc2MjgzRDAxKg0KK1gxMjg5NDFZMjc2MzA2RDAxKg0KK1gxMjg2NTlZMjc2MjgzRDAxKg0KK1gxMjgzODNZMjc2MjE3RDAxKg0KK1gxMjgxMjFZMjc2MTA5RDAxKg0KK1gxMjc5MzhZMjc1OTk3RDAxKg0KK1kyNzg1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTIyMjU1RDAyKlgxMjc5MzhEMDEqDQorWTI3NTk5N0QwMSoNCitYMTI3ODgwWTI3NTk2MUQwMSoNCitYMTI3NjY0WTI3NTc3N0QwMSoNCitYMTI3NDgwWTI3NTU2MUQwMSoNCitYMTI3MzMyWTI3NTMyMEQwMSoNCitYMTI3MjI0WTI3NTA1OEQwMSoNCitYMTI3MTU4WTI3NDc4MkQwMSoNCitYMTI3MTM1WTI3NDUwMEQwMSoNCitYMTI3MTU4WTI3NDIxOEQwMSoNCitYMTI3MjI0WTI3Mzk0MkQwMSoNCitYMTI3MzMyWTI3MzY4MEQwMSoNCitYMTI3NDgwWTI3MzQzOUQwMSoNCitYMTI3NjY0WTI3MzIyM0QwMSoNCitYMTI3ODgwWTI3MzAzOUQwMSoNCitYMTI3OTM4WTI3MzAwM0QwMSoNCitZMjY5OTk3RDAxKg0KK1gxMjc4ODBZMjY5OTYxRDAxKg0KK1gxMjc2NjRZMjY5Nzc3RDAxKg0KK1gxMjc0ODBZMjY5NTYxRDAxKg0KK1gxMjczMzJZMjY5MzIwRDAxKg0KK1gxMjcyMjRZMjY5MDU4RDAxKg0KK1gxMjcxNThZMjY4NzgyRDAxKg0KK1gxMjcxMzVZMjY4NTAwRDAxKg0KK1gxMjcxNThZMjY4MjE4RDAxKg0KK1gxMjcyMjRZMjY3OTQyRDAxKg0KK1gxMjczMzJZMjY3NjgwRDAxKg0KK1gxMjc0ODBZMjY3NDM5RDAxKg0KK1gxMjc2NjRZMjY3MjIzRDAxKg0KK1gxMjc4ODBZMjY3MDM5RDAxKg0KK1gxMjc5MzhZMjY3MDAzRDAxKg0KK1kyNjM5OTdEMDEqDQorWDEyNzg4MFkyNjM5NjFEMDEqDQorWDEyNzY2NFkyNjM3NzdEMDEqDQorWDEyNzQ4MFkyNjM1NjFEMDEqDQorWDEyNzMzMlkyNjMzMjBEMDEqDQorWDEyNzIyNFkyNjMwNThEMDEqDQorWDEyNzE1OFkyNjI3ODJEMDEqDQorWDEyNzEzNVkyNjI1MDBEMDEqDQorWDEyNzE1OFkyNjIyMThEMDEqDQorWDEyNzIyNFkyNjE5NDJEMDEqDQorWDEyNzMzMlkyNjE2ODBEMDEqDQorWDEyNzQ4MFkyNjE0MzlEMDEqDQorWDEyNzY2NFkyNjEyMjNEMDEqDQorWDEyNzg4MFkyNjEwMzlEMDEqDQorWDEyNzkzOFkyNjEwMDNEMDEqDQorWTI1NjQ5N0QwMSoNCitYMTI3ODgwWTI1NjQ2MUQwMSoNCitYMTI3NjY0WTI1NjI3N0QwMSoNCitYMTI3NDgwWTI1NjA2MUQwMSoNCitYMTI3MzMyWTI1NTgyMEQwMSoNCitYMTI3MjI0WTI1NTU1OEQwMSoNCitYMTI3MTU4WTI1NTI4MkQwMSoNCitYMTI3MTM1WTI1NTAwMEQwMSoNCitYMTI3MTU4WTI1NDcxOEQwMSoNCitYMTI3MjI0WTI1NDQ0MkQwMSoNCitYMTI3MzMyWTI1NDE4MEQwMSoNCitYMTI3NDgwWTI1MzkzOUQwMSoNCitYMTI3NjY0WTI1MzcyM0QwMSoNCitYMTI3ODgwWTI1MzUzOUQwMSoNCitYMTI3OTM4WTI1MzUwM0QwMSoNCitZMjQ5OTk3RDAxKg0KK1gxMjc4ODBZMjQ5OTYxRDAxKg0KK1gxMjc2NjRZMjQ5Nzc3RDAxKg0KK1gxMjc0ODBZMjQ5NTYxRDAxKg0KK1gxMjczMzJZMjQ5MzIwRDAxKg0KK1gxMjcyMjRZMjQ5MDU4RDAxKg0KK1gxMjcxNThZMjQ4NzgyRDAxKg0KK1gxMjcxMzVZMjQ4NTAwRDAxKg0KK1gxMjcxNThZMjQ4MjE4RDAxKg0KK1gxMjcyMjRZMjQ3OTQyRDAxKg0KK1gxMjczMzJZMjQ3NjgwRDAxKg0KK1gxMjc0ODBZMjQ3NDM5RDAxKg0KK1gxMjc2NjRZMjQ3MjIzRDAxKg0KK1gxMjc4ODBZMjQ3MDM5RDAxKg0KK1gxMjc5MzhZMjQ3MDAzRDAxKg0KK1kyNDM5OTdEMDEqDQorWDEyNzg4MFkyNDM5NjFEMDEqDQorWDEyNzY2NFkyNDM3NzdEMDEqDQorWDEyNzQ4MFkyNDM1NjFEMDEqDQorWDEyNzMzMlkyNDMzMjBEMDEqDQorWDEyNzIyNFkyNDMwNThEMDEqDQorWDEyNzE1OFkyNDI3ODJEMDEqDQorWDEyNzEzNVkyNDI1MDBEMDEqDQorWDEyNzE1OFkyNDIyMThEMDEqDQorWDEyNzIyNFkyNDE5NDJEMDEqDQorWDEyNzMzMlkyNDE2ODBEMDEqDQorWDEyNzQ4MFkyNDE0MzlEMDEqDQorWDEyNzY2NFkyNDEyMjNEMDEqDQorWDEyNzg4MFkyNDEwMzlEMDEqDQorWDEyNzkzOFkyNDEwMDNEMDEqDQorWTE4ODU1OUQwMSoNCitYMTI3NTgzWTE4ODc0N0QwMSoNCitYMTI3MjAzWTE4ODg5OEQwMSoNCitYMTI2ODExWTE4OTAxM0QwMSoNCitYMTI2NDEwWTE4OTA5MEQwMSoNCitYMTI2MDAzWTE4OTEyOUQwMSoNCitYMTI1NTk1RDAxKg0KK1gxMjUxODhZMTg5MDkwRDAxKg0KK1gxMjQ3ODdZMTg5MDEzRDAxKg0KK1gxMjQzOTVZMTg4ODk4RDAxKg0KK1gxMjQwMTVZMTg4NzQ3RDAxKg0KK1gxMjM2NTJZMTg4NTYwRDAxKg0KK1gxMjM1ODZZMTg4NTE2RDAxKg0KK1gxMjM1MjhZMTg4NDYxRDAxKg0KK1gxMjM0ODBZMTg4Mzk4RDAxKg0KK1gxMjM0NDJZMTg4MzI5RDAxKg0KK1gxMjM0MTZZMTg4MjU0RDAxKg0KK1gxMjM0MDFZMTg4MTc2RDAxKg0KK1gxMjMzOTlZMTg4MDk3RDAxKg0KK1gxMjM0MDlZMTg4MDE4RDAxKg0KK1gxMjM0MzJZMTg3OTQyRDAxKg0KK1gxMjM0NjZZMTg3ODcwRDAxKg0KK1gxMjM1MTBZMTg3ODA1RDAxKg0KK1gxMjM1NjVZMTg3NzQ3RDAxKg0KK1gxMjM2MjhZMTg3Njk5RDAxKg0KK1gxMjM2OTdZMTg3NjYxRDAxKg0KK1gxMjM3NzJZMTg3NjM1RDAxKg0KK1gxMjM4NTBZMTg3NjIwRDAxKg0KK1gxMjM5MjlZMTg3NjE4RDAxKg0KK1gxMjQwMDhZMTg3NjI4RDAxKg0KK1gxMjQwODRZMTg3NjUxRDAxKg0KK1gxMjQxNTVZMTg3Njg2RDAxKg0KK1gxMjQ0MzFZMTg3ODMyRDAxKg0KK1gxMjQ3MjJZMTg3OTQ4RDAxKg0KK1gxMjUwMjNZMTg4MDM2RDAxKg0KK1gxMjUzMzFZMTg4MDk2RDAxKg0KK1gxMjU2NDJZMTg4MTI1RDAxKg0KK1gxMjU5NTZEMDEqDQorWDEyNjI2N1kxODgwOTZEMDEqDQorWDEyNjU3NVkxODgwMzZEMDEqDQorWDEyNjg3NlkxODc5NDhEMDEqDQorWDEyNzE2N1kxODc4MzJEMDEqDQorWDEyNzQ0NVkxODc2ODlEMDEqDQorWDEyNzUxNVkxODc2NTREMDEqDQorWDEyNzU5MVkxODc2MzJEMDEqDQorWDEyNzY2OVkxODc2MjJEMDEqDQorWDEyNzc0OFkxODc2MjREMDEqDQorWDEyNzgyNVkxODc2MzhEMDEqDQorWDEyNzg5OVkxODc2NjVEMDEqDQorWDEyNzkzOFkxODc2ODZEMDEqDQorWTE4MTk3NkQwMSoNCitYMTI3OTAxWTE4MTk5N0QwMSoNCitYMTI3ODI2WTE4MjAyM0QwMSoNCitYMTI3NzQ4WTE4MjAzOEQwMSoNCitYMTI3NjY5WTE4MjA0MEQwMSoNCitYMTI3NTkwWTE4MjAzMEQwMSoNCitYMTI3NTE0WTE4MjAwN0QwMSoNCitYMTI3NDQzWTE4MTk3MkQwMSoNCitYMTI3MTY3WTE4MTgyNkQwMSoNCitYMTI2ODc2WTE4MTcxMEQwMSoNCitYMTI2NTc1WTE4MTYyMkQwMSoNCitYMTI2MjY3WTE4MTU2MkQwMSoNCitYMTI1OTU2WTE4MTUzM0QwMSoNCitYMTI1NjQyRDAxKg0KK1gxMjUzMzFZMTgxNTYyRDAxKg0KK1gxMjUwMjNZMTgxNjIyRDAxKg0KK1gxMjQ3MjJZMTgxNzEwRDAxKg0KK1gxMjQ0MzFZMTgxODI2RDAxKg0KK1gxMjQxNTNZMTgxOTY5RDAxKg0KK1gxMjQwODNZMTgyMDA0RDAxKg0KK1gxMjQwMDdZMTgyMDI2RDAxKg0KK1gxMjM5MjlZMTgyMDM2RDAxKg0KK1gxMjM4NTBZMTgyMDM0RDAxKg0KK1gxMjM3NzNZMTgyMDIwRDAxKg0KK1gxMjM2OTlZMTgxOTkzRDAxKg0KK1gxMjM2MzBZMTgxOTU2RDAxKg0KK1gxMjM1NjdZMTgxOTA4RDAxKg0KK1gxMjM1MTNZMTgxODUxRDAxKg0KK1gxMjM0NjlZMTgxNzg2RDAxKg0KK1gxMjM0MzVZMTgxNzE1RDAxKg0KK1gxMjM0MTNZMTgxNjM5RDAxKg0KK1gxMjM0MDNZMTgxNTYxRDAxKg0KK1gxMjM0MDVZMTgxNDgyRDAxKg0KK1gxMjM0MTlZMTgxNDA1RDAxKg0KK1gxMjM0NDZZMTgxMzMxRDAxKg0KK1gxMjM0ODNZMTgxMjYyRDAxKg0KK1gxMjM1MzFZMTgxMTk5RDAxKg0KK1gxMjM1ODhZMTgxMTQ1RDAxKg0KK1gxMjM2NTRZMTgxMTAyRDAxKg0KK1gxMjQwMTVZMTgwOTExRDAxKg0KK1gxMjQzOTVZMTgwNzYwRDAxKg0KK1gxMjQ3ODdZMTgwNjQ1RDAxKg0KK1gxMjUxODhZMTgwNTY4RDAxKg0KK1gxMjU1OTVZMTgwNTI5RDAxKg0KK1gxMjYwMDNEMDEqDQorWDEyNjQxMFkxODA1NjhEMDEqDQorWDEyNjgxMVkxODA2NDVEMDEqDQorWDEyNzIwM1kxODA3NjBEMDEqDQorWDEyNzU4M1kxODA5MTFEMDEqDQorWDEyNzkzOFkxODEwOTREMDEqDQorWTE3ODU1OUQwMSoNCitYMTI3NTgzWTE3ODc0N0QwMSoNCitYMTI3MjAzWTE3ODg5OEQwMSoNCitYMTI2ODExWTE3OTAxM0QwMSoNCitYMTI2NDEwWTE3OTA5MEQwMSoNCitYMTI2MDAzWTE3OTEyOUQwMSoNCitYMTI1NTk1RDAxKg0KK1gxMjUxODhZMTc5MDkwRDAxKg0KK1gxMjQ3ODdZMTc5MDEzRDAxKg0KK1gxMjQzOTVZMTc4ODk4RDAxKg0KK1gxMjQwMTVZMTc4NzQ3RDAxKg0KK1gxMjM2NTJZMTc4NTYwRDAxKg0KK1gxMjM1ODZZMTc4NTE2RDAxKg0KK1gxMjM1MjhZMTc4NDYxRDAxKg0KK1gxMjM0ODBZMTc4Mzk4RDAxKg0KK1gxMjM0NDJZMTc4MzI5RDAxKg0KK1gxMjM0MTZZMTc4MjU0RDAxKg0KK1gxMjM0MDFZMTc4MTc2RDAxKg0KK1gxMjMzOTlZMTc4MDk3RDAxKg0KK1gxMjM0MDlZMTc4MDE4RDAxKg0KK1gxMjM0MzJZMTc3OTQyRDAxKg0KK1gxMjM0NjZZMTc3ODcwRDAxKg0KK1gxMjM1MTBZMTc3ODA1RDAxKg0KK1gxMjM1NjVZMTc3NzQ3RDAxKg0KK1gxMjM2MjhZMTc3Njk5RDAxKg0KK1gxMjM2OTdZMTc3NjYxRDAxKg0KK1gxMjM3NzJZMTc3NjM1RDAxKg0KK1gxMjM4NTBZMTc3NjIwRDAxKg0KK1gxMjM5MjlZMTc3NjE4RDAxKg0KK1gxMjQwMDhZMTc3NjI4RDAxKg0KK1gxMjQwODRZMTc3NjUxRDAxKg0KK1gxMjQxNTVZMTc3Njg2RDAxKg0KK1gxMjQ0MzFZMTc3ODMyRDAxKg0KK1gxMjQ3MjJZMTc3OTQ4RDAxKg0KK1gxMjUwMjNZMTc4MDM2RDAxKg0KK1gxMjUzMzFZMTc4MDk2RDAxKg0KK1gxMjU2NDJZMTc4MTI1RDAxKg0KK1gxMjU5NTZEMDEqDQorWDEyNjI2N1kxNzgwOTZEMDEqDQorWDEyNjU3NVkxNzgwMzZEMDEqDQorWDEyNjg3NlkxNzc5NDhEMDEqDQorWDEyNzE2N1kxNzc4MzJEMDEqDQorWDEyNzQ0NVkxNzc2ODlEMDEqDQorWDEyNzUxNVkxNzc2NTREMDEqDQorWDEyNzU5MVkxNzc2MzJEMDEqDQorWDEyNzY2OVkxNzc2MjJEMDEqDQorWDEyNzc0OFkxNzc2MjREMDEqDQorWDEyNzgyNVkxNzc2MzhEMDEqDQorWDEyNzg5OVkxNzc2NjVEMDEqDQorWDEyNzkzOFkxNzc2ODZEMDEqDQorWTE3MTk3NkQwMSoNCitYMTI3OTAxWTE3MTk5N0QwMSoNCitYMTI3ODI2WTE3MjAyM0QwMSoNCitYMTI3NzQ4WTE3MjAzOEQwMSoNCitYMTI3NjY5WTE3MjA0MEQwMSoNCitYMTI3NTkwWTE3MjAzMEQwMSoNCitYMTI3NTE0WTE3MjAwN0QwMSoNCitYMTI3NDQzWTE3MTk3MkQwMSoNCitYMTI3MTY3WTE3MTgyNkQwMSoNCitYMTI2ODc2WTE3MTcxMEQwMSoNCitYMTI2NTc1WTE3MTYyMkQwMSoNCitYMTI2MjY3WTE3MTU2MkQwMSoNCitYMTI1OTU2WTE3MTUzM0QwMSoNCitYMTI1NjQyRDAxKg0KK1gxMjUzMzFZMTcxNTYyRDAxKg0KK1gxMjUwMjNZMTcxNjIyRDAxKg0KK1gxMjQ3MjJZMTcxNzEwRDAxKg0KK1gxMjQ0MzFZMTcxODI2RDAxKg0KK1gxMjQxNTNZMTcxOTY5RDAxKg0KK1gxMjQwODNZMTcyMDA0RDAxKg0KK1gxMjQwMDdZMTcyMDI2RDAxKg0KK1gxMjM5MjlZMTcyMDM2RDAxKg0KK1gxMjM4NTBZMTcyMDM0RDAxKg0KK1gxMjM3NzNZMTcyMDIwRDAxKg0KK1gxMjM2OTlZMTcxOTkzRDAxKg0KK1gxMjM2MzBZMTcxOTU2RDAxKg0KK1gxMjM1NjdZMTcxOTA4RDAxKg0KK1gxMjM1MTNZMTcxODUxRDAxKg0KK1gxMjM0NjlZMTcxNzg2RDAxKg0KK1gxMjM0MzVZMTcxNzE1RDAxKg0KK1gxMjM0MTNZMTcxNjM5RDAxKg0KK1gxMjM0MDNZMTcxNTYxRDAxKg0KK1gxMjM0MDVZMTcxNDgyRDAxKg0KK1gxMjM0MTlZMTcxNDA1RDAxKg0KK1gxMjM0NDZZMTcxMzMxRDAxKg0KK1gxMjM0ODNZMTcxMjYyRDAxKg0KK1gxMjM1MzFZMTcxMTk5RDAxKg0KK1gxMjM1ODhZMTcxMTQ1RDAxKg0KK1gxMjM2NTRZMTcxMTAyRDAxKg0KK1gxMjQwMTVZMTcwOTExRDAxKg0KK1gxMjQzOTVZMTcwNzYwRDAxKg0KK1gxMjQ3ODdZMTcwNjQ1RDAxKg0KK1gxMjUxODhZMTcwNTY4RDAxKg0KK1gxMjU1OTVZMTcwNTI5RDAxKg0KK1gxMjYwMDNEMDEqDQorWDEyNjQxMFkxNzA1NjhEMDEqDQorWDEyNjgxMVkxNzA2NDVEMDEqDQorWDEyNzIwM1kxNzA3NjBEMDEqDQorWDEyNzU4M1kxNzA5MTFEMDEqDQorWDEyNzkzOFkxNzEwOTREMDEqDQorWTE0OTgwNUQwMSoNCitYMTI3NjU5WTE0OTc4M0QwMSoNCitYMTI3MzgzWTE0OTcxN0QwMSoNCitYMTI3MTIxWTE0OTYwOUQwMSoNCitYMTI2ODgwWTE0OTQ2MUQwMSoNCitYMTI2NjY0WTE0OTI3N0QwMSoNCitYMTI2NDgwWTE0OTA2MUQwMSoNCitYMTI2MzMyWTE0ODgyMEQwMSoNCitYMTI2MjI0WTE0ODU1OEQwMSoNCitYMTI2MTU4WTE0ODI4MkQwMSoNCitYMTI2MTM1WTE0ODAwMEQwMSoNCitYMTI2MTU4WTE0NzcxOEQwMSoNCitYMTI2MjI0WTE0NzQ0MkQwMSoNCitYMTI2MzMyWTE0NzE4MEQwMSoNCitYMTI2NDgwWTE0NjkzOUQwMSoNCitYMTI2NjY0WTE0NjcyM0QwMSoNCitYMTI2ODgwWTE0NjUzOUQwMSoNCitYMTI3MTIxWTE0NjM5MUQwMSoNCitYMTI3MzgzWTE0NjI4M0QwMSoNCitYMTI3NjU5WTE0NjIxN0QwMSoNCitYMTI3OTM4WTE0NjE5NUQwMSoNCitZNzY1MDBEMDEqDQorWDEyMjI1NUQwMSoNCitZMTcyNDk3RDAxKg0KK1gxMjIyOTlZMTcyNDcyRDAxKg0KK1gxMjIzNzRZMTcyNDQ2RDAxKg0KK1gxMjI0NTJZMTcyNDMxRDAxKg0KK1gxMjI1MzFZMTcyNDI5RDAxKg0KK1gxMjI2MTBZMTcyNDM5RDAxKg0KK1gxMjI2ODZZMTcyNDYyRDAxKg0KK1gxMjI3NThZMTcyNDk2RDAxKg0KK1gxMjI4MjNZMTcyNTQwRDAxKg0KK1gxMjI4ODFZMTcyNTk1RDAxKg0KK1gxMjI5MjlZMTcyNjU4RDAxKg0KK1gxMjI5NjdZMTcyNzI3RDAxKg0KK1gxMjI5OTNZMTcyODAyRDAxKg0KK1gxMjMwMDhZMTcyODgwRDAxKg0KK1gxMjMwMTBZMTcyOTU5RDAxKg0KK1gxMjMwMDBZMTczMDM4RDAxKg0KK1gxMjI5NzdZMTczMTE0RDAxKg0KK1gxMjI5NDJZMTczMTg1RDAxKg0KK1gxMjI3OTZZMTczNDYxRDAxKg0KK1gxMjI2ODBZMTczNzUyRDAxKg0KK1gxMjI1OTJZMTc0MDUzRDAxKg0KK1gxMjI1MzJZMTc0MzYxRDAxKg0KK1gxMjI1MDNZMTc0NjcyRDAxKg0KK1kxNzQ5ODZEMDEqDQorWDEyMjUzMlkxNzUyOTdEMDEqDQorWDEyMjU5MlkxNzU2MDVEMDEqDQorWDEyMjY4MFkxNzU5MDZEMDEqDQorWDEyMjc5NlkxNzYxOTdEMDEqDQorWDEyMjkzOVkxNzY0NzVEMDEqDQorWDEyMjk3NFkxNzY1NDVEMDEqDQorWDEyMjk5NlkxNzY2MjFEMDEqDQorWDEyMzAwNlkxNzY2OTlEMDEqDQorWDEyMzAwNFkxNzY3NzhEMDEqDQorWDEyMjk5MFkxNzY4NTVEMDEqDQorWDEyMjk2M1kxNzY5MjlEMDEqDQorWDEyMjkyNlkxNzY5OThEMDEqDQorWDEyMjg3OFkxNzcwNjFEMDEqDQorWDEyMjgyMVkxNzcxMTVEMDEqDQorWDEyMjc1NlkxNzcxNTlEMDEqDQorWDEyMjY4NVkxNzcxOTNEMDEqDQorWDEyMjYwOVkxNzcyMTVEMDEqDQorWDEyMjUzMVkxNzcyMjVEMDEqDQorWDEyMjQ1MlkxNzcyMjNEMDEqDQorWDEyMjM3NVkxNzcyMDlEMDEqDQorWDEyMjMwMVkxNzcxODJEMDEqDQorWDEyMjI1NVkxNzcxNTdEMDEqDQorWTE4MjQ5N0QwMSoNCitYMTIyMjk5WTE4MjQ3MkQwMSoNCitYMTIyMzc0WTE4MjQ0NkQwMSoNCitYMTIyNDUyWTE4MjQzMUQwMSoNCitYMTIyNTMxWTE4MjQyOUQwMSoNCitYMTIyNjEwWTE4MjQzOUQwMSoNCitYMTIyNjg2WTE4MjQ2MkQwMSoNCitYMTIyNzU4WTE4MjQ5NkQwMSoNCitYMTIyODIzWTE4MjU0MEQwMSoNCitYMTIyODgxWTE4MjU5NUQwMSoNCitYMTIyOTI5WTE4MjY1OEQwMSoNCitYMTIyOTY3WTE4MjcyN0QwMSoNCitYMTIyOTkzWTE4MjgwMkQwMSoNCitYMTIzMDA4WTE4Mjg4MEQwMSoNCitYMTIzMDEwWTE4Mjk1OUQwMSoNCitYMTIzMDAwWTE4MzAzOEQwMSoNCitYMTIyOTc3WTE4MzExNEQwMSoNCitYMTIyOTQyWTE4MzE4NUQwMSoNCitYMTIyNzk2WTE4MzQ2MUQwMSoNCitYMTIyNjgwWTE4Mzc1MkQwMSoNCitYMTIyNTkyWTE4NDA1M0QwMSoNCitYMTIyNTMyWTE4NDM2MUQwMSoNCitYMTIyNTAzWTE4NDY3MkQwMSoNCitZMTg0OTg2RDAxKg0KK1gxMjI1MzJZMTg1Mjk3RDAxKg0KK1gxMjI1OTJZMTg1NjA1RDAxKg0KK1gxMjI2ODBZMTg1OTA2RDAxKg0KK1gxMjI3OTZZMTg2MTk3RDAxKg0KK1gxMjI5MzlZMTg2NDc1RDAxKg0KK1gxMjI5NzRZMTg2NTQ1RDAxKg0KK1gxMjI5OTZZMTg2NjIxRDAxKg0KK1gxMjMwMDZZMTg2Njk5RDAxKg0KK1gxMjMwMDRZMTg2Nzc4RDAxKg0KK1gxMjI5OTBZMTg2ODU1RDAxKg0KK1gxMjI5NjNZMTg2OTI5RDAxKg0KK1gxMjI5MjZZMTg2OTk4RDAxKg0KK1gxMjI4NzhZMTg3MDYxRDAxKg0KK1gxMjI4MjFZMTg3MTE1RDAxKg0KK1gxMjI3NTZZMTg3MTU5RDAxKg0KK1gxMjI2ODVZMTg3MTkzRDAxKg0KK1gxMjI2MDlZMTg3MjE1RDAxKg0KK1gxMjI1MzFZMTg3MjI1RDAxKg0KK1gxMjI0NTJZMTg3MjIzRDAxKg0KK1gxMjIzNzVZMTg3MjA5RDAxKg0KK1gxMjIzMDFZMTg3MTgyRDAxKg0KK1gxMjIyNTVZMTg3MTU3RDAxKg0KK1kyNzg1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE0NDM4RDAyKlgxMjIyNTVEMDEqDQorWTE4NzE1N0QwMSoNCitYMTIyMjMyWTE4NzE0NUQwMSoNCitYMTIyMTY5WTE4NzA5N0QwMSoNCitYMTIyMTE1WTE4NzA0MEQwMSoNCitYMTIyMDcyWTE4Njk3NEQwMSoNCitYMTIxODgxWTE4NjYxM0QwMSoNCitYMTIxNzMwWTE4NjIzM0QwMSoNCitYMTIxNjE1WTE4NTg0MUQwMSoNCitYMTIxNTM4WTE4NTQ0MEQwMSoNCitYMTIxNDk5WTE4NTAzM0QwMSoNCitZMTg0NjI1RDAxKg0KK1gxMjE1MzhZMTg0MjE4RDAxKg0KK1gxMjE2MTVZMTgzODE3RDAxKg0KK1gxMjE3MzBZMTgzNDI1RDAxKg0KK1gxMjE4ODFZMTgzMDQ1RDAxKg0KK1gxMjIwNjhZMTgyNjgyRDAxKg0KK1gxMjIxMTJZMTgyNjE2RDAxKg0KK1gxMjIxNjdZMTgyNTU4RDAxKg0KK1gxMjIyMzBZMTgyNTEwRDAxKg0KK1gxMjIyNTVZMTgyNDk3RDAxKg0KK1kxNzcxNTdEMDEqDQorWDEyMjIzMlkxNzcxNDVEMDEqDQorWDEyMjE2OVkxNzcwOTdEMDEqDQorWDEyMjExNVkxNzcwNDBEMDEqDQorWDEyMjA3MlkxNzY5NzREMDEqDQorWDEyMTg4MVkxNzY2MTNEMDEqDQorWDEyMTczMFkxNzYyMzNEMDEqDQorWDEyMTYxNVkxNzU4NDFEMDEqDQorWDEyMTUzOFkxNzU0NDBEMDEqDQorWDEyMTQ5OVkxNzUwMzNEMDEqDQorWTE3NDYyNUQwMSoNCitYMTIxNTM4WTE3NDIxOEQwMSoNCitYMTIxNjE1WTE3MzgxN0QwMSoNCitYMTIxNzMwWTE3MzQyNUQwMSoNCitYMTIxODgxWTE3MzA0NUQwMSoNCitYMTIyMDY4WTE3MjY4MkQwMSoNCitYMTIyMTEyWTE3MjYxNkQwMSoNCitYMTIyMTY3WTE3MjU1OEQwMSoNCitYMTIyMjMwWTE3MjUxMEQwMSoNCitYMTIyMjU1WTE3MjQ5N0QwMSoNCitZNzY1MDBEMDEqDQorWDExNDQzOEQwMSoNCitZMTE5Njk1RDAxKg0KK1gxMTQ0NDFZMTE5Njk0RDAxKg0KK1gxMTQ3MjNZMTE5NzE3RDAxKg0KK1gxMTQ5OTlZMTE5NzgzRDAxKg0KK1gxMTUyNjFZMTE5ODkxRDAxKg0KK1gxMTU1MDJZMTIwMDM5RDAxKg0KK1gxMTU3MThZMTIwMjIzRDAxKg0KK1gxMTU5MDJZMTIwNDM5RDAxKg0KK1gxMTYwNTBZMTIwNjgwRDAxKg0KK1gxMTYxNThZMTIwOTQyRDAxKg0KK1gxMTYyMjRZMTIxMjE4RDAxKg0KK1gxMTYyNDFZMTIxNTAwRDAxKg0KK1gxMTYyMjRZMTIxNzgyRDAxKg0KK1gxMTYxNThZMTIyMDU4RDAxKg0KK1gxMTYwNTBZMTIyMzIwRDAxKg0KK1gxMTU5MDJZMTIyNTYxRDAxKg0KK1gxMTU3MThZMTIyNzc3RDAxKg0KK1gxMTU1MDJZMTIyOTYxRDAxKg0KK1gxMTUyNjFZMTIzMTA5RDAxKg0KK1gxMTQ5OTlZMTIzMjE3RDAxKg0KK1gxMTQ3MjNZMTIzMjgzRDAxKg0KK1gxMTQ0NDFZMTIzMzA2RDAxKg0KK1gxMTQ0MzhZMTIzMzA1RDAxKg0KK1kxMzEwMDNEMDEqDQorWDExNDYyMVkxMzA4OTFEMDEqDQorWDExNDg4M1kxMzA3ODNEMDEqDQorWDExNTE1OVkxMzA3MTdEMDEqDQorWDExNTQ0MVkxMzA2OTREMDEqDQorWDExNTcyM1kxMzA3MTdEMDEqDQorWDExNTk5OVkxMzA3ODNEMDEqDQorWDExNjI2MVkxMzA4OTFEMDEqDQorWDExNjUwMlkxMzEwMzlEMDEqDQorWDExNjcxOFkxMzEyMjNEMDEqDQorWDExNjkwMlkxMzE0MzlEMDEqDQorWDExNzA1MFkxMzE2ODBEMDEqDQorWDExNzE1OFkxMzE5NDJEMDEqDQorWDExNzIyNFkxMzIyMThEMDEqDQorWDExNzI0MVkxMzI1MDBEMDEqDQorWDExNzIyNFkxMzI3ODJEMDEqDQorWDExNzE1OFkxMzMwNThEMDEqDQorWDExNzA1MFkxMzMzMjBEMDEqDQorWDExNjkwMlkxMzM1NjFEMDEqDQorWDExNjcxOFkxMzM3NzdEMDEqDQorWDExNjUwMlkxMzM5NjFEMDEqDQorWDExNjI2MVkxMzQxMDlEMDEqDQorWDExNTk5OVkxMzQyMTdEMDEqDQorWDExNTcyM1kxMzQyODNEMDEqDQorWDExNTQ0MVkxMzQzMDZEMDEqDQorWDExNTE1OVkxMzQyODNEMDEqDQorWDExNDg4M1kxMzQyMTdEMDEqDQorWDExNDYyMVkxMzQxMDlEMDEqDQorWDExNDQzOFkxMzM5OTdEMDEqDQorWTE0NjgyMEQwMSoNCitYMTE0NTM3WTE0NjkwNEQwMSoNCitYMTE0NzY3WTE0NzE3M0QwMSoNCitYMTE0OTUyWTE0NzQ3NUQwMSoNCitYMTE1MDg3WTE0NzgwM0QwMSoNCitYMTE1MTcwWTE0ODE0N0QwMSoNCitYMTE1MTk4WTE0ODUwMEQwMSoNCitYMTE1MTcwWTE0ODg1M0QwMSoNCitYMTE1MDg3WTE0OTE5N0QwMSoNCitYMTE0OTUyWTE0OTUyNUQwMSoNCitYMTE0NzY3WTE0OTgyN0QwMSoNCitYMTE0NTM3WTE1MDA5NkQwMSoNCitYMTE0NDM4WTE1MDE4MEQwMSoNCitZMTcwNzM4RDAxKg0KK1gxMTQ0NjZZMTcwNzI3RDAxKg0KK1gxMTUxMjRZMTcwNTY5RDAxKg0KK1gxMTU3OTlZMTcwNTE2RDAxKg0KK1gxMTY0NzRZMTcwNTY5RDAxKg0KK1gxMTcxMzJZMTcwNzI3RDAxKg0KK1gxMTc3NTdZMTcwOTg2RDAxKg0KK1gxMTgzMzRZMTcxMzM5RDAxKg0KK1gxMTg4NDlZMTcxNzc5RDAxKg0KK1gxMTkyODlZMTcyMjk0RDAxKg0KK1gxMTk2NDJZMTcyODcxRDAxKg0KK1gxMTk5MDFZMTczNDk2RDAxKg0KK1gxMjAwNTlZMTc0MTU0RDAxKg0KK1gxMjAwOTlZMTc0ODI5RDAxKg0KK1gxMjAwNTlZMTc1NTA0RDAxKg0KK1gxMTk5MDFZMTc2MTYyRDAxKg0KK1gxMTk2NDJZMTc2Nzg3RDAxKg0KK1gxMTkyODlZMTc3MzY0RDAxKg0KK1gxMTg4NDlZMTc3ODc5RDAxKg0KK1gxMTgzMzRZMTc4MzE5RDAxKg0KK1gxMTc3NTdZMTc4NjcyRDAxKg0KK1gxMTcxMzJZMTc4OTMxRDAxKg0KK1gxMTY0NzRZMTc5MDg5RDAxKg0KK1gxMTU3OTlZMTc5MTQyRDAxKg0KK1gxMTUxMjRZMTc5MDg5RDAxKg0KK1gxMTQ0NjZZMTc4OTMxRDAxKg0KK1gxMTQ0MzhZMTc4OTIwRDAxKg0KK1kxODA3MzhEMDEqDQorWDExNDQ2NlkxODA3MjdEMDEqDQorWDExNTEyNFkxODA1NjlEMDEqDQorWDExNTc5OVkxODA1MTZEMDEqDQorWDExNjQ3NFkxODA1NjlEMDEqDQorWDExNzEzMlkxODA3MjdEMDEqDQorWDExNzc1N1kxODA5ODZEMDEqDQorWDExODMzNFkxODEzMzlEMDEqDQorWDExODg0OVkxODE3NzlEMDEqDQorWDExOTI4OVkxODIyOTREMDEqDQorWDExOTY0MlkxODI4NzFEMDEqDQorWDExOTkwMVkxODM0OTZEMDEqDQorWDEyMDA1OVkxODQxNTREMDEqDQorWDEyMDA5OVkxODQ4MjlEMDEqDQorWDEyMDA1OVkxODU1MDREMDEqDQorWDExOTkwMVkxODYxNjJEMDEqDQorWDExOTY0MlkxODY3ODdEMDEqDQorWDExOTI4OVkxODczNjREMDEqDQorWDExODg0OVkxODc4NzlEMDEqDQorWDExODMzNFkxODgzMTlEMDEqDQorWDExNzc1N1kxODg2NzJEMDEqDQorWDExNzEzMlkxODg5MzFEMDEqDQorWDExNjQ3NFkxODkwODlEMDEqDQorWDExNTc5OVkxODkxNDJEMDEqDQorWDExNTEyNFkxODkwODlEMDEqDQorWDExNDQ2NlkxODg5MzFEMDEqDQorWDExNDQzOFkxODg5MjBEMDEqDQorWTI3ODUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzg5MjBEMDIqWDExMzg0MVkxNzg2NzJEMDEqDQorWDExMzI2NFkxNzgzMTlEMDEqDQorWDExMjc0OVkxNzc4NzlEMDEqDQorWDExMjMwOVkxNzczNjREMDEqDQorWDExMjIxOVkxNzcyMTdEMDEqDQorWTE4MjQ0MUQwMSoNCitYMTEyMzA5WTE4MjI5NEQwMSoNCitYMTEyNzQ5WTE4MTc3OUQwMSoNCitYMTEzMjY0WTE4MTMzOUQwMSoNCitYMTEzODQxWTE4MDk4NkQwMSoNCitYMTE0NDM4WTE4MDczOEQwMSoNCitZMTc4OTIwRDAxKg0KK0czNyoNCitHMzYqDQorWTE1MDE4MEQwMipYMTE0MjY4WTE1MDMyNkQwMSoNCitYMTEzOTY2WTE1MDUxMUQwMSoNCitYMTEzNjM4WTE1MDY0NkQwMSoNCitYMTEzMjk0WTE1MDcyOUQwMSoNCitYMTEyOTQxWTE1MDc1MEQwMSoNCitYMTEyMjE5RDAxKg0KK1kxNzI0NDFEMDEqDQorWDExMjMwOVkxNzIyOTREMDEqDQorWDExMjc0OVkxNzE3NzlEMDEqDQorWDExMzI2NFkxNzEzMzlEMDEqDQorWDExMzg0MVkxNzA5ODZEMDEqDQorWDExNDQzOFkxNzA3MzhEMDEqDQorWTE1MDE4MEQwMSoNCitHMzcqDQorRzM2Kg0KK1k3NjUwMEQwMipYMTEyMjE5RDAxKg0KK1kxMDIzODdEMDEqDQorWDExMjQ2NlkxMDI0ODlEMDEqDQorWDExMjc2OFkxMDI2NzREMDEqDQorWDExMzAzN1kxMDI5MDREMDEqDQorWDExMzI2N1kxMDMxNzNEMDEqDQorWDExMzQ1MlkxMDM0NzVEMDEqDQorWDExMzU4N1kxMDM4MDNEMDEqDQorWDExMzY3MFkxMDQxNDdEMDEqDQorWDExMzY5OFkxMDQ1MDBEMDEqDQorWDExMzY3MFkxMDQ4NTNEMDEqDQorWDExMzU4N1kxMDUxOTdEMDEqDQorWDExMzQ1MlkxMDU1MjVEMDEqDQorWDExMzI2N1kxMDU4MjdEMDEqDQorWDExMzAzN1kxMDYwOTZEMDEqDQorWDExMjc2OFkxMDYzMjZEMDEqDQorWDExMjQ2NlkxMDY1MTFEMDEqDQorWDExMjIxOVkxMDY2MTNEMDEqDQorWTEyNTUzNUQwMSoNCitYMTEyMjIyWTEyNTUzNEQwMSoNCitYMTEyNTA0WTEyNTU1N0QwMSoNCitYMTEyNzgwWTEyNTYyM0QwMSoNCitYMTEzMDQyWTEyNTczMUQwMSoNCitYMTEzMjgzWTEyNTg3OUQwMSoNCitYMTEzNDk5WTEyNjA2M0QwMSoNCitYMTEzNjgzWTEyNjI3OUQwMSoNCitYMTEzODMxWTEyNjUyMEQwMSoNCitYMTEzOTM5WTEyNjc4MkQwMSoNCitYMTE0MDA1WTEyNzA1OEQwMSoNCitYMTE0MDIyWTEyNzM0MEQwMSoNCitYMTE0MDA1WTEyNzYyMkQwMSoNCitYMTEzOTM5WTEyNzg5OEQwMSoNCitYMTEzODMxWTEyODE2MEQwMSoNCitYMTEzNjgzWTEyODQwMUQwMSoNCitYMTEzNDk5WTEyODYxN0QwMSoNCitYMTEzMjgzWTEyODgwMUQwMSoNCitYMTEzMDQyWTEyODk0OUQwMSoNCitYMTEyNzgwWTEyOTA1N0QwMSoNCitYMTEyNTA0WTEyOTEyM0QwMSoNCitYMTEyMjIyWTEyOTE0NkQwMSoNCitYMTEyMjE5WTEyOTE0NUQwMSoNCitZMTQ2MjUwRDAxKg0KK1gxMTI5NDFEMDEqDQorWDExMzI5NFkxNDYyNzFEMDEqDQorWDExMzYzOFkxNDYzNTREMDEqDQorWDExMzk2NlkxNDY0ODlEMDEqDQorWDExNDI2OFkxNDY2NzREMDEqDQorWDExNDQzOFkxNDY4MjBEMDEqDQorWTEzMzk5N0QwMSoNCitYMTE0MzgwWTEzMzk2MUQwMSoNCitYMTE0MTY0WTEzMzc3N0QwMSoNCitYMTEzOTgwWTEzMzU2MUQwMSoNCitYMTEzODMyWTEzMzMyMEQwMSoNCitYMTEzNzI0WTEzMzA1OEQwMSoNCitYMTEzNjU4WTEzMjc4MkQwMSoNCitYMTEzNjM1WTEzMjUwMEQwMSoNCitYMTEzNjU4WTEzMjIxOEQwMSoNCitYMTEzNzI0WTEzMTk0MkQwMSoNCitYMTEzODMyWTEzMTY4MEQwMSoNCitYMTEzOTgwWTEzMTQzOUQwMSoNCitYMTE0MTY0WTEzMTIyM0QwMSoNCitYMTE0MzgwWTEzMTAzOUQwMSoNCitYMTE0NDM4WTEzMTAwM0QwMSoNCitZMTIzMzA1RDAxKg0KK1gxMTQxNTlZMTIzMjgzRDAxKg0KK1gxMTM4ODNZMTIzMjE3RDAxKg0KK1gxMTM2MjFZMTIzMTA5RDAxKg0KK1gxMTMzODBZMTIyOTYxRDAxKg0KK1gxMTMxNjRZMTIyNzc3RDAxKg0KK1gxMTI5ODBZMTIyNTYxRDAxKg0KK1gxMTI4MzJZMTIyMzIwRDAxKg0KK1gxMTI3MjRZMTIyMDU4RDAxKg0KK1gxMTI2NThZMTIxNzgyRDAxKg0KK1gxMTI2MzVZMTIxNTAwRDAxKg0KK1gxMTI2NThZMTIxMjE4RDAxKg0KK1gxMTI3MjRZMTIwOTQyRDAxKg0KK1gxMTI4MzJZMTIwNjgwRDAxKg0KK1gxMTI5ODBZMTIwNDM5RDAxKg0KK1gxMTMxNjRZMTIwMjIzRDAxKg0KK1gxMTMzODBZMTIwMDM5RDAxKg0KK1gxMTM2MjFZMTE5ODkxRDAxKg0KK1gxMTM4ODNZMTE5NzgzRDAxKg0KK1gxMTQxNTlZMTE5NzE3RDAxKg0KK1gxMTQ0MzhZMTE5Njk1RDAxKg0KK1k3NjUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTIyMTlZMjc4NTAwRDAyKlgxMTQ0MzhEMDEqDQorWTE4ODkyMEQwMSoNCitYMTEzODQxWTE4ODY3MkQwMSoNCitYMTEzMjY0WTE4ODMxOUQwMSoNCitYMTEyNzQ5WTE4Nzg3OUQwMSoNCitYMTEyMzA5WTE4NzM2NEQwMSoNCitYMTEyMjE5WTE4NzIxN0QwMSoNCitZMjc4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWTEwNjYxM0QwMipYMTEyMTM4WTEwNjY0NkQwMSoNCitYMTExNzk0WTEwNjcyOUQwMSoNCitYMTExNDQxWTEwNjc1MEQwMSoNCitYMTA5OTQxRDAxKg0KK1kxNDYyNTBEMDEqDQorWDExMjIxOUQwMSoNCitZMTI5MTQ1RDAxKg0KK1gxMTE5NDBZMTI5MTIzRDAxKg0KK1gxMTE2NjRZMTI5MDU3RDAxKg0KK1gxMTE0MDJZMTI4OTQ5RDAxKg0KK1gxMTExNjFZMTI4ODAxRDAxKg0KK1gxMTA5NDVZMTI4NjE3RDAxKg0KK1gxMTA3NjFZMTI4NDAxRDAxKg0KK1gxMTA2MTNZMTI4MTYwRDAxKg0KK1gxMTA1MDVZMTI3ODk4RDAxKg0KK1gxMTA0MzlZMTI3NjIyRDAxKg0KK1gxMTA0MTZZMTI3MzQwRDAxKg0KK1gxMTA0MzlZMTI3MDU4RDAxKg0KK1gxMTA1MDVZMTI2NzgyRDAxKg0KK1gxMTA2MTNZMTI2NTIwRDAxKg0KK1gxMTA3NjFZMTI2Mjc5RDAxKg0KK1gxMTA5NDVZMTI2MDYzRDAxKg0KK1gxMTExNjFZMTI1ODc5RDAxKg0KK1gxMTE0MDJZMTI1NzMxRDAxKg0KK1gxMTE2NjRZMTI1NjIzRDAxKg0KK1gxMTE5NDBZMTI1NTU3RDAxKg0KK1gxMTIyMTlZMTI1NTM1RDAxKg0KK1kxMDY2MTNEMDEqDQorRzM3Kg0KK0czNioNCitZNzY1MDBEMDIqWDEwOTk0MUQwMSoNCitZMTAyMjUwRDAxKg0KK1gxMTE0NDFEMDEqDQorWDExMTc5NFkxMDIyNzFEMDEqDQorWDExMjEzOFkxMDIzNTREMDEqDQorWDExMjIxOVkxMDIzODdEMDEqDQorWTc2NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEwOTk0MVkyNzg1MDBEMDIqWDExMjIxOUQwMSoNCitZMTg3MjE3RDAxKg0KK1gxMTE5NTZZMTg2Nzg3RDAxKg0KK1gxMTE2OTdZMTg2MTYyRDAxKg0KK1gxMTE1MzlZMTg1NTA0RDAxKg0KK1gxMTE0ODZZMTg0ODI5RDAxKg0KK1gxMTE1MzlZMTg0MTU0RDAxKg0KK1gxMTE2OTdZMTgzNDk2RDAxKg0KK1gxMTE5NTZZMTgyODcxRDAxKg0KK1gxMTIyMTlZMTgyNDQxRDAxKg0KK1kxNzcyMTdEMDEqDQorWDExMTk1NlkxNzY3ODdEMDEqDQorWDExMTY5N1kxNzYxNjJEMDEqDQorWDExMTUzOVkxNzU1MDREMDEqDQorWDExMTQ4NlkxNzQ4MjlEMDEqDQorWDExMTUzOVkxNzQxNTREMDEqDQorWDExMTY5N1kxNzM0OTZEMDEqDQorWDExMTk1NlkxNzI4NzFEMDEqDQorWDExMjIxOVkxNzI0NDFEMDEqDQorWTE1MDc1MEQwMSoNCitYMTA5OTQxRDAxKg0KK1kxNzA5ODlEMDEqDQorWDEwOTk5M1kxNzEwNzREMDEqDQorWDExMDA1M1kxNzEyMTlEMDEqDQorWDExMDA5MFkxNzEzNzJEMDEqDQorWDExMDA5OVkxNzE1MjlEMDEqDQorWDExMDA5MFkxNzgyODZEMDEqDQorWDExMDA1M1kxNzg0MzlEMDEqDQorWDEwOTk5M1kxNzg1ODREMDEqDQorWDEwOTk0MVkxNzg2NjlEMDEqDQorWTE4MzY2MkQwMSoNCitYMTEwMDU5WTE4NDE1NEQwMSoNCitYMTEwMDk5WTE4NDgyOUQwMSoNCitYMTEwMDU5WTE4NTUwNEQwMSoNCitYMTA5OTQxWTE4NTk5NkQwMSoNCitZMjc4NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE2Mjk0MVkyMjg1MDBEMDIqWTIzMzUwMEQwMSoNCitYMTY4NDQxRDAxKg0KK1kyMjg1MDBEMDEqDQorWDE2Mjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjQwMDBEMDIqWTIyOTAwMEQwMSoNCitYMTY4NDQxRDAxKg0KK1kyMjQwMDBEMDEqDQorWDE2Mjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMTgwMDBEMDIqWTIyMzAwMEQwMSoNCitYMTY4NDQxRDAxKg0KK1kyMTgwMDBEMDEqDQorWDE2Mjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDg0NDFZMTEzNDQwRDAyKlkxMTg0NDBEMDEqDQorWDMxMzk0MUQwMSoNCitZMTEzNDQwRDAxKg0KK1gzMDg0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMTgwOTQxWTEwMTUwMEQwMipZMTA2NTAwRDAxKg0KK1gxODY0NDFEMDEqDQorWTEwMTUwMEQwMSoNCitYMTgwOTQxRDAxKg0KK0czNyoNCitHMzYqDQorWDIyODQ0MVkxNDU1MDBEMDIqWTE1MDUwMEQwMSoNCitYMjMzOTQxRDAxKg0KK1kxNDU1MDBEMDEqDQorWDIyODQ0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNjY0NDFZMjExNTAwRDAyKlkyMTY1MDBEMDEqDQorWDE3MTk0MUQwMSoNCitZMjExNTAwRDAxKg0KK1gxNjY0NDFEMDEqDQorRzM3Kg0KK0czNioNCitZMjA2MDAwRDAyKlkyMTEwMDBEMDEqDQorWDE3MTk0MUQwMSoNCitZMjA2MDAwRDAxKg0KK1gxNjY0NDFEMDEqDQorRzM3Kg0KK0czNioNCitZMTk5MDAwRDAyKlkyMDQwMDBEMDEqDQorWDE3MTk0MUQwMSoNCitZMTk5MDAwRDAxKg0KK1gxNjY0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMjA2NDQxWTE0NTUwMEQwMipZMTUwNTAwRDAxKg0KK1gyMTE5NDFEMDEqDQorWTE0NTUwMEQwMSoNCitYMjA2NDQxRDAxKg0KK0czNyoNCitHMzYqDQorWDEyNDk0MUQwMipZMTUwNTAwRDAxKg0KK1gxMzA0NDFEMDEqDQorWTE0NTUwMEQwMSoNCitYMTI0OTQxRDAxKg0KK0czNyoNCitHMzYqDQorWDEzMjk0MVkzMzU1MDBEMDIqWTM0MDUwMEQwMSoNCitYMTM4NDQxRDAxKg0KK1kzMzU1MDBEMDEqDQorWDEzMjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMzIwMDBEMDIqWTMzNzAwMEQwMSoNCitYMTM4NDQxRDAxKg0KK1kzMzIwMDBEMDEqDQorWDEzMjk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzc0NDFZMzM1MDAwRDAyKlkzNDAwMDBEMDEqDQorWDE0Mjk0MUQwMSoNCitZMzM1MDAwRDAxKg0KK1gxMzc0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMTUxNDQxRDAyKlkzNDAwMDBEMDEqDQorWDE1Njk0MUQwMSoNCitZMzM1MDAwRDAxKg0KK1gxNTE0NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMzg2OTQxWTgzMDAwRDAyKlgzOTc5NDFEMDEqDQorWDM5NzQ0MVk0MTUwMEQwMSoNCitYMzg2OTQxRDAxKg0KK1k4MzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzMDY5NDFZMTM5MDY4RDAyKlkxNDQwNjhEMDEqDQorWDMxMjQ0MUQwMSoNCitZMTM5MDY4RDAxKg0KK1gzMDY5NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMTA5OTQxWTE1NTAwMEQwMipYMTE3OTQxRDAxKg0KK1kxNDAwMDBEMDEqDQorWDEwOTk0MUQwMSoNCitZMTU1MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWTEwODAwMEQwMipYMTE0OTQxRDAxKg0KK1kxMDA1MDBEMDEqDQorWDEwOTk0MUQwMSoNCitZMTA4MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDE0Njk0MVkxNDY1MDBEMDIqWTE1MTUwMEQwMSoNCitYMTUyNDQxRDAxKg0KK1kxNDY1MDBEMDEqDQorWDE0Njk0MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNjM5NDFZMTAxNTAwRDAyKlkxMDY1MDBEMDEqDQorWDE2OTQ0MUQwMSoNCitZMTAxNTAwRDAxKg0KK1gxNjM5NDFEMDEqDQorRzM3Kg0KK0c1NEQyMjgqWDM5NzQ0MVkzNzMwMDBEMDIqWDM5Mzk0MVkzNzY1MDBEMDEqDQorWDM5ODQ0MVkzMTQwMDBEMDIqWDM5NTQ0MUQwMSoNCitYMzk4NDQxWTI1MzAwMEQwMipYMzk0NDQxRDAxKg0KK1gzOTg0NDFZMTkzNjE0RDAyKlgzOTU0NDFEMDEqDQorWDEwNjQ0MVkxNDg1MDBEMDIqWDExMjk0MUQwMSoNCitYMTAxOTQxWTEwNDUwMEQwMipYMTExNDQxRDAxKg0KK0c1NEQyMjkqWDQxNzAwMFkzODQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitZMzU0MDAwRDAzKg0KK1g0MjcwMDBZMzg0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorWTM1NDAwMEQwMyoNCitHNTREMjI3KkczNioNCitYNDAzNzUwWTM1NzI1MEQwMipZMzUwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTM1NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHNTREMjMwKlgzNDU3OTlZMzU3MzI5RDAzKg0KK0c1NEQyMzEqWDMxNTc5OVkzMzczMjlEMDMqDQorRzU0RDIzMCpYODU3OTlZMzY5ODI5RDAzKg0KK0c1NEQyMzIqWDEwNTc5OVkzNzQ4MjlEMDMqDQorRzU0RDIyNypHMzYqDQorWDEwMjQ5OVkzNjgxMjlEMDIqWTM2MTUyOUQwMSoNCitYMTA5MDk5RDAxKg0KK1kzNjgxMjlEMDEqDQorWDEwMjQ5OUQwMSoNCitHMzcqDQorRzU0RDIzMipYMTE1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxMjU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDEzNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitHNTREMjMzKlg5MzI5OVkzNDIzMjlEMDMqDQorRzU0RDIzMipYMTQ1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDE2NTc5OUQwMyoNCitYMTU1Nzk5WTM3NDgyOUQwMyoNCitYMTY1Nzk5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gyMDU3OTlEMDMqDQorWDE3NTc5OVkzNjQ4MjlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gyMDU3OTlEMDMqDQorWDIxNTc5OVkzNzQ4MjlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyMTU3OTlZMzY0ODI5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitYMjQ1Nzk5WTM3NDgyOUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWDI3NTc5OUQwMyoNCitZMzY0ODI5RDAzKg0KK1gyODU3OTlZMzc0ODI5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorWDI4NTc5OVkzNjQ4MjlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitHNTREMjI3KkczNioNCitYNDUwMjUwWTI2NzI1MEQwMipZMjYwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTI2NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIwNzI1MEQwMipZMjAwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTIwNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTE3NzI1MEQwMipZMTcwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTE3NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjI5Klg0NjM1MDBZMjY0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMTQ0MDAwRDAzKg0KK1kxMTQwMDBEMDMqDQorWTg0MDAwRDAzKg0KK1g0NzM1MDBZMjY0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMTQ0MDAwRDAzKg0KK1kxMTQwMDBEMDMqDQorWTg0MDAwRDAzKg0KK0c1NEQyMjcqRzM2Kg0KK1g0NTAyNTBZMjM3MjUwRDAyKlkyMzA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMjM3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDQ2MzUwMFkyMzQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjI3KkczNioNCitYNDUwMjUwWTE0NzI1MEQwMipZMTQwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTE0NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTExNzI1MEQwMipZMTEwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTExNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTg3MjUwRDAyKlk4MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1k4NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHMzYqDQorWTU3MjUwRDAyKlk1MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1k1NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjI5Klg0NjM1MDBZNTQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjI3KkczNioNCitYNDUwMjUwWTMyNzI1MEQwMipZMzIwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTMyNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjI5Klg0NjM1MDBZMzI0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDIyNypHMzYqDQorWDQ1MDI1MFkyOTcyNTBEMDIqWTI5MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kyOTcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDIyOSpYNDYzNTAwWTI5NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK1g0MzcwMDBZMzI0MDAwRDAzKg0KK0c1NEQyMjcqRzM2Kg0KK1gzMDkxOTFZMjUyMjUwRDAyKlkyNDU3NTBEMDEqDQorWDMxNTY5MUQwMSoNCitZMjUyMjUwRDAxKg0KK1gzMDkxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDMyMjQ0MVkyNDkwMDBEMDMqDQorWDMzMjQ0MUQwMyoNCitYMzQyNDQxRDAzKg0KK0c1NEQyMzAqWDM0NTc5OVkxOTIzMjlEMDMqDQorRzU0RDIyNypHMzYqDQorWDQ1MDI1MFkzODcyNTBEMDIqWTM4MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kzODcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDIyOSpYNDYzNTAwWTM4NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyMjcqRzM2Kg0KK1g0MDM3NTBZMzg3MjUwRDAyKlkzODA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMzg3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjk3MjUwRDAyKlkyOTA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMjk3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMzI3MjUwRDAyKlkzMjA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMzI3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDQxNzAwMFkzMjQwMDBEMDMqDQorWDQyNzAwMEQwMyoNCitHNTREMjI3KkczNioNCitYNDUwMjUwWTM1NzI1MEQwMipZMzUwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTM1NzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMjI5Klg0MzcwMDBZMzU0MDAwRDAzKg0KK1g0NjM1MDBEMDMqDQorWDQ3MzUwMEQwMyoNCitYNDM3MDAwWTM4NDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorRzU0RDIyNypHMzYqDQorWDQwMzc1MFkxNzcyNTBEMDIqWTE3MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kxNzcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDcyNTBEMDIqWTIwMDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyMDcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMzcyNTBEMDIqWTIzMDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyMzcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyNjcyNTBEMDIqWTI2MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kyNjcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzU0RDIyOSpYNDE3MDAwWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitYNDI3MDAwWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitHNTREMjI3KkczNioNCitYMjAyMTkxWTUwNzUwRDAyKlk0NDI1MEQwMSoNCitYMjA4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjAyMTkxRDAxKg0KK0czNyoNCitHNTREMjI5KlgyMDU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK0c1NEQyMjcqRzM2Kg0KK1gyMzIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyMzg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyMzIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDIzNTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorRzU0RDIyNypHMzYqDQorWDI2MjE5MVk1MDc1MEQwMipZNDQyNTBEMDEqDQorWDI2ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDI2MjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNzIxOTFEMDIqWTQ0MjUwRDAxKg0KK1gxNzg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gxNzIxOTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTQyMTkxRDAyKlk0NDI1MEQwMSoNCitYMTQ4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMTQyMTkxRDAxKg0KK0czNyoNCitHMzYqDQorWDExMjE5MUQwMipZNDQyNTBEMDEqDQorWDExODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDExMjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1g4MjE5MUQwMipZNDQyNTBEMDEqDQorWDg4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYODIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDI2NTQ0MVk1NzUwMEQwMyoNCitYMTc1NDQxRDAzKg0KK1gxNDU0NDFEMDMqDQorWDExNTQ0MUQwMyoNCitYODU0NDFEMDMqDQorWDI2NTQ0MVk2NzUwMEQwMyoNCitYMTc1NDQxRDAzKg0KK0c1NEQyMjcqRzM2Kg0KK1gyOTIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyOTg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyOTIxOTFEMDEqDQorRzM3Kg0KK0c1NEQyMjkqWDI5NTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorWDE0NTQ0MUQwMyoNCitYMTE1NDQxRDAzKg0KK1g4NTQ0MUQwMyoNCitHNTREMjMwKlg4NTc5OVkxNzk4MjlEMDMqDQorRzU0RDIzMipYMTA1Nzk5WTE4NDgyOUQwMyoNCitHNTREMjI3KkczNioNCitYMTAyNDk5WTE3ODEyOUQwMipZMTcxNTI5RDAxKg0KK1gxMDkwOTlEMDEqDQorWTE3ODEyOUQwMSoNCitYMTAyNDk5RDAxKg0KK0czNyoNCitHNTREMjMyKlgxMTU3OTlZMTg0ODI5RDAzKg0KK1kxNzQ4MjlEMDMqDQorWDEyNTc5OVkxODQ4MjlEMDMqDQorWTE3NDgyOUQwMyoNCitHNTREMjI3KkczNioNCitYODIxOTFZMjQzMjUwRDAyKlkyMzY3NTBEMDEqDQorWDg4NjkxRDAxKg0KK1kyNDMyNTBEMDEqDQorWDgyMTkxRDAxKg0KK0czNyoNCitHNTREMjI5Klg4NTQ0MVkyMzAwMDBEMDMqDQorWTIyMDAwMEQwMyoNCitHNTREMjMyKlgxMzU3OTlZMTg0ODI5RDAzKg0KK1gxNDU3OTlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTM1Nzk5WTE3NDgyOUQwMyoNCitYMTQ1Nzk5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDE2NTc5OVkxODQ4MjlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDE2NTc5OVkxNzQ4MjlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorRzU0RDIyNypHMzYqDQorWDE5MjQ5OVkyMDA2MjlEMDIqWTE5NDAyOUQwMSoNCitYMTk5MDk5RDAxKg0KK1kyMDA2MjlEMDEqDQorWDE5MjQ5OUQwMSoNCitHMzcqDQorRzU0RDIzMipYMjA1Nzk5WTE5NzMyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjA1Nzk5WTE4NDgyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIwNTc5OVkxNzQ4MjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyMzU3OTlZMTg0ODI5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1kxNzQ4MjlEMDMqDQorWDI3NTc5OVkxODQ4MjlEMDMqDQorWDI4NTc5OUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK1gyNzU3OTlZMTc0ODI5RDAzKg0KK1gyODU3OTlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitHNTREMjI4KlgzMDc3MTZZMjc1MDc1RDAzKg0KK1gzMDg5OTJZMjcxOTcxRDAzKg0KK1gzMDg4NzJZMjY2NTIyRDAzKg0KK1gyODc5MTdZMzA3ODI5RDAzKg0KK1gyOTM5MDJZMjgyMjYzRDAzKg0KK1gyOTY3NzlZMzA0OTYzRDAzKg0KK1gyOTU5MzdZMjQzNjI4RDAzKg0KK1gyOTY3MjdZMjU2MjI3RDAzKg0KK1gzMTIxNTdZMzAwMTU2RDAzKg0KK1gzMTIxMjJZMjk1MDM4RDAzKg0KK1gzMDMzNjVZMzMwMDAwRDAzKg0KK1gyODU0MzBZMzI1MDAwRDAzKg0KK1gzMDI5NDFZMzQwMDA3RDAzKg0KK1gyNDU1NTdZMjc5NTA4RDAzKg0KK1gyNDI0NTZZMjkzNTQzRDAzKg0KK1gyNjI3NTBZMjY4NzcyRDAzKg0KK1gyNTMxMDFZMjYxODM2RDAzKg0KK0c1NEQyMzQqWDI0Njk0MVkyMzgwMDBEMDMqDQorWDI0MjQ0MVkyMjk1MDBEMDMqDQorWDI0NjQ0MUQwMyoNCitYMjUwOTQxRDAzKg0KK1gyNjA5NDFZMTkxNTAwRDAzKg0KK1gyNDU4NjNZMTkxNTI0RDAzKg0KK1gyNjk0NDFZMTk4NTAwRDAzKg0KK1gyNjk5NDFZMjMxNTAwRDAzKg0KK1gyNTE5NDFZMjEwNTAwRDAzKg0KK1gyNDM5NDFZMjAyMDAwRDAzKg0KK1gyNTM0NDFZMTAyNTAwRDAzKg0KK1gyMzE0NDFZMTQ4MDAwRDAzKg0KK1gzMDk0NDFZMTQxNTY4RDAzKg0KK1kxMzY0NTBEMDMqDQorWDMxMDk0MVkxMTU5NDBEMDMqDQorWDMwNTY5NlkxMDc1MDBEMDMqDQorWDMwNDU4NFkyMDc0ODNEMDMqDQorWDMwNDcwNlkyMTA1ODNEMDMqDQorWDMwNTI4MFkyMDQzODNEMDMqDQorRzU0RDIyOCpYMjU0NzQwWTI5ODMyOUQwMyoNCitYMjQyMTY4WTI5ODgwMEQwMyoNCitHNTREMjM0KlgyNDY3MzFZMzAzMDMxRDAzKg0KK0c1NEQyMjgqWDI2OTY1M1kyOTg2MzFEMDMqDQorRzU0RDIzNCpYMjcwNDQxWTMzNjAwMEQwMyoNCitZMzQyNTAwRDAzKg0KK1kzNDk1MDBEMDMqDQorRzU0RDIyOCpYMjY4OTQxWTMxNDAwMEQwMyoNCitHNTREMjM0KlgyNzA0NDFZMzU3MDAwRDAzKg0KK0c1NEQyMjgqWDI3MzIyOVkyOTg1ODJEMDMqDQorWDI3ODIyNVkyNzk2MDJEMDMqDQorWDI3ODIwN1kyOTg2MTJEMDMqDQorWDI3NzE3NFkzMDgyMTlEMDMqDQorWDI3NzQ0OVkzNDc1MDBEMDMqDQorRzU0RDIzNCpYMjYzNDQxWTMyMDAwMEQwMyoNCitYMjYwNTY4WTMxNjk5N0QwMyoNCitYMjYxNTAyWTMwNzM2N0QwMyoNCitYMjQ5MTAxWTMyODc5M0QwMyoNCitYMjI5ODE4WTM1NDk4OEQwMyoNCitHNTREMjI4KlgyNjY0MTNZMjk2NTk0RDAzKg0KK1gyNjMyNDBZMjk1MzI5RDAzKg0KK1gyNjI3NDBZMjkxODI5RDAzKg0KK1gyNjAzNDFZMjg0MjQ5RDAzKg0KK1gyNjQwMzRZMjgyOTMxRDAzKg0KK0c1NEQyMzQqWDI3OTQ0MVkyODUwMDBEMDMqDQorRzU0RDIzNSpYMzg2NDQxWTE2MzAwMEQwMyoNCitYNDAwNDQxWTE5NDAwMEQwMyoNCitYMzg5NDQxWTE4NDAwMEQwMyoNCitYNDAwNDQxWTE4OTAwMEQwMyoNCitHNTREMjM0KlgzODYwMjNZMTU3ODEzRDAzKg0KK1gzOTg0NDFZMTczMDAwRDAzKg0KK0c1NEQyMzUqWDM5MzQ0MVkyMDgwMDBEMDMqDQorWDM4NDE2MlkxODgwMDBEMDMqDQorWDQ1ODQ0MVkxOTUwMDBEMDMqDQorWTE2NDAwMEQwMyoNCitYMzcyNDQxWTE3MDM4NkQwMyoNCitHNTREMjM0KlgzNzczNDdZMTYyMTc4RDAzKg0KK0c1NEQyMzUqWDM4NzQ0MVkzMjYwMDBEMDMqDQorWDM5MzQ0MVkzNTUwMDBEMDMqDQorWDM4NjcyMFkyODIwMDBEMDMqDQorWDM5MzQ0MVkzMjcwMDBEMDMqDQorWDM4NDE2MlkzMDYwMDBEMDMqDQorWDM4NTk0MVkzNTQ1MDBEMDMqDQorWDQ1ODQ0MVkzNzUwMDBEMDMqDQorWDM4MzY2MlkzNzg1MDBEMDMqDQorWDM5NzQ0MVkzNzMwMDBEMDMqDQorWDM5Nzk0MVkzNjc0NDFEMDMqDQorRzU0RDIzNCpYMzg1OTQxWTM2NjAwMEQwMyoNCitHNTREMjM1Klg0NTg0NDFZMzQ1MDAwRDAzKg0KK1kzMTUwMDBEMDMqDQorWTI4NTAwMEQwMyoNCitYMzk4NDQxWTMxNDAwMEQwMyoNCitZMzA5MDAwRDAzKg0KK0c1NEQyMzQqWTI5MTAwMEQwMyoNCitHNTREMjM1KlgzNzI0NDFZMjkwNjg5RDAzKg0KK1kzNTExODlEMDMqDQorRzU0RDIzNCpYMzM5ODM3WTM0MTgyN0QwMyoNCitYMzUzMzkwWTMzOTUyMUQwMyoNCitHNTREMjM1KlgzNzU0NDFZMjM1MDAwRDAzKg0KK0c1NEQyMzQqWDM1NjQ0MVkyMzMwMDBEMDMqDQorWDMzODQ0MVkyMjQxOTJEMDMqDQorWTIzMDEyNEQwMyoNCitYMzM3NDQxWTE2MzAwMEQwMyoNCitYMzU4OTQxWTIwODUwMEQwMyoNCitHNTREMjM1KlgzODQ1MTJZMjU4MDAwRDAzKg0KK0c1NEQyMzQqWDM3MTYwMlkyNjAyMjhEMDMqDQorRzU0RDIzNSpYNDU4NDQxWTI1NDAwMEQwMyoNCitZMjI1MDAwRDAzKg0KK1gzODcwNzBZMjM1MDAwRDAzKg0KK1gzOTg0NDFZMjQ4MDAwRDAzKg0KK1kyNTMwMDBEMDMqDQorRzU0RDIzNCpYMzk2NDQxWTIzNTAwMEQwMyoNCitYMzkyMTg4WTIzOTAwMEQwMyoNCitYMzg4MjA3WTI0NzI4MEQwMyoNCitHNTREMjI4KlgyMzkzMDJZMjYyMjM1RDAzKg0KK0c1NEQyMzQqWDI0NTQ0MVkxMjc1MDBEMDMqDQorWDIzNTk0MVkxMzMwMDBEMDMqDQorWDIzNjQ0MVkyMzU1MDBEMDMqDQorWDIwMjQ0MVkyMTI1MDBEMDMqDQorWDIxMDQ0MUQwMyoNCitYMjIwNDQxWTIxNTAwMEQwMyoNCitYMjI0OTQxWTIyMDUwMEQwMyoNCitYMjI1NDQxWTIyNjUwMEQwMyoNCitYMjI0OTQxWTIzNTUwMEQwMyoNCitYMjI0NDQxWTI0NDAwMEQwMyoNCitYMjEyOTQxWTIzODAwMEQwMyoNCitYMjAzOTQxWTIzNzUwMEQwMyoNCitYMTkzOTQxWTIzNzAwMEQwMyoNCitYMTgxOTQxWTI1ODUwMEQwMyoNCitYMTgzOTQxWTEwNDAwMEQwMyoNCitYMTEyMjIyWTEyNzM0MEQwMyoNCitYMTE0NDQxWTEyMTUwMEQwMyoNCitYMTE1NDQxWTEzMjUwMEQwMyoNCitYMTAxOTQxWTEwNDUwMEQwMyoNCitYMTY2NDQxWTEwNDAwMEQwMyoNCitYMTI3OTQxWTE0ODAwMEQwMyoNCitYMTA2NDQxWTE0ODUwMEQwMyoNCitYMTQ5OTQxWTE0OTAwMEQwMyoNCitYMTM4OTI1WTIwNjExM0QwMyoNCitYMTM4ODcyWTIwMjAzMEQwMyoNCitYMTM4OTI1WTE5Nzg0MUQwMyoNCitYMTYxOTQxWTE5OTAwMEQwMyoNCitYMTY2OTQxWTE5NzUwMEQwMyoNCitYMTM4OTI1WTE5MjY5OEQwMyoNCitYMTYxOTQxWTE5MzAwMEQwMyoNCitYMTY2OTQxRDAzKg0KK1gxNjM5NDFZMTI3NTAwRDAzKg0KK1gxOTMzOTBEMDMqDQorWDE1MjQ0MVkxMjE1MDBEMDMqDQorWDE1MTk0MVkxMzIwMDBEMDMqDQorWDE5NTQ0MVkxMzMwMDBEMDMqDQorWDE0MTQ0MVkxNDgwMDBEMDMqDQorWDIwODk0MUQwMyoNCitYMjIzOTQxRDAzKg0KK1gxOTg0NDFZMTIyNTAwRDAzKg0KK1gyMzQ0NDFEMDMqDQorWDIyMTg4NFkyNTQwMDBEMDMqDQorWDIyNDQ0MVkyNTIwMDBEMDMqDQorWDIyNTQ0MVkyNDkwMDBEMDMqDQorWDIzMDQ0MVkyNDcwMDBEMDMqDQorWDIxOTQ0MVkyNzI1MDBEMDMqDQorWDIzMDQ0MVkyOTMwMDBEMDMqDQorWDIyMDcyOVkyNjU1ODBEMDMqDQorWDIyMDQ0MVkyNTk1MDBEMDMqDQorWDIxODQ0MVkyNjE1MDBEMDMqDQorWDIxNzQ0MVkyNzkwMDBEMDMqDQorWDI0MDM5MVkyNzg1NjREMDMqDQorWDEyODk0MVkyNzQ1MDBEMDMqDQorWTI2ODUwMEQwMyoNCitZMjYyNTAwRDAzKg0KK1kyNTUwMDBEMDMqDQorWTI0ODUwMEQwMyoNCitZMjQyNTAwRDAzKg0KK1gxMDQ0NDFZMjA0NTAwRDAzKg0KK1gxMDA5NDFEMDMqDQorWDE0MTMwN1kzMDA4ODNEMDMqDQorWDEyNDgzMVkzMDIzODVEMDMqDQorWDE1ODQ0MVkzMjM4MjlEMDMqDQorWTMyODgyOUQwMyoNCitZMzI2NTAwRDAzKg0KK1gxNTM5NDFZMzM4MDAwRDAzKg0KK1gxNTQ5NDFZMzQ1NTAwRDAzKg0KK1gxMzU0NDFZMzM4NTAwRDAzKg0KK1kzMzUwMDBEMDMqDQorWDEzOTk0MVkzMzgwMDBEMDMqDQorWDExMTk0MVkzMzQwMDBEMDMqDQorWDExNzk0MUQwMyoNCitYMTI2NDQxRDAzKg0KK1gxNDI0NDFZMzU3NTAwRDAzKg0KK1kzNDk1MDBEMDMqDQorWDE0OTQ0MUQwMyoNCitYMTI2NDQxWTM0MDUwMEQwMyoNCitYMTExOTQxWTM0MTAwMEQwMyoNCitZMzU3NTAwRDAzKg0KK1gxMjE5NDFEMDMqDQorWDEzMDk0MUQwMyoNCitYMTk3NDQxWTMxNDUwMEQwMyoNCitZMzA4NTAwRDAzKg0KK1gxOTg0NDFZMjYyNTAwRDAzKg0KK1kyNjk1MDBEMDMqDQorWDIwNTQ0MVkyNzcwMDBEMDMqDQorWDE5NTQ0MVkzMTE1MDBEMDMqDQorWDE5MTM2M1kzNDQ0NDlEMDMqDQorWDE3ODg4N1kzNDI4MThEMDMqDQorWDE2ODczMlkzNTA4MzNEMDMqDQorWDE2MjQ0MVkyNDI1MDBEMDMqDQorWDE2NTk0MVkyMzEwMDBEMDMqDQorWTIyNjUwMEQwMyoNCitYMTg1NDQxWTIyODAwMEQwMyoNCitYMTc3NDQxRDAzKg0KK1gxNjI0NDFZMjQ4NTAwRDAzKg0KK1gxNjE5NDFZMjU1MDAwRDAzKg0KK1gxNjI0NDFZMjYyNTAwRDAzKg0KK1gxNjI5NDFZMjY4NTAwRDAzKg0KK1kyNzQ1MDBEMDMqDQorWDE2NTk0MVkyMjA1MDBEMDMqDQorWDE2OTQ0MVkyMTQwMDBEMDMqDQorWTIwODUwMEQwMyoNCitZMjAxNTAwRDAzKg0KK1gxNzc0NDFZMjE3NTAwRDAzKg0KK1gxODU0NDFEMDMqDQorWDE5Mzk0MVkyMTI1MDBEMDMqDQorRzU0RDIzNSpYNDMyMzI0WTExMTAwMEQwMyoNCitYNDQ2NDQxWTEwMjAwMEQwMyoNCitYNDM0ODgyWTc1MDAwRDAzKg0KK0c1NEQyMzYqWDQ0MDk0MVkxMjMwMDBEMDMqDQorRzU0RDIzNSpYNDIzNDQxWTc1MDAwRDAzKg0KK0c1NEQyMzQqWDQzNDQ0OVk1NjUwMEQwMyoNCitYNDQwNDQ5RDAzKg0KK1gzNTQ5NDFZOTM0OTlEMDMqDQorWTk3OTk5RDAzKg0KK1kxMDM5OTlEMDMqDQorWTEwOTk5OUQwMyoNCitZMTE1OTk5RDAzKg0KK1kxMjE5OTlEMDMqDQorWTEyNzk5OUQwMyoNCitYMzg3OTQxRDAzKg0KK1kxMjE5OTlEMDMqDQorWTExNTk5OUQwMyoNCitZMTA5OTk5RDAzKg0KK1k5Nzk5OUQwMyoNCitZOTM0OTlEMDMqDQorWTEwMzk5OUQwMyoNCitYMzkxNDQxWTg0NDk5RDAzKg0KK1k3OTk5OUQwMyoNCitYMzkxOTQxWTc0NDk5RDAzKg0KK1gzOTU0NDFZNjY5OTlEMDMqDQorWDM5NDQ0MVk1OTk5OUQwMyoNCitYMzkyOTQxWTUzNDk5RDAzKg0KK1gzNjg5NDFZNDg1MDBEMDMqDQorWTQzNTAwRDAzKg0KK1gzNzQ5NDFEMDMqDQorWTQ3MDAwRDAzKg0KK0c1NEQyMzcqRzU0RDIzNCpHNTREMjM3Kkc1NEQyMzQqRzU0RDIzNypHNTREMjM0Kkc1NEQyMzcqRzU0RDIzNCpHNTREMjM3Kkc1NEQyMzQqRzU0RDIzNypHNTREMjM0Kkc1NEQyMzcqRzU0RDIzNCpHNTREMjM3Kkc1NEQyMzQqRzU0RDIzNypHNTREMjM0Kkc1NEQyMzgqRzU0RDIzNCpHNTREMjM3Kkc1NEQyMzkqRzU0RDI0MCpHNTREMjQxKkc1NEQyNDAqRzU0RDI0MipHNTREMjQzKkc1NEQyNDIqRzU0RDIzOSpHNTREMjQwKkc1NEQyMzkqRzU0RDI0MCpHNTREMjQyKkc1NEQyMzkqRzU0RDI0MipNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5vdXRsaW5lLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUub3V0bGluZS5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE2N2I3NAotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUub3V0bGluZS5nYnIKQEAgLTAsMCArMSwzMSBAQAorRzA0IHN0YXJ0IG9mIHBhZ2UgNiBmb3IgZ3JvdXAgNCBpZHggNCAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIG91dGxpbmUgKg0KK0cwNCBDcmVhdG9yOiBwY2IgMjAxMTA5MTggKg0KK0cwNCBDcmVhdGlvbkRhdGU6IE1vbiBKYW4gMjAgMjE6MDQ6NDIgMjAxNCBVVEMgKg0KK0cwNCBGb3I6IGJyaWFucyAqDQorRzA0IEZvcm1hdDogR2VyYmVyL1JTLTI3NFggKg0KK0cwNCBQQ0ItRGltZW5zaW9uczogNTAwMDAwIDQwMDAwMCAqDQorRzA0IFBDQi1Db29yZGluYXRlLU9yaWdpbjogbG93ZXIgbGVmdCAqDQorJU1PSU4qJQ0KKyVGU0xBWDI1WTI1KiUNCislTE5PVVRMSU5FKiUNCislQUREMjczQywwLjAyNTAqJQ0KKyVBREQyNzJDLDAuMDA4MColDQorRzU0RDI3MipYNjgwMDBZNDIwMDBEMDIqWTI0NDAwMEQwMSoNCitYNzQ1MDBZMjUwNTAwRDAyKlgxMDEwMDBEMDEqDQorWDEwNzUwMFkyNTYwMDBEMDIqWTMxMjUwMEQwMSoNCitYMTAxMDAwWTMxOTAwMEQwMipYNzQ1MDBEMDEqDQorWDY4MDAwWTMyNTUwMEQwMipZMzkzMzAwRDAxKg0KK1g0ODQ2MDBEMDIqWTQyMDAwRDAxKg0KK1g0NzkxMDBZMzU1MDBEMDIqWDczNTAwRDAxKg0KK0c1NEQyNzMqWDE4OTk0OVkxMzYwNTlEMDIqWDE4OTg5MFkxMzYwMDBEMDEqDQorRzU0RDI3MipYNzQ1MDBZMzk5ODAwRDAyKlg0NzgxMDBEMDEqDQorWDc0NTAwWTM1NTAwRDAyKkc3NSpHMDJYNjgwMDBZNDIwMDBJMEo2NTAwRDAxKkcwMSoNCitZMjQ0MDAwRDAyKkc3NSpHMDJYNzQ1MDBZMjUwNTAwSTY1MDBKMEQwMSpHMDEqDQorWDEwNzUwMFkyNTcwMDBEMDIqRzc1KkcwMlgxMDEwMDBZMjUwNTAwSS02NTAwSjBEMDEqRzAxKg0KK1kzMTkwMDBEMDIqRzc1KkcwMlgxMDc1MDBZMzEyNTAwSTBKLTY1MDBEMDEqRzAxKg0KK1g3NDUwMFkzMTkwMDBEMDIqRzc1KkcwMlg2ODAwMFkzMjU1MDBJMEo2NTAwRDAxKkcwMSoNCitYNDc4MTAwWTM5OTgwMEQwMipHNzUqRzAyWDQ4NDYwMFkzOTMzMDBJMEotNjUwMEQwMSpHMDEqDQorWTQyMDAwRDAyKkc3NSpHMDJYNDc4MTAwWTM1NTAwSS02NTAwSjBEMDEqRzAxKg0KK1g2ODAwMFkzOTMzMDBEMDIqRzc1KkcwMlg3NDUwMFkzOTk4MDBJNjUwMEowRDAxKkcwMSoNCitNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5wbGF0ZWQtZHJpbGwuY25jIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS5wbGF0ZWQtZHJpbGwuY25jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyODFlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnBsYXRlZC1kcmlsbC5jbmMKQEAgLTAsMCArMSw0NzEgQEAKK000OA0KK0lOQ0gNCitUMjgxQzAuMDM1DQorVDI4MEMwLjAyMA0KK1QyNzlDMC4wMTANCitUMjc4QzAuMjQ2DQorVDI3N0MwLjA0Ng0KK1QyNzZDMC4yMDANCitUMjc1QzAuMTI5DQorVDI3NEMwLjA0MA0KKyUNCitUMjc5DQorWDAzMDc3MlkwMjc1MDgNCitYMDMwODk5WTAyNzE5Nw0KK1gwMzA4ODdZMDI2NjUyDQorWDAyODc5MlkwMzA3ODMNCitYMDI5MzkwWTAyODIyNg0KK1gwMjk2NzhZMDMwNDk2DQorWDAyOTU5NFkwMjQzNjMNCitYMDI5NjczWTAyNTYyMw0KK1gwMzEyMTZZMDMwMDE2DQorWDAzMTIxMlkwMjk1MDQNCitYMDMwMzM2WTAzMzAwMA0KK1gwMjg1NDNZMDMyNTAwDQorWDAzMDI5NFkwMzQwMDENCitYMDI0NTU2WTAyNzk1MQ0KK1gwMjQyNDZZMDI5MzU0DQorWDAyNjI3NVkwMjY4NzcNCitYMDI1MzEwWTAyNjE4NA0KK1gwMjQ2OTRZMDIzODAwDQorWDAyNDI0NFkwMjI5NTANCitYMDI0NjQ0WTAyMjk1MA0KK1gwMjUwOTRZMDIyOTUwDQorWDAyNjA5NFkwMTkxNTANCitYMDI0NTg2WTAxOTE1Mg0KK1gwMjY5NDRZMDE5ODUwDQorWDAyNjk5NFkwMjMxNTANCitYMDI1MTk0WTAyMTA1MA0KK1gwMjQzOTRZMDIwMjAwDQorWDAyNTM0NFkwMTAyNTANCitYMDIzMTQ0WTAxNDgwMA0KK1gwMzA5NDRZMDE0MTU3DQorWDAzMDk0NFkwMTM2NDUNCitYMDMxMDk0WTAxMTU5NA0KK1gwMzA1NzBZMDEwNzUwDQorWDAzMDQ1OFkwMjA3NDgNCitYMDMwNDcxWTAyMTA1OA0KK1gwMzA1MjhZMDIwNDM4DQorWDAyNTQ3NFkwMjk4MzMNCitYMDI0MjE3WTAyOTg4MA0KK1gwMjQ2NzNZMDMwMzAzDQorWDAyNjk2NVkwMjk4NjMNCitYMDI3MDQ0WTAzMzYwMA0KK1gwMjcwNDRZMDM0MjUwDQorWDAyNzA0NFkwMzQ5NTANCitYMDI2ODk0WTAzMTQwMA0KK1gwMjcwNDRZMDM1NzAwDQorWDAyNzMyM1kwMjk4NTgNCitYMDI3ODIyWTAyNzk2MA0KK1gwMjc4MjFZMDI5ODYxDQorWDAyNzcxN1kwMzA4MjINCitYMDI3NzQ1WTAzNDc1MA0KK1gwMjYzNDRZMDMyMDAwDQorWDAyNjA1N1kwMzE3MDANCitYMDI2MTUwWTAzMDczNw0KK1gwMjQ5MTBZMDMyODc5DQorWDAyMjk4MlkwMzU0OTkNCitYMDI2NjQxWTAyOTY1OQ0KK1gwMjYzMjRZMDI5NTMzDQorWDAyNjI3NFkwMjkxODMNCitYMDI2MDM0WTAyODQyNQ0KK1gwMjY0MDNZMDI4MjkzDQorWDAyNzk0NFkwMjg1MDANCitYMDM4NjAyWTAxNTc4MQ0KK1gwMzk4NDRZMDE3MzAwDQorWDAzNzczNVkwMTYyMTgNCitYMDM4NTk0WTAzNjYwMA0KK1gwMzk4NDRZMDI5MTAwDQorWDAzMzk4NFkwMzQxODMNCitYMDM1MzM5WTAzMzk1Mg0KK1gwMzU2NDRZMDIzMzAwDQorWDAzMzg0NFkwMjI0MTkNCitYMDMzODQ0WTAyMzAxMg0KK1gwMzM3NDRZMDE2MzAwDQorWDAzNTg5NFkwMjA4NTANCitYMDM3MTYwWTAyNjAyMw0KK1gwMzk2NDRZMDIzNTAwDQorWDAzOTIxOVkwMjM5MDANCitYMDM4ODIxWTAyNDcyOA0KK1gwMjM5MzBZMDI2MjI0DQorWDAyNDU0NFkwMTI3NTANCitYMDIzNTk0WTAxMzMwMA0KK1gwMjM2NDRZMDIzNTUwDQorWDAyMDI0NFkwMjEyNTANCitYMDIxMDQ0WTAyMTI1MA0KK1gwMjIwNDRZMDIxNTAwDQorWDAyMjQ5NFkwMjIwNTANCitYMDIyNTQ0WTAyMjY1MA0KK1gwMjI0OTRZMDIzNTUwDQorWDAyMjQ0NFkwMjQ0MDANCitYMDIxMjk0WTAyMzgwMA0KK1gwMjAzOTRZMDIzNzUwDQorWDAxOTM5NFkwMjM3MDANCitYMDE4MTk0WTAyNTg1MA0KK1gwMTgzOTRZMDEwNDAwDQorWDAxMTIyMlkwMTI3MzQNCitYMDExNDQ0WTAxMjE1MA0KK1gwMTE1NDRZMDEzMjUwDQorWDAxMDE5NFkwMTA0NTANCitYMDE2NjQ0WTAxMDQwMA0KK1gwMTI3OTRZMDE0ODAwDQorWDAxMDY0NFkwMTQ4NTANCitYMDE0OTk0WTAxNDkwMA0KK1gwMTM4OTJZMDIwNjExDQorWDAxMzg4N1kwMjAyMDMNCitYMDEzODkyWTAxOTc4NA0KK1gwMTYxOTRZMDE5OTAwDQorWDAxNjY5NFkwMTk3NTANCitYMDEzODkyWTAxOTI3MA0KK1gwMTYxOTRZMDE5MzAwDQorWDAxNjY5NFkwMTkzMDANCitYMDE2Mzk0WTAxMjc1MA0KK1gwMTkzMzlZMDEyNzUwDQorWDAxNTI0NFkwMTIxNTANCitYMDE1MTk0WTAxMzIwMA0KK1gwMTk1NDRZMDEzMzAwDQorWDAxNDE0NFkwMTQ4MDANCitYMDIwODk0WTAxNDgwMA0KK1gwMjIzOTRZMDE0ODAwDQorWDAxOTg0NFkwMTIyNTANCitYMDIzNDQ0WTAxMjI1MA0KK1gwMjIxODhZMDI1NDAwDQorWDAyMjQ0NFkwMjUyMDANCitYMDIyNTQ0WTAyNDkwMA0KK1gwMjMwNDRZMDI0NzAwDQorWDAyMTk0NFkwMjcyNTANCitYMDIzMDQ0WTAyOTMwMA0KK1gwMjIwNzNZMDI2NTU4DQorWDAyMjA0NFkwMjU5NTANCitYMDIxODQ0WTAyNjE1MA0KK1gwMjE3NDRZMDI3OTAwDQorWDAyNDAzOVkwMjc4NTYNCitYMDEyODk0WTAyNzQ1MA0KK1gwMTI4OTRZMDI2ODUwDQorWDAxMjg5NFkwMjYyNTANCitYMDEyODk0WTAyNTUwMA0KK1gwMTI4OTRZMDI0ODUwDQorWDAxMjg5NFkwMjQyNTANCitYMDEwNDQ0WTAyMDQ1MA0KK1gwMTAwOTRZMDIwNDUwDQorWDAxNDEzMVkwMzAwODgNCitYMDEyNDgzWTAzMDIzOA0KK1gwMTU4NDRZMDMyMzgzDQorWDAxNTg0NFkwMzI4ODMNCitYMDE1ODQ0WTAzMjY1MA0KK1gwMTUzOTRZMDMzODAwDQorWDAxNTQ5NFkwMzQ1NTANCitYMDEzNTQ0WTAzMzg1MA0KK1gwMTM1NDRZMDMzNTAwDQorWDAxMzk5NFkwMzM4MDANCitYMDExMTk0WTAzMzQwMA0KK1gwMTE3OTRZMDMzNDAwDQorWDAxMjY0NFkwMzM0MDANCitYMDE0MjQ0WTAzNTc1MA0KK1gwMTQyNDRZMDM0OTUwDQorWDAxNDk0NFkwMzQ5NTANCitYMDEyNjQ0WTAzNDA1MA0KK1gwMTExOTRZMDM0MTAwDQorWDAxMTE5NFkwMzU3NTANCitYMDEyMTk0WTAzNTc1MA0KK1gwMTMwOTRZMDM1NzUwDQorWDAxOTc0NFkwMzE0NTANCitYMDE5NzQ0WTAzMDg1MA0KK1gwMTk4NDRZMDI2MjUwDQorWDAxOTg0NFkwMjY5NTANCitYMDIwNTQ0WTAyNzcwMA0KK1gwMTk1NDRZMDMxMTUwDQorWDAxOTEzNlkwMzQ0NDUNCitYMDE3ODg5WTAzNDI4Mg0KK1gwMTY4NzNZMDM1MDgzDQorWDAxNjI0NFkwMjQyNTANCitYMDE2NTk0WTAyMzEwMA0KK1gwMTY1OTRZMDIyNjUwDQorWDAxODU0NFkwMjI4MDANCitYMDE3NzQ0WTAyMjgwMA0KK1gwMTYyNDRZMDI0ODUwDQorWDAxNjE5NFkwMjU1MDANCitYMDE2MjQ0WTAyNjI1MA0KK1gwMTYyOTRZMDI2ODUwDQorWDAxNjI5NFkwMjc0NTANCitYMDE2NTk0WTAyMjA1MA0KK1gwMTY5NDRZMDIxNDAwDQorWDAxNjk0NFkwMjA4NTANCitYMDE2OTQ0WTAyMDE1MA0KK1gwMTc3NDRZMDIxNzUwDQorWDAxODU0NFkwMjE3NTANCitYMDE5Mzk0WTAyMTI1MA0KK1gwNDM0NDVZMDA1NjUwDQorWDA0NDA0NVkwMDU2NTANCitYMDM1NDk0WTAwOTM1MA0KK1gwMzU0OTRZMDA5ODAwDQorWDAzNTQ5NFkwMTA0MDANCitYMDM1NDk0WTAxMTAwMA0KK1gwMzU0OTRZMDExNjAwDQorWDAzNTQ5NFkwMTIyMDANCitYMDM1NDk0WTAxMjgwMA0KK1gwMzg3OTRZMDEyODAwDQorWDAzODc5NFkwMTIyMDANCitYMDM4Nzk0WTAxMTYwMA0KK1gwMzg3OTRZMDExMDAwDQorWDAzODc5NFkwMDk4MDANCitYMDM4Nzk0WTAwOTM1MA0KK1gwMzg3OTRZMDEwNDAwDQorWDAzOTE0NFkwMDg0NTANCitYMDM5MTQ0WTAwODAwMA0KK1gwMzkxOTRZMDA3NDUwDQorWDAzOTU0NFkwMDY3MDANCitYMDM5NDQ0WTAwNjAwMA0KK1gwMzkyOTRZMDA1MzUwDQorWDAzNjg5NFkwMDQ4NTANCitYMDM2ODk0WTAwNDM1MA0KK1gwMzc0OTRZMDA0MzUwDQorWDAzNzQ5NFkwMDQ3MDANCitUMjgwDQorWDAzODY0NFkwMTYzMDANCitYMDQwMDQ0WTAxOTQwMA0KK1gwMzg5NDRZMDE4NDAwDQorWDA0MDA0NFkwMTg5MDANCitYMDM5MzQ0WTAyMDgwMA0KK1gwMzg0MTZZMDE4ODAwDQorWDA0NTg0NFkwMTk1MDANCitYMDQ1ODQ0WTAxNjQwMA0KK1gwMzcyNDRZMDE3MDM5DQorWDAzODc0NFkwMzI2MDANCitYMDM5MzQ0WTAzNTUwMA0KK1gwMzg2NzJZMDI4MjAwDQorWDAzOTM0NFkwMzI3MDANCitYMDM4NDE2WTAzMDYwMA0KK1gwMzg1OTRZMDM1NDUwDQorWDA0NTg0NFkwMzc1MDANCitYMDM4MzY2WTAzNzg1MA0KK1gwMzk3NDRZMDM3MzAwDQorWDAzOTc5NFkwMzY3NDQNCitYMDQ1ODQ0WTAzNDUwMA0KK1gwNDU4NDRZMDMxNTAwDQorWDA0NTg0NFkwMjg1MDANCitYMDM5ODQ0WTAzMTQwMA0KK1gwMzk4NDRZMDMwOTAwDQorWDAzNzI0NFkwMjkwNjkNCitYMDM3MjQ0WTAzNTExOQ0KK1gwMzc1NDRZMDIzNTAwDQorWDAzODQ1MVkwMjU4MDANCitYMDQ1ODQ0WTAyNTQwMA0KK1gwNDU4NDRZMDIyNTAwDQorWDAzODcwN1kwMjM1MDANCitYMDM5ODQ0WTAyNDgwMA0KK1gwMzk4NDRZMDI1MzAwDQorWDA0MzIzMlkwMTExMDANCitYMDQ0NjQ0WTAxMDIwMA0KK1gwNDM0ODhZMDA3NTAwDQorWDA0MjM0NFkwMDc1MDANCitUMjgxDQorWDA0NDA5NFkwMTIzMDANCitUMjc0DQorWDA0MTcwMFkwMzg0MDANCitYMDQxNzAwWTAyOTQwMA0KK1gwNDE3MDBZMDM1NDAwDQorWDA0MjcwMFkwMzg0MDANCitYMDQyNzAwWTAyOTQwMA0KK1gwNDI3MDBZMDM1NDAwDQorWDA0MDcwMFkwMzU0MDANCitYMDQ1MzUwWTAyNjQwMA0KK1gwNDUzNTBZMDIwNDAwDQorWDA0NTM1MFkwMTc0MDANCitYMDQ2MzUwWTAyNjQwMA0KK1gwNDYzNTBZMDIwNDAwDQorWDA0NjM1MFkwMTc0MDANCitYMDQ2MzUwWTAxNDQwMA0KK1gwNDYzNTBZMDExNDAwDQorWDA0NjM1MFkwMDg0MDANCitYMDQ3MzUwWTAyNjQwMA0KK1gwNDczNTBZMDIwNDAwDQorWDA0NzM1MFkwMTc0MDANCitYMDQ3MzUwWTAxNDQwMA0KK1gwNDczNTBZMDExNDAwDQorWDA0NzM1MFkwMDg0MDANCitYMDQ1MzUwWTAyMzQwMA0KK1gwNDYzNTBZMDIzNDAwDQorWDA0NzM1MFkwMjM0MDANCitYMDQ1MzUwWTAxNDQwMA0KK1gwNDUzNTBZMDExNDAwDQorWDA0NTM1MFkwMDg0MDANCitYMDQ1MzUwWTAwNTQwMA0KK1gwNDYzNTBZMDA1NDAwDQorWDA0NzM1MFkwMDU0MDANCitYMDQ1MzUwWTAzMjQwMA0KK1gwNDYzNTBZMDMyNDAwDQorWDA0NzM1MFkwMzI0MDANCitYMDQ1MzUwWTAyOTQwMA0KK1gwNDYzNTBZMDI5NDAwDQorWDA0NzM1MFkwMjk0MDANCitYMDQzNzAwWTAzMjQwMA0KK1gwMzEyNDRZMDI0OTAwDQorWDAzMjI0NFkwMjQ5MDANCitYMDMzMjQ0WTAyNDkwMA0KK1gwMzQyNDRZMDI0OTAwDQorWDA0NTM1MFkwMzg0MDANCitYMDQ2MzUwWTAzODQwMA0KK1gwNDczNTBZMDM4NDAwDQorWDA0MDcwMFkwMzg0MDANCitYMDQwNzAwWTAyOTQwMA0KK1gwNDA3MDBZMDMyNDAwDQorWDA0MTcwMFkwMzI0MDANCitYMDQyNzAwWTAzMjQwMA0KK1gwNDUzNTBZMDM1NDAwDQorWDA0MzcwMFkwMzU0MDANCitYMDQ2MzUwWTAzNTQwMA0KK1gwNDczNTBZMDM1NDAwDQorWDA0MzcwMFkwMzg0MDANCitYMDQzNzAwWTAxNzQwMA0KK1gwNDM3MDBZMDIwNDAwDQorWDA0MzcwMFkwMjM0MDANCitYMDQzNzAwWTAyNjQwMA0KK1gwNDM3MDBZMDI5NDAwDQorWDA0MDcwMFkwMTc0MDANCitYMDQwNzAwWTAyMDQwMA0KK1gwNDA3MDBZMDIzNDAwDQorWDA0MDcwMFkwMjY0MDANCitYMDQxNzAwWTAxNzQwMA0KK1gwNDE3MDBZMDIwNDAwDQorWDA0MTcwMFkwMjM0MDANCitYMDQxNzAwWTAyNjQwMA0KK1gwNDI3MDBZMDE3NDAwDQorWDA0MjcwMFkwMjA0MDANCitYMDQyNzAwWTAyMzQwMA0KK1gwNDI3MDBZMDI2NDAwDQorWDAyMDU0NFkwMDQ3NTANCitYMDIwNTQ0WTAwNTc1MA0KK1gwMjA1NDRZMDA2NzUwDQorWDAyMzU0NFkwMDQ3NTANCitYMDIzNTQ0WTAwNTc1MA0KK1gwMjM1NDRZMDA2NzUwDQorWDAyNjU0NFkwMDQ3NTANCitYMDE3NTQ0WTAwNDc1MA0KK1gwMTQ1NDRZMDA0NzUwDQorWDAxMTU0NFkwMDQ3NTANCitYMDA4NTQ0WTAwNDc1MA0KK1gwMjY1NDRZMDA1NzUwDQorWDAxNzU0NFkwMDU3NTANCitYMDE0NTQ0WTAwNTc1MA0KK1gwMTE1NDRZMDA1NzUwDQorWDAwODU0NFkwMDU3NTANCitYMDI2NTQ0WTAwNjc1MA0KK1gwMTc1NDRZMDA2NzUwDQorWDAyOTU0NFkwMDQ3NTANCitYMDI5NTQ0WTAwNTc1MA0KK1gwMjk1NDRZMDA2NzUwDQorWDAxNDU0NFkwMDY3NTANCitYMDExNTQ0WTAwNjc1MA0KK1gwMDg1NDRZMDA2NzUwDQorWDAwODU0NFkwMjQwMDANCitYMDA4NTQ0WTAyMzAwMA0KK1gwMDg1NDRZMDIyMDAwDQorVDI3Nw0KK1gwMTA1ODBZMDM3NDgzDQorWDAxMDU4MFkwMzY0ODMNCitYMDExNTgwWTAzNzQ4Mw0KK1gwMTE1ODBZMDM2NDgzDQorWDAxMjU4MFkwMzc0ODMNCitYMDEyNTgwWTAzNjQ4Mw0KK1gwMTM1ODBZMDM3NDgzDQorWDAxMzU4MFkwMzY0ODMNCitYMDE0NTgwWTAzNzQ4Mw0KK1gwMTQ1ODBZMDM2NDgzDQorWDAxNTU4MFkwMzY0ODMNCitYMDE2NTgwWTAzNjQ4Mw0KK1gwMTU1ODBZMDM3NDgzDQorWDAxNjU4MFkwMzc0ODMNCitYMDE3NTgwWTAzNzQ4Mw0KK1gwMTg1ODBZMDM3NDgzDQorWDAxOTU4MFkwMzc0ODMNCitYMDIwNTgwWTAzNzQ4Mw0KK1gwMTc1ODBZMDM2NDgzDQorWDAxODU4MFkwMzY0ODMNCitYMDE5NTgwWTAzNjQ4Mw0KK1gwMjA1ODBZMDM2NDgzDQorWDAyMTU4MFkwMzc0ODMNCitYMDIyNTgwWTAzNzQ4Mw0KK1gwMjM1ODBZMDM3NDgzDQorWDAyMTU4MFkwMzY0ODMNCitYMDIyNTgwWTAzNjQ4Mw0KK1gwMjM1ODBZMDM2NDgzDQorWDAyNDU4MFkwMzY0ODMNCitYMDI1NTgwWTAzNjQ4Mw0KK1gwMjY1ODBZMDM2NDgzDQorWDAyNDU4MFkwMzc0ODMNCitYMDI1NTgwWTAzNzQ4Mw0KK1gwMjY1ODBZMDM3NDgzDQorWDAyNzU4MFkwMzc0ODMNCitYMDI3NTgwWTAzNjQ4Mw0KK1gwMjg1ODBZMDM3NDgzDQorWDAyOTU4MFkwMzc0ODMNCitYMDMwNTgwWTAzNzQ4Mw0KK1gwMzE1ODBZMDM3NDgzDQorWDAzMjU4MFkwMzc0ODMNCitYMDI4NTgwWTAzNjQ4Mw0KK1gwMjk1ODBZMDM2NDgzDQorWDAzMDU4MFkwMzY0ODMNCitYMDMxNTgwWTAzNjQ4Mw0KK1gwMzI1ODBZMDM2NDgzDQorWDAxMDU4MFkwMTg0ODMNCitYMDEwNTgwWTAxNzQ4Mw0KK1gwMTE1ODBZMDE4NDgzDQorWDAxMTU4MFkwMTc0ODMNCitYMDEyNTgwWTAxODQ4Mw0KK1gwMTI1ODBZMDE3NDgzDQorWDAxMzU4MFkwMTg0ODMNCitYMDE0NTgwWTAxODQ4Mw0KK1gwMTU1ODBZMDE4NDgzDQorWDAxMzU4MFkwMTc0ODMNCitYMDE0NTgwWTAxNzQ4Mw0KK1gwMTU1ODBZMDE3NDgzDQorWDAxNjU4MFkwMTg0ODMNCitYMDE3NTgwWTAxODQ4Mw0KK1gwMTg1ODBZMDE4NDgzDQorWDAxOTU4MFkwMTg0ODMNCitYMDE2NTgwWTAxNzQ4Mw0KK1gwMTc1ODBZMDE3NDgzDQorWDAxODU4MFkwMTc0ODMNCitYMDE5NTgwWTAxNzQ4Mw0KK1gwMTk1ODBZMDE5NzMzDQorWDAyMDU4MFkwMTk3MzMNCitYMDIxNTgwWTAxOTczMw0KK1gwMjI1ODBZMDE5NzMzDQorWDAyMzU4MFkwMTk3MzMNCitYMDIwNTgwWTAxODQ4Mw0KK1gwMjE1ODBZMDE4NDgzDQorWDAyMjU4MFkwMTg0ODMNCitYMDIwNTgwWTAxNzQ4Mw0KK1gwMjE1ODBZMDE3NDgzDQorWDAyMjU4MFkwMTc0ODMNCitYMDIzNTgwWTAxNzQ4Mw0KK1gwMjQ1ODBZMDE3NDgzDQorWDAyNTU4MFkwMTc0ODMNCitYMDIzNTgwWTAxODQ4Mw0KK1gwMjQ1ODBZMDE4NDgzDQorWDAyNTU4MFkwMTg0ODMNCitYMDI2NTgwWTAxODQ4Mw0KK1gwMjY1ODBZMDE3NDgzDQorWDAyNzU4MFkwMTg0ODMNCitYMDI4NTgwWTAxODQ4Mw0KK1gwMjk1ODBZMDE4NDgzDQorWDAzMDU4MFkwMTg0ODMNCitYMDMxNTgwWTAxODQ4Mw0KK1gwMzI1ODBZMDE4NDgzDQorWDAyNzU4MFkwMTc0ODMNCitYMDI4NTgwWTAxNzQ4Mw0KK1gwMjk1ODBZMDE3NDgzDQorWDAzMDU4MFkwMTc0ODMNCitYMDMxNTgwWTAxNzQ4Mw0KK1gwMzI1ODBZMDE3NDgzDQorVDI3NQ0KK1gwMzQ1ODBZMDM1NzMzDQorWDAwODU4MFkwMzY5ODMNCitYMDM0NTgwWTAxOTIzMw0KK1gwMDg1ODBZMDE3OTgzDQorVDI3Ng0KK1gwMzE1ODBZMDMzNzMzDQorVDI3OA0KK1gwMDkzMzBZMDM0MjMzDQorTTMwDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS50b3AuZ2JyIGIvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS50b3AuZ2JyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MzFlZTUKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnRvcC5nYnIKQEAgLTAsMCArMSwzNjU5IEBACitHMDQgc3RhcnQgb2YgcGFnZSAyIGZvciBncm91cCAwIGlkeCAwICoNCitHMDQgVGl0bGU6IDk3MSBCQkIgQ2FwZSwgdG9wICoNCitHMDQgQ3JlYXRvcjogcGNiIDIwMTEwOTE4ICoNCitHMDQgQ3JlYXRpb25EYXRlOiBNb24gSmFuIDIwIDIxOjA0OjQyIDIwMTQgVVRDICoNCitHMDQgRm9yOiBicmlhbnMgKg0KK0cwNCBGb3JtYXQ6IEdlcmJlci9SUy0yNzRYICoNCitHMDQgUENCLURpbWVuc2lvbnM6IDUwMDAwMCA0MDAwMDAgKg0KK0cwNCBQQ0ItQ29vcmRpbmF0ZS1PcmlnaW46IGxvd2VyIGxlZnQgKg0KKyVNT0lOKiUNCislRlNMQVgyNVkyNSolDQorJUxOVE9QKiUNCislQUREMjA4QywwLjI0NjAqJQ0KKyVBREQyMDdDLDAuMDQ2MColDQorJUFERDIwNkMsMC4yMDAwKiUNCislQUREMjA1QywwLjEyODUqJQ0KKyVBREQyMDRDLDAuMDM1MColDQorJUFERDIwM0MsMC4wNjAwKiUNCislQUREMjAyQywwLjAzNjAqJQ0KKyVBREQyMDFDLDAuMDIwMColDQorJUFERDIwMFIsMC4wNTUwWDAuMDU1MColDQorJUFERDE5OVIsMC4wOTQ4WDAuMDk0OColDQorJUFERDE5OFIsMC4wMTEwWDAuMDExMColDQorJUFERDE5N1IsMC4wMzQwWDAuMDM0MColDQorJUFERDE5NlIsMC4wMTMwWDAuMDEzMColDQorJUFERDE5NVIsMC4wMzUwWDAuMDM1MColDQorJUFERDE5NFIsMC4wMjk1WDAuMDI5NSolDQorJUFERDE5M1IsMC4wMjAwWDAuMDIwMColDQorJUFERDE5MlIsMC4wNTEyWDAuMDUxMiolDQorJUFERDE5MVIsMC4yMTA2WDAuMjEwNiolDQorJUFERDE5MEMsMC4yNjYwKiUNCislQUREMTg5QywwLjA2NjAqJQ0KKyVBREQxODhDLDAuMjIwMColDQorJUFERDE4N0MsMC4xODMwKiUNCislQUREMTg2QywwLjA2NTAqJQ0KKyVBREQxODVDLDAuMDU1MColDQorJUFERDE4NEMsMC4wNDAwKiUNCislQUREMTgzQywwLjAyNTAqJQ0KKyVBREQxODJDLDAuMDA4MColDQorJUFERDE4MUMsMC4wMTAwKiUNCislQUREMTgwQywwLjAwMDEqJQ0KK0c1NEQxODAqRzM2Kg0KK1gxODI5NDFZMzIxMDAwRDAyKlgxOTk5NDFEMDEqDQorWTMwMjUwMEQwMSoNCitYMTgyOTQxRDAxKg0KK1kzMjEwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYMjY3MzI0WTIwMDU3M0QwMipYMjcxMzI0RDAxKg0KK1kxOTY1NzNEMDEqDQorWDI2NzMyNEQwMSoNCitZMjAwNTczRDAxKg0KK0czNyoNCitHMzYqDQorWDI3MTMyNEQwMSoNCitZMTk2NTczRDAxKg0KK1gyNjczMjREMDEqDQorWTIwMDU3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1gyNTg4MjRZMTkzNTczRDAyKlgyNjI4MjREMDEqDQorWTE4OTU3M0QwMSoNCitYMjU4ODI0RDAxKg0KK1kxOTM1NzNEMDEqDQorRzM3Kg0KK0czNioNCitYMjQxODI0WTIwNDA3M0QwMipYMjQ1ODI0RDAxKg0KK1kyMDAwNzNEMDEqDQorWDI0MTgyNEQwMSoNCitZMjA0MDczRDAxKg0KK0czNyoNCitHMzYqDQorWDI0OTgyNFkyMTI1NzNEMDIqWDI1MzgyNEQwMSoNCitZMjA4NTczRDAxKg0KK1gyNDk4MjREMDEqDQorWTIxMjU3M0QwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjc4MjRZMjMzNTczRDAyKlgyNzE4MjREMDEqDQorWTIyOTU3M0QwMSoNCitYMjY3ODI0RDAxKg0KK1kyMzM1NzNEMDEqDQorRzM3Kg0KK0czNioNCitYMzIzOTQxWTEwNzQ5OUQwMipYMzQ3OTQxWTEzMTQ5OUQwMSoNCitYMzkxOTQxRDAxKg0KK1k5MTQ5OUQwMSoNCitYMzIzOTQxRDAxKg0KK1kxMDc0OTlEMDEqDQorRzM3Kg0KK0czNioNCitYMzE0OTQxWTg5MDAwRDAyKlgzNTc5NDFEMDEqDQorWTYyMDAwRDAxKg0KK1gzNDQ5NDFEMDEqDQorWDMzMDk0MVk3NjAwMEQwMSoNCitYMzE0OTQxRDAxKg0KK1k4OTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gzODU5NDFZODY0OTlEMDIqWDM5NDk0MUQwMSoNCitZNzI0OTlEMDEqDQorWDM5ODQ0MVk2ODk5OUQwMSoNCitZMzk1MDBEMDEqDQorWDM4NzQ0MUQwMSoNCitZNjE5OTlEMDEqDQorWDM4ODk0MVk2MzQ5OUQwMSoNCitZNzE0OTlEMDEqDQorWDM4NTk0MVk3NDQ5OUQwMSoNCitZODY0OTlEMDEqDQorRzM3Kg0KK0czNioNCitYMzY2NDQxWTY2MDAwRDAyKlgzNzAzOThEMDEqDQorWDM3MDQ0MVk1MjAwMEQwMSoNCitYMzg0NDQxRDAxKg0KK1kzOTUwMEQwMSoNCitYMzY4OTQxRDAxKg0KK1gzNjY0NDFZNDIwMDBEMDEqDQorWTY2MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDI3NTc5MlkyMTE5NDFEMDIqWDI4MDAyMVkyMTYxNzBEMDEqDQorWDI4MDA1N1kyMTYyMDFEMDEqDQorWDI4MDE4MFkyMTYzNDREMDEqDQorWDI4MDE4MFkyMTYzNDREMDEqDQorWDI4MDI3OVkyMTY1MDZEMDEqDQorWDI4MDM1MVkyMTY2ODBEMDEqDQorWDI4MDM5NVkyMTY4NjREMDEqDQorWDI4MDQxMFkyMTcwNTJEMDEqDQorWDI4MDQwNlkyMTcwOTlEMDEqDQorWTI0NDY5NkQwMSoNCitYMjgyNjMwWTI0NjkyMEQwMSoNCitZMjM3NjEwRDAxKg0KK1gyODI2MjVZMjM3NTUxRDAxKg0KK1gyODI2NDRZMjM3MzE2RDAxKg0KK1gyODI2OTlZMjM3MDg2RDAxKg0KK1gyODI3ODlZMjM2ODY4RDAxKg0KK1gyODI5MTNZMjM2NjY3RDAxKg0KK1gyODMwNjZZMjM2NDg3RDAxKg0KK1gyODMxMTFZMjM2NDQ5RDAxKg0KK1gyODM0NDFZMjM2MTE5RDAxKg0KK1kxODg0MjdEMDEqDQorWDI4MzI2NFkxODgzMTlEMDEqDQorWDI4Mjc0OVkxODc4NzlEMDEqDQorWDI4MjMwOVkxODczNjREMDEqDQorWDI4MTk1NlkxODY3ODdEMDEqDQorWDI4MTY5N1kxODYxNjJEMDEqDQorWDI4MTUzOVkxODU1MDREMDEqDQorWDI4MTQ4NlkxODQ4MjlEMDEqDQorWDI4MTUzOVkxODQxNTREMDEqDQorWDI4MTY5N1kxODM0OTZEMDEqDQorWDI4MTk1NlkxODI4NzFEMDEqDQorWDI4MjMwOVkxODIyOTREMDEqDQorWDI4Mjc0OVkxODE3NzlEMDEqDQorWDI4MzI2NFkxODEzMzlEMDEqDQorWDI4MzQ0MVkxODEyMzFEMDEqDQorWTE3ODQyN0QwMSoNCitYMjgzMjY0WTE3ODMxOUQwMSoNCitYMjgyNzQ5WTE3Nzg3OUQwMSoNCitYMjgyMzA5WTE3NzM2NEQwMSoNCitYMjgxOTU2WTE3Njc4N0QwMSoNCitYMjgxNjk3WTE3NjE2MkQwMSoNCitYMjgxNTM5WTE3NTUwNEQwMSoNCitYMjgxNDg2WTE3NDgyOUQwMSoNCitYMjgxNTM5WTE3NDE1NEQwMSoNCitYMjgxNjk3WTE3MzQ5NkQwMSoNCitYMjgxOTU2WTE3Mjg3MUQwMSoNCitYMjgyMzA5WTE3MjI5NEQwMSoNCitYMjgyNzQ5WTE3MTc3OUQwMSoNCitYMjgzMjY0WTE3MTMzOUQwMSoNCitYMjgzNDQxWTE3MTIzMUQwMSoNCitZMTY5NTAwRDAxKg0KK1gyNzU3OTJEMDEqDQorWTE3MDUxNkQwMSoNCitYMjc1Nzk5WTE3MDUxNkQwMSoNCitYMjc2NDc0WTE3MDU2OUQwMSoNCitYMjc3MTMyWTE3MDcyN0QwMSoNCitYMjc3NzU3WTE3MDk4NkQwMSoNCitYMjc4MzM0WTE3MTMzOUQwMSoNCitYMjc4ODQ5WTE3MTc3OUQwMSoNCitYMjc5Mjg5WTE3MjI5NEQwMSoNCitYMjc5NjQyWTE3Mjg3MUQwMSoNCitYMjc5OTAxWTE3MzQ5NkQwMSoNCitYMjgwMDU5WTE3NDE1NEQwMSoNCitYMjgwMDk5WTE3NDgyOUQwMSoNCitYMjgwMDU5WTE3NTUwNEQwMSoNCitYMjc5OTAxWTE3NjE2MkQwMSoNCitYMjc5NjQyWTE3Njc4N0QwMSoNCitYMjc5Mjg5WTE3NzM2NEQwMSoNCitYMjc4ODQ5WTE3Nzg3OUQwMSoNCitYMjc4MzM0WTE3ODMxOUQwMSoNCitYMjc3NzU3WTE3ODY3MkQwMSoNCitYMjc3MTMyWTE3ODkzMUQwMSoNCitYMjc2NDc0WTE3OTA4OUQwMSoNCitYMjc1Nzk5WTE3OTE0MkQwMSoNCitYMjc1NzkyWTE3OTE0MkQwMSoNCitZMTgwNTE2RDAxKg0KK1gyNzU3OTlZMTgwNTE2RDAxKg0KK1gyNzY0NzRZMTgwNTY5RDAxKg0KK1gyNzcxMzJZMTgwNzI3RDAxKg0KK1gyNzc3NTdZMTgwOTg2RDAxKg0KK1gyNzgzMzRZMTgxMzM5RDAxKg0KK1gyNzg4NDlZMTgxNzc5RDAxKg0KK1gyNzkyODlZMTgyMjk0RDAxKg0KK1gyNzk2NDJZMTgyODcxRDAxKg0KK1gyNzk5MDFZMTgzNDk2RDAxKg0KK1gyODAwNTlZMTg0MTU0RDAxKg0KK1gyODAwOTlZMTg0ODI5RDAxKg0KK1gyODAwNTlZMTg1NTA0RDAxKg0KK1gyNzk5MDFZMTg2MTYyRDAxKg0KK1gyNzk2NDJZMTg2Nzg3RDAxKg0KK1gyNzkyODlZMTg3MzY0RDAxKg0KK1gyNzg4NDlZMTg3ODc5RDAxKg0KK1gyNzgzMzRZMTg4MzE5RDAxKg0KK1gyNzc3NTdZMTg4NjcyRDAxKg0KK1gyNzcxMzJZMTg4OTMxRDAxKg0KK1gyNzY0NzRZMTg5MDg5RDAxKg0KK1gyNzU3OTlZMTg5MTQyRDAxKg0KK1gyNzU3OTJZMTg5MTQyRDAxKg0KK1kyMTE5NDFEMDEqDQorRzM3Kg0KK0czNioNCitYMjY5NDM4WTIwNTU4N0QwMipYMjc1NzkyWTIxMTk0MUQwMSoNCitZMTg5MTQyRDAxKg0KK1gyNzUxMjRZMTg5MDg5RDAxKg0KK1gyNzQ0NjZZMTg4OTMxRDAxKg0KK1gyNzM4NDFZMTg4NjcyRDAxKg0KK1gyNzMyNjRZMTg4MzE5RDAxKg0KK1gyNzI3NDlZMTg3ODc5RDAxKg0KK1gyNzIzMDlZMTg3MzY0RDAxKg0KK1gyNzE5NTZZMTg2Nzg3RDAxKg0KK1gyNzE2OTdZMTg2MTYyRDAxKg0KK1gyNzE1MzlZMTg1NTA0RDAxKg0KK1gyNzE0ODZZMTg0ODI5RDAxKg0KK1gyNzE1MzlZMTg0MTU0RDAxKg0KK1gyNzE2OTdZMTgzNDk2RDAxKg0KK1gyNzE5NTZZMTgyODcxRDAxKg0KK1gyNzIzMDlZMTgyMjk0RDAxKg0KK1gyNzI3NDlZMTgxNzc5RDAxKg0KK1gyNzMyNjRZMTgxMzM5RDAxKg0KK1gyNzM4NDFZMTgwOTg2RDAxKg0KK1gyNzQ0NjZZMTgwNzI3RDAxKg0KK1gyNzUxMjRZMTgwNTY5RDAxKg0KK1gyNzU3OTJZMTgwNTE2RDAxKg0KK1kxNzkxNDJEMDEqDQorWDI3NTEyNFkxNzkwODlEMDEqDQorWDI3NDQ2NlkxNzg5MzFEMDEqDQorWDI3Mzg0MVkxNzg2NzJEMDEqDQorWDI3MzI2NFkxNzgzMTlEMDEqDQorWDI3Mjc0OVkxNzc4NzlEMDEqDQorWDI3MjMwOVkxNzczNjREMDEqDQorWDI3MTk1NlkxNzY3ODdEMDEqDQorWDI3MTY5N1kxNzYxNjJEMDEqDQorWDI3MTUzOVkxNzU1MDREMDEqDQorWDI3MTQ4NlkxNzQ4MjlEMDEqDQorWDI3MTUzOVkxNzQxNTREMDEqDQorWDI3MTY5N1kxNzM0OTZEMDEqDQorWDI3MTk1NlkxNzI4NzFEMDEqDQorWDI3MjMwOVkxNzIyOTREMDEqDQorWDI3Mjc0OVkxNzE3NzlEMDEqDQorWDI3MzI2NFkxNzEzMzlEMDEqDQorWDI3Mzg0MVkxNzA5ODZEMDEqDQorWDI3NDQ2NlkxNzA3MjdEMDEqDQorWDI3NTEyNFkxNzA1NjlEMDEqDQorWDI3NTc5MlkxNzA1MTZEMDEqDQorWTE2OTUwMEQwMSoNCitYMjY5NDM4RDAxKg0KK1kxNzI1MzhEMDEqDQorWDI2OTY0MlkxNzI4NzFEMDEqDQorWDI2OTkwMVkxNzM0OTZEMDEqDQorWDI3MDA1OVkxNzQxNTREMDEqDQorWDI3MDA5OVkxNzQ4MjlEMDEqDQorWDI3MDA1OVkxNzU1MDREMDEqDQorWDI2OTkwMVkxNzYxNjJEMDEqDQorWDI2OTY0MlkxNzY3ODdEMDEqDQorWDI2OTQzOFkxNzcxMjBEMDEqDQorWTE4MjUzOEQwMSoNCitYMjY5NjQyWTE4Mjg3MUQwMSoNCitYMjY5OTAxWTE4MzQ5NkQwMSoNCitYMjcwMDU5WTE4NDE1NEQwMSoNCitYMjcwMDk5WTE4NDgyOUQwMSoNCitYMjcwMDU5WTE4NTUwNEQwMSoNCitYMjY5OTAxWTE4NjE2MkQwMSoNCitYMjY5NjQyWTE4Njc4N0QwMSoNCitYMjY5NDM4WTE4NzEyMEQwMSoNCitZMTk2Njk1RDAxKg0KK1gyNjk0NDFZMTk2Njk0RDAxKg0KK1gyNjk3MjNZMTk2NzE3RDAxKg0KK1gyNjk5OTlZMTk2NzgzRDAxKg0KK1gyNzAyNjFZMTk2ODkxRDAxKg0KK1gyNzA1MDJZMTk3MDM5RDAxKg0KK1gyNzA3MThZMTk3MjIzRDAxKg0KK1gyNzA5MDJZMTk3NDM5RDAxKg0KK1gyNzEwNTBZMTk3NjgwRDAxKg0KK1gyNzExNThZMTk3OTQyRDAxKg0KK1gyNzEyMjRZMTk4MjE4RDAxKg0KK1gyNzEyNDFZMTk4NTAwRDAxKg0KK1gyNzEyMjRZMTk4NzgyRDAxKg0KK1gyNzExNThZMTk5MDU4RDAxKg0KK1gyNzEwNTBZMTk5MzIwRDAxKg0KK1gyNzA5MDJZMTk5NTYxRDAxKg0KK1gyNzA3MThZMTk5Nzc3RDAxKg0KK1gyNzA1MDJZMTk5OTYxRDAxKg0KK1gyNzAyNjFZMjAwMTA5RDAxKg0KK1gyNjk5OTlZMjAwMjE3RDAxKg0KK1gyNjk3MjNZMjAwMjgzRDAxKg0KK1gyNjk0NDFZMjAwMzA2RDAxKg0KK1gyNjk0MzhZMjAwMzA1RDAxKg0KK1kyMDU1ODdEMDEqDQorRzM3Kg0KK0czNioNCitYMjYwOTM4WTE5NzA4N0QwMipYMjY5NDM4WTIwNTU4N0QwMSoNCitZMjAwMzA1RDAxKg0KK1gyNjkxNTlZMjAwMjgzRDAxKg0KK1gyNjg4ODNZMjAwMjE3RDAxKg0KK1gyNjg2MjFZMjAwMTA5RDAxKg0KK1gyNjgzODBZMTk5OTYxRDAxKg0KK1gyNjgxNjRZMTk5Nzc3RDAxKg0KK1gyNjc5ODBZMTk5NTYxRDAxKg0KK1gyNjc4MzJZMTk5MzIwRDAxKg0KK1gyNjc3MjRZMTk5MDU4RDAxKg0KK1gyNjc2NThZMTk4NzgyRDAxKg0KK1gyNjc2MzVZMTk4NTAwRDAxKg0KK1gyNjc2NThZMTk4MjE4RDAxKg0KK1gyNjc3MjRZMTk3OTQyRDAxKg0KK1gyNjc4MzJZMTk3NjgwRDAxKg0KK1gyNjc5ODBZMTk3NDM5RDAxKg0KK1gyNjgxNjRZMTk3MjIzRDAxKg0KK1gyNjgzODBZMTk3MDM5RDAxKg0KK1gyNjg2MjFZMTk2ODkxRDAxKg0KK1gyNjg4ODNZMTk2NzgzRDAxKg0KK1gyNjkxNTlZMTk2NzE3RDAxKg0KK1gyNjk0MzhZMTk2Njk1RDAxKg0KK1kxODcxMjBEMDEqDQorWDI2OTI4OVkxODczNjREMDEqDQorWDI2ODg0OVkxODc4NzlEMDEqDQorWDI2ODMzNFkxODgzMTlEMDEqDQorWDI2Nzc1N1kxODg2NzJEMDEqDQorWDI2NzEzMlkxODg5MzFEMDEqDQorWDI2NjQ3NFkxODkwODlEMDEqDQorWDI2NTc5OVkxODkxNDJEMDEqDQorWDI2NTEyNFkxODkwODlEMDEqDQorWDI2NDQ2NlkxODg5MzFEMDEqDQorWDI2Mzg0MVkxODg2NzJEMDEqDQorWDI2MzI2NFkxODgzMTlEMDEqDQorWDI2Mjc0OVkxODc4NzlEMDEqDQorWDI2MjMwOVkxODczNjREMDEqDQorWDI2MTk1NlkxODY3ODdEMDEqDQorWDI2MTY5N1kxODYxNjJEMDEqDQorWDI2MTUzOVkxODU1MDREMDEqDQorWDI2MTQ4NlkxODQ4MjlEMDEqDQorWDI2MTUzOVkxODQxNTREMDEqDQorWDI2MTY5N1kxODM0OTZEMDEqDQorWDI2MTk1NlkxODI4NzFEMDEqDQorWDI2MjMwOVkxODIyOTREMDEqDQorWDI2Mjc0OVkxODE3NzlEMDEqDQorWDI2MzI2NFkxODEzMzlEMDEqDQorWDI2Mzg0MVkxODA5ODZEMDEqDQorWDI2NDQ2NlkxODA3MjdEMDEqDQorWDI2NTEyNFkxODA1NjlEMDEqDQorWDI2NTc5OVkxODA1MTZEMDEqDQorWDI2NjQ3NFkxODA1NjlEMDEqDQorWDI2NzEzMlkxODA3MjdEMDEqDQorWDI2Nzc1N1kxODA5ODZEMDEqDQorWDI2ODMzNFkxODEzMzlEMDEqDQorWDI2ODg0OVkxODE3NzlEMDEqDQorWDI2OTI4OVkxODIyOTREMDEqDQorWDI2OTQzOFkxODI1MzhEMDEqDQorWTE3NzEyMEQwMSoNCitYMjY5Mjg5WTE3NzM2NEQwMSoNCitYMjY4ODQ5WTE3Nzg3OUQwMSoNCitYMjY4MzM0WTE3ODMxOUQwMSoNCitYMjY3NzU3WTE3ODY3MkQwMSoNCitYMjY3MTMyWTE3ODkzMUQwMSoNCitYMjY2NDc0WTE3OTA4OUQwMSoNCitYMjY1Nzk5WTE3OTE0MkQwMSoNCitYMjY1MTI0WTE3OTA4OUQwMSoNCitYMjY0NDY2WTE3ODkzMUQwMSoNCitYMjYzODQxWTE3ODY3MkQwMSoNCitYMjYzMjY0WTE3ODMxOUQwMSoNCitYMjYyNzQ5WTE3Nzg3OUQwMSoNCitYMjYyMzA5WTE3NzM2NEQwMSoNCitYMjYxOTU2WTE3Njc4N0QwMSoNCitYMjYxNjk3WTE3NjE2MkQwMSoNCitYMjYxNTM5WTE3NTUwNEQwMSoNCitYMjYxNDg2WTE3NDgyOUQwMSoNCitYMjYxNTM5WTE3NDE1NEQwMSoNCitYMjYxNjk3WTE3MzQ5NkQwMSoNCitYMjYxOTU2WTE3Mjg3MUQwMSoNCitYMjYyMzA5WTE3MjI5NEQwMSoNCitYMjYyNzQ5WTE3MTc3OUQwMSoNCitYMjYzMjY0WTE3MTMzOUQwMSoNCitYMjYzODQxWTE3MDk4NkQwMSoNCitYMjY0NDY2WTE3MDcyN0QwMSoNCitYMjY1MTI0WTE3MDU2OUQwMSoNCitYMjY1Nzk5WTE3MDUxNkQwMSoNCitYMjY2NDc0WTE3MDU2OUQwMSoNCitYMjY3MTMyWTE3MDcyN0QwMSoNCitYMjY3NzU3WTE3MDk4NkQwMSoNCitYMjY4MzM0WTE3MTMzOUQwMSoNCitYMjY4ODQ5WTE3MTc3OUQwMSoNCitYMjY5Mjg5WTE3MjI5NEQwMSoNCitYMjY5NDM4WTE3MjUzOEQwMSoNCitZMTY5NTAwRDAxKg0KK1gyNjA5MzhEMDEqDQorWTE4OTY5NUQwMSoNCitYMjYwOTQxWTE4OTY5NEQwMSoNCitYMjYxMjIzWTE4OTcxN0QwMSoNCitYMjYxNDk5WTE4OTc4M0QwMSoNCitYMjYxNzYxWTE4OTg5MUQwMSoNCitYMjYyMDAyWTE5MDAzOUQwMSoNCitYMjYyMjE4WTE5MDIyM0QwMSoNCitYMjYyNDAyWTE5MDQzOUQwMSoNCitYMjYyNTUwWTE5MDY4MEQwMSoNCitYMjYyNjU4WTE5MDk0MkQwMSoNCitYMjYyNzI0WTE5MTIxOEQwMSoNCitYMjYyNzQxWTE5MTUwMEQwMSoNCitYMjYyNzI0WTE5MTc4MkQwMSoNCitYMjYyNjU4WTE5MjA1OEQwMSoNCitYMjYyNTUwWTE5MjMyMEQwMSoNCitYMjYyNDAyWTE5MjU2MUQwMSoNCitYMjYyMjE4WTE5Mjc3N0QwMSoNCitYMjYyMDAyWTE5Mjk2MUQwMSoNCitYMjYxNzYxWTE5MzEwOUQwMSoNCitYMjYxNDk5WTE5MzIxN0QwMSoNCitYMjYxMjIzWTE5MzI4M0QwMSoNCitYMjYwOTQxWTE5MzMwNkQwMSoNCitYMjYwOTM4WTE5MzMwNUQwMSoNCitZMTk3MDg3RDAxKg0KK0czNyoNCitHMzYqDQorWDI2OTkzOFkyNDMwNjNEMDIqWDI3MDc5N1kyNDM5MjJEMDEqDQorWDI3MDgzM1kyNDM5NTNEMDEqDQorWDI3MDk1NlkyNDQwOTZEMDEqDQorWDI3MDk1NlkyNDQwOTdEMDEqDQorWDI3MDk1NlkyNDQwOTdEMDEqDQorWDI3MTAyMFkyNDQyMDJEMDEqDQorWDI3MTA1NVkyNDQyNThEMDEqDQorWTI0NDI1OEQwMSoNCitYMjcxMDU1WTI0NDI1OEQwMSoNCitYMjcxMTIwWTI0NDQxNUQwMSoNCitYMjcxMTI3WTI0NDQzMkQwMSoNCitYMjcxMTI3WTI0NDQzMkQwMSoNCitYMjcxMTI3WTI0NDQzMkQwMSoNCitYMjcxMTQ4WTI0NDUxOUQwMSoNCitYMjcxMTcxWTI0NDYxNkQwMSoNCitZMjQ0NjE2RDAxKg0KK1gyNzExNzFZMjQ0NjE2RDAxKg0KK1gyNzExODZZMjQ0ODA0RDAxKg0KK1gyNzExODJZMjQ0ODUxRDAxKg0KK1kyNTEwMTZEMDEqDQorWDI3MTY2NlkyNTE1MDBEMDEqDQorWDI3ODQ0OUQwMSoNCitYMjczOTg3WTI0NzAzOEQwMSoNCitYMjczOTUxWTI0NzAwN0QwMSoNCitYMjczODI4WTI0Njg2NEQwMSoNCitYMjczNzI5WTI0NjcwMkQwMSoNCitYMjczNjU3WTI0NjUyOEQwMSoNCitYMjczNjEzWTI0NjM0NEQwMSoNCitYMjczNTk4WTI0NjE1NkQwMSoNCitYMjczNjAyWTI0NjEwOUQwMSoNCitZMjI2OTM4RDAxKg0KK1gyNjk5MzhZMjIzMjc0RDAxKg0KK1kyMjk2OTVEMDEqDQorWDI2OTk0MVkyMjk2OTREMDEqDQorWDI3MDIyM1kyMjk3MTdEMDEqDQorWDI3MDQ5OVkyMjk3ODNEMDEqDQorWDI3MDc2MVkyMjk4OTFEMDEqDQorWDI3MTAwMlkyMzAwMzlEMDEqDQorWDI3MTIxOFkyMzAyMjNEMDEqDQorWDI3MTQwMlkyMzA0MzlEMDEqDQorWDI3MTU1MFkyMzA2ODBEMDEqDQorWDI3MTY1OFkyMzA5NDJEMDEqDQorWDI3MTcyNFkyMzEyMThEMDEqDQorWDI3MTc0MVkyMzE1MDBEMDEqDQorWDI3MTcyNFkyMzE3ODJEMDEqDQorWDI3MTY1OFkyMzIwNThEMDEqDQorWDI3MTU1MFkyMzIzMjBEMDEqDQorWDI3MTQwMlkyMzI1NjFEMDEqDQorWDI3MTIxOFkyMzI3NzdEMDEqDQorWDI3MTAwMlkyMzI5NjFEMDEqDQorWDI3MDc2MVkyMzMxMDlEMDEqDQorWDI3MDQ5OVkyMzMyMTdEMDEqDQorWDI3MDIyM1kyMzMyODNEMDEqDQorWDI2OTk0MVkyMzMzMDZEMDEqDQorWDI2OTkzOFkyMzMzMDVEMDEqDQorWTI0MzA2M0QwMSoNCitHMzcqDQorRzM2Kg0KK1gyNjA5MzhZMjM0MDYyRDAyKlgyNjk5MzhZMjQzMDYzRDAxKg0KK1kyMzMzMDVEMDEqDQorWDI2OTY1OVkyMzMyODNEMDEqDQorWDI2OTM4M1kyMzMyMTdEMDEqDQorWDI2OTEyMVkyMzMxMDlEMDEqDQorWDI2ODg4MFkyMzI5NjFEMDEqDQorWDI2ODY2NFkyMzI3NzdEMDEqDQorWDI2ODQ4MFkyMzI1NjFEMDEqDQorWDI2ODMzMlkyMzIzMjBEMDEqDQorWDI2ODIyNFkyMzIwNThEMDEqDQorWDI2ODE1OFkyMzE3ODJEMDEqDQorWDI2ODEzNVkyMzE1MDBEMDEqDQorWDI2ODE1OFkyMzEyMThEMDEqDQorWDI2ODIyNFkyMzA5NDJEMDEqDQorWDI2ODMzMlkyMzA2ODBEMDEqDQorWDI2ODQ4MFkyMzA0MzlEMDEqDQorWDI2ODY2NFkyMzAyMjNEMDEqDQorWDI2ODg4MFkyMzAwMzlEMDEqDQorWDI2OTEyMVkyMjk4OTFEMDEqDQorWDI2OTM4M1kyMjk3ODNEMDEqDQorWDI2OTY1OVkyMjk3MTdEMDEqDQorWDI2OTkzOFkyMjk2OTVEMDEqDQorWTIyMzI3NEQwMSoNCitYMjYwOTM4WTIxNDI3NEQwMSoNCitZMjM0MDYyRDAxKg0KK0czNyoNCitHMzYqDQorWDI1MTkzOFkxODE2ODREMDIqWDI1MTk4NlkxODE3NjJEMDEqDQorWDI1MTk4NlkxODE3NjJEMDEqDQorWDI1MTk4N1kxODE3NjNEMDEqDQorWDI1MjAxN1kxODE4MzdEMDEqDQorWDI1MjA1OVkxODE5MzdEMDEqDQorWDI1MjA1OVkxODE5MzdEMDEqDQorWDI1MjA1OVkxODE5MzdEMDEqDQorWDI1MjA3OVkxODIwMjBEMDEqDQorWDI1MjEwM1kxODIxMjBEMDEqDQorWDI1MjEwM1kxODIxMjFEMDEqDQorWDI1MjEwM1kxODIxMjFEMDEqDQorWDI1MjEwM1kxODIxMjJEMDEqDQorWDI1MjExOFkxODIzMDlEMDEqDQorWDI1MjExNFkxODIzNTZEMDEqDQorWTE4MjYxM0QwMSoNCitYMjUyMzA5WTE4MjI5NEQwMSoNCitYMjUyNzQ5WTE4MTc3OUQwMSoNCitYMjUzMjY0WTE4MTMzOUQwMSoNCitYMjUzODQxWTE4MDk4NkQwMSoNCitYMjU0NDY2WTE4MDcyN0QwMSoNCitYMjU1MTI0WTE4MDU2OUQwMSoNCitYMjU1Nzk5WTE4MDUxNkQwMSoNCitYMjU2NDc0WTE4MDU2OUQwMSoNCitYMjU3MTMyWTE4MDcyN0QwMSoNCitYMjU3NzU3WTE4MDk4NkQwMSoNCitYMjU4MzM0WTE4MTMzOUQwMSoNCitYMjU4ODQ5WTE4MTc3OUQwMSoNCitYMjU5Mjg5WTE4MjI5NEQwMSoNCitYMjU5NjQyWTE4Mjg3MUQwMSoNCitYMjU5OTAxWTE4MzQ5NkQwMSoNCitYMjYwMDU5WTE4NDE1NEQwMSoNCitYMjYwMDk5WTE4NDgyOUQwMSoNCitYMjYwMDU5WTE4NTUwNEQwMSoNCitYMjU5OTAxWTE4NjE2MkQwMSoNCitYMjU5NjQyWTE4Njc4N0QwMSoNCitYMjU5Mjg5WTE4NzM2NEQwMSoNCitYMjU4ODQ5WTE4Nzg3OUQwMSoNCitYMjU4MzM0WTE4ODMxOUQwMSoNCitYMjU3NzU3WTE4ODY3MkQwMSoNCitYMjU3MTMyWTE4ODkzMUQwMSoNCitYMjU2NDc0WTE4OTA4OUQwMSoNCitYMjU1Nzk5WTE4OTE0MkQwMSoNCitYMjU1MTI0WTE4OTA4OUQwMSoNCitYMjU0NDY2WTE4ODkzMUQwMSoNCitYMjUzODQxWTE4ODY3MkQwMSoNCitYMjUzMjY0WTE4ODMxOUQwMSoNCitYMjUyNzQ5WTE4Nzg3OUQwMSoNCitYMjUyMzA5WTE4NzM2NEQwMSoNCitYMjUyMTE0WTE4NzA0NUQwMSoNCitZMTg4MjYzRDAxKg0KK1gyNjA5MzhZMTk3MDg3RDAxKg0KK1kxOTMzMDVEMDEqDQorWDI2MDY1OVkxOTMyODNEMDEqDQorWDI2MDM4M1kxOTMyMTdEMDEqDQorWDI2MDEyMVkxOTMxMDlEMDEqDQorWDI1OTg4MFkxOTI5NjFEMDEqDQorWDI1OTY2NFkxOTI3NzdEMDEqDQorWDI1OTQ4MFkxOTI1NjFEMDEqDQorWDI1OTMzMlkxOTIzMjBEMDEqDQorWDI1OTIyNFkxOTIwNThEMDEqDQorWDI1OTE1OFkxOTE3ODJEMDEqDQorWDI1OTEzNVkxOTE1MDBEMDEqDQorWDI1OTE1OFkxOTEyMThEMDEqDQorWDI1OTIyNFkxOTA5NDJEMDEqDQorWDI1OTMzMlkxOTA2ODBEMDEqDQorWDI1OTQ4MFkxOTA0MzlEMDEqDQorWDI1OTY2NFkxOTAyMjNEMDEqDQorWDI1OTg4MFkxOTAwMzlEMDEqDQorWDI2MDEyMVkxODk4OTFEMDEqDQorWDI2MDM4M1kxODk3ODNEMDEqDQorWDI2MDY1OVkxODk3MTdEMDEqDQorWDI2MDkzOFkxODk2OTVEMDEqDQorWTE2OTUwMEQwMSoNCitYMjUxOTM4RDAxKg0KK1kxNzI5MTNEMDEqDQorWDI1MTk1NlkxNzI4NzFEMDEqDQorWDI1MjMwOVkxNzIyOTREMDEqDQorWDI1Mjc0OVkxNzE3NzlEMDEqDQorWDI1MzI2NFkxNzEzMzlEMDEqDQorWDI1Mzg0MVkxNzA5ODZEMDEqDQorWDI1NDQ2NlkxNzA3MjdEMDEqDQorWDI1NTEyNFkxNzA1NjlEMDEqDQorWDI1NTc5OVkxNzA1MTZEMDEqDQorWDI1NjQ3NFkxNzA1NjlEMDEqDQorWDI1NzEzMlkxNzA3MjdEMDEqDQorWDI1Nzc1N1kxNzA5ODZEMDEqDQorWDI1ODMzNFkxNzEzMzlEMDEqDQorWDI1ODg0OVkxNzE3NzlEMDEqDQorWDI1OTI4OVkxNzIyOTREMDEqDQorWDI1OTY0MlkxNzI4NzFEMDEqDQorWDI1OTkwMVkxNzM0OTZEMDEqDQorWDI2MDA1OVkxNzQxNTREMDEqDQorWDI2MDA5OVkxNzQ4MjlEMDEqDQorWDI2MDA1OVkxNzU1MDREMDEqDQorWDI1OTkwMVkxNzYxNjJEMDEqDQorWDI1OTY0MlkxNzY3ODdEMDEqDQorWDI1OTI4OVkxNzczNjREMDEqDQorWDI1ODg0OVkxNzc4NzlEMDEqDQorWDI1ODMzNFkxNzgzMTlEMDEqDQorWDI1Nzc1N1kxNzg2NzJEMDEqDQorWDI1NzEzMlkxNzg5MzFEMDEqDQorWDI1NjQ3NFkxNzkwODlEMDEqDQorWDI1NTc5OVkxNzkxNDJEMDEqDQorWDI1NTEyNFkxNzkwODlEMDEqDQorWDI1NDQ2NlkxNzg5MzFEMDEqDQorWDI1Mzg0MVkxNzg2NzJEMDEqDQorWDI1MzI2NFkxNzgzMTlEMDEqDQorWDI1Mjc0OVkxNzc4NzlEMDEqDQorWDI1MjMwOVkxNzczNjREMDEqDQorWDI1MTk1NlkxNzY3ODdEMDEqDQorWDI1MTkzOFkxNzY3NDVEMDEqDQorWTE4MTY4NEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMjU4NDVEMDIqWDI1MjE3NkQwMSoNCitYMjUyMjIzWTIyNTg0MUQwMSoNCitYMjUyNDExWTIyNTg1NkQwMSoNCitYMjUyNTk1WTIyNTkwMEQwMSoNCitYMjUyNzY5WTIyNTk3MkQwMSoNCitYMjUyOTMxWTIyNjA3MUQwMSoNCitYMjUzMDc0WTIyNjE5NEQwMSoNCitYMjUzMTA1WTIyNjIzMEQwMSoNCitYMjU3NjI3WTIzMDc1MUQwMSoNCitYMjU3NjM3WTIzMDc2NEQwMSoNCitYMjU3NjU5WTIzMDc4M0QwMSoNCitYMjYwOTM4WTIzNDA2MkQwMSoNCitZMjE0Mjc0RDAxKg0KK1gyNTE5MzhZMjA1Mjc0RDAxKg0KK1kyMDg2OTVEMDEqDQorWDI1MTk0MVkyMDg2OTREMDEqDQorWDI1MjIyM1kyMDg3MTdEMDEqDQorWDI1MjQ5OVkyMDg3ODNEMDEqDQorWDI1Mjc2MVkyMDg4OTFEMDEqDQorWDI1MzAwMlkyMDkwMzlEMDEqDQorWDI1MzIxOFkyMDkyMjNEMDEqDQorWDI1MzQwMlkyMDk0MzlEMDEqDQorWDI1MzU1MFkyMDk2ODBEMDEqDQorWDI1MzY1OFkyMDk5NDJEMDEqDQorWDI1MzcyNFkyMTAyMThEMDEqDQorWDI1Mzc0MVkyMTA1MDBEMDEqDQorWDI1MzcyNFkyMTA3ODJEMDEqDQorWDI1MzY1OFkyMTEwNThEMDEqDQorWDI1MzU1MFkyMTEzMjBEMDEqDQorWDI1MzQwMlkyMTE1NjFEMDEqDQorWDI1MzIxOFkyMTE3NzdEMDEqDQorWDI1MzAwMlkyMTE5NjFEMDEqDQorWDI1Mjc2MVkyMTIxMDlEMDEqDQorWDI1MjQ5OVkyMTIyMTdEMDEqDQorWDI1MjIyM1kyMTIyODNEMDEqDQorWDI1MTk0MVkyMTIzMDZEMDEqDQorWDI1MTkzOFkyMTIzMDVEMDEqDQorWTIyNTg0NUQwMSoNCitHMzcqDQorRzM2Kg0KK1gyNDM5MzhZMTcwOTQ2RDAyKlgyNDQ0NjZZMTcwNzI3RDAxKg0KK1gyNDUxMjRZMTcwNTY5RDAxKg0KK1gyNDU3OTlZMTcwNTE2RDAxKg0KK1gyNDY0NzRZMTcwNTY5RDAxKg0KK1gyNDcxMzJZMTcwNzI3RDAxKg0KK1gyNDc3NTdZMTcwOTg2RDAxKg0KK1gyNDgzMzRZMTcxMzM5RDAxKg0KK1gyNDg4NDlZMTcxNzc5RDAxKg0KK1gyNDkyODlZMTcyMjk0RDAxKg0KK1gyNDk2NDJZMTcyODcxRDAxKg0KK1gyNDk5MDFZMTczNDk2RDAxKg0KK1gyNTAwNTlZMTc0MTU0RDAxKg0KK1gyNTAwOTlZMTc0ODI5RDAxKg0KK1gyNTAwNTlZMTc1NTA0RDAxKg0KK1gyNDk5MDFZMTc2MTYyRDAxKg0KK1gyNDk2NDJZMTc2Nzg3RDAxKg0KK1gyNDkyODlZMTc3MzY0RDAxKg0KK1gyNDg4NDlZMTc3ODc5RDAxKg0KK1gyNDgzMzRZMTc4MzE5RDAxKg0KK1gyNDc3NTdZMTc4NjcyRDAxKg0KK1gyNDc1MDRZMTc4Nzc3RDAxKg0KK1gyNDg1MzREMDEqDQorWDI0ODU4MVkxNzg3NzNEMDEqDQorWDI0ODc2OVkxNzg3ODhEMDEqDQorWDI0ODc2OVkxNzg3ODhEMDEqDQorWDI0ODc2OVkxNzg3ODhEMDEqDQorWDI0ODg5NVkxNzg4MThEMDEqDQorWDI0ODk1M1kxNzg4MzJEMDEqDQorWDI0ODk1M1kxNzg4MzJEMDEqDQorWDI0ODk1M1kxNzg4MzJEMDEqDQorWDI0OTA2MVkxNzg4NzdEMDEqDQorWDI0OTEyN1kxNzg5MDREMDEqDQorWDI0OTEyN1kxNzg5MDREMDEqDQorWDI0OTEyN1kxNzg5MDREMDEqDQorWDI0OTIzMVkxNzg5NjhEMDEqDQorWDI0OTI4OFkxNzkwMDNEMDEqDQorWDI0OTI4OFkxNzkwMDNEMDEqDQorWDI0OTI4OVkxNzkwMDNEMDEqDQorWDI0OTQzMlkxNzkxMjZEMDEqDQorWDI0OTQ2M1kxNzkxNjJEMDEqDQorWDI1MTcyOVkxODE0MjdEMDEqDQorWDI1MTc2NVkxODE0NThEMDEqDQorWDI1MTg4N1kxODE2MDBEMDEqDQorWDI1MTg4OFkxODE2MDFEMDEqDQorWDI1MTg4OFkxODE2MDFEMDEqDQorWDI1MTg4OFkxODE2MDFEMDEqDQorWDI1MTkzMVkxODE2NzFEMDEqDQorWDI1MTkzOFkxODE2ODREMDEqDQorWTE3Njc0NUQwMSoNCitYMjUxNjk3WTE3NjE2MkQwMSoNCitYMjUxNTM5WTE3NTUwNEQwMSoNCitYMjUxNDg2WTE3NDgyOUQwMSoNCitYMjUxNTM5WTE3NDE1NEQwMSoNCitYMjUxNjk3WTE3MzQ5NkQwMSoNCitYMjUxOTM4WTE3MjkxM0QwMSoNCitZMTY5NTAwRDAxKg0KK1gyNDM5MzhEMDEqDQorWTE3MDk0NkQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzg3NzdEMDIqWDI0NDA5NEQwMSoNCitYMjQzOTM4WTE3ODcxMkQwMSoNCitZMTc4Nzc3RDAxKg0KK0czNyoNCitHMzYqDQorWTIyNTg0NUQwMipYMjUxOTM4RDAxKg0KK1kyMTIzMDVEMDEqDQorWDI1MTY1OVkyMTIyODNEMDEqDQorWDI1MTM4M1kyMTIyMTdEMDEqDQorWDI1MTEyMVkyMTIxMDlEMDEqDQorWDI1MDg4MFkyMTE5NjFEMDEqDQorWDI1MDY2NFkyMTE3NzdEMDEqDQorWDI1MDQ4MFkyMTE1NjFEMDEqDQorWDI1MDMzMlkyMTEzMjBEMDEqDQorWDI1MDIyNFkyMTEwNThEMDEqDQorWDI1MDE1OFkyMTA3ODJEMDEqDQorWDI1MDEzNVkyMTA1MDBEMDEqDQorWDI1MDE1OFkyMTAyMThEMDEqDQorWDI1MDIyNFkyMDk5NDJEMDEqDQorWDI1MDMzMlkyMDk2ODBEMDEqDQorWDI1MDQ4MFkyMDk0MzlEMDEqDQorWDI1MDY2NFkyMDkyMjNEMDEqDQorWDI1MDg4MFkyMDkwMzlEMDEqDQorWDI1MTEyMVkyMDg4OTFEMDEqDQorWDI1MTM4M1kyMDg3ODNEMDEqDQorWDI1MTY1OVkyMDg3MTdEMDEqDQorWDI1MTkzOFkyMDg2OTVEMDEqDQorWTIwNTI3NEQwMSoNCitYMjQzOTM4WTE5NzI3NEQwMSoNCitZMjAwMTk1RDAxKg0KK1gyNDM5NDFZMjAwMTk0RDAxKg0KK1gyNDQyMjNZMjAwMjE3RDAxKg0KK1gyNDQ0OTlZMjAwMjgzRDAxKg0KK1gyNDQ3NjFZMjAwMzkxRDAxKg0KK1gyNDUwMDJZMjAwNTM5RDAxKg0KK1gyNDUyMThZMjAwNzIzRDAxKg0KK1gyNDU0MDJZMjAwOTM5RDAxKg0KK1gyNDU1NTBZMjAxMTgwRDAxKg0KK1gyNDU2NThZMjAxNDQyRDAxKg0KK1gyNDU3MjRZMjAxNzE4RDAxKg0KK1gyNDU3NDFZMjAyMDAwRDAxKg0KK1gyNDU3MjRZMjAyMjgyRDAxKg0KK1gyNDU2NThZMjAyNTU4RDAxKg0KK1gyNDU1NTBZMjAyODIwRDAxKg0KK1gyNDU0MDJZMjAzMDYxRDAxKg0KK1gyNDUyMThZMjAzMjc3RDAxKg0KK1gyNDUwMDJZMjAzNDYxRDAxKg0KK1gyNDQ3NjFZMjAzNjA5RDAxKg0KK1gyNDQ0OTlZMjAzNzE3RDAxKg0KK1gyNDQyMjNZMjAzNzgzRDAxKg0KK1gyNDM5NDFZMjAzODA2RDAxKg0KK1gyNDM5MzhZMjAzODA1RDAxKg0KK1kyMjU4NDVEMDEqDQorRzM3Kg0KK0czNioNCitYMjE1NzkyWTE4MDUxNkQwMipYMjE1Nzk5WTE4MDUxNkQwMSoNCitYMjE2NDc0WTE4MDU2OUQwMSoNCitYMjE3MTMyWTE4MDcyN0QwMSoNCitYMjE3Njc0WTE4MDk1MUQwMSoNCitYMjE5NDYzWTE3OTE2MkQwMSoNCitYMjE5NDk0WTE3OTEyNkQwMSoNCitYMjE5NjM3WTE3OTAwM0QwMSoNCitYMjE5NjM3WTE3OTAwM0QwMSoNCitYMjE5Nzk5WTE3ODkwNEQwMSoNCitYMjE5OTczWTE3ODgzMkQwMSoNCitYMjIwMTU3WTE3ODc4OEQwMSoNCitYMjIwMzQ1WTE3ODc3M0QwMSoNCitYMjIwMzkyWTE3ODc3N0QwMSoNCitYMjI0MDk0RDAxKg0KK1gyMjM4NDFZMTc4NjcyRDAxKg0KK1gyMjMyNjRZMTc4MzE5RDAxKg0KK1gyMjI3NDlZMTc3ODc5RDAxKg0KK1gyMjIzMDlZMTc3MzY0RDAxKg0KK1gyMjE5NTZZMTc2Nzg3RDAxKg0KK1gyMjE2OTdZMTc2MTYyRDAxKg0KK1gyMjE1MzlZMTc1NTA0RDAxKg0KK1gyMjE0ODZZMTc0ODI5RDAxKg0KK1gyMjE1MzlZMTc0MTU0RDAxKg0KK1gyMjE2OTdZMTczNDk2RDAxKg0KK1gyMjE5NTZZMTcyODcxRDAxKg0KK1gyMjIzMDlZMTcyMjk0RDAxKg0KK1gyMjI3NDlZMTcxNzc5RDAxKg0KK1gyMjMyNjRZMTcxMzM5RDAxKg0KK1gyMjM4NDFZMTcwOTg2RDAxKg0KK1gyMjQ0NjZZMTcwNzI3RDAxKg0KK1gyMjUxMjRZMTcwNTY5RDAxKg0KK1gyMjU3OTlZMTcwNTE2RDAxKg0KK1gyMjY0NzRZMTcwNTY5RDAxKg0KK1gyMjcxMzJZMTcwNzI3RDAxKg0KK1gyMjc3NTdZMTcwOTg2RDAxKg0KK1gyMjgzMzRZMTcxMzM5RDAxKg0KK1gyMjg4NDlZMTcxNzc5RDAxKg0KK1gyMjkyODlZMTcyMjk0RDAxKg0KK1gyMjk2NDJZMTcyODcxRDAxKg0KK1gyMjk5MDFZMTczNDk2RDAxKg0KK1gyMzAwNTlZMTc0MTU0RDAxKg0KK1gyMzAwOTlZMTc0ODI5RDAxKg0KK1gyMzAwNTlZMTc1NTA0RDAxKg0KK1gyMjk5MDFZMTc2MTYyRDAxKg0KK1gyMjk2NDJZMTc2Nzg3RDAxKg0KK1gyMjkyODlZMTc3MzY0RDAxKg0KK1gyMjg4NDlZMTc3ODc5RDAxKg0KK1gyMjgzMzRZMTc4MzE5RDAxKg0KK1gyMjc3NTdZMTc4NjcyRDAxKg0KK1gyMjc1MDRZMTc4Nzc3RDAxKg0KK1gyMzM1NjdEMDEqDQorWDIzMzU2N1kxNzg3NzdEMDEqDQorWDIzNDA5NEQwMSoNCitYMjMzODQxWTE3ODY3MkQwMSoNCitYMjMzMjY0WTE3ODMxOUQwMSoNCitYMjMyNzQ5WTE3Nzg3OUQwMSoNCitYMjMyMzA5WTE3NzM2NEQwMSoNCitYMjMxOTU2WTE3Njc4N0QwMSoNCitYMjMxNjk3WTE3NjE2MkQwMSoNCitYMjMxNTM5WTE3NTUwNEQwMSoNCitYMjMxNDg2WTE3NDgyOUQwMSoNCitYMjMxNTM5WTE3NDE1NEQwMSoNCitYMjMxNjk3WTE3MzQ5NkQwMSoNCitYMjMxOTU2WTE3Mjg3MUQwMSoNCitYMjMyMzA5WTE3MjI5NEQwMSoNCitYMjMyNzQ5WTE3MTc3OUQwMSoNCitYMjMzMjY0WTE3MTMzOUQwMSoNCitYMjMzODQxWTE3MDk4NkQwMSoNCitYMjM0NDY2WTE3MDcyN0QwMSoNCitYMjM1MTI0WTE3MDU2OUQwMSoNCitYMjM1Nzk5WTE3MDUxNkQwMSoNCitYMjM2NDc0WTE3MDU2OUQwMSoNCitYMjM3MTMyWTE3MDcyN0QwMSoNCitYMjM3NzU3WTE3MDk4NkQwMSoNCitYMjM4MzM0WTE3MTMzOUQwMSoNCitYMjM4ODQ5WTE3MTc3OUQwMSoNCitYMjM5Mjg5WTE3MjI5NEQwMSoNCitYMjM5NjQyWTE3Mjg3MUQwMSoNCitYMjM5OTAxWTE3MzQ5NkQwMSoNCitYMjQwMDU5WTE3NDE1NEQwMSoNCitYMjQwMDk5WTE3NDgyOUQwMSoNCitYMjQwMDU5WTE3NTUwNEQwMSoNCitYMjM5OTAxWTE3NjE2MkQwMSoNCitYMjM5NjQyWTE3Njc4N0QwMSoNCitYMjM5Mjg5WTE3NzM2NEQwMSoNCitYMjM4ODQ5WTE3Nzg3OUQwMSoNCitYMjM4MzM0WTE3ODMxOUQwMSoNCitYMjM3NzU3WTE3ODY3MkQwMSoNCitYMjM3NTA0WTE3ODc3N0QwMSoNCitYMjQzOTM4RDAxKg0KK1kxNzg3MTJEMDEqDQorWDI0Mzg0MVkxNzg2NzJEMDEqDQorWDI0MzI2NFkxNzgzMTlEMDEqDQorWDI0Mjc0OVkxNzc4NzlEMDEqDQorWDI0MjMwOVkxNzczNjREMDEqDQorWDI0MTk1NlkxNzY3ODdEMDEqDQorWDI0MTY5N1kxNzYxNjJEMDEqDQorWDI0MTUzOVkxNzU1MDREMDEqDQorWDI0MTQ4NlkxNzQ4MjlEMDEqDQorWDI0MTUzOVkxNzQxNTREMDEqDQorWDI0MTY5N1kxNzM0OTZEMDEqDQorWDI0MTk1NlkxNzI4NzFEMDEqDQorWDI0MjMwOVkxNzIyOTREMDEqDQorWDI0Mjc0OVkxNzE3NzlEMDEqDQorWDI0MzI2NFkxNzEzMzlEMDEqDQorWDI0Mzg0MVkxNzA5ODZEMDEqDQorWDI0MzkzOFkxNzA5NDZEMDEqDQorWTE2OTUwMEQwMSoNCitYMjE1NzkyRDAxKg0KK1kxNzA1MTZEMDEqDQorWDIxNTc5OVkxNzA1MTZEMDEqDQorWDIxNjQ3NFkxNzA1NjlEMDEqDQorWDIxNzEzMlkxNzA3MjdEMDEqDQorWDIxNzc1N1kxNzA5ODZEMDEqDQorWDIxODMzNFkxNzEzMzlEMDEqDQorWDIxODg0OVkxNzE3NzlEMDEqDQorWDIxOTI4OVkxNzIyOTREMDEqDQorWDIxOTY0MlkxNzI4NzFEMDEqDQorWDIxOTkwMVkxNzM0OTZEMDEqDQorWDIyMDA1OVkxNzQxNTREMDEqDQorWDIyMDA5OVkxNzQ4MjlEMDEqDQorWDIyMDA1OVkxNzU1MDREMDEqDQorWDIxOTkwMVkxNzYxNjJEMDEqDQorWDIxOTY0MlkxNzY3ODdEMDEqDQorWDIxOTI4OVkxNzczNjREMDEqDQorWDIxODg0OVkxNzc4NzlEMDEqDQorWDIxODMzNFkxNzgzMTlEMDEqDQorWDIxNzc1N1kxNzg2NzJEMDEqDQorWDIxNzEzMlkxNzg5MzFEMDEqDQorWDIxNjQ3NFkxNzkwODlEMDEqDQorWDIxNTc5OVkxNzkxNDJEMDEqDQorWDIxNTc5MlkxNzkxNDJEMDEqDQorWTE4MDUxNkQwMSoNCitHMzcqDQorRzM2Kg0KK1gyMzU3OTJZMjIzNjk5RDAyKlgyMzc5MzhZMjI1ODQ1RDAxKg0KK1gyNDM5MzhEMDEqDQorWTIwMzgwNUQwMSoNCitYMjQzNjU5WTIwMzc4M0QwMSoNCitYMjQzMzgzWTIwMzcxN0QwMSoNCitYMjQzMTIxWTIwMzYwOUQwMSoNCitYMjQyODgwWTIwMzQ2MUQwMSoNCitYMjQyNjY0WTIwMzI3N0QwMSoNCitYMjQyNDgwWTIwMzA2MUQwMSoNCitYMjQyMzMyWTIwMjgyMEQwMSoNCitYMjQyMjI0WTIwMjU1OEQwMSoNCitYMjQyMTU4WTIwMjI4MkQwMSoNCitYMjQyMTM1WTIwMjAwMEQwMSoNCitYMjQyMTU4WTIwMTcxOEQwMSoNCitYMjQyMjI0WTIwMTQ0MkQwMSoNCitYMjQyMzMyWTIwMTE4MEQwMSoNCitYMjQyNDgwWTIwMDkzOUQwMSoNCitYMjQyNjY0WTIwMDcyM0QwMSoNCitYMjQyODgwWTIwMDUzOUQwMSoNCitYMjQzMTIxWTIwMDM5MUQwMSoNCitYMjQzMzgzWTIwMDI4M0QwMSoNCitYMjQzNjU5WTIwMDIxN0QwMSoNCitYMjQzOTM4WTIwMDE5NUQwMSoNCitZMTk3Mjc0RDAxKg0KK1gyMzg2ODZZMTkyMDIyRDAxKg0KK1gyMzU3OTJEMDEqDQorWTE5MzAxNkQwMSoNCitYMjM1Nzk5WTE5MzAxNkQwMSoNCitYMjM2NDc0WTE5MzA2OUQwMSoNCitYMjM3MTMyWTE5MzIyN0QwMSoNCitYMjM3NzU3WTE5MzQ4NkQwMSoNCitYMjM4MzM0WTE5MzgzOUQwMSoNCitYMjM4ODQ5WTE5NDI3OUQwMSoNCitYMjM5Mjg5WTE5NDc5NEQwMSoNCitYMjM5NjQyWTE5NTM3MUQwMSoNCitYMjM5OTAxWTE5NTk5NkQwMSoNCitYMjQwMDU5WTE5NjY1NEQwMSoNCitYMjQwMDk5WTE5NzMyOUQwMSoNCitYMjQwMDU5WTE5ODAwNEQwMSoNCitYMjM5OTAxWTE5ODY2MkQwMSoNCitYMjM5NjQyWTE5OTI4N0QwMSoNCitYMjM5Mjg5WTE5OTg2NEQwMSoNCitYMjM4ODQ5WTIwMDM3OUQwMSoNCitYMjM4MzM0WTIwMDgxOUQwMSoNCitYMjM3NzU3WTIwMTE3MkQwMSoNCitYMjM3MTMyWTIwMTQzMUQwMSoNCitYMjM2NDc0WTIwMTU4OUQwMSoNCitYMjM1Nzk5WTIwMTY0MkQwMSoNCitYMjM1NzkyWTIwMTY0MkQwMSoNCitZMjIzNjk5RDAxKg0KK0czNyoNCitHMzYqDQorWDIyNTc5MlkyMTM2OTlEMDIqWDIzNTc5MlkyMjM2OTlEMDEqDQorWTIwMTY0MkQwMSoNCitYMjM1MTI0WTIwMTU4OUQwMSoNCitYMjM0NDY2WTIwMTQzMUQwMSoNCitYMjMzODQxWTIwMTE3MkQwMSoNCitYMjMzMjY0WTIwMDgxOUQwMSoNCitYMjMyNzQ5WTIwMDM3OUQwMSoNCitYMjMyMzA5WTE5OTg2NEQwMSoNCitYMjMxOTU2WTE5OTI4N0QwMSoNCitYMjMxNjk3WTE5ODY2MkQwMSoNCitYMjMxNTM5WTE5ODAwNEQwMSoNCitYMjMxNDg2WTE5NzMyOUQwMSoNCitYMjMxNTM5WTE5NjY1NEQwMSoNCitYMjMxNjk3WTE5NTk5NkQwMSoNCitYMjMxOTU2WTE5NTM3MUQwMSoNCitYMjMyMzA5WTE5NDc5NEQwMSoNCitYMjMyNzQ5WTE5NDI3OUQwMSoNCitYMjMzMjY0WTE5MzgzOUQwMSoNCitYMjMzODQxWTE5MzQ4NkQwMSoNCitYMjM0NDY2WTE5MzIyN0QwMSoNCitYMjM1MTI0WTE5MzA2OUQwMSoNCitYMjM1NzkyWTE5MzAxNkQwMSoNCitZMTkyMDIyRDAxKg0KK1gyMzE4ODdEMDEqDQorWDIzMTg0MFkxOTIwMjZEMDEqDQorWDIzMTY1MlkxOTIwMTFEMDEqDQorWDIzMTQ2OFkxOTE5NjdEMDEqDQorWDIzMTI5NFkxOTE4OTVEMDEqDQorWDIzMTEzMlkxOTE3OTZEMDEqDQorWDIzMTEzMlkxOTE3OTZEMDEqDQorWDIzMDk4OVkxOTE2NzNEMDEqDQorWDIzMDk1OFkxOTE2MzdEMDEqDQorWDIyNzkwM1kxODg1ODNEMDEqDQorWDIyNzc1N1kxODg2NzJEMDEqDQorWDIyNzEzMlkxODg5MzFEMDEqDQorWDIyNjQ3NFkxODkwODlEMDEqDQorWDIyNTc5OVkxODkxNDJEMDEqDQorWDIyNTc5MlkxODkxNDJEMDEqDQorWTE5MzAxNkQwMSoNCitYMjI1Nzk5WTE5MzAxNkQwMSoNCitYMjI2NDc0WTE5MzA2OUQwMSoNCitYMjI3MTMyWTE5MzIyN0QwMSoNCitYMjI3NzU3WTE5MzQ4NkQwMSoNCitYMjI4MzM0WTE5MzgzOUQwMSoNCitYMjI4ODQ5WTE5NDI3OUQwMSoNCitYMjI5Mjg5WTE5NDc5NEQwMSoNCitYMjI5NjQyWTE5NTM3MUQwMSoNCitYMjI5OTAxWTE5NTk5NkQwMSoNCitYMjMwMDU5WTE5NjY1NEQwMSoNCitYMjMwMDk5WTE5NzMyOUQwMSoNCitYMjMwMDU5WTE5ODAwNEQwMSoNCitYMjI5OTAxWTE5ODY2MkQwMSoNCitYMjI5NjQyWTE5OTI4N0QwMSoNCitYMjI5Mjg5WTE5OTg2NEQwMSoNCitYMjI4ODQ5WTIwMDM3OUQwMSoNCitYMjI4MzM0WTIwMDgxOUQwMSoNCitYMjI3NzU3WTIwMTE3MkQwMSoNCitYMjI3MTMyWTIwMTQzMUQwMSoNCitYMjI2NDc0WTIwMTU4OUQwMSoNCitYMjI1Nzk5WTIwMTY0MkQwMSoNCitYMjI1NzkyWTIwMTY0MkQwMSoNCitZMjEzNjk5RDAxKg0KK0czNyoNCitHMzYqDQorWDIxODM0OVkyMDY4MDBEMDIqWDIxODM5NlkyMDY3OTZEMDEqDQorWDIxODU4NFkyMDY4MTFEMDEqDQorWDIxODU4NFkyMDY4MTFEMDEqDQorWDIxODc2OFkyMDY4NTVEMDEqDQorWDIxODk0MlkyMDY5MjdEMDEqDQorWDIxOTEwNFkyMDcwMjZEMDEqDQorWDIxOTI0N1kyMDcxNDlEMDEqDQorWDIxOTI3OFkyMDcxODVEMDEqDQorWDIyNTc5MlkyMTM2OTlEMDEqDQorWTIwMTY0MkQwMSoNCitYMjI1MTI0WTIwMTU4OUQwMSoNCitYMjI0NDY2WTIwMTQzMUQwMSoNCitYMjIzODQxWTIwMTE3MkQwMSoNCitYMjIzMjY0WTIwMDgxOUQwMSoNCitYMjIyNzQ5WTIwMDM3OUQwMSoNCitYMjIyMzA5WTE5OTg2NEQwMSoNCitYMjIxOTU2WTE5OTI4N0QwMSoNCitYMjIxNjk3WTE5ODY2MkQwMSoNCitYMjIxNTM5WTE5ODAwNEQwMSoNCitYMjIxNDg2WTE5NzMyOUQwMSoNCitYMjIxNTM5WTE5NjY1NEQwMSoNCitYMjIxNjk3WTE5NTk5NkQwMSoNCitYMjIxOTU2WTE5NTM3MUQwMSoNCitYMjIyMzA5WTE5NDc5NEQwMSoNCitYMjIyNzQ5WTE5NDI3OUQwMSoNCitYMjIzMjY0WTE5MzgzOUQwMSoNCitYMjIzODQxWTE5MzQ4NkQwMSoNCitYMjI0NDY2WTE5MzIyN0QwMSoNCitYMjI1MTI0WTE5MzA2OUQwMSoNCitYMjI1NzkyWTE5MzAxNkQwMSoNCitZMTg5MTQyRDAxKg0KK1gyMjUxMjRZMTg5MDg5RDAxKg0KK1gyMjQ0NjZZMTg4OTMxRDAxKg0KK1gyMjM4NDFZMTg4NjcyRDAxKg0KK1gyMjMyNjRZMTg4MzE5RDAxKg0KK1gyMjI3NDlZMTg3ODc5RDAxKg0KK1gyMjIzMDlZMTg3MzY0RDAxKg0KK1gyMjE5NTZZMTg2Nzg3RDAxKg0KK1gyMjE2OTdZMTg2MTYyRDAxKg0KK1gyMjE1MzlZMTg1NTA0RDAxKg0KK1gyMjE0ODZZMTg0ODI5RDAxKg0KK1gyMjE1MzlZMTg0MTU0RDAxKg0KK1gyMjE2OTdZMTgzNDk2RDAxKg0KK1gyMjE5NTZZMTgyODcxRDAxKg0KK1gyMjIzMDlZMTgyMjk0RDAxKg0KK1gyMjI3NDlZMTgxNzc5RDAxKg0KK1gyMjMyNjRZMTgxMzM5RDAxKg0KK1gyMjM1MjlZMTgxMTc3RDAxKg0KK1gyMjA4NDJEMDEqDQorWDIxOTQ1NFkxODI1NjVEMDEqDQorWDIxOTY0MlkxODI4NzFEMDEqDQorWDIxOTkwMVkxODM0OTZEMDEqDQorWDIyMDA1OVkxODQxNTREMDEqDQorWDIyMDA5OVkxODQ4MjlEMDEqDQorWDIyMDA1OVkxODU1MDREMDEqDQorWDIxOTkwMVkxODYxNjJEMDEqDQorWDIxOTY0MlkxODY3ODdEMDEqDQorWDIxOTI4OVkxODczNjREMDEqDQorWDIxODg0OVkxODc4NzlEMDEqDQorWDIxODMzNFkxODgzMTlEMDEqDQorWDIxNzc1N1kxODg2NzJEMDEqDQorWDIxNzEzMlkxODg5MzFEMDEqDQorWDIxNjQ3NFkxODkwODlEMDEqDQorWDIxNTc5OVkxODkxNDJEMDEqDQorWDIxNTc5MlkxODkxNDJEMDEqDQorWTE5MzAxNkQwMSoNCitYMjE1Nzk5WTE5MzAxNkQwMSoNCitYMjE2NDc0WTE5MzA2OUQwMSoNCitYMjE3MTMyWTE5MzIyN0QwMSoNCitYMjE3NzU3WTE5MzQ4NkQwMSoNCitYMjE4MzM0WTE5MzgzOUQwMSoNCitYMjE4ODQ5WTE5NDI3OUQwMSoNCitYMjE5Mjg5WTE5NDc5NEQwMSoNCitYMjE5NjQyWTE5NTM3MUQwMSoNCitYMjE5OTAxWTE5NTk5NkQwMSoNCitYMjIwMDU5WTE5NjY1NEQwMSoNCitYMjIwMDk5WTE5NzMyOUQwMSoNCitYMjIwMDU5WTE5ODAwNEQwMSoNCitYMjE5OTAxWTE5ODY2MkQwMSoNCitYMjE5NjQyWTE5OTI4N0QwMSoNCitYMjE5Mjg5WTE5OTg2NEQwMSoNCitYMjE4ODQ5WTIwMDM3OUQwMSoNCitYMjE4MzM0WTIwMDgxOUQwMSoNCitYMjE3NzU3WTIwMTE3MkQwMSoNCitYMjE3MTMyWTIwMTQzMUQwMSoNCitYMjE2NDc0WTIwMTU4OUQwMSoNCitYMjE1Nzk5WTIwMTY0MkQwMSoNCitYMjE1NzkyWTIwMTY0MkQwMSoNCitZMjA2ODAwRDAxKg0KK1gyMTgzNDlEMDEqDQorRzM3Kg0KK0czNioNCitYMjE1NzkyWTE4OTE0MkQwMipYMjE1MTI0WTE4OTA4OUQwMSoNCitYMjE0NDY2WTE4ODkzMUQwMSoNCitYMjEzODQxWTE4ODY3MkQwMSoNCitYMjEzMjY0WTE4ODMxOUQwMSoNCitYMjEyNzQ5WTE4Nzg3OUQwMSoNCitYMjEyMzA5WTE4NzM2NEQwMSoNCitYMjExOTU2WTE4Njc4N0QwMSoNCitYMjExNjk3WTE4NjE2MkQwMSoNCitYMjExNTM5WTE4NTUwNEQwMSoNCitYMjExNDg2WTE4NDgyOUQwMSoNCitYMjExNTM5WTE4NDE1NEQwMSoNCitYMjExNjk3WTE4MzQ5NkQwMSoNCitYMjExOTU2WTE4Mjg3MUQwMSoNCitYMjEyMzA5WTE4MjI5NEQwMSoNCitYMjEyNzQ5WTE4MTc3OUQwMSoNCitYMjEzMjY0WTE4MTMzOUQwMSoNCitYMjEzODQxWTE4MDk4NkQwMSoNCitYMjE0NDY2WTE4MDcyN0QwMSoNCitYMjE1MTI0WTE4MDU2OUQwMSoNCitYMjE1NzkyWTE4MDUxNkQwMSoNCitZMTc5MTQyRDAxKg0KK1gyMTUxMjRZMTc5MDg5RDAxKg0KK1gyMTQ0NjZZMTc4OTMxRDAxKg0KK1gyMTM4NDFZMTc4NjcyRDAxKg0KK1gyMTMyNjRZMTc4MzE5RDAxKg0KK1gyMTI3NDlZMTc3ODc5RDAxKg0KK1gyMTIzMDlZMTc3MzY0RDAxKg0KK1gyMTE5NTZZMTc2Nzg3RDAxKg0KK1gyMTE2OTdZMTc2MTYyRDAxKg0KK1gyMTE1MzlZMTc1NTA0RDAxKg0KK1gyMTE0ODZZMTc0ODI5RDAxKg0KK1gyMTE1MzlZMTc0MTU0RDAxKg0KK1gyMTE2OTdZMTczNDk2RDAxKg0KK1gyMTE5NTZZMTcyODcxRDAxKg0KK1gyMTIzMDlZMTcyMjk0RDAxKg0KK1gyMTI3NDlZMTcxNzc5RDAxKg0KK1gyMTMyNjRZMTcxMzM5RDAxKg0KK1gyMTM4NDFZMTcwOTg2RDAxKg0KK1gyMTQ0NjZZMTcwNzI3RDAxKg0KK1gyMTUxMjRZMTcwNTY5RDAxKg0KK1gyMTU3OTJZMTcwNTE2RDAxKg0KK1kxNjk1MDBEMDEqDQorWDIxMTQ0MUQwMSoNCitZMjA2ODAwRDAxKg0KK1gyMTU3OTJEMDEqDQorWTIwMTY0MkQwMSoNCitYMjE1MTI0WTIwMTU4OUQwMSoNCitYMjE0NDY2WTIwMTQzMUQwMSoNCitYMjEzODQxWTIwMTE3MkQwMSoNCitYMjEzMjY0WTIwMDgxOUQwMSoNCitYMjEyNzQ5WTIwMDM3OUQwMSoNCitYMjEyMzA5WTE5OTg2NEQwMSoNCitYMjExOTU2WTE5OTI4N0QwMSoNCitYMjExNjk3WTE5ODY2MkQwMSoNCitYMjExNTM5WTE5ODAwNEQwMSoNCitYMjExNDg2WTE5NzMyOUQwMSoNCitYMjExNTM5WTE5NjY1NEQwMSoNCitYMjExNjk3WTE5NTk5NkQwMSoNCitYMjExOTU2WTE5NTM3MUQwMSoNCitYMjEyMzA5WTE5NDc5NEQwMSoNCitYMjEyNzQ5WTE5NDI3OUQwMSoNCitYMjEzMjY0WTE5MzgzOUQwMSoNCitYMjEzODQxWTE5MzQ4NkQwMSoNCitYMjE0NDY2WTE5MzIyN0QwMSoNCitYMjE1MTI0WTE5MzA2OUQwMSoNCitYMjE1NzkyWTE5MzAxNkQwMSoNCitZMTg5MTQyRDAxKg0KK0czNyoNCitHMzYqDQorWDgwNDQxWTI0ODAwMEQwMipYMTA5OTQxRDAxKg0KK1kyNjY1MDBEMDEqDQorWDEyMTk0MVkyNzg1MDBEMDEqDQorWDE2NTk0MUQwMSoNCitZMjM3MDAwRDAxKg0KK1g4MDQ0MUQwMSoNCitZMjQ4MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDc0OTQxWTIzNTAwMEQwMipYOTA0NDFEMDEqDQorWTIyNTAwMEQwMSoNCitYNzQ5NDFEMDEqDQorWTIzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMDA0NDFEMDIqWDExNTk0MUQwMSoNCitZMjI1MDAwRDAxKg0KK1gxMDA0NDFEMDEqDQorWTIzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTI0NDFEMDIqWDEyNzk0MUQwMSoNCitZMjI1MDAwRDAxKg0KK1gxMTI0NDFEMDEqDQorWTIzNTAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTc0NDFEMDIqWDEzMjk0MVkyMzQ1MDBEMDEqDQorWTIyNTAwMEQwMSoNCitYMTE3NDQxRDAxKg0KK1kyMzUwMDBEMDEqDQorRzM3Kg0KK0czNioNCitZMjMyNTAwRDAyKlgxMzI5NDFEMDEqDQorWTIyMjUwMEQwMSoNCitYMTE3NDQxRDAxKg0KK1kyMzI1MDBEMDEqDQorRzM3Kg0KK0czNioNCitYMTE0OTQxWTIyMzAwMEQwMipYMTMwNDQxRDAxKg0KK1kyMTMwMDBEMDEqDQorWDExNDk0MUQwMSoNCitZMjIzMDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDExNjQ0MVkyMTc1MDBEMDIqWDEzMTk0MUQwMSoNCitZMjA3NTAwRDAxKg0KK1gxMTY0NDFEMDEqDQorWTIxNzUwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMzY1OTJZMjA4MzkzRDAyKlgxNDY0NTVEMDEqDQorWTE4OTk0MEQwMSoNCitYMTM2NTkyRDAxKg0KK1kyMDgzOTNEMDEqDQorRzM3Kg0KK0czNioNCitYMTU5NDQxWTIzMzAwMEQwMipYMTY4NDQxRDAxKg0KK1kyMTkwMDBEMDEqDQorWDE3MTk0MVkyMTU1MDBEMDEqDQorWTE5NTAwMEQwMSoNCitYMTY3NDQxWTE5MDUwMEQwMSoNCitYMTUzNDQxRDAxKg0KK1kyMDE1MDBEMDEqDQorWDE2MDk0MUQwMSoNCitZMjA4NTAwRDAxKg0KK1gxNjI0NDFZMjEwMDAwRDAxKg0KK1kyMTgwMDBEMDEqDQorWDE1OTQ0MVkyMjEwMDBEMDEqDQorWTIzMzAwMEQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTY0NDFZMjI0MDAwRDAyKlgxMzE5NDFEMDEqDQorWTIxNDAwMEQwMSoNCitYMTE2NDQxRDAxKg0KK1kyMjQwMDBEMDEqDQorRzM3Kg0KK0czNioNCitYOTk5NDFEMDIqWDExNTQ0MUQwMSoNCitZMjE0MDAwRDAxKg0KK1g5OTk0MUQwMSoNCitZMjI0MDAwRDAxKg0KK0czNyoNCitHMzYqDQorWDg1Nzg0WTE5NDUwMEQwMipYMTAxNDQxRDAxKg0KK1kxNTU1MDBEMDEqDQorWDg1Nzg0RDAxKg0KK1kxNjk3NDlEMDEqDQorWDg1Nzk5WTE2OTc0OEQwMSoNCitYODczNzZZMTY5ODcyRDAxKg0KK1g4ODkxNFkxNzAyNDFEMDEqDQorWDkwMzc2WTE3MDg0N0QwMSoNCitYOTE3MjRZMTcxNjczRDAxKg0KK1g5MjkyN1kxNzI3MDFEMDEqDQorWDkzOTU1WTE3MzkwNEQwMSoNCitYOTQ3ODFZMTc1MjUyRDAxKg0KK1g5NTM4N1kxNzY3MTREMDEqDQorWDk1NzU2WTE3ODI1MkQwMSoNCitYOTU4NDlZMTc5ODI5RDAxKg0KK1g5NTc1NlkxODE0MDZEMDEqDQorWDk1Mzg3WTE4Mjk0NEQwMSoNCitYOTQ3ODFZMTg0NDA2RDAxKg0KK1g5Mzk1NVkxODU3NTREMDEqDQorWDkyOTI3WTE4Njk1N0QwMSoNCitYOTE3MjRZMTg3OTg1RDAxKg0KK1g5MDM3NlkxODg4MTFEMDEqDQorWDg4OTE0WTE4OTQxN0QwMSoNCitYODczNzZZMTg5Nzg2RDAxKg0KK1g4NTc5OVkxODk5MTBEMDEqDQorWDg1Nzg0WTE4OTkwOUQwMSoNCitZMTk0NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDY5OTQxRDAyKlg4NTc4NEQwMSoNCitZMTg5OTA5RDAxKg0KK1g4NDIyMlkxODk3ODZEMDEqDQorWDgyNjg0WTE4OTQxN0QwMSoNCitYODEyMjJZMTg4ODExRDAxKg0KK1g3OTg3NFkxODc5ODVEMDEqDQorWDc4NjcxWTE4Njk1N0QwMSoNCitYNzc2NDNZMTg1NzU0RDAxKg0KK1g3NjgxN1kxODQ0MDZEMDEqDQorWDc2MjExWTE4Mjk0NEQwMSoNCitYNzU4NDJZMTgxNDA2RDAxKg0KK1g3NTcxOFkxNzk4MjlEMDEqDQorWDc1ODQyWTE3ODI1MkQwMSoNCitYNzYyMTFZMTc2NzE0RDAxKg0KK1g3NjgxN1kxNzUyNTJEMDEqDQorWDc3NjQzWTE3MzkwNEQwMSoNCitYNzg2NzFZMTcyNzAxRDAxKg0KK1g3OTg3NFkxNzE2NzNEMDEqDQorWDgxMjIyWTE3MDg0N0QwMSoNCitYODI2ODRZMTcwMjQxRDAxKg0KK1g4NDIyMlkxNjk4NzJEMDEqDQorWDg1Nzg0WTE2OTc0OUQwMSoNCitZMTU1NTAwRDAxKg0KK1g2OTk0MUQwMSoNCitZMTk0NTAwRDAxKg0KK0czNyoNCitHMzYqDQorWDEwMjk0MVkyMjgwMDJEMDIqWDExMzA0MlkyMjgwMTBEMDEqDQorWDExMzE5NVkyMjgwNDdEMDEqDQorWDExMzM0MFkyMjgxMDdEMDEqDQorWDExMzQ3NVkyMjgxODlEMDEqDQorWDExMzU3MVkyMjgyNzJEMDEqDQorWDExMzY2N1kyMjgxODlEMDEqDQorWDExMzgwMlkyMjgxMDdEMDEqDQorWDExMzk0N1kyMjgwNDdEMDEqDQorWDExNDEwMFkyMjgwMTBEMDEqDQorWDExNDI1N1kyMjgwMDFEMDEqDQorWDEyNTA0MlkyMjgwMTBEMDEqDQorWDEyNTE5NVkyMjgwNDdEMDEqDQorWDEyNTM0MFkyMjgxMDdEMDEqDQorWDEyNTQ3NVkyMjgxODlEMDEqDQorWDEyNTU5NFkyMjgyOTJEMDEqDQorWDEyNTY5N1kyMjg0MTFEMDEqDQorWDEyNTc3OVkyMjg1NDZEMDEqDQorWDEyNTgzOVkyMjg2OTFEMDEqDQorWDEyNTg3NlkyMjg4NDREMDEqDQorWDEyNTg4NVkyMjkwMDFEMDEqDQorWDEyNTg3NlkyMzQyNzZEMDEqDQorWDEyNTgzOVkyMzQ0MjlEMDEqDQorWDEyNTc3OVkyMzQ1NzREMDEqDQorWDEyNTY5N1kyMzQ3MDlEMDEqDQorWDEyNTU5NFkyMzQ4MjhEMDEqDQorWDEyNTQ3NVkyMzQ5MzFEMDEqDQorWDEyNTQ1OFkyMzQ5NDFEMDEqDQorWDEzMjk0MVkyMzUwMDBEMDEqDQorWDEzMjkyMlkyMzM5NTNEMDEqDQorWDEzMjg1MFkyMzM5NzFEMDEqDQorWDEzMjY5M1kyMzM5ODBEMDEqDQorWDEyOTAzMlkyMzM5NzFEMDEqDQorWDEyODg3OVkyMzM5MzREMDEqDQorWDEyODczNFkyMzM4NzREMDEqDQorWDEyODU5OVkyMzM3OTJEMDEqDQorWDEyODQ4MFkyMzM2ODlEMDEqDQorWDEyODM3N1kyMzM1NzBEMDEqDQorWDEyODI5NVkyMzM0MzVEMDEqDQorWDEyODIzNVkyMzMyOTBEMDEqDQorWDEyODE5OFkyMzMxMzdEMDEqDQorWDEyODE4OVkyMzI5ODBEMDEqDQorWDEyODE5OFkyMjMwMjBEMDEqDQorWDEyODIwM1kyMjMwMDBEMDEqDQorWTIxOTk3MkQwMSoNCitYMTI4MTY1WTIxOTkyOEQwMSoNCitYMTI4MDgzWTIxOTc5M0QwMSoNCitYMTI4MDIzWTIxOTY0OEQwMSoNCitYMTI3OTg2WTIxOTQ5NUQwMSoNCitYMTI3OTc3WTIxOTMzOEQwMSoNCitYMTI3OTg2WTIxNTI0NUQwMSoNCitYMTI4MDIzWTIxNTA5MkQwMSoNCitYMTI4MDgzWTIxNDk0N0QwMSoNCitYMTI4MTY1WTIxNDgxMkQwMSoNCitYMTI4MjAzWTIxNDc2OEQwMSoNCitZMjEzOTcyRDAxKg0KK1gxMjgxNjVZMjEzOTI4RDAxKg0KK1gxMjgwODNZMjEzNzkzRDAxKg0KK1gxMjgwMjNZMjEzNjQ4RDAxKg0KK1gxMjc5ODZZMjEzNDk1RDAxKg0KK1gxMjc5NzdZMjEzMzM4RDAxKg0KK1gxMjc5ODZZMjA5MjQ1RDAxKg0KK1gxMjgwMjNZMjA5MDkyRDAxKg0KK1gxMjgwODNZMjA4OTQ3RDAxKg0KK1gxMjgxNjVZMjA4ODEyRDAxKg0KK1gxMjgyNjhZMjA4NjkzRDAxKg0KK1gxMjgzODdZMjA4NTkwRDAxKg0KK1gxMjg1MjJZMjA4NTA4RDAxKg0KK1gxMjg2NjdZMjA4NDQ4RDAxKg0KK1gxMjg4MjBZMjA4NDExRDAxKg0KK1gxMjg5NzdZMjA4NDAyRDAxKg0KK1gxMzIwODZZMjA4NDExRDAxKg0KK1gxMzIyMzlZMjA4NDQ4RDAxKg0KK1gxMzIzODRZMjA4NTA4RDAxKg0KK1gxMzI0NjBZMjA4NTU1RDAxKg0KK1gxMzI0NDFZMjA3NTAwRDAxKg0KK1gxMTY0NDFEMDEqDQorWDEwMjk0MVkxOTQwMDBEMDEqDQorWTIwMjI1MEQwMSoNCitYMTA0NDQxRDAxKg0KK1gxMDQ3OTRZMjAyMjcxRDAxKg0KK1gxMDUxMzhZMjAyMzU0RDAxKg0KK1gxMDU0NjZZMjAyNDg5RDAxKg0KK1gxMDU3NjhZMjAyNjc0RDAxKg0KK1gxMDYwMzdZMjAyOTA0RDAxKg0KK1gxMDYyNjdZMjAzMTczRDAxKg0KK1gxMDY0NTJZMjAzNDc1RDAxKg0KK1gxMDY1ODdZMjAzODAzRDAxKg0KK1gxMDY2NzBZMjA0MTQ3RDAxKg0KK1gxMDY2OThZMjA0NTAwRDAxKg0KK1gxMDY2NzBZMjA0ODUzRDAxKg0KK1gxMDY1ODdZMjA1MTk3RDAxKg0KK1gxMDY0NTJZMjA1NTI1RDAxKg0KK1gxMDYyNjdZMjA1ODI3RDAxKg0KK1gxMDYwMzdZMjA2MDk2RDAxKg0KK1gxMDU3NjhZMjA2MzI2RDAxKg0KK1gxMDU0NjZZMjA2NTExRDAxKg0KK1gxMDUxMzhZMjA2NjQ2RDAxKg0KK1gxMDQ3OTRZMjA2NzI5RDAxKg0KK1gxMDQ0NDFZMjA2NzUwRDAxKg0KK1gxMDI5NDFEMDEqDQorWTIwODk2OUQwMSoNCitYMTA1MDY2WTIwODk3NEQwMSoNCitYMTA1MjE5WTIwOTAxMUQwMSoNCitYMTA1MzY0WTIwOTA3MUQwMSoNCitYMTA1NDk5WTIwOTE1M0QwMSoNCitYMTA1NjE4WTIwOTI1NkQwMSoNCitYMTA1NzIxWTIwOTM3NUQwMSoNCitYMTA1ODAzWTIwOTUxMEQwMSoNCitYMTA1ODYzWTIwOTY1NUQwMSoNCitYMTA1OTAwWTIwOTgwOEQwMSoNCitYMTA1OTA5WTIwOTk2NUQwMSoNCitYMTA1OTAwWTIxMzA3NEQwMSoNCitYMTA1ODYzWTIxMzIyN0QwMSoNCitYMTA1ODAzWTIxMzM3MkQwMSoNCitYMTA1NzIxWTIxMzUwN0QwMSoNCitYMTA1NjE4WTIxMzYyNkQwMSoNCitYMTA1NDk5WTIxMzcyOUQwMSoNCitYMTA1MzY0WTIxMzgxMUQwMSoNCitYMTA1MjE5WTIxMzg3MUQwMSoNCitYMTA1MDY2WTIxMzkwOEQwMSoNCitYMTA0OTA5WTIxMzkxN0QwMSoNCitYMTAyOTQxWTIxMzkxM0QwMSoNCitZMjE0MDg3RDAxKg0KK1gxMDUwNjZZMjE0MDkyRDAxKg0KK1gxMDUyMTlZMjE0MTI5RDAxKg0KK1gxMDUzNjRZMjE0MTg5RDAxKg0KK1gxMDU0OTlZMjE0MjcxRDAxKg0KK1gxMDU2MThZMjE0Mzc0RDAxKg0KK1gxMDU3MjFZMjE0NDkzRDAxKg0KK1gxMDU4MDNZMjE0NjI4RDAxKg0KK1gxMDU4NjNZMjE0NzczRDAxKg0KK1gxMDU5MDBZMjE0OTI2RDAxKg0KK1gxMDU5MDlZMjE1MDgzRDAxKg0KK1gxMDU5MDBZMjE4MTkyRDAxKg0KK1gxMDU4NjNZMjE4MzQ1RDAxKg0KK1gxMDU4MDNZMjE4NDkwRDAxKg0KK1gxMDU3MjFZMjE4NjI1RDAxKg0KK1gxMDU2MThZMjE4NzQ0RDAxKg0KK1gxMDU0OTlZMjE4ODQ3RDAxKg0KK1gxMDUzNjRZMjE4OTI5RDAxKg0KK1gxMDUyMTlZMjE4OTg5RDAxKg0KK1gxMDUwNjZZMjE5MDI2RDAxKg0KK1gxMDQ5MDlZMjE5MDM1RDAxKg0KK1gxMDI5NDFZMjE5MDMxRDAxKg0KK1kyMjgwMDJEMDEqDQorRzM3Kg0KK0czNioNCitZMjA2NzUwRDAyKlg5OTg4NEQwMSoNCitYOTk4ODRZMjA3MTczRDAxKg0KK1g5OTg0N1kyMDczMjZEMDEqDQorWDk5Nzg3WTIwNzQ3MUQwMSoNCitYOTk3MDVZMjA3NjA2RDAxKg0KK1g5OTYwMlkyMDc3MjVEMDEqDQorWDk5NDgzWTIwNzgyOEQwMSoNCitYOTkzNDhZMjA3OTEwRDAxKg0KK1g5OTIwM1kyMDc5NzBEMDEqDQorWDk5MDc4WTIwODAwMEQwMSoNCitYOTkyMDNZMjA4MDMwRDAxKg0KK1g5OTM0OFkyMDgwOTBEMDEqDQorWDk5NDgzWTIwODE3MkQwMSoNCitYOTk2MDJZMjA4Mjc1RDAxKg0KK1g5OTcwNVkyMDgzOTREMDEqDQorWDk5Nzg3WTIwODUyOUQwMSoNCitYOTk4NDdZMjA4Njc0RDAxKg0KK1g5OTg4NFkyMDg4MjdEMDEqDQorWDk5ODkzWTIwODk4NEQwMSoNCitYOTk4OTJZMjA5MjkzRDAxKg0KK1gxMDAyMzJEMDEqDQorWDEwMDI2NFkyMDkyNTZEMDEqDQorWDEwMDM4M1kyMDkxNTNEMDEqDQorWDEwMDUxOFkyMDkwNzFEMDEqDQorWDEwMDY2M1kyMDkwMTFEMDEqDQorWDEwMDgxNlkyMDg5NzREMDEqDQorWDEwMDk3M1kyMDg5NjVEMDEqDQorWDEwMjk0MVkyMDg5NjlEMDEqDQorWTIwNjc1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1g4NTQzNFkyMjUyMzZEMDIqWDg1NDQxWTIyNTIzNUQwMSoNCitYODYxODZZMjI1Mjk0RDAxKg0KK1g4NjkxM1kyMjU0NjlEMDEqDQorWDg3NjA0WTIyNTc1NUQwMSoNCitYODgyNDJZMjI2MTQ1RDAxKg0KK1g4ODgxMFkyMjY2MzFEMDEqDQorWDg5Mjk2WTIyNzE5OUQwMSoNCitYODk2ODZZMjI3ODM3RDAxKg0KK1g4OTk3MlkyMjg1MjhEMDEqDQorWDkwMTQ3WTIyOTI1NUQwMSoNCitYOTAxOTFZMjMwMDAwRDAxKg0KK1g5MDE0N1kyMzA3NDVEMDEqDQorWDg5OTcyWTIzMTQ3MkQwMSoNCitYODk2ODZZMjMyMTYzRDAxKg0KK1g4OTI5NlkyMzI4MDFEMDEqDQorWDg4ODEwWTIzMzM2OUQwMSoNCitYODgyNDJZMjMzODU1RDAxKg0KK1g4NzYwNFkyMzQyNDVEMDEqDQorWDg2OTEzWTIzNDUzMUQwMSoNCitYODY0OTdZMjM0NjMxRDAxKg0KK1gxMDE0ODFZMjM0NzUwRDAxKg0KK1gxMDE0NDVZMjM0NzA5RDAxKg0KK1gxMDEzNjNZMjM0NTc0RDAxKg0KK1gxMDEzMDNZMjM0NDI5RDAxKg0KK1gxMDEyNjZZMjM0Mjc2RDAxKg0KK1gxMDEyNTdZMjM0MTE5RDAxKg0KK1gxMDEyNjZZMjI4ODQ0RDAxKg0KK1gxMDEzMDNZMjI4NjkxRDAxKg0KK1gxMDEzNjNZMjI4NTQ2RDAxKg0KK1gxMDE0NDVZMjI4NDExRDAxKg0KK1gxMDE1NDhZMjI4MjkyRDAxKg0KK1gxMDE2NjdZMjI4MTg5RDAxKg0KK1gxMDE4MDJZMjI4MTA3RDAxKg0KK1gxMDE5NDdZMjI4MDQ3RDAxKg0KK1gxMDIxMDBZMjI4MDEwRDAxKg0KK1gxMDIyNTdZMjI4MDAxRDAxKg0KK1gxMDI5NDFZMjI4MDAyRDAxKg0KK1kyMTkwMzFEMDEqDQorWDEwMDgxNlkyMTkwMjZEMDEqDQorWDEwMDY2M1kyMTg5ODlEMDEqDQorWDEwMDUxOFkyMTg5MjlEMDEqDQorWDEwMDM4M1kyMTg4NDdEMDEqDQorWDEwMDI2NFkyMTg3NDREMDEqDQorWDEwMDE2MVkyMTg2MjVEMDEqDQorWDEwMDA3OVkyMTg0OTBEMDEqDQorWDEwMDAxOVkyMTgzNDVEMDEqDQorWDk5OTgyWTIxODE5MkQwMSoNCitYOTk5NzNZMjE4MDM1RDAxKg0KK1g5OTk4MlkyMTQ5MjZEMDEqDQorWDEwMDAxOVkyMTQ3NzNEMDEqDQorWDEwMDA3OVkyMTQ2MjhEMDEqDQorWDEwMDE2MVkyMTQ0OTNEMDEqDQorWDEwMDI2NFkyMTQzNzREMDEqDQorWDEwMDM4M1kyMTQyNzFEMDEqDQorWDEwMDUxOFkyMTQxODlEMDEqDQorWDEwMDY2M1kyMTQxMjlEMDEqDQorWDEwMDgxNlkyMTQwOTJEMDEqDQorWDEwMDk3M1kyMTQwODNEMDEqDQorWDEwMjk0MVkyMTQwODdEMDEqDQorWTIxMzkxM0QwMSoNCitYMTAwODE2WTIxMzkwOEQwMSoNCitYMTAwNjYzWTIxMzg3MUQwMSoNCitYMTAwNTE4WTIxMzgxMUQwMSoNCitYMTAwNDg5WTIxMzc5M0QwMSoNCitYOTk4ODVEMDEqDQorWDk5ODg0WTIxNDI1OUQwMSoNCitYOTk4NDdZMjE0NDEyRDAxKg0KK1g5OTc4N1kyMTQ1NTdEMDEqDQorWDk5NzA1WTIxNDY5MkQwMSoNCitYOTk2MDJZMjE0ODExRDAxKg0KK1g5OTQ4M1kyMTQ5MTREMDEqDQorWDk5MzQ4WTIxNDk5NkQwMSoNCitYOTkyMDNZMjE1MDU2RDAxKg0KK1g5OTA1MFkyMTUwOTNEMDEqDQorWDk4ODkzWTIxNTEwMkQwMSoNCitYOTI4MzJZMjE1MDkzRDAxKg0KK1g5MjY3OVkyMTUwNTZEMDEqDQorWDkyNTM0WTIxNDk5NkQwMSoNCitYOTIzOTlZMjE0OTE0RDAxKg0KK1g5MjI4MFkyMTQ4MTFEMDEqDQorWDkyMTc3WTIxNDY5MkQwMSoNCitYOTIwOTVZMjE0NTU3RDAxKg0KK1g5MjAzNVkyMTQ0MTJEMDEqDQorWDkxOTk4WTIxNDI1OUQwMSoNCitYOTE5ODlZMjE0MTAyRDAxKg0KK1g5MTk5OFkyMDg4MjdEMDEqDQorWDkyMDM1WTIwODY3NEQwMSoNCitYOTIwOTVZMjA4NTI5RDAxKg0KK1g5MjE3N1kyMDgzOTREMDEqDQorWDkyMjgwWTIwODI3NUQwMSoNCitYOTIzOTlZMjA4MTcyRDAxKg0KK1g5MjUzNFkyMDgwOTBEMDEqDQorWDkyNjc5WTIwODAzMEQwMSoNCitYOTI4MDRZMjA4MDAwRDAxKg0KK1g5MjY3OVkyMDc5NzBEMDEqDQorWDkyNTM0WTIwNzkxMEQwMSoNCitYOTIzOTlZMjA3ODI4RDAxKg0KK1g5MjI4MFkyMDc3MjVEMDEqDQorWDkyMTc3WTIwNzYwNkQwMSoNCitYOTIwOTVZMjA3NDcxRDAxKg0KK1g5MjAzNVkyMDczMjZEMDEqDQorWDkxOTk4WTIwNzE3M0QwMSoNCitYOTE5ODlZMjA3MDE2RDAxKg0KK1g5MTk5OFkyMDE3NDFEMDEqDQorWDkyMDM1WTIwMTU4OEQwMSoNCitYOTIwOTVZMjAxNDQzRDAxKg0KK1g5MjE3N1kyMDEzMDhEMDEqDQorWDkyMjgwWTIwMTE4OUQwMSoNCitYOTIzOTlZMjAxMDg2RDAxKg0KK1g5MjUzNFkyMDEwMDREMDEqDQorWDkyNjc5WTIwMDk0NEQwMSoNCitYOTI4MzJZMjAwOTA3RDAxKg0KK1g5Mjk4OVkyMDA4OThEMDEqDQorWDk5MDUwWTIwMDkwN0QwMSoNCitYOTkyMDNZMjAwOTQ0RDAxKg0KK1g5OTM0OFkyMDEwMDREMDEqDQorWDk5NDgzWTIwMTA4NkQwMSoNCitYOTk2MDJZMjAxMTg5RDAxKg0KK1g5OTcwNVkyMDEzMDhEMDEqDQorWDk5Nzg3WTIwMTQ0M0QwMSoNCitYOTk4NDdZMjAxNTg4RDAxKg0KK1g5OTg4NFkyMDE3NDFEMDEqDQorWDk5ODkzWTIwMTg5OEQwMSoNCitYOTk4OTJZMjAyMjUwRDAxKg0KK1gxMDI5NDFEMDEqDQorWTE5NDAwMEQwMSoNCitYMTAxOTQxWTE5MzAwMEQwMSoNCitZMTkyNTAwRDAxKg0KK1g4NTQzNEQwMSoNCitZMjE1MjM2RDAxKg0KK1g4NTQ0MVkyMTUyMzVEMDEqDQorWDg2MTg2WTIxNTI5NEQwMSoNCitYODY5MTNZMjE1NDY5RDAxKg0KK1g4NzYwNFkyMTU3NTVEMDEqDQorWDg4MjQyWTIxNjE0NUQwMSoNCitYODg4MTBZMjE2NjMxRDAxKg0KK1g4OTI5NlkyMTcxOTlEMDEqDQorWDg5Njg2WTIxNzgzN0QwMSoNCitYODk5NzJZMjE4NTI4RDAxKg0KK1g5MDE0N1kyMTkyNTVEMDEqDQorWDkwMTkxWTIyMDAwMEQwMSoNCitYOTAxNDdZMjIwNzQ1RDAxKg0KK1g4OTk3MlkyMjE0NzJEMDEqDQorWDg5Njg2WTIyMjE2M0QwMSoNCitYODkyOTZZMjIyODAxRDAxKg0KK1g4ODgxMFkyMjMzNjlEMDEqDQorWDg4MjQyWTIyMzg1NUQwMSoNCitYODc2MDRZMjI0MjQ1RDAxKg0KK1g4NjkxM1kyMjQ1MzFEMDEqDQorWDg2MTg2WTIyNDcwNkQwMSoNCitYODU0NDFZMjI0NzY1RDAxKg0KK1g4NTQzNFkyMjQ3NjREMDEqDQorWTIyNTIzNkQwMSoNCitHMzcqDQorRzM2Kg0KK1g2OTk0MVkyMzQ1MDBEMDIqWDg0MzEzWTIzNDYxNEQwMSoNCitYODM5NjlZMjM0NTMxRDAxKg0KK1g4MzI3OFkyMzQyNDVEMDEqDQorWDgyNjQwWTIzMzg1NUQwMSoNCitYODIwNzJZMjMzMzY5RDAxKg0KK1g4MTU4NlkyMzI4MDFEMDEqDQorWDgxMTk2WTIzMjE2M0QwMSoNCitYODA5MTBZMjMxNDcyRDAxKg0KK1g4MDczNVkyMzA3NDVEMDEqDQorWDgwNjc2WTIzMDAwMEQwMSoNCitYODA3MzVZMjI5MjU1RDAxKg0KK1g4MDkxMFkyMjg1MjhEMDEqDQorWDgxMTk2WTIyNzgzN0QwMSoNCitYODE1ODZZMjI3MTk5RDAxKg0KK1g4MjA3MlkyMjY2MzFEMDEqDQorWDgyNjQwWTIyNjE0NUQwMSoNCitYODMyNzhZMjI1NzU1RDAxKg0KK1g4Mzk2OVkyMjU0NjlEMDEqDQorWDg0Njk2WTIyNTI5NEQwMSoNCitYODU0MzRZMjI1MjM2RDAxKg0KK1kyMjQ3NjREMDEqDQorWDg0Njk2WTIyNDcwNkQwMSoNCitYODM5NjlZMjI0NTMxRDAxKg0KK1g4MzI3OFkyMjQyNDVEMDEqDQorWDgyNjQwWTIyMzg1NUQwMSoNCitYODIwNzJZMjIzMzY5RDAxKg0KK1g4MTU4NlkyMjI4MDFEMDEqDQorWDgxMTk2WTIyMjE2M0QwMSoNCitYODA5MTBZMjIxNDcyRDAxKg0KK1g4MDczNVkyMjA3NDVEMDEqDQorWDgwNjc2WTIyMDAwMEQwMSoNCitYODA3MzVZMjE5MjU1RDAxKg0KK1g4MDkxMFkyMTg1MjhEMDEqDQorWDgxMTk2WTIxNzgzN0QwMSoNCitYODE1ODZZMjE3MTk5RDAxKg0KK1g4MjA3MlkyMTY2MzFEMDEqDQorWDgyNjQwWTIxNjE0NUQwMSoNCitYODMyNzhZMjE1NzU1RDAxKg0KK1g4Mzk2OVkyMTU0NjlEMDEqDQorWDg0Njk2WTIxNTI5NEQwMSoNCitYODU0MzRZMjE1MjM2RDAxKg0KK1kxOTI1MDBEMDEqDQorWDY5OTQxRDAxKg0KK1kyMzQ1MDBEMDEqDQorRzM3Kg0KK0c1NEQxODEqWDM3MTIxNVkzNTgyNjJEMDIqWDM3MTE1N0QwMSoNCitYMzg3NjIzRDAyKlgzNzEyODdEMDEqDQorWDM3OTk0MVkzNTUwMDBEMDIqWDM3MDQ0MUQwMSoNCitYMzg0MTYyWTM0NDkxN0QwMipZMzUwNzc5RDAxKg0KK1gzNzkwNDRZMzQwMzExRDAyKlkzMzYwMDBEMDEqDQorWDM4MTYwM1kzNDI2MTREMDIqWTMzODAwMEQwMSoNCitYMzg0MTYyWTM1MDc3OUQwMipYMzc5OTQxWTM1NTAwMEQwMSoNCitYMzg2NzIwWTM1MzcyMUQwMipYMzg1OTQxWTM1NDUwMEQwMSoNCitYMzgxNjAzWTMzODAwMEQwMipYMzkxODM4RDAxKg0KK1gzNzY0ODVZMzQ3MTQ1RDAyKlgzNzI0NDFZMzUxMTg5RDAxKg0KK1gzNzY0ODVZMzQyNjE0RDAyKlkzNDcxNDVEMDEqDQorWDM4OTI3OVkzNDI2MTREMDIqWTM1NTkxM0QwMSoNCitYMzg2NzIwWTM0MjYxNEQwMipZMzUzNzIxRDAxKg0KK1g0NTg0NDFZMzc1MDAwRDAyKlg0NTY2NDFEMDEqDQorWTM3MzIwMEQwMSoNCitYNDQ4NzUwRDAxKg0KK1kzNDkyNTBEMDEqDQorWDQ1ODQ0MVkzNDUwMDBEMDIqWDQ1NjY0MUQwMSoNCitZMzM2MDAwRDAxKg0KK1g0NDg3NTBZMzMwMzAwRDAyKlgzNzY0ODVEMDEqDQorWDQ0ODc1MEQwMipZMzIyNzc1RDAxKg0KK1gzNzY0ODVZMzMwMzAwRDAyKlkzMjUyMTlEMDEqDQorWDQ1NjY0MVkzMzYwMDBEMDIqWDM3OTA0NEQwMSoNCitYNDAyMjUwWTMyMzgzOUQwMipYMzkxODM4RDAxKg0KK1g0NTg0NDFZMzE2ODAwRDAyKlkzMTUwMDBEMDEqDQorWTMxNjgwMEQwMipYNDU4MjUwRDAxKg0KK0QwMyoNCitYNDQ4NzUwRDAxKg0KK1kzMjg3NTBEMDIqWTMxNjgwMEQwMSoNCitYMzkxODM4WTMyMzgzOUQwMipZMzIxNjg5RDAxKg0KK1gzOTQzOTdZMzE5Mzg2RDAyKlkzMTU0MzREMDEqDQorWDM3OTA0NFkzMTkzODZEMDIqWTMyNDAwMEQwMSoNCitYMzc5NDQxWTMxMjAwMEQwMipYMzcwNDQxRDAxKg0KK1gzODE2MDNZMzE0MTYyRDAyKlgzNzk0NDFZMzEyMDAwRDAxKg0KK1gzODEwNDRZMzI2MDAwRDAyKlgzODc0NDFEMDEqDQorWDM3OTA0NFkzMjQwMDBEMDIqWDM4MTA0NFkzMjYwMDBEMDEqDQorWDM4OTI3OVkzMTkzODZEMDIqWTMyNDE2MkQwMSoNCitYMzg3NDQxWTMyNjAwMEQwMipYMzg5Mjc5WTMyNDE2MkQwMSoNCitYMzgxNjAzWTMyMTY4OUQwMipZMzE0MTYyRDAxKg0KK1gzNzY0ODVZMzI4NzUwRDAyKlkzMjE2ODlEMDEqDQorWDQwMjI1MFkzMjM4MzlEMDIqWTMxNzQzNEQwMSoNCitYMzk1ODMxWTMxNDAwMEQwMipYMzk4NDQxRDAxKg0KK0c1NEQxODIqWDM4NzE3MlkzMTIwMDBEMDIqWDM4NjcyMFkzMTI0NTJEMDEqDQorWTMxOTM4NkQwMSoNCitHNTREMTgxKlg0NDg3NTBZMzQ5MjUwRDAyKlgzOTQzOTdEMDEqDQorWDM5MTgzOFkzMzgwMDBEMDIqWTM1MzM5N0QwMSoNCitYMzk0Mzk3WTM0OTI1MEQwMipZMzQ0OTE3RDAxKg0KK1gzOTM0NDFZMzY1OTQxRDAyKlgzOTY0NDFEMDEqDQorWDM5Nzk0MVkzNjc0NDFEMDEqDQorWDM5NzQ0MVkzNzMwMDBEMDIqWDM5NTQ0MUQwMSoNCitYMzkzNDQxWTM3MTAwMEQwMSoNCitYMzg5Mjc5WTM1NjYwNUQwMipYMzg3NjIzWTM1ODI2MkQwMSoNCitYMzg5Mjc5WTM1NjAwNUQwMipZMzU2NjA1RDAxKg0KK1gzOTE4MzhZMzUzMzk3RDAyKlgzOTM0NDFZMzU1MDAwRDAxKg0KK0c1NEQxODIqWTM1ODUwMEQwMSoNCitYMzg1OTQxWTM2NjAwMEQwMipYMzkzNDQxWTM1ODUwMEQwMSoNCitYMzA2NTgxWTI3Mzk0MEQwMipYMzA3NzE2WTI3NTA3NUQwMSoNCitYMzA1MzkwWTI3MDAwM0QwMipYMzA4ODcyWTI2NjUyMkQwMSoNCitYMjk3OTc2WTI3Mzk0MEQwMipYMzA2NTgxRDAxKg0KK1gyOTc5NzZZMjcxOTcxRDAyKlgzMDg5OTJEMDEqDQorWDI5Nzk3NlkyNzAwMDNEMDIqWDMwNTM5MEQwMSoNCitYMjk3OTc2WTI4NzcxOUQwMipYMjk1MTc4RDAxKg0KK1gyOTc5NzZZMjc5ODQ1RDAyKlgyOTYyODZEMDEqDQorWDI5NDQ0MVkyNzgwMDBEMDEqDQorWDI5NTI1OVkyODc3MTlEMDIqWDI5MzkwMlkyODYzNjJEMDEqDQorWTI4MjI2M0QwMSoNCitYMjk0NDgyWTI2ODA5NUQwMipZMjY1NTQzRDAxKg0KK1gyOTc5NzZZMjY2MDY2RDAyKlgzMDEwNDJZMjYzMDAwRDAxKg0KK1gzMTg0NDFEMDEqDQorWDI5NDQ4MlkyNjU1NDNEMDIqWDI5ODgwM1kyNjEyMjJEMDEqDQorWDMxNzc1NUQwMSoNCitYMzEzODY5WTI1NzU3MkQwMipYMjk5NTkyRDAxKg0KK1gyOTQxNjRZMjYzMDAwRDAxKg0KK0c1NEQxODEqWDI5NTQ4OVkyMjYxOTJEMDIqWDMxMjkxN0QwMSoNCitYMjg0MTMwWTIzNzU1MUQwMipYMjk1NDg5WTIyNjE5MkQwMSoNCitYMjk2MTAzWTIyODEyNEQwMipYMzEyNjIwRDAxKg0KK1gyODYwOTlZMjM4MTI4RDAyKlgyOTYxMDNZMjI4MTI0RDAxKg0KK1gyODQxMzBZMjYwMDkzRDAyKlkyMzc1NTFEMDEqDQorWDI4NjA5OVkyNjAwOTNEMDIqWTIzODEyOEQwMSoNCitHNTREMTgyKlgyODAxOTNZMjUxNTQ3RDAyKlkyNTgzOTREMDEqDQorWDI4MjE2MlkyNjAwOTNEMDIqWTI0ODE0OUQwMSoNCitYMjc5MjA2WTI0NTE5M0QwMipZMjMwMjM0RDAxKg0KK1gyOTIwMDRZMjYwMDkzRDAyKlgyOTQ0NDFEMDEqDQorWDI3NDgwMlkyNDYxNTZEMDIqWDI4MDE5M1kyNTE1NDdEMDEqDQorWDI4MjE2MlkyNDgxNDlEMDIqWDI3OTIwNlkyNDUxOTNEMDEqDQorWDI5Njc0OFkyNTIzODhEMDIqWTI1MzY1MEQwMSoNCitZMjQ3MjcwRDAyKlkyNDUwMDBEMDEqDQorWDI5NjY2MlkyNDQ5MTREMDEqDQorWDI5MDQ0MUQwMSoNCitYMjk1OTM3RDAyKlkyNDM2MjhEMDEqDQorWDI5NDM0OFkyNjAwOTNEMDIqWDI5Njc0OFkyNTc2OTNEMDEqDQorWTI1MzY5M0QwMSoNCitYMjkwMDQ4WTI1MjAwMEQwMipZMjU4Mzk0RDAxKg0KK1gyODk0NDFZMjYzMDAwRDAyKlgyODgwNjdZMjYxNjI2RDAxKg0KK1kyNTgzOTREMDEqDQorWDI3OTg5MFkyODI2ODdEMDIqWDI5NDQ4MlkyNjgwOTVEMDEqDQorWDI5NDE2NFkyNjMwMDBEMDIqWDI4OTQ0MUQwMSoNCitYMzE4NDQxRDAyKlgzMzI0NDFZMjQ5MDAwRDAxKg0KK1gzMTc3NTVZMjYxMjIyRDAyKlgzMjc0MDdZMjUxNTcwRDAxKg0KK1kyNDY0MTBEMDEqDQorWDMzMDQ4NlkyNDMzMzFEMDEqDQorWDMxMzg2OVkyNTc1NzJEMDIqWDMyMjQ0MVkyNDkwMDBEMDEqDQorWDI2MjQ3N1kyNjAwOTNEMDIqWTI1MzUzNkQwMSoNCitYMjY0NDQ1WTI2MDA5M0QwMipZMjUxNTA0RDAxKg0KK1gyNjY0MTRZMjYwMDkzRDAyKlgyNjY0NDFZMjQ5NTAwRDAxKg0KK1gyNzQ4MDJZMjQ2MTU2RDAyKlkyMjY0NDFEMDEqDQorWDI1NjgxMFkyMzE2MzFEMDIqWDI2OTk4MlkyNDQ4MDREMDEqDQorWDI2ODM4MlkyNjAwOTNEMDIqWTI0Njk0MUQwMSoNCitYMjc0Mjg4WTI2MDA5M0QwMipZMjU1ODE5RDAxKg0KK1gyNjk5ODJZMjUxNTEzRDAxKg0KK1kyNDQ4MDREMDEqDQorWDI1NzQ0M1kyNzAwMDJEMDIqWDI2MTIxMFkyNjYyMzVEMDEqDQorWDI2Mzc5NUQwMSoNCitYMjY2OTc4WTI2OTQxOEQwMSoNCitYMjg4MDY2WTMwMDczNUQwMipYMjg5NDI4WTI5OTM3MkQwMSoNCitYMjg2MDk4WTMwMDQzMUQwMipYMjg4Nzc0WTI5Nzc1NUQwMSoNCitYMjg4MDY2WTMwNDk2M0QwMipZMzAwNzM1RDAxKg0KK1gyODYwOThZMzA0OTYzRDAyKlkzMDA0NDBEMDEqDQorWTMwMDYxNEQwMipZMzAwNDQwRDAxKg0KK1kzMDA0NzVEMDIqWTMwMDQzMUQwMSoNCitYMjc4MjI0WTMwNDk2M0QwMipZMjk4NTE3RDAxKg0KK1gyNzYyNTVZMzA0OTYzRDAyKlkzMDczMDBEMDEqDQorWDI3NzE3NFkzMDgyMTlEMDEqDQorWDI2NjQxM1kzMDQ5NjNEMDIqWTI5NjU5NEQwMSoNCitYMjY0NDQ0WTMwNDk2M0QwMipZMjk4OTkyRDAxKg0KK1kyOTkxMjVEMDIqWDI2MzI0MFkyOTc5MjFEMDEqDQorWDI2MjQ3NlkzMDQ5NjNEMDIqWDI2MDc0MFkzMDMyMjdEMDEqDQorWTI5MzMyOUQwMSoNCitYMjU4ODQxWTI5MDA5MEQwMipZMzAyMTAwRDAxKg0KK1gyNjA3NDBZMjkzMzI5RDAyKlgyNjIyNDBZMjkxODI5RDAxKg0KK1gyNjI3NDBEMDEqDQorWDI1MzEwNlkyOTU1OTJEMDIqWDI1NDc0MFkyOTcyMjZEMDEqDQorWTI5ODMyOUQwMSoNCitYMjYzMjQwWTI5NzkyMUQwMipZMjk1MzI5RDAxKg0KK1gyNzAzNTFZMjk1OTQzRDAyKlkyOTc5MzNEMDEqDQorWDI3MjMxOVkyOTU1OTREMDIqWTI5NzY3MkQwMSoNCitYMjcwMzUxWTI5NzkzM0QwMipYMjY5NjUzWTI5ODYzMUQwMSoNCitYMjcyMzE5WTI5NzY3MkQwMipYMjczMjI5WTI5ODU4MkQwMSoNCitYMjUzMTA2WTI3MDAwMkQwMipYMjU3MzM0RDAxKg0KK1gyNjE2MDlZMjc5ODQ0RDAyKlgyNjQwMzRZMjgyMjY5RDAxKg0KK1gyNjY5NzhZMjg2NjUzRDAyKlgyNjIyNzhEMDEqDQorWDI1ODg0MVkyOTAwOTBEMDEqDQorWDI3NDI4N1kzMDQ5NjNEMDIqWTMxNzY4OUQwMSoNCitYMjc1ODg3WTMxMjk3MkQwMipZMzE4MzUyRDAxKg0KK1gyODAxOTJZMzA4NjY3RDAyKlgyNzU4ODdZMzEyOTcyRDAxKg0KK1gyNzg5NDFZMzI4OTkyRDAyKlkzMTMwMDBEMDEqDQorWDI4MjE2MVkzMDk3ODBEMDEqDQorWTMwMzI2NEQwMSoNCitYMjc4OTQxWTMyODAwOEQwMipZMzM3NTAwRDAxKg0KK1gyODAxMTlZMzM4Njc4RDAxKg0KK1gyODU0MzBEMDEqDQorWDI3NzQ0OVkzNDI1NTlEMDIqWTM0NzUwMEQwMSoNCitHNTREMTgzKlgyNjA4MzlZMzQyOTkyRDAyKlgyNjAzNDdZMzQyNTAwRDAxKg0KK1gyNjU5NTdZMzQ5OTkyRDAyKlkzNDI1MDBEMDEqDQorWTM0OTk5MkQwMipYMjY2NDQ5WTM0OTUwMEQwMSoNCitYMjcwNDQxRDAxKg0KK1gyNjU5NTdZMzQyNTAwRDAyKlgyNjYwMDBZMzQyNDU3RDAxKg0KK1kzMzU1MDBEMDEqDQorWDI2NTk1N1kzNDIwMDhEMDIqWDI2NjQ0OVkzNDI1MDBEMDEqDQorWDI3MDQ0MUQwMSoNCitYMjY2MDAwWTMzNTk5MkQwMipYMjY2MDA4WTMzNjAwMEQwMSoNCitYMjcwNDQxRDAxKg0KK1gyNjYwMDBZMzU2OTkyRDAyKlkzNDk1MDBEMDEqDQorWTM1Njk5MkQwMipYMjcwNDQxRDAxKg0KK0c1NEQxODIqWDI3MDcwOFkzMjEyNjdEMDIqWDI2NDcwOEQwMSoNCitYMjcxMTE4WTMyMzEyMUQwMipYMjYxMzk0RDAxKg0KK1gyNjA1NjhZMzIyMjk1RDAxKg0KK1gyNjQ3MDhZMzIxMjY3RDAyKlgyNjM0NDFZMzIwMDAwRDAxKg0KK1gyNjA1NjhZMzIyMjk1RDAyKlkzMTY5OTdEMDEqDQorWDI2NTE5NlkzMTc3MzhEMDIqWDI2MDM0OFkzMTI4OTBEMDEqDQorWDI1NzIwOUQwMSoNCitYMjU0NTQ2WTMxNTU1MkQwMSoNCitZMzIzMzQ3RDAxKg0KK1gyNjQzODJZMzEwNDkyRDAyKlgyNjE1MDJZMzA3NjEyRDAxKg0KK1gyNjgzODFZMzA1ODI2RDAyKlgyNjQzODJZMzA5ODI1RDAxKg0KK1kzMTAwMDBEMDEqDQorWDI2MTUwMlkzMDc2MTJEMDIqWTMwNzM2N0QwMSoNCitYMjc0Mjg3WTMxNzY4OUQwMipYMjcwNzI2WTMyMTI0OUQwMSoNCitYMjcyMzE4WTMxNTM4NUQwMipYMjY5OTY1WTMxNzczOEQwMSoNCitYMjY1MTk2RDAxKg0KK1gyNzAzNTBZMzA0OTYzRDAyKlkzMDkxNTBEMDEqDQorWDI2OTUwMFkzMTAwMDBEMDEqDQorWTMxMDQ5MkQwMipYMjY4OTQxWTMxMTA1MUQwMSoNCitZMzE0MDAwRDAxKg0KK1gyNzIzMThZMzA0OTYzRDAyKlkzMTUzODVEMDEqDQorWDI2ODM4MVkzMDQ5NjNEMDIqWTMwNTgyNkQwMSoNCitYMzAzMzY1WTMyNDc3MkQwMipZMzMwMDAwRDAxKg0KK1gyOTY0NTNZMzQwMDA3RDAyKlgzMDI5NDFEMDEqDQorWDMzOTgzN1kzNDE4MjdEMDIqWDM0OTMxNkQwMSoNCitYMzU4MDUwWTM1MDU2MUQwMSoNCitYMzUzMzkwWTMzOTUyMUQwMipYMzYwOTMzWTM0NzA2NEQwMSoNCitZMzUyMzM2RDAxKg0KK1gzNTgwNTBZMzUwNTYxRDAyKlkzNTMyNTFEMDEqDQorWDM2MzA2MVkzNTgyNjJEMDEqDQorWDM2MDkzM1kzNTIzMzZEMDIqWDM2MzU5OFkzNTUwMDBEMDEqDQorWDM3MTE1N1kzNTgyNjJEMDIqWDM2MzA2MUQwMSoNCitYMzcwNDQxWTM1NTAwMEQwMipYMzYzNTk4RDAxKg0KK1gzMDc0NjJZMzAwMTU2RDAyKlgzMTIxNTdEMDEqDQorWDMwNDE3NlkzMDUyMjlEMDIqWDM2OTMxOUQwMSoNCitYMzAzNTU5WTMwNzAwMEQwMipYMzc2NDQxRDAxKg0KK1gzMDI2NzBZMzEyMDAwRDAyKlgzNzA0NDFEMDEqDQorWDI5Nzk3NlkyODM3ODJEMDIqWDMzMzM5OUQwMSoNCitYMjk3OTc2WTI4MTgxNEQwMipYMzMzMTA0RDAxKg0KK1gyOTc5NzZZMjc3ODc3RDAyKlgzMzQ3NzhEMDEqDQorWDI5Nzk3NlkyODU3NTFEMDIqWDMzMzk0MkQwMSoNCitYMjk3OTc2WTI4OTY4OEQwMipYMzMyMzk2RDAxKg0KK1gzMzIyNTFZMjkxNjU2RDAyKlgzMzI3NjFEMDEqDQorWDM3MTYwMlkyNjAyMjhEMDIqWTI0NTM0M0QwMSoNCitYMzc3OTQ0WTIzOTAwMEQwMSoNCitYMzU4NDQxWTI1MjAwMEQwMipZMjM1MDAwRDAxKg0KK1gzNjMyNDFZMjU2NDUyRDAyKlkyNTU1NDZEMDEqDQorWDM2NDg0MVkyNTcyNDNEMDIqWTI1NjQ1N0QwMSoNCitYMzY2NDQxWTI1Nzk3NkQwMipZMjU2ODY5RDAxKg0KK1gzNTg0NDFZMjM1MDAwRDAyKlgzNTY0NDFZMjMzMDAwRDAxKg0KK1gzMTI2MjBZMjI4MTI0RDAyKlgzMzY0NDFEMDEqDQorWDMxMjkxN1kyMjYxOTJEMDIqWDMzNjQ0MUQwMSoNCitZMjI4MTI0RDAyKlgzMzg0NDFZMjMwMTI0RDAxKg0KK1gzMzY0NDFZMjI2MTkyRDAyKlgzMzg0NDFZMjI0MTkyRDAxKg0KK1gzMzA0ODZZMjQzMzMxRDAyKlgzMzY3NzJEMDEqDQorWDM0MjQ0MVkyNDkwMDBEMDEqDQorWDM5ODQ0MVkyOTEwMDBEMDIqWDM4OTI3OVkzMDAxNjJEMDEqDQorWTMyMTY4OUQwMipZMzAwMTYyRDAxKg0KK1gzNjkzMTlZMzA1MjI5RDAyKlg0MDE5ODZZMjcyNTYxRDAxKg0KK1gzODcxODJZMzA0MjgwRDAyKlgzODQ5MDJZMzAyMDAwRDAxKg0KK1gzODE0NDFEMDEqDQorWDM4NzE3MlkzMDQyNzBEMDIqWTMxMjAwMEQwMSoNCitYMzMzMzk5WTI4Mzc4MkQwMipYMzYxNjQxWTI1NTU0MEQwMSoNCitYMzMzMTA0WTI4MTgxNEQwMipYMzYwMDQxWTI1NDg3N0QwMSoNCitYMzM0Nzc4WTI3Nzg3N0QwMipYMzU4NDQxWTI1NDIxNEQwMSoNCitZMjUyMDAwRDAxKg0KK1gzMzM5NDJZMjg1NzUxRDAyKlgzNjMyNDFZMjU2NDUyRDAxKg0KK1gzMzIzOTZZMjg5Njg4RDAyKlgzNjQ4NDFZMjU3MjQzRDAxKg0KK1gzMzI3NjFZMjkxNjU2RDAyKlgzNjY0NDFZMjU3OTc2RDAxKg0KK1gzOTY0NDFZMjM1MDAwRDAyKlgzOTU0NDFEMDEqDQorWDM5MTgzOFkyMzEzOTdEMDEqDQorWDQwMTk4NlkyNDU1MzJEMDIqWDM5MTQ2MVkyMzUwMDdEMDEqDQorWDM4ODIwN1kyNDcyODBEMDIqWTI0Mjk4MUQwMSoNCitYMzkyMTg4WTIzOTAwMEQwMSoNCitYNDAxOTg2WTI3MjU2MUQwMipZMjUzNzY0RDAxKg0KK1kyNTM4NzhEMDIqWTI0NTUzMkQwMSoNCitYMjkxOTkxWTMwNzc3MkQwMipYMjk4NDIwRDAxKg0KK1gyOTU5MzFZMjk5MzcyRDAyKlgyOTc5NzFZMzAxNDExRDAxKg0KK1gyOTY3MDJZMjk3NzU1RDAyKlgzMDQxNzZZMzA1MjI5RDAxKg0KK1gyOTIwMDNZMzA0OTYzRDAyKlgyOTY3NzlEMDEqDQorWDI5NzkzOFkzMDEzNzhEMDIqWDMwMzU1OVkzMDcwMDBEMDEqDQorWDI4OTQyOFkyOTkzNzJEMDIqWDI5NTkzMUQwMSoNCitYMjg4Nzc0WTI5Nzc1NUQwMipYMjk2NzAyRDAxKg0KK1gyOTc5NzZZMjk1NTkzRDAyKlgzMDI2ODlEMDEqDQorWDMwNDIzMFkyOTkyODhEMDIqWDMwNTA5OFkzMDAxNTZEMDEqDQorWDMwMzM2NVkzMTk2NTREMDIqWDI5ODc4NkQwMSoNCitYMjk2NDUzWTMxNzMyMUQwMSoNCitYMjk0OTQxWTMxMDUwMEQwMipYMjk2NDUzWTMxMjAxMkQwMSoNCitZMzE3MzIxRDAxKg0KK1gyOTg0NDFZMzA3NzcyRDAyKlgzMDI2NzBZMzEyMDAwRDAxKg0KK1gzMDUwOThZMzAwMTU2RDAyKlgzMDc5NTREMDEqDQorWDI5Nzk3NlkyOTE2NTZEMDIqWDMzMjU1N0QwMSoNCitYMzAyNjg5WTI5NTU5M0QwMipYMzA0MjMwWTI5NzEzNEQwMSoNCitZMjk5Mjg4RDAxKg0KK1gzMDUzNTdZMjk1MDM4RDAyKlgzMDM5NDRZMjkzNjI1RDAxKg0KK1gyOTk2NzVEMDEqDQorWDMwNTM1N1kyOTUwMzhEMDIqWDMxMjEyMkQwMSoNCitYMjkwMDM1WTMwNTgxNUQwMipYMjkxOTkxWTMwNzc3MkQwMSoNCitYMjkwMDM1WTMwNDk2M0QwMipZMzA1ODE1RDAxKg0KK1gyODQxMjlZMzA0OTYzRDAyKlkzMDkxODhEMDEqDQorWDI4NTQ0MVkzMTA1MDBEMDEqDQorWDI5NDk0MUQwMSoNCitYMjg1NDMwWTMxODY1MEQwMipZMzI1MDAwRDAxKg0KK1gyNzU4ODdZMzE4MzUyRDAyKlgyNzExMThZMzIzMTIxRDAxKg0KK1gyODAxOTJZMzA4NjY3RDAyKlkzMDAzMDlEMDEqDQorWDI4MTY5MlkyOTg4MDlEMDEqDQorWTI5MzgzNkQwMSoNCitYMjc1ODc2WTI4ODAyMEQwMSoNCitYMjk0NDQxWTI3ODAwMEQwMipYMjg4NDQxRDAxKg0KK1gyODE0NDFZMjg1MDAwRDAxKg0KK1gyNzk0NDFEMDEqDQorWDI3NTg3NlkyODgwMjBEMDIqWTI4NDYzN0QwMSoNCitYMjc3ODI2WTI4MjY4N0QwMSoNCitYMjc5ODkwRDAxKg0KK1gyNjQwMzRZMjgyMjY5RDAyKlkyODI5MzFEMDEqDQorWDI2Njk3OFkyNjk0MThEMDIqWTI4NjY1M0QwMSoNCitHNTREMTgxKlgzODc0MjVZMTg2MzY5RDAyKlgzODU3MzBZMTg0NjczRDAxKg0KK0c1NEQxODIqWDM3OTgzM1kxODgwODZEMDIqWDM4MzI0NlkxODQ2NzNEMDEqDQorWDM4NTczMEQwMSoNCitHNTREMTgxKlgzODc0NDFZMTg5OTYyRDAyKlkxODYzNjlEMDEqDQorWDM4NzQ3OVkxOTAwMDBEMDIqWDM4NzQ0MVkxODk5NjJEMDEqDQorWDM4NjcyMFkxOTA3NTlEMDIqWDM4NzQ3OVkxOTAwMDBEMDEqDQorWDM4NjcyMFkyMDM2ODlEMDIqWTE5MDc1OUQwMSoNCitYMzc4NDQxWTE5NTAwMEQwMipYMzc2NDQxRDAxKg0KK1gzODE2MDNZMTk4MTYyRDAyKlgzNzg0NDFZMTk1MDAwRDAxKg0KK1gzODE2MDNZMjAzNjg5RDAyKlkxOTgxNjJEMDEqDQorRzU0RDE4MipYMzc5ODMzWTE5MjYxMEQwMipZMTg4MDg2RDAxKg0KK0c1NEQxODEqWDM4NDE2MlkyMDEzODZEMDIqWTE4ODAwMEQwMSoNCitHNTREMTgyKlgzNjY0NDFZMjAzMDc4RDAyKlgzNzQ1MTlZMTk1MDAwRDAxKg0KK1gzNjQ4NDFZMjAyMDkyRDAyKlgzNzQzMjNZMTkyNjEwRDAxKg0KK1gzNjMyNDFZMjAxNDI5RDAyKlgzNzc0NDFZMTg3MjI5RDAxKg0KK1gzNjE2NDFZMjAwNzAwRDAyKlgzNjkxMjdZMTkzMjE0RDAxKg0KK0c1NEQxODMqWDM1MzI4MlkxMTE1MDBEMDIqWDM3MTk0MUQwMSoNCitHNTREMTgyKlgzNzQ1MTlZMTk1MDAwRDAyKlgzNzY1MTBEMDEqDQorWDM3NDMyM1kxOTI2MTBEMDIqWDM3OTgzM0QwMSoNCitHNTREMTgxKlgzODc0NDFZMTg2MzY5RDAyKlgzODc0MjVEMDEqDQorWDM4NzQ0MUQwMyoNCitYMzkxODEwWTE4NjAwMEQwMipYMzk0ODEwWTE4MzAwMEQwMSoNCitYMzg5Mjc5WTE4NDE2MkQwMipYMzg5NDQxWTE4NDAwMEQwMSoNCitYMzg5Mjc5WTE4NzE2MkQwMipZMTg0MTYyRDAxKg0KK0c1NEQxODIqWDM4OTQ0MVkxODQwMDBEMDIqWDM5ODQ0MVkxNzUwMDBEMDEqDQorRzU0RDE4MSpYMzk5ODgyWTE4ODQ0MUQwMipYMzk1NDQxRDAxKg0KK1g0MDA0NDFZMTg5MDAwRDAyKlgzOTk4ODJZMTg4NDQxRDAxKg0KK1g0MDAwMDBZMTkzNTU5RDAyKlgzOTU0NDFEMDEqDQorRzU0RDE4MipYMzc3NDQxWTE4NzIyOUQwMipZMTY4MTE4RDAxKg0KK1kxNjYzOTVEMDIqWDM4NjE1MVkxNTc2ODVEMDEqDQorWDM3NzQ0MVkxNjYzOTVEMDIqWTE2ODAwMEQwMSoNCitYMzY5MTI3WTE3MTMxNEQwMyoNCitZMTY5Mzg4RDAyKlkxOTMyMTREMDEqDQorWTE2OTM4OEQwMipYMzc2MzM3WTE2MjE3OEQwMSoNCitYMzc3MzQ3RDAxKg0KK0c1NEQxODEqWDQwMDQ0MVkxOTQwMDBEMDIqWDQwMDAwMFkxOTM1NTlEMDEqDQorWDM5MTgzOFkxOTkwODNEMDIqWTE5NTUzNUQwMSoNCitYNDU4MjUwWTE5NjgwMEQwMipYNDEyMjUwRDAxKg0KK1gzOTQzOTdZMjI5MjUwRDAyKlkyMjY5MTdEMDEqDQorWDQ1NjY0MVkyMjUwMDBEMDIqWTIxODAwMEQwMSoNCitYNDU4NDQxWTE5NjgwMEQwMipZMTk1MDAwRDAxKg0KK1kxOTY4MDBEMDIqWDQ1ODI1MEQwMSoNCitEMDMqDQorWDQ1NjY0MVkyMTgwMDBEMDIqWDM3OTA0NEQwMSoNCitZMjA2MDAwRDAyKlgzODkyNzlEMDEqDQorWDM3OTA0NFkyMDEzODZEMDIqWTIwNjAwMEQwMSoNCitYMzg5Mjc5WTIwMTM4NkQwMipZMjA2MDAwRDAxKg0KK1gzOTE4MzhZMjI0NjE0RDAyKlkyMjAwMDBEMDEqDQorWDM5MTgxMFkxOTU1NzVEMDIqWTE4NjAwMEQwMSoNCitYMzkxODM4WTE5NTYwM0QwMipYMzkxODEwWTE5NTU3NUQwMSoNCitYMzg5Mjc5WTIwMzY4OUQwMipZMTg3MDk2RDAxKg0KK1g0MTIyNTBZMjA0MzAwRDAyKlkxOTY4MDBEMDEqDQorWTIxMTMwMEQwMipZMTk3MzAwRDAxKg0KK1kyMTEzMDBEMDIqWDM4OTExN0QwMSoNCitYMzkxOTczWTE5NzMwOUQwMipYMzkxODM4RDAxKg0KK1gzOTQ0NDFZMjAwMDAwRDAyKlg0MDA0NDFZMTk0MDAwRDAxKg0KK1g0MDE3NTBZMjExMzAwRDAyKlgzNzY0ODVEMDEqDQorWTIwMzY4OUQwMSoNCitZMjA4MDAwRDAyKlkyMDM2ODlEMDEqDQorWDQ0NTQ0MVkxNjkxMDlEMDIqWDQ0ODc1MFkxNjU4MDBEMDEqDQorWDQ0NTQ0MVkxODEwMDBEMDIqWTE2OTEwOUQwMSoNCitYNDQzNDQxWTE4MzAwMEQwMipYNDQ1NDQxWTE4MTAwMEQwMSoNCitYNDU4NDQxWTE2NTgwMEQwMipZMTY0MDAwRDAxKg0KK1kxNjU4MDBEMDIqWDQ1ODI1MEQwMSoNCitEMDMqDQorWDQ0ODc1MEQwMSoNCitYMzk0ODEwWTE4MzAwMEQwMipYNDQzNDQxRDAxKg0KK0c1NEQxODIqWDM5ODQ0MVkxNzUwMDBEMDIqWTE3MzAwMEQwMSoNCitHNTREMTgzKlg0NDA5NDFZMTIzMDAwRDAyKlgzOTg0NDFZMTY1NTAwRDAxKg0KK1kxNzMwMDBEMDEqDQorRzU0RDE4MSpYNDMyMDAwWTcyMTE4RDAyKlg0MzQ4ODJZNzUwMDBEMDEqDQorWDQzMjAwMFk3MDAwMEQwMipZNzIxMThEMDEqDQorWDQyNjg4Mlk3MTU1OUQwMipYNDIzNDQxWTc1MDAwRDAxKg0KK1g0MjY4ODJZNzAwMDBEMDIqWTcxNTU5RDAxKg0KK0c1NEQxODMqWDM1NjgyM1k3MTk5MkQwMipYMzU2OTQxWTcyMTEwRDAxKg0KK1gzNzY5NDFZNzMwMDBEMDIqWDM3NzQ4NFk3MjQ1N0QwMSoNCitYMzYxOTQxWTcxOTkyRDAyKlk4MTU3OUQwMSoNCitYMzc0NTQ5WTU4NTAwRDAyKlgzODI3ODBZNTg1MDFEMDEqDQorWDM4MjQ0MFk2MTk5OUQwMipZNTg1MDFEMDEqDQorWDM2Njk0MVk4NDcyOEQwMipYMzY2ODgyWTg0NjY5RDAxKg0KK1gzNzE5NDFZODQ3MjhEMDIqWDM3MjAwMFk4NDY2OUQwMSoNCitYMzY2ODgyRDAyKlk3MTk5OUQwMSoNCitYMzcyMDAwWTg0NjY5RDAyKlk2NzYwMkQwMSoNCitYMzcwMzk4WTY2MDAwRDAxKg0KK1gzNzc0ODRZNzI0NTdEMDIqWTY2MDAwRDAxKg0KK1gzODE5NDFZODQ3MjhEMDIqWTczMDAwRDAxKg0KK1gzNzAzOThZNjYzOTNEMDIqWDM2OTQ0MVk2NTQzNkQwMSoNCitYMzY2ODgyWTcxNTA3RDAyKlgzNjU0NjdZNzAwOTJEMDEqDQorWTY4NjgzRDAxKg0KK1gzNjIyODRZNjU1MDBEMDEqDQorWDM2OTQ0MVk2NTQzNkQwMipZNTQ1MDBEMDEqDQorWDM3MjUyOFk1MTQxM0QwMSoNCitYMzc0NTQ4RDAxKg0KK1k1ODQ5OUQwMipYMzc0NTQ5WTU4NTAwRDAxKg0KK1gzNzE5NDFZMTE4MTkzRDAyKlk4MTU3OUQwMSoNCitYMzk3NTQ4WTk4MDQyRDAyKlkxMDI4OTJEMDEqDQorWDM5NDk0MVkxMDU0OTlEMDEqDQorWDM4NzQ0MUQwMSoNCitYMzk3NTQ4WTkwOTU2RDAyKlgzOTc5NDFZOTA1NjNEMDEqDQorWTg0NDk5RDAxKg0KK1gzODM0NDFZNjMwMDBEMDIqWDM4MjQ0MFk2MTk5OUQwMSoNCitYMzg2OTQxWTg0NzI4RDAyKlk3NDQ5OUQwMSoNCitYMzc2OTQxWTg0NzI4RDAyKlk3Mjk5OUQwMSoNCitYMzkwNDQxWTcwOTk5RDAyKlgzOTA1MjdZNjY1MDBEMDEqDQorWTY2ODkzRDAyKlgzOTA0ODRZNjEwODdEMDEqDQorWDM4Nzg5OFk1ODUwMUQwMSoNCitYMzg3OTQxWTUzNTAwRDAxKg0KK1gzOTc0NDlZNzkzODFEMDIqWDM5MjU2N1k3NDQ5OUQwMSoNCitYMzkxOTQxRDAxKg0KK1gzODY5NDFEMDIqWDM5MDQ0MVk3MDk5OUQwMSoNCitYMzgxOTQxWTczMDAwRDAyKlgzODQzOThZNzA1NDNEMDEqDQorWTY2NTAwRDAxKg0KK1k2Njg5M0QwMipYMzgzNDQxWTY1OTM2RDAxKg0KK1k2MzAwMEQwMSoNCitYMzc0NTQ4WTUxNDEzRDAyKlgzNzk5NjFZNDYwMDBEMDEqDQorWDM4MTUzNkQwMSoNCitHNTREMTgxKlgzODE0NDFZMzAyMDAwRDAyKlgzNzY0NDFZMzA3MDAwRDAxKg0KK1g0NTg0NDFZMjU0MDAwRDAyKlg0NTY2NDFEMDEqDQorWTI1MjIwMEQwMSoNCitYNDQ4NzUwRDAxKg0KK1kyMjkyNTBEMDEqDQorWDQ1ODQ0MVkyMjUwMDBEMDIqWDQ1NjY0MUQwMSoNCitYMzc5MDQ0WTIyMjMxMUQwMipZMjE4MDAwRDAxKg0KK1gzODY3MjBZMjI0NjE0RDAyKlkyMzQ2NTBEMDEqDQorWDM4MTYwM1kyMjAwMDBEMDIqWDM5MTgzOEQwMSoNCitYMzgxNjAzWTIyNDYxNEQwMipZMjIwMDAwRDAxKg0KK0c1NEQxODIqWDM5MTgzOFkyMzEzOTdEMDIqWTIyNDYxNEQwMSoNCitHNTREMTgxKlg0NDg3NTBZMjI5MjUwRDAyKlgzOTQzOTdEMDEqDQorWDM5NzQ5N1kyNDcwNTZEMDIqWDM5MzEzNUQwMSoNCitYMzk4NDQxWTI0ODAwMEQwMipYMzk3NDk3WTI0NzA1NkQwMSoNCitYMzk3NjE1WTI1MjE3NEQwMipYMzk4NDQxWTI1MzAwMEQwMSoNCitYMzkzMTM1WTI1MjE3NEQwMipYMzk3NjE1RDAxKg0KK1g0NTg0NDFZMjg2ODAwRDAyKlkyODUwMDBEMDEqDQorWTI4NjgwMEQwMipYNDU4MjUwRDAxKg0KK0QwMyoNCitYNDMyMjUwRDAxKg0KK1kzMTc0MzREMDIqWTI4NjgwMEQwMSoNCitZMzE3NDM0RDAyKlg0MDIyNTBEMDEqDQorWDM5NDM5N1kzMTU0MzREMDIqWDM5NTgzMVkzMTQwMDBEMDEqDQorWDM4NDE2MlkzMTkzODZEMDIqWTMwNjAwMEQwMSoNCitYMzkyOTQ5WTMxMTExOEQwMipYMzk1ODMxWTMxNDAwMEQwMSoNCitYMzk1NDQxWTMwNjAwMEQwMipYMzk4NDQxWTMwOTAwMEQwMSoNCitYMzkyOTQ5WTMwNjAwMEQwMipYMzk1NDQxRDAxKg0KK1gzODkyNzlZMjMyODI1RDAyKlgzOTE0NDFZMjM0OTg3RDAxKg0KK1gzODkyNzlZMjI2OTE3RDAyKlkyMzI4MjVEMDEqDQorWDM4NDE2MlkyMzI3ODJEMDIqWDM3Nzk0NFkyMzkwMDBEMDEqDQorWDM4NDE2MlkyMjY5MTdEMDIqWTIzMjc4MkQwMSoNCitYMzg2NzIwWTIzNDY1MEQwMipYMzg3MDcwWTIzNTAwMEQwMSoNCitYMzc2NDg1WTIzMzk1NkQwMipYMzc1NDQxWTIzNTAwMEQwMSoNCitYMzc2NDg1WTIyNDYxNEQwMipZMjMzOTU2RDAxKg0KK0c1NEQxODIqWDM2NjQ0MVkyNTc3NzJEMDIqWTIwMzA3OEQwMSoNCitYMzY0ODQxWTI1Njg2NUQwMipZMjAyMDkyRDAxKg0KK1gzNjMyNDFZMjU2MjAyRDAyKlkyMDE0MjlEMDEqDQorWDM2MDA0MVkyNTQ4NzdEMDIqWTIxMDAwMEQwMSoNCitYMzYxNjQxWTI1NTU0MEQwMipZMjAwNzY3RDAxKg0KK1gzNTg5NDFZMjA4NTAwRDAyKlgzNjAwNDFZMjA5NjAwRDAxKg0KK1kyMjk5MDBEMDEqDQorRzU0RDE4MSpYMjM4MTkyWTI4Mzc4MUQwMipYMjI3MjQwWTI3MjgyOUQwMSoNCitHNTREMTgyKlgyMzc3NTZZMjg1NzUwRDAyKlgyMjU1MjhZMjczNTIyRDAxKg0KK1gyMzczNThZMjg3NzE4RDAyKlgyMjM4ODRZMjc0MjQ0RDAxKg0KK0c1NEQxODEqWDIzMjM1MFkyNzM5MzlEMDIqWDIyOTI0MFkyNzA4MjlEMDEqDQorRzU0RDE4MipYMjI4MTI4WTI4OTY4N0QwMipYMjIwNzU0RDAxKg0KK1gyMDM0NDFZMjkzMDAwRDAyKlgyMDQ0NDFZMjkyMDAwRDAxKg0KK0c1NEQxODEqWDI1MjEwNlkyNjA4MjlEMDIqWDI0ODc5OUQwMSoNCitYMjUzMTA2WTI2MTgyOUQwMipYMjUyMTA2WTI2MDgyOUQwMSoNCitYMjUzMTA2WTI2NjA2NUQwMipZMjYxODI5RDAxKg0KK0c1NEQxODIqWTI3MTk3MEQwMipYMjU5NTUyRDAxKg0KK1gyNTMxMDZZMjY4MDMzRDAyKlgyNDk2MDBEMDEqDQorWDI0OTM5NlkyNjc4MjlEMDEqDQorWDI3MDM1MVkyNjAwOTNEMDIqWTI5NjAyNEQwMSoNCitYMjcyMzE5WTI2MDA5M0QwMipZMjk1NTk0RDAxKg0KK1gyNzgyMjVZMjYwMDkzRDAyKlkyNzk2MDJEMDEqDQorWDI1OTU1MlkyNzE5NzBEMDIqWDI2Mjc1MFkyNjg3NzJEMDEqDQorWDI2MDUwMVkyNzk4NDREMDIqWDI2MTYwOUQwMSoNCitYMjUwODM0WTI5MTY1NUQwMipYMjU0ODA1RDAxKg0KK1gyNDcxODlZMjc3ODc2RDAyKlgyNDU1NTdZMjc5NTA4RDAxKg0KK1gyNTMxMDZZMjc3ODc2RDAyKlgyNDcxODlEMDEqDQorWDI1MzEwNlkyNzU5MDdEMDIqWDI0NTE2NkQwMSoNCitYMjQ1MjA3RDAyKlgyNDI1NTBZMjc4NTY0RDAxKg0KK1gyNDAzOTFEMDEqDQorRzU0RDE4MSpYMjUzMTA2WTI4Mzc4MUQwMipYMjM4MTkyRDAxKg0KK0c1NEQxODIqWDI1MzEwNlkyODU3NTBEMDIqWDIzNzc1NkQwMSoNCitYMjUzMTA2WTI4NzcxOEQwMipYMjM3MzU4RDAxKg0KK0c1NEQxODEqWDI1MzEwNlkyNzM5MzlEMDIqWDIzMjM1MEQwMSoNCitHNTREMTgyKlgyNTMxMDZZMjg5Njg3RDAyKlgyMjgwOTFEMDEqDQorWDI1MzEwNlkyNzk4NDREMDIqWDI2MDY0MUQwMSoNCitYMjUzMTA2WTI4MTgxM0QwMipYMjU3OTA1RDAxKg0KK1gyNjAzNDFZMjg0MjQ5RDAxKg0KK1gyNDkzOTZZMjY3ODI5RDAyKlgyNDYyNDBEMDEqDQorWDI1MzEwNlkyOTM2MjREMDIqWDI1MjI3NEQwMSoNCitYMjUwNzI0WTI5NTE3NEQwMSoNCitZMjk3MDY1RDAxKg0KK1gyNDk5MzlZMjk3ODUwRDAxKg0KK1gyNDY4MjdEMDEqDQorWDI0OTc1N1kyOTI3MzJEMDIqWDI1MDgzNFkyOTE2NTVEMDEqDQorWDI0OTc1N1kyOTI3MzJEMDIqWDI0MzI2N0QwMSoNCitYMjQyNDU2WTI5MzU0M0QwMSoNCitYMjQ2MzM1WTI5Nzg1MEQwMipYMjQzMTE4RDAxKg0KK1gyNDIxNjhZMjk4ODAwRDAxKg0KK1gyMzkxNTRZMjY4MjIyRDAyKlkyNjUzNTZEMDEqDQorWDI0MzY4MVkyNjA4MjlEMDEqDQorWDI0MDc4OFkyNjM3MjFEMDIqWDIzOTMwMlkyNjIyMzVEMDEqDQorWDIyMzg4NFkyNzQyNDREMDIqWTI1NjAwMEQwMSoNCitYMjI1NTI4WTI3MzUyMkQwMipZMjUzMDg3RDAxKg0KK1gyMjcyNDBZMjcyODI5RDAyKlkyNTA3OTlEMDEqDQorWDIyOTI0MFkyNzA4MjlEMDIqWTI0ODIwMUQwMSoNCitYMjIzODg0WTI1NjAwMEQwMipYMjIxODg0WTI1NDAwMEQwMSoNCitYMjI1NTI4WTI1MzA4N0QwMipYMjI0NDQxWTI1MjAwMEQwMSoNCitYMjI3MjQwWTI1MDc5OUQwMipYMjI1NDQxWTI0OTAwMEQwMSoNCitYMjI5MjQwWTI0ODIwMUQwMipYMjMwNDQxWTI0NzAwMEQwMSoNCitYMjM3NDQxWTIyNzA0NUQwMipYMjE4Mzk2WTIwODAwMEQwMSoNCitYMTg5NDQxRDAxKg0KK1gxNzI2MTFZMTkxMTcwRDAxKg0KK1gyMjA3MjlZMjY1NTgwRDAyKlgyMTgyNDZZMjY4MDYzRDAxKg0KK1gyMTk0NDFZMjcyNTAwRDAyKlgyMjIyNjJZMjc1MzIxRDAxKg0KK1gyMTgzMDlZMjY4MDAwRDAyKlgyMTY5NDFZMjY5MzY4RDAxKg0KK1kyNzQ1MDBEMDEqDQorWDI2MjQ3N1kyNTM1MzZEMDIqWDI0Njk0MVkyMzgwMDBEMDEqDQorWDI2NDQ0NVkyNTE1MDREMDIqWDI0MjQ0MVkyMjk1MDBEMDEqDQorWDI2NjQ0MVkyNDk1MDBEMDIqWDI0NjQ0MVkyMjk1MDBEMDEqDQorWDI2ODM4MlkyNDY5NDFEMDIqWDI1MDk0MVkyMjk1MDBEMDEqDQorWDI1MjIyM1kyMjcwNDVEMDIqWDI1Njc3OFkyMzE2MDBEMDEqDQorWDIzOTE4M1kxOTA4MjJEMDIqWDI3NDgwMlkyMjY0NDFEMDEqDQorWDIzNzM1OVkyMjcwNDVEMDIqWDI1MjIyM0QwMSoNCitHNTREMTgzKlgyNzUyOTFZMjIwOTUyRDAyKlgyNDU4NjNZMTkxNTI0RDAxKg0KK0c1NEQxODIqWDI3OTIwNlkyMTcwNTJEMDIqWDI1MDkxNFkxODg3NjBEMDEqDQorWDI3OTIwNlkyMzAyNjVEMDIqWTIxNzA1MkQwMSoNCitHNTREMTgzKlgxMzA5NDFZMjMxMjI4RDAyKlgxMzA0NTNZMjMwNzQwRDAxKg0KK1gxMzU5NDFZMjMxMjI4RDAyKlgxMzU1NzFZMjMwODU4RDAxKg0KK1gxNDA5NDFZMjMxMjI4RDAyKlgxNDEwMTJZMjMxMTU3RDAxKg0KK1gxNDU5NDFZMjMxMjI4RDAyKlgxNDYxMzBZMjMxMDM5RDAxKg0KK1gxNDA5NDFZMjMxMjI4RDAyKlgxNDA4ODJZMjMxMTY5RDAxKg0KK1gxNDU5NDFZMjMxMjI4RDAyKlgxNDYwMDBZMjMxMTY5RDAxKg0KK1gxMzA0NTNZMjMwNzQwRDAyKlkyMTEzNzBEMDEqDQorWDEzNTU3MVkyMzA4NThEMDIqWTIxNzM3MEQwMSoNCitZMjExODYyRDAyKlgxMzY3NzdEMDEqDQorWDEzOTEwN1kyMTQxOTFEMDEqDQorWTIxNjcyNUQwMSoNCitYMTQwODgyWTIzMTE2OUQwMipZMjE4NTAwRDAxKg0KK1gxMzkxMDdZMjE2NzI1RDAyKlgxNDA4ODJZMjE4NTAwRDAxKg0KK1gxNDYxMzBZMjY0NTA0RDAyKlkyMjYwMDBEMDEqDQorWDE0NjAwMFkyMzExNjlEMDIqWTIxNDYwMkQwMSoNCitYMTQzODk4WTIxMjUwMEQwMSoNCitZMjA1NTAwRDAxKg0KK1kyMDU4OTNEMDIqWDE0NTAzNlkyMDQ3NTVEMDEqDQorWTE5NjAwMEQwMSoNCitYMTQ1OTQxWTI2NDY5M0QwMipYMTQ2MTMwWTI2NDUwNEQwMSoNCitHNTREMTg0Klg5OTMxMVkyNDMzNzBEMDIqWDEwNzU3MUQwMSoNCitHNTREMTgzKlgxMDI0NDlZMjExNDQxRDAyKlgxMDIzNDdZMjExNTQzRDAxKg0KK1g5NTk0MUQwMSoNCitYMTUwOTQxWTIzMTIyOEQwMipYMTUwOTg0WTIzMTE4NUQwMSoNCitZMjEyNTAwRDAxKg0KK1gxNjA5NDFZMjMxMjI4RDAyKlkyMjA1MDBEMDEqDQorWDE1NTk0MVkyMzEyMjhEMDIqWTIyMDMyOEQwMSoNCitYMTcwOTQ5WTIzMTg4MkQwMipYMTcwMDY3WTIzMTAwMEQwMSoNCitYMTY1OTQxRDAxKg0KK1gxNzA5NDlZMjM3MDAwRDAyKlgxNzA0NDFZMjM3NTA4RDAxKg0KK1kyNDE0NTdEMDEqDQorWDE3MDA0OFkyNDg1NDNEMDIqWDE3MDAwNVkyNDg1MDBEMDEqDQorWDE2MjQ0MUQwMSoNCitYMTY0NTcxWTIxMjM3MEQwMipYMTYzNTcxWTIxMTM3MEQwMSoNCitYMTYzMDcxWTIwNTM3MEQwMSoNCitZMjA0ODc4RDAyKlgxNjMwMDBZMjA0ODA3RDAxKg0KK1gxNjA5NDFZMjIwNTAwRDAyKlgxNjQ1NzFZMjE2ODcwRDAxKg0KK1kyMTIzNzBEMDEqDQorWDE1NTk0MVkyMjAzMjhEMDIqWDE1NzQ4NVkyMTg3ODREMDEqDQorWTIxMjM3MEQwMSoNCitYMTU3Mzk4WTIxMjI4M0QwMSoNCitZMjA1NTAwRDAxKg0KK1gxNTA5ODREMDEqDQorWDE2NzI5OVkyOTg4MjlEMDIqWDE5Nzc5OUQwMSoNCitYMTk3MzA3WTMyMzg4OEQwMipYMTg3Nzk5RDAxKg0KK0c1NEQxODIqWDE3OTQ0MVkzMzg1MDBEMDIqWDE1OTc3MFkzMTg4MjlEMDEqDQorWDE4MDk0MVkzMzY1MDBEMDIqWDE1ODI3MFkzMTM4MjlEMDEqDQorWDE3ODg4N1kzNDI4MThEMDIqWDE2MjE1NUQwMSoNCitYMTg0Nzk5WTMyODgyOUQwMipYMTk5MTEyRDAxKg0KK1gyMDU5NDFZMjk1NTAwRDAyKlkzMjUxNDdEMDEqDQorWDE5NzI1OVkzMzM4MjlEMDEqDQorWDE5OTExMlkzMjg4MjlEMDIqWDIwMzQ0MVkzMjQ1MDBEMDEqDQorWDE5NzI1OVkzMzM4MjlEMDIqWDE4Nzc5OUQwMSoNCitYMTk3NDQxWTMzNjUwMEQwMipYMTgwOTQxRDAxKg0KK1gxOTg0NDFZMzM4NTAwRDAyKlgxNzk0NDFEMDEqDQorWDE5MTM2M1kzNDQ0NDlEMDIqWDE3OTg1MVkzNTU5NjJEMDEqDQorWDE3Mzg1MEQwMSoNCitHNTREMTgzKlgxNjg3MzJEMDIqWTM1MDgzM0QwMSoNCitHNTREMTgyKlgyMjIyNjJZMjc1MzIxRDAyKlkyODA1MzJEMDEqDQorWDIxNjk0MVkyNzQ1MDBEMDIqWDIxOTk0MVkyNzc1MDBEMDEqDQorWTI4MTUwMEQwMSoNCitYMjAzNTE5WTI5MjkyMkQwMipYMjE3NDQxWTI3OTAwMEQwMSoNCitYMjE5OTQxWTI4MTUwMEQwMipYMjA1OTQxWTI5NTUwMEQwMSoNCitYMjIyMjYyWTI4MDUwMEQwMipZMjgzMTc5RDAxKg0KK1gyMDg0NDFZMjk3MDAwRDAxKg0KK1gyMjA3NTRZMjg5Njg3RDAyKlgyMTA5NDFZMjk5NTAwRDAxKg0KK1gyMDg0NDFZMjk3MDAwRDAyKlkzMjU1MDBEMDEqDQorWDIxMDk0MVkyOTk1MDBEMDIqWTMyNjAwMEQwMSoNCitYMjAzNDQxWTMyNDUwMEQwMipZMjkzMDAwRDAxKg0KK1gyMDg0NDFZMzI1NTAwRDAyKlgxOTc0NDFZMzM2NTAwRDAxKg0KK1gyMTA5NDFZMzI2MDAwRDAyKlgxOTg0NDFZMzM4NTAwRDAxKg0KK1gyNDUzMTJZMzQ5ODkzRDAyKlgyMzA0NDFZMzM1MDIyRDAxKg0KK1gyNDUzMTJZMzQyODkzRDAyKlgyNDA0NDFZMzM4MDIyRDAxKg0KK1gyMzA0NDFZMzM1MDIyRDAyKlkyOTMwMDBEMDEqDQorWDI0MDQ0MVkzMDkzMjFEMDIqWDI0NjczMVkzMDMwMzFEMDEqDQorRzU0RDE4MypYMjUyODM0WTMzNTUwMEQwMipYMjYwODgyRDAxKg0KK1gyNjAzNDdZMzQyNTAwRDAyKlgyNTIzOThEMDEqDQorWTM0OTg5M0QwMipYMjUyNzkxWTM0OTUwMEQwMSoNCitYMjYwODM5RDAxKg0KK0c1NEQxODIqWDIyOTgxOFkzNTQ5ODhEMDIqWDIzMTMzMVkzNTY1MDBEMDEqDQorWDI0NTM1NUQwMSoNCitHNTREMTgzKlgyNTI0NDFZMzU2ODkzRDAyKlgyNTI4MzRZMzU2NTAwRDAxKg0KK1gyNjA4ODJEMDEqDQorRzU0RDE4MipYMjQwNDQxWTMzODAyMkQwMipZMzA5MzIxRDAxKg0KK1gyNTg4NDFZMzAyMTAwRDAyKlgyNDUzNTVZMzE1NTg2RDAxKg0KK1kzMzU1MDBEMDEqDQorRzU0RDE4MypYMjUyNDQxWTMzNTg5M0QwMipYMjUyODM0WTMzNTUwMEQwMSoNCitHNTREMTgyKlgyNTQ1NDZZMzIzMzQ3RDAyKlgyNDkxMDFZMzI4NzkzRDAxKg0KK0c1NEQxODMqWDE0MDk0OVkzMjg5NDFEMDIqWDE0MTA2MVkzMjg4MjlEMDEqDQorWDE0MDk0OVkzMjM1NTlEMDIqWDE0MTIxOVkzMjM4MjlEMDEqDQorWDE0MDk0OVkzMTg0NDFEMDIqWTMxNDQ5MkQwMSoNCitYMTQxNzk5WTMxMzY0MkQwMSoNCitZMzA4ODg4RDAxKg0KK1gxNDEwNjFZMzI4ODI5RDAyKlgxNTE3OTlEMDEqDQorWDE0ODc5OUQwMipYMTU4NDQxRDAxKg0KK1gxNTE3OTlEMDIqWTMyMzgyOUQwMSoNCitYMTU4NDQxWTMyODgyOUQwMipZMzI0NTAwRDAxKg0KK1gxNDg3OTlZMzIzODI5RDAyKlgxNTg0NDFEMDEqDQorWTMyNzAwMEQwMSoNCitYMTQxMjE5WTMyMzgyOUQwMipYMTUxNzk5RDAxKg0KK0c1NEQxODIqWDE1OTc3MFkzMTg4MjlEMDIqWDE1MTc5OUQwMSoNCitYMTU4MjcwWTMxMzgyOUQwMipYMTUxNzk5RDAxKg0KK0c1NEQxODMqWDE0MTMwN1kzMDg4ODhEMDIqWDEyNjc5OUQwMSoNCitYMTQxMzA3WTMwMzc3MEQwMipZMzAwODgzRDAxKg0KK1gxNDg3OTlZMzA4ODI5RDAyKlgxNDE3OTlZMzA4ODg4RDAxKg0KK1gxNDg3OTlZMzAzODI5RDAyKlgxNDg3NDBZMzAzNzcwRDAxKg0KK1gxNDE3OTlEMDEqDQorWDE0ODc5OVkyOTg4MjlEMDIqWDE0ODU5OVkyOTg2MjlEMDEqDQorWTI5MjIyOUQwMSoNCitYMTQ4Mjk5RDAyKlgxNDU4OTlZMjg5ODI5RDAxKg0KK1gxMjY3OTlEMDEqDQorWDE2NzI5OVkyOTg4MjlEMDIqWDE1Njc5OVkyODgzMjlEMDEqDQorWDEyNDgzMVkzMDk1MTREMDIqWTMwMjM4NUQwMSoNCitYMTQ4Nzk5WTMzMzgyOUQwMipYMTQxNDQxRDAxKg0KK0c1NEQxODIqWDE0NTI0OVkzNTk3MjREMDIqWDEzOTEzMkQwMSoNCitYMTM1NzQwWTM2MzExN0QwMSoNCitZMzY0OTMyRDAxKg0KK1gxNTExMTVZMzU5NTAwRDAyKlgxNDU4MDNZMzY0ODExRDAxKg0KK1gxNjIxNTVZMzQyODE4RDAyKlgxNDUyNDlZMzU5NzI0RDAxKg0KK1gxNTExMTVZMzU5NTAwRDAyKlgxNzI1NzFEMDEqDQorWDE3Mzg1MFkzNTgyMjFEMDEqDQorWTM1NTk2MkQwMSoNCitHNTREMTgzKlgxMjA2NjZZMTQyMzQwRDAyKlgxMTk2NjZZMTQxMzQwRDAxKg0KK1gxMzE4ODJZMTMyMTU2RDAyKlkxNDgwMDBEMDEqDQorWDEzMTM5MEQwMipYMTI3OTQxRDAxKg0KK1gxMzE4ODJZMTMyMTU2RDAyKlgxMjcwNjZZMTI3MzQwRDAxKg0KK1gxMjM5MTZEMDEqDQorWDEzNzAwMFkxNDg0OTJEMDIqWTEzMDk0MUQwMSoNCitZMTMwNTU5RDAyKlgxNDAyMTlZMTI3MzQwRDAxKg0KK1gxNDE0NDFEMDEqDQorWDEzNzAwMFkxNDg0OTJEMDIqWDEzNzQ5MlkxNDgwMDBEMDEqDQorWDEzMTg4MlkxNDg0OTJEMDIqWDEzMTM5MFkxNDgwMDBEMDEqDQorWDE0MTE2NlkxMTIzNDBEMDIqWDE1NTIyMkQwMSoNCitYMTU1MzgyWTExMjUwMEQwMSoNCitYMTUwNTQyWTExNzM0MEQwMSoNCitYMTQ0NDE2RDAxKg0KK0c1NEQxODIqWDE1MjQ0MVkxMjE1MDBEMDIqWDE1MTYwMVkxMjIzNDBEMDEqDQorWDE0NDQxNkQwMSoNCitHNTREMTgzKlgxNTk5NDlZMTE4OTQxRDAyKlgxNjA1MDBZMTE4MzkwRDAxKg0KK1kxMTI1MDBEMDEqDQorWDE2NjE2NlkxMTI1NjhEMDIqWDE2NjA5N1kxMTI1MDBEMDEqDQorWDE2MDUwMEQwMSoNCitYMTgzOTQ5WTExODk0MUQwMipYMTg0NDQxWTExODQ0OUQwMSoNCitHNTREMTgyKlgxNzg5NDFZMTIwNTAwRDAyKlgxODA1MDBZMTE4OTQxRDAxKg0KK1gxODQzODJEMDEqDQorRzU0RDE4MypYMTg0NDQxWTExODQ0OUQwMipZMTEzMDU5RDAxKg0KK0c1NEQxODIqWDE2Nzg4MlkxMTg5NDFEMDIqWDE2NjM4MkQwMSoNCitYMTcyNjkxWTE5MTI1MEQwMipYMTcwOTQxWTE4OTUwMEQwMSoNCitZMTgzMDAwRDAxKg0KK1gxNjc5NDFZMTgwMDAwRDAxKg0KK1gxNDk0NDFEMDEqDQorWDE0NTcxN1kxODM3MjREMDEqDQorWTE4NDgxNUQwMSoNCitHNTREMTgzKlgxMzc0OTJZMTQ4MDAwRDAyKlgxNDE0NDFEMDEqDQorRzU0RDE4MipYMTY1MjQxWTE1MDgwMEQwMipYMTg5MjE1RDAxKg0KK1gxMTEwNDFZMTUzMDAwRDAyKlgxODg0NDFEMDEqDQorWDE2NTQ0MVkxNTA4MDBEMDIqWDE2MzI0MUQwMSoNCitYMTYwNDQxWTE0ODAwMEQwMSoNCitYMTYwNTM0WTE0ODQ5N0QwMipYMTYwNTAwWTE0ODQ2NEQwMSoNCitZMTQxNTU5RDAxKg0KK1gxNjA5MzNZMTM2MDU5RDAyKlgxNjEyMTFZMTM2MzM3RDAxKg0KK1gxNjU5NzVEMDEqDQorRzU0RDE4MypYMTY1NDgzWTEzMTIxOUQwMipZMTI5MDQyRDAxKg0KK1gxNTU0MTZZMTQ4NDk3RDAyKlgxNTA0NDREMDEqDQorRzU0RDE4MipYMTc1MjU2WTE0OTA2OEQwMipYMTcxNDQxWTE0NTI1M0QwMSoNCitHNTREMTgzKlgxNTA0NDRZMTQ4NDk3RDAyKlgxNDk5NDFZMTQ5MDAwRDAxKg0KK1gxODQ0OTFZMTMwOTUzRDAyKlgxODQ1MDNZMTMwOTQxRDAxKg0KK0c1NEQxODIqWDE4MzQ0MVkxNDA1MDBEMDIqWDE4MDQ0MUQwMSoNCitYMTc4OTQxWTEzOTAwMEQwMSoNCitHNTREMTgzKlgxNTk5NDlZMTMwOTQxRDAyKlgxNjA0NDFZMTMwNDQ5RDAxKg0KK0c1NEQxODIqWDE1MTk0MVkxMzIwMDBEMDIqWDE1MTYwMVkxMzIzNDBEMDEqDQorWDE0NDQxNkQwMSoNCitHNTREMTgzKlgxNjA0NDFZMTMwNDQ5RDAyKlkxMjQwNTlEMDEqDQorWDE2Mzk0MVkxMjc1MDBEMDIqWDE2NjQ0MVkxMjUwMDBEMDEqDQorWTEyNDA1OUQwMSoNCitYMTU5OTQ5WTExODk0MUQwMipYMTY2NDQxRDAxKg0KK1gxNjA0NDFZMTI3NTAwRDAyKlgxNjM5NDFEMDEqDQorWDE0MTE2NlkxMjczNDBEMDIqWDE2MDI4MUQwMSoNCitYMTYwNDQxWTEyNzUwMEQwMSoNCitYMTY1NDgzWTEyOTA0MkQwMipYMTYzOTQxWTEyNzUwMEQwMSoNCitYMTQxMTY2WTE0MjM0MEQwMipYMTU0MTc3RDAxKg0KK1gxNTU0MzhZMTQxMDc5RDAxKg0KK1gxNDExNjZZMTM3MzQwRDAyKlgxNTEyMjJEMDEqDQorWDE1NTM4MlkxNDE1MDBEMDEqDQorWDE2MDUwMFkxNDE5OTJEMDIqWTEzNjA1OUQwMSoNCitHNTREMTgyKlgxNzE0NDFZMTQ1MjUzRDAyKlkxMjI1MDBEMDEqDQorWDE3ODk0MVkxMzkwMDBEMDIqWTEyMDUwMEQwMSoNCitYMTcxNDQxWTEyMjUwMEQwMipYMTY3ODgyWTExODk0MUQwMSoNCitHNTREMTgzKlgxOTk4NzRZMTM3NTAwRDAyKlgxOTU0NDFZMTQxOTMzRDAxKg0KK0c1NEQxODIqWDE5NTk0MVkxMzI1MDBEMDIqWDIwNTY5MUQwMSoNCitHNTREMTgzKlgyMTM4ODJZMTMyNDQxRDAyKlkxNDg1MDBEMDEqDQorWDIxOTAwMFkxMzE0NDFEMDIqWTE0ODUwMEQwMSoNCitYMjEzODgyWTE0ODk5MkQwMipYMjEyODkwWTE0ODAwMEQwMSoNCitYMjE5MDAwWTE0ODAwOEQwMipYMjE5MDA4WTE0ODAwMEQwMSoNCitYMjIzOTQxRDAxKg0KK1gxOTU1MDBZMTQxOTkyRDAyKlgxOTYwMDhZMTQyNTAwRDAxKg0KK1gyMDU2OTFEMDEqDQorWDIwMjQ0MVkxMzc1MDBEMDIqWDE5OTg3NEQwMSoNCitHNTREMTgyKlgxOTAzODJZMTQxMDA4RDAyKlkxNDQ5NDFEMDEqDQorWDE5NzQ0MVkxNTIwMDBEMDEqDQorWDE5NzAwMFkxNTE1NTlEMDEqDQorWTE0ODM0NkQwMSoNCitYMTg5ODc4WTE0OTIwMEQwMipYMTk2MzEwWTE1NTYzMkQwMSoNCitYMTg5MjE1WTE1MDgwMEQwMipYMTk1Njc4WTE1NzI2M0QwMSoNCitYMTg4NDQxWTE1MzAwMEQwMipYMTk0OTQxWTE1OTUwMEQwMSoNCitYMTg3NDQxWTE1NTAwMEQwMipYMTkzOTQxWTE2MTUwMEQwMSoNCitHNTREMTgzKlgyMDIxMThZMTQ4ODM4RDAyKlgyMDI5NTVZMTQ4MDAwRDAxKg0KK0c1NEQxODIqWDE5NzQ0MVkxNTIwMDBEMDIqWDI0NTE0MUQwMSoNCitHNTREMTgzKlgyMTI4OTBZMTQ4MDAwRDAyKlgyMDI5NTVEMDEqDQorWDIzNTk1NVkxNDgyNDZEMDIqWDIzNTcwOVkxNDgwMDBEMDEqDQorWDIzMTQ0MUQwMSoNCitYMjQxMDczWTE0ODI0NkQwMipYMjQxMDU5WTE0ODIzMkQwMSoNCitHNTREMTgyKlgyNDY5NDFZMTU0MDAwRDAyKlgxOTY5NDFEMDEqDQorWDE5NjMxMFkxNTU2MzJEMDIqWDI0ODU3MkQwMSoNCitYMTk1Njc4WTE1NzI2M0QwMipYMjUwNzA0RDAxKg0KK1gyNTA2NzhEMDIqWDI1MDcwNEQwMSoNCitYMTk0OTQxWTE1OTUwMEQwMipYMjUxOTQxRDAxKg0KK1gxOTM5NDFZMTYxNTAwRDAyKlgyNTM0NDFEMDEqDQorRzU0RDE4MypYMjIyOTQxWTE0MjUwMEQwMipYMjM1MTc4RDAxKg0KK1gyMzYxNzhZMTQxNTAwRDAxKg0KK1gyMzI4ODJZMTM3NTAwRDAyKlgyMzYzODJZMTQxMDAwRDAxKg0KK1gyMzYxNzhZMTQxNTAwRDAyKlgyMzYzODJEMDEqDQorWTE0MTAwMEQwMipZMTQxNTAwRDAxKg0KK1gyNDEwNTlZMTQ4MjMyRDAyKlkxNDE1MDBEMDEqDQorWDI0MTUwMFkxNDE5OTJEMDIqWTEzNjk0MUQwMSoNCitYMjQyNDQxWTEzNjAwMEQwMSoNCitYMjQxNDQ5WTEzNjA1OUQwMipYMjQxNjU3WTEzNjI2N0QwMSoNCitYMjQ4MDA4RDAxKg0KK0c1NEQxODIqWDI0OTY3NEQwMipYMjQ3OTQxRDAxKg0KK0c1NEQxODMqWDIyMjk0MVkxMzc1MDBEMDIqWDIzMjg4MkQwMSoNCitHNTREMTgyKlgyMzU5NDFZMTMzMDAwRDAyKlgyMzU0NDFZMTMyNTAwRDAxKg0KK1gyMjYxOTFEMDEqDQorRzU0RDE4MypYMjE5MDAwWTEzMTQ0MUQwMipYMjIyOTQxWTEyNzUwMEQwMSoNCitYMjI2MTkxRDAxKg0KK0c1NEQxODIqWDI0NTE0MVkxNTIwMDBEMDIqWDI1ODMwOFkxMzg4MzNEMDEqDQorWDI0ODU3MlkxNTU2MzJEMDIqWDI2ODM4MlkxMzU4MjJEMDEqDQorWDI1MDcwNFkxNTcyNjNEMDIqWDI2OTU3M1kxMzgzOTREMDEqDQorWDI0Njk0MVkxNTQwMDBEMDIqWDI2NjQ0MVkxMzQ1MDBEMDEqDQorWDIzNzM4N1kxNzk5NzdEMDIqWDIyMDM0NUQwMSoNCitYMjE1NzA5WTE4NDYxM0QwMSoNCitZMTg0NzUyRDAxKg0KK1gyMjU4MjRZMTg0ODA2RDAyKlgyMzE4NDBZMTkwODIyRDAxKg0KK1gyMzkxODNEMDEqDQorWDI1MDkxNFkxODg3NjBEMDIqWTE4MjMwOUQwMSoNCitYMjQ4NTgxWTE3OTk3N0QwMSoNCitYMjMzNTY3RDAxKg0KK1gyNTE5NDFZMTU5NTAwRDAyKlgyNjU2MTlZMTQ1ODIyRDAxKg0KK1gyNTM0NDFZMTYxNTAwRDAyKlgyNjY0NDFZMTQ4NTAwRDAxKg0KK1gyNDY5OTJZMTA4MDAwRDAyKlgyNzk5NDFEMDEqDQorWDI4MDk0MVkxMDkwMDBEMDEqDQorWDI3ODYxOVkxMTU4MjJEMDIqWDI3NDY4OEQwMSoNCitYMjcxNDM4WTExMDgyMkQwMipYMjY2MTE5RDAxKg0KK1gyODAyMjFZMTE4MjE4RDAyKlgyODA5MDlZMTE4OTA2RDAxKg0KK1gyNjcyMjJZMTE4MjE5RDAyKlgyODAyMjJEMDEqDQorWDI4MDk0MVkxMDkwMDBEMDIqWTExMzUwMEQwMSoNCitYMjc4NjE5WTExNTgyMkQwMSoNCitYMjY2MTE5WTExMDgyMkQwMipYMjU1OTQxWTEyMTAwMEQwMSoNCitYMjQyMDAwWTExMjk5MkQwMipYMjQ2OTkyWTEwODAwMEQwMSoNCitHNTREMTgzKlgyNDE0NDlZMTMwOTQxRDAyKlgyNDE5NDFZMTMwNDQ5RDAxKg0KK1kxMjQwNTlEMDEqDQorWTEyNzUwMEQwMipYMjQ1NDQxRDAxKg0KK1gyNDE0NDlZMTE4OTQxRDAyKlgyNDg0NDFEMDEqDQorRzU0RDE4MipYMjQ1MDAwWTEzNTk0MUQwMipYMjQyMDAwRDAxKg0KK0c1NEQxODMqWDI0Nzk0OVkxMjQwNTlEMDIqWDI0Nzg5MFkxMjQwMDBEMDEqDQorWDI0MTk0MUQwMSoNCitYMjQ3NTE2WTEzMTE0OUQwMipYMjQ3MzA4WTEzMDk0MUQwMSoNCitYMjQxOTQxRDAxKg0KK0c1NEQxODIqWDI4MDkwOVkxMTg5MDZEMDIqWTEyMzAzNEQwMSoNCitZMTIzMDAwRDAyKlgyNzgwODhZMTI1ODIyRDAxKg0KK1gyNzQ2ODhEMDEqDQorWDI2ODM4MlkxMzU4MjJEMDIqWDI3NDY4OEQwMSoNCitYMjY5NTczWTEzODM5NEQwMipYMjc5MDYzRDAxKg0KK1gyNzk5NzJZMTMwODIyRDAyKlgyNzQ2ODhEMDEqDQorWDI3OTk3MkQwMipYMjgyNDQxWTEzMzI5MUQwMSoNCitYMjU4MjkxWTEzODg1MEQwMipYMjYzOTQxWTEzMzIwMEQwMSoNCitYMjY2NDQxWTEzNDUwMEQwMipZMTIzNTAwRDAxKg0KK1gyNjM5NDFZMTMzMjAwRDAyKlkxMjE1MDBEMDEqDQorWDI2NzIyMlkxMTgyMTlEMDEqDQorWDI2NjQ0MVkxMjM1MDBEMDIqWDI2OTExOVkxMjA4MjJEMDEqDQorWDI3NDY4OEQwMSoNCitYMjU1OTQxWTEyMTAwMEQwMipZMTMwMDAwRDAxKg0KK1gyNDk2NzRZMTM2MjY3RDAxKg0KK0c1NEQxODMqWDMwNTY5NlkxMTU5NDBEMDIqWDMxMDk0MUQwMSoNCitHNTREMTgyKlgzMDMwMzhZMTE5MjIyRDAyKlgzMDU0NTFEMDEqDQorWDMwNDcwMFkxMjA4MjJEMDIqWDMwNDkyN0QwMSoNCitYMzA1MDgzWTExOTIyMkQwMipYMzA1NTkwRDAxKg0KK0c1NEQxODMqWDI5MTkzOFkxMTA4MjJEMDIqWDMwNjE4OEQwMSoNCitYMzA1Njk2RDAyKlkxMDc1MDBEMDEqDQorRzU0RDE4MipYMjkxOTM4WTEyNTgyMkQwMipYMzA3NTI1RDAxKg0KK1gyOTE5MzhZMTIwODIyRDAyKlgzMDQ3ODhEMDEqDQorWDI5MTkzOFkxMTU4MjJEMDIqWDI5OTYzOEQwMSoNCitYMzAzMDM4WTExOTIyMkQwMSoNCitYMzEyMjg5WTIxMDU4M0QwMipYMzA0NzA2RDAxKg0KK1gzMTA0MjFZMjA0MzgzRDAyKlgzMDUyODBEMDEqDQorWDI5MTkzOFkxMzA4MjJEMDIqWDMwOTc2M0QwMSoNCitHNTREMTgzKlgzMDQyNjNZMTM1ODIyRDAyKlgzMDQ5NDFZMTM2NTAwRDAxKg0KK1gzMDQ0NzJZMTQxNTY4RDAyKlgzMDM3MjZZMTQwODIyRDAxKg0KK1gzMDQ0NzJZMTQxNTY4RDAyKlgzMDk0NDFEMDEqDQorWDMwMDcwOVkxNDU4MjJEMDIqWDMwNDk2NFkxNDE1NjhEMDEqDQorWDMwNDQ3MlkxMzY0NTBEMDIqWDMwOTQ0MUQwMSoNCitHNTREMTgyKlgzMDc1MjVZMTI1ODIyRDAyKlgzMjk0MTdZMTQ3NzEzRDAxKg0KK1gzMjg2MDFZMTQ2ODk4RDAyKlgzMzI2NjFZMTUwOTU4RDAxKg0KK1gzMDU1OTBZMTE5MjIyRDAyKlgzMzU5MjdZMTQ5NTU4RDAxKg0KK1gzMzc0NDFZMTUxMDcyRDAxKg0KK1gzMDQ5MjdZMTIwODIyRDAyKlgzMzQzMDhZMTUwMjAyRDAxKg0KK1gzMDk3NjNZMTMwODIyRDAyKlgzMjA4MDRZMTQxODYzRDAxKg0KK0c1NEQxODMqWDM0MDE4Nlk5ODQwNEQwMipYMzI5OTQxRDAxKg0KK1gzNDAxODZEMDIqWDM1MzI4MlkxMTE1MDBEMDEqDQorWDI5MTkzOFkxMzU4MjJEMDIqWDMwNDI2M0QwMSoNCitYMzAzNzI2WTE0MDgyMkQwMipYMjk1MTg4RDAxKg0KK1gyOTE5MzhZMTQ1ODIyRDAyKlgzMDA3MDlEMDEqDQorRzU0RDE4MipYMjgwNjkxWTE0NzAzMEQwMipZMTQzMzE0RDAxKg0KK1gyNzgxOTlZMTQwODIyRDAxKg0KK1gyNzQ2ODhEMDEqDQorWDI3OTA0N1kxMzgzOTREMDIqWDI4MTA0N0QwMSoNCitYMjc5MjIxWTE0ODUwMEQwMipYMjgwNjkxWTE0NzAzMEQwMSoNCitYMjgxMDQ3WTEzODM5NEQwMipYMjgyNDQxWTEzNzAwMEQwMSoNCitZMTMzMjkxRDAxKg0KK1gyNjU2MTlZMTQ1ODIyRDAyKlgyNzQ2ODhEMDEqDQorWDI2NjQ0MVkxNDg1MDBEMDIqWDI3OTIyMUQwMSoNCitYMzMyNjYxWTE1MDk1OEQwMipZMTg3OTUzRDAxKg0KK1gzMzQzMDhZMTUwMjAyRDAyKlkxODg1NjlEMDEqDQorWTE4ODYzM0QwMipYMzEyMzU4WTIxMDU4M0QwMSoNCitYMzMyNjYxWTE4ODAwMEQwMipYMzEzMTc4WTIwNzQ4M0QwMSoNCitYMzM3NDQxWTE1MTA3MkQwMipZMTYzMDAwRDAxKg0KK1gzMTMxNzhZMjA3NDgzRDAyKlgzMDQ1ODREMDEqDQorWDMyMDgwNFkxNDE4NjNEMDIqWTE5MzkyNUQwMSoNCitZMTk0MDAwRDAyKlgzMTA0MjFZMjA0MzgzRDAxKg0KK0c1NEQxODMqWDExNDAwMFkxMTI5OTJEMDIqWDExNDY1MlkxMTIzNDBEMDEqDQorWDExODg0MFkxMTczNDBEMDIqWDExNDAwMFkxMTI1MDBEMDEqDQorWDEwODg4MlkxMTI5OTJEMDIqWTExODg4MkQwMSoNCitYMTA4OTQxWTExODk0MUQwMSoNCitYMTA4NDQ5RDAyKlgxMDI0NDFEMDEqDQorWDExNDY1MlkxMTIzNDBEMDIqWDEyMzkxNkQwMSoNCitYMTIwNjY2WTExNzM0MEQwMipYMTE4ODQwRDAxKg0KK0c1NEQxODIqWDExNDQ0MVkxMjE1MDBEMDIqWDExNTI4MVkxMjIzNDBEMDEqDQorWDEyMzkxNkQwMSoNCitHNTREMTgzKlgxMDE5NzhZMTI0MDMwRDAyKlgxMDg5MTJEMDEqDQorRzU0RDE4NSpYODY5NDFZOTkwOTVEMDIqWTE1ODUwMEQwMSoNCitZOTkwMDBEMDIqWDEwMjk0MVk4MzAwMEQwMSoNCitHNTREMTgzKlgxMDI0NDFZMTE4OTQxRDAyKlgxMDI0MDFZMTE4OTAxRDAxKg0KK1gxMDE5NDlZMTI0MDU5RDAyKlgxMDE5NzhZMTI0MDMwRDAxKg0KK0c1NEQxODIqWDk3NDQxWTE0ODUwMEQwMipZMTE4NTAwRDAxKg0KK1g5OTk0MVkxMTYwMDBEMDEqDQorWDk5OTgxWTExNjA0MEQwMSoNCitYMTAyNDAxRDAxKg0KK0c1NEQxODMqWTExODkwMUQwMipZMTEzNDM1RDAxKg0KK1gxMTk2NjZZMTQxMzQwRDAyKlgxMTM5NzVEMDEqDQorWDEyMDY2NlkxMzczNDBEMDIqWDExNjY2NlkxNDEzNDBEMDEqDQorWDExNTAzNkQwMSoNCitHNTREMTgyKlgxMTU2MDFZMTMyMzQwRDAyKlgxMjM5MTZEMDEqDQorRzU0RDE4MypYMTA4ODU3WTEzNjE0M0QwMipYMTA4OTQxWTEzNjA1OUQwMSoNCitYMTEyNTQyWTEyNzM0MEQwMipYMTA4OTQxWTEzMDk0MUQwMSoNCitYMTEyMjIyWTEyNzM0MEQwMipYMTA4OTQxWTEyNDA1OUQwMSoNCitHNTREMTgyKlgxMTU0NDFZMTMyNTAwRDAyKlgxMTU2MDFZMTMyMzQwRDAxKg0KK1gxMDg4NTdZMTQxODMyRDAyKlkxNTA4MTZEMDEqDQorWDExMTA0MVkxNTMwMDBEMDEqDQorRzU0RDE4MypYMTA4ODU3WTE0MTgzMkQwMipZMTM2MTQzRDAxKg0KK1gxMDIxOTFZMTQwOTU4RDAyKlgxMDI3OTBZMTQwMzU4RDAxKg0KK1kxMzYxMzVEMDEqDQorWDk1NTQ4WTIwNDQ1N0QwMipYOTU1OTFZMjA0NTAwRDAxKg0KK1gxMDQ0NDFEMDEqDQorRzU0RDE4MipYMTAzOTQxWTE1NTAwMEQwMipYOTc0NDFZMTQ4NTAwRDAxKg0KK0c1NEQxODMqWDE5NTgwN1kxMTI1MDBEMDIqWDIwNTY5MUQwMSoNCitYMjIyOTQxRDAyKlgyMzY4ODJEMDEqDQorWDIwMjQ0MVkxMTc1MDBEMDIqWDIwMDYzNUQwMSoNCitYMjIyOTQxRDAyKlgyMzE4ODJEMDEqDQorWDIzNjg4MlkxMTI1MDBEMDEqDQorWDI0MTQ0OVkxMTg5NDFEMDIqWTExMzA1MUQwMSoNCitYMjQyMDAwWTExMjUwMEQwMSoNCitYMTgzOTQ5WTExODk0MUQwMipYMTkwNDQxRDAxKg0KK0c1NEQxODIqWDIzNDQ0MVkxMjI1MDBEMDIqWDIyNjE5MUQwMSoNCitHNTREMTgzKlgyNDc5NDlZMTAyNDQxRDAyKlgyNDgwMDhZMTAyNTAwRDAxKg0KK1gyNTM0NDFEMDEqDQorRzU0RDE4NSpYMTAyOTQxWTgzMDAwRDAyKlgzMTg5NDFEMDEqDQorRzU0RDE4MypYMTAxOTA5WTEwODMxN0QwMipYMTAxOTQxWTEwODI4NUQwMSoNCitYMTY2MTY2WTEwNzQ1MEQwMipYMTY2NDQxWTEwNzE3NUQwMSoNCitZMTA0MDAwRDAxKg0KK1gxODM5NDlZMTA3OTQxRDAyKlgxODM5NDFZMTA3OTMzRDAxKg0KK1kxMDQwMDBEMDEqDQorWDEwMTk0MVkxMDgyODVEMDIqWTEwNDUwMEQwMSoNCitHNTREMTgyKlgxOTAxNzhZMTQ5NTAwRDAyKlgxODk3NDZZMTQ5MDY4RDAxKg0KK1gxNzUyNTZEMDEqDQorWDEwMjE5MVkxNDYwNzZEMDIqWDEwNDYxNVkxNDg1MDBEMDEqDQorWDEwNjQ0MUQwMSoNCitYMTg3NDQxWTE1NTAwMEQwMipYMTAzOTQxRDAxKg0KK0c1NEQxODMqWDEwMjc5MFkxMzYxMzVEMDIqWDEwMzAwOVkxMzU5MTZEMDEqDQorWDEwODg1N0QwMSoNCitYMTAyMjk4WTEzMTAxN0QwMipYMTAyMzE1WTEzMTAwMEQwMSoNCitYMTA4ODgyRDAxKg0KK0c1NEQxODIqWDE5Njk0MVkxNTQwMDBEMDIqWDE4MzQ0MVkxNDA1MDBEMDEqDQorRzU0RDE4MypYMTk1NDc1WTExMjgzMkQwMipYMTk1ODA3WTExMjUwMEQwMSoNCitYMjAwNjM1WTExNzUwMEQwMipYMTk1NDc1WTExMjM0MEQwMSoNCitYMTg5OTQ5WTExODk0MUQwMipZMTEyMzQwRDAxKg0KK0c1NEQxODIqWDE5ODQ0MVkxMjI1MDBEMDIqWDIwNTY5MUQwMSoNCitHNTREMTgzKlgyMDI0NDFZMTI3NTAwRDAyKlgyMDg5NDFEMDEqDQorWDIxMzg4MlkxMzI0NDFEMDEqDQorWDE4OTk0OVkxMjQwNTlEMDIqWDE4NDQ0MUQwMSoNCitYMTkwMzgyWTE0MTk5MkQwMipZMTM2MDU5RDAxKg0KK1gxODk5NDlZMTMwOTQxRDAyKlgxOTMzOTBZMTI3NTAwRDAxKg0KK1gxOTM4ODJEMDIqWDE5MDQ0MVkxMjQwNTlEMDEqDQorRzU0RDE4MipYMTk1NDQxWTEzMzAwMEQwMipYMTk1OTQxWTEzMjUwMEQwMSoNCitHNTREMTgzKlgxODk5NDlZMTM2MDU5RDAyKlgxODk5MzdZMTM2MDcxRDAxKg0KK1gxODQ5ODNEMDEqDQorWDE4NDUwM1kxMzA5NDFEMDIqWDE5MDQ0MUQwMSoNCitHNTREMTgyKlgxMTM3OTlZMzUwMDI5RDAyKlgxMTQzOTlZMzUwNjI5RDAxKg0KK1gxMTYxOTlEMDEqDQorWDExNjc5OVkzNTAwMjlEMDEqDQorWTM0ODgyOUQwMSoNCitYMTEzNzk5WTM0NTgyOUQwMipYMTE2Nzk5WTM0ODgyOUQwMSoNCitYMTEzNzk5WTM0NTgyOUQwMipYMTE2Nzk5RDAxKg0KK1gxMTgyMzlZMzQ2NDI5RDAyKlgxMTg4MzlZMzQ1ODI5RDAxKg0KK1gxMTgyMzlZMzUwMDI5RDAyKlkzNDY0MjlEMDEqDQorWTM1MDAyOUQwMipYMTE4ODM5WTM1MDYyOUQwMSoNCitYMTIwMDM5RDAxKg0KK1gxMjA2MzlZMzUwMDI5RDAxKg0KK1kzNDY0MjlEMDEqDQorWDEyMDAzOVkzNDU4MjlEMDIqWDEyMDYzOVkzNDY0MjlEMDEqDQorWDExODgzOVkzNDU4MjlEMDIqWDEyMDAzOUQwMSoNCitYMTE4MjM5WTM0NzAyOUQwMipYMTIwNjM5WTM0OTQyOUQwMSoNCitYMTIyMDc5WTM0OTY2OUQwMipYMTIzMDM5WTM1MDYyOUQwMSoNCitZMzQ1ODI5RDAxKg0KK1gxMjIwNzlEMDIqWDEyMzg3OUQwMSoNCitYMTI1MzE5WTM1MDAyOUQwMipYMTI1OTE5WTM1MDYyOUQwMSoNCitYMTI3MTE5RDAxKg0KK1gxMjc3MTlZMzUwMDI5RDAxKg0KK1gxMjcxMTlZMzQ1ODI5RDAyKlgxMjc3MTlZMzQ2NDI5RDAxKg0KK1gxMjU5MTlZMzQ1ODI5RDAyKlgxMjcxMTlEMDEqDQorWDEyNTMxOVkzNDY0MjlEMDIqWDEyNTkxOVkzNDU4MjlEMDEqDQorWTM0ODQ2OUQwMipYMTI3MTE5RDAxKg0KK1gxMjc3MTlZMzUwMDI5RDAyKlkzNDkwNjlEMDEqDQorWTM0Nzg2OUQwMipZMzQ2NDI5RDAxKg0KK1kzNDc4NjlEMDIqWDEyNzExOVkzNDg0NjlEMDEqDQorWDEyNzcxOVkzNDkwNjlEMDIqWDEyNzExOVkzNDg0NjlEMDEqDQorWDEyOTE1OVkzNDY0MjlEMDIqWDEyOTc1OVkzNDU4MjlEMDEqDQorWDEyOTE1OVkzNTAwMjlEMDIqWTM0NjQyOUQwMSoNCitZMzUwMDI5RDAyKlgxMjk3NTlZMzUwNjI5RDAxKg0KK1gxMzA5NTlEMDEqDQorWDEzMTU1OVkzNTAwMjlEMDEqDQorWTM0NjQyOUQwMSoNCitYMTMwOTU5WTM0NTgyOUQwMipYMTMxNTU5WTM0NjQyOUQwMSoNCitYMTI5NzU5WTM0NTgyOUQwMipYMTMwOTU5RDAxKg0KK1gxMjkxNTlZMzQ3MDI5RDAyKlgxMzE1NTlZMzQ5NDI5RDAxKg0KK1gxMzI5OTlZMzQ5NjY5RDAyKlgxMzM5NTlZMzUwNjI5RDAxKg0KK1kzNDU4MjlEMDEqDQorWDEzMjk5OUQwMipYMTM0Nzk5RDAxKg0KK1gxMzYyMzlZMzUwMDI5RDAyKlgxMzY4MzlZMzUwNjI5RDAxKg0KK1gxMzg2MzlEMDEqDQorWDEzOTIzOVkzNTAwMjlEMDEqDQorWTM0ODgyOUQwMSoNCitYMTM2MjM5WTM0NTgyOUQwMipYMTM5MjM5WTM0ODgyOUQwMSoNCitYMTM2MjM5WTM0NTgyOUQwMipYMTM5MjM5RDAxKg0KK1gxNDA2NzlZMzQ2NDI5RDAyKlgxNDEyNzlZMzQ1ODI5RDAxKg0KK1gxNDA2NzlZMzUwMDI5RDAyKlkzNDY0MjlEMDEqDQorWTM1MDAyOUQwMipYMTQxMjc5WTM1MDYyOUQwMSoNCitYMTQyNDc5RDAxKg0KK1gxNDMwNzlZMzUwMDI5RDAxKg0KK1kzNDY0MjlEMDEqDQorWDE0MjQ3OVkzNDU4MjlEMDIqWDE0MzA3OVkzNDY0MjlEMDEqDQorWDE0MTI3OVkzNDU4MjlEMDIqWDE0MjQ3OUQwMSoNCitYMTQwNjc5WTM0NzAyOUQwMipYMTQzMDc5WTM0OTQyOUQwMSoNCitHNTREMTg2Klg0MTcwMDBZMzg0MDAwRDAzKg0KK1kyOTQwMDBEMDMqDQorWTM1NDAwMEQwMyoNCitYNDI3MDAwWTM4NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK1kzNTQwMDBEMDMqDQorRzU0RDE4MCpHMzYqDQorWDQwMzc1MFkzNTcyNTBEMDIqWTM1MDc1MEQwMSoNCitYNDEwMjUwRDAxKg0KK1kzNTcyNTBEMDEqDQorWDQwMzc1MEQwMSoNCitHMzcqDQorRzU0RDE4NypYMzQ1Nzk5WTM1NzMyOUQwMyoNCitHNTREMTg4KlgzMTU3OTlZMzM3MzI5RDAzKg0KK0c1NEQxODcqWDg1Nzk5WTM2OTgyOUQwMyoNCitHNTREMTg5KlgxMDU3OTlZMzc0ODI5RDAzKg0KK0c1NEQxODAqRzM2Kg0KK1gxMDI0OTlZMzY4MTI5RDAyKlkzNjE1MjlEMDEqDQorWDEwOTA5OUQwMSoNCitZMzY4MTI5RDAxKg0KK1gxMDI0OTlEMDEqDQorRzM3Kg0KK0c1NEQxODkqWDExNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTI1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK1gxMzU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorRzU0RDE5MCpYOTMyOTlZMzQyMzI5RDAzKg0KK0c1NEQxODkqWDE0NTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxNjU3OTlEMDMqDQorWDE1NTc5OVkzNzQ4MjlEMDMqDQorWDE2NTc5OUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMjA1Nzk5RDAzKg0KK1gxNzU3OTlZMzY0ODI5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMjA1Nzk5RDAzKg0KK1gyMTU3OTlZMzc0ODI5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjE1Nzk5WTM2NDgyOUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWDI0NTc5OVkzNzQ4MjlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1gyNzU3OTlEMDMqDQorWTM2NDgyOUQwMyoNCitYMjg1Nzk5WTM3NDgyOUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK1gyODU3OTlZMzY0ODI5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorRzU0RDE4MCpHMzYqDQorWDQ1MDI1MFkyNjcyNTBEMDIqWTI2MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kyNjcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyMDcyNTBEMDIqWTIwMDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kyMDcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxNzcyNTBEMDIqWTE3MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kxNzcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDE4NipYNDYzNTAwWTI2NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTE0NDAwMEQwMyoNCitZMTE0MDAwRDAzKg0KK1k4NDAwMEQwMyoNCitYNDczNTAwWTI2NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTE0NDAwMEQwMyoNCitZMTE0MDAwRDAzKg0KK1k4NDAwMEQwMyoNCitHNTREMTgwKkczNioNCitYNDUwMjUwWTIzNzI1MEQwMipZMjMwNzUwRDAxKg0KK1g0NTY3NTBEMDEqDQorWTIzNzI1MEQwMSoNCitYNDUwMjUwRDAxKg0KK0czNyoNCitHNTREMTg2Klg0NjM1MDBZMjM0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDE4MCpHMzYqDQorWDQ1MDI1MFkxNDcyNTBEMDIqWTE0MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kxNDcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kxMTcyNTBEMDIqWTExMDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kxMTcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1k4NzI1MEQwMipZODA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZODcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1k1NzI1MEQwMipZNTA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZNTcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDE4NipYNDYzNTAwWTU0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDE4MCpHMzYqDQorWDQ1MDI1MFkzMjcyNTBEMDIqWTMyMDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kzMjcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDE4NipYNDYzNTAwWTMyNDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQxODAqRzM2Kg0KK1g0NTAyNTBZMjk3MjUwRDAyKlkyOTA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMjk3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQxODYqWDQ2MzUwMFkyOTQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitYNDM3MDAwWTMyNDAwMEQwMyoNCitHNTREMTgwKkczNioNCitYMzA5MTkxWTI1MjI1MEQwMipZMjQ1NzUwRDAxKg0KK1gzMTU2OTFEMDEqDQorWTI1MjI1MEQwMSoNCitYMzA5MTkxRDAxKg0KK0czNyoNCitHNTREMTg2KlgzMjI0NDFZMjQ5MDAwRDAzKg0KK1gzMzI0NDFEMDMqDQorWDM0MjQ0MUQwMyoNCitHNTREMTg3KlgzNDU3OTlZMTkyMzI5RDAzKg0KK0c1NEQxODAqRzM2Kg0KK1g0NTAyNTBZMzg3MjUwRDAyKlkzODA3NTBEMDEqDQorWDQ1Njc1MEQwMSoNCitZMzg3MjUwRDAxKg0KK1g0NTAyNTBEMDEqDQorRzM3Kg0KK0c1NEQxODYqWDQ2MzUwMFkzODQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMTgwKkczNioNCitYNDAzNzUwWTM4NzI1MEQwMipZMzgwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTM4NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHMzYqDQorWTI5NzI1MEQwMipZMjkwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTI5NzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHMzYqDQorWTMyNzI1MEQwMipZMzIwNzUwRDAxKg0KK1g0MTAyNTBEMDEqDQorWTMyNzI1MEQwMSoNCitYNDAzNzUwRDAxKg0KK0czNyoNCitHNTREMTg2Klg0MTcwMDBZMzI0MDAwRDAzKg0KK1g0MjcwMDBEMDMqDQorRzU0RDE4MCpHMzYqDQorWDQ1MDI1MFkzNTcyNTBEMDIqWTM1MDc1MEQwMSoNCitYNDU2NzUwRDAxKg0KK1kzNTcyNTBEMDEqDQorWDQ1MDI1MEQwMSoNCitHMzcqDQorRzU0RDE4NipYNDM3MDAwWTM1NDAwMEQwMyoNCitYNDYzNTAwRDAzKg0KK1g0NzM1MDBEMDMqDQorWDQzNzAwMFkzODQwMDBEMDMqDQorWTE3NDAwMEQwMyoNCitZMjA0MDAwRDAzKg0KK1kyMzQwMDBEMDMqDQorWTI2NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK0c1NEQxODAqRzM2Kg0KK1g0MDM3NTBZMTc3MjUwRDAyKlkxNzA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMTc3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjA3MjUwRDAyKlkyMDA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMjA3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjM3MjUwRDAyKlkyMzA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMjM3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjY3MjUwRDAyKlkyNjA3NTBEMDEqDQorWDQxMDI1MEQwMSoNCitZMjY3MjUwRDAxKg0KK1g0MDM3NTBEMDEqDQorRzM3Kg0KK0c1NEQxODYqWDQxNzAwMFkxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorWDQyNzAwMFkxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorRzU0RDE4MCpHMzYqDQorWDIwMjE5MVk1MDc1MEQwMipZNDQyNTBEMDEqDQorWDIwODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDIwMjE5MUQwMSoNCitHMzcqDQorRzU0RDE4NipYMjA1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitHNTREMTgwKkczNioNCitYMjMyMTkxWTUwNzUwRDAyKlk0NDI1MEQwMSoNCitYMjM4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjMyMTkxRDAxKg0KK0czNyoNCitHNTREMTg2KlgyMzU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK0c1NEQxODAqRzM2Kg0KK1gyNjIxOTFZNTA3NTBEMDIqWTQ0MjUwRDAxKg0KK1gyNjg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gyNjIxOTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTcyMTkxRDAyKlk0NDI1MEQwMSoNCitYMTc4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMTcyMTkxRDAxKg0KK0czNyoNCitHMzYqDQorWDE0MjE5MUQwMipZNDQyNTBEMDEqDQorWDE0ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDE0MjE5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxMTIxOTFEMDIqWTQ0MjUwRDAxKg0KK1gxMTg2OTFEMDEqDQorWTUwNzUwRDAxKg0KK1gxMTIxOTFEMDEqDQorRzM3Kg0KK0czNioNCitYODIxOTFEMDIqWTQ0MjUwRDAxKg0KK1g4ODY5MUQwMSoNCitZNTA3NTBEMDEqDQorWDgyMTkxRDAxKg0KK0czNyoNCitHNTREMTg2KlgyNjU0NDFZNTc1MDBEMDMqDQorWDE3NTQ0MUQwMyoNCitYMTQ1NDQxRDAzKg0KK1gxMTU0NDFEMDMqDQorWDg1NDQxRDAzKg0KK1gyNjU0NDFZNjc1MDBEMDMqDQorWDE3NTQ0MUQwMyoNCitHNTREMTgwKkczNioNCitYMjkyMTkxWTUwNzUwRDAyKlk0NDI1MEQwMSoNCitYMjk4NjkxRDAxKg0KK1k1MDc1MEQwMSoNCitYMjkyMTkxRDAxKg0KK0czNyoNCitHNTREMTg2KlgyOTU0NDFZNTc1MDBEMDMqDQorWTY3NTAwRDAzKg0KK1gxNDU0NDFEMDMqDQorWDExNTQ0MUQwMyoNCitYODU0NDFEMDMqDQorRzU0RDE4NypYODU3OTlZMTc5ODI5RDAzKg0KK0c1NEQxODkqWDEwNTc5OVkxODQ4MjlEMDMqDQorRzU0RDE4MCpHMzYqDQorWDEwMjQ5OVkxNzgxMjlEMDIqWTE3MTUyOUQwMSoNCitYMTA5MDk5RDAxKg0KK1kxNzgxMjlEMDEqDQorWDEwMjQ5OUQwMSoNCitHMzcqDQorRzU0RDE4OSpYMTE1Nzk5WTE4NDgyOUQwMyoNCitZMTc0ODI5RDAzKg0KK1gxMjU3OTlZMTg0ODI5RDAzKg0KK1kxNzQ4MjlEMDMqDQorRzU0RDE4MCpHMzYqDQorWDgyMTkxWTI0MzI1MEQwMipZMjM2NzUwRDAxKg0KK1g4ODY5MUQwMSoNCitZMjQzMjUwRDAxKg0KK1g4MjE5MUQwMSoNCitHMzcqDQorRzU0RDE4NipYODU0NDFZMjMwMDAwRDAzKg0KK1kyMjAwMDBEMDMqDQorRzU0RDE4OSpYMTM1Nzk5WTE4NDgyOUQwMyoNCitYMTQ1Nzk5RDAzKg0KK1gxNTU3OTlEMDMqDQorWDEzNTc5OVkxNzQ4MjlEMDMqDQorWDE0NTc5OUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxNjU3OTlZMTg0ODI5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK1gxNjU3OTlZMTc0ODI5RDAzKg0KK1gxNzU3OTlEMDMqDQorWDE4NTc5OUQwMyoNCitYMTk1Nzk5RDAzKg0KK0c1NEQxODAqRzM2Kg0KK1gxOTI0OTlZMjAwNjI5RDAyKlkxOTQwMjlEMDEqDQorWDE5OTA5OUQwMSoNCitZMjAwNjI5RDAxKg0KK1gxOTI0OTlEMDEqDQorRzM3Kg0KK0c1NEQxODkqWDIwNTc5OVkxOTczMjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDIwNTc5OVkxODQ4MjlEMDMqDQorWDIxNTc5OUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMDU3OTlZMTc0ODI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjM1Nzk5WTE4NDgyOUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitZMTc0ODI5RDAzKg0KK1gyNzU3OTlZMTg0ODI5RDAzKg0KK1gyODU3OTlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitYMjc1Nzk5WTE3NDgyOUQwMyoNCitYMjg1Nzk5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorRzU0RDE5MSpYMzcxOTQxWTExODE5M0QwMipZMTA0ODA3RDAxKg0KK0c1NEQxOTIqWDM5NzU0OFk5ODA0MkQwMipYMzk4MzM0RDAxKg0KK0c1NEQxOTMqWDI3MTQzOFkxMjU4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjkxOTM4RDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMzA4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjkxOTM4WTEzNTgyMkQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTQwODIyRDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxNDU4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjcxNDM4WTEyMDgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTE1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxMTA4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjkxOTM4RDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMTU4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjkxOTM4WTEyMDgyMkQwMipYMjk4NDM4RDAxKg0KK0c1NEQxOTQqWDIzNTk0MVkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMjQxMDU5WTE0MTk5MkQwMipZMTQxMDA4RDAxKg0KK1gyNDEwNzNZMTQ4MjQ2RDAyKlkxNDcyNjJEMDEqDQorWDIzNTk1NVkxNDgyNDZEMDIqWTE0NzI2MkQwMSoNCitYMjQ3NTE2WTEzMTE0OUQwMipYMjQ4NTAwRDAxKg0KK1gyNDc1MTZZMTM2MjY3RDAyKlgyNDg1MDBEMDEqDQorWDI0Nzk0OVkxMjQwNTlEMDIqWDI0ODkzM0QwMSoNCitYMjQ3OTQ5WTExODk0MUQwMipYMjQ4OTMzRDAxKg0KK1gyNDc5NDlZMTA3NTU5RDAyKlgyNDg5MzNEMDEqDQorWDI0Nzk0OVkxMDI0NDFEMDIqWDI0ODkzM0QwMSoNCitYMTgzOTQ5WTEyNDA1OUQwMipYMTg0OTMzRDAxKg0KK1gxODM5NDlZMTE4OTQxRDAyKlgxODQ5MzNEMDEqDQorWDE4Mzk0OVkxMTMwNTlEMDIqWDE4NDkzM0QwMSoNCitYMTgzOTQ5WTEwNzk0MUQwMipYMTg0OTMzRDAxKg0KK1gxODQ0OTFZMTMwOTUzRDAyKlgxODU0NzVEMDEqDQorWDE4NDQ5MVkxMzYwNzFEMDIqWDE4NTQ3NUQwMSoNCitYMTk3MDAwWTE0ODgzOEQwMipZMTQ3ODU0RDAxKg0KK1gyMDIxMThZMTQ4ODM4RDAyKlkxNDc4NTREMDEqDQorWDQzMjAwMFk3MDQ5MkQwMipZNjk1MDhEMDEqDQorWDQyNjg4Mlk3MDQ5MkQwMipZNjk1MDhEMDEqDQorRzU0RDE5MipYMzQwMTg2WTk4NDA0RDAyKlgzNDU2OTZEMDEqDQorWDM0MDE4Nlk4NjU5NEQwMipYMzQ1Njk2RDAxKg0KK1gzMjcxODZEMDIqWDMzMjY5NkQwMSoNCitYMzk3NTQ4WTkwOTU2RDAyKlgzOTgzMzREMDEqDQorWDMyNzE4Nlk5ODQwNEQwMipYMzMyNjk2RDAxKg0KK0c1NEQxOTQqWDM3MjAwMFk3MjQ5MUQwMipZNzE1MDdEMDEqDQorWDM2Njg4Mlk3MjQ5MUQwMipZNzE1MDdEMDEqDQorWDM1NjgyM1k3MTk5MkQwMipZNzEwMDhEMDEqDQorWDM2MTk0MVk3MTk5MkQwMipZNzEwMDhEMDEqDQorWDM1NjgyM1k2NTk5MkQwMipZNjUwMDhEMDEqDQorWDM2MTk0MVk2NTk5MkQwMipZNjUwMDhEMDEqDQorRzU0RDE5MipYMzc0NTQ4WTUxNDEzRDAyKlgzNzUzMzREMDEqDQorWDM4MTUzNlk0ODc1NUQwMipZNDMyNDVEMDEqDQorWDM5MzM0Nlk0ODc1NUQwMipZNDMyNDVEMDEqDQorWDM3NDU0OFk1ODQ5OUQwMipYMzc1MzM0RDAxKg0KK1gzODE4OThZNTg4OTNEMDIqWTU4MTA3RDAxKg0KK1gzODg5ODRZNTg4OTNEMDIqWTU4MTA3RDAxKg0KK0c1NEQxOTUqWDM1Njk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM2MTk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorRzU0RDE5MipYMzcwMzk4WTY2MzkzRDAyKlk2NTYwN0QwMSoNCitYMzc3NDg0WTY2MzkzRDAyKlk2NTYwN0QwMSoNCitYMzg0Mzk4WTY2ODkzRDAyKlk2NjEwN0QwMSoNCitYMzkxNDg0WTY2ODkzRDAyKlk2NjEwN0QwMSoNCitHNTREMTk1KlgzNjY5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK1gzNzE5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK1gzNzY5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK1gzODE5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK1gzODY5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK0c1NEQxOTQqWDM5NzQ0OVk3OTM4MUQwMipYMzk4NDMzRDAxKg0KK1gzOTc0NDlZODQ0OTlEMDIqWDM5ODQzM0QwMSoNCitYMzk0OTQ5WTE4ODQ0MUQwMipYMzk1OTMzRDAxKg0KK1gzOTQ5NDlZMTkzNTU5RDAyKlgzOTU5MzNEMDEqDQorRzU0RDE5NipYMzk0Mzk3WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzNzY0ODVZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM3OTA0NFkyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzgxNjAzWTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzODQxNjJZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM4NjcyMFkyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzg5Mjc5WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzOTE4MzhZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorRzU0RDE5NCpYMzkyNjQzWTI0NzA1NkQwMipYMzkzNjI3RDAxKg0KK1gzOTI2NDNZMjUyMTc0RDAyKlgzOTM2MjdEMDEqDQorRzU0RDE5NipYMzk0Mzk3WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzOTE4MzhZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM4OTI3OVkyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzg2NzIwWTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzODQxNjJZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM4MTYwM1kyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzc5MDQ0WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzNzY0ODVZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorRzU0RDE5NCpYMzkyOTQ5WTM2NTk0MUQwMipYMzkzOTMzRDAxKg0KK1gzOTI5NDlZMzcxMDU5RDAyKlgzOTM5MzNEMDEqDQorRzU0RDE5NipYMzk0Mzk3WTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1gzOTE4MzhZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWDM4OTI3OVkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzg2NzIwWTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1gzODkyNzlZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM5MTgzOFkzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzk0Mzk3WTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzODQxNjJZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzODY3MjBZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM4MTYwM1kzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM3OTA0NFkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzc2NDg1WTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1kzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzc5MDQ0WTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK0c1NEQxOTQqWDM5Mjk0OVkzMDYwMDBEMDIqWDM5MzkzM0QwMSoNCitYMzkyOTQ5WTMxMTExOEQwMipYMzkzOTMzRDAxKg0KK0c1NEQxOTIqWDI0NTMxMlkzNDk4OTNEMDIqWTM0OTEwN0QwMSoNCitZMzQyODkzRDAyKlkzNDIxMDdEMDEqDQorWDI0NTM1NVkzNTY4OTNEMDIqWTM1NjEwN0QwMSoNCitYMjUyMzk4WTM0OTg5M0QwMipZMzQ5MTA3RDAxKg0KK0c1NEQxOTQqWDI2NTk1N1kzNDk5OTJEMDIqWTM0OTAwOEQwMSoNCitYMjYwODM5WTM0OTk5MkQwMipZMzQ5MDA4RDAxKg0KK0c1NEQxOTIqWDI0NTM1NVkzMzU4OTNEMDIqWTMzNTEwN0QwMSoNCitYMjUyNDQxWTMzNTg5M0QwMipZMzM1MTA3RDAxKg0KK0c1NEQxOTQqWDI2NjAwMFkzMzU5OTJEMDIqWTMzNTAwOEQwMSoNCitYMjYwODgyWTMzNTk5MkQwMipZMzM1MDA4RDAxKg0KK1gyNjU5NTdZMzQyOTkyRDAyKlkzNDIwMDhEMDEqDQorWDI2MDgzOVkzNDI5OTJEMDIqWTM0MjAwOEQwMSoNCitHNTREMTkyKlgyNTIzOThZMzQyODkzRDAyKlkzNDIxMDdEMDEqDQorRzU0RDE5NCpYMjY2MDAwWTM1Njk5MkQwMipZMzU2MDA4RDAxKg0KK1gyNjA4ODJZMzU2OTkyRDAyKlkzNTYwMDhEMDEqDQorRzU0RDE5MipYMjUyNDQxWTM1Njg5M0QwMipZMzU2MTA3RDAxKg0KK0c1NEQxOTQqWDI0NjMzNVkyOTI3MzJEMDIqWDI0NzMxOUQwMSoNCitHNTREMTk3KlgxNDgyOTlZMjkyMjI5RDAyKlgxNDg4OTlEMDEqDQorWDE0ODI5OVkyODQ0MjlEMDIqWDE0ODg5OUQwMSoNCitYMTU2NDk5WTI4ODMyOUQwMipYMTU3MDk5RDAxKg0KK0c1NEQxOTMqWDE4NDc5OVkyOTg4MjlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMwMzgyOUQwMipYMTkwNzk5RDAxKg0KK0c1NEQxOTQqWDE5NzMwN1kzMDM4ODhEMDIqWDE5ODI5MUQwMSoNCitHNTREMTkzKlgxODQ3OTlZMzA4ODI5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMTM4MjlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMxODgyOUQwMipYMTkwNzk5RDAxKg0KK0c1NEQxOTQqWDE5NzMwN1kzMTg3NzBEMDIqWDE5ODI5MUQwMSoNCitYMTk3MzA3WTI5ODc3MEQwMipYMTk4MjkxRDAxKg0KK1gxNjg3MzJZMzU2NDU0RDAyKlkzNTU0NzBEMDEqDQorWDE3Mzg1MFkzNTY0NTREMDIqWTM1NTQ3MEQwMSoNCitHNTREMTkzKlgxNDg3OTlZMzMzODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMjg4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTMyMzgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxODQ3OTlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMyODgyOUQwMipYMTkwNzk5RDAxKg0KK1gxODQ3OTlZMzMzODI5RDAyKlgxOTA3OTlEMDEqDQorRzU0RDE5NCpYMTk3MzA3WTMyMzg4OEQwMipYMTk4MjkxRDAxKg0KK0c1NEQxOTMqWDE0ODc5OVkzMTg4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTMxMzgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxNDg3OTlZMzA4ODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMDM4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTI5ODgyOUQwMipYMTU0Nzk5RDAxKg0KK0c1NEQxOTQqWDE0MDk0OVkzMzQwNTlEMDIqWDE0MTkzM0QwMSoNCitYMTQwOTQ5WTMyODk0MUQwMipYMTQxOTMzRDAxKg0KK1gxNDA5NDlZMzIzNTU5RDAyKlgxNDE5MzNEMDEqDQorWDE0MDk0OVkzMTg0NDFEMDIqWDE0MTkzM0QwMSoNCitYMTQxMzA3WTMwMzc3MEQwMipYMTQyMjkxRDAxKg0KK1gxNDEzMDdZMzA4ODg4RDAyKlgxNDIyOTFEMDEqDQorWDI0NjMzNVkyOTc4NTBEMDIqWDI0NzMxOUQwMSoNCitHNTREMTk4KlgyNTMxMDZZMjk1NTkyRDAyKlgyNTY1MDREMDEqDQorRzU0RDE5NCpYMjY5NTAwWTMxMDQ5MkQwMipZMzA5NTA4RDAxKg0KK1gyNjQzODJZMzEwNDkyRDAyKlkzMDk1MDhEMDEqDQorRzU0RDE5OCpYMjY4MzgxWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNjY0MTNZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI2NDQ0NFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjYyNDc2WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNTMxMDZZMjkzNjI0RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyOTE2NTVEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI4OTY4N0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjg3NzE4RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyODU3NTBEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI4Mzc4MUQwMipYMjU2NTA0RDAxKg0KK0c1NEQxOTQqWDI5Njc0OFkyNDcyNzBEMDIqWDI5NzczMkQwMSoNCitHNTREMTkyKlgyOTAwNDhZMjQ0OTE0RDAyKlgyOTA4MzREMDEqDQorRzU0RDE5OCpYMjkyMDA0WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK0c1NEQxOTIqWDE3MDA0OFkyNDg1NDNEMDIqWDE3MDgzNEQwMSoNCitYMTcwMDQ4WTI0MTQ1N0QwMipYMTcwODM0RDAxKg0KK0c1NEQxOTQqWDE3MDk0OVkyMzE4ODJEMDIqWDE3MTkzM0QwMSoNCitYMTcwOTQ5WTIzNzAwMEQwMipYMTcxOTMzRDAxKg0KK0c1NEQxOTgqWDI3NDI4OFkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjc2MjU2WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNzgyMjVZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI4MDE5M1kyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjgyMTYyWTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyODQxMzBZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI4NjA5OVkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjg4MDY3WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyOTAwMzZZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorRzU0RDE5NCpYMjQzNjgxWTI2MTMyMUQwMipZMjYwMzM3RDAxKg0KK0c1NEQxOTIqWDIzOTE1NFkyNjgyMjJEMDIqWTI2NzQzNkQwMSoNCitYMjQ2MjQwWTI2ODIyMkQwMipZMjY3NDM2RDAxKg0KK0c1NEQxOTgqWDI1MzEwNlkyNzAwMDJEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI2ODAzM0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjY2MDY1RDAyKlgyNTY1MDREMDEqDQorRzU0RDE5NCpYMjQ4Nzk5WTI2MTMyMUQwMipZMjYwMzM3RDAxKg0KK0c1NEQxOTgqWDI2MjQ3N1kyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjY0NDQ1WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNjY0MTRZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI2ODM4MlkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjcwMzUxWTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNzIzMTlZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorRzU0RDE5OSpYMTI0ODMxWTMwOTUxNEQwMipYMTI4NzY4RDAxKg0KK1gxMjQ4MzFZMjg5ODI5RDAyKlgxMjg3NjhEMDEqDQorRzU0RDE5MipYMTA0ODE2WTI0MzM3MEQwMipYMTEwMzI2RDAxKg0KK1gxMDQ4MTZZMjMxNTYwRDAyKlgxMTAzMjZEMDEqDQorWDExNjgxNlkyNDMzNzBEMDIqWDEyMjMyNkQwMSoNCitYMTE2ODE2WTIzMTU2MEQwMipYMTIyMzI2RDAxKg0KK0c1NEQxOTUqWDEzMDk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTM1OTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK1gxNDA5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorRzU0RDE5MSpYMTQ1OTQxWTI2NDY5M0QwMipZMjUxMzA3RDAxKg0KK0c1NEQxOTIqWDk1NTQ4WTIwNDQ1N0QwMipYOTYzMzREMDEqDQorWDk1NTQ4WTIxMTU0M0QwMipYOTYzMzREMDEqDQorRzU0RDE5NCpYMTAyNDQ5WTIxNjU1OUQwMipYMTAzNDMzRDAxKg0KK1gxMDI0NDlZMjExNDQxRDAyKlgxMDM0MzNEMDEqDQorRzU0RDE5MipYMTUwOTg0WTIxMjg5M0QwMipZMjEyMTA3RDAxKg0KK0c1NEQxOTUqWDE0NTk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitHNTREMTk0KlgxNDYwMDBZMjE4OTkyRDAyKlkyMTgwMDhEMDEqDQorRzU0RDE5MipYMTQ1MDM2WTE5ODc1NUQwMipZMTkzMjQ1RDAxKg0KK0c1NEQxOTUqWDE1MDk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTU1OTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK1gxNjA5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorRzU0RDE5NCpYMTQwODgyWTIxODk5MkQwMipZMjE4MDA4RDAxKg0KK1gxMzA0NTNZMjE3ODYyRDAyKlkyMTY4NzhEMDEqDQorWDEzNTU3MVkyMTc4NjJEMDIqWTIxNjg3OEQwMSoNCitYMTMwNDUzWTIxMTg2MkQwMipZMjEwODc4RDAxKg0KK1gxMzU1NzFZMjExODYyRDAyKlkyMTA4NzhEMDEqDQorRzU0RDE5MipYMTQzODk4WTIwNTg5M0QwMipZMjA1MTA3RDAxKg0KK1gxNTA5ODRZMjA1ODkzRDAyKlkyMDUxMDdEMDEqDQorWDE0Mzg5OFkyMTI4OTNEMDIqWTIxMjEwN0QwMSoNCitYMTU2ODQ2WTE5ODc1NUQwMipZMTkzMjQ1RDAxKg0KK1gxNTczOThZMjA1ODkzRDAyKlkyMDUxMDdEMDEqDQorWDE2NDQ4NFkyMDU4OTNEMDIqWTIwNTEwN0QwMSoNCitYMTU3NDg1WTIxMjc2M0QwMipZMjExOTc3RDAxKg0KK1gxNjQ1NzFZMjEyNzYzRDAyKlkyMTE5NzdEMDEqDQorRzU0RDE5NCpYMTg5OTQ5WTEyNDA1OUQwMipYMTkwOTMzRDAxKg0KK1gxODk5NDlZMTE4OTQxRDAyKlgxOTA5MzNEMDEqDQorWDE5NTQ3NVkxMTI4MzJEMDIqWTExMTg0OEQwMSoNCitYMTkwMzU3WTExMjgzMkQwMipZMTExODQ4RDAxKg0KK1gxODk5NDlZMTMwOTQxRDAyKlgxOTA5MzNEMDEqDQorWDE4OTk0OVkxMzYwNTlEMDIqWDE5MDkzM0QwMSoNCitHNTREMTkzKlgyMDI0NDFZMTQyNTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMzc1MDBEMDIqWDIwODk0MUQwMSoNCitYMjAyNDQxWTEzMjUwMEQwMipYMjA4OTQxRDAxKg0KK0c1NEQxOTQqWDE5NTUwMFkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMTkwMzgyWTE0MTk5MkQwMipZMTQxMDA4RDAxKg0KK1gxMTM5NzVZMTQxODMyRDAyKlkxNDA4NDhEMDEqDQorWDEwODg1N1kxNDE4MzJEMDIqWTE0MDg0OEQwMSoNCitYMTAyMTkxWTE0MDk1OEQwMipYMTAzMTc1RDAxKg0KK1gxMDIxOTFZMTQ2MDc2RDAyKlgxMDMxNzVEMDEqDQorWDEwODQ0OVkxMzA5NDFEMDIqWDEwOTQzM0QwMSoNCitYMTA4NDQ5WTEzNjA1OUQwMipYMTA5NDMzRDAxKg0KK1gxMDIyOThZMTMxMDE3RDAyKlgxMDMyODJEMDEqDQorWDEwMjI5OFkxMzYxMzVEMDIqWDEwMzI4MkQwMSoNCitYMTU1MzgyWTExMjk5MkQwMipZMTEyMDA4RDAxKg0KK0c1NEQxOTMqWDE0MTE2NlkxMTIzNDBEMDIqWDE0NzY2NkQwMSoNCitYMTQxMTY2WTExNzM0MEQwMipYMTQ3NjY2RDAxKg0KK0c1NEQxOTQqWDE2NjE2NlkxMTI1NjhEMDIqWDE2NzE1MEQwMSoNCitYMTY2MTY2WTEwNzQ1MEQwMipYMTY3MTUwRDAxKg0KK1gxNjA1MDBZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDE1OTk0OVkxMzA5NDFEMDIqWDE2MDkzM0QwMSoNCitYMTU5OTQ5WTEzNjA1OUQwMipYMTYwOTMzRDAxKg0KK1gxNTk5NDlZMTI0MDU5RDAyKlgxNjA5MzNEMDEqDQorWDE1OTk0OVkxMTg5NDFEMDIqWDE2MDkzM0QwMSoNCitHNTREMTkzKlgxNDExNjZZMTIyMzQwRDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxMjczNDBEMDIqWDE0NzY2NkQwMSoNCitYMTQxMTY2WTEzMjM0MEQwMipYMTQ3NjY2RDAxKg0KK1gxNDExNjZZMTM3MzQwRDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxNDIzNDBEMDIqWDE0NzY2NkQwMSoNCitHNTREMTk0KlgxMzcwMDBZMTQ4NDkyRDAyKlkxNDc1MDhEMDEqDQorWDEzMTg4MlkxNDg0OTJEMDIqWTE0NzUwOEQwMSoNCitYMTU1MzgyWTE0MTk5MkQwMipZMTQxMDA4RDAxKg0KK1gxNTU0MTZZMTQ4NDk3RDAyKlkxNDc1MTNEMDEqDQorWDE2MDUwMFkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMTY1NDgzWTEzMTIxOUQwMipYMTY2NDY3RDAxKg0KK1gxNjU0ODNZMTM2MzM3RDAyKlgxNjY0NjdEMDEqDQorWDE2MDUzNFkxNDg0OTdEMDIqWTE0NzUxM0QwMSoNCitYMTY1OTQ5WTEyNDA1OUQwMipYMTY2OTMzRDAxKg0KK1gxNjU5NDlZMTE4OTQxRDAyKlgxNjY5MzNEMDEqDQorRzU0RDE5MypYMTIwNjY2WTE0MjM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTM3MzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMzIzNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTEyNzM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTIyMzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMTczNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTExMjM0MEQwMipYMTI3MTY2RDAxKg0KK0c1NEQxOTQqWDExNDAwMFkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMTA4ODgyWTExMjk5MkQwMipZMTEyMDA4RDAxKg0KK1gxMDE5MDlZMTEzNDM1RDAyKlgxMDI4OTNEMDEqDQorWDEwMTkwOVkxMDgzMTdEMDIqWDEwMjg5M0QwMSoNCitYMTA4NDQ5WTEyNDA1OUQwMipYMTA5NDMzRDAxKg0KK1gxMDg0NDlZMTE4OTQxRDAyKlgxMDk0MzNEMDEqDQorWDEwMTk0OVkxMjQwNTlEMDIqWDEwMjkzM0QwMSoNCitYMTAxOTQ5WTExODk0MUQwMipYMTAyOTMzRDAxKg0KK1gyNDE0NDlZMTMwOTQxRDAyKlgyNDI0MzNEMDEqDQorWDI0MTQ0OVkxMzYwNTlEMDIqWDI0MjQzM0QwMSoNCitHNTREMTkzKlgyMjI5NDFZMTEyNTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxMTc1MDBEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTEyMjUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTI3NTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxMzI1MDBEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTEzNzUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTQyNTAwRDAyKlgyMjk0NDFEMDEqDQorRzU0RDE5NCpYMjE5MDAwWTE0ODQ5MkQwMipZMTQ3NTA4RDAxKg0KK1gyMTM4ODJZMTQ4NDkyRDAyKlkxNDc1MDhEMDEqDQorRzU0RDE5MypYMjAyNDQxWTEyNzUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMDI0NDFZMTIyNTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMTc1MDBEMDIqWDIwODk0MUQwMSoNCitYMjAyNDQxWTExMjUwMEQwMipYMjA4OTQxRDAxKg0KK0c1NEQxOTQqWDIzNjg4MlkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMjQyMDAwWTExMjk5MkQwMipZMTEyMDA4RDAxKg0KK1gyNDE0NDlZMTI0MDU5RDAyKlgyNDI0MzNEMDEqDQorWDI0MTQ0OVkxMTg5NDFEMDIqWDI0MjQzM0QwMSoNCitYMzA1Njk2WTExMDgyMkQwMipYMzA2NjgwRDAxKg0KK1gzMDU2OTZZMTE1OTQwRDAyKlgzMDY2ODBEMDEqDQorWDMwNDQ3MlkxMzY0NTBEMDIqWDMwNTQ1NkQwMSoNCitYMzA0NDcyWTE0MTU2OEQwMipYMzA1NDU2RDAxKg0KK0c1NEQxOTMqWDI3MTQzOFkxNDU4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjcxNDM4WTE0MDgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTM1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxMzA4MjJEMDIqWDI3NzkzOEQwMSoNCitHNTREMjAwKlgyOTU5NDFZMzQyMzUwRDAyKlkzMzg0NTBEMDEqDQorWDI4NTk0MVkzNDIzNTBEMDIqWTMzODQ1MEQwMSoNCitHNTREMTk0KlgyNzc0NDlZMzQyNTU5RDAyKlgyNzg0MzNEMDEqDQorWDI3NzQ0OVkzMzc0NDFEMDIqWDI3ODQzM0QwMSoNCitHNTREMjAwKlgyOTU5NDFZMzE3NTUwRDAyKlkzMTM2NTBEMDEqDQorRzU0RDE5NCpYMzAzMzY1WTMyNDc3MkQwMipYMzA0MzQ5RDAxKg0KK1gzMDMzNjVZMzE5NjU0RDAyKlgzMDQzNDlEMDEqDQorWDMwNzQ2MlkyOTUwMzhEMDIqWDMwODQ0NkQwMSoNCitYMzA3NDYyWTMwMDE1NkQwMipYMzA4NDQ2RDAxKg0KK0c1NEQxOTgqWDI5Nzk3NlkyOTU1OTNEMDIqWDMwMTM3NEQwMSoNCitHNTREMjAwKlgyODU5NDFZMzE3NTUwRDAyKlkzMTM2NTBEMDEqDQorRzU0RDE5OCpYMjkyMDAzWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyOTAwMzVZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI4ODA2NlkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjg2MDk4WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyODQxMjlZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI4MjE2MVkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjk3OTc2WTI5MzYyNUQwMipYMzAxMzc0RDAxKg0KK1gyODAxOTJZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3ODIyNFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjc2MjU1WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNzQyODdZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3MjMxOFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjcwMzUwWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNTMxMDZZMjgxODEzRDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzk4NDREMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI3Nzg3NkQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjc1OTA3RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzM5MzlEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI3MTk3MEQwMipYMjU2NTA0RDAxKg0KK0c1NEQxOTQqWDI5Njc0OFkyNTIzODhEMDIqWDI5NzczMkQwMSoNCitHNTREMTkyKlgyOTAwNDhZMjUyMDAwRDAyKlgyOTA4MzREMDEqDQorRzU0RDE5OCpYMjk3OTc2WTI2NjA2NkQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjY4MDM0RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzAwMDNEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3MTk3MUQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjczOTQwRDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzU5MDhEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3Nzg3N0QwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjc5ODQ1RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyODE4MTREMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI4Mzc4MkQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjg1NzUxRDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyODc3MTlEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI4OTY4OEQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjkxNjU2RDAyKlgzMDEzNzREMDEqDQorRzU0RDE4MypYMzA3NzE2WTI3NTA3NUQwMyoNCitYMzA4OTkyWTI3MTk3MUQwMyoNCitYMzA4ODcyWTI2NjUyMkQwMyoNCitYMjg3OTE3WTMwNzgyOUQwMyoNCitYMjkzOTAyWTI4MjI2M0QwMyoNCitYMjk2Nzc5WTMwNDk2M0QwMyoNCitYMjk1OTM3WTI0MzYyOEQwMyoNCitYMjk2NzI3WTI1NjIyN0QwMyoNCitYMzEyMTU3WTMwMDE1NkQwMyoNCitYMzEyMTIyWTI5NTAzOEQwMyoNCitYMzAzMzY1WTMzMDAwMEQwMyoNCitYMjg1NDMwWTMyNTAwMEQwMyoNCitYMzAyOTQxWTM0MDAwN0QwMyoNCitYMjQ1NTU3WTI3OTUwOEQwMyoNCitYMjQyNDU2WTI5MzU0M0QwMyoNCitYMjYyNzUwWTI2ODc3MkQwMyoNCitYMjUzMTAxWTI2MTgzNkQwMyoNCitHNTREMjAxKlgyNDY5NDFZMjM4MDAwRDAzKg0KK1gyNDI0NDFZMjI5NTAwRDAzKg0KK1gyNDY0NDFEMDMqDQorWDI1MDk0MUQwMyoNCitYMjYwOTQxWTE5MTUwMEQwMyoNCitYMjQ1ODYzWTE5MTUyNEQwMyoNCitYMjY5NDQxWTE5ODUwMEQwMyoNCitYMjY5OTQxWTIzMTUwMEQwMyoNCitYMjUxOTQxWTIxMDUwMEQwMyoNCitYMjQzOTQxWTIwMjAwMEQwMyoNCitYMjUzNDQxWTEwMjUwMEQwMyoNCitYMjMxNDQxWTE0ODAwMEQwMyoNCitYMzA5NDQxWTE0MTU2OEQwMyoNCitZMTM2NDUwRDAzKg0KK1gzMTA5NDFZMTE1OTQwRDAzKg0KK1gzMDU2OTZZMTA3NTAwRDAzKg0KK1gzMDQ1ODRZMjA3NDgzRDAzKg0KK1gzMDQ3MDZZMjEwNTgzRDAzKg0KK1gzMDUyODBZMjA0MzgzRDAzKg0KK0c1NEQxODMqWDI1NDc0MFkyOTgzMjlEMDMqDQorWDI0MjE2OFkyOTg4MDBEMDMqDQorRzU0RDIwMSpYMjQ2NzMxWTMwMzAzMUQwMyoNCitHNTREMTgzKlgyNjk2NTNZMjk4NjMxRDAzKg0KK0c1NEQyMDEqWDI3MDQ0MVkzMzYwMDBEMDMqDQorWTM0MjUwMEQwMyoNCitZMzQ5NTAwRDAzKg0KK0c1NEQxODMqWDI2ODk0MVkzMTQwMDBEMDMqDQorRzU0RDIwMSpYMjcwNDQxWTM1NzAwMEQwMyoNCitHNTREMTgzKlgyNzMyMjlZMjk4NTgyRDAzKg0KK1gyNzgyMjVZMjc5NjAyRDAzKg0KK1gyNzgyMDdZMjk4NjEyRDAzKg0KK1gyNzcxNzRZMzA4MjE5RDAzKg0KK1gyNzc0NDlZMzQ3NTAwRDAzKg0KK0c1NEQyMDEqWDI2MzQ0MVkzMjAwMDBEMDMqDQorWDI2MDU2OFkzMTY5OTdEMDMqDQorWDI2MTUwMlkzMDczNjdEMDMqDQorWDI0OTEwMVkzMjg3OTNEMDMqDQorWDIyOTgxOFkzNTQ5ODhEMDMqDQorRzU0RDE4MypYMjY2NDEzWTI5NjU5NEQwMyoNCitYMjYzMjQwWTI5NTMyOUQwMyoNCitYMjYyNzQwWTI5MTgyOUQwMyoNCitYMjYwMzQxWTI4NDI0OUQwMyoNCitYMjY0MDM0WTI4MjkzMUQwMyoNCitHNTREMjAxKlgyNzk0NDFZMjg1MDAwRDAzKg0KK0c1NEQyMDIqWDM4NjQ0MVkxNjMwMDBEMDMqDQorWDQwMDQ0MVkxOTQwMDBEMDMqDQorWDM4OTQ0MVkxODQwMDBEMDMqDQorWDQwMDQ0MVkxODkwMDBEMDMqDQorRzU0RDIwMSpYMzg2MDIzWTE1NzgxM0QwMyoNCitYMzk4NDQxWTE3MzAwMEQwMyoNCitHNTREMjAyKlgzOTM0NDFZMjA4MDAwRDAzKg0KK1gzODQxNjJZMTg4MDAwRDAzKg0KK1g0NTg0NDFZMTk1MDAwRDAzKg0KK1kxNjQwMDBEMDMqDQorWDM3MjQ0MVkxNzAzODZEMDMqDQorRzU0RDIwMSpYMzc3MzQ3WTE2MjE3OEQwMyoNCitHNTREMjAyKlgzODc0NDFZMzI2MDAwRDAzKg0KK1gzOTM0NDFZMzU1MDAwRDAzKg0KK1gzODY3MjBZMjgyMDAwRDAzKg0KK1gzOTM0NDFZMzI3MDAwRDAzKg0KK1gzODQxNjJZMzA2MDAwRDAzKg0KK1gzODU5NDFZMzU0NTAwRDAzKg0KK1g0NTg0NDFZMzc1MDAwRDAzKg0KK1gzODM2NjJZMzc4NTAwRDAzKg0KK1gzOTc0NDFZMzczMDAwRDAzKg0KK1gzOTc5NDFZMzY3NDQxRDAzKg0KK0c1NEQyMDEqWDM4NTk0MVkzNjYwMDBEMDMqDQorRzU0RDIwMipYNDU4NDQxWTM0NTAwMEQwMyoNCitZMzE1MDAwRDAzKg0KK1kyODUwMDBEMDMqDQorWDM5ODQ0MVkzMTQwMDBEMDMqDQorWTMwOTAwMEQwMyoNCitHNTREMjAxKlkyOTEwMDBEMDMqDQorRzU0RDIwMipYMzcyNDQxWTI5MDY4OUQwMyoNCitZMzUxMTg5RDAzKg0KK0c1NEQyMDEqWDMzOTgzN1kzNDE4MjdEMDMqDQorWDM1MzM5MFkzMzk1MjFEMDMqDQorRzU0RDIwMipYMzc1NDQxWTIzNTAwMEQwMyoNCitHNTREMjAxKlgzNTY0NDFZMjMzMDAwRDAzKg0KK1gzMzg0NDFZMjI0MTkyRDAzKg0KK1kyMzAxMjREMDMqDQorWDMzNzQ0MVkxNjMwMDBEMDMqDQorWDM1ODk0MVkyMDg1MDBEMDMqDQorRzU0RDIwMipYMzg0NTEyWTI1ODAwMEQwMyoNCitHNTREMjAxKlgzNzE2MDJZMjYwMjI4RDAzKg0KK0c1NEQyMDIqWDQ1ODQ0MVkyNTQwMDBEMDMqDQorWTIyNTAwMEQwMyoNCitYMzg3MDcwWTIzNTAwMEQwMyoNCitYMzk4NDQxWTI0ODAwMEQwMyoNCitZMjUzMDAwRDAzKg0KK0c1NEQyMDEqWDM5NjQ0MVkyMzUwMDBEMDMqDQorWDM5MjE4OFkyMzkwMDBEMDMqDQorWDM4ODIwN1kyNDcyODBEMDMqDQorRzU0RDE4MypYMjM5MzAyWTI2MjIzNUQwMyoNCitHNTREMjAxKlgyNDU0NDFZMTI3NTAwRDAzKg0KK1gyMzU5NDFZMTMzMDAwRDAzKg0KK1gyMzY0NDFZMjM1NTAwRDAzKg0KK1gyMDI0NDFZMjEyNTAwRDAzKg0KK1gyMTA0NDFEMDMqDQorWDIyMDQ0MVkyMTUwMDBEMDMqDQorWDIyNDk0MVkyMjA1MDBEMDMqDQorWDIyNTQ0MVkyMjY1MDBEMDMqDQorWDIyNDk0MVkyMzU1MDBEMDMqDQorWDIyNDQ0MVkyNDQwMDBEMDMqDQorWDIxMjk0MVkyMzgwMDBEMDMqDQorWDIwMzk0MVkyMzc1MDBEMDMqDQorWDE5Mzk0MVkyMzcwMDBEMDMqDQorWDE4MTk0MVkyNTg1MDBEMDMqDQorWDE4Mzk0MVkxMDQwMDBEMDMqDQorWDExMjIyMlkxMjczNDBEMDMqDQorWDExNDQ0MVkxMjE1MDBEMDMqDQorWDExNTQ0MVkxMzI1MDBEMDMqDQorWDEwMTk0MVkxMDQ1MDBEMDMqDQorWDE2NjQ0MVkxMDQwMDBEMDMqDQorWDEyNzk0MVkxNDgwMDBEMDMqDQorWDEwNjQ0MVkxNDg1MDBEMDMqDQorWDE0OTk0MVkxNDkwMDBEMDMqDQorWDEzODkyNVkyMDYxMTNEMDMqDQorWDEzODg3MlkyMDIwMzBEMDMqDQorWDEzODkyNVkxOTc4NDFEMDMqDQorWDE2MTk0MVkxOTkwMDBEMDMqDQorWDE2Njk0MVkxOTc1MDBEMDMqDQorWDEzODkyNVkxOTI2OThEMDMqDQorWDE2MTk0MVkxOTMwMDBEMDMqDQorWDE2Njk0MUQwMyoNCitYMTYzOTQxWTEyNzUwMEQwMyoNCitYMTkzMzkwRDAzKg0KK1gxNTI0NDFZMTIxNTAwRDAzKg0KK1gxNTE5NDFZMTMyMDAwRDAzKg0KK1gxOTU0NDFZMTMzMDAwRDAzKg0KK1gxNDE0NDFZMTQ4MDAwRDAzKg0KK1gyMDg5NDFEMDMqDQorWDIyMzk0MUQwMyoNCitYMTk4NDQxWTEyMjUwMEQwMyoNCitYMjM0NDQxRDAzKg0KK1gyMjE4ODRZMjU0MDAwRDAzKg0KK1gyMjQ0NDFZMjUyMDAwRDAzKg0KK1gyMjU0NDFZMjQ5MDAwRDAzKg0KK1gyMzA0NDFZMjQ3MDAwRDAzKg0KK1gyMTk0NDFZMjcyNTAwRDAzKg0KK1gyMzA0NDFZMjkzMDAwRDAzKg0KK1gyMjA3MjlZMjY1NTgwRDAzKg0KK1gyMjA0NDFZMjU5NTAwRDAzKg0KK1gyMTg0NDFZMjYxNTAwRDAzKg0KK1gyMTc0NDFZMjc5MDAwRDAzKg0KK1gyNDAzOTFZMjc4NTY0RDAzKg0KK1gxMjg5NDFZMjc0NTAwRDAzKg0KK1kyNjg1MDBEMDMqDQorWTI2MjUwMEQwMyoNCitZMjU1MDAwRDAzKg0KK1kyNDg1MDBEMDMqDQorWTI0MjUwMEQwMyoNCitYMTA0NDQxWTIwNDUwMEQwMyoNCitYMTAwOTQxRDAzKg0KK1gxNDEzMDdZMzAwODgzRDAzKg0KK1gxMjQ4MzFZMzAyMzg1RDAzKg0KK1gxNTg0NDFZMzIzODI5RDAzKg0KK1kzMjg4MjlEMDMqDQorWTMyNjUwMEQwMyoNCitYMTUzOTQxWTMzODAwMEQwMyoNCitYMTU0OTQxWTM0NTUwMEQwMyoNCitYMTM1NDQxWTMzODUwMEQwMyoNCitZMzM1MDAwRDAzKg0KK1gxMzk5NDFZMzM4MDAwRDAzKg0KK1gxMTE5NDFZMzM0MDAwRDAzKg0KK1gxMTc5NDFEMDMqDQorWDEyNjQ0MUQwMyoNCitYMTQyNDQxWTM1NzUwMEQwMyoNCitZMzQ5NTAwRDAzKg0KK1gxNDk0NDFEMDMqDQorWDEyNjQ0MVkzNDA1MDBEMDMqDQorWDExMTk0MVkzNDEwMDBEMDMqDQorWTM1NzUwMEQwMyoNCitYMTIxOTQxRDAzKg0KK1gxMzA5NDFEMDMqDQorWDE5NzQ0MVkzMTQ1MDBEMDMqDQorWTMwODUwMEQwMyoNCitYMTk4NDQxWTI2MjUwMEQwMyoNCitZMjY5NTAwRDAzKg0KK1gyMDU0NDFZMjc3MDAwRDAzKg0KK1gxOTU0NDFZMzExNTAwRDAzKg0KK1gxOTEzNjNZMzQ0NDQ5RDAzKg0KK1gxNzg4ODdZMzQyODE4RDAzKg0KK1gxNjg3MzJZMzUwODMzRDAzKg0KK1gxNjI0NDFZMjQyNTAwRDAzKg0KK1gxNjU5NDFZMjMxMDAwRDAzKg0KK1kyMjY1MDBEMDMqDQorWDE4NTQ0MVkyMjgwMDBEMDMqDQorWDE3NzQ0MUQwMyoNCitYMTYyNDQxWTI0ODUwMEQwMyoNCitYMTYxOTQxWTI1NTAwMEQwMyoNCitYMTYyNDQxWTI2MjUwMEQwMyoNCitYMTYyOTQxWTI2ODUwMEQwMyoNCitZMjc0NTAwRDAzKg0KK1gxNjU5NDFZMjIwNTAwRDAzKg0KK1gxNjk0NDFZMjE0MDAwRDAzKg0KK1kyMDg1MDBEMDMqDQorWTIwMTUwMEQwMyoNCitYMTc3NDQxWTIxNzUwMEQwMyoNCitYMTg1NDQxRDAzKg0KK1gxOTM5NDFZMjEyNTAwRDAzKg0KK0c1NEQyMDIqWDQzMjMyNFkxMTEwMDBEMDMqDQorWDQ0NjQ0MVkxMDIwMDBEMDMqDQorWDQzNDg4Mlk3NTAwMEQwMyoNCitHNTREMjAzKlg0NDA5NDFZMTIzMDAwRDAzKg0KK0c1NEQyMDIqWDQyMzQ0MVk3NTAwMEQwMyoNCitHNTREMjAxKlg0MzQ0NDlZNTY1MDBEMDMqDQorWDQ0MDQ0OUQwMyoNCitYMzU0OTQxWTkzNDk5RDAzKg0KK1k5Nzk5OUQwMyoNCitZMTAzOTk5RDAzKg0KK1kxMDk5OTlEMDMqDQorWTExNTk5OUQwMyoNCitZMTIxOTk5RDAzKg0KK1kxMjc5OTlEMDMqDQorWDM4Nzk0MUQwMyoNCitZMTIxOTk5RDAzKg0KK1kxMTU5OTlEMDMqDQorWTEwOTk5OUQwMyoNCitZOTc5OTlEMDMqDQorWTkzNDk5RDAzKg0KK1kxMDM5OTlEMDMqDQorWDM5MTQ0MVk4NDQ5OUQwMyoNCitZNzk5OTlEMDMqDQorWDM5MTk0MVk3NDQ5OUQwMyoNCitYMzk1NDQxWTY2OTk5RDAzKg0KK1gzOTQ0NDFZNTk5OTlEMDMqDQorWDM5Mjk0MVk1MzQ5OUQwMyoNCitYMzY4OTQxWTQ4NTAwRDAzKg0KK1k0MzUwMEQwMyoNCitYMzc0OTQxRDAzKg0KK1k0NzAwMEQwMyoNCitHNTREMTgxKkc1NEQyMDEqRzU0RDE4MSpHNTREMjAxKkc1NEQxODEqRzU0RDIwMSpHNTREMTgxKkc1NEQyMDEqRzU0RDE4MSpHNTREMjAxKkc1NEQxODEqRzU0RDIwMSpHNTREMTgxKkc1NEQyMDEqRzU0RDE4MSpHNTREMjAxKkc1NEQxODEqRzU0RDIwMSpHNTREMjA0Kkc1NEQyMDEqRzU0RDE4MSpHNTREMTg0Kkc1NEQyMDUqRzU0RDIwNipHNTREMjA1Kkc1NEQyMDcqRzU0RDIwOCpHNTREMjA3Kkc1NEQxODQqRzU0RDIwNSpHNTREMTg0Kkc1NEQyMDUqRzU0RDIwNypHNTREMTg0Kkc1NEQyMDcqTTAyKg0KZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUudG9wbWFzay5nYnIgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnRvcG1hc2suZ2JyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYjRkNTkKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnRvcG1hc2suZ2JyCkBAIC0wLDAgKzEsNzc1IEBACitHMDQgc3RhcnQgb2YgcGFnZSA4IGZvciBncm91cCAtNDA2MyBpZHggLTQwNjMgKg0KK0cwNCBUaXRsZTogOTcxIEJCQiBDYXBlLCBjb21wb25lbnRtYXNrICoNCitHMDQgQ3JlYXRvcjogcGNiIDIwMTEwOTE4ICoNCitHMDQgQ3JlYXRpb25EYXRlOiBNb24gSmFuIDIwIDIxOjA0OjQyIDIwMTQgVVRDICoNCitHMDQgRm9yOiBicmlhbnMgKg0KK0cwNCBGb3JtYXQ6IEdlcmJlci9SUy0yNzRYICoNCitHMDQgUENCLURpbWVuc2lvbnM6IDUwMDAwMCA0MDAwMDAgKg0KK0cwNCBQQ0ItQ29vcmRpbmF0ZS1PcmlnaW46IGxvd2VyIGxlZnQgKg0KKyVNT0lOKiUNCislRlNMQVgyNVkyNSolDQorJUxOVE9QTUFTSyolDQorJUFERDI5OVIsMC4wODA4WDAuMDgwOColDQorJUFERDI5OFIsMC4wOTg3WDAuMDk4NyolDQorJUFERDI5N1IsMC4wMTQwWDAuMDE0MColDQorJUFERDI5NlIsMC4wNDAwWDAuMDQwMColDQorJUFERDI5NVIsMC4wMjMwWDAuMDIzMColDQorJUFERDI5NFIsMC4wNDEwWDAuMDQxMColDQorJUFERDI5M1IsMC4wMzU1WDAuMDM1NSolDQorJUFERDI5MlIsMC4wMzAwWDAuMDMwMColDQorJUFERDI5MVIsMC4wNTcyWDAuMDU3MiolDQorJUFERDI5MFIsMC4yMTY2WDAuMjE2NiolDQorJUFERDI4OUMsMC4yODYwKiUNCislQUREMjg4QywwLjA4NjAqJQ0KKyVBREQyODdDLDAuMjQwMColDQorJUFERDI4NkMsMC4xODkwKiUNCislQUREMjg1QywwLjAwMDEqJQ0KKyVBREQyODRDLDAuMDcxMColDQorJUFERDI4M0MsMC4wMjUwKiUNCislQUREMjgyQywwLjAwODAqJQ0KK0c1NEQyODIqWDY4MDAwWTQyMDAwRDAyKlkyNDQwMDBEMDEqDQorWDc0NTAwWTI1MDUwMEQwMipYMTAxMDAwRDAxKg0KK1gxMDc1MDBZMjU2MDAwRDAyKlkzMTI1MDBEMDEqDQorWDEwMTAwMFkzMTkwMDBEMDIqWDc0NTAwRDAxKg0KK1g2ODAwMFkzMjU1MDBEMDIqWTM5MzMwMEQwMSoNCitYNDg0NjAwRDAyKlk0MjAwMEQwMSoNCitYNDc5MTAwWTM1NTAwRDAyKlg3MzUwMEQwMSoNCitHNTREMjgzKlgxODk5NDlZMTM2MDU5RDAyKlgxODk4OTBZMTM2MDAwRDAxKg0KK0c1NEQyODIqWDc0NTAwWTM5OTgwMEQwMipYNDc4MTAwRDAxKg0KK1g3NDUwMFkzNTUwMEQwMipHNzUqRzAyWDY4MDAwWTQyMDAwSTBKNjUwMEQwMSpHMDEqDQorWTI0NDAwMEQwMipHNzUqRzAyWDc0NTAwWTI1MDUwMEk2NTAwSjBEMDEqRzAxKg0KK1gxMDc1MDBZMjU3MDAwRDAyKkc3NSpHMDJYMTAxMDAwWTI1MDUwMEktNjUwMEowRDAxKkcwMSoNCitZMzE5MDAwRDAyKkc3NSpHMDJYMTA3NTAwWTMxMjUwMEkwSi02NTAwRDAxKkcwMSoNCitYNzQ1MDBZMzE5MDAwRDAyKkc3NSpHMDJYNjgwMDBZMzI1NTAwSTBKNjUwMEQwMSpHMDEqDQorWDQ3ODEwMFkzOTk4MDBEMDIqRzc1KkcwMlg0ODQ2MDBZMzkzMzAwSTBKLTY1MDBEMDEqRzAxKg0KK1k0MjAwMEQwMipHNzUqRzAyWDQ3ODEwMFkzNTUwMEktNjUwMEowRDAxKkcwMSoNCitYNjgwMDBZMzkzMzAwRDAyKkc3NSpHMDJYNzQ1MDBZMzk5ODAwSTY1MDBKMEQwMSpHMDEqDQorRzU0RDI4NCpYNDE3MDAwWTM4NDAwMEQwMyoNCitZMjk0MDAwRDAzKg0KK1kzNTQwMDBEMDMqDQorWDQyNzAwMFkzODQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitZMzU0MDAwRDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g0MDM0NTBZMzU3NTUwRDAyKlkzNTA0NTBEMDEqDQorWDQxMDU1MEQwMSoNCitZMzU3NTUwRDAxKg0KK1g0MDM0NTBEMDEqDQorRzM3Kg0KK0c1NEQyODYqWDM0NTc5OVkzNTczMjlEMDMqDQorRzU0RDI4NypYMzE1Nzk5WTMzNzMyOUQwMyoNCitHNTREMjg2Klg4NTc5OVkzNjk4MjlEMDMqDQorRzU0RDI4OCpYMTA1Nzk5WTM3NDgyOUQwMyoNCitHNTREMjg1KkczNioNCitYMTAxNDk5WTM2OTEyOUQwMipZMzYwNTI5RDAxKg0KK1gxMTAwOTlEMDEqDQorWTM2OTEyOUQwMSoNCitYMTAxNDk5RDAxKg0KK0czNyoNCitHNTREMjg4KlgxMTU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDEyNTc5OVkzNzQ4MjlEMDMqDQorWTM2NDgyOUQwMyoNCitYMTM1Nzk5WTM3NDgyOUQwMyoNCitZMzY0ODI5RDAzKg0KK0c1NEQyODkqWDkzMjk5WTM0MjMyOUQwMyoNCitHNTREMjg4KlgxNDU3OTlZMzc0ODI5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTY1Nzk5RDAzKg0KK1gxNTU3OTlZMzc0ODI5RDAzKg0KK1gxNjU3OTlEMDMqDQorWDE3NTc5OUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDIwNTc5OUQwMyoNCitYMTc1Nzk5WTM2NDgyOUQwMyoNCitYMTg1Nzk5RDAzKg0KK1gxOTU3OTlEMDMqDQorWDIwNTc5OUQwMyoNCitYMjE1Nzk5WTM3NDgyOUQwMyoNCitYMjI1Nzk5RDAzKg0KK1gyMzU3OTlEMDMqDQorWDIxNTc5OVkzNjQ4MjlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyNDU3OTlEMDMqDQorWDI1NTc5OUQwMyoNCitYMjY1Nzk5RDAzKg0KK1gyNDU3OTlZMzc0ODI5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDI2NTc5OUQwMyoNCitYMjc1Nzk5RDAzKg0KK1kzNjQ4MjlEMDMqDQorWDI4NTc5OVkzNzQ4MjlEMDMqDQorWDI5NTc5OUQwMyoNCitYMzA1Nzk5RDAzKg0KK1gzMTU3OTlEMDMqDQorWDMyNTc5OUQwMyoNCitYMjg1Nzk5WTM2NDgyOUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g0NDk5NTBZMjY3NTUwRDAyKlkyNjA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMjY3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMjA3NTUwRDAyKlkyMDA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMjA3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMTc3NTUwRDAyKlkxNzA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMTc3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDQ2MzUwMFkyNjQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kxNDQwMDBEMDMqDQorWTExNDAwMEQwMyoNCitZODQwMDBEMDMqDQorWDQ3MzUwMFkyNjQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMTc0MDAwRDAzKg0KK1kxNDQwMDBEMDMqDQorWTExNDAwMEQwMyoNCitZODQwMDBEMDMqDQorRzU0RDI4NSpHMzYqDQorWDQ0OTk1MFkyMzc1NTBEMDIqWTIzMDQ1MEQwMSoNCitYNDU3MDUwRDAxKg0KK1kyMzc1NTBEMDEqDQorWDQ0OTk1MEQwMSoNCitHMzcqDQorRzU0RDI4NCpYNDYzNTAwWTIzNDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g0NDk5NTBZMTQ3NTUwRDAyKlkxNDA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMTQ3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0czNioNCitZMTE3NTUwRDAyKlkxMTA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMTE3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0czNioNCitZODc1NTBEMDIqWTgwNDUwRDAxKg0KK1g0NTcwNTBEMDEqDQorWTg3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0czNioNCitZNTc1NTBEMDIqWTUwNDUwRDAxKg0KK1g0NTcwNTBEMDEqDQorWTU3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDQ2MzUwMFk1NDAwMEQwMyoNCitYNDczNTAwRDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g0NDk5NTBZMzI3NTUwRDAyKlkzMjA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMzI3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDQ2MzUwMFkzMjQwMDBEMDMqDQorWDQ3MzUwMEQwMyoNCitHNTREMjg1KkczNioNCitYNDQ5OTUwWTI5NzU1MEQwMipZMjkwNDUwRDAxKg0KK1g0NTcwNTBEMDEqDQorWTI5NzU1MEQwMSoNCitYNDQ5OTUwRDAxKg0KK0czNyoNCitHNTREMjg0Klg0NjM1MDBZMjk0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorWDQzNzAwMFkzMjQwMDBEMDMqDQorRzU0RDI4NSpHMzYqDQorWDMwODg5MVkyNTI1NTBEMDIqWTI0NTQ1MEQwMSoNCitYMzE1OTkxRDAxKg0KK1kyNTI1NTBEMDEqDQorWDMwODg5MUQwMSoNCitHMzcqDQorRzU0RDI4NCpYMzIyNDQxWTI0OTAwMEQwMyoNCitYMzMyNDQxRDAzKg0KK1gzNDI0NDFEMDMqDQorRzU0RDI4NipYMzQ1Nzk5WTE5MjMyOUQwMyoNCitHNTREMjg1KkczNioNCitYNDQ5OTUwWTM4NzU1MEQwMipZMzgwNDUwRDAxKg0KK1g0NTcwNTBEMDEqDQorWTM4NzU1MEQwMSoNCitYNDQ5OTUwRDAxKg0KK0czNyoNCitHNTREMjg0Klg0NjM1MDBZMzg0MDAwRDAzKg0KK1g0NzM1MDBEMDMqDQorRzU0RDI4NSpHMzYqDQorWDQwMzQ1MFkzODc1NTBEMDIqWTM4MDQ1MEQwMSoNCitYNDEwNTUwRDAxKg0KK1kzODc1NTBEMDEqDQorWDQwMzQ1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kyOTc1NTBEMDIqWTI5MDQ1MEQwMSoNCitYNDEwNTUwRDAxKg0KK1kyOTc1NTBEMDEqDQorWDQwMzQ1MEQwMSoNCitHMzcqDQorRzM2Kg0KK1kzMjc1NTBEMDIqWTMyMDQ1MEQwMSoNCitYNDEwNTUwRDAxKg0KK1kzMjc1NTBEMDEqDQorWDQwMzQ1MEQwMSoNCitHMzcqDQorRzU0RDI4NCpYNDE3MDAwWTMyNDAwMEQwMyoNCitYNDI3MDAwRDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g0NDk5NTBZMzU3NTUwRDAyKlkzNTA0NTBEMDEqDQorWDQ1NzA1MEQwMSoNCitZMzU3NTUwRDAxKg0KK1g0NDk5NTBEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDQzNzAwMFkzNTQwMDBEMDMqDQorWDQ2MzUwMEQwMyoNCitYNDczNTAwRDAzKg0KK1g0MzcwMDBZMzg0MDAwRDAzKg0KK1kxNzQwMDBEMDMqDQorWTIwNDAwMEQwMyoNCitZMjM0MDAwRDAzKg0KK1kyNjQwMDBEMDMqDQorWTI5NDAwMEQwMyoNCitHNTREMjg1KkczNioNCitYNDAzNDUwWTE3NzU1MEQwMipZMTcwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTE3NzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIwNzU1MEQwMipZMjAwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTIwNzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTIzNzU1MEQwMipZMjMwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTIzNzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHMzYqDQorWTI2NzU1MEQwMipZMjYwNDUwRDAxKg0KK1g0MTA1NTBEMDEqDQorWTI2NzU1MEQwMSoNCitYNDAzNDUwRDAxKg0KK0czNyoNCitHNTREMjg0Klg0MTcwMDBZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK1g0MjcwMDBZMTc0MDAwRDAzKg0KK1kyMDQwMDBEMDMqDQorWTIzNDAwMEQwMyoNCitZMjY0MDAwRDAzKg0KK0c1NEQyODUqRzM2Kg0KK1gyMDE4OTFZNTEwNTBEMDIqWTQzOTUwRDAxKg0KK1gyMDg5OTFEMDEqDQorWTUxMDUwRDAxKg0KK1gyMDE4OTFEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDIwNTQ0MVk1NzUwMEQwMyoNCitZNjc1MDBEMDMqDQorRzU0RDI4NSpHMzYqDQorWDIzMTg5MVk1MTA1MEQwMipZNDM5NTBEMDEqDQorWDIzODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDIzMTg5MUQwMSoNCitHMzcqDQorRzU0RDI4NCpYMjM1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitHNTREMjg1KkczNioNCitYMjYxODkxWTUxMDUwRDAyKlk0Mzk1MEQwMSoNCitYMjY4OTkxRDAxKg0KK1k1MTA1MEQwMSoNCitYMjYxODkxRDAxKg0KK0czNyoNCitHMzYqDQorWDE3MTg5MUQwMipZNDM5NTBEMDEqDQorWDE3ODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDE3MTg5MUQwMSoNCitHMzcqDQorRzM2Kg0KK1gxNDE4OTFEMDIqWTQzOTUwRDAxKg0KK1gxNDg5OTFEMDEqDQorWTUxMDUwRDAxKg0KK1gxNDE4OTFEMDEqDQorRzM3Kg0KK0czNioNCitYMTExODkxRDAyKlk0Mzk1MEQwMSoNCitYMTE4OTkxRDAxKg0KK1k1MTA1MEQwMSoNCitYMTExODkxRDAxKg0KK0czNyoNCitHMzYqDQorWDgxODkxRDAyKlk0Mzk1MEQwMSoNCitYODg5OTFEMDEqDQorWTUxMDUwRDAxKg0KK1g4MTg5MUQwMSoNCitHMzcqDQorRzU0RDI4NCpYMjY1NDQxWTU3NTAwRDAzKg0KK1gxNzU0NDFEMDMqDQorWDE0NTQ0MUQwMyoNCitYMTE1NDQxRDAzKg0KK1g4NTQ0MUQwMyoNCitYMjY1NDQxWTY3NTAwRDAzKg0KK1gxNzU0NDFEMDMqDQorRzU0RDI4NSpHMzYqDQorWDI5MTg5MVk1MTA1MEQwMipZNDM5NTBEMDEqDQorWDI5ODk5MUQwMSoNCitZNTEwNTBEMDEqDQorWDI5MTg5MUQwMSoNCitHMzcqDQorRzU0RDI4NCpYMjk1NDQxWTU3NTAwRDAzKg0KK1k2NzUwMEQwMyoNCitYMTQ1NDQxRDAzKg0KK1gxMTU0NDFEMDMqDQorWDg1NDQxRDAzKg0KK0c1NEQyODYqWDg1Nzk5WTE3OTgyOUQwMyoNCitHNTREMjg4KlgxMDU3OTlZMTg0ODI5RDAzKg0KK0c1NEQyODUqRzM2Kg0KK1gxMDE0OTlZMTc5MTI5RDAyKlkxNzA1MjlEMDEqDQorWDExMDA5OUQwMSoNCitZMTc5MTI5RDAxKg0KK1gxMDE0OTlEMDEqDQorRzM3Kg0KK0c1NEQyODgqWDExNTc5OVkxODQ4MjlEMDMqDQorWTE3NDgyOUQwMyoNCitYMTI1Nzk5WTE4NDgyOUQwMyoNCitZMTc0ODI5RDAzKg0KK0c1NEQyODUqRzM2Kg0KK1g4MTg5MVkyNDM1NTBEMDIqWTIzNjQ1MEQwMSoNCitYODg5OTFEMDEqDQorWTI0MzU1MEQwMSoNCitYODE4OTFEMDEqDQorRzM3Kg0KK0c1NEQyODQqWDg1NDQxWTIzMDAwMEQwMyoNCitZMjIwMDAwRDAzKg0KK0c1NEQyODgqWDEzNTc5OVkxODQ4MjlEMDMqDQorWDE0NTc5OUQwMyoNCitYMTU1Nzk5RDAzKg0KK1gxMzU3OTlZMTc0ODI5RDAzKg0KK1gxNDU3OTlEMDMqDQorWDE1NTc5OUQwMyoNCitYMTY1Nzk5WTE4NDgyOUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitYMTY1Nzk5WTE3NDgyOUQwMyoNCitYMTc1Nzk5RDAzKg0KK1gxODU3OTlEMDMqDQorWDE5NTc5OUQwMyoNCitHNTREMjg1KkczNioNCitYMTkxNDk5WTIwMTYyOUQwMipZMTkzMDI5RDAxKg0KK1gyMDAwOTlEMDEqDQorWTIwMTYyOUQwMSoNCitYMTkxNDk5RDAxKg0KK0czNyoNCitHNTREMjg4KlgyMDU3OTlZMTk3MzI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjM1Nzk5RDAzKg0KK1gyMDU3OTlZMTg0ODI5RDAzKg0KK1gyMTU3OTlEMDMqDQorWDIyNTc5OUQwMyoNCitYMjA1Nzk5WTE3NDgyOUQwMyoNCitYMjE1Nzk5RDAzKg0KK1gyMjU3OTlEMDMqDQorWDIzNTc5OUQwMyoNCitYMjQ1Nzk5RDAzKg0KK1gyNTU3OTlEMDMqDQorWDIzNTc5OVkxODQ4MjlEMDMqDQorWDI0NTc5OUQwMyoNCitYMjU1Nzk5RDAzKg0KK1gyNjU3OTlEMDMqDQorWTE3NDgyOUQwMyoNCitYMjc1Nzk5WTE4NDgyOUQwMyoNCitYMjg1Nzk5RDAzKg0KK1gyOTU3OTlEMDMqDQorWDMwNTc5OUQwMyoNCitYMzE1Nzk5RDAzKg0KK1gzMjU3OTlEMDMqDQorWDI3NTc5OVkxNzQ4MjlEMDMqDQorWDI4NTc5OUQwMyoNCitYMjk1Nzk5RDAzKg0KK1gzMDU3OTlEMDMqDQorWDMxNTc5OUQwMyoNCitYMzI1Nzk5RDAzKg0KK0c1NEQyOTAqWDM3MTk0MVkxMTgxOTNEMDIqWTEwNDgwN0QwMSoNCitHNTREMjkxKlgzOTc1NDhZOTgwNDJEMDIqWDM5ODMzNEQwMSoNCitHNTREMjkyKlgyNzE0MzhZMTI1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI5MTkzOEQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTMwODIyRDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMzU4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjkxOTM4WTE0MDgyMkQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTQ1ODIyRDAyKlgyOTg0MzhEMDEqDQorWDI3MTQzOFkxMjA4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjcxNDM4WTExNTgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTEwODIyRDAyKlgyNzc5MzhEMDEqDQorWDI5MTkzOEQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTE1ODIyRDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMjA4MjJEMDIqWDI5ODQzOEQwMSoNCitHNTREMjkzKlgyMzU5NDFZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorWDI0MTA1OVkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMjQxMDczWTE0ODI0NkQwMipZMTQ3MjYyRDAxKg0KK1gyMzU5NTVZMTQ4MjQ2RDAyKlkxNDcyNjJEMDEqDQorWDI0NzUxNlkxMzExNDlEMDIqWDI0ODUwMEQwMSoNCitYMjQ3NTE2WTEzNjI2N0QwMipYMjQ4NTAwRDAxKg0KK1gyNDc5NDlZMTI0MDU5RDAyKlgyNDg5MzNEMDEqDQorWDI0Nzk0OVkxMTg5NDFEMDIqWDI0ODkzM0QwMSoNCitYMjQ3OTQ5WTEwNzU1OUQwMipYMjQ4OTMzRDAxKg0KK1gyNDc5NDlZMTAyNDQxRDAyKlgyNDg5MzNEMDEqDQorWDE4Mzk0OVkxMjQwNTlEMDIqWDE4NDkzM0QwMSoNCitYMTgzOTQ5WTExODk0MUQwMipYMTg0OTMzRDAxKg0KK1gxODM5NDlZMTEzMDU5RDAyKlgxODQ5MzNEMDEqDQorWDE4Mzk0OVkxMDc5NDFEMDIqWDE4NDkzM0QwMSoNCitYMTg0NDkxWTEzMDk1M0QwMipYMTg1NDc1RDAxKg0KK1gxODQ0OTFZMTM2MDcxRDAyKlgxODU0NzVEMDEqDQorWDE5NzAwMFkxNDg4MzhEMDIqWTE0Nzg1NEQwMSoNCitYMjAyMTE4WTE0ODgzOEQwMipZMTQ3ODU0RDAxKg0KK1g0MzIwMDBZNzA0OTJEMDIqWTY5NTA4RDAxKg0KK1g0MjY4ODJZNzA0OTJEMDIqWTY5NTA4RDAxKg0KK0c1NEQyOTEqWDM0MDE4Nlk5ODQwNEQwMipYMzQ1Njk2RDAxKg0KK1gzNDAxODZZODY1OTREMDIqWDM0NTY5NkQwMSoNCitYMzI3MTg2RDAyKlgzMzI2OTZEMDEqDQorWDM5NzU0OFk5MDk1NkQwMipYMzk4MzM0RDAxKg0KK1gzMjcxODZZOTg0MDREMDIqWDMzMjY5NkQwMSoNCitHNTREMjkzKlgzNzIwMDBZNzI0OTFEMDIqWTcxNTA3RDAxKg0KK1gzNjY4ODJZNzI0OTFEMDIqWTcxNTA3RDAxKg0KK1gzNTY4MjNZNzE5OTJEMDIqWTcxMDA4RDAxKg0KK1gzNjE5NDFZNzE5OTJEMDIqWTcxMDA4RDAxKg0KK1gzNTY4MjNZNjU5OTJEMDIqWTY1MDA4RDAxKg0KK1gzNjE5NDFZNjU5OTJEMDIqWTY1MDA4RDAxKg0KK0c1NEQyOTEqWDM3NDU0OFk1MTQxM0QwMipYMzc1MzM0RDAxKg0KK1gzODE1MzZZNDg3NTVEMDIqWTQzMjQ1RDAxKg0KK1gzOTMzNDZZNDg3NTVEMDIqWTQzMjQ1RDAxKg0KK1gzNzQ1NDhZNTg0OTlEMDIqWDM3NTMzNEQwMSoNCitYMzgxODk4WTU4ODkzRDAyKlk1ODEwN0QwMSoNCitYMzg4OTg0WTU4ODkzRDAyKlk1ODEwN0QwMSoNCitHNTREMjk0KlgzNTY5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK1gzNjE5NDFZODQ3MjhEMDIqWTc4NDI5RDAxKg0KK0c1NEQyOTEqWDM3MDM5OFk2NjM5M0QwMipZNjU2MDdEMDEqDQorWDM3NzQ4NFk2NjM5M0QwMipZNjU2MDdEMDEqDQorWDM4NDM5OFk2Njg5M0QwMipZNjYxMDdEMDEqDQorWDM5MTQ4NFk2Njg5M0QwMipZNjYxMDdEMDEqDQorRzU0RDI5NCpYMzY2OTQxWTg0NzI4RDAyKlk3ODQyOUQwMSoNCitYMzcxOTQxWTg0NzI4RDAyKlk3ODQyOUQwMSoNCitYMzc2OTQxWTg0NzI4RDAyKlk3ODQyOUQwMSoNCitYMzgxOTQxWTg0NzI4RDAyKlk3ODQyOUQwMSoNCitYMzg2OTQxWTg0NzI4RDAyKlk3ODQyOUQwMSoNCitHNTREMjkzKlgzOTc0NDlZNzkzODFEMDIqWDM5ODQzM0QwMSoNCitYMzk3NDQ5WTg0NDk5RDAyKlgzOTg0MzNEMDEqDQorWDM5NDk0OVkxODg0NDFEMDIqWDM5NTkzM0QwMSoNCitYMzk0OTQ5WTE5MzU1OUQwMipYMzk1OTMzRDAxKg0KK0c1NEQyOTUqWDM5NDM5N1kyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzc2NDg1WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzNzkwNDRZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM4MTYwM1kyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzg0MTYyWTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzODY3MjBZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM4OTI3OVkyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzkxODM4WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK0c1NEQyOTMqWDM5MjY0M1kyNDcwNTZEMDIqWDM5MzYyN0QwMSoNCitYMzkyNjQzWTI1MjE3NEQwMipYMzkzNjI3RDAxKg0KK0c1NEQyOTUqWDM5NDM5N1kyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzkxODM4WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzODkyNzlZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM4NjcyMFkyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzg0MTYyWTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzODE2MDNZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM3OTA0NFkyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzc2NDg1WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK0c1NEQyOTMqWDM5Mjk0OVkzNjU5NDFEMDIqWDM5MzkzM0QwMSoNCitYMzkyOTQ5WTM3MTA1OUQwMipYMzkzOTMzRDAxKg0KK0c1NEQyOTUqWDM5NDM5N1kzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzkxODM4WTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1gzODkyNzlZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWDM4NjcyMFkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzg5Mjc5WTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzOTE4MzhZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM5NDM5N1kzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzg0MTYyWTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1kzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzg2NzIwWTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzODE2MDNZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzNzkwNDRZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWDM3NjQ4NVkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM3OTA0NFkzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitHNTREMjkzKlgzOTI5NDlZMzA2MDAwRDAyKlgzOTM5MzNEMDEqDQorWDM5Mjk0OVkzMTExMThEMDIqWDM5MzkzM0QwMSoNCitHNTREMjkxKlgyNDUzMTJZMzQ5ODkzRDAyKlkzNDkxMDdEMDEqDQorWTM0Mjg5M0QwMipZMzQyMTA3RDAxKg0KK1gyNDUzNTVZMzU2ODkzRDAyKlkzNTYxMDdEMDEqDQorWDI1MjM5OFkzNDk4OTNEMDIqWTM0OTEwN0QwMSoNCitHNTREMjkzKlgyNjU5NTdZMzQ5OTkyRDAyKlkzNDkwMDhEMDEqDQorWDI2MDgzOVkzNDk5OTJEMDIqWTM0OTAwOEQwMSoNCitHNTREMjkxKlgyNDUzNTVZMzM1ODkzRDAyKlkzMzUxMDdEMDEqDQorWDI1MjQ0MVkzMzU4OTNEMDIqWTMzNTEwN0QwMSoNCitHNTREMjkzKlgyNjYwMDBZMzM1OTkyRDAyKlkzMzUwMDhEMDEqDQorWDI2MDg4MlkzMzU5OTJEMDIqWTMzNTAwOEQwMSoNCitYMjY1OTU3WTM0Mjk5MkQwMipZMzQyMDA4RDAxKg0KK1gyNjA4MzlZMzQyOTkyRDAyKlkzNDIwMDhEMDEqDQorRzU0RDI5MSpYMjUyMzk4WTM0Mjg5M0QwMipZMzQyMTA3RDAxKg0KK0c1NEQyOTMqWDI2NjAwMFkzNTY5OTJEMDIqWTM1NjAwOEQwMSoNCitYMjYwODgyWTM1Njk5MkQwMipZMzU2MDA4RDAxKg0KK0c1NEQyOTEqWDI1MjQ0MVkzNTY4OTNEMDIqWTM1NjEwN0QwMSoNCitHNTREMjkzKlgyNDYzMzVZMjkyNzMyRDAyKlgyNDczMTlEMDEqDQorRzU0RDI5NipYMTQ4Mjk5WTI5MjIyOUQwMipYMTQ4ODk5RDAxKg0KK1gxNDgyOTlZMjg0NDI5RDAyKlgxNDg4OTlEMDEqDQorWDE1NjQ5OVkyODgzMjlEMDIqWDE1NzA5OUQwMSoNCitHNTREMjkyKlgxODQ3OTlZMjk4ODI5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMDM4MjlEMDIqWDE5MDc5OUQwMSoNCitHNTREMjkzKlgxOTczMDdZMzAzODg4RDAyKlgxOTgyOTFEMDEqDQorRzU0RDI5MipYMTg0Nzk5WTMwODgyOUQwMipYMTkwNzk5RDAxKg0KK1gxODQ3OTlZMzEzODI5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMTg4MjlEMDIqWDE5MDc5OUQwMSoNCitHNTREMjkzKlgxOTczMDdZMzE4NzcwRDAyKlgxOTgyOTFEMDEqDQorWDE5NzMwN1kyOTg3NzBEMDIqWDE5ODI5MUQwMSoNCitYMTY4NzMyWTM1NjQ1NEQwMipZMzU1NDcwRDAxKg0KK1gxNzM4NTBZMzU2NDU0RDAyKlkzNTU0NzBEMDEqDQorRzU0RDI5MipYMTQ4Nzk5WTMzMzgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxNDg3OTlZMzI4ODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMjM4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTg0Nzk5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMjg4MjlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMzMzgyOUQwMipYMTkwNzk5RDAxKg0KK0c1NEQyOTMqWDE5NzMwN1kzMjM4ODhEMDIqWDE5ODI5MUQwMSoNCitHNTREMjkyKlgxNDg3OTlZMzE4ODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMTM4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTMwODgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxNDg3OTlZMzAzODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkyOTg4MjlEMDIqWDE1NDc5OUQwMSoNCitHNTREMjkzKlgxNDA5NDlZMzM0MDU5RDAyKlgxNDE5MzNEMDEqDQorWDE0MDk0OVkzMjg5NDFEMDIqWDE0MTkzM0QwMSoNCitYMTQwOTQ5WTMyMzU1OUQwMipYMTQxOTMzRDAxKg0KK1gxNDA5NDlZMzE4NDQxRDAyKlgxNDE5MzNEMDEqDQorWDE0MTMwN1kzMDM3NzBEMDIqWDE0MjI5MUQwMSoNCitYMTQxMzA3WTMwODg4OEQwMipYMTQyMjkxRDAxKg0KK1gyNDYzMzVZMjk3ODUwRDAyKlgyNDczMTlEMDEqDQorRzU0RDI5NypYMjUzMTA2WTI5NTU5MkQwMipYMjU2NTA0RDAxKg0KK0c1NEQyOTMqWDI2OTUwMFkzMTA0OTJEMDIqWTMwOTUwOEQwMSoNCitYMjY0MzgyWTMxMDQ5MkQwMipZMzA5NTA4RDAxKg0KK0c1NEQyOTcqWDI2ODM4MVkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjY2NDEzWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNjQ0NDRZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI2MjQ3NlkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjUzMTA2WTI5MzYyNEQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjkxNjU1RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyODk2ODdEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI4NzcxOEQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjg1NzUwRDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyODM3ODFEMDIqWDI1NjUwNEQwMSoNCitHNTREMjkzKlgyOTY3NDhZMjQ3MjcwRDAyKlgyOTc3MzJEMDEqDQorRzU0RDI5MSpYMjkwMDQ4WTI0NDkxNEQwMipYMjkwODM0RDAxKg0KK0c1NEQyOTcqWDI5MjAwNFkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitHNTREMjkxKlgxNzAwNDhZMjQ4NTQzRDAyKlgxNzA4MzREMDEqDQorWDE3MDA0OFkyNDE0NTdEMDIqWDE3MDgzNEQwMSoNCitHNTREMjkzKlgxNzA5NDlZMjMxODgyRDAyKlgxNzE5MzNEMDEqDQorWDE3MDk0OVkyMzcwMDBEMDIqWDE3MTkzM0QwMSoNCitHNTREMjk3KlgyNzQyODhZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI3NjI1NlkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjc4MjI1WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyODAxOTNZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI4MjE2MlkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjg0MTMwWTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyODYwOTlZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI4ODA2N1kyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjkwMDM2WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK0c1NEQyOTMqWDI0MzY4MVkyNjEzMjFEMDIqWTI2MDMzN0QwMSoNCitHNTREMjkxKlgyMzkxNTRZMjY4MjIyRDAyKlkyNjc0MzZEMDEqDQorWDI0NjI0MFkyNjgyMjJEMDIqWTI2NzQzNkQwMSoNCitHNTREMjk3KlgyNTMxMDZZMjcwMDAyRDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNjgwMzNEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI2NjA2NUQwMipYMjU2NTA0RDAxKg0KK0c1NEQyOTMqWDI0ODc5OVkyNjEzMjFEMDIqWTI2MDMzN0QwMSoNCitHNTREMjk3KlgyNjI0NzdZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI2NDQ0NVkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjY2NDE0WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNjgzODJZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI3MDM1MVkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjcyMzE5WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK0c1NEQyOTgqWDEyNDgzMVkzMDk1MTREMDIqWDEyODc2OEQwMSoNCitYMTI0ODMxWTI4OTgyOUQwMipYMTI4NzY4RDAxKg0KK0c1NEQyOTEqWDEwNDgxNlkyNDMzNzBEMDIqWDExMDMyNkQwMSoNCitYMTA0ODE2WTIzMTU2MEQwMipYMTEwMzI2RDAxKg0KK1gxMTY4MTZZMjQzMzcwRDAyKlgxMjIzMjZEMDEqDQorWDExNjgxNlkyMzE1NjBEMDIqWDEyMjMyNkQwMSoNCitHNTREMjk0KlgxMzA5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorWDEzNTk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTQwOTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK0c1NEQyOTAqWDE0NTk0MVkyNjQ2OTNEMDIqWTI1MTMwN0QwMSoNCitHNTREMjkxKlg5NTU0OFkyMDQ0NTdEMDIqWDk2MzM0RDAxKg0KK1g5NTU0OFkyMTE1NDNEMDIqWDk2MzM0RDAxKg0KK0c1NEQyOTMqWDEwMjQ0OVkyMTY1NTlEMDIqWDEwMzQzM0QwMSoNCitYMTAyNDQ5WTIxMTQ0MUQwMipYMTAzNDMzRDAxKg0KK0c1NEQyOTEqWDE1MDk4NFkyMTI4OTNEMDIqWTIxMjEwN0QwMSoNCitHNTREMjk0KlgxNDU5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorRzU0RDI5MypYMTQ2MDAwWTIxODk5MkQwMipZMjE4MDA4RDAxKg0KK0c1NEQyOTEqWDE0NTAzNlkxOTg3NTVEMDIqWTE5MzI0NUQwMSoNCitHNTREMjk0KlgxNTA5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorWDE1NTk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTYwOTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK0c1NEQyOTMqWDE0MDg4MlkyMTg5OTJEMDIqWTIxODAwOEQwMSoNCitYMTMwNDUzWTIxNzg2MkQwMipZMjE2ODc4RDAxKg0KK1gxMzU1NzFZMjE3ODYyRDAyKlkyMTY4NzhEMDEqDQorWDEzMDQ1M1kyMTE4NjJEMDIqWTIxMDg3OEQwMSoNCitYMTM1NTcxWTIxMTg2MkQwMipZMjEwODc4RDAxKg0KK0c1NEQyOTEqWDE0Mzg5OFkyMDU4OTNEMDIqWTIwNTEwN0QwMSoNCitYMTUwOTg0WTIwNTg5M0QwMipZMjA1MTA3RDAxKg0KK1gxNDM4OThZMjEyODkzRDAyKlkyMTIxMDdEMDEqDQorWDE1Njg0NlkxOTg3NTVEMDIqWTE5MzI0NUQwMSoNCitYMTU3Mzk4WTIwNTg5M0QwMipZMjA1MTA3RDAxKg0KK1gxNjQ0ODRZMjA1ODkzRDAyKlkyMDUxMDdEMDEqDQorWDE1NzQ4NVkyMTI3NjNEMDIqWTIxMTk3N0QwMSoNCitYMTY0NTcxWTIxMjc2M0QwMipZMjExOTc3RDAxKg0KK0c1NEQyOTMqWDE4OTk0OVkxMjQwNTlEMDIqWDE5MDkzM0QwMSoNCitYMTg5OTQ5WTExODk0MUQwMipYMTkwOTMzRDAxKg0KK1gxOTU0NzVZMTEyODMyRDAyKlkxMTE4NDhEMDEqDQorWDE5MDM1N1kxMTI4MzJEMDIqWTExMTg0OEQwMSoNCitYMTg5OTQ5WTEzMDk0MUQwMipYMTkwOTMzRDAxKg0KK1gxODk5NDlZMTM2MDU5RDAyKlgxOTA5MzNEMDEqDQorRzU0RDI5MipYMjAyNDQxWTE0MjUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMDI0NDFZMTM3NTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMzI1MDBEMDIqWDIwODk0MUQwMSoNCitHNTREMjkzKlgxOTU1MDBZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorWDE5MDM4MlkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMTEzOTc1WTE0MTgzMkQwMipZMTQwODQ4RDAxKg0KK1gxMDg4NTdZMTQxODMyRDAyKlkxNDA4NDhEMDEqDQorWDEwMjE5MVkxNDA5NThEMDIqWDEwMzE3NUQwMSoNCitYMTAyMTkxWTE0NjA3NkQwMipYMTAzMTc1RDAxKg0KK1gxMDg0NDlZMTMwOTQxRDAyKlgxMDk0MzNEMDEqDQorWDEwODQ0OVkxMzYwNTlEMDIqWDEwOTQzM0QwMSoNCitYMTAyMjk4WTEzMTAxN0QwMipYMTAzMjgyRDAxKg0KK1gxMDIyOThZMTM2MTM1RDAyKlgxMDMyODJEMDEqDQorWDE1NTM4MlkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitHNTREMjkyKlgxNDExNjZZMTEyMzQwRDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxMTczNDBEMDIqWDE0NzY2NkQwMSoNCitHNTREMjkzKlgxNjYxNjZZMTEyNTY4RDAyKlgxNjcxNTBEMDEqDQorWDE2NjE2NlkxMDc0NTBEMDIqWDE2NzE1MEQwMSoNCitYMTYwNTAwWTExMjk5MkQwMipZMTEyMDA4RDAxKg0KK1gxNTk5NDlZMTMwOTQxRDAyKlgxNjA5MzNEMDEqDQorWDE1OTk0OVkxMzYwNTlEMDIqWDE2MDkzM0QwMSoNCitYMTU5OTQ5WTEyNDA1OUQwMipYMTYwOTMzRDAxKg0KK1gxNTk5NDlZMTE4OTQxRDAyKlgxNjA5MzNEMDEqDQorRzU0RDI5MipYMTQxMTY2WTEyMjM0MEQwMipYMTQ3NjY2RDAxKg0KK1gxNDExNjZZMTI3MzQwRDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxMzIzNDBEMDIqWDE0NzY2NkQwMSoNCitYMTQxMTY2WTEzNzM0MEQwMipYMTQ3NjY2RDAxKg0KK1gxNDExNjZZMTQyMzQwRDAyKlgxNDc2NjZEMDEqDQorRzU0RDI5MypYMTM3MDAwWTE0ODQ5MkQwMipZMTQ3NTA4RDAxKg0KK1gxMzE4ODJZMTQ4NDkyRDAyKlkxNDc1MDhEMDEqDQorWDE1NTM4MlkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMTU1NDE2WTE0ODQ5N0QwMipZMTQ3NTEzRDAxKg0KK1gxNjA1MDBZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorWDE2NTQ4M1kxMzEyMTlEMDIqWDE2NjQ2N0QwMSoNCitYMTY1NDgzWTEzNjMzN0QwMipYMTY2NDY3RDAxKg0KK1gxNjA1MzRZMTQ4NDk3RDAyKlkxNDc1MTNEMDEqDQorWDE2NTk0OVkxMjQwNTlEMDIqWDE2NjkzM0QwMSoNCitYMTY1OTQ5WTExODk0MUQwMipYMTY2OTMzRDAxKg0KK0c1NEQyOTIqWDEyMDY2NlkxNDIzNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTEzNzM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTMyMzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMjczNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTEyMjM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTE3MzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMTIzNDBEMDIqWDEyNzE2NkQwMSoNCitHNTREMjkzKlgxMTQwMDBZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDEwODg4MlkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMTAxOTA5WTExMzQzNUQwMipYMTAyODkzRDAxKg0KK1gxMDE5MDlZMTA4MzE3RDAyKlgxMDI4OTNEMDEqDQorWDEwODQ0OVkxMjQwNTlEMDIqWDEwOTQzM0QwMSoNCitYMTA4NDQ5WTExODk0MUQwMipYMTA5NDMzRDAxKg0KK1gxMDE5NDlZMTI0MDU5RDAyKlgxMDI5MzNEMDEqDQorWDEwMTk0OVkxMTg5NDFEMDIqWDEwMjkzM0QwMSoNCitYMjQxNDQ5WTEzMDk0MUQwMipYMjQyNDMzRDAxKg0KK1gyNDE0NDlZMTM2MDU5RDAyKlgyNDI0MzNEMDEqDQorRzU0RDI5MipYMjIyOTQxWTExMjUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTE3NTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxMjI1MDBEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTEyNzUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTMyNTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxMzc1MDBEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTE0MjUwMEQwMipYMjI5NDQxRDAxKg0KK0c1NEQyOTMqWDIxOTAwMFkxNDg0OTJEMDIqWTE0NzUwOEQwMSoNCitYMjEzODgyWTE0ODQ5MkQwMipZMTQ3NTA4RDAxKg0KK0c1NEQyOTIqWDIwMjQ0MVkxMjc1MDBEMDIqWDIwODk0MUQwMSoNCitYMjAyNDQxWTEyMjUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMDI0NDFZMTE3NTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMTI1MDBEMDIqWDIwODk0MUQwMSoNCitHNTREMjkzKlgyMzY4ODJZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDI0MjAwMFkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMjQxNDQ5WTEyNDA1OUQwMipYMjQyNDMzRDAxKg0KK1gyNDE0NDlZMTE4OTQxRDAyKlgyNDI0MzNEMDEqDQorWDMwNTY5NlkxMTA4MjJEMDIqWDMwNjY4MEQwMSoNCitYMzA1Njk2WTExNTk0MEQwMipYMzA2NjgwRDAxKg0KK1gzMDQ0NzJZMTM2NDUwRDAyKlgzMDU0NTZEMDEqDQorWDMwNDQ3MlkxNDE1NjhEMDIqWDMwNTQ1NkQwMSoNCitHNTREMjkyKlgyNzE0MzhZMTQ1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxNDA4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjcxNDM4WTEzNTgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTMwODIyRDAyKlgyNzc5MzhEMDEqDQorRzU0RDI5OSpYMjk1OTQxWTM0MjM1MEQwMipZMzM4NDUwRDAxKg0KK1gyODU5NDFZMzQyMzUwRDAyKlkzMzg0NTBEMDEqDQorRzU0RDI5MypYMjc3NDQ5WTM0MjU1OUQwMipYMjc4NDMzRDAxKg0KK1gyNzc0NDlZMzM3NDQxRDAyKlgyNzg0MzNEMDEqDQorRzU0RDI5OSpYMjk1OTQxWTMxNzU1MEQwMipZMzEzNjUwRDAxKg0KK0c1NEQyOTMqWDMwMzM2NVkzMjQ3NzJEMDIqWDMwNDM0OUQwMSoNCitYMzAzMzY1WTMxOTY1NEQwMipYMzA0MzQ5RDAxKg0KK1gzMDc0NjJZMjk1MDM4RDAyKlgzMDg0NDZEMDEqDQorWDMwNzQ2MlkzMDAxNTZEMDIqWDMwODQ0NkQwMSoNCitHNTREMjk3KlgyOTc5NzZZMjk1NTkzRDAyKlgzMDEzNzREMDEqDQorRzU0RDI5OSpYMjg1OTQxWTMxNzU1MEQwMipZMzEzNjUwRDAxKg0KK0c1NEQyOTcqWDI5MjAwM1kzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjkwMDM1WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyODgwNjZZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI4NjA5OFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjg0MTI5WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyODIxNjFZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI5Nzk3NlkyOTM2MjVEMDIqWDMwMTM3NEQwMSoNCitYMjgwMTkyWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNzgyMjRZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3NjI1NVkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjc0Mjg3WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNzIzMThZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3MDM1MFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjUzMTA2WTI4MTgxM0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjc5ODQ0RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzc4NzZEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI3NTkwN0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjczOTM5RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzE5NzBEMDIqWDI1NjUwNEQwMSoNCitHNTREMjkzKlgyOTY3NDhZMjUyMzg4RDAyKlgyOTc3MzJEMDEqDQorRzU0RDI5MSpYMjkwMDQ4WTI1MjAwMEQwMipYMjkwODM0RDAxKg0KK0c1NEQyOTcqWDI5Nzk3NlkyNjYwNjZEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI2ODAzNEQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjcwMDAzRDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzE5NzFEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3Mzk0MEQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjc1OTA4RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzc4NzdEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3OTg0NUQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjgxODE0RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyODM3ODJEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI4NTc1MUQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjg3NzE5RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyODk2ODhEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI5MTY1NkQwMipYMzAxMzc0RDAxKg0KK00wMioNCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnRvcHBhc3RlLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUudG9wcGFzdGUuZ2JyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmZDNjNDgKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnRvcHBhc3RlLmdicgpAQCAtMCwwICsxLDM4MyBAQAorRzA0IHN0YXJ0IG9mIHBhZ2UgMTIgZm9yIGdyb3VwIC00MDE1IGlkeCAtNDAxNSAqDQorRzA0IFRpdGxlOiA5NzEgQkJCIENhcGUsIHRvcHBhc3RlICoNCitHMDQgQ3JlYXRvcjogcGNiIDIwMTEwOTE4ICoNCitHMDQgQ3JlYXRpb25EYXRlOiBNb24gSmFuIDIwIDIxOjA0OjQyIDIwMTQgVVRDICoNCitHMDQgRm9yOiBicmlhbnMgKg0KK0cwNCBGb3JtYXQ6IEdlcmJlci9SUy0yNzRYICoNCitHMDQgUENCLURpbWVuc2lvbnM6IDUwMDAwMCA0MDAwMDAgKg0KK0cwNCBQQ0ItQ29vcmRpbmF0ZS1PcmlnaW46IGxvd2VyIGxlZnQgKg0KKyVNT0lOKiUNCislRlNMQVgyNVkyNSolDQorJUxOVE9QUEFTVEUqJQ0KKyVBREQzMzZSLDAuMDExMFgwLjAxMTAqJQ0KKyVBREQzMzVSLDAuMjEwNlgwLjIxMDYqJQ0KKyVBREQzMzRSLDAuMDM1MFgwLjAzNTAqJQ0KKyVBREQzMzNSLDAuMDU1MFgwLjA1NTAqJQ0KKyVBREQzMzJSLDAuMDk0OFgwLjA5NDgqJQ0KKyVBREQzMzFSLDAuMDIwMFgwLjAyMDAqJQ0KKyVBREQzMzBSLDAuMDM0MFgwLjAzNDAqJQ0KKyVBREQzMjlSLDAuMDUxMlgwLjA1MTIqJQ0KKyVBREQzMjhSLDAuMDEzMFgwLjAxMzAqJQ0KKyVBREQzMjdSLDAuMDI5NVgwLjAyOTUqJQ0KK0c1NEQzMjcqWDM5NDk0OVkxODg0NDFEMDIqWDM5NTkzM0QwMSoNCitYMzk0OTQ5WTE5MzU1OUQwMipYMzk1OTMzRDAxKg0KK1g0MzIwMDBZNzA0OTJEMDIqWTY5NTA4RDAxKg0KK1g0MjY4ODJZNzA0OTJEMDIqWTY5NTA4RDAxKg0KK1gzOTI2NDNZMjQ3MDU2RDAyKlgzOTM2MjdEMDEqDQorWDM5MjY0M1kyNTIxNzREMDIqWDM5MzYyN0QwMSoNCitYMzkyOTQ5WTM2NTk0MUQwMipYMzkzOTMzRDAxKg0KK1gzOTI5NDlZMzcxMDU5RDAyKlgzOTM5MzNEMDEqDQorWDM5Mjk0OVkzMDYwMDBEMDIqWDM5MzkzM0QwMSoNCitYMzkyOTQ5WTMxMTExOEQwMipYMzkzOTMzRDAxKg0KK0c1NEQzMjgqWDM5NDM5N1kyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzkxODM4WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzODkyNzlZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM4NjcyMFkyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzg0MTYyWTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1gzODE2MDNZMjI2OTE3RDAyKlkyMjIzMTFEMDEqDQorWDM3OTA0NFkyMjY5MTdEMDIqWTIyMjMxMUQwMSoNCitYMzc2NDg1WTIyNjkxN0QwMipZMjIyMzExRDAxKg0KK1kyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzc5MDQ0WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzODE2MDNZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM4NDE2MlkyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzg2NzIwWTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK1gzODkyNzlZMjAzNjg5RDAyKlkxOTkwODNEMDEqDQorWDM5MTgzOFkyMDM2ODlEMDIqWTE5OTA4M0QwMSoNCitYMzk0Mzk3WTIwMzY4OUQwMipZMTk5MDgzRDAxKg0KK0c1NEQzMjcqWDI5Njc0OFkyNDcyNzBEMDIqWDI5NzczMkQwMSoNCitYMjk2NzQ4WTI1MjM4OEQwMipYMjk3NzMyRDAxKg0KK1gyNDM2ODFZMjYxMzIxRDAyKlkyNjAzMzdEMDEqDQorWDI0ODc5OVkyNjEzMjFEMDIqWTI2MDMzN0QwMSoNCitYMjQ2MzM1WTI5Nzg1MEQwMipYMjQ3MzE5RDAxKg0KK1gyNDYzMzVZMjkyNzMyRDAyKlgyNDczMTlEMDEqDQorWDI2OTUwMFkzMTA0OTJEMDIqWTMwOTUwOEQwMSoNCitYMjY0MzgyWTMxMDQ5MkQwMipZMzA5NTA4RDAxKg0KK0c1NEQzMjkqWDIzOTE1NFkyNjgyMjJEMDIqWTI2NzQzNkQwMSoNCitYMjQ2MjQwWTI2ODIyMkQwMipZMjY3NDM2RDAxKg0KK1gyOTAwNDhZMjQ0OTE0RDAyKlgyOTA4MzREMDEqDQorWDI5MDA0OFkyNTIwMDBEMDIqWDI5MDgzNEQwMSoNCitHNTREMzI3KlgxNjg3MzJZMzU2NDU0RDAyKlkzNTU0NzBEMDEqDQorWDE3Mzg1MFkzNTY0NTREMDIqWTM1NTQ3MEQwMSoNCitHNTREMzMwKlgxNDgyOTlZMjkyMjI5RDAyKlgxNDg4OTlEMDEqDQorWDE0ODI5OVkyODQ0MjlEMDIqWDE0ODg5OUQwMSoNCitYMTU2NDk5WTI4ODMyOUQwMipYMTU3MDk5RDAxKg0KK0c1NEQzMzEqWDE0ODc5OVkzMzM4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTMyODgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxNDg3OTlZMzIzODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMTg4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTMxMzgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxNDg3OTlZMzA4ODI5RDAyKlgxNTQ3OTlEMDEqDQorWDE0ODc5OVkzMDM4MjlEMDIqWDE1NDc5OUQwMSoNCitYMTQ4Nzk5WTI5ODgyOUQwMipYMTU0Nzk5RDAxKg0KK1gxODQ3OTlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMwMzgyOUQwMipYMTkwNzk5RDAxKg0KK1gxODQ3OTlZMzA4ODI5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMTM4MjlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMxODgyOUQwMipYMTkwNzk5RDAxKg0KK1gxODQ3OTlZMzIzODI5RDAyKlgxOTA3OTlEMDEqDQorWDE4NDc5OVkzMjg4MjlEMDIqWDE5MDc5OUQwMSoNCitYMTg0Nzk5WTMzMzgyOUQwMipYMTkwNzk5RDAxKg0KK0c1NEQzMjcqWDE5NzMwN1kzMjM4ODhEMDIqWDE5ODI5MUQwMSoNCitYMTk3MzA3WTMxODc3MEQwMipYMTk4MjkxRDAxKg0KK1gxNDA5NDlZMzM0MDU5RDAyKlgxNDE5MzNEMDEqDQorWDE0MDk0OVkzMjg5NDFEMDIqWDE0MTkzM0QwMSoNCitYMTk3MzA3WTMwMzg4OEQwMipYMTk4MjkxRDAxKg0KK1gxOTczMDdZMjk4NzcwRDAyKlgxOTgyOTFEMDEqDQorWDE0MTMwN1kzMDM3NzBEMDIqWDE0MjI5MUQwMSoNCitYMTQxMzA3WTMwODg4OEQwMipYMTQyMjkxRDAxKg0KK0c1NEQzMzIqWDEyNDgzMVkzMDk1MTREMDIqWDEyODc2OEQwMSoNCitYMTI0ODMxWTI4OTgyOUQwMipYMTI4NzY4RDAxKg0KK0c1NEQzMzMqWDI5NTk0MVkzNDIzNTBEMDIqWTMzODQ1MEQwMSoNCitZMzE3NTUwRDAyKlkzMTM2NTBEMDEqDQorWDI4NTk0MVkzMTc1NTBEMDIqWTMxMzY1MEQwMSoNCitZMzQyMzUwRDAyKlkzMzg0NTBEMDEqDQorRzU0RDMyNypYMzAzMzY1WTMyNDc3MkQwMipYMzA0MzQ5RDAxKg0KK1gzMDMzNjVZMzE5NjU0RDAyKlgzMDQzNDlEMDEqDQorWDI3NzQ0OVkzNDI1NTlEMDIqWDI3ODQzM0QwMSoNCitYMjc3NDQ5WTMzNzQ0MUQwMipYMjc4NDMzRDAxKg0KK1gzMDc0NjJZMjk1MDM4RDAyKlgzMDg0NDZEMDEqDQorWDMwNzQ2MlkzMDAxNTZEMDIqWDMwODQ0NkQwMSoNCitHNTREMzI5KlgxMDQ4MTZZMjQzMzcwRDAyKlgxMTAzMjZEMDEqDQorWDEwNDgxNlkyMzE1NjBEMDIqWDExMDMyNkQwMSoNCitYMTE2ODE2WTI0MzM3MEQwMipYMTIyMzI2RDAxKg0KK1gxMTY4MTZZMjMxNTYwRDAyKlgxMjIzMjZEMDEqDQorRzU0RDMzNCpYMTMwOTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK1gxMzU5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorWDE0MDk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTQ1OTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK1gxNTA5NDFZMjMxMjI4RDAyKlkyMjQ5MjlEMDEqDQorWDE1NTk0MVkyMzEyMjhEMDIqWTIyNDkyOUQwMSoNCitYMTYwOTQxWTIzMTIyOEQwMipZMjI0OTI5RDAxKg0KK0c1NEQzMzUqWDE0NTk0MVkyNjQ2OTNEMDIqWTI1MTMwN0QwMSoNCitHNTREMzI3KlgxNDYwMDBZMjE4OTkyRDAyKlkyMTgwMDhEMDEqDQorWDE0MDg4MlkyMTg5OTJEMDIqWTIxODAwOEQwMSoNCitYMTMwNDUzWTIxNzg2MkQwMipZMjE2ODc4RDAxKg0KK1gxMzU1NzFZMjE3ODYyRDAyKlkyMTY4NzhEMDEqDQorWDEzMDQ1M1kyMTE4NjJEMDIqWTIxMDg3OEQwMSoNCitYMTM1NTcxWTIxMTg2MkQwMipZMjEwODc4RDAxKg0KK0c1NEQzMjkqWDE0Mzg5OFkyMDU4OTNEMDIqWTIwNTEwN0QwMSoNCitYMTUwOTg0WTIwNTg5M0QwMipZMjA1MTA3RDAxKg0KK0c1NEQzMjgqWDM5NDM5N1kzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzkxODM4WTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1gzODkyNzlZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWDM4NjcyMFkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzg0MTYyWTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1gzODE2MDNZMzQ0OTE3RDAyKlkzNDAzMTFEMDEqDQorWDM3OTA0NFkzNDQ5MTdEMDIqWTM0MDMxMUQwMSoNCitYMzc2NDg1WTM0NDkxN0QwMipZMzQwMzExRDAxKg0KK1kzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzc5MDQ0WTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzODE2MDNZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM4NDE2MlkzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzg2NzIwWTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK1gzODkyNzlZMzIxNjg5RDAyKlkzMTcwODNEMDEqDQorWDM5MTgzOFkzMjE2ODlEMDIqWTMxNzA4M0QwMSoNCitYMzk0Mzk3WTMyMTY4OUQwMipZMzE3MDgzRDAxKg0KK0c1NEQzMjcqWDI0MTQ0OVkxMzA5NDFEMDIqWDI0MjQzM0QwMSoNCitYMjQxNDQ5WTEzNjA1OUQwMipYMjQyNDMzRDAxKg0KK1gyMTkwMDBZMTQ4NDkyRDAyKlkxNDc1MDhEMDEqDQorWDIxMzg4MlkxNDg0OTJEMDIqWTE0NzUwOEQwMSoNCitYMTg5OTQ5WTEzMDk0MUQwMipYMTkwOTMzRDAxKg0KK1gxODk5NDlZMTM2MDU5RDAyKlgxOTA5MzNEMDEqDQorWDE4OTk0OVkxMjQwNTlEMDIqWDE5MDkzM0QwMSoNCitYMTg5OTQ5WTExODk0MUQwMipYMTkwOTMzRDAxKg0KK1gyMzY4ODJZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDI0MjAwMFkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMjQxNDQ5WTEyNDA1OUQwMipYMjQyNDMzRDAxKg0KK1gyNDE0NDlZMTE4OTQxRDAyKlgyNDI0MzNEMDEqDQorRzU0RDMzMSpYMjAyNDQxWTE0MjUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMDI0NDFZMTM3NTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMzI1MDBEMDIqWDIwODk0MUQwMSoNCitYMjAyNDQxWTEyNzUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMDI0NDFZMTIyNTAwRDAyKlgyMDg5NDFEMDEqDQorWDIwMjQ0MVkxMTc1MDBEMDIqWDIwODk0MUQwMSoNCitYMjAyNDQxWTExMjUwMEQwMipYMjA4OTQxRDAxKg0KK1gyMjI5NDFEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTExNzUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTIyNTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxMjc1MDBEMDIqWDIyOTQ0MUQwMSoNCitYMjIyOTQxWTEzMjUwMEQwMipYMjI5NDQxRDAxKg0KK1gyMjI5NDFZMTM3NTAwRDAyKlgyMjk0NDFEMDEqDQorWDIyMjk0MVkxNDI1MDBEMDIqWDIyOTQ0MUQwMSoNCitHNTREMzI3KlgxOTU1MDBZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorWDE5MDM4MlkxNDE5OTJEMDIqWTE0MTAwOEQwMSoNCitYMTk1NDc1WTExMjgzMkQwMipZMTExODQ4RDAxKg0KK1gxOTAzNTdZMTEyODMyRDAyKlkxMTE4NDhEMDEqDQorWDExMzk3NVkxNDE4MzJEMDIqWTE0MDg0OEQwMSoNCitYMTA4ODU3WTE0MTgzMkQwMipZMTQwODQ4RDAxKg0KK1gxNTUzODJZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDE2MDUwMFkxMTI5OTJEMDIqWTExMjAwOEQwMSoNCitYMTA4NDQ5WTEzMDk0MUQwMipYMTA5NDMzRDAxKg0KK1gxMDg0NDlZMTM2MDU5RDAyKlgxMDk0MzNEMDEqDQorWDE1OTk0OVkxMzA5NDFEMDIqWDE2MDkzM0QwMSoNCitYMTU5OTQ5WTEzNjA1OUQwMipYMTYwOTMzRDAxKg0KK0c1NEQzMzEqWDEyMDY2NlkxNDIzNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTEzNzM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTMyMzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMjczNDBEMDIqWDEyNzE2NkQwMSoNCitYMTIwNjY2WTEyMjM0MEQwMipYMTI3MTY2RDAxKg0KK1gxMjA2NjZZMTE3MzQwRDAyKlgxMjcxNjZEMDEqDQorWDEyMDY2NlkxMTIzNDBEMDIqWDEyNzE2NkQwMSoNCitYMTQxMTY2RDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxMTczNDBEMDIqWDE0NzY2NkQwMSoNCitYMTQxMTY2WTEyMjM0MEQwMipYMTQ3NjY2RDAxKg0KK1gxNDExNjZZMTI3MzQwRDAyKlgxNDc2NjZEMDEqDQorWDE0MTE2NlkxMzIzNDBEMDIqWDE0NzY2NkQwMSoNCitYMTQxMTY2WTEzNzM0MEQwMipYMTQ3NjY2RDAxKg0KK1gxNDExNjZZMTQyMzQwRDAyKlgxNDc2NjZEMDEqDQorRzU0RDMyNypYMTE0MDAwWTExMjk5MkQwMipZMTEyMDA4RDAxKg0KK1gxMDg4ODJZMTEyOTkyRDAyKlkxMTIwMDhEMDEqDQorWDEwODQ0OVkxMjQwNTlEMDIqWDEwOTQzM0QwMSoNCitYMTA4NDQ5WTExODk0MUQwMipYMTA5NDMzRDAxKg0KK1gxNTk5NDlZMTI0MDU5RDAyKlgxNjA5MzNEMDEqDQorWDE1OTk0OVkxMTg5NDFEMDIqWDE2MDkzM0QwMSoNCitYMTU1MzgyWTE0MTk5MkQwMipZMTQxMDA4RDAxKg0KK1gxNjA1MDBZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorWDMwNTY5NlkxMTA4MjJEMDIqWDMwNjY4MEQwMSoNCitYMzA1Njk2WTExNTk0MEQwMipYMzA2NjgwRDAxKg0KK1gzMDQ0NzJZMTM2NDUwRDAyKlgzMDU0NTZEMDEqDQorWDMwNDQ3MlkxNDE1NjhEMDIqWDMwNTQ1NkQwMSoNCitHNTREMzMxKlgyNzE0MzhZMTQ1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxNDA4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjcxNDM4WTEzNTgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTMwODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxMjU4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjcxNDM4WTEyMDgyMkQwMipYMjc3OTM4RDAxKg0KK1gyNzE0MzhZMTE1ODIyRDAyKlgyNzc5MzhEMDEqDQorWDI3MTQzOFkxMTA4MjJEMDIqWDI3NzkzOEQwMSoNCitYMjkxOTM4RDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMTU4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjkxOTM4WTEyMDgyMkQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTI1ODIyRDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxMzA4MjJEMDIqWDI5ODQzOEQwMSoNCitYMjkxOTM4WTEzNTgyMkQwMipYMjk4NDM4RDAxKg0KK1gyOTE5MzhZMTQwODIyRDAyKlgyOTg0MzhEMDEqDQorWDI5MTkzOFkxNDU4MjJEMDIqWDI5ODQzOEQwMSoNCitHNTREMzI3KlgxNDA5NDlZMzIzNTU5RDAyKlgxNDE5MzNEMDEqDQorWDE0MDk0OVkzMTg0NDFEMDIqWDE0MTkzM0QwMSoNCitHNTREMzI5KlgyNDUzMTJZMzQ5ODkzRDAyKlkzNDkxMDdEMDEqDQorWDI1MjM5OFkzNDk4OTNEMDIqWTM0OTEwN0QwMSoNCitYMjQ1MzU1WTMzNTg5M0QwMipZMzM1MTA3RDAxKg0KK1gyNTI0NDFZMzM1ODkzRDAyKlkzMzUxMDdEMDEqDQorRzU0RDMyNypYMjY2MDAwWTMzNTk5MkQwMipZMzM1MDA4RDAxKg0KK1gyNjA4ODJZMzM1OTkyRDAyKlkzMzUwMDhEMDEqDQorWDI2NTk1N1kzNDI5OTJEMDIqWTM0MjAwOEQwMSoNCitYMjYwODM5WTM0Mjk5MkQwMipZMzQyMDA4RDAxKg0KK1gyNjU5NTdZMzQ5OTkyRDAyKlkzNDkwMDhEMDEqDQorWDI2MDgzOVkzNDk5OTJEMDIqWTM0OTAwOEQwMSoNCitHNTREMzI5KlgyNDUzMTJZMzQyODkzRDAyKlkzNDIxMDdEMDEqDQorWDI1MjM5OFkzNDI4OTNEMDIqWTM0MjEwN0QwMSoNCitHNTREMzM2KlgyOTIwMDNZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI5MDAzNVkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjg4MDY2WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyODYwOThZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI4NDEyOVkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjgyMTYxWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyODAxOTJZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3ODIyNFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjc2MjU1WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNzQyODdZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI3MjMxOFkzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjcwMzUwWTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNjgzODFZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI2NjQxM1kzMDQ5NjNEMDIqWTMwMTU2NUQwMSoNCitYMjY0NDQ0WTMwNDk2M0QwMipZMzAxNTY1RDAxKg0KK1gyNjI0NzZZMzA0OTYzRDAyKlkzMDE1NjVEMDEqDQorWDI1MzEwNlkyOTU1OTJEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI5MzYyNEQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjkxNjU1RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyODk2ODdEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI4NzcxOEQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjg1NzUwRDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyODM3ODFEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI4MTgxM0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjc5ODQ0RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzc4NzZEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI3NTkwN0QwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjczOTM5RDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNzE5NzBEMDIqWDI1NjUwNEQwMSoNCitYMjUzMTA2WTI3MDAwMkQwMipYMjU2NTA0RDAxKg0KK1gyNTMxMDZZMjY4MDMzRDAyKlgyNTY1MDREMDEqDQorWDI1MzEwNlkyNjYwNjVEMDIqWDI1NjUwNEQwMSoNCitYMjYyNDc3WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNjQ0NDVZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI2NjQxNFkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjY4MzgyWTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNzAzNTFZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI3MjMxOVkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjc0Mjg4WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyNzYyNTZZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI3ODIyNVkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjgwMTkzWTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyODIxNjJZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI4NDEzMFkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjg2MDk5WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyODgwNjdZMjYwMDkzRDAyKlkyNTY2OTVEMDEqDQorWDI5MDAzNlkyNjAwOTNEMDIqWTI1NjY5NUQwMSoNCitYMjkyMDA0WTI2MDA5M0QwMipZMjU2Njk1RDAxKg0KK1gyOTc5NzZZMjY2MDY2RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNjgwMzREMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3MDAwM0QwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjcxOTcxRDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzM5NDBEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI3NTkwOEQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjc3ODc3RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyNzk4NDVEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI4MTgxNEQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjgzNzgyRDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyODU3NTFEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI4NzcxOUQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjg5Njg4RDAyKlgzMDEzNzREMDEqDQorWDI5Nzk3NlkyOTE2NTZEMDIqWDMwMTM3NEQwMSoNCitYMjk3OTc2WTI5MzYyNUQwMipYMzAxMzc0RDAxKg0KK1gyOTc5NzZZMjk1NTkzRDAyKlgzMDEzNzREMDEqDQorRzU0RDMyNypYMjM1OTQxWTE0MTk5MkQwMipZMTQxMDA4RDAxKg0KK1gyNDEwNTlZMTQxOTkyRDAyKlkxNDEwMDhEMDEqDQorRzU0RDMyOSpYOTU1NDhZMjA0NDU3RDAyKlg5NjMzNEQwMSoNCitYOTU1NDhZMjExNTQzRDAyKlg5NjMzNEQwMSoNCitYMTcwMDQ4WTI0ODU0M0QwMipYMTcwODM0RDAxKg0KK1gxNzAwNDhZMjQxNDU3RDAyKlgxNzA4MzREMDEqDQorRzU0RDMyNypYMTcwOTQ5WTIzMTg4MkQwMipYMTcxOTMzRDAxKg0KK1gxNzA5NDlZMjM3MDAwRDAyKlgxNzE5MzNEMDEqDQorWDEwMjQ0OVkyMTY1NTlEMDIqWDEwMzQzM0QwMSoNCitYMTAyNDQ5WTIxMTQ0MUQwMipYMTAzNDMzRDAxKg0KK1gyNjYwMDBZMzU2OTkyRDAyKlkzNTYwMDhEMDEqDQorWDI2MDg4MlkzNTY5OTJEMDIqWTM1NjAwOEQwMSoNCitHNTREMzI5KlgyNDUzNTVZMzU2ODkzRDAyKlkzNTYxMDdEMDEqDQorWDI1MjQ0MVkzNTY4OTNEMDIqWTM1NjEwN0QwMSoNCitHNTREMzI3KlgxNjYxNjZZMTEyNTY4RDAyKlgxNjcxNTBEMDEqDQorWDE2NjE2NlkxMDc0NTBEMDIqWDE2NzE1MEQwMSoNCitYMTAyMTkxWTE0MDk1OEQwMipYMTAzMTc1RDAxKg0KK1gxMDIxOTFZMTQ2MDc2RDAyKlgxMDMxNzVEMDEqDQorWDI0NzUxNlkxMzExNDlEMDIqWDI0ODUwMEQwMSoNCitYMjQ3NTE2WTEzNjI2N0QwMipYMjQ4NTAwRDAxKg0KK1gyNDc5NDlZMTI0MDU5RDAyKlgyNDg5MzNEMDEqDQorWDI0Nzk0OVkxMTg5NDFEMDIqWDI0ODkzM0QwMSoNCitYMjQ3OTQ5WTEwNzU1OUQwMipYMjQ4OTMzRDAxKg0KK1gyNDc5NDlZMTAyNDQxRDAyKlgyNDg5MzNEMDEqDQorWDE4Mzk0OVkxMjQwNTlEMDIqWDE4NDkzM0QwMSoNCitYMTgzOTQ5WTExODk0MUQwMipYMTg0OTMzRDAxKg0KK0c1NEQzMjkqWDE0NTAzNlkxOTg3NTVEMDIqWTE5MzI0NUQwMSoNCitYMTU2ODQ2WTE5ODc1NUQwMipZMTkzMjQ1RDAxKg0KK1gxNTczOThZMjA1ODkzRDAyKlkyMDUxMDdEMDEqDQorWDE2NDQ4NFkyMDU4OTNEMDIqWTIwNTEwN0QwMSoNCitYMTQzODk4WTIxMjg5M0QwMipZMjEyMTA3RDAxKg0KK1gxNTA5ODRZMjEyODkzRDAyKlkyMTIxMDdEMDEqDQorRzU0RDMyNypYMTY1NDgzWTEzMTIxOUQwMipYMTY2NDY3RDAxKg0KK1gxNjU0ODNZMTM2MzM3RDAyKlgxNjY0NjdEMDEqDQorWDE2MDUzNFkxNDg0OTdEMDIqWTE0NzUxM0QwMSoNCitYMTU1NDE2WTE0ODQ5N0QwMipZMTQ3NTEzRDAxKg0KK1gxNjU5NDlZMTI0MDU5RDAyKlgxNjY5MzNEMDEqDQorWDE2NTk0OVkxMTg5NDFEMDIqWDE2NjkzM0QwMSoNCitYMTAxOTQ5WTEyNDA1OUQwMipYMTAyOTMzRDAxKg0KK1gxMDE5NDlZMTE4OTQxRDAyKlgxMDI5MzNEMDEqDQorWDEwMTkwOVkxMTM0MzVEMDIqWDEwMjg5M0QwMSoNCitYMTAxOTA5WTEwODMxN0QwMipYMTAyODkzRDAxKg0KK1gxMDIyOThZMTMxMDE3RDAyKlgxMDMyODJEMDEqDQorWDEwMjI5OFkxMzYxMzVEMDIqWDEwMzI4MkQwMSoNCitYMjQxMDczWTE0ODI0NkQwMipZMTQ3MjYyRDAxKg0KK1gyMzU5NTVZMTQ4MjQ2RDAyKlkxNDcyNjJEMDEqDQorWDE4Mzk0OVkxMTMwNTlEMDIqWDE4NDkzM0QwMSoNCitYMTgzOTQ5WTEwNzk0MUQwMipYMTg0OTMzRDAxKg0KK1gxODQ0OTFZMTMwOTUzRDAyKlgxODU0NzVEMDEqDQorWDE4NDQ5MVkxMzYwNzFEMDIqWDE4NTQ3NUQwMSoNCitYMTk3MDAwWTE0ODgzOEQwMipZMTQ3ODU0RDAxKg0KK1gyMDIxMThZMTQ4ODM4RDAyKlkxNDc4NTREMDEqDQorRzU0RDMyOSpYMTU3NDg1WTIxMjc2M0QwMipZMjExOTc3RDAxKg0KK1gxNjQ1NzFZMjEyNzYzRDAyKlkyMTE5NzdEMDEqDQorWDM0MDE4Nlk5ODQwNEQwMipYMzQ1Njk2RDAxKg0KK1gzNDAxODZZODY1OTREMDIqWDM0NTY5NkQwMSoNCitHNTREMzI3KlgzNzIwMDBZNzI0OTFEMDIqWTcxNTA3RDAxKg0KK1gzNjY4ODJZNzI0OTFEMDIqWTcxNTA3RDAxKg0KK1gzNTY4MjNZNzE5OTJEMDIqWTcxMDA4RDAxKg0KK1gzNjE5NDFZNzE5OTJEMDIqWTcxMDA4RDAxKg0KK1gzNTY4MjNZNjU5OTJEMDIqWTY1MDA4RDAxKg0KK1gzNjE5NDFZNjU5OTJEMDIqWTY1MDA4RDAxKg0KK0c1NEQzMjkqWDM3NDU0OFk1MTQxM0QwMipYMzc1MzM0RDAxKg0KK1gzNzQ1NDhZNTg0OTlEMDIqWDM3NTMzNEQwMSoNCitYMzI3MTg2WTk4NDA0RDAyKlgzMzI2OTZEMDEqDQorWDMyNzE4Nlk4NjU5NEQwMipYMzMyNjk2RDAxKg0KK0c1NEQzMzQqWDM1Njk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM2MTk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM2Njk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM3MTk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM3Njk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM4MTk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorWDM4Njk0MVk4NDcyOEQwMipZNzg0MjlEMDEqDQorRzU0RDMzNSpYMzcxOTQxWTExODE5M0QwMipZMTA0ODA3RDAxKg0KK0c1NEQzMjkqWDM5NzU0OFk5ODA0MkQwMipYMzk4MzM0RDAxKg0KK1gzOTc1NDhZOTA5NTZEMDIqWDM5ODMzNEQwMSoNCitHNTREMzI3KlgzOTc0NDlZNzkzODFEMDIqWDM5ODQzM0QwMSoNCitYMzk3NDQ5WTg0NDk5RDAyKlgzOTg0MzNEMDEqDQorRzU0RDMyOSpYMzcwMzk4WTY2MzkzRDAyKlk2NTYwN0QwMSoNCitYMzc3NDg0WTY2MzkzRDAyKlk2NTYwN0QwMSoNCitYMzgxNTM2WTQ4NzU1RDAyKlk0MzI0NUQwMSoNCitYMzkzMzQ2WTQ4NzU1RDAyKlk0MzI0NUQwMSoNCitYMzgxODk4WTU4ODkzRDAyKlk1ODEwN0QwMSoNCitYMzg4OTg0WTU4ODkzRDAyKlk1ODEwN0QwMSoNCitYMzg0Mzk4WTY2ODkzRDAyKlk2NjEwN0QwMSoNCitYMzkxNDg0WTY2ODkzRDAyKlk2NjEwN0QwMSoNCitHNTREMzI3KlgxMzcwMDBZMTQ4NDkyRDAyKlkxNDc1MDhEMDEqDQorWDEzMTg4MlkxNDg0OTJEMDIqWTE0NzUwOEQwMSoNCitNMDIqDQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc2NoZW1hdGljL2dlcmJlcnMvMjAxNDAxMjAvY2FwZS50b3BzaWxrLmdiciBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUudG9wc2lsay5nYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkzYjEzNQotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUudG9wc2lsay5nYnIKQEAgLTAsMCArMSwxMDM5IEBACitHMDQgc3RhcnQgb2YgcGFnZSAxMCBmb3IgZ3JvdXAgLTQwNzkgaWR4IC00MDc5ICoNCitHMDQgVGl0bGU6IDk3MSBCQkIgQ2FwZSwgdG9wc2lsayAqDQorRzA0IENyZWF0b3I6IHBjYiAyMDExMDkxOCAqDQorRzA0IENyZWF0aW9uRGF0ZTogTW9uIEphbiAyMCAyMTowNDo0MiAyMDE0IFVUQyAqDQorRzA0IEZvcjogYnJpYW5zICoNCitHMDQgRm9ybWF0OiBHZXJiZXIvUlMtMjc0WCAqDQorRzA0IFBDQi1EaW1lbnNpb25zOiA1MDAwMDAgNDAwMDAwICoNCitHMDQgUENCLUNvb3JkaW5hdGUtT3JpZ2luOiBsb3dlciBsZWZ0ICoNCislTU9JTiolDQorJUZTTEFYMjVZMjUqJQ0KKyVMTlRPUFNJTEsqJQ0KKyVBREQzMjRDLDAuMDAzMColDQorJUFERDMyM0MsMC4wMDgwKiUNCislQUREMzIyQywwLjAxMDAqJQ0KKyVBREQzMjFDLDAuMDA3MColDQorJUFERDMyMEMsMC4wMDQwKiUNCislQUREMzE5QywwLjAwNDIqJQ0KKyVBREQzMThDLDAuMDA1NColDQorJUFERDMxN0MsMC4wMDcyKiUNCislQUREMzE2QywwLjAwNDYqJQ0KKyVBREQzMTVDLDAuMDA2MColDQorRzU0RDMxNSpYMjUxNDQxWTMyODUwMEQwMipYMjQ4OTQxWTMzMTAwMEQwMSoNCitYMjUxNDQxWTMyODUwMEQwMipYMjQ4OTQxWTMyNjAwMEQwMSoNCitZMzMxMDAwRDAxKg0KK1gyNTE0NDFZMzI4NTAwRDAyKlgyNTc0NDFEMDEqDQorWDI1MTQ0MVkzMzIwMDBEMDIqWTMyNTAwMEQwMSoNCitYMjQ4OTQxWTMyODUwMEQwMipYMjQyNDQxRDAxKg0KK1g0MDY0NDFZOTUwMDBEMDIqWDQwMzk0MVk5MjUwMEQwMSoNCitYNDA2NDQxWTk1MDAwRDAyKlg0MDg5NDFZOTI1MDBEMDEqDQorWDQwMzk0MUQwMipYNDA4OTQxRDAxKg0KK1g0MDY0NDFZMTAxMDAwRDAyKlk5NTAwMEQwMSoNCitZOTI1MDBEMDIqWTg2MDAwRDAxKg0KK1g0MDI5NDFZOTUwMDBEMDIqWDQwOTk0MUQwMSoNCitYMTc4NDQxWTI0NDUwMEQwMipYMTc1OTQxWTI0MjAwMEQwMSoNCitYMTc4NDQxWTI0NDUwMEQwMipYMTgwOTQxWTI0MjAwMEQwMSoNCitYMTc1OTQxRDAyKlgxODA5NDFEMDEqDQorWDE3ODQ0MVkyNTA1MDBEMDIqWTI0NDUwMEQwMSoNCitZMjQyMDAwRDAyKlkyMzU1MDBEMDEqDQorWDE3NDk0MVkyNDQ1MDBEMDIqWDE4MTk0MUQwMSoNCitYODc5NDFZMjA3MDAwRDAyKlg5MDQ0MVkyMDk1MDBEMDEqDQorWDg3OTQxWTIwNzAwMEQwMipYODU0NDFZMjA5NTAwRDAxKg0KK1g5MDQ0MUQwMSoNCitYODc5NDFZMjA3MDAwRDAyKlkyMDEwMDBEMDEqDQorWDg0NDQxWTIwNzAwMEQwMipYOTE0NDFEMDEqDQorWDg3OTQxWTIwOTUwMEQwMipZMjEyNTAwRDAxKg0KK0c1NEQzMTYqWDQ0NDA3MFk1MjQ5N0QwMipYNDQzMTUwWTUzNDE3RDAxKg0KK1g0NDc3NTBEMDEqDQorWTU0MjIyRDAyKlk1MjQ5N0QwMSoNCitYNDQ0MDcwWTU1NjAyRDAyKlg0NDMxNTBZNTY1MjJEMDEqDQorWDQ0Nzc1MEQwMSoNCitZNTczMjdEMDIqWTU1NjAyRDAxKg0KK1g0NDQwNzBZODE0NzdEMDIqWDQ0MzE1MFk4MjM5N0QwMSoNCitYNDQ3NzUwRDAxKg0KK1k4MzIwMkQwMipZODE0NzdEMDEqDQorWDQ0NzE3NVk4NDU4MkQwMipYNDQ3NzUwWTg1MTU3RDAxKg0KK1g0NDM3MjVZODQ1ODJEMDIqWDQ0NzE3NUQwMSoNCitYNDQzNzI1RDAyKlg0NDMxNTBZODUxNTdEMDEqDQorWTg2MzA3RDAyKlk4NTE1N0QwMSoNCitZODYzMDdEMDIqWDQ0MzcyNVk4Njg4MkQwMSoNCitYNDQ3MTc1RDAxKg0KK1g0NDc3NTBZODYzMDdEMDIqWDQ0NzE3NVk4Njg4MkQwMSoNCitYNDQ3NzUwWTg2MzA3RDAyKlk4NTE1N0QwMSoNCitYNDQ2NjAwWTg0NTgyRDAyKlg0NDQzMDBZODY4ODJEMDEqDQorWDQ0Nzc1MFkxMTM2NzdEMDIqWDQ0NTQ1MFkxMTU0MDJEMDEqDQorWDQ0MzcyNUQwMipYNDQ1NDUwRDAxKg0KK1g0NDMxNTBZMTE0ODI3RDAyKlg0NDM3MjVZMTE1NDAyRDAxKg0KK1g0NDMxNTBZMTE0ODI3RDAyKlkxMTM2NzdEMDEqDQorWDQ0MzcyNVkxMTMxMDJEMDIqWDQ0MzE1MFkxMTM2NzdEMDEqDQorWDQ0MzcyNVkxMTMxMDJEMDIqWDQ0NDg3NUQwMSoNCitYNDQ1NDUwWTExMzY3N0QwMSoNCitZMTE1NDAyRDAyKlkxMTM2NzdEMDEqDQorWDQ0NzE3NVkxNDE2MjJEMDIqWDQ0Nzc1MFkxNDIxOTdEMDEqDQorWDQ0NjI1NVkxNDE2MjJEMDIqWDQ0NzE3NUQwMSoNCitYNDQ2MjU1RDAyKlg0NDU0NTBZMTQyNDI3RDAxKg0KK1kxNDMxMTdEMDIqWTE0MjQyN0QwMSoNCitZMTQzMTE3RDAyKlg0NDYyNTVZMTQzOTIyRDAxKg0KK1g0NDcxNzVEMDEqDQorWDQ0Nzc1MFkxNDMzNDdEMDIqWDQ0NzE3NVkxNDM5MjJEMDEqDQorWDQ0Nzc1MFkxNDMzNDdEMDIqWTE0MjE5N0QwMSoNCitYNDQ0NjQ1WTE0MTYyMkQwMipYNDQ1NDUwWTE0MjQyN0QwMSoNCitYNDQzNzI1WTE0MTYyMkQwMipYNDQ0NjQ1RDAxKg0KK1g0NDM3MjVEMDIqWDQ0MzE1MFkxNDIxOTdEMDEqDQorWTE0MzM0N0QwMipZMTQyMTk3RDAxKg0KK1kxNDMzNDdEMDIqWDQ0MzcyNVkxNDM5MjJEMDEqDQorWDQ0NDY0NUQwMSoNCitYNDQ1NDUwWTE0MzExN0QwMipYNDQ0NjQ1WTE0MzkyMkQwMSoNCitYNDQ3NzUwWTE3NDg1N0QwMipYNDQzMTUwWTE3NzE1N0QwMSoNCitZMTc0MjgyRDAxKg0KK1kyMDUxMDJEMDIqWDQ0MzcyNVkyMDU2NzdEMDEqDQorWDQ0MzE1MFkyMDUxMDJEMDIqWTIwMzk1MkQwMSoNCitYNDQzNzI1WTIwMzM3N0QwMipYNDQzMTUwWTIwMzk1MkQwMSoNCitYNDQzNzI1WTIwMzM3N0QwMipYNDQ3MTc1RDAxKg0KK1g0NDc3NTBZMjAzOTUyRDAxKg0KK1g0NDUyMjBZMjA1MTAyRDAyKlg0NDU3OTVZMjA1Njc3RDAxKg0KK1g0NDUyMjBZMjA1MTAyRDAyKlkyMDMzNzdEMDEqDQorWDQ0Nzc1MFkyMDUxMDJEMDIqWTIwMzk1MkQwMSoNCitZMjA1MTAyRDAyKlg0NDcxNzVZMjA1Njc3RDAxKg0KK1g0NDU3OTVEMDIqWDQ0NzE3NUQwMSoNCitYNDQzMTUwWTIzNDE5N0QwMipZMjMxODk3RDAxKg0KK1g0NDU0NTBEMDEqDQorWDQ0NDg3NVkyMzI0NzJEMDEqDQorWTIzMzYyMkQwMipZMjMyNDcyRDAxKg0KK1kyMzM2MjJEMDIqWDQ0NTQ1MFkyMzQxOTdEMDEqDQorWDQ0NzE3NUQwMSoNCitYNDQ3NzUwWTIzMzYyMkQwMipYNDQ3MTc1WTIzNDE5N0QwMSoNCitYNDQ3NzUwWTIzMzYyMkQwMipZMjMyNDcyRDAxKg0KK1g0NDcxNzVZMjMxODk3RDAyKlg0NDc3NTBZMjMyNDcyRDAxKg0KK1g0NDYwMjVZMjYwNDE3RDAyKlg0NDMxNTBZMjYyNzE3RDAxKg0KK1g0NDYwMjVZMjYzMjkyRDAyKlkyNjA0MTdEMDEqDQorWDQ0MzE1MFkyNjI3MTdEMDIqWDQ0Nzc1MEQwMSoNCitYNDQzNzI1WTI5MTU4MkQwMipYNDQzMTUwWTI5MjE1N0QwMSoNCitZMjkzMzA3RDAyKlkyOTIxNTdEMDEqDQorWTI5MzMwN0QwMipYNDQzNzI1WTI5Mzg4MkQwMSoNCitYNDQ3NzUwWTI5MzMwN0QwMipYNDQ3MTc1WTI5Mzg4MkQwMSoNCitYNDQ3NzUwWTI5MzMwN0QwMipZMjkyMTU3RDAxKg0KK1g0NDcxNzVZMjkxNTgyRDAyKlg0NDc3NTBZMjkyMTU3RDAxKg0KK1g0NDUyMjBZMjkzMzA3RDAyKlkyOTIxNTdEMDEqDQorWDQ0MzcyNVkyOTM4ODJEMDIqWDQ0NDY0NUQwMSoNCitYNDQ1Nzk1RDAyKlg0NDcxNzVEMDEqDQorWDQ0NTc5NUQwMipYNDQ1MjIwWTI5MzMwN0QwMSoNCitYNDQ0NjQ1WTI5Mzg4MkQwMipYNDQ1MjIwWTI5MzMwN0QwMSoNCitYNDQzNzI1WTMyMDEwMkQwMipYNDQzMTUwWTMyMDY3N0QwMSoNCitZMzIyNDAyRDAyKlkzMjA2NzdEMDEqDQorWTMyMjQwMkQwMipYNDQzNzI1WTMyMjk3N0QwMSoNCitYNDQ0ODc1RDAxKg0KK1g0NDc3NTBZMzIwMTAyRDAyKlg0NDQ4NzVZMzIyOTc3RDAxKg0KK1g0NDc3NTBEMDIqWTMyMDEwMkQwMSoNCitYNDQ0MDcwWTM1MTI2N0QwMipYNDQzMTUwWTM1MjE4N0QwMSoNCitYNDQ3NzUwRDAxKg0KK1kzNTI5OTJEMDIqWTM1MTI2N0QwMSoNCitYNDQ3MTc1WTM4MTI4MkQwMipYNDQ3NzUwWTM4MTg1N0QwMSoNCitYNDQzNzI1WTM4MTI4MkQwMipYNDQ3MTc1RDAxKg0KK1g0NDM3MjVEMDIqWDQ0MzE1MFkzODE4NTdEMDEqDQorWTM4MzAwN0QwMipZMzgxODU3RDAxKg0KK1kzODMwMDdEMDIqWDQ0MzcyNVkzODM1ODJEMDEqDQorWDQ0NzE3NUQwMSoNCitYNDQ3NzUwWTM4MzAwN0QwMipYNDQ3MTc1WTM4MzU4MkQwMSoNCitYNDQ3NzUwWTM4MzAwN0QwMipZMzgxODU3RDAxKg0KK1g0NDY2MDBZMzgxMjgyRDAyKlg0NDQzMDBZMzgzNTgyRDAxKg0KK0c1NEQzMTcqWDQwODkzOFkxMzQ1ODVEMDIqWDQxMjUzOEQwMSoNCitYNDI0NDE4RDAyKlg0MjgwMThEMDEqDQorWDQyNjIxOFkxMzYzODVEMDIqWTEzMjc4NUQwMSoNCitYNDQwNzk4WTEzODE4NUQwMipZMTMwOTg1RDAxKg0KK1g0NDMxMzhZMTM4MTg1RDAyKlg0NDQzOThZMTM2OTI1RDAxKg0KK1kxMzIyNDVEMDEqDQorWDQ0MzEzOFkxMzA5ODVEMDIqWDQ0NDM5OFkxMzIyNDVEMDEqDQorWDQzOTg5OFkxMzA5ODVEMDIqWDQ0MzEzOEQwMSoNCitYNDM5ODk4WTEzODE4NUQwMipYNDQzMTM4RDAxKg0KK0c1NEQzMTgqWDQwNDQzOFkxNTA0MzVEMDIqWDQwNzEzOEQwMSoNCitYNDEzNjE4RDAyKlg0MTYzMThEMDEqDQorWDQxNDk2OFkxNTE3ODVEMDIqWTE0OTA4NUQwMSoNCitYNDI1MjI4WTE1MTc4NUQwMipZMTQ3NzM1RDAxKg0KK1kxNTE3ODVEMDIqWDQyNjE3M1kxNTMxMzVEMDEqDQorWDQyNzY1OEQwMSoNCitYNDI4NjAzWTE1MTc4NUQwMSoNCitZMTQ3NzM1RDAxKg0KK1g0MjUyMjhZMTUwNDM1RDAyKlg0Mjg2MDNEMDEqDQorWDQzNTA4M1kxNDc3MzVEMDIqWDQzNzc4M0QwMSoNCitYNDM4NDU4WTE0ODQxMEQwMSoNCitZMTUwMDMwRDAyKlkxNDg0MTBEMDEqDQorWDQzNzc4M1kxNTA3MDVEMDIqWDQzODQ1OFkxNTAwMzBEMDEqDQorWDQzNTc1OFkxNTA3MDVEMDIqWDQzNzc4M0QwMSoNCitYNDM1NzU4WTE1MzEzNUQwMipZMTQ3NzM1RDAxKg0KK1g0MzUwODNZMTUzMTM1RDAyKlg0Mzc3ODNEMDEqDQorWDQzODQ1OFkxNTI0NjBEMDEqDQorWTE1MTM4MEQwMSoNCitYNDM3NzgzWTE1MDcwNUQwMipYNDM4NDU4WTE1MTM4MEQwMSoNCitHNTREMzE5KlgzODkyNTBZMTc0MDIyRDAyKlgzODUwNTBZMTc2MTIyRDAxKg0KK1kxNzM0OTdEMDEqDQorWTIzODA3MkQwMipZMjM1OTcyRDAxKg0KK1gzODcxNTBEMDEqDQorWDM4NjYyNVkyMzY0OTdEMDEqDQorWTIzNzU0N0QwMipZMjM2NDk3RDAxKg0KK1kyMzc1NDdEMDIqWDM4NzE1MFkyMzgwNzJEMDEqDQorWDM4ODcyNUQwMSoNCitYMzg5MjUwWTIzNzU0N0QwMipYMzg4NzI1WTIzODA3MkQwMSoNCitYMzg5MjUwWTIzNzU0N0QwMipZMjM2NDk3RDAxKg0KK1gzODg3MjVZMjM1OTcyRDAyKlgzODkyNTBZMjM2NDk3RDAxKg0KK1gzODc2NzVZMjY1NzkyRDAyKlgzODUwNTBZMjY3ODkyRDAxKg0KK1gzODc2NzVZMjY4NDE3RDAyKlkyNjU3OTJEMDEqDQorWDM4NTA1MFkyNjc4OTJEMDIqWDM4OTI1MEQwMSoNCitYMzg1NTc1WTI5ODAyN0QwMipYMzg1MDUwWTI5ODU1MkQwMSoNCitZMjk5NjAyRDAyKlkyOTg1NTJEMDEqDQorWTI5OTYwMkQwMipYMzg1NTc1WTMwMDEyN0QwMSoNCitYMzg5MjUwWTI5OTYwMkQwMipYMzg4NzI1WTMwMDEyN0QwMSoNCitYMzg5MjUwWTI5OTYwMkQwMipZMjk4NTUyRDAxKg0KK1gzODg3MjVZMjk4MDI3RDAyKlgzODkyNTBZMjk4NTUyRDAxKg0KK1gzODY5NDBZMjk5NjAyRDAyKlkyOTg1NTJEMDEqDQorWDM4NTU3NVkzMDAxMjdEMDIqWDM4NjQxNUQwMSoNCitYMzg3NDY1RDAyKlgzODg3MjVEMDEqDQorWDM4NzQ2NUQwMipYMzg2OTQwWTI5OTYwMkQwMSoNCitYMzg2NDE1WTMwMDEyN0QwMipYMzg2OTQwWTI5OTYwMkQwMSoNCitYMzg1ODkwWTM1OTk3N0QwMipYMzg1MDUwWTM2MDgxN0QwMSoNCitYMzg5MjUwRDAxKg0KK1kzNjE1NTJEMDIqWTM1OTk3N0QwMSoNCitYMzg4NzI1WTM4OTI3MkQwMipYMzg5MjUwWTM4OTc5N0QwMSoNCitYMzg1NTc1WTM4OTI3MkQwMipYMzg4NzI1RDAxKg0KK1gzODU1NzVEMDIqWDM4NTA1MFkzODk3OTdEMDEqDQorWTM5MDg0N0QwMipZMzg5Nzk3RDAxKg0KK1kzOTA4NDdEMDIqWDM4NTU3NVkzOTEzNzJEMDEqDQorWDM4ODcyNUQwMSoNCitYMzg5MjUwWTM5MDg0N0QwMipYMzg4NzI1WTM5MTM3MkQwMSoNCitYMzg5MjUwWTM5MDg0N0QwMipZMzg5Nzk3RDAxKg0KK1gzODgyMDBZMzg5MjcyRDAyKlgzODYxMDBZMzkxMzcyRDAxKg0KK0c1NEQzMjAqWDMwODQzOFkyMjY0ODVEMDIqWDMxMDQzOEQwMSoNCitYMzE3NTM4WTIyODQ4NUQwMipZMjI0NDg1RDAxKg0KK1gzMTg4MzhZMjI4NDg1RDAyKlgzMTk1MzhZMjI3Nzg1RDAxKg0KK1kyMjUxODVEMDEqDQorWDMxODgzOFkyMjQ0ODVEMDIqWDMxOTUzOFkyMjUxODVEMDEqDQorWDMxNzAzOFkyMjQ0ODVEMDIqWDMxODgzOEQwMSoNCitYMzE3MDM4WTIyODQ4NUQwMipYMzE4ODM4RDAxKg0KK1gzMjA3MzhEMDIqWDMyMTczOEQwMSoNCitYMzIxMjM4RDAyKlkyMjQ0ODVEMDEqDQorWDMyMDczOEQwMipYMzIxNzM4RDAxKg0KK1gzMjI5MzhZMjI3OTg1RDAyKlkyMjQ5ODVEMDEqDQorWTIyNzk4NUQwMipYMzIzNDM4WTIyODQ4NUQwMSoNCitYMzI0NDM4RDAxKg0KK1gzMjQ5MzhZMjI3OTg1RDAxKg0KK1kyMjQ5ODVEMDEqDQorWDMyNDQzOFkyMjQ0ODVEMDIqWDMyNDkzOFkyMjQ5ODVEMDEqDQorWDMyMzQzOFkyMjQ0ODVEMDIqWDMyNDQzOEQwMSoNCitYMzIyOTM4WTIyNDk4NUQwMipYMzIzNDM4WTIyNDQ4NUQwMSoNCitYMzI4NjM4RDAyKlgzMjk5MzhEMDEqDQorWDMyNzkzOFkyMjUxODVEMDIqWDMyODYzOFkyMjQ0ODVEMDEqDQorWDMyNzkzOFkyMjc3ODVEMDIqWTIyNTE4NUQwMSoNCitZMjI3Nzg1RDAyKlgzMjg2MzhZMjI4NDg1RDAxKg0KK1gzMjk5MzhEMDEqDQorWDMzMTEzOEQwMipZMjI0NDg1RDAxKg0KK1gzMzMxMzhEMDEqDQorWDMzNDMzOFkyMjg0ODVEMDIqWTIyNDQ4NUQwMSoNCitZMjI2NDg1RDAyKlgzMzYzMzhZMjI4NDg1RDAxKg0KK1gzMzQzMzhZMjI2NDg1RDAyKlgzMzYzMzhZMjI0NDg1RDAxKg0KK1gzMzkzMzhZMjI4NDg1RDAyKlgzNDEzMzhEMDEqDQorWDM0MTgzOFkyMjc5ODVEMDEqDQorWTIyNjk4NUQwMSoNCitYMzQxMzM4WTIyNjQ4NUQwMipYMzQxODM4WTIyNjk4NUQwMSoNCitYMzM5ODM4WTIyNjQ4NUQwMipYMzQxMzM4RDAxKg0KK1gzMzk4MzhZMjI4NDg1RDAyKlkyMjQ0ODVEMDEqDQorWDM0MDYzOFkyMjY0ODVEMDIqWDM0MTgzOFkyMjQ0ODVEMDEqDQorWDM0NTAzOFkyMjg0ODVEMDIqWDM0NTUzOFkyMjc5ODVEMDEqDQorWDM0MzUzOFkyMjg0ODVEMDIqWDM0NTAzOEQwMSoNCitYMzQzMDM4WTIyNzk4NUQwMipYMzQzNTM4WTIyODQ4NUQwMSoNCitYMzQzMDM4WTIyNzk4NUQwMipZMjI2OTg1RDAxKg0KK1gzNDM1MzhZMjI2NDg1RDAxKg0KK1gzNDUwMzhEMDEqDQorWDM0NTUzOFkyMjU5ODVEMDEqDQorWTIyNDk4NUQwMSoNCitYMzQ1MDM4WTIyNDQ4NUQwMipYMzQ1NTM4WTIyNDk4NUQwMSoNCitYMzQzNTM4WTIyNDQ4NUQwMipYMzQ1MDM4RDAxKg0KK1gzNDMwMzhZMjI0OTg1RDAyKlgzNDM1MzhZMjI0NDg1RDAxKg0KK1gzNDY3MzhZMjI4NDg1RDAyKlgzNDg3MzhEMDEqDQorWDM0NzczOEQwMipZMjI0NDg1RDAxKg0KK1gzMTA0MzhZMjIwNDg1RDAyKlgzMTA5MzhZMjE5OTg1RDAxKg0KK1gzMDg5MzhZMjIwNDg1RDAyKlgzMTA0MzhEMDEqDQorWDMwODQzOFkyMTk5ODVEMDIqWDMwODkzOFkyMjA0ODVEMDEqDQorWDMwODQzOFkyMTk5ODVEMDIqWTIxODk4NUQwMSoNCitYMzA4OTM4WTIxODQ4NUQwMSoNCitYMzEwNDM4RDAxKg0KK1gzMTA5MzhZMjE3OTg1RDAxKg0KK1kyMTY5ODVEMDEqDQorWDMxMDQzOFkyMTY0ODVEMDIqWDMxMDkzOFkyMTY5ODVEMDEqDQorWDMwODkzOFkyMTY0ODVEMDIqWDMxMDQzOEQwMSoNCitYMzA4NDM4WTIxNjk4NUQwMipYMzA4OTM4WTIxNjQ4NUQwMSoNCitYMzEyMTM4WTIyMDQ4NUQwMipZMjE4NDg1RDAxKg0KK1gzMTI2MzhZMjE2NDg1RDAxKg0KK1gzMTM2MzhZMjE4NDg1RDAxKg0KK1gzMTQ2MzhZMjE2NDg1RDAxKg0KK1gzMTUxMzhZMjE4NDg1RDAxKg0KK1kyMjA0ODVEMDIqWTIxODQ4NUQwMSoNCitYMzE2ODM4WTIyMDQ4NUQwMipZMjE2NDg1RDAxKg0KK1gzMTgxMzhZMjIwNDg1RDAyKlgzMTg4MzhZMjE5Nzg1RDAxKg0KK1kyMTcxODVEMDEqDQorWDMxODEzOFkyMTY0ODVEMDIqWDMxODgzOFkyMTcxODVEMDEqDQorWDMxNjMzOFkyMTY0ODVEMDIqWDMxODEzOEQwMSoNCitYMzE2MzM4WTIyMDQ4NUQwMipYMzE4MTM4RDAxKg0KK1gzMjIzMzhZMjE4NDg1RDAyKlgzMjM4MzhEMDEqDQorWDMyMTgzOFkyMTc5ODVEMDIqWDMyMjMzOFkyMTg0ODVEMDEqDQorWDMyMTgzOFkyMTc5ODVEMDIqWTIxNjk4NUQwMSoNCitYMzIyMzM4WTIxNjQ4NUQwMSoNCitYMzIzODM4RDAxKg0KK1gzMjUwMzhZMjE3OTg1RDAyKlkyMTY5ODVEMDEqDQorWTIxNzk4NUQwMipYMzI1NTM4WTIxODQ4NUQwMSoNCitYMzI2NTM4RDAxKg0KK1gzMjcwMzhZMjE3OTg1RDAxKg0KK1kyMTY5ODVEMDEqDQorWDMyNjUzOFkyMTY0ODVEMDIqWDMyNzAzOFkyMTY5ODVEMDEqDQorWDMyNTUzOFkyMTY0ODVEMDIqWDMyNjUzOEQwMSoNCitYMzI1MDM4WTIxNjk4NUQwMipYMzI1NTM4WTIxNjQ4NUQwMSoNCitYMzI4NzM4WTIxNzk4NUQwMipZMjE2NDg1RDAxKg0KK1kyMTc5ODVEMDIqWDMyOTIzOFkyMTg0ODVEMDEqDQorWDMyOTczOEQwMSoNCitYMzMwMjM4WTIxNzk4NUQwMSoNCitZMjE2NDg1RDAxKg0KK1gzMjgyMzhZMjE4NDg1RDAyKlgzMjg3MzhZMjE3OTg1RDAxKg0KK1gzMzE5MzhEMDIqWTIxNjQ4NUQwMSoNCitZMjE3OTg1RDAyKlgzMzI0MzhZMjE4NDg1RDAxKg0KK1gzMzI5MzhEMDEqDQorWDMzMzQzOFkyMTc5ODVEMDEqDQorWTIxNjQ4NUQwMSoNCitYMzMxNDM4WTIxODQ4NUQwMipYMzMxOTM4WTIxNzk4NUQwMSoNCitYMzM1MTM4WTIxNjQ4NUQwMipYMzM2NjM4RDAxKg0KK1gzMzQ2MzhZMjE2OTg1RDAyKlgzMzUxMzhZMjE2NDg1RDAxKg0KK1gzMzQ2MzhZMjE3OTg1RDAyKlkyMTY5ODVEMDEqDQorWTIxNzk4NUQwMipYMzM1MTM4WTIxODQ4NUQwMSoNCitYMzM2MTM4RDAxKg0KK1gzMzY2MzhZMjE3OTg1RDAxKg0KK1gzMzQ2MzhZMjE3NDg1RDAyKlgzMzY2MzhEMDEqDQorWTIxNzk4NUQwMipZMjE3NDg1RDAxKg0KK1gzMzgzMzhZMjE4NDg1RDAyKlgzMzk4MzhEMDEqDQorWDMzNzgzOFkyMTc5ODVEMDIqWDMzODMzOFkyMTg0ODVEMDEqDQorWDMzNzgzOFkyMTc5ODVEMDIqWTIxNjk4NUQwMSoNCitYMzM4MzM4WTIxNjQ4NUQwMSoNCitYMzM5ODM4RDAxKg0KK1gzNDE1MzhZMjIwNDg1RDAyKlkyMTY5ODVEMDEqDQorWDM0MjAzOFkyMTY0ODVEMDEqDQorWDM0MTAzOFkyMTg5ODVEMDIqWDM0MjAzOEQwMSoNCitYMzQzMDM4WTIxNzk4NUQwMipZMjE2OTg1RDAxKg0KK1kyMTc5ODVEMDIqWDM0MzUzOFkyMTg0ODVEMDEqDQorWDM0NDUzOEQwMSoNCitYMzQ1MDM4WTIxNzk4NUQwMSoNCitZMjE2OTg1RDAxKg0KK1gzNDQ1MzhZMjE2NDg1RDAyKlgzNDUwMzhZMjE2OTg1RDAxKg0KK1gzNDM1MzhZMjE2NDg1RDAyKlgzNDQ1MzhEMDEqDQorWDM0MzAzOFkyMTY5ODVEMDIqWDM0MzUzOFkyMTY0ODVEMDEqDQorWDM0NjczOFkyMTc5ODVEMDIqWTIxNjQ4NUQwMSoNCitZMjE3OTg1RDAyKlgzNDcyMzhZMjE4NDg1RDAxKg0KK1gzNDgyMzhEMDEqDQorWDM0NjIzOEQwMipYMzQ2NzM4WTIxNzk4NUQwMSoNCitYMjM2MjU2WTMyODQ5N0QwMipZMzI2OTk3RDAxKg0KK1gyMzg0NTZZMzI4OTk3RDAyKlkzMjY5OTdEMDEqDQorWDIzNDQ1NkQwMipYMjM4NDU2RDAxKg0KK1gyMzQ0NTZZMzI4OTk3RDAyKlkzMjY5OTdEMDEqDQorWTMzMjE5N0QwMipZMzMwMTk3RDAxKg0KK1kzMzIxOTdEMDIqWDIzNDk1NlkzMzI2OTdEMDEqDQorWDIzNTk1NkQwMSoNCitYMjM2NDU2WTMzMjE5N0QwMipYMjM1OTU2WTMzMjY5N0QwMSoNCitYMjM2NDU2WTMzMjE5N0QwMipZMzMwNjk3RDAxKg0KK1gyMzQ0NTZEMDIqWDIzODQ1NkQwMSoNCitYMjM2NDU2WTMzMTQ5N0QwMipYMjM4NDU2WTMzMjY5N0QwMSoNCitYMjM0NDU2WTMzNTg5N0QwMipZMzMzODk3RDAxKg0KK1kzMzU4OTdEMDIqWDIzNDk1NlkzMzYzOTdEMDEqDQorWDIzNTk1NkQwMSoNCitYMjM2NDU2WTMzNTg5N0QwMipYMjM1OTU2WTMzNjM5N0QwMSoNCitYMjM2NDU2WTMzNTg5N0QwMipZMzM0Mzk3RDAxKg0KK1gyMzQ0NTZEMDIqWDIzODQ1NkQwMSoNCitYMjM2NDU2WTMzNTE5N0QwMipYMjM4NDU2WTMzNjM5N0QwMSoNCitYMjM0NDU2WTMzOTM5N0QwMipYMjM4NDU2RDAxKg0KK1gyMzQ0NTZZMzQxODk3RDAyKlgyMzg0NTZEMDEqDQorWDIzNjQ1NkQwMipZMzM5Mzk3RDAxKg0KK1gyMzg0NTZZMzQ1MDk3RDAyKlkzNDMwOTdEMDEqDQorWTM0NTA5N0QwMipYMjM3OTU2WTM0NTU5N0QwMSoNCitYMjM2NzU2RDAyKlgyMzc5NTZEMDEqDQorWDIzNjI1NlkzNDUwOTdEMDIqWDIzNjc1NlkzNDU1OTdEMDEqDQorWDIzNjI1NlkzNDUwOTdEMDIqWTM0MzU5N0QwMSoNCitYMjM0NDU2RDAyKlgyMzg0NTZEMDEqDQorWDIzNDQ1NlkzNDUwOTdEMDIqWTM0MzA5N0QwMSoNCitZMzQ1MDk3RDAyKlgyMzQ5NTZZMzQ1NTk3RDAxKg0KK1gyMzU3NTZEMDEqDQorWDIzNjI1NlkzNDUwOTdEMDIqWDIzNTc1NlkzNDU1OTdEMDEqDQorWDIzNDQ1NlkzNTEwOTdEMDIqWTM0ODU5N0QwMSoNCitYMjM4NDU2RDAyKlgyMzQ0NTZZMzUxMDk3RDAxKg0KK1gyMzg0NTZEMDIqWTM0ODU5N0QwMSoNCitYMjM0NDU2WTM1NDU5N0QwMipYMjM4NDU2RDAxKg0KK1gyMzQ0NTZZMzU1ODk3RDAyKlgyMzUxNTZZMzU2NTk3RDAxKg0KK1gyMzc3NTZEMDEqDQorWDIzODQ1NlkzNTU4OTdEMDIqWDIzNzc1NlkzNTY1OTdEMDEqDQorWDIzODQ1NlkzNTU4OTdEMDIqWTM1NDA5N0QwMSoNCitYMjM0NDU2WTM1NTg5N0QwMipZMzU0MDk3RDAxKg0KK1gyMzg0NTZZMzU5Nzk3RDAyKlkzNTc3OTdEMDEqDQorWTM1OTc5N0QwMipYMjM3OTU2WTM2MDI5N0QwMSoNCitYMjM2NzU2RDAyKlgyMzc5NTZEMDEqDQorWDIzNjI1NlkzNTk3OTdEMDIqWDIzNjc1NlkzNjAyOTdEMDEqDQorWDIzNjI1NlkzNTk3OTdEMDIqWTM1ODI5N0QwMSoNCitYMjM0NDU2RDAyKlgyMzg0NTZEMDEqDQorWDIzNDQ1NlkzNTk3OTdEMDIqWTM1Nzc5N0QwMSoNCitZMzU5Nzk3RDAyKlgyMzQ5NTZZMzYwMjk3RDAxKg0KK1gyMzU3NTZEMDEqDQorWDIzNjI1NlkzNTk3OTdEMDIqWDIzNTc1NlkzNjAyOTdEMDEqDQorRzU0RDMxNipYMTkwOTQxWTI0MTM1MEQwMipZMjM2NzUwRDAxKg0KK1kyNDEzNTBEMDIqWDE5MzI0MUQwMSoNCitYMTkwOTQxWTIzOTI4MEQwMipYMTkyNjY2RDAxKg0KK1gxOTQ2MjFZMjQxMzUwRDAyKlgxOTY5MjFEMDEqDQorWDE5NzQ5NlkyNDA3NzVEMDEqDQorWTIzOTYyNUQwMSoNCitYMTk2OTIxWTIzOTA1MEQwMipYMTk3NDk2WTIzOTYyNUQwMSoNCitYMTk1MTk2WTIzOTA1MEQwMipYMTk2OTIxRDAxKg0KK1gxOTUxOTZZMjQxMzUwRDAyKlkyMzY3NTBEMDEqDQorWDE5NjExNlkyMzkwNTBEMDIqWDE5NzQ5NlkyMzY3NTBEMDEqDQorWDE5OTY4MUQwMipYMjAxMTc2RDAxKg0KK1gxOTg4NzZZMjM3NTU1RDAyKlgxOTk2ODFZMjM2NzUwRDAxKg0KK1gxOTg4NzZZMjQwNTQ1RDAyKlkyMzc1NTVEMDEqDQorWTI0MDU0NUQwMipYMTk5NjgxWTI0MTM1MEQwMSoNCitYMjAxMTc2RDAxKg0KK1gyMDQ2MjZEMDIqWDIwNjkyNkQwMSoNCitYMjA1Nzc2RDAyKlkyMzY3NTBEMDEqDQorWDIwODg4MUQwMipYMjEwNjA2RDAxKg0KK1gyMDgzMDZZMjM3MzI1RDAyKlgyMDg4ODFZMjM2NzUwRDAxKg0KK1gyMDgzMDZZMjM4NDc1RDAyKlkyMzczMjVEMDEqDQorWTIzODQ3NUQwMipYMjA4ODgxWTIzOTA1MEQwMSoNCitYMjEwMDMxRDAxKg0KK1gyMTA2MDZZMjM4NDc1RDAxKg0KK1gyMDgzMDZZMjM3OTAwRDAyKlgyMTA2MDZEMDEqDQorWTIzODQ3NUQwMipZMjM3OTAwRDAxKg0KK1gyMTM3MTFZMjM5MDUwRDAyKlgyMTQyODZZMjM4NDc1RDAxKg0KK1gyMTI1NjFZMjM5MDUwRDAyKlgyMTM3MTFEMDEqDQorWDIxMTk4NlkyMzg0NzVEMDIqWDIxMjU2MVkyMzkwNTBEMDEqDQorWDIxMTk4NlkyMzg0NzVEMDIqWTIzNzMyNUQwMSoNCitYMjEyNTYxWTIzNjc1MEQwMSoNCitYMjE0Mjg2WTIzOTA1MEQwMipZMjM3MzI1RDAxKg0KK1gyMTQ4NjFZMjM2NzUwRDAxKg0KK1gyMTI1NjFEMDIqWDIxMzcxMUQwMSoNCitYMjE0Mjg2WTIzNzMyNUQwMSoNCitYMjE2ODE2WTIzODQ3NUQwMipZMjM2NzUwRDAxKg0KK1kyMzg0NzVEMDIqWDIxNzM5MVkyMzkwNTBEMDEqDQorWDIxNzk2NkQwMSoNCitYMjE4NTQxWTIzODQ3NUQwMSoNCitZMjM2NzUwRDAxKg0KK1kyMzg0NzVEMDIqWDIxOTExNlkyMzkwNTBEMDEqDQorWDIxOTY5MUQwMSoNCitYMjIwMjY2WTIzODQ3NUQwMSoNCitZMjM2NzUwRDAxKg0KK1gyMTYyNDFZMjM5MDUwRDAyKlgyMTY4MTZZMjM4NDc1RDAxKg0KK1gyMjQyOTFZMjM2NzUwRDAyKlgyMjYwMTZZMjM5MDUwRDAxKg0KK1kyNDA3NzVEMDIqWTIzOTA1MEQwMSoNCitYMjI1NDQxWTI0MTM1MEQwMipYMjI2MDE2WTI0MDc3NUQwMSoNCitYMjI0MjkxWTI0MTM1MEQwMipYMjI1NDQxRDAxKg0KK1gyMjM3MTZZMjQwNzc1RDAyKlgyMjQyOTFZMjQxMzUwRDAxKg0KK1gyMjM3MTZZMjQwNzc1RDAyKlkyMzk2MjVEMDEqDQorWDIyNDI5MVkyMzkwNTBEMDEqDQorWDIyNjAxNkQwMSoNCitYMjI3OTcxWTIzNjc1MEQwMipYMjMwMjcxWTI0MTM1MEQwMSoNCitYMjI3Mzk2RDAyKlgyMzAyNzFEMDEqDQorWDIzMTY1MVkyNDA0MzBEMDIqWDIzMjU3MVkyNDEzNTBEMDEqDQorWTIzNjc1MEQwMSoNCitYMjMxNjUxRDAyKlgyMzMzNzZEMDEqDQorWDIzNjgyNkQwMipYMjM5MTI2RDAxKg0KK1gyMzk3MDFZMjM3MzI1RDAxKg0KK1kyMzg3MDVEMDIqWTIzNzMyNUQwMSoNCitYMjM5MTI2WTIzOTI4MEQwMipYMjM5NzAxWTIzODcwNUQwMSoNCitYMjM3NDAxWTIzOTI4MEQwMipYMjM5MTI2RDAxKg0KK1gyMzc0MDFZMjQxMzUwRDAyKlkyMzY3NTBEMDEqDQorWDIzNjgyNlkyNDEzNTBEMDIqWDIzOTEyNkQwMSoNCitYMjM5NzAxWTI0MDc3NUQwMSoNCitZMjM5ODU1RDAxKg0KK1gyMzkxMjZZMjM5MjgwRDAyKlgyMzk3MDFZMjM5ODU1RDAxKg0KK1gyNDEwODFZMjM2NzUwRDAyKlgyNDMzODFEMDEqDQorWDI0Mzk1NlkyMzczMjVEMDEqDQorWTIzODcwNUQwMipZMjM3MzI1RDAxKg0KK1gyNDMzODFZMjM5MjgwRDAyKlgyNDM5NTZZMjM4NzA1RDAxKg0KK1gyNDE2NTZZMjM5MjgwRDAyKlgyNDMzODFEMDEqDQorWDI0MTY1NlkyNDEzNTBEMDIqWTIzNjc1MEQwMSoNCitYMjQxMDgxWTI0MTM1MEQwMipYMjQzMzgxRDAxKg0KK1gyNDM5NTZZMjQwNzc1RDAxKg0KK1kyMzk4NTVEMDEqDQorWDI0MzM4MVkyMzkyODBEMDIqWDI0Mzk1NlkyMzk4NTVEMDEqDQorWDI0NTMzNlkyMzY3NTBEMDIqWDI0NzYzNkQwMSoNCitYMjQ4MjExWTIzNzMyNUQwMSoNCitZMjM4NzA1RDAyKlkyMzczMjVEMDEqDQorWDI0NzYzNlkyMzkyODBEMDIqWDI0ODIxMVkyMzg3MDVEMDEqDQorWDI0NTkxMVkyMzkyODBEMDIqWDI0NzYzNkQwMSoNCitYMjQ1OTExWTI0MTM1MEQwMipZMjM2NzUwRDAxKg0KK1gyNDUzMzZZMjQxMzUwRDAyKlgyNDc2MzZEMDEqDQorWDI0ODIxMVkyNDA3NzVEMDEqDQorWTIzOTg1NUQwMSoNCitYMjQ3NjM2WTIzOTI4MEQwMipYMjQ4MjExWTIzOTg1NUQwMSoNCitYMjUyNDY2WTIzNjc1MEQwMipYMjUzOTYxRDAxKg0KK1gyNTE2NjFZMjM3NTU1RDAyKlgyNTI0NjZZMjM2NzUwRDAxKg0KK1gyNTE2NjFZMjQwNTQ1RDAyKlkyMzc1NTVEMDEqDQorWTI0MDU0NUQwMipYMjUyNDY2WTI0MTM1MEQwMSoNCitYMjUzOTYxRDAxKg0KK1gyNTcwNjZZMjM5MDUwRDAyKlgyNTc2NDFZMjM4NDc1RDAxKg0KK1gyNTU5MTZZMjM5MDUwRDAyKlgyNTcwNjZEMDEqDQorWDI1NTM0MVkyMzg0NzVEMDIqWDI1NTkxNlkyMzkwNTBEMDEqDQorWDI1NTM0MVkyMzg0NzVEMDIqWTIzNzMyNUQwMSoNCitYMjU1OTE2WTIzNjc1MEQwMSoNCitYMjU3NjQxWTIzOTA1MEQwMipZMjM3MzI1RDAxKg0KK1gyNTgyMTZZMjM2NzUwRDAxKg0KK1gyNTU5MTZEMDIqWDI1NzA2NkQwMSoNCitYMjU3NjQxWTIzNzMyNUQwMSoNCitYMjYwMTcxWTIzODQ3NUQwMipZMjM1MDI1RDAxKg0KK1gyNTk1OTZZMjM5MDUwRDAyKlgyNjAxNzFZMjM4NDc1RDAxKg0KK1gyNjA3NDZZMjM5MDUwRDAxKg0KK1gyNjE4OTZEMDEqDQorWDI2MjQ3MVkyMzg0NzVEMDEqDQorWTIzNzMyNUQwMSoNCitYMjYxODk2WTIzNjc1MEQwMipYMjYyNDcxWTIzNzMyNUQwMSoNCitYMjYwNzQ2WTIzNjc1MEQwMipYMjYxODk2RDAxKg0KK1gyNjAxNzFZMjM3MzI1RDAyKlgyNjA3NDZZMjM2NzUwRDAxKg0KK1gyNjQ0MjZEMDIqWDI2NjE1MUQwMSoNCitYMjYzODUxWTIzNzMyNUQwMipYMjY0NDI2WTIzNjc1MEQwMSoNCitYMjYzODUxWTIzODQ3NUQwMipZMjM3MzI1RDAxKg0KK1kyMzg0NzVEMDIqWDI2NDQyNlkyMzkwNTBEMDEqDQorWDI2NTU3NkQwMSoNCitYMjY2MTUxWTIzODQ3NUQwMSoNCitYMjYzODUxWTIzNzkwMEQwMipYMjY2MTUxRDAxKg0KK1kyMzg0NzVEMDIqWTIzNzkwMEQwMSoNCitYMjAyNDQxWTIyNzc3NUQwMipYMjAzMDE2WTIyODM1MEQwMSoNCitYMjA0NzQxRDAxKg0KK1gyMDUzMTZZMjI3Nzc1RDAxKg0KK1kyMjY2MjVEMDEqDQorWDIwMjQ0MVkyMjM3NTBEMDIqWDIwNTMxNlkyMjY2MjVEMDEqDQorWDIwMjQ0MVkyMjM3NTBEMDIqWDIwNTMxNkQwMSoNCitYMjA2Njk2WTIyNDMyNUQwMipYMjA3MjcxWTIyMzc1MEQwMSoNCitYMjA2Njk2WTIyNzc3NUQwMipZMjI0MzI1RDAxKg0KK1kyMjc3NzVEMDIqWDIwNzI3MVkyMjgzNTBEMDEqDQorWDIwODQyMUQwMSoNCitYMjA4OTk2WTIyNzc3NUQwMSoNCitZMjI0MzI1RDAxKg0KK1gyMDg0MjFZMjIzNzUwRDAyKlgyMDg5OTZZMjI0MzI1RDAxKg0KK1gyMDcyNzFZMjIzNzUwRDAyKlgyMDg0MjFEMDEqDQorWDIwNjY5NlkyMjQ5MDBEMDIqWDIwODk5NlkyMjcyMDBEMDEqDQorWDIxMDM3NlkyMjc0MzBEMDIqWDIxMTI5NlkyMjgzNTBEMDEqDQorWTIyMzc1MEQwMSoNCitYMjEwMzc2RDAyKlgyMTIxMDFEMDEqDQorWDIxMzQ4MVkyMjU0NzVEMDIqWDIxNTc4MVkyMjgzNTBEMDEqDQorWDIxMzQ4MVkyMjU0NzVEMDIqWDIxNjM1NkQwMSoNCitYMjE1NzgxWTIyODM1MEQwMipZMjIzNzUwRDAxKg0KK1gyMTc3MzZZMjI0MzI1RDAyKlgyMTgzMTFZMjIzNzUwRDAxKg0KK1gyMTc3MzZZMjI3Nzc1RDAyKlkyMjQzMjVEMDEqDQorWTIyNzc3NUQwMipYMjE4MzExWTIyODM1MEQwMSoNCitYMjE5NDYxRDAxKg0KK1gyMjAwMzZZMjI3Nzc1RDAxKg0KK1kyMjQzMjVEMDEqDQorWDIxOTQ2MVkyMjM3NTBEMDIqWDIyMDAzNlkyMjQzMjVEMDEqDQorWDIxODMxMVkyMjM3NTBEMDIqWDIxOTQ2MUQwMSoNCitYMjE3NzM2WTIyNDkwMEQwMipYMjIwMDM2WTIyNzIwMEQwMSoNCitYMjIxNDE2WTIyNzQzMEQwMipYMjIyMzM2WTIyODM1MEQwMSoNCitZMjIzNzUwRDAxKg0KK1gyMjE0MTZEMDIqWDIyMzE0MUQwMSoNCitYMjI0NTIxWTIyNzc3NUQwMipYMjI1MDk2WTIyODM1MEQwMSoNCitYMjI2ODIxRDAxKg0KK1gyMjczOTZZMjI3Nzc1RDAxKg0KK1kyMjY2MjVEMDEqDQorWDIyNDUyMVkyMjM3NTBEMDIqWDIyNzM5NlkyMjY2MjVEMDEqDQorWDIyNDUyMVkyMjM3NTBEMDIqWDIyNzM5NkQwMSoNCitYMjI4Nzc2WTIyNDMyNUQwMipYMjI5MzUxWTIyMzc1MEQwMSoNCitYMjI4Nzc2WTIyNzc3NUQwMipZMjI0MzI1RDAxKg0KK1kyMjc3NzVEMDIqWDIyOTM1MVkyMjgzNTBEMDEqDQorWDIzMDUwMUQwMSoNCitYMjMxMDc2WTIyNzc3NUQwMSoNCitZMjI0MzI1RDAxKg0KK1gyMzA1MDFZMjIzNzUwRDAyKlgyMzEwNzZZMjI0MzI1RDAxKg0KK1gyMjkzNTFZMjIzNzUwRDAyKlgyMzA1MDFEMDEqDQorWDIyODc3NlkyMjQ5MDBEMDIqWDIzMTA3NlkyMjcyMDBEMDEqDQorWDIzNDUyNlkyMjc3NzVEMDIqWDIzNTEwMVkyMjgzNTBEMDEqDQorWDIzNjgyNkQwMSoNCitYMjM3NDAxWTIyNzc3NUQwMSoNCitZMjI2NjI1RDAxKg0KK1gyMzQ1MjZZMjIzNzUwRDAyKlgyMzc0MDFZMjI2NjI1RDAxKg0KK1gyMzQ1MjZZMjIzNzUwRDAyKlgyMzc0MDFEMDEqDQorWDIzODc4MVkyMjQzMjVEMDIqWDIzOTM1NlkyMjM3NTBEMDEqDQorWDIzODc4MVkyMjc3NzVEMDIqWTIyNDMyNUQwMSoNCitZMjI3Nzc1RDAyKlgyMzkzNTZZMjI4MzUwRDAxKg0KK1gyNDA1MDZEMDEqDQorWDI0MTA4MVkyMjc3NzVEMDEqDQorWTIyNDMyNUQwMSoNCitYMjQwNTA2WTIyMzc1MEQwMipYMjQxMDgxWTIyNDMyNUQwMSoNCitYMjM5MzU2WTIyMzc1MEQwMipYMjQwNTA2RDAxKg0KK1gyMzg3ODFZMjI0OTAwRDAyKlgyNDEwODFZMjI3MjAwRDAxKg0KK1gyNDI0NjFZMjI3NDMwRDAyKlgyNDMzODFZMjI4MzUwRDAxKg0KK1kyMjM3NTBEMDEqDQorWDI0MjQ2MUQwMipYMjQ0MTg2RDAxKg0KK1gyNDU1NjZZMjI1NDc1RDAyKlgyNDc4NjZZMjI4MzUwRDAxKg0KK1gyNDU1NjZZMjI1NDc1RDAyKlgyNDg0NDFEMDEqDQorWDI0Nzg2NlkyMjgzNTBEMDIqWTIyMzc1MEQwMSoNCitYMjQ5ODIxWTIyNjA1MEQwMipYMjUyMTIxRDAxKg0KK1gyNTM1MDFZMjI3Nzc1RDAyKlgyNTQwNzZZMjI4MzUwRDAxKg0KK1gyNTU4MDFEMDEqDQorWDI1NjM3NlkyMjc3NzVEMDEqDQorWTIyNjYyNUQwMSoNCitYMjUzNTAxWTIyMzc1MEQwMipYMjU2Mzc2WTIyNjYyNUQwMSoNCitYMjUzNTAxWTIyMzc1MEQwMipYMjU2Mzc2RDAxKg0KK1gxNzk3NDFZMTk5MzUwRDAyKlgxODAzMTZZMTk4Nzc1RDAxKg0KK1gxNzgwMTZZMTk5MzUwRDAyKlgxNzk3NDFEMDEqDQorWDE3NzQ0MVkxOTg3NzVEMDIqWDE3ODAxNlkxOTkzNTBEMDEqDQorWDE3NzQ0MVkxOTg3NzVEMDIqWTE5NTMyNUQwMSoNCitYMTc4MDE2WTE5NDc1MEQwMSoNCitYMTc5NzQxRDAxKg0KK1gxODAzMTZZMTk1MzI1RDAxKg0KK1kxOTY0NzVEMDIqWTE5NTMyNUQwMSoNCitYMTc5NzQxWTE5NzA1MEQwMipYMTgwMzE2WTE5NjQ3NUQwMSoNCitYMTc4NTkxWTE5NzA1MEQwMipYMTc5NzQxRDAxKg0KK1gxODE2OTZZMTk5MzUwRDAyKlkxOTQ3NTBEMDEqDQorWTE5OTM1MEQwMipYMTg0NTcxWTE5NDc1MEQwMSoNCitZMTk5MzUwRDAyKlkxOTQ3NTBEMDEqDQorWDE4NjUyNlkxOTkzNTBEMDIqWTE5NDc1MEQwMSoNCitYMTg4MDIxWTE5OTM1MEQwMipYMTg4ODI2WTE5ODU0NUQwMSoNCitZMTk1NTU1RDAxKg0KK1gxODgwMjFZMTk0NzUwRDAyKlgxODg4MjZZMTk1NTU1RDAxKg0KK1gxODU5NTFZMTk0NzUwRDAyKlgxODgwMjFEMDEqDQorWDE4NTk1MVkxOTkzNTBEMDIqWDE4ODAyMUQwMSoNCitHNTREMzIxKlgxMTE2OTFZMjI4NTAwRDAyKlkyMjUwMDBEMDEqDQorWTIxOTc1MEQwMipZMjE2MjUwRDAxKg0KK1gxMDk5NDFZMjE4MDAwRDAyKlgxMTM0NDFEMDEqDQorWDEwODE5MVkyMTEwMDBEMDIqWDExNTE5MUQwMSoNCitYMTA4MTkxWTIwNjYyNUQwMSoNCitYMTE1MTkxRDAxKg0KK1gxMDgxOTFZMjAzMzAwRDAyKlkyMDEwMjVEMDEqDQorWDEwOTQxNlkyMDQ1MjVEMDIqWDEwODE5MVkyMDMzMDBEMDEqDQorWDEwOTQxNlkyMDQ1MjVEMDIqWDExMzk2NkQwMSoNCitYMTE1MTkxWTIwMzMwMEQwMSoNCitZMjAxMDI1RDAxKg0KK1gxMjExOTFZMjI3NTAwRDAyKlkyMjQwMDBEMDEqDQorWDExOTQ0MVkyMjU3NTBEMDIqWDEyMjk0MUQwMSoNCitYMTIzMjkxWTIyMTkwMEQwMipYMTI0NjkxWTIyMDUwMEQwMSoNCitYMTE3NjkxRDAyKlgxMjQ2OTFEMDEqDQorWDExNzY5MVkyMjE5MDBEMDIqWTIxOTI3NUQwMSoNCitYMTIzODE2WTIxNzE3NUQwMipYMTI0NjkxWTIxNjMwMEQwMSoNCitZMjEzNjc1RDAxKg0KK1gxMjM4MTZZMjEyODAwRDAxKg0KK1gxMjIwNjZEMDIqWDEyMzgxNkQwMSoNCitYMTE3NjkxWTIxNzE3NUQwMipYMTIyMDY2WTIxMjgwMEQwMSoNCitYMTE3NjkxWTIxNzE3NUQwMipZMjEyODAwRDAxKg0KK1gxMjQ2OTFZMjEwNzAwRDAyKlgxMTc2OTFZMjA4OTUwRDAxKg0KK1gxMjQ2OTFZMjA3MjAwRDAxKg0KK0c1NEQzMTcqWDMyMjY1MFk1NTA5NkQwMipZNTE0OTZEMDEqDQorWTY3MzM2RDAyKlk2MzczNkQwMSoNCitYMzIwODUwWTY1NTM2RDAyKlgzMjQ0NTBEMDEqDQorWDMyMDg1MFk3NTk3NkQwMipYMzI2MjUwRDAxKg0KK1gzMjA4NTBEMDIqWDMxOTA1MFk3NzIzNkQwMSoNCitZNzkyMTZEMDIqWTc3MjM2RDAxKg0KK1k3OTIxNkQwMipYMzIwODUwWTgwNDc2RDAxKg0KK1gzMjYyNTBEMDEqDQorWDMyMjY1MEQwMipZNzU5NzZEMDEqDQorRzU0RDMxOCpYNzg5MzhZNzc4NjZEMDIqWDc5NjEzWTc3MTkxRDAxKg0KK1g3ODkzOFk4MTkxNkQwMipZNzc4NjZEMDEqDQorWTgxOTE2RDAyKlg3OTYxM1k4MjU5MUQwMSoNCitYODA5NjNEMDEqDQorWDgxNjM4WTgxOTE2RDAxKg0KK1k3Nzg2NkQwMSoNCitYODA5NjNZNzcxOTFEMDIqWDgxNjM4WTc3ODY2RDAxKg0KK1g3OTYxM1k3NzE5MUQwMipYODA5NjNEMDEqDQorWDc4OTM4WTc4NTQxRDAyKlg4MTYzOFk4MTI0MUQwMSoNCitYMTE0ODQ4WTgxNTExRDAyKlgxMTU5MjhZODI1OTFEMDEqDQorWTc3MTkxRDAxKg0KK1gxMTQ4NDhEMDIqWDExNjg3M0QwMSoNCitYMTQ3NjUzWTgxOTE2RDAyKlgxNDgzMjhZODI1OTFEMDEqDQorWDE1MDM1M0QwMSoNCitYMTUxMDI4WTgxOTE2RDAxKg0KK1k4MDU2NkQwMSoNCitYMTQ3NjUzWTc3MTkxRDAyKlgxNTEwMjhZODA1NjZEMDEqDQorWDE0NzY1M1k3NzE5MUQwMipYMTUxMDI4RDAxKg0KK1gxNzkzNzhZODE5MTZEMDIqWDE4MDA1M1k4MjU5MUQwMSoNCitYMTgxNDAzRDAxKg0KK1gxODIwNzhZODE5MTZEMDEqDQorWDE4MTQwM1k3NzE5MUQwMipYMTgyMDc4WTc3ODY2RDAxKg0KK1gxODAwNTNZNzcxOTFEMDIqWDE4MTQwM0QwMSoNCitYMTc5Mzc4WTc3ODY2RDAyKlgxODAwNTNZNzcxOTFEMDEqDQorWTgwMTYxRDAyKlgxODE0MDNEMDEqDQorWDE4MjA3OFk4MTkxNkQwMipZODA4MzZEMDEqDQorWTc5NDg2RDAyKlk3Nzg2NkQwMSoNCitZNzk0ODZEMDIqWDE4MTQwM1k4MDE2MUQwMSoNCitYMTgyMDc4WTgwODM2RDAyKlgxODE0MDNZODAxNjFEMDEqDQorWDIwNTU2OFk3OTIxNkQwMipYMjA4MjY4WTgyNTkxRDAxKg0KK1gyMDU1NjhZNzkyMTZEMDIqWDIwODk0M0QwMSoNCitYMjA4MjY4WTgyNTkxRDAyKlk3NzE5MUQwMSoNCitYMjM0ODYzWTgyNTkxRDAyKlgyMzc1NjNEMDEqDQorWDIzNDg2M0QwMipZNzk4OTFEMDEqDQorWDIzNTUzOFk4MDU2NkQwMSoNCitYMjM2ODg4RDAxKg0KK1gyMzc1NjNZNzk4OTFEMDEqDQorWTc3ODY2RDAxKg0KK1gyMzY4ODhZNzcxOTFEMDIqWDIzNzU2M1k3Nzg2NkQwMSoNCitYMjM1NTM4WTc3MTkxRDAyKlgyMzY4ODhEMDEqDQorWDIzNDg2M1k3Nzg2NkQwMipYMjM1NTM4WTc3MTkxRDAxKg0KK1gyNjc5MzhZODI1OTFEMDIqWDI2ODYxM1k4MTkxNkQwMSoNCitYMjY2NTg4WTgyNTkxRDAyKlgyNjc5MzhEMDEqDQorWDI2NTkxM1k4MTkxNkQwMipYMjY2NTg4WTgyNTkxRDAxKg0KK1gyNjU5MTNZODE5MTZEMDIqWTc3ODY2RDAxKg0KK1gyNjY1ODhZNzcxOTFEMDEqDQorWDI2NzkzOFk4MDE2MUQwMipYMjY4NjEzWTc5NDg2RDAxKg0KK1gyNjU5MTNZODAxNjFEMDIqWDI2NzkzOEQwMSoNCitYMjY2NTg4WTc3MTkxRDAyKlgyNjc5MzhEMDEqDQorWDI2ODYxM1k3Nzg2NkQwMSoNCitZNzk0ODZEMDIqWTc3ODY2RDAxKg0KK1gyOTUyMDhZNzcxOTFEMDIqWDI5NzkwOFk4MjU5MUQwMSoNCitYMjk0NTMzRDAyKlgyOTc5MDhEMDEqDQorRzU0RDMyMipYNDQ4NTAwWTEyNjIwMEQwMipZMTAxMjAwRDAxKg0KK1g0Nzg1MDBZMTI2MjAwRDAyKlkxMDEyMDBEMDEqDQorWTEyNjIwMEQwMipYNDQ4NTAwRDAxKg0KK1kxMTk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwWTEwMTIwMEQwMipZMTE5NzAwRDAxKg0KK1g0Njg1MDBZMTAxMjAwRDAyKlkxMTk3MDBEMDEqDQorWDQ0ODUwMFkxMDEyMDBEMDIqWDQ3ODUwMEQwMSoNCitYNDQ4NTAwRDAyKlg0NTg1MDBEMDEqDQorWDQ0ODUwMFk5NjIwMEQwMipZNzEyMDBEMDEqDQorWDQ3ODUwMFk5NjIwMEQwMipZNzEyMDBEMDEqDQorWTk2MjAwRDAyKlg0NDg1MDBEMDEqDQorWTg5NzAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ1ODUwMFk3MTIwMEQwMipZODk3MDBEMDEqDQorWDQ2ODUwMFk3MTIwMEQwMipZODk3MDBEMDEqDQorWDQ0ODUwMFk3MTIwMEQwMipYNDc4NTAwRDAxKg0KK1g0NDg1MDBEMDIqWDQ1ODUwMEQwMSoNCitYNDQ4NTAwWTY2MjAwRDAyKlk0MTIwMEQwMSoNCitYNDc4NTAwWTY2MjAwRDAyKlk0MTIwMEQwMSoNCitZNjYyMDBEMDIqWDQ0ODUwMEQwMSoNCitZNTk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwWTQxMjAwRDAyKlk1OTcwMEQwMSoNCitYNDY4NTAwWTQxMjAwRDAyKlk1OTcwMEQwMSoNCitYNDQ4NTAwWTQxMjAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ0ODUwMEQwMipYNDU4NTAwRDAxKg0KK1g0NDg1MDBZMjE2MjAwRDAyKlkxOTEyMDBEMDEqDQorWDQ3ODUwMFkyMTYyMDBEMDIqWTE5MTIwMEQwMSoNCitZMjE2MjAwRDAyKlg0NDg1MDBEMDEqDQorWTIwOTcwMEQwMipYNDc4NTAwRDAxKg0KK1g0NTg1MDBZMTkxMjAwRDAyKlkyMDk3MDBEMDEqDQorWDQ2ODUwMFkxOTEyMDBEMDIqWTIwOTcwMEQwMSoNCitYNDQ4NTAwWTE5MTIwMEQwMipYNDc4NTAwRDAxKg0KK1g0NDg1MDBEMDIqWDQ1ODUwMEQwMSoNCitYNDQ4NTAwWTE4NjIwMEQwMipZMTYxMjAwRDAxKg0KK1g0Nzg1MDBZMTg2MjAwRDAyKlkxNjEyMDBEMDEqDQorWTE4NjIwMEQwMipYNDQ4NTAwRDAxKg0KK1kxNzk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwWTE2MTIwMEQwMipZMTc5NzAwRDAxKg0KK1g0Njg1MDBZMTYxMjAwRDAyKlkxNzk3MDBEMDEqDQorWDQ0ODUwMFkxNjEyMDBEMDIqWDQ3ODUwMEQwMSoNCitYNDQ4NTAwRDAyKlg0NTg1MDBEMDEqDQorWDM3NDgzNVkyMjg1NjZEMDIqWDM5NjA0N0QwMSoNCitYMzc0ODM1RDAyKlkxOTc0MzREMDEqDQorWDM5NjA0N0QwMSoNCitZMjI4NTY2RDAyKlkyMTU1MDBEMDEqDQorWTIxMDUwMEQwMipZMTk3NDM0RDAxKg0KK1kyMTU1MDBEMDIqRzc1KkcwM1gzOTYwNDdZMjEwNTAwSTBKLTI1MDBEMDEqRzAxKg0KK1g0MDIwMDBZMjE2MjAwRDAyKlkxOTEyMDBEMDEqDQorWDQ0MjAwMFkyMTYyMDBEMDIqWTE5MTIwMEQwMSoNCitZMjE2MjAwRDAyKlg0MDIwMDBEMDEqDQorWTIwOTcwMEQwMipYNDQyMDAwRDAxKg0KK1g0MTIwMDBZMTkxMjAwRDAyKlkyMDk3MDBEMDEqDQorWDQyMjAwMFkxOTEyMDBEMDIqWTIwOTcwMEQwMSoNCitYNDMyMDAwWTE5MTIwMEQwMipZMjA5NzAwRDAxKg0KK1g0MDIwMDBZMTkxMjAwRDAyKlg0NDIwMDBEMDEqDQorWDQwMjAwMEQwMipYNDEyMDAwRDAxKg0KK1g0NDg1MDBZMjQ2MjAwRDAyKlkyMjEyMDBEMDEqDQorWDQ3ODUwMFkyNDYyMDBEMDIqWTIyMTIwMEQwMSoNCitYNDQ4NTAwWTI0NjIwMEQwMipYNDc4NTAwRDAxKg0KK1g0NDg1MDBZMjM5NzAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ1ODUwMEQwMipZMjIxMjAwRDAxKg0KK1g0Njg1MDBZMjM5NzAwRDAyKlkyMjEyMDBEMDEqDQorWDQ0ODUwMEQwMipYNDc4NTAwRDAxKg0KK1g0NDg1MDBEMDIqWDQ1ODUwMEQwMSoNCitYNDAyMDAwWTI0NjIwMEQwMipZMjIxMjAwRDAxKg0KK1g0NDIwMDBZMjQ2MjAwRDAyKlkyMjEyMDBEMDEqDQorWTI0NjIwMEQwMipYNDAyMDAwRDAxKg0KK1kyMzk3MDBEMDIqWDQ0MjAwMEQwMSoNCitYNDEyMDAwWTIyMTIwMEQwMipZMjM5NzAwRDAxKg0KK1g0MjIwMDBZMjIxMjAwRDAyKlkyMzk3MDBEMDEqDQorWDQzMjAwMFkyMjEyMDBEMDIqWTIzOTcwMEQwMSoNCitYNDAyMDAwWTIyMTIwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYNDQ4NTAwWTI3NjIwMEQwMipZMjUxMjAwRDAxKg0KK1g0Nzg1MDBZMjc2MjAwRDAyKlkyNTEyMDBEMDEqDQorWTI3NjIwMEQwMipYNDQ4NTAwRDAxKg0KK1kyNjk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwWTI1MTIwMEQwMipZMjY5NzAwRDAxKg0KK1g0Njg1MDBZMjUxMjAwRDAyKlkyNjk3MDBEMDEqDQorWDQ0ODUwMFkyNTEyMDBEMDIqWDQ3ODUwMEQwMSoNCitYNDQ4NTAwRDAyKlg0NTg1MDBEMDEqDQorWDQ0ODUwMFkxNTYyMDBEMDIqWTEzMTIwMEQwMSoNCitYNDc4NTAwWTE1NjIwMEQwMipZMTMxMjAwRDAxKg0KK1kxNTYyMDBEMDIqWDQ0ODUwMEQwMSoNCitZMTQ5NzAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ1ODUwMFkxMzEyMDBEMDIqWTE0OTcwMEQwMSoNCitYNDY4NTAwWTEzMTIwMEQwMipZMTQ5NzAwRDAxKg0KK1g0NDg1MDBZMTMxMjAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ0ODUwMEQwMipYNDU4NTAwRDAxKg0KK1g0MDIwMDBZMTg2MjAwRDAyKlkxNjEyMDBEMDEqDQorWDQ0MjAwMFkxODYyMDBEMDIqWTE2MTIwMEQwMSoNCitZMTg2MjAwRDAyKlg0MDIwMDBEMDEqDQorWTE3OTcwMEQwMipYNDQyMDAwRDAxKg0KK1g0MTIwMDBZMTYxMjAwRDAyKlkxNzk3MDBEMDEqDQorWDQyMjAwMFkxNjEyMDBEMDIqWTE3OTcwMEQwMSoNCitYNDMyMDAwWTE2MTIwMEQwMipZMTc5NzAwRDAxKg0KK1g0MDIwMDBZMTYxMjAwRDAyKlg0NDIwMDBEMDEqDQorWDQwMjAwMEQwMipYNDEyMDAwRDAxKg0KK1gzNTM4MzFZNzU2NzNEMDIqWTkxNDIxRDAxKg0KK1gzOTAwNTFZNzU2NzNEMDIqWDM1MzgzMUQwMSoNCitYMzkwMDUxWTkxNDIxRDAyKlk3NTY3M0QwMSoNCitYMzUyMjU2WTkxNDIxRDAyKlkxMzE1NzlEMDEqDQorWDM5MTYyNlk5MTQyMUQwMipZMTMxNTc5RDAxKg0KK1k5MTQyMUQwMipYMzUyMjU2RDAxKg0KK1gzOTE2MjZZMTMxNTc5RDAyKlgzNTIyNTZEMDEqDQorRzU0RDMyMypYNDAwNjk2WTk0ODkyRDAyKlk5NDEwNkQwMSoNCitYMzk1MTg2WTk0ODkyRDAyKlk5NDEwNkQwMSoNCitYMzcyMTg2WTU1MzQ5RDAyKlk1NDU2M0QwMSoNCitYMzc3Njk2WTU1MzQ5RDAyKlk1NDU2M0QwMSoNCitYMzczNTQ4WTY4NzU1RDAyKlgzNzQzMzREMDEqDQorWDM3MzU0OFk2MzI0NUQwMipYMzc0MzM0RDAxKg0KK1gzODU0NzNZNTEzMTREMDIqWDM4OTQwOUQwMSoNCitYMzg1NDczWTQwNjg2RDAyKlgzODk0MDlEMDEqDQorWDM4NTA0OFk2MTI1NUQwMipYMzg1ODM0RDAxKg0KK1gzODUwNDhZNTU3NDVEMDIqWDM4NTgzNEQwMSoNCitYMzg3NTQ4WTY5MjU1RDAyKlgzODgzMzREMDEqDQorWDM4NzU0OFk2Mzc0NUQwMipYMzg4MzM0RDAxKg0KK0c1NEQzMjIqWDQ0ODUwMFkzOTYyMDBEMDIqWTM3MTIwMEQwMSoNCitYNDc4NTAwWTM5NjIwMEQwMipZMzcxMjAwRDAxKg0KK1g0NDg1MDBZMzk2MjAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ0ODUwMFkzODk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwRDAyKlkzNzEyMDBEMDEqDQorWDQ2ODUwMFkzODk3MDBEMDIqWTM3MTIwMEQwMSoNCitYNDQ4NTAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ0ODUwMEQwMipYNDU4NTAwRDAxKg0KK1g0NDg1MDBZMzY2MjAwRDAyKlkzNDEyMDBEMDEqDQorWDQ3ODUwMFkzNjYyMDBEMDIqWTM0MTIwMEQwMSoNCitZMzY2MjAwRDAyKlg0NDg1MDBEMDEqDQorWTM1OTcwMEQwMipYNDc4NTAwRDAxKg0KK1g0NTg1MDBZMzQxMjAwRDAyKlkzNTk3MDBEMDEqDQorWDQ2ODUwMFkzNDEyMDBEMDIqWTM1OTcwMEQwMSoNCitYNDQ4NTAwWTM0MTIwMEQwMipYNDc4NTAwRDAxKg0KK1g0NDg1MDBEMDIqWDQ1ODUwMEQwMSoNCitYNDAyMDAwWTM2NjIwMEQwMipZMzQxMjAwRDAxKg0KK1g0NDIwMDBZMzY2MjAwRDAyKlkzNDEyMDBEMDEqDQorWTM2NjIwMEQwMipYNDAyMDAwRDAxKg0KK1kzNTk3MDBEMDIqWDQ0MjAwMEQwMSoNCitYNDEyMDAwWTM0MTIwMEQwMipZMzU5NzAwRDAxKg0KK1g0MjIwMDBZMzQxMjAwRDAyKlkzNTk3MDBEMDEqDQorWDQzMjAwMFkzNDEyMDBEMDIqWTM1OTcwMEQwMSoNCitYNDAyMDAwWTM0MTIwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYNDAyMDAwWTM5NjIwMEQwMipZMzcxMjAwRDAxKg0KK1g0NDIwMDBZMzk2MjAwRDAyKlkzNzEyMDBEMDEqDQorWTM5NjIwMEQwMipYNDAyMDAwRDAxKg0KK1kzODk3MDBEMDIqWDQ0MjAwMEQwMSoNCitYNDEyMDAwWTM3MTIwMEQwMipZMzg5NzAwRDAxKg0KK1g0MjIwMDBZMzcxMjAwRDAyKlkzODk3MDBEMDEqDQorWDQzMjAwMFkzNzEyMDBEMDIqWTM4OTcwMEQwMSoNCitYNDAyMDAwWTM3MTIwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYNDQ4NTAwWTMzNjIwMEQwMipZMzExMjAwRDAxKg0KK1g0Nzg1MDBZMzM2MjAwRDAyKlkzMTEyMDBEMDEqDQorWTMzNjIwMEQwMipYNDQ4NTAwRDAxKg0KK1kzMjk3MDBEMDIqWDQ3ODUwMEQwMSoNCitYNDU4NTAwWTMxMTIwMEQwMipZMzI5NzAwRDAxKg0KK1g0Njg1MDBZMzExMjAwRDAyKlkzMjk3MDBEMDEqDQorWDQ0ODUwMFkzMTEyMDBEMDIqWDQ3ODUwMEQwMSoNCitYNDQ4NTAwRDAyKlg0NTg1MDBEMDEqDQorWDQ0ODUwMFkzMDYyMDBEMDIqWTI4MTIwMEQwMSoNCitYNDc4NTAwWTMwNjIwMEQwMipZMjgxMjAwRDAxKg0KK1kzMDYyMDBEMDIqWDQ0ODUwMEQwMSoNCitZMjk5NzAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ1ODUwMFkyODEyMDBEMDIqWTI5OTcwMEQwMSoNCitYNDY4NTAwWTI4MTIwMEQwMipZMjk5NzAwRDAxKg0KK1g0NDg1MDBZMjgxMjAwRDAyKlg0Nzg1MDBEMDEqDQorWDQ0ODUwMEQwMipYNDU4NTAwRDAxKg0KK1gzNzQ4MzVZMzQ2NTY2RDAyKlgzOTYwNDdEMDEqDQorWDM3NDgzNUQwMipZMzE1NDM0RDAxKg0KK1gzOTYwNDdEMDEqDQorWTM0NjU2NkQwMipZMzMzNTAwRDAxKg0KK1kzMjg1MDBEMDIqWTMxNTQzNEQwMSoNCitZMzMzNTAwRDAyKkc3NSpHMDNYMzk2MDQ3WTMyODUwMEkwSi0yNTAwRDAxKkcwMSoNCitYNDAyMDAwWTMwNjIwMEQwMipZMjgxMjAwRDAxKg0KK1g0NDIwMDBZMzA2MjAwRDAyKlkyODEyMDBEMDEqDQorWTMwNjIwMEQwMipYNDAyMDAwRDAxKg0KK1kyOTk3MDBEMDIqWDQ0MjAwMEQwMSoNCitYNDEyMDAwWTI4MTIwMEQwMipZMjk5NzAwRDAxKg0KK1g0MjIwMDBZMjgxMjAwRDAyKlkyOTk3MDBEMDEqDQorWDQzMjAwMFkyODEyMDBEMDIqWTI5OTcwMEQwMSoNCitYNDAyMDAwWTI4MTIwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYNDAyMDAwWTMzNjIwMEQwMipZMzExMjAwRDAxKg0KK1g0NDIwMDBZMzM2MjAwRDAyKlkzMTEyMDBEMDEqDQorWDQwMjAwMFkzMzYyMDBEMDIqWDQ0MjAwMEQwMSoNCitYNDAyMDAwWTMyOTcwMEQwMipYNDQyMDAwRDAxKg0KK1g0MTIwMDBEMDIqWTMxMTIwMEQwMSoNCitYNDIyMDAwWTMyOTcwMEQwMipZMzExMjAwRDAxKg0KK1g0MzIwMDBZMzI5NzAwRDAyKlkzMTEyMDBEMDEqDQorWDQwMjAwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYNDAyMDAwWTI3NjIwMEQwMipZMjUxMjAwRDAxKg0KK1g0NDIwMDBZMjc2MjAwRDAyKlkyNTEyMDBEMDEqDQorWDQwMjAwMFkyNzYyMDBEMDIqWDQ0MjAwMEQwMSoNCitYNDAyMDAwWTI2OTcwMEQwMipYNDQyMDAwRDAxKg0KK1g0MTIwMDBEMDIqWTI1MTIwMEQwMSoNCitYNDIyMDAwWTI2OTcwMEQwMipZMjUxMjAwRDAxKg0KK1g0MzIwMDBZMjY5NzAwRDAyKlkyNTEyMDBEMDEqDQorWDQwMjAwMEQwMipYNDQyMDAwRDAxKg0KK1g0MDIwMDBEMDIqWDQxMjAwMEQwMSoNCitYMzA3NDQxWTI2MTIwMEQwMipZMjM2MjAwRDAxKg0KK1gzNDc0NDFZMjYxMjAwRDAyKlkyMzYyMDBEMDEqDQorWTI2MTIwMEQwMipYMzA3NDQxRDAxKg0KK1kyNTQ3MDBEMDIqWDM0NzQ0MUQwMSoNCitYMzE3NDQxWTIzNjIwMEQwMipZMjU0NzAwRDAxKg0KK1gzMjc0NDFZMjM2MjAwRDAyKlkyNTQ3MDBEMDEqDQorWDMzNzQ0MVkyMzYyMDBEMDIqWTI1NDcwMEQwMSoNCitYMzA3NDQxWTIzNjIwMEQwMipYMzQ3NDQxRDAxKg0KK1gzMDc0NDFEMDIqWDMxNzQ0MUQwMSoNCitYMjgzMjQxWTQyNTAwRDAyKlgzMDgyNDFEMDEqDQorWDI4MzI0MVk3MjUwMEQwMipYMzA4MjQxRDAxKg0KK1gyODMyNDFEMDIqWTQyNTAwRDAxKg0KK1gyODk3NDFZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipYMzA4MjQxRDAxKg0KK1gyODk3NDFZNjI1MDBEMDIqWDMwODI0MUQwMSoNCitZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipZNDI1MDBEMDEqDQorWDI2OTQzOFkxNDc4MjJEMDIqWTEwODgyMkQwMSoNCitYMzAwNDM4RDAxKg0KK1kxNDc4MjJEMDEqDQorWDI2OTQzOEQwMipYMjgyNDM4RDAxKg0KK1gzMDA0MzhEMDIqWDI4NzQzOEQwMSoNCitYMjgyNDM4RDAyKkc3NSpHMDNYMjg3NDM4WTE0NzgyMkkyNTAwSjBEMDEqRzAxKg0KK1gyMjMyNDFZNDI1MDBEMDIqWDI0ODI0MUQwMSoNCitYMjIzMjQxWTcyNTAwRDAyKlgyNDgyNDFEMDEqDQorWDIyMzI0MUQwMipZNDI1MDBEMDEqDQorWDIyOTc0MVk3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlgyNDgyNDFEMDEqDQorWDIyOTc0MVk2MjUwMEQwMipYMjQ4MjQxRDAxKg0KK1k3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlk0MjUwMEQwMSoNCitYMjUzMjQxRDAyKlgyNzgyNDFEMDEqDQorWDI1MzI0MVk3MjUwMEQwMipYMjc4MjQxRDAxKg0KK1gyNTMyNDFEMDIqWTQyNTAwRDAxKg0KK1gyNTk3NDFZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipYMjc4MjQxRDAxKg0KK1gyNTk3NDFZNjI1MDBEMDIqWDI3ODI0MUQwMSoNCitZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipZNDI1MDBEMDEqDQorRzU0RDMyNCpYMzQ4MjU1WTk0NDY3RDAyKlk5MDUzMUQwMSoNCitYMzM3NjI3WTk0NDY3RDAyKlk5MDUzMUQwMSoNCitHNTREMzIzKlgzMzUyNTVZOTQ0NjdEMDIqWTkwNTMxRDAxKg0KK1gzMjQ2MjdZOTQ0NjdEMDIqWTkwNTMxRDAxKg0KK0c1NEQzMjIqWDczMjQxWTQyNTAwRDAyKlg5ODI0MUQwMSoNCitYNzMyNDFZNzI1MDBEMDIqWDk4MjQxRDAxKg0KK1g3MzI0MUQwMipZNDI1MDBEMDEqDQorWDc5NzQxWTcyNTAwRDAyKlk0MjUwMEQwMSoNCitZNTI1MDBEMDIqWDk4MjQxRDAxKg0KK1g3OTc0MVk2MjUwMEQwMipYOTgyNDFEMDEqDQorWTcyNTAwRDAyKlk0MjUwMEQwMSoNCitZNTI1MDBEMDIqWTQyNTAwRDAxKg0KK1gxOTMyNDFEMDIqWDIxODI0MUQwMSoNCitYMTkzMjQxWTcyNTAwRDAyKlgyMTgyNDFEMDEqDQorWDE5MzI0MUQwMipZNDI1MDBEMDEqDQorWDE5OTc0MVk3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlgyMTgyNDFEMDEqDQorWDE5OTc0MVk2MjUwMEQwMipYMjE4MjQxRDAxKg0KK1k3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlk0MjUwMEQwMSoNCitYMTYzMjQxRDAyKlgxODgyNDFEMDEqDQorWDE2MzI0MVk3MjUwMEQwMipYMTg4MjQxRDAxKg0KK1gxNjMyNDFEMDIqWTQyNTAwRDAxKg0KK1gxNjk3NDFZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipYMTg4MjQxRDAxKg0KK1gxNjk3NDFZNjI1MDBEMDIqWDE4ODI0MUQwMSoNCitZNzI1MDBEMDIqWTQyNTAwRDAxKg0KK1k1MjUwMEQwMipZNDI1MDBEMDEqDQorWDEzMzI0MUQwMipYMTU4MjQxRDAxKg0KK1gxMzMyNDFZNzI1MDBEMDIqWDE1ODI0MUQwMSoNCitYMTMzMjQxRDAyKlk0MjUwMEQwMSoNCitYMTM5NzQxWTcyNTAwRDAyKlk0MjUwMEQwMSoNCitZNTI1MDBEMDIqWDE1ODI0MUQwMSoNCitYMTM5NzQxWTYyNTAwRDAyKlgxNTgyNDFEMDEqDQorWTcyNTAwRDAyKlk0MjUwMEQwMSoNCitZNTI1MDBEMDIqWTQyNTAwRDAxKg0KK1gxMDMyNDFEMDIqWDEyODI0MUQwMSoNCitYMTAzMjQxWTcyNTAwRDAyKlgxMjgyNDFEMDEqDQorWDEwMzI0MUQwMipZNDI1MDBEMDEqDQorWDEwOTc0MVk3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlgxMjgyNDFEMDEqDQorWDEwOTc0MVk2MjUwMEQwMipYMTI4MjQxRDAxKg0KK1k3MjUwMEQwMipZNDI1MDBEMDEqDQorWTUyNTAwRDAyKlk0MjUwMEQwMSoNCitYMjAwNDQxWTE0NDUwMEQwMipZMTEwNTAwRDAxKg0KK1gyMzE0NDFEMDEqDQorWTE0NDUwMEQwMSoNCitYMjAwNDQxRDAyKlgyMTM0NDFEMDEqDQorWDIzMTQ0MUQwMipYMjE4NDQxRDAxKg0KK1gyMTM0NDFEMDIqRzc1KkcwM1gyMTg0NDFZMTQ0NTAwSTI1MDBKMEQwMSpHMDEqDQorWDExODY2NlkxNDQzNDBEMDIqWTExMDM0MEQwMSoNCitYMTQ5NjY2RDAxKg0KK1kxNDQzNDBEMDEqDQorWDExODY2NkQwMipYMTMxNjY2RDAxKg0KK1gxNDk2NjZEMDIqWDEzNjY2NkQwMSoNCitYMTMxNjY2RDAyKkc3NSpHMDNYMTM2NjY2WTE0NDM0MEkyNTAwSjBEMDEqRzAxKg0KK1gxNDY3OTlZMzM1ODI5RDAyKlkyOTY4MjlEMDEqDQorWDE5Mjc5OUQwMSoNCitZMzM1ODI5RDAxKg0KK1gxNDY3OTlEMDIqWDE2NzI5OUQwMSoNCitYMTkyNzk5RDAyKlgxNzIyOTlEMDEqDQorWDE2NzI5OUQwMipHNzUqRzAzWDE3MjI5OVkzMzU4MjlJMjUwMEowRDAxKkcwMSoNCitHNTREMzIzKlgxMjA4OTRZMjgzOTIzRDAyKlgxMTg5MjVZMjg1ODkyRDAxKg0KK1gxMjA4OTRZMjgzOTIzRDAyKlgxMzQ2NzNEMDEqDQorWTMxNTQxOUQwMipZMjgzOTIzRDAxKg0KK1gxMTg5MjVZMzE1NDE5RDAyKlgxMzQ2NzNEMDEqDQorWDExODkyNUQwMipZMjg1ODkyRDAxKg0KK1gyNDg1MDVZMzU5MjU1RDAyKlgyNDkyOTFEMDEqDQorWDI0ODUwNVkzNTM3NDVEMDIqWDI0OTI5MUQwMSoNCitYMTYwNTQ4WTIwODI1NUQwMipYMTYxMzM0RDAxKg0KK1gxNjA1NDhZMjAyNzQ1RDAyKlgxNjEzMzREMDEqDQorWDE2MDYzNVkyMTUxMjVEMDIqWDE2MTQyMUQwMSoNCitYMTYwNjM1WTIwOTYxNUQwMipYMTYxNDIxRDAxKg0KK1gyNDIzMDRZMjcwNTg0RDAyKlgyNDMwOTBEMDEqDQorWDI0MjMwNFkyNjUwNzREMDIqWDI0MzA5MEQwMSoNCitYMjg3Njg2WTI0ODg1MEQwMipZMjQ4MDY0RDAxKg0KK1gyOTMxOTZZMjQ4ODUwRDAyKlkyNDgwNjREMDEqDQorWDI5NjUyNVkyOTcyMTREMDIqWTI2MTU0NEQwMSoNCitYMjU3OTU1RDAyKlgyOTY1MjVEMDEqDQorWDI1Nzk1NVkzMDAxMTREMDIqWTI2MTU0NEQwMSoNCitZMzAwMTE0RDAyKlgyOTM2MjVEMDEqDQorWDI5NjUyNVkyOTcyMTREMDEqDQorWDI5MzYyNVkyOTgyMTREMDIqRzc1KkcwM1gyOTM2MjVZMjk4MjE0STBKLTEwMDBEMDEqRzAxKg0KK0c1NEQzMjIqWDI5MTE1MFkzMTQyODBEMDIqRzc1KkcwM1gyOTExNTBZMzE0MjgwSTUwMEowRDAxKkcwMSoNCitHNTREMzIzKlgyNDg0NjJZMzUyMjU1RDAyKlgyNDkyNDhEMDEqDQorWDI0ODQ2MlkzNDY3NDVEMDIqWDI0OTI0OEQwMSoNCitYMjQ4NTA1WTMzODI1NUQwMipYMjQ5MjkxRDAxKg0KK1gyNDg1MDVZMzMyNzQ1RDAyKlgyNDkyOTFEMDEqDQorWDI0ODQ2MlkzNDUyNTVEMDIqWDI0OTI0OEQwMSoNCitYMjQ4NDYyWTMzOTc0NUQwMipYMjQ5MjQ4RDAxKg0KK0c1NEQzMjIqWDE0NTY5OVkyOTQ3MjlEMDIqWDE1OTU5OUQwMSoNCitYMTQ1Njk5RDAyKlkyODE5MjlEMDEqDQorWDE1OTU5OUQwMSoNCitZMjk0NzI5RDAyKlkyODE5MjlEMDEqDQorRzU0RDMyMypYMTEyODg1WTIzOTQzM0QwMipZMjM1NDk3RDAxKg0KK1gxMDIyNTdZMjM5NDMzRDAyKlkyMzU0OTdEMDEqDQorWDEyNDg4NUQwMipZMjM5NDMzRDAxKg0KK1gxMTQyNTdZMjM1NDk3RDAyKlkyMzk0MzNEMDEqDQorRzU0RDMyMipYNzI2NDFZMjQ1MDAwRDAyKlg5NzY0MUQwMSoNCitYNzI2NDFZMjE1MDAwRDAyKlg5NzY0MUQwMSoNCitZMjQ1MDAwRDAyKlkyMTUwMDBEMDEqDQorWDkxMTQxWTI0NTAwMEQwMipZMjE1MDAwRDAxKg0KK1g3MjY0MVkyMzUwMDBEMDIqWDkxMTQxRDAxKg0KK1g3MjY0MVkyMjUwMDBEMDIqWDkxMTQxRDAxKg0KK1g3MjY0MVkyNDUwMDBEMDIqWTIxNTAwMEQwMSoNCitZMjQ1MDAwRDAyKlkyMzUwMDBEMDEqDQorRzU0RDMyMypYOTMxODZZMjA4MzkzRDAyKlkyMDc2MDdEMDEqDQorWDk4Njk2WTIwODM5M0QwMipZMjA3NjA3RDAxKg0KK1gxNzMxOTZZMjQ1MzkzRDAyKlkyNDQ2MDdEMDEqDQorWDE2NzY4NlkyNDUzOTNEMDIqWTI0NDYwN0QwMSoNCitYMTQ4OTczWTIwMTMxNEQwMipYMTUyOTA5RDAxKg0KK1gxNDg5NzNZMTkwNjg2RDAyKlgxNTI5MDlEMDEqDQorRzU0RDMyMipYMTI3ODMxWTIyMjE3M0QwMipZMjM3OTIxRDAxKg0KK1gxNjQwNTFZMjIyMTczRDAyKlgxMjc4MzFEMDEqDQorWDE2NDA1MVkyMzc5MjFEMDIqWTIyMjE3M0QwMSoNCitYMTI2MjU2WTIzNzkyMUQwMipZMjc4MDc5RDAxKg0KK1gxNjU2MjZZMjM3OTIxRDAyKlkyNzgwNzlEMDEqDQorWTIzNzkyMUQwMipYMTI2MjU2RDAxKg0KK1gxNjU2MjZZMjc4MDc5RDAyKlgxMjYyNTZEMDEqDQorRzU0RDMyMypYMTQ3MDQ4WTIwODI1NUQwMipYMTQ3ODM0RDAxKg0KK1gxNDcwNDhZMjAyNzQ1RDAyKlgxNDc4MzREMDEqDQorWDE0NzA0OFkyMTUyNTVEMDIqWDE0NzgzNEQwMSoNCitYMTQ3MDQ4WTIwOTc0NUQwMipYMTQ3ODM0RDAxKg0KK00wMioNCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnppcCBiL2JiYl9jYXBlL3NjaGVtYXRpYy9nZXJiZXJzLzIwMTQwMTIwL2NhcGUuemlwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjcxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zY2hlbWF0aWMvZ2VyYmVycy8yMDE0MDEyMC9jYXBlLnppcApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2JiYi5neXAgYi9iYmJfY2FwZS9zcmMvYmJiL2JiYi5neXAKaW5kZXggOWUyNGYwYy4uZTQ2Yzk5ZiAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi9iYmIuZ3lwCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvYmJiLmd5cApAQCAtMTgsMTMgKzE4LDE1IEBACiAgICAgICBdLAogICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgJzwoQU9TKS9jb21tb24vY29tbW9uLmd5cDpvbmNlJywKKyAgICAgICAgJzwoQU9TKS9idWlsZC9hb3MuZ3lwOmxvZ2dpbmcnLAorICAgICAgICAnYnl0ZV9pbycsCiAgICAgICBdLAogICAgIH0sCiAgICAgewotICAgICAgJ3RhcmdldF9uYW1lJzogJ2J5dGVfcmVhZGVyJywKKyAgICAgICd0YXJnZXRfbmFtZSc6ICdieXRlX2lvJywKICAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKICAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAjICdieXRlX3JlYWRlci5oJywKKyAgICAgICAgIyAnYnl0ZV9pby5oJywKICAgICAgIF0sCiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAnPChBT1MpL2NvbW1vbi9jb21tb24uZ3lwOnRpbWUnLApAQCAtNDMsMTEgKzQ1LDExIEBACiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwogICAgICAgICAnPChBT1MpL2J1aWxkL2Fvcy5neXA6bG9nZ2luZycsCiAgICAgICAgICc8KEFPUykvY29tbW9uL2NvbW1vbi5neXA6dGltZScsCi0gICAgICAgICdieXRlX3JlYWRlcicsCisgICAgICAgICdieXRlX2lvJywKICAgICAgIF0sCiAgICAgICAnZXhwb3J0X2RlcGVuZGVudF9zZXR0aW5ncyc6IFsKICAgICAgICAgJzwoQU9TKS9jb21tb24vY29tbW9uLmd5cDp0aW1lJywKLSAgICAgICAgJ2J5dGVfcmVhZGVyJywKKyAgICAgICAgJ2J5dGVfaW8nLAogICAgICAgXSwKICAgICB9LAogICAgIHsKQEAgLTcyLDYgKzc0LDcgQEAKICAgICAgICAgJ3BhY2tldF9maW5kZXInLAogICAgICAgICAnPChBT1MpL2NvbW1vbi9jb21tb24uZ3lwOnF1ZXVlX3Rlc3R1dGlscycsCiAgICAgICAgICc8KEFPUykvY29tbW9uL2NvbW1vbi5neXA6dGltZScsCisgICAgICAgICdieXRlX2lvJywKICAgICAgIF0sCiAgICAgfSwKICAgICB7CkBAIC05MiwxNiArOTUsMTUgQEAKICAgICAgICAgJ3BhY2tldF9maW5kZXIuY2MnLAogICAgICAgXSwKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCi0gICAgICAgICc8KERFUFRIKS9iYmJfY2FwZS9zcmMvY2FwZS9jYXBlLmd5cDpjb3dzJywKICAgICAgICAgJzwoQU9TKS9idWlsZC9hb3MuZ3lwOmxvZ2dpbmcnLAotICAgICAgICAnY3JjJywKICAgICAgICAgJzwoQU9TKS9jb21tb24vY29tbW9uLmd5cDp0aW1lJywKLSAgICAgICAgJ2J5dGVfcmVhZGVyJywKKyAgICAgICAgJzwoREVQVEgpL2JiYl9jYXBlL3NyYy9jYXBlL2NhcGUuZ3lwOmNvd3MnLAorICAgICAgICAnY3JjJywKKyAgICAgICAgJ2J5dGVfaW8nLAogICAgICAgXSwKICAgICAgICdleHBvcnRfZGVwZW5kZW50X3NldHRpbmdzJzogWwogICAgICAgICAnPChBT1MpL2J1aWxkL2Fvcy5neXA6bG9nZ2luZycsCiAgICAgICAgICc8KEFPUykvY29tbW9uL2NvbW1vbi5neXA6dGltZScsCi0gICAgICAgICdieXRlX3JlYWRlcicsCiAgICAgICBdLAogICAgIH0sCiAgICAgewpAQCAtMTM3LDYgKzEzOSw4IEBACiAgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCiAgICAgICAnc291cmNlcyc6IFsKICAgICAgICAgJ2dwaW9zLmNjJywKKyAgICAgICAgJ2dwaS5jYycsCisgICAgICAgICdncG8uY2MnLAogICAgICAgXSwKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICc8KEFPUykvYnVpbGQvYW9zLmd5cDpsb2dnaW5nJywKQEAgLTE0OSwxOCArMTUzLDY3IEBACiAgICAgICAgICdzZW5zb3JfcmVhZGVyLmNjJywKICAgICAgIF0sCiAgICAgICAnZGVwZW5kZW5jaWVzJzogWwotICAgICAgICAndWFydF9yZWFkZXInLAogICAgICAgICAncGFja2V0X2ZpbmRlcicsCiAgICAgICAgICdkYXRhX3N0cnVjdCcsCisgICAgICAgICdjYXBlX21hbmFnZXInLAogICAgICAgICAnPChBT1MpL2NvbW1vbi9jb21tb24uZ3lwOnRpbWUnLAorICAgICAgICAnaGV4X2J5dGVfcmVhZGVyJywKKyAgICAgICAgJ2NyYycsCiAgICAgICAgICdzZW5zb3JfZ2VuZXJhdGlvbicsCisgICAgICAgICc8KEFPUykvbGludXhfY29kZS9saW51eF9jb2RlLmd5cDpjb25maWd1cmF0aW9uJywKICAgICAgIF0sCiAgICAgICAnZXhwb3J0X2RlcGVuZGVudF9zZXR0aW5ncyc6IFsKLSAgICAgICAgJ3VhcnRfcmVhZGVyJywKICAgICAgICAgJ3BhY2tldF9maW5kZXInLAogICAgICAgICAnZGF0YV9zdHJ1Y3QnLAorICAgICAgICAnY2FwZV9tYW5hZ2VyJywKICAgICAgICAgJzwoQU9TKS9jb21tb24vY29tbW9uLmd5cDp0aW1lJywKICAgICAgIF0sCiAgICAgfSwKKyAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnY2FwZV9mbGFzaGVyJywKKyAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKKyAgICAgICdzb3VyY2VzJzogWworICAgICAgICAnY2FwZV9mbGFzaGVyLmNjJywKKyAgICAgIF0sCisgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAnYnl0ZV9pbycsCisgICAgICAgICdjcmMnLAorICAgICAgXSwKKyAgICB9LAorICAgIHsKKyAgICAgICd0YXJnZXRfbmFtZSc6ICdoZXhfYnl0ZV9yZWFkZXInLAorICAgICAgJ3R5cGUnOiAnc3RhdGljX2xpYnJhcnknLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICdoZXhfYnl0ZV9yZWFkZXIuY2MnLAorICAgICAgXSwKKyAgICAgICdkZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICdieXRlX2lvJywKKyAgICAgICAgJzwoQU9TKS9jb21tb24vY29tbW9uLmd5cDp0aW1lJywKKyAgICAgICAgJzwoRVhURVJOQUxTKTpzdG0zMmZsYXNoJywKKyAgICAgICAgJzwoQU9TKS9idWlsZC9hb3MuZ3lwOmxvZ2dpbmcnLAorICAgICAgXSwKKyAgICAgICdleHBvcnRfZGVwZW5kZW50X3NldHRpbmdzJzogWworICAgICAgICAnYnl0ZV9pbycsCisgICAgICAgICc8KEFPUykvY29tbW9uL2NvbW1vbi5neXA6dGltZScsCisgICAgICBdLAorICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2NhcGVfbWFuYWdlcicsCisgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCisgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgJ2NhcGVfbWFuYWdlci5jYycsCisgICAgICBdLAorICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAgJ2dwaW9zJywKKyAgICAgICAgJ3VhcnRfcmVhZGVyJywKKyAgICAgICAgJ2NhcGVfZmxhc2hlcicsCisgICAgICAgICc8KEFPUykvY29tbW9uL2NvbW1vbi5neXA6dGltZScsCisgICAgICAgICdoZXhfYnl0ZV9yZWFkZXInLAorICAgICAgXSwKKyAgICAgICdleHBvcnRfZGVwZW5kZW50X3NldHRpbmdzJzogWworICAgICAgICAnZ3Bpb3MnLAorICAgICAgICAndWFydF9yZWFkZXInLAorICAgICAgXSwKKyAgICB9LAogICBdLAogfQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2JiYi9ieXRlX2lvLmggYi9iYmJfY2FwZS9zcmMvYmJiL2J5dGVfaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTcwOGU5Ci0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9ieXRlX2lvLmgKQEAgLTAsMCArMSw1MSBAQAorI2lmbmRlZiBCQkJfQllURV9SRUFERVJfSF8KKyNkZWZpbmUgQkJCX0JZVEVfUkVBREVSX0hfCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgImFvcy9jb21tb24vdGltZS5oIgorCituYW1lc3BhY2UgYmJiIHsKKworY2xhc3MgQnl0ZVJlYWRlckludGVyZmFjZSB7CisgcHVibGljOgorICB2aXJ0dWFsIH5CeXRlUmVhZGVySW50ZXJmYWNlKCkge30KKworICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHByb3ZpZGUgYSBkYXRhIHNvdXJjZQorICAvLyBmb3IgdGhlc2UgYWxnb3JpdGhtcy4KKyAgLy8gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQsIC0xIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIGVycm5vLCBvciAtMgorICAvLyBpZiByZWFkaW5nIHRha2VzIGxvbmdlciB0aGFuIHRpbWVvdXQuCisgIHZpcnR1YWwgc3NpemVfdCBSZWFkQnl0ZXMoCisgICAgICB1aW50OF90ICpkZXN0LCBzaXplX3QgbWF4X2J5dGVzLAorICAgICAgY29uc3QgOjphb3M6OnRpbWU6OlRpbWUgJnRpbWVvdXQgPSA6OmFvczo6dGltZTo6VGltZSgwLCAwKSkgPSAwOworfTsKKworY2xhc3MgQnl0ZVdyaXRlckludGVyZmFjZSB7CisgcHVibGljOgorICB2aXJ0dWFsIH5CeXRlV3JpdGVySW50ZXJmYWNlKCkge30KKworICAvLyBJbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIGFjdHVhbGx5IHdyaXRlIHRoZSBkYXRhIHNvbWV3aGVyZS4KKyAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IHN1Y2NlZWRzIG9yIGZhbHNlIGlmIGl0IGZhaWxzIGFuZCB0aGVyZSBpcyBhbiBlcnJvciBpbgorICAvLyBlcnJuby4KKyAgdmlydHVhbCBib29sIFdyaXRlQnl0ZXModWludDhfdCAqYnl0ZXMsIHNpemVfdCBudW1iZXJfYnl0ZXMpID0gMDsKK307CisKK2NsYXNzIEJ5dGVSZWFkZXJXcml0ZXJJbnRlcmZhY2UgOiBwdWJsaWMgQnl0ZVJlYWRlckludGVyZmFjZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgQnl0ZVdyaXRlckludGVyZmFjZSB7fTsKKworY2xhc3MgQnl0ZVJlYWRlckFuZFdyaXRlciA6IHB1YmxpYyBCeXRlUmVhZGVyV3JpdGVySW50ZXJmYWNlIHsKKyBwdWJsaWM6CisgIEJ5dGVSZWFkZXJBbmRXcml0ZXIoQnl0ZVJlYWRlckludGVyZmFjZSAqcmVhZGVyLCBCeXRlV3JpdGVySW50ZXJmYWNlICp3cml0ZXIpCisgICAgICA6IHJlYWRlcl8ocmVhZGVyKSwgd3JpdGVyXyh3cml0ZXIpIHt9CisKKyAgQnl0ZVJlYWRlckludGVyZmFjZSAqcmVhZGVyKCkgeyByZXR1cm4gcmVhZGVyXzsgfQorICBCeXRlV3JpdGVySW50ZXJmYWNlICp3cml0ZXIoKSB7IHJldHVybiB3cml0ZXJfOyB9CisKKyBwcml2YXRlOgorICBCeXRlUmVhZGVySW50ZXJmYWNlICpjb25zdCByZWFkZXJfOworICBCeXRlV3JpdGVySW50ZXJmYWNlICpjb25zdCB3cml0ZXJfOworfTsKKworfSAgLy8gbmFtZXNwYWNlIGJiYgorCisjZW5kaWYgIC8vIEJCQl9CWVRFX1JFQURFUl9IXwpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2JiYi9ieXRlX3JlYWRlci5oIGIvYmJiX2NhcGUvc3JjL2JiYi9ieXRlX3JlYWRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmUzNjRjLi4wMDAwMDAwCi0tLSBhL2JiYl9jYXBlL3NyYy9iYmIvYnl0ZV9yZWFkZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSNpZm5kZWYgQkJCX0JZVEVfUkVBREVSX0hfCi0jZGVmaW5lIEJCQl9CWVRFX1JFQURFUl9IXwotCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0KLSNpbmNsdWRlICJhb3MvY29tbW9uL3RpbWUuaCIKLQotbmFtZXNwYWNlIGJiYiB7Ci0KLWNsYXNzIEJ5dGVSZWFkZXIgewotIHB1YmxpYzoKLSAgLy8gV2UgaGF2ZSA2NC1iaXQgaW50cyBpbiBzb21lIG9mIG91ciBkYXRhLgotICB0eXBlZGVmIGNoYXIgX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpIEFsaWduZWRDaGFyOwotCi0gIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gcHJvdmlkZSBhIGRhdGEgc291cmNlIAotICAvLyBmb3IgdGhlc2UgYWxnb3JpdGhtcy4KLSAgLy8gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQsIC0xIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIGVycm5vLCBvciAtMgotICAvLyBpZiByZWFkaW5nIHRha2VzIGxvbmdlciB0aGFuIHRpbWVvdXQuCi0gIHZpcnR1YWwgc3NpemVfdCBSZWFkQnl0ZXMoQWxpZ25lZENoYXIgKmRlc3QsIHNpemVfdCBtYXhfYnl0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjphb3M6OnRpbWU6OlRpbWUgJnRpbWVvdXRfdGltZSkgPSAwOwotfTsKLQotfSAgLy8gbmFtZXNwYWNlIGJiYgotCi0jZW5kaWYgIC8vIEJCQl9CWVRFX1JFQURFUl9IXwpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2JiYi9jYXBlX2ZsYXNoZXIuY2MgYi9iYmJfY2FwZS9zcmMvYmJiL2NhcGVfZmxhc2hlci5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDRjMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9jYXBlX2ZsYXNoZXIuY2MKQEAgLTAsMCArMSw5NyBAQAorI2luY2x1ZGUgImJiYi9jYXBlX2ZsYXNoZXIuaCIKKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgImFvcy9jb21tb24vbG9nZ2luZy9sb2dnaW5nLmgiCisKKyNpbmNsdWRlICJiYmIvY3JjLmgiCisjaW5jbHVkZSAiYmJiL2J5dGVfaW8uaCIKKworbmFtZXNwYWNlIGJiYiB7CituYW1lc3BhY2UgeworbmFtZXNwYWNlIGNvbW1hbmQgeworCitjb25zdCB1aW50OF90IGtBY2sgPSAweDc5OworY29uc3QgdWludDhfdCBrTmFjayA9IDB4MUY7CisKK30gIC8vIG5hbWVzcGFjZSBjb21tYW5kCit9ICAvLyBuYW1lc3BhY2UKKworQ2FwZUZsYXNoZXI6OkNhcGVGbGFzaGVyKEJ5dGVSZWFkZXJXcml0ZXJJbnRlcmZhY2UgKnVhcnQpIDogdWFydF8odWFydCkge30KKwordm9pZCBDYXBlRmxhc2hlcjo6RG93bmxvYWQoQnl0ZVJlYWRlckludGVyZmFjZSAqZmlsZSkgeworICB1aW50OF90IGJvb3Rsb2FkZXJfcmVjZWl2ZSA9IDA7CisgIHVpbnQ4X3QgYnVmZmVyWzI1Nl07CisgIHNzaXplX3QgYm9vdGxvYWRlcl9yZWFkID0gMDsKKworICB3aGlsZSAoYm9vdGxvYWRlcl9yZWFkIDw9IDAgfHwgYm9vdGxvYWRlcl9yZWNlaXZlICE9IGNvbW1hbmQ6OmtOYWNrKSB7CisgICAgYm9vdGxvYWRlcl9yZWFkID0gdWFydF8tPlJlYWRCeXRlcygmYm9vdGxvYWRlcl9yZWNlaXZlLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjphb3M6OnRpbWU6OlRpbWU6OkluU2Vjb25kcygyKSk7CisgICAgaWYgKGJvb3Rsb2FkZXJfcmVhZCA9PSAtMSkgeworICAgICAgTE9HKFdBUk5JTkcsICJyZWFkaW5nIGZyb20gJXAgKHVhcnQpIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwgdWFydF8sIGVycm5vLAorICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgfSBlbHNlIGlmIChib290bG9hZGVyX3JlYWQgPT0gLTIpIHsKKyAgICAgIExPRyhXQVJOSU5HLCAidGltZW91dCByZWFkaW5nIGZyb20gdWFydCAlcFxuIiwgdWFydF8pOworICAgIH0KKyAgfQorCisgIHdoaWxlICh0cnVlKSB7CisgICAgc2l6ZV90IHRvdGFsX3JlYWQgPSAwOworICAgIGJvb2wgZG9uZSA9IGZhbHNlOworICAgIHdoaWxlICh0b3RhbF9yZWFkIDwgc2l6ZW9mKGJ1ZmZlcikpIHsKKyAgICAgIHNzaXplX3QgcmVhZCA9IGZpbGUtPlJlYWRCeXRlcyhidWZmZXIsIHNpemVvZihidWZmZXIpKTsKKyAgICAgIGlmIChyZWFkID09IC0yKSB7CisgICAgICAgIGlmICh0b3RhbF9yZWFkID09IDApIHJldHVybjsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgICAgIG1lbXNldChidWZmZXIgKyB0b3RhbF9yZWFkLCAweEZGLCBzaXplb2YoYnVmZmVyKSAtIHRvdGFsX3JlYWQpOworICAgICAgICB0b3RhbF9yZWFkID0gc2l6ZW9mKGJ1ZmZlcik7CisgICAgICB9IGVsc2UgaWYgKHJlYWQgPT0gLTEpIHsKKyAgICAgICAgTE9HKEZBVEFMLCAicmVhZGluZyBmcm9tIGZpbGUgJXAgcmV0dXJuZWQgZXJyb3IgJWQ6ICVzXG4iLCBmaWxlLCBlcnJubywKKyAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgICB9IGVsc2UgeworICAgICAgICB0b3RhbF9yZWFkICs9IHJlYWQ7CisgICAgICB9CisgICAgfQorCisgICAgV3JpdGVCdWZmZXIoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisgICAgaWYgKGRvbmUpIHJldHVybjsKKyAgfQorfQorCit2b2lkIENhcGVGbGFzaGVyOjpXcml0ZUJ1ZmZlcih1aW50OF90ICpidWZmZXIsIHNpemVfdCBzaXplKSB7CisgIHdoaWxlICh0cnVlKSB7CisgICAgdWFydF8tPldyaXRlQnl0ZXMoYnVmZmVyLCBzaXplKTsKKyAgICB1aW50MzJfdCBjaGVja3N1bSA9IGNhcGU6OkNhbGN1bGF0ZUNoZWNrc3VtKGJ1ZmZlciwgc2l6ZSk7CisgICAgdWFydF8tPldyaXRlQnl0ZXMocmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KCZjaGVja3N1bSksCisgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGNoZWNrc3VtKSk7CisKKyAgICB1aW50OF90IGJvb3Rsb2FkZXJfcmVjZWl2ZTsKKyAgICBzc2l6ZV90IGJvb3Rsb2FkZXJfcmVhZCA9IHVhcnRfLT5SZWFkQnl0ZXMoCisgICAgICAgICZib290bG9hZGVyX3JlY2VpdmUsIDEsIDo6YW9zOjp0aW1lOjpUaW1lOjpJblNlY29uZHMoMikpOworICAgIGlmIChib290bG9hZGVyX3JlYWQgPT0gLTEpIHsKKyAgICAgIExPRyhXQVJOSU5HLCAicmVhZGluZyBmcm9tICVwICh1YXJ0KSBmYWlsZWQgd2l0aCAlZDogJXNcbiIsIHVhcnRfLAorICAgICAgICAgIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICAgIH0gZWxzZSBpZiAoYm9vdGxvYWRlcl9yZWFkID09IC0yKSB7CisgICAgICBMT0coV0FSTklORywgInRpbWVvdXQgcmVhZGluZyBmcm9tIHVhcnQgJXBcbiIsIHVhcnRfKTsKKyAgICAgIGRvIHsKKyAgICAgICAgdWludDhfdCBieXRlID0gMDsKKyAgICAgICAgdWFydF8tPldyaXRlQnl0ZXMoJmJ5dGUsIDEpOworICAgICAgICBib290bG9hZGVyX3JlYWQgPSB1YXJ0Xy0+UmVhZEJ5dGVzKCZib290bG9hZGVyX3JlY2VpdmUsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjphb3M6OnRpbWU6OlRpbWU6OkluU2Vjb25kcygwLjEpKTsKKyAgICAgIH0gd2hpbGUgKGJvb3Rsb2FkZXJfcmVhZCA8PSAwIHx8IGJvb3Rsb2FkZXJfcmVjZWl2ZSAhPSBjb21tYW5kOjprTmFjayk7CisgICAgICBzd2l0Y2ggKGJvb3Rsb2FkZXJfcmVjZWl2ZSkgeworICAgICAgICBjYXNlIGNvbW1hbmQ6OmtBY2s6CisgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIGNvbW1hbmQ6OmtOYWNrOgorICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgIExPRyhXQVJOSU5HLCAidW5rbm93biBib290bG9hZGVyIHJlc3BvbnNlICUiIFBSSXU4ICJcbiIsCisgICAgICAgICAgICAgIGJvb3Rsb2FkZXJfcmVjZWl2ZSk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK30gIC8vIG5hbWVzcGFjZSBiYmIKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvY2FwZV9mbGFzaGVyLmggYi9iYmJfY2FwZS9zcmMvYmJiL2NhcGVfZmxhc2hlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MjMyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zcmMvYmJiL2NhcGVfZmxhc2hlci5oCkBAIC0wLDAgKzEsMzUgQEAKKyNpZm5kZWYgQkJCX0NBUEVfU1JDX0JCQl9DQVBFX0ZMQVNIRVJfSF8KKyNkZWZpbmUgQkJCX0NBUEVfU1JDX0JCQl9DQVBFX0ZMQVNIRVJfSF8KKworI2luY2x1ZGUgPHN0cmluZz4KKworI2luY2x1ZGUgImFvcy9jb21tb24vbWFjcm9zLmgiCisKK25hbWVzcGFjZSBiYmIgeworCitjbGFzcyBCeXRlUmVhZGVySW50ZXJmYWNlOworY2xhc3MgQnl0ZVJlYWRlcldyaXRlckludGVyZmFjZTsKKworLy8gVGFsa3MgdG8gdGhlIGN1c3RvbSBib290bG9hZGVyIG9uIHRoZSBjYXBlIE1DVS4gRXhwZWN0cyBmb3IgdGhlIGNhcGUgdG8gYmUKKy8vIGZyZXNobHkgYm9vdGVkIGludG8gdGhlIGJvb3Rsb2FkZXIgd2hlbiBpbml0aWFsaXplZC4KK2NsYXNzIENhcGVGbGFzaGVyIHsKKyBwdWJsaWM6CisgIGV4cGxpY2l0IENhcGVGbGFzaGVyKEJ5dGVSZWFkZXJXcml0ZXJJbnRlcmZhY2UgKnVhcnQpOworCisgIC8vIERvd25sb2FkcyBhIGZpbGUuCisgIC8vIGZpbGUgc2hvdWxkIGdpdmUgdGhlIHJhdyBieXRlcyB0byBkb3dubG9hZCwgc3RhcnRpbmcgYXQgdGhlIHN0YXJ0IG9mIHRoZQorICAvLyBtYWluIGNvZGUuIEFsbCByZWFkcyB3aWxsIGJlIGRvbmUgd2l0aCBhIHRpbWVvdXQgb2YgMC4gU3RvcHMgb24gdGhlIGZpcnN0CisgIC8vIHRpbWVvdXQuCisgIHZvaWQgRG93bmxvYWQoQnl0ZVJlYWRlckludGVyZmFjZSAqZmlsZSk7CisKKyBwcml2YXRlOgorICB2b2lkIFdyaXRlQnVmZmVyKHVpbnQ4X3QgKmJ1ZmZlciwgc2l6ZV90IHNpemUpOworCisgIEJ5dGVSZWFkZXJXcml0ZXJJbnRlcmZhY2UgKmNvbnN0IHVhcnRfOworCisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihDYXBlRmxhc2hlcik7Cit9OworCit9ICAvLyBuYW1lc3BhY2UgYmJiCisKKyNlbmRpZiAgLy8gQkJCX0NBUEVfU1JDX0JCQl9DQVBFX0ZMQVNIRVJfSF8KZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvY2FwZV9tYW5hZ2VyLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9jYXBlX21hbmFnZXIuY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvY2FwZV9tYW5hZ2VyLmNjCkBAIC0wLDAgKzEsMzUgQEAKKyNpbmNsdWRlICJiYmIvY2FwZV9tYW5hZ2VyLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAiYW9zL2NvbW1vbi90aW1lLmgiCisKKyNpbmNsdWRlICJiYmIvY2FwZV9mbGFzaGVyLmgiCisjaW5jbHVkZSAiYmJiL2hleF9ieXRlX3JlYWRlci5oIgorCituYW1lc3BhY2UgYmJiIHsKKworQ2FwZU1hbmFnZXI6OkNhcGVNYW5hZ2VyKCkKKyAgICA6IHVhcnRfKDc1MDAwMCksIHJlc2V0XygyLCA1LCB0cnVlKSwgY3VzdG9tX2Jvb3Rsb2FkZXJfKDIsIDMsIGZhbHNlKSB7fQorCit2b2lkIENhcGVNYW5hZ2VyOjpEb3dubG9hZEhleChjb25zdCA6OnN0ZDo6c3RyaW5nICZmaWxlbmFtZSkgeworICBIZXhCeXRlUmVhZGVyIGZpbGUoZmlsZW5hbWUpOworICBDYXBlRmxhc2hlciBmbGFzaGVyKCZ1YXJ0Xyk7CisgIERvUmVzZXQodHJ1ZSk7CisgIGZsYXNoZXIuRG93bmxvYWQoJmZpbGUpOworICBEb1Jlc2V0KGZhbHNlKTsKK30KKwordm9pZCBDYXBlTWFuYWdlcjo6RG9SZXNldChib29sIGJvb3Rsb2FkZXIpIHsKKyAgc3RhdGljIGNvbnN0ZXhwciA6OmFvczo6dGltZTo6VGltZSBrVGltZW91dCA9CisgICAgICA6OmFvczo6dGltZTo6VGltZTo6SW5TZWNvbmRzKDAuMSk7CisgIHJlc2V0Xy5TZXQoZmFsc2UpOworICA6OmFvczo6dGltZTo6U2xlZXBGb3Ioa1RpbWVvdXQpOworICBjdXN0b21fYm9vdGxvYWRlcl8uU2V0KGJvb3Rsb2FkZXIpOworICA6OmFvczo6dGltZTo6U2xlZXBGb3Ioa1RpbWVvdXQpOworICByZXNldF8uU2V0KHRydWUpOworICA6OmFvczo6dGltZTo6U2xlZXBGb3Ioa1RpbWVvdXQpOworfQorCit9ICAvLyBuYW1lc3BhY2UgYmJiCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2NhcGVfbWFuYWdlci5oIGIvYmJiX2NhcGUvc3JjL2JiYi9jYXBlX21hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2MxYTU3Ci0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9jYXBlX21hbmFnZXIuaApAQCAtMCwwICsxLDM5IEBACisjaWZuZGVmIEJCQl9DQVBFX1NSQ19CQkJfQ0FQRV9NQU5BR0VSX0hfCisjZGVmaW5lIEJCQl9DQVBFX1NSQ19CQkJfQ0FQRV9NQU5BR0VSX0hfCisKKyNpbmNsdWRlIDxzdHJpbmc+CisKKyNpbmNsdWRlICJhb3MvY29tbW9uL21hY3Jvcy5oIgorCisjaW5jbHVkZSAiYmJiL2dwby5oIgorI2luY2x1ZGUgImJiYi91YXJ0X3JlYWRlci5oIgorCituYW1lc3BhY2UgYmJiIHsKKworLy8gTWFuYWdlcyB0aGUgY29ubmVjdGlvbiB0byB0aGUgY2FwZSAoaW5jbHVkaW5nIEdQSU9zLCBydW5uaW5nIHRoZSBib290bG9hZGVyLAorLy8gc2V0dGluZyB1cCB0aGUgc2VyaWFsIGNvbm5lY3Rpb24sIGV0YykuCitjbGFzcyBDYXBlTWFuYWdlciB7CisgcHVibGljOgorICBDYXBlTWFuYWdlcigpOworCisgIC8vIERvd25sb2FkcyBhIC5oZXggZmlsZSB1c2luZyB0aGUgY3VzdG9tIGJvb3Rsb2FkZXIuCisgIHZvaWQgRG93bmxvYWRIZXgoY29uc3QgOjpzdGQ6OnN0cmluZyAmZmlsZW5hbWUpOworCisgIC8vIFJlc2V0cyB0aGUgY2FwZS4KKyAgdm9pZCBSZXNldCgpIHsgRG9SZXNldChmYWxzZSk7IH0KKworICBVYXJ0UmVhZGVyICp1YXJ0KCkgeyByZXR1cm4gJnVhcnRfOyB9CisKKyBwcml2YXRlOgorICB2b2lkIERvUmVzZXQoYm9vbCBib290bG9hZGVyKTsKKworICBVYXJ0UmVhZGVyIHVhcnRfOworCisgIEdwbyByZXNldF8sIGN1c3RvbV9ib290bG9hZGVyXzsKKworICBESVNBTExPV19DT1BZX0FORF9BU1NJR04oQ2FwZU1hbmFnZXIpOworfTsKKworfSAgLy8gbmFtZXNwYWNlIGJiYgorCisjZW5kaWYgIC8vIEJCQl9DQVBFX1NSQ19CQkJfQ0FQRV9NQU5BR0VSX0hfCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2NyYy5jYyBiL2JiYl9jYXBlL3NyYy9iYmIvY3JjLmNjCmluZGV4IGIxNmViOTQuLjdjMTQ3MDYgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9iYmIvY3JjLmNjCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvY3JjLmNjCkBAIC0xLDYgKzEsMTMgQEAKICNpbmNsdWRlICJiYmIvY3JjLmgiCiAKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCiAjaW5jbHVkZSAiYW9zL2NvbW1vbi9vbmNlLmgiCisjaW5jbHVkZSAiYW9zL2NvbW1vbi9sb2dnaW5nL2xvZ2dpbmcuaCIKKworI2luY2x1ZGUgImJiYi9ieXRlX2lvLmgiCiAKIC8vIFRoZXJlIGFyZSB2YXJpb3VzIGltcGxlbWVudGF0aW9ucyB0aGF0IGxvb2sgYSBsb3QgbGlrZSB0aGlzIHNjYXR0ZXJlZCBhcm91bmQKIC8vIHRoZSBpbnRlcm5ldC4KQEAgLTI2LDExICszMywxMyBAQAogCiB9ICAvLyBuYW1lc3BhY2UKIAotdWludDMyX3QgQ2FsY3VsYXRlQ2hlY2tzdW0odWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkgewordWludDMyX3QgQ2FsY3VsYXRlQ2hlY2tzdW0odWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbmd0aCwgdWludDMyX3QgaW5pdGlhbCkgeworICBhc3NlcnQoKGxlbmd0aCAlIDQpID09IDApOworCiAgIHN0YXRpYyA6OmFvczo6T25jZTxjb25zdCB1aW50MzJfdD4gdGFibGVfb25jZShHZW5lcmF0ZVRhYmxlKTsKICAgY29uc3QgdWludDMyX3QgKmNvbnN0IHRhYmxlID0gdGFibGVfb25jZS5HZXQoKTsKIAotICB1aW50MzJfdCByID0gMHhGRkZGRkZGRjsKKyAgdWludDMyX3QgciA9IGluaXRpYWw7CiAKICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCAobGVuZ3RoIC8gNCk7ICsraSkgewogICAgIGZvciAoaW50IGlpID0gMzsgaWkgPj0gMDsgLS1paSkgewpAQCAtNDEsNCArNTAsMjMgQEAKICAgcmV0dXJuIHI7CiB9CiAKK3VpbnQzMl90IENhbGN1bGF0ZUNoZWNrc3VtKDo6YmJiOjpCeXRlUmVhZGVySW50ZXJmYWNlICpyZWFkZXIpIHsKKyAgdWludDhfdCBidWZmZXJbMjU2XTsKKyAgaW50IHJlbWFpbmRlcl9ieXRlcyA9IDA7CisgIHVpbnQzMl90IGNoZWNrc3VtID0gMHhGRkZGRkZGRjsKKyAgd2hpbGUgKHRydWUpIHsKKyAgICBzc2l6ZV90IHJlYWQgPSByZWFkZXItPlJlYWRCeXRlcygmYnVmZmVyW3JlbWFpbmRlcl9ieXRlc10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGJ1ZmZlcikgLSByZW1haW5kZXJfYnl0ZXMpOworICAgIGlmIChyZWFkID09IC0yKSByZXR1cm4gY2hlY2tzdW07CisgICAgaWYgKHJlYWQgPT0gLTEpIHsKKyAgICAgIExPRyhGQVRBTCwgInJlYWRlciAlcCBmYWlsZWQgdG8gcmVhZCB3aXRoICVkOiAlc1xuIiwKKyAgICAgICAgICByZWFkZXIsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICAgIH0KKyAgICBzaXplX3QgY2hlY2tzdW1fYnl0ZXMgPSAocmVhZCAvIDQpICogNDsKKyAgICBjaGVja3N1bSA9IENhbGN1bGF0ZUNoZWNrc3VtKGJ1ZmZlciwgY2hlY2tzdW1fYnl0ZXMsIGNoZWNrc3VtKTsKKyAgICByZW1haW5kZXJfYnl0ZXMgPSByZWFkIC0gY2hlY2tzdW1fYnl0ZXM7CisgICAgbWVtbW92ZShidWZmZXIsICZidWZmZXJbY2hlY2tzdW1fYnl0ZXNdLCByZW1haW5kZXJfYnl0ZXMpOworICB9Cit9CisKIH0gIC8vIG5hbWVzcGFjZSBjYXBlCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2NyYy5oIGIvYmJiX2NhcGUvc3JjL2JiYi9jcmMuaAppbmRleCA3YThlYjk1Li40ZDFkZWE3IDEwMDY0NAotLS0gYS9iYmJfY2FwZS9zcmMvYmJiL2NyYy5oCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvY3JjLmgKQEAgLTQsMTEgKzQsMjQgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KIAorbmFtZXNwYWNlIGJiYiB7CisKK2NsYXNzIEJ5dGVSZWFkZXJJbnRlcmZhY2U7CisKK30gIC8vIG5hbWVzcGFjZSBiYmIKIG5hbWVzcGFjZSBjYXBlIHsKIAogLy8gQ2FsY3VsYXRlcyBhIENSQzMyIGNoZWNrc3VtIGZvciBkYXRhLiBUaGlzIGlzIGRlZmluaXRlbHkgdGhlIHNhbWUgb25lIGFzIHRoZQogLy8gY2FwZSBNQ1UgZG9lcyBpbiBoYXJkd2FyZSB3aGljaCBzZWVtcyB0byBiZSB0aGUgc2FtZSBvbmUgYXMgRXRoZXJuZXQgZXRjIHVzZS4KLXVpbnQzMl90IENhbGN1bGF0ZUNoZWNrc3VtKHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW5ndGgpOworLy8gbGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgb2YgZGF0YSB0byByZWFkLiBJdCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNC4KKy8vIGluaXRpYWwgY2FuIGJlIGEgcHJldmlvdXMgcmV0dXJuIHZhbHVlIHRvIGNvbnRpbnVlIHRoZSBzYW1lIGNoZWNrc3VtIG92ZXIKKy8vIG1vcmUgZGF0YS4KK3VpbnQzMl90IENhbGN1bGF0ZUNoZWNrc3VtKHVpbnQ4X3QgKmRhdGEsIHNpemVfdCBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpbml0aWFsID0gMHhGRkZGRkZGRik7CisvLyBSZWFkcyBhbGwgZGF0YSBvdXQgb2YgcmVhZGVyIGFuZCBkb2VzIGEgY2hlY2tzdW0gb3ZlciBhbGwgb2YgaXQgaW4gcmVhc29uYWJseQorLy8gc2l6ZWQgcGllY2VzLiBEb2VzIGFsbCBvZiB0aGUgcmVhZHMgd2l0aCBhIHRpbWVvdXQgb2YgMC4gU3RvcHMgb24gdGhlIGZpcnN0CisvLyB0aW1lb3V0LgordWludDMyX3QgQ2FsY3VsYXRlQ2hlY2tzdW0oOjpiYmI6OkJ5dGVSZWFkZXJJbnRlcmZhY2UgKnJlYWRlcik7CiAKIH0gIC8vIG5hbWVzcGFjZSBjYXBlCiAKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvZ3BpLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9ncGkuY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIwZDk4NQotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvZ3BpLmNjCkBAIC0wLDAgKzEsMjkgQEAKKyNpbmNsdWRlICJiYmIvZ3BpLmgiCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJhb3MvY29tbW9uL2xvZ2dpbmcvbG9nZ2luZy5oIgorCituYW1lc3BhY2UgYmJiIHsKKworR3BpOjpHcGkoaW50IGJhbmssIGludCBwaW4pIDogR3Bpb1BpbihiYW5rLCBwaW4sIHRydWUpIHsKK30KKworYm9vbCBHcGk6OlJlYWQoKSB7CisgIHJld2luZCh2YWx1ZV9oYW5kbGVfKTsKKyAgaW50IHZhbHVlID0gZmdldGModmFsdWVfaGFuZGxlXyk7CisgIGlmICh2YWx1ZSA8IDApIHsKKyAgICBMT0coRkFUQUwsICJmZ2V0YyglcCkgZm9yIHBpbiAoJWQsJWQpIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwKKyAgICAgICAgdmFsdWVfaGFuZGxlXywgYmFua18sIHBpbl8sIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICB9CisgIHN3aXRjaCAodmFsdWUgLSAnMCcpIHsKKyAgICBjYXNlIDA6IHJldHVybiBmYWxzZTsKKyAgICBjYXNlIDE6IHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICBMT0coRkFUQUwsICJ1bmtub3duIHBpbiB2YWx1ZSAlY1xuIiwgdmFsdWUpOworICB9Cit9CisKK30gIC8vIG5hbWVzcGFjZSBiYmIKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvZ3BpLmggYi9iYmJfY2FwZS9zcmMvYmJiL2dwaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1ODNmMGIKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zcmMvYmJiL2dwaS5oCkBAIC0wLDAgKzEsMjAgQEAKKyNpZm5kZWYgQkJCX0NBUEVfU1JDX0JCQl9HUElfSF8KKyNkZWZpbmUgQkJCX0NBUEVfU1JDX0JCQl9HUElfSF8KKworI2luY2x1ZGUgImJiYi9ncGlvcy5oIgorCituYW1lc3BhY2UgYmJiIHsKKworLy8gU3ViY2xhc3Mgb2YgUGluIGZvciBpbnB1dCBwaW5zLgorY2xhc3MgR3BpIDogcHVibGljIEdwaW9QaW4geworIHB1YmxpYzoKKyAgR3BpKGludCBiYW5rLCBpbnQgcGluKTsKKworICAvLyBSZWFkIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBwaW4uCisgIC8vIFJldHVybnMgdHJ1ZSBpZiBpdCdzIGhpZ2ggYW5kIGZhbHNlIGlmIGl0J3MgbG93LgorICBib29sIFJlYWQoKTsKK307CisKK30gIC8vIG5hbWVzcGFjZSBiYmIKKworI2VuZGlmCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2dwaW9zLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9ncGlvcy5jYwppbmRleCA1YTljNzZlLi4wYWNhNzMxIDEwMDY0NAotLS0gYS9iYmJfY2FwZS9zcmMvYmJiL2dwaW9zLmNjCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvZ3Bpb3MuY2MKQEAgLTIsMTUyICsyLDcyIEBACiAKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKLSNpbmNsdWRlICJhb3MvY29tbW9uL2xvZ2dpbmcvbG9nZ2luZ19pbXBsLmgiCisjaW5jbHVkZSAiYW9zL2NvbW1vbi9sb2dnaW5nL2xvZ2dpbmcuaCIKIAogbmFtZXNwYWNlIGJiYiB7CiAKLVBpbjo6UGluKGludCBiYW5rLCBpbnQgcGluKQotICAgIDogaGFuZGxlXyhOVUxMKSwKLSAgICAgIGRpcmVjdGlvbl8oMCksCi0gICAgICBrZXJuZWxfcGluXyhiYW5rICogMzIgKyBwaW4pLAotICAgICAgZXhwb3J0ZWRfKGZhbHNlKSB7fQotCi1QaW46On5QaW4oKSB7Ci0gIC8vIFVuZXhwb3J0IHRoZSBwaW4uCi0gIGlmICgoaGFuZGxlXyA9IGZvcGVuKCIvc3lzL2NsYXNzL2dwaW8vdW5leHBvcnQiLCAiYWIiKSkgPT0gTlVMTCkgewotICAgIExPRyhXQVJOSU5HLCAiQ291bGQgbm90IHVuZXhwb3J0IGdwaW8gcGluLlxuIik7Ci0gICAgLy8gVGhlcmUncyBub3RoaW5nIGludGVsbGlnZW50IHdlIGNhbiByZWFsbHkgZG8gaGVyZS4KLSAgICByZXR1cm47Ci0gIH0KLQotICBjaGFyIGdwaW9fbnVtWzJdOwotICBzbnByaW50ZihncGlvX251bSwgc2l6ZW9mKGdwaW9fbnVtKSwgIiVkIiwga2VybmVsX3Bpbl8pOwotICBmd3JpdGUoZ3Bpb19udW0sIHNpemVvZihjaGFyKSwgMiwgaGFuZGxlXyk7Ci0gIGZjbG9zZShoYW5kbGVfKTsKLX0KLQotaW50IFBpbjo6RG9FeHBvcnQoKSB7Ci0gIGNoYXIgZ3Bpb19udW1bMl07Ci0gIHNucHJpbnRmKGdwaW9fbnVtLCBzaXplb2YoZ3Bpb19udW0pLCAiJWQiLCBrZXJuZWxfcGluXyk7Ci0KK0dwaW9QaW46OkdwaW9QaW4oaW50IGJhbmssIGludCBwaW4sIGJvb2wgaW5wdXQsIGJvb2wgaW5pdGlhbF92YWx1ZSkKKyAgICA6IGJhbmtfKGJhbmspLCBwaW5fKHBpbiksIGtlcm5lbF9waW5fKGJhbmsgKiAzMiArIHBpbikgewogICAvLyBFeHBvcnQgdGhlIHBpbi4KLSAgaWYgKChoYW5kbGVfID0gZm9wZW4oIi9zeXMvY2xhc3MvZ3Bpby9leHBvcnQiLCAiYWIiKSkgPT0gTlVMTCkgewotICAgIExPRyhFUlJPUiwgIkNvdWxkIG5vdCBleHBvcnQgR1BJTyBwaW4uXG4iKTsKLSAgICByZXR1cm4gLTE7Ci0gIH0KLQotICBmd3JpdGUoZ3Bpb19udW0sIHNpemVvZihjaGFyKSwgMiwgaGFuZGxlXyk7Ci0gIGZjbG9zZShoYW5kbGVfKTsKLQotICBleHBvcnRlZF8gPSB0cnVlOwotICByZXR1cm4gMDsKLX0KLQotaW50IFBpbjo6RG9QaW5EaXJTZXQoaW50IGRpcmVjdGlvbikgewotICBjaGFyIGJ1Zls0XSwgdHlwZV9wYXRoWzY0XTsKLSAgc25wcmludGYodHlwZV9wYXRoLCBzaXplb2YodHlwZV9wYXRoKSwgIi9zeXMvY2xhc3MvZ3Bpby9ncGlvJWQvZGlyZWN0aW9uIiwKLSAgICAgICAgICAga2VybmVsX3Bpbl8pOwotCi0gIGlmICgoaGFuZGxlXyA9IGZvcGVuKHR5cGVfcGF0aCwgInJiKyIpKSA9PSBOVUxMKSB7Ci0gICAgTE9HKEVSUk9SLCAiVW5hYmxlIHRvIHNldCBwaW4gZGlyZWN0aW9uLlxuIik7Ci0gICAgcmV0dXJuIC0xOwotICB9Ci0KLSAgZGlyZWN0aW9uXyA9IGRpcmVjdGlvbjsKLSAgc3dpdGNoIChkaXJlY3Rpb24pIHsKLSAgICBjYXNlIDE6Ci0gICAgICBzdHJjcHkoYnVmLCAiaW4iKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgMjoKLSAgICAgIHN0cmNweShidWYsICJsb3ciKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgMDoKLSAgICAgIHJldHVybiAwOwotICAgIGRlZmF1bHQ6Ci0gICAgICBMT0coRVJST1IsICJJbnZhbGlkIGRpcmVjdGlvbiBpZGVudGlmaWVyICVkLlxuIiwgZGlyZWN0aW9uKTsKLSAgICAgIGRpcmVjdGlvbl8gPSAwOwotICAgICAgcmV0dXJuIC0xOwotICB9Ci0gIGZ3cml0ZShidWYsIHNpemVvZihjaGFyKSwgMywgaGFuZGxlXyk7Ci0gIGZjbG9zZShoYW5kbGVfKTsKLQotICByZXR1cm4gMDsKLX0KLQotaW50IFBpbjo6TWFrZUlucHV0KCkgewotICBpZiAoIWV4cG9ydGVkXykgewotICAgIGlmIChEb0V4cG9ydCgpKSB7Ci0gICAgICByZXR1cm4gLTE7CisgIEZJTEUgKmV4cG9ydF9oYW5kbGUgPSBmb3BlbigiL3N5cy9jbGFzcy9ncGlvL2V4cG9ydCIsICJhIik7CisgIGlmIChleHBvcnRfaGFuZGxlID09IE5VTEwpIHsKKyAgICBMT0coV0FSTklORywKKyAgICAgICAgIkNvdWxkIG5vdCBvcGVuIGZpbGUgdG8gZXhwb3J0IHBpbiAoJWQsJWQpIGJlY2F1c2Ugb2YgJWQ6ICVzLlxuIiwKKyAgICAgICAgYmFua18sIHBpbl8sIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICB9IGVsc2UgeworICAgIGlmIChmcHJpbnRmKGV4cG9ydF9oYW5kbGUsICIlZCIsIGtlcm5lbF9waW5fKSA8IDApIHsKKyAgICAgIExPRyhXQVJOSU5HLCAiQ291bGQgbm90IHdyaXRlIHRvIGZpbGUgJXAgdG8gZXhwb3J0IHBpbiAoJWQsJWQpIGJlY2F1c2UgIgorICAgICAgICAgICAgICAgICAgICJvZiAlZDogJXMuXG4iLAorICAgICAgICAgIGV4cG9ydF9oYW5kbGUsIGJhbmtfLCBwaW5fLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsKKyAgICB9CisgICAgaWYgKGZjbG9zZShleHBvcnRfaGFuZGxlKSA9PSAtMSkgeworICAgICAgTE9HKFdBUk5JTkcsICJmY2xvc2UoJXApIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwgZXhwb3J0X2hhbmRsZSwgZXJybm8sCisgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKICAgICB9CiAgIH0KIAotICByZXR1cm4gRG9QaW5EaXJTZXQoMSk7CisgIGNoYXIgZGlyZWN0aW9uX3BhdGhbNjRdOworICBzbnByaW50ZihkaXJlY3Rpb25fcGF0aCwgc2l6ZW9mKGRpcmVjdGlvbl9wYXRoKSwKKyAgICAgICAgICAgIi9zeXMvY2xhc3MvZ3Bpby9ncGlvJWQvZGlyZWN0aW9uIiwga2VybmVsX3Bpbl8pOworCisgIEZJTEUgKmRpcmVjdGlvbl9oYW5kbGUgPSBmb3BlbihkaXJlY3Rpb25fcGF0aCwgInciKTsKKyAgaWYgKGRpcmVjdGlvbl9oYW5kbGUgPT0gTlVMTCkgeworICAgIExPRyhGQVRBTCwgImZvcGVuKCVzLCBcIncrXCIpIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwKKyAgICAgICAgZGlyZWN0aW9uX3BhdGgsIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICB9CisKKyAgaWYgKGZwdXRzKGlucHV0ID8gImluIiA6IChpbml0aWFsX3ZhbHVlID8gImhpZ2giIDogImxvdyIpLAorICAgICAgICAgICAgZGlyZWN0aW9uX2hhbmRsZSkgPCAwKSB7CisgICAgTE9HKEZBVEFMLCAic2V0dGluZyBkaXJlY3Rpb24gZm9yIHBpbiAoJWQsJWQpIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwKKyAgICAgICAgYmFua18sIHBpbl8sIGVycm5vLCBzdHJlcnJvcihlcnJubykpOworICB9CisgIGlmIChmY2xvc2UoZGlyZWN0aW9uX2hhbmRsZSkgPT0gLTEpIHsKKyAgICBMT0coV0FSTklORywgImZjbG9zZSglcCkgZmFpbGVkIHdpdGggJWQ6ICVzXG4iLCBkaXJlY3Rpb25faGFuZGxlLCBlcnJubywKKyAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgfQogfQogCi1pbnQgUGluOjpNYWtlT3V0cHV0KCkgewotICBpZiAoIWV4cG9ydGVkXykgewotICAgIGlmIChEb0V4cG9ydCgpKSB7Ci0gICAgICByZXR1cm4gLTE7CitHcGlvUGluOjp+R3Bpb1BpbigpIHsKKyAgLy8gVW5leHBvcnQgdGhlIHBpbi4KKyAgRklMRSAqdW5leHBvcnRfaGFuZGxlID0gZm9wZW4oIi9zeXMvY2xhc3MvZ3Bpby91bmV4cG9ydCIsICJhIik7CisgIGlmICh1bmV4cG9ydF9oYW5kbGUgPT0gTlVMTCkgeworICAgIExPRyhXQVJOSU5HLAorICAgICAgICAiQ291bGQgbm90IG9wZW4gZmlsZSB0byB1bmV4cG9ydCBwaW4gKCVkLCVkKSBiZWNhdXNlIG9mICVkOiAlcy5cbiIsCisgICAgICAgIGJhbmtfLCBwaW5fLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsKKyAgfSBlbHNlIHsKKyAgICBpZiAoZnByaW50Zih1bmV4cG9ydF9oYW5kbGUsICIlZCIsIGtlcm5lbF9waW5fKSA8IDApIHsKKyAgICAgIExPRyhXQVJOSU5HLCAiQ291bGQgbm90IHdyaXRlIHRvIGZpbGUgJXAgdG8gdW5leHBvcnQgcGluICglZCwlZCkgYmVjYXVzZSAiCisgICAgICAgICAgICAgICAgICAgIm9mICVkOiAlcy5cbiIsCisgICAgICAgICAgdW5leHBvcnRfaGFuZGxlLCBiYW5rXywgcGluXywgZXJybm8sIHN0cmVycm9yKGVycm5vKSk7CisgICAgfQorICAgIGlmIChmY2xvc2UodW5leHBvcnRfaGFuZGxlKSA9PSAtMSkgeworICAgICAgTE9HKFdBUk5JTkcsICJmY2xvc2UoJXApIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwgdW5leHBvcnRfaGFuZGxlLCBlcnJubywKKyAgICAgICAgICBzdHJlcnJvcihlcnJubykpOwogICAgIH0KICAgfQotCi0gIHJldHVybiBEb1BpbkRpclNldCgyKTsKLX0KLQotaW50IFBpbjo6V3JpdGUodWludDhfdCB2YWx1ZSkgewotICBpZiAoZGlyZWN0aW9uXyAhPSAyKSB7Ci0gICAgTE9HKEVSUk9SLCAiT25seSBwaW5zIHNldCBhcyBvdXRwdXQgY2FuIGJlIHdyaXR0ZW4gdG8uXG4iKTsKLSAgICByZXR1cm4gLTE7Ci0gIH0KLQotICBjaGFyIGJ1ZiwgdmFsX3BhdGhbNjRdOwotICBzbnByaW50Zih2YWxfcGF0aCwgc2l6ZW9mKHZhbF9wYXRoKSwgIi9zeXMvY2xhc3MvZ3Bpby9ncGlvJWQvdmFsdWUiLAotICAgICAgICAgICBrZXJuZWxfcGluXyk7Ci0gIGlmICh2YWx1ZSAhPSAwKSB7Ci0gICAgdmFsdWUgPSAxOwotICB9Ci0KLSAgaWYgKChoYW5kbGVfID0gZm9wZW4odmFsX3BhdGgsICJyYisiKSkgPT0gTlVMTCkgewotICAgIExPRyhFUlJPUiwgIlVuYWJsZSB0byBzZXQgcGluIHZhbHVlLlxuIik7Ci0gICAgcmV0dXJuIC0xOwotICB9Ci0KLSAgc25wcmludGYoJmJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZCIsIHZhbHVlKTsKLSAgZndyaXRlKCZidWYsIHNpemVvZihjaGFyKSwgMSwgaGFuZGxlXyk7Ci0gIGZjbG9zZShoYW5kbGVfKTsKLQotICByZXR1cm4gMDsKLX0KLQotaW50IFBpbjo6UmVhZCgpIHsKLSAgLy8gTk9URTogSSBjYW4ndCBmaW5kIGFueSBkb2NzIGNvbmZpcm1pbmcgdGhhdCBvbmUgY2FuIGluZGVlZAotICAvLyBwb2xsIGEgcGluJ3MgdmFsdWUgdXNpbmcgdGhpcyBtZXRob2QsIGJ1dCBpdCBzZWVtcyB0aGF0IGl0Ci0gIC8vIHNob3VsZCB3b3JrLiBSZWFsbHksIHRoZSAicmlnaHQiIChpbnRlcnJ1cHQgZHJpdmVuKSB3YXkgdG8KLSAgLy8gZG8gdGhpcyBpcyB0byBzZXQgYW4gZXZlbnQsIGJ1dCB0aGF0IGludm9sdmVzIG1lc3Npbmcgd2l0aAotICAvLyBkZXYgdHJlZSBjcmFwLCB3aGljaCBJJ20gbm90IHdpbGxpbmcgdG8gZG8gdW5sZXNzIHdlIG5lZWQKLSAgLy8gdGhpcyBmdW5jdGlvbmFsaXR5LgotCi0gIGlmIChkaXJlY3Rpb25fICE9IDEpIHsKLSAgICBMT0coRVJST1IsICJPbmx5IHBpbnMgc2V0IGFzIGlucHV0IGNhbiBiZSByZWFkIGZyb20uXG4iKTsKLSAgICByZXR1cm4gLTE7Ci0gIH0KLQotICBjaGFyIGJ1ZiwgdmFsX3BhdGhbNjRdOwotICBzbnByaW50Zih2YWxfcGF0aCwgc2l6ZW9mKHZhbF9wYXRoKSwgIi9zeXMvY2xhc3MvZ3Bpby9ncGlvJWQvdmFsdWUiLAotICAgICAgICAgICBrZXJuZWxfcGluXyk7Ci0KLSAgaWYgKChoYW5kbGVfID0gZm9wZW4odmFsX3BhdGgsICJyYiIpKSA9PSBOVUxMKSB7Ci0gICAgTE9HKEVSUk9SLCAiVW5hYmxlIHRvIHJlYWQgcGluIHZhbHVlLlxuIik7Ci0gICAgcmV0dXJuIC0xOwotICB9Ci0KLSAgaWYgKGZyZWFkKCZidWYsIHNpemVvZihjaGFyKSwgMSwgaGFuZGxlXykgPD0gMCkgewotICAgIExPRyhFUlJPUiwgIkZhaWxlZCB0byByZWFkIHBpbiB2YWx1ZSBmcm9tIGZpbGUuXG4iKTsKLSAgICByZXR1cm4gLTE7Ci0gIH0KLSAgZmNsb3NlKGhhbmRsZV8pOwotICByZXR1cm4gYXRvaSgmYnVmKTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlIGJiYgpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2JiYi9ncGlvcy5oIGIvYmJiX2NhcGUvc3JjL2JiYi9ncGlvcy5oCmluZGV4IGEzNzdkNjguLjE0NzFiNDMgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9iYmIvZ3Bpb3MuaAorKysgYi9iYmJfY2FwZS9zcmMvYmJiL2dwaW9zLmgKQEAgLTEsMzggKzEsMzIgQEAKICNpZm5kZWYgQkJCX0NBUEVfU1JDX0JCQl9DQVBFX0NPTlRST0xfSF8KICNkZWZpbmUgQkJCX0NBUEVfU1JDX0JCQl9DQVBFX0NPTlRST0xfSF8KIAotI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKLS8vIEFzIGl0IHR1cm5zIG91dCwgY29udHJvbGxpbmcgdGhlIEJCQidzIEdQSU8gcGlucwotLy8gZnJvbSBDKysgaXMga2luZCBvZiBhIHBhaW4uIFRoZSBwdXJwb3NlIG9mIHRoaXMKLS8vIGNvZGUgaXMgdG8gcHJvdmlkZSBhIHNpbXBsZSB3cmFwcGVyIHRoYXQgbWFza3MKLS8vIGFsbCB0aGUgdWdseSBzdHVmZiBhbmQgZXhwb3NlcyBhIG5pY2UgQVBJLgorI2luY2x1ZGUgImFvcy9jb21tb24vbWFjcm9zLmgiCiAKLS8vIEJhc2VkIG9uIGV4YW1wbGUgZnJvbSAKKy8vIENvbnRyb2xsaW5nIEdQSU8gcGlucworLy8gZnJvbSBDKysgaXMgYSBwYWluLiBUaGlzIGNvZGUgcHJvdmlkZXMgYSBzaW1wbGUgd3JhcHBlciB0aGF0IG1ha2VzIGl0IGVhc3kgdG8KKy8vIHVzZSBjbGVhbmx5LgorCisvLyBCYXNlZCBvbiBleGFtcGxlIGZyb20KIC8vIDxodHRwOi8vbGVhcm5idWlsZHNoYXJlLndvcmRwcmVzcy5jb20vMjAxMy8wNS8yOS9iZWFnbGVib25lLWJsYWNrLWRpZ2l0YWwtb3VwdXQvPgogCisvLyBUaGlzIGlzIGEgYmFzZSBjbGFzcyBmb3IgYWxsIGdwaW8gcmVsYXRlZCBzdHVmZi4KKy8vIFVzZSBlaXRoZXIgdGhlIEdwaSBvciB0aGUgR3BvIHN1YmNsYXNzIGlmIHlvdSB3YW50IHRvIGRvIHRoaW5ncy4KIG5hbWVzcGFjZSBiYmIgewogCi1jbGFzcyBQaW4gewotICBGSUxFICpoYW5kbGVfOwotICBpbnQgZGlyZWN0aW9uXzsKLSAgaW50IGtlcm5lbF9waW5fOwotICBib29sIGV4cG9ydGVkXzsKK2NsYXNzIEdwaW9QaW4geworIHByb3RlY3RlZDoKKyAgLy8gaW5pdGlhbF92YWx1ZSBvbmx5IG1hdHRlcnMgaWYgaW5wdXQgaXMgZmFsc2UuCisgIEdwaW9QaW4oaW50IGJhbmssIGludCBwaW4sIGJvb2wgaW5wdXQsIGJvb2wgaW5pdGlhbF92YWx1ZSA9IGZhbHNlKTsKKyAgdmlydHVhbCB+R3Bpb1BpbigpOwogCi0gIGludCBEb1BpbkRpclNldChpbnQgZGlyZWN0aW9uKTsKLSAgaW50IERvRXhwb3J0KCk7CisgIEZJTEUgKnZhbHVlX2hhbmRsZV8gPSBOVUxMOworICBjb25zdCBpbnQgYmFua18sIHBpbl8sIGtlcm5lbF9waW5fOwogCi1wdWJsaWM6Ci0gIC8vIEhlcmUsIGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudGVkIHRvIHVzZQotICAvLyBHUElPMV8yOCwgeW91IHdvdWxkIGdpdmUgdGhlIGN0b3IKLSAgLy8gMSwgMjggYXMgYXJndW1lbnRzLgotICBQaW4oaW50IGJhbmssIGludCBwaW4pOwotICB+UGluKCk7Ci0gIGludCBNYWtlSW5wdXQoKTsKLSAgaW50IE1ha2VPdXRwdXQoKTsKLSAgaW50IFdyaXRlKHVpbnQ4X3QgdmFsdWUpOwotICBpbnQgUmVhZCgpOworIHByaXZhdGU6CisgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihHcGlvUGluKTsKIH07CiAKIH0gIC8vIG5hbWVzcGFjZSBiYmIKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvZ3BvLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9ncG8uY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAyZGVkMwotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvZ3BvLmNjCkBAIC0wLDAgKzEsMjIgQEAKKyNpbmNsdWRlICJiYmIvZ3BvLmgiCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJhb3MvY29tbW9uL2xvZ2dpbmcvbG9nZ2luZy5oIgorCituYW1lc3BhY2UgYmJiIHsKKworR3BvOjpHcG8oaW50IGJhbmssIGludCBwaW4sIGJvb2wgaW5pdGlhbF92YWx1ZSkKKyAgICA6IEdwaW9QaW4oYmFuaywgcGluLCBmYWxzZSwgaW5pdGlhbF92YWx1ZSkge30KKwordm9pZCBHcG86OlNldChib29sIGhpZ2gpIHsKKyAgcmV3aW5kKHZhbHVlX2hhbmRsZV8pOworICBpZiAoZnB1dGMoaGlnaCA/ICcxJyA6ICcwJywgdmFsdWVfaGFuZGxlXykgPCAwKSB7CisgICAgTE9HKEZBVEFMLCAiZnB1dGMoJWMsICVwKSBmb3IgcGluICglZCwlZCkgZmFpbGVkIHdpdGggJWQ6ICVzXG4iLAorICAgICAgICBoaWdoID8gJzEnOiAnMCcsIHZhbHVlX2hhbmRsZV8sIGJhbmtfLCBwaW5fLCBlcnJubywgc3RyZXJyb3IoZXJybm8pKTsKKyAgfQorfQorCit9ICAvLyBuYW1lc3BhY2UgYmJiCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2dwby5oIGIvYmJiX2NhcGUvc3JjL2JiYi9ncG8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTNkZGQzCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9ncG8uaApAQCAtMCwwICsxLDE4IEBACisjaWZuZGVmIEJCQl9DQVBFX1NSQ19CQkJfR1BPX0hfCisjZGVmaW5lIEJCQl9DQVBFX1NSQ19CQkJfR1BPX0hfCisKKyNpbmNsdWRlICJiYmIvZ3Bpb3MuaCIKKworbmFtZXNwYWNlIGJiYiB7CisKKy8vIEdwaW9zIHN1YmNsYXNzIGZvciBvdXRwdXQgcGlucy4KK2NsYXNzIEdwbyA6IHB1YmxpYyBHcGlvUGluIHsKKyBwdWJsaWM6CisgIEdwbyhpbnQgYmFuaywgaW50IHBpbiwgYm9vbCBpbml0aWFsX3ZhbHVlID0gZmFsc2UpOworICAvLyBTZXRzIHRoZSBwaW4gdG8gZWl0aGVyIGhpZ2ggKHRydWUpIG9yIGxvdyAoZmFsc2UpLgorICB2b2lkIFNldChib29sIGhpZ2gpOworfTsKKworfSAgLy8gbmFtZXNwYWNlIGJiYgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvaGV4X2J5dGVfcmVhZGVyLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9oZXhfYnl0ZV9yZWFkZXIuY2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4ZTc3MQotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvaGV4X2J5dGVfcmVhZGVyLmNjCkBAIC0wLDAgKzEsNTIgQEAKKyNpbmNsdWRlICJiYmIvaGV4X2J5dGVfcmVhZGVyLmgiCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAic3RtMzJmbGFzaC9wYXJzZXJzL3BhcnNlci5oIgorI2luY2x1ZGUgInN0bTMyZmxhc2gvcGFyc2Vycy9oZXguaCIKKworI2luY2x1ZGUgImFvcy9jb21tb24vbG9nZ2luZy9sb2dnaW5nLmgiCisKK25hbWVzcGFjZSBiYmIgeworbmFtZXNwYWNlIHsKKworY29uc3QgcGFyc2VyX3Qga1BhcnNlciA9IFBBUlNFUl9IRVg7CisKK19fYXR0cmlidXRlX18oKG5vcmV0dXJuKSkgdm9pZCBEaWVQYXJzZXJFcnJvcihwYXJzZXJfZXJyX3QgcGVycikgeworICBpZiAocGVyciA9PSBQQVJTRVJfRVJSX1NZU1RFTSkgeworICAgIExPRyhFUlJPUiwgIiVkOiAlc1xuIiwgZXJybm8sIHN0cmVycm9yKGVycm5vKSk7CisgIH0KKyAgTE9HKEZBVEFMLCAiJXMgZXJyb3I6ICVzXG4iLCBrUGFyc2VyLm5hbWUsIHBhcnNlcl9lcnJzdHIocGVycikpOworfQorCit9ICAvLyBuYW1lc3BhY2UKKworSGV4Qnl0ZVJlYWRlcjo6SGV4Qnl0ZVJlYWRlcihjb25zdCA6OnN0ZDo6c3RyaW5nICZmaWxlbmFtZSkKKyAgICA6IHBhcnNlcl9zdGF0dXNfKGtQYXJzZXIuaW5pdCgpKSB7CisgIGlmIChwYXJzZXJfc3RhdHVzXyA9PSBOVUxMKSB7CisgICAgTE9HKEZBVEFMLCAiJXMgcGFyc2VyIGZhaWxlZCB0byBpbml0aWFsaXplLlxuIiwga1BhcnNlci5uYW1lKTsKKyAgfQorICBwYXJzZXJfZXJyX3QgcGVyciA9IGtQYXJzZXIub3BlbihwYXJzZXJfc3RhdHVzXywgZmlsZW5hbWUuY19zdHIoKSwgMCk7CisgIGlmIChwZXJyICE9IFBBUlNFUl9FUlJfT0spIHsKKyAgICBEaWVQYXJzZXJFcnJvcihwZXJyKTsKKyAgfQorfQorCitzc2l6ZV90IEhleEJ5dGVSZWFkZXI6OlJlYWRCeXRlcyh1aW50OF90ICpkZXN0LCBzaXplX3QgbWF4X2J5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjphb3M6OnRpbWU6OlRpbWUgJi8qdGltZW91dCovKSB7CisgIHVuc2lnbmVkIGludCBieXRlcyA9IG1heF9ieXRlczsKKyAgcGFyc2VyX2Vycl90IHBlcnIgPSBrUGFyc2VyLnJlYWQocGFyc2VyX3N0YXR1c18sIGRlc3QsICZieXRlcyk7CisgIGlmIChwZXJyICE9IFBBUlNFUl9FUlJfT0spIHsKKyAgICBpZiAocGVyciA9PSBQQVJTRVJfRVJSX1NZU1RFTSkgcmV0dXJuIC0xOworICAgIERpZVBhcnNlckVycm9yKHBlcnIpOworICB9CisgIGlmIChieXRlcyA9PSAwKSByZXR1cm4gLTI7CisgIHJldHVybiBieXRlczsKK30KKwordW5zaWduZWQgaW50IEhleEJ5dGVSZWFkZXI6OkdldFNpemUoKSB7CisgIHJldHVybiBrUGFyc2VyLnNpemUocGFyc2VyX3N0YXR1c18pOworfQorCit9ICAvLyBuYW1lc3BhY2UgYmJiCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL2hleF9ieXRlX3JlYWRlci5oIGIvYmJiX2NhcGUvc3JjL2JiYi9oZXhfYnl0ZV9yZWFkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZjQ0YzlhCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9oZXhfYnl0ZV9yZWFkZXIuaApAQCAtMCwwICsxLDMwIEBACisjaWZuZGVmIEJCQl9DQVBFX1NSQ19CQkJfSEVYX0JZVEVfUkVBREVSX0hfCisjZGVmaW5lIEJCQl9DQVBFX1NSQ19CQkJfSEVYX0JZVEVfUkVBREVSX0hfCisKKyNpbmNsdWRlIDxzdHJpbmc+CisKKyNpbmNsdWRlICJhb3MvY29tbW9uL3RpbWUuaCIKKworI2luY2x1ZGUgImJiYi9ieXRlX2lvLmgiCisKK25hbWVzcGFjZSBiYmIgeworCisvLyBSZWFkcyBieXRlcyBmcm9tIGEgLmhleCBmaWxlLgorY2xhc3MgSGV4Qnl0ZVJlYWRlciA6IHB1YmxpYyBCeXRlUmVhZGVySW50ZXJmYWNlIHsKKyBwdWJsaWM6CisgIGV4cGxpY2l0IEhleEJ5dGVSZWFkZXIoY29uc3QgOjpzdGQ6OnN0cmluZyAmZmlsZW5hbWUpOworICB2aXJ0dWFsIH5IZXhCeXRlUmVhZGVyKCkge30KKworICB2aXJ0dWFsIHNzaXplX3QgUmVhZEJ5dGVzKHVpbnQ4X3QgKmRlc3QsIHNpemVfdCBtYXhfYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjphb3M6OnRpbWU6OlRpbWUgJnRpbWVvdXQpIG92ZXJyaWRlOworCisgIC8vIFJldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyB0aGF0IHdlIHdpbGwgZXZlbnR1YWxseSByZWFkIG91dC4KKyAgdW5zaWduZWQgaW50IEdldFNpemUoKTsKKworIHByaXZhdGU6CisgIHZvaWQgKmNvbnN0IHBhcnNlcl9zdGF0dXNfOworfTsKKworfSAgLy8gbmFtZXNwYWNlIGJiYgorCisjZW5kaWYgIC8vIEJCQl9DQVBFX1NSQ19CQkJfSEVYX0JZVEVfUkVBREVSX0hfCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL3BhY2tldF9maW5kZXIuY2MgYi9iYmJfY2FwZS9zcmMvYmJiL3BhY2tldF9maW5kZXIuY2MKaW5kZXggNzEzZWE2OS4uOWUwNmI2MiAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi9wYWNrZXRfZmluZGVyLmNjCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvcGFja2V0X2ZpbmRlci5jYwpAQCAtMywxOCArMywyMiBAQAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KIAogI2luY2x1ZGUgImFvcy9jb21tb24vbG9nZ2luZy9sb2dnaW5nLmgiCi0jaW5jbHVkZSAiYmJiX2NhcGUvc3JjL2NhcGUvY293cy5oIgorCisjaW5jbHVkZSAiY2FwZS9jb3dzLmgiCiAjaW5jbHVkZSAiYmJiL2NyYy5oIgorI2luY2x1ZGUgImJiYi9ieXRlX2lvLmgiCiAKIHVzaW5nIDo6YW9zOjp0aW1lOjpUaW1lOwogCiBuYW1lc3BhY2UgYmJiIHsKIAotUGFja2V0RmluZGVyOjpQYWNrZXRGaW5kZXIoQnl0ZVJlYWRlciAqcmVhZGVyLCBzaXplX3QgcGFja2V0X3NpemUpCitQYWNrZXRGaW5kZXI6OlBhY2tldEZpbmRlcihCeXRlUmVhZGVySW50ZXJmYWNlICpyZWFkZXIsIHNpemVfdCBwYWNrZXRfc2l6ZSkKICAgICA6IHJlYWRlcl8ocmVhZGVyKSwKICAgICAgIHBhY2tldF9zaXplXyhwYWNrZXRfc2l6ZSksCiAgICAgICBidWZfKG5ldyBBbGlnbmVkQ2hhcltwYWNrZXRfc2l6ZV9dKSwKQEAgLTMyLDE1ICszNiwxNiBAQAogICBpbnQgemVyb3NfZm91bmQgPSAwOwogICB3aGlsZSAodHJ1ZSkgewogICAgIHNpemVfdCBhbHJlYWR5X3JlYWQgPSA6OnN0ZDo6bWF4KDAsIHBhY2tldF9ieXRlc18pOwotICAgIHNzaXplX3QgbmV3X2J5dGVzID0gcmVhZGVyXy0+UmVhZEJ5dGVzKAotICAgICAgICBidWZfICsgYWxyZWFkeV9yZWFkLCBwYWNrZXRfc2l6ZV8gLSBhbHJlYWR5X3JlYWQsIHRpbWVvdXRfdGltZSk7CisgICAgc3NpemVfdCBuZXdfYnl0ZXMgPQorICAgICAgICByZWFkZXJfLT5SZWFkQnl0ZXMoKHVpbnQ4X3QgKikoYnVmXyArIGFscmVhZHlfcmVhZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrZXRfc2l6ZV8gLSBhbHJlYWR5X3JlYWQsIHRpbWVvdXRfdGltZSk7CiAgICAgaWYgKG5ld19ieXRlcyA8IDApIHsKICAgICAgIGlmIChuZXdfYnl0ZXMgPT0gLTEpIHsKICAgICAgICAgTE9HKEVSUk9SLCAiUmVhZEJ5dGVzKCVwLCAlemQpIGZhaWxlZCB3aXRoICVkOiAlc1xuIiwKICAgICAgICAgICAgIGJ1Zl8gKyBhbHJlYWR5X3JlYWQsIHBhY2tldF9zaXplXyAtIGFscmVhZHlfcmVhZCwgZXJybm8sCiAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOwogICAgICAgfSBlbHNlIGlmIChuZXdfYnl0ZXMgPT0gLTIpIHsKLSAgICAgICAgTE9HKFdBUk5JTkcsICJ0aW1lZCBvdXRcbiIpOworICAgICAgICBMT0coSU5GTywgInRpbWVkIG91dFxuIik7CiAgICAgICB9IGVsc2UgewogICAgICAgICBMT0coV0FSTklORywgImJhZCBCeXRlUmVhZGVyICVwIHJldHVybmVkICV6ZFxuIiwgcmVhZGVyXywgbmV3X2J5dGVzKTsKICAgICAgIH0KQEAgLTQ4LDE0ICs1MywyMCBAQAogICAgIH0KIAogICAgIGlmICghaXJxX3ByaW9yaXR5X2luY3JlYXNlZF8pIHsKLSAgICAgIC8vIFRPRE8oYnJpYW5zKTogRG8gdGhpcyBjbGVhbmx5LgotICAgICAgaW50IGNocnRfcmVzdWx0ID0gc3lzdGVtKCJiYXNoIC1jICdjaHJ0IC1yIC1wIDU1IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgJCh0b3AgLW4xIHwgZmdyZXAgaXJxLzg5IHwgY3V0IC1kXCIgXCIgLWYyKSciKTsKLSAgICAgIGlmIChjaHJ0X3Jlc3VsdCA9PSAtMSkgewotICAgICAgICBMT0coRkFUQUwsICJzeXN0ZW0oY2hydCAtciAtcCA1NSB0aGVfaXJxKSBmYWlsZWRcbiIpOwotICAgICAgfSBlbHNlIGlmICghV0lGRVhJVEVEKGNocnRfcmVzdWx0KSB8fCBXRVhJVFNUQVRVUyhjaHJ0X3Jlc3VsdCkgIT0gMCkgewotICAgICAgICBMT0coRkFUQUwsICIkKGNocnQgLXIgLXAgNTUgdGhlX2lycSkgZmFpbGVkLCByZXR1cm4gdmFsdWUgPSAlZFxuIiwKLSAgICAgICAgICAgIFdFWElUU1RBVFVTKGNocnRfcmVzdWx0KSk7CisgICAgICAvLyBJZmYgd2UncmUgcm9vdC4KKyAgICAgIGlmIChnZXR1aWQoKSA9PSAwKSB7CisgICAgICAgIC8vIFRPRE8oYnJpYW5zKTogRG8gdGhpcyBjbGVhbmx5LgorICAgICAgICBpbnQgY2hydF9yZXN1bHQgPQorICAgICAgICAgICAgc3lzdGVtKCJiYXNoIC1jICdjaHJ0IC1yIC1wIDU1IgorICAgICAgICAgICAgICAgICAgICIgJCh0b3AgLW4xIHwgZmdyZXAgaXJxLzg5IHwgY3V0IC1kXCIgXCIgLWYyKSciKTsKKyAgICAgICAgaWYgKGNocnRfcmVzdWx0ID09IC0xKSB7CisgICAgICAgICAgTE9HKEZBVEFMLCAic3lzdGVtKGNocnQgLXIgLXAgNTUgdGhlX2lycSkgZmFpbGVkXG4iKTsKKyAgICAgICAgfSBlbHNlIGlmICghV0lGRVhJVEVEKGNocnRfcmVzdWx0KSB8fCBXRVhJVFNUQVRVUyhjaHJ0X3Jlc3VsdCkgIT0gMCkgeworICAgICAgICAgIExPRyhGQVRBTCwgIiQoY2hydCAtciAtcCA1NSB0aGVfaXJxKSBmYWlsZWQsIHJldHVybiB2YWx1ZSA9ICVkXG4iLAorICAgICAgICAgICAgICBXRVhJVFNUQVRVUyhjaHJ0X3Jlc3VsdCkpOworICAgICAgICB9CisgICAgICB9IGVsc2UgeworICAgICAgICBMT0coSU5GTywgIm5vdCByb290LCBzbyBub3QgaW5jcmVhc2luZyBwcmlvcml0eSBvZiB0aGUgSVJRXG4iKTsKICAgICAgIH0KIAogICAgICAgaXJxX3ByaW9yaXR5X2luY3JlYXNlZF8gPSB0cnVlOwpAQCAtOTEsNyArMTAyLDcgQEAKICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QgKj4oYnVmXyksIHBhY2tldF9zaXplXywKICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QgKj4odW5zdHVmZmVkX2RhdGFfKSwgcGFja2V0X3NpemVfIC0gNCk7CiAgIGlmICh1bnN0dWZmZWQgPT0gMCkgewotICAgIExPRyhXQVJOSU5HLCAiaW52YWxpZCBwYWNrZXRcbiIpOworICAgIExPRyhJTkZPLCAiaW52YWxpZCBwYWNrZXRcbiIpOwogICAgIHJldHVybiBmYWxzZTsKICAgfSBlbHNlIGlmICh1bnN0dWZmZWQgIT0gKHBhY2tldF9zaXplXyAtIDQpIC8gNCkgewogICAgIExPRyhXQVJOSU5HLCAicGFja2V0IGlzICUiIFBSSXUzMiAiIHdvcmRzIGluc3RlYWQgb2YgJSIgUFJJdTMyICJcbiIsCkBAIC0xMDUsNyArMTE2LDcgQEAKICAgdWludDMyX3QgY2FsY3VsYXRlZF9jaGVja3N1bSA9IGNhcGU6OkNhbGN1bGF0ZUNoZWNrc3VtKAogICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90ICo+KHVuc3R1ZmZlZF9kYXRhXyksIHBhY2tldF9zaXplXyAtIDgpOwogICBpZiAoc2VudF9jaGVja3N1bSAhPSBjYWxjdWxhdGVkX2NoZWNrc3VtKSB7Ci0gICAgTE9HKFdBUk5JTkcsICJzZW50IGNoZWNrc3VtOiAlIiBQUkl4MzIgIiB2cyBjYWxjdWxhdGVkOiAlIiBQUkl4MzIiXG4iLAorICAgIExPRyhJTkZPLCAic2VudCBjaGVja3N1bTogJSIgUFJJeDMyICIgdnMgY2FsY3VsYXRlZDogJSIgUFJJeDMyIlxuIiwKICAgICAgICAgc2VudF9jaGVja3N1bSwgY2FsY3VsYXRlZF9jaGVja3N1bSk7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL3BhY2tldF9maW5kZXIuaCBiL2JiYl9jYXBlL3NyYy9iYmIvcGFja2V0X2ZpbmRlci5oCmluZGV4IDliNzQ1ODMuLjgwY2I4YjggMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9iYmIvcGFja2V0X2ZpbmRlci5oCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvcGFja2V0X2ZpbmRlci5oCkBAIC04LDE1ICs4LDE1IEBACiAjaW5jbHVkZSAiYW9zL2NvbW1vbi90aW1lLmgiCiAjaW5jbHVkZSAiYW9zL2NvbW1vbi9tYWNyb3MuaCIKIAotI2luY2x1ZGUgImJiYi9ieXRlX3JlYWRlci5oIgotCiBuYW1lc3BhY2UgYmJiIHsKIAorY2xhc3MgQnl0ZVJlYWRlckludGVyZmFjZTsKKwogY2xhc3MgUGFja2V0RmluZGVyIHsKICBwdWJsaWM6CiAgIC8vICpyZWFkZXIgaGFzIHRvIHN0YXkgYWxpdmUgZm9yIHRoZSBlbnRpcmUgbGlmZXRpbWUgb2YgdGhpcyBvYmplY3QgYnV0IHRoaXMKICAgLy8gb2JqZWN0IGRvZXMgbm90IHRha2Ugb3duZXJzaGlwLgotICBleHBsaWNpdCBQYWNrZXRGaW5kZXIoQnl0ZVJlYWRlciAqcmVhZGVyLCBzaXplX3QgcGFja2V0X3NpemUpOworICBQYWNrZXRGaW5kZXIoQnl0ZVJlYWRlckludGVyZmFjZSAqcmVhZGVyLCBzaXplX3QgcGFja2V0X3NpemUpOwogICB+UGFja2V0RmluZGVyKCk7CiAKICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IHN1Y2NlZWRzIG9yIGZhbHNlIGlmIGl0IGdldHMgYW4gSS9PIGVycm9yIChvciB0aW1lb3V0KQpAQCAtMzcsNyArMzcsOCBAQAogICB9CiAKICBwcml2YXRlOgotICB0eXBlZGVmIEJ5dGVSZWFkZXI6OkFsaWduZWRDaGFyIEFsaWduZWRDaGFyOworICAvLyBXZSBoYXZlIDY0LWJpdCBpbnRzIGluIHNvbWUgb2Ygb3VyIGRhdGEuCisgIHR5cGVkZWYgY2hhciBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSkgQWxpZ25lZENoYXI7CiAKICAgLy8gUmVhZHMgYnl0ZXMgdW50aWwgdGhlcmUgYXJlIDQgemVyb3MgYW5kIHRoZW4gZmlsbHMgdXAgYnVmXy4KICAgLy8gUmV0dXJucyB0cnVlIGlmIGl0IGZpbmRzIG9uZSBvciBmYWxzZSBpZiBpdCBnZXRzIGFuIEkvTyBlcnJvciBmaXJzdCBvciB0aGUKQEAgLTUwLDcgKzUxLDcgQEAKICAgLy8gZGF0YS4KICAgYm9vbCBQcm9jZXNzUGFja2V0KCk7CiAKLSAgQnl0ZVJlYWRlciAqY29uc3QgcmVhZGVyXzsKKyAgQnl0ZVJlYWRlckludGVyZmFjZSAqY29uc3QgcmVhZGVyXzsKICAgY29uc3Qgc2l6ZV90IHBhY2tldF9zaXplXzsKIAogICBBbGlnbmVkQ2hhciAqY29uc3QgYnVmXzsKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvcGFja2V0X2ZpbmRlcl90ZXN0LmNjIGIvYmJiX2NhcGUvc3JjL2JiYi9wYWNrZXRfZmluZGVyX3Rlc3QuY2MKaW5kZXggNDM3YmY4ZC4uMWI4YzgxMyAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi9wYWNrZXRfZmluZGVyX3Rlc3QuY2MKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9wYWNrZXRfZmluZGVyX3Rlc3QuY2MKQEAgLTEsMzQgKzEsMzMgQEAKICNpbmNsdWRlICJiYmIvcGFja2V0X2ZpbmRlci5oIgogCisjaW5jbHVkZSA8YXJyYXk+CisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiAjaW5jbHVkZSAiZ3Rlc3QvZ3Rlc3QuaCIKIAogI2luY2x1ZGUgImFvcy9jb21tb24vcXVldWVfdGVzdHV0aWxzLmgiCiAjaW5jbHVkZSAiYW9zL2NvbW1vbi90aW1lLmgiCiAKLSNpbmNsdWRlICJiYmIvYnl0ZV9yZWFkZXIuaCIKKyNpbmNsdWRlICJiYmIvYnl0ZV9pby5oIgogCiBuYW1lc3BhY2UgYmJiIHsKIG5hbWVzcGFjZSB0ZXN0aW5nIHsKIAotY2xhc3MgUGFja2V0RmluZGVyVGVzdCA6IHB1YmxpYyA6OnRlc3Rpbmc6OlRlc3QgeworY2xhc3MgVGVzdEJ5dGVSZWFkZXIgOiBwdWJsaWMgQnl0ZVJlYWRlckludGVyZmFjZSB7CiAgcHVibGljOgotICB2b2lkIFNldFVwKCkgb3ZlcnJpZGUgewotICAgIDo6YW9zOjpjb21tb246OnRlc3Rpbmc6OkVuYWJsZVRlc3RMb2dnaW5nKCk7Ci0gIH0KLX07CisgIC8vIEhvbGRzIGEgcmVmZXJlbmNlIHRvIGRhdGEncyBlbGVtZW50IGFycmF5LgorICB0ZW1wbGF0ZSA8c2l6ZV90IGJ5dGVzPgorICBUZXN0Qnl0ZVJlYWRlcihjb25zdCA6OnN0ZDo6YXJyYXk8dWludDhfdCwgYnl0ZXM+ICZkYXRhKQorICAgICAgOiBkYXRhXygmZGF0YS5hdCgwKSksIGRhdGFfc2l6ZV8oZGF0YS5zaXplKCkpLCBieXRlc19sZWZ0XyhkYXRhLnNpemUoKSkge30KIAotY2xhc3MgVGVzdEJ5dGVSZWFkZXIgOiBwdWJsaWMgQnl0ZVJlYWRlciB7Ci0gcHVibGljOgotICBUZXN0Qnl0ZVJlYWRlcihjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZGF0YV9zaXplKQotICAgICAgOiBkYXRhXyhkYXRhKSwgZGF0YV9zaXplXyhkYXRhX3NpemUpLCBieXRlc19sZWZ0XyhkYXRhX3NpemUpIHt9Ci0KLSAgdmlydHVhbCBzc2l6ZV90IFJlYWRCeXRlcyhBbGlnbmVkQ2hhciAqZGVzdCwgc2l6ZV90IG1heF9ieXRlcywKKyAgdmlydHVhbCBzc2l6ZV90IFJlYWRCeXRlcyh1aW50OF90ICpkZXN0LCBzaXplX3QgbWF4X2J5dGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDo6YW9zOjp0aW1lOjpUaW1lICYvKnRpbWVvdXRfdGltZSovKQogICAgICAgb3ZlcnJpZGUgewogICAgIHNpemVfdCB0b190cmFuc2ZlciA9IDo6c3RkOjptaW4obWF4X2J5dGVzLCBieXRlc19sZWZ0Xyk7CiAgICAgbWVtY3B5KGRlc3QsIHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QgKj4oZGF0YV8pICsgZGF0YV9zaXplXyAtIGJ5dGVzX2xlZnRfLAogICAgICAgICAgICB0b190cmFuc2Zlcik7CiAgICAgYnl0ZXNfbGVmdF8gLT0gdG9fdHJhbnNmZXI7CisgICAgaWYgKHRvX3RyYW5zZmVyID09IDApIHJldHVybiAtMjsKICAgICByZXR1cm4gdG9fdHJhbnNmZXI7CiAgIH0KIApAQCAtMzgsODcgKzM3LDEyNyBAQAogICBzaXplX3QgYnl0ZXNfbGVmdF87CiB9OwogCi1URVNUX0YoUGFja2V0RmluZGVyVGVzdCwgU3R1cGlkWmVyb3MpIHsKLSAgc3RhdGljIGNvbnN0IHVpbnQ4X3Qga1Rlc3REYXRhW10gPSB7Ci0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhDMCwgMHgwNywgMHgwMSwgMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDY5LCAweDNELCAweEUwLCAweDAzLCAweDAyLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4NDMsIDB4NUUsIDB4MTIsIDB4MTYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MkEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsCi0gICAgMHgyQSwgMHgwMCwgMHgxQiwgMHgwMCwgMHg0RSwgMHgwMSwgMHg3MiwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDA0LCAweDAwLCAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLCAweEZGLCAweDkwLCAweDAxLCAweDAwLCAweDIwLAotICAgIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEVELCAweDAwLCAweEUwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHhGRiwgMHg4RSwgMHhGRSwgMHg5RSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweEQwLCAweDA3LCAweDAxLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEExLCAweDc5LCAweEUwLCAweDAzLAotICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDMsIDB4NUUsIDB4MTIsIDB4MTYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MkEsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgMHgyOSwgMHgwMCwgMHgxQiwgMHgwMCwgMHg1MCwgMHgwMSwgMHg3MiwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLCAweEZGLAotICAgIDB4OTAsIDB4MDEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweEIwLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDA2LCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsCi0gICAgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhFNiwgMHg2RiwgMHg3RSwgMHhDNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEUwLCAweDA3LCAweDAxLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4REEsIDB4QjUsIDB4RTAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDMsIDB4NUUsIDB4MTIsIDB4MTYsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyQiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgMHgyQSwgMHgwMCwgMHgxQiwgMHgwMCwKLSAgICAweDUwLCAweDAxLCAweDcyLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4OTAsIDB4MDEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwKLSAgICAweDA1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEQwLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsCi0gICAgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhERCwgMHhEMSwgMHg1RCwgMHg4RSwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEYwLCAweDA3LCAweDAxLCAweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTMsIDB4RjIsIDB4RTAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHg0MywgMHg1RSwgMHgxMiwgMHgxNiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgyQiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwKLSAgICAweDI5LCAweDAwLCAweDFCLCAweDAwLCAweDUwLCAweDAxLCAweDcyLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4OTAsIDB4MDEsIDB4MDAsIDB4MjAsCi0gICAgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDkwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDY4LCAweDI2LCAweEM0LCAweEYxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDgsIDB4MDEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NEIsIDB4MkUsIDB4RTEsIDB4MDMsCi0gICAgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MywgMHg1RSwgMHgxMiwgMHgxNiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgyQSwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDJBLCAweDAwLCAweDFDLCAweDAwLCAweDUwLCAweDAxLCAweDcyLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsCi0gICAgMHg5MCwgMHgwMSwgMHgwMCwgMHgyMCwgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDA1LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4QzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHhGMSwgMHhGRiwgMHhGRiwgMHhGRiwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwKLSAgICAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweEFELCAweDhCLCAweDZBLCAweDEwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDgsIDB4MDEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHg4NCwgMHg2QSwgMHhFMSwgMHgwMywgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MywgMHg1RSwgMHgxMiwgMHgxNiwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJBLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDI5LCAweDAwLCAweDFCLCAweDAwLAotICAgIDB4NEUsIDB4MDEsIDB4NzIsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHhGMSwgMHhGRiwgMHhGRiwgMHhGRiwgMHg5MCwgMHgwMSwgMHgwMCwgMHgyMCwgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDAwLCAweDQwLAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RTAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsCi0gICAgMHgzOSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEZDLCAweDk0LCAweDM5LCAweEY1LAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAKLSAgfTsKLSAgVGVzdEJ5dGVSZWFkZXIgcmVhZGVyKGtUZXN0RGF0YSwgc2l6ZW9mKGtUZXN0RGF0YSkpOwotICBQYWNrZXRGaW5kZXIgcGFja2V0X2ZpbmRlcigmcmVhZGVyLCAxNDQpOwotICBFWFBFQ1RfVFJVRShwYWNrZXRfZmluZGVyLlJlYWRQYWNrZXQoOjphb3M6OnRpbWU6OlRpbWUoMCwgMCkpKTsKK2NsYXNzIFBhY2tldEZpbmRlclRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0IHsKKyBwdWJsaWM6CisgIHZvaWQgU2V0VXAoKSBvdmVycmlkZSB7CisgICAgOjphb3M6OmNvbW1vbjo6dGVzdGluZzo6RW5hYmxlVGVzdExvZ2dpbmcoKTsKKyAgfQorCisgIHRlbXBsYXRlIDx0eXBlbmFtZSBEYXRhLCBzaXplX3QgTiA9IDA+CisgIHZvaWQgUmVjZWl2ZVBhY2tldHMoY29uc3QgRGF0YSAmZGF0YSwgaW50IHBhY2tldHMsCisgICAgICAgICAgICAgICAgICAgICAgOjpzdGQ6OmFycmF5PGludCwgTj4gZXhwZWN0ZWRfZmFpbHVyZXMgPQorICAgICAgICAgICAgICAgICAgICAgICAgICA6OnN0ZDo6YXJyYXk8aW50LCAwPigpKSB7CisgICAgVGVzdEJ5dGVSZWFkZXIgcmVhZGVyKGRhdGEpOworICAgIFBhY2tldEZpbmRlciBwYWNrZXRfZmluZGVyKCZyZWFkZXIsIDE0NCk7CisgICAgYXV0byBmYWlsdXJlID0gZXhwZWN0ZWRfZmFpbHVyZXMuYmVnaW4oKTsKKyAgICBmb3IgKGludCBpID0gMTsgaSA8IHBhY2tldHM7ICsraSkgeworICAgICAgU0NPUEVEX1RSQUNFKCJwYWNrZXQgIiArIDo6c3RkOjp0b19zdHJpbmcoaSkpOworICAgICAgYm9vbCBleHBlY3RfZmFpbHVyZSA9IGZhbHNlOworICAgICAgaWYgKGZhaWx1cmUgIT0gZXhwZWN0ZWRfZmFpbHVyZXMuZW5kKCkgJiYgKmZhaWx1cmUgPT0gaSkgeworICAgICAgICBleHBlY3RfZmFpbHVyZSA9IHRydWU7CisgICAgICAgICsrZmFpbHVyZTsKKyAgICAgIH0KKyAgICAgIEVYUEVDVF9FUSghZXhwZWN0X2ZhaWx1cmUsCisgICAgICAgICAgICAgICAgcGFja2V0X2ZpbmRlci5SZWFkUGFja2V0KDo6YW9zOjp0aW1lOjpUaW1lKDAsIDApKSk7CisgICAgICBpZiAoZXhwZWN0X2ZhaWx1cmUgJiYgaSArIDEgIT0gKmZhaWx1cmUgJiYgaSArIDEgIT0gcGFja2V0cykgeworICAgICAgICB3aGlsZSAoIXBhY2tldF9maW5kZXIuUmVhZFBhY2tldCg6OmFvczo6dGltZTo6VGltZSgwLCAwKSkpIHt9CisgICAgICAgIGkgKz0gMTsKKyAgICAgIH0KKyAgICB9CisgICAgRVhQRUNUX0ZBTFNFKHBhY2tldF9maW5kZXIuUmVhZFBhY2tldCg6OmFvczo6dGltZTo6VGltZSgwLCAwKSkpOworICB9Cit9OworCitzdGF0aWMgY29uc3RleHByIDo6c3RkOjphcnJheTx1aW50OF90LCA4OTY+IGtUZXN0RGF0YTF7CisgIHsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEMwLCAweDA3LCAweDAxLCAweDAwLCAweDAyLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHg2OSwgMHgzRCwgMHhFMCwgMHgwMywgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MywgMHg1RSwKKyAgIDB4MTIsIDB4MTYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsCisgICAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAorICAgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKKyAgIDB4MDAsIDB4MkEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MkEsIDB4MDAsIDB4MUIsIDB4MDAsIDB4NEUsIDB4MDEsCisgICAweDcyLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLAorICAgMHhGRiwgMHg5MCwgMHgwMSwgMHgwMCwgMHgyMCwgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEVELAorICAgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwKKyAgIDB4MDAsIDB4RkYsIDB4OEUsIDB4RkUsIDB4OUUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweEQwLCAweDA3LCAweDAxLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweEExLCAweDc5LCAweEUwLCAweDAzLCAweDAyLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MywgMHg1RSwgMHgxMiwgMHgxNiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwKKyAgIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsCisgICAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAorICAgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgyQSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgMHgyOSwKKyAgIDB4MDAsIDB4MUIsIDB4MDAsIDB4NTAsIDB4MDEsIDB4NzIsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsCisgICAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLCAweEZGLCAweDkwLCAweDAxLCAweDAwLCAweDIwLCAweDAwLCAweEVELCAweDAwLAorICAgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwKKyAgIDB4MDMsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MDYsCisgICAweDAwLCAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLCAweEZGLCAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweDAwLCAweDM4LAorICAgMHgwMCwgMHg0MCwgMHg4MiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhFNiwgMHg2RiwgMHg3RSwgMHhDNywgMHgwMCwgMHgwMCwgMHgwMCwKKyAgIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RTAsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweERBLCAweEI1LCAweEUwLCAweDAzLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDQzLCAweDVFLCAweDEyLCAweDE2LCAweDAxLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwKKyAgIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsCisgICAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDJCLCAweDAwLAorICAgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgMHgyQSwgMHgwMCwgMHgxQiwgMHgwMCwgMHg1MCwgMHgwMSwgMHg3MiwgMHgwMCwgMHgwMSwKKyAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4OTAsIDB4MDEsCisgICAweDAwLCAweDIwLCAweDAwLCAweEVELCAweDAwLCAweEUwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA1LCAweDAwLCAweDAwLAorICAgMHgwMCwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhEMCwgMHgwMCwgMHgwMCwKKyAgIDB4MDAsIDB4MTAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjEsIDB4RkYsIDB4RkYsIDB4RkYsIDB4MDAsCisgICAweDM4LCAweDAwLCAweDQwLCAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweDgwLCAweDAwLCAweDAwLCAweDAwLCAweERELCAweEQxLAorICAgMHg1RCwgMHg4RSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhGMCwgMHgwNywgMHgwMSwKKyAgIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTMsIDB4RjIsIDB4RTAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweDQzLCAweDVFLCAweDEyLCAweDE2LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwKKyAgIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsCisgICAweDAwLCAweDAyLCAweDAwLCAweDJCLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDI5LCAweDAwLCAweDFCLCAweDAwLAorICAgMHg1MCwgMHgwMSwgMHg3MiwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhGMSwKKyAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4OTAsIDB4MDEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsIDB4MDEsIDB4MDAsCisgICAweDAwLCAweDAwLCAweDA3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDM4LCAweDAwLCAweDQwLCAweDAxLCAweDAwLCAweDAwLAorICAgMHgwMCwgMHgwMCwgMHg5MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgMHgwMCwgMHgyNCwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgIDB4MDAsIDB4RUQsIDB4MDAsIDB4RTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsCisgICAweDAwLCAweDAwLCAweDAwLCAweDY4LCAweDI2LCAweEM0LCAweEYxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwOCwgMHgwMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0QiwgMHgyRSwgMHhFMSwKKyAgIDB4MDMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDMsIDB4NUUsIDB4MTIsIDB4MTYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwKKyAgIDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MkEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsCisgICAweDAwLCAweDJBLCAweDAwLCAweDFDLCAweDAwLCAweDUwLCAweDAxLCAweDcyLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLAorICAgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhGMSwgMHhGRiwgMHhGRiwgMHhGRiwgMHg5MCwgMHgwMSwgMHgwMCwgMHgyMCwgMHgwMCwKKyAgIDB4RUQsIDB4MDAsIDB4RTAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsCisgICAweDAwLCAweDQwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEMwLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLAorICAgMHgwMCwgMHgwNiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhGMSwgMHhGRiwgMHhGRiwgMHhGRiwgMHgwMCwgMHgzOCwgMHgwMCwgMHg0MCwKKyAgIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsIDB4QUQsIDB4OEIsIDB4NkEsIDB4MTAsIDB4MDAsCisgICAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDA4LCAweDAxLCAweDAwLCAweDAyLCAweDAwLAorICAgMHgwMCwgMHgwMCwgMHg4NCwgMHg2QSwgMHhFMSwgMHgwMywgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MywgMHg1RSwgMHgxMiwKKyAgIDB4MTYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsCisgICAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAorICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwKKyAgIDB4MkEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDAsIDB4MjksIDB4MDAsIDB4MUIsIDB4MDAsIDB4NEUsIDB4MDEsIDB4NzIsCisgICAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDAwLCAweEYxLCAweEZGLCAweEZGLCAweEZGLAorICAgMHg5MCwgMHgwMSwgMHgwMCwgMHgyMCwgMHgwMCwgMHhFRCwgMHgwMCwgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywKKyAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MzgsIDB4MDAsIDB4NDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RTAsCisgICAweDAwLCAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEVELCAweDAwLAorICAgMHhFMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKKyAgIDB4RkMsIDB4OTQsIDB4MzksIDB4RjUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9Cit9OworCisvLyBUaGlzIGRhdGEgaGFzIHNvbWUgbGVhZGluZyAwcyBpbiB0aGUgZGF0YSBwYXJ0IG9mIGF0IGxlYXN0IG9uZSBvZiB0aGUgcGFja2V0cworLy8gdGhhdCB1c2VkIHRvIGNvbmZ1c2UgdGhlIGNvZGUuCitURVNUX0YoUGFja2V0RmluZGVyVGVzdCwgTGVhZGluZ1plcm9zKSB7CisgIFJlY2VpdmVQYWNrZXRzKGtUZXN0RGF0YTEsIDcpOworfQorCisvLyBUZXN0cyB0byBtYWtlIHN1cmUgdGhhdCBkcm9wcGluZyBhbnkgYnl0ZSB3aWxsIHJlc3VsdCBpbiBtaXNzaW5nIHRoYXQgcGFja2V0CisvLyBhbmQgbm8gZnV0dXJlIG9uZXMuCitURVNUX0YoUGFja2V0RmluZGVyVGVzdCwgRHJvcEFueUJ5dGUpIHsKKyAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGtUZXN0RGF0YSA9IGtUZXN0RGF0YTE7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgc3RhdGljX2Nhc3Q8aW50PihrVGVzdERhdGEuc2l6ZSgpKTsgKytpKSB7CisgICAgU0NPUEVEX1RSQUNFKCJkcm9wcGluZyBieXRlICIgKyA6OnN0ZDo6dG9fc3RyaW5nKGkpKTsKKyAgICA6OnN0ZDo6YXJyYXk8dWludDhfdCwga1Rlc3REYXRhLnNpemUoKSAtIDE+IGRhdGE7CisgICAgOjpzdGQ6OmNvcHkoa1Rlc3REYXRhLmJlZ2luKCksIGtUZXN0RGF0YS5iZWdpbigpICsgaSwgZGF0YS5iZWdpbigpKTsKKyAgICA6OnN0ZDo6Y29weShrVGVzdERhdGEuYmVnaW4oKSArIGkgKyAxLCBrVGVzdERhdGEuZW5kKCksCisgICAgICAgICAgICAgICAgZGF0YS5iZWdpbigpICsgaSk7CisgICAgUmVjZWl2ZVBhY2tldHMoZGF0YSwgNywgOjpzdGQ6OmFycmF5PGludCwgMT57e2kgLyAxNDggKyAxfX0pOworICB9CiB9CiAKIH0gIC8vIG5hbWVzcGFjZSB0ZXN0aW5nCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL3NlbnNvcl9yZWFkZXIuY2MgYi9iYmJfY2FwZS9zcmMvYmJiL3NlbnNvcl9yZWFkZXIuY2MKaW5kZXggMmMzNmFlMy4uMTNkNmFkZCAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi9zZW5zb3JfcmVhZGVyLmNjCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvc2Vuc29yX3JlYWRlci5jYwpAQCAtMywxNSArMywzMiBAQAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJhb3MvbGludXhfY29kZS9jb25maWd1cmF0aW9uLmgiCiAKICNpbmNsdWRlICJiYmIvc2Vuc29yX2dlbmVyYXRpb24ucS5oIgorI2luY2x1ZGUgImJiYi9jcmMuaCIKKyNpbmNsdWRlICJiYmIvaGV4X2J5dGVfcmVhZGVyLmgiCiAKIG5hbWVzcGFjZSBiYmIgeworbmFtZXNwYWNlIHsKIAotU2Vuc29yUmVhZGVyOjpTZW5zb3JSZWFkZXIoY29uc3QgOjpzdGQ6OnN0cmluZyAmLypjYXBlX2NvZGUqLykKLSAgICA6IHJlYWRlcl8oNzUwMDAwKSwgcGFja2V0X2ZpbmRlcl8oJnJlYWRlcl8sIERBVEFfU1RSVUNUX1NFTkRfU0laRSAtIDQpIHsKK3VpbnQzMl90IFJlYWRDaGVja3N1bShjb25zdCA6OnN0ZDo6c3RyaW5nICZmaWxlbmFtZSkgeworICBIZXhCeXRlUmVhZGVyIHJlYWRlcihmaWxlbmFtZSk7CisgIHJldHVybiA6OmNhcGU6OkNhbGN1bGF0ZUNoZWNrc3VtKCZyZWFkZXIpOworfQorCit9ICAvLyBuYW1lc3BhY2UKKworU2Vuc29yUmVhZGVyOjpTZW5zb3JSZWFkZXIoY29uc3QgOjpzdGQ6OnN0cmluZyAmY2FwZV9jb2RlKQorICAgIDogaGV4X2ZpbGVuYW1lXyg6OnN0ZDo6c3RyaW5nKDo6YW9zOjpjb25maWd1cmF0aW9uOjpHZXRSb290RGlyZWN0b3J5KCkpICsKKyAgICAgICAgICAgICAgICAgICAgIi9tYWluXyIgKyBjYXBlX2NvZGUgKyAiLmhleCIpLAorICAgICAgbWFuYWdlcl8oKSwKKyAgICAgIHBhY2tldF9maW5kZXJfKG1hbmFnZXJfLnVhcnQoKSwgREFUQV9TVFJVQ1RfU0VORF9TSVpFIC0gNCksCisgICAgICBleHBlY3RlZF9jaGVja3N1bV8oUmVhZENoZWNrc3VtKGhleF9maWxlbmFtZV8pKSB7CiAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFNlbnNvckdlbmVyYXRpb246OnJlYWRlcl9waWQpID49IHNpemVvZihwaWRfdCksCi0gICAgICAgICAgICAgICAgInBpZF90IGlzIHJlYWxseSBiaWciKTsKKyAgICAgICAgICAgICAgICAicGlkX3QgaXMgcmVhbGx5IGJpZz8iKTsKICAgUmVzZXRIYXBwZW5lZCgpOwogfQogCkBAIC0yMywxMiArNDAsMjAgQEAKICAgICA6OmFvczo6dGltZTo6VGltZSBuZXh0X3RpbWVvdXQgPSBsYXN0X3JlY2VpdmVkX3RpbWVfICsga1RpbWVvdXQ7CiAgICAgaWYgKG5leHRfdGltZW91dCA8PSA6OmFvczo6dGltZTo6VGltZTo6Tm93KCkpIHsKICAgICAgIExPRyhXQVJOSU5HLCAidG9vIGxvbmcgc2luY2UgZ29vZCBwYWNrZXQgcmVjZWl2ZWRcbiIpOwotICAgICAgUmVzZXQoZmFsc2UpOworICAgICAgbWFuYWdlcl8uUmVzZXQoKTsKKyAgICAgIFJlc2V0SGFwcGVuZWQoKTsKICAgICB9CiAgICAgaWYgKHBhY2tldF9maW5kZXJfLlJlYWRQYWNrZXQobmV4dF90aW1lb3V0KSkgewogICAgICAgbGFzdF9yZWNlaXZlZF90aW1lXyA9IDo6YW9zOjp0aW1lOjpUaW1lOjpOb3coKTsKICAgICAgIGNvbnN0IERhdGFTdHJ1Y3QgKmRhdGEgPSBwYWNrZXRfZmluZGVyXy5nZXRfcGFja2V0PERhdGFTdHJ1Y3Q+KCk7Ci0gICAgICAvLyBUT0RPKGJyaWFucyk6IENoZWNrIHRoZSBmbGFzaCBjaGVja3N1bSBhbmQgcmVmbGFzaCBpdCBpZiBuZWNlc3NhcnkuCisgICAgICBpZiAoZGF0YS0+Zmxhc2hfY2hlY2tzdW0gIT0gZXhwZWN0ZWRfY2hlY2tzdW1fKSB7CisgICAgICAgIExPRyhXQVJOSU5HLCAiQ2FwZSBjb2RlIGNoZWNrc3VtIGlzICUiIFBSSXUzMiAiLiBFeHBlY3RlZCAlIiBQUkl1MzIKKyAgICAgICAgICAgICAgICAgICAgICIuIFJlZmxhc2hpbmcuXG4iLAorICAgICAgICAgICAgZGF0YS0+Zmxhc2hfY2hlY2tzdW0sIGV4cGVjdGVkX2NoZWNrc3VtXyk7CisgICAgICAgIG1hbmFnZXJfLkRvd25sb2FkSGV4KGhleF9maWxlbmFtZV8pOworICAgICAgICBSZXNldEhhcHBlbmVkKCk7CisgICAgICAgIGNvbnRpbnVlOworICAgICAgfQogICAgICAgaWYgKGRhdGEtPnRpbWVzdGFtcCA8IGxhc3RfY2FwZV90aW1lc3RhbXBfKSB7CiAgICAgICAgIExPRyhXQVJOSU5HLCAiY2FwZSB0aW1lc3RhbXAgZGVjcmVhc2VkOiAlIiBQUkl1NjQgIiB0byAlIiBQUkl1NjQgIlxuIiwKICAgICAgICAgICAgIGxhc3RfY2FwZV90aW1lc3RhbXBfLCBkYXRhLT50aW1lc3RhbXApOwpAQCAtNDUsMTIgKzcwLDYgQEAKICAgcmV0dXJuIDo6YW9zOjp0aW1lOjpUaW1lOjpJblVTKGxhc3RfY2FwZV90aW1lc3RhbXBfICogMTApOwogfQogCi12b2lkIFNlbnNvclJlYWRlcjo6UmVzZXQoYm9vbCByZWZsYXNoKSB7Ci0gIExPRyhJTkZPLCAiUmVzZXQoJXMpXG4iLCByZWZsYXNoID8gInRydWUiIDogImZhbHNlIik7Ci0gIC8vIFRPRE8oYnJpYW5zKTogQWN0dWFsbHkgcmVzZXQgaXQgYW5kIG1heWJlIHJlZmxhc2ggaXQuCi0gIFJlc2V0SGFwcGVuZWQoKTsKLX0KLQogdm9pZCBTZW5zb3JSZWFkZXI6OlJlc2V0SGFwcGVuZWQoKSB7CiAgIHNlbnNvcl9nZW5lcmF0aW9uLk1ha2VXaXRoQnVpbGRlcigpLnJlYWRlcl9waWQoZ2V0cGlkKCkpCiAgICAgICAuY2FwZV9yZXNldHMoY2FwZV9yZXNldHNfKyspLlNlbmQoKTsKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9iYmIvc2Vuc29yX3JlYWRlci5oIGIvYmJiX2NhcGUvc3JjL2JiYi9zZW5zb3JfcmVhZGVyLmgKaW5kZXggNzIyZGZlMy4uNDhjODYzYSAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi9zZW5zb3JfcmVhZGVyLmgKKysrIGIvYmJiX2NhcGUvc3JjL2JiYi9zZW5zb3JfcmVhZGVyLmgKQEAgLTEsMTQgKzEsMTYgQEAKICNpZm5kZWYgQkJCX0NBUEVfU1JDX0JCQl9TRU5TT1JfUkVBREVSX0hfCiAjZGVmaW5lIEJCQl9DQVBFX1NSQ19CQkJfU0VOU09SX1JFQURFUl9IXwogCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKICNpbmNsdWRlIDxzdHJpbmc+CiAKICNpbmNsdWRlICJhb3MvY29tbW9uL3RpbWUuaCIKICNpbmNsdWRlICJhb3MvY29tbW9uL21hY3Jvcy5oIgogCi0jaW5jbHVkZSAiYmJiL3VhcnRfcmVhZGVyLmgiCiAjaW5jbHVkZSAiYmJiL3BhY2tldF9maW5kZXIuaCIKICNpbmNsdWRlICJiYmIvZGF0YV9zdHJ1Y3QuaCIKKyNpbmNsdWRlICJiYmIvY2FwZV9tYW5hZ2VyLmgiCiAKIG5hbWVzcGFjZSBiYmIgewogCkBAIC0yMyw3ICsyNSw3IEBACiAKICAgLy8gY2FwZV9jb2RlIGlzIHRoZSBuYW1lIG9mIHRoZSBjb2RlIHRoYXQgc2hvdWxkIGJlIGRlcGxveWVkIHRvIHRoZSBjYXBlIGlmCiAgIC8vIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUuCi0gIFNlbnNvclJlYWRlcihjb25zdCA6OnN0ZDo6c3RyaW5nICZjYXBlX2NvZGUpOworICBleHBsaWNpdCBTZW5zb3JSZWFkZXIoY29uc3QgOjpzdGQ6OnN0cmluZyAmY2FwZV9jb2RlKTsKIAogICAvLyBSZWFkcyBpbiAxIGRhdGEgcGFja2V0LCBoYW5kbGVzIHRoZSBneXJvIGRhdGEgaW4gaXQsIGFuZCByZXR1cm5zIGEgcG9pbnRlcgogICAvLyB0byBpdC4KQEAgLTM4LDkgKzQwLDEzIEBACiAgIC8vIENhbGxlZCBhZnRlciBhIHJlc2V0IGhhcHBlbnMuCiAgIHZvaWQgUmVzZXRIYXBwZW5lZCgpOwogCi0gIFVhcnRSZWFkZXIgcmVhZGVyXzsKKyAgY29uc3QgOjpzdGQ6OnN0cmluZyBoZXhfZmlsZW5hbWVfOworCisgIENhcGVNYW5hZ2VyIG1hbmFnZXJfOwogICBQYWNrZXRGaW5kZXIgcGFja2V0X2ZpbmRlcl87CiAKKyAgY29uc3QgdWludDMyX3QgZXhwZWN0ZWRfY2hlY2tzdW1fOworCiAgIGludCBjYXBlX3Jlc2V0c18gPSAwOwogICA6OmFvczo6dGltZTo6VGltZSBsYXN0X3JlY2VpdmVkX3RpbWVfID0gOjphb3M6OnRpbWU6OlRpbWU6OkluU2Vjb25kcygwKTsKICAgdWludDY0X3QgbGFzdF9jYXBlX3RpbWVzdGFtcF87CmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL3VhcnRfcmVhZGVyLmNjIGIvYmJiX2NhcGUvc3JjL2JiYi91YXJ0X3JlYWRlci5jYwppbmRleCBjZWJlMTI3Li5hODJmYWExIDEwMDY0NAotLS0gYS9iYmJfY2FwZS9zcmMvYmJiL3VhcnRfcmVhZGVyLmNjCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvdWFydF9yZWFkZXIuY2MKQEAgLTgsMTEgKzgsMTEgQEAKICNpbmNsdWRlICJhb3MvY29tbW9uL2xvZ2dpbmcvbG9nZ2luZy5oIgogCiAvLyBUaGlzIGlzIHRoZSBjb2RlIGZvciByZWNlaXZpbmcgZGF0YSBmcm9tIHRoZSBjYXBlIHZpYSBVQVJULgotLy8gTk9URTogSW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yaywgeW91IE1VU1QgSEFWRQotLy8gImNhcGVtZ3IuZW5hYmxlX3BhcnRubz1CQl9VQVJUMSIKLS8vIGluIHlvdXIgQkJCJ3MgL21lZGlhL0JFQUdMRUJPTkUvdUVudi50eHQgZmlsZSEKLS8vIGBzdSAtYyAiZWNobyBCQi1VQVJUMSA+IC9zeXMvZGV2aWNlcy9ib25lX2NhcGVtZ3IuKi9zbG90cyJgIHdvcmtzIHRvbywgYnV0Ci0vLyB5b3UgaGF2ZSB0byBkbyBpdCBldmVyeSB0aW1lLgorLy8gTk9URTogSW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yaywgeW91IG11c3QgaGF2ZSB0aGUgQkItVUFSVDEgZGV2aWNlIHRyZWUKKy8vIGZyYWdtZW50IGFjdGl2ZS4KKy8vIGBzdSAtYyAiZWNobyBCQi1VQVJUMSA+IC9zeXMvZGV2aWNlcy9ib25lX2NhcGVtZ3IuKi9zbG90cyJgIHdvcmtzLCBidXQKKy8vIHlvdSBoYXZlIHRvIGRvIGl0IGV2ZXJ5IHRpbWUuIEl0IGlzIGFsc28gcG9zc2libGUgdG8gc2V0IGl0IHVwIHRvIGRvIHRoYXQKKy8vIGV2ZXJ5IHRpbWUgaXQgYm9vdHMuCiAKIG5hbWVzcGFjZSBiYmIgewogbmFtZXNwYWNlIHsKQEAgLTUzLDcgKzUzLDcgQEAKICAgaWYgKGZkXyA+IDApIGNsb3NlKGZkXyk7CiB9CiAKLXNzaXplX3QgVWFydFJlYWRlcjo6UmVhZEJ5dGVzKEFsaWduZWRDaGFyICpkZXN0LCBzaXplX3QgbWF4X2J5dGVzLAorc3NpemVfdCBVYXJ0UmVhZGVyOjpSZWFkQnl0ZXModWludDhfdCAqZGVzdCwgc2l6ZV90IG1heF9ieXRlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IDo6YW9zOjp0aW1lOjpUaW1lICZ0aW1lb3V0X3RpbWUpIHsKICAgZG8gewogICAgIDo6YW9zOjp0aW1lOjpUaW1lIHRpbWVvdXQgPSB0aW1lb3V0X3RpbWUgLSA6OmFvczo6dGltZTo6VGltZTo6Tm93KCk7CkBAIC03Niw0ICs3NiwxNCBAQAogICByZXR1cm4gLTE7CiB9CiAKK2Jvb2wgVWFydFJlYWRlcjo6V3JpdGVCeXRlcyh1aW50OF90ICpieXRlcywgc2l6ZV90IG51bWJlcl9ieXRlcykgeworICBzaXplX3Qgd3JpdHRlbiA9IDA7CisgIHdoaWxlICh3cml0dGVuIDwgbnVtYmVyX2J5dGVzKSB7CisgICAgc3NpemVfdCByID0gd3JpdGUoZmRfLCAmYnl0ZXNbd3JpdHRlbl0sIG51bWJlcl9ieXRlcyAtIHdyaXR0ZW4pOworICAgIGlmIChyID09IC0xKSByZXR1cm4gZmFsc2U7CisgICAgd3JpdHRlbiArPSByOworICB9CisgIHJldHVybiB0cnVlOworfQorCiB9ICAvLyBuYW1lc3BhY2UgYmJiCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvYmJiL3VhcnRfcmVhZGVyLmggYi9iYmJfY2FwZS9zcmMvYmJiL3VhcnRfcmVhZGVyLmgKaW5kZXggYzQ0MTE2Ny4uYTZjZjM0YyAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2JiYi91YXJ0X3JlYWRlci5oCisrKyBiL2JiYl9jYXBlL3NyYy9iYmIvdWFydF9yZWFkZXIuaApAQCAtOCwxNyArOCwxOCBAQAogI2luY2x1ZGUgImFvcy9jb21tb24vdGltZS5oIgogI2luY2x1ZGUgImFvcy9jb21tb24vbWFjcm9zLmgiCiAKLSNpbmNsdWRlICJiYmIvYnl0ZV9yZWFkZXIuaCIKKyNpbmNsdWRlICJiYmIvYnl0ZV9pby5oIgogCiBuYW1lc3BhY2UgYmJiIHsKIAotY2xhc3MgVWFydFJlYWRlciA6IHB1YmxpYyBCeXRlUmVhZGVyIHsKK2NsYXNzIFVhcnRSZWFkZXIgOiBwdWJsaWMgQnl0ZVJlYWRlcldyaXRlckludGVyZmFjZSB7CiAgcHVibGljOgotICBVYXJ0UmVhZGVyKGludDMyX3QgYmF1ZF9yYXRlKTsKKyAgZXhwbGljaXQgVWFydFJlYWRlcihpbnQzMl90IGJhdWRfcmF0ZSk7CiAgIHZpcnR1YWwgflVhcnRSZWFkZXIoKTsKIAotICB2aXJ0dWFsIHNzaXplX3QgUmVhZEJ5dGVzKEFsaWduZWRDaGFyICpkZXN0LCBzaXplX3QgbWF4X2J5dGVzLAorICB2aXJ0dWFsIHNzaXplX3QgUmVhZEJ5dGVzKHVpbnQ4X3QgKmRlc3QsIHNpemVfdCBtYXhfYnl0ZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgOjphb3M6OnRpbWU6OlRpbWUgJnRpbWVvdXRfdGltZSkgb3ZlcnJpZGU7CisgIHZpcnR1YWwgYm9vbCBXcml0ZUJ5dGVzKHVpbnQ4X3QgKmJ5dGVzLCBzaXplX3QgbnVtYmVyX2J5dGVzKSBvdmVycmlkZTsKIAogIHByaXZhdGU6CiAgIGNvbnN0IGludCBmZF87CmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvY2FwZS9NYWtlZmlsZSBiL2JiYl9jYXBlL3NyYy9jYXBlL01ha2VmaWxlCmluZGV4IDI5NzFlODguLmNlNjVmOGIgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9jYXBlL01ha2VmaWxlCisrKyBiL2JiYl9jYXBlL3NyYy9jYXBlL01ha2VmaWxlCkBAIC01Myw2ICs1Myw4IEBACiAJdWFydF9jb21tb24gXAogCXVhcnRfYnl0ZSBcCiAJbGVkIFwKKwlib290bG9hZGVyX2ltcGwgXAorCWNyYyBcCiAKIE9CSkVDVFNfbWFpbl90ZXN0IDo9ICQoT0JKRUNUU19tYWluX2NvbW1vbikgXAogCXJvYm90X3Rlc3QgXApkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlci5jIGIvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlci5jCmluZGV4IDM1NjIyNTIuLjM5ZjMwODAgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9jYXBlL2Jvb3Rsb2FkZXIuYworKysgYi9iYmJfY2FwZS9zcmMvY2FwZS9ib290bG9hZGVyLmMKQEAgLTQsNiArNCwxMSBAQAogCiAjaW5jbHVkZSAiY2FwZS9ib290bG9hZGVyX2hhbmRvZmYuaCIKICNpbmNsdWRlICJjYXBlL2xlZC5oIgorI2luY2x1ZGUgImNhcGUvdXRpbC5oIgorCisvLyBBY3R1YWxseSBydW5zIHRoZSBib290bG9hZGVyIGNvZGUuCisvLyBJbXBsZW1lbnRlZCBpbiBib290bG9hZGVyX2ltcGwuYy4KK3ZvaWQgYm9vdGxvYWRlcl9zdGFydCh2b2lkKSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpOwogCiAvLyBTZXRzIGV2ZXJ5dGhpbmcgdXAgYW5kIHRoZW4ganVtcHMgdG8gdGhlIG1haW4gY29kZS4KIHN0YXRpYyB2b2lkIGp1bXBfdG9fbWFpbih2b2lkKSBfX2F0dHJpYnV0ZV9fKChub3JldHVybikpOwpAQCAtNTQsMTEgKzU5LDEzIEBACiAKIHZvaWQgX3N0YXJ0KHZvaWQpIHsKICAgLy8gRW5hYmxlIHRoZSBHUElPIHBpbiBjbG9ja3MuCi0gIC8vIFdlIGRvbid0IGhhdmUgYW55dGhpbmcgb24gdGhlIDEgcG9ydCBEIHBpbiwgc28gZG9uJ3QgYm90aGVyIGVuYWJsaW5nIGl0LgorICAvLyBXZSBkb24ndCBoYXZlIGFueXRoaW5nIGF0dGFjaGVkIHRvIHRoZSAxIHBvcnQgRCBwaW4sIHNvIGRvbid0IGJvdGhlcgorICAvLyBlbmFibGluZyBpdC4KICAgUkNDLT5BSEIxRU5SIHw9CiAgICAgICBSQ0NfQUhCMUVOUl9HUElPQUVOIHwgUkNDX0FIQjFFTlJfR1BJT0JFTiB8IFJDQ19BSEIxRU5SX0dQSU9DRU47CiAgIGxlZF9pbml0KCk7CiAgIGxlZF9zZXQoTEVEX0hCLCAxKTsKKyAgZ3Bpb19zZXRfcHVwZChHUElPQywgMiwgMik7CiAKICAgc2V0dXBfbWFpbl9jbG9jaygpOwogCkBAIC02Niw1ICs3Myw5IEBACiAgIFNZU0NGRy0+Q01QQ1IgfD0gU1lTQ0ZHX0NNUENSX0NNUF9QRDsgIC8vIGVuYWJsZSBJTyBjb21wZW5zYXRpb24gY2VsbAogICB3aGlsZSAoIShTWVNDRkctPkNNUENSICYgU1lTQ0ZHX0NNUENSX1JFQURZKSkge30gIC8vIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5CiAKLSAganVtcF90b19tYWluKCk7CisgIGlmIChHUElPQy0+SURSICYgKDEgPDwgMikpIHsKKyAgICBib290bG9hZGVyX3N0YXJ0KCk7CisgIH0gZWxzZSB7CisgICAganVtcF90b19tYWluKCk7CisgIH0KIH0KZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9jYXBlL2Jvb3Rsb2FkZXJfaGFuZG9mZi5oIGIvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlcl9oYW5kb2ZmLmgKaW5kZXggMWU0OGU5MC4uMzgwNGQ5NyAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlcl9oYW5kb2ZmLmgKKysrIGIvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlcl9oYW5kb2ZmLmgKQEAgLTksNiArOSwxMCBAQAogLy8gV2hlcmUgdGhlIG1haW4gY29kZSdzIGZsYXNoIHN0YXJ0cy4KICNkZWZpbmUgTUFJTl9GTEFTSF9TVEFSVCBCT09UTE9BREVSX0ZMQVNIX1NJWkUKIAorI2RlZmluZSBNQUlOX0ZMQVNIX1NUQVJUX1NFQ1RPUiAxCisjZGVmaW5lIE1BSU5fRkxBU0hfRU5EX1NFQ1RPUiAxMQorI2RlZmluZSBNQUlOX0ZMQVNIX0VORCAweDEwMDAwMAorCiAjZGVmaW5lIFJBTV9TVEFSVCAweDIwMDAwMDAwCiAjZGVmaW5lIFJBTV9TSVpFIDB4MjAwMDAKIApkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlcl9pbXBsLmMgYi9iYmJfY2FwZS9zcmMvY2FwZS9ib290bG9hZGVyX2ltcGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWQyOGIxCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2NhcGUvYm9vdGxvYWRlcl9pbXBsLmMKQEAgLTAsMCArMSwxMDIgQEAKKyNpbmNsdWRlICJjYXBlL2Jvb3Rsb2FkZXJfaGFuZG9mZi5oIgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJjYXBlL3VhcnRfYnl0ZS5oIgorI2luY2x1ZGUgImNhcGUvdWFydF9jb21tb24uaCIKKyNpbmNsdWRlICJjYXBlL2NyYy5oIgorI2luY2x1ZGUgImNhcGUvdXRpbC5oIgorCisvLyBUaGUgcHJvdG9jb2wgaXMgcHJldHR5IHNpbXBsZS4gQmFzaWNhbGx5LCB3aGVuIHRoZSBib290bG9hZGVyIGlzIHN0YXJ0ZWQsIGl0CisvLyBleHBlY3RzIHJlcGVhdGVkICJwYWNrZXRzIiBvZiBkYXRhIHRvIHdyaXRlLiBJdCBzdGFydHMgYXQgTUFJTl9GTEFTSF9TVEFSVCwKKy8vIGVyYXNlcyBmcm9tIE1BSU5fRkxBU0hfU1RBUlRfU0VDVE9SIHRvIE1BSU5fRkxBU0hfRU5EX1NFQ1RPUiwgYW5kIGtlZXBzCisvLyB3cml0aW5nIHVudGlsIE1BSU5fRkxBU0hfRU5EIChpZiBpdCBnZXRzIGRhdGEpLgorLy8KKy8vIFRoZSBib290bG9hZGVyIHNlbmRzIGEgTkFDSyB3aGVuIGl0IGlzIGZpcnN0IHJlYWR5IHRvIHJlY2VpdmUgYnl0ZXMuIEl0IHRoZW4KKy8vIGV4cGVjdHMgREFUQV9CWVRFUy1zaXplZCBwYWNrZXRzICgrIHRoZSBjaGVja3N1bSBjYWxjdWxhdGVkIHdpdGggdGhlIHN0YW5kYXJkCisvLyBDUkMgYWxnb3JpdGhtKS4gV2hlbiBpdCBzdWNjZXNzZnVsbHkgcmVjZWl2ZXMgb25lIGFuZCB3cml0ZXMgaXQgb3V0LCBpdCBzZW5kcworLy8gQUNLLiBJZiBpdCBoYXMgYW55IGVycm9ycywgaXQgd2FpdHMgdW50aWwgdGhlcmUncyBhIDEtc2Vjb25kIGdhcCAob3IgaXQKKy8vIHJlY2VpdmVzIGFsbCB0aGUgYnl0ZXMgYW5kIHNlZXMgYSBjaGVja3N1bSBlcnJvcikgYW5kIHRoZW4gc2VuZHMgYSBOQUNLLgorCisjZGVmaW5lIERBVEFfQllURVMgMjU2CisKKyNkZWZpbmUgQUNLIDB4NzkKKyNkZWZpbmUgTkFDSyAweDFGCisKK3N0YXRpYyB2b2lkIHByb2Nlc3NfYnVmZmVyKHVpbnQzMl90ICpidWZmZXIpIHsKKyAgc3RhdGljIHVpbnQzMl90ICpvdXRfcG9pbnRlciA9ICh1aW50MzJfdCAqKU1BSU5fRkxBU0hfU1RBUlQ7CisgIGlmICgob3V0X3BvaW50ZXIgKyBEQVRBX0JZVEVTIC8gNCkgPj0gKHVpbnQzMl90ICopTUFJTl9GTEFTSF9FTkQpIHJldHVybjsKKworICB3aGlsZSAoRkxBU0gtPlNSICYgRkxBU0hfU1JfQlNZKSB7fQorICBGTEFTSC0+Q1IgfD0gRkxBU0hfQ1JfUEc7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgKERBVEFfQllURVMgLyA0KTsgKytpKSB7CisgICAgKihvdXRfcG9pbnRlcisrKSA9IGJ1ZmZlcltpXTsKKyAgfQorICB3aGlsZSAoRkxBU0gtPlNSICYgRkxBU0hfU1JfQlNZKSB7fQorICBGTEFTSC0+Q1IgJj0gfkZMQVNIX0NSX1BHOworfQorCitfX2F0dHJpYnV0ZV9fKChub3JldHVybikpIHZvaWQgYm9vdGxvYWRlcl9zdGFydCh2b2lkKSB7CisgIGNyY19pbml0KCk7CisKKyAgLy8gVW5sb2NrIHRoZSBmbGFzaCBzbyB3ZSBjYW4gcHJvZ3JhbSBpdC4KKyAgRkxBU0gtPktFWVIgPSAweDQ1NjcwMTIzOworICBGTEFTSC0+S0VZUiA9IDB4Q0RFRjg5QUI7CisgIHdoaWxlIChGTEFTSC0+Q1IgJiBGTEFTSF9DUl9MT0NLKSB7fQorCisgIEZMQVNILT5DUiA9CisgICAgICAoRkxBU0gtPkNSICYgfihGTEFTSF9DUl9QU0laRV8wIHwgRkxBU0hfQ1JfUFNJWkVfMSkpIHwgRkxBU0hfQ1JfUFNJWkVfMTsKKworICBGTEFTSC0+Q1IgfD0gRkxBU0hfQ1JfU0VSOworICBmb3IgKGludCBpID0gTUFJTl9GTEFTSF9TVEFSVF9TRUNUT1I7IGkgPD0gTUFJTl9GTEFTSF9FTkRfU0VDVE9SOyArK2kpIHsKKyAgICB3aGlsZSAoRkxBU0gtPlNSICYgRkxBU0hfU1JfQlNZKSB7fQorICAgIEZMQVNILT5DUiA9IChGTEFTSC0+Q1IgJiB+KEZMQVNIX0NSX1NOQl8wIHwgRkxBU0hfQ1JfU05CXzEgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIX0NSX1NOQl8yIHwgRkxBU0hfQ1JfU05CXzMpKSB8CisgICAgICAgICAgICAgICAgaSA8PCAzOworICAgIEZMQVNILT5DUiB8PSBGTEFTSF9DUl9TVFJUOworICAgIHdoaWxlIChGTEFTSC0+Q1IgJiBGTEFTSF9TUl9CU1kpIHt9CisgIH0KKyAgRkxBU0gtPkNSICY9IH5GTEFTSF9DUl9TRVI7CisKKyAgdWFydF9jb21tb25fY29uZmlndXJlKDExNTIwMCk7CisgIHVhcnRfYnl0ZV9jb25maWd1cmUoKTsKKworICB1aW50OF90IGJ1ZmZlcltEQVRBX0JZVEVTICsgNF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg0KSkpOworICAvLyBXaGV0aGVyIHdlJ3ZlIGFscmVhZHkgZW5jb3VudGVyZWQgYW4gZXJyb3IgaW4gdGhpcyBibG9jayBvciBub3QuCisgIGludCBlcnJvciA9IDA7CisgIGludCBieXRlc19yZWNlaXZlZCA9IDA7CisKKyAgdWFydF9ieXRlX3NlbmQoTkFDSyk7CisKKyAgd2hpbGUgKDEpIHsKKyAgICAvLyBSZWNlaXZlIHdpdGggYSAxIHNlY29uZCB0aW1lb3V0LgorICAgIGludCByZWNlaXZlZCA9IHVhcnRfYnl0ZV9yZWNlaXZlKDYwMDAwLCAxMDAwIC0gMSk7CisgICAgaWYgKHJlY2VpdmVkIDwgMCkgeworICAgICAgaWYgKHJlY2VpdmVkID09IC0xKSB7CisgICAgICAgIHVhcnRfYnl0ZV9zZW5kKE5BQ0spOworICAgICAgICBlcnJvciA9IDA7CisgICAgICAgIGJ5dGVzX3JlY2VpdmVkID0gMDsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGVycm9yID0gMTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeyAgLy8gc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGEgYnl0ZQorICAgICAgaWYgKGVycm9yID09IDApIHsKKyAgICAgICAgYnVmZmVyW2J5dGVzX3JlY2VpdmVkKytdID0gKHVpbnQ4X3QpcmVjZWl2ZWQ7CisgICAgICAgIGlmIChieXRlc19yZWNlaXZlZCA9PSBzaXplb2YoYnVmZmVyKSkgeworICAgICAgICAgIGJ5dGVzX3JlY2VpdmVkID0gMDsKKyAgICAgICAgICB1aW50MzJfdCBjaGVja3N1bTsKKyAgICAgICAgICBtZW1jcHkoJmNoZWNrc3VtLCAmYnVmZmVyW0RBVEFfQllURVNdLCA0KTsKKyAgICAgICAgICB1aW50MzJfdCAqYnVmZmVyMzI7CisgICAgICAgICAgdWludDhfdCAqYnVmZmVyOCA9IGJ1ZmZlcjsKKyAgICAgICAgICBtZW1jcHkoJmJ1ZmZlcjMyLCAmYnVmZmVyOCwgNCk7CisgICAgICAgICAgaWYgKGNyY19jYWxjdWxhdGUoYnVmZmVyMzIsIERBVEFfQllURVMgLyA0KSAhPSBjaGVja3N1bSkgeworICAgICAgICAgICAgdWFydF9ieXRlX3NlbmQoTkFDSyk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHByb2Nlc3NfYnVmZmVyKGJ1ZmZlcjMyKTsKKyAgICAgICAgICAgIHVhcnRfYnl0ZV9zZW5kKEFDSyk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9Cit9CmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvY2FwZS91YXJ0X2J5dGUuYyBiL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5jCmluZGV4IGNmY2YxYmYuLjJjZDk1YjQgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5jCisrKyBiL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5jCkBAIC0yNCw4ICsyNCwxNSBAQAogICAgIH0KICAgfQogCisgIGludCByID0gVUFSVC0+RFI7ICAvLyBkbyBpdCBub3cgdG8gY2xlYXIgaW50ZXJydXB0cyBldGMKKworICBpZiAoVUFSVC0+U1IgJiBVU0FSVF9TUl9QRSkgciA9IC0yOworICBpZiAoVUFSVC0+U1IgJiBVU0FSVF9TUl9GRSkgciA9IC0zOworICBpZiAoVUFSVC0+U1IgJiBVU0FSVF9TUl9ORSkgciA9IC00OworICBpZiAoVUFSVC0+U1IgJiBVU0FSVF9TUl9PUkUpIHIgPSAtNTsKKwogICBUSU1FT1VUX1RJTS0+Q1IxICY9IH5USU1fQ1IxX0NFTjsKLSAgcmV0dXJuIFVBUlQtPkRSOworICByZXR1cm4gcjsKIH0KIAogdm9pZCB1YXJ0X2J5dGVfc2VuZCh1aW50OF90IHZhbHVlKSB7CmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvY2FwZS91YXJ0X2J5dGUuaCBiL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5oCmluZGV4IGUwMzdlMzYuLjM0MjNkN2EgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5oCisrKyBiL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfYnl0ZS5oCkBAIC04LDcgKzgsMTMgQEAKIAogLy8gU3BpbnMgdW50aWwgMSBieXRlIGlzIHJlY2VpdmVkIG9yIHNvbWUgYW1vdW50IG9mIHRpbWUuIFRoZSB0aW1lb3V0IGlzCiAvLyB0aW1lb3V0X2NvdW50Kih0aW1lb3V0X2RpdmlkZXIrMSkvNjBNSHouCi0vLyBUaGUgcmVzdWx0IGlzIDwwIGZvciB0aW1lb3V0IG9yIHRoZSByZWNlaXZlZCBieXRlLgorLy8gVGhlIHJlc3VsdCBpcyA8MCBmb3IgdGltZW91dC9lcnJvciBvciB0aGUgcmVjZWl2ZWQgYnl0ZS4KKy8vIGVycm9yczoKKy8vICAgLTEgIHRpbWVvdXQKKy8vICAgLTIgIHBhcml0eQorLy8gICAtMyAgZnJhbWluZworLy8gICAtNCAgbm9pc2UgZGV0ZWN0ZWQKKy8vICAgLTUgIG92ZXJydW4KIGludCB1YXJ0X2J5dGVfcmVjZWl2ZSh1aW50MTZfdCB0aW1lb3V0X2NvdW50LCB1aW50MTZfdCB0aW1lb3V0X2RpdmlkZXIpOwogCiAvLyBTcGlucyB1bnRpbCAxIGJ5dGUgY2FuIGJlIHdyaXR0ZW4gb3V0LgpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2NhcGUvdWFydF9jb21tb24uYyBiL2JiYl9jYXBlL3NyYy9jYXBlL3VhcnRfY29tbW9uLmMKaW5kZXggMDNkNGNkZC4uZjIyYzU5NyAxMDA2NDQKLS0tIGEvYmJiX2NhcGUvc3JjL2NhcGUvdWFydF9jb21tb24uYworKysgYi9iYmJfY2FwZS9zcmMvY2FwZS91YXJ0X2NvbW1vbi5jCkBAIC0xMyw2ICsxMywxMiBAQAogICBncGlvX3NldHVwX2FsdChHUElPQSwgMTAsIDcpOwogICBSQ0MtPkFQQjJFTlIgfD0gUkNDX0FQQjJFTlJfVUFSVEVOOwogCisgIFVBUlQtPkNSMSA9CisgICAgICAvL1VTQVJUX0NSMV9NIC8qIDl0aCBiaXQgZm9yIHRoZSBwYXJpdHkgKi8gfAorICAgICAgLy9VU0FSVF9DUjFfUENFIC8qIGVuYWJsZSBwYXJpdHkgKGV2ZW4gYnkgZGVmYXVsdCkgKi8gfAorICAgICAgLy9VU0FSVF9DUjFfT1ZFUjggLyogc3VwcG9ydCBnb2luZyBmYXN0ZXIgKi8gfAorICAgICAgMDsKKwogICAvLyBiYXVkID0gNjBNSHogLyBrTXVsdGlwbGllciAqICh3aG9sZV9wYXJ0ICsgZnJhY3Rpb24gLyBrTXVsdGlwbGllcikpCiAgIHN0YXRpYyBjb25zdCBpbnQga011bHRpcGxpZXIgPSAxNiAvKiA4ICogKDIgLSBPVkVSOCkgKi87CiAgIC8vIFRoZSBkaXZpc29yIG9mIEZQQ0xLIHRoYXQgd2Ugd2FudCAoKjIpLgpAQCAtMjIsMTAgKzI4LDYgQEAKICAgLy8gVGhlIGZyYWN0aW9uYWwgcGFydCBvZiB0aGUgZGl2aXNvciAoKjIpLgogICBpbnQgZnJhY3Rpb24gPSBkaXZpc29yICUgKGtNdWx0aXBsaWVyICogMik7CiAgIFVBUlQtPkJSUiA9IChtYW50aXNzYSA8PCA0KSB8ICgoZnJhY3Rpb24gKyAxKSAvIDIpOwotICBVQVJULT5DUjEgPQotICAgICAgLy9VU0FSVF9DUjFfTSAvKiA5dGggYml0IGZvciB0aGUgcGFyaXR5ICovIHwKLSAgICAgIC8vVVNBUlRfQ1IxX1BDRSAvKiBlbmFibGUgcGFyaXR5IChldmVuIGJ5IGRlZmF1bHQpICovIHwKLSAgICAgIC8vVVNBUlRfQ1IxX09WRVI4IC8qIHN1cHBvcnQgZ29pbmcgZmFzdGVyICovIHwKLSAgICAgIDA7CisKICAgVUFSVC0+Q1IxIHw9IFVTQVJUX0NSMV9VRTsgIC8vIGVuYWJsZSBpdAogfQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2NhcGUvdXRpbC5oIGIvYmJiX2NhcGUvc3JjL2NhcGUvdXRpbC5oCmluZGV4IGQxOWE3ZTkuLjkxODhhZGIgMTAwNjQ0Ci0tLSBhL2JiYl9jYXBlL3NyYy9jYXBlL3V0aWwuaAorKysgYi9iYmJfY2FwZS9zcmMvY2FwZS91dGlsLmgKQEAgLTU3LDYgKzU3LDExIEBACiAgIFNFVF9CSVRTKHBvcnQtPk1PREVSLCAyLCAwIC8qIGlucHV0ICovLCBwaW4pOwogfQogCisvLyBkaXI6IDAgPT4gbm9uZSwgMSA9PiB1cCwgMiA9PiBkb3duCitzdGF0aWMgaW5saW5lIHZvaWQgZ3Bpb19zZXRfcHVwZChHUElPX1R5cGVEZWYgKnBvcnQsIGludCBwaW4sIGludCBkaXIpIHsKKyAgU0VUX0JJVFMocG9ydC0+UFVQRFIsIDIsIGRpciwgcGluKTsKK30KKwogLy8gZXh0aSBpcyB3aGljaCBFWFRJIGxpbmUgdG8gc2V0CiAvLyBwb3J0IGlzIDAgZm9yIEEsIDEgZm9yIEIsIGV0Ywogc3RhdGljIGlubGluZSB2b2lkIEVYVElfc2V0KGludCBleHRpLCBpbnQgcG9ydCkgewpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2ZsYXNoZXIvLmdpdGlnbm9yZSBiL2JiYl9jYXBlL3NyYy9mbGFzaGVyLy5naXRpZ25vcmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjNjY1ZTAuLjAwMDAwMDAKLS0tIGEvYmJiX2NhcGUvc3JjL2ZsYXNoZXIvLmdpdGlnbm9yZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXN0bTMyZmxhc2gvCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvZmxhc2hlci9idWlsZC5zaCBiL2JiYl9jYXBlL3NyYy9mbGFzaGVyL2J1aWxkLnNoCmluZGV4IGVkNDkzN2YuLmVjZjZhMmIgMTAwNzU1Ci0tLSBhL2JiYl9jYXBlL3NyYy9mbGFzaGVyL2J1aWxkLnNoCisrKyBiL2JiYl9jYXBlL3NyYy9mbGFzaGVyL2J1aWxkLnNoCkBAIC0xLDEwICsxLDUgQEAKICMhL2Jpbi9iYXNoCiAKLXNldCAtZQotCiBjZCAkKGRpcm5hbWUgJDApCiAKLVtbIC1kIHN0bTMyZmxhc2ggXV0gfHwgKCBnaXQgY2xvbmUgaHR0cHM6Ly9naXQuZ2l0b3Jpb3VzLm9yZy9zdG0zMmZsYXNoL3N0bTMyZmxhc2guZ2l0IHN0bTMyZmxhc2ggJiYKLQljZCBzdG0zMmZsYXNoICYmIGdpdCBjaGVja291dCA4Mzk5ZmJlMWJhZjJiN2QwOTc3NDY3ODY0NTgwMjFkOTI4OTVkNzFiICkKLQogLi4vLi4vLi4vYW9zL2J1aWxkL2J1aWxkLnNoIGxpbnV4IGZsYXNoZXIuZ3lwIG5vIGZsYXNoZXIgIiRAIgpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2ZsYXNoZXIvZmxhc2hlci5neXAgYi9iYmJfY2FwZS9zcmMvZmxhc2hlci9mbGFzaGVyLmd5cAppbmRleCBjOWUxOTBlLi5kZWE0ZTVjIDEwMDY0NAotLS0gYS9iYmJfY2FwZS9zcmMvZmxhc2hlci9mbGFzaGVyLmd5cAorKysgYi9iYmJfY2FwZS9zcmMvZmxhc2hlci9mbGFzaGVyLmd5cApAQCAtMTQsMjQgKzE0LDkgQEAKICAgICAgICAgJ3N0bTMyX2ZsYXNoZXIuY2MnLAogICAgICAgXSwKICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCi0gICAgICAgICdzdG0zMmZsYXNoJywKKyAgICAgICAgJzwoRVhURVJOQUxTKTpzdG0zMmZsYXNoJywKICAgICAgICAgJzwoQU9TKS9idWlsZC9hb3MuZ3lwOmxvZ2dpbmcnLAogICAgICAgXSwKICAgICB9LAotICAgIHsKLSAgICAgICd0YXJnZXRfbmFtZSc6ICdzdG0zMmZsYXNoJywKLSAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKLSAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAnc3RtMzJmbGFzaC9pbml0LmMnLAotICAgICAgICAnc3RtMzJmbGFzaC9wYXJzZXJzL2hleC5jJywKLSAgICAgICAgJ3N0bTMyZmxhc2gvc2VyaWFsX2NvbW1vbi5jJywKLSAgICAgICAgJ3N0bTMyZmxhc2gvc2VyaWFsX3BsYXRmb3JtLmMnLAotICAgICAgICAnc3RtMzJmbGFzaC91dGlscy5jJywKLSAgICAgICAgJ3N0bTMyZmxhc2gvc3RtMzIuYycsCi0gICAgICBdLAotICAgICAgJ2NmbGFncyc6IFsKLSAgICAgICAgJy1Xbm8tZXJyb3InLAotICAgICAgXSwKLSAgICB9LAogICBdLAogfQpkaWZmIC0tZ2l0IGEvb3V0cHV0L2Rvd25sb2FkZWQvLmdpdGlnbm9yZSBiL291dHB1dC9kb3dubG9hZGVkLy5naXRpZ25vcmUKaW5kZXggNjhkYjNjMS4uZGY5ZmQwMCAxMDA2NDQKLS0tIGEvb3V0cHV0L2Rvd25sb2FkZWQvLmdpdGlnbm9yZQorKysgYi9vdXRwdXQvZG93bmxvYWRlZC8uZ2l0aWdub3JlCkBAIC0yMiwzICsyMiw0IEBACiAvbGliY2RkLTA5NGcudGFyLmd6CiAvbGliY2RkLTA5NGcvCiAvZ21wLTUuMS4zLnRhci5segorL3N0bTMyZmxhc2gtODM5OWZiZTFiYWYyYjdkMDk3NzQ2Nzg2NDU4MDIxZDkyODk1ZDcxYi8KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLnltbCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLnltbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzA2NWVhMi4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy55bWwKKysrIC9kZXYvbnVsbApAQCAtMSw4NzAgKzAsMCBAQAotVmVyc2lvbiAwLjAuMgotCi0tLS0KLU5hbWU6IFJvYm90MjAxMwotQmFzZTogUm9ib3QKLUNoaWxkcmVuOgotLSBOYW1lOiBTdWJzeXN0ZW1zCi0gIEJhc2U6IFN1YnN5c3RlbXMKLSAgQ2hpbGRyZW46Ci0gIC0gTmFtZTogQWlyIENvbXByZXNzb3IKLSAgICBCYXNlOiBTdWJzeXN0ZW0KLSAgICBDaGlsZHJlbjoKLSAgICAtIE5hbWU6IEFpciBDb21wcmVzc29yCi0gICAgICBCYXNlOiBDb21wcmVzc29yCi0gICAgICBDaGlsZHJlbjogW10KLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIFNwaWtlIENoYW5uZWwgKFJlbGF5KTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4J10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBTcGlrZSBDaGFubmVsIChSZWxheSkKLSAgICAgICAgICB2YWxpZGF0b3JzOiBbUmVsYXlPdXRwdXRdCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBTcGlrZSBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogWycxJywgJzInXQotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IFNwaWtlIE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiBbUmVsYXlPdXRwdXRdCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBQcmVzc3VyZSBTd2l0Y2ggTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6IFsnMScsICcyJ10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBQcmVzc3VyZSBTd2l0Y2ggTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6IFtEaWdpdGFsQ2hhbm5lbF0KLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgIFByZXNzdXJlIFN3aXRjaCBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnLCAnMTEnLCAnMTInLAotICAgICAgICAgICAgJzEzJywgJzE0J10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBQcmVzc3VyZSBTd2l0Y2ggQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiBbRGlnaXRhbENoYW5uZWxdCi0gICAgICAgICAgdmFsdWU6ICc1JwotICAgIFByb3BlcnRpZXM6Ci0gICAgICBEZWZhdWx0IENvbW1hbmQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5UeXBlU2VsZWN0aW9uUHJvcGVydHkge2RlZmF1bHQ6IE5vbmUsCi0gICAgICAgIG5hbWU6IERlZmF1bHQgQ29tbWFuZCwgdHlwZTogQ29tbWFuZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IE5vbmV9Ci0gIC0gTmFtZTogRHJpdmUgVHJhaW4KLSAgICBCYXNlOiBTdWJzeXN0ZW0KLSAgICBDaGlsZHJlbjoKLSAgICAtIE5hbWU6IExlZnQgU2hpZnRlcgotICAgICAgQmFzZTogU29sZW5vaWQKLSAgICAgIENoaWxkcmVuOiBbXQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgT3V0cHV0IE1vZHVsZSAoU29sZW5vaWQpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogJmlkMDAxIFsnMScsICcyJ10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChTb2xlbm9pZCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMDIgW1NvbGVub2lkXQotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgT3V0cHV0IENoYW5uZWwgKFNvbGVub2lkKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAwMyBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCddCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogT3V0cHV0IENoYW5uZWwgKFNvbGVub2lkKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICZpZDAwNCBbU29sZW5vaWRdCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgIC0gTmFtZTogUmlnaHQgU2hpZnRlcgotICAgICAgQmFzZTogU29sZW5vaWQKLSAgICAgIENoaWxkcmVuOiBbXQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgT3V0cHV0IE1vZHVsZSAoU29sZW5vaWQpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDAxCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogT3V0cHV0IE1vZHVsZSAoU29sZW5vaWQpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDAyCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBPdXRwdXQgQ2hhbm5lbCAoU29sZW5vaWQpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDAzCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogT3V0cHV0IENoYW5uZWwgKFNvbGVub2lkKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwNAotICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAtIE5hbWU6IFJvYm90IERyaXZlCi0gICAgICBCYXNlOiBSb2JvdCBEcml2ZSA0Ci0gICAgICBDaGlsZHJlbjoKLSAgICAgIC0gTmFtZTogTGVmdCBNb3RvcnMgMSBhbmQgMgotICAgICAgICBCYXNlOiBTcGVlZCBDb250cm9sbGVyCi0gICAgICAgIENoaWxkcmVuOiBbXQotICAgICAgICBQcm9wZXJ0aWVzOgotICAgICAgICAgIE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAmaWQwMDUgWycxJywgJzInXQotICAgICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgICAgdmFsaWRhdG9yczogJmlkMDA2IFtQV01PdXRwdXRdCi0gICAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgICAgVHlwZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogJmlkMDA3IFtWaWN0b3IsIEphZ3VhciwgVGFsb25dCi0gICAgICAgICAgICBkZWZhdWx0OiBWaWN0b3IKLSAgICAgICAgICAgIG5hbWU6IFR5cGUKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICAgIHZhbHVlOiBUYWxvbgotICAgICAgICAgIE91dHB1dCBDaGFubmVsIChQV00pOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAmaWQwMDggWycxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsICcxMCddCi0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChQV00pCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMDkgW1BXTU91dHB1dF0KLSAgICAgICAgICAgIHZhbHVlOiAnNScKLSAgICAgIC0gTmFtZTogTGVmdCBNb3RvciAzCi0gICAgICAgIEJhc2U6IFNwZWVkIENvbnRyb2xsZXIKLSAgICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgICAgT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICAgIGNob2ljZXM6ICppZDAwNQotICAgICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA2Ci0gICAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgICAgVHlwZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDA3Ci0gICAgICAgICAgICBkZWZhdWx0OiBWaWN0b3IKLSAgICAgICAgICAgIG5hbWU6IFR5cGUKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICAgIHZhbHVlOiBUYWxvbgotICAgICAgICAgIE91dHB1dCBDaGFubmVsIChQV00pOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMDgKLSAgICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgICAgbmFtZTogT3V0cHV0IENoYW5uZWwgKFBXTSkKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwOQotICAgICAgICAgICAgdmFsdWU6ICc2JwotICAgICAgLSBOYW1lOiBSaWdodCBNb3RvcnMgMSBhbmQgMgotICAgICAgICBCYXNlOiBTcGVlZCBDb250cm9sbGVyCi0gICAgICAgIENoaWxkcmVuOiBbXQotICAgICAgICBQcm9wZXJ0aWVzOgotICAgICAgICAgIE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMDUKLSAgICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgICAgbmFtZTogT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwNgotICAgICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICAgIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICAgIGNob2ljZXM6ICppZDAwNwotICAgICAgICAgICAgZGVmYXVsdDogVmljdG9yCi0gICAgICAgICAgICBuYW1lOiBUeXBlCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgICB2YWx1ZTogVGFsb24KLSAgICAgICAgICBPdXRwdXQgQ2hhbm5lbCAoUFdNKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDA4Ci0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChQV00pCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDkKLSAgICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAgIC0gTmFtZTogUmlnaHQgTW90b3IgMwotICAgICAgICBCYXNlOiBTcGVlZCBDb250cm9sbGVyCi0gICAgICAgIENoaWxkcmVuOiBbXQotICAgICAgICBQcm9wZXJ0aWVzOgotICAgICAgICAgIE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMDUKLSAgICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgICAgbmFtZTogT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwNgotICAgICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICAgIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICAgIGNob2ljZXM6ICppZDAwNwotICAgICAgICAgICAgZGVmYXVsdDogVmljdG9yCi0gICAgICAgICAgICBuYW1lOiBUeXBlCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgICB2YWx1ZTogVGFsb24KLSAgICAgICAgICBPdXRwdXQgQ2hhbm5lbCAoUFdNKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDA4Ci0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChQV00pCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDkKLSAgICAgICAgICAgIHZhbHVlOiAnMycKLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIFNlbnNpdGl2aXR5OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDAuNSwKLSAgICAgICAgICBuYW1lOiBTZW5zaXRpdml0eSwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDAuNX0KLSAgICAgICAgUmlnaHQgRnJvbnQgTW90b3IgSW52ZXJ0ZWQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkgewotICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLCBuYW1lOiBSaWdodCBGcm9udCBNb3RvciBJbnZlcnRlZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgICAgICBTYWZldHkgRW5hYmxlZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogdHJ1ZSwKLSAgICAgICAgICBuYW1lOiBTYWZldHkgRW5hYmxlZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IHRydWV9Ci0gICAgICAgIExlZnQgRnJvbnQgTW90b3IgSW52ZXJ0ZWQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkgewotICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLCBuYW1lOiBMZWZ0IEZyb250IE1vdG9yIEludmVydGVkLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogdHJ1ZX0KLSAgICAgICAgUmlnaHQgRnJvbnQgTW90b3I6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaGlsZFNlbGVjdGlvblByb3BlcnR5Ci0gICAgICAgICAgZGVmYXVsdDogMgotICAgICAgICAgIG5hbWU6IFJpZ2h0IEZyb250IE1vdG9yCi0gICAgICAgICAgdHlwZTogUElET3V0cHV0Ci0gICAgICAgICAgdmFsaWRhdG9yczogW1JvYm90RHJpdmU0LCBDaGlsZERyb3Bkb3duU2VsZWN0ZWRdCi0gICAgICAgICAgdmFsdWU6IERyaXZlIFRyYWluIFJpZ2h0IE1vdG9ycyAxIGFuZCAyCi0gICAgICAgIE1heGltdW0gT3V0cHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDEsCi0gICAgICAgICAgbmFtZTogTWF4aW11bSBPdXRwdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAxLjB9Ci0gICAgICAgIFJpZ2h0IFJlYXIgTW90b3IgSW52ZXJ0ZWQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkgewotICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLCBuYW1lOiBSaWdodCBSZWFyIE1vdG9yIEludmVydGVkLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogZmFsc2V9Ci0gICAgICAgIExlZnQgUmVhciBNb3RvciBJbnZlcnRlZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7Ci0gICAgICAgICAgZGVmYXVsdDogZmFsc2UsIG5hbWU6IExlZnQgUmVhciBNb3RvciBJbnZlcnRlZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IHRydWV9Ci0gICAgICAgIFJpZ2h0IFJlYXIgTW90b3I6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaGlsZFNlbGVjdGlvblByb3BlcnR5Ci0gICAgICAgICAgZGVmYXVsdDogMwotICAgICAgICAgIG5hbWU6IFJpZ2h0IFJlYXIgTW90b3IKLSAgICAgICAgICB0eXBlOiBQSURPdXRwdXQKLSAgICAgICAgICB2YWxpZGF0b3JzOiBbUm9ib3REcml2ZTQsIENoaWxkRHJvcGRvd25TZWxlY3RlZF0KLSAgICAgICAgICB2YWx1ZTogRHJpdmUgVHJhaW4gUmlnaHQgTW90b3IgMwotICAgICAgICBMZWZ0IFJlYXIgTW90b3I6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaGlsZFNlbGVjdGlvblByb3BlcnR5Ci0gICAgICAgICAgZGVmYXVsdDogMQotICAgICAgICAgIG5hbWU6IExlZnQgUmVhciBNb3RvcgotICAgICAgICAgIHR5cGU6IFBJRE91dHB1dAotICAgICAgICAgIHZhbGlkYXRvcnM6IFtSb2JvdERyaXZlNCwgQ2hpbGREcm9wZG93blNlbGVjdGVkXQotICAgICAgICAgIHZhbHVlOiBEcml2ZSBUcmFpbiBMZWZ0IE1vdG9yIDMKLSAgICAgICAgTGVmdCBGcm9udCBNb3RvcjogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNoaWxkU2VsZWN0aW9uUHJvcGVydHkKLSAgICAgICAgICBkZWZhdWx0OiAwCi0gICAgICAgICAgbmFtZTogTGVmdCBGcm9udCBNb3RvcgotICAgICAgICAgIHR5cGU6IFBJRE91dHB1dAotICAgICAgICAgIHZhbGlkYXRvcnM6IFtSb2JvdERyaXZlNCwgQ2hpbGREcm9wZG93blNlbGVjdGVkXQotICAgICAgICAgIHZhbHVlOiBEcml2ZSBUcmFpbiBMZWZ0IE1vdG9ycyAxIGFuZCAyCi0gICAgICAgIFNhZmV0eSBFeHBpcmF0aW9uIFRpbWU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMC4xLAotICAgICAgICAgIG5hbWU6IFNhZmV0eSBFeHBpcmF0aW9uIFRpbWUsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAwLjF9Ci0gICAgLSBOYW1lOiBRdWFkcmF0dXJlIEVuY29kZXIgTGVmdAotICAgICAgQmFzZTogUXVhZHJhdHVyZSBFbmNvZGVyCi0gICAgICBDaGlsZHJlbjogW10KLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIENoYW5uZWwgQiBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogJmlkMDEwIFsnMScsICcyJ10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICZpZDAxMSBbRGlnaXRhbENoYW5uZWxdCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAxMiBbJzEnLCAnMiddCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogQ2hhbm5lbCBBIE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMTMgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgUElEIFNvdXJjZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAxNCBba0Rpc3RhbmNlLCBrUmF0ZV0KLSAgICAgICAgICBkZWZhdWx0OiBrUmF0ZQotICAgICAgICAgIG5hbWU6IFBJRCBTb3VyY2UKLSAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgdmFsdWU6IGtSYXRlCi0gICAgICAgIERpc3RhbmNlIFBlciBQdWxzZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAxLAotICAgICAgICAgIG5hbWU6IERpc3RhbmNlIFBlciBQdWxzZSwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDEuMH0KLSAgICAgICAgRW5jb2RpbmcgVHlwZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAxNSBbazRYLCBrMlgsIGsxWF0KLSAgICAgICAgICBkZWZhdWx0OiBrNFgKLSAgICAgICAgICBuYW1lOiBFbmNvZGluZyBUeXBlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrNFgKLSAgICAgICAgQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogJmlkMDE2IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnLCAnMTEnLAotICAgICAgICAgICAgJzEyJywgJzEzJywgJzE0J10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEIgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMTcgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAgICAgQ2hhbm5lbCBBIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogJmlkMDE4IFsnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLCAnMTAnLCAnMTEnLAotICAgICAgICAgICAgJzEyJywgJzEzJywgJzE0J10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMTkgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgUmV2ZXJzZSBEaXJlY3Rpb246ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IGZhbHNlLAotICAgICAgICAgIG5hbWU6IFJldmVyc2UgRGlyZWN0aW9uLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogZmFsc2V9Ci0gICAgLSBOYW1lOiBRdWFkcmF0dXJlIEVuY29kZXIgUmlnaHQKLSAgICAgIEJhc2U6IFF1YWRyYXR1cmUgRW5jb2RlcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDExCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQSBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDEzCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBQSUQgU291cmNlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE0Ci0gICAgICAgICAgZGVmYXVsdDoga1JhdGUKLSAgICAgICAgICBuYW1lOiBQSUQgU291cmNlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrUmF0ZQotICAgICAgICBEaXN0YW5jZSBQZXIgUHVsc2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMSwKLSAgICAgICAgICBuYW1lOiBEaXN0YW5jZSBQZXIgUHVsc2UsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAxLjB9Ci0gICAgICAgIEVuY29kaW5nIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTUKLSAgICAgICAgICBkZWZhdWx0OiBrNFgKLSAgICAgICAgICBuYW1lOiBFbmNvZGluZyBUeXBlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrNFgKLSAgICAgICAgQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE2Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDE3Ci0gICAgICAgICAgdmFsdWU6ICc0JwotICAgICAgICBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTgKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTkKLSAgICAgICAgICB2YWx1ZTogJzMnCi0gICAgICAgIFJldmVyc2UgRGlyZWN0aW9uOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgICBuYW1lOiBSZXZlcnNlIERpcmVjdGlvbiwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgIFByb3BlcnRpZXM6Ci0gICAgICBEZWZhdWx0IENvbW1hbmQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5UeXBlU2VsZWN0aW9uUHJvcGVydHkge2RlZmF1bHQ6IE5vbmUsCi0gICAgICAgIG5hbWU6IERlZmF1bHQgQ29tbWFuZCwgdHlwZTogQ29tbWFuZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IE5vbmV9Ci0gIC0gTmFtZTogU2hvb3RlciBXaGVlbCBQSUQgQ29udHJvbGxlcgotICAgIEJhc2U6IFBJRCBTdWJzeXN0ZW0KLSAgICBDaGlsZHJlbjoKLSAgICAtIE5hbWU6IFNob290ZXIgTW90b3IKLSAgICAgIEJhc2U6IFNwZWVkIENvbnRyb2xsZXIKLSAgICAgIENoaWxkcmVuOiBbXQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDUKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwNgotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgVHlwZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwNwotICAgICAgICAgIGRlZmF1bHQ6IFZpY3RvcgotICAgICAgICAgIG5hbWU6IFR5cGUKLSAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgdmFsdWU6IFRhbG9uCi0gICAgICAgIE91dHB1dCBDaGFubmVsIChQV00pOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDA4Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogT3V0cHV0IENoYW5uZWwgKFBXTSkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDkKLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgLSBOYW1lOiBTaG9vdGVyIFNwZWVkIEVuY29kZXIKLSAgICAgIEJhc2U6IFF1YWRyYXR1cmUgRW5jb2RlcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDExCi0gICAgICAgICAgdmFsdWU6ICcyJwotICAgICAgICBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQSBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDEzCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBQSUQgU291cmNlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE0Ci0gICAgICAgICAgZGVmYXVsdDoga1JhdGUKLSAgICAgICAgICBuYW1lOiBQSUQgU291cmNlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrUmF0ZQotICAgICAgICBEaXN0YW5jZSBQZXIgUHVsc2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMSwKLSAgICAgICAgICBuYW1lOiBEaXN0YW5jZSBQZXIgUHVsc2UsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAxLjB9Ci0gICAgICAgIEVuY29kaW5nIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTUKLSAgICAgICAgICBkZWZhdWx0OiBrNFgKLSAgICAgICAgICBuYW1lOiBFbmNvZGluZyBUeXBlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrNFgKLSAgICAgICAgQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE2Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDE3Ci0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTgKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTkKLSAgICAgICAgICB2YWx1ZTogJzYnCi0gICAgICAgIFJldmVyc2UgRGlyZWN0aW9uOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgICBuYW1lOiBSZXZlcnNlIERpcmVjdGlvbiwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgIFByb3BlcnRpZXM6Ci0gICAgICBEOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDAsIG5hbWU6IEQsIHZhbGlkYXRvcnM6IG51bGwsCi0gICAgICAgIHZhbHVlOiAwLjB9Ci0gICAgICBJbnB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNoaWxkU2VsZWN0aW9uUHJvcGVydHkKLSAgICAgICAgZGVmYXVsdDogMAotICAgICAgICBuYW1lOiBJbnB1dAotICAgICAgICB0eXBlOiBQSURTb3VyY2UKLSAgICAgICAgdmFsaWRhdG9yczogW0NoaWxkRHJvcGRvd25TZWxlY3RlZF0KLSAgICAgICAgdmFsdWU6IFNob290ZXIgV2hlZWwgUElEIENvbnRyb2xsZXIgU2hvb3RlciBTcGVlZCBFbmNvZGVyCi0gICAgICBGOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDAsIG5hbWU6IEYsIHZhbGlkYXRvcnM6IG51bGwsCi0gICAgICAgIHZhbHVlOiAwLjB9Ci0gICAgICBUb2xlcmFuY2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMC4yLCBuYW1lOiBUb2xlcmFuY2UsCi0gICAgICAgIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAwLjJ9Ci0gICAgICBMaW1pdCBPdXRwdXQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IGZhbHNlLAotICAgICAgICBuYW1lOiBMaW1pdCBPdXRwdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBmYWxzZX0KLSAgICAgIENvbnRpbnVvdXM6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IGZhbHNlLAotICAgICAgICBuYW1lOiBDb250aW51b3VzLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogZmFsc2V9Ci0gICAgICBEZWZhdWx0IENvbW1hbmQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5UeXBlU2VsZWN0aW9uUHJvcGVydHkge2RlZmF1bHQ6IE5vbmUsCi0gICAgICAgIG5hbWU6IERlZmF1bHQgQ29tbWFuZCwgdHlwZTogQ29tbWFuZCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IE5vbmV9Ci0gICAgICBNYXhpbXVtIE91dHB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAxLCBuYW1lOiBNYXhpbXVtIE91dHB1dCwKLSAgICAgICAgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDEuMH0KLSAgICAgIExpbWl0IElucHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgbmFtZTogTGltaXQgSW5wdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBmYWxzZX0KLSAgICAgIE91dHB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNoaWxkU2VsZWN0aW9uUHJvcGVydHkKLSAgICAgICAgZGVmYXVsdDogMAotICAgICAgICBuYW1lOiBPdXRwdXQKLSAgICAgICAgdHlwZTogUElET3V0cHV0Ci0gICAgICAgIHZhbGlkYXRvcnM6IFtDaGlsZERyb3Bkb3duU2VsZWN0ZWRdCi0gICAgICAgIHZhbHVlOiBTaG9vdGVyIFdoZWVsIFBJRCBDb250cm9sbGVyIFNob290ZXIgTW90b3IKLSAgICAgIE1pbmltdW0gSW5wdXQ6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMCwgbmFtZTogTWluaW11bSBJbnB1dCwKLSAgICAgICAgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDAuMH0KLSAgICAgIE1pbmltdW0gT3V0cHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IC0xLAotICAgICAgICBuYW1lOiBNaW5pbXVtIE91dHB1dCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IC0xLjB9Ci0gICAgICBJOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDAsIG5hbWU6IEksIHZhbGlkYXRvcnM6IG51bGwsCi0gICAgICAgIHZhbHVlOiAwLjB9Ci0gICAgICBQOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDEsIG5hbWU6IFAsIHZhbGlkYXRvcnM6IG51bGwsCi0gICAgICAgIHZhbHVlOiAxLjB9Ci0gICAgICBNYXhpbXVtIElucHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDUsIG5hbWU6IE1heGltdW0gSW5wdXQsCi0gICAgICAgIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiA1LjB9Ci0gIC0gTmFtZTogU2hvb3RlcgotICAgIEJhc2U6IFN1YnN5c3RlbQotICAgIENoaWxkcmVuOgotICAgIC0gTmFtZTogU2hvb3RlciBUaWx0IE1vdG9yCi0gICAgICBCYXNlOiBTcGVlZCBDb250cm9sbGVyCi0gICAgICBDaGlsZHJlbjogW10KLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDA1Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDYKLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDcKLSAgICAgICAgICBkZWZhdWx0OiBWaWN0b3IKLSAgICAgICAgICBuYW1lOiBUeXBlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBUYWxvbgotICAgICAgICBPdXRwdXQgQ2hhbm5lbCAoUFdNKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwOAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChQV00pCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA5Ci0gICAgICAgICAgdmFsdWU6ICc0JwotICAgIC0gTmFtZTogU2hvb3RlciBUaWx0IEVuY29kZXIKLSAgICAgIEJhc2U6IFF1YWRyYXR1cmUgRW5jb2RlcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDExCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxMgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQSBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDEzCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBQSUQgU291cmNlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE0Ci0gICAgICAgICAgZGVmYXVsdDoga1JhdGUKLSAgICAgICAgICBuYW1lOiBQSUQgU291cmNlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrUmF0ZQotICAgICAgICBEaXN0YW5jZSBQZXIgUHVsc2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMSwKLSAgICAgICAgICBuYW1lOiBEaXN0YW5jZSBQZXIgUHVsc2UsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAxLjB9Ci0gICAgICAgIEVuY29kaW5nIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTUKLSAgICAgICAgICBkZWZhdWx0OiBrNFgKLSAgICAgICAgICBuYW1lOiBFbmNvZGluZyBUeXBlCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgIHZhbHVlOiBrNFgKLSAgICAgICAgQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE2Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogQ2hhbm5lbCBCIENoYW5uZWwgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDE3Ci0gICAgICAgICAgdmFsdWU6ICc4JwotICAgICAgICBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTgKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEEgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTkKLSAgICAgICAgICB2YWx1ZTogJzcnCi0gICAgICAgIFJldmVyc2UgRGlyZWN0aW9uOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgICBuYW1lOiBSZXZlcnNlIERpcmVjdGlvbiwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgIC0gTmFtZTogU2hvb3RlciBUaWx0IEhvbWUgU2Vuc29yCi0gICAgICBCYXNlOiBHZWFyIFRvb3RoIFNlbnNvcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBJbnB1dCBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAyNCBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywKLSAgICAgICAgICAgICcxMicsICcxMycsICcxNCddCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogSW5wdXQgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMjUgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnOScKLSAgICAgICAgRGlyZWN0aW9uIFNlbnNpdGl2ZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogZmFsc2UsCi0gICAgICAgICAgbmFtZTogRGlyZWN0aW9uIFNlbnNpdGl2ZSwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgICAgICBJbnB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogJmlkMDI2IFsnMScsICcyJ10KLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBJbnB1dCBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogJmlkMDI3IFtEaWdpdGFsQ2hhbm5lbF0KLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgLSBOYW1lOiBMYXRjaCBGcmlzYmVlIFNvbGVub2lkCi0gICAgICBCYXNlOiBTb2xlbm9pZAotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBPdXRwdXQgTW9kdWxlIChTb2xlbm9pZCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDEKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChTb2xlbm9pZCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDIKLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgIE91dHB1dCBDaGFubmVsIChTb2xlbm9pZCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDMKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgQ2hhbm5lbCAoU29sZW5vaWQpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA0Ci0gICAgICAgICAgdmFsdWU6ICc1JwotICAgIC0gTmFtZTogTG9hZCBGcmlzYmVlIFNvbGVub2lkCi0gICAgICBCYXNlOiBTb2xlbm9pZAotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBPdXRwdXQgTW9kdWxlIChTb2xlbm9pZCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDEKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgTW9kdWxlIChTb2xlbm9pZCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDIKLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgICAgIE91dHB1dCBDaGFubmVsIChTb2xlbm9pZCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDMKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgQ2hhbm5lbCAoU29sZW5vaWQpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA0Ci0gICAgICAgICAgdmFsdWU6ICczJwotICAgIC0gTmFtZTogU2hvb3QgU29sZW5vaWQKLSAgICAgIEJhc2U6IFNvbGVub2lkCi0gICAgICBDaGlsZHJlbjogW10KLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIE91dHB1dCBNb2R1bGUgKFNvbGVub2lkKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwMQotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IE91dHB1dCBNb2R1bGUgKFNvbGVub2lkKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwMgotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgT3V0cHV0IENoYW5uZWwgKFNvbGVub2lkKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwMwotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChTb2xlbm9pZCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDQKLSAgICAgICAgICB2YWx1ZTogJzQnCi0gICAgUHJvcGVydGllczoKLSAgICAgIERlZmF1bHQgQ29tbWFuZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLlR5cGVTZWxlY3Rpb25Qcm9wZXJ0eSB7ZGVmYXVsdDogTm9uZSwKLSAgICAgICAgbmFtZTogRGVmYXVsdCBDb21tYW5kLCB0eXBlOiBDb21tYW5kLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogTm9uZX0KLSAgLSBOYW1lOiBGcmlzYmVlIFN0b3JhZ2UKLSAgICBCYXNlOiBTdWJzeXN0ZW0KLSAgICBDaGlsZHJlbjoKLSAgICAtIE5hbWU6IEZyaXNiZWUgSW5kZXhlciBNb3RvcgotICAgICAgQmFzZTogU3BlZWQgQ29udHJvbGxlcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBPdXRwdXQgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwNQotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA2Ci0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBUeXBlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDA3Ci0gICAgICAgICAgZGVmYXVsdDogVmljdG9yCi0gICAgICAgICAgbmFtZTogVHlwZQotICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICB2YWx1ZTogVGFsb24KLSAgICAgICAgT3V0cHV0IENoYW5uZWwgKFBXTSk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDgKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgQ2hhbm5lbCAoUFdNKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwOQotICAgICAgICAgIHZhbHVlOiAnNycKLSAgICAtIE5hbWU6IEZyaXNiZWUgSW5kZXhlciBTcGVlZCBFbmNvZGVyCi0gICAgICBCYXNlOiBRdWFkcmF0dXJlIEVuY29kZXIKLSAgICAgIENoaWxkcmVuOiBbXQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgQ2hhbm5lbCBCIE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTAKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAxMQotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgQ2hhbm5lbCBBIE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMTIKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAxMwotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAgICAgUElEIFNvdXJjZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxNAotICAgICAgICAgIGRlZmF1bHQ6IGtSYXRlCi0gICAgICAgICAgbmFtZTogUElEIFNvdXJjZQotICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICB2YWx1ZToga1JhdGUKLSAgICAgICAgRGlzdGFuY2UgUGVyIFB1bHNlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDEsCi0gICAgICAgICAgbmFtZTogRGlzdGFuY2UgUGVyIFB1bHNlLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogMS4wfQotICAgICAgICBFbmNvZGluZyBUeXBlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDE1Ci0gICAgICAgICAgZGVmYXVsdDogazRYCi0gICAgICAgICAgbmFtZTogRW5jb2RpbmcgVHlwZQotICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICB2YWx1ZTogazRYCi0gICAgICAgIENoYW5uZWwgQiBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxNgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBDaGFubmVsIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAxNwotICAgICAgICAgIHZhbHVlOiAnMTEnCi0gICAgICAgIENoYW5uZWwgQSBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAxOAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IENoYW5uZWwgQSBDaGFubmVsIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAxOQotICAgICAgICAgIHZhbHVlOiAnMTAnCi0gICAgICAgIFJldmVyc2UgRGlyZWN0aW9uOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgICBuYW1lOiBSZXZlcnNlIERpcmVjdGlvbiwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgIC0gTmFtZTogRnJpc2JlZSBJbnB1dCBPcHRpY2FsIFNlbnNvcgotICAgICAgQmFzZTogRGlnaXRhbCBJbnB1dAotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBJbnB1dCBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICZpZDAyMCBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzEwJywgJzExJywKLSAgICAgICAgICAgICcxMicsICcxMycsICcxNCddCi0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogSW5wdXQgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMjEgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnMTInCi0gICAgICAgIElucHV0IE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAmaWQwMjIgWycxJywgJzInXQotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IElucHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAmaWQwMjMgW0RpZ2l0YWxDaGFubmVsXQotICAgICAgICAgIHZhbHVlOiAnMScKLSAgICAtIE5hbWU6IEZyaXNiZWUgSW5kZXggT3B0aWNhbCBTZW5zb3IKLSAgICAgIEJhc2U6IERpZ2l0YWwgSW5wdXQKLSAgICAgIENoaWxkcmVuOiBbXQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgSW5wdXQgQ2hhbm5lbCAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMjAKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBJbnB1dCBDaGFubmVsIChEaWdpdGFsKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAyMQotICAgICAgICAgIHZhbHVlOiAnMTMnCi0gICAgICAgIElucHV0IE1vZHVsZSAoRGlnaXRhbCk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMjIKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBJbnB1dCBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDIzCi0gICAgICAgICAgdmFsdWU6ICcxJwotICAgIC0gTmFtZTogRnJpc2JlZSBSZWFkeSB0byBzaG9vdCBPcHRpY2FsIFNlbnNvcgotICAgICAgQmFzZTogRGlnaXRhbCBJbnB1dAotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBJbnB1dCBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAyMAotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IElucHV0IENoYW5uZWwgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDIxCi0gICAgICAgICAgdmFsdWU6ICcxNCcKLSAgICAgICAgSW5wdXQgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAyMgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IElucHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMjMKLSAgICAgICAgICB2YWx1ZTogJzEnCi0gICAgUHJvcGVydGllczoKLSAgICAgIERlZmF1bHQgQ29tbWFuZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLlR5cGVTZWxlY3Rpb25Qcm9wZXJ0eSB7ZGVmYXVsdDogTm9uZSwKLSAgICAgICAgbmFtZTogRGVmYXVsdCBDb21tYW5kLCB0eXBlOiBDb21tYW5kLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogTm9uZX0KLSAgLSBOYW1lOiBGcmlzYmVlIFBpY2t1cAotICAgIEJhc2U6IFN1YnN5c3RlbQotICAgIENoaWxkcmVuOgotICAgIC0gTmFtZTogSW50YWtlIGFuZCBDZW50ZXJpbmcgUm9sbGVyIE1vdG9ycwotICAgICAgQmFzZTogU3BlZWQgQ29udHJvbGxlcgotICAgICAgQ2hpbGRyZW46IFtdCi0gICAgICBQcm9wZXJ0aWVzOgotICAgICAgICBPdXRwdXQgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAwNQotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgdmFsaWRhdG9yczogKmlkMDA2Ci0gICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICBUeXBlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDA3Ci0gICAgICAgICAgZGVmYXVsdDogVmljdG9yCi0gICAgICAgICAgbmFtZTogVHlwZQotICAgICAgICAgIHZhbGlkYXRvcnM6IG51bGwKLSAgICAgICAgICB2YWx1ZTogVGFsb24KLSAgICAgICAgT3V0cHV0IENoYW5uZWwgKFBXTSk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICBjaG9pY2VzOiAqaWQwMDgKLSAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICBuYW1lOiBPdXRwdXQgQ2hhbm5lbCAoUFdNKQotICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwOQotICAgICAgICAgIHZhbHVlOiAnOCcKLSAgICBQcm9wZXJ0aWVzOgotICAgICAgRGVmYXVsdCBDb21tYW5kOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuVHlwZVNlbGVjdGlvblByb3BlcnR5IHtkZWZhdWx0OiBOb25lLAotICAgICAgICBuYW1lOiBEZWZhdWx0IENvbW1hbmQsIHR5cGU6IENvbW1hbmQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBOb25lfQotICAtIE5hbWU6IFBpY2t1cCBBcm0KLSAgICBCYXNlOiBTdWJzeXN0ZW0KLSAgICBDaGlsZHJlbjoKLSAgICAtIE5hbWU6IFBpY2t1cCBBcm0gUElEIENvbnRyb2xsZXIKLSAgICAgIEJhc2U6IFBJRCBDb250cm9sbGVyCi0gICAgICBDaGlsZHJlbjoKLSAgICAgIC0gTmFtZTogUGlja3VwIEFybSBNb3RvcgotICAgICAgICBCYXNlOiBTcGVlZCBDb250cm9sbGVyCi0gICAgICAgIENoaWxkcmVuOiBbXQotICAgICAgICBQcm9wZXJ0aWVzOgotICAgICAgICAgIE91dHB1dCBNb2R1bGUgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMDUKLSAgICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgICAgbmFtZTogT3V0cHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICAgIHZhbGlkYXRvcnM6ICppZDAwNgotICAgICAgICAgICAgdmFsdWU6ICcxJwotICAgICAgICAgIFR5cGU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5DaG9pY2VzUHJvcGVydHkKLSAgICAgICAgICAgIGNob2ljZXM6ICppZDAwNwotICAgICAgICAgICAgZGVmYXVsdDogVmljdG9yCi0gICAgICAgICAgICBuYW1lOiBUeXBlCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgICB2YWx1ZTogVGFsb24KLSAgICAgICAgICBPdXRwdXQgQ2hhbm5lbCAoUFdNKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDA4Ci0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IE91dHB1dCBDaGFubmVsIChQV00pCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMDkKLSAgICAgICAgICAgIHZhbHVlOiAnOScKLSAgICAgIC0gTmFtZTogUGlja3VwIEFybSBFbmNvZGVyCi0gICAgICAgIEJhc2U6IFF1YWRyYXR1cmUgRW5jb2RlcgotICAgICAgICBDaGlsZHJlbjogW10KLSAgICAgICAgUHJvcGVydGllczoKLSAgICAgICAgICBDaGFubmVsIEIgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDEwCi0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTEKLSAgICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAgICAgICBDaGFubmVsIEEgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDEyCi0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IENoYW5uZWwgQSBNb2R1bGUgKERpZ2l0YWwpCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTMKLSAgICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAgICAgICBQSUQgU291cmNlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMTQKLSAgICAgICAgICAgIGRlZmF1bHQ6IGtSYXRlCi0gICAgICAgICAgICBuYW1lOiBQSUQgU291cmNlCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiBudWxsCi0gICAgICAgICAgICB2YWx1ZToga1JhdGUKLSAgICAgICAgICBEaXN0YW5jZSBQZXIgUHVsc2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMSwKLSAgICAgICAgICAgIG5hbWU6IERpc3RhbmNlIFBlciBQdWxzZSwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDEuMH0KLSAgICAgICAgICBFbmNvZGluZyBUeXBlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMTUKLSAgICAgICAgICAgIGRlZmF1bHQ6IGs0WAotICAgICAgICAgICAgbmFtZTogRW5jb2RpbmcgVHlwZQotICAgICAgICAgICAgdmFsaWRhdG9yczogbnVsbAotICAgICAgICAgICAgdmFsdWU6IGs0WAotICAgICAgICAgIENoYW5uZWwgQiBDaGFubmVsIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgICAgY2hvaWNlczogKmlkMDE2Ci0gICAgICAgICAgICBkZWZhdWx0OiAnMScKLSAgICAgICAgICAgIG5hbWU6IENoYW5uZWwgQiBDaGFubmVsIChEaWdpdGFsKQotICAgICAgICAgICAgdmFsaWRhdG9yczogKmlkMDE3Ci0gICAgICAgICAgICB2YWx1ZTogJzMnCi0gICAgICAgICAgQ2hhbm5lbCBBIENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgICBjaG9pY2VzOiAqaWQwMTgKLSAgICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgICAgbmFtZTogQ2hhbm5lbCBBIENoYW5uZWwgKERpZ2l0YWwpCi0gICAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMTkKLSAgICAgICAgICAgIHZhbHVlOiAnMicKLSAgICAgICAgICBSZXZlcnNlIERpcmVjdGlvbjogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogZmFsc2UsCi0gICAgICAgICAgICBuYW1lOiBSZXZlcnNlIERpcmVjdGlvbiwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgICAgUHJvcGVydGllczoKLSAgICAgICAgRDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAwLCBuYW1lOiBELCB2YWxpZGF0b3JzOiBudWxsLAotICAgICAgICAgIHZhbHVlOiAwLjB9Ci0gICAgICAgIFBlcmlvZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAwLjAyLCBuYW1lOiBQZXJpb2QsCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDAuMDJ9Ci0gICAgICAgIElucHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hpbGRTZWxlY3Rpb25Qcm9wZXJ0eQotICAgICAgICAgIGRlZmF1bHQ6IDAKLSAgICAgICAgICBuYW1lOiBJbnB1dAotICAgICAgICAgIHR5cGU6IFBJRFNvdXJjZQotICAgICAgICAgIHZhbGlkYXRvcnM6IFtDaGlsZERyb3Bkb3duU2VsZWN0ZWRdCi0gICAgICAgICAgdmFsdWU6IFBpY2t1cCBBcm0gUGlja3VwIEFybSBFbmNvZGVyCi0gICAgICAgIEY6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMCwgbmFtZTogRiwgdmFsaWRhdG9yczogbnVsbCwKLSAgICAgICAgICB2YWx1ZTogMC4wfQotICAgICAgICBUb2xlcmFuY2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMC4yLCBuYW1lOiBUb2xlcmFuY2UsCi0gICAgICAgICAgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDAuMn0KLSAgICAgICAgTGltaXQgT3V0cHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiBmYWxzZSwKLSAgICAgICAgICBuYW1lOiBMaW1pdCBPdXRwdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBmYWxzZX0KLSAgICAgICAgQ29udGludW91czogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogZmFsc2UsCi0gICAgICAgICAgbmFtZTogQ29udGludW91cywgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IGZhbHNlfQotICAgICAgICBNYXhpbXVtIE91dHB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAxLAotICAgICAgICAgIG5hbWU6IE1heGltdW0gT3V0cHV0LCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogMS4wfQotICAgICAgICBMaW1pdCBJbnB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogZmFsc2UsCi0gICAgICAgICAgbmFtZTogTGltaXQgSW5wdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBmYWxzZX0KLSAgICAgICAgT3V0cHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hpbGRTZWxlY3Rpb25Qcm9wZXJ0eQotICAgICAgICAgIGRlZmF1bHQ6IDAKLSAgICAgICAgICBuYW1lOiBPdXRwdXQKLSAgICAgICAgICB0eXBlOiBQSURPdXRwdXQKLSAgICAgICAgICB2YWxpZGF0b3JzOiBbQ2hpbGREcm9wZG93blNlbGVjdGVkXQotICAgICAgICAgIHZhbHVlOiBQaWNrdXAgQXJtIFBpY2t1cCBBcm0gTW90b3IKLSAgICAgICAgTWluaW11bSBJbnB1dDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAwLAotICAgICAgICAgIG5hbWU6IE1pbmltdW0gSW5wdXQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiAwLjB9Ci0gICAgICAgIE1pbmltdW0gT3V0cHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IC0xLAotICAgICAgICAgIG5hbWU6IE1pbmltdW0gT3V0cHV0LCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogLTEuMH0KLSAgICAgICAgSTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkRvdWJsZVByb3BlcnR5IHtkZWZhdWx0OiAwLCBuYW1lOiBJLCB2YWxpZGF0b3JzOiBudWxsLAotICAgICAgICAgIHZhbHVlOiAwLjB9Ci0gICAgICAgIFA6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Eb3VibGVQcm9wZXJ0eSB7ZGVmYXVsdDogMSwgbmFtZTogUCwgdmFsaWRhdG9yczogbnVsbCwKLSAgICAgICAgICB2YWx1ZTogMS4wfQotICAgICAgICBNYXhpbXVtIElucHV0OiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRG91YmxlUHJvcGVydHkge2RlZmF1bHQ6IDUsCi0gICAgICAgICAgbmFtZTogTWF4aW11bSBJbnB1dCwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDUuMH0KLSAgICAtIE5hbWU6IFBpY2t1cCBBcm0gSG9tZSBTZW5zb3IKLSAgICAgIEJhc2U6IEdlYXIgVG9vdGggU2Vuc29yCi0gICAgICBDaGlsZHJlbjogW10KLSAgICAgIFByb3BlcnRpZXM6Ci0gICAgICAgIElucHV0IENoYW5uZWwgKERpZ2l0YWwpOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQ2hvaWNlc1Byb3BlcnR5Ci0gICAgICAgICAgY2hvaWNlczogKmlkMDI0Ci0gICAgICAgICAgZGVmYXVsdDogJzEnCi0gICAgICAgICAgbmFtZTogSW5wdXQgQ2hhbm5lbCAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMjUKLSAgICAgICAgICB2YWx1ZTogJzQnCi0gICAgICAgIERpcmVjdGlvbiBTZW5zaXRpdmU6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IGZhbHNlLAotICAgICAgICAgIG5hbWU6IERpcmVjdGlvbiBTZW5zaXRpdmUsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBmYWxzZX0KLSAgICAgICAgSW5wdXQgTW9kdWxlIChEaWdpdGFsKTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkNob2ljZXNQcm9wZXJ0eQotICAgICAgICAgIGNob2ljZXM6ICppZDAyNgotICAgICAgICAgIGRlZmF1bHQ6ICcxJwotICAgICAgICAgIG5hbWU6IElucHV0IE1vZHVsZSAoRGlnaXRhbCkKLSAgICAgICAgICB2YWxpZGF0b3JzOiAqaWQwMjcKLSAgICAgICAgICB2YWx1ZTogJzInCi0gICAgUHJvcGVydGllczoKLSAgICAgIERlZmF1bHQgQ29tbWFuZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLlR5cGVTZWxlY3Rpb25Qcm9wZXJ0eSB7ZGVmYXVsdDogTm9uZSwKLSAgICAgICAgbmFtZTogRGVmYXVsdCBDb21tYW5kLCB0eXBlOiBDb21tYW5kLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogTm9uZX0KLSAgUHJvcGVydGllczoge30KLS0gTmFtZTogT3BlcmF0b3IgSW50ZXJmYWNlCi0gIEJhc2U6IE9JCi0gIENoaWxkcmVuOiBbXQotICBQcm9wZXJ0aWVzOiB7fQotLSBOYW1lOiBDb21tYW5kcwotICBCYXNlOiBDb21tYW5kcwotICBDaGlsZHJlbjoKLSAgLSBOYW1lOiBBdXRvbm9tb3VzIENvbW1hbmQKLSAgICBCYXNlOiBDb21tYW5kCi0gICAgQ2hpbGRyZW46IFtdCi0gICAgUHJvcGVydGllczoKLSAgICAgIFJlcXVpcmVzOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuVHlwZVNlbGVjdGlvblByb3BlcnR5IHtkZWZhdWx0OiBOb25lLAotICAgICAgICBuYW1lOiBSZXF1aXJlcywgdHlwZTogU3Vic3lzdGVtLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogTm9uZX0KLSAgICAgIEJ1dHRvbiBvbiBTbWFydERhc2hib2FyZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkJvb2xlYW5Qcm9wZXJ0eSB7ZGVmYXVsdDogdHJ1ZSwKLSAgICAgICAgbmFtZTogQnV0dG9uIG9uIFNtYXJ0RGFzaGJvYXJkLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogdHJ1ZX0KLSAgUHJvcGVydGllczoge30KLVByb3BlcnRpZXM6Ci0gIEF1dG9ub21vdXMgQ29tbWFuZDogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLlR5cGVTZWxlY3Rpb25Qcm9wZXJ0eSB7ZGVmYXVsdDogTm9uZSwKLSAgICBuYW1lOiBBdXRvbm9tb3VzIENvbW1hbmQsIHR5cGU6IENvbW1hbmQsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiBBdXRvbm9tb3VzIENvbW1hbmR9Ci0gIFdpcmluZyBGaWxlOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuRmlsZVByb3BlcnR5IHtkZWZhdWx0OiAnJywgZXh0ZW5zaW9uOiBodG1sLAotICAgIGZvbGRlcjogZmFsc2UsIG5hbWU6IFdpcmluZyBGaWxlLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogJ0M6XHNvdXJjZWNvbnRyb2xsZWRcZnJjOTcxXDIwMTNcdHJ1bmtcc3JjXHJvYm90X2J1aWxkZXJcd2lyaW5nLmh0bWwnfQotICBDKysgV2luZHJpdmVyIFdvcmtzcGFjZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkZpbGVQcm9wZXJ0eSB7ZGVmYXVsdDogJ0M6XFdpbmRyaXZlclx3b3Jrc3BhY2UnLAotICAgIGV4dGVuc2lvbjogbnVsbCwgZm9sZGVyOiB0cnVlLCBuYW1lOiBDKysgV2luZHJpdmVyIFdvcmtzcGFjZSwgdmFsaWRhdG9yczogbnVsbCwKLSAgICB2YWx1ZTogJ0M6XHNvdXJjZWNvbnRyb2xsZWRcZnJjOTcxXDIwMTNcdHJ1bmtcc3JjXHJvYm90X2J1aWxkZXInfQotICBVc2UgRGVmYXVsdCBKYXZhIFBhY2thZ2U6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IHRydWUsCi0gICAgbmFtZTogVXNlIERlZmF1bHQgSmF2YSBQYWNrYWdlLCB2YWxpZGF0b3JzOiBudWxsLCB2YWx1ZTogZmFsc2V9Ci0gIEphdmEgUGFja2FnZTogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLlN0cmluZ1Byb3BlcnR5IHtkZWZhdWx0OiBvcmcudXNmaXJzdC5mcmMwMDAwLAotICAgIG5hbWU6IEphdmEgUGFja2FnZSwgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IG9yZy51c2ZpcnN0LmZyYzk3MX0KLSAgRXhwb3J0IFN1YnN5c3RlbXM6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5Cb29sZWFuUHJvcGVydHkge2RlZmF1bHQ6IHRydWUsCi0gICAgbmFtZTogRXhwb3J0IFN1YnN5c3RlbXMsIHZhbGlkYXRvcnM6IG51bGwsIHZhbHVlOiB0cnVlfQotICBUZWFtIE51bWJlcjogISFyb2JvdGJ1aWxkZXIuZGF0YS5wcm9wZXJ0aWVzLkludGVnZXJQcm9wZXJ0eSB7ZGVmYXVsdDogMCwgbmFtZTogVGVhbSBOdW1iZXIsCi0gICAgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IDk3MX0KLSAgRXhwb3J0IENvbW1hbmRzOiAhIXJvYm90YnVpbGRlci5kYXRhLnByb3BlcnRpZXMuQm9vbGVhblByb3BlcnR5IHtkZWZhdWx0OiB0cnVlLAotICAgIG5hbWU6IEV4cG9ydCBDb21tYW5kcywgdmFsaWRhdG9yczogbnVsbCwgdmFsdWU6IHRydWV9Ci0gIEphdmEgUHJvamVjdCBEaXJlY3Rvcnk6ICEhcm9ib3RidWlsZGVyLmRhdGEucHJvcGVydGllcy5GaWxlUHJvcGVydHkge2RlZmF1bHQ6ICdDOlxVc2Vyc1xqZXJyeVxOZXRCZWFuc1Byb2plY3RzJywKLSAgICBleHRlbnNpb246IG51bGwsIGZvbGRlcjogdHJ1ZSwgbmFtZTogSmF2YSBQcm9qZWN0IERpcmVjdG9yeSwgdmFsaWRhdG9yczogbnVsbCwKLSAgICB2YWx1ZTogJ0M6XHNvdXJjZWNvbnRyb2xsZWRcZnJjOTcxXDIwMTNcdHJ1bmtcc3JjXHJvYm90X2J1aWxkZXInfQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvLmNwcm9qZWN0IGIvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvLmNwcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDI3MDg2Li4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy5jcHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/Pg0KLTw/ZmlsZVZlcnNpb24gNC4wLjA/Pg0KLQ0KLTxjcHJvamVjdD4NCi0JPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnNldHRpbmdzIj4NCi0JCTxjY29uZmlndXJhdGlvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2Ij4NCi0JCQk8c3RvcmFnZU1vZHVsZSBidWlsZFN5c3RlbUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5kZWZhdWx0Q29uZmlnRGF0YVByb3ZpZGVyIiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZGVmYXVsdC5jb25maWcuMjgzOTY3MTA2IiBtb2R1bGVJZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuc2V0dGluZ3MiIG5hbWU9IkNvbmZpZ3VyYXRpb24iPg0KLQkJCQk8ZXh0ZXJuYWxTZXR0aW5ncy8+DQotCQkJCTxleHRlbnNpb25zPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUlNjYW5uZXJJbmZvUHJvdmlkZXIiIHBvaW50PSJvcmcuZWNsaXBzZS5jZHQuY29yZS5TY2FubmVySW5mb1Byb3ZpZGVyIi8+DQotCQkJCQk8ZXh0ZW5zaW9uIGlkPSJjb20ud2luZHJpdmVyLmlkZS5jb3JlLldSRWxmUGFyc2VyVnhXb3JrcyIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQkJPGV4dGVuc2lvbiBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuR05VX0VMRiIgcG9pbnQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLkJpbmFyeVBhcnNlciIvPg0KLQkJCQk8L2V4dGVuc2lvbnM+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5leHRlcm5hbFNldHRpbmdzIi8+DQotCQkJPHN0b3JhZ2VNb2R1bGUgbW9kdWxlSWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLnBhdGhlbnRyeSI+DQotCQkJCTxwYXRoZW50cnkga2luZD0ic3JjIiBwYXRoPSIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJvdXQiIHBhdGg9IiIvPg0KLQkJCQk8cGF0aGVudHJ5IGtpbmQ9ImNvbiIgcGF0aD0iY29tLndpbmRyaXZlci5pZGUuY29yZS5XUl9DT05UQUlORVIiLz4NCi0JCQkJPHBhdGhlbnRyeSBraW5kPSJjb24iIHBhdGg9ImNvbS53aW5kcml2ZXIuaWRlLmNvcmUuYnVpbGQubW9kZWwuV1JfVVNFUkRFRklORURfQ09OVEFJTkVSIi8+DQotCQkJPC9zdG9yYWdlTW9kdWxlPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJzY2FubmVyQ29uZmlndXJhdGlvbiIvPg0KLQkJCTxzdG9yYWdlTW9kdWxlIG1vZHVsZUlkPSJ1c2VyZGVmaW5lZENvbnRhaW5lciI+DQotCQkJCTxpbmRleEFsbEZpbGVzIHZhbHVlPSJmYWxzZSIvPg0KLQkJCQk8aW5pdGlhbGl6ZWQgdmFsdWU9InRydWUiLz4NCi0JCQk8L3N0b3JhZ2VNb2R1bGU+DQotCQk8L2Njb25maWd1cmF0aW9uPg0KLQk8L3N0b3JhZ2VNb2R1bGU+DQotPC9jcHJvamVjdD4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy8ucHJvamVjdCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy5wcm9qZWN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOThmNmNlLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy5wcm9qZWN0CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCi08cHJvamVjdERlc2NyaXB0aW9uPg0KLQk8bmFtZT5Sb2JvdDIwMTM8L25hbWU+DQotCTxjb21tZW50PjwvY29tbWVudD4NCi0JPHByb2plY3RzPg0KLQk8L3Byb2plY3RzPg0KLQk8YnVpbGRTcGVjPg0KLQkJPGJ1aWxkQ29tbWFuZD4NCi0JCQk8bmFtZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyYnVpbGRlcjwvbmFtZT4NCi0JCQk8YXJndW1lbnRzPg0KLQkJCTwvYXJndW1lbnRzPg0KLQkJPC9idWlsZENvbW1hbmQ+DQotCTwvYnVpbGRTcGVjPg0KLQk8bmF0dXJlcz4NCi0JCTxuYXR1cmU+Y29tLndpbmRyaXZlci5pZGUuY29yZS53cm5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5jb20ud2luZHJpdmVyLmlkZS5jb3JlLndyY29yZW5hdHVyZTwvbmF0dXJlPg0KLQkJPG5hdHVyZT5vcmcuZWNsaXBzZS5jZHQuY29yZS5jbmF0dXJlPC9uYXR1cmU+DQotCQk8bmF0dXJlPm9yZy5lY2xpcHNlLmNkdC5jb3JlLmNjbmF0dXJlPC9uYXR1cmU+DQotCTwvbmF0dXJlcz4NCi08L3Byb2plY3REZXNjcmlwdGlvbj4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy8ud3JtYWtlZmlsZSBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy53cm1ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWRkN2Y4Li4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy53cm1ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotIyBUaGUgZmlsZSAiLndybWFrZWZpbGUiIGlzIHRoZSB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSBXaW5kIFJpdmVyIFdvcmtiZW5jaCB0bw0KLSMgZ2VuZXJhdGUgdGhlIG1ha2VmaWxlcyBvZiB0aGlzIHByb2plY3QuIEFkZCB1c2VyLXNwZWNpZmljIGJ1aWxkIHRhcmdldHMgYW5kDQotIyBtYWtlIHJ1bGVzIG9ubHkoISkgaW4gdGhpcyBwcm9qZWN0J3MgIi53cm1ha2VmaWxlIiBmaWxlLiBUaGVzZSB3aWxsIHRoZW4gYmUNCi0jIGF1dG9tYXRpY2FsbHkgZHVtcGVkIGludG8gdGhlIG1ha2VmaWxlcy4NCi0NCi1XSU5EX0hPTUUgOj0gJChzdWJzdCBcLC8sJChXSU5EX0hPTUUpKQ0KLVdJTkRfQkFTRSA6PSAkKHN1YnN0IFwsLywkKFdJTkRfQkFTRSkpDQotV0lORF9VU1IgOj0gJChzdWJzdCBcLC8sJChXSU5EX1VTUikpDQotDQotYWxsIDogcHJlX2J1aWxkIG1haW5fYWxsIHBvc3RfYnVpbGQNCi0NCi1fY2xlYW4gOjoNCi0JQGVjaG8gIm1ha2U6IHJlbW92aW5nIHRhcmdldHMgYW5kIG9iamVjdHMgb2YgYHB3ZGAiDQotDQotJUlERV9HRU5FUkFURUQlDQotDQotLWluY2x1ZGUgJChQUkpfUk9PVF9ESVIpLyoubWFrZWZpbGUNCi0NCi0taW5jbHVkZSAqLm1ha2VmaWxlDQotDQotbWFpbl9hbGwgOiBleHRlcm5hbF9idWlsZCAkKFBST0pFQ1RfVEFSR0VUUykNCi0JQGVjaG8gIm1ha2U6IGJ1aWx0IHRhcmdldHMgb2YgYHB3ZGAiDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZA0KLWV4dGVybmFsX2J1aWxkIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwcmUgcHJvY2Vzc2luZyBwcmlvciB0byB0aGUgYnVpbGQNCi1wcmVfYnVpbGQgOjogJChQUkVfQlVJTERfU1RFUCkgZ2VuZXJhdGVfc291cmNlcw0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGdlbmVyYXRpbmcgc291cmNlcyBwcmlvciB0byB0aGUgYnVpbGQNCi1nZW5lcmF0ZV9zb3VyY2VzIDo6DQotCUBlY2hvICIiDQotDQotIyBtYWluIGVudHJ5IHBvaW50IGZvciBwb3N0IHByb2Nlc3NpbmcgYWZ0ZXIgdGhlIGJ1aWxkDQotcG9zdF9idWlsZCA6OiAkKFBPU1RfQlVJTERfU1RFUCkgZGVwbG95X291dHB1dA0KLQlAZWNobyAiIg0KLQ0KLSMgZW50cnkgcG9pbnQgZm9yIGRlcGxveWluZyBvdXRwdXQgYWZ0ZXIgdGhlIGJ1aWxkDQotZGVwbG95X291dHB1dCA6Og0KLQlAZWNobyAiIg0KLQ0KLWNsZWFuIDo6IGV4dGVybmFsX2NsZWFuICQoQ0xFQU5fU1RFUCkgX2NsZWFuDQotDQotIyBlbnRyeSBwb2ludCBmb3IgZXh0ZW5kaW5nIHRoZSBidWlsZCBjbGVhbg0KLWV4dGVybmFsX2NsZWFuIDo6DQotCUBlY2hvICIiDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvLndycHJvamVjdCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzLy53cnByb2plY3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZWUzNTIuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvLndycHJvamVjdAorKysgL2Rldi9udWxsCkBAIC0xLDI1OCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4NCi08d3J4bWw+DQotICAgIDxwcm9wZXJ0aWVzIHBsYXRmb3JtPSJWeFdvcmtzIiBwbGF0Zm9ybV9uYW1lPSJ2eHdvcmtzLTYuMyIgcm9vdD0iMSIgdHlwZT0iRG93bmxvYWRhYmxlS2VybmVsTW9kdWxlUHJvamVjdCIvPg0KLSAgICA8YXR0cmlidXRlcz4NCi0gICAgICAgIDxtYXBBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98R2xvYmFsTWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFJPSkVDVF9UWVBFIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkRFRklORVMiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iRVhQQU5EX0RCRyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfERFRklORVMiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEdsb2JhbE1hY3JvfEVYUEFORF9EQkciIHZhbHVlPSIwIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xHbG9iYWxNYWNyb3xQUk9KRUNUX1RZUEUiIHZhbHVlPSJES00iLz4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xJbmNsfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL1dQSUxpYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDMzJnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC93cm4vY29yZWlwIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfEluY2x8UFBDNjAzZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9Ii1JJChXSU5EX0JBU0UpL3RhcmdldC9oL3dybi9jb3JlaXAiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98SW5jbHxQUEM2MDNnbnUiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSItSSQoV0lORF9CQVNFKS90YXJnZXQvaC9XUElMaWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iLUkkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvd3JuL2NvcmVpcCIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8bGlzdEF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xMaWJzfFBQQzMyZGlhYiI+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IiQoV0lORF9CQVNFKS90YXJnZXQvbGliL1dQSUxpYi5hIi8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxsaXN0QXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfExpYnN8UFBDNjAzZ251Ij4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iJChXSU5EX0JBU0UpL3RhcmdldC9saWIvV1BJTGliLmEiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm9zIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVlhfQ1BVX0ZBTUlMWSIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDUFUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTF9GQU1JTFkiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iVE9PTCIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJUT09MX1BBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iQ0NfQVJDSF9TUEVDIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkxJQlBBVEgiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTElCUyIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENDX0FSQ0hfU1BFQ3x2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSItdFBQQ0ZIOnZ4d29ya3M2MyAtWHN0bXctc2xvdyAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSItbWhhcmQtZmxvYXQgLW1zdHJpY3QtYWxpZ24gLW1uby1pbXBsaWNpdC1mcCAtRFBQQzMyX2ZwNjB4Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZGlhYiIgdmFsdWU9Ii10UFBDNjAzRkg6dnh3b3JrczYzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDQ19BUkNIX1NQRUN8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iLW1jcHU9NjAzIC1tc3RyaWN0LWFsaWduIC1tbm8taW1wbGljaXQtZnAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xDUFV8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98Q1BVfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfENQVXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJQUEM2MDMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJQQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfExJQlBBVEh8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98TElCU3x2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xMSUJTfHZhbHVlfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9GQU1JTFl8dmFsdWV8UFBDMzJnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJkaWFiIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xUT09MX0ZBTUlMWXx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTF9QQVRIfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0xfUEFUSHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFRPT0x8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEMzMmdudSIgdmFsdWU9ImdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNkaWFiIiB2YWx1ZT0iZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98TWFjcm98VE9PTHx2YWx1ZXxQUEM2MDNnbnUiIHZhbHVlPSJnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDMzJkaWFiIiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzMyZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xNYWNyb3xWWF9DUFVfRkFNSUxZfHZhbHVlfFBQQzYwM2RpYWIiIHZhbHVlPSJwcGMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfE1hY3JvfFZYX0NQVV9GQU1JTFl8dmFsdWV8UFBDNjAzZ251IiB2YWx1ZT0icHBjIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHMiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJDLUNvbXBpbGVyIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkMrKy1Db21waWxlciIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUGFydGlhbCBJbWFnZSBMaW5rZXIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iTGlicmFyaWFuIi8+DQotICAgICAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUgdmFsdWU9IkFzc2VtYmxlciIvPg0KLSAgICAgICAgICAgIDwvbGlzdEF0dHJpYnV0ZT4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslYXNzZW1ibGVycHJlZml4JSAkKFRPT0xfUEFUSCljY3BwYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2RpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhc3NlbWJsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFzc2VtYmxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWHByZXByb2Nlc3MtYXNzZW1ibHkgLVhjcHAtbm8tc3BhY2UgIC1YbWFrZS1kZXBlbmRlbmN5PTB4ZCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1XOmM6LC1YY2xpYi1vcHRpbS1vZmYgLVhhbnNpIC1YbG9jYWwtZGF0YS1hcmVhLXN0YXRpYy1vbmx5IC1YcHJlcHJvY2Vzcy1hc3NlbWJseSAtWGNwcC1uby1zcGFjZSAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgICAteGFzc2VtYmxlci13aXRoLWNwcCAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QXNzZW1ibGVyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEFzc2VtYmxlcnxvYmplY3QiIHZhbHVlPSJ0cnVlIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxBc3NlbWJsZXJ8c2lncyIgdmFsdWU9IioucyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNwcGNvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0MrK0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8Y21kfFBQQzMyZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQysrRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxjbWR8UFBDNjAzZ251IiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslY3BwY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DKytGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEMzMmdudSIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtYW5zaSAtV2FsbCAgLU1EIC1NUCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgLVdhbGwgIC1NRCAtTVAgLW1sb25nY2FsbCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfG5vbkRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLU8yIC1mc3RyZW5ndGgtcmVkdWNlIC1mbm8tYnVpbHRpbiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1YTyAtWHNpemUtb3B0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMrKy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDKystQ29tcGlsZXJ8b2JqZWN0IiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8QysrLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmNwcDsqLkM7Ki5jeHg7Ki5jYyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWRjYyAlRGVidWdNb2RlRmxhZ3MlICVUb29sRmxhZ3MlICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpIC1vICVPdXRGaWxlJSAtYyAlSW5GaWxlJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJVRvb2xGbGFncyUgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgLW8gJU91dEZpbGUlIC1jICVJbkZpbGUlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgJURlYnVnTW9kZUZsYWdzJSAlVG9vbEZsYWdzJSAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAtbyAlT3V0RmlsZSUgLWMgJUluRmlsZSUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLWciLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSIkKENDX0FSQ0hfU1BFQykgLWFuc2kgIC1XYWxsICAtTUQgLU1QIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiQoQ0NfQVJDSF9TUEVDKSAtVzpjOiwtWGNsaWItb3B0aW0tb2ZmIC1YYW5zaSAtWGxvY2FsLWRhdGEtYXJlYS1zdGF0aWMtb25seSAtWGZvcmNlLWRlY2xhcmF0aW9ucyAgLVhtYWtlLWRlcGVuZGVuY3k9MHhkIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iJChDQ19BUkNIX1NQRUMpIC1hbnNpICAtV2FsbCAgLU1EIC1NUCAtbWxvbmdjYWxsIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8Qy1Db21waWxlcnxub25EYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfG9iamVjdCIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfEMtQ29tcGlsZXJ8cGFzc0FibGUiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxDLUNvbXBpbGVyfHNpZ3MiIHZhbHVlPSIqLmMiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7OyVhcmNoaXZlcnByZWZpeCUgJChUT09MX1BBVEgpZGFyICVUb29sRmxhZ3MlICVPdXRGaWxlJSAlT2JqZWN0cyUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClkYXIgJVRvb2xGbGFncyUgJU91dEZpbGUlICVPYmplY3RzJSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWFyY2hpdmVycHJlZml4JSAkKFRPT0xfUEFUSClhcnBwYyAlVG9vbEZsYWdzJSAlT3V0RmlsZSUgJU9iamVjdHMlIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRiZ0ZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzMyZGlhYiIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLmEiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufGRlcml2ZWRTaWdzfFBQQzYwM2dudSIgdmFsdWU9IiouYSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSJjcnVzIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iY3J1cyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58bm9uRGJnRmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGJvb2xlYW5BdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaWJyYXJpYW58b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpYnJhcmlhbnxwYXNzQWJsZSIgdmFsdWU9InRydWUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlicmFyaWFufHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmRpYWIiIHZhbHVlPSJlY2hvICZxdW90O2J1aWxkaW5nICRAJnF1b3Q7O3JtIC1mICVPdXRGaWxlJTtkZHVtcCAtTmcgJU9iamVjdHMlICVMaWJyYXJpZXMlIHwgdGNsc2ggJChXSU5EX0JBU0UpL2hvc3QvcmVzb3VyY2UvaHV0aWxzL3RjbC9tdW5jaC50Y2wgLWMgcHBjICZndDsgJChPQkpfRElSKS9jdGR0LmM7JWNjb21waWxlcnByZWZpeCUgJChUT09MX1BBVEgpZGNjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1YZG9sbGFyLWluLWlkZW50IC1YZm9yY2UtZGVjbGFyYXRpb25zICQoQURERURfQ0ZMQUdTKSAlSW5jbHVkZXMlICQoQURERURfSU5DTFVERVMpIC1EQ1BVPSQoQ1BVKSAtRFRPT0xfRkFNSUxZPSQoVE9PTF9GQU1JTFkpIC1EVE9PTD0kKFRPT0wpIC1EX1dSU19LRVJORUwgICAkKERFRklORVMpICAtbyAkKE9CSl9ESVIpL2N0ZHQubyAtYyAkKE9CSl9ESVIpL2N0ZHQuYzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUENGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAkKE9CSl9ESVIpL2N0ZHQubyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgJChMSUJQQVRIKSAkKExJQlMpICAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxjbWR8UFBDNjAzZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO2RkdW1wIC1OZyAlT2JqZWN0cyUgJUxpYnJhcmllcyUgfCB0Y2xzaCAkKFdJTkRfQkFTRSkvaG9zdC9yZXNvdXJjZS9odXRpbHMvdGNsL211bmNoLnRjbCAtYyBwcGMgJmd0OyAkKE9CSl9ESVIpL2N0ZHQuYzslY2NvbXBpbGVycHJlZml4JSAkKFRPT0xfUEFUSClkY2MgJURlYnVnTW9kZUZsYWdzJSAkKENDX0FSQ0hfU1BFQykgLVhkb2xsYXItaW4taWRlbnQgLVhmb3JjZS1kZWNsYXJhdGlvbnMgJChBRERFRF9DRkxBR1MpICVJbmNsdWRlcyUgJChBRERFRF9JTkNMVURFUykgLURDUFU9JChDUFUpIC1EVE9PTF9GQU1JTFk9JChUT09MX0ZBTUlMWSkgLURUT09MPSQoVE9PTCkgLURfV1JTX0tFUk5FTCAgICQoREVGSU5FUykgIC1vICQoT0JKX0RJUikvY3RkdC5vIC1jICQoT0JKX0RJUikvY3RkdC5jOyVsaW5rZXJwcmVmaXglICQoVE9PTF9QQVRIKWRsZCAtdFBQQzYwM0ZIOnZ4d29ya3M2MyAtWCAtcjUgJVRvb2xGbGFncyUgLW8gJU91dEZpbGUlICQoT0JKX0RJUikvY3RkdC5vICVPYmplY3RzJSAlTGlicmFyaWVzJSAkKExJQlBBVEgpICQoTElCUykgICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAmYW1wOyZhbXA7IGlmIFsgJnF1b3Q7JChFWFBBTkRfREJHKSZxdW90OyA9ICZxdW90OzEmcXVvdDsgXTsgdGhlbiBwbGluayAmcXVvdDskQCZxdW90OztmaSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7cm0gLWYgJU91dEZpbGUlO25tcHBjICVPYmplY3RzJSAlTGlicmFyaWVzJSB8IHRjbHNoICQoV0lORF9CQVNFKS9ob3N0L3Jlc291cmNlL2h1dGlscy90Y2wvbXVuY2gudGNsIC1jIHBwYyAmZ3Q7ICQoT0JKX0RJUikvY3RkdC5jOyVjY29tcGlsZXJwcmVmaXglICQoVE9PTF9QQVRIKWNjcHBjICVEZWJ1Z01vZGVGbGFncyUgJChDQ19BUkNIX1NQRUMpIC1mZG9sbGFycy1pbi1pZGVudGlmaWVycyAtV2FsbCAkKEFEREVEX0NGTEFHUykgJUluY2x1ZGVzJSAkKEFEREVEX0lOQ0xVREVTKSAtRENQVT0kKENQVSkgLURUT09MX0ZBTUlMWT0kKFRPT0xfRkFNSUxZKSAtRFRPT0w9JChUT09MKSAtRF9XUlNfS0VSTkVMICAgJChERUZJTkVTKSAgLW8gJChPQkpfRElSKS9jdGR0Lm8gLWMgJChPQkpfRElSKS9jdGR0LmM7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJChPQkpfRElSKS9jdGR0Lm8gJU9iamVjdHMlICVMaWJyYXJpZXMlICQoTElCUEFUSCkgJChMSUJTKSAgJChBRERFRF9MSUJQQVRIKSAkKEFEREVEX0xJQlMpICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGJnRmxhZ3N8UFBDNjAzZGlhYiIgdmFsdWU9Ii1nIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxkYmdGbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItZyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzMyZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGRlcml2ZWRTaWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIqLm91dCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZ251IiB2YWx1ZT0iKi5vdXQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfGZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9Ii1yNCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8ZmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLXI0Ii8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxmbGFnc3xQUEM2MDNnbnUiIHZhbHVlPSItVCAkKFdJTkRfQkFTRSkvdGFyZ2V0L2gvdG9vbC9nbnUvbGRzY3JpcHRzL2xpbmsuT1VUIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmRpYWIiIHZhbHVlPSItWE8gLVhzaXplLW9wdCIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxMaW5rZXJ8bm9uRGJnRmxhZ3N8UFBDMzJnbnUiIHZhbHVlPSItTzIgLWZzdHJlbmd0aC1yZWR1Y2UgLWZuby1idWlsdGluIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iLVhPIC1Yc2l6ZS1vcHQiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9Ii1PMiAtZnN0cmVuZ3RoLXJlZHVjZSAtZm5vLWJ1aWx0aW4iLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfExpbmtlcnxvYmplY3QiIHZhbHVlPSJmYWxzZSIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8TGlua2VyfHNpZ3MiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzMyZGlhYiIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpZGxkIC10UFBDRkg6dnh3b3JrczYzIC1YIC1yNSAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEMzMmdudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGNtZHxQUEM2MDNkaWFiIiB2YWx1ZT0iZWNobyAmcXVvdDtidWlsZGluZyAkQCZxdW90OzslbGlua2VycHJlZml4JSAkKFRPT0xfUEFUSClkbGQgLXRQUEM2MDNGSDp2eHdvcmtzNjMgLVggLXI1ICVUb29sRmxhZ3MlIC1vICVPdXRGaWxlJSAlT2JqZWN0cyUgJChMSUJQQVRIKSAkKExJQlMpICQoQURERURfTElCUEFUSCkgJChBRERFRF9MSUJTKSAgJmFtcDsmYW1wOyBpZiBbICZxdW90OyQoRVhQQU5EX0RCRykmcXVvdDsgPSAmcXVvdDsxJnF1b3Q7IF07IHRoZW4gcGxpbmsgJnF1b3Q7JEAmcXVvdDs7ZmkiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8Y21kfFBQQzYwM2dudSIgdmFsdWU9ImVjaG8gJnF1b3Q7YnVpbGRpbmcgJEAmcXVvdDs7JWxpbmtlcnByZWZpeCUgJChUT09MX1BBVEgpY2NwcGMgLXIgLW5vc3RkbGliIC1XbCwtWCAlVG9vbEZsYWdzJSAtbyAlT3V0RmlsZSUgJU9iamVjdHMlICQoTElCUEFUSCkgJChMSUJTKSAkKEFEREVEX0xJQlBBVEgpICQoQURERURfTElCUykgICZhbXA7JmFtcDsgaWYgWyAmcXVvdDskKEVYUEFORF9EQkcpJnF1b3Q7ID0gJnF1b3Q7MSZxdW90OyBdOyB0aGVuIHBsaW5rICZxdW90OyRAJnF1b3Q7O2ZpIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEMzMmRpYWIiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDMzJnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZGVyaXZlZFNpZ3N8UFBDNjAzZGlhYiIgdmFsdWU9IioubyIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxkZXJpdmVkU2lnc3xQUEM2MDNnbnUiIHZhbHVlPSIqLm8iLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDMzJkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzMyZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfGZsYWdzfFBQQzYwM2RpYWIiIHZhbHVlPSIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8ZmxhZ3N8UFBDNjAzZ251IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzMyZGlhYiIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEMzMmdudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxub25EYmdGbGFnc3xQUEM2MDNkaWFiIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfG5vbkRiZ0ZsYWdzfFBQQzYwM2dudSIgdmFsdWU9IiIvPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfFRvb2x8UGFydGlhbCBJbWFnZSBMaW5rZXJ8b2JqZWN0IiB2YWx1ZT0iZmFsc2UiLz4NCi0gICAgICAgICAgICA8Ym9vbGVhbkF0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xUb29sfFBhcnRpYWwgSW1hZ2UgTGlua2VyfHBhc3NBYmxlIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98VG9vbHxQYXJ0aWFsIEltYWdlIExpbmtlcnxzaWdzIiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSBrZXk9IkJMRDo6SW5mb3xjbWQiIHZhbHVlPSIlbWFrZXByZWZpeCUgbWFrZSAtLW5vLXByaW50LWRpcmVjdG9yeSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98ZGVmYXVsdFNwZWMiIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzMyZGlhYiIgdmFsdWU9IlBQQzMyZGlhYiIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDMzJnbnUiIHZhbHVlPSJQUEMzMmdudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJEaXJ8UFBDNjAzZGlhYiIgdmFsdWU9IlBQQzYwM2RpYWIiLz4NCi0gICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIGtleT0iQkxEOjpJbmZvfHJlZGlyRGlyfFBQQzYwM2dudSIgdmFsdWU9IlBQQzYwM2dudSIvPg0KLSAgICAgICAgICAgIDxzdHJpbmdBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98cmVkaXJSb290IiB2YWx1ZT0iIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCTEQ6OkluZm98c3BlY3MiPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEMzMmRpYWIiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDMzJnbnUiLz4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZGlhYiIvPg0KLSAgICAgICAgICAgICAgICA8c3RyaW5nQXR0cmlidXRlIHZhbHVlPSJQUEM2MDNnbnUiLz4NCi0gICAgICAgICAgICA8L2xpc3RBdHRyaWJ1dGU+DQotICAgICAgICAgICAgPGludEF0dHJpYnV0ZSBrZXk9IkJ1aWxkU3VwcG9ydEVuYWJsZWQiIHZhbHVlPSIxIi8+DQotICAgICAgICAgICAgPGxpc3RBdHRyaWJ1dGUga2V5PSJCdWlsZFN1cHBvcnRGb3JCdWlsZFNwZWNzIj4NCi0gICAgICAgICAgICAgICAgPHN0cmluZ0F0dHJpYnV0ZSB2YWx1ZT0iUFBDNjAzZ251Ii8+DQotICAgICAgICAgICAgPC9saXN0QXR0cmlidXRlPg0KLSAgICAgICAgICAgIDxib29sZWFuQXR0cmlidXRlIGtleT0iQnVpbGRUYXJnZXRDZW50cmljIiB2YWx1ZT0idHJ1ZSIvPg0KLSAgICAgICAgPC9tYXBBdHRyaWJ1dGU+DQotICAgIDwvYXR0cmlidXRlcz4NCi0gICAgPGJ1aWxkdGFyZ2V0cz4NCi0gICAgICAgIDxidWlsZHRhcmdldCBidWlsZHRvb2w9IkxpbmtlciIgbmFtZT0iQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZSIgcGFzc2VkPSJmYWxzZSIgdGFyZ2V0bmFtZT0iQ29tbWFuZEJhc2VkUm9ib3RUZW1wbGF0ZSI+DQotICAgICAgICAgICAgPGNvbnRlbnRzPg0KLSAgICAgICAgICAgICAgICA8Zm9sZGVyIG5hbWU9Ii9Sb2JvdDIwMTMiIHJlY3Vyc2l2ZT0idHJ1ZSIvPg0KLSAgICAgICAgICAgIDwvY29udGVudHM+DQotICAgICAgICA8L2J1aWxkdGFyZ2V0Pg0KLSAgICAgICAgPGJ1aWxkdGFyZ2V0IGJ1aWxkdG9vbD0iUGFydGlhbCBJbWFnZSBMaW5rZXIiIG5hbWU9IkNvbW1hbmRCYXNzZWRSb2JvdFRlbXBsYXRlX3BhcnRpYWxJbWFnZSIgcGFzc2VkPSJ0cnVlIiB0YXJnZXRuYW1lPSJDb21tYW5kQmFzc2VkUm9ib3RUZW1wbGF0ZV9wYXJ0aWFsSW1hZ2UiPg0KLSAgICAgICAgICAgIDxjb250ZW50cz4NCi0gICAgICAgICAgICAgICAgPGZvbGRlciBuYW1lPSIvUm9ib3QyMDEzIiByZWN1cnNpdmU9InRydWUiLz4NCi0gICAgICAgICAgICA8L2NvbnRlbnRzPg0KLSAgICAgICAgPC9idWlsZHRhcmdldD4NCi0gICAgPC9idWlsZHRhcmdldHM+DQotPC93cnhtbD4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Db21tYW5kcy9BdXRvbm9tb3VzQ29tbWFuZC5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Db21tYW5kcy9BdXRvbm9tb3VzQ29tbWFuZC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZjExM2QuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvQ29tbWFuZHMvQXV0b25vbW91c0NvbW1hbmQuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaW5jbHVkZSAiQXV0b25vbW91c0NvbW1hbmQuaCINCi1BdXRvbm9tb3VzQ29tbWFuZDo6QXV0b25vbW91c0NvbW1hbmQoKSB7DQotCS8vIFVzZSByZXF1aXJlcygpIGhlcmUgdG8gZGVjbGFyZSBzdWJzeXN0ZW0gZGVwZW5kZW5jaWVzDQotCS8vIGVnLiByZXF1aXJlcyhjaGFzc2lzKTsNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPVJFUVVJUkVTDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9UkVRVUlSRVMNCi19DQotLy8gQ2FsbGVkIGp1c3QgYmVmb3JlIHRoaXMgQ29tbWFuZCBydW5zIHRoZSBmaXJzdCB0aW1lDQotdm9pZCBBdXRvbm9tb3VzQ29tbWFuZDo6SW5pdGlhbGl6ZSgpIHsNCi0JDQotfQ0KLS8vIENhbGxlZCByZXBlYXRlZGx5IHdoZW4gdGhpcyBDb21tYW5kIGlzIHNjaGVkdWxlZCB0byBydW4NCi12b2lkIEF1dG9ub21vdXNDb21tYW5kOjpFeGVjdXRlKCkgew0KLQkNCi19DQotLy8gTWFrZSB0aGlzIHJldHVybiB0cnVlIHdoZW4gdGhpcyBDb21tYW5kIG5vIGxvbmdlciBuZWVkcyB0byBydW4gZXhlY3V0ZSgpDQotYm9vbCBBdXRvbm9tb3VzQ29tbWFuZDo6SXNGaW5pc2hlZCgpIHsNCi0JcmV0dXJuIGZhbHNlOw0KLX0NCi0vLyBDYWxsZWQgb25jZSBhZnRlciBpc0ZpbmlzaGVkIHJldHVybnMgdHJ1ZQ0KLXZvaWQgQXV0b25vbW91c0NvbW1hbmQ6OkVuZCgpIHsNCi0JDQotfQ0KLS8vIENhbGxlZCB3aGVuIGFub3RoZXIgY29tbWFuZCB3aGljaCByZXF1aXJlcyBvbmUgb3IgbW9yZSBvZiB0aGUgc2FtZQ0KLS8vIHN1YnN5c3RlbXMgaXMgc2NoZWR1bGVkIHRvIHJ1bg0KLXZvaWQgQXV0b25vbW91c0NvbW1hbmQ6OkludGVycnVwdGVkKCkgew0KLX0NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Db21tYW5kcy9BdXRvbm9tb3VzQ29tbWFuZC5oIGIvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvQ29tbWFuZHMvQXV0b25vbW91c0NvbW1hbmQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU1YzQyZC4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Db21tYW5kcy9BdXRvbm9tb3VzQ29tbWFuZC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0NCi0NCi0jaWZuZGVmIEFVVE9OT01PVVNfQ09NTUFORF9IDQotI2RlZmluZSBBVVRPTk9NT1VTX0NPTU1BTkRfSA0KLQ0KLQ0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiLi4vUm9ib3QuaCINCi0NCi0vKioNCi0gKg0KLSAqDQotICogQGF1dGhvciBFeGFtcGxlQXV0aG9yDQotICovDQotY2xhc3MgQXV0b25vbW91c0NvbW1hbmQ6IHB1YmxpYyBDb21tYW5kIHsNCi1wdWJsaWM6DQotCUF1dG9ub21vdXNDb21tYW5kKCk7DQotCXZpcnR1YWwgdm9pZCBJbml0aWFsaXplKCk7DQotCXZpcnR1YWwgdm9pZCBFeGVjdXRlKCk7DQotCXZpcnR1YWwgYm9vbCBJc0ZpbmlzaGVkKCk7DQotCXZpcnR1YWwgdm9pZCBFbmQoKTsNCi0JdmlydHVhbCB2b2lkIEludGVycnVwdGVkKCk7DQotfTsNCi0NCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9PSS5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9PSS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU3OWVkM2IuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvT0kuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaW5jbHVkZSAiT0kuaCINCi0vLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9SU5DTFVERVMNCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQXV0b25vbW91c0NvbW1hbmQuaCINCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1JTkNMVURFUw0KLU9JOjpPSSgpIHsNCi0JLy8gUHJvY2VzcyBvcGVyYXRvciBpbnRlcmZhY2UgaW5wdXQgaGVyZS4NCi0gICAgICAgIC8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1DT05TVFJVQ1RPUlMNCi0gICAgIA0KLSAgICAgICAgLy8gU21hcnREYXNoYm9hcmQgQnV0dG9ucw0KLQlTbWFydERhc2hib2FyZDo6UHV0RGF0YSgiQXV0b25vbW91cyBDb21tYW5kIiwgbmV3IEF1dG9ub21vdXNDb21tYW5kKCkpOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPUNPTlNUUlVDVE9SUw0KLX0NCi0vLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9RlVOQ1RJT05TDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9RlVOQ1RJT05TDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvT0kuaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL09JLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwYmI1ZmYuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvT0kuaAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2lmbmRlZiBPSV9IDQotI2RlZmluZSBPSV9IDQotI2luY2x1ZGUgIldQSUxpYi5oIg0KLWNsYXNzIE9JIHsNCi1wcml2YXRlOg0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotcHVibGljOg0KLQlPSSgpOw0KLSANCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPVBST1RPVFlQRVMNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1QUk9UT1RZUEVTDQotfTsNCi0jZW5kaWYNCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Sb2JvdC5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Sb2JvdC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MWYwMzMuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvUm9ib3QuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaW5jbHVkZSAiUm9ib3QuaCINCi0vLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9SU5JVElBTElaQVRJT04NCi1BaXJDb21wcmVzc29yKiBSb2JvdDo6YWlyQ29tcHJlc3NvciA9IDA7DQotRHJpdmVUcmFpbiogUm9ib3Q6OmRyaXZlVHJhaW4gPSAwOw0KLVNob290ZXJXaGVlbFBJRENvbnRyb2xsZXIqIFJvYm90OjpzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyID0gMDsNCi1TaG9vdGVyKiBSb2JvdDo6c2hvb3RlciA9IDA7DQotRnJpc2JlZVN0b3JhZ2UqIFJvYm90OjpmcmlzYmVlU3RvcmFnZSA9IDA7DQotRnJpc2JlZVBpY2t1cCogUm9ib3Q6OmZyaXNiZWVQaWNrdXAgPSAwOw0KLVBpY2t1cEFybSogUm9ib3Q6OnBpY2t1cEFybSA9IDA7DQotT0kqIFJvYm90OjpvaSA9IDA7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9SU5JVElBTElaQVRJT04NCi12b2lkIFJvYm90OjpSb2JvdEluaXQoKSB7DQotCVJvYm90TWFwOjppbml0KCk7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1DT05TVFJVQ1RPUlMNCi0JYWlyQ29tcHJlc3NvciA9IG5ldyBBaXJDb21wcmVzc29yKCk7DQotCWRyaXZlVHJhaW4gPSBuZXcgRHJpdmVUcmFpbigpOw0KLQlzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyID0gbmV3IFNob290ZXJXaGVlbFBJRENvbnRyb2xsZXIoKTsNCi0Jc2hvb3RlciA9IG5ldyBTaG9vdGVyKCk7DQotCWZyaXNiZWVTdG9yYWdlID0gbmV3IEZyaXNiZWVTdG9yYWdlKCk7DQotCWZyaXNiZWVQaWNrdXAgPSBuZXcgRnJpc2JlZVBpY2t1cCgpOw0KLQlwaWNrdXBBcm0gPSBuZXcgUGlja3VwQXJtKCk7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9Q09OU1RSVUNUT1JTDQotCS8vIFRoaXMgTVVTVCBiZSBoZXJlLiBJZiB0aGUgT0kgY3JlYXRlcyBDb21tYW5kcyAod2hpY2ggaXQgdmVyeSBsaWtlbHkNCi0JLy8gd2lsbCksIGNvbnN0cnVjdGluZyBpdCBkdXJpbmcgdGhlIGNvbnN0cnVjdGlvbiBvZiBDb21tYW5kQmFzZSAoZnJvbQ0KLQkvLyB3aGljaCBjb21tYW5kcyBleHRlbmQpLCBzdWJzeXN0ZW1zIGFyZSBub3QgZ3VhcmFudGVlZCB0byBiZQ0KLQkvLyB5ZXQuIFRodXMsIHRoZWlyIHJlcXVpcmVzKCkgc3RhdGVtZW50cyBtYXkgZ3JhYiBudWxsIHBvaW50ZXJzLiBCYWQNCi0JLy8gbmV3cy4gRG9uJ3QgbW92ZSBpdC4NCi0Jb2kgPSBuZXcgT0koKTsNCi0JbHcgPSBMaXZlV2luZG93OjpHZXRJbnN0YW5jZSgpOw0KLQkvLyBpbnN0YW50aWF0ZSB0aGUgY29tbWFuZCB1c2VkIGZvciB0aGUgYXV0b25vbW91cyBwZXJpb2QNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPUFVVE9OT01PVVMNCi0JYXV0b25vbW91c0NvbW1hbmQgPSBuZXcgQXV0b25vbW91c0NvbW1hbmQoKTsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1BVVRPTk9NT1VTDQotICB9DQotCQ0KLXZvaWQgUm9ib3Q6OkF1dG9ub21vdXNJbml0KCkgew0KLQlpZiAoYXV0b25vbW91c0NvbW1hbmQgIT0gTlVMTCkNCi0JCWF1dG9ub21vdXNDb21tYW5kLT5TdGFydCgpOw0KLX0NCi0JDQotdm9pZCBSb2JvdDo6QXV0b25vbW91c1BlcmlvZGljKCkgew0KLQlTY2hlZHVsZXI6OkdldEluc3RhbmNlKCktPlJ1bigpOw0KLX0NCi0JDQotdm9pZCBSb2JvdDo6VGVsZW9wSW5pdCgpIHsNCi0JLy8gVGhpcyBtYWtlcyBzdXJlIHRoYXQgdGhlIGF1dG9ub21vdXMgc3RvcHMgcnVubmluZyB3aGVuDQotCS8vIHRlbGVvcCBzdGFydHMgcnVubmluZy4gSWYgeW91IHdhbnQgdGhlIGF1dG9ub21vdXMgdG8gDQotCS8vIGNvbnRpbnVlIHVudGlsIGludGVycnVwdGVkIGJ5IGFub3RoZXIgY29tbWFuZCwgcmVtb3ZlDQotCS8vIHRoaXMgbGluZSBvciBjb21tZW50IGl0IG91dC4NCi0JYXV0b25vbW91c0NvbW1hbmQtPkNhbmNlbCgpOw0KLX0NCi0JDQotdm9pZCBSb2JvdDo6VGVsZW9wUGVyaW9kaWMoKSB7DQotCWlmIChhdXRvbm9tb3VzQ29tbWFuZCAhPSBOVUxMKQ0KLQkJU2NoZWR1bGVyOjpHZXRJbnN0YW5jZSgpLT5SdW4oKTsNCi19DQotdm9pZCBSb2JvdDo6VGVzdFBlcmlvZGljKCkgew0KLQlsdy0+UnVuKCk7DQotfQ0KLVNUQVJUX1JPQk9UX0NMQVNTKFJvYm90KTsNCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Sb2JvdC5oIGIvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvUm9ib3QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRjZjliNS4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Sb2JvdC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaWZuZGVmIF9ST0JPVF9IDQotI2RlZmluZSBfUk9CT1RfSA0KLSNpbmNsdWRlICJXUElMaWIuaCINCi0jaW5jbHVkZSAiQ29tbWFuZHMvQ29tbWFuZC5oIg0KLSNpbmNsdWRlICJSb2JvdE1hcC5oIg0KLSNpbmNsdWRlICJMaXZlV2luZG93L0xpdmVXaW5kb3cuaCINCi0vLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9SU5DTFVERVMNCi0jaW5jbHVkZSAiQ29tbWFuZHMvQXV0b25vbW91c0NvbW1hbmQuaCINCi0jaW5jbHVkZSAiU3Vic3lzdGVtcy9BaXJDb21wcmVzc29yLmgiDQotI2luY2x1ZGUgIlN1YnN5c3RlbXMvRHJpdmVUcmFpbi5oIg0KLSNpbmNsdWRlICJTdWJzeXN0ZW1zL0ZyaXNiZWVQaWNrdXAuaCINCi0jaW5jbHVkZSAiU3Vic3lzdGVtcy9GcmlzYmVlU3RvcmFnZS5oIg0KLSNpbmNsdWRlICJTdWJzeXN0ZW1zL1BpY2t1cEFybS5oIg0KLSNpbmNsdWRlICJTdWJzeXN0ZW1zL1Nob290ZXIuaCINCi0jaW5jbHVkZSAiU3Vic3lzdGVtcy9TaG9vdGVyV2hlZWxQSURDb250cm9sbGVyLmgiDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9SU5DTFVERVMNCi0jaW5jbHVkZSAiT0kuaCINCi1jbGFzcyBSb2JvdCA6IHB1YmxpYyBJdGVyYXRpdmVSb2JvdCB7DQotcHVibGljOg0KLQlDb21tYW5kICphdXRvbm9tb3VzQ29tbWFuZDsNCi0Jc3RhdGljIE9JICpvaTsNCi0JTGl2ZVdpbmRvdyAqbHc7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0Jc3RhdGljIEFpckNvbXByZXNzb3IqIGFpckNvbXByZXNzb3I7DQotCXN0YXRpYyBEcml2ZVRyYWluKiBkcml2ZVRyYWluOw0KLQlzdGF0aWMgU2hvb3RlcldoZWVsUElEQ29udHJvbGxlciogc2hvb3RlcldoZWVsUElEQ29udHJvbGxlcjsNCi0Jc3RhdGljIFNob290ZXIqIHNob290ZXI7DQotCXN0YXRpYyBGcmlzYmVlU3RvcmFnZSogZnJpc2JlZVN0b3JhZ2U7DQotCXN0YXRpYyBGcmlzYmVlUGlja3VwKiBmcmlzYmVlUGlja3VwOw0KLQlzdGF0aWMgUGlja3VwQXJtKiBwaWNrdXBBcm07DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCXZpcnR1YWwgdm9pZCBSb2JvdEluaXQoKTsNCi0JdmlydHVhbCB2b2lkIEF1dG9ub21vdXNJbml0KCk7DQotCXZpcnR1YWwgdm9pZCBBdXRvbm9tb3VzUGVyaW9kaWMoKTsNCi0JdmlydHVhbCB2b2lkIFRlbGVvcEluaXQoKTsNCi0JdmlydHVhbCB2b2lkIFRlbGVvcFBlcmlvZGljKCk7DQotCXZpcnR1YWwgdm9pZCBUZXN0UGVyaW9kaWMoKTsNCi19Ow0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1JvYm90TWFwLmNwcCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1JvYm90TWFwLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjdlZjc5NS4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9Sb2JvdE1hcC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNDkgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaW5jbHVkZSAiUm9ib3RNYXAuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPUFMTE9DQVRJT04NCi1Db21wcmVzc29yKiBSb2JvdE1hcDo6YWlyQ29tcHJlc3NvckFpckNvbXByZXNzb3IgPSBOVUxMOw0KLVNvbGVub2lkKiBSb2JvdE1hcDo6ZHJpdmVUcmFpbkxlZnRTaGlmdGVyID0gTlVMTDsNCi1Tb2xlbm9pZCogUm9ib3RNYXA6OmRyaXZlVHJhaW5SaWdodFNoaWZ0ZXIgPSBOVUxMOw0KLVNwZWVkQ29udHJvbGxlciogUm9ib3RNYXA6OmRyaXZlVHJhaW5MZWZ0TW90b3JzMWFuZDIgPSBOVUxMOw0KLVNwZWVkQ29udHJvbGxlciogUm9ib3RNYXA6OmRyaXZlVHJhaW5MZWZ0TW90b3IzID0gTlVMTDsNCi1TcGVlZENvbnRyb2xsZXIqIFJvYm90TWFwOjpkcml2ZVRyYWluUmlnaHRNb3RvcnMxYW5kMiA9IE5VTEw7DQotU3BlZWRDb250cm9sbGVyKiBSb2JvdE1hcDo6ZHJpdmVUcmFpblJpZ2h0TW90b3IzID0gTlVMTDsNCi1Sb2JvdERyaXZlKiBSb2JvdE1hcDo6ZHJpdmVUcmFpblJvYm90RHJpdmUgPSBOVUxMOw0KLUVuY29kZXIqIFJvYm90TWFwOjpkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJMZWZ0ID0gTlVMTDsNCi1FbmNvZGVyKiBSb2JvdE1hcDo6ZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyUmlnaHQgPSBOVUxMOw0KLVNwZWVkQ29udHJvbGxlciogUm9ib3RNYXA6OnNob290ZXJXaGVlbFBJRENvbnRyb2xsZXJTaG9vdGVyTW90b3IgPSBOVUxMOw0KLUVuY29kZXIqIFJvYm90TWFwOjpzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyU2hvb3RlclNwZWVkRW5jb2RlciA9IE5VTEw7DQotU3BlZWRDb250cm9sbGVyKiBSb2JvdE1hcDo6c2hvb3RlclNob290ZXJUaWx0TW90b3IgPSBOVUxMOw0KLUVuY29kZXIqIFJvYm90TWFwOjpzaG9vdGVyU2hvb3RlclRpbHRFbmNvZGVyID0gTlVMTDsNCi1HZWFyVG9vdGgqIFJvYm90TWFwOjpzaG9vdGVyU2hvb3RlclRpbHRIb21lU2Vuc29yID0gTlVMTDsNCi1Tb2xlbm9pZCogUm9ib3RNYXA6OnNob290ZXJMYXRjaEZyaXNiZWVTb2xlbm9pZCA9IE5VTEw7DQotU29sZW5vaWQqIFJvYm90TWFwOjpzaG9vdGVyTG9hZEZyaXNiZWVTb2xlbm9pZCA9IE5VTEw7DQotU29sZW5vaWQqIFJvYm90TWFwOjpzaG9vdGVyU2hvb3RTb2xlbm9pZCA9IE5VTEw7DQotU3BlZWRDb250cm9sbGVyKiBSb2JvdE1hcDo6ZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlck1vdG9yID0gTlVMTDsNCi1FbmNvZGVyKiBSb2JvdE1hcDo6ZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlclNwZWVkRW5jb2RlciA9IE5VTEw7DQotRGlnaXRhbElucHV0KiBSb2JvdE1hcDo6ZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5wdXRPcHRpY2FsU2Vuc29yID0gTlVMTDsNCi1EaWdpdGFsSW5wdXQqIFJvYm90TWFwOjpmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleE9wdGljYWxTZW5zb3IgPSBOVUxMOw0KLURpZ2l0YWxJbnB1dCogUm9ib3RNYXA6OmZyaXNiZWVTdG9yYWdlRnJpc2JlZVJlYWR5dG9zaG9vdE9wdGljYWxTZW5zb3IgPSBOVUxMOw0KLVNwZWVkQ29udHJvbGxlciogUm9ib3RNYXA6OmZyaXNiZWVQaWNrdXBJbnRha2VhbmRDZW50ZXJpbmdSb2xsZXJNb3RvcnMgPSBOVUxMOw0KLVNwZWVkQ29udHJvbGxlciogUm9ib3RNYXA6OnBpY2t1cEFybVBpY2t1cEFybU1vdG9yID0gTlVMTDsNCi1FbmNvZGVyKiBSb2JvdE1hcDo6cGlja3VwQXJtUGlja3VwQXJtRW5jb2RlciA9IE5VTEw7DQotUElEQ29udHJvbGxlciogUm9ib3RNYXA6OnBpY2t1cEFybVBpY2t1cEFybVBJRENvbnRyb2xsZXIgPSBOVUxMOw0KLUdlYXJUb290aCogUm9ib3RNYXA6OnBpY2t1cEFybVBpY2t1cEFybUhvbWVTZW5zb3IgPSBOVUxMOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPUFMTE9DQVRJT04NCi12b2lkIFJvYm90TWFwOjppbml0KCkgew0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9Q09OU1RSVUNUT1JTDQotCUxpdmVXaW5kb3cqIGx3ID0gTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKTsNCi0JYWlyQ29tcHJlc3NvckFpckNvbXByZXNzb3IgPSBuZXcgQ29tcHJlc3NvcigxLCA1LCAxLCAxKTsNCi0JDQotCQ0KLQlkcml2ZVRyYWluTGVmdFNoaWZ0ZXIgPSBuZXcgU29sZW5vaWQoMSwgMSk7DQotCWx3LT5BZGRBY3R1YXRvcigiRHJpdmUgVHJhaW4iLCAiTGVmdCBTaGlmdGVyIiwgZHJpdmVUcmFpbkxlZnRTaGlmdGVyKTsNCi0JDQotCWRyaXZlVHJhaW5SaWdodFNoaWZ0ZXIgPSBuZXcgU29sZW5vaWQoMSwgMik7DQotCWx3LT5BZGRBY3R1YXRvcigiRHJpdmUgVHJhaW4iLCAiUmlnaHQgU2hpZnRlciIsIGRyaXZlVHJhaW5SaWdodFNoaWZ0ZXIpOw0KLQkNCi0JZHJpdmVUcmFpbkxlZnRNb3RvcnMxYW5kMiA9IG5ldyBUYWxvbigxLCA1KTsNCi0JbHctPkFkZEFjdHVhdG9yKCJEcml2ZSBUcmFpbiIsICJMZWZ0IE1vdG9ycyAxIGFuZCAyIiwgKFRhbG9uKikgZHJpdmVUcmFpbkxlZnRNb3RvcnMxYW5kMik7DQotCQ0KLQlkcml2ZVRyYWluTGVmdE1vdG9yMyA9IG5ldyBUYWxvbigxLCA2KTsNCi0JbHctPkFkZEFjdHVhdG9yKCJEcml2ZSBUcmFpbiIsICJMZWZ0IE1vdG9yIDMiLCAoVGFsb24qKSBkcml2ZVRyYWluTGVmdE1vdG9yMyk7DQotCQ0KLQlkcml2ZVRyYWluUmlnaHRNb3RvcnMxYW5kMiA9IG5ldyBUYWxvbigxLCAyKTsNCi0JbHctPkFkZEFjdHVhdG9yKCJEcml2ZSBUcmFpbiIsICJSaWdodCBNb3RvcnMgMSBhbmQgMiIsIChUYWxvbiopIGRyaXZlVHJhaW5SaWdodE1vdG9yczFhbmQyKTsNCi0JDQotCWRyaXZlVHJhaW5SaWdodE1vdG9yMyA9IG5ldyBUYWxvbigxLCAzKTsNCi0JbHctPkFkZEFjdHVhdG9yKCJEcml2ZSBUcmFpbiIsICJSaWdodCBNb3RvciAzIiwgKFRhbG9uKikgZHJpdmVUcmFpblJpZ2h0TW90b3IzKTsNCi0JDQotCWRyaXZlVHJhaW5Sb2JvdERyaXZlID0gbmV3IFJvYm90RHJpdmUoZHJpdmVUcmFpbkxlZnRNb3RvcnMxYW5kMiwgZHJpdmVUcmFpbkxlZnRNb3RvcjMsDQotICAgICAgICAgICAgICBkcml2ZVRyYWluUmlnaHRNb3RvcnMxYW5kMiwgZHJpdmVUcmFpblJpZ2h0TW90b3IzKTsNCi0JDQotCWRyaXZlVHJhaW5Sb2JvdERyaXZlLT5TZXRTYWZldHlFbmFibGVkKHRydWUpOw0KLSAgICAgICAgZHJpdmVUcmFpblJvYm90RHJpdmUtPlNldEV4cGlyYXRpb24oMC4xKTsNCi0gICAgICAgIGRyaXZlVHJhaW5Sb2JvdERyaXZlLT5TZXRTZW5zaXRpdml0eSgwLjUpOw0KLSAgICAgICAgZHJpdmVUcmFpblJvYm90RHJpdmUtPlNldE1heE91dHB1dCgxLjApOw0KLSAgICAgICAgZHJpdmVUcmFpblJvYm90RHJpdmUtPlNldEludmVydGVkTW90b3IoUm9ib3REcml2ZTo6a0Zyb250TGVmdE1vdG9yLCB0cnVlKTsNCi0gICAgICAgIGRyaXZlVHJhaW5Sb2JvdERyaXZlLT5TZXRJbnZlcnRlZE1vdG9yKFJvYm90RHJpdmU6OmtSZWFyTGVmdE1vdG9yLCB0cnVlKTsNCi0JZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyTGVmdCA9IG5ldyBFbmNvZGVyKDEsIDEsIDEsIDIsIGZhbHNlLCBFbmNvZGVyOjprNFgpOw0KLQlsdy0+QWRkU2Vuc29yKCJEcml2ZSBUcmFpbiIsICJRdWFkcmF0dXJlIEVuY29kZXIgTGVmdCIsIGRyaXZlVHJhaW5RdWFkcmF0dXJlRW5jb2RlckxlZnQpOw0KLQlkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJMZWZ0LT5TZXREaXN0YW5jZVBlclB1bHNlKDEuMCk7DQotICAgICAgICBkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJMZWZ0LT5TZXRQSURTb3VyY2VQYXJhbWV0ZXIoRW5jb2Rlcjo6a1JhdGUpOw0KLSAgICAgICAgZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyTGVmdC0+U3RhcnQoKTsNCi0JZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyUmlnaHQgPSBuZXcgRW5jb2RlcigxLCAzLCAxLCA0LCBmYWxzZSwgRW5jb2Rlcjo6azRYKTsNCi0JbHctPkFkZFNlbnNvcigiRHJpdmUgVHJhaW4iLCAiUXVhZHJhdHVyZSBFbmNvZGVyIFJpZ2h0IiwgZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyUmlnaHQpOw0KLQlkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJSaWdodC0+U2V0RGlzdGFuY2VQZXJQdWxzZSgxLjApOw0KLSAgICAgICAgZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyUmlnaHQtPlNldFBJRFNvdXJjZVBhcmFtZXRlcihFbmNvZGVyOjprUmF0ZSk7DQotICAgICAgICBkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJSaWdodC0+U3RhcnQoKTsNCi0Jc2hvb3RlcldoZWVsUElEQ29udHJvbGxlclNob290ZXJNb3RvciA9IG5ldyBUYWxvbigxLCAxKTsNCi0JbHctPkFkZEFjdHVhdG9yKCJTaG9vdGVyIFdoZWVsIFBJRCBDb250cm9sbGVyIiwgIlNob290ZXIgTW90b3IiLCAoVGFsb24qKSBzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyU2hvb3Rlck1vdG9yKTsNCi0JDQotCXNob290ZXJXaGVlbFBJRENvbnRyb2xsZXJTaG9vdGVyU3BlZWRFbmNvZGVyID0gbmV3IEVuY29kZXIoMSwgNiwgMiwgMSwgZmFsc2UsIEVuY29kZXI6Oms0WCk7DQotCWx3LT5BZGRTZW5zb3IoIlNob290ZXIgV2hlZWwgUElEIENvbnRyb2xsZXIiLCAiU2hvb3RlciBTcGVlZCBFbmNvZGVyIiwgc2hvb3RlcldoZWVsUElEQ29udHJvbGxlclNob290ZXJTcGVlZEVuY29kZXIpOw0KLQlzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyU2hvb3RlclNwZWVkRW5jb2Rlci0+U2V0RGlzdGFuY2VQZXJQdWxzZSgxLjApOw0KLSAgICAgICAgc2hvb3RlcldoZWVsUElEQ29udHJvbGxlclNob290ZXJTcGVlZEVuY29kZXItPlNldFBJRFNvdXJjZVBhcmFtZXRlcihFbmNvZGVyOjprUmF0ZSk7DQotICAgICAgICBzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyU2hvb3RlclNwZWVkRW5jb2Rlci0+U3RhcnQoKTsNCi0Jc2hvb3RlclNob290ZXJUaWx0TW90b3IgPSBuZXcgVGFsb24oMSwgNCk7DQotCWx3LT5BZGRBY3R1YXRvcigiU2hvb3RlciIsICJTaG9vdGVyIFRpbHQgTW90b3IiLCAoVGFsb24qKSBzaG9vdGVyU2hvb3RlclRpbHRNb3Rvcik7DQotCQ0KLQlzaG9vdGVyU2hvb3RlclRpbHRFbmNvZGVyID0gbmV3IEVuY29kZXIoMSwgNywgMSwgOCwgZmFsc2UsIEVuY29kZXI6Oms0WCk7DQotCWx3LT5BZGRTZW5zb3IoIlNob290ZXIiLCAiU2hvb3RlciBUaWx0IEVuY29kZXIiLCBzaG9vdGVyU2hvb3RlclRpbHRFbmNvZGVyKTsNCi0Jc2hvb3RlclNob290ZXJUaWx0RW5jb2Rlci0+U2V0RGlzdGFuY2VQZXJQdWxzZSgxLjApOw0KLSAgICAgICAgc2hvb3RlclNob290ZXJUaWx0RW5jb2Rlci0+U2V0UElEU291cmNlUGFyYW1ldGVyKEVuY29kZXI6OmtSYXRlKTsNCi0gICAgICAgIHNob290ZXJTaG9vdGVyVGlsdEVuY29kZXItPlN0YXJ0KCk7DQotCXNob290ZXJTaG9vdGVyVGlsdEhvbWVTZW5zb3IgPSBuZXcgR2VhclRvb3RoKDEsIDksIGZhbHNlKTsNCi0JbHctPkFkZFNlbnNvcigiU2hvb3RlciIsICJTaG9vdGVyIFRpbHQgSG9tZSBTZW5zb3IiLCBzaG9vdGVyU2hvb3RlclRpbHRIb21lU2Vuc29yKTsNCi0JDQotCXNob290ZXJMYXRjaEZyaXNiZWVTb2xlbm9pZCA9IG5ldyBTb2xlbm9pZCgxLCA1KTsNCi0JbHctPkFkZEFjdHVhdG9yKCJTaG9vdGVyIiwgIkxhdGNoIEZyaXNiZWUgU29sZW5vaWQiLCBzaG9vdGVyTGF0Y2hGcmlzYmVlU29sZW5vaWQpOw0KLQkNCi0Jc2hvb3RlckxvYWRGcmlzYmVlU29sZW5vaWQgPSBuZXcgU29sZW5vaWQoMSwgMyk7DQotCWx3LT5BZGRBY3R1YXRvcigiU2hvb3RlciIsICJMb2FkIEZyaXNiZWUgU29sZW5vaWQiLCBzaG9vdGVyTG9hZEZyaXNiZWVTb2xlbm9pZCk7DQotCQ0KLQlzaG9vdGVyU2hvb3RTb2xlbm9pZCA9IG5ldyBTb2xlbm9pZCgxLCA0KTsNCi0JbHctPkFkZEFjdHVhdG9yKCJTaG9vdGVyIiwgIlNob290IFNvbGVub2lkIiwgc2hvb3RlclNob290U29sZW5vaWQpOw0KLQkNCi0JZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlck1vdG9yID0gbmV3IFRhbG9uKDEsIDcpOw0KLQlsdy0+QWRkQWN0dWF0b3IoIkZyaXNiZWUgU3RvcmFnZSIsICJGcmlzYmVlIEluZGV4ZXIgTW90b3IiLCAoVGFsb24qKSBmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyTW90b3IpOw0KLQkNCi0JZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlclNwZWVkRW5jb2RlciA9IG5ldyBFbmNvZGVyKDEsIDEwLCAxLCAxMSwgZmFsc2UsIEVuY29kZXI6Oms0WCk7DQotCWx3LT5BZGRTZW5zb3IoIkZyaXNiZWUgU3RvcmFnZSIsICJGcmlzYmVlIEluZGV4ZXIgU3BlZWQgRW5jb2RlciIsIGZyaXNiZWVTdG9yYWdlRnJpc2JlZUluZGV4ZXJTcGVlZEVuY29kZXIpOw0KLQlmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyU3BlZWRFbmNvZGVyLT5TZXREaXN0YW5jZVBlclB1bHNlKDEuMCk7DQotICAgICAgICBmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyU3BlZWRFbmNvZGVyLT5TZXRQSURTb3VyY2VQYXJhbWV0ZXIoRW5jb2Rlcjo6a1JhdGUpOw0KLSAgICAgICAgZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlclNwZWVkRW5jb2Rlci0+U3RhcnQoKTsNCi0JZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5wdXRPcHRpY2FsU2Vuc29yID0gbmV3IERpZ2l0YWxJbnB1dCgxLCAxMik7DQotCWx3LT5BZGRTZW5zb3IoIkZyaXNiZWUgU3RvcmFnZSIsICJGcmlzYmVlIElucHV0IE9wdGljYWwgU2Vuc29yIiwgZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5wdXRPcHRpY2FsU2Vuc29yKTsNCi0JDQotCWZyaXNiZWVTdG9yYWdlRnJpc2JlZUluZGV4T3B0aWNhbFNlbnNvciA9IG5ldyBEaWdpdGFsSW5wdXQoMSwgMTMpOw0KLQlsdy0+QWRkU2Vuc29yKCJGcmlzYmVlIFN0b3JhZ2UiLCAiRnJpc2JlZSBJbmRleCBPcHRpY2FsIFNlbnNvciIsIGZyaXNiZWVTdG9yYWdlRnJpc2JlZUluZGV4T3B0aWNhbFNlbnNvcik7DQotCQ0KLQlmcmlzYmVlU3RvcmFnZUZyaXNiZWVSZWFkeXRvc2hvb3RPcHRpY2FsU2Vuc29yID0gbmV3IERpZ2l0YWxJbnB1dCgxLCAxNCk7DQotCWx3LT5BZGRTZW5zb3IoIkZyaXNiZWUgU3RvcmFnZSIsICJGcmlzYmVlIFJlYWR5IHRvIHNob290IE9wdGljYWwgU2Vuc29yIiwgZnJpc2JlZVN0b3JhZ2VGcmlzYmVlUmVhZHl0b3Nob290T3B0aWNhbFNlbnNvcik7DQotCQ0KLQlmcmlzYmVlUGlja3VwSW50YWtlYW5kQ2VudGVyaW5nUm9sbGVyTW90b3JzID0gbmV3IFRhbG9uKDEsIDgpOw0KLQlsdy0+QWRkQWN0dWF0b3IoIkZyaXNiZWUgUGlja3VwIiwgIkludGFrZSBhbmQgQ2VudGVyaW5nIFJvbGxlciBNb3RvcnMiLCAoVGFsb24qKSBmcmlzYmVlUGlja3VwSW50YWtlYW5kQ2VudGVyaW5nUm9sbGVyTW90b3JzKTsNCi0JDQotCXBpY2t1cEFybVBpY2t1cEFybU1vdG9yID0gbmV3IFRhbG9uKDEsIDkpOw0KLQlsdy0+QWRkQWN0dWF0b3IoIlBpY2t1cCBBcm0iLCAiUGlja3VwIEFybSBNb3RvciIsIChUYWxvbiopIHBpY2t1cEFybVBpY2t1cEFybU1vdG9yKTsNCi0JDQotCXBpY2t1cEFybVBpY2t1cEFybUVuY29kZXIgPSBuZXcgRW5jb2RlcigyLCAyLCAyLCAzLCBmYWxzZSwgRW5jb2Rlcjo6azRYKTsNCi0JbHctPkFkZFNlbnNvcigiUGlja3VwIEFybSIsICJQaWNrdXAgQXJtIEVuY29kZXIiLCBwaWNrdXBBcm1QaWNrdXBBcm1FbmNvZGVyKTsNCi0JcGlja3VwQXJtUGlja3VwQXJtRW5jb2Rlci0+U2V0RGlzdGFuY2VQZXJQdWxzZSgxLjApOw0KLSAgICAgICAgcGlja3VwQXJtUGlja3VwQXJtRW5jb2Rlci0+U2V0UElEU291cmNlUGFyYW1ldGVyKEVuY29kZXI6OmtSYXRlKTsNCi0gICAgICAgIHBpY2t1cEFybVBpY2t1cEFybUVuY29kZXItPlN0YXJ0KCk7DQotCXBpY2t1cEFybVBpY2t1cEFybVBJRENvbnRyb2xsZXIgPSBuZXcgUElEQ29udHJvbGxlcigxLjAsIDAuMCwgMC4wLC8qIEY6IDAuMCwgKi8gcGlja3VwQXJtUGlja3VwQXJtRW5jb2RlciwgcGlja3VwQXJtUGlja3VwQXJtTW90b3IsIDAuMDIpOw0KLQlsdy0+QWRkQWN0dWF0b3IoIlBpY2t1cCBBcm0iLCAiUGlja3VwIEFybSBQSUQgQ29udHJvbGxlciIsIHBpY2t1cEFybVBpY2t1cEFybVBJRENvbnRyb2xsZXIpOw0KLQlwaWNrdXBBcm1QaWNrdXBBcm1QSURDb250cm9sbGVyLT5TZXRDb250aW51b3VzKGZhbHNlKTsgcGlja3VwQXJtUGlja3VwQXJtUElEQ29udHJvbGxlci0+U2V0QWJzb2x1dGVUb2xlcmFuY2UoMC4yKTsgDQotICAgICAgICBwaWNrdXBBcm1QaWNrdXBBcm1QSURDb250cm9sbGVyLT5TZXRPdXRwdXRSYW5nZSgtMS4wLCAxLjApOw0KLQlwaWNrdXBBcm1QaWNrdXBBcm1Ib21lU2Vuc29yID0gbmV3IEdlYXJUb290aCgyLCA0LCBmYWxzZSk7DQotCWx3LT5BZGRTZW5zb3IoIlBpY2t1cCBBcm0iLCAiUGlja3VwIEFybSBIb21lIFNlbnNvciIsIHBpY2t1cEFybVBpY2t1cEFybUhvbWVTZW5zb3IpOw0KLQkNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1DT05TVFJVQ1RPUlMNCi19DQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvUm9ib3RNYXAuaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1JvYm90TWFwLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1NzFiYTAuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvUm9ib3RNYXAuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2lmbmRlZiBST0JPVE1BUF9IDQotI2RlZmluZSBST0JPVE1BUF9IDQotI2luY2x1ZGUgIldQSUxpYi5oIg0KLS8qKg0KLSAqIFRoZSBSb2JvdE1hcCBpcyBhIG1hcHBpbmcgZnJvbSB0aGUgcG9ydHMgc2Vuc29ycyBhbmQgYWN0dWF0b3JzIGFyZSB3aXJlZCBpbnRvDQotICogdG8gYSB2YXJpYWJsZSBuYW1lLiBUaGlzIHByb3ZpZGVzIGZsZXhpYmlsaXR5IGNoYW5naW5nIHdpcmluZywgbWFrZXMgY2hlY2tpbmcNCi0gKiB0aGUgd2lyaW5nIGVhc2llciBhbmQgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHRoZSBudW1iZXIgb2YgbWFnaWMgbnVtYmVycw0KLSAqIGZsb2F0aW5nIGFyb3VuZC4NCi0gKi8NCi1jbGFzcyBSb2JvdE1hcCB7DQotcHVibGljOg0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCXN0YXRpYyBDb21wcmVzc29yKiBhaXJDb21wcmVzc29yQWlyQ29tcHJlc3NvcjsNCi0Jc3RhdGljIFNvbGVub2lkKiBkcml2ZVRyYWluTGVmdFNoaWZ0ZXI7DQotCXN0YXRpYyBTb2xlbm9pZCogZHJpdmVUcmFpblJpZ2h0U2hpZnRlcjsNCi0Jc3RhdGljIFNwZWVkQ29udHJvbGxlciogZHJpdmVUcmFpbkxlZnRNb3RvcnMxYW5kMjsNCi0Jc3RhdGljIFNwZWVkQ29udHJvbGxlciogZHJpdmVUcmFpbkxlZnRNb3RvcjM7DQotCXN0YXRpYyBTcGVlZENvbnRyb2xsZXIqIGRyaXZlVHJhaW5SaWdodE1vdG9yczFhbmQyOw0KLQlzdGF0aWMgU3BlZWRDb250cm9sbGVyKiBkcml2ZVRyYWluUmlnaHRNb3RvcjM7DQotCXN0YXRpYyBSb2JvdERyaXZlKiBkcml2ZVRyYWluUm9ib3REcml2ZTsNCi0Jc3RhdGljIEVuY29kZXIqIGRyaXZlVHJhaW5RdWFkcmF0dXJlRW5jb2RlckxlZnQ7DQotCXN0YXRpYyBFbmNvZGVyKiBkcml2ZVRyYWluUXVhZHJhdHVyZUVuY29kZXJSaWdodDsNCi0Jc3RhdGljIFNwZWVkQ29udHJvbGxlciogc2hvb3RlcldoZWVsUElEQ29udHJvbGxlclNob290ZXJNb3RvcjsNCi0Jc3RhdGljIEVuY29kZXIqIHNob290ZXJXaGVlbFBJRENvbnRyb2xsZXJTaG9vdGVyU3BlZWRFbmNvZGVyOw0KLQlzdGF0aWMgU3BlZWRDb250cm9sbGVyKiBzaG9vdGVyU2hvb3RlclRpbHRNb3RvcjsNCi0Jc3RhdGljIEVuY29kZXIqIHNob290ZXJTaG9vdGVyVGlsdEVuY29kZXI7DQotCXN0YXRpYyBHZWFyVG9vdGgqIHNob290ZXJTaG9vdGVyVGlsdEhvbWVTZW5zb3I7DQotCXN0YXRpYyBTb2xlbm9pZCogc2hvb3RlckxhdGNoRnJpc2JlZVNvbGVub2lkOw0KLQlzdGF0aWMgU29sZW5vaWQqIHNob290ZXJMb2FkRnJpc2JlZVNvbGVub2lkOw0KLQlzdGF0aWMgU29sZW5vaWQqIHNob290ZXJTaG9vdFNvbGVub2lkOw0KLQlzdGF0aWMgU3BlZWRDb250cm9sbGVyKiBmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyTW90b3I7DQotCXN0YXRpYyBFbmNvZGVyKiBmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyU3BlZWRFbmNvZGVyOw0KLQlzdGF0aWMgRGlnaXRhbElucHV0KiBmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbnB1dE9wdGljYWxTZW5zb3I7DQotCXN0YXRpYyBEaWdpdGFsSW5wdXQqIGZyaXNiZWVTdG9yYWdlRnJpc2JlZUluZGV4T3B0aWNhbFNlbnNvcjsNCi0Jc3RhdGljIERpZ2l0YWxJbnB1dCogZnJpc2JlZVN0b3JhZ2VGcmlzYmVlUmVhZHl0b3Nob290T3B0aWNhbFNlbnNvcjsNCi0Jc3RhdGljIFNwZWVkQ29udHJvbGxlciogZnJpc2JlZVBpY2t1cEludGFrZWFuZENlbnRlcmluZ1JvbGxlck1vdG9yczsNCi0Jc3RhdGljIFNwZWVkQ29udHJvbGxlciogcGlja3VwQXJtUGlja3VwQXJtTW90b3I7DQotCXN0YXRpYyBFbmNvZGVyKiBwaWNrdXBBcm1QaWNrdXBBcm1FbmNvZGVyOw0KLQlzdGF0aWMgUElEQ29udHJvbGxlciogcGlja3VwQXJtUGlja3VwQXJtUElEQ29udHJvbGxlcjsNCi0Jc3RhdGljIEdlYXJUb290aCogcGlja3VwQXJtUGlja3VwQXJtSG9tZVNlbnNvcjsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0Jc3RhdGljIHZvaWQgaW5pdCgpOw0KLX07DQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9BaXJDb21wcmVzc29yLmNwcCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvQWlyQ29tcHJlc3Nvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1YmUxYmUuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9BaXJDb21wcmVzc29yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2luY2x1ZGUgIkFpckNvbXByZXNzb3IuaCINCi0jaW5jbHVkZSAiLi4vUm9ib3RtYXAuaCINCi1BaXJDb21wcmVzc29yOjpBaXJDb21wcmVzc29yKCkgOiBTdWJzeXN0ZW0oIkFpckNvbXByZXNzb3IiKSB7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JYWlyQ29tcHJlc3NvciA9IFJvYm90TWFwOjphaXJDb21wcmVzc29yQWlyQ29tcHJlc3NvcjsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi19DQotICAgIA0KLXZvaWQgQWlyQ29tcHJlc3Nvcjo6SW5pdERlZmF1bHRDb21tYW5kKCkgew0KLQkvLyBTZXQgdGhlIGRlZmF1bHQgY29tbWFuZCBmb3IgYSBzdWJzeXN0ZW0gaGVyZS4NCi0JLy9TZXREZWZhdWx0Q29tbWFuZChuZXcgTXlTcGVjaWFsQ29tbWFuZCgpKTsNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLX0NCi0vLyBQdXQgbWV0aG9kcyBmb3IgY29udHJvbGxpbmcgdGhpcyBzdWJzeXN0ZW0NCi0vLyBoZXJlLiBDYWxsIHRoZXNlIGZyb20gQ29tbWFuZHMuDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9BaXJDb21wcmVzc29yLmggYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0FpckNvbXByZXNzb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDZmZTliZC4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0FpckNvbXByZXNzb3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2lmbmRlZiBBSVJfQ09NUFJFU1NPUl9IDQotI2RlZmluZSBBSVJfQ09NUFJFU1NPUl9IDQotI2luY2x1ZGUgIkNvbW1hbmRzL1N1YnN5c3RlbS5oIg0KLSNpbmNsdWRlICJXUElMaWIuaCINCi0vKioNCi0gKg0KLSAqDQotICogQGF1dGhvciBFeGFtcGxlQXV0aG9yDQotICovDQotY2xhc3MgQWlyQ29tcHJlc3NvcjogcHVibGljIFN1YnN5c3RlbSB7DQotcHJpdmF0ZToNCi0JLy8gSXQncyBkZXNpcmFibGUgdGhhdCBldmVyeXRoaW5nIHBvc3NpYmxlIHVuZGVyIHByaXZhdGUgZXhjZXB0DQotCS8vIGZvciBtZXRob2RzIHRoYXQgaW1wbGVtZW50IHN1YnN5c3RlbSBjYXBhYmlsaXRpZXMNCi1wdWJsaWM6DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JQ29tcHJlc3NvciogYWlyQ29tcHJlc3NvcjsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JQWlyQ29tcHJlc3NvcigpOw0KLQl2b2lkIEluaXREZWZhdWx0Q29tbWFuZCgpOw0KLX07DQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9Ecml2ZVRyYWluLmNwcCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRHJpdmVUcmFpbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4NTFkZTQuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9Ecml2ZVRyYWluLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2luY2x1ZGUgIkRyaXZlVHJhaW4uaCINCi0jaW5jbHVkZSAiLi4vUm9ib3RtYXAuaCINCi1Ecml2ZVRyYWluOjpEcml2ZVRyYWluKCkgOiBTdWJzeXN0ZW0oIkRyaXZlVHJhaW4iKSB7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JbGVmdFNoaWZ0ZXIgPSBSb2JvdE1hcDo6ZHJpdmVUcmFpbkxlZnRTaGlmdGVyOw0KLQlyaWdodFNoaWZ0ZXIgPSBSb2JvdE1hcDo6ZHJpdmVUcmFpblJpZ2h0U2hpZnRlcjsNCi0JbGVmdE1vdG9yczFhbmQyID0gUm9ib3RNYXA6OmRyaXZlVHJhaW5MZWZ0TW90b3JzMWFuZDI7DQotCWxlZnRNb3RvcjMgPSBSb2JvdE1hcDo6ZHJpdmVUcmFpbkxlZnRNb3RvcjM7DQotCXJpZ2h0TW90b3JzMWFuZDIgPSBSb2JvdE1hcDo6ZHJpdmVUcmFpblJpZ2h0TW90b3JzMWFuZDI7DQotCXJpZ2h0TW90b3IzID0gUm9ib3RNYXA6OmRyaXZlVHJhaW5SaWdodE1vdG9yMzsNCi0Jcm9ib3REcml2ZSA9IFJvYm90TWFwOjpkcml2ZVRyYWluUm9ib3REcml2ZTsNCi0JcXVhZHJhdHVyZUVuY29kZXJMZWZ0ID0gUm9ib3RNYXA6OmRyaXZlVHJhaW5RdWFkcmF0dXJlRW5jb2RlckxlZnQ7DQotCXF1YWRyYXR1cmVFbmNvZGVyUmlnaHQgPSBSb2JvdE1hcDo6ZHJpdmVUcmFpblF1YWRyYXR1cmVFbmNvZGVyUmlnaHQ7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotfQ0KLSAgICANCi12b2lkIERyaXZlVHJhaW46OkluaXREZWZhdWx0Q29tbWFuZCgpIHsNCi0JLy8gU2V0IHRoZSBkZWZhdWx0IGNvbW1hbmQgZm9yIGEgc3Vic3lzdGVtIGhlcmUuDQotCS8vU2V0RGVmYXVsdENvbW1hbmQobmV3IE15U3BlY2lhbENvbW1hbmQoKSk7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUZBVUxUX0NPTU1BTkQNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUZBVUxUX0NPTU1BTkQNCi19DQotLy8gUHV0IG1ldGhvZHMgZm9yIGNvbnRyb2xsaW5nIHRoaXMgc3Vic3lzdGVtDQotLy8gaGVyZS4gQ2FsbCB0aGVzZSBmcm9tIENvbW1hbmRzLg0KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRHJpdmVUcmFpbi5oIGIvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9Ecml2ZVRyYWluLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViOGY1MzkuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9Ecml2ZVRyYWluLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vLyBSb2JvdEJ1aWxkZXIgVmVyc2lvbjogMC4wLjINCi0vLw0KLS8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFJvYm90QnVpbGRlci4gSXQgY29udGFpbnMgc2VjdGlvbnMgb2YNCi0vLyBjb2RlIHRoYXQgYXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGFuZCBhc3NpZ25lZCBieSByb2JvdGJ1aWxkZXIuDQotLy8gVGhlc2Ugc2VjdGlvbnMgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBmdXR1cmUgd2hlbiB5b3UgZXhwb3J0IHRvDQotLy8gQysrIGZyb20gUm9ib3RCdWlsZGVyLiBEbyBub3QgcHV0IGFueSBjb2RlIG9yIG1ha2UgYW55IGNoYW5nZSBpbg0KLS8vIHRoZSBibG9ja3MgaW5kaWNhdGluZyBhdXRvZ2VuZXJhdGVkIGNvZGUgb3IgaXQgd2lsbCBiZSBsb3N0IG9uIGFuDQotLy8gdXBkYXRlLiBEZWxldGluZyB0aGUgY29tbWVudHMgaW5kaWNhdGluZyB0aGUgc2VjdGlvbiB3aWxsIHByZXZlbnQNCi0vLyBpdCBmcm9tIGJlaW5nIHVwZGF0ZWQgaW4gdGggZnV0dXJlLg0KLSNpZm5kZWYgRFJJVkVfVFJBSU5fSA0KLSNkZWZpbmUgRFJJVkVfVFJBSU5fSA0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotLyoqDQotICoNCi0gKg0KLSAqIEBhdXRob3IgRXhhbXBsZUF1dGhvcg0KLSAqLw0KLWNsYXNzIERyaXZlVHJhaW46IHB1YmxpYyBTdWJzeXN0ZW0gew0KLXByaXZhdGU6DQotCS8vIEl0J3MgZGVzaXJhYmxlIHRoYXQgZXZlcnl0aGluZyBwb3NzaWJsZSB1bmRlciBwcml2YXRlIGV4Y2VwdA0KLQkvLyBmb3IgbWV0aG9kcyB0aGF0IGltcGxlbWVudCBzdWJzeXN0ZW0gY2FwYWJpbGl0aWVzDQotcHVibGljOg0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCVNvbGVub2lkKiBsZWZ0U2hpZnRlcjsNCi0JU29sZW5vaWQqIHJpZ2h0U2hpZnRlcjsNCi0JU3BlZWRDb250cm9sbGVyKiBsZWZ0TW90b3JzMWFuZDI7DQotCVNwZWVkQ29udHJvbGxlciogbGVmdE1vdG9yMzsNCi0JU3BlZWRDb250cm9sbGVyKiByaWdodE1vdG9yczFhbmQyOw0KLQlTcGVlZENvbnRyb2xsZXIqIHJpZ2h0TW90b3IzOw0KLQlSb2JvdERyaXZlKiByb2JvdERyaXZlOw0KLQlFbmNvZGVyKiBxdWFkcmF0dXJlRW5jb2RlckxlZnQ7DQotCUVuY29kZXIqIHF1YWRyYXR1cmVFbmNvZGVyUmlnaHQ7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCURyaXZlVHJhaW4oKTsNCi0Jdm9pZCBJbml0RGVmYXVsdENvbW1hbmQoKTsNCi19Ow0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRnJpc2JlZVBpY2t1cC5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVQaWNrdXAuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzZmMmJlLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRnJpc2JlZVBpY2t1cC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vLyBSb2JvdEJ1aWxkZXIgVmVyc2lvbjogMC4wLjINCi0vLw0KLS8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFJvYm90QnVpbGRlci4gSXQgY29udGFpbnMgc2VjdGlvbnMgb2YNCi0vLyBjb2RlIHRoYXQgYXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGFuZCBhc3NpZ25lZCBieSByb2JvdGJ1aWxkZXIuDQotLy8gVGhlc2Ugc2VjdGlvbnMgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBmdXR1cmUgd2hlbiB5b3UgZXhwb3J0IHRvDQotLy8gQysrIGZyb20gUm9ib3RCdWlsZGVyLiBEbyBub3QgcHV0IGFueSBjb2RlIG9yIG1ha2UgYW55IGNoYW5nZSBpbg0KLS8vIHRoZSBibG9ja3MgaW5kaWNhdGluZyBhdXRvZ2VuZXJhdGVkIGNvZGUgb3IgaXQgd2lsbCBiZSBsb3N0IG9uIGFuDQotLy8gdXBkYXRlLiBEZWxldGluZyB0aGUgY29tbWVudHMgaW5kaWNhdGluZyB0aGUgc2VjdGlvbiB3aWxsIHByZXZlbnQNCi0vLyBpdCBmcm9tIGJlaW5nIHVwZGF0ZWQgaW4gdGggZnV0dXJlLg0KLSNpbmNsdWRlICJGcmlzYmVlUGlja3VwLmgiDQotI2luY2x1ZGUgIi4uL1JvYm90bWFwLmgiDQotRnJpc2JlZVBpY2t1cDo6RnJpc2JlZVBpY2t1cCgpIDogU3Vic3lzdGVtKCJGcmlzYmVlUGlja3VwIikgew0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCWludGFrZWFuZENlbnRlcmluZ1JvbGxlck1vdG9ycyA9IFJvYm90TWFwOjpmcmlzYmVlUGlja3VwSW50YWtlYW5kQ2VudGVyaW5nUm9sbGVyTW90b3JzOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLX0NCi0gICAgDQotdm9pZCBGcmlzYmVlUGlja3VwOjpJbml0RGVmYXVsdENvbW1hbmQoKSB7DQotCS8vIFNldCB0aGUgZGVmYXVsdCBjb21tYW5kIGZvciBhIHN1YnN5c3RlbSBoZXJlLg0KLQkvL1NldERlZmF1bHRDb21tYW5kKG5ldyBNeVNwZWNpYWxDb21tYW5kKCkpOw0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotfQ0KLS8vIFB1dCBtZXRob2RzIGZvciBjb250cm9sbGluZyB0aGlzIHN1YnN5c3RlbQ0KLS8vIGhlcmUuIENhbGwgdGhlc2UgZnJvbSBDb21tYW5kcy4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVQaWNrdXAuaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRnJpc2JlZVBpY2t1cC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZDk5NmZiLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvRnJpc2JlZVBpY2t1cC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaWZuZGVmIEZSSVNCRUVfUElDS1VQX0gNCi0jZGVmaW5lIEZSSVNCRUVfUElDS1VQX0gNCi0jaW5jbHVkZSAiQ29tbWFuZHMvU3Vic3lzdGVtLmgiDQotI2luY2x1ZGUgIldQSUxpYi5oIg0KLS8qKg0KLSAqDQotICoNCi0gKiBAYXV0aG9yIEV4YW1wbGVBdXRob3INCi0gKi8NCi1jbGFzcyBGcmlzYmVlUGlja3VwOiBwdWJsaWMgU3Vic3lzdGVtIHsNCi1wcml2YXRlOg0KLQkvLyBJdCdzIGRlc2lyYWJsZSB0aGF0IGV2ZXJ5dGhpbmcgcG9zc2libGUgdW5kZXIgcHJpdmF0ZSBleGNlcHQNCi0JLy8gZm9yIG1ldGhvZHMgdGhhdCBpbXBsZW1lbnQgc3Vic3lzdGVtIGNhcGFiaWxpdGllcw0KLXB1YmxpYzoNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLQlTcGVlZENvbnRyb2xsZXIqIGludGFrZWFuZENlbnRlcmluZ1JvbGxlck1vdG9yczsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JRnJpc2JlZVBpY2t1cCgpOw0KLQl2b2lkIEluaXREZWZhdWx0Q29tbWFuZCgpOw0KLX07DQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9GcmlzYmVlU3RvcmFnZS5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVTdG9yYWdlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FmMTUzYy4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVTdG9yYWdlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2luY2x1ZGUgIkZyaXNiZWVTdG9yYWdlLmgiDQotI2luY2x1ZGUgIi4uL1JvYm90bWFwLmgiDQotRnJpc2JlZVN0b3JhZ2U6OkZyaXNiZWVTdG9yYWdlKCkgOiBTdWJzeXN0ZW0oIkZyaXNiZWVTdG9yYWdlIikgew0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCWZyaXNiZWVJbmRleGVyTW90b3IgPSBSb2JvdE1hcDo6ZnJpc2JlZVN0b3JhZ2VGcmlzYmVlSW5kZXhlck1vdG9yOw0KLQlmcmlzYmVlSW5kZXhlclNwZWVkRW5jb2RlciA9IFJvYm90TWFwOjpmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleGVyU3BlZWRFbmNvZGVyOw0KLQlmcmlzYmVlSW5wdXRPcHRpY2FsU2Vuc29yID0gUm9ib3RNYXA6OmZyaXNiZWVTdG9yYWdlRnJpc2JlZUlucHV0T3B0aWNhbFNlbnNvcjsNCi0JZnJpc2JlZUluZGV4T3B0aWNhbFNlbnNvciA9IFJvYm90TWFwOjpmcmlzYmVlU3RvcmFnZUZyaXNiZWVJbmRleE9wdGljYWxTZW5zb3I7DQotCWZyaXNiZWVSZWFkeXRvc2hvb3RPcHRpY2FsU2Vuc29yID0gUm9ib3RNYXA6OmZyaXNiZWVTdG9yYWdlRnJpc2JlZVJlYWR5dG9zaG9vdE9wdGljYWxTZW5zb3I7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotfQ0KLSAgICANCi12b2lkIEZyaXNiZWVTdG9yYWdlOjpJbml0RGVmYXVsdENvbW1hbmQoKSB7DQotCS8vIFNldCB0aGUgZGVmYXVsdCBjb21tYW5kIGZvciBhIHN1YnN5c3RlbSBoZXJlLg0KLQkvL1NldERlZmF1bHRDb21tYW5kKG5ldyBNeVNwZWNpYWxDb21tYW5kKCkpOw0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotfQ0KLS8vIFB1dCBtZXRob2RzIGZvciBjb250cm9sbGluZyB0aGlzIHN1YnN5c3RlbQ0KLS8vIGhlcmUuIENhbGwgdGhlc2UgZnJvbSBDb21tYW5kcy4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVTdG9yYWdlLmggYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL0ZyaXNiZWVTdG9yYWdlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhNGM0YTguLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9GcmlzYmVlU3RvcmFnZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaWZuZGVmIEZSSVNCRUVfU1RPUkFHRV9IDQotI2RlZmluZSBGUklTQkVFX1NUT1JBR0VfSA0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotLyoqDQotICoNCi0gKg0KLSAqIEBhdXRob3IgRXhhbXBsZUF1dGhvcg0KLSAqLw0KLWNsYXNzIEZyaXNiZWVTdG9yYWdlOiBwdWJsaWMgU3Vic3lzdGVtIHsNCi1wcml2YXRlOg0KLQkvLyBJdCdzIGRlc2lyYWJsZSB0aGF0IGV2ZXJ5dGhpbmcgcG9zc2libGUgdW5kZXIgcHJpdmF0ZSBleGNlcHQNCi0JLy8gZm9yIG1ldGhvZHMgdGhhdCBpbXBsZW1lbnQgc3Vic3lzdGVtIGNhcGFiaWxpdGllcw0KLXB1YmxpYzoNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLQlTcGVlZENvbnRyb2xsZXIqIGZyaXNiZWVJbmRleGVyTW90b3I7DQotCUVuY29kZXIqIGZyaXNiZWVJbmRleGVyU3BlZWRFbmNvZGVyOw0KLQlEaWdpdGFsSW5wdXQqIGZyaXNiZWVJbnB1dE9wdGljYWxTZW5zb3I7DQotCURpZ2l0YWxJbnB1dCogZnJpc2JlZUluZGV4T3B0aWNhbFNlbnNvcjsNCi0JRGlnaXRhbElucHV0KiBmcmlzYmVlUmVhZHl0b3Nob290T3B0aWNhbFNlbnNvcjsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JRnJpc2JlZVN0b3JhZ2UoKTsNCi0Jdm9pZCBJbml0RGVmYXVsdENvbW1hbmQoKTsNCi19Ow0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvUGlja3VwQXJtLmNwcCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvUGlja3VwQXJtLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTUyZGFhNi4uMDAwMDAwMAotLS0gYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL1BpY2t1cEFybS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi0vLyBSb2JvdEJ1aWxkZXIgVmVyc2lvbjogMC4wLjINCi0vLw0KLS8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFJvYm90QnVpbGRlci4gSXQgY29udGFpbnMgc2VjdGlvbnMgb2YNCi0vLyBjb2RlIHRoYXQgYXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGFuZCBhc3NpZ25lZCBieSByb2JvdGJ1aWxkZXIuDQotLy8gVGhlc2Ugc2VjdGlvbnMgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBmdXR1cmUgd2hlbiB5b3UgZXhwb3J0IHRvDQotLy8gQysrIGZyb20gUm9ib3RCdWlsZGVyLiBEbyBub3QgcHV0IGFueSBjb2RlIG9yIG1ha2UgYW55IGNoYW5nZSBpbg0KLS8vIHRoZSBibG9ja3MgaW5kaWNhdGluZyBhdXRvZ2VuZXJhdGVkIGNvZGUgb3IgaXQgd2lsbCBiZSBsb3N0IG9uIGFuDQotLy8gdXBkYXRlLiBEZWxldGluZyB0aGUgY29tbWVudHMgaW5kaWNhdGluZyB0aGUgc2VjdGlvbiB3aWxsIHByZXZlbnQNCi0vLyBpdCBmcm9tIGJlaW5nIHVwZGF0ZWQgaW4gdGggZnV0dXJlLg0KLSNpbmNsdWRlICJQaWNrdXBBcm0uaCINCi0jaW5jbHVkZSAiLi4vUm9ib3RtYXAuaCINCi1QaWNrdXBBcm06OlBpY2t1cEFybSgpIDogU3Vic3lzdGVtKCJQaWNrdXBBcm0iKSB7DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JcGlja3VwQXJtTW90b3IgPSBSb2JvdE1hcDo6cGlja3VwQXJtUGlja3VwQXJtTW90b3I7DQotCXBpY2t1cEFybUVuY29kZXIgPSBSb2JvdE1hcDo6cGlja3VwQXJtUGlja3VwQXJtRW5jb2RlcjsNCi0JcGlja3VwQXJtUElEQ29udHJvbGxlciA9IFJvYm90TWFwOjpwaWNrdXBBcm1QaWNrdXBBcm1QSURDb250cm9sbGVyOw0KLQlwaWNrdXBBcm1Ib21lU2Vuc29yID0gUm9ib3RNYXA6OnBpY2t1cEFybVBpY2t1cEFybUhvbWVTZW5zb3I7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotfQ0KLSAgICANCi12b2lkIFBpY2t1cEFybTo6SW5pdERlZmF1bHRDb21tYW5kKCkgew0KLQkvLyBTZXQgdGhlIGRlZmF1bHQgY29tbWFuZCBmb3IgYSBzdWJzeXN0ZW0gaGVyZS4NCi0JLy9TZXREZWZhdWx0Q29tbWFuZChuZXcgTXlTcGVjaWFsQ29tbWFuZCgpKTsNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLX0NCi0vLyBQdXQgbWV0aG9kcyBmb3IgY29udHJvbGxpbmcgdGhpcyBzdWJzeXN0ZW0NCi0vLyBoZXJlLiBDYWxsIHRoZXNlIGZyb20gQ29tbWFuZHMuDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9QaWNrdXBBcm0uaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvUGlja3VwQXJtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmOTEwMTQuLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9QaWNrdXBBcm0uaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2lmbmRlZiBQSUNLVVBfQVJNX0gNCi0jZGVmaW5lIFBJQ0tVUF9BUk1fSA0KLSNpbmNsdWRlICJDb21tYW5kcy9TdWJzeXN0ZW0uaCINCi0jaW5jbHVkZSAiV1BJTGliLmgiDQotLyoqDQotICoNCi0gKg0KLSAqIEBhdXRob3IgRXhhbXBsZUF1dGhvcg0KLSAqLw0KLWNsYXNzIFBpY2t1cEFybTogcHVibGljIFN1YnN5c3RlbSB7DQotcHJpdmF0ZToNCi0JLy8gSXQncyBkZXNpcmFibGUgdGhhdCBldmVyeXRoaW5nIHBvc3NpYmxlIHVuZGVyIHByaXZhdGUgZXhjZXB0DQotCS8vIGZvciBtZXRob2RzIHRoYXQgaW1wbGVtZW50IHN1YnN5c3RlbSBjYXBhYmlsaXRpZXMNCi1wdWJsaWM6DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JU3BlZWRDb250cm9sbGVyKiBwaWNrdXBBcm1Nb3RvcjsNCi0JRW5jb2RlciogcGlja3VwQXJtRW5jb2RlcjsNCi0JUElEQ29udHJvbGxlciogcGlja3VwQXJtUElEQ29udHJvbGxlcjsNCi0JR2VhclRvb3RoKiBwaWNrdXBBcm1Ib21lU2Vuc29yOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLQlQaWNrdXBBcm0oKTsNCi0Jdm9pZCBJbml0RGVmYXVsdENvbW1hbmQoKTsNCi19Ow0KLSNlbmRpZg0KZGlmZiAtLWdpdCBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3Rlci5jcHAgYi9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL1Nob290ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjk4YTUwLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3Rlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0vLyBSb2JvdEJ1aWxkZXIgVmVyc2lvbjogMC4wLjINCi0vLw0KLS8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFJvYm90QnVpbGRlci4gSXQgY29udGFpbnMgc2VjdGlvbnMgb2YNCi0vLyBjb2RlIHRoYXQgYXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGFuZCBhc3NpZ25lZCBieSByb2JvdGJ1aWxkZXIuDQotLy8gVGhlc2Ugc2VjdGlvbnMgd2lsbCBiZSB1cGRhdGVkIGluIHRoZSBmdXR1cmUgd2hlbiB5b3UgZXhwb3J0IHRvDQotLy8gQysrIGZyb20gUm9ib3RCdWlsZGVyLiBEbyBub3QgcHV0IGFueSBjb2RlIG9yIG1ha2UgYW55IGNoYW5nZSBpbg0KLS8vIHRoZSBibG9ja3MgaW5kaWNhdGluZyBhdXRvZ2VuZXJhdGVkIGNvZGUgb3IgaXQgd2lsbCBiZSBsb3N0IG9uIGFuDQotLy8gdXBkYXRlLiBEZWxldGluZyB0aGUgY29tbWVudHMgaW5kaWNhdGluZyB0aGUgc2VjdGlvbiB3aWxsIHByZXZlbnQNCi0vLyBpdCBmcm9tIGJlaW5nIHVwZGF0ZWQgaW4gdGggZnV0dXJlLg0KLSNpbmNsdWRlICJTaG9vdGVyLmgiDQotI2luY2x1ZGUgIi4uL1JvYm90bWFwLmgiDQotU2hvb3Rlcjo6U2hvb3RlcigpIDogU3Vic3lzdGVtKCJTaG9vdGVyIikgew0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCXNob290ZXJUaWx0TW90b3IgPSBSb2JvdE1hcDo6c2hvb3RlclNob290ZXJUaWx0TW90b3I7DQotCXNob290ZXJUaWx0RW5jb2RlciA9IFJvYm90TWFwOjpzaG9vdGVyU2hvb3RlclRpbHRFbmNvZGVyOw0KLQlzaG9vdGVyVGlsdEhvbWVTZW5zb3IgPSBSb2JvdE1hcDo6c2hvb3RlclNob290ZXJUaWx0SG9tZVNlbnNvcjsNCi0JbGF0Y2hGcmlzYmVlU29sZW5vaWQgPSBSb2JvdE1hcDo6c2hvb3RlckxhdGNoRnJpc2JlZVNvbGVub2lkOw0KLQlsb2FkRnJpc2JlZVNvbGVub2lkID0gUm9ib3RNYXA6OnNob290ZXJMb2FkRnJpc2JlZVNvbGVub2lkOw0KLQlzaG9vdFNvbGVub2lkID0gUm9ib3RNYXA6OnNob290ZXJTaG9vdFNvbGVub2lkOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLX0NCi0gICAgDQotdm9pZCBTaG9vdGVyOjpJbml0RGVmYXVsdENvbW1hbmQoKSB7DQotCS8vIFNldCB0aGUgZGVmYXVsdCBjb21tYW5kIGZvciBhIHN1YnN5c3RlbSBoZXJlLg0KLQkvL1NldERlZmF1bHRDb21tYW5kKG5ldyBNeVNwZWNpYWxDb21tYW5kKCkpOw0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVGQVVMVF9DT01NQU5EDQotfQ0KLS8vIFB1dCBtZXRob2RzIGZvciBjb250cm9sbGluZyB0aGlzIHN1YnN5c3RlbQ0KLS8vIGhlcmUuIENhbGwgdGhlc2UgZnJvbSBDb21tYW5kcy4NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL1Nob290ZXIuaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3Rlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2U2OGNhLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3Rlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaWZuZGVmIFNIT09URVJfSA0KLSNkZWZpbmUgU0hPT1RFUl9IDQotI2luY2x1ZGUgIkNvbW1hbmRzL1N1YnN5c3RlbS5oIg0KLSNpbmNsdWRlICJXUElMaWIuaCINCi0vKioNCi0gKg0KLSAqDQotICogQGF1dGhvciBFeGFtcGxlQXV0aG9yDQotICovDQotY2xhc3MgU2hvb3RlcjogcHVibGljIFN1YnN5c3RlbSB7DQotcHJpdmF0ZToNCi0JLy8gSXQncyBkZXNpcmFibGUgdGhhdCBldmVyeXRoaW5nIHBvc3NpYmxlIHVuZGVyIHByaXZhdGUgZXhjZXB0DQotCS8vIGZvciBtZXRob2RzIHRoYXQgaW1wbGVtZW50IHN1YnN5c3RlbSBjYXBhYmlsaXRpZXMNCi1wdWJsaWM6DQotCS8vIEJFR0lOIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JU3BlZWRDb250cm9sbGVyKiBzaG9vdGVyVGlsdE1vdG9yOw0KLQlFbmNvZGVyKiBzaG9vdGVyVGlsdEVuY29kZXI7DQotCUdlYXJUb290aCogc2hvb3RlclRpbHRIb21lU2Vuc29yOw0KLQlTb2xlbm9pZCogbGF0Y2hGcmlzYmVlU29sZW5vaWQ7DQotCVNvbGVub2lkKiBsb2FkRnJpc2JlZVNvbGVub2lkOw0KLQlTb2xlbm9pZCogc2hvb3RTb2xlbm9pZDsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JU2hvb3RlcigpOw0KLQl2b2lkIEluaXREZWZhdWx0Q29tbWFuZCgpOw0KLX07DQotI2VuZGlmDQpkaWZmIC0tZ2l0IGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9TaG9vdGVyV2hlZWxQSURDb250cm9sbGVyLmNwcCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3RlcldoZWVsUElEQ29udHJvbGxlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3MWJlNDguLjAwMDAwMDAKLS0tIGEvcm9ib3RfYnVpbGRlci9Sb2JvdDIwMTMvU3Vic3lzdGVtcy9TaG9vdGVyV2hlZWxQSURDb250cm9sbGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLS8vIFJvYm90QnVpbGRlciBWZXJzaW9uOiAwLjAuMg0KLS8vDQotLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgUm9ib3RCdWlsZGVyLiBJdCBjb250YWlucyBzZWN0aW9ucyBvZg0KLS8vIGNvZGUgdGhhdCBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYW5kIGFzc2lnbmVkIGJ5IHJvYm90YnVpbGRlci4NCi0vLyBUaGVzZSBzZWN0aW9ucyB3aWxsIGJlIHVwZGF0ZWQgaW4gdGhlIGZ1dHVyZSB3aGVuIHlvdSBleHBvcnQgdG8NCi0vLyBDKysgZnJvbSBSb2JvdEJ1aWxkZXIuIERvIG5vdCBwdXQgYW55IGNvZGUgb3IgbWFrZSBhbnkgY2hhbmdlIGluDQotLy8gdGhlIGJsb2NrcyBpbmRpY2F0aW5nIGF1dG9nZW5lcmF0ZWQgY29kZSBvciBpdCB3aWxsIGJlIGxvc3Qgb24gYW4NCi0vLyB1cGRhdGUuIERlbGV0aW5nIHRoZSBjb21tZW50cyBpbmRpY2F0aW5nIHRoZSBzZWN0aW9uIHdpbGwgcHJldmVudA0KLS8vIGl0IGZyb20gYmVpbmcgdXBkYXRlZCBpbiB0aCBmdXR1cmUuDQotI2luY2x1ZGUgIlNob290ZXJXaGVlbFBJRENvbnRyb2xsZXIuaCINCi0jaW5jbHVkZSAiLi4vUm9ib3RtYXAuaCINCi0jaW5jbHVkZSAiU21hcnREYXNoYm9hcmQvU21hcnREYXNoYm9hcmQuaCINCi0jaW5jbHVkZSAiTGl2ZVdpbmRvdy9MaXZlV2luZG93LmgiDQotLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPVBJRA0KLVNob290ZXJXaGVlbFBJRENvbnRyb2xsZXI6OlNob290ZXJXaGVlbFBJRENvbnRyb2xsZXIoKSA6IFBJRFN1YnN5c3RlbSgiU2hvb3RlcldoZWVsUElEQ29udHJvbGxlciIsIDEuMCwgMC4wLCAwLjApIHsNCi0JU2V0QWJzb2x1dGVUb2xlcmFuY2UoMC4yKTsNCi0JR2V0UElEQ29udHJvbGxlcigpLT5TZXRDb250aW51b3VzKGZhbHNlKTsNCi0JTGl2ZVdpbmRvdzo6R2V0SW5zdGFuY2UoKS0+QWRkQWN0dWF0b3IoIlNob290ZXIgV2hlZWwgUElEIENvbnRyb2xsZXIiLCAiUElEU3Vic3lzdGVtIENvbnRyb2xsZXIiLCBHZXRQSURDb250cm9sbGVyKCkpOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPVBJRA0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9REVDTEFSQVRJT05TDQotCXNob290ZXJNb3RvciA9IFJvYm90TWFwOjpzaG9vdGVyV2hlZWxQSURDb250cm9sbGVyU2hvb3Rlck1vdG9yOw0KLQlzaG9vdGVyU3BlZWRFbmNvZGVyID0gUm9ib3RNYXA6OnNob290ZXJXaGVlbFBJRENvbnRyb2xsZXJTaG9vdGVyU3BlZWRFbmNvZGVyOw0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLQkvLyBVc2UgdGhlc2UgdG8gZ2V0IGdvaW5nOg0KLQkvLyBTZXRTZXRwb2ludCgpIC0gIFNldHMgd2hlcmUgdGhlIFBJRCBjb250cm9sbGVyIHNob3VsZCBtb3ZlIHRoZSBzeXN0ZW0NCi0JLy8gICAgICAgICAgICAgICAgICB0bw0KLQkvLyBFbmFibGUoKSAtIEVuYWJsZXMgdGhlIFBJRCBjb250cm9sbGVyLg0KLX0NCi1kb3VibGUgU2hvb3RlcldoZWVsUElEQ29udHJvbGxlcjo6UmV0dXJuUElESW5wdXQoKSB7DQotCS8vIFJldHVybiB5b3VyIGlucHV0IHZhbHVlIGZvciB0aGUgUElEIGxvb3ANCi0JLy8gZS5nLiBhIHNlbnNvciwgbGlrZSBhIHBvdGVudGlvbWV0ZXI6DQotCS8vIHlvdXJQb3QtPlNldEF2ZXJhZ2VWb2x0YWdlKCkgLyBrWW91ck1heFZvbHRhZ2U7CQ0KLQkvLyBCRUdJTiBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9U09VUkNFDQotICAgICAgICByZXR1cm4gc2hvb3RlclNwZWVkRW5jb2Rlci0+UElER2V0KCk7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9U09VUkNFDQotfQ0KLXZvaWQgU2hvb3RlcldoZWVsUElEQ29udHJvbGxlcjo6VXNlUElET3V0cHV0KGRvdWJsZSBvdXRwdXQpIHsNCi0JLy8gVXNlIG91dHB1dCB0byBkcml2ZSB5b3VyIHN5c3RlbSwgbGlrZSBhIG1vdG9yDQotCS8vIGUuZy4geW91ck1vdG9yLT5TZXQob3V0cHV0KTsNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPU9VVFBVVA0KLQlzaG9vdGVyTW90b3ItPlBJRFdyaXRlKG91dHB1dCk7DQotICAgIC8vIEVORCBBVVRPR0VORVJBVEVEIENPREUsIFNPVVJDRT1ST0JPVEJVSUxERVIgSUQ9T1VUUFVUDQotfQ0KLXZvaWQgU2hvb3RlcldoZWVsUElEQ29udHJvbGxlcjo6SW5pdERlZmF1bHRDb21tYW5kKCkgew0KLQkvLyBTZXQgdGhlIGRlZmF1bHQgY29tbWFuZCBmb3IgYSBzdWJzeXN0ZW0gaGVyZS4NCi0JLy9zZXREZWZhdWx0Q29tbWFuZChuZXcgTXlTcGVjaWFsQ29tbWFuZCgpKTsNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLSAgICAvLyBFTkQgQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFRkFVTFRfQ09NTUFORA0KLX0NCmRpZmYgLS1naXQgYS9yb2JvdF9idWlsZGVyL1JvYm90MjAxMy9TdWJzeXN0ZW1zL1Nob290ZXJXaGVlbFBJRENvbnRyb2xsZXIuaCBiL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3RlcldoZWVsUElEQ29udHJvbGxlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTYxNjMxLi4wMDAwMDAwCi0tLSBhL3JvYm90X2J1aWxkZXIvUm9ib3QyMDEzL1N1YnN5c3RlbXMvU2hvb3RlcldoZWVsUElEQ29udHJvbGxlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLy8gUm9ib3RCdWlsZGVyIFZlcnNpb246IDAuMC4yDQotLy8NCi0vLyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBSb2JvdEJ1aWxkZXIuIEl0IGNvbnRhaW5zIHNlY3Rpb25zIG9mDQotLy8gY29kZSB0aGF0IGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBhbmQgYXNzaWduZWQgYnkgcm9ib3RidWlsZGVyLg0KLS8vIFRoZXNlIHNlY3Rpb25zIHdpbGwgYmUgdXBkYXRlZCBpbiB0aGUgZnV0dXJlIHdoZW4geW91IGV4cG9ydCB0bw0KLS8vIEMrKyBmcm9tIFJvYm90QnVpbGRlci4gRG8gbm90IHB1dCBhbnkgY29kZSBvciBtYWtlIGFueSBjaGFuZ2UgaW4NCi0vLyB0aGUgYmxvY2tzIGluZGljYXRpbmcgYXV0b2dlbmVyYXRlZCBjb2RlIG9yIGl0IHdpbGwgYmUgbG9zdCBvbiBhbg0KLS8vIHVwZGF0ZS4gRGVsZXRpbmcgdGhlIGNvbW1lbnRzIGluZGljYXRpbmcgdGhlIHNlY3Rpb24gd2lsbCBwcmV2ZW50DQotLy8gaXQgZnJvbSBiZWluZyB1cGRhdGVkIGluIHRoIGZ1dHVyZS4NCi0jaWZuZGVmIFNIT09URVJfV0hFRUxfUElEX0NPTlRST0xMRVJfSA0KLSNkZWZpbmUgU0hPT1RFUl9XSEVFTF9QSURfQ09OVFJPTExFUl9IDQotI2luY2x1ZGUgIkNvbW1hbmRzL1BJRFN1YnN5c3RlbS5oIg0KLSNpbmNsdWRlICJXUElMaWIuaCINCi0vKioNCi0gKg0KLSAqDQotICogQGF1dGhvciBFeGFtcGxlQXV0aG9yDQotICovDQotY2xhc3MgU2hvb3RlcldoZWVsUElEQ29udHJvbGxlcjogcHVibGljIFBJRFN1YnN5c3RlbSB7DQotIHB1YmxpYzoNCi0JLy8gQkVHSU4gQVVUT0dFTkVSQVRFRCBDT0RFLCBTT1VSQ0U9Uk9CT1RCVUlMREVSIElEPURFQ0xBUkFUSU9OUw0KLQlTcGVlZENvbnRyb2xsZXIqIHNob290ZXJNb3RvcjsNCi0JRW5jb2Rlciogc2hvb3RlclNwZWVkRW5jb2RlcjsNCi0gICAgLy8gRU5EIEFVVE9HRU5FUkFURUQgQ09ERSwgU09VUkNFPVJPQk9UQlVJTERFUiBJRD1ERUNMQVJBVElPTlMNCi0JU2hvb3RlcldoZWVsUElEQ29udHJvbGxlcigpOw0KLQlkb3VibGUgUmV0dXJuUElESW5wdXQoKTsNCi0Jdm9pZCBVc2VQSURPdXRwdXQoZG91YmxlIG91dHB1dCk7DQotCXZvaWQgSW5pdERlZmF1bHRDb21tYW5kKCk7DQotfTsNCi0jZW5kaWYNCg==